vft 0.0.415 → 0.0.417

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 (143) 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 +30 -30
  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/index.d.ts +9 -0
  13. package/es/components/dialog/constants.d.ts +1 -0
  14. package/es/components/dialog/constants.js +2 -1
  15. package/es/components/dialog/dialog-content.vue.d.ts +4 -1
  16. package/es/components/dialog/dialog-content.vue2.js +59 -48
  17. package/es/components/dialog/dialog.vue.d.ts +4 -19
  18. package/es/components/dialog/dialog.vue2.js +104 -89
  19. package/es/components/dialog/index.d.ts +70 -3
  20. package/es/components/dialog/index.js +5 -4
  21. package/es/components/dialog/types.d.ts +69 -0
  22. package/es/components/dialog/{hooks/use-dialog.d.ts → use-dialog.d.ts} +11 -2
  23. package/es/components/dialog/use-dialog.js +138 -0
  24. package/es/components/drawer/composables/useResizable.d.ts +7 -0
  25. package/es/components/drawer/composables/useResizable.js +53 -0
  26. package/es/components/drawer/drawer.vue.d.ts +3 -7
  27. package/es/components/drawer/drawer.vue2.js +122 -97
  28. package/es/components/drawer/index.d.ts +78 -0
  29. package/es/components/drawer/types.d.ts +13 -0
  30. package/es/components/drawer/types.js +1 -0
  31. package/es/components/dropdown/dropdown.vue.d.ts +1 -1
  32. package/es/components/dropdown/index.d.ts +15 -15
  33. package/es/components/form/index.d.ts +6 -6
  34. package/es/components/index.js +172 -171
  35. package/es/components/input/input.vue2.js +4 -4
  36. package/es/components/input-tag/composables/use-input-tag.js +1 -1
  37. package/es/components/input-tag/input-tag.vue.d.ts +1 -1
  38. package/es/components/link/index.d.ts +3 -3
  39. package/es/components/md-code-demo/md-code-demo.js +10 -10
  40. package/es/components/modal/index.d.ts +87 -24
  41. package/es/components/modal/modal.vue.d.ts +1 -1
  42. package/es/components/modal/modal.vue2.js +24 -17
  43. package/es/components/multiple-tabs/multiple-tabs.vue2.js +82 -79
  44. package/es/components/popover/index.d.ts +0 -9
  45. package/es/components/popover/popover.vue2.js +4 -5
  46. package/es/components/popover/types.d.ts +23 -1
  47. package/es/components/search/search.vue2.js +3 -3
  48. package/es/components/select/index.d.ts +20 -20
  49. package/es/components/select/select.vue.d.ts +20 -20
  50. package/es/components/select/useSelect.d.ts +17 -17
  51. package/es/components/super-form/super-form-item.vue2.js +1 -1
  52. package/es/components/table/index.d.ts +9 -9
  53. package/es/components/time-picker/time-picker-com/panel-time-pick.vue.d.ts +1 -1
  54. package/es/components/time-picker/time-picker-com/panel-time-range.vue.d.ts +1 -1
  55. package/es/components/timeline/index.d.ts +6 -6
  56. package/es/components/tooltip/index.d.ts +3 -3
  57. package/es/components/tooltip/tooltip.vue2.js +1 -1
  58. package/es/components/tooltip/types.d.ts +81 -1
  59. package/es/hooks/use-draggable/index.d.ts +5 -1
  60. package/es/hooks/use-draggable/index.js +39 -34
  61. package/es/hooks/use-z-index/index.js +3 -3
  62. package/es/index.js +2 -2
  63. package/es/package.json.d.ts +1 -1
  64. package/es/package.json.js +1 -1
  65. package/es/utils/helper.d.ts +1 -1
  66. package/es/utils/ns-cover.d.ts +1 -1
  67. package/es/utils/vue/vnode.js +1 -1
  68. package/lib/components/autocomplete/autocomplete.vue.d.ts +8 -8
  69. package/lib/components/autocomplete/index.d.ts +24 -24
  70. package/lib/components/button/button.vue.d.ts +1 -1
  71. package/lib/components/button/index.d.ts +30 -30
  72. package/lib/components/button/use-button.d.ts +1 -1
  73. package/lib/components/color-picker/composables/use-alpha-slider.d.ts +2 -2
  74. package/lib/components/config-provider/config-provider.vue.d.ts +2 -0
  75. package/lib/components/config-provider/config-provider.vue2.cjs +1 -1
  76. package/lib/components/config-provider/index.d.ts +9 -0
  77. package/lib/components/dialog/constants.cjs +1 -1
  78. package/lib/components/dialog/constants.d.ts +1 -0
  79. package/lib/components/dialog/dialog-content.vue.d.ts +4 -1
  80. package/lib/components/dialog/dialog-content.vue2.cjs +1 -1
  81. package/lib/components/dialog/dialog.vue.d.ts +4 -19
  82. package/lib/components/dialog/dialog.vue2.cjs +1 -1
  83. package/lib/components/dialog/index.cjs +1 -1
  84. package/lib/components/dialog/index.d.ts +70 -3
  85. package/lib/components/dialog/types.d.ts +69 -0
  86. package/lib/components/dialog/use-dialog.cjs +1 -0
  87. package/lib/components/dialog/{hooks/use-dialog.d.ts → use-dialog.d.ts} +11 -2
  88. package/lib/components/drawer/composables/useResizable.cjs +1 -0
  89. package/lib/components/drawer/composables/useResizable.d.ts +7 -0
  90. package/lib/components/drawer/drawer.vue.d.ts +3 -7
  91. package/lib/components/drawer/drawer.vue2.cjs +1 -1
  92. package/lib/components/drawer/index.d.ts +78 -0
  93. package/lib/components/drawer/types.cjs +1 -0
  94. package/lib/components/drawer/types.d.ts +13 -0
  95. package/lib/components/dropdown/dropdown.vue.d.ts +1 -1
  96. package/lib/components/dropdown/index.d.ts +15 -15
  97. package/lib/components/form/index.d.ts +6 -6
  98. package/lib/components/index.cjs +1 -1
  99. package/lib/components/input/input.vue2.cjs +1 -1
  100. package/lib/components/input-tag/input-tag.vue.d.ts +1 -1
  101. package/lib/components/link/index.d.ts +3 -3
  102. package/lib/components/md-code-demo/md-code-demo.cjs +1 -1
  103. package/lib/components/modal/index.d.ts +87 -24
  104. package/lib/components/modal/modal.vue.d.ts +1 -1
  105. package/lib/components/modal/modal.vue2.cjs +1 -1
  106. package/lib/components/multiple-tabs/multiple-tabs.vue2.cjs +1 -1
  107. package/lib/components/popover/index.d.ts +0 -9
  108. package/lib/components/popover/popover.vue2.cjs +1 -1
  109. package/lib/components/popover/types.d.ts +23 -1
  110. package/lib/components/search/search.vue2.cjs +1 -1
  111. package/lib/components/select/index.d.ts +20 -20
  112. package/lib/components/select/select.vue.d.ts +20 -20
  113. package/lib/components/select/useSelect.d.ts +17 -17
  114. package/lib/components/table/index.d.ts +9 -9
  115. package/lib/components/time-picker/time-picker-com/panel-time-pick.vue.d.ts +1 -1
  116. package/lib/components/time-picker/time-picker-com/panel-time-range.vue.d.ts +1 -1
  117. package/lib/components/timeline/index.d.ts +6 -6
  118. package/lib/components/tooltip/index.d.ts +3 -3
  119. package/lib/components/tooltip/tooltip.vue2.cjs +1 -1
  120. package/lib/components/tooltip/types.d.ts +81 -1
  121. package/lib/hooks/use-draggable/index.cjs +1 -1
  122. package/lib/hooks/use-draggable/index.d.ts +5 -1
  123. package/lib/index.cjs +1 -1
  124. package/lib/package.json.cjs +1 -1
  125. package/lib/package.json.d.ts +1 -1
  126. package/lib/utils/helper.d.ts +1 -1
  127. package/lib/utils/ns-cover.d.ts +1 -1
  128. package/package.json +3 -3
  129. package/tags.json +1 -1
  130. package/theme-style/index.css +1 -1
  131. package/theme-style/src/card.scss +4 -4
  132. package/theme-style/src/dialog.scss +36 -35
  133. package/theme-style/src/drawer.scss +109 -21
  134. package/theme-style/src/md-container.scss +1 -0
  135. package/theme-style/src/tag.scss +1 -1
  136. package/theme-style/vft-card.css +1 -1
  137. package/theme-style/vft-dialog.css +1 -1
  138. package/theme-style/vft-drawer.css +1 -1
  139. package/theme-style/vft-md-container.css +1 -1
  140. package/theme-style/vft-tag.css +1 -1
  141. package/web-types.json +1 -1
  142. package/es/components/dialog/hooks/use-dialog.js +0 -106
  143. 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;
@@ -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;
@@ -259,10 +259,10 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
259
259
  readonly placement?: import("@popperjs/core").Placement | undefined;
260
260
  readonly strategy?: "fixed" | "absolute" | undefined;
261
261
  readonly effect?: "light" | "dark" | undefined;
262
- readonly trigger?: import("vft/es/vft").TooltipTriggerType | undefined;
263
- readonly visible?: boolean | undefined;
262
+ readonly visible?: boolean | null | undefined;
264
263
  readonly teleported?: boolean | undefined;
265
264
  readonly open?: boolean | undefined;
265
+ readonly trigger?: import("vft/es/vft").TooltipTriggerType | undefined;
266
266
  readonly arrowOffset?: number | undefined;
267
267
  readonly gpuAcceleration?: boolean | undefined;
268
268
  readonly fallbackPlacements?: import("@popperjs/core").Placement[] | undefined;
@@ -381,7 +381,7 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
381
381
  type: import("vue").PropType<"light" | "dark">;
382
382
  };
383
383
  visible: {
384
- type: import("vue").PropType<boolean>;
384
+ type: import("vue").PropType<boolean | null>;
385
385
  };
386
386
  enterable: {
387
387
  type: import("vue").PropType<boolean>;
@@ -565,7 +565,7 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
565
565
  type: import("vue").PropType<"light" | "dark">;
566
566
  };
567
567
  visible: {
568
- type: import("vue").PropType<boolean>;
568
+ type: import("vue").PropType<boolean | null>;
569
569
  };
570
570
  enterable: {
571
571
  type: import("vue").PropType<boolean>;
@@ -677,10 +677,10 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
677
677
  readonly placement?: import("@popperjs/core").Placement | undefined;
678
678
  readonly strategy?: "fixed" | "absolute" | undefined;
679
679
  readonly effect?: "light" | "dark" | undefined;
680
- readonly trigger?: import("vft/es/vft").TooltipTriggerType | undefined;
681
- readonly visible?: boolean | undefined;
680
+ readonly visible?: boolean | null | undefined;
682
681
  readonly teleported?: boolean | undefined;
683
682
  readonly open?: boolean | undefined;
683
+ readonly trigger?: import("vft/es/vft").TooltipTriggerType | undefined;
684
684
  readonly arrowOffset?: number | undefined;
685
685
  readonly gpuAcceleration?: boolean | undefined;
686
686
  readonly fallbackPlacements?: import("@popperjs/core").Placement[] | undefined;
@@ -799,7 +799,7 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
799
799
  type: import("vue").PropType<"light" | "dark">;
800
800
  };
801
801
  visible: {
802
- type: import("vue").PropType<boolean>;
802
+ type: import("vue").PropType<boolean | null>;
803
803
  };
804
804
  enterable: {
805
805
  type: import("vue").PropType<boolean>;
@@ -983,7 +983,7 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
983
983
  type: import("vue").PropType<"light" | "dark">;
984
984
  };
985
985
  visible: {
986
- type: import("vue").PropType<boolean>;
986
+ type: import("vue").PropType<boolean | null>;
987
987
  };
988
988
  enterable: {
989
989
  type: import("vue").PropType<boolean>;
@@ -1096,10 +1096,10 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
1096
1096
  readonly placement?: import("@popperjs/core").Placement | undefined;
1097
1097
  readonly strategy?: "fixed" | "absolute" | undefined;
1098
1098
  readonly effect?: "light" | "dark" | undefined;
1099
- readonly trigger?: import("vft/es/vft").TooltipTriggerType | undefined;
1100
- readonly visible?: boolean | undefined;
1099
+ readonly visible?: boolean | null | undefined;
1101
1100
  readonly teleported?: boolean | undefined;
1102
1101
  readonly open?: boolean | undefined;
1102
+ readonly trigger?: import("vft/es/vft").TooltipTriggerType | undefined;
1103
1103
  readonly arrowOffset?: number | undefined;
1104
1104
  readonly gpuAcceleration?: boolean | undefined;
1105
1105
  readonly fallbackPlacements?: import("@popperjs/core").Placement[] | undefined;
@@ -1218,7 +1218,7 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
1218
1218
  type: import("vue").PropType<"light" | "dark">;
1219
1219
  };
1220
1220
  visible: {
1221
- type: import("vue").PropType<boolean>;
1221
+ type: import("vue").PropType<boolean | null>;
1222
1222
  };
1223
1223
  enterable: {
1224
1224
  type: import("vue").PropType<boolean>;
@@ -1402,7 +1402,7 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
1402
1402
  type: import("vue").PropType<"light" | "dark">;
1403
1403
  };
1404
1404
  visible: {
1405
- type: import("vue").PropType<boolean>;
1405
+ type: import("vue").PropType<boolean | null>;
1406
1406
  };
1407
1407
  enterable: {
1408
1408
  type: import("vue").PropType<boolean>;
@@ -1514,10 +1514,10 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
1514
1514
  readonly placement?: import("@popperjs/core").Placement | undefined;
1515
1515
  readonly strategy?: "fixed" | "absolute" | undefined;
1516
1516
  readonly effect?: "light" | "dark" | undefined;
1517
- readonly trigger?: import("vft/es/vft").TooltipTriggerType | undefined;
1518
- readonly visible?: boolean | undefined;
1517
+ readonly visible?: boolean | null | undefined;
1519
1518
  readonly teleported?: boolean | undefined;
1520
1519
  readonly open?: boolean | undefined;
1520
+ readonly trigger?: import("vft/es/vft").TooltipTriggerType | undefined;
1521
1521
  readonly arrowOffset?: number | undefined;
1522
1522
  readonly gpuAcceleration?: boolean | undefined;
1523
1523
  readonly fallbackPlacements?: import("@popperjs/core").Placement[] | undefined;
@@ -1636,7 +1636,7 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
1636
1636
  type: import("vue").PropType<"light" | "dark">;
1637
1637
  };
1638
1638
  visible: {
1639
- type: import("vue").PropType<boolean>;
1639
+ type: import("vue").PropType<boolean | null>;
1640
1640
  };
1641
1641
  enterable: {
1642
1642
  type: import("vue").PropType<boolean>;
@@ -1820,7 +1820,7 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
1820
1820
  type: import("vue").PropType<"light" | "dark">;
1821
1821
  };
1822
1822
  visible: {
1823
- type: import("vue").PropType<boolean>;
1823
+ type: import("vue").PropType<boolean | null>;
1824
1824
  };
1825
1825
  enterable: {
1826
1826
  type: import("vue").PropType<boolean>;
@@ -1916,7 +1916,7 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
1916
1916
  suffixRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
1917
1917
  collapseItemRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
1918
1918
  popperRef: import("vue").ComputedRef<any>;
1919
- validateState: import("vue").ComputedRef<"" | "error" | "validating" | "success">;
1919
+ validateState: import("vue").ComputedRef<"" | "error" | "success" | "validating">;
1920
1920
  validateIcon: string;
1921
1921
  showTagList: import("vue").ComputedRef<import("./select.types").Option[]>;
1922
1922
  collapseTagList: import("vue").ComputedRef<import("./select.types").Option[]>;
@@ -2304,7 +2304,7 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
2304
2304
  type: import("vue").PropType<"light" | "dark">;
2305
2305
  };
2306
2306
  visible: {
2307
- type: import("vue").PropType<boolean>;
2307
+ type: import("vue").PropType<boolean | null>;
2308
2308
  };
2309
2309
  enterable: {
2310
2310
  type: import("vue").PropType<boolean>;
@@ -2475,7 +2475,7 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
2475
2475
  type: import("vue").PropType<"light" | "dark">;
2476
2476
  };
2477
2477
  visible: {
2478
- type: import("vue").PropType<boolean>;
2478
+ type: import("vue").PropType<boolean | null>;
2479
2479
  };
2480
2480
  enterable: {
2481
2481
  type: import("vue").PropType<boolean>;
@@ -2636,7 +2636,7 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
2636
2636
  type: import("vue").PropType<"light" | "dark">;
2637
2637
  };
2638
2638
  visible: {
2639
- type: import("vue").PropType<boolean>;
2639
+ type: import("vue").PropType<boolean | null>;
2640
2640
  };
2641
2641
  enterable: {
2642
2642
  type: import("vue").PropType<boolean>;