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
@@ -14,7 +14,11 @@ var __spreadValues = (a, b) => {
14
14
  }
15
15
  return a;
16
16
  };
17
- import { defineComponent, createVNode, Fragment, ref, computed, mergeProps } from "vue";
17
+ var __publicField = (obj, key, value) => {
18
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
19
+ return value;
20
+ };
21
+ import { defineComponent, createVNode, ref, h, render, computed, mergeProps, withDirectives, resolveDirective } from "vue";
18
22
  var Icon = defineComponent({
19
23
  name: "DIcon",
20
24
  props: {
@@ -45,11 +49,12 @@ var Icon = defineComponent({
45
49
  color,
46
50
  classPrefix
47
51
  } = this;
48
- return createVNode(Fragment, null, [/^((https?):)?\/\//.test(name) ? createVNode("img", {
52
+ return /^((https?):)?\/\//.test(name) ? createVNode("img", {
49
53
  "src": name,
50
54
  "alt": name.split("/")[name.split("/").length - 1],
51
55
  "style": {
52
- width: size
56
+ width: size,
57
+ verticalAlign: "text-bottom"
53
58
  }
54
59
  }, null) : createVNode("i", {
55
60
  "class": `${classPrefix} ${classPrefix}-${name}`,
@@ -57,18 +62,214 @@ var Icon = defineComponent({
57
62
  fontSize: size,
58
63
  color
59
64
  }
60
- }, null)]);
65
+ }, null);
61
66
  }
62
67
  });
63
68
  Icon.install = function(app) {
64
69
  app.component(Icon.name, Icon);
65
70
  };
71
+ class View {
72
+ constructor() {
73
+ __publicField(this, "top", "50%");
74
+ __publicField(this, "left", "50%");
75
+ }
76
+ }
77
+ const componentProps = {
78
+ message: String,
79
+ backdrop: Boolean,
80
+ view: {
81
+ type: Object,
82
+ default: () => new View()
83
+ },
84
+ zIndex: Number,
85
+ isFull: {
86
+ type: Boolean,
87
+ default: false
88
+ }
89
+ };
90
+ class LoadingProps {
91
+ constructor() {
92
+ __publicField(this, "target");
93
+ __publicField(this, "message");
94
+ __publicField(this, "loadingTemplateRef");
95
+ __publicField(this, "backdrop", true);
96
+ __publicField(this, "positionType", "relative");
97
+ __publicField(this, "view", new View());
98
+ __publicField(this, "zIndex");
99
+ }
100
+ }
101
+ var loading = "";
102
+ var Loading = defineComponent({
103
+ name: "DLoading",
104
+ inheritAttrs: false,
105
+ props: componentProps,
106
+ setup(props) {
107
+ const style = {
108
+ top: props.view.top,
109
+ left: props.view.left,
110
+ zIndex: props.zIndex
111
+ };
112
+ if (!props.message) {
113
+ style.background = "none";
114
+ }
115
+ const isShow = ref(false);
116
+ const open = () => {
117
+ isShow.value = true;
118
+ };
119
+ const close = () => {
120
+ isShow.value = false;
121
+ };
122
+ return {
123
+ style,
124
+ isShow,
125
+ open,
126
+ close
127
+ };
128
+ },
129
+ render() {
130
+ var _a;
131
+ const {
132
+ isShow,
133
+ isFull,
134
+ backdrop,
135
+ style,
136
+ message,
137
+ $slots
138
+ } = this;
139
+ return isShow && createVNode("div", {
140
+ "class": ["devui-loading-contanier", isFull ? "devui-loading--full" : ""]
141
+ }, [((_a = $slots.default) == null ? void 0 : _a.call($slots)) || createVNode("div", {
142
+ "class": "devui-loading-wrapper"
143
+ }, [backdrop ? createVNode("div", {
144
+ "class": "devui-loading-mask"
145
+ }, null) : null, createVNode("div", {
146
+ "style": style,
147
+ "class": "devui-loading-area"
148
+ }, [createVNode("div", {
149
+ "class": "devui-busy-default-spinner"
150
+ }, [createVNode("div", {
151
+ "class": "devui-loading-bar1"
152
+ }, null), createVNode("div", {
153
+ "class": "devui-loading-bar2"
154
+ }, null), createVNode("div", {
155
+ "class": "devui-loading-bar3"
156
+ }, null), createVNode("div", {
157
+ "class": "devui-loading-bar4"
158
+ }, null)]), message ? createVNode("span", {
159
+ "class": "devui-loading-text"
160
+ }, [message]) : null])])]);
161
+ }
162
+ });
163
+ const COMPONENT_CONTAINER_SYMBOL = Symbol("dev_component_container");
164
+ function createComponent(Component, props, children = null) {
165
+ const vnode = h(Component, __spreadValues({}, props), children);
166
+ const container = document.createElement("div");
167
+ vnode[COMPONENT_CONTAINER_SYMBOL] = container;
168
+ render(vnode, container);
169
+ return vnode.component;
170
+ }
171
+ function unmountComponent(ComponnetInstance) {
172
+ render(null, ComponnetInstance == null ? void 0 : ComponnetInstance.vnode[COMPONENT_CONTAINER_SYMBOL]);
173
+ }
174
+ const loadingConstructor = defineComponent(Loading);
175
+ const cacheInstance = new WeakSet();
176
+ const isEmpty = (val) => {
177
+ if (!val)
178
+ return true;
179
+ if (Array.isArray(val))
180
+ return val.length === 0;
181
+ if (val instanceof Set || val instanceof Map)
182
+ return val.size === 0;
183
+ if (val instanceof Promise)
184
+ return false;
185
+ if (typeof val === "object") {
186
+ try {
187
+ return Object.keys(val).length === 0;
188
+ } catch (e) {
189
+ return false;
190
+ }
191
+ }
192
+ return false;
193
+ };
194
+ const getType = (vari) => {
195
+ return Object.prototype.toString.call(vari).slice(8, -1).toLowerCase();
196
+ };
197
+ const isPromise = (value) => {
198
+ const type = getType(value);
199
+ switch (type) {
200
+ case "promise":
201
+ return [value];
202
+ case "array":
203
+ if (value.some((val) => getType(val) !== "promise")) {
204
+ console.error(new TypeError("Binding values should all be of type Promise"));
205
+ return "error";
206
+ }
207
+ return value;
208
+ default:
209
+ return false;
210
+ }
211
+ };
212
+ const unmount = (el) => {
213
+ cacheInstance.delete(el);
214
+ el.instance.proxy.close();
215
+ unmountComponent(el.instance);
216
+ };
217
+ const toggleLoading = (el, binding) => {
218
+ if (binding.value) {
219
+ const vals = isPromise(binding.value);
220
+ if (vals === "error")
221
+ return;
222
+ el.instance.proxy.open();
223
+ el.appendChild(el.mask);
224
+ cacheInstance.add(el);
225
+ if (vals) {
226
+ Promise.all(vals).catch((err) => {
227
+ console.error(new Error("Promise handling errors"), err);
228
+ }).finally(() => {
229
+ unmount(el);
230
+ });
231
+ }
232
+ } else {
233
+ unmount(el);
234
+ }
235
+ };
236
+ const removeAttribute = (el) => {
237
+ el.removeAttribute("zindex");
238
+ el.removeAttribute("positiontype");
239
+ el.removeAttribute("backdrop");
240
+ el.removeAttribute("message");
241
+ el.removeAttribute("view");
242
+ el.removeAttribute("loadingtemplateref");
243
+ };
244
+ const handleProps = (el, vprops) => {
245
+ const props = __spreadValues(__spreadValues({}, new LoadingProps()), vprops);
246
+ const loadingTemplateRef = props.loadingTemplateRef;
247
+ const loadingInstance = createComponent(loadingConstructor, __spreadValues({}, props), loadingTemplateRef ? () => loadingTemplateRef : null);
248
+ el.style.position = props.positionType;
249
+ el.options = props;
250
+ el.instance = loadingInstance;
251
+ el.mask = loadingInstance.proxy.$el;
252
+ };
253
+ const loadingDirective = {
254
+ mounted: function(el, binding, vnode) {
255
+ handleProps(el, vnode.props);
256
+ removeAttribute(el);
257
+ !isEmpty(binding.value) && toggleLoading(el, binding);
258
+ },
259
+ updated: function(el, binding, vnode) {
260
+ if (!isEmpty(binding.value) && cacheInstance.has(el) || isEmpty(binding.value) && !cacheInstance.has(el))
261
+ return;
262
+ !cacheInstance.has(el) && handleProps(el, vnode.props);
263
+ removeAttribute(el);
264
+ toggleLoading(el, binding);
265
+ }
266
+ };
66
267
  const buttonProps = {
67
268
  type: {
68
269
  type: String,
69
270
  default: "button"
70
271
  },
71
- btnStyle: {
272
+ variant: {
72
273
  type: String,
73
274
  default: "primary"
74
275
  },
@@ -110,6 +311,9 @@ const buttonProps = {
110
311
  var button = "";
111
312
  var Button = defineComponent({
112
313
  name: "DButton",
314
+ directives: {
315
+ devLoading: loadingDirective
316
+ },
113
317
  props: buttonProps,
114
318
  setup(props, ctx) {
115
319
  const buttonContent = ref(null);
@@ -123,15 +327,15 @@ var Button = defineComponent({
123
327
  const hasContent = computed(() => ctx.slots.default);
124
328
  const btnClass = computed(() => {
125
329
  const {
126
- btnStyle,
330
+ variant,
127
331
  size,
128
332
  position,
129
333
  bordered,
130
334
  icon
131
335
  } = props;
132
- const origin = `devui-btn devui-btn-${btnStyle} devui-btn-${size} devui-btn-${position}`;
336
+ const origin = `devui-btn devui-btn-${variant} devui-btn-${size} devui-btn-${position}`;
133
337
  const borderedClass = bordered ? "bordered" : "";
134
- const btnIcon = !!icon && !hasContent.value && btnStyle !== "primary" ? "d-btn-icon" : "";
338
+ const btnIcon = !!icon && !hasContent.value && variant !== "primary" ? "d-btn-icon" : "";
135
339
  const btnIconWrap = !!icon ? "d-btn-icon-wrap" : "";
136
340
  return `${origin} ${borderedClass} ${btnIcon} ${btnIconWrap}`;
137
341
  });
@@ -157,7 +361,7 @@ var Button = defineComponent({
157
361
  } = props;
158
362
  return createVNode("div", mergeProps({
159
363
  "class": "devui-btn-host"
160
- }, ctx.attrs), [createVNode("button", {
364
+ }, ctx.attrs), [withDirectives(createVNode("button", {
161
365
  "class": btnClass.value,
162
366
  "type": type,
163
367
  "disabled": disabled,
@@ -166,22 +370,24 @@ var Button = defineComponent({
166
370
  },
167
371
  "onClick": onClick
168
372
  }, [!!icon ? createVNode(Icon, {
169
- "name": props.icon,
373
+ "name": icon,
170
374
  "class": iconClass.value
171
375
  }, null) : null, createVNode("span", {
172
376
  "class": "button-content",
173
377
  "ref": buttonContent
174
- }, [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)])])]);
378
+ }, [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)])]), [[resolveDirective("devLoading"), showLoading]])]);
175
379
  };
176
380
  }
177
381
  });
382
+ defineComponent(Loading);
178
383
  Button.install = function(app) {
384
+ app.directive("dLoading", loadingDirective);
179
385
  app.component(Button.name, Button);
180
386
  };
181
387
  var index = {
182
388
  title: "Button \u6309\u94AE",
183
389
  category: "\u901A\u7528",
184
- status: "\u5DF2\u5B8C\u6210",
390
+ status: "100%",
185
391
  install(app) {
186
392
  app.use(Button);
187
393
  }
@@ -1 +1 @@
1
- var w=Object.defineProperty;var g=Object.getOwnPropertySymbols;var N=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable;var h=(n,t,o)=>t in n?w(n,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[t]=o,S=(n,t)=>{for(var o in t||(t={}))N.call(t,o)&&h(n,o,t[o]);if(g)for(var o of g(t))P.call(t,o)&&h(n,o,t[o]);return n};(function(n,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(n=typeof globalThis!="undefined"?globalThis:n||self,t(n.index={},n.Vue))})(this,function(n,t){"use strict";var o=t.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(e){return S({},e)},render(){const{name:e,size:l,color:f,classPrefix:r}=this;return t.createVNode(t.Fragment,null,[/^((https?):)?\/\//.test(e)?t.createVNode("img",{src:e,alt:e.split("/")[e.split("/").length-1],style:{width:l}},null):t.createVNode("i",{class:`${r} ${r}-${e}`,style:{fontSize:l,color:f}},null)])}});o.install=function(e){e.component(o.name,o)};const y={type:{type:String,default:"button"},btnStyle:{type:String,default:"primary"},size:{type:String,default:"md"},position:{type:String,default:"default"},bordered:{type:Boolean,default:!1},icon:{type:String,default:""},showLoading:{type:Boolean,default:!1},width:{type:String},disabled:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},onClick:{type:Function}};var z="",s=t.defineComponent({name:"DButton",props:y,setup(e,l){const f=t.ref(null),r=i=>{var a;e.showLoading||(a=e.onClick)==null||a.call(e,i)},b=t.computed(()=>l.slots.default),$=t.computed(()=>{const{btnStyle:i,size:a,position:p,bordered:m,icon:d}=e,u=`devui-btn devui-btn-${i} devui-btn-${a} devui-btn-${p}`,c=m?"bordered":"",V=!!d&&!b.value&&i!=="primary"?"d-btn-icon":"";return`${u} ${c} ${V} ${d?"d-btn-icon-wrap":""}`}),B=t.computed(()=>{if(!e.icon)return;const i="devui-icon-fix icon";return b.value?`${i} clear-right-5`:i});return()=>{var u,c;const{icon:i,type:a,disabled:p,showLoading:m,width:d}=e;return t.createVNode("div",t.mergeProps({class:"devui-btn-host"},l.attrs),[t.createVNode("button",{class:$.value,type:a,disabled:p,style:{width:d},onClick:r},[i?t.createVNode(o,{name:e.icon,class:B.value},null):null,t.createVNode("span",{class:"button-content",ref:f},[(c=(u=l.slots).default)==null?void 0:c.call(u)])])])}}});s.install=function(e){e.component(s.name,s)};var C={title:"Button \u6309\u94AE",category:"\u901A\u7528",status:"\u5DF2\u5B8C\u6210",install(e){e.use(s)}};n.Button=s,n.buttonProps=y,n.default=C,Object.defineProperty(n,"__esModule",{value:!0}),n[Symbol.toStringTag]="Module"});
1
+ var F=Object.defineProperty;var $=Object.getOwnPropertySymbols;var W=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;var S=(i,t,r)=>t in i?F(i,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[t]=r,u=(i,t)=>{for(var r in t||(t={}))W.call(t,r)&&S(i,r,t[r]);if($)for(var r of $(t))q.call(t,r)&&S(i,r,t[r]);return i};var l=(i,t,r)=>(S(i,typeof t!="symbol"?t+"":t,r),r);(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";var r=t.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(e){return u({},e)},render(){const{name:e,size:n,color:o,classPrefix:s}=this;return/^((https?):)?\/\//.test(e)?t.createVNode("img",{src:e,alt:e.split("/")[e.split("/").length-1],style:{width:n,verticalAlign:"text-bottom"}},null):t.createVNode("i",{class:`${s} ${s}-${e}`,style:{fontSize:n,color:o}},null)}});r.install=function(e){e.component(r.name,r)};class V{constructor(){l(this,"top","50%");l(this,"left","50%")}}const I={message:String,backdrop:Boolean,view:{type:Object,default:()=>new V},zIndex:Number,isFull:{type:Boolean,default:!1}};class O{constructor(){l(this,"target");l(this,"message");l(this,"loadingTemplateRef");l(this,"backdrop",!0);l(this,"positionType","relative");l(this,"view",new V);l(this,"zIndex")}}var Y="",C=t.defineComponent({name:"DLoading",inheritAttrs:!1,props:I,setup(e){const n={top:e.view.top,left:e.view.left,zIndex:e.zIndex};e.message||(n.background="none");const o=t.ref(!1);return{style:n,isShow:o,open:()=>{o.value=!0},close:()=>{o.value=!1}}},render(){var g;const{isShow:e,isFull:n,backdrop:o,style:s,message:a,$slots:m}=this;return e&&t.createVNode("div",{class:["devui-loading-contanier",n?"devui-loading--full":""]},[((g=m.default)==null?void 0:g.call(m))||t.createVNode("div",{class:"devui-loading-wrapper"},[o?t.createVNode("div",{class:"devui-loading-mask"},null):null,t.createVNode("div",{style:s,class:"devui-loading-area"},[t.createVNode("div",{class:"devui-busy-default-spinner"},[t.createVNode("div",{class:"devui-loading-bar1"},null),t.createVNode("div",{class:"devui-loading-bar2"},null),t.createVNode("div",{class:"devui-loading-bar3"},null),t.createVNode("div",{class:"devui-loading-bar4"},null)]),a?t.createVNode("span",{class:"devui-loading-text"},[a]):null])])])}});const P=Symbol("dev_component_container");function E(e,n,o=null){const s=t.h(e,u({},n),o),a=document.createElement("div");return s[P]=a,t.render(s,a),s.component}function j(e){t.render(null,e==null?void 0:e.vnode[P])}const D=t.defineComponent(C),f=new WeakSet,v=e=>{if(!e)return!0;if(Array.isArray(e))return e.length===0;if(e instanceof Set||e instanceof Map)return e.size===0;if(e instanceof Promise)return!1;if(typeof e=="object")try{return Object.keys(e).length===0}catch{return!1}return!1},k=e=>Object.prototype.toString.call(e).slice(8,-1).toLowerCase(),_=e=>{switch(k(e)){case"promise":return[e];case"array":return e.some(o=>k(o)!=="promise")?(console.error(new TypeError("Binding values should all be of type Promise")),"error"):e;default:return!1}},A=e=>{f.delete(e),e.instance.proxy.close(),j(e.instance)},x=(e,n)=>{if(n.value){const o=_(n.value);if(o==="error")return;e.instance.proxy.open(),e.appendChild(e.mask),f.add(e),o&&Promise.all(o).catch(s=>{console.error(new Error("Promise handling errors"),s)}).finally(()=>{A(e)})}else A(e)},B=e=>{e.removeAttribute("zindex"),e.removeAttribute("positiontype"),e.removeAttribute("backdrop"),e.removeAttribute("message"),e.removeAttribute("view"),e.removeAttribute("loadingtemplateref")},L=(e,n)=>{const o=u(u({},new O),n),s=o.loadingTemplateRef,a=E(D,u({},o),s?()=>s:null);e.style.position=o.positionType,e.options=o,e.instance=a,e.mask=a.proxy.$el},T={mounted:function(e,n,o){L(e,o.props),B(e),!v(n.value)&&x(e,n)},updated:function(e,n,o){!v(n.value)&&f.has(e)||v(n.value)&&!f.has(e)||(!f.has(e)&&L(e,o.props),B(e),x(e,n))}},z={type:{type:String,default:"button"},variant:{type:String,default:"primary"},size:{type:String,default:"md"},position:{type:String,default:"default"},bordered:{type:Boolean,default:!1},icon:{type:String,default:""},showLoading:{type:Boolean,default:!1},width:{type:String},disabled:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},onClick:{type:Function}};var G="",p=t.defineComponent({name:"DButton",directives:{devLoading:T},props:z,setup(e,n){const o=t.ref(null),s=d=>{var c;e.showLoading||(c=e.onClick)==null||c.call(e,d)},a=t.computed(()=>n.slots.default),m=t.computed(()=>{const{variant:d,size:c,position:w,bordered:N,icon:y}=e,b=`devui-btn devui-btn-${d} devui-btn-${c} devui-btn-${w}`,h=N?"bordered":"",R=!!y&&!a.value&&d!=="primary"?"d-btn-icon":"";return`${b} ${h} ${R} ${y?"d-btn-icon-wrap":""}`}),g=t.computed(()=>{if(!e.icon)return;const d="devui-icon-fix icon";return a.value?`${d} clear-right-5`:d});return()=>{var b,h;const{icon:d,type:c,disabled:w,showLoading:N,width:y}=e;return t.createVNode("div",t.mergeProps({class:"devui-btn-host"},n.attrs),[t.withDirectives(t.createVNode("button",{class:m.value,type:c,disabled:w,style:{width:y},onClick:s},[d?t.createVNode(r,{name:d,class:g.value},null):null,t.createVNode("span",{class:"button-content",ref:o},[(h=(b=n.slots).default)==null?void 0:h.call(b)])]),[[t.resolveDirective("devLoading"),N]])])}}});t.defineComponent(C),p.install=function(e){e.directive("dLoading",T),e.component(p.name,p)};var M={title:"Button \u6309\u94AE",category:"\u901A\u7528",status:"100%",install(e){e.use(p)}};i.Button=p,i.buttonProps=z,i.default=M,Object.defineProperty(i,"__esModule",{value:!0}),i[Symbol.toStringTag]="Module"});
package/button/style.css CHANGED
@@ -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: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-btn{padding:3px 20px;font-size:var(--devui-font-size-md, 12px);height:28px;line-height:1.5;border-radius:var(--devui-border-radius, 2px);border-width:1px;border-color:transparent;background-color:transparent}.devui-btn.devui-btn-text{color:var(--devui-brand-active, #526ecc);padding:0}.devui-btn.devui-btn-text-dark{color:var(--devui-brand-active, #526ecc);padding:0}.devui-btn.devui-btn-common{color:var(--devui-text, #252b3a);min-width:64px;background-color:var(--devui-block, #ffffff);border-color:var(--devui-line, #adb0b8)}.devui-btn.devui-btn-stress{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-primary, #5e7ce0)}.devui-btn.devui-btn-primary{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-primary, #5e7ce0)}.devui-btn.devui-btn-danger{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-contrast, #f66f6a)}.devui-btn.devui-btn-left{border-radius:var(--devui-border-radius, 2px) 0 0 var(--devui-border-radius, 2px)}.devui-btn.devui-btn-right{border-radius:0 var(--devui-border-radius, 2px) var(--devui-border-radius, 2px) 0}.devui-btn.devui-btn-xs{padding:1px 5px;height:24px;font-size:var(--devui-font-size-sm, 12px);min-width:48px}.devui-btn.devui-btn-sm{padding:1px 15px;height:24px;font-size:var(--devui-font-size-sm, 12px);min-width:56px}.devui-btn.devui-btn-lg{padding:5px 23px;height:32px;font-size:var(--devui-font-size-lg, 14px);min-width:72px}.devui-btn.devui-btn-text:hover{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text:focus{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text:active{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text-dark:hover{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text-dark:focus{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text-dark:active{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-common:hover{border-color:var(--devui-form-control-line-active, #5e7ce0);color:var(--devui-brand-active, #526ecc)}.devui-btn.devui-btn-common:focus{border-color:var(--devui-form-control-line-active, #5e7ce0);color:var(--devui-brand-active, #526ecc)}.devui-btn.devui-btn-common:active{border-color:var(--devui-form-control-line-active, #5e7ce0);color:var(--devui-brand-active, #526ecc)}.devui-btn.devui-btn-stress:hover{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-stress:focus{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-stress:active{background-color:var(--devui-primary-active, #344899)}.devui-btn.devui-btn-primary:hover{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-primary:focus{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-primary:active{background-color:var(--devui-primary-active, #344899)}.devui-btn.devui-btn-danger:hover{background-color:var(--devui-contrast-hover, #ff8b87)}.devui-btn.devui-btn-danger:focus{background-color:var(--devui-contrast-hover, #ff8b87)}.devui-btn.devui-btn-danger:active{background-color:var(--devui-contrast-active, #de504e)}.devui-btn.devui-btn-common:disabled{color:var(--devui-disabled-text, #adb0b8);background:var(--devui-disabled-bg, #f5f5f6);border:1px solid var(--devui-disabled-line, #dfe1e6)}.devui-btn.devui-btn-primary:disabled{color:var(--devui-light-text, #ffffff);background:var(--devui-primary-disabled, #beccfa);border:none}.devui-btn.devui-btn-danger:disabled{color:var(--devui-disabled-text, #adb0b8);background:var(--devui-disabled-bg, #f5f5f6);border:1px solid var(--devui-disabled-line, #dfe1e6)}.devui-btn.devui-btn-text-dark:disabled{color:var(--devui-disabled-text, #adb0b8)}.devui-btn.devui-btn-text:disabled{color:var(--devui-disabled-text, #adb0b8)}.devui-btn.bordered.devui-btn-common{color:var(--devui-text, #252b3a);border-color:transparent}.devui-btn.bordered.devui-btn-common:hover,.devui-btn.bordered.devui-btn-common:focus{border-color:var(--devui-primary-hover, #7693f5)}.devui-btn.bordered.devui-btn-common:active{border-color:var(--devui-primary-active, #344899)}.devui-btn.bordered.devui-btn-stress,.devui-btn.bordered.devui-btn-primary{border-color:var(--devui-brand, #5e7ce0);color:var(--devui-brand, #5e7ce0);background-color:var(--devui-block, #ffffff)}.devui-btn.bordered.devui-btn-success{border-color:var(--devui-success, #50d4ab);color:var(--devui-success, #50d4ab);background-color:var(--devui-block, #ffffff)}.devui-btn.bordered.devui-btn-warning{border-color:var(--devui-warning, #fac20a);color:var(--devui-warning, #fac20a);background-color:var(--devui-block, #ffffff)}.devui-btn.bordered.devui-btn-danger{border-color:var(--devui-danger, #f66f6a);color:var(--devui-danger, #f66f6a);background-color:var(--devui-block, #ffffff)}.devui-btn.d-btn-icon:hover,.devui-btn.d-btn-icon:focus{border:1px solid var(--devui-list-item-hover-bg, #f2f5fc);background-color:var(--devui-list-item-hover-bg, #f2f5fc)}.devui-btn.d-btn-icon:disabled{background-color:var(--devui-disabled-bg, #f5f5f6)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap{color:var(--devui-text, #252b3a)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap .devui-icon-fix,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap .devui-icon-fix{color:var(--devui-text-weak, #575d6c)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap:hover,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap:hover{color:var(--devui-list-item-hover-text, #526ecc)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap:hover .devui-icon-fix,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap:hover .devui-icon-fix{color:var(--devui-icon-fill-active, #5e7ce0)}.devui-loading .devui-loading-default-spinner div{background-color:var(--devui-text, #252b3a)}.devui-btn-host{display:inline-block}.devui-btn{transition:background-color .2s;border-style:solid;white-space:nowrap;display:flex;align-items:center;justify-content:center}.devui-btn:disabled,.devui-btn[disabled]{cursor:not-allowed}.devui-btn.d-btn-icon{padding:7px 8px;line-height:1em;border:1px solid transparent}.devui-btn.d-btn-icon.devui-btn-xs,.devui-btn.d-btn-icon.devui-btn-sm{padding:5px}.devui-btn.d-btn-icon.devui-btn-xs{min-width:24px}.devui-btn.d-btn-icon.devui-btn-sm{min-width:24px}.devui-btn.d-btn-icon.devui-btn-lg{min-width:32px}.devui-btn.d-btn-icon.devui-btn-lg .icon{font-size:var(--devui-font-size-icon, 16px)}.devui-btn:not(.d-btn-icon) .icon-fix{font-size:var(--devui-font-size-icon, 16px)}.devui-icon-fix{position:relative;font-size:var(--devui-font-size, 12px)}.devui-btn.devui-btn-common:not(:disabled) .devui-icon-fix{color:var(--devui-text-weak, #575d6c)}.devui-btn.devui-btn-common:not(:disabled):hover .devui-icon-fix,.devui-btn.devui-btn-common:not(:disabled):active .devui-icon-fix,.devui-btn.devui-btn-common:not(:disabled):focus .devui-icon-fix{color:var(--devui-icon-fill-active, #5e7ce0)}.button-content{display:inline-block;position:relative}.clear-right-5{margin-right:5px}
1
+ @keyframes devui-busy-spinner-anim{0%{transform:rotate(0) scale(1)}50%{transform:rotate(135deg) scale(1.5)}to{transform:rotate(270deg) scale(1)}}.devui-loading-mask{position:absolute;left:0;right:0;bottom:0;top:0;background-color:var(--devui-line, #adb0b8);opacity:.3}.devui-loading-wrapper{text-align:center}.devui-loading--full{position:fixed;left:0;right:0;bottom:0;top:0;z-index:9999}.devui-loading--hidden{overflow:hidden}.devui-loading-text{margin-left:10px}.devui-loading-area{position:absolute;transform:translate(-50%,-50%);padding:12px 14px;background:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px)}.devui-busy-default-spinner{position:relative;display:inline-block;width:15px;height:15px;animation:devui-busy-spinner-anim 1s linear infinite}.devui-busy-default-spinner div{position:absolute;left:44.5%;top:37%;width:6px;height:6px;border-radius:50%}.devui-busy-default-spinner .devui-loading-bar1{top:0;left:0;background:#5e7ce0;background:var(--devui-brand, #5e7ce0)}.devui-busy-default-spinner .devui-loading-bar2{top:0;left:9px;background:#859bff;background:var(--devui-brand-foil, #859bff)}.devui-busy-default-spinner .devui-loading-bar3{top:9px;left:0;background:#859bff;background:var(--devui-brand-foil, #859bff)}.devui-busy-default-spinner .devui-loading-bar4{top:9px;left:9px;background:#5e7ce0;background:var(--devui-brand, #5e7ce0)}.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-btn{padding:3px 20px;font-size:var(--devui-font-size-md, 12px);height:28px;line-height:1.5;border-radius:var(--devui-border-radius, 2px);border-width:1px;border-color:transparent;background-color:transparent}.devui-btn.devui-btn-text{color:var(--devui-brand-active, #526ecc);padding:0}.devui-btn.devui-btn-text-dark{color:var(--devui-brand-active, #526ecc);padding:0}.devui-btn.devui-btn-common{color:var(--devui-text, #252b3a);min-width:64px;background-color:var(--devui-block, #ffffff);border-color:var(--devui-line, #adb0b8)}.devui-btn.devui-btn-stress{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-primary, #5e7ce0)}.devui-btn.devui-btn-primary{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-primary, #5e7ce0)}.devui-btn.devui-btn-danger{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-contrast, #f66f6a)}.devui-btn.devui-btn-success{color:var(--devui-dark-text, #252b3a);min-width:64px;background-color:var(--devui-success, #50d4ab)}.devui-btn.devui-btn-warning{color:var(--devui-dark-text, #252b3a);min-width:64px;background-color:var(--devui-warning, #fac20a)}.devui-btn.devui-btn-left{border-radius:var(--devui-border-radius, 2px) 0 0 var(--devui-border-radius, 2px)}.devui-btn.devui-btn-right{border-radius:0 var(--devui-border-radius, 2px) var(--devui-border-radius, 2px) 0}.devui-btn.devui-btn-xs{padding:1px 5px;height:24px;font-size:var(--devui-font-size-sm, 12px);min-width:48px}.devui-btn.devui-btn-sm{padding:1px 15px;height:24px;font-size:var(--devui-font-size-sm, 12px);min-width:56px}.devui-btn.devui-btn-lg{padding:5px 23px;height:32px;font-size:var(--devui-font-size-lg, 14px);min-width:72px}.devui-btn.devui-btn-text:hover{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text:focus{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text:active{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text-dark:hover{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text-dark:focus{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text-dark:active{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-common:hover{border-color:var(--devui-form-control-line-active, #5e7ce0);color:var(--devui-brand-active, #526ecc)}.devui-btn.devui-btn-common:focus{border-color:var(--devui-form-control-line-active, #5e7ce0);color:var(--devui-brand-active, #526ecc)}.devui-btn.devui-btn-common:active{border-color:var(--devui-form-control-line-active, #5e7ce0);color:var(--devui-brand-active, #526ecc)}.devui-btn.devui-btn-stress:hover{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-stress:focus{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-stress:active{background-color:var(--devui-primary-active, #344899)}.devui-btn.devui-btn-primary:hover{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-primary:focus{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-primary:active{background-color:var(--devui-primary-active, #344899)}.devui-btn.devui-btn-danger:hover{background-color:var(--devui-contrast-hover, #ff8b87)}.devui-btn.devui-btn-danger:focus{background-color:var(--devui-contrast-hover, #ff8b87)}.devui-btn.devui-btn-danger:active{background-color:var(--devui-contrast-active, #de504e)}.devui-btn.devui-btn-success:hover{background-color:var(--devui-success, #50d4ab)}.devui-btn.devui-btn-success:focus{background-color:var(--devui-success, #50d4ab)}.devui-btn.devui-btn-success:active{background-color:var(--devui-success, #50d4ab)}.devui-btn.devui-btn-warning:hover{background-color:var(--devui-warning, #fac20a)}.devui-btn.devui-btn-warning:focus{background-color:var(--devui-warning, #fac20a)}.devui-btn.devui-btn-warning:active{background-color:var(--devui-warning, #fac20a)}.devui-btn.devui-btn-common:disabled{color:var(--devui-disabled-text, #adb0b8);background:var(--devui-disabled-bg, #f5f5f6);border:1px solid var(--devui-disabled-line, #dfe1e6)}.devui-btn.devui-btn-primary:disabled{color:var(--devui-light-text, #ffffff);background:var(--devui-primary-disabled, #beccfa);border:none}.devui-btn.devui-btn-danger:disabled{color:var(--devui-disabled-text, #adb0b8);background:var(--devui-disabled-bg, #f5f5f6);border:1px solid var(--devui-disabled-line, #dfe1e6)}.devui-btn.devui-btn-text-dark:disabled{color:var(--devui-disabled-text, #adb0b8)}.devui-btn.devui-btn-text:disabled{color:var(--devui-disabled-text, #adb0b8)}.devui-btn.bordered.devui-btn-common{color:var(--devui-text, #252b3a);border-color:transparent}.devui-btn.bordered.devui-btn-common:hover,.devui-btn.bordered.devui-btn-common:focus{border-color:var(--devui-primary-hover, #7693f5)}.devui-btn.bordered.devui-btn-common:active{border-color:var(--devui-primary-active, #344899)}.devui-btn.bordered.devui-btn-stress,.devui-btn.bordered.devui-btn-primary{border-color:var(--devui-brand, #5e7ce0);color:var(--devui-brand, #5e7ce0);background-color:var(--devui-block, #ffffff)}.devui-btn.bordered.devui-btn-success{border-color:var(--devui-success, #50d4ab);color:var(--devui-success, #50d4ab);background-color:var(--devui-block, #ffffff)}.devui-btn.bordered.devui-btn-warning{border-color:var(--devui-warning, #fac20a);color:var(--devui-warning, #fac20a);background-color:var(--devui-block, #ffffff)}.devui-btn.bordered.devui-btn-danger{border-color:var(--devui-danger, #f66f6a);color:var(--devui-danger, #f66f6a);background-color:var(--devui-block, #ffffff)}.devui-btn.d-btn-icon:hover,.devui-btn.d-btn-icon:focus{border:1px solid var(--devui-list-item-hover-bg, #f2f5fc);background-color:var(--devui-list-item-hover-bg, #f2f5fc)}.devui-btn.d-btn-icon:disabled{background-color:var(--devui-disabled-bg, #f5f5f6)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap{color:var(--devui-text, #252b3a)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap .devui-icon-fix,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap .devui-icon-fix{color:var(--devui-text-weak, #575d6c)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap:hover,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap:hover{color:var(--devui-list-item-hover-text, #526ecc)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap:hover .devui-icon-fix,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap:hover .devui-icon-fix{color:var(--devui-icon-fill-active, #5e7ce0)}.devui-loading .devui-loading-default-spinner div{background-color:var(--devui-text, #252b3a)}.devui-btn-host{display:inline-block}.devui-btn{transition:background-color .2s;border-style:solid;white-space:nowrap;display:flex;align-items:center;justify-content:center}.devui-btn:disabled,.devui-btn[disabled]{cursor:not-allowed}.devui-btn.d-btn-icon{padding:7px 8px;line-height:1em;border:1px solid transparent}.devui-btn.d-btn-icon.devui-btn-xs,.devui-btn.d-btn-icon.devui-btn-sm{padding:5px}.devui-btn.d-btn-icon.devui-btn-xs{min-width:24px}.devui-btn.d-btn-icon.devui-btn-sm{min-width:24px}.devui-btn.d-btn-icon.devui-btn-lg{min-width:32px}.devui-btn.d-btn-icon.devui-btn-lg .icon{font-size:var(--devui-font-size-icon, 16px)}.devui-btn:not(.d-btn-icon) .icon-fix{font-size:var(--devui-font-size-icon, 16px)}.devui-icon-fix{position:relative;font-size:var(--devui-font-size, 12px)}.devui-btn.devui-btn-common:not(:disabled) .devui-icon-fix{color:var(--devui-text-weak, #575d6c)}.devui-btn.devui-btn-common:not(:disabled):hover .devui-icon-fix,.devui-btn.devui-btn-common:not(:disabled):active .devui-icon-fix,.devui-btn.devui-btn-common:not(:disabled):focus .devui-icon-fix{color:var(--devui-icon-fill-active, #5e7ce0)}.button-content{display:inline-block;position:relative}.clear-right-5{margin-right:5px}
@@ -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;
package/card/index.es.js CHANGED
@@ -53,7 +53,7 @@ Card.install = function(app) {
53
53
  var index = {
54
54
  title: "Card \u5361\u7247",
55
55
  category: "\u6570\u636E\u5C55\u793A",
56
- status: "\u5DF2\u5B8C\u6210",
56
+ status: "100%",
57
57
  install(app) {
58
58
  app.use(Card);
59
59
  }
package/card/index.umd.js CHANGED
@@ -1 +1 @@
1
- (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";var y="";const C={align:{type:String,default:"start"},src:{type:String,default:""}};var d=e.defineComponent({name:"DCard",props:C,render(){var i,r,c,n,o,l,u,f,v,h,p,V,g,m;const{align:a,src:s}=this,$={"d-card-actions":!0,"devui-card-actions":!0,[`devui-card-actions-align-${a}`]:a!=="start"};return e.createVNode("div",{class:"card-container devui-card"},[(r=(i=this.$slots).default)==null?void 0:r.call(i),e.createVNode("div",{class:"devui-card-header"},[((n=(c=this.$slots).cardAvatar)==null?void 0:n.call(c))?e.createVNode("div",{class:"devui-card-avatar"},[(l=(o=this.$slots).cardAvatar)==null?void 0:l.call(o)]):"",e.createVNode("div",{class:"devui-card-header-title-area"},[e.createVNode("div",{class:"devui-card-title"},[(f=(u=this.$slots).cardTitle)==null?void 0:f.call(u)]),e.createVNode("div",{class:"devui-card-subtitle"},[(h=(v=this.$slots).cardSubtitle)==null?void 0:h.call(v)])])]),s!==""?e.createVNode("img",{src:s,alt:"",class:"devui-card-meta"},null):"",e.createVNode("div",{class:"devui-card-content"},[(V=(p=this.$slots).cardContent)==null?void 0:V.call(p)]),e.createVNode("div",{class:$},[this.$slots.cardActions?(m=(g=this.$slots).cardActions)==null?void 0:m.call(g):""])])}});d.install=function(a){a.component(d.name,d)};var N={title:"Card \u5361\u7247",category:"\u6570\u636E\u5C55\u793A",status:"\u5DF2\u5B8C\u6210",install(a){a.use(d)}};t.Card=d,t.default=N,Object.defineProperty(t,"__esModule",{value:!0}),t[Symbol.toStringTag]="Module"});
1
+ (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";var y="";const N={align:{type:String,default:"start"},src:{type:String,default:""}};var d=e.defineComponent({name:"DCard",props:N,render(){var i,r,c,n,o,l,u,f,v,h,p,V,g,m;const{align:a,src:s}=this,C={"d-card-actions":!0,"devui-card-actions":!0,[`devui-card-actions-align-${a}`]:a!=="start"};return e.createVNode("div",{class:"card-container devui-card"},[(r=(i=this.$slots).default)==null?void 0:r.call(i),e.createVNode("div",{class:"devui-card-header"},[((n=(c=this.$slots).cardAvatar)==null?void 0:n.call(c))?e.createVNode("div",{class:"devui-card-avatar"},[(l=(o=this.$slots).cardAvatar)==null?void 0:l.call(o)]):"",e.createVNode("div",{class:"devui-card-header-title-area"},[e.createVNode("div",{class:"devui-card-title"},[(f=(u=this.$slots).cardTitle)==null?void 0:f.call(u)]),e.createVNode("div",{class:"devui-card-subtitle"},[(h=(v=this.$slots).cardSubtitle)==null?void 0:h.call(v)])])]),s!==""?e.createVNode("img",{src:s,alt:"",class:"devui-card-meta"},null):"",e.createVNode("div",{class:"devui-card-content"},[(V=(p=this.$slots).cardContent)==null?void 0:V.call(p)]),e.createVNode("div",{class:C},[this.$slots.cardActions?(m=(g=this.$slots).cardActions)==null?void 0:m.call(g):""])])}});d.install=function(a){a.component(d.name,d)};var $={title:"Card \u5361\u7247",category:"\u6570\u636E\u5C55\u793A",status:"100%",install(a){a.use(d)}};t.Card=d,t.default=$,Object.defineProperty(t,"__esModule",{value:!0}),t[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;
@@ -14,7 +14,7 @@ var __spreadValues = (a, b) => {
14
14
  }
15
15
  return a;
16
16
  };
17
- import { defineComponent, createVNode, Fragment, ref, watch, onMounted, onBeforeUnmount, Comment } from "vue";
17
+ import { defineComponent, createVNode, ref, watch, onMounted, onBeforeUnmount, Fragment, Comment } from "vue";
18
18
  const carouselProps = {
19
19
  arrowTrigger: {
20
20
  type: String,
@@ -82,11 +82,12 @@ var Icon = defineComponent({
82
82
  color,
83
83
  classPrefix
84
84
  } = this;
85
- return createVNode(Fragment, null, [/^((https?):)?\/\//.test(name) ? createVNode("img", {
85
+ return /^((https?):)?\/\//.test(name) ? createVNode("img", {
86
86
  "src": name,
87
87
  "alt": name.split("/")[name.split("/").length - 1],
88
88
  "style": {
89
- width: size
89
+ width: size,
90
+ verticalAlign: "text-bottom"
90
91
  }
91
92
  }, null) : createVNode("i", {
92
93
  "class": `${classPrefix} ${classPrefix}-${name}`,
@@ -94,7 +95,7 @@ var Icon = defineComponent({
94
95
  fontSize: size,
95
96
  color
96
97
  }
97
- }, null)]);
98
+ }, null);
98
99
  }
99
100
  });
100
101
  var carousel = "";
@@ -1 +1 @@
1
- var z=Object.defineProperty;var R=Object.getOwnPropertySymbols;var _=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;var $=(a,e,s)=>e in a?z(a,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[e]=s,k=(a,e)=>{for(var s in e||(e={}))_.call(e,s)&&$(a,s,e[s]);if(R)for(var s of R(e))q.call(e,s)&&$(a,s,e[s]);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 s={arrowTrigger:{type:String,default:"hover"},autoplay:{type:Boolean,default:!1},autoplaySpeed:{type:Number,default:3e3},height:{type:String,default:"100%"},showDots:{type:Boolean,default:!0},dotTrigger:{type:String,default:"click"},dotPosition:{type:String,default:"bottom"},activeIndex:{type:Number,default:0},activeIndexChange:{type:Function}};var b=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(t){return k({},t)},render(){const{name:t,size:d,color:i,classPrefix:g}=this;return e.createVNode(e.Fragment,null,[/^((https?):)?\/\//.test(t)?e.createVNode("img",{src:t,alt:t.split("/")[t.split("/").length-1],style:{width:d}},null):e.createVNode("i",{class:`${g} ${g}-${t}`,style:{fontSize:d,color:i}},null)])}}),O="",w=e.defineComponent({name:"DCarousel",props:s,emits:["update:activeIndex"],setup(t,{emit:d}){const{arrowTrigger:i,autoplay:g,autoplaySpeed:I,dotTrigger:M,activeIndex:T,activeIndexChange:C}=t,S=500,o=e.ref(0),y=e.ref(!1),u=e.ref(0),f=e.ref(null),r=e.ref(null),c=e.ref(null);e.watch(()=>i,()=>{y.value=i==="always"},{immediate:!0}),e.watch(()=>T,()=>{u.value=T},{immediate:!0});const m=n=>{r.value&&(r.value.style.left=`${-n*100}%`)},N=n=>{setTimeout(()=>{r.value&&(r.value.style.transition=""),n.style.transform="",m(u.value)},S)},h=(n,l)=>{if(f.value){const v=f.value.getBoundingClientRect();n.style.transform=`translateX(${(l?-o.value:o.value)*v.width}px)`}},p=n=>{if(n===u.value||!f.value||!r.value)return;r.value.style.transition=`left ${S}ms ease`;let l=u.value;if(n<0&&u.value===0){l=o.value-1;const v=r.value.children[l];h(v,!0),m(-1),N(v)}else if(n>=o.value&&u.value===o.value-1){l=0;const v=r.value.children[l];h(v,!1),m(o.value),N(v)}else l=n<0?0:n>o.value-1?o.value-1:n,m(l);u.value=l,d("update:activeIndex",l),C==null||C(l),P()},j=()=>{p(u.value-1)},x=()=>{p(u.value+1)},A=n=>{i==="hover"&&(y.value=n==="enter")},B=(n,l)=>{l===M&&p(n)},D=()=>{c.value&&(clearTimeout(c.value),c.value=null)},P=()=>{D(),g&&I&&(c.value=setTimeout(()=>{x()},I))},F=n=>{o.value=n,P()};return e.onMounted(()=>{r.value&&(r.value.style.transition=`left ${S}ms ease`,r.value.style.left="0%"),P()}),e.onBeforeUnmount(()=>{D()}),{wrapperRef:f,containerRef:r,showArrow:y,currentIndex:u,itemCount:o,changeItemCount:F,goto:p,prev:j,next:x,arrowMouseEvent:A,switchStep:B}},render(){var m,N;const{showArrow:t,currentIndex:d,itemCount:i,arrowTrigger:g,height:I,showDots:M,dotPosition:T,prev:C,next:S,arrowMouseEvent:o,switchStep:y,changeItemCount:u,$slots:f}=this,r=(N=(m=f.default)==null?void 0:m.call(f))!=null?N:[];let c=r;return c.length===1&&c[0].type===e.Fragment&&(c=(c[0].children||[]).filter(h=>(h==null?void 0:h.type)!==e.Comment)),c.length!==i&&u(c.length),e.createVNode("div",{class:"devui-carousel-container",style:{height:I},onMouseenter:()=>o("enter"),onMouseleave:()=>o("leave")},[g!=="never"&&t?e.createVNode("div",{class:"devui-carousel-arrow"},[e.createVNode("button",{class:"arrow-left",onClick:()=>C()},[e.createVNode(b,{name:"arrow-left"},null)]),e.createVNode("button",{class:"arrow-right",onClick:()=>S()},[e.createVNode(b,{name:"arrow-right"},null)])]):null,e.createVNode("div",{class:"devui-carousel-item-wrapper",ref:"wrapperRef"},[e.createVNode("div",{class:"devui-carousel-item-container",style:{width:`${i*100}%`},ref:"containerRef"},[r])]),i>0&&M?e.createVNode("ul",{class:["devui-carousel-dots",T]},[c.map((h,p)=>e.createVNode("li",{class:{"dot-item":!0,active:d===p},onClick:()=>y(p,"click"),onMouseenter:()=>y(p,"hover")},null))]):null])}}),V=e.defineComponent({name:"DCarouselItem",render(){var i;const{$slots:t}=this,d=(i=t.default)==null?void 0:i.call(t);return e.createVNode("div",{class:"d-carousel-item "},[d])}});w.install=function(t){t.component(w.name,w)},V.install=function(t){t.component(V.name,V)};var E={title:"Carousel \u8D70\u9A6C\u706F",category:"\u6570\u636E\u5C55\u793A",status:"80%",install(t){t.use(w),t.use(V)}};a.Carousel=w,a.default=E,Object.defineProperty(a,"__esModule",{value:!0}),a[Symbol.toStringTag]="Module"});
1
+ var F=Object.defineProperty;var R=Object.getOwnPropertySymbols;var _=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;var $=(a,e,s)=>e in a?F(a,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[e]=s,k=(a,e)=>{for(var s in e||(e={}))_.call(e,s)&&$(a,s,e[s]);if(R)for(var s of R(e))q.call(e,s)&&$(a,s,e[s]);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 s={arrowTrigger:{type:String,default:"hover"},autoplay:{type:Boolean,default:!1},autoplaySpeed:{type:Number,default:3e3},height:{type:String,default:"100%"},showDots:{type:Boolean,default:!0},dotTrigger:{type:String,default:"click"},dotPosition:{type:String,default:"bottom"},activeIndex:{type:Number,default:0},activeIndexChange:{type:Function}};var M=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(t){return k({},t)},render(){const{name:t,size:d,color:i,classPrefix:g}=this;return/^((https?):)?\/\//.test(t)?e.createVNode("img",{src:t,alt:t.split("/")[t.split("/").length-1],style:{width:d,verticalAlign:"text-bottom"}},null):e.createVNode("i",{class:`${g} ${g}-${t}`,style:{fontSize:d,color:i}},null)}}),O="",w=e.defineComponent({name:"DCarousel",props:s,emits:["update:activeIndex"],setup(t,{emit:d}){const{arrowTrigger:i,autoplay:g,autoplaySpeed:T,dotTrigger:b,activeIndex:V,activeIndexChange:C}=t,S=500,o=e.ref(0),y=e.ref(!1),u=e.ref(0),f=e.ref(null),r=e.ref(null),c=e.ref(null);e.watch(()=>i,()=>{y.value=i==="always"},{immediate:!0}),e.watch(()=>V,()=>{u.value=V},{immediate:!0});const m=n=>{r.value&&(r.value.style.left=`${-n*100}%`)},N=n=>{setTimeout(()=>{r.value&&(r.value.style.transition=""),n.style.transform="",m(u.value)},S)},v=(n,l)=>{if(f.value){const h=f.value.getBoundingClientRect();n.style.transform=`translateX(${(l?-o.value:o.value)*h.width}px)`}},p=n=>{if(n===u.value||!f.value||!r.value)return;r.value.style.transition=`left ${S}ms ease`;let l=u.value;if(n<0&&u.value===0){l=o.value-1;const h=r.value.children[l];v(h,!0),m(-1),N(h)}else if(n>=o.value&&u.value===o.value-1){l=0;const h=r.value.children[l];v(h,!1),m(o.value),N(h)}else l=n<0?0:n>o.value-1?o.value-1:n,m(l);u.value=l,d("update:activeIndex",l),C==null||C(l),x()},E=()=>{p(u.value-1)},P=()=>{p(u.value+1)},j=n=>{i==="hover"&&(y.value=n==="enter")},B=(n,l)=>{l===b&&p(n)},D=()=>{c.value&&(clearTimeout(c.value),c.value=null)},x=()=>{D(),g&&T&&(c.value=setTimeout(()=>{P()},T))},z=n=>{o.value=n,x()};return e.onMounted(()=>{r.value&&(r.value.style.transition=`left ${S}ms ease`,r.value.style.left="0%"),x()}),e.onBeforeUnmount(()=>{D()}),{wrapperRef:f,containerRef:r,showArrow:y,currentIndex:u,itemCount:o,changeItemCount:z,goto:p,prev:E,next:P,arrowMouseEvent:j,switchStep:B}},render(){var m,N;const{showArrow:t,currentIndex:d,itemCount:i,arrowTrigger:g,height:T,showDots:b,dotPosition:V,prev:C,next:S,arrowMouseEvent:o,switchStep:y,changeItemCount:u,$slots:f}=this,r=(N=(m=f.default)==null?void 0:m.call(f))!=null?N:[];let c=r;return c.length===1&&c[0].type===e.Fragment&&(c=(c[0].children||[]).filter(v=>(v==null?void 0:v.type)!==e.Comment)),c.length!==i&&u(c.length),e.createVNode("div",{class:"devui-carousel-container",style:{height:T},onMouseenter:()=>o("enter"),onMouseleave:()=>o("leave")},[g!=="never"&&t?e.createVNode("div",{class:"devui-carousel-arrow"},[e.createVNode("button",{class:"arrow-left",onClick:()=>C()},[e.createVNode(M,{name:"arrow-left"},null)]),e.createVNode("button",{class:"arrow-right",onClick:()=>S()},[e.createVNode(M,{name:"arrow-right"},null)])]):null,e.createVNode("div",{class:"devui-carousel-item-wrapper",ref:"wrapperRef"},[e.createVNode("div",{class:"devui-carousel-item-container",style:{width:`${i*100}%`},ref:"containerRef"},[r])]),i>0&&b?e.createVNode("ul",{class:["devui-carousel-dots",V]},[c.map((v,p)=>e.createVNode("li",{class:{"dot-item":!0,active:d===p},onClick:()=>y(p,"click"),onMouseenter:()=>y(p,"hover")},null))]):null])}}),I=e.defineComponent({name:"DCarouselItem",render(){var i;const{$slots:t}=this,d=(i=t.default)==null?void 0:i.call(t);return e.createVNode("div",{class:"d-carousel-item "},[d])}});w.install=function(t){t.component(w.name,w)},I.install=function(t){t.component(I.name,I)};var A={title:"Carousel \u8D70\u9A6C\u706F",category:"\u6570\u636E\u5C55\u793A",status:"80%",install(t){t.use(w),t.use(I)}};a.Carousel=w,a.default=A,Object.defineProperty(a,"__esModule",{value:!0}),a[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;