@bagelink/blox 1.6.43 → 1.6.49

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.
package/dist/index.cjs CHANGED
@@ -62,12 +62,12 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
62
62
  },
63
63
  setup(__props) {
64
64
  vue.useCssVars((_ctx) => ({
65
- "7007cebd": _ctx.columns
65
+ "f164f006": _ctx.columns
66
66
  }));
67
67
  const props = __props;
68
68
  const containerStyle = {
69
- maxWidth: "number" === typeof props.maxWidth ? `${props.maxWidth}px` : props.maxWidth,
70
- padding: "number" === typeof props.padding ? `${props.padding}px` : props.padding,
69
+ maxWidth: typeof props.maxWidth === "number" ? `${props.maxWidth}px` : props.maxWidth,
70
+ padding: typeof props.padding === "number" ? `${props.padding}px` : props.padding,
71
71
  gap: `${props.gap}px`
72
72
  };
73
73
  return (_ctx, _cache) => {
@@ -80,7 +80,7 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
80
80
  };
81
81
  }
82
82
  });
83
- const Container = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-5dec5c4c"]]);
83
+ const Container = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-05d5aba4"]]);
84
84
  const _hoisted_1$t = { class: "image-wrapper" };
85
85
  const _hoisted_2$r = ["href", "target", "rel"];
86
86
  const _hoisted_3$o = ["src", "alt"];
@@ -145,8 +145,8 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
145
145
  setup(__props) {
146
146
  const props = __props;
147
147
  function computedHeight() {
148
- const h = props.isMobile && props.heightMobile ? props.heightMobile : props.height;
149
- return "number" === typeof h ? `${h}px` : h;
148
+ const h = props.isMobile === true && props.heightMobile !== void 0 ? props.heightMobile : props.height;
149
+ return typeof h === "number" ? `${h}px` : h;
150
150
  }
151
151
  return (_ctx, _cache) => {
152
152
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -156,7 +156,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
156
156
  };
157
157
  }
158
158
  });
159
- const Spacer = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-ecdcd78a"]]);
159
+ const Spacer = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-11859d36"]]);
160
160
  const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
161
161
  __name: "Text",
162
162
  props: {
@@ -173,7 +173,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
173
173
  };
174
174
  }
175
175
  });
176
- const Text = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-dc9789dc"]]);
176
+ const Text = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-19fd75d2"]]);
177
177
  const _hoisted_1$s = {
178
178
  key: 1,
179
179
  class: "subtitle"
@@ -205,7 +205,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
205
205
  };
206
206
  }
207
207
  });
208
- const Title$1 = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-ed3182a3"]]);
208
+ const Title$1 = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-aa7f2c92"]]);
209
209
  const _hoisted_1$r = ["id"];
210
210
  const _hoisted_2$q = {
211
211
  key: 1,
@@ -246,7 +246,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
246
246
  };
247
247
  }
248
248
  });
249
- const BigImage = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-f477cb25"]]);
249
+ const BigImage = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-44f7dcf0"]]);
250
250
  const _hoisted_1$q = ["id"];
251
251
  const _hoisted_2$p = {
252
252
  key: 1,
@@ -313,7 +313,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
313
313
  };
314
314
  }
315
315
  });
316
- const BigQuote = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-1e91c605"]]);
316
+ const BigQuote = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-13d1e7cc"]]);
317
317
  const _hoisted_1$p = ["id"];
318
318
  const _hoisted_2$o = { class: "flex w-1200px align-items-center space-between gap-075 m_column m_p-1 m_txt-center" };
319
319
  const _hoisted_3$m = { class: "me-auto m_m-0" };
@@ -339,7 +339,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
339
339
  },
340
340
  setup(__props) {
341
341
  const defaultItems = vue.computed(() => {
342
- if (0 < __props.items.length) {
342
+ if (__props.items.length > 0) {
343
343
  return __props.items;
344
344
  }
345
345
  return [
@@ -349,7 +349,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
349
349
  ];
350
350
  });
351
351
  const defaultsocalMedia = vue.computed(() => {
352
- if (0 < __props.socalMedia.length) {
352
+ if (__props.socalMedia.length > 0) {
353
353
  return __props.socalMedia;
354
354
  }
355
355
  return [
@@ -437,7 +437,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
437
437
  },
438
438
  setup(__props) {
439
439
  const defaultItems = vue.computed(() => {
440
- if (0 < __props.items.length) {
440
+ if (__props.items.length > 0) {
441
441
  return __props.items;
442
442
  }
443
443
  return [
@@ -531,7 +531,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
531
531
  };
532
532
  }
533
533
  });
534
- const BlockNav = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-47db1456"]]);
534
+ const BlockNav = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-351acf8f"]]);
535
535
  const _hoisted_1$n = ["id"];
536
536
  const _hoisted_2$m = { key: 0 };
537
537
  const _hoisted_3$k = { class: "p-1-5" };
@@ -579,7 +579,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
579
579
  }
580
580
  ];
581
581
  const itemsList = vue.computed(() => {
582
- return __props.items && 0 < __props.items.length ? __props.items : defaultItems;
582
+ return __props.items && __props.items.length > 0 ? __props.items : defaultItems;
583
583
  });
584
584
  return (_ctx, _cache) => {
585
585
  const _directive_lightbox = vue.resolveDirective("lightbox");
@@ -655,7 +655,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
655
655
  };
656
656
  }
657
657
  });
658
- const Cards = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-1366e471"]]);
658
+ const Cards = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-ede9e3db"]]);
659
659
  const _hoisted_1$m = ["id"];
660
660
  const _hoisted_2$l = {
661
661
  key: 0,
@@ -702,7 +702,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
702
702
  id: {}
703
703
  },
704
704
  setup(__props) {
705
- let formStatus = vue.ref("");
705
+ const formStatus = vue.ref("");
706
706
  const form = vue.reactive({});
707
707
  function initForm() {
708
708
  Object.assign(form, {
@@ -718,6 +718,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
718
718
  await new Promise((resolve) => setTimeout(resolve, 1e3));
719
719
  formStatus.value = "success";
720
720
  } catch (error) {
721
+ console.error("Form submission failed:", error);
721
722
  formStatus.value = "fail";
722
723
  }
723
724
  }
@@ -765,7 +766,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
765
766
  ])) : vue.createCommentVNode("", true)
766
767
  ])) : vue.createCommentVNode("", true),
767
768
  vue.createElementVNode("div", _hoisted_7$4, [
768
- vue.unref(formStatus) !== "success" && _ctx.formStatusView !== "Success" ? (vue.openBlock(), vue.createElementBlock("form", {
769
+ formStatus.value !== "success" && _ctx.formStatusView !== "Success" ? (vue.openBlock(), vue.createElementBlock("form", {
769
770
  key: 0,
770
771
  class: "w-100p",
771
772
  onSubmit: vue.withModifiers(sendForm, ["prevent"])
@@ -806,13 +807,13 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
806
807
  })
807
808
  ])
808
809
  ], 32)) : vue.createCommentVNode("", true),
809
- vue.unref(formStatus) === "success" || _ctx.formStatusView === "Success" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$2, [
810
+ formStatus.value === "success" || _ctx.formStatusView === "Success" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$2, [
810
811
  vue.createElementVNode("div", {
811
812
  class: "txt-center txt-24",
812
813
  innerHTML: _ctx.successMessage
813
814
  }, null, 8, _hoisted_11$1)
814
815
  ])) : vue.createCommentVNode("", true),
815
- vue.unref(formStatus) === "fail" || _ctx.formStatusView === "Fail" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$1, [
816
+ formStatus.value === "fail" || _ctx.formStatusView === "Fail" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$1, [
816
817
  vue.createElementVNode("p", _hoisted_13$1, vue.toDisplayString(_ctx.failMessage), 1)
817
818
  ])) : vue.createCommentVNode("", true)
818
819
  ])
@@ -821,7 +822,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
821
822
  };
822
823
  }
823
824
  });
824
- const Contact = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-e69f38e8"]]);
825
+ const Contact = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-6600c2c0"]]);
825
826
  const _hoisted_1$l = ["id"];
826
827
  const _hoisted_2$k = ["innerHTML"];
827
828
  const _hoisted_3$i = {
@@ -888,7 +889,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
888
889
  };
889
890
  }
890
891
  });
891
- const Cta = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-d3582027"]]);
892
+ const Cta = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-639daae0"]]);
892
893
  const _hoisted_1$k = ["id"];
893
894
  const _hoisted_2$j = { class: "txt-20 balance m-0 relative z-2" };
894
895
  const _hoisted_3$h = { class: "txt20 line-height-13 py-1 flex-grow-2 txt-start ps-1" };
@@ -933,7 +934,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
933
934
  }
934
935
  ];
935
936
  const itemsList = vue.computed(() => {
936
- return __props.items && 0 < __props.items.length ? __props.items : defaultItems;
937
+ return __props.items && __props.items.length > 0 ? __props.items : defaultItems;
937
938
  });
938
939
  return (_ctx, _cache) => {
939
940
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -994,7 +995,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
994
995
  };
995
996
  }
996
997
  });
997
- const Faq = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-02520023"]]);
998
+ const Faq = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-4be9591d"]]);
998
999
  const _hoisted_1$j = ["id"];
999
1000
  const _hoisted_2$i = { class: "relative z-2 w-100p mt-auto line-height-14 color-white" };
1000
1001
  const _hoisted_3$g = { class: "m-0 txt30 regular balance max-w400px pb-025" };
@@ -1064,7 +1065,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
1064
1065
  }
1065
1066
  ];
1066
1067
  const itemsList = vue.computed(() => {
1067
- return __props.items && 0 < __props.items.length ? __props.items : defaultItems;
1068
+ return __props.items && __props.items.length > 0 ? __props.items : defaultItems;
1068
1069
  });
1069
1070
  return (_ctx, _cache) => {
1070
1071
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -1154,7 +1155,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
1154
1155
  }
1155
1156
  ];
1156
1157
  const itemsList = vue.computed(() => {
1157
- return __props.items && 0 < __props.items.length ? __props.items : defaultItems;
1158
+ return __props.items && __props.items.length > 0 ? __props.items : defaultItems;
1158
1159
  });
1159
1160
  return (_ctx, _cache) => {
1160
1161
  return vue.openBlock(), vue.createElementBlock("div", { id: _ctx.id }, [
@@ -1191,7 +1192,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
1191
1192
  };
1192
1193
  }
1193
1194
  });
1194
- const Icons = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-d50f8e1c"]]);
1195
+ const Icons = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-452babdb"]]);
1195
1196
  const _hoisted_1$h = ["id"];
1196
1197
  const _hoisted_2$g = { class: "txt-20 balance m-0" };
1197
1198
  const _hoisted_3$e = { class: "txt24 line-height-13 pb-025" };
@@ -1231,7 +1232,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
1231
1232
  }
1232
1233
  ];
1233
1234
  const itemsList = vue.computed(() => {
1234
- return __props.items && 0 < __props.items.length ? __props.items : defaultItems;
1235
+ return __props.items && __props.items.length > 0 ? __props.items : defaultItems;
1235
1236
  });
1236
1237
  return (_ctx, _cache) => {
1237
1238
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -1288,7 +1289,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
1288
1289
  };
1289
1290
  }
1290
1291
  });
1291
- const IconsList = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-4db7504d"]]);
1292
+ const IconsList = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-07ff7bf0"]]);
1292
1293
  const _hoisted_1$g = { class: "txt30 line-height-12" };
1293
1294
  const _hoisted_2$f = { class: "txt24 pt-1 line-height-15" };
1294
1295
  const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
@@ -1309,7 +1310,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
1309
1310
  { image: "https://bagel.sfo2.cdn.digitaloceanspaces.com/bagelBlocks/image.svg", title: "", subtitle: "" }
1310
1311
  ];
1311
1312
  const itemsList = vue.computed(() => {
1312
- return __props.items && 0 < __props.items.length ? __props.items : defaultItems;
1313
+ return __props.items && __props.items.length > 0 ? __props.items : defaultItems;
1313
1314
  });
1314
1315
  return (_ctx, _cache) => {
1315
1316
  const _directive_lightbox = vue.resolveDirective("lightbox");
@@ -1419,7 +1420,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
1419
1420
  }
1420
1421
  ];
1421
1422
  const itemsList = vue.computed(() => {
1422
- return __props.items && 0 < __props.items.length ? __props.items : defaultItems;
1423
+ return __props.items && __props.items.length > 0 ? __props.items : defaultItems;
1423
1424
  });
1424
1425
  return (_ctx, _cache) => {
1425
1426
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -1526,7 +1527,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
1526
1527
  { image: "https://bagel.sfo2.cdn.digitaloceanspaces.com/bagelBlocks/image.svg", alt: "", link: "" }
1527
1528
  ];
1528
1529
  const itemsList = vue.computed(() => {
1529
- return __props.items && 0 < __props.items.length ? __props.items : defaultItems;
1530
+ return __props.items && __props.items.length > 0 ? __props.items : defaultItems;
1530
1531
  });
1531
1532
  return (_ctx, _cache) => {
1532
1533
  return vue.openBlock(), vue.createElementBlock("div", { id: _ctx.id }, [
@@ -1627,7 +1628,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
1627
1628
  const now = (/* @__PURE__ */ new Date()).getTime();
1628
1629
  const targetTime = __props.targetDateTime.getTime();
1629
1630
  timeLeft.value = Math.floor((targetTime - now) / 1e3);
1630
- if (0 >= timeLeft.value) {
1631
+ if (timeLeft.value <= 0) {
1631
1632
  clearInterval(interval);
1632
1633
  }
1633
1634
  }, 1e3);
@@ -1735,9 +1736,9 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
1735
1736
  const timeToAddInHours = (__props.countdown ?? 0) * 60 * 60 * 1e3;
1736
1737
  return new Date((/* @__PURE__ */ new Date()).getTime() + timeToAddInHours);
1737
1738
  });
1738
- let openPopup = vue.ref(false);
1739
+ const openPopup = vue.ref(false);
1739
1740
  vue.onMounted(() => {
1740
- if (__props.autoOpenDelay && 0 < __props.autoOpenDelay) {
1741
+ if (__props.autoOpenDelay && __props.autoOpenDelay > 0) {
1741
1742
  setTimeout(() => openPopup.value = true, __props.autoOpenDelay);
1742
1743
  } else {
1743
1744
  openPopup.value = true;
@@ -1746,7 +1747,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
1746
1747
  return (_ctx, _cache) => {
1747
1748
  return vue.openBlock(), vue.createBlock(vue.Transition, { name: "fadePopup" }, {
1748
1749
  default: vue.withCtx(() => [
1749
- vue.unref(openPopup) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
1750
+ openPopup.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
1750
1751
  _ctx.position === "top" ? (vue.openBlock(), vue.createElementBlock("div", {
1751
1752
  key: 0,
1752
1753
  id: _ctx.id,
@@ -1781,7 +1782,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
1781
1782
  class: "absolute end-025 m_top-025",
1782
1783
  icon: "close",
1783
1784
  style: vue.normalizeStyle([_ctx.bgColor ? { backgroundColor: _ctx.bgColor } : {}, _ctx.textColor ? { color: _ctx.textColor } : {}]),
1784
- onClick: _cache[0] || (_cache[0] = ($event) => vue.isRef(openPopup) ? openPopup.value = false : openPopup = false)
1785
+ onClick: _cache[0] || (_cache[0] = ($event) => openPopup.value = false)
1785
1786
  }, null, 8, ["style"])
1786
1787
  ], 12, _hoisted_2$c)) : vue.createCommentVNode("", true),
1787
1788
  _ctx.position === "center" ? (vue.openBlock(), vue.createElementBlock("div", {
@@ -1829,7 +1830,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
1829
1830
  class: "absolute end-025 top-025",
1830
1831
  icon: "close",
1831
1832
  style: vue.normalizeStyle([_ctx.bgColor ? { backgroundColor: _ctx.bgColor } : {}, _ctx.textColor ? { color: _ctx.textColor } : {}]),
1832
- onClick: _cache[1] || (_cache[1] = ($event) => vue.isRef(openPopup) ? openPopup.value = false : openPopup = false)
1833
+ onClick: _cache[1] || (_cache[1] = ($event) => openPopup.value = false)
1833
1834
  }, null, 8, ["style"])
1834
1835
  ], 4)
1835
1836
  ], 8, _hoisted_5$4)) : vue.createCommentVNode("", true),
@@ -1875,7 +1876,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
1875
1876
  class: "absolute start-025 top-025",
1876
1877
  icon: "close",
1877
1878
  style: vue.normalizeStyle([_ctx.bgColor ? { backgroundColor: _ctx.bgColor } : {}, _ctx.textColor ? { color: _ctx.textColor } : {}]),
1878
- onClick: _cache[2] || (_cache[2] = ($event) => vue.isRef(openPopup) ? openPopup.value = false : openPopup = false)
1879
+ onClick: _cache[2] || (_cache[2] = ($event) => openPopup.value = false)
1879
1880
  }, null, 8, ["style"])
1880
1881
  ], 12, _hoisted_8$1)) : vue.createCommentVNode("", true)
1881
1882
  ])) : vue.createCommentVNode("", true)
@@ -1961,7 +1962,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
1961
1962
  }
1962
1963
  ];
1963
1964
  const itemsList = vue.computed(() => {
1964
- return __props.items && 0 < __props.items.length ? __props.items : defaultItems;
1965
+ return __props.items && __props.items.length > 0 ? __props.items : defaultItems;
1965
1966
  });
1966
1967
  return (_ctx, _cache) => {
1967
1968
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
@@ -2052,10 +2053,10 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
2052
2053
  const desktopAbs = Math.abs(desktopValue);
2053
2054
  const mobileAbs = Math.abs(mobileValue);
2054
2055
  return {
2055
- "--desktop-height": 0 <= desktopValue ? `${desktopAbs}rem` : "auto",
2056
- "--mobile-height": 0 <= mobileValue ? `${mobileAbs}rem` : "auto",
2057
- "--desktop-margin": 0 > desktopValue ? `-${desktopAbs}rem` : "0",
2058
- "--mobile-margin": 0 > mobileValue ? `-${mobileAbs}rem` : "0"
2056
+ "--desktop-height": desktopValue >= 0 ? `${desktopAbs}rem` : "auto",
2057
+ "--mobile-height": mobileValue >= 0 ? `${mobileAbs}rem` : "auto",
2058
+ "--desktop-margin": desktopValue < 0 ? `-${desktopAbs}rem` : "0",
2059
+ "--mobile-margin": mobileValue < 0 ? `-${mobileAbs}rem` : "0"
2059
2060
  };
2060
2061
  });
2061
2062
  return (_ctx, _cache) => {
@@ -2066,7 +2067,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
2066
2067
  };
2067
2068
  }
2068
2069
  });
2069
- const Space = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-5314b970"]]);
2070
+ const Space = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-8702adbf"]]);
2070
2071
  const _hoisted_1$a = ["id"];
2071
2072
  const _hoisted_2$a = { class: "" };
2072
2073
  const _hoisted_3$9 = ["innerHTML"];
@@ -2087,7 +2088,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
2087
2088
  { title: "Smart & Simple", body: "It just makes sense. No overthinking, just great results." }
2088
2089
  ];
2089
2090
  const itemsList = vue.computed(() => {
2090
- return __props.items && 0 < __props.items.length ? __props.items : defaultItems;
2091
+ return __props.items.length > 0 ? __props.items : defaultItems;
2091
2092
  });
2092
2093
  const activeTab = vue.computed(() => __props.items.findIndex((item) => item.active).toString() || "0");
2093
2094
  return (_ctx, _cache) => {
@@ -2097,8 +2098,8 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
2097
2098
  }, [
2098
2099
  vue.createElementVNode("div", _hoisted_2$a, [
2099
2100
  vue.createVNode(vue.unref(vue$1.TabsNav), {
2100
- modelValue: vue.unref(activeTab),
2101
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(activeTab) ? activeTab.value = $event : null),
2101
+ modelValue: activeTab.value,
2102
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => activeTab.value = $event),
2102
2103
  class: "flex-shrink-0",
2103
2104
  group: "tabs",
2104
2105
  tabs: itemsList.value.map((item, index) => ({ id: `${index}`, label: item.title })),
@@ -2149,7 +2150,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
2149
2150
  },
2150
2151
  setup(__props) {
2151
2152
  const listItem = vue.computed(() => {
2152
- if (__props.items && 0 < __props.items.length) {
2153
+ if (__props.items && __props.items.length > 0) {
2153
2154
  return __props.items;
2154
2155
  }
2155
2156
  return [
@@ -2239,7 +2240,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
2239
2240
  };
2240
2241
  }
2241
2242
  });
2242
- const Team = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-6c3ee054"]]);
2243
+ const Team = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-88b050bd"]]);
2243
2244
  const _hoisted_1$8 = { class: "txt30 line-height-12 py-05" };
2244
2245
  const _hoisted_2$8 = { class: "txt24 bold pt-1 line-height-1" };
2245
2246
  const _hoisted_3$7 = { class: "pt-025" };
@@ -2257,7 +2258,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
2257
2258
  },
2258
2259
  setup(__props) {
2259
2260
  const listItem = vue.computed(() => {
2260
- if (__props.items && 0 < __props.items.length) {
2261
+ if (__props.items && __props.items.length > 0) {
2261
2262
  return __props.items;
2262
2263
  }
2263
2264
  return [
@@ -2354,7 +2355,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
2354
2355
  };
2355
2356
  }
2356
2357
  });
2357
- const Testimonials = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-5e13045f"]]);
2358
+ const Testimonials = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-f5cdbfee"]]);
2358
2359
  const _hoisted_1$7 = ["id"];
2359
2360
  const _hoisted_2$7 = ["innerHTML"];
2360
2361
  const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
@@ -2470,7 +2471,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
2470
2471
  };
2471
2472
  }
2472
2473
  });
2473
- const TextImage = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-5805ce4c"]]);
2474
+ const TextImage = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-1a468adf"]]);
2474
2475
  const _hoisted_1$5 = ["id"];
2475
2476
  const _hoisted_2$5 = { class: "emptyState rounded emptyStateRT" };
2476
2477
  const _hoisted_3$5 = ["innerHTML"];
@@ -2555,7 +2556,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
2555
2556
  };
2556
2557
  }
2557
2558
  });
2558
- const TextSide = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-b41cbbd0"]]);
2559
+ const TextSide = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-24c70320"]]);
2559
2560
  const _hoisted_1$4 = ["id"];
2560
2561
  const _hoisted_2$4 = { class: "txt-16 opacity-6" };
2561
2562
  const _hoisted_3$4 = ["innerHTML"];
@@ -2609,7 +2610,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
2609
2610
  };
2610
2611
  }
2611
2612
  });
2612
- const Title = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-daf38b34"]]);
2613
+ const Title = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-bee838c4"]]);
2613
2614
  const _hoisted_1$3 = ["id"];
2614
2615
  const _hoisted_2$3 = { class: "emptyState" };
2615
2616
  const _hoisted_3$3 = { class: "txt-16 opacity-6" };
@@ -2695,7 +2696,7 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
2695
2696
  };
2696
2697
  }
2697
2698
  });
2698
- const TitleSide = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-fb975aa5"]]);
2699
+ const TitleSide = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-b842227e"]]);
2699
2700
  const _hoisted_1$2 = ["id"];
2700
2701
  const _hoisted_2$2 = {
2701
2702
  key: 0,
@@ -5422,7 +5423,7 @@ class CommunicationBridge {
5422
5423
  * Handle incoming messages
5423
5424
  */
5424
5425
  handleMessage(event) {
5425
- if ("*" !== this.origin && event.origin !== this.origin) {
5426
+ if (this.origin !== "*" && event.origin !== this.origin) {
5426
5427
  console.warn(`⚠️ Rejected message from unauthorized origin: ${event.origin}`);
5427
5428
  return;
5428
5429
  }
@@ -5477,7 +5478,7 @@ class CommunicationBridge {
5477
5478
  */
5478
5479
  send(type, message, data) {
5479
5480
  const payload = { type, message, data };
5480
- this.targetWindow.postMessage(payload, "*" === this.origin ? "*" : this.origin);
5481
+ this.targetWindow.postMessage(payload, this.origin === "*" ? "*" : this.origin);
5481
5482
  }
5482
5483
  /**
5483
5484
  * Cleanup
@@ -5544,14 +5545,14 @@ function createNamespacedRegistry(namespace) {
5544
5545
  function generateBlockStyles(data, isMobile = false) {
5545
5546
  const styles = {};
5546
5547
  function toNumber(v) {
5547
- if (v === void 0 || null === v || "" === v) {
5548
+ if (v === void 0 || v === null || v === "") {
5548
5549
  return null;
5549
5550
  }
5550
5551
  const n = Number(v);
5551
5552
  return Number.isNaN(n) ? null : n;
5552
5553
  }
5553
5554
  function getValue(desktopKey, mobileKey) {
5554
- if (isMobile && data[mobileKey] !== void 0 && null !== data[mobileKey]) {
5555
+ if (isMobile && data[mobileKey] !== void 0 && data[mobileKey] !== null) {
5555
5556
  return data[mobileKey];
5556
5557
  }
5557
5558
  return data[desktopKey];
@@ -5559,21 +5560,21 @@ function generateBlockStyles(data, isMobile = false) {
5559
5560
  const mTop = toNumber(getValue("marginTop", "marginTopMobile"));
5560
5561
  const mBottom = toNumber(getValue("marginBottom", "marginBottomMobile"));
5561
5562
  const pad = toNumber(getValue("padding", "paddingMobile"));
5562
- if (null !== mTop) {
5563
+ if (mTop !== null) {
5563
5564
  styles["margin-top"] = `${mTop}rem`;
5564
5565
  styles["--margin-top"] = `${mTop}rem`;
5565
5566
  } else {
5566
5567
  styles["--margin-top"] = "0rem";
5567
5568
  }
5568
- if (null !== mBottom) {
5569
+ if (mBottom !== null) {
5569
5570
  styles["margin-bottom"] = `${mBottom}rem`;
5570
5571
  styles["--margin-bottom"] = `${mBottom}rem`;
5571
5572
  } else {
5572
5573
  styles["--margin-bottom"] = "0rem";
5573
5574
  }
5574
- const hasMargin = null !== mTop && 0 < mTop || null !== mBottom && 0 < mBottom;
5575
+ const hasMargin = mTop !== null && mTop > 0 || mBottom !== null && mBottom > 0;
5575
5576
  styles["--has-margin"] = hasMargin ? "1" : "0";
5576
- if (null !== pad) {
5577
+ if (pad !== null) {
5577
5578
  styles.padding = `${pad}rem`;
5578
5579
  styles["--block-padding"] = `${pad}rem`;
5579
5580
  }
@@ -5582,16 +5583,16 @@ function generateBlockStyles(data, isMobile = false) {
5582
5583
  const wPercentDesktop = toNumber(data.widthPercent) || 96;
5583
5584
  const wPercentMobile = toNumber(data.widthPercentMobile) || wPercentDesktop;
5584
5585
  const fullWidthDesktop = data.fullWidth;
5585
- styles["--max-width-desktop"] = null !== wDesktop ? `${wDesktop}px` : "800px";
5586
- styles["--max-width-mobile"] = null !== wMobile ? `${wMobile}px` : null !== wDesktop ? `${wDesktop}px` : "800px";
5586
+ styles["--max-width-desktop"] = wDesktop !== null ? `${wDesktop}px` : "800px";
5587
+ styles["--max-width-mobile"] = wMobile !== null ? `${wMobile}px` : wDesktop !== null ? `${wDesktop}px` : "800px";
5587
5588
  styles["--width-percent-desktop"] = `${wPercentDesktop}%`;
5588
5589
  styles["--width-percent-mobile"] = `${wPercentMobile}%`;
5589
- if (!(true === fullWidthDesktop || "true" === fullWidthDesktop) && null !== wDesktop) {
5590
+ if (!(fullWidthDesktop === true || fullWidthDesktop === "true") && wDesktop !== null) {
5590
5591
  styles["margin-left"] = "auto";
5591
5592
  styles["margin-right"] = "auto";
5592
5593
  }
5593
5594
  const borderW = toNumber(getValue("borderWidth", "borderWidthMobile"));
5594
- if (null !== borderW && 0 < borderW) {
5595
+ if (borderW !== null && borderW > 0) {
5595
5596
  styles["border-width"] = `${borderW}px`;
5596
5597
  styles["border-style"] = getValue("borderStyle", "borderStyleMobile") || "solid";
5597
5598
  const borderColor = getValue("borderColor", "borderColorMobile");
@@ -5600,11 +5601,11 @@ function generateBlockStyles(data, isMobile = false) {
5600
5601
  }
5601
5602
  }
5602
5603
  const isCenter = getValue("center", "centerMobile");
5603
- if (true === isCenter || "true" === isCenter) {
5604
+ if (isCenter === true || isCenter === "true") {
5604
5605
  styles["text-align"] = "center";
5605
5606
  }
5606
5607
  const borderR = toNumber(getValue("borderRadius", "borderRadiusMobile"));
5607
- if (null !== borderR) {
5608
+ if (borderR !== null) {
5608
5609
  styles["border-radius"] = `${borderR}px`;
5609
5610
  }
5610
5611
  const bgColorDesktop = data.backgroundColor;
@@ -5632,29 +5633,29 @@ function generateBlockStyles(data, isMobile = false) {
5632
5633
  custom: "0 4px 6px -1px rgba(0, 0, 0, 0.15)"
5633
5634
  };
5634
5635
  const shadowType = getValue("shadowType", "shadowTypeMobile");
5635
- if (shadowType && "none" !== shadowType) {
5636
+ if (shadowType && shadowType !== "none") {
5636
5637
  styles["box-shadow"] = shadowMap[shadowType] || shadowMap.md;
5637
5638
  }
5638
5639
  const z = toNumber(getValue("zIndex", "zIndexMobile"));
5639
- if (null !== z && 0 < z) {
5640
+ if (z !== null && z > 0) {
5640
5641
  styles.position = "relative";
5641
5642
  styles["z-index"] = z.toString();
5642
5643
  }
5643
- if (!isMobile && false === data.showDesktop) {
5644
+ if (!isMobile && data.showDesktop === false) {
5644
5645
  styles.display = "none";
5645
- } else if (isMobile && false === data.showMobile) {
5646
+ } else if (isMobile && data.showMobile === false) {
5646
5647
  styles.display = "none";
5647
5648
  }
5648
5649
  const fontFamilyDesktop = data.fontFamily;
5649
5650
  const { fontFamilyMobile } = data;
5650
- if (isMobile && fontFamilyMobile && "" !== fontFamilyMobile.trim()) {
5651
+ if (isMobile && fontFamilyMobile && fontFamilyMobile.trim() !== "") {
5651
5652
  styles["font-family"] = `"${fontFamilyMobile}", sans-serif`;
5652
- } else if (fontFamilyDesktop && "" !== fontFamilyDesktop.trim()) {
5653
+ } else if (fontFamilyDesktop && fontFamilyDesktop.trim() !== "") {
5653
5654
  styles["font-family"] = `"${fontFamilyDesktop}", sans-serif`;
5654
5655
  }
5655
5656
  if (data.customCSS) {
5656
5657
  try {
5657
- const customRules = data.customCSS.split(";").filter((rule) => rule.trim()).map((rule) => rule.trim().split(":")).filter((parts) => 2 === parts.length);
5658
+ const customRules = data.customCSS.split(";").filter((rule) => rule.trim()).map((rule) => rule.trim().split(":")).filter((parts) => parts.length === 2);
5658
5659
  customRules.forEach(([property, value]) => {
5659
5660
  const prop = property.trim();
5660
5661
  const val = value.trim();
@@ -5671,7 +5672,7 @@ function generateBlockStyles(data, isMobile = false) {
5671
5672
  function getResponsiveClasses(data) {
5672
5673
  const classes = ["blox-block", "responsive-colors"];
5673
5674
  const effectiveDesktopFullWidth = Boolean(data.fullWidth);
5674
- const effectiveMobileFullWidth = null !== data.fullWidthMobile ? Boolean(data.fullWidthMobile) : effectiveDesktopFullWidth;
5675
+ const effectiveMobileFullWidth = data.fullWidthMobile !== null ? Boolean(data.fullWidthMobile) : effectiveDesktopFullWidth;
5675
5676
  if (effectiveDesktopFullWidth) {
5676
5677
  classes.push("full-width-desktop");
5677
5678
  }
@@ -5852,12 +5853,12 @@ function normalizeComponentData(data) {
5852
5853
  const normalized = {};
5853
5854
  const stringFields = ["title", "subTitle", "btnTxt", "tag", "customId", "height", "url", "href"];
5854
5855
  for (const [key, value] of Object.entries(data)) {
5855
- if ("string" === typeof value) {
5856
- if ("true" === value) {
5856
+ if (typeof value === "string") {
5857
+ if (value === "true") {
5857
5858
  normalized[key] = true;
5858
- } else if ("false" === value) {
5859
+ } else if (value === "false") {
5859
5860
  normalized[key] = false;
5860
- } else if (!Number.isNaN(Number(value)) && "" !== value && !stringFields.includes(key)) {
5861
+ } else if (!Number.isNaN(Number(value)) && value !== "" && !stringFields.includes(key)) {
5861
5862
  normalized[key] = Number(value);
5862
5863
  } else {
5863
5864
  normalized[key] = value;
@@ -5869,10 +5870,10 @@ function normalizeComponentData(data) {
5869
5870
  if (!normalized.items) {
5870
5871
  normalized.items = [];
5871
5872
  }
5872
- if (normalized.height !== void 0 && "number" === typeof normalized.height) {
5873
+ if (normalized.height !== void 0 && typeof normalized.height === "number") {
5873
5874
  normalized.height = String(normalized.height);
5874
5875
  }
5875
- if ("auto" === normalized.height) {
5876
+ if (normalized.height === "auto") {
5876
5877
  delete normalized.height;
5877
5878
  }
5878
5879
  return normalized;
@@ -5883,7 +5884,7 @@ function deepClone(obj) {
5883
5884
  function deepMerge(target, source) {
5884
5885
  const result = { ...target };
5885
5886
  for (const key in source) {
5886
- if (source[key] && "object" === typeof source[key] && !Array.isArray(source[key])) {
5887
+ if (source[key] && typeof source[key] === "object" && !Array.isArray(source[key])) {
5887
5888
  result[key] = deepMerge(result[key] || {}, source[key]);
5888
5889
  } else {
5889
5890
  result[key] = source[key];
@@ -5944,7 +5945,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5944
5945
  return false;
5945
5946
  }
5946
5947
  return config.content.some(
5947
- (field) => ["text", "richtext"].includes(field.type) || "array" === field.type && field.fields && field.fields.some((subField) => ["text", "richtext"].includes(subField.type))
5948
+ (field) => ["text", "richtext"].includes(field.type) || field.type === "array" && field.fields && field.fields.some((subField) => ["text", "richtext"].includes(subField.type))
5948
5949
  );
5949
5950
  }
5950
5951
  let lastFocusCall = 0;
@@ -5956,7 +5957,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5956
5957
  return;
5957
5958
  }
5958
5959
  const now = Date.now();
5959
- if (lastFocusCall && 10 > now - lastFocusCall) {
5960
+ if (lastFocusCall && now - lastFocusCall < 10) {
5960
5961
  console.log("🛡️ ExternalPreview setFocus debounced:", id);
5961
5962
  return;
5962
5963
  }
@@ -5967,7 +5968,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5967
5968
  const el = document.querySelector(`[data-block-id="${id}"]`);
5968
5969
  el == null ? void 0 : el.scrollIntoView({ behavior: "smooth", block: "center" });
5969
5970
  if (emit && bridge) {
5970
- if (lastEmittedId !== id || 50 < now - lastEmittedTime) {
5971
+ if (lastEmittedId !== id || now - lastEmittedTime > 50) {
5971
5972
  console.log("📴 ExternalPreview sending focus:", id);
5972
5973
  bridge.send("focus", id);
5973
5974
  lastEmittedId = id;
@@ -5987,24 +5988,24 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5987
5988
  if (previewMode.value) {
5988
5989
  return;
5989
5990
  }
5990
- if ("ArrowDown" === event.key) {
5991
+ if (event.key === "ArrowDown") {
5991
5992
  const next = components.value.findIndex((comp) => comp.id === highlightID.value) + 1;
5992
5993
  if (next < components.value.length) {
5993
5994
  setFocus(components.value[next].id, true);
5994
5995
  }
5995
- } else if ("ArrowUp" === event.key) {
5996
+ } else if (event.key === "ArrowUp") {
5996
5997
  const prev = components.value.findIndex((comp) => comp.id === highlightID.value) - 1;
5997
- if (0 <= prev) {
5998
+ if (prev >= 0) {
5998
5999
  setFocus(components.value[prev].id, true);
5999
6000
  }
6000
- } else if ("Enter" === event.key) {
6001
+ } else if (event.key === "Enter") {
6001
6002
  if (bridge) {
6002
6003
  bridge.send("focus", highlightID.value);
6003
6004
  }
6004
- } else if ("Escape" === event.key) {
6005
+ } else if (event.key === "Escape") {
6005
6006
  setHighlight("");
6006
6007
  selectedID.value = "";
6007
- } else if ("Delete" === event.key) {
6008
+ } else if (event.key === "Delete") {
6008
6009
  if (bridge) {
6009
6010
  bridge.send("delete", highlightID.value);
6010
6011
  }
@@ -6017,8 +6018,8 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
6017
6018
  let element = event.target;
6018
6019
  while (element) {
6019
6020
  const href = element.getAttribute("href");
6020
- if ("A" === element.tagName && null !== href && "" !== href) {
6021
- const isButton = element.classList.contains("btn") || element.classList.contains("button") || "button" === element.getAttribute("role");
6021
+ if (element.tagName === "A" && href !== null && href !== "") {
6022
+ const isButton = element.classList.contains("btn") || element.classList.contains("button") || element.getAttribute("role") === "button";
6022
6023
  if (!isButton) {
6023
6024
  event.preventDefault();
6024
6025
  event.stopPropagation();
@@ -6142,7 +6143,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
6142
6143
  };
6143
6144
  }
6144
6145
  });
6145
- const ExternalPreview = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-fa049ec1"]]);
6146
+ const ExternalPreview = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-7e262aee"]]);
6146
6147
  const _hoisted_1 = { class: "blox-page-wrapper" };
6147
6148
  const _hoisted_2 = {
6148
6149
  key: 0,
@@ -6213,16 +6214,16 @@ class ComponentValidationError extends Error {
6213
6214
  }
6214
6215
  function validateComponentConfig(config) {
6215
6216
  const errors = [];
6216
- if (!config.id || "string" !== typeof config.id) {
6217
+ if (!config.id || typeof config.id !== "string") {
6217
6218
  errors.push('Component must have a valid "id" (string)');
6218
6219
  }
6219
- if (!config.label || "string" !== typeof config.label) {
6220
+ if (!config.label || typeof config.label !== "string") {
6220
6221
  errors.push('Component must have a valid "label" (string)');
6221
6222
  }
6222
6223
  if (!config.component) {
6223
6224
  errors.push('Component must have a "component" property (Vue component or async function)');
6224
6225
  }
6225
- if (config.component && "function" !== typeof config.component && "object" !== typeof config.component) {
6226
+ if (config.component && typeof config.component !== "function" && typeof config.component !== "object") {
6226
6227
  errors.push('Component "component" must be a Vue component or async function');
6227
6228
  }
6228
6229
  if (config.content && !Array.isArray(config.content)) {
@@ -6231,7 +6232,7 @@ function validateComponentConfig(config) {
6231
6232
  if (config.settings && !Array.isArray(config.settings)) {
6232
6233
  errors.push('Component "settings" must be an array');
6233
6234
  }
6234
- if (0 < errors.length) {
6235
+ if (errors.length > 0) {
6235
6236
  throw new ComponentValidationError(
6236
6237
  `Invalid component configuration for "${config.id || "unknown"}":
6237
6238
  ${errors.map((e) => ` - ${e}`).join("\n")}`,
@@ -6263,12 +6264,12 @@ function levenshteinDistance(a, b) {
6263
6264
  return matrix[b.length][a.length];
6264
6265
  }
6265
6266
  function findSimilarIds(targetId, allIds, maxSuggestions = 3) {
6266
- return allIds.map((id) => ({ id, distance: levenshteinDistance(targetId.toLowerCase(), id.toLowerCase()) })).filter((item) => 3 >= item.distance).sort((a, b) => a.distance - b.distance).slice(0, maxSuggestions).map((item) => item.id);
6267
+ return allIds.map((id) => ({ id, distance: levenshteinDistance(targetId.toLowerCase(), id.toLowerCase()) })).filter((item) => item.distance <= 3).sort((a, b) => a.distance - b.distance).slice(0, maxSuggestions).map((item) => item.id);
6267
6268
  }
6268
6269
  function createMissingComponentError(id, registeredIds) {
6269
6270
  const suggestions = findSimilarIds(id, registeredIds);
6270
6271
  let message = `Component "${id}" is not registered.`;
6271
- if (0 < suggestions.length) {
6272
+ if (suggestions.length > 0) {
6272
6273
  message += `
6273
6274
 
6274
6275
  Did you mean: ${suggestions.map((s) => `"${s}"`).join(", ")}?`;