@vuetify/nightly 3.5.3-dev.2024-02-08 → 3.5.3-dev.2024-02-25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -2
- package/dist/json/attributes.json +5 -5
- package/dist/json/importMap-labs.json +8 -8
- package/dist/json/importMap.json +126 -126
- package/dist/json/web-types.json +6 -6
- package/dist/vuetify-labs.css +2131 -2131
- package/dist/vuetify-labs.d.ts +22 -21
- package/dist/vuetify-labs.esm.js +58 -62
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +57 -61
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1360 -1360
- package/dist/vuetify.d.ts +62 -61
- package/dist/vuetify.esm.js +58 -62
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +57 -61
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +909 -914
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VApp/VApp.mjs +5 -2
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VApp/index.d.mts +6 -6
- package/lib/components/VAppBar/VAppBar.mjs +5 -5
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.mts +2 -2
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +5 -3
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomNavigation/index.d.mts +2 -2
- package/lib/components/VFooter/VFooter.mjs +3 -2
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VLabel/VLabel.sass +1 -1
- package/lib/components/VLabel/_variables.scss +1 -0
- package/lib/components/VLayout/VLayout.mjs +5 -2
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs +6 -4
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLayout/index.d.mts +9 -9
- package/lib/components/VMain/VMain.mjs +3 -2
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMain/index.d.mts +2 -2
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +7 -7
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/index.d.mts +21 -21
- package/lib/composables/layout.mjs +14 -37
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +41 -40
- package/lib/util/helpers.mjs +11 -1
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +1 -1
package/dist/vuetify.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.5.3-dev.2024-02-
|
|
2
|
+
* Vuetify v3.5.3-dev.2024-02-25
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -543,6 +543,16 @@
|
|
|
543
543
|
const timeoutId = window.setTimeout(cb, timeout);
|
|
544
544
|
return () => window.clearTimeout(timeoutId);
|
|
545
545
|
}
|
|
546
|
+
function eagerComputed(fn, options) {
|
|
547
|
+
const result = vue.shallowRef();
|
|
548
|
+
vue.watchEffect(() => {
|
|
549
|
+
result.value = fn();
|
|
550
|
+
}, {
|
|
551
|
+
flush: 'sync',
|
|
552
|
+
...options
|
|
553
|
+
});
|
|
554
|
+
return vue.readonly(result);
|
|
555
|
+
}
|
|
546
556
|
|
|
547
557
|
// Utilities
|
|
548
558
|
const block = ['top', 'bottom'];
|
|
@@ -1607,7 +1617,9 @@
|
|
|
1607
1617
|
function useLayout() {
|
|
1608
1618
|
const layout = vue.inject(VuetifyLayoutKey);
|
|
1609
1619
|
if (!layout) throw new Error('[Vuetify] Could not find injected layout');
|
|
1620
|
+
const layoutIsReady = vue.nextTick();
|
|
1610
1621
|
return {
|
|
1622
|
+
layoutIsReady,
|
|
1611
1623
|
getLayoutItem: layout.getLayoutItem,
|
|
1612
1624
|
mainRect: layout.mainRect,
|
|
1613
1625
|
mainStyles: layout.mainStyles
|
|
@@ -1624,6 +1636,7 @@
|
|
|
1624
1636
|
const isKeptAlive = vue.shallowRef(false);
|
|
1625
1637
|
vue.onDeactivated(() => isKeptAlive.value = true);
|
|
1626
1638
|
vue.onActivated(() => isKeptAlive.value = false);
|
|
1639
|
+
const layoutIsReady = vue.nextTick();
|
|
1627
1640
|
const {
|
|
1628
1641
|
layoutItemStyles,
|
|
1629
1642
|
layoutItemScrimStyles
|
|
@@ -1636,7 +1649,8 @@
|
|
|
1636
1649
|
return {
|
|
1637
1650
|
layoutItemStyles,
|
|
1638
1651
|
layoutRect: layout.layoutRect,
|
|
1639
|
-
layoutItemScrimStyles
|
|
1652
|
+
layoutItemScrimStyles,
|
|
1653
|
+
layoutIsReady
|
|
1640
1654
|
};
|
|
1641
1655
|
}
|
|
1642
1656
|
const generateLayers = (layout, positions, layoutSizes, activeItems) => {
|
|
@@ -1682,29 +1696,7 @@
|
|
|
1682
1696
|
resizeRef,
|
|
1683
1697
|
contentRect: layoutRect
|
|
1684
1698
|
} = useResizeObserver();
|
|
1685
|
-
const
|
|
1686
|
-
const map = new Map();
|
|
1687
|
-
const overlaps = props.overlaps ?? [];
|
|
1688
|
-
for (const overlap of overlaps.filter(item => item.includes(':'))) {
|
|
1689
|
-
const [top, bottom] = overlap.split(':');
|
|
1690
|
-
if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue;
|
|
1691
|
-
const topPosition = positions.get(top);
|
|
1692
|
-
const bottomPosition = positions.get(bottom);
|
|
1693
|
-
const topAmount = layoutSizes.get(top);
|
|
1694
|
-
const bottomAmount = layoutSizes.get(bottom);
|
|
1695
|
-
if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue;
|
|
1696
|
-
map.set(bottom, {
|
|
1697
|
-
position: topPosition.value,
|
|
1698
|
-
amount: parseInt(topAmount.value, 10)
|
|
1699
|
-
});
|
|
1700
|
-
map.set(top, {
|
|
1701
|
-
position: bottomPosition.value,
|
|
1702
|
-
amount: -parseInt(bottomAmount.value, 10)
|
|
1703
|
-
});
|
|
1704
|
-
}
|
|
1705
|
-
return map;
|
|
1706
|
-
});
|
|
1707
|
-
const layers = vue.computed(() => {
|
|
1699
|
+
const layers = eagerComputed(() => {
|
|
1708
1700
|
const uniquePriorities = [...new Set([...priorities.values()].map(p => p.value))].sort((a, b) => a - b);
|
|
1709
1701
|
const layout = [];
|
|
1710
1702
|
for (const p of uniquePriorities) {
|
|
@@ -1730,7 +1722,7 @@
|
|
|
1730
1722
|
})
|
|
1731
1723
|
};
|
|
1732
1724
|
});
|
|
1733
|
-
const items =
|
|
1725
|
+
const items = eagerComputed(() => {
|
|
1734
1726
|
return layers.value.slice(1).map((_ref, index) => {
|
|
1735
1727
|
let {
|
|
1736
1728
|
id
|
|
@@ -1752,10 +1744,7 @@
|
|
|
1752
1744
|
return items.value.find(item => item.id === id);
|
|
1753
1745
|
};
|
|
1754
1746
|
const rootVm = getCurrentInstance('createLayout');
|
|
1755
|
-
const
|
|
1756
|
-
vue.onMounted(() => {
|
|
1757
|
-
isMounted.value = true;
|
|
1758
|
-
});
|
|
1747
|
+
const layoutIsReady = vue.nextTick();
|
|
1759
1748
|
vue.provide(VuetifyLayoutKey, {
|
|
1760
1749
|
register: (vm, _ref2) => {
|
|
1761
1750
|
let {
|
|
@@ -1791,13 +1780,9 @@
|
|
|
1791
1780
|
transition: 'none'
|
|
1792
1781
|
})
|
|
1793
1782
|
};
|
|
1794
|
-
if (
|
|
1783
|
+
if (index.value < 0) throw new Error(`Layout item "${id}" is missing`);
|
|
1795
1784
|
const item = items.value[index.value];
|
|
1796
1785
|
if (!item) throw new Error(`[Vuetify] Could not find layout item "${id}"`);
|
|
1797
|
-
const overlap = computedOverlaps.value.get(id);
|
|
1798
|
-
if (overlap) {
|
|
1799
|
-
item[overlap.position] += overlap.amount;
|
|
1800
|
-
}
|
|
1801
1786
|
return {
|
|
1802
1787
|
...styles,
|
|
1803
1788
|
height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : elementSize.value ? `${elementSize.value}px` : undefined,
|
|
@@ -1830,7 +1815,8 @@
|
|
|
1830
1815
|
getLayoutItem,
|
|
1831
1816
|
items,
|
|
1832
1817
|
layoutRect,
|
|
1833
|
-
rootZIndex
|
|
1818
|
+
rootZIndex,
|
|
1819
|
+
layoutIsReady
|
|
1834
1820
|
});
|
|
1835
1821
|
const layoutClasses = vue.computed(() => ['v-layout', {
|
|
1836
1822
|
'v-layout--full-height': props.fullHeight
|
|
@@ -1846,6 +1832,7 @@
|
|
|
1846
1832
|
getLayoutItem,
|
|
1847
1833
|
items,
|
|
1848
1834
|
layoutRect,
|
|
1835
|
+
layoutIsReady,
|
|
1849
1836
|
layoutRef: resizeRef
|
|
1850
1837
|
};
|
|
1851
1838
|
}
|
|
@@ -2540,7 +2527,9 @@
|
|
|
2540
2527
|
"style": [props.style]
|
|
2541
2528
|
}, [vue.createVNode("div", {
|
|
2542
2529
|
"class": "v-application__wrap"
|
|
2543
|
-
}, [
|
|
2530
|
+
}, [vue.createVNode(vue.Suspense, null, {
|
|
2531
|
+
default: () => [vue.createVNode(vue.Fragment, null, [slots.default?.()])]
|
|
2532
|
+
})])]));
|
|
2544
2533
|
return {
|
|
2545
2534
|
getLayoutItem,
|
|
2546
2535
|
items,
|
|
@@ -3873,9 +3862,8 @@
|
|
|
3873
3862
|
const isFlat = vue.computed(() => props.flat || scrollBehavior.value.elevate && (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0));
|
|
3874
3863
|
const opacity = vue.computed(() => scrollBehavior.value.fadeImage ? scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value : undefined);
|
|
3875
3864
|
const height = vue.computed(() => {
|
|
3876
|
-
|
|
3877
|
-
const
|
|
3878
|
-
const extensionHeight = vToolbarRef.value?.extensionHeight ?? 0;
|
|
3865
|
+
const height = Number(vToolbarRef.value?.contentHeight ?? props.height);
|
|
3866
|
+
const extensionHeight = Number(vToolbarRef.value?.extensionHeight ?? 0);
|
|
3879
3867
|
return height + extensionHeight;
|
|
3880
3868
|
});
|
|
3881
3869
|
useToggleScope(vue.computed(() => !!props.scrollBehavior), () => {
|
|
@@ -3895,7 +3883,8 @@
|
|
|
3895
3883
|
ssrBootStyles
|
|
3896
3884
|
} = useSsrBoot();
|
|
3897
3885
|
const {
|
|
3898
|
-
layoutItemStyles
|
|
3886
|
+
layoutItemStyles,
|
|
3887
|
+
layoutIsReady
|
|
3899
3888
|
} = useLayoutItem({
|
|
3900
3889
|
id: props.name,
|
|
3901
3890
|
order: vue.computed(() => parseInt(props.order, 10)),
|
|
@@ -3923,7 +3912,7 @@
|
|
|
3923
3912
|
"flat": isFlat.value
|
|
3924
3913
|
}), slots);
|
|
3925
3914
|
});
|
|
3926
|
-
return
|
|
3915
|
+
return layoutIsReady;
|
|
3927
3916
|
}
|
|
3928
3917
|
});
|
|
3929
3918
|
|
|
@@ -12919,9 +12908,10 @@
|
|
|
12919
12908
|
ssrBootStyles
|
|
12920
12909
|
} = useSsrBoot();
|
|
12921
12910
|
const height = vue.computed(() => Number(props.height) - (props.density === 'comfortable' ? 8 : 0) - (props.density === 'compact' ? 16 : 0));
|
|
12922
|
-
const isActive =
|
|
12911
|
+
const isActive = useProxiedModel(props, 'modelValue', props.modelValue);
|
|
12923
12912
|
const {
|
|
12924
|
-
layoutItemStyles
|
|
12913
|
+
layoutItemStyles,
|
|
12914
|
+
layoutIsReady
|
|
12925
12915
|
} = useLayoutItem({
|
|
12926
12916
|
id: props.name,
|
|
12927
12917
|
order: vue.computed(() => parseInt(props.order, 10)),
|
|
@@ -12959,7 +12949,7 @@
|
|
|
12959
12949
|
}, [slots.default()])]
|
|
12960
12950
|
});
|
|
12961
12951
|
});
|
|
12962
|
-
return
|
|
12952
|
+
return layoutIsReady;
|
|
12963
12953
|
}
|
|
12964
12954
|
});
|
|
12965
12955
|
|
|
@@ -21530,7 +21520,8 @@
|
|
|
21530
21520
|
});
|
|
21531
21521
|
const height = vue.computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10));
|
|
21532
21522
|
const {
|
|
21533
|
-
layoutItemStyles
|
|
21523
|
+
layoutItemStyles,
|
|
21524
|
+
layoutIsReady
|
|
21534
21525
|
} = useLayoutItem({
|
|
21535
21526
|
id: props.name,
|
|
21536
21527
|
order: vue.computed(() => parseInt(props.order, 10)),
|
|
@@ -21547,7 +21538,7 @@
|
|
|
21547
21538
|
height: convertToUnit(props.height)
|
|
21548
21539
|
}, props.style]
|
|
21549
21540
|
}, slots));
|
|
21550
|
-
return {};
|
|
21541
|
+
return props.app ? layoutIsReady : {};
|
|
21551
21542
|
}
|
|
21552
21543
|
});
|
|
21553
21544
|
|
|
@@ -21970,7 +21961,9 @@
|
|
|
21970
21961
|
"ref": layoutRef,
|
|
21971
21962
|
"class": [layoutClasses.value, props.class],
|
|
21972
21963
|
"style": [layoutStyles.value, props.style]
|
|
21973
|
-
}, [
|
|
21964
|
+
}, [vue.createVNode(vue.Suspense, null, {
|
|
21965
|
+
default: () => [vue.createVNode(vue.Fragment, null, [slots.default?.()])]
|
|
21966
|
+
})]));
|
|
21974
21967
|
return {
|
|
21975
21968
|
getLayoutItem,
|
|
21976
21969
|
items
|
|
@@ -22001,7 +21994,8 @@
|
|
|
22001
21994
|
slots
|
|
22002
21995
|
} = _ref;
|
|
22003
21996
|
const {
|
|
22004
|
-
layoutItemStyles
|
|
21997
|
+
layoutItemStyles,
|
|
21998
|
+
layoutIsReady
|
|
22005
21999
|
} = useLayoutItem({
|
|
22006
22000
|
id: props.name,
|
|
22007
22001
|
order: vue.computed(() => parseInt(props.order, 10)),
|
|
@@ -22011,10 +22005,11 @@
|
|
|
22011
22005
|
active: vue.toRef(props, 'modelValue'),
|
|
22012
22006
|
absolute: vue.toRef(props, 'absolute')
|
|
22013
22007
|
});
|
|
22014
|
-
|
|
22008
|
+
useRender(() => vue.createVNode("div", {
|
|
22015
22009
|
"class": ['v-layout-item', props.class],
|
|
22016
22010
|
"style": [layoutItemStyles.value, props.style]
|
|
22017
|
-
}, [slots.default?.()]);
|
|
22011
|
+
}, [slots.default?.()]));
|
|
22012
|
+
return layoutIsReady;
|
|
22018
22013
|
}
|
|
22019
22014
|
});
|
|
22020
22015
|
|
|
@@ -22121,7 +22116,8 @@
|
|
|
22121
22116
|
slots
|
|
22122
22117
|
} = _ref;
|
|
22123
22118
|
const {
|
|
22124
|
-
mainStyles
|
|
22119
|
+
mainStyles,
|
|
22120
|
+
layoutIsReady
|
|
22125
22121
|
} = useLayout();
|
|
22126
22122
|
const {
|
|
22127
22123
|
ssrBootStyles
|
|
@@ -22136,7 +22132,7 @@
|
|
|
22136
22132
|
"class": "v-main__scroller"
|
|
22137
22133
|
}, [slots.default?.()]) : slots.default?.()]
|
|
22138
22134
|
}));
|
|
22139
|
-
return
|
|
22135
|
+
return layoutIsReady;
|
|
22140
22136
|
}
|
|
22141
22137
|
});
|
|
22142
22138
|
|
|
@@ -22561,10 +22557,9 @@
|
|
|
22561
22557
|
vue.watch(() => props.permanent, val => {
|
|
22562
22558
|
if (val) isActive.value = true;
|
|
22563
22559
|
});
|
|
22564
|
-
|
|
22565
|
-
if (props.modelValue != null || isTemporary.value) return;
|
|
22560
|
+
if (props.modelValue == null && !isTemporary.value) {
|
|
22566
22561
|
isActive.value = props.permanent || !mobile.value;
|
|
22567
|
-
}
|
|
22562
|
+
}
|
|
22568
22563
|
const {
|
|
22569
22564
|
isDragging,
|
|
22570
22565
|
dragProgress,
|
|
@@ -22582,7 +22577,8 @@
|
|
|
22582
22577
|
});
|
|
22583
22578
|
const {
|
|
22584
22579
|
layoutItemStyles,
|
|
22585
|
-
layoutItemScrimStyles
|
|
22580
|
+
layoutItemScrimStyles,
|
|
22581
|
+
layoutIsReady
|
|
22586
22582
|
} = useLayoutItem({
|
|
22587
22583
|
id: props.name,
|
|
22588
22584
|
order: vue.computed(() => parseInt(props.order, 10)),
|
|
@@ -22666,9 +22662,9 @@
|
|
|
22666
22662
|
}, scopeId), null)]
|
|
22667
22663
|
})]);
|
|
22668
22664
|
});
|
|
22669
|
-
return {
|
|
22665
|
+
return layoutIsReady.then(() => ({
|
|
22670
22666
|
isStuck
|
|
22671
|
-
};
|
|
22667
|
+
}));
|
|
22672
22668
|
}
|
|
22673
22669
|
});
|
|
22674
22670
|
|
|
@@ -25669,7 +25665,7 @@
|
|
|
25669
25665
|
goTo
|
|
25670
25666
|
};
|
|
25671
25667
|
}
|
|
25672
|
-
const version$1 = "3.5.3-dev.2024-02-
|
|
25668
|
+
const version$1 = "3.5.3-dev.2024-02-25";
|
|
25673
25669
|
createVuetify$1.version = version$1;
|
|
25674
25670
|
|
|
25675
25671
|
// Vue's inject() can only be used in setup
|
|
@@ -25694,7 +25690,7 @@
|
|
|
25694
25690
|
...options
|
|
25695
25691
|
});
|
|
25696
25692
|
};
|
|
25697
|
-
const version = "3.5.3-dev.2024-02-
|
|
25693
|
+
const version = "3.5.3-dev.2024-02-25";
|
|
25698
25694
|
createVuetify.version = version;
|
|
25699
25695
|
|
|
25700
25696
|
exports.components = components;
|