@gurpinderjitsingh/recipe-ui 0.1.3 → 0.1.4

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 (41) hide show
  1. package/dist/cjs/app-modal_7.cjs.entry.js +2 -2
  2. package/dist/cjs/app-toast.cjs.entry.js +1 -1
  3. package/dist/cjs/{index-CRcwY0Fb.js → index-0Jp0srDV.js} +416 -6
  4. package/dist/cjs/index.cjs.js +1 -1
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/recipe-ui.cjs.js +2 -2
  7. package/dist/collection/components/app-modal/app-modal.css +41 -8
  8. package/dist/collection/components/app-modal/app-modal.js +0 -1
  9. package/dist/components/app-modal.js +1 -1
  10. package/dist/components/app-toast.js +1 -1
  11. package/dist/components/index.js +1 -1
  12. package/dist/components/meal-plan-day.js +1 -1
  13. package/dist/components/p-BioNY75Q.js +1 -0
  14. package/dist/components/{p-BZBToMAv.js → p-BjeRE-Yp.js} +1 -1
  15. package/dist/components/{p-COHQTgKC.js → p-C300pX48.js} +1 -1
  16. package/dist/components/{p-DsyQvPDo.js → p-Cn-9hkL0.js} +1 -1
  17. package/dist/components/{p-BekLK-Pb.js → p-CwBR8qrC.js} +1 -1
  18. package/dist/components/{p-kbrkhGSm.js → p-D4_zWccP.js} +1 -1
  19. package/dist/components/{p-B4H61SFd.js → p-DzNqfLiF.js} +1 -1
  20. package/dist/components/{p-BRKGu69u.js → p-iruuKwXb.js} +1 -1
  21. package/dist/components/p-q8BcbM65.js +1 -0
  22. package/dist/components/recipe-card.js +1 -1
  23. package/dist/components/recipe-filter-bar.js +1 -1
  24. package/dist/components/recipe-form.js +1 -1
  25. package/dist/components/recipe-rating.js +1 -1
  26. package/dist/components/recipe-search-bar.js +1 -1
  27. package/dist/esm/app-modal_7.entry.js +2 -2
  28. package/dist/esm/app-toast.entry.js +1 -1
  29. package/dist/esm/{index-CrZUP9M-.js → index-Cq6PCsWh.js} +416 -6
  30. package/dist/esm/index.js +1 -1
  31. package/dist/esm/loader.js +3 -3
  32. package/dist/esm/recipe-ui.js +3 -3
  33. package/dist/recipe-ui/index.esm.js +1 -1
  34. package/dist/recipe-ui/{p-6ef28048.entry.js → p-47428346.entry.js} +1 -1
  35. package/dist/recipe-ui/{p-9144a213.entry.js → p-6add6efb.entry.js} +1 -1
  36. package/dist/recipe-ui/p-Cq6PCsWh.js +3 -0
  37. package/dist/recipe-ui/recipe-ui.esm.js +1 -1
  38. package/package.json +1 -1
  39. package/dist/components/p-BJU3HdRm.js +0 -1
  40. package/dist/components/p-DEpkYRgP.js +0 -1
  41. package/dist/recipe-ui/p-CrZUP9M-.js +0 -3
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-CRcwY0Fb.js');
3
+ var index = require('./index-0Jp0srDV.js');
4
4
 
5
5
  const recipeCardCss = () => `:host{display:block;font-family:system-ui, sans-serif}.card{border:1px solid #e5e5e5;border-radius:12px;overflow:hidden;cursor:pointer;background:#fff;transition:box-shadow 0.15s ease, transform 0.15s ease}.card:hover{box-shadow:0 4px 16px rgba(0, 0, 0, 0.08);transform:translateY(-2px)}.image-wrap{position:relative;aspect-ratio:4 / 3;background:#f2f2f2}.image-wrap img{width:100%;height:100%;object-fit:cover;display:block}.placeholder{width:100%;height:100%;background:linear-gradient(135deg, #eee, #ddd)}.fav-btn{position:absolute;top:8px;right:8px;border:none;background:rgba(255, 255, 255, 0.9);border-radius:50%;width:32px;height:32px;font-size:16px;cursor:pointer;color:#f5a623}.fav-btn.active{color:#ff6b35}.body{padding:12px 14px}h3{margin:0 0 4px;font-size:15px;line-height:1.3}.category{font-size:12px;color:#777;text-transform:uppercase;letter-spacing:0.03em}.actions{margin-top:8px}`;
6
6
 
@@ -207,7 +207,7 @@ const MealPlanDay = class {
207
207
  };
208
208
  MealPlanDay.style = mealPlanDayCss();
209
209
 
210
- const appModalCss = () => `:host{font-family:system-ui, sans-serif}.overlay{position:fixed;inset:0;background:rgba(0, 0, 0, 0.45);display:flex;align-items:center;justify-content:center;z-index:1000}.dialog{background:#fff;border-radius:12px;min-width:320px;max-width:90vw;max-height:85vh;overflow-y:auto;padding:20px;box-shadow:0 10px 40px rgba(0,0,0,0.2)}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.header h2{margin:0;font-size:18px}.close-btn{border:none;background:none;font-size:16px;cursor:pointer;color:#666}`;
210
+ const appModalCss = () => `:host{font-family:system-ui, sans-serif}.overlay{position:fixed;inset:0;background:rgba(0, 0, 0, 0.45);display:flex;align-items:center;justify-content:center;z-index:1000}.dialog{position:relative;background:#fff;border-radius:12px;min-width:320px;max-width:90vw;max-height:85vh;overflow-y:auto;padding:20px;box-shadow:0 10px 40px rgba(0, 0, 0, 0.2)}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.header h2{margin:0;font-size:18px}.close-btn{border:none;background:none;font-size:16px;cursor:pointer;color:#666}`;
211
211
 
212
212
  const AppModal = class {
213
213
  constructor(hostRef) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-CRcwY0Fb.js');
3
+ var index = require('./index-0Jp0srDV.js');
4
4
 
5
5
  const appToastCss = () => `:host{font-family:system-ui, sans-serif;display:block}.toast{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:8px;color:#fff;font-size:14px;box-shadow:0 4px 12px rgba(0,0,0,0.15)}.toast.success{background:#2ecc71}.toast.error{background:#e74c3c}.toast.info{background:#3498db}button{border:none;background:none;color:inherit;cursor:pointer;margin-left:auto}`;
6
6
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const NAMESPACE = 'recipe-ui';
4
- const BUILD = /* recipe-ui */ { hotModuleReplacement: false, hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: true, state: true, updatable: true};
4
+ const BUILD = /* recipe-ui */ { hotModuleReplacement: false, hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: true, slotRelocation: true, state: true, updatable: true};
5
5
 
6
6
  /*
7
7
  Stencil Client Platform v4.44.0 | MIT Licensed | https://stenciljs.com
@@ -217,6 +217,125 @@ function createShadowRoot(cmpMeta) {
217
217
  }
218
218
  }
219
219
  }
220
+ var updateFallbackSlotVisibility = (elm) => {
221
+ const childNodes = internalCall(elm, "childNodes");
222
+ if (elm.tagName && elm.tagName.includes("-") && elm["s-cr"] && elm.tagName !== "SLOT-FB") {
223
+ getHostSlotNodes(childNodes, elm.tagName).forEach((slotNode) => {
224
+ if (slotNode.nodeType === 1 /* ElementNode */ && slotNode.tagName === "SLOT-FB") {
225
+ if (getSlotChildSiblings(slotNode, getSlotName(slotNode), false).length) {
226
+ slotNode.hidden = true;
227
+ } else {
228
+ slotNode.hidden = false;
229
+ }
230
+ }
231
+ });
232
+ }
233
+ let i2 = 0;
234
+ for (i2 = 0; i2 < childNodes.length; i2++) {
235
+ const childNode = childNodes[i2];
236
+ if (childNode.nodeType === 1 /* ElementNode */ && internalCall(childNode, "childNodes").length) {
237
+ updateFallbackSlotVisibility(childNode);
238
+ }
239
+ }
240
+ };
241
+ var getSlottedChildNodes = (childNodes) => {
242
+ const result = [];
243
+ for (let i2 = 0; i2 < childNodes.length; i2++) {
244
+ const slottedNode = childNodes[i2]["s-nr"] || void 0;
245
+ if (slottedNode && slottedNode.isConnected) {
246
+ result.push(slottedNode);
247
+ }
248
+ }
249
+ return result;
250
+ };
251
+ function getHostSlotNodes(childNodes, hostName, slotName) {
252
+ let i2 = 0;
253
+ let slottedNodes = [];
254
+ let childNode;
255
+ for (; i2 < childNodes.length; i2++) {
256
+ childNode = childNodes[i2];
257
+ if (childNode["s-sr"] && (!hostName || childNode["s-hn"] === hostName) && (slotName === void 0 || getSlotName(childNode) === slotName)) {
258
+ slottedNodes.push(childNode);
259
+ if (typeof slotName !== "undefined") return slottedNodes;
260
+ }
261
+ slottedNodes = [...slottedNodes, ...getHostSlotNodes(internalCall(childNode, "childNodes"), hostName, slotName)];
262
+ }
263
+ return slottedNodes;
264
+ }
265
+ var getSlotChildSiblings = (slot, slotName, includeSlot = true) => {
266
+ const childNodes = [];
267
+ if (includeSlot && slot["s-sr"] || !slot["s-sr"]) childNodes.push(slot);
268
+ let node = slot;
269
+ while (node = node.nextSibling) {
270
+ if (getSlotName(node) === slotName && (includeSlot || !node["s-sr"])) childNodes.push(node);
271
+ }
272
+ return childNodes;
273
+ };
274
+ var isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
275
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
276
+ if (nodeToRelocate.getAttribute("slot") === null && slotName === "") {
277
+ return true;
278
+ }
279
+ if (nodeToRelocate.getAttribute("slot") === slotName) {
280
+ return true;
281
+ }
282
+ return false;
283
+ }
284
+ if (nodeToRelocate["s-sn"] === slotName) {
285
+ return true;
286
+ }
287
+ return slotName === "";
288
+ };
289
+ var getSlotName = (node) => typeof node["s-sn"] === "string" ? node["s-sn"] : node.nodeType === 1 && node.getAttribute("slot") || void 0;
290
+ function patchSlotNode(node) {
291
+ if (node.assignedElements || node.assignedNodes || !node["s-sr"]) return;
292
+ const assignedFactory = (elementsOnly) => (function(opts) {
293
+ const toReturn = [];
294
+ const slotName = this["s-sn"];
295
+ if (opts == null ? void 0 : opts.flatten) {
296
+ console.error(`
297
+ Flattening is not supported for Stencil non-shadow slots.
298
+ You can use \`.childNodes\` to nested slot fallback content.
299
+ If you have a particular use case, please open an issue on the Stencil repo.
300
+ `);
301
+ }
302
+ const parent = this["s-cr"].parentElement;
303
+ const slottedNodes = parent.__childNodes ? parent.childNodes : getSlottedChildNodes(parent.childNodes);
304
+ slottedNodes.forEach((n) => {
305
+ if (slotName === getSlotName(n)) {
306
+ toReturn.push(n);
307
+ }
308
+ });
309
+ if (elementsOnly) {
310
+ return toReturn.filter((n) => n.nodeType === 1 /* ElementNode */);
311
+ }
312
+ return toReturn;
313
+ }).bind(node);
314
+ node.assignedElements = assignedFactory(true);
315
+ node.assignedNodes = assignedFactory(false);
316
+ }
317
+ function dispatchSlotChangeEvent(elm) {
318
+ elm.dispatchEvent(new CustomEvent("slotchange", { bubbles: false, cancelable: false, composed: false }));
319
+ }
320
+ function findSlotFromSlottedNode(slottedNode, parentHost) {
321
+ var _a;
322
+ parentHost = parentHost || ((_a = slottedNode["s-ol"]) == null ? void 0 : _a.parentElement);
323
+ if (!parentHost) return { slotNode: null, slotName: "" };
324
+ const slotName = slottedNode["s-sn"] = getSlotName(slottedNode) || "";
325
+ const childNodes = internalCall(parentHost, "childNodes");
326
+ const slotNode = getHostSlotNodes(childNodes, parentHost.tagName, slotName)[0];
327
+ return { slotNode, slotName };
328
+ }
329
+ function internalCall(node, method) {
330
+ if ("__" + method in node) {
331
+ const toReturn = node["__" + method];
332
+ if (typeof toReturn !== "function") return toReturn;
333
+ return toReturn.bind(node);
334
+ } else {
335
+ if (typeof node[method] !== "function") return node[method];
336
+ return node[method].bind(node);
337
+ }
338
+ }
220
339
  var createTime = (fnName, tagName = "") => {
221
340
  {
222
341
  return () => {
@@ -371,6 +490,7 @@ var h = (nodeName, vnodeData, ...children) => {
371
490
  }
372
491
  let child = null;
373
492
  let key = null;
493
+ let slotName = null;
374
494
  let simple = false;
375
495
  let lastSimple = false;
376
496
  const vNodeChildren = [];
@@ -402,6 +522,9 @@ var h = (nodeName, vnodeData, ...children) => {
402
522
  if (vnodeData.key) {
403
523
  key = vnodeData.key;
404
524
  }
525
+ if (vnodeData.name) {
526
+ slotName = vnodeData.name;
527
+ }
405
528
  {
406
529
  const classData = vnodeData.className || vnodeData.class;
407
530
  if (classData) {
@@ -417,6 +540,9 @@ var h = (nodeName, vnodeData, ...children) => {
417
540
  {
418
541
  vnode.$key$ = key;
419
542
  }
543
+ {
544
+ vnode.$name$ = slotName;
545
+ }
420
546
  return vnode;
421
547
  };
422
548
  var newVNode = (tag, text) => {
@@ -434,6 +560,9 @@ var newVNode = (tag, text) => {
434
560
  {
435
561
  vnode.$key$ = null;
436
562
  }
563
+ {
564
+ vnode.$name$ = null;
565
+ }
437
566
  return vnode;
438
567
  };
439
568
  var Host = {};
@@ -653,22 +782,47 @@ function sortedAttrNames(attrNames) {
653
782
  attrNames
654
783
  );
655
784
  }
785
+ var contentRef;
656
786
  var hostTagName;
657
787
  var useNativeShadowDom = false;
788
+ var checkSlotFallbackVisibility = false;
789
+ var checkSlotRelocate = false;
658
790
  var isSvgMode = false;
659
791
  var createElm = (oldParentVNode, newParentVNode, childIndex) => {
792
+ var _a;
660
793
  const newVNode2 = newParentVNode.$children$[childIndex];
661
794
  let i2 = 0;
662
795
  let elm;
663
796
  let childNode;
797
+ let oldVNode;
798
+ if (!useNativeShadowDom) {
799
+ checkSlotRelocate = true;
800
+ if (newVNode2.$tag$ === "slot") {
801
+ newVNode2.$flags$ |= newVNode2.$children$ ? (
802
+ // slot element has fallback content
803
+ // still create an element that "mocks" the slot element
804
+ 2 /* isSlotFallback */
805
+ ) : (
806
+ // slot element does not have fallback content
807
+ // create an html comment we'll use to always reference
808
+ // where actual slot content should sit next to
809
+ 1 /* isSlotReference */
810
+ );
811
+ }
812
+ }
664
813
  if (newVNode2.$text$ != null) {
665
814
  elm = newVNode2.$elm$ = win.document.createTextNode(newVNode2.$text$);
815
+ } else if (newVNode2.$flags$ & 1 /* isSlotReference */) {
816
+ elm = newVNode2.$elm$ = win.document.createTextNode("");
817
+ {
818
+ updateElement(null, newVNode2, isSvgMode);
819
+ }
666
820
  } else {
667
821
  if (!win.document) {
668
822
  throw new Error("You are trying to render a Stencil component in an environment that doesn't support the DOM.");
669
823
  }
670
824
  elm = newVNode2.$elm$ = win.document.createElement(
671
- newVNode2.$tag$
825
+ !useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? "slot-fb" : newVNode2.$tag$
672
826
  );
673
827
  {
674
828
  updateElement(null, newVNode2, isSvgMode);
@@ -684,6 +838,19 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
684
838
  }
685
839
  }
686
840
  elm["s-hn"] = hostTagName;
841
+ {
842
+ if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
843
+ elm["s-sr"] = true;
844
+ elm["s-cr"] = contentRef;
845
+ elm["s-sn"] = newVNode2.$name$ || "";
846
+ elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
847
+ patchSlotNode(elm);
848
+ oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
849
+ if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
850
+ relocateToHostRoot(oldParentVNode.$elm$);
851
+ }
852
+ }
853
+ }
687
854
  return elm;
688
855
  };
689
856
  var relocateToHostRoot = (parentElm) => {
@@ -700,13 +867,40 @@ var relocateToHostRoot = (parentElm) => {
700
867
  if (childNode["s-sh"] != null) {
701
868
  insertBefore(host, childNode, contentRefNode != null ? contentRefNode : null);
702
869
  childNode["s-sh"] = void 0;
870
+ checkSlotRelocate = true;
703
871
  }
704
872
  }
705
873
  }
706
874
  plt.$flags$ &= -2 /* isTmpDisconnected */;
707
875
  };
876
+ var putBackInOriginalLocation = (parentElm, recursive) => {
877
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
878
+ const oldSlotChildNodes = Array.from(parentElm.__childNodes || parentElm.childNodes);
879
+ if (parentElm["s-sr"]) {
880
+ let node = parentElm;
881
+ while (node = node.nextSibling) {
882
+ if (node && node["s-sn"] === parentElm["s-sn"] && node["s-sh"] === hostTagName) {
883
+ oldSlotChildNodes.push(node);
884
+ }
885
+ }
886
+ }
887
+ for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {
888
+ const childNode = oldSlotChildNodes[i2];
889
+ if (childNode["s-hn"] !== hostTagName && childNode["s-ol"]) {
890
+ insertBefore(referenceNode(childNode).parentNode, childNode, referenceNode(childNode));
891
+ childNode["s-ol"].remove();
892
+ childNode["s-ol"] = void 0;
893
+ childNode["s-sh"] = void 0;
894
+ checkSlotRelocate = true;
895
+ }
896
+ if (recursive) {
897
+ putBackInOriginalLocation(childNode, recursive);
898
+ }
899
+ }
900
+ plt.$flags$ &= -2 /* isTmpDisconnected */;
901
+ };
708
902
  var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
709
- let containerElm = parentElm;
903
+ let containerElm = parentElm["s-cr"] && parentElm["s-cr"].parentNode || parentElm;
710
904
  let childNode;
711
905
  if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
712
906
  containerElm = containerElm.shadowRoot;
@@ -719,7 +913,7 @@ var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
719
913
  childNode = createElm(null, parentVNode, startIdx);
720
914
  if (childNode) {
721
915
  vnodes[startIdx].$elm$ = childNode;
722
- insertBefore(containerElm, childNode, before);
916
+ insertBefore(containerElm, childNode, referenceNode(before) );
723
917
  }
724
918
  }
725
919
  }
@@ -730,6 +924,14 @@ var removeVnodes = (vnodes, startIdx, endIdx) => {
730
924
  if (vnode) {
731
925
  const elm = vnode.$elm$;
732
926
  if (elm) {
927
+ {
928
+ checkSlotFallbackVisibility = true;
929
+ if (elm["s-ol"]) {
930
+ elm["s-ol"].remove();
931
+ } else {
932
+ putBackInOriginalLocation(elm, true);
933
+ }
934
+ }
733
935
  elm.remove();
734
936
  }
735
937
  }
@@ -767,11 +969,17 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
767
969
  oldEndVnode = oldCh[--oldEndIdx];
768
970
  newEndVnode = newCh[--newEndIdx];
769
971
  } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
972
+ if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
973
+ putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
974
+ }
770
975
  patch(oldStartVnode, newEndVnode, isInitialRender);
771
976
  insertBefore(containerElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
772
977
  oldStartVnode = oldCh[++oldStartIdx];
773
978
  newEndVnode = newCh[--newEndIdx];
774
979
  } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
980
+ if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
981
+ putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
982
+ }
775
983
  patch(oldEndVnode, newStartVnode, isInitialRender);
776
984
  insertBefore(containerElm, oldEndVnode.$elm$, oldStartVnode.$elm$);
777
985
  oldEndVnode = oldCh[--oldEndIdx];
@@ -802,7 +1010,11 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
802
1010
  }
803
1011
  if (node) {
804
1012
  {
805
- insertBefore(oldStartVnode.$elm$.parentNode, node, oldStartVnode.$elm$);
1013
+ insertBefore(
1014
+ referenceNode(oldStartVnode.$elm$).parentNode,
1015
+ node,
1016
+ referenceNode(oldStartVnode.$elm$)
1017
+ );
806
1018
  }
807
1019
  }
808
1020
  }
@@ -822,6 +1034,9 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
822
1034
  };
823
1035
  var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
824
1036
  if (leftVNode.$tag$ === rightVNode.$tag$) {
1037
+ if (leftVNode.$tag$ === "slot") {
1038
+ return leftVNode.$name$ === rightVNode.$name$;
1039
+ }
825
1040
  if (!isInitialRender) {
826
1041
  return leftVNode.$key$ === rightVNode.$key$;
827
1042
  }
@@ -832,12 +1047,14 @@ var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
832
1047
  }
833
1048
  return false;
834
1049
  };
1050
+ var referenceNode = (node) => node && node["s-ol"] || node;
835
1051
  var patch = (oldVNode, newVNode2, isInitialRender = false) => {
836
1052
  const elm = newVNode2.$elm$ = oldVNode.$elm$;
837
1053
  const oldChildren = oldVNode.$children$;
838
1054
  const newChildren = newVNode2.$children$;
839
1055
  const tag = newVNode2.$tag$;
840
1056
  const text = newVNode2.$text$;
1057
+ let defaultHolder;
841
1058
  if (text == null) {
842
1059
  {
843
1060
  if (tag === "slot" && !useNativeShadowDom) {
@@ -861,11 +1078,74 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
861
1078
  ) {
862
1079
  removeVnodes(oldChildren, 0, oldChildren.length - 1);
863
1080
  } else ;
1081
+ } else if ((defaultHolder = elm["s-cr"])) {
1082
+ defaultHolder.parentNode.textContent = text;
864
1083
  } else if (oldVNode.$text$ !== text) {
865
1084
  elm.data = text;
866
1085
  }
867
1086
  };
1087
+ var relocateNodes = [];
1088
+ var markSlotContentForRelocation = (elm) => {
1089
+ let node;
1090
+ let hostContentNodes;
1091
+ let j;
1092
+ const children = elm.__childNodes || elm.childNodes;
1093
+ for (const childNode of children) {
1094
+ if (childNode["s-sr"] && (node = childNode["s-cr"]) && node.parentNode) {
1095
+ hostContentNodes = node.parentNode.__childNodes || node.parentNode.childNodes;
1096
+ const slotName = childNode["s-sn"];
1097
+ for (j = hostContentNodes.length - 1; j >= 0; j--) {
1098
+ node = hostContentNodes[j];
1099
+ if (!node["s-cn"] && !node["s-nr"] && node["s-hn"] !== childNode["s-hn"] && // let an exact named-slot match override a stale default-slot claim. Skip this for
1100
+ // `slotName === ''` itself - a matched default node's cached `s-sn` is `''` too, which
1101
+ // would trivially "match" on every re-render and force pointless re-insertion.
1102
+ (!node["s-sh"] || node["s-sh"] !== childNode["s-hn"] || slotName !== "" && getSlotName(node) === slotName)) {
1103
+ if (isNodeLocatedInSlot(node, slotName)) {
1104
+ let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1105
+ checkSlotFallbackVisibility = true;
1106
+ node["s-sn"] = node["s-sn"] || slotName;
1107
+ if (relocateNodeData) {
1108
+ relocateNodeData.$nodeToRelocate$["s-sh"] = childNode["s-hn"];
1109
+ relocateNodeData.$slotRefNode$ = childNode;
1110
+ } else {
1111
+ node["s-sh"] = childNode["s-hn"];
1112
+ relocateNodes.push({
1113
+ $slotRefNode$: childNode,
1114
+ $nodeToRelocate$: node
1115
+ });
1116
+ }
1117
+ if (node["s-sr"]) {
1118
+ relocateNodes.map((relocateNode) => {
1119
+ if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node["s-sn"])) {
1120
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1121
+ if (relocateNodeData && !relocateNode.$slotRefNode$) {
1122
+ relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
1123
+ }
1124
+ }
1125
+ });
1126
+ }
1127
+ } else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
1128
+ relocateNodes.push({
1129
+ $nodeToRelocate$: node
1130
+ });
1131
+ }
1132
+ }
1133
+ }
1134
+ }
1135
+ if (childNode.nodeType === 1 /* ElementNode */) {
1136
+ markSlotContentForRelocation(childNode);
1137
+ }
1138
+ }
1139
+ };
868
1140
  var insertBefore = (parent, newNode, reference, isInitialLoad) => {
1141
+ {
1142
+ if (typeof newNode["s-sn"] === "string") {
1143
+ parent.insertBefore(newNode, reference);
1144
+ const { slotNode } = findSlotFromSlottedNode(newNode);
1145
+ if (slotNode && !isInitialLoad) dispatchSlotChangeEvent(slotNode);
1146
+ return newNode;
1147
+ }
1148
+ }
869
1149
  if (parent.__insertBefore) {
870
1150
  return parent.__insertBefore(newNode, reference);
871
1151
  } else {
@@ -873,6 +1153,7 @@ var insertBefore = (parent, newNode, reference, isInitialLoad) => {
873
1153
  }
874
1154
  };
875
1155
  var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1156
+ var _a, _b, _c, _d, _e;
876
1157
  const hostElm = hostRef.$hostElement$;
877
1158
  const cmpMeta = hostRef.$cmpMeta$;
878
1159
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
@@ -891,7 +1172,106 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
891
1172
  hostRef.$vnode$ = rootVnode;
892
1173
  rootVnode.$elm$ = oldVNode.$elm$ = hostElm.shadowRoot || hostElm ;
893
1174
  useNativeShadowDom = !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && !(cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */);
1175
+ {
1176
+ contentRef = hostElm["s-cr"];
1177
+ checkSlotFallbackVisibility = false;
1178
+ }
894
1179
  patch(oldVNode, rootVnode, isInitialLoad);
1180
+ {
1181
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
1182
+ if (checkSlotRelocate) {
1183
+ markSlotContentForRelocation(rootVnode.$elm$);
1184
+ for (const relocateData of relocateNodes) {
1185
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1186
+ if (!nodeToRelocate["s-ol"] && win.document) {
1187
+ const orgLocationNode = win.document.createTextNode("");
1188
+ orgLocationNode["s-nr"] = nodeToRelocate;
1189
+ insertBefore(
1190
+ nodeToRelocate.parentNode,
1191
+ nodeToRelocate["s-ol"] = orgLocationNode,
1192
+ nodeToRelocate,
1193
+ isInitialLoad
1194
+ );
1195
+ }
1196
+ }
1197
+ for (const relocateData of relocateNodes) {
1198
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1199
+ const slotRefNode = relocateData.$slotRefNode$;
1200
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */ && isInitialLoad) {
1201
+ nodeToRelocate["s-ih"] = (_a = nodeToRelocate.hidden) != null ? _a : false;
1202
+ }
1203
+ if (slotRefNode) {
1204
+ const parentNodeRef = slotRefNode.parentNode;
1205
+ let insertBeforeNode = slotRefNode.nextSibling;
1206
+ if (insertBeforeNode && insertBeforeNode.nodeType === 1 /* ElementNode */) {
1207
+ let orgLocationNode = (_b = nodeToRelocate["s-ol"]) == null ? void 0 : _b.previousSibling;
1208
+ while (orgLocationNode) {
1209
+ let refNode = (_c = orgLocationNode["s-nr"]) != null ? _c : null;
1210
+ if (refNode && refNode["s-sn"] === nodeToRelocate["s-sn"] && parentNodeRef === (refNode.__parentNode || refNode.parentNode)) {
1211
+ refNode = refNode.nextSibling;
1212
+ while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode["s-sr"])) {
1213
+ refNode = refNode == null ? void 0 : refNode.nextSibling;
1214
+ }
1215
+ if (!refNode || !refNode["s-nr"]) {
1216
+ insertBeforeNode = refNode;
1217
+ break;
1218
+ }
1219
+ }
1220
+ orgLocationNode = orgLocationNode.previousSibling;
1221
+ }
1222
+ }
1223
+ const parent = nodeToRelocate.__parentNode || nodeToRelocate.parentNode;
1224
+ const nextSibling = nodeToRelocate.__nextSibling || nodeToRelocate.nextSibling;
1225
+ if (!insertBeforeNode && parentNodeRef !== parent || nextSibling !== insertBeforeNode) {
1226
+ if (nodeToRelocate !== insertBeforeNode) {
1227
+ insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode, isInitialLoad);
1228
+ if (nodeToRelocate.nodeType === 8 /* CommentNode */ && nodeToRelocate.nodeValue.startsWith("s-nt-")) {
1229
+ const textNode = win.document.createTextNode(nodeToRelocate.nodeValue.replace(/^s-nt-/, ""));
1230
+ textNode["s-hn"] = nodeToRelocate["s-hn"];
1231
+ textNode["s-sn"] = nodeToRelocate["s-sn"];
1232
+ textNode["s-sh"] = nodeToRelocate["s-sh"];
1233
+ textNode["s-sr"] = nodeToRelocate["s-sr"];
1234
+ textNode["s-ol"] = nodeToRelocate["s-ol"];
1235
+ textNode["s-ol"]["s-nr"] = textNode;
1236
+ insertBefore(nodeToRelocate.parentNode, textNode, nodeToRelocate, isInitialLoad);
1237
+ nodeToRelocate.parentNode.removeChild(nodeToRelocate);
1238
+ }
1239
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */ && nodeToRelocate.tagName !== "SLOT-FB") {
1240
+ nodeToRelocate.hidden = (_d = nodeToRelocate["s-ih"]) != null ? _d : false;
1241
+ }
1242
+ }
1243
+ }
1244
+ nodeToRelocate && typeof slotRefNode["s-rf"] === "function" && slotRefNode["s-rf"](slotRefNode);
1245
+ } else if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
1246
+ nodeToRelocate.hidden = true;
1247
+ }
1248
+ }
1249
+ }
1250
+ if (checkSlotFallbackVisibility) {
1251
+ updateFallbackSlotVisibility(rootVnode.$elm$);
1252
+ }
1253
+ plt.$flags$ &= -2 /* isTmpDisconnected */;
1254
+ relocateNodes.length = 0;
1255
+ }
1256
+ if (!useNativeShadowDom && !(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && hostElm["s-cr"]) {
1257
+ const children = rootVnode.$elm$.__childNodes || rootVnode.$elm$.childNodes;
1258
+ for (const childNode of children) {
1259
+ if (childNode["s-hn"] !== hostTagName && !childNode["s-sh"]) {
1260
+ if (isInitialLoad && childNode["s-ih"] == null) {
1261
+ childNode["s-ih"] = (_e = childNode.hidden) != null ? _e : false;
1262
+ }
1263
+ if (childNode.nodeType === 1 /* ElementNode */) {
1264
+ childNode.hidden = true;
1265
+ } else if (childNode.nodeType === 3 /* TextNode */ && !!childNode.nodeValue.trim()) {
1266
+ const textCommentNode = win.document.createComment("s-nt-" + childNode.nodeValue);
1267
+ textCommentNode["s-sn"] = childNode["s-sn"];
1268
+ insertBefore(childNode.parentNode, textCommentNode, childNode, isInitialLoad);
1269
+ childNode.parentNode.removeChild(childNode);
1270
+ }
1271
+ }
1272
+ }
1273
+ }
1274
+ contentRef = void 0;
895
1275
  };
896
1276
 
897
1277
  // src/runtime/update-component.ts
@@ -937,6 +1317,10 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
937
1317
  let maybePromise;
938
1318
  if (isInitialLoad) {
939
1319
  {
1320
+ if (hostRef.$deferredConnectedCallback$) {
1321
+ hostRef.$deferredConnectedCallback$ = false;
1322
+ safeCall(instance, "connectedCallback", void 0, elm);
1323
+ }
940
1324
  if (hostRef.$fetchedCbList$.length) {
941
1325
  hostRef.$fetchedCbList$.forEach((cb) => cb(elm));
942
1326
  }
@@ -1315,8 +1699,11 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1315
1699
  hostRef.$flags$ |= 128 /* isWatchReady */;
1316
1700
  }
1317
1701
  endNewInstance();
1318
- {
1702
+ const needsDeferredCallback = cmpMeta.$flags$ & 4 /* hasSlotRelocation */;
1703
+ if (!needsDeferredCallback) {
1319
1704
  fireConnectedCallback(hostRef.$lazyInstance$, elm);
1705
+ } else {
1706
+ hostRef.$deferredConnectedCallback$ = true;
1320
1707
  }
1321
1708
  } else {
1322
1709
  Cstr = elm.constructor;
@@ -1371,6 +1758,12 @@ var connectedCallback = (elm) => {
1371
1758
  const endConnected = createTime("connectedCallback", cmpMeta.$tagName$);
1372
1759
  if (!(hostRef.$flags$ & 1 /* hasConnected */)) {
1373
1760
  hostRef.$flags$ |= 1 /* hasConnected */;
1761
+ {
1762
+ if (// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
1763
+ cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */)) {
1764
+ setContentReference(elm);
1765
+ }
1766
+ }
1374
1767
  {
1375
1768
  let ancestorComponent = elm;
1376
1769
  while (ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host) {
@@ -1404,6 +1797,16 @@ var connectedCallback = (elm) => {
1404
1797
  endConnected();
1405
1798
  }
1406
1799
  };
1800
+ var setContentReference = (elm) => {
1801
+ if (!win.document) {
1802
+ return;
1803
+ }
1804
+ const contentRefElm = elm["s-cr"] = win.document.createComment(
1805
+ ""
1806
+ );
1807
+ contentRefElm["s-cn"] = true;
1808
+ insertBefore(elm, contentRefElm, elm.firstChild);
1809
+ };
1407
1810
  var disconnectInstance = (instance, elm) => {
1408
1811
  {
1409
1812
  safeCall(instance, "disconnectedCallback", void 0, elm || instance);
@@ -1445,6 +1848,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1445
1848
  let isBootstrapping = true;
1446
1849
  Object.assign(plt, options);
1447
1850
  plt.$resourcesUrl$ = new URL(options.resourcesUrl || "./", win.document.baseURI).href;
1851
+ let hasSlotRelocation = false;
1448
1852
  lazyBundles.map((lazyBundle) => {
1449
1853
  lazyBundle[1].map((compactMeta) => {
1450
1854
  var _a2, _b;
@@ -1454,6 +1858,9 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1454
1858
  $members$: compactMeta[2],
1455
1859
  $listeners$: compactMeta[3]
1456
1860
  };
1861
+ if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
1862
+ hasSlotRelocation = true;
1863
+ }
1457
1864
  {
1458
1865
  cmpMeta.$members$ = compactMeta[2];
1459
1866
  }
@@ -1537,6 +1944,9 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1537
1944
  });
1538
1945
  });
1539
1946
  if (cmpTags.length > 0) {
1947
+ if (hasSlotRelocation) {
1948
+ dataStyles.textContent += SLOT_FB_CSS;
1949
+ }
1540
1950
  {
1541
1951
  dataStyles.textContent += cmpTags.sort() + HYDRATED_CSS;
1542
1952
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  var appModal_mealPlanDay_recipeCard_recipeFilterBar_recipeForm_recipeRating_recipeSearchBar_entry = require('./app-modal.meal-plan-day.recipe-card.recipe-filter-bar.recipe-form.recipe-rating.recipe-search-bar.entry.cjs.js');
4
4
  var appToast_entry = require('./app-toast.entry.cjs.js');
5
- require('./index-CRcwY0Fb.js');
5
+ require('./index-0Jp0srDV.js');
6
6
 
7
7
 
8
8
 
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-CRcwY0Fb.js');
3
+ var index = require('./index-0Jp0srDV.js');
4
4
  var appGlobals = require('./app-globals-V2Kpy_OQ.js');
5
5
 
6
6
  const defineCustomElements = async (win, options) => {
7
7
  if (typeof window === 'undefined') return undefined;
8
8
  await appGlobals.globalScripts();
9
- return index.bootstrapLazy([["app-modal_7.cjs",[[257,"app-modal",{"open":[4],"modalTitle":[1,"modal-title"]}],[1,"meal-plan-day",{"day":[1],"meals":[16]}],[257,"recipe-card",{"recipeTitle":[1,"recipe-title"],"image":[1],"category":[1],"favorite":[4]}],[1,"recipe-filter-bar",{"categories":[16],"active":[1]}],[257,"recipe-form",{"initialData":[1,"initial-data"],"title":[32],"image":[32],"category":[32],"ingredients":[32],"instructions":[32],"errors":[32]},null,{"initialData":[{"onInitialDataChange":0}]}],[1,"recipe-rating",{"value":[2],"readonly":[4],"max":[2]}],[1,"recipe-search-bar",{"placeholder":[1],"value":[1],"debounceMs":[2,"debounce-ms"],"internalValue":[32]},null,{"value":[{"onValuePropChange":0}]}]]],["app-toast.cjs",[[1,"app-toast",{"message":[1],"type":[1],"duration":[2]}]]]], options);
9
+ return index.bootstrapLazy([["app-modal_7.cjs",[[260,"app-modal",{"open":[4],"modalTitle":[1,"modal-title"]}],[1,"meal-plan-day",{"day":[1],"meals":[16]}],[257,"recipe-card",{"recipeTitle":[1,"recipe-title"],"image":[1],"category":[1],"favorite":[4]}],[1,"recipe-filter-bar",{"categories":[16],"active":[1]}],[257,"recipe-form",{"initialData":[1,"initial-data"],"title":[32],"image":[32],"category":[32],"ingredients":[32],"instructions":[32],"errors":[32]},null,{"initialData":[{"onInitialDataChange":0}]}],[1,"recipe-rating",{"value":[2],"readonly":[4],"max":[2]}],[1,"recipe-search-bar",{"placeholder":[1],"value":[1],"debounceMs":[2,"debounce-ms"],"internalValue":[32]},null,{"value":[{"onValuePropChange":0}]}]]],["app-toast.cjs",[[1,"app-toast",{"message":[1],"type":[1],"duration":[2]}]]]], options);
10
10
  };
11
11
 
12
12
  exports.setNonce = index.setNonce;