vuetify 3.1.13 → 3.1.14
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/dist/json/attributes.json +24 -8
- package/dist/json/importMap.json +4 -4
- package/dist/json/tags.json +5 -1
- package/dist/json/web-types.json +83 -47
- package/dist/vuetify-labs.css +439 -420
- package/dist/vuetify-labs.d.ts +548 -498
- package/dist/vuetify-labs.esm.js +92 -50
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +92 -50
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +53 -34
- package/dist/vuetify.d.ts +427 -403
- package/dist/vuetify.esm.js +74 -33
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +74 -33
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +46 -36
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +5 -2
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +38 -32
- package/lib/components/VCheckbox/index.d.ts +14 -14
- package/lib/components/VChip/VChip.mjs +2 -2
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.ts +14 -14
- package/lib/components/VCombobox/VCombobox.mjs +6 -3
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +38 -32
- package/lib/components/VField/VField.mjs +3 -3
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/index.d.ts +20 -20
- package/lib/components/VFileInput/VFileInput.mjs +0 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +50 -56
- package/lib/components/VImg/VImg.mjs +3 -3
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.d.ts +19 -19
- package/lib/components/VInput/VInput.mjs +2 -2
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.ts +14 -14
- package/lib/components/VList/VList.mjs +2 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +12 -0
- package/lib/components/VList/VListItem.mjs +2 -2
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +5 -0
- package/lib/components/VList/index.d.ts +14 -14
- package/lib/components/VOverlay/useActivator.mjs +1 -0
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.css +3 -1
- package/lib/components/VProgressCircular/VProgressCircular.sass +3 -1
- package/lib/components/VProgressCircular/_variables.scss +1 -0
- package/lib/components/VProgressLinear/VProgressLinear.css +5 -2
- package/lib/components/VProgressLinear/VProgressLinear.sass +3 -0
- package/lib/components/VProgressLinear/_variables.scss +1 -1
- package/lib/components/VRadioGroup/index.d.ts +14 -14
- package/lib/components/VRangeSlider/index.d.ts +14 -14
- package/lib/components/VSelect/VSelect.mjs +31 -2
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +38 -32
- package/lib/components/VSlider/index.d.ts +14 -14
- package/lib/components/VSwitch/index.d.ts +14 -14
- package/lib/components/VTextField/VTextField.mjs +2 -2
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +83 -77
- package/lib/components/VTextarea/VTextarea.mjs +8 -5
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +56 -50
- package/lib/components/VToolbar/VToolbar.css +2 -0
- package/lib/components/VToolbar/VToolbar.sass +2 -0
- package/lib/components/index.d.ts +426 -402
- package/lib/composables/proxiedModel.mjs +2 -1
- package/lib/composables/proxiedModel.mjs.map +1 -1
- package/lib/composables/theme.mjs +1 -1
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/labs/VDataTable/VDataTable.mjs +4 -4
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +5 -7
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +4 -3
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +5 -3
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +122 -96
- package/lib/labs/components.d.ts +122 -96
- package/lib/util/helpers.mjs +1 -1
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +3 -3
|
@@ -6,8 +6,8 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
|
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
declare function deepEqual(a: any, b: any): boolean;
|
|
9
|
-
type EventProp<T = (...args:
|
|
10
|
-
declare const EventProp: PropType<EventProp<(...args:
|
|
9
|
+
type EventProp<T extends any[] = any[], F = (...args: T) => any> = F | F[];
|
|
10
|
+
declare const EventProp: <T extends any[] = any[]>() => PropType<EventProp<T, (...args: T) => any>>;
|
|
11
11
|
|
|
12
12
|
type Density = null | 'default' | 'comfortable' | 'compact';
|
|
13
13
|
|
|
@@ -91,8 +91,8 @@ declare const VRadioGroup: {
|
|
|
91
91
|
modelValue?: any;
|
|
92
92
|
prependIcon?: IconValue | undefined;
|
|
93
93
|
appendIcon?: IconValue | undefined;
|
|
94
|
-
'onClick:append'?: EventProp<(
|
|
95
|
-
'onClick:prepend'?: EventProp<(
|
|
94
|
+
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
95
|
+
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
96
96
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
|
97
97
|
validationValue?: any;
|
|
98
98
|
hideDetails?: boolean | "auto" | undefined;
|
|
@@ -183,8 +183,8 @@ declare const VRadioGroup: {
|
|
|
183
183
|
modelValue?: any;
|
|
184
184
|
prependIcon?: IconValue | undefined;
|
|
185
185
|
appendIcon?: IconValue | undefined;
|
|
186
|
-
'onClick:append'?: EventProp<(
|
|
187
|
-
'onClick:prepend'?: EventProp<(
|
|
186
|
+
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
187
|
+
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
188
188
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
|
189
189
|
validationValue?: any;
|
|
190
190
|
hideDetails?: boolean | "auto" | undefined;
|
|
@@ -301,8 +301,8 @@ declare const VRadioGroup: {
|
|
|
301
301
|
modelValue?: any;
|
|
302
302
|
prependIcon?: IconValue | undefined;
|
|
303
303
|
appendIcon?: IconValue | undefined;
|
|
304
|
-
'onClick:append'?: EventProp<(
|
|
305
|
-
'onClick:prepend'?: EventProp<(
|
|
304
|
+
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
305
|
+
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
306
306
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
|
307
307
|
validationValue?: any;
|
|
308
308
|
hideDetails?: boolean | "auto" | undefined;
|
|
@@ -383,8 +383,8 @@ declare const VRadioGroup: {
|
|
|
383
383
|
modelValue?: any;
|
|
384
384
|
prependIcon?: IconValue | undefined;
|
|
385
385
|
appendIcon?: IconValue | undefined;
|
|
386
|
-
'onClick:append'?: EventProp<(
|
|
387
|
-
'onClick:prepend'?: EventProp<(
|
|
386
|
+
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
387
|
+
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
388
388
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
|
389
389
|
validationValue?: any;
|
|
390
390
|
hideDetails?: boolean | "auto" | undefined;
|
|
@@ -517,8 +517,8 @@ declare const VRadioGroup: {
|
|
|
517
517
|
default: string;
|
|
518
518
|
validator: (v: any) => boolean;
|
|
519
519
|
};
|
|
520
|
-
'onClick:prepend': vue.PropType<EventProp<(
|
|
521
|
-
'onClick:append': vue.PropType<EventProp<(
|
|
520
|
+
'onClick:prepend': vue.PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
521
|
+
'onClick:append': vue.PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
522
522
|
height: {
|
|
523
523
|
type: (StringConstructor | NumberConstructor)[];
|
|
524
524
|
default: string;
|
|
@@ -586,8 +586,8 @@ declare const VRadioGroup: {
|
|
|
586
586
|
default: string;
|
|
587
587
|
validator: (v: any) => boolean;
|
|
588
588
|
};
|
|
589
|
-
'onClick:prepend': vue.PropType<EventProp<(
|
|
590
|
-
'onClick:append': vue.PropType<EventProp<(
|
|
589
|
+
'onClick:prepend': vue.PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
590
|
+
'onClick:append': vue.PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
591
591
|
height: {
|
|
592
592
|
type: (StringConstructor | NumberConstructor)[];
|
|
593
593
|
default: string;
|
|
@@ -5,8 +5,8 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
|
|
|
5
5
|
filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
type EventProp<T = (...args:
|
|
9
|
-
declare const EventProp: PropType<EventProp<(...args:
|
|
8
|
+
type EventProp<T extends any[] = any[], F = (...args: T) => any> = F | F[];
|
|
9
|
+
declare const EventProp: <T extends any[] = any[]>() => PropType<EventProp<T, (...args: T) => any>>;
|
|
10
10
|
|
|
11
11
|
type Density = null | 'default' | 'comfortable' | 'compact';
|
|
12
12
|
|
|
@@ -88,8 +88,8 @@ declare const VRangeSlider: {
|
|
|
88
88
|
rounded?: string | number | boolean | undefined;
|
|
89
89
|
prependIcon?: IconValue | undefined;
|
|
90
90
|
appendIcon?: IconValue | undefined;
|
|
91
|
-
'onClick:append'?: EventProp<(
|
|
92
|
-
'onClick:prepend'?: EventProp<(
|
|
91
|
+
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
92
|
+
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
93
93
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
|
94
94
|
validationValue?: any;
|
|
95
95
|
hideDetails?: boolean | "auto" | undefined;
|
|
@@ -177,8 +177,8 @@ declare const VRangeSlider: {
|
|
|
177
177
|
rounded?: string | number | boolean | undefined;
|
|
178
178
|
prependIcon?: IconValue | undefined;
|
|
179
179
|
appendIcon?: IconValue | undefined;
|
|
180
|
-
'onClick:append'?: EventProp<(
|
|
181
|
-
'onClick:prepend'?: EventProp<(
|
|
180
|
+
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
181
|
+
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
182
182
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
|
183
183
|
validationValue?: any;
|
|
184
184
|
hideDetails?: boolean | "auto" | undefined;
|
|
@@ -299,8 +299,8 @@ declare const VRangeSlider: {
|
|
|
299
299
|
rounded?: string | number | boolean | undefined;
|
|
300
300
|
prependIcon?: IconValue | undefined;
|
|
301
301
|
appendIcon?: IconValue | undefined;
|
|
302
|
-
'onClick:append'?: EventProp<(
|
|
303
|
-
'onClick:prepend'?: EventProp<(
|
|
302
|
+
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
303
|
+
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
304
304
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
|
305
305
|
validationValue?: any;
|
|
306
306
|
hideDetails?: boolean | "auto" | undefined;
|
|
@@ -378,8 +378,8 @@ declare const VRangeSlider: {
|
|
|
378
378
|
rounded?: string | number | boolean | undefined;
|
|
379
379
|
prependIcon?: IconValue | undefined;
|
|
380
380
|
appendIcon?: IconValue | undefined;
|
|
381
|
-
'onClick:append'?: EventProp<(
|
|
382
|
-
'onClick:prepend'?: EventProp<(
|
|
381
|
+
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
382
|
+
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
383
383
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
|
384
384
|
validationValue?: any;
|
|
385
385
|
hideDetails?: boolean | "auto" | undefined;
|
|
@@ -547,8 +547,8 @@ declare const VRangeSlider: {
|
|
|
547
547
|
type: PropType<string | string[]>;
|
|
548
548
|
default: () => never[];
|
|
549
549
|
};
|
|
550
|
-
'onClick:prepend': PropType<EventProp<(
|
|
551
|
-
'onClick:append': PropType<EventProp<(
|
|
550
|
+
'onClick:prepend': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
551
|
+
'onClick:append': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
552
552
|
}, vue.ExtractPropTypes<{
|
|
553
553
|
strict: BooleanConstructor;
|
|
554
554
|
modelValue: {
|
|
@@ -646,8 +646,8 @@ declare const VRangeSlider: {
|
|
|
646
646
|
type: PropType<string | string[]>;
|
|
647
647
|
default: () => never[];
|
|
648
648
|
};
|
|
649
|
-
'onClick:prepend': PropType<EventProp<(
|
|
650
|
-
'onClick:append': PropType<EventProp<(
|
|
649
|
+
'onClick:prepend': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
650
|
+
'onClick:append': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
651
651
|
}>>;
|
|
652
652
|
type VRangeSlider = InstanceType<typeof VRangeSlider>;
|
|
653
653
|
|
|
@@ -98,6 +98,9 @@ export const VSelect = genericComponent()({
|
|
|
98
98
|
});
|
|
99
99
|
});
|
|
100
100
|
const selected = computed(() => selections.value.map(selection => selection.props.value));
|
|
101
|
+
const isFocused = ref(false);
|
|
102
|
+
let keyboardLookupPrefix = '';
|
|
103
|
+
let keyboardLookupLastTime;
|
|
101
104
|
const displayItems = computed(() => {
|
|
102
105
|
if (props.hideSelected) {
|
|
103
106
|
return items.value.filter(item => !selections.value.some(s => s === item));
|
|
@@ -134,6 +137,26 @@ export const VSelect = genericComponent()({
|
|
|
134
137
|
} else if (e.key === 'End') {
|
|
135
138
|
listRef.value?.focus('last');
|
|
136
139
|
}
|
|
140
|
+
|
|
141
|
+
// html select hotkeys
|
|
142
|
+
const KEYBOARD_LOOKUP_THRESHOLD = 1000; // milliseconds
|
|
143
|
+
|
|
144
|
+
function checkPrintable(e) {
|
|
145
|
+
const isPrintableChar = e.key.length === 1;
|
|
146
|
+
const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
|
|
147
|
+
return isPrintableChar && noModifier;
|
|
148
|
+
}
|
|
149
|
+
if (props.multiple || !checkPrintable(e)) return;
|
|
150
|
+
const now = performance.now();
|
|
151
|
+
if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
|
|
152
|
+
keyboardLookupPrefix = '';
|
|
153
|
+
}
|
|
154
|
+
keyboardLookupPrefix += e.key.toLowerCase();
|
|
155
|
+
keyboardLookupLastTime = now;
|
|
156
|
+
const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix));
|
|
157
|
+
if (item !== undefined) {
|
|
158
|
+
model.value = [item];
|
|
159
|
+
}
|
|
137
160
|
}
|
|
138
161
|
function select(item) {
|
|
139
162
|
if (props.multiple) {
|
|
@@ -163,7 +186,9 @@ export const VSelect = genericComponent()({
|
|
|
163
186
|
useRender(() => {
|
|
164
187
|
const hasChips = !!(props.chips || slots.chip);
|
|
165
188
|
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
189
|
+
const isDirty = model.value.length > 0;
|
|
166
190
|
const [textFieldProps] = VTextField.filterProps(props);
|
|
191
|
+
const placeholder = isDirty || !isFocused.value && props.label && !props.persistentPlaceholder ? undefined : props.placeholder;
|
|
167
192
|
return _createVNode(VTextField, _mergeProps({
|
|
168
193
|
"ref": vTextFieldRef
|
|
169
194
|
}, textFieldProps, {
|
|
@@ -171,8 +196,10 @@ export const VSelect = genericComponent()({
|
|
|
171
196
|
"onUpdate:modelValue": v => {
|
|
172
197
|
if (v == null) model.value = [];
|
|
173
198
|
},
|
|
199
|
+
"focused": isFocused.value,
|
|
200
|
+
"onUpdate:focused": $event => isFocused.value = $event,
|
|
174
201
|
"validationValue": model.externalValue,
|
|
175
|
-
"dirty":
|
|
202
|
+
"dirty": isDirty,
|
|
176
203
|
"class": ['v-select', {
|
|
177
204
|
'v-select--active-menu': menu.value,
|
|
178
205
|
'v-select--chips': !!props.chips,
|
|
@@ -181,6 +208,7 @@ export const VSelect = genericComponent()({
|
|
|
181
208
|
}],
|
|
182
209
|
"appendInnerIcon": props.menuIcon,
|
|
183
210
|
"readonly": true,
|
|
211
|
+
"placeholder": placeholder,
|
|
184
212
|
"onClick:clear": onClear,
|
|
185
213
|
"onMousedown:control": onMousedownControl,
|
|
186
214
|
"onBlur": onBlur,
|
|
@@ -229,7 +257,8 @@ export const VSelect = genericComponent()({
|
|
|
229
257
|
} = _ref2;
|
|
230
258
|
return props.multiple && !props.hideSelected ? _createVNode(VCheckboxBtn, {
|
|
231
259
|
"modelValue": isSelected,
|
|
232
|
-
"ripple": false
|
|
260
|
+
"ripple": false,
|
|
261
|
+
"tabindex": "-1"
|
|
233
262
|
}, null) : undefined;
|
|
234
263
|
}
|
|
235
264
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VSelect.mjs","names":["makeVTextFieldProps","VCheckboxBtn","VChip","VDefaultsProvider","VDialogTransition","VList","VListItem","VMenu","VTextField","forwardRefs","IconValue","makeItemsProps","useItems","makeTransitionProps","useForm","useLocale","useProxiedModel","computed","mergeProps","ref","deepEqual","genericComponent","omit","propsFactory","useRender","wrapInArray","makeSelectProps","chips","Boolean","closableChips","eager","hideNoData","hideSelected","menu","menuIcon","type","default","menuProps","Object","multiple","noDataText","String","openOnClear","valueComparator","Function","itemChildren","VSelect","name","props","modelValue","transition","component","emits","val","setup","_ref","slots","t","vTextFieldRef","vMenuRef","_menu","get","value","set","v","ΨopenChildren","items","transformIn","transformOut","model","transformed","form","selections","map","find","item","selected","selection","displayItems","filter","some","s","listRef","onClear","e","onMousedownControl","length","readonly","isReadonly","onKeydown","includes","key","preventDefault","focus","select","index","findIndex","splice","onBlur","$el","contains","relatedTarget","onFocusout","hasChips","chip","hasList","prepend","append","textFieldProps","filterProps","_createVNode","_mergeProps","join","externalValue","_Fragment","$event","onClick","_ref2","isSelected","undefined","onChipClose","stopPropagation","slotProps","title","closable","size","text","_createTextVNode"],"sources":["../../../src/components/VSelect/VSelect.tsx"],"sourcesContent":["// Styles\nimport './VSelect.sass'\n\n// Components\nimport { makeVTextFieldProps } from '@/components/VTextField/VTextField'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VDialogTransition } from '@/components/transitions'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { VTextField } from '@/components/VTextField'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { IconValue } from '@/composables/icons'\nimport { makeItemsProps, useItems } from '@/composables/items'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useForm } from '@/composables/form'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, mergeProps, ref } from 'vue'\nimport { deepEqual, genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { InternalItem } from '@/composables/items'\nimport type { MakeSlots, SlotsToProps } from '@/util'\nimport type { PropType } from 'vue'\n\nexport const makeSelectProps = propsFactory({\n chips: Boolean,\n closableChips: Boolean,\n eager: Boolean,\n hideNoData: Boolean,\n hideSelected: Boolean,\n menu: Boolean,\n menuIcon: {\n type: IconValue,\n default: '$dropdown',\n },\n menuProps: {\n type: Object as PropType<VMenu['$props']>,\n },\n multiple: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n openOnClear: Boolean,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeItemsProps({ itemChildren: false }),\n}, 'v-select')\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = T extends Primitive\n ? T\n : (ReturnObject extends true ? T : any)\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject>\n\nexport const VSelect = genericComponent<new <\n T,\n ReturnObject extends boolean = false,\n Multiple extends boolean = false,\n V extends Value<T, ReturnObject, Multiple> = Value<T, ReturnObject, Multiple>\n>() => {\n $props: {\n items?: readonly T[]\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V\n 'onUpdate:modelValue'?: (val: V) => void\n } & SlotsToProps<\n Omit<VInputSlots & VFieldSlots, 'default'> & MakeSlots<{\n item: [{ item: InternalItem<T>, index: number, props: Record<string, unknown> }]\n chip: [{ item: InternalItem<T>, index: number, props: Record<string, unknown> }]\n selection: [{ item: InternalItem<T>, index: number }]\n 'prepend-item': []\n 'append-item': []\n 'no-data': []\n }>\n >\n}>()({\n name: 'VSelect',\n\n props: {\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: { component: VDialogTransition } }),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const vMenuRef = ref<VMenu>()\n const _menu = useProxiedModel(props, 'menu')\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return\n _menu.value = v\n },\n })\n const { items, transformIn, transformOut } = useItems(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const form = useForm()\n const selections = computed(() => {\n return model.value.map(v => {\n return items.value.find(item => props.valueComparator(item.value, v.value)) || v\n })\n })\n const selected = computed(() => selections.value.map(selection => selection.props.value))\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return items.value.filter(item => !selections.value.some(s => s === item))\n }\n return items.value\n })\n\n const listRef = ref<VList>()\n\n function onClear (e: MouseEvent) {\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onMousedownControl () {\n if (\n (props.hideNoData && !items.value.length) ||\n props.readonly || form?.isReadonly.value\n ) return\n\n menu.value = !menu.value\n }\n function onKeydown (e: KeyboardEvent) {\n if (props.readonly || form?.isReadonly.value) return\n\n if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown', ' '].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape', 'Tab'].includes(e.key)) {\n menu.value = false\n }\n\n if (e.key === 'ArrowDown') {\n listRef.value?.focus('next')\n } else if (e.key === 'ArrowUp') {\n listRef.value?.focus('prev')\n } else if (e.key === 'Home') {\n listRef.value?.focus('first')\n } else if (e.key === 'End') {\n listRef.value?.focus('last')\n }\n }\n function select (item: InternalItem) {\n if (props.multiple) {\n const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value))\n\n if (index === -1) {\n model.value = [...model.value, item]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n } else {\n model.value = [item]\n menu.value = false\n }\n }\n function onBlur (e: FocusEvent) {\n if (!listRef.value?.$el.contains(e.relatedTarget as HTMLElement)) {\n menu.value = false\n }\n }\n function onFocusout (e: FocusEvent) {\n if (e.relatedTarget == null) {\n vTextFieldRef.value?.focus()\n }\n }\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n const hasList = !!((!props.hideNoData || displayItems.value.length) || slots.prepend || slots.append || slots['no-data'])\n const [textFieldProps] = VTextField.filterProps(props)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n modelValue={ model.value.map(v => v.props.value).join(', ') }\n onUpdate:modelValue={ v => { if (v == null) model.value = [] } }\n validationValue={ model.externalValue }\n dirty={ model.value.length > 0 }\n class={[\n 'v-select',\n {\n 'v-select--active-menu': menu.value,\n 'v-select--chips': !!props.chips,\n [`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,\n 'v-select--selected': model.value.length,\n },\n ]}\n appendInnerIcon={ props.menuIcon }\n readonly\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n ref={ vMenuRef }\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-select__content\"\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n { ...props.menuProps }\n >\n { hasList && (\n <VList\n ref={ listRef }\n selected={ selected.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onFocusout={ onFocusout }\n >\n { !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n ))}\n\n { slots['prepend-item']?.() }\n\n { displayItems.value.map((item, index) => {\n if (slots.item) {\n return slots.item?.({\n item,\n index,\n props: mergeProps(item.props, { onClick: () => select(item) }),\n })\n }\n\n return (\n <VListItem\n key={ index }\n { ...item.props }\n onClick={ () => select(item) }\n >\n {{\n prepend: ({ isSelected }) => props.multiple && !props.hideSelected ? (\n <VCheckboxBtn modelValue={ isSelected } ripple={ false } />\n ) : undefined,\n }}\n </VListItem>\n )\n })}\n\n { slots['append-item']?.() }\n </VList>\n )}\n </VMenu>\n\n { selections.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n return (\n <div key={ item.value } class=\"v-select__selection\">\n { hasChips ? (\n !slots.chip ? (\n <VChip\n key=\"chip\"\n closable={ props.closableChips }\n size=\"small\"\n text={ item.title }\n { ...slotProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slots.chip?.({ item, index, props: slotProps }) }\n </VDefaultsProvider>\n )\n ) : (\n slots.selection?.({ item, index }) ?? (\n <span class=\"v-select__selection-text\">\n { item.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-select__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n menu,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VSelect = InstanceType<typeof VSelect>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VSelect.mjs","names":["makeVTextFieldProps","VCheckboxBtn","VChip","VDefaultsProvider","VDialogTransition","VList","VListItem","VMenu","VTextField","forwardRefs","IconValue","makeItemsProps","useItems","makeTransitionProps","useForm","useLocale","useProxiedModel","computed","mergeProps","ref","deepEqual","genericComponent","omit","propsFactory","useRender","wrapInArray","makeSelectProps","chips","Boolean","closableChips","eager","hideNoData","hideSelected","menu","menuIcon","type","default","menuProps","Object","multiple","noDataText","String","openOnClear","valueComparator","Function","itemChildren","VSelect","name","props","modelValue","transition","component","emits","val","setup","_ref","slots","t","vTextFieldRef","vMenuRef","_menu","get","value","set","v","ΨopenChildren","items","transformIn","transformOut","model","transformed","form","selections","map","find","item","selected","selection","isFocused","keyboardLookupPrefix","keyboardLookupLastTime","displayItems","filter","some","s","listRef","onClear","e","onMousedownControl","length","readonly","isReadonly","onKeydown","includes","key","preventDefault","focus","KEYBOARD_LOOKUP_THRESHOLD","checkPrintable","isPrintableChar","noModifier","ctrlKey","metaKey","altKey","now","performance","toLowerCase","title","startsWith","undefined","select","index","findIndex","splice","onBlur","$el","contains","relatedTarget","onFocusout","hasChips","chip","hasList","prepend","append","isDirty","textFieldProps","filterProps","placeholder","label","persistentPlaceholder","_createVNode","_mergeProps","join","$event","externalValue","_Fragment","onClick","_ref2","isSelected","onChipClose","stopPropagation","slotProps","closable","size","text","_createTextVNode"],"sources":["../../../src/components/VSelect/VSelect.tsx"],"sourcesContent":["// Styles\nimport './VSelect.sass'\n\n// Components\nimport { makeVTextFieldProps } from '@/components/VTextField/VTextField'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VDialogTransition } from '@/components/transitions'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { VTextField } from '@/components/VTextField'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { IconValue } from '@/composables/icons'\nimport { makeItemsProps, useItems } from '@/composables/items'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useForm } from '@/composables/form'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, mergeProps, ref } from 'vue'\nimport { deepEqual, genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { InternalItem } from '@/composables/items'\nimport type { MakeSlots, SlotsToProps } from '@/util'\nimport type { PropType } from 'vue'\n\nexport const makeSelectProps = propsFactory({\n chips: Boolean,\n closableChips: Boolean,\n eager: Boolean,\n hideNoData: Boolean,\n hideSelected: Boolean,\n menu: Boolean,\n menuIcon: {\n type: IconValue,\n default: '$dropdown',\n },\n menuProps: {\n type: Object as PropType<VMenu['$props']>,\n },\n multiple: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n openOnClear: Boolean,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeItemsProps({ itemChildren: false }),\n}, 'v-select')\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = T extends Primitive\n ? T\n : (ReturnObject extends true ? T : any)\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject>\n\nexport const VSelect = genericComponent<new <\n T,\n ReturnObject extends boolean = false,\n Multiple extends boolean = false,\n V extends Value<T, ReturnObject, Multiple> = Value<T, ReturnObject, Multiple>\n>() => {\n $props: {\n items?: readonly T[]\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V\n 'onUpdate:modelValue'?: (val: V) => void\n } & SlotsToProps<\n Omit<VInputSlots & VFieldSlots, 'default'> & MakeSlots<{\n item: [{ item: InternalItem<T>, index: number, props: Record<string, unknown> }]\n chip: [{ item: InternalItem<T>, index: number, props: Record<string, unknown> }]\n selection: [{ item: InternalItem<T>, index: number }]\n 'prepend-item': []\n 'append-item': []\n 'no-data': []\n }>\n >\n}>()({\n name: 'VSelect',\n\n props: {\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: { component: VDialogTransition } }),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const vMenuRef = ref<VMenu>()\n const _menu = useProxiedModel(props, 'menu')\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return\n _menu.value = v\n },\n })\n const { items, transformIn, transformOut } = useItems(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const form = useForm()\n const selections = computed(() => {\n return model.value.map(v => {\n return items.value.find(item => props.valueComparator(item.value, v.value)) || v\n })\n })\n const selected = computed(() => selections.value.map(selection => selection.props.value))\n const isFocused = ref(false)\n\n let keyboardLookupPrefix = ''\n let keyboardLookupLastTime: number\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return items.value.filter(item => !selections.value.some(s => s === item))\n }\n return items.value\n })\n\n const listRef = ref<VList>()\n\n function onClear (e: MouseEvent) {\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onMousedownControl () {\n if (\n (props.hideNoData && !items.value.length) ||\n props.readonly || form?.isReadonly.value\n ) return\n\n menu.value = !menu.value\n }\n function onKeydown (e: KeyboardEvent) {\n if (props.readonly || form?.isReadonly.value) return\n\n if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown', ' '].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape', 'Tab'].includes(e.key)) {\n menu.value = false\n }\n\n if (e.key === 'ArrowDown') {\n listRef.value?.focus('next')\n } else if (e.key === 'ArrowUp') {\n listRef.value?.focus('prev')\n } else if (e.key === 'Home') {\n listRef.value?.focus('first')\n } else if (e.key === 'End') {\n listRef.value?.focus('last')\n }\n\n // html select hotkeys\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n\n function checkPrintable (e: KeyboardEvent) {\n const isPrintableChar = e.key.length === 1\n const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey\n return isPrintableChar && noModifier\n }\n\n if (props.multiple || !checkPrintable(e)) return\n\n const now = performance.now()\n if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n keyboardLookupPrefix = ''\n }\n keyboardLookupPrefix += e.key.toLowerCase()\n keyboardLookupLastTime = now\n\n const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix))\n if (item !== undefined) {\n model.value = [item]\n }\n }\n function select (item: InternalItem) {\n if (props.multiple) {\n const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value))\n\n if (index === -1) {\n model.value = [...model.value, item]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n } else {\n model.value = [item]\n menu.value = false\n }\n }\n function onBlur (e: FocusEvent) {\n if (!listRef.value?.$el.contains(e.relatedTarget as HTMLElement)) {\n menu.value = false\n }\n }\n function onFocusout (e: FocusEvent) {\n if (e.relatedTarget == null) {\n vTextFieldRef.value?.focus()\n }\n }\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n const hasList = !!((!props.hideNoData || displayItems.value.length) || slots.prepend || slots.append || slots['no-data'])\n const isDirty = model.value.length > 0\n const [textFieldProps] = VTextField.filterProps(props)\n\n const placeholder = isDirty || (\n !isFocused.value &&\n props.label &&\n !props.persistentPlaceholder\n ) ? undefined : props.placeholder\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n modelValue={ model.value.map(v => v.props.value).join(', ') }\n onUpdate:modelValue={ v => { if (v == null) model.value = [] } }\n v-model:focused={ isFocused.value }\n validationValue={ model.externalValue }\n dirty={ isDirty }\n class={[\n 'v-select',\n {\n 'v-select--active-menu': menu.value,\n 'v-select--chips': !!props.chips,\n [`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,\n 'v-select--selected': model.value.length,\n },\n ]}\n appendInnerIcon={ props.menuIcon }\n readonly\n placeholder={ placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n ref={ vMenuRef }\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-select__content\"\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n { ...props.menuProps }\n >\n { hasList && (\n <VList\n ref={ listRef }\n selected={ selected.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onFocusout={ onFocusout }\n >\n { !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n ))}\n\n { slots['prepend-item']?.() }\n\n { displayItems.value.map((item, index) => {\n if (slots.item) {\n return slots.item?.({\n item,\n index,\n props: mergeProps(item.props, { onClick: () => select(item) }),\n })\n }\n\n return (\n <VListItem\n key={ index }\n { ...item.props }\n onClick={ () => select(item) }\n >\n {{\n prepend: ({ isSelected }) => props.multiple && !props.hideSelected ? (\n <VCheckboxBtn\n modelValue={ isSelected }\n ripple={ false }\n tabindex=\"-1\"\n />\n ) : undefined,\n }}\n </VListItem>\n )\n })}\n\n { slots['append-item']?.() }\n </VList>\n )}\n </VMenu>\n\n { selections.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n return (\n <div key={ item.value } class=\"v-select__selection\">\n { hasChips ? (\n !slots.chip ? (\n <VChip\n key=\"chip\"\n closable={ props.closableChips }\n size=\"small\"\n text={ item.title }\n { ...slotProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slots.chip?.({ item, index, props: slotProps }) }\n </VDefaultsProvider>\n )\n ) : (\n slots.selection?.({ item, index }) ?? (\n <span class=\"v-select__selection-text\">\n { item.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-select__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n menu,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VSelect = InstanceType<typeof VSelect>\n"],"mappings":"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"}
|
|
@@ -30,8 +30,8 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
|
|
|
30
30
|
|
|
31
31
|
declare function deepEqual(a: any, b: any): boolean;
|
|
32
32
|
type SelectItemKey = boolean | string | (string | number)[] | ((item: Record<string, any>, fallback?: any) => any);
|
|
33
|
-
type EventProp<T = (...args:
|
|
34
|
-
declare const EventProp: PropType<EventProp<(...args:
|
|
33
|
+
type EventProp<T extends any[] = any[], F = (...args: T) => any> = F | F[];
|
|
34
|
+
declare const EventProp: <T extends any[] = any[]>() => PropType<EventProp<T, (...args: T) => any>>;
|
|
35
35
|
|
|
36
36
|
interface LoaderSlotProps {
|
|
37
37
|
color: string | undefined;
|
|
@@ -560,11 +560,11 @@ declare const VSelect: {
|
|
|
560
560
|
default: string;
|
|
561
561
|
};
|
|
562
562
|
prependInnerIcon: PropType<IconValue>;
|
|
563
|
-
'onClick:clear': PropType<EventProp<(
|
|
564
|
-
'onClick:append': PropType<EventProp<(
|
|
565
|
-
'onClick:prepend': PropType<EventProp<(
|
|
566
|
-
'onClick:appendInner': PropType<EventProp<(
|
|
567
|
-
'onClick:prependInner': PropType<EventProp<(
|
|
563
|
+
'onClick:clear': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
564
|
+
'onClick:append': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
565
|
+
'onClick:prepend': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
566
|
+
'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
567
|
+
'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
568
568
|
focused: BooleanConstructor;
|
|
569
569
|
validateOn: PropType<"input" | "blur" | "submit" | undefined>;
|
|
570
570
|
errorMessages: {
|
|
@@ -589,6 +589,7 @@ declare const VSelect: {
|
|
|
589
589
|
persistentCounter: BooleanConstructor;
|
|
590
590
|
suffix: StringConstructor;
|
|
591
591
|
counterValue: PropType<(value: any) => number>;
|
|
592
|
+
modelModifiers: PropType<Record<string, boolean>>;
|
|
592
593
|
items: {
|
|
593
594
|
type: PropType<any[]>;
|
|
594
595
|
default: () => never[];
|
|
@@ -1237,11 +1238,11 @@ declare const VSelect: {
|
|
|
1237
1238
|
default: string;
|
|
1238
1239
|
};
|
|
1239
1240
|
prependInnerIcon: PropType<IconValue>;
|
|
1240
|
-
'onClick:clear': PropType<EventProp<(
|
|
1241
|
-
'onClick:append': PropType<EventProp<(
|
|
1242
|
-
'onClick:prepend': PropType<EventProp<(
|
|
1243
|
-
'onClick:appendInner': PropType<EventProp<(
|
|
1244
|
-
'onClick:prependInner': PropType<EventProp<(
|
|
1241
|
+
'onClick:clear': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
1242
|
+
'onClick:append': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
1243
|
+
'onClick:prepend': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
1244
|
+
'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
1245
|
+
'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
1245
1246
|
focused: BooleanConstructor;
|
|
1246
1247
|
validateOn: PropType<"input" | "blur" | "submit" | undefined>;
|
|
1247
1248
|
errorMessages: {
|
|
@@ -1266,6 +1267,7 @@ declare const VSelect: {
|
|
|
1266
1267
|
persistentCounter: BooleanConstructor;
|
|
1267
1268
|
suffix: StringConstructor;
|
|
1268
1269
|
counterValue: PropType<(value: any) => number>;
|
|
1270
|
+
modelModifiers: PropType<Record<string, boolean>>;
|
|
1269
1271
|
items: {
|
|
1270
1272
|
type: PropType<any[]>;
|
|
1271
1273
|
default: () => never[];
|
|
@@ -2070,11 +2072,11 @@ declare const VSelect: {
|
|
|
2070
2072
|
default: string;
|
|
2071
2073
|
};
|
|
2072
2074
|
prependInnerIcon: PropType<IconValue>;
|
|
2073
|
-
'onClick:clear': PropType<EventProp<(
|
|
2074
|
-
'onClick:append': PropType<EventProp<(
|
|
2075
|
-
'onClick:prepend': PropType<EventProp<(
|
|
2076
|
-
'onClick:appendInner': PropType<EventProp<(
|
|
2077
|
-
'onClick:prependInner': PropType<EventProp<(
|
|
2075
|
+
'onClick:clear': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
2076
|
+
'onClick:append': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
2077
|
+
'onClick:prepend': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
2078
|
+
'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
2079
|
+
'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
2078
2080
|
focused: BooleanConstructor;
|
|
2079
2081
|
validateOn: PropType<"input" | "blur" | "submit" | undefined>;
|
|
2080
2082
|
errorMessages: {
|
|
@@ -2099,6 +2101,7 @@ declare const VSelect: {
|
|
|
2099
2101
|
persistentCounter: BooleanConstructor;
|
|
2100
2102
|
suffix: StringConstructor;
|
|
2101
2103
|
counterValue: PropType<(value: any) => number>;
|
|
2104
|
+
modelModifiers: PropType<Record<string, boolean>>;
|
|
2102
2105
|
items: {
|
|
2103
2106
|
type: PropType<any[]>;
|
|
2104
2107
|
default: () => never[];
|
|
@@ -2740,11 +2743,11 @@ declare const VSelect: {
|
|
|
2740
2743
|
default: string;
|
|
2741
2744
|
};
|
|
2742
2745
|
prependInnerIcon: PropType<IconValue>;
|
|
2743
|
-
'onClick:clear': PropType<EventProp<(
|
|
2744
|
-
'onClick:append': PropType<EventProp<(
|
|
2745
|
-
'onClick:prepend': PropType<EventProp<(
|
|
2746
|
-
'onClick:appendInner': PropType<EventProp<(
|
|
2747
|
-
'onClick:prependInner': PropType<EventProp<(
|
|
2746
|
+
'onClick:clear': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
2747
|
+
'onClick:append': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
2748
|
+
'onClick:prepend': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
2749
|
+
'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
2750
|
+
'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
2748
2751
|
focused: BooleanConstructor;
|
|
2749
2752
|
validateOn: PropType<"input" | "blur" | "submit" | undefined>;
|
|
2750
2753
|
errorMessages: {
|
|
@@ -2769,6 +2772,7 @@ declare const VSelect: {
|
|
|
2769
2772
|
persistentCounter: BooleanConstructor;
|
|
2770
2773
|
suffix: StringConstructor;
|
|
2771
2774
|
counterValue: PropType<(value: any) => number>;
|
|
2775
|
+
modelModifiers: PropType<Record<string, boolean>>;
|
|
2772
2776
|
items: {
|
|
2773
2777
|
type: PropType<any[]>;
|
|
2774
2778
|
default: () => never[];
|
|
@@ -3669,11 +3673,11 @@ declare const VSelect: {
|
|
|
3669
3673
|
default: string;
|
|
3670
3674
|
};
|
|
3671
3675
|
prependInnerIcon: PropType<IconValue>;
|
|
3672
|
-
'onClick:clear': PropType<EventProp<(
|
|
3673
|
-
'onClick:append': PropType<EventProp<(
|
|
3674
|
-
'onClick:prepend': PropType<EventProp<(
|
|
3675
|
-
'onClick:appendInner': PropType<EventProp<(
|
|
3676
|
-
'onClick:prependInner': PropType<EventProp<(
|
|
3676
|
+
'onClick:clear': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
3677
|
+
'onClick:append': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
3678
|
+
'onClick:prepend': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
3679
|
+
'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
3680
|
+
'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
3677
3681
|
focused: BooleanConstructor;
|
|
3678
3682
|
validateOn: PropType<"input" | "blur" | "submit" | undefined>;
|
|
3679
3683
|
errorMessages: {
|
|
@@ -3698,6 +3702,7 @@ declare const VSelect: {
|
|
|
3698
3702
|
persistentCounter: BooleanConstructor;
|
|
3699
3703
|
suffix: StringConstructor;
|
|
3700
3704
|
counterValue: PropType<(value: any) => number>;
|
|
3705
|
+
modelModifiers: PropType<Record<string, boolean>>;
|
|
3701
3706
|
items: {
|
|
3702
3707
|
type: PropType<any[]>;
|
|
3703
3708
|
default: () => never[];
|
|
@@ -4330,11 +4335,11 @@ declare const VSelect: {
|
|
|
4330
4335
|
default: string;
|
|
4331
4336
|
};
|
|
4332
4337
|
prependInnerIcon: PropType<IconValue>;
|
|
4333
|
-
'onClick:clear': PropType<EventProp<(
|
|
4334
|
-
'onClick:append': PropType<EventProp<(
|
|
4335
|
-
'onClick:prepend': PropType<EventProp<(
|
|
4336
|
-
'onClick:appendInner': PropType<EventProp<(
|
|
4337
|
-
'onClick:prependInner': PropType<EventProp<(
|
|
4338
|
+
'onClick:clear': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
4339
|
+
'onClick:append': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
4340
|
+
'onClick:prepend': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
4341
|
+
'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
4342
|
+
'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
4338
4343
|
focused: BooleanConstructor;
|
|
4339
4344
|
validateOn: PropType<"input" | "blur" | "submit" | undefined>;
|
|
4340
4345
|
errorMessages: {
|
|
@@ -4359,6 +4364,7 @@ declare const VSelect: {
|
|
|
4359
4364
|
persistentCounter: BooleanConstructor;
|
|
4360
4365
|
suffix: StringConstructor;
|
|
4361
4366
|
counterValue: PropType<(value: any) => number>;
|
|
4367
|
+
modelModifiers: PropType<Record<string, boolean>>;
|
|
4362
4368
|
items: {
|
|
4363
4369
|
type: PropType<any[]>;
|
|
4364
4370
|
default: () => never[];
|
|
@@ -5,8 +5,8 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
|
|
|
5
5
|
filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
type EventProp<T = (...args:
|
|
9
|
-
declare const EventProp: PropType<EventProp<(...args:
|
|
8
|
+
type EventProp<T extends any[] = any[], F = (...args: T) => any> = F | F[];
|
|
9
|
+
declare const EventProp: <T extends any[] = any[]>() => PropType<EventProp<T, (...args: T) => any>>;
|
|
10
10
|
|
|
11
11
|
type Density = null | 'default' | 'comfortable' | 'compact';
|
|
12
12
|
|
|
@@ -86,8 +86,8 @@ declare const VSlider: {
|
|
|
86
86
|
rounded?: string | number | boolean | undefined;
|
|
87
87
|
prependIcon?: IconValue | undefined;
|
|
88
88
|
appendIcon?: IconValue | undefined;
|
|
89
|
-
'onClick:append'?: EventProp<(
|
|
90
|
-
'onClick:prepend'?: EventProp<(
|
|
89
|
+
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
90
|
+
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
91
91
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
|
92
92
|
validationValue?: any;
|
|
93
93
|
hideDetails?: boolean | "auto" | undefined;
|
|
@@ -174,8 +174,8 @@ declare const VSlider: {
|
|
|
174
174
|
rounded?: string | number | boolean | undefined;
|
|
175
175
|
prependIcon?: IconValue | undefined;
|
|
176
176
|
appendIcon?: IconValue | undefined;
|
|
177
|
-
'onClick:append'?: EventProp<(
|
|
178
|
-
'onClick:prepend'?: EventProp<(
|
|
177
|
+
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
178
|
+
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
179
179
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
|
180
180
|
validationValue?: any;
|
|
181
181
|
hideDetails?: boolean | "auto" | undefined;
|
|
@@ -294,8 +294,8 @@ declare const VSlider: {
|
|
|
294
294
|
rounded?: string | number | boolean | undefined;
|
|
295
295
|
prependIcon?: IconValue | undefined;
|
|
296
296
|
appendIcon?: IconValue | undefined;
|
|
297
|
-
'onClick:append'?: EventProp<(
|
|
298
|
-
'onClick:prepend'?: EventProp<(
|
|
297
|
+
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
298
|
+
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
299
299
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
|
300
300
|
validationValue?: any;
|
|
301
301
|
hideDetails?: boolean | "auto" | undefined;
|
|
@@ -372,8 +372,8 @@ declare const VSlider: {
|
|
|
372
372
|
rounded?: string | number | boolean | undefined;
|
|
373
373
|
prependIcon?: IconValue | undefined;
|
|
374
374
|
appendIcon?: IconValue | undefined;
|
|
375
|
-
'onClick:append'?: EventProp<(
|
|
376
|
-
'onClick:prepend'?: EventProp<(
|
|
375
|
+
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
376
|
+
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
377
377
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
|
378
378
|
validationValue?: any;
|
|
379
379
|
hideDetails?: boolean | "auto" | undefined;
|
|
@@ -486,8 +486,8 @@ declare const VSlider: {
|
|
|
486
486
|
default: string;
|
|
487
487
|
validator: (v: any) => boolean;
|
|
488
488
|
};
|
|
489
|
-
'onClick:prepend': vue.PropType<EventProp<(
|
|
490
|
-
'onClick:append': vue.PropType<EventProp<(
|
|
489
|
+
'onClick:prepend': vue.PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
490
|
+
'onClick:append': vue.PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
491
491
|
elevation: Omit<{
|
|
492
492
|
type: (StringConstructor | NumberConstructor)[];
|
|
493
493
|
validator(v: any): boolean;
|
|
@@ -584,8 +584,8 @@ declare const VSlider: {
|
|
|
584
584
|
default: string;
|
|
585
585
|
validator: (v: any) => boolean;
|
|
586
586
|
};
|
|
587
|
-
'onClick:prepend': vue.PropType<EventProp<(
|
|
588
|
-
'onClick:append': vue.PropType<EventProp<(
|
|
587
|
+
'onClick:prepend': vue.PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
588
|
+
'onClick:append': vue.PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
589
589
|
elevation: Omit<{
|
|
590
590
|
type: (StringConstructor | NumberConstructor)[];
|
|
591
591
|
validator(v: any): boolean;
|