x-next 0.0.0-alpha.48 → 0.0.0-alpha.49

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.
@@ -0,0 +1,8 @@
1
+ import { InjectionKey } from 'vue';
2
+ export interface TriggerContext {
3
+ onMouseenter: (ev: MouseEvent) => void;
4
+ onMouseleave: (ev: MouseEvent) => void;
5
+ addChildRef: (ref: any) => void;
6
+ removeChildRef: (ref: any) => void;
7
+ }
8
+ export declare const triggerInjectionKey: InjectionKey<TriggerContext>;
@@ -0,0 +1,562 @@
1
+ export declare const XTrigger: {
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
3
+ popupVisible: {
4
+ type: BooleanConstructor;
5
+ default: undefined;
6
+ };
7
+ defaultPopupVisible: {
8
+ type: BooleanConstructor;
9
+ default: boolean;
10
+ };
11
+ trigger: {
12
+ type: import('vue').PropType<import('../../_props/constant').TriggerEvent | import('../../_props/constant').TriggerEvent[]>;
13
+ default: string;
14
+ };
15
+ position: {
16
+ type: import('vue').PropType<import('../../_props/constant').TriggerPosition>;
17
+ default: string;
18
+ };
19
+ disabled: {
20
+ type: BooleanConstructor;
21
+ default: boolean;
22
+ };
23
+ popupOffset: {
24
+ type: NumberConstructor;
25
+ default: number;
26
+ };
27
+ popupTranslate: {
28
+ type: import('vue').PropType<import('./interface').TriggerPopupTranslate>;
29
+ };
30
+ showArrow: {
31
+ type: BooleanConstructor;
32
+ default: boolean;
33
+ };
34
+ alignPoint: {
35
+ type: BooleanConstructor;
36
+ default: boolean;
37
+ };
38
+ popupHoverStay: {
39
+ type: BooleanConstructor;
40
+ default: boolean;
41
+ };
42
+ blurToClose: {
43
+ type: BooleanConstructor;
44
+ default: boolean;
45
+ };
46
+ clickToClose: {
47
+ type: BooleanConstructor;
48
+ default: boolean;
49
+ };
50
+ clickOutsideToClose: {
51
+ type: BooleanConstructor;
52
+ default: boolean;
53
+ };
54
+ unmountOnClose: {
55
+ type: BooleanConstructor;
56
+ default: boolean;
57
+ };
58
+ contentClass: {
59
+ type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
60
+ };
61
+ contentStyle: {
62
+ type: import('vue').PropType<import('vue').CSSProperties>;
63
+ };
64
+ arrowClass: {
65
+ type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
66
+ };
67
+ arrowStyle: {
68
+ type: import('vue').PropType<import('vue').CSSProperties>;
69
+ };
70
+ popupStyle: {
71
+ type: import('vue').PropType<import('vue').CSSProperties>;
72
+ };
73
+ animationName: {
74
+ type: StringConstructor;
75
+ default: string;
76
+ };
77
+ duration: {
78
+ type: import('vue').PropType<number | {
79
+ enter: number;
80
+ leave: number;
81
+ }>;
82
+ };
83
+ mouseEnterDelay: {
84
+ type: NumberConstructor;
85
+ default: number;
86
+ };
87
+ mouseLeaveDelay: {
88
+ type: NumberConstructor;
89
+ default: number;
90
+ };
91
+ focusDelay: {
92
+ type: NumberConstructor;
93
+ default: number;
94
+ };
95
+ autoFitPopupWidth: {
96
+ type: BooleanConstructor;
97
+ default: boolean;
98
+ };
99
+ autoFitPopupMinWidth: {
100
+ type: BooleanConstructor;
101
+ default: boolean;
102
+ };
103
+ autoFixPosition: {
104
+ type: BooleanConstructor;
105
+ default: boolean;
106
+ };
107
+ popupContainer: {
108
+ type: import('vue').PropType<string | HTMLElement>;
109
+ };
110
+ updateAtScroll: {
111
+ type: BooleanConstructor;
112
+ default: boolean;
113
+ };
114
+ autoFitTransformOrigin: {
115
+ type: BooleanConstructor;
116
+ default: boolean;
117
+ };
118
+ hideEmpty: {
119
+ type: BooleanConstructor;
120
+ default: boolean;
121
+ };
122
+ openedClass: {
123
+ type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
124
+ };
125
+ autoFitPosition: {
126
+ type: BooleanConstructor;
127
+ default: boolean;
128
+ };
129
+ renderToBody: {
130
+ type: BooleanConstructor;
131
+ default: boolean;
132
+ };
133
+ preventFocus: {
134
+ type: BooleanConstructor;
135
+ default: boolean;
136
+ };
137
+ scrollToClose: {
138
+ type: BooleanConstructor;
139
+ default: boolean;
140
+ };
141
+ scrollToCloseDistance: {
142
+ type: NumberConstructor;
143
+ default: number;
144
+ };
145
+ }>> & Readonly<{
146
+ onResize?: (() => any) | undefined;
147
+ onHide?: (() => any) | undefined;
148
+ onShow?: (() => any) | undefined;
149
+ "onUpdate:popupVisible"?: ((visible: boolean) => any) | undefined;
150
+ onPopupVisibleChange?: ((visible: boolean) => any) | undefined;
151
+ }>, () => any, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
152
+ 'update:popupVisible': (visible: boolean) => true;
153
+ popupVisibleChange: (visible: boolean) => true;
154
+ show: () => true;
155
+ hide: () => true;
156
+ resize: () => true;
157
+ }, import('vue').PublicProps, {
158
+ disabled: boolean;
159
+ animationName: string;
160
+ position: "br" | "rt" | "tr" | "bottom" | "left" | "right" | "top" | "rb" | "tl" | "bl" | "lt" | "lb";
161
+ renderToBody: boolean;
162
+ popupVisible: boolean;
163
+ defaultPopupVisible: boolean;
164
+ trigger: "click" | "focus" | "hover" | "contextMenu" | ("click" | "focus" | "hover" | "contextMenu")[];
165
+ popupOffset: number;
166
+ showArrow: boolean;
167
+ alignPoint: boolean;
168
+ popupHoverStay: boolean;
169
+ blurToClose: boolean;
170
+ clickToClose: boolean;
171
+ clickOutsideToClose: boolean;
172
+ unmountOnClose: boolean;
173
+ mouseEnterDelay: number;
174
+ mouseLeaveDelay: number;
175
+ focusDelay: number;
176
+ autoFitPopupWidth: boolean;
177
+ autoFitPopupMinWidth: boolean;
178
+ autoFixPosition: boolean;
179
+ autoFitTransformOrigin: boolean;
180
+ autoFitPosition: boolean;
181
+ preventFocus: boolean;
182
+ updateAtScroll: boolean;
183
+ hideEmpty: boolean;
184
+ scrollToClose: boolean;
185
+ scrollToCloseDistance: number;
186
+ }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
187
+ P: {};
188
+ B: {};
189
+ D: {};
190
+ C: {};
191
+ M: {};
192
+ Defaults: {};
193
+ }, Readonly<import('vue').ExtractPropTypes<{
194
+ popupVisible: {
195
+ type: BooleanConstructor;
196
+ default: undefined;
197
+ };
198
+ defaultPopupVisible: {
199
+ type: BooleanConstructor;
200
+ default: boolean;
201
+ };
202
+ trigger: {
203
+ type: import('vue').PropType<import('../../_props/constant').TriggerEvent | import('../../_props/constant').TriggerEvent[]>;
204
+ default: string;
205
+ };
206
+ position: {
207
+ type: import('vue').PropType<import('../../_props/constant').TriggerPosition>;
208
+ default: string;
209
+ };
210
+ disabled: {
211
+ type: BooleanConstructor;
212
+ default: boolean;
213
+ };
214
+ popupOffset: {
215
+ type: NumberConstructor;
216
+ default: number;
217
+ };
218
+ popupTranslate: {
219
+ type: import('vue').PropType<import('./interface').TriggerPopupTranslate>;
220
+ };
221
+ showArrow: {
222
+ type: BooleanConstructor;
223
+ default: boolean;
224
+ };
225
+ alignPoint: {
226
+ type: BooleanConstructor;
227
+ default: boolean;
228
+ };
229
+ popupHoverStay: {
230
+ type: BooleanConstructor;
231
+ default: boolean;
232
+ };
233
+ blurToClose: {
234
+ type: BooleanConstructor;
235
+ default: boolean;
236
+ };
237
+ clickToClose: {
238
+ type: BooleanConstructor;
239
+ default: boolean;
240
+ };
241
+ clickOutsideToClose: {
242
+ type: BooleanConstructor;
243
+ default: boolean;
244
+ };
245
+ unmountOnClose: {
246
+ type: BooleanConstructor;
247
+ default: boolean;
248
+ };
249
+ contentClass: {
250
+ type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
251
+ };
252
+ contentStyle: {
253
+ type: import('vue').PropType<import('vue').CSSProperties>;
254
+ };
255
+ arrowClass: {
256
+ type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
257
+ };
258
+ arrowStyle: {
259
+ type: import('vue').PropType<import('vue').CSSProperties>;
260
+ };
261
+ popupStyle: {
262
+ type: import('vue').PropType<import('vue').CSSProperties>;
263
+ };
264
+ animationName: {
265
+ type: StringConstructor;
266
+ default: string;
267
+ };
268
+ duration: {
269
+ type: import('vue').PropType<number | {
270
+ enter: number;
271
+ leave: number;
272
+ }>;
273
+ };
274
+ mouseEnterDelay: {
275
+ type: NumberConstructor;
276
+ default: number;
277
+ };
278
+ mouseLeaveDelay: {
279
+ type: NumberConstructor;
280
+ default: number;
281
+ };
282
+ focusDelay: {
283
+ type: NumberConstructor;
284
+ default: number;
285
+ };
286
+ autoFitPopupWidth: {
287
+ type: BooleanConstructor;
288
+ default: boolean;
289
+ };
290
+ autoFitPopupMinWidth: {
291
+ type: BooleanConstructor;
292
+ default: boolean;
293
+ };
294
+ autoFixPosition: {
295
+ type: BooleanConstructor;
296
+ default: boolean;
297
+ };
298
+ popupContainer: {
299
+ type: import('vue').PropType<string | HTMLElement>;
300
+ };
301
+ updateAtScroll: {
302
+ type: BooleanConstructor;
303
+ default: boolean;
304
+ };
305
+ autoFitTransformOrigin: {
306
+ type: BooleanConstructor;
307
+ default: boolean;
308
+ };
309
+ hideEmpty: {
310
+ type: BooleanConstructor;
311
+ default: boolean;
312
+ };
313
+ openedClass: {
314
+ type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
315
+ };
316
+ autoFitPosition: {
317
+ type: BooleanConstructor;
318
+ default: boolean;
319
+ };
320
+ renderToBody: {
321
+ type: BooleanConstructor;
322
+ default: boolean;
323
+ };
324
+ preventFocus: {
325
+ type: BooleanConstructor;
326
+ default: boolean;
327
+ };
328
+ scrollToClose: {
329
+ type: BooleanConstructor;
330
+ default: boolean;
331
+ };
332
+ scrollToCloseDistance: {
333
+ type: NumberConstructor;
334
+ default: number;
335
+ };
336
+ }>> & Readonly<{
337
+ onResize?: (() => any) | undefined;
338
+ onHide?: (() => any) | undefined;
339
+ onShow?: (() => any) | undefined;
340
+ "onUpdate:popupVisible"?: ((visible: boolean) => any) | undefined;
341
+ onPopupVisibleChange?: ((visible: boolean) => any) | undefined;
342
+ }>, () => any, {}, {}, {}, {
343
+ disabled: boolean;
344
+ animationName: string;
345
+ position: "br" | "rt" | "tr" | "bottom" | "left" | "right" | "top" | "rb" | "tl" | "bl" | "lt" | "lb";
346
+ renderToBody: boolean;
347
+ popupVisible: boolean;
348
+ defaultPopupVisible: boolean;
349
+ trigger: "click" | "focus" | "hover" | "contextMenu" | ("click" | "focus" | "hover" | "contextMenu")[];
350
+ popupOffset: number;
351
+ showArrow: boolean;
352
+ alignPoint: boolean;
353
+ popupHoverStay: boolean;
354
+ blurToClose: boolean;
355
+ clickToClose: boolean;
356
+ clickOutsideToClose: boolean;
357
+ unmountOnClose: boolean;
358
+ mouseEnterDelay: number;
359
+ mouseLeaveDelay: number;
360
+ focusDelay: number;
361
+ autoFitPopupWidth: boolean;
362
+ autoFitPopupMinWidth: boolean;
363
+ autoFixPosition: boolean;
364
+ autoFitTransformOrigin: boolean;
365
+ autoFitPosition: boolean;
366
+ preventFocus: boolean;
367
+ updateAtScroll: boolean;
368
+ hideEmpty: boolean;
369
+ scrollToClose: boolean;
370
+ scrollToCloseDistance: number;
371
+ }>;
372
+ __isFragment?: never;
373
+ __isTeleport?: never;
374
+ __isSuspense?: never;
375
+ } & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
376
+ popupVisible: {
377
+ type: BooleanConstructor;
378
+ default: undefined;
379
+ };
380
+ defaultPopupVisible: {
381
+ type: BooleanConstructor;
382
+ default: boolean;
383
+ };
384
+ trigger: {
385
+ type: import('vue').PropType<import('../../_props/constant').TriggerEvent | import('../../_props/constant').TriggerEvent[]>;
386
+ default: string;
387
+ };
388
+ position: {
389
+ type: import('vue').PropType<import('../../_props/constant').TriggerPosition>;
390
+ default: string;
391
+ };
392
+ disabled: {
393
+ type: BooleanConstructor;
394
+ default: boolean;
395
+ };
396
+ popupOffset: {
397
+ type: NumberConstructor;
398
+ default: number;
399
+ };
400
+ popupTranslate: {
401
+ type: import('vue').PropType<import('./interface').TriggerPopupTranslate>;
402
+ };
403
+ showArrow: {
404
+ type: BooleanConstructor;
405
+ default: boolean;
406
+ };
407
+ alignPoint: {
408
+ type: BooleanConstructor;
409
+ default: boolean;
410
+ };
411
+ popupHoverStay: {
412
+ type: BooleanConstructor;
413
+ default: boolean;
414
+ };
415
+ blurToClose: {
416
+ type: BooleanConstructor;
417
+ default: boolean;
418
+ };
419
+ clickToClose: {
420
+ type: BooleanConstructor;
421
+ default: boolean;
422
+ };
423
+ clickOutsideToClose: {
424
+ type: BooleanConstructor;
425
+ default: boolean;
426
+ };
427
+ unmountOnClose: {
428
+ type: BooleanConstructor;
429
+ default: boolean;
430
+ };
431
+ contentClass: {
432
+ type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
433
+ };
434
+ contentStyle: {
435
+ type: import('vue').PropType<import('vue').CSSProperties>;
436
+ };
437
+ arrowClass: {
438
+ type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
439
+ };
440
+ arrowStyle: {
441
+ type: import('vue').PropType<import('vue').CSSProperties>;
442
+ };
443
+ popupStyle: {
444
+ type: import('vue').PropType<import('vue').CSSProperties>;
445
+ };
446
+ animationName: {
447
+ type: StringConstructor;
448
+ default: string;
449
+ };
450
+ duration: {
451
+ type: import('vue').PropType<number | {
452
+ enter: number;
453
+ leave: number;
454
+ }>;
455
+ };
456
+ mouseEnterDelay: {
457
+ type: NumberConstructor;
458
+ default: number;
459
+ };
460
+ mouseLeaveDelay: {
461
+ type: NumberConstructor;
462
+ default: number;
463
+ };
464
+ focusDelay: {
465
+ type: NumberConstructor;
466
+ default: number;
467
+ };
468
+ autoFitPopupWidth: {
469
+ type: BooleanConstructor;
470
+ default: boolean;
471
+ };
472
+ autoFitPopupMinWidth: {
473
+ type: BooleanConstructor;
474
+ default: boolean;
475
+ };
476
+ autoFixPosition: {
477
+ type: BooleanConstructor;
478
+ default: boolean;
479
+ };
480
+ popupContainer: {
481
+ type: import('vue').PropType<string | HTMLElement>;
482
+ };
483
+ updateAtScroll: {
484
+ type: BooleanConstructor;
485
+ default: boolean;
486
+ };
487
+ autoFitTransformOrigin: {
488
+ type: BooleanConstructor;
489
+ default: boolean;
490
+ };
491
+ hideEmpty: {
492
+ type: BooleanConstructor;
493
+ default: boolean;
494
+ };
495
+ openedClass: {
496
+ type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
497
+ };
498
+ autoFitPosition: {
499
+ type: BooleanConstructor;
500
+ default: boolean;
501
+ };
502
+ renderToBody: {
503
+ type: BooleanConstructor;
504
+ default: boolean;
505
+ };
506
+ preventFocus: {
507
+ type: BooleanConstructor;
508
+ default: boolean;
509
+ };
510
+ scrollToClose: {
511
+ type: BooleanConstructor;
512
+ default: boolean;
513
+ };
514
+ scrollToCloseDistance: {
515
+ type: NumberConstructor;
516
+ default: number;
517
+ };
518
+ }>> & Readonly<{
519
+ onResize?: (() => any) | undefined;
520
+ onHide?: (() => any) | undefined;
521
+ onShow?: (() => any) | undefined;
522
+ "onUpdate:popupVisible"?: ((visible: boolean) => any) | undefined;
523
+ onPopupVisibleChange?: ((visible: boolean) => any) | undefined;
524
+ }>, () => any, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
525
+ 'update:popupVisible': (visible: boolean) => true;
526
+ popupVisibleChange: (visible: boolean) => true;
527
+ show: () => true;
528
+ hide: () => true;
529
+ resize: () => true;
530
+ }, string, {
531
+ disabled: boolean;
532
+ animationName: string;
533
+ position: "br" | "rt" | "tr" | "bottom" | "left" | "right" | "top" | "rb" | "tl" | "bl" | "lt" | "lb";
534
+ renderToBody: boolean;
535
+ popupVisible: boolean;
536
+ defaultPopupVisible: boolean;
537
+ trigger: "click" | "focus" | "hover" | "contextMenu" | ("click" | "focus" | "hover" | "contextMenu")[];
538
+ popupOffset: number;
539
+ showArrow: boolean;
540
+ alignPoint: boolean;
541
+ popupHoverStay: boolean;
542
+ blurToClose: boolean;
543
+ clickToClose: boolean;
544
+ clickOutsideToClose: boolean;
545
+ unmountOnClose: boolean;
546
+ mouseEnterDelay: number;
547
+ mouseLeaveDelay: number;
548
+ focusDelay: number;
549
+ autoFitPopupWidth: boolean;
550
+ autoFitPopupMinWidth: boolean;
551
+ autoFixPosition: boolean;
552
+ autoFitTransformOrigin: boolean;
553
+ autoFitPosition: boolean;
554
+ preventFocus: boolean;
555
+ updateAtScroll: boolean;
556
+ hideEmpty: boolean;
557
+ scrollToClose: boolean;
558
+ scrollToCloseDistance: number;
559
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
560
+ install(app: import('vue').App): void;
561
+ };
562
+ export { XTrigger as default };
@@ -0,0 +1,40 @@
1
+ import { CSSProperties } from 'vue';
2
+ import { TriggerEvent, TriggerPosition } from '../../_props/constant';
3
+ export type TriggerPopupTranslate = [number, number] | {
4
+ [key in TriggerPosition]?: [number, number];
5
+ };
6
+ export interface TriggerProps {
7
+ popupVisible?: boolean;
8
+ defaultPopupVisible?: boolean;
9
+ trigger?: TriggerEvent;
10
+ position?: TriggerPosition;
11
+ disabled?: boolean;
12
+ popupOffset?: number;
13
+ popupTranslate?: TriggerPopupTranslate;
14
+ showArrow?: boolean;
15
+ alignPoint?: boolean;
16
+ popupHoverStay?: boolean;
17
+ blurToClose?: boolean;
18
+ clickToClose?: boolean;
19
+ clickOutsideToClose?: boolean;
20
+ unmountOnClose?: boolean;
21
+ contentClass?: any;
22
+ contentStyle?: CSSProperties;
23
+ arrowClass?: any;
24
+ arrowStyle?: CSSProperties;
25
+ popupStyle?: CSSProperties;
26
+ animationName?: string;
27
+ duration?: number | {
28
+ enter: number;
29
+ leave: number;
30
+ };
31
+ mouseEnterDelay?: number;
32
+ mouseLeaveDelay?: number;
33
+ focusDelay?: number;
34
+ autoFitPopupWidth?: boolean;
35
+ autoFitPopupMinWidth?: boolean;
36
+ autoFixPosition?: boolean;
37
+ popupContainer?: string | HTMLElement;
38
+ updateAtScroll?: boolean;
39
+ autoFitPosition?: boolean;
40
+ }