@vuetify/nightly 3.0.0-beta.4 → 3.0.0-beta.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 (333) hide show
  1. package/CHANGELOG.md +13 -24
  2. package/dist/json/attributes.json +66 -122
  3. package/dist/json/importMap.json +121 -137
  4. package/dist/json/tags.json +20 -68
  5. package/dist/json/web-types.json +201 -482
  6. package/dist/vuetify.css +1672 -1536
  7. package/dist/vuetify.d.ts +494 -464
  8. package/dist/vuetify.esm.js +3835 -3452
  9. package/dist/vuetify.esm.js.map +1 -1
  10. package/dist/vuetify.js +3834 -3451
  11. package/dist/vuetify.js.map +1 -1
  12. package/dist/vuetify.min.css +2 -2
  13. package/dist/vuetify.min.js +1027 -1012
  14. package/dist/vuetify.min.js.map +1 -1
  15. package/lib/blueprints/index.mjs +4 -0
  16. package/lib/blueprints/index.mjs.map +1 -0
  17. package/lib/blueprints/md1.mjs +63 -0
  18. package/lib/blueprints/md1.mjs.map +1 -0
  19. package/lib/blueprints/md2.mjs +60 -0
  20. package/lib/blueprints/md2.mjs.map +1 -0
  21. package/lib/blueprints/md3.mjs +74 -0
  22. package/lib/blueprints/md3.mjs.map +1 -0
  23. package/lib/components/VAlert/VAlert.mjs +7 -1
  24. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  25. package/lib/components/VApp/VApp.css +2 -5
  26. package/lib/components/VApp/VApp.mjs +3 -4
  27. package/lib/components/VApp/VApp.mjs.map +1 -1
  28. package/lib/components/VApp/VApp.sass +11 -12
  29. package/lib/components/VApp/variables.scss +6 -0
  30. package/lib/components/VAppBar/VAppBar.mjs +4 -3
  31. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  32. package/lib/components/VAppBar/VAppBarNavIcon.mjs +7 -12
  33. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  34. package/lib/components/VAppBar/VAppBarTitle.mjs +4 -3
  35. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  36. package/lib/components/VAppBar/_variables.scss +2 -0
  37. package/lib/components/VAutocomplete/VAutocomplete.mjs +9 -5
  38. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  39. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  40. package/lib/components/VBadge/VBadge.mjs +8 -7
  41. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  42. package/lib/components/VBadge/_variables.scss +2 -2
  43. package/lib/components/VBanner/VBanner.css +7 -7
  44. package/lib/components/VBanner/VBanner.mjs +24 -17
  45. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  46. package/lib/components/VBanner/VBanner.sass +6 -7
  47. package/lib/components/VBanner/VBannerActions.mjs +1 -1
  48. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  49. package/lib/components/VBanner/index.mjs +0 -2
  50. package/lib/components/VBanner/index.mjs.map +1 -1
  51. package/lib/components/VBottomNavigation/VBottomNavigation.css +4 -11
  52. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +4 -3
  53. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  54. package/lib/components/VBottomNavigation/VBottomNavigation.sass +5 -12
  55. package/lib/components/VBottomNavigation/_variables.scss +7 -8
  56. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +31 -16
  57. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  58. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +5 -8
  59. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  60. package/lib/components/VBtn/VBtn.css +42 -9
  61. package/lib/components/VBtn/VBtn.mjs +60 -29
  62. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  63. package/lib/components/VBtn/VBtn.sass +36 -5
  64. package/lib/components/VBtn/_variables.scss +7 -3
  65. package/lib/components/VBtnGroup/VBtnGroup.css +1 -1
  66. package/lib/components/VBtnGroup/_variables.scss +2 -0
  67. package/lib/components/VBtnToggle/_variables.scss +1 -0
  68. package/lib/components/VCard/VCard.css +78 -61
  69. package/lib/components/VCard/VCard.mjs +51 -65
  70. package/lib/components/VCard/VCard.mjs.map +1 -1
  71. package/lib/components/VCard/VCard.sass +71 -58
  72. package/lib/components/VCard/VCardActions.mjs +1 -1
  73. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  74. package/lib/components/VCard/VCardItem.mjs +88 -0
  75. package/lib/components/VCard/VCardItem.mjs.map +1 -0
  76. package/lib/components/VCard/_variables.scss +39 -24
  77. package/lib/components/VCard/index.mjs +1 -5
  78. package/lib/components/VCard/index.mjs.map +1 -1
  79. package/lib/components/VCarousel/VCarousel.mjs +5 -4
  80. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  81. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  82. package/lib/components/VCarousel/_variables.scss +1 -0
  83. package/lib/components/VChip/VChip.css +137 -60
  84. package/lib/components/VChip/VChip.mjs +74 -36
  85. package/lib/components/VChip/VChip.mjs.map +1 -1
  86. package/lib/components/VChip/VChip.sass +6 -0
  87. package/lib/components/VChip/_mixins.scss +26 -6
  88. package/lib/components/VChip/_variables.scss +1 -5
  89. package/lib/components/VChipGroup/VChipGroup.mjs +4 -3
  90. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  91. package/lib/components/VChipGroup/VChipGroup.sass +1 -1
  92. package/lib/components/VChipGroup/_variables.scss +1 -1
  93. package/lib/components/VColorPicker/VColorPicker.mjs +16 -10
  94. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  95. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -4
  96. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  97. package/lib/components/VColorPicker/VColorPickerEdit.mjs +4 -3
  98. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  99. package/lib/components/VColorPicker/VColorPickerPreview.mjs +4 -3
  100. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  101. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +6 -5
  102. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  103. package/lib/components/VColorPicker/_variables.scss +17 -10
  104. package/lib/components/VCombobox/VCombobox.mjs +8 -4
  105. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  106. package/lib/components/VCounter/VCounter.mjs +16 -16
  107. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  108. package/lib/components/VCounter/VCounter.sass +1 -1
  109. package/lib/components/VCounter/_variables.scss +2 -1
  110. package/lib/components/VDialog/VDialog.css +2 -5
  111. package/lib/components/VDialog/VDialog.mjs +24 -25
  112. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  113. package/lib/components/VDialog/VDialog.sass +1 -4
  114. package/lib/components/VDialog/_variables.scss +0 -1
  115. package/lib/components/VDivider/VDivider.mjs +16 -17
  116. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  117. package/lib/components/VDivider/_variables.scss +3 -1
  118. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +6 -4
  119. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  120. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +5 -5
  121. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  122. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  123. package/lib/components/VExpansionPanel/_variables.scss +15 -10
  124. package/lib/components/VField/VField.mjs +17 -10
  125. package/lib/components/VField/VField.mjs.map +1 -1
  126. package/lib/components/VField/VFieldLabel.mjs +8 -9
  127. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  128. package/lib/components/VFileInput/VFileInput.mjs +3 -3
  129. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  130. package/lib/components/VFooter/VFooter.mjs +4 -3
  131. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  132. package/lib/components/VFooter/_variables.scss +2 -1
  133. package/lib/components/VForm/VForm.mjs +3 -3
  134. package/lib/components/VForm/VForm.mjs.map +1 -1
  135. package/lib/components/VGrid/VCol.mjs.map +1 -1
  136. package/lib/components/VGrid/VContainer.mjs +4 -3
  137. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  138. package/lib/components/VGrid/VRow.mjs.map +1 -1
  139. package/lib/components/VIcon/VIcon.css +0 -8
  140. package/lib/components/VIcon/VIcon.mjs +20 -21
  141. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  142. package/lib/components/VIcon/VIcon.sass +0 -8
  143. package/lib/components/VIcon/_variables.scss +2 -5
  144. package/lib/components/VIcon/index.mjs.map +1 -1
  145. package/lib/components/VInput/VInput.mjs +9 -5
  146. package/lib/components/VInput/VInput.mjs.map +1 -1
  147. package/lib/components/VLabel/VLabel.mjs +4 -3
  148. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  149. package/lib/components/VLabel/_variables.scss +1 -0
  150. package/lib/components/VLazy/VLazy.mjs +5 -3
  151. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  152. package/lib/components/VList/VList.mjs +15 -17
  153. package/lib/components/VList/VList.mjs.map +1 -1
  154. package/lib/components/VList/VListChildren.mjs +2 -2
  155. package/lib/components/VList/VListChildren.mjs.map +1 -1
  156. package/lib/components/VList/VListGroup.mjs +8 -7
  157. package/lib/components/VList/VListGroup.mjs.map +1 -1
  158. package/lib/components/VList/VListItem.mjs +13 -8
  159. package/lib/components/VList/VListItem.mjs.map +1 -1
  160. package/lib/components/VList/VListItemAction.mjs +8 -9
  161. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  162. package/lib/components/VList/VListItemAvatar.mjs +4 -3
  163. package/lib/components/VList/VListItemAvatar.mjs.map +1 -1
  164. package/lib/components/VList/VListItemIcon.mjs +4 -3
  165. package/lib/components/VList/VListItemIcon.mjs.map +1 -1
  166. package/lib/components/VList/VListItemMedia.mjs +4 -3
  167. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  168. package/lib/components/VList/VListSubheader.mjs +4 -3
  169. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  170. package/lib/components/VList/index.mjs +2 -2
  171. package/lib/components/VList/index.mjs.map +1 -1
  172. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -3
  173. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  174. package/lib/components/VMain/VMain.mjs +4 -3
  175. package/lib/components/VMain/VMain.mjs.map +1 -1
  176. package/lib/components/VMain/_variables.scss +1 -1
  177. package/lib/components/VMenu/VMenu.mjs +5 -5
  178. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  179. package/lib/components/VMessages/VMessages.mjs +5 -3
  180. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  181. package/lib/components/VMessages/_variables.scss +1 -1
  182. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +5 -3
  183. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  184. package/lib/components/VNavigationDrawer/_variables.scss +2 -1
  185. package/lib/components/VNavigationDrawer/touch.mjs +5 -2
  186. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  187. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  188. package/lib/components/VOverlay/VOverlay.mjs +10 -8
  189. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  190. package/lib/components/VOverlay/locationStrategies.mjs +267 -78
  191. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  192. package/lib/components/VOverlay/useActivator.mjs +4 -3
  193. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  194. package/lib/components/VOverlay/util/point.mjs +3 -3
  195. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  196. package/lib/components/VPagination/VPagination.mjs +18 -14
  197. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  198. package/lib/components/VParallax/VParallax.mjs +5 -5
  199. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  200. package/lib/components/VProgressCircular/VProgressCircular.mjs +6 -5
  201. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  202. package/lib/components/VProgressCircular/_variables.scss +2 -0
  203. package/lib/components/VProgressLinear/VProgressLinear.mjs +5 -3
  204. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  205. package/lib/components/VProgressLinear/_variables.scss +1 -0
  206. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -2
  207. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  208. package/lib/components/VRadioGroup/VRadioGroup.sass +5 -3
  209. package/lib/components/VRadioGroup/_variables.scss +3 -4
  210. package/lib/components/VRangeSlider/VRangeSlider.mjs +12 -13
  211. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  212. package/lib/components/VRating/VRating.mjs +6 -5
  213. package/lib/components/VRating/VRating.mjs.map +1 -1
  214. package/lib/components/VRating/VRating.sass +2 -0
  215. package/lib/components/VResponsive/VResponsive.mjs +7 -6
  216. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  217. package/lib/components/VSelect/VSelect.mjs +8 -4
  218. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  219. package/lib/components/VSelectionControl/VSelectionControl.mjs +6 -5
  220. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  221. package/lib/components/VSelectionControl/_variables.scss +1 -0
  222. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +3 -3
  223. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  224. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +1 -5
  225. package/lib/components/VSelectionControlGroup/_variables.scss +1 -4
  226. package/lib/components/VSheet/VSheet.mjs +3 -3
  227. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  228. package/lib/components/VSheet/_variables.scss +3 -2
  229. package/lib/components/VSlideGroup/VSlideGroup.mjs +47 -49
  230. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  231. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +4 -3
  232. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  233. package/lib/components/VSlideGroup/_variables.scss +0 -5
  234. package/lib/components/VSlideGroup/index.mjs +2 -2
  235. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  236. package/lib/components/VSlider/VSlider.mjs +7 -9
  237. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  238. package/lib/components/VSlider/VSliderThumb.mjs +6 -5
  239. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  240. package/lib/components/VSlider/VSliderTrack.mjs +11 -10
  241. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  242. package/lib/components/VSlider/slider.mjs +4 -4
  243. package/lib/components/VSlider/slider.mjs.map +1 -1
  244. package/lib/components/VSnackbar/VSnackbar.mjs +45 -49
  245. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  246. package/lib/components/VSnackbar/_variables.scss +2 -0
  247. package/lib/components/VSwitch/_variables.scss +1 -0
  248. package/lib/components/VSystemBar/VSystemBar.mjs +4 -12
  249. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  250. package/lib/components/VSystemBar/_variables.scss +2 -1
  251. package/lib/components/VTable/VTable.mjs +9 -8
  252. package/lib/components/VTable/VTable.mjs.map +1 -1
  253. package/lib/components/VTable/_variables.scss +2 -0
  254. package/lib/components/VTabs/VTab.mjs +4 -4
  255. package/lib/components/VTabs/VTab.mjs.map +1 -1
  256. package/lib/components/VTabs/VTabs.mjs +9 -7
  257. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  258. package/lib/components/VTabs/_variables.scss +3 -1
  259. package/lib/components/VTextField/VTextField.mjs +5 -5
  260. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  261. package/lib/components/VTextField/_variables.scss +1 -1
  262. package/lib/components/VTextarea/VTextarea.mjs +4 -4
  263. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  264. package/lib/components/VTextarea/_variables.scss +1 -0
  265. package/lib/components/VTimeline/VTimeline.mjs +24 -25
  266. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  267. package/lib/components/VTimeline/VTimeline.sass +3 -2
  268. package/lib/components/VTimeline/VTimelineDivider.mjs +41 -38
  269. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  270. package/lib/components/VTimeline/VTimelineItem.mjs +10 -11
  271. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  272. package/lib/components/VTimeline/_variables.scss +11 -6
  273. package/lib/components/VToolbar/VToolbar.css +15 -6
  274. package/lib/components/VToolbar/VToolbar.mjs +9 -9
  275. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  276. package/lib/components/VToolbar/VToolbar.sass +15 -6
  277. package/lib/components/VToolbar/VToolbarItems.mjs +12 -8
  278. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  279. package/lib/components/VToolbar/_variables.scss +6 -2
  280. package/lib/components/VTooltip/VTooltip.mjs +37 -38
  281. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  282. package/lib/components/VTooltip/_variables.scss +1 -0
  283. package/lib/components/VWindow/VWindow.mjs +4 -4
  284. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  285. package/lib/components/VWindow/VWindowItem.mjs +10 -9
  286. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  287. package/lib/components/VWindow/_variables.scss +1 -0
  288. package/lib/components/index.d.ts +486 -445
  289. package/lib/components/transitions/dialog-transition.mjs +3 -0
  290. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  291. package/lib/composables/border.mjs +5 -6
  292. package/lib/composables/border.mjs.map +1 -1
  293. package/lib/composables/location.mjs +4 -8
  294. package/lib/composables/location.mjs.map +1 -1
  295. package/lib/composables/size.mjs +2 -2
  296. package/lib/composables/size.mjs.map +1 -1
  297. package/lib/composables/validation.mjs +1 -1
  298. package/lib/composables/validation.mjs.map +1 -1
  299. package/lib/composables/variant.mjs +2 -0
  300. package/lib/composables/variant.mjs.map +1 -1
  301. package/lib/entry-bundler.mjs +1 -1
  302. package/lib/framework.mjs +7 -2
  303. package/lib/framework.mjs.map +1 -1
  304. package/lib/index.d.ts +42 -43
  305. package/lib/util/anchor.mjs +34 -28
  306. package/lib/util/anchor.mjs.map +1 -1
  307. package/lib/util/animation.mjs +2 -2
  308. package/lib/util/animation.mjs.map +1 -1
  309. package/lib/util/box.mjs +12 -0
  310. package/lib/util/box.mjs.map +1 -1
  311. package/lib/util/helpers.mjs +9 -1
  312. package/lib/util/helpers.mjs.map +1 -1
  313. package/package.json +6 -8
  314. package/lib/components/VBanner/VBannerAvatar.mjs +0 -20
  315. package/lib/components/VBanner/VBannerAvatar.mjs.map +0 -1
  316. package/lib/components/VBanner/VBannerIcon.mjs +0 -20
  317. package/lib/components/VBanner/VBannerIcon.mjs.map +0 -1
  318. package/lib/components/VBreadcrumbs/shared.mjs +0 -2
  319. package/lib/components/VBreadcrumbs/shared.mjs.map +0 -1
  320. package/lib/components/VCard/VCardAvatar.mjs +0 -3
  321. package/lib/components/VCard/VCardAvatar.mjs.map +0 -1
  322. package/lib/components/VCard/VCardContent.mjs +0 -3
  323. package/lib/components/VCard/VCardContent.mjs.map +0 -1
  324. package/lib/components/VCard/VCardHeader.mjs +0 -3
  325. package/lib/components/VCard/VCardHeader.mjs.map +0 -1
  326. package/lib/components/VCard/VCardHeaderText.mjs +0 -3
  327. package/lib/components/VCard/VCardHeaderText.mjs.map +0 -1
  328. package/lib/components/VCard/VCardImg.mjs +0 -3
  329. package/lib/components/VCard/VCardImg.mjs.map +0 -1
  330. package/lib/components/VTimeline/shared.mjs +0 -2
  331. package/lib/components/VTimeline/shared.mjs.map +0 -1
  332. package/lib/presets/default/index.mjs +0 -71
  333. package/lib/presets/default/index.mjs.map +0 -1
@@ -14,12 +14,15 @@ export const VDialogTransition = defineComponent({
14
14
  const functions = {
15
15
  onBeforeEnter(el) {
16
16
  el.style.pointerEvents = 'none';
17
+ el.style.visibility = 'hidden';
17
18
  },
18
19
 
19
20
  async onEnter(el, done) {
20
21
  var _getChildren;
21
22
 
22
23
  await new Promise(resolve => requestAnimationFrame(resolve));
24
+ await new Promise(resolve => requestAnimationFrame(resolve));
25
+ el.style.visibility = '';
23
26
  const {
24
27
  x,
25
28
  y,
@@ -1 +1 @@
1
- {"version":3,"file":"dialog-transition.mjs","names":["Transition","acceleratedEasing","deceleratedEasing","defineComponent","nullifyTransforms","standardEasing","VDialogTransition","name","props","target","Object","setup","slots","functions","onBeforeEnter","el","style","pointerEvents","onEnter","done","Promise","resolve","requestAnimationFrame","x","y","sx","sy","speed","getDimensions","animation","animate","transform","opacity","duration","easing","getChildren","forEach","offset","finished","then","onAfterEnter","removeProperty","onBeforeLeave","onLeave","onAfterLeave","els","querySelector","children","targetBox","getBoundingClientRect","elBox","originX","originY","getComputedStyle","transformOrigin","split","map","v","parseFloat","anchorSide","anchorOffset","getPropertyValue","offsetX","left","width","offsetY","top","height","tsx","tsy","maxs","Math","max","asa","window","innerWidth","innerHeight","min"],"sources":["../../../src/components/transitions/dialog-transition.tsx"],"sourcesContent":["import type { PropType } from 'vue'\nimport { Transition } from 'vue'\nimport { acceleratedEasing, deceleratedEasing, defineComponent, nullifyTransforms, standardEasing } from '@/util'\n\nexport const VDialogTransition = defineComponent({\n name: 'VDialogTransition',\n\n props: {\n target: Object as PropType<HTMLElement>,\n },\n\n setup (props, { slots }) {\n const functions = {\n onBeforeEnter (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n },\n async onEnter (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n const { x, y, sx, sy, speed } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = el.animate([\n { transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`, opacity: 0 },\n { transform: '' },\n ], {\n duration: 225 * speed,\n easing: deceleratedEasing,\n })\n getChildren(el)?.forEach(el => {\n el.animate([\n { opacity: 0 },\n { opacity: 0, offset: 0.33 },\n { opacity: 1 },\n ], {\n duration: 225 * 2 * speed,\n easing: standardEasing,\n })\n })\n animation.finished.then(() => done())\n },\n onAfterEnter (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n onBeforeLeave (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n },\n async onLeave (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n const { x, y, sx, sy, speed } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = el.animate([\n { transform: '' },\n { transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`, opacity: 0 },\n ], {\n duration: 125 * speed,\n easing: acceleratedEasing,\n })\n animation.finished.then(() => done())\n getChildren(el)?.forEach(el => {\n el.animate([\n {},\n { opacity: 0, offset: 0.2 },\n { opacity: 0 },\n ], {\n duration: 125 * 2 * speed,\n easing: standardEasing,\n })\n })\n },\n onAfterLeave (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n }\n\n return () => {\n return props.target\n ? (\n <Transition\n name=\"dialog-transition\"\n { ...functions }\n css={ false }\n v-slots={ slots }\n />\n )\n : <Transition name=\"dialog-transition\" v-slots={ slots } />\n }\n },\n})\n\n/** Animatable children (card, sheet, list) */\nfunction getChildren (el: Element) {\n const els = el.querySelector(':scope > .v-card, :scope > .v-sheet, :scope > .v-list')?.children\n return els && [...els]\n}\n\nfunction getDimensions (target: HTMLElement, el: HTMLElement) {\n const targetBox = target.getBoundingClientRect()\n const elBox = nullifyTransforms(el)\n const [originX, originY] = getComputedStyle(el).transformOrigin.split(' ').map(v => parseFloat(v))\n\n const [anchorSide, anchorOffset] = getComputedStyle(el).getPropertyValue('--v-overlay-anchor-origin').split(' ')\n\n let offsetX = targetBox.left + targetBox.width / 2\n if (anchorSide === 'left' || anchorOffset === 'left') {\n offsetX -= targetBox.width / 2\n } else if (anchorSide === 'right' || anchorOffset === 'right') {\n offsetX += targetBox.width / 2\n }\n\n let offsetY = targetBox.top + targetBox.height / 2\n if (anchorSide === 'top' || anchorOffset === 'top') {\n offsetY -= targetBox.height / 2\n } else if (anchorSide === 'bottom' || anchorOffset === 'bottom') {\n offsetY += targetBox.height / 2\n }\n\n const tsx = targetBox.width / elBox.width\n const tsy = targetBox.height / elBox.height\n const maxs = Math.max(1, tsx, tsy)\n const sx = tsx / maxs\n const sy = tsy / maxs\n\n // Animate elements larger than 12% of the screen area up to 1.5x slower\n const asa = (elBox.width * elBox.height) / (window.innerWidth * window.innerHeight)\n const speed = asa > 0.12\n ? Math.min(1.5, (asa - 0.12) * 10 + 1)\n : 1\n\n return {\n x: offsetX - (originX + elBox.left),\n y: offsetY - (originY + elBox.top),\n sx,\n sy,\n speed,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"dialog-transition.mjs","names":["Transition","acceleratedEasing","deceleratedEasing","defineComponent","nullifyTransforms","standardEasing","VDialogTransition","name","props","target","Object","setup","slots","functions","onBeforeEnter","el","style","pointerEvents","visibility","onEnter","done","Promise","resolve","requestAnimationFrame","x","y","sx","sy","speed","getDimensions","animation","animate","transform","opacity","duration","easing","getChildren","forEach","offset","finished","then","onAfterEnter","removeProperty","onBeforeLeave","onLeave","onAfterLeave","els","querySelector","children","targetBox","getBoundingClientRect","elBox","originX","originY","getComputedStyle","transformOrigin","split","map","v","parseFloat","anchorSide","anchorOffset","getPropertyValue","offsetX","left","width","offsetY","top","height","tsx","tsy","maxs","Math","max","asa","window","innerWidth","innerHeight","min"],"sources":["../../../src/components/transitions/dialog-transition.tsx"],"sourcesContent":["import type { PropType } from 'vue'\nimport { Transition } from 'vue'\nimport { acceleratedEasing, deceleratedEasing, defineComponent, nullifyTransforms, standardEasing } from '@/util'\n\nexport const VDialogTransition = defineComponent({\n name: 'VDialogTransition',\n\n props: {\n target: Object as PropType<HTMLElement>,\n },\n\n setup (props, { slots }) {\n const functions = {\n onBeforeEnter (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n ;(el as HTMLElement).style.visibility = 'hidden'\n },\n async onEnter (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n await new Promise(resolve => requestAnimationFrame(resolve))\n ;(el as HTMLElement).style.visibility = ''\n\n const { x, y, sx, sy, speed } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = el.animate([\n { transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`, opacity: 0 },\n { transform: '' },\n ], {\n duration: 225 * speed,\n easing: deceleratedEasing,\n })\n getChildren(el)?.forEach(el => {\n el.animate([\n { opacity: 0 },\n { opacity: 0, offset: 0.33 },\n { opacity: 1 },\n ], {\n duration: 225 * 2 * speed,\n easing: standardEasing,\n })\n })\n animation.finished.then(() => done())\n },\n onAfterEnter (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n onBeforeLeave (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n },\n async onLeave (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n const { x, y, sx, sy, speed } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = el.animate([\n { transform: '' },\n { transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`, opacity: 0 },\n ], {\n duration: 125 * speed,\n easing: acceleratedEasing,\n })\n animation.finished.then(() => done())\n getChildren(el)?.forEach(el => {\n el.animate([\n {},\n { opacity: 0, offset: 0.2 },\n { opacity: 0 },\n ], {\n duration: 125 * 2 * speed,\n easing: standardEasing,\n })\n })\n },\n onAfterLeave (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n }\n\n return () => {\n return props.target\n ? (\n <Transition\n name=\"dialog-transition\"\n { ...functions }\n css={ false }\n v-slots={ slots }\n />\n )\n : <Transition name=\"dialog-transition\" v-slots={ slots } />\n }\n },\n})\n\n/** Animatable children (card, sheet, list) */\nfunction getChildren (el: Element) {\n const els = el.querySelector(':scope > .v-card, :scope > .v-sheet, :scope > .v-list')?.children\n return els && [...els]\n}\n\nfunction getDimensions (target: HTMLElement, el: HTMLElement) {\n const targetBox = target.getBoundingClientRect()\n const elBox = nullifyTransforms(el)\n const [originX, originY] = getComputedStyle(el).transformOrigin.split(' ').map(v => parseFloat(v))\n\n const [anchorSide, anchorOffset] = getComputedStyle(el).getPropertyValue('--v-overlay-anchor-origin').split(' ')\n\n let offsetX = targetBox.left + targetBox.width / 2\n if (anchorSide === 'left' || anchorOffset === 'left') {\n offsetX -= targetBox.width / 2\n } else if (anchorSide === 'right' || anchorOffset === 'right') {\n offsetX += targetBox.width / 2\n }\n\n let offsetY = targetBox.top + targetBox.height / 2\n if (anchorSide === 'top' || anchorOffset === 'top') {\n offsetY -= targetBox.height / 2\n } else if (anchorSide === 'bottom' || anchorOffset === 'bottom') {\n offsetY += targetBox.height / 2\n }\n\n const tsx = targetBox.width / elBox.width\n const tsy = targetBox.height / elBox.height\n const maxs = Math.max(1, tsx, tsy)\n const sx = tsx / maxs\n const sy = tsy / maxs\n\n // Animate elements larger than 12% of the screen area up to 1.5x slower\n const asa = (elBox.width * elBox.height) / (window.innerWidth * window.innerHeight)\n const speed = asa > 0.12\n ? Math.min(1.5, (asa - 0.12) * 10 + 1)\n : 1\n\n return {\n x: offsetX - (originX + elBox.left),\n y: offsetY - (originY + elBox.top),\n sx,\n sy,\n speed,\n }\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  // Utilities
2
- import { computed } from 'vue';
2
+ import { computed, isRef } from 'vue';
3
3
  import { getCurrentInstanceName, propsFactory } from "../util/index.mjs"; // Types
4
4
 
5
5
  // Composables
@@ -9,14 +9,13 @@ export const makeBorderProps = propsFactory({
9
9
  export function useBorder(props) {
10
10
  let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
11
11
  const borderClasses = computed(() => {
12
+ const border = isRef(props) ? props.value : props.border;
12
13
  const classes = [];
13
14
 
14
- if (props.border != null && props.border !== false) {
15
+ if (border === true || border === '') {
15
16
  classes.push(`${name}--border`);
16
- }
17
-
18
- if (typeof props.border === 'string' && props.border !== '' || props.border === 0) {
19
- for (const value of String(props.border).split(' ')) {
17
+ } else if (typeof border === 'string' || border === 0) {
18
+ for (const value of String(border).split(' ')) {
20
19
  classes.push(`border-${value}`);
21
20
  }
22
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"border.mjs","names":["computed","getCurrentInstanceName","propsFactory","makeBorderProps","border","Boolean","Number","String","useBorder","props","name","borderClasses","classes","push","value","split"],"sources":["../../src/composables/border.ts"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nexport interface BorderProps {\n border?: boolean | number | string\n}\n\n// Composables\nexport const makeBorderProps = propsFactory({\n border: [Boolean, Number, String],\n}, 'border')\n\nexport function useBorder (\n props: BorderProps,\n name = getCurrentInstanceName(),\n) {\n const borderClasses = computed(() => {\n const classes: string[] = []\n\n if (props.border != null && props.border !== false) {\n classes.push(`${name}--border`)\n }\n\n if (\n (typeof props.border === 'string' && props.border !== '') ||\n props.border === 0\n ) {\n for (const value of String(props.border).split(' ')) {\n classes.push(`border-${value}`)\n }\n }\n\n return classes\n })\n\n return { borderClasses }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAT,QAAyB,KAAzB;SACSC,sB,EAAwBC,Y,6BAEjC;;AAKA;AACA,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;EAC1CE,MAAM,EAAE,CAACC,OAAD,EAAUC,MAAV,EAAkBC,MAAlB;AADkC,CAAD,EAExC,QAFwC,CAApC;AAIP,OAAO,SAASC,SAAT,CACLC,KADK,EAGL;EAAA,IADAC,IACA,uEADOT,sBAAsB,EAC7B;EACA,MAAMU,aAAa,GAAGX,QAAQ,CAAC,MAAM;IACnC,MAAMY,OAAiB,GAAG,EAA1B;;IAEA,IAAIH,KAAK,CAACL,MAAN,IAAgB,IAAhB,IAAwBK,KAAK,CAACL,MAAN,KAAiB,KAA7C,EAAoD;MAClDQ,OAAO,CAACC,IAAR,CAAc,GAAEH,IAAK,UAArB;IACD;;IAED,IACG,OAAOD,KAAK,CAACL,MAAb,KAAwB,QAAxB,IAAoCK,KAAK,CAACL,MAAN,KAAiB,EAAtD,IACAK,KAAK,CAACL,MAAN,KAAiB,CAFnB,EAGE;MACA,KAAK,MAAMU,KAAX,IAAoBP,MAAM,CAACE,KAAK,CAACL,MAAP,CAAN,CAAqBW,KAArB,CAA2B,GAA3B,CAApB,EAAqD;QACnDH,OAAO,CAACC,IAAR,CAAc,UAASC,KAAM,EAA7B;MACD;IACF;;IAED,OAAOF,OAAP;EACD,CAjB6B,CAA9B;EAmBA,OAAO;IAAED;EAAF,CAAP;AACD"}
1
+ {"version":3,"file":"border.mjs","names":["computed","isRef","getCurrentInstanceName","propsFactory","makeBorderProps","border","Boolean","Number","String","useBorder","props","name","borderClasses","value","classes","push","split"],"sources":["../../src/composables/border.ts"],"sourcesContent":["// Utilities\nimport { computed, isRef } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nexport interface BorderProps {\n border?: boolean | number | string\n}\n\n// Composables\nexport const makeBorderProps = propsFactory({\n border: [Boolean, Number, String],\n}, 'border')\n\nexport function useBorder (\n props: BorderProps,\n name = getCurrentInstanceName(),\n) {\n const borderClasses = computed(() => {\n const border = isRef(props) ? props.value : props.border\n const classes: string[] = []\n\n if (border === true || border === '') {\n classes.push(`${name}--border`)\n } else if (\n typeof border === 'string' ||\n border === 0\n ) {\n for (const value of String(border).split(' ')) {\n classes.push(`border-${value}`)\n }\n }\n\n return classes\n })\n\n return { borderClasses }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAT,EAAmBC,KAAnB,QAAgC,KAAhC;SACSC,sB,EAAwBC,Y,6BAEjC;;AAKA;AACA,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;EAC1CE,MAAM,EAAE,CAACC,OAAD,EAAUC,MAAV,EAAkBC,MAAlB;AADkC,CAAD,EAExC,QAFwC,CAApC;AAIP,OAAO,SAASC,SAAT,CACLC,KADK,EAGL;EAAA,IADAC,IACA,uEADOT,sBAAsB,EAC7B;EACA,MAAMU,aAAa,GAAGZ,QAAQ,CAAC,MAAM;IACnC,MAAMK,MAAM,GAAGJ,KAAK,CAACS,KAAD,CAAL,GAAeA,KAAK,CAACG,KAArB,GAA6BH,KAAK,CAACL,MAAlD;IACA,MAAMS,OAAiB,GAAG,EAA1B;;IAEA,IAAIT,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,EAAlC,EAAsC;MACpCS,OAAO,CAACC,IAAR,CAAc,GAAEJ,IAAK,UAArB;IACD,CAFD,MAEO,IACL,OAAON,MAAP,KAAkB,QAAlB,IACAA,MAAM,KAAK,CAFN,EAGL;MACA,KAAK,MAAMQ,KAAX,IAAoBL,MAAM,CAACH,MAAD,CAAN,CAAeW,KAAf,CAAqB,GAArB,CAApB,EAA+C;QAC7CF,OAAO,CAACC,IAAR,CAAc,UAASF,KAAM,EAA7B;MACD;IACF;;IAED,OAAOC,OAAP;EACD,CAhB6B,CAA9B;EAkBA,OAAO;IAAEF;EAAF,CAAP;AACD"}
@@ -20,16 +20,12 @@ export function useLocation(props) {
20
20
  const {
21
21
  isRtl
22
22
  } = useRtl();
23
-
24
- function toPhysical(side) {
25
- return side === 'start' ? isRtl.value ? 'right' : 'left' : side === 'end' ? isRtl.value ? 'left' : 'right' : side;
26
- }
27
-
28
23
  const locationStyles = computed(() => {
29
24
  if (!props.location) return {};
30
- const anchor = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`);
31
- const side = toPhysical(anchor.side);
32
- const align = toPhysical(anchor.align);
25
+ const {
26
+ side,
27
+ align
28
+ } = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`, isRtl.value);
33
29
 
34
30
  function getOffset(side) {
35
31
  return offset ? offset(side) : 0;
@@ -1 +1 @@
1
- {"version":3,"file":"location.mjs","names":["useRtl","computed","parseAnchor","propsFactory","oppositeMap","center","top","bottom","left","right","makeLocationProps","location","String","useLocation","props","opposite","offset","isRtl","toPhysical","side","value","locationStyles","anchor","split","length","align","getOffset","styles","transform"],"sources":["../../src/composables/location.ts"],"sourcesContent":["// Composables\nimport { useRtl } from '@/composables/rtl'\n\n// Utilities\nimport { computed } from 'vue'\nimport { parseAnchor, propsFactory } from '@/util'\n\n// Types\nimport type { CSSProperties, PropType } from 'vue'\nimport type { Anchor } from '@/util'\n\nconst oppositeMap = {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n} as const\n\nexport interface LocationProps {\n location: Anchor | undefined\n}\n\nexport const makeLocationProps = propsFactory({\n location: String as PropType<Anchor>,\n}, 'location')\n\nexport function useLocation (props: LocationProps, opposite = false, offset?: (side: string) => number) {\n const { isRtl } = useRtl()\n\n function toPhysical (side: string) {\n return (\n side === 'start' ? (isRtl.value ? 'right' : 'left')\n : side === 'end' ? (isRtl.value ? 'left' : 'right')\n : side\n ) as 'right' | 'left' | 'top' | 'bottom' | 'center'\n }\n\n const locationStyles = computed(() => {\n if (!props.location) return {}\n\n const anchor = parseAnchor(\n props.location.split(' ').length > 1\n ? props.location\n : `${props.location} center` as Anchor\n )\n\n const side = toPhysical(anchor.side)\n const align = toPhysical(anchor.align)\n\n function getOffset (side: string) {\n return offset\n ? offset(side)\n : 0\n }\n\n const styles = {} as CSSProperties\n\n if (side !== 'center') {\n if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`\n else styles[side] = 0\n }\n if (align !== 'center') {\n if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`\n else styles[align] = 0\n } else {\n if (side === 'center') styles.top = styles.left = '50%'\n else {\n styles[({\n top: 'left',\n bottom: 'left',\n left: 'top',\n right: 'top',\n } as const)[side]] = '50%'\n }\n styles.transform = {\n top: 'translateX(-50%)',\n bottom: 'translateX(-50%)',\n left: 'translateY(-50%)',\n right: 'translateY(-50%)',\n center: 'translate(-50%, -50%)',\n }[side]\n }\n\n return styles\n })\n\n return { locationStyles }\n}\n"],"mappings":"AAAA;SACSA,M,qBAET;;AACA,SAASC,QAAT,QAAyB,KAAzB;SACSC,W,EAAaC,Y,6BAEtB;;AAIA,MAAMC,WAAW,GAAG;EAClBC,MAAM,EAAE,QADU;EAElBC,GAAG,EAAE,QAFa;EAGlBC,MAAM,EAAE,KAHU;EAIlBC,IAAI,EAAE,OAJY;EAKlBC,KAAK,EAAE;AALW,CAApB;AAYA,OAAO,MAAMC,iBAAiB,GAAGP,YAAY,CAAC;EAC5CQ,QAAQ,EAAEC;AADkC,CAAD,EAE1C,UAF0C,CAAtC;AAIP,OAAO,SAASC,WAAT,CAAsBC,KAAtB,EAAiG;EAAA,IAArDC,QAAqD,uEAA1C,KAA0C;EAAA,IAAnCC,MAAmC;EACtG,MAAM;IAAEC;EAAF,IAAYjB,MAAM,EAAxB;;EAEA,SAASkB,UAAT,CAAqBC,IAArB,EAAmC;IACjC,OACEA,IAAI,KAAK,OAAT,GAAoBF,KAAK,CAACG,KAAN,GAAc,OAAd,GAAwB,MAA5C,GACED,IAAI,KAAK,KAAT,GAAkBF,KAAK,CAACG,KAAN,GAAc,MAAd,GAAuB,OAAzC,GACAD,IAHJ;EAKD;;EAED,MAAME,cAAc,GAAGpB,QAAQ,CAAC,MAAM;IACpC,IAAI,CAACa,KAAK,CAACH,QAAX,EAAqB,OAAO,EAAP;IAErB,MAAMW,MAAM,GAAGpB,WAAW,CACxBY,KAAK,CAACH,QAAN,CAAeY,KAAf,CAAqB,GAArB,EAA0BC,MAA1B,GAAmC,CAAnC,GACIV,KAAK,CAACH,QADV,GAEK,GAAEG,KAAK,CAACH,QAAS,SAHE,CAA1B;IAMA,MAAMQ,IAAI,GAAGD,UAAU,CAACI,MAAM,CAACH,IAAR,CAAvB;IACA,MAAMM,KAAK,GAAGP,UAAU,CAACI,MAAM,CAACG,KAAR,CAAxB;;IAEA,SAASC,SAAT,CAAoBP,IAApB,EAAkC;MAChC,OAAOH,MAAM,GACTA,MAAM,CAACG,IAAD,CADG,GAET,CAFJ;IAGD;;IAED,MAAMQ,MAAM,GAAG,EAAf;;IAEA,IAAIR,IAAI,KAAK,QAAb,EAAuB;MACrB,IAAIJ,QAAJ,EAAcY,MAAM,CAACvB,WAAW,CAACe,IAAD,CAAZ,CAAN,GAA6B,eAAcO,SAAS,CAACP,IAAD,CAAO,KAA3D,CAAd,KACKQ,MAAM,CAACR,IAAD,CAAN,GAAe,CAAf;IACN;;IACD,IAAIM,KAAK,KAAK,QAAd,EAAwB;MACtB,IAAIV,QAAJ,EAAcY,MAAM,CAACvB,WAAW,CAACqB,KAAD,CAAZ,CAAN,GAA8B,eAAcC,SAAS,CAACD,KAAD,CAAQ,KAA7D,CAAd,KACKE,MAAM,CAACF,KAAD,CAAN,GAAgB,CAAhB;IACN,CAHD,MAGO;MACL,IAAIN,IAAI,KAAK,QAAb,EAAuBQ,MAAM,CAACrB,GAAP,GAAaqB,MAAM,CAACnB,IAAP,GAAc,KAA3B,CAAvB,KACK;QACHmB,MAAM,CAAE;UACNrB,GAAG,EAAE,MADC;UAENC,MAAM,EAAE,MAFF;UAGNC,IAAI,EAAE,KAHA;UAINC,KAAK,EAAE;QAJD,CAAD,CAKKU,IALL,CAAD,CAAN,GAKqB,KALrB;MAMD;MACDQ,MAAM,CAACC,SAAP,GAAmB;QACjBtB,GAAG,EAAE,kBADY;QAEjBC,MAAM,EAAE,kBAFS;QAGjBC,IAAI,EAAE,kBAHW;QAIjBC,KAAK,EAAE,kBAJU;QAKjBJ,MAAM,EAAE;MALS,EAMjBc,IANiB,CAAnB;IAOD;;IAED,OAAOQ,MAAP;EACD,CA/C8B,CAA/B;EAiDA,OAAO;IAAEN;EAAF,CAAP;AACD"}
1
+ {"version":3,"file":"location.mjs","names":["useRtl","computed","parseAnchor","propsFactory","oppositeMap","center","top","bottom","left","right","makeLocationProps","location","String","useLocation","props","opposite","offset","isRtl","locationStyles","side","align","split","length","value","getOffset","styles","transform"],"sources":["../../src/composables/location.ts"],"sourcesContent":["// Composables\nimport { useRtl } from '@/composables/rtl'\n\n// Utilities\nimport { computed } from 'vue'\nimport { parseAnchor, propsFactory } from '@/util'\n\n// Types\nimport type { CSSProperties, PropType } from 'vue'\nimport type { Anchor } from '@/util'\n\nconst oppositeMap = {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n} as const\n\nexport interface LocationProps {\n location: Anchor | undefined\n}\n\nexport const makeLocationProps = propsFactory({\n location: String as PropType<Anchor>,\n}, 'location')\n\nexport function useLocation (props: LocationProps, opposite = false, offset?: (side: string) => number) {\n const { isRtl } = useRtl()\n\n const locationStyles = computed(() => {\n if (!props.location) return {}\n\n const { side, align } = parseAnchor(\n props.location.split(' ').length > 1\n ? props.location\n : `${props.location} center` as Anchor,\n isRtl.value\n )\n\n function getOffset (side: string) {\n return offset\n ? offset(side)\n : 0\n }\n\n const styles = {} as CSSProperties\n\n if (side !== 'center') {\n if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`\n else styles[side] = 0\n }\n if (align !== 'center') {\n if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`\n else styles[align] = 0\n } else {\n if (side === 'center') styles.top = styles.left = '50%'\n else {\n styles[({\n top: 'left',\n bottom: 'left',\n left: 'top',\n right: 'top',\n } as const)[side]] = '50%'\n }\n styles.transform = {\n top: 'translateX(-50%)',\n bottom: 'translateX(-50%)',\n left: 'translateY(-50%)',\n right: 'translateY(-50%)',\n center: 'translate(-50%, -50%)',\n }[side]\n }\n\n return styles\n })\n\n return { locationStyles }\n}\n"],"mappings":"AAAA;SACSA,M,qBAET;;AACA,SAASC,QAAT,QAAyB,KAAzB;SACSC,W,EAAaC,Y,6BAEtB;;AAIA,MAAMC,WAAW,GAAG;EAClBC,MAAM,EAAE,QADU;EAElBC,GAAG,EAAE,QAFa;EAGlBC,MAAM,EAAE,KAHU;EAIlBC,IAAI,EAAE,OAJY;EAKlBC,KAAK,EAAE;AALW,CAApB;AAYA,OAAO,MAAMC,iBAAiB,GAAGP,YAAY,CAAC;EAC5CQ,QAAQ,EAAEC;AADkC,CAAD,EAE1C,UAF0C,CAAtC;AAIP,OAAO,SAASC,WAAT,CAAsBC,KAAtB,EAAiG;EAAA,IAArDC,QAAqD,uEAA1C,KAA0C;EAAA,IAAnCC,MAAmC;EACtG,MAAM;IAAEC;EAAF,IAAYjB,MAAM,EAAxB;EAEA,MAAMkB,cAAc,GAAGjB,QAAQ,CAAC,MAAM;IACpC,IAAI,CAACa,KAAK,CAACH,QAAX,EAAqB,OAAO,EAAP;IAErB,MAAM;MAAEQ,IAAF;MAAQC;IAAR,IAAkBlB,WAAW,CACjCY,KAAK,CAACH,QAAN,CAAeU,KAAf,CAAqB,GAArB,EAA0BC,MAA1B,GAAmC,CAAnC,GACIR,KAAK,CAACH,QADV,GAEK,GAAEG,KAAK,CAACH,QAAS,SAHW,EAIjCM,KAAK,CAACM,KAJ2B,CAAnC;;IAOA,SAASC,SAAT,CAAoBL,IAApB,EAAkC;MAChC,OAAOH,MAAM,GACTA,MAAM,CAACG,IAAD,CADG,GAET,CAFJ;IAGD;;IAED,MAAMM,MAAM,GAAG,EAAf;;IAEA,IAAIN,IAAI,KAAK,QAAb,EAAuB;MACrB,IAAIJ,QAAJ,EAAcU,MAAM,CAACrB,WAAW,CAACe,IAAD,CAAZ,CAAN,GAA6B,eAAcK,SAAS,CAACL,IAAD,CAAO,KAA3D,CAAd,KACKM,MAAM,CAACN,IAAD,CAAN,GAAe,CAAf;IACN;;IACD,IAAIC,KAAK,KAAK,QAAd,EAAwB;MACtB,IAAIL,QAAJ,EAAcU,MAAM,CAACrB,WAAW,CAACgB,KAAD,CAAZ,CAAN,GAA8B,eAAcI,SAAS,CAACJ,KAAD,CAAQ,KAA7D,CAAd,KACKK,MAAM,CAACL,KAAD,CAAN,GAAgB,CAAhB;IACN,CAHD,MAGO;MACL,IAAID,IAAI,KAAK,QAAb,EAAuBM,MAAM,CAACnB,GAAP,GAAamB,MAAM,CAACjB,IAAP,GAAc,KAA3B,CAAvB,KACK;QACHiB,MAAM,CAAE;UACNnB,GAAG,EAAE,MADC;UAENC,MAAM,EAAE,MAFF;UAGNC,IAAI,EAAE,KAHA;UAINC,KAAK,EAAE;QAJD,CAAD,CAKKU,IALL,CAAD,CAAN,GAKqB,KALrB;MAMD;MACDM,MAAM,CAACC,SAAP,GAAmB;QACjBpB,GAAG,EAAE,kBADY;QAEjBC,MAAM,EAAE,kBAFS;QAGjBC,IAAI,EAAE,kBAHW;QAIjBC,KAAK,EAAE,kBAJU;QAKjBJ,MAAM,EAAE;MALS,EAMjBc,IANiB,CAAnB;IAOD;;IAED,OAAOM,MAAP;EACD,CA7C8B,CAA/B;EA+CA,OAAO;IAAEP;EAAF,CAAP;AACD"}
@@ -13,13 +13,13 @@ export const makeSizeProps = propsFactory({
13
13
  export function useSize(props) {
14
14
  let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
15
15
  const sizeClasses = computed(() => {
16
- return predefinedSizes.includes(props.size) ? `${name}--size-${props.size}` : null;
16
+ return predefinedSizes.includes(props.size) ? `${name}--size-${props.size}` : undefined;
17
17
  });
18
18
  const sizeStyles = computed(() => {
19
19
  return !predefinedSizes.includes(props.size) && props.size ? {
20
20
  width: convertToUnit(props.size),
21
21
  height: convertToUnit(props.size)
22
- } : null;
22
+ } : undefined;
23
23
  });
24
24
  return {
25
25
  sizeClasses,
@@ -1 +1 @@
1
- {"version":3,"file":"size.mjs","names":["computed","convertToUnit","getCurrentInstanceName","propsFactory","predefinedSizes","makeSizeProps","size","type","String","Number","default","useSize","props","name","sizeClasses","includes","sizeStyles","width","height"],"sources":["../../src/composables/size.ts"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nconst predefinedSizes = ['x-small', 'small', 'default', 'large', 'x-large']\n\nexport interface SizeProps {\n size?: string | number\n}\n\n// Composables\nexport const makeSizeProps = propsFactory({\n size: {\n type: [String, Number],\n default: 'default',\n },\n}, 'size')\n\nexport function useSize (\n props: SizeProps,\n name = getCurrentInstanceName(),\n) {\n const sizeClasses = computed(() => {\n return predefinedSizes.includes(props.size as string)\n ? `${name}--size-${props.size}`\n : null\n })\n\n const sizeStyles = computed(() => {\n return !predefinedSizes.includes(props.size as string) && props.size\n ? ({\n width: convertToUnit(props.size),\n height: convertToUnit(props.size),\n }) : null\n })\n\n return { sizeClasses, sizeStyles }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAT,QAAyB,KAAzB;SACSC,a,EAAeC,sB,EAAwBC,Y,6BAEhD;;AACA,MAAMC,eAAe,GAAG,CAAC,SAAD,EAAY,OAAZ,EAAqB,SAArB,EAAgC,OAAhC,EAAyC,SAAzC,CAAxB;AAMA;AACA,OAAO,MAAMC,aAAa,GAAGF,YAAY,CAAC;EACxCG,IAAI,EAAE;IACJC,IAAI,EAAE,CAACC,MAAD,EAASC,MAAT,CADF;IAEJC,OAAO,EAAE;EAFL;AADkC,CAAD,EAKtC,MALsC,CAAlC;AAOP,OAAO,SAASC,OAAT,CACLC,KADK,EAGL;EAAA,IADAC,IACA,uEADOX,sBAAsB,EAC7B;EACA,MAAMY,WAAW,GAAGd,QAAQ,CAAC,MAAM;IACjC,OAAOI,eAAe,CAACW,QAAhB,CAAyBH,KAAK,CAACN,IAA/B,IACF,GAAEO,IAAK,UAASD,KAAK,CAACN,IAAK,EADzB,GAEH,IAFJ;EAGD,CAJ2B,CAA5B;EAMA,MAAMU,UAAU,GAAGhB,QAAQ,CAAC,MAAM;IAChC,OAAO,CAACI,eAAe,CAACW,QAAhB,CAAyBH,KAAK,CAACN,IAA/B,CAAD,IAAmDM,KAAK,CAACN,IAAzD,GACF;MACDW,KAAK,EAAEhB,aAAa,CAACW,KAAK,CAACN,IAAP,CADnB;MAEDY,MAAM,EAAEjB,aAAa,CAACW,KAAK,CAACN,IAAP;IAFpB,CADE,GAIA,IAJP;EAKD,CAN0B,CAA3B;EAQA,OAAO;IAAEQ,WAAF;IAAeE;EAAf,CAAP;AACD"}
1
+ {"version":3,"file":"size.mjs","names":["computed","convertToUnit","getCurrentInstanceName","propsFactory","predefinedSizes","makeSizeProps","size","type","String","Number","default","useSize","props","name","sizeClasses","includes","undefined","sizeStyles","width","height"],"sources":["../../src/composables/size.ts"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nconst predefinedSizes = ['x-small', 'small', 'default', 'large', 'x-large']\n\nexport interface SizeProps {\n size?: string | number\n}\n\n// Composables\nexport const makeSizeProps = propsFactory({\n size: {\n type: [String, Number],\n default: 'default',\n },\n}, 'size')\n\nexport function useSize (\n props: SizeProps,\n name = getCurrentInstanceName(),\n) {\n const sizeClasses = computed(() => {\n return predefinedSizes.includes(props.size as string)\n ? `${name}--size-${props.size}`\n : undefined\n })\n\n const sizeStyles = computed(() => {\n return !predefinedSizes.includes(props.size as string) && props.size\n ? ({\n width: convertToUnit(props.size),\n height: convertToUnit(props.size),\n }) : undefined\n })\n\n return { sizeClasses, sizeStyles }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAT,QAAyB,KAAzB;SACSC,a,EAAeC,sB,EAAwBC,Y,6BAEhD;;AACA,MAAMC,eAAe,GAAG,CAAC,SAAD,EAAY,OAAZ,EAAqB,SAArB,EAAgC,OAAhC,EAAyC,SAAzC,CAAxB;AAMA;AACA,OAAO,MAAMC,aAAa,GAAGF,YAAY,CAAC;EACxCG,IAAI,EAAE;IACJC,IAAI,EAAE,CAACC,MAAD,EAASC,MAAT,CADF;IAEJC,OAAO,EAAE;EAFL;AADkC,CAAD,EAKtC,MALsC,CAAlC;AAOP,OAAO,SAASC,OAAT,CACLC,KADK,EAGL;EAAA,IADAC,IACA,uEADOX,sBAAsB,EAC7B;EACA,MAAMY,WAAW,GAAGd,QAAQ,CAAC,MAAM;IACjC,OAAOI,eAAe,CAACW,QAAhB,CAAyBH,KAAK,CAACN,IAA/B,IACF,GAAEO,IAAK,UAASD,KAAK,CAACN,IAAK,EADzB,GAEHU,SAFJ;EAGD,CAJ2B,CAA5B;EAMA,MAAMC,UAAU,GAAGjB,QAAQ,CAAC,MAAM;IAChC,OAAO,CAACI,eAAe,CAACW,QAAhB,CAAyBH,KAAK,CAACN,IAA/B,CAAD,IAAmDM,KAAK,CAACN,IAAzD,GACF;MACDY,KAAK,EAAEjB,aAAa,CAACW,KAAK,CAACN,IAAP,CADnB;MAEDa,MAAM,EAAElB,aAAa,CAACW,KAAK,CAACN,IAAP;IAFpB,CADE,GAIAU,SAJP;EAKD,CAN0B,CAA3B;EAQA,OAAO;IAAEF,WAAF;IAAeG;EAAf,CAAP;AACD"}
@@ -44,8 +44,8 @@ export function useValidation(props) {
44
44
  return props.errorMessages.length ? wrapInArray(props.errorMessages) : internalErrorMessages.value;
45
45
  });
46
46
  const isValid = computed(() => {
47
- if (!props.rules.length) return true;
48
47
  if (props.error || errorMessages.value.length) return false;
48
+ if (!props.rules.length) return true;
49
49
  return isPristine.value ? null : true;
50
50
  });
51
51
  const isValidating = ref(false);
@@ -1 +1 @@
1
- {"version":3,"file":"validation.mjs","names":["useForm","useProxiedModel","computed","onBeforeMount","onBeforeUnmount","ref","unref","watch","getCurrentInstanceName","getUid","propsFactory","wrapInArray","makeValidationProps","disabled","Boolean","error","errorMessages","type","Array","String","default","maxErrors","Number","name","readonly","rules","modelValue","validationValue","useValidation","props","id","model","validationModel","value","form","internalErrorMessages","isPristine","isDirty","length","isDisabled","isReadonly","isValid","isValidating","validationClasses","uid","register","validate","reset","resetValidation","unregister","results","rule","handler","result","console","warn","push"],"sources":["../../src/composables/validation.ts"],"sourcesContent":["// Composables\nimport { useForm } from '@/composables/form'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, onBeforeMount, onBeforeUnmount, ref, unref, watch } from 'vue'\nimport type { MaybeRef } from '@/util'\nimport { getCurrentInstanceName, getUid, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type ValidationResult = string | true\nexport type ValidationRule =\n | ValidationResult\n | PromiseLike<ValidationResult>\n | ((value: any) => ValidationResult)\n | ((value: any) => PromiseLike<ValidationResult>)\n\nexport interface ValidationProps {\n disabled: boolean\n error: boolean\n errorMessages: string | string[]\n maxErrors: string | number\n name: string | undefined\n readonly: boolean\n rules: ValidationRule[]\n modelValue: any\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n validationValue: any\n}\n\nexport const makeValidationProps = propsFactory({\n disabled: Boolean,\n error: Boolean,\n errorMessages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n maxErrors: {\n type: [Number, String],\n default: 1,\n },\n name: String,\n readonly: Boolean,\n rules: {\n type: Array as PropType<ValidationRule[]>,\n default: () => ([]),\n },\n modelValue: null,\n validationValue: null,\n})\n\nexport function useValidation (\n props: ValidationProps,\n name = getCurrentInstanceName(),\n id: MaybeRef<string | number> = getUid(),\n) {\n const model = useProxiedModel(props, 'modelValue')\n const validationModel = computed(() => props.validationValue ?? model.value)\n const form = useForm()\n const internalErrorMessages = ref<string[]>([])\n const isPristine = ref(true)\n const isDirty = computed(() => !!(\n wrapInArray(model.value === '' ? null : model.value).length ||\n wrapInArray(validationModel.value === '' ? null : validationModel.value).length\n ))\n const isDisabled = computed(() => !!(props.disabled || form?.isDisabled.value))\n const isReadonly = computed(() => !!(props.readonly || form?.isReadonly.value))\n const errorMessages = computed(() => {\n return props.errorMessages.length\n ? wrapInArray(props.errorMessages)\n : internalErrorMessages.value\n })\n const isValid = computed(() => {\n if (!props.rules.length) return true\n if (props.error || errorMessages.value.length) return false\n\n return isPristine.value ? null : true\n })\n const isValidating = ref(false)\n const validationClasses = computed(() => {\n return {\n [`${name}--error`]: isValid.value === false,\n [`${name}--dirty`]: isDirty.value,\n [`${name}--disabled`]: isDisabled.value,\n [`${name}--readonly`]: isReadonly.value,\n }\n })\n\n const uid = computed(() => props.name ?? unref(id))\n\n onBeforeMount(() => {\n form?.register(uid.value, validate, reset, resetValidation, isValid)\n })\n\n onBeforeUnmount(() => {\n form?.unregister(uid.value)\n })\n\n watch(validationModel, () => {\n if (validationModel.value != null) validate()\n })\n\n function reset () {\n resetValidation()\n model.value = null\n }\n\n function resetValidation () {\n isPristine.value = true\n internalErrorMessages.value = []\n }\n\n async function validate () {\n const results = []\n\n isValidating.value = true\n\n for (const rule of props.rules) {\n if (results.length >= (props.maxErrors || 1)) {\n break\n }\n\n const handler = typeof rule === 'function' ? rule : () => rule\n const result = await handler(validationModel.value)\n\n if (result === true) continue\n\n if (typeof result !== 'string') {\n // eslint-disable-next-line no-console\n console.warn(`${result} is not a valid value. Rule functions must return boolean true or a string.`)\n\n continue\n }\n\n results.push(result)\n }\n\n internalErrorMessages.value = results\n isValidating.value = false\n isPristine.value = false\n\n return internalErrorMessages.value\n }\n\n return {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"validation.mjs","names":["useForm","useProxiedModel","computed","onBeforeMount","onBeforeUnmount","ref","unref","watch","getCurrentInstanceName","getUid","propsFactory","wrapInArray","makeValidationProps","disabled","Boolean","error","errorMessages","type","Array","String","default","maxErrors","Number","name","readonly","rules","modelValue","validationValue","useValidation","props","id","model","validationModel","value","form","internalErrorMessages","isPristine","isDirty","length","isDisabled","isReadonly","isValid","isValidating","validationClasses","uid","register","validate","reset","resetValidation","unregister","results","rule","handler","result","console","warn","push"],"sources":["../../src/composables/validation.ts"],"sourcesContent":["// Composables\nimport { useForm } from '@/composables/form'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, onBeforeMount, onBeforeUnmount, ref, unref, watch } from 'vue'\nimport type { MaybeRef } from '@/util'\nimport { getCurrentInstanceName, getUid, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type ValidationResult = string | true\nexport type ValidationRule =\n | ValidationResult\n | PromiseLike<ValidationResult>\n | ((value: any) => ValidationResult)\n | ((value: any) => PromiseLike<ValidationResult>)\n\nexport interface ValidationProps {\n disabled: boolean\n error: boolean\n errorMessages: string | string[]\n maxErrors: string | number\n name: string | undefined\n readonly: boolean\n rules: ValidationRule[]\n modelValue: any\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n validationValue: any\n}\n\nexport const makeValidationProps = propsFactory({\n disabled: Boolean,\n error: Boolean,\n errorMessages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n maxErrors: {\n type: [Number, String],\n default: 1,\n },\n name: String,\n readonly: Boolean,\n rules: {\n type: Array as PropType<ValidationRule[]>,\n default: () => ([]),\n },\n modelValue: null,\n validationValue: null,\n})\n\nexport function useValidation (\n props: ValidationProps,\n name = getCurrentInstanceName(),\n id: MaybeRef<string | number> = getUid(),\n) {\n const model = useProxiedModel(props, 'modelValue')\n const validationModel = computed(() => props.validationValue ?? model.value)\n const form = useForm()\n const internalErrorMessages = ref<string[]>([])\n const isPristine = ref(true)\n const isDirty = computed(() => !!(\n wrapInArray(model.value === '' ? null : model.value).length ||\n wrapInArray(validationModel.value === '' ? null : validationModel.value).length\n ))\n const isDisabled = computed(() => !!(props.disabled || form?.isDisabled.value))\n const isReadonly = computed(() => !!(props.readonly || form?.isReadonly.value))\n const errorMessages = computed(() => {\n return props.errorMessages.length\n ? wrapInArray(props.errorMessages)\n : internalErrorMessages.value\n })\n const isValid = computed(() => {\n if (props.error || errorMessages.value.length) return false\n if (!props.rules.length) return true\n\n return isPristine.value ? null : true\n })\n const isValidating = ref(false)\n const validationClasses = computed(() => {\n return {\n [`${name}--error`]: isValid.value === false,\n [`${name}--dirty`]: isDirty.value,\n [`${name}--disabled`]: isDisabled.value,\n [`${name}--readonly`]: isReadonly.value,\n }\n })\n\n const uid = computed(() => props.name ?? unref(id))\n\n onBeforeMount(() => {\n form?.register(uid.value, validate, reset, resetValidation, isValid)\n })\n\n onBeforeUnmount(() => {\n form?.unregister(uid.value)\n })\n\n watch(validationModel, () => {\n if (validationModel.value != null) validate()\n })\n\n function reset () {\n resetValidation()\n model.value = null\n }\n\n function resetValidation () {\n isPristine.value = true\n internalErrorMessages.value = []\n }\n\n async function validate () {\n const results = []\n\n isValidating.value = true\n\n for (const rule of props.rules) {\n if (results.length >= (props.maxErrors || 1)) {\n break\n }\n\n const handler = typeof rule === 'function' ? rule : () => rule\n const result = await handler(validationModel.value)\n\n if (result === true) continue\n\n if (typeof result !== 'string') {\n // eslint-disable-next-line no-console\n console.warn(`${result} is not a valid value. Rule functions must return boolean true or a string.`)\n\n continue\n }\n\n results.push(result)\n }\n\n internalErrorMessages.value = results\n isValidating.value = false\n isPristine.value = false\n\n return internalErrorMessages.value\n }\n\n return {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n }\n}\n"],"mappings":"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"}
@@ -8,8 +8,10 @@ import { getCurrentInstanceName, propsFactory } from "../util/index.mjs"; // Typ
8
8
  export const allowedVariants = ['elevated', 'flat', 'tonal', 'outlined', 'text', 'plain'];
9
9
  export function genOverlays(isClickable, name) {
10
10
  return _createVNode(_Fragment, null, [isClickable && _createVNode("div", {
11
+ "key": "overlay",
11
12
  "class": `${name}__overlay`
12
13
  }, null), _createVNode("div", {
14
+ "key": "underlay",
13
15
  "class": `${name}__underlay`
14
16
  }, null)]);
15
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"variant.mjs","names":["useColor","computed","unref","getCurrentInstanceName","propsFactory","allowedVariants","genOverlays","isClickable","name","makeVariantProps","color","String","variant","type","default","validator","v","includes","useVariant","props","variantClasses","colorClasses","colorStyles"],"sources":["../../src/composables/variant.tsx"],"sourcesContent":["// Composables\nimport { useColor } from '@/composables/color'\n\n// Utilities\nimport { computed, unref } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport const allowedVariants = [\n 'elevated',\n 'flat',\n 'tonal',\n 'outlined',\n 'text',\n 'plain',\n] as const\n\nexport type Variant = typeof allowedVariants[number]\n\nexport interface VariantProps {\n color?: string\n variant: Variant\n}\n\nexport function genOverlays (isClickable: boolean, name: string) {\n return (\n <>\n { isClickable && <div class={`${name}__overlay`} /> }\n\n <div class={`${name}__underlay`} />\n </>\n )\n}\n\nexport const makeVariantProps = propsFactory({\n color: String,\n variant: {\n type: String as PropType<Variant>,\n default: 'elevated',\n validator: (v: any) => allowedVariants.includes(v),\n },\n}, 'variant')\n\nexport function useVariant (\n props: MaybeRef<VariantProps>,\n name = getCurrentInstanceName(),\n) {\n const variantClasses = computed(() => {\n const { variant } = unref(props)\n return `${name}--variant-${variant}`\n })\n\n const { colorClasses, colorStyles } = useColor(computed(() => {\n const { variant, color } = unref(props)\n return {\n [['elevated', 'flat'].includes(variant) ? 'background' : 'text']: color,\n }\n }))\n\n return { colorClasses, colorStyles, variantClasses }\n}\n"],"mappings":";AAAA;SACSA,Q,uBAET;;AACA,SAASC,QAAT,EAAmBC,KAAnB,QAAgC,KAAhC;SACSC,sB,EAAwBC,Y,6BAEjC;;AAIA,OAAO,MAAMC,eAAe,GAAG,CAC7B,UAD6B,EAE7B,MAF6B,EAG7B,OAH6B,EAI7B,UAJ6B,EAK7B,MAL6B,EAM7B,OAN6B,CAAxB;AAgBP,OAAO,SAASC,WAAT,CAAsBC,WAAtB,EAA4CC,IAA5C,EAA0D;EAC/D,sCAEMD,WAAW;IAAA,SAAiB,GAAEC,IAAK;EAAxB,QAFjB;IAAA,SAIiB,GAAEA,IAAK;EAJxB;AAOD;AAED,OAAO,MAAMC,gBAAgB,GAAGL,YAAY,CAAC;EAC3CM,KAAK,EAAEC,MADoC;EAE3CC,OAAO,EAAE;IACPC,IAAI,EAAEF,MADC;IAEPG,OAAO,EAAE,UAFF;IAGPC,SAAS,EAAGC,CAAD,IAAYX,eAAe,CAACY,QAAhB,CAAyBD,CAAzB;EAHhB;AAFkC,CAAD,EAOzC,SAPyC,CAArC;AASP,OAAO,SAASE,UAAT,CACLC,KADK,EAGL;EAAA,IADAX,IACA,uEADOL,sBAAsB,EAC7B;EACA,MAAMiB,cAAc,GAAGnB,QAAQ,CAAC,MAAM;IACpC,MAAM;MAAEW;IAAF,IAAcV,KAAK,CAACiB,KAAD,CAAzB;IACA,OAAQ,GAAEX,IAAK,aAAYI,OAAQ,EAAnC;EACD,CAH8B,CAA/B;EAKA,MAAM;IAAES,YAAF;IAAgBC;EAAhB,IAAgCtB,QAAQ,CAACC,QAAQ,CAAC,MAAM;IAC5D,MAAM;MAAEW,OAAF;MAAWF;IAAX,IAAqBR,KAAK,CAACiB,KAAD,CAAhC;IACA,OAAO;MACL,CAAC,CAAC,UAAD,EAAa,MAAb,EAAqBF,QAArB,CAA8BL,OAA9B,IAAyC,YAAzC,GAAwD,MAAzD,GAAkEF;IAD7D,CAAP;EAGD,CALsD,CAAT,CAA9C;EAOA,OAAO;IAAEW,YAAF;IAAgBC,WAAhB;IAA6BF;EAA7B,CAAP;AACD"}
1
+ {"version":3,"file":"variant.mjs","names":["useColor","computed","unref","getCurrentInstanceName","propsFactory","allowedVariants","genOverlays","isClickable","name","makeVariantProps","color","String","variant","type","default","validator","v","includes","useVariant","props","variantClasses","colorClasses","colorStyles"],"sources":["../../src/composables/variant.tsx"],"sourcesContent":["// Composables\nimport { useColor } from '@/composables/color'\n\n// Utilities\nimport { computed, unref } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport const allowedVariants = [\n 'elevated',\n 'flat',\n 'tonal',\n 'outlined',\n 'text',\n 'plain',\n] as const\n\nexport type Variant = typeof allowedVariants[number]\n\nexport interface VariantProps {\n color?: string\n variant: Variant\n}\n\nexport function genOverlays (isClickable: boolean, name: string) {\n return (\n <>\n { isClickable && <div key=\"overlay\" class={`${name}__overlay`} /> }\n\n <div key=\"underlay\" class={`${name}__underlay`} />\n </>\n )\n}\n\nexport const makeVariantProps = propsFactory({\n color: String,\n variant: {\n type: String as PropType<Variant>,\n default: 'elevated',\n validator: (v: any) => allowedVariants.includes(v),\n },\n}, 'variant')\n\nexport function useVariant (\n props: MaybeRef<VariantProps>,\n name = getCurrentInstanceName(),\n) {\n const variantClasses = computed(() => {\n const { variant } = unref(props)\n return `${name}--variant-${variant}`\n })\n\n const { colorClasses, colorStyles } = useColor(computed(() => {\n const { variant, color } = unref(props)\n return {\n [['elevated', 'flat'].includes(variant) ? 'background' : 'text']: color,\n }\n }))\n\n return { colorClasses, colorStyles, variantClasses }\n}\n"],"mappings":";AAAA;SACSA,Q,uBAET;;AACA,SAASC,QAAT,EAAmBC,KAAnB,QAAgC,KAAhC;SACSC,sB,EAAwBC,Y,6BAEjC;;AAIA,OAAO,MAAMC,eAAe,GAAG,CAC7B,UAD6B,EAE7B,MAF6B,EAG7B,OAH6B,EAI7B,UAJ6B,EAK7B,MAL6B,EAM7B,OAN6B,CAAxB;AAgBP,OAAO,SAASC,WAAT,CAAsBC,WAAtB,EAA4CC,IAA5C,EAA0D;EAC/D,sCAEMD,WAAW;IAAA,OAAa,SAAb;IAAA,SAA+B,GAAEC,IAAK;EAAtC,QAFjB;IAAA,OAIa,UAJb;IAAA,SAIgC,GAAEA,IAAK;EAJvC;AAOD;AAED,OAAO,MAAMC,gBAAgB,GAAGL,YAAY,CAAC;EAC3CM,KAAK,EAAEC,MADoC;EAE3CC,OAAO,EAAE;IACPC,IAAI,EAAEF,MADC;IAEPG,OAAO,EAAE,UAFF;IAGPC,SAAS,EAAGC,CAAD,IAAYX,eAAe,CAACY,QAAhB,CAAyBD,CAAzB;EAHhB;AAFkC,CAAD,EAOzC,SAPyC,CAArC;AASP,OAAO,SAASE,UAAT,CACLC,KADK,EAGL;EAAA,IADAX,IACA,uEADOL,sBAAsB,EAC7B;EACA,MAAMiB,cAAc,GAAGnB,QAAQ,CAAC,MAAM;IACpC,MAAM;MAAEW;IAAF,IAAcV,KAAK,CAACiB,KAAD,CAAzB;IACA,OAAQ,GAAEX,IAAK,aAAYI,OAAQ,EAAnC;EACD,CAH8B,CAA/B;EAKA,MAAM;IAAES,YAAF;IAAgBC;EAAhB,IAAgCtB,QAAQ,CAACC,QAAQ,CAAC,MAAM;IAC5D,MAAM;MAAEW,OAAF;MAAWF;IAAX,IAAqBR,KAAK,CAACiB,KAAD,CAAhC;IACA,OAAO;MACL,CAAC,CAAC,UAAD,EAAa,MAAb,EAAqBF,QAArB,CAA8BL,OAA9B,IAAyC,YAAzC,GAAwD,MAAzD,GAAkEF;IAD7D,CAAP;EAGD,CALsD,CAAT,CAA9C;EAOA,OAAO;IAAEW,YAAF;IAAgBC,WAAhB;IAA6BF;EAA7B,CAAP;AACD"}
@@ -10,7 +10,7 @@ export const createVuetify = function () {
10
10
  ...options
11
11
  });
12
12
  };
13
- export const version = "3.0.0-beta.4";
13
+ export const version = "3.0.0-beta.5";
14
14
  export { components, directives };
15
15
  export * from "./composables/index.mjs";
16
16
  //# sourceMappingURL=entry-bundler.mjs.map
package/lib/framework.mjs CHANGED
@@ -6,14 +6,19 @@ import { createLocale, LocaleAdapterSymbol } from "./composables/locale.mjs";
6
6
  import { createTheme, ThemeSymbol } from "./composables/theme.mjs";
7
7
  import { RtlSymbol } from "./composables/rtl.mjs"; // Utilities
8
8
 
9
- import { defineComponent, getUid, IN_BROWSER } from "./util/index.mjs";
9
+ import { defineComponent, getUid, IN_BROWSER, mergeDeep } from "./util/index.mjs";
10
10
  import { reactive } from 'vue'; // Types
11
11
 
12
12
  export * from "./composables/index.mjs";
13
13
  export const createVuetify = function () {
14
- let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
14
+ let vuetify = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
15
15
 
16
16
  const install = app => {
17
+ const {
18
+ blueprint,
19
+ ...rest
20
+ } = vuetify;
21
+ const options = mergeDeep(blueprint, rest);
17
22
  const {
18
23
  aliases = {},
19
24
  components = {},
@@ -1 +1 @@
1
- {"version":3,"file":"framework.mjs","names":["createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createIcons","IconSymbol","createLocale","LocaleAdapterSymbol","createTheme","ThemeSymbol","RtlSymbol","defineComponent","getUid","IN_BROWSER","reactive","createVuetify","options","install","app","aliases","components","directives","key","directive","component","name","provideApp","isHydrate","provide","defaults","display","theme","icons","locale","reset","mount","rootContainer","isSVG","ret","inject","vm","$","provides","parent","vnode","appContext","mixin","computed","$vuetify","call","rtl"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleAdapterSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\nimport { RtlSymbol } from '@/composables/rtl'\n\n// Utilities\nimport { defineComponent, getUid, IN_BROWSER } from '@/util'\nimport { reactive } from 'vue'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleAdapter, LocaleOptions } from '@/composables/locale'\nimport type { RtlOptions } from '@/composables/rtl'\nimport type { ThemeOptions } from '@/composables/theme'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: (LocaleOptions & RtlOptions) | (LocaleAdapter & RtlOptions)\n}\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n const install = (app: App) => {\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n }))\n }\n\n function provideApp (isHydrate?: boolean) {\n app.provide(DefaultsSymbol, createDefaults(options.defaults))\n app.provide(DisplaySymbol, createDisplay(options.display, isHydrate))\n app.provide(ThemeSymbol, createTheme(app, options.theme))\n app.provide(IconSymbol, createIcons(options.icons))\n app.provide(LocaleAdapterSymbol, createLocale(app, options.locale))\n }\n\n if (!IN_BROWSER) {\n provideApp()\n }\n\n getUid.reset()\n\n const mount = app.mount\n app.mount = (rootContainer: any, isHydrate?: boolean, isSVG?: boolean) => {\n provideApp(isHydrate)\n const ret = mount(rootContainer, isHydrate, isSVG)\n app.mount = mount\n return ret\n }\n\n // Vue's inject() can only be used in setup\n function inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n }\n\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleAdapterSymbol),\n rtl: inject.call(this, RtlSymbol),\n })\n },\n },\n })\n }\n\n return { install }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"framework.mjs","names":["createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createIcons","IconSymbol","createLocale","LocaleAdapterSymbol","createTheme","ThemeSymbol","RtlSymbol","defineComponent","getUid","IN_BROWSER","mergeDeep","reactive","createVuetify","vuetify","install","app","blueprint","rest","options","aliases","components","directives","key","directive","component","name","provideApp","isHydrate","provide","defaults","display","theme","icons","locale","reset","mount","rootContainer","isSVG","ret","inject","vm","$","provides","parent","vnode","appContext","mixin","computed","$vuetify","call","rtl"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleAdapterSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\nimport { RtlSymbol } from '@/composables/rtl'\n\n// Utilities\nimport { defineComponent, getUid, IN_BROWSER, mergeDeep } from '@/util'\nimport { reactive } from 'vue'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleAdapter, LocaleOptions } from '@/composables/locale'\nimport type { RtlOptions } from '@/composables/rtl'\nimport type { ThemeOptions } from '@/composables/theme'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: (LocaleOptions & RtlOptions) | (LocaleAdapter & RtlOptions)\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport const createVuetify = (vuetify: VuetifyOptions = {}) => {\n const install = (app: App) => {\n const { blueprint, ...rest } = vuetify\n const options = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n }))\n }\n\n function provideApp (isHydrate?: boolean) {\n app.provide(DefaultsSymbol, createDefaults(options.defaults))\n app.provide(DisplaySymbol, createDisplay(options.display, isHydrate))\n app.provide(ThemeSymbol, createTheme(app, options.theme))\n app.provide(IconSymbol, createIcons(options.icons))\n app.provide(LocaleAdapterSymbol, createLocale(app, options.locale))\n }\n\n if (!IN_BROWSER) {\n provideApp()\n }\n\n getUid.reset()\n\n const mount = app.mount\n app.mount = (rootContainer: any, isHydrate?: boolean, isSVG?: boolean) => {\n provideApp(isHydrate)\n const ret = mount(rootContainer, isHydrate, isSVG)\n app.mount = mount\n return ret\n }\n\n // Vue's inject() can only be used in setup\n function inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n }\n\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleAdapterSymbol),\n rtl: inject.call(this, RtlSymbol),\n })\n },\n },\n })\n }\n\n return { install }\n}\n"],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -256,6 +256,7 @@ interface SubmitEventPromise extends SubmitEvent, Promise<FormValidationResult>
256
256
 
257
257
  interface VuetifyOptions {
258
258
  aliases?: Record<string, any>;
259
+ blueprint?: Blueprint;
259
260
  components?: Record<string, any>;
260
261
  directives?: Record<string, any>;
261
262
  defaults?: DefaultsOptions;
@@ -264,11 +265,13 @@ interface VuetifyOptions {
264
265
  icons?: IconOptions;
265
266
  locale?: (LocaleOptions & RtlOptions) | (LocaleAdapter & RtlOptions);
266
267
  }
267
- declare const createVuetify: (options?: VuetifyOptions) => {
268
+ interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {
269
+ }
270
+ declare const createVuetify: (vuetify?: VuetifyOptions) => {
268
271
  install: (app: App) => void;
269
272
  };
270
273
 
271
- export { DefaultsInstance, DisplayBreakpoint, DisplayInstance, DisplayThresholds, IconAliases, IconOptions, IconProps, IconSet, LocaleAdapter, RtlInstance, SubmitEventPromise, ThemeDefinition, ThemeInstance, VuetifyOptions, createVuetify, provideRtl, useDisplay, useLayout, useRtl, useTheme };
274
+ export { Blueprint, DefaultsInstance, DisplayBreakpoint, DisplayInstance, DisplayThresholds, IconAliases, IconOptions, IconProps, IconSet, LocaleAdapter, RtlInstance, SubmitEventPromise, ThemeDefinition, ThemeInstance, VuetifyOptions, createVuetify, provideRtl, useDisplay, useLayout, useRtl, useTheme };
272
275
 
273
276
  import type { ComponentPublicInstance, FunctionalComponent, VNodeChild } from 'vue'
274
277
 
@@ -311,22 +314,22 @@ declare module '@vue/runtime-core' {
311
314
  export interface GlobalComponents {
312
315
  VApp: typeof import('vuetify/components')['VApp']
313
316
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
317
+ VHover: typeof import('vuetify/components')['VHover']
314
318
  VContainer: typeof import('vuetify/components')['VContainer']
315
319
  VCol: typeof import('vuetify/components')['VCol']
316
320
  VRow: typeof import('vuetify/components')['VRow']
317
321
  VSpacer: typeof import('vuetify/components')['VSpacer']
318
- VHover: typeof import('vuetify/components')['VHover']
322
+ VLazy: typeof import('vuetify/components')['VLazy']
319
323
  VForm: typeof import('vuetify/components')['VForm']
324
+ VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
320
325
  VLayout: typeof import('vuetify/components')['VLayout']
321
326
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
322
- VLazy: typeof import('vuetify/components')['VLazy']
323
- VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
324
- VParallax: typeof import('vuetify/components')['VParallax']
325
- VRadio: typeof import('vuetify/components')['VRadio']
326
327
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
328
+ VParallax: typeof import('vuetify/components')['VParallax']
327
329
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
328
- VResponsive: typeof import('vuetify/components')['VResponsive']
330
+ VRadio: typeof import('vuetify/components')['VRadio']
329
331
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
332
+ VValidation: typeof import('vuetify/components')['VValidation']
330
333
  VCarouselTransition: typeof import('vuetify/components')['VCarouselTransition']
331
334
  VCarouselReverseTransition: typeof import('vuetify/components')['VCarouselReverseTransition']
332
335
  VTabTransition: typeof import('vuetify/components')['VTabTransition']
@@ -348,29 +351,27 @@ declare module '@vue/runtime-core' {
348
351
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
349
352
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
350
353
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
351
- VValidation: typeof import('vuetify/components')['VValidation']
352
354
  VAppBar: typeof import('vuetify/components')['VAppBar']
353
355
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
354
356
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
355
357
  VAlert: typeof import('vuetify/components')['VAlert']
356
358
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
359
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
357
360
  VAvatar: typeof import('vuetify/components')['VAvatar']
361
+ VBadge: typeof import('vuetify/components')['VBadge']
362
+ VBanner: typeof import('vuetify/components')['VBanner']
363
+ VBannerActions: typeof import('vuetify/components')['VBannerActions']
364
+ VBannerText: typeof import('vuetify/components')['VBannerText']
358
365
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
359
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
366
+ VBtn: typeof import('vuetify/components')['VBtn']
360
367
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
361
368
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
362
369
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
363
- VBadge: typeof import('vuetify/components')['VBadge']
364
- VBtn: typeof import('vuetify/components')['VBtn']
365
370
  VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
366
371
  VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
367
372
  VCard: typeof import('vuetify/components')['VCard']
368
373
  VCardActions: typeof import('vuetify/components')['VCardActions']
369
- VCardAvatar: typeof import('vuetify/components')['VCardAvatar']
370
- VCardContent: typeof import('vuetify/components')['VCardContent']
371
- VCardHeader: typeof import('vuetify/components')['VCardHeader']
372
- VCardHeaderText: typeof import('vuetify/components')['VCardHeaderText']
373
- VCardImg: typeof import('vuetify/components')['VCardImg']
374
+ VCardItem: typeof import('vuetify/components')['VCardItem']
374
375
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
375
376
  VCardText: typeof import('vuetify/components')['VCardText']
376
377
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
@@ -379,34 +380,35 @@ declare module '@vue/runtime-core' {
379
380
  VCheckbox: typeof import('vuetify/components')['VCheckbox']
380
381
  VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
381
382
  VChip: typeof import('vuetify/components')['VChip']
383
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
382
384
  VCode: typeof import('vuetify/components')['VCode']
385
+ VResponsive: typeof import('vuetify/components')['VResponsive']
383
386
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
384
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
385
387
  VCombobox: typeof import('vuetify/components')['VCombobox']
386
388
  VCounter: typeof import('vuetify/components')['VCounter']
387
389
  VDialog: typeof import('vuetify/components')['VDialog']
388
390
  VDivider: typeof import('vuetify/components')['VDivider']
391
+ VField: typeof import('vuetify/components')['VField']
392
+ VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
393
+ VFileInput: typeof import('vuetify/components')['VFileInput']
389
394
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
390
395
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
391
396
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
392
397
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
393
- VField: typeof import('vuetify/components')['VField']
394
- VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
395
- VFileInput: typeof import('vuetify/components')['VFileInput']
396
398
  VFooter: typeof import('vuetify/components')['VFooter']
397
- VImg: typeof import('vuetify/components')['VImg']
398
- VInput: typeof import('vuetify/components')['VInput']
399
- VItemGroup: typeof import('vuetify/components')['VItemGroup']
400
- VItem: typeof import('vuetify/components')['VItem']
401
- VLabel: typeof import('vuetify/components')['VLabel']
402
- VKbd: typeof import('vuetify/components')['VKbd']
403
399
  VIcon: typeof import('vuetify/components')['VIcon']
404
400
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
405
401
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
406
402
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
407
403
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
404
+ VInput: typeof import('vuetify/components')['VInput']
405
+ VImg: typeof import('vuetify/components')['VImg']
406
+ VItemGroup: typeof import('vuetify/components')['VItemGroup']
407
+ VItem: typeof import('vuetify/components')['VItem']
408
+ VKbd: typeof import('vuetify/components')['VKbd']
409
+ VLabel: typeof import('vuetify/components')['VLabel']
408
410
  VList: typeof import('vuetify/components')['VList']
409
- VListSubheader: typeof import('vuetify/components')['VListSubheader']
411
+ VListGroup: typeof import('vuetify/components')['VListGroup']
410
412
  VListImg: typeof import('vuetify/components')['VListImg']
411
413
  VListItem: typeof import('vuetify/components')['VListItem']
412
414
  VListItemAction: typeof import('vuetify/components')['VListItemAction']
@@ -416,42 +418,39 @@ declare module '@vue/runtime-core' {
416
418
  VListItemMedia: typeof import('vuetify/components')['VListItemMedia']
417
419
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
418
420
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
419
- VListGroup: typeof import('vuetify/components')['VListGroup']
421
+ VListSubheader: typeof import('vuetify/components')['VListSubheader']
420
422
  VMain: typeof import('vuetify/components')['VMain']
423
+ VMenu: typeof import('vuetify/components')['VMenu']
421
424
  VMessages: typeof import('vuetify/components')['VMessages']
422
425
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
423
- VPagination: typeof import('vuetify/components')['VPagination']
424
- VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
425
426
  VOverlay: typeof import('vuetify/components')['VOverlay']
427
+ VPagination: typeof import('vuetify/components')['VPagination']
426
428
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
427
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
428
429
  VRating: typeof import('vuetify/components')['VRating']
430
+ VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
431
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
429
432
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
430
433
  VSelect: typeof import('vuetify/components')['VSelect']
431
434
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
432
435
  VSheet: typeof import('vuetify/components')['VSheet']
436
+ VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
437
+ VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
433
438
  VSlider: typeof import('vuetify/components')['VSlider']
434
439
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
435
- VSwitch: typeof import('vuetify/components')['VSwitch']
436
440
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
441
+ VSwitch: typeof import('vuetify/components')['VSwitch']
437
442
  VTabs: typeof import('vuetify/components')['VTabs']
438
443
  VTab: typeof import('vuetify/components')['VTab']
439
444
  VTable: typeof import('vuetify/components')['VTable']
440
- VTextarea: typeof import('vuetify/components')['VTextarea']
441
445
  VTextField: typeof import('vuetify/components')['VTextField']
442
- VToolbar: typeof import('vuetify/components')['VToolbar']
443
- VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
444
- VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
446
+ VTextarea: typeof import('vuetify/components')['VTextarea']
445
447
  VTimeline: typeof import('vuetify/components')['VTimeline']
446
448
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
447
449
  VTooltip: typeof import('vuetify/components')['VTooltip']
450
+ VToolbar: typeof import('vuetify/components')['VToolbar']
451
+ VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
452
+ VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
448
453
  VWindow: typeof import('vuetify/components')['VWindow']
449
454
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
450
- VMenu: typeof import('vuetify/components')['VMenu']
451
- VBanner: typeof import('vuetify/components')['VBanner']
452
- VBannerActions: typeof import('vuetify/components')['VBannerActions']
453
- VBannerAvatar: typeof import('vuetify/components')['VBannerAvatar']
454
- VBannerIcon: typeof import('vuetify/components')['VBannerIcon']
455
- VBannerText: typeof import('vuetify/components')['VBannerText']
456
455
  }
457
456
  }