vue-devui 1.0.0-rc.3 → 1.0.0-rc.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 (134) hide show
  1. package/README.md +144 -129
  2. package/auto-complete/index.es.js +45 -16
  3. package/auto-complete/index.umd.js +3 -3
  4. package/auto-complete/style.css +1 -1
  5. package/button/index.es.js +20 -13
  6. package/button/index.umd.js +1 -1
  7. package/button/style.css +1 -1
  8. package/comment/index.es.js +2 -1
  9. package/comment/index.umd.js +1 -1
  10. package/{tag-input → date-picker}/index.d.ts +0 -0
  11. package/date-picker/index.es.js +1145 -0
  12. package/date-picker/index.umd.js +1 -0
  13. package/date-picker/package.json +7 -0
  14. package/date-picker/style.css +1 -0
  15. package/drawer/index.d.ts +7 -0
  16. package/drawer/index.es.js +236 -0
  17. package/drawer/index.umd.js +1 -0
  18. package/{tag-input → drawer}/package.json +1 -1
  19. package/drawer/style.css +1 -0
  20. package/dropdown/index.d.ts +7 -0
  21. package/dropdown/index.es.js +718 -0
  22. package/dropdown/index.umd.js +1 -0
  23. package/dropdown/package.json +7 -0
  24. package/dropdown/style.css +1 -0
  25. package/form/index.d.ts +7 -0
  26. package/form/index.es.js +7881 -0
  27. package/form/index.umd.js +27 -0
  28. package/form/package.json +7 -0
  29. package/form/style.css +1 -0
  30. package/input/index.es.js +13 -19
  31. package/input/index.umd.js +1 -1
  32. package/input/style.css +1 -1
  33. package/input-number/index.d.ts +7 -0
  34. package/input-number/index.es.js +251 -0
  35. package/input-number/index.umd.js +1 -0
  36. package/input-number/package.json +7 -0
  37. package/input-number/style.css +1 -0
  38. package/layout/index.es.js +3 -1
  39. package/layout/index.umd.js +1 -1
  40. package/loading/index.es.js +20 -13
  41. package/loading/index.umd.js +1 -1
  42. package/modal/index.es.js +16 -4
  43. package/modal/index.umd.js +1 -1
  44. package/notification/index.es.js +100 -10
  45. package/notification/index.umd.js +1 -1
  46. package/notification/style.css +1 -1
  47. package/nuxt/components/Column.js +3 -0
  48. package/nuxt/components/DatePicker.js +3 -0
  49. package/nuxt/components/Drawer.js +3 -0
  50. package/nuxt/components/DrawerService.js +3 -0
  51. package/nuxt/components/Dropdown.js +3 -0
  52. package/nuxt/components/DropdownMenu.js +3 -0
  53. package/nuxt/components/Form.js +3 -0
  54. package/nuxt/components/FormControl.js +3 -0
  55. package/nuxt/components/FormItem.js +3 -0
  56. package/nuxt/components/FormLabel.js +3 -0
  57. package/nuxt/components/FormOperation.js +3 -0
  58. package/nuxt/components/InputNumber.js +3 -0
  59. package/nuxt/components/LoadingOptions.js +3 -0
  60. package/nuxt/components/Select.js +3 -0
  61. package/nuxt/components/StickSlider.js +3 -0
  62. package/nuxt/components/Tab.js +3 -0
  63. package/nuxt/components/Table.js +3 -0
  64. package/nuxt/components/Tabs.js +3 -0
  65. package/nuxt/components/Tooltip.js +3 -0
  66. package/nuxt/components/Tree.js +3 -0
  67. package/nuxt/components/dropdownMenuProps.js +3 -0
  68. package/nuxt/components/loadingProps.js +3 -0
  69. package/nuxt/components/modalProps.js +3 -0
  70. package/nuxt/components/sliderProps.js +3 -0
  71. package/nuxt/components/tabsProps.js +3 -0
  72. package/nuxt/components/tooltipProps.js +3 -0
  73. package/nuxt/components/treeProps.js +3 -0
  74. package/overlay/index.es.js +15 -3
  75. package/overlay/index.umd.js +1 -1
  76. package/package.json +2 -2
  77. package/popover/index.es.js +15 -3
  78. package/popover/index.umd.js +9 -9
  79. package/popover/style.css +1 -1
  80. package/rate/index.es.js +27 -34
  81. package/rate/index.umd.js +1 -1
  82. package/read-tip/index.es.js +32 -29
  83. package/read-tip/index.umd.js +1 -1
  84. package/read-tip/style.css +1 -1
  85. package/search/index.es.js +13 -19
  86. package/search/index.umd.js +12 -12
  87. package/search/style.css +1 -1
  88. package/select/index.d.ts +7 -0
  89. package/select/index.es.js +696 -0
  90. package/select/index.umd.js +1 -0
  91. package/select/package.json +7 -0
  92. package/select/style.css +1 -0
  93. package/skeleton/index.es.js +6 -6
  94. package/skeleton/index.umd.js +1 -1
  95. package/slider/index.es.js +19 -10
  96. package/slider/index.umd.js +1 -1
  97. package/splitter/index.es.js +15 -3
  98. package/splitter/index.umd.js +11 -11
  99. package/style.css +1 -1
  100. package/switch/index.es.js +1 -1
  101. package/switch/index.umd.js +1 -1
  102. package/switch/style.css +1 -1
  103. package/table/index.d.ts +7 -0
  104. package/table/index.es.js +2661 -0
  105. package/table/index.umd.js +1 -0
  106. package/table/package.json +7 -0
  107. package/table/style.css +1 -0
  108. package/tabs/index.d.ts +7 -0
  109. package/tabs/index.es.js +194 -0
  110. package/tabs/index.umd.js +1 -0
  111. package/tabs/package.json +7 -0
  112. package/tabs/style.css +1 -0
  113. package/timeline/index.es.js +2 -2
  114. package/timeline/index.umd.js +1 -1
  115. package/tooltip/index.d.ts +7 -0
  116. package/tooltip/index.es.js +5847 -0
  117. package/tooltip/index.umd.js +27 -0
  118. package/tooltip/package.json +7 -0
  119. package/tooltip/style.css +1 -0
  120. package/tree/index.d.ts +7 -0
  121. package/tree/index.es.js +1021 -0
  122. package/tree/index.umd.js +1 -0
  123. package/tree/package.json +7 -0
  124. package/tree/style.css +1 -0
  125. package/upload/index.es.js +100 -10
  126. package/upload/index.umd.js +1 -1
  127. package/upload/style.css +1 -1
  128. package/vue-devui.es.js +13211 -7394
  129. package/vue-devui.umd.js +24 -24
  130. package/nuxt/components/TagInput.js +0 -3
  131. package/nuxt/components/tagInputProps.js +0 -3
  132. package/tag-input/index.es.js +0 -328
  133. package/tag-input/index.umd.js +0 -1
  134. package/tag-input/style.css +0 -1
package/rate/index.es.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { defineComponent, reactive, ref, onMounted, createVNode, resolveComponent } from "vue";
2
2
  const rateProps = {
3
3
  modelValue: {
4
- type: Number
4
+ type: Number,
5
+ default: 0
5
6
  },
6
7
  read: {
7
8
  type: Boolean,
@@ -54,18 +55,15 @@ var Rate = defineComponent({
54
55
  }
55
56
  };
56
57
  const initRating = () => {
57
- if (!props.modelValue) {
58
- return;
59
- }
60
- chooseValue.value = props.modelValue - 1;
58
+ chooseValue.value = props.modelValue;
61
59
  const halfStar = chooseValue.value % 1;
62
60
  const intCurrentLevel = Math.floor(chooseValue.value);
63
- setChange(0, intCurrentLevel + 1, "100%");
61
+ setChange(0, intCurrentLevel, "100%");
64
62
  if (halfStar > 0) {
65
- totalLevelArray[intCurrentLevel + 1]["width"] = halfStar * 100 + "%";
66
- setChange(intCurrentLevel + 2, props.count, "0");
67
- } else {
63
+ totalLevelArray[intCurrentLevel]["width"] = halfStar * 100 + "%";
68
64
  setChange(intCurrentLevel + 1, props.count, "0");
65
+ } else {
66
+ setChange(intCurrentLevel, props.count, "0");
69
67
  }
70
68
  };
71
69
  onMounted(() => {
@@ -76,33 +74,28 @@ var Rate = defineComponent({
76
74
  }
77
75
  initRating();
78
76
  });
79
- const hoverToggle = (e, index2, reset = false) => {
77
+ const isSemiSelected = (e) => {
78
+ const target = e.target;
79
+ return props.allowHalf && e.offsetX * 2 <= target.clientWidth;
80
+ };
81
+ const hoverToggle = (e, index2) => {
80
82
  if (props.read) {
81
83
  return;
82
84
  }
83
- if (reset) {
84
- if (chooseValue.value >= 0) {
85
- setChange(0, chooseValue.value + 1, "100%");
86
- setChange(chooseValue.value + 1, props.count, "0");
87
- } else {
88
- setChange(0, props.count, "0");
89
- }
90
- } else {
91
- setChange(0, index2 + 1, "100%");
92
- if (props.allowHalf && e.offsetX * 2 <= e.target.clientWidth) {
93
- setChange(index2, index2 + 1, "50%");
94
- } else {
95
- setChange(index2, index2 + 1, "100%");
96
- }
97
- setChange(index2 + 1, props.count, "0");
98
- }
85
+ setChange(0, index2 + 1, "100%");
86
+ const width = isSemiSelected(e) ? "50%" : "100%";
87
+ setChange(index2, index2 + 1, width);
88
+ setChange(index2 + 1, props.count, "0");
89
+ };
90
+ const onMouseleave = () => {
91
+ initRating();
99
92
  };
100
93
  const selectValue = (e, index2) => {
101
94
  if (props.read) {
102
95
  return;
103
96
  }
104
97
  setChange(0, index2, "100%");
105
- if (props.allowHalf && e.offsetX * 2 <= e.target.clientWidth) {
98
+ if (isSemiSelected(e)) {
106
99
  setChange(index2, index2 + 1, "50%");
107
100
  chooseValue.value = index2 - 0.5;
108
101
  } else {
@@ -110,33 +103,33 @@ var Rate = defineComponent({
110
103
  chooseValue.value = index2;
111
104
  }
112
105
  setChange(index2 + 1, props.count, "0");
113
- index2 = chooseValue.value;
114
- props.onChange && props.onChange(index2 + 1);
106
+ props.onChange && props.onChange(chooseValue.value + 1);
115
107
  props.onTouched && props.onTouched();
116
- ctx.emit("update:modelValue", index2 + 1);
108
+ ctx.emit("update:modelValue", chooseValue.value + 1);
117
109
  };
118
110
  return {
119
111
  totalLevelArray,
120
112
  chooseValue,
121
113
  hoverToggle,
122
- selectValue
114
+ selectValue,
115
+ onMouseleave
123
116
  };
124
117
  },
125
118
  render() {
126
119
  const {
127
120
  totalLevelArray,
128
- chooseValue,
129
121
  icon,
130
122
  character,
131
123
  read,
132
124
  type,
133
125
  color,
134
126
  hoverToggle,
135
- selectValue
127
+ selectValue,
128
+ onMouseleave
136
129
  } = this;
137
130
  return createVNode("div", {
138
131
  "class": "devui-star-container",
139
- "onMouseleave": (e) => hoverToggle(e, chooseValue, true)
132
+ "onMouseleave": onMouseleave
140
133
  }, [totalLevelArray.map((item, index2) => createVNode("div", {
141
134
  "class": `devui-star-align devui-pointer ${read ? "devui-only-read" : ""}`,
142
135
  "key": index2,
package/rate/index.umd.js CHANGED
@@ -1 +1 @@
1
- (function(i,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(i=typeof globalThis!="undefined"?globalThis:i||self,t(i.index={},i.Vue))})(this,function(i,t){"use strict";const g={modelValue:{type:Number},read:{type:Boolean,default:!1},count:{type:Number,default:5},type:{type:String,default:""},color:{type:String,default:""},icon:{type:String,default:""},character:{type:String,default:""},allowHalf:{type:Boolean,default:!1},onChange:{type:Function,default:void 0},onTouched:{type:Function,default:void 0}};var V="",f=t.defineComponent({name:"DRate",props:g,emits:["change","update:modelValue"],setup(o,h){const r=t.reactive([]),a=t.ref(0),l=(n,e,c)=>{for(let s=n;s<e;s++)r[s].width=c},d=()=>{if(!o.modelValue)return;a.value=o.modelValue-1;const n=a.value%1,e=Math.floor(a.value);l(0,e+1,"100%"),n>0?(r[e+1].width=n*100+"%",l(e+2,o.count,"0")):l(e+1,o.count,"0")};return t.onMounted(()=>{for(let n=0;n<o.count;n++)r.push({width:"0"});d()}),{totalLevelArray:r,chooseValue:a,hoverToggle:(n,e,c=!1)=>{o.read||(c?a.value>=0?(l(0,a.value+1,"100%"),l(a.value+1,o.count,"0")):l(0,o.count,"0"):(l(0,e+1,"100%"),o.allowHalf&&n.offsetX*2<=n.target.clientWidth?l(e,e+1,"50%"):l(e,e+1,"100%"),l(e+1,o.count,"0")))},selectValue:(n,e)=>{o.read||(l(0,e,"100%"),o.allowHalf&&n.offsetX*2<=n.target.clientWidth?(l(e,e+1,"50%"),a.value=e-.5):(l(e,e+1,"100%"),a.value=e),l(e+1,o.count,"0"),e=a.value,o.onChange&&o.onChange(e+1),o.onTouched&&o.onTouched(),h.emit("update:modelValue",e+1))}}},render(){const{totalLevelArray:o,chooseValue:h,icon:r,character:a,read:l,type:d,color:u,hoverToggle:v,selectValue:n}=this;return t.createVNode("div",{class:"devui-star-container",onMouseleave:e=>v(e,h,!0)},[o.map((e,c)=>t.createVNode("div",{class:`devui-star-align devui-pointer ${l?"devui-only-read":""}`,key:c,onMouseover:s=>v(s,c),onClick:s=>n(s,c)},[r&&!a&&t.createVNode("span",{class:"devui-star-color"},[t.createVNode(t.resolveComponent("d-icon"),{name:r},null)]),a&&!r&&t.createVNode("span",{class:"devui-star-color"},[a]),!r&&!a&&t.createVNode("span",{class:"devui-star-color"},[t.createVNode("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns-xlink":"http://www.w3.org/1999/xlink"},[t.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t.createVNode("g",{fill:"#E3E5E9",id:"Mask"},[t.createVNode("polygon",{points:"8 12.7603585 3.67376208 14.3147912 3.81523437 9.71994835 1 6.0857977 5.41367261 4.80046131 8 1 10.5863274 4.80046131 15 6.0857977 12.1847656 9.71994835 12.3262379 14.3147912"},null)])])])]),r&&!a&&t.createVNode("span",{class:`devui-star-color-active devui-active-star devui-star-color-${d}`,style:{width:e.width}},[t.createVNode(t.resolveComponent("d-icon"),{name:r,color:u},null)]),a&&!r&&t.createVNode("span",{class:`devui-star-color-active devui-active-star devui-star-color-${d}`,style:{color:u,width:e.width}},[a]),!a&&!r&&t.createVNode("span",{class:`devui-star-color-active devui-active-star devui-star-color-${d}`,style:{color:u,width:e.width}},[t.createVNode("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns-xlink":"http://www.w3.org/1999/xlink"},[t.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t.createVNode("g",{id:"Mask"},[t.createVNode("polygon",{points:"8 12.7603585 3.67376208 14.3147912 3.81523437 9.71994835 1 6.0857977 5.41367261 4.80046131 8 1 10.5863274 4.80046131 15 6.0857977 12.1847656 9.71994835 12.3262379 14.3147912"},null)])])])])]))])}}),w={title:"Rate \u8BC4\u5206",category:"\u6570\u636E\u5C55\u793A",status:"100%",install(o){o.component(f.name,f)}};i.Rate=f,i.default=w,i.rateProps=g,Object.defineProperty(i,"__esModule",{value:!0}),i[Symbol.toStringTag]="Module"});
1
+ (function(r,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(r=typeof globalThis!="undefined"?globalThis:r||self,e(r.index={},r.Vue))})(this,function(r,e){"use strict";const g={modelValue:{type:Number,default:0},read:{type:Boolean,default:!1},count:{type:Number,default:5},type:{type:String,default:""},color:{type:String,default:""},icon:{type:String,default:""},character:{type:String,default:""},allowHalf:{type:Boolean,default:!1},onChange:{type:Function,default:void 0},onTouched:{type:Function,default:void 0}};var p="",f=e.defineComponent({name:"DRate",props:g,emits:["change","update:modelValue"],setup(a,i){const n=e.reactive([]),c=e.ref(0),l=(o,t,h)=>{for(let v=o;v<t;v++)n[v].width=h},s=()=>{c.value=a.modelValue;const o=c.value%1,t=Math.floor(c.value);l(0,t,"100%"),o>0?(n[t].width=o*100+"%",l(t+1,a.count,"0")):l(t,a.count,"0")};e.onMounted(()=>{for(let o=0;o<a.count;o++)n.push({width:"0"});s()});const d=o=>{const t=o.target;return a.allowHalf&&o.offsetX*2<=t.clientWidth};return{totalLevelArray:n,chooseValue:c,hoverToggle:(o,t)=>{if(a.read)return;l(0,t+1,"100%");const h=d(o)?"50%":"100%";l(t,t+1,h),l(t+1,a.count,"0")},selectValue:(o,t)=>{a.read||(l(0,t,"100%"),d(o)?(l(t,t+1,"50%"),c.value=t-.5):(l(t,t+1,"100%"),c.value=t),l(t+1,a.count,"0"),a.onChange&&a.onChange(c.value+1),a.onTouched&&a.onTouched(),i.emit("update:modelValue",c.value+1))},onMouseleave:()=>{s()}}},render(){const{totalLevelArray:a,icon:i,character:n,read:c,type:l,color:s,hoverToggle:d,selectValue:w,onMouseleave:V}=this;return e.createVNode("div",{class:"devui-star-container",onMouseleave:V},[a.map((u,o)=>e.createVNode("div",{class:`devui-star-align devui-pointer ${c?"devui-only-read":""}`,key:o,onMouseover:t=>d(t,o),onClick:t=>w(t,o)},[i&&!n&&e.createVNode("span",{class:"devui-star-color"},[e.createVNode(e.resolveComponent("d-icon"),{name:i},null)]),n&&!i&&e.createVNode("span",{class:"devui-star-color"},[n]),!i&&!n&&e.createVNode("span",{class:"devui-star-color"},[e.createVNode("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns-xlink":"http://www.w3.org/1999/xlink"},[e.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[e.createVNode("g",{fill:"#E3E5E9",id:"Mask"},[e.createVNode("polygon",{points:"8 12.7603585 3.67376208 14.3147912 3.81523437 9.71994835 1 6.0857977 5.41367261 4.80046131 8 1 10.5863274 4.80046131 15 6.0857977 12.1847656 9.71994835 12.3262379 14.3147912"},null)])])])]),i&&!n&&e.createVNode("span",{class:`devui-star-color-active devui-active-star devui-star-color-${l}`,style:{width:u.width}},[e.createVNode(e.resolveComponent("d-icon"),{name:i,color:s},null)]),n&&!i&&e.createVNode("span",{class:`devui-star-color-active devui-active-star devui-star-color-${l}`,style:{color:s,width:u.width}},[n]),!n&&!i&&e.createVNode("span",{class:`devui-star-color-active devui-active-star devui-star-color-${l}`,style:{color:s,width:u.width}},[e.createVNode("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns-xlink":"http://www.w3.org/1999/xlink"},[e.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[e.createVNode("g",{id:"Mask"},[e.createVNode("polygon",{points:"8 12.7603585 3.67376208 14.3147912 3.81523437 9.71994835 1 6.0857977 5.41367261 4.80046131 8 1 10.5863274 4.80046131 15 6.0857977 12.1847656 9.71994835 12.3262379 14.3147912"},null)])])])])]))])}}),y={title:"Rate \u8BC4\u5206",category:"\u6570\u636E\u5C55\u793A",status:"100%",install(a){a.component(f.name,f)}};r.Rate=f,r.default=y,r.rateProps=g,Object.defineProperty(r,"__esModule",{value:!0}),r[Symbol.toStringTag]="Module"});
@@ -51,7 +51,8 @@ var TipsTemplate = defineComponent({
51
51
  return deviationConstant;
52
52
  };
53
53
  onMounted(() => {
54
- const domBounding = document.querySelector(query).getBoundingClientRect();
54
+ var _a, _b;
55
+ const domBounding = (_a = document.querySelector(query)) == null ? void 0 : _a.getBoundingClientRect();
55
56
  const {
56
57
  width,
57
58
  height
@@ -61,7 +62,7 @@ var TipsTemplate = defineComponent({
61
62
  const heightDeviation = deviation(height);
62
63
  const widthDeviation = deviation(width);
63
64
  let positionLeft = 0;
64
- const targetDom = document.querySelector(".read-tip-container").getBoundingClientRect();
65
+ const targetDom = (_b = document.querySelector(".read-tip-container")) == null ? void 0 : _b.getBoundingClientRect();
65
66
  if (rule.appendToBody) {
66
67
  positionTop = domBounding.y + document.documentElement.scrollTop;
67
68
  positionLeft = domBounding.x;
@@ -90,14 +91,14 @@ var TipsTemplate = defineComponent({
90
91
  "to": rule.appendToBody ? "body" : query
91
92
  }, {
92
93
  default: () => {
93
- var _a;
94
+ var _a, _b;
94
95
  return [createVNode("div", {
95
96
  "ref": temp,
96
97
  "class": ["read-tip-container", rule.position, rule.overlayClassName],
97
98
  "style": styles
98
99
  }, [createVNode("span", {
99
100
  "class": "after"
100
- }, null), rule.contentTemplate ? (_a = ctx.slots) == null ? void 0 : _a.default() : createVNode(Fragment, null, [createVNode("div", {
101
+ }, null), rule.contentTemplate ? (_b = (_a = ctx.slots) == null ? void 0 : _a.default) == null ? void 0 : _b.call(_a) : createVNode(Fragment, null, [createVNode("div", {
101
102
  "class": "title"
102
103
  }, [rule.title]), createVNode("div", {
103
104
  "class": "content"
@@ -107,6 +108,19 @@ var TipsTemplate = defineComponent({
107
108
  };
108
109
  }
109
110
  });
111
+ const rules = (ruleList) => {
112
+ if (ruleList === null) {
113
+ return [];
114
+ }
115
+ if (typeof ruleList === "object" && !Array.isArray(ruleList)) {
116
+ ruleList = [ruleList];
117
+ }
118
+ ruleList = [...ruleList];
119
+ Array.isArray(ruleList) && ruleList.map((rule) => {
120
+ rule.status = false;
121
+ });
122
+ return ruleList;
123
+ };
110
124
  var ReadTip = defineComponent({
111
125
  name: "DReadTip",
112
126
  props: readTipProps,
@@ -126,6 +140,7 @@ var ReadTip = defineComponent({
126
140
  };
127
141
  const options = __spreadValues(__spreadValues({}, defaultOptions), props.readTipOptions);
128
142
  const defaultSlot = ref(null);
143
+ const refRules = reactive(rules(options.rules));
129
144
  const onMouseenter = (rule) => () => {
130
145
  setTimeout(() => {
131
146
  if (rule.id) {
@@ -144,8 +159,9 @@ var ReadTip = defineComponent({
144
159
  rule.status = false;
145
160
  }, rule.mouseleaveTime || options.mouseleaveTime);
146
161
  };
147
- const init = (rules2, trigger = "hover") => {
148
- rules2.map((rule) => {
162
+ const init = (ruleList, trigger = "hover") => {
163
+ ruleList.map((rule) => {
164
+ var _a;
149
165
  rule.status = false;
150
166
  trigger = rule.trigger || trigger;
151
167
  rule.overlayClassName = rule.overlayClassName || options.overlayClassName;
@@ -154,7 +170,7 @@ var ReadTip = defineComponent({
154
170
  if (!("appendToBody" in rule)) {
155
171
  rule.appendToBody = options.appendToBody;
156
172
  }
157
- const doms = defaultSlot.value.querySelectorAll(rule.selector);
173
+ const doms = (_a = defaultSlot.value) == null ? void 0 : _a.querySelectorAll(rule.selector);
158
174
  [...doms].map((dom, index2) => {
159
175
  if (rule.appendToBody === false) {
160
176
  dom.style.position = "relative";
@@ -167,7 +183,7 @@ var ReadTip = defineComponent({
167
183
  newRule = __spreadValues({}, rule);
168
184
  dom.id = id;
169
185
  newRule.id = id;
170
- rules2.push(newRule);
186
+ ruleList.push(newRule);
171
187
  }
172
188
  if (trigger === "hover") {
173
189
  dom.addEventListener("mouseenter", onMouseenter(newRule.id ? newRule : rule));
@@ -175,25 +191,11 @@ var ReadTip = defineComponent({
175
191
  }
176
192
  });
177
193
  });
178
- return rules2;
194
+ return ruleList;
179
195
  };
180
- function show(dom, rule) {
196
+ function show(_, rule) {
181
197
  rule.status = true;
182
198
  }
183
- const rules = (rules2) => {
184
- if (rules2 === null) {
185
- return;
186
- }
187
- if (typeof rules2 === "object" && !Array.isArray(rules2)) {
188
- rules2 = [rules2];
189
- }
190
- rules2 = [...rules2];
191
- Array.isArray(rules2) && rules2.map((rule) => {
192
- rule.status = false;
193
- });
194
- return rules2;
195
- };
196
- const refRules = reactive(rules(options.rules));
197
199
  const clickFn = () => {
198
200
  refRules.forEach((element) => {
199
201
  element.status = false;
@@ -207,8 +209,9 @@ var ReadTip = defineComponent({
207
209
  document.removeEventListener("click", clickFn);
208
210
  });
209
211
  const onClick = (e) => {
212
+ var _a;
210
213
  for (const rule of refRules) {
211
- const doms = defaultSlot.value.querySelectorAll(rule.selector);
214
+ const doms = (_a = defaultSlot.value) == null ? void 0 : _a.querySelectorAll(rule.selector);
212
215
  for (const dom of doms) {
213
216
  if (doms.length > 1) {
214
217
  if (dom === e.target && rule.id) {
@@ -228,20 +231,20 @@ var ReadTip = defineComponent({
228
231
  }
229
232
  };
230
233
  return () => {
231
- var _a;
234
+ var _a, _b;
232
235
  return createVNode("div", {
233
236
  "class": "devui-read-tip"
234
237
  }, [createVNode("div", {
235
238
  "ref": defaultSlot,
236
239
  "onClick": onClick
237
- }, [(_a = ctx.slots) == null ? void 0 : _a.default()]), refRules.map((rule) => createVNode("div", {
240
+ }, [(_b = (_a = ctx.slots) == null ? void 0 : _a.default) == null ? void 0 : _b.call(_a)]), refRules.map((rule) => createVNode("div", {
238
241
  "data-test": "todo"
239
242
  }, [rule.status && createVNode(TipsTemplate, {
240
243
  "defaultTemplateProps": __spreadValues({}, rule)
241
244
  }, {
242
245
  default: () => {
243
- var _a2;
244
- return [rule.contentTemplate && ((_a2 = ctx.slots) == null ? void 0 : _a2.contentTemplate())];
246
+ var _a2, _b2;
247
+ return [rule.contentTemplate && ((_b2 = (_a2 = ctx.slots) == null ? void 0 : _a2.contentTemplate) == null ? void 0 : _b2.call(_a2))];
245
248
  }
246
249
  })]))]);
247
250
  };
@@ -1 +1 @@
1
- var q=Object.defineProperty;var k=Object.getOwnPropertySymbols;var D=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var w=(i,e,d)=>e in i?q(i,e,{enumerable:!0,configurable:!0,writable:!0,value:d}):i[e]=d,T=(i,e)=>{for(var d in e||(e={}))D.call(e,d)&&w(i,d,e[d]);if(k)for(var d of k(e))O.call(e,d)&&w(i,d,e[d]);return i};(function(i,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(i=typeof globalThis!="undefined"?globalThis:i||self,e(i.index={},i.Vue))})(this,function(i,e){"use strict";const d={readTipOptions:{type:Object},defaultTemplateProps:{type:Object}};var E="",A=e.defineComponent({name:"DReadTipTemplate",props:d,emits:[],setup(h,v){const{defaultTemplateProps:b}=e.toRefs(h);let n=b.value;const l=(n==null?void 0:n.id)?`#${n.id}`:n.selector,c=e.reactive({});if(typeof n.dataFn=="function"){const a=n.dataFn({element:document.querySelector(l),rule:n});n=T(T({},n),a)}const B=e.ref(null),g=a=>{let y=a>24?0:-(a/2)+2;return a<=10&&(y=-10),y};return e.onMounted(()=>{const a=document.querySelector(l).getBoundingClientRect(),{width:y,height:p}=a,f=10;let m=0;const t=g(p),s=g(y);let o=0;const r=document.querySelector(".read-tip-container").getBoundingClientRect();switch(n.appendToBody&&(m=a.y+document.documentElement.scrollTop,o=a.x),n.position){case"top":c.top=m-r.height-f+"px",c.left=o+s+"px";break;case"left":c.top=m+t+"px",c.left=o-r.width-f+"px";break;case"bottom":c.top=m+a.height+f+"px",c.left=o+s+"px";break;case"right":c.top=m+t+"px",c.left=o+a.width+f+"px";break}}),()=>e.createVNode(e.Teleport,{to:n.appendToBody?"body":l},{default:()=>{var a;return[e.createVNode("div",{ref:B,class:["read-tip-container",n.position,n.overlayClassName],style:c},[e.createVNode("span",{class:"after"},null),n.contentTemplate?(a=v.slots)==null?void 0:a.default():e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"title"},[n.title]),e.createVNode("div",{class:"content"},[n.content])])])]}})}}),C=e.defineComponent({name:"DReadTip",props:d,emits:[],setup(h,v){const n=T(T({},{trigger:"hover",showAnimate:!1,mouseenterTime:100,mouseleaveTime:100,position:"top",overlayClassName:"",appendToBody:!0,rules:{selector:null}}),h.readTipOptions),l=e.ref(null),c=t=>()=>{setTimeout(()=>{if(t.id){const s=p.find(o=>o.id===t.id);s.status=!0}t.status=!0},t.mouseenterTime||n.mouseenterTime)},B=t=>()=>{setTimeout(()=>{if(t.id){const s=p.find(o=>o.id===t.id);s.status=!1}t.status=!1},t.mouseleaveTime||n.mouseleaveTime)},g=(t,s="hover")=>(t.map(o=>{o.status=!1,s=o.trigger||s,o.overlayClassName=o.overlayClassName||n.overlayClassName,o.position=o.position||n.position,o.contentTemplate=!!v.slots.contentTemplate,"appendToBody"in o||(o.appendToBody=n.appendToBody),[...l.value.querySelectorAll(o.selector)].map((N,V)=>{o.appendToBody===!1&&(N.style.position="relative");let u=e.reactive({id:null});const R=o.selector.slice(o.selector[0]==="."?1:0)+V;V>0&&(u=T({},o),N.id=R,u.id=R,t.push(u)),s==="hover"&&(N.addEventListener("mouseenter",c(u.id?u:o)),N.addEventListener("mouseleave",B(u.id?u:o)))})}),t);function a(t,s){s.status=!0}const y=t=>{if(t!==null)return typeof t=="object"&&!Array.isArray(t)&&(t=[t]),t=[...t],Array.isArray(t)&&t.map(s=>{s.status=!1}),t},p=e.reactive(y(n.rules)),f=()=>{p.forEach(t=>{t.status=!1})};e.onMounted(()=>{g(p,n.trigger),document.addEventListener("click",f,!0)}),e.onUnmounted(()=>{document.removeEventListener("click",f)});const m=t=>{for(const s of p){const o=l.value.querySelectorAll(s.selector);for(const r of o)if(o.length>1){if(r===t.target&&s.id){a(r,s);return}else if(r===t.target&&!s.id&&!r.id){a(r,s);return}}else if(r===t.target){a(r,s);return}else s.status=!1}};return()=>{var t;return e.createVNode("div",{class:"devui-read-tip"},[e.createVNode("div",{ref:l,onClick:m},[(t=v.slots)==null?void 0:t.default()]),p.map(s=>e.createVNode("div",{"data-test":"todo"},[s.status&&e.createVNode(A,{defaultTemplateProps:T({},s)},{default:()=>{var o;return[s.contentTemplate&&((o=v.slots)==null?void 0:o.contentTemplate())]}})]))])}}}),S={title:"ReadTip \u9605\u8BFB\u63D0\u793A",category:"\u53CD\u9988",status:"100%",install(h){h.component(C.name,C)}};i.ReadTip=C,i.default=S,i.readTipProps=d,Object.defineProperty(i,"__esModule",{value:!0}),i[Symbol.toStringTag]="Module"});
1
+ var D=Object.defineProperty;var k=Object.getOwnPropertySymbols;var O=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable;var w=(s,e,p)=>e in s?D(s,e,{enumerable:!0,configurable:!0,writable:!0,value:p}):s[e]=p,h=(s,e)=>{for(var p in e||(e={}))O.call(e,p)&&w(s,p,e[p]);if(k)for(var p of k(e))E.call(e,p)&&w(s,p,e[p]);return s};(function(s,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(s=typeof globalThis!="undefined"?globalThis:s||self,e(s.index={},s.Vue))})(this,function(s,e){"use strict";const p={readTipOptions:{type:Object},defaultTemplateProps:{type:Object}};var F="",A=e.defineComponent({name:"DReadTipTemplate",props:p,emits:[],setup(d,m){const{defaultTemplateProps:V}=e.toRefs(d);let n=V.value;const u=(n==null?void 0:n.id)?`#${n.id}`:n.selector,c=e.reactive({});if(typeof n.dataFn=="function"){const a=n.dataFn({element:document.querySelector(u),rule:n});n=h(h({},n),a)}const b=e.ref(null),N=a=>{let f=a>24?0:-(a/2)+2;return a<=10&&(f=-10),f};return e.onMounted(()=>{var T,g;const a=(T=document.querySelector(u))==null?void 0:T.getBoundingClientRect(),{width:f,height:C}=a,v=10;let o=0;const i=N(C),t=N(f);let l=0;const r=(g=document.querySelector(".read-tip-container"))==null?void 0:g.getBoundingClientRect();switch(n.appendToBody&&(o=a.y+document.documentElement.scrollTop,l=a.x),n.position){case"top":c.top=o-r.height-v+"px",c.left=l+t+"px";break;case"left":c.top=o+i+"px",c.left=l-r.width-v+"px";break;case"bottom":c.top=o+a.height+v+"px",c.left=l+t+"px";break;case"right":c.top=o+i+"px",c.left=l+a.width+v+"px";break}}),()=>e.createVNode(e.Teleport,{to:n.appendToBody?"body":u},{default:()=>{var a,f;return[e.createVNode("div",{ref:b,class:["read-tip-container",n.position,n.overlayClassName],style:c},[e.createVNode("span",{class:"after"},null),n.contentTemplate?(f=(a=m.slots)==null?void 0:a.default)==null?void 0:f.call(a):e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"title"},[n.title]),e.createVNode("div",{class:"content"},[n.content])])])]}})}});const S=d=>d===null?[]:(typeof d=="object"&&!Array.isArray(d)&&(d=[d]),d=[...d],Array.isArray(d)&&d.map(m=>{m.status=!1}),d);var B=e.defineComponent({name:"DReadTip",props:p,emits:[],setup(d,m){const n=h(h({},{trigger:"hover",showAnimate:!1,mouseenterTime:100,mouseleaveTime:100,position:"top",overlayClassName:"",appendToBody:!0,rules:{selector:null}}),d.readTipOptions),u=e.ref(null),c=e.reactive(S(n.rules)),b=o=>()=>{setTimeout(()=>{if(o.id){const i=c.find(t=>t.id===o.id);i.status=!0}o.status=!0},o.mouseenterTime||n.mouseenterTime)},N=o=>()=>{setTimeout(()=>{if(o.id){const i=c.find(t=>t.id===o.id);i.status=!1}o.status=!1},o.mouseleaveTime||n.mouseleaveTime)},a=(o,i="hover")=>(o.map(t=>{var r;t.status=!1,i=t.trigger||i,t.overlayClassName=t.overlayClassName||n.overlayClassName,t.position=t.position||n.position,t.contentTemplate=!!m.slots.contentTemplate,"appendToBody"in t||(t.appendToBody=n.appendToBody),[...(r=u.value)==null?void 0:r.querySelectorAll(t.selector)].map((T,g)=>{t.appendToBody===!1&&(T.style.position="relative");let y=e.reactive({id:null});const R=t.selector.slice(t.selector[0]==="."?1:0)+g;g>0&&(y=h({},t),T.id=R,y.id=R,o.push(y)),i==="hover"&&(T.addEventListener("mouseenter",b(y.id?y:t)),T.addEventListener("mouseleave",N(y.id?y:t)))})}),o);function f(o,i){i.status=!0}const C=()=>{c.forEach(o=>{o.status=!1})};e.onMounted(()=>{a(c,n.trigger),document.addEventListener("click",C,!0)}),e.onUnmounted(()=>{document.removeEventListener("click",C)});const v=o=>{var i;for(const t of c){const l=(i=u.value)==null?void 0:i.querySelectorAll(t.selector);for(const r of l)if(l.length>1){if(r===o.target&&t.id){f(r,t);return}else if(r===o.target&&!t.id&&!r.id){f(r,t);return}}else if(r===o.target){f(r,t);return}else t.status=!1}};return()=>{var o,i;return e.createVNode("div",{class:"devui-read-tip"},[e.createVNode("div",{ref:u,onClick:v},[(i=(o=m.slots)==null?void 0:o.default)==null?void 0:i.call(o)]),c.map(t=>e.createVNode("div",{"data-test":"todo"},[t.status&&e.createVNode(A,{defaultTemplateProps:h({},t)},{default:()=>{var l,r;return[t.contentTemplate&&((r=(l=m.slots)==null?void 0:l.contentTemplate)==null?void 0:r.call(l))]}})]))])}}}),q={title:"ReadTip \u9605\u8BFB\u63D0\u793A",category:"\u53CD\u9988",status:"100%",install(d){d.component(B.name,B)}};s.ReadTip=B,s.default=q,s.readTipProps=p,Object.defineProperty(s,"__esModule",{value:!0}),s[Symbol.toStringTag]="Module"});
@@ -1 +1 @@
1
- .devui-font-size-base{font-size:var(--devui-font-size, 12px)}.devui-font-base{font-size:var(--devui-font-size, 12px);font-weight:400;line-height:1.5}.devui-font-size-modal-title{font-size:var(--devui-font-size-modal-title, 18px)}.devui-font-modal-title{font-size:var(--devui-font-size-modal-title, 18px);font-weight:700;line-height:1.5}.devui-font-size-page-title{font-size:var(--devui-font-size-page-title, 16px)}.devui-font-page-title{font-size:var(--devui-font-size-page-title, 16px);font-weight:700;line-height:1.5}.devui-font-size-secondary-title{font-size:var(--devui-font-size-card-title, 14px)}.devui-font-secondary-title{font-size:var(--devui-font-size-card-title, 14px);font-weight:700;line-height:1.5}.devui-read-tip{position:relative}.devui-read-tip .title{font-size:16px}.source{overflow:initial}.read-tip-container{font-size:var(--devui-font-size, 12px);position:absolute;width:max-content;height:max-content;line-height:1.5;border:none;border-radius:var(--devui-border-radius-feedback, 4px);background-color:var(--devui-feedback-overlay-bg, #464d6e);color:var(--devui-feedback-overlay-text, #dfe1e6);overflow-wrap:break-word;padding:10px;z-index:50}.read-tip-container .after{content:"";width:12px;height:12px;transform:rotate(45deg);position:absolute;background-color:var(--devui-feedback-overlay-bg, #464d6e)}.read-tip-container.top .after{bottom:-4px}.read-tip-container.left .after{right:-4px}.read-tip-container.right .after{left:-4px}.read-tip-container.bottom .after{top:-4px}
1
+ .devui-read-tip{position:relative}.devui-read-tip .title{font-size:16px}.source{overflow:initial}.read-tip-container{font-size:var(--devui-font-size, 12px);position:absolute;width:max-content;height:max-content;line-height:1.5;border:none;border-radius:var(--devui-border-radius-feedback, 4px);background-color:var(--devui-feedback-overlay-bg, #464d6e);color:var(--devui-feedback-overlay-text, #dfe1e6);overflow-wrap:break-word;padding:10px;z-index:50}.read-tip-container .after{content:"";width:12px;height:12px;transform:rotate(45deg);position:absolute;background-color:var(--devui-feedback-overlay-bg, #464d6e)}.read-tip-container.top .after{bottom:-4px}.read-tip-container.left .after{right:-4px}.read-tip-container.right .after{left:-4px}.read-tip-container.bottom .after{top:-4px}
@@ -5580,13 +5580,8 @@ const inputProps = {
5580
5580
  default: void 0
5581
5581
  }
5582
5582
  };
5583
+ const FORM_ITEM_TOKEN = Symbol("dFormItem");
5583
5584
  var input = "";
5584
- const formItemInjectionKey = Symbol("dFormItem");
5585
- const dFormItemEvents = {
5586
- blur: "d.form.blur",
5587
- change: "d.form.change",
5588
- input: "d.form.input"
5589
- };
5590
5585
  var DInput = defineComponent({
5591
5586
  name: "DInput",
5592
5587
  directives: {
@@ -5601,19 +5596,17 @@ var DInput = defineComponent({
5601
5596
  props: inputProps,
5602
5597
  emits: ["update:modelValue", "focus", "blur", "change", "keydown"],
5603
5598
  setup(props, ctx) {
5604
- const formItem = inject(formItemInjectionKey, {});
5605
- const hasFormItem = Object.keys(formItem).length > 0;
5599
+ const formItemContext = inject(FORM_ITEM_TOKEN);
5606
5600
  const sizeCls = computed(() => `devui-input-${props.size}`);
5607
5601
  const showPwdIcon = ref(false);
5608
5602
  const inputType = ref("text");
5609
- const inputCls = computed(() => {
5610
- return {
5611
- error: props.error,
5612
- [props.cssClass]: true,
5613
- "devui-input-restore": showPwdIcon.value,
5614
- [sizeCls.value]: props.size !== ""
5615
- };
5616
- });
5603
+ const isValidateError = computed(() => (formItemContext == null ? void 0 : formItemContext.validateState) === "error");
5604
+ const inputCls = computed(() => ({
5605
+ "devui-error": props.error || isValidateError.value,
5606
+ [props.cssClass]: true,
5607
+ "devui-input-restore": showPwdIcon.value,
5608
+ [sizeCls.value]: props.size !== ""
5609
+ }));
5617
5610
  const showPreviewIcon = computed(() => inputType.value === "password");
5618
5611
  watch(() => props.showPassword, (flg) => {
5619
5612
  inputType.value = flg ? "password" : "text";
@@ -5621,17 +5614,18 @@ var DInput = defineComponent({
5621
5614
  }, {
5622
5615
  immediate: true
5623
5616
  });
5617
+ watch(() => props.modelValue, () => {
5618
+ formItemContext == null ? void 0 : formItemContext.validate("change").catch((err) => console.warn(err));
5619
+ });
5624
5620
  const onInput = ($event) => {
5625
5621
  ctx.emit("update:modelValue", $event.target.value);
5626
- hasFormItem && formItem.formItemMitt.emit(dFormItemEvents.input);
5627
5622
  }, onFocus = () => {
5628
5623
  ctx.emit("focus");
5629
5624
  }, onBlur = () => {
5630
5625
  ctx.emit("blur");
5631
- hasFormItem && formItem.formItemMitt.emit(dFormItemEvents.blur);
5626
+ formItemContext == null ? void 0 : formItemContext.validate("blur").catch((err) => console.warn(err));
5632
5627
  }, onChange = ($event) => {
5633
5628
  ctx.emit("change", $event.target.value);
5634
- hasFormItem && formItem.formItemMitt.emit(dFormItemEvents.change);
5635
5629
  }, onKeydown = ($event) => {
5636
5630
  ctx.emit("keydown", $event);
5637
5631
  }, onChangeInputType = () => {