wave-ui 1.57.1 → 1.59.0

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.
@@ -422,8 +422,6 @@ var colors = [
422
422
  ]
423
423
  }
424
424
  ];
425
- const consoleWarn = (message) => console.warn(`Wave UI: ${message}`);
426
- const consoleError = (message) => console.error(`Wave UI: ${message}`);
427
425
  const shadeColor = (col, amt) => {
428
426
  return "#" + col.slice(1).match(/../g).map((x) => (x = +`0x${x}` + amt, x < 0 ? 0 : x > 255 ? 255 : x).toString(16).padStart(2, 0)).join("");
429
427
  };
@@ -476,7 +474,7 @@ const _WaveUI = class {
476
474
  }
477
475
  static install(Vue2, options = {}) {
478
476
  Vue2.directive("focus", {
479
- inserted: (el) => el.focus()
477
+ inserted: (el) => setTimeout(() => el.focus(), 0)
480
478
  });
481
479
  Vue2.directive("scroll", {
482
480
  inserted: (el, binding) => {
@@ -502,7 +500,7 @@ let WaveUI = _WaveUI;
502
500
  _notificationManager = new WeakMap();
503
501
  __publicField(WaveUI, "instance", null);
504
502
  __publicField(WaveUI, "vueInstance", null);
505
- var render$P = function() {
503
+ var render$Q = function() {
506
504
  var _vm = this;
507
505
  var _h = _vm.$createElement;
508
506
  var _c = _vm._self._c || _h;
@@ -516,14 +514,14 @@ var render$P = function() {
516
514
  return null;
517
515
  }
518
516
  !item._disabled && _vm.toggleItem(item, $event);
519
- } } }, [_vm.expandIcon && !_vm.expandIconRight ? _c("w-button", { staticClass: "w-accordion__expand-icon", class: { "w-accordion__expand-icon--expanded": item._expanded }, attrs: { "icon": item._expanded && _vm.collapseIcon || _vm.expandIcon, "disabled": item._disabled || null, "tabindex": -1, "text": "" }, on: { "keypress": function($event) {
517
+ } } }, [_vm.expandIcon && !_vm.expandIconRight ? _c("w-button", { staticClass: "w-accordion__expand-icon", class: { "w-accordion__expand-icon--expanded": item._expanded, "w-accordion__expand-icon--rotate90": _vm.expandIconRotate90 }, attrs: { "icon": item._expanded && _vm.collapseIcon || _vm.expandIcon, "icon-props": _vm.expandIconProps, "disabled": item._disabled || null, "tabindex": -1, "text": "" }, on: { "keypress": function($event) {
520
518
  $event.stopPropagation();
521
519
  }, "click": function($event) {
522
520
  $event.stopPropagation();
523
521
  !item._disabled && _vm.toggleItem(item, $event);
524
522
  } } }) : _vm._e(), _vm.$scopedSlots["item-title." + (item.id || i + 1)] ? _vm._t("item-title." + (item.id || i + 1), null, { "item": _vm.getOriginalItem(item), "expanded": item._expanded, "index": i + 1 }) : _vm._t("item-title", function() {
525
523
  return [_c("div", { staticClass: "grow", domProps: { "innerHTML": _vm._s(item[_vm.itemTitleKey]) } })];
526
- }, { "item": _vm.getOriginalItem(item), "expanded": item._expanded, "index": i + 1 }), _vm.expandIcon && _vm.expandIconRight ? _c("w-button", { staticClass: "w-accordion__expand-icon", class: { "w-accordion__expand-icon--expanded": item._expanded }, attrs: { "icon": item._expanded && _vm.collapseIcon || _vm.expandIcon, "text": "" }, on: { "keypress": function($event) {
524
+ }, { "item": _vm.getOriginalItem(item), "expanded": item._expanded, "index": i + 1 }), _vm.expandIcon && _vm.expandIconRight ? _c("w-button", { staticClass: "w-accordion__expand-icon", class: { "w-accordion__expand-icon--expanded": item._expanded, "w-accordion__expand-icon--rotate90": _vm.expandIconRotate90 }, attrs: { "icon": item._expanded && _vm.collapseIcon || _vm.expandIcon, "text": "" }, on: { "keypress": function($event) {
527
525
  $event.stopPropagation();
528
526
  }, "click": function($event) {
529
527
  $event.stopPropagation();
@@ -535,7 +533,7 @@ var render$P = function() {
535
533
  }, { "item": _vm.getOriginalItem(item), "expanded": item._expanded, "index": i + 1 })], 2) : _vm._e()])], 1);
536
534
  }), 0);
537
535
  };
538
- var staticRenderFns$P = [];
536
+ var staticRenderFns$Q = [];
539
537
  var wAccordion_vue_vue_type_style_index_0_lang = "";
540
538
  function normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {
541
539
  var options = typeof scriptExports === "function" ? scriptExports.options : scriptExports;
@@ -591,7 +589,7 @@ function normalizeComponent(scriptExports, render2, staticRenderFns2, functional
591
589
  options
592
590
  };
593
591
  }
594
- const __vue2_script$P = {
592
+ const __vue2_script$Q = {
595
593
  name: "w-accordion",
596
594
  props: {
597
595
  value: { type: Array },
@@ -606,6 +604,8 @@ const __vue2_script$P = {
606
604
  contentClass: { type: String },
607
605
  expandIcon: { type: [String, Boolean], default: "wi-triangle-down" },
608
606
  expandIconRight: { type: Boolean },
607
+ expandIconRotate90: { type: Boolean },
608
+ expandIconProps: { type: Object, default: () => ({}) },
609
609
  expandSingle: { type: Boolean },
610
610
  collapseIcon: { type: String },
611
611
  shadow: { type: Boolean },
@@ -678,26 +678,26 @@ const __vue2_script$P = {
678
678
  }
679
679
  }
680
680
  };
681
- const __cssModules$P = {};
682
- var __component__$P = /* @__PURE__ */ normalizeComponent(
683
- __vue2_script$P,
684
- render$P,
685
- staticRenderFns$P,
681
+ const __cssModules$Q = {};
682
+ var __component__$Q = /* @__PURE__ */ normalizeComponent(
683
+ __vue2_script$Q,
684
+ render$Q,
685
+ staticRenderFns$Q,
686
686
  false,
687
- __vue2_injectStyles$P,
687
+ __vue2_injectStyles$Q,
688
688
  null,
689
689
  null,
690
690
  null
691
691
  );
692
- function __vue2_injectStyles$P(context) {
693
- for (let o in __cssModules$P) {
694
- this[o] = __cssModules$P[o];
692
+ function __vue2_injectStyles$Q(context) {
693
+ for (let o in __cssModules$Q) {
694
+ this[o] = __cssModules$Q[o];
695
695
  }
696
696
  }
697
697
  var wAccordion = /* @__PURE__ */ function() {
698
- return __component__$P.exports;
698
+ return __component__$Q.exports;
699
699
  }();
700
- var render$O = function() {
700
+ var render$P = function() {
701
701
  var _vm = this;
702
702
  var _h = _vm.$createElement;
703
703
  var _c = _vm._self._c || _h;
@@ -707,9 +707,9 @@ var render$O = function() {
707
707
  _vm.$emit("close", false);
708
708
  } } }) : _vm._e()] : _vm._t("default")], 2) : _vm._e();
709
709
  };
710
- var staticRenderFns$O = [];
710
+ var staticRenderFns$P = [];
711
711
  var wAlert_vue_vue_type_style_index_0_lang = "";
712
- const __vue2_script$O = {
712
+ const __vue2_script$P = {
713
713
  name: "w-alert",
714
714
  props: {
715
715
  value: { default: true },
@@ -785,26 +785,26 @@ const __vue2_script$O = {
785
785
  }
786
786
  }
787
787
  };
788
- const __cssModules$O = {};
789
- var __component__$O = /* @__PURE__ */ normalizeComponent(
790
- __vue2_script$O,
791
- render$O,
792
- staticRenderFns$O,
788
+ const __cssModules$P = {};
789
+ var __component__$P = /* @__PURE__ */ normalizeComponent(
790
+ __vue2_script$P,
791
+ render$P,
792
+ staticRenderFns$P,
793
793
  false,
794
- __vue2_injectStyles$O,
794
+ __vue2_injectStyles$P,
795
795
  null,
796
796
  null,
797
797
  null
798
798
  );
799
- function __vue2_injectStyles$O(context) {
800
- for (let o in __cssModules$O) {
801
- this[o] = __cssModules$O[o];
799
+ function __vue2_injectStyles$P(context) {
800
+ for (let o in __cssModules$P) {
801
+ this[o] = __cssModules$P[o];
802
802
  }
803
803
  }
804
804
  var wAlert = /* @__PURE__ */ function() {
805
- return __component__$O.exports;
805
+ return __component__$P.exports;
806
806
  }();
807
- var render$N = function() {
807
+ var render$O = function() {
808
808
  var _vm = this;
809
809
  var _h = _vm.$createElement;
810
810
  var _c = _vm._self._c || _h;
@@ -816,9 +816,9 @@ var render$N = function() {
816
816
  }, expression: "notif._value" } }, "w-alert", _vm.notifProps(notif), false), [_c("div", { domProps: { "innerHTML": _vm._s(notif.message) } })]) : _vm._e()];
817
817
  })], 2);
818
818
  };
819
- var staticRenderFns$N = [];
819
+ var staticRenderFns$O = [];
820
820
  var wNotificationManager_vue_vue_type_style_index_0_lang = "";
821
- const __vue2_script$N = {
821
+ const __vue2_script$O = {
822
822
  name: "w-notification-manager",
823
823
  data: () => ({
824
824
  notifManager: null
@@ -849,24 +849,24 @@ const __vue2_script$N = {
849
849
  delete this.notifManager;
850
850
  }
851
851
  };
852
- const __cssModules$N = {};
853
- var __component__$N = /* @__PURE__ */ normalizeComponent(
854
- __vue2_script$N,
855
- render$N,
856
- staticRenderFns$N,
852
+ const __cssModules$O = {};
853
+ var __component__$O = /* @__PURE__ */ normalizeComponent(
854
+ __vue2_script$O,
855
+ render$O,
856
+ staticRenderFns$O,
857
857
  false,
858
- __vue2_injectStyles$N,
858
+ __vue2_injectStyles$O,
859
859
  null,
860
860
  null,
861
861
  null
862
862
  );
863
- function __vue2_injectStyles$N(context) {
864
- for (let o in __cssModules$N) {
865
- this[o] = __cssModules$N[o];
863
+ function __vue2_injectStyles$O(context) {
864
+ for (let o in __cssModules$O) {
865
+ this[o] = __cssModules$O[o];
866
866
  }
867
867
  }
868
868
  var NotificationManager = /* @__PURE__ */ function() {
869
- return __component__$N.exports;
869
+ return __component__$O.exports;
870
870
  }();
871
871
  const cssVars = {
872
872
  cssScope: ".w-app",
@@ -980,16 +980,16 @@ var dynamicCSS = (config2) => {
980
980
  styles += genBreakpointLayoutClasses(breakpointsDef2);
981
981
  return styles;
982
982
  };
983
- var render$M = function() {
983
+ var render$N = function() {
984
984
  var _vm = this;
985
985
  var _h = _vm.$createElement;
986
986
  var _c = _vm._self._c || _h;
987
987
  return _c("div", { staticClass: "w-app", class: _vm.classes }, [_vm._t("default"), _c("notification-manager")], 2);
988
988
  };
989
- var staticRenderFns$M = [];
989
+ var staticRenderFns$N = [];
990
990
  var wApp_vue_vue_type_style_index_0_lang = "";
991
991
  let breakpointsDef = { keys: [], values: [] };
992
- const __vue2_script$M = {
992
+ const __vue2_script$N = {
993
993
  name: "w-app",
994
994
  props: {
995
995
  dark: { type: Boolean },
@@ -1070,26 +1070,26 @@ const __vue2_script$M = {
1070
1070
  window.removeEventListener("resize", this.getBreakpoint);
1071
1071
  }
1072
1072
  };
1073
- const __cssModules$M = {};
1074
- var __component__$M = /* @__PURE__ */ normalizeComponent(
1075
- __vue2_script$M,
1076
- render$M,
1077
- staticRenderFns$M,
1073
+ const __cssModules$N = {};
1074
+ var __component__$N = /* @__PURE__ */ normalizeComponent(
1075
+ __vue2_script$N,
1076
+ render$N,
1077
+ staticRenderFns$N,
1078
1078
  false,
1079
- __vue2_injectStyles$M,
1079
+ __vue2_injectStyles$N,
1080
1080
  null,
1081
1081
  null,
1082
1082
  null
1083
1083
  );
1084
- function __vue2_injectStyles$M(context) {
1085
- for (let o in __cssModules$M) {
1086
- this[o] = __cssModules$M[o];
1084
+ function __vue2_injectStyles$N(context) {
1085
+ for (let o in __cssModules$N) {
1086
+ this[o] = __cssModules$N[o];
1087
1087
  }
1088
1088
  }
1089
1089
  var wApp = /* @__PURE__ */ function() {
1090
- return __component__$M.exports;
1090
+ return __component__$N.exports;
1091
1091
  }();
1092
- var render$L = function() {
1092
+ var render$M = function() {
1093
1093
  var _vm = this;
1094
1094
  var _h = _vm.$createElement;
1095
1095
  var _c = _vm._self._c || _h;
@@ -1097,9 +1097,9 @@ var render$L = function() {
1097
1097
  return [_vm._v(_vm._s(_vm.value === true ? "" : _vm.value || ""))];
1098
1098
  }) : _vm._e()], 2) : _vm._e()])], 2);
1099
1099
  };
1100
- var staticRenderFns$L = [];
1100
+ var staticRenderFns$M = [];
1101
1101
  var wBadge_vue_vue_type_style_index_0_lang = "";
1102
- const __vue2_script$L = {
1102
+ const __vue2_script$M = {
1103
1103
  name: "w-badge",
1104
1104
  props: {
1105
1105
  value: { default: true },
@@ -1161,26 +1161,26 @@ const __vue2_script$L = {
1161
1161
  }
1162
1162
  }
1163
1163
  };
1164
- const __cssModules$L = {};
1165
- var __component__$L = /* @__PURE__ */ normalizeComponent(
1166
- __vue2_script$L,
1167
- render$L,
1168
- staticRenderFns$L,
1164
+ const __cssModules$M = {};
1165
+ var __component__$M = /* @__PURE__ */ normalizeComponent(
1166
+ __vue2_script$M,
1167
+ render$M,
1168
+ staticRenderFns$M,
1169
1169
  false,
1170
- __vue2_injectStyles$L,
1170
+ __vue2_injectStyles$M,
1171
1171
  null,
1172
1172
  null,
1173
1173
  null
1174
1174
  );
1175
- function __vue2_injectStyles$L(context) {
1176
- for (let o in __cssModules$L) {
1177
- this[o] = __cssModules$L[o];
1175
+ function __vue2_injectStyles$M(context) {
1176
+ for (let o in __cssModules$M) {
1177
+ this[o] = __cssModules$M[o];
1178
1178
  }
1179
1179
  }
1180
1180
  var wBadge = /* @__PURE__ */ function() {
1181
- return __component__$L.exports;
1181
+ return __component__$M.exports;
1182
1182
  }();
1183
- var render$K = function() {
1183
+ var render$L = function() {
1184
1184
  var _vm = this;
1185
1185
  var _h = _vm.$createElement;
1186
1186
  var _c = _vm._self._c || _h;
@@ -1188,9 +1188,9 @@ var render$K = function() {
1188
1188
  return [i && _vm.$scopedSlots.separator ? _c("span", { key: i + "a", staticClass: "w-breadcrumbs__separator", class: _vm.separatorColor }, [_vm._t("separator", null, { "index": i })], 2) : i ? _c("w-icon", { key: i + "b", staticClass: "w-breadcrumbs__separator", class: _vm.separatorColor }, [_vm._v(_vm._s(_vm.icon))]) : _vm._e(), item[_vm.itemRouteKey] && (i < _vm.items.length - 1 || _vm.linkLastItem) ? [_vm.$scopedSlots.item ? _c(_vm.hasRouter ? "router-link" : "a", { key: i + "c", tag: "component", staticClass: "w-breadcrumbs__item", class: _vm.color || null, attrs: { "to": _vm.hasRouter && item[_vm.itemRouteKey], "href": item[_vm.itemRouteKey] } }, [_vm._t("item", null, { "item": item, "index": i + 1, "isLast": i === _vm.items.length - 1 })], 2) : _c(_vm.hasRouter ? "router-link" : "a", { key: i + "d", tag: "component", staticClass: "w-breadcrumbs__item", class: _vm.color || null, attrs: { "to": _vm.hasRouter && item[_vm.itemRouteKey], "href": item[_vm.itemRouteKey] }, domProps: { "innerHTML": _vm._s(item[_vm.itemLabelKey]) } })] : _vm.$scopedSlots.item ? _vm._t("item", null, { "item": item, "index": i + 1, "isLast": i === _vm.items.length - 1 }) : _c("span", { key: i + "f", domProps: { "innerHTML": _vm._s(item[_vm.itemLabelKey]) } })];
1189
1189
  })], 2);
1190
1190
  };
1191
- var staticRenderFns$K = [];
1191
+ var staticRenderFns$L = [];
1192
1192
  var wBreadcrumbs_vue_vue_type_style_index_0_lang = "";
1193
- const __vue2_script$K = {
1193
+ const __vue2_script$L = {
1194
1194
  name: "w-breadcrumbs",
1195
1195
  props: {
1196
1196
  items: { type: Array, required: true },
@@ -1221,37 +1221,36 @@ const __vue2_script$K = {
1221
1221
  }
1222
1222
  }
1223
1223
  };
1224
- const __cssModules$K = {};
1225
- var __component__$K = /* @__PURE__ */ normalizeComponent(
1226
- __vue2_script$K,
1227
- render$K,
1228
- staticRenderFns$K,
1224
+ const __cssModules$L = {};
1225
+ var __component__$L = /* @__PURE__ */ normalizeComponent(
1226
+ __vue2_script$L,
1227
+ render$L,
1228
+ staticRenderFns$L,
1229
1229
  false,
1230
- __vue2_injectStyles$K,
1230
+ __vue2_injectStyles$L,
1231
1231
  null,
1232
1232
  null,
1233
1233
  null
1234
1234
  );
1235
- function __vue2_injectStyles$K(context) {
1236
- for (let o in __cssModules$K) {
1237
- this[o] = __cssModules$K[o];
1235
+ function __vue2_injectStyles$L(context) {
1236
+ for (let o in __cssModules$L) {
1237
+ this[o] = __cssModules$L[o];
1238
1238
  }
1239
1239
  }
1240
1240
  var wBreadcrumbs = /* @__PURE__ */ function() {
1241
- return __component__$K.exports;
1241
+ return __component__$L.exports;
1242
1242
  }();
1243
- var render$J = function() {
1243
+ var render$K = function() {
1244
1244
  var _vm = this;
1245
1245
  var _h = _vm.$createElement;
1246
1246
  var _c = _vm._self._c || _h;
1247
- return _c(_vm.route ? "a" : "button", _vm._g(_vm._b({ tag: "component", staticClass: "w-button", class: _vm.classes, style: _vm.styles, attrs: { "type": !_vm.route && _vm.type, "href": _vm.route && (_vm.externalLink ? _vm.route : _vm.resolvedRoute) || null, "disabled": !!_vm.disabled || null } }, "component", _vm.$attrs, false), _vm.listeners), [_vm.icon ? _c("w-icon", [_vm._v(_vm._s(_vm.icon))]) : _vm._t("default"), _c("transition", { attrs: { "name": "scale-fade" } }, [_vm.loading ? _c("div", { staticClass: "w-button__loader" }, [_vm._t("loading", function() {
1247
+ return _c(_vm.route ? "a" : "button", _vm._g({ tag: "component", staticClass: "w-button", class: _vm.classes, style: _vm.styles, attrs: { "type": !_vm.route && _vm.type, "href": _vm.route && (_vm.externalLink ? _vm.route : _vm.resolvedRoute) || null, "disabled": !!_vm.disabled || null } }, _vm.listeners), [_vm.icon ? _c("w-icon", _vm._b({}, "w-icon", _vm.iconProps || {}, false), [_vm._v(_vm._s(_vm.icon))]) : _vm._t("default"), _c("transition", { attrs: { "name": "scale-fade" } }, [_vm.loading ? _c("div", { staticClass: "w-button__loader" }, [_vm._t("loading", function() {
1248
1248
  return [_c("svg", { attrs: { "viewBox": "0 0 40 40" } }, [_c("circle", { attrs: { "cx": "20", "cy": "20", "r": "18", "fill": "transparent", "stroke": "currentColor", "stroke-width": "4", "stroke-linecap": "round" } })])];
1249
1249
  })], 2) : _vm._e()])], 2);
1250
1250
  };
1251
- var staticRenderFns$J = [];
1252
- var wButton_vue_vue_type_style_index_0_lang = "";
1253
- const __vue2_script$J = {
1254
- name: "w-button",
1251
+ var staticRenderFns$K = [];
1252
+ var button_vue_vue_type_style_index_0_lang = "";
1253
+ const __vue2_script$K = {
1255
1254
  props: {
1256
1255
  color: { type: String },
1257
1256
  bgColor: { type: String },
@@ -1267,6 +1266,7 @@ const __vue2_script$J = {
1267
1266
  disabled: { type: Boolean },
1268
1267
  loading: { type: Boolean },
1269
1268
  icon: { type: String, default: null },
1269
+ iconProps: { type: Object, default: () => ({}) },
1270
1270
  absolute: { type: Boolean },
1271
1271
  fixed: { type: Boolean },
1272
1272
  top: { type: Boolean },
@@ -1343,6 +1343,80 @@ const __vue2_script$J = {
1343
1343
  }
1344
1344
  }
1345
1345
  };
1346
+ const __cssModules$K = {};
1347
+ var __component__$K = /* @__PURE__ */ normalizeComponent(
1348
+ __vue2_script$K,
1349
+ render$K,
1350
+ staticRenderFns$K,
1351
+ false,
1352
+ __vue2_injectStyles$K,
1353
+ null,
1354
+ null,
1355
+ null
1356
+ );
1357
+ function __vue2_injectStyles$K(context) {
1358
+ for (let o in __cssModules$K) {
1359
+ this[o] = __cssModules$K[o];
1360
+ }
1361
+ }
1362
+ var ButtonPartial = /* @__PURE__ */ function() {
1363
+ return __component__$K.exports;
1364
+ }();
1365
+ var render$J = function() {
1366
+ var _vm = this;
1367
+ var _h = _vm.$createElement;
1368
+ var _c = _vm._self._c || _h;
1369
+ return _vm.tooltip ? _c("w-tooltip", _vm._b({ tag: "component", scopedSlots: _vm._u([{ key: "activator", fn: function(ref) {
1370
+ var on = ref.on;
1371
+ return [_c("button-partial", _vm._g(_vm._b({}, "button-partial", _vm.buttonProps, false), Object.assign({}, _vm.$listeners, on)), [_vm._t("default")], 2)];
1372
+ } }], null, true) }, "component", _vm.tooltipProps || {}, false), [_c("div", { domProps: { "innerHTML": _vm._s(_vm.tooltip) } })]) : _c("button-partial", _vm._g(_vm._b({}, "button-partial", _vm.buttonProps, false), _vm.$listeners), [_vm._t("default")], 2);
1373
+ };
1374
+ var staticRenderFns$J = [];
1375
+ const __vue2_script$J = {
1376
+ name: "w-button",
1377
+ inheritAttrs: false,
1378
+ props: {
1379
+ color: { type: String },
1380
+ bgColor: { type: String },
1381
+ dark: { type: Boolean },
1382
+ outline: { type: Boolean },
1383
+ text: { type: Boolean },
1384
+ round: { type: Boolean },
1385
+ shadow: { type: Boolean },
1386
+ tile: { type: Boolean },
1387
+ tooltip: { type: String },
1388
+ tooltipProps: { type: Object, default: () => ({}) },
1389
+ route: { type: [String, Object] },
1390
+ forceLink: { type: Boolean },
1391
+ type: { type: String, default: "button" },
1392
+ disabled: { type: Boolean },
1393
+ loading: { type: Boolean },
1394
+ icon: { type: String, default: null },
1395
+ iconProps: { type: Object, default: () => ({}) },
1396
+ absolute: { type: Boolean },
1397
+ fixed: { type: Boolean },
1398
+ top: { type: Boolean },
1399
+ bottom: { type: Boolean },
1400
+ left: { type: Boolean },
1401
+ right: { type: Boolean },
1402
+ zIndex: { type: [Number, String] },
1403
+ width: { type: [Number, String] },
1404
+ height: { type: [Number, String] },
1405
+ xs: { type: Boolean },
1406
+ sm: { type: Boolean },
1407
+ md: { type: Boolean },
1408
+ lg: { type: Boolean },
1409
+ xl: { type: Boolean }
1410
+ },
1411
+ components: { ButtonPartial },
1412
+ emits: [],
1413
+ computed: {
1414
+ buttonProps() {
1415
+ const { tooltip, tooltipProps, ...props } = this.$props;
1416
+ return { ...props, ...this.$attrs };
1417
+ }
1418
+ }
1419
+ };
1346
1420
  const __cssModules$J = {};
1347
1421
  var __component__$J = /* @__PURE__ */ normalizeComponent(
1348
1422
  __vue2_script$J,
@@ -1359,7 +1433,7 @@ function __vue2_injectStyles$J(context) {
1359
1433
  this[o] = __cssModules$J[o];
1360
1434
  }
1361
1435
  }
1362
- var wButton = /* @__PURE__ */ function() {
1436
+ var index$1 = /* @__PURE__ */ function() {
1363
1437
  return __component__$J.exports;
1364
1438
  }();
1365
1439
  const objectifyClasses = (classes = {}) => {
@@ -1506,14 +1580,14 @@ var render$H = function() {
1506
1580
  return null;
1507
1581
  }
1508
1582
  return _vm.onInput.apply(null, arguments);
1509
- } } }), _vm.hasLabel && _vm.labelOnLeft ? [_vm.$slots.default || _vm.label ? _c("label", { staticClass: "w-checkbox__label w-form-el-shakable pr2", class: _vm.labelClasses, attrs: { "for": "w-checkbox--" + _vm._uid } }, [_vm._t("default", function() {
1583
+ } } }), _vm.hasLabel && _vm.labelOnLeft ? [_vm.$slots.default ? _c("label", { staticClass: "w-checkbox__label w-form-el-shakable pr2", class: _vm.labelClasses, attrs: { "for": "w-checkbox--" + _vm._uid } }, [_vm._t("default", function() {
1510
1584
  return [_vm._v(_vm._s(_vm.label))];
1511
- })], 2) : _vm._e()] : _vm._e(), _c("div", { staticClass: "w-checkbox__input", class: this.color, on: { "click": function($event) {
1585
+ })], 2) : _vm.label ? _c("label", { staticClass: "w-checkbox__label w-form-el-shakable pr2", class: _vm.labelClasses, attrs: { "for": "w-checkbox--" + _vm._uid }, domProps: { "innerHTML": _vm._s(_vm.label) } }) : _vm._e()] : _vm._e(), _c("div", { staticClass: "w-checkbox__input", class: this.color, on: { "click": function($event) {
1512
1586
  _vm.$refs.input.focus();
1513
1587
  _vm.$refs.input.click();
1514
- } } }, [_c("svg", { attrs: { "width": "11px", "height": "9px", "viewbox": "0 0 12 9" } }, [_c("polyline", { attrs: { "points": "1 5 4 8 10 2" } })])]), _vm.hasLabel && !_vm.labelOnLeft ? [_vm.$slots.default || _vm.label ? _c("label", { staticClass: "w-checkbox__label w-form-el-shakable pl2", class: _vm.labelClasses, attrs: { "for": "w-checkbox--" + _vm._uid } }, [_vm._t("default", function() {
1588
+ } } }, [_c("svg", { attrs: { "viewBox": "-0.5 0 12 10" } }, [_c("polyline", { attrs: { "points": "1 5 4 8 10 2" } })])]), _vm.hasLabel && !_vm.labelOnLeft ? [_vm.$slots.default ? _c("label", { staticClass: "w-checkbox__label w-form-el-shakable pl2", class: _vm.labelClasses, attrs: { "for": "w-checkbox--" + _vm._uid } }, [_vm._t("default", function() {
1515
1589
  return [_vm._v(_vm._s(_vm.label))];
1516
- })], 2) : _vm._e()] : _vm._e()], 2);
1590
+ })], 2) : _vm.label ? _c("label", { staticClass: "w-checkbox__label w-form-el-shakable pl2", class: _vm.labelClasses, attrs: { "for": "w-checkbox--" + _vm._uid }, domProps: { "innerHTML": _vm._s(_vm.label) } }) : _vm._e()] : _vm._e()], 2);
1517
1591
  };
1518
1592
  var staticRenderFns$H = [];
1519
1593
  var wCheckbox_vue_vue_type_style_index_0_lang = "";
@@ -1708,9 +1782,19 @@ var render$F = function() {
1708
1782
  _vm.showPopup = $$v;
1709
1783
  }, expression: "showPopup" } }, "w-menu", _vm.wMenuProps, false), [_c("w-flex", { attrs: { "column": !_vm.inline, "align-center": "" } }, [_c("div", [_vm._t("question", function() {
1710
1784
  return [_vm._v(_vm._s(_vm.question))];
1711
- })], 2), _c("div", { staticClass: "w-flex justify-end", class: _vm.inline ? "ml2" : "mt2" }, [_vm.cancel !== false ? _c("w-button", _vm._b({ staticClass: "mr2", attrs: { "bg-color": (_vm.cancelButton || {}).bgColor || "error" }, on: { "click": _vm.onCancel } }, "w-button", _vm.cancelButtonProps, false), [_vm._t("cancel", function() {
1785
+ })], 2), _c("div", { staticClass: "w-flex justify-end", class: _vm.inline ? "ml2" : "mt2" }, [_vm.cancel !== false ? _c("w-button", _vm._b({ staticClass: "mr2", attrs: { "bg-color": (_vm.cancelButton || {}).bgColor || "error" }, on: { "keyup": function($event) {
1786
+ if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "escape", void 0, $event.key, void 0)) {
1787
+ return null;
1788
+ }
1789
+ !_vm.persistent && _vm.onCancel();
1790
+ }, "click": _vm.onCancel } }, "w-button", _vm.cancelButtonProps, false), [_vm._t("cancel", function() {
1712
1791
  return [_vm._v(_vm._s(_vm.cancelButton.label))];
1713
- })], 2) : _vm._e(), _c("w-button", _vm._b({ attrs: { "bg-color": (_vm.confirmButton || {}).bgColor || "success" }, on: { "click": _vm.onConfirm } }, "w-button", _vm.confirmButtonProps, false), [_vm._t("confirm", function() {
1792
+ })], 2) : _vm._e(), _c("w-button", _vm._b({ directives: [{ name: "focus", rawName: "v-focus" }], attrs: { "bg-color": (_vm.confirmButton || {}).bgColor || "success" }, on: { "keyup": function($event) {
1793
+ if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "escape", void 0, $event.key, void 0)) {
1794
+ return null;
1795
+ }
1796
+ !_vm.persistent && _vm.onCancel();
1797
+ }, "click": _vm.onConfirm } }, "w-button", _vm.confirmButtonProps, false), [_vm._t("confirm", function() {
1714
1798
  return [_vm._v(_vm._s(_vm.confirmButton.label))];
1715
1799
  })], 2)], 1)])], 1)], 1);
1716
1800
  };
@@ -1726,7 +1810,8 @@ const __vue2_script$F = {
1726
1810
  cancel: { type: [Boolean, Object, String], default: void 0 },
1727
1811
  confirm: { type: [Object, String] },
1728
1812
  inline: { type: Boolean },
1729
- menu: { type: Object },
1813
+ menu: { type: Object, default: () => ({}) },
1814
+ tooltip: { type: [Boolean, Object, String] },
1730
1815
  noArrow: { type: Boolean },
1731
1816
  top: { type: Boolean },
1732
1817
  bottom: { type: Boolean },
@@ -1781,11 +1866,20 @@ const __vue2_script$F = {
1781
1866
  ...this.menu
1782
1867
  };
1783
1868
  },
1869
+ tooltipObject() {
1870
+ let tooltip = { label: typeof this.tooltip === "string" ? this.tooltip : "" };
1871
+ if (typeof this.tooltip === "object")
1872
+ tooltip = Object.assign({}, tooltip, this.tooltip);
1873
+ return tooltip;
1874
+ },
1784
1875
  buttonProps() {
1876
+ const { label, ...tooltipProps } = this.tooltipObject;
1785
1877
  return {
1786
1878
  bgColor: this.bgColor,
1787
1879
  color: this.color,
1788
1880
  icon: this.icon,
1881
+ tooltip: label,
1882
+ tooltipProps,
1789
1883
  ...this.mainButton
1790
1884
  };
1791
1885
  }
@@ -2675,6 +2769,8 @@ function __vue2_injectStyles$w(context) {
2675
2769
  var wIcon = /* @__PURE__ */ function() {
2676
2770
  return __component__$w.exports;
2677
2771
  }();
2772
+ const consoleWarn = (message) => console.warn(`Wave UI: ${message}`);
2773
+ const consoleError = (message) => console.error(`Wave UI: ${message}`);
2678
2774
  var render$v = function() {
2679
2775
  var _vm = this;
2680
2776
  var _h = _vm.$createElement;
@@ -2923,8 +3019,8 @@ const __vue2_script$u = {
2923
3019
  },
2924
3020
  computed: {
2925
3021
  attrs() {
2926
- const { class: classes, ...attrs } = this.$attrs;
2927
- return attrs;
3022
+ const { class: classes, ...htmlAttrs } = this.$attrs;
3023
+ return htmlAttrs;
2928
3024
  },
2929
3025
  listeners() {
2930
3026
  const { input, focus, blur, ...listeners } = this.$listeners;
@@ -3683,6 +3779,7 @@ var wMenu_vue_vue_type_style_index_0_lang = "";
3683
3779
  const __vue2_script$s = {
3684
3780
  name: "w-menu",
3685
3781
  mixins: [DetachableMixin],
3782
+ inheritAttrs: false,
3686
3783
  props: {
3687
3784
  value: {},
3688
3785
  showOnHover: { type: Boolean },
@@ -4043,6 +4140,7 @@ const __vue2_script$q = {
4043
4140
  value: {},
4044
4141
  opacity: { type: [Number, String, Boolean] },
4045
4142
  bgColor: { type: String },
4143
+ absolute: { type: Boolean },
4046
4144
  zIndex: { type: [Number, String, Boolean] },
4047
4145
  persistent: { type: Boolean },
4048
4146
  persistentNoAnimation: { type: Boolean }
@@ -4063,7 +4161,8 @@ const __vue2_script$q = {
4063
4161
  },
4064
4162
  classes() {
4065
4163
  return {
4066
- "w-overlay--persistent-animate": this.persistentAnimate
4164
+ "w-overlay--persistent-animate": this.persistentAnimate,
4165
+ "w-overlay--absolute": this.absolute
4067
4166
  };
4068
4167
  },
4069
4168
  styles() {
@@ -4158,9 +4257,9 @@ var render$o = function() {
4158
4257
  var _vm = this;
4159
4258
  var _h = _vm.$createElement;
4160
4259
  var _c = _vm._self._c || _h;
4161
- return _c("div", { staticClass: "w-progress", class: _vm.classes, style: _vm.styles }, [!_vm.circle ? _c("div", { staticClass: "w-progress__progress", class: { full: _vm.progressValue === 100 }, style: "width: " + _vm.progressValue + "%" }) : [_c("svg", { attrs: { "viewBox": _vm.circleCenter / 2 + " " + _vm.circleCenter / 2 + " " + _vm.circleCenter + " " + _vm.circleCenter } }, [_vm.bgColor || this.progressValue > -1 ? _c("circle", { staticClass: "bg", class: _vm.bgColor, attrs: { "cx": _vm.circleCenter, "cy": _vm.circleCenter, "r": _vm.circleRadius, "fill": "transparent", "stroke-dasharray": _vm.circleCircumference, "stroke-width": _vm.stroke } }) : _vm._e()]), _c("svg", { staticClass: "w-progress__progress", style: "stroke-dashoffset: " + (1 - _vm.progressValue / 100) * _vm.circleCircumference, attrs: { "viewBox": _vm.circleCenter / 2 + " " + _vm.circleCenter / 2 + " " + _vm.circleCenter + " " + _vm.circleCenter } }, [_c("circle", { attrs: { "cx": _vm.circleCenter, "cy": _vm.circleCenter, "r": _vm.circleRadius, "fill": "transparent", "stroke-width": _vm.stroke, "stroke-linecap": _vm.roundCap && "round", "stroke-dasharray": _vm.circleCircumference } })])], _vm.label || _vm.$slots.default ? _c("div", { staticClass: "w-progress__label", class: _vm.labelColor || false }, [_vm._t("default", function() {
4260
+ return _c("div", { staticClass: "w-progress", class: _vm.classes, style: _vm.styles }, [!_vm.circle ? _c("div", { staticClass: "w-progress__progress", class: { full: _vm.progressValue === 100 }, style: "width: " + _vm.progressValue + "%" }) : _c("svg", { attrs: { "viewBox": _vm.circleCenter / 2 + " " + _vm.circleCenter / 2 + " " + _vm.circleCenter + " " + _vm.circleCenter } }, [_vm.bgColor || this.progressValue > -1 ? _c("circle", { staticClass: "bg", class: _vm.bgColor, attrs: { "cx": _vm.circleCenter, "cy": _vm.circleCenter, "r": _vm.circleRadius, "fill": "transparent", "stroke-dasharray": _vm.circleCircumference, "stroke-width": _vm.stroke } }) : _vm._e(), _c("circle", { staticClass: "w-progress__progress", style: "stroke-dashoffset: " + (1 - _vm.progressValue / 100) * _vm.circleCircumference, attrs: { "cx": _vm.circleCenter, "cy": _vm.circleCenter, "r": _vm.circleRadius, "fill": "transparent", "stroke-width": _vm.stroke, "stroke-linecap": _vm.roundCap && "round", "stroke-dasharray": _vm.circleCircumference } })]), _vm.label || _vm.$slots.default ? _c("div", { staticClass: "w-progress__label", class: _vm.labelColor || false }, [_vm._t("default", function() {
4162
4261
  return [_vm._v(_vm._s(Math.round(_vm.progressValue)) + _vm._s(_vm.circle ? "" : "%"))];
4163
- })], 2) : _vm._e()], 2);
4262
+ })], 2) : _vm._e()]);
4164
4263
  };
4165
4264
  var staticRenderFns$o = [];
4166
4265
  var wProgress_vue_vue_type_style_index_0_lang = "";
@@ -4266,14 +4365,14 @@ var render$n = function() {
4266
4365
  return _vm.$emit("focus", $event);
4267
4366
  }, "change": function($event) {
4268
4367
  _vm.onInput($event);
4269
- } } }), _vm.hasLabel && _vm.labelOnLeft ? [_vm.$slots.default || _vm.label ? _c("label", { staticClass: "w-radio__label w-form-el-shakable pr2", class: _vm.labelClasses, attrs: { "for": "w-radio--" + _vm._uid } }, [_vm._t("default", function() {
4368
+ } } }), _vm.hasLabel && _vm.labelOnLeft ? [_vm.$slots.default ? _c("label", { staticClass: "w-radio__label w-form-el-shakable pr2", class: _vm.labelClasses, attrs: { "for": "w-radio--" + _vm._uid } }, [_vm._t("default", function() {
4270
4369
  return [_vm._v(_vm._s(_vm.label))];
4271
- })], 2) : _vm._e()] : _vm._e(), _c("div", { staticClass: "w-radio__input", class: this.color, on: { "click": function($event) {
4370
+ })], 2) : _vm.label ? _c("label", { staticClass: "w-radio__label w-form-el-shakable pr2", class: _vm.labelClasses, attrs: { "for": "w-radio--" + _vm._uid }, domProps: { "innerHTML": _vm._s(_vm.label) } }) : _vm._e()] : _vm._e(), _c("div", { staticClass: "w-radio__input", class: this.color, on: { "click": function($event) {
4272
4371
  _vm.$refs.input.focus();
4273
4372
  _vm.$refs.input.click();
4274
- } } }), _vm.hasLabel && !_vm.labelOnLeft ? [_vm.$slots.default || _vm.label ? _c("label", { staticClass: "w-radio__label w-form-el-shakable pl2", class: _vm.labelClasses, attrs: { "for": "w-radio--" + _vm._uid } }, [_vm._t("default", function() {
4373
+ } } }), _vm.hasLabel && !_vm.labelOnLeft ? [_vm.$slots.default ? _c("label", { staticClass: "w-radio__label w-form-el-shakable pl2", class: _vm.labelClasses, attrs: { "for": "w-radio--" + _vm._uid } }, [_vm._t("default", function() {
4275
4374
  return [_vm._v(_vm._s(_vm.label))];
4276
- })], 2) : _vm._e()] : _vm._e()], 2);
4375
+ })], 2) : _vm.label ? _c("label", { staticClass: "w-radio__label w-form-el-shakable pl2", class: _vm.labelClasses, attrs: { "for": "w-radio--" + _vm._uid }, domProps: { "innerHTML": _vm._s(_vm.label) } }) : _vm._e()] : _vm._e()], 2);
4277
4376
  };
4278
4377
  var staticRenderFns$n = [];
4279
4378
  var wRadio_vue_vue_type_style_index_0_lang = "";
@@ -5183,7 +5282,7 @@ var render$g = function() {
5183
5282
  })], 2) : _vm._e()] : _vm._e(), _c("div", _vm._g({ staticClass: "w-switch__input", class: _vm.inputClasses, on: { "click": function($event) {
5184
5283
  _vm.$refs.input.focus();
5185
5284
  _vm.$refs.input.click();
5186
- } } }, _vm.$listeners), [_vm.$slots.track ? _c("div", { staticClass: "w-switch__track" }, [_vm._t("track")], 2) : _vm._e(), _vm.$slots.thumb ? _c("div", { staticClass: "w-switch__thumb" }, [_vm._t("thumb")], 2) : _vm._e()]), _vm.hasLabel && !_vm.labelOnLeft ? [_vm.$slots.default || _vm.label ? _c("label", { staticClass: "w-switch__label w-switch__label--right w-form-el-shakable", class: _vm.labelClasses, attrs: { "for": "w-switch--" + _vm._uid } }, [_vm._t("default", function() {
5285
+ } } }, _vm.$listeners), [_vm.$slots.track ? _c("div", { staticClass: "w-switch__track" }, [_vm._t("track")], 2) : _vm._e(), _vm.$slots.thumb || _vm.loading ? _c("div", { staticClass: "w-switch__thumb" }, [_vm.loading ? _c("w-progress", _vm._b({ attrs: { "circle": "", "color": "inherit" } }, "w-progress", typeof _vm.loading === "number" ? { "model-value": _vm.loading } : {}, false)) : _vm._t("thumb")], 2) : _vm._e()]), _vm.hasLabel && !_vm.labelOnLeft ? [_vm.$slots.default || _vm.label ? _c("label", { staticClass: "w-switch__label w-switch__label--right w-form-el-shakable", class: _vm.labelClasses, attrs: { "for": "w-switch--" + _vm._uid } }, [_vm._t("default", function() {
5187
5286
  return [_vm._v(_vm._s(_vm.label))];
5188
5287
  })], 2) : _vm._e()] : _vm._e()], 2);
5189
5288
  };
@@ -5199,7 +5298,8 @@ const __vue2_script$g = {
5199
5298
  color: { type: String, default: "primary" },
5200
5299
  labelColor: { type: String, default: "primary" },
5201
5300
  thin: { type: Boolean },
5202
- noRipple: { type: Boolean }
5301
+ noRipple: { type: Boolean },
5302
+ loading: { type: [Boolean, Number], default: false }
5203
5303
  },
5204
5304
  emits: ["input", "update:modelValue", "focus"],
5205
5305
  data() {
@@ -5225,6 +5325,7 @@ const __vue2_script$g = {
5225
5325
  "w-switch--ripple": this.ripple.start,
5226
5326
  "w-switch--custom-thumb": this.$slots.thumb,
5227
5327
  "w-switch--custom-track": this.$slots.track,
5328
+ "w-switch--loading": this.loading,
5228
5329
  "w-switch--rippled": this.ripple.end
5229
5330
  };
5230
5331
  },
@@ -5437,8 +5538,10 @@ const __vue2_script$e = {
5437
5538
  }
5438
5539
  if (!this.fillBar && this.activeTabEl) {
5439
5540
  const { left, width } = this.activeTabEl.getBoundingClientRect();
5440
- const { left: parentLeft } = this.activeTabEl.parentNode.getBoundingClientRect();
5441
- this.slider.left = `${left - parentLeft + this.activeTabEl.parentNode.scrollLeft}px`;
5541
+ const tabsBar = this.activeTabEl.parentNode;
5542
+ const { left: parentLeft } = tabsBar.getBoundingClientRect();
5543
+ const { borderLeftWidth } = getComputedStyle(tabsBar);
5544
+ this.slider.left = `${left - parentLeft - parseInt(borderLeftWidth) + tabsBar.scrollLeft}px`;
5442
5545
  this.slider.width = `${width}px`;
5443
5546
  } else {
5444
5547
  this.slider.left = `${this.activeTab._index * 100 / this.tabsItems.length}%`;
@@ -6844,7 +6947,7 @@ var components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProp
6844
6947
  WApp: wApp,
6845
6948
  WBadge: wBadge,
6846
6949
  WBreadcrumbs: wBreadcrumbs,
6847
- WButton: wButton,
6950
+ WButton: index$1,
6848
6951
  WCard: wCard,
6849
6952
  WCheckbox: wCheckbox,
6850
6953
  WCheckboxes: wCheckboxes,