vue-devui 1.6.5 → 1.6.7

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 (91) hide show
  1. package/auto-complete/index.es.js +18 -4
  2. package/auto-complete/index.umd.js +10 -10
  3. package/auto-complete/style.css +1 -1
  4. package/breadcrumb/style.css +1 -1
  5. package/button/index.es.js +30 -10
  6. package/button/index.umd.js +10 -10
  7. package/button/style.css +1 -1
  8. package/category-search/index.es.js +50 -12
  9. package/category-search/index.umd.js +12 -12
  10. package/category-search/style.css +1 -1
  11. package/checkbox/index.es.js +22 -9
  12. package/checkbox/index.umd.js +8 -8
  13. package/checkbox/style.css +1 -1
  14. package/code-review/style.css +1 -1
  15. package/data-grid/index.es.js +45 -12
  16. package/data-grid/index.umd.js +6 -6
  17. package/data-grid/style.css +1 -1
  18. package/date-picker-pro/index.es.js +70 -14
  19. package/date-picker-pro/index.umd.js +14 -14
  20. package/date-picker-pro/style.css +1 -1
  21. package/dropdown/style.css +1 -1
  22. package/editable-select/index.es.js +83 -205
  23. package/editable-select/index.umd.js +20 -16
  24. package/editable-select/style.css +1 -1
  25. package/editor-md/style.css +1 -1
  26. package/form/style.css +1 -1
  27. package/input/index.es.js +6 -1
  28. package/input/index.umd.js +6 -6
  29. package/input/style.css +1 -1
  30. package/input-number/index.es.js +5 -0
  31. package/input-number/index.umd.js +10 -10
  32. package/input-number/style.css +1 -1
  33. package/mention/index.es.js +11 -1
  34. package/mention/index.umd.js +8 -8
  35. package/mention/style.css +1 -1
  36. package/menu/style.css +1 -1
  37. package/modal/style.css +1 -1
  38. package/overlay/style.css +1 -1
  39. package/package.json +1 -1
  40. package/pagination/index.es.js +32 -11
  41. package/pagination/index.umd.js +14 -14
  42. package/pagination/style.css +1 -1
  43. package/popover/style.css +1 -1
  44. package/radio/index.es.js +10 -28
  45. package/radio/index.umd.js +9 -9
  46. package/radio/style.css +1 -1
  47. package/search/index.es.js +6 -1
  48. package/search/index.umd.js +6 -6
  49. package/search/style.css +1 -1
  50. package/select/index.es.js +32 -11
  51. package/select/index.umd.js +15 -15
  52. package/select/style.css +1 -1
  53. package/splitter/style.css +1 -1
  54. package/style.css +2 -2
  55. package/switch/index.es.js +16 -2
  56. package/switch/index.umd.js +15 -15
  57. package/switch/style.css +1 -1
  58. package/table/index.es.js +46 -13
  59. package/table/index.umd.js +12 -12
  60. package/table/style.css +1 -1
  61. package/textarea/index.es.js +6 -1
  62. package/textarea/index.umd.js +1 -1
  63. package/textarea/style.css +1 -1
  64. package/time-picker/index.es.js +45 -8
  65. package/time-picker/index.umd.js +9 -9
  66. package/time-picker/style.css +1 -1
  67. package/time-select/index.es.js +32 -11
  68. package/time-select/index.umd.js +8 -8
  69. package/time-select/style.css +1 -1
  70. package/tooltip/style.css +1 -1
  71. package/tree/index.es.js +22 -9
  72. package/tree/index.umd.js +9 -9
  73. package/tree/style.css +1 -1
  74. package/types/auto-complete/src/auto-complete-types.d.ts +4 -0
  75. package/types/cascader/src/cascader-types.d.ts +4 -0
  76. package/types/checkbox/src/checkbox-types.d.ts +8 -0
  77. package/types/date-picker-pro/src/date-picker-pro-types.d.ts +12 -0
  78. package/types/date-picker-pro/src/range-date-picker-types.d.ts +4 -0
  79. package/types/editable-select/src/editable-select-types.d.ts +4 -0
  80. package/types/input/src/input-types.d.ts +4 -0
  81. package/types/input-icon/src/input-icon.d.ts +9 -0
  82. package/types/input-number/src/input-number-types.d.ts +4 -0
  83. package/types/mention/src/mention-types.d.ts +4 -0
  84. package/types/mention/src/mention.d.ts +9 -0
  85. package/types/radio/src/radio-types.d.ts +8 -0
  86. package/types/select/src/select-types.d.ts +4 -0
  87. package/types/textarea/src/textarea-types.d.ts +4 -0
  88. package/types/time-picker/src/components/time-scroll/index.d.ts +9 -0
  89. package/types/time-picker/src/time-picker-types.d.ts +4 -0
  90. package/vue-devui.es.js +212 -80
  91. package/vue-devui.umd.js +52 -52
package/vue-devui.es.js CHANGED
@@ -1854,6 +1854,10 @@ const autoCompleteProps = {
1854
1854
  clearable: {
1855
1855
  type: Boolean,
1856
1856
  default: false
1857
+ },
1858
+ showGlowStyle: {
1859
+ type: Boolean,
1860
+ default: true
1857
1861
  }
1858
1862
  };
1859
1863
  const DropdownPropsKey = Symbol("DropdownPropsKey");
@@ -9934,6 +9938,7 @@ function useAutoCompleteRender(props, ctx2, visible, isFocus, isDisabled, autoCo
9934
9938
  const inputWrapperClasses = computed(() => ({
9935
9939
  [inputNs.e("wrapper")]: true,
9936
9940
  [inputNs.em("wrapper", "error")]: isValidatorError.value,
9941
+ [ns2.m("glow-style")]: props.showGlowStyle,
9937
9942
  [inputNs.em("wrapper", "feedback")]: Boolean(formItemContext == null ? void 0 : formItemContext.validateState) && (formItemContext == null ? void 0 : formItemContext.showFeedback),
9938
9943
  [ns2.m("disabled")]: isDisabled.value
9939
9944
  }));
@@ -10522,6 +10527,7 @@ var AutoComplete = defineComponent({
10522
10527
  const inputNs = useNamespace$1("auto-complete-input");
10523
10528
  const isDisabled = computed(() => (formContext == null ? void 0 : formContext.disabled) || disabled.value);
10524
10529
  const autoCompleteSize = computed(() => (formContext == null ? void 0 : formContext.size) || props.size);
10530
+ const align = computed(() => position.value.some((item) => item.includes("start") || item.includes("end")) ? "start" : null);
10525
10531
  const {
10526
10532
  handleSearch,
10527
10533
  searchList,
@@ -10581,22 +10587,30 @@ var AutoComplete = defineComponent({
10581
10587
  valueParser
10582
10588
  });
10583
10589
  const origin = ref();
10590
+ const currentPosition = ref("bottom");
10584
10591
  const prefixVisible = ctx2.slots.prefix || props.prefix;
10585
10592
  const suffixVisible = ctx2.slots.suffix || props.suffix || props.clearable;
10586
10593
  const showClearable = computed(() => props.clearable && !isDisabled.value);
10594
+ const overlayStyles = computed(() => ({
10595
+ transformOrigin: currentPosition.value === "top" ? "0% 100%" : "0% 0%",
10596
+ zIndex: "var(--devui-z-index-dropdown, 1052)"
10597
+ }));
10598
+ const handlePositionChange = (pos) => {
10599
+ currentPosition.value = pos.includes("top") || pos.includes("right-end") || pos.includes("left-end") ? "top" : "bottom";
10600
+ };
10587
10601
  const renderBasicDropdown = () => {
10588
10602
  let _slot;
10589
10603
  return createVNode(Transition, {
10590
- "name": showAnimation ? "fade" : ""
10604
+ "name": showAnimation ? ns2.m(`fade-${currentPosition.value}`) : ""
10591
10605
  }, {
10592
10606
  default: () => [createVNode(FlexibleOverlay, {
10593
10607
  "origin": origin.value,
10594
10608
  "position": position.value,
10609
+ "align": align.value,
10595
10610
  "modelValue": visible.value,
10596
10611
  "onUpdate:modelValue": ($event) => visible.value = $event,
10597
- "style": {
10598
- zIndex: "var(--devui-z-index-dropdown, 1052)"
10599
- }
10612
+ "onPositionChange": handlePositionChange,
10613
+ "style": overlayStyles.value
10600
10614
  }, {
10601
10615
  default: () => [createVNode("div", {
10602
10616
  "class": ns2.e("menu"),
@@ -11819,19 +11833,36 @@ var DButton = defineComponent({
11819
11833
  classes,
11820
11834
  iconClass
11821
11835
  } = useButton(props, ctx2);
11836
+ const isMouseDown = ref(false);
11837
+ const showWave = ref(false);
11838
+ const waveStyle = reactive({
11839
+ top: "0px",
11840
+ left: "0px"
11841
+ });
11842
+ const showClickWave = (e) => {
11843
+ waveStyle.left = e.offsetX + "px";
11844
+ waveStyle.top = e.offsetY + "px";
11845
+ showWave.value = true;
11846
+ setTimeout(() => {
11847
+ showWave.value = false;
11848
+ }, 300);
11849
+ };
11822
11850
  const onClick = (e) => {
11823
11851
  if (loading2.value) {
11824
11852
  return;
11825
11853
  }
11854
+ showClickWave(e);
11826
11855
  ctx2.emit("click", e);
11827
11856
  };
11828
11857
  return () => {
11829
11858
  var _a2, _b;
11830
11859
  return createVNode("button", {
11831
- "class": classes.value,
11860
+ "class": [classes.value, isMouseDown.value ? "mousedown" : ""],
11832
11861
  "disabled": disabled.value,
11833
11862
  "onClick": onClick,
11834
- "type": nativeType.value
11863
+ "type": nativeType.value,
11864
+ "onMousedown": () => isMouseDown.value = true,
11865
+ "onMouseup": () => isMouseDown.value = false
11835
11866
  }, [icon2.value && createVNode(DIcon, {
11836
11867
  "name": icon2.value,
11837
11868
  "size": "var(--devui-font-size, 12px)",
@@ -11845,7 +11876,10 @@ var DButton = defineComponent({
11845
11876
  "color": "#BBDEFB"
11846
11877
  }, null)]), [[vShow, loading2.value]]), createVNode("span", {
11847
11878
  "class": "button-content"
11848
- }, [(_b = (_a2 = ctx2.slots).default) == null ? void 0 : _b.call(_a2)])]);
11879
+ }, [(_b = (_a2 = ctx2.slots).default) == null ? void 0 : _b.call(_a2)]), showWave.value && createVNode("div", {
11880
+ "class": "water-wave",
11881
+ "style": waveStyle
11882
+ }, null)]);
11849
11883
  };
11850
11884
  }
11851
11885
  });
@@ -12326,6 +12360,10 @@ const cascaderProps = {
12326
12360
  },
12327
12361
  size: {
12328
12362
  type: String
12363
+ },
12364
+ showGlowStyle: {
12365
+ type: Boolean,
12366
+ default: true
12329
12367
  }
12330
12368
  };
12331
12369
  const cascaderulProps = {
@@ -12544,6 +12582,10 @@ const commonProps$2 = {
12544
12582
  size: {
12545
12583
  type: String,
12546
12584
  default: "md"
12585
+ },
12586
+ showGlowStyle: {
12587
+ type: Boolean,
12588
+ default: true
12547
12589
  }
12548
12590
  };
12549
12591
  const checkboxProps = __spreadProps(__spreadValues({}, commonProps$2), {
@@ -12799,7 +12841,10 @@ var Checkbox = defineComponent({
12799
12841
  active: mergedChecked.value,
12800
12842
  "half-checked": props.halfChecked,
12801
12843
  disabled: mergedDisabled.value,
12802
- unchecked: !mergedChecked.value
12844
+ unchecked: !mergedChecked.value,
12845
+ [ns2.m("glow-style")]: props.showGlowStyle,
12846
+ [ns2.m(`checkbox-${size.value}`)]: border.value,
12847
+ [ns2.m("checkbox-bordered")]: border.value
12803
12848
  };
12804
12849
  const labelTitle = mergedIsShowTitle.value ? props.title || props.label : "";
12805
12850
  const bgImgStyle = mergedColor.value && props.halfChecked || mergedColor.value ? `linear-gradient(${mergedColor.value}, ${mergedColor.value})` : "";
@@ -12816,7 +12861,7 @@ var Checkbox = defineComponent({
12816
12861
  [ns2.m("no-animation")]: !mergedShowAnimation.value
12817
12862
  };
12818
12863
  const labelCls = {
12819
- [ns2.m(size.value)]: size.value,
12864
+ [ns2.m(size.value)]: border.value,
12820
12865
  [ns2.m("bordered")]: border.value
12821
12866
  };
12822
12867
  const stopPropagation = ($event) => $event.stopPropagation();
@@ -12828,7 +12873,11 @@ var Checkbox = defineComponent({
12828
12873
  "style": wrapperStyle.value
12829
12874
  }, [createVNode("div", {
12830
12875
  "class": checkboxCls
12831
- }, [createVNode("label", {
12876
+ }, [props.showGlowStyle && mergedShowAnimation.value && createVNode("div", {
12877
+ "class": ns2.e("glow-box")
12878
+ }, [createVNode("span", {
12879
+ "class": "glow-bg"
12880
+ }, null)]), createVNode("label", {
12832
12881
  "title": labelTitle,
12833
12882
  "onClick": handleClick,
12834
12883
  "class": labelCls,
@@ -12850,18 +12899,20 @@ var Checkbox = defineComponent({
12850
12899
  }, [createVNode("span", {
12851
12900
  "class": ns2.e("halfchecked-bg")
12852
12901
  }, null), createVNode("svg", {
12853
- "viewBox": "0 0 16 16",
12854
- "version": "1.1",
12855
- "xmlns": "http://www.w3.org/2000/svg",
12902
+ "viewBox": "0 0 14 14",
12903
+ "width": "14",
12904
+ "height": "14",
12856
12905
  "class": ns2.e("tick-wrap")
12857
12906
  }, [createVNode("g", {
12858
12907
  "stroke": "none",
12859
12908
  "stroke-width": "1",
12860
12909
  "fill": "none",
12861
12910
  "fill-rule": "evenodd"
12862
- }, [createVNode("polygon", {
12863
- "fill-rule": "nonzero",
12864
- "points": "5.17391304 6.56521739 7.7173913 9.10869565 11.826087 5 13 6.17391304 7.7173913 11.4565217 4 7.73913043",
12911
+ }, [createVNode("path", {
12912
+ "d": "M 2.3 7.0 5.6 9.6 11.4 3.5",
12913
+ "stroke": "#fff",
12914
+ "stroke-width": "1.5",
12915
+ "fill": "none",
12865
12916
  "class": polygonCls
12866
12917
  }, null)])])]), createVNode("span", {
12867
12918
  "class": ns2.e("label-text")
@@ -13499,6 +13550,10 @@ const inputProps = {
13499
13550
  autofocus: {
13500
13551
  type: Boolean,
13501
13552
  default: false
13553
+ },
13554
+ showGlowStyle: {
13555
+ type: Boolean,
13556
+ default: true
13502
13557
  }
13503
13558
  };
13504
13559
  function SelectArrowIcon() {
@@ -13573,7 +13628,7 @@ function useInputRender$1(props, ctx2) {
13573
13628
  const ns2 = useNamespace("input");
13574
13629
  const slotNs = useNamespace("input-slot");
13575
13630
  const isFocus = ref(false);
13576
- const { error: error2, size, disabled } = toRefs(props);
13631
+ const { error: error2, size, disabled, showGlowStyle } = toRefs(props);
13577
13632
  const slots = ctx2.slots;
13578
13633
  const inputDisabled = computed(() => disabled.value || (formContext == null ? void 0 : formContext.disabled));
13579
13634
  const inputSize = computed(() => (size == null ? void 0 : size.value) || (formContext == null ? void 0 : formContext.size) || "");
@@ -13584,6 +13639,7 @@ function useInputRender$1(props, ctx2) {
13584
13639
  [ns2.e("wrapper")]: true,
13585
13640
  [ns2.m("focus")]: isFocus.value,
13586
13641
  [ns2.m("disabled")]: inputDisabled.value,
13642
+ [ns2.m("glow-style")]: showGlowStyle.value,
13587
13643
  [ns2.m("error")]: error2.value || isValidateError.value,
13588
13644
  [ns2.m("feedback")]: Boolean(formItemContext == null ? void 0 : formItemContext.validateState) && (formItemContext == null ? void 0 : formItemContext.showFeedback)
13589
13645
  }));
@@ -13818,6 +13874,14 @@ var Cascader = defineComponent({
13818
13874
  onBlur
13819
13875
  } = useCascader(props, ctx2);
13820
13876
  provide(POPPER_TRIGGER_TOKEN, origin);
13877
+ const currentPosition = ref("bottom");
13878
+ const styles = computed(() => ({
13879
+ transformOrigin: currentPosition.value === "top" ? "0% 100%" : "0% 0%",
13880
+ "z-index": "var(--devui-z-index-dropdown, 1052)"
13881
+ }));
13882
+ const handlePositionChange = (pos) => {
13883
+ currentPosition.value = pos.split("-")[0] === "top" ? "top" : "bottom";
13884
+ };
13821
13885
  return () => createVNode("div", {
13822
13886
  "style": rootStyle.inputWidth
13823
13887
  }, [createVNode(PopperTrigger, null, {
@@ -13834,6 +13898,7 @@ var Cascader = defineComponent({
13834
13898
  "placeholder": props.placeholder,
13835
13899
  "modelValue": inputValue.value,
13836
13900
  "size": props.size,
13901
+ "show-glow-style": props.showGlowStyle,
13837
13902
  "onInput": handleInput,
13838
13903
  "onFocus": onFocus,
13839
13904
  "onBlur": onBlur
@@ -13849,7 +13914,7 @@ var Cascader = defineComponent({
13849
13914
  "to": "body"
13850
13915
  }, {
13851
13916
  default: () => [createVNode(Transition, {
13852
- "name": "fade"
13917
+ "name": ns2.m(`fade-${currentPosition.value}`)
13853
13918
  }, {
13854
13919
  default: () => [createVNode(FlexibleOverlay, {
13855
13920
  "origin": origin.value,
@@ -13858,9 +13923,8 @@ var Cascader = defineComponent({
13858
13923
  "onUpdate:modelValue": ($event) => menuShow.value = $event,
13859
13924
  "position": position.value,
13860
13925
  "align": "start",
13861
- "style": {
13862
- zIndex: "var(--devui-z-index-dropdown, 1052)"
13863
- }
13926
+ "style": styles.value,
13927
+ "onPositionChange": handlePositionChange
13864
13928
  }, {
13865
13929
  default: () => [createVNode("div", {
13866
13930
  "class": ns2.e("drop-menu-animation")
@@ -16132,6 +16196,10 @@ const inputNumberProps = {
16132
16196
  reg: {
16133
16197
  type: [RegExp, String],
16134
16198
  default: ""
16199
+ },
16200
+ showGlowStyle: {
16201
+ type: Boolean,
16202
+ default: true
16135
16203
  }
16136
16204
  };
16137
16205
  const ns$g = useNamespace$1("input-number");
@@ -16186,6 +16254,7 @@ function useRender$1(props, ctx2) {
16186
16254
  const wrapClass = computed(() => [
16187
16255
  {
16188
16256
  [ns$f.b()]: true,
16257
+ [ns$f.m("glow-style")]: props.showGlowStyle,
16189
16258
  [ns$f.m(inputNumberSize.value)]: true
16190
16259
  },
16191
16260
  customClass
@@ -24182,6 +24251,10 @@ const datePickerProCommonProps = {
24182
24251
  type: {
24183
24252
  type: String,
24184
24253
  default: "date"
24254
+ },
24255
+ showGlowStyle: {
24256
+ type: Boolean,
24257
+ default: true
24185
24258
  }
24186
24259
  };
24187
24260
  const datePickerProProps = __spreadValues({
@@ -26248,6 +26321,10 @@ const timePickerProps = {
26248
26321
  readonly: {
26249
26322
  type: Boolean,
26250
26323
  default: false
26324
+ },
26325
+ showGlowStyle: {
26326
+ type: Boolean,
26327
+ default: true
26251
26328
  }
26252
26329
  };
26253
26330
  function useTimeScroll() {
@@ -27254,6 +27331,9 @@ var DatePickerPro = defineComponent({
27254
27331
  setup(props, ctx2) {
27255
27332
  const app = getCurrentInstance();
27256
27333
  const t = createI18nTranslate("DDatePickerPro", app);
27334
+ const {
27335
+ showGlowStyle
27336
+ } = toRefs(props);
27257
27337
  const ns2 = useNamespace$1("date-picker-pro");
27258
27338
  const {
27259
27339
  originRef,
@@ -27274,6 +27354,14 @@ var DatePickerPro = defineComponent({
27274
27354
  handlerClearTime
27275
27355
  } = usePickerPro(props, ctx2, t);
27276
27356
  const position = ref(["bottom-start", "top-start"]);
27357
+ const currentPosition = ref("bottom");
27358
+ const handlePositionChange = (pos) => {
27359
+ currentPosition.value = pos.split("-")[0] === "top" ? "top" : "bottom";
27360
+ };
27361
+ const styles = computed(() => ({
27362
+ transformOrigin: currentPosition.value === "top" ? "0% 100%" : "0% 0%",
27363
+ "z-index": "var(--devui-z-index-dropdown, 1052)"
27364
+ }));
27277
27365
  return () => {
27278
27366
  var _a2, _b;
27279
27367
  const vSlots = {
@@ -27294,7 +27382,8 @@ var DatePickerPro = defineComponent({
27294
27382
  "onFocus": withModifiers(onFocus, ["stop"]),
27295
27383
  "size": pickerSize.value,
27296
27384
  "disabled": pickerDisabled.value,
27297
- "error": isValidateError.value
27385
+ "error": isValidateError.value,
27386
+ "show-glow-style": showGlowStyle.value
27298
27387
  }, {
27299
27388
  prefix: () => createVNode("span", {
27300
27389
  "class": ns2.e("single-picker-icon")
@@ -27307,7 +27396,7 @@ var DatePickerPro = defineComponent({
27307
27396
  "to": "body"
27308
27397
  }, {
27309
27398
  default: () => [createVNode(Transition, {
27310
- "name": "fade"
27399
+ "name": ns2.m(`fade-${currentPosition.value}`)
27311
27400
  }, {
27312
27401
  default: () => [createVNode(FlexibleOverlay, {
27313
27402
  "modelValue": isPanelShow.value,
@@ -27316,9 +27405,8 @@ var DatePickerPro = defineComponent({
27316
27405
  "origin": originRef.value,
27317
27406
  "align": "start",
27318
27407
  "position": position.value,
27319
- "style": {
27320
- zIndex: "var(--devui-z-index-dropdown, 1052)"
27321
- }
27408
+ "style": styles.value,
27409
+ "onPositionChange": handlePositionChange
27322
27410
  }, {
27323
27411
  default: () => [createVNode(DatePickerProPanel, mergeProps(props, {
27324
27412
  "dateValue": dateValue.value,
@@ -27480,6 +27568,9 @@ var DRangeDatePickerPro = defineComponent({
27480
27568
  setup(props, ctx2) {
27481
27569
  const app = getCurrentInstance();
27482
27570
  const t = createI18nTranslate("DDatePickerPro", app);
27571
+ const {
27572
+ showGlowStyle
27573
+ } = toRefs(props);
27483
27574
  const ns2 = useNamespace$1("range-date-picker-pro");
27484
27575
  const {
27485
27576
  originRef,
@@ -27504,6 +27595,14 @@ var DRangeDatePickerPro = defineComponent({
27504
27595
  onChangeRangeFocusType
27505
27596
  } = useRangePickerPro(props, ctx2);
27506
27597
  const position = ref(["bottom-start", "top-start"]);
27598
+ const currentPosition = ref("bottom");
27599
+ const handlePositionChange = (pos) => {
27600
+ currentPosition.value = pos.split("-")[0] === "top" ? "top" : "bottom";
27601
+ };
27602
+ const styles = computed(() => ({
27603
+ transformOrigin: currentPosition.value === "top" ? "0% 100%" : "0% 0%",
27604
+ "z-index": "var(--devui-z-index-dropdown, 1052)"
27605
+ }));
27507
27606
  return () => {
27508
27607
  var _a2, _b;
27509
27608
  const vSlots = {
@@ -27513,7 +27612,7 @@ var DRangeDatePickerPro = defineComponent({
27513
27612
  return createVNode("div", {
27514
27613
  "class": [ns2.b(), props.showTime ? ns2.e("range-time-width") : ns2.e("range-width"), isPanelShow.value && ns2.m("open")]
27515
27614
  }, [createVNode("div", {
27516
- "class": [ns2.e("range-picker"), pickerDisabled.value && ns2.m("disabled"), isValidateError.value && ns2.m("error")],
27615
+ "class": [ns2.e("range-picker"), pickerDisabled.value && ns2.m("disabled"), isValidateError.value && ns2.m("error"), showGlowStyle.value && ns2.m("glow-style")],
27517
27616
  "ref": originRef,
27518
27617
  "onMouseover": () => isMouseEnter.value = true,
27519
27618
  "onMouseout": () => isMouseEnter.value = false
@@ -27523,6 +27622,7 @@ var DRangeDatePickerPro = defineComponent({
27523
27622
  "ref": startInputRef,
27524
27623
  "modelValue": displayDateValue.value[0],
27525
27624
  "placeholder": placeholder.value[0] || t("startPlaceholder"),
27625
+ "show-glow-style": false,
27526
27626
  "onFocus": withModifiers((e) => {
27527
27627
  onFocus("start");
27528
27628
  focusHandler(e);
@@ -27541,6 +27641,7 @@ var DRangeDatePickerPro = defineComponent({
27541
27641
  "ref": endInputRef,
27542
27642
  "modelValue": displayDateValue.value[1],
27543
27643
  "placeholder": placeholder.value[1] || t("endPlaceholder"),
27644
+ "show-glow-style": false,
27544
27645
  "onFocus": withModifiers((e) => {
27545
27646
  onFocus("end");
27546
27647
  focusHandler(e);
@@ -27556,7 +27657,7 @@ var DRangeDatePickerPro = defineComponent({
27556
27657
  "to": "body"
27557
27658
  }, {
27558
27659
  default: () => [createVNode(Transition, {
27559
- "name": "fade"
27660
+ "name": ns2.m(`fade-${currentPosition.value}`)
27560
27661
  }, {
27561
27662
  default: () => [createVNode(FlexibleOverlay, {
27562
27663
  "modelValue": isPanelShow.value,
@@ -27565,9 +27666,8 @@ var DRangeDatePickerPro = defineComponent({
27565
27666
  "origin": originRef.value,
27566
27667
  "align": "start",
27567
27668
  "position": position.value,
27568
- "style": {
27569
- zIndex: "var(--devui-z-index-dropdown, 1052)"
27570
- }
27669
+ "style": styles.value,
27670
+ "onPositionChange": handlePositionChange
27571
27671
  }, {
27572
27672
  default: () => [createVNode(DatePickerProPanel, mergeProps(props, {
27573
27673
  "dateValue": dateValue.value,
@@ -33552,6 +33652,10 @@ const editableSelectProps = {
33552
33652
  enableLazyLoad: {
33553
33653
  type: Boolean,
33554
33654
  default: false
33655
+ },
33656
+ showGlowStyle: {
33657
+ type: Boolean,
33658
+ default: true
33555
33659
  }
33556
33660
  };
33557
33661
  const SELECT_KEY = Symbol("EditableSelect");
@@ -33899,7 +34003,8 @@ function useInputRender(props, states) {
33899
34003
  const inputWrapperClasses = computed(() => ({
33900
34004
  [ns2.e("wrapper")]: true,
33901
34005
  [ns2.em("wrapper", "focus")]: states.isFocus,
33902
- [ns2.em("wrapper", "disabled")]: props.disabled
34006
+ [ns2.em("wrapper", "disabled")]: props.disabled,
34007
+ [ns2.em("wrapper", "glow-style")]: props.showGlowStyle
33903
34008
  }));
33904
34009
  const inputInnerClasses = computed(() => ({
33905
34010
  [ns2.e("inner")]: true
@@ -34030,6 +34135,7 @@ var EditableSelect = defineComponent({
34030
34135
  position,
34031
34136
  placeholder
34032
34137
  } = toRefs(props);
34138
+ const align = computed(() => position.value.some((item) => item.includes("start") || item.includes("end")) ? "start" : null);
34033
34139
  const {
34034
34140
  onInput,
34035
34141
  onMouseenter,
@@ -34078,9 +34184,17 @@ var EditableSelect = defineComponent({
34078
34184
  inputInnerClasses,
34079
34185
  inputSuffixClasses
34080
34186
  } = useInputRender(props, states);
34187
+ const currentPosition = ref("bottom");
34188
+ const handlePositionChange = (pos) => {
34189
+ currentPosition.value = pos.includes("top") || pos.includes("right-end") || pos.includes("left-end") ? "top" : "bottom";
34190
+ };
34191
+ const styles = computed(() => ({
34192
+ transformOrigin: currentPosition.value === "top" ? "0% 100%" : "0% 0%",
34193
+ "z-index": "var(--devui-z-index-dropdown, 1052)"
34194
+ }));
34081
34195
  const renderBasicDropdown = () => {
34082
34196
  return createVNode(Transition, {
34083
- "name": "fade"
34197
+ "name": ns2.m(`fade-${currentPosition.value}`)
34084
34198
  }, {
34085
34199
  default: () => [createVNode(FlexibleOverlay, {
34086
34200
  "ref": overlayRef,
@@ -34088,9 +34202,9 @@ var EditableSelect = defineComponent({
34088
34202
  "onUpdate:modelValue": ($event) => states.visible = $event,
34089
34203
  "origin": originRef.value,
34090
34204
  "position": position.value,
34091
- "style": {
34092
- zIndex: "var(--devui-z-index-dropdown, 1052)"
34093
- }
34205
+ "align": align.value,
34206
+ "style": styles.value,
34207
+ "onPositionChange": handlePositionChange
34094
34208
  }, {
34095
34209
  default: () => [createVNode(Dropdown, {
34096
34210
  "options": filteredOptions.value,
@@ -34142,13 +34256,9 @@ var EditableSelect = defineComponent({
34142
34256
  }, [withDirectives(createVNode("span", {
34143
34257
  "class": ns2.e("clear-icon"),
34144
34258
  "onClick": withModifiers(handleClear, ["stop"])
34145
- }, [createVNode(DIcon, {
34146
- "name": "icon-remove"
34147
- }, null)]), [[vShow, showClearable.value]]), withDirectives(createVNode("span", {
34259
+ }, [createVNode(InputClearIcon, null, null)]), [[vShow, showClearable.value]]), withDirectives(createVNode("span", {
34148
34260
  "class": ns2.e("arrow-icon")
34149
- }, [createVNode(DIcon, {
34150
- "name": "select-arrow"
34151
- }, null)]), [[vShow, !showClearable.value]])])])]), renderDropdown()]);
34261
+ }, [createVNode(SelectArrowIcon, null, null)]), [[vShow, !showClearable.value]])])])]), renderDropdown()]);
34152
34262
  };
34153
34263
  }
34154
34264
  });
@@ -39514,6 +39624,10 @@ const mentionProps = {
39514
39624
  trigger: {
39515
39625
  type: Array,
39516
39626
  default: ["@"]
39627
+ },
39628
+ showGlowStyle: {
39629
+ type: Boolean,
39630
+ default: true
39517
39631
  }
39518
39632
  };
39519
39633
  const textareaProps = {
@@ -39552,6 +39666,10 @@ const textareaProps = {
39552
39666
  validateEvent: {
39553
39667
  type: Boolean,
39554
39668
  default: true
39669
+ },
39670
+ showGlowStyle: {
39671
+ type: Boolean,
39672
+ default: true
39555
39673
  }
39556
39674
  };
39557
39675
  function useTextareaRender(props) {
@@ -39560,10 +39678,11 @@ function useTextareaRender(props) {
39560
39678
  const ns2 = useNamespace$1("textarea");
39561
39679
  const isValidateError = computed(() => (formItemContext == null ? void 0 : formItemContext.validateState) === "error");
39562
39680
  const isFocus = ref(false);
39563
- const { error: error2, disabled } = toRefs(props);
39681
+ const { error: error2, disabled, showGlowStyle } = toRefs(props);
39564
39682
  const textareaDisabled = computed(() => disabled.value || (formContext == null ? void 0 : formContext.disabled));
39565
39683
  const wrapClasses = computed(() => ({
39566
39684
  [ns2.b()]: true,
39685
+ [ns2.m("glow-style")]: showGlowStyle.value,
39567
39686
  [ns2.m("focus")]: isFocus.value,
39568
39687
  [ns2.m("disabled")]: textareaDisabled.value,
39569
39688
  [ns2.m("error")]: error2.value || isValidateError.value,
@@ -39876,6 +39995,7 @@ var Mention = defineComponent({
39876
39995
  }, [createVNode(resolveComponent("d-textarea"), {
39877
39996
  "modelValue": textContext.value,
39878
39997
  "onUpdate:modelValue": ($event) => textContext.value = $event,
39998
+ "show-glow-style": props.showGlowStyle,
39879
39999
  "onUpdate": handleUpdate,
39880
40000
  "onFocus": handleFocus
39881
40001
  }, null), showSuggestions.value ? loading2.value ? createVNode("div", {
@@ -42076,7 +42196,7 @@ function useSelect$2(props, selectRef, ctx2, focus, blur2, isSelectFocus, t) {
42076
42196
  };
42077
42197
  const getInjectOptions = (values) => {
42078
42198
  return values.map((value) => {
42079
- if (props.multiple && props.allowCreate) {
42199
+ if (props.allowCreate) {
42080
42200
  const option2 = injectOptions.value.get(value);
42081
42201
  if (option2) {
42082
42202
  return option2;
@@ -42150,6 +42270,9 @@ function useSelect$2(props, selectRef, ctx2, focus, blur2, isSelectFocus, t) {
42150
42270
  }
42151
42271
  getMultipleSelected(checkedItems);
42152
42272
  } else {
42273
+ if (item.create) {
42274
+ filterQuery.value = "";
42275
+ }
42153
42276
  ctx2.emit("update:modelValue", item.value);
42154
42277
  getSingleSelected(item);
42155
42278
  toggleChange(false);
@@ -42391,6 +42514,10 @@ const selectProps = {
42391
42514
  multipleLimit: {
42392
42515
  type: Number,
42393
42516
  default: 0
42517
+ },
42518
+ showGlowStyle: {
42519
+ type: Boolean,
42520
+ default: true
42394
42521
  }
42395
42522
  };
42396
42523
  const optionProps = {
@@ -42538,7 +42665,8 @@ function useSelectContent() {
42538
42665
  const selectionCls = computed(() => {
42539
42666
  return className$1(ns2.e("selection"), {
42540
42667
  [ns2.e("clearable")]: mergeClearable.value,
42541
- [ns2.em("selection", "error")]: isValidateError.value
42668
+ [ns2.em("selection", "error")]: isValidateError.value,
42669
+ [ns2.em("selection", "glow-style")]: Boolean(select2 == null ? void 0 : select2.showGlowStyle)
42542
42670
  });
42543
42671
  });
42544
42672
  const inputCls = computed(() => {
@@ -44310,6 +44438,10 @@ const radioCommonProps = {
44310
44438
  type: Boolean,
44311
44439
  default: false
44312
44440
  },
44441
+ showGlowStyle: {
44442
+ type: Boolean,
44443
+ default: true
44444
+ },
44313
44445
  size: {
44314
44446
  type: String
44315
44447
  }
@@ -44476,17 +44608,18 @@ var Radio = defineComponent({
44476
44608
  const radioCls = {
44477
44609
  [ns2.e("wrapper")]: true
44478
44610
  };
44479
- const labelCls = {
44611
+ const labelCls = computed(() => ({
44480
44612
  active: isChecked.value,
44481
44613
  disabled: isDisabled.value,
44482
44614
  [ns2.b()]: true,
44483
44615
  [ns2.m("bordered")]: border.value,
44484
- [ns2.m(size.value)]: size.value
44485
- };
44616
+ [ns2.m(size.value)]: border.value,
44617
+ [ns2.m("glow-style")]: props.showGlowStyle
44618
+ }));
44486
44619
  return createVNode("div", {
44487
44620
  "class": radioCls
44488
44621
  }, [createVNode("label", {
44489
- "class": labelCls
44622
+ "class": labelCls.value
44490
44623
  }, [createVNode("input", {
44491
44624
  "type": "radio",
44492
44625
  "name": radioName.value,
@@ -44497,30 +44630,7 @@ var Radio = defineComponent({
44497
44630
  "checked": isChecked.value
44498
44631
  }, null), createVNode("span", {
44499
44632
  "class": ns2.e("material")
44500
- }, [createVNode("svg", {
44501
- "height": "100%",
44502
- "width": "100%",
44503
- "viewBox": "0 0 1024 1024",
44504
- "xmlns": "http://www.w3.org/2000/svg"
44505
- }, [createVNode("circle", {
44506
- "class": {
44507
- [ns2.e("material-outer")]: true,
44508
- disabled: isDisabled.value
44509
- },
44510
- "cx": "512",
44511
- "cy": "512",
44512
- "r": "486.5",
44513
- "stroke-width": "51"
44514
- }, null), createVNode("circle", {
44515
- "class": {
44516
- [ns2.e("material-inner")]: true,
44517
- disabled: isDisabled.value
44518
- },
44519
- "cx": "512",
44520
- "fill-rule": "nonzero",
44521
- "cy": "512",
44522
- "r": "320"
44523
- }, null)])]), createVNode("span", {
44633
+ }, null), createVNode("span", {
44524
44634
  "class": ns2.e("label")
44525
44635
  }, [(_b = (_a2 = ctx2.slots).default) == null ? void 0 : _b.call(_a2)])])]);
44526
44636
  };
@@ -47431,6 +47541,8 @@ var Switch = defineComponent({
47431
47541
  switchDisabled,
47432
47542
  switchSize
47433
47543
  } = useSwitch(props, ctx2);
47544
+ const AnimationNumberDurationSlow = 300;
47545
+ const isMousedown = ref(false);
47434
47546
  return () => {
47435
47547
  const switchCls = {
47436
47548
  [ns2.b()]: true,
@@ -47444,17 +47556,29 @@ var Switch = defineComponent({
47444
47556
  const switchWrapperStyle = [`background: ${checked.value && !switchDisabled.value ? props.color : ""}`, `border-color: ${checked.value && !switchDisabled.value ? props.color : ""}`];
47445
47557
  const checkedContent = renderSlot(useSlots(), "checkedContent");
47446
47558
  const uncheckedContent = renderSlot(useSlots(), "uncheckedContent");
47559
+ const onMousedown2 = () => {
47560
+ isMousedown.value = true;
47561
+ };
47562
+ const onMouseup = () => {
47563
+ setTimeout(() => {
47564
+ isMousedown.value = false;
47565
+ }, AnimationNumberDurationSlow / 2);
47566
+ };
47447
47567
  return createVNode("div", {
47448
47568
  "class": switchCls
47449
47569
  }, [createVNode("span", {
47450
47570
  "class": switchWrapperCls,
47451
47571
  "style": switchWrapperStyle,
47452
- "onClick": toggle
47572
+ "onClick": toggle,
47573
+ "onMousedown": onMousedown2,
47574
+ "onMouseup": onMouseup
47453
47575
  }, [createVNode("span", {
47454
47576
  "class": ns2.e("inner-wrapper")
47455
47577
  }, [createVNode("div", {
47456
47578
  "class": ns2.e("inner")
47457
- }, [checked.value ? checkedContent : uncheckedContent])]), createVNode("small", null, null)])]);
47579
+ }, [checked.value ? checkedContent : uncheckedContent])]), createVNode("small", {
47580
+ "class": isMousedown.value && !props.disabled && "mouseDown"
47581
+ }, null)])]);
47458
47582
  };
47459
47583
  }
47460
47584
  });
@@ -50199,6 +50323,14 @@ var TimePicker = defineComponent({
50199
50323
  const activeSecond = ref("00");
50200
50324
  const format2 = props.format.toLowerCase();
50201
50325
  const position = ref(["bottom-start", "top-start"]);
50326
+ const currentPosition = ref("bottom");
50327
+ const handlePositionChange = (pos) => {
50328
+ currentPosition.value = pos.split("-")[0] === "top" ? "top" : "bottom";
50329
+ };
50330
+ const styles = computed(() => ({
50331
+ transformOrigin: currentPosition.value === "top" ? "0% 100%" : "0% 0%",
50332
+ "z-index": "var(--devui-z-index-dropdown, 1052)"
50333
+ }));
50202
50334
  const {
50203
50335
  showPopup,
50204
50336
  trueTimeValue,
@@ -50240,6 +50372,7 @@ var TimePicker = defineComponent({
50240
50372
  "placeholder": props.placeholder,
50241
50373
  "disabled": props.disabled,
50242
50374
  "readonly": props.readonly,
50375
+ "show-glow-style": props.showGlowStyle,
50243
50376
  "size": props.size,
50244
50377
  "onFocus": clickVerifyFun
50245
50378
  }, {
@@ -50260,7 +50393,7 @@ var TimePicker = defineComponent({
50260
50393
  "to": "body"
50261
50394
  }, {
50262
50395
  default: () => [createVNode(Transition, {
50263
- "name": "fade"
50396
+ "name": ns2.m(`fade-${currentPosition.value}`)
50264
50397
  }, {
50265
50398
  default: () => {
50266
50399
  var _a2;
@@ -50271,9 +50404,8 @@ var TimePicker = defineComponent({
50271
50404
  "origin": (_a2 = inputDom.value) == null ? void 0 : _a2.$el,
50272
50405
  "position": position.value,
50273
50406
  "align": "start",
50274
- "style": {
50275
- zIndex: "var(--devui-z-index-dropdown, 1052)"
50276
- }
50407
+ "style": styles.value,
50408
+ "onPositionChange": handlePositionChange
50277
50409
  }, {
50278
50410
  default: () => [createVNode(TimePopup, {
50279
50411
  "ref": timePopupDom,
@@ -54188,7 +54320,7 @@ const installs = [
54188
54320
  VirtualListInstall
54189
54321
  ];
54190
54322
  var vueDevui = {
54191
- version: "1.6.5",
54323
+ version: "1.6.7",
54192
54324
  install(app) {
54193
54325
  installs.forEach((p) => app.use(p));
54194
54326
  }