vuetify 3.0.0 → 3.0.2

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 (114) hide show
  1. package/dist/json/attributes.json +488 -524
  2. package/dist/json/importMap.json +64 -60
  3. package/dist/json/tags.json +0 -9
  4. package/dist/json/web-types.json +790 -898
  5. package/dist/vuetify.css +141 -142
  6. package/dist/vuetify.d.ts +4398 -3687
  7. package/dist/vuetify.esm.js +2400 -2345
  8. package/dist/vuetify.esm.js.map +1 -1
  9. package/dist/vuetify.js +2399 -2344
  10. package/dist/vuetify.js.map +1 -1
  11. package/dist/vuetify.min.css +2 -2
  12. package/dist/vuetify.min.js +798 -788
  13. package/dist/vuetify.min.js.map +1 -1
  14. package/lib/components/VAutocomplete/VAutocomplete.mjs +12 -4
  15. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  16. package/lib/components/VAutocomplete/index.d.ts +392 -158
  17. package/lib/components/VAvatar/VAvatar.mjs +1 -1
  18. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  19. package/lib/components/VBreadcrumbs/index.d.ts +2 -0
  20. package/lib/components/VBtn/index.d.ts +1 -0
  21. package/lib/components/VCard/VCard.css +0 -3
  22. package/lib/components/VCard/VCard.mjs +2 -1
  23. package/lib/components/VCard/VCard.mjs.map +1 -1
  24. package/lib/components/VCard/VCard.sass +0 -3
  25. package/lib/components/VCard/VCardItem.mjs +1 -2
  26. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  27. package/lib/components/VCard/index.d.ts +1 -0
  28. package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -1
  29. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  30. package/lib/components/VCheckbox/index.d.ts +1 -1
  31. package/lib/components/VChip/VChip.mjs +0 -1
  32. package/lib/components/VChip/VChip.mjs.map +1 -1
  33. package/lib/components/VChip/index.d.ts +1 -2
  34. package/lib/components/VCombobox/VCombobox.mjs +12 -4
  35. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  36. package/lib/components/VCombobox/index.d.ts +392 -158
  37. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +1 -1
  38. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  39. package/lib/components/VExpansionPanel/VExpansionPanel.css +2 -2
  40. package/lib/components/VExpansionPanel/VExpansionPanel.sass +2 -2
  41. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +1 -1
  42. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  43. package/lib/components/VField/index.d.ts +5 -5
  44. package/lib/components/VFileInput/index.d.ts +6 -6
  45. package/lib/components/VInput/VInput.mjs +1 -1
  46. package/lib/components/VInput/VInput.mjs.map +1 -1
  47. package/lib/components/VInput/index.d.ts +4 -4
  48. package/lib/components/VList/VList.mjs +3 -0
  49. package/lib/components/VList/VList.mjs.map +1 -1
  50. package/lib/components/VList/VListGroup.mjs +1 -1
  51. package/lib/components/VList/VListGroup.mjs.map +1 -1
  52. package/lib/components/VList/VListItem.mjs +3 -1
  53. package/lib/components/VList/VListItem.mjs.map +1 -1
  54. package/lib/components/VList/index.d.ts +19 -8
  55. package/lib/components/VNoSsr/VNoSsr.mjs +1 -3
  56. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  57. package/lib/components/VOverlay/VOverlay.mjs +3 -1
  58. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  59. package/lib/components/VOverlay/locationStrategies.mjs +17 -19
  60. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  61. package/lib/components/VOverlay/scrollStrategies.mjs +5 -1
  62. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  63. package/lib/components/VOverlay/useActivator.mjs +5 -1
  64. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  65. package/lib/components/VProgressLinear/VProgressLinear.mjs +1 -0
  66. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  67. package/lib/components/VRadioGroup/index.d.ts +1 -1
  68. package/lib/components/VRangeSlider/index.d.ts +1 -1
  69. package/lib/components/VRating/VRating.mjs +7 -6
  70. package/lib/components/VRating/VRating.mjs.map +1 -1
  71. package/lib/components/VRating/index.d.ts +14 -14
  72. package/lib/components/VSelect/VSelect.mjs +16 -8
  73. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  74. package/lib/components/VSelect/index.d.ts +392 -158
  75. package/lib/components/VSelectionControl/VSelectionControl.mjs +1 -1
  76. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  77. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +1 -1
  78. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  79. package/lib/components/VSlideGroup/VSlideGroup.css +1 -0
  80. package/lib/components/VSlideGroup/VSlideGroup.sass +1 -0
  81. package/lib/components/VSlider/index.d.ts +1 -1
  82. package/lib/components/VSwitch/index.d.ts +1 -1
  83. package/lib/components/VTable/VTable.css +9 -9
  84. package/lib/components/VTable/VTable.sass +20 -15
  85. package/lib/components/VTabs/index.d.ts +1 -0
  86. package/lib/components/VTextField/VTextField.mjs +23 -19
  87. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  88. package/lib/components/VTextField/index.d.ts +58 -58
  89. package/lib/components/VTextarea/index.d.ts +6 -6
  90. package/lib/components/VToolbar/VToolbar.css +1 -0
  91. package/lib/components/VToolbar/VToolbar.sass +1 -0
  92. package/lib/components/VValidation/index.d.ts +1 -1
  93. package/lib/components/index.d.ts +4145 -3435
  94. package/lib/components/transitions/index.mjs +1 -1
  95. package/lib/components/transitions/index.mjs.map +1 -1
  96. package/lib/composables/hydration.mjs +8 -4
  97. package/lib/composables/hydration.mjs.map +1 -1
  98. package/lib/composables/icons.mjs +6 -3
  99. package/lib/composables/icons.mjs.map +1 -1
  100. package/lib/composables/nested/nested.mjs +2 -2
  101. package/lib/composables/nested/nested.mjs.map +1 -1
  102. package/lib/composables/router.mjs +2 -2
  103. package/lib/composables/router.mjs.map +1 -1
  104. package/lib/composables/toggleScope.mjs +6 -2
  105. package/lib/composables/toggleScope.mjs.map +1 -1
  106. package/lib/entry-bundler.mjs +1 -1
  107. package/lib/framework.mjs +16 -10
  108. package/lib/framework.mjs.map +1 -1
  109. package/lib/index.d.ts +17 -16
  110. package/lib/util/defineComponent.mjs +10 -15
  111. package/lib/util/defineComponent.mjs.map +1 -1
  112. package/lib/util/helpers.mjs +10 -2
  113. package/lib/util/helpers.mjs.map +1 -1
  114. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"VSelect.mjs","names":["VDialogTransition","VCheckboxBtn","VChip","VDefaultsProvider","VList","VListItem","VMenu","VTextField","makeItemsProps","useItems","makeTransitionProps","forwardRefs","useLocale","useProxiedModel","IconValue","computed","mergeProps","ref","genericComponent","propsFactory","useRender","wrapInArray","makeSelectProps","chips","Boolean","closableChips","eager","hideNoData","hideSelected","menu","menuIcon","type","default","menuProps","Object","modelValue","multiple","noDataText","String","openOnClear","readonly","itemChildren","VSelect","name","props","transition","component","emits","val","setup","slots","t","vTextFieldRef","items","transformIn","transformOut","model","v","transformed","selections","value","map","find","item","selected","selection","listRef","onClear","e","onClickControl","length","onKeydown","includes","key","focus","select","index","findIndex","splice","onBlur","$el","contains","relatedTarget","onFocusout","hasChips","chip","join","externalValue","preventDefault","onClick","prepend","isSelected","undefined","onChipClose","stopPropagation","slotProps","closable","size","text","title"],"sources":["../../../src/components/VSelect/VSelect.tsx"],"sourcesContent":["// Styles\nimport './VSelect.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\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 { makeItemsProps, useItems } from '@/composables/items'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { IconValue } from '@/composables/icons'\n\n// Utility\nimport { computed, mergeProps, ref } from 'vue'\nimport { genericComponent, 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 modelValue: null,\n multiple: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n openOnClear: Boolean,\n readonly: Boolean,\n\n ...makeItemsProps({ itemChildren: false }),\n}, '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 } & Omit<VTextField['$props'], 'modelValue' | 'onUpdate:modelValue' | '$children'> & 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 ...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 menu = useProxiedModel(props, 'menu')\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 selections = computed(() => {\n return model.value.map(v => {\n return items.value.find(item => item.value === v.value) || v\n })\n })\n const selected = computed(() => selections.value.map(selection => selection.props.value))\n const listRef = ref<VList>()\n\n function onClear (e: MouseEvent) {\n model.value = []\n\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onClickControl () {\n if (\n (props.hideNoData && !items.value.length) ||\n props.readonly\n ) return\n\n menu.value = !menu.value\n }\n function onKeydown (e: KeyboardEvent) {\n if (props.readonly) return\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 => 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\n return (\n <VTextField\n ref={ vTextFieldRef }\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 onClick:control={ onClickControl }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-select__content\"\n eager={ props.eager }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n { ...props.menuProps }\n >\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 { !items.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n )) }\n\n { slots['prepend-item']?.() }\n\n { items.value.map((item, index) => slots.item?.({\n item,\n index,\n props: mergeProps(item.props, { onClick: () => select(item) }),\n }) ?? (\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 { slots['append-item']?.() }\n </VList>\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 <VDefaultsProvider\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slots.chip\n ? slots.chip({ item, index, props: slotProps })\n : (<VChip { ...slotProps } />)\n }\n </VDefaultsProvider>\n ) : (\n slots.selection\n ? slots.selection({ item, index })\n : (\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":["filterVTextFieldProps","makeVTextFieldProps","VCheckboxBtn","VChip","VDefaultsProvider","VDialogTransition","VList","VListItem","VMenu","VTextField","makeItemsProps","useItems","makeTransitionProps","forwardRefs","useLocale","useProxiedModel","IconValue","computed","mergeProps","ref","genericComponent","omit","propsFactory","useRender","wrapInArray","makeSelectProps","chips","Boolean","closableChips","eager","hideNoData","hideSelected","menu","menuIcon","type","default","menuProps","Object","multiple","noDataText","String","openOnClear","itemChildren","VSelect","name","props","modelValue","transition","component","emits","val","setup","slots","t","vTextFieldRef","items","transformIn","transformOut","model","v","transformed","selections","value","map","find","item","selected","selection","listRef","onClear","e","onClickControl","length","readonly","onKeydown","includes","key","preventDefault","focus","select","index","findIndex","splice","onBlur","$el","contains","relatedTarget","onFocusout","hasChips","chip","textFieldProps","join","externalValue","onClick","prepend","isSelected","undefined","onChipClose","stopPropagation","slotProps","closable","size","text","title"],"sources":["../../../src/components/VSelect/VSelect.tsx"],"sourcesContent":["// Styles\nimport './VSelect.sass'\n\n// Components\nimport { filterVTextFieldProps, 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 { makeItemsProps, useItems } from '@/composables/items'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { IconValue } from '@/composables/icons'\n\n// Utility\nimport { computed, mergeProps, ref } from 'vue'\nimport { 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\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 menu = useProxiedModel(props, 'menu')\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 selections = computed(() => {\n return model.value.map(v => {\n return items.value.find(item => item.value === v.value) || v\n })\n })\n const selected = computed(() => selections.value.map(selection => selection.props.value))\n const listRef = ref<VList>()\n\n function onClear (e: MouseEvent) {\n model.value = []\n\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onClickControl () {\n if (\n (props.hideNoData && !items.value.length) ||\n props.readonly\n ) return\n\n menu.value = !menu.value\n }\n function onKeydown (e: KeyboardEvent) {\n if (props.readonly) return\n\n if (['Enter', 'ArrowDown', ' '].includes(e.key)) {\n e.preventDefault()\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 e.preventDefault()\n listRef.value?.focus('prev')\n } else if (e.key === 'Home') {\n e.preventDefault()\n listRef.value?.focus('first')\n } else if (e.key === 'End') {\n e.preventDefault()\n listRef.value?.focus('last')\n }\n }\n function select (item: InternalItem) {\n if (props.multiple) {\n const index = selected.value.findIndex(selection => 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 [textFieldProps] = filterVTextFieldProps(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 onClick:control={ onClickControl }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-select__content\"\n eager={ props.eager }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n { ...props.menuProps }\n >\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 { !items.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n )) }\n\n { slots['prepend-item']?.() }\n\n { items.value.map((item, index) => slots.item?.({\n item,\n index,\n props: mergeProps(item.props, { onClick: () => select(item) }),\n }) ?? (\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 { slots['append-item']?.() }\n </VList>\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 <VDefaultsProvider\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slots.chip\n ? slots.chip({ item, index, props: slotProps })\n : (<VChip { ...slotProps } />)\n }\n </VDefaultsProvider>\n ) : (\n slots.selection\n ? slots.selection({ item, index })\n : (\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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"}