hzzt-plus 0.0.3 → 0.0.5

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 (61) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +419 -295
  3. package/dist/index.full.min.js +13 -13
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +13 -13
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +420 -297
  8. package/es/components/collapse/src/collapse2.mjs.map +1 -1
  9. package/es/components/confirm-password/index.d.ts +352 -283
  10. package/es/components/confirm-password/src/confirm-password.mjs.map +1 -1
  11. package/es/components/confirm-password/src/confirm-password.vue.d.ts +352 -283
  12. package/es/components/dropdown/src/index.mjs.map +1 -1
  13. package/es/components/icon/src/index.mjs.map +1 -1
  14. package/es/components/icon/src/index.vue.d.ts +75 -39
  15. package/es/components/page-size/index.d.ts +2201 -12995
  16. package/es/components/page-size/src/index.mjs.map +1 -1
  17. package/es/components/page-size/src/index.vue.d.ts +2201 -12995
  18. package/es/components/pagination/index.d.ts +75 -39
  19. package/es/components/pagination/src/index.mjs.map +1 -1
  20. package/es/components/pagination/src/index.vue.d.ts +75 -39
  21. package/es/components/tab/src/index.mjs.map +1 -1
  22. package/es/components/title/src/title.mjs.map +1 -1
  23. package/es/components/tooltip/index.d.ts +606 -2136
  24. package/es/components/tooltip/src/tooltip.vue.d.ts +606 -2136
  25. package/es/directives/drag/index.d.ts +3 -0
  26. package/es/directives/drag/index.mjs +74 -0
  27. package/es/directives/drag/index.mjs.map +1 -0
  28. package/es/directives/index.d.ts +1 -0
  29. package/es/directives/index.mjs +1 -0
  30. package/es/directives/index.mjs.map +1 -1
  31. package/es/index.mjs +1 -0
  32. package/es/index.mjs.map +1 -1
  33. package/lib/components/collapse/src/collapse2.js.map +1 -1
  34. package/lib/components/confirm-password/index.d.ts +352 -283
  35. package/lib/components/confirm-password/src/confirm-password.js.map +1 -1
  36. package/lib/components/confirm-password/src/confirm-password.vue.d.ts +352 -283
  37. package/lib/components/dropdown/src/index.js.map +1 -1
  38. package/lib/components/icon/src/index.js.map +1 -1
  39. package/lib/components/icon/src/index.vue.d.ts +75 -39
  40. package/lib/components/page-size/index.d.ts +2201 -12995
  41. package/lib/components/page-size/src/index.js.map +1 -1
  42. package/lib/components/page-size/src/index.vue.d.ts +2201 -12995
  43. package/lib/components/pagination/index.d.ts +75 -39
  44. package/lib/components/pagination/src/index.js.map +1 -1
  45. package/lib/components/pagination/src/index.vue.d.ts +75 -39
  46. package/lib/components/tab/src/index.js.map +1 -1
  47. package/lib/components/title/src/title.js.map +1 -1
  48. package/lib/components/tooltip/index.d.ts +606 -2136
  49. package/lib/components/tooltip/src/tooltip.vue.d.ts +606 -2136
  50. package/lib/directives/drag/index.d.ts +3 -0
  51. package/lib/directives/drag/index.js +78 -0
  52. package/lib/directives/drag/index.js.map +1 -0
  53. package/lib/directives/index.d.ts +1 -0
  54. package/lib/directives/index.js +2 -0
  55. package/lib/directives/index.js.map +1 -1
  56. package/lib/index.js +18 -16
  57. package/lib/index.js.map +1 -1
  58. package/package.json +1 -1
  59. package/theme/base.css +1 -1
  60. package/theme/index.css +1 -1
  61. package/theme/src/common/display.scss +1 -1
@@ -12893,19 +12893,19 @@
12893
12893
  return target;
12894
12894
  };
12895
12895
 
12896
- const _hoisted_1$b = {
12896
+ const _hoisted_1$6 = {
12897
12897
  key: 0,
12898
12898
  class: "hzzt-title flex align-items-center"
12899
12899
  };
12900
- const _hoisted_2$a = {
12900
+ const _hoisted_2$6 = {
12901
12901
  key: 0,
12902
12902
  class: "decorative-line"
12903
12903
  };
12904
- const _hoisted_3$8 = { class: "label-name" };
12904
+ const _hoisted_3$6 = { class: "label-name" };
12905
12905
  const __default__$l = vue.defineComponent({
12906
12906
  name: "HzztTitle"
12907
12907
  });
12908
- const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
12908
+ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
12909
12909
  ...__default__$l,
12910
12910
  props: {
12911
12911
  label: String,
@@ -12922,10 +12922,10 @@
12922
12922
  return props.label || ((_c = (_b = (_a = slots == null ? void 0 : slots.default) == null ? void 0 : _a.call(slots)) == null ? void 0 : _b[0]) == null ? void 0 : _c.children);
12923
12923
  });
12924
12924
  return (_ctx, _cache) => {
12925
- return vue.unref(showLabel) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
12926
- __props.sideline ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$a)) : vue.createCommentVNode("v-if", true),
12925
+ return vue.unref(showLabel) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
12926
+ __props.sideline ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$6)) : vue.createCommentVNode("v-if", true),
12927
12927
  vue.renderSlot(_ctx.$slots, "before"),
12928
- vue.createElementVNode("label", _hoisted_3$8, [
12928
+ vue.createElementVNode("label", _hoisted_3$6, [
12929
12929
  vue.renderSlot(_ctx.$slots, "default", {}, () => [
12930
12930
  vue.createTextVNode(vue.toDisplayString(__props.label), 1)
12931
12931
  ])
@@ -12934,7 +12934,7 @@
12934
12934
  };
12935
12935
  }
12936
12936
  });
12937
- var Title = /* @__PURE__ */ _export_sfc$1(_sfc_main$t, [["__file", "title.vue"]]);
12937
+ var Title = /* @__PURE__ */ _export_sfc$1(_sfc_main$u, [["__file", "title.vue"]]);
12938
12938
 
12939
12939
  const HzztTitle = withInstall$1(Title);
12940
12940
 
@@ -13144,7 +13144,8 @@
13144
13144
  confirm: "OK",
13145
13145
  clear: "Clear",
13146
13146
  defaultLabel: "color picker",
13147
- description: "current color is {color}. press enter to select a new color."
13147
+ description: "current color is {color}. press enter to select a new color.",
13148
+ alphaLabel: "pick alpha value"
13148
13149
  },
13149
13150
  datepicker: {
13150
13151
  now: "Now",
@@ -13223,6 +13224,9 @@
13223
13224
  noData: "No data",
13224
13225
  placeholder: "Select"
13225
13226
  },
13227
+ mention: {
13228
+ loading: "Loading"
13229
+ },
13226
13230
  dropdown: {
13227
13231
  toggleDropdown: "Toggle Dropdown"
13228
13232
  },
@@ -13702,7 +13706,7 @@
13702
13706
  vue.onBeforeMount(() => {
13703
13707
  if (!isClient)
13704
13708
  return;
13705
- if (!cachedContainer && !document.body.querySelector(selector.value)) {
13709
+ if (!cachedContainer || !document.body.querySelector(selector.value)) {
13706
13710
  cachedContainer = createContainer(id.value);
13707
13711
  }
13708
13712
  });
@@ -13813,7 +13817,7 @@
13813
13817
  };
13814
13818
 
13815
13819
  function useCursor(input) {
13816
- const selectionRef = vue.ref();
13820
+ let selectionInfo;
13817
13821
  function recordCursor() {
13818
13822
  if (input.value == void 0)
13819
13823
  return;
@@ -13822,7 +13826,7 @@
13822
13826
  return;
13823
13827
  const beforeTxt = value.slice(0, Math.max(0, selectionStart));
13824
13828
  const afterTxt = value.slice(Math.max(0, selectionEnd));
13825
- selectionRef.value = {
13829
+ selectionInfo = {
13826
13830
  selectionStart,
13827
13831
  selectionEnd,
13828
13832
  value,
@@ -13831,10 +13835,10 @@
13831
13835
  };
13832
13836
  }
13833
13837
  function setCursor() {
13834
- if (input.value == void 0 || selectionRef.value == void 0)
13838
+ if (input.value == void 0 || selectionInfo == void 0)
13835
13839
  return;
13836
13840
  const { value } = input.value;
13837
- const { beforeTxt, afterTxt, selectionStart } = selectionRef.value;
13841
+ const { beforeTxt, afterTxt, selectionStart } = selectionInfo;
13838
13842
  if (beforeTxt == void 0 || afterTxt == void 0 || selectionStart == void 0)
13839
13843
  return;
13840
13844
  let startPos = value.length;
@@ -13867,13 +13871,19 @@
13867
13871
  });
13868
13872
  };
13869
13873
 
13870
- function useFocusController(target, { afterFocus, beforeBlur, afterBlur } = {}) {
13874
+ function useFocusController(target, {
13875
+ beforeFocus,
13876
+ afterFocus,
13877
+ beforeBlur,
13878
+ afterBlur
13879
+ } = {}) {
13871
13880
  const instance = vue.getCurrentInstance();
13872
13881
  const { emit } = instance;
13873
13882
  const wrapperRef = vue.shallowRef();
13874
13883
  const isFocused = vue.ref(false);
13875
13884
  const handleFocus = (event) => {
13876
- if (isFocused.value)
13885
+ const cancelFocus = isFunction$1(beforeFocus) ? beforeFocus(event) : false;
13886
+ if (cancelFocus || isFocused.value)
13877
13887
  return;
13878
13888
  isFocused.value = true;
13879
13889
  emit("focus", event);
@@ -13889,23 +13899,62 @@
13889
13899
  afterBlur == null ? void 0 : afterBlur();
13890
13900
  };
13891
13901
  const handleClick = () => {
13892
- var _a;
13893
- (_a = target.value) == null ? void 0 : _a.focus();
13902
+ var _a, _b;
13903
+ if (((_a = wrapperRef.value) == null ? void 0 : _a.contains(document.activeElement)) && wrapperRef.value !== document.activeElement)
13904
+ return;
13905
+ (_b = target.value) == null ? void 0 : _b.focus();
13894
13906
  };
13895
13907
  vue.watch(wrapperRef, (el) => {
13896
13908
  if (el) {
13897
13909
  el.setAttribute("tabindex", "-1");
13898
13910
  }
13899
13911
  });
13900
- useEventListener(wrapperRef, "click", handleClick);
13912
+ useEventListener(wrapperRef, "focus", handleFocus, true);
13913
+ useEventListener(wrapperRef, "blur", handleBlur, true);
13914
+ useEventListener(wrapperRef, "click", handleClick, true);
13901
13915
  return {
13902
- wrapperRef,
13903
13916
  isFocused,
13917
+ wrapperRef,
13904
13918
  handleFocus,
13905
13919
  handleBlur
13906
13920
  };
13907
13921
  }
13908
13922
 
13923
+ function useComposition({
13924
+ afterComposition,
13925
+ emit
13926
+ }) {
13927
+ const isComposing = vue.ref(false);
13928
+ const handleCompositionStart = (event) => {
13929
+ emit == null ? void 0 : emit("compositionstart", event);
13930
+ isComposing.value = true;
13931
+ };
13932
+ const handleCompositionUpdate = (event) => {
13933
+ var _a;
13934
+ emit == null ? void 0 : emit("compositionupdate", event);
13935
+ const text = (_a = event.target) == null ? void 0 : _a.value;
13936
+ const lastCharacter = text[text.length - 1] || "";
13937
+ isComposing.value = !isKorean(lastCharacter);
13938
+ };
13939
+ const handleCompositionEnd = (event) => {
13940
+ emit == null ? void 0 : emit("compositionend", event);
13941
+ if (isComposing.value) {
13942
+ isComposing.value = false;
13943
+ vue.nextTick(() => afterComposition(event));
13944
+ }
13945
+ };
13946
+ const handleComposition = (event) => {
13947
+ event.type === "compositionend" ? handleCompositionEnd(event) : handleCompositionUpdate(event);
13948
+ };
13949
+ return {
13950
+ isComposing,
13951
+ handleComposition,
13952
+ handleCompositionStart,
13953
+ handleCompositionUpdate,
13954
+ handleCompositionEnd
13955
+ };
13956
+ }
13957
+
13909
13958
  const emptyValuesContextKey = Symbol("emptyValuesContextKey");
13910
13959
  const DEFAULT_EMPTY_VALUES = ["", void 0, null];
13911
13960
  const DEFAULT_VALUE_ON_CLEAR = void 0;
@@ -13991,7 +14040,7 @@
13991
14040
  name: "ElIcon",
13992
14041
  inheritAttrs: false
13993
14042
  });
13994
- const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
14043
+ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
13995
14044
  ...__default__$k,
13996
14045
  props: iconProps,
13997
14046
  setup(__props) {
@@ -14016,7 +14065,7 @@
14016
14065
  };
14017
14066
  }
14018
14067
  });
14019
- var Icon = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__file", "icon.vue"]]);
14068
+ var Icon = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__file", "icon.vue"]]);
14020
14069
 
14021
14070
  const ElIcon = withInstall(Icon);
14022
14071
 
@@ -14225,10 +14274,6 @@
14225
14274
  type: String,
14226
14275
  default: void 0
14227
14276
  },
14228
- label: {
14229
- type: String,
14230
- default: void 0
14231
- },
14232
14277
  tabindex: {
14233
14278
  type: [String, Number],
14234
14279
  default: 0
@@ -14263,14 +14308,11 @@
14263
14308
  compositionend: (evt) => evt instanceof CompositionEvent
14264
14309
  };
14265
14310
 
14266
- const _hoisted_1$a = ["role"];
14267
- const _hoisted_2$9 = ["id", "minlength", "maxlength", "type", "disabled", "readonly", "autocomplete", "tabindex", "aria-label", "placeholder", "form", "autofocus"];
14268
- const _hoisted_3$7 = ["id", "minlength", "maxlength", "tabindex", "disabled", "readonly", "autocomplete", "aria-label", "placeholder", "form", "autofocus", "rows"];
14269
14311
  const __default__$j = vue.defineComponent({
14270
14312
  name: "ElInput",
14271
14313
  inheritAttrs: false
14272
14314
  });
14273
- const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
14315
+ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
14274
14316
  ...__default__$j,
14275
14317
  props: inputProps,
14276
14318
  emits: inputEmits,
@@ -14321,12 +14363,14 @@
14321
14363
  const input = vue.shallowRef();
14322
14364
  const textarea = vue.shallowRef();
14323
14365
  const hovering = vue.ref(false);
14324
- const isComposing = vue.ref(false);
14325
14366
  const passwordVisible = vue.ref(false);
14326
14367
  const countStyle = vue.ref();
14327
14368
  const textareaCalcStyle = vue.shallowRef(props.inputStyle);
14328
14369
  const _ref = vue.computed(() => input.value || textarea.value);
14329
14370
  const { wrapperRef, isFocused, handleFocus, handleBlur } = useFocusController(_ref, {
14371
+ beforeFocus() {
14372
+ return inputDisabled.value;
14373
+ },
14330
14374
  afterBlur() {
14331
14375
  var _a;
14332
14376
  if (props.validateEvent) {
@@ -14431,24 +14475,12 @@
14431
14475
  const handleChange = (event) => {
14432
14476
  emit("change", event.target.value);
14433
14477
  };
14434
- const handleCompositionStart = (event) => {
14435
- emit("compositionstart", event);
14436
- isComposing.value = true;
14437
- };
14438
- const handleCompositionUpdate = (event) => {
14439
- var _a;
14440
- emit("compositionupdate", event);
14441
- const text = (_a = event.target) == null ? void 0 : _a.value;
14442
- const lastCharacter = text[text.length - 1] || "";
14443
- isComposing.value = !isKorean(lastCharacter);
14444
- };
14445
- const handleCompositionEnd = (event) => {
14446
- emit("compositionend", event);
14447
- if (isComposing.value) {
14448
- isComposing.value = false;
14449
- handleInput(event);
14450
- }
14451
- };
14478
+ const {
14479
+ isComposing,
14480
+ handleCompositionStart,
14481
+ handleCompositionUpdate,
14482
+ handleCompositionEnd
14483
+ } = useComposition({ emit, afterComposition: handleInput });
14452
14484
  const handlePasswordVisible = () => {
14453
14485
  passwordVisible.value = !passwordVisible.value;
14454
14486
  focus();
@@ -14501,19 +14533,13 @@
14501
14533
  setNativeInputValue();
14502
14534
  vue.nextTick(resizeTextarea);
14503
14535
  });
14504
- useDeprecated({
14505
- from: "label",
14506
- replacement: "aria-label",
14507
- version: "2.8.0",
14508
- scope: "el-input",
14509
- ref: "https://element-plus.org/en-US/component/input.html"
14510
- }, vue.computed(() => !!props.label));
14511
14536
  expose({
14512
14537
  input,
14513
14538
  textarea,
14514
14539
  ref: _ref,
14515
14540
  textareaStyle,
14516
14541
  autosize: vue.toRef(props, "autosize"),
14542
+ isComposing,
14517
14543
  focus,
14518
14544
  blur,
14519
14545
  select,
@@ -14581,20 +14607,18 @@
14581
14607
  readonly: _ctx.readonly,
14582
14608
  autocomplete: _ctx.autocomplete,
14583
14609
  tabindex: _ctx.tabindex,
14584
- "aria-label": _ctx.label || _ctx.ariaLabel,
14610
+ "aria-label": _ctx.ariaLabel,
14585
14611
  placeholder: _ctx.placeholder,
14586
14612
  style: _ctx.inputStyle,
14587
14613
  form: _ctx.form,
14588
14614
  autofocus: _ctx.autofocus,
14589
- onCompositionstart: handleCompositionStart,
14590
- onCompositionupdate: handleCompositionUpdate,
14591
- onCompositionend: handleCompositionEnd,
14615
+ onCompositionstart: vue.unref(handleCompositionStart),
14616
+ onCompositionupdate: vue.unref(handleCompositionUpdate),
14617
+ onCompositionend: vue.unref(handleCompositionEnd),
14592
14618
  onInput: handleInput,
14593
- onFocus: _cache[0] || (_cache[0] = (...args) => vue.unref(handleFocus) && vue.unref(handleFocus)(...args)),
14594
- onBlur: _cache[1] || (_cache[1] = (...args) => vue.unref(handleBlur) && vue.unref(handleBlur)(...args)),
14595
14619
  onChange: handleChange,
14596
14620
  onKeydown: handleKeydown
14597
- }), null, 16, _hoisted_2$9),
14621
+ }), null, 16, ["id", "minlength", "maxlength", "type", "disabled", "readonly", "autocomplete", "tabindex", "aria-label", "placeholder", "form", "autofocus", "onCompositionstart", "onCompositionupdate", "onCompositionend"]),
14598
14622
  vue.createCommentVNode(" suffix slot "),
14599
14623
  vue.unref(suffixVisible) ? (vue.openBlock(), vue.createElementBlock("span", {
14600
14624
  key: 1,
@@ -14682,31 +14706,31 @@
14682
14706
  readonly: _ctx.readonly,
14683
14707
  autocomplete: _ctx.autocomplete,
14684
14708
  style: vue.unref(textareaStyle),
14685
- "aria-label": _ctx.label || _ctx.ariaLabel,
14709
+ "aria-label": _ctx.ariaLabel,
14686
14710
  placeholder: _ctx.placeholder,
14687
14711
  form: _ctx.form,
14688
14712
  autofocus: _ctx.autofocus,
14689
14713
  rows: _ctx.rows,
14690
- onCompositionstart: handleCompositionStart,
14691
- onCompositionupdate: handleCompositionUpdate,
14692
- onCompositionend: handleCompositionEnd,
14714
+ onCompositionstart: vue.unref(handleCompositionStart),
14715
+ onCompositionupdate: vue.unref(handleCompositionUpdate),
14716
+ onCompositionend: vue.unref(handleCompositionEnd),
14693
14717
  onInput: handleInput,
14694
- onFocus: _cache[2] || (_cache[2] = (...args) => vue.unref(handleFocus) && vue.unref(handleFocus)(...args)),
14695
- onBlur: _cache[3] || (_cache[3] = (...args) => vue.unref(handleBlur) && vue.unref(handleBlur)(...args)),
14718
+ onFocus: vue.unref(handleFocus),
14719
+ onBlur: vue.unref(handleBlur),
14696
14720
  onChange: handleChange,
14697
14721
  onKeydown: handleKeydown
14698
- }), null, 16, _hoisted_3$7),
14722
+ }), null, 16, ["id", "minlength", "maxlength", "tabindex", "disabled", "readonly", "autocomplete", "aria-label", "placeholder", "form", "autofocus", "rows", "onCompositionstart", "onCompositionupdate", "onCompositionend", "onFocus", "onBlur"]),
14699
14723
  vue.unref(isWordLimitVisible) ? (vue.openBlock(), vue.createElementBlock("span", {
14700
14724
  key: 0,
14701
14725
  style: vue.normalizeStyle(countStyle.value),
14702
14726
  class: vue.normalizeClass(vue.unref(nsInput).e("count"))
14703
14727
  }, vue.toDisplayString(vue.unref(textLength)) + " / " + vue.toDisplayString(_ctx.maxlength), 7)) : vue.createCommentVNode("v-if", true)
14704
14728
  ], 64))
14705
- ], 16, _hoisted_1$a);
14729
+ ], 16, ["role"]);
14706
14730
  };
14707
14731
  }
14708
14732
  });
14709
- var Input = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__file", "input.vue"]]);
14733
+ var Input = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__file", "input.vue"]]);
14710
14734
 
14711
14735
  const ElInput = withInstall(Input);
14712
14736
 
@@ -14756,7 +14780,7 @@
14756
14780
  });
14757
14781
 
14758
14782
  const COMPONENT_NAME$2 = "Thumb";
14759
- const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
14783
+ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
14760
14784
  __name: "thumb",
14761
14785
  props: thumbProps,
14762
14786
  setup(__props) {
@@ -14875,7 +14899,7 @@
14875
14899
  };
14876
14900
  }
14877
14901
  });
14878
- var Thumb = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__file", "thumb.vue"]]);
14902
+ var Thumb = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__file", "thumb.vue"]]);
14879
14903
 
14880
14904
  const barProps = buildProps({
14881
14905
  always: {
@@ -14888,7 +14912,7 @@
14888
14912
  }
14889
14913
  });
14890
14914
 
14891
- const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
14915
+ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
14892
14916
  __name: "bar",
14893
14917
  props: barProps,
14894
14918
  setup(__props, { expose }) {
@@ -14946,7 +14970,7 @@
14946
14970
  };
14947
14971
  }
14948
14972
  });
14949
- var Bar = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__file", "bar.vue"]]);
14973
+ var Bar = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__file", "bar.vue"]]);
14950
14974
 
14951
14975
  const scrollbarProps = buildProps({
14952
14976
  height: {
@@ -15002,7 +15026,7 @@
15002
15026
  const __default__$i = vue.defineComponent({
15003
15027
  name: COMPONENT_NAME$1
15004
15028
  });
15005
- const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
15029
+ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
15006
15030
  ...__default__$i,
15007
15031
  props: scrollbarProps,
15008
15032
  emits: scrollbarEmits,
@@ -15011,6 +15035,8 @@
15011
15035
  const ns = useNamespace("scrollbar");
15012
15036
  let stopResizeObserver = void 0;
15013
15037
  let stopResizeListener = void 0;
15038
+ let wrapScrollTop = 0;
15039
+ let wrapScrollLeft = 0;
15014
15040
  const scrollbarRef = vue.ref();
15015
15041
  const wrapRef = vue.ref();
15016
15042
  const resizeRef = vue.ref();
@@ -15037,6 +15063,8 @@
15037
15063
  var _a;
15038
15064
  if (wrapRef.value) {
15039
15065
  (_a = barRef.value) == null ? void 0 : _a.handleScroll(wrapRef.value);
15066
+ wrapScrollTop = wrapRef.value.scrollTop;
15067
+ wrapScrollLeft = wrapRef.value.scrollLeft;
15040
15068
  emit("scroll", {
15041
15069
  scrollTop: wrapRef.value.scrollTop,
15042
15070
  scrollLeft: wrapRef.value.scrollLeft
@@ -15089,6 +15117,10 @@
15089
15117
  scrollbarElement: scrollbarRef,
15090
15118
  wrapElement: wrapRef
15091
15119
  }));
15120
+ vue.onActivated(() => {
15121
+ wrapRef.value.scrollTop = wrapScrollTop;
15122
+ wrapRef.value.scrollLeft = wrapScrollLeft;
15123
+ });
15092
15124
  vue.onMounted(() => {
15093
15125
  if (!props.native)
15094
15126
  vue.nextTick(() => {
@@ -15144,7 +15176,7 @@
15144
15176
  };
15145
15177
  }
15146
15178
  });
15147
- var Scrollbar = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__file", "scrollbar.vue"]]);
15179
+ var Scrollbar = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__file", "scrollbar.vue"]]);
15148
15180
 
15149
15181
  const ElScrollbar = withInstall(Scrollbar);
15150
15182
 
@@ -15173,7 +15205,7 @@
15173
15205
  name: "ElPopper",
15174
15206
  inheritAttrs: false
15175
15207
  });
15176
- const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
15208
+ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
15177
15209
  ...__default__$h,
15178
15210
  props: popperProps,
15179
15211
  setup(__props, { expose }) {
@@ -15197,7 +15229,7 @@
15197
15229
  };
15198
15230
  }
15199
15231
  });
15200
- var Popper = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__file", "popper.vue"]]);
15232
+ var Popper = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__file", "popper.vue"]]);
15201
15233
 
15202
15234
  const popperArrowProps = buildProps({
15203
15235
  arrowOffset: {
@@ -15210,7 +15242,7 @@
15210
15242
  name: "ElPopperArrow",
15211
15243
  inheritAttrs: false
15212
15244
  });
15213
- const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
15245
+ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
15214
15246
  ...__default__$g,
15215
15247
  props: popperArrowProps,
15216
15248
  setup(__props, { expose }) {
@@ -15237,7 +15269,7 @@
15237
15269
  };
15238
15270
  }
15239
15271
  });
15240
- var ElPopperArrow = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__file", "arrow.vue"]]);
15272
+ var ElPopperArrow = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__file", "arrow.vue"]]);
15241
15273
 
15242
15274
  const NAME = "ElOnlyChild";
15243
15275
  const OnlyChild = vue.defineComponent({
@@ -15328,7 +15360,7 @@
15328
15360
  name: "ElPopperTrigger",
15329
15361
  inheritAttrs: false
15330
15362
  });
15331
- const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
15363
+ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
15332
15364
  ...__default__$f,
15333
15365
  props: popperTriggerProps,
15334
15366
  setup(__props, { expose }) {
@@ -15354,6 +15386,15 @@
15354
15386
  return ariaHaspopup.value ? `${props.open}` : void 0;
15355
15387
  });
15356
15388
  let virtualTriggerAriaStopWatch = void 0;
15389
+ const TRIGGER_ELE_EVENTS = [
15390
+ "onMouseenter",
15391
+ "onMouseleave",
15392
+ "onClick",
15393
+ "onKeydown",
15394
+ "onFocus",
15395
+ "onBlur",
15396
+ "onContextmenu"
15397
+ ];
15357
15398
  vue.onMounted(() => {
15358
15399
  vue.watch(() => props.virtualRef, (virtualEl) => {
15359
15400
  if (virtualEl) {
@@ -15366,15 +15407,7 @@
15366
15407
  virtualTriggerAriaStopWatch == null ? void 0 : virtualTriggerAriaStopWatch();
15367
15408
  virtualTriggerAriaStopWatch = void 0;
15368
15409
  if (isElement(el)) {
15369
- [
15370
- "onMouseenter",
15371
- "onMouseleave",
15372
- "onClick",
15373
- "onKeydown",
15374
- "onFocus",
15375
- "onBlur",
15376
- "onContextmenu"
15377
- ].forEach((eventName) => {
15410
+ TRIGGER_ELE_EVENTS.forEach((eventName) => {
15378
15411
  var _a;
15379
15412
  const handler = props[eventName];
15380
15413
  if (handler) {
@@ -15408,6 +15441,16 @@
15408
15441
  vue.onBeforeUnmount(() => {
15409
15442
  virtualTriggerAriaStopWatch == null ? void 0 : virtualTriggerAriaStopWatch();
15410
15443
  virtualTriggerAriaStopWatch = void 0;
15444
+ if (triggerRef.value && isElement(triggerRef.value)) {
15445
+ const el = triggerRef.value;
15446
+ TRIGGER_ELE_EVENTS.forEach((eventName) => {
15447
+ const handler = props[eventName];
15448
+ if (handler) {
15449
+ el.removeEventListener(eventName.slice(2).toLowerCase(), handler);
15450
+ }
15451
+ });
15452
+ triggerRef.value = void 0;
15453
+ }
15411
15454
  });
15412
15455
  expose({
15413
15456
  triggerRef
@@ -15427,7 +15470,7 @@
15427
15470
  };
15428
15471
  }
15429
15472
  });
15430
- var ElPopperTrigger = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__file", "trigger.vue"]]);
15473
+ var ElPopperTrigger = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__file", "trigger.vue"]]);
15431
15474
 
15432
15475
  const FOCUS_AFTER_TRAPPED = "focus-trap.focus-after-trapped";
15433
15476
  const FOCUS_AFTER_RELEASED = "focus-trap.focus-after-released";
@@ -15577,7 +15620,7 @@
15577
15620
  });
15578
15621
  };
15579
15622
 
15580
- const _sfc_main$k = vue.defineComponent({
15623
+ const _sfc_main$l = vue.defineComponent({
15581
15624
  name: "ElFocusTrap",
15582
15625
  inheritAttrs: false,
15583
15626
  props: {
@@ -15807,6 +15850,12 @@
15807
15850
  if (props.trapped) {
15808
15851
  stopTrap();
15809
15852
  }
15853
+ if (forwardRef.value) {
15854
+ forwardRef.value.removeEventListener("keydown", onKeydown);
15855
+ forwardRef.value.removeEventListener("focusin", onFocusIn);
15856
+ forwardRef.value.removeEventListener("focusout", onFocusOut);
15857
+ forwardRef.value = void 0;
15858
+ }
15810
15859
  });
15811
15860
  return {
15812
15861
  onKeydown
@@ -15816,7 +15865,7 @@
15816
15865
  function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
15817
15866
  return vue.renderSlot(_ctx.$slots, "default", { handleKeydown: _ctx.onKeydown });
15818
15867
  }
15819
- var ElFocusTrap = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["render", _sfc_render$4], ["__file", "focus-trap.vue"]]);
15868
+ var ElFocusTrap = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$4], ["__file", "focus-trap.vue"]]);
15820
15869
 
15821
15870
  const POSITIONING_STRATEGIES = ["fixed", "absolute"];
15822
15871
  const popperCoreConfigProps = buildProps({
@@ -16107,7 +16156,7 @@
16107
16156
  const __default__$e = vue.defineComponent({
16108
16157
  name: "ElPopperContent"
16109
16158
  });
16110
- const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
16159
+ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
16111
16160
  ...__default__$e,
16112
16161
  props: popperContentProps,
16113
16162
  emits: popperContentEmits,
@@ -16201,8 +16250,8 @@
16201
16250
  style: vue.unref(contentStyle),
16202
16251
  class: vue.unref(contentClass),
16203
16252
  tabindex: "-1",
16204
- onMouseenter: _cache[0] || (_cache[0] = (e) => _ctx.$emit("mouseenter", e)),
16205
- onMouseleave: _cache[1] || (_cache[1] = (e) => _ctx.$emit("mouseleave", e))
16253
+ onMouseenter: (e) => _ctx.$emit("mouseenter", e),
16254
+ onMouseleave: (e) => _ctx.$emit("mouseleave", e)
16206
16255
  }), [
16207
16256
  vue.createVNode(vue.unref(ElFocusTrap), {
16208
16257
  trapped: vue.unref(trapped),
@@ -16220,11 +16269,11 @@
16220
16269
  ]),
16221
16270
  _: 3
16222
16271
  }, 8, ["trapped", "focus-trap-el", "focus-start-el", "onFocusAfterTrapped", "onFocusAfterReleased", "onFocusin", "onFocusoutPrevented", "onReleaseRequested"])
16223
- ], 16);
16272
+ ], 16, ["onMouseenter", "onMouseleave"]);
16224
16273
  };
16225
16274
  }
16226
16275
  });
16227
- var ElPopperContent = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__file", "content.vue"]]);
16276
+ var ElPopperContent = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__file", "content.vue"]]);
16228
16277
 
16229
16278
  const ElPopper = withInstall(Popper);
16230
16279
 
@@ -16309,7 +16358,7 @@
16309
16358
  const __default__$d = vue.defineComponent({
16310
16359
  name: "ElTooltipTrigger"
16311
16360
  });
16312
- const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
16361
+ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
16313
16362
  ...__default__$d,
16314
16363
  props: useTooltipTriggerProps,
16315
16364
  setup(__props, { expose }) {
@@ -16369,7 +16418,33 @@
16369
16418
  };
16370
16419
  }
16371
16420
  });
16372
- var ElTooltipTrigger = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__file", "trigger.vue"]]);
16421
+ var ElTooltipTrigger = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__file", "trigger.vue"]]);
16422
+
16423
+ const teleportProps = buildProps({
16424
+ to: {
16425
+ type: definePropType([String, Object]),
16426
+ required: true
16427
+ },
16428
+ disabled: Boolean
16429
+ });
16430
+
16431
+ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
16432
+ __name: "teleport",
16433
+ props: teleportProps,
16434
+ setup(__props) {
16435
+ return (_ctx, _cache) => {
16436
+ return _ctx.disabled ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : (vue.openBlock(), vue.createBlock(vue.Teleport, {
16437
+ key: 1,
16438
+ to: _ctx.to
16439
+ }, [
16440
+ vue.renderSlot(_ctx.$slots, "default")
16441
+ ], 8, ["to"]));
16442
+ };
16443
+ }
16444
+ });
16445
+ var Teleport = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__file", "teleport.vue"]]);
16446
+
16447
+ const ElTeleport = withInstall(Teleport);
16373
16448
 
16374
16449
  const __default__$c = vue.defineComponent({
16375
16450
  name: "ElTooltipContent",
@@ -16383,7 +16458,7 @@
16383
16458
  const { selector } = usePopperContainerId();
16384
16459
  const ns = useNamespace("tooltip");
16385
16460
  const contentRef = vue.ref(null);
16386
- const destroyed = vue.ref(false);
16461
+ let stopHandle;
16387
16462
  const {
16388
16463
  controlled,
16389
16464
  id,
@@ -16403,7 +16478,7 @@
16403
16478
  return props.persistent;
16404
16479
  });
16405
16480
  vue.onBeforeUnmount(() => {
16406
- destroyed.value = true;
16481
+ stopHandle == null ? void 0 : stopHandle();
16407
16482
  });
16408
16483
  const shouldRender = vue.computed(() => {
16409
16484
  return vue.unref(persistentRef) ? true : vue.unref(open);
@@ -16463,7 +16538,6 @@
16463
16538
  onClose();
16464
16539
  }
16465
16540
  };
16466
- let stopHandle;
16467
16541
  vue.watch(() => vue.unref(open), (val) => {
16468
16542
  if (!val) {
16469
16543
  stopHandle == null ? void 0 : stopHandle();
@@ -16479,65 +16553,66 @@
16479
16553
  contentRef
16480
16554
  });
16481
16555
  return (_ctx, _cache) => {
16482
- return vue.openBlock(), vue.createBlock(vue.Teleport, {
16556
+ return vue.openBlock(), vue.createBlock(vue.unref(ElTeleport), {
16483
16557
  disabled: !_ctx.teleported,
16484
16558
  to: vue.unref(appendTo)
16485
- }, [
16486
- vue.createVNode(vue.Transition, {
16487
- name: vue.unref(transitionClass),
16488
- onAfterLeave: onTransitionLeave,
16489
- onBeforeEnter,
16490
- onAfterEnter: onAfterShow,
16491
- onBeforeLeave
16492
- }, {
16493
- default: vue.withCtx(() => [
16494
- vue.unref(shouldRender) ? vue.withDirectives((vue.openBlock(), vue.createBlock(vue.unref(ElPopperContent), vue.mergeProps({
16495
- key: 0,
16496
- id: vue.unref(id),
16497
- ref_key: "contentRef",
16498
- ref: contentRef
16499
- }, _ctx.$attrs, {
16500
- "aria-label": _ctx.ariaLabel,
16501
- "aria-hidden": vue.unref(ariaHidden),
16502
- "boundaries-padding": _ctx.boundariesPadding,
16503
- "fallback-placements": _ctx.fallbackPlacements,
16504
- "gpu-acceleration": _ctx.gpuAcceleration,
16505
- offset: _ctx.offset,
16506
- placement: _ctx.placement,
16507
- "popper-options": _ctx.popperOptions,
16508
- strategy: _ctx.strategy,
16509
- effect: _ctx.effect,
16510
- enterable: _ctx.enterable,
16511
- pure: _ctx.pure,
16512
- "popper-class": _ctx.popperClass,
16513
- "popper-style": [_ctx.popperStyle, vue.unref(contentStyle)],
16514
- "reference-el": _ctx.referenceEl,
16515
- "trigger-target-el": _ctx.triggerTargetEl,
16516
- visible: vue.unref(shouldShow),
16517
- "z-index": _ctx.zIndex,
16518
- onMouseenter: vue.unref(onContentEnter),
16519
- onMouseleave: vue.unref(onContentLeave),
16520
- onBlur,
16521
- onClose: vue.unref(onClose)
16522
- }), {
16523
- default: vue.withCtx(() => [
16524
- !destroyed.value ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : vue.createCommentVNode("v-if", true)
16525
- ]),
16526
- _: 3
16527
- }, 16, ["id", "aria-label", "aria-hidden", "boundaries-padding", "fallback-placements", "gpu-acceleration", "offset", "placement", "popper-options", "strategy", "effect", "enterable", "pure", "popper-class", "popper-style", "reference-el", "trigger-target-el", "visible", "z-index", "onMouseenter", "onMouseleave", "onClose"])), [
16528
- [vue.vShow, vue.unref(shouldShow)]
16529
- ]) : vue.createCommentVNode("v-if", true)
16530
- ]),
16531
- _: 3
16532
- }, 8, ["name"])
16533
- ], 8, ["disabled", "to"]);
16559
+ }, {
16560
+ default: vue.withCtx(() => [
16561
+ vue.createVNode(vue.Transition, {
16562
+ name: vue.unref(transitionClass),
16563
+ onAfterLeave: onTransitionLeave,
16564
+ onBeforeEnter,
16565
+ onAfterEnter: onAfterShow,
16566
+ onBeforeLeave
16567
+ }, {
16568
+ default: vue.withCtx(() => [
16569
+ vue.unref(shouldRender) ? vue.withDirectives((vue.openBlock(), vue.createBlock(vue.unref(ElPopperContent), vue.mergeProps({
16570
+ key: 0,
16571
+ id: vue.unref(id),
16572
+ ref_key: "contentRef",
16573
+ ref: contentRef
16574
+ }, _ctx.$attrs, {
16575
+ "aria-label": _ctx.ariaLabel,
16576
+ "aria-hidden": vue.unref(ariaHidden),
16577
+ "boundaries-padding": _ctx.boundariesPadding,
16578
+ "fallback-placements": _ctx.fallbackPlacements,
16579
+ "gpu-acceleration": _ctx.gpuAcceleration,
16580
+ offset: _ctx.offset,
16581
+ placement: _ctx.placement,
16582
+ "popper-options": _ctx.popperOptions,
16583
+ strategy: _ctx.strategy,
16584
+ effect: _ctx.effect,
16585
+ enterable: _ctx.enterable,
16586
+ pure: _ctx.pure,
16587
+ "popper-class": _ctx.popperClass,
16588
+ "popper-style": [_ctx.popperStyle, vue.unref(contentStyle)],
16589
+ "reference-el": _ctx.referenceEl,
16590
+ "trigger-target-el": _ctx.triggerTargetEl,
16591
+ visible: vue.unref(shouldShow),
16592
+ "z-index": _ctx.zIndex,
16593
+ onMouseenter: vue.unref(onContentEnter),
16594
+ onMouseleave: vue.unref(onContentLeave),
16595
+ onBlur,
16596
+ onClose: vue.unref(onClose)
16597
+ }), {
16598
+ default: vue.withCtx(() => [
16599
+ vue.renderSlot(_ctx.$slots, "default")
16600
+ ]),
16601
+ _: 3
16602
+ }, 16, ["id", "aria-label", "aria-hidden", "boundaries-padding", "fallback-placements", "gpu-acceleration", "offset", "placement", "popper-options", "strategy", "effect", "enterable", "pure", "popper-class", "popper-style", "reference-el", "trigger-target-el", "visible", "z-index", "onMouseenter", "onMouseleave", "onClose"])), [
16603
+ [vue.vShow, vue.unref(shouldShow)]
16604
+ ]) : vue.createCommentVNode("v-if", true)
16605
+ ]),
16606
+ _: 3
16607
+ }, 8, ["name"])
16608
+ ]),
16609
+ _: 3
16610
+ }, 8, ["disabled", "to"]);
16534
16611
  };
16535
16612
  }
16536
16613
  });
16537
16614
  var ElTooltipContent = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__file", "content.vue"]]);
16538
16615
 
16539
- const _hoisted_1$9 = ["innerHTML"];
16540
- const _hoisted_2$8 = { key: 1 };
16541
16616
  const __default__$b = vue.defineComponent({
16542
16617
  name: "ElTooltip"
16543
16618
  });
@@ -16679,7 +16754,7 @@
16679
16754
  _ctx.rawContent ? (vue.openBlock(), vue.createElementBlock("span", {
16680
16755
  key: 0,
16681
16756
  innerHTML: _ctx.content
16682
- }, null, 8, _hoisted_1$9)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$8, vue.toDisplayString(_ctx.content), 1))
16757
+ }, null, 8, ["innerHTML"])) : (vue.openBlock(), vue.createElementBlock("span", { key: 1 }, vue.toDisplayString(_ctx.content), 1))
16683
16758
  ]),
16684
16759
  _ctx.showArrow ? (vue.openBlock(), vue.createBlock(vue.unref(ElPopperArrow), {
16685
16760
  key: 0,
@@ -16744,6 +16819,10 @@
16744
16819
  return false;
16745
16820
  });
16746
16821
  const handleClick = (evt) => {
16822
+ if (_disabled.value || props.loading) {
16823
+ evt.stopPropagation();
16824
+ return;
16825
+ }
16747
16826
  if (props.nativeType === "reset") {
16748
16827
  form == null ? void 0 : form.resetFields();
16749
16828
  }
@@ -17864,14 +17943,17 @@
17864
17943
  withNoopInstall(ButtonGroup);
17865
17944
 
17866
17945
  const nodeList$1 = /* @__PURE__ */ new Map();
17867
- let startClick;
17868
17946
  if (isClient) {
17947
+ let startClick;
17869
17948
  document.addEventListener("mousedown", (e) => startClick = e);
17870
17949
  document.addEventListener("mouseup", (e) => {
17871
- for (const handlers of nodeList$1.values()) {
17872
- for (const { documentHandler } of handlers) {
17873
- documentHandler(e, startClick);
17950
+ if (startClick) {
17951
+ for (const handlers of nodeList$1.values()) {
17952
+ for (const { documentHandler } of handlers) {
17953
+ documentHandler(e, startClick);
17954
+ }
17874
17955
  }
17956
+ startClick = void 0;
17875
17957
  }
17876
17958
  });
17877
17959
  }
@@ -18020,6 +18102,9 @@
18020
18102
  const handleClick = (event) => {
18021
18103
  emit("click", event);
18022
18104
  };
18105
+ const handleVNodeMounted = (vnode) => {
18106
+ vnode.component.subTree.component.bum = null;
18107
+ };
18023
18108
  return (_ctx, _cache) => {
18024
18109
  return _ctx.disableTransitions ? (vue.openBlock(), vue.createElementBlock("span", {
18025
18110
  key: 0,
@@ -18045,7 +18130,8 @@
18045
18130
  ], 6)) : (vue.openBlock(), vue.createBlock(vue.Transition, {
18046
18131
  key: 1,
18047
18132
  name: `${vue.unref(ns).namespace.value}-zoom-in-center`,
18048
- appear: ""
18133
+ appear: "",
18134
+ onVnodeMounted: handleVNodeMounted
18049
18135
  }, {
18050
18136
  default: vue.withCtx(() => [
18051
18137
  vue.createElementVNode("span", {
@@ -18116,7 +18202,6 @@
18116
18202
  default: null
18117
18203
  },
18118
18204
  name: String,
18119
- label: String,
18120
18205
  placeholder: String,
18121
18206
  precision: {
18122
18207
  type: Number,
@@ -18136,8 +18221,6 @@
18136
18221
  [UPDATE_MODEL_EVENT]: (val) => isNumber(val) || isNil(val)
18137
18222
  };
18138
18223
 
18139
- const _hoisted_1$8 = ["aria-label", "onKeydown"];
18140
- const _hoisted_2$7 = ["aria-label", "onKeydown"];
18141
18224
  const __default__$7 = vue.defineComponent({
18142
18225
  name: "ElInputNumber"
18143
18226
  });
@@ -18366,13 +18449,6 @@
18366
18449
  const innerInput = (_a = input.value) == null ? void 0 : _a.input;
18367
18450
  innerInput == null ? void 0 : innerInput.setAttribute("aria-valuenow", `${(_b = data.currentValue) != null ? _b : ""}`);
18368
18451
  });
18369
- useDeprecated({
18370
- from: "label",
18371
- replacement: "aria-label",
18372
- version: "2.8.0",
18373
- scope: "el-input-number",
18374
- ref: "https://element-plus.org/en-US/component/input-number.html"
18375
- }, vue.computed(() => !!props.label));
18376
18452
  expose({
18377
18453
  focus,
18378
18454
  blur
@@ -18386,8 +18462,8 @@
18386
18462
  vue.unref(ns).is("without-controls", !_ctx.controls),
18387
18463
  vue.unref(ns).is("controls-right", vue.unref(controlsAtRight))
18388
18464
  ]),
18389
- onDragstart: _cache[0] || (_cache[0] = vue.withModifiers(() => {
18390
- }, ["prevent"]))
18465
+ onDragstart: vue.withModifiers(() => {
18466
+ }, ["prevent"])
18391
18467
  }, [
18392
18468
  _ctx.controls ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", {
18393
18469
  key: 0,
@@ -18404,7 +18480,7 @@
18404
18480
  _: 1
18405
18481
  })
18406
18482
  ])
18407
- ], 42, _hoisted_1$8)), [
18483
+ ], 42, ["aria-label", "onKeydown"])), [
18408
18484
  [vue.unref(vRepeatClick), decrease]
18409
18485
  ]) : vue.createCommentVNode("v-if", true),
18410
18486
  _ctx.controls ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", {
@@ -18422,7 +18498,7 @@
18422
18498
  _: 1
18423
18499
  })
18424
18500
  ])
18425
- ], 42, _hoisted_2$7)), [
18501
+ ], 42, ["aria-label", "onKeydown"])), [
18426
18502
  [vue.unref(vRepeatClick), increase]
18427
18503
  ]) : vue.createCommentVNode("v-if", true),
18428
18504
  vue.createVNode(vue.unref(ElInput), {
@@ -18439,7 +18515,7 @@
18439
18515
  max: _ctx.max,
18440
18516
  min: _ctx.min,
18441
18517
  name: _ctx.name,
18442
- "aria-label": _ctx.label || _ctx.ariaLabel,
18518
+ "aria-label": _ctx.ariaLabel,
18443
18519
  "validate-event": false,
18444
18520
  onKeydown: [
18445
18521
  vue.withKeys(vue.withModifiers(increase, ["prevent"]), ["up"]),
@@ -18450,7 +18526,7 @@
18450
18526
  onInput: handleInput,
18451
18527
  onChange: handleInputChange
18452
18528
  }, null, 8, ["id", "step", "model-value", "placeholder", "readonly", "disabled", "size", "max", "min", "name", "aria-label", "onKeydown"])
18453
- ], 34);
18529
+ ], 42, ["onDragstart"]);
18454
18530
  };
18455
18531
  }
18456
18532
  });
@@ -18465,15 +18541,12 @@
18465
18541
  const select = vue.inject(selectKey);
18466
18542
  const selectGroup = vue.inject(selectGroupKey, { disabled: false });
18467
18543
  const itemSelected = vue.computed(() => {
18468
- if (select.props.multiple) {
18469
- return contains(select.props.modelValue, props.value);
18470
- } else {
18471
- return contains([select.props.modelValue], props.value);
18472
- }
18544
+ return contains(castArray(select.props.modelValue), props.value);
18473
18545
  });
18474
18546
  const limitReached = vue.computed(() => {
18547
+ var _a;
18475
18548
  if (select.props.multiple) {
18476
- const modelValue = select.props.modelValue || [];
18549
+ const modelValue = castArray((_a = select.props.modelValue) != null ? _a : []);
18477
18550
  return !itemSelected.value && modelValue.length >= select.props.multipleLimit && select.props.multipleLimit > 0;
18478
18551
  } else {
18479
18552
  return false;
@@ -18514,7 +18587,7 @@
18514
18587
  });
18515
18588
  vue.watch(() => props.value, (val, oldVal) => {
18516
18589
  const { remote, valueKey } = select.props;
18517
- if (!isEqual(val, oldVal)) {
18590
+ if (val !== oldVal) {
18518
18591
  select.onOptionDestroy(oldVal, instance.proxy);
18519
18592
  select.onOptionCreate(instance.proxy);
18520
18593
  }
@@ -18592,7 +18665,7 @@
18592
18665
  select.onOptionDestroy(key, vm);
18593
18666
  });
18594
18667
  function selectOptionClick() {
18595
- if (props.disabled !== true && states.groupDisabled !== true) {
18668
+ if (!isDisabled.value) {
18596
18669
  select.handleOptionSelect(vm);
18597
18670
  }
18598
18671
  }
@@ -18613,7 +18686,6 @@
18613
18686
  };
18614
18687
  }
18615
18688
  });
18616
- const _hoisted_1$7 = ["id", "aria-disabled", "aria-selected"];
18617
18689
  function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
18618
18690
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock("li", {
18619
18691
  id: _ctx.id,
@@ -18621,13 +18693,13 @@
18621
18693
  role: "option",
18622
18694
  "aria-disabled": _ctx.isDisabled || void 0,
18623
18695
  "aria-selected": _ctx.itemSelected,
18624
- onMouseenter: _cache[0] || (_cache[0] = (...args) => _ctx.hoverItem && _ctx.hoverItem(...args)),
18625
- onClick: _cache[1] || (_cache[1] = vue.withModifiers((...args) => _ctx.selectOptionClick && _ctx.selectOptionClick(...args), ["stop"]))
18696
+ onMouseenter: _ctx.hoverItem,
18697
+ onClick: vue.withModifiers(_ctx.selectOptionClick, ["stop"])
18626
18698
  }, [
18627
18699
  vue.renderSlot(_ctx.$slots, "default", {}, () => [
18628
18700
  vue.createElementVNode("span", null, vue.toDisplayString(_ctx.currentLabel), 1)
18629
18701
  ])
18630
- ], 42, _hoisted_1$7)), [
18702
+ ], 42, ["id", "aria-disabled", "aria-selected", "onMouseenter", "onClick"])), [
18631
18703
  [vue.vShow, _ctx.visible]
18632
18704
  ]);
18633
18705
  }
@@ -18682,31 +18754,6 @@
18682
18754
  }
18683
18755
  var ElSelectMenu = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["render", _sfc_render$2], ["__file", "select-dropdown.vue"]]);
18684
18756
 
18685
- function useInput(handleInput) {
18686
- const isComposing = vue.ref(false);
18687
- const handleCompositionStart = () => {
18688
- isComposing.value = true;
18689
- };
18690
- const handleCompositionUpdate = (event) => {
18691
- const text = event.target.value;
18692
- const lastCharacter = text[text.length - 1] || "";
18693
- isComposing.value = !isKorean(lastCharacter);
18694
- };
18695
- const handleCompositionEnd = (event) => {
18696
- if (isComposing.value) {
18697
- isComposing.value = false;
18698
- if (isFunction$1(handleInput)) {
18699
- handleInput(event);
18700
- }
18701
- }
18702
- };
18703
- return {
18704
- handleCompositionStart,
18705
- handleCompositionUpdate,
18706
- handleCompositionEnd
18707
- };
18708
- }
18709
-
18710
18757
  const MINIMUM_INPUT_WIDTH = 11;
18711
18758
  const useSelect = (props, emit) => {
18712
18759
  const { t } = useLocale();
@@ -18719,7 +18766,7 @@
18719
18766
  cachedOptions: /* @__PURE__ */ new Map(),
18720
18767
  disabledOptions: /* @__PURE__ */ new Map(),
18721
18768
  optionValues: [],
18722
- selected: props.multiple ? [] : {},
18769
+ selected: [],
18723
18770
  selectionWidth: 0,
18724
18771
  calculatorWidth: 0,
18725
18772
  collapseItemWidth: 0,
@@ -18742,7 +18789,18 @@
18742
18789
  const tagMenuRef = vue.ref(null);
18743
18790
  const collapseItemRef = vue.ref(null);
18744
18791
  const scrollbarRef = vue.ref(null);
18745
- const { wrapperRef, isFocused, handleFocus, handleBlur } = useFocusController(inputRef, {
18792
+ const {
18793
+ isComposing,
18794
+ handleCompositionStart,
18795
+ handleCompositionUpdate,
18796
+ handleCompositionEnd
18797
+ } = useComposition({
18798
+ afterComposition: (e) => onInput(e)
18799
+ });
18800
+ const { wrapperRef, isFocused } = useFocusController(inputRef, {
18801
+ beforeFocus() {
18802
+ return selectDisabled.value;
18803
+ },
18746
18804
  afterFocus() {
18747
18805
  if (props.automaticDropdown && !expanded.value) {
18748
18806
  expanded.value = true;
@@ -18767,7 +18825,7 @@
18767
18825
  const { valueOnClear, isEmptyValue } = useEmptyValues(props);
18768
18826
  const selectDisabled = vue.computed(() => props.disabled || (form == null ? void 0 : form.disabled));
18769
18827
  const hasModelValue = vue.computed(() => {
18770
- return props.multiple ? isArray$1(props.modelValue) && props.modelValue.length > 0 : !isEmptyValue(props.modelValue);
18828
+ return isArray$1(props.modelValue) ? props.modelValue.length > 0 : !isEmptyValue(props.modelValue);
18771
18829
  });
18772
18830
  const showClose = vue.computed(() => {
18773
18831
  return props.clearable && !selectDisabled.value && states.inputHovering && hasModelValue.value;
@@ -18834,10 +18892,11 @@
18834
18892
  }
18835
18893
  });
18836
18894
  const shouldShowPlaceholder = vue.computed(() => {
18837
- if (isArray$1(props.modelValue)) {
18838
- return props.modelValue.length === 0 && !states.inputValue;
18895
+ if (props.multiple && !isUndefined(props.modelValue)) {
18896
+ return castArray(props.modelValue).length === 0 && !states.inputValue;
18839
18897
  }
18840
- return props.filterable ? !states.inputValue : true;
18898
+ const value = isArray$1(props.modelValue) ? props.modelValue[0] : props.modelValue;
18899
+ return props.filterable || isUndefined(value) ? !states.inputValue : true;
18841
18900
  });
18842
18901
  const currentPlaceholder = vue.computed(() => {
18843
18902
  var _a;
@@ -18900,7 +18959,7 @@
18900
18959
  updateOptions();
18901
18960
  });
18902
18961
  const handleQueryChange = (val) => {
18903
- if (states.previousQuery === val) {
18962
+ if (states.previousQuery === val || isComposing.value) {
18904
18963
  return;
18905
18964
  }
18906
18965
  states.previousQuery = val;
@@ -18923,16 +18982,17 @@
18923
18982
  };
18924
18983
  const setSelected = () => {
18925
18984
  if (!props.multiple) {
18926
- const option = getOption(props.modelValue);
18985
+ const value = isArray$1(props.modelValue) ? props.modelValue[0] : props.modelValue;
18986
+ const option = getOption(value);
18927
18987
  states.selectedLabel = option.currentLabel;
18928
- states.selected = option;
18988
+ states.selected = [option];
18929
18989
  return;
18930
18990
  } else {
18931
18991
  states.selectedLabel = "";
18932
18992
  }
18933
18993
  const result = [];
18934
- if (isArray$1(props.modelValue)) {
18935
- props.modelValue.forEach((value) => {
18994
+ if (!isUndefined(props.modelValue)) {
18995
+ castArray(props.modelValue).forEach((value) => {
18936
18996
  result.push(getOption(value));
18937
18997
  });
18938
18998
  }
@@ -18967,13 +19027,7 @@
18967
19027
  return newOption;
18968
19028
  };
18969
19029
  const updateHoveringIndex = () => {
18970
- if (!props.multiple) {
18971
- states.hoveringIndex = optionsArray.value.findIndex((item) => {
18972
- return getValueKey(item) === getValueKey(states.selected);
18973
- });
18974
- } else {
18975
- states.hoveringIndex = optionsArray.value.findIndex((item) => states.selected.some((selected) => getValueKey(selected) === getValueKey(item)));
18976
- }
19030
+ states.hoveringIndex = optionsArray.value.findIndex((item) => states.selected.some((selected) => getValueKey(selected) === getValueKey(item)));
18977
19031
  };
18978
19032
  const resetSelectionWidth = () => {
18979
19033
  states.selectionWidth = selectionRef.value.getBoundingClientRect().width;
@@ -19021,7 +19075,7 @@
19021
19075
  if (e.code === EVENT_CODE.delete)
19022
19076
  return;
19023
19077
  if (e.target.value.length <= 0) {
19024
- const value = props.modelValue.slice();
19078
+ const value = castArray(props.modelValue).slice();
19025
19079
  const lastNotDisabledIndex = getLastNotDisabledIndex(value);
19026
19080
  if (lastNotDisabledIndex < 0)
19027
19081
  return;
@@ -19035,7 +19089,7 @@
19035
19089
  const deleteTag = (event, tag) => {
19036
19090
  const index = states.selected.indexOf(tag);
19037
19091
  if (index > -1 && !selectDisabled.value) {
19038
- const value = props.modelValue.slice();
19092
+ const value = castArray(props.modelValue).slice();
19039
19093
  value.splice(index, 1);
19040
19094
  emit(UPDATE_MODEL_EVENT, value);
19041
19095
  emitChange(value);
@@ -19061,8 +19115,9 @@
19061
19115
  focus();
19062
19116
  };
19063
19117
  const handleOptionSelect = (option) => {
19118
+ var _a;
19064
19119
  if (props.multiple) {
19065
- const value = (props.modelValue || []).slice();
19120
+ const value = castArray((_a = props.modelValue) != null ? _a : []).slice();
19066
19121
  const optionIndex = getValueIndex(value, option.value);
19067
19122
  if (optionIndex > -1) {
19068
19123
  value.splice(optionIndex, 1);
@@ -19131,11 +19186,6 @@
19131
19186
  states.options.delete(key);
19132
19187
  }
19133
19188
  };
19134
- const {
19135
- handleCompositionStart,
19136
- handleCompositionUpdate,
19137
- handleCompositionEnd
19138
- } = useInput((e) => onInput(e));
19139
19189
  const popperRef = vue.computed(() => {
19140
19190
  var _a, _b;
19141
19191
  return (_b = (_a = tooltipRef.value) == null ? void 0 : _a.popperRef) == null ? void 0 : _b.contentRef;
@@ -19149,17 +19199,15 @@
19149
19199
  (_a = inputRef.value) == null ? void 0 : _a.focus();
19150
19200
  };
19151
19201
  const blur = () => {
19152
- handleClickOutside();
19202
+ var _a;
19203
+ (_a = inputRef.value) == null ? void 0 : _a.blur();
19153
19204
  };
19154
19205
  const handleClearClick = (event) => {
19155
19206
  deleteSelected(event);
19156
19207
  };
19157
- const handleClickOutside = (event) => {
19208
+ const handleClickOutside = () => {
19158
19209
  expanded.value = false;
19159
- if (isFocused.value) {
19160
- const _event = new FocusEvent("focus", event);
19161
- vue.nextTick(() => handleBlur(_event));
19162
- }
19210
+ isFocused.value && blur();
19163
19211
  };
19164
19212
  const handleEsc = () => {
19165
19213
  if (states.inputValue.length > 0) {
@@ -19209,7 +19257,7 @@
19209
19257
  expanded.value = true;
19210
19258
  return;
19211
19259
  }
19212
- if (states.options.size === 0 || filteredOptionsCount.value === 0)
19260
+ if (states.options.size === 0 || states.filteredOptionsCount === 0 || isComposing.value)
19213
19261
  return;
19214
19262
  if (!optionsAllDisabled.value) {
19215
19263
  if (direction === "next") {
@@ -19247,12 +19295,6 @@
19247
19295
  const inputStyle = vue.computed(() => ({
19248
19296
  width: `${Math.max(states.calculatorWidth, MINIMUM_INPUT_WIDTH)}px`
19249
19297
  }));
19250
- if (props.multiple && !isArray$1(props.modelValue)) {
19251
- emit(UPDATE_MODEL_EVENT, []);
19252
- }
19253
- if (!props.multiple && isArray$1(props.modelValue)) {
19254
- emit(UPDATE_MODEL_EVENT, "");
19255
- }
19256
19298
  useResizeObserver(selectionRef, resetSelectionWidth);
19257
19299
  useResizeObserver(calculatorRef, resetCalculatorWidth);
19258
19300
  useResizeObserver(menuRef, updateTooltip);
@@ -19305,10 +19347,8 @@
19305
19347
  onOptionCreate,
19306
19348
  onOptionDestroy,
19307
19349
  handleMenuEnter,
19308
- handleFocus,
19309
19350
  focus,
19310
19351
  blur,
19311
- handleBlur,
19312
19352
  handleClearClick,
19313
19353
  handleClickOutside,
19314
19354
  handleEsc,
@@ -19475,7 +19515,6 @@
19475
19515
  name: COMPONENT_NAME,
19476
19516
  componentName: COMPONENT_NAME,
19477
19517
  components: {
19478
- ElInput,
19479
19518
  ElSelectMenu,
19480
19519
  ElOption: Option,
19481
19520
  ElOptions,
@@ -19496,9 +19535,21 @@
19496
19535
  "blur"
19497
19536
  ],
19498
19537
  setup(props, { emit }) {
19499
- const API = useSelect(props, emit);
19538
+ const modelValue = vue.computed(() => {
19539
+ const { modelValue: rawModelValue, multiple } = props;
19540
+ const fallback = multiple ? [] : void 0;
19541
+ if (isArray$1(rawModelValue)) {
19542
+ return multiple ? rawModelValue : fallback;
19543
+ }
19544
+ return multiple ? fallback : rawModelValue;
19545
+ });
19546
+ const _props = vue.reactive({
19547
+ ...vue.toRefs(props),
19548
+ modelValue
19549
+ });
19550
+ const API = useSelect(_props, emit);
19500
19551
  vue.provide(selectKey, vue.reactive({
19501
- props,
19552
+ props: _props,
19502
19553
  states: API.states,
19503
19554
  optionsArray: API.optionsArray,
19504
19555
  handleOptionSelect: API.handleOptionSelect,
@@ -19508,13 +19559,11 @@
19508
19559
  setSelected: API.setSelected
19509
19560
  }));
19510
19561
  return {
19511
- ...API
19562
+ ...API,
19563
+ modelValue
19512
19564
  };
19513
19565
  }
19514
19566
  });
19515
- const _hoisted_1$6 = ["id", "name", "disabled", "autocomplete", "readonly", "aria-activedescendant", "aria-controls", "aria-expanded", "aria-label"];
19516
- const _hoisted_2$6 = ["textContent"];
19517
- const _hoisted_3$6 = { key: 1 };
19518
19567
  function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
19519
19568
  const _component_el_tag = vue.resolveComponent("el-tag");
19520
19569
  const _component_el_tooltip = vue.resolveComponent("el-tooltip");
@@ -19527,9 +19576,8 @@
19527
19576
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
19528
19577
  ref: "selectRef",
19529
19578
  class: vue.normalizeClass([_ctx.nsSelect.b(), _ctx.nsSelect.m(_ctx.selectSize)]),
19530
- [vue.toHandlerKey(_ctx.mouseEnterEventName)]: _cache[16] || (_cache[16] = ($event) => _ctx.states.inputHovering = true),
19531
- onMouseleave: _cache[17] || (_cache[17] = ($event) => _ctx.states.inputHovering = false),
19532
- onClick: _cache[18] || (_cache[18] = vue.withModifiers((...args) => _ctx.toggleMenu && _ctx.toggleMenu(...args), ["prevent", "stop"]))
19579
+ [vue.toHandlerKey(_ctx.mouseEnterEventName)]: ($event) => _ctx.states.inputHovering = true,
19580
+ onMouseleave: ($event) => _ctx.states.inputHovering = false
19533
19581
  }, [
19534
19582
  vue.createVNode(_component_el_tooltip, {
19535
19583
  ref: "tooltipRef",
@@ -19547,7 +19595,7 @@
19547
19595
  "gpu-acceleration": false,
19548
19596
  persistent: _ctx.persistent,
19549
19597
  onBeforeShow: _ctx.handleMenuEnter,
19550
- onHide: _cache[15] || (_cache[15] = ($event) => _ctx.states.isBeforeHide = false)
19598
+ onHide: ($event) => _ctx.states.isBeforeHide = false
19551
19599
  }, {
19552
19600
  default: vue.withCtx(() => {
19553
19601
  var _a;
@@ -19560,7 +19608,8 @@
19560
19608
  _ctx.nsSelect.is("hovering", _ctx.states.inputHovering),
19561
19609
  _ctx.nsSelect.is("filterable", _ctx.filterable),
19562
19610
  _ctx.nsSelect.is("disabled", _ctx.selectDisabled)
19563
- ])
19611
+ ]),
19612
+ onClick: vue.withModifiers(_ctx.toggleMenu, ["prevent"])
19564
19613
  }, [
19565
19614
  _ctx.$slots.prefix ? (vue.openBlock(), vue.createElementBlock("div", {
19566
19615
  key: 0,
@@ -19689,7 +19738,7 @@
19689
19738
  vue.withDirectives(vue.createElementVNode("input", {
19690
19739
  id: _ctx.inputId,
19691
19740
  ref: "inputRef",
19692
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.states.inputValue = $event),
19741
+ "onUpdate:modelValue": ($event) => _ctx.states.inputValue = $event,
19693
19742
  type: "text",
19694
19743
  name: _ctx.name,
19695
19744
  class: vue.normalizeClass([_ctx.nsSelect.e("input"), _ctx.nsSelect.is(_ctx.selectSize)]),
@@ -19705,21 +19754,19 @@
19705
19754
  "aria-label": _ctx.ariaLabel,
19706
19755
  "aria-autocomplete": "none",
19707
19756
  "aria-haspopup": "listbox",
19708
- onFocus: _cache[1] || (_cache[1] = (...args) => _ctx.handleFocus && _ctx.handleFocus(...args)),
19709
- onBlur: _cache[2] || (_cache[2] = (...args) => _ctx.handleBlur && _ctx.handleBlur(...args)),
19710
19757
  onKeydown: [
19711
- _cache[3] || (_cache[3] = vue.withKeys(vue.withModifiers(($event) => _ctx.navigateOptions("next"), ["stop", "prevent"]), ["down"])),
19712
- _cache[4] || (_cache[4] = vue.withKeys(vue.withModifiers(($event) => _ctx.navigateOptions("prev"), ["stop", "prevent"]), ["up"])),
19713
- _cache[5] || (_cache[5] = vue.withKeys(vue.withModifiers((...args) => _ctx.handleEsc && _ctx.handleEsc(...args), ["stop", "prevent"]), ["esc"])),
19714
- _cache[6] || (_cache[6] = vue.withKeys(vue.withModifiers((...args) => _ctx.selectOption && _ctx.selectOption(...args), ["stop", "prevent"]), ["enter"])),
19715
- _cache[7] || (_cache[7] = vue.withKeys(vue.withModifiers((...args) => _ctx.deletePrevTag && _ctx.deletePrevTag(...args), ["stop"]), ["delete"]))
19758
+ vue.withKeys(vue.withModifiers(($event) => _ctx.navigateOptions("next"), ["stop", "prevent"]), ["down"]),
19759
+ vue.withKeys(vue.withModifiers(($event) => _ctx.navigateOptions("prev"), ["stop", "prevent"]), ["up"]),
19760
+ vue.withKeys(vue.withModifiers(_ctx.handleEsc, ["stop", "prevent"]), ["esc"]),
19761
+ vue.withKeys(vue.withModifiers(_ctx.selectOption, ["stop", "prevent"]), ["enter"]),
19762
+ vue.withKeys(vue.withModifiers(_ctx.deletePrevTag, ["stop"]), ["delete"])
19716
19763
  ],
19717
- onCompositionstart: _cache[8] || (_cache[8] = (...args) => _ctx.handleCompositionStart && _ctx.handleCompositionStart(...args)),
19718
- onCompositionupdate: _cache[9] || (_cache[9] = (...args) => _ctx.handleCompositionUpdate && _ctx.handleCompositionUpdate(...args)),
19719
- onCompositionend: _cache[10] || (_cache[10] = (...args) => _ctx.handleCompositionEnd && _ctx.handleCompositionEnd(...args)),
19720
- onInput: _cache[11] || (_cache[11] = (...args) => _ctx.onInput && _ctx.onInput(...args)),
19721
- onClick: _cache[12] || (_cache[12] = vue.withModifiers((...args) => _ctx.toggleMenu && _ctx.toggleMenu(...args), ["stop"]))
19722
- }, null, 46, _hoisted_1$6), [
19764
+ onCompositionstart: _ctx.handleCompositionStart,
19765
+ onCompositionupdate: _ctx.handleCompositionUpdate,
19766
+ onCompositionend: _ctx.handleCompositionEnd,
19767
+ onInput: _ctx.onInput,
19768
+ onClick: vue.withModifiers(_ctx.toggleMenu, ["stop"])
19769
+ }, null, 46, ["id", "onUpdate:modelValue", "name", "disabled", "autocomplete", "readonly", "aria-activedescendant", "aria-controls", "aria-expanded", "aria-label", "onKeydown", "onCompositionstart", "onCompositionupdate", "onCompositionend", "onInput", "onClick"]), [
19723
19770
  [vue.vModelText, _ctx.states.inputValue]
19724
19771
  ]),
19725
19772
  _ctx.filterable ? (vue.openBlock(), vue.createElementBlock("span", {
@@ -19728,7 +19775,7 @@
19728
19775
  "aria-hidden": "true",
19729
19776
  class: vue.normalizeClass(_ctx.nsSelect.e("input-calculator")),
19730
19777
  textContent: vue.toDisplayString(_ctx.states.inputValue)
19731
- }, null, 10, _hoisted_2$6)) : vue.createCommentVNode("v-if", true)
19778
+ }, null, 10, ["textContent"])) : vue.createCommentVNode("v-if", true)
19732
19779
  ], 2)) : vue.createCommentVNode("v-if", true),
19733
19780
  _ctx.shouldShowPlaceholder ? (vue.openBlock(), vue.createElementBlock("div", {
19734
19781
  key: 2,
@@ -19744,7 +19791,7 @@
19744
19791
  value: _ctx.modelValue
19745
19792
  }, () => [
19746
19793
  vue.createElementVNode("span", null, vue.toDisplayString(_ctx.currentPlaceholder), 1)
19747
- ]) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$6, vue.toDisplayString(_ctx.currentPlaceholder), 1))
19794
+ ]) : (vue.openBlock(), vue.createElementBlock("span", { key: 1 }, vue.toDisplayString(_ctx.currentPlaceholder), 1))
19748
19795
  ], 2)) : vue.createCommentVNode("v-if", true)
19749
19796
  ], 2),
19750
19797
  vue.createElementVNode("div", {
@@ -19762,7 +19809,11 @@
19762
19809
  }, 8, ["class"])) : vue.createCommentVNode("v-if", true),
19763
19810
  _ctx.showClose && _ctx.clearIcon ? (vue.openBlock(), vue.createBlock(_component_el_icon, {
19764
19811
  key: 1,
19765
- class: vue.normalizeClass([_ctx.nsSelect.e("caret"), _ctx.nsSelect.e("icon")]),
19812
+ class: vue.normalizeClass([
19813
+ _ctx.nsSelect.e("caret"),
19814
+ _ctx.nsSelect.e("icon"),
19815
+ _ctx.nsSelect.e("clear")
19816
+ ]),
19766
19817
  onClick: _ctx.handleClearClick
19767
19818
  }, {
19768
19819
  default: vue.withCtx(() => [
@@ -19780,7 +19831,7 @@
19780
19831
  _: 1
19781
19832
  }, 8, ["class"])) : vue.createCommentVNode("v-if", true)
19782
19833
  ], 2)
19783
- ], 2)
19834
+ ], 10, ["onClick"])
19784
19835
  ];
19785
19836
  }),
19786
19837
  content: vue.withCtx(() => [
@@ -19789,11 +19840,11 @@
19789
19840
  _ctx.$slots.header ? (vue.openBlock(), vue.createElementBlock("div", {
19790
19841
  key: 0,
19791
19842
  class: vue.normalizeClass(_ctx.nsSelect.be("dropdown", "header")),
19792
- onClick: _cache[13] || (_cache[13] = vue.withModifiers(() => {
19793
- }, ["stop"]))
19843
+ onClick: vue.withModifiers(() => {
19844
+ }, ["stop"])
19794
19845
  }, [
19795
19846
  vue.renderSlot(_ctx.$slots, "header")
19796
- ], 2)) : vue.createCommentVNode("v-if", true),
19847
+ ], 10, ["onClick"])) : vue.createCommentVNode("v-if", true),
19797
19848
  vue.withDirectives(vue.createVNode(_component_el_scrollbar, {
19798
19849
  id: _ctx.contentId,
19799
19850
  ref: "scrollbarRef",
@@ -19838,18 +19889,18 @@
19838
19889
  _ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", {
19839
19890
  key: 3,
19840
19891
  class: vue.normalizeClass(_ctx.nsSelect.be("dropdown", "footer")),
19841
- onClick: _cache[14] || (_cache[14] = vue.withModifiers(() => {
19842
- }, ["stop"]))
19892
+ onClick: vue.withModifiers(() => {
19893
+ }, ["stop"])
19843
19894
  }, [
19844
19895
  vue.renderSlot(_ctx.$slots, "footer")
19845
- ], 2)) : vue.createCommentVNode("v-if", true)
19896
+ ], 10, ["onClick"])) : vue.createCommentVNode("v-if", true)
19846
19897
  ]),
19847
19898
  _: 3
19848
19899
  }, 512)
19849
19900
  ]),
19850
19901
  _: 3
19851
- }, 8, ["visible", "placement", "teleported", "popper-class", "popper-options", "fallback-placements", "effect", "transition", "persistent", "onBeforeShow"])
19852
- ], 16)), [
19902
+ }, 8, ["visible", "placement", "teleported", "popper-class", "popper-options", "fallback-placements", "effect", "transition", "persistent", "onBeforeShow", "onHide"])
19903
+ ], 16, ["onMouseleave"])), [
19853
19904
  [_directive_click_outside, _ctx.handleClickOutside, _ctx.popperRef]
19854
19905
  ]);
19855
19906
  }
@@ -20709,11 +20760,84 @@
20709
20760
  }
20710
20761
  }
20711
20762
 
20763
+ const Drag = {
20764
+ mounted(el, binding) {
20765
+ let callback = binding.value;
20766
+ if (!callback) {
20767
+ callback = () => ({});
20768
+ }
20769
+ initMouseEvent(el, callback);
20770
+ },
20771
+ unmounted(el) {
20772
+ el.onmousedown = null;
20773
+ el.onmousemove = null;
20774
+ el.onmouseup = null;
20775
+ }
20776
+ };
20777
+ function initMouseEvent(el, callback) {
20778
+ let startPoint = null;
20779
+ let endPoint = null;
20780
+ let roiDiv = null;
20781
+ const onMousedown = (e) => {
20782
+ if (e.ctrlKey) {
20783
+ startPoint = { x: e.x, y: e.y };
20784
+ document.onselectstart = () => false;
20785
+ document.ondragstart = () => false;
20786
+ } else {
20787
+ removeRoi();
20788
+ startPoint = null;
20789
+ endPoint = null;
20790
+ }
20791
+ };
20792
+ const onMousemove = (e) => {
20793
+ if (e.ctrlKey && startPoint) {
20794
+ endPoint = { x: e.x, y: e.y };
20795
+ removeRoi();
20796
+ createRoi();
20797
+ } else {
20798
+ removeRoi();
20799
+ startPoint = null;
20800
+ endPoint = null;
20801
+ document.onselectstart = null;
20802
+ document.ondragstart = null;
20803
+ }
20804
+ };
20805
+ const onMouseup = () => {
20806
+ if (roiDiv) {
20807
+ callback(roiDiv.getBoundingClientRect());
20808
+ }
20809
+ document.onselectstart = null;
20810
+ document.ondragstart = null;
20811
+ removeRoi();
20812
+ startPoint = null;
20813
+ endPoint = null;
20814
+ };
20815
+ function removeRoi() {
20816
+ if (roiDiv && document.body.contains(roiDiv)) {
20817
+ document.body.removeChild(roiDiv);
20818
+ }
20819
+ roiDiv = null;
20820
+ }
20821
+ function createRoi() {
20822
+ roiDiv = document.createElement("div");
20823
+ const distX = endPoint.x - startPoint.x;
20824
+ const distY = endPoint.y - startPoint.y;
20825
+ const left = startPoint.x < endPoint.x ? startPoint.x : endPoint.x;
20826
+ const top = startPoint.y < endPoint.y ? startPoint.y : endPoint.y;
20827
+ roiDiv.style.cssText = `position: fixed;z-index: 9999;width: ${Math.abs(distX)}px;height: ${Math.abs(distY)}px;border: 1px solid #0655c3;left: ${left}px;top: ${top}px;pointer-events: none;`;
20828
+ document.body.appendChild(roiDiv);
20829
+ }
20830
+ el.onmousedown = onMousedown;
20831
+ el.onmousemove = onMousemove;
20832
+ el.onmouseup = onMouseup;
20833
+ }
20834
+
20712
20835
  const install = installer.install;
20713
20836
  const version = installer.version;
20714
20837
 
20715
20838
  exports.Blur = Blur;
20716
20839
  exports.Download = Download;
20840
+ exports.Drag = Drag;
20717
20841
  exports.Height = Height;
20718
20842
  exports.Highlight = Highlight;
20719
20843
  exports.HzztCollapse = HzztCollapse;