vue-devui 1.6.4 → 1.6.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 (77) hide show
  1. package/auto-complete/index.es.js +1 -2
  2. package/auto-complete/index.umd.js +1 -1
  3. package/breadcrumb/index.es.js +2 -15
  4. package/breadcrumb/index.umd.js +1 -1
  5. package/button/index.es.js +1 -2
  6. package/button/index.umd.js +1 -1
  7. package/carousel/index.es.js +36 -213
  8. package/carousel/index.umd.js +1 -1
  9. package/carousel/style.css +1 -1
  10. package/category-search/index.es.js +3 -17
  11. package/category-search/index.umd.js +10 -10
  12. package/collapse/index.es.js +15 -18
  13. package/collapse/index.umd.js +5 -5
  14. package/data-grid/index.es.js +3 -17
  15. package/data-grid/index.umd.js +6 -6
  16. package/date-picker-pro/index.es.js +21 -6
  17. package/date-picker-pro/index.umd.js +12 -12
  18. package/date-picker-pro/style.css +1 -1
  19. package/dropdown/index.es.js +2 -15
  20. package/dropdown/index.umd.js +1 -1
  21. package/editable-select/index.es.js +2 -3
  22. package/editable-select/index.umd.js +2 -2
  23. package/editor-md/index.es.js +32 -18
  24. package/editor-md/index.umd.js +15 -15
  25. package/icon/index.es.js +1 -2
  26. package/icon/index.umd.js +1 -1
  27. package/input/index.es.js +21 -6
  28. package/input/index.umd.js +11 -11
  29. package/input/style.css +1 -1
  30. package/mention/index.es.js +1 -2
  31. package/mention/index.umd.js +1 -1
  32. package/message/index.es.js +1 -2
  33. package/message/index.umd.js +1 -1
  34. package/modal/index.es.js +27 -4
  35. package/modal/index.umd.js +7 -1
  36. package/modal/style.css +1 -1
  37. package/notification/index.es.js +1 -2
  38. package/notification/index.umd.js +2 -2
  39. package/package.json +1 -1
  40. package/pagination/index.es.js +55 -253
  41. package/pagination/index.umd.js +18 -23
  42. package/pagination/style.css +1 -1
  43. package/result/index.es.js +1 -2
  44. package/result/index.umd.js +1 -1
  45. package/search/index.es.js +48 -27
  46. package/search/index.umd.js +18 -14
  47. package/search/style.css +1 -1
  48. package/select/index.es.js +43 -42
  49. package/select/index.umd.js +11 -16
  50. package/select/style.css +1 -1
  51. package/steps/index.es.js +1 -2
  52. package/steps/index.umd.js +1 -1
  53. package/style.css +2 -2
  54. package/table/index.es.js +3 -17
  55. package/table/index.umd.js +6 -6
  56. package/time-picker/index.es.js +21 -6
  57. package/time-picker/index.umd.js +16 -16
  58. package/time-picker/style.css +1 -1
  59. package/time-select/index.es.js +43 -42
  60. package/time-select/index.umd.js +9 -14
  61. package/time-select/style.css +1 -1
  62. package/timeline/index.es.js +1 -2
  63. package/timeline/index.umd.js +1 -1
  64. package/types/carousel/src/components/carousel-icons.d.ts +2 -0
  65. package/types/dropdown/src/use-dropdown.d.ts +1 -1
  66. package/types/editor-md/src/composables/use-editor-md.d.ts +1 -0
  67. package/types/editor-md/src/editor-md-types.d.ts +3 -0
  68. package/types/icon/src/icon-types.d.ts +0 -1
  69. package/types/modal/src/components/modal-icons.d.ts +1 -0
  70. package/types/svg-icons/index.d.ts +3 -0
  71. package/upload/index.es.js +1 -2
  72. package/upload/index.umd.js +2 -2
  73. package/vue-devui.es.js +186 -96
  74. package/vue-devui.umd.js +97 -86
  75. package/types/search/src/components/search-close-icon.d.ts +0 -2
  76. package/types/search/src/components/search-icon.d.ts +0 -2
  77. package/types/select/src/components/select-arrow-icon.d.ts +0 -2
@@ -29,7 +29,7 @@ var __objRest = (source, exclude) => {
29
29
  }
30
30
  return target;
31
31
  };
32
- import { defineComponent, watch, provide, reactive, toRefs, createVNode, onUnmounted, Transition, mergeProps, ref, unref, nextTick, withModifiers, Comment, Text, h, Fragment, inject, withDirectives, cloneVNode, computed, onMounted, Teleport, createTextVNode, onBeforeUnmount, toRef, onBeforeMount, vShow, resolveComponent, getCurrentInstance, resolveDirective, resolveDynamicComponent } from "vue";
32
+ import { defineComponent, watch, provide, reactive, toRefs, createVNode, onUnmounted, Transition, mergeProps, ref, unref, nextTick, withModifiers, Comment, Text, h, Fragment, inject, withDirectives, cloneVNode, computed, onMounted, Teleport, createTextVNode, onBeforeUnmount, toRef, onBeforeMount, vShow, resolveComponent, getCurrentInstance, resolveDirective } from "vue";
33
33
  import { onClickOutside } from "@vueuse/core";
34
34
  import "clipboard";
35
35
  import { offset, autoPlacement, arrow, shift, computePosition } from "@floating-ui/dom";
@@ -5587,9 +5587,6 @@ function useNamespace(block, needDot = false) {
5587
5587
  em
5588
5588
  };
5589
5589
  }
5590
- function isUrl(value) {
5591
- return /^((http|https):)?\/\//.test(value);
5592
- }
5593
5590
  function useFieldCollection() {
5594
5591
  const itemContexts = [];
5595
5592
  const addItemContext = (field) => {
@@ -8143,6 +8140,9 @@ function useSelect(props, selectRef, ctx2, focus, blur, isSelectFocus, t) {
8143
8140
  (_a = dropdownRef.value) == null ? void 0 : _a.updatePosition();
8144
8141
  }
8145
8142
  }, { flush: "post" });
8143
+ onMounted(() => {
8144
+ nextTick(updateInjectOptionsStatus);
8145
+ });
8146
8146
  return {
8147
8147
  selectDisabled,
8148
8148
  selectSize,
@@ -8824,47 +8824,45 @@ var Option = defineComponent({
8824
8824
  };
8825
8825
  }
8826
8826
  });
8827
- const AlertCloseIcon = () => createVNode("svg", {
8828
- "width": "10px",
8829
- "height": "10px",
8830
- "viewBox": "0 0 10 10",
8831
- "version": "1.1",
8832
- "xmlns": "http://www.w3.org/2000/svg"
8833
- }, [createVNode("g", {
8834
- "stroke": "none",
8835
- "stroke-width": "1",
8836
- "fill": "none",
8837
- "fill-rule": "evenodd"
8838
- }, [createVNode("g", {
8839
- "transform": "translate(-3.000000, -3.000000)",
8840
- "fill-rule": "nonzero"
8841
- }, [createVNode("path", {
8842
- "d": `M11.6426,3.19816936 C11.9239974,2.91574512 12.4131626,2.93784891 12.7352108,3.24751057 C13.0571998,3.5572302
8843
- 13.0901298,4.03723416 12.8087324,4.31965839 L9.14064666,7.99900183 L12.8087324,11.6803416 C13.0645482,11.9370909
8844
- 13.0605893,12.3571292 12.8158402,12.6640749 L12.7352108,12.7524894 C12.4131626,13.0621511 11.9239974,13.0842548
8845
- 11.6426,12.8018306 L8,9.14489021 L4.35740003,12.8018306 C4.10158422,13.05858 3.6740594,13.0636532 3.35648225,12.8298003
8846
- L3.26478919,12.7524894 C2.94280021,12.4427698 2.90987023,11.9627658 3.19126762,11.6803416 L6.8583349,7.99900183
8847
- L3.19126762,4.31965839 C2.93545181,4.06290908 2.93941068,3.64287076 3.18415975,3.3359251 L3.26478919,3.24751057
8848
- C3.58683735,2.93784891 4.07600264,2.91574512 4.35740003,3.19816936 L8,6.85411161 L11.6426,3.19816936 Z`
8849
- }, null)])])]);
8850
- const SelectArrowIcon = () => createVNode("svg", {
8851
- "width": "1em",
8852
- "height": "1em",
8853
- "viewBox": "0 0 16 16",
8854
- "version": "1.1",
8855
- "xmlns": "http://www.w3.org/2000/svg"
8856
- }, [createVNode("g", {
8857
- "stroke": "none",
8858
- "stroke-width": "1",
8859
- "fill": "none",
8860
- "fill-rule": "evenodd"
8861
- }, [createVNode("path", {
8862
- "d": `M12.1464466,6.85355339 L8.35355339,10.6464466 C8.15829124,10.8417088 7.84170876,10.8417088
8863
- 7.64644661,10.6464466 L3.85355339,6.85355339 C3.65829124,6.65829124 3.65829124,6.34170876
8864
- 3.85355339,6.14644661 C3.94732158,6.05267842 4.07449854,6 4.20710678,6 L11.7928932,6 C12.0690356,6
8865
- 12.2928932,6.22385763 12.2928932,6.5 C12.2928932,6.63260824 12.2402148,6.7597852 12.1464466,6.85355339 Z`,
8866
- "fill-rule": "nonzero"
8867
- }, null)])]);
8827
+ function SelectArrowIcon() {
8828
+ return createVNode("svg", {
8829
+ "width": "16px",
8830
+ "height": "16px",
8831
+ "viewBox": "0 0 16 16",
8832
+ "version": "1.1",
8833
+ "xmlns": "http://www.w3.org/2000/svg"
8834
+ }, [createVNode("g", {
8835
+ "stroke": "none",
8836
+ "stroke-width": "1",
8837
+ "fill": "none",
8838
+ "fill-rule": "evenodd"
8839
+ }, [createVNode("path", {
8840
+ "d": `M3.64644661,5.64644661 C3.82001296,5.47288026 4.08943736,5.45359511 4.2843055,5.58859116 L4.35355339,5.64644661
8841
+ L8,9.293 L11.6464466,5.64644661 C11.820013,5.47288026 12.0894374,5.45359511 12.2843055,5.58859116 L12.3535534,5.64644661
8842
+ C12.5271197,5.82001296 12.5464049,6.08943736 12.4114088,6.2843055 L12.3535534,6.35355339 L8.35355339,10.3535534
8843
+ C8.17998704,10.5271197 7.91056264,10.5464049 7.7156945,10.4114088 L7.64644661,10.3535534 L3.64644661,6.35355339
8844
+ C3.45118446,6.15829124 3.45118446,5.84170876 3.64644661,5.64644661 Z`
8845
+ }, null)])]);
8846
+ }
8847
+ function InputClearIcon() {
8848
+ return createVNode("svg", {
8849
+ "width": "16px",
8850
+ "height": "16px",
8851
+ "viewBox": "0 0 16 16",
8852
+ "version": "1.1",
8853
+ "xmlns": "http://www.w3.org/2000/svg"
8854
+ }, [createVNode("g", {
8855
+ "stroke": "none",
8856
+ "stroke-width": "1",
8857
+ "fill": "none",
8858
+ "fill-rule": "evenodd"
8859
+ }, [createVNode("path", {
8860
+ "d": "M8,1 C11.8659932,1 15,4.13400675 15,8 C15,11.8659932 11.8659932,15 8,15 C4.13400675,15 1,11.8659932 1,8 C1,4.13400675 4.13400675,1 8,1 Z M5.87867966,5.17157288 C5.68341751,4.97631073 5.36683502,4.97631073 5.17157288,5.17157288 C4.99800652,5.34513923 4.97872137,5.61456363 5.11371742,5.80943177 L5.17157288,5.87867966 L7.29218611,7.99929289 L5.17157288,10.1213203 C4.97631073,10.3165825 4.97631073,10.633165 5.17157288,10.8284271 C5.34513923,11.0019935 5.61456363,11.0212786 5.80943177,10.8862826 L5.87867966,10.8284271 L7.99929289,8.70639967 L10.1213203,10.8284271 C10.3165825,11.0236893 10.633165,11.0236893 10.8284271,10.8284271 C11.0019935,10.6548608 11.0212786,10.3854364 10.8862826,10.1905682 L10.8284271,10.1213203 L8.70710678,8 L10.8284271,5.87867966 C11.0236893,5.68341751 11.0236893,5.36683502 10.8284271,5.17157288 C10.6548608,4.99800652 10.3854364,4.97872137 10.1905682,5.11371742 L10.1213203,5.17157288 L8,7.29289322 L5.87867966,5.17157288 Z",
8861
+ "id": "\u5F62\u72B6",
8862
+ "fill": "#D5D5DB",
8863
+ "fill-rule": "nonzero"
8864
+ }, null)])]);
8865
+ }
8868
8866
  const tagProps = {
8869
8867
  type: {
8870
8868
  type: String,
@@ -9351,7 +9349,7 @@ var SelectContent = defineComponent({
9351
9349
  }, null), createVNode("span", {
9352
9350
  "onClick": handleClear,
9353
9351
  "class": clearCls.value
9354
- }, [createVNode(AlertCloseIcon, null, null)]), createVNode("span", {
9352
+ }, [createVNode(InputClearIcon, null, null)]), createVNode("span", {
9355
9353
  "class": arrowCls.value
9356
9354
  }, [createVNode(SelectArrowIcon, null, null)])]);
9357
9355
  };
@@ -10100,188 +10098,6 @@ var PageNumBtn = defineComponent({
10100
10098
  }, [createVNode(NextLinkIcon, null, null)])])]);
10101
10099
  }
10102
10100
  });
10103
- const DEFAULT_PREFIX = "icon";
10104
- const iconProps = {
10105
- name: {
10106
- type: String,
10107
- default: "",
10108
- required: true
10109
- },
10110
- size: {
10111
- type: [Number, String],
10112
- default: "inherit"
10113
- },
10114
- color: {
10115
- type: String,
10116
- default: "inherit"
10117
- },
10118
- component: {
10119
- type: Object,
10120
- default: null
10121
- },
10122
- classPrefix: {
10123
- type: String,
10124
- default: DEFAULT_PREFIX
10125
- },
10126
- operable: {
10127
- type: Boolean,
10128
- default: false
10129
- },
10130
- disabled: {
10131
- type: Boolean,
10132
- default: false
10133
- },
10134
- rotate: {
10135
- type: [Number, String]
10136
- }
10137
- };
10138
- const svgIconProps = {
10139
- name: {
10140
- type: String,
10141
- default: "",
10142
- required: true
10143
- },
10144
- color: {
10145
- type: String,
10146
- default: "inherit"
10147
- },
10148
- size: {
10149
- type: [Number, String],
10150
- default: "inherit"
10151
- }
10152
- };
10153
- var icon = "";
10154
- var svgIcon = defineComponent({
10155
- name: "DSvgIcon",
10156
- props: svgIconProps,
10157
- setup(props) {
10158
- const {
10159
- name,
10160
- color,
10161
- size
10162
- } = toRefs(props);
10163
- const ns2 = useNamespace$1("svg-icon");
10164
- const iconName = computed(() => `#icon-${name.value}`);
10165
- const iconSize = computed(() => {
10166
- return typeof size.value === "number" ? `${size.value}px` : size.value;
10167
- });
10168
- const styles = {
10169
- width: iconSize.value,
10170
- height: iconSize.value
10171
- };
10172
- return () => {
10173
- return createVNode("svg", {
10174
- "class": ns2.b(),
10175
- "style": styles
10176
- }, [createVNode("use", {
10177
- "xlink:href": iconName.value,
10178
- "fill": color.value
10179
- }, null)]);
10180
- };
10181
- }
10182
- });
10183
- function useIconDom(props, ctx2) {
10184
- const {
10185
- component,
10186
- name,
10187
- size,
10188
- color,
10189
- classPrefix,
10190
- rotate
10191
- } = toRefs(props);
10192
- const ns2 = useNamespace$1("icon");
10193
- const iconSize = computed(() => {
10194
- return typeof size.value === "number" ? `${size.value}px` : size.value;
10195
- });
10196
- const IconComponent = component.value ? resolveDynamicComponent(component.value) : resolveDynamicComponent(svgIcon);
10197
- const imgIconDom = () => {
10198
- return createVNode("img", mergeProps({
10199
- "src": name.value,
10200
- "alt": name.value.split("/")[name.value.split("/").length - 1],
10201
- "class": [(rotate == null ? void 0 : rotate.value) === "infinite" && ns2.m("spin")],
10202
- "style": {
10203
- width: iconSize.value || "",
10204
- transform: `rotate(${rotate == null ? void 0 : rotate.value}deg)`,
10205
- verticalAlign: "middle"
10206
- }
10207
- }, ctx2.attrs), null);
10208
- };
10209
- const svgIconDom = () => {
10210
- return createVNode(IconComponent, mergeProps({
10211
- "name": name.value,
10212
- "color": color.value,
10213
- "size": iconSize.value,
10214
- "class": [(rotate == null ? void 0 : rotate.value) === "infinite" && ns2.m("spin")],
10215
- "style": {
10216
- transform: `rotate(${rotate == null ? void 0 : rotate.value}deg)`
10217
- }
10218
- }, ctx2.attrs), null);
10219
- };
10220
- const fontIconDom = () => {
10221
- const fontIconClass = /^icon-/.test(name.value) ? name.value : `${classPrefix.value}-${name.value}`;
10222
- return createVNode("i", mergeProps({
10223
- "class": [classPrefix.value, fontIconClass, (rotate == null ? void 0 : rotate.value) === "infinite" && ns2.m("spin")],
10224
- "style": {
10225
- fontSize: iconSize.value,
10226
- color: color.value,
10227
- transform: `rotate(${rotate == null ? void 0 : rotate.value}deg)`
10228
- }
10229
- }, ctx2.attrs), null);
10230
- };
10231
- const iconDom = () => {
10232
- return component.value ? svgIconDom() : isUrl(name.value) ? imgIconDom() : fontIconDom();
10233
- };
10234
- return {
10235
- iconDom
10236
- };
10237
- }
10238
- var Icon = defineComponent({
10239
- name: "DIcon",
10240
- props: iconProps,
10241
- emits: ["click"],
10242
- setup(props, ctx2) {
10243
- const {
10244
- disabled,
10245
- operable
10246
- } = toRefs(props);
10247
- const {
10248
- iconDom
10249
- } = useIconDom(props, ctx2);
10250
- const ns2 = useNamespace$1("icon");
10251
- const wrapClassed = computed(() => ({
10252
- [ns2.e("container")]: true,
10253
- [ns2.m("disabled")]: disabled.value,
10254
- [ns2.m("operable")]: operable.value,
10255
- [ns2.m("no-slots")]: !Object.keys(ctx2.slots).length
10256
- }));
10257
- const onClick = (e) => {
10258
- if (disabled.value) {
10259
- return;
10260
- }
10261
- ctx2.emit("click", e);
10262
- };
10263
- return () => {
10264
- var _a, _b, _c, _d;
10265
- return createVNode("div", {
10266
- "class": wrapClassed.value,
10267
- "onClick": onClick
10268
- }, [(_b = (_a = ctx2.slots).prefix) == null ? void 0 : _b.call(_a), iconDom(), (_d = (_c = ctx2.slots).suffix) == null ? void 0 : _d.call(_c)]);
10269
- };
10270
- }
10271
- });
10272
- var iconGroup = "";
10273
- defineComponent({
10274
- name: "DIconGroup",
10275
- setup(_, ctx2) {
10276
- const ns2 = useNamespace$1("icon-group");
10277
- return () => {
10278
- var _a, _b;
10279
- return createVNode("div", {
10280
- "class": ns2.b()
10281
- }, [(_b = (_a = ctx2.slots).default) == null ? void 0 : _b.call(_a)]);
10282
- };
10283
- }
10284
- });
10285
10101
  const dropdownProps = {
10286
10102
  visible: {
10287
10103
  type: Boolean,
@@ -10413,17 +10229,7 @@ const useDropdownEvent = ({ id, isOpen, origin, dropdownRef, props, emit }) => {
10413
10229
  onInvalidate(() => subscriptions.forEach((v) => v()));
10414
10230
  });
10415
10231
  };
10416
- function useDropdown(id, visible, isOpen, origin, dropdownRef, popDirection, emit) {
10417
- const calcPopDirection = (dropdownEl) => {
10418
- const elementHeight = dropdownEl.offsetHeight;
10419
- const bottomDistance = window.innerHeight - origin.value.getBoundingClientRect().bottom;
10420
- const isBottomEnough = bottomDistance >= elementHeight;
10421
- if (!isBottomEnough) {
10422
- popDirection.value = "top";
10423
- } else {
10424
- popDirection.value = "bottom";
10425
- }
10426
- };
10232
+ function useDropdown(id, visible, isOpen, origin, dropdownRef, emit) {
10427
10233
  watch(visible, (newVal, oldVal) => {
10428
10234
  if (oldVal === void 0) {
10429
10235
  return;
@@ -10447,9 +10253,6 @@ function useDropdown(id, visible, isOpen, origin, dropdownRef, popDirection, emi
10447
10253
  }
10448
10254
  }
10449
10255
  }
10450
- if (dropdownEl) {
10451
- calcPopDirection(dropdownEl);
10452
- }
10453
10256
  });
10454
10257
  onMounted(() => {
10455
10258
  dropdownMap.set(id, { toggleEl: origin.value });
@@ -10518,7 +10321,7 @@ var Dropdown = defineComponent({
10518
10321
  props,
10519
10322
  emit
10520
10323
  });
10521
- useDropdown(id, visible, isOpen, origin, dropdownRef, currentPosition, emit);
10324
+ useDropdown(id, visible, isOpen, origin, dropdownRef, emit);
10522
10325
  const {
10523
10326
  overlayModelValue,
10524
10327
  overlayShowValue,
@@ -10675,7 +10478,7 @@ var PageSize = defineComponent({
10675
10478
  setup() {
10676
10479
  const ns2 = useNamespace("pagination");
10677
10480
  const paginationContext = inject(paginationInjectionKey);
10678
- const iconRotate = ref(0);
10481
+ const isOpen = ref(false);
10679
10482
  const {
10680
10483
  size,
10681
10484
  currentPageSize,
@@ -10684,8 +10487,13 @@ var PageSize = defineComponent({
10684
10487
  pageSizeChange,
10685
10488
  t
10686
10489
  } = paginationContext;
10490
+ const pageSizeClasses = computed(() => ({
10491
+ [ns2.e("size")]: true,
10492
+ [ns2.em("size", size.value)]: Boolean(size.value),
10493
+ [ns2.em("size", "open")]: isOpen.value
10494
+ }));
10687
10495
  const onDropdownToggle = (e) => {
10688
- iconRotate.value = e ? 180 : 0;
10496
+ isOpen.value = e;
10689
10497
  };
10690
10498
  return () => createVNode(Fragment, null, [createVNode(Dropdown, {
10691
10499
  "position": pageSizeDirection.value,
@@ -10694,14 +10502,8 @@ var PageSize = defineComponent({
10694
10502
  }, {
10695
10503
  default: () => createVNode("div", {
10696
10504
  "tabindex": "0",
10697
- "class": [ns2.e("size"), size.value ? ns2.em("size", size.value) : ""]
10698
- }, [createVNode(Icon, {
10699
- "name": "select-arrow",
10700
- "size": "16px",
10701
- "rotate": iconRotate.value
10702
- }, {
10703
- prefix: () => createVNode("span", null, [currentPageSize.value])
10704
- })]),
10505
+ "class": pageSizeClasses.value
10506
+ }, [createVNode("span", null, [currentPageSize.value]), createVNode(SelectArrowIcon, null, null)]),
10705
10507
  menu: () => createVNode("ul", null, [pageSizeOptions.value.map((item, index2) => createVNode("li", {
10706
10508
  "class": {
10707
10509
  active: item === currentPageSize.value