vuetify 3.3.12 → 3.3.13

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 (168) hide show
  1. package/dist/json/attributes.json +45 -5
  2. package/dist/json/importMap.json +12 -12
  3. package/dist/json/tags.json +10 -0
  4. package/dist/json/web-types.json +158 -11
  5. package/dist/vuetify-labs.css +242 -205
  6. package/dist/vuetify-labs.d.ts +169 -35
  7. package/dist/vuetify-labs.esm.js +97 -58
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +97 -58
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +195 -158
  12. package/dist/vuetify.d.ts +172 -38
  13. package/dist/vuetify.esm.js +97 -58
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +97 -58
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +149 -149
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  21. package/lib/components/VAppBar/index.d.mts +6 -6
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs +6 -2
  23. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  24. package/lib/components/VAutocomplete/index.d.mts +42 -0
  25. package/lib/components/VBottomNavigation/VBottomNavigation.css +1 -0
  26. package/lib/components/VBottomNavigation/VBottomNavigation.sass +1 -0
  27. package/lib/components/VBtn/VBtn.css +3 -0
  28. package/lib/components/VBtn/VBtn.sass +3 -0
  29. package/lib/components/VCheckbox/index.d.mts +3 -1
  30. package/lib/components/VCombobox/VCombobox.mjs +6 -2
  31. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  32. package/lib/components/VCombobox/index.d.mts +42 -0
  33. package/lib/components/VField/VField.css +1 -0
  34. package/lib/components/VField/VField.mjs +5 -3
  35. package/lib/components/VField/VField.mjs.map +1 -1
  36. package/lib/components/VField/VField.sass +1 -0
  37. package/lib/components/VFileInput/VFileInput.css +4 -0
  38. package/lib/components/VFileInput/VFileInput.sass +5 -1
  39. package/lib/components/VFileInput/_variables.scss +2 -1
  40. package/lib/components/VList/VList.css +1 -1
  41. package/lib/components/VList/VList.sass +1 -1
  42. package/lib/components/VList/VListItem.css +15 -10
  43. package/lib/components/VList/VListItem.mjs +6 -3
  44. package/lib/components/VList/VListItem.mjs.map +1 -1
  45. package/lib/components/VList/VListItem.sass +17 -10
  46. package/lib/components/VMenu/VMenu.mjs +4 -3
  47. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  48. package/lib/components/VMenu/index.d.mts +5 -5
  49. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +0 -1
  50. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +0 -1
  51. package/lib/components/VNavigationDrawer/_variables.scss +0 -1
  52. package/lib/components/VRadio/index.d.mts +3 -1
  53. package/lib/components/VRadioGroup/VRadioGroup.css +6 -1
  54. package/lib/components/VRadioGroup/VRadioGroup.sass +5 -0
  55. package/lib/components/VRadioGroup/_variables.scss +3 -1
  56. package/lib/components/VRadioGroup/index.d.mts +3 -1
  57. package/lib/components/VSelect/VSelect.mjs +14 -2
  58. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  59. package/lib/components/VSelect/index.d.mts +42 -0
  60. package/lib/components/VSelectionControl/VSelectionControl.mjs +22 -19
  61. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  62. package/lib/components/VSelectionControl/index.d.mts +27 -25
  63. package/lib/components/VSwitch/VSwitch.css +24 -17
  64. package/lib/components/VSwitch/VSwitch.mjs +28 -19
  65. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  66. package/lib/components/VSwitch/VSwitch.sass +20 -11
  67. package/lib/components/VSwitch/_variables.scss +18 -6
  68. package/lib/components/VSwitch/index.d.mts +3 -1
  69. package/lib/components/VTextField/VTextField.css +9 -2
  70. package/lib/components/VTextField/VTextField.mjs +6 -3
  71. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  72. package/lib/components/VTextField/VTextField.sass +10 -3
  73. package/lib/components/VTextField/index.d.mts +6 -0
  74. package/lib/components/VTextarea/VTextarea.mjs +1 -2
  75. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  76. package/lib/components/VTimeline/VTimeline.css +6 -1
  77. package/lib/components/VTimeline/VTimeline.sass +6 -1
  78. package/lib/components/index.d.mts +169 -35
  79. package/lib/entry-bundler.mjs +1 -1
  80. package/lib/framework.mjs +1 -1
  81. package/lib/index.d.mts +3 -3
  82. package/lib/labs/VDateInput/index.d.mts +6 -0
  83. package/lib/locale/af.mjs +1 -0
  84. package/lib/locale/af.mjs.map +1 -1
  85. package/lib/locale/ar.mjs +1 -0
  86. package/lib/locale/ar.mjs.map +1 -1
  87. package/lib/locale/az.mjs +1 -0
  88. package/lib/locale/az.mjs.map +1 -1
  89. package/lib/locale/bg.mjs +1 -0
  90. package/lib/locale/bg.mjs.map +1 -1
  91. package/lib/locale/ca.mjs +1 -0
  92. package/lib/locale/ca.mjs.map +1 -1
  93. package/lib/locale/ckb.mjs +1 -0
  94. package/lib/locale/ckb.mjs.map +1 -1
  95. package/lib/locale/cs.mjs +1 -0
  96. package/lib/locale/cs.mjs.map +1 -1
  97. package/lib/locale/da.mjs +1 -0
  98. package/lib/locale/da.mjs.map +1 -1
  99. package/lib/locale/de.mjs +1 -0
  100. package/lib/locale/de.mjs.map +1 -1
  101. package/lib/locale/el.mjs +1 -0
  102. package/lib/locale/el.mjs.map +1 -1
  103. package/lib/locale/en.mjs +1 -0
  104. package/lib/locale/en.mjs.map +1 -1
  105. package/lib/locale/es.mjs +1 -0
  106. package/lib/locale/es.mjs.map +1 -1
  107. package/lib/locale/et.mjs +1 -0
  108. package/lib/locale/et.mjs.map +1 -1
  109. package/lib/locale/fa.mjs +1 -0
  110. package/lib/locale/fa.mjs.map +1 -1
  111. package/lib/locale/fi.mjs +1 -0
  112. package/lib/locale/fi.mjs.map +1 -1
  113. package/lib/locale/fr.mjs +1 -0
  114. package/lib/locale/fr.mjs.map +1 -1
  115. package/lib/locale/he.mjs +1 -0
  116. package/lib/locale/he.mjs.map +1 -1
  117. package/lib/locale/hr.mjs +1 -0
  118. package/lib/locale/hr.mjs.map +1 -1
  119. package/lib/locale/hu.mjs +1 -0
  120. package/lib/locale/hu.mjs.map +1 -1
  121. package/lib/locale/id.mjs +1 -0
  122. package/lib/locale/id.mjs.map +1 -1
  123. package/lib/locale/index.d.mts +42 -0
  124. package/lib/locale/it.mjs +1 -0
  125. package/lib/locale/it.mjs.map +1 -1
  126. package/lib/locale/ja.mjs +1 -0
  127. package/lib/locale/ja.mjs.map +1 -1
  128. package/lib/locale/ko.mjs +1 -0
  129. package/lib/locale/ko.mjs.map +1 -1
  130. package/lib/locale/lt.mjs +1 -0
  131. package/lib/locale/lt.mjs.map +1 -1
  132. package/lib/locale/lv.mjs +1 -0
  133. package/lib/locale/lv.mjs.map +1 -1
  134. package/lib/locale/nl.mjs +1 -0
  135. package/lib/locale/nl.mjs.map +1 -1
  136. package/lib/locale/no.mjs +1 -0
  137. package/lib/locale/no.mjs.map +1 -1
  138. package/lib/locale/pl.mjs +1 -0
  139. package/lib/locale/pl.mjs.map +1 -1
  140. package/lib/locale/pt.mjs +1 -0
  141. package/lib/locale/pt.mjs.map +1 -1
  142. package/lib/locale/ro.mjs +1 -0
  143. package/lib/locale/ro.mjs.map +1 -1
  144. package/lib/locale/ru.mjs +1 -0
  145. package/lib/locale/ru.mjs.map +1 -1
  146. package/lib/locale/sk.mjs +1 -0
  147. package/lib/locale/sk.mjs.map +1 -1
  148. package/lib/locale/sl.mjs +1 -0
  149. package/lib/locale/sl.mjs.map +1 -1
  150. package/lib/locale/sr-Cyrl.mjs +1 -0
  151. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  152. package/lib/locale/sr-Latn.mjs +1 -0
  153. package/lib/locale/sr-Latn.mjs.map +1 -1
  154. package/lib/locale/sv.mjs +1 -0
  155. package/lib/locale/sv.mjs.map +1 -1
  156. package/lib/locale/th.mjs +1 -0
  157. package/lib/locale/th.mjs.map +1 -1
  158. package/lib/locale/tr.mjs +1 -0
  159. package/lib/locale/tr.mjs.map +1 -1
  160. package/lib/locale/uk.mjs +1 -0
  161. package/lib/locale/uk.mjs.map +1 -1
  162. package/lib/locale/vi.mjs +1 -0
  163. package/lib/locale/vi.mjs.map +1 -1
  164. package/lib/locale/zh-Hans.mjs +1 -0
  165. package/lib/locale/zh-Hans.mjs.map +1 -1
  166. package/lib/locale/zh-Hant.mjs +1 -0
  167. package/lib/locale/zh-Hant.mjs.map +1 -1
  168. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.3.12
2
+ * Vuetify v3.3.13
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -1641,6 +1641,7 @@ function createLayout(props) {
1641
1641
 
1642
1642
  var en = {
1643
1643
  badge: 'Badge',
1644
+ open: 'Open',
1644
1645
  close: 'Close',
1645
1646
  dataIterator: {
1646
1647
  noResultsText: 'No matching records found',
@@ -5844,6 +5845,20 @@ const VSelectionControl = genericComponent()({
5844
5845
  }
5845
5846
  }) : props.label;
5846
5847
  const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
5848
+ const inputNode = createVNode("input", mergeProps({
5849
+ "ref": input,
5850
+ "checked": model.value,
5851
+ "disabled": !!(props.readonly || props.disabled),
5852
+ "id": id.value,
5853
+ "onBlur": onBlur,
5854
+ "onFocus": onFocus,
5855
+ "onInput": onInput,
5856
+ "aria-disabled": !!(props.readonly || props.disabled),
5857
+ "type": props.type,
5858
+ "value": trueValue.value,
5859
+ "name": props.name,
5860
+ "aria-checked": props.type === 'checkbox' ? model.value : undefined
5861
+ }, inputAttrs), null);
5847
5862
  return createVNode("div", mergeProps({
5848
5863
  "class": ['v-selection-control', {
5849
5864
  'v-selection-control--dirty': model.value,
@@ -5860,32 +5875,21 @@ const VSelectionControl = genericComponent()({
5860
5875
  "style": textColorStyles.value
5861
5876
  }, [slots.default?.(), withDirectives(createVNode("div", {
5862
5877
  "class": ['v-selection-control__input']
5863
- }, [icon.value && createVNode(VIcon, {
5864
- "key": "icon",
5865
- "icon": icon.value
5866
- }, null), createVNode("input", mergeProps({
5867
- "ref": input,
5868
- "checked": model.value,
5869
- "disabled": !!(props.readonly || props.disabled),
5870
- "id": id.value,
5871
- "onBlur": onBlur,
5872
- "onFocus": onFocus,
5873
- "onInput": onInput,
5874
- "aria-disabled": !!(props.readonly || props.disabled),
5875
- "type": props.type,
5876
- "value": trueValue.value,
5877
- "name": props.name,
5878
- "aria-checked": props.type === 'checkbox' ? model.value : undefined
5879
- }, inputAttrs), null), slots.input?.({
5878
+ }, [slots.input?.({
5880
5879
  model,
5881
5880
  textColorClasses,
5882
5881
  textColorStyles,
5882
+ inputNode,
5883
+ icon: icon.value,
5883
5884
  props: {
5884
5885
  onFocus,
5885
5886
  onBlur,
5886
5887
  id: id.value
5887
5888
  }
5888
- })]), [[resolveDirective("ripple"), props.ripple && [!props.disabled && !props.readonly, null, ['center', 'circle']]]])]), label && createVNode(VLabel, {
5889
+ }) ?? createVNode(Fragment, null, [icon.value && createVNode(VIcon, {
5890
+ "key": "icon",
5891
+ "icon": icon.value
5892
+ }, null), inputNode])]), [[resolveDirective("ripple"), props.ripple && [!props.disabled && !props.readonly, null, ['center', 'circle']]]])]), label && createVNode(VLabel, {
5889
5893
  "for": id.value,
5890
5894
  "clickable": true
5891
5895
  }, {
@@ -7654,7 +7658,6 @@ const VListItem = genericComponent()({
7654
7658
  "style": [colorStyles.value, dimensionStyles.value, props.style],
7655
7659
  "href": link.href.value,
7656
7660
  "tabindex": isClickable.value ? list ? -2 : 0 : undefined,
7657
- "title": props.title,
7658
7661
  "onClick": onClick,
7659
7662
  "onKeydown": isClickable.value && !isLink.value && onKeyDown
7660
7663
  }, {
@@ -7687,7 +7690,9 @@ const VListItem = genericComponent()({
7687
7690
  }
7688
7691
  }, {
7689
7692
  default: () => [slots.prepend?.(slotProps.value)]
7690
- })]), createVNode("div", {
7693
+ }), createVNode("div", {
7694
+ "class": "v-list-item__spacer"
7695
+ }, null)]), createVNode("div", {
7691
7696
  "class": "v-list-item__content",
7692
7697
  "data-no-activator": ""
7693
7698
  }, [hasTitle && createVNode(VListItemTitle, {
@@ -7731,7 +7736,9 @@ const VListItem = genericComponent()({
7731
7736
  }
7732
7737
  }, {
7733
7738
  default: () => [slots.append?.(slotProps.value)]
7734
- })])]
7739
+ }), createVNode("div", {
7740
+ "class": "v-list-item__spacer"
7741
+ }, null)])]
7735
7742
  }), [[resolveDirective("ripple"), isClickable.value && props.ripple]]);
7736
7743
  });
7737
7744
  return {};
@@ -9842,10 +9849,11 @@ const VMenu = genericComponent()({
9842
9849
  }, 40);
9843
9850
  }
9844
9851
  });
9845
- function onFocusIn(e) {
9852
+ async function onFocusIn(e) {
9846
9853
  const before = e.relatedTarget;
9847
9854
  const after = e.target;
9848
- if (before !== after && overlay.value?.contentEl &&
9855
+ await nextTick();
9856
+ if (isActive.value && before !== after && overlay.value?.contentEl &&
9849
9857
  // We're the topmost menu
9850
9858
  overlay.value?.globalTop &&
9851
9859
  // It isn't the document or the menu body
@@ -10181,7 +10189,7 @@ const VField = genericComponent()({
10181
10189
  'v-field--no-label': !label,
10182
10190
  [`v-field--variant-${props.variant}`]: true
10183
10191
  }, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, rtlClasses.value, props.class],
10184
- "style": [backgroundColorStyles.value, textColorStyles.value, props.style],
10192
+ "style": [backgroundColorStyles.value, props.style],
10185
10193
  "onClick": onClick
10186
10194
  }, attrs), [createVNode("div", {
10187
10195
  "class": "v-field__overlay"
@@ -10205,7 +10213,8 @@ const VField = genericComponent()({
10205
10213
  "ref": floatingLabelRef,
10206
10214
  "class": [textColorClasses.value],
10207
10215
  "floating": true,
10208
- "for": id.value
10216
+ "for": id.value,
10217
+ "style": textColorStyles.value
10209
10218
  }, {
10210
10219
  default: () => [label]
10211
10220
  }), createVNode(VFieldLabel, {
@@ -10241,7 +10250,8 @@ const VField = genericComponent()({
10241
10250
  "key": "append-icon",
10242
10251
  "name": "appendInner"
10243
10252
  }, null)]), createVNode("div", {
10244
- "class": ['v-field__outline', textColorClasses.value]
10253
+ "class": ['v-field__outline', textColorClasses.value],
10254
+ "style": textColorStyles.value
10245
10255
  }, [isOutlined && createVNode(Fragment, null, [createVNode("div", {
10246
10256
  "class": "v-field__outline__start"
10247
10257
  }, null), hasLabel.value && createVNode("div", {
@@ -10285,6 +10295,7 @@ const makeVTextFieldProps = propsFactory({
10285
10295
  persistentPlaceholder: Boolean,
10286
10296
  persistentCounter: Boolean,
10287
10297
  suffix: String,
10298
+ role: String,
10288
10299
  type: {
10289
10300
  type: String,
10290
10301
  default: 'text'
@@ -10409,7 +10420,7 @@ const VTextField = genericComponent()({
10409
10420
  "onClick:clear": onClear,
10410
10421
  "onClick:prependInner": props['onClick:prependInner'],
10411
10422
  "onClick:appendInner": props['onClick:appendInner'],
10412
- "role": "textbox"
10423
+ "role": props.role
10413
10424
  }, fieldProps, {
10414
10425
  "id": id.value,
10415
10426
  "active": isActive.value || isDirty.value,
@@ -10448,10 +10459,12 @@ const VTextField = genericComponent()({
10448
10459
  "class": "v-text-field__prefix"
10449
10460
  }, [createVNode("span", {
10450
10461
  "class": "v-text-field__prefix__text"
10451
- }, [props.prefix])]), createVNode("div", {
10462
+ }, [props.prefix])]), slots.default ? createVNode("div", {
10452
10463
  "class": fieldClass,
10453
10464
  "data-no-activator": ""
10454
- }, [slots.default ? createVNode(Fragment, null, [slots.default(), inputNode]) : cloneVNode(inputNode)]), props.suffix && createVNode("span", {
10465
+ }, [slots.default(), inputNode]) : cloneVNode(inputNode, {
10466
+ class: fieldClass
10467
+ }), props.suffix && createVNode("span", {
10455
10468
  "class": "v-text-field__suffix"
10456
10469
  }, [createVNode("span", {
10457
10470
  "class": "v-text-field__suffix__text"
@@ -10770,6 +10783,14 @@ function useScrolling(listRef, textFieldRef) {
10770
10783
  const makeSelectProps = propsFactory({
10771
10784
  chips: Boolean,
10772
10785
  closableChips: Boolean,
10786
+ closeText: {
10787
+ type: String,
10788
+ default: '$vuetify.close'
10789
+ },
10790
+ openText: {
10791
+ type: String,
10792
+ default: '$vuetify.open'
10793
+ },
10773
10794
  eager: Boolean,
10774
10795
  hideNoData: Boolean,
10775
10796
  hideSelected: Boolean,
@@ -10799,7 +10820,8 @@ const makeSelectProps = propsFactory({
10799
10820
  const makeVSelectProps = propsFactory({
10800
10821
  ...makeSelectProps(),
10801
10822
  ...omit(makeVTextFieldProps({
10802
- modelValue: null
10823
+ modelValue: null,
10824
+ role: 'button'
10803
10825
  }), ['validationValue', 'dirty', 'appendInnerIcon']),
10804
10826
  ...makeTransitionProps({
10805
10827
  transition: {
@@ -10854,6 +10876,7 @@ const VSelect = genericComponent()({
10854
10876
  });
10855
10877
  const selected = computed(() => selections.value.map(selection => selection.props.value));
10856
10878
  const isFocused = shallowRef(false);
10879
+ const label = computed(() => menu.value ? props.closeText : props.openText);
10857
10880
  let keyboardLookupPrefix = '';
10858
10881
  let keyboardLookupLastTime;
10859
10882
  const displayItems = computed(() => {
@@ -10980,7 +11003,9 @@ const VSelect = genericComponent()({
10980
11003
  "onClick:clear": onClear,
10981
11004
  "onMousedown:control": onMousedownControl,
10982
11005
  "onBlur": onBlur,
10983
- "onKeydown": onKeydown
11006
+ "onKeydown": onKeydown,
11007
+ "aria-label": t(label.value),
11008
+ "title": t(label.value)
10984
11009
  }), {
10985
11010
  ...slots,
10986
11011
  default: () => createVNode(Fragment, null, [createVNode(VMenu, mergeProps({
@@ -11243,7 +11268,8 @@ const makeVAutocompleteProps = propsFactory({
11243
11268
  }),
11244
11269
  ...makeSelectProps(),
11245
11270
  ...omit(makeVTextFieldProps({
11246
- modelValue: null
11271
+ modelValue: null,
11272
+ role: 'combobox'
11247
11273
  }), ['validationValue', 'dirty', 'appendInnerIcon']),
11248
11274
  ...makeTransitionProps({
11249
11275
  transition: false
@@ -11280,6 +11306,7 @@ const VAutocomplete = genericComponent()({
11280
11306
  });
11281
11307
  const selectionIndex = shallowRef(-1);
11282
11308
  const color = computed(() => vTextFieldRef.value?.color);
11309
+ const label = computed(() => menu.value ? props.closeText : props.openText);
11283
11310
  const {
11284
11311
  items,
11285
11312
  transformIn,
@@ -11627,7 +11654,9 @@ const VAutocomplete = genericComponent()({
11627
11654
  "class": "v-autocomplete__menu-icon",
11628
11655
  "icon": props.menuIcon,
11629
11656
  "onMousedown": onMousedownMenuIcon,
11630
- "onClick": noop
11657
+ "onClick": noop,
11658
+ "aria-label": t(label.value),
11659
+ "title": t(label.value)
11631
11660
  }, null) : undefined]);
11632
11661
  }
11633
11662
  });
@@ -14771,7 +14800,8 @@ const makeVComboboxProps = propsFactory({
14771
14800
  returnObject: true
14772
14801
  }),
14773
14802
  ...omit(makeVTextFieldProps({
14774
- modelValue: null
14803
+ modelValue: null,
14804
+ role: 'combobox'
14775
14805
  }), ['validationValue', 'dirty', 'appendInnerIcon']),
14776
14806
  ...makeTransitionProps({
14777
14807
  transition: false
@@ -14810,6 +14840,7 @@ const VCombobox = genericComponent()({
14810
14840
  const selectionIndex = shallowRef(-1);
14811
14841
  let cleared = false;
14812
14842
  const color = computed(() => vTextFieldRef.value?.color);
14843
+ const label = computed(() => menu.value ? props.closeText : props.openText);
14813
14844
  const {
14814
14845
  items,
14815
14846
  transformIn,
@@ -15185,7 +15216,9 @@ const VCombobox = genericComponent()({
15185
15216
  "class": "v-combobox__menu-icon",
15186
15217
  "icon": props.menuIcon,
15187
15218
  "onMousedown": onMousedownMenuIcon,
15188
- "onClick": noop
15219
+ "onClick": noop,
15220
+ "aria-label": t(label.value),
15221
+ "title": t(label.value)
15189
15222
  }, null) : undefined]);
15190
15223
  }
15191
15224
  });
@@ -18528,25 +18561,32 @@ const VSwitch = genericComponent()({
18528
18561
  }, null),
18529
18562
  input: _ref3 => {
18530
18563
  let {
18531
- textColorClasses,
18532
- textColorStyles
18564
+ inputNode,
18565
+ icon
18533
18566
  } = _ref3;
18534
- return createVNode("div", {
18535
- "class": ['v-switch__thumb', textColorClasses.value],
18536
- "style": textColorStyles.value
18537
- }, [props.loading && createVNode(LoaderSlot, {
18538
- "name": "v-switch",
18539
- "active": true,
18540
- "color": isValid.value === false ? undefined : loaderColor.value
18541
- }, {
18542
- default: slotProps => slots.loader ? slots.loader(slotProps) : createVNode(VProgressCircular, {
18543
- "active": slotProps.isActive,
18544
- "color": slotProps.color,
18545
- "indeterminate": true,
18546
- "size": "16",
18547
- "width": "2"
18548
- }, null)
18549
- })]);
18567
+ return createVNode(Fragment, null, [inputNode, createVNode("div", {
18568
+ "class": ['v-switch__thumb', {
18569
+ 'v-switch__thumb--filled': icon || props.loading
18570
+ }]
18571
+ }, [createVNode(VScaleTransition, null, {
18572
+ default: () => [!props.loading ? icon && createVNode(VIcon, {
18573
+ "key": icon,
18574
+ "icon": icon,
18575
+ "size": "x-small"
18576
+ }, null) : createVNode(LoaderSlot, {
18577
+ "name": "v-switch",
18578
+ "active": true,
18579
+ "color": isValid.value === false ? undefined : loaderColor.value
18580
+ }, {
18581
+ default: slotProps => slots.loader ? slots.loader(slotProps) : createVNode(VProgressCircular, {
18582
+ "active": slotProps.isActive,
18583
+ "color": slotProps.color,
18584
+ "indeterminate": true,
18585
+ "size": "16",
18586
+ "width": "2"
18587
+ }, null)
18588
+ })]
18589
+ })])]);
18550
18590
  }
18551
18591
  });
18552
18592
  }
@@ -19027,8 +19067,7 @@ const VTextarea = genericComponent()({
19027
19067
  "onMousedown": onControlMousedown,
19028
19068
  "onClick:clear": onClear,
19029
19069
  "onClick:prependInner": props['onClick:prependInner'],
19030
- "onClick:appendInner": props['onClick:appendInner'],
19031
- "role": "textbox"
19070
+ "onClick:appendInner": props['onClick:appendInner']
19032
19071
  }, fieldProps, {
19033
19072
  "active": isActive.value || isDirty.value,
19034
19073
  "centerAffix": rows.value === 1 && !isPlainOrUnderlined.value,
@@ -20289,7 +20328,7 @@ function createVuetify$1() {
20289
20328
  date
20290
20329
  };
20291
20330
  }
20292
- const version$1 = "3.3.12";
20331
+ const version$1 = "3.3.13";
20293
20332
  createVuetify$1.version = version$1;
20294
20333
 
20295
20334
  // Vue's inject() can only be used in setup
@@ -20314,7 +20353,7 @@ const createVuetify = function () {
20314
20353
  ...options
20315
20354
  });
20316
20355
  };
20317
- const version = "3.3.12";
20356
+ const version = "3.3.13";
20318
20357
  createVuetify.version = version;
20319
20358
 
20320
20359
  export { components, createVuetify, directives, useDefaults, useDisplay, useLayout, useLocale, useRtl, useTheme, version };