vuetify 3.4.8 → 3.4.10

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 (292) hide show
  1. package/dist/_component-variables-labs.sass +1 -0
  2. package/dist/json/attributes.json +260 -0
  3. package/dist/json/importMap-labs.json +24 -0
  4. package/dist/json/importMap.json +122 -122
  5. package/dist/json/tags.json +95 -0
  6. package/dist/json/web-types.json +857 -4
  7. package/dist/vuetify-labs.css +2977 -2604
  8. package/dist/vuetify-labs.d.ts +1770 -71
  9. package/dist/vuetify-labs.esm.js +784 -140
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +784 -140
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +689 -686
  14. package/dist/vuetify.d.ts +221 -106
  15. package/dist/vuetify.esm.js +301 -140
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +301 -140
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +214 -195
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/blueprints/index.d.mts +9 -0
  23. package/lib/blueprints/md1.d.mts +9 -0
  24. package/lib/blueprints/md2.d.mts +9 -0
  25. package/lib/blueprints/md3.d.mts +9 -0
  26. package/lib/components/VAlert/VAlert.css +2 -2
  27. package/lib/components/VAppBar/VAppBar.css +1 -1
  28. package/lib/components/VAppBar/VAppBar.mjs +0 -1
  29. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  30. package/lib/components/VAutocomplete/VAutocomplete.css +2 -2
  31. package/lib/components/VAutocomplete/VAutocomplete.mjs +15 -2
  32. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  33. package/lib/components/VAutocomplete/VAutocomplete.sass +1 -1
  34. package/lib/components/VAutocomplete/_variables.scss +1 -0
  35. package/lib/components/VAvatar/VAvatar.css +2 -2
  36. package/lib/components/VBanner/VBanner.css +1 -1
  37. package/lib/components/VBottomNavigation/VBottomNavigation.css +1 -1
  38. package/lib/components/VBottomSheet/VBottomSheet.css +1 -1
  39. package/lib/components/VBtn/VBtn.css +4 -4
  40. package/lib/components/VBtnGroup/VBtnGroup.css +1 -1
  41. package/lib/components/VCard/VCard.css +5 -5
  42. package/lib/components/VChip/VChip.css +2 -2
  43. package/lib/components/VChip/VChip.mjs +2 -1
  44. package/lib/components/VChip/VChip.mjs.map +1 -1
  45. package/lib/components/VColorPicker/VColorPicker.css +3 -3
  46. package/lib/components/VCombobox/VCombobox.css +2 -2
  47. package/lib/components/VCombobox/VCombobox.mjs +15 -5
  48. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  49. package/lib/components/VCombobox/VCombobox.sass +2 -2
  50. package/lib/components/VCombobox/_variables.scss +2 -0
  51. package/lib/components/VDataIterator/index.d.mts +1 -1
  52. package/lib/components/VDataTable/VDataTable.css +1 -1
  53. package/lib/components/VDataTable/VDataTable.sass +1 -1
  54. package/lib/components/VDataTable/VDataTableFooter.mjs +33 -30
  55. package/lib/components/VDataTable/VDataTableFooter.mjs.map +1 -1
  56. package/lib/components/VDataTable/VDataTableHeaders.mjs +2 -1
  57. package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
  58. package/lib/components/VDataTable/index.d.mts +1 -1
  59. package/lib/components/VDatePicker/VDatePicker.mjs +4 -1
  60. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  61. package/lib/components/VDatePicker/VDatePickerMonth.mjs +1 -1
  62. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  63. package/lib/components/VDatePicker/index.d.mts +82 -0
  64. package/lib/components/VDialog/VDialog.css +1 -1
  65. package/lib/components/VDialog/index.d.mts +3 -3
  66. package/lib/components/VExpansionPanel/VExpansionPanel.css +1 -1
  67. package/lib/components/VField/VField.css +2 -2
  68. package/lib/components/VFileInput/index.d.mts +3 -3
  69. package/lib/components/VFooter/VFooter.css +1 -1
  70. package/lib/components/VForm/index.d.mts +21 -21
  71. package/lib/components/VImg/index.d.mts +6 -6
  72. package/lib/components/VKbd/VKbd.css +1 -1
  73. package/lib/components/VList/VList.css +1 -1
  74. package/lib/components/VList/VList.mjs +7 -2
  75. package/lib/components/VList/VList.mjs.map +1 -1
  76. package/lib/components/VList/VListItem.css +5 -2
  77. package/lib/components/VList/VListItem.sass +3 -0
  78. package/lib/components/VList/_variables.scss +1 -0
  79. package/lib/components/VMenu/VMenu.css +1 -1
  80. package/lib/components/VMenu/index.d.mts +6 -6
  81. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +2 -2
  82. package/lib/components/VNavigationDrawer/index.d.mts +3 -3
  83. package/lib/components/VOverflowBtn/VOverflowBtn.mjs +0 -1
  84. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  85. package/lib/components/VOverlay/VOverlay.mjs +2 -2
  86. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  87. package/lib/components/VOverlay/locationStrategies.mjs +0 -1
  88. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  89. package/lib/components/VSelect/VSelect.css +1 -1
  90. package/lib/components/VSelect/VSelect.mjs +15 -3
  91. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  92. package/lib/components/VSelectionControl/index.d.mts +3 -3
  93. package/lib/components/VSheet/VSheet.css +1 -1
  94. package/lib/components/VSlideGroup/index.d.mts +3 -3
  95. package/lib/components/VSnackbar/VSnackbar.css +2 -2
  96. package/lib/components/VSnackbar/index.d.mts +3 -3
  97. package/lib/components/VStepper/VStepper.css +3 -3
  98. package/lib/components/VSwitch/VSwitch.css +2 -2
  99. package/lib/components/VSystemBar/VSystemBar.css +1 -1
  100. package/lib/components/VTabs/VTab.css +2 -2
  101. package/lib/components/VTabs/VTab.sass +2 -2
  102. package/lib/components/VTextField/index.d.mts +6 -6
  103. package/lib/components/VTextarea/index.d.mts +3 -3
  104. package/lib/components/VTimeline/VTimeline.css +1 -1
  105. package/lib/components/VToolbar/VToolbar.css +2 -2
  106. package/lib/components/VTooltip/index.d.mts +3 -3
  107. package/lib/components/VTreeview/VTreeview.mjs +0 -1
  108. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  109. package/lib/components/VTreeview/VTreeviewNode.mjs +0 -1
  110. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  111. package/lib/components/VValidation/index.d.mts +6 -6
  112. package/lib/components/VWindow/VWindowItem.mjs +0 -1
  113. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  114. package/lib/components/index.d.mts +152 -70
  115. package/lib/composables/calendar.mjs +26 -5
  116. package/lib/composables/calendar.mjs.map +1 -1
  117. package/lib/composables/date/DateAdapter.mjs.map +1 -1
  118. package/lib/composables/date/adapters/vuetify.mjs +89 -2
  119. package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
  120. package/lib/composables/delay.mjs +19 -18
  121. package/lib/composables/delay.mjs.map +1 -1
  122. package/lib/composables/density.mjs +1 -0
  123. package/lib/composables/density.mjs.map +1 -1
  124. package/lib/entry-bundler.mjs +1 -1
  125. package/lib/entry-bundler.mjs.map +1 -1
  126. package/lib/framework.mjs +1 -1
  127. package/lib/framework.mjs.map +1 -1
  128. package/lib/index.d.mts +69 -36
  129. package/lib/labs/VCalendar/VCalendar.css +220 -0
  130. package/lib/labs/VCalendar/VCalendar.mjs +124 -0
  131. package/lib/labs/VCalendar/VCalendar.mjs.map +1 -0
  132. package/lib/labs/VCalendar/VCalendar.sass +168 -0
  133. package/lib/labs/VCalendar/VCalendarDay.css +33 -0
  134. package/lib/labs/VCalendar/VCalendarDay.mjs +47 -0
  135. package/lib/labs/VCalendar/VCalendarDay.mjs.map +1 -0
  136. package/lib/labs/VCalendar/VCalendarDay.sass +32 -0
  137. package/lib/labs/VCalendar/VCalendarEvent.mjs +30 -0
  138. package/lib/labs/VCalendar/VCalendarEvent.mjs.map +1 -0
  139. package/lib/labs/VCalendar/VCalendarHeader.css +14 -0
  140. package/lib/labs/VCalendar/VCalendarHeader.mjs +76 -0
  141. package/lib/labs/VCalendar/VCalendarHeader.mjs.map +1 -0
  142. package/lib/labs/VCalendar/VCalendarHeader.sass +13 -0
  143. package/lib/labs/VCalendar/VCalendarInterval.css +42 -0
  144. package/lib/labs/VCalendar/VCalendarInterval.mjs +113 -0
  145. package/lib/labs/VCalendar/VCalendarInterval.mjs.map +1 -0
  146. package/lib/labs/VCalendar/VCalendarInterval.sass +39 -0
  147. package/lib/labs/VCalendar/VCalendarIntervalEvent.mjs +76 -0
  148. package/lib/labs/VCalendar/VCalendarIntervalEvent.mjs.map +1 -0
  149. package/lib/labs/VCalendar/VCalendarMonthDay.css +61 -0
  150. package/lib/labs/VCalendar/VCalendarMonthDay.mjs +64 -0
  151. package/lib/labs/VCalendar/VCalendarMonthDay.mjs.map +1 -0
  152. package/lib/labs/VCalendar/VCalendarMonthDay.sass +65 -0
  153. package/lib/{components → labs}/VCalendar/_variables.scss +14 -6
  154. package/lib/labs/VCalendar/index.d.mts +1592 -0
  155. package/lib/labs/VCalendar/index.mjs +7 -0
  156. package/lib/labs/VCalendar/index.mjs.map +1 -0
  157. package/lib/labs/VPicker/VPicker.css +1 -1
  158. package/lib/labs/components.d.mts +1586 -2
  159. package/lib/labs/components.mjs +1 -0
  160. package/lib/labs/components.mjs.map +1 -1
  161. package/lib/locale/af.mjs +2 -1
  162. package/lib/locale/af.mjs.map +1 -1
  163. package/lib/locale/ar.mjs +2 -1
  164. package/lib/locale/ar.mjs.map +1 -1
  165. package/lib/locale/az.mjs +2 -1
  166. package/lib/locale/az.mjs.map +1 -1
  167. package/lib/locale/bg.mjs +2 -1
  168. package/lib/locale/bg.mjs.map +1 -1
  169. package/lib/locale/ca.mjs +2 -1
  170. package/lib/locale/ca.mjs.map +1 -1
  171. package/lib/locale/ckb.mjs +2 -1
  172. package/lib/locale/ckb.mjs.map +1 -1
  173. package/lib/locale/cs.mjs +3 -2
  174. package/lib/locale/cs.mjs.map +1 -1
  175. package/lib/locale/da.mjs +2 -1
  176. package/lib/locale/da.mjs.map +1 -1
  177. package/lib/locale/de.mjs +2 -1
  178. package/lib/locale/de.mjs.map +1 -1
  179. package/lib/locale/el.mjs +2 -1
  180. package/lib/locale/el.mjs.map +1 -1
  181. package/lib/locale/en.mjs +2 -1
  182. package/lib/locale/en.mjs.map +1 -1
  183. package/lib/locale/es.mjs +2 -1
  184. package/lib/locale/es.mjs.map +1 -1
  185. package/lib/locale/et.mjs +2 -1
  186. package/lib/locale/et.mjs.map +1 -1
  187. package/lib/locale/fa.mjs +2 -1
  188. package/lib/locale/fa.mjs.map +1 -1
  189. package/lib/locale/fi.mjs +2 -1
  190. package/lib/locale/fi.mjs.map +1 -1
  191. package/lib/locale/fr.mjs +2 -1
  192. package/lib/locale/fr.mjs.map +1 -1
  193. package/lib/locale/he.mjs +2 -1
  194. package/lib/locale/he.mjs.map +1 -1
  195. package/lib/locale/hr.mjs +2 -1
  196. package/lib/locale/hr.mjs.map +1 -1
  197. package/lib/locale/hu.mjs +2 -1
  198. package/lib/locale/hu.mjs.map +1 -1
  199. package/lib/locale/id.mjs +2 -1
  200. package/lib/locale/id.mjs.map +1 -1
  201. package/lib/locale/index.d.mts +42 -0
  202. package/lib/locale/it.mjs +2 -1
  203. package/lib/locale/it.mjs.map +1 -1
  204. package/lib/locale/ja.mjs +2 -1
  205. package/lib/locale/ja.mjs.map +1 -1
  206. package/lib/locale/ko.mjs +2 -1
  207. package/lib/locale/ko.mjs.map +1 -1
  208. package/lib/locale/lt.mjs +2 -1
  209. package/lib/locale/lt.mjs.map +1 -1
  210. package/lib/locale/lv.mjs +2 -1
  211. package/lib/locale/lv.mjs.map +1 -1
  212. package/lib/locale/nl.mjs +3 -2
  213. package/lib/locale/nl.mjs.map +1 -1
  214. package/lib/locale/no.mjs +2 -1
  215. package/lib/locale/no.mjs.map +1 -1
  216. package/lib/locale/pl.mjs +2 -1
  217. package/lib/locale/pl.mjs.map +1 -1
  218. package/lib/locale/pt.mjs +19 -18
  219. package/lib/locale/pt.mjs.map +1 -1
  220. package/lib/locale/ro.mjs +2 -1
  221. package/lib/locale/ro.mjs.map +1 -1
  222. package/lib/locale/ru.mjs +2 -1
  223. package/lib/locale/ru.mjs.map +1 -1
  224. package/lib/locale/sk.mjs +2 -1
  225. package/lib/locale/sk.mjs.map +1 -1
  226. package/lib/locale/sl.mjs +2 -1
  227. package/lib/locale/sl.mjs.map +1 -1
  228. package/lib/locale/sr-Cyrl.mjs +2 -1
  229. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  230. package/lib/locale/sr-Latn.mjs +2 -1
  231. package/lib/locale/sr-Latn.mjs.map +1 -1
  232. package/lib/locale/sv.mjs +2 -1
  233. package/lib/locale/sv.mjs.map +1 -1
  234. package/lib/locale/th.mjs +2 -1
  235. package/lib/locale/th.mjs.map +1 -1
  236. package/lib/locale/tr.mjs +2 -1
  237. package/lib/locale/tr.mjs.map +1 -1
  238. package/lib/locale/uk.mjs +2 -1
  239. package/lib/locale/uk.mjs.map +1 -1
  240. package/lib/locale/vi.mjs +2 -1
  241. package/lib/locale/vi.mjs.map +1 -1
  242. package/lib/locale/zh-Hans.mjs +2 -1
  243. package/lib/locale/zh-Hans.mjs.map +1 -1
  244. package/lib/locale/zh-Hant.mjs +2 -1
  245. package/lib/locale/zh-Hant.mjs.map +1 -1
  246. package/lib/styles/main.css +25 -25
  247. package/lib/styles/settings/_elevations.scss +1 -1
  248. package/lib/util/helpers.mjs +14 -0
  249. package/lib/util/helpers.mjs.map +1 -1
  250. package/package.json +12 -12
  251. package/lib/components/VCalendar/VCalendar.mjs +0 -352
  252. package/lib/components/VCalendar/VCalendar.mjs.map +0 -1
  253. package/lib/components/VCalendar/VCalendarCategory.mjs +0 -124
  254. package/lib/components/VCalendar/VCalendarCategory.mjs.map +0 -1
  255. package/lib/components/VCalendar/VCalendarCategory.sass +0 -100
  256. package/lib/components/VCalendar/VCalendarDaily.mjs +0 -239
  257. package/lib/components/VCalendar/VCalendarDaily.mjs.map +0 -1
  258. package/lib/components/VCalendar/VCalendarDaily.sass +0 -140
  259. package/lib/components/VCalendar/VCalendarMonthly.mjs +0 -25
  260. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +0 -1
  261. package/lib/components/VCalendar/VCalendarWeekly.mjs +0 -193
  262. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +0 -1
  263. package/lib/components/VCalendar/VCalendarWeekly.sass +0 -118
  264. package/lib/components/VCalendar/index.mjs +0 -16
  265. package/lib/components/VCalendar/index.mjs.map +0 -1
  266. package/lib/components/VCalendar/mixins/calendar-base.mjs +0 -89
  267. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +0 -1
  268. package/lib/components/VCalendar/mixins/calendar-with-events.mjs +0 -416
  269. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +0 -1
  270. package/lib/components/VCalendar/mixins/calendar-with-events.sass +0 -67
  271. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs +0 -135
  272. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +0 -1
  273. package/lib/components/VCalendar/mixins/mouse.mjs +0 -85
  274. package/lib/components/VCalendar/mixins/mouse.mjs.map +0 -1
  275. package/lib/components/VCalendar/mixins/times.mjs +0 -65
  276. package/lib/components/VCalendar/mixins/times.mjs.map +0 -1
  277. package/lib/components/VCalendar/modes/column.mjs +0 -18
  278. package/lib/components/VCalendar/modes/column.mjs.map +0 -1
  279. package/lib/components/VCalendar/modes/common.mjs +0 -112
  280. package/lib/components/VCalendar/modes/common.mjs.map +0 -1
  281. package/lib/components/VCalendar/modes/index.mjs +0 -9
  282. package/lib/components/VCalendar/modes/index.mjs.map +0 -1
  283. package/lib/components/VCalendar/modes/stack.mjs +0 -204
  284. package/lib/components/VCalendar/modes/stack.mjs.map +0 -1
  285. package/lib/components/VCalendar/util/events.mjs +0 -44
  286. package/lib/components/VCalendar/util/events.mjs.map +0 -1
  287. package/lib/components/VCalendar/util/parser.mjs +0 -21
  288. package/lib/components/VCalendar/util/parser.mjs.map +0 -1
  289. package/lib/components/VCalendar/util/props.mjs +0 -248
  290. package/lib/components/VCalendar/util/props.mjs.map +0 -1
  291. package/lib/components/VCalendar/util/timestamp.mjs +0 -407
  292. package/lib/components/VCalendar/util/timestamp.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.4.8
2
+ * Vuetify v3.4.10
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -531,6 +531,14 @@ function ensureValidVNode(vnodes) {
531
531
  return child.type !== Fragment || ensureValidVNode(child.children);
532
532
  }) ? vnodes : null;
533
533
  }
534
+ function defer(timeout, cb) {
535
+ if (!IN_BROWSER || timeout === 0) {
536
+ cb();
537
+ return () => {};
538
+ }
539
+ const timeoutId = window.setTimeout(cb, timeout);
540
+ return () => window.clearTimeout(timeoutId);
541
+ }
534
542
 
535
543
  // Utilities
536
544
  const block = ['top', 'bottom'];
@@ -1895,7 +1903,8 @@ var en = {
1895
1903
  }
1896
1904
  },
1897
1905
  calendar: {
1898
- moreEvents: '{0} more'
1906
+ moreEvents: '{0} more',
1907
+ today: 'Today'
1899
1908
  },
1900
1909
  input: {
1901
1910
  clear: 'Clear {0}',
@@ -3827,7 +3836,6 @@ const VAppBar = genericComponent()({
3827
3836
  // shrink: behavior.has('shrink'),
3828
3837
  };
3829
3838
  });
3830
-
3831
3839
  const canScroll = computed(() => {
3832
3840
  const behavior = scrollBehavior.value;
3833
3841
  return behavior.hide ||
@@ -3910,6 +3918,7 @@ const allowedDensities = [null, 'default', 'comfortable', 'compact'];
3910
3918
 
3911
3919
  // typeof allowedDensities[number] evalutes to any
3912
3920
  // when generating api types for whatever reason.
3921
+
3913
3922
  // Composables
3914
3923
  const makeDensityProps = propsFactory({
3915
3924
  density: {
@@ -5805,6 +5814,68 @@ const VAlert = genericComponent()({
5805
5814
  }
5806
5815
  });
5807
5816
 
5817
+ const makeVAvatarProps = propsFactory({
5818
+ start: Boolean,
5819
+ end: Boolean,
5820
+ icon: IconValue,
5821
+ image: String,
5822
+ text: String,
5823
+ ...makeComponentProps(),
5824
+ ...makeDensityProps(),
5825
+ ...makeRoundedProps(),
5826
+ ...makeSizeProps(),
5827
+ ...makeTagProps(),
5828
+ ...makeThemeProps(),
5829
+ ...makeVariantProps({
5830
+ variant: 'flat'
5831
+ })
5832
+ }, 'VAvatar');
5833
+ const VAvatar = genericComponent()({
5834
+ name: 'VAvatar',
5835
+ props: makeVAvatarProps(),
5836
+ setup(props, _ref) {
5837
+ let {
5838
+ slots
5839
+ } = _ref;
5840
+ const {
5841
+ themeClasses
5842
+ } = provideTheme(props);
5843
+ const {
5844
+ colorClasses,
5845
+ colorStyles,
5846
+ variantClasses
5847
+ } = useVariant(props);
5848
+ const {
5849
+ densityClasses
5850
+ } = useDensity(props);
5851
+ const {
5852
+ roundedClasses
5853
+ } = useRounded(props);
5854
+ const {
5855
+ sizeClasses,
5856
+ sizeStyles
5857
+ } = useSize(props);
5858
+ useRender(() => createVNode(props.tag, {
5859
+ "class": ['v-avatar', {
5860
+ 'v-avatar--start': props.start,
5861
+ 'v-avatar--end': props.end
5862
+ }, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
5863
+ "style": [colorStyles.value, sizeStyles.value, props.style]
5864
+ }, {
5865
+ default: () => [props.image ? createVNode(VImg, {
5866
+ "key": "image",
5867
+ "src": props.image,
5868
+ "alt": "",
5869
+ "cover": true
5870
+ }, null) : props.icon ? createVNode(VIcon, {
5871
+ "key": "icon",
5872
+ "icon": props.icon
5873
+ }, null) : slots.default?.() ?? props.text, genOverlays(false, 'v-avatar')]
5874
+ }));
5875
+ return {};
5876
+ }
5877
+ });
5878
+
5808
5879
  const makeVLabelProps = propsFactory({
5809
5880
  text: String,
5810
5881
  clickable: Boolean,
@@ -6772,68 +6843,6 @@ const VCheckbox = genericComponent()({
6772
6843
  }
6773
6844
  });
6774
6845
 
6775
- const makeVAvatarProps = propsFactory({
6776
- start: Boolean,
6777
- end: Boolean,
6778
- icon: IconValue,
6779
- image: String,
6780
- text: String,
6781
- ...makeComponentProps(),
6782
- ...makeDensityProps(),
6783
- ...makeRoundedProps(),
6784
- ...makeSizeProps(),
6785
- ...makeTagProps(),
6786
- ...makeThemeProps(),
6787
- ...makeVariantProps({
6788
- variant: 'flat'
6789
- })
6790
- }, 'VAvatar');
6791
- const VAvatar = genericComponent()({
6792
- name: 'VAvatar',
6793
- props: makeVAvatarProps(),
6794
- setup(props, _ref) {
6795
- let {
6796
- slots
6797
- } = _ref;
6798
- const {
6799
- themeClasses
6800
- } = provideTheme(props);
6801
- const {
6802
- colorClasses,
6803
- colorStyles,
6804
- variantClasses
6805
- } = useVariant(props);
6806
- const {
6807
- densityClasses
6808
- } = useDensity(props);
6809
- const {
6810
- roundedClasses
6811
- } = useRounded(props);
6812
- const {
6813
- sizeClasses,
6814
- sizeStyles
6815
- } = useSize(props);
6816
- useRender(() => createVNode(props.tag, {
6817
- "class": ['v-avatar', {
6818
- 'v-avatar--start': props.start,
6819
- 'v-avatar--end': props.end
6820
- }, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
6821
- "style": [colorStyles.value, sizeStyles.value, props.style]
6822
- }, {
6823
- default: () => [props.image ? createVNode(VImg, {
6824
- "key": "image",
6825
- "src": props.image,
6826
- "alt": "",
6827
- "cover": true
6828
- }, null) : props.icon ? createVNode(VIcon, {
6829
- "key": "icon",
6830
- "icon": props.icon
6831
- }, null) : slots.default?.() ?? props.text, genOverlays(false, 'v-avatar')]
6832
- }));
6833
- return {};
6834
- }
6835
- });
6836
-
6837
6846
  // Types
6838
6847
 
6839
6848
  const VChipGroupSymbol = Symbol.for('vuetify:v-chip-group');
@@ -7126,7 +7135,8 @@ const VChip = genericComponent()({
7126
7135
  }
7127
7136
  }, slots.append)]), hasClose && createVNode("button", mergeProps({
7128
7137
  "key": "close",
7129
- "class": "v-chip__close"
7138
+ "class": "v-chip__close",
7139
+ "type": "button"
7130
7140
  }, closeProps.value), [!slots.close ? createVNode(VIcon, {
7131
7141
  "key": "close-icon",
7132
7142
  "icon": props.closeIcon,
@@ -8392,6 +8402,9 @@ const VList = genericComponent()({
8392
8402
  }
8393
8403
  e.preventDefault();
8394
8404
  }
8405
+ function onMousedown(e) {
8406
+ isFocused.value = true;
8407
+ }
8395
8408
  function focus(location) {
8396
8409
  if (contentRef.value) {
8397
8410
  return focusChild(contentRef.value, location);
@@ -8402,7 +8415,8 @@ const VList = genericComponent()({
8402
8415
  "ref": contentRef,
8403
8416
  "class": ['v-list', {
8404
8417
  'v-list--disabled': props.disabled,
8405
- 'v-list--nav': props.nav
8418
+ 'v-list--nav': props.nav,
8419
+ 'v-list--slim': props.slim
8406
8420
  }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class],
8407
8421
  "style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
8408
8422
  "tabindex": props.disabled || isFocused.value ? -1 : 0,
@@ -8411,7 +8425,8 @@ const VList = genericComponent()({
8411
8425
  "onFocusin": onFocusin,
8412
8426
  "onFocusout": onFocusout,
8413
8427
  "onFocus": onFocus,
8414
- "onKeydown": onKeydown
8428
+ "onKeydown": onKeydown,
8429
+ "onMousedown": onMousedown
8415
8430
  }, {
8416
8431
  default: () => [createVNode(VListChildren, {
8417
8432
  "items": items.value,
@@ -8538,7 +8553,6 @@ const locationStrategies = {
8538
8553
  // specific viewport position, usually centered
8539
8554
  connected: connectedLocationStrategy // connected to a certain element
8540
8555
  };
8541
-
8542
8556
  const makeLocationStrategyProps = propsFactory({
8543
8557
  locationStrategy: {
8544
8558
  type: [String, Function],
@@ -9085,26 +9099,27 @@ const makeDelayProps = propsFactory({
9085
9099
  openDelay: [Number, String]
9086
9100
  }, 'delay');
9087
9101
  function useDelay(props, cb) {
9088
- const delays = {};
9089
- const runDelayFactory = prop => () => {
9090
- // istanbul ignore next
9091
- if (!IN_BROWSER) return Promise.resolve(true);
9092
- const active = prop === 'openDelay';
9093
- delays.closeDelay && window.clearTimeout(delays.closeDelay);
9094
- delete delays.closeDelay;
9095
- delays.openDelay && window.clearTimeout(delays.openDelay);
9096
- delete delays.openDelay;
9102
+ let clearDelay = () => {};
9103
+ function runDelay(isOpening) {
9104
+ clearDelay?.();
9105
+ const delay = Number(isOpening ? props.openDelay : props.closeDelay);
9097
9106
  return new Promise(resolve => {
9098
- const delay = parseInt(props[prop] ?? 0, 10);
9099
- delays[prop] = window.setTimeout(() => {
9100
- cb?.(active);
9101
- resolve(active);
9102
- }, delay);
9107
+ clearDelay = defer(delay, () => {
9108
+ cb?.(isOpening);
9109
+ resolve(isOpening);
9110
+ });
9103
9111
  });
9104
- };
9112
+ }
9113
+ function runOpenDelay() {
9114
+ return runDelay(true);
9115
+ }
9116
+ function runCloseDelay() {
9117
+ return runDelay(false);
9118
+ }
9105
9119
  return {
9106
- runCloseDelay: runDelayFactory('closeDelay'),
9107
- runOpenDelay: runDelayFactory('openDelay')
9120
+ clearDelay,
9121
+ runOpenDelay,
9122
+ runCloseDelay
9108
9123
  };
9109
9124
  }
9110
9125
 
@@ -9951,7 +9966,7 @@ const VOverlay = genericComponent()({
9951
9966
  ref: activatorRef,
9952
9967
  targetRef
9953
9968
  }, activatorEvents.value, props.activatorProps)
9954
- }), isMounted.value && hasContent.value && createVNode(Teleport, {
9969
+ }), !props.disabled && isMounted.value && hasContent.value && createVNode(Teleport, {
9955
9970
  "disabled": !teleportTarget.value,
9956
9971
  "to": teleportTarget.value
9957
9972
  }, {
@@ -9967,7 +9982,7 @@ const VOverlay = genericComponent()({
9967
9982
  "ref": root
9968
9983
  }, scopeId, attrs), [createVNode(Scrim, mergeProps({
9969
9984
  "color": scrimColor,
9970
- "modelValue": isActive.value && !!props.scrim
9985
+ "modelValue": !!props.scrim && isActive.value
9971
9986
  }, scrimEvents.value), null), createVNode(MaybeTransition, {
9972
9987
  "appear": true,
9973
9988
  "persisted": true,
@@ -11320,7 +11335,7 @@ const VSelect = genericComponent()({
11320
11335
  }
11321
11336
  return items.value;
11322
11337
  });
11323
- const menuDisabled = computed(() => props.hideNoData && !items.value.length || props.readonly || form?.isReadonly.value);
11338
+ const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
11324
11339
  const computedMenuProps = computed(() => {
11325
11340
  return {
11326
11341
  ...props.menuProps,
@@ -11330,7 +11345,6 @@ const VSelect = genericComponent()({
11330
11345
  }
11331
11346
  };
11332
11347
  });
11333
-
11334
11348
  const listRef = ref();
11335
11349
  const {
11336
11350
  onListScroll,
@@ -11428,6 +11442,15 @@ const VSelect = genericComponent()({
11428
11442
  });
11429
11443
  }
11430
11444
  });
11445
+ watch(displayItems, (val, oldVal) => {
11446
+ if (!isFocused.value) return;
11447
+ if (!val.length && props.hideNoData) {
11448
+ menu.value = false;
11449
+ }
11450
+ if (!oldVal.length && val.length) {
11451
+ menu.value = true;
11452
+ }
11453
+ });
11431
11454
  useRender(() => {
11432
11455
  const hasChips = !!(props.chips || slots.chip);
11433
11456
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);
@@ -11485,6 +11508,7 @@ const VSelect = genericComponent()({
11485
11508
  "onFocusin": onFocusin,
11486
11509
  "onScrollPassive": onListScroll,
11487
11510
  "tabindex": "-1",
11511
+ "aria-live": "polite",
11488
11512
  "color": props.itemColor ?? props.color
11489
11513
  }, {
11490
11514
  default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? createVNode(VListItem, {
@@ -11521,7 +11545,9 @@ const VSelect = genericComponent()({
11521
11545
  "modelValue": isSelected,
11522
11546
  "ripple": false,
11523
11547
  "tabindex": "-1"
11524
- }, null) : undefined, item.props.prependIcon && createVNode(VIcon, {
11548
+ }, null) : undefined, item.props.prependAvatar && createVNode(VAvatar, {
11549
+ "image": item.props.prependAvatar
11550
+ }, null), item.props.prependIcon && createVNode(VIcon, {
11525
11551
  "icon": item.props.prependIcon
11526
11552
  }, null)]);
11527
11553
  }
@@ -11812,7 +11838,7 @@ const VAutocomplete = genericComponent()({
11812
11838
  const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
11813
11839
  return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
11814
11840
  });
11815
- const menuDisabled = computed(() => props.hideNoData && !items.value.length || props.readonly || form?.isReadonly.value);
11841
+ const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
11816
11842
  const listRef = ref();
11817
11843
  const {
11818
11844
  onListScroll,
@@ -11971,6 +11997,15 @@ const VAutocomplete = genericComponent()({
11971
11997
  });
11972
11998
  }
11973
11999
  });
12000
+ watch(displayItems, (val, oldVal) => {
12001
+ if (!isFocused.value) return;
12002
+ if (!val.length && props.hideNoData) {
12003
+ menu.value = false;
12004
+ }
12005
+ if (!oldVal.length && val.length) {
12006
+ menu.value = true;
12007
+ }
12008
+ });
11974
12009
  useRender(() => {
11975
12010
  const hasChips = !!(props.chips || slots.chip);
11976
12011
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);
@@ -12025,6 +12060,7 @@ const VAutocomplete = genericComponent()({
12025
12060
  "onFocusout": onFocusout,
12026
12061
  "onScrollPassive": onListScroll,
12027
12062
  "tabindex": "-1",
12063
+ "aria-live": "polite",
12028
12064
  "color": props.itemColor ?? props.color
12029
12065
  }, {
12030
12066
  default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? createVNode(VListItem, {
@@ -12060,7 +12096,9 @@ const VAutocomplete = genericComponent()({
12060
12096
  "modelValue": isSelected,
12061
12097
  "ripple": false,
12062
12098
  "tabindex": "-1"
12063
- }, null) : undefined, item.props.prependIcon && createVNode(VIcon, {
12099
+ }, null) : undefined, item.props.prependAvatar && createVNode(VAvatar, {
12100
+ "image": item.props.prependAvatar
12101
+ }, null), item.props.prependIcon && createVNode(VIcon, {
12064
12102
  "icon": item.props.prependIcon
12065
12103
  }, null)]);
12066
12104
  },
@@ -13569,7 +13607,6 @@ const VWindowItem = genericComponent()({
13569
13607
  function onTransitionCancelled() {
13570
13608
  onAfterTransition(); // This should have the same path as normal transition end.
13571
13609
  }
13572
-
13573
13610
  function onEnterTransition(el) {
13574
13611
  if (!isTransitioning.value) {
13575
13612
  return;
@@ -15568,7 +15605,7 @@ const VCombobox = genericComponent()({
15568
15605
  const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
15569
15606
  return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
15570
15607
  });
15571
- const menuDisabled = computed(() => props.hideNoData && !items.value.length || props.readonly || form?.isReadonly.value);
15608
+ const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
15572
15609
  const listRef = ref();
15573
15610
  const {
15574
15611
  onListScroll,
@@ -15696,9 +15733,6 @@ const VCombobox = genericComponent()({
15696
15733
  function onUpdateModelValue(v) {
15697
15734
  if (v == null || v === '' && !props.multiple) model.value = [];
15698
15735
  }
15699
- watch(filteredItems, val => {
15700
- if (!val.length && props.hideNoData) menu.value = false;
15701
- });
15702
15736
  watch(isFocused, (val, oldVal) => {
15703
15737
  if (val || val === oldVal) return;
15704
15738
  selectionIndex.value = -1;
@@ -15722,6 +15756,15 @@ const VCombobox = genericComponent()({
15722
15756
  });
15723
15757
  }
15724
15758
  });
15759
+ watch(displayItems, (val, oldVal) => {
15760
+ if (!isFocused.value) return;
15761
+ if (!val.length && props.hideNoData) {
15762
+ menu.value = false;
15763
+ }
15764
+ if (!oldVal.length && val.length) {
15765
+ menu.value = true;
15766
+ }
15767
+ });
15725
15768
  useRender(() => {
15726
15769
  const hasChips = !!(props.chips || slots.chip);
15727
15770
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);
@@ -15776,6 +15819,7 @@ const VCombobox = genericComponent()({
15776
15819
  "onFocusout": onFocusout,
15777
15820
  "onScrollPassive": onListScroll,
15778
15821
  "tabindex": "-1",
15822
+ "aria-live": "polite",
15779
15823
  "color": props.itemColor ?? props.color
15780
15824
  }, {
15781
15825
  default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? createVNode(VListItem, {
@@ -15811,7 +15855,9 @@ const VCombobox = genericComponent()({
15811
15855
  "modelValue": isSelected,
15812
15856
  "ripple": false,
15813
15857
  "tabindex": "-1"
15814
- }, null) : undefined, item.props.prependIcon && createVNode(VIcon, {
15858
+ }, null) : undefined, item.props.prependAvatar && createVNode(VAvatar, {
15859
+ "image": item.props.prependAvatar
15860
+ }, null), item.props.prependIcon && createVNode(VIcon, {
15815
15861
  "icon": item.props.prependIcon
15816
15862
  }, null)]);
15817
15863
  },
@@ -16596,6 +16642,20 @@ function getWeekArray(date, locale) {
16596
16642
  }
16597
16643
  return weeks;
16598
16644
  }
16645
+ function startOfWeek(date) {
16646
+ const d = new Date(date);
16647
+ while (d.getDay() !== 0) {
16648
+ d.setDate(d.getDate() - 1);
16649
+ }
16650
+ return d;
16651
+ }
16652
+ function endOfWeek(date) {
16653
+ const d = new Date(date);
16654
+ while (d.getDay() !== 6) {
16655
+ d.setDate(d.getDate() + 1);
16656
+ }
16657
+ return d;
16658
+ }
16599
16659
  function startOfMonth(date) {
16600
16660
  return new Date(date.getFullYear(), date.getMonth(), 1);
16601
16661
  }
@@ -16624,14 +16684,18 @@ function date(value) {
16624
16684
  return null;
16625
16685
  }
16626
16686
  const sundayJanuarySecond2000 = new Date(2000, 0, 2);
16687
+
16688
+ // The number of letters returned by getWeekday() varies by date library
16689
+ // So we've opted for 3-letter abbreviations for all locales
16627
16690
  function getWeekdays(locale) {
16628
16691
  const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
16629
16692
  return createRange(7).map(i => {
16630
16693
  const weekday = new Date(sundayJanuarySecond2000);
16631
16694
  weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
16632
- return new Intl.DateTimeFormat(locale, {
16633
- weekday: 'narrow'
16695
+ const formattedDay = new Intl.DateTimeFormat(locale, {
16696
+ weekday: 'short'
16634
16697
  }).format(weekday);
16698
+ return formattedDay.charAt(0).toUpperCase() + formattedDay.slice(1);
16635
16699
  });
16636
16700
  }
16637
16701
  function format(value, formatString, locale, formats) {
@@ -16650,6 +16714,12 @@ function format(value, formatString, locale, formats) {
16650
16714
  year: 'numeric'
16651
16715
  };
16652
16716
  break;
16717
+ case 'hours12h':
16718
+ options = {
16719
+ hour: 'numeric',
16720
+ hour12: true
16721
+ };
16722
+ break;
16653
16723
  case 'normalDateWithWeekday':
16654
16724
  options = {
16655
16725
  weekday: 'short',
@@ -16698,6 +16768,11 @@ function format(value, formatString, locale, formats) {
16698
16768
  day: 'numeric'
16699
16769
  };
16700
16770
  break;
16771
+ case 'weekdayShort':
16772
+ options = {
16773
+ weekday: 'short'
16774
+ };
16775
+ break;
16701
16776
  case 'year':
16702
16777
  options = {
16703
16778
  year: 'numeric'
@@ -16722,11 +16797,26 @@ function parseISO(value) {
16722
16797
  const [year, month, day] = value.split('-').map(Number);
16723
16798
  return new Date(year, month - 1, day);
16724
16799
  }
16800
+ function addMinutes(date, amount) {
16801
+ const d = new Date(date);
16802
+ d.setMinutes(d.getMinutes() + amount);
16803
+ return d;
16804
+ }
16805
+ function addHours(date, amount) {
16806
+ const d = new Date(date);
16807
+ d.setHours(d.getHours() + amount);
16808
+ return d;
16809
+ }
16725
16810
  function addDays(date, amount) {
16726
16811
  const d = new Date(date);
16727
16812
  d.setDate(d.getDate() + amount);
16728
16813
  return d;
16729
16814
  }
16815
+ function addWeeks(date, amount) {
16816
+ const d = new Date(date);
16817
+ d.setDate(d.getDate() + amount * 7);
16818
+ return d;
16819
+ }
16730
16820
  function addMonths(date, amount) {
16731
16821
  const d = new Date(date);
16732
16822
  d.setMonth(d.getMonth() + amount);
@@ -16741,6 +16831,12 @@ function getMonth(date) {
16741
16831
  function getNextMonth(date) {
16742
16832
  return new Date(date.getFullYear(), date.getMonth() + 1, 1);
16743
16833
  }
16834
+ function getHours(date) {
16835
+ return date.getHours();
16836
+ }
16837
+ function getMinutes(date) {
16838
+ return date.getMinutes();
16839
+ }
16744
16840
  function startOfYear(date) {
16745
16841
  return new Date(date.getFullYear(), 0, 1);
16746
16842
  }
@@ -16777,6 +16873,16 @@ function getDiff(date, comparing, unit) {
16777
16873
  }
16778
16874
  return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
16779
16875
  }
16876
+ function setHours(date, count) {
16877
+ const d = new Date(date);
16878
+ d.setHours(count);
16879
+ return d;
16880
+ }
16881
+ function setMinutes(date, count) {
16882
+ const d = new Date(date);
16883
+ d.setMinutes(count);
16884
+ return d;
16885
+ }
16780
16886
  function setMonth(date, count) {
16781
16887
  const d = new Date(date);
16782
16888
  d.setMonth(count);
@@ -16810,15 +16916,30 @@ class VuetifyDateAdapter {
16810
16916
  parseISO(date) {
16811
16917
  return parseISO(date);
16812
16918
  }
16919
+ addMinutes(date, amount) {
16920
+ return addMinutes(date, amount);
16921
+ }
16922
+ addHours(date, amount) {
16923
+ return addHours(date, amount);
16924
+ }
16813
16925
  addDays(date, amount) {
16814
16926
  return addDays(date, amount);
16815
16927
  }
16928
+ addWeeks(date, amount) {
16929
+ return addWeeks(date, amount);
16930
+ }
16816
16931
  addMonths(date, amount) {
16817
16932
  return addMonths(date, amount);
16818
16933
  }
16819
16934
  getWeekArray(date) {
16820
16935
  return getWeekArray(date, this.locale);
16821
16936
  }
16937
+ startOfWeek(date) {
16938
+ return startOfWeek(date);
16939
+ }
16940
+ endOfWeek(date) {
16941
+ return endOfWeek(date);
16942
+ }
16822
16943
  startOfMonth(date) {
16823
16944
  return startOfMonth(date);
16824
16945
  }
@@ -16849,6 +16970,12 @@ class VuetifyDateAdapter {
16849
16970
  isSameMonth(date, comparing) {
16850
16971
  return isSameMonth(date, comparing);
16851
16972
  }
16973
+ setMinutes(date, count) {
16974
+ return setMinutes(date, count);
16975
+ }
16976
+ setHours(date, count) {
16977
+ return setHours(date, count);
16978
+ }
16852
16979
  setMonth(date, count) {
16853
16980
  return setMonth(date, count);
16854
16981
  }
@@ -16870,6 +16997,12 @@ class VuetifyDateAdapter {
16870
16997
  getNextMonth(date) {
16871
16998
  return getNextMonth(date);
16872
16999
  }
17000
+ getHours(date) {
17001
+ return getHours(date);
17002
+ }
17003
+ getMinutes(date) {
17004
+ return getMinutes(date);
17005
+ }
16873
17006
  startOfDay(date) {
16874
17007
  return startOfDay(date);
16875
17008
  }
@@ -17728,35 +17861,38 @@ const VDataTableFooter = genericComponent()({
17728
17861
  title: t(option.title)
17729
17862
  };
17730
17863
  }));
17731
- useRender(() => createVNode("div", {
17732
- "class": "v-data-table-footer"
17733
- }, [slots.prepend?.(), createVNode("div", {
17734
- "class": "v-data-table-footer__items-per-page"
17735
- }, [createVNode("span", null, [t(props.itemsPerPageText)]), createVNode(VSelect, {
17736
- "items": itemsPerPageOptions.value,
17737
- "modelValue": itemsPerPage.value,
17738
- "onUpdate:modelValue": v => setItemsPerPage(Number(v)),
17739
- "density": "compact",
17740
- "variant": "outlined",
17741
- "hide-details": true
17742
- }, null)]), createVNode("div", {
17743
- "class": "v-data-table-footer__info"
17744
- }, [createVNode("div", null, [t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value)])]), createVNode("div", {
17745
- "class": "v-data-table-footer__pagination"
17746
- }, [createVNode(VPagination, {
17747
- "modelValue": page.value,
17748
- "onUpdate:modelValue": $event => page.value = $event,
17749
- "density": "comfortable",
17750
- "first-aria-label": props.firstPageLabel,
17751
- "last-aria-label": props.lastPageLabel,
17752
- "length": pageCount.value,
17753
- "next-aria-label": props.nextPageLabel,
17754
- "previous-aria-label": props.prevPageLabel,
17755
- "rounded": true,
17756
- "show-first-last-page": true,
17757
- "total-visible": props.showCurrentPage ? 1 : 0,
17758
- "variant": "plain"
17759
- }, null)])]));
17864
+ useRender(() => {
17865
+ const paginationProps = VPagination.filterProps(props);
17866
+ return createVNode("div", {
17867
+ "class": "v-data-table-footer"
17868
+ }, [slots.prepend?.(), createVNode("div", {
17869
+ "class": "v-data-table-footer__items-per-page"
17870
+ }, [createVNode("span", null, [t(props.itemsPerPageText)]), createVNode(VSelect, {
17871
+ "items": itemsPerPageOptions.value,
17872
+ "modelValue": itemsPerPage.value,
17873
+ "onUpdate:modelValue": v => setItemsPerPage(Number(v)),
17874
+ "density": "compact",
17875
+ "variant": "outlined",
17876
+ "hide-details": true
17877
+ }, null)]), createVNode("div", {
17878
+ "class": "v-data-table-footer__info"
17879
+ }, [createVNode("div", null, [t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value)])]), createVNode("div", {
17880
+ "class": "v-data-table-footer__pagination"
17881
+ }, [createVNode(VPagination, mergeProps({
17882
+ "modelValue": page.value,
17883
+ "onUpdate:modelValue": $event => page.value = $event,
17884
+ "density": "comfortable",
17885
+ "first-aria-label": props.firstPageLabel,
17886
+ "last-aria-label": props.lastPageLabel,
17887
+ "length": pageCount.value,
17888
+ "next-aria-label": props.nextPageLabel,
17889
+ "previous-aria-label": props.prevPageLabel,
17890
+ "rounded": true,
17891
+ "show-first-last-page": true,
17892
+ "total-visible": props.showCurrentPage ? 1 : 0,
17893
+ "variant": "plain"
17894
+ }, paginationProps), null)])]);
17895
+ });
17760
17896
  return {};
17761
17897
  }
17762
17898
  });
@@ -18140,7 +18276,8 @@ const VDataTableHeaders = genericComponent()({
18140
18276
  "class": ['v-data-table__th', {
18141
18277
  'v-data-table__th--sortable': column.sortable,
18142
18278
  'v-data-table__th--sorted': isSorted(column),
18143
- 'v-data-table__th--fixed': column.fixed
18279
+ 'v-data-table__th--fixed': column.fixed,
18280
+ 'v-data-table__th--sticky': props.sticky
18144
18281
  }, loaderClasses.value],
18145
18282
  "style": {
18146
18283
  width: convertToUnit(column.width),
@@ -19634,7 +19771,11 @@ const makeCalendarProps = propsFactory({
19634
19771
  max: null,
19635
19772
  min: null,
19636
19773
  showAdjacentMonths: Boolean,
19637
- year: [Number, String]
19774
+ year: [Number, String],
19775
+ weekdays: {
19776
+ type: Array,
19777
+ default: () => [0, 1, 2, 3, 4, 5, 6]
19778
+ }
19638
19779
  }, 'calendar');
19639
19780
  function useCalendar(props) {
19640
19781
  const adapter = useDate();
@@ -19675,10 +19816,10 @@ function useCalendar(props) {
19675
19816
  }
19676
19817
  return weeks;
19677
19818
  });
19678
- const daysInMonth = computed(() => {
19679
- const days = weeksInMonth.value.flat();
19680
- const today = adapter.date();
19681
- return days.map((date, index) => {
19819
+ function genDays(days, today) {
19820
+ return days.filter(date => {
19821
+ return props.weekdays.includes(date.getDay());
19822
+ }).map((date, index) => {
19682
19823
  const isoDate = adapter.toISO(date);
19683
19824
  const isAdjacent = !adapter.isSameMonth(date, month.value);
19684
19825
  const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value));
@@ -19703,6 +19844,21 @@ function useCalendar(props) {
19703
19844
  localized: adapter.format(date, 'dayOfMonth')
19704
19845
  };
19705
19846
  });
19847
+ }
19848
+ const daysInWeek = computed(() => {
19849
+ const lastDay = adapter.startOfWeek(model.value);
19850
+ const week = [];
19851
+ for (let day = 0; day <= 6; day++) {
19852
+ week.push(adapter.addDays(lastDay, day));
19853
+ }
19854
+ const days = week;
19855
+ const today = adapter.date();
19856
+ return genDays(days, today);
19857
+ });
19858
+ const daysInMonth = computed(() => {
19859
+ const days = weeksInMonth.value.flat();
19860
+ const today = adapter.date();
19861
+ return genDays(days, today);
19706
19862
  });
19707
19863
  const weekNumbers = computed(() => {
19708
19864
  return weeksInMonth.value.map(week => {
@@ -19725,6 +19881,8 @@ function useCalendar(props) {
19725
19881
  return {
19726
19882
  displayValue,
19727
19883
  daysInMonth,
19884
+ daysInWeek,
19885
+ genDays,
19728
19886
  model,
19729
19887
  weeksInMonth,
19730
19888
  weekNumbers
@@ -19787,7 +19945,7 @@ const VDatePickerMonth = genericComponent()({
19787
19945
  "class": "v-date-picker-month__days"
19788
19946
  }, [!props.hideWeekdays && adapter.getWeekdays().map(weekDay => createVNode("div", {
19789
19947
  "class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
19790
- }, [weekDay])), daysInMonth.value.map((item, i) => {
19948
+ }, [weekDay[0]])), daysInMonth.value.map((item, i) => {
19791
19949
  const slotProps = {
19792
19950
  props: {
19793
19951
  onClick: () => onClick(item.date)
@@ -20215,7 +20373,10 @@ const VDatePicker = genericComponent()({
20215
20373
  "key": "header"
20216
20374
  }, datePickerHeaderProps, headerProps, {
20217
20375
  "onClick": viewMode.value !== 'month' ? onClickDate : undefined
20218
- }), slots),
20376
+ }), {
20377
+ ...slots,
20378
+ default: undefined
20379
+ }),
20219
20380
  default: () => createVNode(Fragment, null, [createVNode(VDatePickerControls, mergeProps(datePickerControlsProps, {
20220
20381
  "disabled": disabled.value,
20221
20382
  "text": text.value,
@@ -25230,7 +25391,7 @@ function createVuetify$1() {
25230
25391
  date
25231
25392
  };
25232
25393
  }
25233
- const version$1 = "3.4.8";
25394
+ const version$1 = "3.4.10";
25234
25395
  createVuetify$1.version = version$1;
25235
25396
 
25236
25397
  // Vue's inject() can only be used in setup
@@ -25255,7 +25416,7 @@ const createVuetify = function () {
25255
25416
  ...options
25256
25417
  });
25257
25418
  };
25258
- const version = "3.4.8";
25419
+ const version = "3.4.10";
25259
25420
  createVuetify.version = version;
25260
25421
 
25261
25422
  export { components, createVuetify, directives, useDate, useDefaults, useDisplay, useLayout, useLocale, useRtl, useTheme, version };