vuetify 3.1.4 → 3.1.5

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 (463) hide show
  1. package/dist/json/attributes.json +2734 -2738
  2. package/dist/json/importMap.json +58 -58
  3. package/dist/json/tags.json +0 -1
  4. package/dist/json/web-types.json +9073 -6416
  5. package/dist/vuetify-labs.css +3038 -5928
  6. package/dist/vuetify-labs.d.ts +12865 -20825
  7. package/dist/vuetify-labs.esm.js +1580 -1859
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +1579 -1858
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +120 -3019
  12. package/dist/vuetify.d.ts +12208 -20176
  13. package/dist/vuetify.esm.js +1406 -1686
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +1405 -1685
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +1099 -1323
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/blueprints/index.d.ts +9 -9
  21. package/lib/blueprints/md1.d.ts +9 -9
  22. package/lib/blueprints/md2.d.ts +9 -9
  23. package/lib/blueprints/md3.d.ts +9 -9
  24. package/lib/blueprints/md3.mjs.map +1 -1
  25. package/lib/components/VAlert/VAlert.mjs +5 -6
  26. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  27. package/lib/components/VAlert/index.d.ts +135 -157
  28. package/lib/components/VApp/VApp.mjs +9 -12
  29. package/lib/components/VApp/VApp.mjs.map +1 -1
  30. package/lib/components/VApp/index.d.ts +27 -13
  31. package/lib/components/VAppBar/VAppBar.mjs +9 -5
  32. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  33. package/lib/components/VAppBar/VAppBarNavIcon.mjs +2 -2
  34. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  35. package/lib/components/VAppBar/VAppBarTitle.mjs +2 -2
  36. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  37. package/lib/components/VAppBar/index.d.ts +169 -350
  38. package/lib/components/VAutocomplete/VAutocomplete.mjs +100 -104
  39. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  40. package/lib/components/VAutocomplete/index.d.ts +494 -636
  41. package/lib/components/VAvatar/VAvatar.mjs +19 -22
  42. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  43. package/lib/components/VAvatar/index.d.ts +46 -66
  44. package/lib/components/VBadge/VBadge.mjs +7 -5
  45. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  46. package/lib/components/VBadge/index.d.ts +74 -100
  47. package/lib/components/VBanner/VBanner.mjs +3 -4
  48. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  49. package/lib/components/VBanner/VBannerActions.mjs +5 -8
  50. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  51. package/lib/components/VBanner/index.d.ts +134 -98
  52. package/lib/components/VBottomNavigation/VBottomNavigation.css +2 -1
  53. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +8 -4
  54. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  55. package/lib/components/VBottomNavigation/VBottomNavigation.sass +2 -1
  56. package/lib/components/VBottomNavigation/_variables.scss +1 -1
  57. package/lib/components/VBottomNavigation/index.d.ts +67 -131
  58. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +9 -16
  59. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  60. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +5 -8
  61. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  62. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +4 -8
  63. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  64. package/lib/components/VBreadcrumbs/index.d.ts +87 -61
  65. package/lib/components/VBtn/VBtn.mjs +14 -17
  66. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  67. package/lib/components/VBtn/index.d.ts +118 -179
  68. package/lib/components/VBtnGroup/VBtnGroup.mjs +5 -2
  69. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  70. package/lib/components/VBtnGroup/index.d.ts +42 -57
  71. package/lib/components/VBtnToggle/VBtnToggle.mjs +1 -2
  72. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  73. package/lib/components/VBtnToggle/index.d.ts +60 -247
  74. package/lib/components/VCalendar/mixins/mouse.mjs +2 -3
  75. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  76. package/lib/components/VCard/VCard.mjs +5 -6
  77. package/lib/components/VCard/VCard.mjs.map +1 -1
  78. package/lib/components/VCard/VCardActions.mjs +5 -8
  79. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  80. package/lib/components/VCard/VCardItem.mjs +7 -8
  81. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  82. package/lib/components/VCard/index.d.ts +286 -186
  83. package/lib/components/VCarousel/VCarousel.mjs +2 -2
  84. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  85. package/lib/components/VCarousel/VCarouselItem.mjs +2 -2
  86. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  87. package/lib/components/VCarousel/index.d.ts +238 -61
  88. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  89. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  90. package/lib/components/VCheckbox/VCheckboxBtn.mjs +2 -2
  91. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  92. package/lib/components/VCheckbox/index.d.ts +277 -254
  93. package/lib/components/VChip/VChip.mjs +15 -14
  94. package/lib/components/VChip/VChip.mjs.map +1 -1
  95. package/lib/components/VChip/index.d.ts +118 -168
  96. package/lib/components/VChipGroup/VChipGroup.css +1 -0
  97. package/lib/components/VChipGroup/VChipGroup.mjs +15 -18
  98. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  99. package/lib/components/VChipGroup/VChipGroup.sass +1 -0
  100. package/lib/components/VChipGroup/index.d.ts +49 -68
  101. package/lib/components/VCode/index.d.ts +21 -9
  102. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +4 -9
  103. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  104. package/lib/components/VColorPicker/VColorPickerEdit.mjs +12 -16
  105. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  106. package/lib/components/VColorPicker/VColorPickerPreview.mjs +43 -46
  107. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  108. package/lib/components/VColorPicker/index.d.ts +1 -1
  109. package/lib/components/VColorPicker/util/index.mjs +1 -2
  110. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  111. package/lib/components/VCombobox/VCombobox.mjs +104 -113
  112. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  113. package/lib/components/VCombobox/index.d.ts +496 -638
  114. package/lib/components/VCounter/VCounter.mjs +2 -2
  115. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  116. package/lib/components/VCounter/index.d.ts +139 -197
  117. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +4 -9
  118. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  119. package/lib/components/VDefaultsProvider/index.d.ts +33 -14
  120. package/lib/components/VDialog/VDialog.mjs +6 -9
  121. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  122. package/lib/components/VDialog/index.d.ts +430 -1610
  123. package/lib/components/VDivider/VDivider.mjs +2 -2
  124. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  125. package/lib/components/VDivider/index.d.ts +35 -15
  126. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +4 -5
  127. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  128. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +11 -14
  129. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  130. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +19 -22
  131. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  132. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +2 -2
  133. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  134. package/lib/components/VExpansionPanel/index.d.ts +180 -158
  135. package/lib/components/VField/VField.mjs +3 -6
  136. package/lib/components/VField/VField.mjs.map +1 -1
  137. package/lib/components/VField/VFieldLabel.mjs +2 -2
  138. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  139. package/lib/components/VField/index.d.ts +46 -34
  140. package/lib/components/VFileInput/VFileInput.mjs +16 -18
  141. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  142. package/lib/components/VFileInput/index.d.ts +330 -355
  143. package/lib/components/VFooter/VFooter.mjs +2 -2
  144. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  145. package/lib/components/VFooter/index.d.ts +45 -65
  146. package/lib/components/VForm/VForm.mjs +10 -14
  147. package/lib/components/VForm/VForm.mjs.map +1 -1
  148. package/lib/components/VForm/index.d.ts +29 -23
  149. package/lib/components/VGrid/VCol.mjs +5 -8
  150. package/lib/components/VGrid/VCol.mjs.map +1 -1
  151. package/lib/components/VGrid/VContainer.mjs +2 -2
  152. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  153. package/lib/components/VGrid/VGrid.css +0 -125
  154. package/lib/components/VGrid/VRow.mjs +5 -8
  155. package/lib/components/VGrid/VRow.mjs.map +1 -1
  156. package/lib/components/VGrid/index.d.ts +112 -121
  157. package/lib/components/VHover/VHover.mjs +9 -12
  158. package/lib/components/VHover/VHover.mjs.map +1 -1
  159. package/lib/components/VHover/index.d.ts +53 -15
  160. package/lib/components/VIcon/VIcon.mjs +22 -26
  161. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  162. package/lib/components/VIcon/index.d.ts +68 -56
  163. package/lib/components/VImg/VImg.mjs +7 -11
  164. package/lib/components/VImg/VImg.mjs.map +1 -1
  165. package/lib/components/VImg/index.d.ts +67 -58
  166. package/lib/components/VInput/VInput.mjs +5 -6
  167. package/lib/components/VInput/VInput.mjs.map +1 -1
  168. package/lib/components/VInput/index.d.ts +94 -283
  169. package/lib/components/VItemGroup/VItem.mjs +8 -11
  170. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  171. package/lib/components/VItemGroup/VItemGroup.mjs +13 -16
  172. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  173. package/lib/components/VItemGroup/index.d.ts +76 -149
  174. package/lib/components/VKbd/index.d.ts +21 -9
  175. package/lib/components/VLabel/VLabel.mjs +7 -10
  176. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  177. package/lib/components/VLabel/index.d.ts +29 -9
  178. package/lib/components/VLayout/VLayout.mjs +9 -12
  179. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  180. package/lib/components/VLayout/VLayoutItem.mjs +6 -9
  181. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  182. package/lib/components/VLayout/index.d.ts +60 -43
  183. package/lib/components/VLazy/VLazy.mjs +12 -15
  184. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  185. package/lib/components/VLazy/index.d.ts +48 -71
  186. package/lib/components/VList/VList.mjs +4 -8
  187. package/lib/components/VList/VList.mjs.map +1 -1
  188. package/lib/components/VList/VListChildren.mjs +59 -77
  189. package/lib/components/VList/VListChildren.mjs.map +1 -1
  190. package/lib/components/VList/VListGroup.mjs +33 -39
  191. package/lib/components/VList/VListGroup.mjs.map +1 -1
  192. package/lib/components/VList/VListItem.css +2 -2
  193. package/lib/components/VList/VListItem.mjs +10 -18
  194. package/lib/components/VList/VListItem.mjs.map +1 -1
  195. package/lib/components/VList/VListItem.sass +0 -2
  196. package/lib/components/VList/VListItemAction.mjs +2 -2
  197. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  198. package/lib/components/VList/VListItemMedia.mjs +2 -2
  199. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  200. package/lib/components/VList/VListSubheader.mjs +3 -4
  201. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  202. package/lib/components/VList/index.d.ts +418 -686
  203. package/lib/components/VList/list.mjs +1 -1
  204. package/lib/components/VList/list.mjs.map +1 -1
  205. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -8
  206. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  207. package/lib/components/VLocaleProvider/index.d.ts +28 -16
  208. package/lib/components/VMain/VMain.mjs +12 -15
  209. package/lib/components/VMain/VMain.mjs.map +1 -1
  210. package/lib/components/VMain/index.d.ts +23 -17
  211. package/lib/components/VMenu/VMenu.mjs +10 -10
  212. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  213. package/lib/components/VMenu/index.d.ts +428 -1641
  214. package/lib/components/VMessages/VMessages.mjs +2 -2
  215. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  216. package/lib/components/VMessages/index.d.ts +144 -204
  217. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +6 -7
  218. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  219. package/lib/components/VNavigationDrawer/index.d.ts +92 -124
  220. package/lib/components/VNoSsr/VNoSsr.mjs +1 -4
  221. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  222. package/lib/components/VNoSsr/index.d.ts +20 -4
  223. package/lib/components/VOtpInput/VOtpInput.mjs +5 -6
  224. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  225. package/lib/components/VOverlay/VOverlay.mjs +44 -47
  226. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  227. package/lib/components/VOverlay/index.d.ts +150 -468
  228. package/lib/components/VOverlay/locationStrategies.mjs +3 -6
  229. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  230. package/lib/components/VOverlay/scrollStrategies.mjs +7 -12
  231. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  232. package/lib/components/VOverlay/useActivator.mjs +4 -7
  233. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  234. package/lib/components/VPagination/VPagination.mjs +4 -5
  235. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  236. package/lib/components/VPagination/index.d.ts +107 -207
  237. package/lib/components/VParallax/VParallax.mjs +12 -15
  238. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  239. package/lib/components/VParallax/index.d.ts +39 -9
  240. package/lib/components/VProgressCircular/VProgressCircular.mjs +2 -2
  241. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  242. package/lib/components/VProgressCircular/index.d.ts +41 -58
  243. package/lib/components/VProgressLinear/VProgressLinear.mjs +2 -2
  244. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  245. package/lib/components/VProgressLinear/index.d.ts +91 -95
  246. package/lib/components/VRadio/VRadio.mjs +2 -2
  247. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  248. package/lib/components/VRadio/index.d.ts +108 -85
  249. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -2
  250. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  251. package/lib/components/VRadioGroup/index.d.ts +164 -147
  252. package/lib/components/VRangeSlider/VRangeSlider.mjs +21 -31
  253. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  254. package/lib/components/VRangeSlider/index.d.ts +154 -210
  255. package/lib/components/VRating/VRating.mjs +28 -34
  256. package/lib/components/VRating/VRating.mjs.map +1 -1
  257. package/lib/components/VRating/index.d.ts +77 -311
  258. package/lib/components/VResponsive/VResponsive.mjs +11 -14
  259. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  260. package/lib/components/VResponsive/index.d.ts +44 -20
  261. package/lib/components/VSelect/VSelect.mjs +100 -102
  262. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  263. package/lib/components/VSelect/index.d.ts +729 -673
  264. package/lib/components/VSelectionControl/VSelectionControl.mjs +3 -4
  265. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  266. package/lib/components/VSelectionControl/index.d.ts +31 -19
  267. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +8 -11
  268. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  269. package/lib/components/VSelectionControlGroup/index.d.ts +58 -70
  270. package/lib/components/VSheet/VSheet.mjs +2 -2
  271. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  272. package/lib/components/VSheet/index.d.ts +52 -56
  273. package/lib/components/VSlideGroup/VSlideGroup.mjs +51 -60
  274. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  275. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +6 -9
  276. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  277. package/lib/components/VSlideGroup/index.d.ts +144 -366
  278. package/lib/components/VSlider/VSlider.mjs +8 -14
  279. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  280. package/lib/components/VSlider/VSliderThumb.css +0 -1
  281. package/lib/components/VSlider/VSliderThumb.mjs +4 -5
  282. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  283. package/lib/components/VSlider/VSliderTrack.mjs +4 -5
  284. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  285. package/lib/components/VSlider/index.d.ts +151 -207
  286. package/lib/components/VSlider/slider.mjs +3 -6
  287. package/lib/components/VSlider/slider.mjs.map +1 -1
  288. package/lib/components/VSnackbar/VSnackbar.mjs +1 -1
  289. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  290. package/lib/components/VSnackbar/index.d.ts +358 -1519
  291. package/lib/components/VSwitch/VSwitch.mjs +3 -4
  292. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  293. package/lib/components/VSwitch/index.d.ts +180 -151
  294. package/lib/components/VSystemBar/VSystemBar.mjs +8 -4
  295. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  296. package/lib/components/VSystemBar/index.d.ts +43 -51
  297. package/lib/components/VTable/VTable.mjs +19 -22
  298. package/lib/components/VTable/VTable.mjs.map +1 -1
  299. package/lib/components/VTable/index.d.ts +54 -30
  300. package/lib/components/VTabs/VTab.mjs +3 -4
  301. package/lib/components/VTabs/VTab.mjs.map +1 -1
  302. package/lib/components/VTabs/VTabs.mjs +2 -2
  303. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  304. package/lib/components/VTabs/index.d.ts +122 -150
  305. package/lib/components/VTextField/VTextField.mjs +16 -19
  306. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  307. package/lib/components/VTextField/index.d.ts +331 -1489
  308. package/lib/components/VTextarea/VTextarea.mjs +17 -19
  309. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  310. package/lib/components/VTextarea/index.d.ts +320 -334
  311. package/lib/components/VThemeProvider/VThemeProvider.mjs +4 -5
  312. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  313. package/lib/components/VThemeProvider/index.d.ts +27 -13
  314. package/lib/components/VTimeline/VTimeline.mjs +2 -2
  315. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  316. package/lib/components/VTimeline/VTimelineDivider.mjs +20 -23
  317. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  318. package/lib/components/VTimeline/VTimelineItem.mjs +33 -34
  319. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  320. package/lib/components/VTimeline/index.d.ts +123 -135
  321. package/lib/components/VToolbar/VToolbar.css +1 -0
  322. package/lib/components/VToolbar/VToolbar.mjs +7 -9
  323. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  324. package/lib/components/VToolbar/VToolbar.sass +1 -0
  325. package/lib/components/VToolbar/VToolbarItems.mjs +5 -8
  326. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  327. package/lib/components/VToolbar/VToolbarTitle.mjs +1 -2
  328. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  329. package/lib/components/VToolbar/index.d.ts +146 -351
  330. package/lib/components/VTooltip/VTooltip.mjs +1 -2
  331. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  332. package/lib/components/VTooltip/index.d.ts +361 -1619
  333. package/lib/components/VValidation/VValidation.mjs +3 -6
  334. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  335. package/lib/components/VValidation/index.d.ts +48 -46
  336. package/lib/components/VWindow/VWindow.mjs +19 -22
  337. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  338. package/lib/components/VWindow/VWindowItem.mjs +10 -14
  339. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  340. package/lib/components/VWindow/index.d.ts +152 -284
  341. package/lib/components/index.d.ts +13684 -21652
  342. package/lib/components/transitions/createTransition.mjs +4 -4
  343. package/lib/components/transitions/createTransition.mjs.map +1 -1
  344. package/lib/components/transitions/dialog-transition.mjs +8 -8
  345. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  346. package/lib/components/transitions/index.d.ts +477 -342
  347. package/lib/composables/defaults.mjs +6 -4
  348. package/lib/composables/defaults.mjs.map +1 -1
  349. package/lib/composables/delay.mjs +1 -1
  350. package/lib/composables/delay.mjs.map +1 -1
  351. package/lib/composables/filter.mjs +11 -12
  352. package/lib/composables/filter.mjs.map +1 -1
  353. package/lib/composables/group.mjs +2 -2
  354. package/lib/composables/group.mjs.map +1 -1
  355. package/lib/composables/icons.mjs +4 -6
  356. package/lib/composables/icons.mjs.map +1 -1
  357. package/lib/composables/intersectionObserver.mjs +1 -1
  358. package/lib/composables/intersectionObserver.mjs.map +1 -1
  359. package/lib/composables/layout.mjs +2 -5
  360. package/lib/composables/layout.mjs.map +1 -1
  361. package/lib/composables/loader.mjs +2 -3
  362. package/lib/composables/loader.mjs.map +1 -1
  363. package/lib/composables/locale.mjs +2 -2
  364. package/lib/composables/locale.mjs.map +1 -1
  365. package/lib/composables/mutationObserver.mjs +8 -8
  366. package/lib/composables/mutationObserver.mjs.map +1 -1
  367. package/lib/composables/nested/selectStrategies.mjs +1 -1
  368. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  369. package/lib/composables/proxiedModel.mjs +9 -10
  370. package/lib/composables/proxiedModel.mjs.map +1 -1
  371. package/lib/composables/resizeObserver.mjs +1 -1
  372. package/lib/composables/resizeObserver.mjs.map +1 -1
  373. package/lib/composables/router.mjs +12 -21
  374. package/lib/composables/router.mjs.map +1 -1
  375. package/lib/composables/scroll.mjs +2 -4
  376. package/lib/composables/scroll.mjs.map +1 -1
  377. package/lib/composables/selectLink.mjs +1 -4
  378. package/lib/composables/selectLink.mjs.map +1 -1
  379. package/lib/composables/stack.mjs +6 -8
  380. package/lib/composables/stack.mjs.map +1 -1
  381. package/lib/composables/teleport.mjs +1 -1
  382. package/lib/composables/teleport.mjs.map +1 -1
  383. package/lib/composables/theme.mjs +2 -3
  384. package/lib/composables/theme.mjs.map +1 -1
  385. package/lib/composables/toggleScope.mjs +3 -6
  386. package/lib/composables/toggleScope.mjs.map +1 -1
  387. package/lib/composables/touch.mjs +1 -2
  388. package/lib/composables/touch.mjs.map +1 -1
  389. package/lib/composables/validation.mjs +7 -7
  390. package/lib/composables/validation.mjs.map +1 -1
  391. package/lib/directives/click-outside/index.mjs +2 -3
  392. package/lib/directives/click-outside/index.mjs.map +1 -1
  393. package/lib/directives/index.d.ts +1 -1
  394. package/lib/directives/intersect/index.mjs +2 -4
  395. package/lib/directives/intersect/index.mjs.map +1 -1
  396. package/lib/directives/mutate/index.mjs +7 -8
  397. package/lib/directives/mutate/index.mjs.map +1 -1
  398. package/lib/directives/resize/index.mjs +3 -5
  399. package/lib/directives/resize/index.mjs.map +1 -1
  400. package/lib/directives/ripple/index.mjs +8 -13
  401. package/lib/directives/ripple/index.mjs.map +1 -1
  402. package/lib/directives/scroll/index.mjs +1 -2
  403. package/lib/directives/scroll/index.mjs.map +1 -1
  404. package/lib/directives/touch/index.mjs +9 -14
  405. package/lib/directives/touch/index.mjs.map +1 -1
  406. package/lib/entry-bundler.mjs +1 -1
  407. package/lib/framework.mjs +2 -3
  408. package/lib/framework.mjs.map +1 -1
  409. package/lib/iconsets/fa-svg.d.ts +2 -2
  410. package/lib/iconsets/fa.d.ts +2 -2
  411. package/lib/iconsets/fa4.d.ts +2 -2
  412. package/lib/iconsets/md.d.ts +2 -2
  413. package/lib/iconsets/mdi-svg.d.ts +2 -2
  414. package/lib/iconsets/mdi.d.ts +2 -2
  415. package/lib/index.d.ts +27 -27
  416. package/lib/labs/VDataTable/VDataTable.mjs +11 -14
  417. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  418. package/lib/labs/VDataTable/VDataTableColumn.mjs +1 -2
  419. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
  420. package/lib/labs/VDataTable/VDataTableFooter.css +9 -0
  421. package/lib/labs/VDataTable/VDataTableFooter.mjs +80 -45
  422. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  423. package/lib/labs/VDataTable/VDataTableFooter.sass +7 -0
  424. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +6 -8
  425. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  426. package/lib/labs/VDataTable/VDataTableHeaders.mjs +3 -4
  427. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  428. package/lib/labs/VDataTable/VDataTableRow.mjs +2 -4
  429. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  430. package/lib/labs/VDataTable/VDataTableRows.mjs +45 -49
  431. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  432. package/lib/labs/VDataTable/VDataTableServer.mjs +16 -19
  433. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  434. package/lib/labs/VDataTable/VDataTableVirtual.mjs +2 -2
  435. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  436. package/lib/labs/VDataTable/composables/headers.mjs +3 -4
  437. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  438. package/lib/labs/VDataTable/composables/paginate.mjs +1 -6
  439. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  440. package/lib/labs/VDataTable/composables/sort.mjs +1 -1
  441. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  442. package/lib/labs/VDataTable/index.d.ts +583 -575
  443. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs +11 -15
  444. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  445. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs +7 -13
  446. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  447. package/lib/labs/VVirtualScroll/index.d.ts +18 -18
  448. package/lib/labs/components.d.ts +601 -593
  449. package/lib/locale/adapters/vue-i18n.d.ts +1 -1
  450. package/lib/locale/adapters/vuetify.mjs +3 -3
  451. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  452. package/lib/styles/main.css +40 -2816
  453. package/lib/util/console.mjs +1 -1
  454. package/lib/util/console.mjs.map +1 -1
  455. package/lib/util/createSimpleFunctional.mjs +5 -8
  456. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  457. package/lib/util/defineComponent.mjs +6 -8
  458. package/lib/util/defineComponent.mjs.map +1 -1
  459. package/lib/util/getCurrentInstance.mjs +1 -1
  460. package/lib/util/getCurrentInstance.mjs.map +1 -1
  461. package/lib/util/helpers.mjs +2 -3
  462. package/lib/util/helpers.mjs.map +1 -1
  463. package/package.json +19 -19
@@ -2,68 +2,64 @@ import * as vue from 'vue';
2
2
 
3
3
  declare const block: readonly ["top", "bottom"];
4
4
  declare const inline: readonly ["start", "end", "left", "right"];
5
- declare type Tblock = typeof block[number];
6
- declare type Tinline = typeof inline[number];
7
- declare type Anchor = Tblock | Tinline | 'center' | 'center center' | `${Tblock} ${Tinline | 'center'}` | `${Tinline} ${Tblock | 'center'}`;
5
+ type Tblock = typeof block[number];
6
+ type Tinline = typeof inline[number];
7
+ type Anchor = Tblock | Tinline | 'center' | 'center center' | `${Tblock} ${Tinline | 'center'}` | `${Tinline} ${Tblock | 'center'}`;
8
8
 
9
9
  declare const VSheet: vue.DefineComponent<{
10
- theme: StringConstructor;
11
- tag: {
12
- type: StringConstructor;
13
- default: string;
14
- };
15
- rounded: {
16
- type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
17
- default: undefined;
18
- };
19
- position: {
20
- type: vue.PropType<"fixed" | "absolute" | "static" | "relative" | "sticky">;
21
- validator: (v: any) => boolean;
22
- };
23
- location: vue.PropType<Anchor>;
24
- elevation: {
25
- type: (StringConstructor | NumberConstructor)[];
26
- validator(v: any): boolean;
27
- };
28
- height: (StringConstructor | NumberConstructor)[];
29
- maxHeight: (StringConstructor | NumberConstructor)[];
30
- maxWidth: (StringConstructor | NumberConstructor)[];
31
- minHeight: (StringConstructor | NumberConstructor)[];
32
- minWidth: (StringConstructor | NumberConstructor)[];
33
- width: (StringConstructor | NumberConstructor)[];
34
- border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
35
- color: StringConstructor;
36
- }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
37
- theme: StringConstructor;
38
- tag: {
39
- type: StringConstructor;
40
- default: string;
41
- };
42
- rounded: {
43
- type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
44
- default: undefined;
45
- };
46
- position: {
47
- type: vue.PropType<"fixed" | "absolute" | "static" | "relative" | "sticky">;
48
- validator: (v: any) => boolean;
10
+ tag: string;
11
+ } & {
12
+ location?: Anchor | undefined;
13
+ height?: string | number | undefined;
14
+ width?: string | number | undefined;
15
+ border?: string | number | boolean | undefined;
16
+ color?: string | undefined;
17
+ maxHeight?: string | number | undefined;
18
+ maxWidth?: string | number | undefined;
19
+ minHeight?: string | number | undefined;
20
+ minWidth?: string | number | undefined;
21
+ position?: "fixed" | "absolute" | "static" | "relative" | "sticky" | undefined;
22
+ elevation?: string | number | undefined;
23
+ theme?: string | undefined;
24
+ rounded?: string | number | boolean | undefined;
25
+ } & {
26
+ $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
27
+ default?: (() => vue.VNodeChild) | undefined;
49
28
  };
50
- location: vue.PropType<Anchor>;
51
- elevation: {
52
- type: (StringConstructor | NumberConstructor)[];
53
- validator(v: any): boolean;
29
+ 'v-slots'?: {
30
+ default?: false | (() => vue.VNodeChild) | undefined;
31
+ } | undefined;
32
+ } & {
33
+ "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
34
+ }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
35
+ tag: string;
36
+ } & {
37
+ location?: Anchor | undefined;
38
+ height?: string | number | undefined;
39
+ width?: string | number | undefined;
40
+ border?: string | number | boolean | undefined;
41
+ color?: string | undefined;
42
+ maxHeight?: string | number | undefined;
43
+ maxWidth?: string | number | undefined;
44
+ minHeight?: string | number | undefined;
45
+ minWidth?: string | number | undefined;
46
+ position?: "fixed" | "absolute" | "static" | "relative" | "sticky" | undefined;
47
+ elevation?: string | number | undefined;
48
+ theme?: string | undefined;
49
+ rounded?: string | number | boolean | undefined;
50
+ } & {
51
+ $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
52
+ default?: (() => vue.VNodeChild) | undefined;
54
53
  };
55
- height: (StringConstructor | NumberConstructor)[];
56
- maxHeight: (StringConstructor | NumberConstructor)[];
57
- maxWidth: (StringConstructor | NumberConstructor)[];
58
- minHeight: (StringConstructor | NumberConstructor)[];
59
- minWidth: (StringConstructor | NumberConstructor)[];
60
- width: (StringConstructor | NumberConstructor)[];
61
- border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
62
- color: StringConstructor;
63
- }>>, {
54
+ 'v-slots'?: {
55
+ default?: false | (() => vue.VNodeChild) | undefined;
56
+ } | undefined;
57
+ } & {
58
+ "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
59
+ }, {
64
60
  tag: string;
65
61
  rounded: string | number | boolean;
66
62
  }>;
67
- declare type VSheet = InstanceType<typeof VSheet>;
63
+ type VSheet = InstanceType<typeof VSheet>;
68
64
 
69
65
  export { VSheet };
@@ -173,8 +173,7 @@ export const VSlideGroup = genericComponent()({
173
173
  isFocused.value = false;
174
174
  }
175
175
  function onFocus(e) {
176
- var _contentRef$value;
177
- if (!isFocused.value && !(e.relatedTarget && (_contentRef$value = contentRef.value) != null && _contentRef$value.contains(e.relatedTarget))) focus();
176
+ if (!isFocused.value && !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget))) focus();
178
177
  }
179
178
  function onKeydown(e) {
180
179
  if (!contentRef.value) return;
@@ -200,23 +199,18 @@ export const VSlideGroup = genericComponent()({
200
199
  function focus(location) {
201
200
  if (!contentRef.value) return;
202
201
  if (!location) {
203
- var _focusable$;
204
202
  const focusable = [...contentRef.value.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')].filter(el => !el.hasAttribute('disabled'));
205
- (_focusable$ = focusable[0]) == null ? void 0 : _focusable$.focus();
203
+ focusable[0]?.focus();
206
204
  } else if (location === 'next') {
207
- var _contentRef$value$que;
208
- const el = (_contentRef$value$que = contentRef.value.querySelector(':focus')) == null ? void 0 : _contentRef$value$que.nextElementSibling;
205
+ const el = contentRef.value.querySelector(':focus')?.nextElementSibling;
209
206
  if (el) el.focus();else focus('first');
210
207
  } else if (location === 'prev') {
211
- var _contentRef$value$que2;
212
- const el = (_contentRef$value$que2 = contentRef.value.querySelector(':focus')) == null ? void 0 : _contentRef$value$que2.previousElementSibling;
208
+ const el = contentRef.value.querySelector(':focus')?.previousElementSibling;
213
209
  if (el) el.focus();else focus('last');
214
210
  } else if (location === 'first') {
215
- var _contentRef$value$fir;
216
- (_contentRef$value$fir = contentRef.value.firstElementChild) == null ? void 0 : _contentRef$value$fir.focus();
211
+ contentRef.value.firstElementChild?.focus();
217
212
  } else if (location === 'last') {
218
- var _contentRef$value$las;
219
- (_contentRef$value$las = contentRef.value.lastElementChild) == null ? void 0 : _contentRef$value$las.focus();
213
+ contentRef.value.lastElementChild?.focus();
220
214
  }
221
215
  }
222
216
  function scrollTo(location) {
@@ -277,55 +271,52 @@ export const VSlideGroup = genericComponent()({
277
271
  // Check one scroll ahead to know the width of right-most item
278
272
  return contentSize.value > Math.abs(scrollOffset.value) + containerSize.value;
279
273
  });
280
- useRender(() => {
281
- var _slots$prev, _slots$default, _slots$next;
282
- return _createVNode(props.tag, {
283
- "class": ['v-slide-group', {
284
- 'v-slide-group--vertical': !isHorizontal.value,
285
- 'v-slide-group--has-affixes': hasAffixes.value,
286
- 'v-slide-group--is-overflowing': isOverflowing.value
274
+ useRender(() => _createVNode(props.tag, {
275
+ "class": ['v-slide-group', {
276
+ 'v-slide-group--vertical': !isHorizontal.value,
277
+ 'v-slide-group--has-affixes': hasAffixes.value,
278
+ 'v-slide-group--is-overflowing': isOverflowing.value
279
+ }],
280
+ "tabindex": isFocused.value || group.selected.value.length ? -1 : 0,
281
+ "onFocus": onFocus
282
+ }, {
283
+ default: () => [hasAffixes.value && _createVNode("div", {
284
+ "key": "prev",
285
+ "class": ['v-slide-group__prev', {
286
+ 'v-slide-group__prev--disabled': !hasPrev.value
287
287
  }],
288
- "tabindex": isFocused.value || group.selected.value.length ? -1 : 0,
289
- "onFocus": onFocus
290
- }, {
291
- default: () => [hasAffixes.value && _createVNode("div", {
292
- "key": "prev",
293
- "class": ['v-slide-group__prev', {
294
- 'v-slide-group__prev--disabled': !hasPrev.value
295
- }],
296
- "onClick": () => scrollTo('prev')
297
- }, [((_slots$prev = slots.prev) == null ? void 0 : _slots$prev.call(slots, slotProps.value)) ?? _createVNode(VFadeTransition, null, {
298
- default: () => [_createVNode(VIcon, {
299
- "icon": isRtl.value ? props.nextIcon : props.prevIcon
300
- }, null)]
301
- })]), _createVNode("div", {
302
- "key": "container",
303
- "ref": containerRef,
304
- "class": "v-slide-group__container",
305
- "onScroll": onScroll
306
- }, [_createVNode("div", {
307
- "ref": contentRef,
308
- "class": "v-slide-group__content",
309
- "style": contentStyles.value,
310
- "onTouchstartPassive": onTouchstart,
311
- "onTouchmovePassive": onTouchmove,
312
- "onTouchendPassive": onTouchend,
313
- "onFocusin": onFocusin,
314
- "onFocusout": onFocusout,
315
- "onKeydown": onKeydown
316
- }, [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, slotProps.value)])]), hasAffixes.value && _createVNode("div", {
317
- "key": "next",
318
- "class": ['v-slide-group__next', {
319
- 'v-slide-group__next--disabled': !hasNext.value
320
- }],
321
- "onClick": () => scrollTo('next')
322
- }, [((_slots$next = slots.next) == null ? void 0 : _slots$next.call(slots, slotProps.value)) ?? _createVNode(VFadeTransition, null, {
323
- default: () => [_createVNode(VIcon, {
324
- "icon": isRtl.value ? props.prevIcon : props.nextIcon
325
- }, null)]
326
- })])]
327
- });
328
- });
288
+ "onClick": () => scrollTo('prev')
289
+ }, [slots.prev?.(slotProps.value) ?? _createVNode(VFadeTransition, null, {
290
+ default: () => [_createVNode(VIcon, {
291
+ "icon": isRtl.value ? props.nextIcon : props.prevIcon
292
+ }, null)]
293
+ })]), _createVNode("div", {
294
+ "key": "container",
295
+ "ref": containerRef,
296
+ "class": "v-slide-group__container",
297
+ "onScroll": onScroll
298
+ }, [_createVNode("div", {
299
+ "ref": contentRef,
300
+ "class": "v-slide-group__content",
301
+ "style": contentStyles.value,
302
+ "onTouchstartPassive": onTouchstart,
303
+ "onTouchmovePassive": onTouchmove,
304
+ "onTouchendPassive": onTouchend,
305
+ "onFocusin": onFocusin,
306
+ "onFocusout": onFocusout,
307
+ "onKeydown": onKeydown
308
+ }, [slots.default?.(slotProps.value)])]), hasAffixes.value && _createVNode("div", {
309
+ "key": "next",
310
+ "class": ['v-slide-group__next', {
311
+ 'v-slide-group__next--disabled': !hasNext.value
312
+ }],
313
+ "onClick": () => scrollTo('next')
314
+ }, [slots.next?.(slotProps.value) ?? _createVNode(VFadeTransition, null, {
315
+ default: () => [_createVNode(VIcon, {
316
+ "icon": isRtl.value ? props.prevIcon : props.nextIcon
317
+ }, null)]
318
+ })])]
319
+ }));
329
320
  return {
330
321
  selected: group.selected,
331
322
  scrollTo,
@@ -1 +1 @@
1
- {"version":3,"file":"VSlideGroup.mjs","names":["VFadeTransition","VIcon","IconValue","makeGroupProps","useGroup","makeTagProps","useDisplay","useResizeObserver","useRtl","computed","ref","watch","clamp","genericComponent","IN_BROWSER","useRender","bias","calculateCenteredOffset","calculateUpdatedOffset","VSlideGroupSymbol","Symbol","for","VSlideGroup","name","props","centerActive","Boolean","direction","type","String","default","symbol","nextIcon","prevIcon","showArrows","validator","v","includes","selectedClass","emits","value","setup","slots","isRtl","mobile","group","isOverflowing","scrollOffset","containerSize","contentSize","isHorizontal","resizeRef","containerRef","contentRect","containerRect","contentRef","firstSelectedIndex","selected","length","items","findIndex","item","id","lastSelectedIndex","frame","cancelAnimationFrame","requestAnimationFrame","sizeProperty","selectedElement","children","currentScrollOffset","disableTransition","startTouch","startOffset","onTouchstart","e","sign","touches","onTouchmove","onTouchend","maxScrollOffset","onScroll","isFocused","onFocusin","el","composedPath","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","key","location","focusable","querySelectorAll","filter","hasAttribute","querySelector","nextElementSibling","previousElementSibling","firstElementChild","lastElementChild","scrollTo","newAbsoluteOffset","contentStyles","scrollAmount","transform","transition","willChange","slotProps","next","prev","select","isSelected","hasAffixes","Math","abs","hasPrev","hasNext"],"sources":["../../../src/components/VSlideGroup/VSlideGroup.tsx"],"sourcesContent":["// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport { VFadeTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { useDisplay } from '@/composables'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { useRtl } from '@/composables/locale'\n\n// Utilities\nimport { computed, ref, watch } from 'vue'\nimport { clamp, genericComponent, IN_BROWSER, useRender } from '@/util'\nimport { bias, calculateCenteredOffset, calculateUpdatedOffset } from './helpers'\n\n// Types\nimport type { InjectionKey } from 'vue'\nimport type { SlotsToProps } from '@/util'\nimport type { GroupProvide } from '@/composables/group'\n\nexport const VSlideGroupSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-slide-group')\n\ninterface SlideGroupSlot {\n next: GroupProvide['next']\n prev: GroupProvide['prev']\n select: GroupProvide['select']\n isSelected: GroupProvide['isSelected']\n}\n\nexport const VSlideGroup = genericComponent<new () => {\n $props: SlotsToProps<{\n default: [SlideGroupSlot]\n prev: [SlideGroupSlot]\n next: [SlideGroupSlot]\n }>\n}>()({\n name: 'VSlideGroup',\n\n props: {\n centerActive: Boolean,\n direction: {\n type: String,\n default: 'horizontal',\n },\n symbol: {\n type: null,\n default: VSlideGroupSymbol,\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n\n ...makeTagProps(),\n ...makeGroupProps({\n selectedClass: 'v-slide-group-item--active',\n }),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { isRtl } = useRtl()\n const { mobile } = useDisplay()\n const group = useGroup(props, props.symbol)\n const isOverflowing = ref(false)\n const scrollOffset = ref(0)\n const containerSize = ref(0)\n const contentSize = ref(0)\n const isHorizontal = computed(() => props.direction === 'horizontal')\n\n const { resizeRef: containerRef, contentRect: containerRect } = useResizeObserver()\n const { resizeRef: contentRef, contentRect } = useResizeObserver()\n\n const firstSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1\n\n return group.items.value.findIndex(item => item.id === group.selected.value[0])\n })\n\n const lastSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1\n\n return group.items.value.findIndex(item => item.id === group.selected.value[group.selected.value.length - 1])\n })\n\n if (IN_BROWSER) {\n let frame = -1\n watch(() => [group.selected.value, containerRect.value, contentRect.value, isHorizontal.value], () => {\n cancelAnimationFrame(frame)\n frame = requestAnimationFrame(() => {\n if (containerRect.value && contentRect.value) {\n const sizeProperty = isHorizontal.value ? 'width' : 'height'\n\n containerSize.value = containerRect.value[sizeProperty]\n contentSize.value = contentRect.value[sizeProperty]\n\n isOverflowing.value = containerSize.value + 1 < contentSize.value\n }\n\n if (firstSelectedIndex.value >= 0 && contentRef.value) {\n // TODO: Is this too naive? Should we store element references in group composable?\n const selectedElement = contentRef.value.children[lastSelectedIndex.value] as HTMLElement\n\n if (firstSelectedIndex.value === 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (props.centerActive) {\n scrollOffset.value = calculateCenteredOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n isHorizontal: isHorizontal.value,\n })\n } else if (isOverflowing.value) {\n scrollOffset.value = calculateUpdatedOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n currentScrollOffset: scrollOffset.value,\n isHorizontal: isHorizontal.value,\n })\n }\n }\n })\n })\n }\n\n const disableTransition = ref(false)\n\n let startTouch = 0\n let startOffset = 0\n\n function onTouchstart (e: TouchEvent) {\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n const sign = isRtl.value && isHorizontal.value ? -1 : 1\n startOffset = sign * scrollOffset.value\n startTouch = e.touches[0][sizeProperty]\n disableTransition.value = true\n }\n\n function onTouchmove (e: TouchEvent) {\n if (!isOverflowing.value) return\n\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n const sign = isRtl.value && isHorizontal.value ? -1 : 1\n scrollOffset.value = sign * (startOffset + startTouch - e.touches[0][sizeProperty])\n }\n\n function onTouchend (e: TouchEvent) {\n const maxScrollOffset = contentSize.value - containerSize.value\n\n if (scrollOffset.value < 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (scrollOffset.value >= maxScrollOffset) {\n scrollOffset.value = maxScrollOffset\n }\n\n disableTransition.value = false\n }\n\n function onScroll () {\n if (!containerRef.value) return\n\n containerRef.value[isHorizontal.value ? 'scrollLeft' : 'scrollTop'] = 0\n }\n\n const isFocused = ref(false)\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n\n if (!isOverflowing.value || !contentRef.value) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of e.composedPath()) {\n for (const item of contentRef.value.children) {\n if (item === el) {\n scrollOffset.value = calculateUpdatedOffset({\n selectedElement: item as HTMLElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n currentScrollOffset: scrollOffset.value,\n isHorizontal: isHorizontal.value,\n })\n return\n }\n }\n }\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!contentRef.value) return\n\n if (isHorizontal.value) {\n if (e.key === 'ArrowRight') {\n focus(isRtl.value ? 'prev' : 'next')\n } else if (e.key === 'ArrowLeft') {\n focus(isRtl.value ? 'next' : 'prev')\n }\n } else {\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n }\n }\n\n if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n }\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (!contentRef.value) return\n\n if (!location) {\n const focusable = [...contentRef.value.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => !el.hasAttribute('disabled')) as HTMLElement[]\n focusable[0]?.focus()\n } else if (location === 'next') {\n const el = contentRef.value.querySelector(':focus')?.nextElementSibling as HTMLElement | undefined\n if (el) el.focus()\n else focus('first')\n } else if (location === 'prev') {\n const el = contentRef.value.querySelector(':focus')?.previousElementSibling as HTMLElement | undefined\n if (el) el.focus()\n else focus('last')\n } else if (location === 'first') {\n (contentRef.value.firstElementChild as HTMLElement)?.focus()\n } else if (location === 'last') {\n (contentRef.value.lastElementChild as HTMLElement)?.focus()\n }\n }\n\n function scrollTo (location: 'prev' | 'next') {\n const newAbsoluteOffset = scrollOffset.value + (location === 'prev' ? -1 : 1) * containerSize.value\n\n scrollOffset.value = clamp(newAbsoluteOffset, 0, contentSize.value - containerSize.value)\n }\n\n const contentStyles = computed(() => {\n // This adds friction when scrolling the 'wrong' way when at max offset\n let scrollAmount = scrollOffset.value > contentSize.value - containerSize.value\n ? -(contentSize.value - containerSize.value) + bias(contentSize.value - containerSize.value - scrollOffset.value)\n : -scrollOffset.value\n\n // This adds friction when scrolling the 'wrong' way when at min offset\n if (scrollOffset.value <= 0) {\n scrollAmount = bias(-scrollOffset.value)\n }\n\n const sign = isRtl.value && isHorizontal.value ? -1 : 1\n return {\n transform: `translate${isHorizontal.value ? 'X' : 'Y'}(${sign * scrollAmount}px)`,\n transition: disableTransition.value ? 'none' : '',\n willChange: disableTransition.value ? 'transform' : '',\n }\n })\n\n const slotProps = computed(() => ({\n next: group.next,\n prev: group.prev,\n select: group.select,\n isSelected: group.isSelected,\n }))\n\n const hasAffixes = computed(() => {\n switch (props.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !mobile.value\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return isOverflowing.value || Math.abs(scrollOffset.value) > 0\n\n // Always show on mobile\n case 'mobile': return (\n mobile.value ||\n (isOverflowing.value || Math.abs(scrollOffset.value) > 0)\n )\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !mobile.value &&\n (isOverflowing.value || Math.abs(scrollOffset.value) > 0)\n )\n }\n })\n\n const hasPrev = computed(() => {\n return Math.abs(scrollOffset.value) > 0\n })\n\n const hasNext = computed(() => {\n // Check one scroll ahead to know the width of right-most item\n return contentSize.value > Math.abs(scrollOffset.value) + containerSize.value\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-slide-group',\n {\n 'v-slide-group--vertical': !isHorizontal.value,\n 'v-slide-group--has-affixes': hasAffixes.value,\n 'v-slide-group--is-overflowing': isOverflowing.value,\n },\n ]}\n tabindex={ (isFocused.value || group.selected.value.length) ? -1 : 0 }\n onFocus={ onFocus }\n >\n { hasAffixes.value && (\n <div\n key=\"prev\"\n class={[\n 'v-slide-group__prev',\n { 'v-slide-group__prev--disabled': !hasPrev.value },\n ]}\n onClick={ () => scrollTo('prev') }\n >\n { slots.prev?.(slotProps.value) ?? (\n <VFadeTransition>\n <VIcon icon={ isRtl.value ? props.nextIcon : props.prevIcon }></VIcon>\n </VFadeTransition>\n ) }\n </div>\n ) }\n\n <div\n key=\"container\"\n ref={ containerRef }\n class=\"v-slide-group__container\"\n onScroll={ onScroll }\n >\n <div\n ref={ contentRef }\n class=\"v-slide-group__content\"\n style={ contentStyles.value }\n onTouchstartPassive={ onTouchstart }\n onTouchmovePassive={ onTouchmove }\n onTouchendPassive={ onTouchend }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onKeydown={ onKeydown }\n >\n { slots.default?.(slotProps.value) }\n </div>\n </div>\n\n { hasAffixes.value && (\n <div\n key=\"next\"\n class={[\n 'v-slide-group__next',\n { 'v-slide-group__next--disabled': !hasNext.value },\n ]}\n onClick={ () => scrollTo('next') }\n >\n { slots.next?.(slotProps.value) ?? (\n <VFadeTransition>\n <VIcon icon={ isRtl.value ? props.prevIcon : props.nextIcon }></VIcon>\n </VFadeTransition>\n ) }\n </div>\n ) }\n </props.tag>\n ))\n\n return {\n selected: group.selected,\n scrollTo,\n scrollOffset,\n focus,\n }\n },\n})\n\nexport type VSlideGroup = InstanceType<typeof VSlideGroup>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,eAAe;AAAA,SACfC,KAAK,8BAEd;AAAA,SACSC,SAAS;AAAA,SACTC,cAAc,EAAEC,QAAQ;AAAA,SACxBC,YAAY;AAAA,SACZC,UAAU;AAAA,SACVC,iBAAiB;AAAA,SACjBC,MAAM,wCAEf;AACA,SAASC,QAAQ,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACjCC,KAAK,EAAEC,gBAAgB,EAAEC,UAAU,EAAEC,SAAS;AAAA,SAC9CC,IAAI,EAAEC,uBAAuB,EAAEC,sBAAsB,yBAE9D;AAKA,OAAO,MAAMC,iBAA6C,GAAGC,MAAM,CAACC,GAAG,CAAC,uBAAuB,CAAC;AAShG,OAAO,MAAMC,WAAW,GAAGT,gBAAgB,EAMvC,CAAC;EACHU,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAE;IACLC,YAAY,EAAEC,OAAO;IACrBC,SAAS,EAAE;MACTC,IAAI,EAAEC,MAAM;MACZC,OAAO,EAAE;IACX,CAAC;IACDC,MAAM,EAAE;MACNH,IAAI,EAAE,IAAI;MACVE,OAAO,EAAEX;IACX,CAAC;IACDa,QAAQ,EAAE;MACRJ,IAAI,EAAE1B,SAAS;MACf4B,OAAO,EAAE;IACX,CAAC;IACDG,QAAQ,EAAE;MACRL,IAAI,EAAE1B,SAAS;MACf4B,OAAO,EAAE;IACX,CAAC;IACDI,UAAU,EAAE;MACVN,IAAI,EAAE,CAACF,OAAO,EAAEG,MAAM,CAAC;MACvBM,SAAS,EAAGC,CAAM,IAChB,OAAOA,CAAC,KAAK,SAAS,IAAI,CACxB,QAAQ,EACR,SAAS,EACT,QAAQ,CACT,CAACC,QAAQ,CAACD,CAAC;IAEhB,CAAC;IAED,GAAG/B,YAAY,EAAE;IACjB,GAAGF,cAAc,CAAC;MAChBmC,aAAa,EAAE;IACjB,CAAC;EACH,CAAC;EAEDC,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAU,IAAK;EACvC,CAAC;EAEDC,KAAK,CAAEjB,KAAK,QAAa;IAAA,IAAX;MAAEkB;IAAM,CAAC;IACrB,MAAM;MAAEC;IAAM,CAAC,GAAGnC,MAAM,EAAE;IAC1B,MAAM;MAAEoC;IAAO,CAAC,GAAGtC,UAAU,EAAE;IAC/B,MAAMuC,KAAK,GAAGzC,QAAQ,CAACoB,KAAK,EAAEA,KAAK,CAACO,MAAM,CAAC;IAC3C,MAAMe,aAAa,GAAGpC,GAAG,CAAC,KAAK,CAAC;IAChC,MAAMqC,YAAY,GAAGrC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAMsC,aAAa,GAAGtC,GAAG,CAAC,CAAC,CAAC;IAC5B,MAAMuC,WAAW,GAAGvC,GAAG,CAAC,CAAC,CAAC;IAC1B,MAAMwC,YAAY,GAAGzC,QAAQ,CAAC,MAAMe,KAAK,CAACG,SAAS,KAAK,YAAY,CAAC;IAErE,MAAM;MAAEwB,SAAS,EAAEC,YAAY;MAAEC,WAAW,EAAEC;IAAc,CAAC,GAAG/C,iBAAiB,EAAE;IACnF,MAAM;MAAE4C,SAAS,EAAEI,UAAU;MAAEF;IAAY,CAAC,GAAG9C,iBAAiB,EAAE;IAElE,MAAMiD,kBAAkB,GAAG/C,QAAQ,CAAC,MAAM;MACxC,IAAI,CAACoC,KAAK,CAACY,QAAQ,CAACjB,KAAK,CAACkB,MAAM,EAAE,OAAO,CAAC,CAAC;MAE3C,OAAOb,KAAK,CAACc,KAAK,CAACnB,KAAK,CAACoB,SAAS,CAACC,IAAI,IAAIA,IAAI,CAACC,EAAE,KAAKjB,KAAK,CAACY,QAAQ,CAACjB,KAAK,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC,CAAC;IAEF,MAAMuB,iBAAiB,GAAGtD,QAAQ,CAAC,MAAM;MACvC,IAAI,CAACoC,KAAK,CAACY,QAAQ,CAACjB,KAAK,CAACkB,MAAM,EAAE,OAAO,CAAC,CAAC;MAE3C,OAAOb,KAAK,CAACc,KAAK,CAACnB,KAAK,CAACoB,SAAS,CAACC,IAAI,IAAIA,IAAI,CAACC,EAAE,KAAKjB,KAAK,CAACY,QAAQ,CAACjB,KAAK,CAACK,KAAK,CAACY,QAAQ,CAACjB,KAAK,CAACkB,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/G,CAAC,CAAC;IAEF,IAAI5C,UAAU,EAAE;MACd,IAAIkD,KAAK,GAAG,CAAC,CAAC;MACdrD,KAAK,CAAC,MAAM,CAACkC,KAAK,CAACY,QAAQ,CAACjB,KAAK,EAAEc,aAAa,CAACd,KAAK,EAAEa,WAAW,CAACb,KAAK,EAAEU,YAAY,CAACV,KAAK,CAAC,EAAE,MAAM;QACpGyB,oBAAoB,CAACD,KAAK,CAAC;QAC3BA,KAAK,GAAGE,qBAAqB,CAAC,MAAM;UAClC,IAAIZ,aAAa,CAACd,KAAK,IAAIa,WAAW,CAACb,KAAK,EAAE;YAC5C,MAAM2B,YAAY,GAAGjB,YAAY,CAACV,KAAK,GAAG,OAAO,GAAG,QAAQ;YAE5DQ,aAAa,CAACR,KAAK,GAAGc,aAAa,CAACd,KAAK,CAAC2B,YAAY,CAAC;YACvDlB,WAAW,CAACT,KAAK,GAAGa,WAAW,CAACb,KAAK,CAAC2B,YAAY,CAAC;YAEnDrB,aAAa,CAACN,KAAK,GAAGQ,aAAa,CAACR,KAAK,GAAG,CAAC,GAAGS,WAAW,CAACT,KAAK;UACnE;UAEA,IAAIgB,kBAAkB,CAAChB,KAAK,IAAI,CAAC,IAAIe,UAAU,CAACf,KAAK,EAAE;YACrD;YACA,MAAM4B,eAAe,GAAGb,UAAU,CAACf,KAAK,CAAC6B,QAAQ,CAACN,iBAAiB,CAACvB,KAAK,CAAgB;YAEzF,IAAIgB,kBAAkB,CAAChB,KAAK,KAAK,CAAC,IAAI,CAACM,aAAa,CAACN,KAAK,EAAE;cAC1DO,YAAY,CAACP,KAAK,GAAG,CAAC;YACxB,CAAC,MAAM,IAAIhB,KAAK,CAACC,YAAY,EAAE;cAC7BsB,YAAY,CAACP,KAAK,GAAGvB,uBAAuB,CAAC;gBAC3CmD,eAAe;gBACfpB,aAAa,EAAEA,aAAa,CAACR,KAAK;gBAClCS,WAAW,EAAEA,WAAW,CAACT,KAAK;gBAC9BG,KAAK,EAAEA,KAAK,CAACH,KAAK;gBAClBU,YAAY,EAAEA,YAAY,CAACV;cAC7B,CAAC,CAAC;YACJ,CAAC,MAAM,IAAIM,aAAa,CAACN,KAAK,EAAE;cAC9BO,YAAY,CAACP,KAAK,GAAGtB,sBAAsB,CAAC;gBAC1CkD,eAAe;gBACfpB,aAAa,EAAEA,aAAa,CAACR,KAAK;gBAClCS,WAAW,EAAEA,WAAW,CAACT,KAAK;gBAC9BG,KAAK,EAAEA,KAAK,CAACH,KAAK;gBAClB8B,mBAAmB,EAAEvB,YAAY,CAACP,KAAK;gBACvCU,YAAY,EAAEA,YAAY,CAACV;cAC7B,CAAC,CAAC;YACJ;UACF;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;IAEA,MAAM+B,iBAAiB,GAAG7D,GAAG,CAAC,KAAK,CAAC;IAEpC,IAAI8D,UAAU,GAAG,CAAC;IAClB,IAAIC,WAAW,GAAG,CAAC;IAEnB,SAASC,YAAY,CAAEC,CAAa,EAAE;MACpC,MAAMR,YAAY,GAAGjB,YAAY,CAACV,KAAK,GAAG,SAAS,GAAG,SAAS;MAC/D,MAAMoC,IAAI,GAAGjC,KAAK,CAACH,KAAK,IAAIU,YAAY,CAACV,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;MACvDiC,WAAW,GAAGG,IAAI,GAAG7B,YAAY,CAACP,KAAK;MACvCgC,UAAU,GAAGG,CAAC,CAACE,OAAO,CAAC,CAAC,CAAC,CAACV,YAAY,CAAC;MACvCI,iBAAiB,CAAC/B,KAAK,GAAG,IAAI;IAChC;IAEA,SAASsC,WAAW,CAAEH,CAAa,EAAE;MACnC,IAAI,CAAC7B,aAAa,CAACN,KAAK,EAAE;MAE1B,MAAM2B,YAAY,GAAGjB,YAAY,CAACV,KAAK,GAAG,SAAS,GAAG,SAAS;MAC/D,MAAMoC,IAAI,GAAGjC,KAAK,CAACH,KAAK,IAAIU,YAAY,CAACV,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;MACvDO,YAAY,CAACP,KAAK,GAAGoC,IAAI,IAAIH,WAAW,GAAGD,UAAU,GAAGG,CAAC,CAACE,OAAO,CAAC,CAAC,CAAC,CAACV,YAAY,CAAC,CAAC;IACrF;IAEA,SAASY,UAAU,CAAEJ,CAAa,EAAE;MAClC,MAAMK,eAAe,GAAG/B,WAAW,CAACT,KAAK,GAAGQ,aAAa,CAACR,KAAK;MAE/D,IAAIO,YAAY,CAACP,KAAK,GAAG,CAAC,IAAI,CAACM,aAAa,CAACN,KAAK,EAAE;QAClDO,YAAY,CAACP,KAAK,GAAG,CAAC;MACxB,CAAC,MAAM,IAAIO,YAAY,CAACP,KAAK,IAAIwC,eAAe,EAAE;QAChDjC,YAAY,CAACP,KAAK,GAAGwC,eAAe;MACtC;MAEAT,iBAAiB,CAAC/B,KAAK,GAAG,KAAK;IACjC;IAEA,SAASyC,QAAQ,GAAI;MACnB,IAAI,CAAC7B,YAAY,CAACZ,KAAK,EAAE;MAEzBY,YAAY,CAACZ,KAAK,CAACU,YAAY,CAACV,KAAK,GAAG,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC;IACzE;IAEA,MAAM0C,SAAS,GAAGxE,GAAG,CAAC,KAAK,CAAC;IAC5B,SAASyE,SAAS,CAAER,CAAa,EAAE;MACjCO,SAAS,CAAC1C,KAAK,GAAG,IAAI;MAEtB,IAAI,CAACM,aAAa,CAACN,KAAK,IAAI,CAACe,UAAU,CAACf,KAAK,EAAE;;MAE/C;MACA;MACA,KAAK,MAAM4C,EAAE,IAAIT,CAAC,CAACU,YAAY,EAAE,EAAE;QACjC,KAAK,MAAMxB,IAAI,IAAIN,UAAU,CAACf,KAAK,CAAC6B,QAAQ,EAAE;UAC5C,IAAIR,IAAI,KAAKuB,EAAE,EAAE;YACfrC,YAAY,CAACP,KAAK,GAAGtB,sBAAsB,CAAC;cAC1CkD,eAAe,EAAEP,IAAmB;cACpCb,aAAa,EAAEA,aAAa,CAACR,KAAK;cAClCS,WAAW,EAAEA,WAAW,CAACT,KAAK;cAC9BG,KAAK,EAAEA,KAAK,CAACH,KAAK;cAClB8B,mBAAmB,EAAEvB,YAAY,CAACP,KAAK;cACvCU,YAAY,EAAEA,YAAY,CAACV;YAC7B,CAAC,CAAC;YACF;UACF;QACF;MACF;IACF;IAEA,SAAS8C,UAAU,CAAEX,CAAa,EAAE;MAClCO,SAAS,CAAC1C,KAAK,GAAG,KAAK;IACzB;IAEA,SAAS+C,OAAO,CAAEZ,CAAa,EAAE;MAAA;MAC/B,IACE,CAACO,SAAS,CAAC1C,KAAK,IAChB,EAAEmC,CAAC,CAACa,aAAa,yBAAIjC,UAAU,CAACf,KAAK,aAAhB,kBAAkBiD,QAAQ,CAACd,CAAC,CAACa,aAAa,CAAS,CAAC,EACzEE,KAAK,EAAE;IACX;IAEA,SAASC,SAAS,CAAEhB,CAAgB,EAAE;MACpC,IAAI,CAACpB,UAAU,CAACf,KAAK,EAAE;MAEvB,IAAIU,YAAY,CAACV,KAAK,EAAE;QACtB,IAAImC,CAAC,CAACiB,GAAG,KAAK,YAAY,EAAE;UAC1BF,KAAK,CAAC/C,KAAK,CAACH,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;QACtC,CAAC,MAAM,IAAImC,CAAC,CAACiB,GAAG,KAAK,WAAW,EAAE;UAChCF,KAAK,CAAC/C,KAAK,CAACH,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;QACtC;MACF,CAAC,MAAM;QACL,IAAImC,CAAC,CAACiB,GAAG,KAAK,WAAW,EAAE;UACzBF,KAAK,CAAC,MAAM,CAAC;QACf,CAAC,MAAM,IAAIf,CAAC,CAACiB,GAAG,KAAK,SAAS,EAAE;UAC9BF,KAAK,CAAC,MAAM,CAAC;QACf;MACF;MAEA,IAAIf,CAAC,CAACiB,GAAG,KAAK,MAAM,EAAE;QACpBF,KAAK,CAAC,OAAO,CAAC;MAChB,CAAC,MAAM,IAAIf,CAAC,CAACiB,GAAG,KAAK,KAAK,EAAE;QAC1BF,KAAK,CAAC,MAAM,CAAC;MACf;IACF;IAEA,SAASA,KAAK,CAAEG,QAA6C,EAAE;MAC7D,IAAI,CAACtC,UAAU,CAACf,KAAK,EAAE;MAEvB,IAAI,CAACqD,QAAQ,EAAE;QAAA;QACb,MAAMC,SAAS,GAAG,CAAC,GAAGvC,UAAU,CAACf,KAAK,CAACuD,gBAAgB,CACrD,0EAA0E,CAC3E,CAAC,CAACC,MAAM,CAACZ,EAAE,IAAI,CAACA,EAAE,CAACa,YAAY,CAAC,UAAU,CAAC,CAAkB;QAC9D,eAAAH,SAAS,CAAC,CAAC,CAAC,qBAAZ,YAAcJ,KAAK,EAAE;MACvB,CAAC,MAAM,IAAIG,QAAQ,KAAK,MAAM,EAAE;QAAA;QAC9B,MAAMT,EAAE,4BAAG7B,UAAU,CAACf,KAAK,CAAC0D,aAAa,CAAC,QAAQ,CAAC,qBAAxC,sBAA0CC,kBAA6C;QAClG,IAAIf,EAAE,EAAEA,EAAE,CAACM,KAAK,EAAE,MACbA,KAAK,CAAC,OAAO,CAAC;MACrB,CAAC,MAAM,IAAIG,QAAQ,KAAK,MAAM,EAAE;QAAA;QAC9B,MAAMT,EAAE,6BAAG7B,UAAU,CAACf,KAAK,CAAC0D,aAAa,CAAC,QAAQ,CAAC,qBAAxC,uBAA0CE,sBAAiD;QACtG,IAAIhB,EAAE,EAAEA,EAAE,CAACM,KAAK,EAAE,MACbA,KAAK,CAAC,MAAM,CAAC;MACpB,CAAC,MAAM,IAAIG,QAAQ,KAAK,OAAO,EAAE;QAAA;QAC/B,yBAACtC,UAAU,CAACf,KAAK,CAAC6D,iBAAiB,qBAAnC,sBAAqDX,KAAK,EAAE;MAC9D,CAAC,MAAM,IAAIG,QAAQ,KAAK,MAAM,EAAE;QAAA;QAC9B,yBAACtC,UAAU,CAACf,KAAK,CAAC8D,gBAAgB,qBAAlC,sBAAoDZ,KAAK,EAAE;MAC7D;IACF;IAEA,SAASa,QAAQ,CAAEV,QAAyB,EAAE;MAC5C,MAAMW,iBAAiB,GAAGzD,YAAY,CAACP,KAAK,GAAG,CAACqD,QAAQ,KAAK,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI7C,aAAa,CAACR,KAAK;MAEnGO,YAAY,CAACP,KAAK,GAAG5B,KAAK,CAAC4F,iBAAiB,EAAE,CAAC,EAAEvD,WAAW,CAACT,KAAK,GAAGQ,aAAa,CAACR,KAAK,CAAC;IAC3F;IAEA,MAAMiE,aAAa,GAAGhG,QAAQ,CAAC,MAAM;MACnC;MACA,IAAIiG,YAAY,GAAG3D,YAAY,CAACP,KAAK,GAAGS,WAAW,CAACT,KAAK,GAAGQ,aAAa,CAACR,KAAK,GAC3E,EAAES,WAAW,CAACT,KAAK,GAAGQ,aAAa,CAACR,KAAK,CAAC,GAAGxB,IAAI,CAACiC,WAAW,CAACT,KAAK,GAAGQ,aAAa,CAACR,KAAK,GAAGO,YAAY,CAACP,KAAK,CAAC,GAC/G,CAACO,YAAY,CAACP,KAAK;;MAEvB;MACA,IAAIO,YAAY,CAACP,KAAK,IAAI,CAAC,EAAE;QAC3BkE,YAAY,GAAG1F,IAAI,CAAC,CAAC+B,YAAY,CAACP,KAAK,CAAC;MAC1C;MAEA,MAAMoC,IAAI,GAAGjC,KAAK,CAACH,KAAK,IAAIU,YAAY,CAACV,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;MACvD,OAAO;QACLmE,SAAS,EAAG,YAAWzD,YAAY,CAACV,KAAK,GAAG,GAAG,GAAG,GAAI,IAAGoC,IAAI,GAAG8B,YAAa,KAAI;QACjFE,UAAU,EAAErC,iBAAiB,CAAC/B,KAAK,GAAG,MAAM,GAAG,EAAE;QACjDqE,UAAU,EAAEtC,iBAAiB,CAAC/B,KAAK,GAAG,WAAW,GAAG;MACtD,CAAC;IACH,CAAC,CAAC;IAEF,MAAMsE,SAAS,GAAGrG,QAAQ,CAAC,OAAO;MAChCsG,IAAI,EAAElE,KAAK,CAACkE,IAAI;MAChBC,IAAI,EAAEnE,KAAK,CAACmE,IAAI;MAChBC,MAAM,EAAEpE,KAAK,CAACoE,MAAM;MACpBC,UAAU,EAAErE,KAAK,CAACqE;IACpB,CAAC,CAAC,CAAC;IAEH,MAAMC,UAAU,GAAG1G,QAAQ,CAAC,MAAM;MAChC,QAAQe,KAAK,CAACU,UAAU;QACtB;QACA,KAAK,QAAQ;UAAE,OAAO,IAAI;;QAE1B;QACA,KAAK,SAAS;UAAE,OAAO,CAACU,MAAM,CAACJ,KAAK;;QAEpC;QACA;QACA,KAAK,IAAI;UAAE,OAAOM,aAAa,CAACN,KAAK,IAAI4E,IAAI,CAACC,GAAG,CAACtE,YAAY,CAACP,KAAK,CAAC,GAAG,CAAC;;QAEzE;QACA,KAAK,QAAQ;UAAE,OACbI,MAAM,CAACJ,KAAK,IACXM,aAAa,CAACN,KAAK,IAAI4E,IAAI,CAACC,GAAG,CAACtE,YAAY,CAACP,KAAK,CAAC,GAAG,CAAE;;QAG3D;QACA;QACA;QACA;UAAS,OACP,CAACI,MAAM,CAACJ,KAAK,KACZM,aAAa,CAACN,KAAK,IAAI4E,IAAI,CAACC,GAAG,CAACtE,YAAY,CAACP,KAAK,CAAC,GAAG,CAAC,CAAC;MAC1D;IAEL,CAAC,CAAC;IAEF,MAAM8E,OAAO,GAAG7G,QAAQ,CAAC,MAAM;MAC7B,OAAO2G,IAAI,CAACC,GAAG,CAACtE,YAAY,CAACP,KAAK,CAAC,GAAG,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM+E,OAAO,GAAG9G,QAAQ,CAAC,MAAM;MAC7B;MACA,OAAOwC,WAAW,CAACT,KAAK,GAAG4E,IAAI,CAACC,GAAG,CAACtE,YAAY,CAACP,KAAK,CAAC,GAAGQ,aAAa,CAACR,KAAK;IAC/E,CAAC,CAAC;IAEFzB,SAAS,CAAC;MAAA;MAAA;QAAA,SAEC,CACL,eAAe,EACf;UACE,yBAAyB,EAAE,CAACmC,YAAY,CAACV,KAAK;UAC9C,4BAA4B,EAAE2E,UAAU,CAAC3E,KAAK;UAC9C,+BAA+B,EAAEM,aAAa,CAACN;QACjD,CAAC,CACF;QAAA,YACW0C,SAAS,CAAC1C,KAAK,IAAIK,KAAK,CAACY,QAAQ,CAACjB,KAAK,CAACkB,MAAM,GAAI,CAAC,CAAC,GAAG,CAAC;QAAA,WAC1D6B;MAAO;QAAA,gBAEf4B,UAAU,CAAC3E,KAAK;UAAA,OAEV,MAAM;UAAA,SACH,CACL,qBAAqB,EACrB;YAAE,+BAA+B,EAAE,CAAC8E,OAAO,CAAC9E;UAAM,CAAC,CACpD;UAAA,WACS,MAAM+D,QAAQ,CAAC,MAAM;QAAC,IAE9B,gBAAA7D,KAAK,CAACsE,IAAI,qBAAV,iBAAAtE,KAAK,EAAQoE,SAAS,CAACtE,KAAK,CAAC;UAAA;YAAA,QAEbG,KAAK,CAACH,KAAK,GAAGhB,KAAK,CAACQ,QAAQ,GAAGR,KAAK,CAACS;UAAQ;QAAA,EAE9D,EAEJ;UAAA,OAGK,WAAW;UAAA,OACTmB,YAAY;UAAA,SACZ,0BAA0B;UAAA,YACrB6B;QAAQ;UAAA,OAGX1B,UAAU;UAAA,SACV,wBAAwB;UAAA,SACtBkD,aAAa,CAACjE,KAAK;UAAA,uBACLkC,YAAY;UAAA,sBACbI,WAAW;UAAA,qBACZC,UAAU;UAAA,aAClBI,SAAS;UAAA,cACRG,UAAU;UAAA,aACXK;QAAS,sBAEnBjD,KAAK,CAACZ,OAAO,qBAAb,oBAAAY,KAAK,EAAWoE,SAAS,CAACtE,KAAK,CAAC,MAIpC2E,UAAU,CAAC3E,KAAK;UAAA,OAEV,MAAM;UAAA,SACH,CACL,qBAAqB,EACrB;YAAE,+BAA+B,EAAE,CAAC+E,OAAO,CAAC/E;UAAM,CAAC,CACpD;UAAA,WACS,MAAM+D,QAAQ,CAAC,MAAM;QAAC,IAE9B,gBAAA7D,KAAK,CAACqE,IAAI,qBAAV,iBAAArE,KAAK,EAAQoE,SAAS,CAACtE,KAAK,CAAC;UAAA;YAAA,QAEbG,KAAK,CAACH,KAAK,GAAGhB,KAAK,CAACS,QAAQ,GAAGT,KAAK,CAACQ;UAAQ;QAAA,EAE9D,EAEJ;MAAA;IAAA,CAEJ,CAAC;IAEF,OAAO;MACLyB,QAAQ,EAAEZ,KAAK,CAACY,QAAQ;MACxB8C,QAAQ;MACRxD,YAAY;MACZ2C;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VSlideGroup.mjs","names":["VFadeTransition","VIcon","IconValue","makeGroupProps","useGroup","makeTagProps","useDisplay","useResizeObserver","useRtl","computed","ref","watch","clamp","genericComponent","IN_BROWSER","useRender","bias","calculateCenteredOffset","calculateUpdatedOffset","VSlideGroupSymbol","Symbol","for","VSlideGroup","name","props","centerActive","Boolean","direction","type","String","default","symbol","nextIcon","prevIcon","showArrows","validator","v","includes","selectedClass","emits","value","setup","slots","isRtl","mobile","group","isOverflowing","scrollOffset","containerSize","contentSize","isHorizontal","resizeRef","containerRef","contentRect","containerRect","contentRef","firstSelectedIndex","selected","length","items","findIndex","item","id","lastSelectedIndex","frame","cancelAnimationFrame","requestAnimationFrame","sizeProperty","selectedElement","children","currentScrollOffset","disableTransition","startTouch","startOffset","onTouchstart","e","sign","touches","onTouchmove","onTouchend","maxScrollOffset","onScroll","isFocused","onFocusin","el","composedPath","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","key","location","focusable","querySelectorAll","filter","hasAttribute","querySelector","nextElementSibling","previousElementSibling","firstElementChild","lastElementChild","scrollTo","newAbsoluteOffset","contentStyles","scrollAmount","transform","transition","willChange","slotProps","next","prev","select","isSelected","hasAffixes","Math","abs","hasPrev","hasNext"],"sources":["../../../src/components/VSlideGroup/VSlideGroup.tsx"],"sourcesContent":["// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport { VFadeTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { useDisplay } from '@/composables'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { useRtl } from '@/composables/locale'\n\n// Utilities\nimport { computed, ref, watch } from 'vue'\nimport { clamp, genericComponent, IN_BROWSER, useRender } from '@/util'\nimport { bias, calculateCenteredOffset, calculateUpdatedOffset } from './helpers'\n\n// Types\nimport type { InjectionKey } from 'vue'\nimport type { GroupProvide } from '@/composables/group'\n\nexport const VSlideGroupSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-slide-group')\n\ninterface SlideGroupSlot {\n next: GroupProvide['next']\n prev: GroupProvide['prev']\n select: GroupProvide['select']\n isSelected: GroupProvide['isSelected']\n}\n\ntype VSlideGroupSlots = {\n default: [SlideGroupSlot]\n prev: [SlideGroupSlot]\n next: [SlideGroupSlot]\n}\n\nexport const VSlideGroup = genericComponent<VSlideGroupSlots>()({\n name: 'VSlideGroup',\n\n props: {\n centerActive: Boolean,\n direction: {\n type: String,\n default: 'horizontal',\n },\n symbol: {\n type: null,\n default: VSlideGroupSymbol,\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n\n ...makeTagProps(),\n ...makeGroupProps({\n selectedClass: 'v-slide-group-item--active',\n }),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { isRtl } = useRtl()\n const { mobile } = useDisplay()\n const group = useGroup(props, props.symbol)\n const isOverflowing = ref(false)\n const scrollOffset = ref(0)\n const containerSize = ref(0)\n const contentSize = ref(0)\n const isHorizontal = computed(() => props.direction === 'horizontal')\n\n const { resizeRef: containerRef, contentRect: containerRect } = useResizeObserver()\n const { resizeRef: contentRef, contentRect } = useResizeObserver()\n\n const firstSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1\n\n return group.items.value.findIndex(item => item.id === group.selected.value[0])\n })\n\n const lastSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1\n\n return group.items.value.findIndex(item => item.id === group.selected.value[group.selected.value.length - 1])\n })\n\n if (IN_BROWSER) {\n let frame = -1\n watch(() => [group.selected.value, containerRect.value, contentRect.value, isHorizontal.value], () => {\n cancelAnimationFrame(frame)\n frame = requestAnimationFrame(() => {\n if (containerRect.value && contentRect.value) {\n const sizeProperty = isHorizontal.value ? 'width' : 'height'\n\n containerSize.value = containerRect.value[sizeProperty]\n contentSize.value = contentRect.value[sizeProperty]\n\n isOverflowing.value = containerSize.value + 1 < contentSize.value\n }\n\n if (firstSelectedIndex.value >= 0 && contentRef.value) {\n // TODO: Is this too naive? Should we store element references in group composable?\n const selectedElement = contentRef.value.children[lastSelectedIndex.value] as HTMLElement\n\n if (firstSelectedIndex.value === 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (props.centerActive) {\n scrollOffset.value = calculateCenteredOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n isHorizontal: isHorizontal.value,\n })\n } else if (isOverflowing.value) {\n scrollOffset.value = calculateUpdatedOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n currentScrollOffset: scrollOffset.value,\n isHorizontal: isHorizontal.value,\n })\n }\n }\n })\n })\n }\n\n const disableTransition = ref(false)\n\n let startTouch = 0\n let startOffset = 0\n\n function onTouchstart (e: TouchEvent) {\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n const sign = isRtl.value && isHorizontal.value ? -1 : 1\n startOffset = sign * scrollOffset.value\n startTouch = e.touches[0][sizeProperty]\n disableTransition.value = true\n }\n\n function onTouchmove (e: TouchEvent) {\n if (!isOverflowing.value) return\n\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n const sign = isRtl.value && isHorizontal.value ? -1 : 1\n scrollOffset.value = sign * (startOffset + startTouch - e.touches[0][sizeProperty])\n }\n\n function onTouchend (e: TouchEvent) {\n const maxScrollOffset = contentSize.value - containerSize.value\n\n if (scrollOffset.value < 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (scrollOffset.value >= maxScrollOffset) {\n scrollOffset.value = maxScrollOffset\n }\n\n disableTransition.value = false\n }\n\n function onScroll () {\n if (!containerRef.value) return\n\n containerRef.value[isHorizontal.value ? 'scrollLeft' : 'scrollTop'] = 0\n }\n\n const isFocused = ref(false)\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n\n if (!isOverflowing.value || !contentRef.value) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of e.composedPath()) {\n for (const item of contentRef.value.children) {\n if (item === el) {\n scrollOffset.value = calculateUpdatedOffset({\n selectedElement: item as HTMLElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n currentScrollOffset: scrollOffset.value,\n isHorizontal: isHorizontal.value,\n })\n return\n }\n }\n }\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!contentRef.value) return\n\n if (isHorizontal.value) {\n if (e.key === 'ArrowRight') {\n focus(isRtl.value ? 'prev' : 'next')\n } else if (e.key === 'ArrowLeft') {\n focus(isRtl.value ? 'next' : 'prev')\n }\n } else {\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n }\n }\n\n if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n }\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (!contentRef.value) return\n\n if (!location) {\n const focusable = [...contentRef.value.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => !el.hasAttribute('disabled')) as HTMLElement[]\n focusable[0]?.focus()\n } else if (location === 'next') {\n const el = contentRef.value.querySelector(':focus')?.nextElementSibling as HTMLElement | undefined\n if (el) el.focus()\n else focus('first')\n } else if (location === 'prev') {\n const el = contentRef.value.querySelector(':focus')?.previousElementSibling as HTMLElement | undefined\n if (el) el.focus()\n else focus('last')\n } else if (location === 'first') {\n (contentRef.value.firstElementChild as HTMLElement)?.focus()\n } else if (location === 'last') {\n (contentRef.value.lastElementChild as HTMLElement)?.focus()\n }\n }\n\n function scrollTo (location: 'prev' | 'next') {\n const newAbsoluteOffset = scrollOffset.value + (location === 'prev' ? -1 : 1) * containerSize.value\n\n scrollOffset.value = clamp(newAbsoluteOffset, 0, contentSize.value - containerSize.value)\n }\n\n const contentStyles = computed(() => {\n // This adds friction when scrolling the 'wrong' way when at max offset\n let scrollAmount = scrollOffset.value > contentSize.value - containerSize.value\n ? -(contentSize.value - containerSize.value) + bias(contentSize.value - containerSize.value - scrollOffset.value)\n : -scrollOffset.value\n\n // This adds friction when scrolling the 'wrong' way when at min offset\n if (scrollOffset.value <= 0) {\n scrollAmount = bias(-scrollOffset.value)\n }\n\n const sign = isRtl.value && isHorizontal.value ? -1 : 1\n return {\n transform: `translate${isHorizontal.value ? 'X' : 'Y'}(${sign * scrollAmount}px)`,\n transition: disableTransition.value ? 'none' : '',\n willChange: disableTransition.value ? 'transform' : '',\n }\n })\n\n const slotProps = computed(() => ({\n next: group.next,\n prev: group.prev,\n select: group.select,\n isSelected: group.isSelected,\n }))\n\n const hasAffixes = computed(() => {\n switch (props.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !mobile.value\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return isOverflowing.value || Math.abs(scrollOffset.value) > 0\n\n // Always show on mobile\n case 'mobile': return (\n mobile.value ||\n (isOverflowing.value || Math.abs(scrollOffset.value) > 0)\n )\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !mobile.value &&\n (isOverflowing.value || Math.abs(scrollOffset.value) > 0)\n )\n }\n })\n\n const hasPrev = computed(() => {\n return Math.abs(scrollOffset.value) > 0\n })\n\n const hasNext = computed(() => {\n // Check one scroll ahead to know the width of right-most item\n return contentSize.value > Math.abs(scrollOffset.value) + containerSize.value\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-slide-group',\n {\n 'v-slide-group--vertical': !isHorizontal.value,\n 'v-slide-group--has-affixes': hasAffixes.value,\n 'v-slide-group--is-overflowing': isOverflowing.value,\n },\n ]}\n tabindex={ (isFocused.value || group.selected.value.length) ? -1 : 0 }\n onFocus={ onFocus }\n >\n { hasAffixes.value && (\n <div\n key=\"prev\"\n class={[\n 'v-slide-group__prev',\n { 'v-slide-group__prev--disabled': !hasPrev.value },\n ]}\n onClick={ () => scrollTo('prev') }\n >\n { slots.prev?.(slotProps.value) ?? (\n <VFadeTransition>\n <VIcon icon={ isRtl.value ? props.nextIcon : props.prevIcon }></VIcon>\n </VFadeTransition>\n ) }\n </div>\n ) }\n\n <div\n key=\"container\"\n ref={ containerRef }\n class=\"v-slide-group__container\"\n onScroll={ onScroll }\n >\n <div\n ref={ contentRef }\n class=\"v-slide-group__content\"\n style={ contentStyles.value }\n onTouchstartPassive={ onTouchstart }\n onTouchmovePassive={ onTouchmove }\n onTouchendPassive={ onTouchend }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onKeydown={ onKeydown }\n >\n { slots.default?.(slotProps.value) }\n </div>\n </div>\n\n { hasAffixes.value && (\n <div\n key=\"next\"\n class={[\n 'v-slide-group__next',\n { 'v-slide-group__next--disabled': !hasNext.value },\n ]}\n onClick={ () => scrollTo('next') }\n >\n { slots.next?.(slotProps.value) ?? (\n <VFadeTransition>\n <VIcon icon={ isRtl.value ? props.prevIcon : props.nextIcon }></VIcon>\n </VFadeTransition>\n ) }\n </div>\n ) }\n </props.tag>\n ))\n\n return {\n selected: group.selected,\n scrollTo,\n scrollOffset,\n focus,\n }\n },\n})\n\nexport type VSlideGroup = InstanceType<typeof VSlideGroup>\n"],"mappings":"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"}
@@ -15,15 +15,12 @@ export const VSlideGroupItem = genericComponent()({
15
15
  slots
16
16
  } = _ref;
17
17
  const slideGroupItem = useGroupItem(props, VSlideGroupSymbol);
18
- return () => {
19
- var _slots$default;
20
- return (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, {
21
- isSelected: slideGroupItem.isSelected.value,
22
- select: slideGroupItem.select,
23
- toggle: slideGroupItem.toggle,
24
- selectedClass: slideGroupItem.selectedClass.value
25
- });
26
- };
18
+ return () => slots.default?.({
19
+ isSelected: slideGroupItem.isSelected.value,
20
+ select: slideGroupItem.select,
21
+ toggle: slideGroupItem.toggle,
22
+ selectedClass: slideGroupItem.selectedClass.value
23
+ });
27
24
  }
28
25
  });
29
26
  //# sourceMappingURL=VSlideGroupItem.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VSlideGroupItem.mjs","names":["makeGroupItemProps","useGroupItem","genericComponent","VSlideGroupSymbol","VSlideGroupItem","name","props","emits","val","setup","slots","slideGroupItem","default","isSelected","value","select","toggle","selectedClass"],"sources":["../../../src/components/VSlideGroup/VSlideGroupItem.tsx"],"sourcesContent":["// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\n\n// Utilities\nimport { genericComponent } from '@/util'\nimport { VSlideGroupSymbol } from './VSlideGroup'\n\n// Types\nimport type { UnwrapRef } from 'vue'\nimport type { SlotsToProps } from '@/util'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VSlideGroupItem = genericComponent<new () => {\n $props: SlotsToProps<{\n default: [{\n isSelected: UnwrapRef<GroupItemProvide['isSelected']>\n select: GroupItemProvide['select']\n toggle: GroupItemProvide['toggle']\n selectedClass: UnwrapRef<GroupItemProvide['selectedClass']>\n }]\n }>\n}>()({\n name: 'VSlideGroupItem',\n\n props: {\n ...makeGroupItemProps(),\n },\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const slideGroupItem = useGroupItem(props, VSlideGroupSymbol)\n\n return () => slots.default?.({\n isSelected: slideGroupItem.isSelected.value,\n select: slideGroupItem.select,\n toggle: slideGroupItem.toggle,\n selectedClass: slideGroupItem.selectedClass.value,\n })\n },\n})\n\nexport type VSlideGroupItem = InstanceType<typeof VSlideGroupItem>\n"],"mappings":"AAAA;AAAA,SACSA,kBAAkB,EAAEC,YAAY,uCAEzC;AAAA,SACSC,gBAAgB;AAAA,SAChBC,iBAAiB,6BAE1B;AAKA,OAAO,MAAMC,eAAe,GAAGF,gBAAgB,EAS3C,CAAC;EACHG,IAAI,EAAE,iBAAiB;EAEvBC,KAAK,EAAE;IACL,GAAGN,kBAAkB;EACvB,CAAC;EAEDO,KAAK,EAAE;IACL,gBAAgB,EAAGC,GAAuB,IAAK;EACjD,CAAC;EAEDC,KAAK,CAAEH,KAAK,QAAa;IAAA,IAAX;MAAEI;IAAM,CAAC;IACrB,MAAMC,cAAc,GAAGV,YAAY,CAACK,KAAK,EAAEH,iBAAiB,CAAC;IAE7D,OAAO;MAAA;MAAA,yBAAMO,KAAK,CAACE,OAAO,qBAAb,oBAAAF,KAAK,EAAW;QAC3BG,UAAU,EAAEF,cAAc,CAACE,UAAU,CAACC,KAAK;QAC3CC,MAAM,EAAEJ,cAAc,CAACI,MAAM;QAC7BC,MAAM,EAAEL,cAAc,CAACK,MAAM;QAC7BC,aAAa,EAAEN,cAAc,CAACM,aAAa,CAACH;MAC9C,CAAC,CAAC;IAAA;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VSlideGroupItem.mjs","names":["makeGroupItemProps","useGroupItem","genericComponent","VSlideGroupSymbol","VSlideGroupItem","name","props","emits","val","setup","slots","slideGroupItem","default","isSelected","value","select","toggle","selectedClass"],"sources":["../../../src/components/VSlideGroup/VSlideGroupItem.tsx"],"sourcesContent":["// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\n\n// Utilities\nimport { genericComponent } from '@/util'\nimport { VSlideGroupSymbol } from './VSlideGroup'\n\n// Types\nimport type { UnwrapRef } from 'vue'\nimport type { GroupItemProvide } from '@/composables/group'\n\ntype VSlideGroupItemSlots = {\n default: [{\n isSelected: UnwrapRef<GroupItemProvide['isSelected']>\n select: GroupItemProvide['select']\n toggle: GroupItemProvide['toggle']\n selectedClass: UnwrapRef<GroupItemProvide['selectedClass']>\n }]\n}\n\nexport const VSlideGroupItem = genericComponent<VSlideGroupItemSlots>()({\n name: 'VSlideGroupItem',\n\n props: {\n ...makeGroupItemProps(),\n },\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const slideGroupItem = useGroupItem(props, VSlideGroupSymbol)\n\n return () => slots.default?.({\n isSelected: slideGroupItem.isSelected.value,\n select: slideGroupItem.select,\n toggle: slideGroupItem.toggle,\n selectedClass: slideGroupItem.selectedClass.value,\n })\n },\n})\n\nexport type VSlideGroupItem = InstanceType<typeof VSlideGroupItem>\n"],"mappings":"AAAA;AAAA,SACSA,kBAAkB,EAAEC,YAAY,uCAEzC;AAAA,SACSC,gBAAgB;AAAA,SAChBC,iBAAiB,6BAE1B;AAaA,OAAO,MAAMC,eAAe,GAAGF,gBAAgB,EAAwB,CAAC;EACtEG,IAAI,EAAE,iBAAiB;EAEvBC,KAAK,EAAE;IACL,GAAGN,kBAAkB;EACvB,CAAC;EAEDO,KAAK,EAAE;IACL,gBAAgB,EAAGC,GAAuB,IAAK;EACjD,CAAC;EAEDC,KAAK,CAAEH,KAAK,QAAa;IAAA,IAAX;MAAEI;IAAM,CAAC;IACrB,MAAMC,cAAc,GAAGV,YAAY,CAACK,KAAK,EAAEH,iBAAiB,CAAC;IAE7D,OAAO,MAAMO,KAAK,CAACE,OAAO,GAAG;MAC3BC,UAAU,EAAEF,cAAc,CAACE,UAAU,CAACC,KAAK;MAC3CC,MAAM,EAAEJ,cAAc,CAACI,MAAM;MAC7BC,MAAM,EAAEL,cAAc,CAACK,MAAM;MAC7BC,aAAa,EAAEN,cAAc,CAACM,aAAa,CAACH;IAC9C,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}