wave-ui 2.31.3 → 2.32.1

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