directix 1.1.0 → 1.3.0
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.
- package/README.md +379 -37
- package/dist/index.cjs +5081 -1790
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1162 -15
- package/dist/index.iife.js +5081 -1790
- package/dist/index.iife.js.map +1 -1
- package/dist/index.iife.min.js +2 -2
- package/dist/index.mjs +5082 -1791
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -13,6 +13,73 @@ export declare function addCleanupVue2(el: Element, fn: () => void): void;
|
|
|
13
13
|
*/
|
|
14
14
|
export declare function addCleanupVue3(el: Element, fn: () => void): void;
|
|
15
15
|
|
|
16
|
+
/**
|
|
17
|
+
* Directive binding value type
|
|
18
|
+
*/
|
|
19
|
+
export declare type CapitalcaseBinding = boolean | CapitalcaseOptions;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Capitalcase directive options
|
|
23
|
+
*/
|
|
24
|
+
export declare interface CapitalcaseOptions {
|
|
25
|
+
/**
|
|
26
|
+
* Whether to capitalize each word or just the first word
|
|
27
|
+
* @default true
|
|
28
|
+
*/
|
|
29
|
+
every?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Words to keep lowercase (articles, prepositions, etc.)
|
|
32
|
+
* @default ['a', 'an', 'the', 'and', 'but', 'or', 'for', 'nor', 'on', 'at', 'to', 'from', 'by']
|
|
33
|
+
*/
|
|
34
|
+
keepLower?: string[];
|
|
35
|
+
/**
|
|
36
|
+
* Whether to transform on input (for input elements)
|
|
37
|
+
* @default true
|
|
38
|
+
*/
|
|
39
|
+
onInput?: boolean;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Directive binding value type
|
|
44
|
+
*/
|
|
45
|
+
export declare type ClickDelayBinding = ClickDelayHandler | ClickDelayOptions;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Click delay handler
|
|
49
|
+
*/
|
|
50
|
+
export declare type ClickDelayHandler = (event: MouseEvent | TouchEvent) => void;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Click delay directive options
|
|
54
|
+
*/
|
|
55
|
+
export declare interface ClickDelayOptions {
|
|
56
|
+
/**
|
|
57
|
+
* Click handler
|
|
58
|
+
* @required
|
|
59
|
+
*/
|
|
60
|
+
handler: ClickDelayHandler;
|
|
61
|
+
/**
|
|
62
|
+
* Delay time in milliseconds
|
|
63
|
+
* @default 300
|
|
64
|
+
*/
|
|
65
|
+
delay?: number;
|
|
66
|
+
/**
|
|
67
|
+
* Whether to disable
|
|
68
|
+
* @default false
|
|
69
|
+
*/
|
|
70
|
+
disabled?: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* CSS class to add during delay
|
|
73
|
+
* @default 'v-click-delay--pending'
|
|
74
|
+
*/
|
|
75
|
+
pendingClass?: string;
|
|
76
|
+
/**
|
|
77
|
+
* Whether to show visual feedback
|
|
78
|
+
* @default true
|
|
79
|
+
*/
|
|
80
|
+
feedback?: boolean;
|
|
81
|
+
}
|
|
82
|
+
|
|
16
83
|
/**
|
|
17
84
|
* Directive binding value type
|
|
18
85
|
*/
|
|
@@ -111,6 +178,91 @@ export declare interface CopyOptions {
|
|
|
111
178
|
*/
|
|
112
179
|
export declare type CopySuccessCallback = (text: string) => void;
|
|
113
180
|
|
|
181
|
+
/**
|
|
182
|
+
* Directive binding value type
|
|
183
|
+
*/
|
|
184
|
+
export declare type CountdownBinding = CountdownOptions | Date | number | string;
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Countdown complete callback
|
|
188
|
+
*/
|
|
189
|
+
export declare type CountdownCompleteCallback = () => void;
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Countdown format function
|
|
193
|
+
*/
|
|
194
|
+
export declare type CountdownFormatFunction = (time: CountdownTime) => string;
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Countdown directive options
|
|
198
|
+
*/
|
|
199
|
+
export declare interface CountdownOptions {
|
|
200
|
+
/**
|
|
201
|
+
* Target time (Date object, timestamp, or ISO string)
|
|
202
|
+
* @required
|
|
203
|
+
*/
|
|
204
|
+
target: Date | number | string;
|
|
205
|
+
/**
|
|
206
|
+
* Format string or custom format function
|
|
207
|
+
* - 'dd:hh:mm:ss' - Days:Hours:Minutes:Seconds
|
|
208
|
+
* - 'hh:mm:ss' - Hours:Minutes:Seconds
|
|
209
|
+
* - 'mm:ss' - Minutes:Seconds
|
|
210
|
+
* - 'ss' - Seconds only
|
|
211
|
+
* @default 'hh:mm:ss'
|
|
212
|
+
*/
|
|
213
|
+
format?: string | CountdownFormatFunction;
|
|
214
|
+
/**
|
|
215
|
+
* Callback when countdown completes
|
|
216
|
+
*/
|
|
217
|
+
onComplete?: CountdownCompleteCallback;
|
|
218
|
+
/**
|
|
219
|
+
* Callback on each tick
|
|
220
|
+
*/
|
|
221
|
+
onTick?: CountdownTickCallback;
|
|
222
|
+
/**
|
|
223
|
+
* Update interval in milliseconds
|
|
224
|
+
* @default 1000
|
|
225
|
+
*/
|
|
226
|
+
interval?: number;
|
|
227
|
+
/**
|
|
228
|
+
* Whether to show milliseconds
|
|
229
|
+
* @default false
|
|
230
|
+
*/
|
|
231
|
+
showMilliseconds?: boolean;
|
|
232
|
+
/**
|
|
233
|
+
* Whether to auto-start
|
|
234
|
+
* @default true
|
|
235
|
+
*/
|
|
236
|
+
autoStart?: boolean;
|
|
237
|
+
/**
|
|
238
|
+
* Custom labels for i18n
|
|
239
|
+
*/
|
|
240
|
+
labels?: {
|
|
241
|
+
days?: string;
|
|
242
|
+
hours?: string;
|
|
243
|
+
minutes?: string;
|
|
244
|
+
seconds?: string;
|
|
245
|
+
milliseconds?: string;
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* Countdown tick callback
|
|
251
|
+
*/
|
|
252
|
+
export declare type CountdownTickCallback = (time: CountdownTime) => void;
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Countdown time object
|
|
256
|
+
*/
|
|
257
|
+
export declare interface CountdownTime {
|
|
258
|
+
days: number;
|
|
259
|
+
hours: number;
|
|
260
|
+
minutes: number;
|
|
261
|
+
seconds: number;
|
|
262
|
+
milliseconds: number;
|
|
263
|
+
total: number;
|
|
264
|
+
}
|
|
265
|
+
|
|
114
266
|
/**
|
|
115
267
|
* Vue 2 directive adapter
|
|
116
268
|
* @returns Vue 2 directive object with bind/inserted/update/unbind hooks
|
|
@@ -280,6 +432,104 @@ export declare interface DirectiveInstallOptions {
|
|
|
280
432
|
*/
|
|
281
433
|
export declare const Directix: Plugin_2;
|
|
282
434
|
|
|
435
|
+
/**
|
|
436
|
+
* Draggable axis
|
|
437
|
+
*/
|
|
438
|
+
export declare type DraggableAxis = 'x' | 'y' | 'both';
|
|
439
|
+
|
|
440
|
+
/**
|
|
441
|
+
* Directive binding value type
|
|
442
|
+
*/
|
|
443
|
+
export declare type DraggableBinding = boolean | DraggableOptions;
|
|
444
|
+
|
|
445
|
+
/**
|
|
446
|
+
* Draggable directive options
|
|
447
|
+
*/
|
|
448
|
+
export declare interface DraggableOptions {
|
|
449
|
+
/**
|
|
450
|
+
* Drag axis
|
|
451
|
+
* @default 'both'
|
|
452
|
+
*/
|
|
453
|
+
axis?: DraggableAxis;
|
|
454
|
+
/**
|
|
455
|
+
* Constrain to parent element
|
|
456
|
+
* @default false
|
|
457
|
+
*/
|
|
458
|
+
constrain?: boolean;
|
|
459
|
+
/**
|
|
460
|
+
* Boundary element selector or element
|
|
461
|
+
*/
|
|
462
|
+
boundary?: string | HTMLElement | (() => HTMLElement | null);
|
|
463
|
+
/**
|
|
464
|
+
* Handle element selector
|
|
465
|
+
*/
|
|
466
|
+
handle?: string;
|
|
467
|
+
/**
|
|
468
|
+
* Whether dragging is disabled
|
|
469
|
+
* @default false
|
|
470
|
+
*/
|
|
471
|
+
disabled?: boolean;
|
|
472
|
+
/**
|
|
473
|
+
* Grid snapping [x, y]
|
|
474
|
+
*/
|
|
475
|
+
grid?: [number, number];
|
|
476
|
+
/**
|
|
477
|
+
* Start drag callback
|
|
478
|
+
*/
|
|
479
|
+
onStart?: (position: {
|
|
480
|
+
x: number;
|
|
481
|
+
y: number;
|
|
482
|
+
}, event: MouseEvent | TouchEvent) => void;
|
|
483
|
+
/**
|
|
484
|
+
* Drag callback
|
|
485
|
+
*/
|
|
486
|
+
onDrag?: (position: {
|
|
487
|
+
x: number;
|
|
488
|
+
y: number;
|
|
489
|
+
}, event: MouseEvent | TouchEvent) => void;
|
|
490
|
+
/**
|
|
491
|
+
* End drag callback
|
|
492
|
+
*/
|
|
493
|
+
onEnd?: (position: {
|
|
494
|
+
x: number;
|
|
495
|
+
y: number;
|
|
496
|
+
}, event: MouseEvent | TouchEvent) => void;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
/**
|
|
500
|
+
* Directive binding value type
|
|
501
|
+
*/
|
|
502
|
+
export declare type EllipsisBinding = number | EllipsisOptions;
|
|
503
|
+
|
|
504
|
+
/**
|
|
505
|
+
* Ellipsis directive options
|
|
506
|
+
*/
|
|
507
|
+
export declare interface EllipsisOptions {
|
|
508
|
+
/**
|
|
509
|
+
* Number of lines to show before truncating
|
|
510
|
+
* @default 1
|
|
511
|
+
*/
|
|
512
|
+
lines?: number;
|
|
513
|
+
/**
|
|
514
|
+
* Custom ellipsis string
|
|
515
|
+
* @default '...'
|
|
516
|
+
*/
|
|
517
|
+
ellipsis?: string;
|
|
518
|
+
/**
|
|
519
|
+
* Whether to expand on click
|
|
520
|
+
* @default false
|
|
521
|
+
*/
|
|
522
|
+
expandable?: boolean;
|
|
523
|
+
/**
|
|
524
|
+
* Title attribute behavior
|
|
525
|
+
* - 'auto': Show full text as title only when truncated
|
|
526
|
+
* - 'always': Always show full text as title
|
|
527
|
+
* - 'none': Don't show title
|
|
528
|
+
* @default 'auto'
|
|
529
|
+
*/
|
|
530
|
+
titleBehavior?: 'auto' | 'always' | 'none';
|
|
531
|
+
}
|
|
532
|
+
|
|
283
533
|
/**
|
|
284
534
|
* Directive binding value type
|
|
285
535
|
*/
|
|
@@ -330,6 +580,20 @@ export declare function getPermissionConfig(): PermissionConfig | null;
|
|
|
330
580
|
*/
|
|
331
581
|
export declare function getVueVersion(): VueVersion;
|
|
332
582
|
|
|
583
|
+
export declare type HotkeyBinding = HotkeyHandler | HotkeyDefinition | HotkeyDefinition[] | Record<string, HotkeyHandler | HotkeyDefinition>;
|
|
584
|
+
|
|
585
|
+
export declare interface HotkeyDefinition {
|
|
586
|
+
key: string;
|
|
587
|
+
modifiers?: ModifierKey[];
|
|
588
|
+
handler: HotkeyHandler;
|
|
589
|
+
prevent?: boolean;
|
|
590
|
+
stop?: boolean;
|
|
591
|
+
disabled?: boolean;
|
|
592
|
+
global?: boolean;
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
export declare type HotkeyHandler = (event: KeyboardEvent) => void;
|
|
596
|
+
|
|
333
597
|
/**
|
|
334
598
|
* Directive binding value type
|
|
335
599
|
*/
|
|
@@ -378,6 +642,48 @@ export declare interface HoverOptions {
|
|
|
378
642
|
leaveDelay?: number;
|
|
379
643
|
}
|
|
380
644
|
|
|
645
|
+
export declare type ImagePreviewBinding = string | ImagePreviewOptions;
|
|
646
|
+
|
|
647
|
+
/**
|
|
648
|
+
* Image preview options
|
|
649
|
+
*/
|
|
650
|
+
export declare interface ImagePreviewOptions {
|
|
651
|
+
/** Image source URL */
|
|
652
|
+
src?: string;
|
|
653
|
+
/** Preview image source URL (higher resolution) */
|
|
654
|
+
previewSrc?: string;
|
|
655
|
+
/** Alt text for accessibility */
|
|
656
|
+
alt?: string;
|
|
657
|
+
/** Whether preview is disabled @default false */
|
|
658
|
+
disabled?: boolean;
|
|
659
|
+
/** Close on click outside @default true */
|
|
660
|
+
closeOnClickOutside?: boolean;
|
|
661
|
+
/** Close on escape key @default true */
|
|
662
|
+
closeOnEsc?: boolean;
|
|
663
|
+
/** Show close button @default true */
|
|
664
|
+
showCloseButton?: boolean;
|
|
665
|
+
/** Z-index of the preview overlay @default 9999 */
|
|
666
|
+
zIndex?: number;
|
|
667
|
+
/** Custom class for the preview overlay */
|
|
668
|
+
class?: string;
|
|
669
|
+
/** Enable pinch zoom on mobile @default true */
|
|
670
|
+
enablePinchZoom?: boolean;
|
|
671
|
+
/** Enable double tap to zoom @default true */
|
|
672
|
+
enableDoubleTap?: boolean;
|
|
673
|
+
/** Enable swipe up to close @default true */
|
|
674
|
+
enableSwipeClose?: boolean;
|
|
675
|
+
/** Show zoom indicator @default true */
|
|
676
|
+
showZoomIndicator?: boolean;
|
|
677
|
+
/** Minimum zoom scale @default 0.5 */
|
|
678
|
+
minScale?: number;
|
|
679
|
+
/** Maximum zoom scale @default 5 */
|
|
680
|
+
maxScale?: number;
|
|
681
|
+
/** Callback when preview opens */
|
|
682
|
+
onOpen?: () => void;
|
|
683
|
+
/** Callback when preview closes */
|
|
684
|
+
onClose?: () => void;
|
|
685
|
+
}
|
|
686
|
+
|
|
381
687
|
/**
|
|
382
688
|
* Directive binding value type
|
|
383
689
|
*/
|
|
@@ -539,6 +845,11 @@ export declare function isVue27(): boolean;
|
|
|
539
845
|
*/
|
|
540
846
|
export declare function isVue3(): boolean;
|
|
541
847
|
|
|
848
|
+
/**
|
|
849
|
+
* Virtual list item size function
|
|
850
|
+
*/
|
|
851
|
+
export declare type ItemSizeFunction = (index: number) => number;
|
|
852
|
+
|
|
542
853
|
/**
|
|
543
854
|
* Directive binding value type
|
|
544
855
|
*/
|
|
@@ -715,6 +1026,27 @@ export declare interface LongPressOptions {
|
|
|
715
1026
|
stop?: boolean;
|
|
716
1027
|
}
|
|
717
1028
|
|
|
1029
|
+
/**
|
|
1030
|
+
* Directive binding value type
|
|
1031
|
+
*/
|
|
1032
|
+
export declare type LowercaseBinding = boolean | LowercaseOptions;
|
|
1033
|
+
|
|
1034
|
+
/**
|
|
1035
|
+
* Lowercase directive options
|
|
1036
|
+
*/
|
|
1037
|
+
export declare interface LowercaseOptions {
|
|
1038
|
+
/**
|
|
1039
|
+
* Transform only the first character
|
|
1040
|
+
* @default false
|
|
1041
|
+
*/
|
|
1042
|
+
first?: boolean;
|
|
1043
|
+
/**
|
|
1044
|
+
* Transform on input event (for input elements)
|
|
1045
|
+
* @default true
|
|
1046
|
+
*/
|
|
1047
|
+
onInput?: boolean;
|
|
1048
|
+
}
|
|
1049
|
+
|
|
718
1050
|
export declare type MaskBinding = string | MaskOptions;
|
|
719
1051
|
|
|
720
1052
|
/**
|
|
@@ -739,6 +1071,20 @@ export declare interface MaskOptions {
|
|
|
739
1071
|
onComplete?: (value: string) => void;
|
|
740
1072
|
}
|
|
741
1073
|
|
|
1074
|
+
export declare type ModifierKey = 'ctrl' | 'alt' | 'shift' | 'meta';
|
|
1075
|
+
|
|
1076
|
+
export declare type MoneyBinding = string | MoneyOptions;
|
|
1077
|
+
|
|
1078
|
+
/**
|
|
1079
|
+
* Money directive options
|
|
1080
|
+
*/
|
|
1081
|
+
export declare interface MoneyOptions extends NumberFormatOptions {
|
|
1082
|
+
/** Currency symbol @default '$' */
|
|
1083
|
+
symbol?: string;
|
|
1084
|
+
/** Symbol position @default 'before' */
|
|
1085
|
+
symbolPosition?: 'before' | 'after';
|
|
1086
|
+
}
|
|
1087
|
+
|
|
742
1088
|
/**
|
|
743
1089
|
* Directive binding value type
|
|
744
1090
|
*/
|
|
@@ -799,6 +1145,39 @@ export declare interface MutationOptions {
|
|
|
799
1145
|
disabled?: boolean;
|
|
800
1146
|
}
|
|
801
1147
|
|
|
1148
|
+
export declare type NumberBinding = number | NumberOptions;
|
|
1149
|
+
|
|
1150
|
+
/**
|
|
1151
|
+
* Shared utilities for number and money formatting directives
|
|
1152
|
+
*/
|
|
1153
|
+
/**
|
|
1154
|
+
* Base options shared by number and money formatting
|
|
1155
|
+
*/
|
|
1156
|
+
declare interface NumberFormatOptions {
|
|
1157
|
+
/** Number of decimal places */
|
|
1158
|
+
precision?: number;
|
|
1159
|
+
/** Thousands separator */
|
|
1160
|
+
separator?: string;
|
|
1161
|
+
/** Decimal separator */
|
|
1162
|
+
decimal?: string;
|
|
1163
|
+
/** Whether to allow negative numbers @default true */
|
|
1164
|
+
allowNegative?: boolean;
|
|
1165
|
+
/** Minimum value */
|
|
1166
|
+
min?: number;
|
|
1167
|
+
/** Maximum value */
|
|
1168
|
+
max?: number;
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
/**
|
|
1172
|
+
* Number directive options
|
|
1173
|
+
*/
|
|
1174
|
+
export declare interface NumberOptions extends NumberFormatOptions {
|
|
1175
|
+
/** Prefix string (e.g., '$') */
|
|
1176
|
+
prefix?: string;
|
|
1177
|
+
/** Suffix string (e.g., '%') */
|
|
1178
|
+
suffix?: string;
|
|
1179
|
+
}
|
|
1180
|
+
|
|
802
1181
|
/**
|
|
803
1182
|
* Parse time argument
|
|
804
1183
|
* Supports formats: "300" | "300ms" | "1s"
|
|
@@ -848,6 +1227,91 @@ export declare interface PermissionOptions {
|
|
|
848
1227
|
onChange?: (hasPermission: boolean) => void;
|
|
849
1228
|
}
|
|
850
1229
|
|
|
1230
|
+
/**
|
|
1231
|
+
* Print before callback
|
|
1232
|
+
*/
|
|
1233
|
+
export declare type PrintBeforeCallback = () => boolean | void;
|
|
1234
|
+
|
|
1235
|
+
/**
|
|
1236
|
+
* Directive binding value type
|
|
1237
|
+
*/
|
|
1238
|
+
export declare type PrintBinding = PrintOptions | boolean;
|
|
1239
|
+
|
|
1240
|
+
/**
|
|
1241
|
+
* Print complete callback
|
|
1242
|
+
*/
|
|
1243
|
+
export declare type PrintCompleteCallback = () => void;
|
|
1244
|
+
|
|
1245
|
+
/**
|
|
1246
|
+
* Print directive options
|
|
1247
|
+
*/
|
|
1248
|
+
export declare interface PrintOptions {
|
|
1249
|
+
/**
|
|
1250
|
+
* Title for the printed document
|
|
1251
|
+
*/
|
|
1252
|
+
title?: string;
|
|
1253
|
+
/**
|
|
1254
|
+
* Additional CSS styles to inject
|
|
1255
|
+
*/
|
|
1256
|
+
styles?: string | string[];
|
|
1257
|
+
/**
|
|
1258
|
+
* Additional CSS URLs to include
|
|
1259
|
+
*/
|
|
1260
|
+
cssUrls?: string[];
|
|
1261
|
+
/**
|
|
1262
|
+
* Callback before printing
|
|
1263
|
+
* Return false to cancel printing
|
|
1264
|
+
*/
|
|
1265
|
+
onBeforePrint?: PrintBeforeCallback;
|
|
1266
|
+
/**
|
|
1267
|
+
* Callback after printing
|
|
1268
|
+
*/
|
|
1269
|
+
onAfterPrint?: PrintCompleteCallback;
|
|
1270
|
+
/**
|
|
1271
|
+
* Whether to print immediately on mount
|
|
1272
|
+
* @default false
|
|
1273
|
+
*/
|
|
1274
|
+
immediate?: boolean;
|
|
1275
|
+
/**
|
|
1276
|
+
* Print target selector
|
|
1277
|
+
* If not specified, prints the element itself
|
|
1278
|
+
*/
|
|
1279
|
+
target?: string;
|
|
1280
|
+
/**
|
|
1281
|
+
* Whether to print in a new window
|
|
1282
|
+
* @default false
|
|
1283
|
+
*/
|
|
1284
|
+
newWindow?: boolean;
|
|
1285
|
+
/**
|
|
1286
|
+
* Custom class for print container
|
|
1287
|
+
*/
|
|
1288
|
+
printClass?: string;
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
export declare type PullRefreshBinding = PullRefreshHandler | PullRefreshOptions;
|
|
1292
|
+
|
|
1293
|
+
export declare type PullRefreshHandler = () => Promise<void> | void;
|
|
1294
|
+
|
|
1295
|
+
export declare interface PullRefreshOptions {
|
|
1296
|
+
handler: PullRefreshHandler;
|
|
1297
|
+
distance?: number;
|
|
1298
|
+
maxDistance?: number;
|
|
1299
|
+
disabled?: boolean;
|
|
1300
|
+
indicator?: {
|
|
1301
|
+
idle?: string;
|
|
1302
|
+
pulling?: string;
|
|
1303
|
+
ready?: string;
|
|
1304
|
+
loading?: string;
|
|
1305
|
+
success?: string;
|
|
1306
|
+
error?: string;
|
|
1307
|
+
};
|
|
1308
|
+
successDuration?: number;
|
|
1309
|
+
errorDuration?: number;
|
|
1310
|
+
onStateChange?: (state: PullRefreshState) => void;
|
|
1311
|
+
}
|
|
1312
|
+
|
|
1313
|
+
export declare type PullRefreshState = 'idle' | 'pulling' | 'ready' | 'loading' | 'success' | 'error';
|
|
1314
|
+
|
|
851
1315
|
/**
|
|
852
1316
|
* Reset Vue version (useful for testing)
|
|
853
1317
|
*/
|
|
@@ -1132,6 +1596,31 @@ export declare const supportsPassive: () => boolean;
|
|
|
1132
1596
|
*/
|
|
1133
1597
|
export declare const supportsResizeObserver: () => boolean;
|
|
1134
1598
|
|
|
1599
|
+
export declare type SwipeBinding = SwipeHandler | SwipeOptions;
|
|
1600
|
+
|
|
1601
|
+
export declare type SwipeDirection = 'left' | 'right' | 'up' | 'down';
|
|
1602
|
+
|
|
1603
|
+
/**
|
|
1604
|
+
* Swipe direction
|
|
1605
|
+
*/
|
|
1606
|
+
declare type SwipeDirection_2 = 'left' | 'right' | 'up' | 'down';
|
|
1607
|
+
|
|
1608
|
+
export declare type SwipeHandler = (direction: SwipeDirection, event: Event) => void;
|
|
1609
|
+
|
|
1610
|
+
export declare interface SwipeOptions {
|
|
1611
|
+
handler?: SwipeHandler;
|
|
1612
|
+
threshold?: number;
|
|
1613
|
+
maxTime?: number;
|
|
1614
|
+
directions?: SwipeDirection[];
|
|
1615
|
+
preventScrollOnSwipe?: boolean;
|
|
1616
|
+
disabled?: boolean;
|
|
1617
|
+
mouse?: boolean;
|
|
1618
|
+
onLeft?: () => void;
|
|
1619
|
+
onRight?: () => void;
|
|
1620
|
+
onUp?: () => void;
|
|
1621
|
+
onDown?: () => void;
|
|
1622
|
+
}
|
|
1623
|
+
|
|
1135
1624
|
/**
|
|
1136
1625
|
* Directive binding value type
|
|
1137
1626
|
*/
|
|
@@ -1180,24 +1669,254 @@ export declare interface ThrottleOptions<T extends (...args: any[]) => any = any
|
|
|
1180
1669
|
trailing?: boolean;
|
|
1181
1670
|
}
|
|
1182
1671
|
|
|
1672
|
+
export declare type TooltipBinding = string | TooltipOptions;
|
|
1673
|
+
|
|
1674
|
+
/**
|
|
1675
|
+
* Tooltip directive options
|
|
1676
|
+
*/
|
|
1677
|
+
export declare interface TooltipOptions {
|
|
1678
|
+
/** Tooltip content */
|
|
1679
|
+
content: string;
|
|
1680
|
+
/** Tooltip placement @default 'top' */
|
|
1681
|
+
placement?: TooltipPlacement;
|
|
1682
|
+
/** Trigger type @default 'hover' */
|
|
1683
|
+
trigger?: TooltipTrigger;
|
|
1684
|
+
/** Show delay in milliseconds @default 0 */
|
|
1685
|
+
delay?: number;
|
|
1686
|
+
/** Hide delay in milliseconds @default 0 */
|
|
1687
|
+
hideDelay?: number;
|
|
1688
|
+
/** Offset from the element in pixels @default 8 */
|
|
1689
|
+
offset?: number;
|
|
1690
|
+
/** Custom class for the tooltip */
|
|
1691
|
+
class?: string;
|
|
1692
|
+
/** Whether to show arrow @default true */
|
|
1693
|
+
arrow?: boolean;
|
|
1694
|
+
/** Whether the tooltip is disabled @default false */
|
|
1695
|
+
disabled?: boolean;
|
|
1696
|
+
/** Maximum width of the tooltip */
|
|
1697
|
+
maxWidth?: number | string;
|
|
1698
|
+
/** Z-index of the tooltip @default 9999 */
|
|
1699
|
+
zIndex?: number;
|
|
1700
|
+
/** Callback when tooltip is shown */
|
|
1701
|
+
onShow?: () => void;
|
|
1702
|
+
/** Callback when tooltip is hidden */
|
|
1703
|
+
onHide?: () => void;
|
|
1704
|
+
}
|
|
1705
|
+
|
|
1183
1706
|
/**
|
|
1184
|
-
*
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
*
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
export
|
|
1197
|
-
|
|
1707
|
+
* Tooltip placement
|
|
1708
|
+
*/
|
|
1709
|
+
export declare type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
|
|
1710
|
+
|
|
1711
|
+
/**
|
|
1712
|
+
* Tooltip trigger
|
|
1713
|
+
*/
|
|
1714
|
+
export declare type TooltipTrigger = 'hover' | 'click' | 'focus' | 'manual';
|
|
1715
|
+
|
|
1716
|
+
/**
|
|
1717
|
+
* Touch gesture options
|
|
1718
|
+
*/
|
|
1719
|
+
export declare interface TouchOptions {
|
|
1720
|
+
/** Minimum swipe distance in pixels @default 30 */
|
|
1721
|
+
swipeThreshold?: number;
|
|
1722
|
+
/** Maximum time for a swipe in milliseconds @default 500 */
|
|
1723
|
+
swipeTimeout?: number;
|
|
1724
|
+
/** Minimum pinch scale change @default 0.1 */
|
|
1725
|
+
pinchThreshold?: number;
|
|
1726
|
+
/** Enable swipe detection @default true */
|
|
1727
|
+
enableSwipe?: boolean;
|
|
1728
|
+
/** Enable pinch detection @default true */
|
|
1729
|
+
enablePinch?: boolean;
|
|
1730
|
+
/** Enable rotate detection @default true */
|
|
1731
|
+
enableRotate?: boolean;
|
|
1732
|
+
/** Enable tap detection @default true */
|
|
1733
|
+
enableTap?: boolean;
|
|
1734
|
+
/** Maximum time for a tap in milliseconds @default 250 */
|
|
1735
|
+
tapTimeout?: number;
|
|
1736
|
+
/** Maximum movement for a tap in pixels @default 10 */
|
|
1737
|
+
tapThreshold?: number;
|
|
1738
|
+
/** Enable long press detection @default true */
|
|
1739
|
+
enableLongPress?: boolean;
|
|
1740
|
+
/** Long press timeout in milliseconds @default 500 */
|
|
1741
|
+
longPressTimeout?: number;
|
|
1742
|
+
/** Enable mouse event simulation for desktop @default true */
|
|
1743
|
+
enableMouse?: boolean;
|
|
1744
|
+
onSwipe?: (direction: SwipeDirection_2, event: TouchEvent | MouseEvent) => void;
|
|
1745
|
+
onSwipeLeft?: (event: TouchEvent | MouseEvent) => void;
|
|
1746
|
+
onSwipeRight?: (event: TouchEvent | MouseEvent) => void;
|
|
1747
|
+
onSwipeUp?: (event: TouchEvent | MouseEvent) => void;
|
|
1748
|
+
onSwipeDown?: (event: TouchEvent | MouseEvent) => void;
|
|
1749
|
+
onPinch?: (scale: number, event: TouchEvent) => void;
|
|
1750
|
+
onRotate?: (angle: number, event: TouchEvent) => void;
|
|
1751
|
+
onTap?: (event: TouchEvent | MouseEvent) => void;
|
|
1752
|
+
onLongPress?: (event: TouchEvent | MouseEvent) => void;
|
|
1753
|
+
onTouchStart?: (event: TouchEvent | MouseEvent) => void;
|
|
1754
|
+
onTouchMove?: (event: TouchEvent | MouseEvent) => void;
|
|
1755
|
+
onTouchEnd?: (event: TouchEvent | MouseEvent) => void;
|
|
1756
|
+
}
|
|
1198
1757
|
|
|
1199
1758
|
/**
|
|
1200
|
-
*
|
|
1759
|
+
* Directive binding value type
|
|
1760
|
+
*/
|
|
1761
|
+
export declare type TrimBinding = boolean | TrimPosition | TrimOptions;
|
|
1762
|
+
|
|
1763
|
+
/**
|
|
1764
|
+
* Trim directive options
|
|
1765
|
+
*/
|
|
1766
|
+
export declare interface TrimOptions {
|
|
1767
|
+
/**
|
|
1768
|
+
* Trim position
|
|
1769
|
+
* @default 'both'
|
|
1770
|
+
*/
|
|
1771
|
+
position?: TrimPosition;
|
|
1772
|
+
/**
|
|
1773
|
+
* Whether to trim on input (for input elements)
|
|
1774
|
+
* @default true
|
|
1775
|
+
*/
|
|
1776
|
+
onInput?: boolean;
|
|
1777
|
+
/**
|
|
1778
|
+
* Whether to trim on blur
|
|
1779
|
+
* @default true
|
|
1780
|
+
*/
|
|
1781
|
+
onBlur?: boolean;
|
|
1782
|
+
/**
|
|
1783
|
+
* Custom characters to trim (in addition to whitespace)
|
|
1784
|
+
*/
|
|
1785
|
+
chars?: string;
|
|
1786
|
+
}
|
|
1787
|
+
|
|
1788
|
+
/**
|
|
1789
|
+
* Trim position
|
|
1790
|
+
*/
|
|
1791
|
+
export declare type TrimPosition = 'start' | 'end' | 'both';
|
|
1792
|
+
|
|
1793
|
+
/**
|
|
1794
|
+
* Directive binding value type
|
|
1795
|
+
*/
|
|
1796
|
+
export declare type TruncateBinding = number | TruncateOptions;
|
|
1797
|
+
|
|
1798
|
+
/**
|
|
1799
|
+
* Truncate directive options
|
|
1800
|
+
*/
|
|
1801
|
+
export declare interface TruncateOptions {
|
|
1802
|
+
/**
|
|
1803
|
+
* Maximum length of text
|
|
1804
|
+
* @default 100
|
|
1805
|
+
*/
|
|
1806
|
+
length?: number;
|
|
1807
|
+
/**
|
|
1808
|
+
* Truncation position
|
|
1809
|
+
* @default 'end'
|
|
1810
|
+
*/
|
|
1811
|
+
position?: TruncatePosition;
|
|
1812
|
+
/**
|
|
1813
|
+
* Ellipsis string
|
|
1814
|
+
* @default '...'
|
|
1815
|
+
*/
|
|
1816
|
+
ellipsis?: string;
|
|
1817
|
+
/**
|
|
1818
|
+
* Whether to use CSS truncation (use text-overflow: ellipsis)
|
|
1819
|
+
* When true, length and position options are ignored
|
|
1820
|
+
* @default false
|
|
1821
|
+
*/
|
|
1822
|
+
useCss?: boolean;
|
|
1823
|
+
/**
|
|
1824
|
+
* Show full text on hover (as title attribute)
|
|
1825
|
+
* @default true
|
|
1826
|
+
*/
|
|
1827
|
+
showTitle?: boolean;
|
|
1828
|
+
}
|
|
1829
|
+
|
|
1830
|
+
/**
|
|
1831
|
+
* Truncate position
|
|
1832
|
+
*/
|
|
1833
|
+
export declare type TruncatePosition = 'start' | 'middle' | 'end';
|
|
1834
|
+
|
|
1835
|
+
/**
|
|
1836
|
+
* Directive binding value type
|
|
1837
|
+
*/
|
|
1838
|
+
export declare type UppercaseBinding = boolean | UppercaseOptions;
|
|
1839
|
+
|
|
1840
|
+
/**
|
|
1841
|
+
* Uppercase directive options
|
|
1842
|
+
*/
|
|
1843
|
+
export declare interface UppercaseOptions {
|
|
1844
|
+
/**
|
|
1845
|
+
* Transform only the first character
|
|
1846
|
+
* @default false
|
|
1847
|
+
*/
|
|
1848
|
+
first?: boolean;
|
|
1849
|
+
/**
|
|
1850
|
+
* Transform on input event (for input elements)
|
|
1851
|
+
* @default true
|
|
1852
|
+
*/
|
|
1853
|
+
onInput?: boolean;
|
|
1854
|
+
}
|
|
1855
|
+
|
|
1856
|
+
/**
|
|
1857
|
+
* v-capitalcase directive
|
|
1858
|
+
*
|
|
1859
|
+
* @example
|
|
1860
|
+
* ```vue
|
|
1861
|
+
* <template>
|
|
1862
|
+
* <!-- Simple usage: capitalize each word -->
|
|
1863
|
+
* <input v-capitalcase v-model="title" />
|
|
1864
|
+
*
|
|
1865
|
+
* <!-- Capitalize only first word -->
|
|
1866
|
+
* <span v-capitalcase="{ every: false }">{{ text }}</span>
|
|
1867
|
+
*
|
|
1868
|
+
* <!-- With custom lowercase words -->
|
|
1869
|
+
* <input v-capitalcase="{ keepLower: ['a', 'the'] }" v-model="title" />
|
|
1870
|
+
* </template>
|
|
1871
|
+
* ```
|
|
1872
|
+
*/
|
|
1873
|
+
declare const vCapitalcase: Directive;
|
|
1874
|
+
export { vCapitalcase as capitalcase }
|
|
1875
|
+
export { vCapitalcase }
|
|
1876
|
+
|
|
1877
|
+
/**
|
|
1878
|
+
* v-click-delay directive
|
|
1879
|
+
*
|
|
1880
|
+
* Prevents repeated clicks within a specified time period.
|
|
1881
|
+
*
|
|
1882
|
+
* @example
|
|
1883
|
+
* ```vue
|
|
1884
|
+
* <template>
|
|
1885
|
+
* <!-- Basic usage -->
|
|
1886
|
+
* <button v-click-delay="handleClick">Click Me</button>
|
|
1887
|
+
*
|
|
1888
|
+
* <!-- With delay time -->
|
|
1889
|
+
* <button v-click-delay:500="handleClick">Click Me (500ms)</button>
|
|
1890
|
+
*
|
|
1891
|
+
* <!-- With options -->
|
|
1892
|
+
* <button v-click-delay="{ handler: handleClick, delay: 1000 }">
|
|
1893
|
+
* Click Me (1s)
|
|
1894
|
+
* </button>
|
|
1895
|
+
* </template>
|
|
1896
|
+
* ```
|
|
1897
|
+
*/
|
|
1898
|
+
declare const vClickDelay: Directive;
|
|
1899
|
+
export { vClickDelay as clickDelay }
|
|
1900
|
+
export { vClickDelay }
|
|
1901
|
+
|
|
1902
|
+
/**
|
|
1903
|
+
* v-click-outside directive
|
|
1904
|
+
*
|
|
1905
|
+
* @example
|
|
1906
|
+
* ```vue
|
|
1907
|
+
* <template>
|
|
1908
|
+
* <div v-click-outside="handleClickOutside">
|
|
1909
|
+
* Dropdown menu
|
|
1910
|
+
* </div>
|
|
1911
|
+
* </template>
|
|
1912
|
+
* ```
|
|
1913
|
+
*/
|
|
1914
|
+
declare const vClickOutside: Directive;
|
|
1915
|
+
export { vClickOutside as clickOutside }
|
|
1916
|
+
export { vClickOutside }
|
|
1917
|
+
|
|
1918
|
+
/**
|
|
1919
|
+
* v-copy directive
|
|
1201
1920
|
*
|
|
1202
1921
|
* @example
|
|
1203
1922
|
* ```vue
|
|
@@ -1210,6 +1929,39 @@ declare const vCopy: Directive;
|
|
|
1210
1929
|
export { vCopy as copy }
|
|
1211
1930
|
export { vCopy }
|
|
1212
1931
|
|
|
1932
|
+
/**
|
|
1933
|
+
* v-countdown directive
|
|
1934
|
+
*
|
|
1935
|
+
* Displays a countdown timer.
|
|
1936
|
+
*
|
|
1937
|
+
* @example
|
|
1938
|
+
* ```vue
|
|
1939
|
+
* <template>
|
|
1940
|
+
* <!-- Basic usage -->
|
|
1941
|
+
* <span v-countdown="targetDate"></span>
|
|
1942
|
+
*
|
|
1943
|
+
* <!-- With timestamp -->
|
|
1944
|
+
* <span v-countdown="Date.now() + 60000"></span>
|
|
1945
|
+
*
|
|
1946
|
+
* <!-- With options -->
|
|
1947
|
+
* <span v-countdown="{
|
|
1948
|
+
* target: targetDate,
|
|
1949
|
+
* format: 'dd:hh:mm:ss',
|
|
1950
|
+
* onComplete: handleComplete
|
|
1951
|
+
* }"></span>
|
|
1952
|
+
*
|
|
1953
|
+
* <!-- With custom format function -->
|
|
1954
|
+
* <span v-countdown="{
|
|
1955
|
+
* target: targetDate,
|
|
1956
|
+
* format: (time) => `${time.days} days ${time.hours}:${time.minutes}:${time.seconds}`
|
|
1957
|
+
* }"></span>
|
|
1958
|
+
* </template>
|
|
1959
|
+
* ```
|
|
1960
|
+
*/
|
|
1961
|
+
declare const vCountdown: Directive;
|
|
1962
|
+
export { vCountdown as countdown }
|
|
1963
|
+
export { vCountdown }
|
|
1964
|
+
|
|
1213
1965
|
/**
|
|
1214
1966
|
* v-debounce directive
|
|
1215
1967
|
*
|
|
@@ -1228,6 +1980,58 @@ declare const vDebounce: Directive;
|
|
|
1228
1980
|
export { vDebounce as debounce }
|
|
1229
1981
|
export { vDebounce }
|
|
1230
1982
|
|
|
1983
|
+
/**
|
|
1984
|
+
* v-draggable directive
|
|
1985
|
+
*
|
|
1986
|
+
* @example
|
|
1987
|
+
* ```vue
|
|
1988
|
+
* <template>
|
|
1989
|
+
* <!-- Simple usage -->
|
|
1990
|
+
* <div v-draggable>Drag me</div>
|
|
1991
|
+
*
|
|
1992
|
+
* <!-- Constrain to parent -->
|
|
1993
|
+
* <div v-draggable="{ constrain: true }">Drag me</div>
|
|
1994
|
+
*
|
|
1995
|
+
* <!-- With handle -->
|
|
1996
|
+
* <div v-draggable="{ handle: '.drag-handle' }">
|
|
1997
|
+
* <div class="drag-handle">Drag here</div>
|
|
1998
|
+
* <div>Content</div>
|
|
1999
|
+
* </div>
|
|
2000
|
+
*
|
|
2001
|
+
* <!-- With callbacks -->
|
|
2002
|
+
* <div v-draggable="{ onDrag: handleDrag }">Drag me</div>
|
|
2003
|
+
* </template>
|
|
2004
|
+
* ```
|
|
2005
|
+
*/
|
|
2006
|
+
declare const vDraggable: Directive;
|
|
2007
|
+
export { vDraggable as draggable }
|
|
2008
|
+
export { vDraggable }
|
|
2009
|
+
|
|
2010
|
+
/**
|
|
2011
|
+
* v-ellipsis directive
|
|
2012
|
+
*
|
|
2013
|
+
* Truncates text with ellipsis, supports single and multi-line truncation.
|
|
2014
|
+
*
|
|
2015
|
+
* @example
|
|
2016
|
+
* ```vue
|
|
2017
|
+
* <template>
|
|
2018
|
+
* <!-- Single line ellipsis -->
|
|
2019
|
+
* <p v-ellipsis>Long text here...</p>
|
|
2020
|
+
*
|
|
2021
|
+
* <!-- Multi-line ellipsis (3 lines) -->
|
|
2022
|
+
* <p v-ellipsis="3">Long text here...</p>
|
|
2023
|
+
*
|
|
2024
|
+
* <!-- With options -->
|
|
2025
|
+
* <p v-ellipsis="{ lines: 2, expandable: true }">
|
|
2026
|
+
* Click to expand long text...
|
|
2027
|
+
* </p>
|
|
2028
|
+
* </template>
|
|
2029
|
+
* ```
|
|
2030
|
+
*/
|
|
2031
|
+
declare const vEllipsis: Directive;
|
|
2032
|
+
export { vEllipsis as ellipsis }
|
|
2033
|
+
export { vEllipsis }
|
|
2034
|
+
|
|
1231
2035
|
/**
|
|
1232
2036
|
* v-focus directive
|
|
1233
2037
|
*
|
|
@@ -1243,6 +2047,10 @@ declare const vFocus: Directive;
|
|
|
1243
2047
|
export { vFocus as focus }
|
|
1244
2048
|
export { vFocus }
|
|
1245
2049
|
|
|
2050
|
+
declare const vHotkey: Directive;
|
|
2051
|
+
export { vHotkey as hotkey }
|
|
2052
|
+
export { vHotkey }
|
|
2053
|
+
|
|
1246
2054
|
/**
|
|
1247
2055
|
* v-hover directive
|
|
1248
2056
|
*
|
|
@@ -1258,6 +2066,27 @@ declare const vHover: Directive;
|
|
|
1258
2066
|
export { vHover as hover }
|
|
1259
2067
|
export { vHover }
|
|
1260
2068
|
|
|
2069
|
+
/**
|
|
2070
|
+
* v-image-preview directive
|
|
2071
|
+
*
|
|
2072
|
+
* @example
|
|
2073
|
+
* ```vue
|
|
2074
|
+
* <template>
|
|
2075
|
+
* <!-- Simple usage -->
|
|
2076
|
+
* <img v-image-preview src="thumbnail.jpg" data-preview="full.jpg" />
|
|
2077
|
+
*
|
|
2078
|
+
* <!-- With options -->
|
|
2079
|
+
* <img v-image-preview="{ src: 'thumbnail.jpg', previewSrc: 'full.jpg' }" />
|
|
2080
|
+
*
|
|
2081
|
+
* <!-- On non-img element -->
|
|
2082
|
+
* <div v-image-preview="{ src: 'image.jpg' }">Click to preview</div>
|
|
2083
|
+
* </template>
|
|
2084
|
+
* ```
|
|
2085
|
+
*/
|
|
2086
|
+
declare const vImagePreview: Directive;
|
|
2087
|
+
export { vImagePreview as imagePreview }
|
|
2088
|
+
export { vImagePreview }
|
|
2089
|
+
|
|
1261
2090
|
/**
|
|
1262
2091
|
* v-infinite-scroll directive
|
|
1263
2092
|
*
|
|
@@ -1292,6 +2121,60 @@ declare const vIntersect: Directive;
|
|
|
1292
2121
|
export { vIntersect as intersect }
|
|
1293
2122
|
export { vIntersect }
|
|
1294
2123
|
|
|
2124
|
+
/**
|
|
2125
|
+
* Directive binding value type
|
|
2126
|
+
*/
|
|
2127
|
+
export declare type VirtualListBinding<T = any> = VirtualListOptions<T> | T[];
|
|
2128
|
+
|
|
2129
|
+
/**
|
|
2130
|
+
* Virtual list directive options
|
|
2131
|
+
*/
|
|
2132
|
+
export declare interface VirtualListOptions<T = any> {
|
|
2133
|
+
/**
|
|
2134
|
+
* Array of items to render
|
|
2135
|
+
* @required
|
|
2136
|
+
*/
|
|
2137
|
+
items: T[];
|
|
2138
|
+
/**
|
|
2139
|
+
* Height of each item (in pixels)
|
|
2140
|
+
* Can be a fixed number or a function
|
|
2141
|
+
* @default 50
|
|
2142
|
+
*/
|
|
2143
|
+
itemSize?: number | ItemSizeFunction;
|
|
2144
|
+
/**
|
|
2145
|
+
* Height of the container (in pixels)
|
|
2146
|
+
* @default 400
|
|
2147
|
+
*/
|
|
2148
|
+
height?: number | string;
|
|
2149
|
+
/**
|
|
2150
|
+
* Number of extra items to render above/below visible area
|
|
2151
|
+
* @default 3
|
|
2152
|
+
*/
|
|
2153
|
+
overscan?: number;
|
|
2154
|
+
/**
|
|
2155
|
+
* Custom render function
|
|
2156
|
+
*/
|
|
2157
|
+
render?: VirtualListRenderFunction;
|
|
2158
|
+
/**
|
|
2159
|
+
* Key field name for items
|
|
2160
|
+
* @default 'id'
|
|
2161
|
+
*/
|
|
2162
|
+
keyField?: string;
|
|
2163
|
+
/**
|
|
2164
|
+
* Callback when scroll position changes
|
|
2165
|
+
*/
|
|
2166
|
+
onScroll?: (scrollTop: number) => void;
|
|
2167
|
+
/**
|
|
2168
|
+
* Callback when visible range changes
|
|
2169
|
+
*/
|
|
2170
|
+
onVisibleChange?: (startIndex: number, endIndex: number) => void;
|
|
2171
|
+
}
|
|
2172
|
+
|
|
2173
|
+
/**
|
|
2174
|
+
* Virtual list render function
|
|
2175
|
+
*/
|
|
2176
|
+
export declare type VirtualListRenderFunction = (item: any, index: number) => string;
|
|
2177
|
+
|
|
1295
2178
|
/**
|
|
1296
2179
|
* Directive binding value type
|
|
1297
2180
|
*/
|
|
@@ -1374,6 +2257,24 @@ declare const vLongPress: Directive;
|
|
|
1374
2257
|
export { vLongPress as longPress }
|
|
1375
2258
|
export { vLongPress }
|
|
1376
2259
|
|
|
2260
|
+
/**
|
|
2261
|
+
* v-lowercase directive
|
|
2262
|
+
*
|
|
2263
|
+
* @example
|
|
2264
|
+
* ```vue
|
|
2265
|
+
* <template>
|
|
2266
|
+
* <!-- Transform all characters to lowercase -->
|
|
2267
|
+
* <input v-lowercase v-model="text" />
|
|
2268
|
+
*
|
|
2269
|
+
* <!-- Transform only first character -->
|
|
2270
|
+
* <span v-lowercase="{ first: true }">{{ text }}</span>
|
|
2271
|
+
* </template>
|
|
2272
|
+
* ```
|
|
2273
|
+
*/
|
|
2274
|
+
declare const vLowercase: Directive;
|
|
2275
|
+
export { vLowercase as lowercase }
|
|
2276
|
+
export { vLowercase }
|
|
2277
|
+
|
|
1377
2278
|
/**
|
|
1378
2279
|
* v-mask directive
|
|
1379
2280
|
*
|
|
@@ -1388,6 +2289,10 @@ declare const vMask: Directive;
|
|
|
1388
2289
|
export { vMask as mask }
|
|
1389
2290
|
export { vMask }
|
|
1390
2291
|
|
|
2292
|
+
declare const vMoney: Directive;
|
|
2293
|
+
export { vMoney as money }
|
|
2294
|
+
export { vMoney }
|
|
2295
|
+
|
|
1391
2296
|
/**
|
|
1392
2297
|
* v-mutation directive
|
|
1393
2298
|
*
|
|
@@ -1414,6 +2319,10 @@ declare const vMutation: Directive;
|
|
|
1414
2319
|
export { vMutation as mutation }
|
|
1415
2320
|
export { vMutation }
|
|
1416
2321
|
|
|
2322
|
+
declare const vNumber: Directive;
|
|
2323
|
+
export { vNumber as number }
|
|
2324
|
+
export { vNumber }
|
|
2325
|
+
|
|
1417
2326
|
/**
|
|
1418
2327
|
* v-permission directive
|
|
1419
2328
|
*
|
|
@@ -1444,6 +2353,38 @@ declare const vPermission: Directive;
|
|
|
1444
2353
|
export { vPermission as permission }
|
|
1445
2354
|
export { vPermission }
|
|
1446
2355
|
|
|
2356
|
+
/**
|
|
2357
|
+
* v-print directive
|
|
2358
|
+
*
|
|
2359
|
+
* Prints the element content when clicked or immediately.
|
|
2360
|
+
*
|
|
2361
|
+
* @example
|
|
2362
|
+
* ```vue
|
|
2363
|
+
* <template>
|
|
2364
|
+
* <!-- Print on click -->
|
|
2365
|
+
* <button v-print>Print Page</button>
|
|
2366
|
+
*
|
|
2367
|
+
* <!-- Print specific element -->
|
|
2368
|
+
* <button v-print="{ target: '#content' }">Print Content</button>
|
|
2369
|
+
*
|
|
2370
|
+
* <!-- Print with custom title -->
|
|
2371
|
+
* <button v-print="{ title: 'My Document', styles: 'body { font-size: 12px }' }">
|
|
2372
|
+
* Print
|
|
2373
|
+
* </button>
|
|
2374
|
+
*
|
|
2375
|
+
* <!-- Print immediately on mount -->
|
|
2376
|
+
* <div v-print="{ immediate: true }">Auto print</div>
|
|
2377
|
+
* </template>
|
|
2378
|
+
* ```
|
|
2379
|
+
*/
|
|
2380
|
+
declare const vPrint: Directive;
|
|
2381
|
+
export { vPrint as print }
|
|
2382
|
+
export { vPrint }
|
|
2383
|
+
|
|
2384
|
+
declare const vPullRefresh: Directive;
|
|
2385
|
+
export { vPullRefresh as pullRefresh }
|
|
2386
|
+
export { vPullRefresh }
|
|
2387
|
+
|
|
1447
2388
|
/**
|
|
1448
2389
|
* v-resize directive
|
|
1449
2390
|
*
|
|
@@ -1520,6 +2461,10 @@ declare const vSticky: Directive;
|
|
|
1520
2461
|
export { vSticky as sticky }
|
|
1521
2462
|
export { vSticky }
|
|
1522
2463
|
|
|
2464
|
+
declare const vSwipe: Directive;
|
|
2465
|
+
export { vSwipe as swipe }
|
|
2466
|
+
export { vSwipe }
|
|
2467
|
+
|
|
1523
2468
|
/**
|
|
1524
2469
|
* v-throttle directive
|
|
1525
2470
|
*
|
|
@@ -1537,6 +2482,62 @@ declare const vThrottle: Directive;
|
|
|
1537
2482
|
export { vThrottle as throttle }
|
|
1538
2483
|
export { vThrottle }
|
|
1539
2484
|
|
|
2485
|
+
declare const vTooltip: Directive;
|
|
2486
|
+
export { vTooltip as tooltip }
|
|
2487
|
+
export { vTooltip }
|
|
2488
|
+
|
|
2489
|
+
declare const vTouch: Directive;
|
|
2490
|
+
export { vTouch as touch }
|
|
2491
|
+
export { vTouch }
|
|
2492
|
+
|
|
2493
|
+
/**
|
|
2494
|
+
* v-trim directive
|
|
2495
|
+
*
|
|
2496
|
+
* @example
|
|
2497
|
+
* ```vue
|
|
2498
|
+
* <template>
|
|
2499
|
+
* <!-- Simple usage: trim both sides -->
|
|
2500
|
+
* <input v-trim v-model="text" />
|
|
2501
|
+
*
|
|
2502
|
+
* <!-- Trim only start -->
|
|
2503
|
+
* <input v-trim="'start'" v-model="text" />
|
|
2504
|
+
*
|
|
2505
|
+
* <!-- Trim only end -->
|
|
2506
|
+
* <input v-trim="'end'" v-model="text" />
|
|
2507
|
+
*
|
|
2508
|
+
* <!-- With options -->
|
|
2509
|
+
* <input v-trim="{ position: 'both', onBlur: true }" v-model="text" />
|
|
2510
|
+
*
|
|
2511
|
+
* <!-- For display only -->
|
|
2512
|
+
* <span v-trim> Text with spaces </span>
|
|
2513
|
+
* </template>
|
|
2514
|
+
* ```
|
|
2515
|
+
*/
|
|
2516
|
+
declare const vTrim: Directive;
|
|
2517
|
+
export { vTrim as trim }
|
|
2518
|
+
export { vTrim }
|
|
2519
|
+
|
|
2520
|
+
/**
|
|
2521
|
+
* v-truncate directive
|
|
2522
|
+
*
|
|
2523
|
+
* @example
|
|
2524
|
+
* ```vue
|
|
2525
|
+
* <template>
|
|
2526
|
+
* <!-- Simple usage: truncate to 50 characters -->
|
|
2527
|
+
* <p v-truncate="50">Long text here...</p>
|
|
2528
|
+
*
|
|
2529
|
+
* <!-- With options -->
|
|
2530
|
+
* <p v-truncate="{ length: 100, position: 'middle' }">Long text here...</p>
|
|
2531
|
+
*
|
|
2532
|
+
* <!-- CSS truncation -->
|
|
2533
|
+
* <p v-truncate="{ useCss: true }">Long text here...</p>
|
|
2534
|
+
* </template>
|
|
2535
|
+
* ```
|
|
2536
|
+
*/
|
|
2537
|
+
declare const vTruncate: Directive;
|
|
2538
|
+
export { vTruncate as truncate }
|
|
2539
|
+
export { vTruncate }
|
|
2540
|
+
|
|
1540
2541
|
/**
|
|
1541
2542
|
* Vue 2 directive hooks
|
|
1542
2543
|
*/
|
|
@@ -1569,6 +2570,48 @@ export declare interface Vue3DirectiveHooks {
|
|
|
1569
2570
|
*/
|
|
1570
2571
|
export declare type VueVersion = 2 | 2.7 | 3;
|
|
1571
2572
|
|
|
2573
|
+
/**
|
|
2574
|
+
* v-uppercase directive
|
|
2575
|
+
*
|
|
2576
|
+
* @example
|
|
2577
|
+
* ```vue
|
|
2578
|
+
* <template>
|
|
2579
|
+
* <!-- Transform all characters to uppercase -->
|
|
2580
|
+
* <input v-uppercase v-model="text" />
|
|
2581
|
+
*
|
|
2582
|
+
* <!-- Transform only first character -->
|
|
2583
|
+
* <span v-uppercase="{ first: true }">{{ text }}</span>
|
|
2584
|
+
* </template>
|
|
2585
|
+
* ```
|
|
2586
|
+
*/
|
|
2587
|
+
declare const vUppercase: Directive;
|
|
2588
|
+
export { vUppercase as uppercase }
|
|
2589
|
+
export { vUppercase }
|
|
2590
|
+
|
|
2591
|
+
/**
|
|
2592
|
+
* v-virtual-list directive
|
|
2593
|
+
*
|
|
2594
|
+
* Renders a large list efficiently using virtualization.
|
|
2595
|
+
*
|
|
2596
|
+
* @example
|
|
2597
|
+
* ```vue
|
|
2598
|
+
* <template>
|
|
2599
|
+
* <div v-virtual-list="{ items: largeList, itemSize: 50 }"></div>
|
|
2600
|
+
*
|
|
2601
|
+
* <div v-virtual-list="{
|
|
2602
|
+
* items: largeList,
|
|
2603
|
+
* itemSize: (index) => index % 10 === 0 ? 100 : 50,
|
|
2604
|
+
* height: 600,
|
|
2605
|
+
* overscan: 5,
|
|
2606
|
+
* render: (item, index) => `<div class="item">${item.name}</div>`
|
|
2607
|
+
* }"></div>
|
|
2608
|
+
* </template>
|
|
2609
|
+
* ```
|
|
2610
|
+
*/
|
|
2611
|
+
declare const vVirtualList: Directive;
|
|
2612
|
+
export { vVirtualList }
|
|
2613
|
+
export { vVirtualList as virtualList }
|
|
2614
|
+
|
|
1572
2615
|
/**
|
|
1573
2616
|
* v-visible directive
|
|
1574
2617
|
*
|
|
@@ -1585,4 +2628,108 @@ declare const vVisible: Directive;
|
|
|
1585
2628
|
export { vVisible }
|
|
1586
2629
|
export { vVisible as visible }
|
|
1587
2630
|
|
|
2631
|
+
/**
|
|
2632
|
+
* v-watermark directive
|
|
2633
|
+
*
|
|
2634
|
+
* Adds a watermark layer to an element.
|
|
2635
|
+
*
|
|
2636
|
+
* @example
|
|
2637
|
+
* ```vue
|
|
2638
|
+
* <template>
|
|
2639
|
+
* <!-- Simple watermark -->
|
|
2640
|
+
* <div v-watermark="'Confidential'">Protected content</div>
|
|
2641
|
+
*
|
|
2642
|
+
* <!-- Multi-line watermark -->
|
|
2643
|
+
* <div v-watermark="{ content: ['Company Name', 'User: John'] }">
|
|
2644
|
+
* Protected content
|
|
2645
|
+
* </div>
|
|
2646
|
+
*
|
|
2647
|
+
* <!-- Customized watermark -->
|
|
2648
|
+
* <div v-watermark="{
|
|
2649
|
+
* content: 'DRAFT',
|
|
2650
|
+
* fontSize: 24,
|
|
2651
|
+
* color: 'rgba(255, 0, 0, 0.2)',
|
|
2652
|
+
* rotate: -30,
|
|
2653
|
+
* gap: 50
|
|
2654
|
+
* }">
|
|
2655
|
+
* Draft document
|
|
2656
|
+
* </div>
|
|
2657
|
+
* </template>
|
|
2658
|
+
* ```
|
|
2659
|
+
*/
|
|
2660
|
+
declare const vWatermark: Directive;
|
|
2661
|
+
export { vWatermark }
|
|
2662
|
+
export { vWatermark as watermark }
|
|
2663
|
+
|
|
2664
|
+
/**
|
|
2665
|
+
* Directive binding value type
|
|
2666
|
+
*/
|
|
2667
|
+
export declare type WatermarkBinding = string | WatermarkOptions;
|
|
2668
|
+
|
|
2669
|
+
/**
|
|
2670
|
+
* Watermark options
|
|
2671
|
+
*/
|
|
2672
|
+
export declare interface WatermarkOptions {
|
|
2673
|
+
/**
|
|
2674
|
+
* Watermark text content
|
|
2675
|
+
* @required
|
|
2676
|
+
*/
|
|
2677
|
+
content: string | string[];
|
|
2678
|
+
/**
|
|
2679
|
+
* Width of watermark canvas
|
|
2680
|
+
* @default 300
|
|
2681
|
+
*/
|
|
2682
|
+
width?: number;
|
|
2683
|
+
/**
|
|
2684
|
+
* Height of watermark canvas
|
|
2685
|
+
* @default 200
|
|
2686
|
+
*/
|
|
2687
|
+
height?: number;
|
|
2688
|
+
/**
|
|
2689
|
+
* Rotation angle in degrees
|
|
2690
|
+
* @default -22
|
|
2691
|
+
*/
|
|
2692
|
+
rotate?: number;
|
|
2693
|
+
/**
|
|
2694
|
+
* Font size in pixels
|
|
2695
|
+
* @default 16
|
|
2696
|
+
*/
|
|
2697
|
+
fontSize?: number;
|
|
2698
|
+
/**
|
|
2699
|
+
* Font family
|
|
2700
|
+
* @default 'sans-serif'
|
|
2701
|
+
*/
|
|
2702
|
+
fontFamily?: string;
|
|
2703
|
+
/**
|
|
2704
|
+
* Font weight
|
|
2705
|
+
* @default 'normal'
|
|
2706
|
+
*/
|
|
2707
|
+
fontWeight?: string | number;
|
|
2708
|
+
/**
|
|
2709
|
+
* Font color
|
|
2710
|
+
* @default 'rgba(128, 128, 128, 0.15)'
|
|
2711
|
+
*/
|
|
2712
|
+
color?: string;
|
|
2713
|
+
/**
|
|
2714
|
+
* Gap between watermarks in pixels
|
|
2715
|
+
* @default [100, 100]
|
|
2716
|
+
*/
|
|
2717
|
+
gap?: [number, number] | number;
|
|
2718
|
+
/**
|
|
2719
|
+
* Z-index of watermark layer
|
|
2720
|
+
* @default 9999
|
|
2721
|
+
*/
|
|
2722
|
+
zIndex?: number;
|
|
2723
|
+
/**
|
|
2724
|
+
* Whether to disable watermark (for dynamic control)
|
|
2725
|
+
* @default false
|
|
2726
|
+
*/
|
|
2727
|
+
disabled?: boolean;
|
|
2728
|
+
/**
|
|
2729
|
+
* Whether to prevent removal attempts
|
|
2730
|
+
* @default true
|
|
2731
|
+
*/
|
|
2732
|
+
protect?: boolean;
|
|
2733
|
+
}
|
|
2734
|
+
|
|
1588
2735
|
export { }
|