vuetify 3.11.0 → 3.11.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 (56) hide show
  1. package/dist/json/attributes.json +2912 -2904
  2. package/dist/json/importMap-labs.json +30 -30
  3. package/dist/json/importMap.json +198 -198
  4. package/dist/json/tags.json +2 -0
  5. package/dist/json/web-types.json +4995 -4976
  6. package/dist/vuetify-labs.cjs +41 -31
  7. package/dist/vuetify-labs.css +5310 -5314
  8. package/dist/vuetify-labs.d.ts +85 -72
  9. package/dist/vuetify-labs.esm.js +41 -31
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +41 -31
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +37 -27
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +4184 -4185
  16. package/dist/vuetify.d.ts +85 -72
  17. package/dist/vuetify.esm.js +37 -27
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +37 -27
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +25 -21
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VDataTable/VDataTable.js +1 -1
  25. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  26. package/lib/components/VDataTable/VDataTableHeaders.d.ts +10 -0
  27. package/lib/components/VDataTable/VDataTableHeaders.js +7 -7
  28. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  29. package/lib/components/VDatePicker/VDatePicker.js +8 -3
  30. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  31. package/lib/components/VDialog/__test__/VDialog.spec.browser.js +5 -9
  32. package/lib/components/VDialog/__test__/VDialog.spec.browser.js.map +1 -1
  33. package/lib/components/VHotkey/_variables.scss +1 -1
  34. package/lib/components/VNumberInput/VNumberInput.js +1 -1
  35. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  36. package/lib/components/VSlideGroup/VSlideGroup.js +4 -1
  37. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  38. package/lib/components/VTabs/VTab.d.ts +13 -0
  39. package/lib/components/VTabs/VTab.js +3 -2
  40. package/lib/components/VTabs/VTab.js.map +1 -1
  41. package/lib/components/VTabs/VTabs.css +6 -7
  42. package/lib/components/VTabs/VTabs.js +1 -0
  43. package/lib/components/VTabs/VTabs.js.map +1 -1
  44. package/lib/components/VTabs/VTabs.sass +6 -7
  45. package/lib/components/VTextField/VTextField.js +8 -10
  46. package/lib/components/VTextField/VTextField.js.map +1 -1
  47. package/lib/composables/autofocus.js +3 -1
  48. package/lib/composables/autofocus.js.map +1 -1
  49. package/lib/entry-bundler.js +1 -1
  50. package/lib/framework.d.ts +72 -72
  51. package/lib/framework.js +1 -1
  52. package/lib/labs/VMaskInput/VMaskInput.js +4 -4
  53. package/lib/labs/VMaskInput/VMaskInput.js.map +1 -1
  54. package/lib/labs/VStepperVertical/VStepperVerticalItem.css +0 -3
  55. package/lib/labs/VStepperVertical/VStepperVerticalItem.sass +0 -3
  56. package/package.json +26 -26
@@ -62,7 +62,6 @@
62
62
  --v-tabs-inset-padding: 4px;
63
63
  background: rgba(var(--v-theme-on-surface), 0.06);
64
64
  box-shadow: inset 0 0 0 2px rgba(var(--v-border-color), var(--v-border-opacity));
65
- max-width: max-content;
66
65
  border-radius: calc(var(--v-tabs-inset-radius) + var(--v-tabs-inset-padding));
67
66
  }
68
67
  .v-tabs--inset .v-tab {
@@ -79,6 +78,12 @@
79
78
  .v-tabs--inset .v-tab:focus-visible:after {
80
79
  opacity: 0;
81
80
  }
81
+ .v-tabs--inset:not(.v-tabs--fixed-tabs, .v-tabs--grow) {
82
+ max-width: max-content;
83
+ }
84
+ .v-tabs--inset.v-tabs--fixed-tabs .v-slide-group__content {
85
+ padding-inline: var(--v-tabs-inset-padding);
86
+ }
82
87
  .v-tabs--inset .v-tab__slider {
83
88
  inset: 0;
84
89
  border-radius: var(--v-tabs-inset-radius);
@@ -92,12 +97,6 @@
92
97
  .v-tabs--inset.v-tabs--horizontal .v-tab__slider {
93
98
  height: auto;
94
99
  }
95
- .v-tabs--inset.v-tabs--vertical .v-tab__slider {
96
- height: calc(100% - 2 * var(--v-slider-padding));
97
- }
98
- .v-tabs--inset .v-slide-group__content {
99
- padding-inline: var(--v-slider-padding);
100
- }
101
100
  .v-tabs--inset .v-btn__overlay {
102
101
  display: none;
103
102
  }
@@ -86,6 +86,7 @@ export const VTabs = genericComponent()({
86
86
  direction: toRef(props, 'direction'),
87
87
  stacked: toRef(props, 'stacked'),
88
88
  fixed: toRef(props, 'fixedTabs'),
89
+ inset: toRef(props, 'inset'),
89
90
  sliderColor: toRef(props, 'sliderColor'),
90
91
  sliderTransition: toRef(props, 'sliderTransition'),
91
92
  sliderTransitionDuration: toRef(props, 'sliderTransitionDuration'),
@@ -1 +1 @@
1
- {"version":3,"file":"VTabs.js","names":["makeVTabProps","VTab","VTabsWindow","VTabsWindowItem","makeVSlideGroupProps","VSlideGroup","useBackgroundColor","provideDefaults","makeDensityProps","useDensity","useProxiedModel","useScopeId","makeTagProps","computed","toRef","VTabsSymbol","convertToUnit","genericComponent","isObject","pick","propsFactory","useRender","parseItems","items","map","item","text","value","makeVTabsProps","alignTabs","type","String","default","color","fixedTabs","Boolean","Array","stacked","bgColor","grow","height","Number","undefined","hideSlider","inset","insetPadding","insetRadius","sliderColor","mandatory","selectedClass","VTabs","name","props","emits","v","setup","_ref","attrs","slots","model","densityClasses","backgroundColorClasses","backgroundColorStyles","scopeId","direction","fixed","sliderTransition","sliderTransitionDuration","slideGroupProps","filterProps","hasWindow","window","length","_createElementVNode","_Fragment","_createVNode","_mergeProps","$event","class","style","tab","spaced","prev","next"],"sources":["../../../src/components/VTabs/VTabs.tsx"],"sourcesContent":["// Styles\nimport './VTabs.sass'\n\n// Components\nimport { makeVTabProps, VTab } from './VTab'\nimport { VTabsWindow } from './VTabsWindow'\nimport { VTabsWindowItem } from './VTabsWindowItem'\nimport { makeVSlideGroupProps, VSlideGroup } from '@/components/VSlideGroup/VSlideGroup'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { VTabsSymbol } from './shared'\nimport { convertToUnit, genericComponent, isObject, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport type TabItem = string | number | Record<string, any>\n\nexport type VTabsSlot<T> = {\n item: T\n}\n\nexport type VTabsSlots<T> = {\n default: never\n tab: VTabsSlot<T>\n item: VTabsSlot<T>\n window: never\n prev: never\n next: never\n} & {\n [key: `tab.${string}`]: VTabsSlot<T>\n [key: `item.${string}`]: VTabsSlot<T>\n}\n\nfunction parseItems (items: readonly TabItem[] | undefined) {\n if (!items) return []\n\n return items.map(item => {\n if (!isObject(item)) return { text: item, value: item }\n\n return item\n })\n}\n\nexport const makeVTabsProps = propsFactory({\n alignTabs: {\n type: String as PropType<'start' | 'title' | 'center' | 'end'>,\n default: 'start',\n },\n color: String,\n fixedTabs: Boolean,\n items: {\n type: Array as PropType<readonly TabItem[]>,\n default: () => ([]),\n },\n stacked: Boolean,\n bgColor: String,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n inset: Boolean,\n insetPadding: [String, Number],\n insetRadius: [String, Number],\n sliderColor: String,\n\n ...pick(makeVTabProps(), ['spaced', 'sliderTransition', 'sliderTransitionDuration']),\n ...makeVSlideGroupProps({\n mandatory: 'force' as const,\n selectedClass: 'v-tab-item--selected',\n }),\n ...makeDensityProps(),\n ...makeTagProps(),\n}, 'VTabs')\n\nexport const VTabs = genericComponent<new <T = TabItem>(\n props: {\n items?: T[]\n },\n slots: VTabsSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTabs',\n\n props: makeVTabsProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { attrs, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const items = computed(() => parseItems(props.items))\n const { densityClasses } = useDensity(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.bgColor)\n const { scopeId } = useScopeId()\n\n provideDefaults({\n VTab: {\n color: toRef(props, 'color'),\n direction: toRef(props, 'direction'),\n stacked: toRef(props, 'stacked'),\n fixed: toRef(props, 'fixedTabs'),\n sliderColor: toRef(props, 'sliderColor'),\n sliderTransition: toRef(props, 'sliderTransition'),\n sliderTransitionDuration: toRef(props, 'sliderTransitionDuration'),\n hideSlider: toRef(props, 'hideSlider'),\n },\n })\n\n useRender(() => {\n const slideGroupProps = VSlideGroup.filterProps(props)\n const hasWindow = !!(slots.window || props.items.length > 0)\n\n return (\n <>\n <VSlideGroup\n { ...slideGroupProps }\n v-model={ model.value }\n class={[\n 'v-tabs',\n `v-tabs--${props.direction}`,\n `v-tabs--align-tabs-${props.alignTabs}`,\n {\n 'v-tabs--fixed-tabs': props.fixedTabs,\n 'v-tabs--grow': props.grow,\n 'v-tabs--inset': props.inset,\n 'v-tabs--stacked': props.stacked,\n },\n densityClasses.value,\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-tabs-height': convertToUnit(props.height),\n '--v-tabs-inset-padding': props.inset ? convertToUnit(props.insetPadding) : undefined,\n '--v-tabs-inset-radius': props.inset ? convertToUnit(props.insetRadius) : undefined,\n },\n backgroundColorStyles.value,\n props.style,\n ]}\n role=\"tablist\"\n symbol={ VTabsSymbol }\n { ...scopeId }\n { ...attrs }\n >\n {{\n default: slots.default ?? (() => items.value.map(item => (\n slots.tab?.({ item }) ?? (\n <VTab\n { ...item }\n key={ item.text }\n value={ item.value }\n spaced={ props.spaced }\n v-slots={{\n default: slots[`tab.${item.value}`] ? () => slots[`tab.${item.value}`]?.({ item }) : undefined,\n }}\n />\n )\n ))),\n prev: slots.prev,\n next: slots.next,\n }}\n </VSlideGroup>\n\n { hasWindow && (\n <VTabsWindow\n v-model={ model.value }\n key=\"tabs-window\"\n { ...scopeId }\n >\n { items.value.map(item => slots.item?.({ item }) ?? (\n <VTabsWindowItem\n value={ item.value }\n v-slots={{\n default: () => slots[`item.${item.value}`]?.({ item }),\n }}\n />\n ))}\n\n { slots.window?.() }\n </VTabsWindow>\n )}\n </>\n )\n })\n\n return {}\n },\n})\n\nexport type VTabs = InstanceType<typeof VTabs>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VTabs.js","names":["makeVTabProps","VTab","VTabsWindow","VTabsWindowItem","makeVSlideGroupProps","VSlideGroup","useBackgroundColor","provideDefaults","makeDensityProps","useDensity","useProxiedModel","useScopeId","makeTagProps","computed","toRef","VTabsSymbol","convertToUnit","genericComponent","isObject","pick","propsFactory","useRender","parseItems","items","map","item","text","value","makeVTabsProps","alignTabs","type","String","default","color","fixedTabs","Boolean","Array","stacked","bgColor","grow","height","Number","undefined","hideSlider","inset","insetPadding","insetRadius","sliderColor","mandatory","selectedClass","VTabs","name","props","emits","v","setup","_ref","attrs","slots","model","densityClasses","backgroundColorClasses","backgroundColorStyles","scopeId","direction","fixed","sliderTransition","sliderTransitionDuration","slideGroupProps","filterProps","hasWindow","window","length","_createElementVNode","_Fragment","_createVNode","_mergeProps","$event","class","style","tab","spaced","prev","next"],"sources":["../../../src/components/VTabs/VTabs.tsx"],"sourcesContent":["// Styles\nimport './VTabs.sass'\n\n// Components\nimport { makeVTabProps, VTab } from './VTab'\nimport { VTabsWindow } from './VTabsWindow'\nimport { VTabsWindowItem } from './VTabsWindowItem'\nimport { makeVSlideGroupProps, VSlideGroup } from '@/components/VSlideGroup/VSlideGroup'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { VTabsSymbol } from './shared'\nimport { convertToUnit, genericComponent, isObject, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport type TabItem = string | number | Record<string, any>\n\nexport type VTabsSlot<T> = {\n item: T\n}\n\nexport type VTabsSlots<T> = {\n default: never\n tab: VTabsSlot<T>\n item: VTabsSlot<T>\n window: never\n prev: never\n next: never\n} & {\n [key: `tab.${string}`]: VTabsSlot<T>\n [key: `item.${string}`]: VTabsSlot<T>\n}\n\nfunction parseItems (items: readonly TabItem[] | undefined) {\n if (!items) return []\n\n return items.map(item => {\n if (!isObject(item)) return { text: item, value: item }\n\n return item\n })\n}\n\nexport const makeVTabsProps = propsFactory({\n alignTabs: {\n type: String as PropType<'start' | 'title' | 'center' | 'end'>,\n default: 'start',\n },\n color: String,\n fixedTabs: Boolean,\n items: {\n type: Array as PropType<readonly TabItem[]>,\n default: () => ([]),\n },\n stacked: Boolean,\n bgColor: String,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n inset: Boolean,\n insetPadding: [String, Number],\n insetRadius: [String, Number],\n sliderColor: String,\n\n ...pick(makeVTabProps(), ['spaced', 'sliderTransition', 'sliderTransitionDuration']),\n ...makeVSlideGroupProps({\n mandatory: 'force' as const,\n selectedClass: 'v-tab-item--selected',\n }),\n ...makeDensityProps(),\n ...makeTagProps(),\n}, 'VTabs')\n\nexport const VTabs = genericComponent<new <T = TabItem>(\n props: {\n items?: T[]\n },\n slots: VTabsSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTabs',\n\n props: makeVTabsProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { attrs, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const items = computed(() => parseItems(props.items))\n const { densityClasses } = useDensity(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.bgColor)\n const { scopeId } = useScopeId()\n\n provideDefaults({\n VTab: {\n color: toRef(props, 'color'),\n direction: toRef(props, 'direction'),\n stacked: toRef(props, 'stacked'),\n fixed: toRef(props, 'fixedTabs'),\n inset: toRef(props, 'inset'),\n sliderColor: toRef(props, 'sliderColor'),\n sliderTransition: toRef(props, 'sliderTransition'),\n sliderTransitionDuration: toRef(props, 'sliderTransitionDuration'),\n hideSlider: toRef(props, 'hideSlider'),\n },\n })\n\n useRender(() => {\n const slideGroupProps = VSlideGroup.filterProps(props)\n const hasWindow = !!(slots.window || props.items.length > 0)\n\n return (\n <>\n <VSlideGroup\n { ...slideGroupProps }\n v-model={ model.value }\n class={[\n 'v-tabs',\n `v-tabs--${props.direction}`,\n `v-tabs--align-tabs-${props.alignTabs}`,\n {\n 'v-tabs--fixed-tabs': props.fixedTabs,\n 'v-tabs--grow': props.grow,\n 'v-tabs--inset': props.inset,\n 'v-tabs--stacked': props.stacked,\n },\n densityClasses.value,\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-tabs-height': convertToUnit(props.height),\n '--v-tabs-inset-padding': props.inset ? convertToUnit(props.insetPadding) : undefined,\n '--v-tabs-inset-radius': props.inset ? convertToUnit(props.insetRadius) : undefined,\n },\n backgroundColorStyles.value,\n props.style,\n ]}\n role=\"tablist\"\n symbol={ VTabsSymbol }\n { ...scopeId }\n { ...attrs }\n >\n {{\n default: slots.default ?? (() => items.value.map(item => (\n slots.tab?.({ item }) ?? (\n <VTab\n { ...item }\n key={ item.text }\n value={ item.value }\n spaced={ props.spaced }\n v-slots={{\n default: slots[`tab.${item.value}`] ? () => slots[`tab.${item.value}`]?.({ item }) : undefined,\n }}\n />\n )\n ))),\n prev: slots.prev,\n next: slots.next,\n }}\n </VSlideGroup>\n\n { hasWindow && (\n <VTabsWindow\n v-model={ model.value }\n key=\"tabs-window\"\n { ...scopeId }\n >\n { items.value.map(item => slots.item?.({ item }) ?? (\n <VTabsWindowItem\n value={ item.value }\n v-slots={{\n default: () => slots[`item.${item.value}`]?.({ item }),\n }}\n />\n ))}\n\n { slots.window?.() }\n </VTabsWindow>\n )}\n </>\n )\n })\n\n return {}\n },\n})\n\nexport type VTabs = InstanceType<typeof VTabs>\n"],"mappings":"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","ignoreList":[]}
@@ -53,7 +53,6 @@
53
53
 
54
54
  background: rgba(var(--v-theme-on-surface), 0.06)
55
55
  box-shadow: inset 0 0 0 2px rgba(var(--v-border-color), var(--v-border-opacity))
56
- max-width: max-content
57
56
  border-radius: calc(var(--v-tabs-inset-radius) + var(--v-tabs-inset-padding))
58
57
 
59
58
  .v-tab
@@ -70,6 +69,12 @@
70
69
  &:after
71
70
  opacity: 0
72
71
 
72
+ &:not(.v-tabs--fixed-tabs, .v-tabs--grow)
73
+ max-width: max-content
74
+
75
+ &.v-tabs--fixed-tabs .v-slide-group__content
76
+ padding-inline: var(--v-tabs-inset-padding)
77
+
73
78
  .v-tab__slider
74
79
  inset: 0
75
80
  border-radius: var(--v-tabs-inset-radius)
@@ -83,12 +88,6 @@
83
88
  &.v-tabs--horizontal .v-tab__slider
84
89
  height: auto
85
90
 
86
- &.v-tabs--vertical .v-tab__slider
87
- height: calc(100% - 2 * var(--v-slider-padding))
88
-
89
- .v-slide-group__content
90
- padding-inline: var(--v-slider-padding)
91
-
92
91
  .v-btn__overlay
93
92
  display: none
94
93
 
@@ -1,4 +1,4 @@
1
- import { mergeProps as _mergeProps, createElementVNode as _createElementVNode, withDirectives as _withDirectives, Fragment as _Fragment, normalizeClass as _normalizeClass, createVNode as _createVNode } from "vue";
1
+ import { mergeProps as _mergeProps, createElementVNode as _createElementVNode, Fragment as _Fragment, normalizeClass as _normalizeClass, createVNode as _createVNode } from "vue";
2
2
  // Styles
3
3
  import "./VTextField.css";
4
4
 
@@ -12,7 +12,7 @@ import { useFocus } from "../../composables/focus.js";
12
12
  import { forwardRefs } from "../../composables/forwardRefs.js";
13
13
  import { useProxiedModel } from "../../composables/proxiedModel.js"; // Directives
14
14
  import vIntersect from "../../directives/intersect/index.js"; // Utilities
15
- import { cloneVNode, computed, nextTick, ref } from 'vue';
15
+ import { cloneVNode, computed, nextTick, ref, withDirectives } from 'vue';
16
16
  import { callEvent, filterInputAttrs, genericComponent, omit, propsFactory, useRender } from "../../util/index.js"; // Types
17
17
  const activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month'];
18
18
  export const makeVTextFieldProps = propsFactory({
@@ -183,7 +183,7 @@ export const VTextField = genericComponent()({
183
183
  },
184
184
  controlRef
185
185
  } = _ref3;
186
- const inputNode = _withDirectives(_createElementVNode("input", _mergeProps({
186
+ const inputNode = _createElementVNode("input", _mergeProps({
187
187
  "ref": val => inputRef.value = controlRef.value = val,
188
188
  "value": model.value,
189
189
  "onInput": onInput,
@@ -198,21 +198,19 @@ export const VTextField = genericComponent()({
198
198
  "type": props.type,
199
199
  "onFocus": focus,
200
200
  "onBlur": blur
201
- }, slotProps, inputAttrs), null), [[vIntersect, {
202
- handler: onIntersect
203
- }, null, {
204
- once: true
205
- }]]);
201
+ }, slotProps, inputAttrs), null);
206
202
  return _createElementVNode(_Fragment, null, [props.prefix && _createElementVNode("span", {
207
203
  "class": "v-text-field__prefix"
208
204
  }, [_createElementVNode("span", {
209
205
  "class": "v-text-field__prefix__text"
210
- }, [props.prefix])]), slots.default ? _createElementVNode("div", {
206
+ }, [props.prefix])]), withDirectives(slots.default ? _createElementVNode("div", {
211
207
  "class": _normalizeClass(fieldClass),
212
208
  "data-no-activator": ""
213
209
  }, [slots.default(), inputNode]) : cloneVNode(inputNode, {
214
210
  class: fieldClass
215
- }), props.suffix && _createElementVNode("span", {
211
+ }), [[vIntersect, onIntersect, null, {
212
+ once: true
213
+ }]]), props.suffix && _createElementVNode("span", {
216
214
  "class": "v-text-field__suffix"
217
215
  }, [_createElementVNode("span", {
218
216
  "class": "v-text-field__suffix__text"
@@ -1 +1 @@
1
- {"version":3,"file":"VTextField.js","names":["VCounter","makeVFieldProps","VField","makeVInputProps","VInput","makeAutocompleteProps","useAutocomplete","useAutofocus","useFocus","forwardRefs","useProxiedModel","vIntersect","cloneVNode","computed","nextTick","ref","callEvent","filterInputAttrs","genericComponent","omit","propsFactory","useRender","activeTypes","makeVTextFieldProps","autofocus","Boolean","counter","Number","String","counterValue","Function","prefix","placeholder","persistentPlaceholder","persistentCounter","suffix","role","type","default","modelModifiers","Object","VTextField","name","directives","inheritAttrs","props","emits","e","focused","val","setup","_ref","attrs","emit","slots","model","isFocused","focus","blur","onIntersect","value","toString","length","max","maxlength","undefined","isPlainOrUnderlined","includes","variant","vInputRef","vFieldRef","inputRef","autocomplete","isActive","active","onFocus","isSuppressing","update","document","activeElement","onControlMousedown","target","preventDefault","onControlClick","onClear","reset","stopPropagation","onInput","el","trim","start","selectionStart","end","selectionEnd","offset","trimStart","hasCounter","hasDetails","details","rootAttrs","inputAttrs","modelValue","_","inputProps","filterProps","fieldProps","_createVNode","_mergeProps","$event","class","style","_ref2","id","isDisabled","isDirty","isReadonly","isValid","dirty","_ref3","fieldClass","slotProps","controlRef","inputNode","_withDirectives","_createElementVNode","fieldName","fieldAutocomplete","handler","once","_Fragment","_normalizeClass","disabled"],"sources":["../../../src/components/VTextField/VTextField.tsx"],"sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Components\nimport { VCounter } from '@/components/VCounter/VCounter'\nimport { makeVFieldProps, VField } from '@/components/VField/VField'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { makeAutocompleteProps, useAutocomplete } from '@/composables/autocomplete'\nimport { useAutofocus } from '@/composables/autofocus'\nimport { useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport vIntersect from '@/directives/intersect'\n\n// Utilities\nimport { cloneVNode, computed, nextTick, ref } from 'vue'\nimport { callEvent, filterInputAttrs, genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VCounterSlot } from '@/components/VCounter/VCounter'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nconst activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\nexport const makeVTextFieldProps = propsFactory({\n autofocus: Boolean,\n counter: [Boolean, Number, String],\n counterValue: [Number, Function] as PropType<number | ((value: any) => number)>,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n role: String,\n type: {\n type: String,\n default: 'text',\n },\n modelModifiers: Object as PropType<Record<string, boolean>>,\n\n ...makeAutocompleteProps(),\n ...makeVInputProps(),\n ...makeVFieldProps(),\n}, 'VTextField')\n\nexport type VTextFieldSlots = Omit<VInputSlots & VFieldSlots, 'default'> & {\n default: never\n counter: VCounterSlot\n}\n\nexport const VTextField = genericComponent<VTextFieldSlots>()({\n name: 'VTextField',\n\n directives: { vIntersect },\n\n inheritAttrs: false,\n\n props: makeVTextFieldProps(),\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\n const { onIntersect } = useAutofocus(props)\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value)\n : typeof props.counterValue === 'number' ? props.counterValue\n : (model.value ?? '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as unknown as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VField>()\n const inputRef = ref<HTMLInputElement>()\n const autocomplete = useAutocomplete(props)\n const isActive = computed(() => (\n activeTypes.includes(props.type) ||\n props.persistentPlaceholder ||\n isFocused.value ||\n props.active\n ))\n function onFocus () {\n if (autocomplete.isSuppressing.value) {\n autocomplete.update()\n }\n\n if (!isFocused.value) focus()\n\n nextTick(() => {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n })\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n\n if (e.target === inputRef.value) return\n\n onFocus()\n e.preventDefault()\n }\n function onControlClick (e: MouseEvent) {\n emit('click:control', e)\n }\n function onClear (e: MouseEvent, reset: () => void) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n reset()\n\n callEvent(props['onClick:clear'], e)\n })\n }\n function onInput (e: Event) {\n const el = e.target as HTMLInputElement\n\n if (!(\n props.modelModifiers?.trim &&\n ['text', 'search', 'password', 'tel', 'url'].includes(props.type)\n )) {\n model.value = el.value\n return\n }\n\n const value = el.value\n const start = el.selectionStart\n const end = el.selectionEnd\n\n model.value = value\n\n nextTick(() => {\n let offset = 0\n if (value.trimStart().length === el.value.length) {\n // #22307 - Whitespace has been removed from the\n // start, offset the caret position to compensate\n offset = value.length - el.value.length\n }\n if (start != null) el.selectionStart = start - offset\n if (end != null) el.selectionEnd = end - offset\n })\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || (props.counter !== false && props.counter != null))\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const { modelValue: _, ...inputProps } = VInput.filterProps(props)\n const fieldProps = VField.filterProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-text-field',\n {\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-input--plain-underlined': isPlainOrUnderlined.value,\n },\n props.class,\n ]}\n style={ props.style }\n { ...rootAttrs }\n { ...inputProps }\n centerAffix={ !isPlainOrUnderlined.value }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n hasDetails,\n reset,\n }) => (\n <VField\n ref={ vFieldRef }\n onMousedown={ onControlMousedown }\n onClick={ onControlClick }\n onClick:clear={ (e: MouseEvent) => onClear(e, reset) }\n role={ props.role }\n { ...omit(fieldProps, ['onClick:clear']) }\n id={ id.value }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n details={ hasDetails.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n controlRef,\n }) => {\n const inputNode = (\n <input\n ref={ val => inputRef.value = controlRef.value = val as HTMLInputElement }\n value={ model.value }\n onInput={ onInput }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n name={ autocomplete.fieldName.value }\n autocomplete={ autocomplete.fieldAutocomplete.value }\n placeholder={ props.placeholder }\n size={ 1 }\n role={ props.role }\n type={ props.type }\n onFocus={ focus }\n onBlur={ blur }\n { ...slotProps }\n { ...inputAttrs }\n />\n )\n\n return (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n <span class=\"v-text-field__prefix__text\">\n { props.prefix }\n </span>\n </span>\n )}\n\n { slots.default ? (\n <div\n class={ fieldClass }\n data-no-activator=\"\"\n >\n { slots.default() }\n { inputNode }\n </div>\n ) : cloneVNode(inputNode, { class: fieldClass })}\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n <span class=\"v-text-field__suffix__text\">\n { props.suffix }\n </span>\n </span>\n )}\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n disabled={ props.disabled }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VTextField = InstanceType<typeof VTextField>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VTextField.js","names":["VCounter","makeVFieldProps","VField","makeVInputProps","VInput","makeAutocompleteProps","useAutocomplete","useAutofocus","useFocus","forwardRefs","useProxiedModel","vIntersect","cloneVNode","computed","nextTick","ref","withDirectives","callEvent","filterInputAttrs","genericComponent","omit","propsFactory","useRender","activeTypes","makeVTextFieldProps","autofocus","Boolean","counter","Number","String","counterValue","Function","prefix","placeholder","persistentPlaceholder","persistentCounter","suffix","role","type","default","modelModifiers","Object","VTextField","name","directives","inheritAttrs","props","emits","e","focused","val","setup","_ref","attrs","emit","slots","model","isFocused","focus","blur","onIntersect","value","toString","length","max","maxlength","undefined","isPlainOrUnderlined","includes","variant","vInputRef","vFieldRef","inputRef","autocomplete","isActive","active","onFocus","isSuppressing","update","document","activeElement","onControlMousedown","target","preventDefault","onControlClick","onClear","reset","stopPropagation","onInput","el","trim","start","selectionStart","end","selectionEnd","offset","trimStart","hasCounter","hasDetails","details","rootAttrs","inputAttrs","modelValue","_","inputProps","filterProps","fieldProps","_createVNode","_mergeProps","$event","class","style","_ref2","id","isDisabled","isDirty","isReadonly","isValid","dirty","_ref3","fieldClass","slotProps","controlRef","inputNode","_createElementVNode","fieldName","fieldAutocomplete","_Fragment","_normalizeClass","once","disabled"],"sources":["../../../src/components/VTextField/VTextField.tsx"],"sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Components\nimport { VCounter } from '@/components/VCounter/VCounter'\nimport { makeVFieldProps, VField } from '@/components/VField/VField'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { makeAutocompleteProps, useAutocomplete } from '@/composables/autocomplete'\nimport { useAutofocus } from '@/composables/autofocus'\nimport { useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport vIntersect from '@/directives/intersect'\n\n// Utilities\nimport { cloneVNode, computed, nextTick, ref, withDirectives } from 'vue'\nimport { callEvent, filterInputAttrs, genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VCounterSlot } from '@/components/VCounter/VCounter'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nconst activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\nexport const makeVTextFieldProps = propsFactory({\n autofocus: Boolean,\n counter: [Boolean, Number, String],\n counterValue: [Number, Function] as PropType<number | ((value: any) => number)>,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n role: String,\n type: {\n type: String,\n default: 'text',\n },\n modelModifiers: Object as PropType<Record<string, boolean>>,\n\n ...makeAutocompleteProps(),\n ...makeVInputProps(),\n ...makeVFieldProps(),\n}, 'VTextField')\n\nexport type VTextFieldSlots = Omit<VInputSlots & VFieldSlots, 'default'> & {\n default: never\n counter: VCounterSlot\n}\n\nexport const VTextField = genericComponent<VTextFieldSlots>()({\n name: 'VTextField',\n\n directives: { vIntersect },\n\n inheritAttrs: false,\n\n props: makeVTextFieldProps(),\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\n const { onIntersect } = useAutofocus(props)\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value)\n : typeof props.counterValue === 'number' ? props.counterValue\n : (model.value ?? '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as unknown as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VField>()\n const inputRef = ref<HTMLInputElement>()\n const autocomplete = useAutocomplete(props)\n const isActive = computed(() => (\n activeTypes.includes(props.type) ||\n props.persistentPlaceholder ||\n isFocused.value ||\n props.active\n ))\n function onFocus () {\n if (autocomplete.isSuppressing.value) {\n autocomplete.update()\n }\n\n if (!isFocused.value) focus()\n\n nextTick(() => {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n })\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n\n if (e.target === inputRef.value) return\n\n onFocus()\n e.preventDefault()\n }\n function onControlClick (e: MouseEvent) {\n emit('click:control', e)\n }\n function onClear (e: MouseEvent, reset: () => void) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n reset()\n\n callEvent(props['onClick:clear'], e)\n })\n }\n function onInput (e: Event) {\n const el = e.target as HTMLInputElement\n\n if (!(\n props.modelModifiers?.trim &&\n ['text', 'search', 'password', 'tel', 'url'].includes(props.type)\n )) {\n model.value = el.value\n return\n }\n\n const value = el.value\n const start = el.selectionStart\n const end = el.selectionEnd\n\n model.value = value\n\n nextTick(() => {\n let offset = 0\n if (value.trimStart().length === el.value.length) {\n // #22307 - Whitespace has been removed from the\n // start, offset the caret position to compensate\n offset = value.length - el.value.length\n }\n if (start != null) el.selectionStart = start - offset\n if (end != null) el.selectionEnd = end - offset\n })\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || (props.counter !== false && props.counter != null))\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const { modelValue: _, ...inputProps } = VInput.filterProps(props)\n const fieldProps = VField.filterProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-text-field',\n {\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-input--plain-underlined': isPlainOrUnderlined.value,\n },\n props.class,\n ]}\n style={ props.style }\n { ...rootAttrs }\n { ...inputProps }\n centerAffix={ !isPlainOrUnderlined.value }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n hasDetails,\n reset,\n }) => (\n <VField\n ref={ vFieldRef }\n onMousedown={ onControlMousedown }\n onClick={ onControlClick }\n onClick:clear={ (e: MouseEvent) => onClear(e, reset) }\n role={ props.role }\n { ...omit(fieldProps, ['onClick:clear']) }\n id={ id.value }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n details={ hasDetails.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n controlRef,\n }) => {\n const inputNode = (\n <input\n ref={ val => inputRef.value = controlRef.value = val as HTMLInputElement }\n value={ model.value }\n onInput={ onInput }\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n name={ autocomplete.fieldName.value }\n autocomplete={ autocomplete.fieldAutocomplete.value }\n placeholder={ props.placeholder }\n size={ 1 }\n role={ props.role }\n type={ props.type }\n onFocus={ focus }\n onBlur={ blur }\n { ...slotProps }\n { ...inputAttrs }\n />\n )\n\n return (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n <span class=\"v-text-field__prefix__text\">\n { props.prefix }\n </span>\n </span>\n )}\n\n { withDirectives(\n slots.default ? (\n <div\n class={ fieldClass }\n data-no-activator=\"\"\n >\n { slots.default() }\n { inputNode }\n </div>\n ) : cloneVNode(inputNode, { class: fieldClass }),\n [[vIntersect, onIntersect, null, { once: true }]],\n )}\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n <span class=\"v-text-field__suffix__text\">\n { props.suffix }\n </span>\n </span>\n )}\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n disabled={ props.disabled }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VTextField = InstanceType<typeof VTextField>\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,9 @@
1
1
  export function useAutofocus(props) {
2
2
  function onIntersect(isIntersecting, entries) {
3
3
  if (!props.autofocus || !isIntersecting) return;
4
- entries[0].target?.focus?.();
4
+ const el = entries[0].target;
5
+ const target = el.matches('input,textarea') ? el : el.querySelector('input,textarea');
6
+ target?.focus();
5
7
  }
6
8
  return {
7
9
  onIntersect
@@ -1 +1 @@
1
- {"version":3,"file":"autofocus.js","names":["useAutofocus","props","onIntersect","isIntersecting","entries","autofocus","target","focus"],"sources":["../../src/composables/autofocus.ts"],"sourcesContent":["interface AutofocusProps {\n autofocus: boolean\n}\n\nexport function useAutofocus (props: AutofocusProps) {\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n return {\n onIntersect,\n }\n}\n"],"mappings":"AAIA,OAAO,SAASA,YAAYA,CAAEC,KAAqB,EAAE;EACnD,SAASC,WAAWA,CAClBC,cAAuB,EACvBC,OAAoC,EACpC;IACA,IAAI,CAACH,KAAK,CAACI,SAAS,IAAI,CAACF,cAAc,EAAE;IAExCC,OAAO,CAAC,CAAC,CAAC,CAACE,MAAM,EAAuBC,KAAK,GAAG,CAAC;EACpD;EAEA,OAAO;IACLL;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"autofocus.js","names":["useAutofocus","props","onIntersect","isIntersecting","entries","autofocus","el","target","matches","querySelector","focus"],"sources":["../../src/composables/autofocus.ts"],"sourcesContent":["interface AutofocusProps {\n autofocus: boolean\n}\n\nexport function useAutofocus (props: AutofocusProps) {\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n const el = entries[0].target\n const target = (el.matches('input,textarea') ? el : el.querySelector('input,textarea')) as HTMLElement | null\n target?.focus()\n }\n\n return {\n onIntersect,\n }\n}\n"],"mappings":"AAIA,OAAO,SAASA,YAAYA,CAAEC,KAAqB,EAAE;EACnD,SAASC,WAAWA,CAClBC,cAAuB,EACvBC,OAAoC,EACpC;IACA,IAAI,CAACH,KAAK,CAACI,SAAS,IAAI,CAACF,cAAc,EAAE;IAEzC,MAAMG,EAAE,GAAGF,OAAO,CAAC,CAAC,CAAC,CAACG,MAAM;IAC5B,MAAMA,MAAM,GAAID,EAAE,CAACE,OAAO,CAAC,gBAAgB,CAAC,GAAGF,EAAE,GAAGA,EAAE,CAACG,aAAa,CAAC,gBAAgB,CAAwB;IAC7GF,MAAM,EAAEG,KAAK,CAAC,CAAC;EACjB;EAEA,OAAO;IACLR;EACF,CAAC;AACH","ignoreList":[]}
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.11.0";
19
+ export const version = "3.11.2";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -2778,42 +2778,42 @@ declare module 'vue' {
2778
2778
  $children?: VNodeChild
2779
2779
  }
2780
2780
  export interface GlobalComponents {
2781
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2782
+ VApp: typeof import('vuetify/components')['VApp']
2783
+ VBadge: typeof import('vuetify/components')['VBadge']
2784
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2781
2785
  VAppBar: typeof import('vuetify/components')['VAppBar']
2782
2786
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2783
2787
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2784
2788
  VAvatar: typeof import('vuetify/components')['VAvatar']
2785
- VApp: typeof import('vuetify/components')['VApp']
2786
- VAlert: typeof import('vuetify/components')['VAlert']
2787
- VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2788
- VBadge: typeof import('vuetify/components')['VBadge']
2789
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2790
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2791
2789
  VBanner: typeof import('vuetify/components')['VBanner']
2792
2790
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
2793
2791
  VBannerText: typeof import('vuetify/components')['VBannerText']
2794
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2795
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2796
2792
  VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2793
+ VBtn: typeof import('vuetify/components')['VBtn']
2794
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2795
+ VAlert: typeof import('vuetify/components')['VAlert']
2796
+ VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2797
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2797
2798
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2798
2799
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2799
2800
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2800
- VBtn: typeof import('vuetify/components')['VBtn']
2801
2801
  VCalendar: typeof import('vuetify/components')['VCalendar']
2802
- VCarousel: typeof import('vuetify/components')['VCarousel']
2803
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2802
+ VCode: typeof import('vuetify/components')['VCode']
2803
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
2804
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2804
2805
  VCard: typeof import('vuetify/components')['VCard']
2805
2806
  VCardActions: typeof import('vuetify/components')['VCardActions']
2806
2807
  VCardItem: typeof import('vuetify/components')['VCardItem']
2807
2808
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2808
2809
  VCardText: typeof import('vuetify/components')['VCardText']
2809
2810
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2810
- VCode: typeof import('vuetify/components')['VCode']
2811
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
2812
+ VCarousel: typeof import('vuetify/components')['VCarousel']
2813
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2811
2814
  VChip: typeof import('vuetify/components')['VChip']
2812
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
2813
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2814
- VCombobox: typeof import('vuetify/components')['VCombobox']
2815
2815
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
2816
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
2816
+ VCombobox: typeof import('vuetify/components')['VCombobox']
2817
2817
  VCounter: typeof import('vuetify/components')['VCounter']
2818
2818
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2819
2819
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
@@ -2821,6 +2821,13 @@ declare module 'vue' {
2821
2821
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2822
2822
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2823
2823
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2824
+ VDialog: typeof import('vuetify/components')['VDialog']
2825
+ VDivider: typeof import('vuetify/components')['VDivider']
2826
+ VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2827
+ VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2828
+ VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2829
+ VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2830
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
2824
2831
  VDataTable: typeof import('vuetify/components')['VDataTable']
2825
2832
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2826
2833
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -2828,31 +2835,21 @@ declare module 'vue' {
2828
2835
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2829
2836
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2830
2837
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2831
- VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2832
- VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2833
- VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2834
- VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2835
- VDialog: typeof import('vuetify/components')['VDialog']
2836
2838
  VFab: typeof import('vuetify/components')['VFab']
2837
- VDivider: typeof import('vuetify/components')['VDivider']
2839
+ VFooter: typeof import('vuetify/components')['VFooter']
2840
+ VFileInput: typeof import('vuetify/components')['VFileInput']
2838
2841
  VField: typeof import('vuetify/components')['VField']
2839
2842
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2840
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2841
- VFileInput: typeof import('vuetify/components')['VFileInput']
2842
- VFooter: typeof import('vuetify/components')['VFooter']
2843
- VHotkey: typeof import('vuetify/components')['VHotkey']
2844
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2845
2843
  VIcon: typeof import('vuetify/components')['VIcon']
2846
2844
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2847
2845
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2848
2846
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2849
2847
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2850
- VInput: typeof import('vuetify/components')['VInput']
2848
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2849
+ VImg: typeof import('vuetify/components')['VImg']
2850
+ VHotkey: typeof import('vuetify/components')['VHotkey']
2851
2851
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
2852
2852
  VItem: typeof import('vuetify/components')['VItem']
2853
- VImg: typeof import('vuetify/components')['VImg']
2854
- VLabel: typeof import('vuetify/components')['VLabel']
2855
- VKbd: typeof import('vuetify/components')['VKbd']
2856
2853
  VList: typeof import('vuetify/components')['VList']
2857
2854
  VListGroup: typeof import('vuetify/components')['VListGroup']
2858
2855
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2862,56 +2859,59 @@ declare module 'vue' {
2862
2859
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2863
2860
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2864
2861
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2865
- VMain: typeof import('vuetify/components')['VMain']
2862
+ VInput: typeof import('vuetify/components')['VInput']
2863
+ VLabel: typeof import('vuetify/components')['VLabel']
2864
+ VKbd: typeof import('vuetify/components')['VKbd']
2866
2865
  VMenu: typeof import('vuetify/components')['VMenu']
2866
+ VMain: typeof import('vuetify/components')['VMain']
2867
+ VMessages: typeof import('vuetify/components')['VMessages']
2867
2868
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2868
2869
  VNumberInput: typeof import('vuetify/components')['VNumberInput']
2869
- VPagination: typeof import('vuetify/components')['VPagination']
2870
- VMessages: typeof import('vuetify/components')['VMessages']
2871
2870
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
2872
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2873
- VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2871
+ VPagination: typeof import('vuetify/components')['VPagination']
2874
2872
  VOverlay: typeof import('vuetify/components')['VOverlay']
2875
- VRating: typeof import('vuetify/components')['VRating']
2873
+ VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2874
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2876
2875
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2877
- VSelect: typeof import('vuetify/components')['VSelect']
2876
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2877
+ VRating: typeof import('vuetify/components')['VRating']
2878
2878
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2879
2879
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2880
- VSheet: typeof import('vuetify/components')['VSheet']
2881
- VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2882
- VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2883
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2884
- VSlider: typeof import('vuetify/components')['VSlider']
2885
2880
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
2886
- VSwitch: typeof import('vuetify/components')['VSwitch']
2887
- VTab: typeof import('vuetify/components')['VTab']
2888
- VTabs: typeof import('vuetify/components')['VTabs']
2889
- VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2890
- VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2881
+ VSlider: typeof import('vuetify/components')['VSlider']
2882
+ VSheet: typeof import('vuetify/components')['VSheet']
2883
+ VSelect: typeof import('vuetify/components')['VSelect']
2884
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
2891
2885
  VStepper: typeof import('vuetify/components')['VStepper']
2892
2886
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
2893
2887
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
2894
2888
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2895
2889
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2896
2890
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2891
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2892
+ VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2893
+ VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2894
+ VTab: typeof import('vuetify/components')['VTab']
2895
+ VTabs: typeof import('vuetify/components')['VTabs']
2896
+ VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2897
+ VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2897
2898
  VTable: typeof import('vuetify/components')['VTable']
2898
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
2899
- VTimePicker: typeof import('vuetify/components')['VTimePicker']
2900
- VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2901
- VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2902
- VToolbar: typeof import('vuetify/components')['VToolbar']
2903
- VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2904
- VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2905
2899
  VTextarea: typeof import('vuetify/components')['VTextarea']
2906
- VTextField: typeof import('vuetify/components')['VTextField']
2907
- VTooltip: typeof import('vuetify/components')['VTooltip']
2908
2900
  VTimeline: typeof import('vuetify/components')['VTimeline']
2909
2901
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2910
- VWindow: typeof import('vuetify/components')['VWindow']
2911
- VWindowItem: typeof import('vuetify/components')['VWindowItem']
2902
+ VTooltip: typeof import('vuetify/components')['VTooltip']
2903
+ VToolbar: typeof import('vuetify/components')['VToolbar']
2904
+ VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2905
+ VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2912
2906
  VTreeview: typeof import('vuetify/components')['VTreeview']
2913
2907
  VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
2914
2908
  VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
2909
+ VTimePicker: typeof import('vuetify/components')['VTimePicker']
2910
+ VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2911
+ VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2912
+ VTextField: typeof import('vuetify/components')['VTextField']
2913
+ VWindow: typeof import('vuetify/components')['VWindow']
2914
+ VWindowItem: typeof import('vuetify/components')['VWindowItem']
2915
2915
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2916
2916
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2917
2917
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
@@ -2921,21 +2921,20 @@ declare module 'vue' {
2921
2921
  VRow: typeof import('vuetify/components')['VRow']
2922
2922
  VSpacer: typeof import('vuetify/components')['VSpacer']
2923
2923
  VHover: typeof import('vuetify/components')['VHover']
2924
- VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2925
2924
  VLayout: typeof import('vuetify/components')['VLayout']
2926
2925
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2927
2926
  VLazy: typeof import('vuetify/components')['VLazy']
2927
+ VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2928
2928
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2929
2929
  VParallax: typeof import('vuetify/components')['VParallax']
2930
2930
  VRadio: typeof import('vuetify/components')['VRadio']
2931
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2932
2931
  VResponsive: typeof import('vuetify/components')['VResponsive']
2933
- VSparkline: typeof import('vuetify/components')['VSparkline']
2932
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2934
2933
  VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2934
+ VSparkline: typeof import('vuetify/components')['VSparkline']
2935
2935
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2936
2936
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2937
2937
  VValidation: typeof import('vuetify/components')['VValidation']
2938
- VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2939
2938
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2940
2939
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
2941
2940
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -2952,24 +2951,25 @@ declare module 'vue' {
2952
2951
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2953
2952
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2954
2953
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2954
+ VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2955
2955
  VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2956
- VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2957
- VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2958
- VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2959
- VPie: typeof import('vuetify/labs/components')['VPie']
2960
- VPieSegment: typeof import('vuetify/labs/components')['VPieSegment']
2961
- VPieTooltip: typeof import('vuetify/labs/components')['VPieTooltip']
2956
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2962
2957
  VPicker: typeof import('vuetify/labs/components')['VPicker']
2963
2958
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2964
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2965
2959
  VVideo: typeof import('vuetify/labs/components')['VVideo']
2966
2960
  VVideoControls: typeof import('vuetify/labs/components')['VVideoControls']
2967
2961
  VVideoVolume: typeof import('vuetify/labs/components')['VVideoVolume']
2962
+ VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2963
+ VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2964
+ VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2968
2965
  VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2969
2966
  VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2970
- VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2971
- VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2967
+ VPie: typeof import('vuetify/labs/components')['VPie']
2968
+ VPieSegment: typeof import('vuetify/labs/components')['VPieSegment']
2969
+ VPieTooltip: typeof import('vuetify/labs/components')['VPieTooltip']
2972
2970
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2971
+ VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2972
+ VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2973
2973
  }
2974
2974
  export interface GlobalDirectives {
2975
2975
  vClickOutside: typeof import('vuetify/directives')['ClickOutside']
package/lib/framework.js CHANGED
@@ -110,7 +110,7 @@ export function createVuetify() {
110
110
  };
111
111
  });
112
112
  }
113
- export const version = "3.11.0";
113
+ export const version = "3.11.2";
114
114
  createVuetify.version = version;
115
115
 
116
116
  // Vue's inject() can only be used in setup