vuetify 3.3.2 → 3.3.4

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 (356) hide show
  1. package/dist/_component-variables-labs.sass +2 -0
  2. package/dist/json/attributes.json +460 -20
  3. package/dist/json/importMap-labs.json +32 -0
  4. package/dist/json/importMap.json +24 -24
  5. package/dist/json/tags.json +150 -0
  6. package/dist/json/web-types.json +1639 -40
  7. package/dist/vuetify-labs.css +499 -230
  8. package/dist/vuetify-labs.d.ts +5421 -326
  9. package/dist/vuetify-labs.esm.js +2124 -1098
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +2123 -1097
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +219 -210
  14. package/dist/vuetify.d.ts +314 -165
  15. package/dist/vuetify.esm.js +330 -179
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +329 -178
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +792 -784
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/blueprints/index.d.mts +34 -27
  23. package/lib/blueprints/md1.d.mts +34 -27
  24. package/lib/blueprints/md2.d.mts +34 -27
  25. package/lib/blueprints/md3.d.mts +34 -27
  26. package/lib/components/VAppBar/VAppBar.mjs +3 -10
  27. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  28. package/lib/components/VAppBar/index.d.mts +24 -8
  29. package/lib/components/VAutocomplete/VAutocomplete.css +4 -22
  30. package/lib/components/VAutocomplete/VAutocomplete.mjs +17 -12
  31. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  32. package/lib/components/VAutocomplete/VAutocomplete.sass +6 -17
  33. package/lib/components/VBreadcrumbs/index.d.mts +7 -7
  34. package/lib/components/VBtn/VBtn.css +11 -11
  35. package/lib/components/VBtn/VBtn.mjs +1 -1
  36. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  37. package/lib/components/VBtn/VBtn.sass +1 -1
  38. package/lib/components/VBtn/_mixins.scss +1 -1
  39. package/lib/components/VBtn/index.d.mts +24 -8
  40. package/lib/components/VCard/VCard.mjs +1 -1
  41. package/lib/components/VCard/VCard.mjs.map +1 -1
  42. package/lib/components/VCard/index.d.mts +44 -28
  43. package/lib/components/VCheckbox/VCheckbox.mjs +8 -1
  44. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  45. package/lib/components/VCheckbox/index.d.mts +7 -1
  46. package/lib/components/VChip/VChip.css +67 -67
  47. package/lib/components/VChip/VChip.mjs +2 -2
  48. package/lib/components/VChip/VChip.mjs.map +1 -1
  49. package/lib/components/VChip/_variables.scss +1 -1
  50. package/lib/components/VChip/index.d.mts +48 -32
  51. package/lib/components/VCombobox/VCombobox.css +4 -22
  52. package/lib/components/VCombobox/VCombobox.mjs +16 -8
  53. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  54. package/lib/components/VCombobox/VCombobox.sass +6 -17
  55. package/lib/components/VCombobox/_variables.scss +3 -3
  56. package/lib/components/VCounter/index.d.mts +8 -8
  57. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +1 -1
  58. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  59. package/lib/components/VExpansionPanel/index.d.mts +56 -24
  60. package/lib/components/VField/VField.css +72 -8
  61. package/lib/components/VField/VField.sass +10 -5
  62. package/lib/components/VField/_mixins.sass +7 -0
  63. package/lib/components/VFileInput/VFileInput.css +2 -17
  64. package/lib/components/VFileInput/VFileInput.mjs +0 -2
  65. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  66. package/lib/components/VFileInput/VFileInput.sass +2 -11
  67. package/lib/components/VFileInput/_variables.scss +3 -3
  68. package/lib/components/VIcon/VIcon.mjs +2 -2
  69. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  70. package/lib/components/VInput/VInput.css +14 -1
  71. package/lib/components/VInput/VInput.sass +6 -0
  72. package/lib/components/VInput/_variables.scss +5 -1
  73. package/lib/components/VList/VListItem.mjs +2 -2
  74. package/lib/components/VList/VListItem.mjs.map +1 -1
  75. package/lib/components/VList/index.d.mts +24 -8
  76. package/lib/components/VMenu/VMenu.mjs +29 -3
  77. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  78. package/lib/components/VOverlay/VOverlay.mjs +7 -4
  79. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  80. package/lib/components/VOverlay/useActivator.mjs +29 -35
  81. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  82. package/lib/components/VSelect/VSelect.css +2 -20
  83. package/lib/components/VSelect/VSelect.mjs +16 -11
  84. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  85. package/lib/components/VSelect/VSelect.sass +2 -12
  86. package/lib/components/VSelect/_variables.scss +3 -3
  87. package/lib/components/VSlider/VSliderThumb.mjs +2 -2
  88. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  89. package/lib/components/VTabs/VTab.mjs +2 -2
  90. package/lib/components/VTabs/VTab.mjs.map +1 -1
  91. package/lib/components/VTabs/VTabs.css +1 -0
  92. package/lib/components/VTabs/VTabs.sass +1 -0
  93. package/lib/components/VTabs/index.d.mts +24 -8
  94. package/lib/components/VTextarea/VTextarea.css +7 -7
  95. package/lib/components/VTextarea/VTextarea.sass +9 -9
  96. package/lib/components/VTimePicker/VTimePickerTitle.mjs +1 -1
  97. package/lib/components/index.d.mts +266 -132
  98. package/lib/components/index.mjs +1 -2
  99. package/lib/components/index.mjs.map +1 -1
  100. package/lib/composables/icons.mjs.map +1 -1
  101. package/lib/composables/list-items.mjs +5 -2
  102. package/lib/composables/list-items.mjs.map +1 -1
  103. package/lib/composables/nested/nested.mjs +1 -1
  104. package/lib/composables/nested/nested.mjs.map +1 -1
  105. package/lib/composables/theme.mjs +1 -1
  106. package/lib/composables/theme.mjs.map +1 -1
  107. package/lib/entry-bundler.mjs +1 -1
  108. package/lib/framework.mjs +1 -1
  109. package/lib/iconsets/fa-svg.d.mts +1 -0
  110. package/lib/iconsets/fa.d.mts +1 -0
  111. package/lib/iconsets/fa.mjs +2 -1
  112. package/lib/iconsets/fa.mjs.map +1 -1
  113. package/lib/iconsets/fa4.d.mts +1 -0
  114. package/lib/iconsets/fa4.mjs +2 -1
  115. package/lib/iconsets/fa4.mjs.map +1 -1
  116. package/lib/iconsets/md.d.mts +1 -0
  117. package/lib/iconsets/md.mjs +2 -1
  118. package/lib/iconsets/md.mjs.map +1 -1
  119. package/lib/iconsets/mdi-svg.d.mts +1 -0
  120. package/lib/iconsets/mdi-svg.mjs +36 -35
  121. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  122. package/lib/iconsets/mdi.d.mts +1 -0
  123. package/lib/iconsets/mdi.mjs +2 -1
  124. package/lib/iconsets/mdi.mjs.map +1 -1
  125. package/lib/index.d.mts +48 -33
  126. package/lib/labs/VDataTable/VDataTable.css +4 -14
  127. package/lib/labs/VDataTable/VDataTable.sass +6 -15
  128. package/lib/labs/VDataTable/VDataTableHeaders.mjs +2 -2
  129. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  130. package/lib/labs/VDataTable/VDataTableVirtual.mjs +16 -12
  131. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  132. package/lib/labs/VDataTable/composables/headers.mjs +2 -5
  133. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  134. package/lib/labs/VDataTable/composables/select.mjs +3 -2
  135. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  136. package/lib/labs/VDateInput/VDateInput.mjs +127 -0
  137. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -0
  138. package/lib/labs/VDateInput/VDateInput.sass +11 -0
  139. package/lib/labs/VDateInput/VDateRangeInput.mjs +223 -0
  140. package/lib/labs/VDateInput/VDateRangeInput.mjs.map +1 -0
  141. package/lib/labs/VDateInput/VDateRangeInput.sass +10 -0
  142. package/lib/labs/VDateInput/composables.mjs +59 -0
  143. package/lib/labs/VDateInput/composables.mjs.map +1 -0
  144. package/lib/labs/VDateInput/index.d.mts +1352 -0
  145. package/lib/labs/VDateInput/index.mjs +3 -0
  146. package/lib/labs/VDateInput/index.mjs.map +1 -0
  147. package/lib/labs/VDatePicker/VDateCard.css +33 -0
  148. package/lib/labs/VDatePicker/VDateCard.mjs +112 -0
  149. package/lib/labs/VDatePicker/VDateCard.mjs.map +1 -0
  150. package/lib/labs/VDatePicker/VDateCard.sass +32 -0
  151. package/lib/labs/VDatePicker/VDatePicker.css +23 -0
  152. package/lib/labs/VDatePicker/VDatePicker.mjs +172 -0
  153. package/lib/labs/VDatePicker/VDatePicker.mjs.map +1 -0
  154. package/lib/labs/VDatePicker/VDatePicker.sass +23 -0
  155. package/lib/labs/VDatePicker/VDatePickerControls.css +15 -0
  156. package/lib/labs/VDatePicker/VDatePickerControls.mjs +80 -0
  157. package/lib/labs/VDatePicker/VDatePickerControls.mjs.map +1 -0
  158. package/lib/labs/VDatePicker/VDatePickerControls.sass +15 -0
  159. package/lib/labs/VDatePicker/VDatePickerHeader.css +54 -0
  160. package/lib/labs/VDatePicker/VDatePickerHeader.mjs +75 -0
  161. package/lib/labs/VDatePicker/VDatePickerHeader.mjs.map +1 -0
  162. package/lib/labs/VDatePicker/VDatePickerHeader.sass +51 -0
  163. package/lib/labs/VDatePicker/VDatePickerInput.sass +17 -0
  164. package/lib/labs/VDatePicker/VDatePickerMonth.css +77 -0
  165. package/lib/labs/VDatePicker/VDatePickerMonth.mjs +286 -0
  166. package/lib/labs/VDatePicker/VDatePickerMonth.mjs.map +1 -0
  167. package/lib/labs/VDatePicker/VDatePickerMonth.sass +69 -0
  168. package/lib/{components → labs}/VDatePicker/VDatePickerTitle.mjs +1 -1
  169. package/lib/labs/VDatePicker/VDatePickerTitle.mjs.map +1 -0
  170. package/lib/labs/VDatePicker/VDatePickerYears.css +18 -0
  171. package/lib/labs/VDatePicker/VDatePickerYears.mjs +64 -0
  172. package/lib/labs/VDatePicker/VDatePickerYears.mjs.map +1 -0
  173. package/lib/labs/VDatePicker/VDatePickerYears.sass +16 -0
  174. package/lib/labs/VDatePicker/composables.mjs +33 -0
  175. package/lib/labs/VDatePicker/composables.mjs.map +1 -0
  176. package/lib/labs/VDatePicker/index.d.mts +4430 -0
  177. package/lib/labs/VDatePicker/index.mjs +7 -0
  178. package/lib/labs/VDatePicker/index.mjs.map +1 -0
  179. package/lib/labs/VDatePicker/mixins/date-picker-table.mjs.map +1 -0
  180. package/lib/labs/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -0
  181. package/lib/labs/VDatePicker/util/eventHelpers.mjs.map +1 -0
  182. package/lib/labs/VDatePicker/util/index.mjs.map +1 -0
  183. package/lib/labs/VDatePicker/util/isDateAllowed.mjs.map +1 -0
  184. package/lib/labs/VDatePicker/util/monthChange.mjs.map +1 -0
  185. package/lib/labs/VDatePicker/util/pad.mjs.map +1 -0
  186. package/lib/labs/VDatePicker/util/sanitizeDateString.mjs.map +1 -0
  187. package/lib/labs/VDatePicker/utils.mjs +69 -0
  188. package/lib/labs/VDatePicker/utils.mjs.map +1 -0
  189. package/lib/labs/VDateRangePicker/VDateRangeCard.mjs +87 -0
  190. package/lib/labs/VDateRangePicker/VDateRangeCard.mjs.map +1 -0
  191. package/lib/labs/VDateRangePicker/VDateRangeCard.sass +33 -0
  192. package/lib/labs/VDateRangePicker/VDateRangePicker.mjs +131 -0
  193. package/lib/labs/VDateRangePicker/VDateRangePicker.mjs.map +1 -0
  194. package/lib/labs/VDateRangePicker/VDateRangePicker.sass +21 -0
  195. package/lib/labs/VDateRangePicker/VDateRangePickerHeader.mjs +103 -0
  196. package/lib/labs/VDateRangePicker/VDateRangePickerHeader.mjs.map +1 -0
  197. package/lib/labs/VDateRangePicker/VDateRangePickerHeader.sass +39 -0
  198. package/lib/labs/VDateRangePicker/VDateRangePickerMonth.mjs +61 -0
  199. package/lib/labs/VDateRangePicker/VDateRangePickerMonth.mjs.map +1 -0
  200. package/lib/labs/VDateRangePicker/VDateRangePickerMonth.sass +12 -0
  201. package/lib/labs/VDateRangePicker/index.d.mts +1065 -0
  202. package/lib/labs/VDateRangePicker/index.mjs +3 -0
  203. package/lib/labs/VDateRangePicker/index.mjs.map +1 -0
  204. package/lib/labs/VPicker/VPicker.css +57 -0
  205. package/lib/labs/VPicker/VPicker.mjs +47 -0
  206. package/lib/labs/VPicker/VPicker.mjs.map +1 -0
  207. package/lib/labs/VPicker/VPicker.sass +53 -0
  208. package/lib/labs/VPicker/VPickerTitle.mjs +4 -0
  209. package/lib/labs/VPicker/VPickerTitle.mjs.map +1 -0
  210. package/lib/labs/VPicker/index.d.mts +541 -0
  211. package/lib/labs/VPicker/index.mjs +3 -0
  212. package/lib/labs/VPicker/index.mjs.map +1 -0
  213. package/lib/labs/components.d.mts +5136 -198
  214. package/lib/labs/components.mjs +2 -0
  215. package/lib/labs/components.mjs.map +1 -1
  216. package/lib/labs/date/DateAdapter.mjs.map +1 -1
  217. package/lib/labs/date/adapters/vuetify.d.mts +28 -25
  218. package/lib/labs/date/adapters/vuetify.mjs +65 -75
  219. package/lib/labs/date/adapters/vuetify.mjs.map +1 -1
  220. package/lib/labs/date/date.mjs +82 -11
  221. package/lib/labs/date/date.mjs.map +1 -1
  222. package/lib/labs/date/index.d.mts +31 -30
  223. package/lib/locale/af.mjs +14 -5
  224. package/lib/locale/af.mjs.map +1 -1
  225. package/lib/locale/ar.mjs +14 -5
  226. package/lib/locale/ar.mjs.map +1 -1
  227. package/lib/locale/az.mjs +14 -5
  228. package/lib/locale/az.mjs.map +1 -1
  229. package/lib/locale/bg.mjs +14 -5
  230. package/lib/locale/bg.mjs.map +1 -1
  231. package/lib/locale/ca.mjs +14 -5
  232. package/lib/locale/ca.mjs.map +1 -1
  233. package/lib/locale/ckb.mjs +14 -5
  234. package/lib/locale/ckb.mjs.map +1 -1
  235. package/lib/locale/cs.mjs +14 -5
  236. package/lib/locale/cs.mjs.map +1 -1
  237. package/lib/locale/da.mjs +14 -5
  238. package/lib/locale/da.mjs.map +1 -1
  239. package/lib/locale/de.mjs +14 -5
  240. package/lib/locale/de.mjs.map +1 -1
  241. package/lib/locale/el.mjs +14 -5
  242. package/lib/locale/el.mjs.map +1 -1
  243. package/lib/locale/en.mjs +14 -5
  244. package/lib/locale/en.mjs.map +1 -1
  245. package/lib/locale/es.mjs +14 -5
  246. package/lib/locale/es.mjs.map +1 -1
  247. package/lib/locale/et.mjs +14 -5
  248. package/lib/locale/et.mjs.map +1 -1
  249. package/lib/locale/fa.mjs +14 -5
  250. package/lib/locale/fa.mjs.map +1 -1
  251. package/lib/locale/fi.mjs +14 -5
  252. package/lib/locale/fi.mjs.map +1 -1
  253. package/lib/locale/fr.mjs +14 -5
  254. package/lib/locale/fr.mjs.map +1 -1
  255. package/lib/locale/he.mjs +14 -5
  256. package/lib/locale/he.mjs.map +1 -1
  257. package/lib/locale/hr.mjs +14 -5
  258. package/lib/locale/hr.mjs.map +1 -1
  259. package/lib/locale/hu.mjs +14 -5
  260. package/lib/locale/hu.mjs.map +1 -1
  261. package/lib/locale/id.mjs +14 -5
  262. package/lib/locale/id.mjs.map +1 -1
  263. package/lib/locale/index.d.mts +588 -210
  264. package/lib/locale/it.mjs +14 -5
  265. package/lib/locale/it.mjs.map +1 -1
  266. package/lib/locale/ja.mjs +14 -5
  267. package/lib/locale/ja.mjs.map +1 -1
  268. package/lib/locale/ko.mjs +14 -5
  269. package/lib/locale/ko.mjs.map +1 -1
  270. package/lib/locale/lt.mjs +14 -5
  271. package/lib/locale/lt.mjs.map +1 -1
  272. package/lib/locale/lv.mjs +14 -5
  273. package/lib/locale/lv.mjs.map +1 -1
  274. package/lib/locale/nl.mjs +14 -5
  275. package/lib/locale/nl.mjs.map +1 -1
  276. package/lib/locale/no.mjs +14 -5
  277. package/lib/locale/no.mjs.map +1 -1
  278. package/lib/locale/pl.mjs +14 -5
  279. package/lib/locale/pl.mjs.map +1 -1
  280. package/lib/locale/pt.mjs +14 -5
  281. package/lib/locale/pt.mjs.map +1 -1
  282. package/lib/locale/ro.mjs +14 -5
  283. package/lib/locale/ro.mjs.map +1 -1
  284. package/lib/locale/ru.mjs +14 -5
  285. package/lib/locale/ru.mjs.map +1 -1
  286. package/lib/locale/sk.mjs +14 -5
  287. package/lib/locale/sk.mjs.map +1 -1
  288. package/lib/locale/sl.mjs +14 -5
  289. package/lib/locale/sl.mjs.map +1 -1
  290. package/lib/locale/sr-Cyrl.mjs +14 -5
  291. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  292. package/lib/locale/sr-Latn.mjs +14 -5
  293. package/lib/locale/sr-Latn.mjs.map +1 -1
  294. package/lib/locale/sv.mjs +14 -5
  295. package/lib/locale/sv.mjs.map +1 -1
  296. package/lib/locale/th.mjs +14 -5
  297. package/lib/locale/th.mjs.map +1 -1
  298. package/lib/locale/tr.mjs +14 -5
  299. package/lib/locale/tr.mjs.map +1 -1
  300. package/lib/locale/uk.mjs +14 -5
  301. package/lib/locale/uk.mjs.map +1 -1
  302. package/lib/locale/vi.mjs +14 -5
  303. package/lib/locale/vi.mjs.map +1 -1
  304. package/lib/locale/zh-Hans.mjs +14 -5
  305. package/lib/locale/zh-Hans.mjs.map +1 -1
  306. package/lib/locale/zh-Hant.mjs +14 -5
  307. package/lib/locale/zh-Hant.mjs.map +1 -1
  308. package/lib/util/bindProps.mjs +49 -0
  309. package/lib/util/bindProps.mjs.map +1 -0
  310. package/lib/util/dateTimeUtils.mjs +68 -0
  311. package/lib/util/dateTimeUtils.mjs.map +1 -1
  312. package/lib/util/helpers.mjs +3 -0
  313. package/lib/util/helpers.mjs.map +1 -1
  314. package/lib/util/index.mjs +1 -0
  315. package/lib/util/index.mjs.map +1 -1
  316. package/package.json +5 -2
  317. package/lib/components/VDatePicker/VDatePicker.mjs +0 -475
  318. package/lib/components/VDatePicker/VDatePicker.mjs.map +0 -1
  319. package/lib/components/VDatePicker/VDatePickerDateTable.mjs +0 -120
  320. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +0 -1
  321. package/lib/components/VDatePicker/VDatePickerHeader.mjs +0 -136
  322. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +0 -1
  323. package/lib/components/VDatePicker/VDatePickerHeader.sass +0 -46
  324. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs +0 -48
  325. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +0 -1
  326. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +0 -1
  327. package/lib/components/VDatePicker/VDatePickerYears.mjs +0 -84
  328. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +0 -1
  329. package/lib/components/VDatePicker/VDatePickerYears.sass +0 -30
  330. package/lib/components/VDatePicker/index.mjs +0 -18
  331. package/lib/components/VDatePicker/index.mjs.map +0 -1
  332. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +0 -1
  333. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +0 -1
  334. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +0 -1
  335. package/lib/components/VDatePicker/util/index.mjs.map +0 -1
  336. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +0 -1
  337. package/lib/components/VDatePicker/util/monthChange.mjs.map +0 -1
  338. package/lib/components/VDatePicker/util/pad.mjs.map +0 -1
  339. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +0 -1
  340. package/lib/components/VPicker/VPicker.mjs +0 -86
  341. package/lib/components/VPicker/VPicker.mjs.map +0 -1
  342. package/lib/components/VPicker/VPicker.sass +0 -94
  343. package/lib/components/VPicker/index.mjs +0 -4
  344. package/lib/components/VPicker/index.mjs.map +0 -1
  345. /package/lib/{components → labs}/VDatePicker/VDatePickerTable.sass +0 -0
  346. /package/lib/{components → labs}/VDatePicker/VDatePickerTitle.sass +0 -0
  347. /package/lib/{components → labs}/VDatePicker/_variables.scss +0 -0
  348. /package/lib/{components → labs}/VDatePicker/mixins/date-picker-table.mjs +0 -0
  349. /package/lib/{components → labs}/VDatePicker/util/createNativeLocaleFormatter.mjs +0 -0
  350. /package/lib/{components → labs}/VDatePicker/util/eventHelpers.mjs +0 -0
  351. /package/lib/{components → labs}/VDatePicker/util/index.mjs +0 -0
  352. /package/lib/{components → labs}/VDatePicker/util/isDateAllowed.mjs +0 -0
  353. /package/lib/{components → labs}/VDatePicker/util/monthChange.mjs +0 -0
  354. /package/lib/{components → labs}/VDatePicker/util/pad.mjs +0 -0
  355. /package/lib/{components → labs}/VDatePicker/util/sanitizeDateString.mjs +0 -0
  356. /package/lib/{components → labs}/VPicker/_variables.scss +0 -0
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.3.2
2
+ * Vuetify v3.3.4
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -298,6 +298,15 @@
298
298
  }
299
299
  return out;
300
300
  }
301
+ function flattenFragments(nodes) {
302
+ return nodes.map(node => {
303
+ if (node.type === vue.Fragment) {
304
+ return flattenFragments(node.children);
305
+ } else {
306
+ return node;
307
+ }
308
+ }).flat();
309
+ }
301
310
  function toKebabCase() {
302
311
  let str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
303
312
  if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str);
@@ -377,6 +386,9 @@
377
386
  }
378
387
  const onRE = /^on[^a-z]/;
379
388
  const isOn = key => onRE.test(key);
389
+ function eventName(propName) {
390
+ return propName[2].toLowerCase() + propName.slice(3);
391
+ }
380
392
  const EventProp = () => [Function, Array];
381
393
  function hasEvent(props, name) {
382
394
  name = 'on' + vue.capitalize(name);
@@ -575,6 +587,54 @@
575
587
  return animation;
576
588
  }
577
589
 
590
+ // Utilities
591
+ const handlers = new WeakMap();
592
+ function bindProps(el, props) {
593
+ Object.keys(props).forEach(k => {
594
+ if (isOn(k)) {
595
+ const name = eventName(k);
596
+ const handler = handlers.get(el);
597
+ if (props[k] == null) {
598
+ handler?.forEach(v => {
599
+ const [n, fn] = v;
600
+ if (n === name) {
601
+ el.removeEventListener(name, fn);
602
+ handler.delete(v);
603
+ }
604
+ });
605
+ } else if (!handler || ![...handler]?.some(v => v[0] === name && v[1] === props[k])) {
606
+ el.addEventListener(name, props[k]);
607
+ const _handler = handler || new Set();
608
+ _handler.add([name, props[k]]);
609
+ if (!handlers.has(el)) handlers.set(el, _handler);
610
+ }
611
+ } else {
612
+ if (props[k] == null) {
613
+ el.removeAttribute(k);
614
+ } else {
615
+ el.setAttribute(k, props[k]);
616
+ }
617
+ }
618
+ });
619
+ }
620
+ function unbindProps(el, props) {
621
+ Object.keys(props).forEach(k => {
622
+ if (isOn(k)) {
623
+ const name = eventName(k);
624
+ const handler = handlers.get(el);
625
+ handler?.forEach(v => {
626
+ const [n, fn] = v;
627
+ if (n === name) {
628
+ el.removeEventListener(name, fn);
629
+ handler.delete(v);
630
+ }
631
+ });
632
+ } else {
633
+ el.removeAttribute(k);
634
+ }
635
+ });
636
+ }
637
+
578
638
  /* eslint-disable no-console */
579
639
 
580
640
  function consoleWarn(message) {
@@ -1583,12 +1643,21 @@
1583
1643
  lastPage: 'Last page',
1584
1644
  pageText: '{0}-{1} of {2}'
1585
1645
  },
1646
+ dateRangeInput: {
1647
+ divider: 'to'
1648
+ },
1586
1649
  datePicker: {
1587
- itemsSelected: '{0} selected',
1588
- nextMonthAriaLabel: 'Next month',
1589
- nextYearAriaLabel: 'Next year',
1590
- prevMonthAriaLabel: 'Previous month',
1591
- prevYearAriaLabel: 'Previous year'
1650
+ ok: 'OK',
1651
+ cancel: 'Cancel',
1652
+ range: {
1653
+ title: 'Select dates',
1654
+ header: 'Enter dates'
1655
+ },
1656
+ title: 'Select date',
1657
+ header: 'Enter date',
1658
+ input: {
1659
+ placeholder: 'Enter date'
1660
+ }
1592
1661
  },
1593
1662
  noDataText: 'No data available',
1594
1663
  carousel: {
@@ -2158,6 +2227,7 @@
2158
2227
  };
2159
2228
  }
2160
2229
  function install(app) {
2230
+ if (parsedOptions.isDisabled) return;
2161
2231
  const head = app._context.provides.usehead;
2162
2232
  if (head) {
2163
2233
  if (head.push) {
@@ -2179,7 +2249,6 @@
2179
2249
  immediate: true
2180
2250
  });
2181
2251
  function updateStyles() {
2182
- if (parsedOptions.isDisabled) return;
2183
2252
  if (typeof document !== 'undefined' && !styleEl) {
2184
2253
  const el = document.createElement('style');
2185
2254
  el.type = 'text/css';
@@ -3571,7 +3640,7 @@
3571
3640
  const extensionHeight = vToolbarRef.value?.extensionHeight ?? 0;
3572
3641
  return height + extensionHeight;
3573
3642
  });
3574
- function setActive() {
3643
+ vue.watchEffect(() => {
3575
3644
  if (scrollBehavior.value.hide) {
3576
3645
  if (scrollBehavior.value.inverted) {
3577
3646
  isActive.value = currentScroll.value > scrollThreshold.value;
@@ -3581,12 +3650,6 @@
3581
3650
  } else {
3582
3651
  isActive.value = true;
3583
3652
  }
3584
- }
3585
- useToggleScope(() => !!props.scrollBehavior, () => {
3586
- vue.watch(currentScroll, setActive, {
3587
- immediate: true
3588
- });
3589
- vue.watch(scrollBehavior, setActive);
3590
3653
  });
3591
3654
  const {
3592
3655
  ssrBootStyles
@@ -4041,7 +4104,8 @@
4041
4104
  unfold: 'mdi-unfold-more-horizontal',
4042
4105
  file: 'mdi-paperclip',
4043
4106
  plus: 'mdi-plus',
4044
- minus: 'mdi-minus'
4107
+ minus: 'mdi-minus',
4108
+ calendar: 'mdi-calendar'
4045
4109
  };
4046
4110
  const mdi = {
4047
4111
  // Not using mergeProps here, functional components merge props by default (?)
@@ -4266,7 +4330,7 @@
4266
4330
  useRender(() => {
4267
4331
  const slotValue = slots.default?.();
4268
4332
  if (slotValue) {
4269
- slotIcon.value = slotValue.filter(node => node.type === vue.Text && node.children && typeof node.children === 'string')[0]?.children;
4333
+ slotIcon.value = flattenFragments(slotValue).filter(node => node.type === vue.Text && node.children && typeof node.children === 'string')[0]?.children;
4270
4334
  }
4271
4335
  return vue.createVNode(iconData.value.component, {
4272
4336
  "tag": props.tag,
@@ -5103,7 +5167,7 @@
5103
5167
  block: Boolean,
5104
5168
  stacked: Boolean,
5105
5169
  ripple: {
5106
- type: Boolean,
5170
+ type: [Boolean, Object],
5107
5171
  default: true
5108
5172
  },
5109
5173
  text: String,
@@ -6386,6 +6450,7 @@
6386
6450
  inheritAttrs: false,
6387
6451
  props: makeVCheckboxProps(),
6388
6452
  emits: {
6453
+ 'update:modelValue': value => true,
6389
6454
  'update:focused': focused => true
6390
6455
  },
6391
6456
  setup(props, _ref) {
@@ -6393,6 +6458,7 @@
6393
6458
  attrs,
6394
6459
  slots
6395
6460
  } = _ref;
6461
+ const model = useProxiedModel(props, 'modelValue');
6396
6462
  const {
6397
6463
  isFocused,
6398
6464
  focus,
@@ -6407,6 +6473,8 @@
6407
6473
  return vue.createVNode(VInput, vue.mergeProps({
6408
6474
  "class": ['v-checkbox', props.class]
6409
6475
  }, inputAttrs, inputProps, {
6476
+ "modelValue": model.value,
6477
+ "onUpdate:modelValue": $event => model.value = $event,
6410
6478
  "id": id.value,
6411
6479
  "focused": isFocused.value,
6412
6480
  "style": props.style
@@ -6425,6 +6493,8 @@
6425
6493
  "disabled": isDisabled.value,
6426
6494
  "readonly": isReadonly.value
6427
6495
  }, controlAttrs, {
6496
+ "modelValue": model.value,
6497
+ "onUpdate:modelValue": $event => model.value = $event,
6428
6498
  "onFocus": focus,
6429
6499
  "onBlur": blur
6430
6500
  }), slots);
@@ -6562,6 +6632,8 @@
6562
6632
  }
6563
6633
  });
6564
6634
 
6635
+ // Types
6636
+
6565
6637
  const makeVChipProps = propsFactory({
6566
6638
  activeClass: String,
6567
6639
  appendAvatar: String,
@@ -6590,7 +6662,7 @@
6590
6662
  prependAvatar: String,
6591
6663
  prependIcon: IconValue,
6592
6664
  ripple: {
6593
- type: Boolean,
6665
+ type: [Boolean, Object],
6594
6666
  default: true
6595
6667
  },
6596
6668
  text: String,
@@ -7243,7 +7315,7 @@
7243
7315
  const useNestedItem = (id, isGroup) => {
7244
7316
  const parent = vue.inject(VNestedSymbol, emptyNested);
7245
7317
  const uidSymbol = Symbol(getUid());
7246
- const computedId = vue.computed(() => id.value ?? uidSymbol);
7318
+ const computedId = vue.computed(() => id.value !== undefined ? id.value : uidSymbol);
7247
7319
  const item = {
7248
7320
  ...parent,
7249
7321
  id: computedId,
@@ -7406,7 +7478,7 @@
7406
7478
  prependAvatar: String,
7407
7479
  prependIcon: IconValue,
7408
7480
  ripple: {
7409
- type: Boolean,
7481
+ type: [Boolean, Object],
7410
7482
  default: true
7411
7483
  },
7412
7484
  subtitle: [String, Number, Boolean],
@@ -7443,7 +7515,7 @@
7443
7515
  emit
7444
7516
  } = _ref;
7445
7517
  const link = useLink(props, attrs);
7446
- const id = vue.computed(() => props.value ?? link.href.value);
7518
+ const id = vue.computed(() => props.value === undefined ? link.href.value : props.value);
7447
7519
  const {
7448
7520
  select,
7449
7521
  isSelected,
@@ -7840,10 +7912,13 @@
7840
7912
  }
7841
7913
  function useTransformItems(items, transform) {
7842
7914
  function transformIn(value) {
7843
- return value.map(v => {
7915
+ return value
7916
+ // When the model value is null, returns an InternalItem based on null
7917
+ // only if null is one of the items
7918
+ .filter(v => v !== null || items.value.some(item => item.value === null)).map(v => {
7844
7919
  const existingItem = items.value.find(item => deepEqual(v, item.value));
7845
7920
  // Nullish existingItem means value is a custom input value from combobox
7846
- // In this case, use transformItem to create an { value: unknown } based on value
7921
+ // In this case, use transformItem to create an InternalItem based on value
7847
7922
  return existingItem ?? transform(v);
7848
7923
  });
7849
7924
  }
@@ -8779,29 +8854,29 @@
8779
8854
  }
8780
8855
  });
8781
8856
  const availableEvents = {
8782
- click: e => {
8857
+ onClick: e => {
8783
8858
  e.stopPropagation();
8784
8859
  activatorEl.value = e.currentTarget || e.target;
8785
8860
  isActive.value = !isActive.value;
8786
8861
  },
8787
- mouseenter: e => {
8862
+ onMouseenter: e => {
8788
8863
  if (e.sourceCapabilities?.firesTouchEvents) return;
8789
8864
  isHovered = true;
8790
8865
  activatorEl.value = e.currentTarget || e.target;
8791
8866
  runOpenDelay();
8792
8867
  },
8793
- mouseleave: e => {
8868
+ onMouseleave: e => {
8794
8869
  isHovered = false;
8795
8870
  runCloseDelay();
8796
8871
  },
8797
- focus: e => {
8872
+ onFocus: e => {
8798
8873
  if (SUPPORTS_FOCUS_VISIBLE && !e.target.matches(':focus-visible')) return;
8799
8874
  isFocused = true;
8800
8875
  e.stopPropagation();
8801
8876
  activatorEl.value = e.currentTarget || e.target;
8802
8877
  runOpenDelay();
8803
8878
  },
8804
- blur: e => {
8879
+ onBlur: e => {
8805
8880
  isFocused = false;
8806
8881
  e.stopPropagation();
8807
8882
  runCloseDelay();
@@ -8810,33 +8885,43 @@
8810
8885
  const activatorEvents = vue.computed(() => {
8811
8886
  const events = {};
8812
8887
  if (openOnClick.value) {
8813
- events.click = availableEvents.click;
8888
+ events.onClick = availableEvents.onClick;
8814
8889
  }
8815
8890
  if (props.openOnHover) {
8816
- events.mouseenter = availableEvents.mouseenter;
8817
- events.mouseleave = availableEvents.mouseleave;
8891
+ events.onMouseenter = availableEvents.onMouseenter;
8892
+ events.onMouseleave = availableEvents.onMouseleave;
8818
8893
  }
8819
8894
  if (openOnFocus.value) {
8820
- events.focus = availableEvents.focus;
8821
- events.blur = availableEvents.blur;
8895
+ events.onFocus = availableEvents.onFocus;
8896
+ events.onBlur = availableEvents.onBlur;
8822
8897
  }
8823
8898
  return events;
8824
8899
  });
8825
8900
  const contentEvents = vue.computed(() => {
8826
8901
  const events = {};
8827
8902
  if (props.openOnHover) {
8828
- events.mouseenter = () => {
8903
+ events.onMouseenter = () => {
8829
8904
  isHovered = true;
8830
8905
  runOpenDelay();
8831
8906
  };
8832
- events.mouseleave = () => {
8907
+ events.onMouseleave = () => {
8833
8908
  isHovered = false;
8834
8909
  runCloseDelay();
8835
8910
  };
8836
8911
  }
8912
+ if (openOnFocus.value) {
8913
+ events.onFocusin = () => {
8914
+ isFocused = true;
8915
+ runOpenDelay();
8916
+ };
8917
+ events.onFocusout = () => {
8918
+ isFocused = false;
8919
+ runCloseDelay();
8920
+ };
8921
+ }
8837
8922
  if (props.closeOnContentClick) {
8838
8923
  const menu = vue.inject(VMenuSymbol, null);
8839
- events.click = () => {
8924
+ events.onClick = () => {
8840
8925
  isActive.value = false;
8841
8926
  menu?.closeParents();
8842
8927
  };
@@ -8846,14 +8931,14 @@
8846
8931
  const scrimEvents = vue.computed(() => {
8847
8932
  const events = {};
8848
8933
  if (props.openOnHover) {
8849
- events.mouseenter = () => {
8934
+ events.onMouseenter = () => {
8850
8935
  if (firstEnter) {
8851
8936
  isHovered = true;
8852
8937
  firstEnter = false;
8853
8938
  runOpenDelay();
8854
8939
  }
8855
8940
  };
8856
- events.mouseleave = () => {
8941
+ events.onMouseleave = () => {
8857
8942
  isHovered = false;
8858
8943
  runCloseDelay();
8859
8944
  };
@@ -8927,29 +9012,13 @@
8927
9012
  let el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getActivator();
8928
9013
  let _props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.activatorProps;
8929
9014
  if (!el) return;
8930
- Object.entries(activatorEvents.value).forEach(_ref3 => {
8931
- let [name, cb] = _ref3;
8932
- el.addEventListener(name, cb);
8933
- });
8934
- Object.keys(_props).forEach(k => {
8935
- if (_props[k] == null) {
8936
- el.removeAttribute(k);
8937
- } else {
8938
- el.setAttribute(k, _props[k]);
8939
- }
8940
- });
9015
+ bindProps(el, vue.mergeProps(activatorEvents.value, _props));
8941
9016
  }
8942
9017
  function unbindActivatorProps() {
8943
9018
  let el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getActivator();
8944
9019
  let _props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.activatorProps;
8945
9020
  if (!el) return;
8946
- Object.entries(activatorEvents.value).forEach(_ref4 => {
8947
- let [name, cb] = _ref4;
8948
- el.removeEventListener(name, cb);
8949
- });
8950
- Object.keys(_props).forEach(k => {
8951
- el.removeAttribute(k);
8952
- });
9021
+ unbindProps(el, vue.mergeProps(activatorEvents.value, _props));
8953
9022
  }
8954
9023
  function getActivator() {
8955
9024
  let selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : props.activator;
@@ -9476,6 +9545,9 @@
9476
9545
  if (e.key === 'Escape' && globalTop.value) {
9477
9546
  if (!props.persistent) {
9478
9547
  isActive.value = false;
9548
+ if (contentEl.value?.contains(document.activeElement)) {
9549
+ activatorEl.value?.focus();
9550
+ }
9479
9551
  } else animateClick();
9480
9552
  }
9481
9553
  }
@@ -9518,7 +9590,7 @@
9518
9590
  isActive: isActive.value,
9519
9591
  props: vue.mergeProps({
9520
9592
  ref: activatorRef
9521
- }, vue.toHandlers(activatorEvents.value), props.activatorProps)
9593
+ }, activatorEvents.value, props.activatorProps)
9522
9594
  }), isMounted.value && vue.createVNode(vue.Teleport, {
9523
9595
  "disabled": !teleportTarget.value,
9524
9596
  "to": teleportTarget.value
@@ -9536,7 +9608,7 @@
9536
9608
  }, scopeId, attrs), [vue.createVNode(Scrim, vue.mergeProps({
9537
9609
  "color": scrimColor,
9538
9610
  "modelValue": isActive.value && !!props.scrim
9539
- }, vue.toHandlers(scrimEvents.value)), null), vue.createVNode(MaybeTransition, {
9611
+ }, scrimEvents.value), null), vue.createVNode(MaybeTransition, {
9540
9612
  "appear": true,
9541
9613
  "persisted": true,
9542
9614
  "transition": props.transition,
@@ -9550,7 +9622,7 @@
9550
9622
  "ref": contentEl,
9551
9623
  "class": ['v-overlay__content', props.contentClass],
9552
9624
  "style": [dimensionStyles.value, contentStyles.value]
9553
- }, vue.toHandlers(contentEvents.value), props.contentProps), [slots.default?.({
9625
+ }, contentEvents.value, props.contentProps), [slots.default?.({
9554
9626
  isActive
9555
9627
  })]), [[vue.vShow, isActive.value], [vue.resolveDirective("click-outside"), {
9556
9628
  handler: onClickOutside,
@@ -9710,10 +9782,35 @@
9710
9782
  function onClickOutside() {
9711
9783
  parent?.closeParents();
9712
9784
  }
9785
+ function onKeydown(e) {
9786
+ if (props.disabled) return;
9787
+ if (e.key === 'Tab') {
9788
+ isActive.value = false;
9789
+ overlay.value?.activatorEl?.focus();
9790
+ }
9791
+ }
9792
+ function onActivatorKeydown(e) {
9793
+ if (props.disabled) return;
9794
+ const el = overlay.value?.contentEl;
9795
+ if (el && isActive.value) {
9796
+ if (e.key === 'ArrowDown') {
9797
+ e.preventDefault();
9798
+ focusChild(el, 'next');
9799
+ } else if (e.key === 'ArrowUp') {
9800
+ e.preventDefault();
9801
+ focusChild(el, 'prev');
9802
+ }
9803
+ } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
9804
+ isActive.value = true;
9805
+ e.preventDefault();
9806
+ setTimeout(() => setTimeout(() => onActivatorKeydown(e)));
9807
+ }
9808
+ }
9713
9809
  const activatorProps = vue.computed(() => vue.mergeProps({
9714
9810
  'aria-haspopup': 'menu',
9715
9811
  'aria-expanded': String(isActive.value),
9716
- 'aria-owns': id.value
9812
+ 'aria-owns': id.value,
9813
+ onKeydown: onActivatorKeydown
9717
9814
  }, props.activatorProps));
9718
9815
  useRender(() => {
9719
9816
  const [overlayProps] = VOverlay.filterProps(props);
@@ -9726,7 +9823,8 @@
9726
9823
  "onUpdate:modelValue": $event => isActive.value = $event,
9727
9824
  "absolute": true,
9728
9825
  "activatorProps": activatorProps.value,
9729
- "onClick:outside": onClickOutside
9826
+ "onClick:outside": onClickOutside,
9827
+ "onKeydown": onKeydown
9730
9828
  }, scopeId), {
9731
9829
  activator: slots.activator,
9732
9830
  default: function () {
@@ -10350,7 +10448,7 @@
10350
10448
  transformIn,
10351
10449
  transformOut
10352
10450
  } = useItems(props);
10353
- const model = useProxiedModel(props, 'modelValue', [], v => transformIn(wrapInArray(v)), v => {
10451
+ const model = useProxiedModel(props, 'modelValue', [], v => transformIn(v === null ? [null] : wrapInArray(v)), v => {
10354
10452
  const transformed = transformOut(v);
10355
10453
  return props.multiple ? transformed : transformed[0] ?? null;
10356
10454
  });
@@ -10370,6 +10468,7 @@
10370
10468
  }
10371
10469
  return items.value;
10372
10470
  });
10471
+ const menuDisabled = vue.computed(() => props.hideNoData && !items.value.length || props.readonly || form?.isReadonly.value);
10373
10472
  const listRef = vue.ref();
10374
10473
  function onClear(e) {
10375
10474
  if (props.openOnClear) {
@@ -10377,7 +10476,7 @@
10377
10476
  }
10378
10477
  }
10379
10478
  function onMousedownControl() {
10380
- if (props.hideNoData && !items.value.length || props.readonly || form?.isReadonly.value) return;
10479
+ if (menuDisabled.value) return;
10381
10480
  menu.value = !menu.value;
10382
10481
  }
10383
10482
  function onKeydown(e) {
@@ -10391,11 +10490,7 @@
10391
10490
  if (['Escape', 'Tab'].includes(e.key)) {
10392
10491
  menu.value = false;
10393
10492
  }
10394
- if (e.key === 'ArrowDown') {
10395
- listRef.value?.focus('next');
10396
- } else if (e.key === 'ArrowUp') {
10397
- listRef.value?.focus('prev');
10398
- } else if (e.key === 'Home') {
10493
+ if (e.key === 'Home') {
10399
10494
  listRef.value?.focus('first');
10400
10495
  } else if (e.key === 'End') {
10401
10496
  listRef.value?.focus('last');
@@ -10421,6 +10516,11 @@
10421
10516
  model.value = [item];
10422
10517
  }
10423
10518
  }
10519
+ function onListKeydown(e) {
10520
+ if (e.key === 'Tab') {
10521
+ vTextFieldRef.value?.focus();
10522
+ }
10523
+ }
10424
10524
  function select(item) {
10425
10525
  if (props.multiple) {
10426
10526
  const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value));
@@ -10451,7 +10551,7 @@
10451
10551
  }
10452
10552
  useRender(() => {
10453
10553
  const hasChips = !!(props.chips || slots.chip);
10454
- const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
10554
+ const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);
10455
10555
  const isDirty = model.value.length > 0;
10456
10556
  const [textFieldProps] = VTextField.filterProps(props);
10457
10557
  const placeholder = isDirty || !isFocused.value && props.label && !props.persistentPlaceholder ? undefined : props.placeholder;
@@ -10488,6 +10588,7 @@
10488
10588
  "onUpdate:modelValue": $event => menu.value = $event,
10489
10589
  "activator": "parent",
10490
10590
  "contentClass": "v-select__content",
10591
+ "disabled": menuDisabled.value,
10491
10592
  "eager": props.eager,
10492
10593
  "maxHeight": 310,
10493
10594
  "openOnClick": false,
@@ -10500,11 +10601,13 @@
10500
10601
  "selected": selected.value,
10501
10602
  "selectStrategy": props.multiple ? 'independent' : 'single-independent',
10502
10603
  "onMousedown": e => e.preventDefault(),
10503
- "onFocusin": onFocusin
10604
+ "onKeydown": onListKeydown,
10605
+ "onFocusin": onFocusin,
10606
+ "tabindex": "-1"
10504
10607
  }, {
10505
- default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
10608
+ default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
10506
10609
  "title": t(props.noDataText)
10507
- }, null)), slots['prepend-item']?.(), displayItems.value.map((item, index) => {
10610
+ }, null)), displayItems.value.map((item, index) => {
10508
10611
  const itemProps = vue.mergeProps(item.props, {
10509
10612
  key: index,
10510
10613
  onClick: () => select(item)
@@ -10770,7 +10873,7 @@
10770
10873
  textColorStyles
10771
10874
  } = useTextColor(color);
10772
10875
  const search = useProxiedModel(props, 'search', '');
10773
- const model = useProxiedModel(props, 'modelValue', [], v => transformIn(wrapInArray(v)), v => {
10876
+ const model = useProxiedModel(props, 'modelValue', [], v => transformIn(v === null ? [null] : wrapInArray(v)), v => {
10774
10877
  const transformed = transformOut(v);
10775
10878
  return props.multiple ? transformed : transformed[0] ?? null;
10776
10879
  });
@@ -10796,6 +10899,7 @@
10796
10899
  const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
10797
10900
  return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
10798
10901
  });
10902
+ const menuDisabled = vue.computed(() => props.hideNoData && !items.value.length || props.readonly || form?.isReadonly.value);
10799
10903
  const listRef = vue.ref();
10800
10904
  function onClear(e) {
10801
10905
  if (props.openOnClear) {
@@ -10804,10 +10908,11 @@
10804
10908
  search.value = '';
10805
10909
  }
10806
10910
  function onMousedownControl() {
10807
- if (props.hideNoData && !items.value.length || props.readonly || form?.isReadonly.value) return;
10911
+ if (menuDisabled.value) return;
10808
10912
  menu.value = true;
10809
10913
  }
10810
10914
  function onMousedownMenuIcon(e) {
10915
+ if (menuDisabled.value) return;
10811
10916
  if (isFocused.value) {
10812
10917
  e.preventDefault();
10813
10918
  e.stopPropagation();
@@ -10833,13 +10938,8 @@
10833
10938
  }
10834
10939
  isPristine.value = true;
10835
10940
  }
10836
- if (e.key === 'ArrowDown') {
10941
+ if (e.key === 'ArrowDown' && highlightFirst.value) {
10837
10942
  listRef.value?.focus('next');
10838
- if (highlightFirst.value) {
10839
- listRef.value?.focus('next');
10840
- }
10841
- } else if (e.key === 'ArrowUp') {
10842
- listRef.value?.focus('prev');
10843
10943
  }
10844
10944
  if (!props.multiple) return;
10845
10945
  if (['Backspace', 'Delete'].includes(e.key)) {
@@ -10874,6 +10974,11 @@
10874
10974
  }
10875
10975
  }
10876
10976
  }
10977
+ function onListKeydown(e) {
10978
+ if (e.key === 'Tab') {
10979
+ vTextFieldRef.value?.focus();
10980
+ }
10981
+ }
10877
10982
  function onInput(e) {
10878
10983
  search.value = e.target.value;
10879
10984
  }
@@ -10943,7 +11048,7 @@
10943
11048
  });
10944
11049
  useRender(() => {
10945
11050
  const hasChips = !!(props.chips || slots.chip);
10946
- const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
11051
+ const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);
10947
11052
  const isDirty = model.value.length > 0;
10948
11053
  const [textFieldProps] = VTextField.filterProps(props);
10949
11054
  return vue.createVNode(VTextField, vue.mergeProps({
@@ -10976,6 +11081,7 @@
10976
11081
  "onUpdate:modelValue": $event => menu.value = $event,
10977
11082
  "activator": "parent",
10978
11083
  "contentClass": "v-autocomplete__content",
11084
+ "disabled": menuDisabled.value,
10979
11085
  "eager": props.eager,
10980
11086
  "maxHeight": 310,
10981
11087
  "openOnClick": false,
@@ -10988,12 +11094,14 @@
10988
11094
  "selected": selected.value,
10989
11095
  "selectStrategy": props.multiple ? 'independent' : 'single-independent',
10990
11096
  "onMousedown": e => e.preventDefault(),
11097
+ "onKeydown": onListKeydown,
10991
11098
  "onFocusin": onFocusin,
10992
- "onFocusout": onFocusout
11099
+ "onFocusout": onFocusout,
11100
+ "tabindex": "-1"
10993
11101
  }, {
10994
- default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
11102
+ default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
10995
11103
  "title": t(props.noDataText)
10996
- }, null)), slots['prepend-item']?.(), displayItems.value.map((item, index) => {
11104
+ }, null)), displayItems.value.map((item, index) => {
10997
11105
  const itemProps = vue.mergeProps(item.props, {
10998
11106
  key: index,
10999
11107
  active: highlightFirst.value && index === 0 ? true : undefined,
@@ -11743,7 +11851,7 @@
11743
11851
  prependAvatar: String,
11744
11852
  prependIcon: IconValue,
11745
11853
  ripple: {
11746
- type: Boolean,
11854
+ type: [Boolean, Object],
11747
11855
  default: true
11748
11856
  },
11749
11857
  subtitle: String,
@@ -13148,6 +13256,8 @@
13148
13256
  return data;
13149
13257
  };
13150
13258
 
13259
+ // Types
13260
+
13151
13261
  const makeVSliderThumbProps = propsFactory({
13152
13262
  focused: Boolean,
13153
13263
  max: {
@@ -13167,7 +13277,7 @@
13167
13277
  required: true
13168
13278
  },
13169
13279
  ripple: {
13170
- type: Boolean,
13280
+ type: [Boolean, Object],
13171
13281
  default: true
13172
13282
  },
13173
13283
  ...makeComponentProps()
@@ -14326,6 +14436,7 @@
14326
14436
  const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
14327
14437
  return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
14328
14438
  });
14439
+ const menuDisabled = vue.computed(() => props.hideNoData && !items.value.length || props.readonly || form?.isReadonly.value);
14329
14440
  const listRef = vue.ref();
14330
14441
  function onClear(e) {
14331
14442
  cleared = true;
@@ -14334,10 +14445,11 @@
14334
14445
  }
14335
14446
  }
14336
14447
  function onMousedownControl() {
14337
- if (props.hideNoData && !items.value.length || props.readonly || form?.isReadonly.value) return;
14448
+ if (menuDisabled.value) return;
14338
14449
  menu.value = true;
14339
14450
  }
14340
14451
  function onMousedownMenuIcon(e) {
14452
+ if (menuDisabled.value) return;
14341
14453
  if (isFocused.value) {
14342
14454
  e.preventDefault();
14343
14455
  e.stopPropagation();
@@ -14363,10 +14475,8 @@
14363
14475
  }
14364
14476
  isPristine.value = true;
14365
14477
  }
14366
- if (e.key === 'ArrowDown') {
14478
+ if (e.key === 'ArrowDown' && highlightFirst.value) {
14367
14479
  listRef.value?.focus('next');
14368
- } else if (e.key === 'ArrowUp') {
14369
- listRef.value?.focus('prev');
14370
14480
  }
14371
14481
  if (!props.multiple) return;
14372
14482
  if (['Backspace', 'Delete'].includes(e.key)) {
@@ -14405,6 +14515,11 @@
14405
14515
  search.value = '';
14406
14516
  }
14407
14517
  }
14518
+ function onListKeydown(e) {
14519
+ if (e.key === 'Tab') {
14520
+ vTextFieldRef.value?.focus();
14521
+ }
14522
+ }
14408
14523
  function onAfterLeave() {
14409
14524
  if (isFocused.value) {
14410
14525
  isPristine.value = true;
@@ -14466,7 +14581,7 @@
14466
14581
  });
14467
14582
  useRender(() => {
14468
14583
  const hasChips = !!(props.chips || slots.chip);
14469
- const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
14584
+ const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);
14470
14585
  const isDirty = model.value.length > 0;
14471
14586
  const [textFieldProps] = VTextField.filterProps(props);
14472
14587
  return vue.createVNode(VTextField, vue.mergeProps({
@@ -14499,6 +14614,7 @@
14499
14614
  "onUpdate:modelValue": $event => menu.value = $event,
14500
14615
  "activator": "parent",
14501
14616
  "contentClass": "v-combobox__content",
14617
+ "disabled": menuDisabled.value,
14502
14618
  "eager": props.eager,
14503
14619
  "maxHeight": 310,
14504
14620
  "openOnClick": false,
@@ -14511,12 +14627,14 @@
14511
14627
  "selected": selected.value,
14512
14628
  "selectStrategy": props.multiple ? 'independent' : 'single-independent',
14513
14629
  "onMousedown": e => e.preventDefault(),
14630
+ "onKeydown": onListKeydown,
14514
14631
  "onFocusin": onFocusin,
14515
- "onFocusout": onFocusout
14632
+ "onFocusout": onFocusout,
14633
+ "tabindex": "-1"
14516
14634
  }, {
14517
- default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
14635
+ default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
14518
14636
  "title": t(props.noDataText)
14519
- }, null)), slots['prepend-item']?.(), displayItems.value.map((item, index) => {
14637
+ }, null)), displayItems.value.map((item, index) => {
14520
14638
  const itemProps = vue.mergeProps(item.props, {
14521
14639
  key: index,
14522
14640
  active: highlightFirst.value && index === 0 ? true : undefined,
@@ -14808,6 +14926,8 @@
14808
14926
  }
14809
14927
  });
14810
14928
 
14929
+ // Types
14930
+
14811
14931
  const makeVExpansionPanelTitleProps = propsFactory({
14812
14932
  color: String,
14813
14933
  expandIcon: {
@@ -15080,8 +15200,6 @@
15080
15200
  "modelValue": model.value,
15081
15201
  "onUpdate:modelValue": $event => model.value = $event,
15082
15202
  "class": ['v-file-input', {
15083
- 'v-file-input--chips': !!props.chips,
15084
- 'v-file-input--selection-slot': !!slots.selection,
15085
15203
  'v-text-field--plain-underlined': isPlainOrUnderlined.value
15086
15204
  }, props.class],
15087
15205
  "style": props.style,
@@ -18078,8 +18196,8 @@
18078
18196
  const initialScale = prevBox[widthHeight] / nextBox[widthHeight];
18079
18197
  const sigma = 1.5;
18080
18198
  animate(nextEl, {
18081
- backgroundColor: [color, ''],
18082
- transform: [`translate${XY}(${delta}px) scale${XY}(${initialScale})`, `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`, ''],
18199
+ backgroundColor: [color, 'currentcolor'],
18200
+ transform: [`translate${XY}(${delta}px) scale${XY}(${initialScale})`, `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`, 'none'],
18083
18201
  transformOrigin: Array(3).fill(origin)
18084
18202
  }, {
18085
18203
  duration: 225,
@@ -19364,47 +19482,6 @@
19364
19482
 
19365
19483
  // Types
19366
19484
 
19367
- function getWeekArray(date) {
19368
- let currentWeek = [];
19369
- const weeks = [];
19370
- const firstDayOfMonth = startOfMonth(date);
19371
- const lastDayOfMonth = endOfMonth(date);
19372
- for (let i = 0; i < firstDayOfMonth.getDay(); i++) {
19373
- currentWeek.push(null);
19374
- }
19375
- for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {
19376
- const day = new Date(date.getFullYear(), date.getMonth(), i);
19377
-
19378
- // Add the day to the current week
19379
- currentWeek.push(day);
19380
-
19381
- // If the current week has 7 days, add it to the weeks array and start a new week
19382
- if (currentWeek.length === 7) {
19383
- weeks.push(currentWeek);
19384
- currentWeek = [];
19385
- }
19386
- }
19387
- for (let i = currentWeek.length; i < 7; i++) {
19388
- currentWeek.push(null);
19389
- }
19390
- weeks.push(currentWeek);
19391
- return weeks;
19392
- }
19393
- function startOfMonth(date) {
19394
- return new Date(date.getFullYear(), date.getMonth(), 1);
19395
- }
19396
- function endOfMonth(date) {
19397
- return new Date(date.getFullYear(), date.getMonth() + 1, 0);
19398
- }
19399
- function date(value) {
19400
- if (value == null) return null;
19401
- if (value instanceof Date) return value;
19402
- if (typeof value === 'string') {
19403
- const parsed = Date.parse(value);
19404
- if (!isNaN(parsed)) return new Date(parsed);
19405
- }
19406
- return null;
19407
- }
19408
19485
  const firstDay = {
19409
19486
  '001': 1,
19410
19487
  AD: 1,
@@ -19418,7 +19495,7 @@
19418
19495
  AR: 1,
19419
19496
  AS: 0,
19420
19497
  AT: 1,
19421
- AU: 0,
19498
+ AU: 1,
19422
19499
  AX: 1,
19423
19500
  AZ: 1,
19424
19501
  BA: 1,
@@ -19438,7 +19515,7 @@
19438
19515
  CH: 1,
19439
19516
  CL: 1,
19440
19517
  CM: 1,
19441
- CN: 0,
19518
+ CN: 1,
19442
19519
  CO: 0,
19443
19520
  CR: 1,
19444
19521
  CY: 1,
@@ -19558,6 +19635,53 @@
19558
19635
  ZA: 0,
19559
19636
  ZW: 0
19560
19637
  };
19638
+ function getWeekArray(date, locale) {
19639
+ const weeks = [];
19640
+ let currentWeek = [];
19641
+ const firstDayOfMonth = startOfMonth(date);
19642
+ const lastDayOfMonth = endOfMonth(date);
19643
+ const firstDayWeekIndex = firstDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()];
19644
+ const lastDayWeekIndex = lastDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()];
19645
+ for (let i = 0; i < firstDayWeekIndex; i++) {
19646
+ const adjacentDay = new Date(firstDayOfMonth);
19647
+ adjacentDay.setDate(adjacentDay.getDate() - (firstDayWeekIndex - i));
19648
+ currentWeek.push(adjacentDay);
19649
+ }
19650
+ for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {
19651
+ const day = new Date(date.getFullYear(), date.getMonth(), i);
19652
+
19653
+ // Add the day to the current week
19654
+ currentWeek.push(day);
19655
+
19656
+ // If the current week has 7 days, add it to the weeks array and start a new week
19657
+ if (currentWeek.length === 7) {
19658
+ weeks.push(currentWeek);
19659
+ currentWeek = [];
19660
+ }
19661
+ }
19662
+ for (let i = 1; i < 7 - lastDayWeekIndex; i++) {
19663
+ const adjacentDay = new Date(lastDayOfMonth);
19664
+ adjacentDay.setDate(adjacentDay.getDate() + i);
19665
+ currentWeek.push(adjacentDay);
19666
+ }
19667
+ weeks.push(currentWeek);
19668
+ return weeks;
19669
+ }
19670
+ function startOfMonth(date) {
19671
+ return new Date(date.getFullYear(), date.getMonth(), 1);
19672
+ }
19673
+ function endOfMonth(date) {
19674
+ return new Date(date.getFullYear(), date.getMonth() + 1, 0);
19675
+ }
19676
+ function date(value) {
19677
+ if (value == null) return new Date();
19678
+ if (value instanceof Date) return value;
19679
+ if (typeof value === 'string') {
19680
+ const parsed = Date.parse(value);
19681
+ if (!isNaN(parsed)) return new Date(parsed);
19682
+ }
19683
+ return null;
19684
+ }
19561
19685
  const sundayJanuarySecond2000 = new Date(2000, 0, 2);
19562
19686
  function getWeekdays(locale) {
19563
19687
  const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
@@ -19565,7 +19689,7 @@
19565
19689
  const weekday = new Date(sundayJanuarySecond2000);
19566
19690
  weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
19567
19691
  return new Intl.DateTimeFormat(locale, {
19568
- weekday: 'long'
19692
+ weekday: 'short'
19569
19693
  }).format(weekday);
19570
19694
  });
19571
19695
  }
@@ -19585,8 +19709,7 @@
19585
19709
  options = {
19586
19710
  weekday: 'short',
19587
19711
  day: 'numeric',
19588
- month: 'short',
19589
- year: 'numeric'
19712
+ month: 'short'
19590
19713
  };
19591
19714
  break;
19592
19715
  case 'keyboardDate':
@@ -19604,6 +19727,11 @@
19604
19727
  year: 'numeric'
19605
19728
  };
19606
19729
  break;
19730
+ case 'dayOfMonth':
19731
+ options = {
19732
+ day: 'numeric'
19733
+ };
19734
+ break;
19607
19735
  default:
19608
19736
  options = {
19609
19737
  timeZone: 'UTC',
@@ -19634,28 +19762,6 @@
19634
19762
  function endOfYear(date) {
19635
19763
  return new Date(date.getFullYear(), 11, 31);
19636
19764
  }
19637
- function getMondayOfFirstWeekOfYear(year) {
19638
- return new Date(year, 0, 1);
19639
- }
19640
-
19641
- // https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
19642
- function getWeek(date) {
19643
- let year = date.getFullYear();
19644
- let d1w1 = getMondayOfFirstWeekOfYear(year);
19645
- if (date < d1w1) {
19646
- year = year - 1;
19647
- d1w1 = getMondayOfFirstWeekOfYear(year);
19648
- } else {
19649
- const tv = getMondayOfFirstWeekOfYear(year + 1);
19650
- if (date >= tv) {
19651
- year = year + 1;
19652
- d1w1 = tv;
19653
- }
19654
- }
19655
- const diffTime = Math.abs(date.getTime() - d1w1.getTime());
19656
- const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
19657
- return Math.floor(diffDays / 7) + 1;
19658
- }
19659
19765
  function isWithinRange(date, range) {
19660
19766
  return isAfter(date, range[0]) && isBefore(date, range[1]);
19661
19767
  }
@@ -19692,13 +19798,15 @@
19692
19798
  return d;
19693
19799
  }
19694
19800
  class VuetifyDateAdapter {
19695
- constructor() {
19696
- let locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en';
19697
- this.locale = locale;
19801
+ constructor(options) {
19802
+ this.locale = options.locale;
19698
19803
  }
19699
19804
  date(value) {
19700
19805
  return date(value);
19701
19806
  }
19807
+ toJsDate(date) {
19808
+ return date;
19809
+ }
19702
19810
  addDays(date, amount) {
19703
19811
  return addDays(date, amount);
19704
19812
  }
@@ -19706,7 +19814,7 @@
19706
19814
  return addMonths(date, amount);
19707
19815
  }
19708
19816
  getWeekArray(date) {
19709
- return getWeekArray(date);
19817
+ return getWeekArray(date, this.locale);
19710
19818
  }
19711
19819
  startOfMonth(date) {
19712
19820
  return startOfMonth(date);
@@ -19729,6 +19837,9 @@
19729
19837
  isAfter(date, comparing) {
19730
19838
  return isAfter(date, comparing);
19731
19839
  }
19840
+ isBefore(date, comparing) {
19841
+ return !isAfter(date, comparing) && !isEqual(date, comparing);
19842
+ }
19732
19843
  isSameDay(date, comparing) {
19733
19844
  return isSameDay(date, comparing);
19734
19845
  }
@@ -19741,9 +19852,6 @@
19741
19852
  getDiff(date, comparing, unit) {
19742
19853
  return getDiff(date, comparing, unit);
19743
19854
  }
19744
- getWeek(date) {
19745
- return getWeek(date);
19746
- }
19747
19855
  getWeekdays() {
19748
19856
  return getWeekdays(this.locale);
19749
19857
  }
@@ -19767,9 +19875,52 @@
19767
19875
 
19768
19876
  const DateAdapterSymbol = Symbol.for('vuetify:date-adapter');
19769
19877
  function createDate(options) {
19770
- return options ?? {
19771
- adapter: VuetifyDateAdapter
19772
- };
19878
+ return mergeDeep({
19879
+ adapter: VuetifyDateAdapter,
19880
+ locale: {
19881
+ af: 'af-ZA',
19882
+ // ar: '', # not the same value for all variants
19883
+ bg: 'bg-BG',
19884
+ ca: 'ca-ES',
19885
+ ckb: '',
19886
+ cs: '',
19887
+ de: 'de-DE',
19888
+ el: 'el-GR',
19889
+ en: 'en-US',
19890
+ // es: '', # not the same value for all variants
19891
+ et: 'et-EE',
19892
+ fa: 'fa-IR',
19893
+ fi: 'fi-FI',
19894
+ // fr: '', #not the same value for all variants
19895
+ hr: 'hr-HR',
19896
+ hu: 'hu-HU',
19897
+ he: 'he-IL',
19898
+ id: 'id-ID',
19899
+ it: 'it-IT',
19900
+ ja: 'ja-JP',
19901
+ ko: 'ko-KR',
19902
+ lv: 'lv-LV',
19903
+ lt: 'lt-LT',
19904
+ nl: 'nl-NL',
19905
+ no: 'nn-NO',
19906
+ pl: 'pl-PL',
19907
+ pt: 'pt-PT',
19908
+ ro: 'ro-RO',
19909
+ ru: 'ru-RU',
19910
+ sk: 'sk-SK',
19911
+ sl: 'sl-SI',
19912
+ srCyrl: 'sr-SP',
19913
+ srLatn: 'sr-SP',
19914
+ sv: 'sv-SE',
19915
+ th: 'th-TH',
19916
+ tr: 'tr-TR',
19917
+ az: 'az-AZ',
19918
+ uk: 'uk-UA',
19919
+ vi: 'vi-VN',
19920
+ zhHans: 'zh-CN',
19921
+ zhHant: 'zh-TW'
19922
+ }
19923
+ }, options);
19773
19924
  }
19774
19925
 
19775
19926
  // Composables
@@ -19857,7 +20008,7 @@
19857
20008
  date
19858
20009
  };
19859
20010
  }
19860
- const version$1 = "3.3.2";
20011
+ const version$1 = "3.3.4";
19861
20012
  createVuetify$1.version = version$1;
19862
20013
 
19863
20014
  // Vue's inject() can only be used in setup
@@ -19882,7 +20033,7 @@
19882
20033
  ...options
19883
20034
  });
19884
20035
  };
19885
- const version = "3.3.2";
20036
+ const version = "3.3.4";
19886
20037
  createVuetify.version = version;
19887
20038
 
19888
20039
  exports.components = components;