vuetify 3.1.2 → 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 +450 -450
- package/dist/json/importMap.json +44 -44
- package/dist/json/tags.json +1 -1
- package/dist/json/web-types.json +815 -805
- package/dist/vuetify-labs.css +250 -246
- package/dist/vuetify-labs.d.ts +205 -174
- package/dist/vuetify-labs.esm.js +244 -170
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +243 -169
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +29 -25
- package/dist/vuetify.d.ts +206 -186
- package/dist/vuetify.esm.js +221 -162
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +220 -161
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +700 -692
- 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 +3 -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 +8 -3
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +3 -3
- 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.mjs +7 -4
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VForm/index.d.ts +0 -3
- package/lib/components/VList/VList.mjs +4 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +29 -19
- package/lib/components/VList/VListItem.mjs.map +1 -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/VSelect/VSelect.mjs +3 -4
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +43 -20
- 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 +195 -174
- package/lib/composables/defaults.mjs +1 -1
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/form.mjs +0 -1
- package/lib/composables/form.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 +14 -14
- package/lib/labs/VDataTable/VDataTable.mjs +2 -1
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +19 -6
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +2 -1
- package/lib/labs/VDataTable/VDataTableVirtual.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/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-labs.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));
|
|
@@ -1892,8 +1906,8 @@ var en = {
|
|
|
1892
1906
|
root: 'Pagination Navigation',
|
|
1893
1907
|
next: 'Next page',
|
|
1894
1908
|
previous: 'Previous page',
|
|
1895
|
-
page: '
|
|
1896
|
-
currentPage: 'Page {0}, Current
|
|
1909
|
+
page: 'Go to page {0}',
|
|
1910
|
+
currentPage: 'Page {0}, Current page',
|
|
1897
1911
|
first: 'First page',
|
|
1898
1912
|
last: 'Last page'
|
|
1899
1913
|
}
|
|
@@ -4857,14 +4871,18 @@ const VBtn = defineComponent({
|
|
|
4857
4871
|
const isElevated = computed(() => {
|
|
4858
4872
|
return props.variant === 'elevated' && !(props.disabled || props.flat || props.border);
|
|
4859
4873
|
});
|
|
4874
|
+
const valueAttr = computed(() => {
|
|
4875
|
+
if (props.value === undefined) return undefined;
|
|
4876
|
+
return Object(props.value) === props.value ? JSON.stringify(props.value, null, 0) : props.value;
|
|
4877
|
+
});
|
|
4860
4878
|
useSelectLink(link, group == null ? void 0 : group.select);
|
|
4861
4879
|
useRender(() => {
|
|
4862
|
-
var _slots$prepend, _slots$default, _slots$append, _slots$loader;
|
|
4880
|
+
var _link$isActive2, _link$isActive3, _slots$prepend, _slots$default, _slots$append, _slots$loader;
|
|
4863
4881
|
const Tag = link.isLink.value ? 'a' : props.tag;
|
|
4864
|
-
const hasColor = !group || isActive.value;
|
|
4865
4882
|
const hasPrepend = !!(props.prependIcon || slots.prepend);
|
|
4866
4883
|
const hasAppend = !!(props.appendIcon || slots.append);
|
|
4867
4884
|
const hasIcon = !!(props.icon && props.icon !== true);
|
|
4885
|
+
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);
|
|
4868
4886
|
return withDirectives(createVNode(Tag, {
|
|
4869
4887
|
"type": Tag === 'a' ? undefined : 'button',
|
|
4870
4888
|
"class": ['v-btn', group == null ? void 0 : group.selectedClass.value, {
|
|
@@ -4885,7 +4903,8 @@ const VBtn = defineComponent({
|
|
|
4885
4903
|
if (isDisabled.value) return;
|
|
4886
4904
|
(_link$navigate = link.navigate) == null ? void 0 : _link$navigate.call(link, e);
|
|
4887
4905
|
group == null ? void 0 : group.toggle();
|
|
4888
|
-
}
|
|
4906
|
+
},
|
|
4907
|
+
"value": valueAttr.value
|
|
4889
4908
|
}, {
|
|
4890
4909
|
default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && createVNode(VDefaultsProvider, {
|
|
4891
4910
|
"key": "prepend",
|
|
@@ -5359,32 +5378,34 @@ const VField = genericComponent()({
|
|
|
5359
5378
|
if (hasLabel.value) {
|
|
5360
5379
|
const el = labelRef.value.$el;
|
|
5361
5380
|
const targetEl = floatingLabelRef.value.$el;
|
|
5362
|
-
|
|
5363
|
-
|
|
5364
|
-
|
|
5365
|
-
|
|
5366
|
-
|
|
5367
|
-
|
|
5368
|
-
|
|
5369
|
-
|
|
5370
|
-
|
|
5371
|
-
|
|
5372
|
-
|
|
5373
|
-
|
|
5374
|
-
|
|
5375
|
-
|
|
5376
|
-
|
|
5377
|
-
|
|
5378
|
-
|
|
5379
|
-
|
|
5380
|
-
|
|
5381
|
-
|
|
5382
|
-
|
|
5383
|
-
|
|
5384
|
-
|
|
5385
|
-
|
|
5386
|
-
|
|
5387
|
-
|
|
5381
|
+
requestAnimationFrame(() => {
|
|
5382
|
+
const rect = nullifyTransforms(el);
|
|
5383
|
+
const targetRect = targetEl.getBoundingClientRect();
|
|
5384
|
+
const x = targetRect.x - rect.x;
|
|
5385
|
+
const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2);
|
|
5386
|
+
const targetWidth = targetRect.width / 0.75;
|
|
5387
|
+
const width = Math.abs(targetWidth - rect.width) > 1 ? {
|
|
5388
|
+
maxWidth: convertToUnit(targetWidth)
|
|
5389
|
+
} : undefined;
|
|
5390
|
+
const style = getComputedStyle(el);
|
|
5391
|
+
const targetStyle = getComputedStyle(targetEl);
|
|
5392
|
+
const duration = parseFloat(style.transitionDuration) * 1000 || 150;
|
|
5393
|
+
const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'));
|
|
5394
|
+
const color = targetStyle.getPropertyValue('color');
|
|
5395
|
+
el.style.visibility = 'visible';
|
|
5396
|
+
targetEl.style.visibility = 'hidden';
|
|
5397
|
+
animate(el, {
|
|
5398
|
+
transform: `translate(${x}px, ${y}px) scale(${scale})`,
|
|
5399
|
+
color,
|
|
5400
|
+
...width
|
|
5401
|
+
}, {
|
|
5402
|
+
duration,
|
|
5403
|
+
easing: standardEasing,
|
|
5404
|
+
direction: val ? 'normal' : 'reverse'
|
|
5405
|
+
}).finished.then(() => {
|
|
5406
|
+
el.style.removeProperty('visibility');
|
|
5407
|
+
targetEl.style.removeProperty('visibility');
|
|
5408
|
+
});
|
|
5388
5409
|
});
|
|
5389
5410
|
}
|
|
5390
5411
|
}, {
|
|
@@ -5573,7 +5594,6 @@ const FormKey = Symbol.for('vuetify:form');
|
|
|
5573
5594
|
const makeFormProps = propsFactory({
|
|
5574
5595
|
disabled: Boolean,
|
|
5575
5596
|
fastFail: Boolean,
|
|
5576
|
-
lazyValidation: Boolean,
|
|
5577
5597
|
readonly: Boolean,
|
|
5578
5598
|
modelValue: {
|
|
5579
5599
|
type: Boolean,
|
|
@@ -6977,9 +6997,9 @@ const VDivider = defineComponent({
|
|
|
6977
6997
|
themeClasses
|
|
6978
6998
|
} = provideTheme(props);
|
|
6979
6999
|
const {
|
|
6980
|
-
|
|
6981
|
-
|
|
6982
|
-
} =
|
|
7000
|
+
textColorClasses,
|
|
7001
|
+
textColorStyles
|
|
7002
|
+
} = useTextColor(toRef(props, 'color'));
|
|
6983
7003
|
const dividerStyles = computed(() => {
|
|
6984
7004
|
const styles = {};
|
|
6985
7005
|
if (props.length) {
|
|
@@ -6995,8 +7015,8 @@ const VDivider = defineComponent({
|
|
|
6995
7015
|
'v-divider': true,
|
|
6996
7016
|
'v-divider--inset': props.inset,
|
|
6997
7017
|
'v-divider--vertical': props.vertical
|
|
6998
|
-
}, themeClasses.value,
|
|
6999
|
-
"style": [dividerStyles.value,
|
|
7018
|
+
}, themeClasses.value, textColorClasses.value],
|
|
7019
|
+
"style": [dividerStyles.value, textColorStyles.value],
|
|
7000
7020
|
"aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
|
|
7001
7021
|
"role": `${attrs.role || 'separator'}`
|
|
7002
7022
|
}, null));
|
|
@@ -7706,7 +7726,7 @@ const VListItem = genericComponent()({
|
|
|
7706
7726
|
}
|
|
7707
7727
|
}
|
|
7708
7728
|
useRender(() => {
|
|
7709
|
-
var _slots$
|
|
7729
|
+
var _slots$title, _slots$subtitle, _slots$default;
|
|
7710
7730
|
const Tag = isLink.value ? 'a' : props.tag;
|
|
7711
7731
|
const hasColor = !list || isSelected.value || isActive.value;
|
|
7712
7732
|
const hasTitle = slots.title || props.title;
|
|
@@ -7729,7 +7749,18 @@ const VListItem = genericComponent()({
|
|
|
7729
7749
|
"onClick": onClick,
|
|
7730
7750
|
"onKeydown": isClickable.value && !isLink.value && onKeyDown
|
|
7731
7751
|
}, {
|
|
7732
|
-
default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && createVNode(
|
|
7752
|
+
default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && createVNode("div", {
|
|
7753
|
+
"key": "prepend",
|
|
7754
|
+
"class": "v-list-item__prepend"
|
|
7755
|
+
}, [props.prependAvatar && createVNode(VAvatar, {
|
|
7756
|
+
"key": "prepend-avatar",
|
|
7757
|
+
"density": props.density,
|
|
7758
|
+
"image": props.prependAvatar
|
|
7759
|
+
}, null), props.prependIcon && createVNode(VIcon, {
|
|
7760
|
+
"key": "prepend-icon",
|
|
7761
|
+
"density": props.density,
|
|
7762
|
+
"icon": props.prependIcon
|
|
7763
|
+
}, null), slots.prepend && createVNode(VDefaultsProvider, {
|
|
7733
7764
|
"key": "prepend",
|
|
7734
7765
|
"defaults": {
|
|
7735
7766
|
VAvatar: {
|
|
@@ -7745,14 +7776,8 @@ const VListItem = genericComponent()({
|
|
|
7745
7776
|
}
|
|
7746
7777
|
}
|
|
7747
7778
|
}, {
|
|
7748
|
-
default: () => [
|
|
7749
|
-
|
|
7750
|
-
}, [props.prependAvatar && createVNode(VAvatar, {
|
|
7751
|
-
"key": "prepend-avatar"
|
|
7752
|
-
}, null), props.prependIcon && createVNode(VIcon, {
|
|
7753
|
-
"key": "prepend-icon"
|
|
7754
|
-
}, null), (_slots$prepend = slots.prepend) == null ? void 0 : _slots$prepend.call(slots, slotProps.value)])]
|
|
7755
|
-
}), createVNode("div", {
|
|
7779
|
+
default: () => [slots.prepend(slotProps.value)]
|
|
7780
|
+
})]), createVNode("div", {
|
|
7756
7781
|
"class": "v-list-item__content",
|
|
7757
7782
|
"data-no-activator": ""
|
|
7758
7783
|
}, [hasTitle && createVNode(VListItemTitle, {
|
|
@@ -7767,7 +7792,10 @@ const VListItem = genericComponent()({
|
|
|
7767
7792
|
default: () => [((_slots$subtitle = slots.subtitle) == null ? void 0 : _slots$subtitle.call(slots, {
|
|
7768
7793
|
subtitle: props.subtitle
|
|
7769
7794
|
})) ?? props.subtitle]
|
|
7770
|
-
}), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, slotProps.value)]), hasAppend && createVNode(
|
|
7795
|
+
}), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, slotProps.value)]), hasAppend && createVNode("div", {
|
|
7796
|
+
"key": "append",
|
|
7797
|
+
"class": "v-list-item__append"
|
|
7798
|
+
}, [slots.append && createVNode(VDefaultsProvider, {
|
|
7771
7799
|
"key": "append",
|
|
7772
7800
|
"defaults": {
|
|
7773
7801
|
VAvatar: {
|
|
@@ -7783,14 +7811,16 @@ const VListItem = genericComponent()({
|
|
|
7783
7811
|
}
|
|
7784
7812
|
}
|
|
7785
7813
|
}, {
|
|
7786
|
-
default: () => [
|
|
7787
|
-
|
|
7788
|
-
|
|
7789
|
-
|
|
7790
|
-
|
|
7791
|
-
|
|
7792
|
-
|
|
7793
|
-
|
|
7814
|
+
default: () => [slots.append(slotProps.value)]
|
|
7815
|
+
}), props.appendIcon && createVNode(VIcon, {
|
|
7816
|
+
"key": "append-icon",
|
|
7817
|
+
"density": props.density,
|
|
7818
|
+
"icon": props.appendIcon
|
|
7819
|
+
}, null), props.appendAvatar && createVNode(VAvatar, {
|
|
7820
|
+
"key": "append-avatar",
|
|
7821
|
+
"density": props.density,
|
|
7822
|
+
"image": props.appendAvatar
|
|
7823
|
+
}, null)])]
|
|
7794
7824
|
}), [[resolveDirective("ripple"), isClickable.value && props.ripple]]);
|
|
7795
7825
|
});
|
|
7796
7826
|
return {};
|
|
@@ -8004,9 +8034,12 @@ function useItems(props) {
|
|
|
8004
8034
|
|
|
8005
8035
|
// Types
|
|
8006
8036
|
|
|
8037
|
+
function isPrimitive(value) {
|
|
8038
|
+
return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';
|
|
8039
|
+
}
|
|
8007
8040
|
function transformItem(props, item) {
|
|
8008
8041
|
const type = getPropertyFromItem(item, props.itemType, 'item');
|
|
8009
|
-
const title =
|
|
8042
|
+
const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);
|
|
8010
8043
|
const value = getPropertyFromItem(item, props.itemValue, undefined);
|
|
8011
8044
|
const children = getPropertyFromItem(item, props.itemChildren);
|
|
8012
8045
|
const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps);
|
|
@@ -8632,17 +8665,12 @@ const makeLocationStrategyProps = propsFactory({
|
|
|
8632
8665
|
function useLocationStrategies(props, data) {
|
|
8633
8666
|
const contentStyles = ref({});
|
|
8634
8667
|
const updateLocation = ref();
|
|
8635
|
-
|
|
8636
|
-
|
|
8637
|
-
|
|
8638
|
-
|
|
8639
|
-
|
|
8640
|
-
|
|
8641
|
-
scope = effectScope();
|
|
8642
|
-
if (!(props.locationStrategy === 'connected')) {
|
|
8643
|
-
await nextTick();
|
|
8644
|
-
}
|
|
8645
|
-
scope.run(() => {
|
|
8668
|
+
if (IN_BROWSER) {
|
|
8669
|
+
useToggleScope(() => !!(data.isActive.value && props.locationStrategy), reset => {
|
|
8670
|
+
watch(() => props.locationStrategy, reset);
|
|
8671
|
+
onScopeDispose(() => {
|
|
8672
|
+
updateLocation.value = undefined;
|
|
8673
|
+
});
|
|
8646
8674
|
if (typeof props.locationStrategy === 'function') {
|
|
8647
8675
|
var _props$locationStrate;
|
|
8648
8676
|
updateLocation.value = (_props$locationStrate = props.locationStrategy(data, props, contentStyles)) == null ? void 0 : _props$locationStrate.updateLocation;
|
|
@@ -8651,16 +8679,14 @@ function useLocationStrategies(props, data) {
|
|
|
8651
8679
|
updateLocation.value = (_locationStrategies$p = locationStrategies[props.locationStrategy](data, props, contentStyles)) == null ? void 0 : _locationStrategies$p.updateLocation;
|
|
8652
8680
|
}
|
|
8653
8681
|
});
|
|
8654
|
-
|
|
8655
|
-
|
|
8656
|
-
|
|
8657
|
-
|
|
8658
|
-
|
|
8659
|
-
|
|
8660
|
-
|
|
8661
|
-
|
|
8662
|
-
(_scope2 = scope) == null ? void 0 : _scope2.stop();
|
|
8663
|
-
});
|
|
8682
|
+
window.addEventListener('resize', onResize, {
|
|
8683
|
+
passive: true
|
|
8684
|
+
});
|
|
8685
|
+
onScopeDispose(() => {
|
|
8686
|
+
window.removeEventListener('resize', onResize);
|
|
8687
|
+
updateLocation.value = undefined;
|
|
8688
|
+
});
|
|
8689
|
+
}
|
|
8664
8690
|
function onResize(e) {
|
|
8665
8691
|
var _updateLocation$value;
|
|
8666
8692
|
(_updateLocation$value = updateLocation.value) == null ? void 0 : _updateLocation$value.call(updateLocation, e);
|
|
@@ -8954,13 +8980,30 @@ function connectedLocationStrategy(data, props, contentStyles) {
|
|
|
8954
8980
|
maxWidth: convertToUnit(pixelCeil(clamp(available.x, minWidth.value === Infinity ? 0 : minWidth.value, maxWidth.value))),
|
|
8955
8981
|
maxHeight: convertToUnit(pixelCeil(clamp(available.y, minHeight.value === Infinity ? 0 : minHeight.value, maxHeight.value)))
|
|
8956
8982
|
});
|
|
8983
|
+
return {
|
|
8984
|
+
available,
|
|
8985
|
+
contentBox
|
|
8986
|
+
};
|
|
8957
8987
|
}
|
|
8958
|
-
watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation()
|
|
8959
|
-
|
|
8960
|
-
|
|
8961
|
-
|
|
8962
|
-
|
|
8963
|
-
|
|
8988
|
+
watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation());
|
|
8989
|
+
nextTick(() => {
|
|
8990
|
+
const result = updateLocation();
|
|
8991
|
+
|
|
8992
|
+
// TODO: overflowing content should only require a single updateLocation call
|
|
8993
|
+
// Icky hack to make sure the content is positioned consistently
|
|
8994
|
+
if (!result) return;
|
|
8995
|
+
const {
|
|
8996
|
+
available,
|
|
8997
|
+
contentBox
|
|
8998
|
+
} = result;
|
|
8999
|
+
if (contentBox.height > available.y) {
|
|
9000
|
+
requestAnimationFrame(() => {
|
|
9001
|
+
updateLocation();
|
|
9002
|
+
requestAnimationFrame(() => {
|
|
9003
|
+
updateLocation();
|
|
9004
|
+
});
|
|
9005
|
+
});
|
|
9006
|
+
}
|
|
8964
9007
|
});
|
|
8965
9008
|
return {
|
|
8966
9009
|
updateLocation
|
|
@@ -9028,10 +9071,10 @@ function useScrollStrategies(props, data) {
|
|
|
9028
9071
|
await nextTick();
|
|
9029
9072
|
scope.run(() => {
|
|
9030
9073
|
if (typeof props.scrollStrategy === 'function') {
|
|
9031
|
-
props.scrollStrategy(data, props);
|
|
9074
|
+
props.scrollStrategy(data, props, scope);
|
|
9032
9075
|
} else {
|
|
9033
9076
|
var _scrollStrategies$pro;
|
|
9034
|
-
(_scrollStrategies$pro = scrollStrategies[props.scrollStrategy]) == null ? void 0 : _scrollStrategies$pro.call(scrollStrategies, data, props);
|
|
9077
|
+
(_scrollStrategies$pro = scrollStrategies[props.scrollStrategy]) == null ? void 0 : _scrollStrategies$pro.call(scrollStrategies, data, props, scope);
|
|
9035
9078
|
}
|
|
9036
9079
|
});
|
|
9037
9080
|
});
|
|
@@ -9077,9 +9120,10 @@ function blockScrollStrategy(data, props) {
|
|
|
9077
9120
|
}
|
|
9078
9121
|
});
|
|
9079
9122
|
}
|
|
9080
|
-
function repositionScrollStrategy(data) {
|
|
9123
|
+
function repositionScrollStrategy(data, props, scope) {
|
|
9081
9124
|
let slow = false;
|
|
9082
9125
|
let raf = -1;
|
|
9126
|
+
let ric = -1;
|
|
9083
9127
|
function update(e) {
|
|
9084
9128
|
requestNewFrame(() => {
|
|
9085
9129
|
var _data$updateLocation$, _data$updateLocation;
|
|
@@ -9089,21 +9133,29 @@ function repositionScrollStrategy(data) {
|
|
|
9089
9133
|
slow = time / (1000 / 60) > 2;
|
|
9090
9134
|
});
|
|
9091
9135
|
}
|
|
9092
|
-
|
|
9093
|
-
|
|
9094
|
-
|
|
9095
|
-
|
|
9096
|
-
|
|
9097
|
-
|
|
9098
|
-
|
|
9099
|
-
|
|
9100
|
-
|
|
9136
|
+
ric = requestIdleCallback(() => {
|
|
9137
|
+
scope.run(() => {
|
|
9138
|
+
bindScroll(data.activatorEl.value ?? data.contentEl.value, e => {
|
|
9139
|
+
if (slow) {
|
|
9140
|
+
// If the position calculation is slow,
|
|
9141
|
+
// defer updates until scrolling is finished.
|
|
9142
|
+
// Browsers usually fire one scroll event per frame so
|
|
9143
|
+
// we just wait until we've got two frames without an event
|
|
9144
|
+
cancelAnimationFrame(raf);
|
|
9145
|
+
raf = requestAnimationFrame(() => {
|
|
9146
|
+
raf = requestAnimationFrame(() => {
|
|
9147
|
+
update(e);
|
|
9148
|
+
});
|
|
9149
|
+
});
|
|
9150
|
+
} else {
|
|
9101
9151
|
update(e);
|
|
9102
|
-
}
|
|
9152
|
+
}
|
|
9103
9153
|
});
|
|
9104
|
-
}
|
|
9105
|
-
|
|
9106
|
-
|
|
9154
|
+
});
|
|
9155
|
+
});
|
|
9156
|
+
onScopeDispose(() => {
|
|
9157
|
+
cancelIdleCallback(ric);
|
|
9158
|
+
cancelAnimationFrame(raf);
|
|
9107
9159
|
});
|
|
9108
9160
|
}
|
|
9109
9161
|
|
|
@@ -9746,6 +9798,11 @@ const VMenu = genericComponent()({
|
|
|
9746
9798
|
function onClickOutside() {
|
|
9747
9799
|
parent == null ? void 0 : parent.closeParents();
|
|
9748
9800
|
}
|
|
9801
|
+
const activatorProps = computed(() => mergeProps({
|
|
9802
|
+
'aria-haspopup': 'menu',
|
|
9803
|
+
'aria-expanded': String(isActive.value),
|
|
9804
|
+
'aria-owns': id.value
|
|
9805
|
+
}, props.activatorProps));
|
|
9749
9806
|
useRender(() => {
|
|
9750
9807
|
const [overlayProps] = filterVOverlayProps(props);
|
|
9751
9808
|
return createVNode(VOverlay, mergeProps({
|
|
@@ -9755,11 +9812,7 @@ const VMenu = genericComponent()({
|
|
|
9755
9812
|
"modelValue": isActive.value,
|
|
9756
9813
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
9757
9814
|
"absolute": true,
|
|
9758
|
-
"activatorProps":
|
|
9759
|
-
'aria-haspopup': 'menu',
|
|
9760
|
-
'aria-expanded': String(isActive.value),
|
|
9761
|
-
'aria-owns': id.value
|
|
9762
|
-
}, props.activatorProps),
|
|
9815
|
+
"activatorProps": activatorProps.value,
|
|
9763
9816
|
"onClick:outside": onClickOutside
|
|
9764
9817
|
}, scopeId), {
|
|
9765
9818
|
activator: slots.activator,
|
|
@@ -9873,8 +9926,10 @@ const VSelect = genericComponent()({
|
|
|
9873
9926
|
}
|
|
9874
9927
|
function onKeydown(e) {
|
|
9875
9928
|
if (props.readonly || form != null && form.isReadonly.value) return;
|
|
9876
|
-
if (['Enter', 'ArrowDown', ' '].includes(e.key)) {
|
|
9929
|
+
if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
|
|
9877
9930
|
e.preventDefault();
|
|
9931
|
+
}
|
|
9932
|
+
if (['Enter', 'ArrowDown', ' '].includes(e.key)) {
|
|
9878
9933
|
menu.value = true;
|
|
9879
9934
|
}
|
|
9880
9935
|
if (['Escape', 'Tab'].includes(e.key)) {
|
|
@@ -9885,15 +9940,12 @@ const VSelect = genericComponent()({
|
|
|
9885
9940
|
(_listRef$value = listRef.value) == null ? void 0 : _listRef$value.focus('next');
|
|
9886
9941
|
} else if (e.key === 'ArrowUp') {
|
|
9887
9942
|
var _listRef$value2;
|
|
9888
|
-
e.preventDefault();
|
|
9889
9943
|
(_listRef$value2 = listRef.value) == null ? void 0 : _listRef$value2.focus('prev');
|
|
9890
9944
|
} else if (e.key === 'Home') {
|
|
9891
9945
|
var _listRef$value3;
|
|
9892
|
-
e.preventDefault();
|
|
9893
9946
|
(_listRef$value3 = listRef.value) == null ? void 0 : _listRef$value3.focus('first');
|
|
9894
9947
|
} else if (e.key === 'End') {
|
|
9895
9948
|
var _listRef$value4;
|
|
9896
|
-
e.preventDefault();
|
|
9897
9949
|
(_listRef$value4 = listRef.value) == null ? void 0 : _listRef$value4.focus('last');
|
|
9898
9950
|
}
|
|
9899
9951
|
}
|
|
@@ -10237,6 +10289,9 @@ const VAutocomplete = genericComponent()({
|
|
|
10237
10289
|
}
|
|
10238
10290
|
function onKeydown(e) {
|
|
10239
10291
|
if (props.readonly || form != null && form.isReadonly.value) return;
|
|
10292
|
+
if (['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
|
10293
|
+
e.preventDefault();
|
|
10294
|
+
}
|
|
10240
10295
|
if (['Enter', 'ArrowDown'].includes(e.key)) {
|
|
10241
10296
|
menu.value = true;
|
|
10242
10297
|
}
|
|
@@ -10248,11 +10303,9 @@ const VAutocomplete = genericComponent()({
|
|
|
10248
10303
|
}
|
|
10249
10304
|
if (e.key === 'ArrowDown') {
|
|
10250
10305
|
var _listRef$value;
|
|
10251
|
-
e.preventDefault();
|
|
10252
10306
|
(_listRef$value = listRef.value) == null ? void 0 : _listRef$value.focus('next');
|
|
10253
10307
|
} else if (e.key === 'ArrowUp') {
|
|
10254
10308
|
var _listRef$value2;
|
|
10255
|
-
e.preventDefault();
|
|
10256
10309
|
(_listRef$value2 = listRef.value) == null ? void 0 : _listRef$value2.focus('prev');
|
|
10257
10310
|
}
|
|
10258
10311
|
}
|
|
@@ -13581,7 +13634,9 @@ const VCombobox = genericComponent()({
|
|
|
13581
13634
|
if (props.readonly || form != null && form.isReadonly.value) return;
|
|
13582
13635
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
|
13583
13636
|
const length = selected.value.length;
|
|
13584
|
-
if (selectionIndex.value > -1
|
|
13637
|
+
if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
|
13638
|
+
e.preventDefault();
|
|
13639
|
+
}
|
|
13585
13640
|
if (['Enter', 'ArrowDown'].includes(e.key)) {
|
|
13586
13641
|
menu.value = true;
|
|
13587
13642
|
}
|
|
@@ -13593,11 +13648,9 @@ const VCombobox = genericComponent()({
|
|
|
13593
13648
|
}
|
|
13594
13649
|
if (e.key === 'ArrowDown') {
|
|
13595
13650
|
var _listRef$value;
|
|
13596
|
-
e.preventDefault();
|
|
13597
13651
|
(_listRef$value = listRef.value) == null ? void 0 : _listRef$value.focus('next');
|
|
13598
13652
|
} else if (e.key === 'ArrowUp') {
|
|
13599
13653
|
var _listRef$value2;
|
|
13600
|
-
e.preventDefault();
|
|
13601
13654
|
(_listRef$value2 = listRef.value) == null ? void 0 : _listRef$value2.focus('prev');
|
|
13602
13655
|
}
|
|
13603
13656
|
if (!props.multiple) return;
|
|
@@ -13892,6 +13945,10 @@ const VDialog = genericComponent()({
|
|
|
13892
13945
|
});
|
|
13893
13946
|
}
|
|
13894
13947
|
});
|
|
13948
|
+
const activatorProps = computed(() => mergeProps({
|
|
13949
|
+
'aria-haspopup': 'dialog',
|
|
13950
|
+
'aria-expanded': String(isActive.value)
|
|
13951
|
+
}, props.activatorProps));
|
|
13895
13952
|
useRender(() => {
|
|
13896
13953
|
const [overlayProps] = filterVOverlayProps(props);
|
|
13897
13954
|
return createVNode(VOverlay, mergeProps({
|
|
@@ -13905,10 +13962,7 @@ const VDialog = genericComponent()({
|
|
|
13905
13962
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
13906
13963
|
"aria-role": "dialog",
|
|
13907
13964
|
"aria-modal": "true",
|
|
13908
|
-
"activatorProps":
|
|
13909
|
-
'aria-haspopup': 'dialog',
|
|
13910
|
-
'aria-expanded': String(isActive.value)
|
|
13911
|
-
}, props.activatorProps)
|
|
13965
|
+
"activatorProps": activatorProps.value
|
|
13912
13966
|
}, scopeId), {
|
|
13913
13967
|
activator: slots.activator,
|
|
13914
13968
|
default: function () {
|
|
@@ -14257,12 +14311,15 @@ const VFileInput = defineComponent({
|
|
|
14257
14311
|
onFocus();
|
|
14258
14312
|
nextTick(() => {
|
|
14259
14313
|
model.value = [];
|
|
14260
|
-
if (inputRef != null && inputRef.value) {
|
|
14261
|
-
inputRef.value.value = '';
|
|
14262
|
-
}
|
|
14263
14314
|
callEvent(props['onClick:clear'], e);
|
|
14264
14315
|
});
|
|
14265
14316
|
}
|
|
14317
|
+
watch(model, newValue => {
|
|
14318
|
+
const hasModelReset = !Array.isArray(newValue) || !newValue.length;
|
|
14319
|
+
if (hasModelReset && inputRef.value) {
|
|
14320
|
+
inputRef.value.value = '';
|
|
14321
|
+
}
|
|
14322
|
+
});
|
|
14266
14323
|
useRender(() => {
|
|
14267
14324
|
const hasCounter = !!(slots.counter || props.counter);
|
|
14268
14325
|
const hasDetails = !!(hasCounter || slots.details);
|
|
@@ -15253,7 +15310,7 @@ function useTouch(_ref) {
|
|
|
15253
15310
|
window.removeEventListener('touchmove', onTouchmove);
|
|
15254
15311
|
window.removeEventListener('touchend', onTouchend);
|
|
15255
15312
|
});
|
|
15256
|
-
const isHorizontal = computed(() => position.value
|
|
15313
|
+
const isHorizontal = computed(() => ['left', 'right'].includes(position.value));
|
|
15257
15314
|
const {
|
|
15258
15315
|
addMovement,
|
|
15259
15316
|
endTouch,
|
|
@@ -15265,11 +15322,11 @@ function useTouch(_ref) {
|
|
|
15265
15322
|
const offset = ref(0);
|
|
15266
15323
|
let start;
|
|
15267
15324
|
function getOffset(pos, active) {
|
|
15268
|
-
return (position.value === 'left' ? pos : position.value === 'right' ? document.documentElement.clientWidth - pos : position.value === 'bottom' ? document.documentElement.clientHeight - pos : oops()) - (active ? width.value : 0);
|
|
15325
|
+
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);
|
|
15269
15326
|
}
|
|
15270
15327
|
function getProgress(pos) {
|
|
15271
15328
|
let limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
15272
|
-
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();
|
|
15329
|
+
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();
|
|
15273
15330
|
return limit ? Math.max(0, Math.min(1, progress)) : progress;
|
|
15274
15331
|
}
|
|
15275
15332
|
function onTouchstart(e) {
|
|
@@ -15277,8 +15334,8 @@ function useTouch(_ref) {
|
|
|
15277
15334
|
const touchX = e.changedTouches[0].clientX;
|
|
15278
15335
|
const touchY = e.changedTouches[0].clientY;
|
|
15279
15336
|
const touchZone = 25;
|
|
15280
|
-
const inTouchZone = position.value === 'left' ? touchX < touchZone : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone : oops();
|
|
15281
|
-
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());
|
|
15337
|
+
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();
|
|
15338
|
+
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());
|
|
15282
15339
|
if (inTouchZone || inElement || isActive.value && isTemporary.value) {
|
|
15283
15340
|
maybeDragging = true;
|
|
15284
15341
|
start = [touchX, touchY];
|
|
@@ -15330,6 +15387,7 @@ function useTouch(_ref) {
|
|
|
15330
15387
|
isActive.value = velocity.direction === ({
|
|
15331
15388
|
left: 'right',
|
|
15332
15389
|
right: 'left',
|
|
15390
|
+
top: 'down',
|
|
15333
15391
|
bottom: 'up'
|
|
15334
15392
|
}[position.value] || oops());
|
|
15335
15393
|
} else {
|
|
@@ -15338,7 +15396,7 @@ function useTouch(_ref) {
|
|
|
15338
15396
|
}
|
|
15339
15397
|
const dragStyles = computed(() => {
|
|
15340
15398
|
return isDragging.value ? {
|
|
15341
|
-
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(),
|
|
15399
|
+
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(),
|
|
15342
15400
|
transition: 'none'
|
|
15343
15401
|
} : undefined;
|
|
15344
15402
|
});
|
|
@@ -15354,7 +15412,7 @@ function oops() {
|
|
|
15354
15412
|
|
|
15355
15413
|
// Types
|
|
15356
15414
|
|
|
15357
|
-
const locations = ['start', 'end', 'left', 'right', 'bottom'];
|
|
15415
|
+
const locations = ['start', 'end', 'left', 'right', 'top', 'bottom'];
|
|
15358
15416
|
const VNavigationDrawer = defineComponent({
|
|
15359
15417
|
name: 'VNavigationDrawer',
|
|
15360
15418
|
props: {
|
|
@@ -15811,7 +15869,7 @@ const VPagination = defineComponent({
|
|
|
15811
15869
|
disabled: !!props.disabled || props.length < 2,
|
|
15812
15870
|
color: isActive ? props.activeColor : props.color,
|
|
15813
15871
|
ariaCurrent: isActive,
|
|
15814
|
-
ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel,
|
|
15872
|
+
ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
|
|
15815
15873
|
onClick: e => setValue(e, item)
|
|
15816
15874
|
}
|
|
15817
15875
|
};
|
|
@@ -17990,6 +18048,9 @@ const VTooltip = genericComponent()({
|
|
|
17990
18048
|
if (props.transition) return props.transition;
|
|
17991
18049
|
return isActive.value ? 'scale-transition' : 'fade-transition';
|
|
17992
18050
|
});
|
|
18051
|
+
const activatorProps = computed(() => mergeProps({
|
|
18052
|
+
'aria-describedby': id.value
|
|
18053
|
+
}, props.activatorProps));
|
|
17993
18054
|
useRender(() => {
|
|
17994
18055
|
const [overlayProps] = filterVOverlayProps(props);
|
|
17995
18056
|
return createVNode(VOverlay, mergeProps({
|
|
@@ -18006,9 +18067,7 @@ const VTooltip = genericComponent()({
|
|
|
18006
18067
|
"persistent": true,
|
|
18007
18068
|
"role": "tooltip",
|
|
18008
18069
|
"eager": true,
|
|
18009
|
-
"activatorProps":
|
|
18010
|
-
'aria-describedby': id.value
|
|
18011
|
-
}, props.activatorProps),
|
|
18070
|
+
"activatorProps": activatorProps.value,
|
|
18012
18071
|
"_disableGlobalStack": true
|
|
18013
18072
|
}, scopeId), {
|
|
18014
18073
|
activator: slots.activator,
|
|
@@ -18957,7 +19016,7 @@ const VDataTableRows = defineComponent({
|
|
|
18957
19016
|
});
|
|
18958
19017
|
},
|
|
18959
19018
|
"item": item
|
|
18960
|
-
}, slots), isExpanded(item
|
|
19019
|
+
}, slots), isExpanded(item) && ((_slots$expandedRow = slots['expanded-row']) == null ? void 0 : _slots$expandedRow.call(slots, {
|
|
18961
19020
|
item,
|
|
18962
19021
|
columns: columns.value
|
|
18963
19022
|
}))]);
|
|
@@ -19168,7 +19227,8 @@ function useOptions(_ref) {
|
|
|
19168
19227
|
sortBy,
|
|
19169
19228
|
startIndex,
|
|
19170
19229
|
stopIndex,
|
|
19171
|
-
pageCount
|
|
19230
|
+
pageCount,
|
|
19231
|
+
groupBy
|
|
19172
19232
|
} = _ref;
|
|
19173
19233
|
const vm = getCurrentInstance('VDataTable');
|
|
19174
19234
|
const options = computed(() => ({
|
|
@@ -19177,7 +19237,8 @@ function useOptions(_ref) {
|
|
|
19177
19237
|
startIndex: startIndex.value,
|
|
19178
19238
|
stopIndex: stopIndex.value,
|
|
19179
19239
|
pageCount: pageCount.value,
|
|
19180
|
-
sortBy: sortBy.value
|
|
19240
|
+
sortBy: sortBy.value,
|
|
19241
|
+
groupBy: groupBy.value
|
|
19181
19242
|
}));
|
|
19182
19243
|
|
|
19183
19244
|
// Reset page when sorting changes
|
|
@@ -19294,7 +19355,8 @@ const VDataTable = defineComponent({
|
|
|
19294
19355
|
sortBy,
|
|
19295
19356
|
pageCount,
|
|
19296
19357
|
startIndex,
|
|
19297
|
-
stopIndex
|
|
19358
|
+
stopIndex,
|
|
19359
|
+
groupBy
|
|
19298
19360
|
});
|
|
19299
19361
|
provideDefaults({
|
|
19300
19362
|
VDataTableRows: {
|
|
@@ -19491,7 +19553,8 @@ const VDataTableVirtual = defineComponent({
|
|
|
19491
19553
|
startIndex: ref(0),
|
|
19492
19554
|
stopIndex: computed(() => flatItems.value.length - 1),
|
|
19493
19555
|
pageCount: ref(1),
|
|
19494
|
-
itemsPerPage: ref(-1)
|
|
19556
|
+
itemsPerPage: ref(-1),
|
|
19557
|
+
groupBy
|
|
19495
19558
|
});
|
|
19496
19559
|
provideDefaults({
|
|
19497
19560
|
VDataTableRows: {
|
|
@@ -19567,7 +19630,8 @@ const VDataTableServer = defineComponent({
|
|
|
19567
19630
|
...makeDataTableItemProps(),
|
|
19568
19631
|
...makeDataTableSelectProps(),
|
|
19569
19632
|
...makeDataTableSortProps(),
|
|
19570
|
-
...makeDataTablePaginateProps()
|
|
19633
|
+
...makeDataTablePaginateProps(),
|
|
19634
|
+
...makeDataTableGroupProps()
|
|
19571
19635
|
},
|
|
19572
19636
|
emits: {
|
|
19573
19637
|
'update:modelValue': value => true,
|
|
@@ -19576,6 +19640,7 @@ const VDataTableServer = defineComponent({
|
|
|
19576
19640
|
'update:sortBy': sortBy => true,
|
|
19577
19641
|
'update:options': options => true,
|
|
19578
19642
|
'update:expanded': options => true,
|
|
19643
|
+
'update:groupBy': value => true,
|
|
19579
19644
|
'click:row': (event, value) => true
|
|
19580
19645
|
},
|
|
19581
19646
|
setup(props, _ref) {
|
|
@@ -19583,10 +19648,12 @@ const VDataTableServer = defineComponent({
|
|
|
19583
19648
|
emit,
|
|
19584
19649
|
slots
|
|
19585
19650
|
} = _ref;
|
|
19651
|
+
const groupBy = useProxiedModel(props, 'groupBy');
|
|
19586
19652
|
createExpanded(props);
|
|
19587
19653
|
const {
|
|
19588
19654
|
columns
|
|
19589
19655
|
} = createHeaders(props, {
|
|
19656
|
+
groupBy,
|
|
19590
19657
|
showSelect: toRef(props, 'showSelect'),
|
|
19591
19658
|
showExpand: toRef(props, 'showExpand')
|
|
19592
19659
|
});
|
|
@@ -19597,6 +19664,9 @@ const VDataTableServer = defineComponent({
|
|
|
19597
19664
|
sortBy,
|
|
19598
19665
|
toggleSort
|
|
19599
19666
|
} = createSort(props);
|
|
19667
|
+
const {
|
|
19668
|
+
opened
|
|
19669
|
+
} = createGroupBy(props, groupBy, sortBy);
|
|
19600
19670
|
const {
|
|
19601
19671
|
page,
|
|
19602
19672
|
itemsPerPage,
|
|
@@ -19604,6 +19674,9 @@ const VDataTableServer = defineComponent({
|
|
|
19604
19674
|
stopIndex,
|
|
19605
19675
|
pageCount
|
|
19606
19676
|
} = createPagination(props, items);
|
|
19677
|
+
const {
|
|
19678
|
+
flatItems
|
|
19679
|
+
} = useGroupedItems(items, groupBy, opened);
|
|
19607
19680
|
createSelection(props, items);
|
|
19608
19681
|
useOptions({
|
|
19609
19682
|
page,
|
|
@@ -19611,7 +19684,8 @@ const VDataTableServer = defineComponent({
|
|
|
19611
19684
|
sortBy,
|
|
19612
19685
|
startIndex,
|
|
19613
19686
|
stopIndex,
|
|
19614
|
-
pageCount
|
|
19687
|
+
pageCount,
|
|
19688
|
+
groupBy
|
|
19615
19689
|
});
|
|
19616
19690
|
provide('v-data-table', {
|
|
19617
19691
|
toggleSort,
|
|
@@ -19647,7 +19721,7 @@ const VDataTableServer = defineComponent({
|
|
|
19647
19721
|
"class": "v-data-table__tbody",
|
|
19648
19722
|
"role": "rowgroup"
|
|
19649
19723
|
}, [slots.body ? slots.body() : createVNode(VDataTableRows, {
|
|
19650
|
-
"items":
|
|
19724
|
+
"items": flatItems.value,
|
|
19651
19725
|
"onClick:row": (event, value) => emit('click:row', event, value)
|
|
19652
19726
|
}, slots)]), (_slots$tbody = slots.tbody) == null ? void 0 : _slots$tbody.call(slots), (_slots$tfoot = slots.tfoot) == null ? void 0 : _slots$tfoot.call(slots)]);
|
|
19653
19727
|
}),
|
|
@@ -20153,7 +20227,7 @@ function createVuetify$1() {
|
|
|
20153
20227
|
locale
|
|
20154
20228
|
};
|
|
20155
20229
|
}
|
|
20156
|
-
const version$1 = "3.1.
|
|
20230
|
+
const version$1 = "3.1.3";
|
|
20157
20231
|
createVuetify$1.version = version$1;
|
|
20158
20232
|
|
|
20159
20233
|
// Vue's inject() can only be used in setup
|
|
@@ -20166,7 +20240,7 @@ function inject(key) {
|
|
|
20166
20240
|
}
|
|
20167
20241
|
}
|
|
20168
20242
|
|
|
20169
|
-
const version = "3.1.
|
|
20243
|
+
const version = "3.1.3";
|
|
20170
20244
|
|
|
20171
20245
|
const createVuetify = function () {
|
|
20172
20246
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|