@vuetify/nightly 3.0.0-beta.6 → 3.0.0-beta.9
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 +14 -39
- package/dist/json/attributes.json +98 -14
- package/dist/json/importMap.json +64 -64
- package/dist/json/tags.json +23 -2
- package/dist/json/web-types.json +253 -40
- package/dist/vuetify.css +1469 -1640
- package/dist/vuetify.d.ts +1701 -7588
- package/dist/vuetify.esm.js +694 -443
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +693 -441
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +3 -3
- package/dist/vuetify.min.js +766 -742
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +0 -3
- package/lib/components/VAlert/VAlert.mjs +20 -10
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/VAlert.sass +0 -3
- package/lib/components/VAutocomplete/VAutocomplete.css +10 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -3
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +10 -0
- package/lib/components/VAutocomplete/_variables.scss +1 -0
- package/lib/components/VAvatar/VAvatar.css +2 -0
- package/lib/components/VAvatar/VAvatar.sass +3 -0
- package/lib/components/VBtn/VBtn.css +29 -5
- package/lib/components/VBtn/VBtn.sass +40 -10
- package/lib/components/VBtn/_variables.scss +4 -0
- package/lib/components/VBtnGroup/VBtnGroup.css +1 -0
- package/lib/components/VCard/VCard.mjs +12 -7
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.css +10 -0
- package/lib/components/VCombobox/VCombobox.mjs +2 -2
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.sass +10 -0
- package/lib/components/VCombobox/_variables.scss +1 -0
- package/lib/components/VDialog/VDialog.mjs +3 -3
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VField/VField.css +44 -25
- package/lib/components/VField/VField.mjs +1 -1
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +33 -19
- package/lib/components/VField/_variables.scss +3 -2
- package/lib/components/VFileInput/VFileInput.mjs +2 -2
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VForm/VForm.mjs +2 -2
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VGrid/VCol.mjs +2 -1
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs +8 -3
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.css +0 -10
- package/lib/components/VIcon/VIcon.sass +0 -10
- package/lib/components/VIcon/_variables.scss +0 -1
- package/lib/components/VImg/VImg.mjs +1 -0
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VInput/VInput.css +2 -1
- package/lib/components/VInput/VInput.sass +2 -1
- package/lib/components/VInput/_variables.scss +0 -1
- package/lib/components/VLayout/VLayout.css +0 -2
- package/lib/components/VLayout/VLayout.sass +0 -2
- package/lib/components/VList/VList.css +4 -1
- package/lib/components/VList/VList.sass +5 -1
- package/lib/components/VList/VListChildren.mjs +19 -2
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +18 -11
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/_variables.scss +1 -0
- package/lib/components/VMain/VMain.css +21 -3
- package/lib/components/VMain/VMain.mjs +13 -8
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMain/VMain.sass +18 -3
- package/lib/components/VMenu/VMenu.mjs +2 -2
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +12 -17
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +52 -19
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +15 -20
- package/lib/components/VNavigationDrawer/_variables.scss +1 -1
- package/lib/components/VNavigationDrawer/sticky.mjs +72 -0
- package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -0
- package/lib/components/VOverlay/VOverlay.mjs +8 -6
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/_variables.scss +1 -1
- package/lib/components/VOverlay/useActivator.mjs +1 -1
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs +1 -1
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VRadio/VRadio.mjs +8 -17
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs +20 -3
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.css +10 -0
- package/lib/components/VSelect/VSelect.mjs +3 -4
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.sass +10 -0
- package/lib/components/VSelect/_variables.scss +1 -0
- package/lib/components/VSelectionControl/VSelectionControl.mjs +9 -4
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.css +1 -1
- package/lib/components/VSnackbar/VSnackbar.mjs +4 -4
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/_variables.scss +1 -3
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTabs/VTab.css +0 -1
- package/lib/components/VTabs/VTab.sass +0 -1
- package/lib/components/VTextField/VTextField.css +2 -1
- package/lib/components/VTextField/VTextField.mjs +19 -21
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/VTextField.sass +2 -1
- package/lib/components/VTextarea/VTextarea.css +6 -2
- package/lib/components/VTextarea/VTextarea.mjs +18 -11
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/VTextarea.sass +9 -2
- package/lib/components/VTextarea/_variables.scss +0 -1
- package/lib/components/VTimeline/VTimeline.css +123 -112
- package/lib/components/VTimeline/VTimeline.mjs +4 -4
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimeline.sass +129 -111
- package/lib/components/VTimeline/VTimelineDivider.mjs +5 -2
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +3 -1
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.css +9 -33
- package/lib/components/VToolbar/VToolbar.mjs +3 -4
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.sass +5 -15
- package/lib/components/VToolbar/_variables.scss +3 -7
- package/lib/components/VTooltip/VTooltip.mjs +2 -2
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/index.d.ts +1696 -7583
- package/lib/composables/color.mjs +19 -26
- package/lib/composables/color.mjs.map +1 -1
- package/lib/composables/defaults.mjs +1 -1
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/form.mjs +29 -9
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/{forwardRef.mjs → forwardRefs.mjs} +29 -3
- package/lib/composables/forwardRefs.mjs.map +1 -0
- package/lib/composables/index.mjs +3 -2
- package/lib/composables/index.mjs.map +1 -1
- package/lib/composables/layout.mjs +12 -12
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/rtl.mjs +2 -2
- package/lib/composables/rtl.mjs.map +1 -1
- package/lib/composables/size.mjs +18 -14
- package/lib/composables/size.mjs.map +1 -1
- package/lib/composables/stack.mjs +22 -12
- package/lib/composables/stack.mjs.map +1 -1
- package/lib/composables/theme.mjs +9 -6
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/validation.mjs +13 -3
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/index.d.ts +21 -21
- package/lib/styles/generic/_colors.scss +17 -9
- package/lib/styles/main.css +1135 -1371
- package/lib/styles/settings/_utilities.scss +16 -5
- package/lib/styles/utilities/_index.sass +0 -1
- package/lib/util/anchor.mjs +1 -3
- package/lib/util/anchor.mjs.map +1 -1
- package/lib/util/colorUtils.mjs +2 -2
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/colors.mjs +1 -1
- package/lib/util/colors.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +6 -3
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +4 -1
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/injectSelf.mjs +12 -0
- package/lib/util/injectSelf.mjs.map +1 -0
- package/package.json +3 -1
- package/lib/composables/forwardRef.mjs.map +0 -1
- package/lib/styles/utilities/_text.sass +0 -9
package/dist/vuetify.esm.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.0.0-beta.
|
|
2
|
+
* Vuetify v3.0.0-beta.9
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { readonly, ref, onBeforeUnmount, watch, Fragment, computed, toRef, unref, provide, inject, defineComponent as defineComponent$1,
|
|
7
|
+
import { readonly, ref, onBeforeUnmount, watch, Fragment, computed, toRef, getCurrentInstance as getCurrentInstance$1, unref, provide, inject, defineComponent as defineComponent$1, shallowRef, shallowReactive, toRaw, watchEffect, effectScope, capitalize, camelize, h, onDeactivated, onActivated, reactive, onMounted, createVNode, toRefs, TransitionGroup, Transition, mergeProps, onBeforeMount, nextTick, withDirectives, vShow, resolveDirective, isRef, resolveDynamicComponent, onScopeDispose, warn, toHandlers, Teleport, vModelDynamic, cloneVNode, createTextVNode, onBeforeUpdate, vModelText } from 'vue';
|
|
8
8
|
|
|
9
9
|
const IN_BROWSER = typeof window !== 'undefined';
|
|
10
10
|
const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
|
|
@@ -347,7 +347,8 @@ function getEventCoordinates(e) {
|
|
|
347
347
|
clientX: e.clientX,
|
|
348
348
|
clientY: e.clientY
|
|
349
349
|
};
|
|
350
|
-
}
|
|
350
|
+
} // Only allow a single return type
|
|
351
|
+
|
|
351
352
|
function destructComputed(getter) {
|
|
352
353
|
const refs = {};
|
|
353
354
|
const base = computed(getter);
|
|
@@ -365,6 +366,8 @@ function destructComputed(getter) {
|
|
|
365
366
|
});
|
|
366
367
|
return refs;
|
|
367
368
|
}
|
|
369
|
+
/** Array.includes but value can be any type */
|
|
370
|
+
|
|
368
371
|
function includes(arr, val) {
|
|
369
372
|
return arr.includes(val);
|
|
370
373
|
}
|
|
@@ -385,13 +388,11 @@ function parseAnchor(anchor, isRtl) {
|
|
|
385
388
|
align: toPhysical(align, isRtl)
|
|
386
389
|
};
|
|
387
390
|
}
|
|
388
|
-
|
|
389
391
|
function toPhysical(str, isRtl) {
|
|
390
392
|
if (str === 'start') return isRtl ? 'right' : 'left';
|
|
391
393
|
if (str === 'end') return isRtl ? 'left' : 'right';
|
|
392
394
|
return str;
|
|
393
395
|
}
|
|
394
|
-
|
|
395
396
|
function flipSide(anchor) {
|
|
396
397
|
return {
|
|
397
398
|
side: {
|
|
@@ -667,7 +668,7 @@ function colorToInt(color) {
|
|
|
667
668
|
c = c.split('').map(char => char + char).join('');
|
|
668
669
|
}
|
|
669
670
|
|
|
670
|
-
if (c.length !== 6) {
|
|
671
|
+
if (c.length !== 6 && c.length !== 8) {
|
|
671
672
|
consoleWarn(`'${color}' is not a valid rgb color`);
|
|
672
673
|
}
|
|
673
674
|
|
|
@@ -679,7 +680,7 @@ function colorToInt(color) {
|
|
|
679
680
|
if (rgb < 0) {
|
|
680
681
|
consoleWarn(`Colors cannot be negative: '${color}'`);
|
|
681
682
|
rgb = 0;
|
|
682
|
-
} else if (rgb >
|
|
683
|
+
} else if (rgb > 0xffffffff || isNaN(rgb)) {
|
|
683
684
|
consoleWarn(`'${color}' is not a valid rgb color`);
|
|
684
685
|
rgb = 0xffffff;
|
|
685
686
|
}
|
|
@@ -881,6 +882,53 @@ function getContrast(first, second) {
|
|
|
881
882
|
return (light + 0.05) / (dark + 0.05);
|
|
882
883
|
}
|
|
883
884
|
|
|
885
|
+
// Utilities
|
|
886
|
+
function getCurrentInstance(name, message) {
|
|
887
|
+
const vm = getCurrentInstance$1();
|
|
888
|
+
|
|
889
|
+
if (!vm) {
|
|
890
|
+
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
return vm;
|
|
894
|
+
}
|
|
895
|
+
function getCurrentInstanceName() {
|
|
896
|
+
var _getCurrentInstance$t;
|
|
897
|
+
|
|
898
|
+
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
|
899
|
+
return toKebabCase((_getCurrentInstance$t = getCurrentInstance(name).type) == null ? void 0 : _getCurrentInstance$t.name);
|
|
900
|
+
}
|
|
901
|
+
let _uid = 0;
|
|
902
|
+
|
|
903
|
+
let _map = new WeakMap();
|
|
904
|
+
|
|
905
|
+
function getUid() {
|
|
906
|
+
const vm = getCurrentInstance('getUid');
|
|
907
|
+
if (_map.has(vm)) return _map.get(vm);else {
|
|
908
|
+
const uid = _uid++;
|
|
909
|
+
|
|
910
|
+
_map.set(vm, uid);
|
|
911
|
+
|
|
912
|
+
return uid;
|
|
913
|
+
}
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
getUid.reset = () => {
|
|
917
|
+
_uid = 0;
|
|
918
|
+
_map = new WeakMap();
|
|
919
|
+
};
|
|
920
|
+
|
|
921
|
+
function injectSelf(key) {
|
|
922
|
+
const {
|
|
923
|
+
provides
|
|
924
|
+
} = getCurrentInstance('injectSelf');
|
|
925
|
+
|
|
926
|
+
if (provides && key in provides) {
|
|
927
|
+
// TS doesn't allow symbol as index type
|
|
928
|
+
return provides[key];
|
|
929
|
+
}
|
|
930
|
+
}
|
|
931
|
+
|
|
884
932
|
// Utilities
|
|
885
933
|
|
|
886
934
|
const DefaultsSymbol = Symbol.for('vuetify:defaults');
|
|
@@ -992,7 +1040,9 @@ const defineComponent = function defineComponent(options) {
|
|
|
992
1040
|
if (!val && scope) scope.stop();else if (val && !oldVal) {
|
|
993
1041
|
scope = effectScope();
|
|
994
1042
|
scope.run(() => {
|
|
995
|
-
|
|
1043
|
+
var _injectSelf$value, _injectSelf;
|
|
1044
|
+
|
|
1045
|
+
provideDefaults(mergeDeep((_injectSelf$value = (_injectSelf = injectSelf(DefaultsSymbol)) == null ? void 0 : _injectSelf.value) != null ? _injectSelf$value : {}, val));
|
|
996
1046
|
});
|
|
997
1047
|
}
|
|
998
1048
|
}, {
|
|
@@ -1066,42 +1116,6 @@ const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)'; // Entering
|
|
|
1066
1116
|
|
|
1067
1117
|
const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)'; // Leaving
|
|
1068
1118
|
|
|
1069
|
-
// Utilities
|
|
1070
|
-
function getCurrentInstance(name, message) {
|
|
1071
|
-
const vm = getCurrentInstance$1();
|
|
1072
|
-
|
|
1073
|
-
if (!vm) {
|
|
1074
|
-
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
|
1075
|
-
}
|
|
1076
|
-
|
|
1077
|
-
return vm;
|
|
1078
|
-
}
|
|
1079
|
-
function getCurrentInstanceName() {
|
|
1080
|
-
var _getCurrentInstance$t;
|
|
1081
|
-
|
|
1082
|
-
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
|
1083
|
-
return toKebabCase((_getCurrentInstance$t = getCurrentInstance(name).type) == null ? void 0 : _getCurrentInstance$t.name);
|
|
1084
|
-
}
|
|
1085
|
-
let _uid = 0;
|
|
1086
|
-
|
|
1087
|
-
let _map = new WeakMap();
|
|
1088
|
-
|
|
1089
|
-
function getUid() {
|
|
1090
|
-
const vm = getCurrentInstance('getUid');
|
|
1091
|
-
if (_map.has(vm)) return _map.get(vm);else {
|
|
1092
|
-
const uid = _uid++;
|
|
1093
|
-
|
|
1094
|
-
_map.set(vm, uid);
|
|
1095
|
-
|
|
1096
|
-
return uid;
|
|
1097
|
-
}
|
|
1098
|
-
}
|
|
1099
|
-
|
|
1100
|
-
getUid.reset = () => {
|
|
1101
|
-
_uid = 0;
|
|
1102
|
-
_map = new WeakMap();
|
|
1103
|
-
};
|
|
1104
|
-
|
|
1105
1119
|
function getScrollParent(el) {
|
|
1106
1120
|
while (el) {
|
|
1107
1121
|
if (hasScrollbar(el)) return el;
|
|
@@ -1342,11 +1356,10 @@ function createLayout(props) {
|
|
|
1342
1356
|
const mainStyles = computed(() => {
|
|
1343
1357
|
const layer = layers.value[layers.value.length - 1].layer;
|
|
1344
1358
|
return {
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
paddingBottom: convertToUnit(layer.bottom),
|
|
1359
|
+
'--v-layout-left': convertToUnit(layer.left),
|
|
1360
|
+
'--v-layout-right': convertToUnit(layer.right),
|
|
1361
|
+
'--v-layout-top': convertToUnit(layer.top),
|
|
1362
|
+
'--v-layout-bottom': convertToUnit(layer.bottom),
|
|
1350
1363
|
...(transitionsEnabled.value ? undefined : {
|
|
1351
1364
|
transition: 'none'
|
|
1352
1365
|
})
|
|
@@ -1425,16 +1438,15 @@ function createLayout(props) {
|
|
|
1425
1438
|
|
|
1426
1439
|
return { ...styles,
|
|
1427
1440
|
height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : elementSize.value ? `${elementSize.value}px` : undefined,
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1441
|
+
left: isOppositeHorizontal ? undefined : `${item.left}px`,
|
|
1442
|
+
right: isOppositeHorizontal ? `${item.right}px` : undefined,
|
|
1443
|
+
top: position.value !== 'bottom' ? `${item.top}px` : undefined,
|
|
1444
|
+
bottom: position.value !== 'top' ? `${item.bottom}px` : undefined,
|
|
1432
1445
|
width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : elementSize.value ? `${elementSize.value}px` : undefined
|
|
1433
1446
|
};
|
|
1434
1447
|
});
|
|
1435
1448
|
const layoutItemScrimStyles = computed(() => ({
|
|
1436
|
-
zIndex: zIndex.value - 1
|
|
1437
|
-
position: rootZIndex.value === ROOT_ZINDEX ? 'fixed' : 'absolute'
|
|
1449
|
+
zIndex: zIndex.value - 1
|
|
1438
1450
|
}));
|
|
1439
1451
|
return {
|
|
1440
1452
|
layoutItemStyles,
|
|
@@ -1460,7 +1472,9 @@ function createLayout(props) {
|
|
|
1460
1472
|
'v-layout--full-height': props.fullHeight
|
|
1461
1473
|
}]);
|
|
1462
1474
|
const layoutStyles = computed(() => ({
|
|
1463
|
-
zIndex: rootZIndex.value
|
|
1475
|
+
zIndex: rootZIndex.value,
|
|
1476
|
+
position: parentLayout ? 'relative' : undefined,
|
|
1477
|
+
overflow: parentLayout ? 'hidden' : undefined
|
|
1464
1478
|
}));
|
|
1465
1479
|
return {
|
|
1466
1480
|
layoutClasses,
|
|
@@ -1691,7 +1705,7 @@ function createTheme(app, options) {
|
|
|
1691
1705
|
}
|
|
1692
1706
|
|
|
1693
1707
|
for (const color of Object.keys(theme.colors)) {
|
|
1694
|
-
if (
|
|
1708
|
+
if (/^on-[a-z]/.test(color) || theme.colors[`on-${color}`]) continue;
|
|
1695
1709
|
const onColor = `on-${color}`;
|
|
1696
1710
|
const colorVal = colorToInt(theme.colors[color]);
|
|
1697
1711
|
const blackContrast = Math.abs(APCAcontrast(0, colorVal));
|
|
@@ -1732,18 +1746,21 @@ function createTheme(app, options) {
|
|
|
1732
1746
|
})]);
|
|
1733
1747
|
}
|
|
1734
1748
|
|
|
1749
|
+
const bgLines = [];
|
|
1750
|
+
const fgLines = [];
|
|
1735
1751
|
const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));
|
|
1736
1752
|
|
|
1737
1753
|
for (const key of colors) {
|
|
1738
|
-
if (
|
|
1739
|
-
createCssClass(
|
|
1754
|
+
if (/^on-[a-z]/.test(key)) {
|
|
1755
|
+
createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
|
|
1740
1756
|
} else {
|
|
1741
|
-
createCssClass(
|
|
1742
|
-
createCssClass(
|
|
1743
|
-
createCssClass(
|
|
1757
|
+
createCssClass(bgLines, `.bg-${key}`, [`--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`, `background: rgb(var(--v-theme-${key})) !important`, `color: rgb(var(--v-theme-on-${key})) !important`]);
|
|
1758
|
+
createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
|
|
1759
|
+
createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`]);
|
|
1744
1760
|
}
|
|
1745
1761
|
}
|
|
1746
1762
|
|
|
1763
|
+
lines.push(...bgLines, ...fgLines);
|
|
1747
1764
|
return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');
|
|
1748
1765
|
});
|
|
1749
1766
|
|
|
@@ -1963,13 +1980,13 @@ const rtl = {
|
|
|
1963
1980
|
|
|
1964
1981
|
const RtlSymbol = Symbol.for('vuetify:rtl');
|
|
1965
1982
|
function createRtl(localeScope, options) {
|
|
1966
|
-
var _options$rtl
|
|
1983
|
+
var _options$rtl;
|
|
1967
1984
|
|
|
1968
1985
|
return createRtlScope({
|
|
1969
1986
|
rtl: { ...rtl,
|
|
1970
1987
|
...((_options$rtl = options == null ? void 0 : options.rtl) != null ? _options$rtl : {})
|
|
1971
1988
|
},
|
|
1972
|
-
isRtl: ref(
|
|
1989
|
+
isRtl: ref(false),
|
|
1973
1990
|
rtlClasses: ref('')
|
|
1974
1991
|
}, localeScope);
|
|
1975
1992
|
}
|
|
@@ -2751,6 +2768,7 @@ const VImg = defineComponent({
|
|
|
2751
2768
|
class: ['v-img__img', containClasses.value],
|
|
2752
2769
|
src: normalisedSrc.value.src,
|
|
2753
2770
|
srcset: normalisedSrc.value.srcset,
|
|
2771
|
+
alt: '',
|
|
2754
2772
|
sizes: props.sizes,
|
|
2755
2773
|
ref: image,
|
|
2756
2774
|
onLoad,
|
|
@@ -2983,39 +3001,32 @@ function useRounded(props) {
|
|
|
2983
3001
|
|
|
2984
3002
|
// Composables
|
|
2985
3003
|
function useColor(colors) {
|
|
2986
|
-
|
|
2987
|
-
const textIsCssColor = computed(() => isCssColor(colors.value.text));
|
|
2988
|
-
const colorClasses = computed(() => {
|
|
3004
|
+
return destructComputed(() => {
|
|
2989
3005
|
const classes = [];
|
|
2990
|
-
|
|
2991
|
-
if (colors.value.background && !backgroundIsCssColor.value) {
|
|
2992
|
-
classes.push(`bg-${colors.value.background}`);
|
|
2993
|
-
}
|
|
2994
|
-
|
|
2995
|
-
if (colors.value.text && !textIsCssColor.value) {
|
|
2996
|
-
classes.push(`text-${colors.value.text}`);
|
|
2997
|
-
}
|
|
2998
|
-
|
|
2999
|
-
return classes;
|
|
3000
|
-
});
|
|
3001
|
-
const colorStyles = computed(() => {
|
|
3002
3006
|
const styles = {};
|
|
3003
3007
|
|
|
3004
|
-
if (colors.value.background
|
|
3005
|
-
|
|
3008
|
+
if (colors.value.background) {
|
|
3009
|
+
if (isCssColor(colors.value.background)) {
|
|
3010
|
+
styles.backgroundColor = colors.value.background;
|
|
3011
|
+
} else {
|
|
3012
|
+
classes.push(`bg-${colors.value.background}`);
|
|
3013
|
+
}
|
|
3006
3014
|
}
|
|
3007
3015
|
|
|
3008
|
-
if (colors.value.text
|
|
3009
|
-
|
|
3010
|
-
|
|
3016
|
+
if (colors.value.text) {
|
|
3017
|
+
if (isCssColor(colors.value.text)) {
|
|
3018
|
+
styles.color = colors.value.text;
|
|
3019
|
+
styles.caretColor = colors.value.text;
|
|
3020
|
+
} else {
|
|
3021
|
+
classes.push(`text-${colors.value.text}`);
|
|
3022
|
+
}
|
|
3011
3023
|
}
|
|
3012
3024
|
|
|
3013
|
-
return
|
|
3025
|
+
return {
|
|
3026
|
+
colorClasses: classes,
|
|
3027
|
+
colorStyles: styles
|
|
3028
|
+
};
|
|
3014
3029
|
});
|
|
3015
|
-
return {
|
|
3016
|
-
colorClasses,
|
|
3017
|
-
colorStyles
|
|
3018
|
-
};
|
|
3019
3030
|
}
|
|
3020
3031
|
function useTextColor(props, name) {
|
|
3021
3032
|
const colors = computed(() => ({
|
|
@@ -3044,52 +3055,6 @@ function useBackgroundColor(props, name) {
|
|
|
3044
3055
|
};
|
|
3045
3056
|
}
|
|
3046
3057
|
|
|
3047
|
-
function useForwardRef(target) {
|
|
3048
|
-
for (var _len = arguments.length, refs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
3049
|
-
refs[_key - 1] = arguments[_key];
|
|
3050
|
-
}
|
|
3051
|
-
|
|
3052
|
-
return new Proxy(target, {
|
|
3053
|
-
get(target, key) {
|
|
3054
|
-
if (Reflect.has(target, key)) {
|
|
3055
|
-
return Reflect.get(target, key);
|
|
3056
|
-
}
|
|
3057
|
-
|
|
3058
|
-
for (const ref of refs) {
|
|
3059
|
-
if (ref.value && Reflect.has(ref.value, key)) {
|
|
3060
|
-
const val = Reflect.get(ref.value, key);
|
|
3061
|
-
return typeof val === 'function' ? val.bind(ref.value) : val;
|
|
3062
|
-
}
|
|
3063
|
-
}
|
|
3064
|
-
},
|
|
3065
|
-
|
|
3066
|
-
getOwnPropertyDescriptor(target, key) {
|
|
3067
|
-
const descriptor = Reflect.getOwnPropertyDescriptor(target, key);
|
|
3068
|
-
if (descriptor) return descriptor; // Check each ref's own properties
|
|
3069
|
-
|
|
3070
|
-
for (const ref of refs) {
|
|
3071
|
-
if (!ref.value) continue;
|
|
3072
|
-
const descriptor = Reflect.getOwnPropertyDescriptor(ref.value, key);
|
|
3073
|
-
if (descriptor) return descriptor;
|
|
3074
|
-
} // Recursive search up each ref's prototype
|
|
3075
|
-
|
|
3076
|
-
|
|
3077
|
-
for (const ref of refs) {
|
|
3078
|
-
let obj = ref.value && Object.getPrototypeOf(ref.value);
|
|
3079
|
-
|
|
3080
|
-
while (obj) {
|
|
3081
|
-
const descriptor = Reflect.getOwnPropertyDescriptor(obj, key);
|
|
3082
|
-
if (descriptor) return descriptor;
|
|
3083
|
-
obj = Object.getPrototypeOf(obj);
|
|
3084
|
-
}
|
|
3085
|
-
}
|
|
3086
|
-
|
|
3087
|
-
return undefined;
|
|
3088
|
-
}
|
|
3089
|
-
|
|
3090
|
-
});
|
|
3091
|
-
}
|
|
3092
|
-
|
|
3093
3058
|
const allowedDensities$1 = [null, 'prominent', 'default', 'comfortable', 'compact'];
|
|
3094
3059
|
const makeVToolbarProps = propsFactory({
|
|
3095
3060
|
absolute: Boolean,
|
|
@@ -3208,10 +3173,10 @@ const VToolbar = genericComponent()({
|
|
|
3208
3173
|
})]
|
|
3209
3174
|
});
|
|
3210
3175
|
});
|
|
3211
|
-
return
|
|
3176
|
+
return {
|
|
3212
3177
|
contentHeight,
|
|
3213
3178
|
extensionHeight
|
|
3214
|
-
}
|
|
3179
|
+
};
|
|
3215
3180
|
}
|
|
3216
3181
|
|
|
3217
3182
|
});
|
|
@@ -3902,19 +3867,24 @@ const makeSizeProps = propsFactory({
|
|
|
3902
3867
|
}, 'size');
|
|
3903
3868
|
function useSize(props) {
|
|
3904
3869
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
|
3905
|
-
|
|
3906
|
-
|
|
3907
|
-
|
|
3908
|
-
|
|
3909
|
-
|
|
3910
|
-
|
|
3911
|
-
|
|
3912
|
-
|
|
3870
|
+
return destructComputed(() => {
|
|
3871
|
+
let sizeClasses;
|
|
3872
|
+
let sizeStyles;
|
|
3873
|
+
|
|
3874
|
+
if (includes(predefinedSizes, props.size)) {
|
|
3875
|
+
sizeClasses = `${name}--size-${props.size}`;
|
|
3876
|
+
} else if (props.size) {
|
|
3877
|
+
sizeStyles = {
|
|
3878
|
+
width: convertToUnit(props.size),
|
|
3879
|
+
height: convertToUnit(props.size)
|
|
3880
|
+
};
|
|
3881
|
+
}
|
|
3882
|
+
|
|
3883
|
+
return {
|
|
3884
|
+
sizeClasses,
|
|
3885
|
+
sizeStyles
|
|
3886
|
+
};
|
|
3913
3887
|
});
|
|
3914
|
-
return {
|
|
3915
|
-
sizeClasses,
|
|
3916
|
-
sizeStyles
|
|
3917
|
-
};
|
|
3918
3888
|
}
|
|
3919
3889
|
|
|
3920
3890
|
const makeVIconProps = propsFactory({
|
|
@@ -5083,6 +5053,141 @@ const VAppBarTitle = defineComponent({
|
|
|
5083
5053
|
// Utilities
|
|
5084
5054
|
const VAlertTitle = createSimpleFunctional('v-alert-title');
|
|
5085
5055
|
|
|
5056
|
+
// Locales
|
|
5057
|
+
|
|
5058
|
+
const LocaleAdapterSymbol = Symbol.for('vuetify:locale-adapter');
|
|
5059
|
+
const VuetifyLocaleSymbol = Symbol.for('vuetify:locale');
|
|
5060
|
+
function provideLocale(props) {
|
|
5061
|
+
const adapter = inject(LocaleAdapterSymbol);
|
|
5062
|
+
if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter');
|
|
5063
|
+
return adapter.createScope(props);
|
|
5064
|
+
}
|
|
5065
|
+
function useLocale() {
|
|
5066
|
+
const adapter = inject(LocaleAdapterSymbol);
|
|
5067
|
+
if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter');
|
|
5068
|
+
return adapter.getScope();
|
|
5069
|
+
}
|
|
5070
|
+
|
|
5071
|
+
function isLocaleAdapter(x) {
|
|
5072
|
+
return !!x && x.hasOwnProperty('getScope') && x.hasOwnProperty('createScope') && x.hasOwnProperty('createRoot');
|
|
5073
|
+
}
|
|
5074
|
+
|
|
5075
|
+
function createLocale(app, options) {
|
|
5076
|
+
const adapter = isLocaleAdapter(options) ? options : createDefaultLocaleAdapter(options);
|
|
5077
|
+
const instance = adapter.createRoot(app);
|
|
5078
|
+
app == null ? void 0 : app.provide(RtlSymbol, createRtl(instance, options));
|
|
5079
|
+
return adapter;
|
|
5080
|
+
}
|
|
5081
|
+
const LANG_PREFIX = '$vuetify.';
|
|
5082
|
+
|
|
5083
|
+
const replace = (str, params) => {
|
|
5084
|
+
return str.replace(/\{(\d+)\}/g, (match, index) => {
|
|
5085
|
+
/* istanbul ignore next */
|
|
5086
|
+
return String(params[+index]);
|
|
5087
|
+
});
|
|
5088
|
+
};
|
|
5089
|
+
|
|
5090
|
+
const createTranslateFunction = (current, fallback, messages) => {
|
|
5091
|
+
return function (key) {
|
|
5092
|
+
for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
5093
|
+
params[_key - 1] = arguments[_key];
|
|
5094
|
+
}
|
|
5095
|
+
|
|
5096
|
+
if (!key.startsWith(LANG_PREFIX)) {
|
|
5097
|
+
return replace(key, params);
|
|
5098
|
+
}
|
|
5099
|
+
|
|
5100
|
+
const shortKey = key.replace(LANG_PREFIX, '');
|
|
5101
|
+
const currentLocale = current.value && messages.value[current.value];
|
|
5102
|
+
const fallbackLocale = fallback.value && messages.value[fallback.value];
|
|
5103
|
+
let str = getObjectValueByPath(currentLocale, shortKey, null);
|
|
5104
|
+
|
|
5105
|
+
if (!str) {
|
|
5106
|
+
consoleWarn(`Translation key "${key}" not found in "${current.value}", trying fallback locale`);
|
|
5107
|
+
str = getObjectValueByPath(fallbackLocale, shortKey, null);
|
|
5108
|
+
}
|
|
5109
|
+
|
|
5110
|
+
if (!str) {
|
|
5111
|
+
consoleError(`Translation key "${key}" not found in fallback`);
|
|
5112
|
+
str = key;
|
|
5113
|
+
}
|
|
5114
|
+
|
|
5115
|
+
if (typeof str !== 'string') {
|
|
5116
|
+
consoleError(`Translation key "${key}" has a non-string value`);
|
|
5117
|
+
str = key;
|
|
5118
|
+
}
|
|
5119
|
+
|
|
5120
|
+
return replace(str, params);
|
|
5121
|
+
};
|
|
5122
|
+
};
|
|
5123
|
+
|
|
5124
|
+
function createNumberFunction(current, fallback) {
|
|
5125
|
+
return (value, options) => {
|
|
5126
|
+
const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options);
|
|
5127
|
+
return numberFormat.format(value);
|
|
5128
|
+
};
|
|
5129
|
+
}
|
|
5130
|
+
|
|
5131
|
+
function createDefaultLocaleAdapter(options) {
|
|
5132
|
+
const createScope = options => {
|
|
5133
|
+
const current = ref(options.current);
|
|
5134
|
+
const fallback = ref(options.fallback);
|
|
5135
|
+
const messages = ref(options.messages);
|
|
5136
|
+
return {
|
|
5137
|
+
current,
|
|
5138
|
+
fallback,
|
|
5139
|
+
messages,
|
|
5140
|
+
t: createTranslateFunction(current, fallback, messages),
|
|
5141
|
+
n: createNumberFunction(current, fallback)
|
|
5142
|
+
};
|
|
5143
|
+
};
|
|
5144
|
+
|
|
5145
|
+
return {
|
|
5146
|
+
createRoot: app => {
|
|
5147
|
+
var _options$defaultLocal, _options$fallbackLoca, _options$messages;
|
|
5148
|
+
|
|
5149
|
+
const rootScope = createScope({
|
|
5150
|
+
current: (_options$defaultLocal = options == null ? void 0 : options.defaultLocale) != null ? _options$defaultLocal : 'en',
|
|
5151
|
+
fallback: (_options$fallbackLoca = options == null ? void 0 : options.fallbackLocale) != null ? _options$fallbackLoca : 'en',
|
|
5152
|
+
messages: (_options$messages = options == null ? void 0 : options.messages) != null ? _options$messages : {
|
|
5153
|
+
en
|
|
5154
|
+
}
|
|
5155
|
+
});
|
|
5156
|
+
if (!app) throw new Error('[Vuetify] Could not find default app instance');
|
|
5157
|
+
app.provide(VuetifyLocaleSymbol, rootScope);
|
|
5158
|
+
return rootScope;
|
|
5159
|
+
},
|
|
5160
|
+
getScope: () => {
|
|
5161
|
+
const currentScope = inject(VuetifyLocaleSymbol);
|
|
5162
|
+
if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance');
|
|
5163
|
+
return currentScope;
|
|
5164
|
+
},
|
|
5165
|
+
createScope: options => {
|
|
5166
|
+
const currentScope = inject(VuetifyLocaleSymbol);
|
|
5167
|
+
if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance');
|
|
5168
|
+
const newScope = createScope({
|
|
5169
|
+
current: computed(() => {
|
|
5170
|
+
var _options$locale;
|
|
5171
|
+
|
|
5172
|
+
return (_options$locale = options == null ? void 0 : options.locale) != null ? _options$locale : currentScope.current.value;
|
|
5173
|
+
}),
|
|
5174
|
+
fallback: computed(() => {
|
|
5175
|
+
var _options$locale2;
|
|
5176
|
+
|
|
5177
|
+
return (_options$locale2 = options == null ? void 0 : options.locale) != null ? _options$locale2 : currentScope.fallback.value;
|
|
5178
|
+
}),
|
|
5179
|
+
messages: computed(() => {
|
|
5180
|
+
var _options$messages2;
|
|
5181
|
+
|
|
5182
|
+
return (_options$messages2 = options == null ? void 0 : options.messages) != null ? _options$messages2 : currentScope.messages.value;
|
|
5183
|
+
})
|
|
5184
|
+
});
|
|
5185
|
+
provide(VuetifyLocaleSymbol, newScope);
|
|
5186
|
+
return newScope;
|
|
5187
|
+
}
|
|
5188
|
+
};
|
|
5189
|
+
}
|
|
5190
|
+
|
|
5086
5191
|
const allowedTypes = ['success', 'info', 'warning', 'error'];
|
|
5087
5192
|
const VAlert = defineComponent({
|
|
5088
5193
|
name: 'VAlert',
|
|
@@ -5184,13 +5289,19 @@ const VAlert = defineComponent({
|
|
|
5184
5289
|
textColorClasses,
|
|
5185
5290
|
textColorStyles
|
|
5186
5291
|
} = useTextColor(toRef(props, 'borderColor'));
|
|
5292
|
+
const {
|
|
5293
|
+
t
|
|
5294
|
+
} = useLocale();
|
|
5295
|
+
const closeProps = computed(() => ({
|
|
5296
|
+
'aria-label': t(props.closeLabel),
|
|
5187
5297
|
|
|
5188
|
-
|
|
5189
|
-
|
|
5190
|
-
|
|
5298
|
+
onClick(e) {
|
|
5299
|
+
isActive.value = false;
|
|
5300
|
+
}
|
|
5191
5301
|
|
|
5302
|
+
}));
|
|
5192
5303
|
return () => {
|
|
5193
|
-
var _slots$default;
|
|
5304
|
+
var _slots$default, _slots$close, _slots$close2;
|
|
5194
5305
|
|
|
5195
5306
|
const hasPrepend = !!(slots.prepend || icon.value);
|
|
5196
5307
|
const hasTitle = !!(slots.title || props.title);
|
|
@@ -5216,7 +5327,7 @@ const VAlert = defineComponent({
|
|
|
5216
5327
|
VIcon: {
|
|
5217
5328
|
density: props.density,
|
|
5218
5329
|
icon: icon.value,
|
|
5219
|
-
size: props.prominent ? 44 :
|
|
5330
|
+
size: props.prominent ? 44 : 28
|
|
5220
5331
|
}
|
|
5221
5332
|
}
|
|
5222
5333
|
}, {
|
|
@@ -5235,16 +5346,18 @@ const VAlert = defineComponent({
|
|
|
5235
5346
|
}, [slots.append()]), hasClose && createVNode(VDefaultsProvider, {
|
|
5236
5347
|
"key": "close",
|
|
5237
5348
|
"defaults": {
|
|
5238
|
-
|
|
5349
|
+
VBtn: {
|
|
5239
5350
|
icon: props.closeIcon,
|
|
5240
|
-
size: 'small'
|
|
5351
|
+
size: 'x-small',
|
|
5352
|
+
variant: 'text'
|
|
5241
5353
|
}
|
|
5242
5354
|
}
|
|
5243
5355
|
}, {
|
|
5244
5356
|
default: () => [createVNode("div", {
|
|
5245
|
-
"class": "v-alert__close"
|
|
5246
|
-
|
|
5247
|
-
|
|
5357
|
+
"class": "v-alert__close"
|
|
5358
|
+
}, [(_slots$close = (_slots$close2 = slots.close) == null ? void 0 : _slots$close2.call(slots, {
|
|
5359
|
+
props: closeProps.value
|
|
5360
|
+
})) != null ? _slots$close : createVNode(VBtn, closeProps.value, null)])]
|
|
5248
5361
|
})]
|
|
5249
5362
|
});
|
|
5250
5363
|
};
|
|
@@ -5358,20 +5471,34 @@ function createForm(props) {
|
|
|
5358
5471
|
}
|
|
5359
5472
|
|
|
5360
5473
|
watch(items, () => {
|
|
5361
|
-
let valid =
|
|
5474
|
+
let valid = 0;
|
|
5475
|
+
let invalid = 0;
|
|
5476
|
+
const results = [];
|
|
5362
5477
|
|
|
5363
|
-
|
|
5364
|
-
|
|
5365
|
-
|
|
5366
|
-
|
|
5478
|
+
for (const item of items.value) {
|
|
5479
|
+
if (item.isValid === false) {
|
|
5480
|
+
invalid++;
|
|
5481
|
+
results.push({
|
|
5482
|
+
id: item.id,
|
|
5483
|
+
errorMessages: item.errorMessages
|
|
5484
|
+
});
|
|
5485
|
+
} else if (item.isValid === true) valid++;
|
|
5367
5486
|
}
|
|
5368
5487
|
|
|
5369
|
-
|
|
5488
|
+
errors.value = results;
|
|
5489
|
+
model.value = invalid > 0 ? false : valid === items.value.length ? true : null;
|
|
5370
5490
|
}, {
|
|
5371
5491
|
deep: true
|
|
5372
5492
|
});
|
|
5373
5493
|
provide(FormKey, {
|
|
5374
|
-
register:
|
|
5494
|
+
register: _ref => {
|
|
5495
|
+
let {
|
|
5496
|
+
id,
|
|
5497
|
+
validate,
|
|
5498
|
+
reset,
|
|
5499
|
+
resetValidation
|
|
5500
|
+
} = _ref;
|
|
5501
|
+
|
|
5375
5502
|
if (items.value.some(item => item.id === id)) {
|
|
5376
5503
|
consoleWarn(`Duplicate input name "${id}"`);
|
|
5377
5504
|
}
|
|
@@ -5381,8 +5508,8 @@ function createForm(props) {
|
|
|
5381
5508
|
validate,
|
|
5382
5509
|
reset,
|
|
5383
5510
|
resetValidation,
|
|
5384
|
-
isValid:
|
|
5385
|
-
|
|
5511
|
+
isValid: null,
|
|
5512
|
+
errorMessages: []
|
|
5386
5513
|
});
|
|
5387
5514
|
},
|
|
5388
5515
|
unregister: id => {
|
|
@@ -5390,6 +5517,12 @@ function createForm(props) {
|
|
|
5390
5517
|
return item.id !== id;
|
|
5391
5518
|
});
|
|
5392
5519
|
},
|
|
5520
|
+
update: (id, isValid, errorMessages) => {
|
|
5521
|
+
const found = items.value.find(item => item.id === id);
|
|
5522
|
+
if (!found) return;
|
|
5523
|
+
found.isValid = isValid;
|
|
5524
|
+
found.errorMessages = errorMessages;
|
|
5525
|
+
},
|
|
5393
5526
|
isDisabled,
|
|
5394
5527
|
isReadonly,
|
|
5395
5528
|
isValidating,
|
|
@@ -5470,14 +5603,24 @@ function useValidation(props) {
|
|
|
5470
5603
|
return (_props$name = props.name) != null ? _props$name : unref(id);
|
|
5471
5604
|
});
|
|
5472
5605
|
onBeforeMount(() => {
|
|
5473
|
-
form == null ? void 0 : form.register(
|
|
5606
|
+
form == null ? void 0 : form.register({
|
|
5607
|
+
id: uid.value,
|
|
5608
|
+
validate,
|
|
5609
|
+
reset,
|
|
5610
|
+
resetValidation
|
|
5611
|
+
});
|
|
5474
5612
|
});
|
|
5475
5613
|
onBeforeUnmount(() => {
|
|
5476
5614
|
form == null ? void 0 : form.unregister(uid.value);
|
|
5477
|
-
});
|
|
5615
|
+
}); // Set initial valid state, for inputs that might not have rules
|
|
5616
|
+
|
|
5617
|
+
onMounted(() => form == null ? void 0 : form.update(uid.value, isValid.value, errorMessages.value));
|
|
5478
5618
|
watch(validationModel, () => {
|
|
5479
5619
|
if (validationModel.value != null) validate();
|
|
5480
5620
|
});
|
|
5621
|
+
watch(isValid, () => {
|
|
5622
|
+
form == null ? void 0 : form.update(uid.value, isValid.value, errorMessages.value);
|
|
5623
|
+
});
|
|
5481
5624
|
|
|
5482
5625
|
function reset() {
|
|
5483
5626
|
resetValidation();
|
|
@@ -5846,6 +5989,10 @@ const VSelectionControl = genericComponent()({
|
|
|
5846
5989
|
isFocusVisible.value = false;
|
|
5847
5990
|
}
|
|
5848
5991
|
|
|
5992
|
+
function onInput(e) {
|
|
5993
|
+
model.value = e.target.checked;
|
|
5994
|
+
}
|
|
5995
|
+
|
|
5849
5996
|
useRender(() => {
|
|
5850
5997
|
var _group$type$value, _slots$default, _group$name$value, _slots$input;
|
|
5851
5998
|
|
|
@@ -5874,19 +6021,20 @@ const VSelectionControl = genericComponent()({
|
|
|
5874
6021
|
}, [icon.value && createVNode(VIcon, {
|
|
5875
6022
|
"key": "icon",
|
|
5876
6023
|
"icon": icon.value
|
|
5877
|
-
}, null),
|
|
5878
|
-
"onUpdate:modelValue": $event => model.value = $event,
|
|
6024
|
+
}, null), createVNode("input", mergeProps({
|
|
5879
6025
|
"ref": input,
|
|
6026
|
+
"checked": model.value,
|
|
5880
6027
|
"disabled": props.disabled,
|
|
5881
6028
|
"id": id.value,
|
|
5882
6029
|
"onBlur": onBlur,
|
|
5883
6030
|
"onFocus": onFocus,
|
|
6031
|
+
"onInput": onInput,
|
|
5884
6032
|
"aria-readonly": props.readonly,
|
|
5885
6033
|
"type": type,
|
|
5886
6034
|
"value": trueValue.value,
|
|
5887
6035
|
"name": (_group$name$value = group == null ? void 0 : group.name.value) != null ? _group$name$value : props.name,
|
|
5888
6036
|
"aria-checked": type === 'checkbox' ? model.value : undefined
|
|
5889
|
-
}, inputAttrs), null),
|
|
6037
|
+
}, inputAttrs), null), (_slots$input = slots.input) == null ? void 0 : _slots$input.call(slots, {
|
|
5890
6038
|
model,
|
|
5891
6039
|
textColorClasses,
|
|
5892
6040
|
props: {
|
|
@@ -6991,20 +7139,26 @@ const VListItem = genericComponent()({
|
|
|
6991
7139
|
Ripple
|
|
6992
7140
|
},
|
|
6993
7141
|
props: {
|
|
6994
|
-
active:
|
|
6995
|
-
|
|
7142
|
+
active: {
|
|
7143
|
+
type: Boolean,
|
|
7144
|
+
default: undefined
|
|
7145
|
+
},
|
|
6996
7146
|
activeClass: String,
|
|
7147
|
+
activeColor: String,
|
|
6997
7148
|
appendAvatar: String,
|
|
6998
7149
|
appendIcon: IconValue,
|
|
6999
7150
|
disabled: Boolean,
|
|
7000
7151
|
lines: String,
|
|
7152
|
+
link: {
|
|
7153
|
+
type: Boolean,
|
|
7154
|
+
default: undefined
|
|
7155
|
+
},
|
|
7001
7156
|
nav: Boolean,
|
|
7002
7157
|
prependAvatar: String,
|
|
7003
7158
|
prependIcon: IconValue,
|
|
7004
7159
|
subtitle: [String, Number, Boolean],
|
|
7005
7160
|
title: [String, Number, Boolean],
|
|
7006
7161
|
value: null,
|
|
7007
|
-
link: Boolean,
|
|
7008
7162
|
...makeBorderProps(),
|
|
7009
7163
|
...makeDensityProps(),
|
|
7010
7164
|
...makeDimensionProps(),
|
|
@@ -7041,8 +7195,10 @@ const VListItem = genericComponent()({
|
|
|
7041
7195
|
const isActive = computed(() => {
|
|
7042
7196
|
var _link$isExactActive;
|
|
7043
7197
|
|
|
7044
|
-
return props.active || ((_link$isExactActive = link.isExactActive) == null ? void 0 : _link$isExactActive.value) || isSelected.value;
|
|
7198
|
+
return props.active !== false && (props.active || ((_link$isExactActive = link.isExactActive) == null ? void 0 : _link$isExactActive.value) || isSelected.value);
|
|
7045
7199
|
});
|
|
7200
|
+
const isLink = computed(() => props.link !== false && link.isLink.value);
|
|
7201
|
+
const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!list));
|
|
7046
7202
|
const roundedProps = computed(() => props.rounded || props.nav);
|
|
7047
7203
|
const variantProps = computed(() => {
|
|
7048
7204
|
var _props$activeColor;
|
|
@@ -7096,27 +7252,26 @@ const VListItem = genericComponent()({
|
|
|
7096
7252
|
useRender(() => {
|
|
7097
7253
|
var _slots$prepend, _slots$title, _slots$title2, _slots$subtitle, _slots$subtitle2, _slots$default, _slots$append;
|
|
7098
7254
|
|
|
7099
|
-
const Tag =
|
|
7255
|
+
const Tag = isLink.value ? 'a' : props.tag;
|
|
7100
7256
|
const hasColor = !list || isSelected.value || isActive.value;
|
|
7101
7257
|
const hasTitle = slots.title || props.title;
|
|
7102
7258
|
const hasSubtitle = slots.subtitle || props.subtitle;
|
|
7103
7259
|
const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon);
|
|
7104
7260
|
const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon);
|
|
7105
|
-
const isClickable = !props.disabled && (props.link || link.isClickable.value || props.value != null && !!list);
|
|
7106
7261
|
list == null ? void 0 : list.updateHasPrepend(hasPrepend);
|
|
7107
7262
|
return withDirectives(createVNode(Tag, {
|
|
7108
7263
|
"class": ['v-list-item', {
|
|
7109
7264
|
'v-list-item--active': isActive.value,
|
|
7110
7265
|
'v-list-item--disabled': props.disabled,
|
|
7111
|
-
'v-list-item--link': isClickable,
|
|
7266
|
+
'v-list-item--link': isClickable.value,
|
|
7112
7267
|
'v-list-item--nav': props.nav,
|
|
7113
7268
|
'v-list-item--prepend': !hasPrepend && (list == null ? void 0 : list.hasPrepend.value),
|
|
7114
7269
|
[`${props.activeClass}`]: isActive.value
|
|
7115
7270
|
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value],
|
|
7116
7271
|
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value],
|
|
7117
7272
|
"href": link.href.value,
|
|
7118
|
-
"tabindex": isClickable ? 0 : undefined,
|
|
7119
|
-
"onClick": isClickable && (e => {
|
|
7273
|
+
"tabindex": isClickable.value ? 0 : undefined,
|
|
7274
|
+
"onClick": isClickable.value && (e => {
|
|
7120
7275
|
var _link$navigate;
|
|
7121
7276
|
|
|
7122
7277
|
if (isGroupActivator) return;
|
|
@@ -7124,7 +7279,7 @@ const VListItem = genericComponent()({
|
|
|
7124
7279
|
props.value != null && select(!isSelected.value, e);
|
|
7125
7280
|
})
|
|
7126
7281
|
}, {
|
|
7127
|
-
default: () => [genOverlays(isClickable || isActive.value, 'v-list-item'), hasPrepend && createVNode(VDefaultsProvider, {
|
|
7282
|
+
default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && createVNode(VDefaultsProvider, {
|
|
7128
7283
|
"key": "prepend",
|
|
7129
7284
|
"defaults": {
|
|
7130
7285
|
VAvatar: {
|
|
@@ -7185,7 +7340,7 @@ const VListItem = genericComponent()({
|
|
|
7185
7340
|
"key": "append-avatar"
|
|
7186
7341
|
}, null)])]
|
|
7187
7342
|
})]
|
|
7188
|
-
}), [[resolveDirective("ripple"), isClickable]]);
|
|
7343
|
+
}), [[resolveDirective("ripple"), isClickable.value]]);
|
|
7189
7344
|
});
|
|
7190
7345
|
return {};
|
|
7191
7346
|
}
|
|
@@ -7254,8 +7409,25 @@ const VListChildren = genericComponent()({
|
|
|
7254
7409
|
type,
|
|
7255
7410
|
raw: item
|
|
7256
7411
|
} = _ref2;
|
|
7257
|
-
|
|
7258
|
-
if (type === '
|
|
7412
|
+
|
|
7413
|
+
if (type === 'divider') {
|
|
7414
|
+
var _slots$divider, _slots$divider2;
|
|
7415
|
+
|
|
7416
|
+
return (_slots$divider = (_slots$divider2 = slots.divider) == null ? void 0 : _slots$divider2.call(slots, {
|
|
7417
|
+
props: itemProps
|
|
7418
|
+
})) != null ? _slots$divider : createVNode(VDivider, itemProps, null);
|
|
7419
|
+
}
|
|
7420
|
+
|
|
7421
|
+
if (type === 'subheader') {
|
|
7422
|
+
var _slots$subheader, _slots$subheader2;
|
|
7423
|
+
|
|
7424
|
+
return (_slots$subheader = (_slots$subheader2 = slots.subheader) == null ? void 0 : _slots$subheader2.call(slots, {
|
|
7425
|
+
props: itemProps
|
|
7426
|
+
})) != null ? _slots$subheader : createVNode(VListSubheader, itemProps, {
|
|
7427
|
+
default: slots.subheader
|
|
7428
|
+
});
|
|
7429
|
+
}
|
|
7430
|
+
|
|
7259
7431
|
const slotsWithItem = {
|
|
7260
7432
|
subtitle: slots.subtitle ? slotProps => {
|
|
7261
7433
|
var _slots$subtitle;
|
|
@@ -7745,7 +7917,7 @@ function useActivator(props, _ref) {
|
|
|
7745
7917
|
return events;
|
|
7746
7918
|
});
|
|
7747
7919
|
watch(isTop, val => {
|
|
7748
|
-
if (val && props.openOnHover && !isHovered) {
|
|
7920
|
+
if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))) {
|
|
7749
7921
|
isActive.value = false;
|
|
7750
7922
|
}
|
|
7751
7923
|
});
|
|
@@ -8514,33 +8686,43 @@ function useToggleScope(source, cb) {
|
|
|
8514
8686
|
});
|
|
8515
8687
|
}
|
|
8516
8688
|
|
|
8517
|
-
const
|
|
8689
|
+
const StackSymbol = Symbol.for('vuetify:stack');
|
|
8690
|
+
const globalStack = reactive([]);
|
|
8518
8691
|
function useStack(isActive, zIndex) {
|
|
8519
8692
|
const vm = getCurrentInstance('useStack');
|
|
8693
|
+
const parent = inject(StackSymbol, undefined);
|
|
8694
|
+
const stack = reactive({
|
|
8695
|
+
activeChildren: new Set()
|
|
8696
|
+
});
|
|
8697
|
+
provide(StackSymbol, stack);
|
|
8520
8698
|
|
|
8521
8699
|
const _zIndex = ref(+zIndex.value);
|
|
8522
8700
|
|
|
8523
8701
|
useToggleScope(isActive, () => {
|
|
8524
|
-
var
|
|
8702
|
+
var _globalStack$at;
|
|
8525
8703
|
|
|
8526
|
-
const lastZIndex = (
|
|
8704
|
+
const lastZIndex = (_globalStack$at = globalStack.at(-1)) == null ? void 0 : _globalStack$at[1];
|
|
8527
8705
|
_zIndex.value = lastZIndex ? lastZIndex + 10 : +zIndex.value;
|
|
8528
|
-
|
|
8706
|
+
globalStack.push([vm.uid, _zIndex.value]);
|
|
8707
|
+
parent == null ? void 0 : parent.activeChildren.add(vm.uid);
|
|
8529
8708
|
onScopeDispose(() => {
|
|
8530
|
-
const idx =
|
|
8531
|
-
|
|
8709
|
+
const idx = globalStack.findIndex(v => v[0] === vm.uid);
|
|
8710
|
+
globalStack.splice(idx, 1);
|
|
8711
|
+
parent == null ? void 0 : parent.activeChildren.delete(vm.uid);
|
|
8532
8712
|
});
|
|
8533
8713
|
});
|
|
8534
|
-
const
|
|
8714
|
+
const globalTop = ref(true);
|
|
8535
8715
|
watchEffect(() => {
|
|
8536
|
-
var
|
|
8716
|
+
var _globalStack$at2;
|
|
8537
8717
|
|
|
8538
|
-
const _isTop = ((
|
|
8718
|
+
const _isTop = ((_globalStack$at2 = globalStack.at(-1)) == null ? void 0 : _globalStack$at2[0]) === vm.uid;
|
|
8539
8719
|
|
|
8540
|
-
setTimeout(() =>
|
|
8720
|
+
setTimeout(() => globalTop.value = _isTop);
|
|
8541
8721
|
});
|
|
8722
|
+
const localTop = computed(() => !stack.activeChildren.size);
|
|
8542
8723
|
return {
|
|
8543
|
-
|
|
8724
|
+
globalTop: readonly(globalTop),
|
|
8725
|
+
localTop,
|
|
8544
8726
|
stackStyles: computed(() => ({
|
|
8545
8727
|
zIndex: _zIndex.value
|
|
8546
8728
|
}))
|
|
@@ -8763,7 +8945,8 @@ const VOverlay = genericComponent()({
|
|
|
8763
8945
|
return typeof props.scrim === 'string' ? props.scrim : null;
|
|
8764
8946
|
}));
|
|
8765
8947
|
const {
|
|
8766
|
-
|
|
8948
|
+
globalTop,
|
|
8949
|
+
localTop,
|
|
8767
8950
|
stackStyles
|
|
8768
8951
|
} = useStack(isActive, toRef(props, 'zIndex'));
|
|
8769
8952
|
const {
|
|
@@ -8773,7 +8956,7 @@ const VOverlay = genericComponent()({
|
|
|
8773
8956
|
contentEvents
|
|
8774
8957
|
} = useActivator(props, {
|
|
8775
8958
|
isActive,
|
|
8776
|
-
isTop
|
|
8959
|
+
isTop: localTop
|
|
8777
8960
|
});
|
|
8778
8961
|
const {
|
|
8779
8962
|
dimensionStyles
|
|
@@ -8806,7 +8989,7 @@ const VOverlay = genericComponent()({
|
|
|
8806
8989
|
}
|
|
8807
8990
|
|
|
8808
8991
|
function closeConditional() {
|
|
8809
|
-
return isActive.value &&
|
|
8992
|
+
return isActive.value && globalTop.value;
|
|
8810
8993
|
}
|
|
8811
8994
|
|
|
8812
8995
|
IN_BROWSER && watch(isActive, val => {
|
|
@@ -8820,7 +9003,7 @@ const VOverlay = genericComponent()({
|
|
|
8820
9003
|
});
|
|
8821
9004
|
|
|
8822
9005
|
function onKeydown(e) {
|
|
8823
|
-
if (e.key === 'Escape' &&
|
|
9006
|
+
if (e.key === 'Escape' && globalTop.value) {
|
|
8824
9007
|
if (!props.persistent) {
|
|
8825
9008
|
isActive.value = false;
|
|
8826
9009
|
} else animateClick();
|
|
@@ -8830,7 +9013,7 @@ const VOverlay = genericComponent()({
|
|
|
8830
9013
|
const router = useRouter();
|
|
8831
9014
|
useToggleScope(() => props.closeOnBack, () => {
|
|
8832
9015
|
useBackButton(router, next => {
|
|
8833
|
-
if (
|
|
9016
|
+
if (globalTop.value && isActive.value) {
|
|
8834
9017
|
next(false);
|
|
8835
9018
|
if (!props.persistent) isActive.value = false;else animateClick();
|
|
8836
9019
|
} else {
|
|
@@ -8918,13 +9101,86 @@ const VOverlay = genericComponent()({
|
|
|
8918
9101
|
activatorEl,
|
|
8919
9102
|
animateClick,
|
|
8920
9103
|
contentEl,
|
|
8921
|
-
|
|
9104
|
+
globalTop,
|
|
9105
|
+
localTop,
|
|
8922
9106
|
updateLocation
|
|
8923
9107
|
};
|
|
8924
9108
|
}
|
|
8925
9109
|
|
|
8926
9110
|
});
|
|
8927
9111
|
|
|
9112
|
+
const Refs = Symbol('Forwarded refs');
|
|
9113
|
+
/** Omit properties starting with P */
|
|
9114
|
+
|
|
9115
|
+
function forwardRefs(target) {
|
|
9116
|
+
for (var _len = arguments.length, refs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
9117
|
+
refs[_key - 1] = arguments[_key];
|
|
9118
|
+
}
|
|
9119
|
+
|
|
9120
|
+
target[Refs] = refs;
|
|
9121
|
+
return new Proxy(target, {
|
|
9122
|
+
get(target, key) {
|
|
9123
|
+
if (Reflect.has(target, key)) {
|
|
9124
|
+
return Reflect.get(target, key);
|
|
9125
|
+
}
|
|
9126
|
+
|
|
9127
|
+
for (const ref of refs) {
|
|
9128
|
+
if (ref.value && Reflect.has(ref.value, key)) {
|
|
9129
|
+
const val = Reflect.get(ref.value, key);
|
|
9130
|
+
return typeof val === 'function' ? val.bind(ref.value) : val;
|
|
9131
|
+
}
|
|
9132
|
+
}
|
|
9133
|
+
},
|
|
9134
|
+
|
|
9135
|
+
getOwnPropertyDescriptor(target, key) {
|
|
9136
|
+
const descriptor = Reflect.getOwnPropertyDescriptor(target, key);
|
|
9137
|
+
if (descriptor) return descriptor; // Skip internal properties
|
|
9138
|
+
|
|
9139
|
+
if (typeof key === 'symbol' || key.startsWith('__')) return; // Check each ref's own properties
|
|
9140
|
+
|
|
9141
|
+
for (const ref of refs) {
|
|
9142
|
+
if (!ref.value) continue;
|
|
9143
|
+
const descriptor = Reflect.getOwnPropertyDescriptor(ref.value, key);
|
|
9144
|
+
if (descriptor) return descriptor;
|
|
9145
|
+
|
|
9146
|
+
if ('_' in ref.value && 'setupState' in ref.value._) {
|
|
9147
|
+
const descriptor = Reflect.getOwnPropertyDescriptor(ref.value._.setupState, key);
|
|
9148
|
+
if (descriptor) return descriptor;
|
|
9149
|
+
}
|
|
9150
|
+
} // Recursive search up each ref's prototype
|
|
9151
|
+
|
|
9152
|
+
|
|
9153
|
+
for (const ref of refs) {
|
|
9154
|
+
let obj = ref.value && Object.getPrototypeOf(ref.value);
|
|
9155
|
+
|
|
9156
|
+
while (obj) {
|
|
9157
|
+
const descriptor = Reflect.getOwnPropertyDescriptor(obj, key);
|
|
9158
|
+
if (descriptor) return descriptor;
|
|
9159
|
+
obj = Object.getPrototypeOf(obj);
|
|
9160
|
+
}
|
|
9161
|
+
} // Call forwarded refs' proxies
|
|
9162
|
+
|
|
9163
|
+
|
|
9164
|
+
for (const ref of refs) {
|
|
9165
|
+
const childRefs = ref.value && ref.value[Refs];
|
|
9166
|
+
if (!childRefs) continue;
|
|
9167
|
+
const queue = childRefs.slice();
|
|
9168
|
+
|
|
9169
|
+
while (queue.length) {
|
|
9170
|
+
const ref = queue.shift();
|
|
9171
|
+
const descriptor = Reflect.getOwnPropertyDescriptor(ref.value, key);
|
|
9172
|
+
if (descriptor) return descriptor;
|
|
9173
|
+
const childRefs = ref.value && ref.value[Refs];
|
|
9174
|
+
if (childRefs) queue.push(...childRefs);
|
|
9175
|
+
}
|
|
9176
|
+
}
|
|
9177
|
+
|
|
9178
|
+
return undefined;
|
|
9179
|
+
}
|
|
9180
|
+
|
|
9181
|
+
});
|
|
9182
|
+
}
|
|
9183
|
+
|
|
8928
9184
|
function useScopeId() {
|
|
8929
9185
|
const vm = getCurrentInstance('useScopeId');
|
|
8930
9186
|
const scopeId = vm.vnode.scopeId;
|
|
@@ -9017,7 +9273,7 @@ const VMenu = genericComponent()({
|
|
|
9017
9273
|
default: slots.default,
|
|
9018
9274
|
activator: slots.activator
|
|
9019
9275
|
}));
|
|
9020
|
-
return
|
|
9276
|
+
return forwardRefs({
|
|
9021
9277
|
id
|
|
9022
9278
|
}, overlay);
|
|
9023
9279
|
}
|
|
@@ -9165,7 +9421,7 @@ const VField = genericComponent()({
|
|
|
9165
9421
|
const width = Math.abs(targetWidth - rect.width) > 1 ? {
|
|
9166
9422
|
maxWidth: convertToUnit(targetWidth)
|
|
9167
9423
|
} : undefined;
|
|
9168
|
-
const duration = parseFloat(getComputedStyle(el).transitionDuration) * 1000;
|
|
9424
|
+
const duration = parseFloat(getComputedStyle(el).transitionDuration) * 1000 || 150;
|
|
9169
9425
|
const scale = parseFloat(getComputedStyle(targetEl).getPropertyValue('--v-field-label-scale'));
|
|
9170
9426
|
el.style.visibility = 'visible';
|
|
9171
9427
|
targetEl.style.visibility = 'hidden';
|
|
@@ -9446,10 +9702,6 @@ const VTextField = genericComponent()({
|
|
|
9446
9702
|
});
|
|
9447
9703
|
}
|
|
9448
9704
|
|
|
9449
|
-
function onInput(e) {
|
|
9450
|
-
model.value = e.target.value;
|
|
9451
|
-
}
|
|
9452
|
-
|
|
9453
9705
|
useRender(() => {
|
|
9454
9706
|
const hasCounter = !!(slots.counter || props.counter || props.counterValue);
|
|
9455
9707
|
const hasDetails = !!(hasCounter || slots.details);
|
|
@@ -9500,24 +9752,16 @@ const VTextField = genericComponent()({
|
|
|
9500
9752
|
"error": isValid.value === false
|
|
9501
9753
|
}), { ...slots,
|
|
9502
9754
|
default: _ref3 => {
|
|
9503
|
-
var _slots$default;
|
|
9504
|
-
|
|
9505
9755
|
let {
|
|
9506
9756
|
props: {
|
|
9507
9757
|
class: fieldClass,
|
|
9508
9758
|
...slotProps
|
|
9509
9759
|
}
|
|
9510
9760
|
} = _ref3;
|
|
9511
|
-
|
|
9512
|
-
|
|
9513
|
-
}, [props.prefix]), createVNode("div", {
|
|
9514
|
-
"class": fieldClass,
|
|
9515
|
-
"onClick": e => emit('click:input', e),
|
|
9516
|
-
"data-no-activator": ""
|
|
9517
|
-
}, [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots), withDirectives(createVNode("input", mergeProps({
|
|
9761
|
+
|
|
9762
|
+
const inputNode = withDirectives(createVNode("input", mergeProps({
|
|
9518
9763
|
"ref": inputRef,
|
|
9519
|
-
"
|
|
9520
|
-
"onInput": onInput,
|
|
9764
|
+
"onUpdate:modelValue": $event => model.value = $event,
|
|
9521
9765
|
"autofocus": props.autofocus,
|
|
9522
9766
|
"readonly": isReadonly.value,
|
|
9523
9767
|
"disabled": isDisabled.value,
|
|
@@ -9527,11 +9771,21 @@ const VTextField = genericComponent()({
|
|
|
9527
9771
|
"type": props.type,
|
|
9528
9772
|
"onFocus": onFocus,
|
|
9529
9773
|
"onBlur": () => isFocused.value = false
|
|
9530
|
-
}, slotProps, inputAttrs), null), [[resolveDirective("intersect"), {
|
|
9774
|
+
}, slotProps, inputAttrs), null), [[vModelDynamic, model.value], [resolveDirective("intersect"), {
|
|
9531
9775
|
handler: onIntersect
|
|
9532
9776
|
}, null, {
|
|
9533
9777
|
once: true
|
|
9534
|
-
}]])
|
|
9778
|
+
}]]);
|
|
9779
|
+
|
|
9780
|
+
return createVNode(Fragment, null, [props.prefix && createVNode("span", {
|
|
9781
|
+
"class": "v-text-field__prefix"
|
|
9782
|
+
}, [props.prefix]), slots.default ? createVNode("div", {
|
|
9783
|
+
"class": fieldClass,
|
|
9784
|
+
"onClick": e => emit('click:input', e),
|
|
9785
|
+
"data-no-activator": ""
|
|
9786
|
+
}, [slots.default(), inputNode]) : cloneVNode(inputNode, {
|
|
9787
|
+
class: fieldClass
|
|
9788
|
+
}), props.suffix && createVNode("span", {
|
|
9535
9789
|
"class": "v-text-field__suffix"
|
|
9536
9790
|
}, [props.suffix])]);
|
|
9537
9791
|
}
|
|
@@ -9548,146 +9802,11 @@ const VTextField = genericComponent()({
|
|
|
9548
9802
|
} : undefined
|
|
9549
9803
|
});
|
|
9550
9804
|
});
|
|
9551
|
-
return
|
|
9805
|
+
return forwardRefs({}, vInputRef, vFieldRef, inputRef);
|
|
9552
9806
|
}
|
|
9553
9807
|
|
|
9554
9808
|
});
|
|
9555
9809
|
|
|
9556
|
-
// Locales
|
|
9557
|
-
|
|
9558
|
-
const LocaleAdapterSymbol = Symbol.for('vuetify:locale-adapter');
|
|
9559
|
-
const VuetifyLocaleSymbol = Symbol.for('vuetify:locale');
|
|
9560
|
-
function provideLocale(props) {
|
|
9561
|
-
const adapter = inject(LocaleAdapterSymbol);
|
|
9562
|
-
if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter');
|
|
9563
|
-
return adapter.createScope(props);
|
|
9564
|
-
}
|
|
9565
|
-
function useLocale() {
|
|
9566
|
-
const adapter = inject(LocaleAdapterSymbol);
|
|
9567
|
-
if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter');
|
|
9568
|
-
return adapter.getScope();
|
|
9569
|
-
}
|
|
9570
|
-
|
|
9571
|
-
function isLocaleAdapter(x) {
|
|
9572
|
-
return !!x && x.hasOwnProperty('getScope') && x.hasOwnProperty('createScope') && x.hasOwnProperty('createRoot');
|
|
9573
|
-
}
|
|
9574
|
-
|
|
9575
|
-
function createLocale(app, options) {
|
|
9576
|
-
const adapter = isLocaleAdapter(options) ? options : createDefaultLocaleAdapter(options);
|
|
9577
|
-
const instance = adapter.createRoot(app);
|
|
9578
|
-
app == null ? void 0 : app.provide(RtlSymbol, createRtl(instance, options));
|
|
9579
|
-
return adapter;
|
|
9580
|
-
}
|
|
9581
|
-
const LANG_PREFIX = '$vuetify.';
|
|
9582
|
-
|
|
9583
|
-
const replace = (str, params) => {
|
|
9584
|
-
return str.replace(/\{(\d+)\}/g, (match, index) => {
|
|
9585
|
-
/* istanbul ignore next */
|
|
9586
|
-
return String(params[+index]);
|
|
9587
|
-
});
|
|
9588
|
-
};
|
|
9589
|
-
|
|
9590
|
-
const createTranslateFunction = (current, fallback, messages) => {
|
|
9591
|
-
return function (key) {
|
|
9592
|
-
for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
9593
|
-
params[_key - 1] = arguments[_key];
|
|
9594
|
-
}
|
|
9595
|
-
|
|
9596
|
-
if (!key.startsWith(LANG_PREFIX)) {
|
|
9597
|
-
return replace(key, params);
|
|
9598
|
-
}
|
|
9599
|
-
|
|
9600
|
-
const shortKey = key.replace(LANG_PREFIX, '');
|
|
9601
|
-
const currentLocale = current.value && messages.value[current.value];
|
|
9602
|
-
const fallbackLocale = fallback.value && messages.value[fallback.value];
|
|
9603
|
-
let str = getObjectValueByPath(currentLocale, shortKey, null);
|
|
9604
|
-
|
|
9605
|
-
if (!str) {
|
|
9606
|
-
consoleWarn(`Translation key "${key}" not found in "${current.value}", trying fallback locale`);
|
|
9607
|
-
str = getObjectValueByPath(fallbackLocale, shortKey, null);
|
|
9608
|
-
}
|
|
9609
|
-
|
|
9610
|
-
if (!str) {
|
|
9611
|
-
consoleError(`Translation key "${key}" not found in fallback`);
|
|
9612
|
-
str = key;
|
|
9613
|
-
}
|
|
9614
|
-
|
|
9615
|
-
if (typeof str !== 'string') {
|
|
9616
|
-
consoleError(`Translation key "${key}" has a non-string value`);
|
|
9617
|
-
str = key;
|
|
9618
|
-
}
|
|
9619
|
-
|
|
9620
|
-
return replace(str, params);
|
|
9621
|
-
};
|
|
9622
|
-
};
|
|
9623
|
-
|
|
9624
|
-
function createNumberFunction(current, fallback) {
|
|
9625
|
-
return (value, options) => {
|
|
9626
|
-
const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options);
|
|
9627
|
-
return numberFormat.format(value);
|
|
9628
|
-
};
|
|
9629
|
-
}
|
|
9630
|
-
|
|
9631
|
-
function createDefaultLocaleAdapter(options) {
|
|
9632
|
-
const createScope = options => {
|
|
9633
|
-
const current = ref(options.current);
|
|
9634
|
-
const fallback = ref(options.fallback);
|
|
9635
|
-
const messages = ref(options.messages);
|
|
9636
|
-
return {
|
|
9637
|
-
current,
|
|
9638
|
-
fallback,
|
|
9639
|
-
messages,
|
|
9640
|
-
t: createTranslateFunction(current, fallback, messages),
|
|
9641
|
-
n: createNumberFunction(current, fallback)
|
|
9642
|
-
};
|
|
9643
|
-
};
|
|
9644
|
-
|
|
9645
|
-
return {
|
|
9646
|
-
createRoot: app => {
|
|
9647
|
-
var _options$defaultLocal, _options$fallbackLoca, _options$messages;
|
|
9648
|
-
|
|
9649
|
-
const rootScope = createScope({
|
|
9650
|
-
current: (_options$defaultLocal = options == null ? void 0 : options.defaultLocale) != null ? _options$defaultLocal : 'en',
|
|
9651
|
-
fallback: (_options$fallbackLoca = options == null ? void 0 : options.fallbackLocale) != null ? _options$fallbackLoca : 'en',
|
|
9652
|
-
messages: (_options$messages = options == null ? void 0 : options.messages) != null ? _options$messages : {
|
|
9653
|
-
en
|
|
9654
|
-
}
|
|
9655
|
-
});
|
|
9656
|
-
if (!app) throw new Error('[Vuetify] Could not find default app instance');
|
|
9657
|
-
app.provide(VuetifyLocaleSymbol, rootScope);
|
|
9658
|
-
return rootScope;
|
|
9659
|
-
},
|
|
9660
|
-
getScope: () => {
|
|
9661
|
-
const currentScope = inject(VuetifyLocaleSymbol);
|
|
9662
|
-
if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance');
|
|
9663
|
-
return currentScope;
|
|
9664
|
-
},
|
|
9665
|
-
createScope: options => {
|
|
9666
|
-
const currentScope = inject(VuetifyLocaleSymbol);
|
|
9667
|
-
if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance');
|
|
9668
|
-
const newScope = createScope({
|
|
9669
|
-
current: computed(() => {
|
|
9670
|
-
var _options$locale;
|
|
9671
|
-
|
|
9672
|
-
return (_options$locale = options == null ? void 0 : options.locale) != null ? _options$locale : currentScope.current.value;
|
|
9673
|
-
}),
|
|
9674
|
-
fallback: computed(() => {
|
|
9675
|
-
var _options$locale2;
|
|
9676
|
-
|
|
9677
|
-
return (_options$locale2 = options == null ? void 0 : options.locale) != null ? _options$locale2 : currentScope.fallback.value;
|
|
9678
|
-
}),
|
|
9679
|
-
messages: computed(() => {
|
|
9680
|
-
var _options$messages2;
|
|
9681
|
-
|
|
9682
|
-
return (_options$messages2 = options == null ? void 0 : options.messages) != null ? _options$messages2 : currentScope.messages.value;
|
|
9683
|
-
})
|
|
9684
|
-
});
|
|
9685
|
-
provide(VuetifyLocaleSymbol, newScope);
|
|
9686
|
-
return newScope;
|
|
9687
|
-
}
|
|
9688
|
-
};
|
|
9689
|
-
}
|
|
9690
|
-
|
|
9691
9810
|
const makeSelectProps = propsFactory({
|
|
9692
9811
|
chips: Boolean,
|
|
9693
9812
|
closableChips: Boolean,
|
|
@@ -9767,7 +9886,7 @@ const VSelect = genericComponent()({
|
|
|
9767
9886
|
|
|
9768
9887
|
function onClickControl() {
|
|
9769
9888
|
if (props.hideNoData && !items.value.length) return;
|
|
9770
|
-
menu.value =
|
|
9889
|
+
menu.value = !menu.value;
|
|
9771
9890
|
}
|
|
9772
9891
|
|
|
9773
9892
|
function onKeydown(e) {
|
|
@@ -9814,7 +9933,6 @@ const VSelect = genericComponent()({
|
|
|
9814
9933
|
"appendInnerIcon": props.menuIcon,
|
|
9815
9934
|
"readonly": true,
|
|
9816
9935
|
"onClick:clear": onClear,
|
|
9817
|
-
"onClick:input": onClickControl,
|
|
9818
9936
|
"onClick:control": onClickControl,
|
|
9819
9937
|
"onBlur": () => menu.value = false,
|
|
9820
9938
|
"onKeydown": onKeydown
|
|
@@ -9905,7 +10023,7 @@ const VSelect = genericComponent()({
|
|
|
9905
10023
|
}
|
|
9906
10024
|
});
|
|
9907
10025
|
});
|
|
9908
|
-
return
|
|
10026
|
+
return forwardRefs({
|
|
9909
10027
|
menu,
|
|
9910
10028
|
select
|
|
9911
10029
|
}, vTextFieldRef);
|
|
@@ -10041,7 +10159,6 @@ const VAutocomplete = genericComponent()({
|
|
|
10041
10159
|
})
|
|
10042
10160
|
},
|
|
10043
10161
|
emits: {
|
|
10044
|
-
'click:clear': e => true,
|
|
10045
10162
|
'update:search': val => true,
|
|
10046
10163
|
'update:modelValue': val => true,
|
|
10047
10164
|
'update:menu': val => true
|
|
@@ -10278,7 +10395,7 @@ const VAutocomplete = genericComponent()({
|
|
|
10278
10395
|
}
|
|
10279
10396
|
});
|
|
10280
10397
|
});
|
|
10281
|
-
return
|
|
10398
|
+
return forwardRefs({
|
|
10282
10399
|
isFocused,
|
|
10283
10400
|
isPristine,
|
|
10284
10401
|
menu,
|
|
@@ -11028,7 +11145,10 @@ const VCard = defineComponent({
|
|
|
11028
11145
|
flat: Boolean,
|
|
11029
11146
|
hover: Boolean,
|
|
11030
11147
|
image: String,
|
|
11031
|
-
link:
|
|
11148
|
+
link: {
|
|
11149
|
+
type: Boolean,
|
|
11150
|
+
default: undefined
|
|
11151
|
+
},
|
|
11032
11152
|
prependAvatar: String,
|
|
11033
11153
|
prependIcon: IconValue,
|
|
11034
11154
|
ripple: Boolean,
|
|
@@ -11089,10 +11209,12 @@ const VCard = defineComponent({
|
|
|
11089
11209
|
roundedClasses
|
|
11090
11210
|
} = useRounded(props);
|
|
11091
11211
|
const link = useLink(props, attrs);
|
|
11212
|
+
const isLink = computed(() => props.link !== false && link.isLink.value);
|
|
11213
|
+
const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value));
|
|
11092
11214
|
useRender(() => {
|
|
11093
11215
|
var _slots$image, _slots$image2, _slots$text, _slots$text2, _slots$default;
|
|
11094
11216
|
|
|
11095
|
-
const Tag =
|
|
11217
|
+
const Tag = isLink.value ? 'a' : props.tag;
|
|
11096
11218
|
const hasTitle = !!(slots.title || props.title);
|
|
11097
11219
|
const hasSubtitle = !!(slots.subtitle || props.subtitle);
|
|
11098
11220
|
const hasHeader = hasTitle || hasSubtitle;
|
|
@@ -11101,17 +11223,16 @@ const VCard = defineComponent({
|
|
|
11101
11223
|
const hasImage = !!(slots.image || props.image);
|
|
11102
11224
|
const hasCardItem = hasHeader || hasPrepend || hasAppend;
|
|
11103
11225
|
const hasText = !!(slots.text || props.text);
|
|
11104
|
-
const isClickable = !props.disabled && (link.isClickable.value || props.link);
|
|
11105
11226
|
return withDirectives(createVNode(Tag, {
|
|
11106
11227
|
"class": ['v-card', {
|
|
11107
11228
|
'v-card--disabled': props.disabled,
|
|
11108
11229
|
'v-card--flat': props.flat,
|
|
11109
11230
|
'v-card--hover': props.hover && !(props.disabled || props.flat),
|
|
11110
|
-
'v-card--link': isClickable
|
|
11231
|
+
'v-card--link': isClickable.value
|
|
11111
11232
|
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value],
|
|
11112
11233
|
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value],
|
|
11113
11234
|
"href": link.href.value,
|
|
11114
|
-
"onClick": isClickable && link.navigate
|
|
11235
|
+
"onClick": isClickable.value && link.navigate
|
|
11115
11236
|
}, {
|
|
11116
11237
|
default: () => [hasImage && createVNode(VDefaultsProvider, {
|
|
11117
11238
|
"key": "image",
|
|
@@ -11151,8 +11272,8 @@ const VCard = defineComponent({
|
|
|
11151
11272
|
default: () => [(_slots$text = (_slots$text2 = slots.text) == null ? void 0 : _slots$text2.call(slots)) != null ? _slots$text : props.text]
|
|
11152
11273
|
}), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots), slots.actions && createVNode(VCardActions, null, {
|
|
11153
11274
|
default: slots.actions
|
|
11154
|
-
}), genOverlays(isClickable, 'v-card')]
|
|
11155
|
-
}), [[resolveDirective("ripple"), isClickable]]);
|
|
11275
|
+
}), genOverlays(isClickable.value, 'v-card')]
|
|
11276
|
+
}), [[resolveDirective("ripple"), isClickable.value]]);
|
|
11156
11277
|
});
|
|
11157
11278
|
return {};
|
|
11158
11279
|
}
|
|
@@ -13240,7 +13361,7 @@ const grey = Object.freeze({
|
|
|
13240
13361
|
const shades = Object.freeze({
|
|
13241
13362
|
black: '#000000',
|
|
13242
13363
|
white: '#ffffff',
|
|
13243
|
-
transparent: '
|
|
13364
|
+
transparent: '#ffffff00'
|
|
13244
13365
|
});
|
|
13245
13366
|
var colors = Object.freeze({
|
|
13246
13367
|
red,
|
|
@@ -13849,7 +13970,7 @@ const VCombobox = genericComponent()({
|
|
|
13849
13970
|
}
|
|
13850
13971
|
});
|
|
13851
13972
|
});
|
|
13852
|
-
return
|
|
13973
|
+
return forwardRefs({
|
|
13853
13974
|
isFocused,
|
|
13854
13975
|
isPristine,
|
|
13855
13976
|
menu,
|
|
@@ -13911,7 +14032,7 @@ const VDialog = genericComponent()({
|
|
|
13911
14032
|
const after = e.target;
|
|
13912
14033
|
|
|
13913
14034
|
if (before !== after && (_overlay$value = overlay.value) != null && _overlay$value.contentEl && // We're the topmost dialog
|
|
13914
|
-
(_overlay$value2 = overlay.value) != null && _overlay$value2.
|
|
14035
|
+
(_overlay$value2 = overlay.value) != null && _overlay$value2.globalTop && // It isn't the document or the dialog body
|
|
13915
14036
|
![document, overlay.value.contentEl].includes(after) && // It isn't inside the dialog body
|
|
13916
14037
|
!overlay.value.contentEl.contains(after)) {
|
|
13917
14038
|
const focusable = [...overlay.value.contentEl.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')].filter(el => !el.hasAttribute('disabled'));
|
|
@@ -13973,7 +14094,7 @@ const VDialog = genericComponent()({
|
|
|
13973
14094
|
default: slots.default,
|
|
13974
14095
|
activator: slots.activator
|
|
13975
14096
|
}));
|
|
13976
|
-
return
|
|
14097
|
+
return forwardRefs({}, overlay);
|
|
13977
14098
|
}
|
|
13978
14099
|
|
|
13979
14100
|
});
|
|
@@ -14425,7 +14546,7 @@ const VFileInput = defineComponent({
|
|
|
14425
14546
|
} : undefined
|
|
14426
14547
|
});
|
|
14427
14548
|
});
|
|
14428
|
-
return
|
|
14549
|
+
return forwardRefs({}, vInputRef, vFieldRef, inputRef);
|
|
14429
14550
|
}
|
|
14430
14551
|
|
|
14431
14552
|
});
|
|
@@ -14556,7 +14677,7 @@ const VForm = defineComponent({
|
|
|
14556
14677
|
"onSubmit": onSubmit
|
|
14557
14678
|
}, [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, form)]);
|
|
14558
14679
|
});
|
|
14559
|
-
return
|
|
14680
|
+
return forwardRefs(form, formRef);
|
|
14560
14681
|
}
|
|
14561
14682
|
|
|
14562
14683
|
});
|
|
@@ -14654,6 +14775,7 @@ function breakpointClass$1(type, prop, val) {
|
|
|
14654
14775
|
return className.toLowerCase();
|
|
14655
14776
|
}
|
|
14656
14777
|
|
|
14778
|
+
const ALIGN_SELF_VALUES = ['auto', 'start', 'end', 'center', 'baseline', 'stretch'];
|
|
14657
14779
|
const VCol = defineComponent({
|
|
14658
14780
|
name: 'VCol',
|
|
14659
14781
|
props: {
|
|
@@ -14675,7 +14797,7 @@ const VCol = defineComponent({
|
|
|
14675
14797
|
alignSelf: {
|
|
14676
14798
|
type: String,
|
|
14677
14799
|
default: null,
|
|
14678
|
-
validator: str =>
|
|
14800
|
+
validator: str => ALIGN_SELF_VALUES.includes(str)
|
|
14679
14801
|
},
|
|
14680
14802
|
...makeTagProps()
|
|
14681
14803
|
},
|
|
@@ -14724,6 +14846,7 @@ const VCol = defineComponent({
|
|
|
14724
14846
|
const breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl']; // no xs
|
|
14725
14847
|
|
|
14726
14848
|
const ALIGNMENT = ['start', 'end', 'center'];
|
|
14849
|
+
const SPACE = ['space-between', 'space-around', 'space-evenly'];
|
|
14727
14850
|
|
|
14728
14851
|
function makeRowProps(prefix, def) {
|
|
14729
14852
|
return breakpoints.reduce((props, val) => {
|
|
@@ -14732,23 +14855,27 @@ function makeRowProps(prefix, def) {
|
|
|
14732
14855
|
}, {});
|
|
14733
14856
|
}
|
|
14734
14857
|
|
|
14735
|
-
const
|
|
14858
|
+
const ALIGN_VALUES = [...ALIGNMENT, 'baseline', 'stretch'];
|
|
14859
|
+
|
|
14860
|
+
const alignValidator = str => ALIGN_VALUES.includes(str);
|
|
14736
14861
|
|
|
14737
14862
|
const alignProps = makeRowProps('align', () => ({
|
|
14738
14863
|
type: String,
|
|
14739
14864
|
default: null,
|
|
14740
14865
|
validator: alignValidator
|
|
14741
14866
|
}));
|
|
14867
|
+
const JUSTIFY_VALUES = [...ALIGNMENT, ...SPACE];
|
|
14742
14868
|
|
|
14743
|
-
const justifyValidator = str =>
|
|
14869
|
+
const justifyValidator = str => JUSTIFY_VALUES.includes(str);
|
|
14744
14870
|
|
|
14745
14871
|
const justifyProps = makeRowProps('justify', () => ({
|
|
14746
14872
|
type: String,
|
|
14747
14873
|
default: null,
|
|
14748
14874
|
validator: justifyValidator
|
|
14749
14875
|
}));
|
|
14876
|
+
const ALIGN_CONTENT_VALUES = [...ALIGNMENT, ...SPACE, 'stretch'];
|
|
14750
14877
|
|
|
14751
|
-
const alignContentValidator = str =>
|
|
14878
|
+
const alignContentValidator = str => ALIGN_CONTENT_VALUES.includes(str);
|
|
14752
14879
|
|
|
14753
14880
|
const alignContentProps = makeRowProps('alignContent', () => ({
|
|
14754
14881
|
type: String,
|
|
@@ -15141,9 +15268,12 @@ const VLocaleProvider = defineComponent({
|
|
|
15141
15268
|
|
|
15142
15269
|
const VMain = defineComponent({
|
|
15143
15270
|
name: 'VMain',
|
|
15144
|
-
props:
|
|
15145
|
-
|
|
15146
|
-
|
|
15271
|
+
props: {
|
|
15272
|
+
scrollable: Boolean,
|
|
15273
|
+
...makeTagProps({
|
|
15274
|
+
tag: 'main'
|
|
15275
|
+
})
|
|
15276
|
+
},
|
|
15147
15277
|
|
|
15148
15278
|
setup(props, _ref) {
|
|
15149
15279
|
let {
|
|
@@ -15156,15 +15286,17 @@ const VMain = defineComponent({
|
|
|
15156
15286
|
ssrBootStyles
|
|
15157
15287
|
} = useSsrBoot();
|
|
15158
15288
|
useRender(() => {
|
|
15159
|
-
var _slots$default;
|
|
15289
|
+
var _slots$default, _slots$default2;
|
|
15160
15290
|
|
|
15161
15291
|
return createVNode(props.tag, {
|
|
15162
|
-
"class":
|
|
15292
|
+
"class": ['v-main', {
|
|
15293
|
+
'v-main--scrollable': props.scrollable
|
|
15294
|
+
}],
|
|
15163
15295
|
"style": [mainStyles.value, ssrBootStyles.value]
|
|
15164
15296
|
}, {
|
|
15165
|
-
default: () => [createVNode("div", {
|
|
15166
|
-
"class": "v-
|
|
15167
|
-
}, [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots)])]
|
|
15297
|
+
default: () => [props.scrollable ? createVNode("div", {
|
|
15298
|
+
"class": "v-main__scroller"
|
|
15299
|
+
}, [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots)]) : (_slots$default2 = slots.default) == null ? void 0 : _slots$default2.call(slots)]
|
|
15168
15300
|
});
|
|
15169
15301
|
});
|
|
15170
15302
|
return {};
|
|
@@ -15172,6 +15304,76 @@ const VMain = defineComponent({
|
|
|
15172
15304
|
|
|
15173
15305
|
});
|
|
15174
15306
|
|
|
15307
|
+
function useSticky(_ref) {
|
|
15308
|
+
let {
|
|
15309
|
+
rootEl,
|
|
15310
|
+
isSticky,
|
|
15311
|
+
layoutItemStyles
|
|
15312
|
+
} = _ref;
|
|
15313
|
+
const isStuck = ref(false);
|
|
15314
|
+
const stuckPosition = ref(0);
|
|
15315
|
+
const stickyStyles = computed(() => {
|
|
15316
|
+
const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value;
|
|
15317
|
+
return [isSticky.value ? {
|
|
15318
|
+
top: 'auto',
|
|
15319
|
+
bottom: 'auto',
|
|
15320
|
+
height: undefined
|
|
15321
|
+
} : undefined, isStuck.value ? {
|
|
15322
|
+
[side]: convertToUnit(stuckPosition.value)
|
|
15323
|
+
} : {
|
|
15324
|
+
top: layoutItemStyles.value.top
|
|
15325
|
+
}];
|
|
15326
|
+
});
|
|
15327
|
+
onMounted(() => {
|
|
15328
|
+
watch(isSticky, val => {
|
|
15329
|
+
if (val) {
|
|
15330
|
+
window.addEventListener('scroll', onScroll, {
|
|
15331
|
+
passive: true
|
|
15332
|
+
});
|
|
15333
|
+
} else {
|
|
15334
|
+
window.removeEventListener('scroll', onScroll);
|
|
15335
|
+
}
|
|
15336
|
+
}, {
|
|
15337
|
+
immediate: true
|
|
15338
|
+
});
|
|
15339
|
+
});
|
|
15340
|
+
onBeforeUnmount(() => {
|
|
15341
|
+
document.removeEventListener('scroll', onScroll);
|
|
15342
|
+
});
|
|
15343
|
+
let lastScrollTop = 0;
|
|
15344
|
+
|
|
15345
|
+
function onScroll() {
|
|
15346
|
+
var _layoutItemStyles$val;
|
|
15347
|
+
|
|
15348
|
+
const direction = lastScrollTop > window.scrollY ? 'up' : 'down';
|
|
15349
|
+
const rect = rootEl.value.getBoundingClientRect();
|
|
15350
|
+
const layoutTop = parseFloat((_layoutItemStyles$val = layoutItemStyles.value.top) != null ? _layoutItemStyles$val : 0);
|
|
15351
|
+
const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);
|
|
15352
|
+
const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight;
|
|
15353
|
+
|
|
15354
|
+
if (rect.height < window.innerHeight - layoutTop) {
|
|
15355
|
+
isStuck.value = 'top';
|
|
15356
|
+
stuckPosition.value = layoutTop;
|
|
15357
|
+
} else if (direction === 'up' && isStuck.value === 'bottom' || direction === 'down' && isStuck.value === 'top') {
|
|
15358
|
+
stuckPosition.value = window.scrollY + rect.top;
|
|
15359
|
+
isStuck.value = true;
|
|
15360
|
+
} else if (direction === 'down' && bottom <= 0) {
|
|
15361
|
+
stuckPosition.value = 0;
|
|
15362
|
+
isStuck.value = 'bottom';
|
|
15363
|
+
} else if (direction === 'up' && top <= 0) {
|
|
15364
|
+
stuckPosition.value = rect.top + top;
|
|
15365
|
+
isStuck.value = 'top';
|
|
15366
|
+
}
|
|
15367
|
+
|
|
15368
|
+
lastScrollTop = window.scrollY;
|
|
15369
|
+
}
|
|
15370
|
+
|
|
15371
|
+
return {
|
|
15372
|
+
isStuck,
|
|
15373
|
+
stickyStyles
|
|
15374
|
+
};
|
|
15375
|
+
}
|
|
15376
|
+
|
|
15175
15377
|
const HORIZON = 100; // ms
|
|
15176
15378
|
|
|
15177
15379
|
const HISTORY = 20; // number of samples to keep
|
|
@@ -15439,6 +15641,7 @@ function oops() {
|
|
|
15439
15641
|
throw new Error();
|
|
15440
15642
|
}
|
|
15441
15643
|
|
|
15644
|
+
const locations = ['start', 'end', 'left', 'right', 'bottom'];
|
|
15442
15645
|
const VNavigationDrawer = defineComponent({
|
|
15443
15646
|
name: 'VNavigationDrawer',
|
|
15444
15647
|
props: {
|
|
@@ -15455,7 +15658,11 @@ const VNavigationDrawer = defineComponent({
|
|
|
15455
15658
|
rail: Boolean,
|
|
15456
15659
|
railWidth: {
|
|
15457
15660
|
type: [Number, String],
|
|
15458
|
-
default:
|
|
15661
|
+
default: 56
|
|
15662
|
+
},
|
|
15663
|
+
scrim: {
|
|
15664
|
+
type: [String, Boolean],
|
|
15665
|
+
default: true
|
|
15459
15666
|
},
|
|
15460
15667
|
image: String,
|
|
15461
15668
|
temporary: Boolean,
|
|
@@ -15466,9 +15673,10 @@ const VNavigationDrawer = defineComponent({
|
|
|
15466
15673
|
},
|
|
15467
15674
|
location: {
|
|
15468
15675
|
type: String,
|
|
15469
|
-
default: '
|
|
15470
|
-
validator: value =>
|
|
15676
|
+
default: 'start',
|
|
15677
|
+
validator: value => locations.includes(value)
|
|
15471
15678
|
},
|
|
15679
|
+
sticky: Boolean,
|
|
15472
15680
|
...makeBorderProps(),
|
|
15473
15681
|
...makeElevationProps(),
|
|
15474
15682
|
...makeLayoutItemProps(),
|
|
@@ -15487,6 +15695,9 @@ const VNavigationDrawer = defineComponent({
|
|
|
15487
15695
|
attrs,
|
|
15488
15696
|
slots
|
|
15489
15697
|
} = _ref;
|
|
15698
|
+
const {
|
|
15699
|
+
isRtl
|
|
15700
|
+
} = useRtl();
|
|
15490
15701
|
const {
|
|
15491
15702
|
themeClasses
|
|
15492
15703
|
} = provideTheme(props);
|
|
@@ -15508,14 +15719,19 @@ const VNavigationDrawer = defineComponent({
|
|
|
15508
15719
|
} = useRounded(props);
|
|
15509
15720
|
const router = useRouter();
|
|
15510
15721
|
const isActive = useProxiedModel(props, 'modelValue', null, v => !!v);
|
|
15511
|
-
const isHovering = ref(false);
|
|
15512
15722
|
const {
|
|
15513
15723
|
ssrBootStyles
|
|
15514
15724
|
} = useSsrBoot();
|
|
15725
|
+
const rootEl = ref();
|
|
15726
|
+
const isHovering = ref(false);
|
|
15515
15727
|
const width = computed(() => {
|
|
15516
15728
|
return props.rail && props.expandOnHover && isHovering.value ? Number(props.width) : Number(props.rail ? props.railWidth : props.width);
|
|
15517
15729
|
});
|
|
15730
|
+
const location = computed(() => {
|
|
15731
|
+
return toPhysical(props.location, isRtl.value);
|
|
15732
|
+
});
|
|
15518
15733
|
const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary));
|
|
15734
|
+
const isSticky = computed(() => props.sticky && !isTemporary.value && location.value !== 'bottom');
|
|
15519
15735
|
|
|
15520
15736
|
if (!props.disableResizeWatcher) {
|
|
15521
15737
|
watch(isTemporary, val => !props.permanent && (isActive.value = !val));
|
|
@@ -15532,7 +15748,6 @@ const VNavigationDrawer = defineComponent({
|
|
|
15532
15748
|
if (props.modelValue != null || isTemporary.value) return;
|
|
15533
15749
|
isActive.value = props.permanent || !mobile.value;
|
|
15534
15750
|
});
|
|
15535
|
-
const rootEl = ref();
|
|
15536
15751
|
const {
|
|
15537
15752
|
isDragging,
|
|
15538
15753
|
dragProgress,
|
|
@@ -15542,7 +15757,7 @@ const VNavigationDrawer = defineComponent({
|
|
|
15542
15757
|
isTemporary,
|
|
15543
15758
|
width,
|
|
15544
15759
|
touchless: toRef(props, 'touchless'),
|
|
15545
|
-
position:
|
|
15760
|
+
position: location
|
|
15546
15761
|
});
|
|
15547
15762
|
const layoutSize = computed(() => {
|
|
15548
15763
|
const size = isTemporary.value ? 0 : props.rail && props.expandOnHover ? Number(props.railWidth) : width.value;
|
|
@@ -15555,13 +15770,25 @@ const VNavigationDrawer = defineComponent({
|
|
|
15555
15770
|
} = useLayoutItem({
|
|
15556
15771
|
id: props.name,
|
|
15557
15772
|
order: computed(() => parseInt(props.order, 10)),
|
|
15558
|
-
position:
|
|
15773
|
+
position: location,
|
|
15559
15774
|
layoutSize,
|
|
15560
15775
|
elementSize: width,
|
|
15561
15776
|
active: computed(() => isActive.value || isDragging.value),
|
|
15562
15777
|
disableTransitions: computed(() => isDragging.value),
|
|
15563
|
-
absolute:
|
|
15778
|
+
absolute: computed(() => // eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
15779
|
+
props.absolute || isSticky.value && typeof isStuck.value !== 'string')
|
|
15780
|
+
});
|
|
15781
|
+
const {
|
|
15782
|
+
isStuck,
|
|
15783
|
+
stickyStyles
|
|
15784
|
+
} = useSticky({
|
|
15785
|
+
rootEl,
|
|
15786
|
+
isSticky,
|
|
15787
|
+
layoutItemStyles
|
|
15564
15788
|
});
|
|
15789
|
+
const scrimColor = useBackgroundColor(computed(() => {
|
|
15790
|
+
return typeof props.scrim === 'string' ? props.scrim : null;
|
|
15791
|
+
}));
|
|
15565
15792
|
const scrimStyles = computed(() => ({ ...(isDragging.value ? {
|
|
15566
15793
|
opacity: dragProgress.value * 0.2,
|
|
15567
15794
|
transition: 'none'
|
|
@@ -15574,6 +15801,11 @@ const VNavigationDrawer = defineComponent({
|
|
|
15574
15801
|
} : undefined),
|
|
15575
15802
|
...layoutItemScrimStyles.value
|
|
15576
15803
|
}));
|
|
15804
|
+
provideDefaults({
|
|
15805
|
+
VList: {
|
|
15806
|
+
bgColor: 'transparent'
|
|
15807
|
+
}
|
|
15808
|
+
});
|
|
15577
15809
|
useRender(() => {
|
|
15578
15810
|
var _slots$image, _slots$prepend, _slots$default, _slots$append;
|
|
15579
15811
|
|
|
@@ -15582,18 +15814,16 @@ const VNavigationDrawer = defineComponent({
|
|
|
15582
15814
|
"ref": rootEl,
|
|
15583
15815
|
"onMouseenter": () => isHovering.value = true,
|
|
15584
15816
|
"onMouseleave": () => isHovering.value = false,
|
|
15585
|
-
"class": ['v-navigation-drawer', {
|
|
15586
|
-
'v-navigation-drawer--bottom': props.location === 'bottom',
|
|
15587
|
-
'v-navigation-drawer--end': props.location === 'right',
|
|
15817
|
+
"class": ['v-navigation-drawer', `v-navigation-drawer--${location.value}`, {
|
|
15588
15818
|
'v-navigation-drawer--expand-on-hover': props.expandOnHover,
|
|
15589
15819
|
'v-navigation-drawer--floating': props.floating,
|
|
15590
15820
|
'v-navigation-drawer--is-hovering': isHovering.value,
|
|
15591
15821
|
'v-navigation-drawer--rail': props.rail,
|
|
15592
|
-
'v-navigation-drawer--start': props.location === 'left',
|
|
15593
15822
|
'v-navigation-drawer--temporary': isTemporary.value,
|
|
15594
|
-
'v-navigation-drawer--active': isActive.value
|
|
15823
|
+
'v-navigation-drawer--active': isActive.value,
|
|
15824
|
+
'v-navigation-drawer--sticky': isSticky.value
|
|
15595
15825
|
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value],
|
|
15596
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value]
|
|
15826
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value]
|
|
15597
15827
|
}, attrs), {
|
|
15598
15828
|
default: () => [hasImage && createVNode("div", {
|
|
15599
15829
|
"key": "image",
|
|
@@ -15613,14 +15843,16 @@ const VNavigationDrawer = defineComponent({
|
|
|
15613
15843
|
}), createVNode(Transition, {
|
|
15614
15844
|
"name": "fade-transition"
|
|
15615
15845
|
}, {
|
|
15616
|
-
default: () => [isTemporary.value && (isDragging.value || isActive.value) && createVNode("div", {
|
|
15617
|
-
"class":
|
|
15618
|
-
"style": scrimStyles.value,
|
|
15846
|
+
default: () => [isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && createVNode("div", {
|
|
15847
|
+
"class": ['v-navigation-drawer__scrim', scrimColor.backgroundColorClasses.value],
|
|
15848
|
+
"style": [scrimStyles.value, scrimColor.backgroundColorStyles.value],
|
|
15619
15849
|
"onClick": () => isActive.value = false
|
|
15620
15850
|
}, null)]
|
|
15621
15851
|
})]);
|
|
15622
15852
|
});
|
|
15623
|
-
return {
|
|
15853
|
+
return {
|
|
15854
|
+
isStuck
|
|
15855
|
+
};
|
|
15624
15856
|
}
|
|
15625
15857
|
|
|
15626
15858
|
});
|
|
@@ -15801,7 +16033,7 @@ const VPagination = defineComponent({
|
|
|
15801
16033
|
return length.value;
|
|
15802
16034
|
});
|
|
15803
16035
|
const range = computed(() => {
|
|
15804
|
-
if (length.value <= 0) return [];
|
|
16036
|
+
if (length.value <= 0 || isNaN(length.value) || length.value > Number.MAX_SAFE_INTEGER) return [];
|
|
15805
16037
|
if (totalVisible.value <= 2) return [page.value];
|
|
15806
16038
|
|
|
15807
16039
|
if (length.value <= totalVisible.value) {
|
|
@@ -16065,27 +16297,20 @@ const VParallax = defineComponent({
|
|
|
16065
16297
|
|
|
16066
16298
|
const VRadio = defineComponent({
|
|
16067
16299
|
name: 'VRadio',
|
|
16068
|
-
props: {
|
|
16069
|
-
|
|
16070
|
-
|
|
16071
|
-
|
|
16072
|
-
},
|
|
16073
|
-
trueIcon: {
|
|
16074
|
-
type: IconValue,
|
|
16075
|
-
default: '$radioOn'
|
|
16076
|
-
}
|
|
16300
|
+
props: { ...makeSelectionControlProps({
|
|
16301
|
+
falseIcon: '$radioOff',
|
|
16302
|
+
trueIcon: '$radioOn'
|
|
16303
|
+
})
|
|
16077
16304
|
},
|
|
16078
16305
|
|
|
16079
16306
|
setup(props, _ref) {
|
|
16080
16307
|
let {
|
|
16081
16308
|
slots
|
|
16082
16309
|
} = _ref;
|
|
16083
|
-
useRender(() => createVNode(VSelectionControl, {
|
|
16310
|
+
useRender(() => createVNode(VSelectionControl, mergeProps(props, {
|
|
16084
16311
|
"class": "v-radio",
|
|
16085
|
-
"trueIcon": props.trueIcon,
|
|
16086
|
-
"falseIcon": props.falseIcon,
|
|
16087
16312
|
"type": "radio"
|
|
16088
|
-
}, slots));
|
|
16313
|
+
}), slots));
|
|
16089
16314
|
return {};
|
|
16090
16315
|
}
|
|
16091
16316
|
|
|
@@ -16114,6 +16339,9 @@ const VRadioGroup = defineComponent({
|
|
|
16114
16339
|
default: 'radio'
|
|
16115
16340
|
}
|
|
16116
16341
|
},
|
|
16342
|
+
emits: {
|
|
16343
|
+
'update:modelValue': val => true
|
|
16344
|
+
},
|
|
16117
16345
|
|
|
16118
16346
|
setup(props, _ref) {
|
|
16119
16347
|
let {
|
|
@@ -16122,6 +16350,13 @@ const VRadioGroup = defineComponent({
|
|
|
16122
16350
|
} = _ref;
|
|
16123
16351
|
const uid = getUid();
|
|
16124
16352
|
const id = computed(() => props.id || `radio-group-${uid}`);
|
|
16353
|
+
const model = useProxiedModel(props, 'modelValue');
|
|
16354
|
+
provideDefaults({
|
|
16355
|
+
VRadio: {
|
|
16356
|
+
color: toRef(props, 'color'),
|
|
16357
|
+
density: toRef(props, 'density')
|
|
16358
|
+
}
|
|
16359
|
+
});
|
|
16125
16360
|
useRender(() => {
|
|
16126
16361
|
const [inputAttrs, controlAttrs] = filterInputAttrs(attrs);
|
|
16127
16362
|
const [inputProps, _1] = filterInputProps(props);
|
|
@@ -16135,6 +16370,8 @@ const VRadioGroup = defineComponent({
|
|
|
16135
16370
|
return createVNode(VInput, mergeProps({
|
|
16136
16371
|
"class": "v-radio-group"
|
|
16137
16372
|
}, inputAttrs, inputProps, {
|
|
16373
|
+
"modelValue": model.value,
|
|
16374
|
+
"onUpdate:modelValue": $event => model.value = $event,
|
|
16138
16375
|
"id": id.value
|
|
16139
16376
|
}), { ...slots,
|
|
16140
16377
|
default: _ref2 => {
|
|
@@ -16154,7 +16391,10 @@ const VRadioGroup = defineComponent({
|
|
|
16154
16391
|
"type": props.type,
|
|
16155
16392
|
"disabled": isDisabled.value,
|
|
16156
16393
|
"readonly": isReadonly.value
|
|
16157
|
-
}, controlAttrs
|
|
16394
|
+
}, controlAttrs, {
|
|
16395
|
+
"modelValue": model.value,
|
|
16396
|
+
"onUpdate:modelValue": $event => model.value = $event
|
|
16397
|
+
}), slots)]);
|
|
16158
16398
|
}
|
|
16159
16399
|
});
|
|
16160
16400
|
});
|
|
@@ -17031,7 +17271,6 @@ const VSlideGroupItem = defineComponent({
|
|
|
17031
17271
|
const VSnackbar = defineComponent({
|
|
17032
17272
|
name: 'VSnackbar',
|
|
17033
17273
|
props: {
|
|
17034
|
-
app: Boolean,
|
|
17035
17274
|
contentClass: {
|
|
17036
17275
|
type: String,
|
|
17037
17276
|
default: ''
|
|
@@ -17113,6 +17352,7 @@ const VSnackbar = defineComponent({
|
|
|
17113
17352
|
"contentProps": {
|
|
17114
17353
|
style: locationStyles.value
|
|
17115
17354
|
},
|
|
17355
|
+
"contentClass": props.contentClass,
|
|
17116
17356
|
"persistent": true,
|
|
17117
17357
|
"noClickAnimation": true,
|
|
17118
17358
|
"scrim": false,
|
|
@@ -17124,7 +17364,7 @@ const VSnackbar = defineComponent({
|
|
|
17124
17364
|
"onPointerenter": onPointerenter,
|
|
17125
17365
|
"onPointerleave": startTimeout
|
|
17126
17366
|
}, [genOverlays(false, 'v-snackbar'), slots.default && createVNode("div", {
|
|
17127
|
-
"class":
|
|
17367
|
+
"class": "v-snackbar__content",
|
|
17128
17368
|
"role": "status",
|
|
17129
17369
|
"aria-live": "polite"
|
|
17130
17370
|
}, [slots.default()]), slots.actions && createVNode(VDefaultsProvider, {
|
|
@@ -17141,7 +17381,7 @@ const VSnackbar = defineComponent({
|
|
|
17141
17381
|
})])],
|
|
17142
17382
|
activator: slots.activator
|
|
17143
17383
|
}));
|
|
17144
|
-
return
|
|
17384
|
+
return forwardRefs({}, overlay);
|
|
17145
17385
|
}
|
|
17146
17386
|
|
|
17147
17387
|
});
|
|
@@ -17627,7 +17867,7 @@ const VTextarea = defineComponent({
|
|
|
17627
17867
|
const vInputRef = ref();
|
|
17628
17868
|
const vFieldRef = ref();
|
|
17629
17869
|
const isFocused = ref(false);
|
|
17630
|
-
const controlHeight = ref('
|
|
17870
|
+
const controlHeight = ref('');
|
|
17631
17871
|
const textareaRef = ref();
|
|
17632
17872
|
const isActive = computed(() => isFocused.value || props.persistentPlaceholder);
|
|
17633
17873
|
const messages = computed(() => {
|
|
@@ -17667,14 +17907,15 @@ const VTextarea = defineComponent({
|
|
|
17667
17907
|
function calculateInputHeight() {
|
|
17668
17908
|
if (!props.autoGrow) return;
|
|
17669
17909
|
nextTick(() => {
|
|
17670
|
-
if (!sizerRef.value) return;
|
|
17910
|
+
if (!sizerRef.value || !vFieldRef.value) return;
|
|
17671
17911
|
const style = getComputedStyle(sizerRef.value);
|
|
17672
|
-
const
|
|
17912
|
+
const fieldStyle = getComputedStyle(vFieldRef.value.$el);
|
|
17913
|
+
const padding = parseFloat(style.getPropertyValue('--v-field-padding-top')) + parseFloat(style.getPropertyValue('--v-input-padding-top')) + parseFloat(style.getPropertyValue('--v-field-padding-bottom'));
|
|
17673
17914
|
const height = sizerRef.value.scrollHeight;
|
|
17674
17915
|
const lineHeight = parseFloat(style.lineHeight);
|
|
17675
|
-
const minHeight = parseFloat(props.rows) * lineHeight + padding;
|
|
17916
|
+
const minHeight = Math.max(parseFloat(props.rows) * lineHeight + padding, parseFloat(fieldStyle.getPropertyValue('--v-input-control-height')));
|
|
17676
17917
|
const maxHeight = parseFloat(props.maxRows) * lineHeight + padding || Infinity;
|
|
17677
|
-
controlHeight.value = convertToUnit(
|
|
17918
|
+
controlHeight.value = convertToUnit(clamp(height != null ? height : 0, minHeight, maxHeight));
|
|
17678
17919
|
});
|
|
17679
17920
|
}
|
|
17680
17921
|
|
|
@@ -17682,6 +17923,7 @@ const VTextarea = defineComponent({
|
|
|
17682
17923
|
watch(model, calculateInputHeight);
|
|
17683
17924
|
watch(() => props.rows, calculateInputHeight);
|
|
17684
17925
|
watch(() => props.maxRows, calculateInputHeight);
|
|
17926
|
+
watch(() => props.density, calculateInputHeight);
|
|
17685
17927
|
let observer;
|
|
17686
17928
|
watch(sizerRef, val => {
|
|
17687
17929
|
if (val) {
|
|
@@ -17708,11 +17950,14 @@ const VTextarea = defineComponent({
|
|
|
17708
17950
|
}] = filterInputProps(props);
|
|
17709
17951
|
const [fieldProps] = filterFieldProps(props);
|
|
17710
17952
|
return createVNode(VInput, mergeProps({
|
|
17953
|
+
"ref": vInputRef,
|
|
17711
17954
|
"modelValue": model.value,
|
|
17712
17955
|
"onUpdate:modelValue": $event => model.value = $event,
|
|
17713
|
-
"class": ['v-textarea', {
|
|
17956
|
+
"class": ['v-textarea v-text-field', {
|
|
17714
17957
|
'v-textarea--prefixed': props.prefix,
|
|
17715
17958
|
'v-textarea--suffixed': props.suffix,
|
|
17959
|
+
'v-text-field--prefixed': props.prefix,
|
|
17960
|
+
'v-text-field--suffixed': props.suffix,
|
|
17716
17961
|
'v-textarea--auto-grow': props.autoGrow,
|
|
17717
17962
|
'v-textarea--no-resize': props.noResize || props.autoGrow
|
|
17718
17963
|
}]
|
|
@@ -17727,8 +17972,9 @@ const VTextarea = defineComponent({
|
|
|
17727
17972
|
isValid
|
|
17728
17973
|
} = _ref2;
|
|
17729
17974
|
return createVNode(VField, mergeProps({
|
|
17975
|
+
"ref": vFieldRef,
|
|
17730
17976
|
"style": {
|
|
17731
|
-
'--v-
|
|
17977
|
+
'--v-textarea-control-height': controlHeight.value
|
|
17732
17978
|
},
|
|
17733
17979
|
"onClick:control": onControlClick,
|
|
17734
17980
|
"onClick:clear": onClear,
|
|
@@ -17788,7 +18034,7 @@ const VTextarea = defineComponent({
|
|
|
17788
18034
|
} : undefined
|
|
17789
18035
|
});
|
|
17790
18036
|
});
|
|
17791
|
-
return
|
|
18037
|
+
return forwardRefs({}, vInputRef, vFieldRef, textareaRef);
|
|
17792
18038
|
}
|
|
17793
18039
|
|
|
17794
18040
|
});
|
|
@@ -17872,7 +18118,8 @@ const VTimeline = defineComponent({
|
|
|
17872
18118
|
lineColor: toRef(props, 'lineColor')
|
|
17873
18119
|
},
|
|
17874
18120
|
VTimelineItem: {
|
|
17875
|
-
density: toRef(props, 'density')
|
|
18121
|
+
density: toRef(props, 'density'),
|
|
18122
|
+
lineInset: toRef(props, 'lineInset')
|
|
17876
18123
|
}
|
|
17877
18124
|
});
|
|
17878
18125
|
const sideClasses = computed(() => {
|
|
@@ -17897,12 +18144,11 @@ const VTimeline = defineComponent({
|
|
|
17897
18144
|
}
|
|
17898
18145
|
});
|
|
17899
18146
|
useRender(() => createVNode(props.tag, {
|
|
17900
|
-
"class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`,
|
|
18147
|
+
"class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, truncateClasses.value, {
|
|
17901
18148
|
'v-timeline--inset-line': !!props.lineInset
|
|
17902
18149
|
}, themeClasses.value, densityClasses.value, sideClasses.value],
|
|
17903
18150
|
"style": {
|
|
17904
|
-
'--v-timeline-line-thickness': convertToUnit(props.lineThickness)
|
|
17905
|
-
'--v-timeline-line-inset': convertToUnit(props.lineInset)
|
|
18151
|
+
'--v-timeline-line-thickness': convertToUnit(props.lineThickness)
|
|
17906
18152
|
}
|
|
17907
18153
|
}, slots));
|
|
17908
18154
|
return {};
|
|
@@ -17960,7 +18206,10 @@ const VTimelineDivider = defineComponent({
|
|
|
17960
18206
|
"class": ['v-timeline-divider', {
|
|
17961
18207
|
'v-timeline-divider--fill-dot': props.fillDot
|
|
17962
18208
|
}]
|
|
17963
|
-
}, [
|
|
18209
|
+
}, [createVNode("div", {
|
|
18210
|
+
"class": ['v-timeline-divider__before', lineColorClasses.value],
|
|
18211
|
+
"style": lineColorStyles.value
|
|
18212
|
+
}, null), !props.hideDot && createVNode("div", {
|
|
17964
18213
|
"key": "dot",
|
|
17965
18214
|
"class": ['v-timeline-divider__dot', elevationClasses.value, roundedClasses.value, sizeClasses.value],
|
|
17966
18215
|
"style": sizeStyles.value
|
|
@@ -17968,7 +18217,7 @@ const VTimelineDivider = defineComponent({
|
|
|
17968
18217
|
"class": ['v-timeline-divider__inner-dot', backgroundColorClasses.value, roundedClasses.value],
|
|
17969
18218
|
"style": backgroundColorStyles.value
|
|
17970
18219
|
}, [(_slots$default = (_slots$default2 = slots.default) == null ? void 0 : _slots$default2.call(slots)) != null ? _slots$default : props.icon ? createVNode(VIcon, null, null) : undefined])]), createVNode("div", {
|
|
17971
|
-
"class": ['v-timeline-
|
|
18220
|
+
"class": ['v-timeline-divider__after', lineColorClasses.value],
|
|
17972
18221
|
"style": lineColorStyles.value
|
|
17973
18222
|
}, null)]);
|
|
17974
18223
|
});
|
|
@@ -17990,6 +18239,7 @@ const VTimelineItem = defineComponent({
|
|
|
17990
18239
|
},
|
|
17991
18240
|
icon: IconValue,
|
|
17992
18241
|
iconColor: String,
|
|
18242
|
+
lineInset: [Number, String],
|
|
17993
18243
|
...makeRoundedProps(),
|
|
17994
18244
|
...makeElevationProps(),
|
|
17995
18245
|
...makeSizeProps(),
|
|
@@ -18022,7 +18272,8 @@ const VTimelineItem = defineComponent({
|
|
|
18022
18272
|
'v-timeline-item--fill-dot': props.fillDot
|
|
18023
18273
|
}],
|
|
18024
18274
|
"style": {
|
|
18025
|
-
'--v-timeline-dot-size': convertToUnit(dotSize.value)
|
|
18275
|
+
'--v-timeline-dot-size': convertToUnit(dotSize.value),
|
|
18276
|
+
'--v-timeline-line-inset': props.lineInset ? `calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(props.lineInset)})` : convertToUnit(0)
|
|
18026
18277
|
}
|
|
18027
18278
|
}, [createVNode("div", {
|
|
18028
18279
|
"class": "v-timeline-item__body",
|
|
@@ -18129,7 +18380,7 @@ const VTooltip = genericComponent()({
|
|
|
18129
18380
|
return (_slots$default = (_slots$default2 = slots.default) == null ? void 0 : _slots$default2.call(slots, ...args)) != null ? _slots$default : props.text;
|
|
18130
18381
|
}
|
|
18131
18382
|
}));
|
|
18132
|
-
return
|
|
18383
|
+
return forwardRefs({}, overlay);
|
|
18133
18384
|
}
|
|
18134
18385
|
|
|
18135
18386
|
});
|
|
@@ -18535,7 +18786,7 @@ const createVuetify = function () {
|
|
|
18535
18786
|
...options
|
|
18536
18787
|
});
|
|
18537
18788
|
};
|
|
18538
|
-
const version = "3.0.0-beta.
|
|
18789
|
+
const version = "3.0.0-beta.9";
|
|
18539
18790
|
|
|
18540
|
-
export { components, createVuetify, directives, provideRtl, useDisplay, useLayout, useRtl, useTheme, version };
|
|
18791
|
+
export { components, createVuetify, directives, provideRtl, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
|
|
18541
18792
|
//# sourceMappingURL=vuetify.esm.js.map
|