@varlet/ui 3.0.7 → 3.1.0-alpha.1709537939980

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.
Files changed (70) hide show
  1. package/es/action-sheet/ActionItem.mjs +79 -0
  2. package/es/action-sheet/ActionItemSfc.css +0 -0
  3. package/es/action-sheet/ActionSheet.mjs +29 -56
  4. package/es/action-sheet/actionSheet.css +1 -1
  5. package/es/action-sheet/props.mjs +3 -1
  6. package/es/action-sheet/style/index.mjs +1 -0
  7. package/es/button/Button.mjs +6 -6
  8. package/es/checkbox/Checkbox.mjs +83 -50
  9. package/es/checkbox/checkbox.css +1 -1
  10. package/es/context/stack.mjs +46 -0
  11. package/es/dialog/Dialog.mjs +12 -2
  12. package/es/dialog/props.mjs +4 -1
  13. package/es/field-decorator/FieldDecorator.mjs +10 -7
  14. package/es/field-decorator/props.mjs +1 -1
  15. package/es/hover-overlay/HoverOverlay.mjs +4 -2
  16. package/es/image-preview/ImagePreview.mjs +12 -16
  17. package/es/image-preview/props.mjs +4 -1
  18. package/es/index.bundle.mjs +1 -1
  19. package/es/index.mjs +1 -1
  20. package/es/input/Input.mjs +8 -8
  21. package/es/link/Link.mjs +10 -4
  22. package/es/link/link.css +1 -1
  23. package/es/menu/menu.css +1 -1
  24. package/es/menu/props.mjs +6 -1
  25. package/es/menu/usePopover.mjs +12 -2
  26. package/es/menu-option/MenuOption.mjs +72 -43
  27. package/es/menu-option/menuOption.css +1 -1
  28. package/es/menu-select/MenuSelect.mjs +28 -3
  29. package/es/option/Option.mjs +77 -48
  30. package/es/option/option.css +1 -1
  31. package/es/overlay/Overlay.mjs +19 -2
  32. package/es/overlay/props.mjs +7 -1
  33. package/es/paper/paper.css +1 -1
  34. package/es/picker/Picker.mjs +2 -0
  35. package/es/picker/props.mjs +4 -1
  36. package/es/popup/Popup.mjs +18 -2
  37. package/es/popup/props.mjs +7 -1
  38. package/es/radio/Radio.mjs +84 -42
  39. package/es/radio/radio.css +1 -1
  40. package/es/radio-group/RadioGroup.mjs +43 -1
  41. package/es/select/Select.mjs +279 -213
  42. package/es/select/select.css +1 -1
  43. package/es/style.css +1 -1
  44. package/es/switch/Switch.mjs +82 -52
  45. package/es/switch/switch.css +1 -1
  46. package/es/tab/tab.css +1 -1
  47. package/es/themes/dark/link.mjs +2 -1
  48. package/es/themes/dark/paper.mjs +2 -1
  49. package/es/themes/dark/tab.mjs +3 -1
  50. package/es/themes/md3-dark/link.mjs +2 -1
  51. package/es/themes/md3-dark/paper.mjs +2 -1
  52. package/es/themes/md3-dark/tab.mjs +3 -1
  53. package/es/themes/md3-light/link.mjs +2 -1
  54. package/es/themes/md3-light/paper.mjs +2 -1
  55. package/es/themes/md3-light/tab.mjs +3 -1
  56. package/es/tooltip/props.mjs +6 -1
  57. package/es/uploader/Uploader.mjs +70 -44
  58. package/es/uploader/uploader.css +1 -1
  59. package/es/utils/elements.mjs +32 -0
  60. package/es/varlet.esm.js +8014 -7704
  61. package/highlight/web-types.en-US.json +15 -2
  62. package/lib/style.css +1 -1
  63. package/lib/varlet.cjs.js +1753 -1224
  64. package/package.json +7 -7
  65. package/types/actionSheet.d.ts +4 -0
  66. package/types/input.d.ts +5 -1
  67. package/types/select.d.ts +6 -1
  68. package/types/styleVars.d.ts +100 -92
  69. package/umd/varlet.js +6 -6
  70. package/highlight/web-types.zh-CN.json +0 -8045
package/lib/varlet.cjs.js CHANGED
@@ -7,7 +7,7 @@ const context = {
7
7
  enableRipple: true
8
8
  };
9
9
  const _ContextComponent = vue.reactive(context);
10
- var stdin_default$5U = vue.reactive(context);
10
+ var stdin_default$5V = vue.reactive(context);
11
11
  var __defProp$x = Object.defineProperty;
12
12
  var __defProps$a = Object.defineProperties;
13
13
  var __getOwnPropDescs$a = Object.getOwnPropertyDescriptors;
@@ -70,7 +70,7 @@ var find = (arr, callback, from = "start") => {
70
70
  }
71
71
  return [null, -1];
72
72
  };
73
- var classes$1a = (...classes2) => classes2.map((className) => {
73
+ var classes$1b = (...classes2) => classes2.map((className) => {
74
74
  if (isArray(className)) {
75
75
  const [condition, truthy, falsy = null] = className;
76
76
  return condition ? truthy : falsy;
@@ -216,7 +216,7 @@ function createNamespaceFn(namespace) {
216
216
  return {
217
217
  name: bigCamelize(componentName),
218
218
  n: createBEM,
219
- classes: classes$1a
219
+ classes: classes$1b
220
220
  };
221
221
  };
222
222
  }
@@ -335,10 +335,15 @@ function useClickOutside(target, type, listener) {
335
335
  useEventListener(document, type, handler);
336
336
  }
337
337
  function onSmartUnmounted(hook) {
338
- vue.onUnmounted(() => {
338
+ let keepalive = false;
339
+ vue.onDeactivated(() => {
340
+ keepalive = true;
339
341
  hook();
340
342
  });
341
- vue.onDeactivated(() => {
343
+ vue.onUnmounted(() => {
344
+ if (keepalive) {
345
+ return;
346
+ }
342
347
  hook();
343
348
  });
344
349
  }
@@ -801,7 +806,7 @@ var __spreadValues$u = (a, b) => {
801
806
  return a;
802
807
  };
803
808
  var __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));
804
- const { n: n$1o } = createNamespace("ripple");
809
+ const { n: n$1p } = createNamespace("ripple");
805
810
  const ANIMATION_DURATION$1 = 250;
806
811
  function setStyles(element) {
807
812
  const { zIndex, position } = getStyle$1(element);
@@ -830,14 +835,14 @@ function computeRippleStyles(element, event) {
830
835
  function createRipple(event) {
831
836
  const _ripple = this._ripple;
832
837
  _ripple.removeRipple();
833
- if (_ripple.disabled || _ripple.tasker || !stdin_default$5U.enableRipple) {
838
+ if (_ripple.disabled || _ripple.tasker || !stdin_default$5V.enableRipple) {
834
839
  return;
835
840
  }
836
841
  const task = () => {
837
842
  _ripple.tasker = null;
838
843
  const { x, y, centerX, centerY, size } = computeRippleStyles(this, event);
839
844
  const ripple = document.createElement("div");
840
- ripple.classList.add(n$1o());
845
+ ripple.classList.add(n$1p());
841
846
  ripple.style.opacity = `0`;
842
847
  ripple.style.transform = `translate(${x}px, ${y}px) scale3d(.3, .3, .3)`;
843
848
  ripple.style.width = `${size}px`;
@@ -856,7 +861,7 @@ function createRipple(event) {
856
861
  function removeRipple() {
857
862
  const _ripple = this._ripple;
858
863
  const task = () => {
859
- const ripples = this.querySelectorAll(`.${n$1o()}`);
864
+ const ripples = this.querySelectorAll(`.${n$1p()}`);
860
865
  if (!ripples.length) {
861
866
  return;
862
867
  }
@@ -873,7 +878,7 @@ function removeRipple() {
873
878
  _ripple.tasker ? window.setTimeout(task, 30) : task();
874
879
  }
875
880
  function forbidRippleTask() {
876
- if (!supportTouch() || !stdin_default$5U.enableRipple) {
881
+ if (!supportTouch() || !stdin_default$5V.enableRipple) {
877
882
  return;
878
883
  }
879
884
  const _ripple = this._ripple;
@@ -946,7 +951,7 @@ const Ripple = {
946
951
  }
947
952
  };
948
953
  const _RippleComponent = Ripple;
949
- var stdin_default$5T = Ripple;
954
+ var stdin_default$5U = Ripple;
950
955
  const props$1g = {
951
956
  show: Boolean,
952
957
  position: {
@@ -985,18 +990,24 @@ const props$1g = {
985
990
  onClickOverlay: defineListenerProp(),
986
991
  "onUpdate:show": defineListenerProp(),
987
992
  // internal for Dialog
988
- onRouteChange: defineListenerProp()
993
+ onRouteChange: defineListenerProp(),
994
+ // internal for esc
995
+ onKeyEscape: defineListenerProp(),
996
+ closeOnKeyEscape: {
997
+ type: Boolean,
998
+ default: true
999
+ }
989
1000
  };
990
1001
  function resolveLock() {
991
- const lockCounts = Object.keys(stdin_default$5U.locks).length;
1002
+ const lockCounts = Object.keys(stdin_default$5V.locks).length;
992
1003
  lockCounts <= 0 ? document.body.classList.remove("var--lock") : document.body.classList.add("var--lock");
993
1004
  }
994
1005
  function addLock(uid) {
995
- stdin_default$5U.locks[uid] = 1;
1006
+ stdin_default$5V.locks[uid] = 1;
996
1007
  resolveLock();
997
1008
  }
998
1009
  function releaseLock(uid) {
999
- delete stdin_default$5U.locks[uid];
1010
+ delete stdin_default$5V.locks[uid];
1000
1011
  resolveLock();
1001
1012
  }
1002
1013
  function useLock(source, useSource) {
@@ -1054,19 +1065,59 @@ function useLock(source, useSource) {
1054
1065
  });
1055
1066
  }
1056
1067
  function useZIndex(source, count) {
1057
- const zIndex = vue.ref(stdin_default$5U.zIndex);
1068
+ const zIndex = vue.ref(stdin_default$5V.zIndex);
1058
1069
  vue.watch(
1059
1070
  source,
1060
1071
  (newValue) => {
1061
1072
  if (newValue) {
1062
- stdin_default$5U.zIndex += process.env.NODE_ENV === "test" ? 0 : count;
1063
- zIndex.value = stdin_default$5U.zIndex;
1073
+ stdin_default$5V.zIndex += process.env.NODE_ENV === "test" ? 0 : count;
1074
+ zIndex.value = stdin_default$5V.zIndex;
1064
1075
  }
1065
1076
  },
1066
1077
  { immediate: true }
1067
1078
  );
1068
1079
  return { zIndex };
1069
1080
  }
1081
+ const stack = [];
1082
+ function useStack(activeGetter, zIndex) {
1083
+ const { uid } = vue.getCurrentInstance();
1084
+ vue.watch(activeGetter, (isActive) => {
1085
+ if (isActive && !getStackItem(uid)) {
1086
+ pushStackItem();
1087
+ } else {
1088
+ setTimeout(() => {
1089
+ removeItem(stack, getStackItem(uid));
1090
+ });
1091
+ }
1092
+ });
1093
+ onSmartMounted(() => {
1094
+ if (activeGetter()) {
1095
+ pushStackItem();
1096
+ }
1097
+ });
1098
+ onSmartUnmounted(() => {
1099
+ removeItem(stack, getStackItem(uid));
1100
+ });
1101
+ function onStackTop() {
1102
+ if (stack.length === 0) {
1103
+ return true;
1104
+ }
1105
+ stack.sort((a, b) => a.zIndex.value - b.zIndex.value);
1106
+ return stack[stack.length - 1].uid === uid;
1107
+ }
1108
+ function pushStackItem() {
1109
+ if (getStackItem(uid)) {
1110
+ return;
1111
+ }
1112
+ stack.push({ uid, zIndex });
1113
+ }
1114
+ function getStackItem(uid2) {
1115
+ return stack.find((item) => item.uid === uid2);
1116
+ }
1117
+ return {
1118
+ onStackTop
1119
+ };
1120
+ }
1070
1121
  const POPUP_BIND_POPUP_ITEM_KEY = Symbol("POPUP_BIND_POPUP_ITEM_KEY");
1071
1122
  function usePopup() {
1072
1123
  const { bindParent, parentProvider, index } = useParent(POPUP_BIND_POPUP_ITEM_KEY);
@@ -1101,12 +1152,12 @@ var __spreadValues$t = (a, b) => {
1101
1152
  return a;
1102
1153
  };
1103
1154
  const {
1104
- name: name$1g,
1105
- n: n$1n,
1106
- classes: classes$19
1155
+ name: name$1h,
1156
+ n: n$1o,
1157
+ classes: classes$1a
1107
1158
  } = createNamespace("popup");
1108
- var stdin_default$5S = vue.defineComponent({
1109
- name: name$1g,
1159
+ var stdin_default$5T = vue.defineComponent({
1160
+ name: name$1h,
1110
1161
  inheritAttrs: false,
1111
1162
  props: props$1g,
1112
1163
  setup(props2, {
@@ -1117,6 +1168,9 @@ var stdin_default$5S = vue.defineComponent({
1117
1168
  const {
1118
1169
  zIndex
1119
1170
  } = useZIndex(() => props2.show, 3);
1171
+ const {
1172
+ onStackTop
1173
+ } = useStack(() => props2.show, zIndex);
1120
1174
  const {
1121
1175
  disabled
1122
1176
  } = useTeleport();
@@ -1130,6 +1184,7 @@ var stdin_default$5S = vue.defineComponent({
1130
1184
  bindPopupItems({
1131
1185
  show: vue.computed(() => props2.show)
1132
1186
  });
1187
+ useEventListener(() => window, "keydown", handleKeydown);
1133
1188
  useRouteListener(() => call(props2.onRouteChange));
1134
1189
  function hidePopup() {
1135
1190
  const {
@@ -1148,7 +1203,7 @@ var stdin_default$5S = vue.defineComponent({
1148
1203
  overlayStyle
1149
1204
  } = props2;
1150
1205
  return vue.createVNode("div", {
1151
- "class": classes$19(n$1n("overlay"), overlayClass),
1206
+ "class": classes$1a(n$1o("overlay"), overlayClass),
1152
1207
  "style": __spreadValues$t({
1153
1208
  zIndex: zIndex.value - 1
1154
1209
  }, overlayStyle),
@@ -1157,7 +1212,7 @@ var stdin_default$5S = vue.defineComponent({
1157
1212
  }
1158
1213
  function renderContent() {
1159
1214
  return vue.withDirectives(vue.createVNode("div", vue.mergeProps({
1160
- "class": classes$19(n$1n("content"), n$1n(`--${props2.position}`), [props2.defaultStyle, n$1n("--content-background-color")], [props2.defaultStyle, n$1n("$-elevation--3")], [props2.safeArea, n$1n("--safe-area")], [props2.safeAreaTop, n$1n("--safe-area-top")]),
1215
+ "class": classes$1a(n$1o("content"), n$1o(`--${props2.position}`), [props2.defaultStyle, n$1o("--content-background-color")], [props2.defaultStyle, n$1o("$-elevation--3")], [props2.safeArea, n$1o("--safe-area")], [props2.safeAreaTop, n$1o("--safe-area-top")]),
1161
1216
  "style": {
1162
1217
  zIndex: zIndex.value
1163
1218
  }
@@ -1165,22 +1220,33 @@ var stdin_default$5S = vue.defineComponent({
1165
1220
  }
1166
1221
  function renderPopup() {
1167
1222
  return vue.createVNode(vue.Transition, {
1168
- "name": n$1n("$-fade"),
1223
+ "name": n$1o("$-fade"),
1169
1224
  "onAfterEnter": props2.onOpened,
1170
1225
  "onAfterLeave": props2.onClosed
1171
1226
  }, {
1172
1227
  default: () => [vue.withDirectives(vue.createVNode("div", {
1173
- "class": classes$19(n$1n("$--box"), n$1n(), [!props2.overlay, n$1n("--pointer-events-none")]),
1228
+ "class": classes$1a(n$1o("$--box"), n$1o(), [!props2.overlay, n$1o("--pointer-events-none")]),
1174
1229
  "style": {
1175
1230
  zIndex: zIndex.value - 2
1176
1231
  }
1177
1232
  }, [props2.overlay && renderOverlay(), vue.createVNode(vue.Transition, {
1178
- "name": props2.transition || n$1n(`$-pop-${props2.position}`)
1233
+ "name": props2.transition || n$1o(`$-pop-${props2.position}`)
1179
1234
  }, {
1180
1235
  default: () => [renderContent()]
1181
1236
  })]), [[vue.vShow, props2.show]])]
1182
1237
  });
1183
1238
  }
1239
+ function handleKeydown(event) {
1240
+ if (!onStackTop() || event.key !== "Escape" || !props2.show) {
1241
+ return;
1242
+ }
1243
+ call(props2.onKeyEscape);
1244
+ if (!props2.closeOnKeyEscape) {
1245
+ return;
1246
+ }
1247
+ preventDefault(event);
1248
+ call(props2["onUpdate:show"], false);
1249
+ }
1184
1250
  return () => {
1185
1251
  const {
1186
1252
  teleport
@@ -1197,10 +1263,10 @@ var stdin_default$5S = vue.defineComponent({
1197
1263
  };
1198
1264
  }
1199
1265
  });
1200
- withInstall(stdin_default$5S);
1201
- withPropsDefaultsSetter(stdin_default$5S, props$1g);
1202
- const _PopupComponent = stdin_default$5S;
1203
- var stdin_default$5R = stdin_default$5S;
1266
+ withInstall(stdin_default$5T);
1267
+ withPropsDefaultsSetter(stdin_default$5T, props$1g);
1268
+ const _PopupComponent = stdin_default$5T;
1269
+ var stdin_default$5S = stdin_default$5T;
1204
1270
  const props$1f = {
1205
1271
  name: String,
1206
1272
  size: [Number, String],
@@ -1368,6 +1434,37 @@ function formatStyleVars(styleVars) {
1368
1434
  function padStartFlex(style) {
1369
1435
  return style === "start" || style === "end" ? `flex-${style}` : style;
1370
1436
  }
1437
+ const focusableSelector = ["button", "input", "select", "textarea", "[tabindex]", "[href]"].map((s) => `${s}:not([disabled])`).join(", ");
1438
+ function focusChildElementByKey(hostElement, parentElement, key) {
1439
+ var _a;
1440
+ const focusableElements = parentElement.querySelectorAll(focusableSelector);
1441
+ if (!focusableElements.length) {
1442
+ return;
1443
+ }
1444
+ const isActiveHostElement = [hostElement, ...Array.from(hostElement.querySelectorAll(focusableSelector))].findIndex(
1445
+ (el) => el === document.activeElement
1446
+ ) !== -1;
1447
+ const activeElementIndex = Array.from(focusableElements).findIndex((el) => el === document.activeElement);
1448
+ if (key === "ArrowDown") {
1449
+ if (isActiveHostElement && activeElementIndex === -1 || activeElementIndex === focusableElements.length - 1) {
1450
+ focusableElements[0].focus();
1451
+ return;
1452
+ }
1453
+ if (activeElementIndex !== -1 && activeElementIndex < focusableElements.length - 1) {
1454
+ focusableElements[activeElementIndex + 1].focus();
1455
+ return;
1456
+ }
1457
+ }
1458
+ if (key === "ArrowUp") {
1459
+ if (isActiveHostElement && activeElementIndex === -1 || activeElementIndex === 0) {
1460
+ (_a = focusableElements[focusableElements.length - 1]) == null ? void 0 : _a.focus();
1461
+ return;
1462
+ }
1463
+ if (activeElementIndex > 0) {
1464
+ focusableElements[activeElementIndex - 1].focus();
1465
+ }
1466
+ }
1467
+ }
1371
1468
  var __async$g = (__this, __arguments, generator) => {
1372
1469
  return new Promise((resolve, reject) => {
1373
1470
  var fulfilled = (value) => {
@@ -1388,8 +1485,8 @@ var __async$g = (__this, __arguments, generator) => {
1388
1485
  step((generator = generator.apply(__this, __arguments)).next());
1389
1486
  });
1390
1487
  };
1391
- const { name: name$1f, n: n$1m, classes: classes$18 } = createNamespace("icon");
1392
- function __render__$1m(_ctx, _cache) {
1488
+ const { name: name$1g, n: n$1n, classes: classes$19 } = createNamespace("icon");
1489
+ function __render__$1n(_ctx, _cache) {
1393
1490
  return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.isURL(_ctx.name) ? "img" : "i"), {
1394
1491
  class: vue.normalizeClass(
1395
1492
  _ctx.classes(
@@ -1411,8 +1508,8 @@ function __render__$1m(_ctx, _cache) {
1411
1508
  onClick: _ctx.onClick
1412
1509
  }, null, 8, ["class", "style", "src", "onClick"]);
1413
1510
  }
1414
- const __sfc__$1n = vue.defineComponent({
1415
- name: name$1f,
1511
+ const __sfc__$1o = vue.defineComponent({
1512
+ name: name$1g,
1416
1513
  props: props$1f,
1417
1514
  setup(props2) {
1418
1515
  const nextName = vue.ref("");
@@ -1438,20 +1535,249 @@ const __sfc__$1n = vue.defineComponent({
1438
1535
  return {
1439
1536
  nextName,
1440
1537
  animateInProgress,
1441
- n: n$1m,
1442
- classes: classes$18,
1538
+ n: n$1n,
1539
+ classes: classes$19,
1443
1540
  isURL,
1444
1541
  toNumber,
1445
1542
  toSizeUnit
1446
1543
  };
1447
1544
  }
1448
1545
  });
1546
+ __sfc__$1o.render = __render__$1n;
1547
+ var stdin_default$5R = __sfc__$1o;
1548
+ withInstall(stdin_default$5R);
1549
+ withPropsDefaultsSetter(stdin_default$5R, props$1f);
1550
+ const _IconComponent = stdin_default$5R;
1551
+ var stdin_default$5Q = stdin_default$5R;
1552
+ const props$1e = {
1553
+ hovering: Boolean,
1554
+ focusing: Boolean
1555
+ };
1556
+ const { name: name$1f, n: n$1m, classes: classes$18 } = createNamespace("hover-overlay");
1557
+ function __render__$1m(_ctx, _cache) {
1558
+ return vue.openBlock(), vue.createElementBlock(
1559
+ "div",
1560
+ {
1561
+ class: vue.normalizeClass(_ctx.classes(_ctx.n(), [_ctx.hovering, _ctx.n("--hovering")], [_ctx.focusing && !_ctx.inMobile(), _ctx.n("--focusing")]))
1562
+ },
1563
+ null,
1564
+ 2
1565
+ /* CLASS */
1566
+ );
1567
+ }
1568
+ const __sfc__$1n = vue.defineComponent({
1569
+ name: name$1f,
1570
+ props: props$1e,
1571
+ setup: () => ({
1572
+ n: n$1m,
1573
+ classes: classes$18,
1574
+ inMobile
1575
+ })
1576
+ });
1449
1577
  __sfc__$1n.render = __render__$1m;
1450
- var stdin_default$5Q = __sfc__$1n;
1451
- withInstall(stdin_default$5Q);
1452
- withPropsDefaultsSetter(stdin_default$5Q, props$1f);
1453
- const _IconComponent = stdin_default$5Q;
1454
- var stdin_default$5P = stdin_default$5Q;
1578
+ var stdin_default$5P = __sfc__$1n;
1579
+ withInstall(stdin_default$5P);
1580
+ withPropsDefaultsSetter(stdin_default$5P, props$1e);
1581
+ function useHoverOverlay() {
1582
+ const hovering = vue.ref(false);
1583
+ const handleHovering = (value) => {
1584
+ hovering.value = value;
1585
+ };
1586
+ return {
1587
+ hovering,
1588
+ handleHovering
1589
+ };
1590
+ }
1591
+ const _HoverOverlayComponent = stdin_default$5P;
1592
+ var stdin_default$5O = stdin_default$5P;
1593
+ function shouldDisabled(arg) {
1594
+ if (!arg) {
1595
+ return false;
1596
+ }
1597
+ if (arg === "desktop" && inMobile()) {
1598
+ return true;
1599
+ }
1600
+ if (arg === "mobile" && !inMobile()) {
1601
+ return true;
1602
+ }
1603
+ return false;
1604
+ }
1605
+ function getStyle(element) {
1606
+ const style = element.getAttribute("style");
1607
+ if (!style)
1608
+ return {};
1609
+ return style.split(";").filter(Boolean).reduce((style2, item) => {
1610
+ const [key, value] = item.split(":").map((item2) => item2.trim());
1611
+ style2[camelize(key)] = value;
1612
+ return style2;
1613
+ }, {});
1614
+ }
1615
+ function updateRawStyle(element) {
1616
+ const { value } = element._hover;
1617
+ const style = getStyle(element);
1618
+ Object.keys(value).forEach((key) => {
1619
+ const camelizedKey = camelize(key);
1620
+ const styleValue = value[camelizedKey];
1621
+ if (styleValue != null && style[camelizedKey]) {
1622
+ element._hover.rawStyle[camelizedKey] = style[camelizedKey];
1623
+ }
1624
+ });
1625
+ }
1626
+ function updateStyle(element, styleValue) {
1627
+ Object.keys(styleValue).forEach((key) => {
1628
+ const value = styleValue[key];
1629
+ if (value != null) {
1630
+ element.style[key] = value;
1631
+ }
1632
+ });
1633
+ }
1634
+ function clearStyle(element) {
1635
+ Object.keys(element._hover.value).forEach((key) => {
1636
+ const value = element._hover.value[key];
1637
+ if (value != null) {
1638
+ element.style[key] = "";
1639
+ }
1640
+ });
1641
+ }
1642
+ function restoreStyle(element) {
1643
+ clearStyle(element);
1644
+ updateStyle(element, element._hover.rawStyle);
1645
+ }
1646
+ function createHover() {
1647
+ const { value } = this._hover;
1648
+ this._hover.hovering = true;
1649
+ if (isFunction(value)) {
1650
+ value(this._hover.hovering);
1651
+ return;
1652
+ }
1653
+ updateStyle(this, value);
1654
+ }
1655
+ function removeHover() {
1656
+ this._hover.hovering = false;
1657
+ if (isFunction(this._hover.value)) {
1658
+ this._hover.value(this._hover.hovering);
1659
+ return;
1660
+ }
1661
+ restoreStyle(this);
1662
+ }
1663
+ function mounted$1(element, binding) {
1664
+ var _a, _b;
1665
+ const { arg, value } = binding;
1666
+ if (shouldDisabled(arg)) {
1667
+ return;
1668
+ }
1669
+ element._hover = {
1670
+ value,
1671
+ hovering: (_b = (_a = element._hover) == null ? void 0 : _a.hovering) != null ? _b : false,
1672
+ rawStyle: {}
1673
+ };
1674
+ updateRawStyle(element);
1675
+ element.addEventListener("mouseenter", createHover);
1676
+ element.addEventListener("mouseleave", removeHover);
1677
+ }
1678
+ function unmounted(element, binding) {
1679
+ if (shouldDisabled(binding.arg)) {
1680
+ return;
1681
+ }
1682
+ restoreStyle(element);
1683
+ element.removeEventListener("mouseenter", createHover);
1684
+ element.removeEventListener("mouseleave", removeHover);
1685
+ }
1686
+ function beforeUpdate(element, binding) {
1687
+ if (!element._hover) {
1688
+ return;
1689
+ }
1690
+ unmounted(element, binding);
1691
+ }
1692
+ function shouldUpdateStyle(element, binding) {
1693
+ return !isFunction(binding.value) && element._hover.hovering;
1694
+ }
1695
+ function updated$1(element, binding) {
1696
+ mounted$1(element, binding);
1697
+ if (shouldUpdateStyle(element, binding)) {
1698
+ updateStyle(element, binding.value);
1699
+ }
1700
+ }
1701
+ const Hover = {
1702
+ mounted: mounted$1,
1703
+ unmounted,
1704
+ beforeUpdate,
1705
+ updated: updated$1,
1706
+ install(app) {
1707
+ app.directive("hover", this);
1708
+ }
1709
+ };
1710
+ const _HoverComponent = Hover;
1711
+ var stdin_default$5N = Hover;
1712
+ const { name: name$1e, n: n$1l, classes: classes$17 } = createNamespace("action-sheet");
1713
+ function __render__$1l(_ctx, _cache) {
1714
+ const _component_var_icon = vue.resolveComponent("var-icon");
1715
+ const _component_var_hover_overlay = vue.resolveComponent("var-hover-overlay");
1716
+ const _directive_ripple = vue.resolveDirective("ripple");
1717
+ const _directive_hover = vue.resolveDirective("hover");
1718
+ return vue.withDirectives((vue.openBlock(), vue.createElementBlock(
1719
+ "div",
1720
+ {
1721
+ class: vue.normalizeClass(_ctx.classes(_ctx.n("action-item"), _ctx.className, [_ctx.disabled, _ctx.n("--disabled")])),
1722
+ style: vue.normalizeStyle({ color: _ctx.color })
1723
+ },
1724
+ [
1725
+ _ctx.icon ? (vue.openBlock(), vue.createBlock(_component_var_icon, {
1726
+ key: 0,
1727
+ "var-action-sheet-cover": "",
1728
+ class: vue.normalizeClass(_ctx.n("action-icon")),
1729
+ namespace: _ctx.namespace,
1730
+ name: _ctx.icon,
1731
+ size: _ctx.iconSize
1732
+ }, null, 8, ["class", "namespace", "name", "size"])) : vue.createCommentVNode("v-if", true),
1733
+ vue.createElementVNode(
1734
+ "div",
1735
+ {
1736
+ class: vue.normalizeClass(_ctx.n("action-name"))
1737
+ },
1738
+ vue.toDisplayString(_ctx.name),
1739
+ 3
1740
+ /* TEXT, CLASS */
1741
+ ),
1742
+ vue.createVNode(_component_var_hover_overlay, {
1743
+ hovering: _ctx.disabled ? false : _ctx.hovering
1744
+ }, null, 8, ["hovering"])
1745
+ ],
1746
+ 6
1747
+ /* CLASS, STYLE */
1748
+ )), [
1749
+ [_directive_ripple, { disabled: _ctx.disabled }],
1750
+ [_directive_hover, _ctx.handleHovering, "desktop"]
1751
+ ]);
1752
+ }
1753
+ const __sfc__$1m = vue.defineComponent({
1754
+ name: name$1e,
1755
+ components: {
1756
+ VarHoverOverlay: stdin_default$5O,
1757
+ VarIcon: stdin_default$5Q
1758
+ },
1759
+ directives: { Ripple: stdin_default$5U, Hover: stdin_default$5N },
1760
+ props: {
1761
+ name: String,
1762
+ className: String,
1763
+ disabled: Boolean,
1764
+ color: String,
1765
+ namespace: String,
1766
+ iconSize: [String, Number],
1767
+ icon: String
1768
+ },
1769
+ setup() {
1770
+ const { hovering, handleHovering } = useHoverOverlay();
1771
+ return {
1772
+ hovering,
1773
+ n: n$1l,
1774
+ classes: classes$17,
1775
+ handleHovering
1776
+ };
1777
+ }
1778
+ });
1779
+ __sfc__$1m.render = __render__$1l;
1780
+ var stdin_default$5M = __sfc__$1m;
1455
1781
  var __defProp$s = Object.defineProperty;
1456
1782
  var __getOwnPropSymbols$s = Object.getOwnPropertySymbols;
1457
1783
  var __hasOwnProp$s = Object.prototype.hasOwnProperty;
@@ -1468,7 +1794,7 @@ var __spreadValues$s = (a, b) => {
1468
1794
  }
1469
1795
  return a;
1470
1796
  };
1471
- const props$1e = __spreadValues$s({
1797
+ const props$1d = __spreadValues$s({
1472
1798
  show: Boolean,
1473
1799
  title: String,
1474
1800
  actions: {
@@ -1487,6 +1813,7 @@ const props$1e = __spreadValues$s({
1487
1813
  "overlayStyle",
1488
1814
  "lockScroll",
1489
1815
  "closeOnClickOverlay",
1816
+ "closeOnKeyEscape",
1490
1817
  "safeArea",
1491
1818
  "teleport",
1492
1819
  "onOpen",
@@ -1495,9 +1822,10 @@ const props$1e = __spreadValues$s({
1495
1822
  "onClosed",
1496
1823
  "onClickOverlay",
1497
1824
  // internal for function call closes the dialog
1498
- "onRouteChange"
1825
+ "onRouteChange",
1826
+ "onKeyEscape"
1499
1827
  ]));
1500
- var stdin_default$5O = {
1828
+ var stdin_default$5L = {
1501
1829
  // Dialog
1502
1830
  dialogTitle: "提示",
1503
1831
  dialogConfirmButtonText: "确认",
@@ -1602,7 +1930,7 @@ var stdin_default$5O = {
1602
1930
  // time-picker
1603
1931
  timePickerHint: "选择时间"
1604
1932
  };
1605
- var stdin_default$5N = {
1933
+ var stdin_default$5K = {
1606
1934
  // Dialog
1607
1935
  dialogTitle: "Hint",
1608
1936
  dialogConfirmButtonText: "Confirm",
@@ -1707,7 +2035,7 @@ var stdin_default$5N = {
1707
2035
  // time-picker
1708
2036
  timePickerHint: "SELECT TIME"
1709
2037
  };
1710
- var stdin_default$5M = {
2038
+ var stdin_default$5J = {
1711
2039
  // Dialog
1712
2040
  dialogTitle: "提示",
1713
2041
  dialogConfirmButtonText: "確認",
@@ -1809,8 +2137,8 @@ var stdin_default$5M = {
1809
2137
  paginationPage: "頁",
1810
2138
  paginationJump: "前往"
1811
2139
  };
1812
- var stdin_default$5L = stdin_default$5M;
1813
- var stdin_default$5K = {
2140
+ var stdin_default$5I = stdin_default$5J;
2141
+ var stdin_default$5H = {
1814
2142
  // Dialog
1815
2143
  dialogTitle: "اشاره",
1816
2144
  dialogConfirmButtonText: "تایید",
@@ -1969,15 +2297,15 @@ function useLocale() {
1969
2297
  };
1970
2298
  }
1971
2299
  const { messages, currentMessage, add: add$2, use, merge, t } = useLocale();
1972
- add$2("zh-CN", stdin_default$5O);
2300
+ add$2("zh-CN", stdin_default$5L);
1973
2301
  use("zh-CN");
1974
- const _LocaleComponent = { zhCN: stdin_default$5O, enUS: stdin_default$5N, messages, currentMessage, add: add$2, use, merge, t, useLocale };
1975
- var stdin_default$5J = {
1976
- zhCN: stdin_default$5O,
1977
- enUS: stdin_default$5N,
1978
- zhTW: stdin_default$5M,
1979
- zhHK: stdin_default$5L,
1980
- faIR: stdin_default$5K,
2302
+ const _LocaleComponent = { zhCN: stdin_default$5L, enUS: stdin_default$5K, messages, currentMessage, add: add$2, use, merge, t, useLocale };
2303
+ var stdin_default$5G = {
2304
+ zhCN: stdin_default$5L,
2305
+ enUS: stdin_default$5K,
2306
+ zhTW: stdin_default$5J,
2307
+ zhHK: stdin_default$5I,
2308
+ faIR: stdin_default$5H,
1981
2309
  messages,
1982
2310
  currentMessage,
1983
2311
  add: add$2,
@@ -1986,32 +2314,30 @@ var stdin_default$5J = {
1986
2314
  t,
1987
2315
  useLocale
1988
2316
  };
1989
- const { name: name$1e, n: n$1l, classes: classes$17 } = createNamespace("action-sheet");
1990
- const _hoisted_1$t = ["onClick"];
1991
- function __render__$1l(_ctx, _cache) {
1992
- const _component_var_icon = vue.resolveComponent("var-icon");
2317
+ const { name: name$1d, n: n$1k, classes: classes$16 } = createNamespace("action-sheet");
2318
+ function __render__$1k(_ctx, _cache) {
2319
+ const _component_var_action_item = vue.resolveComponent("var-action-item");
1993
2320
  const _component_var_popup = vue.resolveComponent("var-popup");
1994
- const _directive_ripple = vue.resolveDirective("ripple");
1995
- return vue.openBlock(), vue.createBlock(_component_var_popup, vue.mergeProps({
1996
- class: _ctx.n("popup-radius"),
2321
+ return vue.openBlock(), vue.createBlock(_component_var_popup, {
1997
2322
  position: "bottom",
1998
- show: _ctx.popupShow,
2323
+ class: vue.normalizeClass(_ctx.n("popup-radius")),
1999
2324
  overlay: _ctx.overlay,
2000
2325
  "overlay-class": _ctx.overlayClass,
2001
2326
  "overlay-style": _ctx.overlayStyle,
2002
2327
  "lock-scroll": _ctx.lockScroll,
2003
2328
  "close-on-click-overlay": _ctx.closeOnClickOverlay,
2329
+ "close-on-key-escape": _ctx.closeOnKeyEscape,
2004
2330
  teleport: _ctx.teleport,
2005
- "safe-area": _ctx.safeArea
2006
- }, {
2007
- "onUpdate:show": _ctx.handlePopupUpdateShow
2008
- }, {
2331
+ "safe-area": _ctx.safeArea,
2332
+ show: _ctx.show,
2333
+ "onUpdate:show": _cache[0] || (_cache[0] = ($event) => _ctx.show = $event),
2009
2334
  onOpen: _ctx.onOpen,
2010
2335
  onClose: _ctx.onClose,
2011
2336
  onClosed: _ctx.onClosed,
2012
2337
  onOpened: _ctx.onOpened,
2013
- onRouteChange: _ctx.onRouteChange
2014
- }), {
2338
+ onRouteChange: _ctx.onRouteChange,
2339
+ onKeyEscape: _ctx.onKeyEscape
2340
+ }, {
2015
2341
  default: vue.withCtx(() => [
2016
2342
  vue.createElementVNode(
2017
2343
  "div",
@@ -2038,32 +2364,16 @@ function __render__$1l(_ctx, _cache) {
2038
2364
  vue.Fragment,
2039
2365
  null,
2040
2366
  vue.renderList(_ctx.actions, (action) => {
2041
- return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
2042
- class: vue.normalizeClass(_ctx.classes(_ctx.n("action-item"), action.className, [action.disabled, _ctx.n("--disabled")])),
2367
+ return vue.openBlock(), vue.createBlock(_component_var_action_item, {
2043
2368
  key: action.name,
2044
- style: vue.normalizeStyle({ color: action.color }),
2369
+ name: action.name,
2370
+ namespace: action.namespace,
2371
+ icon: action.icon,
2372
+ "icon-size": action.iconSize,
2373
+ "class-name": action.className,
2374
+ color: action.color,
2045
2375
  onClick: ($event) => _ctx.handleSelect(action)
2046
- }, [
2047
- action.icon ? (vue.openBlock(), vue.createBlock(_component_var_icon, {
2048
- key: 0,
2049
- class: vue.normalizeClass(_ctx.n("action-icon")),
2050
- "var-action-sheet-cover": "",
2051
- namespace: action.namespace,
2052
- name: action.icon,
2053
- size: action.iconSize
2054
- }, null, 8, ["class", "namespace", "name", "size"])) : vue.createCommentVNode("v-if", true),
2055
- vue.createElementVNode(
2056
- "div",
2057
- {
2058
- class: vue.normalizeClass(_ctx.n("action-name"))
2059
- },
2060
- vue.toDisplayString(action.name),
2061
- 3
2062
- /* TEXT, CLASS */
2063
- )
2064
- ], 14, _hoisted_1$t)), [
2065
- [_directive_ripple, { disabled: action.disabled }]
2066
- ]);
2376
+ }, null, 8, ["name", "namespace", "icon", "icon-size", "class-name", "color", "onClick"]);
2067
2377
  }),
2068
2378
  128
2069
2379
  /* KEYED_FRAGMENT */
@@ -2076,49 +2386,40 @@ function __render__$1l(_ctx, _cache) {
2076
2386
  ]),
2077
2387
  _: 3
2078
2388
  /* FORWARDED */
2079
- }, 16, ["class", "show", "overlay", "overlay-class", "overlay-style", "lock-scroll", "close-on-click-overlay", "teleport", "safe-area", "onOpen", "onClose", "onClosed", "onOpened", "onRouteChange"]);
2389
+ }, 8, ["class", "overlay", "overlay-class", "overlay-style", "lock-scroll", "close-on-click-overlay", "close-on-key-escape", "teleport", "safe-area", "show", "onOpen", "onClose", "onClosed", "onOpened", "onRouteChange", "onKeyEscape"]);
2080
2390
  }
2081
- const __sfc__$1m = vue.defineComponent({
2082
- name: name$1e,
2083
- directives: { Ripple: stdin_default$5T },
2391
+ const __sfc__$1l = vue.defineComponent({
2392
+ name: name$1d,
2393
+ directives: { Ripple: stdin_default$5U },
2084
2394
  components: {
2085
- VarPopup: stdin_default$5R,
2086
- VarIcon: stdin_default$5P
2395
+ VarPopup: stdin_default$5S,
2396
+ VarActionItem: stdin_default$5M
2087
2397
  },
2088
2398
  inheritAttrs: false,
2089
- props: props$1e,
2399
+ props: props$1d,
2090
2400
  setup(props2) {
2091
- const popupShow = vue.ref(false);
2092
- vue.watch(
2093
- () => props2.show,
2094
- (newValue) => {
2095
- popupShow.value = newValue;
2096
- },
2097
- { immediate: true }
2098
- );
2401
+ const show = useVModel(props2, "show");
2099
2402
  function handleSelect(action) {
2100
2403
  if (action.disabled) {
2101
2404
  return;
2102
2405
  }
2103
2406
  const { closeOnClickAction, onSelect } = props2;
2104
2407
  call(onSelect, action);
2105
- closeOnClickAction && call(props2["onUpdate:show"], false);
2106
- }
2107
- function handlePopupUpdateShow(value) {
2108
- call(props2["onUpdate:show"], value);
2408
+ if (closeOnClickAction) {
2409
+ show.value = false;
2410
+ }
2109
2411
  }
2110
2412
  return {
2111
- popupShow,
2413
+ show,
2112
2414
  t,
2113
- n: n$1l,
2114
- classes: classes$17,
2115
- handlePopupUpdateShow,
2415
+ n: n$1k,
2416
+ classes: classes$16,
2116
2417
  handleSelect
2117
2418
  };
2118
2419
  }
2119
2420
  });
2120
- __sfc__$1m.render = __render__$1l;
2121
- var stdin_default$5I = __sfc__$1m;
2421
+ __sfc__$1l.render = __render__$1k;
2422
+ var stdin_default$5F = __sfc__$1l;
2122
2423
  var __defProp$q = Object.defineProperty;
2123
2424
  var __getOwnPropSymbols$q = Object.getOwnPropertySymbols;
2124
2425
  var __hasOwnProp$q = Object.prototype.hasOwnProperty;
@@ -2149,7 +2450,7 @@ function ActionSheet(options) {
2149
2450
  const reactiveActionSheetOptions = vue.reactive(normalizeOptions$3(options));
2150
2451
  reactiveActionSheetOptions.teleport = "body";
2151
2452
  singletonOptions$3 = reactiveActionSheetOptions;
2152
- const { unmountInstance } = mountInstance(stdin_default$5I, reactiveActionSheetOptions, {
2453
+ const { unmountInstance } = mountInstance(stdin_default$5F, reactiveActionSheetOptions, {
2153
2454
  onSelect: (action) => {
2154
2455
  call(reactiveActionSheetOptions.onSelect, action);
2155
2456
  resolve(action);
@@ -2189,13 +2490,13 @@ ActionSheet.close = function() {
2189
2490
  });
2190
2491
  }
2191
2492
  };
2192
- ActionSheet.Component = stdin_default$5I;
2193
- withInstall(stdin_default$5I);
2194
- withInstall(stdin_default$5I, ActionSheet);
2195
- withPropsDefaultsSetter(ActionSheet, props$1e);
2196
- const _ActionSheetComponent = stdin_default$5I;
2197
- var stdin_default$5H = ActionSheet;
2198
- const props$1d = {
2493
+ ActionSheet.Component = stdin_default$5F;
2494
+ withInstall(stdin_default$5F);
2495
+ withInstall(stdin_default$5F, ActionSheet);
2496
+ withPropsDefaultsSetter(ActionSheet, props$1d);
2497
+ const _ActionSheetComponent = stdin_default$5F;
2498
+ var stdin_default$5E = ActionSheet;
2499
+ const props$1c = {
2199
2500
  color: String,
2200
2501
  textColor: String,
2201
2502
  title: String,
@@ -2217,8 +2518,8 @@ const props$1d = {
2217
2518
  },
2218
2519
  fixed: Boolean
2219
2520
  };
2220
- const { name: name$1d, n: n$1k, classes: classes$16 } = createNamespace("app-bar");
2221
- function __render__$1k(_ctx, _cache) {
2521
+ const { name: name$1c, n: n$1j, classes: classes$15 } = createNamespace("app-bar");
2522
+ function __render__$1j(_ctx, _cache) {
2222
2523
  return vue.openBlock(), vue.createElementBlock(
2223
2524
  "div",
2224
2525
  {
@@ -2329,9 +2630,9 @@ function __render__$1k(_ctx, _cache) {
2329
2630
  /* CLASS, STYLE */
2330
2631
  );
2331
2632
  }
2332
- const __sfc__$1l = vue.defineComponent({
2333
- name: name$1d,
2334
- props: props$1d,
2633
+ const __sfc__$1k = vue.defineComponent({
2634
+ name: name$1c,
2635
+ props: props$1c,
2335
2636
  setup(props2, { slots }) {
2336
2637
  const paddingLeft = vue.ref();
2337
2638
  const paddingRight = vue.ref();
@@ -2362,18 +2663,18 @@ const __sfc__$1l = vue.defineComponent({
2362
2663
  rootStyles,
2363
2664
  paddingLeft,
2364
2665
  paddingRight,
2365
- n: n$1k,
2366
- classes: classes$16,
2666
+ n: n$1j,
2667
+ classes: classes$15,
2367
2668
  formatElevation
2368
2669
  };
2369
2670
  }
2370
2671
  });
2371
- __sfc__$1l.render = __render__$1k;
2372
- var stdin_default$5G = __sfc__$1l;
2373
- withInstall(stdin_default$5G);
2374
- withPropsDefaultsSetter(stdin_default$5G, props$1d);
2375
- const _AppBarComponent = stdin_default$5G;
2376
- var stdin_default$5F = stdin_default$5G;
2672
+ __sfc__$1k.render = __render__$1j;
2673
+ var stdin_default$5D = __sfc__$1k;
2674
+ withInstall(stdin_default$5D);
2675
+ withPropsDefaultsSetter(stdin_default$5D, props$1c);
2676
+ const _AppBarComponent = stdin_default$5D;
2677
+ var stdin_default$5C = stdin_default$5D;
2377
2678
  const isHTMLSupportImage = (val) => {
2378
2679
  if (!isString(val)) {
2379
2680
  return false;
@@ -2585,19 +2886,19 @@ function diff(el, binding) {
2585
2886
  const { src, arg } = el._lazy;
2586
2887
  return src !== binding.value || arg !== binding.arg;
2587
2888
  }
2588
- function mounted$1(el, binding) {
2889
+ function mounted(el, binding) {
2589
2890
  return __async$f(this, null, function* () {
2590
2891
  createLazy(el, binding);
2591
2892
  yield add$1(el);
2592
2893
  });
2593
2894
  }
2594
- function updated$1(el, binding) {
2895
+ function updated(el, binding) {
2595
2896
  return __async$f(this, null, function* () {
2596
2897
  if (!diff(el, binding)) {
2597
2898
  lazyElements.includes(el) && (yield check(el));
2598
2899
  return;
2599
2900
  }
2600
- yield mounted$1(el, binding);
2901
+ yield mounted(el, binding);
2601
2902
  });
2602
2903
  }
2603
2904
  function mergeLazyOptions(lazyOptions = {}) {
@@ -2610,9 +2911,9 @@ function mergeLazyOptions(lazyOptions = {}) {
2610
2911
  defaultLazyOptions.filter = filter;
2611
2912
  }
2612
2913
  const Lazy = {
2613
- mounted: mounted$1,
2914
+ mounted,
2614
2915
  unmounted: clear,
2615
- updated: updated$1,
2916
+ updated,
2616
2917
  install(app, lazyOptions) {
2617
2918
  mergeLazyOptions(lazyOptions);
2618
2919
  checkAllWithThrottle = throttle(checkAll, defaultLazyOptions.throttleWait);
@@ -2620,8 +2921,8 @@ const Lazy = {
2620
2921
  }
2621
2922
  };
2622
2923
  const _LazyComponent = Lazy;
2623
- var stdin_default$5E = Lazy;
2624
- const props$1c = {
2924
+ var stdin_default$5B = Lazy;
2925
+ const props$1b = {
2625
2926
  round: {
2626
2927
  type: Boolean,
2627
2928
  default: true
@@ -2648,10 +2949,10 @@ const props$1c = {
2648
2949
  onError: defineListenerProp()
2649
2950
  };
2650
2951
  const isInternalSize$1 = (size) => ["mini", "small", "normal", "large"].includes(size);
2651
- const { name: name$1c, n: n$1j, classes: classes$15 } = createNamespace("avatar");
2652
- const _hoisted_1$s = ["src", "alt", "lazy-loading", "lazy-error"];
2653
- const _hoisted_2$f = ["src", "alt"];
2654
- function __render__$1j(_ctx, _cache) {
2952
+ const { name: name$1b, n: n$1i, classes: classes$14 } = createNamespace("avatar");
2953
+ const _hoisted_1$w = ["src", "alt", "lazy-loading", "lazy-error"];
2954
+ const _hoisted_2$g = ["src", "alt"];
2955
+ function __render__$1i(_ctx, _cache) {
2655
2956
  const _directive_lazy = vue.resolveDirective("lazy");
2656
2957
  return vue.openBlock(), vue.createElementBlock(
2657
2958
  "div",
@@ -2690,7 +2991,7 @@ function __render__$1j(_ctx, _cache) {
2690
2991
  "lazy-loading": _ctx.loading,
2691
2992
  "lazy-error": _ctx.error,
2692
2993
  onLoad: _cache[0] || (_cache[0] = (...args) => _ctx.handleLoad && _ctx.handleLoad(...args))
2693
- }, null, 46, _hoisted_1$s)), [
2994
+ }, null, 46, _hoisted_1$w)), [
2694
2995
  [_directive_lazy, _ctx.src]
2695
2996
  ]) : (vue.openBlock(), vue.createElementBlock("img", {
2696
2997
  key: 1,
@@ -2701,7 +3002,7 @@ function __render__$1j(_ctx, _cache) {
2701
3002
  style: vue.normalizeStyle({ objectFit: _ctx.fit }),
2702
3003
  onLoad: _cache[1] || (_cache[1] = (...args) => _ctx.handleLoad && _ctx.handleLoad(...args)),
2703
3004
  onError: _cache[2] || (_cache[2] = (...args) => _ctx.handleError && _ctx.handleError(...args))
2704
- }, null, 46, _hoisted_2$f))
3005
+ }, null, 46, _hoisted_2$g))
2705
3006
  ],
2706
3007
  64
2707
3008
  /* STABLE_FRAGMENT */
@@ -2724,10 +3025,10 @@ function __render__$1j(_ctx, _cache) {
2724
3025
  /* CLASS, STYLE */
2725
3026
  );
2726
3027
  }
2727
- const __sfc__$1k = vue.defineComponent({
2728
- name: name$1c,
2729
- directives: { Lazy: stdin_default$5E },
2730
- props: props$1c,
3028
+ const __sfc__$1j = vue.defineComponent({
3029
+ name: name$1b,
3030
+ directives: { Lazy: stdin_default$5B },
3031
+ props: props$1b,
2731
3032
  setup(props2) {
2732
3033
  const avatarElement = vue.ref(null);
2733
3034
  const textElement = vue.ref(null);
@@ -2767,8 +3068,8 @@ const __sfc__$1k = vue.defineComponent({
2767
3068
  avatarElement,
2768
3069
  textElement,
2769
3070
  scale,
2770
- n: n$1j,
2771
- classes: classes$15,
3071
+ n: n$1i,
3072
+ classes: classes$14,
2772
3073
  isInternalSize: isInternalSize$1,
2773
3074
  toSizeUnit,
2774
3075
  handleLoad,
@@ -2777,18 +3078,18 @@ const __sfc__$1k = vue.defineComponent({
2777
3078
  };
2778
3079
  }
2779
3080
  });
2780
- __sfc__$1k.render = __render__$1j;
2781
- var stdin_default$5D = __sfc__$1k;
2782
- withInstall(stdin_default$5D);
2783
- withPropsDefaultsSetter(stdin_default$5D, props$1c);
2784
- const _AvatarComponent = stdin_default$5D;
2785
- var stdin_default$5C = stdin_default$5D;
2786
- const props$1b = {
3081
+ __sfc__$1j.render = __render__$1i;
3082
+ var stdin_default$5A = __sfc__$1j;
3083
+ withInstall(stdin_default$5A);
3084
+ withPropsDefaultsSetter(stdin_default$5A, props$1b);
3085
+ const _AvatarComponent = stdin_default$5A;
3086
+ var stdin_default$5z = stdin_default$5A;
3087
+ const props$1a = {
2787
3088
  offset: [Number, String],
2788
3089
  vertical: Boolean
2789
3090
  };
2790
- const { name: name$1b, n: n$1i, classes: classes$14 } = createNamespace("avatar-group");
2791
- function __render__$1i(_ctx, _cache) {
3091
+ const { name: name$1a, n: n$1h, classes: classes$13 } = createNamespace("avatar-group");
3092
+ function __render__$1h(_ctx, _cache) {
2792
3093
  return vue.openBlock(), vue.createElementBlock(
2793
3094
  "div",
2794
3095
  {
@@ -2802,9 +3103,9 @@ function __render__$1i(_ctx, _cache) {
2802
3103
  /* CLASS, STYLE */
2803
3104
  );
2804
3105
  }
2805
- const __sfc__$1j = vue.defineComponent({
2806
- name: name$1b,
2807
- props: props$1b,
3106
+ const __sfc__$1i = vue.defineComponent({
3107
+ name: name$1a,
3108
+ props: props$1a,
2808
3109
  setup(props2) {
2809
3110
  const rootStyles = vue.computed(() => {
2810
3111
  if (props2.offset == null) {
@@ -2816,19 +3117,19 @@ const __sfc__$1j = vue.defineComponent({
2816
3117
  });
2817
3118
  return {
2818
3119
  rootStyles,
2819
- n: n$1i,
2820
- classes: classes$14,
3120
+ n: n$1h,
3121
+ classes: classes$13,
2821
3122
  toSizeUnit
2822
3123
  };
2823
3124
  }
2824
3125
  });
2825
- __sfc__$1j.render = __render__$1i;
2826
- var stdin_default$5B = __sfc__$1j;
2827
- withInstall(stdin_default$5B);
2828
- withPropsDefaultsSetter(stdin_default$5B, props$1b);
2829
- const _AvatarGroupComponent = stdin_default$5B;
2830
- var stdin_default$5A = stdin_default$5B;
2831
- const props$1a = {
3126
+ __sfc__$1i.render = __render__$1h;
3127
+ var stdin_default$5y = __sfc__$1i;
3128
+ withInstall(stdin_default$5y);
3129
+ withPropsDefaultsSetter(stdin_default$5y, props$1a);
3130
+ const _AvatarGroupComponent = stdin_default$5y;
3131
+ var stdin_default$5x = stdin_default$5y;
3132
+ const props$19 = {
2832
3133
  type: {
2833
3134
  type: String,
2834
3135
  default: "circle"
@@ -2842,9 +3143,9 @@ const props$1a = {
2842
3143
  description: String,
2843
3144
  loading: Boolean
2844
3145
  };
2845
- const { name: name$1a, n: n$1h, classes: classes$13 } = createNamespace("loading");
3146
+ const { name: name$19, n: n$1g, classes: classes$12 } = createNamespace("loading");
2846
3147
  const _withScopeId$6 = (n2) => (vue.pushScopeId(""), n2 = n2(), vue.popScopeId(), n2);
2847
- const _hoisted_1$r = /* @__PURE__ */ _withScopeId$6(() => /* @__PURE__ */ vue.createElementVNode(
3148
+ const _hoisted_1$v = /* @__PURE__ */ _withScopeId$6(() => /* @__PURE__ */ vue.createElementVNode(
2848
3149
  "svg",
2849
3150
  { viewBox: "25 25 50 50" },
2850
3151
  [
@@ -2858,10 +3159,10 @@ const _hoisted_1$r = /* @__PURE__ */ _withScopeId$6(() => /* @__PURE__ */ vue.cr
2858
3159
  -1
2859
3160
  /* HOISTED */
2860
3161
  ));
2861
- const _hoisted_2$e = [
2862
- _hoisted_1$r
3162
+ const _hoisted_2$f = [
3163
+ _hoisted_1$v
2863
3164
  ];
2864
- function __render__$1h(_ctx, _cache) {
3165
+ function __render__$1g(_ctx, _cache) {
2865
3166
  return vue.openBlock(), vue.createElementBlock(
2866
3167
  "div",
2867
3168
  {
@@ -2912,280 +3213,121 @@ function __render__$1h(_ctx, _cache) {
2912
3213
  width: _ctx.multiplySizeUnit(_ctx.radius, 2),
2913
3214
  height: _ctx.multiplySizeUnit(_ctx.radius, 2),
2914
3215
  color: _ctx.color
2915
- })
2916
- },
2917
- [..._hoisted_2$e],
2918
- 6
2919
- /* CLASS, STYLE */
2920
- )
2921
- ],
2922
- 2
2923
- /* CLASS */
2924
- )) : vue.createCommentVNode("v-if", true),
2925
- (vue.openBlock(true), vue.createElementBlock(
2926
- vue.Fragment,
2927
- null,
2928
- vue.renderList(_ctx.loadingTypeDict, (nums, key) => {
2929
- return vue.openBlock(), vue.createElementBlock(
2930
- vue.Fragment,
2931
- { key },
2932
- [
2933
- _ctx.type === key ? (vue.openBlock(), vue.createElementBlock(
2934
- "div",
2935
- {
2936
- key: 0,
2937
- class: vue.normalizeClass(_ctx.classes(_ctx.n(key), _ctx.n(`${key}--${_ctx.size}`)))
2938
- },
2939
- [
2940
- (vue.openBlock(true), vue.createElementBlock(
2941
- vue.Fragment,
2942
- null,
2943
- vue.renderList(nums, (num) => {
2944
- return vue.openBlock(), vue.createElementBlock(
2945
- "div",
2946
- {
2947
- key: num + key,
2948
- style: vue.normalizeStyle({ backgroundColor: _ctx.color }),
2949
- class: vue.normalizeClass(_ctx.classes(_ctx.n(`${key}-item`), _ctx.n(`${key}-item--${_ctx.size}`)))
2950
- },
2951
- null,
2952
- 6
2953
- /* CLASS, STYLE */
2954
- );
2955
- }),
2956
- 128
2957
- /* KEYED_FRAGMENT */
2958
- ))
2959
- ],
2960
- 2
2961
- /* CLASS */
2962
- )) : vue.createCommentVNode("v-if", true)
2963
- ],
2964
- 64
2965
- /* STABLE_FRAGMENT */
2966
- );
2967
- }),
2968
- 128
2969
- /* KEYED_FRAGMENT */
2970
- )),
2971
- _ctx.$slots.description || _ctx.description ? (vue.openBlock(), vue.createElementBlock(
2972
- "div",
2973
- {
2974
- key: 1,
2975
- class: vue.normalizeClass(_ctx.classes(_ctx.n("description"), _ctx.n(`description--${_ctx.size}`))),
2976
- style: vue.normalizeStyle({ color: _ctx.color })
2977
- },
2978
- [
2979
- vue.renderSlot(_ctx.$slots, "description", {}, () => [
2980
- vue.createTextVNode(
2981
- vue.toDisplayString(_ctx.description),
2982
- 1
2983
- /* TEXT */
2984
- )
2985
- ])
2986
- ],
2987
- 6
2988
- /* CLASS, STYLE */
2989
- )) : vue.createCommentVNode("v-if", true)
2990
- ],
2991
- 2
2992
- /* CLASS */
2993
- )) : vue.createCommentVNode("v-if", true)
2994
- ],
2995
- 2
2996
- /* CLASS */
2997
- );
2998
- }
2999
- const __sfc__$1i = vue.defineComponent({
3000
- name: name$1a,
3001
- props: props$1a,
3002
- setup(props2, { slots }) {
3003
- const isShow = vue.computed(() => {
3004
- if (!call(slots.default)) {
3005
- return true;
3006
- }
3007
- return props2.loading;
3008
- });
3009
- const loadingTypeDict = {
3010
- wave: 5,
3011
- cube: 4,
3012
- rect: 8,
3013
- disappear: 3
3014
- };
3015
- return {
3016
- loadingTypeDict,
3017
- isShow,
3018
- n: n$1h,
3019
- classes: classes$13,
3020
- multiplySizeUnit
3021
- };
3022
- }
3023
- });
3024
- __sfc__$1i.render = __render__$1h;
3025
- var stdin_default$5z = __sfc__$1i;
3026
- withInstall(stdin_default$5z);
3027
- withPropsDefaultsSetter(stdin_default$5z, props$1a);
3028
- const _LoadingComponent = stdin_default$5z;
3029
- var stdin_default$5y = stdin_default$5z;
3030
- const props$19 = {
3031
- hovering: Boolean,
3032
- focusing: Boolean
3033
- };
3034
- const { name: name$19, n: n$1g, classes: classes$12 } = createNamespace("hover-overlay");
3035
- function __render__$1g(_ctx, _cache) {
3036
- return vue.openBlock(), vue.createElementBlock(
3037
- "div",
3038
- {
3039
- class: vue.normalizeClass(_ctx.classes(_ctx.n(), [_ctx.hovering, _ctx.n("--hovering")], [_ctx.focusing, _ctx.n("--focusing")]))
3040
- },
3041
- null,
3042
- 2
3043
- /* CLASS */
3044
- );
3045
- }
3046
- const __sfc__$1h = vue.defineComponent({
3047
- name: name$19,
3048
- props: props$19,
3049
- setup: () => ({
3050
- n: n$1g,
3051
- classes: classes$12
3052
- })
3053
- });
3054
- __sfc__$1h.render = __render__$1g;
3055
- var stdin_default$5x = __sfc__$1h;
3056
- withInstall(stdin_default$5x);
3057
- withPropsDefaultsSetter(stdin_default$5x, props$19);
3058
- function useHoverOverlay() {
3059
- const hovering = vue.ref(false);
3060
- const handleHovering = (value) => {
3061
- hovering.value = value;
3062
- };
3063
- return {
3064
- hovering,
3065
- handleHovering
3066
- };
3067
- }
3068
- const _HoverOverlayComponent = stdin_default$5x;
3069
- var stdin_default$5w = stdin_default$5x;
3070
- function shouldDisabled(arg) {
3071
- if (!arg) {
3072
- return false;
3073
- }
3074
- if (arg === "desktop" && inMobile()) {
3075
- return true;
3076
- }
3077
- if (arg === "mobile" && !inMobile()) {
3078
- return true;
3079
- }
3080
- return false;
3081
- }
3082
- function getStyle(element) {
3083
- const style = element.getAttribute("style");
3084
- if (!style)
3085
- return {};
3086
- return style.split(";").filter(Boolean).reduce((style2, item) => {
3087
- const [key, value] = item.split(":").map((item2) => item2.trim());
3088
- style2[camelize(key)] = value;
3089
- return style2;
3090
- }, {});
3091
- }
3092
- function updateRawStyle(element) {
3093
- const { value } = element._hover;
3094
- const style = getStyle(element);
3095
- Object.keys(value).forEach((key) => {
3096
- const camelizedKey = camelize(key);
3097
- const styleValue = value[camelizedKey];
3098
- if (styleValue != null && style[camelizedKey]) {
3099
- element._hover.rawStyle[camelizedKey] = style[camelizedKey];
3100
- }
3101
- });
3102
- }
3103
- function updateStyle(element, styleValue) {
3104
- Object.keys(styleValue).forEach((key) => {
3105
- const value = styleValue[key];
3106
- if (value != null) {
3107
- element.style[key] = value;
3108
- }
3109
- });
3110
- }
3111
- function clearStyle(element) {
3112
- Object.keys(element._hover.value).forEach((key) => {
3113
- const value = element._hover.value[key];
3114
- if (value != null) {
3115
- element.style[key] = "";
3116
- }
3117
- });
3118
- }
3119
- function restoreStyle(element) {
3120
- clearStyle(element);
3121
- updateStyle(element, element._hover.rawStyle);
3122
- }
3123
- function createHover() {
3124
- const { value } = this._hover;
3125
- this._hover.hovering = true;
3126
- if (isFunction(value)) {
3127
- value(this._hover.hovering);
3128
- return;
3129
- }
3130
- updateStyle(this, value);
3131
- }
3132
- function removeHover() {
3133
- this._hover.hovering = false;
3134
- if (isFunction(this._hover.value)) {
3135
- this._hover.value(this._hover.hovering);
3136
- return;
3137
- }
3138
- restoreStyle(this);
3139
- }
3140
- function mounted(element, binding) {
3141
- var _a, _b;
3142
- const { arg, value } = binding;
3143
- if (shouldDisabled(arg)) {
3144
- return;
3145
- }
3146
- element._hover = {
3147
- value,
3148
- hovering: (_b = (_a = element._hover) == null ? void 0 : _a.hovering) != null ? _b : false,
3149
- rawStyle: {}
3150
- };
3151
- updateRawStyle(element);
3152
- element.addEventListener("mouseenter", createHover);
3153
- element.addEventListener("mouseleave", removeHover);
3154
- }
3155
- function unmounted(element, binding) {
3156
- if (shouldDisabled(binding.arg)) {
3157
- return;
3158
- }
3159
- restoreStyle(element);
3160
- element.removeEventListener("mouseenter", createHover);
3161
- element.removeEventListener("mouseleave", removeHover);
3162
- }
3163
- function beforeUpdate(element, binding) {
3164
- if (!element._hover) {
3165
- return;
3166
- }
3167
- unmounted(element, binding);
3168
- }
3169
- function shouldUpdateStyle(element, binding) {
3170
- return !isFunction(binding.value) && element._hover.hovering;
3171
- }
3172
- function updated(element, binding) {
3173
- mounted(element, binding);
3174
- if (shouldUpdateStyle(element, binding)) {
3175
- updateStyle(element, binding.value);
3176
- }
3216
+ })
3217
+ },
3218
+ [..._hoisted_2$f],
3219
+ 6
3220
+ /* CLASS, STYLE */
3221
+ )
3222
+ ],
3223
+ 2
3224
+ /* CLASS */
3225
+ )) : vue.createCommentVNode("v-if", true),
3226
+ (vue.openBlock(true), vue.createElementBlock(
3227
+ vue.Fragment,
3228
+ null,
3229
+ vue.renderList(_ctx.loadingTypeDict, (nums, key) => {
3230
+ return vue.openBlock(), vue.createElementBlock(
3231
+ vue.Fragment,
3232
+ { key },
3233
+ [
3234
+ _ctx.type === key ? (vue.openBlock(), vue.createElementBlock(
3235
+ "div",
3236
+ {
3237
+ key: 0,
3238
+ class: vue.normalizeClass(_ctx.classes(_ctx.n(key), _ctx.n(`${key}--${_ctx.size}`)))
3239
+ },
3240
+ [
3241
+ (vue.openBlock(true), vue.createElementBlock(
3242
+ vue.Fragment,
3243
+ null,
3244
+ vue.renderList(nums, (num) => {
3245
+ return vue.openBlock(), vue.createElementBlock(
3246
+ "div",
3247
+ {
3248
+ key: num + key,
3249
+ style: vue.normalizeStyle({ backgroundColor: _ctx.color }),
3250
+ class: vue.normalizeClass(_ctx.classes(_ctx.n(`${key}-item`), _ctx.n(`${key}-item--${_ctx.size}`)))
3251
+ },
3252
+ null,
3253
+ 6
3254
+ /* CLASS, STYLE */
3255
+ );
3256
+ }),
3257
+ 128
3258
+ /* KEYED_FRAGMENT */
3259
+ ))
3260
+ ],
3261
+ 2
3262
+ /* CLASS */
3263
+ )) : vue.createCommentVNode("v-if", true)
3264
+ ],
3265
+ 64
3266
+ /* STABLE_FRAGMENT */
3267
+ );
3268
+ }),
3269
+ 128
3270
+ /* KEYED_FRAGMENT */
3271
+ )),
3272
+ _ctx.$slots.description || _ctx.description ? (vue.openBlock(), vue.createElementBlock(
3273
+ "div",
3274
+ {
3275
+ key: 1,
3276
+ class: vue.normalizeClass(_ctx.classes(_ctx.n("description"), _ctx.n(`description--${_ctx.size}`))),
3277
+ style: vue.normalizeStyle({ color: _ctx.color })
3278
+ },
3279
+ [
3280
+ vue.renderSlot(_ctx.$slots, "description", {}, () => [
3281
+ vue.createTextVNode(
3282
+ vue.toDisplayString(_ctx.description),
3283
+ 1
3284
+ /* TEXT */
3285
+ )
3286
+ ])
3287
+ ],
3288
+ 6
3289
+ /* CLASS, STYLE */
3290
+ )) : vue.createCommentVNode("v-if", true)
3291
+ ],
3292
+ 2
3293
+ /* CLASS */
3294
+ )) : vue.createCommentVNode("v-if", true)
3295
+ ],
3296
+ 2
3297
+ /* CLASS */
3298
+ );
3177
3299
  }
3178
- const Hover = {
3179
- mounted,
3180
- unmounted,
3181
- beforeUpdate,
3182
- updated,
3183
- install(app) {
3184
- app.directive("hover", this);
3300
+ const __sfc__$1h = vue.defineComponent({
3301
+ name: name$19,
3302
+ props: props$19,
3303
+ setup(props2, { slots }) {
3304
+ const isShow = vue.computed(() => {
3305
+ if (!call(slots.default)) {
3306
+ return true;
3307
+ }
3308
+ return props2.loading;
3309
+ });
3310
+ const loadingTypeDict = {
3311
+ wave: 5,
3312
+ cube: 4,
3313
+ rect: 8,
3314
+ disappear: 3
3315
+ };
3316
+ return {
3317
+ loadingTypeDict,
3318
+ isShow,
3319
+ n: n$1g,
3320
+ classes: classes$12,
3321
+ multiplySizeUnit
3322
+ };
3185
3323
  }
3186
- };
3187
- const _HoverComponent = Hover;
3188
- var stdin_default$5v = Hover;
3324
+ });
3325
+ __sfc__$1h.render = __render__$1g;
3326
+ var stdin_default$5w = __sfc__$1h;
3327
+ withInstall(stdin_default$5w);
3328
+ withPropsDefaultsSetter(stdin_default$5w, props$19);
3329
+ const _LoadingComponent = stdin_default$5w;
3330
+ var stdin_default$5v = stdin_default$5w;
3189
3331
  var __defProp$o = Object.defineProperty;
3190
3332
  var __defProps$7 = Object.defineProperties;
3191
3333
  var __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;
@@ -3231,9 +3373,9 @@ const props$18 = {
3231
3373
  default: true
3232
3374
  },
3233
3375
  loadingRadius: [Number, String],
3234
- loadingType: pickProps(props$1a, "type"),
3235
- loadingSize: pickProps(props$1a, "size"),
3236
- loadingColor: __spreadProps$7(__spreadValues$o({}, pickProps(props$1a, "color")), {
3376
+ loadingType: pickProps(props$19, "type"),
3377
+ loadingSize: pickProps(props$19, "size"),
3378
+ loadingColor: __spreadProps$7(__spreadValues$o({}, pickProps(props$19, "color")), {
3237
3379
  default: "currentColor"
3238
3380
  }),
3239
3381
  onClick: defineListenerProp(),
@@ -3257,7 +3399,7 @@ function useButtonGroup() {
3257
3399
  };
3258
3400
  }
3259
3401
  const { name: name$18, n: n$1f, classes: classes$11 } = createNamespace("button");
3260
- const _hoisted_1$q = ["type", "disabled"];
3402
+ const _hoisted_1$u = ["type", "disabled"];
3261
3403
  function __render__$1f(_ctx, _cache) {
3262
3404
  const _component_var_loading = vue.resolveComponent("var-loading");
3263
3405
  const _component_var_hover_overlay = vue.resolveComponent("var-hover-overlay");
@@ -3289,8 +3431,8 @@ function __render__$1f(_ctx, _cache) {
3289
3431
  disabled: _ctx.disabled,
3290
3432
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args)),
3291
3433
  onTouchstart: _cache[1] || (_cache[1] = (...args) => _ctx.handleTouchstart && _ctx.handleTouchstart(...args)),
3292
- onFocus: _cache[2] || (_cache[2] = ($event) => _ctx.isEffectFocusing = true),
3293
- onBlur: _cache[3] || (_cache[3] = ($event) => _ctx.isEffectFocusing = false)
3434
+ onFocus: _cache[2] || (_cache[2] = ($event) => _ctx.isFocusing = true),
3435
+ onBlur: _cache[3] || (_cache[3] = ($event) => _ctx.isFocusing = false)
3294
3436
  }, [
3295
3437
  _ctx.loading || _ctx.pending ? (vue.openBlock(), vue.createBlock(_component_var_loading, {
3296
3438
  key: 0,
@@ -3314,9 +3456,9 @@ function __render__$1f(_ctx, _cache) {
3314
3456
  ),
3315
3457
  vue.createVNode(_component_var_hover_overlay, {
3316
3458
  hovering: _ctx.disabled || _ctx.loading || _ctx.pending ? false : _ctx.hovering,
3317
- focusing: _ctx.disabled || _ctx.loading || _ctx.pending ? false : _ctx.isEffectFocusing
3459
+ focusing: _ctx.disabled || _ctx.loading || _ctx.pending ? false : _ctx.isFocusing
3318
3460
  }, null, 8, ["hovering", "focusing"])
3319
- ], 46, _hoisted_1$q)), [
3461
+ ], 46, _hoisted_1$u)), [
3320
3462
  [_directive_ripple, { disabled: _ctx.disabled || !_ctx.ripple || _ctx.loading || _ctx.pending }],
3321
3463
  [_directive_hover, _ctx.handleHovering, "desktop"]
3322
3464
  ]);
@@ -3324,13 +3466,13 @@ function __render__$1f(_ctx, _cache) {
3324
3466
  const __sfc__$1g = vue.defineComponent({
3325
3467
  name: name$18,
3326
3468
  components: {
3327
- VarLoading: stdin_default$5y,
3328
- VarHoverOverlay: stdin_default$5w
3469
+ VarLoading: stdin_default$5v,
3470
+ VarHoverOverlay: stdin_default$5O
3329
3471
  },
3330
- directives: { Ripple: stdin_default$5T, Hover: stdin_default$5v },
3472
+ directives: { Ripple: stdin_default$5U, Hover: stdin_default$5N },
3331
3473
  props: props$18,
3332
3474
  setup(props2) {
3333
- const isEffectFocusing = inMobile() ? vue.computed(() => false) : vue.ref(false);
3475
+ const isFocusing = vue.ref(false);
3334
3476
  const pending = vue.ref(false);
3335
3477
  const { buttonGroup } = useButtonGroup();
3336
3478
  const { hovering, handleHovering } = useHoverOverlay();
@@ -3393,7 +3535,7 @@ const __sfc__$1g = vue.defineComponent({
3393
3535
  handleHovering,
3394
3536
  handleClick,
3395
3537
  handleTouchstart,
3396
- isEffectFocusing
3538
+ isFocusing
3397
3539
  };
3398
3540
  }
3399
3541
  });
@@ -3465,7 +3607,7 @@ const __sfc__$1f = vue.defineComponent({
3465
3607
  name: name$17,
3466
3608
  components: {
3467
3609
  VarButton: stdin_default$5t,
3468
- VarIcon: stdin_default$5P
3610
+ VarIcon: stdin_default$5Q
3469
3611
  },
3470
3612
  inheritAttrs: false,
3471
3613
  props: props$17,
@@ -3567,7 +3709,7 @@ var __spreadValues$n = (a, b) => {
3567
3709
  return a;
3568
3710
  };
3569
3711
  const { name: name$16, n: n$1d, classes: classes$$ } = createNamespace("badge");
3570
- const _hoisted_1$p = { key: 0 };
3712
+ const _hoisted_1$t = { key: 0 };
3571
3713
  function __render__$1d(_ctx, _cache) {
3572
3714
  const _component_var_icon = vue.resolveComponent("var-icon");
3573
3715
  return vue.openBlock(), vue.createElementBlock(
@@ -3605,7 +3747,7 @@ function __render__$1d(_ctx, _cache) {
3605
3747
  vue.renderSlot(_ctx.$slots, "value", {}, () => [
3606
3748
  !_ctx.icon && !_ctx.dot ? (vue.openBlock(), vue.createElementBlock(
3607
3749
  "span",
3608
- _hoisted_1$p,
3750
+ _hoisted_1$t,
3609
3751
  vue.toDisplayString(_ctx.value),
3610
3752
  1
3611
3753
  /* TEXT */
@@ -3628,7 +3770,7 @@ function __render__$1d(_ctx, _cache) {
3628
3770
  }
3629
3771
  const __sfc__$1e = vue.defineComponent({
3630
3772
  name: name$16,
3631
- components: { VarIcon: stdin_default$5P },
3773
+ components: { VarIcon: stdin_default$5Q },
3632
3774
  inheritAttrs: false,
3633
3775
  props: props$16,
3634
3776
  setup(props2) {
@@ -3952,9 +4094,9 @@ const __sfc__$1c = vue.defineComponent({
3952
4094
  name: name$14,
3953
4095
  components: {
3954
4096
  VarBadge: stdin_default$5p,
3955
- VarIcon: stdin_default$5P
4097
+ VarIcon: stdin_default$5Q
3956
4098
  },
3957
- directives: { Ripple: stdin_default$5T },
4099
+ directives: { Ripple: stdin_default$5U },
3958
4100
  props: props$14,
3959
4101
  setup(props2) {
3960
4102
  const name2 = vue.computed(() => props2.name);
@@ -4248,7 +4390,7 @@ var __async$e = (__this, __arguments, generator) => {
4248
4390
  };
4249
4391
  const { name: name$10, n: n$17, classes: classes$W } = createNamespace("card");
4250
4392
  const RIPPLE_DELAY = 500;
4251
- const _hoisted_1$o = ["src", "alt"];
4393
+ const _hoisted_1$s = ["src", "alt"];
4252
4394
  function __render__$17(_ctx, _cache) {
4253
4395
  const _component_var_icon = vue.resolveComponent("var-icon");
4254
4396
  const _component_var_button = vue.resolveComponent("var-button");
@@ -4293,7 +4435,7 @@ function __render__$17(_ctx, _cache) {
4293
4435
  }),
4294
4436
  src: _ctx.src,
4295
4437
  alt: _ctx.alt
4296
- }, null, 14, _hoisted_1$o)) : vue.createCommentVNode("v-if", true)
4438
+ }, null, 14, _hoisted_1$s)) : vue.createCommentVNode("v-if", true)
4297
4439
  ]),
4298
4440
  vue.createElementVNode(
4299
4441
  "div",
@@ -4429,9 +4571,9 @@ function __render__$17(_ctx, _cache) {
4429
4571
  }
4430
4572
  const __sfc__$18 = vue.defineComponent({
4431
4573
  name: name$10,
4432
- directives: { Ripple: stdin_default$5T },
4574
+ directives: { Ripple: stdin_default$5U },
4433
4575
  components: {
4434
- VarIcon: stdin_default$5P,
4576
+ VarIcon: stdin_default$5Q,
4435
4577
  VarButton: stdin_default$5t
4436
4578
  },
4437
4579
  props: props$10,
@@ -4665,8 +4807,8 @@ function __render__$16(_ctx, _cache) {
4665
4807
  }
4666
4808
  const __sfc__$17 = vue.defineComponent({
4667
4809
  name: name$$,
4668
- components: { VarIcon: stdin_default$5P },
4669
- directives: { Ripple: stdin_default$5T },
4810
+ components: { VarIcon: stdin_default$5Q },
4811
+ directives: { Ripple: stdin_default$5U },
4670
4812
  props: props$$,
4671
4813
  setup(props2) {
4672
4814
  const borderOffsetStyles = vue.computed(() => {
@@ -4707,8 +4849,8 @@ const props$_ = {
4707
4849
  }
4708
4850
  };
4709
4851
  const { name: name$_, n: n$15 } = createNamespace("form-details");
4710
- const _hoisted_1$n = { key: 0 };
4711
- const _hoisted_2$d = { key: 0 };
4852
+ const _hoisted_1$r = { key: 0 };
4853
+ const _hoisted_2$e = { key: 0 };
4712
4854
  function __render__$15(_ctx, _cache) {
4713
4855
  return vue.openBlock(), vue.createBlock(vue.Transition, {
4714
4856
  name: _ctx.n()
@@ -4733,7 +4875,7 @@ function __render__$15(_ctx, _cache) {
4733
4875
  default: vue.withCtx(() => [
4734
4876
  _ctx.errorMessage ? (vue.openBlock(), vue.createElementBlock(
4735
4877
  "div",
4736
- _hoisted_1$n,
4878
+ _hoisted_1$r,
4737
4879
  vue.toDisplayString(_ctx.errorMessage),
4738
4880
  1
4739
4881
  /* TEXT */
@@ -4759,7 +4901,7 @@ function __render__$15(_ctx, _cache) {
4759
4901
  vue.renderSlot(_ctx.$slots, "extra-message", {}, () => [
4760
4902
  _ctx.extraMessage ? (vue.openBlock(), vue.createElementBlock(
4761
4903
  "div",
4762
- _hoisted_2$d,
4904
+ _hoisted_2$e,
4763
4905
  vue.toDisplayString(_ctx.extraMessage),
4764
4906
  1
4765
4907
  /* TEXT */
@@ -4888,6 +5030,7 @@ function useFormItems() {
4888
5030
  };
4889
5031
  }
4890
5032
  const { name: name$Z, n: n$14, classes: classes$U } = createNamespace("checkbox");
5033
+ const _hoisted_1$q = ["tabindex"];
4891
5034
  function __render__$14(_ctx, _cache) {
4892
5035
  const _component_var_icon = vue.resolveComponent("var-icon");
4893
5036
  const _component_var_hover_overlay = vue.resolveComponent("var-hover-overlay");
@@ -4898,7 +5041,7 @@ function __render__$14(_ctx, _cache) {
4898
5041
  "div",
4899
5042
  {
4900
5043
  class: vue.normalizeClass(_ctx.n("wrap")),
4901
- onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
5044
+ onClick: _cache[3] || (_cache[3] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
4902
5045
  },
4903
5046
  [
4904
5047
  vue.createElementVNode(
@@ -4907,51 +5050,50 @@ function __render__$14(_ctx, _cache) {
4907
5050
  class: vue.normalizeClass(_ctx.n())
4908
5051
  },
4909
5052
  [
4910
- vue.withDirectives((vue.openBlock(), vue.createElementBlock(
4911
- "div",
4912
- {
4913
- class: vue.normalizeClass(
4914
- _ctx.classes(
4915
- _ctx.n("action"),
4916
- [_ctx.checked || _ctx.isIndeterminate, _ctx.n("--checked"), _ctx.n("--unchecked")],
4917
- [_ctx.errorMessage || _ctx.checkboxGroupErrorMessage, _ctx.n("--error")],
4918
- [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")]
4919
- )
4920
- ),
4921
- style: vue.normalizeStyle({ color: _ctx.checked || _ctx.isIndeterminate ? _ctx.checkedColor : _ctx.uncheckedColor })
4922
- },
4923
- [
4924
- _ctx.isIndeterminate ? vue.renderSlot(_ctx.$slots, "indeterminate-icon", { key: 0 }, () => [
4925
- vue.createVNode(_component_var_icon, {
4926
- class: vue.normalizeClass(_ctx.classes(_ctx.n("icon"), [_ctx.withAnimation, _ctx.n("--with-animation")])),
4927
- name: "minus-box",
4928
- size: _ctx.iconSize,
4929
- "var-checkbox-cover": ""
4930
- }, null, 8, ["class", "size"])
4931
- ]) : vue.createCommentVNode("v-if", true),
4932
- _ctx.checked && !_ctx.isIndeterminate ? vue.renderSlot(_ctx.$slots, "checked-icon", { key: 1 }, () => [
4933
- vue.createVNode(_component_var_icon, {
4934
- class: vue.normalizeClass(_ctx.classes(_ctx.n("icon"), [_ctx.withAnimation, _ctx.n("--with-animation")])),
4935
- name: "checkbox-marked",
4936
- size: _ctx.iconSize,
4937
- "var-checkbox-cover": ""
4938
- }, null, 8, ["class", "size"])
4939
- ]) : vue.createCommentVNode("v-if", true),
4940
- !_ctx.checked && !_ctx.isIndeterminate ? vue.renderSlot(_ctx.$slots, "unchecked-icon", { key: 2 }, () => [
4941
- vue.createVNode(_component_var_icon, {
4942
- class: vue.normalizeClass(_ctx.classes(_ctx.n("icon"), [_ctx.withAnimation, _ctx.n("--with-animation")])),
4943
- name: "checkbox-blank-outline",
4944
- size: _ctx.iconSize,
4945
- "var-checkbox-cover": ""
4946
- }, null, 8, ["class", "size"])
4947
- ]) : vue.createCommentVNode("v-if", true),
4948
- vue.createVNode(_component_var_hover_overlay, {
4949
- hovering: !_ctx.disabled && !_ctx.formDisabled && _ctx.hovering
4950
- }, null, 8, ["hovering"])
4951
- ],
4952
- 6
4953
- /* CLASS, STYLE */
4954
- )), [
5053
+ vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
5054
+ ref: "action",
5055
+ class: vue.normalizeClass(
5056
+ _ctx.classes(
5057
+ _ctx.n("action"),
5058
+ [_ctx.checked || _ctx.isIndeterminate, _ctx.n("--checked"), _ctx.n("--unchecked")],
5059
+ [_ctx.errorMessage || _ctx.checkboxGroupErrorMessage, _ctx.n("--error")],
5060
+ [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")]
5061
+ )
5062
+ ),
5063
+ style: vue.normalizeStyle({ color: _ctx.checked || _ctx.isIndeterminate ? _ctx.checkedColor : _ctx.uncheckedColor }),
5064
+ tabindex: _ctx.disabled || _ctx.formDisabled ? void 0 : "0",
5065
+ onFocus: _cache[0] || (_cache[0] = ($event) => _ctx.isFocusing = true),
5066
+ onBlur: _cache[1] || (_cache[1] = ($event) => _ctx.isFocusing = false)
5067
+ }, [
5068
+ _ctx.isIndeterminate ? vue.renderSlot(_ctx.$slots, "indeterminate-icon", { key: 0 }, () => [
5069
+ vue.createVNode(_component_var_icon, {
5070
+ class: vue.normalizeClass(_ctx.classes(_ctx.n("icon"), [_ctx.withAnimation, _ctx.n("--with-animation")])),
5071
+ name: "minus-box",
5072
+ size: _ctx.iconSize,
5073
+ "var-checkbox-cover": ""
5074
+ }, null, 8, ["class", "size"])
5075
+ ]) : vue.createCommentVNode("v-if", true),
5076
+ _ctx.checked && !_ctx.isIndeterminate ? vue.renderSlot(_ctx.$slots, "checked-icon", { key: 1 }, () => [
5077
+ vue.createVNode(_component_var_icon, {
5078
+ class: vue.normalizeClass(_ctx.classes(_ctx.n("icon"), [_ctx.withAnimation, _ctx.n("--with-animation")])),
5079
+ name: "checkbox-marked",
5080
+ size: _ctx.iconSize,
5081
+ "var-checkbox-cover": ""
5082
+ }, null, 8, ["class", "size"])
5083
+ ]) : vue.createCommentVNode("v-if", true),
5084
+ !_ctx.checked && !_ctx.isIndeterminate ? vue.renderSlot(_ctx.$slots, "unchecked-icon", { key: 2 }, () => [
5085
+ vue.createVNode(_component_var_icon, {
5086
+ class: vue.normalizeClass(_ctx.classes(_ctx.n("icon"), [_ctx.withAnimation, _ctx.n("--with-animation")])),
5087
+ name: "checkbox-blank-outline",
5088
+ size: _ctx.iconSize,
5089
+ "var-checkbox-cover": ""
5090
+ }, null, 8, ["class", "size"])
5091
+ ]) : vue.createCommentVNode("v-if", true),
5092
+ vue.createVNode(_component_var_hover_overlay, {
5093
+ hovering: !_ctx.disabled && !_ctx.formDisabled && _ctx.hovering,
5094
+ focusing: !_ctx.disabled && !_ctx.formDisabled && _ctx.isFocusing
5095
+ }, null, 8, ["hovering", "focusing"])
5096
+ ], 46, _hoisted_1$q)), [
4955
5097
  [_directive_hover, _ctx.handleHovering, "desktop"],
4956
5098
  [_directive_ripple, { disabled: _ctx.formReadonly || _ctx.readonly || _ctx.formDisabled || _ctx.disabled || !_ctx.ripple }]
4957
5099
  ]),
@@ -4965,7 +5107,8 @@ function __render__$14(_ctx, _cache) {
4965
5107
  [_ctx.errorMessage || _ctx.checkboxGroupErrorMessage, _ctx.n("--error")],
4966
5108
  [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")]
4967
5109
  )
4968
- )
5110
+ ),
5111
+ onClick: _cache[2] || (_cache[2] = (...args) => _ctx.handleTextClick && _ctx.handleTextClick(...args))
4969
5112
  },
4970
5113
  [
4971
5114
  vue.renderSlot(_ctx.$slots, "default")
@@ -4985,14 +5128,16 @@ function __render__$14(_ctx, _cache) {
4985
5128
  }
4986
5129
  const __sfc__$15 = vue.defineComponent({
4987
5130
  name: name$Z,
4988
- directives: { Ripple: stdin_default$5T, Hover: stdin_default$5v },
5131
+ directives: { Ripple: stdin_default$5U, Hover: stdin_default$5N },
4989
5132
  components: {
4990
- VarIcon: stdin_default$5P,
5133
+ VarIcon: stdin_default$5Q,
4991
5134
  VarFormDetails: stdin_default$59,
4992
- VarHoverOverlay: stdin_default$5w
5135
+ VarHoverOverlay: stdin_default$5O
4993
5136
  },
4994
5137
  props: props$Z,
4995
5138
  setup(props2) {
5139
+ const action = vue.ref(null);
5140
+ const isFocusing = vue.ref(false);
4996
5141
  const value = useVModel(props2, "modelValue");
4997
5142
  const isIndeterminate = useVModel(props2, "indeterminate");
4998
5143
  const checked = vue.computed(() => value.value === props2.checkedValue);
@@ -5019,6 +5164,8 @@ const __sfc__$15 = vue.defineComponent({
5019
5164
  };
5020
5165
  call(bindCheckboxGroup, checkboxProvider);
5021
5166
  call(bindForm, checkboxProvider);
5167
+ useEventListener(() => window, "keydown", handleKeydown);
5168
+ useEventListener(() => window, "keyup", handleKeyup);
5022
5169
  function validateWithTrigger(trigger) {
5023
5170
  vue.nextTick(() => {
5024
5171
  const { validateTrigger, rules, modelValue } = props2;
@@ -5049,6 +5196,9 @@ const __sfc__$15 = vue.defineComponent({
5049
5196
  }
5050
5197
  change(checked.value ? uncheckedValue : checkedValue2);
5051
5198
  }
5199
+ function handleTextClick() {
5200
+ action.value.focus();
5201
+ }
5052
5202
  function sync(values) {
5053
5203
  const { checkedValue: checkedValue2, uncheckedValue } = props2;
5054
5204
  value.value = values.includes(checkedValue2) ? checkedValue2 : uncheckedValue;
@@ -5068,10 +5218,33 @@ const __sfc__$15 = vue.defineComponent({
5068
5218
  }
5069
5219
  change(changedValue);
5070
5220
  }
5221
+ function handleKeydown(event) {
5222
+ if (!isFocusing.value) {
5223
+ return;
5224
+ }
5225
+ const { key } = event;
5226
+ if (key === "Enter" || key === " ") {
5227
+ preventDefault(event);
5228
+ }
5229
+ if (key === "Enter") {
5230
+ action.value.click();
5231
+ }
5232
+ }
5233
+ function handleKeyup(event) {
5234
+ if (!isFocusing.value) {
5235
+ return;
5236
+ }
5237
+ if (event.key === " ") {
5238
+ preventDefault(event);
5239
+ action.value.click();
5240
+ }
5241
+ }
5071
5242
  function validate() {
5072
5243
  return v(props2.rules, props2.modelValue);
5073
5244
  }
5074
5245
  return {
5246
+ action,
5247
+ isFocusing,
5075
5248
  isIndeterminate,
5076
5249
  withAnimation,
5077
5250
  checked,
@@ -5084,6 +5257,7 @@ const __sfc__$15 = vue.defineComponent({
5084
5257
  classes: classes$U,
5085
5258
  handleHovering,
5086
5259
  handleClick,
5260
+ handleTextClick,
5087
5261
  toggle,
5088
5262
  reset,
5089
5263
  validate,
@@ -5318,7 +5492,7 @@ function __render__$12(_ctx, _cache) {
5318
5492
  const __sfc__$13 = vue.defineComponent({
5319
5493
  name: name$X,
5320
5494
  components: {
5321
- VarIcon: stdin_default$5P
5495
+ VarIcon: stdin_default$5Q
5322
5496
  },
5323
5497
  inheritAttrs: false,
5324
5498
  props: props$X,
@@ -5839,7 +6013,7 @@ function __render__$$(_ctx, _cache) {
5839
6013
  const __sfc__$10 = vue.defineComponent({
5840
6014
  name: name$U,
5841
6015
  components: {
5842
- VarIcon: stdin_default$5P
6016
+ VarIcon: stdin_default$5Q
5843
6017
  },
5844
6018
  props: props$U,
5845
6019
  setup(props2) {
@@ -8506,7 +8680,7 @@ const props$R = {
8506
8680
  const SPEED = 100;
8507
8681
  const DELAY = 600;
8508
8682
  const { name: name$R, n: n$Y, classes: classes$P } = createNamespace("counter");
8509
- const _hoisted_1$m = ["inputmode", "readonly", "disabled"];
8683
+ const _hoisted_1$p = ["inputmode", "readonly", "disabled"];
8510
8684
  function __render__$Y(_ctx, _cache) {
8511
8685
  const _component_var_icon = vue.resolveComponent("var-icon");
8512
8686
  const _component_var_button = vue.resolveComponent("var-button");
@@ -8566,7 +8740,7 @@ function __render__$Y(_ctx, _cache) {
8566
8740
  disabled: _ctx.disabled || _ctx.formDisabled || _ctx.disableInput,
8567
8741
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.inputValue = $event),
8568
8742
  onChange: _cache[1] || (_cache[1] = (...args) => _ctx.handleChange && _ctx.handleChange(...args))
8569
- }, null, 46, _hoisted_1$m), [
8743
+ }, null, 46, _hoisted_1$p), [
8570
8744
  [vue.vModelText, _ctx.inputValue]
8571
8745
  ]),
8572
8746
  vue.createVNode(_component_var_button, {
@@ -8609,10 +8783,10 @@ const __sfc__$Z = vue.defineComponent({
8609
8783
  name: name$R,
8610
8784
  components: {
8611
8785
  VarButton: stdin_default$5t,
8612
- VarIcon: stdin_default$5P,
8786
+ VarIcon: stdin_default$5Q,
8613
8787
  VarFormDetails: stdin_default$59
8614
8788
  },
8615
- directives: { Ripple: stdin_default$5T },
8789
+ directives: { Ripple: stdin_default$5U },
8616
8790
  inheritAttrs: false,
8617
8791
  props: props$R,
8618
8792
  setup(props2) {
@@ -9362,7 +9536,7 @@ const __sfc__$Y = vue.defineComponent({
9362
9536
  name: "PanelHeader",
9363
9537
  components: {
9364
9538
  VarButton: stdin_default$5t,
9365
- VarIcon: stdin_default$5P
9539
+ VarIcon: stdin_default$5Q
9366
9540
  },
9367
9541
  props: {
9368
9542
  date: {
@@ -11228,7 +11402,10 @@ const props$O = __spreadValues$h({
11228
11402
  "onClosed",
11229
11403
  "onClickOverlay",
11230
11404
  // internal for function call closes the dialog
11231
- "onRouteChange"
11405
+ "onRouteChange",
11406
+ // internal for esc
11407
+ "closeOnKeyEscape",
11408
+ "onKeyEscape"
11232
11409
  ]));
11233
11410
  var __defProp$g = Object.defineProperty;
11234
11411
  var __getOwnPropSymbols$g = Object.getOwnPropertySymbols;
@@ -11259,11 +11436,13 @@ function __render__$R(_ctx, _cache) {
11259
11436
  "overlay-style": _ctx.overlayStyle,
11260
11437
  "lock-scroll": _ctx.lockScroll,
11261
11438
  "close-on-click-overlay": _ctx.popupCloseOnClickOverlay,
11439
+ "close-on-key-escape": false,
11262
11440
  teleport: _ctx.teleport,
11263
11441
  onOpen: _ctx.onOpen,
11264
11442
  onClose: _ctx.onClose,
11265
11443
  onClosed: _ctx.onClosed,
11266
11444
  onOpened: _ctx.onOpened,
11445
+ onKeyEscape: _ctx.handleKeyEscape,
11267
11446
  onRouteChange: _ctx.onRouteChange,
11268
11447
  onClickOverlay: _ctx.handleClickOverlay
11269
11448
  }, {
@@ -11374,12 +11553,12 @@ function __render__$R(_ctx, _cache) {
11374
11553
  ]),
11375
11554
  _: 3
11376
11555
  /* FORWARDED */
11377
- }, 8, ["class", "show", "overlay", "overlay-class", "overlay-style", "lock-scroll", "close-on-click-overlay", "teleport", "onOpen", "onClose", "onClosed", "onOpened", "onRouteChange", "onClickOverlay"]);
11556
+ }, 8, ["class", "show", "overlay", "overlay-class", "overlay-style", "lock-scroll", "close-on-click-overlay", "teleport", "onOpen", "onClose", "onClosed", "onOpened", "onKeyEscape", "onRouteChange", "onClickOverlay"]);
11378
11557
  }
11379
11558
  const __sfc__$S = vue.defineComponent({
11380
11559
  name: name$O,
11381
11560
  components: {
11382
- VarPopup: stdin_default$5R,
11561
+ VarPopup: stdin_default$5S,
11383
11562
  VarButton: stdin_default$5t
11384
11563
  },
11385
11564
  inheritAttrs: false,
@@ -11438,6 +11617,13 @@ const __sfc__$S = vue.defineComponent({
11438
11617
  }
11439
11618
  call(props2["onUpdate:show"], false);
11440
11619
  }
11620
+ function handleKeyEscape() {
11621
+ call(props2.onKeyEscape);
11622
+ if (!props2.closeOnKeyEscape) {
11623
+ return;
11624
+ }
11625
+ cancel();
11626
+ }
11441
11627
  return {
11442
11628
  t,
11443
11629
  popupShow,
@@ -11447,7 +11633,8 @@ const __sfc__$S = vue.defineComponent({
11447
11633
  handleClickOverlay,
11448
11634
  confirm,
11449
11635
  cancel,
11450
- toSizeUnit
11636
+ toSizeUnit,
11637
+ handleKeyEscape
11451
11638
  };
11452
11639
  }
11453
11640
  });
@@ -13233,6 +13420,7 @@ function usePopover(options) {
13233
13420
  }
13234
13421
  });
13235
13422
  const { zIndex } = useZIndex(() => show.value, 1);
13423
+ useStack(() => show.value, zIndex);
13236
13424
  let popoverInstance = null;
13237
13425
  let enterPopover = false;
13238
13426
  let enterHost = false;
@@ -13458,6 +13646,13 @@ function usePopover(options) {
13458
13646
  };
13459
13647
  };
13460
13648
  const getReference = () => options.reference ? host.value.querySelector(options.reference) : host.value;
13649
+ const handleKeydown = (event) => {
13650
+ const { closeOnKeyEscape = false } = options;
13651
+ if (event.key === "Escape" && closeOnKeyEscape && show.value) {
13652
+ preventDefault(event);
13653
+ close();
13654
+ }
13655
+ };
13461
13656
  const resize = () => {
13462
13657
  popoverInstance.setOptions(getPopperOptions());
13463
13658
  };
@@ -13473,6 +13668,7 @@ function usePopover(options) {
13473
13668
  show.value = false;
13474
13669
  call(options["onUpdate:show"], false);
13475
13670
  };
13671
+ useEventListener(() => window, "keydown", handleKeydown);
13476
13672
  useClickOutside(getReference, "click", handleClickOutside);
13477
13673
  onWindowResize(resize);
13478
13674
  vue.watch(() => [options.offsetX, options.offsetY, options.placement, options.strategy], resize);
@@ -13543,7 +13739,12 @@ const props$L = {
13543
13739
  onClose: defineListenerProp(),
13544
13740
  onClosed: defineListenerProp(),
13545
13741
  onClickOutside: defineListenerProp(),
13546
- "onUpdate:show": defineListenerProp()
13742
+ "onUpdate:show": defineListenerProp(),
13743
+ // internal for esc
13744
+ closeOnKeyEscape: {
13745
+ type: Boolean,
13746
+ default: true
13747
+ }
13547
13748
  };
13548
13749
  const { name: name$L, n: n$O, classes: classes$G } = createNamespace("tooltip");
13549
13750
  function __render__$O(_ctx, _cache) {
@@ -13696,7 +13897,7 @@ var __spreadValues$c = (a, b) => {
13696
13897
  return a;
13697
13898
  };
13698
13899
  const { name: name$K, n: n$N, classes: classes$F } = createNamespace("ellipsis");
13699
- const _hoisted_1$l = { key: 0 };
13900
+ const _hoisted_1$o = { key: 0 };
13700
13901
  function __render__$N(_ctx, _cache) {
13701
13902
  const _component_var_tooltip = vue.resolveComponent("var-tooltip");
13702
13903
  return vue.openBlock(), vue.createBlock(
@@ -13709,7 +13910,7 @@ function __render__$N(_ctx, _cache) {
13709
13910
  return [
13710
13911
  ((_a = _ctx.tooltipProps) == null ? void 0 : _a.content) ? (vue.openBlock(), vue.createElementBlock(
13711
13912
  "span",
13712
- _hoisted_1$l,
13913
+ _hoisted_1$o,
13713
13914
  vue.toDisplayString(_ctx.tooltipProps.content),
13714
13915
  1
13715
13916
  /* TEXT */
@@ -13922,7 +14123,7 @@ var stdin_default$4A = vue.defineComponent({
13922
14123
  "elevation": props2.elevation,
13923
14124
  "iconContainer": true
13924
14125
  }, {
13925
- default: () => [vue.createVNode(stdin_default$5P, {
14126
+ default: () => [vue.createVNode(stdin_default$5Q, {
13926
14127
  "var-fab-cover": true,
13927
14128
  "class": classes$E([isActive.value, n$M("trigger-active-icon"), n$M("trigger-inactive-icon")]),
13928
14129
  "name": isActive.value ? props2.activeIcon : props2.inactiveIcon,
@@ -13992,7 +14193,7 @@ const props$I = {
13992
14193
  type: String,
13993
14194
  default: ""
13994
14195
  },
13995
- isFocus: Boolean,
14196
+ isFocusing: Boolean,
13996
14197
  size: {
13997
14198
  type: String,
13998
14199
  default: "normal"
@@ -14027,7 +14228,7 @@ const props$I = {
14027
14228
  onClear: defineListenerProp()
14028
14229
  };
14029
14230
  const { name: name$I, n: n$L, classes: classes$D } = createNamespace("field-decorator");
14030
- const _hoisted_1$k = ["for"];
14231
+ const _hoisted_1$n = ["for"];
14031
14232
  function __render__$M(_ctx, _cache) {
14032
14233
  const _component_var_icon = vue.resolveComponent("var-icon");
14033
14234
  return vue.openBlock(), vue.createElementBlock(
@@ -14043,7 +14244,7 @@ function __render__$M(_ctx, _cache) {
14043
14244
  class: vue.normalizeClass(
14044
14245
  _ctx.classes(
14045
14246
  _ctx.n("controller"),
14046
- [_ctx.isFocus, _ctx.n("--focus")],
14247
+ [_ctx.isFocusing, _ctx.n("--focus")],
14047
14248
  [_ctx.errorMessage, _ctx.n("--error")],
14048
14249
  [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")]
14049
14250
  )
@@ -14087,7 +14288,7 @@ function __render__$M(_ctx, _cache) {
14087
14288
  _ctx.classes(
14088
14289
  _ctx.n("placeholder"),
14089
14290
  _ctx.n("$--ellipsis"),
14090
- [_ctx.isFocus, _ctx.n("--focus")],
14291
+ [_ctx.isFocusing, _ctx.n("--focus")],
14091
14292
  [_ctx.hintCenter, _ctx.n("--hint-center")],
14092
14293
  [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")],
14093
14294
  [_ctx.errorMessage, _ctx.n("--error")],
@@ -14107,14 +14308,17 @@ function __render__$M(_ctx, _cache) {
14107
14308
  1
14108
14309
  /* TEXT */
14109
14310
  )
14110
- ], 14, _hoisted_1$k)) : vue.createCommentVNode("v-if", true),
14311
+ ], 14, _hoisted_1$n)) : vue.createCommentVNode("v-if", true),
14111
14312
  vue.createElementVNode(
14112
14313
  "div",
14113
14314
  {
14114
14315
  class: vue.normalizeClass(_ctx.classes(_ctx.n("icon"), [!_ctx.hint, _ctx.n("--icon-non-hint")]))
14115
14316
  },
14116
14317
  [
14117
- _ctx.clearable && !_ctx.isEmpty(_ctx.value) ? vue.renderSlot(_ctx.$slots, "clear-icon", { key: 0 }, () => [
14318
+ _ctx.clearable && !_ctx.isEmpty(_ctx.value) ? vue.renderSlot(_ctx.$slots, "clear-icon", {
14319
+ key: 0,
14320
+ clear: _ctx.handleClear
14321
+ }, () => [
14118
14322
  vue.createVNode(_component_var_icon, {
14119
14323
  class: vue.normalizeClass(_ctx.n("clear-icon")),
14120
14324
  "var-field-decorator-cover": "",
@@ -14142,7 +14346,7 @@ function __render__$M(_ctx, _cache) {
14142
14346
  class: vue.normalizeClass(
14143
14347
  _ctx.classes(
14144
14348
  _ctx.n("line"),
14145
- [_ctx.isFocus, _ctx.n("--line-focus")],
14349
+ [_ctx.isFocusing, _ctx.n("--line-focus")],
14146
14350
  [_ctx.errorMessage, _ctx.n("--line-error")],
14147
14351
  [_ctx.formDisabled || _ctx.disabled, _ctx.n("--line-disabled")]
14148
14352
  )
@@ -14195,7 +14399,7 @@ function __render__$M(_ctx, _cache) {
14195
14399
  class: vue.normalizeClass(
14196
14400
  _ctx.classes(
14197
14401
  _ctx.n("dot"),
14198
- [_ctx.isFocus, _ctx.n("--line-focus")],
14402
+ [_ctx.isFocusing, _ctx.n("--line-focus")],
14199
14403
  [_ctx.formDisabled || _ctx.disabled, _ctx.n("--line-disabled")],
14200
14404
  [_ctx.errorMessage, _ctx.n("--line-error")]
14201
14405
  )
@@ -14221,7 +14425,7 @@ function __render__$M(_ctx, _cache) {
14221
14425
  }
14222
14426
  const __sfc__$N = vue.defineComponent({
14223
14427
  name: name$I,
14224
- components: { VarIcon: stdin_default$5P },
14428
+ components: { VarIcon: stdin_default$5Q },
14225
14429
  props: props$I,
14226
14430
  setup(props2) {
14227
14431
  const placeholderTextEl = vue.ref(null);
@@ -14231,9 +14435,9 @@ const __sfc__$N = vue.defineComponent({
14231
14435
  const middleOffsetWidth = vue.ref("0px");
14232
14436
  const middleOffsetHeight = vue.ref("0px");
14233
14437
  const transitionDisabled = vue.ref(true);
14234
- const isFloating = vue.computed(() => props2.hint && (!isEmpty(props2.value) || props2.isFocus));
14438
+ const isFloating = vue.computed(() => props2.hint && (!isEmpty(props2.value) || props2.isFocusing));
14235
14439
  const color = vue.computed(
14236
- () => !props2.errorMessage ? props2.isFocus ? props2.focusColor : props2.blurColor : void 0
14440
+ () => !props2.errorMessage ? props2.isFocusing ? props2.focusColor : props2.blurColor : void 0
14237
14441
  );
14238
14442
  onWindowResize(resize);
14239
14443
  onSmartMounted(() => {
@@ -14644,8 +14848,8 @@ const props$F = {
14644
14848
  onError: defineListenerProp()
14645
14849
  };
14646
14850
  const { name: name$F, n: n$I, classes: classes$B } = createNamespace("image");
14647
- const _hoisted_1$j = ["alt", "title", "referrerpolicy", "lazy-loading", "lazy-error"];
14648
- const _hoisted_2$c = ["alt", "title", "referrerpolicy", "src"];
14851
+ const _hoisted_1$m = ["alt", "title", "referrerpolicy", "lazy-loading", "lazy-error"];
14852
+ const _hoisted_2$d = ["alt", "title", "referrerpolicy", "src"];
14649
14853
  function __render__$J(_ctx, _cache) {
14650
14854
  var _a;
14651
14855
  const _directive_lazy = vue.resolveDirective("lazy");
@@ -14673,7 +14877,7 @@ function __render__$J(_ctx, _cache) {
14673
14877
  style: vue.normalizeStyle({ objectFit: _ctx.fit }),
14674
14878
  onLoad: _cache[0] || (_cache[0] = (...args) => _ctx.handleLoad && _ctx.handleLoad(...args)),
14675
14879
  onClick: _cache[1] || (_cache[1] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
14676
- }, null, 46, _hoisted_1$j)), [
14880
+ }, null, 46, _hoisted_1$m)), [
14677
14881
  [_directive_lazy, (_a = _ctx.src) != null ? _a : ""]
14678
14882
  ]) : vue.createCommentVNode("v-if", true),
14679
14883
  !_ctx.lazy && !_ctx.showErrorSlot ? (vue.openBlock(), vue.createElementBlock("img", {
@@ -14688,7 +14892,7 @@ function __render__$J(_ctx, _cache) {
14688
14892
  onLoad: _cache[2] || (_cache[2] = (...args) => _ctx.handleLoad && _ctx.handleLoad(...args)),
14689
14893
  onError: _cache[3] || (_cache[3] = (...args) => _ctx.handleError && _ctx.handleError(...args)),
14690
14894
  onClick: _cache[4] || (_cache[4] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
14691
- }, null, 46, _hoisted_2$c)) : vue.createCommentVNode("v-if", true),
14895
+ }, null, 46, _hoisted_2$d)) : vue.createCommentVNode("v-if", true),
14692
14896
  _ctx.showErrorSlot ? vue.renderSlot(_ctx.$slots, "error", { key: 2 }) : vue.createCommentVNode("v-if", true)
14693
14897
  ],
14694
14898
  6
@@ -14700,8 +14904,8 @@ function __render__$J(_ctx, _cache) {
14700
14904
  const __sfc__$K = vue.defineComponent({
14701
14905
  name: name$F,
14702
14906
  directives: {
14703
- Lazy: stdin_default$5E,
14704
- Ripple: stdin_default$5T
14907
+ Lazy: stdin_default$5B,
14908
+ Ripple: stdin_default$5U
14705
14909
  },
14706
14910
  props: props$F,
14707
14911
  setup(props2, { slots }) {
@@ -14814,7 +15018,7 @@ var __async$7 = (__this, __arguments, generator) => {
14814
15018
  const SWIPE_DELAY = 250;
14815
15019
  const SWIPE_OFFSET = 20;
14816
15020
  const { name: name$E, n: n$H, classes: classes$A } = createNamespace("swipe");
14817
- const _hoisted_1$i = ["onClick"];
15021
+ const _hoisted_1$l = ["onClick"];
14818
15022
  function __render__$I(_ctx, _cache) {
14819
15023
  const _component_var_icon = vue.resolveComponent("var-icon");
14820
15024
  const _component_var_button = vue.resolveComponent("var-button");
@@ -14960,7 +15164,7 @@ function __render__$I(_ctx, _cache) {
14960
15164
  style: vue.normalizeStyle({ background: _ctx.indicatorColor }),
14961
15165
  key: l,
14962
15166
  onClick: ($event) => _ctx.to(idx)
14963
- }, null, 14, _hoisted_1$i);
15167
+ }, null, 14, _hoisted_1$l);
14964
15168
  }),
14965
15169
  128
14966
15170
  /* KEYED_FRAGMENT */
@@ -14979,8 +15183,8 @@ function __render__$I(_ctx, _cache) {
14979
15183
  }
14980
15184
  const __sfc__$J = vue.defineComponent({
14981
15185
  name: name$E,
14982
- directives: { Hover: stdin_default$5v },
14983
- components: { VarButton: stdin_default$5t, VarIcon: stdin_default$5P },
15186
+ directives: { Hover: stdin_default$5N },
15187
+ components: { VarButton: stdin_default$5t, VarIcon: stdin_default$5Q },
14984
15188
  props: props$E,
14985
15189
  setup(props2) {
14986
15190
  const swipeEl = vue.ref(null);
@@ -15388,7 +15592,10 @@ const props$D = __spreadValues$b(__spreadValues$b({
15388
15592
  "onOpened",
15389
15593
  "onClosed",
15390
15594
  // internal for function call closes the dialog
15391
- "onRouteChange"
15595
+ "onRouteChange",
15596
+ // internal for esc
15597
+ "closeOnKeyEscape",
15598
+ "onKeyEscape"
15392
15599
  ]));
15393
15600
  const { name: name$C, n: n$F, classes: classes$z } = createNamespace("image-preview");
15394
15601
  const DISTANCE_OFFSET = 12;
@@ -15397,26 +15604,29 @@ const TAP_DELAY = 350;
15397
15604
  const ANIMATION_DURATION = 200;
15398
15605
  const LONG_PRESS_DELAY = 500;
15399
15606
  const BASE_RATIO = 1;
15400
- const _hoisted_1$h = ["onTouchstart"];
15401
- const _hoisted_2$b = ["src", "alt"];
15607
+ const _hoisted_1$k = ["onTouchstart"];
15608
+ const _hoisted_2$c = ["src", "alt"];
15402
15609
  function __render__$G(_ctx, _cache) {
15403
15610
  const _component_var_swipe_item = vue.resolveComponent("var-swipe-item");
15404
15611
  const _component_var_swipe = vue.resolveComponent("var-swipe");
15405
15612
  const _component_var_icon = vue.resolveComponent("var-icon");
15406
15613
  const _component_var_popup = vue.resolveComponent("var-popup");
15407
15614
  return vue.openBlock(), vue.createBlock(_component_var_popup, {
15408
- class: vue.normalizeClass(_ctx.n("popup")),
15409
15615
  "var-image-preview-cover": "",
15616
+ class: vue.normalizeClass(_ctx.n("popup")),
15410
15617
  transition: _ctx.n("$-fade"),
15411
- show: _ctx.popupShow,
15412
15618
  overlay: false,
15413
15619
  "close-on-click-overlay": false,
15620
+ "close-on-key-escape": _ctx.closeOnKeyEscape,
15414
15621
  "lock-scroll": _ctx.lockScroll,
15415
15622
  teleport: _ctx.teleport,
15623
+ show: _ctx.show,
15624
+ "onUpdate:show": _cache[3] || (_cache[3] = ($event) => _ctx.show = $event),
15416
15625
  onOpen: _ctx.onOpen,
15417
15626
  onClose: _ctx.onClose,
15418
15627
  onClosed: _ctx.onClosed,
15419
15628
  onOpened: _ctx.onOpened,
15629
+ onKeyEscape: _ctx.onKeyEscape,
15420
15630
  onRouteChange: _ctx.onRouteChange
15421
15631
  }, {
15422
15632
  default: vue.withCtx(() => [
@@ -15458,8 +15668,8 @@ function __render__$G(_ctx, _cache) {
15458
15668
  class: vue.normalizeClass(_ctx.classes(_ctx.n("image"), [_ctx.isPreventDefault, _ctx.n("--prevent")])),
15459
15669
  src: image,
15460
15670
  alt: image
15461
- }, null, 10, _hoisted_2$b)
15462
- ], 46, _hoisted_1$h)
15671
+ }, null, 10, _hoisted_2$c)
15672
+ ], 46, _hoisted_1$k)
15463
15673
  ]),
15464
15674
  _: 2
15465
15675
  /* DYNAMIC */
@@ -15513,20 +15723,20 @@ function __render__$G(_ctx, _cache) {
15513
15723
  ]),
15514
15724
  _: 3
15515
15725
  /* FORWARDED */
15516
- }, 8, ["class", "transition", "show", "lock-scroll", "teleport", "onOpen", "onClose", "onClosed", "onOpened", "onRouteChange"]);
15726
+ }, 8, ["class", "transition", "close-on-key-escape", "lock-scroll", "teleport", "show", "onOpen", "onClose", "onClosed", "onOpened", "onKeyEscape", "onRouteChange"]);
15517
15727
  }
15518
15728
  const __sfc__$H = vue.defineComponent({
15519
15729
  name: name$C,
15520
15730
  components: {
15521
15731
  VarSwipe: stdin_default$4p,
15522
15732
  VarSwipeItem: stdin_default$4n,
15523
- VarPopup: stdin_default$5R,
15524
- VarIcon: stdin_default$5P
15733
+ VarPopup: stdin_default$5S,
15734
+ VarIcon: stdin_default$5Q
15525
15735
  },
15526
15736
  inheritAttrs: false,
15527
15737
  props: props$D,
15528
15738
  setup(props2) {
15529
- const popupShow = vue.ref(false);
15739
+ const show = useVModel(props2, "show");
15530
15740
  const scale = vue.ref(1);
15531
15741
  const translateX = vue.ref(0);
15532
15742
  const translateY = vue.ref(0);
@@ -15536,8 +15746,8 @@ const __sfc__$H = vue.defineComponent({
15536
15746
  const swipeRef = vue.ref(null);
15537
15747
  const { moveX, moveY, distance, startTime, startTouch, moveTouch, endTouch } = useTouch();
15538
15748
  const isPreventDefault = vue.computed(() => {
15539
- const { imagePreventDefault, show } = props2;
15540
- return show && imagePreventDefault;
15749
+ const { imagePreventDefault, show: show2 } = props2;
15750
+ return show2 && imagePreventDefault;
15541
15751
  });
15542
15752
  let closeRunner = null;
15543
15753
  let longPressRunner = null;
@@ -15547,13 +15757,6 @@ const __sfc__$H = vue.defineComponent({
15547
15757
  prev: null
15548
15758
  };
15549
15759
  useEventListener(() => document, "contextmenu", preventImageDefault);
15550
- vue.watch(
15551
- () => props2.show,
15552
- (newShow) => {
15553
- popupShow.value = newShow;
15554
- },
15555
- { immediate: true }
15556
- );
15557
15760
  function zoomIn(ratio) {
15558
15761
  scale.value = toNumber(ratio);
15559
15762
  canSwipe.value = false;
@@ -15694,7 +15897,7 @@ const __sfc__$H = vue.defineComponent({
15694
15897
  return {
15695
15898
  swipeRef,
15696
15899
  isPreventDefault,
15697
- popupShow,
15900
+ show,
15698
15901
  scale,
15699
15902
  translateX,
15700
15903
  translateY,
@@ -15946,7 +16149,7 @@ var __async$6 = (__this, __arguments, generator) => {
15946
16149
  });
15947
16150
  };
15948
16151
  const { name: name$A, n: n$D, classes: classes$x } = createNamespace("index-bar");
15949
- const _hoisted_1$g = ["onClick"];
16152
+ const _hoisted_1$j = ["onClick"];
15950
16153
  function __render__$E(_ctx, _cache) {
15951
16154
  return vue.openBlock(), vue.createElementBlock(
15952
16155
  "div",
@@ -15980,7 +16183,7 @@ function __render__$E(_ctx, _cache) {
15980
16183
  /* TEXT */
15981
16184
  )
15982
16185
  ])
15983
- ], 14, _hoisted_1$g);
16186
+ ], 14, _hoisted_1$j);
15984
16187
  }),
15985
16188
  128
15986
16189
  /* KEYED_FRAGMENT */
@@ -16190,9 +16393,9 @@ const props$A = __spreadValues$9({
16190
16393
  "onClick"
16191
16394
  ]));
16192
16395
  const { name: name$z, n: n$C, classes: classes$w } = createNamespace("input");
16193
- const _hoisted_1$f = ["placeholder", "enterkeyhint"];
16194
- const _hoisted_2$a = ["id", "disabled", "readonly", "type", "value", "placeholder", "maxlength", "rows", "enterkeyhint", "inputmode"];
16195
- const _hoisted_3$9 = ["id", "disabled", "readonly", "type", "value", "placeholder", "maxlength", "enterkeyhint", "inputmode"];
16396
+ const _hoisted_1$i = ["placeholder", "enterkeyhint"];
16397
+ const _hoisted_2$b = ["id", "disabled", "readonly", "type", "value", "placeholder", "maxlength", "rows", "enterkeyhint", "inputmode"];
16398
+ const _hoisted_3$a = ["id", "disabled", "readonly", "type", "value", "placeholder", "maxlength", "enterkeyhint", "inputmode"];
16196
16399
  function __render__$D(_ctx, _cache) {
16197
16400
  const _component_var_field_decorator = vue.resolveComponent("var-field-decorator");
16198
16401
  const _component_var_form_details = vue.resolveComponent("var-form-details");
@@ -16216,7 +16419,7 @@ function __render__$D(_ctx, _cache) {
16216
16419
  textColor: _ctx.textColor,
16217
16420
  focusColor: _ctx.focusColor,
16218
16421
  blurColor: _ctx.blurColor,
16219
- isFocus: _ctx.isFocus,
16422
+ isFocusing: _ctx.isFocusing,
16220
16423
  errorMessage: _ctx.errorMessage,
16221
16424
  formDisabled: _ctx.formDisabled,
16222
16425
  disabled: _ctx.disabled,
@@ -16228,8 +16431,8 @@ function __render__$D(_ctx, _cache) {
16228
16431
  onClear: _ctx.handleClear
16229
16432
  })),
16230
16433
  vue.createSlots({
16231
- "clear-icon": vue.withCtx(() => [
16232
- vue.renderSlot(_ctx.$slots, "clear-icon")
16434
+ "clear-icon": vue.withCtx(({ clear: clear2 }) => [
16435
+ vue.renderSlot(_ctx.$slots, "clear-icon", { clear: clear2 })
16233
16436
  ]),
16234
16437
  "append-icon": vue.withCtx(() => [
16235
16438
  vue.renderSlot(_ctx.$slots, "append-icon")
@@ -16244,7 +16447,7 @@ function __render__$D(_ctx, _cache) {
16244
16447
  "--input-placeholder-color": _ctx.placeholderColor
16245
16448
  }),
16246
16449
  enterkeyhint: _ctx.enterkeyhint
16247
- }, null, 14, _hoisted_1$f)) : vue.createCommentVNode("v-if", true),
16450
+ }, null, 14, _hoisted_1$i)) : vue.createCommentVNode("v-if", true),
16248
16451
  _ctx.textarea ? (vue.openBlock(), vue.createElementBlock("textarea", {
16249
16452
  key: 1,
16250
16453
  class: vue.normalizeClass(
@@ -16280,7 +16483,7 @@ function __render__$D(_ctx, _cache) {
16280
16483
  onChange: _cache[3] || (_cache[3] = (...args) => _ctx.handleChange && _ctx.handleChange(...args)),
16281
16484
  onCompositionstart: _cache[4] || (_cache[4] = (...args) => _ctx.handleCompositionStart && _ctx.handleCompositionStart(...args)),
16282
16485
  onCompositionend: _cache[5] || (_cache[5] = (...args) => _ctx.handleCompositionEnd && _ctx.handleCompositionEnd(...args))
16283
- }, null, 46, _hoisted_2$a)) : (vue.openBlock(), vue.createElementBlock("input", {
16486
+ }, null, 46, _hoisted_2$b)) : (vue.openBlock(), vue.createElementBlock("input", {
16284
16487
  key: 2,
16285
16488
  class: vue.normalizeClass(
16286
16489
  _ctx.classes(
@@ -16312,7 +16515,7 @@ function __render__$D(_ctx, _cache) {
16312
16515
  onChange: _cache[9] || (_cache[9] = (...args) => _ctx.handleChange && _ctx.handleChange(...args)),
16313
16516
  onCompositionstart: _cache[10] || (_cache[10] = (...args) => _ctx.handleCompositionStart && _ctx.handleCompositionStart(...args)),
16314
16517
  onCompositionend: _cache[11] || (_cache[11] = (...args) => _ctx.handleCompositionEnd && _ctx.handleCompositionEnd(...args))
16315
- }, null, 46, _hoisted_3$9))
16518
+ }, null, 46, _hoisted_3$a))
16316
16519
  ]),
16317
16520
  _: 2
16318
16521
  /* DYNAMIC */
@@ -16360,7 +16563,7 @@ const __sfc__$E = vue.defineComponent({
16360
16563
  setup(props2) {
16361
16564
  const id = useId();
16362
16565
  const el = vue.ref(null);
16363
- const isFocus = vue.ref(false);
16566
+ const isFocusing = vue.ref(false);
16364
16567
  const isComposing = vue.ref(false);
16365
16568
  const { bindForm, form } = useForm();
16366
16569
  const {
@@ -16395,7 +16598,7 @@ const __sfc__$E = vue.defineComponent({
16395
16598
  if (errorMessage.value) {
16396
16599
  return "var(--field-decorator-error-color)";
16397
16600
  }
16398
- if (isFocus.value) {
16601
+ if (isFocusing.value) {
16399
16602
  return focusColor || "var(--field-decorator-focus-color)";
16400
16603
  }
16401
16604
  return blurColor || "var(--field-decorator-placeholder-color, var(--field-decorator-blur-color))";
@@ -16418,12 +16621,12 @@ const __sfc__$E = vue.defineComponent({
16418
16621
  });
16419
16622
  }
16420
16623
  function handleFocus(e) {
16421
- isFocus.value = true;
16624
+ isFocusing.value = true;
16422
16625
  call(props2.onFocus, e);
16423
16626
  validateWithTrigger("onFocus");
16424
16627
  }
16425
16628
  function handleBlur(e) {
16426
- isFocus.value = false;
16629
+ isFocusing.value = false;
16427
16630
  call(props2.onBlur, e);
16428
16631
  validateWithTrigger("onBlur");
16429
16632
  }
@@ -16522,7 +16725,7 @@ const __sfc__$E = vue.defineComponent({
16522
16725
  return {
16523
16726
  el,
16524
16727
  id,
16525
- isFocus,
16728
+ isFocusing,
16526
16729
  isComposing,
16527
16730
  errorMessage,
16528
16731
  placeholderColor,
@@ -16585,13 +16788,16 @@ function __render__$C(_ctx, _cache) {
16585
16788
  _ctx.n("$--inline-flex"),
16586
16789
  _ctx.n(`--${_ctx.type}`),
16587
16790
  [_ctx.underline !== "none", _ctx.n(`--underline-${_ctx.underline}`)],
16588
- [_ctx.disabled, _ctx.n("--disabled")]
16791
+ [_ctx.disabled, _ctx.n("--disabled")],
16792
+ [_ctx.isFocusing && !_ctx.inMobile(), _ctx.n("--focusing")]
16589
16793
  ),
16590
16794
  style: {
16591
16795
  color: _ctx.textColor,
16592
16796
  fontSize: _ctx.toSizeUnit(_ctx.textSize)
16593
16797
  },
16594
- onClick: _ctx.handleClick
16798
+ onClick: _ctx.handleClick,
16799
+ onFocus: _cache[0] || (_cache[0] = ($event) => _ctx.isFocusing = true),
16800
+ onBlur: _cache[1] || (_cache[1] = ($event) => _ctx.isFocusing = false)
16595
16801
  }), {
16596
16802
  default: vue.withCtx(() => [
16597
16803
  vue.renderSlot(_ctx.$slots, "default")
@@ -16604,6 +16810,7 @@ const __sfc__$D = vue.defineComponent({
16604
16810
  name: name$y,
16605
16811
  props: props$z,
16606
16812
  setup(props2) {
16813
+ const isFocusing = vue.ref(false);
16607
16814
  const tag2 = vue.computed(() => {
16608
16815
  const { disabled, href, to } = props2;
16609
16816
  if (disabled) {
@@ -16639,6 +16846,8 @@ const __sfc__$D = vue.defineComponent({
16639
16846
  return {
16640
16847
  tag: tag2,
16641
16848
  linkProps,
16849
+ isFocusing,
16850
+ inMobile,
16642
16851
  n: n$B,
16643
16852
  classes: classes$v,
16644
16853
  handleClick,
@@ -16826,8 +17035,8 @@ function __render__$B(_ctx, _cache) {
16826
17035
  }
16827
17036
  const __sfc__$C = vue.defineComponent({
16828
17037
  name: name$x,
16829
- directives: { Ripple: stdin_default$5T },
16830
- components: { VarLoading: stdin_default$5y },
17038
+ directives: { Ripple: stdin_default$5U },
17039
+ components: { VarLoading: stdin_default$5v },
16831
17040
  props: props$y,
16832
17041
  setup(props2) {
16833
17042
  const listEl = vue.ref(null);
@@ -16917,7 +17126,7 @@ var stdin_default$4a = vue.defineComponent({
16917
17126
  return () => vue.createVNode("div", {
16918
17127
  "class": classes$t(n$z(), [props2.error, n$z("--error")]),
16919
17128
  "style": {
16920
- zIndex: stdin_default$5U.zIndex + 10,
17129
+ zIndex: stdin_default$5V.zIndex + 10,
16921
17130
  width: `${props2.value}%`,
16922
17131
  opacity: props2.opacity,
16923
17132
  height: toSizeUnit(props2.height),
@@ -17059,7 +17268,12 @@ const props$v = {
17059
17268
  onClose: defineListenerProp(),
17060
17269
  onClosed: defineListenerProp(),
17061
17270
  onClickOutside: defineListenerProp(),
17062
- "onUpdate:show": defineListenerProp()
17271
+ "onUpdate:show": defineListenerProp(),
17272
+ // internal for esc
17273
+ closeOnKeyEscape: {
17274
+ type: Boolean,
17275
+ default: true
17276
+ }
17063
17277
  };
17064
17278
  const { name: name$v, n: n$y, classes: classes$s } = createNamespace("menu");
17065
17279
  function __render__$A(_ctx, _cache) {
@@ -17210,70 +17424,72 @@ const props$u = {
17210
17424
  disabled: Boolean
17211
17425
  };
17212
17426
  const { name: name$u, n: n$x, classes: classes$r } = createNamespace("menu-option");
17427
+ const _hoisted_1$h = ["tabindex"];
17213
17428
  function __render__$z(_ctx, _cache) {
17214
17429
  const _component_var_checkbox = vue.resolveComponent("var-checkbox");
17215
17430
  const _component_var_hover_overlay = vue.resolveComponent("var-hover-overlay");
17216
17431
  const _directive_ripple = vue.resolveDirective("ripple");
17217
17432
  const _directive_hover = vue.resolveDirective("hover");
17218
- return vue.withDirectives((vue.openBlock(), vue.createElementBlock(
17219
- "div",
17220
- {
17221
- class: vue.normalizeClass(
17222
- _ctx.classes(_ctx.n(), _ctx.n("$--box"), _ctx.n(`--${_ctx.size}`), [_ctx.optionSelected, _ctx.n("--selected-color")], [_ctx.disabled, _ctx.n("--disabled")])
17223
- ),
17224
- onClick: _cache[2] || (_cache[2] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
17225
- },
17226
- [
17433
+ return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
17434
+ ref: "root",
17435
+ class: vue.normalizeClass(
17436
+ _ctx.classes(_ctx.n(), _ctx.n("$--box"), _ctx.n(`--${_ctx.size}`), [_ctx.optionSelected, _ctx.n("--selected-color")], [_ctx.disabled, _ctx.n("--disabled")])
17437
+ ),
17438
+ tabindex: _ctx.disabled ? void 0 : "-1",
17439
+ onClick: _cache[2] || (_cache[2] = (...args) => _ctx.handleClick && _ctx.handleClick(...args)),
17440
+ onFocus: _cache[3] || (_cache[3] = ($event) => _ctx.isFocusing = true),
17441
+ onBlur: _cache[4] || (_cache[4] = ($event) => _ctx.isFocusing = false)
17442
+ }, [
17443
+ vue.createElementVNode(
17444
+ "div",
17445
+ {
17446
+ class: vue.normalizeClass(_ctx.classes(_ctx.n("cover"), [_ctx.optionSelected, _ctx.n("--selected-background")]))
17447
+ },
17448
+ null,
17449
+ 2
17450
+ /* CLASS */
17451
+ ),
17452
+ _ctx.multiple ? (vue.openBlock(), vue.createBlock(_component_var_checkbox, {
17453
+ key: 0,
17454
+ ref: "checkbox",
17455
+ modelValue: _ctx.optionSelected,
17456
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.optionSelected = $event),
17457
+ disabled: _ctx.disabled,
17458
+ onClick: _cache[1] || (_cache[1] = vue.withModifiers(() => {
17459
+ }, ["stop"])),
17460
+ onChange: _ctx.handleSelect
17461
+ }, null, 8, ["modelValue", "disabled", "onChange"])) : vue.createCommentVNode("v-if", true),
17462
+ vue.renderSlot(_ctx.$slots, "default", {}, () => [
17227
17463
  vue.createElementVNode(
17228
17464
  "div",
17229
17465
  {
17230
- class: vue.normalizeClass(_ctx.classes(_ctx.n("cover"), [_ctx.optionSelected, _ctx.n("--selected-background")]))
17466
+ class: vue.normalizeClass(_ctx.classes(_ctx.n("text"), _ctx.n("$--ellipsis")))
17231
17467
  },
17232
- null,
17233
- 2
17234
- /* CLASS */
17235
- ),
17236
- _ctx.multiple ? (vue.openBlock(), vue.createBlock(_component_var_checkbox, {
17237
- key: 0,
17238
- ref: "checkbox",
17239
- modelValue: _ctx.optionSelected,
17240
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.optionSelected = $event),
17241
- disabled: _ctx.disabled,
17242
- onClick: _cache[1] || (_cache[1] = vue.withModifiers(() => {
17243
- }, ["stop"])),
17244
- onChange: _ctx.handleSelect
17245
- }, null, 8, ["modelValue", "disabled", "onChange"])) : vue.createCommentVNode("v-if", true),
17246
- vue.renderSlot(_ctx.$slots, "default", {}, () => [
17247
- vue.createElementVNode(
17248
- "div",
17249
- {
17250
- class: vue.normalizeClass(_ctx.classes(_ctx.n("text"), _ctx.n("$--ellipsis")))
17251
- },
17252
- vue.toDisplayString(_ctx.label),
17253
- 3
17254
- /* TEXT, CLASS */
17255
- )
17256
- ]),
17257
- vue.createVNode(_component_var_hover_overlay, {
17258
- hovering: _ctx.hovering && !_ctx.disabled
17259
- }, null, 8, ["hovering"])
17260
- ],
17261
- 2
17262
- /* CLASS */
17263
- )), [
17468
+ vue.toDisplayString(_ctx.label),
17469
+ 3
17470
+ /* TEXT, CLASS */
17471
+ )
17472
+ ]),
17473
+ vue.createVNode(_component_var_hover_overlay, {
17474
+ hovering: _ctx.hovering && !_ctx.disabled,
17475
+ focusing: _ctx.isFocusing && !_ctx.disabled
17476
+ }, null, 8, ["hovering", "focusing"])
17477
+ ], 42, _hoisted_1$h)), [
17264
17478
  [_directive_ripple, { disabled: _ctx.disabled }],
17265
17479
  [_directive_hover, _ctx.handleHovering, "desktop"]
17266
17480
  ]);
17267
17481
  }
17268
17482
  const __sfc__$A = vue.defineComponent({
17269
17483
  name: name$u,
17270
- directives: { Ripple: stdin_default$5T, Hover: stdin_default$5v },
17484
+ directives: { Ripple: stdin_default$5U, Hover: stdin_default$5N },
17271
17485
  components: {
17272
17486
  VarCheckbox: stdin_default$57,
17273
- VarHoverOverlay: stdin_default$5w
17487
+ VarHoverOverlay: stdin_default$5O
17274
17488
  },
17275
17489
  props: props$u,
17276
17490
  setup(props2) {
17491
+ const root = vue.ref();
17492
+ const isFocusing = vue.ref(false);
17277
17493
  const optionSelected = vue.ref(false);
17278
17494
  const selected = vue.computed(() => optionSelected.value);
17279
17495
  const label = vue.computed(() => props2.label);
@@ -17289,12 +17505,34 @@ const __sfc__$A = vue.defineComponent({
17289
17505
  };
17290
17506
  vue.watch([() => props2.label, () => props2.value], computeLabel);
17291
17507
  bindMenuSelect(menuOptionProvider);
17508
+ useEventListener(() => window, "keydown", handleKeydown);
17509
+ useEventListener(() => window, "keyup", handleKeyup);
17292
17510
  function handleClick() {
17293
17511
  if (props2.disabled) {
17294
17512
  return;
17295
17513
  }
17296
17514
  handleSelect();
17297
17515
  }
17516
+ function handleKeydown(event) {
17517
+ if (!isFocusing.value) {
17518
+ return;
17519
+ }
17520
+ if (event.key === " " || event.key === "Enter") {
17521
+ preventDefault(event);
17522
+ }
17523
+ if (event.key === "Enter") {
17524
+ root.value.click();
17525
+ }
17526
+ }
17527
+ function handleKeyup(event) {
17528
+ if (!isFocusing.value) {
17529
+ return;
17530
+ }
17531
+ if (event.key === " ") {
17532
+ preventDefault(event);
17533
+ root.value.click();
17534
+ }
17535
+ }
17298
17536
  function handleSelect() {
17299
17537
  if (multiple.value) {
17300
17538
  optionSelected.value = !optionSelected.value;
@@ -17305,10 +17543,12 @@ const __sfc__$A = vue.defineComponent({
17305
17543
  optionSelected.value = checked;
17306
17544
  }
17307
17545
  return {
17546
+ root,
17308
17547
  optionSelected,
17309
17548
  size,
17310
17549
  multiple,
17311
17550
  hovering,
17551
+ isFocusing,
17312
17552
  n: n$x,
17313
17553
  classes: classes$r,
17314
17554
  handleHovering,
@@ -17443,6 +17683,7 @@ function __render__$y(_ctx, _cache) {
17443
17683
  const _component_var_menu = vue.resolveComponent("var-menu");
17444
17684
  return vue.openBlock(), vue.createBlock(_component_var_menu, {
17445
17685
  ref: "menu",
17686
+ tabindex: "-1",
17446
17687
  class: vue.normalizeClass(_ctx.n()),
17447
17688
  disabled: _ctx.disabled,
17448
17689
  trigger: _ctx.trigger,
@@ -17457,6 +17698,7 @@ function __render__$y(_ctx, _cache) {
17457
17698
  "default-style": false,
17458
17699
  "popover-class": _ctx.popoverClass,
17459
17700
  "close-on-click-reference": _ctx.closeOnClickReference,
17701
+ "close-on-key-escape": false,
17460
17702
  show: _ctx.show,
17461
17703
  "onUpdate:show": _cache[0] || (_cache[0] = ($event) => _ctx.show = $event),
17462
17704
  onOpen: _ctx.onOpen,
@@ -17469,6 +17711,7 @@ function __render__$y(_ctx, _cache) {
17469
17711
  vue.createElementVNode(
17470
17712
  "div",
17471
17713
  {
17714
+ ref: "menuOptionsRef",
17472
17715
  class: vue.normalizeClass(_ctx.classes(_ctx.n("menu"), _ctx.formatElevation(_ctx.elevation, 3), [_ctx.scrollable, _ctx.n("--scrollable")]))
17473
17716
  },
17474
17717
  [
@@ -17491,6 +17734,7 @@ const __sfc__$z = vue.defineComponent({
17491
17734
  props: props$t,
17492
17735
  setup(props2) {
17493
17736
  const menu = vue.ref(null);
17737
+ const menuOptionsRef = vue.ref(null);
17494
17738
  const show = useVModel(props2, "show");
17495
17739
  const { menuOptions, length, bindMenuOptions } = useMenuOptions();
17496
17740
  const { computeLabel, getSelectedValue } = useSelectController({
@@ -17506,11 +17750,30 @@ const __sfc__$z = vue.defineComponent({
17506
17750
  onSelect
17507
17751
  };
17508
17752
  bindMenuOptions(menuSelectProvider);
17753
+ useEventListener(() => window, "keydown", handleKeydown);
17509
17754
  function onSelect(option) {
17510
17755
  const { multiple, closeOnSelect } = props2;
17511
17756
  call(props2["onUpdate:modelValue"], getSelectedValue(option));
17512
17757
  if (!multiple && closeOnSelect) {
17513
- show.value = false;
17758
+ menu.value.$el.focus();
17759
+ close();
17760
+ }
17761
+ }
17762
+ function handleKeydown(event) {
17763
+ if (props2.disabled || !show.value) {
17764
+ return;
17765
+ }
17766
+ const { key } = event;
17767
+ if (["Escape", "ArrowDown", "ArrowUp"].includes(key)) {
17768
+ preventDefault(event);
17769
+ }
17770
+ if (key === "Escape") {
17771
+ menu.value.$el.focus();
17772
+ close();
17773
+ return;
17774
+ }
17775
+ if (key === "ArrowDown" || key === "ArrowUp") {
17776
+ focusChildElementByKey(menu.value.$el, menuOptionsRef.value, key);
17514
17777
  }
17515
17778
  }
17516
17779
  function open() {
@@ -17528,6 +17791,7 @@ const __sfc__$z = vue.defineComponent({
17528
17791
  return {
17529
17792
  show,
17530
17793
  menu,
17794
+ menuOptionsRef,
17531
17795
  n: n$w,
17532
17796
  classes: classes$q,
17533
17797
  formatElevation,
@@ -17569,75 +17833,77 @@ const props$s = {
17569
17833
  disabled: Boolean
17570
17834
  };
17571
17835
  const { name: name$s, n: n$v, classes: classes$p } = createNamespace("option");
17836
+ const _hoisted_1$g = ["tabindex"];
17572
17837
  function __render__$x(_ctx, _cache) {
17573
17838
  const _component_var_checkbox = vue.resolveComponent("var-checkbox");
17574
17839
  const _component_var_hover_overlay = vue.resolveComponent("var-hover-overlay");
17575
17840
  const _directive_ripple = vue.resolveDirective("ripple");
17576
17841
  const _directive_hover = vue.resolveDirective("hover");
17577
- return vue.withDirectives((vue.openBlock(), vue.createElementBlock(
17578
- "div",
17579
- {
17580
- class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box"), [_ctx.optionSelected, _ctx.n("--selected-color")], [_ctx.disabled, _ctx.n("--disabled")])),
17581
- style: vue.normalizeStyle({
17582
- color: _ctx.optionSelected ? _ctx.focusColor : void 0
17583
- }),
17584
- onClick: _cache[2] || (_cache[2] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
17585
- },
17586
- [
17842
+ return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
17843
+ ref: "root",
17844
+ class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box"), [_ctx.optionSelected, _ctx.n("--selected-color")], [_ctx.disabled, _ctx.n("--disabled")])),
17845
+ style: vue.normalizeStyle({
17846
+ color: _ctx.optionSelected ? _ctx.focusColor : void 0
17847
+ }),
17848
+ tabindex: _ctx.disabled ? void 0 : "-1",
17849
+ onFocus: _cache[2] || (_cache[2] = ($event) => _ctx.isFocusing = true),
17850
+ onBlur: _cache[3] || (_cache[3] = ($event) => _ctx.isFocusing = false),
17851
+ onClick: _cache[4] || (_cache[4] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
17852
+ }, [
17853
+ vue.createElementVNode(
17854
+ "div",
17855
+ {
17856
+ class: vue.normalizeClass(_ctx.classes(_ctx.n("cover"), [_ctx.optionSelected, _ctx.n("--selected-background")])),
17857
+ style: vue.normalizeStyle({
17858
+ background: _ctx.optionSelected ? _ctx.focusColor : void 0
17859
+ })
17860
+ },
17861
+ null,
17862
+ 6
17863
+ /* CLASS, STYLE */
17864
+ ),
17865
+ _ctx.multiple ? (vue.openBlock(), vue.createBlock(_component_var_checkbox, {
17866
+ key: 0,
17867
+ ref: "checkbox",
17868
+ modelValue: _ctx.optionSelected,
17869
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.optionSelected = $event),
17870
+ "checked-color": _ctx.focusColor,
17871
+ disabled: _ctx.disabled,
17872
+ onClick: _cache[1] || (_cache[1] = vue.withModifiers(() => {
17873
+ }, ["stop"])),
17874
+ onChange: _ctx.handleSelect
17875
+ }, null, 8, ["modelValue", "checked-color", "disabled", "onChange"])) : vue.createCommentVNode("v-if", true),
17876
+ vue.renderSlot(_ctx.$slots, "default", {}, () => [
17587
17877
  vue.createElementVNode(
17588
17878
  "div",
17589
17879
  {
17590
- class: vue.normalizeClass(_ctx.classes(_ctx.n("cover"), [_ctx.optionSelected, _ctx.n("--selected-background")])),
17591
- style: vue.normalizeStyle({
17592
- background: _ctx.optionSelected ? _ctx.focusColor : void 0
17593
- })
17880
+ class: vue.normalizeClass(_ctx.classes(_ctx.n("text"), _ctx.n("$--ellipsis")))
17594
17881
  },
17595
- null,
17596
- 6
17597
- /* CLASS, STYLE */
17598
- ),
17599
- _ctx.multiple ? (vue.openBlock(), vue.createBlock(_component_var_checkbox, {
17600
- key: 0,
17601
- ref: "checkbox",
17602
- modelValue: _ctx.optionSelected,
17603
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.optionSelected = $event),
17604
- "checked-color": _ctx.focusColor,
17605
- disabled: _ctx.disabled,
17606
- onClick: _cache[1] || (_cache[1] = vue.withModifiers(() => {
17607
- }, ["stop"])),
17608
- onChange: _ctx.handleSelect
17609
- }, null, 8, ["modelValue", "checked-color", "disabled", "onChange"])) : vue.createCommentVNode("v-if", true),
17610
- vue.renderSlot(_ctx.$slots, "default", {}, () => [
17611
- vue.createElementVNode(
17612
- "div",
17613
- {
17614
- class: vue.normalizeClass(_ctx.classes(_ctx.n("text"), _ctx.n("$--ellipsis")))
17615
- },
17616
- vue.toDisplayString(_ctx.label),
17617
- 3
17618
- /* TEXT, CLASS */
17619
- )
17620
- ]),
17621
- vue.createVNode(_component_var_hover_overlay, {
17622
- hovering: _ctx.hovering && !_ctx.disabled
17623
- }, null, 8, ["hovering"])
17624
- ],
17625
- 6
17626
- /* CLASS, STYLE */
17627
- )), [
17882
+ vue.toDisplayString(_ctx.label),
17883
+ 3
17884
+ /* TEXT, CLASS */
17885
+ )
17886
+ ]),
17887
+ vue.createVNode(_component_var_hover_overlay, {
17888
+ hovering: _ctx.hovering && !_ctx.disabled,
17889
+ focusing: _ctx.isFocusing && !_ctx.disabled
17890
+ }, null, 8, ["hovering", "focusing"])
17891
+ ], 46, _hoisted_1$g)), [
17628
17892
  [_directive_ripple, { disabled: _ctx.disabled }],
17629
17893
  [_directive_hover, _ctx.handleHovering, "desktop"]
17630
17894
  ]);
17631
17895
  }
17632
17896
  const __sfc__$y = vue.defineComponent({
17633
17897
  name: name$s,
17634
- directives: { Ripple: stdin_default$5T, Hover: stdin_default$5v },
17898
+ directives: { Ripple: stdin_default$5U, Hover: stdin_default$5N },
17635
17899
  components: {
17636
17900
  VarCheckbox: stdin_default$57,
17637
- VarHoverOverlay: stdin_default$5w
17901
+ VarHoverOverlay: stdin_default$5O
17638
17902
  },
17639
17903
  props: props$s,
17640
17904
  setup(props2) {
17905
+ const root = vue.ref();
17906
+ const isFocusing = vue.ref(false);
17641
17907
  const optionSelected = vue.ref(false);
17642
17908
  const selected = vue.computed(() => optionSelected.value);
17643
17909
  const label = vue.computed(() => props2.label);
@@ -17653,12 +17919,34 @@ const __sfc__$y = vue.defineComponent({
17653
17919
  };
17654
17920
  vue.watch([() => props2.label, () => props2.value], computeLabel);
17655
17921
  bindSelect(optionProvider);
17922
+ useEventListener(() => window, "keydown", handleKeydown);
17923
+ useEventListener(() => window, "keyup", handleKeyup);
17656
17924
  function handleClick() {
17657
17925
  if (props2.disabled) {
17658
17926
  return;
17659
17927
  }
17660
17928
  handleSelect();
17661
17929
  }
17930
+ function handleKeydown(event) {
17931
+ if (!isFocusing.value) {
17932
+ return;
17933
+ }
17934
+ if (event.key === " " || event.key === "Enter") {
17935
+ preventDefault(event);
17936
+ }
17937
+ if (event.key === "Enter") {
17938
+ root.value.click();
17939
+ }
17940
+ }
17941
+ function handleKeyup(event) {
17942
+ if (!isFocusing.value) {
17943
+ return;
17944
+ }
17945
+ if (event.key === " ") {
17946
+ preventDefault(event);
17947
+ root.value.click();
17948
+ }
17949
+ }
17662
17950
  function handleSelect() {
17663
17951
  if (multiple.value) {
17664
17952
  optionSelected.value = !optionSelected.value;
@@ -17669,10 +17957,12 @@ const __sfc__$y = vue.defineComponent({
17669
17957
  optionSelected.value = checked;
17670
17958
  }
17671
17959
  return {
17960
+ root,
17672
17961
  optionSelected,
17673
17962
  multiple,
17674
17963
  focusColor,
17675
17964
  hovering,
17965
+ isFocusing,
17676
17966
  n: n$v,
17677
17967
  classes: classes$p,
17678
17968
  handleHovering,
@@ -17695,7 +17985,13 @@ const props$r = {
17695
17985
  },
17696
17986
  teleport: [String, Object, Boolean],
17697
17987
  onClick: defineListenerProp(),
17698
- "onUpdate:show": defineListenerProp()
17988
+ "onUpdate:show": defineListenerProp(),
17989
+ // internal for esc
17990
+ onKeyEscape: defineListenerProp(),
17991
+ closeOnKeyEscape: {
17992
+ type: Boolean,
17993
+ default: true
17994
+ }
17699
17995
  };
17700
17996
  const {
17701
17997
  name: name$r,
@@ -17712,10 +18008,25 @@ var stdin_default$40 = vue.defineComponent({
17712
18008
  const {
17713
18009
  zIndex
17714
18010
  } = useZIndex(() => props2.show, 1);
18011
+ const {
18012
+ onStackTop
18013
+ } = useStack(() => props2.show, zIndex);
17715
18014
  const {
17716
18015
  disabled
17717
18016
  } = useTeleport();
17718
18017
  useLock(() => props2.show, () => props2.lockScroll);
18018
+ useEventListener(() => window, "keydown", handleKeydown);
18019
+ function handleKeydown(event) {
18020
+ if (!onStackTop() || event.key !== "Escape" || !props2.show) {
18021
+ return;
18022
+ }
18023
+ call(props2.onKeyEscape);
18024
+ if (!props2.closeOnKeyEscape) {
18025
+ return;
18026
+ }
18027
+ preventDefault(event);
18028
+ call(props2["onUpdate:show"], false);
18029
+ }
17719
18030
  function handleClickOverlay() {
17720
18031
  call(props2.onClick);
17721
18032
  call(props2["onUpdate:show"], false);
@@ -17724,7 +18035,7 @@ var stdin_default$40 = vue.defineComponent({
17724
18035
  return vue.createVNode("div", vue.mergeProps({
17725
18036
  "class": n$u(),
17726
18037
  "style": {
17727
- zIndex: zIndex.value - 1
18038
+ zIndex: zIndex.value
17728
18039
  }
17729
18040
  }, attrs, {
17730
18041
  "onClick": handleClickOverlay
@@ -17795,7 +18106,7 @@ const props$q = {
17795
18106
  "onUpdate:size": defineListenerProp()
17796
18107
  };
17797
18108
  const { name: name$q, n: n$t, classes: classes$o } = createNamespace("pagination");
17798
- const _hoisted_1$e = ["item-mode", "onClick"];
18109
+ const _hoisted_1$f = ["item-mode", "onClick"];
17799
18110
  function __render__$w(_ctx, _cache) {
17800
18111
  const _component_var_icon = vue.resolveComponent("var-icon");
17801
18112
  const _component_var_input = vue.resolveComponent("var-input");
@@ -17890,7 +18201,7 @@ function __render__$w(_ctx, _cache) {
17890
18201
  1
17891
18202
  /* TEXT */
17892
18203
  )
17893
- ], 10, _hoisted_1$e)), [
18204
+ ], 10, _hoisted_1$f)), [
17894
18205
  [_directive_ripple, { disabled: _ctx.disabled }]
17895
18206
  ]);
17896
18207
  }),
@@ -18034,10 +18345,10 @@ const __sfc__$x = vue.defineComponent({
18034
18345
  components: {
18035
18346
  VarMenuSelect: stdin_default$43,
18036
18347
  VarMenuOption: stdin_default$45,
18037
- VarIcon: stdin_default$5P,
18348
+ VarIcon: stdin_default$5Q,
18038
18349
  VarInput: stdin_default$4f
18039
18350
  },
18040
- directives: { Ripple: stdin_default$5T },
18351
+ directives: { Ripple: stdin_default$5U },
18041
18352
  props: props$q,
18042
18353
  setup(props2) {
18043
18354
  const quickJumperValue = vue.ref("");
@@ -18244,7 +18555,7 @@ function __render__$v(_ctx, _cache) {
18244
18555
  }
18245
18556
  const __sfc__$w = vue.defineComponent({
18246
18557
  name: name$p,
18247
- directives: { Ripple: stdin_default$5T },
18558
+ directives: { Ripple: stdin_default$5U },
18248
18559
  props: props$p,
18249
18560
  setup(props2) {
18250
18561
  function handleClick(e) {
@@ -18337,7 +18648,10 @@ const props$o = __spreadValues$7({
18337
18648
  "onOpened",
18338
18649
  "onClosed",
18339
18650
  "onClickOverlay",
18340
- "onRouteChange"
18651
+ "onRouteChange",
18652
+ // internal for esc
18653
+ "onKeyEscape",
18654
+ "closeOnKeyEscape"
18341
18655
  ]));
18342
18656
  const { name: name$o, n: n$r, classes: classes$m } = createNamespace("picker");
18343
18657
  const MOMENTUM_RECORD_TIME = 300;
@@ -18345,9 +18659,9 @@ const MOMENTUM_ALLOW_DISTANCE = 15;
18345
18659
  const TRANSITION_DURATION = 200;
18346
18660
  const MOMENTUM_TRANSITION_DURATION = 1e3;
18347
18661
  let sid$1 = 0;
18348
- const _hoisted_1$d = ["onTouchstartPassive", "onTouchmove", "onTouchend"];
18349
- const _hoisted_2$9 = ["onTransitionend"];
18350
- const _hoisted_3$8 = ["onClick"];
18662
+ const _hoisted_1$e = ["onTouchstartPassive", "onTouchmove", "onTouchend"];
18663
+ const _hoisted_2$a = ["onTransitionend"];
18664
+ const _hoisted_3$9 = ["onClick"];
18351
18665
  function __render__$u(_ctx, _cache) {
18352
18666
  const _component_var_button = vue.resolveComponent("var-button");
18353
18667
  return vue.openBlock(), vue.createBlock(
@@ -18360,7 +18674,9 @@ function __render__$u(_ctx, _cache) {
18360
18674
  onClosed: _ctx.onClosed,
18361
18675
  onClickOverlay: _ctx.onClickOverlay,
18362
18676
  onRouteChange: _ctx.onRouteChange,
18677
+ onKeyEscape: _ctx.onKeyEscape,
18363
18678
  closeOnClickOverlay: _ctx.closeOnClickOverlay,
18679
+ closeOnKeyEscape: _ctx.closeOnKeyEscape,
18364
18680
  teleport: _ctx.teleport,
18365
18681
  show: _ctx.show,
18366
18682
  safeArea: _ctx.safeArea,
@@ -18495,13 +18811,13 @@ function __render__$u(_ctx, _cache) {
18495
18811
  3
18496
18812
  /* TEXT, CLASS */
18497
18813
  )
18498
- ], 14, _hoisted_3$8);
18814
+ ], 14, _hoisted_3$9);
18499
18815
  }),
18500
18816
  128
18501
18817
  /* KEYED_FRAGMENT */
18502
18818
  ))
18503
- ], 46, _hoisted_2$9)
18504
- ], 42, _hoisted_1$d);
18819
+ ], 46, _hoisted_2$a)
18820
+ ], 42, _hoisted_1$e);
18505
18821
  }),
18506
18822
  128
18507
18823
  /* KEYED_FRAGMENT */
@@ -18549,7 +18865,7 @@ const __sfc__$v = vue.defineComponent({
18549
18865
  name: name$o,
18550
18866
  components: {
18551
18867
  VarButton: stdin_default$5t,
18552
- VarPopup: stdin_default$5R
18868
+ VarPopup: stdin_default$5S
18553
18869
  },
18554
18870
  inheritAttrs: false,
18555
18871
  props: props$o,
@@ -18932,12 +19248,12 @@ const ONE_HUNDRED = 100;
18932
19248
  const RADIUS = 20;
18933
19249
  const CIRCUMFERENCE = 2 * Math.PI * RADIUS;
18934
19250
  const { name: name$n, n: n$q, classes: classes$l } = createNamespace("progress");
18935
- const _hoisted_1$c = ["viewBox"];
18936
- const _hoisted_2$8 = { key: 0 };
18937
- const _hoisted_3$7 = ["id"];
19251
+ const _hoisted_1$d = ["viewBox"];
19252
+ const _hoisted_2$9 = { key: 0 };
19253
+ const _hoisted_3$8 = ["id"];
18938
19254
  const _hoisted_4$2 = ["offset", "stop-color"];
18939
19255
  const _hoisted_5$1 = ["d", "stroke-width", "stroke-dasharray"];
18940
- const _hoisted_6 = ["d", "stroke-width", "stroke-dasharray", "stroke-dashoffset"];
19256
+ const _hoisted_6$1 = ["d", "stroke-width", "stroke-dasharray", "stroke-dashoffset"];
18941
19257
  function __render__$t(_ctx, _cache) {
18942
19258
  return vue.openBlock(), vue.createElementBlock(
18943
19259
  "div",
@@ -19038,7 +19354,7 @@ function __render__$t(_ctx, _cache) {
19038
19354
  class: vue.normalizeClass(_ctx.n("circle-svg")),
19039
19355
  viewBox: _ctx.circleProps.viewBox
19040
19356
  }, [
19041
- _ctx.isPlainObject(_ctx.color) ? (vue.openBlock(), vue.createElementBlock("defs", _hoisted_2$8, [
19357
+ _ctx.isPlainObject(_ctx.color) ? (vue.openBlock(), vue.createElementBlock("defs", _hoisted_2$9, [
19042
19358
  vue.createElementVNode("linearGradient", {
19043
19359
  id: _ctx.id,
19044
19360
  x1: "100%",
@@ -19059,7 +19375,7 @@ function __render__$t(_ctx, _cache) {
19059
19375
  128
19060
19376
  /* KEYED_FRAGMENT */
19061
19377
  ))
19062
- ], 8, _hoisted_3$7)
19378
+ ], 8, _hoisted_3$8)
19063
19379
  ])) : vue.createCommentVNode("v-if", true),
19064
19380
  _ctx.track ? (vue.openBlock(), vue.createElementBlock("path", {
19065
19381
  key: 1,
@@ -19084,8 +19400,8 @@ function __render__$t(_ctx, _cache) {
19084
19400
  transform: `rotateZ(${_ctx.rotate}deg)`,
19085
19401
  transformOrigin: "50% 50%"
19086
19402
  })
19087
- }, null, 14, _hoisted_6)
19088
- ], 10, _hoisted_1$c)),
19403
+ }, null, 14, _hoisted_6$1)
19404
+ ], 10, _hoisted_1$d)),
19089
19405
  _ctx.label ? (vue.openBlock(), vue.createElementBlock(
19090
19406
  "div",
19091
19407
  {
@@ -19257,7 +19573,7 @@ function __render__$s(_ctx, _cache) {
19257
19573
  }
19258
19574
  const __sfc__$t = vue.defineComponent({
19259
19575
  name: name$m,
19260
- components: { VarIcon: stdin_default$5P },
19576
+ components: { VarIcon: stdin_default$5Q },
19261
19577
  props: props$m,
19262
19578
  setup(props2) {
19263
19579
  const controlPosition = vue.ref(0);
@@ -19458,6 +19774,7 @@ function useRadioGroup() {
19458
19774
  };
19459
19775
  }
19460
19776
  const { name: name$l, n: n$o, classes: classes$j } = createNamespace("radio");
19777
+ const _hoisted_1$c = ["tabindex"];
19461
19778
  function __render__$r(_ctx, _cache) {
19462
19779
  const _component_var_icon = vue.resolveComponent("var-icon");
19463
19780
  const _component_var_hover_overlay = vue.resolveComponent("var-hover-overlay");
@@ -19474,45 +19791,44 @@ function __render__$r(_ctx, _cache) {
19474
19791
  "div",
19475
19792
  vue.mergeProps({
19476
19793
  class: _ctx.n(),
19477
- onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
19794
+ onClick: _cache[3] || (_cache[3] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
19478
19795
  }, _ctx.$attrs),
19479
19796
  [
19480
- vue.withDirectives((vue.openBlock(), vue.createElementBlock(
19481
- "div",
19482
- {
19483
- class: vue.normalizeClass(
19484
- _ctx.classes(
19485
- _ctx.n("action"),
19486
- [_ctx.checked, _ctx.n("--checked"), _ctx.n("--unchecked")],
19487
- [_ctx.errorMessage || _ctx.radioGroupErrorMessage, _ctx.n("--error")],
19488
- [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")]
19489
- )
19490
- ),
19491
- style: vue.normalizeStyle({ color: _ctx.checked ? _ctx.checkedColor : _ctx.uncheckedColor })
19492
- },
19493
- [
19494
- _ctx.checked ? vue.renderSlot(_ctx.$slots, "checked-icon", { key: 0 }, () => [
19495
- vue.createVNode(_component_var_icon, {
19496
- class: vue.normalizeClass(_ctx.classes(_ctx.n("icon"), [_ctx.withAnimation, _ctx.n("--with-animation")])),
19497
- "var-radio-cover": "",
19498
- name: "radio-marked",
19499
- size: _ctx.iconSize
19500
- }, null, 8, ["class", "size"])
19501
- ]) : vue.renderSlot(_ctx.$slots, "unchecked-icon", { key: 1 }, () => [
19502
- vue.createVNode(_component_var_icon, {
19503
- class: vue.normalizeClass(_ctx.classes(_ctx.n("icon"), [_ctx.withAnimation, _ctx.n("--with-animation")])),
19504
- "var-radio-cover": "",
19505
- name: "radio-blank",
19506
- size: _ctx.iconSize
19507
- }, null, 8, ["class", "size"])
19508
- ]),
19509
- vue.createVNode(_component_var_hover_overlay, {
19510
- hovering: !_ctx.disabled && !_ctx.formDisabled && _ctx.hovering
19511
- }, null, 8, ["hovering"])
19512
- ],
19513
- 6
19514
- /* CLASS, STYLE */
19515
- )), [
19797
+ vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
19798
+ ref: "action",
19799
+ class: vue.normalizeClass(
19800
+ _ctx.classes(
19801
+ _ctx.n("action"),
19802
+ [_ctx.checked, _ctx.n("--checked"), _ctx.n("--unchecked")],
19803
+ [_ctx.errorMessage || _ctx.radioGroupErrorMessage, _ctx.n("--error")],
19804
+ [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")]
19805
+ )
19806
+ ),
19807
+ tabindex: _ctx.formDisabled || _ctx.disabled ? void 0 : "0",
19808
+ style: vue.normalizeStyle({ color: _ctx.checked ? _ctx.checkedColor : _ctx.uncheckedColor }),
19809
+ onFocus: _cache[0] || (_cache[0] = ($event) => _ctx.isFocusing = true),
19810
+ onBlur: _cache[1] || (_cache[1] = ($event) => _ctx.isFocusing = false)
19811
+ }, [
19812
+ _ctx.checked ? vue.renderSlot(_ctx.$slots, "checked-icon", { key: 0 }, () => [
19813
+ vue.createVNode(_component_var_icon, {
19814
+ class: vue.normalizeClass(_ctx.classes(_ctx.n("icon"), [_ctx.withAnimation, _ctx.n("--with-animation")])),
19815
+ "var-radio-cover": "",
19816
+ name: "radio-marked",
19817
+ size: _ctx.iconSize
19818
+ }, null, 8, ["class", "size"])
19819
+ ]) : vue.renderSlot(_ctx.$slots, "unchecked-icon", { key: 1 }, () => [
19820
+ vue.createVNode(_component_var_icon, {
19821
+ class: vue.normalizeClass(_ctx.classes(_ctx.n("icon"), [_ctx.withAnimation, _ctx.n("--with-animation")])),
19822
+ "var-radio-cover": "",
19823
+ name: "radio-blank",
19824
+ size: _ctx.iconSize
19825
+ }, null, 8, ["class", "size"])
19826
+ ]),
19827
+ vue.createVNode(_component_var_hover_overlay, {
19828
+ hovering: !_ctx.disabled && !_ctx.formDisabled && _ctx.hovering,
19829
+ focusing: !_ctx.disabled && !_ctx.formDisabled && _ctx.isFocusing
19830
+ }, null, 8, ["hovering", "focusing"])
19831
+ ], 46, _hoisted_1$c)), [
19516
19832
  [_directive_ripple, { disabled: _ctx.formReadonly || _ctx.readonly || _ctx.formDisabled || _ctx.disabled || !_ctx.ripple }],
19517
19833
  [_directive_hover, _ctx.handleHovering, "desktop"]
19518
19834
  ]),
@@ -19526,7 +19842,8 @@ function __render__$r(_ctx, _cache) {
19526
19842
  [_ctx.errorMessage || _ctx.radioGroupErrorMessage, _ctx.n("--error")],
19527
19843
  [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")]
19528
19844
  )
19529
- )
19845
+ ),
19846
+ onClick: _cache[2] || (_cache[2] = (...args) => _ctx.handleTextClick && _ctx.handleTextClick(...args))
19530
19847
  },
19531
19848
  [
19532
19849
  vue.renderSlot(_ctx.$slots, "default")
@@ -19546,15 +19863,17 @@ function __render__$r(_ctx, _cache) {
19546
19863
  }
19547
19864
  const __sfc__$s = vue.defineComponent({
19548
19865
  name: name$l,
19549
- directives: { Ripple: stdin_default$5T, Hover: stdin_default$5v },
19866
+ directives: { Ripple: stdin_default$5U, Hover: stdin_default$5N },
19550
19867
  components: {
19551
- VarIcon: stdin_default$5P,
19868
+ VarIcon: stdin_default$5Q,
19552
19869
  VarFormDetails: stdin_default$59,
19553
- VarHoverOverlay: stdin_default$5w
19870
+ VarHoverOverlay: stdin_default$5O
19554
19871
  },
19555
19872
  inheritAttrs: false,
19556
19873
  props: props$l,
19557
19874
  setup(props2) {
19875
+ const action = vue.ref();
19876
+ const isFocusing = vue.ref(false);
19558
19877
  const value = useVModel(props2, "modelValue");
19559
19878
  const checked = vue.computed(() => value.value === props2.checkedValue);
19560
19879
  const withAnimation = vue.ref(false);
@@ -19572,10 +19891,42 @@ const __sfc__$s = vue.defineComponent({
19572
19891
  sync,
19573
19892
  validate,
19574
19893
  resetValidation,
19575
- reset
19894
+ reset,
19895
+ isFocusing: vue.computed(() => isFocusing.value),
19896
+ // keyboard arrow move
19897
+ move() {
19898
+ action.value.focus();
19899
+ action.value.click();
19900
+ },
19901
+ moveable() {
19902
+ return !(form == null ? void 0 : form.disabled.value) && !props2.disabled && !(form == null ? void 0 : form.readonly.value) && !props2.readonly;
19903
+ }
19576
19904
  };
19577
19905
  call(bindRadioGroup, radioProvider);
19578
19906
  call(bindForm, radioProvider);
19907
+ useEventListener(() => window, "keydown", handleKeydown);
19908
+ useEventListener(() => window, "keyup", handleKeyup);
19909
+ function handleKeydown(event) {
19910
+ if (!isFocusing.value) {
19911
+ return;
19912
+ }
19913
+ const { key } = event;
19914
+ if (key === "Enter" || key === " ") {
19915
+ preventDefault(event);
19916
+ }
19917
+ if (key === "Enter") {
19918
+ action.value.click();
19919
+ }
19920
+ }
19921
+ function handleKeyup(event) {
19922
+ if (!isFocusing.value) {
19923
+ return;
19924
+ }
19925
+ if (event.key === " ") {
19926
+ preventDefault(event);
19927
+ action.value.click();
19928
+ }
19929
+ }
19579
19930
  function validateWithTrigger(trigger) {
19580
19931
  vue.nextTick(() => {
19581
19932
  const { validateTrigger, rules, modelValue } = props2;
@@ -19604,6 +19955,9 @@ const __sfc__$s = vue.defineComponent({
19604
19955
  withAnimation.value = true;
19605
19956
  change(checked.value ? uncheckedValue : checkedValue);
19606
19957
  }
19958
+ function handleTextClick() {
19959
+ action.value.focus();
19960
+ }
19607
19961
  function sync(v2) {
19608
19962
  const { checkedValue, uncheckedValue } = props2;
19609
19963
  value.value = v2 === checkedValue ? checkedValue : uncheckedValue;
@@ -19624,6 +19978,8 @@ const __sfc__$s = vue.defineComponent({
19624
19978
  change(changedValue);
19625
19979
  }
19626
19980
  return {
19981
+ action,
19982
+ isFocusing,
19627
19983
  withAnimation,
19628
19984
  checked,
19629
19985
  errorMessage,
@@ -19635,6 +19991,7 @@ const __sfc__$s = vue.defineComponent({
19635
19991
  n: n$o,
19636
19992
  classes: classes$j,
19637
19993
  handleClick,
19994
+ handleTextClick,
19638
19995
  toggle,
19639
19996
  reset,
19640
19997
  validate,
@@ -19717,6 +20074,47 @@ const __sfc__$r = vue.defineComponent({
19717
20074
  vue.watch(() => length.value, syncRadios);
19718
20075
  call(bindForm, radioGroupProvider);
19719
20076
  bindRadios(radioGroupProvider);
20077
+ useEventListener(() => window, "keydown", handleKeydown);
20078
+ function handleKeydown(event) {
20079
+ const focusingRadioIndex = radios.findIndex(({ isFocusing }) => isFocusing.value);
20080
+ if (focusingRadioIndex === -1) {
20081
+ return;
20082
+ }
20083
+ const hasMoveableRadio = radios.some(({ moveable }, index) => index === focusingRadioIndex ? false : moveable());
20084
+ if (!hasMoveableRadio) {
20085
+ return;
20086
+ }
20087
+ if (["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(event.key)) {
20088
+ preventDefault(event);
20089
+ }
20090
+ if (event.key === "ArrowUp" || event.key === "ArrowLeft") {
20091
+ moveRadio(focusingRadioIndex, "prev");
20092
+ return;
20093
+ }
20094
+ if (event.key === "ArrowDown" || event.key === "ArrowRight") {
20095
+ moveRadio(focusingRadioIndex, "next");
20096
+ }
20097
+ }
20098
+ function moveRadio(fromIndex, method) {
20099
+ while (true) {
20100
+ if (method === "prev") {
20101
+ fromIndex--;
20102
+ } else {
20103
+ fromIndex++;
20104
+ }
20105
+ if (fromIndex < 0) {
20106
+ fromIndex = radios.length - 1;
20107
+ }
20108
+ if (fromIndex > radios.length - 1) {
20109
+ fromIndex = 0;
20110
+ }
20111
+ const radio = radios[fromIndex];
20112
+ if (radio.moveable()) {
20113
+ radio.move();
20114
+ break;
20115
+ }
20116
+ }
20117
+ }
19720
20118
  function validateWithTrigger(trigger) {
19721
20119
  vue.nextTick(() => {
19722
20120
  const { validateTrigger, rules, modelValue } = props2;
@@ -19857,11 +20255,11 @@ function __render__$p(_ctx, _cache) {
19857
20255
  const __sfc__$q = vue.defineComponent({
19858
20256
  name: name$j,
19859
20257
  components: {
19860
- VarIcon: stdin_default$5P,
20258
+ VarIcon: stdin_default$5Q,
19861
20259
  VarFormDetails: stdin_default$59,
19862
- VarHoverOverlay: stdin_default$5w
20260
+ VarHoverOverlay: stdin_default$5O
19863
20261
  },
19864
- directives: { Ripple: stdin_default$5T, Hover: stdin_default$5v },
20262
+ directives: { Ripple: stdin_default$5U, Hover: stdin_default$5N },
19865
20263
  props: props$j,
19866
20264
  setup(props2) {
19867
20265
  const currentHoveringValue = vue.ref(-1);
@@ -19992,18 +20390,18 @@ const _hoisted_1$a = {
19992
20390
  xmlns: "http://www.w3.org/2000/svg",
19993
20391
  viewBox: "2 3.6 20 20"
19994
20392
  };
19995
- const _hoisted_2$7 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ vue.createElementVNode(
20393
+ const _hoisted_2$8 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ vue.createElementVNode(
19996
20394
  "path",
19997
20395
  { d: "M11,9H13V7H11M11,20H13V11H11V20Z" },
19998
20396
  null,
19999
20397
  -1
20000
20398
  /* HOISTED */
20001
20399
  ));
20002
- const _hoisted_3$6 = [
20003
- _hoisted_2$7
20400
+ const _hoisted_3$7 = [
20401
+ _hoisted_2$8
20004
20402
  ];
20005
20403
  function __render__$o(_ctx, _cache) {
20006
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$a, [..._hoisted_3$6]);
20404
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$a, [..._hoisted_3$7]);
20007
20405
  }
20008
20406
  const __sfc__$p = vue.defineComponent({});
20009
20407
  __sfc__$p.render = __render__$o;
@@ -20013,18 +20411,18 @@ const _hoisted_1$9 = {
20013
20411
  xmlns: "http://www.w3.org/2000/svg",
20014
20412
  viewBox: "2 2 20 20"
20015
20413
  };
20016
- const _hoisted_2$6 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ vue.createElementVNode(
20414
+ const _hoisted_2$7 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ vue.createElementVNode(
20017
20415
  "path",
20018
20416
  { d: "M19,3V5H19V19M17,8.4L13.4,12L17,15.6L15.6,17L12,13.4L8.4,17L7,15.6L10.6,12L7,8.4L8.4,7L12,10.6L15.6,7L17,8.4Z" },
20019
20417
  null,
20020
20418
  -1
20021
20419
  /* HOISTED */
20022
20420
  ));
20023
- const _hoisted_3$5 = [
20024
- _hoisted_2$6
20421
+ const _hoisted_3$6 = [
20422
+ _hoisted_2$7
20025
20423
  ];
20026
20424
  function __render__$n(_ctx, _cache) {
20027
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$9, [..._hoisted_3$5]);
20425
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$9, [..._hoisted_3$6]);
20028
20426
  }
20029
20427
  const __sfc__$o = vue.defineComponent({});
20030
20428
  __sfc__$o.render = __render__$n;
@@ -20034,18 +20432,18 @@ const _hoisted_1$8 = {
20034
20432
  xmlns: "http://www.w3.org/2000/svg",
20035
20433
  viewBox: "-6 -4 35 35"
20036
20434
  };
20037
- const _hoisted_2$5 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ vue.createElementVNode(
20435
+ const _hoisted_2$6 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ vue.createElementVNode(
20038
20436
  "path",
20039
20437
  { d: "M10,21H14A2,2 0 0,1 12,23A2,2 0 0,1 10,21M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M17,11A5,5 0 0,0 12,6A5,5 0 0,0 7,11V18H17V11M19.75,3.19L18.33,4.61M1,11" },
20040
20438
  null,
20041
20439
  -1
20042
20440
  /* HOISTED */
20043
20441
  ));
20044
- const _hoisted_3$4 = [
20045
- _hoisted_2$5
20442
+ const _hoisted_3$5 = [
20443
+ _hoisted_2$6
20046
20444
  ];
20047
20445
  function __render__$m(_ctx, _cache) {
20048
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$8, [..._hoisted_3$4]);
20446
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$8, [..._hoisted_3$5]);
20049
20447
  }
20050
20448
  const __sfc__$n = vue.defineComponent({});
20051
20449
  __sfc__$n.render = __render__$m;
@@ -20152,25 +20550,25 @@ const _hoisted_1$7 = {
20152
20550
  xmlns: "http://www.w3.org/2000/svg",
20153
20551
  viewBox: "-3 -3 30 30"
20154
20552
  };
20155
- const _hoisted_2$4 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode(
20553
+ const _hoisted_2$5 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode(
20156
20554
  "path",
20157
20555
  { d: "M10,19H13V22H10V19M12,2C17.35,2.22 19.68,7.62 16.5,11.67C15.67,12.67 14.33,13.33 13.67,14.17C13,15 13,16 13,17H10C10,15.33 10,13.92 10.67,12.92C11.33,11.92 12.67,11.33 13.5,10.67C15.92,8.43 15.32,5.26 12,5A3,3 0 0,0 9,8H6A6,6 0 0,1 12,2Z" },
20158
20556
  null,
20159
20557
  -1
20160
20558
  /* HOISTED */
20161
20559
  ));
20162
- const _hoisted_3$3 = [
20163
- _hoisted_2$4
20560
+ const _hoisted_3$4 = [
20561
+ _hoisted_2$5
20164
20562
  ];
20165
20563
  function __render__$k(_ctx, _cache) {
20166
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$7, [..._hoisted_3$3]);
20564
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$7, [..._hoisted_3$4]);
20167
20565
  }
20168
20566
  const __sfc__$l = vue.defineComponent({});
20169
20567
  __sfc__$l.render = __render__$k;
20170
20568
  var stdin_default$3G = __sfc__$l;
20171
20569
  const _withScopeId$1 = (n2) => (vue.pushScopeId(""), n2 = n2(), vue.popScopeId(), n2);
20172
20570
  const _hoisted_1$6 = { viewBox: "-4 -4 32 32" };
20173
- const _hoisted_2$3 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode(
20571
+ const _hoisted_2$4 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode(
20174
20572
  "path",
20175
20573
  {
20176
20574
  fill: "currentColor",
@@ -20180,11 +20578,11 @@ const _hoisted_2$3 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.cr
20180
20578
  -1
20181
20579
  /* HOISTED */
20182
20580
  ));
20183
- const _hoisted_3$2 = [
20184
- _hoisted_2$3
20581
+ const _hoisted_3$3 = [
20582
+ _hoisted_2$4
20185
20583
  ];
20186
20584
  function __render__$j(_ctx, _cache) {
20187
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$6, [..._hoisted_3$2]);
20585
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$6, [..._hoisted_3$3]);
20188
20586
  }
20189
20587
  const __sfc__$k = vue.defineComponent({});
20190
20588
  __sfc__$k.render = __render__$j;
@@ -20413,260 +20811,262 @@ const props$g = __spreadValues$6({
20413
20811
  default: void 0
20414
20812
  },
20415
20813
  multiple: Boolean,
20416
- offsetY: {
20417
- type: [String, Number],
20418
- default: 0
20419
- },
20420
- chip: Boolean,
20421
- readonly: Boolean,
20422
- separator: {
20423
- type: String,
20424
- default: ","
20425
- },
20426
- textAlign: {
20427
- type: String,
20428
- default: "left"
20429
- },
20430
- validateTrigger: {
20431
- type: Array,
20432
- default: () => ["onChange", "onClear", "onClose"]
20433
- },
20434
- rules: Array,
20435
- onFocus: defineListenerProp(),
20436
- onBlur: defineListenerProp(),
20437
- onClose: defineListenerProp(),
20438
- onChange: defineListenerProp(),
20439
- onClear: defineListenerProp(),
20440
- "onUpdate:modelValue": defineListenerProp()
20441
- }, pickProps(props$I, [
20442
- "size",
20443
- "variant",
20444
- "placeholder",
20445
- "line",
20446
- "hint",
20447
- "textColor",
20448
- "focusColor",
20449
- "blurColor",
20450
- "disabled",
20451
- "clearable",
20452
- "onClick"
20453
- ]));
20454
- const { name: name$g, n: n$i, classes: classes$e } = createNamespace("select");
20455
- const _hoisted_1$5 = { key: 1 };
20456
- function __render__$g(_ctx, _cache) {
20457
- const _component_var_chip = vue.resolveComponent("var-chip");
20458
- const _component_var_icon = vue.resolveComponent("var-icon");
20459
- const _component_var_field_decorator = vue.resolveComponent("var-field-decorator");
20460
- const _component_var_menu = vue.resolveComponent("var-menu");
20461
- const _component_var_form_details = vue.resolveComponent("var-form-details");
20462
- return vue.openBlock(), vue.createElementBlock(
20463
- "div",
20464
- {
20465
- class: vue.normalizeClass(_ctx.n()),
20466
- onClick: _cache[3] || (_cache[3] = (...args) => _ctx.handleFocus && _ctx.handleFocus(...args))
20467
- },
20468
- [
20469
- vue.createVNode(_component_var_menu, {
20470
- "var-select-cover": "",
20471
- "same-width": "",
20472
- "close-on-click-reference": "",
20473
- show: _ctx.showMenu,
20474
- "onUpdate:show": _cache[1] || (_cache[1] = ($event) => _ctx.showMenu = $event),
20475
- class: vue.normalizeClass(_ctx.n("menu")),
20476
- "popover-class": _ctx.variant === "standard" && _ctx.hint ? _ctx.n("--standard-menu-margin") : void 0,
20477
- "offset-y": _ctx.offsetY,
20478
- disabled: _ctx.formReadonly || _ctx.readonly || _ctx.formDisabled || _ctx.disabled,
20479
- placement: _ctx.placement,
20480
- "default-style": false,
20481
- onClickOutside: _ctx.handleBlur
20482
- }, {
20483
- menu: vue.withCtx(() => [
20484
- vue.createElementVNode(
20485
- "div",
20486
- {
20487
- ref: "menuEl",
20488
- class: vue.normalizeClass(_ctx.classes(_ctx.n("scroller"), _ctx.n("$-elevation--3")))
20489
- },
20490
- [
20491
- vue.renderSlot(_ctx.$slots, "default")
20492
- ],
20493
- 2
20494
- /* CLASS */
20495
- )
20496
- ]),
20497
- default: vue.withCtx(() => [
20498
- vue.createVNode(
20499
- _component_var_field_decorator,
20500
- vue.normalizeProps(vue.guardReactiveProps({
20501
- value: _ctx.modelValue,
20502
- size: _ctx.size,
20503
- variant: _ctx.variant,
20504
- placeholder: _ctx.placeholder,
20505
- line: _ctx.line,
20506
- hint: _ctx.hint,
20507
- textColor: _ctx.textColor,
20508
- focusColor: _ctx.focusColor,
20509
- blurColor: _ctx.blurColor,
20510
- isFocus: _ctx.isFocus,
20511
- errorMessage: _ctx.errorMessage,
20512
- formDisabled: _ctx.formDisabled,
20513
- disabled: _ctx.disabled,
20514
- clearable: _ctx.clearable,
20515
- cursor: _ctx.cursor,
20516
- onClick: _ctx.handleClick,
20517
- onClear: _ctx.handleClear
20518
- })),
20519
- vue.createSlots({
20520
- "clear-icon": vue.withCtx(() => [
20521
- vue.renderSlot(_ctx.$slots, "clear-icon")
20522
- ]),
20523
- "append-icon": vue.withCtx(() => [
20524
- vue.renderSlot(_ctx.$slots, "append-icon")
20525
- ]),
20526
- default: vue.withCtx(() => [
20527
- vue.createElementVNode(
20528
- "div",
20529
- {
20530
- class: vue.normalizeClass(_ctx.classes(_ctx.n("select"), [_ctx.errorMessage, _ctx.n("--error")], [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")])),
20531
- style: vue.normalizeStyle({
20532
- textAlign: _ctx.textAlign,
20533
- color: _ctx.textColor
20534
- })
20535
- },
20536
- [
20537
- vue.createElementVNode(
20538
- "div",
20539
- {
20540
- class: vue.normalizeClass(_ctx.n("label"))
20541
- },
20542
- [
20543
- !_ctx.isEmptyModelValue ? vue.renderSlot(_ctx.$slots, "selected", { key: 0 }, () => [
20544
- _ctx.multiple ? (vue.openBlock(), vue.createElementBlock(
20545
- vue.Fragment,
20546
- { key: 0 },
20547
- [
20548
- _ctx.chip ? (vue.openBlock(), vue.createElementBlock(
20549
- "div",
20550
- {
20551
- key: 0,
20552
- class: vue.normalizeClass(_ctx.n("chips"))
20553
- },
20554
- [
20555
- (vue.openBlock(true), vue.createElementBlock(
20556
- vue.Fragment,
20557
- null,
20558
- vue.renderList(_ctx.labels, (l) => {
20559
- return vue.openBlock(), vue.createBlock(_component_var_chip, {
20560
- class: vue.normalizeClass(_ctx.n("chip")),
20561
- "var-select-cover": "",
20562
- closeable: "",
20563
- size: "small",
20564
- type: _ctx.errorMessage ? "danger" : void 0,
20565
- key: l,
20566
- onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
20567
- }, ["stop"])),
20568
- onClose: () => _ctx.handleClose(l)
20569
- }, {
20570
- default: vue.withCtx(() => [
20571
- vue.createTextVNode(
20572
- vue.toDisplayString(l),
20573
- 1
20574
- /* TEXT */
20575
- )
20576
- ]),
20577
- _: 2
20578
- /* DYNAMIC */
20579
- }, 1032, ["class", "type", "onClose"]);
20580
- }),
20581
- 128
20582
- /* KEYED_FRAGMENT */
20583
- ))
20584
- ],
20585
- 2
20586
- /* CLASS */
20587
- )) : (vue.openBlock(), vue.createElementBlock(
20588
- "div",
20589
- {
20590
- key: 1,
20591
- class: vue.normalizeClass(_ctx.n("values"))
20592
- },
20593
- vue.toDisplayString(_ctx.labels.join(_ctx.separator)),
20594
- 3
20595
- /* TEXT, CLASS */
20596
- ))
20597
- ],
20598
- 64
20599
- /* STABLE_FRAGMENT */
20600
- )) : (vue.openBlock(), vue.createElementBlock(
20601
- "span",
20602
- _hoisted_1$5,
20603
- vue.toDisplayString(_ctx.label),
20604
- 1
20605
- /* TEXT */
20606
- ))
20607
- ]) : vue.createCommentVNode("v-if", true)
20608
- ],
20609
- 2
20610
- /* CLASS */
20611
- ),
20612
- _ctx.enableCustomPlaceholder ? (vue.openBlock(), vue.createElementBlock(
20613
- "span",
20614
- {
20615
- key: 0,
20616
- class: vue.normalizeClass(_ctx.classes(_ctx.n("placeholder"), _ctx.n("$--ellipsis"))),
20617
- style: vue.normalizeStyle({
20618
- color: _ctx.placeholderColor
20619
- })
20620
- },
20621
- vue.toDisplayString(_ctx.placeholder),
20622
- 7
20623
- /* TEXT, CLASS, STYLE */
20624
- )) : vue.createCommentVNode("v-if", true),
20625
- vue.renderSlot(_ctx.$slots, "arrow-icon", { focus: _ctx.showMenu }, () => [
20626
- vue.createVNode(_component_var_icon, {
20627
- class: vue.normalizeClass(_ctx.classes(_ctx.n("arrow"), [_ctx.showMenu, _ctx.n("--arrow-rotate")])),
20628
- "var-select-cover": "",
20629
- name: "menu-down",
20630
- transition: 300
20631
- }, null, 8, ["class"])
20632
- ])
20633
- ],
20634
- 6
20635
- /* CLASS, STYLE */
20636
- )
20637
- ]),
20638
- _: 2
20639
- /* DYNAMIC */
20640
- }, [
20641
- _ctx.$slots["prepend-icon"] ? {
20642
- name: "prepend-icon",
20643
- fn: vue.withCtx(() => [
20644
- vue.renderSlot(_ctx.$slots, "prepend-icon")
20645
- ]),
20646
- key: "0"
20647
- } : void 0
20814
+ offsetY: {
20815
+ type: [String, Number],
20816
+ default: 0
20817
+ },
20818
+ chip: Boolean,
20819
+ readonly: Boolean,
20820
+ separator: {
20821
+ type: String,
20822
+ default: ","
20823
+ },
20824
+ textAlign: {
20825
+ type: String,
20826
+ default: "left"
20827
+ },
20828
+ validateTrigger: {
20829
+ type: Array,
20830
+ default: () => ["onChange", "onClear", "onClose"]
20831
+ },
20832
+ rules: Array,
20833
+ onFocus: defineListenerProp(),
20834
+ onBlur: defineListenerProp(),
20835
+ onClose: defineListenerProp(),
20836
+ onChange: defineListenerProp(),
20837
+ onClear: defineListenerProp(),
20838
+ "onUpdate:modelValue": defineListenerProp()
20839
+ }, pickProps(props$I, [
20840
+ "size",
20841
+ "variant",
20842
+ "placeholder",
20843
+ "line",
20844
+ "hint",
20845
+ "textColor",
20846
+ "focusColor",
20847
+ "blurColor",
20848
+ "disabled",
20849
+ "clearable",
20850
+ "onClick"
20851
+ ]));
20852
+ const { name: name$g, n: n$i, classes: classes$e } = createNamespace("select");
20853
+ const _hoisted_1$5 = ["tabindex"];
20854
+ const _hoisted_2$3 = { key: 1 };
20855
+ function __render__$g(_ctx, _cache) {
20856
+ const _component_var_chip = vue.resolveComponent("var-chip");
20857
+ const _component_var_icon = vue.resolveComponent("var-icon");
20858
+ const _component_var_field_decorator = vue.resolveComponent("var-field-decorator");
20859
+ const _component_var_menu = vue.resolveComponent("var-menu");
20860
+ const _component_var_form_details = vue.resolveComponent("var-form-details");
20861
+ return vue.openBlock(), vue.createElementBlock("div", {
20862
+ ref: "root",
20863
+ class: vue.normalizeClass(_ctx.n()),
20864
+ tabindex: _ctx.disabled || _ctx.formDisabled ? void 0 : "0",
20865
+ onFocus: _cache[3] || (_cache[3] = (...args) => _ctx.handleFocus && _ctx.handleFocus(...args)),
20866
+ onBlur: _cache[4] || (_cache[4] = (...args) => _ctx.handleRootBlur && _ctx.handleRootBlur(...args))
20867
+ }, [
20868
+ vue.createVNode(_component_var_menu, {
20869
+ "var-select-cover": "",
20870
+ "same-width": "",
20871
+ "close-on-click-reference": "",
20872
+ "close-on-key-escape": false,
20873
+ class: vue.normalizeClass(_ctx.n("menu")),
20874
+ "popover-class": _ctx.variant === "standard" && _ctx.hint ? _ctx.n("--standard-menu-margin") : void 0,
20875
+ "offset-y": _ctx.offsetY,
20876
+ disabled: _ctx.formReadonly || _ctx.readonly || _ctx.formDisabled || _ctx.disabled,
20877
+ placement: _ctx.placement,
20878
+ "default-style": false,
20879
+ show: _ctx.showMenu,
20880
+ "onUpdate:show": _cache[1] || (_cache[1] = ($event) => _ctx.showMenu = $event),
20881
+ onClickOutside: _ctx.handleClickOutside
20882
+ }, {
20883
+ menu: vue.withCtx(() => [
20884
+ vue.createElementVNode(
20885
+ "div",
20886
+ {
20887
+ ref: "menuEl",
20888
+ class: vue.normalizeClass(_ctx.classes(_ctx.n("scroller"), _ctx.n("$-elevation--3")))
20889
+ },
20890
+ [
20891
+ vue.renderSlot(_ctx.$slots, "default")
20892
+ ],
20893
+ 2
20894
+ /* CLASS */
20895
+ )
20896
+ ]),
20897
+ default: vue.withCtx(() => [
20898
+ vue.createVNode(
20899
+ _component_var_field_decorator,
20900
+ vue.normalizeProps(vue.guardReactiveProps({
20901
+ value: _ctx.modelValue,
20902
+ size: _ctx.size,
20903
+ variant: _ctx.variant,
20904
+ placeholder: _ctx.placeholder,
20905
+ line: _ctx.line,
20906
+ hint: _ctx.hint,
20907
+ textColor: _ctx.textColor,
20908
+ focusColor: _ctx.focusColor,
20909
+ blurColor: _ctx.blurColor,
20910
+ isFocusing: _ctx.isFocusing,
20911
+ errorMessage: _ctx.errorMessage,
20912
+ formDisabled: _ctx.formDisabled,
20913
+ disabled: _ctx.disabled,
20914
+ clearable: _ctx.clearable,
20915
+ cursor: _ctx.cursor,
20916
+ onClick: _ctx.handleClick,
20917
+ onClear: _ctx.handleClear
20918
+ })),
20919
+ vue.createSlots({
20920
+ "clear-icon": vue.withCtx(({ clear: clear2 }) => [
20921
+ vue.renderSlot(_ctx.$slots, "clear-icon", { clear: clear2 })
20648
20922
  ]),
20649
- 1040
20650
- /* FULL_PROPS, DYNAMIC_SLOTS */
20651
- )
20652
- ]),
20653
- _: 3
20654
- /* FORWARDED */
20655
- }, 8, ["show", "class", "popover-class", "offset-y", "disabled", "placement", "onClickOutside"]),
20656
- vue.createVNode(_component_var_form_details, {
20657
- "error-message": _ctx.errorMessage,
20658
- onClick: _cache[2] || (_cache[2] = vue.withModifiers(() => {
20659
- }, ["stop"]))
20660
- }, null, 8, ["error-message"])
20661
- ],
20662
- 2
20663
- /* CLASS */
20664
- );
20923
+ "append-icon": vue.withCtx(() => [
20924
+ vue.renderSlot(_ctx.$slots, "append-icon")
20925
+ ]),
20926
+ default: vue.withCtx(() => [
20927
+ vue.createElementVNode(
20928
+ "div",
20929
+ {
20930
+ class: vue.normalizeClass(_ctx.classes(_ctx.n("select"), [_ctx.errorMessage, _ctx.n("--error")], [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")])),
20931
+ style: vue.normalizeStyle({
20932
+ textAlign: _ctx.textAlign,
20933
+ color: _ctx.textColor
20934
+ })
20935
+ },
20936
+ [
20937
+ vue.createElementVNode(
20938
+ "div",
20939
+ {
20940
+ class: vue.normalizeClass(_ctx.n("label"))
20941
+ },
20942
+ [
20943
+ !_ctx.isEmptyModelValue ? vue.renderSlot(_ctx.$slots, "selected", { key: 0 }, () => [
20944
+ _ctx.multiple ? (vue.openBlock(), vue.createElementBlock(
20945
+ vue.Fragment,
20946
+ { key: 0 },
20947
+ [
20948
+ _ctx.chip ? (vue.openBlock(), vue.createElementBlock(
20949
+ "div",
20950
+ {
20951
+ key: 0,
20952
+ class: vue.normalizeClass(_ctx.n("chips"))
20953
+ },
20954
+ [
20955
+ (vue.openBlock(true), vue.createElementBlock(
20956
+ vue.Fragment,
20957
+ null,
20958
+ vue.renderList(_ctx.labels, (l) => {
20959
+ return vue.openBlock(), vue.createBlock(_component_var_chip, {
20960
+ class: vue.normalizeClass(_ctx.n("chip")),
20961
+ "var-select-cover": "",
20962
+ closeable: "",
20963
+ size: "small",
20964
+ type: _ctx.errorMessage ? "danger" : void 0,
20965
+ key: l,
20966
+ onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
20967
+ }, ["stop"])),
20968
+ onClose: () => _ctx.handleClose(l)
20969
+ }, {
20970
+ default: vue.withCtx(() => [
20971
+ vue.createTextVNode(
20972
+ vue.toDisplayString(l),
20973
+ 1
20974
+ /* TEXT */
20975
+ )
20976
+ ]),
20977
+ _: 2
20978
+ /* DYNAMIC */
20979
+ }, 1032, ["class", "type", "onClose"]);
20980
+ }),
20981
+ 128
20982
+ /* KEYED_FRAGMENT */
20983
+ ))
20984
+ ],
20985
+ 2
20986
+ /* CLASS */
20987
+ )) : (vue.openBlock(), vue.createElementBlock(
20988
+ "div",
20989
+ {
20990
+ key: 1,
20991
+ class: vue.normalizeClass(_ctx.n("values"))
20992
+ },
20993
+ vue.toDisplayString(_ctx.labels.join(_ctx.separator)),
20994
+ 3
20995
+ /* TEXT, CLASS */
20996
+ ))
20997
+ ],
20998
+ 64
20999
+ /* STABLE_FRAGMENT */
21000
+ )) : (vue.openBlock(), vue.createElementBlock(
21001
+ "span",
21002
+ _hoisted_2$3,
21003
+ vue.toDisplayString(_ctx.label),
21004
+ 1
21005
+ /* TEXT */
21006
+ ))
21007
+ ]) : vue.createCommentVNode("v-if", true)
21008
+ ],
21009
+ 2
21010
+ /* CLASS */
21011
+ ),
21012
+ _ctx.enableCustomPlaceholder ? (vue.openBlock(), vue.createElementBlock(
21013
+ "span",
21014
+ {
21015
+ key: 0,
21016
+ class: vue.normalizeClass(_ctx.classes(_ctx.n("placeholder"), _ctx.n("$--ellipsis"))),
21017
+ style: vue.normalizeStyle({
21018
+ color: _ctx.placeholderColor
21019
+ })
21020
+ },
21021
+ vue.toDisplayString(_ctx.placeholder),
21022
+ 7
21023
+ /* TEXT, CLASS, STYLE */
21024
+ )) : vue.createCommentVNode("v-if", true),
21025
+ vue.renderSlot(_ctx.$slots, "arrow-icon", {
21026
+ focus: _ctx.isFocusing,
21027
+ menuOpen: _ctx.showMenu
21028
+ }, () => [
21029
+ vue.createVNode(_component_var_icon, {
21030
+ class: vue.normalizeClass(_ctx.classes(_ctx.n("arrow"), [_ctx.showMenu, _ctx.n("--arrow-rotate")])),
21031
+ "var-select-cover": "",
21032
+ name: "menu-down",
21033
+ transition: 300
21034
+ }, null, 8, ["class"])
21035
+ ])
21036
+ ],
21037
+ 6
21038
+ /* CLASS, STYLE */
21039
+ )
21040
+ ]),
21041
+ _: 2
21042
+ /* DYNAMIC */
21043
+ }, [
21044
+ _ctx.$slots["prepend-icon"] ? {
21045
+ name: "prepend-icon",
21046
+ fn: vue.withCtx(() => [
21047
+ vue.renderSlot(_ctx.$slots, "prepend-icon")
21048
+ ]),
21049
+ key: "0"
21050
+ } : void 0
21051
+ ]),
21052
+ 1040
21053
+ /* FULL_PROPS, DYNAMIC_SLOTS */
21054
+ )
21055
+ ]),
21056
+ _: 3
21057
+ /* FORWARDED */
21058
+ }, 8, ["class", "popover-class", "offset-y", "disabled", "placement", "show", "onClickOutside"]),
21059
+ vue.createVNode(_component_var_form_details, {
21060
+ "error-message": _ctx.errorMessage,
21061
+ onClick: _cache[2] || (_cache[2] = vue.withModifiers(() => {
21062
+ }, ["stop"]))
21063
+ }, null, 8, ["error-message"])
21064
+ ], 42, _hoisted_1$5);
20665
21065
  }
20666
21066
  const __sfc__$h = vue.defineComponent({
20667
21067
  name: name$g,
20668
21068
  components: {
20669
- VarIcon: stdin_default$5P,
21069
+ VarIcon: stdin_default$5Q,
20670
21070
  VarMenu: stdin_default$47,
20671
21071
  VarChip: stdin_default$53,
20672
21072
  VarFieldDecorator: stdin_default$4x,
@@ -20674,8 +21074,9 @@ const __sfc__$h = vue.defineComponent({
20674
21074
  },
20675
21075
  props: props$g,
20676
21076
  setup(props2) {
20677
- const isFocus = vue.ref(false);
21077
+ const isFocusing = vue.ref(false);
20678
21078
  const showMenu = vue.ref(false);
21079
+ const root = vue.ref(null);
20679
21080
  const multiple = vue.computed(() => props2.multiple);
20680
21081
  const focusColor = vue.computed(() => props2.focusColor);
20681
21082
  const isEmptyModelValue = vue.computed(() => isEmpty(props2.modelValue));
@@ -20706,7 +21107,7 @@ const __sfc__$h = vue.defineComponent({
20706
21107
  if (errorMessage.value) {
20707
21108
  return "var(--field-decorator-error-color)";
20708
21109
  }
20709
- if (isFocus.value) {
21110
+ if (isFocusing.value) {
20710
21111
  return focusColor2 || "var(--field-decorator-focus-color)";
20711
21112
  }
20712
21113
  return blurColor || "var(--field-decorator-placeholder-color, var(--field-decorator-blur-color))";
@@ -20731,7 +21132,52 @@ const __sfc__$h = vue.defineComponent({
20731
21132
  }
20732
21133
  );
20733
21134
  bindOptions(selectProvider);
21135
+ useEventListener(() => window, "keydown", handleKeydown);
21136
+ useEventListener(() => window, "keyup", handleKeyup);
20734
21137
  call(bindForm, selectProvider);
21138
+ function handleKeydown(event) {
21139
+ const { disabled, readonly } = props2;
21140
+ if ((form == null ? void 0 : form.disabled.value) || (form == null ? void 0 : form.readonly.value) || disabled || readonly || !isFocusing.value) {
21141
+ return;
21142
+ }
21143
+ const { key } = event;
21144
+ if (key === " " && !showMenu.value) {
21145
+ preventDefault(event);
21146
+ return;
21147
+ }
21148
+ if (key === "Escape" && showMenu.value) {
21149
+ root.value.focus();
21150
+ preventDefault(event);
21151
+ showMenu.value = false;
21152
+ return;
21153
+ }
21154
+ if (key === "Tab" && showMenu.value) {
21155
+ root.value.focus();
21156
+ preventDefault(event);
21157
+ handleBlur();
21158
+ return;
21159
+ }
21160
+ if (key === "Enter" && !showMenu.value) {
21161
+ preventDefault(event);
21162
+ showMenu.value = true;
21163
+ return;
21164
+ }
21165
+ if ((key === "ArrowDown" || key === "ArrowUp") && showMenu.value) {
21166
+ preventDefault(event);
21167
+ focusChildElementByKey(root.value, menuEl.value, key);
21168
+ }
21169
+ }
21170
+ function handleKeyup(event) {
21171
+ const { disabled, readonly } = props2;
21172
+ if ((form == null ? void 0 : form.disabled.value) || (form == null ? void 0 : form.readonly.value) || disabled || readonly || showMenu.value || !isFocusing.value) {
21173
+ return;
21174
+ }
21175
+ const { key } = event;
21176
+ if (key === " " && !showMenu.value) {
21177
+ preventDefault(event);
21178
+ showMenu.value = true;
21179
+ }
21180
+ }
20735
21181
  function validateWithTrigger(trigger) {
20736
21182
  vue.nextTick(() => {
20737
21183
  const { validateTrigger, rules, modelValue } = props2;
@@ -20744,7 +21190,7 @@ const __sfc__$h = vue.defineComponent({
20744
21190
  return;
20745
21191
  }
20746
21192
  offsetY.value = toPxNum(props2.offsetY);
20747
- isFocus.value = true;
21193
+ focus();
20748
21194
  call(onFocus);
20749
21195
  validateWithTrigger("onFocus");
20750
21196
  }
@@ -20757,6 +21203,18 @@ const __sfc__$h = vue.defineComponent({
20757
21203
  call(onBlur);
20758
21204
  validateWithTrigger("onBlur");
20759
21205
  }
21206
+ function handleRootBlur() {
21207
+ if (showMenu.value) {
21208
+ return;
21209
+ }
21210
+ handleBlur();
21211
+ }
21212
+ function handleClickOutside() {
21213
+ if (!isFocusing.value) {
21214
+ return;
21215
+ }
21216
+ handleBlur();
21217
+ }
20760
21218
  function onSelect(option) {
20761
21219
  const { disabled, readonly, multiple: multiple2, onChange } = props2;
20762
21220
  if ((form == null ? void 0 : form.disabled.value) || (form == null ? void 0 : form.readonly.value) || disabled || readonly) {
@@ -20767,7 +21225,10 @@ const __sfc__$h = vue.defineComponent({
20767
21225
  call(onChange, selectedValue);
20768
21226
  validateWithTrigger("onChange");
20769
21227
  if (!multiple2) {
20770
- blur();
21228
+ root.value.focus();
21229
+ doubleRaf().then(() => {
21230
+ showMenu.value = false;
21231
+ });
20771
21232
  }
20772
21233
  }
20773
21234
  function handleClear() {
@@ -20806,11 +21267,10 @@ const __sfc__$h = vue.defineComponent({
20806
21267
  }
20807
21268
  function focus() {
20808
21269
  offsetY.value = toPxNum(props2.offsetY);
20809
- isFocus.value = true;
20810
- showMenu.value = true;
21270
+ isFocusing.value = true;
20811
21271
  }
20812
21272
  function blur() {
20813
- isFocus.value = false;
21273
+ isFocusing.value = false;
20814
21274
  showMenu.value = false;
20815
21275
  }
20816
21276
  function validate() {
@@ -20821,8 +21281,9 @@ const __sfc__$h = vue.defineComponent({
20821
21281
  resetValidation();
20822
21282
  }
20823
21283
  return {
21284
+ root,
20824
21285
  offsetY,
20825
- isFocus,
21286
+ isFocusing,
20826
21287
  showMenu,
20827
21288
  errorMessage,
20828
21289
  formDisabled: form == null ? void 0 : form.disabled,
@@ -20839,9 +21300,11 @@ const __sfc__$h = vue.defineComponent({
20839
21300
  classes: classes$e,
20840
21301
  handleFocus,
20841
21302
  handleBlur,
21303
+ handleClickOutside,
20842
21304
  handleClear,
20843
21305
  handleClick,
20844
21306
  handleClose,
21307
+ handleRootBlur,
20845
21308
  reset,
20846
21309
  validate,
20847
21310
  resetValidation,
@@ -21268,9 +21731,9 @@ const __sfc__$f = vue.defineComponent({
21268
21731
  name: name$e,
21269
21732
  components: {
21270
21733
  VarFormDetails: stdin_default$59,
21271
- VarHoverOverlay: stdin_default$5w
21734
+ VarHoverOverlay: stdin_default$5O
21272
21735
  },
21273
- directives: { Hover: stdin_default$5v },
21736
+ directives: { Hover: stdin_default$5N },
21274
21737
  props: props$e,
21275
21738
  setup(props2) {
21276
21739
  const maxDistance = vue.ref(0);
@@ -21625,10 +22088,10 @@ const props$d = {
21625
22088
  default: 3e3
21626
22089
  },
21627
22090
  vertical: Boolean,
21628
- loadingType: pickProps(props$1a, "type"),
21629
- loadingSize: pickProps(props$1a, "size"),
21630
- loadingRadius: pickProps(props$1a, "radius"),
21631
- loadingColor: __spreadProps$1(__spreadValues$5({}, pickProps(props$1a, "color")), {
22091
+ loadingType: pickProps(props$19, "type"),
22092
+ loadingSize: pickProps(props$19, "size"),
22093
+ loadingRadius: pickProps(props$19, "radius"),
22094
+ loadingColor: __spreadProps$1(__spreadValues$5({}, pickProps(props$19, "color")), {
21632
22095
  default: "currentColor"
21633
22096
  }),
21634
22097
  lockScroll: Boolean,
@@ -21744,8 +22207,8 @@ function __render__$d(_ctx, _cache) {
21744
22207
  const __sfc__$e = vue.defineComponent({
21745
22208
  name: "VarSnackbarCore",
21746
22209
  components: {
21747
- VarLoading: stdin_default$5y,
21748
- VarIcon: stdin_default$5P
22210
+ VarLoading: stdin_default$5v,
22211
+ VarIcon: stdin_default$5Q
21749
22212
  },
21750
22213
  props: props$d,
21751
22214
  setup(props2) {
@@ -21951,7 +22414,7 @@ const TransitionGroupHost = {
21951
22414
  });
21952
22415
  return vue.createVNode(vue.TransitionGroup, vue.mergeProps(transitionGroupProps, {
21953
22416
  "style": {
21954
- zIndex: stdin_default$5U.zIndex
22417
+ zIndex: stdin_default$5V.zIndex
21955
22418
  },
21956
22419
  "onAfterEnter": opened,
21957
22420
  "onAfterLeave": removeUniqOption
@@ -22299,7 +22762,7 @@ function __render__$b(_ctx, _cache) {
22299
22762
  }
22300
22763
  const __sfc__$c = vue.defineComponent({
22301
22764
  name: name$b,
22302
- components: { VarIcon: stdin_default$5P },
22765
+ components: { VarIcon: stdin_default$5Q },
22303
22766
  props: props$b,
22304
22767
  setup() {
22305
22768
  const { index, steps, bindSteps } = useSteps();
@@ -22463,7 +22926,8 @@ const props$8 = {
22463
22926
  };
22464
22927
  const { name: name$8, n: n$9, classes: classes$8 } = createNamespace("switch");
22465
22928
  const _withScopeId = (n2) => (vue.pushScopeId(""), n2 = n2(), vue.popScopeId(), n2);
22466
- const _hoisted_1$2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode(
22929
+ const _hoisted_1$2 = ["tabindex"];
22930
+ const _hoisted_2$2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode(
22467
22931
  "svg",
22468
22932
  { viewBox: "25 25 50 50" },
22469
22933
  [
@@ -22477,8 +22941,8 @@ const _hoisted_1$2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.crea
22477
22941
  -1
22478
22942
  /* HOISTED */
22479
22943
  ));
22480
- const _hoisted_2$2 = [
22481
- _hoisted_1$2
22944
+ const _hoisted_3$2 = [
22945
+ _hoisted_2$2
22482
22946
  ];
22483
22947
  function __render__$9(_ctx, _cache) {
22484
22948
  const _component_var_hover_overlay = vue.resolveComponent("var-hover-overlay");
@@ -22494,9 +22958,10 @@ function __render__$9(_ctx, _cache) {
22494
22958
  vue.createElementVNode(
22495
22959
  "div",
22496
22960
  {
22961
+ ref: "switchRef",
22497
22962
  class: vue.normalizeClass(_ctx.classes(_ctx.n("block"), [_ctx.disabled || _ctx.formDisabled, _ctx.n("--disabled")])),
22498
- onClick: _cache[0] || (_cache[0] = (...args) => _ctx.switchActive && _ctx.switchActive(...args)),
22499
- style: vue.normalizeStyle(_ctx.styleComputed.switch)
22963
+ style: vue.normalizeStyle(_ctx.styleComputed.switch),
22964
+ onClick: _cache[2] || (_cache[2] = (...args) => _ctx.switchActive && _ctx.switchActive(...args))
22500
22965
  },
22501
22966
  [
22502
22967
  vue.createElementVNode(
@@ -22511,52 +22976,52 @@ function __render__$9(_ctx, _cache) {
22511
22976
  6
22512
22977
  /* CLASS, STYLE */
22513
22978
  ),
22514
- vue.withDirectives((vue.openBlock(), vue.createElementBlock(
22515
- "div",
22516
- {
22517
- class: vue.normalizeClass(_ctx.classes(_ctx.n("ripple"), [_ctx.modelValue === _ctx.activeValue, _ctx.n("ripple--active")])),
22518
- style: vue.normalizeStyle(_ctx.styleComputed.ripple)
22519
- },
22520
- [
22521
- vue.createElementVNode(
22522
- "div",
22523
- {
22524
- style: vue.normalizeStyle(_ctx.styleComputed.handle),
22525
- class: vue.normalizeClass(
22526
- _ctx.classes(
22527
- _ctx.n("handle"),
22528
- _ctx.n("$-elevation--2"),
22529
- [_ctx.modelValue === _ctx.activeValue, _ctx.n("handle--active")],
22530
- [_ctx.errorMessage, _ctx.n("handle--error")]
22531
- )
22979
+ vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
22980
+ class: vue.normalizeClass(_ctx.classes(_ctx.n("ripple"), [_ctx.modelValue === _ctx.activeValue, _ctx.n("ripple--active")])),
22981
+ style: vue.normalizeStyle(_ctx.styleComputed.ripple),
22982
+ tabindex: _ctx.disabled || _ctx.formDisabled ? void 0 : "0",
22983
+ onFocus: _cache[0] || (_cache[0] = ($event) => _ctx.isFocusing = true),
22984
+ onBlur: _cache[1] || (_cache[1] = ($event) => _ctx.isFocusing = false)
22985
+ }, [
22986
+ vue.createElementVNode(
22987
+ "div",
22988
+ {
22989
+ style: vue.normalizeStyle(_ctx.styleComputed.handle),
22990
+ class: vue.normalizeClass(
22991
+ _ctx.classes(
22992
+ _ctx.n("handle"),
22993
+ _ctx.n("$-elevation--2"),
22994
+ [_ctx.modelValue === _ctx.activeValue, _ctx.n("handle--active")],
22995
+ [_ctx.errorMessage, _ctx.n("handle--error")]
22532
22996
  )
22533
- },
22534
- [
22535
- _ctx.loading ? (vue.openBlock(), vue.createElementBlock(
22536
- "span",
22537
- {
22538
- key: 0,
22539
- class: vue.normalizeClass(_ctx.n("loading")),
22540
- style: vue.normalizeStyle({
22541
- width: _ctx.radius,
22542
- height: _ctx.radius
22543
- })
22544
- },
22545
- [..._hoisted_2$2],
22546
- 6
22547
- /* CLASS, STYLE */
22548
- )) : vue.createCommentVNode("v-if", true)
22549
- ],
22550
- 6
22551
- /* CLASS, STYLE */
22552
- ),
22553
- vue.createVNode(_component_var_hover_overlay, { hovering: _ctx.hovering }, null, 8, ["hovering"])
22554
- ],
22555
- 6
22556
- /* CLASS, STYLE */
22557
- )), [
22997
+ )
22998
+ },
22999
+ [
23000
+ _ctx.loading ? (vue.openBlock(), vue.createElementBlock(
23001
+ "span",
23002
+ {
23003
+ key: 0,
23004
+ class: vue.normalizeClass(_ctx.n("loading")),
23005
+ style: vue.normalizeStyle({
23006
+ width: _ctx.radius,
23007
+ height: _ctx.radius
23008
+ })
23009
+ },
23010
+ [..._hoisted_3$2],
23011
+ 6
23012
+ /* CLASS, STYLE */
23013
+ )) : vue.createCommentVNode("v-if", true)
23014
+ ],
23015
+ 6
23016
+ /* CLASS, STYLE */
23017
+ ),
23018
+ vue.createVNode(_component_var_hover_overlay, {
23019
+ hovering: _ctx.hovering && !_ctx.disabled && !_ctx.formDisabled,
23020
+ focusing: _ctx.isFocusing && !_ctx.disabled && !_ctx.formDisabled
23021
+ }, null, 8, ["hovering", "focusing"])
23022
+ ], 46, _hoisted_1$2)), [
22558
23023
  [_directive_ripple, {
22559
- disabled: !_ctx.ripple || _ctx.disabled || _ctx.loading || _ctx.formDisabled
23024
+ disabled: !_ctx.ripple || _ctx.disabled || _ctx.loading || _ctx.formDisabled || _ctx.readonly || _ctx.formReadonly
22560
23025
  }]
22561
23026
  ])
22562
23027
  ],
@@ -22575,11 +23040,13 @@ const __sfc__$9 = vue.defineComponent({
22575
23040
  name: name$8,
22576
23041
  components: {
22577
23042
  VarFormDetails: stdin_default$59,
22578
- VarHoverOverlay: stdin_default$5w
23043
+ VarHoverOverlay: stdin_default$5O
22579
23044
  },
22580
- directives: { Ripple: stdin_default$5T, Hover: stdin_default$5v },
23045
+ directives: { Ripple: stdin_default$5U, Hover: stdin_default$5N },
22581
23046
  props: props$8,
22582
23047
  setup(props2) {
23048
+ const switchRef = vue.ref(null);
23049
+ const isFocusing = vue.ref(false);
22583
23050
  const { bindForm, form } = useForm();
22584
23051
  const { errorMessage, validateWithTrigger: vt, validate: v, resetValidation } = useValidation();
22585
23052
  const { hovering, handleHovering } = useHoverOverlay();
@@ -22618,6 +23085,26 @@ const __sfc__$9 = vue.defineComponent({
22618
23085
  resetValidation
22619
23086
  };
22620
23087
  call(bindForm, switchProvider);
23088
+ useEventListener(() => window, "keydown", handleKeydown);
23089
+ useEventListener(() => window, "keyup", handleKeyup);
23090
+ function handleKeydown(event) {
23091
+ if (!isFocusing.value) {
23092
+ return;
23093
+ }
23094
+ if (event.key === " " || event.key === "Enter") {
23095
+ preventDefault(event);
23096
+ }
23097
+ if (event.key === "Enter") {
23098
+ switchRef.value.click();
23099
+ }
23100
+ }
23101
+ function handleKeyup(event) {
23102
+ if (!isFocusing.value || event.key !== " ") {
23103
+ return;
23104
+ }
23105
+ preventDefault(event);
23106
+ switchRef.value.click();
23107
+ }
22621
23108
  function validate() {
22622
23109
  return v(props2.rules, props2.modelValue);
22623
23110
  }
@@ -22641,8 +23128,11 @@ const __sfc__$9 = vue.defineComponent({
22641
23128
  "onUpdate:modelValue": updateModelValue,
22642
23129
  onBeforeChange
22643
23130
  } = props2;
23131
+ if (disabled || (form == null ? void 0 : form.disabled.value)) {
23132
+ return;
23133
+ }
22644
23134
  call(onClick, event);
22645
- if (disabled || loading || readonly || (form == null ? void 0 : form.disabled.value) || (form == null ? void 0 : form.readonly.value)) {
23135
+ if (loading || readonly || (form == null ? void 0 : form.readonly.value)) {
22646
23136
  return;
22647
23137
  }
22648
23138
  const newValue = modelValue === activeValue ? inactiveValue : activeValue;
@@ -22668,7 +23158,9 @@ const __sfc__$9 = vue.defineComponent({
22668
23158
  resetValidation();
22669
23159
  }
22670
23160
  return {
23161
+ switchRef,
22671
23162
  hovering,
23163
+ isFocusing,
22672
23164
  radius,
22673
23165
  styleComputed,
22674
23166
  errorMessage,
@@ -22741,7 +23233,7 @@ function __render__$8(_ctx, _cache) {
22741
23233
  }
22742
23234
  const __sfc__$8 = vue.defineComponent({
22743
23235
  name: name$7,
22744
- directives: { Ripple: stdin_default$5T },
23236
+ directives: { Ripple: stdin_default$5U },
22745
23237
  props: props$7,
22746
23238
  setup(props2) {
22747
23239
  const tabEl = vue.ref(null);
@@ -23728,7 +24220,9 @@ var stdin_default$2O = {
23728
24220
  "--tab-active-color": "var(--color-primary)",
23729
24221
  "--tab-disabled-color": "var(--color-text-disabled)",
23730
24222
  "--tab-font-size": "var(--font-size-md)",
23731
- "--tab-font-weight": "400"
24223
+ "--tab-font-weight": "400",
24224
+ "--tab-active-font-size": "var(--font-size-md)",
24225
+ "--tab-active-font-weight": "400"
23732
24226
  };
23733
24227
  var stdin_default$2N = {
23734
24228
  "--table-background": "#303030",
@@ -23891,7 +24385,8 @@ var stdin_default$2E = {
23891
24385
  "--link-warning-color": "var(--color-warning)",
23892
24386
  "--link-info-color": "var(--color-info)",
23893
24387
  "--link-disabled-color": "var(--color-text-disabled)",
23894
- "--link-font-size": "var(--font-size-md)"
24388
+ "--link-font-size": "var(--font-size-md)",
24389
+ "--link-focus-opacity": "0.8"
23895
24390
  };
23896
24391
  var stdin_default$2D = {
23897
24392
  "--progress-label-color": "#fff",
@@ -24067,7 +24562,8 @@ var stdin_default$2i = {
24067
24562
  "--overlay-background-color": "rgba(0, 0, 0, 0.6)"
24068
24563
  };
24069
24564
  var stdin_default$2h = {
24070
- "--paper-background": "var(--color-surface-container-highest)"
24565
+ "--paper-background": "var(--color-surface-container-highest)",
24566
+ "--paper-border-radius": "4px"
24071
24567
  };
24072
24568
  var stdin_default$2g = {
24073
24569
  "--rate-color": "var(--color-text)",
@@ -24329,7 +24825,8 @@ var stdin_default$20 = {
24329
24825
  "--link-warning-color": "var(--color-warning)",
24330
24826
  "--link-info-color": "var(--color-info)",
24331
24827
  "--link-disabled-color": "var(--color-text-disabled)",
24332
- "--link-font-size": "var(--font-size-md)"
24828
+ "--link-font-size": "var(--font-size-md)",
24829
+ "--link-focus-opacity": "0.8"
24333
24830
  };
24334
24831
  var stdin_default$1$ = {
24335
24832
  "--cell-description-color": "var(--color-on-surface-variant)",
@@ -24346,7 +24843,8 @@ var stdin_default$1$ = {
24346
24843
  "--cell-extra-left": "8px"
24347
24844
  };
24348
24845
  var stdin_default$1_ = {
24349
- "--paper-background": "var(--color-surface-container-low)"
24846
+ "--paper-background": "var(--color-surface-container-low)",
24847
+ "--paper-border-radius": "12px"
24350
24848
  };
24351
24849
  var stdin_default$1Z = {
24352
24850
  "--avatar-text-color": "#fff",
@@ -24517,7 +25015,9 @@ var stdin_default$1R = {
24517
25015
  "--tab-active-color": "var(--color-primary)",
24518
25016
  "--tab-disabled-color": "var(--color-text-disabled)",
24519
25017
  "--tab-font-size": "var(--font-size-md)",
24520
- "--tab-font-weight": "400"
25018
+ "--tab-font-weight": "400",
25019
+ "--tab-active-font-size": "var(--font-size-md)",
25020
+ "--tab-active-font-weight": "400"
24521
25021
  };
24522
25022
  var stdin_default$1Q = {
24523
25023
  "--table-background": "var(--color-surface-container-low)",
@@ -25234,7 +25734,8 @@ var stdin_default$10 = {
25234
25734
  "--link-warning-color": "var(--color-warning)",
25235
25735
  "--link-info-color": "var(--color-info)",
25236
25736
  "--link-disabled-color": "var(--color-text-disabled)",
25237
- "--link-font-size": "var(--font-size-md)"
25737
+ "--link-font-size": "var(--font-size-md)",
25738
+ "--link-focus-opacity": "0.8"
25238
25739
  };
25239
25740
  var stdin_default$$ = {
25240
25741
  "--cell-description-color": "var(--color-on-surface-variant)",
@@ -25251,7 +25752,8 @@ var stdin_default$$ = {
25251
25752
  "--cell-extra-left": "8px"
25252
25753
  };
25253
25754
  var stdin_default$_ = {
25254
- "--paper-background": "var(--color-surface-container-high)"
25755
+ "--paper-background": "var(--color-surface-container-highest)",
25756
+ "--paper-border-radius": "12px"
25255
25757
  };
25256
25758
  var stdin_default$Z = {
25257
25759
  "--avatar-text-color": "#000",
@@ -25463,7 +25965,9 @@ var stdin_default$P = {
25463
25965
  "--tab-active-color": "var(--color-primary)",
25464
25966
  "--tab-disabled-color": "var(--color-text-disabled)",
25465
25967
  "--tab-font-size": "var(--font-size-md)",
25466
- "--tab-font-weight": "400"
25968
+ "--tab-font-weight": "400",
25969
+ "--tab-active-font-size": "var(--font-size-md)",
25970
+ "--tab-active-font-weight": "400"
25467
25971
  };
25468
25972
  var stdin_default$O = {
25469
25973
  "--step-content-color": "rgba(255, 255, 255, .38)",
@@ -27015,8 +27519,9 @@ let fid = 0;
27015
27519
  const _hoisted_1$1 = ["onClick"];
27016
27520
  const _hoisted_2$1 = ["onClick"];
27017
27521
  const _hoisted_3$1 = ["src", "alt"];
27018
- const _hoisted_4$1 = ["multiple", "accept", "capture", "disabled"];
27019
- const _hoisted_5 = ["src"];
27522
+ const _hoisted_4$1 = ["tabindex"];
27523
+ const _hoisted_5 = ["multiple", "accept", "capture", "disabled"];
27524
+ const _hoisted_6 = ["src"];
27020
27525
  function __render__$1(_ctx, _cache) {
27021
27526
  const _component_var_icon = vue.resolveComponent("var-icon");
27022
27527
  const _component_var_hover_overlay = vue.resolveComponent("var-hover-overlay");
@@ -27102,45 +27607,45 @@ function __render__$1(_ctx, _cache) {
27102
27607
  128
27103
27608
  /* KEYED_FRAGMENT */
27104
27609
  )),
27105
- !_ctx.maxlength || _ctx.modelValue.length < _ctx.toNumber(_ctx.maxlength) ? vue.withDirectives((vue.openBlock(), vue.createElementBlock(
27106
- "div",
27107
- {
27108
- key: 0,
27109
- class: vue.normalizeClass(
27110
- _ctx.classes(
27111
- [!_ctx.$slots.default, `${_ctx.n("action")} ${_ctx.formatElevation(_ctx.elevation, 2)}`],
27112
- [_ctx.disabled || _ctx.formDisabled, _ctx.n("--disabled")]
27113
- )
27114
- ),
27115
- onClick: _cache[2] || (_cache[2] = (...args) => _ctx.handleActionClick && _ctx.handleActionClick(...args))
27116
- },
27117
- [
27118
- vue.createElementVNode("input", {
27119
- ref: "input",
27120
- type: "file",
27121
- class: vue.normalizeClass(_ctx.n("action-input")),
27122
- multiple: _ctx.multiple,
27123
- accept: _ctx.accept,
27124
- capture: _ctx.capture,
27125
- disabled: _ctx.disabled || _ctx.formDisabled || _ctx.readonly || _ctx.formReadonly,
27126
- onChange: _cache[0] || (_cache[0] = (...args) => _ctx.handleChange && _ctx.handleChange(...args)),
27127
- onClick: _cache[1] || (_cache[1] = vue.withModifiers(() => {
27128
- }, ["stop"]))
27129
- }, null, 42, _hoisted_4$1),
27130
- vue.renderSlot(_ctx.$slots, "default", {}, () => [
27131
- vue.createVNode(_component_var_icon, {
27132
- class: vue.normalizeClass(_ctx.n("action-icon")),
27133
- "var-uploader-cover": "",
27134
- name: "plus"
27135
- }, null, 8, ["class"]),
27136
- vue.createVNode(_component_var_hover_overlay, {
27137
- hovering: _ctx.hovering && !_ctx.disabled && !_ctx.formDisabled
27138
- }, null, 8, ["hovering"])
27139
- ])
27140
- ],
27141
- 2
27142
- /* CLASS */
27143
- )), [
27610
+ !_ctx.maxlength || _ctx.modelValue.length < _ctx.toNumber(_ctx.maxlength) ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
27611
+ key: 0,
27612
+ ref: "actionRef",
27613
+ class: vue.normalizeClass(
27614
+ _ctx.classes(
27615
+ _ctx.n("--outline-none"),
27616
+ [!_ctx.$slots.default, `${_ctx.n("action")} ${_ctx.formatElevation(_ctx.elevation, 2)}`],
27617
+ [_ctx.disabled || _ctx.formDisabled, _ctx.n("--disabled")]
27618
+ )
27619
+ ),
27620
+ tabindex: _ctx.disabled || _ctx.formDisabled ? void 0 : "0",
27621
+ onClick: _cache[2] || (_cache[2] = (...args) => _ctx.handleActionClick && _ctx.handleActionClick(...args)),
27622
+ onFocus: _cache[3] || (_cache[3] = ($event) => _ctx.isFocusing = true),
27623
+ onBlur: _cache[4] || (_cache[4] = ($event) => _ctx.isFocusing = false)
27624
+ }, [
27625
+ vue.createElementVNode("input", {
27626
+ ref: "input",
27627
+ type: "file",
27628
+ class: vue.normalizeClass(_ctx.n("action-input")),
27629
+ multiple: _ctx.multiple,
27630
+ accept: _ctx.accept,
27631
+ capture: _ctx.capture,
27632
+ disabled: _ctx.disabled || _ctx.formDisabled || _ctx.readonly || _ctx.formReadonly,
27633
+ onChange: _cache[0] || (_cache[0] = (...args) => _ctx.handleChange && _ctx.handleChange(...args)),
27634
+ onClick: _cache[1] || (_cache[1] = vue.withModifiers(() => {
27635
+ }, ["stop"]))
27636
+ }, null, 42, _hoisted_5),
27637
+ vue.renderSlot(_ctx.$slots, "default", {}, () => [
27638
+ vue.createVNode(_component_var_icon, {
27639
+ class: vue.normalizeClass(_ctx.n("action-icon")),
27640
+ "var-uploader-cover": "",
27641
+ name: "plus"
27642
+ }, null, 8, ["class"]),
27643
+ vue.createVNode(_component_var_hover_overlay, {
27644
+ hovering: _ctx.hovering && !_ctx.disabled && !_ctx.formDisabled && !_ctx.readonly && !_ctx.formReadonly,
27645
+ focusing: _ctx.isFocusing && !_ctx.disabled && !_ctx.formDisabled && !_ctx.readonly && !_ctx.formReadonly
27646
+ }, null, 8, ["hovering", "focusing"])
27647
+ ])
27648
+ ], 42, _hoisted_4$1)), [
27144
27649
  [_directive_ripple, {
27145
27650
  disabled: _ctx.disabled || _ctx.formDisabled || _ctx.readonly || _ctx.formReadonly || !_ctx.ripple || Boolean(_ctx.$slots.default)
27146
27651
  }],
@@ -27170,8 +27675,8 @@ function __render__$1(_ctx, _cache) {
27170
27675
  "var-uploader-cover": "",
27171
27676
  position: "center",
27172
27677
  show: _ctx.showPreview,
27173
- "onUpdate:show": _cache[3] || (_cache[3] = ($event) => _ctx.showPreview = $event),
27174
- onClosed: _cache[4] || (_cache[4] = ($event) => _ctx.currentPreview = null)
27678
+ "onUpdate:show": _cache[5] || (_cache[5] = ($event) => _ctx.showPreview = $event),
27679
+ onClosed: _cache[6] || (_cache[6] = ($event) => _ctx.currentPreview = null)
27175
27680
  }, {
27176
27681
  default: vue.withCtx(() => {
27177
27682
  var _a, _b;
@@ -27186,7 +27691,7 @@ function __render__$1(_ctx, _cache) {
27186
27691
  "x5-video-player-fullscreen": "false",
27187
27692
  controls: "",
27188
27693
  src: (_b = _ctx.currentPreview) == null ? void 0 : _b.url
27189
- }, null, 10, _hoisted_5)) : vue.createCommentVNode("v-if", true)
27694
+ }, null, 10, _hoisted_6)) : vue.createCommentVNode("v-if", true)
27190
27695
  ];
27191
27696
  }),
27192
27697
  _: 1
@@ -27199,15 +27704,17 @@ function __render__$1(_ctx, _cache) {
27199
27704
  }
27200
27705
  const __sfc__$1 = vue.defineComponent({
27201
27706
  name: name$1,
27202
- directives: { Ripple: stdin_default$5T, Hover: stdin_default$5v },
27707
+ directives: { Ripple: stdin_default$5U, Hover: stdin_default$5N },
27203
27708
  components: {
27204
- VarIcon: stdin_default$5P,
27205
- VarPopup: stdin_default$5R,
27709
+ VarIcon: stdin_default$5Q,
27710
+ VarPopup: stdin_default$5S,
27206
27711
  VarFormDetails: stdin_default$59,
27207
- VarHoverOverlay: stdin_default$5w
27712
+ VarHoverOverlay: stdin_default$5O
27208
27713
  },
27209
27714
  props: props$1,
27210
27715
  setup(props2) {
27716
+ const isFocusing = vue.ref(false);
27717
+ const actionRef = vue.ref(null);
27211
27718
  const input = vue.ref(null);
27212
27719
  const showPreview = vue.ref(false);
27213
27720
  const currentPreview = vue.ref(null);
@@ -27246,6 +27753,8 @@ const __sfc__$1 = vue.defineComponent({
27246
27753
  reset
27247
27754
  };
27248
27755
  call(bindForm, uploaderProvider);
27756
+ useEventListener(() => window, "keydown", handleKeydown);
27757
+ useEventListener(() => window, "keyup", handleKeyup);
27249
27758
  vue.watch(
27250
27759
  () => props2.modelValue,
27251
27760
  () => {
@@ -27254,6 +27763,24 @@ const __sfc__$1 = vue.defineComponent({
27254
27763
  },
27255
27764
  { deep: true }
27256
27765
  );
27766
+ function handleKeydown(event) {
27767
+ if (!isFocusing.value) {
27768
+ return;
27769
+ }
27770
+ if (event.key === " " || event.key === "Enter") {
27771
+ event.preventDefault();
27772
+ }
27773
+ if (event.key === "Enter") {
27774
+ actionRef.value.click();
27775
+ }
27776
+ }
27777
+ function handleKeyup(event) {
27778
+ if (!isFocusing.value || event.key !== " ") {
27779
+ return;
27780
+ }
27781
+ event.preventDefault();
27782
+ actionRef.value.click();
27783
+ }
27257
27784
  function preview(varFile) {
27258
27785
  const { disabled, previewed, preventDefaultPreview, onPreview } = props2;
27259
27786
  if ((form == null ? void 0 : form.disabled.value) || disabled || !previewed) {
@@ -27424,12 +27951,14 @@ const __sfc__$1 = vue.defineComponent({
27424
27951
  }
27425
27952
  return {
27426
27953
  input,
27954
+ actionRef,
27427
27955
  files,
27428
27956
  showPreview,
27429
27957
  currentPreview,
27430
27958
  errorMessage,
27431
27959
  maxlengthText,
27432
27960
  hovering,
27961
+ isFocusing,
27433
27962
  formDisabled: form == null ? void 0 : form.disabled,
27434
27963
  formReadonly: form == null ? void 0 : form.readonly,
27435
27964
  n: n$1,
@@ -27754,12 +28283,12 @@ withInstall(stdin_default$1);
27754
28283
  withPropsDefaultsSetter(stdin_default$1, props);
27755
28284
  const _WatermarkComponent = stdin_default$1;
27756
28285
  var stdin_default = stdin_default$1;
27757
- const version = "3.0.7";
28286
+ const version = "3.1.0-alpha.1709537939980";
27758
28287
  function install(app) {
27759
- stdin_default$5H.install && app.use(stdin_default$5H);
27760
- stdin_default$5F.install && app.use(stdin_default$5F);
28288
+ stdin_default$5E.install && app.use(stdin_default$5E);
27761
28289
  stdin_default$5C.install && app.use(stdin_default$5C);
27762
- stdin_default$5A.install && app.use(stdin_default$5A);
28290
+ stdin_default$5z.install && app.use(stdin_default$5z);
28291
+ stdin_default$5x.install && app.use(stdin_default$5x);
27763
28292
  stdin_default$5r.install && app.use(stdin_default$5r);
27764
28293
  stdin_default$5p.install && app.use(stdin_default$5p);
27765
28294
  stdin_default$5n.install && app.use(stdin_default$5n);
@@ -27777,7 +28306,7 @@ function install(app) {
27777
28306
  stdin_default$4$.install && app.use(stdin_default$4$);
27778
28307
  stdin_default$4Z.install && app.use(stdin_default$4Z);
27779
28308
  stdin_default$4X.install && app.use(stdin_default$4X);
27780
- stdin_default$5U.install && app.use(stdin_default$5U);
28309
+ stdin_default$5V.install && app.use(stdin_default$5V);
27781
28310
  stdin_default$4V.install && app.use(stdin_default$4V);
27782
28311
  stdin_default$4T.install && app.use(stdin_default$4T);
27783
28312
  stdin_default$4L.install && app.use(stdin_default$4L);
@@ -27790,20 +28319,20 @@ function install(app) {
27790
28319
  stdin_default$4v.install && app.use(stdin_default$4v);
27791
28320
  stdin_default$4t.install && app.use(stdin_default$4t);
27792
28321
  stdin_default$59.install && app.use(stdin_default$59);
27793
- stdin_default$5v.install && app.use(stdin_default$5v);
27794
- stdin_default$5w.install && app.use(stdin_default$5w);
27795
- stdin_default$5P.install && app.use(stdin_default$5P);
28322
+ stdin_default$5N.install && app.use(stdin_default$5N);
28323
+ stdin_default$5O.install && app.use(stdin_default$5O);
28324
+ stdin_default$5Q.install && app.use(stdin_default$5Q);
27796
28325
  stdin_default$4r.install && app.use(stdin_default$4r);
27797
28326
  stdin_default$4l.install && app.use(stdin_default$4l);
27798
28327
  stdin_default$4j.install && app.use(stdin_default$4j);
27799
28328
  stdin_default$4h.install && app.use(stdin_default$4h);
27800
28329
  stdin_default$4f.install && app.use(stdin_default$4f);
27801
- stdin_default$5E.install && app.use(stdin_default$5E);
28330
+ stdin_default$5B.install && app.use(stdin_default$5B);
27802
28331
  stdin_default$4d.install && app.use(stdin_default$4d);
27803
28332
  stdin_default$4b.install && app.use(stdin_default$4b);
27804
- stdin_default$5y.install && app.use(stdin_default$5y);
28333
+ stdin_default$5v.install && app.use(stdin_default$5v);
27805
28334
  stdin_default$49.install && app.use(stdin_default$49);
27806
- stdin_default$5J.install && app.use(stdin_default$5J);
28335
+ stdin_default$5G.install && app.use(stdin_default$5G);
27807
28336
  stdin_default$47.install && app.use(stdin_default$47);
27808
28337
  stdin_default$45.install && app.use(stdin_default$45);
27809
28338
  stdin_default$43.install && app.use(stdin_default$43);
@@ -27812,14 +28341,14 @@ function install(app) {
27812
28341
  stdin_default$3Z.install && app.use(stdin_default$3Z);
27813
28342
  stdin_default$3X.install && app.use(stdin_default$3X);
27814
28343
  stdin_default$3V.install && app.use(stdin_default$3V);
27815
- stdin_default$5R.install && app.use(stdin_default$5R);
28344
+ stdin_default$5S.install && app.use(stdin_default$5S);
27816
28345
  stdin_default$3T.install && app.use(stdin_default$3T);
27817
28346
  stdin_default$3R.install && app.use(stdin_default$3R);
27818
28347
  stdin_default$3P.install && app.use(stdin_default$3P);
27819
28348
  stdin_default$3N.install && app.use(stdin_default$3N);
27820
28349
  stdin_default$3L.install && app.use(stdin_default$3L);
27821
28350
  stdin_default$3D.install && app.use(stdin_default$3D);
27822
- stdin_default$5T.install && app.use(stdin_default$5T);
28351
+ stdin_default$5U.install && app.use(stdin_default$5U);
27823
28352
  stdin_default$3B.install && app.use(stdin_default$3B);
27824
28353
  stdin_default$3z.install && app.use(stdin_default$3z);
27825
28354
  stdin_default$3x.install && app.use(stdin_default$3x);
@@ -27847,10 +28376,10 @@ function install(app) {
27847
28376
  const index_bundle = {
27848
28377
  version,
27849
28378
  install,
27850
- ActionSheet: stdin_default$5H,
27851
- AppBar: stdin_default$5F,
27852
- Avatar: stdin_default$5C,
27853
- AvatarGroup: stdin_default$5A,
28379
+ ActionSheet: stdin_default$5E,
28380
+ AppBar: stdin_default$5C,
28381
+ Avatar: stdin_default$5z,
28382
+ AvatarGroup: stdin_default$5x,
27854
28383
  BackTop: stdin_default$5r,
27855
28384
  Badge: stdin_default$5p,
27856
28385
  BottomNavigation: stdin_default$5n,
@@ -27868,7 +28397,7 @@ const index_bundle = {
27868
28397
  Collapse: stdin_default$4$,
27869
28398
  CollapseItem: stdin_default$4Z,
27870
28399
  CollapseTransition: stdin_default$4X,
27871
- Context: stdin_default$5U,
28400
+ Context: stdin_default$5V,
27872
28401
  Countdown: stdin_default$4V,
27873
28402
  Counter: stdin_default$4T,
27874
28403
  DatePicker: stdin_default$4L,
@@ -27881,20 +28410,20 @@ const index_bundle = {
27881
28410
  FloatingPanel: stdin_default$4v,
27882
28411
  Form: stdin_default$4t,
27883
28412
  FormDetails: stdin_default$59,
27884
- Hover: stdin_default$5v,
27885
- HoverOverlay: stdin_default$5w,
27886
- Icon: stdin_default$5P,
28413
+ Hover: stdin_default$5N,
28414
+ HoverOverlay: stdin_default$5O,
28415
+ Icon: stdin_default$5Q,
27887
28416
  Image: stdin_default$4r,
27888
28417
  ImagePreview: stdin_default$4l,
27889
28418
  IndexAnchor: stdin_default$4j,
27890
28419
  IndexBar: stdin_default$4h,
27891
28420
  Input: stdin_default$4f,
27892
- Lazy: stdin_default$5E,
28421
+ Lazy: stdin_default$5B,
27893
28422
  Link: stdin_default$4d,
27894
28423
  List: stdin_default$4b,
27895
- Loading: stdin_default$5y,
28424
+ Loading: stdin_default$5v,
27896
28425
  LoadingBar: stdin_default$49,
27897
- Locale: stdin_default$5J,
28426
+ Locale: stdin_default$5G,
27898
28427
  Menu: stdin_default$47,
27899
28428
  MenuOption: stdin_default$45,
27900
28429
  MenuSelect: stdin_default$43,
@@ -27903,14 +28432,14 @@ const index_bundle = {
27903
28432
  Pagination: stdin_default$3Z,
27904
28433
  Paper: stdin_default$3X,
27905
28434
  Picker: stdin_default$3V,
27906
- Popup: stdin_default$5R,
28435
+ Popup: stdin_default$5S,
27907
28436
  Progress: stdin_default$3T,
27908
28437
  PullRefresh: stdin_default$3R,
27909
28438
  Radio: stdin_default$3P,
27910
28439
  RadioGroup: stdin_default$3N,
27911
28440
  Rate: stdin_default$3L,
27912
28441
  Result: stdin_default$3D,
27913
- Ripple: stdin_default$5T,
28442
+ Ripple: stdin_default$5U,
27914
28443
  Row: stdin_default$3B,
27915
28444
  Select: stdin_default$3z,
27916
28445
  Skeleton: stdin_default$3x,
@@ -27935,10 +28464,10 @@ const index_bundle = {
27935
28464
  Uploader: stdin_default$2,
27936
28465
  Watermark: stdin_default
27937
28466
  };
27938
- exports.ActionSheet = stdin_default$5H;
27939
- exports.AppBar = stdin_default$5F;
27940
- exports.Avatar = stdin_default$5C;
27941
- exports.AvatarGroup = stdin_default$5A;
28467
+ exports.ActionSheet = stdin_default$5E;
28468
+ exports.AppBar = stdin_default$5C;
28469
+ exports.Avatar = stdin_default$5z;
28470
+ exports.AvatarGroup = stdin_default$5x;
27942
28471
  exports.BackTop = stdin_default$5r;
27943
28472
  exports.Badge = stdin_default$5p;
27944
28473
  exports.BottomNavigation = stdin_default$5n;
@@ -27956,7 +28485,7 @@ exports.Col = stdin_default$51;
27956
28485
  exports.Collapse = stdin_default$4$;
27957
28486
  exports.CollapseItem = stdin_default$4Z;
27958
28487
  exports.CollapseTransition = stdin_default$4X;
27959
- exports.Context = stdin_default$5U;
28488
+ exports.Context = stdin_default$5V;
27960
28489
  exports.Countdown = stdin_default$4V;
27961
28490
  exports.Counter = stdin_default$4T;
27962
28491
  exports.DatePicker = stdin_default$4L;
@@ -27969,20 +28498,20 @@ exports.FieldDecorator = stdin_default$4x;
27969
28498
  exports.FloatingPanel = stdin_default$4v;
27970
28499
  exports.Form = stdin_default$4t;
27971
28500
  exports.FormDetails = stdin_default$59;
27972
- exports.Hover = stdin_default$5v;
27973
- exports.HoverOverlay = stdin_default$5w;
27974
- exports.Icon = stdin_default$5P;
28501
+ exports.Hover = stdin_default$5N;
28502
+ exports.HoverOverlay = stdin_default$5O;
28503
+ exports.Icon = stdin_default$5Q;
27975
28504
  exports.Image = stdin_default$4r;
27976
28505
  exports.ImagePreview = stdin_default$4l;
27977
28506
  exports.IndexAnchor = stdin_default$4j;
27978
28507
  exports.IndexBar = stdin_default$4h;
27979
28508
  exports.Input = stdin_default$4f;
27980
- exports.Lazy = stdin_default$5E;
28509
+ exports.Lazy = stdin_default$5B;
27981
28510
  exports.Link = stdin_default$4d;
27982
28511
  exports.List = stdin_default$4b;
27983
- exports.Loading = stdin_default$5y;
28512
+ exports.Loading = stdin_default$5v;
27984
28513
  exports.LoadingBar = stdin_default$49;
27985
- exports.Locale = stdin_default$5J;
28514
+ exports.Locale = stdin_default$5G;
27986
28515
  exports.Menu = stdin_default$47;
27987
28516
  exports.MenuOption = stdin_default$45;
27988
28517
  exports.MenuSelect = stdin_default$43;
@@ -27992,14 +28521,14 @@ exports.PIXEL = PIXEL;
27992
28521
  exports.Pagination = stdin_default$3Z;
27993
28522
  exports.Paper = stdin_default$3X;
27994
28523
  exports.Picker = stdin_default$3V;
27995
- exports.Popup = stdin_default$5R;
28524
+ exports.Popup = stdin_default$5S;
27996
28525
  exports.Progress = stdin_default$3T;
27997
28526
  exports.PullRefresh = stdin_default$3R;
27998
28527
  exports.Radio = stdin_default$3P;
27999
28528
  exports.RadioGroup = stdin_default$3N;
28000
28529
  exports.Rate = stdin_default$3L;
28001
28530
  exports.Result = stdin_default$3D;
28002
- exports.Ripple = stdin_default$5T;
28531
+ exports.Ripple = stdin_default$5U;
28003
28532
  exports.Row = stdin_default$3B;
28004
28533
  exports.SNACKBAR_TYPE = SNACKBAR_TYPE;
28005
28534
  exports.Select = stdin_default$3z;
@@ -28111,11 +28640,11 @@ exports._TimePickerComponent = _TimePickerComponent;
28111
28640
  exports._TooltipComponent = _TooltipComponent;
28112
28641
  exports._UploaderComponent = _UploaderComponent;
28113
28642
  exports._WatermarkComponent = _WatermarkComponent;
28114
- exports.actionSheetProps = props$1e;
28643
+ exports.actionSheetProps = props$1d;
28115
28644
  exports.add = add$2;
28116
- exports.appBarProps = props$1d;
28117
- exports.avatarGroupProps = props$1b;
28118
- exports.avatarProps = props$1c;
28645
+ exports.appBarProps = props$1c;
28646
+ exports.avatarGroupProps = props$1a;
28647
+ exports.avatarProps = props$1b;
28119
28648
  exports.backTopProps = props$17;
28120
28649
  exports.badgeProps = props$16;
28121
28650
  exports.bottomNavigationItemProps = props$14;
@@ -28143,12 +28672,12 @@ exports.dialogProps = props$O;
28143
28672
  exports.dividerProps = props$N;
28144
28673
  exports.dragProps = props$M;
28145
28674
  exports.ellipsisProps = props$K;
28146
- exports.enUS = stdin_default$5N;
28675
+ exports.enUS = stdin_default$5K;
28147
28676
  exports.fabProps = props$J;
28148
28677
  exports.fieldDecoratorProps = props$I;
28149
28678
  exports.formDetailsProps = props$_;
28150
28679
  exports.formProps = props$G;
28151
- exports.hoverOverlayProps = props$19;
28680
+ exports.hoverOverlayProps = props$1e;
28152
28681
  exports.iconProps = props$1f;
28153
28682
  exports.imageCache = imageCache;
28154
28683
  exports.imagePreviewProps = props$D;
@@ -28160,7 +28689,7 @@ exports.install = install;
28160
28689
  exports.linkProps = props$z;
28161
28690
  exports.listProps = props$y;
28162
28691
  exports.loadingBarProps = props$x;
28163
- exports.loadingProps = props$1a;
28692
+ exports.loadingProps = props$19;
28164
28693
  exports.menuOptionProps = props$u;
28165
28694
  exports.menuProps = props$v;
28166
28695
  exports.menuSelectProps = props$t;
@@ -28204,4 +28733,4 @@ exports.useHoverOverlay = useHoverOverlay;
28204
28733
  exports.useLocale = useLocale;
28205
28734
  exports.version = version;
28206
28735
  exports.watermarkProps = props;
28207
- exports.zhCN = stdin_default$5O;
28736
+ exports.zhCN = stdin_default$5L;