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
@@ -1,4 +1,4 @@
1
- import { h } from './index-0ccfcee5.js';
1
+ import { h } from './index-3e85e294.js';
2
2
 
3
3
  const ArrowIcon = () => (h("svg", { width: "12", height: "20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
4
4
  h("path", { d: "M0 10 10 0l1.4 1.4L2.8 10l8.6 8.6L10 20 0 10Z" })));
@@ -23,5 +23,9 @@ const CheckIcon = () => (h("svg", { width: "14", height: "11", fill: "none", xml
23
23
  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))" })));
24
24
  const ChevronIcon = () => (h("svg", { width: "9", height: "16", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
25
25
  h("path", { d: "m9 8-7.895 8L0 14.88 6.79 8 0 1.12 1.105 0 9 8Z", fill: "#525252" })));
26
+ const VisualSearchIcon = () => (h("svg", { width: "22", height: "22", xmlns: "http://www.w3.org/2000/svg" },
27
+ 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" })));
28
+ const CrossIcon = () => (h("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
29
+ 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" })));
26
30
 
27
- export { ArrowIcon as A, CheckIcon as C, OnboardingCard1Icon as O, OnboardingCard2Icon as a, OnboardingCard3Icon as b, CameraIcon as c, ChevronIcon as d };
31
+ export { ArrowIcon as A, ChevronIcon as C, OnboardingCard1Icon as O, VisualSearchIcon as V, CrossIcon as a, CameraIcon as b, CheckIcon as c, OnboardingCard2Icon as d, OnboardingCard3Icon as e };
@@ -1,12 +1,8 @@
1
1
  const NAMESPACE = 'vviinn-widgets';
2
- const Env = /* vviinn-widgets */ {"packageVersion":"1.1.2","packageName":"vviinn-widgets","environment":"local"};
2
+ const Env = /* vviinn-widgets */ {"packageVersion":"2.2.0","packageName":"vviinn-widgets","environment":"local"};
3
3
 
4
4
  let scopeId;
5
- let contentRef;
6
5
  let hostTagName;
7
- let useNativeShadowDom = false;
8
- let checkSlotFallbackVisibility = false;
9
- let checkSlotRelocate = false;
10
6
  let isSvgMode = false;
11
7
  let renderingRef = null;
12
8
  let queuePending = false;
@@ -34,7 +30,7 @@ const supportsConstructibleStylesheets = /*@__PURE__*/ (() => {
34
30
  const addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
35
31
  if (listeners) {
36
32
  listeners.map(([flags, name, method]) => {
37
- const target = elm;
33
+ const target = getHostListenerTarget(elm, flags) ;
38
34
  const handler = hostListenerProxy(hostRef, method);
39
35
  const opts = hostListenerOpts(flags);
40
36
  plt.ael(target, name, handler, opts);
@@ -58,6 +54,11 @@ const hostListenerProxy = (hostRef, methodName) => (ev) => {
58
54
  consoleError(e);
59
55
  }
60
56
  };
57
+ const getHostListenerTarget = (elm, flags) => {
58
+ if (flags & 16 /* TargetBody */)
59
+ return doc.body;
60
+ return elm;
61
+ };
61
62
  // prettier-ignore
62
63
  const hostListenerOpts = (flags) => (flags & 2 /* Capture */) !== 0;
63
64
  const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
@@ -172,7 +173,6 @@ const isComplexType = (o) => {
172
173
  // export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;
173
174
  const h = (nodeName, vnodeData, ...children) => {
174
175
  let child = null;
175
- let slotName = null;
176
176
  let simple = false;
177
177
  let lastSimple = false;
178
178
  let vNodeChildren = [];
@@ -200,9 +200,6 @@ const h = (nodeName, vnodeData, ...children) => {
200
200
  };
201
201
  walk(children);
202
202
  if (vnodeData) {
203
- if (vnodeData.name) {
204
- slotName = vnodeData.name;
205
- }
206
203
  {
207
204
  const classData = vnodeData.className || vnodeData.class;
208
205
  if (classData) {
@@ -224,9 +221,6 @@ const h = (nodeName, vnodeData, ...children) => {
224
221
  if (vNodeChildren.length > 0) {
225
222
  vnode.$children$ = vNodeChildren;
226
223
  }
227
- {
228
- vnode.$name$ = slotName;
229
- }
230
224
  return vnode;
231
225
  };
232
226
  const newVNode = (tag, text) => {
@@ -240,9 +234,6 @@ const newVNode = (tag, text) => {
240
234
  {
241
235
  vnode.$attrs$ = null;
242
236
  }
243
- {
244
- vnode.$name$ = null;
245
- }
246
237
  return vnode;
247
238
  };
248
239
  const Host = {};
@@ -428,39 +419,16 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
428
419
  let i = 0;
429
420
  let elm;
430
421
  let childNode;
431
- let oldVNode;
432
- if (!useNativeShadowDom) {
433
- // remember for later we need to check to relocate nodes
434
- checkSlotRelocate = true;
435
- if (newVNode.$tag$ === 'slot') {
436
- if (scopeId) {
437
- // scoped css needs to add its scoped id to the parent element
438
- parentElm.classList.add(scopeId + '-s');
439
- }
440
- newVNode.$flags$ |= newVNode.$children$
441
- ? // slot element has fallback content
442
- 2 /* isSlotFallback */
443
- : // slot element does not have fallback content
444
- 1 /* isSlotReference */;
445
- }
446
- }
447
422
  if (newVNode.$text$ !== null) {
448
423
  // create text node
449
424
  elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
450
425
  }
451
- else if (newVNode.$flags$ & 1 /* isSlotReference */) {
452
- // create a slot reference node
453
- elm = newVNode.$elm$ =
454
- doc.createTextNode('');
455
- }
456
426
  else {
457
427
  if (!isSvgMode) {
458
428
  isSvgMode = newVNode.$tag$ === 'svg';
459
429
  }
460
430
  // create element
461
- elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$flags$ & 2 /* isSlotFallback */
462
- ? 'slot-fb'
463
- : newVNode.$tag$)
431
+ elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$tag$)
464
432
  );
465
433
  if (isSvgMode && newVNode.$tag$ === 'foreignObject') {
466
434
  isSvgMode = false;
@@ -477,7 +445,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
477
445
  if (newVNode.$children$) {
478
446
  for (i = 0; i < newVNode.$children$.length; ++i) {
479
447
  // create the node
480
- childNode = createElm(oldParentVNode, newVNode, i, elm);
448
+ childNode = createElm(oldParentVNode, newVNode, i);
481
449
  // return node could have been null
482
450
  if (childNode) {
483
451
  // append our new node
@@ -496,62 +464,20 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
496
464
  }
497
465
  }
498
466
  }
499
- {
500
- elm['s-hn'] = hostTagName;
501
- if (newVNode.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
502
- // remember the content reference comment
503
- elm['s-sr'] = true;
504
- // remember the content reference comment
505
- elm['s-cr'] = contentRef;
506
- // remember the slot name, or empty string for default slot
507
- elm['s-sn'] = newVNode.$name$ || '';
508
- // check if we've got an old vnode for this slot
509
- oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
510
- if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {
511
- // we've got an old slot vnode and the wrapper is being replaced
512
- // so let's move the old slot content back to it's original location
513
- putBackInOriginalLocation(oldParentVNode.$elm$, false);
514
- }
515
- }
516
- }
517
467
  return elm;
518
468
  };
519
- const putBackInOriginalLocation = (parentElm, recursive) => {
520
- plt.$flags$ |= 1 /* isTmpDisconnected */;
521
- const oldSlotChildNodes = parentElm.childNodes;
522
- for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
523
- const childNode = oldSlotChildNodes[i];
524
- if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {
525
- // // this child node in the old element is from another component
526
- // // remove this node from the old slot's parent
527
- // childNode.remove();
528
- // and relocate it back to it's original location
529
- parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
530
- // remove the old original location comment entirely
531
- // later on the patch function will know what to do
532
- // and move this to the correct spot in need be
533
- childNode['s-ol'].remove();
534
- childNode['s-ol'] = undefined;
535
- checkSlotRelocate = true;
536
- }
537
- if (recursive) {
538
- putBackInOriginalLocation(childNode, recursive);
539
- }
540
- }
541
- plt.$flags$ &= ~1 /* isTmpDisconnected */;
542
- };
543
469
  const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
544
- let containerElm = ((parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);
470
+ let containerElm = (parentElm);
545
471
  let childNode;
546
472
  if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
547
473
  containerElm = containerElm.shadowRoot;
548
474
  }
549
475
  for (; startIdx <= endIdx; ++startIdx) {
550
476
  if (vnodes[startIdx]) {
551
- childNode = createElm(null, parentVNode, startIdx, parentElm);
477
+ childNode = createElm(null, parentVNode, startIdx);
552
478
  if (childNode) {
553
479
  vnodes[startIdx].$elm$ = childNode;
554
- containerElm.insertBefore(childNode, referenceNode(before) );
480
+ containerElm.insertBefore(childNode, before);
555
481
  }
556
482
  }
557
483
  }
@@ -560,20 +486,6 @@ const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
560
486
  for (; startIdx <= endIdx; ++startIdx) {
561
487
  if ((vnode = vnodes[startIdx])) {
562
488
  elm = vnode.$elm$;
563
- {
564
- // we're removing this element
565
- // so it's possible we need to show slot fallback content now
566
- checkSlotFallbackVisibility = true;
567
- if (elm['s-ol']) {
568
- // remove the original location comment
569
- elm['s-ol'].remove();
570
- }
571
- else {
572
- // it's possible that child nodes of the node
573
- // that's being removed are slot nodes
574
- putBackInOriginalLocation(elm, true);
575
- }
576
- }
577
489
  // remove the vnode's element from the dom
578
490
  elm.remove();
579
491
  }
@@ -614,20 +526,12 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
614
526
  newEndVnode = newCh[--newEndIdx];
615
527
  }
616
528
  else if (isSameVnode(oldStartVnode, newEndVnode)) {
617
- // Vnode moved right
618
- if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
619
- putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
620
- }
621
529
  patch(oldStartVnode, newEndVnode);
622
530
  parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
623
531
  oldStartVnode = oldCh[++oldStartIdx];
624
532
  newEndVnode = newCh[--newEndIdx];
625
533
  }
626
534
  else if (isSameVnode(oldEndVnode, newStartVnode)) {
627
- // Vnode moved left
628
- if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
629
- putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
630
- }
631
535
  patch(oldEndVnode, newStartVnode);
632
536
  parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);
633
537
  oldEndVnode = oldCh[--oldEndIdx];
@@ -636,12 +540,12 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
636
540
  else {
637
541
  {
638
542
  // new element
639
- node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm);
543
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx);
640
544
  newStartVnode = newCh[++newStartIdx];
641
545
  }
642
546
  if (node) {
643
547
  {
644
- parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));
548
+ oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);
645
549
  }
646
550
  }
647
551
  }
@@ -657,28 +561,16 @@ const isSameVnode = (vnode1, vnode2) => {
657
561
  // compare if two vnode to see if they're "technically" the same
658
562
  // need to have the same element tag, and same key to be the same
659
563
  if (vnode1.$tag$ === vnode2.$tag$) {
660
- if (vnode1.$tag$ === 'slot') {
661
- return vnode1.$name$ === vnode2.$name$;
662
- }
663
564
  return true;
664
565
  }
665
566
  return false;
666
567
  };
667
- const referenceNode = (node) => {
668
- // this node was relocated to a new location in the dom
669
- // because of some other component's slot
670
- // but we still have an html comment in place of where
671
- // it's original location was according to it's original vdom
672
- return (node && node['s-ol']) || node;
673
- };
674
- const parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).parentNode;
675
568
  const patch = (oldVNode, newVNode) => {
676
569
  const elm = (newVNode.$elm$ = oldVNode.$elm$);
677
570
  const oldChildren = oldVNode.$children$;
678
571
  const newChildren = newVNode.$children$;
679
572
  const tag = newVNode.$tag$;
680
573
  const text = newVNode.$text$;
681
- let defaultHolder;
682
574
  if (text === null) {
683
575
  {
684
576
  // test if we're rendering an svg element, or still rendering nodes inside of one
@@ -717,147 +609,12 @@ const patch = (oldVNode, newVNode) => {
717
609
  isSvgMode = false;
718
610
  }
719
611
  }
720
- else if ((defaultHolder = elm['s-cr'])) {
721
- // this element has slotted content
722
- defaultHolder.parentNode.textContent = text;
723
- }
724
612
  else if (oldVNode.$text$ !== text) {
725
613
  // update the text content for the text only vnode
726
614
  // and also only if the text is different than before
727
615
  elm.data = text;
728
616
  }
729
617
  };
730
- const updateFallbackSlotVisibility = (elm) => {
731
- // tslint:disable-next-line: prefer-const
732
- let childNodes = elm.childNodes;
733
- let childNode;
734
- let i;
735
- let ilen;
736
- let j;
737
- let slotNameAttr;
738
- let nodeType;
739
- for (i = 0, ilen = childNodes.length; i < ilen; i++) {
740
- childNode = childNodes[i];
741
- if (childNode.nodeType === 1 /* ElementNode */) {
742
- if (childNode['s-sr']) {
743
- // this is a slot fallback node
744
- // get the slot name for this slot reference node
745
- slotNameAttr = childNode['s-sn'];
746
- // by default always show a fallback slot node
747
- // then hide it if there are other slots in the light dom
748
- childNode.hidden = false;
749
- for (j = 0; j < ilen; j++) {
750
- nodeType = childNodes[j].nodeType;
751
- if (childNodes[j]['s-hn'] !== childNode['s-hn'] || slotNameAttr !== '') {
752
- // this sibling node is from a different component OR is a named fallback slot node
753
- if (nodeType === 1 /* ElementNode */ && slotNameAttr === childNodes[j].getAttribute('slot')) {
754
- childNode.hidden = true;
755
- break;
756
- }
757
- }
758
- else {
759
- // this is a default fallback slot node
760
- // any element or text node (with content)
761
- // should hide the default fallback slot node
762
- if (nodeType === 1 /* ElementNode */ ||
763
- (nodeType === 3 /* TextNode */ && childNodes[j].textContent.trim() !== '')) {
764
- childNode.hidden = true;
765
- break;
766
- }
767
- }
768
- }
769
- }
770
- // keep drilling down
771
- updateFallbackSlotVisibility(childNode);
772
- }
773
- }
774
- };
775
- const relocateNodes = [];
776
- const relocateSlotContent = (elm) => {
777
- // tslint:disable-next-line: prefer-const
778
- let childNode;
779
- let node;
780
- let hostContentNodes;
781
- let slotNameAttr;
782
- let relocateNodeData;
783
- let j;
784
- let i = 0;
785
- let childNodes = elm.childNodes;
786
- let ilen = childNodes.length;
787
- for (; i < ilen; i++) {
788
- childNode = childNodes[i];
789
- if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {
790
- // first got the content reference comment node
791
- // then we got it's parent, which is where all the host content is in now
792
- hostContentNodes = node.parentNode.childNodes;
793
- slotNameAttr = childNode['s-sn'];
794
- for (j = hostContentNodes.length - 1; j >= 0; j--) {
795
- node = hostContentNodes[j];
796
- if (!node['s-cn'] && !node['s-nr'] && node['s-hn'] !== childNode['s-hn']) {
797
- // let's do some relocating to its new home
798
- // but never relocate a content reference node
799
- // that is suppose to always represent the original content location
800
- if (isNodeLocatedInSlot(node, slotNameAttr)) {
801
- // it's possible we've already decided to relocate this node
802
- relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
803
- // made some changes to slots
804
- // let's make sure we also double check
805
- // fallbacks are correctly hidden or shown
806
- checkSlotFallbackVisibility = true;
807
- node['s-sn'] = node['s-sn'] || slotNameAttr;
808
- if (relocateNodeData) {
809
- // previously we never found a slot home for this node
810
- // but turns out we did, so let's remember it now
811
- relocateNodeData.$slotRefNode$ = childNode;
812
- }
813
- else {
814
- // add to our list of nodes to relocate
815
- relocateNodes.push({
816
- $slotRefNode$: childNode,
817
- $nodeToRelocate$: node,
818
- });
819
- }
820
- if (node['s-sr']) {
821
- relocateNodes.map((relocateNode) => {
822
- if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {
823
- relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
824
- if (relocateNodeData && !relocateNode.$slotRefNode$) {
825
- relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
826
- }
827
- }
828
- });
829
- }
830
- }
831
- else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
832
- // so far this element does not have a slot home, not setting slotRefNode on purpose
833
- // if we never find a home for this element then we'll need to hide it
834
- relocateNodes.push({
835
- $nodeToRelocate$: node,
836
- });
837
- }
838
- }
839
- }
840
- }
841
- if (childNode.nodeType === 1 /* ElementNode */) {
842
- relocateSlotContent(childNode);
843
- }
844
- }
845
- };
846
- const isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => {
847
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
848
- if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {
849
- return true;
850
- }
851
- if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {
852
- return true;
853
- }
854
- return false;
855
- }
856
- if (nodeToRelocate['s-sn'] === slotNameAttr) {
857
- return true;
858
- }
859
- return slotNameAttr === '';
860
- };
861
618
  const renderVdom = (hostRef, renderFnResults) => {
862
619
  const hostElm = hostRef.$hostElement$;
863
620
  const cmpMeta = hostRef.$cmpMeta$;
@@ -875,90 +632,8 @@ const renderVdom = (hostRef, renderFnResults) => {
875
632
  {
876
633
  scopeId = hostElm['s-sc'];
877
634
  }
878
- {
879
- contentRef = hostElm['s-cr'];
880
- useNativeShadowDom = (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;
881
- // always reset
882
- checkSlotFallbackVisibility = false;
883
- }
884
635
  // synchronous patch
885
636
  patch(oldVNode, rootVnode);
886
- {
887
- // while we're moving nodes around existing nodes, temporarily disable
888
- // the disconnectCallback from working
889
- plt.$flags$ |= 1 /* isTmpDisconnected */;
890
- if (checkSlotRelocate) {
891
- relocateSlotContent(rootVnode.$elm$);
892
- let relocateData;
893
- let nodeToRelocate;
894
- let orgLocationNode;
895
- let parentNodeRef;
896
- let insertBeforeNode;
897
- let refNode;
898
- let i = 0;
899
- for (; i < relocateNodes.length; i++) {
900
- relocateData = relocateNodes[i];
901
- nodeToRelocate = relocateData.$nodeToRelocate$;
902
- if (!nodeToRelocate['s-ol']) {
903
- // add a reference node marking this node's original location
904
- // keep a reference to this node for later lookups
905
- orgLocationNode =
906
- doc.createTextNode('');
907
- orgLocationNode['s-nr'] = nodeToRelocate;
908
- nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
909
- }
910
- }
911
- for (i = 0; i < relocateNodes.length; i++) {
912
- relocateData = relocateNodes[i];
913
- nodeToRelocate = relocateData.$nodeToRelocate$;
914
- if (relocateData.$slotRefNode$) {
915
- // by default we're just going to insert it directly
916
- // after the slot reference node
917
- parentNodeRef = relocateData.$slotRefNode$.parentNode;
918
- insertBeforeNode = relocateData.$slotRefNode$.nextSibling;
919
- orgLocationNode = nodeToRelocate['s-ol'];
920
- while ((orgLocationNode = orgLocationNode.previousSibling)) {
921
- refNode = orgLocationNode['s-nr'];
922
- if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
923
- refNode = refNode.nextSibling;
924
- if (!refNode || !refNode['s-nr']) {
925
- insertBeforeNode = refNode;
926
- break;
927
- }
928
- }
929
- }
930
- if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
931
- nodeToRelocate.nextSibling !== insertBeforeNode) {
932
- // we've checked that it's worth while to relocate
933
- // since that the node to relocate
934
- // has a different next sibling or parent relocated
935
- if (nodeToRelocate !== insertBeforeNode) {
936
- if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
937
- // probably a component in the index.html that doesn't have it's hostname set
938
- nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
939
- }
940
- // add it back to the dom but in its new home
941
- parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
942
- }
943
- }
944
- }
945
- else {
946
- // this node doesn't have a slot home to go to, so let's hide it
947
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
948
- nodeToRelocate.hidden = true;
949
- }
950
- }
951
- }
952
- }
953
- if (checkSlotFallbackVisibility) {
954
- updateFallbackSlotVisibility(rootVnode.$elm$);
955
- }
956
- // done moving nodes around
957
- // allow the disconnect callback to work again
958
- plt.$flags$ &= ~1 /* isTmpDisconnected */;
959
- // always reset
960
- relocateNodes.length = 0;
961
- }
962
637
  };
963
638
  const getElement = (ref) => (getHostRef(ref).$hostElement$ );
964
639
  const createEvent = (ref, name, flags) => {
@@ -1094,9 +769,6 @@ const postUpdateComponent = (hostRef) => {
1094
769
  const endPostUpdate = createTime('postUpdate', tagName);
1095
770
  const instance = hostRef.$lazyInstance$ ;
1096
771
  const ancestorComponent = hostRef.$ancestorComponent$;
1097
- {
1098
- safeCall(instance, 'componentDidRender');
1099
- }
1100
772
  if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
1101
773
  hostRef.$flags$ |= 64 /* hasLoadedComponent */;
1102
774
  {
@@ -1412,15 +1084,6 @@ const connectedCallback = (elm) => {
1412
1084
  if (!(hostRef.$flags$ & 1 /* hasConnected */)) {
1413
1085
  // first time this component has connected
1414
1086
  hostRef.$flags$ |= 1 /* hasConnected */;
1415
- {
1416
- // initUpdate
1417
- // if the slot polyfill is required we'll need to put some nodes
1418
- // in here to act as original content anchors as we move nodes around
1419
- // host element has been connected to the DOM
1420
- if ((cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */))) {
1421
- setContentReference(elm);
1422
- }
1423
- }
1424
1087
  {
1425
1088
  // find the first ancestor component (if there is one) and register
1426
1089
  // this component as one of the actively loading child components for its ancestor
@@ -1462,17 +1125,6 @@ const connectedCallback = (elm) => {
1462
1125
  endConnected();
1463
1126
  }
1464
1127
  };
1465
- const setContentReference = (elm) => {
1466
- // only required when we're NOT using native shadow dom (slot)
1467
- // or this browser doesn't support native shadow dom
1468
- // and this host element was NOT created with SSR
1469
- // let's pick out the inner content for slot projection
1470
- // create a node to represent where the original
1471
- // content was first placed, which is useful later on
1472
- const contentRefElm = (elm['s-cr'] = doc.createComment(''));
1473
- contentRefElm['s-cn'] = true;
1474
- elm.insertBefore(contentRefElm, elm.firstChild);
1475
- };
1476
1128
  const disconnectedCallback = (elm) => {
1477
1129
  if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
1478
1130
  const hostRef = getHostRef(elm);
@@ -1,5 +1,5 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-0ccfcee5.js';
2
- import { g as globalScripts } from './app-globals-0a626970.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-3e85e294.js';
2
+ import { g as globalScripts } from './app-globals-b6113170.js';
3
3
 
4
4
  /*
5
5
  Stencil Client Patch Esm v2.9.0 | MIT Licensed | https://stenciljs.com
@@ -12,7 +12,7 @@ const defineCustomElements = (win, options) => {
12
12
  if (typeof window === 'undefined') return Promise.resolve();
13
13
  return patchEsm().then(() => {
14
14
  globalScripts();
15
- return bootstrapLazy([["vviinn-carousel",[[4,"vviinn-carousel",{"mode":[1],"imageWidth":[2,"image-width"],"showScroll":[4,"show-scroll"],"moveDirection":[32],"contentGroups":[32],"activeContentGroup":[32]}]]],["cropper-handler_28",[[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",[[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);
15
+ return bootstrapLazy([["cropper-handler",[[1,"cropper-handler",{"handler":[16],"disabled":[4]}]]],["vviinn-error",[[1,"vviinn-error"]]],["vviinn-preloader",[[1,"vviinn-preloader"]]],["vviinn-carousel_5",[[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",[[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",[[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",[[1,"vviinn-vps-button",{"token":[1],"currencySign":[1,"currency-sign"],"locale":[1],"apiPath":[1,"api-path"],"pressed":[32]},[[0,"modalClosed","handleModalClosed"]]]]]], options);
16
16
  });
17
17
  };
18
18