wave-ui 2.31.4 → 2.32.2

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.
@@ -419,8 +419,6 @@ var colors = [
419
419
  ]
420
420
  }
421
421
  ];
422
- const consoleWarn = (message) => console.warn(`Wave UI: ${message}`);
423
- const consoleError = (message) => console.error(`Wave UI: ${message}`);
424
422
  const shadeColor = (col, amt) => {
425
423
  return "#" + col.slice(1).match(/../g).map((x) => (x = +`0x${x}` + amt, x < 0 ? 0 : x > 255 ? 255 : x).toString(16).padStart(2, 0)).join("");
426
424
  };
@@ -501,7 +499,7 @@ const _hoisted_1$u = ["aria-expanded"];
501
499
  const _hoisted_2$e = ["onClick", "onFocus", "onKeypress", "tabindex"];
502
500
  const _hoisted_3$b = ["innerHTML"];
503
501
  const _hoisted_4$a = ["innerHTML"];
504
- function render$O(_ctx, _cache, $props, $setup, $data, $options) {
502
+ function render$P(_ctx, _cache, $props, $setup, $data, $options) {
505
503
  const _component_w_button = resolveComponent("w-button");
506
504
  const _component_w_transition_expand = resolveComponent("w-transition-expand");
507
505
  return openBlock(), createElementBlock("div", {
@@ -594,7 +592,7 @@ var _export_sfc = (sfc, props) => {
594
592
  }
595
593
  return target;
596
594
  };
597
- const _sfc_main$O = {
595
+ const _sfc_main$P = {
598
596
  name: "w-accordion",
599
597
  props: {
600
598
  modelValue: { type: Array },
@@ -666,9 +664,9 @@ const _sfc_main$O = {
666
664
  }
667
665
  }
668
666
  };
669
- var wAccordion = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["render", render$O]]);
667
+ var wAccordion = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["render", render$P]]);
670
668
  const _hoisted_1$t = { class: "w-alert__content" };
671
- function render$N(_ctx, _cache, $props, $setup, $data, $options) {
669
+ function render$O(_ctx, _cache, $props, $setup, $data, $options) {
672
670
  const _component_w_icon = resolveComponent("w-icon");
673
671
  const _component_w_button = resolveComponent("w-button");
674
672
  return $data.show ? (openBlock(), createElementBlock("div", mergeProps({
@@ -705,7 +703,7 @@ function render$N(_ctx, _cache, $props, $setup, $data, $options) {
705
703
  ], 16)) : createCommentVNode("", true);
706
704
  }
707
705
  var wAlert_vue_vue_type_style_index_0_lang = "";
708
- const _sfc_main$N = {
706
+ const _sfc_main$O = {
709
707
  name: "w-alert",
710
708
  props: {
711
709
  modelValue: { default: true },
@@ -781,9 +779,9 @@ const _sfc_main$N = {
781
779
  }
782
780
  }
783
781
  };
784
- var wAlert = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["render", render$N]]);
782
+ var wAlert = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["render", render$O]]);
785
783
  const _hoisted_1$s = ["innerHTML"];
786
- function render$M(_ctx, _cache, $props, $setup, $data, $options) {
784
+ function render$N(_ctx, _cache, $props, $setup, $data, $options) {
787
785
  const _component_w_alert = resolveComponent("w-alert");
788
786
  return openBlock(), createBlock(TransitionGroup, {
789
787
  class: normalizeClass(["w-notification-manager", { "w-notification-manager--left": $options.conf.align === "left" }]),
@@ -816,7 +814,7 @@ function render$M(_ctx, _cache, $props, $setup, $data, $options) {
816
814
  }, 8, ["class", "name"]);
817
815
  }
818
816
  var wNotificationManager_vue_vue_type_style_index_0_lang = "";
819
- const _sfc_main$M = {
817
+ const _sfc_main$N = {
820
818
  name: "w-notification-manager",
821
819
  data: () => ({
822
820
  notifManager: null
@@ -847,7 +845,7 @@ const _sfc_main$M = {
847
845
  delete this.notifManager;
848
846
  }
849
847
  };
850
- var NotificationManager = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["render", render$M]]);
848
+ var NotificationManager = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["render", render$N]]);
851
849
  const { css: cssConfig } = config;
852
850
  const entries = Object.entries(config.breakpoints);
853
851
  const breakpoints = entries.map(([label, max], i) => {
@@ -900,7 +898,7 @@ const generateBreakpoints = () => {
900
898
  };
901
899
  const genBreakpointLayoutClasses = () => {
902
900
  let styles = "";
903
- const { cssScope } = cssVars;
901
+ const { cssScope, baseIncrement } = cssVars;
904
902
  const layoutClasses = [
905
903
  "show{display:block}",
906
904
  "hide{display:none}",
@@ -935,17 +933,18 @@ const genBreakpointLayoutClasses = () => {
935
933
  "justify-space-around{justify-content:space-around}",
936
934
  "justify-space-evenly{justify-content:space-evenly}"
937
935
  ];
936
+ const array12 = Array(12).fill();
938
937
  breakpoints.forEach(({ label, min }) => {
939
938
  if (label !== "xs") {
940
- styles += `@media(min-width:${min}px){` + layoutClasses.map((rule) => `${cssScope} .${label}u-${rule}`).join("") + "}";
939
+ styles += `@media(min-width:${min}px){` + layoutClasses.map((rule) => `${cssScope} .${label}u-${rule}`).join("") + array12.map((item, i) => `.w-grid.${label}u-columns${i + 1}{grid-template-columns:repeat(${i + 1},1fr);}`).join("") + array12.map((item, i) => `.w-flex.${label}u-gap${i + 1},.w-grid.${label}u-gap${i + 1}{gap:${(i + 1) * baseIncrement}px;}`).join("") + `.w-flex.${label}u-gap0,.w-flex.${label}u-gap0{gap:0}}`;
941
940
  }
942
941
  });
943
942
  breakpoints.forEach(({ label, min, max }) => {
944
- styles += `@media (min-width:${min}px) and (max-width:${max}px){` + layoutClasses.map((rule) => `${cssScope} .${label}-${rule}`).join("") + "}";
943
+ styles += `@media (min-width:${min}px) and (max-width:${max}px){` + layoutClasses.map((rule) => `${cssScope} .${label}-${rule}`).join("") + array12.map((item, i) => `.w-grid.${label}-columns${i + 1}{grid-template-columns:repeat(${i + 1},1fr);}`).join("") + array12.map((item, i) => `.w-flex.${label}-gap${i + 1},.w-grid.${label}-gap${i + 1}{gap:${(i + 1) * baseIncrement}px;}`).join("") + `.w-flex.${label}-gap0,.w-flex.${label}-gap0{gap:0}}`;
945
944
  });
946
945
  breakpoints.forEach(({ label, max }) => {
947
946
  if (label !== "xl") {
948
- styles += `@media (max-width:${max}px){` + layoutClasses.map((rule) => `${cssScope} .${label}d-${rule}`).join("") + "}";
947
+ styles += `@media (max-width:${max}px){` + layoutClasses.map((rule) => `${cssScope} .${label}d-${rule}`).join("") + array12.map((item, i) => `.w-grid.${label}d-columns${i + 1}{grid-template-columns:repeat(${i + 1},1fr);}`).join("") + array12.map((item, i) => `.w-flex.${label}d-gap${i + 1},.w-grid.${label}d-gap${i + 1}{gap:${(i + 1) * baseIncrement}px;}`).join("") + `.w-flex.${label}d-gap0,.w-flex.${label}d-gap0{gap:0}}`;
949
948
  }
950
949
  });
951
950
  return styles;
@@ -961,7 +960,7 @@ var DynamicCSS = () => {
961
960
  styles += genBreakpointLayoutClasses();
962
961
  return styles;
963
962
  };
964
- function render$L(_ctx, _cache, $props, $setup, $data, $options) {
963
+ function render$M(_ctx, _cache, $props, $setup, $data, $options) {
965
964
  const _component_notification_manager = resolveComponent("notification-manager");
966
965
  return openBlock(), createElementBlock("div", {
967
966
  class: normalizeClass(["w-app", $options.classes])
@@ -973,7 +972,7 @@ function render$L(_ctx, _cache, $props, $setup, $data, $options) {
973
972
  var wApp_vue_vue_type_style_index_0_lang = "";
974
973
  const breakpointsNames = Object.keys(config.breakpoints);
975
974
  const breakpointsValues = Object.values(config.breakpoints);
976
- const _sfc_main$L = {
975
+ const _sfc_main$M = {
977
976
  name: "w-app",
978
977
  props: {
979
978
  dark: { type: Boolean },
@@ -1051,8 +1050,8 @@ const _sfc_main$L = {
1051
1050
  window.removeEventListener("resize", this.getBreakpoint);
1052
1051
  }
1053
1052
  };
1054
- var wApp = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["render", render$L]]);
1055
- function render$K(_ctx, _cache, $props, $setup, $data, $options) {
1053
+ var wApp = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["render", render$M]]);
1054
+ function render$L(_ctx, _cache, $props, $setup, $data, $options) {
1056
1055
  return openBlock(), createElementBlock("div", mergeProps({ class: "w-badge-wrap" }, toHandlers(_ctx.$attrs)), [
1057
1056
  renderSlot(_ctx.$slots, "default"),
1058
1057
  createVNode(Transition, {
@@ -1078,7 +1077,7 @@ function render$K(_ctx, _cache, $props, $setup, $data, $options) {
1078
1077
  ], 16);
1079
1078
  }
1080
1079
  var wBadge_vue_vue_type_style_index_0_lang = "";
1081
- const _sfc_main$K = {
1080
+ const _sfc_main$L = {
1082
1081
  name: "w-badge",
1083
1082
  props: {
1084
1083
  modelValue: { default: true },
@@ -1140,9 +1139,9 @@ const _sfc_main$K = {
1140
1139
  }
1141
1140
  }
1142
1141
  };
1143
- var wBadge = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["render", render$K]]);
1142
+ var wBadge = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["render", render$L]]);
1144
1143
  const _hoisted_1$r = ["innerHTML"];
1145
- function render$J(_ctx, _cache, $props, $setup, $data, $options) {
1144
+ function render$K(_ctx, _cache, $props, $setup, $data, $options) {
1146
1145
  const _component_w_icon = resolveComponent("w-icon");
1147
1146
  return openBlock(), createElementBlock("div", {
1148
1147
  class: normalizeClass(["w-breadcrumbs", $options.classes])
@@ -1199,7 +1198,7 @@ function render$J(_ctx, _cache, $props, $setup, $data, $options) {
1199
1198
  ], 2);
1200
1199
  }
1201
1200
  var wBreadcrumbs_vue_vue_type_style_index_0_lang = "";
1202
- const _sfc_main$J = {
1201
+ const _sfc_main$K = {
1203
1202
  name: "w-breadcrumbs",
1204
1203
  props: {
1205
1204
  items: { type: Array, required: true },
@@ -1230,7 +1229,7 @@ const _sfc_main$J = {
1230
1229
  }
1231
1230
  }
1232
1231
  };
1233
- var wBreadcrumbs = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["render", render$J]]);
1232
+ var wBreadcrumbs = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["render", render$K]]);
1234
1233
  const _hoisted_1$q = {
1235
1234
  key: 0,
1236
1235
  class: "w-button__loader"
@@ -1246,7 +1245,7 @@ const _hoisted_2$d = /* @__PURE__ */ createElementVNode("svg", { viewBox: "0 0 4
1246
1245
  "stroke-linecap": "round"
1247
1246
  })
1248
1247
  ], -1);
1249
- function render$I(_ctx, _cache, $props, $setup, $data, $options) {
1248
+ function render$J(_ctx, _cache, $props, $setup, $data, $options) {
1250
1249
  const _component_w_icon = resolveComponent("w-icon");
1251
1250
  return openBlock(), createBlock(resolveDynamicComponent($props.route ? "a" : "button"), mergeProps({
1252
1251
  class: ["w-button", $options.classes],
@@ -1276,7 +1275,7 @@ function render$I(_ctx, _cache, $props, $setup, $data, $options) {
1276
1275
  }, 16, ["type", "href", "class", "disabled", "style"]);
1277
1276
  }
1278
1277
  var wButton_vue_vue_type_style_index_0_lang = "";
1279
- const _sfc_main$I = {
1278
+ const _sfc_main$J = {
1280
1279
  name: "w-button",
1281
1280
  props: {
1282
1281
  color: { type: String },
@@ -1368,7 +1367,7 @@ const _sfc_main$I = {
1368
1367
  }
1369
1368
  }
1370
1369
  };
1371
- var wButton = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["render", render$I]]);
1370
+ var wButton = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["render", render$J]]);
1372
1371
  const objectifyClasses = (classes = {}) => {
1373
1372
  if (typeof classes === "string")
1374
1373
  classes = { [classes]: true };
@@ -1377,7 +1376,7 @@ const objectifyClasses = (classes = {}) => {
1377
1376
  return classes;
1378
1377
  };
1379
1378
  const _hoisted_1$p = ["innerHTML"];
1380
- function render$H(_ctx, _cache, $props, $setup, $data, $options) {
1379
+ function render$I(_ctx, _cache, $props, $setup, $data, $options) {
1381
1380
  const _component_w_image = resolveComponent("w-image");
1382
1381
  return openBlock(), createElementBlock("div", {
1383
1382
  class: normalizeClass(["w-card", $options.classes]),
@@ -1417,7 +1416,7 @@ function render$H(_ctx, _cache, $props, $setup, $data, $options) {
1417
1416
  ], 6);
1418
1417
  }
1419
1418
  var wCard_vue_vue_type_style_index_0_lang = "";
1420
- const _sfc_main$H = {
1419
+ const _sfc_main$I = {
1421
1420
  name: "w-card",
1422
1421
  props: {
1423
1422
  color: { type: String },
@@ -1467,7 +1466,7 @@ const _sfc_main$H = {
1467
1466
  }
1468
1467
  }
1469
1468
  };
1470
- var wCard = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["render", render$H]]);
1469
+ var wCard = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["render", render$I]]);
1471
1470
  var FormElementMixin = {
1472
1471
  inject: {
1473
1472
  formRegister: { default: null },
@@ -1516,7 +1515,7 @@ const _hoisted_5$8 = [
1516
1515
  ];
1517
1516
  const _hoisted_6$5 = ["for"];
1518
1517
  const _hoisted_7$5 = ["for", "innerHTML"];
1519
- function render$G(_ctx, _cache, $props, $setup, $data, $options) {
1518
+ function render$H(_ctx, _cache, $props, $setup, $data, $options) {
1520
1519
  return openBlock(), createBlock(resolveDynamicComponent(_ctx.formRegister && !$options.wCheckboxes ? "w-form-element" : "div"), mergeProps({ ref: "formEl" }, _ctx.formRegister && { validators: _ctx.validators, inputValue: $data.isChecked, disabled: _ctx.isDisabled }, {
1521
1520
  valid: _ctx.valid,
1522
1521
  "onUpdate:valid": _cache[5] || (_cache[5] = ($event) => _ctx.valid = $event),
@@ -1583,7 +1582,7 @@ function render$G(_ctx, _cache, $props, $setup, $data, $options) {
1583
1582
  }, 16, ["valid", "class"]);
1584
1583
  }
1585
1584
  var wCheckbox_vue_vue_type_style_index_0_lang = "";
1586
- const _sfc_main$G = {
1585
+ const _sfc_main$H = {
1587
1586
  name: "w-checkbox",
1588
1587
  mixins: [FormElementMixin],
1589
1588
  inject: {
@@ -1651,9 +1650,9 @@ const _sfc_main$G = {
1651
1650
  }
1652
1651
  }
1653
1652
  };
1654
- var wCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["render", render$G]]);
1653
+ var wCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["render", render$H]]);
1655
1654
  const _hoisted_1$n = ["innerHTML"];
1656
- function render$F(_ctx, _cache, $props, $setup, $data, $options) {
1655
+ function render$G(_ctx, _cache, $props, $setup, $data, $options) {
1657
1656
  const _component_w_checkbox = resolveComponent("w-checkbox");
1658
1657
  return openBlock(), createBlock(resolveDynamicComponent(_ctx.formRegister ? "w-form-element" : "div"), mergeProps({ ref: "formEl" }, _ctx.formRegister && { validators: _ctx.validators, inputValue: $options.checkboxItems.some((item) => item._isChecked), disabled: _ctx.isDisabled }, {
1659
1658
  valid: _ctx.valid,
@@ -1705,7 +1704,7 @@ function render$F(_ctx, _cache, $props, $setup, $data, $options) {
1705
1704
  }, 16, ["valid", "onReset", "column", "wrap", "class"]);
1706
1705
  }
1707
1706
  var wCheckboxes_vue_vue_type_style_index_0_lang = "";
1708
- const _sfc_main$F = {
1707
+ const _sfc_main$G = {
1709
1708
  name: "w-checkboxes",
1710
1709
  mixins: [FormElementMixin],
1711
1710
  props: {
@@ -1760,9 +1759,9 @@ const _sfc_main$F = {
1760
1759
  }
1761
1760
  }
1762
1761
  };
1763
- var wCheckboxes = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["render", render$F]]);
1762
+ var wCheckboxes = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["render", render$G]]);
1764
1763
  const _hoisted_1$m = { class: "w-confirm" };
1765
- function render$E(_ctx, _cache, $props, $setup, $data, $options) {
1764
+ function render$F(_ctx, _cache, $props, $setup, $data, $options) {
1766
1765
  const _component_w_button = resolveComponent("w-button");
1767
1766
  const _component_w_flex = resolveComponent("w-flex");
1768
1767
  const _component_w_menu = resolveComponent("w-menu");
@@ -1827,7 +1826,7 @@ function render$E(_ctx, _cache, $props, $setup, $data, $options) {
1827
1826
  }, 16, ["modelValue"])
1828
1827
  ]);
1829
1828
  }
1830
- const _sfc_main$E = {
1829
+ const _sfc_main$F = {
1831
1830
  name: "w-confirm",
1832
1831
  props: {
1833
1832
  bgColor: { type: String },
@@ -1911,8 +1910,8 @@ const _sfc_main$E = {
1911
1910
  }
1912
1911
  }
1913
1912
  };
1914
- var wConfirm = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["render", render$E]]);
1915
- function render$D(_ctx, _cache, $props, $setup, $data, $options) {
1913
+ var wConfirm = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["render", render$F]]);
1914
+ function render$E(_ctx, _cache, $props, $setup, $data, $options) {
1916
1915
  return openBlock(), createElementBlock("div", {
1917
1916
  class: normalizeClass(["w-date-picker", $options.classes]),
1918
1917
  style: normalizeStyle($options.styles)
@@ -1921,7 +1920,7 @@ function render$D(_ctx, _cache, $props, $setup, $data, $options) {
1921
1920
  ], 6);
1922
1921
  }
1923
1922
  var wDatePicker_vue_vue_type_style_index_0_lang = "";
1924
- const _sfc_main$D = {
1923
+ const _sfc_main$E = {
1925
1924
  name: "w-date-picker",
1926
1925
  props: {},
1927
1926
  emits: [],
@@ -1934,8 +1933,8 @@ const _sfc_main$D = {
1934
1933
  }
1935
1934
  }
1936
1935
  };
1937
- var wDatePicker = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["render", render$D]]);
1938
- function render$C(_ctx, _cache, $props, $setup, $data, $options) {
1936
+ var wDatePicker = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["render", render$E]]);
1937
+ function render$D(_ctx, _cache, $props, $setup, $data, $options) {
1939
1938
  const _component_w_card = resolveComponent("w-card");
1940
1939
  const _component_w_overlay = resolveComponent("w-overlay");
1941
1940
  return openBlock(), createBlock(_component_w_overlay, {
@@ -1991,7 +1990,7 @@ function render$C(_ctx, _cache, $props, $setup, $data, $options) {
1991
1990
  }, 8, ["model-value", "persistent", "persistent-no-animation", "onClick", "bg-color", "opacity", "class"]);
1992
1991
  }
1993
1992
  var wDialog_vue_vue_type_style_index_0_lang = "";
1994
- const _sfc_main$C = {
1993
+ const _sfc_main$D = {
1995
1994
  name: "w-dialog",
1996
1995
  props: {
1997
1996
  modelValue: { default: true },
@@ -2058,8 +2057,8 @@ const _sfc_main$C = {
2058
2057
  }
2059
2058
  }
2060
2059
  };
2061
- var wDialog = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["render", render$C]]);
2062
- function render$B(_ctx, _cache, $props, $setup, $data, $options) {
2060
+ var wDialog = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["render", render$D]]);
2061
+ function render$C(_ctx, _cache, $props, $setup, $data, $options) {
2063
2062
  return openBlock(), createElementBlock("div", {
2064
2063
  class: normalizeClass(["w-divider", $options.classes])
2065
2064
  }, [
@@ -2067,7 +2066,7 @@ function render$B(_ctx, _cache, $props, $setup, $data, $options) {
2067
2066
  ], 2);
2068
2067
  }
2069
2068
  var wDivider_vue_vue_type_style_index_0_lang = "";
2070
- const _sfc_main$B = {
2069
+ const _sfc_main$C = {
2071
2070
  name: "w-divider",
2072
2071
  props: {
2073
2072
  vertical: { type: Boolean },
@@ -2084,9 +2083,9 @@ const _sfc_main$B = {
2084
2083
  }
2085
2084
  }
2086
2085
  };
2087
- var wDivider = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["render", render$B]]);
2086
+ var wDivider = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["render", render$C]]);
2088
2087
  const _hoisted_1$l = { class: "w-drawer-wrap__pushable" };
2089
- function render$A(_ctx, _cache, $props, $setup, $data, $options) {
2088
+ function render$B(_ctx, _cache, $props, $setup, $data, $options) {
2090
2089
  const _component_w_overlay = resolveComponent("w-overlay");
2091
2090
  return $data.showWrapper || $props.pushContent ? (openBlock(), createElementBlock("div", {
2092
2091
  key: 0,
@@ -2157,7 +2156,7 @@ function render$A(_ctx, _cache, $props, $setup, $data, $options) {
2157
2156
  }
2158
2157
  var wDrawer_vue_vue_type_style_index_0_lang = "";
2159
2158
  const oppositeSides = { left: "right", right: "left", top: "down", bottom: "up" };
2160
- const _sfc_main$A = {
2159
+ const _sfc_main$B = {
2161
2160
  name: "w-drawer",
2162
2161
  props: {
2163
2162
  modelValue: { default: true },
@@ -2263,32 +2262,19 @@ const _sfc_main$A = {
2263
2262
  }
2264
2263
  }
2265
2264
  };
2266
- var wDrawer = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["render", render$A]]);
2267
- function render$z(_ctx, _cache, $props, $setup, $data, $options) {
2268
- return $props.gap ? (openBlock(), createBlock(resolveDynamicComponent($props.tag), {
2269
- key: 0,
2270
- class: "w-flex-wrap"
2271
- }, {
2272
- default: withCtx(() => [
2273
- createElementVNode("div", {
2274
- class: normalizeClass(["w-flex", $options.classes])
2275
- }, [
2276
- renderSlot(_ctx.$slots, "default")
2277
- ], 2)
2278
- ]),
2279
- _: 3
2280
- })) : (openBlock(), createBlock(resolveDynamicComponent($props.tag), {
2281
- key: 1,
2265
+ var wDrawer = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["render", render$B]]);
2266
+ function render$A(_ctx, _cache, $props, $setup, $data, $options) {
2267
+ return openBlock(), createBlock(resolveDynamicComponent($props.tag), {
2282
2268
  class: normalizeClass(["w-flex", $options.classes])
2283
2269
  }, {
2284
2270
  default: withCtx(() => [
2285
2271
  renderSlot(_ctx.$slots, "default")
2286
2272
  ]),
2287
2273
  _: 3
2288
- }, 8, ["class"]));
2274
+ }, 8, ["class"]);
2289
2275
  }
2290
2276
  var wFlex_vue_vue_type_style_index_0_lang = "";
2291
- const _sfc_main$z = {
2277
+ const _sfc_main$A = {
2292
2278
  name: "w-flex",
2293
2279
  props: {
2294
2280
  tag: { type: String, default: "div" },
@@ -2309,7 +2295,7 @@ const _sfc_main$z = {
2309
2295
  justifySpaceAround: { type: Boolean },
2310
2296
  justifySpaceEvenly: { type: Boolean },
2311
2297
  basisZero: { type: Boolean },
2312
- gap: { type: Number, default: 0 }
2298
+ gap: { type: [Number, String], default: 0 }
2313
2299
  },
2314
2300
  computed: {
2315
2301
  classes() {
@@ -2331,13 +2317,13 @@ const _sfc_main$z = {
2331
2317
  "justify-space-around": this.justifySpaceAround,
2332
2318
  "justify-space-evenly": this.justifySpaceEvenly,
2333
2319
  "basis-zero": this.basisZero,
2334
- [`w-flex--gap${this.gap}`]: this.gap
2320
+ [`gap${this.gap}`]: ~~this.gap
2335
2321
  };
2336
2322
  }
2337
2323
  }
2338
2324
  };
2339
- var wFlex = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["render", render$z]]);
2340
- function render$y(_ctx, _cache, $props, $setup, $data, $options) {
2325
+ var wFlex = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["render", render$A]]);
2326
+ function render$z(_ctx, _cache, $props, $setup, $data, $options) {
2341
2327
  return openBlock(), createElementBlock("form", {
2342
2328
  class: normalizeClass(["w-form", $options.classes]),
2343
2329
  onSubmit: _cache[0] || (_cache[0] = (...args) => $options.onSubmit && $options.onSubmit(...args)),
@@ -2354,7 +2340,7 @@ const asyncSome = async (array, predicate) => {
2354
2340
  }
2355
2341
  return false;
2356
2342
  };
2357
- const _sfc_main$y = {
2343
+ const _sfc_main$z = {
2358
2344
  name: "w-form",
2359
2345
  provide() {
2360
2346
  return {
@@ -2476,13 +2462,13 @@ const _sfc_main$y = {
2476
2462
  }
2477
2463
  }
2478
2464
  };
2479
- var wForm = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["render", render$y]]);
2465
+ var wForm = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["render", render$z]]);
2480
2466
  const _hoisted_1$k = {
2481
2467
  key: 0,
2482
2468
  class: "w-form-el__error error w-form-el__error w-form-el__error"
2483
2469
  };
2484
2470
  const _hoisted_2$b = ["innerHTML"];
2485
- function render$x(_ctx, _cache, $props, $setup, $data, $options) {
2471
+ function render$y(_ctx, _cache, $props, $setup, $data, $options) {
2486
2472
  const _component_w_transition_expand = resolveComponent("w-transition-expand");
2487
2473
  return openBlock(), createElementBlock("div", {
2488
2474
  class: normalizeClass($options.classes)
@@ -2511,7 +2497,7 @@ function render$x(_ctx, _cache, $props, $setup, $data, $options) {
2511
2497
  ], 2);
2512
2498
  }
2513
2499
  var wFormElement_vue_vue_type_style_index_0_lang = "";
2514
- const _sfc_main$x = {
2500
+ const _sfc_main$y = {
2515
2501
  name: "w-form-element",
2516
2502
  inject: {
2517
2503
  formRegister: { default: null },
@@ -2590,7 +2576,72 @@ const _sfc_main$x = {
2590
2576
  this.formUnregister(this);
2591
2577
  }
2592
2578
  };
2593
- var wFormElement = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["render", render$x]]);
2579
+ var wFormElement = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["render", render$y]]);
2580
+ function render$x(_ctx, _cache, $props, $setup, $data, $options) {
2581
+ return openBlock(), createBlock(resolveDynamicComponent($props.tag), {
2582
+ class: normalizeClass(["w-grid", $options.classes])
2583
+ }, {
2584
+ default: withCtx(() => [
2585
+ renderSlot(_ctx.$slots, "default")
2586
+ ]),
2587
+ _: 3
2588
+ }, 8, ["class"]);
2589
+ }
2590
+ var wGrid_vue_vue_type_style_index_0_lang = "";
2591
+ const _sfc_main$x = {
2592
+ name: "w-grid",
2593
+ props: {
2594
+ tag: { type: String, default: "div" },
2595
+ columns: { type: [Number, Object, String] },
2596
+ gap: { type: [Number, Object, String], default: 0 }
2597
+ },
2598
+ computed: {
2599
+ breakpointsColumns() {
2600
+ let columns = { xs: 0, sm: 0, md: 0, lg: 0, xl: 0 };
2601
+ switch (typeof this.columns) {
2602
+ case "object":
2603
+ columns = Object.assign(columns, this.columns);
2604
+ break;
2605
+ case "number":
2606
+ case "string":
2607
+ columns = Object.keys(columns).reduce((obj, breakpoint) => obj[breakpoint] = ~~this.columns, {});
2608
+ break;
2609
+ }
2610
+ return columns;
2611
+ },
2612
+ breakpointsGap() {
2613
+ let gap = { xs: 0, sm: 0, md: 0, lg: 0, xl: 0 };
2614
+ switch (typeof this.gap) {
2615
+ case "object":
2616
+ gap = Object.assign(gap, this.gap);
2617
+ break;
2618
+ case "number":
2619
+ case "string":
2620
+ gap = Object.keys(gap).reduce((obj, breakpoint) => obj[breakpoint] = ~~this.gap, {});
2621
+ break;
2622
+ }
2623
+ return gap;
2624
+ },
2625
+ classes() {
2626
+ let breakpointsColumns = null;
2627
+ if (typeof this.columns === "object") {
2628
+ breakpointsColumns = Object.entries(this.breakpointsColumns).reduce((obj, [breakpoint, columns]) => {
2629
+ obj[`${breakpoint}-columns${columns}`] = true;
2630
+ return obj;
2631
+ }, {});
2632
+ }
2633
+ let breakpointsGap = null;
2634
+ if (typeof this.gap === "object") {
2635
+ breakpointsGap = Object.entries(this.breakpointsGap).reduce((obj, [breakpoint, gap]) => {
2636
+ obj[`${breakpoint}-gap${gap}`] = true;
2637
+ return obj;
2638
+ }, {});
2639
+ }
2640
+ return __spreadValues(__spreadValues({}, breakpointsColumns || { [`columns${this.columns}`]: this.columns }), breakpointsGap || { [`gap${this.gap}`]: this.gap });
2641
+ }
2642
+ }
2643
+ };
2644
+ var wGrid = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["render", render$x]]);
2594
2645
  function render$w(_ctx, _cache, $props, $setup, $data, $options) {
2595
2646
  return openBlock(), createBlock(resolveDynamicComponent($props.tag || "i"), mergeProps({
2596
2647
  class: ["w-icon", $options.classes]
@@ -2638,10 +2689,9 @@ const _sfc_main$w = {
2638
2689
  }),
2639
2690
  computed: {
2640
2691
  ligature() {
2641
- var _a, _b;
2642
2692
  if (!config.iconsLigature)
2643
2693
  return false;
2644
- const [fontName, icon] = (_b = (_a = this.$slots.default()[0]) == null ? void 0 : _a.children) == null ? void 0 : _b.split(" ");
2694
+ const [fontName, icon] = this.icon.split(" ");
2645
2695
  return fontName === config.iconsLigature && { fontName, icon };
2646
2696
  },
2647
2697
  forcedSize() {
@@ -2652,7 +2702,7 @@ const _sfc_main$w = {
2652
2702
  },
2653
2703
  classes() {
2654
2704
  return {
2655
- [this.$slots.default()[0].children]: true,
2705
+ [this.icon]: true,
2656
2706
  [this.color]: this.color,
2657
2707
  [`${this.bgColor}--bg`]: this.bgColor,
2658
2708
  [`size--${this.presetSize}`]: this.presetSize && !this.forcedSize,
@@ -2673,9 +2723,17 @@ const _sfc_main$w = {
2673
2723
  styles() {
2674
2724
  return this.forcedSize && `font-size: ${this.forcedSize}`;
2675
2725
  }
2726
+ },
2727
+ created() {
2728
+ this.icon = this.$slots.default && this.$slots.default()[0].children;
2729
+ },
2730
+ updated() {
2731
+ this.icon = this.$slots.default && this.$slots.default()[0].children;
2676
2732
  }
2677
2733
  };
2678
2734
  var wIcon = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["render", render$w]]);
2735
+ const consoleWarn = (message) => console.warn(`Wave UI: ${message}`);
2736
+ const consoleError = (message) => console.error(`Wave UI: ${message}`);
2679
2737
  const _hoisted_1$j = {
2680
2738
  key: 0,
2681
2739
  class: "w-image__loader"
@@ -7357,6 +7415,7 @@ var components = /* @__PURE__ */ Object.freeze({
7357
7415
  WFlex: wFlex,
7358
7416
  WForm: wForm,
7359
7417
  WFormElement: wFormElement,
7418
+ WGrid: wGrid,
7360
7419
  WIcon: wIcon,
7361
7420
  WImage: wImage,
7362
7421
  WInput: wInput,