@vuetify/nightly 3.8.11-master.2025-06-24 → 3.8.11-master.2025-06-30
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 +20 -3
- package/dist/json/attributes.json +926 -926
- package/dist/json/importMap-labs.json +20 -20
- package/dist/json/importMap.json +128 -128
- package/dist/json/web-types.json +1587 -1587
- package/dist/vuetify-labs.cjs +30 -29
- package/dist/vuetify-labs.css +4863 -4863
- package/dist/vuetify-labs.d.ts +186 -186
- package/dist/vuetify-labs.esm.js +30 -29
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +30 -29
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +13 -13
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3384 -3384
- package/dist/vuetify.d.ts +43 -43
- package/dist/vuetify.esm.js +13 -13
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +13 -13
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +9 -10
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataTable/VDataTableColumn.js +0 -1
- package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.js +5 -5
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDataTable/composables/sort.js +2 -1
- package/lib/components/VDataTable/composables/sort.js.map +1 -1
- package/lib/components/VOverlay/locationStrategies.js +1 -1
- package/lib/components/VOverlay/locationStrategies.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +1 -1
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/composables/virtual.js +1 -1
- package/lib/composables/virtual.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +43 -43
- package/lib/framework.js +1 -1
- package/lib/labs/VCalendar/VCalendar.d.ts +33 -33
- package/lib/labs/VCalendar/VCalendar.js +1 -1
- package/lib/labs/VCalendar/VCalendar.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarDay.d.ts +33 -33
- package/lib/labs/VCalendar/VCalendarDay.js +1 -1
- package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarInterval.d.ts +36 -36
- package/lib/labs/VCalendar/VCalendarInterval.js +9 -9
- package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.d.ts +12 -12
- package/lib/labs/VCalendar/VCalendarIntervalEvent.js +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +36 -36
- package/lib/labs/VCalendar/VCalendarMonthDay.js +4 -4
- package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
- package/lib/labs/VIconBtn/VIconBtn.js +1 -0
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"virtual.js","names":["useDisplay","useResizeObserver","computed","nextTick","onScopeDispose","ref","shallowRef","watch","watchEffect","clamp","debounce","getPropertyFromItem","IN_BROWSER","propsFactory","UP","DOWN","BUFFER_PX","makeVirtualProps","itemHeight","type","Number","String","default","itemKey","Array","Function","height","useVirtual","props","items","display","value","parseFloat","first","last","Math","ceil","parseInt","paddingTop","paddingBottom","containerRef","markerRef","markerOffset","resizeRef","contentRect","viewportHeight","document","documentElement","hasInitialRender","sizes","from","length","offsets","updateTime","targetScrollIndex","getSize","index","updateOffsets","start","performance","now","i","max","unwatch","v","offsetTop","immediate","calculateVisibleItems","window","requestAnimationFrame","scrollToIndex","clear","handleItemResize","prevHeight","prevMinHeight","min","calculateOffset","calculateIndex","scrollTop","binaryClosest","lastScrollTop","scrollVelocity","lastScrollTime","val","oldVal","scrollTimeout","handleScroll","scrollTime","scrollDeltaT","sign","clearTimeout","setTimeout","handleScrollend","raf","cancelAnimationFrame","_calculateVisibleItems","direction","startPx","endPx","end","topOverflow","bottomOverflow","bufferOverflow","offset","computedItems","slice","map","item","_index","raw","key","deep","arr","high","low","mid","target"],"sources":["../../src/composables/virtual.ts"],"sourcesContent":["// Composables\nimport { useDisplay } from '@/composables/display'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, nextTick, onScopeDispose, ref, shallowRef, watch, watchEffect } from 'vue'\nimport { clamp, debounce, getPropertyFromItem, IN_BROWSER, propsFactory } from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { SelectItemKey } from '@/util'\n\nconst UP = -1\nconst DOWN = 1\n\n/** Determines how large each batch of items should be */\nconst BUFFER_PX = 100\n\ntype VirtualProps = {\n itemHeight: number | string | null | undefined\n itemKey: SelectItemKey\n height: number | string | undefined\n}\n\nexport const makeVirtualProps = propsFactory({\n itemHeight: {\n type: [Number, String],\n default: null,\n },\n itemKey: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: null,\n },\n height: [Number, String],\n}, 'virtual')\n\nexport function useVirtual <T> (props: VirtualProps, items: Ref<readonly T[]>) {\n const display = useDisplay()\n\n const itemHeight = shallowRef(0)\n watchEffect(() => {\n itemHeight.value = parseFloat(props.itemHeight || 0)\n })\n\n const first = shallowRef(0)\n const last = shallowRef(Math.ceil(\n // Assume 16px items filling the entire screen height if\n // not provided. This is probably incorrect but it minimises\n // the chance of ending up with empty space at the bottom.\n // The default value is set here to avoid poisoning getSize()\n (parseInt(props.height!) || display.height.value) / (itemHeight.value || 16)\n ) || 1)\n const paddingTop = shallowRef(0)\n const paddingBottom = shallowRef(0)\n\n /** The scrollable element */\n const containerRef = ref<HTMLElement>()\n /** An element marking the top of the scrollable area,\n * used to add an offset if there's padding or other elements above the virtual list */\n const markerRef = ref<HTMLElement>()\n /** markerRef's offsetTop, lazily evaluated */\n let markerOffset = 0\n\n const { resizeRef, contentRect } = useResizeObserver()\n watchEffect(() => {\n resizeRef.value = containerRef.value\n })\n const viewportHeight = computed(() => {\n return containerRef.value === document.documentElement\n ? display.height.value\n : contentRect.value?.height || parseInt(props.height!) || 0\n })\n /** All static elements have been rendered and we have an assumed item height */\n const hasInitialRender = computed(() => {\n return !!(containerRef.value && markerRef.value && viewportHeight.value && itemHeight.value)\n })\n\n let sizes = Array.from<number | null>({ length: items.value.length })\n let offsets = Array.from<number>({ length: items.value.length })\n const updateTime = shallowRef(0)\n let targetScrollIndex = -1\n\n function getSize (index: number) {\n return sizes[index] || itemHeight.value\n }\n\n const updateOffsets = debounce(() => {\n const start = performance.now()\n offsets[0] = 0\n const length = items.value.length\n for (let i = 1; i <= length - 1; i++) {\n offsets[i] = (offsets[i - 1] || 0) + getSize(i - 1)\n }\n updateTime.value = Math.max(updateTime.value, performance.now() - start)\n }, updateTime)\n\n const unwatch = watch(hasInitialRender, v => {\n if (!v) return\n // First render is complete, update offsets and visible\n // items in case our assumed item height was incorrect\n\n unwatch()\n markerOffset = markerRef.value!.offsetTop\n updateOffsets.immediate()\n calculateVisibleItems()\n\n if (!~targetScrollIndex) return\n\n nextTick(() => {\n IN_BROWSER && window.requestAnimationFrame(() => {\n scrollToIndex(targetScrollIndex)\n targetScrollIndex = -1\n })\n })\n })\n\n onScopeDispose(() => {\n updateOffsets.clear()\n })\n\n function handleItemResize (index: number, height: number) {\n const prevHeight = sizes[index]\n const prevMinHeight = itemHeight.value\n\n itemHeight.value = prevMinHeight ? Math.min(itemHeight.value, height) : height\n\n if (prevHeight !== height || prevMinHeight !== itemHeight.value) {\n sizes[index] = height\n updateOffsets()\n }\n }\n\n function calculateOffset (index: number) {\n index = clamp(index, 0, items.value.length - 1)\n return offsets[index] || 0\n }\n\n function calculateIndex (scrollTop: number) {\n return binaryClosest(offsets, scrollTop)\n }\n\n let lastScrollTop = 0\n let scrollVelocity = 0\n let lastScrollTime = 0\n\n watch(viewportHeight, (val, oldVal) => {\n if (oldVal) {\n calculateVisibleItems()\n if (val < oldVal) {\n requestAnimationFrame(() => {\n scrollVelocity = 0\n calculateVisibleItems()\n })\n }\n }\n })\n\n let scrollTimeout = -1\n function handleScroll () {\n if (!containerRef.value || !markerRef.value) return\n\n const scrollTop = containerRef.value.scrollTop\n const scrollTime = performance.now()\n const scrollDeltaT = scrollTime - lastScrollTime\n\n if (scrollDeltaT > 500) {\n scrollVelocity = Math.sign(scrollTop - lastScrollTop)\n\n // Not super important, only update at the\n // start of a scroll sequence to avoid reflows\n markerOffset = markerRef.value.offsetTop\n } else {\n scrollVelocity = scrollTop - lastScrollTop\n }\n\n lastScrollTop = scrollTop\n lastScrollTime = scrollTime\n\n window.clearTimeout(scrollTimeout)\n scrollTimeout = window.setTimeout(handleScrollend, 500)\n\n calculateVisibleItems()\n }\n function handleScrollend () {\n if (!containerRef.value || !markerRef.value) return\n\n scrollVelocity = 0\n lastScrollTime = 0\n\n window.clearTimeout(scrollTimeout)\n calculateVisibleItems()\n }\n\n let raf = -1\n function calculateVisibleItems () {\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(_calculateVisibleItems)\n }\n function _calculateVisibleItems () {\n if (!containerRef.value || !viewportHeight.value) return\n const scrollTop = lastScrollTop - markerOffset\n const direction = Math.sign(scrollVelocity)\n\n const startPx = Math.max(0, scrollTop - BUFFER_PX)\n const start = clamp(calculateIndex(startPx), 0, items.value.length)\n\n const endPx = scrollTop + viewportHeight.value + BUFFER_PX\n const end = clamp(calculateIndex(endPx) + 1, start + 1, items.value.length)\n\n if (\n // Only update the side we're scrolling towards,\n // the other side will be updated incidentally\n (direction !== UP || start < first.value) &&\n (direction !== DOWN || end > last.value)\n ) {\n const topOverflow = calculateOffset(first.value) - calculateOffset(start)\n const bottomOverflow = calculateOffset(end) - calculateOffset(last.value)\n const bufferOverflow = Math.max(topOverflow, bottomOverflow)\n\n if (bufferOverflow > BUFFER_PX) {\n first.value = start\n last.value = end\n } else {\n // Only update the side that's reached its limit if there's still buffer left\n if (start <= 0) first.value = start\n if (end >= items.value.length) last.value = end\n }\n }\n\n paddingTop.value = calculateOffset(first.value)\n paddingBottom.value = calculateOffset(items.value.length) - calculateOffset(last.value)\n }\n\n function scrollToIndex (index: number) {\n const offset = calculateOffset(index)\n if (!containerRef.value || (index && !offset)) {\n targetScrollIndex = index\n } else {\n containerRef.value.scrollTop = offset\n }\n }\n\n const computedItems = computed(() => {\n return items.value.slice(first.value, last.value).map((item, index) => {\n const _index = index + first.value\n return {\n raw: item,\n index: _index,\n key: getPropertyFromItem(item, props.itemKey, _index),\n }\n })\n })\n\n watch(items, () => {\n sizes = Array.from({ length: items.value.length })\n offsets = Array.from({ length: items.value.length })\n updateOffsets.immediate()\n calculateVisibleItems()\n }, { deep: 1 })\n\n return {\n calculateVisibleItems,\n containerRef,\n markerRef,\n computedItems,\n paddingTop,\n paddingBottom,\n scrollToIndex,\n handleScroll,\n handleScrollend,\n handleItemResize,\n }\n}\n\n// https://gist.github.com/robertleeplummerjr/1cc657191d34ecd0a324\nfunction binaryClosest (arr: ArrayLike<number>, val: number) {\n let high = arr.length - 1\n let low = 0\n let mid = 0\n let item = null\n let target = -1\n\n if (arr[high]! < val) {\n return high\n }\n\n while (low <= high) {\n mid = (low + high) >> 1\n item = arr[mid]!\n\n if (item > val) {\n high = mid - 1\n } else if (item < val) {\n target = mid\n low = mid + 1\n } else if (item === val) {\n return mid\n } else {\n return low\n }\n }\n\n return target\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"virtual.js","names":["useDisplay","useResizeObserver","computed","nextTick","onScopeDispose","ref","shallowRef","watch","watchEffect","clamp","debounce","getPropertyFromItem","IN_BROWSER","propsFactory","UP","DOWN","BUFFER_PX","makeVirtualProps","itemHeight","type","Number","String","default","itemKey","Array","Function","height","useVirtual","props","items","display","value","parseFloat","first","last","Math","ceil","parseInt","paddingTop","paddingBottom","containerRef","markerRef","markerOffset","resizeRef","contentRect","viewportHeight","document","documentElement","hasInitialRender","sizes","from","length","offsets","updateTime","targetScrollIndex","getSize","index","updateOffsets","start","performance","now","i","max","unwatch","v","offsetTop","immediate","calculateVisibleItems","window","requestAnimationFrame","scrollToIndex","clear","handleItemResize","prevHeight","prevMinHeight","min","calculateOffset","calculateIndex","scrollTop","binaryClosest","lastScrollTop","scrollVelocity","lastScrollTime","val","oldVal","scrollTimeout","handleScroll","scrollTime","scrollDeltaT","sign","clearTimeout","setTimeout","handleScrollend","raf","cancelAnimationFrame","_calculateVisibleItems","direction","startPx","endPx","end","topOverflow","bottomOverflow","bufferOverflow","offset","computedItems","slice","map","item","_index","raw","key","deep","arr","high","low","mid","target"],"sources":["../../src/composables/virtual.ts"],"sourcesContent":["// Composables\nimport { useDisplay } from '@/composables/display'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, nextTick, onScopeDispose, ref, shallowRef, watch, watchEffect } from 'vue'\nimport { clamp, debounce, getPropertyFromItem, IN_BROWSER, propsFactory } from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { SelectItemKey } from '@/util'\n\nconst UP = -1\nconst DOWN = 1\n\n/** Determines how large each batch of items should be */\nconst BUFFER_PX = 100\n\ntype VirtualProps = {\n itemHeight: number | string | null | undefined\n itemKey: SelectItemKey\n height: number | string | undefined\n}\n\nexport const makeVirtualProps = propsFactory({\n itemHeight: {\n type: [Number, String],\n default: null,\n },\n itemKey: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: null,\n },\n height: [Number, String],\n}, 'virtual')\n\nexport function useVirtual <T> (props: VirtualProps, items: Ref<readonly T[]>) {\n const display = useDisplay()\n\n const itemHeight = shallowRef(0)\n watchEffect(() => {\n itemHeight.value = parseFloat(props.itemHeight || 0)\n })\n\n const first = shallowRef(0)\n const last = shallowRef(Math.ceil(\n // Assume 16px items filling the entire screen height if\n // not provided. This is probably incorrect but it minimises\n // the chance of ending up with empty space at the bottom.\n // The default value is set here to avoid poisoning getSize()\n (parseInt(props.height!) || display.height.value) / (itemHeight.value || 16)\n ) || 1)\n const paddingTop = shallowRef(0)\n const paddingBottom = shallowRef(0)\n\n /** The scrollable element */\n const containerRef = ref<HTMLElement>()\n /** An element marking the top of the scrollable area,\n * used to add an offset if there's padding or other elements above the virtual list */\n const markerRef = ref<HTMLElement>()\n /** markerRef's offsetTop, lazily evaluated */\n let markerOffset = 0\n\n const { resizeRef, contentRect } = useResizeObserver()\n watchEffect(() => {\n resizeRef.value = containerRef.value\n })\n const viewportHeight = computed(() => {\n return containerRef.value === document.documentElement\n ? display.height.value\n : contentRect.value?.height || parseInt(props.height!) || 0\n })\n /** All static elements have been rendered and we have an assumed item height */\n const hasInitialRender = computed(() => {\n return !!(containerRef.value && markerRef.value && viewportHeight.value && itemHeight.value)\n })\n\n let sizes = Array.from<number | null>({ length: items.value.length })\n let offsets = Array.from<number>({ length: items.value.length })\n const updateTime = shallowRef(0)\n let targetScrollIndex = -1\n\n function getSize (index: number) {\n return sizes[index] || itemHeight.value\n }\n\n const updateOffsets = debounce(() => {\n const start = performance.now()\n offsets[0] = 0\n const length = items.value.length\n for (let i = 1; i <= length - 1; i++) {\n offsets[i] = (offsets[i - 1] || 0) + getSize(i - 1)\n }\n updateTime.value = Math.max(updateTime.value, performance.now() - start)\n }, updateTime)\n\n const unwatch = watch(hasInitialRender, v => {\n if (!v) return\n // First render is complete, update offsets and visible\n // items in case our assumed item height was incorrect\n\n unwatch()\n markerOffset = markerRef.value!.offsetTop\n updateOffsets.immediate()\n calculateVisibleItems()\n\n if (!~targetScrollIndex) return\n\n nextTick(() => {\n IN_BROWSER && window.requestAnimationFrame(() => {\n scrollToIndex(targetScrollIndex)\n targetScrollIndex = -1\n })\n })\n })\n\n onScopeDispose(() => {\n updateOffsets.clear()\n })\n\n function handleItemResize (index: number, height: number) {\n const prevHeight = sizes[index]\n const prevMinHeight = itemHeight.value\n\n itemHeight.value = prevMinHeight ? Math.min(itemHeight.value, height) : height\n\n if (prevHeight !== height || prevMinHeight !== itemHeight.value) {\n sizes[index] = height\n updateOffsets()\n }\n }\n\n function calculateOffset (index: number) {\n index = clamp(index, 0, items.value.length - 1)\n return offsets[index] || 0\n }\n\n function calculateIndex (scrollTop: number) {\n return binaryClosest(offsets, scrollTop)\n }\n\n let lastScrollTop = 0\n let scrollVelocity = 0\n let lastScrollTime = 0\n\n watch(viewportHeight, (val, oldVal) => {\n if (oldVal) {\n calculateVisibleItems()\n if (val < oldVal) {\n requestAnimationFrame(() => {\n scrollVelocity = 0\n calculateVisibleItems()\n })\n }\n }\n })\n\n let scrollTimeout = -1\n function handleScroll () {\n if (!containerRef.value || !markerRef.value) return\n\n const scrollTop = containerRef.value.scrollTop\n const scrollTime = performance.now()\n const scrollDeltaT = scrollTime - lastScrollTime\n\n if (scrollDeltaT > 500) {\n scrollVelocity = Math.sign(scrollTop - lastScrollTop)\n\n // Not super important, only update at the\n // start of a scroll sequence to avoid reflows\n markerOffset = markerRef.value.offsetTop\n } else {\n scrollVelocity = scrollTop - lastScrollTop\n }\n\n lastScrollTop = scrollTop\n lastScrollTime = scrollTime\n\n window.clearTimeout(scrollTimeout)\n scrollTimeout = window.setTimeout(handleScrollend, 500)\n\n calculateVisibleItems()\n }\n function handleScrollend () {\n if (!containerRef.value || !markerRef.value) return\n\n scrollVelocity = 0\n lastScrollTime = 0\n\n window.clearTimeout(scrollTimeout)\n calculateVisibleItems()\n }\n\n let raf = -1\n function calculateVisibleItems () {\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(_calculateVisibleItems)\n }\n function _calculateVisibleItems () {\n if (!containerRef.value || !viewportHeight.value || !itemHeight.value) return\n const scrollTop = lastScrollTop - markerOffset\n const direction = Math.sign(scrollVelocity)\n\n const startPx = Math.max(0, scrollTop - BUFFER_PX)\n const start = clamp(calculateIndex(startPx), 0, items.value.length)\n\n const endPx = scrollTop + viewportHeight.value + BUFFER_PX\n const end = clamp(calculateIndex(endPx) + 1, start + 1, items.value.length)\n\n if (\n // Only update the side we're scrolling towards,\n // the other side will be updated incidentally\n (direction !== UP || start < first.value) &&\n (direction !== DOWN || end > last.value)\n ) {\n const topOverflow = calculateOffset(first.value) - calculateOffset(start)\n const bottomOverflow = calculateOffset(end) - calculateOffset(last.value)\n const bufferOverflow = Math.max(topOverflow, bottomOverflow)\n\n if (bufferOverflow > BUFFER_PX) {\n first.value = start\n last.value = end\n } else {\n // Only update the side that's reached its limit if there's still buffer left\n if (start <= 0) first.value = start\n if (end >= items.value.length) last.value = end\n }\n }\n\n paddingTop.value = calculateOffset(first.value)\n paddingBottom.value = calculateOffset(items.value.length) - calculateOffset(last.value)\n }\n\n function scrollToIndex (index: number) {\n const offset = calculateOffset(index)\n if (!containerRef.value || (index && !offset)) {\n targetScrollIndex = index\n } else {\n containerRef.value.scrollTop = offset\n }\n }\n\n const computedItems = computed(() => {\n return items.value.slice(first.value, last.value).map((item, index) => {\n const _index = index + first.value\n return {\n raw: item,\n index: _index,\n key: getPropertyFromItem(item, props.itemKey, _index),\n }\n })\n })\n\n watch(items, () => {\n sizes = Array.from({ length: items.value.length })\n offsets = Array.from({ length: items.value.length })\n updateOffsets.immediate()\n calculateVisibleItems()\n }, { deep: 1 })\n\n return {\n calculateVisibleItems,\n containerRef,\n markerRef,\n computedItems,\n paddingTop,\n paddingBottom,\n scrollToIndex,\n handleScroll,\n handleScrollend,\n handleItemResize,\n }\n}\n\n// https://gist.github.com/robertleeplummerjr/1cc657191d34ecd0a324\nfunction binaryClosest (arr: ArrayLike<number>, val: number) {\n let high = arr.length - 1\n let low = 0\n let mid = 0\n let item = null\n let target = -1\n\n if (arr[high]! < val) {\n return high\n }\n\n while (low <= high) {\n mid = (low + high) >> 1\n item = arr[mid]!\n\n if (item > val) {\n high = mid - 1\n } else if (item < val) {\n target = mid\n low = mid + 1\n } else if (item === val) {\n return mid\n } else {\n return low\n }\n }\n\n return target\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.8.11-master.2025-06-
|
19
|
+
export const version = "3.8.11-master.2025-06-30";
|
20
20
|
createVuetify.version = version;
|
21
21
|
export { blueprints, components, directives };
|
22
22
|
export * from "./composables/index.js";
|
package/lib/framework.d.ts
CHANGED
@@ -2546,40 +2546,39 @@ declare module 'vue' {
|
|
2546
2546
|
}
|
2547
2547
|
export interface GlobalComponents {
|
2548
2548
|
VApp: typeof import('vuetify/components')['VApp']
|
2549
|
+
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2549
2550
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
2550
2551
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
2551
2552
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
2553
|
+
VAlert: typeof import('vuetify/components')['VAlert']
|
2554
|
+
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
2552
2555
|
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2553
|
-
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2554
|
-
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2555
2556
|
VBanner: typeof import('vuetify/components')['VBanner']
|
2556
2557
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
2557
2558
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
2558
|
-
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
2559
2559
|
VBadge: typeof import('vuetify/components')['VBadge']
|
2560
|
-
|
2560
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2561
2561
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
2562
2562
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
2563
2563
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
2564
2564
|
VBtn: typeof import('vuetify/components')['VBtn']
|
2565
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2566
|
+
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
2567
|
+
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
2568
|
+
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
2569
|
+
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
2565
2570
|
VCard: typeof import('vuetify/components')['VCard']
|
2566
2571
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
2567
2572
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
2568
2573
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
2569
2574
|
VCardText: typeof import('vuetify/components')['VCardText']
|
2570
2575
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
2571
|
-
VAlert: typeof import('vuetify/components')['VAlert']
|
2572
|
-
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
2573
|
-
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
2574
|
-
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
2575
|
-
VChip: typeof import('vuetify/components')['VChip']
|
2576
|
-
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2577
|
-
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2578
|
-
VCode: typeof import('vuetify/components')['VCode']
|
2579
|
-
VCounter: typeof import('vuetify/components')['VCounter']
|
2580
2576
|
VCarousel: typeof import('vuetify/components')['VCarousel']
|
2581
2577
|
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2578
|
+
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
2582
2579
|
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2580
|
+
VCode: typeof import('vuetify/components')['VCode']
|
2581
|
+
VChip: typeof import('vuetify/components')['VChip']
|
2583
2582
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
2584
2583
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
2585
2584
|
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
@@ -2587,22 +2586,24 @@ declare module 'vue' {
|
|
2587
2586
|
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
2588
2587
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
2589
2588
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
2590
|
-
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
2591
2589
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
2592
2590
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
2593
2591
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
2594
2592
|
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
2595
2593
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
2596
2594
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
2595
|
+
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2597
2596
|
VDialog: typeof import('vuetify/components')['VDialog']
|
2598
|
-
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
2599
2597
|
VDivider: typeof import('vuetify/components')['VDivider']
|
2600
|
-
|
2598
|
+
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
2599
|
+
VFab: typeof import('vuetify/components')['VFab']
|
2601
2600
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
2602
2601
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
2603
2602
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
2604
2603
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
2605
|
-
|
2604
|
+
VCounter: typeof import('vuetify/components')['VCounter']
|
2605
|
+
VFooter: typeof import('vuetify/components')['VFooter']
|
2606
|
+
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2606
2607
|
VField: typeof import('vuetify/components')['VField']
|
2607
2608
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
2608
2609
|
VIcon: typeof import('vuetify/components')['VIcon']
|
@@ -2610,14 +2611,13 @@ declare module 'vue' {
|
|
2610
2611
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
2611
2612
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
2612
2613
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
2613
|
-
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2614
2614
|
VImg: typeof import('vuetify/components')['VImg']
|
2615
|
-
VInput: typeof import('vuetify/components')['VInput']
|
2616
2615
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
2617
2616
|
VItem: typeof import('vuetify/components')['VItem']
|
2617
|
+
VInput: typeof import('vuetify/components')['VInput']
|
2618
2618
|
VKbd: typeof import('vuetify/components')['VKbd']
|
2619
|
-
VLabel: typeof import('vuetify/components')['VLabel']
|
2620
2619
|
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
2620
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
2621
2621
|
VList: typeof import('vuetify/components')['VList']
|
2622
2622
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
2623
2623
|
VListImg: typeof import('vuetify/components')['VListImg']
|
@@ -2627,56 +2627,58 @@ declare module 'vue' {
|
|
2627
2627
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
2628
2628
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
2629
2629
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
2630
|
-
VMenu: typeof import('vuetify/components')['VMenu']
|
2631
2630
|
VMain: typeof import('vuetify/components')['VMain']
|
2632
2631
|
VMessages: typeof import('vuetify/components')['VMessages']
|
2633
|
-
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
2634
2632
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
2635
|
-
|
2636
|
-
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
2633
|
+
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
2637
2634
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
2638
2635
|
VOverlay: typeof import('vuetify/components')['VOverlay']
|
2636
|
+
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
2637
|
+
VPagination: typeof import('vuetify/components')['VPagination']
|
2638
|
+
VRating: typeof import('vuetify/components')['VRating']
|
2639
2639
|
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
2640
2640
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
2641
|
-
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2642
|
-
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
2643
|
-
VRating: typeof import('vuetify/components')['VRating']
|
2644
|
-
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
2645
|
-
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
2646
|
-
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
2647
2641
|
VSelect: typeof import('vuetify/components')['VSelect']
|
2642
|
+
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
2643
|
+
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
2644
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2648
2645
|
VSheet: typeof import('vuetify/components')['VSheet']
|
2649
2646
|
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
2647
|
+
VSlider: typeof import('vuetify/components')['VSlider']
|
2648
|
+
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
2649
|
+
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
2650
2650
|
VStepper: typeof import('vuetify/components')['VStepper']
|
2651
2651
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
2652
2652
|
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
2653
2653
|
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
2654
2654
|
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
2655
2655
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
2656
|
-
VSlider: typeof import('vuetify/components')['VSlider']
|
2657
2656
|
VSwitch: typeof import('vuetify/components')['VSwitch']
|
2657
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2658
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
2658
2659
|
VTab: typeof import('vuetify/components')['VTab']
|
2659
2660
|
VTabs: typeof import('vuetify/components')['VTabs']
|
2660
2661
|
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
2661
2662
|
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
2662
|
-
|
2663
|
-
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2663
|
+
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2664
2664
|
VTimeline: typeof import('vuetify/components')['VTimeline']
|
2665
2665
|
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
2666
|
+
VTable: typeof import('vuetify/components')['VTable']
|
2666
2667
|
VTooltip: typeof import('vuetify/components')['VTooltip']
|
2667
2668
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
2668
2669
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
2669
2670
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
2670
2671
|
VWindow: typeof import('vuetify/components')['VWindow']
|
2671
2672
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
2673
|
+
VMenu: typeof import('vuetify/components')['VMenu']
|
2674
|
+
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
2672
2675
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
2673
2676
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
2674
|
-
|
2677
|
+
VForm: typeof import('vuetify/components')['VForm']
|
2675
2678
|
VContainer: typeof import('vuetify/components')['VContainer']
|
2676
2679
|
VCol: typeof import('vuetify/components')['VCol']
|
2677
2680
|
VRow: typeof import('vuetify/components')['VRow']
|
2678
2681
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
2679
|
-
VForm: typeof import('vuetify/components')['VForm']
|
2680
2682
|
VHover: typeof import('vuetify/components')['VHover']
|
2681
2683
|
VLayout: typeof import('vuetify/components')['VLayout']
|
2682
2684
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
@@ -2692,9 +2694,6 @@ declare module 'vue' {
|
|
2692
2694
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
2693
2695
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
2694
2696
|
VValidation: typeof import('vuetify/components')['VValidation']
|
2695
|
-
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
2696
|
-
VTextField: typeof import('vuetify/components')['VTextField']
|
2697
|
-
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2698
2697
|
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
2699
2698
|
VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
|
2700
2699
|
VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
|
@@ -2711,27 +2710,28 @@ declare module 'vue' {
|
|
2711
2710
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
2712
2711
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
2713
2712
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
2713
|
+
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
2714
|
+
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2715
|
+
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2714
2716
|
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
2717
|
+
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2718
|
+
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2715
2719
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
2716
2720
|
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
2717
2721
|
VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
|
2718
2722
|
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
2719
2723
|
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
2720
2724
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
2721
|
-
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2722
2725
|
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
2723
2726
|
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
2724
2727
|
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
2725
|
-
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2726
|
-
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2727
2728
|
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
2728
2729
|
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
2729
2730
|
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
2730
|
-
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2731
|
-
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2732
2731
|
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
2733
2732
|
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
2734
2733
|
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
2734
|
+
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2735
2735
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
2736
2736
|
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
2737
2737
|
}
|
package/lib/framework.js
CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
|
|
109
109
|
};
|
110
110
|
});
|
111
111
|
}
|
112
|
-
export const version = "3.8.11-master.2025-06-
|
112
|
+
export const version = "3.8.11-master.2025-06-30";
|
113
113
|
createVuetify.version = version;
|
114
114
|
|
115
115
|
// Vue's inject() can only be used in setup
|
@@ -315,7 +315,7 @@ export declare const VCalendar: {
|
|
315
315
|
dayIndex?: number | undefined;
|
316
316
|
} & {
|
317
317
|
$children?: {} | import("vue").VNodeChild | {
|
318
|
-
|
318
|
+
'interval-body'?: ((arg: {
|
319
319
|
interval: {
|
320
320
|
label: string;
|
321
321
|
start: unknown;
|
@@ -323,7 +323,7 @@ export declare const VCalendar: {
|
|
323
323
|
events: any[];
|
324
324
|
};
|
325
325
|
}) => import("vue").VNodeChild) | undefined;
|
326
|
-
|
326
|
+
'interval-event'?: ((arg: {
|
327
327
|
height: string;
|
328
328
|
margin: string;
|
329
329
|
eventClass: string;
|
@@ -335,7 +335,7 @@ export declare const VCalendar: {
|
|
335
335
|
events: any[];
|
336
336
|
};
|
337
337
|
}) => import("vue").VNodeChild) | undefined;
|
338
|
-
|
338
|
+
'interval-title'?: ((arg: {
|
339
339
|
interval: {
|
340
340
|
label: string;
|
341
341
|
start: unknown;
|
@@ -372,7 +372,7 @@ export declare const VCalendar: {
|
|
372
372
|
}) => import("vue").VNodeChild) | undefined;
|
373
373
|
};
|
374
374
|
'v-slots'?: {
|
375
|
-
|
375
|
+
'interval-body'?: false | ((arg: {
|
376
376
|
interval: {
|
377
377
|
label: string;
|
378
378
|
start: unknown;
|
@@ -380,7 +380,7 @@ export declare const VCalendar: {
|
|
380
380
|
events: any[];
|
381
381
|
};
|
382
382
|
}) => import("vue").VNodeChild) | undefined;
|
383
|
-
|
383
|
+
'interval-event'?: false | ((arg: {
|
384
384
|
height: string;
|
385
385
|
margin: string;
|
386
386
|
eventClass: string;
|
@@ -392,7 +392,7 @@ export declare const VCalendar: {
|
|
392
392
|
events: any[];
|
393
393
|
};
|
394
394
|
}) => import("vue").VNodeChild) | undefined;
|
395
|
-
|
395
|
+
'interval-title'?: false | ((arg: {
|
396
396
|
interval: {
|
397
397
|
label: string;
|
398
398
|
start: unknown;
|
@@ -429,7 +429,7 @@ export declare const VCalendar: {
|
|
429
429
|
}) => import("vue").VNodeChild) | undefined;
|
430
430
|
} | undefined;
|
431
431
|
} & {
|
432
|
-
"v-slot:
|
432
|
+
"v-slot:interval-body"?: false | ((arg: {
|
433
433
|
interval: {
|
434
434
|
label: string;
|
435
435
|
start: unknown;
|
@@ -437,7 +437,7 @@ export declare const VCalendar: {
|
|
437
437
|
events: any[];
|
438
438
|
};
|
439
439
|
}) => import("vue").VNodeChild) | undefined;
|
440
|
-
"v-slot:
|
440
|
+
"v-slot:interval-event"?: false | ((arg: {
|
441
441
|
height: string;
|
442
442
|
margin: string;
|
443
443
|
eventClass: string;
|
@@ -449,7 +449,7 @@ export declare const VCalendar: {
|
|
449
449
|
events: any[];
|
450
450
|
};
|
451
451
|
}) => import("vue").VNodeChild) | undefined;
|
452
|
-
"v-slot:
|
452
|
+
"v-slot:interval-title"?: false | ((arg: {
|
453
453
|
interval: {
|
454
454
|
label: string;
|
455
455
|
start: unknown;
|
@@ -519,7 +519,7 @@ export declare const VCalendar: {
|
|
519
519
|
intervals: number;
|
520
520
|
hideWeekNumber: boolean;
|
521
521
|
}, true, {}, import("vue").SlotsType<Partial<{
|
522
|
-
|
522
|
+
'interval-body': (arg: {
|
523
523
|
interval: {
|
524
524
|
label: string;
|
525
525
|
start: unknown;
|
@@ -527,7 +527,7 @@ export declare const VCalendar: {
|
|
527
527
|
events: any[];
|
528
528
|
};
|
529
529
|
}) => import("vue").VNode[];
|
530
|
-
|
530
|
+
'interval-event': (arg: {
|
531
531
|
height: string;
|
532
532
|
margin: string;
|
533
533
|
eventClass: string;
|
@@ -539,7 +539,7 @@ export declare const VCalendar: {
|
|
539
539
|
events: any[];
|
540
540
|
};
|
541
541
|
}) => import("vue").VNode[];
|
542
|
-
|
542
|
+
'interval-title': (arg: {
|
543
543
|
interval: {
|
544
544
|
label: string;
|
545
545
|
start: unknown;
|
@@ -614,7 +614,7 @@ export declare const VCalendar: {
|
|
614
614
|
dayIndex?: number | undefined;
|
615
615
|
} & {
|
616
616
|
$children?: {} | import("vue").VNodeChild | {
|
617
|
-
|
617
|
+
'interval-body'?: ((arg: {
|
618
618
|
interval: {
|
619
619
|
label: string;
|
620
620
|
start: unknown;
|
@@ -622,7 +622,7 @@ export declare const VCalendar: {
|
|
622
622
|
events: any[];
|
623
623
|
};
|
624
624
|
}) => import("vue").VNodeChild) | undefined;
|
625
|
-
|
625
|
+
'interval-event'?: ((arg: {
|
626
626
|
height: string;
|
627
627
|
margin: string;
|
628
628
|
eventClass: string;
|
@@ -634,7 +634,7 @@ export declare const VCalendar: {
|
|
634
634
|
events: any[];
|
635
635
|
};
|
636
636
|
}) => import("vue").VNodeChild) | undefined;
|
637
|
-
|
637
|
+
'interval-title'?: ((arg: {
|
638
638
|
interval: {
|
639
639
|
label: string;
|
640
640
|
start: unknown;
|
@@ -671,7 +671,7 @@ export declare const VCalendar: {
|
|
671
671
|
}) => import("vue").VNodeChild) | undefined;
|
672
672
|
};
|
673
673
|
'v-slots'?: {
|
674
|
-
|
674
|
+
'interval-body'?: false | ((arg: {
|
675
675
|
interval: {
|
676
676
|
label: string;
|
677
677
|
start: unknown;
|
@@ -679,7 +679,7 @@ export declare const VCalendar: {
|
|
679
679
|
events: any[];
|
680
680
|
};
|
681
681
|
}) => import("vue").VNodeChild) | undefined;
|
682
|
-
|
682
|
+
'interval-event'?: false | ((arg: {
|
683
683
|
height: string;
|
684
684
|
margin: string;
|
685
685
|
eventClass: string;
|
@@ -691,7 +691,7 @@ export declare const VCalendar: {
|
|
691
691
|
events: any[];
|
692
692
|
};
|
693
693
|
}) => import("vue").VNodeChild) | undefined;
|
694
|
-
|
694
|
+
'interval-title'?: false | ((arg: {
|
695
695
|
interval: {
|
696
696
|
label: string;
|
697
697
|
start: unknown;
|
@@ -728,7 +728,7 @@ export declare const VCalendar: {
|
|
728
728
|
}) => import("vue").VNodeChild) | undefined;
|
729
729
|
} | undefined;
|
730
730
|
} & {
|
731
|
-
"v-slot:
|
731
|
+
"v-slot:interval-body"?: false | ((arg: {
|
732
732
|
interval: {
|
733
733
|
label: string;
|
734
734
|
start: unknown;
|
@@ -736,7 +736,7 @@ export declare const VCalendar: {
|
|
736
736
|
events: any[];
|
737
737
|
};
|
738
738
|
}) => import("vue").VNodeChild) | undefined;
|
739
|
-
"v-slot:
|
739
|
+
"v-slot:interval-event"?: false | ((arg: {
|
740
740
|
height: string;
|
741
741
|
margin: string;
|
742
742
|
eventClass: string;
|
@@ -748,7 +748,7 @@ export declare const VCalendar: {
|
|
748
748
|
events: any[];
|
749
749
|
};
|
750
750
|
}) => import("vue").VNodeChild) | undefined;
|
751
|
-
"v-slot:
|
751
|
+
"v-slot:interval-title"?: false | ((arg: {
|
752
752
|
interval: {
|
753
753
|
label: string;
|
754
754
|
start: unknown;
|
@@ -849,7 +849,7 @@ export declare const VCalendar: {
|
|
849
849
|
dayIndex?: number | undefined;
|
850
850
|
} & {
|
851
851
|
$children?: {} | import("vue").VNodeChild | {
|
852
|
-
|
852
|
+
'interval-body'?: ((arg: {
|
853
853
|
interval: {
|
854
854
|
label: string;
|
855
855
|
start: unknown;
|
@@ -857,7 +857,7 @@ export declare const VCalendar: {
|
|
857
857
|
events: any[];
|
858
858
|
};
|
859
859
|
}) => import("vue").VNodeChild) | undefined;
|
860
|
-
|
860
|
+
'interval-event'?: ((arg: {
|
861
861
|
height: string;
|
862
862
|
margin: string;
|
863
863
|
eventClass: string;
|
@@ -869,7 +869,7 @@ export declare const VCalendar: {
|
|
869
869
|
events: any[];
|
870
870
|
};
|
871
871
|
}) => import("vue").VNodeChild) | undefined;
|
872
|
-
|
872
|
+
'interval-title'?: ((arg: {
|
873
873
|
interval: {
|
874
874
|
label: string;
|
875
875
|
start: unknown;
|
@@ -906,7 +906,7 @@ export declare const VCalendar: {
|
|
906
906
|
}) => import("vue").VNodeChild) | undefined;
|
907
907
|
};
|
908
908
|
'v-slots'?: {
|
909
|
-
|
909
|
+
'interval-body'?: false | ((arg: {
|
910
910
|
interval: {
|
911
911
|
label: string;
|
912
912
|
start: unknown;
|
@@ -914,7 +914,7 @@ export declare const VCalendar: {
|
|
914
914
|
events: any[];
|
915
915
|
};
|
916
916
|
}) => import("vue").VNodeChild) | undefined;
|
917
|
-
|
917
|
+
'interval-event'?: false | ((arg: {
|
918
918
|
height: string;
|
919
919
|
margin: string;
|
920
920
|
eventClass: string;
|
@@ -926,7 +926,7 @@ export declare const VCalendar: {
|
|
926
926
|
events: any[];
|
927
927
|
};
|
928
928
|
}) => import("vue").VNodeChild) | undefined;
|
929
|
-
|
929
|
+
'interval-title'?: false | ((arg: {
|
930
930
|
interval: {
|
931
931
|
label: string;
|
932
932
|
start: unknown;
|
@@ -963,7 +963,7 @@ export declare const VCalendar: {
|
|
963
963
|
}) => import("vue").VNodeChild) | undefined;
|
964
964
|
} | undefined;
|
965
965
|
} & {
|
966
|
-
"v-slot:
|
966
|
+
"v-slot:interval-body"?: false | ((arg: {
|
967
967
|
interval: {
|
968
968
|
label: string;
|
969
969
|
start: unknown;
|
@@ -971,7 +971,7 @@ export declare const VCalendar: {
|
|
971
971
|
events: any[];
|
972
972
|
};
|
973
973
|
}) => import("vue").VNodeChild) | undefined;
|
974
|
-
"v-slot:
|
974
|
+
"v-slot:interval-event"?: false | ((arg: {
|
975
975
|
height: string;
|
976
976
|
margin: string;
|
977
977
|
eventClass: string;
|
@@ -983,7 +983,7 @@ export declare const VCalendar: {
|
|
983
983
|
events: any[];
|
984
984
|
};
|
985
985
|
}) => import("vue").VNodeChild) | undefined;
|
986
|
-
"v-slot:
|
986
|
+
"v-slot:interval-title"?: false | ((arg: {
|
987
987
|
interval: {
|
988
988
|
label: string;
|
989
989
|
start: unknown;
|
@@ -1053,7 +1053,7 @@ export declare const VCalendar: {
|
|
1053
1053
|
intervals: number;
|
1054
1054
|
hideWeekNumber: boolean;
|
1055
1055
|
}, {}, string, import("vue").SlotsType<Partial<{
|
1056
|
-
|
1056
|
+
'interval-body': (arg: {
|
1057
1057
|
interval: {
|
1058
1058
|
label: string;
|
1059
1059
|
start: unknown;
|
@@ -1061,7 +1061,7 @@ export declare const VCalendar: {
|
|
1061
1061
|
events: any[];
|
1062
1062
|
};
|
1063
1063
|
}) => import("vue").VNode[];
|
1064
|
-
|
1064
|
+
'interval-event': (arg: {
|
1065
1065
|
height: string;
|
1066
1066
|
margin: string;
|
1067
1067
|
eventClass: string;
|
@@ -1073,7 +1073,7 @@ export declare const VCalendar: {
|
|
1073
1073
|
events: any[];
|
1074
1074
|
};
|
1075
1075
|
}) => import("vue").VNode[];
|
1076
|
-
|
1076
|
+
'interval-title': (arg: {
|
1077
1077
|
interval: {
|
1078
1078
|
label: string;
|
1079
1079
|
start: unknown;
|
@@ -136,7 +136,7 @@ export const VCalendar = genericComponent()({
|
|
136
136
|
"dayIndex": i,
|
137
137
|
"events": props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date))
|
138
138
|
}, attrs), {
|
139
|
-
...pick(slots, ['interval', '
|
139
|
+
...pick(slots, ['interval', 'interval-body', 'interval-event', 'interval-title'])
|
140
140
|
})), props.viewMode === 'day' && (slots['day-interval'] ? slots['day-interval']({
|
141
141
|
day: genDays([displayValue.value], adapter.date())[0],
|
142
142
|
dayIndex: 0,
|