@vuetify/nightly 3.9.0-master.2025-07-11 → 3.9.0-master.2025-07-13
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 +8 -3
- package/dist/json/attributes.json +2382 -2338
- package/dist/json/importMap-labs.json +14 -14
- package/dist/json/importMap.json +158 -158
- package/dist/json/tags.json +11 -0
- package/dist/json/web-types.json +4453 -4131
- package/dist/vuetify-labs.cjs +49 -28
- package/dist/vuetify-labs.css +5886 -5886
- package/dist/vuetify-labs.d.ts +831 -283
- package/dist/vuetify-labs.esm.js +49 -28
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +49 -28
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +28 -20
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3262 -3262
- package/dist/vuetify.d.ts +577 -206
- package/dist/vuetify.esm.js +28 -20
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +28 -20
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +14 -14
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +121 -36
- package/lib/components/VCombobox/VCombobox.d.ts +121 -36
- package/lib/components/VField/VField.d.ts +13 -0
- package/lib/components/VField/VField.js +2 -1
- package/lib/components/VField/VField.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.d.ts +13 -0
- package/lib/components/VFileInput/VFileInput.js +3 -1
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VInput/VInput.d.ts +2 -1
- package/lib/components/VInput/VInput.js +15 -14
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.d.ts +116 -36
- package/lib/components/VSelect/VSelect.d.ts +121 -36
- package/lib/components/VTextField/VTextField.d.ts +40 -9
- package/lib/components/VTextField/VTextField.js +2 -0
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTextarea/VTextarea.d.ts +13 -0
- package/lib/components/VTextarea/VTextarea.js +3 -1
- package/lib/components/VTextarea/VTextarea.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +52 -52
- package/lib/framework.js +1 -1
- package/lib/labs/VColorInput/VColorInput.d.ts +13 -0
- package/lib/labs/VColorInput/VColorInput.js +14 -6
- package/lib/labs/VColorInput/VColorInput.js.map +1 -1
- package/lib/labs/VDateInput/VDateInput.d.ts +145 -44
- package/lib/labs/VDateInput/VDateInput.js +4 -1
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/lib/labs/VMaskInput/VMaskInput.d.ts +121 -36
- package/lib/labs/VMaskInput/VMaskInput.js +4 -2
- package/lib/labs/VMaskInput/VMaskInput.js.map +1 -1
- package/package.json +1 -1
@@ -18,6 +18,7 @@ export declare const makeVTextFieldProps: <Defaults extends {
|
|
18
18
|
centerAffix?: unknown;
|
19
19
|
color?: unknown;
|
20
20
|
baseColor?: unknown;
|
21
|
+
details?: unknown;
|
21
22
|
dirty?: unknown;
|
22
23
|
disabled?: unknown;
|
23
24
|
glow?: unknown;
|
@@ -150,6 +151,10 @@ export declare const makeVTextFieldProps: <Defaults extends {
|
|
150
151
|
type: PropType<unknown extends Defaults["baseColor"] ? string : string | Defaults["baseColor"]>;
|
151
152
|
default: unknown extends Defaults["baseColor"] ? string : string | Defaults["baseColor"];
|
152
153
|
};
|
154
|
+
details: unknown extends Defaults["details"] ? BooleanConstructor : {
|
155
|
+
type: PropType<unknown extends Defaults["details"] ? boolean : boolean | Defaults["details"]>;
|
156
|
+
default: unknown extends Defaults["details"] ? boolean : boolean | Defaults["details"];
|
157
|
+
};
|
153
158
|
dirty: unknown extends Defaults["dirty"] ? BooleanConstructor : {
|
154
159
|
type: PropType<unknown extends Defaults["dirty"] ? boolean : boolean | Defaults["dirty"]>;
|
155
160
|
default: unknown extends Defaults["dirty"] ? boolean : boolean | Defaults["dirty"];
|
@@ -434,6 +439,7 @@ export declare const VTextField: {
|
|
434
439
|
error: boolean;
|
435
440
|
active: boolean;
|
436
441
|
direction: "horizontal" | "vertical";
|
442
|
+
details: boolean;
|
437
443
|
style: import("vue").StyleValue;
|
438
444
|
autofocus: boolean;
|
439
445
|
disabled: boolean;
|
@@ -784,6 +790,7 @@ export declare const VTextField: {
|
|
784
790
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
|
785
791
|
error: boolean;
|
786
792
|
active: boolean;
|
793
|
+
details: boolean;
|
787
794
|
style: import("vue").StyleValue;
|
788
795
|
disabled: boolean;
|
789
796
|
focused: boolean;
|
@@ -802,6 +809,7 @@ export declare const VTextField: {
|
|
802
809
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
|
803
810
|
error: boolean;
|
804
811
|
active: boolean;
|
812
|
+
details: boolean;
|
805
813
|
style: import("vue").StyleValue;
|
806
814
|
disabled: boolean;
|
807
815
|
focused: boolean;
|
@@ -829,7 +837,7 @@ export declare const VTextField: {
|
|
829
837
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
830
838
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
831
839
|
centerAffix?: boolean | undefined;
|
832
|
-
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "flat" | "reverse" | "variant" | "error" | "active" | "style" | "disabled" | "focused" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "clearable" | "dirty" | "persistentClear" | "singleLine">;
|
840
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "flat" | "reverse" | "variant" | "error" | "active" | "details" | "style" | "disabled" | "focused" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "clearable" | "dirty" | "persistentClear" | "singleLine">;
|
833
841
|
$attrs: {
|
834
842
|
[x: string]: unknown;
|
835
843
|
};
|
@@ -860,6 +868,7 @@ export declare const VTextField: {
|
|
860
868
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
|
861
869
|
error: boolean;
|
862
870
|
active: boolean;
|
871
|
+
details: boolean;
|
863
872
|
style: import("vue").StyleValue;
|
864
873
|
disabled: boolean;
|
865
874
|
focused: boolean;
|
@@ -902,6 +911,7 @@ export declare const VTextField: {
|
|
902
911
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
|
903
912
|
error: boolean;
|
904
913
|
active: boolean;
|
914
|
+
details: boolean;
|
905
915
|
style: import("vue").StyleValue;
|
906
916
|
disabled: boolean;
|
907
917
|
focused: boolean;
|
@@ -952,6 +962,7 @@ export declare const VTextField: {
|
|
952
962
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
|
953
963
|
error: boolean;
|
954
964
|
active: boolean;
|
965
|
+
details: boolean;
|
955
966
|
style: import("vue").StyleValue;
|
956
967
|
disabled: boolean;
|
957
968
|
focused: boolean;
|
@@ -970,6 +981,7 @@ export declare const VTextField: {
|
|
970
981
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
|
971
982
|
error: boolean;
|
972
983
|
active: boolean;
|
984
|
+
details: boolean;
|
973
985
|
style: import("vue").StyleValue;
|
974
986
|
disabled: boolean;
|
975
987
|
focused: boolean;
|
@@ -1000,13 +1012,13 @@ export declare const VTextField: {
|
|
1000
1012
|
centerAffix?: boolean | undefined;
|
1001
1013
|
} & {
|
1002
1014
|
"onUpdate:focused"?: ((focused: boolean) => any) | undefined;
|
1003
|
-
}, ("flat" | "reverse" | "variant" | "error" | "active" | "style" | "disabled" | "focused" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "clearable" | "dirty" | "persistentClear" | "singleLine") | "controlRef" | "fieldIconColor"> & import("vue").ShallowUnwrapRef<{
|
1015
|
+
}, ("flat" | "reverse" | "variant" | "error" | "active" | "details" | "style" | "disabled" | "focused" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "clearable" | "dirty" | "persistentClear" | "singleLine") | "controlRef" | "fieldIconColor"> & import("vue").ShallowUnwrapRef<{
|
1004
1016
|
controlRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
1005
1017
|
fieldIconColor: import("vue").ComputedRef<string | undefined>;
|
1006
1018
|
}> & {} & import("vue").ComponentCustomProperties & {} & import("../../util/index.js").GenericProps<{
|
1007
1019
|
modelValue?: unknown;
|
1008
1020
|
'onUpdate:modelValue'?: ((value: unknown) => void) | undefined;
|
1009
|
-
}, VFieldSlots>, "id" | "color" | "loading" | "label" | "class" | "theme" | "$children" | "v-slots" | "v-slot:default" | keyof import("vue").VNodeProps | "onUpdate:focused" | "modelValue" | "onUpdate:modelValue" | "baseColor" | "bgColor" | "v-slot:loader" | "iconColor" | "v-slot:label" | "appendInnerIcon" | "prependInnerIcon" | "onClick:clear" | "onClick:appendInner" | "onClick:prependInner" | "v-slot:clear" | "v-slot:prepend-inner" | "v-slot:append-inner" | ("flat" | "reverse" | "variant" | "error" | "active" | "style" | "disabled" | "focused" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "clearable" | "dirty" | "persistentClear" | "singleLine")>, `$${any}`> & {
|
1021
|
+
}, VFieldSlots>, "id" | "color" | "loading" | "label" | "class" | "theme" | "$children" | "v-slots" | "v-slot:default" | keyof import("vue").VNodeProps | "onUpdate:focused" | "modelValue" | "onUpdate:modelValue" | "baseColor" | "bgColor" | "v-slot:loader" | "iconColor" | "v-slot:label" | "appendInnerIcon" | "prependInnerIcon" | "onClick:clear" | "onClick:appendInner" | "onClick:prependInner" | "v-slot:clear" | "v-slot:prepend-inner" | "v-slot:append-inner" | ("flat" | "reverse" | "variant" | "error" | "active" | "details" | "style" | "disabled" | "focused" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "clearable" | "dirty" | "persistentClear" | "singleLine")>, `$${any}`> & {
|
1010
1022
|
_allExposed: {
|
1011
1023
|
reset: () => Promise<void>;
|
1012
1024
|
resetValidation: () => Promise<void>;
|
@@ -1030,6 +1042,7 @@ export declare const VTextField: {
|
|
1030
1042
|
error: boolean;
|
1031
1043
|
active: boolean;
|
1032
1044
|
direction: "horizontal" | "vertical";
|
1045
|
+
details: boolean;
|
1033
1046
|
style: import("vue").StyleValue;
|
1034
1047
|
autofocus: boolean;
|
1035
1048
|
disabled: boolean;
|
@@ -1085,6 +1098,7 @@ export declare const VTextField: {
|
|
1085
1098
|
error: boolean;
|
1086
1099
|
active: boolean;
|
1087
1100
|
direction: "horizontal" | "vertical";
|
1101
|
+
details: boolean;
|
1088
1102
|
style: import("vue").StyleValue;
|
1089
1103
|
autofocus: boolean;
|
1090
1104
|
disabled: boolean;
|
@@ -1435,6 +1449,7 @@ export declare const VTextField: {
|
|
1435
1449
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
|
1436
1450
|
error: boolean;
|
1437
1451
|
active: boolean;
|
1452
|
+
details: boolean;
|
1438
1453
|
style: import("vue").StyleValue;
|
1439
1454
|
disabled: boolean;
|
1440
1455
|
focused: boolean;
|
@@ -1453,6 +1468,7 @@ export declare const VTextField: {
|
|
1453
1468
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
|
1454
1469
|
error: boolean;
|
1455
1470
|
active: boolean;
|
1471
|
+
details: boolean;
|
1456
1472
|
style: import("vue").StyleValue;
|
1457
1473
|
disabled: boolean;
|
1458
1474
|
focused: boolean;
|
@@ -1480,7 +1496,7 @@ export declare const VTextField: {
|
|
1480
1496
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
1481
1497
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
1482
1498
|
centerAffix?: boolean | undefined;
|
1483
|
-
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "flat" | "reverse" | "variant" | "error" | "active" | "style" | "disabled" | "focused" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "clearable" | "dirty" | "persistentClear" | "singleLine">;
|
1499
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "flat" | "reverse" | "variant" | "error" | "active" | "details" | "style" | "disabled" | "focused" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "clearable" | "dirty" | "persistentClear" | "singleLine">;
|
1484
1500
|
$attrs: {
|
1485
1501
|
[x: string]: unknown;
|
1486
1502
|
};
|
@@ -1511,6 +1527,7 @@ export declare const VTextField: {
|
|
1511
1527
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
|
1512
1528
|
error: boolean;
|
1513
1529
|
active: boolean;
|
1530
|
+
details: boolean;
|
1514
1531
|
style: import("vue").StyleValue;
|
1515
1532
|
disabled: boolean;
|
1516
1533
|
focused: boolean;
|
@@ -1553,6 +1570,7 @@ export declare const VTextField: {
|
|
1553
1570
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
|
1554
1571
|
error: boolean;
|
1555
1572
|
active: boolean;
|
1573
|
+
details: boolean;
|
1556
1574
|
style: import("vue").StyleValue;
|
1557
1575
|
disabled: boolean;
|
1558
1576
|
focused: boolean;
|
@@ -1603,6 +1621,7 @@ export declare const VTextField: {
|
|
1603
1621
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
|
1604
1622
|
error: boolean;
|
1605
1623
|
active: boolean;
|
1624
|
+
details: boolean;
|
1606
1625
|
style: import("vue").StyleValue;
|
1607
1626
|
disabled: boolean;
|
1608
1627
|
focused: boolean;
|
@@ -1621,6 +1640,7 @@ export declare const VTextField: {
|
|
1621
1640
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
|
1622
1641
|
error: boolean;
|
1623
1642
|
active: boolean;
|
1643
|
+
details: boolean;
|
1624
1644
|
style: import("vue").StyleValue;
|
1625
1645
|
disabled: boolean;
|
1626
1646
|
focused: boolean;
|
@@ -1651,13 +1671,13 @@ export declare const VTextField: {
|
|
1651
1671
|
centerAffix?: boolean | undefined;
|
1652
1672
|
} & {
|
1653
1673
|
"onUpdate:focused"?: ((focused: boolean) => any) | undefined;
|
1654
|
-
}, ("flat" | "reverse" | "variant" | "error" | "active" | "style" | "disabled" | "focused" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "clearable" | "dirty" | "persistentClear" | "singleLine") | "controlRef" | "fieldIconColor"> & import("vue").ShallowUnwrapRef<{
|
1674
|
+
}, ("flat" | "reverse" | "variant" | "error" | "active" | "details" | "style" | "disabled" | "focused" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "clearable" | "dirty" | "persistentClear" | "singleLine") | "controlRef" | "fieldIconColor"> & import("vue").ShallowUnwrapRef<{
|
1655
1675
|
controlRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
1656
1676
|
fieldIconColor: import("vue").ComputedRef<string | undefined>;
|
1657
1677
|
}> & {} & import("vue").ComponentCustomProperties & {} & import("../../util/index.js").GenericProps<{
|
1658
1678
|
modelValue?: unknown;
|
1659
1679
|
'onUpdate:modelValue'?: ((value: unknown) => void) | undefined;
|
1660
|
-
}, VFieldSlots>, "id" | "color" | "loading" | "label" | "class" | "theme" | "$children" | "v-slots" | "v-slot:default" | keyof import("vue").VNodeProps | "onUpdate:focused" | "modelValue" | "onUpdate:modelValue" | "baseColor" | "bgColor" | "v-slot:loader" | "iconColor" | "v-slot:label" | "appendInnerIcon" | "prependInnerIcon" | "onClick:clear" | "onClick:appendInner" | "onClick:prependInner" | "v-slot:clear" | "v-slot:prepend-inner" | "v-slot:append-inner" | ("flat" | "reverse" | "variant" | "error" | "active" | "style" | "disabled" | "focused" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "clearable" | "dirty" | "persistentClear" | "singleLine")>, `$${any}`> & {
|
1680
|
+
}, VFieldSlots>, "id" | "color" | "loading" | "label" | "class" | "theme" | "$children" | "v-slots" | "v-slot:default" | keyof import("vue").VNodeProps | "onUpdate:focused" | "modelValue" | "onUpdate:modelValue" | "baseColor" | "bgColor" | "v-slot:loader" | "iconColor" | "v-slot:label" | "appendInnerIcon" | "prependInnerIcon" | "onClick:clear" | "onClick:appendInner" | "onClick:prependInner" | "v-slot:clear" | "v-slot:prepend-inner" | "v-slot:append-inner" | ("flat" | "reverse" | "variant" | "error" | "active" | "details" | "style" | "disabled" | "focused" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "clearable" | "dirty" | "persistentClear" | "singleLine")>, `$${any}`> & {
|
1661
1681
|
_allExposed: {
|
1662
1682
|
reset: () => Promise<void>;
|
1663
1683
|
resetValidation: () => Promise<void>;
|
@@ -1676,6 +1696,7 @@ export declare const VTextField: {
|
|
1676
1696
|
error: boolean;
|
1677
1697
|
active: boolean;
|
1678
1698
|
direction: "horizontal" | "vertical";
|
1699
|
+
details: boolean;
|
1679
1700
|
style: import("vue").StyleValue;
|
1680
1701
|
autofocus: boolean;
|
1681
1702
|
disabled: boolean;
|
@@ -1711,6 +1732,7 @@ export declare const VTextField: {
|
|
1711
1732
|
error: boolean;
|
1712
1733
|
active: boolean;
|
1713
1734
|
direction: "horizontal" | "vertical";
|
1735
|
+
details: boolean;
|
1714
1736
|
style: import("vue").StyleValue;
|
1715
1737
|
autofocus: boolean;
|
1716
1738
|
disabled: boolean;
|
@@ -2061,6 +2083,7 @@ export declare const VTextField: {
|
|
2061
2083
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
|
2062
2084
|
error: boolean;
|
2063
2085
|
active: boolean;
|
2086
|
+
details: boolean;
|
2064
2087
|
style: import("vue").StyleValue;
|
2065
2088
|
disabled: boolean;
|
2066
2089
|
focused: boolean;
|
@@ -2079,6 +2102,7 @@ export declare const VTextField: {
|
|
2079
2102
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
|
2080
2103
|
error: boolean;
|
2081
2104
|
active: boolean;
|
2105
|
+
details: boolean;
|
2082
2106
|
style: import("vue").StyleValue;
|
2083
2107
|
disabled: boolean;
|
2084
2108
|
focused: boolean;
|
@@ -2106,7 +2130,7 @@ export declare const VTextField: {
|
|
2106
2130
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
2107
2131
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
2108
2132
|
centerAffix?: boolean | undefined;
|
2109
|
-
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "flat" | "reverse" | "variant" | "error" | "active" | "style" | "disabled" | "focused" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "clearable" | "dirty" | "persistentClear" | "singleLine">;
|
2133
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "flat" | "reverse" | "variant" | "error" | "active" | "details" | "style" | "disabled" | "focused" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "clearable" | "dirty" | "persistentClear" | "singleLine">;
|
2110
2134
|
$attrs: {
|
2111
2135
|
[x: string]: unknown;
|
2112
2136
|
};
|
@@ -2137,6 +2161,7 @@ export declare const VTextField: {
|
|
2137
2161
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
|
2138
2162
|
error: boolean;
|
2139
2163
|
active: boolean;
|
2164
|
+
details: boolean;
|
2140
2165
|
style: import("vue").StyleValue;
|
2141
2166
|
disabled: boolean;
|
2142
2167
|
focused: boolean;
|
@@ -2179,6 +2204,7 @@ export declare const VTextField: {
|
|
2179
2204
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
|
2180
2205
|
error: boolean;
|
2181
2206
|
active: boolean;
|
2207
|
+
details: boolean;
|
2182
2208
|
style: import("vue").StyleValue;
|
2183
2209
|
disabled: boolean;
|
2184
2210
|
focused: boolean;
|
@@ -2229,6 +2255,7 @@ export declare const VTextField: {
|
|
2229
2255
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
|
2230
2256
|
error: boolean;
|
2231
2257
|
active: boolean;
|
2258
|
+
details: boolean;
|
2232
2259
|
style: import("vue").StyleValue;
|
2233
2260
|
disabled: boolean;
|
2234
2261
|
focused: boolean;
|
@@ -2247,6 +2274,7 @@ export declare const VTextField: {
|
|
2247
2274
|
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
|
2248
2275
|
error: boolean;
|
2249
2276
|
active: boolean;
|
2277
|
+
details: boolean;
|
2250
2278
|
style: import("vue").StyleValue;
|
2251
2279
|
disabled: boolean;
|
2252
2280
|
focused: boolean;
|
@@ -2277,13 +2305,13 @@ export declare const VTextField: {
|
|
2277
2305
|
centerAffix?: boolean | undefined;
|
2278
2306
|
} & {
|
2279
2307
|
"onUpdate:focused"?: ((focused: boolean) => any) | undefined;
|
2280
|
-
}, ("flat" | "reverse" | "variant" | "error" | "active" | "style" | "disabled" | "focused" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "clearable" | "dirty" | "persistentClear" | "singleLine") | "controlRef" | "fieldIconColor"> & import("vue").ShallowUnwrapRef<{
|
2308
|
+
}, ("flat" | "reverse" | "variant" | "error" | "active" | "details" | "style" | "disabled" | "focused" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "clearable" | "dirty" | "persistentClear" | "singleLine") | "controlRef" | "fieldIconColor"> & import("vue").ShallowUnwrapRef<{
|
2281
2309
|
controlRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
2282
2310
|
fieldIconColor: import("vue").ComputedRef<string | undefined>;
|
2283
2311
|
}> & {} & import("vue").ComponentCustomProperties & {} & import("../../util/index.js").GenericProps<{
|
2284
2312
|
modelValue?: unknown;
|
2285
2313
|
'onUpdate:modelValue'?: ((value: unknown) => void) | undefined;
|
2286
|
-
}, VFieldSlots>, "id" | "color" | "loading" | "label" | "class" | "theme" | "$children" | "v-slots" | "v-slot:default" | keyof import("vue").VNodeProps | "onUpdate:focused" | "modelValue" | "onUpdate:modelValue" | "baseColor" | "bgColor" | "v-slot:loader" | "iconColor" | "v-slot:label" | "appendInnerIcon" | "prependInnerIcon" | "onClick:clear" | "onClick:appendInner" | "onClick:prependInner" | "v-slot:clear" | "v-slot:prepend-inner" | "v-slot:append-inner" | ("flat" | "reverse" | "variant" | "error" | "active" | "style" | "disabled" | "focused" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "clearable" | "dirty" | "persistentClear" | "singleLine")>, `$${any}`> & {
|
2314
|
+
}, VFieldSlots>, "id" | "color" | "loading" | "label" | "class" | "theme" | "$children" | "v-slots" | "v-slot:default" | keyof import("vue").VNodeProps | "onUpdate:focused" | "modelValue" | "onUpdate:modelValue" | "baseColor" | "bgColor" | "v-slot:loader" | "iconColor" | "v-slot:label" | "appendInnerIcon" | "prependInnerIcon" | "onClick:clear" | "onClick:appendInner" | "onClick:prependInner" | "v-slot:clear" | "v-slot:prepend-inner" | "v-slot:append-inner" | ("flat" | "reverse" | "variant" | "error" | "active" | "details" | "style" | "disabled" | "focused" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "clearable" | "dirty" | "persistentClear" | "singleLine")>, `$${any}`> & {
|
2287
2315
|
_allExposed: {
|
2288
2316
|
reset: () => Promise<void>;
|
2289
2317
|
resetValidation: () => Promise<void>;
|
@@ -2307,6 +2335,7 @@ export declare const VTextField: {
|
|
2307
2335
|
error: boolean;
|
2308
2336
|
active: boolean;
|
2309
2337
|
direction: "horizontal" | "vertical";
|
2338
|
+
details: boolean;
|
2310
2339
|
style: import("vue").StyleValue;
|
2311
2340
|
autofocus: boolean;
|
2312
2341
|
disabled: boolean;
|
@@ -2374,6 +2403,7 @@ export declare const VTextField: {
|
|
2374
2403
|
};
|
2375
2404
|
color: StringConstructor;
|
2376
2405
|
baseColor: StringConstructor;
|
2406
|
+
details: BooleanConstructor;
|
2377
2407
|
dirty: BooleanConstructor;
|
2378
2408
|
disabled: {
|
2379
2409
|
type: BooleanConstructor;
|
@@ -2485,6 +2515,7 @@ export declare const VTextField: {
|
|
2485
2515
|
};
|
2486
2516
|
color: StringConstructor;
|
2487
2517
|
baseColor: StringConstructor;
|
2518
|
+
details: BooleanConstructor;
|
2488
2519
|
dirty: BooleanConstructor;
|
2489
2520
|
disabled: {
|
2490
2521
|
type: BooleanConstructor;
|
@@ -141,6 +141,7 @@ export const VTextField = genericComponent()({
|
|
141
141
|
isDirty,
|
142
142
|
isReadonly,
|
143
143
|
isValid,
|
144
|
+
hasDetails,
|
144
145
|
reset
|
145
146
|
} = _ref2;
|
146
147
|
return _createVNode(VField, _mergeProps({
|
@@ -157,6 +158,7 @@ export const VTextField = genericComponent()({
|
|
157
158
|
"dirty": isDirty.value || props.dirty,
|
158
159
|
"disabled": isDisabled.value,
|
159
160
|
"focused": isFocused.value,
|
161
|
+
"details": hasDetails.value,
|
160
162
|
"error": isValid.value === false
|
161
163
|
}), {
|
162
164
|
...slots,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VTextField.js","names":["VCounter","makeVFieldProps","VField","makeVInputProps","VInput","useAutofocus","useFocus","forwardRefs","useProxiedModel","vIntersect","cloneVNode","computed","nextTick","ref","callEvent","filterInputAttrs","genericComponent","propsFactory","useRender","activeTypes","makeVTextFieldProps","autofocus","Boolean","counter","Number","String","counterValue","Function","prefix","placeholder","persistentPlaceholder","persistentCounter","suffix","role","type","default","modelModifiers","Object","VTextField","name","directives","inheritAttrs","props","emits","e","focused","val","setup","_ref","attrs","emit","slots","model","isFocused","focus","blur","onIntersect","value","toString","length","max","maxlength","undefined","isPlainOrUnderlined","includes","variant","vInputRef","vFieldRef","inputRef","isActive","active","onFocus","document","activeElement","onControlMousedown","target","preventDefault","onControlClick","onClear","reset","stopPropagation","onInput","el","trim","caretPosition","selectionStart","selectionEnd","hasCounter","hasDetails","details","rootAttrs","inputAttrs","modelValue","_","inputProps","filterProps","fieldProps","_createVNode","_mergeProps","$event","class","style","_ref2","id","isDisabled","isDirty","isReadonly","isValid","dirty","_ref3","fieldClass","slotProps","inputNode","_withDirectives","_createElementVNode","handler","once","_Fragment","_normalizeClass","disabled"],"sources":["../../../src/components/VTextField/VTextField.tsx"],"sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Components\nimport { VCounter } from '@/components/VCounter/VCounter'\nimport { makeVFieldProps, VField } from '@/components/VField/VField'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useAutofocus } from '@/composables/autofocus'\nimport { useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport vIntersect from '@/directives/intersect'\n\n// Utilities\nimport { cloneVNode, computed, nextTick, ref } from 'vue'\nimport { callEvent, filterInputAttrs, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VCounterSlot } from '@/components/VCounter/VCounter'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nconst activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\nexport const makeVTextFieldProps = propsFactory({\n autofocus: Boolean,\n counter: [Boolean, Number, String],\n counterValue: [Number, Function] as PropType<number | ((value: any) => number)>,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n role: String,\n type: {\n type: String,\n default: 'text',\n },\n modelModifiers: Object as PropType<Record<string, boolean>>,\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n}, 'VTextField')\n\nexport type VTextFieldSlots = Omit<VInputSlots & VFieldSlots, 'default'> & {\n default: never\n counter: VCounterSlot\n}\n\nexport const VTextField = genericComponent<VTextFieldSlots>()({\n name: 'VTextField',\n\n directives: { vIntersect },\n\n inheritAttrs: false,\n\n props: makeVTextFieldProps(),\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\n const { onIntersect } = useAutofocus(props)\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value)\n : typeof props.counterValue === 'number' ? props.counterValue\n : (model.value ?? '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as unknown as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VField>()\n const inputRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n activeTypes.includes(props.type) ||\n props.persistentPlaceholder ||\n isFocused.value ||\n props.active\n ))\n function onFocus () {\n if (!isFocused.value) focus()\n\n nextTick(() => {\n if (inputRef.value !== document.activeElement) {\n nextTick(() => inputRef.value?.focus())\n }\n })\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n\n if (e.target === inputRef.value) return\n\n onFocus()\n e.preventDefault()\n }\n function onControlClick (e: MouseEvent) {\n emit('click:control', e)\n }\n function onClear (e: MouseEvent, reset: () => void) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = null\n reset()\n\n callEvent(props['onClick:clear'], e)\n })\n }\n function onInput (e: Event) {\n const el = e.target as HTMLInputElement\n model.value = el.value\n if (\n props.modelModifiers?.trim &&\n ['text', 'search', 'password', 'tel', 'url'].includes(props.type)\n ) {\n const caretPosition = [el.selectionStart, el.selectionEnd]\n nextTick(() => {\n el.selectionStart = caretPosition[0]\n el.selectionEnd = caretPosition[1]\n })\n }\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || (props.counter !== false && props.counter != null))\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const { modelValue: _, ...inputProps } = VInput.filterProps(props)\n const fieldProps = VField.filterProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-text-field',\n {\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-input--plain-underlined': isPlainOrUnderlined.value,\n },\n props.class,\n ]}\n style={ props.style }\n { ...rootAttrs }\n { ...inputProps }\n centerAffix={ !isPlainOrUnderlined.value }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n reset,\n }) => (\n <VField\n ref={ vFieldRef }\n onMousedown={ onControlMousedown }\n onClick={ onControlClick }\n onClick:clear={ (e: MouseEvent) => onClear(e, reset) }\n onClick:prependInner={ props['onClick:prependInner'] }\n onClick:appendInner={ props['onClick:appendInner'] }\n role={ props.role }\n { ...fieldProps }\n id={ id.value }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => {\n const inputNode = (\n <input\n ref={ inputRef }\n value={ model.value }\n onInput={ onInput }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n name={ props.name }\n placeholder={ props.placeholder }\n size={ 1 }\n type={ props.type }\n onFocus={ onFocus }\n onBlur={ blur }\n { ...slotProps }\n { ...inputAttrs }\n />\n )\n\n return (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n <span class=\"v-text-field__prefix__text\">\n { props.prefix }\n </span>\n </span>\n )}\n\n { slots.default ? (\n <div\n class={ fieldClass }\n data-no-activator=\"\"\n >\n { slots.default() }\n { inputNode }\n </div>\n ) : cloneVNode(inputNode, { class: fieldClass })}\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n <span class=\"v-text-field__suffix__text\">\n { props.suffix }\n </span>\n </span>\n )}\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n disabled={ props.disabled }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VTextField = InstanceType<typeof VTextField>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VTextField.js","names":["VCounter","makeVFieldProps","VField","makeVInputProps","VInput","useAutofocus","useFocus","forwardRefs","useProxiedModel","vIntersect","cloneVNode","computed","nextTick","ref","callEvent","filterInputAttrs","genericComponent","propsFactory","useRender","activeTypes","makeVTextFieldProps","autofocus","Boolean","counter","Number","String","counterValue","Function","prefix","placeholder","persistentPlaceholder","persistentCounter","suffix","role","type","default","modelModifiers","Object","VTextField","name","directives","inheritAttrs","props","emits","e","focused","val","setup","_ref","attrs","emit","slots","model","isFocused","focus","blur","onIntersect","value","toString","length","max","maxlength","undefined","isPlainOrUnderlined","includes","variant","vInputRef","vFieldRef","inputRef","isActive","active","onFocus","document","activeElement","onControlMousedown","target","preventDefault","onControlClick","onClear","reset","stopPropagation","onInput","el","trim","caretPosition","selectionStart","selectionEnd","hasCounter","hasDetails","details","rootAttrs","inputAttrs","modelValue","_","inputProps","filterProps","fieldProps","_createVNode","_mergeProps","$event","class","style","_ref2","id","isDisabled","isDirty","isReadonly","isValid","dirty","_ref3","fieldClass","slotProps","inputNode","_withDirectives","_createElementVNode","handler","once","_Fragment","_normalizeClass","disabled"],"sources":["../../../src/components/VTextField/VTextField.tsx"],"sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Components\nimport { VCounter } from '@/components/VCounter/VCounter'\nimport { makeVFieldProps, VField } from '@/components/VField/VField'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useAutofocus } from '@/composables/autofocus'\nimport { useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport vIntersect from '@/directives/intersect'\n\n// Utilities\nimport { cloneVNode, computed, nextTick, ref } from 'vue'\nimport { callEvent, filterInputAttrs, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VCounterSlot } from '@/components/VCounter/VCounter'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nconst activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\nexport const makeVTextFieldProps = propsFactory({\n autofocus: Boolean,\n counter: [Boolean, Number, String],\n counterValue: [Number, Function] as PropType<number | ((value: any) => number)>,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n role: String,\n type: {\n type: String,\n default: 'text',\n },\n modelModifiers: Object as PropType<Record<string, boolean>>,\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n}, 'VTextField')\n\nexport type VTextFieldSlots = Omit<VInputSlots & VFieldSlots, 'default'> & {\n default: never\n counter: VCounterSlot\n}\n\nexport const VTextField = genericComponent<VTextFieldSlots>()({\n name: 'VTextField',\n\n directives: { vIntersect },\n\n inheritAttrs: false,\n\n props: makeVTextFieldProps(),\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\n const { onIntersect } = useAutofocus(props)\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value)\n : typeof props.counterValue === 'number' ? props.counterValue\n : (model.value ?? '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as unknown as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VField>()\n const inputRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n activeTypes.includes(props.type) ||\n props.persistentPlaceholder ||\n isFocused.value ||\n props.active\n ))\n function onFocus () {\n if (!isFocused.value) focus()\n\n nextTick(() => {\n if (inputRef.value !== document.activeElement) {\n nextTick(() => inputRef.value?.focus())\n }\n })\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n\n if (e.target === inputRef.value) return\n\n onFocus()\n e.preventDefault()\n }\n function onControlClick (e: MouseEvent) {\n emit('click:control', e)\n }\n function onClear (e: MouseEvent, reset: () => void) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = null\n reset()\n\n callEvent(props['onClick:clear'], e)\n })\n }\n function onInput (e: Event) {\n const el = e.target as HTMLInputElement\n model.value = el.value\n if (\n props.modelModifiers?.trim &&\n ['text', 'search', 'password', 'tel', 'url'].includes(props.type)\n ) {\n const caretPosition = [el.selectionStart, el.selectionEnd]\n nextTick(() => {\n el.selectionStart = caretPosition[0]\n el.selectionEnd = caretPosition[1]\n })\n }\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || (props.counter !== false && props.counter != null))\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const { modelValue: _, ...inputProps } = VInput.filterProps(props)\n const fieldProps = VField.filterProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-text-field',\n {\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-input--plain-underlined': isPlainOrUnderlined.value,\n },\n props.class,\n ]}\n style={ props.style }\n { ...rootAttrs }\n { ...inputProps }\n centerAffix={ !isPlainOrUnderlined.value }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n hasDetails,\n reset,\n }) => (\n <VField\n ref={ vFieldRef }\n onMousedown={ onControlMousedown }\n onClick={ onControlClick }\n onClick:clear={ (e: MouseEvent) => onClear(e, reset) }\n onClick:prependInner={ props['onClick:prependInner'] }\n onClick:appendInner={ props['onClick:appendInner'] }\n role={ props.role }\n { ...fieldProps }\n id={ id.value }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n details={ hasDetails.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => {\n const inputNode = (\n <input\n ref={ inputRef }\n value={ model.value }\n onInput={ onInput }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n name={ props.name }\n placeholder={ props.placeholder }\n size={ 1 }\n type={ props.type }\n onFocus={ onFocus }\n onBlur={ blur }\n { ...slotProps }\n { ...inputAttrs }\n />\n )\n\n return (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n <span class=\"v-text-field__prefix__text\">\n { props.prefix }\n </span>\n </span>\n )}\n\n { slots.default ? (\n <div\n class={ fieldClass }\n data-no-activator=\"\"\n >\n { slots.default() }\n { inputNode }\n </div>\n ) : cloneVNode(inputNode, { class: fieldClass })}\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n <span class=\"v-text-field__suffix__text\">\n { props.suffix }\n </span>\n </span>\n )}\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n disabled={ props.disabled }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VTextField = InstanceType<typeof VTextField>\n"],"mappings":"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","ignoreList":[]}
|
@@ -17,6 +17,7 @@ export declare const makeVTextareaProps: <Defaults extends {
|
|
17
17
|
centerAffix?: unknown;
|
18
18
|
color?: unknown;
|
19
19
|
baseColor?: unknown;
|
20
|
+
details?: unknown;
|
20
21
|
dirty?: unknown;
|
21
22
|
disabled?: unknown;
|
22
23
|
glow?: unknown;
|
@@ -151,6 +152,10 @@ export declare const makeVTextareaProps: <Defaults extends {
|
|
151
152
|
type: PropType<unknown extends Defaults["baseColor"] ? string : string | Defaults["baseColor"]>;
|
152
153
|
default: unknown extends Defaults["baseColor"] ? string : string | Defaults["baseColor"];
|
153
154
|
};
|
155
|
+
details: unknown extends Defaults["details"] ? BooleanConstructor : {
|
156
|
+
type: PropType<unknown extends Defaults["details"] ? boolean : boolean | Defaults["details"]>;
|
157
|
+
default: unknown extends Defaults["details"] ? boolean : boolean | Defaults["details"];
|
158
|
+
};
|
154
159
|
dirty: unknown extends Defaults["dirty"] ? BooleanConstructor : {
|
155
160
|
type: PropType<unknown extends Defaults["dirty"] ? boolean : boolean | Defaults["dirty"]>;
|
156
161
|
default: unknown extends Defaults["dirty"] ? boolean : boolean | Defaults["dirty"];
|
@@ -446,6 +451,7 @@ export declare const VTextarea: {
|
|
446
451
|
error: boolean;
|
447
452
|
active: boolean;
|
448
453
|
direction: "horizontal" | "vertical";
|
454
|
+
details: boolean;
|
449
455
|
style: import("vue").StyleValue;
|
450
456
|
autofocus: boolean;
|
451
457
|
disabled: boolean;
|
@@ -809,6 +815,7 @@ export declare const VTextarea: {
|
|
809
815
|
error: boolean;
|
810
816
|
active: boolean;
|
811
817
|
direction: "horizontal" | "vertical";
|
818
|
+
details: boolean;
|
812
819
|
style: import("vue").StyleValue;
|
813
820
|
autofocus: boolean;
|
814
821
|
disabled: boolean;
|
@@ -865,6 +872,7 @@ export declare const VTextarea: {
|
|
865
872
|
error: boolean;
|
866
873
|
active: boolean;
|
867
874
|
direction: "horizontal" | "vertical";
|
875
|
+
details: boolean;
|
868
876
|
style: import("vue").StyleValue;
|
869
877
|
autofocus: boolean;
|
870
878
|
disabled: boolean;
|
@@ -1222,6 +1230,7 @@ export declare const VTextarea: {
|
|
1222
1230
|
error: boolean;
|
1223
1231
|
active: boolean;
|
1224
1232
|
direction: "horizontal" | "vertical";
|
1233
|
+
details: boolean;
|
1225
1234
|
style: import("vue").StyleValue;
|
1226
1235
|
autofocus: boolean;
|
1227
1236
|
disabled: boolean;
|
@@ -1259,6 +1268,7 @@ export declare const VTextarea: {
|
|
1259
1268
|
error: boolean;
|
1260
1269
|
active: boolean;
|
1261
1270
|
direction: "horizontal" | "vertical";
|
1271
|
+
details: boolean;
|
1262
1272
|
style: import("vue").StyleValue;
|
1263
1273
|
autofocus: boolean;
|
1264
1274
|
disabled: boolean;
|
@@ -1622,6 +1632,7 @@ export declare const VTextarea: {
|
|
1622
1632
|
error: boolean;
|
1623
1633
|
active: boolean;
|
1624
1634
|
direction: "horizontal" | "vertical";
|
1635
|
+
details: boolean;
|
1625
1636
|
style: import("vue").StyleValue;
|
1626
1637
|
autofocus: boolean;
|
1627
1638
|
disabled: boolean;
|
@@ -1691,6 +1702,7 @@ export declare const VTextarea: {
|
|
1691
1702
|
};
|
1692
1703
|
color: StringConstructor;
|
1693
1704
|
baseColor: StringConstructor;
|
1705
|
+
details: BooleanConstructor;
|
1694
1706
|
dirty: BooleanConstructor;
|
1695
1707
|
disabled: {
|
1696
1708
|
type: BooleanConstructor;
|
@@ -1808,6 +1820,7 @@ export declare const VTextarea: {
|
|
1808
1820
|
};
|
1809
1821
|
color: StringConstructor;
|
1810
1822
|
baseColor: StringConstructor;
|
1823
|
+
details: BooleanConstructor;
|
1811
1824
|
dirty: BooleanConstructor;
|
1812
1825
|
disabled: {
|
1813
1826
|
type: BooleanConstructor;
|
@@ -189,7 +189,8 @@ export const VTextarea = genericComponent()({
|
|
189
189
|
isDisabled,
|
190
190
|
isDirty,
|
191
191
|
isReadonly,
|
192
|
-
isValid
|
192
|
+
isValid,
|
193
|
+
hasDetails
|
193
194
|
} = _ref2;
|
194
195
|
return _createVNode(VField, _mergeProps({
|
195
196
|
"ref": vFieldRef,
|
@@ -208,6 +209,7 @@ export const VTextarea = genericComponent()({
|
|
208
209
|
"dirty": isDirty.value || props.dirty,
|
209
210
|
"disabled": isDisabled.value,
|
210
211
|
"focused": isFocused.value,
|
212
|
+
"details": hasDetails.value,
|
211
213
|
"error": isValid.value === false
|
212
214
|
}), {
|
213
215
|
...slots,
|