vue-devui 1.0.0-beta.16 → 1.0.0-beta.19

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 (190) hide show
  1. package/README.md +29 -21
  2. package/accordion/index.es.js +229 -14
  3. package/accordion/index.umd.js +1 -1
  4. package/accordion/style.css +1 -1
  5. package/alert/index.es.js +28 -30
  6. package/alert/index.umd.js +1 -1
  7. package/alert/style.css +1 -1
  8. package/auto-complete/index.es.js +133 -271
  9. package/auto-complete/index.umd.js +1 -1
  10. package/auto-complete/style.css +1 -1
  11. package/back-top/index.es.js +5 -3
  12. package/back-top/index.umd.js +1 -1
  13. package/badge/index.es.js +13 -19
  14. package/badge/index.umd.js +1 -1
  15. package/badge/style.css +1 -1
  16. package/breadcrumb/index.es.js +2 -1
  17. package/button/index.es.js +95 -122
  18. package/button/index.umd.js +1 -1
  19. package/button/style.css +1 -1
  20. package/carousel/index.es.js +38 -53
  21. package/carousel/index.umd.js +1 -1
  22. package/cascader/index.es.js +5412 -784
  23. package/cascader/index.umd.js +27 -1
  24. package/cascader/style.css +1 -1
  25. package/checkbox/style.css +1 -1
  26. package/color-picker/index.es.js +5517 -281
  27. package/color-picker/index.umd.js +27 -1
  28. package/color-picker/style.css +1 -1
  29. package/countdown/index.es.js +9 -8
  30. package/date-picker/index.es.js +44 -62
  31. package/date-picker/index.umd.js +1 -1
  32. package/date-picker/style.css +1 -1
  33. package/drawer/index.es.js +159 -324
  34. package/drawer/index.umd.js +1 -1
  35. package/drawer/style.css +1 -1
  36. package/dropdown/index.es.js +459 -301
  37. package/dropdown/index.umd.js +1 -1
  38. package/dropdown/style.css +1 -1
  39. package/editable-select/index.es.js +293 -5724
  40. package/editable-select/index.umd.js +1 -27
  41. package/editable-select/style.css +1 -1
  42. package/form/index.es.js +6125 -535
  43. package/form/index.umd.js +27 -1
  44. package/form/style.css +1 -1
  45. package/fullscreen/index.es.js +112 -133
  46. package/fullscreen/index.umd.js +1 -1
  47. package/fullscreen/style.css +1 -1
  48. package/gantt/index.es.js +3 -15
  49. package/gantt/index.umd.js +1 -1
  50. package/gantt/style.css +1 -1
  51. package/grid/index.es.js +1 -1
  52. package/grid/style.css +1 -1
  53. package/icon/index.es.js +39 -57
  54. package/icon/index.umd.js +1 -1
  55. package/image-preview/index.es.js +2 -1
  56. package/input/index.es.js +4 -5
  57. package/input/index.umd.js +1 -1
  58. package/input/style.css +1 -1
  59. package/input-icon/index.es.js +42 -42
  60. package/input-icon/index.umd.js +1 -1
  61. package/input-icon/style.css +1 -1
  62. package/input-number/index.es.js +46 -57
  63. package/input-number/index.umd.js +1 -1
  64. package/input-number/style.css +1 -1
  65. package/{time-axis → list}/index.d.ts +0 -0
  66. package/list/index.es.js +39 -0
  67. package/list/index.umd.js +1 -0
  68. package/{toast → list}/package.json +1 -1
  69. package/list/style.css +1 -0
  70. package/loading/index.es.js +2 -2
  71. package/modal/index.es.js +300 -960
  72. package/modal/index.umd.js +1 -1
  73. package/modal/style.css +1 -1
  74. package/nav-sprite/index.es.js +1 -675
  75. package/nav-sprite/index.umd.js +1 -1
  76. package/{toast → notification}/index.d.ts +0 -0
  77. package/notification/index.es.js +284 -0
  78. package/notification/index.umd.js +1 -0
  79. package/notification/package.json +7 -0
  80. package/notification/style.css +1 -0
  81. package/nuxt/components/DropdownMenu.js +3 -0
  82. package/nuxt/components/IFileOptions.js +3 -0
  83. package/nuxt/components/IUploadOptions.js +3 -0
  84. package/nuxt/components/List.js +3 -0
  85. package/nuxt/components/ListItem.js +3 -0
  86. package/nuxt/components/Notification.js +3 -0
  87. package/nuxt/components/NotificationService.js +3 -0
  88. package/nuxt/components/PanelBody.js +3 -0
  89. package/nuxt/components/PanelFooter.js +3 -0
  90. package/nuxt/components/PanelHeader.js +3 -0
  91. package/nuxt/components/Timeline.js +3 -0
  92. package/nuxt/components/TimelineItem.js +3 -0
  93. package/nuxt/components/UploadStatus.js +3 -0
  94. package/nuxt/components/alertProps.js +3 -0
  95. package/nuxt/components/badgeProps.js +3 -0
  96. package/nuxt/components/dropdownMenuProps.js +3 -0
  97. package/nuxt/components/fixedOverlayProps.js +3 -0
  98. package/nuxt/components/flexibleOverlayProps.js +3 -0
  99. package/nuxt/components/fullscreenProps.js +3 -0
  100. package/nuxt/components/iconProps.js +2 -0
  101. package/nuxt/components/notificationProps.js +3 -0
  102. package/nuxt/components/overlayEmits.js +3 -0
  103. package/nuxt/components/overlayProps.js +3 -0
  104. package/nuxt/components/paginationProps.js +3 -0
  105. package/nuxt/components/panelProps.js +3 -0
  106. package/nuxt/components/popoverProps.js +3 -0
  107. package/nuxt/components/searchProps.js +3 -0
  108. package/nuxt/components/tooltipProps.js +3 -0
  109. package/nuxt/components/uploadProps.js +3 -0
  110. package/overlay/index.es.js +152 -198
  111. package/overlay/index.umd.js +1 -1
  112. package/overlay/style.css +1 -1
  113. package/package.json +12 -60
  114. package/pagination/index.es.js +11 -13
  115. package/pagination/index.umd.js +1 -1
  116. package/pagination/style.css +1 -1
  117. package/panel/index.es.js +48 -35
  118. package/panel/index.umd.js +1 -1
  119. package/popover/index.es.js +5954 -201
  120. package/popover/index.umd.js +27 -1
  121. package/popover/style.css +1 -1
  122. package/quadrant-diagram/index.es.js +5405 -166
  123. package/quadrant-diagram/index.umd.js +27 -1
  124. package/radio/style.css +1 -1
  125. package/read-tip/index.es.js +6 -3
  126. package/read-tip/style.css +1 -1
  127. package/result/index.es.js +38 -53
  128. package/result/index.umd.js +1 -1
  129. package/ripple/index.es.js +10 -6
  130. package/search/index.es.js +5428 -200
  131. package/search/index.umd.js +27 -1
  132. package/search/style.css +1 -1
  133. package/select/index.es.js +43 -43
  134. package/select/index.umd.js +1 -1
  135. package/select/style.css +1 -1
  136. package/skeleton/index.es.js +17 -17
  137. package/skeleton/index.umd.js +1 -1
  138. package/slider/index.es.js +2 -1
  139. package/splitter/index.es.js +5815 -99
  140. package/splitter/index.umd.js +27 -1
  141. package/splitter/style.css +1 -1
  142. package/status/index.es.js +1 -4
  143. package/status/index.umd.js +1 -1
  144. package/status/style.css +1 -1
  145. package/steps-guide/index.es.js +6 -3
  146. package/sticky/index.umd.js +1 -1
  147. package/style.css +1 -1
  148. package/table/index.es.js +548 -360
  149. package/table/index.umd.js +1 -1
  150. package/table/style.css +1 -1
  151. package/tabs/index.es.js +3 -4
  152. package/tabs/index.umd.js +1 -1
  153. package/tabs/style.css +1 -1
  154. package/tag/index.es.js +2 -1
  155. package/tag-input/index.es.js +4 -2
  156. package/textarea/style.css +1 -1
  157. package/{theme → theme/theme.scss} +0 -0
  158. package/time-picker/index.es.js +98 -123
  159. package/time-picker/index.umd.js +1 -1
  160. package/time-picker/style.css +1 -1
  161. package/timeline/index.d.ts +7 -0
  162. package/{time-axis → timeline}/index.es.js +65 -78
  163. package/timeline/index.umd.js +1 -0
  164. package/{time-axis → timeline}/package.json +1 -1
  165. package/timeline/style.css +1 -0
  166. package/tooltip/index.es.js +5804 -94
  167. package/tooltip/index.umd.js +27 -1
  168. package/tooltip/style.css +1 -1
  169. package/transfer/index.es.js +5896 -404
  170. package/transfer/index.umd.js +27 -1
  171. package/transfer/style.css +1 -1
  172. package/tree/index.es.js +5439 -814
  173. package/tree/index.umd.js +27 -1
  174. package/tree/style.css +1 -1
  175. package/tree-select/index.es.js +11 -7
  176. package/tree-select/style.css +1 -1
  177. package/upload/index.es.js +335 -2213
  178. package/upload/index.umd.js +1 -1
  179. package/upload/style.css +1 -1
  180. package/vue-devui.es.js +9709 -12248
  181. package/vue-devui.umd.js +20 -20
  182. package/nuxt/components/TimeAxis.js +0 -3
  183. package/nuxt/components/TimeAxisItem.js +0 -3
  184. package/nuxt/components/Toast.js +0 -3
  185. package/nuxt/components/ToastService.js +0 -3
  186. package/time-axis/index.umd.js +0 -1
  187. package/time-axis/style.css +0 -1
  188. package/toast/index.es.js +0 -2063
  189. package/toast/index.umd.js +0 -1
  190. package/toast/style.css +0 -1
@@ -17,8 +17,9 @@ var __spreadValues = (a, b) => {
17
17
  return a;
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import { defineComponent, createVNode, Teleport, Transition, renderSlot, isVNode, computed, onMounted, watch, onUnmounted, withDirectives, vShow, ref, reactive, toRef, isRef } from "vue";
21
- var overlay = "";
20
+ import { defineComponent, createVNode, Teleport, Transition, renderSlot, isVNode, computed, onMounted, watch, onUnmounted, ref, unref, nextTick, mergeProps } from "vue";
21
+ import { shift, offset, autoPlacement, arrow, computePosition } from "@floating-ui/dom";
22
+ var baseOverlay = "";
22
23
  function _isSlot(s) {
23
24
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
24
25
  }
@@ -65,28 +66,13 @@ const overlayProps = {
65
66
  default: true
66
67
  }
67
68
  };
68
- const overlayEmits = ["update:visible", "backdropClick"];
69
69
  const fixedOverlayProps = __spreadProps(__spreadValues({}, overlayProps), {
70
70
  overlayStyle: {
71
71
  type: [String, Object],
72
72
  default: void 0
73
73
  }
74
74
  });
75
- const flexibleOverlayProps = __spreadValues({
76
- origin: {
77
- type: Object,
78
- require: true
79
- },
80
- position: {
81
- type: Object,
82
- default: () => ({
83
- originX: "left",
84
- originY: "top",
85
- overlayX: "left",
86
- overlayY: "top"
87
- })
88
- }
89
- }, overlayProps);
75
+ const overlayEmits = ["update:visible", "backdropClick"];
90
76
  function useOverlayLogic(props, ctx) {
91
77
  const backgroundClass = computed(() => {
92
78
  return [
@@ -137,6 +123,7 @@ function useOverlayLogic(props, ctx) {
137
123
  handleOverlayBubbleCancel
138
124
  };
139
125
  }
126
+ var fixedOverlay = "";
140
127
  const FixedOverlay = defineComponent({
141
128
  name: "DFixedOverlay",
142
129
  props: fixedOverlayProps,
@@ -149,7 +136,7 @@ const FixedOverlay = defineComponent({
149
136
  handleOverlayBubbleCancel
150
137
  } = useOverlayLogic(props, ctx);
151
138
  return () => createVNode(CommonOverlay, null, {
152
- default: () => [withDirectives(createVNode("div", {
139
+ default: () => [props.visible && createVNode("div", {
153
140
  "class": backgroundClass.value,
154
141
  "style": props.backgroundStyle,
155
142
  "onClick": handleBackdropClick
@@ -157,203 +144,170 @@ const FixedOverlay = defineComponent({
157
144
  "class": overlayClass.value,
158
145
  "style": props.overlayStyle,
159
146
  "onClick": handleOverlayBubbleCancel
160
- }, [renderSlot(ctx.slots, "default")])]), [[vShow, props.visible]])]
147
+ }, [renderSlot(ctx.slots, "default")])])]
161
148
  });
162
149
  }
163
150
  });
164
- function isComponent(target) {
165
- return !!(target == null ? void 0 : target.$el);
166
- }
167
- function getElement(element) {
168
- if (element instanceof Element) {
169
- return element;
170
- }
171
- if (element && typeof element === "object" && element.$el instanceof Element) {
172
- return element.$el;
173
- }
174
- return null;
175
- }
176
- const FlexibleOverlay = defineComponent({
177
- name: "DFlexibleOverlay",
178
- props: flexibleOverlayProps,
179
- emits: overlayEmits,
180
- setup(props, ctx) {
181
- const overlayRef = ref(null);
182
- const positionedStyle = reactive({
183
- position: "absolute"
184
- });
185
- onMounted(async () => {
186
- const handleRectChange = (position, rect, origin) => {
187
- const point = calculatePosition(position, rect, origin);
188
- positionedStyle.left = `${point.x}px`;
189
- positionedStyle.top = `${point.y}px`;
190
- };
191
- const locationElements = computed(() => {
192
- const overlay2 = overlayRef.value;
193
- const origin = getOrigin(props.origin);
194
- if (!overlay2 || !origin) {
195
- return;
196
- }
197
- return {
198
- origin,
199
- overlay: overlay2
200
- };
201
- });
202
- const visibleRef = toRef(props, "visible");
203
- const positionRef = toRef(props, "position");
204
- watch([locationElements, visibleRef, positionRef], async ([locationElements2, visible, position], ov, onInvalidate) => {
205
- if (!visible || !locationElements2) {
206
- return;
207
- }
208
- const {
209
- origin,
210
- overlay: overlay2
211
- } = locationElements2;
212
- handleRectChange(position, overlay2.getBoundingClientRect(), origin);
213
- const unsubscriptions = [subscribeLayoutEvent(() => handleRectChange(position, overlay2.getBoundingClientRect(), origin)), subscribeOverlayResize(overlay2, (entries) => handleRectChange(position, entries[0].contentRect, origin)), subscribeOriginResize(origin, () => handleRectChange(position, overlay2.getBoundingClientRect(), origin))];
214
- onInvalidate(() => {
215
- unsubscriptions.forEach((fn) => fn());
216
- });
217
- });
218
- });
219
- const {
220
- backgroundClass,
221
- overlayClass,
222
- handleBackdropClick,
223
- handleOverlayBubbleCancel
224
- } = useOverlayLogic(props, ctx);
225
- return () => createVNode(CommonOverlay, null, {
226
- default: () => [withDirectives(createVNode("div", {
227
- "style": props.backgroundStyle,
228
- "class": backgroundClass.value,
229
- "onClick": handleBackdropClick
230
- }, [createVNode("div", {
231
- "ref": overlayRef,
232
- "class": overlayClass.value,
233
- "style": positionedStyle,
234
- "onClick": handleOverlayBubbleCancel
235
- }, [renderSlot(ctx.slots, "default")])]), [[vShow, props.visible]])]
236
- });
237
- }
238
- });
239
- function getOrigin(origin) {
240
- if (origin instanceof Element) {
241
- return origin;
242
- }
243
- if (isRef(origin)) {
244
- return getElement(origin.value);
245
- }
246
- if (isComponent(origin)) {
247
- return getElement(origin);
248
- }
249
- return origin;
250
- }
251
- function calculatePosition(position, rect, origin) {
252
- const originRect = getOriginRect(origin);
253
- const originPoint = getOriginRelativePoint(originRect, position);
254
- return getOverlayPoint(originPoint, rect, position);
255
- }
256
- function getOriginRect(origin) {
257
- if (origin instanceof Element) {
258
- return origin.getBoundingClientRect();
259
- }
260
- const width = origin.width || 0;
261
- const height = origin.height || 0;
262
- return {
263
- top: origin.y,
264
- bottom: origin.y + height,
265
- left: origin.x,
266
- right: origin.x + width,
267
- height,
268
- width
269
- };
270
- }
271
- function getOverlayPoint(originPoint, rect, position) {
272
- let x;
273
- const {
274
- width,
275
- height
276
- } = rect;
277
- if (position.overlayX == "center") {
278
- x = originPoint.x - width / 2;
279
- } else {
280
- x = position.overlayX == "left" ? originPoint.x : originPoint.x - width;
151
+ const flexibleOverlayProps = {
152
+ modelValue: {
153
+ type: Boolean,
154
+ default: false
155
+ },
156
+ origin: {
157
+ type: Object,
158
+ require: true
159
+ },
160
+ position: {
161
+ type: Array,
162
+ default: ["bottom"]
163
+ },
164
+ offset: {
165
+ type: [Number, Object],
166
+ default: 8
167
+ },
168
+ align: {
169
+ type: String,
170
+ default: null
171
+ },
172
+ showArrow: {
173
+ type: Boolean,
174
+ default: false
175
+ },
176
+ isArrowCenter: {
177
+ type: Boolean,
178
+ default: true
281
179
  }
282
- let y;
283
- if (position.overlayY == "center") {
284
- y = originPoint.y - height / 2;
285
- } else {
286
- y = position.overlayY == "top" ? originPoint.y : originPoint.y - height;
180
+ };
181
+ function getScrollParent(element) {
182
+ const overflowRegex = /(auto|scroll|hidden)/;
183
+ for (let parent = element; parent = parent.parentElement; parent.parentElement !== document.body) {
184
+ const style = window.getComputedStyle(parent);
185
+ if (overflowRegex.test(style.overflow + style.overflowX + style.overflowY)) {
186
+ return parent;
187
+ }
287
188
  }
288
- return {
289
- x,
290
- y
291
- };
189
+ return window;
292
190
  }
293
- function getOriginRelativePoint(originRect, position) {
294
- let x;
295
- if (position.originX == "center") {
296
- x = originRect.left + originRect.width / 2;
297
- } else {
298
- const startX = originRect.left;
299
- const endX = originRect.right;
300
- x = position.originX == "left" ? startX : endX;
301
- }
302
- let y;
303
- if (position.originY == "center") {
304
- y = originRect.top + originRect.height / 2;
305
- } else {
306
- y = position.originY == "top" ? originRect.top : originRect.bottom;
191
+ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
192
+ let { x, y } = point;
193
+ if (!isArrowCenter) {
194
+ const { width, height } = originRect;
195
+ if (x && placement.includes("start")) {
196
+ x = 12;
197
+ }
198
+ if (x && placement.includes("end")) {
199
+ x = Math.round(width - 24);
200
+ }
201
+ if (y && placement.includes("start")) {
202
+ y = 10;
203
+ }
204
+ if (y && placement.includes("end")) {
205
+ y = height - 14;
206
+ }
307
207
  }
308
- return {
309
- x,
310
- y
311
- };
208
+ return { x, y };
312
209
  }
313
- function subscribeLayoutEvent(event) {
314
- window.addEventListener("scroll", event, true);
315
- window.addEventListener("resize", event);
316
- window.addEventListener("orientationchange", event);
317
- return () => {
318
- window.removeEventListener("scroll", event, true);
319
- window.removeEventListener("resize", event);
320
- window.removeEventListener("orientationchange", event);
210
+ function useOverlay(props, emit) {
211
+ const overlayRef = ref();
212
+ const arrowRef = ref();
213
+ const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
214
+ const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
215
+ const staticSide = {
216
+ top: "bottom",
217
+ right: "left",
218
+ bottom: "top",
219
+ left: "right"
220
+ }[placement.split("-")[0]];
221
+ Object.assign(arrowEl.style, {
222
+ left: x ? `${x}px` : "",
223
+ top: y ? `${y}px` : "",
224
+ right: "",
225
+ bottom: "",
226
+ [staticSide]: "-4px"
227
+ });
321
228
  };
322
- }
323
- function subscribeOverlayResize(overlay2, callback) {
324
- if (overlay2 instanceof Element) {
325
- const resizeObserver = new ResizeObserver(callback);
326
- resizeObserver.observe(overlay2);
327
- return () => resizeObserver.disconnect();
328
- }
329
- return () => {
229
+ const updatePosition = async () => {
230
+ const hostEl = props.origin;
231
+ const overlayEl = unref(overlayRef.value);
232
+ const arrowEl = unref(arrowRef.value);
233
+ const middleware = [
234
+ shift(),
235
+ offset(props.offset),
236
+ autoPlacement({
237
+ alignment: props.align,
238
+ allowedPlacements: props.position
239
+ })
240
+ ];
241
+ props.showArrow && middleware.push(arrow({ element: arrowEl }));
242
+ const { x, y, placement, middlewareData } = await computePosition(hostEl, overlayEl, {
243
+ strategy: "fixed",
244
+ middleware
245
+ });
246
+ emit("positionChange", placement);
247
+ Object.assign(overlayEl.style, { top: `${y}px`, left: `${x}px` });
248
+ props.showArrow && updateArrowPosition(arrowEl, placement, middlewareData.arrow, overlayEl);
330
249
  };
250
+ watch(() => props.modelValue, () => {
251
+ const originParent = getScrollParent(props.origin);
252
+ if (props.modelValue && props.origin) {
253
+ nextTick(updatePosition);
254
+ originParent.addEventListener("scroll", updatePosition);
255
+ originParent !== window && window.addEventListener("scroll", updatePosition);
256
+ window.addEventListener("resize", updatePosition);
257
+ } else {
258
+ originParent.removeEventListener("scroll", updatePosition);
259
+ originParent !== window && window.removeEventListener("scroll", updatePosition);
260
+ window.removeEventListener("resize", updatePosition);
261
+ }
262
+ });
263
+ onUnmounted(() => {
264
+ const originParent = getScrollParent(props.origin);
265
+ originParent.removeEventListener("scroll", updatePosition);
266
+ originParent !== window && window.removeEventListener("scroll", updatePosition);
267
+ window.removeEventListener("resize", updatePosition);
268
+ });
269
+ return { arrowRef, overlayRef, updatePosition };
331
270
  }
332
- function subscribeOriginResize(origin, callback) {
333
- if (origin instanceof Element) {
334
- const observer = new MutationObserver(callback);
335
- observer.observe(origin, {
336
- attributeFilter: ["style"]
271
+ var flexibleOverlay = "";
272
+ const FlexibleOverlay = defineComponent({
273
+ name: "DFlexibleOverlay",
274
+ inheritAttrs: false,
275
+ props: flexibleOverlayProps,
276
+ emits: ["update:modelValue", "positionChange"],
277
+ setup(props, {
278
+ slots,
279
+ attrs,
280
+ emit,
281
+ expose
282
+ }) {
283
+ const {
284
+ arrowRef,
285
+ overlayRef,
286
+ updatePosition
287
+ } = useOverlay(props, emit);
288
+ expose({
289
+ updatePosition
337
290
  });
338
- return () => observer.disconnect();
291
+ return () => {
292
+ var _a;
293
+ return props.modelValue && createVNode("div", mergeProps({
294
+ "ref": overlayRef,
295
+ "class": "devui-flexible-overlay"
296
+ }, attrs), [(_a = slots.default) == null ? void 0 : _a.call(slots), props.showArrow && createVNode("div", {
297
+ "ref": arrowRef,
298
+ "class": "devui-flexible-overlay-arrow"
299
+ }, null)]);
300
+ };
339
301
  }
340
- return () => {
341
- };
342
- }
302
+ });
343
303
  const inBrowser = typeof window !== "undefined";
344
- FlexibleOverlay.install = function(app) {
345
- app.component(FlexibleOverlay.name, FlexibleOverlay);
346
- };
347
- FixedOverlay.install = function(app) {
348
- app.component(FixedOverlay.name, FixedOverlay);
349
- };
350
304
  var index = {
351
305
  title: "Overlay \u906E\u7F69\u5C42",
352
306
  category: "\u901A\u7528",
353
307
  status: "100%",
354
308
  install(app) {
355
- app.use(FixedOverlay);
356
- app.use(FlexibleOverlay);
309
+ app.component(FixedOverlay.name, FixedOverlay);
310
+ app.component(FlexibleOverlay.name, FlexibleOverlay);
357
311
  if (inBrowser && !document.getElementById("d-overlay-anchor")) {
358
312
  const overlayAnchor = document.createElement("div");
359
313
  overlayAnchor.setAttribute("id", "d-overlay-anchor");
@@ -365,4 +319,4 @@ var index = {
365
319
  }
366
320
  }
367
321
  };
368
- export { FixedOverlay, FlexibleOverlay, index as default };
322
+ export { FixedOverlay, FlexibleOverlay, index as default, fixedOverlayProps, flexibleOverlayProps, overlayEmits, overlayProps };
@@ -1 +1 @@
1
- var J=Object.defineProperty,K=Object.defineProperties;var Q=Object.getOwnPropertyDescriptors;var V=Object.getOwnPropertySymbols;var W=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable;var F=(l,t,a)=>t in l?J(l,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):l[t]=a,B=(l,t)=>{for(var a in t||(t={}))W.call(t,a)&&F(l,a,t[a]);if(V)for(var a of V(t))Z.call(t,a)&&F(l,a,t[a]);return l},N=(l,t)=>K(l,Q(t));(function(l,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(l=typeof globalThis!="undefined"?globalThis:l||self,t(l.index={},l.Vue))})(this,function(l,t){"use strict";var a="";function L(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const x=t.defineComponent({setup(e,n){return()=>{let o;return t.createVNode(t.Teleport,{to:"#d-overlay-anchor"},{default:()=>[t.createVNode(t.Transition,{name:"devui-overlay-fade"},L(o=t.renderSlot(n.slots,"default"))?o:{default:()=>[o]})]})}}}),E={visible:{type:Boolean},backgroundBlock:{type:Boolean,default:!1},backgroundClass:{type:String,default:""},backgroundStyle:{type:[String,Object]},onBackdropClick:{type:Function},backdropClose:{type:Boolean,default:!0},hasBackdrop:{type:Boolean,default:!0}},S=["update:visible","backdropClick"],X=N(B({},E),{overlayStyle:{type:[String,Object],default:void 0}}),Y=B({origin:{type:Object,require:!0},position:{type:Object,default:()=>({originX:"left",originY:"top",overlayX:"left",overlayY:"top"})}},E);function R(e,n){const o=t.computed(()=>["devui-overlay-background",e.backgroundClass,e.hasBackdrop?"devui-overlay-background__color":"devui-overlay-background__disabled"]),i=t.computed(()=>"devui-overlay"),c=r=>{var d;r.preventDefault(),(d=e.onBackdropClick)==null||d.call(e),e.backdropClose&&n.emit("update:visible",!1)},s=r=>r.cancelBubble=!0;return t.onMounted(()=>{const r=document.body,d=r.style.overflow,f=r.style.position;t.watch([()=>e.visible,()=>e.backgroundBlock],([p,w])=>{if(w){const C=r.getBoundingClientRect().y;p?(r.style.overflowY="scroll",r.style.position=p?"fixed":"",r.style.top=`${C}px`):(r.style.overflowY=d,r.style.position=f,r.style.top="",window.scrollTo(0,-C))}}),t.onUnmounted(()=>{document.body.style.overflow=d})}),{backgroundClass:o,overlayClass:i,handleBackdropClick:c,handleOverlayBubbleCancel:s}}const v=t.defineComponent({name:"DFixedOverlay",props:X,emits:S,setup(e,n){const{backgroundClass:o,overlayClass:i,handleBackdropClick:c,handleOverlayBubbleCancel:s}=R(e,n);return()=>t.createVNode(x,null,{default:()=>[t.withDirectives(t.createVNode("div",{class:o.value,style:e.backgroundStyle,onClick:c},[t.createVNode("div",{class:i.value,style:e.overlayStyle,onClick:s},[t.renderSlot(n.slots,"default")])]),[[t.vShow,e.visible]])]})}});function _(e){return!!(e==null?void 0:e.$el)}function j(e){return e instanceof Element?e:e&&typeof e=="object"&&e.$el instanceof Element?e.$el:null}const h=t.defineComponent({name:"DFlexibleOverlay",props:Y,emits:S,setup(e,n){const o=t.ref(null),i=t.reactive({position:"absolute"});t.onMounted(async()=>{const f=(u,y,b)=>{const g=T(u,y,b);i.left=`${g.x}px`,i.top=`${g.y}px`},p=t.computed(()=>{const u=o.value,y=z(e.origin);if(!(!u||!y))return{origin:y,overlay:u}}),w=t.toRef(e,"visible"),C=t.toRef(e,"position");t.watch([p,w,C],async([u,y,b],g,G)=>{if(!y||!u)return;const{origin:m,overlay:k}=u;f(b,k.getBoundingClientRect(),m);const H=[P(()=>f(b,k.getBoundingClientRect(),m)),A(k,O=>f(b,O[0].contentRect,m)),q(m,()=>f(b,k.getBoundingClientRect(),m))];G(()=>{H.forEach(O=>O())})})});const{backgroundClass:c,overlayClass:s,handleBackdropClick:r,handleOverlayBubbleCancel:d}=R(e,n);return()=>t.createVNode(x,null,{default:()=>[t.withDirectives(t.createVNode("div",{style:e.backgroundStyle,class:c.value,onClick:r},[t.createVNode("div",{ref:o,class:s.value,style:i,onClick:d},[t.renderSlot(n.slots,"default")])]),[[t.vShow,e.visible]])]})}});function z(e){return e instanceof Element?e:t.isRef(e)?j(e.value):_(e)?j(e):e}function T(e,n,o){const i=$(o),c=M(i,e);return D(c,n,e)}function $(e){if(e instanceof Element)return e.getBoundingClientRect();const n=e.width||0,o=e.height||0;return{top:e.y,bottom:e.y+o,left:e.x,right:e.x+n,height:o,width:n}}function D(e,n,o){let i;const{width:c,height:s}=n;o.overlayX=="center"?i=e.x-c/2:i=o.overlayX=="left"?e.x:e.x-c;let r;return o.overlayY=="center"?r=e.y-s/2:r=o.overlayY=="top"?e.y:e.y-s,{x:i,y:r}}function M(e,n){let o;if(n.originX=="center")o=e.left+e.width/2;else{const c=e.left,s=e.right;o=n.originX=="left"?c:s}let i;return n.originY=="center"?i=e.top+e.height/2:i=n.originY=="top"?e.top:e.bottom,{x:o,y:i}}function P(e){return window.addEventListener("scroll",e,!0),window.addEventListener("resize",e),window.addEventListener("orientationchange",e),()=>{window.removeEventListener("scroll",e,!0),window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}}function A(e,n){if(e instanceof Element){const o=new ResizeObserver(n);return o.observe(e),()=>o.disconnect()}return()=>{}}function q(e,n){if(e instanceof Element){const o=new MutationObserver(n);return o.observe(e,{attributeFilter:["style"]}),()=>o.disconnect()}return()=>{}}const I=typeof window!="undefined";h.install=function(e){e.component(h.name,h)},v.install=function(e){e.component(v.name,v)};var U={title:"Overlay \u906E\u7F69\u5C42",category:"\u901A\u7528",status:"100%",install(e){if(e.use(v),e.use(h),I&&!document.getElementById("d-overlay-anchor")){const n=document.createElement("div");n.setAttribute("id","d-overlay-anchor"),n.style.position="fixed",n.style.left="0",n.style.top="0",n.style.zIndex="1000",document.body.appendChild(n)}}};l.FixedOverlay=v,l.FlexibleOverlay=h,l.default=U,Object.defineProperty(l,"__esModule",{value:!0}),l[Symbol.toStringTag]="Module"});
1
+ var _=Object.defineProperty,R=Object.defineProperties;var T=Object.getOwnPropertyDescriptors;var O=Object.getOwnPropertySymbols;var $=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable;var x=(n,e,a)=>e in n?_(n,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[e]=a,B=(n,e)=>{for(var a in e||(e={}))$.call(e,a)&&x(n,a,e[a]);if(O)for(var a of O(e))z.call(e,a)&&x(n,a,e[a]);return n},E=(n,e)=>R(n,T(e));(function(n,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue"),require("@floating-ui/dom")):typeof define=="function"&&define.amd?define(["exports","vue","@floating-ui/dom"],e):(n=typeof globalThis!="undefined"?globalThis:n||self,e(n.index={},n.Vue,n.dom))})(this,function(n,e,a){"use strict";var D="";function P(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const S=e.defineComponent({setup(t,l){return()=>{let r;return e.createVNode(e.Teleport,{to:"#d-overlay-anchor"},{default:()=>[e.createVNode(e.Transition,{name:"devui-overlay-fade"},P(r=e.renderSlot(l.slots,"default"))?r:{default:()=>[r]})]})}}}),g={visible:{type:Boolean},backgroundBlock:{type:Boolean,default:!1},backgroundClass:{type:String,default:""},backgroundStyle:{type:[String,Object]},onBackdropClick:{type:Function},backdropClose:{type:Boolean,default:!0},hasBackdrop:{type:Boolean,default:!0}},p=E(B({},g),{overlayStyle:{type:[String,Object],default:void 0}}),h=["update:visible","backdropClick"];function V(t,l){const r=e.computed(()=>["devui-overlay-background",t.backgroundClass,t.hasBackdrop?"devui-overlay-background__color":"devui-overlay-background__disabled"]),s=e.computed(()=>"devui-overlay"),c=o=>{var d;o.preventDefault(),(d=t.onBackdropClick)==null||d.call(t),t.backdropClose&&l.emit("update:visible",!1)},i=o=>o.cancelBubble=!0;return e.onMounted(()=>{const o=document.body,d=o.style.overflow,u=o.style.position;e.watch([()=>t.visible,()=>t.backgroundBlock],([f,v])=>{if(v){const y=o.getBoundingClientRect().y;f?(o.style.overflowY="scroll",o.style.position=f?"fixed":"",o.style.top=`${y}px`):(o.style.overflowY=d,o.style.position=u,o.style.top="",window.scrollTo(0,-y))}}),e.onUnmounted(()=>{document.body.style.overflow=d})}),{backgroundClass:r,overlayClass:s,handleBackdropClick:c,handleOverlayBubbleCancel:i}}var M="";const b=e.defineComponent({name:"DFixedOverlay",props:p,emits:h,setup(t,l){const{backgroundClass:r,overlayClass:s,handleBackdropClick:c,handleOverlayBubbleCancel:i}=V(t,l);return()=>e.createVNode(S,null,{default:()=>[t.visible&&e.createVNode("div",{class:r.value,style:t.backgroundStyle,onClick:c},[e.createVNode("div",{class:s.value,style:t.overlayStyle,onClick:i},[e.renderSlot(l.slots,"default")])])]})}}),k={modelValue:{type:Boolean,default:!1},origin:{type:Object,require:!0},position:{type:Array,default:["bottom"]},offset:{type:[Number,Object],default:8},align:{type:String,default:null},showArrow:{type:Boolean,default:!1},isArrowCenter:{type:Boolean,default:!0}};function C(t){const l=/(auto|scroll|hidden)/;for(let r=t;r=r.parentElement;r.parentElement!==document.body){const s=window.getComputedStyle(r);if(l.test(s.overflow+s.overflowX+s.overflowY))return r}return window}function A(t,l,r,s){let{x:c,y:i}=l;if(!t){const{width:o,height:d}=s;c&&r.includes("start")&&(c=12),c&&r.includes("end")&&(c=Math.round(o-24)),i&&r.includes("start")&&(i=10),i&&r.includes("end")&&(i=d-14)}return{x:c,y:i}}function j(t,l){const r=e.ref(),s=e.ref(),c=(o,d,u,f)=>{const{x:v,y}=A(t.isArrowCenter,u,d,f.getBoundingClientRect()),w={top:"bottom",right:"left",bottom:"top",left:"right"}[d.split("-")[0]];Object.assign(o.style,{left:v?`${v}px`:"",top:y?`${y}px`:"",right:"",bottom:"",[w]:"-4px"})},i=async()=>{const o=t.origin,d=e.unref(r.value),u=e.unref(s.value),f=[a.shift(),a.offset(t.offset),a.autoPlacement({alignment:t.align,allowedPlacements:t.position})];t.showArrow&&f.push(a.arrow({element:u}));const{x:v,y,placement:w,middlewareData:F}=await a.computePosition(o,d,{strategy:"fixed",middleware:f});l("positionChange",w),Object.assign(d.style,{top:`${y}px`,left:`${v}px`}),t.showArrow&&c(u,w,F.arrow,d)};return e.watch(()=>t.modelValue,()=>{const o=C(t.origin);t.modelValue&&t.origin?(e.nextTick(i),o.addEventListener("scroll",i),o!==window&&window.addEventListener("scroll",i),window.addEventListener("resize",i)):(o.removeEventListener("scroll",i),o!==window&&window.removeEventListener("scroll",i),window.removeEventListener("resize",i))}),e.onUnmounted(()=>{const o=C(t.origin);o.removeEventListener("scroll",i),o!==window&&window.removeEventListener("scroll",i),window.removeEventListener("resize",i)}),{arrowRef:s,overlayRef:r,updatePosition:i}}var q="";const m=e.defineComponent({name:"DFlexibleOverlay",inheritAttrs:!1,props:k,emits:["update:modelValue","positionChange"],setup(t,{slots:l,attrs:r,emit:s,expose:c}){const{arrowRef:i,overlayRef:o,updatePosition:d}=j(t,s);return c({updatePosition:d}),()=>{var u;return t.modelValue&&e.createVNode("div",e.mergeProps({ref:o,class:"devui-flexible-overlay"},r),[(u=l.default)==null?void 0:u.call(l),t.showArrow&&e.createVNode("div",{ref:i,class:"devui-flexible-overlay-arrow"},null)])}}}),L=typeof window!="undefined";var N={title:"Overlay \u906E\u7F69\u5C42",category:"\u901A\u7528",status:"100%",install(t){if(t.component(b.name,b),t.component(m.name,m),L&&!document.getElementById("d-overlay-anchor")){const l=document.createElement("div");l.setAttribute("id","d-overlay-anchor"),l.style.position="fixed",l.style.left="0",l.style.top="0",l.style.zIndex="1000",document.body.appendChild(l)}}};n.FixedOverlay=b,n.FlexibleOverlay=m,n.default=N,n.fixedOverlayProps=p,n.flexibleOverlayProps=k,n.overlayEmits=h,n.overlayProps=g,Object.defineProperty(n,"__esModule",{value:!0}),n[Symbol.toStringTag]="Module"});
package/overlay/style.css CHANGED
@@ -1 +1 @@
1
- .devui-overlay-background{position:fixed;top:0;left:0;height:100vh;width:100vw;display:flex}.devui-overlay-background__color{background:rgba(0,0,0,.4)}.devui-overlay-background .devui-overlay{position:relative;z-index:1000;pointer-events:auto}.devui-overlay-background__disabled{pointer-events:none}@keyframes d-overlay-fade{0%{opacity:0}to{opacity:1}}.devui-overlay-fade-enter{opacity:0}.devui-overlay-fade-enter-active{animation-name:d-overlay-fade;animation-duration:.3s}.devui-overlay-fade-leave{opacity:1}.devui-overlay-fade-leave-active{animation-name:d-overlay-fade;animation-duration:.3s;animation-direction:reverse}
1
+ @keyframes d-overlay-fade{0%{opacity:0}to{opacity:1}}.devui-overlay-fade-enter{opacity:0}.devui-overlay-fade-enter-active{animation-name:d-overlay-fade;animation-duration:.3s}.devui-overlay-fade-leave{opacity:1}.devui-overlay-fade-leave-active{animation-name:d-overlay-fade;animation-duration:.3s;animation-direction:reverse}.devui-overlay-background{position:fixed;top:0;left:0;height:100vh;width:100vw;display:flex}.devui-overlay-background__color{background:rgba(0,0,0,.4)}.devui-overlay-background .devui-overlay{position:relative;z-index:1000;pointer-events:auto}.devui-overlay-background__disabled{pointer-events:none}.devui-flexible-overlay{position:fixed;border-radius:var(--devui-border-radius, 2px);background-color:var(--devui-connected-overlay-bg, #ffffff);box-shadow:var(--devui-shadow-connected-overlay, 0 2px 8px 0) var(--devui-shadow, rgba(0, 0, 0, .2));z-index:1000}.devui-flexible-overlay-arrow{position:absolute;width:8px;height:8px;transform:rotate(45deg);background-color:inherit}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue-devui",
3
- "version": "1.0.0-beta.16",
3
+ "version": "1.0.0-beta.19",
4
4
  "license": "MIT",
5
5
  "description": "DevUI components based on Vite and Vue3",
6
6
  "keywords": [
@@ -15,74 +15,26 @@
15
15
  "jsx",
16
16
  "devui"
17
17
  ],
18
+ "homepage": "https://vue-devui.github.io/",
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git@github.com:DevCloudFE/vue-devui.git"
22
+ },
18
23
  "main": "vue-devui.umd.js",
19
24
  "module": "vue-devui.es.js",
20
25
  "style": "style.css",
21
- "bin": {
22
- "devui-cli": "./devui-cli/index.js"
23
- },
24
- "scripts": {
25
- "dev": "yarn generate:theme && vitepress dev docs",
26
- "build": "yarn generate:theme && node --max_old_space_size=8192 ./node_modules/.bin/vitepress build docs && cp public/* docs/.vitepress/dist/assets",
27
- "serve": "vitepress serve docs",
28
- "app:dev": "vite",
29
- "app:build": "vite build",
30
- "build:lib": "yarn predev && yarn build:components && yarn copy",
31
- "test": "jest --config jest.config.js",
32
- "build:components": "node ./devui-cli/index.js build",
33
- "generate:theme": "node ./devui-cli/index.js generate:theme",
34
- "generate:dts": "node ./devui-cli/index.js generate:dts",
35
- "copy": "cp package.json build && cp ../../README.md build && cp devui/theme/theme.scss build/theme",
36
- "clean:cli": "npm uninstall -g devui-cli & npm uninstall -g vue-devui",
37
- "cli:create": "node ./devui-cli/index.js create -t component",
38
- "predev": "node ./devui-cli/index.js create -t vue-devui --ignore-parse-error",
39
- "prebuild": "node ./devui-cli/index.js create -t vue-devui --ignore-parse-error"
40
- },
41
26
  "dependencies": {
42
27
  "@devui-design/icons": "^1.3.0",
28
+ "@floating-ui/dom": "^0.4.0",
43
29
  "@types/lodash-es": "^4.17.4",
30
+ "@vueuse/core": "^7.7.1",
44
31
  "async-validator": "^4.0.2",
32
+ "devui-theme": "^0.0.1",
33
+ "fs-extra": "^10.0.0",
34
+ "lodash": "^4.17.21",
45
35
  "lodash-es": "^4.17.20",
46
36
  "mitt": "^3.0.0",
47
37
  "vue": "^3.1.1",
48
38
  "vue-router": "^4.0.3"
49
- },
50
- "devDependencies": {
51
- "@babel/parser": "^7.15.5",
52
- "@babel/preset-env": "^7.14.5",
53
- "@babel/preset-typescript": "^7.14.5",
54
- "@babel/traverse": "^7.15.4",
55
- "@commitlint/cli": "^11.0.0",
56
- "@commitlint/config-conventional": "^11.0.0",
57
- "@types/chalk": "^2.2.0",
58
- "@types/commander": "^2.12.2",
59
- "@types/jest": "^26.0.23",
60
- "@types/ora": "^3.2.0",
61
- "@typescript-eslint/eslint-plugin": "^4.27.0",
62
- "@typescript-eslint/parser": "^4.27.0",
63
- "@vitejs/plugin-vue": "^1.3.0",
64
- "@vitejs/plugin-vue-jsx": "^1.1.0",
65
- "@vue/babel-plugin-jsx": "^1.0.6",
66
- "@vue/compiler-sfc": "^3.0.5",
67
- "@vue/test-utils": "^2.0.0-rc.9",
68
- "@vuedx/typecheck": "^0.4.1",
69
- "@vuedx/typescript-plugin-vue": "^0.4.1",
70
- "babel-jest": "^27.0.2",
71
- "chalk": "^4.1.2",
72
- "commander": "^8.1.0",
73
- "inquirer": "^8.1.2",
74
- "jest": "^27.0.4",
75
- "ora": "^5.4.1",
76
- "patch-vue-directive-ssr": "^0.0.1",
77
- "sass": "^1.32.2",
78
- "shelljs": "^0.8.4",
79
- "typescript": "^4.3.2",
80
- "vite": "^2.4.4",
81
- "vite-plugin-md": "^0.6.0",
82
- "vite-svg-loader": "^2.2.0",
83
- "vitepress": "0.20.1",
84
- "vitepress-theme-demoblock": "1.3.2",
85
- "vue-tsc": "^0.2.2",
86
- "yarn": "^1.22.11"
87
39
  }
88
- }
40
+ }
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, ref, onMounted, onUnmounted, withDirectives, createVNode, createTextVNode, resolveDirective, toRefs, watch, resolveComponent, computed, Fragment, mergeProps, nextTick } from "vue";
2
- const componentProps = {
2
+ const paginationProps = {
3
3
  pageSize: {
4
4
  type: Number,
5
5
  default: 10
@@ -148,7 +148,7 @@ function off(element, eventName, handler) {
148
148
  }
149
149
  const inBrowser = typeof window !== "undefined";
150
150
  const ctx = Symbol("@@clickoutside");
151
- const nodeList = new Map();
151
+ const nodeList = /* @__PURE__ */ new Map();
152
152
  let startClick;
153
153
  let nid = 0;
154
154
  let isFirst = true;
@@ -202,15 +202,15 @@ var ConfigMenu = defineComponent({
202
202
  setup() {
203
203
  const paginationConfig = ref(null);
204
204
  const isShowConfig = ref(false);
205
+ const closeConfigMenu = (e) => {
206
+ isShowConfig.value = isShowConfig.value ? false : !!e;
207
+ };
205
208
  onMounted(() => {
206
209
  on(paginationConfig.value, "click", closeConfigMenu);
207
210
  });
208
211
  onUnmounted(() => {
209
212
  off(paginationConfig.value, "click", closeConfigMenu);
210
213
  });
211
- const closeConfigMenu = (e) => {
212
- isShowConfig.value = isShowConfig.value ? false : !!e;
213
- };
214
214
  return {
215
215
  paginationConfig,
216
216
  isShowConfig,
@@ -360,8 +360,9 @@ var PageNumBtn = defineComponent({
360
360
  }) {
361
361
  const showPageNum = computed(() => handlePages(props.cursor, props.maxItems, props.totalPages));
362
362
  const changeCursor = (pageSize) => {
363
- if (isNaN(pageSize))
363
+ if (isNaN(pageSize)) {
364
364
  return;
365
+ }
365
366
  const page = pageSize < 1 ? 1 : pageSize > props.totalPages ? props.totalPages : pageSize | 0;
366
367
  emit("changeCursorEmit", page);
367
368
  };
@@ -485,11 +486,12 @@ var Pagination = defineComponent({
485
486
  JumpPage,
486
487
  PageNumBtn
487
488
  },
488
- props: componentProps,
489
+ props: paginationProps,
489
490
  emits: ["pageIndexChange", "pageSizeChange", "update:pageSize", "update:pageIndex"],
490
491
  setup(props, {
491
492
  emit
492
493
  }) {
494
+ const totalPages = computed(() => Math.ceil(props.total / props.pageSize));
493
495
  const litePageOptions = computed(() => liteSelectOptions(totalPages.value));
494
496
  const cursor = computed({
495
497
  get() {
@@ -511,7 +513,6 @@ var Pagination = defineComponent({
511
513
  emit("update:pageSize", val);
512
514
  }
513
515
  });
514
- const totalPages = computed(() => Math.ceil(props.total / props.pageSize));
515
516
  const changeCursorEmit = (val) => {
516
517
  cursor.value = val;
517
518
  emit("pageIndexChange", val);
@@ -628,15 +629,12 @@ var Pagination = defineComponent({
628
629
  ]);
629
630
  }
630
631
  });
631
- Pagination.install = (app) => {
632
- app.component(Pagination.name, Pagination);
633
- };
634
632
  var index = {
635
633
  title: "Pagination \u5206\u9875",
636
634
  category: "\u5BFC\u822A",
637
635
  status: "100%",
638
636
  install(app) {
639
- app.use(Pagination);
637
+ app.component(Pagination.name, Pagination);
640
638
  }
641
639
  };
642
- export { Pagination, index as default };
640
+ export { Pagination, index as default, paginationProps };