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.
Files changed (92) hide show
  1. package/dist/json/attributes.json +24 -8
  2. package/dist/json/importMap.json +4 -4
  3. package/dist/json/tags.json +5 -1
  4. package/dist/json/web-types.json +83 -47
  5. package/dist/vuetify-labs.css +439 -420
  6. package/dist/vuetify-labs.d.ts +548 -498
  7. package/dist/vuetify-labs.esm.js +92 -50
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +92 -50
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +53 -34
  12. package/dist/vuetify.d.ts +427 -403
  13. package/dist/vuetify.esm.js +74 -33
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +74 -33
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +46 -36
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VAutocomplete/VAutocomplete.mjs +5 -2
  21. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  22. package/lib/components/VAutocomplete/index.d.ts +38 -32
  23. package/lib/components/VCheckbox/index.d.ts +14 -14
  24. package/lib/components/VChip/VChip.mjs +2 -2
  25. package/lib/components/VChip/VChip.mjs.map +1 -1
  26. package/lib/components/VChip/index.d.ts +14 -14
  27. package/lib/components/VCombobox/VCombobox.mjs +6 -3
  28. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  29. package/lib/components/VCombobox/index.d.ts +38 -32
  30. package/lib/components/VField/VField.mjs +3 -3
  31. package/lib/components/VField/VField.mjs.map +1 -1
  32. package/lib/components/VField/index.d.ts +20 -20
  33. package/lib/components/VFileInput/VFileInput.mjs +0 -1
  34. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  35. package/lib/components/VFileInput/index.d.ts +50 -56
  36. package/lib/components/VImg/VImg.mjs +3 -3
  37. package/lib/components/VImg/VImg.mjs.map +1 -1
  38. package/lib/components/VImg/index.d.ts +19 -19
  39. package/lib/components/VInput/VInput.mjs +2 -2
  40. package/lib/components/VInput/VInput.mjs.map +1 -1
  41. package/lib/components/VInput/index.d.ts +14 -14
  42. package/lib/components/VList/VList.mjs +2 -1
  43. package/lib/components/VList/VList.mjs.map +1 -1
  44. package/lib/components/VList/VListItem.css +12 -0
  45. package/lib/components/VList/VListItem.mjs +2 -2
  46. package/lib/components/VList/VListItem.mjs.map +1 -1
  47. package/lib/components/VList/VListItem.sass +5 -0
  48. package/lib/components/VList/index.d.ts +14 -14
  49. package/lib/components/VOverlay/useActivator.mjs +1 -0
  50. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  51. package/lib/components/VProgressCircular/VProgressCircular.css +3 -1
  52. package/lib/components/VProgressCircular/VProgressCircular.sass +3 -1
  53. package/lib/components/VProgressCircular/_variables.scss +1 -0
  54. package/lib/components/VProgressLinear/VProgressLinear.css +5 -2
  55. package/lib/components/VProgressLinear/VProgressLinear.sass +3 -0
  56. package/lib/components/VProgressLinear/_variables.scss +1 -1
  57. package/lib/components/VRadioGroup/index.d.ts +14 -14
  58. package/lib/components/VRangeSlider/index.d.ts +14 -14
  59. package/lib/components/VSelect/VSelect.mjs +31 -2
  60. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  61. package/lib/components/VSelect/index.d.ts +38 -32
  62. package/lib/components/VSlider/index.d.ts +14 -14
  63. package/lib/components/VSwitch/index.d.ts +14 -14
  64. package/lib/components/VTextField/VTextField.mjs +2 -2
  65. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  66. package/lib/components/VTextField/index.d.ts +83 -77
  67. package/lib/components/VTextarea/VTextarea.mjs +8 -5
  68. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  69. package/lib/components/VTextarea/index.d.ts +56 -50
  70. package/lib/components/VToolbar/VToolbar.css +2 -0
  71. package/lib/components/VToolbar/VToolbar.sass +2 -0
  72. package/lib/components/index.d.ts +426 -402
  73. package/lib/composables/proxiedModel.mjs +2 -1
  74. package/lib/composables/proxiedModel.mjs.map +1 -1
  75. package/lib/composables/theme.mjs +1 -1
  76. package/lib/composables/theme.mjs.map +1 -1
  77. package/lib/entry-bundler.mjs +1 -1
  78. package/lib/framework.mjs +1 -1
  79. package/lib/index.d.ts +1 -1
  80. package/lib/labs/VDataTable/VDataTable.mjs +4 -4
  81. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  82. package/lib/labs/VDataTable/VDataTableRows.mjs +5 -7
  83. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  84. package/lib/labs/VDataTable/VDataTableServer.mjs +4 -3
  85. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  86. package/lib/labs/VDataTable/VDataTableVirtual.mjs +5 -3
  87. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  88. package/lib/labs/VDataTable/index.d.ts +122 -96
  89. package/lib/labs/components.d.ts +122 -96
  90. package/lib/util/helpers.mjs +1 -1
  91. package/lib/util/helpers.mjs.map +1 -1
  92. 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: any[]) => any> = T | T[];
10
- declare const EventProp: PropType<EventProp<(...args: any[]) => any>>;
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<(...args: any[]) => any> | undefined;
95
- 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined;
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<(...args: any[]) => any> | undefined;
187
- 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined;
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<(...args: any[]) => any> | undefined;
305
- 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined;
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<(...args: any[]) => any> | undefined;
387
- 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined;
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<(...args: any[]) => any>>;
521
- 'onClick:append': vue.PropType<EventProp<(...args: any[]) => any>>;
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<(...args: any[]) => any>>;
590
- 'onClick:append': vue.PropType<EventProp<(...args: any[]) => any>>;
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: any[]) => any> = T | T[];
9
- declare const EventProp: PropType<EventProp<(...args: any[]) => any>>;
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<(...args: any[]) => any> | undefined;
92
- 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined;
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<(...args: any[]) => any> | undefined;
181
- 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined;
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<(...args: any[]) => any> | undefined;
303
- 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined;
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<(...args: any[]) => any> | undefined;
382
- 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined;
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<(...args: any[]) => any>>;
551
- 'onClick:append': PropType<EventProp<(...args: any[]) => any>>;
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<(...args: any[]) => any>>;
650
- 'onClick:append': PropType<EventProp<(...args: any[]) => any>>;
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": model.value.length > 0,
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: any[]) => any> = T | T[];
34
- declare const EventProp: PropType<EventProp<(...args: any[]) => any>>;
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<(...args: any[]) => any>>;
564
- 'onClick:append': PropType<EventProp<(...args: any[]) => any>>;
565
- 'onClick:prepend': PropType<EventProp<(...args: any[]) => any>>;
566
- 'onClick:appendInner': PropType<EventProp<(...args: any[]) => any>>;
567
- 'onClick:prependInner': PropType<EventProp<(...args: any[]) => any>>;
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<(...args: any[]) => any>>;
1241
- 'onClick:append': PropType<EventProp<(...args: any[]) => any>>;
1242
- 'onClick:prepend': PropType<EventProp<(...args: any[]) => any>>;
1243
- 'onClick:appendInner': PropType<EventProp<(...args: any[]) => any>>;
1244
- 'onClick:prependInner': PropType<EventProp<(...args: any[]) => any>>;
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<(...args: any[]) => any>>;
2074
- 'onClick:append': PropType<EventProp<(...args: any[]) => any>>;
2075
- 'onClick:prepend': PropType<EventProp<(...args: any[]) => any>>;
2076
- 'onClick:appendInner': PropType<EventProp<(...args: any[]) => any>>;
2077
- 'onClick:prependInner': PropType<EventProp<(...args: any[]) => any>>;
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<(...args: any[]) => any>>;
2744
- 'onClick:append': PropType<EventProp<(...args: any[]) => any>>;
2745
- 'onClick:prepend': PropType<EventProp<(...args: any[]) => any>>;
2746
- 'onClick:appendInner': PropType<EventProp<(...args: any[]) => any>>;
2747
- 'onClick:prependInner': PropType<EventProp<(...args: any[]) => any>>;
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<(...args: any[]) => any>>;
3673
- 'onClick:append': PropType<EventProp<(...args: any[]) => any>>;
3674
- 'onClick:prepend': PropType<EventProp<(...args: any[]) => any>>;
3675
- 'onClick:appendInner': PropType<EventProp<(...args: any[]) => any>>;
3676
- 'onClick:prependInner': PropType<EventProp<(...args: any[]) => any>>;
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<(...args: any[]) => any>>;
4334
- 'onClick:append': PropType<EventProp<(...args: any[]) => any>>;
4335
- 'onClick:prepend': PropType<EventProp<(...args: any[]) => any>>;
4336
- 'onClick:appendInner': PropType<EventProp<(...args: any[]) => any>>;
4337
- 'onClick:prependInner': PropType<EventProp<(...args: any[]) => any>>;
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: any[]) => any> = T | T[];
9
- declare const EventProp: PropType<EventProp<(...args: any[]) => any>>;
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<(...args: any[]) => any> | undefined;
90
- 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined;
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<(...args: any[]) => any> | undefined;
178
- 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined;
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<(...args: any[]) => any> | undefined;
298
- 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined;
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<(...args: any[]) => any> | undefined;
376
- 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined;
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<(...args: any[]) => any>>;
490
- 'onClick:append': vue.PropType<EventProp<(...args: any[]) => any>>;
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<(...args: any[]) => any>>;
588
- 'onClick:append': vue.PropType<EventProp<(...args: any[]) => any>>;
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;