@vuetify/nightly 3.1.2 → 3.1.3-dev-20230125.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -20
- package/dist/json/importMap.json +56 -56
- package/dist/vuetify-labs.css +630 -630
- package/dist/vuetify-labs.d.ts +191 -168
- package/dist/vuetify-labs.esm.js +183 -131
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +182 -130
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +954 -954
- package/dist/vuetify.d.ts +207 -184
- package/dist/vuetify.esm.js +183 -131
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +182 -130
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +725 -717
- 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/index.d.ts +43 -20
- 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/VField/VField.mjs +29 -26
- package/lib/components/VField/VField.mjs.map +1 -1
- 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/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/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 +192 -168
- package/lib/composables/defaults.mjs +1 -1
- package/lib/composables/defaults.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/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.ts +18 -18
- 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 +1 -1
package/dist/vuetify.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.1.
|
|
2
|
+
* Vuetify v3.1.3-dev-20230125.0
|
|
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));
|
|
@@ -5359,32 +5373,35 @@
|
|
|
5359
5373
|
if (hasLabel.value) {
|
|
5360
5374
|
const el = labelRef.value.$el;
|
|
5361
5375
|
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
|
-
|
|
5376
|
+
requestAnimationFrame(() => {
|
|
5377
|
+
const rect = nullifyTransforms(el);
|
|
5378
|
+
const targetRect = targetEl.getBoundingClientRect();
|
|
5379
|
+
const x = targetRect.x - rect.x;
|
|
5380
|
+
const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2);
|
|
5381
|
+
const targetWidth = targetRect.width / 0.75;
|
|
5382
|
+
const width = Math.abs(targetWidth - rect.width) > 1 ? {
|
|
5383
|
+
maxWidth: convertToUnit(targetWidth)
|
|
5384
|
+
} : undefined;
|
|
5385
|
+
const style = getComputedStyle(el);
|
|
5386
|
+
const targetStyle = getComputedStyle(targetEl);
|
|
5387
|
+
const duration = parseFloat(style.transitionDuration) * 1000 || 150;
|
|
5388
|
+
const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'));
|
|
5389
|
+
const color = targetStyle.getPropertyValue('color');
|
|
5390
|
+
el.style.visibility = 'visible';
|
|
5391
|
+
targetEl.style.visibility = 'hidden';
|
|
5392
|
+
animate(el, {
|
|
5393
|
+
transform: `translate(${x}px, ${y}px) scale(${scale})`,
|
|
5394
|
+
color,
|
|
5395
|
+
...width
|
|
5396
|
+
}, {
|
|
5397
|
+
duration,
|
|
5398
|
+
easing: standardEasing,
|
|
5399
|
+
direction: val ? 'normal' : 'reverse',
|
|
5400
|
+
fill: 'both'
|
|
5401
|
+
}).finished.then(() => {
|
|
5402
|
+
el.style.removeProperty('visibility');
|
|
5403
|
+
targetEl.style.removeProperty('visibility');
|
|
5404
|
+
});
|
|
5388
5405
|
});
|
|
5389
5406
|
}
|
|
5390
5407
|
}, {
|
|
@@ -7706,7 +7723,7 @@
|
|
|
7706
7723
|
}
|
|
7707
7724
|
}
|
|
7708
7725
|
useRender(() => {
|
|
7709
|
-
var _slots$
|
|
7726
|
+
var _slots$title, _slots$subtitle, _slots$default;
|
|
7710
7727
|
const Tag = isLink.value ? 'a' : props.tag;
|
|
7711
7728
|
const hasColor = !list || isSelected.value || isActive.value;
|
|
7712
7729
|
const hasTitle = slots.title || props.title;
|
|
@@ -7729,7 +7746,18 @@
|
|
|
7729
7746
|
"onClick": onClick,
|
|
7730
7747
|
"onKeydown": isClickable.value && !isLink.value && onKeyDown
|
|
7731
7748
|
}, {
|
|
7732
|
-
default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && vue.createVNode(
|
|
7749
|
+
default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && vue.createVNode("div", {
|
|
7750
|
+
"key": "prepend",
|
|
7751
|
+
"class": "v-list-item__prepend"
|
|
7752
|
+
}, [props.prependAvatar && vue.createVNode(VAvatar, {
|
|
7753
|
+
"key": "prepend-avatar",
|
|
7754
|
+
"density": props.density,
|
|
7755
|
+
"image": props.prependAvatar
|
|
7756
|
+
}, null), props.prependIcon && vue.createVNode(VIcon, {
|
|
7757
|
+
"key": "prepend-icon",
|
|
7758
|
+
"density": props.density,
|
|
7759
|
+
"icon": props.prependIcon
|
|
7760
|
+
}, null), slots.prepend && vue.createVNode(VDefaultsProvider, {
|
|
7733
7761
|
"key": "prepend",
|
|
7734
7762
|
"defaults": {
|
|
7735
7763
|
VAvatar: {
|
|
@@ -7745,14 +7773,8 @@
|
|
|
7745
7773
|
}
|
|
7746
7774
|
}
|
|
7747
7775
|
}, {
|
|
7748
|
-
default: () => [
|
|
7749
|
-
|
|
7750
|
-
}, [props.prependAvatar && vue.createVNode(VAvatar, {
|
|
7751
|
-
"key": "prepend-avatar"
|
|
7752
|
-
}, null), props.prependIcon && vue.createVNode(VIcon, {
|
|
7753
|
-
"key": "prepend-icon"
|
|
7754
|
-
}, null), (_slots$prepend = slots.prepend) == null ? void 0 : _slots$prepend.call(slots, slotProps.value)])]
|
|
7755
|
-
}), vue.createVNode("div", {
|
|
7776
|
+
default: () => [slots.prepend(slotProps.value)]
|
|
7777
|
+
})]), vue.createVNode("div", {
|
|
7756
7778
|
"class": "v-list-item__content",
|
|
7757
7779
|
"data-no-activator": ""
|
|
7758
7780
|
}, [hasTitle && vue.createVNode(VListItemTitle, {
|
|
@@ -7767,7 +7789,10 @@
|
|
|
7767
7789
|
default: () => [((_slots$subtitle = slots.subtitle) == null ? void 0 : _slots$subtitle.call(slots, {
|
|
7768
7790
|
subtitle: props.subtitle
|
|
7769
7791
|
})) ?? props.subtitle]
|
|
7770
|
-
}), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, slotProps.value)]), hasAppend && vue.createVNode(
|
|
7792
|
+
}), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, slotProps.value)]), hasAppend && vue.createVNode("div", {
|
|
7793
|
+
"key": "append",
|
|
7794
|
+
"class": "v-list-item__append"
|
|
7795
|
+
}, [slots.append && vue.createVNode(VDefaultsProvider, {
|
|
7771
7796
|
"key": "append",
|
|
7772
7797
|
"defaults": {
|
|
7773
7798
|
VAvatar: {
|
|
@@ -7783,14 +7808,16 @@
|
|
|
7783
7808
|
}
|
|
7784
7809
|
}
|
|
7785
7810
|
}, {
|
|
7786
|
-
default: () => [
|
|
7787
|
-
|
|
7788
|
-
|
|
7789
|
-
|
|
7790
|
-
|
|
7791
|
-
|
|
7792
|
-
|
|
7793
|
-
|
|
7811
|
+
default: () => [slots.append(slotProps.value)]
|
|
7812
|
+
}), props.appendIcon && vue.createVNode(VIcon, {
|
|
7813
|
+
"key": "append-icon",
|
|
7814
|
+
"density": props.density,
|
|
7815
|
+
"icon": props.appendIcon
|
|
7816
|
+
}, null), props.appendAvatar && vue.createVNode(VAvatar, {
|
|
7817
|
+
"key": "append-avatar",
|
|
7818
|
+
"density": props.density,
|
|
7819
|
+
"image": props.appendAvatar
|
|
7820
|
+
}, null)])]
|
|
7794
7821
|
}), [[vue.resolveDirective("ripple"), isClickable.value && props.ripple]]);
|
|
7795
7822
|
});
|
|
7796
7823
|
return {};
|
|
@@ -8004,9 +8031,12 @@
|
|
|
8004
8031
|
|
|
8005
8032
|
// Types
|
|
8006
8033
|
|
|
8034
|
+
function isPrimitive(value) {
|
|
8035
|
+
return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';
|
|
8036
|
+
}
|
|
8007
8037
|
function transformItem(props, item) {
|
|
8008
8038
|
const type = getPropertyFromItem(item, props.itemType, 'item');
|
|
8009
|
-
const title =
|
|
8039
|
+
const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);
|
|
8010
8040
|
const value = getPropertyFromItem(item, props.itemValue, undefined);
|
|
8011
8041
|
const children = getPropertyFromItem(item, props.itemChildren);
|
|
8012
8042
|
const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps);
|
|
@@ -8632,17 +8662,12 @@
|
|
|
8632
8662
|
function useLocationStrategies(props, data) {
|
|
8633
8663
|
const contentStyles = vue.ref({});
|
|
8634
8664
|
const updateLocation = vue.ref();
|
|
8635
|
-
|
|
8636
|
-
|
|
8637
|
-
|
|
8638
|
-
|
|
8639
|
-
|
|
8640
|
-
|
|
8641
|
-
scope = vue.effectScope();
|
|
8642
|
-
if (!(props.locationStrategy === 'connected')) {
|
|
8643
|
-
await vue.nextTick();
|
|
8644
|
-
}
|
|
8645
|
-
scope.run(() => {
|
|
8665
|
+
if (IN_BROWSER) {
|
|
8666
|
+
useToggleScope(() => !!(data.isActive.value && props.locationStrategy), reset => {
|
|
8667
|
+
vue.watch(() => props.locationStrategy, reset);
|
|
8668
|
+
vue.onScopeDispose(() => {
|
|
8669
|
+
updateLocation.value = undefined;
|
|
8670
|
+
});
|
|
8646
8671
|
if (typeof props.locationStrategy === 'function') {
|
|
8647
8672
|
var _props$locationStrate;
|
|
8648
8673
|
updateLocation.value = (_props$locationStrate = props.locationStrategy(data, props, contentStyles)) == null ? void 0 : _props$locationStrate.updateLocation;
|
|
@@ -8651,16 +8676,14 @@
|
|
|
8651
8676
|
updateLocation.value = (_locationStrategies$p = locationStrategies[props.locationStrategy](data, props, contentStyles)) == null ? void 0 : _locationStrategies$p.updateLocation;
|
|
8652
8677
|
}
|
|
8653
8678
|
});
|
|
8654
|
-
|
|
8655
|
-
|
|
8656
|
-
|
|
8657
|
-
|
|
8658
|
-
|
|
8659
|
-
|
|
8660
|
-
|
|
8661
|
-
|
|
8662
|
-
(_scope2 = scope) == null ? void 0 : _scope2.stop();
|
|
8663
|
-
});
|
|
8679
|
+
window.addEventListener('resize', onResize, {
|
|
8680
|
+
passive: true
|
|
8681
|
+
});
|
|
8682
|
+
vue.onScopeDispose(() => {
|
|
8683
|
+
window.removeEventListener('resize', onResize);
|
|
8684
|
+
updateLocation.value = undefined;
|
|
8685
|
+
});
|
|
8686
|
+
}
|
|
8664
8687
|
function onResize(e) {
|
|
8665
8688
|
var _updateLocation$value;
|
|
8666
8689
|
(_updateLocation$value = updateLocation.value) == null ? void 0 : _updateLocation$value.call(updateLocation, e);
|
|
@@ -8954,13 +8977,30 @@
|
|
|
8954
8977
|
maxWidth: convertToUnit(pixelCeil(clamp(available.x, minWidth.value === Infinity ? 0 : minWidth.value, maxWidth.value))),
|
|
8955
8978
|
maxHeight: convertToUnit(pixelCeil(clamp(available.y, minHeight.value === Infinity ? 0 : minHeight.value, maxHeight.value)))
|
|
8956
8979
|
});
|
|
8980
|
+
return {
|
|
8981
|
+
available,
|
|
8982
|
+
contentBox
|
|
8983
|
+
};
|
|
8957
8984
|
}
|
|
8958
|
-
vue.watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation()
|
|
8959
|
-
|
|
8960
|
-
|
|
8961
|
-
|
|
8962
|
-
|
|
8963
|
-
|
|
8985
|
+
vue.watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation());
|
|
8986
|
+
vue.nextTick(() => {
|
|
8987
|
+
const result = updateLocation();
|
|
8988
|
+
|
|
8989
|
+
// TODO: overflowing content should only require a single updateLocation call
|
|
8990
|
+
// Icky hack to make sure the content is positioned consistently
|
|
8991
|
+
if (!result) return;
|
|
8992
|
+
const {
|
|
8993
|
+
available,
|
|
8994
|
+
contentBox
|
|
8995
|
+
} = result;
|
|
8996
|
+
if (contentBox.height > available.y) {
|
|
8997
|
+
requestAnimationFrame(() => {
|
|
8998
|
+
updateLocation();
|
|
8999
|
+
requestAnimationFrame(() => {
|
|
9000
|
+
updateLocation();
|
|
9001
|
+
});
|
|
9002
|
+
});
|
|
9003
|
+
}
|
|
8964
9004
|
});
|
|
8965
9005
|
return {
|
|
8966
9006
|
updateLocation
|
|
@@ -9028,10 +9068,10 @@
|
|
|
9028
9068
|
await vue.nextTick();
|
|
9029
9069
|
scope.run(() => {
|
|
9030
9070
|
if (typeof props.scrollStrategy === 'function') {
|
|
9031
|
-
props.scrollStrategy(data, props);
|
|
9071
|
+
props.scrollStrategy(data, props, scope);
|
|
9032
9072
|
} else {
|
|
9033
9073
|
var _scrollStrategies$pro;
|
|
9034
|
-
(_scrollStrategies$pro = scrollStrategies[props.scrollStrategy]) == null ? void 0 : _scrollStrategies$pro.call(scrollStrategies, data, props);
|
|
9074
|
+
(_scrollStrategies$pro = scrollStrategies[props.scrollStrategy]) == null ? void 0 : _scrollStrategies$pro.call(scrollStrategies, data, props, scope);
|
|
9035
9075
|
}
|
|
9036
9076
|
});
|
|
9037
9077
|
});
|
|
@@ -9077,9 +9117,10 @@
|
|
|
9077
9117
|
}
|
|
9078
9118
|
});
|
|
9079
9119
|
}
|
|
9080
|
-
function repositionScrollStrategy(data) {
|
|
9120
|
+
function repositionScrollStrategy(data, props, scope) {
|
|
9081
9121
|
let slow = false;
|
|
9082
9122
|
let raf = -1;
|
|
9123
|
+
let ric = -1;
|
|
9083
9124
|
function update(e) {
|
|
9084
9125
|
requestNewFrame(() => {
|
|
9085
9126
|
var _data$updateLocation$, _data$updateLocation;
|
|
@@ -9089,21 +9130,29 @@
|
|
|
9089
9130
|
slow = time / (1000 / 60) > 2;
|
|
9090
9131
|
});
|
|
9091
9132
|
}
|
|
9092
|
-
|
|
9093
|
-
|
|
9094
|
-
|
|
9095
|
-
|
|
9096
|
-
|
|
9097
|
-
|
|
9098
|
-
|
|
9099
|
-
|
|
9100
|
-
|
|
9133
|
+
ric = requestIdleCallback(() => {
|
|
9134
|
+
scope.run(() => {
|
|
9135
|
+
bindScroll(data.activatorEl.value ?? data.contentEl.value, e => {
|
|
9136
|
+
if (slow) {
|
|
9137
|
+
// If the position calculation is slow,
|
|
9138
|
+
// defer updates until scrolling is finished.
|
|
9139
|
+
// Browsers usually fire one scroll event per frame so
|
|
9140
|
+
// we just wait until we've got two frames without an event
|
|
9141
|
+
cancelAnimationFrame(raf);
|
|
9142
|
+
raf = requestAnimationFrame(() => {
|
|
9143
|
+
raf = requestAnimationFrame(() => {
|
|
9144
|
+
update(e);
|
|
9145
|
+
});
|
|
9146
|
+
});
|
|
9147
|
+
} else {
|
|
9101
9148
|
update(e);
|
|
9102
|
-
}
|
|
9149
|
+
}
|
|
9103
9150
|
});
|
|
9104
|
-
}
|
|
9105
|
-
|
|
9106
|
-
|
|
9151
|
+
});
|
|
9152
|
+
});
|
|
9153
|
+
vue.onScopeDispose(() => {
|
|
9154
|
+
cancelIdleCallback(ric);
|
|
9155
|
+
cancelAnimationFrame(raf);
|
|
9107
9156
|
});
|
|
9108
9157
|
}
|
|
9109
9158
|
|
|
@@ -9746,6 +9795,11 @@
|
|
|
9746
9795
|
function onClickOutside() {
|
|
9747
9796
|
parent == null ? void 0 : parent.closeParents();
|
|
9748
9797
|
}
|
|
9798
|
+
const activatorProps = vue.computed(() => vue.mergeProps({
|
|
9799
|
+
'aria-haspopup': 'menu',
|
|
9800
|
+
'aria-expanded': String(isActive.value),
|
|
9801
|
+
'aria-owns': id.value
|
|
9802
|
+
}, props.activatorProps));
|
|
9749
9803
|
useRender(() => {
|
|
9750
9804
|
const [overlayProps] = filterVOverlayProps(props);
|
|
9751
9805
|
return vue.createVNode(VOverlay, vue.mergeProps({
|
|
@@ -9755,11 +9809,7 @@
|
|
|
9755
9809
|
"modelValue": isActive.value,
|
|
9756
9810
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
9757
9811
|
"absolute": true,
|
|
9758
|
-
"activatorProps":
|
|
9759
|
-
'aria-haspopup': 'menu',
|
|
9760
|
-
'aria-expanded': String(isActive.value),
|
|
9761
|
-
'aria-owns': id.value
|
|
9762
|
-
}, props.activatorProps),
|
|
9812
|
+
"activatorProps": activatorProps.value,
|
|
9763
9813
|
"onClick:outside": onClickOutside
|
|
9764
9814
|
}, scopeId), {
|
|
9765
9815
|
activator: slots.activator,
|
|
@@ -13892,6 +13942,10 @@
|
|
|
13892
13942
|
});
|
|
13893
13943
|
}
|
|
13894
13944
|
});
|
|
13945
|
+
const activatorProps = vue.computed(() => vue.mergeProps({
|
|
13946
|
+
'aria-haspopup': 'dialog',
|
|
13947
|
+
'aria-expanded': String(isActive.value)
|
|
13948
|
+
}, props.activatorProps));
|
|
13895
13949
|
useRender(() => {
|
|
13896
13950
|
const [overlayProps] = filterVOverlayProps(props);
|
|
13897
13951
|
return vue.createVNode(VOverlay, vue.mergeProps({
|
|
@@ -13905,10 +13959,7 @@
|
|
|
13905
13959
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
13906
13960
|
"aria-role": "dialog",
|
|
13907
13961
|
"aria-modal": "true",
|
|
13908
|
-
"activatorProps":
|
|
13909
|
-
'aria-haspopup': 'dialog',
|
|
13910
|
-
'aria-expanded': String(isActive.value)
|
|
13911
|
-
}, props.activatorProps)
|
|
13962
|
+
"activatorProps": activatorProps.value
|
|
13912
13963
|
}, scopeId), {
|
|
13913
13964
|
activator: slots.activator,
|
|
13914
13965
|
default: function () {
|
|
@@ -17990,6 +18041,9 @@
|
|
|
17990
18041
|
if (props.transition) return props.transition;
|
|
17991
18042
|
return isActive.value ? 'scale-transition' : 'fade-transition';
|
|
17992
18043
|
});
|
|
18044
|
+
const activatorProps = vue.computed(() => vue.mergeProps({
|
|
18045
|
+
'aria-describedby': id.value
|
|
18046
|
+
}, props.activatorProps));
|
|
17993
18047
|
useRender(() => {
|
|
17994
18048
|
const [overlayProps] = filterVOverlayProps(props);
|
|
17995
18049
|
return vue.createVNode(VOverlay, vue.mergeProps({
|
|
@@ -18006,9 +18060,7 @@
|
|
|
18006
18060
|
"persistent": true,
|
|
18007
18061
|
"role": "tooltip",
|
|
18008
18062
|
"eager": true,
|
|
18009
|
-
"activatorProps":
|
|
18010
|
-
'aria-describedby': id.value
|
|
18011
|
-
}, props.activatorProps),
|
|
18063
|
+
"activatorProps": activatorProps.value,
|
|
18012
18064
|
"_disableGlobalStack": true
|
|
18013
18065
|
}, scopeId), {
|
|
18014
18066
|
activator: slots.activator,
|
|
@@ -18394,7 +18446,7 @@
|
|
|
18394
18446
|
locale
|
|
18395
18447
|
};
|
|
18396
18448
|
}
|
|
18397
|
-
const version$1 = "3.1.
|
|
18449
|
+
const version$1 = "3.1.3-dev-20230125.0";
|
|
18398
18450
|
createVuetify$1.version = version$1;
|
|
18399
18451
|
|
|
18400
18452
|
// Vue's inject() can only be used in setup
|
|
@@ -18415,7 +18467,7 @@
|
|
|
18415
18467
|
...options
|
|
18416
18468
|
});
|
|
18417
18469
|
};
|
|
18418
|
-
const version = "3.1.
|
|
18470
|
+
const version = "3.1.3-dev-20230125.0";
|
|
18419
18471
|
createVuetify.version = version;
|
|
18420
18472
|
|
|
18421
18473
|
exports.components = components;
|