@vuetify/nightly 3.8.6-dev.2025-05-21 → 3.8.6-master.2025-05-22
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 +10 -21
- package/dist/json/attributes.json +3598 -3634
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +184 -184
- package/dist/json/tags.json +0 -9
- package/dist/json/web-types.json +6522 -6697
- package/dist/vuetify-labs.cjs +223 -323
- package/dist/vuetify-labs.css +4050 -4078
- package/dist/vuetify-labs.d.ts +1350 -1508
- package/dist/vuetify-labs.esm.js +224 -324
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +223 -323
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +212 -317
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3022 -3050
- package/dist/vuetify.d.ts +517 -667
- package/dist/vuetify.esm.js +213 -318
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +212 -317
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1195 -1200
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +1 -6
- package/lib/components/VAlert/VAlert.d.ts +0 -35
- package/lib/components/VAlert/VAlert.js +9 -14
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAlert/VAlert.sass +1 -7
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +96 -120
- package/lib/components/VAutocomplete/VAutocomplete.js +1 -18
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.css +7 -30
- package/lib/components/VBtnGroup/VBtnGroup.d.ts +32 -58
- package/lib/components/VBtnGroup/VBtnGroup.js +3 -7
- package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.sass +17 -44
- package/lib/components/VBtnToggle/VBtnToggle.d.ts +0 -25
- package/lib/components/VCheckbox/VCheckbox.d.ts +3 -3
- package/lib/components/VCombobox/VCombobox.d.ts +96 -120
- package/lib/components/VCombobox/VCombobox.js +1 -19
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.d.ts +0 -10
- package/lib/components/VDatePicker/VDatePickerMonth.d.ts +0 -10
- package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VField/VField.d.ts +3 -3
- package/lib/components/VFileInput/VFileInput.d.ts +15 -15
- package/lib/components/VInput/VInput.d.ts +4 -4
- package/lib/components/VList/VListChildren.js.map +1 -1
- package/lib/components/VNavigationDrawer/touch.js +2 -4
- package/lib/components/VNavigationDrawer/touch.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.d.ts +89 -103
- package/lib/components/VNumberInput/VNumberInput.js +22 -29
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.css +1 -1
- package/lib/components/VOverlay/_variables.scss +1 -1
- package/lib/components/VOverlay/locationStrategies.js +16 -8
- package/lib/components/VOverlay/locationStrategies.js.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.js +2 -2
- package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.d.ts +3 -3
- package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
- package/lib/components/VSelect/VSelect.d.ts +96 -120
- package/lib/components/VSelect/VSelect.js +37 -25
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSlider/VSlider.d.ts +3 -3
- package/lib/components/VSlider/slider.js +1 -1
- package/lib/components/VSlider/slider.js.map +1 -1
- package/lib/components/VSwitch/VSwitch.d.ts +3 -3
- package/lib/components/VTextField/VTextField.d.ts +27 -27
- package/lib/components/VTextarea/VTextarea.d.ts +15 -15
- package/lib/composables/calendar.d.ts +0 -6
- package/lib/composables/calendar.js +1 -2
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/date/DateAdapter.d.ts +1 -1
- package/lib/composables/date/DateAdapter.js.map +1 -1
- package/lib/composables/date/adapters/vuetify.d.ts +1 -1
- package/lib/composables/date/adapters/vuetify.js +4 -4
- package/lib/composables/date/adapters/vuetify.js.map +1 -1
- package/lib/composables/date/date.d.ts +1 -1
- package/lib/composables/date/index.d.ts +0 -1
- package/lib/composables/date/index.js +0 -1
- package/lib/composables/date/index.js.map +1 -1
- package/lib/composables/filter.js +0 -3
- package/lib/composables/filter.js.map +1 -1
- package/lib/composables/goto.js +1 -1
- package/lib/composables/goto.js.map +1 -1
- package/lib/composables/theme.d.ts +1 -6
- package/lib/composables/theme.js +26 -94
- package/lib/composables/theme.js.map +1 -1
- package/lib/composables/virtual.js +1 -6
- package/lib/composables/virtual.js.map +1 -1
- package/lib/entry-bundler.d.ts +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/entry-bundler.js.map +1 -1
- package/lib/framework.d.ts +67 -72
- package/lib/framework.js +1 -1
- package/lib/framework.js.map +1 -1
- package/lib/labs/VCalendar/VCalendar.d.ts +0 -10
- package/lib/labs/VColorInput/VColorInput.d.ts +3 -3
- package/lib/labs/VDateInput/VDateInput.d.ts +87 -97
- package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
- package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
- package/lib/labs/VIconBtn/VIconBtn.js +11 -7
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/lib/labs/entry-bundler.d.ts +1 -1
- package/lib/util/box.d.ts +1 -0
- package/lib/util/box.js +27 -0
- package/lib/util/box.js.map +1 -1
- package/lib/util/globals.d.ts +0 -1
- package/lib/util/globals.js +0 -1
- package/lib/util/globals.js.map +1 -1
- package/package.json +5 -7
- package/lib/composables/iconSizes.d.ts +0 -28
- package/lib/composables/iconSizes.js +0 -23
- package/lib/composables/iconSizes.js.map +0 -1
@@ -495,7 +495,6 @@ export declare const VFileInput: {
|
|
495
495
|
baseColor?: string | undefined;
|
496
496
|
bgColor?: string | undefined;
|
497
497
|
appendIcon?: import("../../composables/icons.js").IconValue | undefined;
|
498
|
-
iconColor?: string | boolean | undefined;
|
499
498
|
appendInnerIcon?: import("../../composables/icons.js").IconValue | undefined;
|
500
499
|
prependInnerIcon?: import("../../composables/icons.js").IconValue | undefined;
|
501
500
|
'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined;
|
@@ -504,6 +503,7 @@ export declare const VFileInput: {
|
|
504
503
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
505
504
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
506
505
|
centerAffix?: boolean | undefined;
|
506
|
+
iconColor?: string | boolean | undefined;
|
507
507
|
hint?: string | undefined;
|
508
508
|
hideDetails?: boolean | "auto" | undefined;
|
509
509
|
} & {
|
@@ -630,9 +630,9 @@ export declare const VFileInput: {
|
|
630
630
|
baseColor?: string | undefined;
|
631
631
|
prependIcon?: import("../../composables/icons.js").IconValue | undefined;
|
632
632
|
appendIcon?: import("../../composables/icons.js").IconValue | undefined;
|
633
|
-
iconColor?: string | boolean | undefined;
|
634
633
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
635
634
|
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
|
635
|
+
iconColor?: string | boolean | undefined;
|
636
636
|
hint?: string | undefined;
|
637
637
|
hideDetails?: boolean | "auto" | undefined;
|
638
638
|
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint">;
|
@@ -686,9 +686,9 @@ export declare const VFileInput: {
|
|
686
686
|
baseColor?: string | undefined;
|
687
687
|
prependIcon?: import("../../composables/icons.js").IconValue | undefined;
|
688
688
|
appendIcon?: import("../../composables/icons.js").IconValue | undefined;
|
689
|
-
iconColor?: string | boolean | undefined;
|
690
689
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
691
690
|
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
|
691
|
+
iconColor?: string | boolean | undefined;
|
692
692
|
hint?: string | undefined;
|
693
693
|
hideDetails?: boolean | "auto" | undefined;
|
694
694
|
} & {}, {
|
@@ -789,9 +789,9 @@ export declare const VFileInput: {
|
|
789
789
|
baseColor?: string | undefined;
|
790
790
|
prependIcon?: import("../../composables/icons.js").IconValue | undefined;
|
791
791
|
appendIcon?: import("../../composables/icons.js").IconValue | undefined;
|
792
|
-
iconColor?: string | boolean | undefined;
|
793
792
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
794
793
|
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
|
794
|
+
iconColor?: string | boolean | undefined;
|
795
795
|
hint?: string | undefined;
|
796
796
|
hideDetails?: boolean | "auto" | undefined;
|
797
797
|
} & {}, "reset" | "isValid" | "validate" | "resetValidation" | ("error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint")> & import("vue").ShallowUnwrapRef<{
|
@@ -803,7 +803,7 @@ export declare const VFileInput: {
|
|
803
803
|
}> & {} & import("vue").ComponentCustomProperties & {} & import("../../util/index.js").GenericProps<{
|
804
804
|
modelValue?: unknown;
|
805
805
|
'onUpdate:modelValue'?: ((value: unknown) => void) | undefined;
|
806
|
-
}, VInputSlots>, "name" | "id" | "width" | "color" | "maxWidth" | "minWidth" | "label" | "class" | "theme" | "$children" | "v-slots" | "v-slot:default" | keyof import("vue").VNodeProps | "onUpdate:focused" | "modelValue" | "validateOn" | "validationValue" | "onUpdate:modelValue" | "baseColor" | "prependIcon" | "appendIcon" | "v-slot:prepend" | "v-slot:append" | "
|
806
|
+
}, VInputSlots>, "name" | "id" | "width" | "color" | "maxWidth" | "minWidth" | "label" | "class" | "theme" | "$children" | "v-slots" | "v-slot:default" | keyof import("vue").VNodeProps | "onUpdate:focused" | "modelValue" | "validateOn" | "validationValue" | "onUpdate:modelValue" | "baseColor" | "prependIcon" | "appendIcon" | "v-slot:prepend" | "v-slot:append" | "onClick:append" | "onClick:prepend" | "v-slot:message" | "iconColor" | "hint" | "hideDetails" | "v-slot:details" | ("error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint")>, `$${any}`> & {
|
807
807
|
_allExposed: {
|
808
808
|
reset: () => Promise<void>;
|
809
809
|
resetValidation: () => Promise<void>;
|
@@ -933,7 +933,6 @@ export declare const VFileInput: {
|
|
933
933
|
baseColor?: string | undefined;
|
934
934
|
bgColor?: string | undefined;
|
935
935
|
appendIcon?: import("../../composables/icons.js").IconValue | undefined;
|
936
|
-
iconColor?: string | boolean | undefined;
|
937
936
|
appendInnerIcon?: import("../../composables/icons.js").IconValue | undefined;
|
938
937
|
prependInnerIcon?: import("../../composables/icons.js").IconValue | undefined;
|
939
938
|
'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined;
|
@@ -942,6 +941,7 @@ export declare const VFileInput: {
|
|
942
941
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
943
942
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
944
943
|
centerAffix?: boolean | undefined;
|
944
|
+
iconColor?: string | boolean | undefined;
|
945
945
|
hint?: string | undefined;
|
946
946
|
hideDetails?: boolean | "auto" | undefined;
|
947
947
|
} & {
|
@@ -1068,9 +1068,9 @@ export declare const VFileInput: {
|
|
1068
1068
|
baseColor?: string | undefined;
|
1069
1069
|
prependIcon?: import("../../composables/icons.js").IconValue | undefined;
|
1070
1070
|
appendIcon?: import("../../composables/icons.js").IconValue | undefined;
|
1071
|
-
iconColor?: string | boolean | undefined;
|
1072
1071
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
1073
1072
|
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
|
1073
|
+
iconColor?: string | boolean | undefined;
|
1074
1074
|
hint?: string | undefined;
|
1075
1075
|
hideDetails?: boolean | "auto" | undefined;
|
1076
1076
|
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint">;
|
@@ -1124,9 +1124,9 @@ export declare const VFileInput: {
|
|
1124
1124
|
baseColor?: string | undefined;
|
1125
1125
|
prependIcon?: import("../../composables/icons.js").IconValue | undefined;
|
1126
1126
|
appendIcon?: import("../../composables/icons.js").IconValue | undefined;
|
1127
|
-
iconColor?: string | boolean | undefined;
|
1128
1127
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
1129
1128
|
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
|
1129
|
+
iconColor?: string | boolean | undefined;
|
1130
1130
|
hint?: string | undefined;
|
1131
1131
|
hideDetails?: boolean | "auto" | undefined;
|
1132
1132
|
} & {}, {
|
@@ -1227,9 +1227,9 @@ export declare const VFileInput: {
|
|
1227
1227
|
baseColor?: string | undefined;
|
1228
1228
|
prependIcon?: import("../../composables/icons.js").IconValue | undefined;
|
1229
1229
|
appendIcon?: import("../../composables/icons.js").IconValue | undefined;
|
1230
|
-
iconColor?: string | boolean | undefined;
|
1231
1230
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
1232
1231
|
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
|
1232
|
+
iconColor?: string | boolean | undefined;
|
1233
1233
|
hint?: string | undefined;
|
1234
1234
|
hideDetails?: boolean | "auto" | undefined;
|
1235
1235
|
} & {}, "reset" | "isValid" | "validate" | "resetValidation" | ("error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint")> & import("vue").ShallowUnwrapRef<{
|
@@ -1241,7 +1241,7 @@ export declare const VFileInput: {
|
|
1241
1241
|
}> & {} & import("vue").ComponentCustomProperties & {} & import("../../util/index.js").GenericProps<{
|
1242
1242
|
modelValue?: unknown;
|
1243
1243
|
'onUpdate:modelValue'?: ((value: unknown) => void) | undefined;
|
1244
|
-
}, VInputSlots>, "name" | "id" | "width" | "color" | "maxWidth" | "minWidth" | "label" | "class" | "theme" | "$children" | "v-slots" | "v-slot:default" | keyof import("vue").VNodeProps | "onUpdate:focused" | "modelValue" | "validateOn" | "validationValue" | "onUpdate:modelValue" | "baseColor" | "prependIcon" | "appendIcon" | "v-slot:prepend" | "v-slot:append" | "
|
1244
|
+
}, VInputSlots>, "name" | "id" | "width" | "color" | "maxWidth" | "minWidth" | "label" | "class" | "theme" | "$children" | "v-slots" | "v-slot:default" | keyof import("vue").VNodeProps | "onUpdate:focused" | "modelValue" | "validateOn" | "validationValue" | "onUpdate:modelValue" | "baseColor" | "prependIcon" | "appendIcon" | "v-slot:prepend" | "v-slot:append" | "onClick:append" | "onClick:prepend" | "v-slot:message" | "iconColor" | "hint" | "hideDetails" | "v-slot:details" | ("error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint")>, `$${any}`> & {
|
1245
1245
|
_allExposed: {
|
1246
1246
|
reset: () => Promise<void>;
|
1247
1247
|
resetValidation: () => Promise<void>;
|
@@ -1341,7 +1341,6 @@ export declare const VFileInput: {
|
|
1341
1341
|
baseColor?: string | undefined;
|
1342
1342
|
bgColor?: string | undefined;
|
1343
1343
|
appendIcon?: import("../../composables/icons.js").IconValue | undefined;
|
1344
|
-
iconColor?: string | boolean | undefined;
|
1345
1344
|
appendInnerIcon?: import("../../composables/icons.js").IconValue | undefined;
|
1346
1345
|
prependInnerIcon?: import("../../composables/icons.js").IconValue | undefined;
|
1347
1346
|
'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined;
|
@@ -1350,6 +1349,7 @@ export declare const VFileInput: {
|
|
1350
1349
|
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
|
1351
1350
|
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
|
1352
1351
|
centerAffix?: boolean | undefined;
|
1352
|
+
iconColor?: string | boolean | undefined;
|
1353
1353
|
hint?: string | undefined;
|
1354
1354
|
hideDetails?: boolean | "auto" | undefined;
|
1355
1355
|
} & {
|
@@ -1476,9 +1476,9 @@ export declare const VFileInput: {
|
|
1476
1476
|
baseColor?: string | undefined;
|
1477
1477
|
prependIcon?: import("../../composables/icons.js").IconValue | undefined;
|
1478
1478
|
appendIcon?: import("../../composables/icons.js").IconValue | undefined;
|
1479
|
-
iconColor?: string | boolean | undefined;
|
1480
1479
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
1481
1480
|
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
|
1481
|
+
iconColor?: string | boolean | undefined;
|
1482
1482
|
hint?: string | undefined;
|
1483
1483
|
hideDetails?: boolean | "auto" | undefined;
|
1484
1484
|
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint">;
|
@@ -1532,9 +1532,9 @@ export declare const VFileInput: {
|
|
1532
1532
|
baseColor?: string | undefined;
|
1533
1533
|
prependIcon?: import("../../composables/icons.js").IconValue | undefined;
|
1534
1534
|
appendIcon?: import("../../composables/icons.js").IconValue | undefined;
|
1535
|
-
iconColor?: string | boolean | undefined;
|
1536
1535
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
1537
1536
|
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
|
1537
|
+
iconColor?: string | boolean | undefined;
|
1538
1538
|
hint?: string | undefined;
|
1539
1539
|
hideDetails?: boolean | "auto" | undefined;
|
1540
1540
|
} & {}, {
|
@@ -1635,9 +1635,9 @@ export declare const VFileInput: {
|
|
1635
1635
|
baseColor?: string | undefined;
|
1636
1636
|
prependIcon?: import("../../composables/icons.js").IconValue | undefined;
|
1637
1637
|
appendIcon?: import("../../composables/icons.js").IconValue | undefined;
|
1638
|
-
iconColor?: string | boolean | undefined;
|
1639
1638
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
1640
1639
|
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
|
1640
|
+
iconColor?: string | boolean | undefined;
|
1641
1641
|
hint?: string | undefined;
|
1642
1642
|
hideDetails?: boolean | "auto" | undefined;
|
1643
1643
|
} & {}, "reset" | "isValid" | "validate" | "resetValidation" | ("error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint")> & import("vue").ShallowUnwrapRef<{
|
@@ -1649,7 +1649,7 @@ export declare const VFileInput: {
|
|
1649
1649
|
}> & {} & import("vue").ComponentCustomProperties & {} & import("../../util/index.js").GenericProps<{
|
1650
1650
|
modelValue?: unknown;
|
1651
1651
|
'onUpdate:modelValue'?: ((value: unknown) => void) | undefined;
|
1652
|
-
}, VInputSlots>, "name" | "id" | "width" | "color" | "maxWidth" | "minWidth" | "label" | "class" | "theme" | "$children" | "v-slots" | "v-slot:default" | keyof import("vue").VNodeProps | "onUpdate:focused" | "modelValue" | "validateOn" | "validationValue" | "onUpdate:modelValue" | "baseColor" | "prependIcon" | "appendIcon" | "v-slot:prepend" | "v-slot:append" | "
|
1652
|
+
}, VInputSlots>, "name" | "id" | "width" | "color" | "maxWidth" | "minWidth" | "label" | "class" | "theme" | "$children" | "v-slots" | "v-slot:default" | keyof import("vue").VNodeProps | "onUpdate:focused" | "modelValue" | "validateOn" | "validationValue" | "onUpdate:modelValue" | "baseColor" | "prependIcon" | "appendIcon" | "v-slot:prepend" | "v-slot:append" | "onClick:append" | "onClick:prepend" | "v-slot:message" | "iconColor" | "hint" | "hideDetails" | "v-slot:details" | ("error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint")>, `$${any}`> & {
|
1653
1653
|
_allExposed: {
|
1654
1654
|
reset: () => Promise<void>;
|
1655
1655
|
resetValidation: () => Promise<void>;
|
@@ -251,7 +251,7 @@ export declare const makeVInputProps: <Defaults extends {
|
|
251
251
|
validator: (v: any) => boolean;
|
252
252
|
}, "type" | "default"> & {
|
253
253
|
type: PropType<unknown extends Defaults["direction"] ? "horizontal" | "vertical" : "horizontal" | "vertical" | Defaults["direction"]>;
|
254
|
-
default: unknown extends Defaults["direction"] ? "horizontal" | "vertical" :
|
254
|
+
default: unknown extends Defaults["direction"] ? "horizontal" | "vertical" : Defaults["direction"] | NonNullable<"horizontal" | "vertical">;
|
255
255
|
};
|
256
256
|
'onClick:prepend': unknown extends Defaults["onClick:prepend"] ? PropType<(args_0: MouseEvent) => void> : {
|
257
257
|
type: PropType<unknown extends Defaults["onClick:prepend"] ? (args_0: MouseEvent) => void : ((args_0: MouseEvent) => void) | Defaults["onClick:prepend"]>;
|
@@ -302,9 +302,9 @@ export declare const VInput: {
|
|
302
302
|
baseColor?: string | undefined;
|
303
303
|
prependIcon?: IconValue | undefined;
|
304
304
|
appendIcon?: IconValue | undefined;
|
305
|
-
iconColor?: string | boolean | undefined;
|
306
305
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
307
306
|
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
|
307
|
+
iconColor?: string | boolean | undefined;
|
308
308
|
hint?: string | undefined;
|
309
309
|
hideDetails?: boolean | "auto" | undefined;
|
310
310
|
} & {}, {
|
@@ -376,9 +376,9 @@ export declare const VInput: {
|
|
376
376
|
baseColor?: string | undefined;
|
377
377
|
prependIcon?: IconValue | undefined;
|
378
378
|
appendIcon?: IconValue | undefined;
|
379
|
-
iconColor?: string | boolean | undefined;
|
380
379
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
381
380
|
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
|
381
|
+
iconColor?: string | boolean | undefined;
|
382
382
|
hint?: string | undefined;
|
383
383
|
hideDetails?: boolean | "auto" | undefined;
|
384
384
|
} & {}, {
|
@@ -439,9 +439,9 @@ export declare const VInput: {
|
|
439
439
|
baseColor?: string | undefined;
|
440
440
|
prependIcon?: IconValue | undefined;
|
441
441
|
appendIcon?: IconValue | undefined;
|
442
|
-
iconColor?: string | boolean | undefined;
|
443
442
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
444
443
|
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
|
444
|
+
iconColor?: string | boolean | undefined;
|
445
445
|
hint?: string | undefined;
|
446
446
|
hideDetails?: boolean | "auto" | undefined;
|
447
447
|
} & {}, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VListChildren.js","names":["VListGroup","VListItem","VListSubheader","VDivider","createList","genericComponent","propsFactory","makeVListChildrenProps","items","Array","returnObject","Boolean","VListChildren","name","props","setup","_ref","slots","default","map","_ref2","children","itemProps","type","raw","item","divider","_createVNode","subheader","slotsWithItem","subtitle","slotProps","undefined","prepend","append","title","listGroupProps","filterProps","_mergeProps","value","activator","_ref3","activatorProps","listItemProps","header"],"sources":["../../../src/components/VList/VListChildren.tsx"],"sourcesContent":["// Components\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\nimport { VListSubheader } from './VListSubheader'\nimport { VDivider } from '
|
1
|
+
{"version":3,"file":"VListChildren.js","names":["VListGroup","VListItem","VListSubheader","VDivider","createList","genericComponent","propsFactory","makeVListChildrenProps","items","Array","returnObject","Boolean","VListChildren","name","props","setup","_ref","slots","default","map","_ref2","children","itemProps","type","raw","item","divider","_createVNode","subheader","slotsWithItem","subtitle","slotProps","undefined","prepend","append","title","listGroupProps","filterProps","_mergeProps","value","activator","_ref3","activatorProps","listItemProps","header"],"sources":["../../../src/components/VList/VListChildren.tsx"],"sourcesContent":["// Components\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\nimport { VListSubheader } from './VListSubheader'\nimport { VDivider } from '../VDivider'\n\n// Utilities\nimport { createList } from './list'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalListItem } from './VList'\nimport type { VListItemSlots } from './VListItem'\nimport type { GenericProps } from '@/util'\n\nexport type VListChildrenSlots<T> = {\n [K in keyof Omit<VListItemSlots, 'default'>]: VListItemSlots[K] & { item: T }\n} & {\n default: never\n item: { props: InternalListItem['props'] }\n divider: { props: InternalListItem['props'] }\n subheader: { props: InternalListItem['props'] }\n header: { props: InternalListItem['props'] }\n}\n\nexport const makeVListChildrenProps = propsFactory({\n items: Array as PropType<readonly InternalListItem[]>,\n returnObject: Boolean,\n}, 'VListChildren')\n\nexport const VListChildren = genericComponent<new <T extends InternalListItem>(\n props: {\n items?: readonly T[]\n returnObject?: boolean\n },\n slots: VListChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VListChildren',\n\n props: makeVListChildrenProps(),\n\n setup (props, { slots }) {\n createList()\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, type, raw: item }) => {\n if (type === 'divider') {\n return slots.divider?.({ props: itemProps }) ?? (\n <VDivider { ...itemProps } />\n )\n }\n\n if (type === 'subheader') {\n return slots.subheader?.({ props: itemProps }) ?? (\n <VListSubheader { ...itemProps } />\n )\n }\n\n const slotsWithItem = {\n subtitle: slots.subtitle ? (slotProps: any) => slots.subtitle?.({ ...slotProps, item }) : undefined,\n prepend: slots.prepend ? (slotProps: any) => slots.prepend?.({ ...slotProps, item }) : undefined,\n append: slots.append ? (slotProps: any) => slots.append?.({ ...slotProps, item }) : undefined,\n title: slots.title ? (slotProps: any) => slots.title?.({ ...slotProps, item }) : undefined,\n }\n\n const listGroupProps = VListGroup.filterProps(itemProps)\n\n return children ? (\n <VListGroup\n value={ itemProps?.value }\n { ...listGroupProps }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: props.returnObject ? item : itemProps.value,\n }\n\n return slots.header\n ? slots.header({ props: listItemProps })\n : (\n <VListItem { ...listItemProps } v-slots={ slotsWithItem } />\n )\n },\n default: () => (\n <VListChildren\n items={ children }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n ),\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item({ props: itemProps }) : (\n <VListItem\n { ...itemProps }\n value={ props.returnObject ? item : itemProps.value }\n v-slots={ slotsWithItem }\n />\n )\n )\n })\n },\n})\n"],"mappings":";AAAA;AAAA,SACSA,UAAU;AAAA,SACVC,SAAS;AAAA,SACTC,cAAc;AAAA,SACdC,QAAQ,gCAEjB;AAAA,SACSC,UAAU;AAAA,SACVC,gBAAgB,EAAEC,YAAY,+BAEvC;AAgBA,OAAO,MAAMC,sBAAsB,GAAGD,YAAY,CAAC;EACjDE,KAAK,EAAEC,KAA8C;EACrDC,YAAY,EAAEC;AAChB,CAAC,EAAE,eAAe,CAAC;AAEnB,OAAO,MAAMC,aAAa,GAAGP,gBAAgB,CAME,CAAC,CAAC;EAC/CQ,IAAI,EAAE,eAAe;EAErBC,KAAK,EAAEP,sBAAsB,CAAC,CAAC;EAE/BQ,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrBZ,UAAU,CAAC,CAAC;IAEZ,OAAO,MAAMa,KAAK,CAACC,OAAO,GAAG,CAAC,IAAIJ,KAAK,CAACN,KAAK,EAAEW,GAAG,CAACC,KAAA,IAAqD;MAAA,IAApD;QAAEC,QAAQ;QAAEP,KAAK,EAAEQ,SAAS;QAAEC,IAAI;QAAEC,GAAG,EAAEC;MAAK,CAAC,GAAAL,KAAA;MACjG,IAAIG,IAAI,KAAK,SAAS,EAAE;QACtB,OAAON,KAAK,CAACS,OAAO,GAAG;UAAEZ,KAAK,EAAEQ;QAAU,CAAC,CAAC,IAAAK,YAAA,CAAAxB,QAAA,EAC3BmB,SAAS,OACzB;MACH;MAEA,IAAIC,IAAI,KAAK,WAAW,EAAE;QACxB,OAAON,KAAK,CAACW,SAAS,GAAG;UAAEd,KAAK,EAAEQ;QAAU,CAAC,CAAC,IAAAK,YAAA,CAAAzB,cAAA,EACvBoB,SAAS,OAC/B;MACH;MAEA,MAAMO,aAAa,GAAG;QACpBC,QAAQ,EAAEb,KAAK,CAACa,QAAQ,GAAIC,SAAc,IAAKd,KAAK,CAACa,QAAQ,GAAG;UAAE,GAAGC,SAAS;UAAEN;QAAK,CAAC,CAAC,GAAGO,SAAS;QACnGC,OAAO,EAAEhB,KAAK,CAACgB,OAAO,GAAIF,SAAc,IAAKd,KAAK,CAACgB,OAAO,GAAG;UAAE,GAAGF,SAAS;UAAEN;QAAK,CAAC,CAAC,GAAGO,SAAS;QAChGE,MAAM,EAAEjB,KAAK,CAACiB,MAAM,GAAIH,SAAc,IAAKd,KAAK,CAACiB,MAAM,GAAG;UAAE,GAAGH,SAAS;UAAEN;QAAK,CAAC,CAAC,GAAGO,SAAS;QAC7FG,KAAK,EAAElB,KAAK,CAACkB,KAAK,GAAIJ,SAAc,IAAKd,KAAK,CAACkB,KAAK,GAAG;UAAE,GAAGJ,SAAS;UAAEN;QAAK,CAAC,CAAC,GAAGO;MACnF,CAAC;MAED,MAAMI,cAAc,GAAGpC,UAAU,CAACqC,WAAW,CAACf,SAAS,CAAC;MAExD,OAAOD,QAAQ,GAAAM,YAAA,CAAA3B,UAAA,EAAAsC,WAAA;QAAA,SAEHhB,SAAS,EAAEiB;MAAK,GACnBH,cAAc;QAGjBI,SAAS,EAAEC,KAAA,IAA+B;UAAA,IAA9B;YAAE3B,KAAK,EAAE4B;UAAe,CAAC,GAAAD,KAAA;UACnC,MAAME,aAAa,GAAG;YACpB,GAAGrB,SAAS;YACZ,GAAGoB,cAAc;YACjBH,KAAK,EAAEzB,KAAK,CAACJ,YAAY,GAAGe,IAAI,GAAGH,SAAS,CAACiB;UAC/C,CAAC;UAED,OAAOtB,KAAK,CAAC2B,MAAM,GACf3B,KAAK,CAAC2B,MAAM,CAAC;YAAE9B,KAAK,EAAE6B;UAAc,CAAC,CAAC,GAAAhB,YAAA,CAAA1B,SAAA,EAEtB0C,aAAa,EAAad,aAAa,CACxD;QACL,CAAC;QACDX,OAAO,EAAEA,CAAA,KAAAS,YAAA,CAAAf,aAAA;UAAA,SAEGS,QAAQ;UAAA,gBACDP,KAAK,CAACJ;QAAY,GACvBO,KAAK;MAElB,KAILA,KAAK,CAACQ,IAAI,GAAGR,KAAK,CAACQ,IAAI,CAAC;QAAEX,KAAK,EAAEQ;MAAU,CAAC,CAAC,GAAAK,YAAA,CAAA1B,SAAA,EAAAqC,WAAA,CAEpChB,SAAS;QAAA,SACNR,KAAK,CAACJ,YAAY,GAAGe,IAAI,GAAGH,SAAS,CAACiB;MAAK,IACzCV,aAAa,CAG5B;IACH,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
|
@@ -2,9 +2,7 @@
|
|
2
2
|
import { useToggleScope } from "../../composables/toggleScope.js";
|
3
3
|
import { useVelocity } from "../../composables/touch.js"; // Utilities
|
4
4
|
import { computed, onBeforeUnmount, onMounted, onScopeDispose, shallowRef, watchEffect } from 'vue';
|
5
|
-
|
6
|
-
// Types
|
7
|
-
|
5
|
+
import { clamp } from "../../util/index.js"; // Types
|
8
6
|
export function useTouch(_ref) {
|
9
7
|
let {
|
10
8
|
el,
|
@@ -47,7 +45,7 @@ export function useTouch(_ref) {
|
|
47
45
|
function getProgress(pos) {
|
48
46
|
let limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
49
47
|
const progress = position.value === 'left' ? (pos - offset.value) / width.value : position.value === 'right' ? (document.documentElement.clientWidth - pos - offset.value) / width.value : position.value === 'top' ? (pos - offset.value) / width.value : position.value === 'bottom' ? (document.documentElement.clientHeight - pos - offset.value) / width.value : oops();
|
50
|
-
return limit ?
|
48
|
+
return limit ? clamp(progress) : progress;
|
51
49
|
}
|
52
50
|
function onTouchstart(e) {
|
53
51
|
if (touchless.value) return;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"touch.js","names":["useToggleScope","useVelocity","computed","onBeforeUnmount","onMounted","onScopeDispose","shallowRef","watchEffect","useTouch","_ref","el","isActive","isTemporary","width","touchless","position","window","addEventListener","onTouchstart","passive","onTouchmove","onTouchend","removeEventListener","isHorizontal","includes","value","addMovement","endTouch","getVelocity","maybeDragging","isDragging","dragProgress","offset","start","getOffset","pos","active","document","documentElement","clientWidth","clientHeight","oops","getProgress","limit","arguments","length","undefined","progress","Math","max","min","e","touchX","changedTouches","clientX","touchY","clientY","touchZone","inTouchZone","inElement","cancelable","dx","abs","dy","thresholdMet","preventDefault","velocity","identifier","vx","x","vy","y","direction","left","right","top","bottom","dragStyles","transform","transition","style","setProperty","Error"],"sources":["../../../src/components/VNavigationDrawer/touch.ts"],"sourcesContent":["// Composables\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { useVelocity } from '@/composables/touch'\n\n// Utilities\nimport { computed, onBeforeUnmount, onMounted, onScopeDispose, shallowRef, watchEffect } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport function useTouch ({\n el,\n isActive,\n isTemporary,\n width,\n touchless,\n position,\n}: {\n el: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n isTemporary: Ref<boolean>\n width: Ref<number>\n touchless: Ref<boolean>\n position: Ref<'left' | 'right' | 'top' | 'bottom'>\n}) {\n onMounted(() => {\n window.addEventListener('touchstart', onTouchstart, { passive: true })\n window.addEventListener('touchmove', onTouchmove, { passive: false })\n window.addEventListener('touchend', onTouchend, { passive: true })\n })\n\n onBeforeUnmount(() => {\n window.removeEventListener('touchstart', onTouchstart)\n window.removeEventListener('touchmove', onTouchmove)\n window.removeEventListener('touchend', onTouchend)\n })\n\n const isHorizontal = computed(() => ['left', 'right'].includes(position.value))\n\n const { addMovement, endTouch, getVelocity } = useVelocity()\n let maybeDragging = false\n const isDragging = shallowRef(false)\n const dragProgress = shallowRef(0)\n const offset = shallowRef(0)\n let start: [number, number] | undefined\n\n function getOffset (pos: number, active: boolean): number {\n return (\n position.value === 'left' ? pos\n : position.value === 'right' ? document.documentElement.clientWidth - pos\n : position.value === 'top' ? pos\n : position.value === 'bottom' ? document.documentElement.clientHeight - pos\n : oops()\n ) - (active ? width.value : 0)\n }\n\n function getProgress (pos: number, limit = true): number {\n const progress = (\n position.value === 'left' ? (pos - offset.value) / width.value\n : position.value === 'right' ? (document.documentElement.clientWidth - pos - offset.value) / width.value\n : position.value === 'top' ? (pos - offset.value) / width.value\n : position.value === 'bottom' ? (document.documentElement.clientHeight - pos - offset.value) / width.value\n : oops()\n )\n return limit ? Math.max(0, Math.min(1, progress)) : progress\n }\n\n function onTouchstart (e: TouchEvent) {\n if (touchless.value) return\n\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n const touchZone = 25\n const inTouchZone: boolean =\n position.value === 'left' ? touchX < touchZone\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone\n : position.value === 'top' ? touchY < touchZone\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone\n : oops()\n\n const inElement: boolean = isActive.value && (\n position.value === 'left' ? touchX < width.value\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - width.value\n : position.value === 'top' ? touchY < width.value\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - width.value\n : oops()\n )\n\n if (\n inTouchZone ||\n inElement ||\n (isActive.value && isTemporary.value)\n ) {\n start = [touchX, touchY]\n\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, isActive.value)\n dragProgress.value = getProgress(isHorizontal.value ? touchX : touchY)\n\n maybeDragging = offset.value > -20 && offset.value < 80\n endTouch(e)\n addMovement(e)\n }\n }\n\n function onTouchmove (e: TouchEvent) {\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n if (maybeDragging) {\n if (!e.cancelable) {\n maybeDragging = false\n return\n }\n\n const dx = Math.abs(touchX - start![0])\n const dy = Math.abs(touchY - start![1])\n\n const thresholdMet = isHorizontal.value\n ? dx > dy && dx > 3\n : dy > dx && dy > 3\n\n if (thresholdMet) {\n isDragging.value = true\n maybeDragging = false\n } else if ((isHorizontal.value ? dy : dx) > 3) {\n maybeDragging = false\n }\n }\n\n if (!isDragging.value) return\n\n e.preventDefault()\n addMovement(e)\n\n const progress = getProgress(isHorizontal.value ? touchX : touchY, false)\n dragProgress.value = Math.max(0, Math.min(1, progress))\n\n if (progress > 1) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, true)\n } else if (progress < 0) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, false)\n }\n }\n\n function onTouchend (e: TouchEvent) {\n maybeDragging = false\n\n if (!isDragging.value) return\n\n addMovement(e)\n\n isDragging.value = false\n\n const velocity = getVelocity(e.changedTouches[0].identifier)\n const vx = Math.abs(velocity.x)\n const vy = Math.abs(velocity.y)\n const thresholdMet = isHorizontal.value\n ? vx > vy && vx > 400\n : vy > vx && vy > 3\n\n if (thresholdMet) {\n isActive.value = velocity.direction === ({\n left: 'right',\n right: 'left',\n top: 'down',\n bottom: 'up',\n }[position.value] || oops())\n } else {\n isActive.value = dragProgress.value > 0.5\n }\n }\n\n const dragStyles = computed(() => {\n return isDragging.value ? {\n transform:\n position.value === 'left' ? `translateX(calc(-100% + ${dragProgress.value * width.value}px))`\n : position.value === 'right' ? `translateX(calc(100% - ${dragProgress.value * width.value}px))`\n : position.value === 'top' ? `translateY(calc(-100% + ${dragProgress.value * width.value}px))`\n : position.value === 'bottom' ? `translateY(calc(100% - ${dragProgress.value * width.value}px))`\n : oops(),\n transition: 'none',\n } : undefined\n })\n\n useToggleScope(isDragging, () => {\n const transform = el.value?.style.transform ?? null\n const transition = el.value?.style.transition ?? null\n\n watchEffect(() => {\n el.value?.style.setProperty('transform', dragStyles.value?.transform || 'none')\n el.value?.style.setProperty('transition', dragStyles.value?.transition || null)\n })\n\n onScopeDispose(() => {\n el.value?.style.setProperty('transform', transform)\n el.value?.style.setProperty('transition', transition)\n })\n })\n\n return {\n isDragging,\n dragProgress,\n dragStyles,\n }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"touch.js","names":["useToggleScope","useVelocity","computed","onBeforeUnmount","onMounted","onScopeDispose","shallowRef","watchEffect","clamp","useTouch","_ref","el","isActive","isTemporary","width","touchless","position","window","addEventListener","onTouchstart","passive","onTouchmove","onTouchend","removeEventListener","isHorizontal","includes","value","addMovement","endTouch","getVelocity","maybeDragging","isDragging","dragProgress","offset","start","getOffset","pos","active","document","documentElement","clientWidth","clientHeight","oops","getProgress","limit","arguments","length","undefined","progress","e","touchX","changedTouches","clientX","touchY","clientY","touchZone","inTouchZone","inElement","cancelable","dx","Math","abs","dy","thresholdMet","preventDefault","max","min","velocity","identifier","vx","x","vy","y","direction","left","right","top","bottom","dragStyles","transform","transition","style","setProperty","Error"],"sources":["../../../src/components/VNavigationDrawer/touch.ts"],"sourcesContent":["// Composables\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { useVelocity } from '@/composables/touch'\n\n// Utilities\nimport { computed, onBeforeUnmount, onMounted, onScopeDispose, shallowRef, watchEffect } from 'vue'\nimport { clamp } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport function useTouch ({\n el,\n isActive,\n isTemporary,\n width,\n touchless,\n position,\n}: {\n el: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n isTemporary: Ref<boolean>\n width: Ref<number>\n touchless: Ref<boolean>\n position: Ref<'left' | 'right' | 'top' | 'bottom'>\n}) {\n onMounted(() => {\n window.addEventListener('touchstart', onTouchstart, { passive: true })\n window.addEventListener('touchmove', onTouchmove, { passive: false })\n window.addEventListener('touchend', onTouchend, { passive: true })\n })\n\n onBeforeUnmount(() => {\n window.removeEventListener('touchstart', onTouchstart)\n window.removeEventListener('touchmove', onTouchmove)\n window.removeEventListener('touchend', onTouchend)\n })\n\n const isHorizontal = computed(() => ['left', 'right'].includes(position.value))\n\n const { addMovement, endTouch, getVelocity } = useVelocity()\n let maybeDragging = false\n const isDragging = shallowRef(false)\n const dragProgress = shallowRef(0)\n const offset = shallowRef(0)\n let start: [number, number] | undefined\n\n function getOffset (pos: number, active: boolean): number {\n return (\n position.value === 'left' ? pos\n : position.value === 'right' ? document.documentElement.clientWidth - pos\n : position.value === 'top' ? pos\n : position.value === 'bottom' ? document.documentElement.clientHeight - pos\n : oops()\n ) - (active ? width.value : 0)\n }\n\n function getProgress (pos: number, limit = true): number {\n const progress = (\n position.value === 'left' ? (pos - offset.value) / width.value\n : position.value === 'right' ? (document.documentElement.clientWidth - pos - offset.value) / width.value\n : position.value === 'top' ? (pos - offset.value) / width.value\n : position.value === 'bottom' ? (document.documentElement.clientHeight - pos - offset.value) / width.value\n : oops()\n )\n return limit ? clamp(progress) : progress\n }\n\n function onTouchstart (e: TouchEvent) {\n if (touchless.value) return\n\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n const touchZone = 25\n const inTouchZone: boolean =\n position.value === 'left' ? touchX < touchZone\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone\n : position.value === 'top' ? touchY < touchZone\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone\n : oops()\n\n const inElement: boolean = isActive.value && (\n position.value === 'left' ? touchX < width.value\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - width.value\n : position.value === 'top' ? touchY < width.value\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - width.value\n : oops()\n )\n\n if (\n inTouchZone ||\n inElement ||\n (isActive.value && isTemporary.value)\n ) {\n start = [touchX, touchY]\n\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, isActive.value)\n dragProgress.value = getProgress(isHorizontal.value ? touchX : touchY)\n\n maybeDragging = offset.value > -20 && offset.value < 80\n endTouch(e)\n addMovement(e)\n }\n }\n\n function onTouchmove (e: TouchEvent) {\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n if (maybeDragging) {\n if (!e.cancelable) {\n maybeDragging = false\n return\n }\n\n const dx = Math.abs(touchX - start![0])\n const dy = Math.abs(touchY - start![1])\n\n const thresholdMet = isHorizontal.value\n ? dx > dy && dx > 3\n : dy > dx && dy > 3\n\n if (thresholdMet) {\n isDragging.value = true\n maybeDragging = false\n } else if ((isHorizontal.value ? dy : dx) > 3) {\n maybeDragging = false\n }\n }\n\n if (!isDragging.value) return\n\n e.preventDefault()\n addMovement(e)\n\n const progress = getProgress(isHorizontal.value ? touchX : touchY, false)\n dragProgress.value = Math.max(0, Math.min(1, progress))\n\n if (progress > 1) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, true)\n } else if (progress < 0) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, false)\n }\n }\n\n function onTouchend (e: TouchEvent) {\n maybeDragging = false\n\n if (!isDragging.value) return\n\n addMovement(e)\n\n isDragging.value = false\n\n const velocity = getVelocity(e.changedTouches[0].identifier)\n const vx = Math.abs(velocity.x)\n const vy = Math.abs(velocity.y)\n const thresholdMet = isHorizontal.value\n ? vx > vy && vx > 400\n : vy > vx && vy > 3\n\n if (thresholdMet) {\n isActive.value = velocity.direction === ({\n left: 'right',\n right: 'left',\n top: 'down',\n bottom: 'up',\n }[position.value] || oops())\n } else {\n isActive.value = dragProgress.value > 0.5\n }\n }\n\n const dragStyles = computed(() => {\n return isDragging.value ? {\n transform:\n position.value === 'left' ? `translateX(calc(-100% + ${dragProgress.value * width.value}px))`\n : position.value === 'right' ? `translateX(calc(100% - ${dragProgress.value * width.value}px))`\n : position.value === 'top' ? `translateY(calc(-100% + ${dragProgress.value * width.value}px))`\n : position.value === 'bottom' ? `translateY(calc(100% - ${dragProgress.value * width.value}px))`\n : oops(),\n transition: 'none',\n } : undefined\n })\n\n useToggleScope(isDragging, () => {\n const transform = el.value?.style.transform ?? null\n const transition = el.value?.style.transition ?? null\n\n watchEffect(() => {\n el.value?.style.setProperty('transform', dragStyles.value?.transform || 'none')\n el.value?.style.setProperty('transition', dragStyles.value?.transition || null)\n })\n\n onScopeDispose(() => {\n el.value?.style.setProperty('transform', transform)\n el.value?.style.setProperty('transition', transition)\n })\n })\n\n return {\n isDragging,\n dragProgress,\n dragStyles,\n }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n"],"mappings":"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","ignoreList":[]}
|