vue-devui 1.0.0-beta.1 → 1.0.0-beta.13

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 (332) hide show
  1. package/README.md +62 -45
  2. package/accordion/index.d.ts +7 -0
  3. package/accordion/index.es.js +460 -142
  4. package/accordion/index.umd.js +1 -1
  5. package/accordion/style.css +1 -1
  6. package/alert/index.d.ts +7 -0
  7. package/alert/index.es.js +7 -5
  8. package/alert/index.umd.js +1 -1
  9. package/alert/style.css +1 -1
  10. package/anchor/index.d.ts +7 -0
  11. package/avatar/index.d.ts +7 -0
  12. package/avatar/index.es.js +1 -1
  13. package/avatar/index.umd.js +1 -1
  14. package/back-top/index.d.ts +7 -0
  15. package/back-top/index.es.js +128 -0
  16. package/back-top/index.umd.js +1 -0
  17. package/back-top/package.json +7 -0
  18. package/back-top/style.css +1 -0
  19. package/badge/index.d.ts +7 -0
  20. package/badge/index.es.js +1 -1
  21. package/badge/index.umd.js +1 -1
  22. package/breadcrumb/index.d.ts +7 -0
  23. package/button/index.d.ts +7 -0
  24. package/button/index.es.js +218 -12
  25. package/button/index.umd.js +1 -1
  26. package/button/style.css +1 -1
  27. package/card/index.d.ts +7 -0
  28. package/card/index.es.js +1 -1
  29. package/card/index.umd.js +1 -1
  30. package/carousel/index.d.ts +7 -0
  31. package/carousel/index.es.js +5 -4
  32. package/carousel/index.umd.js +1 -1
  33. package/cascader/index.d.ts +7 -0
  34. package/cascader/index.es.js +1239 -83
  35. package/cascader/index.umd.js +1 -1
  36. package/cascader/style.css +1 -1
  37. package/checkbox/index.d.ts +7 -0
  38. package/checkbox/index.es.js +43 -8
  39. package/checkbox/index.umd.js +1 -1
  40. package/color-picker/index.d.ts +7 -0
  41. package/color-picker/index.es.js +2960 -0
  42. package/color-picker/index.umd.js +1 -0
  43. package/color-picker/package.json +7 -0
  44. package/color-picker/style.css +1 -0
  45. package/comment/index.d.ts +7 -0
  46. package/comment/index.es.js +85 -0
  47. package/comment/index.umd.js +1 -0
  48. package/comment/package.json +7 -0
  49. package/comment/style.css +1 -0
  50. package/countdown/index.d.ts +7 -0
  51. package/countdown/index.es.js +176 -0
  52. package/countdown/index.umd.js +1 -0
  53. package/countdown/package.json +7 -0
  54. package/countdown/style.css +1 -0
  55. package/date-picker/index.d.ts +7 -0
  56. package/date-picker/index.es.js +32 -21
  57. package/date-picker/index.umd.js +1 -1
  58. package/date-picker/style.css +1 -1
  59. package/dragdrop/index.d.ts +7 -0
  60. package/dragdrop/index.es.js +157 -0
  61. package/dragdrop/index.umd.js +1 -0
  62. package/dragdrop/package.json +7 -0
  63. package/drawer/index.d.ts +7 -0
  64. package/drawer/index.es.js +194 -42
  65. package/drawer/index.umd.js +1 -1
  66. package/drawer/style.css +1 -1
  67. package/dropdown/index.d.ts +7 -0
  68. package/dropdown/index.es.js +535 -0
  69. package/dropdown/index.umd.js +1 -0
  70. package/dropdown/package.json +7 -0
  71. package/dropdown/style.css +1 -0
  72. package/editable-select/index.d.ts +7 -0
  73. package/editable-select/index.es.js +5782 -469
  74. package/editable-select/index.umd.js +27 -1
  75. package/editable-select/style.css +1 -1
  76. package/form/index.d.ts +7 -0
  77. package/form/index.es.js +2257 -0
  78. package/form/index.umd.js +1 -0
  79. package/form/package.json +7 -0
  80. package/form/style.css +1 -0
  81. package/fullscreen/index.d.ts +7 -0
  82. package/fullscreen/index.es.js +14 -4
  83. package/fullscreen/index.umd.js +1 -1
  84. package/gantt/index.d.ts +7 -0
  85. package/gantt/index.es.js +535 -0
  86. package/gantt/index.umd.js +1 -0
  87. package/gantt/package.json +7 -0
  88. package/gantt/style.css +1 -0
  89. package/grid/index.d.ts +7 -0
  90. package/grid/index.es.js +269 -0
  91. package/grid/index.umd.js +1 -0
  92. package/grid/package.json +7 -0
  93. package/grid/style.css +1 -0
  94. package/icon/index.d.ts +7 -0
  95. package/icon/index.es.js +6 -5
  96. package/icon/index.umd.js +1 -1
  97. package/image-preview/index.d.ts +7 -0
  98. package/image-preview/index.es.js +99 -20
  99. package/image-preview/index.umd.js +1 -1
  100. package/image-preview/style.css +1 -1
  101. package/index.d.ts +7 -0
  102. package/input/index.d.ts +7 -0
  103. package/input/index.es.js +24 -13
  104. package/input/index.umd.js +1 -1
  105. package/input-icon/index.d.ts +7 -0
  106. package/input-icon/index.es.js +332 -0
  107. package/input-icon/index.umd.js +1 -0
  108. package/input-icon/package.json +7 -0
  109. package/input-icon/style.css +1 -0
  110. package/input-number/index.d.ts +7 -0
  111. package/input-number/index.es.js +5 -4
  112. package/input-number/index.umd.js +1 -1
  113. package/layout/index.d.ts +7 -0
  114. package/layout/index.es.js +1 -1
  115. package/layout/index.umd.js +1 -1
  116. package/loading/index.d.ts +7 -0
  117. package/loading/index.es.js +1 -1
  118. package/loading/index.umd.js +1 -1
  119. package/modal/index.d.ts +7 -0
  120. package/modal/index.es.js +328 -109
  121. package/modal/index.umd.js +1 -1
  122. package/modal/style.css +1 -1
  123. package/nav-sprite/index.d.ts +7 -0
  124. package/nuxt/components/Accordion.js +3 -0
  125. package/nuxt/components/Alert.js +3 -0
  126. package/nuxt/components/Anchor.js +3 -0
  127. package/nuxt/components/Aside.js +3 -0
  128. package/nuxt/components/Avatar.js +3 -0
  129. package/nuxt/components/BackTop.js +3 -0
  130. package/nuxt/components/Badge.js +3 -0
  131. package/nuxt/components/Breadcrumb.js +3 -0
  132. package/nuxt/components/Button.js +3 -0
  133. package/nuxt/components/Card.js +3 -0
  134. package/nuxt/components/Carousel.js +3 -0
  135. package/nuxt/components/Cascader.js +3 -0
  136. package/nuxt/components/Checkbox.js +3 -0
  137. package/nuxt/components/Col.js +3 -0
  138. package/nuxt/components/ColorPicker.js +3 -0
  139. package/nuxt/components/Column.js +3 -0
  140. package/nuxt/components/Comment.js +3 -0
  141. package/nuxt/components/Content.js +3 -0
  142. package/nuxt/components/Countdown.js +3 -0
  143. package/nuxt/components/DatePicker.js +3 -0
  144. package/nuxt/components/Drawer.js +3 -0
  145. package/nuxt/components/DrawerService.js +3 -0
  146. package/nuxt/components/Dropdown.js +3 -0
  147. package/nuxt/components/EditableSelect.js +3 -0
  148. package/nuxt/components/FixedOverlay.js +3 -0
  149. package/nuxt/components/FlexibleOverlay.js +3 -0
  150. package/nuxt/components/Footer.js +3 -0
  151. package/nuxt/components/Form.js +3 -0
  152. package/nuxt/components/FormControl.js +3 -0
  153. package/nuxt/components/FormItem.js +3 -0
  154. package/nuxt/components/FormLabel.js +3 -0
  155. package/nuxt/components/FormOperation.js +3 -0
  156. package/nuxt/components/Fullscreen.js +3 -0
  157. package/nuxt/components/Gantt.js +3 -0
  158. package/nuxt/components/Header.js +3 -0
  159. package/nuxt/components/Icon.js +2 -0
  160. package/nuxt/components/ImagePreviewService.js +3 -0
  161. package/nuxt/components/Input.js +3 -0
  162. package/nuxt/components/InputIcon.js +3 -0
  163. package/nuxt/components/InputNumber.js +3 -0
  164. package/nuxt/components/Layout.js +3 -0
  165. package/nuxt/components/Loading.js +3 -0
  166. package/nuxt/components/LoadingService.js +3 -0
  167. package/nuxt/components/Modal.js +3 -0
  168. package/nuxt/components/NavSprite.js +2 -0
  169. package/nuxt/components/Pagination.js +3 -0
  170. package/nuxt/components/Panel.js +3 -0
  171. package/nuxt/components/Popover.js +3 -0
  172. package/nuxt/components/Progress.js +3 -0
  173. package/nuxt/components/QuadrantDiagram.js +3 -0
  174. package/nuxt/components/Radio.js +3 -0
  175. package/nuxt/components/RadioGroup.js +3 -0
  176. package/nuxt/components/Rate.js +3 -0
  177. package/nuxt/components/ReadTip.js +3 -0
  178. package/nuxt/components/Result.js +3 -0
  179. package/nuxt/components/Row.js +3 -0
  180. package/nuxt/components/Search.js +3 -0
  181. package/nuxt/components/Select.js +3 -0
  182. package/nuxt/components/Skeleton.js +3 -0
  183. package/nuxt/components/SkeletonItem.js +3 -0
  184. package/nuxt/components/Slider.js +3 -0
  185. package/nuxt/components/Splitter.js +3 -0
  186. package/nuxt/components/Statistic.js +3 -0
  187. package/nuxt/components/Status.js +3 -0
  188. package/nuxt/components/StepsGuide.js +3 -0
  189. package/nuxt/components/StickSlider.js +3 -0
  190. package/nuxt/components/Sticky.js +2 -0
  191. package/nuxt/components/Switch.js +3 -0
  192. package/nuxt/components/Table.js +3 -0
  193. package/nuxt/components/Tabs.js +3 -0
  194. package/nuxt/components/Tag.js +3 -0
  195. package/nuxt/components/TagInput.js +3 -0
  196. package/nuxt/components/Textarea.js +3 -0
  197. package/nuxt/components/TimeAxis.js +3 -0
  198. package/nuxt/components/TimeAxisItem.js +3 -0
  199. package/nuxt/components/TimePicker.js +3 -0
  200. package/nuxt/components/Toast.js +3 -0
  201. package/nuxt/components/ToastService.js +3 -0
  202. package/nuxt/components/Tooltip.js +3 -0
  203. package/nuxt/components/Transfer.js +3 -0
  204. package/nuxt/components/Tree.js +3 -0
  205. package/nuxt/components/TreeSelect.js +3 -0
  206. package/nuxt/components/Upload.js +3 -0
  207. package/nuxt/components/buttonProps.js +3 -0
  208. package/nuxt/index.js +13 -0
  209. package/overlay/index.d.ts +7 -0
  210. package/overlay/index.es.js +111 -94
  211. package/overlay/index.umd.js +1 -1
  212. package/overlay/style.css +1 -1
  213. package/package.json +5 -47
  214. package/pagination/index.d.ts +7 -0
  215. package/pagination/index.es.js +3 -3
  216. package/pagination/index.umd.js +1 -1
  217. package/panel/index.d.ts +7 -0
  218. package/panel/index.es.js +25 -22
  219. package/panel/index.umd.js +1 -1
  220. package/panel/style.css +1 -1
  221. package/popover/index.d.ts +7 -0
  222. package/popover/index.es.js +18 -6
  223. package/popover/index.umd.js +1 -1
  224. package/progress/index.d.ts +7 -0
  225. package/progress/index.es.js +9 -9
  226. package/progress/index.umd.js +3 -3
  227. package/quadrant-diagram/index.d.ts +7 -0
  228. package/radio/index.d.ts +7 -0
  229. package/radio/index.es.js +6 -6
  230. package/radio/index.umd.js +1 -1
  231. package/rate/index.d.ts +7 -0
  232. package/rate/index.es.js +1 -1
  233. package/rate/index.umd.js +1 -1
  234. package/read-tip/index.d.ts +7 -0
  235. package/read-tip/index.es.js +258 -0
  236. package/read-tip/index.umd.js +1 -0
  237. package/read-tip/package.json +7 -0
  238. package/read-tip/style.css +1 -0
  239. package/result/index.d.ts +7 -0
  240. package/result/index.es.js +119 -0
  241. package/result/index.umd.js +1 -0
  242. package/result/package.json +7 -0
  243. package/result/style.css +1 -0
  244. package/ripple/index.d.ts +7 -0
  245. package/ripple/index.es.js +5 -2
  246. package/ripple/index.umd.js +1 -1
  247. package/search/index.d.ts +7 -0
  248. package/search/index.es.js +35 -21
  249. package/search/index.umd.js +1 -1
  250. package/select/index.d.ts +7 -0
  251. package/select/index.es.js +47 -11
  252. package/select/index.umd.js +1 -1
  253. package/skeleton/index.d.ts +7 -0
  254. package/skeleton/index.es.js +148 -26
  255. package/skeleton/index.umd.js +1 -1
  256. package/skeleton/style.css +1 -1
  257. package/slider/index.d.ts +7 -0
  258. package/slider/index.es.js +32 -182
  259. package/slider/index.umd.js +1 -1
  260. package/slider/style.css +1 -1
  261. package/splitter/index.d.ts +7 -0
  262. package/splitter/index.es.js +295 -100
  263. package/splitter/index.umd.js +1 -1
  264. package/splitter/style.css +1 -1
  265. package/statistic/index.d.ts +7 -0
  266. package/statistic/index.es.js +280 -0
  267. package/statistic/index.umd.js +1 -0
  268. package/statistic/package.json +7 -0
  269. package/statistic/style.css +1 -0
  270. package/status/index.d.ts +7 -0
  271. package/status/index.es.js +2 -2
  272. package/status/index.umd.js +1 -1
  273. package/steps-guide/index.d.ts +7 -0
  274. package/steps-guide/index.es.js +101 -73
  275. package/steps-guide/index.umd.js +1 -1
  276. package/steps-guide/style.css +1 -1
  277. package/sticky/index.d.ts +7 -0
  278. package/style.css +1 -1
  279. package/switch/index.d.ts +7 -0
  280. package/switch/index.es.js +1 -1
  281. package/switch/index.umd.js +1 -1
  282. package/table/index.d.ts +7 -0
  283. package/table/index.es.js +1708 -156
  284. package/table/index.umd.js +1 -1
  285. package/table/style.css +1 -1
  286. package/tabs/index.d.ts +7 -0
  287. package/tabs/index.es.js +6 -3
  288. package/tabs/index.umd.js +1 -1
  289. package/tag/index.d.ts +7 -0
  290. package/tag/index.es.js +131 -0
  291. package/tag/index.umd.js +1 -0
  292. package/tag/package.json +7 -0
  293. package/tag/style.css +1 -0
  294. package/tag-input/index.d.ts +7 -0
  295. package/tag-input/index.es.js +1 -13
  296. package/tag-input/index.umd.js +1 -1
  297. package/textarea/index.d.ts +7 -0
  298. package/textarea/index.es.js +132 -0
  299. package/textarea/index.umd.js +1 -0
  300. package/textarea/package.json +7 -0
  301. package/textarea/style.css +1 -0
  302. package/time-axis/index.d.ts +7 -0
  303. package/time-axis/index.es.js +241 -21
  304. package/time-axis/index.umd.js +1 -1
  305. package/time-axis/style.css +1 -1
  306. package/time-picker/index.d.ts +7 -0
  307. package/time-picker/index.es.js +266 -32
  308. package/time-picker/index.umd.js +1 -1
  309. package/time-picker/style.css +1 -1
  310. package/toast/index.d.ts +7 -0
  311. package/toast/index.es.js +16 -12
  312. package/toast/index.umd.js +1 -1
  313. package/toast/style.css +1 -1
  314. package/tooltip/index.d.ts +7 -0
  315. package/transfer/index.d.ts +7 -0
  316. package/transfer/index.es.js +575 -83
  317. package/transfer/index.umd.js +1 -1
  318. package/transfer/style.css +1 -1
  319. package/tree/index.d.ts +7 -0
  320. package/tree/index.es.js +171 -35
  321. package/tree/index.umd.js +1 -1
  322. package/tree-select/index.d.ts +7 -0
  323. package/tree-select/index.es.js +528 -0
  324. package/tree-select/index.umd.js +1 -0
  325. package/tree-select/package.json +7 -0
  326. package/tree-select/style.css +1 -0
  327. package/upload/index.d.ts +7 -0
  328. package/upload/index.es.js +172 -513
  329. package/upload/index.umd.js +1 -1
  330. package/upload/style.css +1 -1
  331. package/vue-devui.es.js +22079 -8773
  332. package/vue-devui.umd.js +29 -3
@@ -0,0 +1,258 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __spreadValues = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
17
+ import { defineComponent, toRefs, reactive, ref, onMounted, createVNode, Teleport, Fragment, onUnmounted } from "vue";
18
+ const readTipProps = {
19
+ readTipOptions: {
20
+ type: Object
21
+ },
22
+ defaultTemplateProps: {
23
+ type: Object
24
+ }
25
+ };
26
+ var readTip = "";
27
+ var TipsTemplate = defineComponent({
28
+ name: "DReadTipTemplate",
29
+ props: readTipProps,
30
+ emits: [],
31
+ setup(props, ctx) {
32
+ const {
33
+ defaultTemplateProps
34
+ } = toRefs(props);
35
+ let rule = defaultTemplateProps.value;
36
+ const query = (rule == null ? void 0 : rule.id) ? `#${rule.id}` : rule.selector;
37
+ const styles = reactive({});
38
+ if (typeof rule.dataFn === "function") {
39
+ const dataFn = rule.dataFn({
40
+ element: document.querySelector(query),
41
+ rule
42
+ });
43
+ rule = __spreadValues(__spreadValues({}, rule), dataFn);
44
+ }
45
+ const temp = ref(null);
46
+ const deviation = (x) => {
47
+ let deviationConstant = x > 24 ? 0 : -(x / 2) + 2;
48
+ if (x <= 10) {
49
+ deviationConstant = -10;
50
+ }
51
+ return deviationConstant;
52
+ };
53
+ onMounted(() => {
54
+ const domBounding = document.querySelector(query).getBoundingClientRect();
55
+ const {
56
+ width,
57
+ height
58
+ } = domBounding;
59
+ const distance = 10;
60
+ let positionTop = 0;
61
+ const heightDeviation = deviation(height);
62
+ const widthDeviation = deviation(width);
63
+ let positionLeft = 0;
64
+ const targetDom = document.querySelector(".read-tip-container").getBoundingClientRect();
65
+ if (rule.appendToBody) {
66
+ positionTop = domBounding.y + document.documentElement.scrollTop;
67
+ positionLeft = domBounding.x;
68
+ }
69
+ switch (rule.position) {
70
+ case "top":
71
+ styles.top = positionTop - targetDom.height - distance + "px";
72
+ styles.left = positionLeft + widthDeviation + "px";
73
+ break;
74
+ case "left":
75
+ styles.top = positionTop + heightDeviation + "px";
76
+ styles.left = positionLeft - targetDom.width - distance + "px";
77
+ break;
78
+ case "bottom":
79
+ styles.top = positionTop + domBounding.height + distance + "px";
80
+ styles.left = positionLeft + widthDeviation + "px";
81
+ break;
82
+ case "right":
83
+ styles.top = positionTop + heightDeviation + "px";
84
+ styles.left = positionLeft + domBounding.width + distance + "px";
85
+ break;
86
+ }
87
+ });
88
+ return () => {
89
+ return createVNode(Teleport, {
90
+ "to": rule.appendToBody ? "body" : query
91
+ }, {
92
+ default: () => {
93
+ var _a;
94
+ return [createVNode("div", {
95
+ "ref": temp,
96
+ "class": ["read-tip-container", rule.position, rule.overlayClassName],
97
+ "style": styles
98
+ }, [createVNode("span", {
99
+ "class": "after"
100
+ }, null), rule.contentTemplate ? (_a = ctx.slots) == null ? void 0 : _a.default() : createVNode(Fragment, null, [createVNode("div", {
101
+ "class": "title"
102
+ }, [rule.title]), createVNode("div", {
103
+ "class": "content"
104
+ }, [rule.content])])])];
105
+ }
106
+ });
107
+ };
108
+ }
109
+ });
110
+ var ReadTip = defineComponent({
111
+ name: "DReadTip",
112
+ props: readTipProps,
113
+ emits: [],
114
+ setup(props, ctx) {
115
+ const defaultOptions = {
116
+ trigger: "hover",
117
+ showAnimate: false,
118
+ mouseenterTime: 100,
119
+ mouseleaveTime: 100,
120
+ position: "top",
121
+ overlayClassName: "",
122
+ appendToBody: true,
123
+ rules: {
124
+ selector: null
125
+ }
126
+ };
127
+ const options = __spreadValues(__spreadValues({}, defaultOptions), props.readTipOptions);
128
+ const defaultSlot = ref(null);
129
+ const onMouseenter = (rule) => () => {
130
+ setTimeout(() => {
131
+ if (rule.id) {
132
+ const a = refRules.find((u) => u.id === rule.id);
133
+ a.status = true;
134
+ }
135
+ rule.status = true;
136
+ }, rule.mouseenterTime || options.mouseenterTime);
137
+ };
138
+ const onMouseleave = (rule) => () => {
139
+ setTimeout(() => {
140
+ if (rule.id) {
141
+ const a = refRules.find((u) => u.id === rule.id);
142
+ a.status = false;
143
+ }
144
+ rule.status = false;
145
+ }, rule.mouseleaveTime || options.mouseleaveTime);
146
+ };
147
+ const init = (rules2, trigger = "hover") => {
148
+ rules2.map((rule) => {
149
+ rule.status = false;
150
+ trigger = rule.trigger || trigger;
151
+ rule.overlayClassName = rule.overlayClassName || options.overlayClassName;
152
+ rule.position = rule.position || options.position;
153
+ rule.contentTemplate = !!ctx.slots.contentTemplate;
154
+ if (!("appendToBody" in rule))
155
+ rule.appendToBody = options.appendToBody;
156
+ const doms = defaultSlot.value.querySelectorAll(rule.selector);
157
+ [...doms].map((dom, index2) => {
158
+ if (rule.appendToBody === false)
159
+ dom.style.position = "relative";
160
+ let newRule = reactive({
161
+ id: null
162
+ });
163
+ const id = rule.selector.slice(rule.selector[0] === "." ? 1 : 0) + index2;
164
+ if (index2 > 0) {
165
+ newRule = __spreadValues({}, rule);
166
+ dom.id = id;
167
+ newRule.id = id;
168
+ rules2.push(newRule);
169
+ }
170
+ if (trigger === "hover") {
171
+ dom.addEventListener("mouseenter", onMouseenter(newRule.id ? newRule : rule));
172
+ dom.addEventListener("mouseleave", onMouseleave(newRule.id ? newRule : rule));
173
+ }
174
+ });
175
+ });
176
+ return rules2;
177
+ };
178
+ function show(dom, rule) {
179
+ rule.status = true;
180
+ }
181
+ const rules = (rules2) => {
182
+ if (rules2 === null)
183
+ return;
184
+ if (typeof rules2 === "object" && !Array.isArray(rules2)) {
185
+ rules2 = [rules2];
186
+ }
187
+ rules2 = [...rules2];
188
+ Array.isArray(rules2) && rules2.map((rule) => {
189
+ rule.status = false;
190
+ });
191
+ return rules2;
192
+ };
193
+ const refRules = reactive(rules(options.rules));
194
+ const clickFn = () => {
195
+ refRules.forEach((element) => {
196
+ element.status = false;
197
+ });
198
+ };
199
+ onMounted(() => {
200
+ init(refRules, options.trigger);
201
+ document.addEventListener("click", clickFn, true);
202
+ });
203
+ onUnmounted(() => {
204
+ document.removeEventListener("click", clickFn);
205
+ });
206
+ const onClick = (e) => {
207
+ for (const rule of refRules) {
208
+ const doms = defaultSlot.value.querySelectorAll(rule.selector);
209
+ for (const dom of doms) {
210
+ if (doms.length > 1) {
211
+ if (dom === e.target && rule.id) {
212
+ show(dom, rule);
213
+ return;
214
+ } else if (dom === e.target && !rule.id && !dom.id) {
215
+ show(dom, rule);
216
+ return;
217
+ }
218
+ } else if (dom === e.target) {
219
+ show(dom, rule);
220
+ return;
221
+ } else {
222
+ rule.status = false;
223
+ }
224
+ }
225
+ }
226
+ };
227
+ return () => {
228
+ var _a;
229
+ return createVNode("div", {
230
+ "class": "devui-read-tip"
231
+ }, [createVNode("div", {
232
+ "ref": defaultSlot,
233
+ "onClick": onClick
234
+ }, [(_a = ctx.slots) == null ? void 0 : _a.default()]), refRules.map((rule) => createVNode("div", {
235
+ "data-test": "todo"
236
+ }, [rule.status && createVNode(TipsTemplate, {
237
+ "defaultTemplateProps": __spreadValues({}, rule)
238
+ }, {
239
+ default: () => {
240
+ var _a2;
241
+ return [rule.contentTemplate && ((_a2 = ctx.slots) == null ? void 0 : _a2.contentTemplate())];
242
+ }
243
+ })]))]);
244
+ };
245
+ }
246
+ });
247
+ ReadTip.install = function(app) {
248
+ app.component(ReadTip.name, ReadTip);
249
+ };
250
+ var index = {
251
+ title: "ReadTip \u9605\u8BFB\u63D0\u793A",
252
+ category: "\u53CD\u9988",
253
+ status: "100%",
254
+ install(app) {
255
+ app.use(ReadTip);
256
+ }
257
+ };
258
+ export { ReadTip, index as default };
@@ -0,0 +1 @@
1
+ var q=Object.defineProperty;var k=Object.getOwnPropertySymbols;var D=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var w=(a,e,d)=>e in a?q(a,e,{enumerable:!0,configurable:!0,writable:!0,value:d}):a[e]=d,y=(a,e)=>{for(var d in e||(e={}))D.call(e,d)&&w(a,d,e[d]);if(k)for(var d of k(e))O.call(e,d)&&w(a,d,e[d]);return a};(function(a,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(a=typeof globalThis!="undefined"?globalThis:a||self,e(a.index={},a.Vue))})(this,function(a,e){"use strict";const d={readTipOptions:{type:Object},defaultTemplateProps:{type:Object}};var x="",A=e.defineComponent({name:"DReadTipTemplate",props:d,emits:[],setup(p,g){const{defaultTemplateProps:b}=e.toRefs(p);let n=b.value;const f=(n==null?void 0:n.id)?`#${n.id}`:n.selector,c=e.reactive({});if(typeof n.dataFn=="function"){const i=n.dataFn({element:document.querySelector(f),rule:n});n=y(y({},n),i)}const B=e.ref(null),N=i=>{let h=i>24?0:-(i/2)+2;return i<=10&&(h=-10),h};return e.onMounted(()=>{const i=document.querySelector(f).getBoundingClientRect(),{width:h,height:l}=i,m=10;let u=0;const t=N(l),s=N(h);let o=0;const r=document.querySelector(".read-tip-container").getBoundingClientRect();switch(n.appendToBody&&(u=i.y+document.documentElement.scrollTop,o=i.x),n.position){case"top":c.top=u-r.height-m+"px",c.left=o+s+"px";break;case"left":c.top=u+t+"px",c.left=o-r.width-m+"px";break;case"bottom":c.top=u+i.height+m+"px",c.left=o+s+"px";break;case"right":c.top=u+t+"px",c.left=o+i.width+m+"px";break}}),()=>e.createVNode(e.Teleport,{to:n.appendToBody?"body":f},{default:()=>{var i;return[e.createVNode("div",{ref:B,class:["read-tip-container",n.position,n.overlayClassName],style:c},[e.createVNode("span",{class:"after"},null),n.contentTemplate?(i=g.slots)==null?void 0:i.default():e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"title"},[n.title]),e.createVNode("div",{class:"content"},[n.content])])])]}})}}),v=e.defineComponent({name:"DReadTip",props:d,emits:[],setup(p,g){const n=y(y({},{trigger:"hover",showAnimate:!1,mouseenterTime:100,mouseleaveTime:100,position:"top",overlayClassName:"",appendToBody:!0,rules:{selector:null}}),p.readTipOptions),f=e.ref(null),c=t=>()=>{setTimeout(()=>{if(t.id){const s=l.find(o=>o.id===t.id);s.status=!0}t.status=!0},t.mouseenterTime||n.mouseenterTime)},B=t=>()=>{setTimeout(()=>{if(t.id){const s=l.find(o=>o.id===t.id);s.status=!1}t.status=!1},t.mouseleaveTime||n.mouseleaveTime)},N=(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=!!g.slots.contentTemplate,"appendToBody"in o||(o.appendToBody=n.appendToBody),[...f.value.querySelectorAll(o.selector)].map((C,V)=>{o.appendToBody===!1&&(C.style.position="relative");let T=e.reactive({id:null});const R=o.selector.slice(o.selector[0]==="."?1:0)+V;V>0&&(T=y({},o),C.id=R,T.id=R,t.push(T)),s==="hover"&&(C.addEventListener("mouseenter",c(T.id?T:o)),C.addEventListener("mouseleave",B(T.id?T:o)))})}),t);function i(t,s){s.status=!0}const h=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},l=e.reactive(h(n.rules)),m=()=>{l.forEach(t=>{t.status=!1})};e.onMounted(()=>{N(l,n.trigger),document.addEventListener("click",m,!0)}),e.onUnmounted(()=>{document.removeEventListener("click",m)});const u=t=>{for(const s of l){const o=f.value.querySelectorAll(s.selector);for(const r of o)if(o.length>1){if(r===t.target&&s.id){i(r,s);return}else if(r===t.target&&!s.id&&!r.id){i(r,s);return}}else if(r===t.target){i(r,s);return}else s.status=!1}};return()=>{var t;return e.createVNode("div",{class:"devui-read-tip"},[e.createVNode("div",{ref:f,onClick:u},[(t=g.slots)==null?void 0:t.default()]),l.map(s=>e.createVNode("div",{"data-test":"todo"},[s.status&&e.createVNode(A,{defaultTemplateProps:y({},s)},{default:()=>{var o;return[s.contentTemplate&&((o=g.slots)==null?void 0:o.contentTemplate())]}})]))])}}});v.install=function(p){p.component(v.name,v)};var S={title:"ReadTip \u9605\u8BFB\u63D0\u793A",category:"\u53CD\u9988",status:"100%",install(p){p.use(v)}};a.ReadTip=v,a.default=S,Object.defineProperty(a,"__esModule",{value:!0}),a[Symbol.toStringTag]="Module"});
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "read-tip",
3
+ "version": "0.0.0",
4
+ "main": "index.umd.js",
5
+ "module": "index.es.js",
6
+ "style": "style.css"
7
+ }
@@ -0,0 +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:normal;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:bold;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:bold;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:bold;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}
@@ -0,0 +1,7 @@
1
+ import { App } from 'vue';
2
+ declare function install(app: App): void
3
+ declare const _default: {
4
+ install: typeof install;
5
+ version: string;
6
+ };
7
+ export default _default;
@@ -0,0 +1,119 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __spreadValues = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
17
+ import { defineComponent, createVNode } from "vue";
18
+ const resultProps = {
19
+ icon: {
20
+ type: String,
21
+ default: "info"
22
+ },
23
+ title: {
24
+ type: String,
25
+ default: ""
26
+ },
27
+ desc: {
28
+ type: String,
29
+ default: ""
30
+ }
31
+ };
32
+ var Icon = defineComponent({
33
+ name: "DIcon",
34
+ props: {
35
+ name: {
36
+ type: String,
37
+ required: true
38
+ },
39
+ size: {
40
+ type: String,
41
+ default: "inherit"
42
+ },
43
+ color: {
44
+ type: String,
45
+ default: "inherit"
46
+ },
47
+ classPrefix: {
48
+ type: String,
49
+ default: "icon"
50
+ }
51
+ },
52
+ setup(props) {
53
+ return __spreadValues({}, props);
54
+ },
55
+ render() {
56
+ const {
57
+ name,
58
+ size,
59
+ color,
60
+ classPrefix
61
+ } = this;
62
+ return /^((https?):)?\/\//.test(name) ? createVNode("img", {
63
+ "src": name,
64
+ "alt": name.split("/")[name.split("/").length - 1],
65
+ "style": {
66
+ width: size,
67
+ verticalAlign: "text-bottom"
68
+ }
69
+ }, null) : createVNode("i", {
70
+ "class": `${classPrefix} ${classPrefix}-${name}`,
71
+ "style": {
72
+ fontSize: size,
73
+ color
74
+ }
75
+ }, null);
76
+ }
77
+ });
78
+ var result = "";
79
+ var Result = defineComponent({
80
+ name: "DResult",
81
+ props: resultProps,
82
+ setup(props, ctx) {
83
+ let IconEnum;
84
+ (function(IconEnum2) {
85
+ IconEnum2["success"] = "right-o";
86
+ IconEnum2["danger"] = "error-o";
87
+ IconEnum2["warning"] = "warning-o";
88
+ IconEnum2["info"] = "info-o";
89
+ })(IconEnum || (IconEnum = {}));
90
+ return () => {
91
+ var _a, _b, _c, _d;
92
+ return createVNode("div", {
93
+ "class": "devui-result"
94
+ }, [ctx.slots.icon ? createVNode("div", null, [(_a = ctx.slots) == null ? void 0 : _a.icon()]) : createVNode(Icon, {
95
+ "name": IconEnum[props.icon] || "",
96
+ "class": `devui-result__icon-${props.icon}`,
97
+ "size": "64px"
98
+ }, null), createVNode("div", {
99
+ "class": "devui-result__title"
100
+ }, [ctx.slots.title ? (_b = ctx.slots) == null ? void 0 : _b.title() : props.title]), createVNode("div", {
101
+ "class": "devui-result__desc"
102
+ }, [ctx.slots.desc ? (_c = ctx.slots) == null ? void 0 : _c.desc() : props.desc]), createVNode("div", {
103
+ "class": "devui-result__extra"
104
+ }, [ctx.slots.extra ? (_d = ctx.slots) == null ? void 0 : _d.extra() : ""])]);
105
+ };
106
+ }
107
+ });
108
+ Result.install = function(app) {
109
+ app.component(Result.name, Result);
110
+ };
111
+ var index = {
112
+ title: "Result \u7ED3\u679C",
113
+ category: "\u53CD\u9988",
114
+ status: "100%",
115
+ install(app) {
116
+ app.use(Result);
117
+ }
118
+ };
119
+ export { Result, index as default };
@@ -0,0 +1 @@
1
+ var m=Object.defineProperty;var c=Object.getOwnPropertySymbols;var h=Object.prototype.hasOwnProperty,S=Object.prototype.propertyIsEnumerable;var f=(t,e,s)=>e in t?m(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,p=(t,e)=>{for(var s in e||(e={}))h.call(e,s)&&f(t,s,e[s]);if(c)for(var s of c(e))S.call(e,s)&&f(t,s,e[s]);return t};(function(t,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(t=typeof globalThis!="undefined"?globalThis:t||self,e(t.index={},t.Vue))})(this,function(t,e){"use strict";const s={icon:{type:String,default:"info"},title:{type:String,default:""},desc:{type:String,default:""}};var g=e.defineComponent({name:"DIcon",props:{name:{type:String,required:!0},size:{type:String,default:"inherit"},color:{type:String,default:"inherit"},classPrefix:{type:String,default:"icon"}},setup(i){return p({},i)},render(){const{name:i,size:n,color:o,classPrefix:l}=this;return/^((https?):)?\/\//.test(i)?e.createVNode("img",{src:i,alt:i.split("/")[i.split("/").length-1],style:{width:n,verticalAlign:"text-bottom"}},null):e.createVNode("i",{class:`${l} ${l}-${i}`,style:{fontSize:n,color:o}},null)}}),_="",r=e.defineComponent({name:"DResult",props:s,setup(i,n){let o;return function(l){l.success="right-o",l.danger="error-o",l.warning="warning-o",l.info="info-o"}(o||(o={})),()=>{var l,d,u,a;return e.createVNode("div",{class:"devui-result"},[n.slots.icon?e.createVNode("div",null,[(l=n.slots)==null?void 0:l.icon()]):e.createVNode(g,{name:o[i.icon]||"",class:`devui-result__icon-${i.icon}`,size:"64px"},null),e.createVNode("div",{class:"devui-result__title"},[n.slots.title?(d=n.slots)==null?void 0:d.title():i.title]),e.createVNode("div",{class:"devui-result__desc"},[n.slots.desc?(u=n.slots)==null?void 0:u.desc():i.desc]),e.createVNode("div",{class:"devui-result__extra"},[n.slots.extra?(a=n.slots)==null?void 0:a.extra():""])])}}});r.install=function(i){i.component(r.name,r)};var y={title:"Result \u7ED3\u679C",category:"\u53CD\u9988",status:"100%",install(i){i.use(r)}};t.Result=r,t.default=y,Object.defineProperty(t,"__esModule",{value:!0}),t[Symbol.toStringTag]="Module"});
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "result",
3
+ "version": "0.0.0",
4
+ "main": "index.umd.js",
5
+ "module": "index.es.js",
6
+ "style": "style.css"
7
+ }
@@ -0,0 +1 @@
1
+ .devui-result{display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;box-sizing:border-box;padding:30px}.devui-result__icon-success:before{color:var(--devui-success, #50d4ab)}.devui-result__icon-danger:before{color:var(--devui-danger, #f66f6a)}.devui-result__icon-warning:before{color:var(--devui-warning, #fac20a)}.devui-result__icon-info:before{color:var(--devui-info, #5e7ce0)}.devui-result__title{margin-top:20px;color:var(--devui-text, #252b3a);font-size:var(--devui-font-size-lg, 14px)}.devui-result__desc{margin-top:10px;color:var(--devui-text-weak, #575d6c);font-size:var(--devui-font-size-md, 12px)}.devui-result__extra{margin-top:30px}
@@ -0,0 +1,7 @@
1
+ import { App } from 'vue';
2
+ declare function install(app: App): void
3
+ declare const _default: {
4
+ install: typeof install;
5
+ version: string;
6
+ };
7
+ export default _default;
@@ -21,7 +21,8 @@ const DEFAULT_PLUGIN_OPTIONS = {
21
21
  finalOpacity: 0.1,
22
22
  duration: 0.8,
23
23
  easing: "ease-out",
24
- delayTime: 75
24
+ delayTime: 75,
25
+ disabled: false
25
26
  };
26
27
  const createContainer = ({
27
28
  borderTopLeftRadius,
@@ -157,6 +158,8 @@ var RippleDirective = {
157
158
  optionMap.set(el, (_a = binding.value) != null ? _a : {});
158
159
  el.addEventListener("pointerdown", (event) => {
159
160
  const options = optionMap.get(el);
161
+ if (binding.value && binding.value.disabled)
162
+ return;
160
163
  if (options === false)
161
164
  return;
162
165
  ripple(event, el, __spreadValues(__spreadValues({}, globalOptions), options));
@@ -170,7 +173,7 @@ var RippleDirective = {
170
173
  var index = {
171
174
  title: "Ripple \u6C34\u6CE2\u7EB9",
172
175
  category: "\u901A\u7528",
173
- status: "\u5DF2\u5B8C\u6210",
176
+ status: "100%",
174
177
  install(app) {
175
178
  app.directive("Ripple", RippleDirective);
176
179
  }
@@ -1 +1 @@
1
- var N=Object.defineProperty;var T=Object.getOwnPropertySymbols;var A=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable;var $=(s,r,a)=>r in s?N(s,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[r]=a,y=(s,r)=>{for(var a in r||(r={}))A.call(r,a)&&$(s,a,r[a]);if(T)for(var a of T(r))j.call(r,a)&&$(s,a,r[a]);return s};(function(s,r){typeof exports=="object"&&typeof module!="undefined"?r(exports):typeof define=="function"&&define.amd?define(["exports"],r):(s=typeof globalThis!="undefined"?globalThis:s||self,r(s.index={}))})(this,function(s){"use strict";const r={directive:"ripple",color:"currentColor",initialOpacity:.2,finalOpacity:.1,duration:.8,easing:"ease-out",delayTime:75},a=({borderTopLeftRadius:t,borderTopRightRadius:e,borderBottomLeftRadius:i,borderBottomRightRadius:o})=>{const n=document.createElement("div");return n.style.top="0",n.style.left="0",n.style.width="100%",n.style.height="100%",n.style.position="absolute",n.style.borderRadius=`${t} ${e} ${o} ${i}`,n.style.overflow="hidden",n.style.pointerEvents="none",n.style.webkitMaskImage="-webkit-radial-gradient(white, black)",n},w=(t,e,i,o)=>{const n=document.createElement("div");return n.style.position="absolute",n.style.width=`${i}px`,n.style.height=`${i}px`,n.style.top=`${e}px`,n.style.left=`${t}px`,n.style.background=o.color,n.style.borderRadius="50%",n.style.opacity=`${o.initialOpacity}`,n.style.transform="translate(-50%,-50%) scale(0)",n.style.transition=`transform ${o.duration}s ${o.easing}, opacity ${o.duration}s ${o.easing}`,n};function u(t,e,i,o){const n=t-i,l=e-o;return Math.sqrt(n*n+l*l)}function M(t,e,{width:i,height:o}){const n=u(t,e,0,0),l=u(t,e,i,0),d=u(t,e,0,o),E=u(t,e,i,o);return Math.max(n,l,d,E)}const O=({x:t,y:e},{top:i,left:o})=>({x:t-o,y:e-i}),f="vRippleCountInternal";function P(t){const e=v(t);R(t,e+1)}function k(t){const e=v(t);R(t,e-1)}function R(t,e){t.dataset[f]=e.toString()}function v(t){var e;return parseInt((e=t.dataset[f])!=null?e:"0",10)}function I(t){delete t.dataset[f]}const x=2.05,D=(t,e,i)=>{const o=e.getBoundingClientRect(),n=window.getComputedStyle(e),{x:l,y:d}=O(t,o),E=x*M(l,d,o),m=a(n),p=w(l,d,E,i);P(e);let h="";n.position==="static"&&(e.style.position&&(h=e.style.position),e.style.position="relative"),m.appendChild(p),e.appendChild(m);let b=!1;const c=F=>{typeof F!="undefined"&&(document.removeEventListener("pointerup",c),document.removeEventListener("pointercancel",c)),b?U():b=!0},U=()=>{p.style.transition="opacity 150ms linear",p.style.opacity="0",setTimeout(()=>{m.remove(),k(e),v(e)===0&&(I(e),e.style.position=h)},150)};document.addEventListener("pointerup",c),document.addEventListener("pointercancel",c);const B=setTimeout(()=>{document.removeEventListener("pointercancel",C),requestAnimationFrame(()=>{p.style.transform="translate(-50%,-50%) scale(1)",p.style.opacity=`${i.finalOpacity}`,setTimeout(()=>c(),i.duration*1e3)})},i.delayTime),C=()=>{clearTimeout(B),m.remove(),document.removeEventListener("pointerup",c),document.removeEventListener("pointercancel",c),document.removeEventListener("pointercancel",C)};document.addEventListener("pointercancel",C)},g=new WeakMap,S=y({},r);var L={mounted(t,e){var i;g.set(t,(i=e.value)!=null?i:{}),t.addEventListener("pointerdown",o=>{const n=g.get(t);n!==!1&&D(o,t,y(y({},S),n))})},updated(t,e){var i;g.set(t,(i=e.value)!=null?i:{})}},_={title:"Ripple \u6C34\u6CE2\u7EB9",category:"\u901A\u7528",status:"\u5DF2\u5B8C\u6210",install(t){t.directive("Ripple",L)}};s.RippleDirective=L,s.default=_,Object.defineProperty(s,"__esModule",{value:!0}),s[Symbol.toStringTag]="Module"});
1
+ var B=Object.defineProperty;var T=Object.getOwnPropertySymbols;var F=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable;var $=(s,r,a)=>r in s?B(s,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[r]=a,y=(s,r)=>{for(var a in r||(r={}))F.call(r,a)&&$(s,a,r[a]);if(T)for(var a of T(r))j.call(r,a)&&$(s,a,r[a]);return s};(function(s,r){typeof exports=="object"&&typeof module!="undefined"?r(exports):typeof define=="function"&&define.amd?define(["exports"],r):(s=typeof globalThis!="undefined"?globalThis:s||self,r(s.index={}))})(this,function(s){"use strict";const r={directive:"ripple",color:"currentColor",initialOpacity:.2,finalOpacity:.1,duration:.8,easing:"ease-out",delayTime:75,disabled:!1},a=({borderTopLeftRadius:t,borderTopRightRadius:e,borderBottomLeftRadius:i,borderBottomRightRadius:o})=>{const n=document.createElement("div");return n.style.top="0",n.style.left="0",n.style.width="100%",n.style.height="100%",n.style.position="absolute",n.style.borderRadius=`${t} ${e} ${o} ${i}`,n.style.overflow="hidden",n.style.pointerEvents="none",n.style.webkitMaskImage="-webkit-radial-gradient(white, black)",n},w=(t,e,i,o)=>{const n=document.createElement("div");return n.style.position="absolute",n.style.width=`${i}px`,n.style.height=`${i}px`,n.style.top=`${e}px`,n.style.left=`${t}px`,n.style.background=o.color,n.style.borderRadius="50%",n.style.opacity=`${o.initialOpacity}`,n.style.transform="translate(-50%,-50%) scale(0)",n.style.transition=`transform ${o.duration}s ${o.easing}, opacity ${o.duration}s ${o.easing}`,n};function u(t,e,i,o){const n=t-i,l=e-o;return Math.sqrt(n*n+l*l)}function M(t,e,{width:i,height:o}){const n=u(t,e,0,0),l=u(t,e,i,0),d=u(t,e,0,o),g=u(t,e,i,o);return Math.max(n,l,d,g)}const O=({x:t,y:e},{top:i,left:o})=>({x:t-o,y:e-i}),f="vRippleCountInternal";function P(t){const e=v(t);R(t,e+1)}function k(t){const e=v(t);R(t,e-1)}function R(t,e){t.dataset[f]=e.toString()}function v(t){var e;return parseInt((e=t.dataset[f])!=null?e:"0",10)}function I(t){delete t.dataset[f]}const x=2.05,S=(t,e,i)=>{const o=e.getBoundingClientRect(),n=window.getComputedStyle(e),{x:l,y:d}=O(t,o),g=x*M(l,d,o),m=a(n),p=w(l,d,g,i);P(e);let h="";n.position==="static"&&(e.style.position&&(h=e.style.position),e.style.position="relative"),m.appendChild(p),e.appendChild(m);let b=!1;const c=A=>{typeof A!="undefined"&&(document.removeEventListener("pointerup",c),document.removeEventListener("pointercancel",c)),b?U():b=!0},U=()=>{p.style.transition="opacity 150ms linear",p.style.opacity="0",setTimeout(()=>{m.remove(),k(e),v(e)===0&&(I(e),e.style.position=h)},150)};document.addEventListener("pointerup",c),document.addEventListener("pointercancel",c);const N=setTimeout(()=>{document.removeEventListener("pointercancel",C),requestAnimationFrame(()=>{p.style.transform="translate(-50%,-50%) scale(1)",p.style.opacity=`${i.finalOpacity}`,setTimeout(()=>c(),i.duration*1e3)})},i.delayTime),C=()=>{clearTimeout(N),m.remove(),document.removeEventListener("pointerup",c),document.removeEventListener("pointercancel",c),document.removeEventListener("pointercancel",C)};document.addEventListener("pointercancel",C)},E=new WeakMap,_=y({},r);var L={mounted(t,e){var i;E.set(t,(i=e.value)!=null?i:{}),t.addEventListener("pointerdown",o=>{const n=E.get(t);e.value&&e.value.disabled||n!==!1&&S(o,t,y(y({},_),n))})},updated(t,e){var i;E.set(t,(i=e.value)!=null?i:{})}},D={title:"Ripple \u6C34\u6CE2\u7EB9",category:"\u901A\u7528",status:"100%",install(t){t.directive("Ripple",L)}};s.RippleDirective=L,s.default=D,Object.defineProperty(s,"__esModule",{value:!0}),s[Symbol.toStringTag]="Module"});
@@ -0,0 +1,7 @@
1
+ import { App } from 'vue';
2
+ declare function install(app: App): void
3
+ declare const _default: {
4
+ install: typeof install;
5
+ version: string;
6
+ };
7
+ export default _default;
@@ -1,4 +1,4 @@
1
- import { computed, ref, watch, defineComponent, createVNode, withDirectives, mergeProps, resolveDirective, resolveComponent } from "vue";
1
+ import { computed, ref, watch, defineComponent, inject, createVNode, withDirectives, mergeProps, resolveDirective, resolveComponent } from "vue";
2
2
  const searchProps = {
3
3
  size: {
4
4
  type: String,
@@ -44,7 +44,7 @@ const searchProps = {
44
44
  type: String,
45
45
  default: ""
46
46
  },
47
- searchFn: {
47
+ onSearch: {
48
48
  type: Function,
49
49
  default: void 0
50
50
  },
@@ -282,7 +282,7 @@ const keydownHandles = (ctx, keywords, delay) => {
282
282
  useEmitKeyword(keywords.value);
283
283
  };
284
284
  const useEmitKeyword = debounce((value) => {
285
- ctx.emit("searchFn", value);
285
+ ctx.emit("onSearch", value);
286
286
  }, delay);
287
287
  return {
288
288
  onInputKeydown,
@@ -323,32 +323,38 @@ const inputProps = {
323
323
  type: Boolean,
324
324
  default: false
325
325
  },
326
- value: {
326
+ modelValue: {
327
327
  type: String,
328
328
  default: ""
329
329
  },
330
- "onUpdate:value": {
330
+ "update:modelValue": {
331
331
  type: Function,
332
332
  default: void 0
333
333
  },
334
- "onChange": {
334
+ onChange: {
335
335
  type: Function,
336
336
  default: void 0
337
337
  },
338
- "onKeydown": {
338
+ onKeydown: {
339
339
  type: Function,
340
340
  default: void 0
341
341
  },
342
- "onFocus": {
342
+ onFocus: {
343
343
  type: Function,
344
344
  default: void 0
345
345
  },
346
- "onBlur": {
346
+ onBlur: {
347
347
  type: Function,
348
348
  default: void 0
349
349
  }
350
350
  };
351
351
  var input = "";
352
+ const formItemInjectionKey = Symbol("dFormItem");
353
+ const dFormItemEvents = {
354
+ blur: "d.form.blur",
355
+ change: "d.form.change",
356
+ input: "d.form.input"
357
+ };
352
358
  var DInput = defineComponent({
353
359
  name: "DInput",
354
360
  directives: {
@@ -361,8 +367,10 @@ var DInput = defineComponent({
361
367
  }
362
368
  },
363
369
  props: inputProps,
364
- emits: ["update:value", "focus", "blur", "change", "keydown"],
370
+ emits: ["update:modelValue", "focus", "blur", "change", "keydown"],
365
371
  setup(props, ctx) {
372
+ const formItem = inject(formItemInjectionKey, {});
373
+ const hasFormItem = Object.keys(formItem).length > 0;
366
374
  const sizeCls = computed(() => `devui-input-${props.size}`);
367
375
  const showPwdIcon = ref(false);
368
376
  const inputType = ref("text");
@@ -379,17 +387,20 @@ var DInput = defineComponent({
379
387
  }, {
380
388
  immediate: true
381
389
  });
382
- watch(() => props.value, (value) => {
390
+ watch(() => props.modelValue, (value) => {
383
391
  value && value.length > 0 && showPreviewIcon.value ? showPwdIcon.value = true : showPwdIcon.value = false;
384
392
  });
385
393
  const onInput = ($event) => {
386
- ctx.emit("update:value", $event.target.value);
394
+ ctx.emit("update:modelValue", $event.target.value);
395
+ hasFormItem && formItem.formItemMitt.emit(dFormItemEvents.input);
387
396
  }, onFocus = () => {
388
397
  ctx.emit("focus");
389
398
  }, onBlur = () => {
390
399
  ctx.emit("blur");
400
+ hasFormItem && formItem.formItemMitt.emit(dFormItemEvents.blur);
391
401
  }, onChange = ($event) => {
392
402
  ctx.emit("change", $event.target.value);
403
+ hasFormItem && formItem.formItemMitt.emit(dFormItemEvents.change);
393
404
  }, onKeydown = ($event) => {
394
405
  ctx.emit("keydown", $event);
395
406
  }, onChangeInputType = () => {
@@ -410,7 +421,7 @@ var DInput = defineComponent({
410
421
  },
411
422
  render() {
412
423
  const {
413
- value,
424
+ modelValue,
414
425
  showPreviewIcon,
415
426
  showPwdIcon,
416
427
  inputCls,
@@ -431,7 +442,7 @@ var DInput = defineComponent({
431
442
  }, [withDirectives(createVNode("input", mergeProps({
432
443
  dinput: true
433
444
  }, {
434
- "value": value,
445
+ "value": modelValue,
435
446
  "disabled": disabled,
436
447
  "type": inputType,
437
448
  "maxlength": maxLength,
@@ -460,7 +471,7 @@ var search = "";
460
471
  var Search = defineComponent({
461
472
  name: "DSearch",
462
473
  props: searchProps,
463
- emits: ["update:modelValue", "searchFn"],
474
+ emits: ["update:modelValue", "onSearch"],
464
475
  setup(props, ctx) {
465
476
  const rootClasses = getRootClass(props);
466
477
  const {
@@ -488,29 +499,32 @@ var Search = defineComponent({
488
499
  "onClick": onClickHandle
489
500
  }, [createVNode(resolveComponent("d-icon"), {
490
501
  "name": "search",
491
- "size": "inherit"
502
+ "size": "inherit",
503
+ "key": "search"
492
504
  }, null)]), createVNode(DInput, {
493
505
  "size": props.size,
494
506
  "disabled": props.disabled,
495
507
  "autoFocus": props.autoFocus,
496
- "value": keywords.value,
508
+ "modelValue": keywords.value,
497
509
  "maxLength": props.maxLength,
498
510
  "placeholder": props.placeholder,
499
511
  "cssClass": props.cssClass,
500
512
  "onKeydown": onInputKeydown,
501
- "onUpdate:value": onInputUpdate
513
+ "onUpdate:modelValue": onInputUpdate
502
514
  }, null), clearIconShow.value && createVNode("div", {
503
515
  "class": "devui-search__clear",
504
516
  "onClick": onClearHandle
505
517
  }, [createVNode(resolveComponent("d-icon"), {
506
518
  "name": "close",
507
- "size": "inherit"
519
+ "size": "inherit",
520
+ "key": "close"
508
521
  }, null)]), props.iconPosition === "right" && createVNode("div", {
509
522
  "class": "devui-search__icon",
510
523
  "onClick": onClickHandle
511
524
  }, [createVNode(resolveComponent("d-icon"), {
512
525
  "name": "search",
513
- "size": "inherit"
526
+ "size": "inherit",
527
+ "key": "search"
514
528
  }, null)])]);
515
529
  };
516
530
  }
@@ -521,7 +535,7 @@ Search.install = function(app) {
521
535
  var index = {
522
536
  title: "Search \u641C\u7D22\u6846",
523
537
  category: "\u901A\u7528",
524
- status: "\u5DF2\u5B8C\u6210",
538
+ status: "100%",
525
539
  install(app) {
526
540
  app.use(Search);
527
541
  }