wave-ui 2.35.0 → 2.36.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.
@@ -495,17 +495,17 @@ let WaveUI = _WaveUI;
495
495
  __publicField(WaveUI, "instance", null);
496
496
  __publicField(WaveUI, "vueInstance", null);
497
497
  WaveUI.version = "__VERSION__";
498
- const _hoisted_1$u = ["aria-expanded"];
499
- const _hoisted_2$e = ["onClick", "onFocus", "onKeypress", "tabindex"];
498
+ const _hoisted_1$r = ["aria-expanded"];
499
+ const _hoisted_2$d = ["onClick", "onFocus", "onKeypress", "tabindex"];
500
500
  const _hoisted_3$b = ["innerHTML"];
501
- const _hoisted_4$a = ["innerHTML"];
501
+ const _hoisted_4$9 = ["innerHTML"];
502
502
  function render$P(_ctx, _cache, $props, $setup, $data, $options) {
503
503
  const _component_w_button = resolveComponent("w-button");
504
504
  const _component_w_transition_expand = resolveComponent("w-transition-expand");
505
505
  return openBlock(), createElementBlock("div", {
506
506
  class: normalizeClass(["w-accordion", $options.accordionClasses])
507
507
  }, [
508
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.accordionItems, (item, i) => {
508
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.accordionItems, (item, i) => {
509
509
  return openBlock(), createElementBlock("div", {
510
510
  class: normalizeClass(["w-accordion__item", $options.itemClasses(item)]),
511
511
  key: i,
@@ -554,8 +554,12 @@ function render$P(_ctx, _cache, $props, $setup, $data, $options) {
554
554
  }, ["stop"])),
555
555
  onClick: withModifiers(($event) => !item._disabled && $options.toggleItem(item, $event), ["stop"])
556
556
  }, null, 8, ["icon", "onClick", "class"])) : createCommentVNode("", true)
557
- ], 42, _hoisted_2$e),
558
- createVNode(_component_w_transition_expand, { y: "" }, {
557
+ ], 42, _hoisted_2$d),
558
+ createVNode(_component_w_transition_expand, {
559
+ y: "",
560
+ onAfterLeave: ($event) => $options.onEndOfCollapse(item),
561
+ duration: $props.duration
562
+ }, {
559
563
  default: withCtx(() => [
560
564
  item._expanded ? (openBlock(), createElementBlock("div", {
561
565
  key: 0,
@@ -574,13 +578,13 @@ function render$P(_ctx, _cache, $props, $setup, $data, $options) {
574
578
  }, () => [
575
579
  createElementVNode("div", {
576
580
  innerHTML: item[$props.itemContentKey]
577
- }, null, 8, _hoisted_4$a)
581
+ }, null, 8, _hoisted_4$9)
578
582
  ])
579
583
  ], 2)) : createCommentVNode("", true)
580
584
  ]),
581
585
  _: 2
582
- }, 1024)
583
- ], 10, _hoisted_1$u);
586
+ }, 1032, ["onAfterLeave", "duration"])
587
+ ], 10, _hoisted_1$r);
584
588
  }), 128))
585
589
  ], 2);
586
590
  }
@@ -609,18 +613,14 @@ const _sfc_main$P = {
609
613
  expandIconRight: { type: Boolean },
610
614
  expandSingle: { type: Boolean },
611
615
  collapseIcon: { type: String },
612
- shadow: { type: Boolean }
616
+ shadow: { type: Boolean },
617
+ duration: { type: Number, default: 250 }
613
618
  },
614
- emits: ["input", "update:modelValue", "focus", "item-expand"],
619
+ emits: ["input", "update:modelValue", "focus", "item-expand", "item-collapsed"],
620
+ data: () => ({
621
+ accordionItems: []
622
+ }),
615
623
  computed: {
616
- accordionItems() {
617
- const items = typeof this.items === "number" ? Array(this.items).fill({}) : this.items || [];
618
- return items.map((item, _index) => reactive(__spreadProps(__spreadValues({}, item), {
619
- _index,
620
- _expanded: this.modelValue && this.modelValue[_index],
621
- _disabled: !!item.disabled
622
- })));
623
- },
624
624
  accordionClasses() {
625
625
  return {
626
626
  [this.color]: this.color,
@@ -644,6 +644,9 @@ const _sfc_main$P = {
644
644
  e.target.blur();
645
645
  setTimeout(() => e.target.focus(), 300);
646
646
  },
647
+ onEndOfCollapse(item) {
648
+ this.$emit("item-collapsed", { item, expanded: item._expanded });
649
+ },
647
650
  getOriginalItem(item) {
648
651
  return this.items[item._index];
649
652
  },
@@ -654,11 +657,33 @@ const _sfc_main$P = {
654
657
  "w-accordion__item--disabled": item._disabled,
655
658
  [item[this.itemColorKey]]: item[this.itemColorKey]
656
659
  };
660
+ },
661
+ updateItems() {
662
+ const items = typeof this.items === "number" ? Array(this.items).fill({}) : this.items || [];
663
+ this.accordionItems = items.map((item, _index) => __spreadProps(__spreadValues({}, item), {
664
+ _index,
665
+ _expanded: this.modelValue && this.modelValue[_index],
666
+ _disabled: !!item.disabled
667
+ }));
668
+ }
669
+ },
670
+ created() {
671
+ this.updateItems();
672
+ },
673
+ watch: {
674
+ modelValue() {
675
+ this.updateItems();
676
+ },
677
+ items: {
678
+ handler() {
679
+ this.updateItems();
680
+ },
681
+ deep: true
657
682
  }
658
683
  }
659
684
  };
660
685
  var wAccordion = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["render", render$P]]);
661
- const _hoisted_1$t = { class: "w-alert__content" };
686
+ const _hoisted_1$q = { class: "w-alert__content" };
662
687
  function render$O(_ctx, _cache, $props, $setup, $data, $options) {
663
688
  const _component_w_icon = resolveComponent("w-icon");
664
689
  const _component_w_button = resolveComponent("w-button");
@@ -676,7 +701,7 @@ function render$O(_ctx, _cache, $props, $setup, $data, $options) {
676
701
  ]),
677
702
  _: 1
678
703
  })) : createCommentVNode("", true),
679
- createElementVNode("div", _hoisted_1$t, [
704
+ createElementVNode("div", _hoisted_1$q, [
680
705
  renderSlot(_ctx.$slots, "default")
681
706
  ]),
682
707
  $props.dismiss ? (openBlock(), createBlock(_component_w_button, {
@@ -773,7 +798,7 @@ const _sfc_main$O = {
773
798
  }
774
799
  };
775
800
  var wAlert = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["render", render$O]]);
776
- const _hoisted_1$s = ["innerHTML"];
801
+ const _hoisted_1$p = ["innerHTML"];
777
802
  function render$N(_ctx, _cache, $props, $setup, $data, $options) {
778
803
  const _component_w_alert = resolveComponent("w-alert");
779
804
  return openBlock(), createBlock(TransitionGroup, {
@@ -796,7 +821,7 @@ function render$N(_ctx, _cache, $props, $setup, $data, $options) {
796
821
  default: withCtx(() => [
797
822
  createElementVNode("div", {
798
823
  innerHTML: notif.message
799
- }, null, 8, _hoisted_1$s)
824
+ }, null, 8, _hoisted_1$p)
800
825
  ]),
801
826
  _: 2
802
827
  }, 1040, ["modelValue", "onUpdate:modelValue", "onClose"])) : createCommentVNode("", true)
@@ -1133,7 +1158,7 @@ const _sfc_main$L = {
1133
1158
  }
1134
1159
  };
1135
1160
  var wBadge = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["render", render$L]]);
1136
- const _hoisted_1$r = ["innerHTML"];
1161
+ const _hoisted_1$o = ["innerHTML"];
1137
1162
  function render$K(_ctx, _cache, $props, $setup, $data, $options) {
1138
1163
  const _component_w_icon = resolveComponent("w-icon");
1139
1164
  return openBlock(), createElementBlock("div", {
@@ -1185,7 +1210,7 @@ function render$K(_ctx, _cache, $props, $setup, $data, $options) {
1185
1210
  }) : (openBlock(), createElementBlock("span", {
1186
1211
  key: `${i}f`,
1187
1212
  innerHTML: item[$props.itemLabelKey]
1188
- }, null, 8, _hoisted_1$r))
1213
+ }, null, 8, _hoisted_1$o))
1189
1214
  ], 64);
1190
1215
  }), 256))
1191
1216
  ], 2);
@@ -1223,11 +1248,11 @@ const _sfc_main$K = {
1223
1248
  }
1224
1249
  };
1225
1250
  var wBreadcrumbs = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["render", render$K]]);
1226
- const _hoisted_1$q = {
1251
+ const _hoisted_1$n = {
1227
1252
  key: 0,
1228
1253
  class: "w-button__loader"
1229
1254
  };
1230
- const _hoisted_2$d = /* @__PURE__ */ createElementVNode("svg", { viewBox: "0 0 40 40" }, [
1255
+ const _hoisted_2$c = /* @__PURE__ */ createElementVNode("svg", { viewBox: "0 0 40 40" }, [
1231
1256
  /* @__PURE__ */ createElementVNode("circle", {
1232
1257
  cx: "20",
1233
1258
  cy: "20",
@@ -1255,9 +1280,9 @@ function render$J(_ctx, _cache, $props, $setup, $data, $options) {
1255
1280
  })) : renderSlot(_ctx.$slots, "default", { key: 1 }),
1256
1281
  createVNode(Transition, { name: "scale-fade" }, {
1257
1282
  default: withCtx(() => [
1258
- $props.loading ? (openBlock(), createElementBlock("div", _hoisted_1$q, [
1283
+ $props.loading ? (openBlock(), createElementBlock("div", _hoisted_1$n, [
1259
1284
  renderSlot(_ctx.$slots, "loading", {}, () => [
1260
- _hoisted_2$d
1285
+ _hoisted_2$c
1261
1286
  ])
1262
1287
  ])) : createCommentVNode("", true)
1263
1288
  ]),
@@ -1368,24 +1393,21 @@ const objectifyClasses = (classes = {}) => {
1368
1393
  classes = { [classes.join(" ")]: true };
1369
1394
  return classes;
1370
1395
  };
1371
- const _hoisted_1$p = ["innerHTML"];
1372
1396
  function render$I(_ctx, _cache, $props, $setup, $data, $options) {
1373
1397
  const _component_w_image = resolveComponent("w-image");
1374
1398
  return openBlock(), createElementBlock("div", {
1375
1399
  class: normalizeClass(["w-card", $options.classes])
1376
1400
  }, [
1377
- _ctx.$slots.title ? (openBlock(), createElementBlock("div", {
1401
+ _ctx.$slots.title || $props.title ? (openBlock(), createElementBlock("div", {
1378
1402
  key: 0,
1379
- class: normalizeClass(["w-card__title", __spreadValues({ "w-card__title--has-toolbar": $options.titleHasToolbar }, $options.titleClasses)])
1403
+ class: normalizeClass(["w-card__title", __spreadValues({ "w-card__title--has-toolbar": _ctx.$slots.title && $options.titleHasToolbar }, $options.titleClasses)])
1380
1404
  }, [
1381
- renderSlot(_ctx.$slots, "title")
1382
- ], 2)) : $props.title ? (openBlock(), createElementBlock("div", {
1383
- key: 1,
1384
- class: normalizeClass(["w-card__title", $options.titleClasses]),
1385
- innerHTML: $props.title
1386
- }, null, 10, _hoisted_1$p)) : createCommentVNode("", true),
1405
+ renderSlot(_ctx.$slots, "title", {}, () => [
1406
+ createTextVNode(toDisplayString($props.title), 1)
1407
+ ])
1408
+ ], 2)) : createCommentVNode("", true),
1387
1409
  $props.image ? (openBlock(), createBlock(_component_w_image, mergeProps({
1388
- key: 2,
1410
+ key: 1,
1389
1411
  class: "w-card__image",
1390
1412
  src: $props.image
1391
1413
  }, $options.imgProps), {
@@ -1400,7 +1422,7 @@ function render$I(_ctx, _cache, $props, $setup, $data, $options) {
1400
1422
  renderSlot(_ctx.$slots, "default")
1401
1423
  ], 2),
1402
1424
  _ctx.$slots.actions ? (openBlock(), createElementBlock("div", {
1403
- key: 3,
1425
+ key: 2,
1404
1426
  class: normalizeClass(["w-card__actions", { "w-card__actions--has-toolbar": $options.actionsHasToolbar }])
1405
1427
  }, [
1406
1428
  renderSlot(_ctx.$slots, "actions")
@@ -1481,6 +1503,15 @@ var FormElementMixin = {
1481
1503
  },
1482
1504
  isReadonly() {
1483
1505
  return this.readonly || this.formProps.readonly;
1506
+ },
1507
+ validationColor() {
1508
+ return this.formProps.validationColor;
1509
+ },
1510
+ labelClasses() {
1511
+ return {
1512
+ [this.labelColor]: this.labelColor && this.valid !== false,
1513
+ [this.validationColor]: this.valid === false
1514
+ };
1484
1515
  }
1485
1516
  },
1486
1517
  methods: {
@@ -1489,21 +1520,19 @@ var FormElementMixin = {
1489
1520
  }
1490
1521
  }
1491
1522
  };
1492
- const _hoisted_1$o = ["id", "name", "checked", "disabled", "required", "tabindex", "aria-checked"];
1493
- const _hoisted_2$c = ["for"];
1494
- const _hoisted_3$a = ["for", "innerHTML"];
1495
- const _hoisted_4$9 = /* @__PURE__ */ createElementVNode("svg", {
1523
+ const _hoisted_1$m = ["id", "name", "checked", "disabled", "required", "tabindex", "aria-checked"];
1524
+ const _hoisted_2$b = ["for"];
1525
+ const _hoisted_3$a = /* @__PURE__ */ createElementVNode("svg", {
1496
1526
  width: "11px",
1497
1527
  height: "9px",
1498
1528
  viewbox: "0 0 12 9"
1499
1529
  }, [
1500
1530
  /* @__PURE__ */ createElementVNode("polyline", { points: "1 5 4 8 10 2" })
1501
1531
  ], -1);
1502
- const _hoisted_5$8 = [
1503
- _hoisted_4$9
1532
+ const _hoisted_4$8 = [
1533
+ _hoisted_3$a
1504
1534
  ];
1505
- const _hoisted_6$6 = ["for"];
1506
- const _hoisted_7$6 = ["for", "innerHTML"];
1535
+ const _hoisted_5$6 = ["for"];
1507
1536
  function render$H(_ctx, _cache, $props, $setup, $data, $options) {
1508
1537
  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 }, {
1509
1538
  valid: _ctx.valid,
@@ -1530,20 +1559,17 @@ function render$H(_ctx, _cache, $props, $setup, $data, $options) {
1530
1559
  onKeypress: _cache[3] || (_cache[3] = withKeys((...args) => $options.onInput && $options.onInput(...args), ["enter"])),
1531
1560
  "aria-checked": $data.isChecked || "false",
1532
1561
  role: "checkbox"
1533
- }, null, 40, _hoisted_1$o),
1562
+ }, null, 40, _hoisted_1$m),
1534
1563
  $options.hasLabel && $props.labelOnLeft ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
1535
- _ctx.$slots.default ? (openBlock(), createElementBlock("label", {
1564
+ _ctx.$slots.default || $props.label ? (openBlock(), createElementBlock("label", {
1536
1565
  key: 0,
1537
- class: "w-checkbox__label w-form-el-shakable pr2",
1566
+ class: normalizeClass(["w-checkbox__label w-form-el-shakable pr2", _ctx.labelClasses]),
1538
1567
  for: `w-checkbox--${_ctx._.uid}`
1539
1568
  }, [
1540
- renderSlot(_ctx.$slots, "default")
1541
- ], 8, _hoisted_2$c)) : $props.label ? (openBlock(), createElementBlock("label", {
1542
- key: 1,
1543
- class: "w-checkbox__label w-form-el-shakable pr2",
1544
- for: `w-checkbox--${_ctx._.uid}`,
1545
- innerHTML: $props.label
1546
- }, null, 8, _hoisted_3$a)) : createCommentVNode("", true)
1569
+ renderSlot(_ctx.$slots, "default", {}, () => [
1570
+ createTextVNode(toDisplayString($props.label), 1)
1571
+ ])
1572
+ ], 10, _hoisted_2$b)) : createCommentVNode("", true)
1547
1573
  ], 64)) : createCommentVNode("", true),
1548
1574
  createElementVNode("div", {
1549
1575
  class: normalizeClass(["w-checkbox__input", this.color]),
@@ -1551,20 +1577,17 @@ function render$H(_ctx, _cache, $props, $setup, $data, $options) {
1551
1577
  _ctx.$refs.input.focus();
1552
1578
  _ctx.$refs.input.click();
1553
1579
  })
1554
- }, _hoisted_5$8, 2),
1580
+ }, _hoisted_4$8, 2),
1555
1581
  $options.hasLabel && !$props.labelOnLeft ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
1556
- _ctx.$slots.default ? (openBlock(), createElementBlock("label", {
1582
+ _ctx.$slots.default || $props.label ? (openBlock(), createElementBlock("label", {
1557
1583
  key: 0,
1558
- class: "w-checkbox__label w-form-el-shakable pl2",
1584
+ class: normalizeClass(["w-checkbox__label w-form-el-shakable pl2", _ctx.labelClasses]),
1559
1585
  for: `w-checkbox--${_ctx._.uid}`
1560
1586
  }, [
1561
- renderSlot(_ctx.$slots, "default")
1562
- ], 8, _hoisted_6$6)) : $props.label ? (openBlock(), createElementBlock("label", {
1563
- key: 1,
1564
- class: "w-checkbox__label w-form-el-shakable pl2",
1565
- for: `w-checkbox--${_ctx._.uid}`,
1566
- innerHTML: $props.label
1567
- }, null, 8, _hoisted_7$6)) : createCommentVNode("", true)
1587
+ renderSlot(_ctx.$slots, "default", {}, () => [
1588
+ createTextVNode(toDisplayString($props.label), 1)
1589
+ ])
1590
+ ], 10, _hoisted_5$6)) : createCommentVNode("", true)
1568
1591
  ], 64)) : createCommentVNode("", true)
1569
1592
  ]),
1570
1593
  _: 3
@@ -1583,6 +1606,7 @@ const _sfc_main$H = {
1583
1606
  label: { type: String },
1584
1607
  labelOnLeft: { type: Boolean },
1585
1608
  color: { type: String, default: "primary" },
1609
+ labelColor: { type: String, default: "primary" },
1586
1610
  noRipple: { type: Boolean },
1587
1611
  indeterminate: { type: Boolean },
1588
1612
  round: { type: Boolean }
@@ -1640,7 +1664,7 @@ const _sfc_main$H = {
1640
1664
  }
1641
1665
  };
1642
1666
  var wCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["render", render$H]]);
1643
- const _hoisted_1$n = ["innerHTML"];
1667
+ const _hoisted_1$l = ["innerHTML"];
1644
1668
  function render$G(_ctx, _cache, $props, $setup, $data, $options) {
1645
1669
  const _component_w_checkbox = resolveComponent("w-checkbox");
1646
1670
  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 }, {
@@ -1653,40 +1677,31 @@ function render$G(_ctx, _cache, $props, $setup, $data, $options) {
1653
1677
  }), {
1654
1678
  default: withCtx(() => [
1655
1679
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.checkboxItems, (item, i) => {
1656
- return openBlock(), createBlock(_component_w_checkbox, {
1680
+ return openBlock(), createBlock(_component_w_checkbox, mergeProps({
1657
1681
  key: i,
1658
1682
  "model-value": item._isChecked,
1659
- name: `${_ctx.name || `w-checkboxes--${_ctx._.uid}`}[]`,
1660
- label: item.label,
1661
- "label-on-left": $props.labelOnLeft,
1662
- color: item.color,
1663
- round: $props.round,
1664
1683
  "onUpdate:modelValue": ($event) => $options.toggleCheck(item, $event),
1684
+ onFocus: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("focus", $event)),
1685
+ name: `${_ctx.inputName}[]`
1686
+ }, { label: item.label, color: item.color, labelOnLeft: $props.labelOnLeft, labelColor: $props.labelColor, round: $props.round }, {
1665
1687
  disabled: _ctx.isDisabled || null,
1666
1688
  readonly: _ctx.isReadonly || null,
1667
- onFocus: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("focus", $event)),
1668
- class: normalizeClass({ mt1: !$props.inline && i })
1669
- }, {
1689
+ class: { mt1: !$props.inline && i }
1690
+ }), {
1670
1691
  default: withCtx(() => [
1671
- _ctx.$slots[`item.${i + 1}`] ? renderSlot(_ctx.$slots, `item.${i + 1}`, {
1692
+ _ctx.$slots[`item.${i + 1}`] || _ctx.$slots.item ? renderSlot(_ctx.$slots, _ctx.$slots[`item.${i + 1}`] ? `item.${i + 1}` : "item", {
1672
1693
  key: 0,
1673
1694
  item: $options.getOriginalItem(item),
1674
1695
  checked: !!item._isChecked,
1675
1696
  index: i + 1,
1676
1697
  innerHTML: item.label
1677
- }) : _ctx.$slots.item ? renderSlot(_ctx.$slots, "item", {
1678
- key: 1,
1679
- item: $options.getOriginalItem(item),
1680
- checked: !!item._isChecked,
1681
- index: i + 1,
1682
- innerHTML: item.label
1683
1698
  }) : item.label ? (openBlock(), createElementBlock("div", {
1684
- key: 2,
1699
+ key: 1,
1685
1700
  innerHTML: item.label
1686
- }, null, 8, _hoisted_1$n)) : createCommentVNode("", true)
1701
+ }, null, 8, _hoisted_1$l)) : createCommentVNode("", true)
1687
1702
  ]),
1688
1703
  _: 2
1689
- }, 1032, ["model-value", "name", "label", "label-on-left", "color", "round", "onUpdate:modelValue", "disabled", "readonly", "class"]);
1704
+ }, 1040, ["model-value", "onUpdate:modelValue", "name", "disabled", "readonly", "class"]);
1690
1705
  }), 128))
1691
1706
  ]),
1692
1707
  _: 3
@@ -1705,7 +1720,8 @@ const _sfc_main$G = {
1705
1720
  itemColorKey: { type: String, default: "color" },
1706
1721
  inline: { type: Boolean },
1707
1722
  round: { type: Boolean },
1708
- color: { type: String, default: "primary" }
1723
+ color: { type: String, default: "primary" },
1724
+ labelColor: { type: String, default: "primary" }
1709
1725
  },
1710
1726
  emits: ["input", "update:modelValue", "focus"],
1711
1727
  provide() {
@@ -1749,12 +1765,12 @@ const _sfc_main$G = {
1749
1765
  }
1750
1766
  };
1751
1767
  var wCheckboxes = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["render", render$G]]);
1752
- const _hoisted_1$m = { class: "w-confirm" };
1768
+ const _hoisted_1$k = { class: "w-confirm" };
1753
1769
  function render$F(_ctx, _cache, $props, $setup, $data, $options) {
1754
1770
  const _component_w_button = resolveComponent("w-button");
1755
1771
  const _component_w_flex = resolveComponent("w-flex");
1756
1772
  const _component_w_menu = resolveComponent("w-menu");
1757
- return openBlock(), createElementBlock("div", _hoisted_1$m, [
1773
+ return openBlock(), createElementBlock("div", _hoisted_1$k, [
1758
1774
  createVNode(_component_w_menu, mergeProps({
1759
1775
  modelValue: _ctx.showPopup,
1760
1776
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.showPopup = $event)
@@ -1932,7 +1948,7 @@ function render$D(_ctx, _cache, $props, $setup, $data, $options) {
1932
1948
  persistent: $props.persistent,
1933
1949
  "persistent-no-animation": $props.persistentNoAnimation,
1934
1950
  onClick: $options.onOutsideClick,
1935
- onClosed: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("closed")),
1951
+ onClose: $options.onClose,
1936
1952
  "bg-color": $props.overlayColor,
1937
1953
  opacity: $props.overlayOpacity
1938
1954
  }, {
@@ -1940,11 +1956,12 @@ function render$D(_ctx, _cache, $props, $setup, $data, $options) {
1940
1956
  createVNode(Transition, {
1941
1957
  name: $props.transition,
1942
1958
  appear: "",
1943
- onAfterLeave: $options.onClose
1959
+ onAfterLeave: $options.onBeforeClose
1944
1960
  }, {
1945
1961
  default: withCtx(() => [
1946
1962
  withDirectives(createVNode(_component_w_card, {
1947
1963
  class: normalizeClass(["w-dialog__content", $props.dialogClass]),
1964
+ ref: "dialog",
1948
1965
  "no-border": "",
1949
1966
  color: $props.color,
1950
1967
  "bg-color": $props.bgColor,
@@ -1978,7 +1995,7 @@ function render$D(_ctx, _cache, $props, $setup, $data, $options) {
1978
1995
  }, 8, ["name", "onAfterLeave"])
1979
1996
  ]),
1980
1997
  _: 3
1981
- }, 8, ["model-value", "persistent", "persistent-no-animation", "onClick", "bg-color", "opacity", "class"]);
1998
+ }, 8, ["model-value", "persistent", "persistent-no-animation", "onClick", "onClose", "bg-color", "opacity", "class"]);
1982
1999
  }
1983
2000
  var wDialog_vue_vue_type_style_index_0_lang = "";
1984
2001
  const _sfc_main$D = {
@@ -2000,7 +2017,12 @@ const _sfc_main$D = {
2000
2017
  bgColor: { type: String },
2001
2018
  overlayOpacity: { type: [Number, String, Boolean] }
2002
2019
  },
2003
- emits: ["input", "update:modelValue", "close", "closed"],
2020
+ provide() {
2021
+ return {
2022
+ detachableDefaultRoot: () => this.$refs.dialog.$el || null
2023
+ };
2024
+ },
2025
+ emits: ["input", "update:modelValue", "before-close", "close"],
2004
2026
  data() {
2005
2027
  return {
2006
2028
  showWrapper: this.modelValue,
@@ -2030,11 +2052,14 @@ const _sfc_main$D = {
2030
2052
  if (!this.persistent) {
2031
2053
  this.showContent = false;
2032
2054
  if (this.transition === "fade")
2033
- this.onClose();
2055
+ this.onBeforeClose();
2034
2056
  }
2035
2057
  },
2036
- onClose() {
2058
+ onBeforeClose() {
2037
2059
  this.showWrapper = false;
2060
+ this.$emit("before-close");
2061
+ },
2062
+ onClose() {
2038
2063
  this.$emit("update:modelValue", false);
2039
2064
  this.$emit("input", false);
2040
2065
  this.$emit("close");
@@ -2042,19 +2067,21 @@ const _sfc_main$D = {
2042
2067
  },
2043
2068
  watch: {
2044
2069
  modelValue(value) {
2045
- if (value)
2046
- this.showWrapper = value;
2070
+ this.showWrapper = value;
2047
2071
  this.showContent = value;
2048
2072
  }
2049
2073
  }
2050
2074
  };
2051
2075
  var wDialog = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["render", render$D]]);
2076
+ const _hoisted_1$j = ["aria-orientation"];
2052
2077
  function render$C(_ctx, _cache, $props, $setup, $data, $options) {
2053
2078
  return openBlock(), createElementBlock("div", {
2054
- class: normalizeClass(["w-divider", $options.classes])
2079
+ class: normalizeClass(["w-divider", $options.classes]),
2080
+ role: "presentation",
2081
+ "aria-orientation": $props.vertical ? "vertical" : "horizontal"
2055
2082
  }, [
2056
2083
  renderSlot(_ctx.$slots, "default")
2057
- ], 2);
2084
+ ], 10, _hoisted_1$j);
2058
2085
  }
2059
2086
  var wDivider_vue_vue_type_style_index_0_lang = "";
2060
2087
  const _sfc_main$C = {
@@ -2075,7 +2102,7 @@ const _sfc_main$C = {
2075
2102
  }
2076
2103
  };
2077
2104
  var wDivider = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["render", render$C]]);
2078
- const _hoisted_1$l = { class: "w-drawer-wrap__pushable" };
2105
+ const _hoisted_1$i = { class: "w-drawer-wrap__pushable" };
2079
2106
  function render$B(_ctx, _cache, $props, $setup, $data, $options) {
2080
2107
  const _component_w_overlay = resolveComponent("w-overlay");
2081
2108
  return $data.showWrapper || $props.pushContent ? (openBlock(), createElementBlock("div", {
@@ -2087,7 +2114,7 @@ function render$B(_ctx, _cache, $props, $setup, $data, $options) {
2087
2114
  class: "w-drawer-wrap__track",
2088
2115
  style: normalizeStyle($options.trackStyles)
2089
2116
  }, [
2090
- createElementVNode("div", _hoisted_1$l, [
2117
+ createElementVNode("div", _hoisted_1$i, [
2091
2118
  !$props.noOverlay ? (openBlock(), createBlock(_component_w_overlay, {
2092
2119
  key: 0,
2093
2120
  modelValue: $data.showDrawer,
@@ -2095,23 +2122,31 @@ function render$B(_ctx, _cache, $props, $setup, $data, $options) {
2095
2122
  onClick: $options.onOutsideClick,
2096
2123
  persistent: $props.persistent,
2097
2124
  "persistent-no-animation": "",
2098
- "bg-color": $props.overlayColor,
2125
+ "bg-color": $props.overlayColor || "transparent",
2099
2126
  opacity: $props.overlayOpacity
2100
2127
  }, null, 8, ["modelValue", "onClick", "persistent", "bg-color", "opacity"])) : createCommentVNode("", true),
2101
2128
  renderSlot(_ctx.$slots, "pushable")
2102
2129
  ]),
2103
- createVNode(Transition, { name: "fade" }, {
2130
+ createVNode(Transition, {
2131
+ name: "fade",
2132
+ onBeforeLeave: $options.onBeforeClose,
2133
+ onAfterLeave: $options.onClose
2134
+ }, {
2104
2135
  default: withCtx(() => [
2105
- !$options.unmountDrawer ? (openBlock(), createElementBlock("div", {
2136
+ $data.showDrawer ? (openBlock(), createBlock(resolveDynamicComponent($props.tag || "aside"), {
2106
2137
  key: 0,
2107
2138
  class: normalizeClass(["w-drawer", $options.drawerClasses]),
2139
+ ref: "drawer",
2108
2140
  style: normalizeStyle($options.styles)
2109
- }, [
2110
- renderSlot(_ctx.$slots, "default")
2111
- ], 6)) : createCommentVNode("", true)
2141
+ }, {
2142
+ default: withCtx(() => [
2143
+ renderSlot(_ctx.$slots, "default")
2144
+ ]),
2145
+ _: 3
2146
+ }, 8, ["class", "style"])) : createCommentVNode("", true)
2112
2147
  ]),
2113
2148
  _: 3
2114
- })
2149
+ }, 8, ["onBeforeLeave", "onAfterLeave"])
2115
2150
  ], 4)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
2116
2151
  !$props.noOverlay ? (openBlock(), createBlock(_component_w_overlay, {
2117
2152
  key: 0,
@@ -2126,12 +2161,14 @@ function render$B(_ctx, _cache, $props, $setup, $data, $options) {
2126
2161
  createVNode(Transition, {
2127
2162
  name: $options.transitionName,
2128
2163
  appear: "",
2129
- onAfterLeave: $options.close
2164
+ onBeforeLeave: $options.onBeforeClose,
2165
+ onAfterLeave: $options.onClose
2130
2166
  }, {
2131
2167
  default: withCtx(() => [
2132
2168
  $data.showDrawer ? (openBlock(), createBlock(resolveDynamicComponent($props.tag || "aside"), {
2133
2169
  key: 0,
2134
2170
  class: normalizeClass(["w-drawer", $options.drawerClasses]),
2171
+ ref: "drawer",
2135
2172
  style: normalizeStyle($options.styles)
2136
2173
  }, {
2137
2174
  default: withCtx(() => [
@@ -2141,7 +2178,7 @@ function render$B(_ctx, _cache, $props, $setup, $data, $options) {
2141
2178
  }, 8, ["class", "style"])) : createCommentVNode("", true)
2142
2179
  ]),
2143
2180
  _: 3
2144
- }, 8, ["name", "onAfterLeave"])
2181
+ }, 8, ["name", "onBeforeLeave", "onAfterLeave"])
2145
2182
  ], 64))
2146
2183
  ], 2)) : createCommentVNode("", true);
2147
2184
  }
@@ -2170,7 +2207,12 @@ const _sfc_main$B = {
2170
2207
  overlayOpacity: { type: [Number, String, Boolean] },
2171
2208
  tag: { type: String, default: "aside" }
2172
2209
  },
2173
- emits: ["input", "update:modelValue", "close"],
2210
+ provide() {
2211
+ return {
2212
+ detachableDefaultRoot: () => this.$refs.drawer || null
2213
+ };
2214
+ },
2215
+ emits: ["input", "update:modelValue", "before-close", "close"],
2174
2216
  data() {
2175
2217
  return {
2176
2218
  showWrapper: this.modelValue,
@@ -2211,7 +2253,7 @@ const _sfc_main$B = {
2211
2253
  },
2212
2254
  trackStyles() {
2213
2255
  return this.pushContent && this.showDrawer && {
2214
- transform: `translateX(${this.position === "left" ? "" : "-"}${this.size})`
2256
+ transform: `translateX(${this.position === "left" ? "" : "-"}${this.size || "200px"})`
2215
2257
  };
2216
2258
  },
2217
2259
  styles() {
@@ -2228,17 +2270,18 @@ const _sfc_main$B = {
2228
2270
  }
2229
2271
  },
2230
2272
  methods: {
2231
- close() {
2273
+ onBeforeClose() {
2274
+ this.$emit("before-close");
2275
+ },
2276
+ onClose() {
2232
2277
  this.showWrapper = false;
2233
2278
  this.$emit("update:modelValue", false);
2234
2279
  this.$emit("input", false);
2235
- this.$emit("close", false);
2280
+ this.$emit("close");
2236
2281
  },
2237
2282
  onOutsideClick() {
2238
2283
  if (!this.persistent) {
2239
2284
  this.showDrawer = false;
2240
- if (this.pushContent)
2241
- this.close();
2242
2285
  } else if (!this.persistentNoAnimation) {
2243
2286
  this.persistentAnimate = true;
2244
2287
  setTimeout(() => this.persistentAnimate = false, 200);
@@ -2333,23 +2376,24 @@ const asyncSome = async (array, predicate) => {
2333
2376
  };
2334
2377
  const _sfc_main$z = {
2335
2378
  name: "w-form",
2336
- provide() {
2337
- return {
2338
- formRegister: this.register,
2339
- formUnregister: this.unregister,
2340
- validateElement: this.validateElement,
2341
- formProps: this.$props
2342
- };
2343
- },
2344
2379
  props: {
2345
2380
  modelValue: {},
2346
2381
  allowSubmit: { type: Boolean },
2347
2382
  noKeyupValidation: { type: Boolean },
2348
2383
  noBlurValidation: { type: Boolean },
2349
2384
  errorPlaceholders: { type: Boolean },
2385
+ validationColor: { type: String, default: "error" },
2350
2386
  disabled: { type: Boolean },
2351
2387
  readonly: { type: Boolean }
2352
2388
  },
2389
+ provide() {
2390
+ return {
2391
+ formRegister: this.register,
2392
+ formUnregister: this.unregister,
2393
+ validateElement: this.validateElement,
2394
+ formProps: this.$props
2395
+ };
2396
+ },
2353
2397
  emits: [
2354
2398
  "submit",
2355
2399
  "before-validate",
@@ -2454,11 +2498,6 @@ const _sfc_main$z = {
2454
2498
  }
2455
2499
  };
2456
2500
  var wForm = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["render", render$z]]);
2457
- const _hoisted_1$k = {
2458
- key: 0,
2459
- class: "w-form-el__error error w-form-el__error w-form-el__error"
2460
- };
2461
- const _hoisted_2$b = ["innerHTML"];
2462
2501
  function render$y(_ctx, _cache, $props, $setup, $data, $options) {
2463
2502
  const _component_w_transition_expand = resolveComponent("w-transition-expand");
2464
2503
  return openBlock(), createElementBlock("div", {
@@ -2471,17 +2510,16 @@ function render$y(_ctx, _cache, $props, $setup, $data, $options) {
2471
2510
  ], 2),
2472
2511
  createVNode(_component_w_transition_expand, { y: "" }, {
2473
2512
  default: withCtx(() => [
2474
- _ctx.Validation.message ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
2475
- _ctx.$slots["error-message"] ? (openBlock(), createElementBlock("div", _hoisted_1$k, [
2476
- renderSlot(_ctx.$slots, "error-message", {
2477
- message: _ctx.Validation.message
2478
- })
2479
- ])) : (openBlock(), createElementBlock("div", {
2480
- key: 1,
2481
- class: "w-form-el__error error w-form-el__error w-form-el__error",
2482
- innerHTML: _ctx.Validation.message
2483
- }, null, 8, _hoisted_2$b))
2484
- ], 64)) : createCommentVNode("", true)
2513
+ _ctx.Validation.message ? (openBlock(), createElementBlock("div", {
2514
+ key: 0,
2515
+ class: normalizeClass(["w-form-el__error", $options.formProps.validationColor])
2516
+ }, [
2517
+ renderSlot(_ctx.$slots, "error-message", {
2518
+ message: _ctx.Validation.message
2519
+ }, () => [
2520
+ createTextVNode(toDisplayString(_ctx.Validation.message), 1)
2521
+ ])
2522
+ ], 2)) : createCommentVNode("", true)
2485
2523
  ]),
2486
2524
  _: 3
2487
2525
  })
@@ -2490,6 +2528,16 @@ function render$y(_ctx, _cache, $props, $setup, $data, $options) {
2490
2528
  var wFormElement_vue_vue_type_style_index_0_lang = "";
2491
2529
  const _sfc_main$y = {
2492
2530
  name: "w-form-element",
2531
+ props: {
2532
+ valid: { required: true },
2533
+ disabled: { type: Boolean },
2534
+ readonly: { type: Boolean },
2535
+ inputValue: { required: true },
2536
+ validators: { type: Array },
2537
+ isFocused: { default: false },
2538
+ column: { default: false },
2539
+ wrap: { default: false }
2540
+ },
2493
2541
  inject: {
2494
2542
  formRegister: { default: null },
2495
2543
  formUnregister: { default: null },
@@ -2498,21 +2546,12 @@ const _sfc_main$y = {
2498
2546
  default: () => ({
2499
2547
  noKeyupValidation: false,
2500
2548
  noBlurValidation: false,
2549
+ validationColor: "error",
2501
2550
  disabled: false,
2502
2551
  readonly: false
2503
2552
  })
2504
2553
  }
2505
2554
  },
2506
- props: {
2507
- valid: { required: true },
2508
- disabled: { type: Boolean },
2509
- readonly: { type: Boolean },
2510
- inputValue: { required: true },
2511
- validators: { type: Array },
2512
- isFocused: { default: false },
2513
- column: { default: false },
2514
- wrap: { default: false }
2515
- },
2516
2555
  emits: ["reset", "update:valid"],
2517
2556
  data: () => ({
2518
2557
  Validation: {
@@ -2718,13 +2757,14 @@ const _sfc_main$w = {
2718
2757
  const [fontName = "", icon = ""] = typeof slot === "function" && slot()[0].children.trim().split(" ") || [];
2719
2758
  this.fontName = fontName;
2720
2759
  this.icon = icon;
2760
+ return true;
2721
2761
  }
2722
2762
  }
2723
2763
  };
2724
2764
  var wIcon = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["render", render$w]]);
2725
2765
  const consoleWarn = (message) => console.warn(`Wave UI: ${message}`);
2726
2766
  const consoleError = (message) => console.error(`Wave UI: ${message}`);
2727
- const _hoisted_1$j = {
2767
+ const _hoisted_1$h = {
2728
2768
  key: 0,
2729
2769
  class: "w-image__loader"
2730
2770
  };
@@ -2749,7 +2789,7 @@ function render$v(_ctx, _cache, $props, $setup, $data, $options) {
2749
2789
  ]),
2750
2790
  _: 1
2751
2791
  }, 8, ["name"]),
2752
- !$props.noSpinner && $data.loading ? (openBlock(), createElementBlock("div", _hoisted_1$j, [
2792
+ !$props.noSpinner && $data.loading ? (openBlock(), createElementBlock("div", _hoisted_1$h, [
2753
2793
  _ctx.$slots.loading ? renderSlot(_ctx.$slots, "loading", { key: 0 }) : (openBlock(), createBlock(_component_w_progress, {
2754
2794
  key: 1,
2755
2795
  circle: "",
@@ -2894,22 +2934,19 @@ const _sfc_main$v = {
2894
2934
  }
2895
2935
  };
2896
2936
  var wImage = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["render", render$v]]);
2897
- const _hoisted_1$i = ["name"];
2937
+ const _hoisted_1$g = ["name"];
2898
2938
  const _hoisted_2$a = ["for"];
2899
- const _hoisted_3$9 = ["for", "innerHTML"];
2900
- const _hoisted_4$8 = ["id", "type", "name", "placeholder", "step", "min", "max", "minlength", "maxlength", "readonly", "aria-readonly", "disabled", "required", "tabindex"];
2901
- const _hoisted_5$7 = ["id", "name", "multiple", "data-progress"];
2902
- const _hoisted_6$5 = {
2939
+ const _hoisted_3$9 = ["id", "type", "name", "placeholder", "step", "min", "max", "minlength", "maxlength", "readonly", "aria-readonly", "disabled", "required", "tabindex"];
2940
+ const _hoisted_4$7 = ["id", "name", "multiple", "data-progress"];
2941
+ const _hoisted_5$5 = {
2903
2942
  class: "w-input__no-file",
2904
2943
  key: "no-file"
2905
2944
  };
2906
- const _hoisted_7$5 = /* @__PURE__ */ createTextVNode("No file");
2907
- const _hoisted_8$3 = ["for"];
2908
- const _hoisted_9$3 = ["for", "innerHTML"];
2909
- const _hoisted_10$3 = ["for"];
2910
- const _hoisted_11$2 = ["src"];
2911
- const _hoisted_12$1 = ["for"];
2912
- const _hoisted_13$1 = ["for", "innerHTML"];
2945
+ const _hoisted_6$3 = /* @__PURE__ */ createTextVNode("No file");
2946
+ const _hoisted_7$3 = ["for"];
2947
+ const _hoisted_8$2 = ["for"];
2948
+ const _hoisted_9$2 = ["src"];
2949
+ const _hoisted_10$2 = ["for"];
2913
2950
  function render$u(_ctx, _cache, $props, $setup, $data, $options) {
2914
2951
  const _component_w_icon = resolveComponent("w-icon");
2915
2952
  const _component_w_progress = resolveComponent("w-progress");
@@ -2929,22 +2966,19 @@ function render$u(_ctx, _cache, $props, $setup, $data, $options) {
2929
2966
  type: "hidden",
2930
2967
  name: _ctx.name || null,
2931
2968
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.inputValue = $event)
2932
- }, null, 8, _hoisted_1$i)), [
2969
+ }, null, 8, _hoisted_1$g)), [
2933
2970
  [vModelText, $data.inputValue]
2934
2971
  ]) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
2935
2972
  $props.labelPosition === "left" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
2936
- _ctx.$slots.default ? (openBlock(), createElementBlock("label", {
2973
+ _ctx.$slots.default || $props.label ? (openBlock(), createElementBlock("label", {
2937
2974
  key: 0,
2938
- class: normalizeClass(["w-input__label w-input__label--left w-form-el-shakable", $options.validationClasses]),
2975
+ class: normalizeClass(["w-input__label w-input__label--left w-form-el-shakable", _ctx.labelClasses]),
2939
2976
  for: `w-input--${_ctx._.uid}`
2940
2977
  }, [
2941
- renderSlot(_ctx.$slots, "default")
2942
- ], 10, _hoisted_2$a)) : $props.label ? (openBlock(), createElementBlock("label", {
2943
- key: 1,
2944
- class: normalizeClass(["w-input__label w-input__label--left w-form-el-shakable", $options.validationClasses]),
2945
- for: `w-input--${_ctx._.uid}`,
2946
- innerHTML: $props.label
2947
- }, null, 10, _hoisted_3$9)) : createCommentVNode("", true)
2978
+ renderSlot(_ctx.$slots, "default", {}, () => [
2979
+ createTextVNode(toDisplayString($props.label), 1)
2980
+ ])
2981
+ ], 10, _hoisted_2$a)) : createCommentVNode("", true)
2948
2982
  ], 64)) : createCommentVNode("", true),
2949
2983
  createElementVNode("div", {
2950
2984
  class: normalizeClass(["w-input__input-wrap", $options.inputWrapClasses])
@@ -2984,7 +3018,7 @@ function render$u(_ctx, _cache, $props, $setup, $data, $options) {
2984
3018
  disabled: _ctx.isDisabled || null,
2985
3019
  required: _ctx.required || null,
2986
3020
  tabindex: _ctx.tabindex || null
2987
- }, $options.attrs), null, 16, _hoisted_4$8)), [
3021
+ }, $options.attrs), null, 16, _hoisted_3$9)), [
2988
3022
  [vModelDynamic, $data.inputValue]
2989
3023
  ]) : (openBlock(), createElementBlock(Fragment, { key: 2 }, [
2990
3024
  createElementVNode("input", mergeProps({
@@ -2998,7 +3032,7 @@ function render$u(_ctx, _cache, $props, $setup, $data, $options) {
2998
3032
  multiple: $props.multiple || null
2999
3033
  }, $options.attrs, {
3000
3034
  "data-progress": $options.overallFilesProgress
3001
- }), null, 16, _hoisted_5$7),
3035
+ }), null, 16, _hoisted_4$7),
3002
3036
  createVNode(TransitionGroup, {
3003
3037
  class: "w-input__input w-input__input--file",
3004
3038
  tag: "label",
@@ -3006,10 +3040,10 @@ function render$u(_ctx, _cache, $props, $setup, $data, $options) {
3006
3040
  for: `w-input--${_ctx._.uid}`
3007
3041
  }, {
3008
3042
  default: withCtx(() => [
3009
- !$data.inputFiles.length && $data.isFocused ? (openBlock(), createElementBlock("span", _hoisted_6$5, [
3043
+ !$data.inputFiles.length && $data.isFocused ? (openBlock(), createElementBlock("span", _hoisted_5$5, [
3010
3044
  renderSlot(_ctx.$slots, "no-file", {}, () => [
3011
3045
  _ctx.$slots["no-file"] === void 0 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
3012
- _hoisted_7$5
3046
+ _hoisted_6$3
3013
3047
  ], 64)) : createCommentVNode("", true)
3014
3048
  ])
3015
3049
  ])) : createCommentVNode("", true),
@@ -3030,18 +3064,15 @@ function render$u(_ctx, _cache, $props, $setup, $data, $options) {
3030
3064
  }, 8, ["for"])
3031
3065
  ], 64)),
3032
3066
  $props.labelPosition === "inside" && $options.showLabelInside ? (openBlock(), createElementBlock(Fragment, { key: 3 }, [
3033
- _ctx.$slots.default ? (openBlock(), createElementBlock("label", {
3067
+ _ctx.$slots.default || $props.label ? (openBlock(), createElementBlock("label", {
3034
3068
  key: 0,
3035
- class: normalizeClass(["w-input__label w-input__label--inside w-form-el-shakable", $options.validationClasses]),
3069
+ class: normalizeClass(["w-input__label w-input__label--inside w-form-el-shakable", _ctx.labelClasses]),
3036
3070
  for: `w-input--${_ctx._.uid}`
3037
3071
  }, [
3038
- renderSlot(_ctx.$slots, "default")
3039
- ], 10, _hoisted_8$3)) : $props.label ? (openBlock(), createElementBlock("label", {
3040
- key: 1,
3041
- class: normalizeClass(["w-input__label w-input__label--inside w-form-el-shakable", $options.validationClasses]),
3042
- for: `w-input--${_ctx._.uid}`,
3043
- innerHTML: $props.label
3044
- }, null, 10, _hoisted_9$3)) : createCommentVNode("", true)
3072
+ renderSlot(_ctx.$slots, "default", {}, () => [
3073
+ createTextVNode(toDisplayString($props.label), 1)
3074
+ ])
3075
+ ], 10, _hoisted_7$3)) : createCommentVNode("", true)
3045
3076
  ], 64)) : createCommentVNode("", true),
3046
3077
  $props.innerIconRight ? (openBlock(), createBlock(_component_w_icon, {
3047
3078
  key: 4,
@@ -3078,26 +3109,23 @@ function render$u(_ctx, _cache, $props, $setup, $data, $options) {
3078
3109
  key: `${i}b`,
3079
3110
  src: file.preview,
3080
3111
  alt: ""
3081
- }, null, 8, _hoisted_11$2)) : (openBlock(), createElementBlock("i", {
3112
+ }, null, 8, _hoisted_9$2)) : (openBlock(), createElementBlock("i", {
3082
3113
  class: normalizeClass(["w-icon w-input__file-preview primary size--md", $props.preview && typeof $props.preview === "string" ? $props.preview : "wi-file"]),
3083
3114
  key: `${i}c`
3084
3115
  }, null, 2))
3085
3116
  ], 64);
3086
3117
  }), 256))
3087
- ], 8, _hoisted_10$3)) : createCommentVNode("", true),
3118
+ ], 8, _hoisted_8$2)) : createCommentVNode("", true),
3088
3119
  $props.labelPosition === "right" ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
3089
- _ctx.$slots.default ? (openBlock(), createElementBlock("label", {
3120
+ _ctx.$slots.default || $props.label ? (openBlock(), createElementBlock("label", {
3090
3121
  key: 0,
3091
- class: normalizeClass(["w-input__label w-input__label--right w-form-el-shakable", $options.validationClasses]),
3122
+ class: normalizeClass(["w-input__label w-input__label--right w-form-el-shakable", _ctx.labelClasses]),
3092
3123
  for: `w-input--${_ctx._.uid}`
3093
3124
  }, [
3094
- renderSlot(_ctx.$slots, "default")
3095
- ], 10, _hoisted_12$1)) : $props.label ? (openBlock(), createElementBlock("label", {
3096
- key: 1,
3097
- class: normalizeClass(["w-input__label w-input__label--right w-form-el-shakable", $options.validationClasses]),
3098
- for: `w-input--${_ctx._.uid}`,
3099
- innerHTML: $props.label
3100
- }, null, 10, _hoisted_13$1)) : createCommentVNode("", true)
3125
+ renderSlot(_ctx.$slots, "default", {}, () => [
3126
+ createTextVNode(toDisplayString($props.label), 1)
3127
+ ])
3128
+ ], 10, _hoisted_10$2)) : createCommentVNode("", true)
3101
3129
  ], 64)) : createCommentVNode("", true)
3102
3130
  ], 64))
3103
3131
  ]),
@@ -3118,8 +3146,9 @@ const _sfc_main$u = {
3118
3146
  staticLabel: { type: Boolean },
3119
3147
  placeholder: { type: String },
3120
3148
  color: { type: String, default: "primary" },
3121
- progressColor: { type: String },
3122
3149
  bgColor: { type: String },
3150
+ labelColor: { type: String, default: "primary" },
3151
+ progressColor: { type: String },
3123
3152
  minlength: { type: [Number, String] },
3124
3153
  maxlength: { type: [Number, String] },
3125
3154
  step: { type: [Number, String] },
@@ -3192,7 +3221,7 @@ const _sfc_main$u = {
3192
3221
  return !this.staticLabel || !this.hasValue && !this.placeholder;
3193
3222
  },
3194
3223
  overallFilesProgress() {
3195
- const progress = this.inputFiles.reduce((total2, file) => total2 + file.progress, 0);
3224
+ const progress = +this.inputFiles.reduce((total2, file) => total2 + file.progress, 0);
3196
3225
  const total = progress / this.inputFiles.length;
3197
3226
  this.$emit("update:overallProgress", this.inputFiles.length ? total : void 0);
3198
3227
  return total;
@@ -3219,14 +3248,9 @@ const _sfc_main$u = {
3219
3248
  "w-input--inner-icon-right": this.innerIconRight
3220
3249
  };
3221
3250
  },
3222
- validationClasses() {
3223
- return this.isFocused && {
3224
- [this.valid === false ? "error" : this.color]: this.color || this.valid === false
3225
- };
3226
- },
3227
3251
  inputWrapClasses() {
3228
3252
  return {
3229
- [this.valid === false ? "error" : this.color]: this.color || this.valid === false,
3253
+ [this.valid === false ? this.validationColor : this.color]: this.color || this.valid === false,
3230
3254
  [`${this.bgColor}--bg`]: this.bgColor,
3231
3255
  "w-input__input-wrap--file": this.type === "file",
3232
3256
  "w-input__input-wrap--round": this.round,
@@ -3640,7 +3664,6 @@ const _sfc_main$t = {
3640
3664
  var wList = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["render", render$t]]);
3641
3665
  var DetachableMixin = {
3642
3666
  props: {
3643
- detachTo: { type: [String, Boolean, Object], deprecated: true },
3644
3667
  appendTo: { type: [String, Boolean, Object] },
3645
3668
  fixed: { type: Boolean },
3646
3669
  top: { type: Boolean },
@@ -3655,16 +3678,19 @@ var DetachableMixin = {
3655
3678
  zIndex: { type: [Number, String, Boolean] },
3656
3679
  activator: { type: [String, Object, HTMLElement] }
3657
3680
  },
3681
+ inject: {
3682
+ detachableDefaultRoot: { default: null }
3683
+ },
3658
3684
  data: () => ({
3659
3685
  docEventListenersHandlers: []
3660
3686
  }),
3661
3687
  computed: {
3662
3688
  appendToTarget() {
3663
- const defaultTarget = ".w-app";
3664
- if (this.detachTo && !this.appendTo) {
3665
- consoleWarn(`The ${this.$options.name} prop \`detach-to\` is deprecated. You can replace it with \`append-to\`.`);
3689
+ let defaultTarget = ".w-app";
3690
+ if (typeof this.detachableDefaultRoot === "function") {
3691
+ defaultTarget = this.detachableDefaultRoot() || defaultTarget;
3666
3692
  }
3667
- let target = this.appendTo || this.detachTo || defaultTarget;
3693
+ let target = this.appendTo || defaultTarget;
3668
3694
  if (target === true)
3669
3695
  target = defaultTarget;
3670
3696
  else if (this.appendTo === "activator")
@@ -3703,7 +3729,7 @@ var DetachableMixin = {
3703
3729
  return activator;
3704
3730
  return document.querySelector(this.activator);
3705
3731
  }
3706
- return this.$el.firstElementChild;
3732
+ return this.$el.nextElementSibling;
3707
3733
  },
3708
3734
  set() {
3709
3735
  }
@@ -3752,6 +3778,8 @@ var DetachableMixin = {
3752
3778
  },
3753
3779
  computeDetachableCoords() {
3754
3780
  let { top, left, width, height } = this.getActivatorCoordinates();
3781
+ if (!this.detachableEl)
3782
+ return;
3755
3783
  this.detachableEl.style.visibility = "hidden";
3756
3784
  this.detachableEl.style.display = "flex";
3757
3785
  const computedStyles2 = window.getComputedStyle(this.detachableEl, null);
@@ -3847,27 +3875,22 @@ var DetachableMixin = {
3847
3875
  },
3848
3876
  mounted() {
3849
3877
  var _a;
3850
- const wrapper = this.$el;
3851
- if (this.$slots.activator)
3852
- wrapper.parentNode.insertBefore(this.activatorEl, wrapper);
3853
- else if (this.activator)
3878
+ if (this.activator)
3854
3879
  this.bindActivatorEvents();
3855
3880
  else {
3856
3881
  this.$nextTick(() => {
3857
- this.activator && this.bindActivatorEvents();
3882
+ if (this.activator)
3883
+ this.bindActivatorEvents();
3858
3884
  if (this.modelValue)
3859
3885
  this.toggle({ type: "click", target: this.activatorEl });
3860
3886
  });
3861
3887
  }
3862
- if (this.overlay) {
3888
+ if (this.overlay)
3863
3889
  this.overlayEl = (_a = this.$refs.overlay) == null ? void 0 : _a.$el;
3864
- wrapper.parentNode.insertBefore(this.overlayEl, wrapper);
3865
- }
3866
3890
  if (this.modelValue && this.activator)
3867
3891
  this.toggle({ type: "click", target: this.activatorEl });
3868
3892
  },
3869
- beforeUnmount() {
3870
- var _a;
3893
+ unmounted() {
3871
3894
  this.close();
3872
3895
  this.removeFromDOM();
3873
3896
  if (this.docEventListenersHandlers.length) {
@@ -3875,31 +3898,22 @@ var DetachableMixin = {
3875
3898
  document.removeEventListener(eventName, handler);
3876
3899
  });
3877
3900
  }
3878
- if (this.overlay && this.overlayEl.parentNode)
3879
- this.overlayEl.remove();
3880
- if (((_a = this.activatorEl) == null ? void 0 : _a.parentNode) && this.$slots.activator)
3881
- this.activatorEl.remove();
3882
3901
  },
3883
3902
  watch: {
3884
3903
  modelValue(bool) {
3885
3904
  if (!!bool !== this.detachableVisible)
3886
3905
  this.toggle({ type: "click", target: this.activatorEl });
3887
3906
  },
3888
- detachTo() {
3889
- this.removeFromDOM();
3890
- this.insertInDOM();
3891
- },
3892
3907
  appendTo() {
3893
3908
  this.removeFromDOM();
3894
3909
  this.insertInDOM();
3895
3910
  }
3896
3911
  }
3897
3912
  };
3898
- const _hoisted_1$h = { class: "w-menu-wrap" };
3899
3913
  function render$s(_ctx, _cache, $props, $setup, $data, $options) {
3900
3914
  const _component_w_card = resolveComponent("w-card");
3901
3915
  const _component_w_overlay = resolveComponent("w-overlay");
3902
- return openBlock(), createElementBlock("div", _hoisted_1$h, [
3916
+ return openBlock(), createElementBlock(Fragment, null, [
3903
3917
  renderSlot(_ctx.$slots, "activator", { on: $options.activatorEventHandlers }),
3904
3918
  createVNode(Transition, {
3905
3919
  name: $options.transitionName,
@@ -3965,7 +3979,7 @@ function render$s(_ctx, _cache, $props, $setup, $data, $options) {
3965
3979
  "z-index": (_ctx.zIndex || 200) - 1,
3966
3980
  "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => _ctx.detachableVisible = false)
3967
3981
  }), null, 16, ["model-value", "persistent", "class", "z-index"])) : createCommentVNode("", true)
3968
- ]);
3982
+ ], 64);
3969
3983
  }
3970
3984
  var wMenu_vue_vue_type_style_index_0_lang = "";
3971
3985
  const _sfc_main$s = {
@@ -3994,6 +4008,14 @@ const _sfc_main$s = {
3994
4008
  persistent: { type: Boolean },
3995
4009
  delay: { type: Number }
3996
4010
  },
4011
+ provide() {
4012
+ return {
4013
+ detachableDefaultRoot: () => {
4014
+ var _a;
4015
+ return ((_a = this.$refs.detachable) == null ? void 0 : _a.$el) || this.$refs.detachable || null;
4016
+ }
4017
+ };
4018
+ },
3997
4019
  emits: ["input", "update:modelValue", "open", "close"],
3998
4020
  data: () => ({
3999
4021
  detachableVisible: false,
@@ -4284,12 +4306,13 @@ function render$q(_ctx, _cache, $props, $setup, $data, $options) {
4284
4306
  return openBlock(), createBlock(Transition, {
4285
4307
  name: "fade",
4286
4308
  appear: "",
4287
- onAfterLeave: $options.onClosed
4309
+ onAfterLeave: $options.onClose
4288
4310
  }, {
4289
4311
  default: withCtx(() => [
4290
- _ctx.showOverlay ? withDirectives((openBlock(), createElementBlock("div", {
4312
+ $props.modelValue ? withDirectives((openBlock(), createElementBlock("div", {
4291
4313
  key: 0,
4292
4314
  class: normalizeClass(["w-overlay", $options.classes]),
4315
+ ref: "overlay",
4293
4316
  style: normalizeStyle($props.modelValue && $options.styles || null),
4294
4317
  onKeydown: _cache[0] || (_cache[0] = withKeys(withModifiers((...args) => $options.onClick && $options.onClick(...args), ["stop"]), ["escape"])),
4295
4318
  onClick: _cache[1] || (_cache[1] = (...args) => $options.onClick && $options.onClick(...args)),
@@ -4297,7 +4320,7 @@ function render$q(_ctx, _cache, $props, $setup, $data, $options) {
4297
4320
  }, [
4298
4321
  renderSlot(_ctx.$slots, "default")
4299
4322
  ], 38)), [
4300
- [vShow, $props.modelValue],
4323
+ [vShow, _ctx.showOverlay],
4301
4324
  [_directive_focus]
4302
4325
  ]) : createCommentVNode("", true)
4303
4326
  ]),
@@ -4315,7 +4338,12 @@ const _sfc_main$q = {
4315
4338
  persistent: { type: Boolean },
4316
4339
  persistentNoAnimation: { type: Boolean }
4317
4340
  },
4318
- emits: ["input", "update:modelValue", "click", "close", "closed"],
4341
+ provide() {
4342
+ return {
4343
+ detachableDefaultRoot: () => this.$refs.overlay || null
4344
+ };
4345
+ },
4346
+ emits: ["input", "update:modelValue", "click", "before-close", "close"],
4319
4347
  data: () => ({
4320
4348
  persistentAnimate: false,
4321
4349
  showOverlay: false
@@ -4344,15 +4372,16 @@ const _sfc_main$q = {
4344
4372
  this.persistentAnimate = true;
4345
4373
  setTimeout(() => this.persistentAnimate = false, 150);
4346
4374
  } else if (!this.persistent) {
4347
- this.$emit("update:modelValue", false);
4348
- this.$emit("input", false);
4349
- this.$emit("close");
4375
+ this.showOverlay = false;
4376
+ this.$emit("before-close");
4350
4377
  }
4351
4378
  this.$emit("click", e);
4352
4379
  },
4353
- onClosed() {
4354
- this.showOverlay = false;
4355
- this.$emit("closed");
4380
+ onClose() {
4381
+ this.$emit("update:modelValue", false);
4382
+ this.$emit("input", false);
4383
+ if (!this.modelValue)
4384
+ this.$emit("close");
4356
4385
  }
4357
4386
  },
4358
4387
  created() {
@@ -4366,9 +4395,9 @@ const _sfc_main$q = {
4366
4395
  }
4367
4396
  };
4368
4397
  var wOverlay = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["render", render$q]]);
4369
- const _hoisted_1$g = { class: "w-parallax" };
4398
+ const _hoisted_1$f = { class: "w-parallax" };
4370
4399
  function render$p(_ctx, _cache, $props, $setup, $data, $options) {
4371
- return openBlock(), createElementBlock("div", _hoisted_1$g);
4400
+ return openBlock(), createElementBlock("div", _hoisted_1$f);
4372
4401
  }
4373
4402
  var wParallax_vue_vue_type_style_index_0_lang = "";
4374
4403
  const _sfc_main$p = {
@@ -4378,10 +4407,10 @@ const _sfc_main$p = {
4378
4407
  data: () => ({})
4379
4408
  };
4380
4409
  var wParallax = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", render$p]]);
4381
- const _hoisted_1$f = ["viewBox"];
4410
+ const _hoisted_1$e = ["viewBox"];
4382
4411
  const _hoisted_2$9 = ["cx", "cy", "r", "stroke-dasharray", "stroke-width"];
4383
4412
  const _hoisted_3$8 = ["viewBox"];
4384
- const _hoisted_4$7 = ["cx", "cy", "r", "stroke-width", "stroke-linecap", "stroke-dasharray"];
4413
+ const _hoisted_4$6 = ["cx", "cy", "r", "stroke-width", "stroke-linecap", "stroke-dasharray"];
4385
4414
  function render$o(_ctx, _cache, $props, $setup, $data, $options) {
4386
4415
  return openBlock(), createElementBlock("div", {
4387
4416
  class: normalizeClass(["w-progress", $options.classes]),
@@ -4405,7 +4434,7 @@ function render$o(_ctx, _cache, $props, $setup, $data, $options) {
4405
4434
  "stroke-dasharray": _ctx.circleCircumference,
4406
4435
  "stroke-width": $props.stroke
4407
4436
  }, null, 10, _hoisted_2$9)) : createCommentVNode("", true)
4408
- ], 8, _hoisted_1$f)),
4437
+ ], 8, _hoisted_1$e)),
4409
4438
  (openBlock(), createElementBlock("svg", {
4410
4439
  class: "w-progress__progress",
4411
4440
  viewBox: `${$options.circleCenter / 2} ${$options.circleCenter / 2} ${$options.circleCenter} ${$options.circleCenter}`,
@@ -4419,7 +4448,7 @@ function render$o(_ctx, _cache, $props, $setup, $data, $options) {
4419
4448
  "stroke-width": $props.stroke,
4420
4449
  "stroke-linecap": $props.roundCap && "round",
4421
4450
  "stroke-dasharray": _ctx.circleCircumference
4422
- }, null, 8, _hoisted_4$7)
4451
+ }, null, 8, _hoisted_4$6)
4423
4452
  ], 12, _hoisted_3$8))
4424
4453
  ], 64)),
4425
4454
  $props.label || _ctx.$slots.default ? (openBlock(), createElementBlock("div", {
@@ -4504,11 +4533,9 @@ const _sfc_main$o = {
4504
4533
  }
4505
4534
  };
4506
4535
  var wProgress = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", render$o]]);
4507
- const _hoisted_1$e = ["id", "name", "checked", "disabled", "required", "tabindex", "aria-checked"];
4536
+ const _hoisted_1$d = ["id", "name", "checked", "disabled", "required", "tabindex", "aria-checked"];
4508
4537
  const _hoisted_2$8 = ["for"];
4509
- const _hoisted_3$7 = ["for", "innerHTML"];
4510
- const _hoisted_4$6 = ["for"];
4511
- const _hoisted_5$6 = ["for", "innerHTML"];
4538
+ const _hoisted_3$7 = ["for"];
4512
4539
  function render$n(_ctx, _cache, $props, $setup, $data, $options) {
4513
4540
  return openBlock(), createBlock(resolveDynamicComponent(_ctx.formRegister && !$options.wRadios ? "w-form-element" : "div"), mergeProps({ ref: "formEl" }, _ctx.formRegister && { validators: _ctx.validators, inputValue: _ctx.inputValue, disabled: _ctx.isDisabled }, {
4514
4541
  valid: _ctx.valid,
@@ -4533,20 +4560,17 @@ function render$n(_ctx, _cache, $props, $setup, $data, $options) {
4533
4560
  onChange: _cache[1] || (_cache[1] = ($event) => $options.onInput($event)),
4534
4561
  "aria-checked": _ctx.inputValue || "false",
4535
4562
  role: "radio"
4536
- }, null, 40, _hoisted_1$e),
4563
+ }, null, 40, _hoisted_1$d),
4537
4564
  $options.hasLabel && $props.labelOnLeft ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
4538
- _ctx.$slots.default ? (openBlock(), createElementBlock("label", {
4565
+ _ctx.$slots.default || $props.label ? (openBlock(), createElementBlock("label", {
4539
4566
  key: 0,
4540
- class: "w-radio__label w-form-el-shakable pr2",
4567
+ class: normalizeClass(["w-radio__label w-form-el-shakable pr2", _ctx.labelClasses]),
4541
4568
  for: `w-radio--${_ctx._.uid}`
4542
4569
  }, [
4543
- renderSlot(_ctx.$slots, "default")
4544
- ], 8, _hoisted_2$8)) : $props.label ? (openBlock(), createElementBlock("label", {
4545
- key: 1,
4546
- class: "w-radio__label w-form-el-shakable pr2",
4547
- for: `w-radio--${_ctx._.uid}`,
4548
- innerHTML: $props.label
4549
- }, null, 8, _hoisted_3$7)) : createCommentVNode("", true)
4570
+ renderSlot(_ctx.$slots, "default", {}, () => [
4571
+ createTextVNode(toDisplayString($props.label), 1)
4572
+ ])
4573
+ ], 10, _hoisted_2$8)) : createCommentVNode("", true)
4550
4574
  ], 64)) : createCommentVNode("", true),
4551
4575
  createElementVNode("div", {
4552
4576
  class: normalizeClass(["w-radio__input", this.color]),
@@ -4556,18 +4580,15 @@ function render$n(_ctx, _cache, $props, $setup, $data, $options) {
4556
4580
  })
4557
4581
  }, null, 2),
4558
4582
  $options.hasLabel && !$props.labelOnLeft ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
4559
- _ctx.$slots.default ? (openBlock(), createElementBlock("label", {
4583
+ _ctx.$slots.default || $props.label ? (openBlock(), createElementBlock("label", {
4560
4584
  key: 0,
4561
- class: "w-radio__label w-form-el-shakable pl2",
4585
+ class: normalizeClass(["w-radio__label w-form-el-shakable pl2", _ctx.labelClasses]),
4562
4586
  for: `w-radio--${_ctx._.uid}`
4563
4587
  }, [
4564
- renderSlot(_ctx.$slots, "default")
4565
- ], 8, _hoisted_4$6)) : $props.label ? (openBlock(), createElementBlock("label", {
4566
- key: 1,
4567
- class: "w-radio__label w-form-el-shakable pl2",
4568
- for: `w-radio--${_ctx._.uid}`,
4569
- innerHTML: $props.label
4570
- }, null, 8, _hoisted_5$6)) : createCommentVNode("", true)
4588
+ renderSlot(_ctx.$slots, "default", {}, () => [
4589
+ createTextVNode(toDisplayString($props.label), 1)
4590
+ ])
4591
+ ], 10, _hoisted_3$7)) : createCommentVNode("", true)
4571
4592
  ], 64)) : createCommentVNode("", true)
4572
4593
  ]),
4573
4594
  _: 3
@@ -4584,6 +4605,7 @@ const _sfc_main$n = {
4584
4605
  label: { type: String },
4585
4606
  labelOnLeft: { type: Boolean },
4586
4607
  color: { type: String, default: "primary" },
4608
+ labelColor: { type: String, default: "primary" },
4587
4609
  noRipple: { type: Boolean }
4588
4610
  },
4589
4611
  emits: ["input", "update:modelValue", "focus"],
@@ -4643,7 +4665,7 @@ const _sfc_main$n = {
4643
4665
  }
4644
4666
  };
4645
4667
  var wRadio = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", render$n]]);
4646
- const _hoisted_1$d = ["innerHTML"];
4668
+ const _hoisted_1$c = ["innerHTML"];
4647
4669
  function render$m(_ctx, _cache, $props, $setup, $data, $options) {
4648
4670
  const _component_w_radio = resolveComponent("w-radio");
4649
4671
  return openBlock(), createBlock(resolveDynamicComponent(_ctx.formRegister ? "w-form-element" : "div"), mergeProps({ ref: "formEl" }, _ctx.formRegister && { validators: _ctx.validators, inputValue: _ctx.inputValue, disabled: _ctx.isDisabled }, {
@@ -4659,39 +4681,31 @@ function render$m(_ctx, _cache, $props, $setup, $data, $options) {
4659
4681
  }), {
4660
4682
  default: withCtx(() => [
4661
4683
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.radioItems, (item, i) => {
4662
- return openBlock(), createBlock(_component_w_radio, {
4684
+ return openBlock(), createBlock(_component_w_radio, mergeProps({
4663
4685
  key: i,
4664
4686
  "model-value": item.value === $props.modelValue,
4665
4687
  "onUpdate:modelValue": ($event) => $options.onInput(item),
4666
4688
  onFocus: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("focus", $event)),
4667
- name: _ctx.inputName,
4668
- label: item.label,
4669
- "label-on-left": $props.labelOnLeft,
4670
- color: item.color,
4689
+ name: _ctx.inputName
4690
+ }, { label: item.label, color: item.color, labelOnLeft: $props.labelOnLeft, labelColor: $props.labelColor }, {
4671
4691
  disabled: _ctx.isDisabled || null,
4672
4692
  readonly: _ctx.isReadonly || null,
4673
- class: normalizeClass({ mt1: !$props.inline && i })
4674
- }, {
4693
+ class: { mt1: !$props.inline && i }
4694
+ }), {
4675
4695
  default: withCtx(() => [
4676
- _ctx.$slots[`item.${i + 1}`] ? renderSlot(_ctx.$slots, `item.${i + 1}`, {
4696
+ _ctx.$slots[`item.${i + 1}`] || _ctx.$slots.item ? renderSlot(_ctx.$slots, _ctx.$slots[`item.${i + 1}`] ? `item.${i + 1}` : "item", {
4677
4697
  key: 0,
4678
4698
  item: $options.getOriginalItem(item),
4679
4699
  index: i + 1,
4680
4700
  checked: item.value === $props.modelValue,
4681
4701
  innerHTML: item.label
4682
- }) : _ctx.$slots.item ? renderSlot(_ctx.$slots, "item", {
4683
- key: 1,
4684
- item: $options.getOriginalItem(item),
4685
- index: i + 1,
4686
- checked: item.value === $props.modelValue,
4687
- innerHTML: item.label
4688
4702
  }) : item.label ? (openBlock(), createElementBlock("div", {
4689
- key: 2,
4703
+ key: 1,
4690
4704
  innerHTML: item.label
4691
- }, null, 8, _hoisted_1$d)) : createCommentVNode("", true)
4705
+ }, null, 8, _hoisted_1$c)) : createCommentVNode("", true)
4692
4706
  ]),
4693
4707
  _: 2
4694
- }, 1032, ["model-value", "onUpdate:modelValue", "name", "label", "label-on-left", "color", "disabled", "readonly", "class"]);
4708
+ }, 1040, ["model-value", "onUpdate:modelValue", "name", "disabled", "readonly", "class"]);
4695
4709
  }), 128))
4696
4710
  ]),
4697
4711
  _: 3
@@ -4709,7 +4723,8 @@ const _sfc_main$m = {
4709
4723
  itemValueKey: { type: String, default: "value" },
4710
4724
  itemColorKey: { type: String, default: "color" },
4711
4725
  inline: { type: Boolean },
4712
- color: { type: String, default: "primary" }
4726
+ color: { type: String, default: "primary" },
4727
+ labelColor: { type: String, default: "primary" }
4713
4728
  },
4714
4729
  emits: ["input", "update:modelValue", "focus"],
4715
4730
  provide() {
@@ -4746,7 +4761,7 @@ const _sfc_main$m = {
4746
4761
  }
4747
4762
  };
4748
4763
  var wRadios = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", render$m]]);
4749
- const _hoisted_1$c = ["id", "name", "value"];
4764
+ const _hoisted_1$b = ["id", "name", "value"];
4750
4765
  const _hoisted_2$7 = ["disabled", "onMouseenter", "onClick", "tabindex"];
4751
4766
  function render$l(_ctx, _cache, $props, $setup, $data, $options) {
4752
4767
  return openBlock(), createBlock(resolveDynamicComponent(_ctx.formRegister ? "w-form-element" : "div"), mergeProps({ ref: "formEl" }, _ctx.formRegister && { validators: _ctx.validators, inputValue: $data.rating, disabled: _ctx.isDisabled, readonly: _ctx.isReadonly }, {
@@ -4764,7 +4779,7 @@ function render$l(_ctx, _cache, $props, $setup, $data, $options) {
4764
4779
  name: _ctx.inputName,
4765
4780
  type: "hidden",
4766
4781
  value: $data.rating
4767
- }, null, 8, _hoisted_1$c),
4782
+ }, null, 8, _hoisted_1$b),
4768
4783
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.max, (i) => {
4769
4784
  return openBlock(), createElementBlock(Fragment, { key: i }, [
4770
4785
  _ctx.$slots.item ? renderSlot(_ctx.$slots, "item", {
@@ -4903,56 +4918,48 @@ const _sfc_main$l = {
4903
4918
  }
4904
4919
  };
4905
4920
  var wRating = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", render$l]]);
4906
- const _hoisted_1$b = ["for"];
4907
- const _hoisted_2$6 = ["for", "innerHTML"];
4908
- const _hoisted_3$6 = ["aria-expanded", "aria-owns", "aria-activedescendant"];
4909
- const _hoisted_4$5 = {
4921
+ const _hoisted_1$a = ["for"];
4922
+ const _hoisted_2$6 = ["aria-expanded", "aria-owns", "aria-activedescendant"];
4923
+ const _hoisted_3$6 = {
4910
4924
  key: 1,
4911
4925
  class: "w-select__selection-slot"
4912
4926
  };
4913
- const _hoisted_5$5 = ["value", "id", "placeholder", "disabled", "required", "tabindex"];
4914
- const _hoisted_6$4 = ["value", "name"];
4915
- const _hoisted_7$4 = ["for"];
4916
- const _hoisted_8$2 = ["for", "innerHTML"];
4917
- const _hoisted_9$2 = ["for"];
4918
- const _hoisted_10$2 = ["for", "innerHTML"];
4927
+ const _hoisted_4$5 = ["value", "id", "placeholder", "disabled", "required", "tabindex"];
4928
+ const _hoisted_5$4 = ["value", "name"];
4929
+ const _hoisted_6$2 = ["for"];
4930
+ const _hoisted_7$2 = ["for"];
4919
4931
  function render$k(_ctx, _cache, $props, $setup, $data, $options) {
4920
4932
  const _component_w_icon = resolveComponent("w-icon");
4921
4933
  const _component_w_list = resolveComponent("w-list");
4922
4934
  const _component_w_menu = resolveComponent("w-menu");
4923
4935
  return openBlock(), createBlock(resolveDynamicComponent(_ctx.formRegister ? "w-form-element" : "div"), mergeProps({ ref: "formEl" }, _ctx.formRegister && { validators: _ctx.validators, inputValue: $options.selectionString, disabled: _ctx.isDisabled, readonly: _ctx.isReadonly }, {
4924
4936
  valid: _ctx.valid,
4925
- "onUpdate:valid": _cache[11] || (_cache[11] = ($event) => _ctx.valid = $event),
4937
+ "onUpdate:valid": _cache[9] || (_cache[9] = ($event) => _ctx.valid = $event),
4926
4938
  onReset: $options.onReset,
4927
4939
  wrap: $options.hasLabel && $props.labelPosition !== "inside",
4928
4940
  class: $options.classes
4929
4941
  }), {
4930
4942
  default: withCtx(() => [
4931
4943
  $props.labelPosition === "left" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
4932
- _ctx.$slots.default ? (openBlock(), createElementBlock("label", {
4944
+ _ctx.$slots.default || $props.label ? (openBlock(), createElementBlock("label", {
4933
4945
  key: 0,
4934
- class: "w-select__label w-select__label--left w-form-el-shakable",
4946
+ class: normalizeClass(["w-select__label w-select__label--left w-form-el-shakable", _ctx.labelClasses]),
4935
4947
  for: `w-select--${_ctx._.uid}`
4936
4948
  }, [
4937
- renderSlot(_ctx.$slots, "default")
4938
- ], 8, _hoisted_1$b)) : $props.label ? (openBlock(), createElementBlock("label", {
4939
- key: 1,
4940
- class: "w-select__label w-select__label--left w-form-el-shakable",
4941
- for: `w-select--${_ctx._.uid}`,
4942
- innerHTML: $props.label
4943
- }, null, 8, _hoisted_2$6)) : createCommentVNode("", true)
4949
+ renderSlot(_ctx.$slots, "default", {}, () => [
4950
+ createTextVNode(toDisplayString($props.label), 1)
4951
+ ])
4952
+ ], 10, _hoisted_1$a)) : createCommentVNode("", true)
4944
4953
  ], 64)) : createCommentVNode("", true),
4945
4954
  createVNode(_component_w_menu, mergeProps({
4946
4955
  modelValue: _ctx.showMenu,
4947
4956
  "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => _ctx.showMenu = $event),
4948
4957
  "menu-class": `w-select__menu ${$props.menuClass || ""}`,
4949
4958
  transition: "slide-fade-down",
4950
- "append-to": ($props.menuProps || {}).appendTo !== void 0 ? ($props.menuProps || {}).appendTo : ".w-app",
4959
+ "append-to": ($props.menuProps || {}).appendTo !== void 0 ? ($props.menuProps || {}).appendTo : void 0,
4951
4960
  "align-left": "",
4952
4961
  custom: "",
4953
- "min-width": "activator",
4954
- onMousedown: _cache[9] || (_cache[9] = ($event) => (_ctx.isFocused = true, _ctx.selectingItem = true)),
4955
- onMouseup: _cache[10] || (_cache[10] = ($event) => (_ctx.isFocused = true, _ctx.selectingItem = false))
4962
+ "min-width": "activator"
4956
4963
  }, $props.menuProps || {}), {
4957
4964
  activator: withCtx(({ on }) => [
4958
4965
  createElementVNode("div", {
@@ -4975,7 +4982,7 @@ function render$k(_ctx, _cache, $props, $setup, $data, $options) {
4975
4982
  ]),
4976
4983
  _: 1
4977
4984
  })) : createCommentVNode("", true),
4978
- _ctx.$slots.selection ? (openBlock(), createElementBlock("div", _hoisted_4$5, [
4985
+ _ctx.$slots.selection ? (openBlock(), createElementBlock("div", _hoisted_3$6, [
4979
4986
  renderSlot(_ctx.$slots, "selection", {
4980
4987
  item: $props.multiple ? _ctx.inputValue : _ctx.inputValue[0]
4981
4988
  })
@@ -4996,28 +5003,25 @@ function render$k(_ctx, _cache, $props, $setup, $data, $options) {
4996
5003
  required: _ctx.required || null,
4997
5004
  tabindex: _ctx.tabindex || null,
4998
5005
  autocomplete: "off"
4999
- }, null, 40, _hoisted_5$5),
5006
+ }, null, 40, _hoisted_4$5),
5000
5007
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.inputValue.length ? _ctx.inputValue : [{}], (val, i) => {
5001
5008
  return openBlock(), createElementBlock("input", {
5002
5009
  key: i,
5003
5010
  type: "hidden",
5004
5011
  value: val.value || "",
5005
5012
  name: _ctx.inputName + ($props.multiple ? "[]" : "")
5006
- }, null, 8, _hoisted_6$4);
5013
+ }, null, 8, _hoisted_5$4);
5007
5014
  }), 128)),
5008
5015
  $props.labelPosition === "inside" && $options.showLabelInside ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
5009
- _ctx.$slots.default ? (openBlock(), createElementBlock("label", {
5016
+ _ctx.$slots.default || $props.label ? (openBlock(), createElementBlock("label", {
5010
5017
  key: 0,
5011
- class: normalizeClass(["w-select__label w-select__label--inside w-form-el-shakable", _ctx.isFocused && { [_ctx.valid === false ? "error" : $props.color]: $props.color || _ctx.valid === false }]),
5018
+ class: normalizeClass(["w-select__label w-select__label--inside w-form-el-shakable", _ctx.labelClasses]),
5012
5019
  for: `w-select--${_ctx._.uid}`
5013
5020
  }, [
5014
- renderSlot(_ctx.$slots, "default")
5015
- ], 10, _hoisted_7$4)) : $props.label ? (openBlock(), createElementBlock("label", {
5016
- key: 1,
5017
- class: normalizeClass(["w-select__label w-select__label--inside w-form-el-shakable", _ctx.isFocused && { [_ctx.valid === false ? "error" : $props.color]: $props.color || _ctx.valid === false }]),
5018
- for: `w-select--${_ctx._.uid}`,
5019
- innerHTML: $props.label
5020
- }, null, 10, _hoisted_8$2)) : createCommentVNode("", true)
5021
+ renderSlot(_ctx.$slots, "default", {}, () => [
5022
+ createTextVNode(toDisplayString($props.label), 1)
5023
+ ])
5024
+ ], 10, _hoisted_6$2)) : createCommentVNode("", true)
5021
5025
  ], 64)) : createCommentVNode("", true),
5022
5026
  $props.innerIconRight ? (openBlock(), createBlock(_component_w_icon, {
5023
5027
  key: 3,
@@ -5030,7 +5034,7 @@ function render$k(_ctx, _cache, $props, $setup, $data, $options) {
5030
5034
  ]),
5031
5035
  _: 1
5032
5036
  })) : createCommentVNode("", true)
5033
- ], 10, _hoisted_3$6)
5037
+ ], 10, _hoisted_2$6)
5034
5038
  ]),
5035
5039
  default: withCtx(() => [
5036
5040
  createVNode(_component_w_list, {
@@ -5079,18 +5083,15 @@ function render$k(_ctx, _cache, $props, $setup, $data, $options) {
5079
5083
  _: 3
5080
5084
  }, 16, ["modelValue", "menu-class", "append-to"]),
5081
5085
  $props.labelPosition === "right" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
5082
- _ctx.$slots.default ? (openBlock(), createElementBlock("label", {
5086
+ _ctx.$slots.default || $props.label ? (openBlock(), createElementBlock("label", {
5083
5087
  key: 0,
5084
- class: "w-select__label w-select__label--right w-form-el-shakable",
5088
+ class: normalizeClass(["w-select__label w-select__label--right w-form-el-shakable", _ctx.labelClasses]),
5085
5089
  for: `w-select--${_ctx._.uid}`
5086
5090
  }, [
5087
- renderSlot(_ctx.$slots, "default")
5088
- ], 8, _hoisted_9$2)) : $props.label ? (openBlock(), createElementBlock("label", {
5089
- key: 1,
5090
- class: "w-select__label w-select__label--right w-form-el-shakable",
5091
- for: `w-select--${_ctx._.uid}`,
5092
- innerHTML: $props.label
5093
- }, null, 8, _hoisted_10$2)) : createCommentVNode("", true)
5091
+ renderSlot(_ctx.$slots, "default", {}, () => [
5092
+ createTextVNode(toDisplayString($props.label), 1)
5093
+ ])
5094
+ ], 10, _hoisted_7$2)) : createCommentVNode("", true)
5094
5095
  ], 64)) : createCommentVNode("", true)
5095
5096
  ]),
5096
5097
  _: 3
@@ -5116,8 +5117,9 @@ const _sfc_main$k = {
5116
5117
  itemClass: { type: String },
5117
5118
  menuClass: { type: String },
5118
5119
  color: { type: String, default: "primary" },
5119
- selectionColor: { type: String, default: "primary" },
5120
5120
  bgColor: { type: String },
5121
+ labelColor: { type: String, default: "primary" },
5122
+ selectionColor: { type: String, default: "primary" },
5121
5123
  outline: { type: Boolean },
5122
5124
  round: { type: Boolean },
5123
5125
  shadow: { type: Boolean },
@@ -5133,7 +5135,6 @@ const _sfc_main$k = {
5133
5135
  showMenu: false,
5134
5136
  menuMinWidth: 0,
5135
5137
  isFocused: false,
5136
- selectingItem: false,
5137
5138
  selectionWrapRef: void 0
5138
5139
  }),
5139
5140
  computed: {
@@ -5163,7 +5164,7 @@ const _sfc_main$k = {
5163
5164
  "w-select--disabled": this.isDisabled,
5164
5165
  "w-select--readonly": this.isReadonly,
5165
5166
  [`w-select--${this.hasValue ? "filled" : "empty"}`]: true,
5166
- "w-select--focused": (this.isFocused || this.selectingItem) && !this.isReadonly,
5167
+ "w-select--focused": (this.isFocused || this.showMenu) && !this.isReadonly,
5167
5168
  "w-select--dark": this.dark,
5168
5169
  "w-select--floating-label": this.hasLabel && this.labelPosition === "inside" && !this.staticLabel,
5169
5170
  "w-select--no-padding": !this.outline && !this.bgColor && !this.shadow && !this.round,
@@ -5276,13 +5277,13 @@ const _sfc_main$k = {
5276
5277
  }
5277
5278
  };
5278
5279
  var wSelect = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["render", render$k]]);
5279
- const _hoisted_1$a = ["for"];
5280
+ const _hoisted_1$9 = ["for"];
5280
5281
  const _hoisted_2$5 = ["for", "innerHTML"];
5281
5282
  const _hoisted_3$5 = { class: "w-slider__track-wrap" };
5282
5283
  const _hoisted_4$4 = ["aria-valuemin", "aria-valuemax", "aria-valuenow", "aria-readonly"];
5283
- const _hoisted_5$4 = ["id", "name", "model-value", "disabled", "readonly", "aria-readonly"];
5284
- const _hoisted_6$3 = ["for"];
5285
- const _hoisted_7$3 = { key: 0 };
5284
+ const _hoisted_5$3 = ["id", "name", "model-value", "disabled", "readonly", "aria-readonly", "tabindex"];
5285
+ const _hoisted_6$1 = ["for"];
5286
+ const _hoisted_7$1 = { key: 0 };
5286
5287
  const _hoisted_8$1 = {
5287
5288
  key: 0,
5288
5289
  class: "w-slider__step-labels"
@@ -5298,22 +5299,22 @@ function render$j(_ctx, _cache, $props, $setup, $data, $options) {
5298
5299
  _ctx.rangeValuePercent = 0;
5299
5300
  $options.updateRangeValueScaled();
5300
5301
  }),
5301
- wrap: "",
5302
+ wrap: _ctx.formRegister || null,
5302
5303
  class: $options.wrapperClasses
5303
5304
  }), {
5304
5305
  default: withCtx(() => [
5305
5306
  _ctx.$slots["label-left"] ? (openBlock(), createElementBlock("label", {
5306
5307
  key: 0,
5307
- class: "w-slider__label w-slider__label--left w-form-el-shakable",
5308
+ class: normalizeClass(["w-slider__label w-slider__label--left w-form-el-shakable", _ctx.labelClasses]),
5308
5309
  for: `button--${_ctx._.uid}`
5309
5310
  }, [
5310
5311
  renderSlot(_ctx.$slots, "label-left")
5311
- ], 8, _hoisted_1$a)) : $props.labelLeft ? (openBlock(), createElementBlock("label", {
5312
+ ], 10, _hoisted_1$9)) : $props.labelLeft ? (openBlock(), createElementBlock("label", {
5312
5313
  key: 1,
5313
- class: "w-slider__label w-slider__label--left w-form-el-shakable",
5314
+ class: normalizeClass(["w-slider__label w-slider__label--left w-form-el-shakable", _ctx.labelClasses]),
5314
5315
  for: `button--${_ctx._.uid}`,
5315
5316
  innerHTML: $props.labelLeft
5316
- }, null, 8, _hoisted_2$5)) : createCommentVNode("", true),
5317
+ }, null, 10, _hoisted_2$5)) : createCommentVNode("", true),
5317
5318
  createElementVNode("div", _hoisted_3$5, [
5318
5319
  createElementVNode("div", {
5319
5320
  class: normalizeClass(["w-slider__track", $options.trackClasses]),
@@ -5345,6 +5346,7 @@ function render$j(_ctx, _cache, $props, $setup, $data, $options) {
5345
5346
  disabled: _ctx.isDisabled || null,
5346
5347
  readonly: _ctx.isReadonly || null,
5347
5348
  "aria-readonly": _ctx.isReadonly ? "true" : "false",
5349
+ tabindex: _ctx.isDisabled || _ctx.isReadonly ? -1 : null,
5348
5350
  onKeydown: [
5349
5351
  _cache[0] || (_cache[0] = withKeys(($event) => $options.onKeyDown($event, -1), ["left"])),
5350
5352
  _cache[1] || (_cache[1] = withKeys(($event) => $options.onKeyDown($event, 1), ["right"]))
@@ -5352,13 +5354,13 @@ function render$j(_ctx, _cache, $props, $setup, $data, $options) {
5352
5354
  onFocus: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("focus", $event)),
5353
5355
  onClick: _cache[3] || (_cache[3] = withModifiers(() => {
5354
5356
  }, ["prevent"]))
5355
- }, null, 42, _hoisted_5$4),
5357
+ }, null, 42, _hoisted_5$3),
5356
5358
  $props.thumbLabel ? (openBlock(), createElementBlock("label", {
5357
5359
  key: 0,
5358
5360
  class: normalizeClass(["w-slider__thumb-label", $options.thumbClasses]),
5359
5361
  for: `button--${_ctx._.uid}`
5360
5362
  }, [
5361
- $props.thumbLabel === "droplet" ? (openBlock(), createElementBlock("div", _hoisted_7$3, [
5363
+ $props.thumbLabel === "droplet" ? (openBlock(), createElementBlock("div", _hoisted_7$1, [
5362
5364
  renderSlot(_ctx.$slots, "label", { value: _ctx.rangeValueScaled }, () => [
5363
5365
  createTextVNode(toDisplayString(~~_ctx.rangeValueScaled), 1)
5364
5366
  ])
@@ -5368,7 +5370,7 @@ function render$j(_ctx, _cache, $props, $setup, $data, $options) {
5368
5370
  }, () => [
5369
5371
  createTextVNode(toDisplayString(~~_ctx.rangeValueScaled), 1)
5370
5372
  ])
5371
- ], 10, _hoisted_6$3)) : createCommentVNode("", true)
5373
+ ], 10, _hoisted_6$1)) : createCommentVNode("", true)
5372
5374
  ], 4)
5373
5375
  ], 42, _hoisted_4$4),
5374
5376
  $props.stepLabels && $props.step ? (openBlock(), createElementBlock("div", _hoisted_8$1, [
@@ -5394,19 +5396,19 @@ function render$j(_ctx, _cache, $props, $setup, $data, $options) {
5394
5396
  ]),
5395
5397
  _ctx.$slots["label-right"] ? (openBlock(), createElementBlock("label", {
5396
5398
  key: 2,
5397
- class: "w-slider__label w-slider__label--right w-form-el-shakable",
5399
+ class: normalizeClass(["w-slider__label w-slider__label--right w-form-el-shakable", _ctx.labelClasses]),
5398
5400
  for: `button--${_ctx._.uid}`
5399
5401
  }, [
5400
5402
  renderSlot(_ctx.$slots, "label-right")
5401
- ], 8, _hoisted_10$1)) : $props.labelRight ? (openBlock(), createElementBlock("label", {
5403
+ ], 10, _hoisted_10$1)) : $props.labelRight ? (openBlock(), createElementBlock("label", {
5402
5404
  key: 3,
5403
- class: "w-slider__label w-slider__label--right w-form-el-shakable",
5405
+ class: normalizeClass(["w-slider__label w-slider__label--right w-form-el-shakable", _ctx.labelClasses]),
5404
5406
  for: `button--${_ctx._.uid}`,
5405
5407
  innerHTML: $props.labelRight
5406
- }, null, 8, _hoisted_11$1)) : createCommentVNode("", true)
5408
+ }, null, 10, _hoisted_11$1)) : createCommentVNode("", true)
5407
5409
  ]),
5408
5410
  _: 3
5409
- }, 16, ["valid", "class"]);
5411
+ }, 16, ["valid", "wrap", "class"]);
5410
5412
  }
5411
5413
  var wSlider_vue_vue_type_style_index_0_lang = "";
5412
5414
  const _sfc_main$j = {
@@ -5416,6 +5418,7 @@ const _sfc_main$j = {
5416
5418
  modelValue: { type: Number, default: 0 },
5417
5419
  color: { type: String, default: "primary" },
5418
5420
  bgColor: { type: String },
5421
+ labelColor: { type: String, default: "primary" },
5419
5422
  stepLabels: { type: [Boolean, Array] },
5420
5423
  thumbLabel: { type: [Boolean, String] },
5421
5424
  thumbLabelClass: { type: String },
@@ -5563,14 +5566,14 @@ const _sfc_main$j = {
5563
5566
  }
5564
5567
  };
5565
5568
  var wSlider = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["render", render$j]]);
5566
- const _hoisted_1$9 = { key: 0 };
5569
+ const _hoisted_1$8 = { key: 0 };
5567
5570
  function render$i(_ctx, _cache, $props, $setup, $data, $options) {
5568
5571
  return $props.modelValue || $props.modelValue === void 0 ? (openBlock(), createElementBlock("div", {
5569
5572
  key: 0,
5570
5573
  class: normalizeClass(["w-spinner", $options.classes]),
5571
5574
  style: normalizeStyle($options.styles)
5572
5575
  }, [
5573
- $options.isThreeDots ? (openBlock(), createElementBlock("span", _hoisted_1$9)) : createCommentVNode("", true)
5576
+ $options.isThreeDots ? (openBlock(), createElementBlock("span", _hoisted_1$8)) : createCommentVNode("", true)
5574
5577
  ], 6)) : createCommentVNode("", true);
5575
5578
  }
5576
5579
  var wSpinner_vue_vue_type_style_index_0_lang = "";
@@ -5614,9 +5617,9 @@ const _sfc_main$i = {
5614
5617
  }
5615
5618
  };
5616
5619
  var wSpinner = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["render", render$i]]);
5617
- const _hoisted_1$8 = { class: "w-steps" };
5620
+ const _hoisted_1$7 = { class: "w-steps" };
5618
5621
  function render$h(_ctx, _cache, $props, $setup, $data, $options) {
5619
- return openBlock(), createElementBlock("div", _hoisted_1$8);
5622
+ return openBlock(), createElementBlock("div", _hoisted_1$7);
5620
5623
  }
5621
5624
  var wSteps_vue_vue_type_style_index_0_lang = "";
5622
5625
  const _sfc_main$h = {
@@ -5626,19 +5629,17 @@ const _sfc_main$h = {
5626
5629
  data: () => ({})
5627
5630
  };
5628
5631
  var wSteps = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", render$h]]);
5629
- const _hoisted_1$7 = ["id", "name", "checked", "disabled", "readonly", "aria-readonly", "required", "tabindex", "aria-checked"];
5632
+ const _hoisted_1$6 = ["id", "name", "checked", "disabled", "readonly", "aria-readonly", "required", "tabindex", "aria-checked"];
5630
5633
  const _hoisted_2$4 = ["for"];
5631
- const _hoisted_3$4 = ["for", "innerHTML"];
5632
- const _hoisted_4$3 = {
5634
+ const _hoisted_3$4 = {
5633
5635
  key: 0,
5634
5636
  class: "w-switch__track"
5635
5637
  };
5636
- const _hoisted_5$3 = {
5638
+ const _hoisted_4$3 = {
5637
5639
  key: 1,
5638
5640
  class: "w-switch__thumb"
5639
5641
  };
5640
- const _hoisted_6$2 = ["for"];
5641
- const _hoisted_7$2 = ["for", "innerHTML"];
5642
+ const _hoisted_5$2 = ["for"];
5642
5643
  function render$g(_ctx, _cache, $props, $setup, $data, $options) {
5643
5644
  return openBlock(), createBlock(resolveDynamicComponent(_ctx.formRegister ? "w-form-element" : "div"), mergeProps({ ref: "formEl" }, _ctx.formRegister && { validators: _ctx.validators, inputValue: $data.isOn, disabled: _ctx.isDisabled, readonly: _ctx.isReadonly }, {
5644
5645
  valid: _ctx.valid,
@@ -5665,20 +5666,17 @@ function render$g(_ctx, _cache, $props, $setup, $data, $options) {
5665
5666
  onFocus: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("focus", $event)),
5666
5667
  "aria-checked": $data.isOn || "false",
5667
5668
  role: "switch"
5668
- }, null, 40, _hoisted_1$7),
5669
+ }, null, 40, _hoisted_1$6),
5669
5670
  $options.hasLabel && $props.labelOnLeft ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
5670
- _ctx.$slots.default ? (openBlock(), createElementBlock("label", {
5671
+ _ctx.$slots.default || $props.label ? (openBlock(), createElementBlock("label", {
5671
5672
  key: 0,
5672
- class: "w-switch__label w-form-el-shakable",
5673
+ class: normalizeClass(["w-switch__label w-switch__label--left w-form-el-shakable", _ctx.labelClasses]),
5673
5674
  for: `w-switch--${_ctx._.uid}`
5674
5675
  }, [
5675
- renderSlot(_ctx.$slots, "default")
5676
- ], 8, _hoisted_2$4)) : $props.label ? (openBlock(), createElementBlock("label", {
5677
- key: 1,
5678
- class: "w-switch__label w-form-el-shakable",
5679
- for: `w-switch--${_ctx._.uid}`,
5680
- innerHTML: $props.label
5681
- }, null, 8, _hoisted_3$4)) : createCommentVNode("", true)
5676
+ renderSlot(_ctx.$slots, "default", {}, () => [
5677
+ createTextVNode(toDisplayString($props.label), 1)
5678
+ ])
5679
+ ], 10, _hoisted_2$4)) : createCommentVNode("", true)
5682
5680
  ], 64)) : createCommentVNode("", true),
5683
5681
  createElementVNode("div", mergeProps({
5684
5682
  class: "w-switch__input",
@@ -5687,26 +5685,23 @@ function render$g(_ctx, _cache, $props, $setup, $data, $options) {
5687
5685
  _ctx.$refs.input.click();
5688
5686
  })
5689
5687
  }, toHandlers(_ctx.$attrs), { class: $options.inputClasses }), [
5690
- _ctx.$slots.track ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
5688
+ _ctx.$slots.track ? (openBlock(), createElementBlock("div", _hoisted_3$4, [
5691
5689
  renderSlot(_ctx.$slots, "track")
5692
5690
  ])) : createCommentVNode("", true),
5693
- _ctx.$slots.thumb ? (openBlock(), createElementBlock("div", _hoisted_5$3, [
5691
+ _ctx.$slots.thumb ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
5694
5692
  renderSlot(_ctx.$slots, "thumb")
5695
5693
  ])) : createCommentVNode("", true)
5696
5694
  ], 16),
5697
5695
  $options.hasLabel && !$props.labelOnLeft ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
5698
- _ctx.$slots.default ? (openBlock(), createElementBlock("label", {
5696
+ _ctx.$slots.default || $props.label ? (openBlock(), createElementBlock("label", {
5699
5697
  key: 0,
5700
- class: "w-switch__label w-form-el-shakable",
5698
+ class: normalizeClass(["w-switch__label w-switch__label--right w-form-el-shakable", _ctx.labelClasses]),
5701
5699
  for: `w-switch--${_ctx._.uid}`
5702
5700
  }, [
5703
- renderSlot(_ctx.$slots, "default")
5704
- ], 8, _hoisted_6$2)) : $props.label ? (openBlock(), createElementBlock("label", {
5705
- key: 1,
5706
- class: "w-switch__label w-form-el-shakable",
5707
- for: `w-switch--${_ctx._.uid}`,
5708
- innerHTML: $props.label
5709
- }, null, 8, _hoisted_7$2)) : createCommentVNode("", true)
5701
+ renderSlot(_ctx.$slots, "default", {}, () => [
5702
+ createTextVNode(toDisplayString($props.label), 1)
5703
+ ])
5704
+ ], 10, _hoisted_5$2)) : createCommentVNode("", true)
5710
5705
  ], 64)) : createCommentVNode("", true)
5711
5706
  ]),
5712
5707
  _: 3
@@ -5721,6 +5716,7 @@ const _sfc_main$g = {
5721
5716
  label: { type: String, default: "" },
5722
5717
  labelOnLeft: { type: Boolean },
5723
5718
  color: { type: String, default: "primary" },
5719
+ labelColor: { type: String, default: "primary" },
5724
5720
  thin: { type: Boolean },
5725
5721
  noRipple: { type: Boolean }
5726
5722
  },
@@ -5786,9 +5782,9 @@ const _sfc_main$g = {
5786
5782
  }
5787
5783
  };
5788
5784
  var wSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["render", render$g]]);
5789
- const _hoisted_1$6 = { class: "w-tabs__content" };
5785
+ const _hoisted_1$5 = { class: "w-tabs__content" };
5790
5786
  function render$f(_ctx, _cache, $props, $setup, $data, $options) {
5791
- return openBlock(), createElementBlock("div", _hoisted_1$6, [
5787
+ return openBlock(), createElementBlock("div", _hoisted_1$5, [
5792
5788
  renderSlot(_ctx.$slots, "default", { item: $props.item })
5793
5789
  ]);
5794
5790
  }
@@ -5796,7 +5792,7 @@ const _sfc_main$f = {
5796
5792
  props: { item: Object }
5797
5793
  };
5798
5794
  var TabContent = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["render", render$f]]);
5799
- const _hoisted_1$5 = ["onClick", "onFocus", "tabindex", "onKeypress", "aria-selected"];
5795
+ const _hoisted_1$4 = ["onClick", "onFocus", "tabindex", "onKeypress", "aria-selected"];
5800
5796
  const _hoisted_2$3 = ["innerHTML"];
5801
5797
  const _hoisted_3$3 = {
5802
5798
  key: 0,
@@ -5806,7 +5802,7 @@ const _hoisted_4$2 = {
5806
5802
  key: 0,
5807
5803
  class: "w-tabs__content-wrap"
5808
5804
  };
5809
- const _hoisted_5$2 = ["innerHTML"];
5805
+ const _hoisted_5$1 = ["innerHTML"];
5810
5806
  function render$e(_ctx, _cache, $props, $setup, $data, $options) {
5811
5807
  const _component_tab_content = resolveComponent("tab-content");
5812
5808
  return openBlock(), createElementBlock("div", {
@@ -5842,7 +5838,7 @@ function render$e(_ctx, _cache, $props, $setup, $data, $options) {
5842
5838
  innerHTML: item[$props.itemTitleKey]
5843
5839
  }, null, 8, _hoisted_2$3)
5844
5840
  ])
5845
- ], 42, _hoisted_1$5);
5841
+ ], 42, _hoisted_1$4);
5846
5842
  }), 128)),
5847
5843
  _ctx.$slots["tabs-bar-extra"] ? (openBlock(), createElementBlock("div", _hoisted_3$3, [
5848
5844
  renderSlot(_ctx.$slots, "tabs-bar-extra")
@@ -5880,7 +5876,7 @@ function render$e(_ctx, _cache, $props, $setup, $data, $options) {
5880
5876
  item[$props.itemContentKey] ? (openBlock(), createElementBlock("div", {
5881
5877
  key: 0,
5882
5878
  innerHTML: item[$props.itemContentKey]
5883
- }, null, 8, _hoisted_5$2)) : createCommentVNode("", true)
5879
+ }, null, 8, _hoisted_5$1)) : createCommentVNode("", true)
5884
5880
  ])
5885
5881
  ]),
5886
5882
  _: 3
@@ -6054,13 +6050,13 @@ const _sfc_main$e = {
6054
6050
  }
6055
6051
  };
6056
6052
  var index = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["render", render$e]]);
6057
- const _hoisted_1$4 = { ref: "colgroup" };
6053
+ const _hoisted_1$3 = { ref: "colgroup" };
6058
6054
  const _hoisted_2$2 = ["width"];
6059
6055
  const _hoisted_3$2 = { key: 0 };
6060
6056
  const _hoisted_4$1 = ["onClick"];
6061
- const _hoisted_5$1 = /* @__PURE__ */ createTextVNode("wi-arrow-down");
6062
- const _hoisted_6$1 = ["innerHTML"];
6063
- const _hoisted_7$1 = /* @__PURE__ */ createTextVNode("wi-arrow-down");
6057
+ const _hoisted_5 = /* @__PURE__ */ createTextVNode("wi-arrow-down");
6058
+ const _hoisted_6 = ["innerHTML"];
6059
+ const _hoisted_7 = /* @__PURE__ */ createTextVNode("wi-arrow-down");
6064
6060
  const _hoisted_8 = {
6065
6061
  key: 0,
6066
6062
  class: "w-table__progress-bar"
@@ -6097,7 +6093,7 @@ function render$d(_ctx, _cache, $props, $setup, $data, $options) {
6097
6093
  onMouseover: _cache[2] || (_cache[2] = (...args) => $options.onMouseOver && $options.onMouseOver(...args)),
6098
6094
  onMouseout: _cache[3] || (_cache[3] = (...args) => $options.onMouseOut && $options.onMouseOut(...args))
6099
6095
  }, [
6100
- createElementVNode("colgroup", _hoisted_1$4, [
6096
+ createElementVNode("colgroup", _hoisted_1$3, [
6101
6097
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.headers, (header, i) => {
6102
6098
  return openBlock(), createElementBlock("col", {
6103
6099
  class: "w-table__col",
@@ -6119,7 +6115,7 @@ function render$d(_ctx, _cache, $props, $setup, $data, $options) {
6119
6115
  class: normalizeClass(["w-table__header-sort", $options.headerSortClasses(header)])
6120
6116
  }, {
6121
6117
  default: withCtx(() => [
6122
- _hoisted_5$1
6118
+ _hoisted_5
6123
6119
  ]),
6124
6120
  _: 2
6125
6121
  }, 1032, ["class"])) : createCommentVNode("", true),
@@ -6134,14 +6130,14 @@ function render$d(_ctx, _cache, $props, $setup, $data, $options) {
6134
6130
  ]) : (openBlock(), createElementBlock("span", {
6135
6131
  key: 1,
6136
6132
  innerHTML: header.label || ""
6137
- }, null, 8, _hoisted_6$1))
6133
+ }, null, 8, _hoisted_6))
6138
6134
  ], 64)) : createCommentVNode("", true),
6139
6135
  header.sortable !== false && header.align !== "right" ? (openBlock(), createBlock(_component_w_icon, {
6140
6136
  key: 2,
6141
6137
  class: normalizeClass(["w-table__header-sort", $options.headerSortClasses(header)])
6142
6138
  }, {
6143
6139
  default: withCtx(() => [
6144
- _hoisted_7$1
6140
+ _hoisted_7
6145
6141
  ]),
6146
6142
  _: 2
6147
6143
  }, 1032, ["class"])) : createCommentVNode("", true),
@@ -6535,7 +6531,7 @@ const _sfc_main$d = {
6535
6531
  }
6536
6532
  };
6537
6533
  var wTable = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["render", render$d]]);
6538
- const _hoisted_1$3 = ["role", "aria-pressed", "tabindex"];
6534
+ const _hoisted_1$2 = ["role", "aria-pressed", "tabindex"];
6539
6535
  function render$c(_ctx, _cache, $props, $setup, $data, $options) {
6540
6536
  return openBlock(), createElementBlock("span", mergeProps({ class: "w-tag" }, toHandlers(_ctx.$attrs), {
6541
6537
  onClick: _cache[1] || (_cache[1] = ($event) => {
@@ -6563,7 +6559,7 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) {
6563
6559
  role: "icon",
6564
6560
  "aria-hidden": "true"
6565
6561
  })) : createCommentVNode("", true)
6566
- ], 16, _hoisted_1$3);
6562
+ ], 16, _hoisted_1$2);
6567
6563
  }
6568
6564
  var wTag_vue_vue_type_style_index_0_lang = "";
6569
6565
  const _sfc_main$c = {
@@ -6615,13 +6611,10 @@ const _sfc_main$c = {
6615
6611
  }
6616
6612
  };
6617
6613
  var wTag = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["render", render$c]]);
6618
- const _hoisted_1$2 = ["for"];
6619
- const _hoisted_2$1 = ["for", "innerHTML"];
6620
- const _hoisted_3$1 = ["id", "name", "placeholder", "rows", "cols", "readonly", "aria-readonly", "disabled", "required", "tabindex"];
6614
+ const _hoisted_1$1 = ["for"];
6615
+ const _hoisted_2$1 = ["id", "name", "placeholder", "rows", "cols", "readonly", "aria-readonly", "disabled", "required", "tabindex"];
6616
+ const _hoisted_3$1 = ["for"];
6621
6617
  const _hoisted_4 = ["for"];
6622
- const _hoisted_5 = ["for", "innerHTML"];
6623
- const _hoisted_6 = ["for"];
6624
- const _hoisted_7 = ["for", "innerHTML"];
6625
6618
  function render$b(_ctx, _cache, $props, $setup, $data, $options) {
6626
6619
  const _component_w_icon = resolveComponent("w-icon");
6627
6620
  return openBlock(), createBlock(resolveDynamicComponent(_ctx.formRegister ? "w-form-element" : "div"), mergeProps({ ref: "formEl" }, _ctx.formRegister && { validators: _ctx.validators, inputValue: $data.inputValue, disabled: _ctx.isDisabled, readonly: _ctx.isReadonly, isFocused: $data.isFocused }, {
@@ -6636,18 +6629,15 @@ function render$b(_ctx, _cache, $props, $setup, $data, $options) {
6636
6629
  }), {
6637
6630
  default: withCtx(() => [
6638
6631
  $props.labelPosition === "left" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
6639
- _ctx.$slots.default ? (openBlock(), createElementBlock("label", {
6632
+ _ctx.$slots.default || $props.label ? (openBlock(), createElementBlock("label", {
6640
6633
  key: 0,
6641
- class: "w-textarea__label w-textarea__label--left w-form-el-shakable",
6634
+ class: normalizeClass(["w-textarea__label w-textarea__label--left w-form-el-shakable", _ctx.labelClasses]),
6642
6635
  for: `w-textarea--${_ctx._.uid}`
6643
6636
  }, [
6644
- renderSlot(_ctx.$slots, "default")
6645
- ], 8, _hoisted_1$2)) : $props.label ? (openBlock(), createElementBlock("label", {
6646
- key: 1,
6647
- class: "w-textarea__label w-textarea__label--left w-form-el-shakable",
6648
- for: `w-textarea--${_ctx._.uid}`,
6649
- innerHTML: $props.label
6650
- }, null, 8, _hoisted_2$1)) : createCommentVNode("", true)
6637
+ renderSlot(_ctx.$slots, "default", {}, () => [
6638
+ createTextVNode(toDisplayString($props.label), 1)
6639
+ ])
6640
+ ], 10, _hoisted_1$1)) : createCommentVNode("", true)
6651
6641
  ], 64)) : createCommentVNode("", true),
6652
6642
  createElementVNode("div", {
6653
6643
  class: normalizeClass(["w-textarea__textarea-wrap", $options.inputWrapClasses])
@@ -6682,22 +6672,19 @@ function render$b(_ctx, _cache, $props, $setup, $data, $options) {
6682
6672
  disabled: _ctx.isDisabled || null,
6683
6673
  required: _ctx.required || null,
6684
6674
  tabindex: _ctx.tabindex || null
6685
- }), null, 16, _hoisted_3$1), [
6675
+ }), null, 16, _hoisted_2$1), [
6686
6676
  [vModelText, $data.inputValue]
6687
6677
  ]),
6688
6678
  $props.labelPosition === "inside" && $options.showLabelInside ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
6689
- _ctx.$slots.default ? (openBlock(), createElementBlock("label", {
6679
+ _ctx.$slots.default || $props.label ? (openBlock(), createElementBlock("label", {
6690
6680
  key: 0,
6691
- class: normalizeClass(["w-textarea__label w-textarea__label--inside w-form-el-shakable", $data.isFocused && { [_ctx.valid === false ? "error" : this.color]: this.color || _ctx.valid === false }]),
6681
+ class: normalizeClass(["w-textarea__label w-textarea__label--inside w-form-el-shakable", _ctx.labelClasses]),
6692
6682
  for: `w-textarea--${_ctx._.uid}`
6693
6683
  }, [
6694
- renderSlot(_ctx.$slots, "default")
6695
- ], 10, _hoisted_4)) : $props.label ? (openBlock(), createElementBlock("label", {
6696
- key: 1,
6697
- class: normalizeClass(["w-textarea__label w-textarea__label--inside w-form-el-shakable", $data.isFocused && { [_ctx.valid === false ? "error" : $props.color]: $props.color || _ctx.valid === false }]),
6698
- for: `w-textarea--${_ctx._.uid}`,
6699
- innerHTML: $props.label
6700
- }, null, 10, _hoisted_5)) : createCommentVNode("", true)
6684
+ renderSlot(_ctx.$slots, "default", {}, () => [
6685
+ createTextVNode(toDisplayString($props.label), 1)
6686
+ ])
6687
+ ], 10, _hoisted_3$1)) : createCommentVNode("", true)
6701
6688
  ], 64)) : createCommentVNode("", true),
6702
6689
  $props.innerIconRight ? (openBlock(), createBlock(_component_w_icon, {
6703
6690
  key: 2,
@@ -6713,18 +6700,15 @@ function render$b(_ctx, _cache, $props, $setup, $data, $options) {
6713
6700
  }, 8, ["for"])) : createCommentVNode("", true)
6714
6701
  ], 2),
6715
6702
  $props.labelPosition === "right" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
6716
- _ctx.$slots.default ? (openBlock(), createElementBlock("label", {
6703
+ _ctx.$slots.default || $props.label ? (openBlock(), createElementBlock("label", {
6717
6704
  key: 0,
6718
- class: "w-textarea__label w-textarea__label--right w-form-el-shakable",
6705
+ class: normalizeClass(["w-textarea__label w-textarea__label--right w-form-el-shakable", _ctx.labelClasses]),
6719
6706
  for: `w-textarea--${_ctx._.uid}`
6720
6707
  }, [
6721
- renderSlot(_ctx.$slots, "default")
6722
- ], 8, _hoisted_6)) : $props.label ? (openBlock(), createElementBlock("label", {
6723
- key: 1,
6724
- class: "w-textarea__label w-textarea__label--right w-form-el-shakable",
6725
- for: `w-textarea--${_ctx._.uid}`,
6726
- innerHTML: $props.label
6727
- }, null, 8, _hoisted_7)) : createCommentVNode("", true)
6708
+ renderSlot(_ctx.$slots, "default", {}, () => [
6709
+ createTextVNode(toDisplayString($props.label), 1)
6710
+ ])
6711
+ ], 10, _hoisted_4)) : createCommentVNode("", true)
6728
6712
  ], 64)) : createCommentVNode("", true)
6729
6713
  ]),
6730
6714
  _: 3
@@ -6744,6 +6728,7 @@ const _sfc_main$b = {
6744
6728
  placeholder: { type: String },
6745
6729
  color: { type: String, default: "primary" },
6746
6730
  bgColor: { type: String },
6731
+ labelColor: { type: String, default: "primary" },
6747
6732
  dark: { type: Boolean },
6748
6733
  outline: { type: Boolean },
6749
6734
  shadow: { type: Boolean },
@@ -6795,7 +6780,7 @@ const _sfc_main$b = {
6795
6780
  },
6796
6781
  inputWrapClasses() {
6797
6782
  return {
6798
- [this.valid === false ? "error" : this.color]: this.color || this.valid === false,
6783
+ [this.valid === false ? this.validationColor : this.color]: this.color || this.valid === false,
6799
6784
  [`${this.bgColor}--bg`]: this.bgColor,
6800
6785
  "w-textarea__textarea-wrap--tile": this.tile,
6801
6786
  "w-textarea__textarea-wrap--box": this.outline || this.bgColor || this.shadow,
@@ -6866,11 +6851,11 @@ const _sfc_main$b = {
6866
6851
  }
6867
6852
  };
6868
6853
  var wTextarea = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", render$b]]);
6869
- const _hoisted_1$1 = { class: "w-timeline" };
6854
+ const _hoisted_1 = { class: "w-timeline" };
6870
6855
  const _hoisted_2 = ["innerHTML"];
6871
6856
  const _hoisted_3 = ["innerHTML"];
6872
6857
  function render$a(_ctx, _cache, $props, $setup, $data, $options) {
6873
- return openBlock(), createElementBlock("ul", _hoisted_1$1, [
6858
+ return openBlock(), createElementBlock("ul", _hoisted_1, [
6874
6859
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.items, (item, i) => {
6875
6860
  return openBlock(), createElementBlock("li", {
6876
6861
  class: "w-timeline-item",
@@ -6977,9 +6962,8 @@ const _sfc_main$9 = {
6977
6962
  }
6978
6963
  };
6979
6964
  var wToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["render", render$9]]);
6980
- const _hoisted_1 = { class: "w-tooltip-wrap" };
6981
6965
  function render$8(_ctx, _cache, $props, $setup, $data, $options) {
6982
- return openBlock(), createElementBlock("div", _hoisted_1, [
6966
+ return openBlock(), createElementBlock(Fragment, null, [
6983
6967
  renderSlot(_ctx.$slots, "activator", { on: $options.activatorEventHandlers }),
6984
6968
  createVNode(Transition, {
6985
6969
  name: $options.transitionName,
@@ -6997,7 +6981,7 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
6997
6981
  ]),
6998
6982
  _: 3
6999
6983
  }, 8, ["name"])
7000
- ]);
6984
+ ], 64);
7001
6985
  }
7002
6986
  var wTooltip_vue_vue_type_style_index_0_lang = "";
7003
6987
  const _sfc_main$8 = {
@@ -7134,10 +7118,9 @@ const _sfc_main$7 = {
7134
7118
  };
7135
7119
  var wTransitionBounce = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", render$7]]);
7136
7120
  function render$6(_ctx, _cache, $props, $setup, $data, $options) {
7137
- return openBlock(), createBlock(Transition, mergeProps({
7121
+ return openBlock(), createBlock(Transition, {
7138
7122
  name: "expand",
7139
- mode: "out-in"
7140
- }, _ctx.$props, {
7123
+ mode: "out-in",
7141
7124
  css: false,
7142
7125
  onBeforeAppear: $options.beforeAppear,
7143
7126
  onAppear: $options.appear,
@@ -7148,19 +7131,19 @@ function render$6(_ctx, _cache, $props, $setup, $data, $options) {
7148
7131
  onBeforeLeave: $options.beforeLeave,
7149
7132
  onLeave: $options.leave,
7150
7133
  onAfterLeave: $options.afterLeave
7151
- }), {
7134
+ }, {
7152
7135
  default: withCtx(() => [
7153
7136
  renderSlot(_ctx.$slots, "default")
7154
7137
  ]),
7155
7138
  _: 3
7156
- }, 16, ["onBeforeAppear", "onAppear", "onAfterAppear", "onBeforeEnter", "onEnter", "onAfterEnter", "onBeforeLeave", "onLeave", "onAfterLeave"]);
7139
+ }, 8, ["onBeforeAppear", "onAppear", "onAfterAppear", "onBeforeEnter", "onEnter", "onAfterEnter", "onBeforeLeave", "onLeave", "onAfterLeave"]);
7157
7140
  }
7158
7141
  const _sfc_main$6 = {
7159
7142
  name: "w-transition-expand",
7160
7143
  props: {
7161
7144
  x: { type: Boolean },
7162
7145
  y: { type: Boolean },
7163
- duration: { type: Number, default: 200 }
7146
+ duration: { type: Number, default: 250 }
7164
7147
  },
7165
7148
  data: () => ({
7166
7149
  el: {
@@ -7195,53 +7178,44 @@ const _sfc_main$6 = {
7195
7178
  if (this.cleanTransitionCycle)
7196
7179
  this.saveOriginalStyles(el);
7197
7180
  this.cleanTransitionCycle = false;
7198
- this.$emit("before-appear");
7199
7181
  },
7200
7182
  appear(el, done) {
7201
7183
  this.show(el);
7202
7184
  setTimeout(done, this.duration);
7203
7185
  this.cleanTransitionCycle = false;
7204
- this.$emit("appear");
7205
7186
  },
7206
7187
  afterAppear(el) {
7207
7188
  this.applyOriginalStyles(el);
7208
7189
  el.style.cssText = el.style.cssText.replace("display: none;", "");
7209
7190
  this.cleanTransitionCycle = false;
7210
- this.$emit("after-appear");
7211
7191
  },
7212
7192
  beforeEnter(el) {
7213
7193
  if (this.cleanTransitionCycle)
7214
7194
  this.saveOriginalStyles(el);
7215
7195
  this.cleanTransitionCycle = false;
7216
- this.$emit("before-enter");
7217
7196
  },
7218
7197
  enter(el, done) {
7219
7198
  this.show(el);
7220
7199
  setTimeout(done, this.duration);
7221
7200
  this.cleanTransitionCycle = false;
7222
- this.$emit("enter");
7223
7201
  },
7224
7202
  afterEnter(el) {
7225
7203
  this.applyOriginalStyles(el);
7226
7204
  el.style.cssText = el.style.cssText.replace("display: none;", "");
7227
7205
  this.cleanTransitionCycle = false;
7228
- this.$emit("after-enter");
7229
7206
  },
7230
7207
  beforeLeave(el) {
7231
7208
  this.beforeHide(el);
7232
7209
  this.cleanTransitionCycle = false;
7233
- this.$emit("before-leave");
7234
7210
  },
7235
7211
  leave(el, done) {
7236
7212
  this.hide(el);
7237
7213
  setTimeout(done, this.duration);
7238
7214
  this.cleanTransitionCycle = false;
7239
- this.$emit("leave");
7240
7215
  },
7241
7216
  afterLeave(el) {
7242
7217
  this.applyOriginalStyles(el);
7243
7218
  this.cleanTransitionCycle = true;
7244
- this.$emit("after-leave");
7245
7219
  },
7246
7220
  applyHideStyles(el) {
7247
7221
  if (this.animX) {
@@ -7445,9 +7419,8 @@ const _sfc_main = {
7445
7419
  }
7446
7420
  };
7447
7421
  var wTransitionTwist = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", render]]);
7448
- var components = /* @__PURE__ */ Object.freeze({
7422
+ var components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
7449
7423
  __proto__: null,
7450
- [Symbol.toStringTag]: "Module",
7451
7424
  WAccordion: wAccordion,
7452
7425
  WAlert: wAlert,
7453
7426
  WApp: wApp,
@@ -7498,7 +7471,7 @@ var components = /* @__PURE__ */ Object.freeze({
7498
7471
  WTransitionSlide: wTransitionSlide,
7499
7472
  WTransitionSlideFade: wTransitionSlideFade,
7500
7473
  WTransitionTwist: wTransitionTwist
7501
- });
7474
+ }, Symbol.toStringTag, { value: "Module" }));
7502
7475
  const install = WaveUI.install;
7503
7476
  WaveUI.install = (app, options = {}) => install.call(WaveUI, app, __spreadValues({ components }, options));
7504
7477
  export { WaveUI as default };