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.
Files changed (64) hide show
  1. package/dist/json/importMap.json +54 -54
  2. package/dist/json/web-types.json +65 -1
  3. package/dist/vuetify-labs.css +25743 -0
  4. package/dist/vuetify-labs.d.ts +25933 -38
  5. package/dist/vuetify-labs.esm.js +20101 -0
  6. package/dist/vuetify-labs.esm.js.map +1 -0
  7. package/dist/vuetify-labs.js +14980 -4612
  8. package/dist/vuetify-labs.min.css +12 -0
  9. package/dist/vuetify.css +96 -96
  10. package/dist/vuetify.d.ts +15 -14
  11. package/dist/vuetify.esm.js +77 -38
  12. package/dist/vuetify.esm.js.map +1 -1
  13. package/dist/vuetify.js +77 -38
  14. package/dist/vuetify.js.map +1 -1
  15. package/dist/vuetify.min.css +2 -2
  16. package/dist/vuetify.min.js +189 -189
  17. package/dist/vuetify.min.js.map +1 -1
  18. package/lib/components/VAppBar/VAppBarTitle.mjs +4 -4
  19. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  20. package/lib/components/VAutocomplete/VAutocomplete.mjs +16 -7
  21. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  22. package/lib/components/VAutocomplete/index.d.ts +1 -0
  23. package/lib/components/VCheckbox/VCheckbox.mjs +2 -0
  24. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  25. package/lib/components/VCombobox/VCombobox.mjs +16 -7
  26. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  27. package/lib/components/VCombobox/index.d.ts +1 -0
  28. package/lib/components/VField/VField.mjs +3 -1
  29. package/lib/components/VField/VField.mjs.map +1 -1
  30. package/lib/components/VField/index.d.ts +1 -0
  31. package/lib/components/VFileInput/VFileInput.mjs +2 -0
  32. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  33. package/lib/components/VFileInput/index.d.ts +1 -0
  34. package/lib/components/VInput/VInput.mjs +3 -0
  35. package/lib/components/VInput/VInput.mjs.map +1 -1
  36. package/lib/components/VInput/index.d.ts +1 -0
  37. package/lib/components/VMessages/VMessages.mjs +3 -1
  38. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  39. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -0
  40. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  41. package/lib/components/VRangeSlider/VRangeSlider.mjs +4 -1
  42. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  43. package/lib/components/VSelect/VSelect.mjs +18 -9
  44. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  45. package/lib/components/VSelect/index.d.ts +1 -0
  46. package/lib/components/VSlider/VSlider.mjs +4 -1
  47. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  48. package/lib/components/VSwitch/VSwitch.mjs +2 -0
  49. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  50. package/lib/components/VTextField/index.d.ts +1 -0
  51. package/lib/components/VTextarea/index.d.ts +1 -0
  52. package/lib/components/index.d.ts +1 -0
  53. package/lib/components/transitions/dialog-transition.mjs +3 -9
  54. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  55. package/lib/entry-bundler.mjs +1 -1
  56. package/lib/framework.mjs +1 -1
  57. package/lib/index.d.ts +14 -14
  58. package/lib/labs/allComponents.mjs +3 -0
  59. package/lib/labs/allComponents.mjs.map +1 -0
  60. package/lib/labs/entry-bundler.mjs +14 -0
  61. package/lib/labs/entry-bundler.mjs.map +1 -0
  62. package/lib/util/defineComponent.mjs +1 -1
  63. package/lib/util/defineComponent.mjs.map +1 -1
  64. package/package.json +2 -2
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.1.0
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.hasOwnProperty(prop)) || ((_vnode$props2 = vnode.props) == null ? void 0 : _vnode$props2.hasOwnProperty(toKebabCase(prop)));
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(_, _ref) {
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 === item.value);
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: () => [!items.value.length && !props.hideNoData && (((_slots$noData = slots['no-data']) == null ? void 0 : _slots$noData.call(slots)) ?? vue.createVNode(VListItem, {
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), items.value.map((item, index) => {
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 === item.value);
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: () => [!filteredItems.value.length && !props.hideNoData && (((_slots$noData = slots['no-data']) == null ? void 0 : _slots$noData.call(slots)) ?? vue.createVNode(VListItem, {
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), filteredItems.value.map((item, index) => {
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 === item.value);
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: () => [!filteredItems.value.length && !props.hideNoData && (((_slots$noData = slots['no-data']) == null ? void 0 : _slots$noData.call(slots)) ?? vue.createVNode(VListItem, {
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), filteredItems.value.map((item, index) => {
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.0";
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.0";
18373
+ const version = "3.1.1";
18335
18374
  createVuetify.version = version;
18336
18375
 
18337
18376
  exports.components = components;