vuetify 3.0.4 → 3.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +25 -9
- package/dist/json/importMap.json +52 -52
- package/dist/json/tags.json +4 -0
- package/dist/json/web-types.json +57 -28
- package/dist/vuetify.css +55 -56
- package/dist/vuetify.d.ts +278 -170
- package/dist/vuetify.esm.js +199 -167
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +199 -167
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +100 -100
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/index.d.ts +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +41 -24
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +6 -3
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomNavigation/index.d.ts +9 -0
- package/lib/components/VBtn/index.d.ts +2 -3
- package/lib/components/VCard/index.d.ts +2 -3
- package/lib/components/VChip/VChip.mjs +1 -1
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.ts +1 -1
- package/lib/components/VChipGroup/index.d.ts +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +1 -1
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +41 -24
- package/lib/components/VDialog/index.d.ts +21 -6
- package/lib/components/VExpansionPanel/index.d.ts +1 -1
- package/lib/components/VField/VField.mjs +1 -1
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/index.d.ts +5 -8
- package/lib/components/VFileInput/index.d.ts +3 -4
- package/lib/components/VMenu/index.d.ts +21 -6
- package/lib/components/VOverlay/VOverlay.mjs +10 -3
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.ts +8 -1
- package/lib/components/VPagination/index.d.ts +1 -1
- package/lib/components/VSelect/VSelect.mjs +6 -2
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +41 -24
- package/lib/components/VSnackbar/index.d.ts +25 -10
- package/lib/components/VTabs/VTab.css +1 -2
- package/lib/components/VTabs/VTab.sass +4 -3
- package/lib/components/VTextField/index.d.ts +20 -29
- package/lib/components/VTextarea/index.d.ts +2 -3
- package/lib/components/VToolbar/VToolbar.mjs +6 -0
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VTooltip/VTooltip.mjs +2 -1
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.ts +21 -6
- package/lib/components/index.d.ts +264 -156
- package/lib/composables/display.mjs +5 -4
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/hydration.mjs +13 -8
- package/lib/composables/hydration.mjs.map +1 -1
- package/lib/composables/loader.mjs +1 -1
- package/lib/composables/loader.mjs.map +1 -1
- package/lib/composables/stack.mjs +16 -9
- package/lib/composables/stack.mjs.map +1 -1
- package/lib/composables/validation.mjs +2 -2
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +14 -14
- package/lib/services/goto/util.mjs +1 -1
- package/lib/services/goto/util.mjs.map +1 -1
- package/lib/util/console.mjs +3 -3
- package/lib/util/console.mjs.map +1 -1
- package/package.json +2 -2
package/dist/vuetify.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.0.
|
|
2
|
+
* Vuetify v3.0.5
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -513,7 +513,7 @@
|
|
|
513
513
|
|
|
514
514
|
if (parent) {
|
|
515
515
|
vm = {
|
|
516
|
-
|
|
516
|
+
__isVue: true,
|
|
517
517
|
$parent: parent,
|
|
518
518
|
$options: vm
|
|
519
519
|
};
|
|
@@ -545,7 +545,7 @@
|
|
|
545
545
|
if (vm.$root === vm) {
|
|
546
546
|
return '<Root>';
|
|
547
547
|
}
|
|
548
|
-
const options = typeof vm === 'function' && vm.cid != null ? vm.options : vm.
|
|
548
|
+
const options = typeof vm === 'function' && vm.cid != null ? vm.options : vm.__isVue ? vm.$options || vm.constructor.options : vm || {};
|
|
549
549
|
let name = options.name || options._componentTag;
|
|
550
550
|
const file = options.__file;
|
|
551
551
|
if (!name && file) {
|
|
@@ -555,7 +555,7 @@
|
|
|
555
555
|
return (name ? `<${classify(name)}>` : `<Anonymous>`) + (file && includeFile !== false ? ` at ${file}` : '');
|
|
556
556
|
}
|
|
557
557
|
function generateComponentTrace(vm) {
|
|
558
|
-
if (vm.
|
|
558
|
+
if (vm.__isVue && vm.$parent) {
|
|
559
559
|
const tree = [];
|
|
560
560
|
let currentRecursiveSequence = 0;
|
|
561
561
|
while (vm) {
|
|
@@ -3147,6 +3147,11 @@
|
|
|
3147
3147
|
const isExtended = vue.ref(!!(props.extended || (_slots$extension = slots.extension) != null && _slots$extension.call(slots)));
|
|
3148
3148
|
const contentHeight = vue.computed(() => parseInt(Number(props.height) + (props.density === 'prominent' ? Number(props.height) : 0) - (props.density === 'comfortable' ? 8 : 0) - (props.density === 'compact' ? 16 : 0), 10));
|
|
3149
3149
|
const extensionHeight = vue.computed(() => isExtended.value ? parseInt(Number(props.extensionHeight) + (props.density === 'prominent' ? Number(props.extensionHeight) : 0) - (props.density === 'comfortable' ? 4 : 0) - (props.density === 'compact' ? 8 : 0), 10) : 0);
|
|
3150
|
+
provideDefaults({
|
|
3151
|
+
VBtn: {
|
|
3152
|
+
variant: 'text'
|
|
3153
|
+
}
|
|
3154
|
+
});
|
|
3150
3155
|
useRender(() => {
|
|
3151
3156
|
var _slots$extension2, _slots$image, _slots$prepend, _slots$default, _slots$append;
|
|
3152
3157
|
const hasTitle = !!(props.title || slots.title);
|
|
@@ -4531,7 +4536,7 @@
|
|
|
4531
4536
|
|
|
4532
4537
|
// Composables
|
|
4533
4538
|
const makeLoaderProps = propsFactory({
|
|
4534
|
-
loading: Boolean
|
|
4539
|
+
loading: [Boolean, String]
|
|
4535
4540
|
}, 'loader');
|
|
4536
4541
|
function useLoader(props) {
|
|
4537
4542
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
|
@@ -5409,7 +5414,7 @@
|
|
|
5409
5414
|
"class": "v-field__overlay"
|
|
5410
5415
|
}, null), vue.createVNode(LoaderSlot, {
|
|
5411
5416
|
"name": "v-field",
|
|
5412
|
-
"active": props.loading,
|
|
5417
|
+
"active": !!props.loading,
|
|
5413
5418
|
"color": props.error ? 'error' : props.color
|
|
5414
5419
|
}, {
|
|
5415
5420
|
default: slots.loader
|
|
@@ -5702,7 +5707,7 @@
|
|
|
5702
5707
|
const isDisabled = vue.computed(() => !!(props.disabled || form != null && form.isDisabled.value));
|
|
5703
5708
|
const isReadonly = vue.computed(() => !!(props.readonly || form != null && form.isReadonly.value));
|
|
5704
5709
|
const errorMessages = vue.computed(() => {
|
|
5705
|
-
return props.errorMessages.length ? wrapInArray(props.errorMessages.slice(0, Math.max(0, +props.maxErrors))
|
|
5710
|
+
return props.errorMessages.length ? wrapInArray(props.errorMessages).slice(0, Math.max(0, +props.maxErrors)) : internalErrorMessages.value;
|
|
5706
5711
|
});
|
|
5707
5712
|
const isValid = vue.computed(() => {
|
|
5708
5713
|
if (props.error || errorMessages.value.length) return false;
|
|
@@ -5766,7 +5771,7 @@
|
|
|
5766
5771
|
const results = [];
|
|
5767
5772
|
isValidating.value = true;
|
|
5768
5773
|
for (const rule of props.rules) {
|
|
5769
|
-
if (results.length >= (props.maxErrors
|
|
5774
|
+
if (results.length >= (props.maxErrors ?? 1)) {
|
|
5770
5775
|
break;
|
|
5771
5776
|
}
|
|
5772
5777
|
const handler = typeof rule === 'function' ? rule : () => rule;
|
|
@@ -6799,7 +6804,7 @@
|
|
|
6799
6804
|
"class": ['v-chip', {
|
|
6800
6805
|
'v-chip--disabled': props.disabled,
|
|
6801
6806
|
'v-chip--label': props.label,
|
|
6802
|
-
'v-chip--link': isClickable,
|
|
6807
|
+
'v-chip--link': isClickable.value,
|
|
6803
6808
|
'v-chip--filter': hasFilter,
|
|
6804
6809
|
'v-chip--pill': props.pill
|
|
6805
6810
|
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group == null ? void 0 : group.selectedClass.value],
|
|
@@ -9042,25 +9047,163 @@
|
|
|
9042
9047
|
});
|
|
9043
9048
|
}
|
|
9044
9049
|
|
|
9050
|
+
// Utilities
|
|
9051
|
+
|
|
9052
|
+
// Types
|
|
9053
|
+
|
|
9054
|
+
const DisplaySymbol = Symbol.for('vuetify:display');
|
|
9055
|
+
const defaultDisplayOptions = {
|
|
9056
|
+
mobileBreakpoint: 'lg',
|
|
9057
|
+
thresholds: {
|
|
9058
|
+
xs: 0,
|
|
9059
|
+
sm: 600,
|
|
9060
|
+
md: 960,
|
|
9061
|
+
lg: 1280,
|
|
9062
|
+
xl: 1920,
|
|
9063
|
+
xxl: 2560
|
|
9064
|
+
}
|
|
9065
|
+
};
|
|
9066
|
+
const parseDisplayOptions = function () {
|
|
9067
|
+
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultDisplayOptions;
|
|
9068
|
+
return mergeDeep(defaultDisplayOptions, options);
|
|
9069
|
+
};
|
|
9070
|
+
function getClientWidth(isHydrate) {
|
|
9071
|
+
return IN_BROWSER && !isHydrate ? window.innerWidth : 0;
|
|
9072
|
+
}
|
|
9073
|
+
function getClientHeight(isHydrate) {
|
|
9074
|
+
return IN_BROWSER && !isHydrate ? window.innerHeight : 0;
|
|
9075
|
+
}
|
|
9076
|
+
function getPlatform() {
|
|
9077
|
+
const userAgent = IN_BROWSER ? window.navigator.userAgent : 'ssr';
|
|
9078
|
+
function match(regexp) {
|
|
9079
|
+
return Boolean(userAgent.match(regexp));
|
|
9080
|
+
}
|
|
9081
|
+
const android = match(/android/i);
|
|
9082
|
+
const ios = match(/iphone|ipad|ipod/i);
|
|
9083
|
+
const cordova = match(/cordova/i);
|
|
9084
|
+
const electron = match(/electron/i);
|
|
9085
|
+
const chrome = match(/chrome/i);
|
|
9086
|
+
const edge = match(/edge/i);
|
|
9087
|
+
const firefox = match(/firefox/i);
|
|
9088
|
+
const opera = match(/opera/i);
|
|
9089
|
+
const win = match(/win/i);
|
|
9090
|
+
const mac = match(/mac/i);
|
|
9091
|
+
const linux = match(/linux/i);
|
|
9092
|
+
const ssr = match(/ssr/i);
|
|
9093
|
+
return {
|
|
9094
|
+
android,
|
|
9095
|
+
ios,
|
|
9096
|
+
cordova,
|
|
9097
|
+
electron,
|
|
9098
|
+
chrome,
|
|
9099
|
+
edge,
|
|
9100
|
+
firefox,
|
|
9101
|
+
opera,
|
|
9102
|
+
win,
|
|
9103
|
+
mac,
|
|
9104
|
+
linux,
|
|
9105
|
+
touch: SUPPORTS_TOUCH,
|
|
9106
|
+
ssr
|
|
9107
|
+
};
|
|
9108
|
+
}
|
|
9109
|
+
function createDisplay(options, ssr) {
|
|
9110
|
+
const {
|
|
9111
|
+
thresholds,
|
|
9112
|
+
mobileBreakpoint
|
|
9113
|
+
} = parseDisplayOptions(options);
|
|
9114
|
+
const height = vue.ref(getClientHeight(ssr));
|
|
9115
|
+
const platform = getPlatform();
|
|
9116
|
+
const state = vue.reactive({});
|
|
9117
|
+
const width = vue.ref(getClientWidth(ssr));
|
|
9118
|
+
function update() {
|
|
9119
|
+
height.value = getClientHeight();
|
|
9120
|
+
width.value = getClientWidth();
|
|
9121
|
+
}
|
|
9122
|
+
|
|
9123
|
+
// eslint-disable-next-line max-statements
|
|
9124
|
+
vue.watchEffect(() => {
|
|
9125
|
+
const xs = width.value < thresholds.sm;
|
|
9126
|
+
const sm = width.value < thresholds.md && !xs;
|
|
9127
|
+
const md = width.value < thresholds.lg && !(sm || xs);
|
|
9128
|
+
const lg = width.value < thresholds.xl && !(md || sm || xs);
|
|
9129
|
+
const xl = width.value < thresholds.xxl && !(lg || md || sm || xs);
|
|
9130
|
+
const xxl = width.value >= thresholds.xxl;
|
|
9131
|
+
const name = xs ? 'xs' : sm ? 'sm' : md ? 'md' : lg ? 'lg' : xl ? 'xl' : 'xxl';
|
|
9132
|
+
const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint];
|
|
9133
|
+
const mobile = !platform.ssr ? width.value < breakpointValue : platform.android || platform.ios || platform.opera;
|
|
9134
|
+
state.xs = xs;
|
|
9135
|
+
state.sm = sm;
|
|
9136
|
+
state.md = md;
|
|
9137
|
+
state.lg = lg;
|
|
9138
|
+
state.xl = xl;
|
|
9139
|
+
state.xxl = xxl;
|
|
9140
|
+
state.smAndUp = !xs;
|
|
9141
|
+
state.mdAndUp = !(xs || sm);
|
|
9142
|
+
state.lgAndUp = !(xs || sm || md);
|
|
9143
|
+
state.xlAndUp = !(xs || sm || md || lg);
|
|
9144
|
+
state.smAndDown = !(md || lg || xl || xxl);
|
|
9145
|
+
state.mdAndDown = !(lg || xl || xxl);
|
|
9146
|
+
state.lgAndDown = !(xl || xxl);
|
|
9147
|
+
state.xlAndDown = !xxl;
|
|
9148
|
+
state.name = name;
|
|
9149
|
+
state.height = height.value;
|
|
9150
|
+
state.width = width.value;
|
|
9151
|
+
state.mobile = mobile;
|
|
9152
|
+
state.mobileBreakpoint = mobileBreakpoint;
|
|
9153
|
+
state.platform = platform;
|
|
9154
|
+
state.thresholds = thresholds;
|
|
9155
|
+
});
|
|
9156
|
+
if (IN_BROWSER) {
|
|
9157
|
+
window.addEventListener('resize', update, {
|
|
9158
|
+
passive: true
|
|
9159
|
+
});
|
|
9160
|
+
}
|
|
9161
|
+
return {
|
|
9162
|
+
...vue.toRefs(state),
|
|
9163
|
+
update,
|
|
9164
|
+
ssr: !!ssr
|
|
9165
|
+
};
|
|
9166
|
+
}
|
|
9167
|
+
function useDisplay() {
|
|
9168
|
+
const display = vue.inject(DisplaySymbol);
|
|
9169
|
+
if (!display) throw new Error('Could not find Vuetify display injection');
|
|
9170
|
+
return display;
|
|
9171
|
+
}
|
|
9172
|
+
|
|
9045
9173
|
// Utilities
|
|
9046
9174
|
function useHydration() {
|
|
9047
|
-
var _vm$root, _vm$root$appContext, _vm$root$appContext$a;
|
|
9048
9175
|
if (!IN_BROWSER) return vue.ref(false);
|
|
9049
|
-
const
|
|
9050
|
-
|
|
9051
|
-
|
|
9052
|
-
if (
|
|
9053
|
-
|
|
9176
|
+
const {
|
|
9177
|
+
ssr
|
|
9178
|
+
} = useDisplay();
|
|
9179
|
+
if (ssr) {
|
|
9180
|
+
const isMounted = vue.ref(false);
|
|
9181
|
+
vue.onMounted(() => {
|
|
9182
|
+
isMounted.value = true;
|
|
9183
|
+
});
|
|
9184
|
+
return isMounted;
|
|
9185
|
+
} else {
|
|
9186
|
+
return vue.ref(true);
|
|
9054
9187
|
}
|
|
9055
|
-
|
|
9188
|
+
}
|
|
9189
|
+
|
|
9190
|
+
function useScopeId() {
|
|
9191
|
+
const vm = getCurrentInstance('useScopeId');
|
|
9192
|
+
const scopeId = vm.vnode.scopeId;
|
|
9193
|
+
return {
|
|
9194
|
+
scopeId: scopeId ? {
|
|
9195
|
+
[scopeId]: ''
|
|
9196
|
+
} : undefined
|
|
9197
|
+
};
|
|
9056
9198
|
}
|
|
9057
9199
|
|
|
9058
9200
|
// Types
|
|
9059
9201
|
|
|
9060
9202
|
const StackSymbol = Symbol.for('vuetify:stack');
|
|
9061
9203
|
const globalStack = vue.reactive([]);
|
|
9062
|
-
function useStack(isActive, zIndex) {
|
|
9204
|
+
function useStack(isActive, zIndex, disableGlobalStack) {
|
|
9063
9205
|
const vm = getCurrentInstance('useStack');
|
|
9206
|
+
const createStackEntry = !disableGlobalStack;
|
|
9064
9207
|
const parent = vue.inject(StackSymbol, undefined);
|
|
9065
9208
|
const stack = vue.reactive({
|
|
9066
9209
|
activeChildren: new Set()
|
|
@@ -9071,20 +9214,26 @@
|
|
|
9071
9214
|
var _globalStack$at;
|
|
9072
9215
|
const lastZIndex = (_globalStack$at = globalStack.at(-1)) == null ? void 0 : _globalStack$at[1];
|
|
9073
9216
|
_zIndex.value = lastZIndex ? lastZIndex + 10 : +zIndex.value;
|
|
9074
|
-
|
|
9217
|
+
if (createStackEntry) {
|
|
9218
|
+
globalStack.push([vm.uid, _zIndex.value]);
|
|
9219
|
+
}
|
|
9075
9220
|
parent == null ? void 0 : parent.activeChildren.add(vm.uid);
|
|
9076
9221
|
vue.onScopeDispose(() => {
|
|
9077
|
-
|
|
9078
|
-
|
|
9222
|
+
if (createStackEntry) {
|
|
9223
|
+
const idx = globalStack.findIndex(v => v[0] === vm.uid);
|
|
9224
|
+
globalStack.splice(idx, 1);
|
|
9225
|
+
}
|
|
9079
9226
|
parent == null ? void 0 : parent.activeChildren.delete(vm.uid);
|
|
9080
9227
|
});
|
|
9081
9228
|
});
|
|
9082
9229
|
const globalTop = vue.ref(true);
|
|
9083
|
-
|
|
9084
|
-
|
|
9085
|
-
|
|
9086
|
-
|
|
9087
|
-
|
|
9230
|
+
if (createStackEntry) {
|
|
9231
|
+
vue.watchEffect(() => {
|
|
9232
|
+
var _globalStack$at2;
|
|
9233
|
+
const _isTop = ((_globalStack$at2 = globalStack.at(-1)) == null ? void 0 : _globalStack$at2[0]) === vm.uid;
|
|
9234
|
+
setTimeout(() => globalTop.value = _isTop);
|
|
9235
|
+
});
|
|
9236
|
+
}
|
|
9088
9237
|
const localTop = vue.computed(() => !stack.activeChildren.size);
|
|
9089
9238
|
return {
|
|
9090
9239
|
globalTop: vue.readonly(globalTop),
|
|
@@ -9263,7 +9412,10 @@
|
|
|
9263
9412
|
ClickOutside
|
|
9264
9413
|
},
|
|
9265
9414
|
inheritAttrs: false,
|
|
9266
|
-
props:
|
|
9415
|
+
props: {
|
|
9416
|
+
_disableGlobalStack: Boolean,
|
|
9417
|
+
...makeVOverlayProps()
|
|
9418
|
+
},
|
|
9267
9419
|
emits: {
|
|
9268
9420
|
'click:outside': e => true,
|
|
9269
9421
|
'update:modelValue': value => true,
|
|
@@ -9303,7 +9455,7 @@
|
|
|
9303
9455
|
globalTop,
|
|
9304
9456
|
localTop,
|
|
9305
9457
|
stackStyles
|
|
9306
|
-
} = useStack(isActive, vue.toRef(props, 'zIndex'));
|
|
9458
|
+
} = useStack(isActive, vue.toRef(props, 'zIndex'), props._disableGlobalStack);
|
|
9307
9459
|
const {
|
|
9308
9460
|
activatorEl,
|
|
9309
9461
|
activatorRef,
|
|
@@ -9318,6 +9470,9 @@
|
|
|
9318
9470
|
dimensionStyles
|
|
9319
9471
|
} = useDimension(props);
|
|
9320
9472
|
const isMounted = useHydration();
|
|
9473
|
+
const {
|
|
9474
|
+
scopeId
|
|
9475
|
+
} = useScopeId();
|
|
9321
9476
|
vue.watch(() => props.disabled, v => {
|
|
9322
9477
|
if (v) isActive.value = false;
|
|
9323
9478
|
});
|
|
@@ -9418,7 +9573,7 @@
|
|
|
9418
9573
|
top: convertToUnit(top.value)
|
|
9419
9574
|
}],
|
|
9420
9575
|
"ref": root
|
|
9421
|
-
}, attrs), [vue.createVNode(Scrim, vue.mergeProps({
|
|
9576
|
+
}, scopeId, attrs), [vue.createVNode(Scrim, vue.mergeProps({
|
|
9422
9577
|
"color": scrimColor,
|
|
9423
9578
|
"modelValue": isActive.value && !!props.scrim
|
|
9424
9579
|
}, vue.toHandlers(scrimEvents.value)), null), vue.createVNode(MaybeTransition, {
|
|
@@ -9459,16 +9614,6 @@
|
|
|
9459
9614
|
return pick(props, Object.keys(VOverlay.props));
|
|
9460
9615
|
}
|
|
9461
9616
|
|
|
9462
|
-
function useScopeId() {
|
|
9463
|
-
const vm = getCurrentInstance('useScopeId');
|
|
9464
|
-
const scopeId = vm.vnode.scopeId;
|
|
9465
|
-
return {
|
|
9466
|
-
scopeId: scopeId ? {
|
|
9467
|
-
[scopeId]: ''
|
|
9468
|
-
} : undefined
|
|
9469
|
-
};
|
|
9470
|
-
}
|
|
9471
|
-
|
|
9472
9617
|
// Types
|
|
9473
9618
|
|
|
9474
9619
|
const VMenu = genericComponent()({
|
|
@@ -9585,6 +9730,10 @@
|
|
|
9585
9730
|
default: '$vuetify.noDataText'
|
|
9586
9731
|
},
|
|
9587
9732
|
openOnClear: Boolean,
|
|
9733
|
+
valueComparator: {
|
|
9734
|
+
type: Function,
|
|
9735
|
+
default: deepEqual
|
|
9736
|
+
},
|
|
9588
9737
|
...makeItemsProps({
|
|
9589
9738
|
itemChildren: false
|
|
9590
9739
|
})
|
|
@@ -9626,7 +9775,7 @@
|
|
|
9626
9775
|
});
|
|
9627
9776
|
const selections = vue.computed(() => {
|
|
9628
9777
|
return model.value.map(v => {
|
|
9629
|
-
return items.value.find(item => item.value
|
|
9778
|
+
return items.value.find(item => props.valueComparator(item.value, v.value)) || v;
|
|
9630
9779
|
});
|
|
9631
9780
|
});
|
|
9632
9781
|
const selected = vue.computed(() => selections.value.map(selection => selection.props.value));
|
|
@@ -9967,7 +10116,7 @@
|
|
|
9967
10116
|
} = useFilter(props, items, vue.computed(() => isPristine.value ? undefined : search.value));
|
|
9968
10117
|
const selections = vue.computed(() => {
|
|
9969
10118
|
return model.value.map(v => {
|
|
9970
|
-
return items.value.find(item => item.value
|
|
10119
|
+
return items.value.find(item => props.valueComparator(item.value, v.value)) || v;
|
|
9971
10120
|
});
|
|
9972
10121
|
});
|
|
9973
10122
|
const selected = vue.computed(() => selections.value.map(selection => selection.props.value));
|
|
@@ -10316,128 +10465,6 @@
|
|
|
10316
10465
|
|
|
10317
10466
|
const VBannerText = createSimpleFunctional('v-banner-text');
|
|
10318
10467
|
|
|
10319
|
-
// Utilities
|
|
10320
|
-
|
|
10321
|
-
// Types
|
|
10322
|
-
|
|
10323
|
-
const DisplaySymbol = Symbol.for('vuetify:display');
|
|
10324
|
-
const defaultDisplayOptions = {
|
|
10325
|
-
mobileBreakpoint: 'lg',
|
|
10326
|
-
thresholds: {
|
|
10327
|
-
xs: 0,
|
|
10328
|
-
sm: 600,
|
|
10329
|
-
md: 960,
|
|
10330
|
-
lg: 1280,
|
|
10331
|
-
xl: 1920,
|
|
10332
|
-
xxl: 2560
|
|
10333
|
-
}
|
|
10334
|
-
};
|
|
10335
|
-
const parseDisplayOptions = function () {
|
|
10336
|
-
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultDisplayOptions;
|
|
10337
|
-
return mergeDeep(defaultDisplayOptions, options);
|
|
10338
|
-
};
|
|
10339
|
-
function getClientWidth(isHydrate) {
|
|
10340
|
-
return IN_BROWSER && !isHydrate ? window.innerWidth : 0;
|
|
10341
|
-
}
|
|
10342
|
-
function getClientHeight(isHydrate) {
|
|
10343
|
-
return IN_BROWSER && !isHydrate ? window.innerHeight : 0;
|
|
10344
|
-
}
|
|
10345
|
-
function getPlatform() {
|
|
10346
|
-
const userAgent = IN_BROWSER ? window.navigator.userAgent : 'ssr';
|
|
10347
|
-
function match(regexp) {
|
|
10348
|
-
return Boolean(userAgent.match(regexp));
|
|
10349
|
-
}
|
|
10350
|
-
const android = match(/android/i);
|
|
10351
|
-
const ios = match(/iphone|ipad|ipod/i);
|
|
10352
|
-
const cordova = match(/cordova/i);
|
|
10353
|
-
const electron = match(/electron/i);
|
|
10354
|
-
const chrome = match(/chrome/i);
|
|
10355
|
-
const edge = match(/edge/i);
|
|
10356
|
-
const firefox = match(/firefox/i);
|
|
10357
|
-
const opera = match(/opera/i);
|
|
10358
|
-
const win = match(/win/i);
|
|
10359
|
-
const mac = match(/mac/i);
|
|
10360
|
-
const linux = match(/linux/i);
|
|
10361
|
-
const ssr = match(/ssr/i);
|
|
10362
|
-
return {
|
|
10363
|
-
android,
|
|
10364
|
-
ios,
|
|
10365
|
-
cordova,
|
|
10366
|
-
electron,
|
|
10367
|
-
chrome,
|
|
10368
|
-
edge,
|
|
10369
|
-
firefox,
|
|
10370
|
-
opera,
|
|
10371
|
-
win,
|
|
10372
|
-
mac,
|
|
10373
|
-
linux,
|
|
10374
|
-
touch: SUPPORTS_TOUCH,
|
|
10375
|
-
ssr
|
|
10376
|
-
};
|
|
10377
|
-
}
|
|
10378
|
-
function createDisplay(options, isHydrate) {
|
|
10379
|
-
const {
|
|
10380
|
-
thresholds,
|
|
10381
|
-
mobileBreakpoint
|
|
10382
|
-
} = parseDisplayOptions(options);
|
|
10383
|
-
const height = vue.ref(getClientHeight(isHydrate));
|
|
10384
|
-
const platform = getPlatform();
|
|
10385
|
-
const state = vue.reactive({});
|
|
10386
|
-
const width = vue.ref(getClientWidth(isHydrate));
|
|
10387
|
-
function update() {
|
|
10388
|
-
height.value = getClientHeight();
|
|
10389
|
-
width.value = getClientWidth();
|
|
10390
|
-
}
|
|
10391
|
-
|
|
10392
|
-
// eslint-disable-next-line max-statements
|
|
10393
|
-
vue.watchEffect(() => {
|
|
10394
|
-
const xs = width.value < thresholds.sm;
|
|
10395
|
-
const sm = width.value < thresholds.md && !xs;
|
|
10396
|
-
const md = width.value < thresholds.lg && !(sm || xs);
|
|
10397
|
-
const lg = width.value < thresholds.xl && !(md || sm || xs);
|
|
10398
|
-
const xl = width.value < thresholds.xxl && !(lg || md || sm || xs);
|
|
10399
|
-
const xxl = width.value >= thresholds.xxl;
|
|
10400
|
-
const name = xs ? 'xs' : sm ? 'sm' : md ? 'md' : lg ? 'lg' : xl ? 'xl' : 'xxl';
|
|
10401
|
-
const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint];
|
|
10402
|
-
const mobile = !platform.ssr ? width.value < breakpointValue : platform.android || platform.ios || platform.opera;
|
|
10403
|
-
state.xs = xs;
|
|
10404
|
-
state.sm = sm;
|
|
10405
|
-
state.md = md;
|
|
10406
|
-
state.lg = lg;
|
|
10407
|
-
state.xl = xl;
|
|
10408
|
-
state.xxl = xxl;
|
|
10409
|
-
state.smAndUp = !xs;
|
|
10410
|
-
state.mdAndUp = !(xs || sm);
|
|
10411
|
-
state.lgAndUp = !(xs || sm || md);
|
|
10412
|
-
state.xlAndUp = !(xs || sm || md || lg);
|
|
10413
|
-
state.smAndDown = !(md || lg || xl || xxl);
|
|
10414
|
-
state.mdAndDown = !(lg || xl || xxl);
|
|
10415
|
-
state.lgAndDown = !(xl || xxl);
|
|
10416
|
-
state.xlAndDown = !xxl;
|
|
10417
|
-
state.name = name;
|
|
10418
|
-
state.height = height.value;
|
|
10419
|
-
state.width = width.value;
|
|
10420
|
-
state.mobile = mobile;
|
|
10421
|
-
state.mobileBreakpoint = mobileBreakpoint;
|
|
10422
|
-
state.platform = platform;
|
|
10423
|
-
state.thresholds = thresholds;
|
|
10424
|
-
});
|
|
10425
|
-
if (IN_BROWSER) {
|
|
10426
|
-
window.addEventListener('resize', update, {
|
|
10427
|
-
passive: true
|
|
10428
|
-
});
|
|
10429
|
-
}
|
|
10430
|
-
return {
|
|
10431
|
-
...vue.toRefs(state),
|
|
10432
|
-
update
|
|
10433
|
-
};
|
|
10434
|
-
}
|
|
10435
|
-
function useDisplay() {
|
|
10436
|
-
const display = vue.inject(DisplaySymbol);
|
|
10437
|
-
if (!display) throw new Error('Could not find Vuetify display injection');
|
|
10438
|
-
return display;
|
|
10439
|
-
}
|
|
10440
|
-
|
|
10441
10468
|
// Types
|
|
10442
10469
|
|
|
10443
10470
|
const VBanner = defineComponent({
|
|
@@ -10554,6 +10581,10 @@
|
|
|
10554
10581
|
type: [Number, String],
|
|
10555
10582
|
default: 56
|
|
10556
10583
|
},
|
|
10584
|
+
active: {
|
|
10585
|
+
type: Boolean,
|
|
10586
|
+
default: true
|
|
10587
|
+
},
|
|
10557
10588
|
...makeBorderProps(),
|
|
10558
10589
|
...makeDensityProps(),
|
|
10559
10590
|
...makeElevationProps(),
|
|
@@ -10597,7 +10628,7 @@
|
|
|
10597
10628
|
roundedClasses
|
|
10598
10629
|
} = useRounded(props);
|
|
10599
10630
|
const height = vue.computed(() => Number(props.height) - (props.density === 'comfortable' ? 8 : 0) - (props.density === 'compact' ? 16 : 0));
|
|
10600
|
-
const isActive =
|
|
10631
|
+
const isActive = vue.toRef(props, 'active');
|
|
10601
10632
|
const {
|
|
10602
10633
|
layoutItemStyles
|
|
10603
10634
|
} = useLayoutItem({
|
|
@@ -13393,7 +13424,7 @@
|
|
|
13393
13424
|
} = useFilter(props, items, vue.computed(() => isPristine.value ? undefined : search.value));
|
|
13394
13425
|
const selections = vue.computed(() => {
|
|
13395
13426
|
return model.value.map(v => {
|
|
13396
|
-
return items.value.find(item => item.value
|
|
13427
|
+
return items.value.find(item => props.valueComparator(item.value, v.value)) || v;
|
|
13397
13428
|
});
|
|
13398
13429
|
});
|
|
13399
13430
|
const selected = vue.computed(() => selections.value.map(selection => selection.props.value));
|
|
@@ -17815,7 +17846,8 @@
|
|
|
17815
17846
|
"eager": true,
|
|
17816
17847
|
"activatorProps": vue.mergeProps({
|
|
17817
17848
|
'aria-describedby': id.value
|
|
17818
|
-
}, props.activatorProps)
|
|
17849
|
+
}, props.activatorProps),
|
|
17850
|
+
"_disableGlobalStack": true
|
|
17819
17851
|
}, scopeId), {
|
|
17820
17852
|
activator: slots.activator,
|
|
17821
17853
|
default: function () {
|
|
@@ -18198,7 +18230,7 @@
|
|
|
18198
18230
|
locale
|
|
18199
18231
|
};
|
|
18200
18232
|
}
|
|
18201
|
-
const version$1 = "3.0.
|
|
18233
|
+
const version$1 = "3.0.5";
|
|
18202
18234
|
createVuetify$1.version = version$1;
|
|
18203
18235
|
|
|
18204
18236
|
// Vue's inject() can only be used in setup
|
|
@@ -18219,7 +18251,7 @@
|
|
|
18219
18251
|
...options
|
|
18220
18252
|
});
|
|
18221
18253
|
};
|
|
18222
|
-
const version = "3.0.
|
|
18254
|
+
const version = "3.0.5";
|
|
18223
18255
|
createVuetify.version = version;
|
|
18224
18256
|
|
|
18225
18257
|
exports.components = components;
|