@vuetify/nightly 3.2.0-next-20230118.0 → 4.0.0-next-20230205.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 +203 -16
- package/dist/json/importMap-labs.json +8 -4
- package/dist/json/importMap.json +8 -8
- package/dist/vuetify-labs.css +253 -246
- package/dist/vuetify-labs.d.ts +387 -176
- package/dist/vuetify-labs.esm.js +282 -215
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +281 -214
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +51 -44
- package/dist/vuetify.d.ts +317 -178
- package/dist/vuetify.esm.js +249 -185
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +248 -184
- 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/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/framework.mjs +1 -1
- package/lib/index.d.ts +4 -4
- 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-next-20230205.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));
|
@@ -7702,7 +7727,7 @@ const VListItem = genericComponent()({
|
|
7702
7727
|
}
|
7703
7728
|
}
|
7704
7729
|
useRender(() => {
|
7705
|
-
var _slots$
|
7730
|
+
var _slots$title, _slots$subtitle, _slots$default;
|
7706
7731
|
const Tag = isLink.value ? 'a' : props.tag;
|
7707
7732
|
const hasColor = !list || isSelected.value || isActive.value;
|
7708
7733
|
const hasTitle = slots.title || props.title;
|
@@ -7725,7 +7750,18 @@ const VListItem = genericComponent()({
|
|
7725
7750
|
"onClick": onClick,
|
7726
7751
|
"onKeydown": isClickable.value && !isLink.value && onKeyDown
|
7727
7752
|
}, {
|
7728
|
-
default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && createVNode(
|
7753
|
+
default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && createVNode("div", {
|
7754
|
+
"key": "prepend",
|
7755
|
+
"class": "v-list-item__prepend"
|
7756
|
+
}, [props.prependAvatar && createVNode(VAvatar, {
|
7757
|
+
"key": "prepend-avatar",
|
7758
|
+
"density": props.density,
|
7759
|
+
"image": props.prependAvatar
|
7760
|
+
}, null), props.prependIcon && createVNode(VIcon, {
|
7761
|
+
"key": "prepend-icon",
|
7762
|
+
"density": props.density,
|
7763
|
+
"icon": props.prependIcon
|
7764
|
+
}, null), slots.prepend && createVNode(VDefaultsProvider, {
|
7729
7765
|
"key": "prepend",
|
7730
7766
|
"defaults": {
|
7731
7767
|
VAvatar: {
|
@@ -7741,14 +7777,8 @@ const VListItem = genericComponent()({
|
|
7741
7777
|
}
|
7742
7778
|
}
|
7743
7779
|
}, {
|
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", {
|
7780
|
+
default: () => [slots.prepend(slotProps.value)]
|
7781
|
+
})]), createVNode("div", {
|
7752
7782
|
"class": "v-list-item__content",
|
7753
7783
|
"data-no-activator": ""
|
7754
7784
|
}, [hasTitle && createVNode(VListItemTitle, {
|
@@ -7763,7 +7793,10 @@ const VListItem = genericComponent()({
|
|
7763
7793
|
default: () => [((_slots$subtitle = slots.subtitle) == null ? void 0 : _slots$subtitle.call(slots, {
|
7764
7794
|
subtitle: props.subtitle
|
7765
7795
|
})) ?? props.subtitle]
|
7766
|
-
}), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, slotProps.value)]), hasAppend && createVNode(
|
7796
|
+
}), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, slotProps.value)]), hasAppend && createVNode("div", {
|
7797
|
+
"key": "append",
|
7798
|
+
"class": "v-list-item__append"
|
7799
|
+
}, [slots.append && createVNode(VDefaultsProvider, {
|
7767
7800
|
"key": "append",
|
7768
7801
|
"defaults": {
|
7769
7802
|
VAvatar: {
|
@@ -7779,14 +7812,16 @@ const VListItem = genericComponent()({
|
|
7779
7812
|
}
|
7780
7813
|
}
|
7781
7814
|
}, {
|
7782
|
-
default: () => [
|
7783
|
-
|
7784
|
-
|
7785
|
-
|
7786
|
-
|
7787
|
-
|
7788
|
-
|
7789
|
-
|
7815
|
+
default: () => [slots.append(slotProps.value)]
|
7816
|
+
}), props.appendIcon && createVNode(VIcon, {
|
7817
|
+
"key": "append-icon",
|
7818
|
+
"density": props.density,
|
7819
|
+
"icon": props.appendIcon
|
7820
|
+
}, null), props.appendAvatar && createVNode(VAvatar, {
|
7821
|
+
"key": "append-avatar",
|
7822
|
+
"density": props.density,
|
7823
|
+
"image": props.appendAvatar
|
7824
|
+
}, null)])]
|
7790
7825
|
}), [[resolveDirective("ripple"), isClickable.value && props.ripple]]);
|
7791
7826
|
});
|
7792
7827
|
return {};
|
@@ -8000,9 +8035,12 @@ function useItems(props) {
|
|
8000
8035
|
|
8001
8036
|
// Types
|
8002
8037
|
|
8038
|
+
function isPrimitive(value) {
|
8039
|
+
return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';
|
8040
|
+
}
|
8003
8041
|
function transformItem(props, item) {
|
8004
8042
|
const type = getPropertyFromItem(item, props.itemType, 'item');
|
8005
|
-
const title =
|
8043
|
+
const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);
|
8006
8044
|
const value = getPropertyFromItem(item, props.itemValue, undefined);
|
8007
8045
|
const children = getPropertyFromItem(item, props.itemChildren);
|
8008
8046
|
const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps);
|
@@ -8628,17 +8666,12 @@ const makeLocationStrategyProps = propsFactory({
|
|
8628
8666
|
function useLocationStrategies(props, data) {
|
8629
8667
|
const contentStyles = ref({});
|
8630
8668
|
const updateLocation = ref();
|
8631
|
-
|
8632
|
-
|
8633
|
-
|
8634
|
-
|
8635
|
-
|
8636
|
-
|
8637
|
-
scope = effectScope();
|
8638
|
-
if (!(props.locationStrategy === 'connected')) {
|
8639
|
-
await nextTick();
|
8640
|
-
}
|
8641
|
-
scope.run(() => {
|
8669
|
+
if (IN_BROWSER) {
|
8670
|
+
useToggleScope(() => !!(data.isActive.value && props.locationStrategy), reset => {
|
8671
|
+
watch(() => props.locationStrategy, reset);
|
8672
|
+
onScopeDispose(() => {
|
8673
|
+
updateLocation.value = undefined;
|
8674
|
+
});
|
8642
8675
|
if (typeof props.locationStrategy === 'function') {
|
8643
8676
|
var _props$locationStrate;
|
8644
8677
|
updateLocation.value = (_props$locationStrate = props.locationStrategy(data, props, contentStyles)) == null ? void 0 : _props$locationStrate.updateLocation;
|
@@ -8647,16 +8680,14 @@ function useLocationStrategies(props, data) {
|
|
8647
8680
|
updateLocation.value = (_locationStrategies$p = locationStrategies[props.locationStrategy](data, props, contentStyles)) == null ? void 0 : _locationStrategies$p.updateLocation;
|
8648
8681
|
}
|
8649
8682
|
});
|
8650
|
-
|
8651
|
-
|
8652
|
-
|
8653
|
-
|
8654
|
-
|
8655
|
-
|
8656
|
-
|
8657
|
-
|
8658
|
-
(_scope2 = scope) == null ? void 0 : _scope2.stop();
|
8659
|
-
});
|
8683
|
+
window.addEventListener('resize', onResize, {
|
8684
|
+
passive: true
|
8685
|
+
});
|
8686
|
+
onScopeDispose(() => {
|
8687
|
+
window.removeEventListener('resize', onResize);
|
8688
|
+
updateLocation.value = undefined;
|
8689
|
+
});
|
8690
|
+
}
|
8660
8691
|
function onResize(e) {
|
8661
8692
|
var _updateLocation$value;
|
8662
8693
|
(_updateLocation$value = updateLocation.value) == null ? void 0 : _updateLocation$value.call(updateLocation, e);
|
@@ -8950,13 +8981,30 @@ function connectedLocationStrategy(data, props, contentStyles) {
|
|
8950
8981
|
maxWidth: convertToUnit(pixelCeil(clamp(available.x, minWidth.value === Infinity ? 0 : minWidth.value, maxWidth.value))),
|
8951
8982
|
maxHeight: convertToUnit(pixelCeil(clamp(available.y, minHeight.value === Infinity ? 0 : minHeight.value, maxHeight.value)))
|
8952
8983
|
});
|
8984
|
+
return {
|
8985
|
+
available,
|
8986
|
+
contentBox
|
8987
|
+
};
|
8953
8988
|
}
|
8954
|
-
watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation()
|
8955
|
-
|
8956
|
-
|
8957
|
-
|
8958
|
-
|
8959
|
-
|
8989
|
+
watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation());
|
8990
|
+
nextTick(() => {
|
8991
|
+
const result = updateLocation();
|
8992
|
+
|
8993
|
+
// TODO: overflowing content should only require a single updateLocation call
|
8994
|
+
// Icky hack to make sure the content is positioned consistently
|
8995
|
+
if (!result) return;
|
8996
|
+
const {
|
8997
|
+
available,
|
8998
|
+
contentBox
|
8999
|
+
} = result;
|
9000
|
+
if (contentBox.height > available.y) {
|
9001
|
+
requestAnimationFrame(() => {
|
9002
|
+
updateLocation();
|
9003
|
+
requestAnimationFrame(() => {
|
9004
|
+
updateLocation();
|
9005
|
+
});
|
9006
|
+
});
|
9007
|
+
}
|
8960
9008
|
});
|
8961
9009
|
return {
|
8962
9010
|
updateLocation
|
@@ -9024,10 +9072,10 @@ function useScrollStrategies(props, data) {
|
|
9024
9072
|
await nextTick();
|
9025
9073
|
scope.run(() => {
|
9026
9074
|
if (typeof props.scrollStrategy === 'function') {
|
9027
|
-
props.scrollStrategy(data, props);
|
9075
|
+
props.scrollStrategy(data, props, scope);
|
9028
9076
|
} else {
|
9029
9077
|
var _scrollStrategies$pro;
|
9030
|
-
(_scrollStrategies$pro = scrollStrategies[props.scrollStrategy]) == null ? void 0 : _scrollStrategies$pro.call(scrollStrategies, data, props);
|
9078
|
+
(_scrollStrategies$pro = scrollStrategies[props.scrollStrategy]) == null ? void 0 : _scrollStrategies$pro.call(scrollStrategies, data, props, scope);
|
9031
9079
|
}
|
9032
9080
|
});
|
9033
9081
|
});
|
@@ -9073,9 +9121,10 @@ function blockScrollStrategy(data, props) {
|
|
9073
9121
|
}
|
9074
9122
|
});
|
9075
9123
|
}
|
9076
|
-
function repositionScrollStrategy(data) {
|
9124
|
+
function repositionScrollStrategy(data, props, scope) {
|
9077
9125
|
let slow = false;
|
9078
9126
|
let raf = -1;
|
9127
|
+
let ric = -1;
|
9079
9128
|
function update(e) {
|
9080
9129
|
requestNewFrame(() => {
|
9081
9130
|
var _data$updateLocation$, _data$updateLocation;
|
@@ -9085,21 +9134,29 @@ function repositionScrollStrategy(data) {
|
|
9085
9134
|
slow = time / (1000 / 60) > 2;
|
9086
9135
|
});
|
9087
9136
|
}
|
9088
|
-
|
9089
|
-
|
9090
|
-
|
9091
|
-
|
9092
|
-
|
9093
|
-
|
9094
|
-
|
9095
|
-
|
9096
|
-
|
9137
|
+
ric = requestIdleCallback(() => {
|
9138
|
+
scope.run(() => {
|
9139
|
+
bindScroll(data.activatorEl.value ?? data.contentEl.value, e => {
|
9140
|
+
if (slow) {
|
9141
|
+
// If the position calculation is slow,
|
9142
|
+
// defer updates until scrolling is finished.
|
9143
|
+
// Browsers usually fire one scroll event per frame so
|
9144
|
+
// we just wait until we've got two frames without an event
|
9145
|
+
cancelAnimationFrame(raf);
|
9146
|
+
raf = requestAnimationFrame(() => {
|
9147
|
+
raf = requestAnimationFrame(() => {
|
9148
|
+
update(e);
|
9149
|
+
});
|
9150
|
+
});
|
9151
|
+
} else {
|
9097
9152
|
update(e);
|
9098
|
-
}
|
9153
|
+
}
|
9099
9154
|
});
|
9100
|
-
}
|
9101
|
-
|
9102
|
-
|
9155
|
+
});
|
9156
|
+
});
|
9157
|
+
onScopeDispose(() => {
|
9158
|
+
cancelIdleCallback(ric);
|
9159
|
+
cancelAnimationFrame(raf);
|
9103
9160
|
});
|
9104
9161
|
}
|
9105
9162
|
|
@@ -9742,6 +9799,11 @@ const VMenu = genericComponent()({
|
|
9742
9799
|
function onClickOutside() {
|
9743
9800
|
parent == null ? void 0 : parent.closeParents();
|
9744
9801
|
}
|
9802
|
+
const activatorProps = computed(() => mergeProps({
|
9803
|
+
'aria-haspopup': 'menu',
|
9804
|
+
'aria-expanded': String(isActive.value),
|
9805
|
+
'aria-owns': id.value
|
9806
|
+
}, props.activatorProps));
|
9745
9807
|
useRender(() => {
|
9746
9808
|
const [overlayProps] = filterVOverlayProps(props);
|
9747
9809
|
return createVNode(VOverlay, mergeProps({
|
@@ -9751,11 +9813,7 @@ const VMenu = genericComponent()({
|
|
9751
9813
|
"modelValue": isActive.value,
|
9752
9814
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
9753
9815
|
"absolute": true,
|
9754
|
-
"activatorProps":
|
9755
|
-
'aria-haspopup': 'menu',
|
9756
|
-
'aria-expanded': String(isActive.value),
|
9757
|
-
'aria-owns': id.value
|
9758
|
-
}, props.activatorProps),
|
9816
|
+
"activatorProps": activatorProps.value,
|
9759
9817
|
"onClick:outside": onClickOutside
|
9760
9818
|
}, scopeId), {
|
9761
9819
|
activator: slots.activator,
|
@@ -9869,8 +9927,10 @@ const VSelect = genericComponent()({
|
|
9869
9927
|
}
|
9870
9928
|
function onKeydown(e) {
|
9871
9929
|
if (props.readonly || form != null && form.isReadonly.value) return;
|
9872
|
-
if (['Enter', 'ArrowDown', ' '].includes(e.key)) {
|
9930
|
+
if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
|
9873
9931
|
e.preventDefault();
|
9932
|
+
}
|
9933
|
+
if (['Enter', 'ArrowDown', ' '].includes(e.key)) {
|
9874
9934
|
menu.value = true;
|
9875
9935
|
}
|
9876
9936
|
if (['Escape', 'Tab'].includes(e.key)) {
|
@@ -9881,15 +9941,12 @@ const VSelect = genericComponent()({
|
|
9881
9941
|
(_listRef$value = listRef.value) == null ? void 0 : _listRef$value.focus('next');
|
9882
9942
|
} else if (e.key === 'ArrowUp') {
|
9883
9943
|
var _listRef$value2;
|
9884
|
-
e.preventDefault();
|
9885
9944
|
(_listRef$value2 = listRef.value) == null ? void 0 : _listRef$value2.focus('prev');
|
9886
9945
|
} else if (e.key === 'Home') {
|
9887
9946
|
var _listRef$value3;
|
9888
|
-
e.preventDefault();
|
9889
9947
|
(_listRef$value3 = listRef.value) == null ? void 0 : _listRef$value3.focus('first');
|
9890
9948
|
} else if (e.key === 'End') {
|
9891
9949
|
var _listRef$value4;
|
9892
|
-
e.preventDefault();
|
9893
9950
|
(_listRef$value4 = listRef.value) == null ? void 0 : _listRef$value4.focus('last');
|
9894
9951
|
}
|
9895
9952
|
}
|
@@ -10071,7 +10128,7 @@ function filterItems(items, query, options) {
|
|
10071
10128
|
const customFiltersLength = Object.keys((options == null ? void 0 : options.customKeyFilter) ?? {}).length;
|
10072
10129
|
if (!(items != null && items.length)) return array;
|
10073
10130
|
loop: for (let i = 0; i < items.length; i++) {
|
10074
|
-
const item = items[i]
|
10131
|
+
const item = items[i];
|
10075
10132
|
const customMatches = {};
|
10076
10133
|
const defaultMatches = {};
|
10077
10134
|
let match = -1;
|
@@ -10111,7 +10168,7 @@ function filterItems(items, query, options) {
|
|
10111
10168
|
}
|
10112
10169
|
return array;
|
10113
10170
|
}
|
10114
|
-
function useFilter(props, items, query) {
|
10171
|
+
function useFilter(props, items, query, options) {
|
10115
10172
|
const strQuery = computed(() => typeof (query == null ? void 0 : query.value) !== 'string' && typeof (query == null ? void 0 : query.value) !== 'number' ? '' : String(query.value));
|
10116
10173
|
const filteredItems = ref([]);
|
10117
10174
|
const filteredMatches = ref(new Map());
|
@@ -10122,7 +10179,7 @@ function useFilter(props, items, query) {
|
|
10122
10179
|
const results = filterItems(transformedItems, strQuery.value, {
|
10123
10180
|
customKeyFilter: props.customKeyFilter,
|
10124
10181
|
default: props.customFilter,
|
10125
|
-
filterKeys: props.filterKeys,
|
10182
|
+
filterKeys: unref(options == null ? void 0 : options.filterKeys) ?? props.filterKeys,
|
10126
10183
|
filterMode: props.filterMode,
|
10127
10184
|
noFilter: props.noFilter
|
10128
10185
|
});
|
@@ -10233,6 +10290,9 @@ const VAutocomplete = genericComponent()({
|
|
10233
10290
|
}
|
10234
10291
|
function onKeydown(e) {
|
10235
10292
|
if (props.readonly || form != null && form.isReadonly.value) return;
|
10293
|
+
if (['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
10294
|
+
e.preventDefault();
|
10295
|
+
}
|
10236
10296
|
if (['Enter', 'ArrowDown'].includes(e.key)) {
|
10237
10297
|
menu.value = true;
|
10238
10298
|
}
|
@@ -10244,11 +10304,9 @@ const VAutocomplete = genericComponent()({
|
|
10244
10304
|
}
|
10245
10305
|
if (e.key === 'ArrowDown') {
|
10246
10306
|
var _listRef$value;
|
10247
|
-
e.preventDefault();
|
10248
10307
|
(_listRef$value = listRef.value) == null ? void 0 : _listRef$value.focus('next');
|
10249
10308
|
} else if (e.key === 'ArrowUp') {
|
10250
10309
|
var _listRef$value2;
|
10251
|
-
e.preventDefault();
|
10252
10310
|
(_listRef$value2 = listRef.value) == null ? void 0 : _listRef$value2.focus('prev');
|
10253
10311
|
}
|
10254
10312
|
}
|
@@ -13577,7 +13635,9 @@ const VCombobox = genericComponent()({
|
|
13577
13635
|
if (props.readonly || form != null && form.isReadonly.value) return;
|
13578
13636
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
13579
13637
|
const length = selected.value.length;
|
13580
|
-
if (selectionIndex.value > -1
|
13638
|
+
if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
13639
|
+
e.preventDefault();
|
13640
|
+
}
|
13581
13641
|
if (['Enter', 'ArrowDown'].includes(e.key)) {
|
13582
13642
|
menu.value = true;
|
13583
13643
|
}
|
@@ -13589,11 +13649,9 @@ const VCombobox = genericComponent()({
|
|
13589
13649
|
}
|
13590
13650
|
if (e.key === 'ArrowDown') {
|
13591
13651
|
var _listRef$value;
|
13592
|
-
e.preventDefault();
|
13593
13652
|
(_listRef$value = listRef.value) == null ? void 0 : _listRef$value.focus('next');
|
13594
13653
|
} else if (e.key === 'ArrowUp') {
|
13595
13654
|
var _listRef$value2;
|
13596
|
-
e.preventDefault();
|
13597
13655
|
(_listRef$value2 = listRef.value) == null ? void 0 : _listRef$value2.focus('prev');
|
13598
13656
|
}
|
13599
13657
|
if (!props.multiple) return;
|
@@ -13888,6 +13946,10 @@ const VDialog = genericComponent()({
|
|
13888
13946
|
});
|
13889
13947
|
}
|
13890
13948
|
});
|
13949
|
+
const activatorProps = computed(() => mergeProps({
|
13950
|
+
'aria-haspopup': 'dialog',
|
13951
|
+
'aria-expanded': String(isActive.value)
|
13952
|
+
}, props.activatorProps));
|
13891
13953
|
useRender(() => {
|
13892
13954
|
const [overlayProps] = filterVOverlayProps(props);
|
13893
13955
|
return createVNode(VOverlay, mergeProps({
|
@@ -13901,10 +13963,7 @@ const VDialog = genericComponent()({
|
|
13901
13963
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
13902
13964
|
"aria-role": "dialog",
|
13903
13965
|
"aria-modal": "true",
|
13904
|
-
"activatorProps":
|
13905
|
-
'aria-haspopup': 'dialog',
|
13906
|
-
'aria-expanded': String(isActive.value)
|
13907
|
-
}, props.activatorProps)
|
13966
|
+
"activatorProps": activatorProps.value
|
13908
13967
|
}, scopeId), {
|
13909
13968
|
activator: slots.activator,
|
13910
13969
|
default: function () {
|
@@ -14253,12 +14312,15 @@ const VFileInput = defineComponent({
|
|
14253
14312
|
onFocus();
|
14254
14313
|
nextTick(() => {
|
14255
14314
|
model.value = [];
|
14256
|
-
if (inputRef != null && inputRef.value) {
|
14257
|
-
inputRef.value.value = '';
|
14258
|
-
}
|
14259
14315
|
callEvent(props['onClick:clear'], e);
|
14260
14316
|
});
|
14261
14317
|
}
|
14318
|
+
watch(model, newValue => {
|
14319
|
+
const hasModelReset = !Array.isArray(newValue) || !newValue.length;
|
14320
|
+
if (hasModelReset && inputRef.value) {
|
14321
|
+
inputRef.value.value = '';
|
14322
|
+
}
|
14323
|
+
});
|
14262
14324
|
useRender(() => {
|
14263
14325
|
const hasCounter = !!(slots.counter || props.counter);
|
14264
14326
|
const hasDetails = !!(hasCounter || slots.details);
|
@@ -15249,7 +15311,7 @@ function useTouch(_ref) {
|
|
15249
15311
|
window.removeEventListener('touchmove', onTouchmove);
|
15250
15312
|
window.removeEventListener('touchend', onTouchend);
|
15251
15313
|
});
|
15252
|
-
const isHorizontal = computed(() => position.value
|
15314
|
+
const isHorizontal = computed(() => ['left', 'right'].includes(position.value));
|
15253
15315
|
const {
|
15254
15316
|
addMovement,
|
15255
15317
|
endTouch,
|
@@ -15261,11 +15323,11 @@ function useTouch(_ref) {
|
|
15261
15323
|
const offset = ref(0);
|
15262
15324
|
let start;
|
15263
15325
|
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);
|
15326
|
+
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
15327
|
}
|
15266
15328
|
function getProgress(pos) {
|
15267
15329
|
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();
|
15330
|
+
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
15331
|
return limit ? Math.max(0, Math.min(1, progress)) : progress;
|
15270
15332
|
}
|
15271
15333
|
function onTouchstart(e) {
|
@@ -15273,8 +15335,8 @@ function useTouch(_ref) {
|
|
15273
15335
|
const touchX = e.changedTouches[0].clientX;
|
15274
15336
|
const touchY = e.changedTouches[0].clientY;
|
15275
15337
|
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());
|
15338
|
+
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();
|
15339
|
+
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
15340
|
if (inTouchZone || inElement || isActive.value && isTemporary.value) {
|
15279
15341
|
maybeDragging = true;
|
15280
15342
|
start = [touchX, touchY];
|
@@ -15326,6 +15388,7 @@ function useTouch(_ref) {
|
|
15326
15388
|
isActive.value = velocity.direction === ({
|
15327
15389
|
left: 'right',
|
15328
15390
|
right: 'left',
|
15391
|
+
top: 'down',
|
15329
15392
|
bottom: 'up'
|
15330
15393
|
}[position.value] || oops());
|
15331
15394
|
} else {
|
@@ -15334,7 +15397,7 @@ function useTouch(_ref) {
|
|
15334
15397
|
}
|
15335
15398
|
const dragStyles = computed(() => {
|
15336
15399
|
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(),
|
15400
|
+
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
15401
|
transition: 'none'
|
15339
15402
|
} : undefined;
|
15340
15403
|
});
|
@@ -15350,7 +15413,7 @@ function oops() {
|
|
15350
15413
|
|
15351
15414
|
// Types
|
15352
15415
|
|
15353
|
-
const locations = ['start', 'end', 'left', 'right', 'bottom'];
|
15416
|
+
const locations = ['start', 'end', 'left', 'right', 'top', 'bottom'];
|
15354
15417
|
const VNavigationDrawer = defineComponent({
|
15355
15418
|
name: 'VNavigationDrawer',
|
15356
15419
|
props: {
|
@@ -15807,7 +15870,7 @@ const VPagination = defineComponent({
|
|
15807
15870
|
disabled: !!props.disabled || props.length < 2,
|
15808
15871
|
color: isActive ? props.activeColor : props.color,
|
15809
15872
|
ariaCurrent: isActive,
|
15810
|
-
ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel,
|
15873
|
+
ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
|
15811
15874
|
onClick: e => setValue(e, item)
|
15812
15875
|
}
|
15813
15876
|
};
|
@@ -17986,6 +18049,9 @@ const VTooltip = genericComponent()({
|
|
17986
18049
|
if (props.transition) return props.transition;
|
17987
18050
|
return isActive.value ? 'scale-transition' : 'fade-transition';
|
17988
18051
|
});
|
18052
|
+
const activatorProps = computed(() => mergeProps({
|
18053
|
+
'aria-describedby': id.value
|
18054
|
+
}, props.activatorProps));
|
17989
18055
|
useRender(() => {
|
17990
18056
|
const [overlayProps] = filterVOverlayProps(props);
|
17991
18057
|
return createVNode(VOverlay, mergeProps({
|
@@ -18002,9 +18068,7 @@ const VTooltip = genericComponent()({
|
|
18002
18068
|
"persistent": true,
|
18003
18069
|
"role": "tooltip",
|
18004
18070
|
"eager": true,
|
18005
|
-
"activatorProps":
|
18006
|
-
'aria-describedby': id.value
|
18007
|
-
}, props.activatorProps),
|
18071
|
+
"activatorProps": activatorProps.value,
|
18008
18072
|
"_disableGlobalStack": true
|
18009
18073
|
}, scopeId), {
|
18010
18074
|
activator: slots.activator,
|
@@ -18390,7 +18454,7 @@ function createVuetify$1() {
|
|
18390
18454
|
locale
|
18391
18455
|
};
|
18392
18456
|
}
|
18393
|
-
const version$1 = "
|
18457
|
+
const version$1 = "4.0.0-next-20230205.0";
|
18394
18458
|
createVuetify$1.version = version$1;
|
18395
18459
|
|
18396
18460
|
// Vue's inject() can only be used in setup
|
@@ -18411,7 +18475,7 @@ const createVuetify = function () {
|
|
18411
18475
|
...options
|
18412
18476
|
});
|
18413
18477
|
};
|
18414
|
-
const version = "
|
18478
|
+
const version = "4.0.0-next-20230205.0";
|
18415
18479
|
createVuetify.version = version;
|
18416
18480
|
|
18417
18481
|
export { components, createVuetify, directives, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
|