vuetify 3.2.1 → 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 +16 -16
- package/dist/json/tags.json +35 -1
- package/dist/json/web-types.json +1657 -1327
- package/dist/vuetify-labs.css +131 -125
- package/dist/vuetify-labs.d.ts +419 -86
- package/dist/vuetify-labs.esm.js +100 -95
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +100 -95
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +53 -47
- package/dist/vuetify.d.ts +524 -191
- package/dist/vuetify.esm.js +95 -95
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +95 -95
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +46 -48
- 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/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 +5 -5
- 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/package.json +2 -2
package/dist/vuetify-labs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
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
|
*/
|
|
@@ -3344,14 +3344,13 @@
|
|
|
3344
3344
|
type: String
|
|
3345
3345
|
},
|
|
3346
3346
|
scrollThreshold: {
|
|
3347
|
-
type: [String, Number]
|
|
3347
|
+
type: [String, Number],
|
|
3348
|
+
default: 300
|
|
3348
3349
|
}
|
|
3349
3350
|
}, 'scroll');
|
|
3350
3351
|
function useScroll(props) {
|
|
3351
3352
|
let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
3352
3353
|
const {
|
|
3353
|
-
thresholdMetCallback,
|
|
3354
|
-
scrollThreshold,
|
|
3355
3354
|
canScroll
|
|
3356
3355
|
} = args;
|
|
3357
3356
|
let previousScroll = 0;
|
|
@@ -3361,8 +3360,16 @@
|
|
|
3361
3360
|
const currentThreshold = vue.ref(0);
|
|
3362
3361
|
const isScrollActive = vue.ref(false);
|
|
3363
3362
|
const isScrollingUp = vue.ref(false);
|
|
3364
|
-
const
|
|
3365
|
-
return Number(props.scrollThreshold
|
|
3363
|
+
const scrollThreshold = vue.computed(() => {
|
|
3364
|
+
return Number(props.scrollThreshold);
|
|
3365
|
+
});
|
|
3366
|
+
|
|
3367
|
+
/**
|
|
3368
|
+
* 1: at top
|
|
3369
|
+
* 0: at threshold
|
|
3370
|
+
*/
|
|
3371
|
+
const scrollRatio = vue.computed(() => {
|
|
3372
|
+
return clamp((scrollThreshold.value - currentScroll.value) / scrollThreshold.value || 0);
|
|
3366
3373
|
});
|
|
3367
3374
|
const onScroll = () => {
|
|
3368
3375
|
const targetEl = target.value;
|
|
@@ -3370,7 +3377,7 @@
|
|
|
3370
3377
|
previousScroll = currentScroll.value;
|
|
3371
3378
|
currentScroll.value = 'window' in targetEl ? targetEl.pageYOffset : targetEl.scrollTop;
|
|
3372
3379
|
isScrollingUp.value = currentScroll.value < previousScroll;
|
|
3373
|
-
currentThreshold.value = Math.abs(currentScroll.value -
|
|
3380
|
+
currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value);
|
|
3374
3381
|
};
|
|
3375
3382
|
vue.watch(isScrollingUp, () => {
|
|
3376
3383
|
savedScroll.value = savedScroll.value || currentScroll.value;
|
|
@@ -3398,15 +3405,6 @@
|
|
|
3398
3405
|
vue.onBeforeUnmount(() => {
|
|
3399
3406
|
target.value?.removeEventListener('scroll', onScroll);
|
|
3400
3407
|
});
|
|
3401
|
-
thresholdMetCallback && vue.watch(() => Math.abs(currentScroll.value - savedScroll.value) > computedScrollThreshold.value, thresholdMet => {
|
|
3402
|
-
thresholdMet && thresholdMetCallback({
|
|
3403
|
-
currentThreshold: currentThreshold.value,
|
|
3404
|
-
isScrollingUp: isScrollingUp.value,
|
|
3405
|
-
savedScroll
|
|
3406
|
-
});
|
|
3407
|
-
}, {
|
|
3408
|
-
immediate: true
|
|
3409
|
-
});
|
|
3410
3408
|
|
|
3411
3409
|
// Do we need this? If yes - seems that
|
|
3412
3410
|
// there's no need to expose onScroll
|
|
@@ -3414,10 +3412,11 @@
|
|
|
3414
3412
|
immediate: true
|
|
3415
3413
|
});
|
|
3416
3414
|
return {
|
|
3417
|
-
|
|
3415
|
+
scrollThreshold,
|
|
3418
3416
|
currentScroll,
|
|
3419
3417
|
currentThreshold,
|
|
3420
3418
|
isScrollActive,
|
|
3419
|
+
scrollRatio,
|
|
3421
3420
|
// required only for testing
|
|
3422
3421
|
// probably can be removed
|
|
3423
3422
|
// later (2 chars chlng)
|
|
@@ -3500,15 +3499,14 @@
|
|
|
3500
3499
|
});
|
|
3501
3500
|
const {
|
|
3502
3501
|
currentScroll,
|
|
3503
|
-
|
|
3504
|
-
|
|
3505
|
-
|
|
3502
|
+
scrollThreshold,
|
|
3503
|
+
isScrollingUp,
|
|
3504
|
+
scrollRatio
|
|
3506
3505
|
} = useScroll(props, {
|
|
3507
3506
|
canScroll
|
|
3508
3507
|
});
|
|
3509
|
-
const isCollapsed = vue.computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ?
|
|
3510
|
-
const isFlat = vue.computed(() => props.flat || scrollBehavior.value.elevate &&
|
|
3511
|
-
const scrollRatio = vue.computed(() => Math.min((currentThreshold.value - currentScroll.value) / currentThreshold.value || 1, 1));
|
|
3508
|
+
const isCollapsed = vue.computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0));
|
|
3509
|
+
const isFlat = vue.computed(() => props.flat || scrollBehavior.value.elevate && (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0));
|
|
3512
3510
|
const opacity = vue.computed(() => scrollBehavior.value.fadeImage ? scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value : undefined);
|
|
3513
3511
|
const height = vue.computed(() => {
|
|
3514
3512
|
if (scrollBehavior.value.hide && scrollBehavior.value.inverted) return 0;
|
|
@@ -3517,15 +3515,12 @@
|
|
|
3517
3515
|
return height + extensionHeight;
|
|
3518
3516
|
});
|
|
3519
3517
|
function setActive() {
|
|
3520
|
-
const val = currentScroll.value;
|
|
3521
3518
|
if (scrollBehavior.value.hide) {
|
|
3522
3519
|
if (scrollBehavior.value.inverted) {
|
|
3523
|
-
isActive.value =
|
|
3520
|
+
isActive.value = currentScroll.value > scrollThreshold.value;
|
|
3524
3521
|
} else {
|
|
3525
|
-
isActive.value = isScrollingUp.value ||
|
|
3522
|
+
isActive.value = isScrollingUp.value || currentScroll.value < scrollThreshold.value;
|
|
3526
3523
|
}
|
|
3527
|
-
} else if (scrollBehavior.value.inverted) {
|
|
3528
|
-
isActive.value = currentScroll.value === 0;
|
|
3529
3524
|
} else {
|
|
3530
3525
|
isActive.value = true;
|
|
3531
3526
|
}
|
|
@@ -4101,7 +4096,7 @@
|
|
|
4101
4096
|
const icons = vue.inject(IconSymbol);
|
|
4102
4097
|
if (!icons) throw new Error('Missing Vuetify Icons provide!');
|
|
4103
4098
|
const iconData = vue.computed(() => {
|
|
4104
|
-
const iconAlias = vue.
|
|
4099
|
+
const iconAlias = vue.unref(props);
|
|
4105
4100
|
if (!iconAlias) return {
|
|
4106
4101
|
component: VComponentIcon
|
|
4107
4102
|
};
|
|
@@ -4168,8 +4163,6 @@
|
|
|
4168
4163
|
});
|
|
4169
4164
|
}
|
|
4170
4165
|
|
|
4171
|
-
// Types
|
|
4172
|
-
|
|
4173
4166
|
const makeVIconProps = propsFactory({
|
|
4174
4167
|
color: String,
|
|
4175
4168
|
start: Boolean,
|
|
@@ -4190,20 +4183,13 @@
|
|
|
4190
4183
|
attrs,
|
|
4191
4184
|
slots
|
|
4192
4185
|
} = _ref;
|
|
4193
|
-
|
|
4194
|
-
if (slots.default) {
|
|
4195
|
-
slotIcon = vue.computed(() => {
|
|
4196
|
-
const slot = slots.default?.();
|
|
4197
|
-
if (!slot) return;
|
|
4198
|
-
return slot.filter(node => node.type === vue.Text && node.children && typeof node.children === 'string')[0]?.children;
|
|
4199
|
-
});
|
|
4200
|
-
}
|
|
4186
|
+
const slotIcon = vue.ref();
|
|
4201
4187
|
const {
|
|
4202
4188
|
themeClasses
|
|
4203
4189
|
} = provideTheme(props);
|
|
4204
4190
|
const {
|
|
4205
4191
|
iconData
|
|
4206
|
-
} = useIcon(slotIcon || props);
|
|
4192
|
+
} = useIcon(vue.computed(() => slotIcon.value || props.icon));
|
|
4207
4193
|
const {
|
|
4208
4194
|
sizeClasses
|
|
4209
4195
|
} = useSize(props);
|
|
@@ -4211,24 +4197,30 @@
|
|
|
4211
4197
|
textColorClasses,
|
|
4212
4198
|
textColorStyles
|
|
4213
4199
|
} = useTextColor(vue.toRef(props, 'color'));
|
|
4214
|
-
useRender(() =>
|
|
4215
|
-
|
|
4216
|
-
|
|
4217
|
-
|
|
4218
|
-
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
|
|
4222
|
-
|
|
4223
|
-
|
|
4224
|
-
|
|
4225
|
-
|
|
4226
|
-
|
|
4227
|
-
|
|
4228
|
-
|
|
4229
|
-
|
|
4230
|
-
|
|
4231
|
-
|
|
4200
|
+
useRender(() => {
|
|
4201
|
+
const slotValue = slots.default?.();
|
|
4202
|
+
if (slotValue) {
|
|
4203
|
+
slotIcon.value = slotValue.filter(node => node.type === vue.Text && node.children && typeof node.children === 'string')[0]?.children;
|
|
4204
|
+
}
|
|
4205
|
+
return vue.createVNode(iconData.value.component, {
|
|
4206
|
+
"tag": props.tag,
|
|
4207
|
+
"icon": iconData.value.icon,
|
|
4208
|
+
"class": ['v-icon', 'notranslate', themeClasses.value, sizeClasses.value, textColorClasses.value, {
|
|
4209
|
+
'v-icon--clickable': !!attrs.onClick,
|
|
4210
|
+
'v-icon--start': props.start,
|
|
4211
|
+
'v-icon--end': props.end
|
|
4212
|
+
}, props.class],
|
|
4213
|
+
"style": [!sizeClasses.value ? {
|
|
4214
|
+
fontSize: convertToUnit(props.size),
|
|
4215
|
+
height: convertToUnit(props.size),
|
|
4216
|
+
width: convertToUnit(props.size)
|
|
4217
|
+
} : undefined, textColorStyles.value, props.style],
|
|
4218
|
+
"role": attrs.onClick ? 'button' : undefined,
|
|
4219
|
+
"aria-hidden": !attrs.onClick
|
|
4220
|
+
}, {
|
|
4221
|
+
default: () => [slotValue]
|
|
4222
|
+
});
|
|
4223
|
+
});
|
|
4232
4224
|
return {};
|
|
4233
4225
|
}
|
|
4234
4226
|
});
|
|
@@ -5065,7 +5057,7 @@
|
|
|
5065
5057
|
...makeVariantProps({
|
|
5066
5058
|
variant: 'elevated'
|
|
5067
5059
|
})
|
|
5068
|
-
}, '
|
|
5060
|
+
}, 'v-btn');
|
|
5069
5061
|
const VBtn = genericComponent()({
|
|
5070
5062
|
name: 'VBtn',
|
|
5071
5063
|
directives: {
|
|
@@ -5135,6 +5127,11 @@
|
|
|
5135
5127
|
if (props.value === undefined) return undefined;
|
|
5136
5128
|
return Object(props.value) === props.value ? JSON.stringify(props.value, null, 0) : props.value;
|
|
5137
5129
|
});
|
|
5130
|
+
function onClick(e) {
|
|
5131
|
+
if (isDisabled.value) return;
|
|
5132
|
+
link.navigate?.(e);
|
|
5133
|
+
group?.toggle();
|
|
5134
|
+
}
|
|
5138
5135
|
useSelectLink(link, group?.select);
|
|
5139
5136
|
useRender(() => {
|
|
5140
5137
|
const Tag = link.isLink.value ? 'a' : props.tag;
|
|
@@ -5157,11 +5154,7 @@
|
|
|
5157
5154
|
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
|
|
5158
5155
|
"disabled": isDisabled.value || undefined,
|
|
5159
5156
|
"href": link.href.value,
|
|
5160
|
-
"onClick":
|
|
5161
|
-
if (isDisabled.value) return;
|
|
5162
|
-
link.navigate?.(e);
|
|
5163
|
-
group?.toggle();
|
|
5164
|
-
},
|
|
5157
|
+
"onClick": onClick,
|
|
5165
5158
|
"value": valueAttr.value
|
|
5166
5159
|
}, {
|
|
5167
5160
|
default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && vue.createVNode("span", {
|
|
@@ -5227,22 +5220,17 @@
|
|
|
5227
5220
|
|
|
5228
5221
|
const VAppBarNavIcon = genericComponent()({
|
|
5229
5222
|
name: 'VAppBarNavIcon',
|
|
5230
|
-
props: {
|
|
5231
|
-
icon:
|
|
5232
|
-
|
|
5233
|
-
|
|
5234
|
-
},
|
|
5235
|
-
...makeComponentProps()
|
|
5236
|
-
},
|
|
5223
|
+
props: makeVBtnProps({
|
|
5224
|
+
icon: '$menu',
|
|
5225
|
+
variant: 'text'
|
|
5226
|
+
}),
|
|
5237
5227
|
setup(props, _ref) {
|
|
5238
5228
|
let {
|
|
5239
5229
|
slots
|
|
5240
5230
|
} = _ref;
|
|
5241
|
-
useRender(() => vue.createVNode(VBtn, {
|
|
5242
|
-
"class": ['v-app-bar-nav-icon'
|
|
5243
|
-
|
|
5244
|
-
"style": props.style
|
|
5245
|
-
}, slots));
|
|
5231
|
+
useRender(() => vue.createVNode(VBtn, vue.mergeProps(props, {
|
|
5232
|
+
"class": ['v-app-bar-nav-icon']
|
|
5233
|
+
}), slots));
|
|
5246
5234
|
return {};
|
|
5247
5235
|
}
|
|
5248
5236
|
});
|
|
@@ -6445,7 +6433,7 @@
|
|
|
6445
6433
|
const vInputRef = vue.ref();
|
|
6446
6434
|
const vFieldRef = vue.ref();
|
|
6447
6435
|
const inputRef = vue.ref();
|
|
6448
|
-
const isActive = vue.computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value);
|
|
6436
|
+
const isActive = vue.computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value || props.active);
|
|
6449
6437
|
function onFocus() {
|
|
6450
6438
|
if (inputRef.value !== document.activeElement) {
|
|
6451
6439
|
inputRef.value?.focus();
|
|
@@ -6881,7 +6869,6 @@
|
|
|
6881
6869
|
"class": ['v-checkbox-btn', props.class],
|
|
6882
6870
|
"style": props.style,
|
|
6883
6871
|
"type": "checkbox",
|
|
6884
|
-
"inline": true,
|
|
6885
6872
|
"falseIcon": falseIcon.value,
|
|
6886
6873
|
"trueIcon": trueIcon.value,
|
|
6887
6874
|
"aria-checked": props.indeterminate ? 'mixed' : undefined
|
|
@@ -10380,11 +10367,13 @@
|
|
|
10380
10367
|
let {
|
|
10381
10368
|
isSelected
|
|
10382
10369
|
} = _ref2;
|
|
10383
|
-
return props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
|
|
10370
|
+
return vue.createVNode(vue.Fragment, null, [props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
|
|
10384
10371
|
"modelValue": isSelected,
|
|
10385
10372
|
"ripple": false,
|
|
10386
10373
|
"tabindex": "-1"
|
|
10387
|
-
}, null) : undefined
|
|
10374
|
+
}, null) : undefined, item.props.prependIcon && vue.createVNode(VIcon, {
|
|
10375
|
+
"icon": item.props.prependIcon
|
|
10376
|
+
}, null)]);
|
|
10388
10377
|
}
|
|
10389
10378
|
});
|
|
10390
10379
|
}), slots['append-item']?.()]
|
|
@@ -10397,6 +10386,10 @@
|
|
|
10397
10386
|
}
|
|
10398
10387
|
const slotProps = {
|
|
10399
10388
|
'onClick:close': onChipClose,
|
|
10389
|
+
onMousedown(e) {
|
|
10390
|
+
e.preventDefault();
|
|
10391
|
+
e.stopPropagation();
|
|
10392
|
+
},
|
|
10400
10393
|
modelValue: true,
|
|
10401
10394
|
'onUpdate:modelValue': undefined
|
|
10402
10395
|
};
|
|
@@ -10740,6 +10733,7 @@
|
|
|
10740
10733
|
isPristine.value = true;
|
|
10741
10734
|
vue.nextTick(() => isSelecting.value = false);
|
|
10742
10735
|
} else {
|
|
10736
|
+
if (!props.multiple && !search.value) model.value = [];
|
|
10743
10737
|
menu.value = false;
|
|
10744
10738
|
search.value = '';
|
|
10745
10739
|
}
|
|
@@ -10819,11 +10813,13 @@
|
|
|
10819
10813
|
let {
|
|
10820
10814
|
isSelected
|
|
10821
10815
|
} = _ref2;
|
|
10822
|
-
return props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
|
|
10816
|
+
return vue.createVNode(vue.Fragment, null, [props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
|
|
10823
10817
|
"modelValue": isSelected,
|
|
10824
10818
|
"ripple": false,
|
|
10825
10819
|
"tabindex": "-1"
|
|
10826
|
-
}, null) : undefined
|
|
10820
|
+
}, null) : undefined, item.props.prependIcon && vue.createVNode(VIcon, {
|
|
10821
|
+
"icon": item.props.prependIcon
|
|
10822
|
+
}, null)]);
|
|
10827
10823
|
},
|
|
10828
10824
|
title: () => {
|
|
10829
10825
|
return isPristine.value ? item.title : highlightResult$1(item.title, getMatches(item)?.title, search.value?.length ?? 0);
|
|
@@ -10838,6 +10834,10 @@
|
|
|
10838
10834
|
}
|
|
10839
10835
|
const slotProps = {
|
|
10840
10836
|
'onClick:close': onChipClose,
|
|
10837
|
+
onMousedown(e) {
|
|
10838
|
+
e.preventDefault();
|
|
10839
|
+
e.stopPropagation();
|
|
10840
|
+
},
|
|
10841
10841
|
modelValue: true,
|
|
10842
10842
|
'onUpdate:modelValue': undefined
|
|
10843
10843
|
};
|
|
@@ -14264,11 +14264,13 @@
|
|
|
14264
14264
|
let {
|
|
14265
14265
|
isSelected
|
|
14266
14266
|
} = _ref2;
|
|
14267
|
-
return props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
|
|
14267
|
+
return vue.createVNode(vue.Fragment, null, [props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
|
|
14268
14268
|
"modelValue": isSelected,
|
|
14269
14269
|
"ripple": false,
|
|
14270
14270
|
"tabindex": "-1"
|
|
14271
|
-
}, null) : undefined
|
|
14271
|
+
}, null) : undefined, item.props.prependIcon && vue.createVNode(VIcon, {
|
|
14272
|
+
"icon": item.props.prependIcon
|
|
14273
|
+
}, null)]);
|
|
14272
14274
|
},
|
|
14273
14275
|
title: () => {
|
|
14274
14276
|
return isPristine.value ? item.title : highlightResult(item.title, getMatches(item)?.title, search.value?.length ?? 0);
|
|
@@ -14283,6 +14285,10 @@
|
|
|
14283
14285
|
}
|
|
14284
14286
|
const slotProps = {
|
|
14285
14287
|
'onClick:close': onChipClose,
|
|
14288
|
+
onMousedown(e) {
|
|
14289
|
+
e.preventDefault();
|
|
14290
|
+
e.stopPropagation();
|
|
14291
|
+
},
|
|
14286
14292
|
modelValue: true,
|
|
14287
14293
|
'onUpdate:modelValue': undefined
|
|
14288
14294
|
};
|
|
@@ -14746,6 +14752,7 @@
|
|
|
14746
14752
|
const vInputRef = vue.ref();
|
|
14747
14753
|
const vFieldRef = vue.ref();
|
|
14748
14754
|
const inputRef = vue.ref();
|
|
14755
|
+
const isActive = vue.computed(() => isFocused.value || props.active);
|
|
14749
14756
|
function onFocus() {
|
|
14750
14757
|
if (inputRef.value !== document.activeElement) {
|
|
14751
14758
|
inputRef.value?.focus();
|
|
@@ -14814,7 +14821,7 @@
|
|
|
14814
14821
|
"onClick:appendInner": props['onClick:appendInner']
|
|
14815
14822
|
}, fieldProps, {
|
|
14816
14823
|
"id": id.value,
|
|
14817
|
-
"active":
|
|
14824
|
+
"active": isActive.value || isDirty.value,
|
|
14818
14825
|
"dirty": isDirty.value,
|
|
14819
14826
|
"disabled": isDisabled.value,
|
|
14820
14827
|
"focused": isFocused.value,
|
|
@@ -15980,7 +15987,6 @@
|
|
|
15980
15987
|
});
|
|
15981
15988
|
const {
|
|
15982
15989
|
layoutItemStyles,
|
|
15983
|
-
layoutRect,
|
|
15984
15990
|
layoutItemScrimStyles
|
|
15985
15991
|
} = useLayoutItem({
|
|
15986
15992
|
id: props.name,
|
|
@@ -16010,12 +16016,6 @@
|
|
|
16010
16016
|
opacity: dragProgress.value * 0.2,
|
|
16011
16017
|
transition: 'none'
|
|
16012
16018
|
} : undefined),
|
|
16013
|
-
...(layoutRect.value ? {
|
|
16014
|
-
left: convertToUnit(layoutRect.value.left),
|
|
16015
|
-
right: convertToUnit(layoutRect.value.right),
|
|
16016
|
-
top: convertToUnit(layoutRect.value.top),
|
|
16017
|
-
bottom: convertToUnit(layoutRect.value.bottom)
|
|
16018
|
-
} : undefined),
|
|
16019
16019
|
...layoutItemScrimStyles.value
|
|
16020
16020
|
}));
|
|
16021
16021
|
provideDefaults({
|
|
@@ -17979,7 +17979,7 @@
|
|
|
17979
17979
|
const vFieldRef = vue.ref();
|
|
17980
17980
|
const controlHeight = vue.ref('');
|
|
17981
17981
|
const textareaRef = vue.ref();
|
|
17982
|
-
const isActive = vue.computed(() => isFocused.value || props.
|
|
17982
|
+
const isActive = vue.computed(() => props.persistentPlaceholder || isFocused.value || props.active);
|
|
17983
17983
|
function onFocus() {
|
|
17984
17984
|
if (textareaRef.value !== document.activeElement) {
|
|
17985
17985
|
textareaRef.value?.focus();
|
|
@@ -19670,6 +19670,11 @@
|
|
|
19670
19670
|
if (itemsPerPage.value === -1 || itemsLength.value === 0) return 1;
|
|
19671
19671
|
return Math.ceil(itemsLength.value / itemsPerPage.value);
|
|
19672
19672
|
});
|
|
19673
|
+
vue.watchEffect(() => {
|
|
19674
|
+
if (page.value > pageCount.value) {
|
|
19675
|
+
page.value = pageCount.value;
|
|
19676
|
+
}
|
|
19677
|
+
});
|
|
19673
19678
|
function setItemsPerPage(value) {
|
|
19674
19679
|
itemsPerPage.value = value;
|
|
19675
19680
|
page.value = 1;
|
|
@@ -21545,7 +21550,7 @@
|
|
|
21545
21550
|
date
|
|
21546
21551
|
};
|
|
21547
21552
|
}
|
|
21548
|
-
const version$1 = "3.2.
|
|
21553
|
+
const version$1 = "3.2.2";
|
|
21549
21554
|
createVuetify$1.version = version$1;
|
|
21550
21555
|
|
|
21551
21556
|
// Vue's inject() can only be used in setup
|
|
@@ -21557,7 +21562,7 @@
|
|
|
21557
21562
|
}
|
|
21558
21563
|
}
|
|
21559
21564
|
|
|
21560
|
-
const version = "3.2.
|
|
21565
|
+
const version = "3.2.2";
|
|
21561
21566
|
|
|
21562
21567
|
const createVuetify = function () {
|
|
21563
21568
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|