vuetify 3.1.0 → 3.1.1
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/importMap.json +54 -54
- package/dist/json/web-types.json +65 -1
- package/dist/vuetify-labs.css +25743 -0
- package/dist/vuetify-labs.d.ts +25933 -38
- package/dist/vuetify-labs.esm.js +20101 -0
- package/dist/vuetify-labs.esm.js.map +1 -0
- package/dist/vuetify-labs.js +14980 -4612
- package/dist/vuetify-labs.min.css +12 -0
- package/dist/vuetify.css +96 -96
- package/dist/vuetify.d.ts +15 -14
- package/dist/vuetify.esm.js +77 -38
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +77 -38
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +189 -189
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs +4 -4
- package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +16 -7
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +1 -0
- package/lib/components/VCheckbox/VCheckbox.mjs +2 -0
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +16 -7
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +1 -0
- package/lib/components/VField/VField.mjs +3 -1
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/index.d.ts +1 -0
- package/lib/components/VFileInput/VFileInput.mjs +2 -0
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +1 -0
- package/lib/components/VInput/VInput.mjs +3 -0
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.ts +1 -0
- package/lib/components/VMessages/VMessages.mjs +3 -1
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -0
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs +4 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +18 -9
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +1 -0
- package/lib/components/VSlider/VSlider.mjs +4 -1
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.mjs +2 -0
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +1 -0
- package/lib/components/VTextarea/index.d.ts +1 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/components/transitions/dialog-transition.mjs +3 -9
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +14 -14
- package/lib/labs/allComponents.mjs +3 -0
- package/lib/labs/allComponents.mjs.map +1 -0
- package/lib/labs/entry-bundler.mjs +14 -0
- package/lib/labs/entry-bundler.mjs.map +1 -0
- package/lib/util/defineComponent.mjs +1 -1
- package/lib/util/defineComponent.mjs.map +1 -1
- package/package.json +2 -2
package/dist/vuetify.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.1.
|
|
2
|
+
* Vuetify v3.1.1
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -990,7 +990,7 @@ function propsFactory(props, source) {
|
|
|
990
990
|
// Utils
|
|
991
991
|
function propIsDefined(vnode, prop) {
|
|
992
992
|
var _vnode$props, _vnode$props2;
|
|
993
|
-
return ((_vnode$props = vnode.props) == null ? void 0 : _vnode$props
|
|
993
|
+
return typeof ((_vnode$props = vnode.props) == null ? void 0 : _vnode$props[prop]) !== 'undefined' || typeof ((_vnode$props2 = vnode.props) == null ? void 0 : _vnode$props2[toKebabCase(prop)]) !== 'undefined';
|
|
994
994
|
}
|
|
995
995
|
const defineComponent = function defineComponent(options) {
|
|
996
996
|
options._setup = options._setup ?? options.setup;
|
|
@@ -2366,9 +2366,7 @@ const VDialogTransition = defineComponent({
|
|
|
2366
2366
|
const animation = animate(el, [{
|
|
2367
2367
|
transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,
|
|
2368
2368
|
opacity: 0
|
|
2369
|
-
}, {
|
|
2370
|
-
transform: ''
|
|
2371
|
-
}], {
|
|
2369
|
+
}, {}], {
|
|
2372
2370
|
duration: 225 * speed,
|
|
2373
2371
|
easing: deceleratedEasing
|
|
2374
2372
|
});
|
|
@@ -2378,9 +2376,7 @@ const VDialogTransition = defineComponent({
|
|
|
2378
2376
|
}, {
|
|
2379
2377
|
opacity: 0,
|
|
2380
2378
|
offset: 0.33
|
|
2381
|
-
}, {
|
|
2382
|
-
opacity: 1
|
|
2383
|
-
}], {
|
|
2379
|
+
}, {}], {
|
|
2384
2380
|
duration: 225 * 2 * speed,
|
|
2385
2381
|
easing: standardEasing
|
|
2386
2382
|
});
|
|
@@ -2403,9 +2399,7 @@ const VDialogTransition = defineComponent({
|
|
|
2403
2399
|
sy,
|
|
2404
2400
|
speed
|
|
2405
2401
|
} = getDimensions(props.target, el);
|
|
2406
|
-
const animation = animate(el, [{
|
|
2407
|
-
transform: ''
|
|
2408
|
-
}, {
|
|
2402
|
+
const animation = animate(el, [{}, {
|
|
2409
2403
|
transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,
|
|
2410
2404
|
opacity: 0
|
|
2411
2405
|
}], {
|
|
@@ -4974,13 +4968,13 @@ const VAppBarTitle = defineComponent({
|
|
|
4974
4968
|
props: {
|
|
4975
4969
|
...VToolbarTitle.props
|
|
4976
4970
|
},
|
|
4977
|
-
setup(
|
|
4971
|
+
setup(props, _ref) {
|
|
4978
4972
|
let {
|
|
4979
4973
|
slots
|
|
4980
4974
|
} = _ref;
|
|
4981
|
-
useRender(() => createVNode(VToolbarTitle, {
|
|
4975
|
+
useRender(() => createVNode(VToolbarTitle, mergeProps(props, {
|
|
4982
4976
|
"class": "v-app-bar-title"
|
|
4983
|
-
}, slots));
|
|
4977
|
+
}), slots));
|
|
4984
4978
|
return {};
|
|
4985
4979
|
}
|
|
4986
4980
|
});
|
|
@@ -5326,6 +5320,7 @@ const VField = genericComponent()({
|
|
|
5326
5320
|
const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label));
|
|
5327
5321
|
const uid = getUid();
|
|
5328
5322
|
const id = computed(() => props.id || `input-${uid}`);
|
|
5323
|
+
const messagesId = computed(() => `${id.value}-messages`);
|
|
5329
5324
|
const labelRef = ref();
|
|
5330
5325
|
const floatingLabelRef = ref();
|
|
5331
5326
|
const controlRef = ref();
|
|
@@ -5450,7 +5445,8 @@ const VField = genericComponent()({
|
|
|
5450
5445
|
...slotProps.value,
|
|
5451
5446
|
props: {
|
|
5452
5447
|
id: id.value,
|
|
5453
|
-
class: 'v-field__input'
|
|
5448
|
+
class: 'v-field__input',
|
|
5449
|
+
'aria-describedby': messagesId.value
|
|
5454
5450
|
},
|
|
5455
5451
|
focus,
|
|
5456
5452
|
blur
|
|
@@ -5533,7 +5529,9 @@ const VMessages = defineComponent({
|
|
|
5533
5529
|
"transition": props.transition,
|
|
5534
5530
|
"tag": "div",
|
|
5535
5531
|
"class": ['v-messages', textColorClasses.value],
|
|
5536
|
-
"style": textColorStyles.value
|
|
5532
|
+
"style": textColorStyles.value,
|
|
5533
|
+
"role": "alert",
|
|
5534
|
+
"aria-live": "polite"
|
|
5537
5535
|
}, {
|
|
5538
5536
|
default: () => [props.active && messages.value.map((message, i) => createVNode("div", {
|
|
5539
5537
|
"class": "v-messages__message",
|
|
@@ -5851,6 +5849,7 @@ const VInput = genericComponent()({
|
|
|
5851
5849
|
} = useInputIcon(props);
|
|
5852
5850
|
const uid = getUid();
|
|
5853
5851
|
const id = computed(() => props.id || `input-${uid}`);
|
|
5852
|
+
const messagesId = computed(() => `${id.value}-messages`);
|
|
5854
5853
|
const {
|
|
5855
5854
|
errorMessages,
|
|
5856
5855
|
isDirty,
|
|
@@ -5866,6 +5865,7 @@ const VInput = genericComponent()({
|
|
|
5866
5865
|
} = useValidation(props, 'v-input', id);
|
|
5867
5866
|
const slotProps = computed(() => ({
|
|
5868
5867
|
id,
|
|
5868
|
+
messagesId,
|
|
5869
5869
|
isDirty,
|
|
5870
5870
|
isDisabled,
|
|
5871
5871
|
isReadonly,
|
|
@@ -5901,6 +5901,7 @@ const VInput = genericComponent()({
|
|
|
5901
5901
|
}, null), (_slots$append = slots.append) == null ? void 0 : _slots$append.call(slots, slotProps.value)]), hasDetails && createVNode("div", {
|
|
5902
5902
|
"class": "v-input__details"
|
|
5903
5903
|
}, [createVNode(VMessages, {
|
|
5904
|
+
"id": messagesId.value,
|
|
5904
5905
|
"active": hasMessages,
|
|
5905
5906
|
"messages": errorMessages.value.length > 0 ? errorMessages.value : props.messages
|
|
5906
5907
|
}, {
|
|
@@ -6572,11 +6573,13 @@ const VCheckbox = defineComponent({
|
|
|
6572
6573
|
default: _ref2 => {
|
|
6573
6574
|
let {
|
|
6574
6575
|
id,
|
|
6576
|
+
messagesId,
|
|
6575
6577
|
isDisabled,
|
|
6576
6578
|
isReadonly
|
|
6577
6579
|
} = _ref2;
|
|
6578
6580
|
return createVNode(VCheckboxBtn, mergeProps(checkboxProps, {
|
|
6579
6581
|
"id": id.value,
|
|
6582
|
+
"aria-describedby": messagesId.value,
|
|
6580
6583
|
"disabled": isDisabled.value,
|
|
6581
6584
|
"readonly": isReadonly.value
|
|
6582
6585
|
}, controlAttrs, {
|
|
@@ -9805,12 +9808,19 @@ const VSelect = genericComponent()({
|
|
|
9805
9808
|
const transformed = transformOut(v);
|
|
9806
9809
|
return props.multiple ? transformed : transformed[0] ?? null;
|
|
9807
9810
|
});
|
|
9811
|
+
const form = useForm();
|
|
9808
9812
|
const selections = computed(() => {
|
|
9809
9813
|
return model.value.map(v => {
|
|
9810
9814
|
return items.value.find(item => props.valueComparator(item.value, v.value)) || v;
|
|
9811
9815
|
});
|
|
9812
9816
|
});
|
|
9813
9817
|
const selected = computed(() => selections.value.map(selection => selection.props.value));
|
|
9818
|
+
const displayItems = computed(() => {
|
|
9819
|
+
if (props.hideSelected) {
|
|
9820
|
+
return items.value.filter(item => !selections.value.some(s => s === item));
|
|
9821
|
+
}
|
|
9822
|
+
return items.value;
|
|
9823
|
+
});
|
|
9814
9824
|
const listRef = ref();
|
|
9815
9825
|
function onClear(e) {
|
|
9816
9826
|
model.value = [];
|
|
@@ -9819,11 +9829,11 @@ const VSelect = genericComponent()({
|
|
|
9819
9829
|
}
|
|
9820
9830
|
}
|
|
9821
9831
|
function onClickControl() {
|
|
9822
|
-
if (props.hideNoData && !items.value.length || props.readonly) return;
|
|
9832
|
+
if (props.hideNoData && !items.value.length || props.readonly || form != null && form.isReadonly.value) return;
|
|
9823
9833
|
menu.value = !menu.value;
|
|
9824
9834
|
}
|
|
9825
9835
|
function onKeydown(e) {
|
|
9826
|
-
if (props.readonly) return;
|
|
9836
|
+
if (props.readonly || form != null && form.isReadonly.value) return;
|
|
9827
9837
|
if (['Enter', 'ArrowDown', ' '].includes(e.key)) {
|
|
9828
9838
|
e.preventDefault();
|
|
9829
9839
|
menu.value = true;
|
|
@@ -9850,7 +9860,7 @@ const VSelect = genericComponent()({
|
|
|
9850
9860
|
}
|
|
9851
9861
|
function select(item) {
|
|
9852
9862
|
if (props.multiple) {
|
|
9853
|
-
const index = selected.value.findIndex(selection => selection
|
|
9863
|
+
const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value));
|
|
9854
9864
|
if (index === -1) {
|
|
9855
9865
|
model.value = [...model.value, item];
|
|
9856
9866
|
} else {
|
|
@@ -9877,6 +9887,7 @@ const VSelect = genericComponent()({
|
|
|
9877
9887
|
}
|
|
9878
9888
|
useRender(() => {
|
|
9879
9889
|
const hasChips = !!(props.chips || slots.chip);
|
|
9890
|
+
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
9880
9891
|
const [textFieldProps] = filterVTextFieldProps(props);
|
|
9881
9892
|
return createVNode(VTextField, mergeProps({
|
|
9882
9893
|
"ref": vTextFieldRef
|
|
@@ -9913,16 +9924,16 @@ const VSelect = genericComponent()({
|
|
|
9913
9924
|
"closeOnContentClick": false,
|
|
9914
9925
|
"transition": props.transition
|
|
9915
9926
|
}, props.menuProps), {
|
|
9916
|
-
default: () => [createVNode(VList, {
|
|
9927
|
+
default: () => [hasList && createVNode(VList, {
|
|
9917
9928
|
"ref": listRef,
|
|
9918
9929
|
"selected": selected.value,
|
|
9919
9930
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
|
9920
9931
|
"onMousedown": e => e.preventDefault(),
|
|
9921
9932
|
"onFocusout": onFocusout
|
|
9922
9933
|
}, {
|
|
9923
|
-
default: () => [!
|
|
9934
|
+
default: () => [!displayItems.value.length && !props.hideNoData && (((_slots$noData = slots['no-data']) == null ? void 0 : _slots$noData.call(slots)) ?? createVNode(VListItem, {
|
|
9924
9935
|
"title": t(props.noDataText)
|
|
9925
|
-
}, null)), (_slots$prependItem = slots['prepend-item']) == null ? void 0 : _slots$prependItem.call(slots),
|
|
9936
|
+
}, null)), (_slots$prependItem = slots['prepend-item']) == null ? void 0 : _slots$prependItem.call(slots), displayItems.value.map((item, index) => {
|
|
9926
9937
|
if (slots.item) {
|
|
9927
9938
|
var _slots$item;
|
|
9928
9939
|
return (_slots$item = slots.item) == null ? void 0 : _slots$item.call(slots, {
|
|
@@ -10155,6 +10166,7 @@ const VAutocomplete = genericComponent()({
|
|
|
10155
10166
|
const transformed = transformOut(v);
|
|
10156
10167
|
return props.multiple ? transformed : transformed[0] ?? null;
|
|
10157
10168
|
});
|
|
10169
|
+
const form = useForm();
|
|
10158
10170
|
const {
|
|
10159
10171
|
filteredItems,
|
|
10160
10172
|
getMatches
|
|
@@ -10164,6 +10176,12 @@ const VAutocomplete = genericComponent()({
|
|
|
10164
10176
|
return items.value.find(item => props.valueComparator(item.value, v.value)) || v;
|
|
10165
10177
|
});
|
|
10166
10178
|
});
|
|
10179
|
+
const displayItems = computed(() => {
|
|
10180
|
+
if (props.hideSelected) {
|
|
10181
|
+
return filteredItems.value.filter(filteredItem => !selections.value.some(s => s.value === filteredItem.value));
|
|
10182
|
+
}
|
|
10183
|
+
return filteredItems.value;
|
|
10184
|
+
});
|
|
10167
10185
|
const selected = computed(() => selections.value.map(selection => selection.props.value));
|
|
10168
10186
|
const listRef = ref();
|
|
10169
10187
|
function onClear(e) {
|
|
@@ -10174,11 +10192,11 @@ const VAutocomplete = genericComponent()({
|
|
|
10174
10192
|
search.value = '';
|
|
10175
10193
|
}
|
|
10176
10194
|
function onClickControl() {
|
|
10177
|
-
if (props.hideNoData && !items.value.length || props.readonly) return;
|
|
10195
|
+
if (props.hideNoData && !items.value.length || props.readonly || form != null && form.isReadonly.value) return;
|
|
10178
10196
|
menu.value = true;
|
|
10179
10197
|
}
|
|
10180
10198
|
function onKeydown(e) {
|
|
10181
|
-
if (props.readonly) return;
|
|
10199
|
+
if (props.readonly || form != null && form.isReadonly.value) return;
|
|
10182
10200
|
if (['Enter', 'ArrowDown'].includes(e.key)) {
|
|
10183
10201
|
menu.value = true;
|
|
10184
10202
|
}
|
|
@@ -10216,7 +10234,7 @@ const VAutocomplete = genericComponent()({
|
|
|
10216
10234
|
const isSelecting = ref(false);
|
|
10217
10235
|
function select(item) {
|
|
10218
10236
|
if (props.multiple) {
|
|
10219
|
-
const index = selected.value.findIndex(selection => selection
|
|
10237
|
+
const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value));
|
|
10220
10238
|
if (index === -1) {
|
|
10221
10239
|
model.value = [...model.value, item];
|
|
10222
10240
|
search.value = '';
|
|
@@ -10255,6 +10273,7 @@ const VAutocomplete = genericComponent()({
|
|
|
10255
10273
|
});
|
|
10256
10274
|
useRender(() => {
|
|
10257
10275
|
const hasChips = !!(props.chips || slots.chip);
|
|
10276
|
+
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
10258
10277
|
const [textFieldProps] = filterVTextFieldProps(props);
|
|
10259
10278
|
return createVNode(VTextField, mergeProps({
|
|
10260
10279
|
"ref": vTextFieldRef
|
|
@@ -10295,7 +10314,7 @@ const VAutocomplete = genericComponent()({
|
|
|
10295
10314
|
"transition": props.transition,
|
|
10296
10315
|
"onAfterLeave": onAfterLeave
|
|
10297
10316
|
}, props.menuProps), {
|
|
10298
|
-
default: () => [createVNode(VList, {
|
|
10317
|
+
default: () => [hasList && createVNode(VList, {
|
|
10299
10318
|
"ref": listRef,
|
|
10300
10319
|
"selected": selected.value,
|
|
10301
10320
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
|
@@ -10303,9 +10322,9 @@ const VAutocomplete = genericComponent()({
|
|
|
10303
10322
|
"onFocusin": onFocusin,
|
|
10304
10323
|
"onFocusout": onFocusout
|
|
10305
10324
|
}, {
|
|
10306
|
-
default: () => [!
|
|
10325
|
+
default: () => [!displayItems.value.length && !props.hideNoData && (((_slots$noData = slots['no-data']) == null ? void 0 : _slots$noData.call(slots)) ?? createVNode(VListItem, {
|
|
10307
10326
|
"title": t(props.noDataText)
|
|
10308
|
-
}, null)), (_slots$prependItem = slots['prepend-item']) == null ? void 0 : _slots$prependItem.call(slots),
|
|
10327
|
+
}, null)), (_slots$prependItem = slots['prepend-item']) == null ? void 0 : _slots$prependItem.call(slots), displayItems.value.map((item, index) => {
|
|
10309
10328
|
var _slots$item;
|
|
10310
10329
|
return ((_slots$item = slots.item) == null ? void 0 : _slots$item.call(slots, {
|
|
10311
10330
|
item,
|
|
@@ -12715,13 +12734,15 @@ const VSlider = defineComponent({
|
|
|
12715
12734
|
prepend: hasPrepend ? slotProps => {
|
|
12716
12735
|
var _slots$label, _slots$prepend;
|
|
12717
12736
|
return createVNode(Fragment, null, [((_slots$label = slots.label) == null ? void 0 : _slots$label.call(slots, slotProps)) ?? props.label ? createVNode(VLabel, {
|
|
12737
|
+
"id": slotProps.id,
|
|
12718
12738
|
"class": "v-slider__label",
|
|
12719
12739
|
"text": props.label
|
|
12720
12740
|
}, null) : undefined, (_slots$prepend = slots.prepend) == null ? void 0 : _slots$prepend.call(slots, slotProps)]);
|
|
12721
12741
|
} : undefined,
|
|
12722
12742
|
default: _ref2 => {
|
|
12723
12743
|
let {
|
|
12724
|
-
id
|
|
12744
|
+
id,
|
|
12745
|
+
messagesId
|
|
12725
12746
|
} = _ref2;
|
|
12726
12747
|
return createVNode("div", {
|
|
12727
12748
|
"class": "v-slider__container",
|
|
@@ -12742,6 +12763,7 @@ const VSlider = defineComponent({
|
|
|
12742
12763
|
'tick-label': slots['tick-label']
|
|
12743
12764
|
}), createVNode(VSliderThumb, {
|
|
12744
12765
|
"ref": thumbContainerRef,
|
|
12766
|
+
"aria-describedby": messagesId.value,
|
|
12745
12767
|
"focused": isFocused.value,
|
|
12746
12768
|
"min": min.value,
|
|
12747
12769
|
"max": max.value,
|
|
@@ -13443,6 +13465,7 @@ const VCombobox = genericComponent()({
|
|
|
13443
13465
|
const transformed = transformOut(v);
|
|
13444
13466
|
return props.multiple ? transformed : transformed[0] ?? null;
|
|
13445
13467
|
});
|
|
13468
|
+
const form = useForm();
|
|
13446
13469
|
const _search = ref(!props.multiple ? ((_model$value$ = model.value[0]) == null ? void 0 : _model$value$.title) ?? '' : '');
|
|
13447
13470
|
const search = computed({
|
|
13448
13471
|
get: () => {
|
|
@@ -13487,6 +13510,12 @@ const VCombobox = genericComponent()({
|
|
|
13487
13510
|
return items.value.find(item => props.valueComparator(item.value, v.value)) || v;
|
|
13488
13511
|
});
|
|
13489
13512
|
});
|
|
13513
|
+
const displayItems = computed(() => {
|
|
13514
|
+
if (props.hideSelected) {
|
|
13515
|
+
return filteredItems.value.filter(filteredItem => !selections.value.some(s => s.value === filteredItem.value));
|
|
13516
|
+
}
|
|
13517
|
+
return filteredItems.value;
|
|
13518
|
+
});
|
|
13490
13519
|
const selected = computed(() => selections.value.map(selection => selection.props.value));
|
|
13491
13520
|
const selection = computed(() => selections.value[selectionIndex.value]);
|
|
13492
13521
|
const listRef = ref();
|
|
@@ -13497,11 +13526,11 @@ const VCombobox = genericComponent()({
|
|
|
13497
13526
|
}
|
|
13498
13527
|
}
|
|
13499
13528
|
function onClickControl() {
|
|
13500
|
-
if (props.hideNoData && !items.value.length || props.readonly) return;
|
|
13529
|
+
if (props.hideNoData && !items.value.length || props.readonly || form != null && form.isReadonly.value) return;
|
|
13501
13530
|
menu.value = true;
|
|
13502
13531
|
}
|
|
13503
13532
|
function onKeydown(e) {
|
|
13504
|
-
if (props.readonly) return;
|
|
13533
|
+
if (props.readonly || form != null && form.isReadonly.value) return;
|
|
13505
13534
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
|
13506
13535
|
const length = selected.value.length;
|
|
13507
13536
|
if (selectionIndex.value > -1) e.preventDefault();
|
|
@@ -13564,7 +13593,7 @@ const VCombobox = genericComponent()({
|
|
|
13564
13593
|
}
|
|
13565
13594
|
function select(item) {
|
|
13566
13595
|
if (props.multiple) {
|
|
13567
|
-
const index = selected.value.findIndex(selection => selection
|
|
13596
|
+
const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value));
|
|
13568
13597
|
if (index === -1) {
|
|
13569
13598
|
model.value = [...model.value, item];
|
|
13570
13599
|
} else {
|
|
@@ -13608,6 +13637,7 @@ const VCombobox = genericComponent()({
|
|
|
13608
13637
|
});
|
|
13609
13638
|
useRender(() => {
|
|
13610
13639
|
const hasChips = !!(props.chips || slots.chip);
|
|
13640
|
+
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
13611
13641
|
const [textFieldProps] = filterVTextFieldProps(props);
|
|
13612
13642
|
return createVNode(VTextField, mergeProps({
|
|
13613
13643
|
"ref": vTextFieldRef
|
|
@@ -13647,7 +13677,7 @@ const VCombobox = genericComponent()({
|
|
|
13647
13677
|
"transition": props.transition,
|
|
13648
13678
|
"onAfterLeave": onAfterLeave
|
|
13649
13679
|
}, props.menuProps), {
|
|
13650
|
-
default: () => [createVNode(VList, {
|
|
13680
|
+
default: () => [hasList && createVNode(VList, {
|
|
13651
13681
|
"ref": listRef,
|
|
13652
13682
|
"selected": selected.value,
|
|
13653
13683
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
|
@@ -13655,9 +13685,9 @@ const VCombobox = genericComponent()({
|
|
|
13655
13685
|
"onFocusin": onFocusin,
|
|
13656
13686
|
"onFocusout": onFocusout
|
|
13657
13687
|
}, {
|
|
13658
|
-
default: () => [!
|
|
13688
|
+
default: () => [!displayItems.value.length && !props.hideNoData && (((_slots$noData = slots['no-data']) == null ? void 0 : _slots$noData.call(slots)) ?? createVNode(VListItem, {
|
|
13659
13689
|
"title": t(props.noDataText)
|
|
13660
|
-
}, null)), (_slots$prependItem = slots['prepend-item']) == null ? void 0 : _slots$prependItem.call(slots),
|
|
13690
|
+
}, null)), (_slots$prependItem = slots['prepend-item']) == null ? void 0 : _slots$prependItem.call(slots), displayItems.value.map((item, index) => {
|
|
13661
13691
|
var _slots$item;
|
|
13662
13692
|
return ((_slots$item = slots.item) == null ? void 0 : _slots$item.call(slots, {
|
|
13663
13693
|
item,
|
|
@@ -14207,6 +14237,7 @@ const VFileInput = defineComponent({
|
|
|
14207
14237
|
...slots,
|
|
14208
14238
|
default: _ref3 => {
|
|
14209
14239
|
let {
|
|
14240
|
+
id,
|
|
14210
14241
|
isDisabled,
|
|
14211
14242
|
isDirty,
|
|
14212
14243
|
isReadonly,
|
|
@@ -14220,6 +14251,7 @@ const VFileInput = defineComponent({
|
|
|
14220
14251
|
"onClick:prependInner": props['onClick:prependInner'],
|
|
14221
14252
|
"onClick:appendInner": props['onClick:appendInner']
|
|
14222
14253
|
}, fieldProps, {
|
|
14254
|
+
"id": id.value,
|
|
14223
14255
|
"active": isDirty.value || isFocused.value,
|
|
14224
14256
|
"dirty": isDirty.value,
|
|
14225
14257
|
"focused": isFocused.value,
|
|
@@ -16000,6 +16032,7 @@ const VRadioGroup = defineComponent({
|
|
|
16000
16032
|
default: _ref2 => {
|
|
16001
16033
|
let {
|
|
16002
16034
|
id,
|
|
16035
|
+
messagesId,
|
|
16003
16036
|
isDisabled,
|
|
16004
16037
|
isReadonly
|
|
16005
16038
|
} = _ref2;
|
|
@@ -16009,6 +16042,7 @@ const VRadioGroup = defineComponent({
|
|
|
16009
16042
|
default: () => [label]
|
|
16010
16043
|
}), createVNode(VSelectionControlGroup, mergeProps(controlProps, {
|
|
16011
16044
|
"id": id.value,
|
|
16045
|
+
"aria-describedby": messagesId.value,
|
|
16012
16046
|
"defaultsTarget": "VRadio",
|
|
16013
16047
|
"trueIcon": props.trueIcon,
|
|
16014
16048
|
"falseIcon": props.falseIcon,
|
|
@@ -16132,7 +16166,8 @@ const VRangeSlider = defineComponent({
|
|
|
16132
16166
|
default: _ref2 => {
|
|
16133
16167
|
var _startThumbRef$value4, _stopThumbRef$value4;
|
|
16134
16168
|
let {
|
|
16135
|
-
id
|
|
16169
|
+
id,
|
|
16170
|
+
messagesId
|
|
16136
16171
|
} = _ref2;
|
|
16137
16172
|
return createVNode("div", {
|
|
16138
16173
|
"class": "v-slider__container",
|
|
@@ -16160,6 +16195,7 @@ const VRangeSlider = defineComponent({
|
|
|
16160
16195
|
'tick-label': slots['tick-label']
|
|
16161
16196
|
}), createVNode(VSliderThumb, {
|
|
16162
16197
|
"ref": startThumbRef,
|
|
16198
|
+
"aria-describedby": messagesId.value,
|
|
16163
16199
|
"focused": isFocused && activeThumbRef.value === ((_startThumbRef$value4 = startThumbRef.value) == null ? void 0 : _startThumbRef$value4.$el),
|
|
16164
16200
|
"modelValue": model.value[0],
|
|
16165
16201
|
"onUpdate:modelValue": v => model.value = [v, model.value[1]],
|
|
@@ -16189,6 +16225,7 @@ const VRangeSlider = defineComponent({
|
|
|
16189
16225
|
'thumb-label': slots['thumb-label']
|
|
16190
16226
|
}), createVNode(VSliderThumb, {
|
|
16191
16227
|
"ref": stopThumbRef,
|
|
16228
|
+
"aria-describedby": messagesId.value,
|
|
16192
16229
|
"focused": isFocused && activeThumbRef.value === ((_stopThumbRef$value4 = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value4.$el),
|
|
16193
16230
|
"modelValue": model.value[1],
|
|
16194
16231
|
"onUpdate:modelValue": v => model.value = [model.value[0], v],
|
|
@@ -17026,6 +17063,7 @@ const VSwitch = defineComponent({
|
|
|
17026
17063
|
default: _ref2 => {
|
|
17027
17064
|
let {
|
|
17028
17065
|
id,
|
|
17066
|
+
messagesId,
|
|
17029
17067
|
isDisabled,
|
|
17030
17068
|
isReadonly,
|
|
17031
17069
|
isValid
|
|
@@ -17036,6 +17074,7 @@ const VSwitch = defineComponent({
|
|
|
17036
17074
|
"modelValue": model.value,
|
|
17037
17075
|
"onUpdate:modelValue": [$event => model.value = $event, onChange],
|
|
17038
17076
|
"id": id.value,
|
|
17077
|
+
"aria-describedby": messagesId.value,
|
|
17039
17078
|
"type": "checkbox",
|
|
17040
17079
|
"aria-checked": indeterminate.value ? 'mixed' : undefined,
|
|
17041
17080
|
"disabled": isDisabled.value,
|
|
@@ -18306,7 +18345,7 @@ function createVuetify$1() {
|
|
|
18306
18345
|
locale
|
|
18307
18346
|
};
|
|
18308
18347
|
}
|
|
18309
|
-
const version$1 = "3.1.
|
|
18348
|
+
const version$1 = "3.1.1";
|
|
18310
18349
|
createVuetify$1.version = version$1;
|
|
18311
18350
|
|
|
18312
18351
|
// Vue's inject() can only be used in setup
|
|
@@ -18327,7 +18366,7 @@ const createVuetify = function () {
|
|
|
18327
18366
|
...options
|
|
18328
18367
|
});
|
|
18329
18368
|
};
|
|
18330
|
-
const version = "3.1.
|
|
18369
|
+
const version = "3.1.1";
|
|
18331
18370
|
createVuetify.version = version;
|
|
18332
18371
|
|
|
18333
18372
|
export { components, createVuetify, directives, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
|