vuetify 3.0.3 → 3.0.5

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 (101) hide show
  1. package/dist/json/attributes.json +907 -891
  2. package/dist/json/importMap.json +74 -74
  3. package/dist/json/tags.json +4 -0
  4. package/dist/json/web-types.json +1163 -1123
  5. package/dist/vuetify.css +64 -67
  6. package/dist/vuetify.d.ts +230 -120
  7. package/dist/vuetify.esm.js +355 -295
  8. package/dist/vuetify.esm.js.map +1 -1
  9. package/dist/vuetify.js +355 -295
  10. package/dist/vuetify.js.map +1 -1
  11. package/dist/vuetify.min.css +2 -2
  12. package/dist/vuetify.min.js +712 -708
  13. package/dist/vuetify.min.js.map +1 -1
  14. package/lib/components/VAutocomplete/VAutocomplete.mjs +1 -1
  15. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  16. package/lib/components/VAutocomplete/index.d.ts +25 -8
  17. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +6 -3
  18. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  19. package/lib/components/VBottomNavigation/index.d.ts +9 -0
  20. package/lib/components/VBtn/index.d.ts +2 -3
  21. package/lib/components/VCard/index.d.ts +2 -3
  22. package/lib/components/VCheckbox/VCheckbox.css +1 -1
  23. package/lib/components/VCheckbox/VCheckbox.sass +1 -1
  24. package/lib/components/VChip/VChip.mjs +15 -7
  25. package/lib/components/VChip/VChip.mjs.map +1 -1
  26. package/lib/components/VChip/index.d.ts +2 -0
  27. package/lib/components/VColorPicker/VColorPicker.mjs +2 -2
  28. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  29. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  30. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  31. package/lib/components/VColorPicker/VColorPickerPreview.mjs +2 -2
  32. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  33. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  34. package/lib/components/VColorPicker/util/index.mjs +24 -14
  35. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  36. package/lib/components/VCombobox/VCombobox.mjs +1 -1
  37. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  38. package/lib/components/VCombobox/index.d.ts +25 -8
  39. package/lib/components/VDialog/index.d.ts +21 -6
  40. package/lib/components/VField/VField.mjs +1 -1
  41. package/lib/components/VField/VField.mjs.map +1 -1
  42. package/lib/components/VField/index.d.ts +5 -8
  43. package/lib/components/VFileInput/index.d.ts +2 -3
  44. package/lib/components/VGrid/VGrid.css +2 -2
  45. package/lib/components/VGrid/VGrid.sass +1 -1
  46. package/lib/components/VList/VListItem.mjs +2 -1
  47. package/lib/components/VList/VListItem.mjs.map +1 -1
  48. package/lib/components/VMenu/index.d.ts +21 -6
  49. package/lib/components/VOverlay/VOverlay.mjs +10 -3
  50. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  51. package/lib/components/VOverlay/index.d.ts +8 -1
  52. package/lib/components/VRadioGroup/VRadioGroup.mjs +1 -2
  53. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  54. package/lib/components/VSelect/VSelect.mjs +6 -2
  55. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  56. package/lib/components/VSelect/index.d.ts +25 -8
  57. package/lib/components/VSelectionControl/VSelectionControl.css +4 -0
  58. package/lib/components/VSelectionControl/VSelectionControl.sass +4 -0
  59. package/lib/components/VSnackbar/index.d.ts +21 -6
  60. package/lib/components/VSwitch/VSwitch.css +1 -1
  61. package/lib/components/VSwitch/VSwitch.sass +1 -1
  62. package/lib/components/VSystemBar/VSystemBar.css +1 -1
  63. package/lib/components/VSystemBar/_variables.scss +1 -1
  64. package/lib/components/VTabs/VTab.css +2 -5
  65. package/lib/components/VTabs/VTab.sass +4 -6
  66. package/lib/components/VTabs/VTabs.css +0 -4
  67. package/lib/components/VTabs/VTabs.sass +0 -5
  68. package/lib/components/VTextField/index.d.ts +20 -29
  69. package/lib/components/VTextarea/index.d.ts +2 -3
  70. package/lib/components/VToolbar/VToolbar.mjs +32 -16
  71. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  72. package/lib/components/VTooltip/VTooltip.mjs +2 -1
  73. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  74. package/lib/components/VTooltip/index.d.ts +21 -6
  75. package/lib/components/index.d.ts +208 -98
  76. package/lib/composables/display.mjs +5 -4
  77. package/lib/composables/display.mjs.map +1 -1
  78. package/lib/composables/hydration.mjs +13 -8
  79. package/lib/composables/hydration.mjs.map +1 -1
  80. package/lib/composables/loader.mjs +1 -1
  81. package/lib/composables/loader.mjs.map +1 -1
  82. package/lib/composables/stack.mjs +16 -9
  83. package/lib/composables/stack.mjs.map +1 -1
  84. package/lib/composables/theme.mjs +7 -7
  85. package/lib/composables/theme.mjs.map +1 -1
  86. package/lib/composables/validation.mjs +2 -2
  87. package/lib/composables/validation.mjs.map +1 -1
  88. package/lib/entry-bundler.mjs +1 -1
  89. package/lib/framework.mjs +1 -1
  90. package/lib/index.d.ts +22 -22
  91. package/lib/services/goto/util.mjs +1 -1
  92. package/lib/services/goto/util.mjs.map +1 -1
  93. package/lib/util/color/APCA.mjs +6 -6
  94. package/lib/util/color/APCA.mjs.map +1 -1
  95. package/lib/util/color/transformSRGB.mjs +15 -7
  96. package/lib/util/color/transformSRGB.mjs.map +1 -1
  97. package/lib/util/colorUtils.mjs +64 -81
  98. package/lib/util/colorUtils.mjs.map +1 -1
  99. package/lib/util/console.mjs +3 -3
  100. package/lib/util/console.mjs.map +1 -1
  101. package/package.json +2 -2
@@ -77,7 +77,7 @@ export const VAutocomplete = genericComponent()({
77
77
  } = useFilter(props, items, computed(() => isPristine.value ? undefined : search.value));
78
78
  const selections = computed(() => {
79
79
  return model.value.map(v => {
80
- return items.value.find(item => item.value === v.value) || v;
80
+ return items.value.find(item => props.valueComparator(item.value, v.value)) || v;
81
81
  });
82
82
  });
83
83
  const selected = computed(() => selections.value.map(selection => selection.props.value));
@@ -1 +1 @@
1
- {"version":3,"file":"VAutocomplete.mjs","names":["makeSelectProps","VCheckboxBtn","VChip","VDefaultsProvider","VList","VListItem","VMenu","VTextField","makeFilterProps","useFilter","makeTransitionProps","forwardRefs","useItems","useLocale","useProxiedModel","computed","mergeProps","nextTick","ref","watch","genericComponent","omit","useRender","wrapInArray","filterVTextFieldProps","makeVTextFieldProps","highlightResult","text","matches","length","Array","isArray","Error","substr","VAutocomplete","name","props","search","String","filterKeys","modelValue","transition","emits","val","setup","slots","t","vTextFieldRef","isFocused","isPristine","menu","items","transformIn","transformOut","model","v","transformed","multiple","filteredItems","value","undefined","selections","map","find","item","selected","selection","listRef","onClear","e","openOnClear","onClickControl","hideNoData","readonly","onKeydown","includes","key","preventDefault","focus","onInput","target","onAfterLeave","onFocusin","onFocusout","relatedTarget","isSelecting","select","index","findIndex","splice","title","at","hasChips","chips","chip","textFieldProps","externalValue","menuIcon","default","eager","menuProps","noDataText","onClick","prepend","isSelected","hideSelected","onChipClose","stopPropagation","slotProps","closable","closableChips","size"],"sources":["../../../src/components/VAutocomplete/VAutocomplete.tsx"],"sourcesContent":["// Styles\nimport './VAutocomplete.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 { makeFilterProps, useFilter } from '@/composables/filter'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useItems } from '@/composables/items'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, mergeProps, nextTick, ref, watch } from 'vue'\nimport { genericComponent, omit, useRender, wrapInArray } from '@/util'\nimport { filterVTextFieldProps, makeVTextFieldProps } from '../VTextField/VTextField'\n\n// Types\nimport type { FilterMatch } from '@/composables/filter'\nimport type { InternalItem } from '@/composables/items'\nimport type { MakeSlots, SlotsToProps } from '@/util'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nfunction highlightResult (text: string, matches: FilterMatch, length: number) {\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-autocomplete__unmask\">{ text.substr(0, matches) }</span>\n <span class=\"v-autocomplete__mask\">{ text.substr(matches, length) }</span>\n <span class=\"v-autocomplete__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> = 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 VAutocomplete = 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: 'VAutocomplete',\n\n props: {\n // TODO: implement post keyboard support\n // autoSelectFirst: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: false }),\n },\n\n emits: {\n 'update:search': (val: any) => true,\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 isFocused = ref(false)\n const isPristine = ref(true)\n const menu = useProxiedModel(props, 'menu')\n const { items, transformIn, transformOut } = useItems(props)\n const search = useProxiedModel(props, 'search', '')\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 { filteredItems } = useFilter(props, items, computed(() => isPristine.value ? undefined : search.value))\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 search.value = ''\n }\n function onClickControl () {\n if (\n (props.hideNoData && !items.value.length) ||\n props.readonly\n ) return\n\n menu.value = true\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'].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 e.preventDefault()\n listRef.value?.focus('next')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n listRef.value?.focus('prev')\n }\n }\n\n function onInput (e: InputEvent) {\n search.value = (e.target as HTMLInputElement).value\n }\n\n function onAfterLeave () {\n if (isFocused.value) isPristine.value = true\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 const isSelecting = ref(false)\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 search.value = ''\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n } else {\n model.value = [item]\n\n isSelecting.value = true\n\n if (!slots.selection) {\n search.value = item.title\n }\n\n menu.value = false\n isPristine.value = true\n\n nextTick(() => (isSelecting.value = false))\n }\n }\n\n watch(isFocused, val => {\n if (val) {\n isSelecting.value = true\n search.value = props.multiple || !!slots.selection ? '' : String(selections.value.at(-1)?.props.title ?? '')\n isPristine.value = true\n\n nextTick(() => isSelecting.value = false)\n } else {\n menu.value = false\n search.value = ''\n }\n })\n\n watch(search, val => {\n if (!isFocused.value || isSelecting.value) return\n\n if (val) menu.value = true\n\n isPristine.value = !val\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={ search.value }\n onUpdate:modelValue={ v => { if (v == null) model.value = [] } }\n validationValue={ model.externalValue }\n dirty={ model.value.length > 0 }\n onInput={ onInput }\n class={[\n 'v-autocomplete',\n {\n 'v-autocomplete--active-menu': menu.value,\n 'v-autocomplete--chips': !!props.chips,\n [`v-autocomplete--${props.multiple ? 'multiple' : 'single'}`]: true,\n 'v-autocomplete--selection-slot': !!slots.selection,\n },\n ]}\n appendInnerIcon={ props.menuIcon }\n readonly={ props.readonly }\n onClick:clear={ onClear }\n onClick:control={ onClickControl }\n onClick:input={ onClickControl }\n onFocus={ () => isFocused.value = true }\n onBlur={ () => isFocused.value = false }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-autocomplete__content\"\n eager={ props.eager }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterLeave={ onAfterLeave }\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 onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n >\n { !filteredItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n )) }\n\n { slots['prepend-item']?.() }\n\n { filteredItems.value.map(({ item, matches }, 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 title: () => {\n return isPristine.value\n ? item.title\n : highlightResult(item.title, matches.title, search.value?.length ?? 0)\n },\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-autocomplete__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-autocomplete__selection-text\">\n { item.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-autocomplete__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 filteredItems,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VAutocomplete = InstanceType<typeof VAutocomplete>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VAutocomplete.mjs","names":["makeSelectProps","VCheckboxBtn","VChip","VDefaultsProvider","VList","VListItem","VMenu","VTextField","makeFilterProps","useFilter","makeTransitionProps","forwardRefs","useItems","useLocale","useProxiedModel","computed","mergeProps","nextTick","ref","watch","genericComponent","omit","useRender","wrapInArray","filterVTextFieldProps","makeVTextFieldProps","highlightResult","text","matches","length","Array","isArray","Error","substr","VAutocomplete","name","props","search","String","filterKeys","modelValue","transition","emits","val","setup","slots","t","vTextFieldRef","isFocused","isPristine","menu","items","transformIn","transformOut","model","v","transformed","multiple","filteredItems","value","undefined","selections","map","find","item","valueComparator","selected","selection","listRef","onClear","e","openOnClear","onClickControl","hideNoData","readonly","onKeydown","includes","key","preventDefault","focus","onInput","target","onAfterLeave","onFocusin","onFocusout","relatedTarget","isSelecting","select","index","findIndex","splice","title","at","hasChips","chips","chip","textFieldProps","externalValue","menuIcon","default","eager","menuProps","noDataText","onClick","prepend","isSelected","hideSelected","onChipClose","stopPropagation","slotProps","closable","closableChips","size"],"sources":["../../../src/components/VAutocomplete/VAutocomplete.tsx"],"sourcesContent":["// Styles\nimport './VAutocomplete.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 { makeFilterProps, useFilter } from '@/composables/filter'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useItems } from '@/composables/items'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, mergeProps, nextTick, ref, watch } from 'vue'\nimport { genericComponent, omit, useRender, wrapInArray } from '@/util'\nimport { filterVTextFieldProps, makeVTextFieldProps } from '../VTextField/VTextField'\n\n// Types\nimport type { FilterMatch } from '@/composables/filter'\nimport type { InternalItem } from '@/composables/items'\nimport type { MakeSlots, SlotsToProps } from '@/util'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nfunction highlightResult (text: string, matches: FilterMatch, length: number) {\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-autocomplete__unmask\">{ text.substr(0, matches) }</span>\n <span class=\"v-autocomplete__mask\">{ text.substr(matches, length) }</span>\n <span class=\"v-autocomplete__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> = 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 VAutocomplete = 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: 'VAutocomplete',\n\n props: {\n // TODO: implement post keyboard support\n // autoSelectFirst: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: false }),\n },\n\n emits: {\n 'update:search': (val: any) => true,\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 isFocused = ref(false)\n const isPristine = ref(true)\n const menu = useProxiedModel(props, 'menu')\n const { items, transformIn, transformOut } = useItems(props)\n const search = useProxiedModel(props, 'search', '')\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 { filteredItems } = useFilter(props, items, computed(() => isPristine.value ? undefined : search.value))\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 listRef = ref<VList>()\n\n function onClear (e: MouseEvent) {\n model.value = []\n\n if (props.openOnClear) {\n menu.value = true\n }\n\n search.value = ''\n }\n function onClickControl () {\n if (\n (props.hideNoData && !items.value.length) ||\n props.readonly\n ) return\n\n menu.value = true\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'].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 e.preventDefault()\n listRef.value?.focus('next')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n listRef.value?.focus('prev')\n }\n }\n\n function onInput (e: InputEvent) {\n search.value = (e.target as HTMLInputElement).value\n }\n\n function onAfterLeave () {\n if (isFocused.value) isPristine.value = true\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 const isSelecting = ref(false)\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 search.value = ''\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n } else {\n model.value = [item]\n\n isSelecting.value = true\n\n if (!slots.selection) {\n search.value = item.title\n }\n\n menu.value = false\n isPristine.value = true\n\n nextTick(() => (isSelecting.value = false))\n }\n }\n\n watch(isFocused, val => {\n if (val) {\n isSelecting.value = true\n search.value = props.multiple || !!slots.selection ? '' : String(selections.value.at(-1)?.props.title ?? '')\n isPristine.value = true\n\n nextTick(() => isSelecting.value = false)\n } else {\n menu.value = false\n search.value = ''\n }\n })\n\n watch(search, val => {\n if (!isFocused.value || isSelecting.value) return\n\n if (val) menu.value = true\n\n isPristine.value = !val\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={ search.value }\n onUpdate:modelValue={ v => { if (v == null) model.value = [] } }\n validationValue={ model.externalValue }\n dirty={ model.value.length > 0 }\n onInput={ onInput }\n class={[\n 'v-autocomplete',\n {\n 'v-autocomplete--active-menu': menu.value,\n 'v-autocomplete--chips': !!props.chips,\n [`v-autocomplete--${props.multiple ? 'multiple' : 'single'}`]: true,\n 'v-autocomplete--selection-slot': !!slots.selection,\n },\n ]}\n appendInnerIcon={ props.menuIcon }\n readonly={ props.readonly }\n onClick:clear={ onClear }\n onClick:control={ onClickControl }\n onClick:input={ onClickControl }\n onFocus={ () => isFocused.value = true }\n onBlur={ () => isFocused.value = false }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-autocomplete__content\"\n eager={ props.eager }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterLeave={ onAfterLeave }\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 onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n >\n { !filteredItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n )) }\n\n { slots['prepend-item']?.() }\n\n { filteredItems.value.map(({ item, matches }, 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 title: () => {\n return isPristine.value\n ? item.title\n : highlightResult(item.title, matches.title, search.value?.length ?? 0)\n },\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-autocomplete__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-autocomplete__selection-text\">\n { item.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-autocomplete__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 filteredItems,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VAutocomplete = InstanceType<typeof VAutocomplete>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,eAAe;AAAA,SACfC,YAAY;AAAA,SACZC,KAAK;AAAA,SACLC,iBAAiB;AAAA,SACjBC,KAAK,EAAEC,SAAS;AAAA,SAChBC,KAAK;AAAA,SACLC,UAAU,mCAEnB;AAAA,SACSC,eAAe,EAAEC,SAAS;AAAA,SAC1BC,mBAAmB;AAAA,SACnBC,WAAW;AAAA,SACXC,QAAQ;AAAA,SACRC,SAAS;AAAA,SACTC,eAAe,8CAExB;AACA,SAASC,QAAQ,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACvDC,gBAAgB,EAAEC,IAAI,EAAEC,SAAS,EAAEC,WAAW;AAAA,SAC9CC,qBAAqB,EAAEC,mBAAmB,wCAEnD;AAOA,SAASC,eAAe,CAAEC,IAAY,EAAEC,OAAoB,EAAEC,MAAc,EAAE;EAC5E,IAAIC,KAAK,CAACC,OAAO,CAACH,OAAO,CAAC,EAAE,MAAM,IAAII,KAAK,CAAC,qCAAqC,CAAC;EAElF,OAAO,OAAOJ,OAAO,KAAK,QAAQ,IAAI,CAACA,OAAO;IAAA,SAG5B;EAAwB,IAAGD,IAAI,CAACM,MAAM,CAAC,CAAC,EAAEL,OAAO,CAAC;IAAA,SAClD;EAAsB,IAAGD,IAAI,CAACM,MAAM,CAACL,OAAO,EAAEC,MAAM,CAAC;IAAA,SACrD;EAAwB,IAAGF,IAAI,CAACM,MAAM,CAACL,OAAO,GAAGC,MAAM,CAAC,OAGtEF,IAAI;AACV;AAaA,OAAO,MAAMO,aAAa,GAAGd,gBAAgB,EAsBzC,CAAC;EACHe,IAAI,EAAE,eAAe;EAErBC,KAAK,EAAE;IACL;IACA;IACAC,MAAM,EAAEC,MAAM;IAEd,GAAG9B,eAAe,CAAC;MAAE+B,UAAU,EAAE,CAAC,OAAO;IAAE,CAAC,CAAC;IAC7C,GAAGvC,eAAe,EAAE;IACpB,GAAGqB,IAAI,CAACI,mBAAmB,CAAC;MAC1Be,UAAU,EAAE;IACd,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACpD,GAAG9B,mBAAmB,CAAC;MAAE+B,UAAU,EAAE;IAAM,CAAC;EAC9C,CAAC;EAEDC,KAAK,EAAE;IACL,eAAe,EAAGC,GAAQ,IAAK,IAAI;IACnC,mBAAmB,EAAGA,GAAQ,IAAK,IAAI;IACvC,aAAa,EAAGA,GAAY,IAAK;EACnC,CAAC;EAEDC,KAAK,CAAER,KAAK,QAAa;IAAA,IAAX;MAAES;IAAM,CAAC;IACrB,MAAM;MAAEC;IAAE,CAAC,GAAGjC,SAAS,EAAE;IACzB,MAAMkC,aAAa,GAAG7B,GAAG,EAAE;IAC3B,MAAM8B,SAAS,GAAG9B,GAAG,CAAC,KAAK,CAAC;IAC5B,MAAM+B,UAAU,GAAG/B,GAAG,CAAC,IAAI,CAAC;IAC5B,MAAMgC,IAAI,GAAGpC,eAAe,CAACsB,KAAK,EAAE,MAAM,CAAC;IAC3C,MAAM;MAAEe,KAAK;MAAEC,WAAW;MAAEC;IAAa,CAAC,GAAGzC,QAAQ,CAACwB,KAAK,CAAC;IAC5D,MAAMC,MAAM,GAAGvB,eAAe,CAACsB,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC;IACnD,MAAMkB,KAAK,GAAGxC,eAAe,CAC3BsB,KAAK,EACL,YAAY,EACZ,EAAE,EACFmB,CAAC,IAAIH,WAAW,CAAC7B,WAAW,CAACgC,CAAC,CAAC,CAAC,EAChCA,CAAC,IAAI;MACH,MAAMC,WAAW,GAAGH,YAAY,CAACE,CAAC,CAAC;MACnC,OAAOnB,KAAK,CAACqB,QAAQ,GAAGD,WAAW,GAAIA,WAAW,CAAC,CAAC,CAAC,IAAI,IAAK;IAChE,CAAC,CACF;IACD,MAAM;MAAEE;IAAc,CAAC,GAAGjD,SAAS,CAAC2B,KAAK,EAAEe,KAAK,EAAEpC,QAAQ,CAAC,MAAMkC,UAAU,CAACU,KAAK,GAAGC,SAAS,GAAGvB,MAAM,CAACsB,KAAK,CAAC,CAAC;IAC9G,MAAME,UAAU,GAAG9C,QAAQ,CAAC,MAAM;MAChC,OAAOuC,KAAK,CAACK,KAAK,CAACG,GAAG,CAACP,CAAC,IAAI;QAC1B,OAAOJ,KAAK,CAACQ,KAAK,CAACI,IAAI,CAACC,IAAI,IAAI5B,KAAK,CAAC6B,eAAe,CAACD,IAAI,CAACL,KAAK,EAAEJ,CAAC,CAACI,KAAK,CAAC,CAAC,IAAIJ,CAAC;MAClF,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,MAAMW,QAAQ,GAAGnD,QAAQ,CAAC,MAAM8C,UAAU,CAACF,KAAK,CAACG,GAAG,CAACK,SAAS,IAAIA,SAAS,CAAC/B,KAAK,CAACuB,KAAK,CAAC,CAAC;IACzF,MAAMS,OAAO,GAAGlD,GAAG,EAAS;IAE5B,SAASmD,OAAO,CAAEC,CAAa,EAAE;MAC/BhB,KAAK,CAACK,KAAK,GAAG,EAAE;MAEhB,IAAIvB,KAAK,CAACmC,WAAW,EAAE;QACrBrB,IAAI,CAACS,KAAK,GAAG,IAAI;MACnB;MAEAtB,MAAM,CAACsB,KAAK,GAAG,EAAE;IACnB;IACA,SAASa,cAAc,GAAI;MACzB,IACGpC,KAAK,CAACqC,UAAU,IAAI,CAACtB,KAAK,CAACQ,KAAK,CAAC9B,MAAM,IACxCO,KAAK,CAACsC,QAAQ,EACd;MAEFxB,IAAI,CAACS,KAAK,GAAG,IAAI;IACnB;IACA,SAASgB,SAAS,CAAEL,CAAgB,EAAE;MACpC,IAAIlC,KAAK,CAACsC,QAAQ,EAAE;MAEpB,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAACE,QAAQ,CAACN,CAAC,CAACO,GAAG,CAAC,EAAE;QAC1C3B,IAAI,CAACS,KAAK,GAAG,IAAI;MACnB;MAEA,IAAI,CAAC,QAAQ,CAAC,CAACiB,QAAQ,CAACN,CAAC,CAACO,GAAG,CAAC,EAAE;QAC9B3B,IAAI,CAACS,KAAK,GAAG,KAAK;MACpB;MAEA,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAACiB,QAAQ,CAACN,CAAC,CAACO,GAAG,CAAC,EAAE;QAC9C5B,UAAU,CAACU,KAAK,GAAG,IAAI;MACzB;MAEA,IAAIW,CAAC,CAACO,GAAG,KAAK,WAAW,EAAE;QAAA;QACzBP,CAAC,CAACQ,cAAc,EAAE;QAClB,kBAAAV,OAAO,CAACT,KAAK,qBAAb,eAAeoB,KAAK,CAAC,MAAM,CAAC;MAC9B,CAAC,MAAM,IAAIT,CAAC,CAACO,GAAG,KAAK,SAAS,EAAE;QAAA;QAC9BP,CAAC,CAACQ,cAAc,EAAE;QAClB,mBAAAV,OAAO,CAACT,KAAK,qBAAb,gBAAeoB,KAAK,CAAC,MAAM,CAAC;MAC9B;IACF;IAEA,SAASC,OAAO,CAAEV,CAAa,EAAE;MAC/BjC,MAAM,CAACsB,KAAK,GAAIW,CAAC,CAACW,MAAM,CAAsBtB,KAAK;IACrD;IAEA,SAASuB,YAAY,GAAI;MACvB,IAAIlC,SAAS,CAACW,KAAK,EAAEV,UAAU,CAACU,KAAK,GAAG,IAAI;IAC9C;IAEA,SAASwB,SAAS,CAAEb,CAAa,EAAE;MACjCtB,SAAS,CAACW,KAAK,GAAG,IAAI;IACxB;IAEA,SAASyB,UAAU,CAAEd,CAAa,EAAE;MAClC,IAAIA,CAAC,CAACe,aAAa,IAAI,IAAI,EAAE;QAAA;QAC3B,wBAAAtC,aAAa,CAACY,KAAK,qBAAnB,qBAAqBoB,KAAK,EAAE;MAC9B;IACF;IAEA,MAAMO,WAAW,GAAGpE,GAAG,CAAC,KAAK,CAAC;IAE9B,SAASqE,MAAM,CAAEvB,IAAkB,EAAE;MACnC,IAAI5B,KAAK,CAACqB,QAAQ,EAAE;QAClB,MAAM+B,KAAK,GAAGtB,QAAQ,CAACP,KAAK,CAAC8B,SAAS,CAACtB,SAAS,IAAIA,SAAS,KAAKH,IAAI,CAACL,KAAK,CAAC;QAE7E,IAAI6B,KAAK,KAAK,CAAC,CAAC,EAAE;UAChBlC,KAAK,CAACK,KAAK,GAAG,CAAC,GAAGL,KAAK,CAACK,KAAK,EAAEK,IAAI,CAAC;UACpC3B,MAAM,CAACsB,KAAK,GAAG,EAAE;QACnB,CAAC,MAAM;UACL,MAAMA,KAAK,GAAG,CAAC,GAAGL,KAAK,CAACK,KAAK,CAAC;UAC9BA,KAAK,CAAC+B,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;UACtBlC,KAAK,CAACK,KAAK,GAAGA,KAAK;QACrB;MACF,CAAC,MAAM;QACLL,KAAK,CAACK,KAAK,GAAG,CAACK,IAAI,CAAC;QAEpBsB,WAAW,CAAC3B,KAAK,GAAG,IAAI;QAExB,IAAI,CAACd,KAAK,CAACsB,SAAS,EAAE;UACpB9B,MAAM,CAACsB,KAAK,GAAGK,IAAI,CAAC2B,KAAK;QAC3B;QAEAzC,IAAI,CAACS,KAAK,GAAG,KAAK;QAClBV,UAAU,CAACU,KAAK,GAAG,IAAI;QAEvB1C,QAAQ,CAAC,MAAOqE,WAAW,CAAC3B,KAAK,GAAG,KAAM,CAAC;MAC7C;IACF;IAEAxC,KAAK,CAAC6B,SAAS,EAAEL,GAAG,IAAI;MACtB,IAAIA,GAAG,EAAE;QAAA;QACP2C,WAAW,CAAC3B,KAAK,GAAG,IAAI;QACxBtB,MAAM,CAACsB,KAAK,GAAGvB,KAAK,CAACqB,QAAQ,IAAI,CAAC,CAACZ,KAAK,CAACsB,SAAS,GAAG,EAAE,GAAG7B,MAAM,CAAC,yBAAAuB,UAAU,CAACF,KAAK,CAACiC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAvB,qBAAyBxD,KAAK,CAACuD,KAAK,KAAI,EAAE,CAAC;QAC5G1C,UAAU,CAACU,KAAK,GAAG,IAAI;QAEvB1C,QAAQ,CAAC,MAAMqE,WAAW,CAAC3B,KAAK,GAAG,KAAK,CAAC;MAC3C,CAAC,MAAM;QACLT,IAAI,CAACS,KAAK,GAAG,KAAK;QAClBtB,MAAM,CAACsB,KAAK,GAAG,EAAE;MACnB;IACF,CAAC,CAAC;IAEFxC,KAAK,CAACkB,MAAM,EAAEM,GAAG,IAAI;MACnB,IAAI,CAACK,SAAS,CAACW,KAAK,IAAI2B,WAAW,CAAC3B,KAAK,EAAE;MAE3C,IAAIhB,GAAG,EAAEO,IAAI,CAACS,KAAK,GAAG,IAAI;MAE1BV,UAAU,CAACU,KAAK,GAAG,CAAChB,GAAG;IACzB,CAAC,CAAC;IAEFrB,SAAS,CAAC,MAAM;MACd,MAAMuE,QAAQ,GAAG,CAAC,EAAEzD,KAAK,CAAC0D,KAAK,IAAIjD,KAAK,CAACkD,IAAI,CAAC;MAC9C,MAAM,CAACC,cAAc,CAAC,GAAGxE,qBAAqB,CAACY,KAAK,CAAC;MAErD;QAAA,OAEUW;MAAa,GACdiD,cAAc;QAAA,cACN3D,MAAM,CAACsB,KAAK;QAAA,uBACHJ,CAAC,IAAI;UAAE,IAAIA,CAAC,IAAI,IAAI,EAAED,KAAK,CAACK,KAAK,GAAG,EAAE;QAAC,CAAC;QAAA,mBAC5CL,KAAK,CAAC2C,aAAa;QAAA,SAC7B3C,KAAK,CAACK,KAAK,CAAC9B,MAAM,GAAG,CAAC;QAAA,WACpBmD,OAAO;QAAA,SACV,CACL,gBAAgB,EAChB;UACE,6BAA6B,EAAE9B,IAAI,CAACS,KAAK;UACzC,uBAAuB,EAAE,CAAC,CAACvB,KAAK,CAAC0D,KAAK;UACtC,CAAE,mBAAkB1D,KAAK,CAACqB,QAAQ,GAAG,UAAU,GAAG,QAAS,EAAC,GAAG,IAAI;UACnE,gCAAgC,EAAE,CAAC,CAACZ,KAAK,CAACsB;QAC5C,CAAC,CACF;QAAA,mBACiB/B,KAAK,CAAC8D,QAAQ;QAAA,YACrB9D,KAAK,CAACsC,QAAQ;QAAA,iBACTL,OAAO;QAAA,mBACLG,cAAc;QAAA,iBAChBA,cAAc;QAAA,WACpB,MAAMxB,SAAS,CAACW,KAAK,GAAG,IAAI;QAAA,UAC7B,MAAMX,SAAS,CAACW,KAAK,GAAG,KAAK;QAAA,aAC1BgB;MAAS;QAGnB,GAAG9B,KAAK;QACRsD,OAAO,EAAE;UAAA;UAAA;YAAA,cAGOjD,IAAI,CAACS,KAAK;YAAA,iCAAVT,IAAI,CAACS,KAAK;YAAA,aACV,QAAQ;YAAA,gBACL,yBAAyB;YAAA,SAC9BvB,KAAK,CAACgE,KAAK;YAAA,eACL,KAAK;YAAA,uBACG,KAAK;YAAA,cACdhE,KAAK,CAACK,UAAU;YAAA,gBACdyC;UAAY,GACtB9C,KAAK,CAACiE,SAAS;YAAA;cAAA,OAGZjC,OAAO;cAAA,YACFF,QAAQ,CAACP,KAAK;cAAA,kBACRvB,KAAK,CAACqB,QAAQ,GAAG,aAAa,GAAG,oBAAoB;cAAA,eACvDa,CAAa,IAAKA,CAAC,CAACQ,cAAc,EAAE;cAAA,aACvCK,SAAS;cAAA,cACRC;YAAU;cAAA,gBAErB,CAAC1B,aAAa,CAACC,KAAK,CAAC9B,MAAM,IAAI,CAACO,KAAK,CAACqC,UAAU,KAAK,kBAAA5B,KAAK,CAAC,SAAS,CAAC,qBAAhB,mBAAAA,KAAK,CAAe;gBAAA,SACtDC,CAAC,CAACV,KAAK,CAACkE,UAAU;cAAC,QACvC,CAAC,wBAEAzD,KAAK,CAAC,cAAc,CAAC,qBAArB,wBAAAA,KAAK,CAAoB,EAEzBa,aAAa,CAACC,KAAK,CAACG,GAAG,CAAC,QAAoB0B,KAAK;gBAAA;gBAAA,IAAxB;kBAAExB,IAAI;kBAAEpC;gBAAQ,CAAC;gBAAA,OAAY,gBAAAiB,KAAK,CAACmB,IAAI,qBAAV,iBAAAnB,KAAK,EAAQ;kBACnEmB,IAAI;kBACJwB,KAAK;kBACLpD,KAAK,EAAEpB,UAAU,CAACgD,IAAI,CAAC5B,KAAK,EAAE;oBAAEmE,OAAO,EAAE,MAAMhB,MAAM,CAACvB,IAAI;kBAAE,CAAC;gBAC/D,CAAC,CAAC;kBAAA,OAEQwB;gBAAK,GACNxB,IAAI,CAAC5B,KAAK;kBAAA,WACL,MAAMmD,MAAM,CAACvB,IAAI;gBAAC;kBAG1BwC,OAAO,EAAE;oBAAA,IAAC;sBAAEC;oBAAW,CAAC;oBAAA,OAAKrE,KAAK,CAACqB,QAAQ,IAAI,CAACrB,KAAK,CAACsE,YAAY;sBAAA,cACrCD,UAAU;sBAAA,UAAY;oBAAK,WACpD7C,SAAS;kBAAA;kBACb+B,KAAK,EAAE,MAAM;oBAAA;oBACX,OAAO1C,UAAU,CAACU,KAAK,GACnBK,IAAI,CAAC2B,KAAK,GACVjE,eAAe,CAACsC,IAAI,CAAC2B,KAAK,EAAE/D,OAAO,CAAC+D,KAAK,EAAE,kBAAAtD,MAAM,CAACsB,KAAK,qBAAZ,cAAc9B,MAAM,KAAI,CAAC,CAAC;kBAC3E;gBAAC,EAGN;cAAA,EAAC,uBAEAgB,KAAK,CAAC,aAAa,CAAC,qBAApB,uBAAAA,KAAK,CAAmB;YAAA;UAAA,IAI5BgB,UAAU,CAACF,KAAK,CAACG,GAAG,CAAC,CAACE,IAAI,EAAEwB,KAAK,KAAK;YACtC,SAASmB,WAAW,CAAErC,CAAQ,EAAE;cAC9BA,CAAC,CAACsC,eAAe,EAAE;cACnBtC,CAAC,CAACQ,cAAc,EAAE;cAElBS,MAAM,CAACvB,IAAI,CAAC;YACd;YAEA,MAAM6C,SAAS,GAAG;cAChB,eAAe,EAAEF,WAAW;cAC5BnE,UAAU,EAAE,IAAI;cAChB,qBAAqB,EAAEoB;YACzB,CAAC;YAED;cAAA,OACaI,IAAI,CAACL,KAAK;cAAA,SAAS;YAA2B,IACrDkC,QAAQ;cAAA,YAEI;gBACR3F,KAAK,EAAE;kBACL4G,QAAQ,EAAE1E,KAAK,CAAC2E,aAAa;kBAC7BC,IAAI,EAAE,OAAO;kBACbrF,IAAI,EAAEqC,IAAI,CAAC2B;gBACb;cACF;YAAC;cAAA,gBAEC9C,KAAK,CAACkD,IAAI,GACRlD,KAAK,CAACkD,IAAI,CAAC;gBAAE/B,IAAI;gBAAEwB,KAAK;gBAAEpD,KAAK,EAAEyE;cAAU,CAAC,CAAC,uBAChCA,SAAS,OAAM;YAAA,KAIlChE,KAAK,CAACsB,SAAS,GACXtB,KAAK,CAACsB,SAAS,CAAC;cAAEH,IAAI;cAAEwB;YAAM,CAAC,CAAC;cAAA,SAEpB;YAAgC,IACxCxB,IAAI,CAAC2B,KAAK,EACVvD,KAAK,CAACqB,QAAQ,IAAK+B,KAAK,GAAG3B,UAAU,CAACF,KAAK,CAAC9B,MAAM,GAAG,CAAE;cAAA,SAC3C;YAAiC,2BAC9C,EAGR;UAGP,CAAC,CAAC;QAAA;MAEL;IAIT,CAAC,CAAC;IAEF,OAAOlB,WAAW,CAAC;MACjBqC,SAAS;MACTC,UAAU;MACVC,IAAI;MACJb,MAAM;MACNqB,aAAa;MACb6B;IACF,CAAC,EAAExC,aAAa,CAAC;EACnB;AACF,CAAC,CAAC"}
@@ -7,6 +7,7 @@ declare type Tblock = typeof block[number];
7
7
  declare type Tinline = typeof inline[number];
8
8
  declare type Anchor = Tblock | Tinline | 'center' | 'center center' | `${Tblock} ${Tinline | 'center'}` | `${Tinline} ${Tblock | 'center'}`;
9
9
 
10
+ declare function deepEqual(a: any, b: any): boolean;
10
11
  declare type SelectItemKey = boolean | string | (string | number)[] | ((item: Record<string, any>, fallback?: any) => any);
11
12
  declare type EventProp<T = (...args: any[]) => any> = T | T[];
12
13
  declare const EventProp: PropType<EventProp<(...args: any[]) => any>>;
@@ -135,7 +136,6 @@ declare const VAutocomplete: {
135
136
  transition: string | boolean | (vue.TransitionProps & {
136
137
  component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
137
138
  });
138
- loading: boolean;
139
139
  menu: boolean;
140
140
  autofocus: boolean;
141
141
  eager: boolean;
@@ -156,6 +156,7 @@ declare const VAutocomplete: {
156
156
  persistentHint: boolean;
157
157
  persistentPlaceholder: boolean;
158
158
  persistentCounter: boolean;
159
+ valueComparator: typeof deepEqual;
159
160
  itemTitle: SelectItemKey;
160
161
  itemValue: SelectItemKey;
161
162
  itemChildren: SelectItemKey;
@@ -199,7 +200,7 @@ declare const VAutocomplete: {
199
200
  default: string;
200
201
  validator: (v: any) => boolean;
201
202
  };
202
- loading: BooleanConstructor;
203
+ loading: (StringConstructor | BooleanConstructor)[];
203
204
  label: StringConstructor;
204
205
  prefix: StringConstructor;
205
206
  autofocus: BooleanConstructor;
@@ -483,6 +484,10 @@ declare const VAutocomplete: {
483
484
  default: string;
484
485
  };
485
486
  openOnClear: BooleanConstructor;
487
+ valueComparator: {
488
+ type: vue.PropType<typeof deepEqual>;
489
+ default: typeof deepEqual;
490
+ };
486
491
  customFilter: vue.PropType<FilterFunction>;
487
492
  customKeyFilter: vue.PropType<FilterKeyFunctions>;
488
493
  filterKeys: {
@@ -498,7 +503,7 @@ declare const VAutocomplete: {
498
503
  }, "multiple" | "$children" | "items" | "v-slots" | "v-slot:prepend" | "v-slot:append" | "modelValue" | "onUpdate:modelValue" | "v-slot:details" | "v-slot:clear" | "v-slot:prepend-inner" | "v-slot:append-inner" | "v-slot:label" | "v-slot:loader" | "v-slot:item" | "returnObject" | "v-slot:chip" | "v-slot:selection" | "v-slot:prepend-item" | "v-slot:append-item" | "v-slot:no-data">>> & {
499
504
  "onUpdate:menu"?: ((val: boolean) => any) | undefined;
500
505
  "onUpdate:search"?: ((val: any) => any) | undefined;
501
- } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "reverse" | "type" | "error" | "active" | "direction" | "transition" | "loading" | "menu" | "autofocus" | "eager" | "disabled" | "readonly" | "messages" | "noDataText" | "density" | "variant" | "clearIcon" | "focused" | "errorMessages" | "maxErrors" | "rules" | "clearable" | "persistentClear" | "singleLine" | "persistentHint" | "persistentPlaceholder" | "persistentCounter" | "itemTitle" | "itemValue" | "itemChildren" | "itemProps" | "chips" | "closableChips" | "hideNoData" | "hideSelected" | "menuIcon" | "openOnClear" | "filterMode" | "noFilter" | "filterKeys">;
506
+ } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "reverse" | "type" | "error" | "active" | "direction" | "transition" | "menu" | "autofocus" | "eager" | "disabled" | "readonly" | "messages" | "noDataText" | "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">;
502
507
  $attrs: {
503
508
  [x: string]: unknown;
504
509
  };
@@ -542,7 +547,7 @@ declare const VAutocomplete: {
542
547
  default: string;
543
548
  validator: (v: any) => boolean;
544
549
  };
545
- loading: BooleanConstructor;
550
+ loading: (StringConstructor | BooleanConstructor)[];
546
551
  label: StringConstructor;
547
552
  prefix: StringConstructor;
548
553
  autofocus: BooleanConstructor;
@@ -826,6 +831,10 @@ declare const VAutocomplete: {
826
831
  default: string;
827
832
  };
828
833
  openOnClear: BooleanConstructor;
834
+ valueComparator: {
835
+ type: vue.PropType<typeof deepEqual>;
836
+ default: typeof deepEqual;
837
+ };
829
838
  customFilter: vue.PropType<FilterFunction>;
830
839
  customKeyFilter: vue.PropType<FilterKeyFunctions>;
831
840
  filterKeys: {
@@ -868,7 +877,6 @@ declare const VAutocomplete: {
868
877
  transition: string | boolean | (vue.TransitionProps & {
869
878
  component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
870
879
  });
871
- loading: boolean;
872
880
  menu: boolean;
873
881
  autofocus: boolean;
874
882
  eager: boolean;
@@ -889,6 +897,7 @@ declare const VAutocomplete: {
889
897
  persistentHint: boolean;
890
898
  persistentPlaceholder: boolean;
891
899
  persistentCounter: boolean;
900
+ valueComparator: typeof deepEqual;
892
901
  itemTitle: SelectItemKey;
893
902
  itemValue: SelectItemKey;
894
903
  itemChildren: SelectItemKey;
@@ -952,7 +961,7 @@ declare const VAutocomplete: {
952
961
  default: string;
953
962
  validator: (v: any) => boolean;
954
963
  };
955
- loading: BooleanConstructor;
964
+ loading: (StringConstructor | BooleanConstructor)[];
956
965
  label: StringConstructor;
957
966
  prefix: StringConstructor;
958
967
  autofocus: BooleanConstructor;
@@ -1236,6 +1245,10 @@ declare const VAutocomplete: {
1236
1245
  default: string;
1237
1246
  };
1238
1247
  openOnClear: BooleanConstructor;
1248
+ valueComparator: {
1249
+ type: vue.PropType<typeof deepEqual>;
1250
+ default: typeof deepEqual;
1251
+ };
1239
1252
  customFilter: vue.PropType<FilterFunction>;
1240
1253
  customKeyFilter: vue.PropType<FilterKeyFunctions>;
1241
1254
  filterKeys: {
@@ -1299,7 +1312,7 @@ declare const VAutocomplete: {
1299
1312
  default: string;
1300
1313
  validator: (v: any) => boolean;
1301
1314
  };
1302
- loading: BooleanConstructor;
1315
+ loading: (StringConstructor | BooleanConstructor)[];
1303
1316
  label: StringConstructor;
1304
1317
  prefix: StringConstructor;
1305
1318
  autofocus: BooleanConstructor;
@@ -1583,6 +1596,10 @@ declare const VAutocomplete: {
1583
1596
  default: string;
1584
1597
  };
1585
1598
  openOnClear: BooleanConstructor;
1599
+ valueComparator: {
1600
+ type: vue.PropType<typeof deepEqual>;
1601
+ default: typeof deepEqual;
1602
+ };
1586
1603
  customFilter: vue.PropType<FilterFunction>;
1587
1604
  customKeyFilter: vue.PropType<FilterKeyFunctions>;
1588
1605
  filterKeys: {
@@ -1625,7 +1642,6 @@ declare const VAutocomplete: {
1625
1642
  transition: string | boolean | (vue.TransitionProps & {
1626
1643
  component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
1627
1644
  });
1628
- loading: boolean;
1629
1645
  menu: boolean;
1630
1646
  autofocus: boolean;
1631
1647
  eager: boolean;
@@ -1646,6 +1662,7 @@ declare const VAutocomplete: {
1646
1662
  persistentHint: boolean;
1647
1663
  persistentPlaceholder: boolean;
1648
1664
  persistentCounter: boolean;
1665
+ valueComparator: typeof deepEqual;
1649
1666
  itemTitle: SelectItemKey;
1650
1667
  itemValue: SelectItemKey;
1651
1668
  itemChildren: SelectItemKey;
@@ -12,8 +12,7 @@ import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
12
12
  import { makeTagProps } from "../../composables/tag.mjs";
13
13
  import { makeThemeProps, useTheme } from "../../composables/theme.mjs";
14
14
  import { provideDefaults } from "../../composables/defaults.mjs";
15
- import { useBackgroundColor } from "../../composables/color.mjs";
16
- import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
15
+ import { useBackgroundColor } from "../../composables/color.mjs"; // Utilities
17
16
  import { computed, toRef } from 'vue';
18
17
  import { convertToUnit, defineComponent, useRender } from "../../util/index.mjs"; // Types
19
18
  import { VBtnToggleSymbol } from "../VBtnToggle/VBtnToggle.mjs";
@@ -31,6 +30,10 @@ export const VBottomNavigation = defineComponent({
31
30
  type: [Number, String],
32
31
  default: 56
33
32
  },
33
+ active: {
34
+ type: Boolean,
35
+ default: true
36
+ },
34
37
  ...makeBorderProps(),
35
38
  ...makeDensityProps(),
36
39
  ...makeElevationProps(),
@@ -74,7 +77,7 @@ export const VBottomNavigation = defineComponent({
74
77
  roundedClasses
75
78
  } = useRounded(props);
76
79
  const height = computed(() => Number(props.height) - (props.density === 'comfortable' ? 8 : 0) - (props.density === 'compact' ? 16 : 0));
77
- const isActive = useProxiedModel(props, 'modelValue');
80
+ const isActive = toRef(props, 'active');
78
81
  const {
79
82
  layoutItemStyles
80
83
  } = useLayoutItem({
@@ -1 +1 @@
1
- {"version":3,"file":"VBottomNavigation.mjs","names":["makeBorderProps","useBorder","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupProps","useGroup","makeLayoutItemProps","useLayoutItem","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","useTheme","provideDefaults","useBackgroundColor","useProxiedModel","computed","toRef","convertToUnit","defineComponent","useRender","VBtnToggleSymbol","VBottomNavigation","name","props","bgColor","String","color","grow","Boolean","mode","type","validator","v","includes","height","Number","default","tag","modelValue","selectedClass","emits","value","setup","slots","themeClasses","borderClasses","backgroundColorClasses","backgroundColorStyles","densityClasses","elevationClasses","roundedClasses","density","isActive","layoutItemStyles","id","order","parseInt","position","layoutSize","elementSize","active","absolute","VBtn","stacked","variant","scoped","transform"],"sources":["../../../src/components/VBottomNavigation/VBottomNavigation.tsx"],"sourcesContent":["// Styles\nimport './VBottomNavigation.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, useTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent, useRender } from '@/util'\n\n// Types\nimport { VBtnToggleSymbol } from '../VBtnToggle/VBtnToggle'\n\nexport const VBottomNavigation = defineComponent({\n name: 'VBottomNavigation',\n\n props: {\n bgColor: String,\n color: String,\n grow: Boolean,\n mode: {\n type: String,\n validator: (v: any) => !v || ['horizontal', 'shift'].includes(v),\n },\n height: {\n type: [Number, String],\n default: 56,\n },\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeLayoutItemProps({ name: 'bottom-navigation' }),\n ...makeTagProps({ tag: 'header' }),\n ...makeGroupProps({\n modelValue: true,\n selectedClass: 'v-btn--selected',\n }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = useTheme()\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const height = computed(() => (\n Number(props.height) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ))\n const isActive = useProxiedModel(props, 'modelValue')\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: computed(() => 'bottom'),\n layoutSize: computed(() => isActive.value ? height.value : 0),\n elementSize: height,\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n useGroup(props, VBtnToggleSymbol)\n\n provideDefaults({\n VBtn: {\n color: toRef(props, 'color'),\n density: toRef(props, 'density'),\n stacked: computed(() => props.mode !== 'horizontal'),\n variant: 'text',\n },\n }, { scoped: true })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-bottom-navigation',\n {\n 'v-bottom-navigation--active': isActive.value,\n 'v-bottom-navigation--grow': props.grow,\n 'v-bottom-navigation--shift': props.mode === 'shift',\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n {\n height: convertToUnit(height.value),\n transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`,\n },\n ]}\n >\n { slots.default && (\n <div class=\"v-bottom-navigation__content\">\n { slots.default() }\n </div>\n ) }\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VBottomNavigation = InstanceType<typeof VBottomNavigation>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VBottomNavigation.mjs","names":["makeBorderProps","useBorder","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupProps","useGroup","makeLayoutItemProps","useLayoutItem","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","useTheme","provideDefaults","useBackgroundColor","computed","toRef","convertToUnit","defineComponent","useRender","VBtnToggleSymbol","VBottomNavigation","name","props","bgColor","String","color","grow","Boolean","mode","type","validator","v","includes","height","Number","default","active","tag","modelValue","selectedClass","emits","value","setup","slots","themeClasses","borderClasses","backgroundColorClasses","backgroundColorStyles","densityClasses","elevationClasses","roundedClasses","density","isActive","layoutItemStyles","id","order","parseInt","position","layoutSize","elementSize","absolute","VBtn","stacked","variant","scoped","transform"],"sources":["../../../src/components/VBottomNavigation/VBottomNavigation.tsx"],"sourcesContent":["// Styles\nimport './VBottomNavigation.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, useTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent, useRender } from '@/util'\n\n// Types\nimport { VBtnToggleSymbol } from '../VBtnToggle/VBtnToggle'\n\nexport const VBottomNavigation = defineComponent({\n name: 'VBottomNavigation',\n\n props: {\n bgColor: String,\n color: String,\n grow: Boolean,\n mode: {\n type: String,\n validator: (v: any) => !v || ['horizontal', 'shift'].includes(v),\n },\n height: {\n type: [Number, String],\n default: 56,\n },\n active: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeLayoutItemProps({ name: 'bottom-navigation' }),\n ...makeTagProps({ tag: 'header' }),\n ...makeGroupProps({\n modelValue: true,\n selectedClass: 'v-btn--selected',\n }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = useTheme()\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const height = computed(() => (\n Number(props.height) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ))\n const isActive = toRef(props, 'active')\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: computed(() => 'bottom'),\n layoutSize: computed(() => isActive.value ? height.value : 0),\n elementSize: height,\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n useGroup(props, VBtnToggleSymbol)\n\n provideDefaults({\n VBtn: {\n color: toRef(props, 'color'),\n density: toRef(props, 'density'),\n stacked: computed(() => props.mode !== 'horizontal'),\n variant: 'text',\n },\n }, { scoped: true })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-bottom-navigation',\n {\n 'v-bottom-navigation--active': isActive.value,\n 'v-bottom-navigation--grow': props.grow,\n 'v-bottom-navigation--shift': props.mode === 'shift',\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n {\n height: convertToUnit(height.value),\n transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`,\n },\n ]}\n >\n { slots.default && (\n <div class=\"v-bottom-navigation__content\">\n { slots.default() }\n </div>\n ) }\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VBottomNavigation = InstanceType<typeof VBottomNavigation>\n"],"mappings":"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"}
@@ -62,6 +62,10 @@ declare const VBottomNavigation: vue.DefineComponent<{
62
62
  type: (StringConstructor | NumberConstructor)[];
63
63
  default: number;
64
64
  };
65
+ active: {
66
+ type: BooleanConstructor;
67
+ default: boolean;
68
+ };
65
69
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
66
70
  'update:modelValue': (value: any) => true;
67
71
  }, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
@@ -124,11 +128,16 @@ declare const VBottomNavigation: vue.DefineComponent<{
124
128
  type: (StringConstructor | NumberConstructor)[];
125
129
  default: number;
126
130
  };
131
+ active: {
132
+ type: BooleanConstructor;
133
+ default: boolean;
134
+ };
127
135
  }>> & {
128
136
  "onUpdate:modelValue"?: ((value: any) => any) | undefined;
129
137
  }, {
130
138
  absolute: boolean;
131
139
  height: string | number;
140
+ active: boolean;
132
141
  name: string;
133
142
  order: string | number;
134
143
  disabled: boolean;
@@ -68,7 +68,7 @@ declare const VBtn: vue.DefineComponent<{
68
68
  validator: (v: any) => boolean;
69
69
  };
70
70
  location: PropType<Anchor>;
71
- loading: BooleanConstructor;
71
+ loading: (StringConstructor | BooleanConstructor)[];
72
72
  value: null;
73
73
  disabled: BooleanConstructor;
74
74
  selectedClass: StringConstructor;
@@ -145,7 +145,7 @@ declare const VBtn: vue.DefineComponent<{
145
145
  validator: (v: any) => boolean;
146
146
  };
147
147
  location: PropType<Anchor>;
148
- loading: BooleanConstructor;
148
+ loading: (StringConstructor | BooleanConstructor)[];
149
149
  value: null;
150
150
  disabled: BooleanConstructor;
151
151
  selectedClass: StringConstructor;
@@ -198,7 +198,6 @@ declare const VBtn: vue.DefineComponent<{
198
198
  exact: boolean;
199
199
  active: boolean;
200
200
  block: boolean;
201
- loading: boolean;
202
201
  disabled: boolean;
203
202
  size: string | number;
204
203
  tag: string;
@@ -41,7 +41,7 @@ declare const VCard: vue.DefineComponent<{
41
41
  validator: (v: any) => boolean;
42
42
  };
43
43
  location: vue.PropType<Anchor>;
44
- loading: BooleanConstructor;
44
+ loading: (StringConstructor | BooleanConstructor)[];
45
45
  elevation: {
46
46
  type: (StringConstructor | NumberConstructor)[];
47
47
  validator(v: any): boolean;
@@ -102,7 +102,7 @@ declare const VCard: vue.DefineComponent<{
102
102
  validator: (v: any) => boolean;
103
103
  };
104
104
  location: vue.PropType<Anchor>;
105
- loading: BooleanConstructor;
105
+ loading: (StringConstructor | BooleanConstructor)[];
106
106
  elevation: {
107
107
  type: (StringConstructor | NumberConstructor)[];
108
108
  validator(v: any): boolean;
@@ -141,7 +141,6 @@ declare const VCard: vue.DefineComponent<{
141
141
  link: boolean;
142
142
  flat: boolean;
143
143
  exact: boolean;
144
- loading: boolean;
145
144
  disabled: boolean;
146
145
  tag: string;
147
146
  rounded: string | number | boolean;
@@ -1,3 +1,3 @@
1
1
  .v-checkbox .v-selection-control {
2
- height: var(--v-input-control-height);
2
+ min-height: var(--v-input-control-height);
3
3
  }
@@ -5,4 +5,4 @@
5
5
 
6
6
  .v-checkbox
7
7
  .v-selection-control
8
- height: var(--v-input-control-height)
8
+ min-height: var(--v-input-control-height)
@@ -23,6 +23,7 @@ import { useProxiedModel } from "../../composables/proxiedModel.mjs";
23
23
  import { IconValue } from "../../composables/icons.mjs"; // Directives
24
24
  import { Ripple } from "../../directives/ripple/index.mjs"; // Utilities
25
25
  import { defineComponent } from "../../util/index.mjs";
26
+ import { computed } from 'vue';
26
27
  export const VChip = defineComponent({
27
28
  name: 'VChip',
28
29
  directives: {
@@ -79,7 +80,8 @@ export const VChip = defineComponent({
79
80
  emits: {
80
81
  'click:close': e => true,
81
82
  'update:modelValue': value => true,
82
- 'group:selected': val => true
83
+ 'group:selected': val => true,
84
+ click: e => true
83
85
  },
84
86
  setup(props, _ref) {
85
87
  let {
@@ -113,10 +115,18 @@ export const VChip = defineComponent({
113
115
  const isActive = useProxiedModel(props, 'modelValue');
114
116
  const group = useGroupItem(props, VChipGroupSymbol, false);
115
117
  const link = useLink(props, attrs);
118
+ const isClickable = computed(() => !props.disabled && (!!group || link.isClickable.value || props.link));
116
119
  function onCloseClick(e) {
117
120
  isActive.value = false;
118
121
  emit('click:close', e);
119
122
  }
123
+ function onClick(e) {
124
+ var _link$navigate;
125
+ emit('click', e);
126
+ if (!isClickable.value) return;
127
+ (_link$navigate = link.navigate) == null ? void 0 : _link$navigate.call(link, e);
128
+ group == null ? void 0 : group.toggle();
129
+ }
120
130
  return () => {
121
131
  var _slots$default;
122
132
  const Tag = link.isLink.value ? 'a' : props.tag;
@@ -125,13 +135,11 @@ export const VChip = defineComponent({
125
135
  const hasFilter = !!(slots.filter || props.filter) && group;
126
136
  const hasPrepend = !!(slots.prepend || props.prependIcon || props.prependAvatar);
127
137
  const hasColor = !group || group.isSelected.value;
128
- const isClickable = !props.disabled && (!!group || link.isClickable.value || props.link);
129
- const onClickFunc = props.link ? props.link : group == null ? void 0 : group.toggle;
130
138
  return isActive.value && _withDirectives(_createVNode(Tag, {
131
139
  "class": ['v-chip', {
132
140
  'v-chip--disabled': props.disabled,
133
141
  'v-chip--label': props.label,
134
- 'v-chip--link': isClickable,
142
+ 'v-chip--link': isClickable.value,
135
143
  'v-chip--filter': hasFilter,
136
144
  'v-chip--pill': props.pill
137
145
  }, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group == null ? void 0 : group.selectedClass.value],
@@ -139,9 +147,9 @@ export const VChip = defineComponent({
139
147
  "disabled": props.disabled || undefined,
140
148
  "draggable": props.draggable,
141
149
  "href": link.href.value,
142
- "onClick": isClickable && onClickFunc
150
+ "onClick": onClick
143
151
  }, {
144
- default: () => [genOverlays(isClickable, 'v-chip'), hasFilter && _createVNode(VDefaultsProvider, {
152
+ default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && _createVNode(VDefaultsProvider, {
145
153
  "key": "filter",
146
154
  "defaults": {
147
155
  VIcon: {
@@ -211,7 +219,7 @@ export const VChip = defineComponent({
211
219
  "onClick": onCloseClick
212
220
  }, [slots.close ? slots.close() : _createVNode(VIcon, null, null)])]
213
221
  })]
214
- }), [[_resolveDirective("ripple"), isClickable && props.ripple, null]]);
222
+ }), [[_resolveDirective("ripple"), isClickable.value && props.ripple, null]]);
215
223
  };
216
224
  }
217
225
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VChip.mjs","names":["VAvatar","VChipGroupSymbol","VDefaultsProvider","VExpandXTransition","VIcon","genOverlays","makeVariantProps","useVariant","makeBorderProps","useBorder","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","useProxiedModel","IconValue","Ripple","defineComponent","VChip","name","directives","props","activeClass","String","appendAvatar","appendIcon","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","pill","prependAvatar","prependIcon","ripple","text","modelValue","tag","variant","emits","e","value","val","setup","attrs","emit","slots","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","onCloseClick","Tag","isLink","hasAppend","append","hasClose","close","hasFilter","hasPrepend","prepend","hasColor","isSelected","isClickable","disabled","onClickFunc","toggle","undefined","selectedClass","href","icon","image","select","size"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VChip = defineComponent({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: {\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: Boolean,\n default: true,\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n },\n\n emits: {\n 'click:close': (e: Event) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const link = useLink(props, attrs)\n\n function onCloseClick (e: Event) {\n isActive.value = false\n\n emit('click:close', e)\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppend = !!(slots.append || props.appendIcon || props.appendAvatar)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrepend = !!(slots.prepend || props.prependIcon || props.prependAvatar)\n const hasColor = !group || group.isSelected.value\n const isClickable = !props.disabled && (!!group || link.isClickable.value || props.link)\n const onClickFunc = props.link ? props.link : group?.toggle\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n href={ link.href.value }\n v-ripple={ [isClickable && props.ripple, null] }\n onClick={ isClickable && onClickFunc }\n >\n { genOverlays(isClickable, 'v-chip') }\n\n { hasFilter && (\n <VDefaultsProvider\n key=\"filter\"\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n >\n <VExpandXTransition>\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { slots.filter ? slots.filter() : (<VIcon />) }\n </div>\n </VExpandXTransition>\n </VDefaultsProvider>\n ) }\n\n { hasPrepend && (\n <VDefaultsProvider\n key=\"prepend\"\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n },\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n >\n { slots.prepend\n ? (\n <div class=\"v-chip__prepend\">\n { slots.prepend() }\n </div>\n )\n : props.prependAvatar ? (<VAvatar start />)\n : props.prependIcon ? (<VIcon start />)\n : undefined\n }\n </VDefaultsProvider>\n ) }\n\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? props.text }\n\n { hasAppend && (\n <VDefaultsProvider\n key=\"append\"\n defaults={{\n VAvatar: {\n image: props.appendAvatar,\n },\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n >\n { slots.append\n ? (\n <div class=\"v-chip__append\">\n { slots.append() }\n </div>\n )\n : props.appendAvatar ? (<VAvatar end />)\n : props.appendIcon ? (<VIcon end />)\n : undefined\n }\n </VDefaultsProvider>\n ) }\n\n { hasClose && (\n <VDefaultsProvider\n key=\"close\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n >\n <div\n class=\"v-chip__close\"\n onClick={ onCloseClick }\n >\n { slots.close ? slots.close() : (<VIcon />) }\n </div>\n </VDefaultsProvider>\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VChip.mjs","names":["VAvatar","VChipGroupSymbol","VDefaultsProvider","VExpandXTransition","VIcon","genOverlays","makeVariantProps","useVariant","makeBorderProps","useBorder","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","useProxiedModel","IconValue","Ripple","defineComponent","computed","VChip","name","directives","props","activeClass","String","appendAvatar","appendIcon","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","pill","prependAvatar","prependIcon","ripple","text","modelValue","tag","variant","emits","e","value","val","click","setup","attrs","emit","slots","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","isClickable","disabled","onCloseClick","onClick","navigate","toggle","Tag","isLink","hasAppend","append","hasClose","close","hasFilter","hasPrepend","prepend","hasColor","isSelected","undefined","selectedClass","href","icon","image","select","size"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { computed } from 'vue'\n\nexport const VChip = defineComponent({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: {\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: Boolean,\n default: true,\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n },\n\n emits: {\n 'click:close': (e: Event) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const link = useLink(props, attrs)\n const isClickable = computed(() => !props.disabled && (!!group || link.isClickable.value || props.link))\n\n function onCloseClick (e: Event) {\n isActive.value = false\n\n emit('click:close', e)\n }\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppend = !!(slots.append || props.appendIcon || props.appendAvatar)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrepend = !!(slots.prepend || props.prependIcon || props.prependAvatar)\n const hasColor = !group || group.isSelected.value\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n href={ link.href.value }\n v-ripple={ [isClickable.value && props.ripple, null] }\n onClick={ onClick }\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VDefaultsProvider\n key=\"filter\"\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n >\n <VExpandXTransition>\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { slots.filter ? slots.filter() : (<VIcon />) }\n </div>\n </VExpandXTransition>\n </VDefaultsProvider>\n ) }\n\n { hasPrepend && (\n <VDefaultsProvider\n key=\"prepend\"\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n },\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n >\n { slots.prepend\n ? (\n <div class=\"v-chip__prepend\">\n { slots.prepend() }\n </div>\n )\n : props.prependAvatar ? (<VAvatar start />)\n : props.prependIcon ? (<VIcon start />)\n : undefined\n }\n </VDefaultsProvider>\n ) }\n\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? props.text }\n\n { hasAppend && (\n <VDefaultsProvider\n key=\"append\"\n defaults={{\n VAvatar: {\n image: props.appendAvatar,\n },\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n >\n { slots.append\n ? (\n <div class=\"v-chip__append\">\n { slots.append() }\n </div>\n )\n : props.appendAvatar ? (<VAvatar end />)\n : props.appendIcon ? (<VIcon end />)\n : undefined\n }\n </VDefaultsProvider>\n ) }\n\n { hasClose && (\n <VDefaultsProvider\n key=\"close\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n >\n <div\n class=\"v-chip__close\"\n onClick={ onCloseClick }\n >\n { slots.close ? slots.close() : (<VIcon />) }\n </div>\n </VDefaultsProvider>\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":";AAAA;AACA;AACA;;AAEA;AAAA,SACSA,OAAO;AAAA,SACPC,gBAAgB;AAAA,SAChBC,iBAAiB;AAAA,SACjBC,kBAAkB;AAAA,SAClBC,KAAK,8BAEd;AAAA,SACSC,WAAW,EAAEC,gBAAgB,EAAEC,UAAU;AAAA,SACzCC,eAAe,EAAEC,SAAS;AAAA,SAC1BC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,eAAe,EAAEC,OAAO;AAAA,SACxBC,aAAa,EAAEC,OAAO;AAAA,SACtBC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,eAAe;AAAA,SACfC,SAAS,uCAElB;AAAA,SACSC,MAAM,6CAEf;AAAA,SACSC,eAAe;AACxB,SAASC,QAAQ,QAAQ,KAAK;AAE9B,OAAO,MAAMC,KAAK,GAAGF,eAAe,CAAC;EACnCG,IAAI,EAAE,OAAO;EAEbC,UAAU,EAAE;IAAEL;EAAO,CAAC;EAEtBM,KAAK,EAAE;IACLC,WAAW,EAAEC,MAAM;IACnBC,YAAY,EAAED,MAAM;IACpBE,UAAU,EAAEX,SAAS;IACrBY,QAAQ,EAAEC,OAAO;IACjBC,SAAS,EAAE;MACTC,IAAI,EAAEf,SAAS;MACfgB,OAAO,EAAE;IACX,CAAC;IACDC,UAAU,EAAE;MACVF,IAAI,EAAEN,MAAM;MACZO,OAAO,EAAE;IACX,CAAC;IACDE,SAAS,EAAEL,OAAO;IAClBM,MAAM,EAAEN,OAAO;IACfO,UAAU,EAAE;MACVL,IAAI,EAAEN,MAAM;MACZO,OAAO,EAAE;IACX,CAAC;IACDK,KAAK,EAAER,OAAO;IACdS,IAAI,EAAET,OAAO;IACbU,IAAI,EAAEV,OAAO;IACbW,aAAa,EAAEf,MAAM;IACrBgB,WAAW,EAAEzB,SAAS;IACtB0B,MAAM,EAAE;MACNX,IAAI,EAAEF,OAAO;MACbG,OAAO,EAAE;IACX,CAAC;IACDW,IAAI,EAAElB,MAAM;IACZmB,UAAU,EAAE;MACVb,IAAI,EAAEF,OAAO;MACbG,OAAO,EAAE;IACX,CAAC;IAED,GAAGlC,eAAe,EAAE;IACpB,GAAGE,gBAAgB,EAAE;IACrB,GAAGE,kBAAkB,EAAE;IACvB,GAAGE,kBAAkB,EAAE;IACvB,GAAGE,gBAAgB,EAAE;IACrB,GAAGE,eAAe,EAAE;IACpB,GAAGE,aAAa,EAAE;IAClB,GAAGE,YAAY,CAAC;MAAEiC,GAAG,EAAE;IAAO,CAAC,CAAC;IAChC,GAAGhC,cAAc,EAAE;IACnB,GAAGjB,gBAAgB,CAAC;MAAEkD,OAAO,EAAE;IAAQ,CAAC;EAC1C,CAAC;EAEDC,KAAK,EAAE;IACL,aAAa,EAAGC,CAAQ,IAAK,IAAI;IACjC,mBAAmB,EAAGC,KAAc,IAAK,IAAI;IAC7C,gBAAgB,EAAGC,GAAuB,IAAK,IAAI;IACnDC,KAAK,EAAGH,CAA6B,IAAK;EAC5C,CAAC;EAEDI,KAAK,CAAE7B,KAAK,QAA0B;IAAA,IAAxB;MAAE8B,KAAK;MAAEC,IAAI;MAAEC;IAAM,CAAC;IAClC,MAAM;MAAEC;IAAc,CAAC,GAAGzD,SAAS,CAACwB,KAAK,CAAC;IAC1C,MAAM;MAAEkC,YAAY;MAAEC,WAAW;MAAEC;IAAe,CAAC,GAAG9D,UAAU,CAAC0B,KAAK,CAAC;IACvE,MAAM;MAAEqC;IAAe,CAAC,GAAG3D,UAAU,CAACsB,KAAK,CAAC;IAC5C,MAAM;MAAEsC;IAAiB,CAAC,GAAG1D,YAAY,CAACoB,KAAK,CAAC;IAChD,MAAM;MAAEuC;IAAe,CAAC,GAAGvD,UAAU,CAACgB,KAAK,CAAC;IAC5C,MAAM;MAAEwC;IAAY,CAAC,GAAGpD,OAAO,CAACY,KAAK,CAAC;IACtC,MAAM;MAAEyC;IAAa,CAAC,GAAGlD,YAAY,CAACS,KAAK,CAAC;IAE5C,MAAM0C,QAAQ,GAAGlD,eAAe,CAACQ,KAAK,EAAE,YAAY,CAAC;IACrD,MAAM2C,KAAK,GAAG7D,YAAY,CAACkB,KAAK,EAAEhC,gBAAgB,EAAE,KAAK,CAAC;IAC1D,MAAM+C,IAAI,GAAG7B,OAAO,CAACc,KAAK,EAAE8B,KAAK,CAAC;IAClC,MAAMc,WAAW,GAAGhD,QAAQ,CAAC,MAAM,CAACI,KAAK,CAAC6C,QAAQ,KAAK,CAAC,CAACF,KAAK,IAAI5B,IAAI,CAAC6B,WAAW,CAAClB,KAAK,IAAI1B,KAAK,CAACe,IAAI,CAAC,CAAC;IAExG,SAAS+B,YAAY,CAAErB,CAAQ,EAAE;MAC/BiB,QAAQ,CAAChB,KAAK,GAAG,KAAK;MAEtBK,IAAI,CAAC,aAAa,EAAEN,CAAC,CAAC;IACxB;IAEA,SAASsB,OAAO,CAAEtB,CAAa,EAAE;MAAA;MAC/BM,IAAI,CAAC,OAAO,EAAEN,CAAC,CAAC;MAEhB,IAAI,CAACmB,WAAW,CAAClB,KAAK,EAAE;MAExB,kBAAAX,IAAI,CAACiC,QAAQ,qBAAb,oBAAAjC,IAAI,EAAYU,CAAC,CAAC;MAClBkB,KAAK,oBAALA,KAAK,CAAEM,MAAM,EAAE;IACjB;IAEA,OAAO,MAAM;MAAA;MACX,MAAMC,GAAG,GAAInC,IAAI,CAACoC,MAAM,CAACzB,KAAK,GAAI,GAAG,GAAG1B,KAAK,CAACsB,GAAG;MACjD,MAAM8B,SAAS,GAAG,CAAC,EAAEpB,KAAK,CAACqB,MAAM,IAAIrD,KAAK,CAACI,UAAU,IAAIJ,KAAK,CAACG,YAAY,CAAC;MAC5E,MAAMmD,QAAQ,GAAG,CAAC,EAAEtB,KAAK,CAACuB,KAAK,IAAIvD,KAAK,CAACK,QAAQ,CAAC;MAClD,MAAMmD,SAAS,GAAG,CAAC,EAAExB,KAAK,CAACpB,MAAM,IAAIZ,KAAK,CAACY,MAAM,CAAC,IAAI+B,KAAK;MAC3D,MAAMc,UAAU,GAAG,CAAC,EAAEzB,KAAK,CAAC0B,OAAO,IAAI1D,KAAK,CAACkB,WAAW,IAAIlB,KAAK,CAACiB,aAAa,CAAC;MAChF,MAAM0C,QAAQ,GAAG,CAAChB,KAAK,IAAIA,KAAK,CAACiB,UAAU,CAAClC,KAAK;MAEjD,OAAOgB,QAAQ,CAAChB,KAAK;QAAA,SAEV,CACL,QAAQ,EACR;UACE,kBAAkB,EAAE1B,KAAK,CAAC6C,QAAQ;UAClC,eAAe,EAAE7C,KAAK,CAACc,KAAK;UAC5B,cAAc,EAAE8B,WAAW,CAAClB,KAAK;UACjC,gBAAgB,EAAE8B,SAAS;UAC3B,cAAc,EAAExD,KAAK,CAACgB;QACxB,CAAC,EACDyB,YAAY,CAACf,KAAK,EAClBO,aAAa,CAACP,KAAK,EACnBiC,QAAQ,GAAGzB,YAAY,CAACR,KAAK,GAAGmC,SAAS,EACzCxB,cAAc,CAACX,KAAK,EACpBY,gBAAgB,CAACZ,KAAK,EACtBa,cAAc,CAACb,KAAK,EACpBc,WAAW,CAACd,KAAK,EACjBU,cAAc,CAACV,KAAK,EACpBiB,KAAK,oBAALA,KAAK,CAAEmB,aAAa,CAACpC,KAAK,CAC3B;QAAA,SACM,CACLiC,QAAQ,GAAGxB,WAAW,CAACT,KAAK,GAAGmC,SAAS,CACzC;QAAA,YACU7D,KAAK,CAAC6C,QAAQ,IAAIgB,SAAS;QAAA,aAC1B7D,KAAK,CAACW,SAAS;QAAA,QACpBI,IAAI,CAACgD,IAAI,CAACrC,KAAK;QAAA,WAEZqB;MAAO;QAAA,gBAEf3E,WAAW,CAACwE,WAAW,CAAClB,KAAK,EAAE,QAAQ,CAAC,EAExC8B,SAAS;UAAA,OAEH,QAAQ;UAAA,YACF;YACRrF,KAAK,EAAE;cAAE6F,IAAI,EAAEhE,KAAK,CAACa;YAAW;UAClC;QAAC;UAAA;YAAA;cAAA,SAIS;YAAgB,IAGpBmB,KAAK,CAACpB,MAAM,GAAGoB,KAAK,CAACpB,MAAM,EAAE,kCAAc,cAFpC+B,KAAK,CAACiB,UAAU,CAAClC,KAAK;UAAA;QAAA,EAMtC,EAEC+B,UAAU;UAAA,OAEJ,SAAS;UAAA,YACH;YACR1F,OAAO,EAAE;cACPkG,KAAK,EAAEjE,KAAK,CAACiB;YACf,CAAC;YACD9C,KAAK,EAAE;cACL6F,IAAI,EAAEhE,KAAK,CAACkB;YACd;UACF;QAAC;UAAA,gBAECc,KAAK,CAAC0B,OAAO;YAAA,SAEA;UAAiB,IACxB1B,KAAK,CAAC0B,OAAO,EAAE,KAGnB1D,KAAK,CAACiB,aAAa;YAAA;UAAA,WACnBjB,KAAK,CAACkB,WAAW;YAAA;UAAA,WACjB2C,SAAS;QAAA,EAGhB,EAEC,mBAAA7B,KAAK,CAACvB,OAAO,qBAAb,oBAAAuB,KAAK,EAAW;UAChB4B,UAAU,EAAEjB,KAAK,oBAALA,KAAK,CAAEiB,UAAU,CAAClC,KAAK;UACnCoC,aAAa,EAAEnB,KAAK,oBAALA,KAAK,CAAEmB,aAAa,CAACpC,KAAK;UACzCwC,MAAM,EAAEvB,KAAK,oBAALA,KAAK,CAAEuB,MAAM;UACrBjB,MAAM,EAAEN,KAAK,oBAALA,KAAK,CAAEM,MAAM;UACrBvB,KAAK,EAAEiB,KAAK,oBAALA,KAAK,CAAEjB,KAAK,CAACA,KAAK;UACzBmB,QAAQ,EAAE7C,KAAK,CAAC6C;QAClB,CAAC,CAAC,KAAI7C,KAAK,CAACoB,IAAI,EAEdgC,SAAS;UAAA,OAEH,QAAQ;UAAA,YACF;YACRrF,OAAO,EAAE;cACPkG,KAAK,EAAEjE,KAAK,CAACG;YACf,CAAC;YACDhC,KAAK,EAAE;cACL6F,IAAI,EAAEhE,KAAK,CAACI;YACd;UACF;QAAC;UAAA,gBAEC4B,KAAK,CAACqB,MAAM;YAAA,SAEC;UAAgB,IACvBrB,KAAK,CAACqB,MAAM,EAAE,KAGlBrD,KAAK,CAACG,YAAY;YAAA;UAAA,WAClBH,KAAK,CAACI,UAAU;YAAA;UAAA,WAChByD,SAAS;QAAA,EAGhB,EAECP,QAAQ;UAAA,OAEF,OAAO;UAAA,YACD;YACRnF,KAAK,EAAE;cACL6F,IAAI,EAAEhE,KAAK,CAACO,SAAS;cACrB4D,IAAI,EAAE;YACR;UACF;QAAC;UAAA;YAAA,SAGO,eAAe;YAAA,WACXrB;UAAY,IAEpBd,KAAK,CAACuB,KAAK,GAAGvB,KAAK,CAACuB,KAAK,EAAE,kCAAc;QAAA,EAGhD;MAAA,mCAnGWX,WAAW,CAAClB,KAAK,IAAI1B,KAAK,CAACmB,MAAM,EAAE,IAAI,GAqGtD;IACH,CAAC;EACH;AACF,CAAC,CAAC"}
@@ -89,6 +89,7 @@ declare const VChip: vue.DefineComponent<{
89
89
  'group:selected': (val: {
90
90
  value: boolean;
91
91
  }) => true;
92
+ click: (e: MouseEvent | KeyboardEvent) => true;
92
93
  }, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
93
94
  color: StringConstructor;
94
95
  variant: Omit<{
@@ -165,6 +166,7 @@ declare const VChip: vue.DefineComponent<{
165
166
  default: boolean;
166
167
  };
167
168
  }>> & {
169
+ onClick?: ((e: MouseEvent | KeyboardEvent) => any) | undefined;
168
170
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
169
171
  "onGroup:selected"?: ((val: {
170
172
  value: boolean;