vuetify 3.1.1 → 3.1.3
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 +495 -483
- package/dist/json/importMap.json +58 -58
- package/dist/json/tags.json +4 -1
- package/dist/json/web-types.json +892 -839
- package/dist/vuetify-labs.css +356 -346
- package/dist/vuetify-labs.d.ts +257 -179
- package/dist/vuetify-labs.esm.js +432 -278
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +431 -277
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +94 -84
- package/dist/vuetify.d.ts +261 -194
- package/dist/vuetify.esm.js +346 -242
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +345 -241
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +731 -721
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.ts +2 -2
- package/lib/blueprints/md1.d.ts +2 -2
- package/lib/blueprints/md2.d.ts +2 -2
- package/lib/blueprints/md3.d.ts +2 -2
- package/lib/components/VAutocomplete/VAutocomplete.mjs +4 -2
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +43 -20
- package/lib/components/VBtn/VBtn.mjs +16 -5
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VCard/VCard.mjs +5 -2
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/index.d.ts +8 -2
- package/lib/components/VChip/VChip.mjs +18 -4
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.ts +15 -2
- package/lib/components/VChipGroup/VChipGroup.mjs +1 -0
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +5 -4
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +43 -20
- package/lib/components/VDefaultsProvider/index.d.ts +5 -4
- package/lib/components/VDialog/VDialog.mjs +6 -5
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/index.d.ts +57 -34
- package/lib/components/VDivider/VDivider.mjs +6 -6
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VField/VField.mjs +28 -26
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.css +1 -0
- package/lib/components/VFileInput/VFileInput.mjs +7 -4
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.sass +1 -0
- package/lib/components/VForm/index.d.ts +0 -3
- package/lib/components/VGrid/VGrid.css +5 -0
- package/lib/components/VGrid/VGrid.sass +5 -0
- package/lib/components/VList/VList.mjs +4 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +1 -1
- package/lib/components/VList/VListItem.mjs +34 -20
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +1 -1
- package/lib/components/VList/index.d.ts +20 -1
- package/lib/components/VMenu/VMenu.mjs +6 -5
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.ts +57 -34
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +4 -0
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +4 -0
- package/lib/components/VNavigationDrawer/index.d.ts +3 -3
- package/lib/components/VNavigationDrawer/touch.mjs +7 -6
- package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.ts +34 -11
- package/lib/components/VOverlay/locationStrategies.mjs +40 -29
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/scrollStrategies.mjs +25 -16
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs +1 -1
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs +13 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/index.d.ts +18 -0
- package/lib/components/VSelect/VSelect.mjs +4 -4
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +43 -20
- package/lib/components/VSlider/VSliderThumb.mjs +5 -1
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.ts +42 -19
- package/lib/components/VTable/VTable.css +4 -4
- package/lib/components/VTable/VTable.sass +2 -2
- package/lib/components/VTooltip/VTooltip.mjs +4 -3
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.ts +57 -34
- package/lib/components/index.d.ts +247 -179
- package/lib/composables/defaults.mjs +1 -1
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/filter.mjs +3 -3
- package/lib/composables/filter.mjs.map +1 -1
- package/lib/composables/form.mjs +0 -1
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/teleport.mjs +6 -7
- package/lib/composables/teleport.mjs.map +1 -1
- package/lib/composables/toggleScope.mjs +14 -7
- package/lib/composables/toggleScope.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +17 -17
- package/lib/labs/VDataTable/VDataTable.mjs +10 -6
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +3 -3
- package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +36 -8
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +23 -10
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +6 -2
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/group.mjs +9 -4
- package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/options.mjs +4 -2
- package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/sort.mjs +3 -5
- package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +11 -0
- package/lib/labs/components.d.ts +11 -0
- package/lib/locale/adapters/vue-i18n.mjs +12 -2
- package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
- package/lib/locale/en.mjs +2 -2
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/sv.mjs +7 -7
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +21 -18
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +5 -1
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +2 -2
package/dist/vuetify.esm.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.1.
|
|
2
|
+
* Vuetify v3.1.3
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { ref, onBeforeUnmount, watch, readonly, reactive, computed, watchEffect, toRefs, capitalize, getCurrentInstance as getCurrentInstance$1, unref, provide, inject as inject$1,
|
|
7
|
+
import { ref, onBeforeUnmount, watch, readonly, reactive, computed, watchEffect, toRefs, capitalize, getCurrentInstance as getCurrentInstance$1, unref, provide, inject as inject$1, onScopeDispose, effectScope, shallowRef, defineComponent as defineComponent$1, camelize, h, onDeactivated, onActivated, onMounted, createVNode, TransitionGroup, Transition, mergeProps, onBeforeMount, nextTick, withDirectives, Fragment, resolveDirective, vShow, isRef, toRef, Text, resolveDynamicComponent, cloneVNode, warn, toHandlers, Teleport, 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;
|
|
@@ -258,8 +258,12 @@ function mergeDeep() {
|
|
|
258
258
|
}
|
|
259
259
|
function toKebabCase() {
|
|
260
260
|
let str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
261
|
-
|
|
261
|
+
if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str);
|
|
262
|
+
const kebab = str.replace(/[^a-z]/gi, '-').replace(/\B([A-Z])/g, '-$1').toLowerCase();
|
|
263
|
+
toKebabCase.cache.set(str, kebab);
|
|
264
|
+
return kebab;
|
|
262
265
|
}
|
|
266
|
+
toKebabCase.cache = new Map();
|
|
263
267
|
function findChildrenWithProvide(key, vnode) {
|
|
264
268
|
if (!vnode || typeof vnode !== 'object') return [];
|
|
265
269
|
if (Array.isArray(vnode)) {
|
|
@@ -886,7 +890,7 @@ function injectSelf(key) {
|
|
|
886
890
|
|
|
887
891
|
const DefaultsSymbol = Symbol.for('vuetify:defaults');
|
|
888
892
|
function createDefaults(options) {
|
|
889
|
-
return ref(options
|
|
893
|
+
return ref(options);
|
|
890
894
|
}
|
|
891
895
|
function useDefaults() {
|
|
892
896
|
const defaults = inject$1(DefaultsSymbol);
|
|
@@ -918,23 +922,30 @@ function provideDefaults(defaults, options) {
|
|
|
918
922
|
return newDefaults;
|
|
919
923
|
}
|
|
920
924
|
|
|
921
|
-
function useToggleScope(source,
|
|
925
|
+
function useToggleScope(source, fn) {
|
|
922
926
|
let scope;
|
|
927
|
+
function start() {
|
|
928
|
+
scope = effectScope();
|
|
929
|
+
scope.run(() => fn.length ? fn(() => {
|
|
930
|
+
var _scope;
|
|
931
|
+
(_scope = scope) == null ? void 0 : _scope.stop();
|
|
932
|
+
start();
|
|
933
|
+
}) : fn());
|
|
934
|
+
}
|
|
923
935
|
watch(source, active => {
|
|
924
936
|
if (active && !scope) {
|
|
925
|
-
|
|
926
|
-
scope.run(cb);
|
|
937
|
+
start();
|
|
927
938
|
} else if (!active) {
|
|
928
|
-
var
|
|
929
|
-
(
|
|
939
|
+
var _scope2;
|
|
940
|
+
(_scope2 = scope) == null ? void 0 : _scope2.stop();
|
|
930
941
|
scope = undefined;
|
|
931
942
|
}
|
|
932
943
|
}, {
|
|
933
944
|
immediate: true
|
|
934
945
|
});
|
|
935
946
|
onScopeDispose(() => {
|
|
936
|
-
var
|
|
937
|
-
(
|
|
947
|
+
var _scope3;
|
|
948
|
+
(_scope3 = scope) == null ? void 0 : _scope3.stop();
|
|
938
949
|
});
|
|
939
950
|
}
|
|
940
951
|
|
|
@@ -1003,33 +1014,36 @@ const defineComponent = function defineComponent(options) {
|
|
|
1003
1014
|
options.props = propsFactory(options.props, toKebabCase(options.name))();
|
|
1004
1015
|
options.props._as = String;
|
|
1005
1016
|
options.setup = function setup(props, ctx) {
|
|
1006
|
-
const vm = getCurrentInstance$1();
|
|
1007
1017
|
const defaults = useDefaults();
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1018
|
+
|
|
1019
|
+
// Skip props proxy if defaults are not provided
|
|
1020
|
+
if (!defaults.value) return options._setup(props, ctx);
|
|
1021
|
+
const vm = getCurrentInstance$1();
|
|
1022
|
+
const componentDefaults = computed(() => defaults.value[props._as ?? options.name]);
|
|
1023
|
+
const _props = new Proxy(props, {
|
|
1024
|
+
get(target, prop) {
|
|
1025
|
+
if (!propIsDefined(vm.vnode, prop)) {
|
|
1026
|
+
var _componentDefaults$va, _global;
|
|
1027
|
+
return ((_componentDefaults$va = componentDefaults.value) == null ? void 0 : _componentDefaults$va[prop]) ?? ((_global = defaults.value.global) == null ? void 0 : _global[prop]) ?? target[prop];
|
|
1028
|
+
}
|
|
1029
|
+
return Reflect.get(target, prop);
|
|
1030
|
+
}
|
|
1011
1031
|
});
|
|
1032
|
+
const _subcomponentDefaults = shallowRef();
|
|
1012
1033
|
watchEffect(() => {
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
if (componentDefaults) {
|
|
1016
|
-
const subComponents = Object.entries(componentDefaults).filter(_ref => {
|
|
1034
|
+
if (componentDefaults.value) {
|
|
1035
|
+
const subComponents = Object.entries(componentDefaults.value).filter(_ref => {
|
|
1017
1036
|
let [key] = _ref;
|
|
1018
1037
|
return key.startsWith(key[0].toUpperCase());
|
|
1019
1038
|
});
|
|
1020
1039
|
if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents);
|
|
1021
1040
|
}
|
|
1022
|
-
for (const prop of Object.keys(props)) {
|
|
1023
|
-
let newVal = props[prop];
|
|
1024
|
-
if (!propIsDefined(vm.vnode, prop)) {
|
|
1025
|
-
newVal = (componentDefaults == null ? void 0 : componentDefaults[prop]) ?? (globalDefaults == null ? void 0 : globalDefaults[prop]) ?? props[prop];
|
|
1026
|
-
}
|
|
1027
|
-
if (_props[prop] !== newVal) {
|
|
1028
|
-
_props[prop] = newVal;
|
|
1029
|
-
}
|
|
1030
|
-
}
|
|
1031
1041
|
});
|
|
1032
1042
|
const setupBindings = options._setup(_props, ctx);
|
|
1043
|
+
|
|
1044
|
+
// If subcomponent defaults are provided, override any
|
|
1045
|
+
// subcomponents provided by the component's setup function.
|
|
1046
|
+
// This uses injectSelf so must be done after the original setup to work.
|
|
1033
1047
|
useToggleScope(_subcomponentDefaults, () => {
|
|
1034
1048
|
var _injectSelf;
|
|
1035
1049
|
provideDefaults(mergeDeep(((_injectSelf = injectSelf(DefaultsSymbol)) == null ? void 0 : _injectSelf.value) ?? {}, _subcomponentDefaults.value));
|
|
@@ -1888,8 +1902,8 @@ var en = {
|
|
|
1888
1902
|
root: 'Pagination Navigation',
|
|
1889
1903
|
next: 'Next page',
|
|
1890
1904
|
previous: 'Previous page',
|
|
1891
|
-
page: '
|
|
1892
|
-
currentPage: 'Page {0}, Current
|
|
1905
|
+
page: 'Go to page {0}',
|
|
1906
|
+
currentPage: 'Page {0}, Current page',
|
|
1893
1907
|
first: 'First page',
|
|
1894
1908
|
last: 'Last page'
|
|
1895
1909
|
}
|
|
@@ -4380,9 +4394,69 @@ const Ripple = {
|
|
|
4380
4394
|
updated: updated$1
|
|
4381
4395
|
};
|
|
4382
4396
|
|
|
4397
|
+
// Composables
|
|
4398
|
+
|
|
4399
|
+
// Types
|
|
4400
|
+
|
|
4401
|
+
const oppositeMap = {
|
|
4402
|
+
center: 'center',
|
|
4403
|
+
top: 'bottom',
|
|
4404
|
+
bottom: 'top',
|
|
4405
|
+
left: 'right',
|
|
4406
|
+
right: 'left'
|
|
4407
|
+
};
|
|
4408
|
+
const makeLocationProps = propsFactory({
|
|
4409
|
+
location: String
|
|
4410
|
+
}, 'location');
|
|
4411
|
+
function useLocation(props) {
|
|
4412
|
+
let opposite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
4413
|
+
let offset = arguments.length > 2 ? arguments[2] : undefined;
|
|
4414
|
+
const {
|
|
4415
|
+
isRtl
|
|
4416
|
+
} = useRtl();
|
|
4417
|
+
const locationStyles = computed(() => {
|
|
4418
|
+
if (!props.location) return {};
|
|
4419
|
+
const {
|
|
4420
|
+
side,
|
|
4421
|
+
align
|
|
4422
|
+
} = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`, isRtl.value);
|
|
4423
|
+
function getOffset(side) {
|
|
4424
|
+
return offset ? offset(side) : 0;
|
|
4425
|
+
}
|
|
4426
|
+
const styles = {};
|
|
4427
|
+
if (side !== 'center') {
|
|
4428
|
+
if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;else styles[side] = 0;
|
|
4429
|
+
}
|
|
4430
|
+
if (align !== 'center') {
|
|
4431
|
+
if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;else styles[align] = 0;
|
|
4432
|
+
} else {
|
|
4433
|
+
if (side === 'center') styles.top = styles.left = '50%';else {
|
|
4434
|
+
styles[{
|
|
4435
|
+
top: 'left',
|
|
4436
|
+
bottom: 'left',
|
|
4437
|
+
left: 'top',
|
|
4438
|
+
right: 'top'
|
|
4439
|
+
}[side]] = '50%';
|
|
4440
|
+
}
|
|
4441
|
+
styles.transform = {
|
|
4442
|
+
top: 'translateX(-50%)',
|
|
4443
|
+
bottom: 'translateX(-50%)',
|
|
4444
|
+
left: 'translateY(-50%)',
|
|
4445
|
+
right: 'translateY(-50%)',
|
|
4446
|
+
center: 'translate(-50%, -50%)'
|
|
4447
|
+
}[side];
|
|
4448
|
+
}
|
|
4449
|
+
return styles;
|
|
4450
|
+
});
|
|
4451
|
+
return {
|
|
4452
|
+
locationStyles
|
|
4453
|
+
};
|
|
4454
|
+
}
|
|
4455
|
+
|
|
4383
4456
|
const VProgressLinear = defineComponent({
|
|
4384
4457
|
name: 'VProgressLinear',
|
|
4385
4458
|
props: {
|
|
4459
|
+
absolute: Boolean,
|
|
4386
4460
|
active: {
|
|
4387
4461
|
type: Boolean,
|
|
4388
4462
|
default: true
|
|
@@ -4412,6 +4486,9 @@ const VProgressLinear = defineComponent({
|
|
|
4412
4486
|
stream: Boolean,
|
|
4413
4487
|
striped: Boolean,
|
|
4414
4488
|
roundedBar: Boolean,
|
|
4489
|
+
...makeLocationProps({
|
|
4490
|
+
location: 'top'
|
|
4491
|
+
}),
|
|
4415
4492
|
...makeRoundedProps(),
|
|
4416
4493
|
...makeTagProps(),
|
|
4417
4494
|
...makeThemeProps()
|
|
@@ -4430,6 +4507,9 @@ const VProgressLinear = defineComponent({
|
|
|
4430
4507
|
const {
|
|
4431
4508
|
themeClasses
|
|
4432
4509
|
} = provideTheme(props);
|
|
4510
|
+
const {
|
|
4511
|
+
locationStyles
|
|
4512
|
+
} = useLocation(props);
|
|
4433
4513
|
const {
|
|
4434
4514
|
textColorClasses,
|
|
4435
4515
|
textColorStyles
|
|
@@ -4471,6 +4551,7 @@ const VProgressLinear = defineComponent({
|
|
|
4471
4551
|
useRender(() => createVNode(props.tag, {
|
|
4472
4552
|
"ref": intersectionRef,
|
|
4473
4553
|
"class": ['v-progress-linear', {
|
|
4554
|
+
'v-progress-linear--absolute': props.absolute,
|
|
4474
4555
|
'v-progress-linear--active': props.active && isIntersecting.value,
|
|
4475
4556
|
'v-progress-linear--reverse': isReversed.value,
|
|
4476
4557
|
'v-progress-linear--rounded': props.rounded,
|
|
@@ -4478,8 +4559,11 @@ const VProgressLinear = defineComponent({
|
|
|
4478
4559
|
'v-progress-linear--striped': props.striped
|
|
4479
4560
|
}, roundedClasses.value, themeClasses.value],
|
|
4480
4561
|
"style": {
|
|
4562
|
+
bottom: props.location === 'bottom' ? 0 : undefined,
|
|
4563
|
+
top: props.location === 'top' ? 0 : undefined,
|
|
4481
4564
|
height: props.active ? convertToUnit(height.value) : 0,
|
|
4482
|
-
'--v-progress-linear-height': convertToUnit(height.value)
|
|
4565
|
+
'--v-progress-linear-height': convertToUnit(height.value),
|
|
4566
|
+
...locationStyles.value
|
|
4483
4567
|
},
|
|
4484
4568
|
"role": "progressbar",
|
|
4485
4569
|
"aria-hidden": props.active ? 'false' : 'true',
|
|
@@ -4565,65 +4649,6 @@ function LoaderSlot(props, _ref) {
|
|
|
4565
4649
|
}, null)]);
|
|
4566
4650
|
}
|
|
4567
4651
|
|
|
4568
|
-
// Composables
|
|
4569
|
-
|
|
4570
|
-
// Types
|
|
4571
|
-
|
|
4572
|
-
const oppositeMap = {
|
|
4573
|
-
center: 'center',
|
|
4574
|
-
top: 'bottom',
|
|
4575
|
-
bottom: 'top',
|
|
4576
|
-
left: 'right',
|
|
4577
|
-
right: 'left'
|
|
4578
|
-
};
|
|
4579
|
-
const makeLocationProps = propsFactory({
|
|
4580
|
-
location: String
|
|
4581
|
-
}, 'location');
|
|
4582
|
-
function useLocation(props) {
|
|
4583
|
-
let opposite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
4584
|
-
let offset = arguments.length > 2 ? arguments[2] : undefined;
|
|
4585
|
-
const {
|
|
4586
|
-
isRtl
|
|
4587
|
-
} = useRtl();
|
|
4588
|
-
const locationStyles = computed(() => {
|
|
4589
|
-
if (!props.location) return {};
|
|
4590
|
-
const {
|
|
4591
|
-
side,
|
|
4592
|
-
align
|
|
4593
|
-
} = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`, isRtl.value);
|
|
4594
|
-
function getOffset(side) {
|
|
4595
|
-
return offset ? offset(side) : 0;
|
|
4596
|
-
}
|
|
4597
|
-
const styles = {};
|
|
4598
|
-
if (side !== 'center') {
|
|
4599
|
-
if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;else styles[side] = 0;
|
|
4600
|
-
}
|
|
4601
|
-
if (align !== 'center') {
|
|
4602
|
-
if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;else styles[align] = 0;
|
|
4603
|
-
} else {
|
|
4604
|
-
if (side === 'center') styles.top = styles.left = '50%';else {
|
|
4605
|
-
styles[{
|
|
4606
|
-
top: 'left',
|
|
4607
|
-
bottom: 'left',
|
|
4608
|
-
left: 'top',
|
|
4609
|
-
right: 'top'
|
|
4610
|
-
}[side]] = '50%';
|
|
4611
|
-
}
|
|
4612
|
-
styles.transform = {
|
|
4613
|
-
top: 'translateX(-50%)',
|
|
4614
|
-
bottom: 'translateX(-50%)',
|
|
4615
|
-
left: 'translateY(-50%)',
|
|
4616
|
-
right: 'translateY(-50%)',
|
|
4617
|
-
center: 'translate(-50%, -50%)'
|
|
4618
|
-
}[side];
|
|
4619
|
-
}
|
|
4620
|
-
return styles;
|
|
4621
|
-
});
|
|
4622
|
-
return {
|
|
4623
|
-
locationStyles
|
|
4624
|
-
};
|
|
4625
|
-
}
|
|
4626
|
-
|
|
4627
4652
|
// Utilities
|
|
4628
4653
|
|
|
4629
4654
|
// Types
|
|
@@ -4829,21 +4854,31 @@ const VBtn = defineComponent({
|
|
|
4829
4854
|
const group = useGroupItem(props, props.symbol, false);
|
|
4830
4855
|
const link = useLink(props, attrs);
|
|
4831
4856
|
const isActive = computed(() => {
|
|
4832
|
-
|
|
4833
|
-
|
|
4857
|
+
if (props.active !== undefined) {
|
|
4858
|
+
return props.active;
|
|
4859
|
+
}
|
|
4860
|
+
if (link.isLink.value) {
|
|
4861
|
+
var _link$isActive;
|
|
4862
|
+
return (_link$isActive = link.isActive) == null ? void 0 : _link$isActive.value;
|
|
4863
|
+
}
|
|
4864
|
+
return group == null ? void 0 : group.isSelected.value;
|
|
4834
4865
|
});
|
|
4835
4866
|
const isDisabled = computed(() => (group == null ? void 0 : group.disabled.value) || props.disabled);
|
|
4836
4867
|
const isElevated = computed(() => {
|
|
4837
4868
|
return props.variant === 'elevated' && !(props.disabled || props.flat || props.border);
|
|
4838
4869
|
});
|
|
4870
|
+
const valueAttr = computed(() => {
|
|
4871
|
+
if (props.value === undefined) return undefined;
|
|
4872
|
+
return Object(props.value) === props.value ? JSON.stringify(props.value, null, 0) : props.value;
|
|
4873
|
+
});
|
|
4839
4874
|
useSelectLink(link, group == null ? void 0 : group.select);
|
|
4840
4875
|
useRender(() => {
|
|
4841
|
-
var _slots$prepend, _slots$default, _slots$append, _slots$loader;
|
|
4876
|
+
var _link$isActive2, _link$isActive3, _slots$prepend, _slots$default, _slots$append, _slots$loader;
|
|
4842
4877
|
const Tag = link.isLink.value ? 'a' : props.tag;
|
|
4843
|
-
const hasColor = !group || group.isSelected.value;
|
|
4844
4878
|
const hasPrepend = !!(props.prependIcon || slots.prepend);
|
|
4845
4879
|
const hasAppend = !!(props.appendIcon || slots.append);
|
|
4846
4880
|
const hasIcon = !!(props.icon && props.icon !== true);
|
|
4881
|
+
const hasColor = (group == null ? void 0 : group.isSelected.value) && (!link.isLink.value || ((_link$isActive2 = link.isActive) == null ? void 0 : _link$isActive2.value)) || !group || ((_link$isActive3 = link.isActive) == null ? void 0 : _link$isActive3.value);
|
|
4847
4882
|
return withDirectives(createVNode(Tag, {
|
|
4848
4883
|
"type": Tag === 'a' ? undefined : 'button',
|
|
4849
4884
|
"class": ['v-btn', group == null ? void 0 : group.selectedClass.value, {
|
|
@@ -4864,7 +4899,8 @@ const VBtn = defineComponent({
|
|
|
4864
4899
|
if (isDisabled.value) return;
|
|
4865
4900
|
(_link$navigate = link.navigate) == null ? void 0 : _link$navigate.call(link, e);
|
|
4866
4901
|
group == null ? void 0 : group.toggle();
|
|
4867
|
-
}
|
|
4902
|
+
},
|
|
4903
|
+
"value": valueAttr.value
|
|
4868
4904
|
}, {
|
|
4869
4905
|
default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && createVNode(VDefaultsProvider, {
|
|
4870
4906
|
"key": "prepend",
|
|
@@ -5338,32 +5374,34 @@ const VField = genericComponent()({
|
|
|
5338
5374
|
if (hasLabel.value) {
|
|
5339
5375
|
const el = labelRef.value.$el;
|
|
5340
5376
|
const targetEl = floatingLabelRef.value.$el;
|
|
5341
|
-
|
|
5342
|
-
|
|
5343
|
-
|
|
5344
|
-
|
|
5345
|
-
|
|
5346
|
-
|
|
5347
|
-
|
|
5348
|
-
|
|
5349
|
-
|
|
5350
|
-
|
|
5351
|
-
|
|
5352
|
-
|
|
5353
|
-
|
|
5354
|
-
|
|
5355
|
-
|
|
5356
|
-
|
|
5357
|
-
|
|
5358
|
-
|
|
5359
|
-
|
|
5360
|
-
|
|
5361
|
-
|
|
5362
|
-
|
|
5363
|
-
|
|
5364
|
-
|
|
5365
|
-
|
|
5366
|
-
|
|
5377
|
+
requestAnimationFrame(() => {
|
|
5378
|
+
const rect = nullifyTransforms(el);
|
|
5379
|
+
const targetRect = targetEl.getBoundingClientRect();
|
|
5380
|
+
const x = targetRect.x - rect.x;
|
|
5381
|
+
const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2);
|
|
5382
|
+
const targetWidth = targetRect.width / 0.75;
|
|
5383
|
+
const width = Math.abs(targetWidth - rect.width) > 1 ? {
|
|
5384
|
+
maxWidth: convertToUnit(targetWidth)
|
|
5385
|
+
} : undefined;
|
|
5386
|
+
const style = getComputedStyle(el);
|
|
5387
|
+
const targetStyle = getComputedStyle(targetEl);
|
|
5388
|
+
const duration = parseFloat(style.transitionDuration) * 1000 || 150;
|
|
5389
|
+
const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'));
|
|
5390
|
+
const color = targetStyle.getPropertyValue('color');
|
|
5391
|
+
el.style.visibility = 'visible';
|
|
5392
|
+
targetEl.style.visibility = 'hidden';
|
|
5393
|
+
animate(el, {
|
|
5394
|
+
transform: `translate(${x}px, ${y}px) scale(${scale})`,
|
|
5395
|
+
color,
|
|
5396
|
+
...width
|
|
5397
|
+
}, {
|
|
5398
|
+
duration,
|
|
5399
|
+
easing: standardEasing,
|
|
5400
|
+
direction: val ? 'normal' : 'reverse'
|
|
5401
|
+
}).finished.then(() => {
|
|
5402
|
+
el.style.removeProperty('visibility');
|
|
5403
|
+
targetEl.style.removeProperty('visibility');
|
|
5404
|
+
});
|
|
5367
5405
|
});
|
|
5368
5406
|
}
|
|
5369
5407
|
}, {
|
|
@@ -5552,7 +5590,6 @@ const FormKey = Symbol.for('vuetify:form');
|
|
|
5552
5590
|
const makeFormProps = propsFactory({
|
|
5553
5591
|
disabled: Boolean,
|
|
5554
5592
|
fastFail: Boolean,
|
|
5555
|
-
lazyValidation: Boolean,
|
|
5556
5593
|
readonly: Boolean,
|
|
5557
5594
|
modelValue: {
|
|
5558
5595
|
type: Boolean,
|
|
@@ -6697,6 +6734,7 @@ const VChipGroup = defineComponent({
|
|
|
6697
6734
|
provideDefaults({
|
|
6698
6735
|
VChip: {
|
|
6699
6736
|
color: toRef(props, 'color'),
|
|
6737
|
+
disabled: toRef(props, 'disabled'),
|
|
6700
6738
|
filter: toRef(props, 'filter'),
|
|
6701
6739
|
variant: toRef(props, 'variant')
|
|
6702
6740
|
}
|
|
@@ -6746,7 +6784,10 @@ const VChip = defineComponent({
|
|
|
6746
6784
|
default: '$complete'
|
|
6747
6785
|
},
|
|
6748
6786
|
label: Boolean,
|
|
6749
|
-
link:
|
|
6787
|
+
link: {
|
|
6788
|
+
type: Boolean,
|
|
6789
|
+
default: undefined
|
|
6790
|
+
},
|
|
6750
6791
|
pill: Boolean,
|
|
6751
6792
|
prependAvatar: String,
|
|
6752
6793
|
prependIcon: IconValue,
|
|
@@ -6759,6 +6800,8 @@ const VChip = defineComponent({
|
|
|
6759
6800
|
type: Boolean,
|
|
6760
6801
|
default: true
|
|
6761
6802
|
},
|
|
6803
|
+
onClick: EventProp,
|
|
6804
|
+
onClickOnce: EventProp,
|
|
6762
6805
|
...makeBorderProps(),
|
|
6763
6806
|
...makeDensityProps(),
|
|
6764
6807
|
...makeElevationProps(),
|
|
@@ -6812,7 +6855,8 @@ const VChip = defineComponent({
|
|
|
6812
6855
|
const isActive = useProxiedModel(props, 'modelValue');
|
|
6813
6856
|
const group = useGroupItem(props, VChipGroupSymbol, false);
|
|
6814
6857
|
const link = useLink(props, attrs);
|
|
6815
|
-
const
|
|
6858
|
+
const isLink = computed(() => props.link !== false && link.isLink.value);
|
|
6859
|
+
const isClickable = computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value));
|
|
6816
6860
|
function onCloseClick(e) {
|
|
6817
6861
|
isActive.value = false;
|
|
6818
6862
|
emit('click:close', e);
|
|
@@ -6824,6 +6868,12 @@ const VChip = defineComponent({
|
|
|
6824
6868
|
(_link$navigate = link.navigate) == null ? void 0 : _link$navigate.call(link, e);
|
|
6825
6869
|
group == null ? void 0 : group.toggle();
|
|
6826
6870
|
}
|
|
6871
|
+
function onKeyDown(e) {
|
|
6872
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
6873
|
+
e.preventDefault();
|
|
6874
|
+
onClick(e);
|
|
6875
|
+
}
|
|
6876
|
+
}
|
|
6827
6877
|
return () => {
|
|
6828
6878
|
var _slots$default;
|
|
6829
6879
|
const Tag = link.isLink.value ? 'a' : props.tag;
|
|
@@ -6844,7 +6894,9 @@ const VChip = defineComponent({
|
|
|
6844
6894
|
"disabled": props.disabled || undefined,
|
|
6845
6895
|
"draggable": props.draggable,
|
|
6846
6896
|
"href": link.href.value,
|
|
6847
|
-
"
|
|
6897
|
+
"tabindex": isClickable.value ? 0 : undefined,
|
|
6898
|
+
"onClick": onClick,
|
|
6899
|
+
"onKeydown": isClickable.value && !isLink.value && onKeyDown
|
|
6848
6900
|
}, {
|
|
6849
6901
|
default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && createVNode(VDefaultsProvider, {
|
|
6850
6902
|
"key": "filter",
|
|
@@ -6941,9 +6993,9 @@ const VDivider = defineComponent({
|
|
|
6941
6993
|
themeClasses
|
|
6942
6994
|
} = provideTheme(props);
|
|
6943
6995
|
const {
|
|
6944
|
-
|
|
6945
|
-
|
|
6946
|
-
} =
|
|
6996
|
+
textColorClasses,
|
|
6997
|
+
textColorStyles
|
|
6998
|
+
} = useTextColor(toRef(props, 'color'));
|
|
6947
6999
|
const dividerStyles = computed(() => {
|
|
6948
7000
|
const styles = {};
|
|
6949
7001
|
if (props.length) {
|
|
@@ -6959,8 +7011,8 @@ const VDivider = defineComponent({
|
|
|
6959
7011
|
'v-divider': true,
|
|
6960
7012
|
'v-divider--inset': props.inset,
|
|
6961
7013
|
'v-divider--vertical': props.vertical
|
|
6962
|
-
}, themeClasses.value,
|
|
6963
|
-
"style": [dividerStyles.value,
|
|
7014
|
+
}, themeClasses.value, textColorClasses.value],
|
|
7015
|
+
"style": [dividerStyles.value, textColorStyles.value],
|
|
6964
7016
|
"aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
|
|
6965
7017
|
"role": `${attrs.role || 'separator'}`
|
|
6966
7018
|
}, null));
|
|
@@ -7560,6 +7612,10 @@ const VListItem = genericComponent()({
|
|
|
7560
7612
|
nav: Boolean,
|
|
7561
7613
|
prependAvatar: String,
|
|
7562
7614
|
prependIcon: IconValue,
|
|
7615
|
+
ripple: {
|
|
7616
|
+
type: Boolean,
|
|
7617
|
+
default: true
|
|
7618
|
+
},
|
|
7563
7619
|
subtitle: [String, Number, Boolean],
|
|
7564
7620
|
title: [String, Number, Boolean],
|
|
7565
7621
|
value: null,
|
|
@@ -7666,7 +7722,7 @@ const VListItem = genericComponent()({
|
|
|
7666
7722
|
}
|
|
7667
7723
|
}
|
|
7668
7724
|
useRender(() => {
|
|
7669
|
-
var _slots$
|
|
7725
|
+
var _slots$title, _slots$subtitle, _slots$default;
|
|
7670
7726
|
const Tag = isLink.value ? 'a' : props.tag;
|
|
7671
7727
|
const hasColor = !list || isSelected.value || isActive.value;
|
|
7672
7728
|
const hasTitle = slots.title || props.title;
|
|
@@ -7689,7 +7745,18 @@ const VListItem = genericComponent()({
|
|
|
7689
7745
|
"onClick": onClick,
|
|
7690
7746
|
"onKeydown": isClickable.value && !isLink.value && onKeyDown
|
|
7691
7747
|
}, {
|
|
7692
|
-
default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && createVNode(
|
|
7748
|
+
default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && createVNode("div", {
|
|
7749
|
+
"key": "prepend",
|
|
7750
|
+
"class": "v-list-item__prepend"
|
|
7751
|
+
}, [props.prependAvatar && createVNode(VAvatar, {
|
|
7752
|
+
"key": "prepend-avatar",
|
|
7753
|
+
"density": props.density,
|
|
7754
|
+
"image": props.prependAvatar
|
|
7755
|
+
}, null), props.prependIcon && createVNode(VIcon, {
|
|
7756
|
+
"key": "prepend-icon",
|
|
7757
|
+
"density": props.density,
|
|
7758
|
+
"icon": props.prependIcon
|
|
7759
|
+
}, null), slots.prepend && createVNode(VDefaultsProvider, {
|
|
7693
7760
|
"key": "prepend",
|
|
7694
7761
|
"defaults": {
|
|
7695
7762
|
VAvatar: {
|
|
@@ -7705,14 +7772,8 @@ const VListItem = genericComponent()({
|
|
|
7705
7772
|
}
|
|
7706
7773
|
}
|
|
7707
7774
|
}, {
|
|
7708
|
-
default: () => [
|
|
7709
|
-
|
|
7710
|
-
}, [props.prependAvatar && createVNode(VAvatar, {
|
|
7711
|
-
"key": "prepend-avatar"
|
|
7712
|
-
}, null), props.prependIcon && createVNode(VIcon, {
|
|
7713
|
-
"key": "prepend-icon"
|
|
7714
|
-
}, null), (_slots$prepend = slots.prepend) == null ? void 0 : _slots$prepend.call(slots, slotProps.value)])]
|
|
7715
|
-
}), createVNode("div", {
|
|
7775
|
+
default: () => [slots.prepend(slotProps.value)]
|
|
7776
|
+
})]), createVNode("div", {
|
|
7716
7777
|
"class": "v-list-item__content",
|
|
7717
7778
|
"data-no-activator": ""
|
|
7718
7779
|
}, [hasTitle && createVNode(VListItemTitle, {
|
|
@@ -7727,7 +7788,10 @@ const VListItem = genericComponent()({
|
|
|
7727
7788
|
default: () => [((_slots$subtitle = slots.subtitle) == null ? void 0 : _slots$subtitle.call(slots, {
|
|
7728
7789
|
subtitle: props.subtitle
|
|
7729
7790
|
})) ?? props.subtitle]
|
|
7730
|
-
}), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, slotProps.value)]), hasAppend && createVNode(
|
|
7791
|
+
}), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, slotProps.value)]), hasAppend && createVNode("div", {
|
|
7792
|
+
"key": "append",
|
|
7793
|
+
"class": "v-list-item__append"
|
|
7794
|
+
}, [slots.append && createVNode(VDefaultsProvider, {
|
|
7731
7795
|
"key": "append",
|
|
7732
7796
|
"defaults": {
|
|
7733
7797
|
VAvatar: {
|
|
@@ -7743,15 +7807,17 @@ const VListItem = genericComponent()({
|
|
|
7743
7807
|
}
|
|
7744
7808
|
}
|
|
7745
7809
|
}, {
|
|
7746
|
-
default: () => [
|
|
7747
|
-
|
|
7748
|
-
|
|
7749
|
-
|
|
7750
|
-
|
|
7751
|
-
|
|
7752
|
-
|
|
7753
|
-
|
|
7754
|
-
|
|
7810
|
+
default: () => [slots.append(slotProps.value)]
|
|
7811
|
+
}), props.appendIcon && createVNode(VIcon, {
|
|
7812
|
+
"key": "append-icon",
|
|
7813
|
+
"density": props.density,
|
|
7814
|
+
"icon": props.appendIcon
|
|
7815
|
+
}, null), props.appendAvatar && createVNode(VAvatar, {
|
|
7816
|
+
"key": "append-avatar",
|
|
7817
|
+
"density": props.density,
|
|
7818
|
+
"image": props.appendAvatar
|
|
7819
|
+
}, null)])]
|
|
7820
|
+
}), [[resolveDirective("ripple"), isClickable.value && props.ripple]]);
|
|
7755
7821
|
});
|
|
7756
7822
|
return {};
|
|
7757
7823
|
}
|
|
@@ -7964,9 +8030,12 @@ function useItems(props) {
|
|
|
7964
8030
|
|
|
7965
8031
|
// Types
|
|
7966
8032
|
|
|
8033
|
+
function isPrimitive(value) {
|
|
8034
|
+
return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';
|
|
8035
|
+
}
|
|
7967
8036
|
function transformItem(props, item) {
|
|
7968
8037
|
const type = getPropertyFromItem(item, props.itemType, 'item');
|
|
7969
|
-
const title =
|
|
8038
|
+
const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);
|
|
7970
8039
|
const value = getPropertyFromItem(item, props.itemValue, undefined);
|
|
7971
8040
|
const children = getPropertyFromItem(item, props.itemChildren);
|
|
7972
8041
|
const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps);
|
|
@@ -8592,17 +8661,12 @@ const makeLocationStrategyProps = propsFactory({
|
|
|
8592
8661
|
function useLocationStrategies(props, data) {
|
|
8593
8662
|
const contentStyles = ref({});
|
|
8594
8663
|
const updateLocation = ref();
|
|
8595
|
-
|
|
8596
|
-
|
|
8597
|
-
|
|
8598
|
-
|
|
8599
|
-
|
|
8600
|
-
|
|
8601
|
-
scope = effectScope();
|
|
8602
|
-
if (!(props.locationStrategy === 'connected')) {
|
|
8603
|
-
await nextTick();
|
|
8604
|
-
}
|
|
8605
|
-
scope.run(() => {
|
|
8664
|
+
if (IN_BROWSER) {
|
|
8665
|
+
useToggleScope(() => !!(data.isActive.value && props.locationStrategy), reset => {
|
|
8666
|
+
watch(() => props.locationStrategy, reset);
|
|
8667
|
+
onScopeDispose(() => {
|
|
8668
|
+
updateLocation.value = undefined;
|
|
8669
|
+
});
|
|
8606
8670
|
if (typeof props.locationStrategy === 'function') {
|
|
8607
8671
|
var _props$locationStrate;
|
|
8608
8672
|
updateLocation.value = (_props$locationStrate = props.locationStrategy(data, props, contentStyles)) == null ? void 0 : _props$locationStrate.updateLocation;
|
|
@@ -8611,16 +8675,14 @@ function useLocationStrategies(props, data) {
|
|
|
8611
8675
|
updateLocation.value = (_locationStrategies$p = locationStrategies[props.locationStrategy](data, props, contentStyles)) == null ? void 0 : _locationStrategies$p.updateLocation;
|
|
8612
8676
|
}
|
|
8613
8677
|
});
|
|
8614
|
-
|
|
8615
|
-
|
|
8616
|
-
|
|
8617
|
-
|
|
8618
|
-
|
|
8619
|
-
|
|
8620
|
-
|
|
8621
|
-
|
|
8622
|
-
(_scope2 = scope) == null ? void 0 : _scope2.stop();
|
|
8623
|
-
});
|
|
8678
|
+
window.addEventListener('resize', onResize, {
|
|
8679
|
+
passive: true
|
|
8680
|
+
});
|
|
8681
|
+
onScopeDispose(() => {
|
|
8682
|
+
window.removeEventListener('resize', onResize);
|
|
8683
|
+
updateLocation.value = undefined;
|
|
8684
|
+
});
|
|
8685
|
+
}
|
|
8624
8686
|
function onResize(e) {
|
|
8625
8687
|
var _updateLocation$value;
|
|
8626
8688
|
(_updateLocation$value = updateLocation.value) == null ? void 0 : _updateLocation$value.call(updateLocation, e);
|
|
@@ -8914,13 +8976,30 @@ function connectedLocationStrategy(data, props, contentStyles) {
|
|
|
8914
8976
|
maxWidth: convertToUnit(pixelCeil(clamp(available.x, minWidth.value === Infinity ? 0 : minWidth.value, maxWidth.value))),
|
|
8915
8977
|
maxHeight: convertToUnit(pixelCeil(clamp(available.y, minHeight.value === Infinity ? 0 : minHeight.value, maxHeight.value)))
|
|
8916
8978
|
});
|
|
8979
|
+
return {
|
|
8980
|
+
available,
|
|
8981
|
+
contentBox
|
|
8982
|
+
};
|
|
8917
8983
|
}
|
|
8918
|
-
watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation()
|
|
8919
|
-
|
|
8920
|
-
|
|
8921
|
-
|
|
8922
|
-
|
|
8923
|
-
|
|
8984
|
+
watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation());
|
|
8985
|
+
nextTick(() => {
|
|
8986
|
+
const result = updateLocation();
|
|
8987
|
+
|
|
8988
|
+
// TODO: overflowing content should only require a single updateLocation call
|
|
8989
|
+
// Icky hack to make sure the content is positioned consistently
|
|
8990
|
+
if (!result) return;
|
|
8991
|
+
const {
|
|
8992
|
+
available,
|
|
8993
|
+
contentBox
|
|
8994
|
+
} = result;
|
|
8995
|
+
if (contentBox.height > available.y) {
|
|
8996
|
+
requestAnimationFrame(() => {
|
|
8997
|
+
updateLocation();
|
|
8998
|
+
requestAnimationFrame(() => {
|
|
8999
|
+
updateLocation();
|
|
9000
|
+
});
|
|
9001
|
+
});
|
|
9002
|
+
}
|
|
8924
9003
|
});
|
|
8925
9004
|
return {
|
|
8926
9005
|
updateLocation
|
|
@@ -8988,10 +9067,10 @@ function useScrollStrategies(props, data) {
|
|
|
8988
9067
|
await nextTick();
|
|
8989
9068
|
scope.run(() => {
|
|
8990
9069
|
if (typeof props.scrollStrategy === 'function') {
|
|
8991
|
-
props.scrollStrategy(data, props);
|
|
9070
|
+
props.scrollStrategy(data, props, scope);
|
|
8992
9071
|
} else {
|
|
8993
9072
|
var _scrollStrategies$pro;
|
|
8994
|
-
(_scrollStrategies$pro = scrollStrategies[props.scrollStrategy]) == null ? void 0 : _scrollStrategies$pro.call(scrollStrategies, data, props);
|
|
9073
|
+
(_scrollStrategies$pro = scrollStrategies[props.scrollStrategy]) == null ? void 0 : _scrollStrategies$pro.call(scrollStrategies, data, props, scope);
|
|
8995
9074
|
}
|
|
8996
9075
|
});
|
|
8997
9076
|
});
|
|
@@ -9037,9 +9116,10 @@ function blockScrollStrategy(data, props) {
|
|
|
9037
9116
|
}
|
|
9038
9117
|
});
|
|
9039
9118
|
}
|
|
9040
|
-
function repositionScrollStrategy(data) {
|
|
9119
|
+
function repositionScrollStrategy(data, props, scope) {
|
|
9041
9120
|
let slow = false;
|
|
9042
9121
|
let raf = -1;
|
|
9122
|
+
let ric = -1;
|
|
9043
9123
|
function update(e) {
|
|
9044
9124
|
requestNewFrame(() => {
|
|
9045
9125
|
var _data$updateLocation$, _data$updateLocation;
|
|
@@ -9049,21 +9129,29 @@ function repositionScrollStrategy(data) {
|
|
|
9049
9129
|
slow = time / (1000 / 60) > 2;
|
|
9050
9130
|
});
|
|
9051
9131
|
}
|
|
9052
|
-
|
|
9053
|
-
|
|
9054
|
-
|
|
9055
|
-
|
|
9056
|
-
|
|
9057
|
-
|
|
9058
|
-
|
|
9059
|
-
|
|
9060
|
-
|
|
9132
|
+
ric = requestIdleCallback(() => {
|
|
9133
|
+
scope.run(() => {
|
|
9134
|
+
bindScroll(data.activatorEl.value ?? data.contentEl.value, e => {
|
|
9135
|
+
if (slow) {
|
|
9136
|
+
// If the position calculation is slow,
|
|
9137
|
+
// defer updates until scrolling is finished.
|
|
9138
|
+
// Browsers usually fire one scroll event per frame so
|
|
9139
|
+
// we just wait until we've got two frames without an event
|
|
9140
|
+
cancelAnimationFrame(raf);
|
|
9141
|
+
raf = requestAnimationFrame(() => {
|
|
9142
|
+
raf = requestAnimationFrame(() => {
|
|
9143
|
+
update(e);
|
|
9144
|
+
});
|
|
9145
|
+
});
|
|
9146
|
+
} else {
|
|
9061
9147
|
update(e);
|
|
9062
|
-
}
|
|
9148
|
+
}
|
|
9063
9149
|
});
|
|
9064
|
-
}
|
|
9065
|
-
|
|
9066
|
-
|
|
9150
|
+
});
|
|
9151
|
+
});
|
|
9152
|
+
onScopeDispose(() => {
|
|
9153
|
+
cancelIdleCallback(ric);
|
|
9154
|
+
cancelAnimationFrame(raf);
|
|
9067
9155
|
});
|
|
9068
9156
|
}
|
|
9069
9157
|
|
|
@@ -9292,19 +9380,18 @@ function useTeleport(target) {
|
|
|
9292
9380
|
warn(`Unable to locate target ${_target}`);
|
|
9293
9381
|
return undefined;
|
|
9294
9382
|
}
|
|
9295
|
-
|
|
9296
|
-
|
|
9297
|
-
|
|
9298
|
-
|
|
9299
|
-
|
|
9383
|
+
let container = targetElement.querySelector('.v-overlay-container');
|
|
9384
|
+
if (!container) {
|
|
9385
|
+
container = document.createElement('div');
|
|
9386
|
+
container.className = 'v-overlay-container';
|
|
9387
|
+
targetElement.appendChild(container);
|
|
9300
9388
|
}
|
|
9301
|
-
return
|
|
9389
|
+
return container;
|
|
9302
9390
|
});
|
|
9303
9391
|
return {
|
|
9304
9392
|
teleportTarget
|
|
9305
9393
|
};
|
|
9306
9394
|
}
|
|
9307
|
-
useTeleport.cache = new WeakMap();
|
|
9308
9395
|
|
|
9309
9396
|
function defaultConditional() {
|
|
9310
9397
|
return true;
|
|
@@ -9707,6 +9794,11 @@ const VMenu = genericComponent()({
|
|
|
9707
9794
|
function onClickOutside() {
|
|
9708
9795
|
parent == null ? void 0 : parent.closeParents();
|
|
9709
9796
|
}
|
|
9797
|
+
const activatorProps = computed(() => mergeProps({
|
|
9798
|
+
'aria-haspopup': 'menu',
|
|
9799
|
+
'aria-expanded': String(isActive.value),
|
|
9800
|
+
'aria-owns': id.value
|
|
9801
|
+
}, props.activatorProps));
|
|
9710
9802
|
useRender(() => {
|
|
9711
9803
|
const [overlayProps] = filterVOverlayProps(props);
|
|
9712
9804
|
return createVNode(VOverlay, mergeProps({
|
|
@@ -9716,11 +9808,7 @@ const VMenu = genericComponent()({
|
|
|
9716
9808
|
"modelValue": isActive.value,
|
|
9717
9809
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
9718
9810
|
"absolute": true,
|
|
9719
|
-
"activatorProps":
|
|
9720
|
-
'aria-haspopup': 'menu',
|
|
9721
|
-
'aria-expanded': String(isActive.value),
|
|
9722
|
-
'aria-owns': id.value
|
|
9723
|
-
}, props.activatorProps),
|
|
9811
|
+
"activatorProps": activatorProps.value,
|
|
9724
9812
|
"onClick:outside": onClickOutside
|
|
9725
9813
|
}, scopeId), {
|
|
9726
9814
|
activator: slots.activator,
|
|
@@ -9834,8 +9922,10 @@ const VSelect = genericComponent()({
|
|
|
9834
9922
|
}
|
|
9835
9923
|
function onKeydown(e) {
|
|
9836
9924
|
if (props.readonly || form != null && form.isReadonly.value) return;
|
|
9837
|
-
if (['Enter', 'ArrowDown', ' '].includes(e.key)) {
|
|
9925
|
+
if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
|
|
9838
9926
|
e.preventDefault();
|
|
9927
|
+
}
|
|
9928
|
+
if (['Enter', 'ArrowDown', ' '].includes(e.key)) {
|
|
9839
9929
|
menu.value = true;
|
|
9840
9930
|
}
|
|
9841
9931
|
if (['Escape', 'Tab'].includes(e.key)) {
|
|
@@ -9846,15 +9936,12 @@ const VSelect = genericComponent()({
|
|
|
9846
9936
|
(_listRef$value = listRef.value) == null ? void 0 : _listRef$value.focus('next');
|
|
9847
9937
|
} else if (e.key === 'ArrowUp') {
|
|
9848
9938
|
var _listRef$value2;
|
|
9849
|
-
e.preventDefault();
|
|
9850
9939
|
(_listRef$value2 = listRef.value) == null ? void 0 : _listRef$value2.focus('prev');
|
|
9851
9940
|
} else if (e.key === 'Home') {
|
|
9852
9941
|
var _listRef$value3;
|
|
9853
|
-
e.preventDefault();
|
|
9854
9942
|
(_listRef$value3 = listRef.value) == null ? void 0 : _listRef$value3.focus('first');
|
|
9855
9943
|
} else if (e.key === 'End') {
|
|
9856
9944
|
var _listRef$value4;
|
|
9857
|
-
e.preventDefault();
|
|
9858
9945
|
(_listRef$value4 = listRef.value) == null ? void 0 : _listRef$value4.focus('last');
|
|
9859
9946
|
}
|
|
9860
9947
|
}
|
|
@@ -9920,6 +10007,7 @@ const VSelect = genericComponent()({
|
|
|
9920
10007
|
"activator": "parent",
|
|
9921
10008
|
"contentClass": "v-select__content",
|
|
9922
10009
|
"eager": props.eager,
|
|
10010
|
+
"maxHeight": 310,
|
|
9923
10011
|
"openOnClick": false,
|
|
9924
10012
|
"closeOnContentClick": false,
|
|
9925
10013
|
"transition": props.transition
|
|
@@ -10035,7 +10123,7 @@ function filterItems(items, query, options) {
|
|
|
10035
10123
|
const customFiltersLength = Object.keys((options == null ? void 0 : options.customKeyFilter) ?? {}).length;
|
|
10036
10124
|
if (!(items != null && items.length)) return array;
|
|
10037
10125
|
loop: for (let i = 0; i < items.length; i++) {
|
|
10038
|
-
const item = items[i]
|
|
10126
|
+
const item = items[i];
|
|
10039
10127
|
const customMatches = {};
|
|
10040
10128
|
const defaultMatches = {};
|
|
10041
10129
|
let match = -1;
|
|
@@ -10075,7 +10163,7 @@ function filterItems(items, query, options) {
|
|
|
10075
10163
|
}
|
|
10076
10164
|
return array;
|
|
10077
10165
|
}
|
|
10078
|
-
function useFilter(props, items, query) {
|
|
10166
|
+
function useFilter(props, items, query, options) {
|
|
10079
10167
|
const strQuery = computed(() => typeof (query == null ? void 0 : query.value) !== 'string' && typeof (query == null ? void 0 : query.value) !== 'number' ? '' : String(query.value));
|
|
10080
10168
|
const filteredItems = ref([]);
|
|
10081
10169
|
const filteredMatches = ref(new Map());
|
|
@@ -10086,7 +10174,7 @@ function useFilter(props, items, query) {
|
|
|
10086
10174
|
const results = filterItems(transformedItems, strQuery.value, {
|
|
10087
10175
|
customKeyFilter: props.customKeyFilter,
|
|
10088
10176
|
default: props.customFilter,
|
|
10089
|
-
filterKeys: props.filterKeys,
|
|
10177
|
+
filterKeys: unref(options == null ? void 0 : options.filterKeys) ?? props.filterKeys,
|
|
10090
10178
|
filterMode: props.filterMode,
|
|
10091
10179
|
noFilter: props.noFilter
|
|
10092
10180
|
});
|
|
@@ -10197,6 +10285,9 @@ const VAutocomplete = genericComponent()({
|
|
|
10197
10285
|
}
|
|
10198
10286
|
function onKeydown(e) {
|
|
10199
10287
|
if (props.readonly || form != null && form.isReadonly.value) return;
|
|
10288
|
+
if (['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
|
10289
|
+
e.preventDefault();
|
|
10290
|
+
}
|
|
10200
10291
|
if (['Enter', 'ArrowDown'].includes(e.key)) {
|
|
10201
10292
|
menu.value = true;
|
|
10202
10293
|
}
|
|
@@ -10208,11 +10299,9 @@ const VAutocomplete = genericComponent()({
|
|
|
10208
10299
|
}
|
|
10209
10300
|
if (e.key === 'ArrowDown') {
|
|
10210
10301
|
var _listRef$value;
|
|
10211
|
-
e.preventDefault();
|
|
10212
10302
|
(_listRef$value = listRef.value) == null ? void 0 : _listRef$value.focus('next');
|
|
10213
10303
|
} else if (e.key === 'ArrowUp') {
|
|
10214
10304
|
var _listRef$value2;
|
|
10215
|
-
e.preventDefault();
|
|
10216
10305
|
(_listRef$value2 = listRef.value) == null ? void 0 : _listRef$value2.focus('prev');
|
|
10217
10306
|
}
|
|
10218
10307
|
}
|
|
@@ -10309,6 +10398,7 @@ const VAutocomplete = genericComponent()({
|
|
|
10309
10398
|
"activator": "parent",
|
|
10310
10399
|
"contentClass": "v-autocomplete__content",
|
|
10311
10400
|
"eager": props.eager,
|
|
10401
|
+
"maxHeight": 310,
|
|
10312
10402
|
"openOnClick": false,
|
|
10313
10403
|
"closeOnContentClick": false,
|
|
10314
10404
|
"transition": props.transition,
|
|
@@ -11017,7 +11107,10 @@ const VCard = defineComponent({
|
|
|
11017
11107
|
},
|
|
11018
11108
|
prependAvatar: String,
|
|
11019
11109
|
prependIcon: IconValue,
|
|
11020
|
-
ripple:
|
|
11110
|
+
ripple: {
|
|
11111
|
+
type: Boolean,
|
|
11112
|
+
default: true
|
|
11113
|
+
},
|
|
11021
11114
|
subtitle: String,
|
|
11022
11115
|
text: String,
|
|
11023
11116
|
title: String,
|
|
@@ -11138,7 +11231,7 @@ const VCard = defineComponent({
|
|
|
11138
11231
|
}), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots), slots.actions && createVNode(VCardActions, null, {
|
|
11139
11232
|
default: slots.actions
|
|
11140
11233
|
}), genOverlays(isClickable.value, 'v-card')]
|
|
11141
|
-
}), [[resolveDirective("ripple"), isClickable.value]]);
|
|
11234
|
+
}), [[resolveDirective("ripple"), isClickable.value && props.ripple]]);
|
|
11142
11235
|
});
|
|
11143
11236
|
return {};
|
|
11144
11237
|
}
|
|
@@ -12431,6 +12524,10 @@ const VSliderThumb = defineComponent({
|
|
|
12431
12524
|
position: {
|
|
12432
12525
|
type: Number,
|
|
12433
12526
|
required: true
|
|
12527
|
+
},
|
|
12528
|
+
ripple: {
|
|
12529
|
+
type: Boolean,
|
|
12530
|
+
default: true
|
|
12434
12531
|
}
|
|
12435
12532
|
},
|
|
12436
12533
|
emits: {
|
|
@@ -12531,7 +12628,7 @@ const VSliderThumb = defineComponent({
|
|
|
12531
12628
|
}, null), withDirectives(createVNode("div", {
|
|
12532
12629
|
"class": ['v-slider-thumb__ripple', textColorClasses.value],
|
|
12533
12630
|
"style": textColorStyles.value
|
|
12534
|
-
}, null), [[resolveDirective("ripple"),
|
|
12631
|
+
}, null), [[resolveDirective("ripple"), props.ripple, null, {
|
|
12535
12632
|
circle: true,
|
|
12536
12633
|
center: true
|
|
12537
12634
|
}]]), createVNode(VScaleTransition, {
|
|
@@ -13533,7 +13630,9 @@ const VCombobox = genericComponent()({
|
|
|
13533
13630
|
if (props.readonly || form != null && form.isReadonly.value) return;
|
|
13534
13631
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
|
13535
13632
|
const length = selected.value.length;
|
|
13536
|
-
if (selectionIndex.value > -1
|
|
13633
|
+
if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
|
13634
|
+
e.preventDefault();
|
|
13635
|
+
}
|
|
13537
13636
|
if (['Enter', 'ArrowDown'].includes(e.key)) {
|
|
13538
13637
|
menu.value = true;
|
|
13539
13638
|
}
|
|
@@ -13545,11 +13644,9 @@ const VCombobox = genericComponent()({
|
|
|
13545
13644
|
}
|
|
13546
13645
|
if (e.key === 'ArrowDown') {
|
|
13547
13646
|
var _listRef$value;
|
|
13548
|
-
e.preventDefault();
|
|
13549
13647
|
(_listRef$value = listRef.value) == null ? void 0 : _listRef$value.focus('next');
|
|
13550
13648
|
} else if (e.key === 'ArrowUp') {
|
|
13551
13649
|
var _listRef$value2;
|
|
13552
|
-
e.preventDefault();
|
|
13553
13650
|
(_listRef$value2 = listRef.value) == null ? void 0 : _listRef$value2.focus('prev');
|
|
13554
13651
|
}
|
|
13555
13652
|
if (!props.multiple) return;
|
|
@@ -13583,7 +13680,7 @@ const VCombobox = genericComponent()({
|
|
|
13583
13680
|
vTextFieldRef.value.setSelectionRange(0, 0);
|
|
13584
13681
|
}
|
|
13585
13682
|
}
|
|
13586
|
-
if (e.key === 'Enter') {
|
|
13683
|
+
if (e.key === 'Enter' && search.value) {
|
|
13587
13684
|
select(transformItem$1(props, search.value));
|
|
13588
13685
|
search.value = '';
|
|
13589
13686
|
}
|
|
@@ -13672,6 +13769,7 @@ const VCombobox = genericComponent()({
|
|
|
13672
13769
|
"activator": "parent",
|
|
13673
13770
|
"contentClass": "v-combobox__content",
|
|
13674
13771
|
"eager": props.eager,
|
|
13772
|
+
"maxHeight": 310,
|
|
13675
13773
|
"openOnClick": false,
|
|
13676
13774
|
"closeOnContentClick": false,
|
|
13677
13775
|
"transition": props.transition,
|
|
@@ -13843,6 +13941,10 @@ const VDialog = genericComponent()({
|
|
|
13843
13941
|
});
|
|
13844
13942
|
}
|
|
13845
13943
|
});
|
|
13944
|
+
const activatorProps = computed(() => mergeProps({
|
|
13945
|
+
'aria-haspopup': 'dialog',
|
|
13946
|
+
'aria-expanded': String(isActive.value)
|
|
13947
|
+
}, props.activatorProps));
|
|
13846
13948
|
useRender(() => {
|
|
13847
13949
|
const [overlayProps] = filterVOverlayProps(props);
|
|
13848
13950
|
return createVNode(VOverlay, mergeProps({
|
|
@@ -13856,10 +13958,7 @@ const VDialog = genericComponent()({
|
|
|
13856
13958
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
13857
13959
|
"aria-role": "dialog",
|
|
13858
13960
|
"aria-modal": "true",
|
|
13859
|
-
"activatorProps":
|
|
13860
|
-
'aria-haspopup': 'dialog',
|
|
13861
|
-
'aria-expanded': String(isActive.value)
|
|
13862
|
-
}, props.activatorProps)
|
|
13961
|
+
"activatorProps": activatorProps.value
|
|
13863
13962
|
}, scopeId), {
|
|
13864
13963
|
activator: slots.activator,
|
|
13865
13964
|
default: function () {
|
|
@@ -14208,12 +14307,15 @@ const VFileInput = defineComponent({
|
|
|
14208
14307
|
onFocus();
|
|
14209
14308
|
nextTick(() => {
|
|
14210
14309
|
model.value = [];
|
|
14211
|
-
if (inputRef != null && inputRef.value) {
|
|
14212
|
-
inputRef.value.value = '';
|
|
14213
|
-
}
|
|
14214
14310
|
callEvent(props['onClick:clear'], e);
|
|
14215
14311
|
});
|
|
14216
14312
|
}
|
|
14313
|
+
watch(model, newValue => {
|
|
14314
|
+
const hasModelReset = !Array.isArray(newValue) || !newValue.length;
|
|
14315
|
+
if (hasModelReset && inputRef.value) {
|
|
14316
|
+
inputRef.value.value = '';
|
|
14317
|
+
}
|
|
14318
|
+
});
|
|
14217
14319
|
useRender(() => {
|
|
14218
14320
|
const hasCounter = !!(slots.counter || props.counter);
|
|
14219
14321
|
const hasDetails = !!(hasCounter || slots.details);
|
|
@@ -15204,7 +15306,7 @@ function useTouch(_ref) {
|
|
|
15204
15306
|
window.removeEventListener('touchmove', onTouchmove);
|
|
15205
15307
|
window.removeEventListener('touchend', onTouchend);
|
|
15206
15308
|
});
|
|
15207
|
-
const isHorizontal = computed(() => position.value
|
|
15309
|
+
const isHorizontal = computed(() => ['left', 'right'].includes(position.value));
|
|
15208
15310
|
const {
|
|
15209
15311
|
addMovement,
|
|
15210
15312
|
endTouch,
|
|
@@ -15216,11 +15318,11 @@ function useTouch(_ref) {
|
|
|
15216
15318
|
const offset = ref(0);
|
|
15217
15319
|
let start;
|
|
15218
15320
|
function getOffset(pos, active) {
|
|
15219
|
-
return (position.value === 'left' ? pos : position.value === 'right' ? document.documentElement.clientWidth - pos : position.value === 'bottom' ? document.documentElement.clientHeight - pos : oops()) - (active ? width.value : 0);
|
|
15321
|
+
return (position.value === 'left' ? pos : position.value === 'right' ? document.documentElement.clientWidth - pos : position.value === 'top' ? pos : position.value === 'bottom' ? document.documentElement.clientHeight - pos : oops()) - (active ? width.value : 0);
|
|
15220
15322
|
}
|
|
15221
15323
|
function getProgress(pos) {
|
|
15222
15324
|
let limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
15223
|
-
const progress = position.value === 'left' ? (pos - offset.value) / width.value : position.value === 'right' ? (document.documentElement.clientWidth - pos - offset.value) / width.value : position.value === 'bottom' ? (document.documentElement.clientHeight - pos - offset.value) / width.value : oops();
|
|
15325
|
+
const progress = position.value === 'left' ? (pos - offset.value) / width.value : position.value === 'right' ? (document.documentElement.clientWidth - pos - offset.value) / width.value : position.value === 'top' ? (pos - offset.value) / width.value : position.value === 'bottom' ? (document.documentElement.clientHeight - pos - offset.value) / width.value : oops();
|
|
15224
15326
|
return limit ? Math.max(0, Math.min(1, progress)) : progress;
|
|
15225
15327
|
}
|
|
15226
15328
|
function onTouchstart(e) {
|
|
@@ -15228,8 +15330,8 @@ function useTouch(_ref) {
|
|
|
15228
15330
|
const touchX = e.changedTouches[0].clientX;
|
|
15229
15331
|
const touchY = e.changedTouches[0].clientY;
|
|
15230
15332
|
const touchZone = 25;
|
|
15231
|
-
const inTouchZone = position.value === 'left' ? touchX < touchZone : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone : oops();
|
|
15232
|
-
const inElement = isActive.value && (position.value === 'left' ? touchX < width.value : position.value === 'right' ? touchX > document.documentElement.clientWidth - width.value : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - width.value : oops());
|
|
15333
|
+
const inTouchZone = position.value === 'left' ? touchX < touchZone : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone : position.value === 'top' ? touchY < touchZone : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone : oops();
|
|
15334
|
+
const inElement = isActive.value && (position.value === 'left' ? touchX < width.value : position.value === 'right' ? touchX > document.documentElement.clientWidth - width.value : position.value === 'top' ? touchY < width.value : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - width.value : oops());
|
|
15233
15335
|
if (inTouchZone || inElement || isActive.value && isTemporary.value) {
|
|
15234
15336
|
maybeDragging = true;
|
|
15235
15337
|
start = [touchX, touchY];
|
|
@@ -15281,6 +15383,7 @@ function useTouch(_ref) {
|
|
|
15281
15383
|
isActive.value = velocity.direction === ({
|
|
15282
15384
|
left: 'right',
|
|
15283
15385
|
right: 'left',
|
|
15386
|
+
top: 'down',
|
|
15284
15387
|
bottom: 'up'
|
|
15285
15388
|
}[position.value] || oops());
|
|
15286
15389
|
} else {
|
|
@@ -15289,7 +15392,7 @@ function useTouch(_ref) {
|
|
|
15289
15392
|
}
|
|
15290
15393
|
const dragStyles = computed(() => {
|
|
15291
15394
|
return isDragging.value ? {
|
|
15292
|
-
transform: position.value === 'left' ? `translateX(calc(-100% + ${dragProgress.value * width.value}px))` : position.value === 'right' ? `translateX(calc(100% - ${dragProgress.value * width.value}px))` : position.value === 'bottom' ? `translateY(calc(100% - ${dragProgress.value * width.value}px))` : oops(),
|
|
15395
|
+
transform: position.value === 'left' ? `translateX(calc(-100% + ${dragProgress.value * width.value}px))` : position.value === 'right' ? `translateX(calc(100% - ${dragProgress.value * width.value}px))` : position.value === 'top' ? `translateY(calc(-100% + ${dragProgress.value * width.value}px))` : position.value === 'bottom' ? `translateY(calc(100% - ${dragProgress.value * width.value}px))` : oops(),
|
|
15293
15396
|
transition: 'none'
|
|
15294
15397
|
} : undefined;
|
|
15295
15398
|
});
|
|
@@ -15305,7 +15408,7 @@ function oops() {
|
|
|
15305
15408
|
|
|
15306
15409
|
// Types
|
|
15307
15410
|
|
|
15308
|
-
const locations = ['start', 'end', 'left', 'right', 'bottom'];
|
|
15411
|
+
const locations = ['start', 'end', 'left', 'right', 'top', 'bottom'];
|
|
15309
15412
|
const VNavigationDrawer = defineComponent({
|
|
15310
15413
|
name: 'VNavigationDrawer',
|
|
15311
15414
|
props: {
|
|
@@ -15762,7 +15865,7 @@ const VPagination = defineComponent({
|
|
|
15762
15865
|
disabled: !!props.disabled || props.length < 2,
|
|
15763
15866
|
color: isActive ? props.activeColor : props.color,
|
|
15764
15867
|
ariaCurrent: isActive,
|
|
15765
|
-
ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel,
|
|
15868
|
+
ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
|
|
15766
15869
|
onClick: e => setValue(e, item)
|
|
15767
15870
|
}
|
|
15768
15871
|
};
|
|
@@ -17941,6 +18044,9 @@ const VTooltip = genericComponent()({
|
|
|
17941
18044
|
if (props.transition) return props.transition;
|
|
17942
18045
|
return isActive.value ? 'scale-transition' : 'fade-transition';
|
|
17943
18046
|
});
|
|
18047
|
+
const activatorProps = computed(() => mergeProps({
|
|
18048
|
+
'aria-describedby': id.value
|
|
18049
|
+
}, props.activatorProps));
|
|
17944
18050
|
useRender(() => {
|
|
17945
18051
|
const [overlayProps] = filterVOverlayProps(props);
|
|
17946
18052
|
return createVNode(VOverlay, mergeProps({
|
|
@@ -17957,9 +18063,7 @@ const VTooltip = genericComponent()({
|
|
|
17957
18063
|
"persistent": true,
|
|
17958
18064
|
"role": "tooltip",
|
|
17959
18065
|
"eager": true,
|
|
17960
|
-
"activatorProps":
|
|
17961
|
-
'aria-describedby': id.value
|
|
17962
|
-
}, props.activatorProps),
|
|
18066
|
+
"activatorProps": activatorProps.value,
|
|
17963
18067
|
"_disableGlobalStack": true
|
|
17964
18068
|
}, scopeId), {
|
|
17965
18069
|
activator: slots.activator,
|
|
@@ -18345,7 +18449,7 @@ function createVuetify$1() {
|
|
|
18345
18449
|
locale
|
|
18346
18450
|
};
|
|
18347
18451
|
}
|
|
18348
|
-
const version$1 = "3.1.
|
|
18452
|
+
const version$1 = "3.1.3";
|
|
18349
18453
|
createVuetify$1.version = version$1;
|
|
18350
18454
|
|
|
18351
18455
|
// Vue's inject() can only be used in setup
|
|
@@ -18366,7 +18470,7 @@ const createVuetify = function () {
|
|
|
18366
18470
|
...options
|
|
18367
18471
|
});
|
|
18368
18472
|
};
|
|
18369
|
-
const version = "3.1.
|
|
18473
|
+
const version = "3.1.3";
|
|
18370
18474
|
createVuetify.version = version;
|
|
18371
18475
|
|
|
18372
18476
|
export { components, createVuetify, directives, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
|