@vuetify/nightly 3.7.0-master.2024-08-27 → 3.7.1-master.2024-08-28
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/dist/json/importMap-labs.json +22 -22
- package/dist/json/importMap.json +180 -180
- package/dist/json/web-types.json +1 -1
- package/dist/vuetify-labs.css +2591 -2579
- package/dist/vuetify-labs.esm.js +9 -11
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +9 -11
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +3984 -3972
- package/dist/vuetify.d.ts +57 -57
- package/dist/vuetify.esm.js +9 -11
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +9 -11
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +7 -7
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VInfiniteScroll/VInfiniteScroll.css +13 -1
- package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs +6 -8
- package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
- package/lib/components/VInfiniteScroll/VInfiniteScroll.sass +10 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +57 -57
- package/package.json +1 -1
@@ -5,7 +5,7 @@
|
|
5
5
|
}
|
6
6
|
.v-infinite-scroll--horizontal .v-infinite-scroll-intersect {
|
7
7
|
height: 100%;
|
8
|
-
width: 1px;
|
8
|
+
width: var(--v-infinite-margin-size, 1px);
|
9
9
|
}
|
10
10
|
|
11
11
|
.v-infinite-scroll--vertical {
|
@@ -18,6 +18,18 @@
|
|
18
18
|
width: 100%;
|
19
19
|
}
|
20
20
|
|
21
|
+
.v-infinite-scroll-intersect {
|
22
|
+
pointer-events: none;
|
23
|
+
margin-top: var(--v-infinite-margin);
|
24
|
+
margin-bottom: calc(var(--v-infinite-margin) * -1);
|
25
|
+
}
|
26
|
+
.v-infinite-scroll-intersect:nth-child(2) {
|
27
|
+
--v-infinite-margin: var(--v-infinite-margin-size, 1px);
|
28
|
+
}
|
29
|
+
.v-infinite-scroll-intersect:nth-last-child(2) {
|
30
|
+
--v-infinite-margin: calc(var(--v-infinite-margin-size, 1px) * -1);
|
31
|
+
}
|
32
|
+
|
21
33
|
.v-infinite-scroll__side {
|
22
34
|
align-items: center;
|
23
35
|
display: flex;
|
@@ -47,7 +47,6 @@ export const VInfiniteScrollIntersect = defineComponent({
|
|
47
47
|
type: String,
|
48
48
|
required: true
|
49
49
|
},
|
50
|
-
rootRef: null,
|
51
50
|
rootMargin: String
|
52
51
|
},
|
53
52
|
emits: {
|
@@ -60,14 +59,15 @@ export const VInfiniteScrollIntersect = defineComponent({
|
|
60
59
|
const {
|
61
60
|
intersectionRef,
|
62
61
|
isIntersecting
|
63
|
-
} = useIntersectionObserver(
|
64
|
-
rootMargin: props.rootMargin
|
65
|
-
} : undefined);
|
62
|
+
} = useIntersectionObserver();
|
66
63
|
watch(isIntersecting, async val => {
|
67
64
|
emit('intersect', props.side, val);
|
68
65
|
});
|
69
66
|
useRender(() => _createVNode("div", {
|
70
67
|
"class": "v-infinite-scroll-intersect",
|
68
|
+
"style": {
|
69
|
+
'--v-infinite-margin-size': props.rootMargin
|
70
|
+
},
|
71
71
|
"ref": intersectionRef
|
72
72
|
}, [_createTextVNode("\xA0")]));
|
73
73
|
return {};
|
@@ -218,17 +218,15 @@ export const VInfiniteScroll = genericComponent()({
|
|
218
218
|
}, {
|
219
219
|
default: () => [_createVNode("div", {
|
220
220
|
"class": "v-infinite-scroll__side"
|
221
|
-
}, [renderSide('start', startStatus.value)]),
|
221
|
+
}, [renderSide('start', startStatus.value)]), hasStartIntersect && intersectMode && _createVNode(VInfiniteScrollIntersect, {
|
222
222
|
"key": "start",
|
223
223
|
"side": "start",
|
224
224
|
"onIntersect": handleIntersect,
|
225
|
-
"rootRef": rootEl.value,
|
226
225
|
"rootMargin": margin.value
|
227
|
-
}, null), slots.default?.(),
|
226
|
+
}, null), slots.default?.(), hasEndIntersect && intersectMode && _createVNode(VInfiniteScrollIntersect, {
|
228
227
|
"key": "end",
|
229
228
|
"side": "end",
|
230
229
|
"onIntersect": handleIntersect,
|
231
|
-
"rootRef": rootEl.value,
|
232
230
|
"rootMargin": margin.value
|
233
231
|
}, null), _createVNode("div", {
|
234
232
|
"class": "v-infinite-scroll__side"
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VInfiniteScroll.mjs","names":["VBtn","VProgressCircular","makeDimensionProps","useDimension","useIntersectionObserver","useLocale","makeTagProps","computed","nextTick","onMounted","ref","shallowRef","watch","convertToUnit","defineComponent","genericComponent","propsFactory","useRender","makeVInfiniteScrollProps","color","String","direction","type","default","validator","v","includes","side","mode","margin","Number","loadMoreText","emptyText","VInfiniteScrollIntersect","name","props","required","rootRef","rootMargin","emits","intersect","isIntersecting","setup","_ref","emit","intersectionRef","entries","undefined","val","_createVNode","_createTextVNode","VInfiniteScroll","load","options","_ref2","slots","rootEl","startStatus","endStatus","setScrollAmount","amount","value","property","getScrollAmount","getScrollSize","getContainerSize","setStatus","status","getStatus","previousScrollSize","handleIntersect","_isIntersecting","intersecting","done","window","requestAnimationFrame","t","renderSide","onClick","slotProps","error","empty","loading","dimensionStyles","Tag","tag","hasStartIntersect","hasEndIntersect","intersectMode"],"sources":["../../../src/components/VInfiniteScroll/VInfiniteScroll.tsx"],"sourcesContent":["// Styles\nimport './VInfiniteScroll.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useLocale } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, nextTick, onMounted, ref, shallowRef, watch } from 'vue'\nimport { convertToUnit, defineComponent, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type InfiniteScrollSide = 'start' | 'end' | 'both'\nexport type InfiniteScrollStatus = 'ok' | 'empty' | 'loading' | 'error'\n\ntype InfiniteScrollSlot = {\n side: InfiniteScrollSide\n props: Record<string, any>\n}\n\ntype VInfiniteScrollSlots = {\n default: never\n loading: InfiniteScrollSlot\n error: InfiniteScrollSlot\n empty: InfiniteScrollSlot\n 'load-more': InfiniteScrollSlot\n}\n\nexport const makeVInfiniteScrollProps = propsFactory({\n color: String,\n direction: {\n type: String as PropType<'vertical' | 'horizontal'>,\n default: 'vertical',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n },\n side: {\n type: String as PropType<InfiniteScrollSide>,\n default: 'end',\n validator: (v: any) => ['start', 'end', 'both'].includes(v),\n },\n mode: {\n type: String as PropType<'intersect' | 'manual'>,\n default: 'intersect',\n validator: (v: any) => ['intersect', 'manual'].includes(v),\n },\n margin: [Number, String],\n loadMoreText: {\n type: String,\n default: '$vuetify.infiniteScroll.loadMore',\n },\n emptyText: {\n type: String,\n default: '$vuetify.infiniteScroll.empty',\n },\n\n ...makeDimensionProps(),\n ...makeTagProps(),\n}, 'VInfiniteScroll')\n\nexport const VInfiniteScrollIntersect = defineComponent({\n name: 'VInfiniteScrollIntersect',\n\n props: {\n side: {\n type: String as PropType<InfiniteScrollSide>,\n required: true,\n },\n rootRef: null,\n rootMargin: String,\n },\n\n emits: {\n intersect: (side: InfiniteScrollSide, isIntersecting: boolean) => true,\n },\n\n setup (props, { emit }) {\n const { intersectionRef, isIntersecting } = useIntersectionObserver(entries => {\n }, props.rootMargin ? {\n rootMargin: props.rootMargin,\n } : undefined)\n\n watch(isIntersecting, async val => {\n emit('intersect', props.side, val)\n })\n\n useRender(() => (\n <div class=\"v-infinite-scroll-intersect\" ref={ intersectionRef }> </div>\n ))\n\n return {}\n },\n})\n\nexport const VInfiniteScroll = genericComponent<VInfiniteScrollSlots>()({\n name: 'VInfiniteScroll',\n\n props: makeVInfiniteScrollProps(),\n\n emits: {\n load: (options: { side: InfiniteScrollSide, done: (status: InfiniteScrollStatus) => void }) => true,\n },\n\n setup (props, { slots, emit }) {\n const rootEl = ref<HTMLDivElement>()\n const startStatus = shallowRef<InfiniteScrollStatus>('ok')\n const endStatus = shallowRef<InfiniteScrollStatus>('ok')\n const margin = computed(() => convertToUnit(props.margin))\n const isIntersecting = shallowRef(false)\n\n function setScrollAmount (amount: number) {\n if (!rootEl.value) return\n\n const property = props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft'\n rootEl.value[property] = amount\n }\n\n function getScrollAmount () {\n if (!rootEl.value) return 0\n\n const property = props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft'\n return rootEl.value[property]\n }\n\n function getScrollSize () {\n if (!rootEl.value) return 0\n\n const property = props.direction === 'vertical' ? 'scrollHeight' : 'scrollWidth'\n return rootEl.value[property]\n }\n\n function getContainerSize () {\n if (!rootEl.value) return 0\n\n const property = props.direction === 'vertical' ? 'clientHeight' : 'clientWidth'\n return rootEl.value[property]\n }\n\n onMounted(() => {\n if (!rootEl.value) return\n\n if (props.side === 'start') {\n setScrollAmount(getScrollSize())\n } else if (props.side === 'both') {\n setScrollAmount(getScrollSize() / 2 - getContainerSize() / 2)\n }\n })\n\n function setStatus (side: InfiniteScrollSide, status: InfiniteScrollStatus) {\n if (side === 'start') {\n startStatus.value = status\n } else if (side === 'end') {\n endStatus.value = status\n }\n }\n\n function getStatus (side: string) {\n return side === 'start' ? startStatus.value : endStatus.value\n }\n\n let previousScrollSize = 0\n function handleIntersect (side: InfiniteScrollSide, _isIntersecting: boolean) {\n isIntersecting.value = _isIntersecting\n if (isIntersecting.value) {\n intersecting(side)\n }\n }\n\n function intersecting (side: InfiniteScrollSide) {\n if (props.mode !== 'manual' && !isIntersecting.value) return\n\n const status = getStatus(side)\n if (!rootEl.value || ['empty', 'loading'].includes(status)) return\n\n previousScrollSize = getScrollSize()\n setStatus(side, 'loading')\n\n function done (status: InfiniteScrollStatus) {\n setStatus(side, status)\n\n nextTick(() => {\n if (status === 'empty' || status === 'error') return\n\n if (status === 'ok' && side === 'start') {\n setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount())\n }\n if (props.mode !== 'manual') {\n nextTick(() => {\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n intersecting(side)\n })\n })\n })\n })\n }\n })\n }\n\n emit('load', { side, done })\n }\n\n const { t } = useLocale()\n\n function renderSide (side: InfiniteScrollSide, status: InfiniteScrollStatus) {\n if (props.side !== side && props.side !== 'both') return\n\n const onClick = () => intersecting(side)\n const slotProps = { side, props: { onClick, color: props.color } }\n\n if (status === 'error') return slots.error?.(slotProps)\n\n if (status === 'empty') return slots.empty?.(slotProps) ?? <div>{ t(props.emptyText) }</div>\n\n if (props.mode === 'manual') {\n if (status === 'loading') {\n return slots.loading?.(slotProps) ?? (\n <VProgressCircular indeterminate color={ props.color } />\n )\n }\n\n return slots['load-more']?.(slotProps) ?? (\n <VBtn variant=\"outlined\" color={ props.color } onClick={ onClick }>\n { t(props.loadMoreText) }\n </VBtn>\n )\n }\n\n return slots.loading?.(slotProps) ?? (\n <VProgressCircular indeterminate color={ props.color } />\n )\n }\n\n const { dimensionStyles } = useDimension(props)\n\n useRender(() => {\n const Tag = props.tag\n const hasStartIntersect = props.side === 'start' || props.side === 'both'\n const hasEndIntersect = props.side === 'end' || props.side === 'both'\n const intersectMode = props.mode === 'intersect'\n\n return (\n <Tag\n ref={ rootEl }\n class={[\n 'v-infinite-scroll',\n `v-infinite-scroll--${props.direction}`,\n {\n 'v-infinite-scroll--start': hasStartIntersect,\n 'v-infinite-scroll--end': hasEndIntersect,\n },\n ]}\n style={ dimensionStyles.value }\n >\n <div class=\"v-infinite-scroll__side\">\n { renderSide('start', startStatus.value) }\n </div>\n\n { rootEl.value && hasStartIntersect && intersectMode && (\n <VInfiniteScrollIntersect\n key=\"start\"\n side=\"start\"\n onIntersect={ handleIntersect }\n rootRef={ rootEl.value }\n rootMargin={ margin.value }\n />\n )}\n\n { slots.default?.() }\n\n { rootEl.value && hasEndIntersect && intersectMode && (\n <VInfiniteScrollIntersect\n key=\"end\"\n side=\"end\"\n onIntersect={ handleIntersect }\n rootRef={ rootEl.value }\n rootMargin={ margin.value }\n />\n )}\n\n <div class=\"v-infinite-scroll__side\">\n { renderSide('end', endStatus.value) }\n </div>\n </Tag>\n )\n })\n },\n})\n\nexport type VInfiniteScroll = InstanceType<typeof VInfiniteScroll>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VInfiniteScroll.mjs","names":["VBtn","VProgressCircular","makeDimensionProps","useDimension","useIntersectionObserver","useLocale","makeTagProps","computed","nextTick","onMounted","ref","shallowRef","watch","convertToUnit","defineComponent","genericComponent","propsFactory","useRender","makeVInfiniteScrollProps","color","String","direction","type","default","validator","v","includes","side","mode","margin","Number","loadMoreText","emptyText","VInfiniteScrollIntersect","name","props","required","rootMargin","emits","intersect","isIntersecting","setup","_ref","emit","intersectionRef","val","_createVNode","_createTextVNode","VInfiniteScroll","load","options","_ref2","slots","rootEl","startStatus","endStatus","setScrollAmount","amount","value","property","getScrollAmount","getScrollSize","getContainerSize","setStatus","status","getStatus","previousScrollSize","handleIntersect","_isIntersecting","intersecting","done","window","requestAnimationFrame","t","renderSide","onClick","slotProps","error","empty","loading","dimensionStyles","Tag","tag","hasStartIntersect","hasEndIntersect","intersectMode"],"sources":["../../../src/components/VInfiniteScroll/VInfiniteScroll.tsx"],"sourcesContent":["// Styles\nimport './VInfiniteScroll.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useLocale } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, nextTick, onMounted, ref, shallowRef, watch } from 'vue'\nimport { convertToUnit, defineComponent, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type InfiniteScrollSide = 'start' | 'end' | 'both'\nexport type InfiniteScrollStatus = 'ok' | 'empty' | 'loading' | 'error'\n\ntype InfiniteScrollSlot = {\n side: InfiniteScrollSide\n props: Record<string, any>\n}\n\ntype VInfiniteScrollSlots = {\n default: never\n loading: InfiniteScrollSlot\n error: InfiniteScrollSlot\n empty: InfiniteScrollSlot\n 'load-more': InfiniteScrollSlot\n}\n\nexport const makeVInfiniteScrollProps = propsFactory({\n color: String,\n direction: {\n type: String as PropType<'vertical' | 'horizontal'>,\n default: 'vertical',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n },\n side: {\n type: String as PropType<InfiniteScrollSide>,\n default: 'end',\n validator: (v: any) => ['start', 'end', 'both'].includes(v),\n },\n mode: {\n type: String as PropType<'intersect' | 'manual'>,\n default: 'intersect',\n validator: (v: any) => ['intersect', 'manual'].includes(v),\n },\n margin: [Number, String],\n loadMoreText: {\n type: String,\n default: '$vuetify.infiniteScroll.loadMore',\n },\n emptyText: {\n type: String,\n default: '$vuetify.infiniteScroll.empty',\n },\n\n ...makeDimensionProps(),\n ...makeTagProps(),\n}, 'VInfiniteScroll')\n\nexport const VInfiniteScrollIntersect = defineComponent({\n name: 'VInfiniteScrollIntersect',\n\n props: {\n side: {\n type: String as PropType<InfiniteScrollSide>,\n required: true,\n },\n rootMargin: String,\n },\n\n emits: {\n intersect: (side: InfiniteScrollSide, isIntersecting: boolean) => true,\n },\n\n setup (props, { emit }) {\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n watch(isIntersecting, async val => {\n emit('intersect', props.side, val)\n })\n\n useRender(() => (\n <div\n class=\"v-infinite-scroll-intersect\"\n style={{\n '--v-infinite-margin-size': props.rootMargin,\n }}\n ref={ intersectionRef }\n > </div>\n ))\n\n return {}\n },\n})\n\nexport const VInfiniteScroll = genericComponent<VInfiniteScrollSlots>()({\n name: 'VInfiniteScroll',\n\n props: makeVInfiniteScrollProps(),\n\n emits: {\n load: (options: { side: InfiniteScrollSide, done: (status: InfiniteScrollStatus) => void }) => true,\n },\n\n setup (props, { slots, emit }) {\n const rootEl = ref<HTMLDivElement>()\n const startStatus = shallowRef<InfiniteScrollStatus>('ok')\n const endStatus = shallowRef<InfiniteScrollStatus>('ok')\n const margin = computed(() => convertToUnit(props.margin))\n const isIntersecting = shallowRef(false)\n\n function setScrollAmount (amount: number) {\n if (!rootEl.value) return\n\n const property = props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft'\n rootEl.value[property] = amount\n }\n\n function getScrollAmount () {\n if (!rootEl.value) return 0\n\n const property = props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft'\n return rootEl.value[property]\n }\n\n function getScrollSize () {\n if (!rootEl.value) return 0\n\n const property = props.direction === 'vertical' ? 'scrollHeight' : 'scrollWidth'\n return rootEl.value[property]\n }\n\n function getContainerSize () {\n if (!rootEl.value) return 0\n\n const property = props.direction === 'vertical' ? 'clientHeight' : 'clientWidth'\n return rootEl.value[property]\n }\n\n onMounted(() => {\n if (!rootEl.value) return\n\n if (props.side === 'start') {\n setScrollAmount(getScrollSize())\n } else if (props.side === 'both') {\n setScrollAmount(getScrollSize() / 2 - getContainerSize() / 2)\n }\n })\n\n function setStatus (side: InfiniteScrollSide, status: InfiniteScrollStatus) {\n if (side === 'start') {\n startStatus.value = status\n } else if (side === 'end') {\n endStatus.value = status\n }\n }\n\n function getStatus (side: string) {\n return side === 'start' ? startStatus.value : endStatus.value\n }\n\n let previousScrollSize = 0\n function handleIntersect (side: InfiniteScrollSide, _isIntersecting: boolean) {\n isIntersecting.value = _isIntersecting\n if (isIntersecting.value) {\n intersecting(side)\n }\n }\n\n function intersecting (side: InfiniteScrollSide) {\n if (props.mode !== 'manual' && !isIntersecting.value) return\n\n const status = getStatus(side)\n if (!rootEl.value || ['empty', 'loading'].includes(status)) return\n\n previousScrollSize = getScrollSize()\n setStatus(side, 'loading')\n\n function done (status: InfiniteScrollStatus) {\n setStatus(side, status)\n\n nextTick(() => {\n if (status === 'empty' || status === 'error') return\n\n if (status === 'ok' && side === 'start') {\n setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount())\n }\n if (props.mode !== 'manual') {\n nextTick(() => {\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n intersecting(side)\n })\n })\n })\n })\n }\n })\n }\n\n emit('load', { side, done })\n }\n\n const { t } = useLocale()\n\n function renderSide (side: InfiniteScrollSide, status: InfiniteScrollStatus) {\n if (props.side !== side && props.side !== 'both') return\n\n const onClick = () => intersecting(side)\n const slotProps = { side, props: { onClick, color: props.color } }\n\n if (status === 'error') return slots.error?.(slotProps)\n\n if (status === 'empty') return slots.empty?.(slotProps) ?? <div>{ t(props.emptyText) }</div>\n\n if (props.mode === 'manual') {\n if (status === 'loading') {\n return slots.loading?.(slotProps) ?? (\n <VProgressCircular indeterminate color={ props.color } />\n )\n }\n\n return slots['load-more']?.(slotProps) ?? (\n <VBtn variant=\"outlined\" color={ props.color } onClick={ onClick }>\n { t(props.loadMoreText) }\n </VBtn>\n )\n }\n\n return slots.loading?.(slotProps) ?? (\n <VProgressCircular indeterminate color={ props.color } />\n )\n }\n\n const { dimensionStyles } = useDimension(props)\n\n useRender(() => {\n const Tag = props.tag\n const hasStartIntersect = props.side === 'start' || props.side === 'both'\n const hasEndIntersect = props.side === 'end' || props.side === 'both'\n const intersectMode = props.mode === 'intersect'\n\n return (\n <Tag\n ref={ rootEl }\n class={[\n 'v-infinite-scroll',\n `v-infinite-scroll--${props.direction}`,\n {\n 'v-infinite-scroll--start': hasStartIntersect,\n 'v-infinite-scroll--end': hasEndIntersect,\n },\n ]}\n style={ dimensionStyles.value }\n >\n <div class=\"v-infinite-scroll__side\">\n { renderSide('start', startStatus.value) }\n </div>\n\n { hasStartIntersect && intersectMode && (\n <VInfiniteScrollIntersect\n key=\"start\"\n side=\"start\"\n onIntersect={ handleIntersect }\n rootMargin={ margin.value }\n />\n )}\n\n { slots.default?.() }\n\n { hasEndIntersect && intersectMode && (\n <VInfiniteScrollIntersect\n key=\"end\"\n side=\"end\"\n onIntersect={ handleIntersect }\n rootMargin={ margin.value }\n />\n )}\n\n <div class=\"v-infinite-scroll__side\">\n { renderSide('end', endStatus.value) }\n </div>\n </Tag>\n )\n })\n },\n})\n\nexport type VInfiniteScroll = InstanceType<typeof VInfiniteScroll>\n"],"mappings":"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","ignoreList":[]}
|
@@ -9,7 +9,7 @@
|
|
9
9
|
|
10
10
|
.v-infinite-scroll-intersect
|
11
11
|
height: 100%
|
12
|
-
width: 1px
|
12
|
+
width: var(--v-infinite-margin-size, 1px)
|
13
13
|
|
14
14
|
.v-infinite-scroll--vertical
|
15
15
|
display: flex
|
@@ -20,6 +20,15 @@
|
|
20
20
|
height: 1px
|
21
21
|
width: 100%
|
22
22
|
|
23
|
+
.v-infinite-scroll-intersect
|
24
|
+
pointer-events: none
|
25
|
+
margin-top: var(--v-infinite-margin)
|
26
|
+
margin-bottom: calc(var(--v-infinite-margin) * -1)
|
27
|
+
&:nth-child(2) // TODO: "1 of &" would be more stable if structure changes
|
28
|
+
--v-infinite-margin: var(--v-infinite-margin-size, 1px)
|
29
|
+
&:nth-last-child(2)
|
30
|
+
--v-infinite-margin: calc(var(--v-infinite-margin-size, 1px) * -1)
|
31
|
+
|
23
32
|
.v-infinite-scroll__side
|
24
33
|
align-items: center
|
25
34
|
display: flex
|
package/lib/entry-bundler.mjs
CHANGED
@@ -16,7 +16,7 @@ export const createVuetify = function () {
|
|
16
16
|
...options
|
17
17
|
});
|
18
18
|
};
|
19
|
-
export const version = "3.7.
|
19
|
+
export const version = "3.7.1-master.2024-08-28";
|
20
20
|
createVuetify.version = version;
|
21
21
|
export { blueprints, components, directives };
|
22
22
|
export * from "./composables/index.mjs";
|
package/lib/framework.mjs
CHANGED
package/lib/index.d.mts
CHANGED
@@ -486,64 +486,65 @@ declare module 'vue' {
|
|
486
486
|
$children?: VNodeChild
|
487
487
|
}
|
488
488
|
export interface GlobalComponents {
|
489
|
-
VAlert: typeof import('vuetify/components')['VAlert']
|
490
|
-
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
491
|
-
VApp: typeof import('vuetify/components')['VApp']
|
492
|
-
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
493
489
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
494
490
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
495
491
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
492
|
+
VApp: typeof import('vuetify/components')['VApp']
|
493
|
+
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
496
494
|
VAvatar: typeof import('vuetify/components')['VAvatar']
|
495
|
+
VAlert: typeof import('vuetify/components')['VAlert']
|
496
|
+
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
497
|
+
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
498
|
+
VBadge: typeof import('vuetify/components')['VBadge']
|
499
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
500
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
497
501
|
VBanner: typeof import('vuetify/components')['VBanner']
|
498
502
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
499
503
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
500
|
-
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
501
|
-
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
502
|
-
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
503
|
-
VBadge: typeof import('vuetify/components')['VBadge']
|
504
|
-
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
505
|
-
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
506
504
|
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
507
|
-
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
508
505
|
VCard: typeof import('vuetify/components')['VCard']
|
509
506
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
510
507
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
511
508
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
512
509
|
VCardText: typeof import('vuetify/components')['VCardText']
|
513
510
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
514
|
-
|
511
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
512
|
+
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
513
|
+
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
514
|
+
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
515
|
+
VChip: typeof import('vuetify/components')['VChip']
|
515
516
|
VCarousel: typeof import('vuetify/components')['VCarousel']
|
516
517
|
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
517
|
-
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
518
518
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
519
519
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
520
|
-
VCombobox: typeof import('vuetify/components')['VCombobox']
|
521
|
-
VChip: typeof import('vuetify/components')['VChip']
|
522
520
|
VCode: typeof import('vuetify/components')['VCode']
|
523
|
-
VDataTable: typeof import('vuetify/components')['VDataTable']
|
524
|
-
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
525
|
-
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
526
|
-
VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
|
527
|
-
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
528
|
-
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
529
|
-
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
530
|
-
VDialog: typeof import('vuetify/components')['VDialog']
|
531
521
|
VCounter: typeof import('vuetify/components')['VCounter']
|
522
|
+
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
532
523
|
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
533
|
-
VDivider: typeof import('vuetify/components')['VDivider']
|
534
|
-
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
535
524
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
536
525
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
537
526
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
538
527
|
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
539
528
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
540
529
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
530
|
+
VCombobox: typeof import('vuetify/components')['VCombobox']
|
531
|
+
VDivider: typeof import('vuetify/components')['VDivider']
|
532
|
+
VFab: typeof import('vuetify/components')['VFab']
|
533
|
+
VDialog: typeof import('vuetify/components')['VDialog']
|
541
534
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
542
535
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
543
536
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
544
537
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
538
|
+
VDataTable: typeof import('vuetify/components')['VDataTable']
|
539
|
+
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
540
|
+
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
541
|
+
VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
|
542
|
+
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
543
|
+
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
544
|
+
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
545
545
|
VFileInput: typeof import('vuetify/components')['VFileInput']
|
546
546
|
VFooter: typeof import('vuetify/components')['VFooter']
|
547
|
+
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
547
548
|
VField: typeof import('vuetify/components')['VField']
|
548
549
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
549
550
|
VIcon: typeof import('vuetify/components')['VIcon']
|
@@ -551,16 +552,12 @@ declare module 'vue' {
|
|
551
552
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
552
553
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
553
554
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
554
|
-
|
555
|
-
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
555
|
+
VKbd: typeof import('vuetify/components')['VKbd']
|
556
556
|
VImg: typeof import('vuetify/components')['VImg']
|
557
|
-
|
557
|
+
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
558
558
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
559
559
|
VItem: typeof import('vuetify/components')['VItem']
|
560
560
|
VInput: typeof import('vuetify/components')['VInput']
|
561
|
-
VKbd: typeof import('vuetify/components')['VKbd']
|
562
|
-
VMessages: typeof import('vuetify/components')['VMessages']
|
563
|
-
VMenu: typeof import('vuetify/components')['VMenu']
|
564
561
|
VList: typeof import('vuetify/components')['VList']
|
565
562
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
566
563
|
VListImg: typeof import('vuetify/components')['VListImg']
|
@@ -570,23 +567,31 @@ declare module 'vue' {
|
|
570
567
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
571
568
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
572
569
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
570
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
573
571
|
VMain: typeof import('vuetify/components')['VMain']
|
574
|
-
|
572
|
+
VMessages: typeof import('vuetify/components')['VMessages']
|
573
|
+
VMenu: typeof import('vuetify/components')['VMenu']
|
575
574
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
576
|
-
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
577
575
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
578
576
|
VOverlay: typeof import('vuetify/components')['VOverlay']
|
577
|
+
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
578
|
+
VPagination: typeof import('vuetify/components')['VPagination']
|
579
579
|
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
580
|
-
VRating: typeof import('vuetify/components')['VRating']
|
581
580
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
582
581
|
VSelect: typeof import('vuetify/components')['VSelect']
|
583
|
-
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
584
|
-
VSheet: typeof import('vuetify/components')['VSheet']
|
585
582
|
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
583
|
+
VRating: typeof import('vuetify/components')['VRating']
|
584
|
+
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
585
|
+
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
586
586
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
587
587
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
588
|
+
VSheet: typeof import('vuetify/components')['VSheet']
|
588
589
|
VSlider: typeof import('vuetify/components')['VSlider']
|
589
|
-
|
590
|
+
VTab: typeof import('vuetify/components')['VTab']
|
591
|
+
VTabs: typeof import('vuetify/components')['VTabs']
|
592
|
+
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
593
|
+
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
594
|
+
VSwitch: typeof import('vuetify/components')['VSwitch']
|
590
595
|
VStepper: typeof import('vuetify/components')['VStepper']
|
591
596
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
592
597
|
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
@@ -595,40 +600,35 @@ declare module 'vue' {
|
|
595
600
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
596
601
|
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
597
602
|
VTable: typeof import('vuetify/components')['VTable']
|
598
|
-
VSwitch: typeof import('vuetify/components')['VSwitch']
|
599
603
|
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
600
604
|
VTextField: typeof import('vuetify/components')['VTextField']
|
601
|
-
VTimeline: typeof import('vuetify/components')['VTimeline']
|
602
|
-
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
603
|
-
VTextarea: typeof import('vuetify/components')['VTextarea']
|
604
|
-
VTab: typeof import('vuetify/components')['VTab']
|
605
|
-
VTabs: typeof import('vuetify/components')['VTabs']
|
606
|
-
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
607
|
-
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
608
|
-
VTooltip: typeof import('vuetify/components')['VTooltip']
|
609
605
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
610
606
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
611
607
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
608
|
+
VTimeline: typeof import('vuetify/components')['VTimeline']
|
609
|
+
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
610
|
+
VTextarea: typeof import('vuetify/components')['VTextarea']
|
612
611
|
VWindow: typeof import('vuetify/components')['VWindow']
|
613
612
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
613
|
+
VTooltip: typeof import('vuetify/components')['VTooltip']
|
614
614
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
615
615
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
616
|
-
VForm: typeof import('vuetify/components')['VForm']
|
617
616
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
618
617
|
VContainer: typeof import('vuetify/components')['VContainer']
|
619
618
|
VCol: typeof import('vuetify/components')['VCol']
|
620
619
|
VRow: typeof import('vuetify/components')['VRow']
|
621
620
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
622
|
-
|
623
|
-
VLazy: typeof import('vuetify/components')['VLazy']
|
621
|
+
VForm: typeof import('vuetify/components')['VForm']
|
624
622
|
VLayout: typeof import('vuetify/components')['VLayout']
|
625
623
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
624
|
+
VHover: typeof import('vuetify/components')['VHover']
|
625
|
+
VLazy: typeof import('vuetify/components')['VLazy']
|
626
626
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
627
627
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
628
628
|
VParallax: typeof import('vuetify/components')['VParallax']
|
629
629
|
VRadio: typeof import('vuetify/components')['VRadio']
|
630
|
-
VResponsive: typeof import('vuetify/components')['VResponsive']
|
631
630
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
631
|
+
VResponsive: typeof import('vuetify/components')['VResponsive']
|
632
632
|
VSparkline: typeof import('vuetify/components')['VSparkline']
|
633
633
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
634
634
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
@@ -650,26 +650,26 @@ declare module 'vue' {
|
|
650
650
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
651
651
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
652
652
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
653
|
+
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
654
|
+
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
655
|
+
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
653
656
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
654
657
|
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
655
658
|
VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
|
656
659
|
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
657
660
|
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
658
661
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
+
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
663
|
+
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
664
|
+
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
662
665
|
VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
|
663
666
|
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
664
667
|
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
665
668
|
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
666
669
|
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
667
670
|
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
668
|
-
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
669
|
-
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
670
|
-
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
671
|
-
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
672
671
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
673
672
|
VSnackbarQueue: typeof import('vuetify/labs/components')['VSnackbarQueue']
|
673
|
+
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
674
674
|
}
|
675
675
|
}
|