vue-devui 1.6.5 → 1.6.6

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 (90) 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/modal/style.css +1 -1
  37. package/overlay/style.css +1 -1
  38. package/package.json +1 -1
  39. package/pagination/index.es.js +28 -10
  40. package/pagination/index.umd.js +14 -14
  41. package/pagination/style.css +1 -1
  42. package/popover/style.css +1 -1
  43. package/radio/index.es.js +10 -28
  44. package/radio/index.umd.js +9 -9
  45. package/radio/style.css +1 -1
  46. package/search/index.es.js +6 -1
  47. package/search/index.umd.js +6 -6
  48. package/search/style.css +1 -1
  49. package/select/index.es.js +28 -10
  50. package/select/index.umd.js +15 -15
  51. package/select/style.css +1 -1
  52. package/splitter/style.css +1 -1
  53. package/style.css +2 -2
  54. package/switch/index.es.js +16 -2
  55. package/switch/index.umd.js +15 -15
  56. package/switch/style.css +1 -1
  57. package/table/index.es.js +46 -13
  58. package/table/index.umd.js +12 -12
  59. package/table/style.css +1 -1
  60. package/textarea/index.es.js +6 -1
  61. package/textarea/index.umd.js +1 -1
  62. package/textarea/style.css +1 -1
  63. package/time-picker/index.es.js +45 -8
  64. package/time-picker/index.umd.js +9 -9
  65. package/time-picker/style.css +1 -1
  66. package/time-select/index.es.js +28 -10
  67. package/time-select/index.umd.js +8 -8
  68. package/time-select/style.css +1 -1
  69. package/tooltip/style.css +1 -1
  70. package/tree/index.es.js +22 -9
  71. package/tree/index.umd.js +9 -9
  72. package/tree/style.css +1 -1
  73. package/types/auto-complete/src/auto-complete-types.d.ts +4 -0
  74. package/types/cascader/src/cascader-types.d.ts +4 -0
  75. package/types/checkbox/src/checkbox-types.d.ts +8 -0
  76. package/types/date-picker-pro/src/date-picker-pro-types.d.ts +12 -0
  77. package/types/date-picker-pro/src/range-date-picker-types.d.ts +4 -0
  78. package/types/editable-select/src/editable-select-types.d.ts +4 -0
  79. package/types/input/src/input-types.d.ts +4 -0
  80. package/types/input-icon/src/input-icon.d.ts +9 -0
  81. package/types/input-number/src/input-number-types.d.ts +4 -0
  82. package/types/mention/src/mention-types.d.ts +4 -0
  83. package/types/mention/src/mention.d.ts +9 -0
  84. package/types/radio/src/radio-types.d.ts +8 -0
  85. package/types/select/src/select-types.d.ts +4 -0
  86. package/types/textarea/src/textarea-types.d.ts +4 -0
  87. package/types/time-picker/src/components/time-scroll/index.d.ts +9 -0
  88. package/types/time-picker/src/time-picker-types.d.ts +4 -0
  89. package/vue-devui.es.js +208 -79
  90. 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", {
@@ -42391,6 +42511,10 @@ const selectProps = {
42391
42511
  multipleLimit: {
42392
42512
  type: Number,
42393
42513
  default: 0
42514
+ },
42515
+ showGlowStyle: {
42516
+ type: Boolean,
42517
+ default: true
42394
42518
  }
42395
42519
  };
42396
42520
  const optionProps = {
@@ -42538,7 +42662,8 @@ function useSelectContent() {
42538
42662
  const selectionCls = computed(() => {
42539
42663
  return className$1(ns2.e("selection"), {
42540
42664
  [ns2.e("clearable")]: mergeClearable.value,
42541
- [ns2.em("selection", "error")]: isValidateError.value
42665
+ [ns2.em("selection", "error")]: isValidateError.value,
42666
+ [ns2.em("selection", "glow-style")]: Boolean(select2 == null ? void 0 : select2.showGlowStyle)
42542
42667
  });
42543
42668
  });
42544
42669
  const inputCls = computed(() => {
@@ -44310,6 +44435,10 @@ const radioCommonProps = {
44310
44435
  type: Boolean,
44311
44436
  default: false
44312
44437
  },
44438
+ showGlowStyle: {
44439
+ type: Boolean,
44440
+ default: true
44441
+ },
44313
44442
  size: {
44314
44443
  type: String
44315
44444
  }
@@ -44476,17 +44605,18 @@ var Radio = defineComponent({
44476
44605
  const radioCls = {
44477
44606
  [ns2.e("wrapper")]: true
44478
44607
  };
44479
- const labelCls = {
44608
+ const labelCls = computed(() => ({
44480
44609
  active: isChecked.value,
44481
44610
  disabled: isDisabled.value,
44482
44611
  [ns2.b()]: true,
44483
44612
  [ns2.m("bordered")]: border.value,
44484
- [ns2.m(size.value)]: size.value
44485
- };
44613
+ [ns2.m(size.value)]: border.value,
44614
+ [ns2.m("glow-style")]: props.showGlowStyle
44615
+ }));
44486
44616
  return createVNode("div", {
44487
44617
  "class": radioCls
44488
44618
  }, [createVNode("label", {
44489
- "class": labelCls
44619
+ "class": labelCls.value
44490
44620
  }, [createVNode("input", {
44491
44621
  "type": "radio",
44492
44622
  "name": radioName.value,
@@ -44497,30 +44627,7 @@ var Radio = defineComponent({
44497
44627
  "checked": isChecked.value
44498
44628
  }, null), createVNode("span", {
44499
44629
  "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", {
44630
+ }, null), createVNode("span", {
44524
44631
  "class": ns2.e("label")
44525
44632
  }, [(_b = (_a2 = ctx2.slots).default) == null ? void 0 : _b.call(_a2)])])]);
44526
44633
  };
@@ -47431,6 +47538,8 @@ var Switch = defineComponent({
47431
47538
  switchDisabled,
47432
47539
  switchSize
47433
47540
  } = useSwitch(props, ctx2);
47541
+ const AnimationNumberDurationSlow = 300;
47542
+ const isMousedown = ref(false);
47434
47543
  return () => {
47435
47544
  const switchCls = {
47436
47545
  [ns2.b()]: true,
@@ -47444,17 +47553,29 @@ var Switch = defineComponent({
47444
47553
  const switchWrapperStyle = [`background: ${checked.value && !switchDisabled.value ? props.color : ""}`, `border-color: ${checked.value && !switchDisabled.value ? props.color : ""}`];
47445
47554
  const checkedContent = renderSlot(useSlots(), "checkedContent");
47446
47555
  const uncheckedContent = renderSlot(useSlots(), "uncheckedContent");
47556
+ const onMousedown2 = () => {
47557
+ isMousedown.value = true;
47558
+ };
47559
+ const onMouseup = () => {
47560
+ setTimeout(() => {
47561
+ isMousedown.value = false;
47562
+ }, AnimationNumberDurationSlow / 2);
47563
+ };
47447
47564
  return createVNode("div", {
47448
47565
  "class": switchCls
47449
47566
  }, [createVNode("span", {
47450
47567
  "class": switchWrapperCls,
47451
47568
  "style": switchWrapperStyle,
47452
- "onClick": toggle
47569
+ "onClick": toggle,
47570
+ "onMousedown": onMousedown2,
47571
+ "onMouseup": onMouseup
47453
47572
  }, [createVNode("span", {
47454
47573
  "class": ns2.e("inner-wrapper")
47455
47574
  }, [createVNode("div", {
47456
47575
  "class": ns2.e("inner")
47457
- }, [checked.value ? checkedContent : uncheckedContent])]), createVNode("small", null, null)])]);
47576
+ }, [checked.value ? checkedContent : uncheckedContent])]), createVNode("small", {
47577
+ "class": isMousedown.value && !props.disabled && "mouseDown"
47578
+ }, null)])]);
47458
47579
  };
47459
47580
  }
47460
47581
  });
@@ -50199,6 +50320,14 @@ var TimePicker = defineComponent({
50199
50320
  const activeSecond = ref("00");
50200
50321
  const format2 = props.format.toLowerCase();
50201
50322
  const position = ref(["bottom-start", "top-start"]);
50323
+ const currentPosition = ref("bottom");
50324
+ const handlePositionChange = (pos) => {
50325
+ currentPosition.value = pos.split("-")[0] === "top" ? "top" : "bottom";
50326
+ };
50327
+ const styles = computed(() => ({
50328
+ transformOrigin: currentPosition.value === "top" ? "0% 100%" : "0% 0%",
50329
+ "z-index": "var(--devui-z-index-dropdown, 1052)"
50330
+ }));
50202
50331
  const {
50203
50332
  showPopup,
50204
50333
  trueTimeValue,
@@ -50240,6 +50369,7 @@ var TimePicker = defineComponent({
50240
50369
  "placeholder": props.placeholder,
50241
50370
  "disabled": props.disabled,
50242
50371
  "readonly": props.readonly,
50372
+ "show-glow-style": props.showGlowStyle,
50243
50373
  "size": props.size,
50244
50374
  "onFocus": clickVerifyFun
50245
50375
  }, {
@@ -50260,7 +50390,7 @@ var TimePicker = defineComponent({
50260
50390
  "to": "body"
50261
50391
  }, {
50262
50392
  default: () => [createVNode(Transition, {
50263
- "name": "fade"
50393
+ "name": ns2.m(`fade-${currentPosition.value}`)
50264
50394
  }, {
50265
50395
  default: () => {
50266
50396
  var _a2;
@@ -50271,9 +50401,8 @@ var TimePicker = defineComponent({
50271
50401
  "origin": (_a2 = inputDom.value) == null ? void 0 : _a2.$el,
50272
50402
  "position": position.value,
50273
50403
  "align": "start",
50274
- "style": {
50275
- zIndex: "var(--devui-z-index-dropdown, 1052)"
50276
- }
50404
+ "style": styles.value,
50405
+ "onPositionChange": handlePositionChange
50277
50406
  }, {
50278
50407
  default: () => [createVNode(TimePopup, {
50279
50408
  "ref": timePopupDom,
@@ -54188,7 +54317,7 @@ const installs = [
54188
54317
  VirtualListInstall
54189
54318
  ];
54190
54319
  var vueDevui = {
54191
- version: "1.6.5",
54320
+ version: "1.6.6",
54192
54321
  install(app) {
54193
54322
  installs.forEach((p) => app.use(p));
54194
54323
  }