@vuetify/nightly 3.2.0-next-20230118.0 → 4.0.0-master-20230206.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 +204 -16
- package/dist/json/attributes.json +7202 -0
- package/dist/json/importMap-labs.json +4 -0
- package/dist/json/importMap.json +50 -50
- package/dist/json/tags.json +2492 -0
- package/dist/json/web-types.json +24081 -0
- package/dist/vuetify-labs.css +183 -176
- package/dist/vuetify-labs.d.ts +387 -176
- package/dist/vuetify-labs.esm.js +284 -216
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +283 -215
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +51 -44
- package/dist/vuetify.d.ts +329 -190
- package/dist/vuetify.esm.js +251 -186
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +250 -185
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +696 -685
- 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/VBottomSheet/VBottomSheet.mjs +1 -4
- package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.css +7 -7
- package/lib/components/VBtn/VBtn.mjs +8 -3
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.mjs +15 -11
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnGroup/index.d.ts +2 -1
- package/lib/components/VBtnToggle/VBtnToggle.mjs +9 -5
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/index.d.ts +122 -1
- package/lib/components/VCalendar/VCalendar.mjs +3 -0
- package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarCategory.sass +9 -3
- package/lib/components/VCalendar/VCalendarDaily.mjs +20 -8
- package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarWeekly.mjs +25 -5
- package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.mjs +20 -16
- package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/mouse.mjs +16 -30
- package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
- package/lib/components/VCard/VCard.css +7 -7
- package/lib/components/VChip/VChip.css +7 -7
- 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/VData/VData.mjs +2 -4
- package/lib/components/VData/VData.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.mjs +7 -5
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- 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/VExpansionPanel/VExpansionPanel.css +7 -7
- package/lib/components/VField/VField.css +2 -2
- package/lib/components/VField/VField.mjs +28 -26
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +2 -2
- 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.css +7 -7
- 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/VOtpInput/VOtpInput.mjs +22 -46
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.mjs +3 -0
- package/lib/components/VOverflowBtn/VOverflowBtn.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/VSelectionControl/VSelectionControl.css +2 -2
- package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +1 -1
- package/lib/components/VSnackbar/index.d.ts +42 -19
- package/lib/components/VStepper/VStepper.sass +6 -6
- package/lib/components/VStepper/VStepperStep.mjs +12 -2
- package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
- package/lib/components/VTable/VTable.css +4 -4
- package/lib/components/VTable/VTable.sass +2 -2
- package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
- package/lib/components/VTimeline/_mixins.sass +1 -1
- 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/VTreeview/VTreeview.mjs +1 -1
- package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/components/index.d.ts +316 -176
- package/lib/composables/defaults.mjs +1 -1
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/filter.mjs +3 -3
- package/lib/composables/filter.mjs.map +1 -1
- package/lib/composables/form.mjs +0 -1
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +2 -1
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/toggleScope.mjs +14 -7
- package/lib/composables/toggleScope.mjs.map +1 -1
- package/lib/directives/ripple/VRipple.css +3 -0
- package/lib/directives/ripple/VRipple.sass +3 -0
- package/lib/directives/ripple/_variables.scss +1 -1
- package/lib/directives/ripple/index.mjs +2 -7
- package/lib/directives/ripple/index.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 +16 -16
- package/lib/labs/VDataTable/VDataTable.mjs +6 -6
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.mjs +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.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 -12
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +6 -5
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/options.mjs +3 -7
- package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +71 -1
- package/lib/labs/VDataTable/index.mjs +1 -0
- package/lib/labs/VDataTable/index.mjs.map +1 -1
- package/lib/labs/components.d.ts +71 -1
- package/lib/locale/adapters/vue-i18n.mjs +12 -2
- package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
- package/lib/locale/ar.mjs +20 -20
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/en.mjs +2 -2
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs +3 -3
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/fi.mjs +5 -5
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/it.mjs +6 -6
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/sv.mjs +13 -13
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/styles/settings/_variables.scss +6 -6
- package/lib/styles/tools/_states.sass +3 -3
- package/lib/util/defineComponent.mjs +21 -18
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +5 -19
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +1 -1
package/dist/vuetify.esm.js
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify
|
2
|
+
* Vuetify v4.0.0-master-20230206.0
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
6
6
|
|
7
|
-
import { ref, onBeforeUnmount, watch, readonly, reactive, computed, watchEffect, toRefs, capitalize, getCurrentInstance as getCurrentInstance$1, unref, provide, inject as inject$1,
|
7
|
+
import { ref, onBeforeUnmount, watch, readonly, reactive, computed, watchEffect, toRefs, capitalize, getCurrentInstance as getCurrentInstance$1, unref, provide, inject as inject$1, onScopeDispose, effectScope, shallowRef, defineComponent as defineComponent$1, camelize, h, onDeactivated, onActivated, onMounted, createVNode, TransitionGroup, Transition, mergeProps, onBeforeMount, nextTick, withDirectives, Fragment, resolveDirective, vShow, isRef, toRef, Text, resolveDynamicComponent, cloneVNode, warn, toHandlers, Teleport, createTextVNode, onBeforeUpdate, vModelText } from 'vue';
|
8
8
|
|
9
9
|
const IN_BROWSER = typeof window !== 'undefined';
|
10
10
|
const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
|
@@ -258,8 +258,12 @@ function mergeDeep() {
|
|
258
258
|
}
|
259
259
|
function toKebabCase() {
|
260
260
|
let str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
261
|
-
|
261
|
+
if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str);
|
262
|
+
const kebab = str.replace(/[^a-z]/gi, '-').replace(/\B([A-Z])/g, '-$1').toLowerCase();
|
263
|
+
toKebabCase.cache.set(str, kebab);
|
264
|
+
return kebab;
|
262
265
|
}
|
266
|
+
toKebabCase.cache = new Map();
|
263
267
|
function findChildrenWithProvide(key, vnode) {
|
264
268
|
if (!vnode || typeof vnode !== 'object') return [];
|
265
269
|
if (Array.isArray(vnode)) {
|
@@ -886,7 +890,7 @@ function injectSelf(key) {
|
|
886
890
|
|
887
891
|
const DefaultsSymbol = Symbol.for('vuetify:defaults');
|
888
892
|
function createDefaults(options) {
|
889
|
-
return ref(options
|
893
|
+
return ref(options);
|
890
894
|
}
|
891
895
|
function useDefaults() {
|
892
896
|
const defaults = inject$1(DefaultsSymbol);
|
@@ -918,23 +922,30 @@ function provideDefaults(defaults, options) {
|
|
918
922
|
return newDefaults;
|
919
923
|
}
|
920
924
|
|
921
|
-
function useToggleScope(source,
|
925
|
+
function useToggleScope(source, fn) {
|
922
926
|
let scope;
|
927
|
+
function start() {
|
928
|
+
scope = effectScope();
|
929
|
+
scope.run(() => fn.length ? fn(() => {
|
930
|
+
var _scope;
|
931
|
+
(_scope = scope) == null ? void 0 : _scope.stop();
|
932
|
+
start();
|
933
|
+
}) : fn());
|
934
|
+
}
|
923
935
|
watch(source, active => {
|
924
936
|
if (active && !scope) {
|
925
|
-
|
926
|
-
scope.run(cb);
|
937
|
+
start();
|
927
938
|
} else if (!active) {
|
928
|
-
var
|
929
|
-
(
|
939
|
+
var _scope2;
|
940
|
+
(_scope2 = scope) == null ? void 0 : _scope2.stop();
|
930
941
|
scope = undefined;
|
931
942
|
}
|
932
943
|
}, {
|
933
944
|
immediate: true
|
934
945
|
});
|
935
946
|
onScopeDispose(() => {
|
936
|
-
var
|
937
|
-
(
|
947
|
+
var _scope3;
|
948
|
+
(_scope3 = scope) == null ? void 0 : _scope3.stop();
|
938
949
|
});
|
939
950
|
}
|
940
951
|
|
@@ -1003,33 +1014,36 @@ const defineComponent = function defineComponent(options) {
|
|
1003
1014
|
options.props = propsFactory(options.props, toKebabCase(options.name))();
|
1004
1015
|
options.props._as = String;
|
1005
1016
|
options.setup = function setup(props, ctx) {
|
1006
|
-
const vm = getCurrentInstance$1();
|
1007
1017
|
const defaults = useDefaults();
|
1008
|
-
|
1009
|
-
|
1010
|
-
|
1018
|
+
|
1019
|
+
// Skip props proxy if defaults are not provided
|
1020
|
+
if (!defaults.value) return options._setup(props, ctx);
|
1021
|
+
const vm = getCurrentInstance$1();
|
1022
|
+
const componentDefaults = computed(() => defaults.value[props._as ?? options.name]);
|
1023
|
+
const _props = new Proxy(props, {
|
1024
|
+
get(target, prop) {
|
1025
|
+
if (!propIsDefined(vm.vnode, prop)) {
|
1026
|
+
var _componentDefaults$va, _global;
|
1027
|
+
return ((_componentDefaults$va = componentDefaults.value) == null ? void 0 : _componentDefaults$va[prop]) ?? ((_global = defaults.value.global) == null ? void 0 : _global[prop]) ?? target[prop];
|
1028
|
+
}
|
1029
|
+
return Reflect.get(target, prop);
|
1030
|
+
}
|
1011
1031
|
});
|
1032
|
+
const _subcomponentDefaults = shallowRef();
|
1012
1033
|
watchEffect(() => {
|
1013
|
-
|
1014
|
-
|
1015
|
-
if (componentDefaults) {
|
1016
|
-
const subComponents = Object.entries(componentDefaults).filter(_ref => {
|
1034
|
+
if (componentDefaults.value) {
|
1035
|
+
const subComponents = Object.entries(componentDefaults.value).filter(_ref => {
|
1017
1036
|
let [key] = _ref;
|
1018
1037
|
return key.startsWith(key[0].toUpperCase());
|
1019
1038
|
});
|
1020
1039
|
if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents);
|
1021
1040
|
}
|
1022
|
-
for (const prop of Object.keys(props)) {
|
1023
|
-
let newVal = props[prop];
|
1024
|
-
if (!propIsDefined(vm.vnode, prop)) {
|
1025
|
-
newVal = (componentDefaults == null ? void 0 : componentDefaults[prop]) ?? (globalDefaults == null ? void 0 : globalDefaults[prop]) ?? props[prop];
|
1026
|
-
}
|
1027
|
-
if (_props[prop] !== newVal) {
|
1028
|
-
_props[prop] = newVal;
|
1029
|
-
}
|
1030
|
-
}
|
1031
1041
|
});
|
1032
1042
|
const setupBindings = options._setup(_props, ctx);
|
1043
|
+
|
1044
|
+
// If subcomponent defaults are provided, override any
|
1045
|
+
// subcomponents provided by the component's setup function.
|
1046
|
+
// This uses injectSelf so must be done after the original setup to work.
|
1033
1047
|
useToggleScope(_subcomponentDefaults, () => {
|
1034
1048
|
var _injectSelf;
|
1035
1049
|
provideDefaults(mergeDeep(((_injectSelf = injectSelf(DefaultsSymbol)) == null ? void 0 : _injectSelf.value) ?? {}, _subcomponentDefaults.value));
|
@@ -1888,8 +1902,8 @@ var en = {
|
|
1888
1902
|
root: 'Pagination Navigation',
|
1889
1903
|
next: 'Next page',
|
1890
1904
|
previous: 'Previous page',
|
1891
|
-
page: '
|
1892
|
-
currentPage: 'Page {0}, Current
|
1905
|
+
page: 'Go to page {0}',
|
1906
|
+
currentPage: 'Page {0}, Current page',
|
1893
1907
|
first: 'First page',
|
1894
1908
|
last: 'Last page'
|
1895
1909
|
}
|
@@ -3364,18 +3378,21 @@ function useVariant(props) {
|
|
3364
3378
|
};
|
3365
3379
|
}
|
3366
3380
|
|
3381
|
+
// Types
|
3382
|
+
|
3383
|
+
const makeVBtnGroupProps = propsFactory({
|
3384
|
+
divided: Boolean,
|
3385
|
+
...makeBorderProps(),
|
3386
|
+
...makeDensityProps(),
|
3387
|
+
...makeElevationProps(),
|
3388
|
+
...makeRoundedProps(),
|
3389
|
+
...makeTagProps(),
|
3390
|
+
...makeThemeProps(),
|
3391
|
+
...makeVariantProps()
|
3392
|
+
}, 'v-btn-group');
|
3367
3393
|
const VBtnGroup = defineComponent({
|
3368
3394
|
name: 'VBtnGroup',
|
3369
|
-
props:
|
3370
|
-
divided: Boolean,
|
3371
|
-
...makeBorderProps(),
|
3372
|
-
...makeDensityProps(),
|
3373
|
-
...makeElevationProps(),
|
3374
|
-
...makeRoundedProps(),
|
3375
|
-
...makeTagProps(),
|
3376
|
-
...makeThemeProps(),
|
3377
|
-
...makeVariantProps()
|
3378
|
-
},
|
3395
|
+
props: makeVBtnGroupProps(),
|
3379
3396
|
setup(props, _ref) {
|
3380
3397
|
let {
|
3381
3398
|
slots
|
@@ -3413,6 +3430,9 @@ const VBtnGroup = defineComponent({
|
|
3413
3430
|
});
|
3414
3431
|
}
|
3415
3432
|
});
|
3433
|
+
function filterVBtnGroupProps(props) {
|
3434
|
+
return pick(props, Object.keys(VBtnGroup.props));
|
3435
|
+
}
|
3416
3436
|
|
3417
3437
|
// Composables
|
3418
3438
|
|
@@ -3620,7 +3640,10 @@ function getValues(items, ids) {
|
|
3620
3640
|
const VBtnToggleSymbol = Symbol.for('vuetify:v-btn-toggle');
|
3621
3641
|
const VBtnToggle = genericComponent()({
|
3622
3642
|
name: 'VBtnToggle',
|
3623
|
-
props:
|
3643
|
+
props: {
|
3644
|
+
...makeVBtnGroupProps(),
|
3645
|
+
...makeGroupProps()
|
3646
|
+
},
|
3624
3647
|
emits: {
|
3625
3648
|
'update:modelValue': value => true
|
3626
3649
|
},
|
@@ -3637,9 +3660,10 @@ const VBtnToggle = genericComponent()({
|
|
3637
3660
|
} = useGroup(props, VBtnToggleSymbol);
|
3638
3661
|
useRender(() => {
|
3639
3662
|
var _slots$default;
|
3640
|
-
|
3663
|
+
const [btnGroupProps] = filterVBtnGroupProps(props);
|
3664
|
+
return createVNode(VBtnGroup, mergeProps({
|
3641
3665
|
"class": "v-btn-toggle"
|
3642
|
-
}, {
|
3666
|
+
}, btnGroupProps), {
|
3643
3667
|
default: () => [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, {
|
3644
3668
|
isSelected,
|
3645
3669
|
next,
|
@@ -4094,9 +4118,6 @@ function transform(el, value) {
|
|
4094
4118
|
el.style.transform = value;
|
4095
4119
|
el.style.webkitTransform = value;
|
4096
4120
|
}
|
4097
|
-
function opacity(el, value) {
|
4098
|
-
el.style.opacity = `calc(${value} * var(--v-theme-overlay-multiplier))`;
|
4099
|
-
}
|
4100
4121
|
function isTouchEvent(e) {
|
4101
4122
|
return e.constructor.name === 'TouchEvent';
|
4102
4123
|
}
|
@@ -4172,13 +4193,11 @@ const ripples = {
|
|
4172
4193
|
animation.classList.add('v-ripple__animation--enter');
|
4173
4194
|
animation.classList.add('v-ripple__animation--visible');
|
4174
4195
|
transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`);
|
4175
|
-
opacity(animation, 0);
|
4176
4196
|
animation.dataset.activated = String(performance.now());
|
4177
4197
|
setTimeout(() => {
|
4178
4198
|
animation.classList.remove('v-ripple__animation--enter');
|
4179
4199
|
animation.classList.add('v-ripple__animation--in');
|
4180
4200
|
transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`);
|
4181
|
-
opacity(animation, 0.08);
|
4182
4201
|
}, 0);
|
4183
4202
|
},
|
4184
4203
|
hide(el) {
|
@@ -4193,14 +4212,14 @@ const ripples = {
|
|
4193
4212
|
setTimeout(() => {
|
4194
4213
|
animation.classList.remove('v-ripple__animation--in');
|
4195
4214
|
animation.classList.add('v-ripple__animation--out');
|
4196
|
-
opacity(animation, 0);
|
4197
4215
|
setTimeout(() => {
|
4216
|
+
var _animation$parentNode;
|
4198
4217
|
const ripples = el.getElementsByClassName('v-ripple__animation');
|
4199
4218
|
if (ripples.length === 1 && el.dataset.previousPosition) {
|
4200
4219
|
el.style.position = el.dataset.previousPosition;
|
4201
4220
|
delete el.dataset.previousPosition;
|
4202
4221
|
}
|
4203
|
-
animation.parentNode
|
4222
|
+
if (((_animation$parentNode = animation.parentNode) == null ? void 0 : _animation$parentNode.parentNode) === el) el.removeChild(animation.parentNode);
|
4204
4223
|
}, 300);
|
4205
4224
|
}, delay);
|
4206
4225
|
}
|
@@ -4853,14 +4872,18 @@ const VBtn = defineComponent({
|
|
4853
4872
|
const isElevated = computed(() => {
|
4854
4873
|
return props.variant === 'elevated' && !(props.disabled || props.flat || props.border);
|
4855
4874
|
});
|
4875
|
+
const valueAttr = computed(() => {
|
4876
|
+
if (props.value === undefined) return undefined;
|
4877
|
+
return Object(props.value) === props.value ? JSON.stringify(props.value, null, 0) : props.value;
|
4878
|
+
});
|
4856
4879
|
useSelectLink(link, group == null ? void 0 : group.select);
|
4857
4880
|
useRender(() => {
|
4858
|
-
var _slots$prepend, _slots$default, _slots$append, _slots$loader;
|
4881
|
+
var _link$isActive2, _link$isActive3, _slots$prepend, _slots$default, _slots$append, _slots$loader;
|
4859
4882
|
const Tag = link.isLink.value ? 'a' : props.tag;
|
4860
|
-
const hasColor = !group || isActive.value;
|
4861
4883
|
const hasPrepend = !!(props.prependIcon || slots.prepend);
|
4862
4884
|
const hasAppend = !!(props.appendIcon || slots.append);
|
4863
4885
|
const hasIcon = !!(props.icon && props.icon !== true);
|
4886
|
+
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);
|
4864
4887
|
return withDirectives(createVNode(Tag, {
|
4865
4888
|
"type": Tag === 'a' ? undefined : 'button',
|
4866
4889
|
"class": ['v-btn', group == null ? void 0 : group.selectedClass.value, {
|
@@ -4881,7 +4904,8 @@ const VBtn = defineComponent({
|
|
4881
4904
|
if (isDisabled.value) return;
|
4882
4905
|
(_link$navigate = link.navigate) == null ? void 0 : _link$navigate.call(link, e);
|
4883
4906
|
group == null ? void 0 : group.toggle();
|
4884
|
-
}
|
4907
|
+
},
|
4908
|
+
"value": valueAttr.value
|
4885
4909
|
}, {
|
4886
4910
|
default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && createVNode(VDefaultsProvider, {
|
4887
4911
|
"key": "prepend",
|
@@ -5355,32 +5379,34 @@ const VField = genericComponent()({
|
|
5355
5379
|
if (hasLabel.value) {
|
5356
5380
|
const el = labelRef.value.$el;
|
5357
5381
|
const targetEl = floatingLabelRef.value.$el;
|
5358
|
-
|
5359
|
-
|
5360
|
-
|
5361
|
-
|
5362
|
-
|
5363
|
-
|
5364
|
-
|
5365
|
-
|
5366
|
-
|
5367
|
-
|
5368
|
-
|
5369
|
-
|
5370
|
-
|
5371
|
-
|
5372
|
-
|
5373
|
-
|
5374
|
-
|
5375
|
-
|
5376
|
-
|
5377
|
-
|
5378
|
-
|
5379
|
-
|
5380
|
-
|
5381
|
-
|
5382
|
-
|
5383
|
-
|
5382
|
+
requestAnimationFrame(() => {
|
5383
|
+
const rect = nullifyTransforms(el);
|
5384
|
+
const targetRect = targetEl.getBoundingClientRect();
|
5385
|
+
const x = targetRect.x - rect.x;
|
5386
|
+
const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2);
|
5387
|
+
const targetWidth = targetRect.width / 0.75;
|
5388
|
+
const width = Math.abs(targetWidth - rect.width) > 1 ? {
|
5389
|
+
maxWidth: convertToUnit(targetWidth)
|
5390
|
+
} : undefined;
|
5391
|
+
const style = getComputedStyle(el);
|
5392
|
+
const targetStyle = getComputedStyle(targetEl);
|
5393
|
+
const duration = parseFloat(style.transitionDuration) * 1000 || 150;
|
5394
|
+
const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'));
|
5395
|
+
const color = targetStyle.getPropertyValue('color');
|
5396
|
+
el.style.visibility = 'visible';
|
5397
|
+
targetEl.style.visibility = 'hidden';
|
5398
|
+
animate(el, {
|
5399
|
+
transform: `translate(${x}px, ${y}px) scale(${scale})`,
|
5400
|
+
color,
|
5401
|
+
...width
|
5402
|
+
}, {
|
5403
|
+
duration,
|
5404
|
+
easing: standardEasing,
|
5405
|
+
direction: val ? 'normal' : 'reverse'
|
5406
|
+
}).finished.then(() => {
|
5407
|
+
el.style.removeProperty('visibility');
|
5408
|
+
targetEl.style.removeProperty('visibility');
|
5409
|
+
});
|
5384
5410
|
});
|
5385
5411
|
}
|
5386
5412
|
}, {
|
@@ -5569,7 +5595,6 @@ const FormKey = Symbol.for('vuetify:form');
|
|
5569
5595
|
const makeFormProps = propsFactory({
|
5570
5596
|
disabled: Boolean,
|
5571
5597
|
fastFail: Boolean,
|
5572
|
-
lazyValidation: Boolean,
|
5573
5598
|
readonly: Boolean,
|
5574
5599
|
modelValue: {
|
5575
5600
|
type: Boolean,
|
@@ -6973,9 +6998,9 @@ const VDivider = defineComponent({
|
|
6973
6998
|
themeClasses
|
6974
6999
|
} = provideTheme(props);
|
6975
7000
|
const {
|
6976
|
-
|
6977
|
-
|
6978
|
-
} =
|
7001
|
+
textColorClasses,
|
7002
|
+
textColorStyles
|
7003
|
+
} = useTextColor(toRef(props, 'color'));
|
6979
7004
|
const dividerStyles = computed(() => {
|
6980
7005
|
const styles = {};
|
6981
7006
|
if (props.length) {
|
@@ -6991,8 +7016,8 @@ const VDivider = defineComponent({
|
|
6991
7016
|
'v-divider': true,
|
6992
7017
|
'v-divider--inset': props.inset,
|
6993
7018
|
'v-divider--vertical': props.vertical
|
6994
|
-
}, themeClasses.value,
|
6995
|
-
"style": [dividerStyles.value,
|
7019
|
+
}, themeClasses.value, textColorClasses.value],
|
7020
|
+
"style": [dividerStyles.value, textColorStyles.value],
|
6996
7021
|
"aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
|
6997
7022
|
"role": `${attrs.role || 'separator'}`
|
6998
7023
|
}, null));
|
@@ -7430,7 +7455,8 @@ const useNested = props => {
|
|
7430
7455
|
};
|
7431
7456
|
const useNestedItem = (id, isGroup) => {
|
7432
7457
|
const parent = inject$1(VNestedSymbol, emptyNested);
|
7433
|
-
const
|
7458
|
+
const uidSymbol = Symbol(getUid());
|
7459
|
+
const computedId = computed(() => id.value ?? uidSymbol);
|
7434
7460
|
const item = {
|
7435
7461
|
...parent,
|
7436
7462
|
id: computedId,
|
@@ -7702,7 +7728,7 @@ const VListItem = genericComponent()({
|
|
7702
7728
|
}
|
7703
7729
|
}
|
7704
7730
|
useRender(() => {
|
7705
|
-
var _slots$
|
7731
|
+
var _slots$title, _slots$subtitle, _slots$default;
|
7706
7732
|
const Tag = isLink.value ? 'a' : props.tag;
|
7707
7733
|
const hasColor = !list || isSelected.value || isActive.value;
|
7708
7734
|
const hasTitle = slots.title || props.title;
|
@@ -7725,7 +7751,18 @@ const VListItem = genericComponent()({
|
|
7725
7751
|
"onClick": onClick,
|
7726
7752
|
"onKeydown": isClickable.value && !isLink.value && onKeyDown
|
7727
7753
|
}, {
|
7728
|
-
default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && createVNode(
|
7754
|
+
default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && createVNode("div", {
|
7755
|
+
"key": "prepend",
|
7756
|
+
"class": "v-list-item__prepend"
|
7757
|
+
}, [props.prependAvatar && createVNode(VAvatar, {
|
7758
|
+
"key": "prepend-avatar",
|
7759
|
+
"density": props.density,
|
7760
|
+
"image": props.prependAvatar
|
7761
|
+
}, null), props.prependIcon && createVNode(VIcon, {
|
7762
|
+
"key": "prepend-icon",
|
7763
|
+
"density": props.density,
|
7764
|
+
"icon": props.prependIcon
|
7765
|
+
}, null), slots.prepend && createVNode(VDefaultsProvider, {
|
7729
7766
|
"key": "prepend",
|
7730
7767
|
"defaults": {
|
7731
7768
|
VAvatar: {
|
@@ -7741,14 +7778,8 @@ const VListItem = genericComponent()({
|
|
7741
7778
|
}
|
7742
7779
|
}
|
7743
7780
|
}, {
|
7744
|
-
default: () => [
|
7745
|
-
|
7746
|
-
}, [props.prependAvatar && createVNode(VAvatar, {
|
7747
|
-
"key": "prepend-avatar"
|
7748
|
-
}, null), props.prependIcon && createVNode(VIcon, {
|
7749
|
-
"key": "prepend-icon"
|
7750
|
-
}, null), (_slots$prepend = slots.prepend) == null ? void 0 : _slots$prepend.call(slots, slotProps.value)])]
|
7751
|
-
}), createVNode("div", {
|
7781
|
+
default: () => [slots.prepend(slotProps.value)]
|
7782
|
+
})]), createVNode("div", {
|
7752
7783
|
"class": "v-list-item__content",
|
7753
7784
|
"data-no-activator": ""
|
7754
7785
|
}, [hasTitle && createVNode(VListItemTitle, {
|
@@ -7763,7 +7794,10 @@ const VListItem = genericComponent()({
|
|
7763
7794
|
default: () => [((_slots$subtitle = slots.subtitle) == null ? void 0 : _slots$subtitle.call(slots, {
|
7764
7795
|
subtitle: props.subtitle
|
7765
7796
|
})) ?? props.subtitle]
|
7766
|
-
}), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, slotProps.value)]), hasAppend && createVNode(
|
7797
|
+
}), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, slotProps.value)]), hasAppend && createVNode("div", {
|
7798
|
+
"key": "append",
|
7799
|
+
"class": "v-list-item__append"
|
7800
|
+
}, [slots.append && createVNode(VDefaultsProvider, {
|
7767
7801
|
"key": "append",
|
7768
7802
|
"defaults": {
|
7769
7803
|
VAvatar: {
|
@@ -7779,14 +7813,16 @@ const VListItem = genericComponent()({
|
|
7779
7813
|
}
|
7780
7814
|
}
|
7781
7815
|
}, {
|
7782
|
-
default: () => [
|
7783
|
-
|
7784
|
-
|
7785
|
-
|
7786
|
-
|
7787
|
-
|
7788
|
-
|
7789
|
-
|
7816
|
+
default: () => [slots.append(slotProps.value)]
|
7817
|
+
}), props.appendIcon && createVNode(VIcon, {
|
7818
|
+
"key": "append-icon",
|
7819
|
+
"density": props.density,
|
7820
|
+
"icon": props.appendIcon
|
7821
|
+
}, null), props.appendAvatar && createVNode(VAvatar, {
|
7822
|
+
"key": "append-avatar",
|
7823
|
+
"density": props.density,
|
7824
|
+
"image": props.appendAvatar
|
7825
|
+
}, null)])]
|
7790
7826
|
}), [[resolveDirective("ripple"), isClickable.value && props.ripple]]);
|
7791
7827
|
});
|
7792
7828
|
return {};
|
@@ -8000,9 +8036,12 @@ function useItems(props) {
|
|
8000
8036
|
|
8001
8037
|
// Types
|
8002
8038
|
|
8039
|
+
function isPrimitive(value) {
|
8040
|
+
return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';
|
8041
|
+
}
|
8003
8042
|
function transformItem(props, item) {
|
8004
8043
|
const type = getPropertyFromItem(item, props.itemType, 'item');
|
8005
|
-
const title =
|
8044
|
+
const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);
|
8006
8045
|
const value = getPropertyFromItem(item, props.itemValue, undefined);
|
8007
8046
|
const children = getPropertyFromItem(item, props.itemChildren);
|
8008
8047
|
const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps);
|
@@ -8628,17 +8667,12 @@ const makeLocationStrategyProps = propsFactory({
|
|
8628
8667
|
function useLocationStrategies(props, data) {
|
8629
8668
|
const contentStyles = ref({});
|
8630
8669
|
const updateLocation = ref();
|
8631
|
-
|
8632
|
-
|
8633
|
-
|
8634
|
-
|
8635
|
-
|
8636
|
-
|
8637
|
-
scope = effectScope();
|
8638
|
-
if (!(props.locationStrategy === 'connected')) {
|
8639
|
-
await nextTick();
|
8640
|
-
}
|
8641
|
-
scope.run(() => {
|
8670
|
+
if (IN_BROWSER) {
|
8671
|
+
useToggleScope(() => !!(data.isActive.value && props.locationStrategy), reset => {
|
8672
|
+
watch(() => props.locationStrategy, reset);
|
8673
|
+
onScopeDispose(() => {
|
8674
|
+
updateLocation.value = undefined;
|
8675
|
+
});
|
8642
8676
|
if (typeof props.locationStrategy === 'function') {
|
8643
8677
|
var _props$locationStrate;
|
8644
8678
|
updateLocation.value = (_props$locationStrate = props.locationStrategy(data, props, contentStyles)) == null ? void 0 : _props$locationStrate.updateLocation;
|
@@ -8647,16 +8681,14 @@ function useLocationStrategies(props, data) {
|
|
8647
8681
|
updateLocation.value = (_locationStrategies$p = locationStrategies[props.locationStrategy](data, props, contentStyles)) == null ? void 0 : _locationStrategies$p.updateLocation;
|
8648
8682
|
}
|
8649
8683
|
});
|
8650
|
-
|
8651
|
-
|
8652
|
-
|
8653
|
-
|
8654
|
-
|
8655
|
-
|
8656
|
-
|
8657
|
-
|
8658
|
-
(_scope2 = scope) == null ? void 0 : _scope2.stop();
|
8659
|
-
});
|
8684
|
+
window.addEventListener('resize', onResize, {
|
8685
|
+
passive: true
|
8686
|
+
});
|
8687
|
+
onScopeDispose(() => {
|
8688
|
+
window.removeEventListener('resize', onResize);
|
8689
|
+
updateLocation.value = undefined;
|
8690
|
+
});
|
8691
|
+
}
|
8660
8692
|
function onResize(e) {
|
8661
8693
|
var _updateLocation$value;
|
8662
8694
|
(_updateLocation$value = updateLocation.value) == null ? void 0 : _updateLocation$value.call(updateLocation, e);
|
@@ -8950,13 +8982,30 @@ function connectedLocationStrategy(data, props, contentStyles) {
|
|
8950
8982
|
maxWidth: convertToUnit(pixelCeil(clamp(available.x, minWidth.value === Infinity ? 0 : minWidth.value, maxWidth.value))),
|
8951
8983
|
maxHeight: convertToUnit(pixelCeil(clamp(available.y, minHeight.value === Infinity ? 0 : minHeight.value, maxHeight.value)))
|
8952
8984
|
});
|
8985
|
+
return {
|
8986
|
+
available,
|
8987
|
+
contentBox
|
8988
|
+
};
|
8953
8989
|
}
|
8954
|
-
watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation()
|
8955
|
-
|
8956
|
-
|
8957
|
-
|
8958
|
-
|
8959
|
-
|
8990
|
+
watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation());
|
8991
|
+
nextTick(() => {
|
8992
|
+
const result = updateLocation();
|
8993
|
+
|
8994
|
+
// TODO: overflowing content should only require a single updateLocation call
|
8995
|
+
// Icky hack to make sure the content is positioned consistently
|
8996
|
+
if (!result) return;
|
8997
|
+
const {
|
8998
|
+
available,
|
8999
|
+
contentBox
|
9000
|
+
} = result;
|
9001
|
+
if (contentBox.height > available.y) {
|
9002
|
+
requestAnimationFrame(() => {
|
9003
|
+
updateLocation();
|
9004
|
+
requestAnimationFrame(() => {
|
9005
|
+
updateLocation();
|
9006
|
+
});
|
9007
|
+
});
|
9008
|
+
}
|
8960
9009
|
});
|
8961
9010
|
return {
|
8962
9011
|
updateLocation
|
@@ -9024,10 +9073,10 @@ function useScrollStrategies(props, data) {
|
|
9024
9073
|
await nextTick();
|
9025
9074
|
scope.run(() => {
|
9026
9075
|
if (typeof props.scrollStrategy === 'function') {
|
9027
|
-
props.scrollStrategy(data, props);
|
9076
|
+
props.scrollStrategy(data, props, scope);
|
9028
9077
|
} else {
|
9029
9078
|
var _scrollStrategies$pro;
|
9030
|
-
(_scrollStrategies$pro = scrollStrategies[props.scrollStrategy]) == null ? void 0 : _scrollStrategies$pro.call(scrollStrategies, data, props);
|
9079
|
+
(_scrollStrategies$pro = scrollStrategies[props.scrollStrategy]) == null ? void 0 : _scrollStrategies$pro.call(scrollStrategies, data, props, scope);
|
9031
9080
|
}
|
9032
9081
|
});
|
9033
9082
|
});
|
@@ -9073,9 +9122,10 @@ function blockScrollStrategy(data, props) {
|
|
9073
9122
|
}
|
9074
9123
|
});
|
9075
9124
|
}
|
9076
|
-
function repositionScrollStrategy(data) {
|
9125
|
+
function repositionScrollStrategy(data, props, scope) {
|
9077
9126
|
let slow = false;
|
9078
9127
|
let raf = -1;
|
9128
|
+
let ric = -1;
|
9079
9129
|
function update(e) {
|
9080
9130
|
requestNewFrame(() => {
|
9081
9131
|
var _data$updateLocation$, _data$updateLocation;
|
@@ -9085,21 +9135,29 @@ function repositionScrollStrategy(data) {
|
|
9085
9135
|
slow = time / (1000 / 60) > 2;
|
9086
9136
|
});
|
9087
9137
|
}
|
9088
|
-
|
9089
|
-
|
9090
|
-
|
9091
|
-
|
9092
|
-
|
9093
|
-
|
9094
|
-
|
9095
|
-
|
9096
|
-
|
9138
|
+
ric = requestIdleCallback(() => {
|
9139
|
+
scope.run(() => {
|
9140
|
+
bindScroll(data.activatorEl.value ?? data.contentEl.value, e => {
|
9141
|
+
if (slow) {
|
9142
|
+
// If the position calculation is slow,
|
9143
|
+
// defer updates until scrolling is finished.
|
9144
|
+
// Browsers usually fire one scroll event per frame so
|
9145
|
+
// we just wait until we've got two frames without an event
|
9146
|
+
cancelAnimationFrame(raf);
|
9147
|
+
raf = requestAnimationFrame(() => {
|
9148
|
+
raf = requestAnimationFrame(() => {
|
9149
|
+
update(e);
|
9150
|
+
});
|
9151
|
+
});
|
9152
|
+
} else {
|
9097
9153
|
update(e);
|
9098
|
-
}
|
9154
|
+
}
|
9099
9155
|
});
|
9100
|
-
}
|
9101
|
-
|
9102
|
-
|
9156
|
+
});
|
9157
|
+
});
|
9158
|
+
onScopeDispose(() => {
|
9159
|
+
cancelIdleCallback(ric);
|
9160
|
+
cancelAnimationFrame(raf);
|
9103
9161
|
});
|
9104
9162
|
}
|
9105
9163
|
|
@@ -9742,6 +9800,11 @@ const VMenu = genericComponent()({
|
|
9742
9800
|
function onClickOutside() {
|
9743
9801
|
parent == null ? void 0 : parent.closeParents();
|
9744
9802
|
}
|
9803
|
+
const activatorProps = computed(() => mergeProps({
|
9804
|
+
'aria-haspopup': 'menu',
|
9805
|
+
'aria-expanded': String(isActive.value),
|
9806
|
+
'aria-owns': id.value
|
9807
|
+
}, props.activatorProps));
|
9745
9808
|
useRender(() => {
|
9746
9809
|
const [overlayProps] = filterVOverlayProps(props);
|
9747
9810
|
return createVNode(VOverlay, mergeProps({
|
@@ -9751,11 +9814,7 @@ const VMenu = genericComponent()({
|
|
9751
9814
|
"modelValue": isActive.value,
|
9752
9815
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
9753
9816
|
"absolute": true,
|
9754
|
-
"activatorProps":
|
9755
|
-
'aria-haspopup': 'menu',
|
9756
|
-
'aria-expanded': String(isActive.value),
|
9757
|
-
'aria-owns': id.value
|
9758
|
-
}, props.activatorProps),
|
9817
|
+
"activatorProps": activatorProps.value,
|
9759
9818
|
"onClick:outside": onClickOutside
|
9760
9819
|
}, scopeId), {
|
9761
9820
|
activator: slots.activator,
|
@@ -9869,8 +9928,10 @@ const VSelect = genericComponent()({
|
|
9869
9928
|
}
|
9870
9929
|
function onKeydown(e) {
|
9871
9930
|
if (props.readonly || form != null && form.isReadonly.value) return;
|
9872
|
-
if (['Enter', 'ArrowDown', ' '].includes(e.key)) {
|
9931
|
+
if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
|
9873
9932
|
e.preventDefault();
|
9933
|
+
}
|
9934
|
+
if (['Enter', 'ArrowDown', ' '].includes(e.key)) {
|
9874
9935
|
menu.value = true;
|
9875
9936
|
}
|
9876
9937
|
if (['Escape', 'Tab'].includes(e.key)) {
|
@@ -9881,15 +9942,12 @@ const VSelect = genericComponent()({
|
|
9881
9942
|
(_listRef$value = listRef.value) == null ? void 0 : _listRef$value.focus('next');
|
9882
9943
|
} else if (e.key === 'ArrowUp') {
|
9883
9944
|
var _listRef$value2;
|
9884
|
-
e.preventDefault();
|
9885
9945
|
(_listRef$value2 = listRef.value) == null ? void 0 : _listRef$value2.focus('prev');
|
9886
9946
|
} else if (e.key === 'Home') {
|
9887
9947
|
var _listRef$value3;
|
9888
|
-
e.preventDefault();
|
9889
9948
|
(_listRef$value3 = listRef.value) == null ? void 0 : _listRef$value3.focus('first');
|
9890
9949
|
} else if (e.key === 'End') {
|
9891
9950
|
var _listRef$value4;
|
9892
|
-
e.preventDefault();
|
9893
9951
|
(_listRef$value4 = listRef.value) == null ? void 0 : _listRef$value4.focus('last');
|
9894
9952
|
}
|
9895
9953
|
}
|
@@ -10071,7 +10129,7 @@ function filterItems(items, query, options) {
|
|
10071
10129
|
const customFiltersLength = Object.keys((options == null ? void 0 : options.customKeyFilter) ?? {}).length;
|
10072
10130
|
if (!(items != null && items.length)) return array;
|
10073
10131
|
loop: for (let i = 0; i < items.length; i++) {
|
10074
|
-
const item = items[i]
|
10132
|
+
const item = items[i];
|
10075
10133
|
const customMatches = {};
|
10076
10134
|
const defaultMatches = {};
|
10077
10135
|
let match = -1;
|
@@ -10111,7 +10169,7 @@ function filterItems(items, query, options) {
|
|
10111
10169
|
}
|
10112
10170
|
return array;
|
10113
10171
|
}
|
10114
|
-
function useFilter(props, items, query) {
|
10172
|
+
function useFilter(props, items, query, options) {
|
10115
10173
|
const strQuery = computed(() => typeof (query == null ? void 0 : query.value) !== 'string' && typeof (query == null ? void 0 : query.value) !== 'number' ? '' : String(query.value));
|
10116
10174
|
const filteredItems = ref([]);
|
10117
10175
|
const filteredMatches = ref(new Map());
|
@@ -10122,7 +10180,7 @@ function useFilter(props, items, query) {
|
|
10122
10180
|
const results = filterItems(transformedItems, strQuery.value, {
|
10123
10181
|
customKeyFilter: props.customKeyFilter,
|
10124
10182
|
default: props.customFilter,
|
10125
|
-
filterKeys: props.filterKeys,
|
10183
|
+
filterKeys: unref(options == null ? void 0 : options.filterKeys) ?? props.filterKeys,
|
10126
10184
|
filterMode: props.filterMode,
|
10127
10185
|
noFilter: props.noFilter
|
10128
10186
|
});
|
@@ -10233,6 +10291,9 @@ const VAutocomplete = genericComponent()({
|
|
10233
10291
|
}
|
10234
10292
|
function onKeydown(e) {
|
10235
10293
|
if (props.readonly || form != null && form.isReadonly.value) return;
|
10294
|
+
if (['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
10295
|
+
e.preventDefault();
|
10296
|
+
}
|
10236
10297
|
if (['Enter', 'ArrowDown'].includes(e.key)) {
|
10237
10298
|
menu.value = true;
|
10238
10299
|
}
|
@@ -10244,11 +10305,9 @@ const VAutocomplete = genericComponent()({
|
|
10244
10305
|
}
|
10245
10306
|
if (e.key === 'ArrowDown') {
|
10246
10307
|
var _listRef$value;
|
10247
|
-
e.preventDefault();
|
10248
10308
|
(_listRef$value = listRef.value) == null ? void 0 : _listRef$value.focus('next');
|
10249
10309
|
} else if (e.key === 'ArrowUp') {
|
10250
10310
|
var _listRef$value2;
|
10251
|
-
e.preventDefault();
|
10252
10311
|
(_listRef$value2 = listRef.value) == null ? void 0 : _listRef$value2.focus('prev');
|
10253
10312
|
}
|
10254
10313
|
}
|
@@ -13577,7 +13636,9 @@ const VCombobox = genericComponent()({
|
|
13577
13636
|
if (props.readonly || form != null && form.isReadonly.value) return;
|
13578
13637
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
13579
13638
|
const length = selected.value.length;
|
13580
|
-
if (selectionIndex.value > -1
|
13639
|
+
if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
13640
|
+
e.preventDefault();
|
13641
|
+
}
|
13581
13642
|
if (['Enter', 'ArrowDown'].includes(e.key)) {
|
13582
13643
|
menu.value = true;
|
13583
13644
|
}
|
@@ -13589,11 +13650,9 @@ const VCombobox = genericComponent()({
|
|
13589
13650
|
}
|
13590
13651
|
if (e.key === 'ArrowDown') {
|
13591
13652
|
var _listRef$value;
|
13592
|
-
e.preventDefault();
|
13593
13653
|
(_listRef$value = listRef.value) == null ? void 0 : _listRef$value.focus('next');
|
13594
13654
|
} else if (e.key === 'ArrowUp') {
|
13595
13655
|
var _listRef$value2;
|
13596
|
-
e.preventDefault();
|
13597
13656
|
(_listRef$value2 = listRef.value) == null ? void 0 : _listRef$value2.focus('prev');
|
13598
13657
|
}
|
13599
13658
|
if (!props.multiple) return;
|
@@ -13888,6 +13947,10 @@ const VDialog = genericComponent()({
|
|
13888
13947
|
});
|
13889
13948
|
}
|
13890
13949
|
});
|
13950
|
+
const activatorProps = computed(() => mergeProps({
|
13951
|
+
'aria-haspopup': 'dialog',
|
13952
|
+
'aria-expanded': String(isActive.value)
|
13953
|
+
}, props.activatorProps));
|
13891
13954
|
useRender(() => {
|
13892
13955
|
const [overlayProps] = filterVOverlayProps(props);
|
13893
13956
|
return createVNode(VOverlay, mergeProps({
|
@@ -13901,10 +13964,7 @@ const VDialog = genericComponent()({
|
|
13901
13964
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
13902
13965
|
"aria-role": "dialog",
|
13903
13966
|
"aria-modal": "true",
|
13904
|
-
"activatorProps":
|
13905
|
-
'aria-haspopup': 'dialog',
|
13906
|
-
'aria-expanded': String(isActive.value)
|
13907
|
-
}, props.activatorProps)
|
13967
|
+
"activatorProps": activatorProps.value
|
13908
13968
|
}, scopeId), {
|
13909
13969
|
activator: slots.activator,
|
13910
13970
|
default: function () {
|
@@ -14253,12 +14313,15 @@ const VFileInput = defineComponent({
|
|
14253
14313
|
onFocus();
|
14254
14314
|
nextTick(() => {
|
14255
14315
|
model.value = [];
|
14256
|
-
if (inputRef != null && inputRef.value) {
|
14257
|
-
inputRef.value.value = '';
|
14258
|
-
}
|
14259
14316
|
callEvent(props['onClick:clear'], e);
|
14260
14317
|
});
|
14261
14318
|
}
|
14319
|
+
watch(model, newValue => {
|
14320
|
+
const hasModelReset = !Array.isArray(newValue) || !newValue.length;
|
14321
|
+
if (hasModelReset && inputRef.value) {
|
14322
|
+
inputRef.value.value = '';
|
14323
|
+
}
|
14324
|
+
});
|
14262
14325
|
useRender(() => {
|
14263
14326
|
const hasCounter = !!(slots.counter || props.counter);
|
14264
14327
|
const hasDetails = !!(hasCounter || slots.details);
|
@@ -15249,7 +15312,7 @@ function useTouch(_ref) {
|
|
15249
15312
|
window.removeEventListener('touchmove', onTouchmove);
|
15250
15313
|
window.removeEventListener('touchend', onTouchend);
|
15251
15314
|
});
|
15252
|
-
const isHorizontal = computed(() => position.value
|
15315
|
+
const isHorizontal = computed(() => ['left', 'right'].includes(position.value));
|
15253
15316
|
const {
|
15254
15317
|
addMovement,
|
15255
15318
|
endTouch,
|
@@ -15261,11 +15324,11 @@ function useTouch(_ref) {
|
|
15261
15324
|
const offset = ref(0);
|
15262
15325
|
let start;
|
15263
15326
|
function getOffset(pos, active) {
|
15264
|
-
return (position.value === 'left' ? pos : position.value === 'right' ? document.documentElement.clientWidth - pos : position.value === 'bottom' ? document.documentElement.clientHeight - pos : oops()) - (active ? width.value : 0);
|
15327
|
+
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);
|
15265
15328
|
}
|
15266
15329
|
function getProgress(pos) {
|
15267
15330
|
let limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
15268
|
-
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();
|
15331
|
+
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();
|
15269
15332
|
return limit ? Math.max(0, Math.min(1, progress)) : progress;
|
15270
15333
|
}
|
15271
15334
|
function onTouchstart(e) {
|
@@ -15273,8 +15336,8 @@ function useTouch(_ref) {
|
|
15273
15336
|
const touchX = e.changedTouches[0].clientX;
|
15274
15337
|
const touchY = e.changedTouches[0].clientY;
|
15275
15338
|
const touchZone = 25;
|
15276
|
-
const inTouchZone = position.value === 'left' ? touchX < touchZone : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone : oops();
|
15277
|
-
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());
|
15339
|
+
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();
|
15340
|
+
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());
|
15278
15341
|
if (inTouchZone || inElement || isActive.value && isTemporary.value) {
|
15279
15342
|
maybeDragging = true;
|
15280
15343
|
start = [touchX, touchY];
|
@@ -15326,6 +15389,7 @@ function useTouch(_ref) {
|
|
15326
15389
|
isActive.value = velocity.direction === ({
|
15327
15390
|
left: 'right',
|
15328
15391
|
right: 'left',
|
15392
|
+
top: 'down',
|
15329
15393
|
bottom: 'up'
|
15330
15394
|
}[position.value] || oops());
|
15331
15395
|
} else {
|
@@ -15334,7 +15398,7 @@ function useTouch(_ref) {
|
|
15334
15398
|
}
|
15335
15399
|
const dragStyles = computed(() => {
|
15336
15400
|
return isDragging.value ? {
|
15337
|
-
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(),
|
15401
|
+
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(),
|
15338
15402
|
transition: 'none'
|
15339
15403
|
} : undefined;
|
15340
15404
|
});
|
@@ -15350,7 +15414,7 @@ function oops() {
|
|
15350
15414
|
|
15351
15415
|
// Types
|
15352
15416
|
|
15353
|
-
const locations = ['start', 'end', 'left', 'right', 'bottom'];
|
15417
|
+
const locations = ['start', 'end', 'left', 'right', 'top', 'bottom'];
|
15354
15418
|
const VNavigationDrawer = defineComponent({
|
15355
15419
|
name: 'VNavigationDrawer',
|
15356
15420
|
props: {
|
@@ -15807,7 +15871,7 @@ const VPagination = defineComponent({
|
|
15807
15871
|
disabled: !!props.disabled || props.length < 2,
|
15808
15872
|
color: isActive ? props.activeColor : props.color,
|
15809
15873
|
ariaCurrent: isActive,
|
15810
|
-
ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel,
|
15874
|
+
ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
|
15811
15875
|
onClick: e => setValue(e, item)
|
15812
15876
|
}
|
15813
15877
|
};
|
@@ -17986,6 +18050,9 @@ const VTooltip = genericComponent()({
|
|
17986
18050
|
if (props.transition) return props.transition;
|
17987
18051
|
return isActive.value ? 'scale-transition' : 'fade-transition';
|
17988
18052
|
});
|
18053
|
+
const activatorProps = computed(() => mergeProps({
|
18054
|
+
'aria-describedby': id.value
|
18055
|
+
}, props.activatorProps));
|
17989
18056
|
useRender(() => {
|
17990
18057
|
const [overlayProps] = filterVOverlayProps(props);
|
17991
18058
|
return createVNode(VOverlay, mergeProps({
|
@@ -18002,9 +18069,7 @@ const VTooltip = genericComponent()({
|
|
18002
18069
|
"persistent": true,
|
18003
18070
|
"role": "tooltip",
|
18004
18071
|
"eager": true,
|
18005
|
-
"activatorProps":
|
18006
|
-
'aria-describedby': id.value
|
18007
|
-
}, props.activatorProps),
|
18072
|
+
"activatorProps": activatorProps.value,
|
18008
18073
|
"_disableGlobalStack": true
|
18009
18074
|
}, scopeId), {
|
18010
18075
|
activator: slots.activator,
|
@@ -18390,7 +18455,7 @@ function createVuetify$1() {
|
|
18390
18455
|
locale
|
18391
18456
|
};
|
18392
18457
|
}
|
18393
|
-
const version$1 = "
|
18458
|
+
const version$1 = "4.0.0-master-20230206.0";
|
18394
18459
|
createVuetify$1.version = version$1;
|
18395
18460
|
|
18396
18461
|
// Vue's inject() can only be used in setup
|
@@ -18411,7 +18476,7 @@ const createVuetify = function () {
|
|
18411
18476
|
...options
|
18412
18477
|
});
|
18413
18478
|
};
|
18414
|
-
const version = "
|
18479
|
+
const version = "4.0.0-master-20230206.0";
|
18415
18480
|
createVuetify.version = version;
|
18416
18481
|
|
18417
18482
|
export { components, createVuetify, directives, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
|