vuetify 3.2.0 → 3.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +775 -639
- package/dist/json/importMap.json +8 -8
- package/dist/json/tags.json +35 -1
- package/dist/json/web-types.json +1657 -1327
- package/dist/vuetify-labs.css +389 -383
- package/dist/vuetify-labs.d.ts +419 -89
- package/dist/vuetify-labs.esm.js +113 -98
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +112 -97
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +60 -54
- package/dist/vuetify.d.ts +522 -192
- package/dist/vuetify.esm.js +108 -98
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +107 -97
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +49 -49
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAppBar/VAppBar.mjs +7 -11
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +10 -16
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.ts +394 -28
- package/lib/components/VAutocomplete/VAutocomplete.css +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +10 -2
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +1 -1
- package/lib/components/VBtn/VBtn.mjs +7 -6
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +0 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +9 -2
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.mjs +2 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.mjs +28 -29
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -8
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +9 -2
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSheet/VSheet.css +6 -0
- package/lib/components/VSheet/_variables.scss +1 -1
- package/lib/components/VTextField/VTextField.mjs +1 -1
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextarea/VTextarea.mjs +1 -1
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTreeview/_mixins.sass +0 -0
- package/lib/components/VTreeview/util/filterTreeItems.mjs +0 -0
- package/lib/components/index.d.ts +386 -53
- package/lib/composables/defaults.mjs +11 -1
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/icons.mjs +2 -2
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/scroll.mjs +16 -17
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.ts +4 -7
- package/lib/labs/VDataTable/composables/paginate.mjs +6 -1
- package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/locale/el.mjs +0 -0
- package/lib/locale/index.mjs +0 -0
- package/lib/util/defineComponent.mjs +2 -2
- package/lib/util/defineComponent.mjs.map +1 -1
- package/package.json +2 -2
package/dist/vuetify.esm.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.2.
|
|
2
|
+
* Vuetify v3.2.2
|
|
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, onScopeDispose, effectScope, shallowRef, inject as inject$1,
|
|
7
|
+
import { ref, onBeforeUnmount, watch, readonly, reactive, computed, watchEffect, toRefs, capitalize, onScopeDispose, effectScope, unref, provide, shallowRef, inject as inject$1, defineComponent as defineComponent$1, camelize, h, getCurrentInstance as getCurrentInstance$1, onDeactivated, onActivated, onMounted, toRaw, createVNode, TransitionGroup, Transition, mergeProps, onBeforeMount, nextTick, withDirectives, Fragment, resolveDirective, vShow, isRef, toRef, Text, resolveDynamicComponent, cloneVNode, warn, toHandlers, Teleport, createTextVNode, onBeforeUpdate, vModelText, onUpdated } from 'vue';
|
|
8
8
|
|
|
9
9
|
const IN_BROWSER = typeof window !== 'undefined';
|
|
10
10
|
const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
|
|
@@ -1012,7 +1012,7 @@ function provideDefaults(defaults, options) {
|
|
|
1012
1012
|
function propIsDefined(vnode, prop) {
|
|
1013
1013
|
return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
|
|
1014
1014
|
}
|
|
1015
|
-
function
|
|
1015
|
+
function internalUseDefaults() {
|
|
1016
1016
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1017
1017
|
let name = arguments.length > 1 ? arguments[1] : undefined;
|
|
1018
1018
|
let defaults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : injectDefaults();
|
|
@@ -1056,6 +1056,16 @@ function useDefaults() {
|
|
|
1056
1056
|
provideSubDefaults
|
|
1057
1057
|
};
|
|
1058
1058
|
}
|
|
1059
|
+
function useDefaults() {
|
|
1060
|
+
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1061
|
+
let name = arguments.length > 1 ? arguments[1] : undefined;
|
|
1062
|
+
const {
|
|
1063
|
+
props: _props,
|
|
1064
|
+
provideSubDefaults
|
|
1065
|
+
} = internalUseDefaults(props, name);
|
|
1066
|
+
provideSubDefaults();
|
|
1067
|
+
return _props;
|
|
1068
|
+
}
|
|
1059
1069
|
|
|
1060
1070
|
// Utils
|
|
1061
1071
|
|
|
@@ -1083,7 +1093,7 @@ function defineComponent(options) {
|
|
|
1083
1093
|
const {
|
|
1084
1094
|
props: _props,
|
|
1085
1095
|
provideSubDefaults
|
|
1086
|
-
} =
|
|
1096
|
+
} = internalUseDefaults(props, props._as ?? options.name, defaults);
|
|
1087
1097
|
const setupBindings = options._setup(_props, ctx);
|
|
1088
1098
|
provideSubDefaults();
|
|
1089
1099
|
return setupBindings;
|
|
@@ -3326,14 +3336,13 @@ const makeScrollProps = propsFactory({
|
|
|
3326
3336
|
type: String
|
|
3327
3337
|
},
|
|
3328
3338
|
scrollThreshold: {
|
|
3329
|
-
type: [String, Number]
|
|
3339
|
+
type: [String, Number],
|
|
3340
|
+
default: 300
|
|
3330
3341
|
}
|
|
3331
3342
|
}, 'scroll');
|
|
3332
3343
|
function useScroll(props) {
|
|
3333
3344
|
let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
3334
3345
|
const {
|
|
3335
|
-
thresholdMetCallback,
|
|
3336
|
-
scrollThreshold,
|
|
3337
3346
|
canScroll
|
|
3338
3347
|
} = args;
|
|
3339
3348
|
let previousScroll = 0;
|
|
@@ -3343,8 +3352,16 @@ function useScroll(props) {
|
|
|
3343
3352
|
const currentThreshold = ref(0);
|
|
3344
3353
|
const isScrollActive = ref(false);
|
|
3345
3354
|
const isScrollingUp = ref(false);
|
|
3346
|
-
const
|
|
3347
|
-
return Number(props.scrollThreshold
|
|
3355
|
+
const scrollThreshold = computed(() => {
|
|
3356
|
+
return Number(props.scrollThreshold);
|
|
3357
|
+
});
|
|
3358
|
+
|
|
3359
|
+
/**
|
|
3360
|
+
* 1: at top
|
|
3361
|
+
* 0: at threshold
|
|
3362
|
+
*/
|
|
3363
|
+
const scrollRatio = computed(() => {
|
|
3364
|
+
return clamp((scrollThreshold.value - currentScroll.value) / scrollThreshold.value || 0);
|
|
3348
3365
|
});
|
|
3349
3366
|
const onScroll = () => {
|
|
3350
3367
|
const targetEl = target.value;
|
|
@@ -3352,7 +3369,7 @@ function useScroll(props) {
|
|
|
3352
3369
|
previousScroll = currentScroll.value;
|
|
3353
3370
|
currentScroll.value = 'window' in targetEl ? targetEl.pageYOffset : targetEl.scrollTop;
|
|
3354
3371
|
isScrollingUp.value = currentScroll.value < previousScroll;
|
|
3355
|
-
currentThreshold.value = Math.abs(currentScroll.value -
|
|
3372
|
+
currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value);
|
|
3356
3373
|
};
|
|
3357
3374
|
watch(isScrollingUp, () => {
|
|
3358
3375
|
savedScroll.value = savedScroll.value || currentScroll.value;
|
|
@@ -3380,15 +3397,6 @@ function useScroll(props) {
|
|
|
3380
3397
|
onBeforeUnmount(() => {
|
|
3381
3398
|
target.value?.removeEventListener('scroll', onScroll);
|
|
3382
3399
|
});
|
|
3383
|
-
thresholdMetCallback && watch(() => Math.abs(currentScroll.value - savedScroll.value) > computedScrollThreshold.value, thresholdMet => {
|
|
3384
|
-
thresholdMet && thresholdMetCallback({
|
|
3385
|
-
currentThreshold: currentThreshold.value,
|
|
3386
|
-
isScrollingUp: isScrollingUp.value,
|
|
3387
|
-
savedScroll
|
|
3388
|
-
});
|
|
3389
|
-
}, {
|
|
3390
|
-
immediate: true
|
|
3391
|
-
});
|
|
3392
3400
|
|
|
3393
3401
|
// Do we need this? If yes - seems that
|
|
3394
3402
|
// there's no need to expose onScroll
|
|
@@ -3396,10 +3404,11 @@ function useScroll(props) {
|
|
|
3396
3404
|
immediate: true
|
|
3397
3405
|
});
|
|
3398
3406
|
return {
|
|
3399
|
-
|
|
3407
|
+
scrollThreshold,
|
|
3400
3408
|
currentScroll,
|
|
3401
3409
|
currentThreshold,
|
|
3402
3410
|
isScrollActive,
|
|
3411
|
+
scrollRatio,
|
|
3403
3412
|
// required only for testing
|
|
3404
3413
|
// probably can be removed
|
|
3405
3414
|
// later (2 chars chlng)
|
|
@@ -3482,15 +3491,14 @@ const VAppBar = genericComponent()({
|
|
|
3482
3491
|
});
|
|
3483
3492
|
const {
|
|
3484
3493
|
currentScroll,
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
3494
|
+
scrollThreshold,
|
|
3495
|
+
isScrollingUp,
|
|
3496
|
+
scrollRatio
|
|
3488
3497
|
} = useScroll(props, {
|
|
3489
3498
|
canScroll
|
|
3490
3499
|
});
|
|
3491
|
-
const isCollapsed = computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ?
|
|
3492
|
-
const isFlat = computed(() => props.flat || scrollBehavior.value.elevate &&
|
|
3493
|
-
const scrollRatio = computed(() => Math.min((currentThreshold.value - currentScroll.value) / currentThreshold.value || 1, 1));
|
|
3500
|
+
const isCollapsed = computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0));
|
|
3501
|
+
const isFlat = computed(() => props.flat || scrollBehavior.value.elevate && (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0));
|
|
3494
3502
|
const opacity = computed(() => scrollBehavior.value.fadeImage ? scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value : undefined);
|
|
3495
3503
|
const height = computed(() => {
|
|
3496
3504
|
if (scrollBehavior.value.hide && scrollBehavior.value.inverted) return 0;
|
|
@@ -3499,15 +3507,12 @@ const VAppBar = genericComponent()({
|
|
|
3499
3507
|
return height + extensionHeight;
|
|
3500
3508
|
});
|
|
3501
3509
|
function setActive() {
|
|
3502
|
-
const val = currentScroll.value;
|
|
3503
3510
|
if (scrollBehavior.value.hide) {
|
|
3504
3511
|
if (scrollBehavior.value.inverted) {
|
|
3505
|
-
isActive.value =
|
|
3512
|
+
isActive.value = currentScroll.value > scrollThreshold.value;
|
|
3506
3513
|
} else {
|
|
3507
|
-
isActive.value = isScrollingUp.value ||
|
|
3514
|
+
isActive.value = isScrollingUp.value || currentScroll.value < scrollThreshold.value;
|
|
3508
3515
|
}
|
|
3509
|
-
} else if (scrollBehavior.value.inverted) {
|
|
3510
|
-
isActive.value = currentScroll.value === 0;
|
|
3511
3516
|
} else {
|
|
3512
3517
|
isActive.value = true;
|
|
3513
3518
|
}
|
|
@@ -4083,7 +4088,7 @@ const useIcon = props => {
|
|
|
4083
4088
|
const icons = inject$1(IconSymbol);
|
|
4084
4089
|
if (!icons) throw new Error('Missing Vuetify Icons provide!');
|
|
4085
4090
|
const iconData = computed(() => {
|
|
4086
|
-
const iconAlias =
|
|
4091
|
+
const iconAlias = unref(props);
|
|
4087
4092
|
if (!iconAlias) return {
|
|
4088
4093
|
component: VComponentIcon
|
|
4089
4094
|
};
|
|
@@ -4150,8 +4155,6 @@ function useSize(props) {
|
|
|
4150
4155
|
});
|
|
4151
4156
|
}
|
|
4152
4157
|
|
|
4153
|
-
// Types
|
|
4154
|
-
|
|
4155
4158
|
const makeVIconProps = propsFactory({
|
|
4156
4159
|
color: String,
|
|
4157
4160
|
start: Boolean,
|
|
@@ -4172,20 +4175,13 @@ const VIcon = genericComponent()({
|
|
|
4172
4175
|
attrs,
|
|
4173
4176
|
slots
|
|
4174
4177
|
} = _ref;
|
|
4175
|
-
|
|
4176
|
-
if (slots.default) {
|
|
4177
|
-
slotIcon = computed(() => {
|
|
4178
|
-
const slot = slots.default?.();
|
|
4179
|
-
if (!slot) return;
|
|
4180
|
-
return slot.filter(node => node.type === Text && node.children && typeof node.children === 'string')[0]?.children;
|
|
4181
|
-
});
|
|
4182
|
-
}
|
|
4178
|
+
const slotIcon = ref();
|
|
4183
4179
|
const {
|
|
4184
4180
|
themeClasses
|
|
4185
4181
|
} = provideTheme(props);
|
|
4186
4182
|
const {
|
|
4187
4183
|
iconData
|
|
4188
|
-
} = useIcon(slotIcon || props);
|
|
4184
|
+
} = useIcon(computed(() => slotIcon.value || props.icon));
|
|
4189
4185
|
const {
|
|
4190
4186
|
sizeClasses
|
|
4191
4187
|
} = useSize(props);
|
|
@@ -4193,24 +4189,30 @@ const VIcon = genericComponent()({
|
|
|
4193
4189
|
textColorClasses,
|
|
4194
4190
|
textColorStyles
|
|
4195
4191
|
} = useTextColor(toRef(props, 'color'));
|
|
4196
|
-
useRender(() =>
|
|
4197
|
-
|
|
4198
|
-
|
|
4199
|
-
|
|
4200
|
-
|
|
4201
|
-
|
|
4202
|
-
|
|
4203
|
-
|
|
4204
|
-
|
|
4205
|
-
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
|
|
4213
|
-
|
|
4192
|
+
useRender(() => {
|
|
4193
|
+
const slotValue = slots.default?.();
|
|
4194
|
+
if (slotValue) {
|
|
4195
|
+
slotIcon.value = slotValue.filter(node => node.type === Text && node.children && typeof node.children === 'string')[0]?.children;
|
|
4196
|
+
}
|
|
4197
|
+
return createVNode(iconData.value.component, {
|
|
4198
|
+
"tag": props.tag,
|
|
4199
|
+
"icon": iconData.value.icon,
|
|
4200
|
+
"class": ['v-icon', 'notranslate', themeClasses.value, sizeClasses.value, textColorClasses.value, {
|
|
4201
|
+
'v-icon--clickable': !!attrs.onClick,
|
|
4202
|
+
'v-icon--start': props.start,
|
|
4203
|
+
'v-icon--end': props.end
|
|
4204
|
+
}, props.class],
|
|
4205
|
+
"style": [!sizeClasses.value ? {
|
|
4206
|
+
fontSize: convertToUnit(props.size),
|
|
4207
|
+
height: convertToUnit(props.size),
|
|
4208
|
+
width: convertToUnit(props.size)
|
|
4209
|
+
} : undefined, textColorStyles.value, props.style],
|
|
4210
|
+
"role": attrs.onClick ? 'button' : undefined,
|
|
4211
|
+
"aria-hidden": !attrs.onClick
|
|
4212
|
+
}, {
|
|
4213
|
+
default: () => [slotValue]
|
|
4214
|
+
});
|
|
4215
|
+
});
|
|
4214
4216
|
return {};
|
|
4215
4217
|
}
|
|
4216
4218
|
});
|
|
@@ -5047,7 +5049,7 @@ const makeVBtnProps = propsFactory({
|
|
|
5047
5049
|
...makeVariantProps({
|
|
5048
5050
|
variant: 'elevated'
|
|
5049
5051
|
})
|
|
5050
|
-
}, '
|
|
5052
|
+
}, 'v-btn');
|
|
5051
5053
|
const VBtn = genericComponent()({
|
|
5052
5054
|
name: 'VBtn',
|
|
5053
5055
|
directives: {
|
|
@@ -5117,6 +5119,11 @@ const VBtn = genericComponent()({
|
|
|
5117
5119
|
if (props.value === undefined) return undefined;
|
|
5118
5120
|
return Object(props.value) === props.value ? JSON.stringify(props.value, null, 0) : props.value;
|
|
5119
5121
|
});
|
|
5122
|
+
function onClick(e) {
|
|
5123
|
+
if (isDisabled.value) return;
|
|
5124
|
+
link.navigate?.(e);
|
|
5125
|
+
group?.toggle();
|
|
5126
|
+
}
|
|
5120
5127
|
useSelectLink(link, group?.select);
|
|
5121
5128
|
useRender(() => {
|
|
5122
5129
|
const Tag = link.isLink.value ? 'a' : props.tag;
|
|
@@ -5139,11 +5146,7 @@ const VBtn = genericComponent()({
|
|
|
5139
5146
|
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
|
|
5140
5147
|
"disabled": isDisabled.value || undefined,
|
|
5141
5148
|
"href": link.href.value,
|
|
5142
|
-
"onClick":
|
|
5143
|
-
if (isDisabled.value) return;
|
|
5144
|
-
link.navigate?.(e);
|
|
5145
|
-
group?.toggle();
|
|
5146
|
-
},
|
|
5149
|
+
"onClick": onClick,
|
|
5147
5150
|
"value": valueAttr.value
|
|
5148
5151
|
}, {
|
|
5149
5152
|
default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && createVNode("span", {
|
|
@@ -5209,22 +5212,17 @@ const VBtn = genericComponent()({
|
|
|
5209
5212
|
|
|
5210
5213
|
const VAppBarNavIcon = genericComponent()({
|
|
5211
5214
|
name: 'VAppBarNavIcon',
|
|
5212
|
-
props: {
|
|
5213
|
-
icon:
|
|
5214
|
-
|
|
5215
|
-
|
|
5216
|
-
},
|
|
5217
|
-
...makeComponentProps()
|
|
5218
|
-
},
|
|
5215
|
+
props: makeVBtnProps({
|
|
5216
|
+
icon: '$menu',
|
|
5217
|
+
variant: 'text'
|
|
5218
|
+
}),
|
|
5219
5219
|
setup(props, _ref) {
|
|
5220
5220
|
let {
|
|
5221
5221
|
slots
|
|
5222
5222
|
} = _ref;
|
|
5223
|
-
useRender(() => createVNode(VBtn, {
|
|
5224
|
-
"class": ['v-app-bar-nav-icon'
|
|
5225
|
-
|
|
5226
|
-
"style": props.style
|
|
5227
|
-
}, slots));
|
|
5223
|
+
useRender(() => createVNode(VBtn, mergeProps(props, {
|
|
5224
|
+
"class": ['v-app-bar-nav-icon']
|
|
5225
|
+
}), slots));
|
|
5228
5226
|
return {};
|
|
5229
5227
|
}
|
|
5230
5228
|
});
|
|
@@ -6427,7 +6425,7 @@ const VTextField = genericComponent()({
|
|
|
6427
6425
|
const vInputRef = ref();
|
|
6428
6426
|
const vFieldRef = ref();
|
|
6429
6427
|
const inputRef = ref();
|
|
6430
|
-
const isActive = computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value);
|
|
6428
|
+
const isActive = computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value || props.active);
|
|
6431
6429
|
function onFocus() {
|
|
6432
6430
|
if (inputRef.value !== document.activeElement) {
|
|
6433
6431
|
inputRef.value?.focus();
|
|
@@ -6863,7 +6861,6 @@ const VCheckboxBtn = genericComponent()({
|
|
|
6863
6861
|
"class": ['v-checkbox-btn', props.class],
|
|
6864
6862
|
"style": props.style,
|
|
6865
6863
|
"type": "checkbox",
|
|
6866
|
-
"inline": true,
|
|
6867
6864
|
"falseIcon": falseIcon.value,
|
|
6868
6865
|
"trueIcon": trueIcon.value,
|
|
6869
6866
|
"aria-checked": props.indeterminate ? 'mixed' : undefined
|
|
@@ -10362,11 +10359,13 @@ const VSelect = genericComponent()({
|
|
|
10362
10359
|
let {
|
|
10363
10360
|
isSelected
|
|
10364
10361
|
} = _ref2;
|
|
10365
|
-
return props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
|
10362
|
+
return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
|
10366
10363
|
"modelValue": isSelected,
|
|
10367
10364
|
"ripple": false,
|
|
10368
10365
|
"tabindex": "-1"
|
|
10369
|
-
}, null) : undefined
|
|
10366
|
+
}, null) : undefined, item.props.prependIcon && createVNode(VIcon, {
|
|
10367
|
+
"icon": item.props.prependIcon
|
|
10368
|
+
}, null)]);
|
|
10370
10369
|
}
|
|
10371
10370
|
});
|
|
10372
10371
|
}), slots['append-item']?.()]
|
|
@@ -10379,6 +10378,10 @@ const VSelect = genericComponent()({
|
|
|
10379
10378
|
}
|
|
10380
10379
|
const slotProps = {
|
|
10381
10380
|
'onClick:close': onChipClose,
|
|
10381
|
+
onMousedown(e) {
|
|
10382
|
+
e.preventDefault();
|
|
10383
|
+
e.stopPropagation();
|
|
10384
|
+
},
|
|
10382
10385
|
modelValue: true,
|
|
10383
10386
|
'onUpdate:modelValue': undefined
|
|
10384
10387
|
};
|
|
@@ -10722,6 +10725,7 @@ const VAutocomplete = genericComponent()({
|
|
|
10722
10725
|
isPristine.value = true;
|
|
10723
10726
|
nextTick(() => isSelecting.value = false);
|
|
10724
10727
|
} else {
|
|
10728
|
+
if (!props.multiple && !search.value) model.value = [];
|
|
10725
10729
|
menu.value = false;
|
|
10726
10730
|
search.value = '';
|
|
10727
10731
|
}
|
|
@@ -10801,11 +10805,13 @@ const VAutocomplete = genericComponent()({
|
|
|
10801
10805
|
let {
|
|
10802
10806
|
isSelected
|
|
10803
10807
|
} = _ref2;
|
|
10804
|
-
return props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
|
10808
|
+
return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
|
10805
10809
|
"modelValue": isSelected,
|
|
10806
10810
|
"ripple": false,
|
|
10807
10811
|
"tabindex": "-1"
|
|
10808
|
-
}, null) : undefined
|
|
10812
|
+
}, null) : undefined, item.props.prependIcon && createVNode(VIcon, {
|
|
10813
|
+
"icon": item.props.prependIcon
|
|
10814
|
+
}, null)]);
|
|
10809
10815
|
},
|
|
10810
10816
|
title: () => {
|
|
10811
10817
|
return isPristine.value ? item.title : highlightResult$1(item.title, getMatches(item)?.title, search.value?.length ?? 0);
|
|
@@ -10820,6 +10826,10 @@ const VAutocomplete = genericComponent()({
|
|
|
10820
10826
|
}
|
|
10821
10827
|
const slotProps = {
|
|
10822
10828
|
'onClick:close': onChipClose,
|
|
10829
|
+
onMousedown(e) {
|
|
10830
|
+
e.preventDefault();
|
|
10831
|
+
e.stopPropagation();
|
|
10832
|
+
},
|
|
10823
10833
|
modelValue: true,
|
|
10824
10834
|
'onUpdate:modelValue': undefined
|
|
10825
10835
|
};
|
|
@@ -14246,11 +14256,13 @@ const VCombobox = genericComponent()({
|
|
|
14246
14256
|
let {
|
|
14247
14257
|
isSelected
|
|
14248
14258
|
} = _ref2;
|
|
14249
|
-
return props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
|
14259
|
+
return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
|
14250
14260
|
"modelValue": isSelected,
|
|
14251
14261
|
"ripple": false,
|
|
14252
14262
|
"tabindex": "-1"
|
|
14253
|
-
}, null) : undefined
|
|
14263
|
+
}, null) : undefined, item.props.prependIcon && createVNode(VIcon, {
|
|
14264
|
+
"icon": item.props.prependIcon
|
|
14265
|
+
}, null)]);
|
|
14254
14266
|
},
|
|
14255
14267
|
title: () => {
|
|
14256
14268
|
return isPristine.value ? item.title : highlightResult(item.title, getMatches(item)?.title, search.value?.length ?? 0);
|
|
@@ -14265,6 +14277,10 @@ const VCombobox = genericComponent()({
|
|
|
14265
14277
|
}
|
|
14266
14278
|
const slotProps = {
|
|
14267
14279
|
'onClick:close': onChipClose,
|
|
14280
|
+
onMousedown(e) {
|
|
14281
|
+
e.preventDefault();
|
|
14282
|
+
e.stopPropagation();
|
|
14283
|
+
},
|
|
14268
14284
|
modelValue: true,
|
|
14269
14285
|
'onUpdate:modelValue': undefined
|
|
14270
14286
|
};
|
|
@@ -14728,6 +14744,7 @@ const VFileInput = genericComponent()({
|
|
|
14728
14744
|
const vInputRef = ref();
|
|
14729
14745
|
const vFieldRef = ref();
|
|
14730
14746
|
const inputRef = ref();
|
|
14747
|
+
const isActive = computed(() => isFocused.value || props.active);
|
|
14731
14748
|
function onFocus() {
|
|
14732
14749
|
if (inputRef.value !== document.activeElement) {
|
|
14733
14750
|
inputRef.value?.focus();
|
|
@@ -14796,7 +14813,7 @@ const VFileInput = genericComponent()({
|
|
|
14796
14813
|
"onClick:appendInner": props['onClick:appendInner']
|
|
14797
14814
|
}, fieldProps, {
|
|
14798
14815
|
"id": id.value,
|
|
14799
|
-
"active":
|
|
14816
|
+
"active": isActive.value || isDirty.value,
|
|
14800
14817
|
"dirty": isDirty.value,
|
|
14801
14818
|
"disabled": isDisabled.value,
|
|
14802
14819
|
"focused": isFocused.value,
|
|
@@ -15962,7 +15979,6 @@ const VNavigationDrawer = genericComponent()({
|
|
|
15962
15979
|
});
|
|
15963
15980
|
const {
|
|
15964
15981
|
layoutItemStyles,
|
|
15965
|
-
layoutRect,
|
|
15966
15982
|
layoutItemScrimStyles
|
|
15967
15983
|
} = useLayoutItem({
|
|
15968
15984
|
id: props.name,
|
|
@@ -15992,12 +16008,6 @@ const VNavigationDrawer = genericComponent()({
|
|
|
15992
16008
|
opacity: dragProgress.value * 0.2,
|
|
15993
16009
|
transition: 'none'
|
|
15994
16010
|
} : undefined),
|
|
15995
|
-
...(layoutRect.value ? {
|
|
15996
|
-
left: convertToUnit(layoutRect.value.left),
|
|
15997
|
-
right: convertToUnit(layoutRect.value.right),
|
|
15998
|
-
top: convertToUnit(layoutRect.value.top),
|
|
15999
|
-
bottom: convertToUnit(layoutRect.value.bottom)
|
|
16000
|
-
} : undefined),
|
|
16001
16011
|
...layoutItemScrimStyles.value
|
|
16002
16012
|
}));
|
|
16003
16013
|
provideDefaults({
|
|
@@ -17961,7 +17971,7 @@ const VTextarea = genericComponent()({
|
|
|
17961
17971
|
const vFieldRef = ref();
|
|
17962
17972
|
const controlHeight = ref('');
|
|
17963
17973
|
const textareaRef = ref();
|
|
17964
|
-
const isActive = computed(() => isFocused.value || props.
|
|
17974
|
+
const isActive = computed(() => props.persistentPlaceholder || isFocused.value || props.active);
|
|
17965
17975
|
function onFocus() {
|
|
17966
17976
|
if (textareaRef.value !== document.activeElement) {
|
|
17967
17977
|
textareaRef.value?.focus();
|
|
@@ -19417,7 +19427,7 @@ function createVuetify$1() {
|
|
|
19417
19427
|
date
|
|
19418
19428
|
};
|
|
19419
19429
|
}
|
|
19420
|
-
const version$1 = "3.2.
|
|
19430
|
+
const version$1 = "3.2.2";
|
|
19421
19431
|
createVuetify$1.version = version$1;
|
|
19422
19432
|
|
|
19423
19433
|
// Vue's inject() can only be used in setup
|
|
@@ -19437,7 +19447,7 @@ const createVuetify = function () {
|
|
|
19437
19447
|
...options
|
|
19438
19448
|
});
|
|
19439
19449
|
};
|
|
19440
|
-
const version = "3.2.
|
|
19450
|
+
const version = "3.2.2";
|
|
19441
19451
|
createVuetify.version = version;
|
|
19442
19452
|
|
|
19443
19453
|
export { components, createVuetify, directives, useDefaults, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
|