vuetify 3.3.0 → 3.3.2

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 (536) hide show
  1. package/dist/json/attributes.json +88 -60
  2. package/dist/json/importMap.json +26 -26
  3. package/dist/json/tags.json +8 -1
  4. package/dist/json/web-types.json +836 -899
  5. package/dist/vuetify-labs.css +136 -114
  6. package/dist/vuetify-labs.d.ts +6688 -11806
  7. package/dist/vuetify-labs.esm.js +8271 -8060
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +8270 -8059
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +133 -112
  12. package/dist/vuetify.d.ts +4441 -8286
  13. package/dist/vuetify.esm.js +6686 -6548
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +6685 -6547
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +979 -975
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/blueprints/index.d.mts +31 -31
  21. package/lib/blueprints/md1.d.mts +31 -31
  22. package/lib/blueprints/md2.d.mts +31 -31
  23. package/lib/blueprints/md3.d.mts +31 -31
  24. package/lib/components/VAlert/VAlert.mjs +6 -6
  25. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  26. package/lib/components/VAlert/_variables.scss +2 -2
  27. package/lib/components/VAlert/index.d.mts +16 -74
  28. package/lib/components/VApp/VApp.mjs +4 -4
  29. package/lib/components/VApp/VApp.mjs.map +1 -1
  30. package/lib/components/VApp/index.d.mts +0 -15
  31. package/lib/components/VAppBar/VAppBar.mjs +9 -6
  32. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  33. package/lib/components/VAppBar/VAppBarNavIcon.mjs +1 -1
  34. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  35. package/lib/components/VAppBar/index.d.mts +1 -82
  36. package/lib/components/VAutocomplete/VAutocomplete.mjs +11 -11
  37. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  38. package/lib/components/VAutocomplete/index.d.mts +205 -259
  39. package/lib/components/VAvatar/VAvatar.mjs +4 -4
  40. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  41. package/lib/components/VAvatar/_variables.scss +1 -1
  42. package/lib/components/VAvatar/index.d.mts +0 -15
  43. package/lib/components/VBadge/VBadge.mjs +6 -6
  44. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  45. package/lib/components/VBadge/index.d.mts +0 -19
  46. package/lib/components/VBanner/VBanner.mjs +7 -10
  47. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  48. package/lib/components/VBanner/VBannerActions.mjs +2 -2
  49. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  50. package/lib/components/VBanner/VBannerText.mjs +1 -0
  51. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  52. package/lib/components/VBanner/index.d.mts +1 -58
  53. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +8 -8
  54. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  55. package/lib/components/VBottomNavigation/index.d.mts +0 -15
  56. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +6 -9
  57. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  58. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +2 -2
  59. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  60. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +3 -3
  61. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  62. package/lib/components/VBreadcrumbs/index.d.mts +30 -60
  63. package/lib/components/VBtn/VBtn.mjs +6 -6
  64. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  65. package/lib/components/VBtn/_variables.scss +15 -15
  66. package/lib/components/VBtn/index.d.mts +0 -27
  67. package/lib/components/VBtnGroup/VBtnGroup.mjs +4 -4
  68. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  69. package/lib/components/VBtnGroup/index.d.mts +0 -15
  70. package/lib/components/VBtnToggle/VBtnToggle.mjs +2 -2
  71. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  72. package/lib/components/VBtnToggle/index.d.mts +19 -34
  73. package/lib/components/VCard/VCard.mjs +7 -7
  74. package/lib/components/VCard/VCard.mjs.map +1 -1
  75. package/lib/components/VCard/VCard.sass +2 -2
  76. package/lib/components/VCard/VCardItem.mjs +4 -4
  77. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  78. package/lib/components/VCard/VCardSubtitle.mjs +1 -0
  79. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  80. package/lib/components/VCard/VCardText.mjs +1 -0
  81. package/lib/components/VCard/VCardText.mjs.map +1 -1
  82. package/lib/components/VCard/VCardTitle.mjs +1 -0
  83. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  84. package/lib/components/VCard/_variables.scss +10 -11
  85. package/lib/components/VCard/index.d.mts +16 -158
  86. package/lib/components/VCarousel/VCarousel.mjs +4 -7
  87. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  88. package/lib/components/VCarousel/VCarouselItem.mjs +1 -1
  89. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  90. package/lib/components/VCarousel/index.d.mts +79 -237
  91. package/lib/components/VCheckbox/VCheckbox.mjs +3 -3
  92. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  93. package/lib/components/VCheckbox/VCheckboxBtn.mjs +4 -4
  94. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  95. package/lib/components/VCheckbox/index.d.mts +191 -277
  96. package/lib/components/VChip/VChip.mjs +7 -7
  97. package/lib/components/VChip/VChip.mjs.map +1 -1
  98. package/lib/components/VChip/index.d.mts +19 -82
  99. package/lib/components/VChipGroup/VChipGroup.mjs +4 -7
  100. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  101. package/lib/components/VChipGroup/index.d.mts +19 -58
  102. package/lib/components/VCode/index.d.mts +0 -15
  103. package/lib/components/VCode/index.mjs +3 -0
  104. package/lib/components/VCode/index.mjs.map +1 -1
  105. package/lib/components/VColorPicker/VColorPicker.mjs +10 -12
  106. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  107. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +2 -5
  108. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  109. package/lib/components/VColorPicker/VColorPickerEdit.mjs +3 -3
  110. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  111. package/lib/components/VColorPicker/VColorPickerPreview.mjs +3 -3
  112. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  113. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +1 -1
  114. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  115. package/lib/components/VCombobox/VCombobox.mjs +13 -12
  116. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  117. package/lib/components/VCombobox/index.d.mts +205 -259
  118. package/lib/components/VCounter/VCounter.mjs +2 -2
  119. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  120. package/lib/components/VCounter/index.d.mts +19 -34
  121. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +4 -4
  122. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  123. package/lib/components/VDefaultsProvider/index.d.mts +7 -24
  124. package/lib/components/VDialog/VDialog.mjs +7 -7
  125. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  126. package/lib/components/VDialog/index.d.mts +175 -301
  127. package/lib/components/VDivider/VDivider.mjs +3 -3
  128. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  129. package/lib/components/VDivider/index.d.mts +0 -15
  130. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +5 -5
  131. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  132. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +3 -3
  133. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  134. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +5 -5
  135. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  136. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +3 -3
  137. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  138. package/lib/components/VExpansionPanel/index.d.mts +35 -107
  139. package/lib/components/VField/VField.mjs +8 -8
  140. package/lib/components/VField/VField.mjs.map +1 -1
  141. package/lib/components/VField/VField.sass +0 -1
  142. package/lib/components/VField/VFieldLabel.mjs +1 -1
  143. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  144. package/lib/components/VField/_variables.scss +1 -0
  145. package/lib/components/VField/index.d.mts +39 -54
  146. package/lib/components/VFileInput/VFileInput.mjs +5 -5
  147. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  148. package/lib/components/VFileInput/index.d.mts +381 -537
  149. package/lib/components/VFooter/VFooter.mjs +4 -4
  150. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  151. package/lib/components/VFooter/_variables.scss +1 -1
  152. package/lib/components/VFooter/index.d.mts +0 -15
  153. package/lib/components/VForm/VForm.mjs +3 -3
  154. package/lib/components/VForm/VForm.mjs.map +1 -1
  155. package/lib/components/VForm/index.d.mts +19 -146
  156. package/lib/components/VGrid/VCol.mjs +2 -2
  157. package/lib/components/VGrid/VCol.mjs.map +1 -1
  158. package/lib/components/VGrid/VContainer.mjs +3 -3
  159. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  160. package/lib/components/VGrid/VRow.mjs +2 -2
  161. package/lib/components/VGrid/VRow.mjs.map +1 -1
  162. package/lib/components/VGrid/VSpacer.mjs +1 -0
  163. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  164. package/lib/components/VGrid/index.d.mts +0 -60
  165. package/lib/components/VHover/VHover.mjs +1 -1
  166. package/lib/components/VHover/VHover.mjs.map +1 -1
  167. package/lib/components/VHover/index.d.mts +19 -46
  168. package/lib/components/VIcon/VIcon.mjs +4 -4
  169. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  170. package/lib/components/VIcon/index.d.mts +0 -30
  171. package/lib/components/VImg/VImg.mjs +5 -4
  172. package/lib/components/VImg/VImg.mjs.map +1 -1
  173. package/lib/components/VImg/index.d.mts +0 -27
  174. package/lib/components/VInput/InputIcon.mjs +3 -2
  175. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  176. package/lib/components/VInput/VInput.mjs +9 -5
  177. package/lib/components/VInput/VInput.mjs.map +1 -1
  178. package/lib/components/VInput/_variables.scss +1 -1
  179. package/lib/components/VInput/index.d.mts +88 -119
  180. package/lib/components/VItemGroup/VItem.mjs +2 -2
  181. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  182. package/lib/components/VItemGroup/VItemGroup.mjs +1 -1
  183. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  184. package/lib/components/VItemGroup/index.d.mts +38 -120
  185. package/lib/components/VKbd/index.d.mts +0 -15
  186. package/lib/components/VKbd/index.mjs +3 -0
  187. package/lib/components/VKbd/index.mjs.map +1 -1
  188. package/lib/components/VLabel/VLabel.mjs +1 -1
  189. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  190. package/lib/components/VLabel/index.d.mts +0 -15
  191. package/lib/components/VLayout/VLayout.mjs +3 -3
  192. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  193. package/lib/components/VLayout/VLayoutItem.mjs +1 -1
  194. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  195. package/lib/components/VLayout/index.d.mts +0 -30
  196. package/lib/components/VLazy/VLazy.mjs +3 -3
  197. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  198. package/lib/components/VLazy/index.d.mts +0 -15
  199. package/lib/components/VList/VList.css +1 -0
  200. package/lib/components/VList/VList.mjs +5 -4
  201. package/lib/components/VList/VList.mjs.map +1 -1
  202. package/lib/components/VList/VList.sass +1 -0
  203. package/lib/components/VList/VListChildren.mjs +3 -3
  204. package/lib/components/VList/VListChildren.mjs.map +1 -1
  205. package/lib/components/VList/VListGroup.mjs +8 -8
  206. package/lib/components/VList/VListGroup.mjs.map +1 -1
  207. package/lib/components/VList/VListImg.mjs +1 -0
  208. package/lib/components/VList/VListImg.mjs.map +1 -1
  209. package/lib/components/VList/VListItem.css +18 -0
  210. package/lib/components/VList/VListItem.mjs +9 -9
  211. package/lib/components/VList/VListItem.mjs.map +1 -1
  212. package/lib/components/VList/VListItem.sass +12 -0
  213. package/lib/components/VList/VListItemAction.mjs +1 -1
  214. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  215. package/lib/components/VList/VListItemMedia.mjs +1 -1
  216. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  217. package/lib/components/VList/VListItemSubtitle.mjs +1 -0
  218. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  219. package/lib/components/VList/VListItemTitle.mjs +1 -0
  220. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  221. package/lib/components/VList/VListSubheader.mjs +3 -3
  222. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  223. package/lib/components/VList/_variables.scss +6 -6
  224. package/lib/components/VList/index.d.mts +185 -337
  225. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +1 -1
  226. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  227. package/lib/components/VLocaleProvider/index.d.mts +0 -15
  228. package/lib/components/VMain/VMain.mjs +3 -3
  229. package/lib/components/VMain/VMain.mjs.map +1 -1
  230. package/lib/components/VMain/index.d.mts +0 -15
  231. package/lib/components/VMenu/VMenu.mjs +7 -7
  232. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  233. package/lib/components/VMenu/index.d.mts +222 -348
  234. package/lib/components/VMenu/shared.mjs +2 -0
  235. package/lib/components/VMenu/shared.mjs.map +1 -1
  236. package/lib/components/VMessages/VMessages.mjs +3 -3
  237. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  238. package/lib/components/VMessages/index.d.mts +15 -30
  239. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +17 -13
  240. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  241. package/lib/components/VNavigationDrawer/index.d.mts +15 -42
  242. package/lib/components/VOverlay/VOverlay.mjs +11 -14
  243. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  244. package/lib/components/VOverlay/index.d.mts +55 -94
  245. package/lib/components/VOverlay/locationStrategies.mjs +5 -5
  246. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  247. package/lib/components/VOverlay/scrollStrategies.mjs +3 -3
  248. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  249. package/lib/components/VOverlay/useActivator.mjs +6 -10
  250. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  251. package/lib/components/VOverlay/util/point.mjs +2 -0
  252. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  253. package/lib/components/VPagination/VPagination.mjs +9 -9
  254. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  255. package/lib/components/VPagination/index.d.mts +75 -106
  256. package/lib/components/VParallax/VParallax.mjs +3 -6
  257. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  258. package/lib/components/VParallax/index.d.mts +0 -27
  259. package/lib/components/VProgressCircular/VProgressCircular.mjs +5 -5
  260. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  261. package/lib/components/VProgressCircular/index.d.mts +19 -42
  262. package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -6
  263. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  264. package/lib/components/VProgressLinear/index.d.mts +19 -46
  265. package/lib/components/VRadio/VRadio.mjs +3 -3
  266. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  267. package/lib/components/VRadio/index.d.mts +33 -68
  268. package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -4
  269. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  270. package/lib/components/VRadioGroup/index.d.mts +140 -191
  271. package/lib/components/VRangeSlider/VRangeSlider.mjs +4 -4
  272. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  273. package/lib/components/VRangeSlider/index.d.mts +100 -143
  274. package/lib/components/VRating/VRating.mjs +6 -9
  275. package/lib/components/VRating/VRating.mjs.map +1 -1
  276. package/lib/components/VRating/index.d.mts +30 -49
  277. package/lib/components/VResponsive/VResponsive.css +1 -0
  278. package/lib/components/VResponsive/VResponsive.mjs +1 -1
  279. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  280. package/lib/components/VResponsive/VResponsive.sass +1 -0
  281. package/lib/components/VResponsive/index.d.mts +0 -19
  282. package/lib/components/VSelect/VSelect.mjs +9 -9
  283. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  284. package/lib/components/VSelect/index.d.mts +205 -259
  285. package/lib/components/VSelectionControl/VSelectionControl.mjs +7 -7
  286. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  287. package/lib/components/VSelectionControl/index.d.mts +24 -24
  288. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +6 -6
  289. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  290. package/lib/components/VSelectionControlGroup/index.d.mts +0 -15
  291. package/lib/components/VSheet/VSheet.mjs +4 -4
  292. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  293. package/lib/components/VSheet/index.d.mts +0 -15
  294. package/lib/components/VSlideGroup/VSlideGroup.mjs +7 -7
  295. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  296. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +2 -2
  297. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  298. package/lib/components/VSlideGroup/index.d.mts +68 -126
  299. package/lib/components/VSlider/VSlider.css +5 -4
  300. package/lib/components/VSlider/VSlider.mjs +6 -6
  301. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  302. package/lib/components/VSlider/VSlider.sass +5 -4
  303. package/lib/components/VSlider/VSliderThumb.mjs +6 -6
  304. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  305. package/lib/components/VSlider/VSliderTrack.mjs +3 -3
  306. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  307. package/lib/components/VSlider/index.d.mts +100 -143
  308. package/lib/components/VSlider/slider.mjs +4 -7
  309. package/lib/components/VSlider/slider.mjs.map +1 -1
  310. package/lib/components/VSnackbar/VSnackbar.mjs +7 -7
  311. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  312. package/lib/components/VSnackbar/_variables.scss +1 -1
  313. package/lib/components/VSnackbar/index.d.mts +167 -289
  314. package/lib/components/VStepper/index.mjs +3 -2
  315. package/lib/components/VStepper/index.mjs.map +1 -1
  316. package/lib/components/VSwitch/VSwitch.mjs +6 -6
  317. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  318. package/lib/components/VSwitch/index.d.mts +164 -219
  319. package/lib/components/VSystemBar/VSystemBar.mjs +4 -4
  320. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  321. package/lib/components/VSystemBar/_variables.scss +2 -2
  322. package/lib/components/VSystemBar/index.d.mts +0 -15
  323. package/lib/components/VTable/VTable.mjs +1 -1
  324. package/lib/components/VTable/VTable.mjs.map +1 -1
  325. package/lib/components/VTable/_variables.scss +1 -1
  326. package/lib/components/VTable/index.d.mts +0 -27
  327. package/lib/components/VTabs/VTab.mjs +3 -3
  328. package/lib/components/VTabs/VTab.mjs.map +1 -1
  329. package/lib/components/VTabs/VTabs.mjs +7 -7
  330. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  331. package/lib/components/VTabs/index.d.mts +0 -30
  332. package/lib/components/VTabs/shared.mjs +2 -0
  333. package/lib/components/VTabs/shared.mjs.map +1 -1
  334. package/lib/components/VTextField/VTextField.mjs +6 -6
  335. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  336. package/lib/components/VTextField/index.d.mts +423 -559
  337. package/lib/components/VTextarea/VTextarea.mjs +8 -11
  338. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  339. package/lib/components/VTextarea/index.d.mts +362 -494
  340. package/lib/components/VThemeProvider/VThemeProvider.mjs +1 -1
  341. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  342. package/lib/components/VThemeProvider/index.d.mts +0 -15
  343. package/lib/components/VTimeline/VTimeline.mjs +4 -4
  344. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  345. package/lib/components/VTimeline/VTimelineDivider.mjs +5 -5
  346. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  347. package/lib/components/VTimeline/VTimelineItem.mjs +4 -7
  348. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  349. package/lib/components/VTimeline/index.d.mts +0 -38
  350. package/lib/components/VToolbar/VToolbar.mjs +8 -8
  351. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  352. package/lib/components/VToolbar/VToolbarItems.mjs +4 -4
  353. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  354. package/lib/components/VToolbar/VToolbarTitle.mjs +1 -1
  355. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  356. package/lib/components/VToolbar/_variables.scss +2 -2
  357. package/lib/components/VToolbar/index.d.mts +1 -70
  358. package/lib/components/VTooltip/VTooltip.mjs +6 -6
  359. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  360. package/lib/components/VTooltip/index.d.mts +222 -348
  361. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  362. package/lib/components/VValidation/index.d.mts +19 -90
  363. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +15 -93
  364. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  365. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +9 -4
  366. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  367. package/lib/components/VVirtualScroll/index.d.mts +25 -25
  368. package/lib/components/VWindow/VWindow.mjs +6 -6
  369. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  370. package/lib/components/VWindow/VWindowItem.mjs +5 -5
  371. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  372. package/lib/components/VWindow/index.d.mts +64 -138
  373. package/lib/components/index.d.mts +4688 -8535
  374. package/lib/components/transitions/createTransition.mjs +5 -8
  375. package/lib/components/transitions/createTransition.mjs.map +1 -1
  376. package/lib/components/transitions/dialog-transition.mjs +1 -3
  377. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  378. package/lib/components/transitions/index.d.mts +117 -357
  379. package/lib/composables/defaults.mjs +5 -0
  380. package/lib/composables/defaults.mjs.map +1 -1
  381. package/lib/composables/display.mjs +1 -1
  382. package/lib/composables/display.mjs.map +1 -1
  383. package/lib/composables/filter.mjs +2 -4
  384. package/lib/composables/filter.mjs.map +1 -1
  385. package/lib/composables/focus.mjs +1 -1
  386. package/lib/composables/focus.mjs.map +1 -1
  387. package/lib/composables/forwardRefs.mjs +2 -0
  388. package/lib/composables/forwardRefs.mjs.map +1 -1
  389. package/lib/composables/hydration.mjs +1 -1
  390. package/lib/composables/hydration.mjs.map +1 -1
  391. package/lib/composables/icons.mjs +7 -1
  392. package/lib/composables/icons.mjs.map +1 -1
  393. package/lib/composables/lazy.mjs +1 -3
  394. package/lib/composables/lazy.mjs.map +1 -1
  395. package/lib/composables/loader.mjs.map +1 -1
  396. package/lib/composables/locale.mjs +2 -1
  397. package/lib/composables/locale.mjs.map +1 -1
  398. package/lib/composables/mutationObserver.mjs +2 -5
  399. package/lib/composables/mutationObserver.mjs.map +1 -1
  400. package/lib/composables/nested/nested.mjs +2 -2
  401. package/lib/composables/nested/nested.mjs.map +1 -1
  402. package/lib/composables/nested/selectStrategies.mjs +1 -0
  403. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  404. package/lib/composables/proxiedModel.mjs +3 -3
  405. package/lib/composables/proxiedModel.mjs.map +1 -1
  406. package/lib/composables/refs.mjs +4 -1
  407. package/lib/composables/refs.mjs.map +1 -1
  408. package/lib/composables/resizeObserver.mjs +4 -4
  409. package/lib/composables/resizeObserver.mjs.map +1 -1
  410. package/lib/composables/router.mjs +1 -4
  411. package/lib/composables/router.mjs.map +1 -1
  412. package/lib/composables/scopeId.mjs +1 -0
  413. package/lib/composables/scopeId.mjs.map +1 -1
  414. package/lib/composables/theme.mjs.map +1 -1
  415. package/lib/composables/toggleScope.mjs +4 -0
  416. package/lib/composables/toggleScope.mjs.map +1 -1
  417. package/lib/composables/touch.mjs +1 -0
  418. package/lib/composables/touch.mjs.map +1 -1
  419. package/lib/composables/validation.mjs +2 -2
  420. package/lib/composables/validation.mjs.map +1 -1
  421. package/lib/composables/virtual.mjs +108 -0
  422. package/lib/composables/virtual.mjs.map +1 -0
  423. package/lib/directives/click-outside/index.mjs +2 -1
  424. package/lib/directives/click-outside/index.mjs.map +1 -1
  425. package/lib/directives/intersect/index.mjs +1 -1
  426. package/lib/directives/intersect/index.mjs.map +1 -1
  427. package/lib/directives/resize/index.mjs +2 -0
  428. package/lib/directives/resize/index.mjs.map +1 -1
  429. package/lib/directives/scroll/index.mjs +2 -0
  430. package/lib/directives/scroll/index.mjs.map +1 -1
  431. package/lib/directives/touch/index.mjs +1 -2
  432. package/lib/directives/touch/index.mjs.map +1 -1
  433. package/lib/entry-bundler.mjs +7 -2
  434. package/lib/entry-bundler.mjs.map +1 -1
  435. package/lib/framework.mjs +4 -6
  436. package/lib/framework.mjs.map +1 -1
  437. package/lib/iconsets/fa.mjs +1 -1
  438. package/lib/iconsets/fa.mjs.map +1 -1
  439. package/lib/iconsets/fa4.mjs +4 -3
  440. package/lib/iconsets/fa4.mjs.map +1 -1
  441. package/lib/iconsets/md.mjs +4 -3
  442. package/lib/iconsets/md.mjs.map +1 -1
  443. package/lib/iconsets/mdi-svg.mjs +1 -1
  444. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  445. package/lib/iconsets/mdi.mjs +4 -3
  446. package/lib/iconsets/mdi.mjs.map +1 -1
  447. package/lib/index.d.mts +40 -38
  448. package/lib/labs/VBottomSheet/VBottomSheet.mjs +1 -1
  449. package/lib/labs/VBottomSheet/VBottomSheet.mjs.map +1 -1
  450. package/lib/labs/VBottomSheet/index.d.mts +55 -94
  451. package/lib/labs/VDataIterator/VDataIterator.mjs +13 -10
  452. package/lib/labs/VDataIterator/VDataIterator.mjs.map +1 -1
  453. package/lib/labs/VDataIterator/composables/items.mjs +9 -3
  454. package/lib/labs/VDataIterator/composables/items.mjs.map +1 -1
  455. package/lib/labs/VDataIterator/index.d.mts +143 -132
  456. package/lib/labs/VDataTable/VDataTable.css +1 -0
  457. package/lib/labs/VDataTable/VDataTable.mjs +14 -11
  458. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  459. package/lib/labs/VDataTable/VDataTable.sass +1 -0
  460. package/lib/labs/VDataTable/VDataTableColumn.mjs +2 -1
  461. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
  462. package/lib/labs/VDataTable/VDataTableFooter.mjs +3 -3
  463. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  464. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +5 -5
  465. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  466. package/lib/labs/VDataTable/VDataTableHeaders.mjs +10 -9
  467. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  468. package/lib/labs/VDataTable/VDataTableRow.mjs +2 -1
  469. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  470. package/lib/labs/VDataTable/VDataTableRows.mjs +20 -16
  471. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  472. package/lib/labs/VDataTable/VDataTableServer.mjs +15 -10
  473. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  474. package/lib/labs/VDataTable/VDataTableVirtual.mjs +40 -25
  475. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  476. package/lib/labs/VDataTable/composables/expand.mjs +4 -4
  477. package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
  478. package/lib/labs/VDataTable/composables/group.mjs +1 -1
  479. package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
  480. package/lib/labs/VDataTable/composables/headers.mjs +2 -2
  481. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  482. package/lib/labs/VDataTable/composables/items.mjs +12 -9
  483. package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
  484. package/lib/labs/VDataTable/composables/paginate.mjs +1 -1
  485. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  486. package/lib/labs/VDataTable/composables/select.mjs +125 -9
  487. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  488. package/lib/labs/VDataTable/composables/sort.mjs +4 -9
  489. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  490. package/lib/labs/VDataTable/index.d.mts +1792 -2979
  491. package/lib/labs/VDataTable/types.mjs.map +1 -1
  492. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +1 -1
  493. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
  494. package/lib/labs/VInfiniteScroll/index.d.mts +60 -91
  495. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +4 -4
  496. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  497. package/lib/labs/VSkeletonLoader/index.d.mts +0 -15
  498. package/lib/labs/components.d.mts +2049 -3320
  499. package/lib/labs/date/date.mjs.map +1 -1
  500. package/lib/labs/entry-bundler.mjs +3 -1
  501. package/lib/labs/entry-bundler.mjs.map +1 -1
  502. package/lib/locale/adapters/vue-i18n.d.mts +1 -1
  503. package/lib/locale/adapters/vue-i18n.mjs +5 -1
  504. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  505. package/lib/locale/adapters/vuetify.mjs +1 -3
  506. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  507. package/lib/styles/settings/_colors.scss +18 -15
  508. package/lib/util/anchor.mjs +1 -0
  509. package/lib/util/anchor.mjs.map +1 -1
  510. package/lib/util/animation.mjs +1 -0
  511. package/lib/util/animation.mjs.map +1 -1
  512. package/lib/util/color/APCA.mjs +1 -0
  513. package/lib/util/color/APCA.mjs.map +1 -1
  514. package/lib/util/color/transformCIELAB.mjs +2 -0
  515. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  516. package/lib/util/color/transformSRGB.mjs +3 -1
  517. package/lib/util/color/transformSRGB.mjs.map +1 -1
  518. package/lib/util/colorUtils.mjs +2 -2
  519. package/lib/util/colorUtils.mjs.map +1 -1
  520. package/lib/util/console.mjs +1 -0
  521. package/lib/util/console.mjs.map +1 -1
  522. package/lib/util/createSimpleFunctional.mjs +2 -1
  523. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  524. package/lib/util/defineComponent.mjs +5 -5
  525. package/lib/util/defineComponent.mjs.map +1 -1
  526. package/lib/util/getCurrentInstance.mjs +1 -2
  527. package/lib/util/getCurrentInstance.mjs.map +1 -1
  528. package/lib/util/helpers.mjs +3 -3
  529. package/lib/util/helpers.mjs.map +1 -1
  530. package/lib/util/injectSelf.mjs +2 -1
  531. package/lib/util/injectSelf.mjs.map +1 -1
  532. package/lib/util/propsFactory.mjs +1 -0
  533. package/lib/util/propsFactory.mjs.map +1 -1
  534. package/package.json +3 -2
  535. package/lib/labs/VDataTable/composables/virtual.mjs +0 -77
  536. package/lib/labs/VDataTable/composables/virtual.mjs.map +0 -1
@@ -28,14 +28,14 @@ declare const VChipGroup: {
28
28
  class?: any;
29
29
  mandatory?: boolean | "force" | undefined;
30
30
  $children?: vue.VNodeChild | {
31
- default?: ((args_0: {
31
+ default?: ((arg: {
32
32
  isSelected: (id: number) => boolean;
33
33
  select: (id: number, value: boolean) => void;
34
34
  next: () => void;
35
35
  prev: () => void;
36
36
  selected: readonly number[];
37
37
  }) => vue.VNodeChild) | undefined;
38
- } | ((args_0: {
38
+ } | ((arg: {
39
39
  isSelected: (id: number) => boolean;
40
40
  select: (id: number, value: boolean) => void;
41
41
  next: () => void;
@@ -46,7 +46,7 @@ declare const VChipGroup: {
46
46
  ref_for?: boolean | undefined;
47
47
  ref_key?: string | undefined;
48
48
  theme?: string | undefined;
49
- "v-slot:default"?: false | ((args_0: {
49
+ "v-slot:default"?: false | ((arg: {
50
50
  isSelected: (id: number) => boolean;
51
51
  select: (id: number, value: boolean) => void;
52
52
  next: () => void;
@@ -54,16 +54,7 @@ declare const VChipGroup: {
54
54
  selected: readonly number[];
55
55
  }) => vue.VNodeChild) | undefined;
56
56
  'v-slots'?: {
57
- default?: false | ((args_0: {
58
- isSelected: (id: number) => boolean;
59
- select: (id: number, value: boolean) => void;
60
- next: () => void;
61
- prev: () => void;
62
- selected: readonly number[];
63
- }) => vue.VNodeChild) | undefined;
64
- } | undefined;
65
- $slots?: {
66
- default?: ((args_0: {
57
+ default?: false | ((arg: {
67
58
  isSelected: (id: number) => boolean;
68
59
  select: (id: number, value: boolean) => void;
69
60
  next: () => void;
@@ -118,7 +109,7 @@ declare const VChipGroup: {
118
109
  [x: string]: unknown;
119
110
  };
120
111
  $slots: Readonly<{
121
- default?: ((args_0: {
112
+ default?: ((arg: {
122
113
  isSelected: (id: number) => boolean;
123
114
  select: (id: number, value: boolean) => void;
124
115
  next: () => void;
@@ -151,14 +142,14 @@ declare const VChipGroup: {
151
142
  modelValue?: any;
152
143
  } & {
153
144
  $children?: vue.VNodeChild | {
154
- default?: ((args_0: {
145
+ default?: ((arg: {
155
146
  isSelected: (id: number) => boolean;
156
147
  select: (id: number, value: boolean) => void;
157
148
  next: () => void;
158
149
  prev: () => void;
159
150
  selected: readonly number[];
160
151
  }) => vue.VNodeChild) | undefined;
161
- } | ((args_0: {
152
+ } | ((arg: {
162
153
  isSelected: (id: number) => boolean;
163
154
  select: (id: number, value: boolean) => void;
164
155
  next: () => void;
@@ -166,7 +157,7 @@ declare const VChipGroup: {
166
157
  selected: readonly number[];
167
158
  }) => vue.VNodeChild);
168
159
  'v-slots'?: {
169
- default?: false | ((args_0: {
160
+ default?: false | ((arg: {
170
161
  isSelected: (id: number) => boolean;
171
162
  select: (id: number, value: boolean) => void;
172
163
  next: () => void;
@@ -175,23 +166,13 @@ declare const VChipGroup: {
175
166
  }) => vue.VNodeChild) | undefined;
176
167
  } | undefined;
177
168
  } & {
178
- "v-slot:default"?: false | ((args_0: {
169
+ "v-slot:default"?: false | ((arg: {
179
170
  isSelected: (id: number) => boolean;
180
171
  select: (id: number, value: boolean) => void;
181
172
  next: () => void;
182
173
  prev: () => void;
183
174
  selected: readonly number[];
184
175
  }) => vue.VNodeChild) | undefined;
185
- } & {
186
- $slots?: {
187
- default?: ((args_0: {
188
- isSelected: (id: number) => boolean;
189
- select: (id: number, value: boolean) => void;
190
- next: () => void;
191
- prev: () => void;
192
- selected: readonly number[];
193
- }) => vue.VNodeChild) | undefined;
194
- } | undefined;
195
176
  } & {
196
177
  "onUpdate:modelValue"?: ((value: any) => any) | undefined;
197
178
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
@@ -208,7 +189,7 @@ declare const VChipGroup: {
208
189
  selectedClass: string;
209
190
  valueComparator: typeof deepEqual;
210
191
  }, {}, string, vue.SlotsType<Partial<{
211
- default: (args_0: {
192
+ default: (arg: {
212
193
  isSelected: (id: number) => boolean;
213
194
  select: (id: number, value: boolean) => void;
214
195
  next: () => void;
@@ -256,14 +237,14 @@ declare const VChipGroup: {
256
237
  modelValue?: any;
257
238
  } & {
258
239
  $children?: vue.VNodeChild | {
259
- default?: ((args_0: {
240
+ default?: ((arg: {
260
241
  isSelected: (id: number) => boolean;
261
242
  select: (id: number, value: boolean) => void;
262
243
  next: () => void;
263
244
  prev: () => void;
264
245
  selected: readonly number[];
265
246
  }) => vue.VNodeChild) | undefined;
266
- } | ((args_0: {
247
+ } | ((arg: {
267
248
  isSelected: (id: number) => boolean;
268
249
  select: (id: number, value: boolean) => void;
269
250
  next: () => void;
@@ -271,7 +252,7 @@ declare const VChipGroup: {
271
252
  selected: readonly number[];
272
253
  }) => vue.VNodeChild);
273
254
  'v-slots'?: {
274
- default?: false | ((args_0: {
255
+ default?: false | ((arg: {
275
256
  isSelected: (id: number) => boolean;
276
257
  select: (id: number, value: boolean) => void;
277
258
  next: () => void;
@@ -280,23 +261,13 @@ declare const VChipGroup: {
280
261
  }) => vue.VNodeChild) | undefined;
281
262
  } | undefined;
282
263
  } & {
283
- "v-slot:default"?: false | ((args_0: {
264
+ "v-slot:default"?: false | ((arg: {
284
265
  isSelected: (id: number) => boolean;
285
266
  select: (id: number, value: boolean) => void;
286
267
  next: () => void;
287
268
  prev: () => void;
288
269
  selected: readonly number[];
289
270
  }) => vue.VNodeChild) | undefined;
290
- } & {
291
- $slots?: {
292
- default?: ((args_0: {
293
- isSelected: (id: number) => boolean;
294
- select: (id: number, value: boolean) => void;
295
- next: () => void;
296
- prev: () => void;
297
- selected: readonly number[];
298
- }) => vue.VNodeChild) | undefined;
299
- } | undefined;
300
271
  } & {
301
272
  "onUpdate:modelValue"?: ((value: any) => any) | undefined;
302
273
  } & vue.ShallowUnwrapRef<{}> & {} & vue.ComponentCustomProperties & {};
@@ -322,14 +293,14 @@ declare const VChipGroup: {
322
293
  modelValue?: any;
323
294
  } & {
324
295
  $children?: vue.VNodeChild | {
325
- default?: ((args_0: {
296
+ default?: ((arg: {
326
297
  isSelected: (id: number) => boolean;
327
298
  select: (id: number, value: boolean) => void;
328
299
  next: () => void;
329
300
  prev: () => void;
330
301
  selected: readonly number[];
331
302
  }) => vue.VNodeChild) | undefined;
332
- } | ((args_0: {
303
+ } | ((arg: {
333
304
  isSelected: (id: number) => boolean;
334
305
  select: (id: number, value: boolean) => void;
335
306
  next: () => void;
@@ -337,7 +308,7 @@ declare const VChipGroup: {
337
308
  selected: readonly number[];
338
309
  }) => vue.VNodeChild);
339
310
  'v-slots'?: {
340
- default?: false | ((args_0: {
311
+ default?: false | ((arg: {
341
312
  isSelected: (id: number) => boolean;
342
313
  select: (id: number, value: boolean) => void;
343
314
  next: () => void;
@@ -346,23 +317,13 @@ declare const VChipGroup: {
346
317
  }) => vue.VNodeChild) | undefined;
347
318
  } | undefined;
348
319
  } & {
349
- "v-slot:default"?: false | ((args_0: {
320
+ "v-slot:default"?: false | ((arg: {
350
321
  isSelected: (id: number) => boolean;
351
322
  select: (id: number, value: boolean) => void;
352
323
  next: () => void;
353
324
  prev: () => void;
354
325
  selected: readonly number[];
355
326
  }) => vue.VNodeChild) | undefined;
356
- } & {
357
- $slots?: {
358
- default?: ((args_0: {
359
- isSelected: (id: number) => boolean;
360
- select: (id: number, value: boolean) => void;
361
- next: () => void;
362
- prev: () => void;
363
- selected: readonly number[];
364
- }) => vue.VNodeChild) | undefined;
365
- } | undefined;
366
327
  } & {
367
328
  "onUpdate:modelValue"?: ((value: any) => any) | undefined;
368
329
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
@@ -379,7 +340,7 @@ declare const VChipGroup: {
379
340
  selectedClass: string;
380
341
  valueComparator: typeof deepEqual;
381
342
  }, {}, string, vue.SlotsType<Partial<{
382
- default: (args_0: {
343
+ default: (arg: {
383
344
  isSelected: (id: number) => boolean;
384
345
  select: (id: number, value: boolean) => void;
385
346
  next: () => void;
@@ -24,9 +24,6 @@ declare const VCode: {
24
24
  'v-slots'?: {
25
25
  default?: false | (() => vue.VNodeChild) | undefined;
26
26
  } | undefined;
27
- $slots?: {
28
- default?: (() => vue.VNodeChild) | undefined;
29
- } | undefined;
30
27
  onVnodeBeforeMount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
31
28
  [key: string]: any;
32
29
  }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -95,10 +92,6 @@ declare const VCode: {
95
92
  } | undefined;
96
93
  } & {
97
94
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
98
- } & {
99
- $slots?: {
100
- default?: (() => vue.VNodeChild) | undefined;
101
- } | undefined;
102
95
  }, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
103
96
  [key: string]: any;
104
97
  }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
@@ -142,10 +135,6 @@ declare const VCode: {
142
135
  } | undefined;
143
136
  } & {
144
137
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
145
- } & {
146
- $slots?: {
147
- default?: (() => vue.VNodeChild) | undefined;
148
- } | undefined;
149
138
  } & vue.ShallowUnwrapRef<() => vue.VNode<vue.RendererNode, vue.RendererElement, {
150
139
  [key: string]: any;
151
140
  }>> & {} & vue.ComponentCustomProperties & {};
@@ -166,10 +155,6 @@ declare const VCode: {
166
155
  } | undefined;
167
156
  } & {
168
157
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
169
- } & {
170
- $slots?: {
171
- default?: (() => vue.VNodeChild) | undefined;
172
- } | undefined;
173
158
  }, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
174
159
  [key: string]: any;
175
160
  }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
@@ -1,4 +1,7 @@
1
+ // Styles
1
2
  import "./VCode.css";
3
+
4
+ // Utilities
2
5
  import { createSimpleFunctional } from "../../util/index.mjs";
3
6
  export const VCode = createSimpleFunctional('v-code');
4
7
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["createSimpleFunctional","VCode"],"sources":["../../../src/components/VCode/index.ts"],"sourcesContent":["import './VCode.sass'\n\nimport { createSimpleFunctional } from '@/util'\n\nexport const VCode = createSimpleFunctional('v-code')\n\nexport type VCode = InstanceType<typeof VCode>\n"],"mappings":"AAAA;AAAqB,SAEZA,sBAAsB;AAE/B,OAAO,MAAMC,KAAK,GAAGD,sBAAsB,CAAC,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.mjs","names":["createSimpleFunctional","VCode"],"sources":["../../../src/components/VCode/index.ts"],"sourcesContent":["// Styles\nimport './VCode.sass'\n\n// Utilities\nimport { createSimpleFunctional } from '@/util'\n\nexport const VCode = createSimpleFunctional('v-code')\n\nexport type VCode = InstanceType<typeof VCode>\n"],"mappings":"AAAA;AACA;;AAEA;AAAA,SACSA,sBAAsB;AAE/B,OAAO,MAAMC,KAAK,GAAGD,sBAAsB,CAAC,QAAQ,CAAC"}
@@ -3,21 +3,18 @@ import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
3
3
  import "./VColorPicker.css";
4
4
 
5
5
  // Components
6
- import { makeVSheetProps, VSheet } from "../VSheet/VSheet.mjs";
7
6
  import { VColorPickerCanvas } from "./VColorPickerCanvas.mjs";
8
7
  import { VColorPickerEdit } from "./VColorPickerEdit.mjs";
9
8
  import { VColorPickerPreview } from "./VColorPickerPreview.mjs";
10
- import { VColorPickerSwatches } from "./VColorPickerSwatches.mjs"; // Composables
11
- import { useProxiedModel } from "../../composables/proxiedModel.mjs";
9
+ import { VColorPickerSwatches } from "./VColorPickerSwatches.mjs";
10
+ import { makeVSheetProps, VSheet } from "../VSheet/VSheet.mjs"; // Composables
12
11
  import { provideDefaults } from "../../composables/defaults.mjs";
13
- import { useRtl } from "../../composables/locale.mjs"; // Utilities
14
- import { consoleWarn, defineComponent, HSVtoCSS, omit, parseColor, propsFactory, RGBtoHSV, useRender } from "../../util/index.mjs";
15
- import { extractColor, modes, nullColor } from "./util/index.mjs";
12
+ import { useRtl } from "../../composables/locale.mjs";
13
+ import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
16
14
  import { onMounted, ref } from 'vue';
17
-
18
- // Types
19
-
20
- export const makeVPickerProps = propsFactory({
15
+ import { extractColor, modes, nullColor } from "./util/index.mjs";
16
+ import { consoleWarn, defineComponent, HSVtoCSS, omit, parseColor, propsFactory, RGBtoHSV, useRender } from "../../util/index.mjs"; // Types
17
+ export const makeVColorPickerProps = propsFactory({
21
18
  canvasHeight: {
22
19
  type: [String, Number],
23
20
  default: 150
@@ -52,10 +49,10 @@ export const makeVPickerProps = propsFactory({
52
49
  ...omit(makeVSheetProps({
53
50
  width: 300
54
51
  }), ['height', 'location', 'minHeight', 'maxHeight', 'minWidth', 'maxWidth'])
55
- }, 'v-color-picker');
52
+ }, 'VColorPicker');
56
53
  export const VColorPicker = defineComponent({
57
54
  name: 'VColorPicker',
58
- props: makeVPickerProps(),
55
+ props: makeVColorPickerProps(),
59
56
  emits: {
60
57
  'update:modelValue': color => true,
61
58
  'update:mode': mode => true
@@ -64,6 +61,7 @@ export const VColorPicker = defineComponent({
64
61
  const mode = useProxiedModel(props, 'mode');
65
62
  const lastPickedColor = ref(null);
66
63
  const currentColor = useProxiedModel(props, 'modelValue', undefined, v => {
64
+ if (v == null || v === '') return null;
67
65
  let c;
68
66
  try {
69
67
  c = RGBtoHSV(parseColor(v));
@@ -1 +1 @@
1
- {"version":3,"file":"VColorPicker.mjs","names":["makeVSheetProps","VSheet","VColorPickerCanvas","VColorPickerEdit","VColorPickerPreview","VColorPickerSwatches","useProxiedModel","provideDefaults","useRtl","consoleWarn","defineComponent","HSVtoCSS","omit","parseColor","propsFactory","RGBtoHSV","useRender","extractColor","modes","nullColor","onMounted","ref","makeVPickerProps","canvasHeight","type","String","Number","default","disabled","Boolean","dotSize","hideCanvas","hideSliders","hideInputs","mode","validator","v","Object","keys","includes","Array","isArray","every","m","showSwatches","swatches","swatchesMaxHeight","modelValue","width","VColorPicker","name","props","emits","color","setup","lastPickedColor","currentColor","undefined","c","err","value","h","rtlClasses","updateColor","hsva","VSlider","trackColor","trackFillColor","sheetProps","filterProps","_createVNode","_mergeProps","rounded","elevation","theme","class","a","style","endsWith"],"sources":["../../../src/components/VColorPicker/VColorPicker.tsx"],"sourcesContent":["// Styles\nimport './VColorPicker.sass'\n\n// Components\nimport { makeVSheetProps, VSheet } from '@/components/VSheet/VSheet'\nimport { VColorPickerCanvas } from './VColorPickerCanvas'\nimport { VColorPickerEdit } from './VColorPickerEdit'\nimport { VColorPickerPreview } from './VColorPickerPreview'\nimport { VColorPickerSwatches } from './VColorPickerSwatches'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useRtl } from '@/composables/locale'\n\n// Utilities\nimport { consoleWarn, defineComponent, HSVtoCSS, omit, parseColor, propsFactory, RGBtoHSV, useRender } from '@/util'\nimport { extractColor, modes, nullColor } from './util'\nimport { onMounted, ref } from 'vue'\n\n// Types\nimport type { DeepReadonly, PropType } from 'vue'\nimport type { Color, HSV } from '@/util'\n\nexport const makeVPickerProps = propsFactory({\n canvasHeight: {\n type: [String, Number],\n default: 150,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n hideCanvas: Boolean,\n hideSliders: Boolean,\n hideInputs: Boolean,\n mode: {\n type: String as PropType<keyof typeof modes>,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<readonly (keyof typeof modes)[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n showSwatches: Boolean,\n swatches: Array as PropType<DeepReadonly<Color[][]>>,\n swatchesMaxHeight: {\n type: [Number, String],\n default: 150,\n },\n modelValue: {\n type: [Object, String] as PropType<Record<string, unknown> | string | undefined | null>,\n },\n\n ...omit(makeVSheetProps({ width: 300 }), [\n 'height',\n 'location',\n 'minHeight',\n 'maxHeight',\n 'minWidth',\n 'maxWidth',\n ]),\n}, 'v-color-picker')\n\nexport const VColorPicker = defineComponent({\n name: 'VColorPicker',\n\n props: makeVPickerProps(),\n\n emits: {\n 'update:modelValue': (color: any) => true,\n 'update:mode': (mode: keyof typeof modes) => true,\n },\n\n setup (props) {\n const mode = useProxiedModel(props, 'mode')\n const lastPickedColor = ref<HSV | null>(null)\n const currentColor = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n let c: HSV\n try {\n c = RGBtoHSV(parseColor(v as any))\n } catch (err) {\n consoleWarn(err as any)\n return null\n }\n\n if (lastPickedColor.value) {\n c = { ...c, h: lastPickedColor.value.h }\n lastPickedColor.value = null\n }\n\n return c\n },\n v => {\n if (!v) return null\n\n return extractColor(v, props.modelValue)\n }\n )\n const { rtlClasses } = useRtl()\n\n const updateColor = (hsva: HSV) => {\n currentColor.value = hsva\n lastPickedColor.value = hsva\n }\n\n onMounted(() => {\n if (!props.modes.includes(mode.value)) mode.value = props.modes[0]\n })\n\n provideDefaults({\n VSlider: {\n color: undefined,\n trackColor: undefined,\n trackFillColor: undefined,\n },\n })\n\n useRender(() => {\n const [sheetProps] = VSheet.filterProps(props)\n\n return (\n <VSheet\n rounded={ props.rounded }\n elevation={ props.elevation }\n theme={ props.theme }\n class={[\n 'v-color-picker',\n rtlClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-color-picker-color-hsv': HSVtoCSS({ ...(currentColor.value ?? nullColor), a: 1 }),\n },\n props.style,\n ]}\n { ...sheetProps }\n maxWidth={ props.width }\n >\n { !props.hideCanvas && (\n <VColorPickerCanvas\n key=\"canvas\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n disabled={ props.disabled }\n dotSize={ props.dotSize }\n width={ props.width }\n height={ props.canvasHeight }\n />\n )}\n\n { (!props.hideSliders || !props.hideInputs) && (\n <div key=\"controls\" class=\"v-color-picker__controls\">\n { !props.hideSliders && (\n <VColorPickerPreview\n key=\"preview\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n hideAlpha={ !mode.value.endsWith('a') }\n disabled={ props.disabled }\n />\n )}\n\n { !props.hideInputs && (\n <VColorPickerEdit\n key=\"edit\"\n modes={ props.modes }\n mode={ mode.value }\n onUpdate:mode={ m => mode.value = m }\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n disabled={ props.disabled }\n />\n )}\n </div>\n )}\n\n { props.showSwatches && (\n <VColorPickerSwatches\n key=\"swatches\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n maxHeight={ props.swatchesMaxHeight }\n swatches={ props.swatches }\n disabled={ props.disabled }\n />\n )}\n </VSheet>\n )\n })\n\n return {}\n },\n})\n\nexport type VColorPicker = InstanceType<typeof VColorPicker>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VColorPicker.mjs","names":["VColorPickerCanvas","VColorPickerEdit","VColorPickerPreview","VColorPickerSwatches","makeVSheetProps","VSheet","provideDefaults","useRtl","useProxiedModel","onMounted","ref","extractColor","modes","nullColor","consoleWarn","defineComponent","HSVtoCSS","omit","parseColor","propsFactory","RGBtoHSV","useRender","makeVColorPickerProps","canvasHeight","type","String","Number","default","disabled","Boolean","dotSize","hideCanvas","hideSliders","hideInputs","mode","validator","v","Object","keys","includes","Array","isArray","every","m","showSwatches","swatches","swatchesMaxHeight","modelValue","width","VColorPicker","name","props","emits","color","setup","lastPickedColor","currentColor","undefined","c","err","value","h","rtlClasses","updateColor","hsva","VSlider","trackColor","trackFillColor","sheetProps","filterProps","_createVNode","_mergeProps","rounded","elevation","theme","class","a","style","endsWith"],"sources":["../../../src/components/VColorPicker/VColorPicker.tsx"],"sourcesContent":["// Styles\nimport './VColorPicker.sass'\n\n// Components\nimport { VColorPickerCanvas } from './VColorPickerCanvas'\nimport { VColorPickerEdit } from './VColorPickerEdit'\nimport { VColorPickerPreview } from './VColorPickerPreview'\nimport { VColorPickerSwatches } from './VColorPickerSwatches'\nimport { makeVSheetProps, VSheet } from '@/components/VSheet/VSheet'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { onMounted, ref } from 'vue'\nimport { extractColor, modes, nullColor } from './util'\nimport { consoleWarn, defineComponent, HSVtoCSS, omit, parseColor, propsFactory, RGBtoHSV, useRender } from '@/util'\n\n// Types\nimport type { DeepReadonly, PropType } from 'vue'\nimport type { Color, HSV } from '@/util'\n\nexport const makeVColorPickerProps = propsFactory({\n canvasHeight: {\n type: [String, Number],\n default: 150,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n hideCanvas: Boolean,\n hideSliders: Boolean,\n hideInputs: Boolean,\n mode: {\n type: String as PropType<keyof typeof modes>,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<readonly (keyof typeof modes)[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n showSwatches: Boolean,\n swatches: Array as PropType<DeepReadonly<Color[][]>>,\n swatchesMaxHeight: {\n type: [Number, String],\n default: 150,\n },\n modelValue: {\n type: [Object, String] as PropType<Record<string, unknown> | string | undefined | null>,\n },\n\n ...omit(makeVSheetProps({ width: 300 }), [\n 'height',\n 'location',\n 'minHeight',\n 'maxHeight',\n 'minWidth',\n 'maxWidth',\n ]),\n}, 'VColorPicker')\n\nexport const VColorPicker = defineComponent({\n name: 'VColorPicker',\n\n props: makeVColorPickerProps(),\n\n emits: {\n 'update:modelValue': (color: any) => true,\n 'update:mode': (mode: keyof typeof modes) => true,\n },\n\n setup (props) {\n const mode = useProxiedModel(props, 'mode')\n const lastPickedColor = ref<HSV | null>(null)\n const currentColor = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n if (v == null || v === '') return null\n\n let c: HSV\n try {\n c = RGBtoHSV(parseColor(v as any))\n } catch (err) {\n consoleWarn(err as any)\n return null\n }\n\n if (lastPickedColor.value) {\n c = { ...c, h: lastPickedColor.value.h }\n lastPickedColor.value = null\n }\n\n return c\n },\n v => {\n if (!v) return null\n\n return extractColor(v, props.modelValue)\n }\n )\n const { rtlClasses } = useRtl()\n\n const updateColor = (hsva: HSV) => {\n currentColor.value = hsva\n lastPickedColor.value = hsva\n }\n\n onMounted(() => {\n if (!props.modes.includes(mode.value)) mode.value = props.modes[0]\n })\n\n provideDefaults({\n VSlider: {\n color: undefined,\n trackColor: undefined,\n trackFillColor: undefined,\n },\n })\n\n useRender(() => {\n const [sheetProps] = VSheet.filterProps(props)\n\n return (\n <VSheet\n rounded={ props.rounded }\n elevation={ props.elevation }\n theme={ props.theme }\n class={[\n 'v-color-picker',\n rtlClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-color-picker-color-hsv': HSVtoCSS({ ...(currentColor.value ?? nullColor), a: 1 }),\n },\n props.style,\n ]}\n { ...sheetProps }\n maxWidth={ props.width }\n >\n { !props.hideCanvas && (\n <VColorPickerCanvas\n key=\"canvas\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n disabled={ props.disabled }\n dotSize={ props.dotSize }\n width={ props.width }\n height={ props.canvasHeight }\n />\n )}\n\n { (!props.hideSliders || !props.hideInputs) && (\n <div key=\"controls\" class=\"v-color-picker__controls\">\n { !props.hideSliders && (\n <VColorPickerPreview\n key=\"preview\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n hideAlpha={ !mode.value.endsWith('a') }\n disabled={ props.disabled }\n />\n )}\n\n { !props.hideInputs && (\n <VColorPickerEdit\n key=\"edit\"\n modes={ props.modes }\n mode={ mode.value }\n onUpdate:mode={ m => mode.value = m }\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n disabled={ props.disabled }\n />\n )}\n </div>\n )}\n\n { props.showSwatches && (\n <VColorPickerSwatches\n key=\"swatches\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n maxHeight={ props.swatchesMaxHeight }\n swatches={ props.swatches }\n disabled={ props.disabled }\n />\n )}\n </VSheet>\n )\n })\n\n return {}\n },\n})\n\nexport type VColorPicker = InstanceType<typeof VColorPicker>\n"],"mappings":"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"}
@@ -5,11 +5,8 @@ import "./VColorPickerCanvas.css";
5
5
  // Composables
6
6
  import { makeComponentProps } from "../../composables/component.mjs";
7
7
  import { useResizeObserver } from "../../composables/resizeObserver.mjs"; // Utilities
8
- import { clamp, convertToUnit, defineComponent, getEventCoordinates, propsFactory, useRender } from "../../util/index.mjs";
9
8
  import { computed, onMounted, ref, shallowRef, watch } from 'vue';
10
-
11
- // Types
12
-
9
+ import { clamp, convertToUnit, defineComponent, getEventCoordinates, propsFactory, useRender } from "../../util/index.mjs"; // Types
13
10
  export const makeVColorPickerCanvasProps = propsFactory({
14
11
  color: {
15
12
  type: Object
@@ -28,7 +25,7 @@ export const makeVColorPickerCanvasProps = propsFactory({
28
25
  default: 300
29
26
  },
30
27
  ...makeComponentProps()
31
- }, 'v-color-picker-canvas');
28
+ }, 'VColorPickerCanvas');
32
29
  export const VColorPickerCanvas = defineComponent({
33
30
  name: 'VColorPickerCanvas',
34
31
  props: makeVColorPickerCanvasProps(),
@@ -1 +1 @@
1
- {"version":3,"file":"VColorPickerCanvas.mjs","names":["makeComponentProps","useResizeObserver","clamp","convertToUnit","defineComponent","getEventCoordinates","propsFactory","useRender","computed","onMounted","ref","shallowRef","watch","makeVColorPickerCanvasProps","color","type","Object","disabled","Boolean","dotSize","Number","String","default","height","width","VColorPickerCanvas","name","props","emits","hue","setup","_ref","emit","isInteracting","isOutsideUpdate","dotPosition","x","y","dotStyles","value","radius","parseInt","transform","canvasRef","canvasWidth","parseFloat","canvasHeight","resizeRef","entries","offsetParent","contentRect","updateDotPosition","rect","left","top","handleClick","e","clientX","clientY","getBoundingClientRect","handleMouseDown","preventDefault","window","addEventListener","handleMouseMove","handleMouseUp","coords","removeEventListener","h","s","v","a","updateCanvas","canvas","ctx","getContext","saturationGradient","createLinearGradient","addColorStop","fillStyle","fillRect","valueGradient","immediate","newVal","oldVal","flush","deep","_createVNode","class","style"],"sources":["../../../src/components/VColorPicker/VColorPickerCanvas.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerCanvas.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { clamp, convertToUnit, defineComponent, getEventCoordinates, propsFactory, useRender } from '@/util'\nimport { computed, onMounted, ref, shallowRef, watch } from 'vue'\n\n// Types\nimport type { HSV } from '@/util'\nimport type { PropType } from 'vue'\n\nexport const makeVColorPickerCanvasProps = propsFactory({\n color: {\n type: Object as PropType<HSV | null>,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n height: {\n type: [Number, String],\n default: 150,\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n\n ...makeComponentProps(),\n}, 'v-color-picker-canvas')\n\nexport const VColorPickerCanvas = defineComponent({\n name: 'VColorPickerCanvas',\n\n props: makeVColorPickerCanvasProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n 'update:position': (hue: any) => true,\n },\n\n setup (props, { emit }) {\n const isInteracting = shallowRef(false)\n const isOutsideUpdate = shallowRef(false)\n const dotPosition = ref({ x: 0, y: 0 })\n\n const dotStyles = computed(() => {\n const { x, y } = dotPosition.value\n const radius = parseInt(props.dotSize, 10) / 2\n\n return {\n width: convertToUnit(props.dotSize),\n height: convertToUnit(props.dotSize),\n transform: `translate(${convertToUnit(x - radius)}, ${convertToUnit(y - radius)})`,\n }\n })\n\n const canvasRef = ref<HTMLCanvasElement | null>()\n const canvasWidth = shallowRef(parseFloat(props.width))\n const canvasHeight = shallowRef(parseFloat(props.height))\n const { resizeRef } = useResizeObserver(entries => {\n if (!resizeRef.value?.offsetParent) return\n\n const { width, height } = entries[0].contentRect\n\n canvasWidth.value = width\n canvasHeight.value = height\n })\n\n function updateDotPosition (x: number, y: number, rect: DOMRect) {\n const { left, top, width, height } = rect\n dotPosition.value = {\n x: clamp(x - left, 0, width),\n y: clamp(y - top, 0, height),\n }\n }\n\n function handleClick (e: MouseEvent) {\n if (props.disabled || !canvasRef.value) return\n\n updateDotPosition(e.clientX, e.clientY, canvasRef.value.getBoundingClientRect())\n }\n\n function handleMouseDown (e: MouseEvent | TouchEvent) {\n // To prevent selection while moving cursor\n e.preventDefault()\n\n if (props.disabled) return\n\n isInteracting.value = true\n\n window.addEventListener('mousemove', handleMouseMove)\n window.addEventListener('mouseup', handleMouseUp)\n window.addEventListener('touchmove', handleMouseMove)\n window.addEventListener('touchend', handleMouseUp)\n }\n\n function handleMouseMove (e: MouseEvent | TouchEvent) {\n if (props.disabled || !canvasRef.value) return\n\n isInteracting.value = true\n\n const coords = getEventCoordinates(e)\n\n updateDotPosition(coords.clientX, coords.clientY, canvasRef.value.getBoundingClientRect())\n }\n\n function handleMouseUp () {\n window.removeEventListener('mousemove', handleMouseMove)\n window.removeEventListener('mouseup', handleMouseUp)\n window.removeEventListener('touchmove', handleMouseMove)\n window.removeEventListener('touchend', handleMouseUp)\n }\n\n watch(dotPosition, () => {\n if (isOutsideUpdate.value) {\n isOutsideUpdate.value = false\n return\n }\n\n if (!canvasRef.value) return\n\n const { x, y } = dotPosition.value\n\n emit('update:color', {\n h: props.color?.h ?? 0,\n s: clamp(x, 0, canvasWidth.value) / canvasWidth.value,\n v: 1 - clamp(y, 0, canvasHeight.value) / canvasHeight.value,\n a: props.color?.a ?? 1,\n })\n })\n\n function updateCanvas () {\n if (!canvasRef.value) return\n\n const canvas = canvasRef.value\n const ctx = canvas.getContext('2d')\n\n if (!ctx) return\n\n const saturationGradient = ctx.createLinearGradient(0, 0, canvas.width, 0)\n saturationGradient.addColorStop(0, 'hsla(0, 0%, 100%, 1)') // white\n saturationGradient.addColorStop(1, `hsla(${props.color?.h ?? 0}, 100%, 50%, 1)`)\n ctx.fillStyle = saturationGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n\n const valueGradient = ctx.createLinearGradient(0, 0, 0, canvas.height)\n valueGradient.addColorStop(0, 'hsla(0, 0%, 100%, 0)') // transparent\n valueGradient.addColorStop(1, 'hsla(0, 0%, 0%, 1)') // black\n ctx.fillStyle = valueGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n }\n\n watch(() => props.color?.h, updateCanvas, { immediate: true })\n watch(() => [canvasWidth.value, canvasHeight.value], (newVal, oldVal) => {\n updateCanvas()\n dotPosition.value = {\n x: dotPosition.value.x * newVal[0] / oldVal[0],\n y: dotPosition.value.y * newVal[1] / oldVal[1],\n }\n }, { flush: 'post' })\n\n watch(() => props.color, () => {\n if (isInteracting.value) {\n isInteracting.value = false\n return\n }\n\n isOutsideUpdate.value = true\n\n dotPosition.value = props.color ? {\n x: props.color.s * canvasWidth.value,\n y: (1 - props.color.v) * canvasHeight.value,\n } : { x: 0, y: 0 }\n }, { deep: true, immediate: true })\n\n onMounted(() => updateCanvas())\n\n useRender(() => (\n <div\n ref={ resizeRef }\n class={[\n 'v-color-picker-canvas',\n props.class,\n ]}\n style={ props.style }\n onClick={ handleClick }\n onMousedown={ handleMouseDown }\n onTouchstart={ handleMouseDown }\n >\n <canvas\n ref={ canvasRef }\n width={ canvasWidth.value }\n height={ canvasHeight.value }\n />\n { props.color && (\n <div\n class={[\n 'v-color-picker-canvas__dot',\n {\n 'v-color-picker-canvas__dot--disabled': props.disabled,\n },\n ]}\n style={ dotStyles.value }\n />\n )}\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerCanvas = InstanceType<typeof VColorPickerCanvas>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VColorPickerCanvas.mjs","names":["makeComponentProps","useResizeObserver","computed","onMounted","ref","shallowRef","watch","clamp","convertToUnit","defineComponent","getEventCoordinates","propsFactory","useRender","makeVColorPickerCanvasProps","color","type","Object","disabled","Boolean","dotSize","Number","String","default","height","width","VColorPickerCanvas","name","props","emits","hue","setup","_ref","emit","isInteracting","isOutsideUpdate","dotPosition","x","y","dotStyles","value","radius","parseInt","transform","canvasRef","canvasWidth","parseFloat","canvasHeight","resizeRef","entries","offsetParent","contentRect","updateDotPosition","rect","left","top","handleClick","e","clientX","clientY","getBoundingClientRect","handleMouseDown","preventDefault","window","addEventListener","handleMouseMove","handleMouseUp","coords","removeEventListener","h","s","v","a","updateCanvas","canvas","ctx","getContext","saturationGradient","createLinearGradient","addColorStop","fillStyle","fillRect","valueGradient","immediate","newVal","oldVal","flush","deep","_createVNode","class","style"],"sources":["../../../src/components/VColorPicker/VColorPickerCanvas.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerCanvas.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, onMounted, ref, shallowRef, watch } from 'vue'\nimport { clamp, convertToUnit, defineComponent, getEventCoordinates, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util'\n\nexport const makeVColorPickerCanvasProps = propsFactory({\n color: {\n type: Object as PropType<HSV | null>,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n height: {\n type: [Number, String],\n default: 150,\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n\n ...makeComponentProps(),\n}, 'VColorPickerCanvas')\n\nexport const VColorPickerCanvas = defineComponent({\n name: 'VColorPickerCanvas',\n\n props: makeVColorPickerCanvasProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n 'update:position': (hue: any) => true,\n },\n\n setup (props, { emit }) {\n const isInteracting = shallowRef(false)\n const isOutsideUpdate = shallowRef(false)\n const dotPosition = ref({ x: 0, y: 0 })\n\n const dotStyles = computed(() => {\n const { x, y } = dotPosition.value\n const radius = parseInt(props.dotSize, 10) / 2\n\n return {\n width: convertToUnit(props.dotSize),\n height: convertToUnit(props.dotSize),\n transform: `translate(${convertToUnit(x - radius)}, ${convertToUnit(y - radius)})`,\n }\n })\n\n const canvasRef = ref<HTMLCanvasElement | null>()\n const canvasWidth = shallowRef(parseFloat(props.width))\n const canvasHeight = shallowRef(parseFloat(props.height))\n const { resizeRef } = useResizeObserver(entries => {\n if (!resizeRef.value?.offsetParent) return\n\n const { width, height } = entries[0].contentRect\n\n canvasWidth.value = width\n canvasHeight.value = height\n })\n\n function updateDotPosition (x: number, y: number, rect: DOMRect) {\n const { left, top, width, height } = rect\n dotPosition.value = {\n x: clamp(x - left, 0, width),\n y: clamp(y - top, 0, height),\n }\n }\n\n function handleClick (e: MouseEvent) {\n if (props.disabled || !canvasRef.value) return\n\n updateDotPosition(e.clientX, e.clientY, canvasRef.value.getBoundingClientRect())\n }\n\n function handleMouseDown (e: MouseEvent | TouchEvent) {\n // To prevent selection while moving cursor\n e.preventDefault()\n\n if (props.disabled) return\n\n isInteracting.value = true\n\n window.addEventListener('mousemove', handleMouseMove)\n window.addEventListener('mouseup', handleMouseUp)\n window.addEventListener('touchmove', handleMouseMove)\n window.addEventListener('touchend', handleMouseUp)\n }\n\n function handleMouseMove (e: MouseEvent | TouchEvent) {\n if (props.disabled || !canvasRef.value) return\n\n isInteracting.value = true\n\n const coords = getEventCoordinates(e)\n\n updateDotPosition(coords.clientX, coords.clientY, canvasRef.value.getBoundingClientRect())\n }\n\n function handleMouseUp () {\n window.removeEventListener('mousemove', handleMouseMove)\n window.removeEventListener('mouseup', handleMouseUp)\n window.removeEventListener('touchmove', handleMouseMove)\n window.removeEventListener('touchend', handleMouseUp)\n }\n\n watch(dotPosition, () => {\n if (isOutsideUpdate.value) {\n isOutsideUpdate.value = false\n return\n }\n\n if (!canvasRef.value) return\n\n const { x, y } = dotPosition.value\n\n emit('update:color', {\n h: props.color?.h ?? 0,\n s: clamp(x, 0, canvasWidth.value) / canvasWidth.value,\n v: 1 - clamp(y, 0, canvasHeight.value) / canvasHeight.value,\n a: props.color?.a ?? 1,\n })\n })\n\n function updateCanvas () {\n if (!canvasRef.value) return\n\n const canvas = canvasRef.value\n const ctx = canvas.getContext('2d')\n\n if (!ctx) return\n\n const saturationGradient = ctx.createLinearGradient(0, 0, canvas.width, 0)\n saturationGradient.addColorStop(0, 'hsla(0, 0%, 100%, 1)') // white\n saturationGradient.addColorStop(1, `hsla(${props.color?.h ?? 0}, 100%, 50%, 1)`)\n ctx.fillStyle = saturationGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n\n const valueGradient = ctx.createLinearGradient(0, 0, 0, canvas.height)\n valueGradient.addColorStop(0, 'hsla(0, 0%, 100%, 0)') // transparent\n valueGradient.addColorStop(1, 'hsla(0, 0%, 0%, 1)') // black\n ctx.fillStyle = valueGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n }\n\n watch(() => props.color?.h, updateCanvas, { immediate: true })\n watch(() => [canvasWidth.value, canvasHeight.value], (newVal, oldVal) => {\n updateCanvas()\n dotPosition.value = {\n x: dotPosition.value.x * newVal[0] / oldVal[0],\n y: dotPosition.value.y * newVal[1] / oldVal[1],\n }\n }, { flush: 'post' })\n\n watch(() => props.color, () => {\n if (isInteracting.value) {\n isInteracting.value = false\n return\n }\n\n isOutsideUpdate.value = true\n\n dotPosition.value = props.color ? {\n x: props.color.s * canvasWidth.value,\n y: (1 - props.color.v) * canvasHeight.value,\n } : { x: 0, y: 0 }\n }, { deep: true, immediate: true })\n\n onMounted(() => updateCanvas())\n\n useRender(() => (\n <div\n ref={ resizeRef }\n class={[\n 'v-color-picker-canvas',\n props.class,\n ]}\n style={ props.style }\n onClick={ handleClick }\n onMousedown={ handleMouseDown }\n onTouchstart={ handleMouseDown }\n >\n <canvas\n ref={ canvasRef }\n width={ canvasWidth.value }\n height={ canvasHeight.value }\n />\n { props.color && (\n <div\n class={[\n 'v-color-picker-canvas__dot',\n {\n 'v-color-picker-canvas__dot--disabled': props.disabled,\n },\n ]}\n style={ dotStyles.value }\n />\n )}\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerCanvas = InstanceType<typeof VColorPickerCanvas>\n"],"mappings":"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"}
@@ -6,8 +6,8 @@ import "./VColorPickerEdit.css";
6
6
  import { VBtn } from "../VBtn/index.mjs"; // Composables
7
7
  import { makeComponentProps } from "../../composables/component.mjs"; // Utilities
8
8
  import { computed } from 'vue';
9
- import { defineComponent, propsFactory, useRender } from "../../util/index.mjs";
10
- import { modes, nullColor } from "./util/index.mjs"; // Types
9
+ import { modes, nullColor } from "./util/index.mjs";
10
+ import { defineComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
11
11
  const VColorPickerInput = _ref => {
12
12
  let {
13
13
  label,
@@ -31,7 +31,7 @@ export const makeVColorPickerEditProps = propsFactory({
31
31
  validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))
32
32
  },
33
33
  ...makeComponentProps()
34
- }, 'v-color-picker-edit');
34
+ }, 'VColorPickerEdit');
35
35
  export const VColorPickerEdit = defineComponent({
36
36
  name: 'VColorPickerEdit',
37
37
  props: makeVColorPickerEditProps(),
@@ -1 +1 @@
1
- {"version":3,"file":"VColorPickerEdit.mjs","names":["VBtn","makeComponentProps","computed","defineComponent","propsFactory","useRender","modes","nullColor","VColorPickerInput","_ref","label","rest","_createVNode","makeVColorPickerEditProps","color","Object","disabled","Boolean","mode","type","String","default","validator","v","keys","includes","Array","isArray","every","m","VColorPickerEdit","name","props","emits","setup","_ref2","emit","enabledModes","map","key","inputs","value","find","to","_ref3","getValue","getColor","inputProps","onChange","e","target","from","class","style","length","onClick","mi","findIndex"],"sources":["../../../src/components/VColorPicker/VColorPickerEdit.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerEdit.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent, propsFactory, useRender } from '@/util'\nimport { modes, nullColor } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util/colorUtils'\n\nconst VColorPickerInput = ({ label, ...rest }: any) => {\n return (\n <div\n class=\"v-color-picker-edit__input\"\n >\n <input { ...rest } />\n <span>{ label }</span>\n </div>\n )\n}\n\nexport const makeVColorPickerEditProps = propsFactory({\n color: Object as PropType<HSV | null>,\n disabled: Boolean,\n mode: {\n type: String as PropType<keyof typeof modes>,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<readonly (keyof typeof modes)[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n\n ...makeComponentProps(),\n}, 'v-color-picker-edit')\n\nexport const VColorPickerEdit = defineComponent({\n name: 'VColorPickerEdit',\n\n props: makeVColorPickerEditProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n 'update:mode': (mode: keyof typeof modes) => true,\n },\n\n setup (props, { emit }) {\n const enabledModes = computed(() => {\n return props.modes.map(key => ({ ...modes[key], name: key }))\n })\n\n const inputs = computed(() => {\n const mode = enabledModes.value.find(m => m.name === props.mode)\n\n if (!mode) return []\n\n const color = props.color ? mode.to(props.color) : null\n\n return mode.inputs?.map(({ getValue, getColor, ...inputProps }) => {\n return {\n ...mode.inputProps,\n ...inputProps,\n disabled: props.disabled,\n value: color && getValue(color),\n onChange: (e: InputEvent) => {\n const target = e.target as HTMLInputElement | null\n\n if (!target) return\n\n emit('update:color', mode.from(getColor(color ?? nullColor, target.value)))\n },\n }\n })\n })\n\n useRender(() => (\n <div\n class={[\n 'v-color-picker-edit',\n props.class,\n ]}\n style={ props.style }\n >\n { inputs.value?.map(props => (\n <VColorPickerInput { ...props } />\n ))}\n { enabledModes.value.length > 1 && (\n <VBtn\n icon=\"$unfold\"\n size=\"x-small\"\n variant=\"plain\"\n onClick={ () => {\n const mi = enabledModes.value.findIndex(m => m.name === props.mode)\n\n emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name)\n }}\n />\n )}\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerEdit = InstanceType<typeof VColorPickerEdit>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI,6BAEb;AAAA,SACSC,kBAAkB,2CAE3B;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,eAAe,EAAEC,YAAY,EAAEC,SAAS;AAAA,SACxCC,KAAK,EAAEC,SAAS,4BAEzB;AAIA,MAAMC,iBAAiB,GAAGC,IAAA,IAA6B;EAAA,IAA5B;IAAEC,KAAK;IAAE,GAAGC;EAAU,CAAC,GAAAF,IAAA;EAChD,OAAAG,YAAA;IAAA,SAEU;EAA4B,IAAAA,YAAA,UAEtBD,IAAI,SAAAC,YAAA,gBACRF,KAAK;AAGnB,CAAC;AAED,OAAO,MAAMG,yBAAyB,GAAGT,YAAY,CAAC;EACpDU,KAAK,EAAEC,MAA8B;EACrCC,QAAQ,EAAEC,OAAO;EACjBC,IAAI,EAAE;IACJC,IAAI,EAAEC,MAAsC;IAC5CC,OAAO,EAAE,MAAM;IACfC,SAAS,EAAGC,CAAS,IAAKR,MAAM,CAACS,IAAI,CAAClB,KAAK,CAAC,CAACmB,QAAQ,CAACF,CAAC;EACzD,CAAC;EACDjB,KAAK,EAAE;IACLa,IAAI,EAAEO,KAAkD;IACxDL,OAAO,EAAEA,CAAA,KAAMN,MAAM,CAACS,IAAI,CAAClB,KAAK,CAAC;IACjCgB,SAAS,EAAGC,CAAM,IAAKG,KAAK,CAACC,OAAO,CAACJ,CAAC,CAAC,IAAIA,CAAC,CAACK,KAAK,CAACC,CAAC,IAAId,MAAM,CAACS,IAAI,CAAClB,KAAK,CAAC,CAACmB,QAAQ,CAACI,CAAC,CAAC;EACxF,CAAC;EAED,GAAG5B,kBAAkB;AACvB,CAAC,EAAE,qBAAqB,CAAC;AAEzB,OAAO,MAAM6B,gBAAgB,GAAG3B,eAAe,CAAC;EAC9C4B,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAEnB,yBAAyB,EAAE;EAElCoB,KAAK,EAAE;IACL,cAAc,EAAGnB,KAAU,IAAK,IAAI;IACpC,aAAa,EAAGI,IAAwB,IAAK;EAC/C,CAAC;EAEDgB,KAAKA,CAAEF,KAAK,EAAAG,KAAA,EAAY;IAAA,IAAV;MAAEC;IAAK,CAAC,GAAAD,KAAA;IACpB,MAAME,YAAY,GAAGnC,QAAQ,CAAC,MAAM;MAClC,OAAO8B,KAAK,CAAC1B,KAAK,CAACgC,GAAG,CAACC,GAAG,KAAK;QAAE,GAAGjC,KAAK,CAACiC,GAAG,CAAC;QAAER,IAAI,EAAEQ;MAAI,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF,MAAMC,MAAM,GAAGtC,QAAQ,CAAC,MAAM;MAC5B,MAAMgB,IAAI,GAAGmB,YAAY,CAACI,KAAK,CAACC,IAAI,CAACb,CAAC,IAAIA,CAAC,CAACE,IAAI,KAAKC,KAAK,CAACd,IAAI,CAAC;MAEhE,IAAI,CAACA,IAAI,EAAE,OAAO,EAAE;MAEpB,MAAMJ,KAAK,GAAGkB,KAAK,CAAClB,KAAK,GAAGI,IAAI,CAACyB,EAAE,CAACX,KAAK,CAAClB,KAAK,CAAC,GAAG,IAAI;MAEvD,OAAOI,IAAI,CAACsB,MAAM,EAAEF,GAAG,CAACM,KAAA,IAA2C;QAAA,IAA1C;UAAEC,QAAQ;UAAEC,QAAQ;UAAE,GAAGC;QAAW,CAAC,GAAAH,KAAA;QAC5D,OAAO;UACL,GAAG1B,IAAI,CAAC6B,UAAU;UAClB,GAAGA,UAAU;UACb/B,QAAQ,EAAEgB,KAAK,CAAChB,QAAQ;UACxByB,KAAK,EAAE3B,KAAK,IAAI+B,QAAQ,CAAC/B,KAAK,CAAC;UAC/BkC,QAAQ,EAAGC,CAAa,IAAK;YAC3B,MAAMC,MAAM,GAAGD,CAAC,CAACC,MAAiC;YAElD,IAAI,CAACA,MAAM,EAAE;YAEbd,IAAI,CAAC,cAAc,EAAElB,IAAI,CAACiC,IAAI,CAACL,QAAQ,CAAChC,KAAK,IAAIP,SAAS,EAAE2C,MAAM,CAACT,KAAK,CAAC,CAAC,CAAC;UAC7E;QACF,CAAC;MACH,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFpC,SAAS,CAAC,MAAAO,YAAA;MAAA,SAEC,CACL,qBAAqB,EACrBoB,KAAK,CAACoB,KAAK,CACZ;MAAA,SACOpB,KAAK,CAACqB;IAAK,IAEjBb,MAAM,CAACC,KAAK,EAAEH,GAAG,CAACN,KAAK,IAAApB,YAAA,CAAAJ,iBAAA,EACCwB,KAAK,OAC9B,CAAC,EACAK,YAAY,CAACI,KAAK,CAACa,MAAM,GAAG,CAAC,IAAA1C,YAAA,CAAAZ,IAAA;MAAA,QAEtB,SAAS;MAAA,QACT,SAAS;MAAA,WACN,OAAO;MAAA,WACLuD,CAAA,KAAM;QACd,MAAMC,EAAE,GAAGnB,YAAY,CAACI,KAAK,CAACgB,SAAS,CAAC5B,CAAC,IAAIA,CAAC,CAACE,IAAI,KAAKC,KAAK,CAACd,IAAI,CAAC;QAEnEkB,IAAI,CAAC,aAAa,EAAEC,YAAY,CAACI,KAAK,CAAC,CAACe,EAAE,GAAG,CAAC,IAAInB,YAAY,CAACI,KAAK,CAACa,MAAM,CAAC,CAACvB,IAAI,CAAC;MACpF;IAAC,QAEJ,EAEJ,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VColorPickerEdit.mjs","names":["VBtn","makeComponentProps","computed","modes","nullColor","defineComponent","propsFactory","useRender","VColorPickerInput","_ref","label","rest","_createVNode","makeVColorPickerEditProps","color","Object","disabled","Boolean","mode","type","String","default","validator","v","keys","includes","Array","isArray","every","m","VColorPickerEdit","name","props","emits","setup","_ref2","emit","enabledModes","map","key","inputs","value","find","to","_ref3","getValue","getColor","inputProps","onChange","e","target","from","class","style","length","onClick","mi","findIndex"],"sources":["../../../src/components/VColorPicker/VColorPickerEdit.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerEdit.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { computed } from 'vue'\nimport { modes, nullColor } from './util'\nimport { defineComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util/colorUtils'\n\nconst VColorPickerInput = ({ label, ...rest }: any) => {\n return (\n <div\n class=\"v-color-picker-edit__input\"\n >\n <input { ...rest } />\n <span>{ label }</span>\n </div>\n )\n}\n\nexport const makeVColorPickerEditProps = propsFactory({\n color: Object as PropType<HSV | null>,\n disabled: Boolean,\n mode: {\n type: String as PropType<keyof typeof modes>,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<readonly (keyof typeof modes)[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n\n ...makeComponentProps(),\n}, 'VColorPickerEdit')\n\nexport const VColorPickerEdit = defineComponent({\n name: 'VColorPickerEdit',\n\n props: makeVColorPickerEditProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n 'update:mode': (mode: keyof typeof modes) => true,\n },\n\n setup (props, { emit }) {\n const enabledModes = computed(() => {\n return props.modes.map(key => ({ ...modes[key], name: key }))\n })\n\n const inputs = computed(() => {\n const mode = enabledModes.value.find(m => m.name === props.mode)\n\n if (!mode) return []\n\n const color = props.color ? mode.to(props.color) : null\n\n return mode.inputs?.map(({ getValue, getColor, ...inputProps }) => {\n return {\n ...mode.inputProps,\n ...inputProps,\n disabled: props.disabled,\n value: color && getValue(color),\n onChange: (e: InputEvent) => {\n const target = e.target as HTMLInputElement | null\n\n if (!target) return\n\n emit('update:color', mode.from(getColor(color ?? nullColor, target.value)))\n },\n }\n })\n })\n\n useRender(() => (\n <div\n class={[\n 'v-color-picker-edit',\n props.class,\n ]}\n style={ props.style }\n >\n { inputs.value?.map(props => (\n <VColorPickerInput { ...props } />\n ))}\n { enabledModes.value.length > 1 && (\n <VBtn\n icon=\"$unfold\"\n size=\"x-small\"\n variant=\"plain\"\n onClick={ () => {\n const mi = enabledModes.value.findIndex(m => m.name === props.mode)\n\n emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name)\n }}\n />\n )}\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerEdit = InstanceType<typeof VColorPickerEdit>\n"],"mappings":"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"}
@@ -5,8 +5,8 @@ import "./VColorPickerPreview.css";
5
5
  // Components
6
6
  import { VSlider } from "../VSlider/index.mjs"; // Composables
7
7
  import { makeComponentProps } from "../../composables/component.mjs"; // Utilities
8
- import { defineComponent, HSVtoCSS, propsFactory, useRender } from "../../util/index.mjs";
9
- import { nullColor } from "./util/index.mjs"; // Types
8
+ import { nullColor } from "./util/index.mjs";
9
+ import { defineComponent, HSVtoCSS, propsFactory, useRender } from "../../util/index.mjs"; // Types
10
10
  export const makeVColorPickerPreviewProps = propsFactory({
11
11
  color: {
12
12
  type: Object
@@ -14,7 +14,7 @@ export const makeVColorPickerPreviewProps = propsFactory({
14
14
  disabled: Boolean,
15
15
  hideAlpha: Boolean,
16
16
  ...makeComponentProps()
17
- }, 'v-color-picker-preview');
17
+ }, 'VColorPickerPreview');
18
18
  export const VColorPickerPreview = defineComponent({
19
19
  name: 'VColorPickerPreview',
20
20
  props: makeVColorPickerPreviewProps(),
@@ -1 +1 @@
1
- {"version":3,"file":"VColorPickerPreview.mjs","names":["VSlider","makeComponentProps","defineComponent","HSVtoCSS","propsFactory","useRender","nullColor","makeVColorPickerPreviewProps","color","type","Object","disabled","Boolean","hideAlpha","VColorPickerPreview","name","props","emits","setup","_ref","emit","_createVNode","class","style","background","h","a"],"sources":["../../../src/components/VColorPicker/VColorPickerPreview.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport { VSlider } from '@/components/VSlider'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { defineComponent, HSVtoCSS, propsFactory, useRender } from '@/util'\nimport { nullColor } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util'\n\nexport const makeVColorPickerPreviewProps = propsFactory({\n color: {\n type: Object as PropType<HSV | null>,\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n\n ...makeComponentProps(),\n}, 'v-color-picker-preview')\n\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n\n props: makeVColorPickerPreviewProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n },\n\n setup (props, { emit }) {\n useRender(() => (\n <div\n class={[\n 'v-color-picker-preview',\n {\n 'v-color-picker-preview--hide-alpha': props.hideAlpha,\n },\n props.class,\n ]}\n style={ props.style }\n >\n <div class=\"v-color-picker-preview__dot\">\n <div style={{ background: HSVtoCSS(props.color ?? nullColor) }} />\n </div>\n\n <div class=\"v-color-picker-preview__sliders\">\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__hue\"\n modelValue={ props.color?.h }\n onUpdate:modelValue={ h => emit('update:color', { ...(props.color ?? nullColor), h }) }\n step={ 0 }\n min={ 0 }\n max={ 360 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n\n { !props.hideAlpha && (\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__alpha\"\n modelValue={ props.color?.a ?? 1 }\n onUpdate:modelValue={ a => emit('update:color', { ...(props.color ?? nullColor), a }) }\n step={ 1 / 256 }\n min={ 0 }\n max={ 1 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n )}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerPreview = InstanceType<typeof VColorPickerPreview>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,OAAO,gCAEhB;AAAA,SACSC,kBAAkB,2CAE3B;AAAA,SACSC,eAAe,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,SAAS;AAAA,SAClDC,SAAS,4BAElB;AAIA,OAAO,MAAMC,4BAA4B,GAAGH,YAAY,CAAC;EACvDI,KAAK,EAAE;IACLC,IAAI,EAAEC;EACR,CAAC;EACDC,QAAQ,EAAEC,OAAO;EACjBC,SAAS,EAAED,OAAO;EAElB,GAAGX,kBAAkB;AACvB,CAAC,EAAE,wBAAwB,CAAC;AAE5B,OAAO,MAAMa,mBAAmB,GAAGZ,eAAe,CAAC;EACjDa,IAAI,EAAE,qBAAqB;EAE3BC,KAAK,EAAET,4BAA4B,EAAE;EAErCU,KAAK,EAAE;IACL,cAAc,EAAGT,KAAU,IAAK;EAClC,CAAC;EAEDU,KAAKA,CAAEF,KAAK,EAAAG,IAAA,EAAY;IAAA,IAAV;MAAEC;IAAK,CAAC,GAAAD,IAAA;IACpBd,SAAS,CAAC,MAAAgB,YAAA;MAAA,SAEC,CACL,wBAAwB,EACxB;QACE,oCAAoC,EAAEL,KAAK,CAACH;MAC9C,CAAC,EACDG,KAAK,CAACM,KAAK,CACZ;MAAA,SACON,KAAK,CAACO;IAAK,IAAAF,YAAA;MAAA,SAER;IAA6B,IAAAA,YAAA;MAAA,SAC1B;QAAEG,UAAU,EAAErB,QAAQ,CAACa,KAAK,CAACR,KAAK,IAAIF,SAAS;MAAE;IAAC,YAAAe,YAAA;MAAA,SAGrD;IAAiC,IAAAA,YAAA,CAAArB,OAAA;MAAA,SAElC,2DAA2D;MAAA,cACpDgB,KAAK,CAACR,KAAK,EAAEiB,CAAC;MAAA,uBACLA,CAAC,IAAIL,IAAI,CAAC,cAAc,EAAE;QAAE,IAAIJ,KAAK,CAACR,KAAK,IAAIF,SAAS,CAAC;QAAEmB;MAAE,CAAC,CAAC;MAAA,QAC9E,CAAC;MAAA,OACF,CAAC;MAAA,OACD,GAAG;MAAA,YACET,KAAK,CAACL,QAAQ;MAAA,aACb,EAAE;MAAA,aACF,CAAC;MAAA,kBACE,OAAO;MAAA;IAAA,UAItB,CAACK,KAAK,CAACH,SAAS,IAAAQ,YAAA,CAAArB,OAAA;MAAA,SAER,6DAA6D;MAAA,cACtDgB,KAAK,CAACR,KAAK,EAAEkB,CAAC,IAAI,CAAC;MAAA,uBACVA,CAAC,IAAIN,IAAI,CAAC,cAAc,EAAE;QAAE,IAAIJ,KAAK,CAACR,KAAK,IAAIF,SAAS,CAAC;QAAEoB;MAAE,CAAC,CAAC;MAAA,QAC9E,CAAC,GAAG,GAAG;MAAA,OACR,CAAC;MAAA,OACD,CAAC;MAAA,YACIV,KAAK,CAACL,QAAQ;MAAA,aACb,EAAE;MAAA,aACF,CAAC;MAAA,kBACE,OAAO;MAAA;IAAA,QAGzB,IAGN,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VColorPickerPreview.mjs","names":["VSlider","makeComponentProps","nullColor","defineComponent","HSVtoCSS","propsFactory","useRender","makeVColorPickerPreviewProps","color","type","Object","disabled","Boolean","hideAlpha","VColorPickerPreview","name","props","emits","setup","_ref","emit","_createVNode","class","style","background","h","a"],"sources":["../../../src/components/VColorPicker/VColorPickerPreview.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport { VSlider } from '@/components/VSlider'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { nullColor } from './util'\nimport { defineComponent, HSVtoCSS, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util'\n\nexport const makeVColorPickerPreviewProps = propsFactory({\n color: {\n type: Object as PropType<HSV | null>,\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n\n ...makeComponentProps(),\n}, 'VColorPickerPreview')\n\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n\n props: makeVColorPickerPreviewProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n },\n\n setup (props, { emit }) {\n useRender(() => (\n <div\n class={[\n 'v-color-picker-preview',\n {\n 'v-color-picker-preview--hide-alpha': props.hideAlpha,\n },\n props.class,\n ]}\n style={ props.style }\n >\n <div class=\"v-color-picker-preview__dot\">\n <div style={{ background: HSVtoCSS(props.color ?? nullColor) }} />\n </div>\n\n <div class=\"v-color-picker-preview__sliders\">\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__hue\"\n modelValue={ props.color?.h }\n onUpdate:modelValue={ h => emit('update:color', { ...(props.color ?? nullColor), h }) }\n step={ 0 }\n min={ 0 }\n max={ 360 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n\n { !props.hideAlpha && (\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__alpha\"\n modelValue={ props.color?.a ?? 1 }\n onUpdate:modelValue={ a => emit('update:color', { ...(props.color ?? nullColor), a }) }\n step={ 1 / 256 }\n min={ 0 }\n max={ 1 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n )}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerPreview = InstanceType<typeof VColorPickerPreview>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,OAAO,gCAEhB;AAAA,SACSC,kBAAkB,2CAE3B;AAAA,SACSC,SAAS;AAAA,SACTC,eAAe,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,SAAS,gCAE3D;AAIA,OAAO,MAAMC,4BAA4B,GAAGF,YAAY,CAAC;EACvDG,KAAK,EAAE;IACLC,IAAI,EAAEC;EACR,CAAC;EACDC,QAAQ,EAAEC,OAAO;EACjBC,SAAS,EAAED,OAAO;EAElB,GAAGX,kBAAkB;AACvB,CAAC,EAAE,qBAAqB,CAAC;AAEzB,OAAO,MAAMa,mBAAmB,GAAGX,eAAe,CAAC;EACjDY,IAAI,EAAE,qBAAqB;EAE3BC,KAAK,EAAET,4BAA4B,EAAE;EAErCU,KAAK,EAAE;IACL,cAAc,EAAGT,KAAU,IAAK;EAClC,CAAC;EAEDU,KAAKA,CAAEF,KAAK,EAAAG,IAAA,EAAY;IAAA,IAAV;MAAEC;IAAK,CAAC,GAAAD,IAAA;IACpBb,SAAS,CAAC,MAAAe,YAAA;MAAA,SAEC,CACL,wBAAwB,EACxB;QACE,oCAAoC,EAAEL,KAAK,CAACH;MAC9C,CAAC,EACDG,KAAK,CAACM,KAAK,CACZ;MAAA,SACON,KAAK,CAACO;IAAK,IAAAF,YAAA;MAAA,SAER;IAA6B,IAAAA,YAAA;MAAA,SAC1B;QAAEG,UAAU,EAAEpB,QAAQ,CAACY,KAAK,CAACR,KAAK,IAAIN,SAAS;MAAE;IAAC,YAAAmB,YAAA;MAAA,SAGrD;IAAiC,IAAAA,YAAA,CAAArB,OAAA;MAAA,SAElC,2DAA2D;MAAA,cACpDgB,KAAK,CAACR,KAAK,EAAEiB,CAAC;MAAA,uBACLA,CAAC,IAAIL,IAAI,CAAC,cAAc,EAAE;QAAE,IAAIJ,KAAK,CAACR,KAAK,IAAIN,SAAS,CAAC;QAAEuB;MAAE,CAAC,CAAC;MAAA,QAC9E,CAAC;MAAA,OACF,CAAC;MAAA,OACD,GAAG;MAAA,YACET,KAAK,CAACL,QAAQ;MAAA,aACb,EAAE;MAAA,aACF,CAAC;MAAA,kBACE,OAAO;MAAA;IAAA,UAItB,CAACK,KAAK,CAACH,SAAS,IAAAQ,YAAA,CAAArB,OAAA;MAAA,SAER,6DAA6D;MAAA,cACtDgB,KAAK,CAACR,KAAK,EAAEkB,CAAC,IAAI,CAAC;MAAA,uBACVA,CAAC,IAAIN,IAAI,CAAC,cAAc,EAAE;QAAE,IAAIJ,KAAK,CAACR,KAAK,IAAIN,SAAS,CAAC;QAAEwB;MAAE,CAAC,CAAC;MAAA,QAC9E,CAAC,GAAG,GAAG;MAAA,OACR,CAAC;MAAA,OACD,CAAC;MAAA,YACIV,KAAK,CAACL,QAAQ;MAAA,aACb,EAAE;MAAA,aACF,CAAC;MAAA,kBACE,OAAO;MAAA;IAAA,QAGzB,IAGN,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -16,7 +16,7 @@ export const makeVColorPickerSwatchesProps = propsFactory({
16
16
  color: Object,
17
17
  maxHeight: [Number, String],
18
18
  ...makeComponentProps()
19
- }, 'v-color-picker-swatches');
19
+ }, 'VColorPickerSwatches');
20
20
  function parseDefaultColors(colors) {
21
21
  return Object.keys(colors).map(key => {
22
22
  const color = colors[key];