@amiceli/papierjs 0.1.0 → 0.3.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 (126) hide show
  1. package/dist/cjs/{index-e5bb90c8.js → index-bb0e67a4.js} +331 -5
  2. package/dist/cjs/index-bb0e67a4.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-breadcrumb-item.cjs.entry.js +35 -0
  8. package/dist/cjs/p-breadcrumb-item.cjs.entry.js.map +1 -0
  9. package/dist/cjs/p-breadcrumb.cjs.entry.js +41 -0
  10. package/dist/cjs/p-breadcrumb.cjs.entry.js.map +1 -0
  11. package/dist/cjs/p-button.cjs.entry.js +2 -2
  12. package/dist/cjs/p-dropdown-item.cjs.entry.js +2 -2
  13. package/dist/cjs/p-dropdown.cjs.entry.js +3 -3
  14. package/dist/cjs/p-input-text.cjs.entry.js +2 -2
  15. package/dist/cjs/p-leaf.cjs.entry.js +26 -0
  16. package/dist/cjs/p-leaf.cjs.entry.js.map +1 -0
  17. package/dist/cjs/p-modal.cjs.entry.js +29 -0
  18. package/dist/cjs/p-modal.cjs.entry.js.map +1 -0
  19. package/dist/cjs/p-progress-bar.cjs.entry.js +2 -2
  20. package/dist/cjs/papierjs.cjs.js +2 -2
  21. package/dist/collection/collection-manifest.json +5 -0
  22. package/dist/collection/components/badge/badge.css +3222 -0
  23. package/dist/collection/components/badge/badge.js +82 -0
  24. package/dist/collection/components/badge/badge.js.map +1 -0
  25. package/dist/collection/components/breadcrumb/breadcrumb.css +3396 -0
  26. package/dist/collection/components/breadcrumb/breadcrumb.js +64 -0
  27. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -0
  28. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js +97 -0
  29. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js.map +1 -0
  30. package/dist/collection/components/button/button.js +1 -1
  31. package/dist/collection/components/dropdown/dropdown.js +2 -2
  32. package/dist/collection/components/dropdown-item/dropdown-item.js +1 -1
  33. package/dist/collection/components/input/input-text/input-text.js +1 -1
  34. package/dist/collection/components/leaf/leaf.css +3219 -0
  35. package/dist/collection/components/leaf/leaf.js +48 -0
  36. package/dist/collection/components/leaf/leaf.js.map +1 -0
  37. package/dist/collection/components/p-modal/p-modal.css +3224 -0
  38. package/dist/collection/components/p-modal/p-modal.js +61 -0
  39. package/dist/collection/components/p-modal/p-modal.js.map +1 -0
  40. package/dist/collection/components/p-modal/p-modal.preview.js +26 -0
  41. package/dist/collection/components/p-modal/p-modal.preview.js.map +1 -0
  42. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  43. package/dist/components/index.js +1 -1
  44. package/dist/components/{p-92aa42e7.js → p-784ab1ae.js} +294 -6
  45. package/dist/components/p-784ab1ae.js.map +1 -0
  46. package/dist/components/p-alert.js +1 -1
  47. package/dist/components/p-badge.d.ts +11 -0
  48. package/dist/components/p-badge.js +52 -0
  49. package/dist/components/p-badge.js.map +1 -0
  50. package/dist/components/p-breadcrumb-item.d.ts +11 -0
  51. package/dist/components/p-breadcrumb-item.js +54 -0
  52. package/dist/components/p-breadcrumb-item.js.map +1 -0
  53. package/dist/components/p-breadcrumb.d.ts +11 -0
  54. package/dist/components/p-breadcrumb.js +58 -0
  55. package/dist/components/p-breadcrumb.js.map +1 -0
  56. package/dist/components/p-button.js +2 -2
  57. package/dist/components/p-dropdown-item.js +2 -2
  58. package/dist/components/p-dropdown.js +3 -3
  59. package/dist/components/p-input-text.js +2 -2
  60. package/dist/components/p-leaf.d.ts +11 -0
  61. package/dist/components/p-leaf.js +42 -0
  62. package/dist/components/p-leaf.js.map +1 -0
  63. package/dist/components/p-modal.d.ts +11 -0
  64. package/dist/components/p-modal.js +48 -0
  65. package/dist/components/p-modal.js.map +1 -0
  66. package/dist/components/p-progress-bar.js +2 -2
  67. package/dist/esm/{index-809c10ff.js → index-d88148b4.js} +331 -6
  68. package/dist/esm/index-d88148b4.js.map +1 -0
  69. package/dist/esm/loader.js +3 -3
  70. package/dist/esm/p-alert.entry.js +1 -1
  71. package/dist/esm/p-badge.entry.js +30 -0
  72. package/dist/esm/p-badge.entry.js.map +1 -0
  73. package/dist/esm/p-breadcrumb-item.entry.js +31 -0
  74. package/dist/esm/p-breadcrumb-item.entry.js.map +1 -0
  75. package/dist/esm/p-breadcrumb.entry.js +37 -0
  76. package/dist/esm/p-breadcrumb.entry.js.map +1 -0
  77. package/dist/esm/p-button.entry.js +2 -2
  78. package/dist/esm/p-dropdown-item.entry.js +2 -2
  79. package/dist/esm/p-dropdown.entry.js +3 -3
  80. package/dist/esm/p-input-text.entry.js +2 -2
  81. package/dist/esm/p-leaf.entry.js +22 -0
  82. package/dist/esm/p-leaf.entry.js.map +1 -0
  83. package/dist/esm/p-modal.entry.js +25 -0
  84. package/dist/esm/p-modal.entry.js.map +1 -0
  85. package/dist/esm/p-progress-bar.entry.js +2 -2
  86. package/dist/esm/papierjs.js +3 -3
  87. package/dist/papierjs/p-022f2011.entry.js +2 -0
  88. package/dist/papierjs/p-022f2011.entry.js.map +1 -0
  89. package/dist/papierjs/p-1cac6dc4.entry.js +2 -0
  90. package/dist/papierjs/p-1cac6dc4.entry.js.map +1 -0
  91. package/dist/papierjs/p-2ed960c9.entry.js +2 -0
  92. package/dist/papierjs/p-2ed960c9.entry.js.map +1 -0
  93. package/dist/papierjs/p-5f857750.entry.js +2 -0
  94. package/dist/papierjs/p-5f857750.entry.js.map +1 -0
  95. package/dist/papierjs/{p-6e9110f7.entry.js → p-704b216f.entry.js} +3 -3
  96. package/dist/papierjs/{p-8e9a6ac4.entry.js → p-7f976699.entry.js} +2 -2
  97. package/dist/papierjs/{p-ce66a0db.entry.js → p-8240849e.entry.js} +2 -2
  98. package/dist/papierjs/p-8b96fa1d.js +3 -0
  99. package/dist/papierjs/p-8b96fa1d.js.map +1 -0
  100. package/dist/papierjs/{p-99159731.entry.js → p-ca16de19.entry.js} +2 -2
  101. package/dist/papierjs/{p-c3243b73.entry.js → p-d2178145.entry.js} +2 -2
  102. package/dist/papierjs/p-ebbd3c9d.entry.js +2 -0
  103. package/dist/papierjs/p-ebbd3c9d.entry.js.map +1 -0
  104. package/dist/papierjs/{p-de62cf76.entry.js → p-ff268801.entry.js} +2 -2
  105. package/dist/papierjs/papierjs.esm.js +1 -1
  106. package/dist/papierjs/papierjs.esm.js.map +1 -1
  107. package/dist/types/components/badge/badge.d.ts +9 -0
  108. package/dist/types/components/breadcrumb/breadcrumb.d.ts +7 -0
  109. package/dist/types/components/breadcrumb-item/breadcrumb-item.d.ts +8 -0
  110. package/dist/types/components/leaf/leaf.d.ts +5 -0
  111. package/dist/types/components/p-modal/p-modal.d.ts +6 -0
  112. package/dist/types/components/p-modal/p-modal.preview.d.ts +1 -0
  113. package/dist/types/components.d.ts +81 -0
  114. package/package.json +7 -7
  115. package/readme.md +14 -6
  116. package/dist/cjs/index-e5bb90c8.js.map +0 -1
  117. package/dist/components/p-92aa42e7.js.map +0 -1
  118. package/dist/esm/index-809c10ff.js.map +0 -1
  119. package/dist/papierjs/p-45914d24.js +0 -3
  120. package/dist/papierjs/p-45914d24.js.map +0 -1
  121. /package/dist/papierjs/{p-6e9110f7.entry.js.map → p-704b216f.entry.js.map} +0 -0
  122. /package/dist/papierjs/{p-8e9a6ac4.entry.js.map → p-7f976699.entry.js.map} +0 -0
  123. /package/dist/papierjs/{p-ce66a0db.entry.js.map → p-8240849e.entry.js.map} +0 -0
  124. /package/dist/papierjs/{p-99159731.entry.js.map → p-ca16de19.entry.js.map} +0 -0
  125. /package/dist/papierjs/{p-c3243b73.entry.js.map → p-d2178145.entry.js.map} +0 -0
  126. /package/dist/papierjs/{p-de62cf76.entry.js.map → p-ff268801.entry.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  const NAMESPACE = 'papierjs';
2
- 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 };
2
+ 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: true, 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 };
3
3
 
4
4
  /*
5
5
  Stencil Client Platform v4.25.3 | MIT Licensed | https://stenciljs.com
@@ -23,6 +23,9 @@ var registerHost = (hostElement, cmpMeta) => {
23
23
  $cmpMeta$: cmpMeta,
24
24
  $instanceValues$: /* @__PURE__ */ new Map()
25
25
  };
26
+ {
27
+ hostRef.$onInstancePromise$ = new Promise((r) => hostRef.$onInstanceResolve$ = r);
28
+ }
26
29
  {
27
30
  hostRef.$onReadyPromise$ = new Promise((r) => hostRef.$onReadyResolve$ = r);
28
31
  hostElement["s-p"] = [];
@@ -58,6 +61,18 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
58
61
  return import(
59
62
  /* webpackMode: "lazy" */
60
63
  './p-alert.entry.js').then(processMod, consoleError);
64
+ case 'p-badge':
65
+ return import(
66
+ /* webpackMode: "lazy" */
67
+ './p-badge.entry.js').then(processMod, consoleError);
68
+ case 'p-breadcrumb':
69
+ return import(
70
+ /* webpackMode: "lazy" */
71
+ './p-breadcrumb.entry.js').then(processMod, consoleError);
72
+ case 'p-breadcrumb-item':
73
+ return import(
74
+ /* webpackMode: "lazy" */
75
+ './p-breadcrumb-item.entry.js').then(processMod, consoleError);
61
76
  case 'p-button':
62
77
  return import(
63
78
  /* webpackMode: "lazy" */
@@ -74,6 +89,14 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
74
89
  return import(
75
90
  /* webpackMode: "lazy" */
76
91
  './p-input-text.entry.js').then(processMod, consoleError);
92
+ case 'p-leaf':
93
+ return import(
94
+ /* webpackMode: "lazy" */
95
+ './p-leaf.entry.js').then(processMod, consoleError);
96
+ case 'p-modal':
97
+ return import(
98
+ /* webpackMode: "lazy" */
99
+ './p-modal.entry.js').then(processMod, consoleError);
77
100
  case 'p-progress-bar':
78
101
  return import(
79
102
  /* webpackMode: "lazy" */
@@ -234,6 +257,63 @@ var unwrapErr = (result) => {
234
257
  throw result.value;
235
258
  }
236
259
  };
260
+ var updateFallbackSlotVisibility = (elm) => {
261
+ const childNodes = elm.__childNodes || elm.childNodes;
262
+ if (elm.tagName && elm.tagName.includes("-") && elm["s-cr"] && elm.tagName !== "SLOT-FB") {
263
+ getHostSlotNodes(childNodes, elm.tagName).forEach((slotNode) => {
264
+ var _a;
265
+ if (slotNode.nodeType === 1 /* ElementNode */ && slotNode.tagName === "SLOT-FB") {
266
+ if ((_a = getHostSlotChildNodes(slotNode, slotNode["s-sn"], false)) == null ? void 0 : _a.length) {
267
+ slotNode.hidden = true;
268
+ } else {
269
+ slotNode.hidden = false;
270
+ }
271
+ }
272
+ });
273
+ }
274
+ for (const childNode of childNodes) {
275
+ if (childNode.nodeType === 1 /* ElementNode */ && (childNode.__childNodes || childNode.childNodes).length) {
276
+ updateFallbackSlotVisibility(childNode);
277
+ }
278
+ }
279
+ };
280
+ function getHostSlotNodes(childNodes, hostName, slotName) {
281
+ let i2 = 0;
282
+ let slottedNodes = [];
283
+ let childNode;
284
+ for (; i2 < childNodes.length; i2++) {
285
+ childNode = childNodes[i2];
286
+ if (childNode["s-sr"] && childNode["s-hn"] === hostName && (slotName === void 0 || childNode["s-sn"] === slotName)) {
287
+ slottedNodes.push(childNode);
288
+ if (typeof slotName !== "undefined") return slottedNodes;
289
+ }
290
+ slottedNodes = [...slottedNodes, ...getHostSlotNodes(childNode.childNodes, hostName, slotName)];
291
+ }
292
+ return slottedNodes;
293
+ }
294
+ var getHostSlotChildNodes = (node, slotName, includeSlot = true) => {
295
+ const childNodes = [];
296
+ if (includeSlot && node["s-sr"] || !node["s-sr"]) childNodes.push(node);
297
+ while ((node = node.nextSibling) && node["s-sn"] === slotName) {
298
+ childNodes.push(node);
299
+ }
300
+ return childNodes;
301
+ };
302
+ var isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
303
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
304
+ if (nodeToRelocate.getAttribute("slot") === null && slotName === "") {
305
+ return true;
306
+ }
307
+ if (nodeToRelocate.getAttribute("slot") === slotName) {
308
+ return true;
309
+ }
310
+ return false;
311
+ }
312
+ if (nodeToRelocate["s-sn"] === slotName) {
313
+ return true;
314
+ }
315
+ return slotName === "";
316
+ };
237
317
  var createTime = (fnName, tagName = "") => {
238
318
  {
239
319
  return () => {
@@ -251,6 +331,7 @@ var uniqueTime = (key, measureText) => {
251
331
  var h = (nodeName, vnodeData, ...children) => {
252
332
  let child = null;
253
333
  let key = null;
334
+ let slotName = null;
254
335
  let simple = false;
255
336
  let lastSimple = false;
256
337
  const vNodeChildren = [];
@@ -277,6 +358,9 @@ var h = (nodeName, vnodeData, ...children) => {
277
358
  if (vnodeData.key) {
278
359
  key = vnodeData.key;
279
360
  }
361
+ if (vnodeData.name) {
362
+ slotName = vnodeData.name;
363
+ }
280
364
  {
281
365
  const classData = vnodeData.className || vnodeData.class;
282
366
  if (classData) {
@@ -292,6 +376,9 @@ var h = (nodeName, vnodeData, ...children) => {
292
376
  {
293
377
  vnode.$key$ = key;
294
378
  }
379
+ {
380
+ vnode.$name$ = slotName;
381
+ }
295
382
  return vnode;
296
383
  };
297
384
  var newVNode = (tag, text) => {
@@ -308,6 +395,9 @@ var newVNode = (tag, text) => {
308
395
  {
309
396
  vnode.$key$ = null;
310
397
  }
398
+ {
399
+ vnode.$name$ = null;
400
+ }
311
401
  return vnode;
312
402
  };
313
403
  var Host = {};
@@ -557,16 +647,38 @@ function sortedAttrNames(attrNames) {
557
647
  attrNames
558
648
  );
559
649
  }
650
+ var contentRef;
560
651
  var hostTagName;
561
652
  var useNativeShadowDom = false;
653
+ var checkSlotFallbackVisibility = false;
654
+ var checkSlotRelocate = false;
562
655
  var isSvgMode = false;
563
656
  var createElm = (oldParentVNode, newParentVNode, childIndex) => {
657
+ var _a;
564
658
  const newVNode2 = newParentVNode.$children$[childIndex];
565
659
  let i2 = 0;
566
660
  let elm;
567
661
  let childNode;
662
+ let oldVNode;
663
+ if (!useNativeShadowDom) {
664
+ checkSlotRelocate = true;
665
+ if (newVNode2.$tag$ === "slot") {
666
+ newVNode2.$flags$ |= newVNode2.$children$ ? (
667
+ // slot element has fallback content
668
+ // still create an element that "mocks" the slot element
669
+ 2 /* isSlotFallback */
670
+ ) : (
671
+ // slot element does not have fallback content
672
+ // create an html comment we'll use to always reference
673
+ // where actual slot content should sit next to
674
+ 1 /* isSlotReference */
675
+ );
676
+ }
677
+ }
568
678
  if (newVNode2.$text$ !== null) {
569
679
  elm = newVNode2.$elm$ = doc.createTextNode(newVNode2.$text$);
680
+ } else if (newVNode2.$flags$ & 1 /* isSlotReference */) {
681
+ elm = newVNode2.$elm$ = doc.createTextNode("");
570
682
  } else {
571
683
  elm = newVNode2.$elm$ = doc.createElement(
572
684
  !useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? "slot-fb" : newVNode2.$tag$
@@ -584,10 +696,50 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
584
696
  }
585
697
  }
586
698
  elm["s-hn"] = hostTagName;
699
+ {
700
+ if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
701
+ elm["s-sr"] = true;
702
+ elm["s-cr"] = contentRef;
703
+ elm["s-sn"] = newVNode2.$name$ || "";
704
+ elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
705
+ oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
706
+ if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
707
+ {
708
+ putBackInOriginalLocation(oldParentVNode.$elm$, false);
709
+ }
710
+ }
711
+ }
712
+ }
587
713
  return elm;
588
714
  };
715
+ var putBackInOriginalLocation = (parentElm, recursive) => {
716
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
717
+ const oldSlotChildNodes = Array.from(parentElm.__childNodes || parentElm.childNodes);
718
+ if (parentElm["s-sr"] && BUILD.experimentalSlotFixes) {
719
+ let node = parentElm;
720
+ while (node = node.nextSibling) {
721
+ if (node && node["s-sn"] === parentElm["s-sn"] && node["s-sh"] === hostTagName) {
722
+ oldSlotChildNodes.push(node);
723
+ }
724
+ }
725
+ }
726
+ for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {
727
+ const childNode = oldSlotChildNodes[i2];
728
+ if (childNode["s-hn"] !== hostTagName && childNode["s-ol"]) {
729
+ insertBefore(referenceNode(childNode).parentNode, childNode, referenceNode(childNode));
730
+ childNode["s-ol"].remove();
731
+ childNode["s-ol"] = void 0;
732
+ childNode["s-sh"] = void 0;
733
+ checkSlotRelocate = true;
734
+ }
735
+ if (recursive) {
736
+ putBackInOriginalLocation(childNode, recursive);
737
+ }
738
+ }
739
+ plt.$flags$ &= ~1 /* isTmpDisconnected */;
740
+ };
589
741
  var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
590
- let containerElm = parentElm;
742
+ let containerElm = parentElm["s-cr"] && parentElm["s-cr"].parentNode || parentElm;
591
743
  let childNode;
592
744
  if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
593
745
  containerElm = containerElm.shadowRoot;
@@ -597,7 +749,7 @@ var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
597
749
  childNode = createElm(null, parentVNode, startIdx);
598
750
  if (childNode) {
599
751
  vnodes[startIdx].$elm$ = childNode;
600
- insertBefore(containerElm, childNode, before);
752
+ insertBefore(containerElm, childNode, referenceNode(before) );
601
753
  }
602
754
  }
603
755
  }
@@ -608,6 +760,14 @@ var removeVnodes = (vnodes, startIdx, endIdx) => {
608
760
  if (vnode) {
609
761
  const elm = vnode.$elm$;
610
762
  if (elm) {
763
+ {
764
+ checkSlotFallbackVisibility = true;
765
+ if (elm["s-ol"]) {
766
+ elm["s-ol"].remove();
767
+ } else {
768
+ putBackInOriginalLocation(elm, true);
769
+ }
770
+ }
611
771
  elm.remove();
612
772
  }
613
773
  }
@@ -644,11 +804,17 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
644
804
  oldEndVnode = oldCh[--oldEndIdx];
645
805
  newEndVnode = newCh[--newEndIdx];
646
806
  } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
807
+ if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
808
+ putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
809
+ }
647
810
  patch(oldStartVnode, newEndVnode, isInitialRender);
648
811
  insertBefore(parentElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
649
812
  oldStartVnode = oldCh[++oldStartIdx];
650
813
  newEndVnode = newCh[--newEndIdx];
651
814
  } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
815
+ if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
816
+ putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
817
+ }
652
818
  patch(oldEndVnode, newStartVnode, isInitialRender);
653
819
  insertBefore(parentElm, oldEndVnode.$elm$, oldStartVnode.$elm$);
654
820
  oldEndVnode = oldCh[--oldEndIdx];
@@ -679,7 +845,11 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
679
845
  }
680
846
  if (node) {
681
847
  {
682
- insertBefore(oldStartVnode.$elm$.parentNode, node, oldStartVnode.$elm$);
848
+ insertBefore(
849
+ referenceNode(oldStartVnode.$elm$).parentNode,
850
+ node,
851
+ referenceNode(oldStartVnode.$elm$)
852
+ );
683
853
  }
684
854
  }
685
855
  }
@@ -699,6 +869,9 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
699
869
  };
700
870
  var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
701
871
  if (leftVNode.$tag$ === rightVNode.$tag$) {
872
+ if (leftVNode.$tag$ === "slot") {
873
+ return leftVNode.$name$ === rightVNode.$name$;
874
+ }
702
875
  if (!isInitialRender) {
703
876
  return leftVNode.$key$ === rightVNode.$key$;
704
877
  }
@@ -709,12 +882,14 @@ var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
709
882
  }
710
883
  return false;
711
884
  };
885
+ var referenceNode = (node) => node && node["s-ol"] || node;
712
886
  var patch = (oldVNode, newVNode2, isInitialRender = false) => {
713
887
  const elm = newVNode2.$elm$ = oldVNode.$elm$;
714
888
  const oldChildren = oldVNode.$children$;
715
889
  const newChildren = newVNode2.$children$;
716
890
  const tag = newVNode2.$tag$;
717
891
  const text = newVNode2.$text$;
892
+ let defaultHolder;
718
893
  if (text === null) {
719
894
  {
720
895
  if (tag === "slot" && !useNativeShadowDom) ; else {
@@ -734,16 +909,69 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
734
909
  ) {
735
910
  removeVnodes(oldChildren, 0, oldChildren.length - 1);
736
911
  }
912
+ } else if ((defaultHolder = elm["s-cr"])) {
913
+ defaultHolder.parentNode.textContent = text;
737
914
  } else if (oldVNode.$text$ !== text) {
738
915
  elm.data = text;
739
916
  }
740
917
  };
918
+ var relocateNodes = [];
919
+ var markSlotContentForRelocation = (elm) => {
920
+ let node;
921
+ let hostContentNodes;
922
+ let j;
923
+ const children = elm.__childNodes || elm.childNodes;
924
+ for (const childNode of children) {
925
+ if (childNode["s-sr"] && (node = childNode["s-cr"]) && node.parentNode) {
926
+ hostContentNodes = node.parentNode.__childNodes || node.parentNode.childNodes;
927
+ const slotName = childNode["s-sn"];
928
+ for (j = hostContentNodes.length - 1; j >= 0; j--) {
929
+ node = hostContentNodes[j];
930
+ if (!node["s-cn"] && !node["s-nr"] && node["s-hn"] !== childNode["s-hn"] && (!BUILD.experimentalSlotFixes )) {
931
+ if (isNodeLocatedInSlot(node, slotName)) {
932
+ let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
933
+ checkSlotFallbackVisibility = true;
934
+ node["s-sn"] = node["s-sn"] || slotName;
935
+ if (relocateNodeData) {
936
+ relocateNodeData.$nodeToRelocate$["s-sh"] = childNode["s-hn"];
937
+ relocateNodeData.$slotRefNode$ = childNode;
938
+ } else {
939
+ node["s-sh"] = childNode["s-hn"];
940
+ relocateNodes.push({
941
+ $slotRefNode$: childNode,
942
+ $nodeToRelocate$: node
943
+ });
944
+ }
945
+ if (node["s-sr"]) {
946
+ relocateNodes.map((relocateNode) => {
947
+ if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node["s-sn"])) {
948
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
949
+ if (relocateNodeData && !relocateNode.$slotRefNode$) {
950
+ relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
951
+ }
952
+ }
953
+ });
954
+ }
955
+ } else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
956
+ relocateNodes.push({
957
+ $nodeToRelocate$: node
958
+ });
959
+ }
960
+ }
961
+ }
962
+ }
963
+ if (childNode.nodeType === 1 /* ElementNode */) {
964
+ markSlotContentForRelocation(childNode);
965
+ }
966
+ }
967
+ };
741
968
  var insertBefore = (parent, newNode, reference) => {
742
969
  {
743
970
  return parent == null ? void 0 : parent.insertBefore(newNode, reference);
744
971
  }
745
972
  };
746
973
  var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
974
+ var _a, _b, _c, _d;
747
975
  const hostElm = hostRef.$hostElement$;
748
976
  const cmpMeta = hostRef.$cmpMeta$;
749
977
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
@@ -761,7 +989,77 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
761
989
  hostRef.$vnode$ = rootVnode;
762
990
  rootVnode.$elm$ = oldVNode.$elm$ = hostElm.shadowRoot || hostElm ;
763
991
  useNativeShadowDom = (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;
992
+ {
993
+ contentRef = hostElm["s-cr"];
994
+ checkSlotFallbackVisibility = false;
995
+ }
764
996
  patch(oldVNode, rootVnode, isInitialLoad);
997
+ {
998
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
999
+ if (checkSlotRelocate) {
1000
+ markSlotContentForRelocation(rootVnode.$elm$);
1001
+ for (const relocateData of relocateNodes) {
1002
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1003
+ if (!nodeToRelocate["s-ol"]) {
1004
+ const orgLocationNode = doc.createTextNode("");
1005
+ orgLocationNode["s-nr"] = nodeToRelocate;
1006
+ insertBefore(nodeToRelocate.parentNode, nodeToRelocate["s-ol"] = orgLocationNode, nodeToRelocate);
1007
+ }
1008
+ }
1009
+ for (const relocateData of relocateNodes) {
1010
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1011
+ const slotRefNode = relocateData.$slotRefNode$;
1012
+ if (slotRefNode) {
1013
+ const parentNodeRef = slotRefNode.parentNode;
1014
+ let insertBeforeNode = slotRefNode.nextSibling;
1015
+ {
1016
+ let orgLocationNode = (_a = nodeToRelocate["s-ol"]) == null ? void 0 : _a.previousSibling;
1017
+ while (orgLocationNode) {
1018
+ let refNode = (_b = orgLocationNode["s-nr"]) != null ? _b : null;
1019
+ if (refNode && refNode["s-sn"] === nodeToRelocate["s-sn"] && parentNodeRef === (refNode.__parentNode || refNode.parentNode)) {
1020
+ refNode = refNode.nextSibling;
1021
+ while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode["s-sr"])) {
1022
+ refNode = refNode == null ? void 0 : refNode.nextSibling;
1023
+ }
1024
+ if (!refNode || !refNode["s-nr"]) {
1025
+ insertBeforeNode = refNode;
1026
+ break;
1027
+ }
1028
+ }
1029
+ orgLocationNode = orgLocationNode.previousSibling;
1030
+ }
1031
+ }
1032
+ const parent = nodeToRelocate.__parentNode || nodeToRelocate.parentNode;
1033
+ const nextSibling = nodeToRelocate.__nextSibling || nodeToRelocate.nextSibling;
1034
+ if (!insertBeforeNode && parentNodeRef !== parent || nextSibling !== insertBeforeNode) {
1035
+ if (nodeToRelocate !== insertBeforeNode) {
1036
+ if (!nodeToRelocate["s-hn"] && nodeToRelocate["s-ol"]) {
1037
+ nodeToRelocate["s-hn"] = nodeToRelocate["s-ol"].parentNode.nodeName;
1038
+ }
1039
+ insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);
1040
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */ && nodeToRelocate.tagName !== "SLOT-FB") {
1041
+ nodeToRelocate.hidden = (_c = nodeToRelocate["s-ih"]) != null ? _c : false;
1042
+ }
1043
+ }
1044
+ }
1045
+ nodeToRelocate && typeof slotRefNode["s-rf"] === "function" && slotRefNode["s-rf"](nodeToRelocate);
1046
+ } else {
1047
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
1048
+ if (isInitialLoad) {
1049
+ nodeToRelocate["s-ih"] = (_d = nodeToRelocate.hidden) != null ? _d : false;
1050
+ }
1051
+ nodeToRelocate.hidden = true;
1052
+ }
1053
+ }
1054
+ }
1055
+ }
1056
+ if (checkSlotFallbackVisibility) {
1057
+ updateFallbackSlotVisibility(rootVnode.$elm$);
1058
+ }
1059
+ plt.$flags$ &= ~1 /* isTmpDisconnected */;
1060
+ relocateNodes.length = 0;
1061
+ }
1062
+ contentRef = void 0;
765
1063
  };
766
1064
 
767
1065
  // src/runtime/update-component.ts
@@ -891,6 +1189,9 @@ var postUpdateComponent = (hostRef) => {
891
1189
  } else {
892
1190
  endPostUpdate();
893
1191
  }
1192
+ {
1193
+ hostRef.$onInstanceResolve$(elm);
1194
+ }
894
1195
  {
895
1196
  if (hostRef.$onRenderResolve$) {
896
1197
  hostRef.$onRenderResolve$();
@@ -1016,6 +1317,17 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1016
1317
  }
1017
1318
  }
1018
1319
  });
1320
+ } else if (flags & 1 /* isElementConstructor */ && memberFlags & 64 /* Method */) {
1321
+ Object.defineProperty(prototype, memberName, {
1322
+ value(...args) {
1323
+ var _a2;
1324
+ const ref = getHostRef(this);
1325
+ return (_a2 = ref == null ? void 0 : ref.$onInstancePromise$) == null ? void 0 : _a2.then(() => {
1326
+ var _a3;
1327
+ return (_a3 = ref.$lazyInstance$) == null ? void 0 : _a3[memberName](...args);
1328
+ });
1329
+ }
1330
+ });
1019
1331
  }
1020
1332
  });
1021
1333
  if ((flags & 1 /* isElementConstructor */)) {
@@ -1138,6 +1450,12 @@ var connectedCallback = (elm) => {
1138
1450
  const endConnected = createTime("connectedCallback", cmpMeta.$tagName$);
1139
1451
  if (!(hostRef.$flags$ & 1 /* hasConnected */)) {
1140
1452
  hostRef.$flags$ |= 1 /* hasConnected */;
1453
+ {
1454
+ if (// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
1455
+ cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */)) {
1456
+ setContentReference(elm);
1457
+ }
1458
+ }
1141
1459
  {
1142
1460
  let ancestorComponent = elm;
1143
1461
  while (ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host) {
@@ -1168,6 +1486,13 @@ var connectedCallback = (elm) => {
1168
1486
  endConnected();
1169
1487
  }
1170
1488
  };
1489
+ var setContentReference = (elm) => {
1490
+ const contentRefElm = elm["s-cr"] = doc.createComment(
1491
+ ""
1492
+ );
1493
+ contentRefElm["s-cn"] = true;
1494
+ insertBefore(elm, contentRefElm, elm.firstChild);
1495
+ };
1171
1496
  var disconnectInstance = (instance, elm) => {
1172
1497
  };
1173
1498
  var disconnectedCallback = async (elm) => {
@@ -1355,6 +1680,6 @@ var hostListenerOpts = (flags) => supportsListenerOptions ? {
1355
1680
  // src/runtime/nonce.ts
1356
1681
  var setNonce = (nonce) => plt.$nonce$ = nonce;
1357
1682
 
1358
- export { bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
1683
+ export { Host as H, bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
1359
1684
 
1360
- //# sourceMappingURL=index-809c10ff.js.map
1685
+ //# sourceMappingURL=index-d88148b4.js.map