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-labs.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, withModifiers } 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;
|
|
@@ -3330,14 +3340,13 @@ const makeScrollProps = propsFactory({
|
|
|
3330
3340
|
type: String
|
|
3331
3341
|
},
|
|
3332
3342
|
scrollThreshold: {
|
|
3333
|
-
type: [String, Number]
|
|
3343
|
+
type: [String, Number],
|
|
3344
|
+
default: 300
|
|
3334
3345
|
}
|
|
3335
3346
|
}, 'scroll');
|
|
3336
3347
|
function useScroll(props) {
|
|
3337
3348
|
let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
3338
3349
|
const {
|
|
3339
|
-
thresholdMetCallback,
|
|
3340
|
-
scrollThreshold,
|
|
3341
3350
|
canScroll
|
|
3342
3351
|
} = args;
|
|
3343
3352
|
let previousScroll = 0;
|
|
@@ -3347,8 +3356,16 @@ function useScroll(props) {
|
|
|
3347
3356
|
const currentThreshold = ref(0);
|
|
3348
3357
|
const isScrollActive = ref(false);
|
|
3349
3358
|
const isScrollingUp = ref(false);
|
|
3350
|
-
const
|
|
3351
|
-
return Number(props.scrollThreshold
|
|
3359
|
+
const scrollThreshold = computed(() => {
|
|
3360
|
+
return Number(props.scrollThreshold);
|
|
3361
|
+
});
|
|
3362
|
+
|
|
3363
|
+
/**
|
|
3364
|
+
* 1: at top
|
|
3365
|
+
* 0: at threshold
|
|
3366
|
+
*/
|
|
3367
|
+
const scrollRatio = computed(() => {
|
|
3368
|
+
return clamp((scrollThreshold.value - currentScroll.value) / scrollThreshold.value || 0);
|
|
3352
3369
|
});
|
|
3353
3370
|
const onScroll = () => {
|
|
3354
3371
|
const targetEl = target.value;
|
|
@@ -3356,7 +3373,7 @@ function useScroll(props) {
|
|
|
3356
3373
|
previousScroll = currentScroll.value;
|
|
3357
3374
|
currentScroll.value = 'window' in targetEl ? targetEl.pageYOffset : targetEl.scrollTop;
|
|
3358
3375
|
isScrollingUp.value = currentScroll.value < previousScroll;
|
|
3359
|
-
currentThreshold.value = Math.abs(currentScroll.value -
|
|
3376
|
+
currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value);
|
|
3360
3377
|
};
|
|
3361
3378
|
watch(isScrollingUp, () => {
|
|
3362
3379
|
savedScroll.value = savedScroll.value || currentScroll.value;
|
|
@@ -3384,15 +3401,6 @@ function useScroll(props) {
|
|
|
3384
3401
|
onBeforeUnmount(() => {
|
|
3385
3402
|
target.value?.removeEventListener('scroll', onScroll);
|
|
3386
3403
|
});
|
|
3387
|
-
thresholdMetCallback && watch(() => Math.abs(currentScroll.value - savedScroll.value) > computedScrollThreshold.value, thresholdMet => {
|
|
3388
|
-
thresholdMet && thresholdMetCallback({
|
|
3389
|
-
currentThreshold: currentThreshold.value,
|
|
3390
|
-
isScrollingUp: isScrollingUp.value,
|
|
3391
|
-
savedScroll
|
|
3392
|
-
});
|
|
3393
|
-
}, {
|
|
3394
|
-
immediate: true
|
|
3395
|
-
});
|
|
3396
3404
|
|
|
3397
3405
|
// Do we need this? If yes - seems that
|
|
3398
3406
|
// there's no need to expose onScroll
|
|
@@ -3400,10 +3408,11 @@ function useScroll(props) {
|
|
|
3400
3408
|
immediate: true
|
|
3401
3409
|
});
|
|
3402
3410
|
return {
|
|
3403
|
-
|
|
3411
|
+
scrollThreshold,
|
|
3404
3412
|
currentScroll,
|
|
3405
3413
|
currentThreshold,
|
|
3406
3414
|
isScrollActive,
|
|
3415
|
+
scrollRatio,
|
|
3407
3416
|
// required only for testing
|
|
3408
3417
|
// probably can be removed
|
|
3409
3418
|
// later (2 chars chlng)
|
|
@@ -3486,15 +3495,14 @@ const VAppBar = genericComponent()({
|
|
|
3486
3495
|
});
|
|
3487
3496
|
const {
|
|
3488
3497
|
currentScroll,
|
|
3489
|
-
|
|
3490
|
-
|
|
3491
|
-
|
|
3498
|
+
scrollThreshold,
|
|
3499
|
+
isScrollingUp,
|
|
3500
|
+
scrollRatio
|
|
3492
3501
|
} = useScroll(props, {
|
|
3493
3502
|
canScroll
|
|
3494
3503
|
});
|
|
3495
|
-
const isCollapsed = computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ?
|
|
3496
|
-
const isFlat = computed(() => props.flat || scrollBehavior.value.elevate &&
|
|
3497
|
-
const scrollRatio = computed(() => Math.min((currentThreshold.value - currentScroll.value) / currentThreshold.value || 1, 1));
|
|
3504
|
+
const isCollapsed = computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0));
|
|
3505
|
+
const isFlat = computed(() => props.flat || scrollBehavior.value.elevate && (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0));
|
|
3498
3506
|
const opacity = computed(() => scrollBehavior.value.fadeImage ? scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value : undefined);
|
|
3499
3507
|
const height = computed(() => {
|
|
3500
3508
|
if (scrollBehavior.value.hide && scrollBehavior.value.inverted) return 0;
|
|
@@ -3503,15 +3511,12 @@ const VAppBar = genericComponent()({
|
|
|
3503
3511
|
return height + extensionHeight;
|
|
3504
3512
|
});
|
|
3505
3513
|
function setActive() {
|
|
3506
|
-
const val = currentScroll.value;
|
|
3507
3514
|
if (scrollBehavior.value.hide) {
|
|
3508
3515
|
if (scrollBehavior.value.inverted) {
|
|
3509
|
-
isActive.value =
|
|
3516
|
+
isActive.value = currentScroll.value > scrollThreshold.value;
|
|
3510
3517
|
} else {
|
|
3511
|
-
isActive.value = isScrollingUp.value ||
|
|
3518
|
+
isActive.value = isScrollingUp.value || currentScroll.value < scrollThreshold.value;
|
|
3512
3519
|
}
|
|
3513
|
-
} else if (scrollBehavior.value.inverted) {
|
|
3514
|
-
isActive.value = currentScroll.value === 0;
|
|
3515
3520
|
} else {
|
|
3516
3521
|
isActive.value = true;
|
|
3517
3522
|
}
|
|
@@ -4087,7 +4092,7 @@ const useIcon = props => {
|
|
|
4087
4092
|
const icons = inject$1(IconSymbol);
|
|
4088
4093
|
if (!icons) throw new Error('Missing Vuetify Icons provide!');
|
|
4089
4094
|
const iconData = computed(() => {
|
|
4090
|
-
const iconAlias =
|
|
4095
|
+
const iconAlias = unref(props);
|
|
4091
4096
|
if (!iconAlias) return {
|
|
4092
4097
|
component: VComponentIcon
|
|
4093
4098
|
};
|
|
@@ -4154,8 +4159,6 @@ function useSize(props) {
|
|
|
4154
4159
|
});
|
|
4155
4160
|
}
|
|
4156
4161
|
|
|
4157
|
-
// Types
|
|
4158
|
-
|
|
4159
4162
|
const makeVIconProps = propsFactory({
|
|
4160
4163
|
color: String,
|
|
4161
4164
|
start: Boolean,
|
|
@@ -4176,20 +4179,13 @@ const VIcon = genericComponent()({
|
|
|
4176
4179
|
attrs,
|
|
4177
4180
|
slots
|
|
4178
4181
|
} = _ref;
|
|
4179
|
-
|
|
4180
|
-
if (slots.default) {
|
|
4181
|
-
slotIcon = computed(() => {
|
|
4182
|
-
const slot = slots.default?.();
|
|
4183
|
-
if (!slot) return;
|
|
4184
|
-
return slot.filter(node => node.type === Text && node.children && typeof node.children === 'string')[0]?.children;
|
|
4185
|
-
});
|
|
4186
|
-
}
|
|
4182
|
+
const slotIcon = ref();
|
|
4187
4183
|
const {
|
|
4188
4184
|
themeClasses
|
|
4189
4185
|
} = provideTheme(props);
|
|
4190
4186
|
const {
|
|
4191
4187
|
iconData
|
|
4192
|
-
} = useIcon(slotIcon || props);
|
|
4188
|
+
} = useIcon(computed(() => slotIcon.value || props.icon));
|
|
4193
4189
|
const {
|
|
4194
4190
|
sizeClasses
|
|
4195
4191
|
} = useSize(props);
|
|
@@ -4197,24 +4193,30 @@ const VIcon = genericComponent()({
|
|
|
4197
4193
|
textColorClasses,
|
|
4198
4194
|
textColorStyles
|
|
4199
4195
|
} = useTextColor(toRef(props, 'color'));
|
|
4200
|
-
useRender(() =>
|
|
4201
|
-
|
|
4202
|
-
|
|
4203
|
-
|
|
4204
|
-
|
|
4205
|
-
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
|
|
4213
|
-
|
|
4214
|
-
|
|
4215
|
-
|
|
4216
|
-
|
|
4217
|
-
|
|
4196
|
+
useRender(() => {
|
|
4197
|
+
const slotValue = slots.default?.();
|
|
4198
|
+
if (slotValue) {
|
|
4199
|
+
slotIcon.value = slotValue.filter(node => node.type === Text && node.children && typeof node.children === 'string')[0]?.children;
|
|
4200
|
+
}
|
|
4201
|
+
return createVNode(iconData.value.component, {
|
|
4202
|
+
"tag": props.tag,
|
|
4203
|
+
"icon": iconData.value.icon,
|
|
4204
|
+
"class": ['v-icon', 'notranslate', themeClasses.value, sizeClasses.value, textColorClasses.value, {
|
|
4205
|
+
'v-icon--clickable': !!attrs.onClick,
|
|
4206
|
+
'v-icon--start': props.start,
|
|
4207
|
+
'v-icon--end': props.end
|
|
4208
|
+
}, props.class],
|
|
4209
|
+
"style": [!sizeClasses.value ? {
|
|
4210
|
+
fontSize: convertToUnit(props.size),
|
|
4211
|
+
height: convertToUnit(props.size),
|
|
4212
|
+
width: convertToUnit(props.size)
|
|
4213
|
+
} : undefined, textColorStyles.value, props.style],
|
|
4214
|
+
"role": attrs.onClick ? 'button' : undefined,
|
|
4215
|
+
"aria-hidden": !attrs.onClick
|
|
4216
|
+
}, {
|
|
4217
|
+
default: () => [slotValue]
|
|
4218
|
+
});
|
|
4219
|
+
});
|
|
4218
4220
|
return {};
|
|
4219
4221
|
}
|
|
4220
4222
|
});
|
|
@@ -5051,7 +5053,7 @@ const makeVBtnProps = propsFactory({
|
|
|
5051
5053
|
...makeVariantProps({
|
|
5052
5054
|
variant: 'elevated'
|
|
5053
5055
|
})
|
|
5054
|
-
}, '
|
|
5056
|
+
}, 'v-btn');
|
|
5055
5057
|
const VBtn = genericComponent()({
|
|
5056
5058
|
name: 'VBtn',
|
|
5057
5059
|
directives: {
|
|
@@ -5121,6 +5123,11 @@ const VBtn = genericComponent()({
|
|
|
5121
5123
|
if (props.value === undefined) return undefined;
|
|
5122
5124
|
return Object(props.value) === props.value ? JSON.stringify(props.value, null, 0) : props.value;
|
|
5123
5125
|
});
|
|
5126
|
+
function onClick(e) {
|
|
5127
|
+
if (isDisabled.value) return;
|
|
5128
|
+
link.navigate?.(e);
|
|
5129
|
+
group?.toggle();
|
|
5130
|
+
}
|
|
5124
5131
|
useSelectLink(link, group?.select);
|
|
5125
5132
|
useRender(() => {
|
|
5126
5133
|
const Tag = link.isLink.value ? 'a' : props.tag;
|
|
@@ -5143,11 +5150,7 @@ const VBtn = genericComponent()({
|
|
|
5143
5150
|
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
|
|
5144
5151
|
"disabled": isDisabled.value || undefined,
|
|
5145
5152
|
"href": link.href.value,
|
|
5146
|
-
"onClick":
|
|
5147
|
-
if (isDisabled.value) return;
|
|
5148
|
-
link.navigate?.(e);
|
|
5149
|
-
group?.toggle();
|
|
5150
|
-
},
|
|
5153
|
+
"onClick": onClick,
|
|
5151
5154
|
"value": valueAttr.value
|
|
5152
5155
|
}, {
|
|
5153
5156
|
default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && createVNode("span", {
|
|
@@ -5213,22 +5216,17 @@ const VBtn = genericComponent()({
|
|
|
5213
5216
|
|
|
5214
5217
|
const VAppBarNavIcon = genericComponent()({
|
|
5215
5218
|
name: 'VAppBarNavIcon',
|
|
5216
|
-
props: {
|
|
5217
|
-
icon:
|
|
5218
|
-
|
|
5219
|
-
|
|
5220
|
-
},
|
|
5221
|
-
...makeComponentProps()
|
|
5222
|
-
},
|
|
5219
|
+
props: makeVBtnProps({
|
|
5220
|
+
icon: '$menu',
|
|
5221
|
+
variant: 'text'
|
|
5222
|
+
}),
|
|
5223
5223
|
setup(props, _ref) {
|
|
5224
5224
|
let {
|
|
5225
5225
|
slots
|
|
5226
5226
|
} = _ref;
|
|
5227
|
-
useRender(() => createVNode(VBtn, {
|
|
5228
|
-
"class": ['v-app-bar-nav-icon'
|
|
5229
|
-
|
|
5230
|
-
"style": props.style
|
|
5231
|
-
}, slots));
|
|
5227
|
+
useRender(() => createVNode(VBtn, mergeProps(props, {
|
|
5228
|
+
"class": ['v-app-bar-nav-icon']
|
|
5229
|
+
}), slots));
|
|
5232
5230
|
return {};
|
|
5233
5231
|
}
|
|
5234
5232
|
});
|
|
@@ -6431,7 +6429,7 @@ const VTextField = genericComponent()({
|
|
|
6431
6429
|
const vInputRef = ref();
|
|
6432
6430
|
const vFieldRef = ref();
|
|
6433
6431
|
const inputRef = ref();
|
|
6434
|
-
const isActive = computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value);
|
|
6432
|
+
const isActive = computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value || props.active);
|
|
6435
6433
|
function onFocus() {
|
|
6436
6434
|
if (inputRef.value !== document.activeElement) {
|
|
6437
6435
|
inputRef.value?.focus();
|
|
@@ -6867,7 +6865,6 @@ const VCheckboxBtn = genericComponent()({
|
|
|
6867
6865
|
"class": ['v-checkbox-btn', props.class],
|
|
6868
6866
|
"style": props.style,
|
|
6869
6867
|
"type": "checkbox",
|
|
6870
|
-
"inline": true,
|
|
6871
6868
|
"falseIcon": falseIcon.value,
|
|
6872
6869
|
"trueIcon": trueIcon.value,
|
|
6873
6870
|
"aria-checked": props.indeterminate ? 'mixed' : undefined
|
|
@@ -10366,11 +10363,13 @@ const VSelect = genericComponent()({
|
|
|
10366
10363
|
let {
|
|
10367
10364
|
isSelected
|
|
10368
10365
|
} = _ref2;
|
|
10369
|
-
return props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
|
10366
|
+
return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
|
10370
10367
|
"modelValue": isSelected,
|
|
10371
10368
|
"ripple": false,
|
|
10372
10369
|
"tabindex": "-1"
|
|
10373
|
-
}, null) : undefined
|
|
10370
|
+
}, null) : undefined, item.props.prependIcon && createVNode(VIcon, {
|
|
10371
|
+
"icon": item.props.prependIcon
|
|
10372
|
+
}, null)]);
|
|
10374
10373
|
}
|
|
10375
10374
|
});
|
|
10376
10375
|
}), slots['append-item']?.()]
|
|
@@ -10383,6 +10382,10 @@ const VSelect = genericComponent()({
|
|
|
10383
10382
|
}
|
|
10384
10383
|
const slotProps = {
|
|
10385
10384
|
'onClick:close': onChipClose,
|
|
10385
|
+
onMousedown(e) {
|
|
10386
|
+
e.preventDefault();
|
|
10387
|
+
e.stopPropagation();
|
|
10388
|
+
},
|
|
10386
10389
|
modelValue: true,
|
|
10387
10390
|
'onUpdate:modelValue': undefined
|
|
10388
10391
|
};
|
|
@@ -10726,6 +10729,7 @@ const VAutocomplete = genericComponent()({
|
|
|
10726
10729
|
isPristine.value = true;
|
|
10727
10730
|
nextTick(() => isSelecting.value = false);
|
|
10728
10731
|
} else {
|
|
10732
|
+
if (!props.multiple && !search.value) model.value = [];
|
|
10729
10733
|
menu.value = false;
|
|
10730
10734
|
search.value = '';
|
|
10731
10735
|
}
|
|
@@ -10805,11 +10809,13 @@ const VAutocomplete = genericComponent()({
|
|
|
10805
10809
|
let {
|
|
10806
10810
|
isSelected
|
|
10807
10811
|
} = _ref2;
|
|
10808
|
-
return props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
|
10812
|
+
return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
|
10809
10813
|
"modelValue": isSelected,
|
|
10810
10814
|
"ripple": false,
|
|
10811
10815
|
"tabindex": "-1"
|
|
10812
|
-
}, null) : undefined
|
|
10816
|
+
}, null) : undefined, item.props.prependIcon && createVNode(VIcon, {
|
|
10817
|
+
"icon": item.props.prependIcon
|
|
10818
|
+
}, null)]);
|
|
10813
10819
|
},
|
|
10814
10820
|
title: () => {
|
|
10815
10821
|
return isPristine.value ? item.title : highlightResult$1(item.title, getMatches(item)?.title, search.value?.length ?? 0);
|
|
@@ -10824,6 +10830,10 @@ const VAutocomplete = genericComponent()({
|
|
|
10824
10830
|
}
|
|
10825
10831
|
const slotProps = {
|
|
10826
10832
|
'onClick:close': onChipClose,
|
|
10833
|
+
onMousedown(e) {
|
|
10834
|
+
e.preventDefault();
|
|
10835
|
+
e.stopPropagation();
|
|
10836
|
+
},
|
|
10827
10837
|
modelValue: true,
|
|
10828
10838
|
'onUpdate:modelValue': undefined
|
|
10829
10839
|
};
|
|
@@ -14250,11 +14260,13 @@ const VCombobox = genericComponent()({
|
|
|
14250
14260
|
let {
|
|
14251
14261
|
isSelected
|
|
14252
14262
|
} = _ref2;
|
|
14253
|
-
return props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
|
14263
|
+
return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
|
14254
14264
|
"modelValue": isSelected,
|
|
14255
14265
|
"ripple": false,
|
|
14256
14266
|
"tabindex": "-1"
|
|
14257
|
-
}, null) : undefined
|
|
14267
|
+
}, null) : undefined, item.props.prependIcon && createVNode(VIcon, {
|
|
14268
|
+
"icon": item.props.prependIcon
|
|
14269
|
+
}, null)]);
|
|
14258
14270
|
},
|
|
14259
14271
|
title: () => {
|
|
14260
14272
|
return isPristine.value ? item.title : highlightResult(item.title, getMatches(item)?.title, search.value?.length ?? 0);
|
|
@@ -14269,6 +14281,10 @@ const VCombobox = genericComponent()({
|
|
|
14269
14281
|
}
|
|
14270
14282
|
const slotProps = {
|
|
14271
14283
|
'onClick:close': onChipClose,
|
|
14284
|
+
onMousedown(e) {
|
|
14285
|
+
e.preventDefault();
|
|
14286
|
+
e.stopPropagation();
|
|
14287
|
+
},
|
|
14272
14288
|
modelValue: true,
|
|
14273
14289
|
'onUpdate:modelValue': undefined
|
|
14274
14290
|
};
|
|
@@ -14732,6 +14748,7 @@ const VFileInput = genericComponent()({
|
|
|
14732
14748
|
const vInputRef = ref();
|
|
14733
14749
|
const vFieldRef = ref();
|
|
14734
14750
|
const inputRef = ref();
|
|
14751
|
+
const isActive = computed(() => isFocused.value || props.active);
|
|
14735
14752
|
function onFocus() {
|
|
14736
14753
|
if (inputRef.value !== document.activeElement) {
|
|
14737
14754
|
inputRef.value?.focus();
|
|
@@ -14800,7 +14817,7 @@ const VFileInput = genericComponent()({
|
|
|
14800
14817
|
"onClick:appendInner": props['onClick:appendInner']
|
|
14801
14818
|
}, fieldProps, {
|
|
14802
14819
|
"id": id.value,
|
|
14803
|
-
"active":
|
|
14820
|
+
"active": isActive.value || isDirty.value,
|
|
14804
14821
|
"dirty": isDirty.value,
|
|
14805
14822
|
"disabled": isDisabled.value,
|
|
14806
14823
|
"focused": isFocused.value,
|
|
@@ -15966,7 +15983,6 @@ const VNavigationDrawer = genericComponent()({
|
|
|
15966
15983
|
});
|
|
15967
15984
|
const {
|
|
15968
15985
|
layoutItemStyles,
|
|
15969
|
-
layoutRect,
|
|
15970
15986
|
layoutItemScrimStyles
|
|
15971
15987
|
} = useLayoutItem({
|
|
15972
15988
|
id: props.name,
|
|
@@ -15996,12 +16012,6 @@ const VNavigationDrawer = genericComponent()({
|
|
|
15996
16012
|
opacity: dragProgress.value * 0.2,
|
|
15997
16013
|
transition: 'none'
|
|
15998
16014
|
} : undefined),
|
|
15999
|
-
...(layoutRect.value ? {
|
|
16000
|
-
left: convertToUnit(layoutRect.value.left),
|
|
16001
|
-
right: convertToUnit(layoutRect.value.right),
|
|
16002
|
-
top: convertToUnit(layoutRect.value.top),
|
|
16003
|
-
bottom: convertToUnit(layoutRect.value.bottom)
|
|
16004
|
-
} : undefined),
|
|
16005
16015
|
...layoutItemScrimStyles.value
|
|
16006
16016
|
}));
|
|
16007
16017
|
provideDefaults({
|
|
@@ -17965,7 +17975,7 @@ const VTextarea = genericComponent()({
|
|
|
17965
17975
|
const vFieldRef = ref();
|
|
17966
17976
|
const controlHeight = ref('');
|
|
17967
17977
|
const textareaRef = ref();
|
|
17968
|
-
const isActive = computed(() => isFocused.value || props.
|
|
17978
|
+
const isActive = computed(() => props.persistentPlaceholder || isFocused.value || props.active);
|
|
17969
17979
|
function onFocus() {
|
|
17970
17980
|
if (textareaRef.value !== document.activeElement) {
|
|
17971
17981
|
textareaRef.value?.focus();
|
|
@@ -19656,6 +19666,11 @@ function providePagination(options) {
|
|
|
19656
19666
|
if (itemsPerPage.value === -1 || itemsLength.value === 0) return 1;
|
|
19657
19667
|
return Math.ceil(itemsLength.value / itemsPerPage.value);
|
|
19658
19668
|
});
|
|
19669
|
+
watchEffect(() => {
|
|
19670
|
+
if (page.value > pageCount.value) {
|
|
19671
|
+
page.value = pageCount.value;
|
|
19672
|
+
}
|
|
19673
|
+
});
|
|
19659
19674
|
function setItemsPerPage(value) {
|
|
19660
19675
|
itemsPerPage.value = value;
|
|
19661
19676
|
page.value = 1;
|
|
@@ -21531,7 +21546,7 @@ function createVuetify$1() {
|
|
|
21531
21546
|
date
|
|
21532
21547
|
};
|
|
21533
21548
|
}
|
|
21534
|
-
const version$1 = "3.2.
|
|
21549
|
+
const version$1 = "3.2.2";
|
|
21535
21550
|
createVuetify$1.version = version$1;
|
|
21536
21551
|
|
|
21537
21552
|
// Vue's inject() can only be used in setup
|
|
@@ -21543,7 +21558,7 @@ function inject(key) {
|
|
|
21543
21558
|
}
|
|
21544
21559
|
}
|
|
21545
21560
|
|
|
21546
|
-
const version = "3.2.
|
|
21561
|
+
const version = "3.2.2";
|
|
21547
21562
|
|
|
21548
21563
|
const createVuetify = function () {
|
|
21549
21564
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|