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.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
|
*/
|
|
@@ -994,7 +994,7 @@
|
|
|
994
994
|
// Utils
|
|
995
995
|
function propIsDefined(vnode, prop) {
|
|
996
996
|
var _vnode$props, _vnode$props2;
|
|
997
|
-
return ((_vnode$props = vnode.props) == null ? void 0 : _vnode$props
|
|
997
|
+
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';
|
|
998
998
|
}
|
|
999
999
|
const defineComponent = function defineComponent(options) {
|
|
1000
1000
|
options._setup = options._setup ?? options.setup;
|
|
@@ -2370,9 +2370,7 @@
|
|
|
2370
2370
|
const animation = animate(el, [{
|
|
2371
2371
|
transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,
|
|
2372
2372
|
opacity: 0
|
|
2373
|
-
}, {
|
|
2374
|
-
transform: ''
|
|
2375
|
-
}], {
|
|
2373
|
+
}, {}], {
|
|
2376
2374
|
duration: 225 * speed,
|
|
2377
2375
|
easing: deceleratedEasing
|
|
2378
2376
|
});
|
|
@@ -2382,9 +2380,7 @@
|
|
|
2382
2380
|
}, {
|
|
2383
2381
|
opacity: 0,
|
|
2384
2382
|
offset: 0.33
|
|
2385
|
-
}, {
|
|
2386
|
-
opacity: 1
|
|
2387
|
-
}], {
|
|
2383
|
+
}, {}], {
|
|
2388
2384
|
duration: 225 * 2 * speed,
|
|
2389
2385
|
easing: standardEasing
|
|
2390
2386
|
});
|
|
@@ -2407,9 +2403,7 @@
|
|
|
2407
2403
|
sy,
|
|
2408
2404
|
speed
|
|
2409
2405
|
} = getDimensions(props.target, el);
|
|
2410
|
-
const animation = animate(el, [{
|
|
2411
|
-
transform: ''
|
|
2412
|
-
}, {
|
|
2406
|
+
const animation = animate(el, [{}, {
|
|
2413
2407
|
transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,
|
|
2414
2408
|
opacity: 0
|
|
2415
2409
|
}], {
|
|
@@ -4978,13 +4972,13 @@
|
|
|
4978
4972
|
props: {
|
|
4979
4973
|
...VToolbarTitle.props
|
|
4980
4974
|
},
|
|
4981
|
-
setup(
|
|
4975
|
+
setup(props, _ref) {
|
|
4982
4976
|
let {
|
|
4983
4977
|
slots
|
|
4984
4978
|
} = _ref;
|
|
4985
|
-
useRender(() => vue.createVNode(VToolbarTitle, {
|
|
4979
|
+
useRender(() => vue.createVNode(VToolbarTitle, vue.mergeProps(props, {
|
|
4986
4980
|
"class": "v-app-bar-title"
|
|
4987
|
-
}, slots));
|
|
4981
|
+
}), slots));
|
|
4988
4982
|
return {};
|
|
4989
4983
|
}
|
|
4990
4984
|
});
|
|
@@ -5330,6 +5324,7 @@
|
|
|
5330
5324
|
const hasLabel = vue.computed(() => !props.singleLine && !!(props.label || slots.label));
|
|
5331
5325
|
const uid = getUid();
|
|
5332
5326
|
const id = vue.computed(() => props.id || `input-${uid}`);
|
|
5327
|
+
const messagesId = vue.computed(() => `${id.value}-messages`);
|
|
5333
5328
|
const labelRef = vue.ref();
|
|
5334
5329
|
const floatingLabelRef = vue.ref();
|
|
5335
5330
|
const controlRef = vue.ref();
|
|
@@ -5454,7 +5449,8 @@
|
|
|
5454
5449
|
...slotProps.value,
|
|
5455
5450
|
props: {
|
|
5456
5451
|
id: id.value,
|
|
5457
|
-
class: 'v-field__input'
|
|
5452
|
+
class: 'v-field__input',
|
|
5453
|
+
'aria-describedby': messagesId.value
|
|
5458
5454
|
},
|
|
5459
5455
|
focus,
|
|
5460
5456
|
blur
|
|
@@ -5537,7 +5533,9 @@
|
|
|
5537
5533
|
"transition": props.transition,
|
|
5538
5534
|
"tag": "div",
|
|
5539
5535
|
"class": ['v-messages', textColorClasses.value],
|
|
5540
|
-
"style": textColorStyles.value
|
|
5536
|
+
"style": textColorStyles.value,
|
|
5537
|
+
"role": "alert",
|
|
5538
|
+
"aria-live": "polite"
|
|
5541
5539
|
}, {
|
|
5542
5540
|
default: () => [props.active && messages.value.map((message, i) => vue.createVNode("div", {
|
|
5543
5541
|
"class": "v-messages__message",
|
|
@@ -5855,6 +5853,7 @@
|
|
|
5855
5853
|
} = useInputIcon(props);
|
|
5856
5854
|
const uid = getUid();
|
|
5857
5855
|
const id = vue.computed(() => props.id || `input-${uid}`);
|
|
5856
|
+
const messagesId = vue.computed(() => `${id.value}-messages`);
|
|
5858
5857
|
const {
|
|
5859
5858
|
errorMessages,
|
|
5860
5859
|
isDirty,
|
|
@@ -5870,6 +5869,7 @@
|
|
|
5870
5869
|
} = useValidation(props, 'v-input', id);
|
|
5871
5870
|
const slotProps = vue.computed(() => ({
|
|
5872
5871
|
id,
|
|
5872
|
+
messagesId,
|
|
5873
5873
|
isDirty,
|
|
5874
5874
|
isDisabled,
|
|
5875
5875
|
isReadonly,
|
|
@@ -5905,6 +5905,7 @@
|
|
|
5905
5905
|
}, null), (_slots$append = slots.append) == null ? void 0 : _slots$append.call(slots, slotProps.value)]), hasDetails && vue.createVNode("div", {
|
|
5906
5906
|
"class": "v-input__details"
|
|
5907
5907
|
}, [vue.createVNode(VMessages, {
|
|
5908
|
+
"id": messagesId.value,
|
|
5908
5909
|
"active": hasMessages,
|
|
5909
5910
|
"messages": errorMessages.value.length > 0 ? errorMessages.value : props.messages
|
|
5910
5911
|
}, {
|
|
@@ -6576,11 +6577,13 @@
|
|
|
6576
6577
|
default: _ref2 => {
|
|
6577
6578
|
let {
|
|
6578
6579
|
id,
|
|
6580
|
+
messagesId,
|
|
6579
6581
|
isDisabled,
|
|
6580
6582
|
isReadonly
|
|
6581
6583
|
} = _ref2;
|
|
6582
6584
|
return vue.createVNode(VCheckboxBtn, vue.mergeProps(checkboxProps, {
|
|
6583
6585
|
"id": id.value,
|
|
6586
|
+
"aria-describedby": messagesId.value,
|
|
6584
6587
|
"disabled": isDisabled.value,
|
|
6585
6588
|
"readonly": isReadonly.value
|
|
6586
6589
|
}, controlAttrs, {
|
|
@@ -9809,12 +9812,19 @@
|
|
|
9809
9812
|
const transformed = transformOut(v);
|
|
9810
9813
|
return props.multiple ? transformed : transformed[0] ?? null;
|
|
9811
9814
|
});
|
|
9815
|
+
const form = useForm();
|
|
9812
9816
|
const selections = vue.computed(() => {
|
|
9813
9817
|
return model.value.map(v => {
|
|
9814
9818
|
return items.value.find(item => props.valueComparator(item.value, v.value)) || v;
|
|
9815
9819
|
});
|
|
9816
9820
|
});
|
|
9817
9821
|
const selected = vue.computed(() => selections.value.map(selection => selection.props.value));
|
|
9822
|
+
const displayItems = vue.computed(() => {
|
|
9823
|
+
if (props.hideSelected) {
|
|
9824
|
+
return items.value.filter(item => !selections.value.some(s => s === item));
|
|
9825
|
+
}
|
|
9826
|
+
return items.value;
|
|
9827
|
+
});
|
|
9818
9828
|
const listRef = vue.ref();
|
|
9819
9829
|
function onClear(e) {
|
|
9820
9830
|
model.value = [];
|
|
@@ -9823,11 +9833,11 @@
|
|
|
9823
9833
|
}
|
|
9824
9834
|
}
|
|
9825
9835
|
function onClickControl() {
|
|
9826
|
-
if (props.hideNoData && !items.value.length || props.readonly) return;
|
|
9836
|
+
if (props.hideNoData && !items.value.length || props.readonly || form != null && form.isReadonly.value) return;
|
|
9827
9837
|
menu.value = !menu.value;
|
|
9828
9838
|
}
|
|
9829
9839
|
function onKeydown(e) {
|
|
9830
|
-
if (props.readonly) return;
|
|
9840
|
+
if (props.readonly || form != null && form.isReadonly.value) return;
|
|
9831
9841
|
if (['Enter', 'ArrowDown', ' '].includes(e.key)) {
|
|
9832
9842
|
e.preventDefault();
|
|
9833
9843
|
menu.value = true;
|
|
@@ -9854,7 +9864,7 @@
|
|
|
9854
9864
|
}
|
|
9855
9865
|
function select(item) {
|
|
9856
9866
|
if (props.multiple) {
|
|
9857
|
-
const index = selected.value.findIndex(selection => selection
|
|
9867
|
+
const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value));
|
|
9858
9868
|
if (index === -1) {
|
|
9859
9869
|
model.value = [...model.value, item];
|
|
9860
9870
|
} else {
|
|
@@ -9881,6 +9891,7 @@
|
|
|
9881
9891
|
}
|
|
9882
9892
|
useRender(() => {
|
|
9883
9893
|
const hasChips = !!(props.chips || slots.chip);
|
|
9894
|
+
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
9884
9895
|
const [textFieldProps] = filterVTextFieldProps(props);
|
|
9885
9896
|
return vue.createVNode(VTextField, vue.mergeProps({
|
|
9886
9897
|
"ref": vTextFieldRef
|
|
@@ -9917,16 +9928,16 @@
|
|
|
9917
9928
|
"closeOnContentClick": false,
|
|
9918
9929
|
"transition": props.transition
|
|
9919
9930
|
}, props.menuProps), {
|
|
9920
|
-
default: () => [vue.createVNode(VList, {
|
|
9931
|
+
default: () => [hasList && vue.createVNode(VList, {
|
|
9921
9932
|
"ref": listRef,
|
|
9922
9933
|
"selected": selected.value,
|
|
9923
9934
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
|
9924
9935
|
"onMousedown": e => e.preventDefault(),
|
|
9925
9936
|
"onFocusout": onFocusout
|
|
9926
9937
|
}, {
|
|
9927
|
-
default: () => [!
|
|
9938
|
+
default: () => [!displayItems.value.length && !props.hideNoData && (((_slots$noData = slots['no-data']) == null ? void 0 : _slots$noData.call(slots)) ?? vue.createVNode(VListItem, {
|
|
9928
9939
|
"title": t(props.noDataText)
|
|
9929
|
-
}, null)), (_slots$prependItem = slots['prepend-item']) == null ? void 0 : _slots$prependItem.call(slots),
|
|
9940
|
+
}, null)), (_slots$prependItem = slots['prepend-item']) == null ? void 0 : _slots$prependItem.call(slots), displayItems.value.map((item, index) => {
|
|
9930
9941
|
if (slots.item) {
|
|
9931
9942
|
var _slots$item;
|
|
9932
9943
|
return (_slots$item = slots.item) == null ? void 0 : _slots$item.call(slots, {
|
|
@@ -10159,6 +10170,7 @@
|
|
|
10159
10170
|
const transformed = transformOut(v);
|
|
10160
10171
|
return props.multiple ? transformed : transformed[0] ?? null;
|
|
10161
10172
|
});
|
|
10173
|
+
const form = useForm();
|
|
10162
10174
|
const {
|
|
10163
10175
|
filteredItems,
|
|
10164
10176
|
getMatches
|
|
@@ -10168,6 +10180,12 @@
|
|
|
10168
10180
|
return items.value.find(item => props.valueComparator(item.value, v.value)) || v;
|
|
10169
10181
|
});
|
|
10170
10182
|
});
|
|
10183
|
+
const displayItems = vue.computed(() => {
|
|
10184
|
+
if (props.hideSelected) {
|
|
10185
|
+
return filteredItems.value.filter(filteredItem => !selections.value.some(s => s.value === filteredItem.value));
|
|
10186
|
+
}
|
|
10187
|
+
return filteredItems.value;
|
|
10188
|
+
});
|
|
10171
10189
|
const selected = vue.computed(() => selections.value.map(selection => selection.props.value));
|
|
10172
10190
|
const listRef = vue.ref();
|
|
10173
10191
|
function onClear(e) {
|
|
@@ -10178,11 +10196,11 @@
|
|
|
10178
10196
|
search.value = '';
|
|
10179
10197
|
}
|
|
10180
10198
|
function onClickControl() {
|
|
10181
|
-
if (props.hideNoData && !items.value.length || props.readonly) return;
|
|
10199
|
+
if (props.hideNoData && !items.value.length || props.readonly || form != null && form.isReadonly.value) return;
|
|
10182
10200
|
menu.value = true;
|
|
10183
10201
|
}
|
|
10184
10202
|
function onKeydown(e) {
|
|
10185
|
-
if (props.readonly) return;
|
|
10203
|
+
if (props.readonly || form != null && form.isReadonly.value) return;
|
|
10186
10204
|
if (['Enter', 'ArrowDown'].includes(e.key)) {
|
|
10187
10205
|
menu.value = true;
|
|
10188
10206
|
}
|
|
@@ -10220,7 +10238,7 @@
|
|
|
10220
10238
|
const isSelecting = vue.ref(false);
|
|
10221
10239
|
function select(item) {
|
|
10222
10240
|
if (props.multiple) {
|
|
10223
|
-
const index = selected.value.findIndex(selection => selection
|
|
10241
|
+
const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value));
|
|
10224
10242
|
if (index === -1) {
|
|
10225
10243
|
model.value = [...model.value, item];
|
|
10226
10244
|
search.value = '';
|
|
@@ -10259,6 +10277,7 @@
|
|
|
10259
10277
|
});
|
|
10260
10278
|
useRender(() => {
|
|
10261
10279
|
const hasChips = !!(props.chips || slots.chip);
|
|
10280
|
+
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
10262
10281
|
const [textFieldProps] = filterVTextFieldProps(props);
|
|
10263
10282
|
return vue.createVNode(VTextField, vue.mergeProps({
|
|
10264
10283
|
"ref": vTextFieldRef
|
|
@@ -10299,7 +10318,7 @@
|
|
|
10299
10318
|
"transition": props.transition,
|
|
10300
10319
|
"onAfterLeave": onAfterLeave
|
|
10301
10320
|
}, props.menuProps), {
|
|
10302
|
-
default: () => [vue.createVNode(VList, {
|
|
10321
|
+
default: () => [hasList && vue.createVNode(VList, {
|
|
10303
10322
|
"ref": listRef,
|
|
10304
10323
|
"selected": selected.value,
|
|
10305
10324
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
|
@@ -10307,9 +10326,9 @@
|
|
|
10307
10326
|
"onFocusin": onFocusin,
|
|
10308
10327
|
"onFocusout": onFocusout
|
|
10309
10328
|
}, {
|
|
10310
|
-
default: () => [!
|
|
10329
|
+
default: () => [!displayItems.value.length && !props.hideNoData && (((_slots$noData = slots['no-data']) == null ? void 0 : _slots$noData.call(slots)) ?? vue.createVNode(VListItem, {
|
|
10311
10330
|
"title": t(props.noDataText)
|
|
10312
|
-
}, null)), (_slots$prependItem = slots['prepend-item']) == null ? void 0 : _slots$prependItem.call(slots),
|
|
10331
|
+
}, null)), (_slots$prependItem = slots['prepend-item']) == null ? void 0 : _slots$prependItem.call(slots), displayItems.value.map((item, index) => {
|
|
10313
10332
|
var _slots$item;
|
|
10314
10333
|
return ((_slots$item = slots.item) == null ? void 0 : _slots$item.call(slots, {
|
|
10315
10334
|
item,
|
|
@@ -12719,13 +12738,15 @@
|
|
|
12719
12738
|
prepend: hasPrepend ? slotProps => {
|
|
12720
12739
|
var _slots$label, _slots$prepend;
|
|
12721
12740
|
return vue.createVNode(vue.Fragment, null, [((_slots$label = slots.label) == null ? void 0 : _slots$label.call(slots, slotProps)) ?? props.label ? vue.createVNode(VLabel, {
|
|
12741
|
+
"id": slotProps.id,
|
|
12722
12742
|
"class": "v-slider__label",
|
|
12723
12743
|
"text": props.label
|
|
12724
12744
|
}, null) : undefined, (_slots$prepend = slots.prepend) == null ? void 0 : _slots$prepend.call(slots, slotProps)]);
|
|
12725
12745
|
} : undefined,
|
|
12726
12746
|
default: _ref2 => {
|
|
12727
12747
|
let {
|
|
12728
|
-
id
|
|
12748
|
+
id,
|
|
12749
|
+
messagesId
|
|
12729
12750
|
} = _ref2;
|
|
12730
12751
|
return vue.createVNode("div", {
|
|
12731
12752
|
"class": "v-slider__container",
|
|
@@ -12746,6 +12767,7 @@
|
|
|
12746
12767
|
'tick-label': slots['tick-label']
|
|
12747
12768
|
}), vue.createVNode(VSliderThumb, {
|
|
12748
12769
|
"ref": thumbContainerRef,
|
|
12770
|
+
"aria-describedby": messagesId.value,
|
|
12749
12771
|
"focused": isFocused.value,
|
|
12750
12772
|
"min": min.value,
|
|
12751
12773
|
"max": max.value,
|
|
@@ -13447,6 +13469,7 @@
|
|
|
13447
13469
|
const transformed = transformOut(v);
|
|
13448
13470
|
return props.multiple ? transformed : transformed[0] ?? null;
|
|
13449
13471
|
});
|
|
13472
|
+
const form = useForm();
|
|
13450
13473
|
const _search = vue.ref(!props.multiple ? ((_model$value$ = model.value[0]) == null ? void 0 : _model$value$.title) ?? '' : '');
|
|
13451
13474
|
const search = vue.computed({
|
|
13452
13475
|
get: () => {
|
|
@@ -13491,6 +13514,12 @@
|
|
|
13491
13514
|
return items.value.find(item => props.valueComparator(item.value, v.value)) || v;
|
|
13492
13515
|
});
|
|
13493
13516
|
});
|
|
13517
|
+
const displayItems = vue.computed(() => {
|
|
13518
|
+
if (props.hideSelected) {
|
|
13519
|
+
return filteredItems.value.filter(filteredItem => !selections.value.some(s => s.value === filteredItem.value));
|
|
13520
|
+
}
|
|
13521
|
+
return filteredItems.value;
|
|
13522
|
+
});
|
|
13494
13523
|
const selected = vue.computed(() => selections.value.map(selection => selection.props.value));
|
|
13495
13524
|
const selection = vue.computed(() => selections.value[selectionIndex.value]);
|
|
13496
13525
|
const listRef = vue.ref();
|
|
@@ -13501,11 +13530,11 @@
|
|
|
13501
13530
|
}
|
|
13502
13531
|
}
|
|
13503
13532
|
function onClickControl() {
|
|
13504
|
-
if (props.hideNoData && !items.value.length || props.readonly) return;
|
|
13533
|
+
if (props.hideNoData && !items.value.length || props.readonly || form != null && form.isReadonly.value) return;
|
|
13505
13534
|
menu.value = true;
|
|
13506
13535
|
}
|
|
13507
13536
|
function onKeydown(e) {
|
|
13508
|
-
if (props.readonly) return;
|
|
13537
|
+
if (props.readonly || form != null && form.isReadonly.value) return;
|
|
13509
13538
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
|
13510
13539
|
const length = selected.value.length;
|
|
13511
13540
|
if (selectionIndex.value > -1) e.preventDefault();
|
|
@@ -13568,7 +13597,7 @@
|
|
|
13568
13597
|
}
|
|
13569
13598
|
function select(item) {
|
|
13570
13599
|
if (props.multiple) {
|
|
13571
|
-
const index = selected.value.findIndex(selection => selection
|
|
13600
|
+
const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value));
|
|
13572
13601
|
if (index === -1) {
|
|
13573
13602
|
model.value = [...model.value, item];
|
|
13574
13603
|
} else {
|
|
@@ -13612,6 +13641,7 @@
|
|
|
13612
13641
|
});
|
|
13613
13642
|
useRender(() => {
|
|
13614
13643
|
const hasChips = !!(props.chips || slots.chip);
|
|
13644
|
+
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
13615
13645
|
const [textFieldProps] = filterVTextFieldProps(props);
|
|
13616
13646
|
return vue.createVNode(VTextField, vue.mergeProps({
|
|
13617
13647
|
"ref": vTextFieldRef
|
|
@@ -13651,7 +13681,7 @@
|
|
|
13651
13681
|
"transition": props.transition,
|
|
13652
13682
|
"onAfterLeave": onAfterLeave
|
|
13653
13683
|
}, props.menuProps), {
|
|
13654
|
-
default: () => [vue.createVNode(VList, {
|
|
13684
|
+
default: () => [hasList && vue.createVNode(VList, {
|
|
13655
13685
|
"ref": listRef,
|
|
13656
13686
|
"selected": selected.value,
|
|
13657
13687
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
|
@@ -13659,9 +13689,9 @@
|
|
|
13659
13689
|
"onFocusin": onFocusin,
|
|
13660
13690
|
"onFocusout": onFocusout
|
|
13661
13691
|
}, {
|
|
13662
|
-
default: () => [!
|
|
13692
|
+
default: () => [!displayItems.value.length && !props.hideNoData && (((_slots$noData = slots['no-data']) == null ? void 0 : _slots$noData.call(slots)) ?? vue.createVNode(VListItem, {
|
|
13663
13693
|
"title": t(props.noDataText)
|
|
13664
|
-
}, null)), (_slots$prependItem = slots['prepend-item']) == null ? void 0 : _slots$prependItem.call(slots),
|
|
13694
|
+
}, null)), (_slots$prependItem = slots['prepend-item']) == null ? void 0 : _slots$prependItem.call(slots), displayItems.value.map((item, index) => {
|
|
13665
13695
|
var _slots$item;
|
|
13666
13696
|
return ((_slots$item = slots.item) == null ? void 0 : _slots$item.call(slots, {
|
|
13667
13697
|
item,
|
|
@@ -14211,6 +14241,7 @@
|
|
|
14211
14241
|
...slots,
|
|
14212
14242
|
default: _ref3 => {
|
|
14213
14243
|
let {
|
|
14244
|
+
id,
|
|
14214
14245
|
isDisabled,
|
|
14215
14246
|
isDirty,
|
|
14216
14247
|
isReadonly,
|
|
@@ -14224,6 +14255,7 @@
|
|
|
14224
14255
|
"onClick:prependInner": props['onClick:prependInner'],
|
|
14225
14256
|
"onClick:appendInner": props['onClick:appendInner']
|
|
14226
14257
|
}, fieldProps, {
|
|
14258
|
+
"id": id.value,
|
|
14227
14259
|
"active": isDirty.value || isFocused.value,
|
|
14228
14260
|
"dirty": isDirty.value,
|
|
14229
14261
|
"focused": isFocused.value,
|
|
@@ -16004,6 +16036,7 @@
|
|
|
16004
16036
|
default: _ref2 => {
|
|
16005
16037
|
let {
|
|
16006
16038
|
id,
|
|
16039
|
+
messagesId,
|
|
16007
16040
|
isDisabled,
|
|
16008
16041
|
isReadonly
|
|
16009
16042
|
} = _ref2;
|
|
@@ -16013,6 +16046,7 @@
|
|
|
16013
16046
|
default: () => [label]
|
|
16014
16047
|
}), vue.createVNode(VSelectionControlGroup, vue.mergeProps(controlProps, {
|
|
16015
16048
|
"id": id.value,
|
|
16049
|
+
"aria-describedby": messagesId.value,
|
|
16016
16050
|
"defaultsTarget": "VRadio",
|
|
16017
16051
|
"trueIcon": props.trueIcon,
|
|
16018
16052
|
"falseIcon": props.falseIcon,
|
|
@@ -16136,7 +16170,8 @@
|
|
|
16136
16170
|
default: _ref2 => {
|
|
16137
16171
|
var _startThumbRef$value4, _stopThumbRef$value4;
|
|
16138
16172
|
let {
|
|
16139
|
-
id
|
|
16173
|
+
id,
|
|
16174
|
+
messagesId
|
|
16140
16175
|
} = _ref2;
|
|
16141
16176
|
return vue.createVNode("div", {
|
|
16142
16177
|
"class": "v-slider__container",
|
|
@@ -16164,6 +16199,7 @@
|
|
|
16164
16199
|
'tick-label': slots['tick-label']
|
|
16165
16200
|
}), vue.createVNode(VSliderThumb, {
|
|
16166
16201
|
"ref": startThumbRef,
|
|
16202
|
+
"aria-describedby": messagesId.value,
|
|
16167
16203
|
"focused": isFocused && activeThumbRef.value === ((_startThumbRef$value4 = startThumbRef.value) == null ? void 0 : _startThumbRef$value4.$el),
|
|
16168
16204
|
"modelValue": model.value[0],
|
|
16169
16205
|
"onUpdate:modelValue": v => model.value = [v, model.value[1]],
|
|
@@ -16193,6 +16229,7 @@
|
|
|
16193
16229
|
'thumb-label': slots['thumb-label']
|
|
16194
16230
|
}), vue.createVNode(VSliderThumb, {
|
|
16195
16231
|
"ref": stopThumbRef,
|
|
16232
|
+
"aria-describedby": messagesId.value,
|
|
16196
16233
|
"focused": isFocused && activeThumbRef.value === ((_stopThumbRef$value4 = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value4.$el),
|
|
16197
16234
|
"modelValue": model.value[1],
|
|
16198
16235
|
"onUpdate:modelValue": v => model.value = [model.value[0], v],
|
|
@@ -17030,6 +17067,7 @@
|
|
|
17030
17067
|
default: _ref2 => {
|
|
17031
17068
|
let {
|
|
17032
17069
|
id,
|
|
17070
|
+
messagesId,
|
|
17033
17071
|
isDisabled,
|
|
17034
17072
|
isReadonly,
|
|
17035
17073
|
isValid
|
|
@@ -17040,6 +17078,7 @@
|
|
|
17040
17078
|
"modelValue": model.value,
|
|
17041
17079
|
"onUpdate:modelValue": [$event => model.value = $event, onChange],
|
|
17042
17080
|
"id": id.value,
|
|
17081
|
+
"aria-describedby": messagesId.value,
|
|
17043
17082
|
"type": "checkbox",
|
|
17044
17083
|
"aria-checked": indeterminate.value ? 'mixed' : undefined,
|
|
17045
17084
|
"disabled": isDisabled.value,
|
|
@@ -18310,7 +18349,7 @@
|
|
|
18310
18349
|
locale
|
|
18311
18350
|
};
|
|
18312
18351
|
}
|
|
18313
|
-
const version$1 = "3.1.
|
|
18352
|
+
const version$1 = "3.1.1";
|
|
18314
18353
|
createVuetify$1.version = version$1;
|
|
18315
18354
|
|
|
18316
18355
|
// Vue's inject() can only be used in setup
|
|
@@ -18331,7 +18370,7 @@
|
|
|
18331
18370
|
...options
|
|
18332
18371
|
});
|
|
18333
18372
|
};
|
|
18334
|
-
const version = "3.1.
|
|
18373
|
+
const version = "3.1.1";
|
|
18335
18374
|
createVuetify.version = version;
|
|
18336
18375
|
|
|
18337
18376
|
exports.components = components;
|