@vuetify/nightly 3.0.0-beta.3 → 3.0.0-beta.6

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 (441) hide show
  1. package/CHANGELOG.md +43 -2
  2. package/dist/_component-variables.sass +61 -0
  3. package/dist/json/attributes.json +261 -205
  4. package/dist/json/importMap.json +175 -219
  5. package/dist/json/tags.json +74 -104
  6. package/dist/json/web-types.json +880 -835
  7. package/dist/vuetify.css +597 -407
  8. package/dist/vuetify.d.ts +6770 -2144
  9. package/dist/vuetify.esm.js +9075 -8454
  10. package/dist/vuetify.esm.js.map +1 -1
  11. package/dist/vuetify.js +9074 -8453
  12. package/dist/vuetify.js.map +1 -1
  13. package/dist/vuetify.min.css +2 -2
  14. package/dist/vuetify.min.js +1078 -1040
  15. package/dist/vuetify.min.js.map +1 -1
  16. package/lib/blueprints/index.mjs +4 -0
  17. package/lib/blueprints/index.mjs.map +1 -0
  18. package/lib/blueprints/md1.mjs +63 -0
  19. package/lib/blueprints/md1.mjs.map +1 -0
  20. package/lib/blueprints/md2.mjs +60 -0
  21. package/lib/blueprints/md2.mjs.map +1 -0
  22. package/lib/blueprints/md3.mjs +74 -0
  23. package/lib/blueprints/md3.mjs.map +1 -0
  24. package/lib/components/VAlert/VAlert.css +5 -5
  25. package/lib/components/VAlert/VAlert.mjs +8 -2
  26. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  27. package/lib/components/VAlert/VAlert.sass +0 -2
  28. package/lib/components/VApp/VApp.css +2 -5
  29. package/lib/components/VApp/VApp.mjs +3 -4
  30. package/lib/components/VApp/VApp.mjs.map +1 -1
  31. package/lib/components/VApp/VApp.sass +11 -12
  32. package/lib/components/VApp/variables.scss +6 -0
  33. package/lib/components/VAppBar/VAppBar.mjs +4 -3
  34. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  35. package/lib/components/VAppBar/VAppBar.sass +0 -1
  36. package/lib/components/VAppBar/VAppBarNavIcon.mjs +7 -12
  37. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  38. package/lib/components/VAppBar/VAppBarTitle.mjs +4 -3
  39. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  40. package/lib/components/VAppBar/_variables.scss +2 -0
  41. package/lib/components/VAutocomplete/VAutocomplete.mjs +54 -21
  42. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  43. package/lib/components/VAutocomplete/VAutocomplete.sass +0 -2
  44. package/lib/components/VAvatar/VAvatar.css +1 -1
  45. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  46. package/lib/components/VAvatar/VAvatar.sass +1 -2
  47. package/lib/components/VAvatar/_mixins.scss +0 -1
  48. package/lib/components/VBadge/VBadge.mjs +8 -7
  49. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  50. package/lib/components/VBadge/VBadge.sass +0 -1
  51. package/lib/components/VBadge/_variables.scss +2 -2
  52. package/lib/components/VBanner/VBanner.css +7 -7
  53. package/lib/components/VBanner/VBanner.mjs +24 -17
  54. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  55. package/lib/components/VBanner/VBanner.sass +6 -8
  56. package/lib/components/VBanner/VBannerActions.mjs +1 -1
  57. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  58. package/lib/components/VBanner/index.mjs +0 -2
  59. package/lib/components/VBanner/index.mjs.map +1 -1
  60. package/lib/components/VBottomNavigation/VBottomNavigation.css +4 -11
  61. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +4 -3
  62. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  63. package/lib/components/VBottomNavigation/VBottomNavigation.sass +5 -13
  64. package/lib/components/VBottomNavigation/_variables.scss +7 -8
  65. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +13 -6
  66. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +30 -19
  67. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  68. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +8 -4
  69. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +5 -8
  70. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  71. package/lib/components/VBreadcrumbs/_variables.scss +2 -1
  72. package/lib/components/VBtn/VBtn.css +72 -15
  73. package/lib/components/VBtn/VBtn.mjs +70 -27
  74. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  75. package/lib/components/VBtn/VBtn.sass +70 -13
  76. package/lib/components/VBtn/_variables.scss +4 -1
  77. package/lib/components/VBtnGroup/VBtnGroup.sass +0 -1
  78. package/lib/components/VBtnGroup/_variables.scss +2 -0
  79. package/lib/components/VBtnToggle/VBtnToggle.sass +0 -1
  80. package/lib/components/VBtnToggle/_variables.scss +1 -0
  81. package/lib/components/VCard/VCard.css +86 -69
  82. package/lib/components/VCard/VCard.mjs +52 -66
  83. package/lib/components/VCard/VCard.mjs.map +1 -1
  84. package/lib/components/VCard/VCard.sass +74 -62
  85. package/lib/components/VCard/VCardActions.mjs +1 -1
  86. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  87. package/lib/components/VCard/VCardItem.mjs +88 -0
  88. package/lib/components/VCard/VCardItem.mjs.map +1 -0
  89. package/lib/components/VCard/_variables.scss +40 -24
  90. package/lib/components/VCard/index.mjs +1 -5
  91. package/lib/components/VCard/index.mjs.map +1 -1
  92. package/lib/components/VCarousel/VCarousel.mjs +5 -4
  93. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  94. package/lib/components/VCarousel/VCarousel.sass +0 -1
  95. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  96. package/lib/components/VCarousel/_variables.scss +1 -0
  97. package/lib/components/VCheckbox/VCheckbox.mjs +13 -46
  98. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  99. package/lib/components/VCheckbox/VCheckbox.sass +0 -1
  100. package/lib/components/VCheckbox/VCheckboxBtn.mjs +67 -0
  101. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -0
  102. package/lib/components/VCheckbox/index.mjs +1 -0
  103. package/lib/components/VCheckbox/index.mjs.map +1 -1
  104. package/lib/components/VChip/VChip.css +142 -65
  105. package/lib/components/VChip/VChip.mjs +77 -38
  106. package/lib/components/VChip/VChip.mjs.map +1 -1
  107. package/lib/components/VChip/VChip.sass +6 -1
  108. package/lib/components/VChip/_mixins.scss +26 -6
  109. package/lib/components/VChip/_variables.scss +1 -5
  110. package/lib/components/VChipGroup/VChipGroup.mjs +5 -4
  111. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  112. package/lib/components/VChipGroup/VChipGroup.sass +1 -1
  113. package/lib/components/VChipGroup/_variables.scss +1 -1
  114. package/lib/components/VCode/VCode.sass +1 -2
  115. package/lib/components/VCode/_variables.scss +1 -1
  116. package/lib/components/VColorPicker/VColorPicker.mjs +16 -10
  117. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  118. package/lib/components/VColorPicker/VColorPicker.sass +0 -1
  119. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -4
  120. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  121. package/lib/components/VColorPicker/VColorPickerCanvas.sass +0 -1
  122. package/lib/components/VColorPicker/VColorPickerEdit.mjs +4 -3
  123. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  124. package/lib/components/VColorPicker/VColorPickerEdit.sass +0 -1
  125. package/lib/components/VColorPicker/VColorPickerPreview.mjs +4 -3
  126. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  127. package/lib/components/VColorPicker/VColorPickerPreview.sass +0 -1
  128. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +6 -5
  129. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  130. package/lib/components/VColorPicker/VColorPickerSwatches.sass +0 -1
  131. package/lib/components/VColorPicker/_variables.scss +17 -10
  132. package/lib/components/VCombobox/VCombobox.mjs +52 -36
  133. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  134. package/lib/components/VCombobox/VCombobox.sass +0 -2
  135. package/lib/components/VCounter/VCounter.mjs +16 -16
  136. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  137. package/lib/components/VCounter/VCounter.sass +1 -2
  138. package/lib/components/VCounter/_variables.scss +2 -1
  139. package/lib/components/VDialog/VDialog.css +2 -5
  140. package/lib/components/VDialog/VDialog.mjs +25 -25
  141. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  142. package/lib/components/VDialog/VDialog.sass +1 -5
  143. package/lib/components/VDialog/_variables.scss +0 -1
  144. package/lib/components/VDivider/VDivider.mjs +16 -17
  145. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  146. package/lib/components/VDivider/VDivider.sass +0 -1
  147. package/lib/components/VDivider/_variables.scss +3 -1
  148. package/lib/components/VExpansionPanel/VExpansionPanel.css +1 -0
  149. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +9 -4
  150. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  151. package/lib/components/VExpansionPanel/VExpansionPanel.sass +1 -1
  152. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +7 -7
  153. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  154. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  155. package/lib/components/VExpansionPanel/_variables.scss +15 -10
  156. package/lib/components/VField/VField.css +11 -11
  157. package/lib/components/VField/VField.mjs +19 -12
  158. package/lib/components/VField/VField.mjs.map +1 -1
  159. package/lib/components/VField/VField.sass +8 -10
  160. package/lib/components/VField/VFieldLabel.mjs +8 -9
  161. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  162. package/lib/components/VField/_variables.scss +3 -3
  163. package/lib/components/VFileInput/VFileInput.css +3 -3
  164. package/lib/components/VFileInput/VFileInput.mjs +12 -7
  165. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  166. package/lib/components/VFileInput/VFileInput.sass +3 -4
  167. package/lib/components/VFooter/VFooter.mjs +4 -3
  168. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  169. package/lib/components/VFooter/VFooter.sass +0 -1
  170. package/lib/components/VFooter/_variables.scss +2 -1
  171. package/lib/components/VForm/VForm.mjs +3 -3
  172. package/lib/components/VForm/VForm.mjs.map +1 -1
  173. package/lib/components/VGrid/VCol.mjs.map +1 -1
  174. package/lib/components/VGrid/VContainer.mjs +4 -3
  175. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  176. package/lib/components/VGrid/VRow.mjs.map +1 -1
  177. package/lib/components/VIcon/VIcon.css +0 -8
  178. package/lib/components/VIcon/VIcon.mjs +20 -21
  179. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  180. package/lib/components/VIcon/VIcon.sass +0 -9
  181. package/lib/components/VIcon/_variables.scss +2 -5
  182. package/lib/components/VIcon/index.mjs.map +1 -1
  183. package/lib/components/VImg/VImg.sass +0 -1
  184. package/lib/components/VInput/VInput.mjs +13 -9
  185. package/lib/components/VInput/VInput.mjs.map +1 -1
  186. package/lib/components/VInput/VInput.sass +0 -1
  187. package/lib/components/VItemGroup/VItem.mjs +3 -0
  188. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  189. package/lib/components/VItemGroup/VItemGroup.sass +0 -1
  190. package/lib/components/VKbd/VKbd.sass +0 -1
  191. package/lib/components/VKbd/_variables.scss +1 -1
  192. package/lib/components/VLabel/VLabel.mjs +4 -3
  193. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  194. package/lib/components/VLabel/VLabel.sass +0 -1
  195. package/lib/components/VLabel/_variables.scss +1 -0
  196. package/lib/components/VLazy/VLazy.mjs +5 -3
  197. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  198. package/lib/components/VList/VList.css +2 -2
  199. package/lib/components/VList/VList.mjs +16 -18
  200. package/lib/components/VList/VList.mjs.map +1 -1
  201. package/lib/components/VList/VList.sass +1 -2
  202. package/lib/components/VList/VListChildren.mjs +7 -6
  203. package/lib/components/VList/VListChildren.mjs.map +1 -1
  204. package/lib/components/VList/VListGroup.mjs +45 -31
  205. package/lib/components/VList/VListGroup.mjs.map +1 -1
  206. package/lib/components/VList/VListItem.css +84 -58
  207. package/lib/components/VList/VListItem.mjs +78 -45
  208. package/lib/components/VList/VListItem.mjs.map +1 -1
  209. package/lib/components/VList/VListItem.sass +68 -40
  210. package/lib/components/VList/VListItemAction.mjs +8 -9
  211. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  212. package/lib/components/VList/VListItemMedia.mjs +4 -3
  213. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  214. package/lib/components/VList/VListSubheader.mjs +4 -3
  215. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  216. package/lib/components/VList/_variables.scss +11 -5
  217. package/lib/components/VList/index.mjs +2 -5
  218. package/lib/components/VList/index.mjs.map +1 -1
  219. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -3
  220. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  221. package/lib/components/VMain/VMain.mjs +4 -3
  222. package/lib/components/VMain/VMain.mjs.map +1 -1
  223. package/lib/components/VMain/VMain.sass +0 -1
  224. package/lib/components/VMain/_variables.scss +1 -1
  225. package/lib/components/VMenu/VMenu.mjs +5 -5
  226. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  227. package/lib/components/VMenu/VMenu.sass +0 -1
  228. package/lib/components/VMessages/VMessages.mjs +5 -3
  229. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  230. package/lib/components/VMessages/VMessages.sass +0 -1
  231. package/lib/components/VMessages/_variables.scss +1 -1
  232. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +10 -4
  233. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  234. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +0 -1
  235. package/lib/components/VNavigationDrawer/_variables.scss +2 -1
  236. package/lib/components/VNavigationDrawer/touch.mjs +5 -2
  237. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  238. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  239. package/lib/components/VOverlay/VOverlay.mjs +10 -8
  240. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  241. package/lib/components/VOverlay/VOverlay.sass +0 -1
  242. package/lib/components/VOverlay/locationStrategies.mjs +267 -78
  243. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  244. package/lib/components/VOverlay/useActivator.mjs +4 -3
  245. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  246. package/lib/components/VOverlay/util/point.mjs +3 -3
  247. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  248. package/lib/components/VPagination/VPagination.mjs +41 -23
  249. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  250. package/lib/components/VPagination/VPagination.sass +0 -1
  251. package/lib/components/VParallax/VParallax.mjs +5 -5
  252. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  253. package/lib/components/VProgressCircular/VProgressCircular.mjs +6 -5
  254. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  255. package/lib/components/VProgressCircular/VProgressCircular.sass +0 -1
  256. package/lib/components/VProgressCircular/_variables.scss +2 -0
  257. package/lib/components/VProgressLinear/VProgressLinear.mjs +5 -3
  258. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  259. package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
  260. package/lib/components/VProgressLinear/_variables.scss +1 -0
  261. package/lib/components/VRadioGroup/VRadioGroup.mjs +6 -3
  262. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  263. package/lib/components/VRadioGroup/VRadioGroup.sass +5 -3
  264. package/lib/components/VRadioGroup/_variables.scss +3 -4
  265. package/lib/components/VRangeSlider/VRangeSlider.mjs +12 -13
  266. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  267. package/lib/components/VRating/VRating.mjs +6 -5
  268. package/lib/components/VRating/VRating.mjs.map +1 -1
  269. package/lib/components/VRating/VRating.sass +2 -1
  270. package/lib/components/VResponsive/VResponsive.mjs +7 -6
  271. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  272. package/lib/components/VSelect/VSelect.mjs +61 -22
  273. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  274. package/lib/components/VSelect/VSelect.sass +0 -2
  275. package/lib/components/VSelectionControl/VSelectionControl.css +1 -0
  276. package/lib/components/VSelectionControl/VSelectionControl.mjs +12 -10
  277. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  278. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
  279. package/lib/components/VSelectionControl/_variables.scss +1 -0
  280. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +3 -3
  281. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  282. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +1 -6
  283. package/lib/components/VSelectionControlGroup/_variables.scss +1 -4
  284. package/lib/components/VSheet/VSheet.mjs +3 -3
  285. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  286. package/lib/components/VSheet/VSheet.sass +0 -1
  287. package/lib/components/VSheet/_variables.scss +3 -2
  288. package/lib/components/VSlideGroup/VSlideGroup.mjs +47 -49
  289. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  290. package/lib/components/VSlideGroup/VSlideGroup.sass +0 -1
  291. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +7 -3
  292. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  293. package/lib/components/VSlideGroup/_variables.scss +0 -5
  294. package/lib/components/VSlideGroup/index.mjs +2 -2
  295. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  296. package/lib/components/VSlider/VSlider.mjs +7 -9
  297. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  298. package/lib/components/VSlider/VSlider.sass +0 -2
  299. package/lib/components/VSlider/VSliderThumb.mjs +6 -5
  300. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  301. package/lib/components/VSlider/VSliderThumb.sass +0 -2
  302. package/lib/components/VSlider/VSliderTrack.mjs +11 -10
  303. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  304. package/lib/components/VSlider/VSliderTrack.sass +0 -2
  305. package/lib/components/VSlider/slider.mjs +4 -4
  306. package/lib/components/VSlider/slider.mjs.map +1 -1
  307. package/lib/components/VSnackbar/VSnackbar.css +5 -5
  308. package/lib/components/VSnackbar/VSnackbar.mjs +49 -49
  309. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  310. package/lib/components/VSnackbar/VSnackbar.sass +0 -1
  311. package/lib/components/VSnackbar/_variables.scss +2 -0
  312. package/lib/components/VSwitch/VSwitch.css +7 -0
  313. package/lib/components/VSwitch/VSwitch.mjs +8 -2
  314. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  315. package/lib/components/VSwitch/VSwitch.sass +6 -1
  316. package/lib/components/VSwitch/_variables.scss +1 -0
  317. package/lib/components/VSystemBar/VSystemBar.mjs +5 -13
  318. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  319. package/lib/components/VSystemBar/VSystemBar.sass +0 -1
  320. package/lib/components/VSystemBar/_variables.scss +2 -1
  321. package/lib/components/VTable/VTable.css +1 -0
  322. package/lib/components/VTable/VTable.mjs +9 -8
  323. package/lib/components/VTable/VTable.mjs.map +1 -1
  324. package/lib/components/VTable/VTable.sass +1 -1
  325. package/lib/components/VTable/_variables.scss +2 -0
  326. package/lib/components/VTabs/VTab.css +3 -1
  327. package/lib/components/VTabs/VTab.mjs +4 -4
  328. package/lib/components/VTabs/VTab.mjs.map +1 -1
  329. package/lib/components/VTabs/VTab.sass +4 -2
  330. package/lib/components/VTabs/VTabs.mjs +15 -12
  331. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  332. package/lib/components/VTabs/VTabs.sass +0 -1
  333. package/lib/components/VTabs/_variables.scss +2 -0
  334. package/lib/components/VTextField/VTextField.mjs +25 -13
  335. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  336. package/lib/components/VTextField/VTextField.sass +0 -1
  337. package/lib/components/VTextField/_variables.scss +1 -1
  338. package/lib/components/VTextarea/VTextarea.mjs +22 -12
  339. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  340. package/lib/components/VTextarea/VTextarea.sass +0 -2
  341. package/lib/components/VTextarea/_variables.scss +1 -0
  342. package/lib/components/VTimeline/VTimeline.mjs +24 -25
  343. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  344. package/lib/components/VTimeline/VTimeline.sass +3 -3
  345. package/lib/components/VTimeline/VTimelineDivider.mjs +41 -38
  346. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  347. package/lib/components/VTimeline/VTimelineItem.mjs +10 -11
  348. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  349. package/lib/components/VTimeline/_variables.scss +11 -6
  350. package/lib/components/VToolbar/VToolbar.css +15 -6
  351. package/lib/components/VToolbar/VToolbar.mjs +9 -9
  352. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  353. package/lib/components/VToolbar/VToolbar.sass +15 -7
  354. package/lib/components/VToolbar/VToolbarItems.mjs +12 -8
  355. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  356. package/lib/components/VToolbar/_variables.scss +6 -2
  357. package/lib/components/VTooltip/VTooltip.mjs +41 -39
  358. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  359. package/lib/components/VTooltip/VTooltip.sass +0 -1
  360. package/lib/components/VTooltip/_variables.scss +1 -0
  361. package/lib/components/VWindow/VWindow.mjs +4 -4
  362. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  363. package/lib/components/VWindow/VWindow.sass +0 -2
  364. package/lib/components/VWindow/VWindowItem.mjs +21 -11
  365. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  366. package/lib/components/VWindow/_variables.scss +1 -0
  367. package/lib/components/index.d.ts +7316 -2666
  368. package/lib/components/transitions/dialog-transition.mjs +3 -0
  369. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  370. package/lib/components/transitions/index.mjs +0 -5
  371. package/lib/components/transitions/index.mjs.map +1 -1
  372. package/lib/composables/border.mjs +5 -6
  373. package/lib/composables/border.mjs.map +1 -1
  374. package/lib/composables/display.mjs +13 -11
  375. package/lib/composables/display.mjs.map +1 -1
  376. package/lib/composables/form.mjs +6 -6
  377. package/lib/composables/form.mjs.map +1 -1
  378. package/lib/composables/group.mjs.map +1 -1
  379. package/lib/composables/items.mjs +2 -2
  380. package/lib/composables/items.mjs.map +1 -1
  381. package/lib/composables/location.mjs +4 -8
  382. package/lib/composables/location.mjs.map +1 -1
  383. package/lib/composables/proxiedModel.mjs +2 -1
  384. package/lib/composables/proxiedModel.mjs.map +1 -1
  385. package/lib/composables/size.mjs +2 -2
  386. package/lib/composables/size.mjs.map +1 -1
  387. package/lib/composables/ssrBoot.mjs +3 -2
  388. package/lib/composables/ssrBoot.mjs.map +1 -1
  389. package/lib/composables/stack.mjs +7 -7
  390. package/lib/composables/stack.mjs.map +1 -1
  391. package/lib/composables/theme.mjs +15 -6
  392. package/lib/composables/theme.mjs.map +1 -1
  393. package/lib/composables/validation.mjs +15 -8
  394. package/lib/composables/validation.mjs.map +1 -1
  395. package/lib/composables/variant.mjs +7 -5
  396. package/lib/composables/variant.mjs.map +1 -1
  397. package/lib/directives/ripple/VRipple.sass +0 -1
  398. package/lib/entry-bundler.mjs +1 -1
  399. package/lib/framework.mjs +29 -7
  400. package/lib/framework.mjs.map +1 -1
  401. package/lib/index.d.ts +68 -70
  402. package/lib/styles/generic/_transitions.scss +13 -77
  403. package/lib/styles/main.css +44 -58
  404. package/lib/styles/tools/_variant.sass +6 -6
  405. package/lib/util/anchor.mjs +34 -28
  406. package/lib/util/anchor.mjs.map +1 -1
  407. package/lib/util/animation.mjs +2 -2
  408. package/lib/util/animation.mjs.map +1 -1
  409. package/lib/util/box.mjs +12 -0
  410. package/lib/util/box.mjs.map +1 -1
  411. package/lib/util/getCurrentInstance.mjs +19 -0
  412. package/lib/util/getCurrentInstance.mjs.map +1 -1
  413. package/lib/util/helpers.mjs +21 -5
  414. package/lib/util/helpers.mjs.map +1 -1
  415. package/package.json +16 -10
  416. package/lib/components/VBanner/VBannerAvatar.mjs +0 -20
  417. package/lib/components/VBanner/VBannerAvatar.mjs.map +0 -1
  418. package/lib/components/VBanner/VBannerIcon.mjs +0 -20
  419. package/lib/components/VBanner/VBannerIcon.mjs.map +0 -1
  420. package/lib/components/VBreadcrumbs/shared.mjs +0 -2
  421. package/lib/components/VBreadcrumbs/shared.mjs.map +0 -1
  422. package/lib/components/VCard/VCardAvatar.mjs +0 -3
  423. package/lib/components/VCard/VCardAvatar.mjs.map +0 -1
  424. package/lib/components/VCard/VCardContent.mjs +0 -3
  425. package/lib/components/VCard/VCardContent.mjs.map +0 -1
  426. package/lib/components/VCard/VCardHeader.mjs +0 -3
  427. package/lib/components/VCard/VCardHeader.mjs.map +0 -1
  428. package/lib/components/VCard/VCardHeaderText.mjs +0 -3
  429. package/lib/components/VCard/VCardHeaderText.mjs.map +0 -1
  430. package/lib/components/VCard/VCardImg.mjs +0 -3
  431. package/lib/components/VCard/VCardImg.mjs.map +0 -1
  432. package/lib/components/VList/VListItemAvatar.mjs +0 -23
  433. package/lib/components/VList/VListItemAvatar.mjs.map +0 -1
  434. package/lib/components/VList/VListItemHeader.mjs +0 -3
  435. package/lib/components/VList/VListItemHeader.mjs.map +0 -1
  436. package/lib/components/VList/VListItemIcon.mjs +0 -23
  437. package/lib/components/VList/VListItemIcon.mjs.map +0 -1
  438. package/lib/components/VTimeline/shared.mjs +0 -2
  439. package/lib/components/VTimeline/shared.mjs.map +0 -1
  440. package/lib/presets/default/index.mjs +0 -71
  441. package/lib/presets/default/index.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"VSliderTrack.mjs","names":["VSliderSymbol","useBackgroundColor","useRounded","computed","inject","convertToUnit","defineComponent","VSliderTrack","name","props","start","type","Number","required","stop","emits","setup","slots","slider","Error","trackColor","trackFillColor","vertical","tickSize","showTicks","trackSize","color","rounded","parsedTicks","horizontalDirection","roundedClasses","backgroundColorClasses","trackFillColorClasses","backgroundColorStyles","trackFillColorStyles","trackColorClasses","trackColorStyles","startDir","value","endDir","backgroundStyles","trackFillWidth","trackFillStyles","computedTicks","ticks","slice","reverse","map","tick","index","directionProperty","directionValue","position","undefined","label","direction"],"sources":["../../../src/components/VSlider/VSliderTrack.tsx"],"sourcesContent":["// Styles\nimport './VSliderTrack.sass'\n\n// Components\nimport { VSliderSymbol } from './slider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\nexport const VSliderTrack = defineComponent({\n name: 'VSliderTrack',\n\n props: {\n start: {\n type: Number,\n required: true,\n },\n stop: {\n type: Number,\n required: true,\n },\n },\n\n emits: {},\n\n setup (props, { slots }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-track must be inside v-slider or v-range-slider')\n\n const {\n trackColor,\n trackFillColor,\n vertical,\n tickSize,\n showTicks,\n trackSize,\n color,\n rounded,\n parsedTicks,\n horizontalDirection,\n } = slider\n\n const { roundedClasses } = useRounded(rounded)\n\n const {\n backgroundColorClasses: trackFillColorClasses,\n backgroundColorStyles: trackFillColorStyles,\n } = useBackgroundColor(trackFillColor)\n\n const {\n backgroundColorClasses: trackColorClasses,\n backgroundColorStyles: trackColorStyles,\n } = useBackgroundColor(trackColor)\n\n const startDir = computed(() => `inset-${vertical.value ? 'block-end' : 'inline-start'}`)\n const endDir = computed(() => vertical.value ? 'height' : 'width')\n\n const backgroundStyles = computed(() => {\n return {\n [startDir.value]: '0%',\n [endDir.value]: '100%',\n }\n })\n\n const trackFillWidth = computed(() => props.stop - props.start)\n\n const trackFillStyles = computed(() => {\n return {\n [startDir.value]: convertToUnit(props.start, '%'),\n [endDir.value]: convertToUnit(trackFillWidth.value, '%'),\n }\n })\n\n const computedTicks = computed(() => {\n const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value\n\n return ticks.map((tick, index) => {\n const directionProperty = vertical.value ? 'bottom' : 'margin-inline-start'\n const directionValue = (tick.position > 0 && tick.position < 100) ? convertToUnit(tick.position, '%') : undefined\n return (\n <div\n key={ tick.value }\n class={[\n 'v-slider-track__tick',\n {\n 'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,\n },\n ]}\n style={{ [directionProperty]: directionValue }}\n >\n {\n (tick.label || slots['tick-label']) && (\n <div class=\"v-slider-track__tick-label\">\n { slots['tick-label']?.({ tick, index }) ?? tick.label }\n </div>\n )\n }\n </div>\n )\n })\n })\n\n return () => {\n return (\n <div\n class={[\n 'v-slider-track',\n roundedClasses.value,\n ]}\n style={{\n '--v-slider-track-size': convertToUnit(trackSize.value),\n '--v-slider-tick-size': convertToUnit(tickSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n >\n <div\n class={[\n 'v-slider-track__background',\n trackColorClasses.value,\n {\n 'v-slider-track__background--opacity': !!color.value || !trackFillColor.value,\n },\n ]}\n style={{\n ...backgroundStyles.value,\n ...trackColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-track__fill',\n trackFillColorClasses.value,\n ]}\n style={{\n ...trackFillStyles.value,\n ...trackFillColorStyles.value,\n }}\n />\n\n { showTicks.value && (\n <div\n class={[\n 'v-slider-track__ticks',\n {\n 'v-slider-track__ticks--always-show': showTicks.value === 'always',\n },\n ]}\n >\n { computedTicks.value }\n </div>\n ) }\n </div>\n )\n }\n },\n})\n\nexport type VSliderTrack = InstanceType<typeof VSliderTrack>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VSliderTrack.mjs","names":["VSliderSymbol","useBackgroundColor","useRounded","computed","inject","convertToUnit","defineComponent","useRender","VSliderTrack","name","props","start","type","Number","required","stop","emits","setup","slots","slider","Error","color","horizontalDirection","parsedTicks","rounded","showTicks","tickSize","trackColor","trackFillColor","trackSize","vertical","roundedClasses","backgroundColorClasses","trackFillColorClasses","backgroundColorStyles","trackFillColorStyles","trackColorClasses","trackColorStyles","startDir","value","endDir","backgroundStyles","trackFillWidth","trackFillStyles","computedTicks","ticks","slice","reverse","map","tick","index","directionProperty","directionValue","position","undefined","label","direction"],"sources":["../../../src/components/VSlider/VSliderTrack.tsx"],"sourcesContent":["// Styles\nimport './VSliderTrack.sass'\n\n// Components\nimport { VSliderSymbol } from './slider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent, useRender } from '@/util'\n\nexport const VSliderTrack = defineComponent({\n name: 'VSliderTrack',\n\n props: {\n start: {\n type: Number,\n required: true,\n },\n stop: {\n type: Number,\n required: true,\n },\n },\n\n emits: {},\n\n setup (props, { slots }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-track must be inside v-slider or v-range-slider')\n\n const {\n color,\n horizontalDirection,\n parsedTicks,\n rounded,\n showTicks,\n tickSize,\n trackColor,\n trackFillColor,\n trackSize,\n vertical,\n } = slider\n\n const { roundedClasses } = useRounded(rounded)\n\n const {\n backgroundColorClasses: trackFillColorClasses,\n backgroundColorStyles: trackFillColorStyles,\n } = useBackgroundColor(trackFillColor)\n\n const {\n backgroundColorClasses: trackColorClasses,\n backgroundColorStyles: trackColorStyles,\n } = useBackgroundColor(trackColor)\n\n const startDir = computed(() => `inset-${vertical.value ? 'block-end' : 'inline-start'}`)\n const endDir = computed(() => vertical.value ? 'height' : 'width')\n\n const backgroundStyles = computed(() => {\n return {\n [startDir.value]: '0%',\n [endDir.value]: '100%',\n }\n })\n\n const trackFillWidth = computed(() => props.stop - props.start)\n\n const trackFillStyles = computed(() => {\n return {\n [startDir.value]: convertToUnit(props.start, '%'),\n [endDir.value]: convertToUnit(trackFillWidth.value, '%'),\n }\n })\n\n const computedTicks = computed(() => {\n const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value\n\n return ticks.map((tick, index) => {\n const directionProperty = vertical.value ? 'bottom' : 'margin-inline-start'\n const directionValue = (tick.position > 0 && tick.position < 100) ? convertToUnit(tick.position, '%') : undefined\n return (\n <div\n key={ tick.value }\n class={[\n 'v-slider-track__tick',\n {\n 'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,\n },\n ]}\n style={{ [directionProperty]: directionValue }}\n >\n {\n (tick.label || slots['tick-label']) && (\n <div class=\"v-slider-track__tick-label\">\n { slots['tick-label']?.({ tick, index }) ?? tick.label }\n </div>\n )\n }\n </div>\n )\n })\n })\n\n useRender(() => {\n return (\n <div\n class={[\n 'v-slider-track',\n roundedClasses.value,\n ]}\n style={{\n '--v-slider-track-size': convertToUnit(trackSize.value),\n '--v-slider-tick-size': convertToUnit(tickSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n >\n <div\n class={[\n 'v-slider-track__background',\n trackColorClasses.value,\n {\n 'v-slider-track__background--opacity': !!color.value || !trackFillColor.value,\n },\n ]}\n style={{\n ...backgroundStyles.value,\n ...trackColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-track__fill',\n trackFillColorClasses.value,\n ]}\n style={{\n ...trackFillStyles.value,\n ...trackFillColorStyles.value,\n }}\n />\n\n { showTicks.value && (\n <div\n class={[\n 'v-slider-track__ticks',\n {\n 'v-slider-track__ticks--always-show': showTicks.value === 'always',\n },\n ]}\n >\n { computedTicks.value }\n </div>\n ) }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VSliderTrack = InstanceType<typeof VSliderTrack>\n"],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- // Imports
2
- @forward './variables'
3
1
  @use 'sass:map'
4
2
  @use 'sass:selector'
5
3
  @use '../../styles/settings'
@@ -1,11 +1,11 @@
1
1
  /* eslint-disable max-statements */
2
2
  // Composables
3
- import { useRtl } from "../../composables/rtl.mjs";
3
+ import { makeElevationProps } from "../../composables/elevation.mjs";
4
4
  import { makeRoundedProps } from "../../composables/rounded.mjs";
5
- import { makeElevationProps } from "../../composables/elevation.mjs"; // Utilities
5
+ import { useRtl } from "../../composables/rtl.mjs"; // Utilities
6
6
 
7
- import { computed, provide, ref, toRef } from 'vue';
8
- import { clamp, createRange, propsFactory } from "../../util/index.mjs"; // Types
7
+ import { clamp, createRange, propsFactory } from "../../util/index.mjs";
8
+ import { computed, provide, ref, toRef } from 'vue'; // Types
9
9
 
10
10
  export const VSliderSymbol = Symbol.for('vuetify:v-slider');
11
11
  export function getOffset(e, el, direction) {
@@ -1 +1 @@
1
- {"version":3,"file":"slider.mjs","names":["useRtl","makeRoundedProps","makeElevationProps","computed","provide","ref","toRef","clamp","createRange","propsFactory","VSliderSymbol","Symbol","for","getOffset","e","el","direction","vertical","rect","getBoundingClientRect","touch","touches","clientY","top","height","clientX","left","width","getPosition","position","length","changedTouches","makeSliderProps","disabled","Boolean","error","readonly","max","type","Number","String","default","min","step","thumbColor","thumbLabel","undefined","validator","v","thumbSize","showTicks","ticks","Array","Object","tickSize","color","trackColor","trackFillColor","trackSize","includes","reverse","elevation","useSlider","props","handleSliderMouseUp","handleMouseMove","getActiveThumb","isRtl","isReversed","value","horizontalDirection","hd","parseFloat","decimals","trimmedStep","toString","trim","indexOf","parseInt","numTicks","mousePressed","startOffset","trackContainerRef","activeThumbRef","roundValue","clamped","offset","newValue","Math","round","toFixed","parseMouseMove","start","trackStart","trackLength","$el","clickOffset","clickPos","thumbMoved","handleStop","handleStart","focus","contains","target","moveListenerOptions","passive","capture","onMouseMove","onSliderMouseUp","stopPropagation","preventDefault","window","removeEventListener","onSliderTouchend","onSliderTouchstart","addEventListener","onSliderMousedown","val","percentage","isNaN","parsedTicks","Infinity","map","t","isArray","label","keys","key","hasLabels","some","data","rounded"],"sources":["../../../src/components/VSlider/slider.ts"],"sourcesContent":["/* eslint-disable max-statements */\n// Composables\nimport { useRtl } from '@/composables/rtl'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { makeElevationProps } from '@/composables/elevation'\n\n// Utilities\nimport { computed, provide, ref, toRef } from 'vue'\nimport { clamp, createRange, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, InjectionKey, PropType, Ref } from 'vue'\nimport type { VSliderTrack } from './VSliderTrack'\n\ntype Tick = {\n value: number\n position: number\n label?: string\n}\n\ntype SliderProvide = {\n activeThumbRef: Ref<HTMLElement | undefined>\n color: Ref<string | undefined>\n decimals: Ref<number>\n direction: Ref<'vertical' | 'horizontal'>\n disabled: Ref<boolean | undefined>\n elevation: Ref<number | string | undefined>\n min: Ref<number>\n max: Ref<number>\n mousePressed: Ref<boolean>\n numTicks: Ref<number>\n onSliderMousedown: (e: MouseEvent) => void\n onSliderTouchstart: (e: TouchEvent) => void\n parseMouseMove: (e: MouseEvent | TouchEvent) => number\n position: (val: number) => number\n readonly: Ref<boolean | undefined>\n rounded: Ref<boolean | number | string | undefined>\n roundValue: (value: number) => number\n thumbLabel: Ref<boolean | string | undefined>\n showTicks: Ref<boolean | 'always'>\n startOffset: Ref<number>\n step: Ref<number>\n thumbSize: Ref<number>\n thumbColor: Ref<string | undefined>\n trackColor: Ref<string | undefined>\n trackFillColor: Ref<string | undefined>\n trackSize: Ref<number>\n ticks: Ref<number[] | Record<string, string> | undefined>\n tickSize: Ref<number>\n trackContainerRef: Ref<VSliderTrack | undefined>\n vertical: Ref<boolean>\n parsedTicks: Ref<Tick[]>\n hasLabels: Ref<boolean>\n isReversed: Ref<boolean>\n horizontalDirection: Ref<'ltr' | 'rtl'>\n}\n\nexport const VSliderSymbol: InjectionKey<SliderProvide> = Symbol.for('vuetify:v-slider')\n\nexport function getOffset (e: MouseEvent | TouchEvent, el: HTMLElement, direction: string) {\n const vertical = direction === 'vertical'\n const rect = el.getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n return vertical\n ? touch.clientY - (rect.top + rect.height / 2)\n : touch.clientX - (rect.left + rect.width / 2)\n}\n\nfunction getPosition (e: MouseEvent | TouchEvent, position: 'clientX' | 'clientY'): number {\n if ('touches' in e && e.touches.length) return e.touches[0][position]\n else if ('changedTouches' in e && e.changedTouches.length) return e.changedTouches[0][position]\n else return (e as MouseEvent)[position]\n}\n\nexport const makeSliderProps = propsFactory({\n disabled: Boolean,\n error: Boolean,\n readonly: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 0,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 20,\n },\n showTicks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: false,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n ticks: {\n type: [Array, Object] as PropType<number[] | Record<number, string>>,\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n color: String,\n trackColor: String,\n trackFillColor: String,\n trackSize: {\n type: [Number, String],\n default: 4,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n },\n reverse: Boolean,\n\n ...makeRoundedProps(),\n ...makeElevationProps({\n elevation: 2,\n }),\n}, 'slider')\n\ntype SliderProps = ExtractPropTypes<ReturnType<typeof makeSliderProps>>\n\nexport const useSlider = ({\n props,\n handleSliderMouseUp,\n handleMouseMove,\n getActiveThumb,\n}: {\n props: SliderProps\n handleSliderMouseUp: (v: number) => void\n handleMouseMove: (v: number) => void\n getActiveThumb: (e: MouseEvent | TouchEvent) => HTMLElement\n}) => {\n const { isRtl } = useRtl()\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const horizontalDirection = computed(() => {\n let hd: 'ltr' | 'rtl' = isRtl.value ? 'rtl' : 'ltr'\n\n if (props.reverse) {\n hd = hd === 'rtl' ? 'ltr' : 'rtl'\n }\n\n return hd\n })\n const min = computed(() => parseFloat(props.min))\n const max = computed(() => parseFloat(props.max))\n const step = computed(() => props.step > 0 ? parseFloat(props.step) : 0)\n const decimals = computed(() => {\n const trimmedStep = step.value.toString().trim()\n return trimmedStep.includes('.')\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n })\n\n const thumbSize = computed(() => parseInt(props.thumbSize, 10))\n const tickSize = computed(() => parseInt(props.tickSize, 10))\n const trackSize = computed(() => parseInt(props.trackSize, 10))\n const numTicks = computed(() => (max.value - min.value) / step.value)\n const disabled = toRef(props, 'disabled')\n const vertical = computed(() => props.direction === 'vertical')\n\n const thumbColor = computed(() => props.error || props.disabled ? undefined : props.thumbColor ?? props.color)\n const trackColor = computed(() => props.error || props.disabled ? undefined : props.trackColor ?? props.color)\n const trackFillColor = computed(() => props.error || props.disabled ? undefined : props.trackFillColor ?? props.color)\n\n const mousePressed = ref(false)\n\n const startOffset = ref(0)\n const trackContainerRef = ref<VSliderTrack | undefined>()\n const activeThumbRef = ref<HTMLElement | undefined>()\n\n function roundValue (value: number) {\n if (step.value <= 0) return value\n\n const clamped = clamp(value, min.value, max.value)\n const offset = min.value % step.value\n const newValue = Math.round((clamped - offset) / step.value) * step.value + offset\n\n return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value))\n }\n\n function parseMouseMove (e: MouseEvent | TouchEvent): number {\n const vertical = props.direction === 'vertical'\n const start = vertical ? 'top' : 'left'\n const length = vertical ? 'height' : 'width'\n const position = vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = trackContainerRef.value?.$el.getBoundingClientRect()\n const clickOffset = getPosition(e, position)\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - startOffset.value) / trackLength, 0), 1) || 0\n\n if (vertical || isReversed.value) clickPos = 1 - clickPos\n\n return roundValue(min.value + clickPos * (max.value - min.value))\n }\n\n let thumbMoved = false\n\n const handleStop = (e: MouseEvent | TouchEvent) => {\n if (!thumbMoved) {\n startOffset.value = 0\n handleSliderMouseUp(parseMouseMove(e))\n }\n\n mousePressed.value = false\n thumbMoved = false\n startOffset.value = 0\n }\n\n const handleStart = (e: MouseEvent | TouchEvent) => {\n activeThumbRef.value = getActiveThumb(e)\n\n if (!activeThumbRef.value) return\n\n activeThumbRef.value.focus()\n mousePressed.value = true\n\n if (activeThumbRef.value.contains(e.target as Node)) {\n thumbMoved = true\n startOffset.value = getOffset(e, activeThumbRef.value, props.direction)\n } else {\n startOffset.value = 0\n handleMouseMove(parseMouseMove(e))\n }\n }\n\n const moveListenerOptions = { passive: true, capture: true }\n\n function onMouseMove (e: MouseEvent | TouchEvent) {\n thumbMoved = true\n handleMouseMove(parseMouseMove(e))\n }\n\n function onSliderMouseUp (e: MouseEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.removeEventListener('mouseup', onSliderMouseUp)\n }\n\n function onSliderTouchend (e: TouchEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('touchmove', onMouseMove, moveListenerOptions)\n window.removeEventListener('touchend', onSliderTouchend)\n }\n\n function onSliderTouchstart (e: TouchEvent) {\n handleStart(e)\n\n window.addEventListener('touchmove', onMouseMove, moveListenerOptions)\n window.addEventListener('touchend', onSliderTouchend, { passive: false })\n }\n\n function onSliderMousedown (e: MouseEvent) {\n e.preventDefault()\n\n handleStart(e)\n\n window.addEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.addEventListener('mouseup', onSliderMouseUp, { passive: false })\n }\n\n const position = (val: number) => {\n const percentage = (val - min.value) / (max.value - min.value) * 100\n return clamp(isNaN(percentage) ? 0 : percentage, 0, 100)\n }\n\n const parsedTicks = computed<Tick[]>(() => {\n if (!props.ticks) {\n return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map(t => {\n const value = min.value + (t * step.value)\n return {\n value,\n position: position(value),\n }\n }) : []\n }\n if (Array.isArray(props.ticks)) return props.ticks.map(t => ({ value: t, position: position(t), label: t.toString() }))\n return Object.keys(props.ticks).map(key => ({\n value: parseInt(key, 10),\n position: position(parseInt(key, 10)),\n label: (props.ticks as Record<string, string>)[key],\n }))\n })\n\n const hasLabels = computed(() => parsedTicks.value.some(({ label }) => !!label))\n\n const data: SliderProvide = {\n activeThumbRef,\n color: toRef(props, 'color'),\n decimals,\n disabled,\n direction: toRef(props, 'direction'),\n elevation: toRef(props, 'elevation'),\n hasLabels,\n horizontalDirection,\n isReversed,\n min,\n max,\n mousePressed,\n numTicks,\n onSliderMousedown,\n onSliderTouchstart,\n parsedTicks,\n parseMouseMove,\n position,\n readonly: toRef(props, 'readonly'),\n rounded: toRef(props, 'rounded'),\n roundValue,\n showTicks: toRef(props, 'showTicks'),\n startOffset,\n step,\n thumbSize,\n thumbColor,\n thumbLabel: toRef(props, 'thumbLabel'),\n ticks: toRef(props, 'ticks'),\n tickSize,\n trackColor,\n trackContainerRef,\n trackFillColor,\n trackSize,\n vertical,\n }\n\n provide(VSliderSymbol, data)\n\n return data\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"slider.mjs","names":["makeElevationProps","makeRoundedProps","useRtl","clamp","createRange","propsFactory","computed","provide","ref","toRef","VSliderSymbol","Symbol","for","getOffset","e","el","direction","vertical","rect","getBoundingClientRect","touch","touches","clientY","top","height","clientX","left","width","getPosition","position","length","changedTouches","makeSliderProps","disabled","Boolean","error","readonly","max","type","Number","String","default","min","step","thumbColor","thumbLabel","undefined","validator","v","thumbSize","showTicks","ticks","Array","Object","tickSize","color","trackColor","trackFillColor","trackSize","includes","reverse","elevation","useSlider","props","handleSliderMouseUp","handleMouseMove","getActiveThumb","isRtl","isReversed","value","horizontalDirection","hd","parseFloat","decimals","trimmedStep","toString","trim","indexOf","parseInt","numTicks","mousePressed","startOffset","trackContainerRef","activeThumbRef","roundValue","clamped","offset","newValue","Math","round","toFixed","parseMouseMove","start","trackStart","trackLength","$el","clickOffset","clickPos","thumbMoved","handleStop","handleStart","focus","contains","target","moveListenerOptions","passive","capture","onMouseMove","onSliderMouseUp","stopPropagation","preventDefault","window","removeEventListener","onSliderTouchend","onSliderTouchstart","addEventListener","onSliderMousedown","val","percentage","isNaN","parsedTicks","Infinity","map","t","isArray","label","keys","key","hasLabels","some","data","rounded"],"sources":["../../../src/components/VSlider/slider.ts"],"sourcesContent":["/* eslint-disable max-statements */\n// Composables\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { useRtl } from '@/composables/rtl'\n\n// Utilities\nimport { clamp, createRange, propsFactory } from '@/util'\nimport { computed, provide, ref, toRef } from 'vue'\n\n// Types\nimport type { ExtractPropTypes, InjectionKey, PropType, Ref } from 'vue'\nimport type { VSliderTrack } from './VSliderTrack'\n\ntype Tick = {\n value: number\n position: number\n label?: string\n}\n\ntype SliderProvide = {\n activeThumbRef: Ref<HTMLElement | undefined>\n color: Ref<string | undefined>\n decimals: Ref<number>\n direction: Ref<'vertical' | 'horizontal'>\n disabled: Ref<boolean | undefined>\n elevation: Ref<number | string | undefined>\n min: Ref<number>\n max: Ref<number>\n mousePressed: Ref<boolean>\n numTicks: Ref<number>\n onSliderMousedown: (e: MouseEvent) => void\n onSliderTouchstart: (e: TouchEvent) => void\n parseMouseMove: (e: MouseEvent | TouchEvent) => number\n position: (val: number) => number\n readonly: Ref<boolean | undefined>\n rounded: Ref<boolean | number | string | undefined>\n roundValue: (value: number) => number\n thumbLabel: Ref<boolean | string | undefined>\n showTicks: Ref<boolean | 'always'>\n startOffset: Ref<number>\n step: Ref<number>\n thumbSize: Ref<number>\n thumbColor: Ref<string | undefined>\n trackColor: Ref<string | undefined>\n trackFillColor: Ref<string | undefined>\n trackSize: Ref<number>\n ticks: Ref<number[] | Record<string, string> | undefined>\n tickSize: Ref<number>\n trackContainerRef: Ref<VSliderTrack | undefined>\n vertical: Ref<boolean>\n parsedTicks: Ref<Tick[]>\n hasLabels: Ref<boolean>\n isReversed: Ref<boolean>\n horizontalDirection: Ref<'ltr' | 'rtl'>\n}\n\nexport const VSliderSymbol: InjectionKey<SliderProvide> = Symbol.for('vuetify:v-slider')\n\nexport function getOffset (e: MouseEvent | TouchEvent, el: HTMLElement, direction: string) {\n const vertical = direction === 'vertical'\n const rect = el.getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n return vertical\n ? touch.clientY - (rect.top + rect.height / 2)\n : touch.clientX - (rect.left + rect.width / 2)\n}\n\nfunction getPosition (e: MouseEvent | TouchEvent, position: 'clientX' | 'clientY'): number {\n if ('touches' in e && e.touches.length) return e.touches[0][position]\n else if ('changedTouches' in e && e.changedTouches.length) return e.changedTouches[0][position]\n else return (e as MouseEvent)[position]\n}\n\nexport const makeSliderProps = propsFactory({\n disabled: Boolean,\n error: Boolean,\n readonly: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 0,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 20,\n },\n showTicks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: false,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n ticks: {\n type: [Array, Object] as PropType<number[] | Record<number, string>>,\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n color: String,\n trackColor: String,\n trackFillColor: String,\n trackSize: {\n type: [Number, String],\n default: 4,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n },\n reverse: Boolean,\n\n ...makeRoundedProps(),\n ...makeElevationProps({\n elevation: 2,\n }),\n}, 'slider')\n\ntype SliderProps = ExtractPropTypes<ReturnType<typeof makeSliderProps>>\n\nexport const useSlider = ({\n props,\n handleSliderMouseUp,\n handleMouseMove,\n getActiveThumb,\n}: {\n props: SliderProps\n handleSliderMouseUp: (v: number) => void\n handleMouseMove: (v: number) => void\n getActiveThumb: (e: MouseEvent | TouchEvent) => HTMLElement\n}) => {\n const { isRtl } = useRtl()\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const horizontalDirection = computed(() => {\n let hd: 'ltr' | 'rtl' = isRtl.value ? 'rtl' : 'ltr'\n\n if (props.reverse) {\n hd = hd === 'rtl' ? 'ltr' : 'rtl'\n }\n\n return hd\n })\n const min = computed(() => parseFloat(props.min))\n const max = computed(() => parseFloat(props.max))\n const step = computed(() => props.step > 0 ? parseFloat(props.step) : 0)\n const decimals = computed(() => {\n const trimmedStep = step.value.toString().trim()\n return trimmedStep.includes('.')\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n })\n\n const thumbSize = computed(() => parseInt(props.thumbSize, 10))\n const tickSize = computed(() => parseInt(props.tickSize, 10))\n const trackSize = computed(() => parseInt(props.trackSize, 10))\n const numTicks = computed(() => (max.value - min.value) / step.value)\n const disabled = toRef(props, 'disabled')\n const vertical = computed(() => props.direction === 'vertical')\n\n const thumbColor = computed(() => props.error || props.disabled ? undefined : props.thumbColor ?? props.color)\n const trackColor = computed(() => props.error || props.disabled ? undefined : props.trackColor ?? props.color)\n const trackFillColor = computed(() => props.error || props.disabled ? undefined : props.trackFillColor ?? props.color)\n\n const mousePressed = ref(false)\n\n const startOffset = ref(0)\n const trackContainerRef = ref<VSliderTrack | undefined>()\n const activeThumbRef = ref<HTMLElement | undefined>()\n\n function roundValue (value: number) {\n if (step.value <= 0) return value\n\n const clamped = clamp(value, min.value, max.value)\n const offset = min.value % step.value\n const newValue = Math.round((clamped - offset) / step.value) * step.value + offset\n\n return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value))\n }\n\n function parseMouseMove (e: MouseEvent | TouchEvent): number {\n const vertical = props.direction === 'vertical'\n const start = vertical ? 'top' : 'left'\n const length = vertical ? 'height' : 'width'\n const position = vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = trackContainerRef.value?.$el.getBoundingClientRect()\n const clickOffset = getPosition(e, position)\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - startOffset.value) / trackLength, 0), 1) || 0\n\n if (vertical || isReversed.value) clickPos = 1 - clickPos\n\n return roundValue(min.value + clickPos * (max.value - min.value))\n }\n\n let thumbMoved = false\n\n const handleStop = (e: MouseEvent | TouchEvent) => {\n if (!thumbMoved) {\n startOffset.value = 0\n handleSliderMouseUp(parseMouseMove(e))\n }\n\n mousePressed.value = false\n thumbMoved = false\n startOffset.value = 0\n }\n\n const handleStart = (e: MouseEvent | TouchEvent) => {\n activeThumbRef.value = getActiveThumb(e)\n\n if (!activeThumbRef.value) return\n\n activeThumbRef.value.focus()\n mousePressed.value = true\n\n if (activeThumbRef.value.contains(e.target as Node)) {\n thumbMoved = true\n startOffset.value = getOffset(e, activeThumbRef.value, props.direction)\n } else {\n startOffset.value = 0\n handleMouseMove(parseMouseMove(e))\n }\n }\n\n const moveListenerOptions = { passive: true, capture: true }\n\n function onMouseMove (e: MouseEvent | TouchEvent) {\n thumbMoved = true\n handleMouseMove(parseMouseMove(e))\n }\n\n function onSliderMouseUp (e: MouseEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.removeEventListener('mouseup', onSliderMouseUp)\n }\n\n function onSliderTouchend (e: TouchEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('touchmove', onMouseMove, moveListenerOptions)\n window.removeEventListener('touchend', onSliderTouchend)\n }\n\n function onSliderTouchstart (e: TouchEvent) {\n handleStart(e)\n\n window.addEventListener('touchmove', onMouseMove, moveListenerOptions)\n window.addEventListener('touchend', onSliderTouchend, { passive: false })\n }\n\n function onSliderMousedown (e: MouseEvent) {\n e.preventDefault()\n\n handleStart(e)\n\n window.addEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.addEventListener('mouseup', onSliderMouseUp, { passive: false })\n }\n\n const position = (val: number) => {\n const percentage = (val - min.value) / (max.value - min.value) * 100\n return clamp(isNaN(percentage) ? 0 : percentage, 0, 100)\n }\n\n const parsedTicks = computed<Tick[]>(() => {\n if (!props.ticks) {\n return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map(t => {\n const value = min.value + (t * step.value)\n return {\n value,\n position: position(value),\n }\n }) : []\n }\n if (Array.isArray(props.ticks)) return props.ticks.map(t => ({ value: t, position: position(t), label: t.toString() }))\n return Object.keys(props.ticks).map(key => ({\n value: parseInt(key, 10),\n position: position(parseInt(key, 10)),\n label: (props.ticks as Record<string, string>)[key],\n }))\n })\n\n const hasLabels = computed(() => parsedTicks.value.some(({ label }) => !!label))\n\n const data: SliderProvide = {\n activeThumbRef,\n color: toRef(props, 'color'),\n decimals,\n disabled,\n direction: toRef(props, 'direction'),\n elevation: toRef(props, 'elevation'),\n hasLabels,\n horizontalDirection,\n isReversed,\n min,\n max,\n mousePressed,\n numTicks,\n onSliderMousedown,\n onSliderTouchstart,\n parsedTicks,\n parseMouseMove,\n position,\n readonly: toRef(props, 'readonly'),\n rounded: toRef(props, 'rounded'),\n roundValue,\n showTicks: toRef(props, 'showTicks'),\n startOffset,\n step,\n thumbSize,\n thumbColor,\n thumbLabel: toRef(props, 'thumbLabel'),\n ticks: toRef(props, 'ticks'),\n tickSize,\n trackColor,\n trackContainerRef,\n trackFillColor,\n trackSize,\n vertical,\n }\n\n provide(VSliderSymbol, data)\n\n return data\n}\n"],"mappings":"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"}
@@ -22,7 +22,7 @@
22
22
  position: relative;
23
23
  border-radius: 4px;
24
24
  }
25
- .v-snackbar--variant-plain, .v-snackbar--variant-outlined, .v-snackbar--variant-text, .v-snackbar--variant-contained-text {
25
+ .v-snackbar--variant-plain, .v-snackbar--variant-outlined, .v-snackbar--variant-text, .v-snackbar--variant-tonal {
26
26
  background: transparent;
27
27
  color: inherit;
28
28
  }
@@ -35,14 +35,14 @@
35
35
  .v-snackbar--variant-plain .v-snackbar__overlay {
36
36
  display: none;
37
37
  }
38
- .v-snackbar--variant-contained, .v-snackbar--variant-contained-flat {
38
+ .v-snackbar--variant-elevated, .v-snackbar--variant-flat {
39
39
  background: #333333;
40
40
  color: rgb(var(--v-theme-on-surface-variant));
41
41
  }
42
- .v-snackbar--variant-contained {
42
+ .v-snackbar--variant-elevated {
43
43
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
44
44
  }
45
- .v-snackbar--variant-contained-flat {
45
+ .v-snackbar--variant-flat {
46
46
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
47
47
  }
48
48
  .v-snackbar--variant-outlined {
@@ -51,7 +51,7 @@
51
51
  .v-snackbar--variant-text .v-snackbar__overlay {
52
52
  background: currentColor;
53
53
  }
54
- .v-snackbar--variant-contained-text .v-snackbar__underlay {
54
+ .v-snackbar--variant-tonal .v-snackbar__underlay {
55
55
  background: currentColor;
56
56
  opacity: var(--v-activated-opacity);
57
57
  border-radius: inherit;
@@ -5,16 +5,17 @@ import "./VSnackbar.css"; // Components
5
5
  import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs";
6
6
  import { VOverlay } from "../VOverlay/index.mjs"; // Composables
7
7
 
8
+ import { genOverlays, makeVariantProps, useVariant } from "../../composables/variant.mjs";
9
+ import { makeLocationProps, useLocation } from "../../composables/location.mjs";
8
10
  import { makePositionProps, usePosition } from "../../composables/position.mjs";
9
- import { useProxiedModel } from "../../composables/proxiedModel.mjs";
11
+ import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
10
12
  import { makeTransitionProps } from "../../composables/transition.mjs";
11
- import { genOverlays, makeVariantProps, useVariant } from "../../composables/variant.mjs"; // Utilities
13
+ import { useProxiedModel } from "../../composables/proxiedModel.mjs";
14
+ import { useScopeId } from "../../composables/scopeId.mjs";
15
+ import { useForwardRef } from "../../composables/forwardRef.mjs"; // Utilities
12
16
 
13
- import { onMounted, watch } from 'vue';
17
+ import { onMounted, ref, watch } from 'vue';
14
18
  import { defineComponent, useRender } from "../../util/index.mjs";
15
- import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
16
- import { makeLocationProps, useLocation } from "../../composables/location.mjs";
17
- import { useScopeId } from "../../composables/scopeId.mjs";
18
19
  export const VSnackbar = defineComponent({
19
20
  name: 'VSnackbar',
20
21
  props: {
@@ -66,6 +67,7 @@ export const VSnackbar = defineComponent({
66
67
  const {
67
68
  roundedClasses
68
69
  } = useRounded(props);
70
+ const overlay = ref();
69
71
  watch(isActive, startTimeout);
70
72
  watch(() => props.timeout, startTimeout);
71
73
  onMounted(() => {
@@ -86,50 +88,48 @@ export const VSnackbar = defineComponent({
86
88
  window.clearTimeout(activeTimeout);
87
89
  }
88
90
 
89
- useRender(() => {
90
- var _slots$default, _slots$actions;
91
-
92
- return _createVNode(VOverlay, _mergeProps({
93
- "modelValue": isActive.value,
94
- "onUpdate:modelValue": $event => isActive.value = $event,
95
- "class": ['v-snackbar', {
96
- 'v-snackbar--active': isActive.value,
97
- 'v-snackbar--multi-line': props.multiLine && !props.vertical,
98
- 'v-snackbar--vertical': props.vertical
99
- }, positionClasses.value],
100
- "style": [colorStyles.value],
101
- "contentProps": {
102
- style: locationStyles.value
103
- },
104
- "persistent": true,
105
- "noClickAnimation": true,
106
- "scrim": false,
107
- "scrollStrategy": "none",
108
- "transition": props.transition
109
- }, scopeId), {
110
- default: () => [_createVNode("div", {
111
- "class": ['v-snackbar__wrapper', colorClasses.value, roundedClasses.value, variantClasses.value],
112
- "onPointerenter": onPointerenter,
113
- "onPointerleave": startTimeout
114
- }, [genOverlays(false, 'v-snackbar'), slots.default && _createVNode("div", {
115
- "class": ['v-snackbar__content', props.contentClass],
116
- "role": "status",
117
- "aria-live": "polite"
118
- }, [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots)]), slots.actions && _createVNode(VDefaultsProvider, {
119
- "defaults": {
120
- VBtn: {
121
- variant: 'text',
122
- ripple: false
123
- }
91
+ useRender(() => _createVNode(VOverlay, _mergeProps({
92
+ "modelValue": isActive.value,
93
+ "onUpdate:modelValue": $event => isActive.value = $event,
94
+ "ref": overlay,
95
+ "class": ['v-snackbar', {
96
+ 'v-snackbar--active': isActive.value,
97
+ 'v-snackbar--multi-line': props.multiLine && !props.vertical,
98
+ 'v-snackbar--vertical': props.vertical
99
+ }, positionClasses.value],
100
+ "style": [colorStyles.value],
101
+ "contentProps": {
102
+ style: locationStyles.value
103
+ },
104
+ "persistent": true,
105
+ "noClickAnimation": true,
106
+ "scrim": false,
107
+ "scrollStrategy": "none",
108
+ "transition": props.transition
109
+ }, scopeId), {
110
+ default: () => [_createVNode("div", {
111
+ "class": ['v-snackbar__wrapper', colorClasses.value, roundedClasses.value, variantClasses.value],
112
+ "onPointerenter": onPointerenter,
113
+ "onPointerleave": startTimeout
114
+ }, [genOverlays(false, 'v-snackbar'), slots.default && _createVNode("div", {
115
+ "class": ['v-snackbar__content', props.contentClass],
116
+ "role": "status",
117
+ "aria-live": "polite"
118
+ }, [slots.default()]), slots.actions && _createVNode(VDefaultsProvider, {
119
+ "defaults": {
120
+ VBtn: {
121
+ variant: 'text',
122
+ ripple: false
124
123
  }
125
- }, {
126
- default: () => [_createVNode("div", {
127
- "class": "v-snackbar__actions"
128
- }, [(_slots$actions = slots.actions) == null ? void 0 : _slots$actions.call(slots)])]
129
- })])],
130
- activator: slots.activator
131
- });
132
- });
124
+ }
125
+ }, {
126
+ default: () => [_createVNode("div", {
127
+ "class": "v-snackbar__actions"
128
+ }, [slots.actions()])]
129
+ })])],
130
+ activator: slots.activator
131
+ }));
132
+ return useForwardRef({}, overlay);
133
133
  }
134
134
 
135
135
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VSnackbar.mjs","names":["VDefaultsProvider","VOverlay","makePositionProps","usePosition","useProxiedModel","makeTransitionProps","genOverlays","makeVariantProps","useVariant","onMounted","watch","defineComponent","useRender","makeRoundedProps","useRounded","makeLocationProps","useLocation","useScopeId","VSnackbar","name","props","app","Boolean","contentClass","type","String","default","multiLine","timeout","Number","vertical","modelValue","location","transition","emits","v","setup","slots","isActive","locationStyles","positionClasses","scopeId","colorClasses","colorStyles","variantClasses","roundedClasses","startTimeout","value","activeTimeout","window","clearTimeout","setTimeout","onPointerenter","style","actions","VBtn","variant","ripple","activator"],"sources":["../../../src/components/VSnackbar/VSnackbar.tsx"],"sourcesContent":["// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\n\n// Composables\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { onMounted, watch } from 'vue'\nimport { defineComponent, useRender } from '@/util'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { useScopeId } from '@/composables/scopeId'\n\nexport const VSnackbar = defineComponent({\n name: 'VSnackbar',\n\n props: {\n app: Boolean,\n contentClass: {\n type: String,\n default: '',\n },\n multiLine: Boolean,\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n vertical: Boolean,\n\n modelValue: Boolean,\n\n ...makeLocationProps({ location: 'bottom' } as const),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeVariantProps(),\n ...makeTransitionProps({ transition: 'v-snackbar-transition' }),\n },\n\n emits: {\n 'update:modelValue': (v: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { scopeId } = useScopeId()\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { roundedClasses } = useRounded(props)\n\n watch(isActive, startTimeout)\n watch(() => props.timeout, startTimeout)\n\n onMounted(() => {\n if (isActive.value) startTimeout()\n })\n\n let activeTimeout = -1\n function startTimeout () {\n window.clearTimeout(activeTimeout)\n const timeout = Number(props.timeout)\n\n if (!isActive.value || timeout === -1) return\n\n activeTimeout = window.setTimeout(() => {\n isActive.value = false\n }, timeout)\n }\n\n function onPointerenter () {\n window.clearTimeout(activeTimeout)\n }\n\n useRender(() => (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-snackbar',\n {\n 'v-snackbar--active': isActive.value,\n 'v-snackbar--multi-line': props.multiLine && !props.vertical,\n 'v-snackbar--vertical': props.vertical,\n },\n positionClasses.value,\n ]}\n style={[colorStyles.value]}\n contentProps={{\n style: locationStyles.value,\n }}\n persistent\n noClickAnimation\n scrim={ false }\n scrollStrategy=\"none\"\n transition={ props.transition }\n { ...scopeId }\n v-slots={{ activator: slots.activator }}\n >\n <div\n class={[\n 'v-snackbar__wrapper',\n colorClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n onPointerenter={ onPointerenter }\n onPointerleave={ startTimeout }\n >\n { genOverlays(false, 'v-snackbar') }\n\n { slots.default && (\n <div\n class={[\n 'v-snackbar__content',\n props.contentClass,\n ]}\n role=\"status\"\n aria-live=\"polite\"\n >\n { slots.default?.() }\n </div>\n ) }\n\n { slots.actions && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n variant: 'text',\n ripple: false,\n },\n }}\n >\n <div class=\"v-snackbar__actions\">\n { slots.actions?.() }\n </div>\n </VDefaultsProvider>\n ) }\n </div>\n </VOverlay>\n ))\n },\n})\n\nexport type VSnackbar = InstanceType<typeof VSnackbar>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VSnackbar.mjs","names":["VDefaultsProvider","VOverlay","genOverlays","makeVariantProps","useVariant","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeTransitionProps","useProxiedModel","useScopeId","useForwardRef","onMounted","ref","watch","defineComponent","useRender","VSnackbar","name","props","app","Boolean","contentClass","type","String","default","multiLine","timeout","Number","vertical","modelValue","location","transition","emits","v","setup","slots","isActive","locationStyles","positionClasses","scopeId","colorClasses","colorStyles","variantClasses","roundedClasses","overlay","startTimeout","value","activeTimeout","window","clearTimeout","setTimeout","onPointerenter","style","actions","VBtn","variant","ripple","activator"],"sources":["../../../src/components/VSnackbar/VSnackbar.tsx"],"sourcesContent":["// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\nimport { useForwardRef } from '@/composables/forwardRef'\n\n// Utilities\nimport { onMounted, ref, watch } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\nexport const VSnackbar = defineComponent({\n name: 'VSnackbar',\n\n props: {\n app: Boolean,\n contentClass: {\n type: String,\n default: '',\n },\n multiLine: Boolean,\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n vertical: Boolean,\n\n modelValue: Boolean,\n\n ...makeLocationProps({ location: 'bottom' } as const),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeVariantProps(),\n ...makeTransitionProps({ transition: 'v-snackbar-transition' }),\n },\n\n emits: {\n 'update:modelValue': (v: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { scopeId } = useScopeId()\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { roundedClasses } = useRounded(props)\n\n const overlay = ref<VOverlay>()\n\n watch(isActive, startTimeout)\n watch(() => props.timeout, startTimeout)\n\n onMounted(() => {\n if (isActive.value) startTimeout()\n })\n\n let activeTimeout = -1\n function startTimeout () {\n window.clearTimeout(activeTimeout)\n const timeout = Number(props.timeout)\n\n if (!isActive.value || timeout === -1) return\n\n activeTimeout = window.setTimeout(() => {\n isActive.value = false\n }, timeout)\n }\n\n function onPointerenter () {\n window.clearTimeout(activeTimeout)\n }\n\n useRender(() => (\n <VOverlay\n v-model={ isActive.value }\n ref={ overlay }\n class={[\n 'v-snackbar',\n {\n 'v-snackbar--active': isActive.value,\n 'v-snackbar--multi-line': props.multiLine && !props.vertical,\n 'v-snackbar--vertical': props.vertical,\n },\n positionClasses.value,\n ]}\n style={[colorStyles.value]}\n contentProps={{\n style: locationStyles.value,\n }}\n persistent\n noClickAnimation\n scrim={ false }\n scrollStrategy=\"none\"\n transition={ props.transition }\n { ...scopeId }\n v-slots={{ activator: slots.activator }}\n >\n <div\n class={[\n 'v-snackbar__wrapper',\n colorClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n onPointerenter={ onPointerenter }\n onPointerleave={ startTimeout }\n >\n { genOverlays(false, 'v-snackbar') }\n\n { slots.default && (\n <div\n class={[\n 'v-snackbar__content',\n props.contentClass,\n ]}\n role=\"status\"\n aria-live=\"polite\"\n >\n { slots.default() }\n </div>\n ) }\n\n { slots.actions && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n variant: 'text',\n ripple: false,\n },\n }}\n >\n <div class=\"v-snackbar__actions\">\n { slots.actions() }\n </div>\n </VDefaultsProvider>\n ) }\n </div>\n </VOverlay>\n ))\n\n return useForwardRef({}, overlay)\n },\n})\n\nexport type VSnackbar = InstanceType<typeof VSnackbar>\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/tools'
3
2
  @use '../../styles/settings'
4
3
  @use './variables' as *
@@ -1,6 +1,7 @@
1
1
  @use '../../styles/settings';
2
2
  @use '../../styles/tools';
3
3
 
4
+ // VSnackbar
4
5
  $snackbar-absolute-z-index: 1 !default;
5
6
  $snackbar-action-margin: 8px !default;
6
7
  $snackbar-background-color: #333333 !default;
@@ -26,6 +27,7 @@ $snackbar-wrapper-min-width: 344px !default;
26
27
  $snackbar-wrapper-padding: 0 !default;
27
28
  $snackbar-z-index: 10000 !default;
28
29
 
30
+ // List
29
31
  $snackbar-variants: (
30
32
  $snackbar-background,
31
33
  $snackbar-color,
@@ -44,6 +44,13 @@
44
44
  .v-switch--inset .v-switch__thumb {
45
45
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
46
46
  }
47
+ .v-switch:not(.v-switch--loading) .v-icon ~ .v-switch__thumb {
48
+ display: none;
49
+ }
50
+
51
+ .v-switch--loading .v-selection-control__input > .v-icon {
52
+ display: none;
53
+ }
47
54
 
48
55
  .v-switch .v-selection-control {
49
56
  height: var(--v-input-control-height);
@@ -10,7 +10,7 @@ import { LoaderSlot, useLoader } from "../../composables/loader.mjs";
10
10
  import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utility
11
11
 
12
12
  import { computed, ref } from 'vue';
13
- import { defineComponent, filterInputAttrs, useRender } from "../../util/index.mjs";
13
+ import { defineComponent, filterInputAttrs, getUid, useRender } from "../../util/index.mjs";
14
14
  export const VSwitch = defineComponent({
15
15
  name: 'VSwitch',
16
16
  inheritAttrs: false,
@@ -41,6 +41,8 @@ export const VSwitch = defineComponent({
41
41
  const loaderColor = computed(() => {
42
42
  return typeof props.loading === 'string' && props.loading !== '' ? props.loading : props.color;
43
43
  });
44
+ const uid = getUid();
45
+ const id = computed(() => props.id || `switch-${uid}`);
44
46
 
45
47
  function onChange() {
46
48
  if (indeterminate.value) {
@@ -66,9 +68,12 @@ export const VSwitch = defineComponent({
66
68
  }, {
67
69
  'v-switch--indeterminate': indeterminate.value
68
70
  }, loaderClasses.value]
69
- }, inputAttrs, inputProps), { ...slots,
71
+ }, inputAttrs, inputProps, {
72
+ "id": id.value
73
+ }), { ...slots,
70
74
  default: _ref2 => {
71
75
  let {
76
+ id,
72
77
  isDisabled,
73
78
  isReadonly,
74
79
  isValid
@@ -76,6 +81,7 @@ export const VSwitch = defineComponent({
76
81
  return _createVNode(VSelectionControl, _mergeProps({
77
82
  "ref": control
78
83
  }, controlProps, {
84
+ "id": id.value,
79
85
  "type": "checkbox",
80
86
  "onUpdate:modelValue": onChange,
81
87
  "aria-checked": indeterminate.value ? 'mixed' : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"VSwitch.mjs","names":["filterControlProps","makeSelectionControlProps","VSelectionControl","filterInputProps","makeVInputProps","VInput","VProgressCircular","LoaderSlot","useLoader","useProxiedModel","computed","ref","defineComponent","filterInputAttrs","useRender","VSwitch","name","inheritAttrs","props","indeterminate","Boolean","inset","flat","loading","type","String","default","emits","val","setup","attrs","slots","loaderClasses","loaderColor","color","onChange","value","inputAttrs","controlAttrs","inputProps","_1","controlProps","_2","control","onClick","input","click","isDisabled","isReadonly","isValid","undefined","textColorClasses","slotProps","loader","isActive"],"sources":["../../../src/components/VSwitch/VSwitch.tsx"],"sourcesContent":["// Styles\nimport './VSwitch.sass'\n\n// Components\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { LoaderSlot, useLoader } from '@/composables/loader'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, ref } from 'vue'\nimport { defineComponent, filterInputAttrs, useRender } from '@/util'\n\nexport const VSwitch = defineComponent({\n name: 'VSwitch',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n },\n\n emits: {\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const { loaderClasses } = useLoader(props)\n\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== ''\n ? props.loading\n : props.color\n })\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const control = ref<VSelectionControl>()\n\n function onClick () {\n control.value?.input?.click()\n }\n\n return (\n <VInput\n class={[\n 'v-switch',\n { 'v-switch--inset': props.inset },\n { 'v-switch--indeterminate': indeterminate.value },\n loaderClasses.value,\n ]}\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <VSelectionControl\n ref={ control }\n { ...controlProps }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n >\n {{\n ...slots,\n default: () => (<div class=\"v-switch__track\" onClick={ onClick }></div>),\n input: ({ textColorClasses }) => (\n <div\n class={[\n 'v-switch__thumb',\n textColorClasses.value,\n ]}\n >\n { props.loading && (\n <LoaderSlot\n name=\"v-switch\"\n active\n color={ isValid.value === false ? undefined : loaderColor.value }\n >\n { slotProps => (\n slots.loader\n ? slots.loader(slotProps)\n : (\n <VProgressCircular\n active={ slotProps.isActive }\n color={ slotProps.color }\n indeterminate\n size=\"16\"\n width=\"2\"\n />\n )\n )}\n </LoaderSlot>\n ) }\n </div>\n ),\n }}\n </VSelectionControl>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSwitch = InstanceType<typeof VSwitch>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VSwitch.mjs","names":["filterControlProps","makeSelectionControlProps","VSelectionControl","filterInputProps","makeVInputProps","VInput","VProgressCircular","LoaderSlot","useLoader","useProxiedModel","computed","ref","defineComponent","filterInputAttrs","getUid","useRender","VSwitch","name","inheritAttrs","props","indeterminate","Boolean","inset","flat","loading","type","String","default","emits","val","setup","attrs","slots","loaderClasses","loaderColor","color","uid","id","onChange","value","inputAttrs","controlAttrs","inputProps","_1","controlProps","_2","control","onClick","input","click","isDisabled","isReadonly","isValid","undefined","textColorClasses","slotProps","loader","isActive"],"sources":["../../../src/components/VSwitch/VSwitch.tsx"],"sourcesContent":["// Styles\nimport './VSwitch.sass'\n\n// Components\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { LoaderSlot, useLoader } from '@/composables/loader'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, ref } from 'vue'\nimport { defineComponent, filterInputAttrs, getUid, useRender } from '@/util'\n\nexport const VSwitch = defineComponent({\n name: 'VSwitch',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n },\n\n emits: {\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const { loaderClasses } = useLoader(props)\n\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== ''\n ? props.loading\n : props.color\n })\n\n const uid = getUid()\n const id = computed(() => props.id || `switch-${uid}`)\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const control = ref<VSelectionControl>()\n\n function onClick () {\n control.value?.input?.click()\n }\n\n return (\n <VInput\n class={[\n 'v-switch',\n { 'v-switch--inset': props.inset },\n { 'v-switch--indeterminate': indeterminate.value },\n loaderClasses.value,\n ]}\n { ...inputAttrs }\n { ...inputProps }\n id={ id.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <VSelectionControl\n ref={ control }\n { ...controlProps }\n id={ id.value }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n >\n {{\n ...slots,\n default: () => (<div class=\"v-switch__track\" onClick={ onClick }></div>),\n input: ({ textColorClasses }) => (\n <div\n class={[\n 'v-switch__thumb',\n textColorClasses.value,\n ]}\n >\n { props.loading && (\n <LoaderSlot\n name=\"v-switch\"\n active\n color={ isValid.value === false ? undefined : loaderColor.value }\n >\n { slotProps => (\n slots.loader\n ? slots.loader(slotProps)\n : (\n <VProgressCircular\n active={ slotProps.isActive }\n color={ slotProps.color }\n indeterminate\n size=\"16\"\n width=\"2\"\n />\n )\n )}\n </LoaderSlot>\n ) }\n </div>\n ),\n }}\n </VSelectionControl>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSwitch = InstanceType<typeof VSwitch>\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use 'sass:selector'
3
2
  @use '../../styles/settings'
4
3
  @use '../../styles/tools'
@@ -47,6 +46,12 @@
47
46
  .v-switch--inset &
48
47
  @include tools.elevation(0)
49
48
 
49
+ .v-switch:not(.v-switch--loading) .v-icon ~ &
50
+ display: none
51
+
52
+ .v-switch--loading .v-selection-control__input > .v-icon
53
+ display: none
54
+
50
55
  .v-switch
51
56
  $switch-thumb-transform: $switch-track-width * .5 - $switch-thumb-width * .5 + $switch-thumb-offset
52
57
 
@@ -1,5 +1,6 @@
1
1
  @use '../../styles/settings';
2
2
 
3
+ // VSwitch
3
4
  $switch-control-input-transition: .15s transform settings.$standard-easing !default;
4
5
  $switch-error-background-color: rgb(var(--v-theme-error)) !default;
5
6
  $switch-inset-track-border-radius: 14px !default;
@@ -7,11 +7,10 @@ import { makeLayoutItemProps, useLayoutItem } from "../../composables/layout.mjs
7
7
  import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
8
8
  import { makeTagProps } from "../../composables/tag.mjs";
9
9
  import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
10
- import { provideDefaults } from "../../composables/defaults.mjs";
11
10
  import { useBackgroundColor } from "../../composables/color.mjs"; // Utilities
12
11
 
13
12
  import { computed, ref, toRef } from 'vue';
14
- import { defineComponent } from "../../util/index.mjs";
13
+ import { defineComponent, useRender } from "../../util/index.mjs";
15
14
  export const VSystemBar = defineComponent({
16
15
  name: 'VSystemBar',
17
16
  props: {
@@ -45,7 +44,7 @@ export const VSystemBar = defineComponent({
45
44
  const height = computed(() => {
46
45
  var _props$height;
47
46
 
48
- return ((_props$height = props.height) != null ? _props$height : props.window) ? 32 : 24;
47
+ return (_props$height = props.height) != null ? _props$height : props.window ? 32 : 24;
49
48
  });
50
49
  const {
51
50
  layoutItemStyles
@@ -58,20 +57,13 @@ export const VSystemBar = defineComponent({
58
57
  active: computed(() => true),
59
58
  absolute: toRef(props, 'absolute')
60
59
  });
61
- provideDefaults({
62
- VBtn: {
63
- variant: 'text',
64
- density: 'compact'
65
- }
66
- }, {
67
- scoped: true
68
- });
69
- return () => _createVNode(props.tag, {
60
+ useRender(() => _createVNode(props.tag, {
70
61
  "class": ['v-system-bar', {
71
62
  'v-system-bar--window': props.window
72
63
  }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value],
73
64
  "style": [backgroundColorStyles.value, layoutItemStyles.value]
74
- }, slots);
65
+ }, slots));
66
+ return {};
75
67
  }
76
68
 
77
69
  });