@amiceli/papierjs 0.1.0 → 0.2.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 (85) hide show
  1. package/dist/cjs/{index-e5bb90c8.js → index-1be60996.js} +301 -5
  2. package/dist/cjs/index-1be60996.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/p-alert.cjs.entry.js +1 -1
  5. package/dist/cjs/p-badge.cjs.entry.js +34 -0
  6. package/dist/cjs/p-badge.cjs.entry.js.map +1 -0
  7. package/dist/cjs/p-button.cjs.entry.js +2 -2
  8. package/dist/cjs/p-dropdown-item.cjs.entry.js +2 -2
  9. package/dist/cjs/p-dropdown.cjs.entry.js +3 -3
  10. package/dist/cjs/p-input-text.cjs.entry.js +2 -2
  11. package/dist/cjs/p-leaf.cjs.entry.js +26 -0
  12. package/dist/cjs/p-leaf.cjs.entry.js.map +1 -0
  13. package/dist/cjs/p-progress-bar.cjs.entry.js +2 -2
  14. package/dist/cjs/papierjs.cjs.js +2 -2
  15. package/dist/collection/collection-manifest.json +2 -0
  16. package/dist/collection/components/badge/badge.css +3222 -0
  17. package/dist/collection/components/badge/badge.js +82 -0
  18. package/dist/collection/components/badge/badge.js.map +1 -0
  19. package/dist/collection/components/button/button.js +1 -1
  20. package/dist/collection/components/dropdown/dropdown.js +2 -2
  21. package/dist/collection/components/dropdown-item/dropdown-item.js +1 -1
  22. package/dist/collection/components/input/input-text/input-text.js +1 -1
  23. package/dist/collection/components/leaf/leaf.css +3219 -0
  24. package/dist/collection/components/leaf/leaf.js +48 -0
  25. package/dist/collection/components/leaf/leaf.js.map +1 -0
  26. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  27. package/dist/components/index.js +1 -1
  28. package/dist/components/{p-92aa42e7.js → p-81e1c3fa.js} +293 -5
  29. package/dist/components/p-81e1c3fa.js.map +1 -0
  30. package/dist/components/p-alert.js +1 -1
  31. package/dist/components/p-badge.d.ts +11 -0
  32. package/dist/components/p-badge.js +52 -0
  33. package/dist/components/p-badge.js.map +1 -0
  34. package/dist/components/p-button.js +2 -2
  35. package/dist/components/p-dropdown-item.js +2 -2
  36. package/dist/components/p-dropdown.js +3 -3
  37. package/dist/components/p-input-text.js +2 -2
  38. package/dist/components/p-leaf.d.ts +11 -0
  39. package/dist/components/p-leaf.js +42 -0
  40. package/dist/components/p-leaf.js.map +1 -0
  41. package/dist/components/p-progress-bar.js +2 -2
  42. package/dist/esm/{index-809c10ff.js → index-a242df70.js} +301 -5
  43. package/dist/esm/index-a242df70.js.map +1 -0
  44. package/dist/esm/loader.js +3 -3
  45. package/dist/esm/p-alert.entry.js +1 -1
  46. package/dist/esm/p-badge.entry.js +30 -0
  47. package/dist/esm/p-badge.entry.js.map +1 -0
  48. package/dist/esm/p-button.entry.js +2 -2
  49. package/dist/esm/p-dropdown-item.entry.js +2 -2
  50. package/dist/esm/p-dropdown.entry.js +3 -3
  51. package/dist/esm/p-input-text.entry.js +2 -2
  52. package/dist/esm/p-leaf.entry.js +22 -0
  53. package/dist/esm/p-leaf.entry.js.map +1 -0
  54. package/dist/esm/p-progress-bar.entry.js +2 -2
  55. package/dist/esm/papierjs.js +3 -3
  56. package/dist/papierjs/{p-c3243b73.entry.js → p-0feb5c6d.entry.js} +2 -2
  57. package/dist/papierjs/{p-ce66a0db.entry.js → p-17353c7b.entry.js} +2 -2
  58. package/dist/papierjs/p-370e3431.entry.js +2 -0
  59. package/dist/papierjs/p-370e3431.entry.js.map +1 -0
  60. package/dist/papierjs/p-3c1781d8.js +3 -0
  61. package/dist/papierjs/p-3c1781d8.js.map +1 -0
  62. package/dist/papierjs/{p-99159731.entry.js → p-4199034f.entry.js} +2 -2
  63. package/dist/papierjs/{p-8e9a6ac4.entry.js → p-524777fc.entry.js} +2 -2
  64. package/dist/papierjs/{p-6e9110f7.entry.js → p-9cbdff58.entry.js} +3 -3
  65. package/dist/papierjs/{p-de62cf76.entry.js → p-aa9cca5f.entry.js} +2 -2
  66. package/dist/papierjs/p-b1a06c34.entry.js +2 -0
  67. package/dist/papierjs/p-b1a06c34.entry.js.map +1 -0
  68. package/dist/papierjs/papierjs.esm.js +1 -1
  69. package/dist/papierjs/papierjs.esm.js.map +1 -1
  70. package/dist/types/components/badge/badge.d.ts +9 -0
  71. package/dist/types/components/leaf/leaf.d.ts +5 -0
  72. package/dist/types/components.d.ts +32 -0
  73. package/package.json +3 -3
  74. package/readme.md +14 -6
  75. package/dist/cjs/index-e5bb90c8.js.map +0 -1
  76. package/dist/components/p-92aa42e7.js.map +0 -1
  77. package/dist/esm/index-809c10ff.js.map +0 -1
  78. package/dist/papierjs/p-45914d24.js +0 -3
  79. package/dist/papierjs/p-45914d24.js.map +0 -1
  80. /package/dist/papierjs/{p-c3243b73.entry.js.map → p-0feb5c6d.entry.js.map} +0 -0
  81. /package/dist/papierjs/{p-ce66a0db.entry.js.map → p-17353c7b.entry.js.map} +0 -0
  82. /package/dist/papierjs/{p-99159731.entry.js.map → p-4199034f.entry.js.map} +0 -0
  83. /package/dist/papierjs/{p-8e9a6ac4.entry.js.map → p-524777fc.entry.js.map} +0 -0
  84. /package/dist/papierjs/{p-6e9110f7.entry.js.map → p-9cbdff58.entry.js.map} +0 -0
  85. /package/dist/papierjs/{p-de62cf76.entry.js.map → p-aa9cca5f.entry.js.map} +0 -0
@@ -21,7 +21,7 @@ function _interopNamespace(e) {
21
21
  }
22
22
 
23
23
  const NAMESPACE = 'papierjs';
24
- const BUILD = /* papierjs */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: false, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: false, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, modernPropertyDecls: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: true, propString: true, reflect: false, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: false, vdomRender: true, vdomStyle: false, vdomText: true, vdomXlink: false, watchCallback: false };
24
+ const BUILD = /* papierjs */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: false, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: false, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, modernPropertyDecls: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: true, propString: true, reflect: false, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: false, vdomRender: true, vdomStyle: false, vdomText: true, vdomXlink: false, watchCallback: false };
25
25
 
26
26
  /*
27
27
  Stencil Client Platform v4.25.3 | MIT Licensed | https://stenciljs.com
@@ -80,6 +80,10 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
80
80
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
81
81
  /* webpackMode: "lazy" */
82
82
  './p-alert.cjs.entry.js')); }).then(processMod, consoleError);
83
+ case 'p-badge.cjs':
84
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
85
+ /* webpackMode: "lazy" */
86
+ './p-badge.cjs.entry.js')); }).then(processMod, consoleError);
83
87
  case 'p-button.cjs':
84
88
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
85
89
  /* webpackMode: "lazy" */
@@ -96,6 +100,10 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
96
100
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
97
101
  /* webpackMode: "lazy" */
98
102
  './p-input-text.cjs.entry.js')); }).then(processMod, consoleError);
103
+ case 'p-leaf.cjs':
104
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
105
+ /* webpackMode: "lazy" */
106
+ './p-leaf.cjs.entry.js')); }).then(processMod, consoleError);
99
107
  case 'p-progress-bar.cjs':
100
108
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
101
109
  /* webpackMode: "lazy" */
@@ -256,6 +264,63 @@ var unwrapErr = (result) => {
256
264
  throw result.value;
257
265
  }
258
266
  };
267
+ var updateFallbackSlotVisibility = (elm) => {
268
+ const childNodes = elm.__childNodes || elm.childNodes;
269
+ if (elm.tagName && elm.tagName.includes("-") && elm["s-cr"] && elm.tagName !== "SLOT-FB") {
270
+ getHostSlotNodes(childNodes, elm.tagName).forEach((slotNode) => {
271
+ var _a;
272
+ if (slotNode.nodeType === 1 /* ElementNode */ && slotNode.tagName === "SLOT-FB") {
273
+ if ((_a = getHostSlotChildNodes(slotNode, slotNode["s-sn"], false)) == null ? void 0 : _a.length) {
274
+ slotNode.hidden = true;
275
+ } else {
276
+ slotNode.hidden = false;
277
+ }
278
+ }
279
+ });
280
+ }
281
+ for (const childNode of childNodes) {
282
+ if (childNode.nodeType === 1 /* ElementNode */ && (childNode.__childNodes || childNode.childNodes).length) {
283
+ updateFallbackSlotVisibility(childNode);
284
+ }
285
+ }
286
+ };
287
+ function getHostSlotNodes(childNodes, hostName, slotName) {
288
+ let i2 = 0;
289
+ let slottedNodes = [];
290
+ let childNode;
291
+ for (; i2 < childNodes.length; i2++) {
292
+ childNode = childNodes[i2];
293
+ if (childNode["s-sr"] && childNode["s-hn"] === hostName && (slotName === void 0 || childNode["s-sn"] === slotName)) {
294
+ slottedNodes.push(childNode);
295
+ if (typeof slotName !== "undefined") return slottedNodes;
296
+ }
297
+ slottedNodes = [...slottedNodes, ...getHostSlotNodes(childNode.childNodes, hostName, slotName)];
298
+ }
299
+ return slottedNodes;
300
+ }
301
+ var getHostSlotChildNodes = (node, slotName, includeSlot = true) => {
302
+ const childNodes = [];
303
+ if (includeSlot && node["s-sr"] || !node["s-sr"]) childNodes.push(node);
304
+ while ((node = node.nextSibling) && node["s-sn"] === slotName) {
305
+ childNodes.push(node);
306
+ }
307
+ return childNodes;
308
+ };
309
+ var isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
310
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
311
+ if (nodeToRelocate.getAttribute("slot") === null && slotName === "") {
312
+ return true;
313
+ }
314
+ if (nodeToRelocate.getAttribute("slot") === slotName) {
315
+ return true;
316
+ }
317
+ return false;
318
+ }
319
+ if (nodeToRelocate["s-sn"] === slotName) {
320
+ return true;
321
+ }
322
+ return slotName === "";
323
+ };
259
324
  var createTime = (fnName, tagName = "") => {
260
325
  {
261
326
  return () => {
@@ -273,6 +338,7 @@ var uniqueTime = (key, measureText) => {
273
338
  var h = (nodeName, vnodeData, ...children) => {
274
339
  let child = null;
275
340
  let key = null;
341
+ let slotName = null;
276
342
  let simple = false;
277
343
  let lastSimple = false;
278
344
  const vNodeChildren = [];
@@ -299,6 +365,9 @@ var h = (nodeName, vnodeData, ...children) => {
299
365
  if (vnodeData.key) {
300
366
  key = vnodeData.key;
301
367
  }
368
+ if (vnodeData.name) {
369
+ slotName = vnodeData.name;
370
+ }
302
371
  {
303
372
  const classData = vnodeData.className || vnodeData.class;
304
373
  if (classData) {
@@ -314,6 +383,9 @@ var h = (nodeName, vnodeData, ...children) => {
314
383
  {
315
384
  vnode.$key$ = key;
316
385
  }
386
+ {
387
+ vnode.$name$ = slotName;
388
+ }
317
389
  return vnode;
318
390
  };
319
391
  var newVNode = (tag, text) => {
@@ -330,6 +402,9 @@ var newVNode = (tag, text) => {
330
402
  {
331
403
  vnode.$key$ = null;
332
404
  }
405
+ {
406
+ vnode.$name$ = null;
407
+ }
333
408
  return vnode;
334
409
  };
335
410
  var Host = {};
@@ -579,16 +654,38 @@ function sortedAttrNames(attrNames) {
579
654
  attrNames
580
655
  );
581
656
  }
657
+ var contentRef;
582
658
  var hostTagName;
583
659
  var useNativeShadowDom = false;
660
+ var checkSlotFallbackVisibility = false;
661
+ var checkSlotRelocate = false;
584
662
  var isSvgMode = false;
585
663
  var createElm = (oldParentVNode, newParentVNode, childIndex) => {
664
+ var _a;
586
665
  const newVNode2 = newParentVNode.$children$[childIndex];
587
666
  let i2 = 0;
588
667
  let elm;
589
668
  let childNode;
669
+ let oldVNode;
670
+ if (!useNativeShadowDom) {
671
+ checkSlotRelocate = true;
672
+ if (newVNode2.$tag$ === "slot") {
673
+ newVNode2.$flags$ |= newVNode2.$children$ ? (
674
+ // slot element has fallback content
675
+ // still create an element that "mocks" the slot element
676
+ 2 /* isSlotFallback */
677
+ ) : (
678
+ // slot element does not have fallback content
679
+ // create an html comment we'll use to always reference
680
+ // where actual slot content should sit next to
681
+ 1 /* isSlotReference */
682
+ );
683
+ }
684
+ }
590
685
  if (newVNode2.$text$ !== null) {
591
686
  elm = newVNode2.$elm$ = doc.createTextNode(newVNode2.$text$);
687
+ } else if (newVNode2.$flags$ & 1 /* isSlotReference */) {
688
+ elm = newVNode2.$elm$ = doc.createTextNode("");
592
689
  } else {
593
690
  elm = newVNode2.$elm$ = doc.createElement(
594
691
  !useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? "slot-fb" : newVNode2.$tag$
@@ -606,10 +703,50 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
606
703
  }
607
704
  }
608
705
  elm["s-hn"] = hostTagName;
706
+ {
707
+ if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
708
+ elm["s-sr"] = true;
709
+ elm["s-cr"] = contentRef;
710
+ elm["s-sn"] = newVNode2.$name$ || "";
711
+ elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
712
+ oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
713
+ if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
714
+ {
715
+ putBackInOriginalLocation(oldParentVNode.$elm$, false);
716
+ }
717
+ }
718
+ }
719
+ }
609
720
  return elm;
610
721
  };
722
+ var putBackInOriginalLocation = (parentElm, recursive) => {
723
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
724
+ const oldSlotChildNodes = Array.from(parentElm.__childNodes || parentElm.childNodes);
725
+ if (parentElm["s-sr"] && BUILD.experimentalSlotFixes) {
726
+ let node = parentElm;
727
+ while (node = node.nextSibling) {
728
+ if (node && node["s-sn"] === parentElm["s-sn"] && node["s-sh"] === hostTagName) {
729
+ oldSlotChildNodes.push(node);
730
+ }
731
+ }
732
+ }
733
+ for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {
734
+ const childNode = oldSlotChildNodes[i2];
735
+ if (childNode["s-hn"] !== hostTagName && childNode["s-ol"]) {
736
+ insertBefore(referenceNode(childNode).parentNode, childNode, referenceNode(childNode));
737
+ childNode["s-ol"].remove();
738
+ childNode["s-ol"] = void 0;
739
+ childNode["s-sh"] = void 0;
740
+ checkSlotRelocate = true;
741
+ }
742
+ if (recursive) {
743
+ putBackInOriginalLocation(childNode, recursive);
744
+ }
745
+ }
746
+ plt.$flags$ &= ~1 /* isTmpDisconnected */;
747
+ };
611
748
  var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
612
- let containerElm = parentElm;
749
+ let containerElm = parentElm["s-cr"] && parentElm["s-cr"].parentNode || parentElm;
613
750
  let childNode;
614
751
  if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
615
752
  containerElm = containerElm.shadowRoot;
@@ -619,7 +756,7 @@ var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
619
756
  childNode = createElm(null, parentVNode, startIdx);
620
757
  if (childNode) {
621
758
  vnodes[startIdx].$elm$ = childNode;
622
- insertBefore(containerElm, childNode, before);
759
+ insertBefore(containerElm, childNode, referenceNode(before) );
623
760
  }
624
761
  }
625
762
  }
@@ -630,6 +767,14 @@ var removeVnodes = (vnodes, startIdx, endIdx) => {
630
767
  if (vnode) {
631
768
  const elm = vnode.$elm$;
632
769
  if (elm) {
770
+ {
771
+ checkSlotFallbackVisibility = true;
772
+ if (elm["s-ol"]) {
773
+ elm["s-ol"].remove();
774
+ } else {
775
+ putBackInOriginalLocation(elm, true);
776
+ }
777
+ }
633
778
  elm.remove();
634
779
  }
635
780
  }
@@ -666,11 +811,17 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
666
811
  oldEndVnode = oldCh[--oldEndIdx];
667
812
  newEndVnode = newCh[--newEndIdx];
668
813
  } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
814
+ if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
815
+ putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
816
+ }
669
817
  patch(oldStartVnode, newEndVnode, isInitialRender);
670
818
  insertBefore(parentElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
671
819
  oldStartVnode = oldCh[++oldStartIdx];
672
820
  newEndVnode = newCh[--newEndIdx];
673
821
  } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
822
+ if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
823
+ putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
824
+ }
674
825
  patch(oldEndVnode, newStartVnode, isInitialRender);
675
826
  insertBefore(parentElm, oldEndVnode.$elm$, oldStartVnode.$elm$);
676
827
  oldEndVnode = oldCh[--oldEndIdx];
@@ -701,7 +852,11 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
701
852
  }
702
853
  if (node) {
703
854
  {
704
- insertBefore(oldStartVnode.$elm$.parentNode, node, oldStartVnode.$elm$);
855
+ insertBefore(
856
+ referenceNode(oldStartVnode.$elm$).parentNode,
857
+ node,
858
+ referenceNode(oldStartVnode.$elm$)
859
+ );
705
860
  }
706
861
  }
707
862
  }
@@ -721,6 +876,9 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
721
876
  };
722
877
  var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
723
878
  if (leftVNode.$tag$ === rightVNode.$tag$) {
879
+ if (leftVNode.$tag$ === "slot") {
880
+ return leftVNode.$name$ === rightVNode.$name$;
881
+ }
724
882
  if (!isInitialRender) {
725
883
  return leftVNode.$key$ === rightVNode.$key$;
726
884
  }
@@ -731,12 +889,14 @@ var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
731
889
  }
732
890
  return false;
733
891
  };
892
+ var referenceNode = (node) => node && node["s-ol"] || node;
734
893
  var patch = (oldVNode, newVNode2, isInitialRender = false) => {
735
894
  const elm = newVNode2.$elm$ = oldVNode.$elm$;
736
895
  const oldChildren = oldVNode.$children$;
737
896
  const newChildren = newVNode2.$children$;
738
897
  const tag = newVNode2.$tag$;
739
898
  const text = newVNode2.$text$;
899
+ let defaultHolder;
740
900
  if (text === null) {
741
901
  {
742
902
  if (tag === "slot" && !useNativeShadowDom) ; else {
@@ -756,16 +916,69 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
756
916
  ) {
757
917
  removeVnodes(oldChildren, 0, oldChildren.length - 1);
758
918
  }
919
+ } else if ((defaultHolder = elm["s-cr"])) {
920
+ defaultHolder.parentNode.textContent = text;
759
921
  } else if (oldVNode.$text$ !== text) {
760
922
  elm.data = text;
761
923
  }
762
924
  };
925
+ var relocateNodes = [];
926
+ var markSlotContentForRelocation = (elm) => {
927
+ let node;
928
+ let hostContentNodes;
929
+ let j;
930
+ const children = elm.__childNodes || elm.childNodes;
931
+ for (const childNode of children) {
932
+ if (childNode["s-sr"] && (node = childNode["s-cr"]) && node.parentNode) {
933
+ hostContentNodes = node.parentNode.__childNodes || node.parentNode.childNodes;
934
+ const slotName = childNode["s-sn"];
935
+ for (j = hostContentNodes.length - 1; j >= 0; j--) {
936
+ node = hostContentNodes[j];
937
+ if (!node["s-cn"] && !node["s-nr"] && node["s-hn"] !== childNode["s-hn"] && (!BUILD.experimentalSlotFixes )) {
938
+ if (isNodeLocatedInSlot(node, slotName)) {
939
+ let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
940
+ checkSlotFallbackVisibility = true;
941
+ node["s-sn"] = node["s-sn"] || slotName;
942
+ if (relocateNodeData) {
943
+ relocateNodeData.$nodeToRelocate$["s-sh"] = childNode["s-hn"];
944
+ relocateNodeData.$slotRefNode$ = childNode;
945
+ } else {
946
+ node["s-sh"] = childNode["s-hn"];
947
+ relocateNodes.push({
948
+ $slotRefNode$: childNode,
949
+ $nodeToRelocate$: node
950
+ });
951
+ }
952
+ if (node["s-sr"]) {
953
+ relocateNodes.map((relocateNode) => {
954
+ if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node["s-sn"])) {
955
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
956
+ if (relocateNodeData && !relocateNode.$slotRefNode$) {
957
+ relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
958
+ }
959
+ }
960
+ });
961
+ }
962
+ } else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
963
+ relocateNodes.push({
964
+ $nodeToRelocate$: node
965
+ });
966
+ }
967
+ }
968
+ }
969
+ }
970
+ if (childNode.nodeType === 1 /* ElementNode */) {
971
+ markSlotContentForRelocation(childNode);
972
+ }
973
+ }
974
+ };
763
975
  var insertBefore = (parent, newNode, reference) => {
764
976
  {
765
977
  return parent == null ? void 0 : parent.insertBefore(newNode, reference);
766
978
  }
767
979
  };
768
980
  var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
981
+ var _a, _b, _c, _d;
769
982
  const hostElm = hostRef.$hostElement$;
770
983
  const cmpMeta = hostRef.$cmpMeta$;
771
984
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
@@ -783,7 +996,77 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
783
996
  hostRef.$vnode$ = rootVnode;
784
997
  rootVnode.$elm$ = oldVNode.$elm$ = hostElm.shadowRoot || hostElm ;
785
998
  useNativeShadowDom = (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;
999
+ {
1000
+ contentRef = hostElm["s-cr"];
1001
+ checkSlotFallbackVisibility = false;
1002
+ }
786
1003
  patch(oldVNode, rootVnode, isInitialLoad);
1004
+ {
1005
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
1006
+ if (checkSlotRelocate) {
1007
+ markSlotContentForRelocation(rootVnode.$elm$);
1008
+ for (const relocateData of relocateNodes) {
1009
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1010
+ if (!nodeToRelocate["s-ol"]) {
1011
+ const orgLocationNode = doc.createTextNode("");
1012
+ orgLocationNode["s-nr"] = nodeToRelocate;
1013
+ insertBefore(nodeToRelocate.parentNode, nodeToRelocate["s-ol"] = orgLocationNode, nodeToRelocate);
1014
+ }
1015
+ }
1016
+ for (const relocateData of relocateNodes) {
1017
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1018
+ const slotRefNode = relocateData.$slotRefNode$;
1019
+ if (slotRefNode) {
1020
+ const parentNodeRef = slotRefNode.parentNode;
1021
+ let insertBeforeNode = slotRefNode.nextSibling;
1022
+ {
1023
+ let orgLocationNode = (_a = nodeToRelocate["s-ol"]) == null ? void 0 : _a.previousSibling;
1024
+ while (orgLocationNode) {
1025
+ let refNode = (_b = orgLocationNode["s-nr"]) != null ? _b : null;
1026
+ if (refNode && refNode["s-sn"] === nodeToRelocate["s-sn"] && parentNodeRef === (refNode.__parentNode || refNode.parentNode)) {
1027
+ refNode = refNode.nextSibling;
1028
+ while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode["s-sr"])) {
1029
+ refNode = refNode == null ? void 0 : refNode.nextSibling;
1030
+ }
1031
+ if (!refNode || !refNode["s-nr"]) {
1032
+ insertBeforeNode = refNode;
1033
+ break;
1034
+ }
1035
+ }
1036
+ orgLocationNode = orgLocationNode.previousSibling;
1037
+ }
1038
+ }
1039
+ const parent = nodeToRelocate.__parentNode || nodeToRelocate.parentNode;
1040
+ const nextSibling = nodeToRelocate.__nextSibling || nodeToRelocate.nextSibling;
1041
+ if (!insertBeforeNode && parentNodeRef !== parent || nextSibling !== insertBeforeNode) {
1042
+ if (nodeToRelocate !== insertBeforeNode) {
1043
+ if (!nodeToRelocate["s-hn"] && nodeToRelocate["s-ol"]) {
1044
+ nodeToRelocate["s-hn"] = nodeToRelocate["s-ol"].parentNode.nodeName;
1045
+ }
1046
+ insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);
1047
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */ && nodeToRelocate.tagName !== "SLOT-FB") {
1048
+ nodeToRelocate.hidden = (_c = nodeToRelocate["s-ih"]) != null ? _c : false;
1049
+ }
1050
+ }
1051
+ }
1052
+ nodeToRelocate && typeof slotRefNode["s-rf"] === "function" && slotRefNode["s-rf"](nodeToRelocate);
1053
+ } else {
1054
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
1055
+ if (isInitialLoad) {
1056
+ nodeToRelocate["s-ih"] = (_d = nodeToRelocate.hidden) != null ? _d : false;
1057
+ }
1058
+ nodeToRelocate.hidden = true;
1059
+ }
1060
+ }
1061
+ }
1062
+ }
1063
+ if (checkSlotFallbackVisibility) {
1064
+ updateFallbackSlotVisibility(rootVnode.$elm$);
1065
+ }
1066
+ plt.$flags$ &= ~1 /* isTmpDisconnected */;
1067
+ relocateNodes.length = 0;
1068
+ }
1069
+ contentRef = void 0;
787
1070
  };
788
1071
 
789
1072
  // src/runtime/update-component.ts
@@ -1160,6 +1443,12 @@ var connectedCallback = (elm) => {
1160
1443
  const endConnected = createTime("connectedCallback", cmpMeta.$tagName$);
1161
1444
  if (!(hostRef.$flags$ & 1 /* hasConnected */)) {
1162
1445
  hostRef.$flags$ |= 1 /* hasConnected */;
1446
+ {
1447
+ if (// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
1448
+ cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */)) {
1449
+ setContentReference(elm);
1450
+ }
1451
+ }
1163
1452
  {
1164
1453
  let ancestorComponent = elm;
1165
1454
  while (ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host) {
@@ -1190,6 +1479,13 @@ var connectedCallback = (elm) => {
1190
1479
  endConnected();
1191
1480
  }
1192
1481
  };
1482
+ var setContentReference = (elm) => {
1483
+ const contentRefElm = elm["s-cr"] = doc.createComment(
1484
+ ""
1485
+ );
1486
+ contentRefElm["s-cn"] = true;
1487
+ insertBefore(elm, contentRefElm, elm.firstChild);
1488
+ };
1193
1489
  var disconnectInstance = (instance, elm) => {
1194
1490
  };
1195
1491
  var disconnectedCallback = async (elm) => {
@@ -1385,4 +1681,4 @@ exports.promiseResolve = promiseResolve;
1385
1681
  exports.registerInstance = registerInstance;
1386
1682
  exports.setNonce = setNonce;
1387
1683
 
1388
- //# sourceMappingURL=index-e5bb90c8.js.map
1684
+ //# sourceMappingURL=index-1be60996.js.map