@vuetify/nightly 3.9.0-dev.2025-07-15 → 3.9.0-dev.2025-07-16
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 +9 -3
- package/dist/json/attributes.json +3261 -3241
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +202 -202
- package/dist/json/tags.json +5 -0
- package/dist/json/web-types.json +6129 -6059
- package/dist/vuetify-labs.cjs +204 -25
- package/dist/vuetify-labs.css +4800 -4798
- package/dist/vuetify-labs.d.ts +129 -67
- package/dist/vuetify-labs.esm.js +204 -25
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +204 -25
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +166 -16
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3987 -3985
- package/dist/vuetify.d.ts +119 -67
- package/dist/vuetify.esm.js +166 -16
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +166 -16
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +710 -688
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.d.ts +15 -0
- package/lib/components/VFileInput/VFileInput.js +38 -9
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.css +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.d.ts +75 -0
- package/lib/components/VProgressLinear/VProgressLinear.js +32 -6
- package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.sass +2 -2
- package/lib/components/VProgressLinear/chunks.d.ts +55 -0
- package/lib/components/VProgressLinear/chunks.js +62 -0
- package/lib/components/VProgressLinear/chunks.js.map +1 -0
- package/lib/composables/fileFilter.d.ts +18 -0
- package/lib/composables/fileFilter.js +38 -0
- package/lib/composables/fileFilter.js.map +1 -0
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +67 -67
- package/lib/framework.js +1 -1
- package/lib/labs/VFileUpload/VFileUpload.d.ts +15 -0
- package/lib/labs/VFileUpload/VFileUpload.js +39 -9
- package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VProgressLinear.js","names":["useBackgroundColor","useTextColor","makeComponentProps","useIntersectionObserver","useRtl","makeLocationProps","useLocation","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","computed","Transition","clamp","convertToUnit","genericComponent","IN_BROWSER","propsFactory","useRender","makeVProgressLinearProps","absolute","Boolean","active","type","default","bgColor","String","bgOpacity","Number","bufferValue","bufferColor","bufferOpacity","clickable","color","height","indeterminate","max","modelValue","opacity","reverse","stream","striped","roundedBar","location","VProgressLinear","name","props","emits","value","setup","_ref","slots","progress","isRtl","rtlClasses","themeClasses","locationStyles","textColorClasses","textColorStyles","backgroundColorClasses","backgroundColorStyles","bufferColorClasses","bufferColorStyles","barColorClasses","barColorStyles","roundedClasses","intersectionRef","isIntersecting","parseFloat","normalizedBuffer","normalizedValue","isReversed","transition","isForcedColorsModeActive","window","matchMedia","matches","handleClick","e","left","right","width","getBoundingClientRect","clientX","Math","round","_createVNode","tag","_normalizeClass","rounded","class","_normalizeStyle","bottom","undefined","top","style","min","_createElementVNode","borderTop","map","bar","buffer"],"sources":["../../../src/components/VProgressLinear/VProgressLinear.tsx"],"sourcesContent":["// Styles\nimport './VProgressLinear.sass'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useRtl } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, Transition } from 'vue'\nimport { clamp, convertToUnit, genericComponent, IN_BROWSER, propsFactory, useRender } from '@/util'\n\ntype VProgressLinearSlots = {\n default: { value: number, buffer: number }\n}\n\nexport const makeVProgressLinearProps = propsFactory({\n absolute: Boolean,\n active: {\n type: Boolean,\n default: true,\n },\n bgColor: String,\n bgOpacity: [Number, String],\n bufferValue: {\n type: [Number, String],\n default: 0,\n },\n bufferColor: String,\n bufferOpacity: [Number, String],\n clickable: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n opacity: [Number, String],\n reverse: Boolean,\n stream: Boolean,\n striped: Boolean,\n roundedBar: Boolean,\n\n ...makeComponentProps(),\n ...makeLocationProps({ location: 'top' } as const),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VProgressLinear')\n\nexport const VProgressLinear = genericComponent<VProgressLinearSlots>()({\n name: 'VProgressLinear',\n\n props: makeVProgressLinearProps(),\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const progress = useProxiedModel(props, 'modelValue')\n const { isRtl, rtlClasses } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { locationStyles } = useLocation(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => props.color)\n const {\n backgroundColorClasses,\n backgroundColorStyles,\n } = useBackgroundColor(() => props.bgColor || props.color)\n const {\n backgroundColorClasses: bufferColorClasses,\n backgroundColorStyles: bufferColorStyles,\n } = useBackgroundColor(() => props.bufferColor || props.bgColor || props.color)\n const {\n backgroundColorClasses: barColorClasses,\n backgroundColorStyles: barColorStyles,\n } = useBackgroundColor(() => props.color)\n const { roundedClasses } = useRounded(props)\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n const max = computed(() => parseFloat(props.max))\n const height = computed(() => parseFloat(props.height))\n const normalizedBuffer = computed(() => clamp(parseFloat(props.bufferValue) / max.value * 100, 0, 100))\n const normalizedValue = computed(() => clamp(parseFloat(progress.value) / max.value * 100, 0, 100))\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const transition = computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition')\n const isForcedColorsModeActive = IN_BROWSER && window.matchMedia?.('(forced-colors: active)').matches\n\n function handleClick (e: MouseEvent) {\n if (!intersectionRef.value) return\n\n const { left, right, width } = intersectionRef.value.getBoundingClientRect()\n const value = isReversed.value ? (width - e.clientX) + (right - width) : e.clientX - left\n\n progress.value = Math.round(value / width * max.value)\n }\n\n useRender(() => (\n <props.tag\n ref={ intersectionRef }\n class={[\n 'v-progress-linear',\n {\n 'v-progress-linear--absolute': props.absolute,\n 'v-progress-linear--active': props.active && isIntersecting.value,\n 'v-progress-linear--reverse': isReversed.value,\n 'v-progress-linear--rounded': props.rounded,\n 'v-progress-linear--rounded-bar': props.roundedBar,\n 'v-progress-linear--striped': props.striped,\n },\n roundedClasses.value,\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n {\n bottom: props.location === 'bottom' ? 0 : undefined,\n top: props.location === 'top' ? 0 : undefined,\n height: props.active ? convertToUnit(height.value) : 0,\n '--v-progress-linear-height': convertToUnit(height.value),\n ...(props.absolute ? locationStyles.value : {}),\n },\n props.style,\n ]}\n role=\"progressbar\"\n aria-hidden={ props.active ? 'false' : 'true' }\n aria-valuemin=\"0\"\n aria-valuemax={ props.max }\n aria-valuenow={ props.indeterminate ? undefined : Math.min(parseFloat(progress.value), max.value) }\n onClick={ props.clickable && handleClick }\n >\n { props.stream && (\n <div\n key=\"stream\"\n class={[\n 'v-progress-linear__stream',\n textColorClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),\n borderTop: `${convertToUnit(height.value / 2)} dotted`,\n opacity: parseFloat(props.bufferOpacity!),\n top: `calc(50% - ${convertToUnit(height.value / 4)})`,\n width: convertToUnit(100 - normalizedBuffer.value, '%'),\n '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1)),\n }}\n />\n )}\n\n <div\n class={[\n 'v-progress-linear__background',\n !isForcedColorsModeActive ? backgroundColorClasses.value : undefined,\n ]}\n style={[\n backgroundColorStyles.value,\n {\n opacity: parseFloat(props.bgOpacity!),\n width: props.stream ? 0 : undefined,\n },\n ]}\n />\n\n <div\n class={[\n 'v-progress-linear__buffer',\n !isForcedColorsModeActive ? bufferColorClasses.value : undefined,\n ]}\n style={[\n bufferColorStyles.value,\n {\n opacity: parseFloat(props.bufferOpacity!),\n width: convertToUnit(normalizedBuffer.value, '%'),\n },\n ]}\n />\n\n <Transition name={ transition.value }>\n { !props.indeterminate ? (\n <div\n class={[\n 'v-progress-linear__determinate',\n !isForcedColorsModeActive ? barColorClasses.value : undefined,\n ]}\n style={[\n barColorStyles.value,\n { width: convertToUnit(normalizedValue.value, '%') },\n ]}\n />\n ) : (\n <div class=\"v-progress-linear__indeterminate\">\n {['long', 'short'].map(bar => (\n <div\n key={ bar }\n class={[\n 'v-progress-linear__indeterminate',\n bar,\n !isForcedColorsModeActive ? barColorClasses.value : undefined,\n ]}\n style={ barColorStyles.value }\n />\n ))}\n </div>\n )}\n </Transition>\n\n { slots.default && (\n <div class=\"v-progress-linear__content\">\n { slots.default({ value: normalizedValue.value, buffer: normalizedBuffer.value }) }\n </div>\n )}\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VProgressLinear = InstanceType<typeof VProgressLinear>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VProgressLinear.js","names":["useBackgroundColor","useTextColor","makeComponentProps","useIntersectionObserver","useRtl","makeLocationProps","useLocation","useProxiedModel","useResizeObserver","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","useToggleScope","computed","ref","shallowRef","Transition","watchEffect","makeChunksProps","useChunks","clamp","convertToUnit","genericComponent","IN_BROWSER","propsFactory","useRender","makeVProgressLinearProps","absolute","Boolean","active","type","default","bgColor","String","bgOpacity","Number","bufferValue","bufferColor","bufferOpacity","clickable","color","height","indeterminate","max","modelValue","opacity","reverse","stream","striped","roundedBar","location","VProgressLinear","name","props","emits","value","setup","_ref","slots","root","progress","isRtl","rtlClasses","themeClasses","locationStyles","textColorClasses","textColorStyles","backgroundColorClasses","backgroundColorStyles","bufferColorClasses","bufferColorStyles","barColorClasses","barColorStyles","roundedClasses","intersectionRef","isIntersecting","parseFloat","normalizedBuffer","normalizedValue","isReversed","transition","isForcedColorsModeActive","window","matchMedia","matches","containerWidth","hasChunks","chunksMaskStyles","snapValueToChunk","resizeRef","entries","contentRect","width","bufferWidth","barWidth","handleClick","e","left","right","getBoundingClientRect","clientX","Math","round","_createVNode","tag","_normalizeClass","rounded","class","_normalizeStyle","bottom","undefined","top","style","min","_createElementVNode","borderTop","map","bar","buffer"],"sources":["../../../src/components/VProgressLinear/VProgressLinear.tsx"],"sourcesContent":["// Styles\nimport './VProgressLinear.sass'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useRtl } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, ref, shallowRef, Transition, watchEffect } from 'vue'\nimport { makeChunksProps, useChunks } from './chunks'\nimport { clamp, convertToUnit, genericComponent, IN_BROWSER, propsFactory, useRender } from '@/util'\n\ntype VProgressLinearSlots = {\n default: { value: number, buffer: number }\n}\n\nexport const makeVProgressLinearProps = propsFactory({\n absolute: Boolean,\n active: {\n type: Boolean,\n default: true,\n },\n bgColor: String,\n bgOpacity: [Number, String],\n bufferValue: {\n type: [Number, String],\n default: 0,\n },\n bufferColor: String,\n bufferOpacity: [Number, String],\n clickable: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n opacity: [Number, String],\n reverse: Boolean,\n stream: Boolean,\n striped: Boolean,\n roundedBar: Boolean,\n\n ...makeChunksProps(),\n ...makeComponentProps(),\n ...makeLocationProps({ location: 'top' } as const),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VProgressLinear')\n\nexport const VProgressLinear = genericComponent<VProgressLinearSlots>()({\n name: 'VProgressLinear',\n\n props: makeVProgressLinearProps(),\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const root = ref<HTMLElement>()\n\n const progress = useProxiedModel(props, 'modelValue')\n const { isRtl, rtlClasses } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { locationStyles } = useLocation(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => props.color)\n const {\n backgroundColorClasses,\n backgroundColorStyles,\n } = useBackgroundColor(() => props.bgColor || props.color)\n const {\n backgroundColorClasses: bufferColorClasses,\n backgroundColorStyles: bufferColorStyles,\n } = useBackgroundColor(() => props.bufferColor || props.bgColor || props.color)\n const {\n backgroundColorClasses: barColorClasses,\n backgroundColorStyles: barColorStyles,\n } = useBackgroundColor(() => props.color)\n const { roundedClasses } = useRounded(props)\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n const max = computed(() => parseFloat(props.max))\n const height = computed(() => parseFloat(props.height))\n const normalizedBuffer = computed(() => clamp(parseFloat(props.bufferValue) / max.value * 100, 0, 100))\n const normalizedValue = computed(() => clamp(parseFloat(progress.value) / max.value * 100, 0, 100))\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const transition = computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition')\n const isForcedColorsModeActive = IN_BROWSER && window.matchMedia?.('(forced-colors: active)').matches\n\n const containerWidth = shallowRef(0)\n const { hasChunks, chunksMaskStyles, snapValueToChunk } = useChunks(props, containerWidth)\n useToggleScope(hasChunks, () => {\n const { resizeRef } = useResizeObserver(entries => containerWidth.value = entries[0].contentRect.width)\n watchEffect(() => resizeRef.value = root.value)\n })\n\n const bufferWidth = computed(() => {\n return hasChunks.value\n ? snapValueToChunk(normalizedBuffer.value)\n : normalizedBuffer.value\n })\n\n const barWidth = computed(() => {\n return hasChunks.value\n ? snapValueToChunk(normalizedValue.value)\n : normalizedValue.value\n })\n\n function handleClick (e: MouseEvent) {\n if (!intersectionRef.value) return\n\n const { left, right, width } = intersectionRef.value.getBoundingClientRect()\n const value = isReversed.value ? (width - e.clientX) + (right - width) : e.clientX - left\n\n progress.value = Math.round(value / width * max.value)\n }\n\n watchEffect(() => {\n intersectionRef.value = root.value\n })\n\n useRender(() => (\n <props.tag\n ref={ root }\n class={[\n 'v-progress-linear',\n {\n 'v-progress-linear--absolute': props.absolute,\n 'v-progress-linear--active': props.active && isIntersecting.value,\n 'v-progress-linear--reverse': isReversed.value,\n 'v-progress-linear--rounded': props.rounded,\n 'v-progress-linear--rounded-bar': props.roundedBar,\n 'v-progress-linear--striped': props.striped,\n },\n roundedClasses.value,\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n {\n bottom: props.location === 'bottom' ? 0 : undefined,\n top: props.location === 'top' ? 0 : undefined,\n height: props.active ? convertToUnit(height.value) : 0,\n '--v-progress-linear-height': convertToUnit(height.value),\n ...(props.absolute ? locationStyles.value : {}),\n },\n chunksMaskStyles.value,\n props.style,\n ]}\n role=\"progressbar\"\n aria-hidden={ props.active ? 'false' : 'true' }\n aria-valuemin=\"0\"\n aria-valuemax={ props.max }\n aria-valuenow={ props.indeterminate ? undefined : Math.min(parseFloat(progress.value), max.value) }\n onClick={ props.clickable && handleClick }\n >\n { props.stream && (\n <div\n key=\"stream\"\n class={[\n 'v-progress-linear__stream',\n textColorClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),\n borderTop: `${convertToUnit(height.value / 2)} dotted`,\n opacity: parseFloat(props.bufferOpacity!),\n top: `calc(50% - ${convertToUnit(height.value / 4)})`,\n width: convertToUnit(100 - normalizedBuffer.value, '%'),\n '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1)),\n }}\n />\n )}\n\n <div\n class={[\n 'v-progress-linear__background',\n !isForcedColorsModeActive ? backgroundColorClasses.value : undefined,\n ]}\n style={[\n backgroundColorStyles.value,\n {\n opacity: parseFloat(props.bgOpacity!),\n width: props.stream ? 0 : undefined,\n },\n ]}\n />\n\n <div\n class={[\n 'v-progress-linear__buffer',\n !isForcedColorsModeActive ? bufferColorClasses.value : undefined,\n ]}\n style={[\n bufferColorStyles.value,\n {\n opacity: parseFloat(props.bufferOpacity!),\n width: convertToUnit(bufferWidth.value, '%'),\n },\n ]}\n />\n\n <Transition name={ transition.value }>\n { !props.indeterminate ? (\n <div\n class={[\n 'v-progress-linear__determinate',\n !isForcedColorsModeActive ? barColorClasses.value : undefined,\n ]}\n style={[\n barColorStyles.value,\n { width: convertToUnit(barWidth.value, '%') },\n ]}\n />\n ) : (\n <div class=\"v-progress-linear__indeterminate\">\n {['long', 'short'].map(bar => (\n <div\n key={ bar }\n class={[\n 'v-progress-linear__indeterminate',\n bar,\n !isForcedColorsModeActive ? barColorClasses.value : undefined,\n ]}\n style={ barColorStyles.value }\n />\n ))}\n </div>\n )}\n </Transition>\n\n { slots.default && (\n <div class=\"v-progress-linear__content\">\n { slots.default({ value: normalizedValue.value, buffer: normalizedBuffer.value }) }\n </div>\n )}\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VProgressLinear = InstanceType<typeof VProgressLinear>\n"],"mappings":"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","ignoreList":[]}
|
@@ -7,7 +7,7 @@
|
|
7
7
|
background: transparent
|
8
8
|
overflow: hidden
|
9
9
|
position: relative
|
10
|
-
transition: $progress-linear-transition
|
10
|
+
transition: $progress-linear-transition, mask-size 0s
|
11
11
|
width: 100%
|
12
12
|
|
13
13
|
&--rounded
|
@@ -28,7 +28,7 @@
|
|
28
28
|
width: 100%
|
29
29
|
transition-property: width, left, right
|
30
30
|
transition: inherit
|
31
|
-
|
31
|
+
|
32
32
|
@media (forced-colors: active)
|
33
33
|
.v-progress-linear__buffer
|
34
34
|
background-color: highlight
|
@@ -0,0 +1,55 @@
|
|
1
|
+
import type { MaybeRefOrGetter } from 'vue';
|
2
|
+
export interface ChunksProps {
|
3
|
+
chunkCount: number | string;
|
4
|
+
chunkWidth: number | string;
|
5
|
+
chunkGap: number | string;
|
6
|
+
}
|
7
|
+
export declare const makeChunksProps: <Defaults extends {
|
8
|
+
chunkCount?: unknown;
|
9
|
+
chunkWidth?: unknown;
|
10
|
+
chunkGap?: unknown;
|
11
|
+
} = {}>(defaults?: Defaults | undefined) => {
|
12
|
+
chunkCount: unknown extends Defaults["chunkCount"] ? {
|
13
|
+
type: (StringConstructor | NumberConstructor)[];
|
14
|
+
default: null;
|
15
|
+
} : Omit<{
|
16
|
+
type: (StringConstructor | NumberConstructor)[];
|
17
|
+
default: null;
|
18
|
+
}, "type" | "default"> & {
|
19
|
+
type: import("vue").PropType<unknown extends Defaults["chunkCount"] ? string | number : string | number | Defaults["chunkCount"]>;
|
20
|
+
default: unknown extends Defaults["chunkCount"] ? string | number : NonNullable<string | number> | Defaults["chunkCount"];
|
21
|
+
};
|
22
|
+
chunkWidth: unknown extends Defaults["chunkWidth"] ? {
|
23
|
+
type: (StringConstructor | NumberConstructor)[];
|
24
|
+
default: null;
|
25
|
+
} : Omit<{
|
26
|
+
type: (StringConstructor | NumberConstructor)[];
|
27
|
+
default: null;
|
28
|
+
}, "type" | "default"> & {
|
29
|
+
type: import("vue").PropType<unknown extends Defaults["chunkWidth"] ? string | number : string | number | Defaults["chunkWidth"]>;
|
30
|
+
default: unknown extends Defaults["chunkWidth"] ? string | number : NonNullable<string | number> | Defaults["chunkWidth"];
|
31
|
+
};
|
32
|
+
chunkGap: unknown extends Defaults["chunkGap"] ? {
|
33
|
+
type: (StringConstructor | NumberConstructor)[];
|
34
|
+
default: number;
|
35
|
+
} : Omit<{
|
36
|
+
type: (StringConstructor | NumberConstructor)[];
|
37
|
+
default: number;
|
38
|
+
}, "type" | "default"> & {
|
39
|
+
type: import("vue").PropType<unknown extends Defaults["chunkGap"] ? string | number : string | number | Defaults["chunkGap"]>;
|
40
|
+
default: unknown extends Defaults["chunkGap"] ? string | number : NonNullable<string | number> | Defaults["chunkGap"];
|
41
|
+
};
|
42
|
+
};
|
43
|
+
export declare function useChunks(props: ChunksProps, containerWidth: MaybeRefOrGetter<number | undefined>): {
|
44
|
+
hasChunks: Readonly<import("vue").Ref<boolean, boolean>>;
|
45
|
+
chunksMaskStyles: import("vue").ComputedRef<{
|
46
|
+
maskRepeat?: undefined;
|
47
|
+
maskImage?: undefined;
|
48
|
+
maskSize?: undefined;
|
49
|
+
} | {
|
50
|
+
maskRepeat: string;
|
51
|
+
maskImage: string;
|
52
|
+
maskSize: string;
|
53
|
+
}>;
|
54
|
+
snapValueToChunk: (val: number) => number;
|
55
|
+
};
|
@@ -0,0 +1,62 @@
|
|
1
|
+
// Utilities
|
2
|
+
import { computed, toRef, toValue } from 'vue';
|
3
|
+
import { clamp, convertToUnit, propsFactory } from "../../util/index.js"; // Types
|
4
|
+
// Composables
|
5
|
+
export const makeChunksProps = propsFactory({
|
6
|
+
chunkCount: {
|
7
|
+
type: [Number, String],
|
8
|
+
default: null
|
9
|
+
},
|
10
|
+
chunkWidth: {
|
11
|
+
type: [Number, String],
|
12
|
+
default: null
|
13
|
+
},
|
14
|
+
chunkGap: {
|
15
|
+
type: [Number, String],
|
16
|
+
default: 4
|
17
|
+
}
|
18
|
+
}, 'chunks');
|
19
|
+
export function useChunks(props, containerWidth) {
|
20
|
+
const hasChunks = toRef(() => !!props.chunkCount || !!props.chunkWidth);
|
21
|
+
const chunkWidth = computed(() => {
|
22
|
+
const containerSize = toValue(containerWidth);
|
23
|
+
if (!containerSize) {
|
24
|
+
return 0;
|
25
|
+
}
|
26
|
+
if (!props.chunkCount) {
|
27
|
+
return Number(props.chunkWidth);
|
28
|
+
}
|
29
|
+
const count = Number(props.chunkCount);
|
30
|
+
const availableWidth = containerSize - Number(props.chunkGap) * (count - 1);
|
31
|
+
return availableWidth / count;
|
32
|
+
});
|
33
|
+
const chunkGap = toRef(() => Number(props.chunkGap));
|
34
|
+
const chunksMaskStyles = computed(() => {
|
35
|
+
if (!hasChunks.value) {
|
36
|
+
return {};
|
37
|
+
}
|
38
|
+
const chunkGapPx = convertToUnit(chunkGap.value);
|
39
|
+
const chunkWidthPx = convertToUnit(chunkWidth.value);
|
40
|
+
return {
|
41
|
+
maskRepeat: 'repeat-x',
|
42
|
+
maskImage: `linear-gradient(90deg, #000, #000 ${chunkWidthPx}, transparent ${chunkWidthPx}, transparent)`,
|
43
|
+
maskSize: `calc(${chunkWidthPx} + ${chunkGapPx}) 100%`
|
44
|
+
};
|
45
|
+
});
|
46
|
+
function snapValueToChunk(val) {
|
47
|
+
const containerSize = toValue(containerWidth);
|
48
|
+
if (!containerSize) {
|
49
|
+
return val;
|
50
|
+
}
|
51
|
+
const gapRelativeSize = 100 * chunkGap.value / containerSize;
|
52
|
+
const chunkRelativeSize = 100 * (chunkWidth.value + chunkGap.value) / containerSize;
|
53
|
+
const filledChunks = Math.floor((val + gapRelativeSize) / chunkRelativeSize);
|
54
|
+
return clamp(0, filledChunks * chunkRelativeSize - gapRelativeSize / 2, 100);
|
55
|
+
}
|
56
|
+
return {
|
57
|
+
hasChunks,
|
58
|
+
chunksMaskStyles,
|
59
|
+
snapValueToChunk
|
60
|
+
};
|
61
|
+
}
|
62
|
+
//# sourceMappingURL=chunks.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"chunks.js","names":["computed","toRef","toValue","clamp","convertToUnit","propsFactory","makeChunksProps","chunkCount","type","Number","String","default","chunkWidth","chunkGap","useChunks","props","containerWidth","hasChunks","containerSize","count","availableWidth","chunksMaskStyles","value","chunkGapPx","chunkWidthPx","maskRepeat","maskImage","maskSize","snapValueToChunk","val","gapRelativeSize","chunkRelativeSize","filledChunks","Math","floor"],"sources":["../../../src/components/VProgressLinear/chunks.ts"],"sourcesContent":["// Utilities\nimport { computed, toRef, toValue } from 'vue'\nimport { clamp, convertToUnit, propsFactory } from '@/util'\n\n// Types\nimport type { MaybeRefOrGetter } from 'vue'\n\nexport interface ChunksProps {\n chunkCount: number | string\n chunkWidth: number | string\n chunkGap: number | string\n}\n\n// Composables\nexport const makeChunksProps = propsFactory({\n chunkCount: {\n type: [Number, String],\n default: null,\n },\n chunkWidth: {\n type: [Number, String],\n default: null,\n },\n chunkGap: {\n type: [Number, String],\n default: 4,\n },\n}, 'chunks')\n\nexport function useChunks (\n props: ChunksProps,\n containerWidth: MaybeRefOrGetter<number | undefined>,\n) {\n const hasChunks = toRef(() => !!props.chunkCount || !!props.chunkWidth)\n\n const chunkWidth = computed(() => {\n const containerSize = toValue(containerWidth)\n if (!containerSize) {\n return 0\n }\n\n if (!props.chunkCount) {\n return Number(props.chunkWidth)\n }\n\n const count = Number(props.chunkCount)\n const availableWidth = containerSize - Number(props.chunkGap) * (count - 1)\n return availableWidth / count\n })\n\n const chunkGap = toRef(() => Number(props.chunkGap))\n const chunksMaskStyles = computed(() => {\n if (!hasChunks.value) {\n return {}\n }\n\n const chunkGapPx = convertToUnit(chunkGap.value)\n const chunkWidthPx = convertToUnit(chunkWidth.value)\n\n return {\n maskRepeat: 'repeat-x',\n maskImage: `linear-gradient(90deg, #000, #000 ${chunkWidthPx}, transparent ${chunkWidthPx}, transparent)`,\n maskSize: `calc(${chunkWidthPx} + ${chunkGapPx}) 100%`,\n }\n })\n\n function snapValueToChunk (val: number) {\n const containerSize = toValue(containerWidth)\n if (!containerSize) {\n return val\n }\n\n const gapRelativeSize = 100 * chunkGap.value / containerSize\n const chunkRelativeSize = 100 * (chunkWidth.value + chunkGap.value) / containerSize\n const filledChunks = Math.floor((val + gapRelativeSize) / chunkRelativeSize)\n return clamp(0, filledChunks * chunkRelativeSize - gapRelativeSize / 2, 100)\n }\n\n return {\n hasChunks,\n chunksMaskStyles,\n snapValueToChunk,\n }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,KAAK,EAAEC,OAAO,QAAQ,KAAK;AAAA,SACrCC,KAAK,EAAEC,aAAa,EAAEC,YAAY,+BAE3C;AASA;AACA,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;EAC1CE,UAAU,EAAE;IACVC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACtBC,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAE;IACVJ,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACtBC,OAAO,EAAE;EACX,CAAC;EACDE,QAAQ,EAAE;IACRL,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACtBC,OAAO,EAAE;EACX;AACF,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,SAASG,SAASA,CACvBC,KAAkB,EAClBC,cAAoD,EACpD;EACA,MAAMC,SAAS,GAAGhB,KAAK,CAAC,MAAM,CAAC,CAACc,KAAK,CAACR,UAAU,IAAI,CAAC,CAACQ,KAAK,CAACH,UAAU,CAAC;EAEvE,MAAMA,UAAU,GAAGZ,QAAQ,CAAC,MAAM;IAChC,MAAMkB,aAAa,GAAGhB,OAAO,CAACc,cAAc,CAAC;IAC7C,IAAI,CAACE,aAAa,EAAE;MAClB,OAAO,CAAC;IACV;IAEA,IAAI,CAACH,KAAK,CAACR,UAAU,EAAE;MACrB,OAAOE,MAAM,CAACM,KAAK,CAACH,UAAU,CAAC;IACjC;IAEA,MAAMO,KAAK,GAAGV,MAAM,CAACM,KAAK,CAACR,UAAU,CAAC;IACtC,MAAMa,cAAc,GAAGF,aAAa,GAAGT,MAAM,CAACM,KAAK,CAACF,QAAQ,CAAC,IAAIM,KAAK,GAAG,CAAC,CAAC;IAC3E,OAAOC,cAAc,GAAGD,KAAK;EAC/B,CAAC,CAAC;EAEF,MAAMN,QAAQ,GAAGZ,KAAK,CAAC,MAAMQ,MAAM,CAACM,KAAK,CAACF,QAAQ,CAAC,CAAC;EACpD,MAAMQ,gBAAgB,GAAGrB,QAAQ,CAAC,MAAM;IACtC,IAAI,CAACiB,SAAS,CAACK,KAAK,EAAE;MACpB,OAAO,CAAC,CAAC;IACX;IAEA,MAAMC,UAAU,GAAGnB,aAAa,CAACS,QAAQ,CAACS,KAAK,CAAC;IAChD,MAAME,YAAY,GAAGpB,aAAa,CAACQ,UAAU,CAACU,KAAK,CAAC;IAEpD,OAAO;MACLG,UAAU,EAAE,UAAU;MACtBC,SAAS,EAAE,qCAAqCF,YAAY,iBAAiBA,YAAY,gBAAgB;MACzGG,QAAQ,EAAE,QAAQH,YAAY,MAAMD,UAAU;IAChD,CAAC;EACH,CAAC,CAAC;EAEF,SAASK,gBAAgBA,CAAEC,GAAW,EAAE;IACtC,MAAMX,aAAa,GAAGhB,OAAO,CAACc,cAAc,CAAC;IAC7C,IAAI,CAACE,aAAa,EAAE;MAClB,OAAOW,GAAG;IACZ;IAEA,MAAMC,eAAe,GAAG,GAAG,GAAGjB,QAAQ,CAACS,KAAK,GAAGJ,aAAa;IAC5D,MAAMa,iBAAiB,GAAG,GAAG,IAAInB,UAAU,CAACU,KAAK,GAAGT,QAAQ,CAACS,KAAK,CAAC,GAAGJ,aAAa;IACnF,MAAMc,YAAY,GAAGC,IAAI,CAACC,KAAK,CAAC,CAACL,GAAG,GAAGC,eAAe,IAAIC,iBAAiB,CAAC;IAC5E,OAAO5B,KAAK,CAAC,CAAC,EAAE6B,YAAY,GAAGD,iBAAiB,GAAGD,eAAe,GAAG,CAAC,EAAE,GAAG,CAAC;EAC9E;EAEA,OAAO;IACLb,SAAS;IACTI,gBAAgB;IAChBO;EACF,CAAC;AACH","ignoreList":[]}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
export interface FileFilterProps {
|
2
|
+
filterByType?: string;
|
3
|
+
}
|
4
|
+
export type FileFilterResult = {
|
5
|
+
accepted: File[];
|
6
|
+
rejected: File[];
|
7
|
+
};
|
8
|
+
export declare const makeFileFilterProps: <Defaults extends {
|
9
|
+
filterByType?: unknown;
|
10
|
+
} = {}>(defaults?: Defaults | undefined) => {
|
11
|
+
filterByType: unknown extends Defaults["filterByType"] ? StringConstructor : {
|
12
|
+
type: import("vue").PropType<unknown extends Defaults["filterByType"] ? string : string | Defaults["filterByType"]>;
|
13
|
+
default: unknown extends Defaults["filterByType"] ? string : string | Defaults["filterByType"];
|
14
|
+
};
|
15
|
+
};
|
16
|
+
export declare function useFileFilter(props: FileFilterProps): {
|
17
|
+
filterAccepted: (files: File[]) => FileFilterResult;
|
18
|
+
};
|
@@ -0,0 +1,38 @@
|
|
1
|
+
// Utilities
|
2
|
+
import { computed } from 'vue';
|
3
|
+
import { propsFactory } from "../util/index.js";
|
4
|
+
// Composables
|
5
|
+
export const makeFileFilterProps = propsFactory({
|
6
|
+
filterByType: String
|
7
|
+
}, 'file-accept');
|
8
|
+
export function useFileFilter(props) {
|
9
|
+
const fileFilter = computed(() => props.filterByType ? createFilter(props.filterByType) : null);
|
10
|
+
function filterAccepted(files) {
|
11
|
+
if (fileFilter.value) {
|
12
|
+
const accepted = files.filter(fileFilter.value);
|
13
|
+
return {
|
14
|
+
accepted,
|
15
|
+
rejected: files.filter(f => !accepted.includes(f))
|
16
|
+
};
|
17
|
+
}
|
18
|
+
return {
|
19
|
+
accepted: files,
|
20
|
+
rejected: []
|
21
|
+
};
|
22
|
+
}
|
23
|
+
return {
|
24
|
+
filterAccepted
|
25
|
+
};
|
26
|
+
}
|
27
|
+
function createFilter(v) {
|
28
|
+
const types = v.split(',').map(x => x.trim().toLowerCase());
|
29
|
+
const extensionsToMatch = types.filter(x => x.startsWith('.'));
|
30
|
+
const wildcards = types.filter(x => x.endsWith('/*'));
|
31
|
+
const typesToMatch = types.filter(x => !extensionsToMatch.includes(x) && !wildcards.includes(x));
|
32
|
+
return file => {
|
33
|
+
const extension = file.name.split('.').at(-1)?.toLowerCase() ?? '';
|
34
|
+
const typeGroup = file.type.split('/').at(0)?.toLowerCase() ?? '';
|
35
|
+
return typesToMatch.includes(file.type) || extensionsToMatch.includes(`.${extension}`) || wildcards.includes(`${typeGroup}/*`);
|
36
|
+
};
|
37
|
+
}
|
38
|
+
//# sourceMappingURL=fileFilter.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"fileFilter.js","names":["computed","propsFactory","makeFileFilterProps","filterByType","String","useFileFilter","props","fileFilter","createFilter","filterAccepted","files","value","accepted","filter","rejected","f","includes","v","types","split","map","x","trim","toLowerCase","extensionsToMatch","startsWith","wildcards","endsWith","typesToMatch","file","extension","name","at","typeGroup","type"],"sources":["../../src/composables/fileFilter.ts"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { propsFactory } from '@/util'\n\nexport interface FileFilterProps {\n filterByType?: string\n}\n\nexport type FileFilterResult = {\n accepted: File[]\n rejected: File[]\n}\n\n// Composables\nexport const makeFileFilterProps = propsFactory({\n filterByType: String,\n}, 'file-accept')\n\nexport function useFileFilter (props: FileFilterProps) {\n const fileFilter = computed(() => props.filterByType ? createFilter(props.filterByType) : null)\n\n function filterAccepted (files: File[]): FileFilterResult {\n if (fileFilter.value) {\n const accepted = files.filter(fileFilter.value)\n return {\n accepted,\n rejected: files.filter(f => !accepted.includes(f)),\n }\n }\n return {\n accepted: files,\n rejected: [],\n }\n }\n\n return {\n filterAccepted,\n }\n}\n\nfunction createFilter (v: string): ((v: File) => boolean) {\n const types = v.split(',').map(x => x.trim().toLowerCase())\n const extensionsToMatch = types.filter(x => x.startsWith('.'))\n const wildcards = types.filter(x => x.endsWith('/*'))\n const typesToMatch = types.filter(x => !extensionsToMatch.includes(x) && !wildcards.includes(x))\n\n return (file: File): boolean => {\n const extension = file.name.split('.').at(-1)?.toLowerCase() ?? ''\n const typeGroup = file.type.split('/').at(0)?.toLowerCase() ?? ''\n return typesToMatch.includes(file.type) ||\n extensionsToMatch.includes(`.${extension}`) ||\n wildcards.includes(`${typeGroup}/*`)\n }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,QAAQ,KAAK;AAAA,SACrBC,YAAY;AAWrB;AACA,OAAO,MAAMC,mBAAmB,GAAGD,YAAY,CAAC;EAC9CE,YAAY,EAAEC;AAChB,CAAC,EAAE,aAAa,CAAC;AAEjB,OAAO,SAASC,aAAaA,CAAEC,KAAsB,EAAE;EACrD,MAAMC,UAAU,GAAGP,QAAQ,CAAC,MAAMM,KAAK,CAACH,YAAY,GAAGK,YAAY,CAACF,KAAK,CAACH,YAAY,CAAC,GAAG,IAAI,CAAC;EAE/F,SAASM,cAAcA,CAAEC,KAAa,EAAoB;IACxD,IAAIH,UAAU,CAACI,KAAK,EAAE;MACpB,MAAMC,QAAQ,GAAGF,KAAK,CAACG,MAAM,CAACN,UAAU,CAACI,KAAK,CAAC;MAC/C,OAAO;QACLC,QAAQ;QACRE,QAAQ,EAAEJ,KAAK,CAACG,MAAM,CAACE,CAAC,IAAI,CAACH,QAAQ,CAACI,QAAQ,CAACD,CAAC,CAAC;MACnD,CAAC;IACH;IACA,OAAO;MACLH,QAAQ,EAAEF,KAAK;MACfI,QAAQ,EAAE;IACZ,CAAC;EACH;EAEA,OAAO;IACLL;EACF,CAAC;AACH;AAEA,SAASD,YAAYA,CAAES,CAAS,EAA0B;EACxD,MAAMC,KAAK,GAAGD,CAAC,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC;EAC3D,MAAMC,iBAAiB,GAAGN,KAAK,CAACL,MAAM,CAACQ,CAAC,IAAIA,CAAC,CAACI,UAAU,CAAC,GAAG,CAAC,CAAC;EAC9D,MAAMC,SAAS,GAAGR,KAAK,CAACL,MAAM,CAACQ,CAAC,IAAIA,CAAC,CAACM,QAAQ,CAAC,IAAI,CAAC,CAAC;EACrD,MAAMC,YAAY,GAAGV,KAAK,CAACL,MAAM,CAACQ,CAAC,IAAI,CAACG,iBAAiB,CAACR,QAAQ,CAACK,CAAC,CAAC,IAAI,CAACK,SAAS,CAACV,QAAQ,CAACK,CAAC,CAAC,CAAC;EAEhG,OAAQQ,IAAU,IAAc;IAC9B,MAAMC,SAAS,GAAGD,IAAI,CAACE,IAAI,CAACZ,KAAK,CAAC,GAAG,CAAC,CAACa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAET,WAAW,CAAC,CAAC,IAAI,EAAE;IAClE,MAAMU,SAAS,GAAGJ,IAAI,CAACK,IAAI,CAACf,KAAK,CAAC,GAAG,CAAC,CAACa,EAAE,CAAC,CAAC,CAAC,EAAET,WAAW,CAAC,CAAC,IAAI,EAAE;IACjE,OAAOK,YAAY,CAACZ,QAAQ,CAACa,IAAI,CAACK,IAAI,CAAC,IACrCV,iBAAiB,CAACR,QAAQ,CAAC,IAAIc,SAAS,EAAE,CAAC,IAC3CJ,SAAS,CAACV,QAAQ,CAAC,GAAGiB,SAAS,IAAI,CAAC;EACxC,CAAC;AACH","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.9.0-dev.2025-07-
|
19
|
+
export const version = "3.9.0-dev.2025-07-16";
|
20
20
|
createVuetify.version = version;
|
21
21
|
export { blueprints, components, directives };
|
22
22
|
export * from "./composables/index.js";
|
package/lib/framework.d.ts
CHANGED
@@ -2577,75 +2577,75 @@ declare module 'vue' {
|
|
2577
2577
|
$children?: VNodeChild
|
2578
2578
|
}
|
2579
2579
|
export interface GlobalComponents {
|
2580
|
+
VApp: typeof import('vuetify/components')['VApp']
|
2580
2581
|
VAlert: typeof import('vuetify/components')['VAlert']
|
2581
2582
|
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
2582
|
-
VApp: typeof import('vuetify/components')['VApp']
|
2583
|
-
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2584
2583
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
2585
2584
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
2586
2585
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
2587
|
-
VBadge: typeof import('vuetify/components')['VBadge']
|
2588
|
-
VBanner: typeof import('vuetify/components')['VBanner']
|
2589
|
-
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
2590
|
-
VBannerText: typeof import('vuetify/components')['VBannerText']
|
2591
2586
|
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2587
|
+
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2588
|
+
VBadge: typeof import('vuetify/components')['VBadge']
|
2592
2589
|
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2590
|
+
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
2593
2591
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
2594
2592
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
2595
2593
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
2596
|
-
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
2597
2594
|
VBtn: typeof import('vuetify/components')['VBtn']
|
2595
|
+
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
2598
2596
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
2599
2597
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
2600
|
-
VCarousel: typeof import('vuetify/components')['VCarousel']
|
2601
|
-
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2602
|
-
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
2603
|
-
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2604
2598
|
VCard: typeof import('vuetify/components')['VCard']
|
2605
2599
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
2606
2600
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
2607
2601
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
2608
2602
|
VCardText: typeof import('vuetify/components')['VCardText']
|
2609
2603
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
2610
|
-
|
2604
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2605
|
+
VCarousel: typeof import('vuetify/components')['VCarousel']
|
2606
|
+
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2611
2607
|
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2608
|
+
VChip: typeof import('vuetify/components')['VChip']
|
2612
2609
|
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2610
|
+
VCode: typeof import('vuetify/components')['VCode']
|
2611
|
+
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
2612
|
+
VDataTable: typeof import('vuetify/components')['VDataTable']
|
2613
|
+
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
2614
|
+
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
2615
|
+
VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
|
2616
|
+
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
2617
|
+
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
2618
|
+
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
2619
|
+
VCounter: typeof import('vuetify/components')['VCounter']
|
2620
|
+
VDialog: typeof import('vuetify/components')['VDialog']
|
2613
2621
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
2614
2622
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
2615
2623
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
2616
2624
|
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
2617
2625
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
2618
2626
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
2619
|
-
|
2620
|
-
|
2621
|
-
|
2627
|
+
VDivider: typeof import('vuetify/components')['VDivider']
|
2628
|
+
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
2629
|
+
VFab: typeof import('vuetify/components')['VFab']
|
2622
2630
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
2623
2631
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
2624
2632
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
2625
2633
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
2626
|
-
VDivider: typeof import('vuetify/components')['VDivider']
|
2627
|
-
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
2628
|
-
VDataTable: typeof import('vuetify/components')['VDataTable']
|
2629
|
-
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
2630
|
-
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
2631
|
-
VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
|
2632
|
-
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
2633
|
-
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
2634
|
-
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
2635
|
-
VDialog: typeof import('vuetify/components')['VDialog']
|
2636
2634
|
VField: typeof import('vuetify/components')['VField']
|
2637
2635
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
2638
2636
|
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2639
2637
|
VFooter: typeof import('vuetify/components')['VFooter']
|
2640
|
-
VFab: typeof import('vuetify/components')['VFab']
|
2641
|
-
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
2642
|
-
VItem: typeof import('vuetify/components')['VItem']
|
2643
2638
|
VImg: typeof import('vuetify/components')['VImg']
|
2644
|
-
|
2639
|
+
VIcon: typeof import('vuetify/components')['VIcon']
|
2640
|
+
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
2641
|
+
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
2642
|
+
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
2643
|
+
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
2645
2644
|
VKbd: typeof import('vuetify/components')['VKbd']
|
2646
|
-
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
2647
2645
|
VInput: typeof import('vuetify/components')['VInput']
|
2648
|
-
|
2646
|
+
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
2647
|
+
VItem: typeof import('vuetify/components')['VItem']
|
2648
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
2649
2649
|
VList: typeof import('vuetify/components')['VList']
|
2650
2650
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
2651
2651
|
VListImg: typeof import('vuetify/components')['VListImg']
|
@@ -2657,53 +2657,49 @@ declare module 'vue' {
|
|
2657
2657
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
2658
2658
|
VMain: typeof import('vuetify/components')['VMain']
|
2659
2659
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
2660
|
-
VIcon: typeof import('vuetify/components')['VIcon']
|
2661
|
-
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
2662
|
-
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
2663
|
-
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
2664
|
-
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
2665
2660
|
VMessages: typeof import('vuetify/components')['VMessages']
|
2666
|
-
|
2661
|
+
VMenu: typeof import('vuetify/components')['VMenu']
|
2667
2662
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
2668
|
-
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
2669
2663
|
VOverlay: typeof import('vuetify/components')['VOverlay']
|
2670
|
-
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
2671
2664
|
VPagination: typeof import('vuetify/components')['VPagination']
|
2665
|
+
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
2666
|
+
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
2667
|
+
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
2672
2668
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
2673
|
-
VSelect: typeof import('vuetify/components')['VSelect']
|
2674
|
-
VRating: typeof import('vuetify/components')['VRating']
|
2675
|
-
VSlider: typeof import('vuetify/components')['VSlider']
|
2676
2669
|
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
2677
|
-
|
2670
|
+
VRating: typeof import('vuetify/components')['VRating']
|
2671
|
+
VSelect: typeof import('vuetify/components')['VSelect']
|
2678
2672
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
2679
2673
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
2674
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2675
|
+
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
2676
|
+
VSlider: typeof import('vuetify/components')['VSlider']
|
2680
2677
|
VSheet: typeof import('vuetify/components')['VSheet']
|
2681
2678
|
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
2682
|
-
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2683
|
-
VTab: typeof import('vuetify/components')['VTab']
|
2684
|
-
VTabs: typeof import('vuetify/components')['VTabs']
|
2685
|
-
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
2686
|
-
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
2687
|
-
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2688
2679
|
VStepper: typeof import('vuetify/components')['VStepper']
|
2689
2680
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
2690
2681
|
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
2691
2682
|
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
2692
2683
|
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
2693
2684
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
2685
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2686
|
+
VSwitch: typeof import('vuetify/components')['VSwitch']
|
2694
2687
|
VTable: typeof import('vuetify/components')['VTable']
|
2688
|
+
VTab: typeof import('vuetify/components')['VTab']
|
2689
|
+
VTabs: typeof import('vuetify/components')['VTabs']
|
2690
|
+
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
2691
|
+
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
2692
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
2695
2693
|
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2696
|
-
|
2694
|
+
VTimePicker: typeof import('vuetify/components')['VTimePicker']
|
2695
|
+
VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
|
2696
|
+
VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
|
2697
2697
|
VTimeline: typeof import('vuetify/components')['VTimeline']
|
2698
2698
|
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
2699
2699
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
2700
2700
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
2701
2701
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
2702
2702
|
VTooltip: typeof import('vuetify/components')['VTooltip']
|
2703
|
-
VTimePicker: typeof import('vuetify/components')['VTimePicker']
|
2704
|
-
VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
|
2705
|
-
VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
|
2706
|
-
VTextField: typeof import('vuetify/components')['VTextField']
|
2707
2703
|
VTreeview: typeof import('vuetify/components')['VTreeview']
|
2708
2704
|
VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
|
2709
2705
|
VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
|
@@ -2712,25 +2708,29 @@ declare module 'vue' {
|
|
2712
2708
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
2713
2709
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
2714
2710
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
2715
|
-
VForm: typeof import('vuetify/components')['VForm']
|
2716
2711
|
VContainer: typeof import('vuetify/components')['VContainer']
|
2717
2712
|
VCol: typeof import('vuetify/components')['VCol']
|
2718
2713
|
VRow: typeof import('vuetify/components')['VRow']
|
2719
2714
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
2720
|
-
|
2715
|
+
VHover: typeof import('vuetify/components')['VHover']
|
2721
2716
|
VLayout: typeof import('vuetify/components')['VLayout']
|
2722
2717
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
2723
|
-
|
2718
|
+
VForm: typeof import('vuetify/components')['VForm']
|
2724
2719
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
2725
|
-
|
2720
|
+
VLazy: typeof import('vuetify/components')['VLazy']
|
2726
2721
|
VParallax: typeof import('vuetify/components')['VParallax']
|
2727
2722
|
VRadio: typeof import('vuetify/components')['VRadio']
|
2728
|
-
|
2723
|
+
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
2724
|
+
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
2729
2725
|
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
2726
|
+
VResponsive: typeof import('vuetify/components')['VResponsive']
|
2727
|
+
VBanner: typeof import('vuetify/components')['VBanner']
|
2728
|
+
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
2729
|
+
VBannerText: typeof import('vuetify/components')['VBannerText']
|
2730
2730
|
VSparkline: typeof import('vuetify/components')['VSparkline']
|
2731
2731
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
2732
|
-
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
2733
2732
|
VValidation: typeof import('vuetify/components')['VValidation']
|
2733
|
+
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
2734
2734
|
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
2735
2735
|
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
2736
2736
|
VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
|
@@ -2748,25 +2748,25 @@ declare module 'vue' {
|
|
2748
2748
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
2749
2749
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
2750
2750
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
2751
|
-
|
2752
|
-
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2753
|
-
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2754
|
-
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
2751
|
+
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
2755
2752
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
2756
2753
|
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
2757
2754
|
VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
|
2758
2755
|
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
2759
2756
|
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
2760
2757
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
2758
|
+
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
2761
2759
|
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2760
|
+
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2761
|
+
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2762
|
+
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2763
|
+
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2762
2764
|
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
2763
2765
|
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
2764
2766
|
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
2765
|
-
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2766
|
-
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2767
2767
|
VHotkey: typeof import('vuetify/labs/components')['VHotkey']
|
2768
|
-
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
2769
2768
|
VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
|
2769
|
+
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
2770
2770
|
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
2771
2771
|
}
|
2772
2772
|
export interface GlobalDirectives {
|
package/lib/framework.js
CHANGED