@vuetify/nightly 3.6.11-master.2024-07-08 → 3.6.12-master.2024-07-11
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/CHANGELOG.md +3 -4
- package/dist/json/attributes.json +57 -45
- package/dist/json/importMap.json +146 -146
- package/dist/json/tags.json +4 -1
- package/dist/json/web-types.json +97 -62
- package/dist/vuetify-labs.css +2977 -2955
- package/dist/vuetify-labs.d.ts +614 -688
- package/dist/vuetify-labs.esm.js +95 -74
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +95 -74
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +4804 -4782
- package/dist/vuetify.d.ts +579 -653
- package/dist/vuetify.esm.js +78 -58
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +78 -58
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +67 -65
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.mts +3 -3
- package/lib/blueprints/md1.d.mts +3 -3
- package/lib/blueprints/md2.d.mts +3 -3
- package/lib/blueprints/md3.d.mts +3 -3
- package/lib/components/VAutocomplete/index.d.mts +25 -31
- package/lib/components/VBottomSheet/index.d.mts +10 -10
- package/lib/components/VCheckbox/index.d.mts +2 -8
- package/lib/components/VCombobox/index.d.mts +25 -31
- package/lib/components/VDataIterator/index.d.mts +1 -0
- package/lib/components/VDataTable/VDataTable.mjs +6 -2
- package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableFooter.mjs +5 -4
- package/lib/components/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.mjs +6 -2
- package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.mjs +6 -2
- package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/components/VDataTable/composables/group.mjs +2 -1
- package/lib/components/VDataTable/composables/group.mjs.map +1 -1
- package/lib/components/VDataTable/composables/sort.mjs +1 -1
- package/lib/components/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/components/VDataTable/index.d.mts +130 -129
- package/lib/components/VDatePicker/VDatePickerControls.mjs +5 -4
- package/lib/components/VDatePicker/VDatePickerControls.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.mjs +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/components/VDatePicker/index.d.mts +70 -55
- package/lib/components/VDialog/index.d.mts +28 -28
- package/lib/components/VField/VField.css +11 -6
- package/lib/components/VField/VField.mjs +5 -7
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +6 -2
- package/lib/components/VField/index.d.mts +6 -12
- package/lib/components/VFileInput/index.d.mts +6 -12
- package/lib/components/VInput/VInput.css +5 -5
- package/lib/components/VInput/VInput.mjs +1 -4
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/VInput.sass +1 -1
- package/lib/components/VInput/index.d.mts +2 -8
- package/lib/components/VMenu/index.d.mts +32 -32
- package/lib/components/VOverlay/index.d.mts +10 -10
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.css +17 -0
- package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -5
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.sass +11 -0
- package/lib/components/VRadio/VRadio.mjs +8 -5
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.mts +2 -8
- package/lib/components/VRangeSlider/index.d.mts +2 -8
- package/lib/components/VSelect/index.d.mts +25 -31
- package/lib/components/VSlider/index.d.mts +2 -8
- package/lib/components/VSnackbar/index.d.mts +28 -28
- package/lib/components/VSpeedDial/index.d.mts +14 -14
- package/lib/components/VSwitch/index.d.mts +2 -8
- package/lib/components/VTextField/VTextField.mjs +1 -1
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.mts +18 -24
- package/lib/components/VTextarea/VTextarea.mjs +5 -5
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.mts +72 -87
- package/lib/components/VTooltip/index.d.mts +32 -32
- package/lib/components/index.d.mts +530 -604
- package/lib/composables/calendar.mjs +10 -4
- package/lib/composables/calendar.mjs.map +1 -1
- package/lib/composables/date/DateAdapter.mjs.map +1 -1
- package/lib/composables/date/adapters/vuetify.mjs +15 -13
- package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +49 -49
- package/lib/labs/VCalendar/VCalendar.mjs +7 -6
- package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
- package/lib/labs/VCalendar/index.d.mts +6 -0
- package/lib/labs/VDateInput/index.d.mts +39 -39
- package/lib/labs/VNumberInput/VNumberInput.mjs +1 -1
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/index.d.mts +6 -12
- package/lib/labs/VSnackbarQueue/index.d.mts +37 -37
- package/lib/labs/VTimePicker/VTimePicker.mjs +5 -5
- package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerClock.mjs +2 -2
- package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerControls.mjs +2 -2
- package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
- package/lib/labs/VTimePicker/index.d.mts +18 -18
- package/lib/labs/components.d.mts +106 -106
- package/package.json +1 -1
@@ -45,10 +45,11 @@ declare const VDateInput: {
|
|
45
45
|
direction: "horizontal" | "vertical";
|
46
46
|
prependIcon: NonNullable<IconValue>;
|
47
47
|
clearIcon: IconValue;
|
48
|
+
centerAffix: boolean;
|
48
49
|
hideSpinButtons: boolean;
|
49
50
|
persistentHint: boolean;
|
50
|
-
nextIcon:
|
51
|
-
prevIcon:
|
51
|
+
nextIcon: IconValue;
|
52
|
+
prevIcon: IconValue;
|
52
53
|
autofocus: boolean;
|
53
54
|
clearable: boolean;
|
54
55
|
dirty: boolean;
|
@@ -59,7 +60,7 @@ declare const VDateInput: {
|
|
59
60
|
reverseTransition: string;
|
60
61
|
cancelText: string;
|
61
62
|
okText: string;
|
62
|
-
modeIcon:
|
63
|
+
modeIcon: IconValue;
|
63
64
|
viewMode: "month" | "year" | "months";
|
64
65
|
showAdjacentMonths: boolean;
|
65
66
|
weekdays: number[];
|
@@ -110,13 +111,13 @@ declare const VDateInput: {
|
|
110
111
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
111
112
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
112
113
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
113
|
-
centerAffix?: boolean | undefined;
|
114
114
|
hint?: string | undefined;
|
115
115
|
hideDetails?: boolean | "auto" | undefined;
|
116
116
|
suffix?: string | undefined;
|
117
117
|
counterValue?: number | ((value: any) => number) | undefined;
|
118
118
|
modelModifiers?: Record<string, boolean> | undefined;
|
119
119
|
min?: unknown;
|
120
|
+
firstDayOfWeek?: string | number | undefined;
|
120
121
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
121
122
|
displayValue?: unknown;
|
122
123
|
} & {
|
@@ -157,10 +158,11 @@ declare const VDateInput: {
|
|
157
158
|
direction: "horizontal" | "vertical";
|
158
159
|
prependIcon: NonNullable<IconValue>;
|
159
160
|
clearIcon: IconValue;
|
161
|
+
centerAffix: boolean;
|
160
162
|
hideSpinButtons: boolean;
|
161
163
|
persistentHint: boolean;
|
162
|
-
nextIcon:
|
163
|
-
prevIcon:
|
164
|
+
nextIcon: IconValue;
|
165
|
+
prevIcon: IconValue;
|
164
166
|
autofocus: boolean;
|
165
167
|
clearable: boolean;
|
166
168
|
dirty: boolean;
|
@@ -171,7 +173,7 @@ declare const VDateInput: {
|
|
171
173
|
reverseTransition: string;
|
172
174
|
cancelText: string;
|
173
175
|
okText: string;
|
174
|
-
modeIcon:
|
176
|
+
modeIcon: IconValue;
|
175
177
|
viewMode: "month" | "year" | "months";
|
176
178
|
showAdjacentMonths: boolean;
|
177
179
|
weekdays: number[];
|
@@ -222,13 +224,13 @@ declare const VDateInput: {
|
|
222
224
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
223
225
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
224
226
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
225
|
-
centerAffix?: boolean | undefined;
|
226
227
|
hint?: string | undefined;
|
227
228
|
hideDetails?: boolean | "auto" | undefined;
|
228
229
|
suffix?: string | undefined;
|
229
230
|
counterValue?: number | ((value: any) => number) | undefined;
|
230
231
|
modelModifiers?: Record<string, boolean> | undefined;
|
231
232
|
min?: unknown;
|
233
|
+
firstDayOfWeek?: string | number | undefined;
|
232
234
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
233
235
|
displayValue?: unknown;
|
234
236
|
} & {
|
@@ -271,8 +273,8 @@ declare const VDateInput: {
|
|
271
273
|
centerAffix: boolean;
|
272
274
|
hideSpinButtons: boolean;
|
273
275
|
persistentHint: boolean;
|
274
|
-
nextIcon:
|
275
|
-
prevIcon:
|
276
|
+
nextIcon: IconValue;
|
277
|
+
prevIcon: IconValue;
|
276
278
|
autofocus: boolean;
|
277
279
|
clearable: boolean;
|
278
280
|
dirty: boolean;
|
@@ -283,7 +285,7 @@ declare const VDateInput: {
|
|
283
285
|
reverseTransition: string;
|
284
286
|
cancelText: string;
|
285
287
|
okText: string;
|
286
|
-
modeIcon:
|
288
|
+
modeIcon: IconValue;
|
287
289
|
viewMode: "month" | "year" | "months";
|
288
290
|
showAdjacentMonths: boolean;
|
289
291
|
weekdays: number[];
|
@@ -329,10 +331,11 @@ declare const VDateInput: {
|
|
329
331
|
direction: "horizontal" | "vertical";
|
330
332
|
prependIcon: NonNullable<IconValue>;
|
331
333
|
clearIcon: IconValue;
|
334
|
+
centerAffix: boolean;
|
332
335
|
hideSpinButtons: boolean;
|
333
336
|
persistentHint: boolean;
|
334
|
-
nextIcon:
|
335
|
-
prevIcon:
|
337
|
+
nextIcon: IconValue;
|
338
|
+
prevIcon: IconValue;
|
336
339
|
autofocus: boolean;
|
337
340
|
clearable: boolean;
|
338
341
|
dirty: boolean;
|
@@ -343,7 +346,7 @@ declare const VDateInput: {
|
|
343
346
|
reverseTransition: string;
|
344
347
|
cancelText: string;
|
345
348
|
okText: string;
|
346
|
-
modeIcon:
|
349
|
+
modeIcon: IconValue;
|
347
350
|
viewMode: "month" | "year" | "months";
|
348
351
|
showAdjacentMonths: boolean;
|
349
352
|
weekdays: number[];
|
@@ -394,13 +397,13 @@ declare const VDateInput: {
|
|
394
397
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
395
398
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
396
399
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
397
|
-
centerAffix?: boolean | undefined;
|
398
400
|
hint?: string | undefined;
|
399
401
|
hideDetails?: boolean | "auto" | undefined;
|
400
402
|
suffix?: string | undefined;
|
401
403
|
counterValue?: number | ((value: any) => number) | undefined;
|
402
404
|
modelModifiers?: Record<string, boolean> | undefined;
|
403
405
|
min?: unknown;
|
406
|
+
firstDayOfWeek?: string | number | undefined;
|
404
407
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
405
408
|
displayValue?: unknown;
|
406
409
|
} & {
|
@@ -443,8 +446,8 @@ declare const VDateInput: {
|
|
443
446
|
centerAffix: boolean;
|
444
447
|
hideSpinButtons: boolean;
|
445
448
|
persistentHint: boolean;
|
446
|
-
nextIcon:
|
447
|
-
prevIcon:
|
449
|
+
nextIcon: IconValue;
|
450
|
+
prevIcon: IconValue;
|
448
451
|
autofocus: boolean;
|
449
452
|
clearable: boolean;
|
450
453
|
dirty: boolean;
|
@@ -455,7 +458,7 @@ declare const VDateInput: {
|
|
455
458
|
reverseTransition: string;
|
456
459
|
cancelText: string;
|
457
460
|
okText: string;
|
458
|
-
modeIcon:
|
461
|
+
modeIcon: IconValue;
|
459
462
|
viewMode: "month" | "year" | "months";
|
460
463
|
showAdjacentMonths: boolean;
|
461
464
|
weekdays: number[];
|
@@ -494,10 +497,11 @@ declare const VDateInput: {
|
|
494
497
|
direction: "horizontal" | "vertical";
|
495
498
|
prependIcon: NonNullable<IconValue>;
|
496
499
|
clearIcon: IconValue;
|
500
|
+
centerAffix: boolean;
|
497
501
|
hideSpinButtons: boolean;
|
498
502
|
persistentHint: boolean;
|
499
|
-
nextIcon:
|
500
|
-
prevIcon:
|
503
|
+
nextIcon: IconValue;
|
504
|
+
prevIcon: IconValue;
|
501
505
|
autofocus: boolean;
|
502
506
|
clearable: boolean;
|
503
507
|
dirty: boolean;
|
@@ -508,7 +512,7 @@ declare const VDateInput: {
|
|
508
512
|
reverseTransition: string;
|
509
513
|
cancelText: string;
|
510
514
|
okText: string;
|
511
|
-
modeIcon:
|
515
|
+
modeIcon: IconValue;
|
512
516
|
viewMode: "month" | "year" | "months";
|
513
517
|
showAdjacentMonths: boolean;
|
514
518
|
weekdays: number[];
|
@@ -559,13 +563,13 @@ declare const VDateInput: {
|
|
559
563
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
560
564
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
561
565
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
562
|
-
centerAffix?: boolean | undefined;
|
563
566
|
hint?: string | undefined;
|
564
567
|
hideDetails?: boolean | "auto" | undefined;
|
565
568
|
suffix?: string | undefined;
|
566
569
|
counterValue?: number | ((value: any) => number) | undefined;
|
567
570
|
modelModifiers?: Record<string, boolean> | undefined;
|
568
571
|
min?: unknown;
|
572
|
+
firstDayOfWeek?: string | number | undefined;
|
569
573
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
570
574
|
displayValue?: unknown;
|
571
575
|
} & {
|
@@ -610,8 +614,8 @@ declare const VDateInput: {
|
|
610
614
|
centerAffix: boolean;
|
611
615
|
hideSpinButtons: boolean;
|
612
616
|
persistentHint: boolean;
|
613
|
-
nextIcon:
|
614
|
-
prevIcon:
|
617
|
+
nextIcon: IconValue;
|
618
|
+
prevIcon: IconValue;
|
615
619
|
autofocus: boolean;
|
616
620
|
clearable: boolean;
|
617
621
|
dirty: boolean;
|
@@ -622,7 +626,7 @@ declare const VDateInput: {
|
|
622
626
|
reverseTransition: string;
|
623
627
|
cancelText: string;
|
624
628
|
okText: string;
|
625
|
-
modeIcon:
|
629
|
+
modeIcon: IconValue;
|
626
630
|
viewMode: "month" | "year" | "months";
|
627
631
|
showAdjacentMonths: boolean;
|
628
632
|
weekdays: number[];
|
@@ -690,11 +694,11 @@ declare const VDateInput: {
|
|
690
694
|
max: vue.PropType<unknown>;
|
691
695
|
bgColor: StringConstructor;
|
692
696
|
nextIcon: {
|
693
|
-
type:
|
697
|
+
type: vue.PropType<IconValue>;
|
694
698
|
default: string;
|
695
699
|
};
|
696
700
|
prevIcon: {
|
697
|
-
type:
|
701
|
+
type: vue.PropType<IconValue>;
|
698
702
|
default: string;
|
699
703
|
};
|
700
704
|
min: vue.PropType<unknown>;
|
@@ -703,7 +707,7 @@ declare const VDateInput: {
|
|
703
707
|
default: string;
|
704
708
|
};
|
705
709
|
modeIcon: {
|
706
|
-
type:
|
710
|
+
type: vue.PropType<IconValue>;
|
707
711
|
default: string;
|
708
712
|
};
|
709
713
|
viewMode: {
|
@@ -738,6 +742,7 @@ declare const VDateInput: {
|
|
738
742
|
type: vue.PropType<NonNullable<NonNullable<"static" | "dynamic">>>;
|
739
743
|
default: NonNullable<NonNullable<"static" | "dynamic">>;
|
740
744
|
};
|
745
|
+
firstDayOfWeek: (StringConstructor | NumberConstructor)[];
|
741
746
|
allowedDates: vue.PropType<unknown[] | ((date: unknown) => boolean)>;
|
742
747
|
displayValue: vue.PropType<unknown>;
|
743
748
|
hideWeekdays: BooleanConstructor;
|
@@ -755,10 +760,7 @@ declare const VDateInput: {
|
|
755
760
|
default: string;
|
756
761
|
};
|
757
762
|
active: BooleanConstructor;
|
758
|
-
centerAffix:
|
759
|
-
type: BooleanConstructor;
|
760
|
-
default: undefined;
|
761
|
-
};
|
763
|
+
centerAffix: BooleanConstructor;
|
762
764
|
baseColor: StringConstructor;
|
763
765
|
dirty: BooleanConstructor;
|
764
766
|
error: BooleanConstructor;
|
@@ -903,11 +905,11 @@ declare const VDateInput: {
|
|
903
905
|
max: vue.PropType<unknown>;
|
904
906
|
bgColor: StringConstructor;
|
905
907
|
nextIcon: {
|
906
|
-
type:
|
908
|
+
type: vue.PropType<IconValue>;
|
907
909
|
default: string;
|
908
910
|
};
|
909
911
|
prevIcon: {
|
910
|
-
type:
|
912
|
+
type: vue.PropType<IconValue>;
|
911
913
|
default: string;
|
912
914
|
};
|
913
915
|
min: vue.PropType<unknown>;
|
@@ -916,7 +918,7 @@ declare const VDateInput: {
|
|
916
918
|
default: string;
|
917
919
|
};
|
918
920
|
modeIcon: {
|
919
|
-
type:
|
921
|
+
type: vue.PropType<IconValue>;
|
920
922
|
default: string;
|
921
923
|
};
|
922
924
|
viewMode: {
|
@@ -951,6 +953,7 @@ declare const VDateInput: {
|
|
951
953
|
type: vue.PropType<NonNullable<NonNullable<"static" | "dynamic">>>;
|
952
954
|
default: NonNullable<NonNullable<"static" | "dynamic">>;
|
953
955
|
};
|
956
|
+
firstDayOfWeek: (StringConstructor | NumberConstructor)[];
|
954
957
|
allowedDates: vue.PropType<unknown[] | ((date: unknown) => boolean)>;
|
955
958
|
displayValue: vue.PropType<unknown>;
|
956
959
|
hideWeekdays: BooleanConstructor;
|
@@ -968,10 +971,7 @@ declare const VDateInput: {
|
|
968
971
|
default: string;
|
969
972
|
};
|
970
973
|
active: BooleanConstructor;
|
971
|
-
centerAffix:
|
972
|
-
type: BooleanConstructor;
|
973
|
-
default: undefined;
|
974
|
-
};
|
974
|
+
centerAffix: BooleanConstructor;
|
975
975
|
baseColor: StringConstructor;
|
976
976
|
dirty: BooleanConstructor;
|
977
977
|
error: BooleanConstructor;
|
@@ -103,7 +103,7 @@ export const VNumberInput = genericComponent()({
|
|
103
103
|
toggleUpDown(false);
|
104
104
|
}
|
105
105
|
function onKeydown(e) {
|
106
|
-
if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Tab'].includes(e.key) || e.ctrlKey) return;
|
106
|
+
if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) || e.ctrlKey) return;
|
107
107
|
if (['ArrowDown'].includes(e.key)) {
|
108
108
|
e.preventDefault();
|
109
109
|
toggleUpDown(false);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VNumberInput.mjs","names":["VBtn","VDefaultsProvider","VDivider","makeVTextFieldProps","VTextField","useForm","useProxiedModel","computed","watchEffect","clamp","genericComponent","getDecimals","omit","propsFactory","useRender","makeVNumberInputProps","controlVariant","type","String","default","inset","Boolean","hideInput","min","Number","Infinity","max","step","VNumberInput","name","props","emits","val","setup","_ref","attrs","emit","slots","model","stepDecimals","modelDecimals","value","form","controlsDisabled","disabled","readonly","isReadonly","canIncrease","canDecrease","incrementIcon","decrementIcon","controlNodeSize","controlNodeDefaultHeight","incrementSlotProps","click","onClickUp","decrementSlotProps","onClickDown","toggleUpDown","increment","arguments","length","undefined","decimals","Math","toFixed","e","stopPropagation","onKeydown","includes","key","ctrlKey","preventDefault","test","onModelUpdate","v","onControlMousedown","modelValue","_","textFieldProps","filterProps","incrementControlNode","_createVNode","flat","height","size","icon","decrementControlNode","decrement","controlNode","dividerNode","appendInnerControl","reverse","_Fragment","hasAppendInner","prependInnerControl","hasPrependInner","_mergeProps","class","style","_len","args","Array","_key","_len2","_key2"],"sources":["../../../src/labs/VNumberInput/VNumberInput.tsx"],"sourcesContent":["// Styles\nimport './VNumberInput.sass'\n\n// Components\nimport { VBtn } from '../../components/VBtn'\nimport { VDefaultsProvider } from '../../components/VDefaultsProvider'\nimport { VDivider } from '../../components/VDivider'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useForm } from '@/composables/form'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, watchEffect } from 'vue'\nimport { clamp, genericComponent, getDecimals, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\ntype ControlSlot = {\n click: (e: MouseEvent) => void\n}\n\ntype VNumberInputSlots = Omit<VTextFieldSlots, 'default'> & {\n increment: ControlSlot\n decrement: ControlSlot\n}\n\ntype ControlVariant = 'default' | 'stacked' | 'split'\n\nconst makeVNumberInputProps = propsFactory({\n controlVariant: {\n type: String as PropType<ControlVariant>,\n default: 'default',\n },\n inset: Boolean,\n hideInput: Boolean,\n min: {\n type: Number,\n default: -Infinity,\n },\n max: {\n type: Number,\n default: Infinity,\n },\n step: {\n type: Number,\n default: 1,\n },\n\n ...omit(makeVTextFieldProps(), ['appendInnerIcon', 'prependInnerIcon']),\n}, 'VNumberInput')\n\nexport const VNumberInput = genericComponent<VNumberInputSlots>()({\n name: 'VNumberInput',\n\n props: {\n ...makeVNumberInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: number) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n\n const stepDecimals = computed(() => getDecimals(props.step))\n const modelDecimals = computed(() => model.value != null ? getDecimals(model.value) : 0)\n\n const form = useForm()\n const controlsDisabled = computed(() => (\n props.disabled || props.readonly || form?.isReadonly.value\n ))\n\n const canIncrease = computed(() => {\n if (controlsDisabled.value) return false\n if (model.value == null) return true\n return model.value + props.step <= props.max\n })\n const canDecrease = computed(() => {\n if (controlsDisabled.value) return false\n if (model.value == null) return true\n return model.value - props.step >= props.min\n })\n\n watchEffect(() => {\n if (controlsDisabled.value) return\n if (model.value != null && (model.value < props.min || model.value > props.max)) {\n model.value = clamp(model.value, props.min, props.max)\n }\n })\n\n const controlVariant = computed(() => {\n return props.hideInput ? 'stacked' : props.controlVariant\n })\n\n const incrementIcon = computed(() => controlVariant.value === 'split' ? '$plus' : '$collapse')\n const decrementIcon = computed(() => controlVariant.value === 'split' ? '$minus' : '$expand')\n const controlNodeSize = computed(() => controlVariant.value === 'split' ? 'default' : 'small')\n const controlNodeDefaultHeight = computed(() => controlVariant.value === 'stacked' ? 'auto' : '100%')\n\n const incrementSlotProps = computed(() => ({ click: onClickUp }))\n\n const decrementSlotProps = computed(() => ({ click: onClickDown }))\n\n function toggleUpDown (increment = true) {\n if (controlsDisabled.value) return\n if (model.value == null) {\n model.value = 0\n return\n }\n\n const decimals = Math.max(modelDecimals.value, stepDecimals.value)\n if (increment) {\n if (canIncrease.value) model.value = +(((model.value + props.step).toFixed(decimals)))\n } else {\n if (canDecrease.value) model.value = +(((model.value - props.step).toFixed(decimals)))\n }\n }\n\n function onClickUp (e: MouseEvent) {\n e.stopPropagation()\n toggleUpDown()\n }\n\n function onClickDown (e: MouseEvent) {\n e.stopPropagation()\n toggleUpDown(false)\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (\n ['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Tab'].includes(e.key) ||\n e.ctrlKey\n ) return\n\n if (['ArrowDown'].includes(e.key)) {\n e.preventDefault()\n toggleUpDown(false)\n return\n }\n if (['ArrowUp'].includes(e.key)) {\n e.preventDefault()\n toggleUpDown()\n return\n }\n\n // Only numbers, +, - & . are allowed\n if (!/^[0-9\\-+.]+$/.test(e.key)) {\n e.preventDefault()\n }\n }\n\n function onModelUpdate (v: string) {\n model.value = v ? +(v) : undefined\n }\n\n function onControlMousedown (e: MouseEvent) {\n e.stopPropagation()\n }\n\n useRender(() => {\n const { modelValue: _, ...textFieldProps } = VTextField.filterProps(props)\n\n function incrementControlNode () {\n return !slots.increment ? (\n <VBtn\n disabled={ !canIncrease.value }\n flat\n key=\"increment-btn\"\n height={ controlNodeDefaultHeight.value }\n name=\"increment-btn\"\n icon={ incrementIcon.value }\n onClick={ onClickUp }\n onMousedown={ onControlMousedown }\n size={ controlNodeSize.value }\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"increment-defaults\"\n defaults={{\n VBtn: {\n disabled: !canIncrease.value,\n flat: true,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: incrementIcon.value,\n },\n }}\n >\n { slots.increment(incrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n\n function decrementControlNode () {\n return !slots.decrement ? (\n <VBtn\n disabled={ !canDecrease.value }\n flat\n key=\"decrement-btn\"\n height={ controlNodeDefaultHeight.value }\n name=\"decrement-btn\"\n icon={ decrementIcon.value }\n size={ controlNodeSize.value }\n tabindex=\"-1\"\n onClick={ onClickDown }\n onMousedown={ onControlMousedown }\n />\n ) : (\n <VDefaultsProvider\n key=\"decrement-defaults\"\n defaults={{\n VBtn: {\n disabled: !canDecrease.value,\n flat: true,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: decrementIcon.value,\n },\n }}\n >\n { slots.decrement(decrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n\n function controlNode () {\n return (\n <div class=\"v-number-input__control\">\n { decrementControlNode() }\n\n <VDivider\n vertical={ controlVariant.value !== 'stacked' }\n />\n\n { incrementControlNode() }\n </div>\n )\n }\n\n function dividerNode () {\n return !props.hideInput && !props.inset ? <VDivider vertical /> : undefined\n }\n\n const appendInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n <VDivider vertical />\n\n { incrementControlNode() }\n </div>\n ) : (!props.reverse\n ? <>{ dividerNode() }{ controlNode() }</>\n : undefined)\n\n const hasAppendInner = slots['append-inner'] || appendInnerControl\n\n const prependInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n { decrementControlNode() }\n\n <VDivider vertical />\n </div>\n ) : (props.reverse\n ? <>{ controlNode() }{ dividerNode() }</>\n : undefined)\n\n const hasPrependInner = slots['prepend-inner'] || prependInnerControl\n\n return (\n <VTextField\n modelValue={ model.value }\n onUpdate:modelValue={ onModelUpdate }\n onKeydown={ onKeydown }\n class={[\n 'v-number-input',\n {\n 'v-number-input--default': controlVariant.value === 'default',\n 'v-number-input--hide-input': props.hideInput,\n 'v-number-input--inset': props.inset,\n 'v-number-input--reverse': props.reverse,\n 'v-number-input--split': controlVariant.value === 'split',\n 'v-number-input--stacked': controlVariant.value === 'stacked',\n },\n props.class,\n ]}\n { ...textFieldProps }\n style={ props.style }\n inputmode=\"decimal\"\n >\n {{\n ...slots,\n 'append-inner': hasAppendInner ? (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { appendInnerControl }\n </>\n ) : undefined,\n 'prepend-inner': hasPrependInner ? (...args) => (\n <>\n { prependInnerControl }\n { slots['prepend-inner']?.(...args) }\n </>\n ) : undefined,\n }}\n </VTextField>\n )\n })\n },\n})\n\nexport type VNumberInput = InstanceType<typeof VNumberInput>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VNumberInput.mjs","names":["VBtn","VDefaultsProvider","VDivider","makeVTextFieldProps","VTextField","useForm","useProxiedModel","computed","watchEffect","clamp","genericComponent","getDecimals","omit","propsFactory","useRender","makeVNumberInputProps","controlVariant","type","String","default","inset","Boolean","hideInput","min","Number","Infinity","max","step","VNumberInput","name","props","emits","val","setup","_ref","attrs","emit","slots","model","stepDecimals","modelDecimals","value","form","controlsDisabled","disabled","readonly","isReadonly","canIncrease","canDecrease","incrementIcon","decrementIcon","controlNodeSize","controlNodeDefaultHeight","incrementSlotProps","click","onClickUp","decrementSlotProps","onClickDown","toggleUpDown","increment","arguments","length","undefined","decimals","Math","toFixed","e","stopPropagation","onKeydown","includes","key","ctrlKey","preventDefault","test","onModelUpdate","v","onControlMousedown","modelValue","_","textFieldProps","filterProps","incrementControlNode","_createVNode","flat","height","size","icon","decrementControlNode","decrement","controlNode","dividerNode","appendInnerControl","reverse","_Fragment","hasAppendInner","prependInnerControl","hasPrependInner","_mergeProps","class","style","_len","args","Array","_key","_len2","_key2"],"sources":["../../../src/labs/VNumberInput/VNumberInput.tsx"],"sourcesContent":["// Styles\nimport './VNumberInput.sass'\n\n// Components\nimport { VBtn } from '../../components/VBtn'\nimport { VDefaultsProvider } from '../../components/VDefaultsProvider'\nimport { VDivider } from '../../components/VDivider'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useForm } from '@/composables/form'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, watchEffect } from 'vue'\nimport { clamp, genericComponent, getDecimals, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\ntype ControlSlot = {\n click: (e: MouseEvent) => void\n}\n\ntype VNumberInputSlots = Omit<VTextFieldSlots, 'default'> & {\n increment: ControlSlot\n decrement: ControlSlot\n}\n\ntype ControlVariant = 'default' | 'stacked' | 'split'\n\nconst makeVNumberInputProps = propsFactory({\n controlVariant: {\n type: String as PropType<ControlVariant>,\n default: 'default',\n },\n inset: Boolean,\n hideInput: Boolean,\n min: {\n type: Number,\n default: -Infinity,\n },\n max: {\n type: Number,\n default: Infinity,\n },\n step: {\n type: Number,\n default: 1,\n },\n\n ...omit(makeVTextFieldProps(), ['appendInnerIcon', 'prependInnerIcon']),\n}, 'VNumberInput')\n\nexport const VNumberInput = genericComponent<VNumberInputSlots>()({\n name: 'VNumberInput',\n\n props: {\n ...makeVNumberInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: number) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n\n const stepDecimals = computed(() => getDecimals(props.step))\n const modelDecimals = computed(() => model.value != null ? getDecimals(model.value) : 0)\n\n const form = useForm()\n const controlsDisabled = computed(() => (\n props.disabled || props.readonly || form?.isReadonly.value\n ))\n\n const canIncrease = computed(() => {\n if (controlsDisabled.value) return false\n if (model.value == null) return true\n return model.value + props.step <= props.max\n })\n const canDecrease = computed(() => {\n if (controlsDisabled.value) return false\n if (model.value == null) return true\n return model.value - props.step >= props.min\n })\n\n watchEffect(() => {\n if (controlsDisabled.value) return\n if (model.value != null && (model.value < props.min || model.value > props.max)) {\n model.value = clamp(model.value, props.min, props.max)\n }\n })\n\n const controlVariant = computed(() => {\n return props.hideInput ? 'stacked' : props.controlVariant\n })\n\n const incrementIcon = computed(() => controlVariant.value === 'split' ? '$plus' : '$collapse')\n const decrementIcon = computed(() => controlVariant.value === 'split' ? '$minus' : '$expand')\n const controlNodeSize = computed(() => controlVariant.value === 'split' ? 'default' : 'small')\n const controlNodeDefaultHeight = computed(() => controlVariant.value === 'stacked' ? 'auto' : '100%')\n\n const incrementSlotProps = computed(() => ({ click: onClickUp }))\n\n const decrementSlotProps = computed(() => ({ click: onClickDown }))\n\n function toggleUpDown (increment = true) {\n if (controlsDisabled.value) return\n if (model.value == null) {\n model.value = 0\n return\n }\n\n const decimals = Math.max(modelDecimals.value, stepDecimals.value)\n if (increment) {\n if (canIncrease.value) model.value = +(((model.value + props.step).toFixed(decimals)))\n } else {\n if (canDecrease.value) model.value = +(((model.value - props.step).toFixed(decimals)))\n }\n }\n\n function onClickUp (e: MouseEvent) {\n e.stopPropagation()\n toggleUpDown()\n }\n\n function onClickDown (e: MouseEvent) {\n e.stopPropagation()\n toggleUpDown(false)\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (\n ['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) ||\n e.ctrlKey\n ) return\n\n if (['ArrowDown'].includes(e.key)) {\n e.preventDefault()\n toggleUpDown(false)\n return\n }\n if (['ArrowUp'].includes(e.key)) {\n e.preventDefault()\n toggleUpDown()\n return\n }\n\n // Only numbers, +, - & . are allowed\n if (!/^[0-9\\-+.]+$/.test(e.key)) {\n e.preventDefault()\n }\n }\n\n function onModelUpdate (v: string) {\n model.value = v ? +(v) : undefined\n }\n\n function onControlMousedown (e: MouseEvent) {\n e.stopPropagation()\n }\n\n useRender(() => {\n const { modelValue: _, ...textFieldProps } = VTextField.filterProps(props)\n\n function incrementControlNode () {\n return !slots.increment ? (\n <VBtn\n disabled={ !canIncrease.value }\n flat\n key=\"increment-btn\"\n height={ controlNodeDefaultHeight.value }\n name=\"increment-btn\"\n icon={ incrementIcon.value }\n onClick={ onClickUp }\n onMousedown={ onControlMousedown }\n size={ controlNodeSize.value }\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"increment-defaults\"\n defaults={{\n VBtn: {\n disabled: !canIncrease.value,\n flat: true,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: incrementIcon.value,\n },\n }}\n >\n { slots.increment(incrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n\n function decrementControlNode () {\n return !slots.decrement ? (\n <VBtn\n disabled={ !canDecrease.value }\n flat\n key=\"decrement-btn\"\n height={ controlNodeDefaultHeight.value }\n name=\"decrement-btn\"\n icon={ decrementIcon.value }\n size={ controlNodeSize.value }\n tabindex=\"-1\"\n onClick={ onClickDown }\n onMousedown={ onControlMousedown }\n />\n ) : (\n <VDefaultsProvider\n key=\"decrement-defaults\"\n defaults={{\n VBtn: {\n disabled: !canDecrease.value,\n flat: true,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: decrementIcon.value,\n },\n }}\n >\n { slots.decrement(decrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n\n function controlNode () {\n return (\n <div class=\"v-number-input__control\">\n { decrementControlNode() }\n\n <VDivider\n vertical={ controlVariant.value !== 'stacked' }\n />\n\n { incrementControlNode() }\n </div>\n )\n }\n\n function dividerNode () {\n return !props.hideInput && !props.inset ? <VDivider vertical /> : undefined\n }\n\n const appendInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n <VDivider vertical />\n\n { incrementControlNode() }\n </div>\n ) : (!props.reverse\n ? <>{ dividerNode() }{ controlNode() }</>\n : undefined)\n\n const hasAppendInner = slots['append-inner'] || appendInnerControl\n\n const prependInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n { decrementControlNode() }\n\n <VDivider vertical />\n </div>\n ) : (props.reverse\n ? <>{ controlNode() }{ dividerNode() }</>\n : undefined)\n\n const hasPrependInner = slots['prepend-inner'] || prependInnerControl\n\n return (\n <VTextField\n modelValue={ model.value }\n onUpdate:modelValue={ onModelUpdate }\n onKeydown={ onKeydown }\n class={[\n 'v-number-input',\n {\n 'v-number-input--default': controlVariant.value === 'default',\n 'v-number-input--hide-input': props.hideInput,\n 'v-number-input--inset': props.inset,\n 'v-number-input--reverse': props.reverse,\n 'v-number-input--split': controlVariant.value === 'split',\n 'v-number-input--stacked': controlVariant.value === 'stacked',\n },\n props.class,\n ]}\n { ...textFieldProps }\n style={ props.style }\n inputmode=\"decimal\"\n >\n {{\n ...slots,\n 'append-inner': hasAppendInner ? (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { appendInnerControl }\n </>\n ) : undefined,\n 'prepend-inner': hasPrependInner ? (...args) => (\n <>\n { prependInnerControl }\n { slots['prepend-inner']?.(...args) }\n </>\n ) : undefined,\n }}\n </VTextField>\n )\n })\n },\n})\n\nexport type VNumberInput = InstanceType<typeof VNumberInput>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI;AAAA,SACJC,iBAAiB;AAAA,SACjBC,QAAQ;AAAA,SACRC,mBAAmB,EAAEC,UAAU,sDAExC;AAAA,SACSC,OAAO;AAAA,SACPC,eAAe,8CAExB;AACA,SAASC,QAAQ,EAAEC,WAAW,QAAQ,KAAK;AAAA,SAClCC,KAAK,EAAEC,gBAAgB,EAAEC,WAAW,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAE5E;AAeA,MAAMC,qBAAqB,GAAGF,YAAY,CAAC;EACzCG,cAAc,EAAE;IACdC,IAAI,EAAEC,MAAkC;IACxCC,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAEC,OAAO;EACdC,SAAS,EAAED,OAAO;EAClBE,GAAG,EAAE;IACHN,IAAI,EAAEO,MAAM;IACZL,OAAO,EAAE,CAACM;EACZ,CAAC;EACDC,GAAG,EAAE;IACHT,IAAI,EAAEO,MAAM;IACZL,OAAO,EAAEM;EACX,CAAC;EACDE,IAAI,EAAE;IACJV,IAAI,EAAEO,MAAM;IACZL,OAAO,EAAE;EACX,CAAC;EAED,GAAGP,IAAI,CAACT,mBAAmB,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;AACxE,CAAC,EAAE,cAAc,CAAC;AAElB,OAAO,MAAMyB,YAAY,GAAGlB,gBAAgB,CAAoB,CAAC,CAAC;EAChEmB,IAAI,EAAE,cAAc;EAEpBC,KAAK,EAAE;IACL,GAAGf,qBAAqB,CAAC;EAC3B,CAAC;EAEDgB,KAAK,EAAE;IACL,mBAAmB,EAAGC,GAAW,IAAK;EACxC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAA0B;IAAA,IAAxB;MAAEC,KAAK;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAH,IAAA;IAClC,MAAMI,KAAK,GAAGhC,eAAe,CAACwB,KAAK,EAAE,YAAY,CAAC;IAElD,MAAMS,YAAY,GAAGhC,QAAQ,CAAC,MAAMI,WAAW,CAACmB,KAAK,CAACH,IAAI,CAAC,CAAC;IAC5D,MAAMa,aAAa,GAAGjC,QAAQ,CAAC,MAAM+B,KAAK,CAACG,KAAK,IAAI,IAAI,GAAG9B,WAAW,CAAC2B,KAAK,CAACG,KAAK,CAAC,GAAG,CAAC,CAAC;IAExF,MAAMC,IAAI,GAAGrC,OAAO,CAAC,CAAC;IACtB,MAAMsC,gBAAgB,GAAGpC,QAAQ,CAAC,MAChCuB,KAAK,CAACc,QAAQ,IAAId,KAAK,CAACe,QAAQ,IAAIH,IAAI,EAAEI,UAAU,CAACL,KACtD,CAAC;IAEF,MAAMM,WAAW,GAAGxC,QAAQ,CAAC,MAAM;MACjC,IAAIoC,gBAAgB,CAACF,KAAK,EAAE,OAAO,KAAK;MACxC,IAAIH,KAAK,CAACG,KAAK,IAAI,IAAI,EAAE,OAAO,IAAI;MACpC,OAAOH,KAAK,CAACG,KAAK,GAAGX,KAAK,CAACH,IAAI,IAAIG,KAAK,CAACJ,GAAG;IAC9C,CAAC,CAAC;IACF,MAAMsB,WAAW,GAAGzC,QAAQ,CAAC,MAAM;MACjC,IAAIoC,gBAAgB,CAACF,KAAK,EAAE,OAAO,KAAK;MACxC,IAAIH,KAAK,CAACG,KAAK,IAAI,IAAI,EAAE,OAAO,IAAI;MACpC,OAAOH,KAAK,CAACG,KAAK,GAAGX,KAAK,CAACH,IAAI,IAAIG,KAAK,CAACP,GAAG;IAC9C,CAAC,CAAC;IAEFf,WAAW,CAAC,MAAM;MAChB,IAAImC,gBAAgB,CAACF,KAAK,EAAE;MAC5B,IAAIH,KAAK,CAACG,KAAK,IAAI,IAAI,KAAKH,KAAK,CAACG,KAAK,GAAGX,KAAK,CAACP,GAAG,IAAIe,KAAK,CAACG,KAAK,GAAGX,KAAK,CAACJ,GAAG,CAAC,EAAE;QAC/EY,KAAK,CAACG,KAAK,GAAGhC,KAAK,CAAC6B,KAAK,CAACG,KAAK,EAAEX,KAAK,CAACP,GAAG,EAAEO,KAAK,CAACJ,GAAG,CAAC;MACxD;IACF,CAAC,CAAC;IAEF,MAAMV,cAAc,GAAGT,QAAQ,CAAC,MAAM;MACpC,OAAOuB,KAAK,CAACR,SAAS,GAAG,SAAS,GAAGQ,KAAK,CAACd,cAAc;IAC3D,CAAC,CAAC;IAEF,MAAMiC,aAAa,GAAG1C,QAAQ,CAAC,MAAMS,cAAc,CAACyB,KAAK,KAAK,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;IAC9F,MAAMS,aAAa,GAAG3C,QAAQ,CAAC,MAAMS,cAAc,CAACyB,KAAK,KAAK,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC7F,MAAMU,eAAe,GAAG5C,QAAQ,CAAC,MAAMS,cAAc,CAACyB,KAAK,KAAK,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9F,MAAMW,wBAAwB,GAAG7C,QAAQ,CAAC,MAAMS,cAAc,CAACyB,KAAK,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAErG,MAAMY,kBAAkB,GAAG9C,QAAQ,CAAC,OAAO;MAAE+C,KAAK,EAAEC;IAAU,CAAC,CAAC,CAAC;IAEjE,MAAMC,kBAAkB,GAAGjD,QAAQ,CAAC,OAAO;MAAE+C,KAAK,EAAEG;IAAY,CAAC,CAAC,CAAC;IAEnE,SAASC,YAAYA,CAAA,EAAoB;MAAA,IAAlBC,SAAS,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;MACrC,IAAIjB,gBAAgB,CAACF,KAAK,EAAE;MAC5B,IAAIH,KAAK,CAACG,KAAK,IAAI,IAAI,EAAE;QACvBH,KAAK,CAACG,KAAK,GAAG,CAAC;QACf;MACF;MAEA,MAAMsB,QAAQ,GAAGC,IAAI,CAACtC,GAAG,CAACc,aAAa,CAACC,KAAK,EAAEF,YAAY,CAACE,KAAK,CAAC;MAClE,IAAIkB,SAAS,EAAE;QACb,IAAIZ,WAAW,CAACN,KAAK,EAAEH,KAAK,CAACG,KAAK,GAAG,CAAG,CAACH,KAAK,CAACG,KAAK,GAAGX,KAAK,CAACH,IAAI,EAAEsC,OAAO,CAACF,QAAQ,CAAG;MACxF,CAAC,MAAM;QACL,IAAIf,WAAW,CAACP,KAAK,EAAEH,KAAK,CAACG,KAAK,GAAG,CAAG,CAACH,KAAK,CAACG,KAAK,GAAGX,KAAK,CAACH,IAAI,EAAEsC,OAAO,CAACF,QAAQ,CAAG;MACxF;IACF;IAEA,SAASR,SAASA,CAAEW,CAAa,EAAE;MACjCA,CAAC,CAACC,eAAe,CAAC,CAAC;MACnBT,YAAY,CAAC,CAAC;IAChB;IAEA,SAASD,WAAWA,CAAES,CAAa,EAAE;MACnCA,CAAC,CAACC,eAAe,CAAC,CAAC;MACnBT,YAAY,CAAC,KAAK,CAAC;IACrB;IAEA,SAASU,SAASA,CAAEF,CAAgB,EAAE;MACpC,IACE,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAACG,QAAQ,CAACH,CAAC,CAACI,GAAG,CAAC,IAClFJ,CAAC,CAACK,OAAO,EACT;MAEF,IAAI,CAAC,WAAW,CAAC,CAACF,QAAQ,CAACH,CAAC,CAACI,GAAG,CAAC,EAAE;QACjCJ,CAAC,CAACM,cAAc,CAAC,CAAC;QAClBd,YAAY,CAAC,KAAK,CAAC;QACnB;MACF;MACA,IAAI,CAAC,SAAS,CAAC,CAACW,QAAQ,CAACH,CAAC,CAACI,GAAG,CAAC,EAAE;QAC/BJ,CAAC,CAACM,cAAc,CAAC,CAAC;QAClBd,YAAY,CAAC,CAAC;QACd;MACF;;MAEA;MACA,IAAI,CAAC,cAAc,CAACe,IAAI,CAACP,CAAC,CAACI,GAAG,CAAC,EAAE;QAC/BJ,CAAC,CAACM,cAAc,CAAC,CAAC;MACpB;IACF;IAEA,SAASE,aAAaA,CAAEC,CAAS,EAAE;MACjCrC,KAAK,CAACG,KAAK,GAAGkC,CAAC,GAAG,CAAEA,CAAE,GAAGb,SAAS;IACpC;IAEA,SAASc,kBAAkBA,CAAEV,CAAa,EAAE;MAC1CA,CAAC,CAACC,eAAe,CAAC,CAAC;IACrB;IAEArD,SAAS,CAAC,MAAM;MACd,MAAM;QAAE+D,UAAU,EAAEC,CAAC;QAAE,GAAGC;MAAe,CAAC,GAAG3E,UAAU,CAAC4E,WAAW,CAAClD,KAAK,CAAC;MAE1E,SAASmD,oBAAoBA,CAAA,EAAI;QAC/B,OAAO,CAAC5C,KAAK,CAACsB,SAAS,GAAAuB,YAAA,CAAAlF,IAAA;UAAA,YAER,CAAC+C,WAAW,CAACN,KAAK;UAAA;UAAA;UAAA,UAGpBW,wBAAwB,CAACX,KAAK;UAAA;UAAA,QAEhCQ,aAAa,CAACR,KAAK;UAAA,WAChBc,SAAS;UAAA,eACLqB,kBAAkB;UAAA,QACzBzB,eAAe,CAACV,KAAK;UAAA;QAAA,WAAAyC,YAAA,CAAAjF,iBAAA;UAAA;UAAA,YAMlB;YACRD,IAAI,EAAE;cACJ4C,QAAQ,EAAE,CAACG,WAAW,CAACN,KAAK;cAC5B0C,IAAI,EAAE,IAAI;cACVC,MAAM,EAAEhC,wBAAwB,CAACX,KAAK;cACtC4C,IAAI,EAAElC,eAAe,CAACV,KAAK;cAC3B6C,IAAI,EAAErC,aAAa,CAACR;YACtB;UACF;QAAC;UAAAtB,OAAA,EAAAA,CAAA,MAECkB,KAAK,CAACsB,SAAS,CAACN,kBAAkB,CAACZ,KAAK,CAAC;QAAA,EAE9C;MACH;MAEA,SAAS8C,oBAAoBA,CAAA,EAAI;QAC/B,OAAO,CAAClD,KAAK,CAACmD,SAAS,GAAAN,YAAA,CAAAlF,IAAA;UAAA,YAER,CAACgD,WAAW,CAACP,KAAK;UAAA;UAAA;UAAA,UAGpBW,wBAAwB,CAACX,KAAK;UAAA;UAAA,QAEhCS,aAAa,CAACT,KAAK;UAAA,QACnBU,eAAe,CAACV,KAAK;UAAA;UAAA,WAElBgB,WAAW;UAAA,eACPmB;QAAkB,WAAAM,YAAA,CAAAjF,iBAAA;UAAA;UAAA,YAKtB;YACRD,IAAI,EAAE;cACJ4C,QAAQ,EAAE,CAACI,WAAW,CAACP,KAAK;cAC5B0C,IAAI,EAAE,IAAI;cACVC,MAAM,EAAEhC,wBAAwB,CAACX,KAAK;cACtC4C,IAAI,EAAElC,eAAe,CAACV,KAAK;cAC3B6C,IAAI,EAAEpC,aAAa,CAACT;YACtB;UACF;QAAC;UAAAtB,OAAA,EAAAA,CAAA,MAECkB,KAAK,CAACmD,SAAS,CAAChC,kBAAkB,CAACf,KAAK,CAAC;QAAA,EAE9C;MACH;MAEA,SAASgD,WAAWA,CAAA,EAAI;QACtB,OAAAP,YAAA;UAAA;QAAA,IAEMK,oBAAoB,CAAC,CAAC,EAAAL,YAAA,CAAAhF,QAAA;UAAA,YAGXc,cAAc,CAACyB,KAAK,KAAK;QAAS,UAG7CwC,oBAAoB,CAAC,CAAC;MAG9B;MAEA,SAASS,WAAWA,CAAA,EAAI;QACtB,OAAO,CAAC5D,KAAK,CAACR,SAAS,IAAI,CAACQ,KAAK,CAACV,KAAK,GAAA8D,YAAA,CAAAhF,QAAA;UAAA;QAAA,WAA2B4D,SAAS;MAC7E;MAEA,MAAM6B,kBAAkB,GACtB3E,cAAc,CAACyB,KAAK,KAAK,OAAO,GAAAyC,YAAA;QAAA;MAAA,IAAAA,YAAA,CAAAhF,QAAA;QAAA;MAAA,UAKxB+E,oBAAoB,CAAC,CAAC,KAEvB,CAACnD,KAAK,CAAC8D,OAAO,GAAAV,YAAA,CAAAW,SAAA,SACXH,WAAW,CAAC,CAAC,EAAID,WAAW,CAAC,CAAC,KAClC3B,SAAU;MAElB,MAAMgC,cAAc,GAAGzD,KAAK,CAAC,cAAc,CAAC,IAAIsD,kBAAkB;MAElE,MAAMI,mBAAmB,GACvB/E,cAAc,CAACyB,KAAK,KAAK,OAAO,GAAAyC,YAAA;QAAA;MAAA,IAGxBK,oBAAoB,CAAC,CAAC,EAAAL,YAAA,CAAAhF,QAAA;QAAA;MAAA,aAIvB4B,KAAK,CAAC8D,OAAO,GAAAV,YAAA,CAAAW,SAAA,SACVJ,WAAW,CAAC,CAAC,EAAIC,WAAW,CAAC,CAAC,KAClC5B,SAAU;MAElB,MAAMkC,eAAe,GAAG3D,KAAK,CAAC,eAAe,CAAC,IAAI0D,mBAAmB;MAErE,OAAAb,YAAA,CAAA9E,UAAA,EAAA6F,WAAA;QAAA,cAEiB3D,KAAK,CAACG,KAAK;QAAA,uBACFiC,aAAa;QAAA,aACvBN,SAAS;QAAA,SACd,CACL,gBAAgB,EAChB;UACE,yBAAyB,EAAEpD,cAAc,CAACyB,KAAK,KAAK,SAAS;UAC7D,4BAA4B,EAAEX,KAAK,CAACR,SAAS;UAC7C,uBAAuB,EAAEQ,KAAK,CAACV,KAAK;UACpC,yBAAyB,EAAEU,KAAK,CAAC8D,OAAO;UACxC,uBAAuB,EAAE5E,cAAc,CAACyB,KAAK,KAAK,OAAO;UACzD,yBAAyB,EAAEzB,cAAc,CAACyB,KAAK,KAAK;QACtD,CAAC,EACDX,KAAK,CAACoE,KAAK;MACZ,GACInB,cAAc;QAAA,SACXjD,KAAK,CAACqE,KAAK;QAAA;MAAA;QAIjB,GAAG9D,KAAK;QACR,cAAc,EAAEyD,cAAc,GAAG;UAAA,SAAAM,IAAA,GAAAxC,SAAA,CAAAC,MAAA,EAAIwC,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;YAAJF,IAAI,CAAAE,IAAA,IAAA3C,SAAA,CAAA2C,IAAA;UAAA;UAAA,OAAArB,YAAA,CAAAW,SAAA,SAEnCxD,KAAK,CAAC,cAAc,CAAC,GAAG,GAAGgE,IAAI,CAAC,EAChCV,kBAAkB;QAAA,CAEvB,GAAG7B,SAAS;QACb,eAAe,EAAEkC,eAAe,GAAG;UAAA,SAAAQ,KAAA,GAAA5C,SAAA,CAAAC,MAAA,EAAIwC,IAAI,OAAAC,KAAA,CAAAE,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;YAAJJ,IAAI,CAAAI,KAAA,IAAA7C,SAAA,CAAA6C,KAAA;UAAA;UAAA,OAAAvB,YAAA,CAAAW,SAAA,SAErCE,mBAAmB,EACnB1D,KAAK,CAAC,eAAe,CAAC,GAAG,GAAGgE,IAAI,CAAC;QAAA,CAEtC,GAAGvC;MAAS;IAIrB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
|
@@ -76,6 +76,7 @@ declare const VNumberInput: {
|
|
76
76
|
direction: "horizontal" | "vertical";
|
77
77
|
max: number;
|
78
78
|
clearIcon: IconValue;
|
79
|
+
centerAffix: boolean;
|
79
80
|
hideSpinButtons: boolean;
|
80
81
|
persistentHint: boolean;
|
81
82
|
autofocus: boolean;
|
@@ -118,7 +119,6 @@ declare const VNumberInput: {
|
|
118
119
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
119
120
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
120
121
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
121
|
-
centerAffix?: boolean | undefined;
|
122
122
|
hint?: string | undefined;
|
123
123
|
hideDetails?: boolean | "auto" | undefined;
|
124
124
|
suffix?: string | undefined;
|
@@ -206,6 +206,7 @@ declare const VNumberInput: {
|
|
206
206
|
direction: "horizontal" | "vertical";
|
207
207
|
max: number;
|
208
208
|
clearIcon: IconValue;
|
209
|
+
centerAffix: boolean;
|
209
210
|
hideSpinButtons: boolean;
|
210
211
|
persistentHint: boolean;
|
211
212
|
autofocus: boolean;
|
@@ -248,7 +249,6 @@ declare const VNumberInput: {
|
|
248
249
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
249
250
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
250
251
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
251
|
-
centerAffix?: boolean | undefined;
|
252
252
|
hint?: string | undefined;
|
253
253
|
hideDetails?: boolean | "auto" | undefined;
|
254
254
|
suffix?: string | undefined;
|
@@ -419,6 +419,7 @@ declare const VNumberInput: {
|
|
419
419
|
direction: "horizontal" | "vertical";
|
420
420
|
max: number;
|
421
421
|
clearIcon: IconValue;
|
422
|
+
centerAffix: boolean;
|
422
423
|
hideSpinButtons: boolean;
|
423
424
|
persistentHint: boolean;
|
424
425
|
autofocus: boolean;
|
@@ -461,7 +462,6 @@ declare const VNumberInput: {
|
|
461
462
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
462
463
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
463
464
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
464
|
-
centerAffix?: boolean | undefined;
|
465
465
|
hint?: string | undefined;
|
466
466
|
hideDetails?: boolean | "auto" | undefined;
|
467
467
|
suffix?: string | undefined;
|
@@ -587,6 +587,7 @@ declare const VNumberInput: {
|
|
587
587
|
direction: "horizontal" | "vertical";
|
588
588
|
max: number;
|
589
589
|
clearIcon: IconValue;
|
590
|
+
centerAffix: boolean;
|
590
591
|
hideSpinButtons: boolean;
|
591
592
|
persistentHint: boolean;
|
592
593
|
autofocus: boolean;
|
@@ -629,7 +630,6 @@ declare const VNumberInput: {
|
|
629
630
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
630
631
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
631
632
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
632
|
-
centerAffix?: boolean | undefined;
|
633
633
|
hint?: string | undefined;
|
634
634
|
hideDetails?: boolean | "auto" | undefined;
|
635
635
|
suffix?: string | undefined;
|
@@ -863,10 +863,7 @@ declare const VNumberInput: {
|
|
863
863
|
'onClick:append': PropType<(args_0: MouseEvent) => void>;
|
864
864
|
'onClick:appendInner': PropType<(args_0: MouseEvent) => void>;
|
865
865
|
'onClick:prependInner': PropType<(args_0: MouseEvent) => void>;
|
866
|
-
centerAffix:
|
867
|
-
type: BooleanConstructor;
|
868
|
-
default: undefined;
|
869
|
-
};
|
866
|
+
centerAffix: BooleanConstructor;
|
870
867
|
hideSpinButtons: BooleanConstructor;
|
871
868
|
hint: StringConstructor;
|
872
869
|
persistentHint: BooleanConstructor;
|
@@ -988,10 +985,7 @@ declare const VNumberInput: {
|
|
988
985
|
'onClick:append': PropType<(args_0: MouseEvent) => void>;
|
989
986
|
'onClick:appendInner': PropType<(args_0: MouseEvent) => void>;
|
990
987
|
'onClick:prependInner': PropType<(args_0: MouseEvent) => void>;
|
991
|
-
centerAffix:
|
992
|
-
type: BooleanConstructor;
|
993
|
-
default: undefined;
|
994
|
-
};
|
988
|
+
centerAffix: BooleanConstructor;
|
995
989
|
hideSpinButtons: BooleanConstructor;
|
996
990
|
hint: StringConstructor;
|
997
991
|
persistentHint: BooleanConstructor;
|