@vuetify/nightly 3.7.15-dev.2025-03-06 → 3.7.15-dev.2025-03-07
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.
- package/CHANGELOG.md +4 -3
- package/dist/json/attributes.json +2993 -2993
- package/dist/json/importMap-labs.json +28 -28
- package/dist/json/importMap.json +136 -136
- package/dist/json/web-types.json +5667 -5667
- package/dist/vuetify-labs.css +2946 -2946
- package/dist/vuetify-labs.d.ts +57 -54
- package/dist/vuetify-labs.esm.js +43 -34
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +43 -34
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +4513 -4513
- package/dist/vuetify.d.ts +57 -54
- package/dist/vuetify.esm.js +43 -34
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +43 -34
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +431 -429
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +2 -13
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +2 -13
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/composables/filter.d.ts +13 -9
- package/lib/composables/filter.js +39 -8
- package/lib/composables/filter.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +49 -49
- package/lib/framework.js +1 -1
- package/package.json +1 -1
@@ -2,19 +2,33 @@
|
|
2
2
|
/* eslint-disable no-labels */
|
3
3
|
|
4
4
|
// Utilities
|
5
|
-
import { computed, shallowRef, unref, watchEffect } from 'vue';
|
5
|
+
import { computed, shallowRef, unref, watchEffect, createVNode as _createVNode, Fragment as _Fragment } from 'vue';
|
6
6
|
import { getPropertyFromItem, propsFactory, wrapInArray } from "../util/index.js"; // Types
|
7
7
|
/**
|
8
|
-
* - match without highlight
|
9
|
-
* - single match (index), length already known
|
10
|
-
* - single match (start, end)
|
11
|
-
* - multiple matches (start, end),
|
8
|
+
* - boolean: match without highlight
|
9
|
+
* - number: single match (index), length already known
|
10
|
+
* - []: single match (start, end)
|
11
|
+
* - [][]: multiple matches (start, end), shouldn't overlap
|
12
12
|
*/
|
13
13
|
// Composables
|
14
14
|
export const defaultFilter = (value, query, item) => {
|
15
15
|
if (value == null || query == null) return -1;
|
16
|
-
|
16
|
+
value = value.toString().toLocaleLowerCase();
|
17
|
+
query = query.toString().toLocaleLowerCase();
|
18
|
+
const result = [];
|
19
|
+
let idx = value.indexOf(query);
|
20
|
+
while (~idx) {
|
21
|
+
result.push([idx, idx + query.length]);
|
22
|
+
idx = value.indexOf(query, idx + query.length);
|
23
|
+
}
|
24
|
+
return result.length ? result : -1;
|
17
25
|
};
|
26
|
+
function normaliseMatch(match, query) {
|
27
|
+
if (match == null || typeof match === 'boolean' || match === -1) return;
|
28
|
+
if (typeof match === 'number') return [[match, query.length]];
|
29
|
+
if (Array.isArray(match[0])) return match;
|
30
|
+
return [match];
|
31
|
+
}
|
18
32
|
export const makeFilterProps = propsFactory({
|
19
33
|
customFilter: Function,
|
20
34
|
customKeyFilter: Object,
|
@@ -45,7 +59,7 @@ export function filterItems(items, query, options) {
|
|
45
59
|
const keyFilter = options?.customKeyFilter?.[key];
|
46
60
|
match = keyFilter ? keyFilter(value, query, item) : filter(value, query, item);
|
47
61
|
if (match !== -1 && match !== false) {
|
48
|
-
if (keyFilter) customMatches[key] = match;else defaultMatches[key] = match;
|
62
|
+
if (keyFilter) customMatches[key] = normaliseMatch(match, query);else defaultMatches[key] = normaliseMatch(match, query);
|
49
63
|
} else if (options?.filterMode === 'every') {
|
50
64
|
continue loop;
|
51
65
|
}
|
@@ -53,7 +67,7 @@ export function filterItems(items, query, options) {
|
|
53
67
|
} else {
|
54
68
|
match = filter(item, query, item);
|
55
69
|
if (match !== -1 && match !== false) {
|
56
|
-
defaultMatches.title = match;
|
70
|
+
defaultMatches.title = normaliseMatch(match, query);
|
57
71
|
}
|
58
72
|
}
|
59
73
|
const defaultMatchesLength = Object.keys(defaultMatches).length;
|
@@ -113,4 +127,21 @@ export function useFilter(props, items, query, options) {
|
|
113
127
|
getMatches
|
114
128
|
};
|
115
129
|
}
|
130
|
+
export function highlightResult(name, text, matches) {
|
131
|
+
if (matches == null || !matches.length) return text;
|
132
|
+
return matches.map((match, i) => {
|
133
|
+
const start = i === 0 ? 0 : matches[i - 1][1];
|
134
|
+
const result = [_createVNode("span", {
|
135
|
+
"class": `${name}__unmask`
|
136
|
+
}, [text.slice(start, match[0])]), _createVNode("span", {
|
137
|
+
"class": `${name}__mask`
|
138
|
+
}, [text.slice(match[0], match[1])])];
|
139
|
+
if (i === matches.length - 1) {
|
140
|
+
result.push(_createVNode("span", {
|
141
|
+
"class": `${name}__unmask`
|
142
|
+
}, [text.slice(match[1])]));
|
143
|
+
}
|
144
|
+
return _createVNode(_Fragment, null, [result]);
|
145
|
+
});
|
146
|
+
}
|
116
147
|
//# sourceMappingURL=filter.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"filter.js","names":["computed","shallowRef","unref","watchEffect","getPropertyFromItem","propsFactory","wrapInArray","defaultFilter","value","query","item","toString","toLocaleLowerCase","indexOf","makeFilterProps","customFilter","Function","customKeyFilter","Object","filterKeys","Array","String","filterMode","type","default","noFilter","Boolean","filterItems","items","options","array","filter","keys","customFiltersLength","length","loop","i","transformed","customMatches","defaultMatches","match","key","keyFilter","title","defaultMatchesLength","customMatchesLength","push","index","matches","useFilter","props","filteredItems","filteredMatches","Map","transformedItems","transform","map","_query","strQuery","results","originalItems","_filteredItems","_filteredMatches","forEach","_ref","set","getMatches","get"],"sources":["../../src/composables/filter.ts"],"sourcesContent":["/* eslint-disable max-statements */\n/* eslint-disable no-labels */\n\n// Utilities\nimport { computed, shallowRef, unref, watchEffect } from 'vue'\nimport { getPropertyFromItem, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\n/**\n * - match without highlight\n * - single match (index), length already known\n * - single match (start, end)\n * - multiple matches (start, end), probably shouldn't overlap\n */\nexport type FilterMatch = boolean | number | [number, number] | [number, number][]\nexport type FilterFunction = (value: string, query: string, item?: InternalItem) => FilterMatch\nexport type FilterKeyFunctions = Record<string, FilterFunction>\nexport type FilterKeys = string | string[]\nexport type FilterMode = 'some' | 'every' | 'union' | 'intersection'\n\nexport interface FilterProps {\n customFilter?: FilterFunction\n customKeyFilter?: FilterKeyFunctions\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n}\n\nexport interface InternalItem<T = any> {\n value: any\n raw: T\n}\n\n// Composables\nexport const defaultFilter: FilterFunction = (value, query, item) => {\n if (value == null || query == null) return -1\n\n return value.toString().toLocaleLowerCase().indexOf(query.toString().toLocaleLowerCase())\n}\n\nexport const makeFilterProps = propsFactory({\n customFilter: Function as PropType<FilterFunction>,\n customKeyFilter: Object as PropType<FilterKeyFunctions>,\n filterKeys: [Array, String] as PropType<FilterKeys>,\n filterMode: {\n type: String as PropType<FilterMode>,\n default: 'intersection',\n },\n noFilter: Boolean,\n}, 'filter')\n\nexport function filterItems (\n items: readonly (readonly [item: InternalItem, transformed: {}])[] | readonly InternalItem[],\n query: string,\n options?: {\n customKeyFilter?: FilterKeyFunctions\n default?: FilterFunction\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n },\n) {\n const array: { index: number, matches: Record<string, FilterMatch> }[] = []\n // always ensure we fall back to a functioning filter\n const filter = options?.default ?? defaultFilter\n const keys = options?.filterKeys ? wrapInArray(options.filterKeys) : false\n const customFiltersLength = Object.keys(options?.customKeyFilter ?? {}).length\n\n if (!items?.length) return array\n\n loop:\n for (let i = 0; i < items.length; i++) {\n const [item, transformed = item] = wrapInArray(items[i]) as readonly [InternalItem, {}]\n const customMatches: Record<string, FilterMatch> = {}\n const defaultMatches: Record<string, FilterMatch> = {}\n let match: FilterMatch = -1\n\n if ((query || customFiltersLength > 0) && !options?.noFilter) {\n if (typeof item === 'object') {\n const filterKeys = keys || Object.keys(transformed)\n\n for (const key of filterKeys) {\n const value = getPropertyFromItem(transformed, key)\n const keyFilter = options?.customKeyFilter?.[key]\n\n match = keyFilter\n ? keyFilter(value, query, item)\n : filter(value, query, item)\n\n if (match !== -1 && match !== false) {\n if (keyFilter) customMatches[key] = match\n else defaultMatches[key] = match\n } else if (options?.filterMode === 'every') {\n continue loop\n }\n }\n } else {\n match = filter(item, query, item)\n if (match !== -1 && match !== false) {\n defaultMatches.title = match\n }\n }\n\n const defaultMatchesLength = Object.keys(defaultMatches).length\n const customMatchesLength = Object.keys(customMatches).length\n\n if (!defaultMatchesLength && !customMatchesLength) continue\n\n if (\n options?.filterMode === 'union' &&\n customMatchesLength !== customFiltersLength &&\n !defaultMatchesLength\n ) continue\n\n if (\n options?.filterMode === 'intersection' &&\n (\n customMatchesLength !== customFiltersLength ||\n !defaultMatchesLength\n )\n ) continue\n }\n\n array.push({ index: i, matches: { ...defaultMatches, ...customMatches } })\n }\n\n return array\n}\n\nexport function useFilter <T extends InternalItem> (\n props: FilterProps,\n items: MaybeRef<T[]>,\n query: Ref<string | undefined> | (() => string | undefined),\n options?: {\n transform?: (item: T) => {}\n customKeyFilter?: MaybeRef<FilterKeyFunctions | undefined>\n }\n) {\n const filteredItems: Ref<T[]> = shallowRef([])\n const filteredMatches: Ref<Map<unknown, Record<string, FilterMatch>>> = shallowRef(new Map())\n const transformedItems = computed(() => (\n options?.transform\n ? unref(items).map(item => ([item, options.transform!(item)] as const))\n : unref(items)\n ))\n\n watchEffect(() => {\n const _query = typeof query === 'function' ? query() : unref(query)\n const strQuery = (\n typeof _query !== 'string' &&\n typeof _query !== 'number'\n ) ? '' : String(_query)\n\n const results = filterItems(\n transformedItems.value,\n strQuery,\n {\n customKeyFilter: {\n ...props.customKeyFilter,\n ...unref(options?.customKeyFilter),\n },\n default: props.customFilter,\n filterKeys: props.filterKeys,\n filterMode: props.filterMode,\n noFilter: props.noFilter,\n },\n )\n\n const originalItems = unref(items)\n\n const _filteredItems: typeof filteredItems['value'] = []\n const _filteredMatches: typeof filteredMatches['value'] = new Map()\n results.forEach(({ index, matches }) => {\n const item = originalItems[index]\n _filteredItems.push(item)\n _filteredMatches.set(item.value, matches)\n })\n filteredItems.value = _filteredItems\n filteredMatches.value = _filteredMatches\n })\n\n function getMatches (item: T) {\n return filteredMatches.value.get(item.value)\n }\n\n return { filteredItems, filteredMatches, getMatches }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"filter.js","names":["computed","shallowRef","unref","watchEffect","createVNode","_createVNode","Fragment","_Fragment","getPropertyFromItem","propsFactory","wrapInArray","defaultFilter","value","query","item","toString","toLocaleLowerCase","result","idx","indexOf","push","length","normaliseMatch","match","Array","isArray","makeFilterProps","customFilter","Function","customKeyFilter","Object","filterKeys","String","filterMode","type","default","noFilter","Boolean","filterItems","items","options","array","filter","keys","customFiltersLength","loop","i","transformed","customMatches","defaultMatches","key","keyFilter","title","defaultMatchesLength","customMatchesLength","index","matches","useFilter","props","filteredItems","filteredMatches","Map","transformedItems","transform","map","_query","strQuery","results","originalItems","_filteredItems","_filteredMatches","forEach","_ref","set","getMatches","get","highlightResult","name","text","start","slice"],"sources":["../../src/composables/filter.tsx"],"sourcesContent":["/* eslint-disable max-statements */\n/* eslint-disable no-labels */\n\n// Utilities\nimport { computed, shallowRef, unref, watchEffect } from 'vue'\nimport { getPropertyFromItem, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\n/**\n * - boolean: match without highlight\n * - number: single match (index), length already known\n * - []: single match (start, end)\n * - [][]: multiple matches (start, end), shouldn't overlap\n */\nexport type FilterMatchArraySingle = readonly [number, number]\nexport type FilterMatchArrayMultiple = readonly FilterMatchArraySingle[]\nexport type FilterMatchArray = FilterMatchArraySingle | FilterMatchArrayMultiple\nexport type FilterMatch = boolean | number | FilterMatchArray\nexport type FilterFunction = (value: string, query: string, item?: InternalItem) => FilterMatch\nexport type FilterKeyFunctions = Record<string, FilterFunction>\nexport type FilterKeys = string | string[]\nexport type FilterMode = 'some' | 'every' | 'union' | 'intersection'\n\nexport interface FilterProps {\n customFilter?: FilterFunction\n customKeyFilter?: FilterKeyFunctions\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n}\n\nexport interface InternalItem<T = any> {\n value: any\n raw: T\n}\n\n// Composables\nexport const defaultFilter: FilterFunction = (value, query, item) => {\n if (value == null || query == null) return -1\n\n value = value.toString().toLocaleLowerCase()\n query = query.toString().toLocaleLowerCase()\n\n const result = []\n let idx = value.indexOf(query)\n while (~idx) {\n result.push([idx, idx + query.length] as const)\n\n idx = value.indexOf(query, idx + query.length)\n }\n\n return result.length ? result : -1\n}\n\nfunction normaliseMatch (match: FilterMatch, query: string): FilterMatchArrayMultiple | undefined {\n if (match == null || typeof match === 'boolean' || match === -1) return\n if (typeof match === 'number') return [[match, query.length]]\n if (Array.isArray(match[0])) return match as FilterMatchArrayMultiple\n return [match] as FilterMatchArrayMultiple\n}\n\nexport const makeFilterProps = propsFactory({\n customFilter: Function as PropType<FilterFunction>,\n customKeyFilter: Object as PropType<FilterKeyFunctions>,\n filterKeys: [Array, String] as PropType<FilterKeys>,\n filterMode: {\n type: String as PropType<FilterMode>,\n default: 'intersection',\n },\n noFilter: Boolean,\n}, 'filter')\n\nexport function filterItems (\n items: readonly (readonly [item: InternalItem, transformed: {}])[] | readonly InternalItem[],\n query: string,\n options?: {\n customKeyFilter?: FilterKeyFunctions\n default?: FilterFunction\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n },\n) {\n const array: { index: number, matches: Record<string, FilterMatchArrayMultiple | undefined> }[] = []\n // always ensure we fall back to a functioning filter\n const filter = options?.default ?? defaultFilter\n const keys = options?.filterKeys ? wrapInArray(options.filterKeys) : false\n const customFiltersLength = Object.keys(options?.customKeyFilter ?? {}).length\n\n if (!items?.length) return array\n\n loop:\n for (let i = 0; i < items.length; i++) {\n const [item, transformed = item] = wrapInArray(items[i]) as readonly [InternalItem, {}]\n const customMatches: Record<string, FilterMatchArrayMultiple | undefined> = {}\n const defaultMatches: Record<string, FilterMatchArrayMultiple | undefined> = {}\n let match: FilterMatch = -1\n\n if ((query || customFiltersLength > 0) && !options?.noFilter) {\n if (typeof item === 'object') {\n const filterKeys = keys || Object.keys(transformed)\n\n for (const key of filterKeys) {\n const value = getPropertyFromItem(transformed, key)\n const keyFilter = options?.customKeyFilter?.[key]\n\n match = keyFilter\n ? keyFilter(value, query, item)\n : filter(value, query, item)\n\n if (match !== -1 && match !== false) {\n if (keyFilter) customMatches[key] = normaliseMatch(match, query)\n else defaultMatches[key] = normaliseMatch(match, query)\n } else if (options?.filterMode === 'every') {\n continue loop\n }\n }\n } else {\n match = filter(item, query, item)\n if (match !== -1 && match !== false) {\n defaultMatches.title = normaliseMatch(match, query)\n }\n }\n\n const defaultMatchesLength = Object.keys(defaultMatches).length\n const customMatchesLength = Object.keys(customMatches).length\n\n if (!defaultMatchesLength && !customMatchesLength) continue\n\n if (\n options?.filterMode === 'union' &&\n customMatchesLength !== customFiltersLength &&\n !defaultMatchesLength\n ) continue\n\n if (\n options?.filterMode === 'intersection' &&\n (\n customMatchesLength !== customFiltersLength ||\n !defaultMatchesLength\n )\n ) continue\n }\n\n array.push({ index: i, matches: { ...defaultMatches, ...customMatches } })\n }\n\n return array\n}\n\nexport function useFilter <T extends InternalItem> (\n props: FilterProps,\n items: MaybeRef<T[]>,\n query: Ref<string | undefined> | (() => string | undefined),\n options?: {\n transform?: (item: T) => {}\n customKeyFilter?: MaybeRef<FilterKeyFunctions | undefined>\n }\n) {\n const filteredItems = shallowRef<T[]>([])\n const filteredMatches = shallowRef(new Map<unknown, Record<string, FilterMatchArrayMultiple | undefined>>())\n const transformedItems = computed(() => (\n options?.transform\n ? unref(items).map(item => ([item, options.transform!(item)] as const))\n : unref(items)\n ))\n\n watchEffect(() => {\n const _query = typeof query === 'function' ? query() : unref(query)\n const strQuery = (\n typeof _query !== 'string' &&\n typeof _query !== 'number'\n ) ? '' : String(_query)\n\n const results = filterItems(\n transformedItems.value,\n strQuery,\n {\n customKeyFilter: {\n ...props.customKeyFilter,\n ...unref(options?.customKeyFilter),\n },\n default: props.customFilter,\n filterKeys: props.filterKeys,\n filterMode: props.filterMode,\n noFilter: props.noFilter,\n },\n )\n\n const originalItems = unref(items)\n\n const _filteredItems: typeof filteredItems['value'] = []\n const _filteredMatches: typeof filteredMatches['value'] = new Map()\n results.forEach(({ index, matches }) => {\n const item = originalItems[index]\n _filteredItems.push(item)\n _filteredMatches.set(item.value, matches)\n })\n filteredItems.value = _filteredItems\n filteredMatches.value = _filteredMatches\n })\n\n function getMatches (item: T) {\n return filteredMatches.value.get(item.value)\n }\n\n return { filteredItems, filteredMatches, getMatches }\n}\n\nexport function highlightResult (name: string, text: string, matches: FilterMatchArrayMultiple | undefined) {\n if (matches == null || !matches.length) return text\n\n return matches.map((match, i) => {\n const start = i === 0 ? 0 : matches[i - 1][1]\n const result = [\n <span class={ `${name}__unmask` }>{ text.slice(start, match[0]) }</span>,\n <span class={ `${name}__mask` }>{ text.slice(match[0], match[1]) }</span>,\n ]\n if (i === matches.length - 1) {\n result.push(<span class={ `${name}__unmask` }>{ text.slice(match[1]) }</span>)\n }\n return <>{ result }</>\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/entry-bundler.js
CHANGED
@@ -16,7 +16,7 @@ export const createVuetify = function () {
|
|
16
16
|
...options
|
17
17
|
});
|
18
18
|
};
|
19
|
-
export const version = "3.7.15-dev.2025-03-
|
19
|
+
export const version = "3.7.15-dev.2025-03-07";
|
20
20
|
createVuetify.version = version;
|
21
21
|
export { blueprints, components, directives };
|
22
22
|
export * from "./composables/index.js";
|
package/lib/framework.d.ts
CHANGED
@@ -493,19 +493,20 @@ declare module 'vue' {
|
|
493
493
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
494
494
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
495
495
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
496
|
-
VAlert: typeof import('vuetify/components')['VAlert']
|
497
|
-
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
498
|
-
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
499
496
|
VApp: typeof import('vuetify/components')['VApp']
|
500
|
-
|
501
|
-
VAvatar: typeof import('vuetify/components')['VAvatar']
|
497
|
+
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
502
498
|
VBadge: typeof import('vuetify/components')['VBadge']
|
499
|
+
VAlert: typeof import('vuetify/components')['VAlert']
|
500
|
+
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
503
501
|
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
504
502
|
VBanner: typeof import('vuetify/components')['VBanner']
|
505
503
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
506
504
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
507
|
-
|
505
|
+
VAvatar: typeof import('vuetify/components')['VAvatar']
|
508
506
|
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
507
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
508
|
+
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
509
|
+
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
509
510
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
510
511
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
511
512
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
@@ -515,15 +516,21 @@ declare module 'vue' {
|
|
515
516
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
516
517
|
VCardText: typeof import('vuetify/components')['VCardText']
|
517
518
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
519
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
520
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
521
|
+
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
518
522
|
VChip: typeof import('vuetify/components')['VChip']
|
519
|
-
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
520
|
-
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
521
523
|
VCarousel: typeof import('vuetify/components')['VCarousel']
|
522
524
|
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
523
|
-
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
524
|
-
VCombobox: typeof import('vuetify/components')['VCombobox']
|
525
525
|
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
526
|
-
|
526
|
+
VCounter: typeof import('vuetify/components')['VCounter']
|
527
|
+
VDialog: typeof import('vuetify/components')['VDialog']
|
528
|
+
VDivider: typeof import('vuetify/components')['VDivider']
|
529
|
+
VCombobox: typeof import('vuetify/components')['VCombobox']
|
530
|
+
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
531
|
+
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
532
|
+
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
533
|
+
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
527
534
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
528
535
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
529
536
|
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
@@ -531,10 +538,6 @@ declare module 'vue' {
|
|
531
538
|
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
532
539
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
533
540
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
534
|
-
VCounter: typeof import('vuetify/components')['VCounter']
|
535
|
-
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
536
|
-
VDialog: typeof import('vuetify/components')['VDialog']
|
537
|
-
VDivider: typeof import('vuetify/components')['VDivider']
|
538
541
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
539
542
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
540
543
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
@@ -542,26 +545,26 @@ declare module 'vue' {
|
|
542
545
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
543
546
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
544
547
|
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
545
|
-
VFab: typeof import('vuetify/components')['VFab']
|
546
|
-
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
547
|
-
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
548
|
-
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
549
|
-
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
550
|
-
VFooter: typeof import('vuetify/components')['VFooter']
|
551
|
-
VFileInput: typeof import('vuetify/components')['VFileInput']
|
552
548
|
VField: typeof import('vuetify/components')['VField']
|
553
549
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
554
|
-
|
550
|
+
VFooter: typeof import('vuetify/components')['VFooter']
|
551
|
+
VFileInput: typeof import('vuetify/components')['VFileInput']
|
552
|
+
VFab: typeof import('vuetify/components')['VFab']
|
555
553
|
VIcon: typeof import('vuetify/components')['VIcon']
|
556
554
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
557
555
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
558
556
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
559
557
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
560
558
|
VImg: typeof import('vuetify/components')['VImg']
|
559
|
+
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
560
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
561
561
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
562
562
|
VItem: typeof import('vuetify/components')['VItem']
|
563
|
+
VMain: typeof import('vuetify/components')['VMain']
|
563
564
|
VKbd: typeof import('vuetify/components')['VKbd']
|
564
565
|
VInput: typeof import('vuetify/components')['VInput']
|
566
|
+
VMessages: typeof import('vuetify/components')['VMessages']
|
567
|
+
VMenu: typeof import('vuetify/components')['VMenu']
|
565
568
|
VList: typeof import('vuetify/components')['VList']
|
566
569
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
567
570
|
VListImg: typeof import('vuetify/components')['VListImg']
|
@@ -571,73 +574,70 @@ declare module 'vue' {
|
|
571
574
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
572
575
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
573
576
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
574
|
-
VMain: typeof import('vuetify/components')['VMain']
|
575
|
-
VLabel: typeof import('vuetify/components')['VLabel']
|
576
577
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
577
|
-
VMenu: typeof import('vuetify/components')['VMenu']
|
578
|
-
VMessages: typeof import('vuetify/components')['VMessages']
|
579
578
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
580
579
|
VPagination: typeof import('vuetify/components')['VPagination']
|
581
580
|
VOverlay: typeof import('vuetify/components')['VOverlay']
|
581
|
+
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
582
582
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
583
583
|
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
584
|
+
VSelect: typeof import('vuetify/components')['VSelect']
|
585
|
+
VCode: typeof import('vuetify/components')['VCode']
|
584
586
|
VRating: typeof import('vuetify/components')['VRating']
|
585
|
-
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
586
587
|
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
587
|
-
|
588
|
-
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
589
|
-
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
590
|
-
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
591
|
-
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
588
|
+
VSheet: typeof import('vuetify/components')['VSheet']
|
592
589
|
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
590
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
593
591
|
VSlider: typeof import('vuetify/components')['VSlider']
|
592
|
+
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
593
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
594
594
|
VSwitch: typeof import('vuetify/components')['VSwitch']
|
595
|
+
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
596
|
+
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
595
597
|
VTab: typeof import('vuetify/components')['VTab']
|
596
598
|
VTabs: typeof import('vuetify/components')['VTabs']
|
597
599
|
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
598
600
|
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
601
|
+
VTextarea: typeof import('vuetify/components')['VTextarea']
|
599
602
|
VStepper: typeof import('vuetify/components')['VStepper']
|
600
603
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
601
604
|
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
602
605
|
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
603
606
|
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
604
607
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
605
|
-
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
606
|
-
VTextarea: typeof import('vuetify/components')['VTextarea']
|
607
608
|
VTable: typeof import('vuetify/components')['VTable']
|
608
609
|
VTextField: typeof import('vuetify/components')['VTextField']
|
609
610
|
VTimeline: typeof import('vuetify/components')['VTimeline']
|
610
611
|
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
612
|
+
VTooltip: typeof import('vuetify/components')['VTooltip']
|
611
613
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
612
614
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
613
615
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
614
|
-
VTooltip: typeof import('vuetify/components')['VTooltip']
|
615
616
|
VWindow: typeof import('vuetify/components')['VWindow']
|
616
617
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
617
618
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
618
619
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
619
620
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
620
|
-
VForm: typeof import('vuetify/components')['VForm']
|
621
621
|
VContainer: typeof import('vuetify/components')['VContainer']
|
622
622
|
VCol: typeof import('vuetify/components')['VCol']
|
623
623
|
VRow: typeof import('vuetify/components')['VRow']
|
624
624
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
625
|
+
VForm: typeof import('vuetify/components')['VForm']
|
625
626
|
VHover: typeof import('vuetify/components')['VHover']
|
626
|
-
VLazy: typeof import('vuetify/components')['VLazy']
|
627
627
|
VLayout: typeof import('vuetify/components')['VLayout']
|
628
628
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
629
|
+
VLazy: typeof import('vuetify/components')['VLazy']
|
629
630
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
631
|
+
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
630
632
|
VParallax: typeof import('vuetify/components')['VParallax']
|
631
633
|
VRadio: typeof import('vuetify/components')['VRadio']
|
632
634
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
633
635
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
634
|
-
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
635
636
|
VSparkline: typeof import('vuetify/components')['VSparkline']
|
636
637
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
637
638
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
638
|
-
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
639
639
|
VValidation: typeof import('vuetify/components')['VValidation']
|
640
|
-
|
640
|
+
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
641
641
|
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
642
642
|
VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
|
643
643
|
VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
|
@@ -654,26 +654,26 @@ declare module 'vue' {
|
|
654
654
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
655
655
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
656
656
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
657
|
+
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
658
|
+
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
659
|
+
VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
|
657
660
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
658
661
|
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
659
662
|
VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
|
660
663
|
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
661
664
|
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
662
665
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
663
|
-
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
664
|
-
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
665
|
-
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
666
|
-
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
667
666
|
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
668
667
|
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
669
668
|
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
670
|
-
|
671
|
-
|
672
|
-
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
673
|
-
VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
|
669
|
+
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
670
|
+
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
674
671
|
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
675
672
|
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
676
673
|
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
674
|
+
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
675
|
+
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
676
|
+
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
677
677
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
678
678
|
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
679
679
|
VSnackbarQueue: typeof import('vuetify/labs/components')['VSnackbarQueue']
|
package/lib/framework.js
CHANGED