@vuetify/nightly 3.5.3-dev.2024-02-08 → 3.5.3-dev.2024-02-14
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 +3 -2
- package/dist/json/attributes.json +5 -5
- package/dist/json/importMap-labs.json +8 -8
- package/dist/json/importMap.json +98 -98
- package/dist/json/web-types.json +6 -6
- package/dist/vuetify-labs.css +2446 -2446
- 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 +1218 -1218
- package/dist/vuetify.d.ts +53 -52
- 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/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 +32 -31
- package/lib/util/helpers.mjs +11 -1
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +1 -1
package/dist/vuetify.esm.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.5.3-dev.2024-02-
|
|
2
|
+
* Vuetify v3.5.3-dev.2024-02-14
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { Fragment, reactive, computed, watchEffect, toRefs, capitalize, isVNode, Comment, unref, warn, ref, provide,
|
|
7
|
+
import { Fragment, reactive, computed, watchEffect, toRefs, capitalize, isVNode, Comment, shallowRef, readonly, unref, warn, ref, provide, inject as inject$1, defineComponent as defineComponent$1, camelize, h, getCurrentInstance as getCurrentInstance$1, onBeforeUnmount, watch, nextTick, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, createVNode, Suspense, TransitionGroup, Transition, mergeProps, isRef, toRef, onBeforeMount, withDirectives, resolveDirective, vShow, onMounted, Text, resolveDynamicComponent, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers, toDisplayString, vModelText } from 'vue';
|
|
8
8
|
|
|
9
9
|
// Types
|
|
10
10
|
// eslint-disable-line vue/prefer-import-from-vue
|
|
@@ -539,6 +539,16 @@ function defer(timeout, cb) {
|
|
|
539
539
|
const timeoutId = window.setTimeout(cb, timeout);
|
|
540
540
|
return () => window.clearTimeout(timeoutId);
|
|
541
541
|
}
|
|
542
|
+
function eagerComputed(fn, options) {
|
|
543
|
+
const result = shallowRef();
|
|
544
|
+
watchEffect(() => {
|
|
545
|
+
result.value = fn();
|
|
546
|
+
}, {
|
|
547
|
+
flush: 'sync',
|
|
548
|
+
...options
|
|
549
|
+
});
|
|
550
|
+
return readonly(result);
|
|
551
|
+
}
|
|
542
552
|
|
|
543
553
|
// Utilities
|
|
544
554
|
const block = ['top', 'bottom'];
|
|
@@ -1603,7 +1613,9 @@ const makeLayoutItemProps = propsFactory({
|
|
|
1603
1613
|
function useLayout() {
|
|
1604
1614
|
const layout = inject$1(VuetifyLayoutKey);
|
|
1605
1615
|
if (!layout) throw new Error('[Vuetify] Could not find injected layout');
|
|
1616
|
+
const layoutIsReady = nextTick();
|
|
1606
1617
|
return {
|
|
1618
|
+
layoutIsReady,
|
|
1607
1619
|
getLayoutItem: layout.getLayoutItem,
|
|
1608
1620
|
mainRect: layout.mainRect,
|
|
1609
1621
|
mainStyles: layout.mainStyles
|
|
@@ -1620,6 +1632,7 @@ function useLayoutItem(options) {
|
|
|
1620
1632
|
const isKeptAlive = shallowRef(false);
|
|
1621
1633
|
onDeactivated(() => isKeptAlive.value = true);
|
|
1622
1634
|
onActivated(() => isKeptAlive.value = false);
|
|
1635
|
+
const layoutIsReady = nextTick();
|
|
1623
1636
|
const {
|
|
1624
1637
|
layoutItemStyles,
|
|
1625
1638
|
layoutItemScrimStyles
|
|
@@ -1632,7 +1645,8 @@ function useLayoutItem(options) {
|
|
|
1632
1645
|
return {
|
|
1633
1646
|
layoutItemStyles,
|
|
1634
1647
|
layoutRect: layout.layoutRect,
|
|
1635
|
-
layoutItemScrimStyles
|
|
1648
|
+
layoutItemScrimStyles,
|
|
1649
|
+
layoutIsReady
|
|
1636
1650
|
};
|
|
1637
1651
|
}
|
|
1638
1652
|
const generateLayers = (layout, positions, layoutSizes, activeItems) => {
|
|
@@ -1678,29 +1692,7 @@ function createLayout(props) {
|
|
|
1678
1692
|
resizeRef,
|
|
1679
1693
|
contentRect: layoutRect
|
|
1680
1694
|
} = useResizeObserver();
|
|
1681
|
-
const
|
|
1682
|
-
const map = new Map();
|
|
1683
|
-
const overlaps = props.overlaps ?? [];
|
|
1684
|
-
for (const overlap of overlaps.filter(item => item.includes(':'))) {
|
|
1685
|
-
const [top, bottom] = overlap.split(':');
|
|
1686
|
-
if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue;
|
|
1687
|
-
const topPosition = positions.get(top);
|
|
1688
|
-
const bottomPosition = positions.get(bottom);
|
|
1689
|
-
const topAmount = layoutSizes.get(top);
|
|
1690
|
-
const bottomAmount = layoutSizes.get(bottom);
|
|
1691
|
-
if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue;
|
|
1692
|
-
map.set(bottom, {
|
|
1693
|
-
position: topPosition.value,
|
|
1694
|
-
amount: parseInt(topAmount.value, 10)
|
|
1695
|
-
});
|
|
1696
|
-
map.set(top, {
|
|
1697
|
-
position: bottomPosition.value,
|
|
1698
|
-
amount: -parseInt(bottomAmount.value, 10)
|
|
1699
|
-
});
|
|
1700
|
-
}
|
|
1701
|
-
return map;
|
|
1702
|
-
});
|
|
1703
|
-
const layers = computed(() => {
|
|
1695
|
+
const layers = eagerComputed(() => {
|
|
1704
1696
|
const uniquePriorities = [...new Set([...priorities.values()].map(p => p.value))].sort((a, b) => a - b);
|
|
1705
1697
|
const layout = [];
|
|
1706
1698
|
for (const p of uniquePriorities) {
|
|
@@ -1726,7 +1718,7 @@ function createLayout(props) {
|
|
|
1726
1718
|
})
|
|
1727
1719
|
};
|
|
1728
1720
|
});
|
|
1729
|
-
const items =
|
|
1721
|
+
const items = eagerComputed(() => {
|
|
1730
1722
|
return layers.value.slice(1).map((_ref, index) => {
|
|
1731
1723
|
let {
|
|
1732
1724
|
id
|
|
@@ -1748,10 +1740,7 @@ function createLayout(props) {
|
|
|
1748
1740
|
return items.value.find(item => item.id === id);
|
|
1749
1741
|
};
|
|
1750
1742
|
const rootVm = getCurrentInstance('createLayout');
|
|
1751
|
-
const
|
|
1752
|
-
onMounted(() => {
|
|
1753
|
-
isMounted.value = true;
|
|
1754
|
-
});
|
|
1743
|
+
const layoutIsReady = nextTick();
|
|
1755
1744
|
provide(VuetifyLayoutKey, {
|
|
1756
1745
|
register: (vm, _ref2) => {
|
|
1757
1746
|
let {
|
|
@@ -1787,13 +1776,9 @@ function createLayout(props) {
|
|
|
1787
1776
|
transition: 'none'
|
|
1788
1777
|
})
|
|
1789
1778
|
};
|
|
1790
|
-
if (
|
|
1779
|
+
if (index.value < 0) throw new Error(`Layout item "${id}" is missing`);
|
|
1791
1780
|
const item = items.value[index.value];
|
|
1792
1781
|
if (!item) throw new Error(`[Vuetify] Could not find layout item "${id}"`);
|
|
1793
|
-
const overlap = computedOverlaps.value.get(id);
|
|
1794
|
-
if (overlap) {
|
|
1795
|
-
item[overlap.position] += overlap.amount;
|
|
1796
|
-
}
|
|
1797
1782
|
return {
|
|
1798
1783
|
...styles,
|
|
1799
1784
|
height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : elementSize.value ? `${elementSize.value}px` : undefined,
|
|
@@ -1826,7 +1811,8 @@ function createLayout(props) {
|
|
|
1826
1811
|
getLayoutItem,
|
|
1827
1812
|
items,
|
|
1828
1813
|
layoutRect,
|
|
1829
|
-
rootZIndex
|
|
1814
|
+
rootZIndex,
|
|
1815
|
+
layoutIsReady
|
|
1830
1816
|
});
|
|
1831
1817
|
const layoutClasses = computed(() => ['v-layout', {
|
|
1832
1818
|
'v-layout--full-height': props.fullHeight
|
|
@@ -1842,6 +1828,7 @@ function createLayout(props) {
|
|
|
1842
1828
|
getLayoutItem,
|
|
1843
1829
|
items,
|
|
1844
1830
|
layoutRect,
|
|
1831
|
+
layoutIsReady,
|
|
1845
1832
|
layoutRef: resizeRef
|
|
1846
1833
|
};
|
|
1847
1834
|
}
|
|
@@ -2536,7 +2523,9 @@ const VApp = genericComponent()({
|
|
|
2536
2523
|
"style": [props.style]
|
|
2537
2524
|
}, [createVNode("div", {
|
|
2538
2525
|
"class": "v-application__wrap"
|
|
2539
|
-
}, [
|
|
2526
|
+
}, [createVNode(Suspense, null, {
|
|
2527
|
+
default: () => [createVNode(Fragment, null, [slots.default?.()])]
|
|
2528
|
+
})])]));
|
|
2540
2529
|
return {
|
|
2541
2530
|
getLayoutItem,
|
|
2542
2531
|
items,
|
|
@@ -3869,9 +3858,8 @@ const VAppBar = genericComponent()({
|
|
|
3869
3858
|
const isFlat = computed(() => props.flat || scrollBehavior.value.elevate && (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0));
|
|
3870
3859
|
const opacity = computed(() => scrollBehavior.value.fadeImage ? scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value : undefined);
|
|
3871
3860
|
const height = computed(() => {
|
|
3872
|
-
|
|
3873
|
-
const
|
|
3874
|
-
const extensionHeight = vToolbarRef.value?.extensionHeight ?? 0;
|
|
3861
|
+
const height = Number(vToolbarRef.value?.contentHeight ?? props.height);
|
|
3862
|
+
const extensionHeight = Number(vToolbarRef.value?.extensionHeight ?? 0);
|
|
3875
3863
|
return height + extensionHeight;
|
|
3876
3864
|
});
|
|
3877
3865
|
useToggleScope(computed(() => !!props.scrollBehavior), () => {
|
|
@@ -3891,7 +3879,8 @@ const VAppBar = genericComponent()({
|
|
|
3891
3879
|
ssrBootStyles
|
|
3892
3880
|
} = useSsrBoot();
|
|
3893
3881
|
const {
|
|
3894
|
-
layoutItemStyles
|
|
3882
|
+
layoutItemStyles,
|
|
3883
|
+
layoutIsReady
|
|
3895
3884
|
} = useLayoutItem({
|
|
3896
3885
|
id: props.name,
|
|
3897
3886
|
order: computed(() => parseInt(props.order, 10)),
|
|
@@ -3919,7 +3908,7 @@ const VAppBar = genericComponent()({
|
|
|
3919
3908
|
"flat": isFlat.value
|
|
3920
3909
|
}), slots);
|
|
3921
3910
|
});
|
|
3922
|
-
return
|
|
3911
|
+
return layoutIsReady;
|
|
3923
3912
|
}
|
|
3924
3913
|
});
|
|
3925
3914
|
|
|
@@ -12915,9 +12904,10 @@ const VBottomNavigation = genericComponent()({
|
|
|
12915
12904
|
ssrBootStyles
|
|
12916
12905
|
} = useSsrBoot();
|
|
12917
12906
|
const height = computed(() => Number(props.height) - (props.density === 'comfortable' ? 8 : 0) - (props.density === 'compact' ? 16 : 0));
|
|
12918
|
-
const isActive =
|
|
12907
|
+
const isActive = useProxiedModel(props, 'modelValue', props.modelValue);
|
|
12919
12908
|
const {
|
|
12920
|
-
layoutItemStyles
|
|
12909
|
+
layoutItemStyles,
|
|
12910
|
+
layoutIsReady
|
|
12921
12911
|
} = useLayoutItem({
|
|
12922
12912
|
id: props.name,
|
|
12923
12913
|
order: computed(() => parseInt(props.order, 10)),
|
|
@@ -12955,7 +12945,7 @@ const VBottomNavigation = genericComponent()({
|
|
|
12955
12945
|
}, [slots.default()])]
|
|
12956
12946
|
});
|
|
12957
12947
|
});
|
|
12958
|
-
return
|
|
12948
|
+
return layoutIsReady;
|
|
12959
12949
|
}
|
|
12960
12950
|
});
|
|
12961
12951
|
|
|
@@ -21526,7 +21516,8 @@ const VFooter = genericComponent()({
|
|
|
21526
21516
|
});
|
|
21527
21517
|
const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10));
|
|
21528
21518
|
const {
|
|
21529
|
-
layoutItemStyles
|
|
21519
|
+
layoutItemStyles,
|
|
21520
|
+
layoutIsReady
|
|
21530
21521
|
} = useLayoutItem({
|
|
21531
21522
|
id: props.name,
|
|
21532
21523
|
order: computed(() => parseInt(props.order, 10)),
|
|
@@ -21543,7 +21534,7 @@ const VFooter = genericComponent()({
|
|
|
21543
21534
|
height: convertToUnit(props.height)
|
|
21544
21535
|
}, props.style]
|
|
21545
21536
|
}, slots));
|
|
21546
|
-
return {};
|
|
21537
|
+
return props.app ? layoutIsReady : {};
|
|
21547
21538
|
}
|
|
21548
21539
|
});
|
|
21549
21540
|
|
|
@@ -21966,7 +21957,9 @@ const VLayout = genericComponent()({
|
|
|
21966
21957
|
"ref": layoutRef,
|
|
21967
21958
|
"class": [layoutClasses.value, props.class],
|
|
21968
21959
|
"style": [layoutStyles.value, props.style]
|
|
21969
|
-
}, [
|
|
21960
|
+
}, [createVNode(Suspense, null, {
|
|
21961
|
+
default: () => [createVNode(Fragment, null, [slots.default?.()])]
|
|
21962
|
+
})]));
|
|
21970
21963
|
return {
|
|
21971
21964
|
getLayoutItem,
|
|
21972
21965
|
items
|
|
@@ -21997,7 +21990,8 @@ const VLayoutItem = genericComponent()({
|
|
|
21997
21990
|
slots
|
|
21998
21991
|
} = _ref;
|
|
21999
21992
|
const {
|
|
22000
|
-
layoutItemStyles
|
|
21993
|
+
layoutItemStyles,
|
|
21994
|
+
layoutIsReady
|
|
22001
21995
|
} = useLayoutItem({
|
|
22002
21996
|
id: props.name,
|
|
22003
21997
|
order: computed(() => parseInt(props.order, 10)),
|
|
@@ -22007,10 +22001,11 @@ const VLayoutItem = genericComponent()({
|
|
|
22007
22001
|
active: toRef(props, 'modelValue'),
|
|
22008
22002
|
absolute: toRef(props, 'absolute')
|
|
22009
22003
|
});
|
|
22010
|
-
|
|
22004
|
+
useRender(() => createVNode("div", {
|
|
22011
22005
|
"class": ['v-layout-item', props.class],
|
|
22012
22006
|
"style": [layoutItemStyles.value, props.style]
|
|
22013
|
-
}, [slots.default?.()]);
|
|
22007
|
+
}, [slots.default?.()]));
|
|
22008
|
+
return layoutIsReady;
|
|
22014
22009
|
}
|
|
22015
22010
|
});
|
|
22016
22011
|
|
|
@@ -22117,7 +22112,8 @@ const VMain = genericComponent()({
|
|
|
22117
22112
|
slots
|
|
22118
22113
|
} = _ref;
|
|
22119
22114
|
const {
|
|
22120
|
-
mainStyles
|
|
22115
|
+
mainStyles,
|
|
22116
|
+
layoutIsReady
|
|
22121
22117
|
} = useLayout();
|
|
22122
22118
|
const {
|
|
22123
22119
|
ssrBootStyles
|
|
@@ -22132,7 +22128,7 @@ const VMain = genericComponent()({
|
|
|
22132
22128
|
"class": "v-main__scroller"
|
|
22133
22129
|
}, [slots.default?.()]) : slots.default?.()]
|
|
22134
22130
|
}));
|
|
22135
|
-
return
|
|
22131
|
+
return layoutIsReady;
|
|
22136
22132
|
}
|
|
22137
22133
|
});
|
|
22138
22134
|
|
|
@@ -22557,10 +22553,9 @@ const VNavigationDrawer = genericComponent()({
|
|
|
22557
22553
|
watch(() => props.permanent, val => {
|
|
22558
22554
|
if (val) isActive.value = true;
|
|
22559
22555
|
});
|
|
22560
|
-
|
|
22561
|
-
if (props.modelValue != null || isTemporary.value) return;
|
|
22556
|
+
if (props.modelValue == null && !isTemporary.value) {
|
|
22562
22557
|
isActive.value = props.permanent || !mobile.value;
|
|
22563
|
-
}
|
|
22558
|
+
}
|
|
22564
22559
|
const {
|
|
22565
22560
|
isDragging,
|
|
22566
22561
|
dragProgress,
|
|
@@ -22578,7 +22573,8 @@ const VNavigationDrawer = genericComponent()({
|
|
|
22578
22573
|
});
|
|
22579
22574
|
const {
|
|
22580
22575
|
layoutItemStyles,
|
|
22581
|
-
layoutItemScrimStyles
|
|
22576
|
+
layoutItemScrimStyles,
|
|
22577
|
+
layoutIsReady
|
|
22582
22578
|
} = useLayoutItem({
|
|
22583
22579
|
id: props.name,
|
|
22584
22580
|
order: computed(() => parseInt(props.order, 10)),
|
|
@@ -22662,9 +22658,9 @@ const VNavigationDrawer = genericComponent()({
|
|
|
22662
22658
|
}, scopeId), null)]
|
|
22663
22659
|
})]);
|
|
22664
22660
|
});
|
|
22665
|
-
return {
|
|
22661
|
+
return layoutIsReady.then(() => ({
|
|
22666
22662
|
isStuck
|
|
22667
|
-
};
|
|
22663
|
+
}));
|
|
22668
22664
|
}
|
|
22669
22665
|
});
|
|
22670
22666
|
|
|
@@ -25665,7 +25661,7 @@ function createVuetify$1() {
|
|
|
25665
25661
|
goTo
|
|
25666
25662
|
};
|
|
25667
25663
|
}
|
|
25668
|
-
const version$1 = "3.5.3-dev.2024-02-
|
|
25664
|
+
const version$1 = "3.5.3-dev.2024-02-14";
|
|
25669
25665
|
createVuetify$1.version = version$1;
|
|
25670
25666
|
|
|
25671
25667
|
// Vue's inject() can only be used in setup
|
|
@@ -25690,7 +25686,7 @@ const createVuetify = function () {
|
|
|
25690
25686
|
...options
|
|
25691
25687
|
});
|
|
25692
25688
|
};
|
|
25693
|
-
const version = "3.5.3-dev.2024-02-
|
|
25689
|
+
const version = "3.5.3-dev.2024-02-14";
|
|
25694
25690
|
createVuetify.version = version;
|
|
25695
25691
|
|
|
25696
25692
|
export { components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };
|