vft 0.0.415 → 0.0.416

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 (146) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/es/components/autocomplete/autocomplete.vue.d.ts +8 -8
  4. package/es/components/autocomplete/index.d.ts +24 -24
  5. package/es/components/button/button.vue.d.ts +1 -1
  6. package/es/components/button/index.d.ts +39 -39
  7. package/es/components/button/use-button.d.ts +1 -1
  8. package/es/components/carousel/use-carousel.js +1 -1
  9. package/es/components/color-picker/composables/use-alpha-slider.d.ts +2 -2
  10. package/es/components/config-provider/config-provider.vue.d.ts +2 -0
  11. package/es/components/config-provider/config-provider.vue2.js +4 -3
  12. package/es/components/config-provider/hooks/use-global-config.js +3 -3
  13. package/es/components/config-provider/index.d.ts +9 -0
  14. package/es/components/dialog/constants.d.ts +1 -0
  15. package/es/components/dialog/constants.js +2 -1
  16. package/es/components/dialog/dialog-content.vue.d.ts +4 -1
  17. package/es/components/dialog/dialog-content.vue2.js +59 -48
  18. package/es/components/dialog/dialog.vue.d.ts +4 -19
  19. package/es/components/dialog/dialog.vue2.js +104 -89
  20. package/es/components/dialog/index.d.ts +70 -3
  21. package/es/components/dialog/index.js +5 -4
  22. package/es/components/dialog/types.d.ts +69 -0
  23. package/es/components/dialog/{hooks/use-dialog.d.ts → use-dialog.d.ts} +11 -2
  24. package/es/components/dialog/use-dialog.js +138 -0
  25. package/es/components/drawer/composables/useResizable.d.ts +7 -0
  26. package/es/components/drawer/composables/useResizable.js +53 -0
  27. package/es/components/drawer/drawer.vue.d.ts +3 -7
  28. package/es/components/drawer/drawer.vue2.js +122 -97
  29. package/es/components/drawer/index.d.ts +78 -0
  30. package/es/components/drawer/types.d.ts +13 -0
  31. package/es/components/drawer/types.js +1 -0
  32. package/es/components/dropdown/dropdown.vue.d.ts +1 -1
  33. package/es/components/dropdown/index.d.ts +15 -15
  34. package/es/components/form/index.d.ts +6 -6
  35. package/es/components/index.js +172 -171
  36. package/es/components/input/input.vue2.js +4 -4
  37. package/es/components/input-tag/composables/use-input-tag.js +1 -1
  38. package/es/components/input-tag/input-tag.vue.d.ts +1 -1
  39. package/es/components/link/index.d.ts +3 -3
  40. package/es/components/md-code-demo/md-code-demo.js +10 -10
  41. package/es/components/modal/index.d.ts +87 -24
  42. package/es/components/modal/modal.vue.d.ts +1 -1
  43. package/es/components/modal/modal.vue2.js +24 -17
  44. package/es/components/multiple-tabs/multiple-tabs.vue2.js +82 -79
  45. package/es/components/popconfirm/index.d.ts +15 -15
  46. package/es/components/popconfirm/popconfirm.vue.d.ts +1 -1
  47. package/es/components/popover/index.d.ts +0 -9
  48. package/es/components/popover/popover.vue2.js +4 -5
  49. package/es/components/popover/types.d.ts +23 -1
  50. package/es/components/search/search.vue2.js +3 -3
  51. package/es/components/select/index.d.ts +20 -20
  52. package/es/components/select/select.vue.d.ts +20 -20
  53. package/es/components/select/useSelect.d.ts +17 -17
  54. package/es/components/super-form/super-form-item.vue2.js +1 -1
  55. package/es/components/table/index.d.ts +9 -9
  56. package/es/components/time-picker/time-picker-com/panel-time-pick.vue.d.ts +1 -1
  57. package/es/components/time-picker/time-picker-com/panel-time-range.vue.d.ts +1 -1
  58. package/es/components/timeline/index.d.ts +6 -6
  59. package/es/components/tooltip/index.d.ts +3 -3
  60. package/es/components/tooltip/tooltip.vue2.js +1 -1
  61. package/es/components/tooltip/types.d.ts +81 -1
  62. package/es/hooks/use-draggable/index.d.ts +5 -1
  63. package/es/hooks/use-draggable/index.js +39 -34
  64. package/es/hooks/use-z-index/index.js +3 -3
  65. package/es/index.js +2 -2
  66. package/es/package.json.d.ts +1 -1
  67. package/es/package.json.js +1 -1
  68. package/es/utils/helper.d.ts +1 -1
  69. package/es/utils/ns-cover.d.ts +1 -1
  70. package/es/utils/vue/vnode.js +1 -1
  71. package/lib/components/autocomplete/autocomplete.vue.d.ts +8 -8
  72. package/lib/components/autocomplete/index.d.ts +24 -24
  73. package/lib/components/button/button.vue.d.ts +1 -1
  74. package/lib/components/button/index.d.ts +39 -39
  75. package/lib/components/button/use-button.d.ts +1 -1
  76. package/lib/components/color-picker/composables/use-alpha-slider.d.ts +2 -2
  77. package/lib/components/config-provider/config-provider.vue.d.ts +2 -0
  78. package/lib/components/config-provider/config-provider.vue2.cjs +1 -1
  79. package/lib/components/config-provider/index.d.ts +9 -0
  80. package/lib/components/dialog/constants.cjs +1 -1
  81. package/lib/components/dialog/constants.d.ts +1 -0
  82. package/lib/components/dialog/dialog-content.vue.d.ts +4 -1
  83. package/lib/components/dialog/dialog-content.vue2.cjs +1 -1
  84. package/lib/components/dialog/dialog.vue.d.ts +4 -19
  85. package/lib/components/dialog/dialog.vue2.cjs +1 -1
  86. package/lib/components/dialog/index.cjs +1 -1
  87. package/lib/components/dialog/index.d.ts +70 -3
  88. package/lib/components/dialog/types.d.ts +69 -0
  89. package/lib/components/dialog/use-dialog.cjs +1 -0
  90. package/lib/components/dialog/{hooks/use-dialog.d.ts → use-dialog.d.ts} +11 -2
  91. package/lib/components/drawer/composables/useResizable.cjs +1 -0
  92. package/lib/components/drawer/composables/useResizable.d.ts +7 -0
  93. package/lib/components/drawer/drawer.vue.d.ts +3 -7
  94. package/lib/components/drawer/drawer.vue2.cjs +1 -1
  95. package/lib/components/drawer/index.d.ts +78 -0
  96. package/lib/components/drawer/types.cjs +1 -0
  97. package/lib/components/drawer/types.d.ts +13 -0
  98. package/lib/components/dropdown/dropdown.vue.d.ts +1 -1
  99. package/lib/components/dropdown/index.d.ts +15 -15
  100. package/lib/components/form/index.d.ts +6 -6
  101. package/lib/components/index.cjs +1 -1
  102. package/lib/components/input/input.vue2.cjs +1 -1
  103. package/lib/components/input-tag/input-tag.vue.d.ts +1 -1
  104. package/lib/components/link/index.d.ts +3 -3
  105. package/lib/components/md-code-demo/md-code-demo.cjs +1 -1
  106. package/lib/components/modal/index.d.ts +87 -24
  107. package/lib/components/modal/modal.vue.d.ts +1 -1
  108. package/lib/components/modal/modal.vue2.cjs +1 -1
  109. package/lib/components/multiple-tabs/multiple-tabs.vue2.cjs +1 -1
  110. package/lib/components/popconfirm/index.d.ts +15 -15
  111. package/lib/components/popconfirm/popconfirm.vue.d.ts +1 -1
  112. package/lib/components/popover/index.d.ts +0 -9
  113. package/lib/components/popover/popover.vue2.cjs +1 -1
  114. package/lib/components/popover/types.d.ts +23 -1
  115. package/lib/components/search/search.vue2.cjs +1 -1
  116. package/lib/components/select/index.d.ts +20 -20
  117. package/lib/components/select/select.vue.d.ts +20 -20
  118. package/lib/components/select/useSelect.d.ts +17 -17
  119. package/lib/components/table/index.d.ts +9 -9
  120. package/lib/components/time-picker/time-picker-com/panel-time-pick.vue.d.ts +1 -1
  121. package/lib/components/time-picker/time-picker-com/panel-time-range.vue.d.ts +1 -1
  122. package/lib/components/timeline/index.d.ts +6 -6
  123. package/lib/components/tooltip/index.d.ts +3 -3
  124. package/lib/components/tooltip/tooltip.vue2.cjs +1 -1
  125. package/lib/components/tooltip/types.d.ts +81 -1
  126. package/lib/hooks/use-draggable/index.cjs +1 -1
  127. package/lib/hooks/use-draggable/index.d.ts +5 -1
  128. package/lib/index.cjs +1 -1
  129. package/lib/package.json.cjs +1 -1
  130. package/lib/package.json.d.ts +1 -1
  131. package/lib/utils/helper.d.ts +1 -1
  132. package/lib/utils/ns-cover.d.ts +1 -1
  133. package/package.json +3 -3
  134. package/tags.json +1 -1
  135. package/theme-style/index.css +1 -1
  136. package/theme-style/src/dialog.scss +35 -35
  137. package/theme-style/src/drawer.scss +118 -21
  138. package/theme-style/src/md-container.scss +1 -0
  139. package/theme-style/src/tag.scss +1 -1
  140. package/theme-style/vft-dialog.css +1 -1
  141. package/theme-style/vft-drawer.css +1 -1
  142. package/theme-style/vft-md-container.css +1 -1
  143. package/theme-style/vft-tag.css +1 -1
  144. package/web-types.json +1 -1
  145. package/es/components/dialog/hooks/use-dialog.js +0 -106
  146. package/lib/components/dialog/hooks/use-dialog.cjs +0 -1
@@ -18,6 +18,12 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
18
18
  zIndex: {
19
19
  type: import("vue").PropType<number>;
20
20
  };
21
+ overflow: {
22
+ type: import("vue").PropType<boolean>;
23
+ };
24
+ transition: {
25
+ type: import("vue").PropType<string | import("vue").TransitionProps>;
26
+ };
21
27
  fullscreen: {
22
28
  type: import("vue").PropType<boolean>;
23
29
  default: boolean;
@@ -37,6 +43,9 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
37
43
  loading: {
38
44
  type: import("vue").PropType<boolean>;
39
45
  };
46
+ appendTo: {
47
+ type: import("vue").PropType<string | HTMLElement>;
48
+ };
40
49
  showClose: {
41
50
  type: import("vue").PropType<boolean>;
42
51
  default: boolean;
@@ -45,13 +54,6 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
45
54
  type: import("vue").PropType<string>;
46
55
  default: string;
47
56
  };
48
- alignCenter: {
49
- type: import("vue").PropType<boolean>;
50
- default: boolean;
51
- };
52
- closeIcon: {
53
- type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
54
- };
55
57
  appendToBody: {
56
58
  type: import("vue").PropType<boolean>;
57
59
  default: boolean;
@@ -83,6 +85,9 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
83
85
  type: import("vue").PropType<number>;
84
86
  default: number;
85
87
  };
88
+ modalPenetrable: {
89
+ type: import("vue").PropType<boolean>;
90
+ };
86
91
  modalClass: {
87
92
  type: import("vue").PropType<string>;
88
93
  };
@@ -90,6 +95,22 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
90
95
  type: import("vue").PropType<boolean>;
91
96
  default: boolean;
92
97
  };
98
+ alignCenter: {
99
+ type: import("vue").PropType<boolean>;
100
+ default: boolean;
101
+ };
102
+ closeIcon: {
103
+ type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
104
+ };
105
+ headerClass: {
106
+ type: import("vue").PropType<string>;
107
+ };
108
+ bodyClass: {
109
+ type: import("vue").PropType<string>;
110
+ };
111
+ footerClass: {
112
+ type: import("vue").PropType<string>;
113
+ };
93
114
  showSubmitButton: {
94
115
  type: import("vue").PropType<boolean>;
95
116
  default: boolean;
@@ -126,7 +147,6 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
126
147
  closeOnPressEscape: boolean;
127
148
  showClose: boolean;
128
149
  customClass: string;
129
- alignCenter: boolean;
130
150
  appendToBody: boolean;
131
151
  destroyOnClose: boolean;
132
152
  closeOnClickModal: boolean;
@@ -135,6 +155,7 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
135
155
  openDelay: number;
136
156
  closeDelay: number;
137
157
  trapFocus: boolean;
158
+ alignCenter: boolean;
138
159
  showSubmitButton: boolean;
139
160
  showActionButtonGroup: boolean;
140
161
  showCancelButton: boolean;
@@ -163,6 +184,12 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
163
184
  zIndex: {
164
185
  type: import("vue").PropType<number>;
165
186
  };
187
+ overflow: {
188
+ type: import("vue").PropType<boolean>;
189
+ };
190
+ transition: {
191
+ type: import("vue").PropType<string | import("vue").TransitionProps>;
192
+ };
166
193
  fullscreen: {
167
194
  type: import("vue").PropType<boolean>;
168
195
  default: boolean;
@@ -182,6 +209,9 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
182
209
  loading: {
183
210
  type: import("vue").PropType<boolean>;
184
211
  };
212
+ appendTo: {
213
+ type: import("vue").PropType<string | HTMLElement>;
214
+ };
185
215
  showClose: {
186
216
  type: import("vue").PropType<boolean>;
187
217
  default: boolean;
@@ -190,13 +220,6 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
190
220
  type: import("vue").PropType<string>;
191
221
  default: string;
192
222
  };
193
- alignCenter: {
194
- type: import("vue").PropType<boolean>;
195
- default: boolean;
196
- };
197
- closeIcon: {
198
- type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
199
- };
200
223
  appendToBody: {
201
224
  type: import("vue").PropType<boolean>;
202
225
  default: boolean;
@@ -228,6 +251,9 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
228
251
  type: import("vue").PropType<number>;
229
252
  default: number;
230
253
  };
254
+ modalPenetrable: {
255
+ type: import("vue").PropType<boolean>;
256
+ };
231
257
  modalClass: {
232
258
  type: import("vue").PropType<string>;
233
259
  };
@@ -235,6 +261,22 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
235
261
  type: import("vue").PropType<boolean>;
236
262
  default: boolean;
237
263
  };
264
+ alignCenter: {
265
+ type: import("vue").PropType<boolean>;
266
+ default: boolean;
267
+ };
268
+ closeIcon: {
269
+ type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
270
+ };
271
+ headerClass: {
272
+ type: import("vue").PropType<string>;
273
+ };
274
+ bodyClass: {
275
+ type: import("vue").PropType<string>;
276
+ };
277
+ footerClass: {
278
+ type: import("vue").PropType<string>;
279
+ };
238
280
  showSubmitButton: {
239
281
  type: import("vue").PropType<boolean>;
240
282
  default: boolean;
@@ -271,7 +313,6 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
271
313
  closeOnPressEscape: boolean;
272
314
  showClose: boolean;
273
315
  customClass: string;
274
- alignCenter: boolean;
275
316
  appendToBody: boolean;
276
317
  destroyOnClose: boolean;
277
318
  closeOnClickModal: boolean;
@@ -280,6 +321,7 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
280
321
  openDelay: number;
281
322
  closeDelay: number;
282
323
  trapFocus: boolean;
324
+ alignCenter: boolean;
283
325
  showSubmitButton: boolean;
284
326
  showActionButtonGroup: boolean;
285
327
  showCancelButton: boolean;
@@ -305,6 +347,12 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
305
347
  zIndex: {
306
348
  type: import("vue").PropType<number>;
307
349
  };
350
+ overflow: {
351
+ type: import("vue").PropType<boolean>;
352
+ };
353
+ transition: {
354
+ type: import("vue").PropType<string | import("vue").TransitionProps>;
355
+ };
308
356
  fullscreen: {
309
357
  type: import("vue").PropType<boolean>;
310
358
  default: boolean;
@@ -324,6 +372,9 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
324
372
  loading: {
325
373
  type: import("vue").PropType<boolean>;
326
374
  };
375
+ appendTo: {
376
+ type: import("vue").PropType<string | HTMLElement>;
377
+ };
327
378
  showClose: {
328
379
  type: import("vue").PropType<boolean>;
329
380
  default: boolean;
@@ -332,13 +383,6 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
332
383
  type: import("vue").PropType<string>;
333
384
  default: string;
334
385
  };
335
- alignCenter: {
336
- type: import("vue").PropType<boolean>;
337
- default: boolean;
338
- };
339
- closeIcon: {
340
- type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
341
- };
342
386
  appendToBody: {
343
387
  type: import("vue").PropType<boolean>;
344
388
  default: boolean;
@@ -370,6 +414,9 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
370
414
  type: import("vue").PropType<number>;
371
415
  default: number;
372
416
  };
417
+ modalPenetrable: {
418
+ type: import("vue").PropType<boolean>;
419
+ };
373
420
  modalClass: {
374
421
  type: import("vue").PropType<string>;
375
422
  };
@@ -377,6 +424,22 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
377
424
  type: import("vue").PropType<boolean>;
378
425
  default: boolean;
379
426
  };
427
+ alignCenter: {
428
+ type: import("vue").PropType<boolean>;
429
+ default: boolean;
430
+ };
431
+ closeIcon: {
432
+ type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
433
+ };
434
+ headerClass: {
435
+ type: import("vue").PropType<string>;
436
+ };
437
+ bodyClass: {
438
+ type: import("vue").PropType<string>;
439
+ };
440
+ footerClass: {
441
+ type: import("vue").PropType<string>;
442
+ };
380
443
  showSubmitButton: {
381
444
  type: import("vue").PropType<boolean>;
382
445
  default: boolean;
@@ -413,7 +476,6 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
413
476
  closeOnPressEscape: boolean;
414
477
  showClose: boolean;
415
478
  customClass: string;
416
- alignCenter: boolean;
417
479
  appendToBody: boolean;
418
480
  destroyOnClose: boolean;
419
481
  closeOnClickModal: boolean;
@@ -422,6 +484,7 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
422
484
  openDelay: number;
423
485
  closeDelay: number;
424
486
  trapFocus: boolean;
487
+ alignCenter: boolean;
425
488
  showSubmitButton: boolean;
426
489
  showActionButtonGroup: boolean;
427
490
  showCancelButton: boolean;
@@ -60,7 +60,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
60
60
  closeOnPressEscape: boolean;
61
61
  showClose: boolean;
62
62
  customClass: string;
63
- alignCenter: boolean;
64
63
  appendToBody: boolean;
65
64
  destroyOnClose: boolean;
66
65
  closeOnClickModal: boolean;
@@ -69,6 +68,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
69
68
  openDelay: number;
70
69
  closeDelay: number;
71
70
  trapFocus: boolean;
71
+ alignCenter: boolean;
72
72
  showSubmitButton: boolean;
73
73
  showActionButtonGroup: boolean;
74
74
  showCancelButton: boolean;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),f=require("@vft/utils"),w=require("../dialog/index.cjs"),C=require("./modal-footer-action.vue2.cjs"),v=e.defineComponent({__name:"modal",props:{closeFunc:{},showActionButtonGroup:{type:Boolean,default:!1},confirmLoading:{type:Boolean},loading:{type:Boolean},appendToBody:{type:Boolean,default:!1},beforeClose:{},destroyOnClose:{type:Boolean,default:!1},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},openDelay:{default:0},closeDelay:{default:0},top:{},modelValue:{type:Boolean,default:!1},modalClass:{},width:{},zIndex:{},trapFocus:{type:Boolean,default:!1},center:{type:Boolean,default:!1},alignCenter:{type:Boolean,default:!1},closeIcon:{},customClass:{default:""},draggable:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},showClose:{type:Boolean,default:!0},title:{default:""},showSubmitButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},submitButtonOptions:{},cancelButtonOptions:{},actionRowOptions:{}},emits:{"visible-change":[],close:[],ok:[],register:[],"update:modelValue":[],submit:[]},setup(d,{emit:p}){const o=d,n=p,m=e.useAttrs(),s=e.ref(null),l=e.ref(!1),u=e.ref(null),c={setModalProps:y,emitVisible:void 0,redoModalHeight:()=>{e.nextTick(()=>{e.unref(u)&&e.unref(u).setModalHeight()})}},a=e.getCurrentInstance();a&&n("register",c,a.uid);const B=e.computed(()=>({...o,...e.unref(s)})),b=e.computed(()=>({...m,...e.unref(B),modelValue:e.unref(l)}));e.watchEffect(()=>{l.value=!!o.modelValue}),e.watch(()=>e.unref(l),t=>{n("visible-change",t),n("update:modelValue",t),a&&e.nextTick(()=>{c.emitVisible(t,a.uid)}),e.nextTick(()=>{o.scrollTop&&t&&e.unref(u)&&e.unref(u).scrollTop()})},{immediate:!1});async function i(t){if(t?.stopPropagation(),o.closeFunc&&f.isFunction(o.closeFunc)){const r=await o.closeFunc();l.value=!r;return}l.value=!1,n("close",t)}function y(t){s.value=f.deepMerge(e.unref(s)||{},t),Reflect.has(t,"modelValue")&&(l.value=!!t.modelValue)}const h=e.computed(()=>({onClick:t=>i(t),...o.cancelButtonOptions})),g=e.computed(()=>({onClick:()=>n("submit"),...o.submitButtonOptions}));return(t,r)=>(e.openBlock(),e.createBlock(e.unref(w.VftDialog),e.mergeProps(b.value,{onClose:i}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:2},[t.$slots.footer||t.showActionButtonGroup?{name:"footer",fn:e.withCtx(()=>[t.showActionButtonGroup?(e.openBlock(),e.createBlock(C.default,{key:0,"show-cancel-button":t.showCancelButton,"show-submit-button":t.showSubmitButton,"cancel-button-options":h.value,"submit-button-options":g.value},null,8,["show-cancel-button","show-submit-button","cancel-button-options","submit-button-options"])):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1040))}});exports.default=v;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),d=require("@vft/utils"),C=require("../dialog/index.cjs"),w=require("./modal-footer-action.vue2.cjs"),v=e.defineComponent({__name:"modal",props:{closeFunc:{},showActionButtonGroup:{type:Boolean,default:!1},confirmLoading:{type:Boolean},loading:{type:Boolean},appendToBody:{type:Boolean,default:!1},appendTo:{},beforeClose:{},destroyOnClose:{type:Boolean,default:!1},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},openDelay:{default:0},closeDelay:{default:0},top:{},modalPenetrable:{type:Boolean},modelValue:{type:Boolean,default:!1},modalClass:{},width:{},zIndex:{},trapFocus:{type:Boolean,default:!1},overflow:{type:Boolean},transition:{},center:{type:Boolean,default:!1},alignCenter:{type:Boolean,default:!1},closeIcon:{},customClass:{default:""},draggable:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},showClose:{type:Boolean,default:!0},title:{default:""},headerClass:{},bodyClass:{},footerClass:{},showSubmitButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},submitButtonOptions:{},cancelButtonOptions:{},actionRowOptions:{}},emits:{"visible-change":[],close:[],ok:[],register:[],"update:modelValue":[],submit:[]},setup(f,{emit:p}){const o=f,n=p,m=e.useAttrs(),s=e.ref(null),l=e.ref(!1),a=e.ref(null),r={setModalProps:y,emitVisible:void 0,redoModalHeight:()=>{e.nextTick(()=>{e.unref(a)&&e.unref(a).setModalHeight()})}},u=e.getCurrentInstance();u&&n("register",r,u.uid);const B=e.computed(()=>({...o,...e.unref(s)})),b=e.computed(()=>({...m,...e.unref(B),modelValue:e.unref(l)}));e.watchEffect(()=>{l.value=!!o.modelValue}),e.watch(()=>e.unref(l),t=>{n("visible-change",t),n("update:modelValue",t),u&&e.nextTick(()=>{r.emitVisible(t,u.uid)}),e.nextTick(()=>{o.scrollTop&&t&&e.unref(a)&&e.unref(a).scrollTop()})},{immediate:!1});async function i(t){if(t?.stopPropagation(),o.closeFunc&&d.isFunction(o.closeFunc)){const c=await o.closeFunc();l.value=!c;return}l.value=!1,n("close",t)}function y(t){s.value=d.deepMerge(e.unref(s)||{},t),Reflect.has(t,"modelValue")&&(l.value=!!t.modelValue)}const h=e.computed(()=>({onClick:t=>i(t),...o.cancelButtonOptions})),g=e.computed(()=>({onClick:()=>n("submit"),...o.submitButtonOptions}));return(t,c)=>(e.openBlock(),e.createBlock(e.unref(C.VftDialog),e.mergeProps(b.value,{onClose:i}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:2},[t.$slots.footer||t.showActionButtonGroup?{name:"footer",fn:e.withCtx(()=>[t.showActionButtonGroup?(e.openBlock(),e.createBlock(w.default,{key:0,"show-cancel-button":t.showCancelButton,"show-submit-button":t.showSubmitButton,"cancel-button-options":h.value,"submit-button-options":g.value},null,8,["show-cancel-button","show-submit-button","cancel-button-options","submit-button-options"])):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1040))}});exports.default=v;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),h=require("../tabs/index.cjs"),w=require("@vueuse/core");require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");const p=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const E=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const u=require("@vft/router"),g=require("@vft/store"),K=require("@vft/use"),N=require("hotkeys-js"),A=require("vue-router"),I=require("./tab-content.vue2.cjs"),T=require("./use/use-multiple-tabs.cjs");require("../context-menu/context-menu.vue2.cjs");require("../icon/index.cjs");const L=e.defineComponent({name:"vft-multiple-tabs"}),z=e.defineComponent({...L,props:{tabsStyle:{},contextMenuStyle:{},canDrag:{type:Boolean},fixTabCount:{},fixExtraScrollWidth:{}},setup(d){const q=E.useNamespace("multiple-tabs"),i=e.getCurrentInstance().appContext.config.globalProperties.$router,s=T.initAffixTabs(i),c=g.useMultipleTabStore(),r=e.ref(""),o=e.ref(0),x=e.ref(),{go:b}=u.useRouterHelper(i),f=e.computed(()=>c.getTabList.filter(t=>!t.meta?.hideTab));e.watchEffect(()=>{if(r.value){const t=f.value.findIndex(a=>u.getRouterKeyPath(a)===r.value);t===-1?o.value=f.value?.length-1:o.value=t,o.value=o.value<s?.length?s?.length-1:o.value}}),w.isClient&&A.onBeforeRouteLeave(()=>{x.value=e.unref(i.currentRoute)}),u.listenerRouteChange(({route:t})=>{if(!t||t.meta?.hasTokenToRoot)return;const{meta:a={}}=t,{currentActivePath:n,hideTab:l}=a,B=l?n:null,m=u.getRouterKeyPath(t);if(r.value!==m&&(r.value=m),B){let v=i.getRoutes().find(V=>V.path===n);v&&c.addTab(v,e.unref(x),o.value,t)}else c.addTab(e.unref(t),e.unref(x),o.value)});function y(t){if(r.value===t.paneName)return;const a=f.value[t.attrs.index];r.value=t.paneName;const n=a?.meta?.hideActiveRoute?.fullPath;b(n||a.fullPath||a.path)}function C(t){c.closeTabByKey(t,i)}const{refs:R,setRefs:_}=K.useRefs();function S(t){const a=t.pane.attrs.index,n=t.event;R.value[a].handleContext(n)}const P=e.computed(()=>{let t={padding:"4px 0 0","border-bottom":"none","header-height":"26px","font-size":"13px","item-padding":"0 10px","close-icon-left":"8px","item-distance":"1px","item-max-width":"180px","scroll-padding":"0 20px","header-margin":"0 0 0 8px","item-border-radius":"5px 5px 0 0","item-border":"none"};return{...p.generateCssVars(t,"tabs"),...d.tabsStyle}}),{closeCurrent:k}=g.useTabs(),M={...p.generateCssVars({"sub-item-height":"40px","item-min-width":"150px"},"menu"),...d.contextMenuStyle};return e.onMounted(()=>{d.canDrag&&T.useTabsDrag(s),N("command+e, ctrl+e",function(){return k(),!1})}),(t,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(q).b()),style:e.normalizeStyle(P.value)},[e.createVNode(e.unref(h.VftTabs),{"show-bar":!1,"fix-tab-count":t.fixTabCount,"fix-extra-scroll-width":t.fixExtraScrollWidth,modelValue:r.value,"onUpdate:modelValue":a[0]||(a[0]=n=>r.value=n),onTabClick:y,onTabRemove:C,onTabContextMenu:S},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(n,l)=>(e.openBlock(),e.createBlock(e.unref(h.VftTabPane),{key:e.unref(u.getRouterKeyPath)(n)+l,closable:!n.meta?.affix,index:l,name:e.unref(u.getRouterKeyPath)(n)},{label:e.withCtx(()=>[e.createVNode(I.default,{"context-menu-style":M,"affix-num":e.unref(s)?.length,ref_for:!0,ref:e.unref(_)(l),"tab-item":n},null,8,["affix-num","tab-item"])]),_:2},1032,["closable","index","name"]))),128))]),_:1},8,["fix-tab-count","fix-extra-scroll-width","modelValue"])],6))}});exports.default=z;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),g=require("../tabs/index.cjs"),w=require("@vueuse/core");require("@vft/utils");const r=require("../../utils/helper.cjs"),p=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const $=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const i=require("@vft/router"),T=require("@vft/store"),E=require("@vft/use"),K=require("hotkeys-js"),N=require("vue-router"),A=require("./tab-content.vue2.cjs"),q=require("./use/use-multiple-tabs.cjs");require("../context-menu/context-menu.vue2.cjs");require("../icon/index.cjs");const I=e.defineComponent({name:"vft-multiple-tabs"}),L=e.defineComponent({...I,props:{tabsStyle:{},contextMenuStyle:{},canDrag:{type:Boolean},fixTabCount:{},fixExtraScrollWidth:{}},setup(b){const y=$.useNamespace("multiple-tabs"),l=e.getCurrentInstance().appContext.config.globalProperties.$router,c=q.initAffixTabs(l),d=T.useMultipleTabStore(),o=e.ref(""),u=e.ref(0),m=e.ref(),{go:h}=i.useRouterHelper(l),f=e.computed(()=>d.getTabList.filter(t=>!t.meta?.hideTab));e.watchEffect(()=>{if(o.value){const t=f.value.findIndex(a=>i.getRouterKeyPath(a)===o.value);t===-1?u.value=f.value?.length-1:u.value=t,u.value=u.value<c?.length?c?.length-1:u.value}}),w.isClient&&N.onBeforeRouteLeave(()=>{m.value=e.unref(l.currentRoute)}),i.listenerRouteChange(({route:t})=>{if(!t||t.meta?.hasTokenToRoot)return;const{meta:a={}}=t,{currentActivePath:n,hideTab:s}=a,B=s?n:null,v=i.getRouterKeyPath(t);if(o.value!==v&&(o.value=v),B){let x=l.getRoutes().find(V=>V.path===n);x&&d.addTab(x,e.unref(m),u.value,t)}else d.addTab(e.unref(t),e.unref(m),u.value)});function C(t){if(o.value===t.paneName)return;const a=f.value[t.attrs.index];o.value=t.paneName;const n=a?.meta?.hideActiveRoute?.fullPath;h(n||a.fullPath||a.path)}function R(t){d.closeTabByKey(t,l)}const{refs:_,setRefs:S}=E.useRefs();function P(t){const a=t.pane.attrs.index,n=t.event;_.value[a].handleContext(n)}const k=e.computed(()=>{let t={padding:"4px 0 0","border-bottom":"none","header-height":r.addUnit(26),"font-size":r.addUnit(13),"item-padding":`0 ${r.addUnit(10)}`,"close-icon-left":r.addUnit(8),"item-distance":"1px","item-max-width":r.addUnit(180),"scroll-padding":`0 ${r.addUnit(20)}`,"header-margin":`0 0 0 ${r.addUnit(10)}`,"item-border-radius":`${r.addUnit(5)} ${r.addUnit(5)} 0 0`,"item-border":"none"};return{...p.generateCssVars(t,"tabs"),...b.tabsStyle}}),{closeCurrent:U}=T.useTabs(),M={...p.generateCssVars({"sub-item-height":r.addUnit(40),"item-min-width":r.addUnit(150)},"menu"),...b.contextMenuStyle};return e.onMounted(()=>{b.canDrag&&q.useTabsDrag(c),K("command+e, ctrl+e",function(){return U(),!1})}),(t,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(y).b()),style:e.normalizeStyle(k.value)},[e.createVNode(e.unref(g.VftTabs),{"show-bar":!1,"fix-tab-count":t.fixTabCount,"fix-extra-scroll-width":t.fixExtraScrollWidth,modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=n=>o.value=n),onTabClick:C,onTabRemove:R,onTabContextMenu:P},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(n,s)=>(e.openBlock(),e.createBlock(e.unref(g.VftTabPane),{key:e.unref(i.getRouterKeyPath)(n)+s,closable:!n.meta?.affix,index:s,name:e.unref(i.getRouterKeyPath)(n)},{label:e.withCtx(()=>[e.createVNode(A.default,{"context-menu-style":M,"affix-num":e.unref(c)?.length,ref_for:!0,ref:e.unref(S)(s),"tab-item":n},null,8,["affix-num","tab-item"])]),_:2},1032,["closable","index","name"]))),128))]),_:1},8,["fix-tab-count","fix-extra-scroll-width","modelValue"])],6))}});exports.default=L;
@@ -7,14 +7,14 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
7
7
  type: import("vue").PropType<string | number>;
8
8
  default: number;
9
9
  };
10
- icon: {
11
- type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
12
- default: string;
13
- };
14
10
  teleported: {
15
11
  type: import("vue").PropType<boolean>;
16
12
  default: boolean;
17
13
  };
14
+ icon: {
15
+ type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
16
+ default: string;
17
+ };
18
18
  hideAfter: {
19
19
  type: import("vue").PropType<number>;
20
20
  default: number;
@@ -52,8 +52,8 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
52
52
  cancel: (val: MouseEvent) => void;
53
53
  }, import("vue").PublicProps, {
54
54
  width: string | number;
55
- icon: string | import("vft/es/vft").IconProps;
56
55
  teleported: boolean;
56
+ icon: string | import("vft/es/vft").IconProps;
57
57
  hideAfter: number;
58
58
  persistent: boolean;
59
59
  confirmButtonType: import("vft/es/vft").ButtonType;
@@ -74,14 +74,14 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
74
74
  type: import("vue").PropType<string | number>;
75
75
  default: number;
76
76
  };
77
- icon: {
78
- type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
79
- default: string;
80
- };
81
77
  teleported: {
82
78
  type: import("vue").PropType<boolean>;
83
79
  default: boolean;
84
80
  };
81
+ icon: {
82
+ type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
83
+ default: string;
84
+ };
85
85
  hideAfter: {
86
86
  type: import("vue").PropType<number>;
87
87
  default: number;
@@ -116,8 +116,8 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
116
116
  onConfirm?: ((val: MouseEvent) => any) | undefined;
117
117
  }>, {}, {}, {}, {}, {
118
118
  width: string | number;
119
- icon: string | import("vft/es/vft").IconProps;
120
119
  teleported: boolean;
120
+ icon: string | import("vft/es/vft").IconProps;
121
121
  hideAfter: number;
122
122
  persistent: boolean;
123
123
  confirmButtonType: import("vft/es/vft").ButtonType;
@@ -135,14 +135,14 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
135
135
  type: import("vue").PropType<string | number>;
136
136
  default: number;
137
137
  };
138
- icon: {
139
- type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
140
- default: string;
141
- };
142
138
  teleported: {
143
139
  type: import("vue").PropType<boolean>;
144
140
  default: boolean;
145
141
  };
142
+ icon: {
143
+ type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
144
+ default: string;
145
+ };
146
146
  hideAfter: {
147
147
  type: import("vue").PropType<number>;
148
148
  default: number;
@@ -180,8 +180,8 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
180
180
  cancel: (val: MouseEvent) => void;
181
181
  }, string, {
182
182
  width: string | number;
183
- icon: string | import("vft/es/vft").IconProps;
184
183
  teleported: boolean;
184
+ icon: string | import("vft/es/vft").IconProps;
185
185
  hideAfter: number;
186
186
  persistent: boolean;
187
187
  confirmButtonType: import("vft/es/vft").ButtonType;
@@ -43,8 +43,8 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
43
43
  onConfirm?: ((val: MouseEvent) => any) | undefined;
44
44
  }>, {
45
45
  width: string | number;
46
- icon: string | IconProps;
47
46
  teleported: boolean;
47
+ icon: string | IconProps;
48
48
  hideAfter: number;
49
49
  persistent: boolean;
50
50
  confirmButtonType: ButtonType;
@@ -69,9 +69,6 @@ export declare const VftPopover: import("vft/es/utils").SFCWithInstall<{
69
69
  triggerKeys: {
70
70
  type: import("vue").PropType<string[]>;
71
71
  };
72
- 'onUpdate:visible': {
73
- type: import("vue").PropType<Function>;
74
- };
75
72
  }>> & Readonly<{
76
73
  "onAfter-leave"?: ((...args: any[]) => any) | undefined;
77
74
  "onBefore-enter"?: ((...args: any[]) => any) | undefined;
@@ -164,9 +161,6 @@ export declare const VftPopover: import("vft/es/utils").SFCWithInstall<{
164
161
  triggerKeys: {
165
162
  type: import("vue").PropType<string[]>;
166
163
  };
167
- 'onUpdate:visible': {
168
- type: import("vue").PropType<Function>;
169
- };
170
164
  }>> & Readonly<{
171
165
  "onAfter-leave"?: ((...args: any[]) => any) | undefined;
172
166
  "onBefore-enter"?: ((...args: any[]) => any) | undefined;
@@ -250,9 +244,6 @@ export declare const VftPopover: import("vft/es/utils").SFCWithInstall<{
250
244
  triggerKeys: {
251
245
  type: import("vue").PropType<string[]>;
252
246
  };
253
- 'onUpdate:visible': {
254
- type: import("vue").PropType<Function>;
255
- };
256
247
  }>> & Readonly<{
257
248
  "onAfter-leave"?: ((...args: any[]) => any) | undefined;
258
249
  "onBefore-enter"?: ((...args: any[]) => any) | undefined;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),y=require("../tooltip/index.cjs"),l=require("../../constants/aria.cjs");require("@vueuse/core");require("@vft/utils");const w=require("../../utils/helper.cjs");require("lodash-es");require("../form/index.cjs");const C=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const E="onUpdate:visible",B=t.defineComponent({name:"vft-popover"}),q=t.defineComponent({...B,props:{trigger:{default:"hover"},placement:{default:"bottom"},disabled:{type:Boolean,default:!1},visible:{type:[Boolean,null],default:null},transition:{},popperOptions:{},tabindex:{default:0},content:{},popperStyle:{type:[Boolean,null,String,Object,Array]},popperClass:{},enterable:{type:Boolean,default:!0},effect:{default:"light"},teleported:{type:Boolean,default:!0},title:{},width:{default:150},offset:{},showAfter:{default:0},hideAfter:{default:200},autoClose:{default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},appendTo:{},triggerKeys:{default:()=>[l.EVENT_CODE.enter,l.EVENT_CODE.numpadEnter,l.EVENT_CODE.space]},"onUpdate:visible":{}},emits:["update:visible","before-enter","before-leave","after-enter","after-leave"],setup(r,{expose:i,emit:s}){const o=s,n=C.useNamespace("popover"),p=t.computed(()=>[E]),a=t.ref(),u=t.computed(()=>t.unref(a)?.popperRef),d=t.computed(()=>[{width:w.addUnit(r.width)},r.popperStyle]),f=t.computed(()=>[n.b(),r.popperClass,{[n.m("plain")]:!!r.content}]),c=t.computed(()=>r.transition===`${n.namespace.value}-fade-in-linear`),b=()=>{a.value?.hide()},v=()=>{o("before-enter")},m=()=>{o("before-leave")},g=()=>{o("after-enter")},h=()=>{o("update:visible",!1),o("after-leave")};return i({popperRef:u,hide:b}),(e,S)=>(t.openBlock(),t.createBlock(t.unref(y.VftTooltip),t.mergeProps({ref_key:"tooltipRef",ref:a},e.$attrs,{trigger:e.trigger,"trigger-keys":e.triggerKeys,placement:e.placement,disabled:e.disabled,visible:e.visible,transition:e.transition,"popper-options":e.popperOptions,tabindex:e.tabindex,content:e.content,offset:e.offset,"show-after":e.showAfter,"hide-after":e.hideAfter,"auto-close":e.autoClose,"show-arrow":e.showArrow,"aria-label":e.title,effect:e.effect,enterable:e.enterable,"popper-class":f.value,"popper-style":d.value,teleported:e.teleported,"append-to":e.appendTo,persistent:e.persistent,"gpu-acceleration":c.value,"onUpdate:visible":p.value,onBeforeShow:v,onBeforeHide:m,onShow:g,onHide:h}),{content:t.withCtx(()=>[e.title?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(t.unref(n).e("title")),role:"title"},t.toDisplayString(e.title),3)):t.createCommentVNode("",!0),t.renderSlot(e.$slots,"default",{},()=>[t.createTextVNode(t.toDisplayString(e.content),1)])]),default:t.withCtx(()=>[e.$slots.reference?t.renderSlot(e.$slots,"reference",{key:0}):t.createCommentVNode("",!0)]),_:3},16,["trigger","trigger-keys","placement","disabled","visible","transition","popper-options","tabindex","content","offset","show-after","hide-after","auto-close","show-arrow","aria-label","effect","enterable","popper-class","popper-style","teleported","append-to","persistent","gpu-acceleration","onUpdate:visible"]))}});exports.default=q;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),y=require("../tooltip/index.cjs"),l=require("../../constants/aria.cjs");require("@vueuse/core");require("@vft/utils");const w=require("../../utils/helper.cjs");require("lodash-es");require("../form/index.cjs");const C=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const E="onUpdate:visible",B=t.defineComponent({name:"vft-popover"}),q=t.defineComponent({...B,props:{trigger:{default:"hover"},placement:{default:"bottom"},disabled:{type:Boolean,default:!1},visible:{type:[Boolean,null],default:null},transition:{},popperOptions:{},tabindex:{default:0},content:{},popperStyle:{type:[Boolean,null,String,Object,Array]},popperClass:{},enterable:{type:Boolean,default:!0},effect:{default:"light"},teleported:{type:Boolean,default:!0},title:{},width:{default:150},offset:{},showAfter:{default:0},hideAfter:{default:200},autoClose:{default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},appendTo:{},triggerKeys:{default:()=>[l.EVENT_CODE.enter,l.EVENT_CODE.numpadEnter,l.EVENT_CODE.space]}},emits:["update:visible","before-enter","before-leave","after-enter","after-leave"],setup(r,{expose:i,emit:s}){const o=s,n=C.useNamespace("popover"),p=t.computed(()=>[E]),a=t.ref(),u=t.computed(()=>t.unref(a)?.popperRef),d=t.computed(()=>[{width:w.addUnit(r.width)},r.popperStyle]),f=t.computed(()=>[n.b(),r.popperClass,{[n.m("plain")]:!!r.content}]),c=t.computed(()=>r.transition===`${n.namespace.value}-fade-in-linear`),b=()=>{a.value?.hide()},v=()=>{o("before-enter")},m=()=>{o("before-leave")},g=()=>{o("after-enter")},h=()=>{o("update:visible",!1),o("after-leave")};return i({popperRef:u,hide:b}),(e,S)=>(t.openBlock(),t.createBlock(t.unref(y.VftTooltip),t.mergeProps({ref_key:"tooltipRef",ref:a},e.$attrs,{trigger:e.trigger,"trigger-keys":e.triggerKeys,placement:e.placement,disabled:e.disabled,visible:e.visible,transition:e.transition,"popper-options":e.popperOptions,tabindex:e.tabindex,content:e.content,offset:e.offset,"show-after":e.showAfter,"hide-after":e.hideAfter,"auto-close":e.autoClose,"show-arrow":e.showArrow,"aria-label":e.title,effect:e.effect,enterable:e.enterable,"popper-class":f.value,"popper-style":d.value,teleported:e.teleported,"append-to":e.appendTo,persistent:e.persistent,"gpu-acceleration":c.value,"onUpdate:visible":p.value,onBeforeShow:v,onBeforeHide:m,onShow:g,onHide:h}),{content:t.withCtx(()=>[e.title?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(t.unref(n).e("title")),role:"title"},t.toDisplayString(e.title),3)):t.createCommentVNode("",!0),t.renderSlot(e.$slots,"default",{},()=>[t.createTextVNode(t.toDisplayString(e.content),1)])]),default:t.withCtx(()=>[e.$slots.reference?t.renderSlot(e.$slots,"reference",{key:0}):t.createCommentVNode("",!0)]),_:3},16,["trigger","trigger-keys","placement","disabled","visible","transition","popper-options","tabindex","content","offset","show-after","hide-after","auto-close","show-arrow","aria-label","effect","enterable","popper-class","popper-style","teleported","append-to","persistent","gpu-acceleration","onUpdate:visible"]))}});exports.default=q;
@@ -3,28 +3,50 @@ import type { TooltipTriggerType } from 'vft/es/components/tooltip';
3
3
  import type { StyleValue } from 'vue';
4
4
  import type { ClassType } from '../types';
5
5
  export interface PopoverProps {
6
+ /** 触发方式 */
6
7
  trigger?: TooltipTriggerType;
8
+ /** 弹出位置 */
7
9
  placement?: Placement;
10
+ /** 是否禁用 */
8
11
  disabled?: boolean;
12
+ /** 是否可见 */
9
13
  visible?: boolean | null;
14
+ /** 过渡动画名称 */
10
15
  transition?: string;
16
+ /** Popper 配置选项 */
11
17
  popperOptions?: Partial<Options>;
18
+ /** 元素 tabindex 属性 */
12
19
  tabindex?: number;
20
+ /** 弹出层内容 */
13
21
  content?: string;
22
+ /** 弹出层样式 */
14
23
  popperStyle?: StyleValue;
24
+ /** 弹出层 CSS 类名 */
15
25
  popperClass?: ClassType;
26
+ /** 鼠标是否可以进入弹出层内容 */
16
27
  enterable?: boolean;
28
+ /** 主题效果 */
17
29
  effect?: 'light' | 'dark';
30
+ /** 是否传送到指定容器 */
18
31
  teleported?: boolean;
32
+ /** 弹出层标题 */
19
33
  title?: string;
34
+ /** 弹出层宽度 */
20
35
  width?: string | number;
36
+ /** 偏移量 */
21
37
  offset?: number;
38
+ /** 显示延时(毫秒) */
22
39
  showAfter?: number;
40
+ /** 隐藏延时(毫秒) */
23
41
  hideAfter?: number;
42
+ /** 自动关闭延时(毫秒) */
24
43
  autoClose?: number;
44
+ /** 是否显示箭头 */
25
45
  showArrow?: boolean;
46
+ /** 是否持久化显示 */
26
47
  persistent?: boolean;
48
+ /** 挂载到的元素 */
27
49
  appendTo?: HTMLElement | string;
50
+ /** 触发按键 */
28
51
  triggerKeys?: string[];
29
- 'onUpdate:visible'?: Function;
30
52
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("@vueuse/core");require("@vft/utils");const r=require("../../utils/helper.cjs"),m=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const D=require("../input/index.cjs"),K=require("../popover/index.cjs"),j=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const A=require("@vft/directives"),H=e.defineComponent({name:"vft-search"}),L=e.defineComponent({...H,props:{width:{default:200},activeWidth:{},usePopover:{type:Boolean,default:!1},popoverCfg:{},modelValue:{default:""},clearable:{type:Boolean,default:!0},placeholder:{default:"请输入你要搜索的内容"},suffixIcon:{default:()=>({icon:"icon-search",color:"#8B8C8C",pointer:!0})},prefixIcon:{},clearIcon:{}},emits:["update:modelValue","blur","focus","clear","enter","prefixClick","suffixClick","mouseenter","mouseleave","keydown","change","input","compositionstart","compositionupdate","compositionend"],setup(n,{expose:h,emit:C}){const a=j.useNamespace("search"),o=C,c=e.ref(),p=e.ref(),u=e.ref(),s=e.ref(!1),d=e.ref(!1),i=e.ref(!1),k=e.computed(()=>m.generateCssVars({width:n.activeWidth&&(i.value||n.modelValue)?r.addUnit(n.activeWidth):r.addUnit(n.width)},"input")),y=e.computed(()=>m.generateCssVars({"active-width":n.activeWidth?r.addUnit(n.activeWidth):r.addUnit(n.width)},"search")),V=e.computed(()=>({"show-arrow":!1,transition:"vft-zoom-in-top-fast",placement:"bottom-start","hide-after":100,offset:3,width:500,...n.popoverCfg})),w=t=>{o("update:modelValue",t),o("input",t)},g=()=>{f()};function q(){i.value=!0}function f(){i.value=!1}const x=()=>{o("clear"),l(!1)};function S(){d.value=!0,o("mouseenter",n.modelValue)}function b(){d.value=!1,o("mouseleave",n.modelValue)}const B=()=>{i.value=!0,s.value=!0,o("focus")};function P(){s.value=!1,o("blur")}function $(){l(),o("prefixClick",n.modelValue)}function R(){l(),o("suffixClick",n.modelValue)}function U(){l(),o("enter",n.modelValue)}function l(t=!0){n.usePopover&&f(),t&&u.value.blur()}const E=t=>{o("keydown",t)},M=e.computed(()=>c.value?.popperRef?.contentRef),I=t=>{o("update:modelValue",t)},W=t=>{o("change",t)},z=t=>{o("compositionstart",t)},F=t=>{o("compositionupdate",t)},N=t=>{o("compositionend",t)};return h({isFocus:s,isHover:d,visible:i,hidePopover:f,showPopover:q,inputRef:u}),(t,v)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.withDirectives((e.openBlock(),e.createElementBlock("div",{ref_key:"searchRef",ref:p,class:e.normalizeClass([e.unref(a).b(),e.unref(a).is("active",i.value||t.modelValue)]),style:e.normalizeStyle(y.value)},[e.createVNode(e.unref(D.VftInput),e.mergeProps({ref_key:"inputRef",ref:u},t.$props,{"input-style":k.value,onInput:w,onFocus:B,onEnter:U,onBlur:P,onMouseenter:S,"onUpdate:modelValue":I,onMouseleave:b,onPrefixClick:$,onSuffixClick:R,onChange:W,onKeydown:E,onClear:x,onCompositionstart:z,onCompositionupdate:F,onCompositionend:N}),e.createSlots({_:2},[t.$slots.prefix?{name:"prefix",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"prefix")]),key:"0"}:void 0,t.$slots.suffix?{name:"suffix",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"suffix")]),key:"1"}:void 0,t.$slots.prepend?{name:"prepend",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"prepend")]),key:"2"}:void 0,t.$slots.append?{name:"append",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"append")]),key:"3"}:void 0]),1040,["input-style"])],6)),[[e.unref(A.ClickOutside),g,M.value]]),t.usePopover?(e.openBlock(),e.createBlock(e.unref(K.VftPopover),e.mergeProps({key:0,ref_key:"popoverRef",ref:c},V.value,{"virtual-ref":p.value,visible:i.value,"onUpdate:visible":v[0]||(v[0]=O=>i.value=O),"virtual-triggering":""}),{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("content"))},[e.renderSlot(t.$slots,"default")],2)]),_:3},16,["virtual-ref","visible"])):e.createCommentVNode("",!0)],64))}});exports.default=L;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("@vueuse/core");require("@vft/utils");const r=require("../../utils/helper.cjs"),m=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const D=require("../input/index.cjs"),K=require("../popover/index.cjs"),j=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const A=require("@vft/directives"),H=e.defineComponent({name:"vft-search"}),L=e.defineComponent({...H,props:{width:{default:200},activeWidth:{},usePopover:{type:Boolean,default:!1},popoverCfg:{},modelValue:{default:""},clearable:{type:Boolean,default:!0},placeholder:{default:"请输入你要搜索的内容"},suffixIcon:{default:()=>({icon:"icon-search",color:"#8B8C8C",pointer:!0})},prefixIcon:{},clearIcon:{}},emits:["update:modelValue","blur","focus","clear","enter","prefixClick","suffixClick","mouseenter","mouseleave","keydown","change","input","compositionstart","compositionupdate","compositionend"],setup(n,{expose:h,emit:C}){const a=j.useNamespace("search"),o=C,f=e.ref(),p=e.ref(),u=e.ref(),s=e.ref(!1),d=e.ref(!1),i=e.ref(!1),k=e.computed(()=>m.generateCssVars({width:n.activeWidth&&(i.value||n.modelValue)?r.addUnit(n.activeWidth):r.addUnit(n.width)},"input")),y=e.computed(()=>m.generateCssVars({"active-width":n.activeWidth?r.addUnit(n.activeWidth):r.addUnit(n.width)},"search")),V=e.computed(()=>({"show-arrow":!1,transition:"vft-zoom-in-top",placement:"bottom-start",offset:3,width:500,...n.popoverCfg})),w=t=>{o("update:modelValue",t),o("input",t)},g=()=>{c()};function q(){i.value=!0}function c(){i.value=!1}const x=()=>{o("clear"),l(!1)};function S(){d.value=!0,o("mouseenter",n.modelValue)}function b(){d.value=!1,o("mouseleave",n.modelValue)}const B=()=>{i.value=!0,s.value=!0,o("focus")};function P(){s.value=!1,o("blur")}function $(){l(),o("prefixClick",n.modelValue)}function R(){l(),o("suffixClick",n.modelValue)}function U(){l(),o("enter",n.modelValue)}function l(t=!0){n.usePopover&&c(),t&&u.value.blur()}const E=t=>{o("keydown",t)},M=e.computed(()=>f.value?.popperRef?.contentRef),I=t=>{o("update:modelValue",t)},W=t=>{o("change",t)},z=t=>{o("compositionstart",t)},F=t=>{o("compositionupdate",t)},N=t=>{o("compositionend",t)};return h({isFocus:s,isHover:d,visible:i,hidePopover:c,showPopover:q,inputRef:u}),(t,v)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.withDirectives((e.openBlock(),e.createElementBlock("div",{ref_key:"searchRef",ref:p,class:e.normalizeClass([e.unref(a).b(),e.unref(a).is("active",!!i.value||!!t.modelValue)]),style:e.normalizeStyle(y.value)},[e.createVNode(e.unref(D.VftInput),e.mergeProps({ref_key:"inputRef",ref:u},t.$props,{"input-style":k.value,onInput:w,onFocus:B,onEnter:U,onBlur:P,onMouseenter:S,"onUpdate:modelValue":I,onMouseleave:b,onPrefixClick:$,onSuffixClick:R,onChange:W,onKeydown:E,onClear:x,onCompositionstart:z,onCompositionupdate:F,onCompositionend:N}),e.createSlots({_:2},[t.$slots.prefix?{name:"prefix",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"prefix")]),key:"0"}:void 0,t.$slots.suffix?{name:"suffix",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"suffix")]),key:"1"}:void 0,t.$slots.prepend?{name:"prepend",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"prepend")]),key:"2"}:void 0,t.$slots.append?{name:"append",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"append")]),key:"3"}:void 0]),1040,["input-style"])],6)),[[e.unref(A.ClickOutside),g,M.value]]),t.usePopover?(e.openBlock(),e.createBlock(e.unref(K.VftPopover),e.mergeProps({key:0,style:{"--vft-transition-duration":"3s"},ref_key:"popoverRef",ref:f},V.value,{"virtual-ref":p.value,visible:i.value,"onUpdate:visible":v[0]||(v[0]=O=>i.value=O),"virtual-triggering":""}),{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("content"))},[e.renderSlot(t.$slots,"default")],2)]),_:3},16,["virtual-ref","visible"])):e.createCommentVNode("",!0)],64))}});exports.default=L;