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.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
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
|
*/
|
|
@@ -262,8 +262,12 @@
|
|
|
262
262
|
}
|
|
263
263
|
function toKebabCase() {
|
|
264
264
|
let str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
265
|
-
|
|
265
|
+
if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str);
|
|
266
|
+
const kebab = str.replace(/[^a-z]/gi, '-').replace(/\B([A-Z])/g, '-$1').toLowerCase();
|
|
267
|
+
toKebabCase.cache.set(str, kebab);
|
|
268
|
+
return kebab;
|
|
266
269
|
}
|
|
270
|
+
toKebabCase.cache = new Map();
|
|
267
271
|
function findChildrenWithProvide(key, vnode) {
|
|
268
272
|
if (!vnode || typeof vnode !== 'object') return [];
|
|
269
273
|
if (Array.isArray(vnode)) {
|
|
@@ -890,7 +894,7 @@
|
|
|
890
894
|
|
|
891
895
|
const DefaultsSymbol = Symbol.for('vuetify:defaults');
|
|
892
896
|
function createDefaults(options) {
|
|
893
|
-
return vue.ref(options
|
|
897
|
+
return vue.ref(options);
|
|
894
898
|
}
|
|
895
899
|
function useDefaults() {
|
|
896
900
|
const defaults = vue.inject(DefaultsSymbol);
|
|
@@ -922,23 +926,30 @@
|
|
|
922
926
|
return newDefaults;
|
|
923
927
|
}
|
|
924
928
|
|
|
925
|
-
function useToggleScope(source,
|
|
929
|
+
function useToggleScope(source, fn) {
|
|
926
930
|
let scope;
|
|
931
|
+
function start() {
|
|
932
|
+
scope = vue.effectScope();
|
|
933
|
+
scope.run(() => fn.length ? fn(() => {
|
|
934
|
+
var _scope;
|
|
935
|
+
(_scope = scope) == null ? void 0 : _scope.stop();
|
|
936
|
+
start();
|
|
937
|
+
}) : fn());
|
|
938
|
+
}
|
|
927
939
|
vue.watch(source, active => {
|
|
928
940
|
if (active && !scope) {
|
|
929
|
-
|
|
930
|
-
scope.run(cb);
|
|
941
|
+
start();
|
|
931
942
|
} else if (!active) {
|
|
932
|
-
var
|
|
933
|
-
(
|
|
943
|
+
var _scope2;
|
|
944
|
+
(_scope2 = scope) == null ? void 0 : _scope2.stop();
|
|
934
945
|
scope = undefined;
|
|
935
946
|
}
|
|
936
947
|
}, {
|
|
937
948
|
immediate: true
|
|
938
949
|
});
|
|
939
950
|
vue.onScopeDispose(() => {
|
|
940
|
-
var
|
|
941
|
-
(
|
|
951
|
+
var _scope3;
|
|
952
|
+
(_scope3 = scope) == null ? void 0 : _scope3.stop();
|
|
942
953
|
});
|
|
943
954
|
}
|
|
944
955
|
|
|
@@ -1007,33 +1018,36 @@
|
|
|
1007
1018
|
options.props = propsFactory(options.props, toKebabCase(options.name))();
|
|
1008
1019
|
options.props._as = String;
|
|
1009
1020
|
options.setup = function setup(props, ctx) {
|
|
1010
|
-
const vm = vue.getCurrentInstance();
|
|
1011
1021
|
const defaults = useDefaults();
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1022
|
+
|
|
1023
|
+
// Skip props proxy if defaults are not provided
|
|
1024
|
+
if (!defaults.value) return options._setup(props, ctx);
|
|
1025
|
+
const vm = vue.getCurrentInstance();
|
|
1026
|
+
const componentDefaults = vue.computed(() => defaults.value[props._as ?? options.name]);
|
|
1027
|
+
const _props = new Proxy(props, {
|
|
1028
|
+
get(target, prop) {
|
|
1029
|
+
if (!propIsDefined(vm.vnode, prop)) {
|
|
1030
|
+
var _componentDefaults$va, _global;
|
|
1031
|
+
return ((_componentDefaults$va = componentDefaults.value) == null ? void 0 : _componentDefaults$va[prop]) ?? ((_global = defaults.value.global) == null ? void 0 : _global[prop]) ?? target[prop];
|
|
1032
|
+
}
|
|
1033
|
+
return Reflect.get(target, prop);
|
|
1034
|
+
}
|
|
1015
1035
|
});
|
|
1036
|
+
const _subcomponentDefaults = vue.shallowRef();
|
|
1016
1037
|
vue.watchEffect(() => {
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
if (componentDefaults) {
|
|
1020
|
-
const subComponents = Object.entries(componentDefaults).filter(_ref => {
|
|
1038
|
+
if (componentDefaults.value) {
|
|
1039
|
+
const subComponents = Object.entries(componentDefaults.value).filter(_ref => {
|
|
1021
1040
|
let [key] = _ref;
|
|
1022
1041
|
return key.startsWith(key[0].toUpperCase());
|
|
1023
1042
|
});
|
|
1024
1043
|
if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents);
|
|
1025
1044
|
}
|
|
1026
|
-
for (const prop of Object.keys(props)) {
|
|
1027
|
-
let newVal = props[prop];
|
|
1028
|
-
if (!propIsDefined(vm.vnode, prop)) {
|
|
1029
|
-
newVal = (componentDefaults == null ? void 0 : componentDefaults[prop]) ?? (globalDefaults == null ? void 0 : globalDefaults[prop]) ?? props[prop];
|
|
1030
|
-
}
|
|
1031
|
-
if (_props[prop] !== newVal) {
|
|
1032
|
-
_props[prop] = newVal;
|
|
1033
|
-
}
|
|
1034
|
-
}
|
|
1035
1045
|
});
|
|
1036
1046
|
const setupBindings = options._setup(_props, ctx);
|
|
1047
|
+
|
|
1048
|
+
// If subcomponent defaults are provided, override any
|
|
1049
|
+
// subcomponents provided by the component's setup function.
|
|
1050
|
+
// This uses injectSelf so must be done after the original setup to work.
|
|
1037
1051
|
useToggleScope(_subcomponentDefaults, () => {
|
|
1038
1052
|
var _injectSelf;
|
|
1039
1053
|
provideDefaults(mergeDeep(((_injectSelf = injectSelf(DefaultsSymbol)) == null ? void 0 : _injectSelf.value) ?? {}, _subcomponentDefaults.value));
|
|
@@ -1896,8 +1910,8 @@
|
|
|
1896
1910
|
root: 'Pagination Navigation',
|
|
1897
1911
|
next: 'Next page',
|
|
1898
1912
|
previous: 'Previous page',
|
|
1899
|
-
page: '
|
|
1900
|
-
currentPage: 'Page {0}, Current
|
|
1913
|
+
page: 'Go to page {0}',
|
|
1914
|
+
currentPage: 'Page {0}, Current page',
|
|
1901
1915
|
first: 'First page',
|
|
1902
1916
|
last: 'Last page'
|
|
1903
1917
|
}
|
|
@@ -4861,14 +4875,18 @@
|
|
|
4861
4875
|
const isElevated = vue.computed(() => {
|
|
4862
4876
|
return props.variant === 'elevated' && !(props.disabled || props.flat || props.border);
|
|
4863
4877
|
});
|
|
4878
|
+
const valueAttr = vue.computed(() => {
|
|
4879
|
+
if (props.value === undefined) return undefined;
|
|
4880
|
+
return Object(props.value) === props.value ? JSON.stringify(props.value, null, 0) : props.value;
|
|
4881
|
+
});
|
|
4864
4882
|
useSelectLink(link, group == null ? void 0 : group.select);
|
|
4865
4883
|
useRender(() => {
|
|
4866
|
-
var _slots$prepend, _slots$default, _slots$append, _slots$loader;
|
|
4884
|
+
var _link$isActive2, _link$isActive3, _slots$prepend, _slots$default, _slots$append, _slots$loader;
|
|
4867
4885
|
const Tag = link.isLink.value ? 'a' : props.tag;
|
|
4868
|
-
const hasColor = !group || isActive.value;
|
|
4869
4886
|
const hasPrepend = !!(props.prependIcon || slots.prepend);
|
|
4870
4887
|
const hasAppend = !!(props.appendIcon || slots.append);
|
|
4871
4888
|
const hasIcon = !!(props.icon && props.icon !== true);
|
|
4889
|
+
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);
|
|
4872
4890
|
return vue.withDirectives(vue.createVNode(Tag, {
|
|
4873
4891
|
"type": Tag === 'a' ? undefined : 'button',
|
|
4874
4892
|
"class": ['v-btn', group == null ? void 0 : group.selectedClass.value, {
|
|
@@ -4889,7 +4907,8 @@
|
|
|
4889
4907
|
if (isDisabled.value) return;
|
|
4890
4908
|
(_link$navigate = link.navigate) == null ? void 0 : _link$navigate.call(link, e);
|
|
4891
4909
|
group == null ? void 0 : group.toggle();
|
|
4892
|
-
}
|
|
4910
|
+
},
|
|
4911
|
+
"value": valueAttr.value
|
|
4893
4912
|
}, {
|
|
4894
4913
|
default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && vue.createVNode(VDefaultsProvider, {
|
|
4895
4914
|
"key": "prepend",
|
|
@@ -5363,32 +5382,34 @@
|
|
|
5363
5382
|
if (hasLabel.value) {
|
|
5364
5383
|
const el = labelRef.value.$el;
|
|
5365
5384
|
const targetEl = floatingLabelRef.value.$el;
|
|
5366
|
-
|
|
5367
|
-
|
|
5368
|
-
|
|
5369
|
-
|
|
5370
|
-
|
|
5371
|
-
|
|
5372
|
-
|
|
5373
|
-
|
|
5374
|
-
|
|
5375
|
-
|
|
5376
|
-
|
|
5377
|
-
|
|
5378
|
-
|
|
5379
|
-
|
|
5380
|
-
|
|
5381
|
-
|
|
5382
|
-
|
|
5383
|
-
|
|
5384
|
-
|
|
5385
|
-
|
|
5386
|
-
|
|
5387
|
-
|
|
5388
|
-
|
|
5389
|
-
|
|
5390
|
-
|
|
5391
|
-
|
|
5385
|
+
requestAnimationFrame(() => {
|
|
5386
|
+
const rect = nullifyTransforms(el);
|
|
5387
|
+
const targetRect = targetEl.getBoundingClientRect();
|
|
5388
|
+
const x = targetRect.x - rect.x;
|
|
5389
|
+
const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2);
|
|
5390
|
+
const targetWidth = targetRect.width / 0.75;
|
|
5391
|
+
const width = Math.abs(targetWidth - rect.width) > 1 ? {
|
|
5392
|
+
maxWidth: convertToUnit(targetWidth)
|
|
5393
|
+
} : undefined;
|
|
5394
|
+
const style = getComputedStyle(el);
|
|
5395
|
+
const targetStyle = getComputedStyle(targetEl);
|
|
5396
|
+
const duration = parseFloat(style.transitionDuration) * 1000 || 150;
|
|
5397
|
+
const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'));
|
|
5398
|
+
const color = targetStyle.getPropertyValue('color');
|
|
5399
|
+
el.style.visibility = 'visible';
|
|
5400
|
+
targetEl.style.visibility = 'hidden';
|
|
5401
|
+
animate(el, {
|
|
5402
|
+
transform: `translate(${x}px, ${y}px) scale(${scale})`,
|
|
5403
|
+
color,
|
|
5404
|
+
...width
|
|
5405
|
+
}, {
|
|
5406
|
+
duration,
|
|
5407
|
+
easing: standardEasing,
|
|
5408
|
+
direction: val ? 'normal' : 'reverse'
|
|
5409
|
+
}).finished.then(() => {
|
|
5410
|
+
el.style.removeProperty('visibility');
|
|
5411
|
+
targetEl.style.removeProperty('visibility');
|
|
5412
|
+
});
|
|
5392
5413
|
});
|
|
5393
5414
|
}
|
|
5394
5415
|
}, {
|
|
@@ -5577,7 +5598,6 @@
|
|
|
5577
5598
|
const makeFormProps = propsFactory({
|
|
5578
5599
|
disabled: Boolean,
|
|
5579
5600
|
fastFail: Boolean,
|
|
5580
|
-
lazyValidation: Boolean,
|
|
5581
5601
|
readonly: Boolean,
|
|
5582
5602
|
modelValue: {
|
|
5583
5603
|
type: Boolean,
|
|
@@ -6981,9 +7001,9 @@
|
|
|
6981
7001
|
themeClasses
|
|
6982
7002
|
} = provideTheme(props);
|
|
6983
7003
|
const {
|
|
6984
|
-
|
|
6985
|
-
|
|
6986
|
-
} =
|
|
7004
|
+
textColorClasses,
|
|
7005
|
+
textColorStyles
|
|
7006
|
+
} = useTextColor(vue.toRef(props, 'color'));
|
|
6987
7007
|
const dividerStyles = vue.computed(() => {
|
|
6988
7008
|
const styles = {};
|
|
6989
7009
|
if (props.length) {
|
|
@@ -6999,8 +7019,8 @@
|
|
|
6999
7019
|
'v-divider': true,
|
|
7000
7020
|
'v-divider--inset': props.inset,
|
|
7001
7021
|
'v-divider--vertical': props.vertical
|
|
7002
|
-
}, themeClasses.value,
|
|
7003
|
-
"style": [dividerStyles.value,
|
|
7022
|
+
}, themeClasses.value, textColorClasses.value],
|
|
7023
|
+
"style": [dividerStyles.value, textColorStyles.value],
|
|
7004
7024
|
"aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
|
|
7005
7025
|
"role": `${attrs.role || 'separator'}`
|
|
7006
7026
|
}, null));
|
|
@@ -7710,7 +7730,7 @@
|
|
|
7710
7730
|
}
|
|
7711
7731
|
}
|
|
7712
7732
|
useRender(() => {
|
|
7713
|
-
var _slots$
|
|
7733
|
+
var _slots$title, _slots$subtitle, _slots$default;
|
|
7714
7734
|
const Tag = isLink.value ? 'a' : props.tag;
|
|
7715
7735
|
const hasColor = !list || isSelected.value || isActive.value;
|
|
7716
7736
|
const hasTitle = slots.title || props.title;
|
|
@@ -7733,7 +7753,18 @@
|
|
|
7733
7753
|
"onClick": onClick,
|
|
7734
7754
|
"onKeydown": isClickable.value && !isLink.value && onKeyDown
|
|
7735
7755
|
}, {
|
|
7736
|
-
default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && vue.createVNode(
|
|
7756
|
+
default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && vue.createVNode("div", {
|
|
7757
|
+
"key": "prepend",
|
|
7758
|
+
"class": "v-list-item__prepend"
|
|
7759
|
+
}, [props.prependAvatar && vue.createVNode(VAvatar, {
|
|
7760
|
+
"key": "prepend-avatar",
|
|
7761
|
+
"density": props.density,
|
|
7762
|
+
"image": props.prependAvatar
|
|
7763
|
+
}, null), props.prependIcon && vue.createVNode(VIcon, {
|
|
7764
|
+
"key": "prepend-icon",
|
|
7765
|
+
"density": props.density,
|
|
7766
|
+
"icon": props.prependIcon
|
|
7767
|
+
}, null), slots.prepend && vue.createVNode(VDefaultsProvider, {
|
|
7737
7768
|
"key": "prepend",
|
|
7738
7769
|
"defaults": {
|
|
7739
7770
|
VAvatar: {
|
|
@@ -7749,14 +7780,8 @@
|
|
|
7749
7780
|
}
|
|
7750
7781
|
}
|
|
7751
7782
|
}, {
|
|
7752
|
-
default: () => [
|
|
7753
|
-
|
|
7754
|
-
}, [props.prependAvatar && vue.createVNode(VAvatar, {
|
|
7755
|
-
"key": "prepend-avatar"
|
|
7756
|
-
}, null), props.prependIcon && vue.createVNode(VIcon, {
|
|
7757
|
-
"key": "prepend-icon"
|
|
7758
|
-
}, null), (_slots$prepend = slots.prepend) == null ? void 0 : _slots$prepend.call(slots, slotProps.value)])]
|
|
7759
|
-
}), vue.createVNode("div", {
|
|
7783
|
+
default: () => [slots.prepend(slotProps.value)]
|
|
7784
|
+
})]), vue.createVNode("div", {
|
|
7760
7785
|
"class": "v-list-item__content",
|
|
7761
7786
|
"data-no-activator": ""
|
|
7762
7787
|
}, [hasTitle && vue.createVNode(VListItemTitle, {
|
|
@@ -7771,7 +7796,10 @@
|
|
|
7771
7796
|
default: () => [((_slots$subtitle = slots.subtitle) == null ? void 0 : _slots$subtitle.call(slots, {
|
|
7772
7797
|
subtitle: props.subtitle
|
|
7773
7798
|
})) ?? props.subtitle]
|
|
7774
|
-
}), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, slotProps.value)]), hasAppend && vue.createVNode(
|
|
7799
|
+
}), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, slotProps.value)]), hasAppend && vue.createVNode("div", {
|
|
7800
|
+
"key": "append",
|
|
7801
|
+
"class": "v-list-item__append"
|
|
7802
|
+
}, [slots.append && vue.createVNode(VDefaultsProvider, {
|
|
7775
7803
|
"key": "append",
|
|
7776
7804
|
"defaults": {
|
|
7777
7805
|
VAvatar: {
|
|
@@ -7787,14 +7815,16 @@
|
|
|
7787
7815
|
}
|
|
7788
7816
|
}
|
|
7789
7817
|
}, {
|
|
7790
|
-
default: () => [
|
|
7791
|
-
|
|
7792
|
-
|
|
7793
|
-
|
|
7794
|
-
|
|
7795
|
-
|
|
7796
|
-
|
|
7797
|
-
|
|
7818
|
+
default: () => [slots.append(slotProps.value)]
|
|
7819
|
+
}), props.appendIcon && vue.createVNode(VIcon, {
|
|
7820
|
+
"key": "append-icon",
|
|
7821
|
+
"density": props.density,
|
|
7822
|
+
"icon": props.appendIcon
|
|
7823
|
+
}, null), props.appendAvatar && vue.createVNode(VAvatar, {
|
|
7824
|
+
"key": "append-avatar",
|
|
7825
|
+
"density": props.density,
|
|
7826
|
+
"image": props.appendAvatar
|
|
7827
|
+
}, null)])]
|
|
7798
7828
|
}), [[vue.resolveDirective("ripple"), isClickable.value && props.ripple]]);
|
|
7799
7829
|
});
|
|
7800
7830
|
return {};
|
|
@@ -8008,9 +8038,12 @@
|
|
|
8008
8038
|
|
|
8009
8039
|
// Types
|
|
8010
8040
|
|
|
8041
|
+
function isPrimitive(value) {
|
|
8042
|
+
return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';
|
|
8043
|
+
}
|
|
8011
8044
|
function transformItem(props, item) {
|
|
8012
8045
|
const type = getPropertyFromItem(item, props.itemType, 'item');
|
|
8013
|
-
const title =
|
|
8046
|
+
const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);
|
|
8014
8047
|
const value = getPropertyFromItem(item, props.itemValue, undefined);
|
|
8015
8048
|
const children = getPropertyFromItem(item, props.itemChildren);
|
|
8016
8049
|
const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps);
|
|
@@ -8636,17 +8669,12 @@
|
|
|
8636
8669
|
function useLocationStrategies(props, data) {
|
|
8637
8670
|
const contentStyles = vue.ref({});
|
|
8638
8671
|
const updateLocation = vue.ref();
|
|
8639
|
-
|
|
8640
|
-
|
|
8641
|
-
|
|
8642
|
-
|
|
8643
|
-
|
|
8644
|
-
|
|
8645
|
-
scope = vue.effectScope();
|
|
8646
|
-
if (!(props.locationStrategy === 'connected')) {
|
|
8647
|
-
await vue.nextTick();
|
|
8648
|
-
}
|
|
8649
|
-
scope.run(() => {
|
|
8672
|
+
if (IN_BROWSER) {
|
|
8673
|
+
useToggleScope(() => !!(data.isActive.value && props.locationStrategy), reset => {
|
|
8674
|
+
vue.watch(() => props.locationStrategy, reset);
|
|
8675
|
+
vue.onScopeDispose(() => {
|
|
8676
|
+
updateLocation.value = undefined;
|
|
8677
|
+
});
|
|
8650
8678
|
if (typeof props.locationStrategy === 'function') {
|
|
8651
8679
|
var _props$locationStrate;
|
|
8652
8680
|
updateLocation.value = (_props$locationStrate = props.locationStrategy(data, props, contentStyles)) == null ? void 0 : _props$locationStrate.updateLocation;
|
|
@@ -8655,16 +8683,14 @@
|
|
|
8655
8683
|
updateLocation.value = (_locationStrategies$p = locationStrategies[props.locationStrategy](data, props, contentStyles)) == null ? void 0 : _locationStrategies$p.updateLocation;
|
|
8656
8684
|
}
|
|
8657
8685
|
});
|
|
8658
|
-
|
|
8659
|
-
|
|
8660
|
-
|
|
8661
|
-
|
|
8662
|
-
|
|
8663
|
-
|
|
8664
|
-
|
|
8665
|
-
|
|
8666
|
-
(_scope2 = scope) == null ? void 0 : _scope2.stop();
|
|
8667
|
-
});
|
|
8686
|
+
window.addEventListener('resize', onResize, {
|
|
8687
|
+
passive: true
|
|
8688
|
+
});
|
|
8689
|
+
vue.onScopeDispose(() => {
|
|
8690
|
+
window.removeEventListener('resize', onResize);
|
|
8691
|
+
updateLocation.value = undefined;
|
|
8692
|
+
});
|
|
8693
|
+
}
|
|
8668
8694
|
function onResize(e) {
|
|
8669
8695
|
var _updateLocation$value;
|
|
8670
8696
|
(_updateLocation$value = updateLocation.value) == null ? void 0 : _updateLocation$value.call(updateLocation, e);
|
|
@@ -8958,13 +8984,30 @@
|
|
|
8958
8984
|
maxWidth: convertToUnit(pixelCeil(clamp(available.x, minWidth.value === Infinity ? 0 : minWidth.value, maxWidth.value))),
|
|
8959
8985
|
maxHeight: convertToUnit(pixelCeil(clamp(available.y, minHeight.value === Infinity ? 0 : minHeight.value, maxHeight.value)))
|
|
8960
8986
|
});
|
|
8987
|
+
return {
|
|
8988
|
+
available,
|
|
8989
|
+
contentBox
|
|
8990
|
+
};
|
|
8961
8991
|
}
|
|
8962
|
-
vue.watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation()
|
|
8963
|
-
|
|
8964
|
-
|
|
8965
|
-
|
|
8966
|
-
|
|
8967
|
-
|
|
8992
|
+
vue.watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation());
|
|
8993
|
+
vue.nextTick(() => {
|
|
8994
|
+
const result = updateLocation();
|
|
8995
|
+
|
|
8996
|
+
// TODO: overflowing content should only require a single updateLocation call
|
|
8997
|
+
// Icky hack to make sure the content is positioned consistently
|
|
8998
|
+
if (!result) return;
|
|
8999
|
+
const {
|
|
9000
|
+
available,
|
|
9001
|
+
contentBox
|
|
9002
|
+
} = result;
|
|
9003
|
+
if (contentBox.height > available.y) {
|
|
9004
|
+
requestAnimationFrame(() => {
|
|
9005
|
+
updateLocation();
|
|
9006
|
+
requestAnimationFrame(() => {
|
|
9007
|
+
updateLocation();
|
|
9008
|
+
});
|
|
9009
|
+
});
|
|
9010
|
+
}
|
|
8968
9011
|
});
|
|
8969
9012
|
return {
|
|
8970
9013
|
updateLocation
|
|
@@ -9032,10 +9075,10 @@
|
|
|
9032
9075
|
await vue.nextTick();
|
|
9033
9076
|
scope.run(() => {
|
|
9034
9077
|
if (typeof props.scrollStrategy === 'function') {
|
|
9035
|
-
props.scrollStrategy(data, props);
|
|
9078
|
+
props.scrollStrategy(data, props, scope);
|
|
9036
9079
|
} else {
|
|
9037
9080
|
var _scrollStrategies$pro;
|
|
9038
|
-
(_scrollStrategies$pro = scrollStrategies[props.scrollStrategy]) == null ? void 0 : _scrollStrategies$pro.call(scrollStrategies, data, props);
|
|
9081
|
+
(_scrollStrategies$pro = scrollStrategies[props.scrollStrategy]) == null ? void 0 : _scrollStrategies$pro.call(scrollStrategies, data, props, scope);
|
|
9039
9082
|
}
|
|
9040
9083
|
});
|
|
9041
9084
|
});
|
|
@@ -9081,9 +9124,10 @@
|
|
|
9081
9124
|
}
|
|
9082
9125
|
});
|
|
9083
9126
|
}
|
|
9084
|
-
function repositionScrollStrategy(data) {
|
|
9127
|
+
function repositionScrollStrategy(data, props, scope) {
|
|
9085
9128
|
let slow = false;
|
|
9086
9129
|
let raf = -1;
|
|
9130
|
+
let ric = -1;
|
|
9087
9131
|
function update(e) {
|
|
9088
9132
|
requestNewFrame(() => {
|
|
9089
9133
|
var _data$updateLocation$, _data$updateLocation;
|
|
@@ -9093,21 +9137,29 @@
|
|
|
9093
9137
|
slow = time / (1000 / 60) > 2;
|
|
9094
9138
|
});
|
|
9095
9139
|
}
|
|
9096
|
-
|
|
9097
|
-
|
|
9098
|
-
|
|
9099
|
-
|
|
9100
|
-
|
|
9101
|
-
|
|
9102
|
-
|
|
9103
|
-
|
|
9104
|
-
|
|
9140
|
+
ric = requestIdleCallback(() => {
|
|
9141
|
+
scope.run(() => {
|
|
9142
|
+
bindScroll(data.activatorEl.value ?? data.contentEl.value, e => {
|
|
9143
|
+
if (slow) {
|
|
9144
|
+
// If the position calculation is slow,
|
|
9145
|
+
// defer updates until scrolling is finished.
|
|
9146
|
+
// Browsers usually fire one scroll event per frame so
|
|
9147
|
+
// we just wait until we've got two frames without an event
|
|
9148
|
+
cancelAnimationFrame(raf);
|
|
9149
|
+
raf = requestAnimationFrame(() => {
|
|
9150
|
+
raf = requestAnimationFrame(() => {
|
|
9151
|
+
update(e);
|
|
9152
|
+
});
|
|
9153
|
+
});
|
|
9154
|
+
} else {
|
|
9105
9155
|
update(e);
|
|
9106
|
-
}
|
|
9156
|
+
}
|
|
9107
9157
|
});
|
|
9108
|
-
}
|
|
9109
|
-
|
|
9110
|
-
|
|
9158
|
+
});
|
|
9159
|
+
});
|
|
9160
|
+
vue.onScopeDispose(() => {
|
|
9161
|
+
cancelIdleCallback(ric);
|
|
9162
|
+
cancelAnimationFrame(raf);
|
|
9111
9163
|
});
|
|
9112
9164
|
}
|
|
9113
9165
|
|
|
@@ -9750,6 +9802,11 @@
|
|
|
9750
9802
|
function onClickOutside() {
|
|
9751
9803
|
parent == null ? void 0 : parent.closeParents();
|
|
9752
9804
|
}
|
|
9805
|
+
const activatorProps = vue.computed(() => vue.mergeProps({
|
|
9806
|
+
'aria-haspopup': 'menu',
|
|
9807
|
+
'aria-expanded': String(isActive.value),
|
|
9808
|
+
'aria-owns': id.value
|
|
9809
|
+
}, props.activatorProps));
|
|
9753
9810
|
useRender(() => {
|
|
9754
9811
|
const [overlayProps] = filterVOverlayProps(props);
|
|
9755
9812
|
return vue.createVNode(VOverlay, vue.mergeProps({
|
|
@@ -9759,11 +9816,7 @@
|
|
|
9759
9816
|
"modelValue": isActive.value,
|
|
9760
9817
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
9761
9818
|
"absolute": true,
|
|
9762
|
-
"activatorProps":
|
|
9763
|
-
'aria-haspopup': 'menu',
|
|
9764
|
-
'aria-expanded': String(isActive.value),
|
|
9765
|
-
'aria-owns': id.value
|
|
9766
|
-
}, props.activatorProps),
|
|
9819
|
+
"activatorProps": activatorProps.value,
|
|
9767
9820
|
"onClick:outside": onClickOutside
|
|
9768
9821
|
}, scopeId), {
|
|
9769
9822
|
activator: slots.activator,
|
|
@@ -9877,8 +9930,10 @@
|
|
|
9877
9930
|
}
|
|
9878
9931
|
function onKeydown(e) {
|
|
9879
9932
|
if (props.readonly || form != null && form.isReadonly.value) return;
|
|
9880
|
-
if (['Enter', 'ArrowDown', ' '].includes(e.key)) {
|
|
9933
|
+
if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
|
|
9881
9934
|
e.preventDefault();
|
|
9935
|
+
}
|
|
9936
|
+
if (['Enter', 'ArrowDown', ' '].includes(e.key)) {
|
|
9882
9937
|
menu.value = true;
|
|
9883
9938
|
}
|
|
9884
9939
|
if (['Escape', 'Tab'].includes(e.key)) {
|
|
@@ -9889,15 +9944,12 @@
|
|
|
9889
9944
|
(_listRef$value = listRef.value) == null ? void 0 : _listRef$value.focus('next');
|
|
9890
9945
|
} else if (e.key === 'ArrowUp') {
|
|
9891
9946
|
var _listRef$value2;
|
|
9892
|
-
e.preventDefault();
|
|
9893
9947
|
(_listRef$value2 = listRef.value) == null ? void 0 : _listRef$value2.focus('prev');
|
|
9894
9948
|
} else if (e.key === 'Home') {
|
|
9895
9949
|
var _listRef$value3;
|
|
9896
|
-
e.preventDefault();
|
|
9897
9950
|
(_listRef$value3 = listRef.value) == null ? void 0 : _listRef$value3.focus('first');
|
|
9898
9951
|
} else if (e.key === 'End') {
|
|
9899
9952
|
var _listRef$value4;
|
|
9900
|
-
e.preventDefault();
|
|
9901
9953
|
(_listRef$value4 = listRef.value) == null ? void 0 : _listRef$value4.focus('last');
|
|
9902
9954
|
}
|
|
9903
9955
|
}
|
|
@@ -10241,6 +10293,9 @@
|
|
|
10241
10293
|
}
|
|
10242
10294
|
function onKeydown(e) {
|
|
10243
10295
|
if (props.readonly || form != null && form.isReadonly.value) return;
|
|
10296
|
+
if (['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
|
10297
|
+
e.preventDefault();
|
|
10298
|
+
}
|
|
10244
10299
|
if (['Enter', 'ArrowDown'].includes(e.key)) {
|
|
10245
10300
|
menu.value = true;
|
|
10246
10301
|
}
|
|
@@ -10252,11 +10307,9 @@
|
|
|
10252
10307
|
}
|
|
10253
10308
|
if (e.key === 'ArrowDown') {
|
|
10254
10309
|
var _listRef$value;
|
|
10255
|
-
e.preventDefault();
|
|
10256
10310
|
(_listRef$value = listRef.value) == null ? void 0 : _listRef$value.focus('next');
|
|
10257
10311
|
} else if (e.key === 'ArrowUp') {
|
|
10258
10312
|
var _listRef$value2;
|
|
10259
|
-
e.preventDefault();
|
|
10260
10313
|
(_listRef$value2 = listRef.value) == null ? void 0 : _listRef$value2.focus('prev');
|
|
10261
10314
|
}
|
|
10262
10315
|
}
|
|
@@ -13585,7 +13638,9 @@
|
|
|
13585
13638
|
if (props.readonly || form != null && form.isReadonly.value) return;
|
|
13586
13639
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
|
13587
13640
|
const length = selected.value.length;
|
|
13588
|
-
if (selectionIndex.value > -1
|
|
13641
|
+
if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
|
13642
|
+
e.preventDefault();
|
|
13643
|
+
}
|
|
13589
13644
|
if (['Enter', 'ArrowDown'].includes(e.key)) {
|
|
13590
13645
|
menu.value = true;
|
|
13591
13646
|
}
|
|
@@ -13597,11 +13652,9 @@
|
|
|
13597
13652
|
}
|
|
13598
13653
|
if (e.key === 'ArrowDown') {
|
|
13599
13654
|
var _listRef$value;
|
|
13600
|
-
e.preventDefault();
|
|
13601
13655
|
(_listRef$value = listRef.value) == null ? void 0 : _listRef$value.focus('next');
|
|
13602
13656
|
} else if (e.key === 'ArrowUp') {
|
|
13603
13657
|
var _listRef$value2;
|
|
13604
|
-
e.preventDefault();
|
|
13605
13658
|
(_listRef$value2 = listRef.value) == null ? void 0 : _listRef$value2.focus('prev');
|
|
13606
13659
|
}
|
|
13607
13660
|
if (!props.multiple) return;
|
|
@@ -13896,6 +13949,10 @@
|
|
|
13896
13949
|
});
|
|
13897
13950
|
}
|
|
13898
13951
|
});
|
|
13952
|
+
const activatorProps = vue.computed(() => vue.mergeProps({
|
|
13953
|
+
'aria-haspopup': 'dialog',
|
|
13954
|
+
'aria-expanded': String(isActive.value)
|
|
13955
|
+
}, props.activatorProps));
|
|
13899
13956
|
useRender(() => {
|
|
13900
13957
|
const [overlayProps] = filterVOverlayProps(props);
|
|
13901
13958
|
return vue.createVNode(VOverlay, vue.mergeProps({
|
|
@@ -13909,10 +13966,7 @@
|
|
|
13909
13966
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
13910
13967
|
"aria-role": "dialog",
|
|
13911
13968
|
"aria-modal": "true",
|
|
13912
|
-
"activatorProps":
|
|
13913
|
-
'aria-haspopup': 'dialog',
|
|
13914
|
-
'aria-expanded': String(isActive.value)
|
|
13915
|
-
}, props.activatorProps)
|
|
13969
|
+
"activatorProps": activatorProps.value
|
|
13916
13970
|
}, scopeId), {
|
|
13917
13971
|
activator: slots.activator,
|
|
13918
13972
|
default: function () {
|
|
@@ -14261,12 +14315,15 @@
|
|
|
14261
14315
|
onFocus();
|
|
14262
14316
|
vue.nextTick(() => {
|
|
14263
14317
|
model.value = [];
|
|
14264
|
-
if (inputRef != null && inputRef.value) {
|
|
14265
|
-
inputRef.value.value = '';
|
|
14266
|
-
}
|
|
14267
14318
|
callEvent(props['onClick:clear'], e);
|
|
14268
14319
|
});
|
|
14269
14320
|
}
|
|
14321
|
+
vue.watch(model, newValue => {
|
|
14322
|
+
const hasModelReset = !Array.isArray(newValue) || !newValue.length;
|
|
14323
|
+
if (hasModelReset && inputRef.value) {
|
|
14324
|
+
inputRef.value.value = '';
|
|
14325
|
+
}
|
|
14326
|
+
});
|
|
14270
14327
|
useRender(() => {
|
|
14271
14328
|
const hasCounter = !!(slots.counter || props.counter);
|
|
14272
14329
|
const hasDetails = !!(hasCounter || slots.details);
|
|
@@ -15257,7 +15314,7 @@
|
|
|
15257
15314
|
window.removeEventListener('touchmove', onTouchmove);
|
|
15258
15315
|
window.removeEventListener('touchend', onTouchend);
|
|
15259
15316
|
});
|
|
15260
|
-
const isHorizontal = vue.computed(() => position.value
|
|
15317
|
+
const isHorizontal = vue.computed(() => ['left', 'right'].includes(position.value));
|
|
15261
15318
|
const {
|
|
15262
15319
|
addMovement,
|
|
15263
15320
|
endTouch,
|
|
@@ -15269,11 +15326,11 @@
|
|
|
15269
15326
|
const offset = vue.ref(0);
|
|
15270
15327
|
let start;
|
|
15271
15328
|
function getOffset(pos, active) {
|
|
15272
|
-
return (position.value === 'left' ? pos : position.value === 'right' ? document.documentElement.clientWidth - pos : position.value === 'bottom' ? document.documentElement.clientHeight - pos : oops()) - (active ? width.value : 0);
|
|
15329
|
+
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);
|
|
15273
15330
|
}
|
|
15274
15331
|
function getProgress(pos) {
|
|
15275
15332
|
let limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
15276
|
-
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();
|
|
15333
|
+
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();
|
|
15277
15334
|
return limit ? Math.max(0, Math.min(1, progress)) : progress;
|
|
15278
15335
|
}
|
|
15279
15336
|
function onTouchstart(e) {
|
|
@@ -15281,8 +15338,8 @@
|
|
|
15281
15338
|
const touchX = e.changedTouches[0].clientX;
|
|
15282
15339
|
const touchY = e.changedTouches[0].clientY;
|
|
15283
15340
|
const touchZone = 25;
|
|
15284
|
-
const inTouchZone = position.value === 'left' ? touchX < touchZone : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone : oops();
|
|
15285
|
-
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());
|
|
15341
|
+
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();
|
|
15342
|
+
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());
|
|
15286
15343
|
if (inTouchZone || inElement || isActive.value && isTemporary.value) {
|
|
15287
15344
|
maybeDragging = true;
|
|
15288
15345
|
start = [touchX, touchY];
|
|
@@ -15334,6 +15391,7 @@
|
|
|
15334
15391
|
isActive.value = velocity.direction === ({
|
|
15335
15392
|
left: 'right',
|
|
15336
15393
|
right: 'left',
|
|
15394
|
+
top: 'down',
|
|
15337
15395
|
bottom: 'up'
|
|
15338
15396
|
}[position.value] || oops());
|
|
15339
15397
|
} else {
|
|
@@ -15342,7 +15400,7 @@
|
|
|
15342
15400
|
}
|
|
15343
15401
|
const dragStyles = vue.computed(() => {
|
|
15344
15402
|
return isDragging.value ? {
|
|
15345
|
-
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(),
|
|
15403
|
+
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(),
|
|
15346
15404
|
transition: 'none'
|
|
15347
15405
|
} : undefined;
|
|
15348
15406
|
});
|
|
@@ -15358,7 +15416,7 @@
|
|
|
15358
15416
|
|
|
15359
15417
|
// Types
|
|
15360
15418
|
|
|
15361
|
-
const locations = ['start', 'end', 'left', 'right', 'bottom'];
|
|
15419
|
+
const locations = ['start', 'end', 'left', 'right', 'top', 'bottom'];
|
|
15362
15420
|
const VNavigationDrawer = defineComponent({
|
|
15363
15421
|
name: 'VNavigationDrawer',
|
|
15364
15422
|
props: {
|
|
@@ -15815,7 +15873,7 @@
|
|
|
15815
15873
|
disabled: !!props.disabled || props.length < 2,
|
|
15816
15874
|
color: isActive ? props.activeColor : props.color,
|
|
15817
15875
|
ariaCurrent: isActive,
|
|
15818
|
-
ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel,
|
|
15876
|
+
ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
|
|
15819
15877
|
onClick: e => setValue(e, item)
|
|
15820
15878
|
}
|
|
15821
15879
|
};
|
|
@@ -17994,6 +18052,9 @@
|
|
|
17994
18052
|
if (props.transition) return props.transition;
|
|
17995
18053
|
return isActive.value ? 'scale-transition' : 'fade-transition';
|
|
17996
18054
|
});
|
|
18055
|
+
const activatorProps = vue.computed(() => vue.mergeProps({
|
|
18056
|
+
'aria-describedby': id.value
|
|
18057
|
+
}, props.activatorProps));
|
|
17997
18058
|
useRender(() => {
|
|
17998
18059
|
const [overlayProps] = filterVOverlayProps(props);
|
|
17999
18060
|
return vue.createVNode(VOverlay, vue.mergeProps({
|
|
@@ -18010,9 +18071,7 @@
|
|
|
18010
18071
|
"persistent": true,
|
|
18011
18072
|
"role": "tooltip",
|
|
18012
18073
|
"eager": true,
|
|
18013
|
-
"activatorProps":
|
|
18014
|
-
'aria-describedby': id.value
|
|
18015
|
-
}, props.activatorProps),
|
|
18074
|
+
"activatorProps": activatorProps.value,
|
|
18016
18075
|
"_disableGlobalStack": true
|
|
18017
18076
|
}, scopeId), {
|
|
18018
18077
|
activator: slots.activator,
|
|
@@ -18961,7 +19020,7 @@
|
|
|
18961
19020
|
});
|
|
18962
19021
|
},
|
|
18963
19022
|
"item": item
|
|
18964
|
-
}, slots), isExpanded(item
|
|
19023
|
+
}, slots), isExpanded(item) && ((_slots$expandedRow = slots['expanded-row']) == null ? void 0 : _slots$expandedRow.call(slots, {
|
|
18965
19024
|
item,
|
|
18966
19025
|
columns: columns.value
|
|
18967
19026
|
}))]);
|
|
@@ -19172,7 +19231,8 @@
|
|
|
19172
19231
|
sortBy,
|
|
19173
19232
|
startIndex,
|
|
19174
19233
|
stopIndex,
|
|
19175
|
-
pageCount
|
|
19234
|
+
pageCount,
|
|
19235
|
+
groupBy
|
|
19176
19236
|
} = _ref;
|
|
19177
19237
|
const vm = getCurrentInstance('VDataTable');
|
|
19178
19238
|
const options = vue.computed(() => ({
|
|
@@ -19181,7 +19241,8 @@
|
|
|
19181
19241
|
startIndex: startIndex.value,
|
|
19182
19242
|
stopIndex: stopIndex.value,
|
|
19183
19243
|
pageCount: pageCount.value,
|
|
19184
|
-
sortBy: sortBy.value
|
|
19244
|
+
sortBy: sortBy.value,
|
|
19245
|
+
groupBy: groupBy.value
|
|
19185
19246
|
}));
|
|
19186
19247
|
|
|
19187
19248
|
// Reset page when sorting changes
|
|
@@ -19298,7 +19359,8 @@
|
|
|
19298
19359
|
sortBy,
|
|
19299
19360
|
pageCount,
|
|
19300
19361
|
startIndex,
|
|
19301
|
-
stopIndex
|
|
19362
|
+
stopIndex,
|
|
19363
|
+
groupBy
|
|
19302
19364
|
});
|
|
19303
19365
|
provideDefaults({
|
|
19304
19366
|
VDataTableRows: {
|
|
@@ -19495,7 +19557,8 @@
|
|
|
19495
19557
|
startIndex: vue.ref(0),
|
|
19496
19558
|
stopIndex: vue.computed(() => flatItems.value.length - 1),
|
|
19497
19559
|
pageCount: vue.ref(1),
|
|
19498
|
-
itemsPerPage: vue.ref(-1)
|
|
19560
|
+
itemsPerPage: vue.ref(-1),
|
|
19561
|
+
groupBy
|
|
19499
19562
|
});
|
|
19500
19563
|
provideDefaults({
|
|
19501
19564
|
VDataTableRows: {
|
|
@@ -19571,7 +19634,8 @@
|
|
|
19571
19634
|
...makeDataTableItemProps(),
|
|
19572
19635
|
...makeDataTableSelectProps(),
|
|
19573
19636
|
...makeDataTableSortProps(),
|
|
19574
|
-
...makeDataTablePaginateProps()
|
|
19637
|
+
...makeDataTablePaginateProps(),
|
|
19638
|
+
...makeDataTableGroupProps()
|
|
19575
19639
|
},
|
|
19576
19640
|
emits: {
|
|
19577
19641
|
'update:modelValue': value => true,
|
|
@@ -19580,6 +19644,7 @@
|
|
|
19580
19644
|
'update:sortBy': sortBy => true,
|
|
19581
19645
|
'update:options': options => true,
|
|
19582
19646
|
'update:expanded': options => true,
|
|
19647
|
+
'update:groupBy': value => true,
|
|
19583
19648
|
'click:row': (event, value) => true
|
|
19584
19649
|
},
|
|
19585
19650
|
setup(props, _ref) {
|
|
@@ -19587,10 +19652,12 @@
|
|
|
19587
19652
|
emit,
|
|
19588
19653
|
slots
|
|
19589
19654
|
} = _ref;
|
|
19655
|
+
const groupBy = useProxiedModel(props, 'groupBy');
|
|
19590
19656
|
createExpanded(props);
|
|
19591
19657
|
const {
|
|
19592
19658
|
columns
|
|
19593
19659
|
} = createHeaders(props, {
|
|
19660
|
+
groupBy,
|
|
19594
19661
|
showSelect: vue.toRef(props, 'showSelect'),
|
|
19595
19662
|
showExpand: vue.toRef(props, 'showExpand')
|
|
19596
19663
|
});
|
|
@@ -19601,6 +19668,9 @@
|
|
|
19601
19668
|
sortBy,
|
|
19602
19669
|
toggleSort
|
|
19603
19670
|
} = createSort(props);
|
|
19671
|
+
const {
|
|
19672
|
+
opened
|
|
19673
|
+
} = createGroupBy(props, groupBy, sortBy);
|
|
19604
19674
|
const {
|
|
19605
19675
|
page,
|
|
19606
19676
|
itemsPerPage,
|
|
@@ -19608,6 +19678,9 @@
|
|
|
19608
19678
|
stopIndex,
|
|
19609
19679
|
pageCount
|
|
19610
19680
|
} = createPagination(props, items);
|
|
19681
|
+
const {
|
|
19682
|
+
flatItems
|
|
19683
|
+
} = useGroupedItems(items, groupBy, opened);
|
|
19611
19684
|
createSelection(props, items);
|
|
19612
19685
|
useOptions({
|
|
19613
19686
|
page,
|
|
@@ -19615,7 +19688,8 @@
|
|
|
19615
19688
|
sortBy,
|
|
19616
19689
|
startIndex,
|
|
19617
19690
|
stopIndex,
|
|
19618
|
-
pageCount
|
|
19691
|
+
pageCount,
|
|
19692
|
+
groupBy
|
|
19619
19693
|
});
|
|
19620
19694
|
vue.provide('v-data-table', {
|
|
19621
19695
|
toggleSort,
|
|
@@ -19651,7 +19725,7 @@
|
|
|
19651
19725
|
"class": "v-data-table__tbody",
|
|
19652
19726
|
"role": "rowgroup"
|
|
19653
19727
|
}, [slots.body ? slots.body() : vue.createVNode(VDataTableRows, {
|
|
19654
|
-
"items":
|
|
19728
|
+
"items": flatItems.value,
|
|
19655
19729
|
"onClick:row": (event, value) => emit('click:row', event, value)
|
|
19656
19730
|
}, slots)]), (_slots$tbody = slots.tbody) == null ? void 0 : _slots$tbody.call(slots), (_slots$tfoot = slots.tfoot) == null ? void 0 : _slots$tfoot.call(slots)]);
|
|
19657
19731
|
}),
|
|
@@ -20157,7 +20231,7 @@
|
|
|
20157
20231
|
locale
|
|
20158
20232
|
};
|
|
20159
20233
|
}
|
|
20160
|
-
const version$1 = "3.1.
|
|
20234
|
+
const version$1 = "3.1.3";
|
|
20161
20235
|
createVuetify$1.version = version$1;
|
|
20162
20236
|
|
|
20163
20237
|
// Vue's inject() can only be used in setup
|
|
@@ -20170,7 +20244,7 @@
|
|
|
20170
20244
|
}
|
|
20171
20245
|
}
|
|
20172
20246
|
|
|
20173
|
-
const version = "3.1.
|
|
20247
|
+
const version = "3.1.3";
|
|
20174
20248
|
|
|
20175
20249
|
const createVuetify = function () {
|
|
20176
20250
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|