@vuetify/nightly 3.8.3-master.2025-04-29 → 3.8.3-master.2025-05-01
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 +24 -3
- package/dist/json/attributes.json +1686 -1682
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +128 -128
- package/dist/json/tags.json +1 -0
- package/dist/json/web-types.json +3486 -3476
- package/dist/vuetify-labs.cjs +47 -24
- package/dist/vuetify-labs.css +3884 -3888
- package/dist/vuetify-labs.d.ts +4043 -859
- package/dist/vuetify-labs.esm.js +47 -24
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +47 -24
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +20 -17
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +2938 -2942
- package/dist/vuetify.d.ts +4021 -857
- package/dist/vuetify.esm.js +20 -17
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +20 -17
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +10 -10
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +792 -74
- package/lib/components/VBadge/VBadge.d.ts +22 -46
- package/lib/components/VBottomSheet/VBottomSheet.d.ts +1434 -80
- package/lib/components/VCombobox/VCombobox.d.ts +792 -74
- package/lib/components/VCounter/VCounter.d.ts +22 -46
- package/lib/components/VDataIterator/VDataIterator.d.ts +22 -46
- package/lib/components/VDataTable/composables/select.js +1 -1
- package/lib/components/VDataTable/composables/select.js.map +1 -1
- package/lib/components/VDialog/VDialog.d.ts +1048 -146
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VFab/VFab.d.ts +22 -46
- package/lib/components/VImg/VImg.d.ts +22 -49
- package/lib/components/VLazy/VLazy.d.ts +22 -46
- package/lib/components/VMenu/VMenu.d.ts +1048 -146
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VMessages/VMessages.d.ts +22 -46
- package/lib/components/VOverlay/VOverlay.d.ts +22 -49
- package/lib/components/VSelect/VSelect.d.ts +1232 -90
- package/lib/components/VSnackbar/VSnackbar.d.ts +58 -109
- package/lib/components/VSnackbarQueue/VSnackbarQueue.d.ts +22 -46
- package/lib/components/VSpeedDial/VSpeedDial.d.ts +1434 -80
- package/lib/components/VTable/VTable.css +2 -6
- package/lib/components/VTable/VTable.sass +4 -22
- package/lib/components/VTooltip/VTooltip.d.ts +58 -109
- package/lib/components/VTooltip/VTooltip.js +2 -2
- package/lib/components/VTooltip/VTooltip.js.map +1 -1
- package/lib/composables/transition.d.ts +10 -20
- package/lib/composables/transition.js +15 -12
- package/lib/composables/transition.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +93 -132
- package/lib/framework.js +1 -1
- package/lib/labs/VDateInput/VDateInput.d.ts +41 -4
- package/lib/labs/VDateInput/VDateInput.js +27 -7
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/package.json +1 -1
package/lib/framework.js
CHANGED
@@ -116,6 +116,7 @@ export declare const makeVDateInputProps: <Defaults extends {
|
|
116
116
|
mobileBreakpoint?: unknown;
|
117
117
|
displayFormat?: unknown;
|
118
118
|
location?: unknown;
|
119
|
+
updateOn?: unknown;
|
119
120
|
} = {}>(defaults?: Defaults | undefined) => {
|
120
121
|
max: unknown extends Defaults["max"] ? PropType<unknown> : {
|
121
122
|
type: PropType<unknown extends Defaults["max"] ? unknown : unknown>;
|
@@ -743,12 +744,18 @@ export declare const makeVDateInputProps: <Defaults extends {
|
|
743
744
|
type: PropType<unknown extends Defaults["hideActions"] ? boolean : boolean | Defaults["hideActions"]>;
|
744
745
|
default: unknown extends Defaults["hideActions"] ? boolean : boolean | Defaults["hideActions"];
|
745
746
|
};
|
746
|
-
mobile: unknown extends Defaults["mobile"] ? {
|
747
|
+
mobile: unknown extends Defaults["mobile"] ? Omit<{
|
747
748
|
type: PropType<boolean | null>;
|
748
749
|
default: boolean;
|
749
|
-
}
|
750
|
+
}, "type" | "default"> & {
|
751
|
+
type: PropType<boolean | null>;
|
752
|
+
default: NonNullable<boolean | null> | null;
|
753
|
+
} : Omit<Omit<{
|
750
754
|
type: PropType<boolean | null>;
|
751
755
|
default: boolean;
|
756
|
+
}, "type" | "default"> & {
|
757
|
+
type: PropType<boolean | null>;
|
758
|
+
default: NonNullable<boolean | null> | null;
|
752
759
|
}, "type" | "default"> & {
|
753
760
|
type: PropType<unknown extends Defaults["mobile"] ? boolean | null : boolean | Defaults["mobile"] | null>;
|
754
761
|
default: unknown extends Defaults["mobile"] ? boolean | null : NonNullable<boolean | null> | Defaults["mobile"];
|
@@ -771,6 +778,16 @@ export declare const makeVDateInputProps: <Defaults extends {
|
|
771
778
|
type: PropType<unknown extends Defaults["location"] ? import("../../util/index.js").Anchor : import("../../util/index.js").Anchor | Defaults["location"]>;
|
772
779
|
default: unknown extends Defaults["location"] ? import("../../util/index.js").Anchor : NonNullable<import("../../util/index.js").Anchor> | Defaults["location"];
|
773
780
|
};
|
781
|
+
updateOn: unknown extends Defaults["updateOn"] ? {
|
782
|
+
type: PropType<("blur" | "enter")[]>;
|
783
|
+
default: () => string[];
|
784
|
+
} : Omit<{
|
785
|
+
type: PropType<("blur" | "enter")[]>;
|
786
|
+
default: () => string[];
|
787
|
+
}, "type" | "default"> & {
|
788
|
+
type: PropType<unknown extends Defaults["updateOn"] ? ("blur" | "enter")[] : ("blur" | "enter")[] | Defaults["updateOn"]>;
|
789
|
+
default: unknown extends Defaults["updateOn"] ? ("blur" | "enter")[] : ("blur" | "enter")[] | Defaults["updateOn"];
|
790
|
+
};
|
774
791
|
};
|
775
792
|
export declare const VDateInput: {
|
776
793
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{
|
@@ -826,6 +843,7 @@ export declare const VDateInput: {
|
|
826
843
|
weeksInMonth: "static" | "dynamic";
|
827
844
|
hideWeekdays: boolean;
|
828
845
|
showWeek: boolean;
|
846
|
+
updateOn: ("blur" | "enter")[];
|
829
847
|
} & {
|
830
848
|
name?: string | undefined;
|
831
849
|
max?: unknown;
|
@@ -2939,6 +2957,7 @@ export declare const VDateInput: {
|
|
2939
2957
|
firstDayOfWeek: string | number;
|
2940
2958
|
hideWeekdays: boolean;
|
2941
2959
|
showWeek: boolean;
|
2960
|
+
updateOn: ("blur" | "enter")[];
|
2942
2961
|
}, true, {}, import("vue").SlotsType<Partial<{
|
2943
2962
|
message: (arg: import("../../components/VMessages/VMessages.js").VMessageSlot) => import("vue").VNode[];
|
2944
2963
|
clear: (arg: import("../../components/VField/VField.js").DefaultInputSlot & {
|
@@ -3017,6 +3036,7 @@ export declare const VDateInput: {
|
|
3017
3036
|
weeksInMonth: "static" | "dynamic";
|
3018
3037
|
hideWeekdays: boolean;
|
3019
3038
|
showWeek: boolean;
|
3039
|
+
updateOn: ("blur" | "enter")[];
|
3020
3040
|
} & {
|
3021
3041
|
name?: string | undefined;
|
3022
3042
|
max?: unknown;
|
@@ -5126,6 +5146,7 @@ export declare const VDateInput: {
|
|
5126
5146
|
firstDayOfWeek: string | number;
|
5127
5147
|
hideWeekdays: boolean;
|
5128
5148
|
showWeek: boolean;
|
5149
|
+
updateOn: ("blur" | "enter")[];
|
5129
5150
|
}>;
|
5130
5151
|
__isFragment?: never;
|
5131
5152
|
__isTeleport?: never;
|
@@ -5183,6 +5204,7 @@ export declare const VDateInput: {
|
|
5183
5204
|
weeksInMonth: "static" | "dynamic";
|
5184
5205
|
hideWeekdays: boolean;
|
5185
5206
|
showWeek: boolean;
|
5207
|
+
updateOn: ("blur" | "enter")[];
|
5186
5208
|
} & {
|
5187
5209
|
name?: string | undefined;
|
5188
5210
|
max?: unknown;
|
@@ -7296,6 +7318,7 @@ export declare const VDateInput: {
|
|
7296
7318
|
firstDayOfWeek: string | number;
|
7297
7319
|
hideWeekdays: boolean;
|
7298
7320
|
showWeek: boolean;
|
7321
|
+
updateOn: ("blur" | "enter")[];
|
7299
7322
|
}, {}, string, import("vue").SlotsType<Partial<{
|
7300
7323
|
message: (arg: import("../../components/VMessages/VMessages.js").VMessageSlot) => import("vue").VNode[];
|
7301
7324
|
clear: (arg: import("../../components/VField/VField.js").DefaultInputSlot & {
|
@@ -7527,9 +7550,12 @@ export declare const VDateInput: {
|
|
7527
7550
|
type: PropType<boolean>;
|
7528
7551
|
default: boolean;
|
7529
7552
|
};
|
7530
|
-
mobile: {
|
7553
|
+
mobile: Omit<{
|
7531
7554
|
type: PropType<boolean | null>;
|
7532
7555
|
default: boolean;
|
7556
|
+
}, "type" | "default"> & {
|
7557
|
+
type: PropType<boolean | null>;
|
7558
|
+
default: NonNullable<boolean | null> | null;
|
7533
7559
|
};
|
7534
7560
|
mobileBreakpoint: PropType<number | import("../../composables/display.js").DisplayBreakpoint>;
|
7535
7561
|
displayFormat: (FunctionConstructor | StringConstructor)[];
|
@@ -7537,6 +7563,10 @@ export declare const VDateInput: {
|
|
7537
7563
|
type: PropType<StrategyProps["location"]>;
|
7538
7564
|
default: string;
|
7539
7565
|
};
|
7566
|
+
updateOn: {
|
7567
|
+
type: PropType<("blur" | "enter")[]>;
|
7568
|
+
default: () => string[];
|
7569
|
+
};
|
7540
7570
|
}, import("vue").ExtractPropTypes<{
|
7541
7571
|
max: PropType<unknown>;
|
7542
7572
|
height: (StringConstructor | NumberConstructor)[];
|
@@ -7750,9 +7780,12 @@ export declare const VDateInput: {
|
|
7750
7780
|
type: PropType<boolean>;
|
7751
7781
|
default: boolean;
|
7752
7782
|
};
|
7753
|
-
mobile: {
|
7783
|
+
mobile: Omit<{
|
7754
7784
|
type: PropType<boolean | null>;
|
7755
7785
|
default: boolean;
|
7786
|
+
}, "type" | "default"> & {
|
7787
|
+
type: PropType<boolean | null>;
|
7788
|
+
default: NonNullable<boolean | null> | null;
|
7756
7789
|
};
|
7757
7790
|
mobileBreakpoint: PropType<number | import("../../composables/display.js").DisplayBreakpoint>;
|
7758
7791
|
displayFormat: (FunctionConstructor | StringConstructor)[];
|
@@ -7760,5 +7793,9 @@ export declare const VDateInput: {
|
|
7760
7793
|
type: PropType<StrategyProps["location"]>;
|
7761
7794
|
default: string;
|
7762
7795
|
};
|
7796
|
+
updateOn: {
|
7797
|
+
type: PropType<("blur" | "enter")[]>;
|
7798
|
+
default: () => string[];
|
7799
|
+
};
|
7763
7800
|
}>>;
|
7764
7801
|
export type VDateInput = InstanceType<typeof VDateInput>;
|
@@ -19,7 +19,13 @@ export const makeVDateInputProps = propsFactory({
|
|
19
19
|
type: String,
|
20
20
|
default: 'bottom start'
|
21
21
|
},
|
22
|
-
|
22
|
+
updateOn: {
|
23
|
+
type: Array,
|
24
|
+
default: () => ['blur', 'enter']
|
25
|
+
},
|
26
|
+
...makeDisplayProps({
|
27
|
+
mobile: null
|
28
|
+
}),
|
23
29
|
...makeFocusProps(),
|
24
30
|
...makeVConfirmEditProps({
|
25
31
|
hideActions: true
|
@@ -89,7 +95,10 @@ export const VDateInput = genericComponent()({
|
|
89
95
|
return 'none';
|
90
96
|
});
|
91
97
|
const isInteractive = computed(() => !props.disabled && !props.readonly);
|
92
|
-
const isReadonly = computed(() =>
|
98
|
+
const isReadonly = computed(() => {
|
99
|
+
if (!props.updateOn.length) return true;
|
100
|
+
return !(mobile.value && isEditingInput.value) && props.readonly;
|
101
|
+
});
|
93
102
|
watch(menu, val => {
|
94
103
|
if (val) return;
|
95
104
|
isEditingInput.value = false;
|
@@ -101,8 +110,9 @@ export const VDateInput = genericComponent()({
|
|
101
110
|
menu.value = true;
|
102
111
|
return;
|
103
112
|
}
|
104
|
-
|
105
|
-
|
113
|
+
if (props.updateOn.includes('enter')) {
|
114
|
+
onUserInput(e.target);
|
115
|
+
}
|
106
116
|
}
|
107
117
|
function onClick(e) {
|
108
118
|
e.preventDefault();
|
@@ -126,7 +136,10 @@ export const VDateInput = genericComponent()({
|
|
126
136
|
if (value != null) return;
|
127
137
|
model.value = null;
|
128
138
|
}
|
129
|
-
function onBlur() {
|
139
|
+
function onBlur(e) {
|
140
|
+
if (props.updateOn.includes('blur')) {
|
141
|
+
onUserInput(e.target);
|
142
|
+
}
|
130
143
|
blur();
|
131
144
|
|
132
145
|
// When in mobile mode and editing is done (due to keyboard dismissal), close the menu
|
@@ -135,6 +148,13 @@ export const VDateInput = genericComponent()({
|
|
135
148
|
isEditingInput.value = false;
|
136
149
|
}
|
137
150
|
}
|
151
|
+
function onUserInput(_ref2) {
|
152
|
+
let {
|
153
|
+
value
|
154
|
+
} = _ref2;
|
155
|
+
if (value && !adapter.isValid(value)) return;
|
156
|
+
model.value = !value ? null : value;
|
157
|
+
}
|
138
158
|
useRender(() => {
|
139
159
|
const confirmEditProps = VConfirmEdit.filterProps(props);
|
140
160
|
const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location', 'rounded']));
|
@@ -173,14 +193,14 @@ export const VDateInput = genericComponent()({
|
|
173
193
|
"onSave": onSave,
|
174
194
|
"onCancel": onCancel
|
175
195
|
}), {
|
176
|
-
default:
|
196
|
+
default: _ref3 => {
|
177
197
|
let {
|
178
198
|
actions,
|
179
199
|
model: proxyModel,
|
180
200
|
save,
|
181
201
|
cancel,
|
182
202
|
isPristine
|
183
|
-
} =
|
203
|
+
} = _ref3;
|
184
204
|
function onUpdateModel(value) {
|
185
205
|
if (!props.hideActions) {
|
186
206
|
proxyModel.value = value;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDateInput.js","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","useDate","makeDisplayProps","useDisplay","makeFocusProps","useFocus","forwardRefs","useLocale","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDateInputProps","displayFormat","Function","String","location","type","default","hideActions","placeholder","prependIcon","hideHeader","showAdjacentMonths","VDateInput","name","props","emits","save","value","cancel","val","setup","_ref","emit","slots","t","adapter","mobile","isFocused","focus","blur","model","multiple","Array","isArray","map","item","toJsDate","date","menu","isEditingInput","vTextFieldRef","disabledActions","format","display","length","start","end","isValid","inputmode","undefined","isInteractive","disabled","readonly","isReadonly","onKeydown","e","key","target","onClick","preventDefault","stopPropagation","onCancel","onSave","onUpdateDisplayModel","onBlur","confirmEditProps","filterProps","datePickerProps","textFieldProps","_createVNode","_mergeProps","class","style","_Fragment","$event","_ref2","actions","proxyModel","isPristine","onUpdateModel"],"sources":["../../../src/labs/VDateInput/VDateInput.tsx"],"sourcesContent":["// Components\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { makeVDatePickerProps, VDatePicker } from '@/components/VDatePicker/VDatePicker'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\n// Types\nexport type VDateInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VDateInputSlots = Omit<VTextFieldSlots, 'default'> & {\n actions: VDateInputActionsSlot\n default: never\n}\n\nexport const makeVDateInputProps = propsFactory({\n displayFormat: [Function, String],\n location: {\n type: String as PropType<StrategyProps['location']>,\n default: 'bottom start',\n },\n\n ...makeDisplayProps(),\n ...makeFocusProps(),\n ...makeVConfirmEditProps({\n hideActions: true,\n }),\n ...makeVTextFieldProps({\n placeholder: 'mm/dd/yyyy',\n prependIcon: '$calendar',\n }),\n ...omit(makeVDatePickerProps({\n hideHeader: true,\n showAdjacentMonths: true,\n }), ['active', 'location', 'rounded']),\n}, 'VDateInput')\n\nexport const VDateInput = genericComponent<VDateInputSlots>()({\n name: 'VDateInput',\n\n props: makeVDateInputProps(),\n\n emits: {\n save: (value: string) => true,\n cancel: () => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n const adapter = useDate()\n const { mobile } = useDisplay(props)\n const { isFocused, focus, blur } = useFocus(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n props.multiple ? [] : null,\n val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val,\n val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val\n )\n\n const menu = shallowRef(false)\n const isEditingInput = shallowRef(false)\n const vTextFieldRef = ref<VTextField>()\n const disabledActions = ref<typeof VConfirmEdit['props']['disabled']>(['save'])\n\n function format (date: unknown) {\n if (typeof props.displayFormat === 'function') {\n return props.displayFormat(date)\n }\n\n return adapter.format(date, props.displayFormat ?? 'keyboardDate')\n }\n\n const display = computed(() => {\n const value = wrapInArray(model.value)\n\n if (!value.length) return null\n\n if (props.multiple === true) {\n return t('$vuetify.datePicker.itemsSelected', value.length)\n }\n\n if (props.multiple === 'range') {\n const start = value[0]\n const end = value[value.length - 1]\n\n if (!adapter.isValid(start) || !adapter.isValid(end)) return ''\n\n return `${format(adapter.date(start))} - ${format(adapter.date(end))}`\n }\n\n return adapter.isValid(model.value) ? format(adapter.date(model.value)) : ''\n })\n\n const inputmode = computed(() => {\n if (!mobile.value) return undefined\n if (isEditingInput.value) return 'text'\n\n return 'none'\n })\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n const isReadonly = computed(() => !(mobile.value && isEditingInput.value) && props.readonly)\n\n watch(menu, val => {\n if (val) return\n\n isEditingInput.value = false\n disabledActions.value = ['save']\n })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter') return\n\n if (!menu.value || !isFocused.value) {\n menu.value = true\n\n return\n }\n\n const target = e.target as HTMLInputElement\n\n model.value = adapter.isValid(target.value) ? target.value : null\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n if (menu.value && mobile.value) {\n isEditingInput.value = true\n } else {\n menu.value = true\n }\n }\n\n function onCancel () {\n emit('cancel')\n menu.value = false\n isEditingInput.value = false\n }\n\n function onSave (value: string) {\n emit('save', value)\n menu.value = false\n }\n\n function onUpdateDisplayModel (value: unknown) {\n if (value != null) return\n\n model.value = null\n }\n\n function onBlur () {\n blur()\n\n // When in mobile mode and editing is done (due to keyboard dismissal), close the menu\n if (mobile.value && isEditingInput.value && !isFocused.value) {\n menu.value = false\n isEditingInput.value = false\n }\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location', 'rounded']))\n const textFieldProps = VTextField.filterProps(props)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n inputmode={ inputmode.value }\n readonly={ isReadonly.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ onBlur }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ onUpdateDisplayModel }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n min-width=\"0\"\n eager={ isFocused.value }\n location={ props.location }\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n disabled={ disabledActions.value }\n onSave={ onSave }\n onCancel={ onCancel }\n >\n {{\n default: ({ actions, model: proxyModel, save, cancel, isPristine }) => {\n function onUpdateModel (value: string) {\n if (!props.hideActions) {\n proxyModel.value = value\n } else {\n model.value = value\n\n if (!props.multiple) {\n menu.value = false\n }\n }\n\n emit('save', value)\n\n disabledActions.value = []\n }\n\n return (\n <VDatePicker\n { ...datePickerProps }\n modelValue={ props.hideActions ? model.value : proxyModel.value }\n onUpdate:modelValue={ value => onUpdateModel(value) }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VDatePicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vTextFieldRef)\n },\n})\n\nexport type VDateInput = InstanceType<typeof VDateInput>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VDateInput.js","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","useDate","makeDisplayProps","useDisplay","makeFocusProps","useFocus","forwardRefs","useLocale","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDateInputProps","displayFormat","Function","String","location","type","default","updateOn","Array","mobile","hideActions","placeholder","prependIcon","hideHeader","showAdjacentMonths","VDateInput","name","props","emits","save","value","cancel","val","setup","_ref","emit","slots","t","adapter","isFocused","focus","blur","model","multiple","isArray","map","item","toJsDate","date","menu","isEditingInput","vTextFieldRef","disabledActions","format","display","length","start","end","isValid","inputmode","undefined","isInteractive","disabled","readonly","isReadonly","onKeydown","e","key","includes","onUserInput","target","onClick","preventDefault","stopPropagation","onCancel","onSave","onUpdateDisplayModel","onBlur","_ref2","confirmEditProps","filterProps","datePickerProps","textFieldProps","_createVNode","_mergeProps","class","style","_Fragment","$event","_ref3","actions","proxyModel","isPristine","onUpdateModel"],"sources":["../../../src/labs/VDateInput/VDateInput.tsx"],"sourcesContent":["// Components\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { makeVDatePickerProps, VDatePicker } from '@/components/VDatePicker/VDatePicker'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\n// Types\nexport type VDateInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VDateInputSlots = Omit<VTextFieldSlots, 'default'> & {\n actions: VDateInputActionsSlot\n default: never\n}\n\nexport const makeVDateInputProps = propsFactory({\n displayFormat: [Function, String],\n location: {\n type: String as PropType<StrategyProps['location']>,\n default: 'bottom start',\n },\n updateOn: {\n type: Array as PropType<('blur' | 'enter')[]>,\n default: () => ['blur', 'enter'],\n },\n\n ...makeDisplayProps({\n mobile: null,\n }),\n ...makeFocusProps(),\n ...makeVConfirmEditProps({\n hideActions: true,\n }),\n ...makeVTextFieldProps({\n placeholder: 'mm/dd/yyyy',\n prependIcon: '$calendar',\n }),\n ...omit(makeVDatePickerProps({\n hideHeader: true,\n showAdjacentMonths: true,\n }), ['active', 'location', 'rounded']),\n}, 'VDateInput')\n\nexport const VDateInput = genericComponent<VDateInputSlots>()({\n name: 'VDateInput',\n\n props: makeVDateInputProps(),\n\n emits: {\n save: (value: string) => true,\n cancel: () => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n const adapter = useDate()\n const { mobile } = useDisplay(props)\n const { isFocused, focus, blur } = useFocus(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n props.multiple ? [] : null,\n val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val,\n val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val\n )\n\n const menu = shallowRef(false)\n const isEditingInput = shallowRef(false)\n const vTextFieldRef = ref<VTextField>()\n const disabledActions = ref<typeof VConfirmEdit['props']['disabled']>(['save'])\n\n function format (date: unknown) {\n if (typeof props.displayFormat === 'function') {\n return props.displayFormat(date)\n }\n\n return adapter.format(date, props.displayFormat ?? 'keyboardDate')\n }\n\n const display = computed(() => {\n const value = wrapInArray(model.value)\n\n if (!value.length) return null\n\n if (props.multiple === true) {\n return t('$vuetify.datePicker.itemsSelected', value.length)\n }\n\n if (props.multiple === 'range') {\n const start = value[0]\n const end = value[value.length - 1]\n\n if (!adapter.isValid(start) || !adapter.isValid(end)) return ''\n\n return `${format(adapter.date(start))} - ${format(adapter.date(end))}`\n }\n\n return adapter.isValid(model.value) ? format(adapter.date(model.value)) : ''\n })\n\n const inputmode = computed(() => {\n if (!mobile.value) return undefined\n if (isEditingInput.value) return 'text'\n\n return 'none'\n })\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n const isReadonly = computed(() => {\n if (!props.updateOn.length) return true\n\n return !(mobile.value && isEditingInput.value) && props.readonly\n })\n\n watch(menu, val => {\n if (val) return\n\n isEditingInput.value = false\n disabledActions.value = ['save']\n })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter') return\n\n if (!menu.value || !isFocused.value) {\n menu.value = true\n return\n }\n\n if (props.updateOn.includes('enter')) {\n onUserInput(e.target as HTMLInputElement)\n }\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n if (menu.value && mobile.value) {\n isEditingInput.value = true\n } else {\n menu.value = true\n }\n }\n\n function onCancel () {\n emit('cancel')\n menu.value = false\n isEditingInput.value = false\n }\n\n function onSave (value: string) {\n emit('save', value)\n menu.value = false\n }\n\n function onUpdateDisplayModel (value: unknown) {\n if (value != null) return\n\n model.value = null\n }\n\n function onBlur (e: FocusEvent) {\n if (props.updateOn.includes('blur')) {\n onUserInput(e.target as HTMLInputElement)\n }\n\n blur()\n\n // When in mobile mode and editing is done (due to keyboard dismissal), close the menu\n if (mobile.value && isEditingInput.value && !isFocused.value) {\n menu.value = false\n isEditingInput.value = false\n }\n }\n\n function onUserInput ({ value }: HTMLInputElement) {\n if (value && !adapter.isValid(value)) return\n\n model.value = !value ? null : value\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location', 'rounded']))\n const textFieldProps = VTextField.filterProps(props)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n inputmode={ inputmode.value }\n readonly={ isReadonly.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ onBlur }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ onUpdateDisplayModel }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n min-width=\"0\"\n eager={ isFocused.value }\n location={ props.location }\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n disabled={ disabledActions.value }\n onSave={ onSave }\n onCancel={ onCancel }\n >\n {{\n default: ({ actions, model: proxyModel, save, cancel, isPristine }) => {\n function onUpdateModel (value: string) {\n if (!props.hideActions) {\n proxyModel.value = value\n } else {\n model.value = value\n\n if (!props.multiple) {\n menu.value = false\n }\n }\n\n emit('save', value)\n\n disabledActions.value = []\n }\n\n return (\n <VDatePicker\n { ...datePickerProps }\n modelValue={ props.hideActions ? model.value : proxyModel.value }\n onUpdate:modelValue={ value => onUpdateModel(value) }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VDatePicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vTextFieldRef)\n },\n})\n\nexport type VDateInput = InstanceType<typeof VDateInput>\n"],"mappings":"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","ignoreList":[]}
|