@vuetify/nightly 4.0.0-dev-20230419.0 → 4.0.0-dev-20230421.0

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 (121) hide show
  1. package/CHANGELOG.md +7 -2
  2. package/dist/json/attributes.json +172 -108
  3. package/dist/json/importMap.json +34 -34
  4. package/dist/json/tags.json +16 -0
  5. package/dist/json/web-types.json +522 -220
  6. package/dist/vuetify-labs.css +293 -130
  7. package/dist/vuetify-labs.d.ts +620 -171
  8. package/dist/vuetify-labs.esm.js +867 -186
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +867 -185
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +166 -3
  13. package/dist/vuetify.d.ts +577 -160
  14. package/dist/vuetify.esm.js +809 -138
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +809 -137
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +802 -736
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/adapters/date-adapter.mjs +2 -0
  22. package/lib/adapters/date-adapter.mjs.map +1 -0
  23. package/lib/adapters/vuetify.mjs +399 -0
  24. package/lib/adapters/vuetify.mjs.map +1 -0
  25. package/lib/blueprints/index.d.ts +34 -0
  26. package/lib/blueprints/md1.d.ts +34 -0
  27. package/lib/blueprints/md2.d.ts +34 -0
  28. package/lib/blueprints/md3.d.ts +34 -0
  29. package/lib/components/VAppBar/VAppBar.mjs +62 -10
  30. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  31. package/lib/components/VAppBar/index.d.ts +26 -0
  32. package/lib/components/VAutocomplete/VAutocomplete.css +9 -0
  33. package/lib/components/VAutocomplete/VAutocomplete.mjs +50 -6
  34. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  35. package/lib/components/VAutocomplete/VAutocomplete.sass +10 -0
  36. package/lib/components/VAutocomplete/index.d.ts +29 -17
  37. package/lib/components/VBtn/_mixins.scss +1 -1
  38. package/lib/components/VCard/VCard.mjs.map +1 -1
  39. package/lib/components/VCard/index.d.ts +21 -16
  40. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  41. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  42. package/lib/components/VCheckbox/index.d.ts +22 -1
  43. package/lib/components/VCombobox/VCombobox.css +1 -1
  44. package/lib/components/VCombobox/VCombobox.mjs +6 -4
  45. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  46. package/lib/components/VCombobox/VCombobox.sass +1 -1
  47. package/lib/components/VCombobox/index.d.ts +29 -17
  48. package/lib/components/VField/index.d.ts +6 -0
  49. package/lib/components/VFileInput/VFileInput.mjs +13 -17
  50. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  51. package/lib/components/VFileInput/index.d.ts +68 -23
  52. package/lib/components/VInput/VInput.mjs +14 -7
  53. package/lib/components/VInput/VInput.mjs.map +1 -1
  54. package/lib/components/VInput/index.d.ts +22 -1
  55. package/lib/components/VOverlay/locationStrategies.mjs +9 -4
  56. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  57. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -2
  58. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  59. package/lib/components/VRadioGroup/index.d.ts +22 -1
  60. package/lib/components/VRangeSlider/VRangeSlider.mjs +33 -22
  61. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  62. package/lib/components/VRangeSlider/index.d.ts +39 -6
  63. package/lib/components/VSelect/VSelect.mjs +6 -0
  64. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  65. package/lib/components/VSelect/index.d.ts +32 -17
  66. package/lib/components/VSlider/VSlider.mjs +33 -15
  67. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  68. package/lib/components/VSlider/index.d.ts +39 -6
  69. package/lib/components/VSlider/slider.mjs +47 -24
  70. package/lib/components/VSlider/slider.mjs.map +1 -1
  71. package/lib/components/VSwitch/VSwitch.mjs +5 -3
  72. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  73. package/lib/components/VSwitch/index.d.ts +43 -1
  74. package/lib/components/VTextField/VTextField.mjs +4 -12
  75. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  76. package/lib/components/VTextField/index.d.ts +70 -22
  77. package/lib/components/VTextarea/VTextarea.mjs +4 -12
  78. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  79. package/lib/components/VTextarea/index.d.ts +61 -22
  80. package/lib/components/VToolbar/VToolbar.css +3 -1
  81. package/lib/components/VToolbar/VToolbar.sass +3 -1
  82. package/lib/components/VValidation/index.d.ts +10 -1
  83. package/lib/components/index.d.ts +525 -150
  84. package/lib/composables/date.mjs +39 -0
  85. package/lib/composables/date.mjs.map +1 -0
  86. package/lib/composables/focus.mjs +3 -2
  87. package/lib/composables/focus.mjs.map +1 -1
  88. package/lib/composables/index.mjs +1 -0
  89. package/lib/composables/index.mjs.map +1 -1
  90. package/lib/composables/items.mjs +7 -2
  91. package/lib/composables/items.mjs.map +1 -1
  92. package/lib/composables/scroll.mjs +3 -0
  93. package/lib/composables/scroll.mjs.map +1 -1
  94. package/lib/entry-bundler.mjs +1 -1
  95. package/lib/framework.mjs +8 -3
  96. package/lib/framework.mjs.map +1 -1
  97. package/lib/iconsets/mdi-svg.mjs +2 -2
  98. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  99. package/lib/index.d.ts +52 -10
  100. package/lib/labs/VDataTable/VDataTable.mjs +2 -2
  101. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  102. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  103. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  104. package/lib/labs/VDataTable/VDataTableRows.mjs +52 -44
  105. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  106. package/lib/labs/VDataTable/VDataTableServer.mjs +2 -1
  107. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  108. package/lib/labs/VDataTable/VDataTableVirtual.mjs +0 -1
  109. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  110. package/lib/labs/VDataTable/composables/options.mjs +2 -1
  111. package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
  112. package/lib/labs/VDataTable/index.d.ts +44 -11
  113. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +1 -0
  114. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  115. package/lib/labs/VSkeletonLoader/index.d.ts +9 -9
  116. package/lib/labs/components.d.ts +53 -20
  117. package/lib/styles/main.css +152 -0
  118. package/lib/styles/settings/_utilities.scss +11 -1
  119. package/lib/util/helpers.mjs +4 -0
  120. package/lib/util/helpers.mjs.map +1 -1
  121. package/package.json +2 -2
@@ -60,6 +60,7 @@ declare const VCheckbox: {
60
60
  errorMessages: string | string[];
61
61
  maxErrors: string | number;
62
62
  rules: ValidationRule[];
63
+ persistentHint: boolean;
63
64
  falseIcon: NonNullable<IconValue>;
64
65
  trueIcon: NonNullable<IconValue>;
65
66
  valueComparator: typeof deepEqual;
@@ -78,6 +79,7 @@ declare const VCheckbox: {
78
79
  errorMessages: string | string[];
79
80
  maxErrors: string | number;
80
81
  rules: ValidationRule[];
82
+ persistentHint: boolean;
81
83
  falseIcon: NonNullable<IconValue>;
82
84
  trueIcon: NonNullable<IconValue>;
83
85
  valueComparator: typeof deepEqual;
@@ -95,8 +97,10 @@ declare const VCheckbox: {
95
97
  appendIcon?: IconValue | undefined;
96
98
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
97
99
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
100
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
98
101
  validateOn?: "input" | "blur" | "submit" | undefined;
99
102
  validationValue?: any;
103
+ hint?: string | undefined;
100
104
  hideDetails?: boolean | "auto" | undefined;
101
105
  trueValue?: any;
102
106
  falseValue?: any;
@@ -146,7 +150,7 @@ declare const VCheckbox: {
146
150
  "v-slot:input"?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
147
151
  } & {
148
152
  "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
149
- } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "error" | "direction" | "disabled" | "multiple" | "readonly" | "indeterminate" | "messages" | "density" | "ripple" | "focused" | "errorMessages" | "maxErrors" | "rules" | "falseIcon" | "trueIcon" | "valueComparator" | "indeterminateIcon">;
153
+ } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "error" | "direction" | "disabled" | "multiple" | "readonly" | "indeterminate" | "messages" | "density" | "ripple" | "focused" | "errorMessages" | "maxErrors" | "rules" | "persistentHint" | "falseIcon" | "trueIcon" | "valueComparator" | "indeterminateIcon">;
150
154
  $attrs: {
151
155
  [x: string]: unknown;
152
156
  };
@@ -174,6 +178,7 @@ declare const VCheckbox: {
174
178
  errorMessages: string | string[];
175
179
  maxErrors: string | number;
176
180
  rules: ValidationRule[];
181
+ persistentHint: boolean;
177
182
  falseIcon: NonNullable<IconValue>;
178
183
  trueIcon: NonNullable<IconValue>;
179
184
  valueComparator: typeof deepEqual;
@@ -191,8 +196,10 @@ declare const VCheckbox: {
191
196
  appendIcon?: IconValue | undefined;
192
197
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
193
198
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
199
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
194
200
  validateOn?: "input" | "blur" | "submit" | undefined;
195
201
  validationValue?: any;
202
+ hint?: string | undefined;
196
203
  hideDetails?: boolean | "auto" | undefined;
197
204
  trueValue?: any;
198
205
  falseValue?: any;
@@ -258,6 +265,7 @@ declare const VCheckbox: {
258
265
  errorMessages: string | string[];
259
266
  maxErrors: string | number;
260
267
  rules: ValidationRule[];
268
+ persistentHint: boolean;
261
269
  falseIcon: NonNullable<IconValue>;
262
270
  trueIcon: NonNullable<IconValue>;
263
271
  valueComparator: typeof deepEqual;
@@ -296,6 +304,7 @@ declare const VCheckbox: {
296
304
  errorMessages: string | string[];
297
305
  maxErrors: string | number;
298
306
  rules: ValidationRule[];
307
+ persistentHint: boolean;
299
308
  falseIcon: NonNullable<IconValue>;
300
309
  trueIcon: NonNullable<IconValue>;
301
310
  valueComparator: typeof deepEqual;
@@ -313,8 +322,10 @@ declare const VCheckbox: {
313
322
  appendIcon?: IconValue | undefined;
314
323
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
315
324
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
325
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
316
326
  validateOn?: "input" | "blur" | "submit" | undefined;
317
327
  validationValue?: any;
328
+ hint?: string | undefined;
318
329
  hideDetails?: boolean | "auto" | undefined;
319
330
  trueValue?: any;
320
331
  falseValue?: any;
@@ -382,6 +393,7 @@ declare const VCheckbox: {
382
393
  errorMessages: string | string[];
383
394
  maxErrors: string | number;
384
395
  rules: ValidationRule[];
396
+ persistentHint: boolean;
385
397
  falseIcon: NonNullable<IconValue>;
386
398
  trueIcon: NonNullable<IconValue>;
387
399
  valueComparator: typeof deepEqual;
@@ -399,8 +411,10 @@ declare const VCheckbox: {
399
411
  appendIcon?: IconValue | undefined;
400
412
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
401
413
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
414
+ 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
402
415
  validateOn?: "input" | "blur" | "submit" | undefined;
403
416
  validationValue?: any;
417
+ hint?: string | undefined;
404
418
  hideDetails?: boolean | "auto" | undefined;
405
419
  trueValue?: any;
406
420
  falseValue?: any;
@@ -466,6 +480,7 @@ declare const VCheckbox: {
466
480
  errorMessages: string | string[];
467
481
  maxErrors: string | number;
468
482
  rules: ValidationRule[];
483
+ persistentHint: boolean;
469
484
  falseIcon: NonNullable<IconValue>;
470
485
  trueIcon: NonNullable<IconValue>;
471
486
  valueComparator: typeof deepEqual;
@@ -515,6 +530,7 @@ declare const VCheckbox: {
515
530
  default: string;
516
531
  };
517
532
  focused: BooleanConstructor;
533
+ 'onUpdate:focused': vue.PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
518
534
  errorMessages: {
519
535
  type: vue.PropType<string | string[]>;
520
536
  default: () => never[];
@@ -532,6 +548,8 @@ declare const VCheckbox: {
532
548
  appendIcon: vue.PropType<IconValue>;
533
549
  prependIcon: vue.PropType<IconValue>;
534
550
  hideDetails: vue.PropType<boolean | "auto">;
551
+ hint: StringConstructor;
552
+ persistentHint: BooleanConstructor;
535
553
  messages: {
536
554
  type: vue.PropType<string | string[]>;
537
555
  default: () => never[];
@@ -588,6 +606,7 @@ declare const VCheckbox: {
588
606
  default: string;
589
607
  };
590
608
  focused: BooleanConstructor;
609
+ 'onUpdate:focused': vue.PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
591
610
  errorMessages: {
592
611
  type: vue.PropType<string | string[]>;
593
612
  default: () => never[];
@@ -605,6 +624,8 @@ declare const VCheckbox: {
605
624
  appendIcon: vue.PropType<IconValue>;
606
625
  prependIcon: vue.PropType<IconValue>;
607
626
  hideDetails: vue.PropType<boolean | "auto">;
627
+ hint: StringConstructor;
628
+ persistentHint: BooleanConstructor;
608
629
  messages: {
609
630
  type: vue.PropType<string | string[]>;
610
631
  default: () => never[];
@@ -67,7 +67,7 @@
67
67
  opacity: 1;
68
68
  }
69
69
  .v-combobox--selecting-index .v-field__input > input {
70
- caret-color: transparent !important;
70
+ caret-color: transparent;
71
71
  }
72
72
  .v-combobox--single.v-text-field input {
73
73
  flex: 1 1;
@@ -53,6 +53,7 @@ export const VCombobox = genericComponent()({
53
53
  })
54
54
  },
55
55
  emits: {
56
+ 'update:focused': focused => true,
56
57
  'update:modelValue': val => true,
57
58
  'update:search': val => true,
58
59
  'update:menu': val => true
@@ -190,8 +191,9 @@ export const VCombobox = genericComponent()({
190
191
  }
191
192
  return;
192
193
  }
193
- select(selection.value);
194
- nextTick(() => !selection.value && (selectionIndex.value = length - 2));
194
+ const originalSelectionIndex = selectionIndex.value;
195
+ if (selection.value) select(selection.value);
196
+ selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;
195
197
  }
196
198
  if (e.key === 'ArrowLeft') {
197
199
  if (selectionIndex.value < 0 && selectionStart > 0) return;
@@ -276,6 +278,8 @@ export const VCombobox = genericComponent()({
276
278
  "onUpdate:modelValue": [$event => search.value = $event, v => {
277
279
  if (v == null) model.value = [];
278
280
  }],
281
+ "focused": isFocused.value,
282
+ "onUpdate:focused": $event => isFocused.value = $event,
279
283
  "validationValue": model.externalValue,
280
284
  "dirty": isDirty,
281
285
  "class": ['v-combobox', {
@@ -289,8 +293,6 @@ export const VCombobox = genericComponent()({
289
293
  "placeholder": isDirty ? undefined : props.placeholder,
290
294
  "onClick:clear": onClear,
291
295
  "onMousedown:control": onMousedownControl,
292
- "onFocus": () => isFocused.value = true,
293
- "onBlur": () => isFocused.value = false,
294
296
  "onKeydown": onKeydown
295
297
  }), {
296
298
  ...slots,
@@ -1 +1 @@
1
- {"version":3,"file":"VCombobox.mjs","names":["makeSelectProps","VCheckboxBtn","VChip","VDefaultsProvider","VList","VListItem","VMenu","VTextField","forwardRefs","makeFilterProps","useFilter","makeTransitionProps","transformItem","useItems","useForm","useLocale","useProxiedModel","useTextColor","computed","mergeProps","nextTick","ref","watch","genericComponent","omit","useRender","wrapInArray","makeVTextFieldProps","highlightResult","text","matches","length","Array","isArray","Error","_createVNode","_Fragment","substr","VCombobox","name","props","delimiters","filterKeys","hideNoData","returnObject","modelValue","transition","emits","val","setup","_ref","emit","slots","t","vTextFieldRef","isFocused","isPristine","vMenuRef","_menu","menu","get","value","set","v","ΨopenChildren","selectionIndex","cleared","color","items","transformIn","transformOut","textColorClasses","textColorStyles","model","transformed","multiple","form","_search","title","search","values","split","RegExp","join","forEach","trim","select","filteredItems","getMatches","undefined","selections","map","find","item","valueComparator","displayItems","hideSelected","filter","filteredItem","some","s","selected","selection","listRef","onClear","e","openOnClear","onMousedownControl","readonly","isReadonly","onKeydown","selectionStart","includes","key","preventDefault","focus","prev","setSelectionRange","next","onAfterLeave","index","findIndex","splice","onFocusin","onFocusout","relatedTarget","hasChips","chips","chip","hasList","prepend","append","isDirty","textFieldProps","filterProps","_mergeProps","$event","externalValue","menuIcon","placeholder","onFocus","onBlur","default","eager","menuProps","noDataText","onClick","_ref2","isSelected","onChipClose","stopPropagation","slotProps","closableChips","closable","size","_createTextVNode"],"sources":["../../../src/components/VCombobox/VCombobox.tsx"],"sourcesContent":["// Styles\nimport './VCombobox.sass'\n\n// Components\nimport { makeSelectProps } from '@/components/VSelect/VSelect'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\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 { makeFilterProps, useFilter } from '@/composables/filter'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { transformItem, useItems } from '@/composables/items'\nimport { useForm } from '@/composables/form'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Utility\nimport { computed, mergeProps, nextTick, ref, watch } from 'vue'\nimport { genericComponent, omit, useRender, wrapInArray } from '@/util'\nimport { makeVTextFieldProps } from '@/components/VTextField/VTextField'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MakeSlots, SlotsToProps } from '@/util'\nimport type { FilterMatch } from '@/composables/filter'\nimport type { InternalItem } from '@/composables/items'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nfunction highlightResult (text: string, matches: FilterMatch | undefined, length: number) {\n if (matches == null) return text\n\n if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented')\n\n return typeof matches === 'number' && ~matches\n ? (\n <>\n <span class=\"v-combobox__unmask\">{ text.substr(0, matches) }</span>\n <span class=\"v-combobox__mask\">{ text.substr(matches, length) }</span>\n <span class=\"v-combobox__unmask\">{ text.substr(matches + length) }</span>\n </>\n )\n : text\n}\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = string | (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 VCombobox = genericComponent<new <\n T,\n ReturnObject extends boolean = true,\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: 'VCombobox',\n\n props: {\n // TODO: implement post keyboard support\n // autoSelectFirst: Boolean,\n delimiters: Array as PropType<string[]>,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps({ hideNoData: true, returnObject: true }),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: false }),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n 'update:search': (val: string) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const isFocused = ref(false)\n const isPristine = ref(true)\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 selectionIndex = ref(-1)\n let cleared = false\n const color = computed(() => vTextFieldRef.value?.color)\n const { items, transformIn, transformOut } = useItems(props)\n const { textColorClasses, textColorStyles } = useTextColor(color)\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 _search = ref(!props.multiple ? model.value[0]?.title ?? '' : '')\n const search = computed<string>({\n get: () => {\n return _search.value\n },\n set: val => {\n _search.value = val\n if (!props.multiple) {\n model.value = [transformItem(props, val)]\n }\n\n if (val && props.multiple && props.delimiters?.length) {\n const values = val.split(new RegExp(`(?:${props.delimiters.join('|')})+`))\n if (values.length > 1) {\n values.forEach(v => {\n v = v.trim()\n if (v) select(transformItem(props, v))\n })\n _search.value = ''\n }\n }\n\n if (!val) selectionIndex.value = -1\n\n isPristine.value = !val\n },\n })\n watch(_search, value => {\n if (cleared) {\n // wait for clear to finish, VTextField sets _search to null\n // then search computed triggers and updates _search to ''\n nextTick(() => (cleared = false))\n } else if (isFocused.value && !menu.value) {\n menu.value = true\n }\n\n emit('update:search', value)\n })\n watch(model, value => {\n if (!props.multiple) {\n _search.value = value[0]?.title ?? ''\n }\n })\n\n const { filteredItems, getMatches } = useFilter(props, items, computed(() => isPristine.value ? undefined : search.value))\n\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\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return filteredItems.value.filter(filteredItem => !selections.value.some(s => s.value === filteredItem.value))\n }\n return filteredItems.value\n })\n\n const selected = computed(() => selections.value.map(selection => selection.props.value))\n const selection = computed(() => selections.value[selectionIndex.value])\n const listRef = ref<VList>()\n\n function onClear (e: MouseEvent) {\n cleared = true\n\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 = true\n }\n function onKeydown (e: KeyboardEvent) {\n if (props.readonly || form?.isReadonly.value) return\n\n const selectionStart = vTextFieldRef.value.selectionStart\n const length = selected.value.length\n\n if (\n selectionIndex.value > -1 ||\n ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)\n ) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape'].includes(e.key)) {\n menu.value = false\n }\n\n if (['Enter', 'Escape', 'Tab'].includes(e.key)) {\n isPristine.value = true\n }\n\n if (e.key === 'ArrowDown') {\n listRef.value?.focus('next')\n } else if (e.key === 'ArrowUp') {\n listRef.value?.focus('prev')\n }\n\n if (!props.multiple) return\n\n if (['Backspace', 'Delete'].includes(e.key)) {\n if (selectionIndex.value < 0) {\n if (e.key === 'Backspace' && !search.value) {\n selectionIndex.value = length - 1\n }\n\n return\n }\n\n select(selection.value)\n\n nextTick(() => !selection.value && (selectionIndex.value = length - 2))\n }\n\n if (e.key === 'ArrowLeft') {\n if (selectionIndex.value < 0 && selectionStart > 0) return\n\n const prev = selectionIndex.value > -1\n ? selectionIndex.value - 1\n : length - 1\n\n if (selections.value[prev]) {\n selectionIndex.value = prev\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(search.value.length, search.value.length)\n }\n }\n\n if (e.key === 'ArrowRight') {\n if (selectionIndex.value < 0) return\n\n const next = selectionIndex.value + 1\n\n if (selections.value[next]) {\n selectionIndex.value = next\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(0, 0)\n }\n }\n\n if (e.key === 'Enter' && search.value) {\n select(transformItem(props, search.value))\n search.value = ''\n }\n }\n function onAfterLeave () {\n if (isFocused.value) isPristine.value = true\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\n search.value = ''\n } else {\n model.value = [item]\n _search.value = item.title\n\n // watch for search watcher to trigger\n nextTick(() => {\n menu.value = false\n isPristine.value = true\n })\n }\n }\n\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n if (e.relatedTarget == null) {\n vTextFieldRef.value?.focus()\n }\n }\n\n watch(filteredItems, val => {\n if (!val.length && props.hideNoData) menu.value = false\n })\n\n watch(isFocused, val => {\n if (val) {\n selectionIndex.value = -1\n } else {\n menu.value = false\n\n if (!props.multiple || !search.value) return\n\n model.value = [...model.value, transformItem(props, search.value)]\n search.value = ''\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 return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n v-model={ search.value }\n onUpdate:modelValue={ v => { if (v == null) model.value = [] } }\n validationValue={ model.externalValue }\n dirty={ isDirty }\n class={[\n 'v-combobox',\n {\n 'v-combobox--active-menu': menu.value,\n 'v-combobox--chips': !!props.chips,\n 'v-combobox--selecting-index': selectionIndex.value > -1,\n [`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true,\n },\n ]}\n appendInnerIcon={ props.items.length ? props.menuIcon : undefined }\n readonly={ props.readonly }\n placeholder={ isDirty ? undefined : props.placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onFocus={ () => isFocused.value = true }\n onBlur={ () => isFocused.value = false }\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-combobox__content\"\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterLeave={ onAfterLeave }\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 onFocusin={ onFocusin }\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 => slots.item?.({\n item,\n props: mergeProps(item.props, { onClick: () => select(item) }),\n }) ?? (\n <VListItem\n key={ item.value }\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 title: () => {\n return isPristine.value\n ? item.title\n : highlightResult(item.title, getMatches(item)?.title, search.value?.length ?? 0)\n },\n }}\n </VListItem>\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\n key={ item.value }\n class={[\n 'v-combobox__selection',\n index === selectionIndex.value && [\n 'v-combobox__selection--selected',\n textColorClasses.value,\n ],\n ]}\n style={ index === selectionIndex.value ? textColorStyles.value : {} }\n >\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-combobox__selection-text\">\n { item.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-combobox__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n isPristine,\n menu,\n search,\n selectionIndex,\n filteredItems,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VCombobox = InstanceType<typeof VCombobox>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VCombobox.mjs","names":["makeSelectProps","VCheckboxBtn","VChip","VDefaultsProvider","VList","VListItem","VMenu","VTextField","forwardRefs","makeFilterProps","useFilter","makeTransitionProps","transformItem","useItems","useForm","useLocale","useProxiedModel","useTextColor","computed","mergeProps","nextTick","ref","watch","genericComponent","omit","useRender","wrapInArray","makeVTextFieldProps","highlightResult","text","matches","length","Array","isArray","Error","_createVNode","_Fragment","substr","VCombobox","name","props","delimiters","filterKeys","hideNoData","returnObject","modelValue","transition","emits","focused","val","setup","_ref","emit","slots","t","vTextFieldRef","isFocused","isPristine","vMenuRef","_menu","menu","get","value","set","v","ΨopenChildren","selectionIndex","cleared","color","items","transformIn","transformOut","textColorClasses","textColorStyles","model","transformed","multiple","form","_search","title","search","values","split","RegExp","join","forEach","trim","select","filteredItems","getMatches","undefined","selections","map","find","item","valueComparator","displayItems","hideSelected","filter","filteredItem","some","s","selected","selection","listRef","onClear","e","openOnClear","onMousedownControl","readonly","isReadonly","onKeydown","selectionStart","includes","key","preventDefault","focus","originalSelectionIndex","prev","setSelectionRange","next","onAfterLeave","index","findIndex","splice","onFocusin","onFocusout","relatedTarget","hasChips","chips","chip","hasList","prepend","append","isDirty","textFieldProps","filterProps","_mergeProps","$event","externalValue","menuIcon","placeholder","default","eager","menuProps","noDataText","onClick","_ref2","isSelected","onChipClose","stopPropagation","slotProps","closableChips","closable","size","_createTextVNode"],"sources":["../../../src/components/VCombobox/VCombobox.tsx"],"sourcesContent":["// Styles\nimport './VCombobox.sass'\n\n// Components\nimport { makeSelectProps } from '@/components/VSelect/VSelect'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\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 { makeFilterProps, useFilter } from '@/composables/filter'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { transformItem, useItems } from '@/composables/items'\nimport { useForm } from '@/composables/form'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Utility\nimport { computed, mergeProps, nextTick, ref, watch } from 'vue'\nimport { genericComponent, omit, useRender, wrapInArray } from '@/util'\nimport { makeVTextFieldProps } from '@/components/VTextField/VTextField'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MakeSlots, SlotsToProps } from '@/util'\nimport type { FilterMatch } from '@/composables/filter'\nimport type { InternalItem } from '@/composables/items'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nfunction highlightResult (text: string, matches: FilterMatch | undefined, length: number) {\n if (matches == null) return text\n\n if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented')\n\n return typeof matches === 'number' && ~matches\n ? (\n <>\n <span class=\"v-combobox__unmask\">{ text.substr(0, matches) }</span>\n <span class=\"v-combobox__mask\">{ text.substr(matches, length) }</span>\n <span class=\"v-combobox__unmask\">{ text.substr(matches + length) }</span>\n </>\n )\n : text\n}\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = string | (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 VCombobox = genericComponent<new <\n T,\n ReturnObject extends boolean = true,\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: 'VCombobox',\n\n props: {\n // TODO: implement post keyboard support\n // autoSelectFirst: Boolean,\n delimiters: Array as PropType<string[]>,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps({ hideNoData: true, returnObject: true }),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: false }),\n },\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: any) => true,\n 'update:search': (val: string) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const isFocused = ref(false)\n const isPristine = ref(true)\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 selectionIndex = ref(-1)\n let cleared = false\n const color = computed(() => vTextFieldRef.value?.color)\n const { items, transformIn, transformOut } = useItems(props)\n const { textColorClasses, textColorStyles } = useTextColor(color)\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 _search = ref(!props.multiple ? model.value[0]?.title ?? '' : '')\n const search = computed<string>({\n get: () => {\n return _search.value\n },\n set: val => {\n _search.value = val\n if (!props.multiple) {\n model.value = [transformItem(props, val)]\n }\n\n if (val && props.multiple && props.delimiters?.length) {\n const values = val.split(new RegExp(`(?:${props.delimiters.join('|')})+`))\n if (values.length > 1) {\n values.forEach(v => {\n v = v.trim()\n if (v) select(transformItem(props, v))\n })\n _search.value = ''\n }\n }\n\n if (!val) selectionIndex.value = -1\n\n isPristine.value = !val\n },\n })\n watch(_search, value => {\n if (cleared) {\n // wait for clear to finish, VTextField sets _search to null\n // then search computed triggers and updates _search to ''\n nextTick(() => (cleared = false))\n } else if (isFocused.value && !menu.value) {\n menu.value = true\n }\n\n emit('update:search', value)\n })\n watch(model, value => {\n if (!props.multiple) {\n _search.value = value[0]?.title ?? ''\n }\n })\n\n const { filteredItems, getMatches } = useFilter(props, items, computed(() => isPristine.value ? undefined : search.value))\n\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\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return filteredItems.value.filter(filteredItem => !selections.value.some(s => s.value === filteredItem.value))\n }\n return filteredItems.value\n })\n\n const selected = computed(() => selections.value.map(selection => selection.props.value))\n const selection = computed(() => selections.value[selectionIndex.value])\n const listRef = ref<VList>()\n\n function onClear (e: MouseEvent) {\n cleared = true\n\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 = true\n }\n function onKeydown (e: KeyboardEvent) {\n if (props.readonly || form?.isReadonly.value) return\n\n const selectionStart = vTextFieldRef.value.selectionStart\n const length = selected.value.length\n\n if (\n selectionIndex.value > -1 ||\n ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)\n ) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape'].includes(e.key)) {\n menu.value = false\n }\n\n if (['Enter', 'Escape', 'Tab'].includes(e.key)) {\n isPristine.value = true\n }\n\n if (e.key === 'ArrowDown') {\n listRef.value?.focus('next')\n } else if (e.key === 'ArrowUp') {\n listRef.value?.focus('prev')\n }\n\n if (!props.multiple) return\n\n if (['Backspace', 'Delete'].includes(e.key)) {\n if (selectionIndex.value < 0) {\n if (e.key === 'Backspace' && !search.value) {\n selectionIndex.value = length - 1\n }\n\n return\n }\n\n const originalSelectionIndex = selectionIndex.value\n\n if (selection.value) select(selection.value)\n\n selectionIndex.value = originalSelectionIndex >= length - 1 ? (length - 2) : originalSelectionIndex\n }\n\n if (e.key === 'ArrowLeft') {\n if (selectionIndex.value < 0 && selectionStart > 0) return\n\n const prev = selectionIndex.value > -1\n ? selectionIndex.value - 1\n : length - 1\n\n if (selections.value[prev]) {\n selectionIndex.value = prev\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(search.value.length, search.value.length)\n }\n }\n\n if (e.key === 'ArrowRight') {\n if (selectionIndex.value < 0) return\n\n const next = selectionIndex.value + 1\n\n if (selections.value[next]) {\n selectionIndex.value = next\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(0, 0)\n }\n }\n\n if (e.key === 'Enter' && search.value) {\n select(transformItem(props, search.value))\n search.value = ''\n }\n }\n function onAfterLeave () {\n if (isFocused.value) isPristine.value = true\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\n search.value = ''\n } else {\n model.value = [item]\n _search.value = item.title\n\n // watch for search watcher to trigger\n nextTick(() => {\n menu.value = false\n isPristine.value = true\n })\n }\n }\n\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n if (e.relatedTarget == null) {\n vTextFieldRef.value?.focus()\n }\n }\n\n watch(filteredItems, val => {\n if (!val.length && props.hideNoData) menu.value = false\n })\n\n watch(isFocused, val => {\n if (val) {\n selectionIndex.value = -1\n } else {\n menu.value = false\n\n if (!props.multiple || !search.value) return\n\n model.value = [...model.value, transformItem(props, search.value)]\n search.value = ''\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 return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n v-model={ search.value }\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-combobox',\n {\n 'v-combobox--active-menu': menu.value,\n 'v-combobox--chips': !!props.chips,\n 'v-combobox--selecting-index': selectionIndex.value > -1,\n [`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true,\n },\n ]}\n appendInnerIcon={ props.items.length ? props.menuIcon : undefined }\n readonly={ props.readonly }\n placeholder={ isDirty ? undefined : props.placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\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-combobox__content\"\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterLeave={ onAfterLeave }\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 onFocusin={ onFocusin }\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 => slots.item?.({\n item,\n props: mergeProps(item.props, { onClick: () => select(item) }),\n }) ?? (\n <VListItem\n key={ item.value }\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 title: () => {\n return isPristine.value\n ? item.title\n : highlightResult(item.title, getMatches(item)?.title, search.value?.length ?? 0)\n },\n }}\n </VListItem>\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\n key={ item.value }\n class={[\n 'v-combobox__selection',\n index === selectionIndex.value && [\n 'v-combobox__selection--selected',\n textColorClasses.value,\n ],\n ]}\n style={ index === selectionIndex.value ? textColorStyles.value : {} }\n >\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-combobox__selection-text\">\n { item.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-combobox__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n isPristine,\n menu,\n search,\n selectionIndex,\n filteredItems,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VCombobox = InstanceType<typeof VCombobox>\n"],"mappings":"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"}
@@ -79,7 +79,7 @@
79
79
  opacity: 1
80
80
 
81
81
  .v-field__input > input
82
- caret-color: transparent !important
82
+ caret-color: transparent
83
83
 
84
84
  &--single
85
85
  &.v-text-field input
@@ -180,10 +180,10 @@ declare const VCombobox: {
180
180
  errorMessages: string | string[];
181
181
  maxErrors: string | number;
182
182
  rules: ValidationRule[];
183
+ persistentHint: boolean;
183
184
  clearable: boolean;
184
185
  persistentClear: boolean;
185
186
  singleLine: boolean;
186
- persistentHint: boolean;
187
187
  persistentPlaceholder: boolean;
188
188
  persistentCounter: boolean;
189
189
  valueComparator: typeof deepEqual;
@@ -276,6 +276,7 @@ declare const VCombobox: {
276
276
  'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
277
277
  'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
278
278
  focused: BooleanConstructor;
279
+ 'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
279
280
  validateOn: PropType<"input" | "blur" | "submit" | undefined>;
280
281
  errorMessages: {
281
282
  type: PropType<string | string[]>;
@@ -289,12 +290,12 @@ declare const VCombobox: {
289
290
  type: PropType<ValidationRule[]>;
290
291
  default: () => never[];
291
292
  };
293
+ hint: StringConstructor;
294
+ persistentHint: BooleanConstructor;
292
295
  hideDetails: PropType<boolean | "auto">;
293
296
  clearable: BooleanConstructor;
294
297
  persistentClear: BooleanConstructor;
295
298
  singleLine: BooleanConstructor;
296
- hint: StringConstructor;
297
- persistentHint: BooleanConstructor;
298
299
  persistentPlaceholder: BooleanConstructor;
299
300
  persistentCounter: BooleanConstructor;
300
301
  suffix: StringConstructor;
@@ -678,9 +679,10 @@ declare const VCombobox: {
678
679
  noFilter: BooleanConstructor;
679
680
  delimiters: PropType<string[]>;
680
681
  }, "multiple" | "$children" | "$slots" | "v-slots" | "items" | "v-slot:append" | "v-slot:prepend" | "modelValue" | "onUpdate:modelValue" | "v-slot:loader" | "v-slot:details" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner" | "v-slot:item" | "returnObject" | "v-slot:chip" | "v-slot:selection" | "v-slot:prepend-item" | "v-slot:append-item" | "v-slot:no-data">>> & {
682
+ "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
681
683
  "onUpdate:menu"?: ((val: boolean) => any) | undefined;
682
684
  "onUpdate:search"?: ((val: string) => any) | undefined;
683
- } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "flat" | "reverse" | "type" | "error" | "active" | "direction" | "transition" | "menu" | "autofocus" | "eager" | "disabled" | "readonly" | "noDataText" | "messages" | "rounded" | "density" | "variant" | "clearIcon" | "focused" | "errorMessages" | "maxErrors" | "rules" | "clearable" | "persistentClear" | "singleLine" | "persistentHint" | "persistentPlaceholder" | "persistentCounter" | "valueComparator" | "itemTitle" | "itemValue" | "itemChildren" | "itemProps" | "chips" | "closableChips" | "hideNoData" | "hideSelected" | "menuIcon" | "openOnClear" | "filterMode" | "noFilter" | "filterKeys">;
685
+ } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "flat" | "reverse" | "type" | "error" | "active" | "direction" | "transition" | "menu" | "autofocus" | "eager" | "disabled" | "readonly" | "noDataText" | "messages" | "rounded" | "density" | "variant" | "clearIcon" | "focused" | "errorMessages" | "maxErrors" | "rules" | "persistentHint" | "clearable" | "persistentClear" | "singleLine" | "persistentPlaceholder" | "persistentCounter" | "valueComparator" | "itemTitle" | "itemValue" | "itemChildren" | "itemProps" | "chips" | "closableChips" | "hideNoData" | "hideSelected" | "menuIcon" | "openOnClear" | "filterMode" | "noFilter" | "filterKeys">;
684
686
  $attrs: {
685
687
  [x: string]: unknown;
686
688
  };
@@ -692,7 +694,7 @@ declare const VCombobox: {
692
694
  }>;
693
695
  $root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
694
696
  $parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
695
- $emit: ((event: "update:menu", val: boolean) => void) & ((event: "update:search", val: string) => void);
697
+ $emit: ((event: "update:focused", focused: boolean) => void) & ((event: "update:menu", val: boolean) => void) & ((event: "update:search", val: string) => void);
696
698
  $el: any;
697
699
  $options: vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<Omit<{
698
700
  transition: Omit<{
@@ -770,6 +772,7 @@ declare const VCombobox: {
770
772
  'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
771
773
  'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
772
774
  focused: BooleanConstructor;
775
+ 'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
773
776
  validateOn: PropType<"input" | "blur" | "submit" | undefined>;
774
777
  errorMessages: {
775
778
  type: PropType<string | string[]>;
@@ -783,12 +786,12 @@ declare const VCombobox: {
783
786
  type: PropType<ValidationRule[]>;
784
787
  default: () => never[];
785
788
  };
789
+ hint: StringConstructor;
790
+ persistentHint: BooleanConstructor;
786
791
  hideDetails: PropType<boolean | "auto">;
787
792
  clearable: BooleanConstructor;
788
793
  persistentClear: BooleanConstructor;
789
794
  singleLine: BooleanConstructor;
790
- hint: StringConstructor;
791
- persistentHint: BooleanConstructor;
792
795
  persistentPlaceholder: BooleanConstructor;
793
796
  persistentCounter: BooleanConstructor;
794
797
  suffix: StringConstructor;
@@ -1172,6 +1175,7 @@ declare const VCombobox: {
1172
1175
  noFilter: BooleanConstructor;
1173
1176
  delimiters: PropType<string[]>;
1174
1177
  }, "multiple" | "$children" | "$slots" | "v-slots" | "items" | "v-slot:append" | "v-slot:prepend" | "modelValue" | "onUpdate:modelValue" | "v-slot:loader" | "v-slot:details" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner" | "v-slot:item" | "returnObject" | "v-slot:chip" | "v-slot:selection" | "v-slot:prepend-item" | "v-slot:append-item" | "v-slot:no-data">>> & {
1178
+ "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
1175
1179
  "onUpdate:menu"?: ((val: boolean) => any) | undefined;
1176
1180
  "onUpdate:search"?: ((val: string) => any) | undefined;
1177
1181
  }, {
@@ -1183,6 +1187,7 @@ declare const VCombobox: {
1183
1187
  filteredItems: vue.Ref<InternalItem<any>[]>;
1184
1188
  select: (item: InternalItem) => void;
1185
1189
  } & Omit<any, string | number | symbol>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
1190
+ 'update:focused': (focused: boolean) => true;
1186
1191
  'update:modelValue': (val: any) => true;
1187
1192
  'update:search': (val: string) => true;
1188
1193
  'update:menu': (val: boolean) => true;
@@ -1211,10 +1216,10 @@ declare const VCombobox: {
1211
1216
  errorMessages: string | string[];
1212
1217
  maxErrors: string | number;
1213
1218
  rules: ValidationRule[];
1219
+ persistentHint: boolean;
1214
1220
  clearable: boolean;
1215
1221
  persistentClear: boolean;
1216
1222
  singleLine: boolean;
1217
- persistentHint: boolean;
1218
1223
  persistentPlaceholder: boolean;
1219
1224
  persistentCounter: boolean;
1220
1225
  valueComparator: typeof deepEqual;
@@ -1327,6 +1332,7 @@ declare const VCombobox: {
1327
1332
  'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
1328
1333
  'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
1329
1334
  focused: BooleanConstructor;
1335
+ 'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
1330
1336
  validateOn: PropType<"input" | "blur" | "submit" | undefined>;
1331
1337
  errorMessages: {
1332
1338
  type: PropType<string | string[]>;
@@ -1340,12 +1346,12 @@ declare const VCombobox: {
1340
1346
  type: PropType<ValidationRule[]>;
1341
1347
  default: () => never[];
1342
1348
  };
1349
+ hint: StringConstructor;
1350
+ persistentHint: BooleanConstructor;
1343
1351
  hideDetails: PropType<boolean | "auto">;
1344
1352
  clearable: BooleanConstructor;
1345
1353
  persistentClear: BooleanConstructor;
1346
1354
  singleLine: BooleanConstructor;
1347
- hint: StringConstructor;
1348
- persistentHint: BooleanConstructor;
1349
1355
  persistentPlaceholder: BooleanConstructor;
1350
1356
  persistentCounter: BooleanConstructor;
1351
1357
  suffix: StringConstructor;
@@ -1729,6 +1735,7 @@ declare const VCombobox: {
1729
1735
  noFilter: BooleanConstructor;
1730
1736
  delimiters: PropType<string[]>;
1731
1737
  }, "multiple" | "$children" | "$slots" | "v-slots" | "items" | "v-slot:append" | "v-slot:prepend" | "modelValue" | "onUpdate:modelValue" | "v-slot:loader" | "v-slot:details" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner" | "v-slot:item" | "returnObject" | "v-slot:chip" | "v-slot:selection" | "v-slot:prepend-item" | "v-slot:append-item" | "v-slot:no-data">>> & {
1738
+ "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
1732
1739
  "onUpdate:menu"?: ((val: boolean) => any) | undefined;
1733
1740
  "onUpdate:search"?: ((val: string) => any) | undefined;
1734
1741
  } & vue.ShallowUnwrapRef<{
@@ -1819,6 +1826,7 @@ declare const VCombobox: {
1819
1826
  'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
1820
1827
  'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
1821
1828
  focused: BooleanConstructor;
1829
+ 'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
1822
1830
  validateOn: PropType<"input" | "blur" | "submit" | undefined>;
1823
1831
  errorMessages: {
1824
1832
  type: PropType<string | string[]>;
@@ -1832,12 +1840,12 @@ declare const VCombobox: {
1832
1840
  type: PropType<ValidationRule[]>;
1833
1841
  default: () => never[];
1834
1842
  };
1843
+ hint: StringConstructor;
1844
+ persistentHint: BooleanConstructor;
1835
1845
  hideDetails: PropType<boolean | "auto">;
1836
1846
  clearable: BooleanConstructor;
1837
1847
  persistentClear: BooleanConstructor;
1838
1848
  singleLine: BooleanConstructor;
1839
- hint: StringConstructor;
1840
- persistentHint: BooleanConstructor;
1841
1849
  persistentPlaceholder: BooleanConstructor;
1842
1850
  persistentCounter: BooleanConstructor;
1843
1851
  suffix: StringConstructor;
@@ -2221,6 +2229,7 @@ declare const VCombobox: {
2221
2229
  noFilter: BooleanConstructor;
2222
2230
  delimiters: PropType<string[]>;
2223
2231
  }, "multiple" | "$children" | "$slots" | "v-slots" | "items" | "v-slot:append" | "v-slot:prepend" | "modelValue" | "onUpdate:modelValue" | "v-slot:loader" | "v-slot:details" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner" | "v-slot:item" | "returnObject" | "v-slot:chip" | "v-slot:selection" | "v-slot:prepend-item" | "v-slot:append-item" | "v-slot:no-data">>> & {
2232
+ "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
2224
2233
  "onUpdate:menu"?: ((val: boolean) => any) | undefined;
2225
2234
  "onUpdate:search"?: ((val: string) => any) | undefined;
2226
2235
  }, {
@@ -2232,6 +2241,7 @@ declare const VCombobox: {
2232
2241
  filteredItems: vue.Ref<InternalItem<any>[]>;
2233
2242
  select: (item: InternalItem) => void;
2234
2243
  } & Omit<any, string | number | symbol>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
2244
+ 'update:focused': (focused: boolean) => true;
2235
2245
  'update:modelValue': (val: any) => true;
2236
2246
  'update:search': (val: string) => true;
2237
2247
  'update:menu': (val: boolean) => true;
@@ -2260,10 +2270,10 @@ declare const VCombobox: {
2260
2270
  errorMessages: string | string[];
2261
2271
  maxErrors: string | number;
2262
2272
  rules: ValidationRule[];
2273
+ persistentHint: boolean;
2263
2274
  clearable: boolean;
2264
2275
  persistentClear: boolean;
2265
2276
  singleLine: boolean;
2266
- persistentHint: boolean;
2267
2277
  persistentPlaceholder: boolean;
2268
2278
  persistentCounter: boolean;
2269
2279
  valueComparator: typeof deepEqual;
@@ -2472,6 +2482,7 @@ declare const VCombobox: {
2472
2482
  'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
2473
2483
  'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
2474
2484
  focused: BooleanConstructor;
2485
+ 'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
2475
2486
  validateOn: PropType<"input" | "blur" | "submit" | undefined>;
2476
2487
  errorMessages: {
2477
2488
  type: PropType<string | string[]>;
@@ -2485,12 +2496,12 @@ declare const VCombobox: {
2485
2496
  type: PropType<ValidationRule[]>;
2486
2497
  default: () => never[];
2487
2498
  };
2499
+ hint: StringConstructor;
2500
+ persistentHint: BooleanConstructor;
2488
2501
  hideDetails: PropType<boolean | "auto">;
2489
2502
  clearable: BooleanConstructor;
2490
2503
  persistentClear: BooleanConstructor;
2491
2504
  singleLine: BooleanConstructor;
2492
- hint: StringConstructor;
2493
- persistentHint: BooleanConstructor;
2494
2505
  persistentPlaceholder: BooleanConstructor;
2495
2506
  persistentCounter: BooleanConstructor;
2496
2507
  suffix: StringConstructor;
@@ -2949,6 +2960,7 @@ declare const VCombobox: {
2949
2960
  'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
2950
2961
  'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
2951
2962
  focused: BooleanConstructor;
2963
+ 'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
2952
2964
  validateOn: PropType<"input" | "blur" | "submit" | undefined>;
2953
2965
  errorMessages: {
2954
2966
  type: PropType<string | string[]>;
@@ -2962,12 +2974,12 @@ declare const VCombobox: {
2962
2974
  type: PropType<ValidationRule[]>;
2963
2975
  default: () => never[];
2964
2976
  };
2977
+ hint: StringConstructor;
2978
+ persistentHint: BooleanConstructor;
2965
2979
  hideDetails: PropType<boolean | "auto">;
2966
2980
  clearable: BooleanConstructor;
2967
2981
  persistentClear: BooleanConstructor;
2968
2982
  singleLine: BooleanConstructor;
2969
- hint: StringConstructor;
2970
- persistentHint: BooleanConstructor;
2971
2983
  persistentPlaceholder: BooleanConstructor;
2972
2984
  persistentCounter: BooleanConstructor;
2973
2985
  suffix: StringConstructor;