vuetify 3.1.4 → 3.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. package/dist/json/attributes.json +2734 -2738
  2. package/dist/json/importMap.json +58 -58
  3. package/dist/json/tags.json +0 -1
  4. package/dist/json/web-types.json +9073 -6416
  5. package/dist/vuetify-labs.css +3038 -5928
  6. package/dist/vuetify-labs.d.ts +12865 -20825
  7. package/dist/vuetify-labs.esm.js +1580 -1859
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +1579 -1858
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +120 -3019
  12. package/dist/vuetify.d.ts +12208 -20176
  13. package/dist/vuetify.esm.js +1406 -1686
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +1405 -1685
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +1099 -1323
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/blueprints/index.d.ts +9 -9
  21. package/lib/blueprints/md1.d.ts +9 -9
  22. package/lib/blueprints/md2.d.ts +9 -9
  23. package/lib/blueprints/md3.d.ts +9 -9
  24. package/lib/blueprints/md3.mjs.map +1 -1
  25. package/lib/components/VAlert/VAlert.mjs +5 -6
  26. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  27. package/lib/components/VAlert/index.d.ts +135 -157
  28. package/lib/components/VApp/VApp.mjs +9 -12
  29. package/lib/components/VApp/VApp.mjs.map +1 -1
  30. package/lib/components/VApp/index.d.ts +27 -13
  31. package/lib/components/VAppBar/VAppBar.mjs +9 -5
  32. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  33. package/lib/components/VAppBar/VAppBarNavIcon.mjs +2 -2
  34. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  35. package/lib/components/VAppBar/VAppBarTitle.mjs +2 -2
  36. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  37. package/lib/components/VAppBar/index.d.ts +169 -350
  38. package/lib/components/VAutocomplete/VAutocomplete.mjs +100 -104
  39. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  40. package/lib/components/VAutocomplete/index.d.ts +494 -636
  41. package/lib/components/VAvatar/VAvatar.mjs +19 -22
  42. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  43. package/lib/components/VAvatar/index.d.ts +46 -66
  44. package/lib/components/VBadge/VBadge.mjs +7 -5
  45. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  46. package/lib/components/VBadge/index.d.ts +74 -100
  47. package/lib/components/VBanner/VBanner.mjs +3 -4
  48. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  49. package/lib/components/VBanner/VBannerActions.mjs +5 -8
  50. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  51. package/lib/components/VBanner/index.d.ts +134 -98
  52. package/lib/components/VBottomNavigation/VBottomNavigation.css +2 -1
  53. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +8 -4
  54. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  55. package/lib/components/VBottomNavigation/VBottomNavigation.sass +2 -1
  56. package/lib/components/VBottomNavigation/_variables.scss +1 -1
  57. package/lib/components/VBottomNavigation/index.d.ts +67 -131
  58. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +9 -16
  59. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  60. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +5 -8
  61. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  62. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +4 -8
  63. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  64. package/lib/components/VBreadcrumbs/index.d.ts +87 -61
  65. package/lib/components/VBtn/VBtn.mjs +14 -17
  66. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  67. package/lib/components/VBtn/index.d.ts +118 -179
  68. package/lib/components/VBtnGroup/VBtnGroup.mjs +5 -2
  69. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  70. package/lib/components/VBtnGroup/index.d.ts +42 -57
  71. package/lib/components/VBtnToggle/VBtnToggle.mjs +1 -2
  72. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  73. package/lib/components/VBtnToggle/index.d.ts +60 -247
  74. package/lib/components/VCalendar/mixins/mouse.mjs +2 -3
  75. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  76. package/lib/components/VCard/VCard.mjs +5 -6
  77. package/lib/components/VCard/VCard.mjs.map +1 -1
  78. package/lib/components/VCard/VCardActions.mjs +5 -8
  79. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  80. package/lib/components/VCard/VCardItem.mjs +7 -8
  81. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  82. package/lib/components/VCard/index.d.ts +286 -186
  83. package/lib/components/VCarousel/VCarousel.mjs +2 -2
  84. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  85. package/lib/components/VCarousel/VCarouselItem.mjs +2 -2
  86. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  87. package/lib/components/VCarousel/index.d.ts +238 -61
  88. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  89. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  90. package/lib/components/VCheckbox/VCheckboxBtn.mjs +2 -2
  91. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  92. package/lib/components/VCheckbox/index.d.ts +277 -254
  93. package/lib/components/VChip/VChip.mjs +15 -14
  94. package/lib/components/VChip/VChip.mjs.map +1 -1
  95. package/lib/components/VChip/index.d.ts +118 -168
  96. package/lib/components/VChipGroup/VChipGroup.css +1 -0
  97. package/lib/components/VChipGroup/VChipGroup.mjs +15 -18
  98. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  99. package/lib/components/VChipGroup/VChipGroup.sass +1 -0
  100. package/lib/components/VChipGroup/index.d.ts +49 -68
  101. package/lib/components/VCode/index.d.ts +21 -9
  102. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +4 -9
  103. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  104. package/lib/components/VColorPicker/VColorPickerEdit.mjs +12 -16
  105. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  106. package/lib/components/VColorPicker/VColorPickerPreview.mjs +43 -46
  107. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  108. package/lib/components/VColorPicker/index.d.ts +1 -1
  109. package/lib/components/VColorPicker/util/index.mjs +1 -2
  110. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  111. package/lib/components/VCombobox/VCombobox.mjs +104 -113
  112. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  113. package/lib/components/VCombobox/index.d.ts +496 -638
  114. package/lib/components/VCounter/VCounter.mjs +2 -2
  115. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  116. package/lib/components/VCounter/index.d.ts +139 -197
  117. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +4 -9
  118. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  119. package/lib/components/VDefaultsProvider/index.d.ts +33 -14
  120. package/lib/components/VDialog/VDialog.mjs +6 -9
  121. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  122. package/lib/components/VDialog/index.d.ts +430 -1610
  123. package/lib/components/VDivider/VDivider.mjs +2 -2
  124. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  125. package/lib/components/VDivider/index.d.ts +35 -15
  126. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +4 -5
  127. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  128. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +11 -14
  129. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  130. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +19 -22
  131. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  132. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +2 -2
  133. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  134. package/lib/components/VExpansionPanel/index.d.ts +180 -158
  135. package/lib/components/VField/VField.mjs +3 -6
  136. package/lib/components/VField/VField.mjs.map +1 -1
  137. package/lib/components/VField/VFieldLabel.mjs +2 -2
  138. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  139. package/lib/components/VField/index.d.ts +46 -34
  140. package/lib/components/VFileInput/VFileInput.mjs +16 -18
  141. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  142. package/lib/components/VFileInput/index.d.ts +330 -355
  143. package/lib/components/VFooter/VFooter.mjs +2 -2
  144. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  145. package/lib/components/VFooter/index.d.ts +45 -65
  146. package/lib/components/VForm/VForm.mjs +10 -14
  147. package/lib/components/VForm/VForm.mjs.map +1 -1
  148. package/lib/components/VForm/index.d.ts +29 -23
  149. package/lib/components/VGrid/VCol.mjs +5 -8
  150. package/lib/components/VGrid/VCol.mjs.map +1 -1
  151. package/lib/components/VGrid/VContainer.mjs +2 -2
  152. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  153. package/lib/components/VGrid/VGrid.css +0 -125
  154. package/lib/components/VGrid/VRow.mjs +5 -8
  155. package/lib/components/VGrid/VRow.mjs.map +1 -1
  156. package/lib/components/VGrid/index.d.ts +112 -121
  157. package/lib/components/VHover/VHover.mjs +9 -12
  158. package/lib/components/VHover/VHover.mjs.map +1 -1
  159. package/lib/components/VHover/index.d.ts +53 -15
  160. package/lib/components/VIcon/VIcon.mjs +22 -26
  161. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  162. package/lib/components/VIcon/index.d.ts +68 -56
  163. package/lib/components/VImg/VImg.mjs +7 -11
  164. package/lib/components/VImg/VImg.mjs.map +1 -1
  165. package/lib/components/VImg/index.d.ts +67 -58
  166. package/lib/components/VInput/VInput.mjs +5 -6
  167. package/lib/components/VInput/VInput.mjs.map +1 -1
  168. package/lib/components/VInput/index.d.ts +94 -283
  169. package/lib/components/VItemGroup/VItem.mjs +8 -11
  170. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  171. package/lib/components/VItemGroup/VItemGroup.mjs +13 -16
  172. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  173. package/lib/components/VItemGroup/index.d.ts +76 -149
  174. package/lib/components/VKbd/index.d.ts +21 -9
  175. package/lib/components/VLabel/VLabel.mjs +7 -10
  176. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  177. package/lib/components/VLabel/index.d.ts +29 -9
  178. package/lib/components/VLayout/VLayout.mjs +9 -12
  179. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  180. package/lib/components/VLayout/VLayoutItem.mjs +6 -9
  181. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  182. package/lib/components/VLayout/index.d.ts +60 -43
  183. package/lib/components/VLazy/VLazy.mjs +12 -15
  184. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  185. package/lib/components/VLazy/index.d.ts +48 -71
  186. package/lib/components/VList/VList.mjs +4 -8
  187. package/lib/components/VList/VList.mjs.map +1 -1
  188. package/lib/components/VList/VListChildren.mjs +59 -77
  189. package/lib/components/VList/VListChildren.mjs.map +1 -1
  190. package/lib/components/VList/VListGroup.mjs +33 -39
  191. package/lib/components/VList/VListGroup.mjs.map +1 -1
  192. package/lib/components/VList/VListItem.css +2 -2
  193. package/lib/components/VList/VListItem.mjs +10 -18
  194. package/lib/components/VList/VListItem.mjs.map +1 -1
  195. package/lib/components/VList/VListItem.sass +0 -2
  196. package/lib/components/VList/VListItemAction.mjs +2 -2
  197. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  198. package/lib/components/VList/VListItemMedia.mjs +2 -2
  199. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  200. package/lib/components/VList/VListSubheader.mjs +3 -4
  201. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  202. package/lib/components/VList/index.d.ts +418 -686
  203. package/lib/components/VList/list.mjs +1 -1
  204. package/lib/components/VList/list.mjs.map +1 -1
  205. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -8
  206. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  207. package/lib/components/VLocaleProvider/index.d.ts +28 -16
  208. package/lib/components/VMain/VMain.mjs +12 -15
  209. package/lib/components/VMain/VMain.mjs.map +1 -1
  210. package/lib/components/VMain/index.d.ts +23 -17
  211. package/lib/components/VMenu/VMenu.mjs +10 -10
  212. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  213. package/lib/components/VMenu/index.d.ts +428 -1641
  214. package/lib/components/VMessages/VMessages.mjs +2 -2
  215. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  216. package/lib/components/VMessages/index.d.ts +144 -204
  217. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +6 -7
  218. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  219. package/lib/components/VNavigationDrawer/index.d.ts +92 -124
  220. package/lib/components/VNoSsr/VNoSsr.mjs +1 -4
  221. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  222. package/lib/components/VNoSsr/index.d.ts +20 -4
  223. package/lib/components/VOtpInput/VOtpInput.mjs +5 -6
  224. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  225. package/lib/components/VOverlay/VOverlay.mjs +44 -47
  226. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  227. package/lib/components/VOverlay/index.d.ts +150 -468
  228. package/lib/components/VOverlay/locationStrategies.mjs +3 -6
  229. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  230. package/lib/components/VOverlay/scrollStrategies.mjs +7 -12
  231. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  232. package/lib/components/VOverlay/useActivator.mjs +4 -7
  233. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  234. package/lib/components/VPagination/VPagination.mjs +4 -5
  235. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  236. package/lib/components/VPagination/index.d.ts +107 -207
  237. package/lib/components/VParallax/VParallax.mjs +12 -15
  238. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  239. package/lib/components/VParallax/index.d.ts +39 -9
  240. package/lib/components/VProgressCircular/VProgressCircular.mjs +2 -2
  241. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  242. package/lib/components/VProgressCircular/index.d.ts +41 -58
  243. package/lib/components/VProgressLinear/VProgressLinear.mjs +2 -2
  244. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  245. package/lib/components/VProgressLinear/index.d.ts +91 -95
  246. package/lib/components/VRadio/VRadio.mjs +2 -2
  247. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  248. package/lib/components/VRadio/index.d.ts +108 -85
  249. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -2
  250. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  251. package/lib/components/VRadioGroup/index.d.ts +164 -147
  252. package/lib/components/VRangeSlider/VRangeSlider.mjs +21 -31
  253. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  254. package/lib/components/VRangeSlider/index.d.ts +154 -210
  255. package/lib/components/VRating/VRating.mjs +28 -34
  256. package/lib/components/VRating/VRating.mjs.map +1 -1
  257. package/lib/components/VRating/index.d.ts +77 -311
  258. package/lib/components/VResponsive/VResponsive.mjs +11 -14
  259. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  260. package/lib/components/VResponsive/index.d.ts +44 -20
  261. package/lib/components/VSelect/VSelect.mjs +100 -102
  262. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  263. package/lib/components/VSelect/index.d.ts +729 -673
  264. package/lib/components/VSelectionControl/VSelectionControl.mjs +3 -4
  265. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  266. package/lib/components/VSelectionControl/index.d.ts +31 -19
  267. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +8 -11
  268. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  269. package/lib/components/VSelectionControlGroup/index.d.ts +58 -70
  270. package/lib/components/VSheet/VSheet.mjs +2 -2
  271. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  272. package/lib/components/VSheet/index.d.ts +52 -56
  273. package/lib/components/VSlideGroup/VSlideGroup.mjs +51 -60
  274. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  275. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +6 -9
  276. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  277. package/lib/components/VSlideGroup/index.d.ts +144 -366
  278. package/lib/components/VSlider/VSlider.mjs +8 -14
  279. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  280. package/lib/components/VSlider/VSliderThumb.css +0 -1
  281. package/lib/components/VSlider/VSliderThumb.mjs +4 -5
  282. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  283. package/lib/components/VSlider/VSliderTrack.mjs +4 -5
  284. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  285. package/lib/components/VSlider/index.d.ts +151 -207
  286. package/lib/components/VSlider/slider.mjs +3 -6
  287. package/lib/components/VSlider/slider.mjs.map +1 -1
  288. package/lib/components/VSnackbar/VSnackbar.mjs +1 -1
  289. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  290. package/lib/components/VSnackbar/index.d.ts +358 -1519
  291. package/lib/components/VSwitch/VSwitch.mjs +3 -4
  292. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  293. package/lib/components/VSwitch/index.d.ts +180 -151
  294. package/lib/components/VSystemBar/VSystemBar.mjs +8 -4
  295. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  296. package/lib/components/VSystemBar/index.d.ts +43 -51
  297. package/lib/components/VTable/VTable.mjs +19 -22
  298. package/lib/components/VTable/VTable.mjs.map +1 -1
  299. package/lib/components/VTable/index.d.ts +54 -30
  300. package/lib/components/VTabs/VTab.mjs +3 -4
  301. package/lib/components/VTabs/VTab.mjs.map +1 -1
  302. package/lib/components/VTabs/VTabs.mjs +2 -2
  303. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  304. package/lib/components/VTabs/index.d.ts +122 -150
  305. package/lib/components/VTextField/VTextField.mjs +16 -19
  306. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  307. package/lib/components/VTextField/index.d.ts +331 -1489
  308. package/lib/components/VTextarea/VTextarea.mjs +17 -19
  309. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  310. package/lib/components/VTextarea/index.d.ts +320 -334
  311. package/lib/components/VThemeProvider/VThemeProvider.mjs +4 -5
  312. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  313. package/lib/components/VThemeProvider/index.d.ts +27 -13
  314. package/lib/components/VTimeline/VTimeline.mjs +2 -2
  315. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  316. package/lib/components/VTimeline/VTimelineDivider.mjs +20 -23
  317. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  318. package/lib/components/VTimeline/VTimelineItem.mjs +33 -34
  319. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  320. package/lib/components/VTimeline/index.d.ts +123 -135
  321. package/lib/components/VToolbar/VToolbar.css +1 -0
  322. package/lib/components/VToolbar/VToolbar.mjs +7 -9
  323. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  324. package/lib/components/VToolbar/VToolbar.sass +1 -0
  325. package/lib/components/VToolbar/VToolbarItems.mjs +5 -8
  326. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  327. package/lib/components/VToolbar/VToolbarTitle.mjs +1 -2
  328. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  329. package/lib/components/VToolbar/index.d.ts +146 -351
  330. package/lib/components/VTooltip/VTooltip.mjs +1 -2
  331. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  332. package/lib/components/VTooltip/index.d.ts +361 -1619
  333. package/lib/components/VValidation/VValidation.mjs +3 -6
  334. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  335. package/lib/components/VValidation/index.d.ts +48 -46
  336. package/lib/components/VWindow/VWindow.mjs +19 -22
  337. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  338. package/lib/components/VWindow/VWindowItem.mjs +10 -14
  339. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  340. package/lib/components/VWindow/index.d.ts +152 -284
  341. package/lib/components/index.d.ts +13684 -21652
  342. package/lib/components/transitions/createTransition.mjs +4 -4
  343. package/lib/components/transitions/createTransition.mjs.map +1 -1
  344. package/lib/components/transitions/dialog-transition.mjs +8 -8
  345. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  346. package/lib/components/transitions/index.d.ts +477 -342
  347. package/lib/composables/defaults.mjs +6 -4
  348. package/lib/composables/defaults.mjs.map +1 -1
  349. package/lib/composables/delay.mjs +1 -1
  350. package/lib/composables/delay.mjs.map +1 -1
  351. package/lib/composables/filter.mjs +11 -12
  352. package/lib/composables/filter.mjs.map +1 -1
  353. package/lib/composables/group.mjs +2 -2
  354. package/lib/composables/group.mjs.map +1 -1
  355. package/lib/composables/icons.mjs +4 -6
  356. package/lib/composables/icons.mjs.map +1 -1
  357. package/lib/composables/intersectionObserver.mjs +1 -1
  358. package/lib/composables/intersectionObserver.mjs.map +1 -1
  359. package/lib/composables/layout.mjs +2 -5
  360. package/lib/composables/layout.mjs.map +1 -1
  361. package/lib/composables/loader.mjs +2 -3
  362. package/lib/composables/loader.mjs.map +1 -1
  363. package/lib/composables/locale.mjs +2 -2
  364. package/lib/composables/locale.mjs.map +1 -1
  365. package/lib/composables/mutationObserver.mjs +8 -8
  366. package/lib/composables/mutationObserver.mjs.map +1 -1
  367. package/lib/composables/nested/selectStrategies.mjs +1 -1
  368. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  369. package/lib/composables/proxiedModel.mjs +9 -10
  370. package/lib/composables/proxiedModel.mjs.map +1 -1
  371. package/lib/composables/resizeObserver.mjs +1 -1
  372. package/lib/composables/resizeObserver.mjs.map +1 -1
  373. package/lib/composables/router.mjs +12 -21
  374. package/lib/composables/router.mjs.map +1 -1
  375. package/lib/composables/scroll.mjs +2 -4
  376. package/lib/composables/scroll.mjs.map +1 -1
  377. package/lib/composables/selectLink.mjs +1 -4
  378. package/lib/composables/selectLink.mjs.map +1 -1
  379. package/lib/composables/stack.mjs +6 -8
  380. package/lib/composables/stack.mjs.map +1 -1
  381. package/lib/composables/teleport.mjs +1 -1
  382. package/lib/composables/teleport.mjs.map +1 -1
  383. package/lib/composables/theme.mjs +2 -3
  384. package/lib/composables/theme.mjs.map +1 -1
  385. package/lib/composables/toggleScope.mjs +3 -6
  386. package/lib/composables/toggleScope.mjs.map +1 -1
  387. package/lib/composables/touch.mjs +1 -2
  388. package/lib/composables/touch.mjs.map +1 -1
  389. package/lib/composables/validation.mjs +7 -7
  390. package/lib/composables/validation.mjs.map +1 -1
  391. package/lib/directives/click-outside/index.mjs +2 -3
  392. package/lib/directives/click-outside/index.mjs.map +1 -1
  393. package/lib/directives/index.d.ts +1 -1
  394. package/lib/directives/intersect/index.mjs +2 -4
  395. package/lib/directives/intersect/index.mjs.map +1 -1
  396. package/lib/directives/mutate/index.mjs +7 -8
  397. package/lib/directives/mutate/index.mjs.map +1 -1
  398. package/lib/directives/resize/index.mjs +3 -5
  399. package/lib/directives/resize/index.mjs.map +1 -1
  400. package/lib/directives/ripple/index.mjs +8 -13
  401. package/lib/directives/ripple/index.mjs.map +1 -1
  402. package/lib/directives/scroll/index.mjs +1 -2
  403. package/lib/directives/scroll/index.mjs.map +1 -1
  404. package/lib/directives/touch/index.mjs +9 -14
  405. package/lib/directives/touch/index.mjs.map +1 -1
  406. package/lib/entry-bundler.mjs +1 -1
  407. package/lib/framework.mjs +2 -3
  408. package/lib/framework.mjs.map +1 -1
  409. package/lib/iconsets/fa-svg.d.ts +2 -2
  410. package/lib/iconsets/fa.d.ts +2 -2
  411. package/lib/iconsets/fa4.d.ts +2 -2
  412. package/lib/iconsets/md.d.ts +2 -2
  413. package/lib/iconsets/mdi-svg.d.ts +2 -2
  414. package/lib/iconsets/mdi.d.ts +2 -2
  415. package/lib/index.d.ts +27 -27
  416. package/lib/labs/VDataTable/VDataTable.mjs +11 -14
  417. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  418. package/lib/labs/VDataTable/VDataTableColumn.mjs +1 -2
  419. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
  420. package/lib/labs/VDataTable/VDataTableFooter.css +9 -0
  421. package/lib/labs/VDataTable/VDataTableFooter.mjs +80 -45
  422. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  423. package/lib/labs/VDataTable/VDataTableFooter.sass +7 -0
  424. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +6 -8
  425. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  426. package/lib/labs/VDataTable/VDataTableHeaders.mjs +3 -4
  427. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  428. package/lib/labs/VDataTable/VDataTableRow.mjs +2 -4
  429. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  430. package/lib/labs/VDataTable/VDataTableRows.mjs +45 -49
  431. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  432. package/lib/labs/VDataTable/VDataTableServer.mjs +16 -19
  433. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  434. package/lib/labs/VDataTable/VDataTableVirtual.mjs +2 -2
  435. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  436. package/lib/labs/VDataTable/composables/headers.mjs +3 -4
  437. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  438. package/lib/labs/VDataTable/composables/paginate.mjs +1 -6
  439. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  440. package/lib/labs/VDataTable/composables/sort.mjs +1 -1
  441. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  442. package/lib/labs/VDataTable/index.d.ts +583 -575
  443. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs +11 -15
  444. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  445. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs +7 -13
  446. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  447. package/lib/labs/VVirtualScroll/index.d.ts +18 -18
  448. package/lib/labs/components.d.ts +601 -593
  449. package/lib/locale/adapters/vue-i18n.d.ts +1 -1
  450. package/lib/locale/adapters/vuetify.mjs +3 -3
  451. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  452. package/lib/styles/main.css +40 -2816
  453. package/lib/util/console.mjs +1 -1
  454. package/lib/util/console.mjs.map +1 -1
  455. package/lib/util/createSimpleFunctional.mjs +5 -8
  456. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  457. package/lib/util/defineComponent.mjs +6 -8
  458. package/lib/util/defineComponent.mjs.map +1 -1
  459. package/lib/util/getCurrentInstance.mjs +1 -1
  460. package/lib/util/getCurrentInstance.mjs.map +1 -1
  461. package/lib/util/helpers.mjs +2 -3
  462. package/lib/util/helpers.mjs.map +1 -1
  463. package/package.json +19 -19
@@ -1,77 +1,58 @@
1
1
  import * as vue from 'vue';
2
- import { PropType } from 'vue';
3
2
 
4
3
  declare function deepEqual(a: any, b: any): boolean;
5
4
 
6
5
  declare const VChipGroup: vue.DefineComponent<{
7
- color: StringConstructor;
8
- variant: Omit<{
9
- type: PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
10
- default: string;
11
- validator: (v: any) => boolean;
12
- }, "type" | "default"> & {
13
- type: PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
14
- default: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
15
- };
16
- theme: StringConstructor;
17
- tag: {
18
- type: StringConstructor;
19
- default: string;
20
- };
21
- modelValue: {
22
- type: null;
23
- default: undefined;
24
- };
25
- multiple: BooleanConstructor;
26
- mandatory: PropType<boolean | "force">;
27
- max: NumberConstructor;
28
- selectedClass: {
29
- type: PropType<string>;
30
- default: string;
31
- };
32
- disabled: BooleanConstructor;
33
- column: BooleanConstructor;
34
- filter: BooleanConstructor;
35
- valueComparator: {
36
- type: PropType<typeof deepEqual>;
37
- default: typeof deepEqual;
6
+ filter: boolean;
7
+ disabled: boolean;
8
+ multiple: boolean;
9
+ tag: string;
10
+ column: boolean;
11
+ variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
12
+ selectedClass: string;
13
+ valueComparator: typeof deepEqual;
14
+ } & {
15
+ max?: number | undefined;
16
+ color?: string | undefined;
17
+ mandatory?: boolean | "force" | undefined;
18
+ theme?: string | undefined;
19
+ modelValue?: any;
20
+ } & {
21
+ $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
22
+ default?: (() => vue.VNodeChild) | undefined;
38
23
  };
24
+ 'v-slots'?: {
25
+ default?: false | (() => vue.VNodeChild) | undefined;
26
+ } | undefined;
27
+ } & {
28
+ "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
39
29
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
40
- 'update:modelValue': (value: any) => true;
41
- }, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
42
- color: StringConstructor;
43
- variant: Omit<{
44
- type: PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
45
- default: string;
46
- validator: (v: any) => boolean;
47
- }, "type" | "default"> & {
48
- type: PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
49
- default: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
50
- };
51
- theme: StringConstructor;
52
- tag: {
53
- type: StringConstructor;
54
- default: string;
55
- };
56
- modelValue: {
57
- type: null;
58
- default: undefined;
59
- };
60
- multiple: BooleanConstructor;
61
- mandatory: PropType<boolean | "force">;
62
- max: NumberConstructor;
63
- selectedClass: {
64
- type: PropType<string>;
65
- default: string;
66
- };
67
- disabled: BooleanConstructor;
68
- column: BooleanConstructor;
69
- filter: BooleanConstructor;
70
- valueComparator: {
71
- type: PropType<typeof deepEqual>;
72
- default: typeof deepEqual;
30
+ 'update:modelValue': (value: any) => boolean;
31
+ }, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
32
+ filter: boolean;
33
+ disabled: boolean;
34
+ multiple: boolean;
35
+ tag: string;
36
+ column: boolean;
37
+ variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
38
+ selectedClass: string;
39
+ valueComparator: typeof deepEqual;
40
+ } & {
41
+ max?: number | undefined;
42
+ color?: string | undefined;
43
+ mandatory?: boolean | "force" | undefined;
44
+ theme?: string | undefined;
45
+ modelValue?: any;
46
+ } & {
47
+ $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
48
+ default?: (() => vue.VNodeChild) | undefined;
73
49
  };
74
- }>> & {
50
+ 'v-slots'?: {
51
+ default?: false | (() => vue.VNodeChild) | undefined;
52
+ } | undefined;
53
+ } & {
54
+ "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
55
+ } & {
75
56
  "onUpdate:modelValue"?: ((value: any) => any) | undefined;
76
57
  }, {
77
58
  filter: boolean;
@@ -79,11 +60,11 @@ declare const VChipGroup: vue.DefineComponent<{
79
60
  multiple: boolean;
80
61
  tag: string;
81
62
  column: boolean;
82
- variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
63
+ variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
83
64
  modelValue: any;
84
65
  selectedClass: string;
85
66
  valueComparator: typeof deepEqual;
86
67
  }>;
87
- declare type VChipGroup = InstanceType<typeof VChipGroup>;
68
+ type VChipGroup = InstanceType<typeof VChipGroup>;
88
69
 
89
70
  export { VChipGroup };
@@ -1,20 +1,32 @@
1
1
  import * as vue from 'vue';
2
2
 
3
3
  declare const VCode: vue.DefineComponent<{
4
- tag: {
5
- type: StringConstructor;
6
- default: string;
4
+ tag: string;
5
+ } & {} & {
6
+ $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
7
+ default?: (() => vue.VNodeChild) | undefined;
7
8
  };
9
+ 'v-slots'?: {
10
+ default?: false | (() => vue.VNodeChild) | undefined;
11
+ } | undefined;
12
+ } & {
13
+ "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
8
14
  }, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
9
15
  [key: string]: any;
10
- }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
11
- tag: {
12
- type: StringConstructor;
13
- default: string;
16
+ }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
17
+ tag: string;
18
+ } & {} & {
19
+ $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
20
+ default?: (() => vue.VNodeChild) | undefined;
14
21
  };
15
- }>>, {
22
+ 'v-slots'?: {
23
+ default?: false | (() => vue.VNodeChild) | undefined;
24
+ } | undefined;
25
+ } & {
26
+ "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
27
+ }, {
16
28
  tag: string;
17
29
  }>;
18
- declare type VCode = InstanceType<typeof VCode>;
30
+ type VCode = InstanceType<typeof VCode>;
19
31
 
20
32
  export { VCode };
@@ -94,7 +94,6 @@ export const VColorPickerCanvas = defineComponent({
94
94
  window.removeEventListener('touchend', handleMouseUp);
95
95
  }
96
96
  watch(dotPosition, () => {
97
- var _props$color, _props$color2;
98
97
  if (isOutsideUpdate.value) {
99
98
  isOutsideUpdate.value = false;
100
99
  return;
@@ -109,21 +108,20 @@ export const VColorPickerCanvas = defineComponent({
109
108
  y
110
109
  } = dotPosition.value;
111
110
  emit('update:color', {
112
- h: ((_props$color = props.color) == null ? void 0 : _props$color.h) ?? 0,
111
+ h: props.color?.h ?? 0,
113
112
  s: clamp(x, 0, width) / width,
114
113
  v: 1 - clamp(y, 0, height) / height,
115
- a: ((_props$color2 = props.color) == null ? void 0 : _props$color2.a) ?? 1
114
+ a: props.color?.a ?? 1
116
115
  });
117
116
  });
118
117
  function updateCanvas() {
119
- var _props$color3;
120
118
  if (!canvasRef.value) return;
121
119
  const canvas = canvasRef.value;
122
120
  const ctx = canvas.getContext('2d');
123
121
  if (!ctx) return;
124
122
  const saturationGradient = ctx.createLinearGradient(0, 0, canvas.width, 0);
125
123
  saturationGradient.addColorStop(0, 'hsla(0, 0%, 100%, 1)'); // white
126
- saturationGradient.addColorStop(1, `hsla(${((_props$color3 = props.color) == null ? void 0 : _props$color3.h) ?? 0}, 100%, 50%, 1)`);
124
+ saturationGradient.addColorStop(1, `hsla(${props.color?.h ?? 0}, 100%, 50%, 1)`);
127
125
  ctx.fillStyle = saturationGradient;
128
126
  ctx.fillRect(0, 0, canvas.width, canvas.height);
129
127
  const valueGradient = ctx.createLinearGradient(0, 0, 0, canvas.height);
@@ -132,10 +130,7 @@ export const VColorPickerCanvas = defineComponent({
132
130
  ctx.fillStyle = valueGradient;
133
131
  ctx.fillRect(0, 0, canvas.width, canvas.height);
134
132
  }
135
- watch(() => {
136
- var _props$color4;
137
- return (_props$color4 = props.color) == null ? void 0 : _props$color4.h;
138
- }, updateCanvas, {
133
+ watch(() => props.color?.h, updateCanvas, {
139
134
  immediate: true
140
135
  });
141
136
  watch(() => props.color, () => {
@@ -1 +1 @@
1
- {"version":3,"file":"VColorPickerCanvas.mjs","names":["clamp","convertToUnit","defineComponent","getEventCoordinates","useRender","computed","onMounted","ref","watch","VColorPickerCanvas","name","props","color","type","Object","disabled","Boolean","dotSize","Number","String","default","height","width","emits","hue","setup","emit","isInteracting","isOutsideUpdate","dotPosition","x","y","dotStyles","value","radius","parseInt","transform","canvasRef","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","deep"],"sources":["../../../src/components/VColorPicker/VColorPickerCanvas.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerCanvas.sass'\n\n// Utilities\nimport { clamp, convertToUnit, defineComponent, getEventCoordinates, useRender } from '@/util'\nimport { computed, onMounted, ref, watch } from 'vue'\n\n// Types\nimport type { HSV } from '@/util'\nimport type { PropType } from 'vue'\n\nexport const VColorPickerCanvas = defineComponent({\n name: 'VColorPickerCanvas',\n\n props: {\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\n emits: {\n 'update:color': (color: HSV) => true,\n 'update:position': (hue: any) => true,\n },\n\n setup (props, { emit }) {\n const isInteracting = ref(false)\n const isOutsideUpdate = ref(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\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 { width, height } = canvasRef.value.getBoundingClientRect()\n const { x, y } = dotPosition.value\n\n emit('update:color', {\n h: props.color?.h ?? 0,\n s: clamp(x, 0, width) / width,\n v: 1 - clamp(y, 0, height) / height,\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\n watch(() => props.color, () => {\n if (isInteracting.value) {\n isInteracting.value = false\n return\n }\n\n if (!props.color) return\n\n isOutsideUpdate.value = true\n\n dotPosition.value = {\n x: props.color.s * parseInt(props.width, 10),\n y: (1 - props.color.v) * parseInt(props.height, 10),\n }\n }, { deep: true, immediate: true })\n\n onMounted(() => updateCanvas())\n\n useRender(() => (\n <div\n class=\"v-color-picker-canvas\"\n style={{\n width: convertToUnit(props.width),\n height: convertToUnit(props.height),\n }}\n onClick={ handleClick }\n onMousedown={ handleMouseDown }\n onTouchstart={ handleMouseDown }\n >\n <canvas\n ref={ canvasRef }\n width={ props.width }\n height={ props.height }\n />\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 </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":["clamp","convertToUnit","defineComponent","getEventCoordinates","useRender","computed","onMounted","ref","watch","VColorPickerCanvas","name","props","color","type","Object","disabled","Boolean","dotSize","Number","String","default","height","width","emits","hue","setup","emit","isInteracting","isOutsideUpdate","dotPosition","x","y","dotStyles","value","radius","parseInt","transform","canvasRef","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","deep"],"sources":["../../../src/components/VColorPicker/VColorPickerCanvas.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerCanvas.sass'\n\n// Utilities\nimport { clamp, convertToUnit, defineComponent, getEventCoordinates, useRender } from '@/util'\nimport { computed, onMounted, ref, watch } from 'vue'\n\n// Types\nimport type { HSV } from '@/util'\nimport type { PropType } from 'vue'\n\nexport const VColorPickerCanvas = defineComponent({\n name: 'VColorPickerCanvas',\n\n props: {\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\n emits: {\n 'update:color': (color: HSV) => true,\n 'update:position': (hue: any) => true,\n },\n\n setup (props, { emit }) {\n const isInteracting = ref(false)\n const isOutsideUpdate = ref(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\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 { width, height } = canvasRef.value.getBoundingClientRect()\n const { x, y } = dotPosition.value\n\n emit('update:color', {\n h: props.color?.h ?? 0,\n s: clamp(x, 0, width) / width,\n v: 1 - clamp(y, 0, height) / height,\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\n watch(() => props.color, () => {\n if (isInteracting.value) {\n isInteracting.value = false\n return\n }\n\n if (!props.color) return\n\n isOutsideUpdate.value = true\n\n dotPosition.value = {\n x: props.color.s * parseInt(props.width, 10),\n y: (1 - props.color.v) * parseInt(props.height, 10),\n }\n }, { deep: true, immediate: true })\n\n onMounted(() => updateCanvas())\n\n useRender(() => (\n <div\n class=\"v-color-picker-canvas\"\n style={{\n width: convertToUnit(props.width),\n height: convertToUnit(props.height),\n }}\n onClick={ handleClick }\n onMousedown={ handleMouseDown }\n onTouchstart={ handleMouseDown }\n >\n <canvas\n ref={ canvasRef }\n width={ props.width }\n height={ props.height }\n />\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 </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerCanvas = InstanceType<typeof VColorPickerCanvas>\n"],"mappings":"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"}
@@ -47,11 +47,10 @@ export const VColorPickerEdit = defineComponent({
47
47
  }));
48
48
  });
49
49
  const inputs = computed(() => {
50
- var _mode$inputs;
51
50
  const mode = enabledModes.value.find(m => m.name === props.mode);
52
51
  if (!mode) return [];
53
52
  const color = props.color ? mode.to(props.color) : {};
54
- return (_mode$inputs = mode.inputs) == null ? void 0 : _mode$inputs.map(_ref3 => {
53
+ return mode.inputs?.map(_ref3 => {
55
54
  let {
56
55
  getValue,
57
56
  getColor,
@@ -70,20 +69,17 @@ export const VColorPickerEdit = defineComponent({
70
69
  };
71
70
  });
72
71
  });
73
- useRender(() => {
74
- var _inputs$value;
75
- return _createVNode("div", {
76
- "class": "v-color-picker-edit"
77
- }, [(_inputs$value = inputs.value) == null ? void 0 : _inputs$value.map(props => _createVNode(VColorPickerInput, props, null)), enabledModes.value.length > 1 && _createVNode(VBtn, {
78
- "icon": "$unfold",
79
- "size": "x-small",
80
- "variant": "plain",
81
- "onClick": () => {
82
- const mi = enabledModes.value.findIndex(m => m.name === props.mode);
83
- emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name);
84
- }
85
- }, null)]);
86
- });
72
+ useRender(() => _createVNode("div", {
73
+ "class": "v-color-picker-edit"
74
+ }, [inputs.value?.map(props => _createVNode(VColorPickerInput, props, null)), enabledModes.value.length > 1 && _createVNode(VBtn, {
75
+ "icon": "$unfold",
76
+ "size": "x-small",
77
+ "variant": "plain",
78
+ "onClick": () => {
79
+ const mi = enabledModes.value.findIndex(m => m.name === props.mode);
80
+ emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name);
81
+ }
82
+ }, null)]));
87
83
  return {};
88
84
  }
89
85
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VColorPickerEdit.mjs","names":["VBtn","computed","defineComponent","useRender","modes","VColorPickerInput","label","rest","VColorPickerEdit","name","props","color","Object","disabled","Boolean","mode","type","String","default","validator","v","keys","includes","Array","isArray","every","m","emits","setup","emit","enabledModes","map","key","inputs","value","find","to","getValue","getColor","inputProps","onChange","e","target","from","length","mi","findIndex"],"sources":["../../../src/components/VColorPicker/VColorPickerEdit.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerEdit.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent, useRender } from '@/util'\nimport { modes } 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 VColorPickerEdit = defineComponent({\n name: 'VColorPickerEdit',\n\n props: {\n color: Object as PropType<HSV | null>,\n disabled: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<string[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n },\n\n emits: {\n 'update:color': (color: HSV) => true,\n 'update:mode': (mode: string) => 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) : {}\n\n return mode.inputs?.map(({ getValue, getColor, ...inputProps }) => {\n return {\n ...mode.inputProps,\n ...inputProps,\n disabled: props.disabled,\n value: 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, target.value)))\n },\n }\n })\n })\n\n useRender(() => (\n <div\n class=\"v-color-picker-edit\"\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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"}
1
+ {"version":3,"file":"VColorPickerEdit.mjs","names":["VBtn","computed","defineComponent","useRender","modes","VColorPickerInput","label","rest","VColorPickerEdit","name","props","color","Object","disabled","Boolean","mode","type","String","default","validator","v","keys","includes","Array","isArray","every","m","emits","setup","emit","enabledModes","map","key","inputs","value","find","to","getValue","getColor","inputProps","onChange","e","target","from","length","mi","findIndex"],"sources":["../../../src/components/VColorPicker/VColorPickerEdit.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerEdit.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent, useRender } from '@/util'\nimport { modes } 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 VColorPickerEdit = defineComponent({\n name: 'VColorPickerEdit',\n\n props: {\n color: Object as PropType<HSV | null>,\n disabled: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<string[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n },\n\n emits: {\n 'update:color': (color: HSV) => true,\n 'update:mode': (mode: string) => 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) : {}\n\n return mode.inputs?.map(({ getValue, getColor, ...inputProps }) => {\n return {\n ...mode.inputProps,\n ...inputProps,\n disabled: props.disabled,\n value: 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, target.value)))\n },\n }\n })\n })\n\n useRender(() => (\n <div\n class=\"v-color-picker-edit\"\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;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,eAAe,EAAEC,SAAS;AAAA,SAC1BC,KAAK,4BAEd;AAIA,MAAMC,iBAAiB,GAAG,QAA6B;EAAA,IAA5B;IAAEC,KAAK;IAAE,GAAGC;EAAU,CAAC;EAChD;IAAA,SAEU;EAA4B,0BAEvBA,IAAI,qCACPD,KAAK;AAGnB,CAAC;AAED,OAAO,MAAME,gBAAgB,GAAGN,eAAe,CAAC;EAC9CO,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAE;IACLC,KAAK,EAAEC,MAA8B;IACrCC,QAAQ,EAAEC,OAAO;IACjBC,IAAI,EAAE;MACJC,IAAI,EAAEC,MAAM;MACZC,OAAO,EAAE,MAAM;MACfC,SAAS,EAAGC,CAAS,IAAKR,MAAM,CAACS,IAAI,CAACjB,KAAK,CAAC,CAACkB,QAAQ,CAACF,CAAC;IACzD,CAAC;IACDhB,KAAK,EAAE;MACLY,IAAI,EAAEO,KAA2B;MACjCL,OAAO,EAAE,MAAMN,MAAM,CAACS,IAAI,CAACjB,KAAK,CAAC;MACjCe,SAAS,EAAGC,CAAM,IAAKG,KAAK,CAACC,OAAO,CAACJ,CAAC,CAAC,IAAIA,CAAC,CAACK,KAAK,CAACC,CAAC,IAAId,MAAM,CAACS,IAAI,CAACjB,KAAK,CAAC,CAACkB,QAAQ,CAACI,CAAC,CAAC;IACxF;EACF,CAAC;EAEDC,KAAK,EAAE;IACL,cAAc,EAAGhB,KAAU,IAAK,IAAI;IACpC,aAAa,EAAGI,IAAY,IAAK;EACnC,CAAC;EAEDa,KAAK,CAAElB,KAAK,SAAY;IAAA,IAAV;MAAEmB;IAAK,CAAC;IACpB,MAAMC,YAAY,GAAG7B,QAAQ,CAAC,MAAM;MAClC,OAAOS,KAAK,CAACN,KAAK,CAAC2B,GAAG,CAACC,GAAG,KAAK;QAAE,GAAG5B,KAAK,CAAC4B,GAAG,CAAC;QAAEvB,IAAI,EAAEuB;MAAI,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF,MAAMC,MAAM,GAAGhC,QAAQ,CAAC,MAAM;MAC5B,MAAMc,IAAI,GAAGe,YAAY,CAACI,KAAK,CAACC,IAAI,CAACT,CAAC,IAAIA,CAAC,CAACjB,IAAI,KAAKC,KAAK,CAACK,IAAI,CAAC;MAEhE,IAAI,CAACA,IAAI,EAAE,OAAO,EAAE;MAEpB,MAAMJ,KAAK,GAAGD,KAAK,CAACC,KAAK,GAAGI,IAAI,CAACqB,EAAE,CAAC1B,KAAK,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC;MAErD,OAAOI,IAAI,CAACkB,MAAM,EAAEF,GAAG,CAAC,SAA2C;QAAA,IAA1C;UAAEM,QAAQ;UAAEC,QAAQ;UAAE,GAAGC;QAAW,CAAC;QAC5D,OAAO;UACL,GAAGxB,IAAI,CAACwB,UAAU;UAClB,GAAGA,UAAU;UACb1B,QAAQ,EAAEH,KAAK,CAACG,QAAQ;UACxBqB,KAAK,EAAEG,QAAQ,CAAC1B,KAAK,CAAC;UACtB6B,QAAQ,EAAGC,CAAa,IAAK;YAC3B,MAAMC,MAAM,GAAGD,CAAC,CAACC,MAAiC;YAElD,IAAI,CAACA,MAAM,EAAE;YAEbb,IAAI,CAAC,cAAc,EAAEd,IAAI,CAAC4B,IAAI,CAACL,QAAQ,CAAC3B,KAAK,EAAE+B,MAAM,CAACR,KAAK,CAAC,CAAC,CAAC;UAChE;QACF,CAAC;MACH,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF/B,SAAS,CAAC;MAAA,SAEA;IAAqB,IAEzB8B,MAAM,CAACC,KAAK,EAAEH,GAAG,CAACrB,KAAK,oCACAA,KAAK,OAC7B,CAAC,EACAoB,YAAY,CAACI,KAAK,CAACU,MAAM,GAAG,CAAC;MAAA,QAEtB,SAAS;MAAA,QACT,SAAS;MAAA,WACN,OAAO;MAAA,WACL,MAAM;QACd,MAAMC,EAAE,GAAGf,YAAY,CAACI,KAAK,CAACY,SAAS,CAACpB,CAAC,IAAIA,CAAC,CAACjB,IAAI,KAAKC,KAAK,CAACK,IAAI,CAAC;QAEnEc,IAAI,CAAC,aAAa,EAAEC,YAAY,CAACI,KAAK,CAAC,CAACW,EAAE,GAAG,CAAC,IAAIf,YAAY,CAACI,KAAK,CAACU,MAAM,CAAC,CAACnC,IAAI,CAAC;MACpF;IAAC,QAEJ,EAEJ,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -22,52 +22,49 @@ export const VColorPickerPreview = defineComponent({
22
22
  let {
23
23
  emit
24
24
  } = _ref;
25
- useRender(() => {
26
- var _props$color, _props$color2;
27
- return _createVNode("div", {
28
- "class": ['v-color-picker-preview', {
29
- 'v-color-picker-preview--hide-alpha': props.hideAlpha
30
- }]
31
- }, [_createVNode("div", {
32
- "class": "v-color-picker-preview__dot"
33
- }, [_createVNode("div", {
34
- "style": {
35
- background: HSVtoCSS(props.color ?? nullColor)
36
- }
37
- }, null)]), _createVNode("div", {
38
- "class": "v-color-picker-preview__sliders"
39
- }, [_createVNode(VSlider, {
40
- "class": "v-color-picker-preview__track v-color-picker-preview__hue",
41
- "modelValue": (_props$color = props.color) == null ? void 0 : _props$color.h,
42
- "onUpdate:modelValue": h => emit('update:color', {
43
- ...(props.color ?? nullColor),
44
- h
45
- }),
46
- "step": 0,
47
- "min": 0,
48
- "max": 360,
49
- "disabled": props.disabled,
50
- "thumbSize": 14,
51
- "trackSize": 8,
52
- "trackFillColor": "white",
53
- "hideDetails": true
54
- }, null), !props.hideAlpha && _createVNode(VSlider, {
55
- "class": "v-color-picker-preview__track v-color-picker-preview__alpha",
56
- "modelValue": (_props$color2 = props.color) == null ? void 0 : _props$color2.a,
57
- "onUpdate:modelValue": a => emit('update:color', {
58
- ...(props.color ?? nullColor),
59
- a
60
- }),
61
- "step": 0,
62
- "min": 0,
63
- "max": 1,
64
- "disabled": props.disabled,
65
- "thumbSize": 14,
66
- "trackSize": 8,
67
- "trackFillColor": "white",
68
- "hideDetails": true
69
- }, null)])]);
70
- });
25
+ useRender(() => _createVNode("div", {
26
+ "class": ['v-color-picker-preview', {
27
+ 'v-color-picker-preview--hide-alpha': props.hideAlpha
28
+ }]
29
+ }, [_createVNode("div", {
30
+ "class": "v-color-picker-preview__dot"
31
+ }, [_createVNode("div", {
32
+ "style": {
33
+ background: HSVtoCSS(props.color ?? nullColor)
34
+ }
35
+ }, null)]), _createVNode("div", {
36
+ "class": "v-color-picker-preview__sliders"
37
+ }, [_createVNode(VSlider, {
38
+ "class": "v-color-picker-preview__track v-color-picker-preview__hue",
39
+ "modelValue": props.color?.h,
40
+ "onUpdate:modelValue": h => emit('update:color', {
41
+ ...(props.color ?? nullColor),
42
+ h
43
+ }),
44
+ "step": 0,
45
+ "min": 0,
46
+ "max": 360,
47
+ "disabled": props.disabled,
48
+ "thumbSize": 14,
49
+ "trackSize": 8,
50
+ "trackFillColor": "white",
51
+ "hideDetails": true
52
+ }, null), !props.hideAlpha && _createVNode(VSlider, {
53
+ "class": "v-color-picker-preview__track v-color-picker-preview__alpha",
54
+ "modelValue": props.color?.a,
55
+ "onUpdate:modelValue": a => emit('update:color', {
56
+ ...(props.color ?? nullColor),
57
+ a
58
+ }),
59
+ "step": 0,
60
+ "min": 0,
61
+ "max": 1,
62
+ "disabled": props.disabled,
63
+ "thumbSize": 14,
64
+ "trackSize": 8,
65
+ "trackFillColor": "white",
66
+ "hideDetails": true
67
+ }, null)])]));
71
68
  return {};
72
69
  }
73
70
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VColorPickerPreview.mjs","names":["VSlider","defineComponent","HSVtoCSS","useRender","nullColor","VColorPickerPreview","name","props","color","type","Object","disabled","Boolean","hideAlpha","emits","setup","emit","background","h","a"],"sources":["../../../src/components/VColorPicker/VColorPickerPreview.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport { VSlider } from '@/components/VSlider'\n\n// Utilities\nimport { defineComponent, HSVtoCSS, useRender } from '@/util'\nimport { nullColor } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util'\n\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n\n props: {\n color: {\n type: Object as PropType<HSV | null>,\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n },\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 ]}\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 }\n onUpdate:modelValue={ a => emit('update:color', { ...(props.color ?? nullColor), a }) }\n step={ 0 }\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,eAAe,EAAEC,QAAQ,EAAEC,SAAS;AAAA,SACpCC,SAAS,4BAElB;AAIA,OAAO,MAAMC,mBAAmB,GAAGJ,eAAe,CAAC;EACjDK,IAAI,EAAE,qBAAqB;EAE3BC,KAAK,EAAE;IACLC,KAAK,EAAE;MACLC,IAAI,EAAEC;IACR,CAAC;IACDC,QAAQ,EAAEC,OAAO;IACjBC,SAAS,EAAED;EACb,CAAC;EAEDE,KAAK,EAAE;IACL,cAAc,EAAGN,KAAU,IAAK;EAClC,CAAC;EAEDO,KAAK,CAAER,KAAK,QAAY;IAAA,IAAV;MAAES;IAAK,CAAC;IACpBb,SAAS,CAAC;MAAA;MAAA;QAAA,SAEC,CACL,wBAAwB,EACxB;UACE,oCAAoC,EAAEI,KAAK,CAACM;QAC9C,CAAC;MACF;QAAA,SAEU;MAA6B;QAAA,SAC1B;UAAEI,UAAU,EAAEf,QAAQ,CAACK,KAAK,CAACC,KAAK,IAAIJ,SAAS;QAAE;MAAC;QAAA,SAGrD;MAAiC;QAAA,SAElC,2DAA2D;QAAA,8BACpDG,KAAK,CAACC,KAAK,qBAAX,aAAaU,CAAC;QAAA,uBACLA,CAAC,IAAIF,IAAI,CAAC,cAAc,EAAE;UAAE,IAAIT,KAAK,CAACC,KAAK,IAAIJ,SAAS,CAAC;UAAEc;QAAE,CAAC,CAAC;QAAA,QAC9E,CAAC;QAAA,OACF,CAAC;QAAA,OACD,GAAG;QAAA,YACEX,KAAK,CAACI,QAAQ;QAAA,aACb,EAAE;QAAA,aACF,CAAC;QAAA,kBACE,OAAO;QAAA;MAAA,UAItB,CAACJ,KAAK,CAACM,SAAS;QAAA,SAER,6DAA6D;QAAA,+BACtDN,KAAK,CAACC,KAAK,qBAAX,cAAaW,CAAC;QAAA,uBACLA,CAAC,IAAIH,IAAI,CAAC,cAAc,EAAE;UAAE,IAAIT,KAAK,CAACC,KAAK,IAAIJ,SAAS,CAAC;UAAEe;QAAE,CAAC,CAAC;QAAA,QAC9E,CAAC;QAAA,OACF,CAAC;QAAA,OACD,CAAC;QAAA,YACIZ,KAAK,CAACI,QAAQ;QAAA,aACb,EAAE;QAAA,aACF,CAAC;QAAA,kBACE,OAAO;QAAA;MAAA,QAGzB;IAAA,CAGN,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VColorPickerPreview.mjs","names":["VSlider","defineComponent","HSVtoCSS","useRender","nullColor","VColorPickerPreview","name","props","color","type","Object","disabled","Boolean","hideAlpha","emits","setup","emit","background","h","a"],"sources":["../../../src/components/VColorPicker/VColorPickerPreview.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport { VSlider } from '@/components/VSlider'\n\n// Utilities\nimport { defineComponent, HSVtoCSS, useRender } from '@/util'\nimport { nullColor } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util'\n\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n\n props: {\n color: {\n type: Object as PropType<HSV | null>,\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n },\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 ]}\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 }\n onUpdate:modelValue={ a => emit('update:color', { ...(props.color ?? nullColor), a }) }\n step={ 0 }\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,eAAe,EAAEC,QAAQ,EAAEC,SAAS;AAAA,SACpCC,SAAS,4BAElB;AAIA,OAAO,MAAMC,mBAAmB,GAAGJ,eAAe,CAAC;EACjDK,IAAI,EAAE,qBAAqB;EAE3BC,KAAK,EAAE;IACLC,KAAK,EAAE;MACLC,IAAI,EAAEC;IACR,CAAC;IACDC,QAAQ,EAAEC,OAAO;IACjBC,SAAS,EAAED;EACb,CAAC;EAEDE,KAAK,EAAE;IACL,cAAc,EAAGN,KAAU,IAAK;EAClC,CAAC;EAEDO,KAAK,CAAER,KAAK,QAAY;IAAA,IAAV;MAAES;IAAK,CAAC;IACpBb,SAAS,CAAC;MAAA,SAEC,CACL,wBAAwB,EACxB;QACE,oCAAoC,EAAEI,KAAK,CAACM;MAC9C,CAAC;IACF;MAAA,SAEU;IAA6B;MAAA,SAC1B;QAAEI,UAAU,EAAEf,QAAQ,CAACK,KAAK,CAACC,KAAK,IAAIJ,SAAS;MAAE;IAAC;MAAA,SAGrD;IAAiC;MAAA,SAElC,2DAA2D;MAAA,cACpDG,KAAK,CAACC,KAAK,EAAEU,CAAC;MAAA,uBACLA,CAAC,IAAIF,IAAI,CAAC,cAAc,EAAE;QAAE,IAAIT,KAAK,CAACC,KAAK,IAAIJ,SAAS,CAAC;QAAEc;MAAE,CAAC,CAAC;MAAA,QAC9E,CAAC;MAAA,OACF,CAAC;MAAA,OACD,GAAG;MAAA,YACEX,KAAK,CAACI,QAAQ;MAAA,aACb,EAAE;MAAA,aACF,CAAC;MAAA,kBACE,OAAO;MAAA;IAAA,UAItB,CAACJ,KAAK,CAACM,SAAS;MAAA,SAER,6DAA6D;MAAA,cACtDN,KAAK,CAACC,KAAK,EAAEW,CAAC;MAAA,uBACLA,CAAC,IAAIH,IAAI,CAAC,cAAc,EAAE;QAAE,IAAIT,KAAK,CAACC,KAAK,IAAIJ,SAAS,CAAC;QAAEe;MAAE,CAAC,CAAC;MAAA,QAC9E,CAAC;MAAA,OACF,CAAC;MAAA,OACD,CAAC;MAAA,YACIZ,KAAK,CAACI,QAAQ;MAAA,aACb,EAAE;MAAA,aACF,CAAC;MAAA,kBACE,OAAO;MAAA;IAAA,QAGzB,IAGN,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -111,6 +111,6 @@ declare const VColorPicker: vue.DefineComponent<{
111
111
  showSwatches: boolean;
112
112
  swatchesMaxHeight: string | number;
113
113
  }>;
114
- declare type VColorPicker = InstanceType<typeof VColorPicker>;
114
+ type VColorPicker = InstanceType<typeof VColorPicker>;
115
115
 
116
116
  export { VColorPicker };
@@ -1,4 +1,3 @@
1
- var _rgba$inputs;
2
1
  // Utilities
3
2
  import { HexToHSV, HSLtoHSV, HSVtoHex, HSVtoHSL, HSVtoRGB, parseHex, RGBtoHSV } from "../../../util/colorUtils.mjs"; // Types
4
3
  function has(obj, key) {
@@ -115,7 +114,7 @@ const rgba = {
115
114
  };
116
115
  const rgb = {
117
116
  ...rgba,
118
- inputs: (_rgba$inputs = rgba.inputs) == null ? void 0 : _rgba$inputs.slice(0, 3)
117
+ inputs: rgba.inputs?.slice(0, 3)
119
118
  };
120
119
  const hsla = {
121
120
  inputProps: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["HexToHSV","HSLtoHSV","HSVtoHex","HSVtoHSL","HSVtoRGB","parseHex","RGBtoHSV","has","obj","key","every","k","hasOwnProperty","parseColor","color","hsva","hex","a","stripAlpha","rest","extractColor","input","slice","converted","hasAlpha","length","nullColor","h","s","v","rgba","inputProps","type","min","inputs","label","max","step","getValue","c","Math","round","r","getColor","Number","g","b","to","from","rgb","hsla","l","hsl","hexa","modes"],"sources":["../../../../src/components/VColorPicker/util/index.ts"],"sourcesContent":["// Utilities\nimport {\n HexToHSV,\n HSLtoHSV,\n HSVtoHex,\n HSVtoHSL,\n HSVtoRGB,\n parseHex,\n RGBtoHSV,\n} from '@/util/colorUtils'\n\n// Types\nimport type { HSL, HSV, RGB } from '@/util/colorUtils'\n\nfunction has (obj: object, key: string[]) {\n return key.every(k => obj.hasOwnProperty(k))\n}\n\nexport function parseColor (color: any): HSV | null {\n if (!color) return null\n\n let hsva: HSV | null = null\n\n if (typeof color === 'string') {\n const hex = parseHex(color)\n\n hsva = HexToHSV(hex)\n }\n\n if (typeof color === 'object') {\n if (has(color, ['r', 'g', 'b'])) {\n hsva = RGBtoHSV(color)\n } else if (has(color, ['h', 's', 'l'])) {\n hsva = HSLtoHSV(color)\n } else if (has(color, ['h', 's', 'v'])) {\n hsva = color\n }\n }\n\n return hsva != null ? { ...hsva, a: hsva.a ?? 1 } : null\n}\n\nfunction stripAlpha (color: any, stripAlpha: boolean) {\n if (stripAlpha) {\n const { a, ...rest } = color\n\n return rest\n }\n\n return color\n}\n\nexport function extractColor (color: HSV, input: any) {\n if (input == null || typeof input === 'string') {\n const hex = HSVtoHex(color)\n\n if (color.a === 1) return hex.slice(0, 7)\n else return hex\n }\n\n if (typeof input === 'object') {\n let converted\n\n if (has(input, ['r', 'g', 'b'])) converted = HSVtoRGB(color)\n else if (has(input, ['h', 's', 'l'])) converted = HSVtoHSL(color)\n else if (has(input, ['h', 's', 'v'])) converted = color\n\n return stripAlpha(converted, !has(input, ['a']))\n }\n\n return color\n}\n\nexport function hasAlpha (color: any) {\n if (!color) return false\n\n if (typeof color === 'string') {\n return color.length > 7\n }\n\n if (typeof color === 'object') {\n return has(color, ['a']) || has(color, ['alpha'])\n }\n\n return false\n}\n\nexport const nullColor = { h: 0, s: 0, v: 1, a: 1 }\n\nexport type ColorPickerMode = {\n inputProps: Record<string, unknown>\n inputs: {\n [key: string]: any\n getValue: (color: any) => number | string\n getColor: (color: any, v: string) => any\n }[]\n from: (color: any) => HSV\n to: (color: HSV) => any\n}\n\nconst rgba: ColorPickerMode = {\n inputProps: {\n type: 'number',\n min: 0,\n },\n inputs: [\n {\n label: 'R',\n max: 255,\n step: 1,\n getValue: (c: RGB) => Math.round(c.r),\n getColor: (c: RGB, v: string): RGB => ({ ...c, r: Number(v) }),\n },\n {\n label: 'G',\n max: 255,\n step: 1,\n getValue: (c: RGB) => Math.round(c.g),\n getColor: (c: RGB, v: string): RGB => ({ ...c, g: Number(v) }),\n },\n {\n label: 'B',\n max: 255,\n step: 1,\n getValue: (c: RGB) => Math.round(c.b),\n getColor: (c: RGB, v: string): RGB => ({ ...c, b: Number(v) }),\n },\n {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: ({ a }: RGB) => a ? Math.round(a * 100) / 100 : 1,\n getColor: (c: RGB, v: string): RGB => ({ ...c, a: Number(v) }),\n },\n ],\n to: HSVtoRGB,\n from: RGBtoHSV,\n}\n\nconst rgb = {\n ...rgba,\n inputs: rgba.inputs?.slice(0, 3),\n}\n\nconst hsla: ColorPickerMode = {\n inputProps: {\n type: 'number',\n min: 0,\n },\n inputs: [\n {\n label: 'H',\n max: 360,\n step: 1,\n getValue: (c: HSL) => Math.round(c.h),\n getColor: (c: HSL, v: string): HSL => ({ ...c, h: Number(v) }),\n },\n {\n label: 'S',\n max: 1,\n step: 0.01,\n getValue: (c: HSL) => Math.round(c.s * 100) / 100,\n getColor: (c: HSL, v: string): HSL => ({ ...c, s: Number(v) }),\n },\n {\n label: 'L',\n max: 1,\n step: 0.01,\n getValue: (c: HSL) => Math.round(c.l * 100) / 100,\n getColor: (c: HSL, v: string): HSL => ({ ...c, l: Number(v) }),\n },\n {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: ({ a }: HSL) => a ? Math.round(a * 100) / 100 : 1,\n getColor: (c: HSL, v: string): HSL => ({ ...c, a: Number(v) }),\n },\n ],\n to: HSVtoHSL,\n from: HSLtoHSV,\n}\n\nconst hsl = {\n ...hsla,\n inputs: hsla.inputs.slice(0, 3),\n}\n\nconst hexa: ColorPickerMode = {\n inputProps: {\n type: 'text',\n },\n inputs: [\n {\n label: 'HEXA',\n getValue: (c: string) => c,\n getColor: (c: string, v: string) => v,\n },\n ],\n to: HSVtoHex,\n from: HexToHSV,\n}\n\nconst hex = {\n ...hexa,\n inputs: [\n {\n label: 'HEX',\n getValue: (c: string) => c.slice(0, 7),\n getColor: (c: string, v: string) => v,\n },\n ],\n}\n\nexport const modes: Record<string, ColorPickerMode> = {\n rgb,\n rgba,\n hsl,\n hsla,\n hex,\n hexa,\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["HexToHSV","HSLtoHSV","HSVtoHex","HSVtoHSL","HSVtoRGB","parseHex","RGBtoHSV","has","obj","key","every","k","hasOwnProperty","parseColor","color","hsva","hex","a","stripAlpha","rest","extractColor","input","slice","converted","hasAlpha","length","nullColor","h","s","v","rgba","inputProps","type","min","inputs","label","max","step","getValue","c","Math","round","r","getColor","Number","g","b","to","from","rgb","hsla","l","hsl","hexa","modes"],"sources":["../../../../src/components/VColorPicker/util/index.ts"],"sourcesContent":["// Utilities\nimport {\n HexToHSV,\n HSLtoHSV,\n HSVtoHex,\n HSVtoHSL,\n HSVtoRGB,\n parseHex,\n RGBtoHSV,\n} from '@/util/colorUtils'\n\n// Types\nimport type { HSL, HSV, RGB } from '@/util/colorUtils'\n\nfunction has (obj: object, key: string[]) {\n return key.every(k => obj.hasOwnProperty(k))\n}\n\nexport function parseColor (color: any): HSV | null {\n if (!color) return null\n\n let hsva: HSV | null = null\n\n if (typeof color === 'string') {\n const hex = parseHex(color)\n\n hsva = HexToHSV(hex)\n }\n\n if (typeof color === 'object') {\n if (has(color, ['r', 'g', 'b'])) {\n hsva = RGBtoHSV(color)\n } else if (has(color, ['h', 's', 'l'])) {\n hsva = HSLtoHSV(color)\n } else if (has(color, ['h', 's', 'v'])) {\n hsva = color\n }\n }\n\n return hsva != null ? { ...hsva, a: hsva.a ?? 1 } : null\n}\n\nfunction stripAlpha (color: any, stripAlpha: boolean) {\n if (stripAlpha) {\n const { a, ...rest } = color\n\n return rest\n }\n\n return color\n}\n\nexport function extractColor (color: HSV, input: any) {\n if (input == null || typeof input === 'string') {\n const hex = HSVtoHex(color)\n\n if (color.a === 1) return hex.slice(0, 7)\n else return hex\n }\n\n if (typeof input === 'object') {\n let converted\n\n if (has(input, ['r', 'g', 'b'])) converted = HSVtoRGB(color)\n else if (has(input, ['h', 's', 'l'])) converted = HSVtoHSL(color)\n else if (has(input, ['h', 's', 'v'])) converted = color\n\n return stripAlpha(converted, !has(input, ['a']))\n }\n\n return color\n}\n\nexport function hasAlpha (color: any) {\n if (!color) return false\n\n if (typeof color === 'string') {\n return color.length > 7\n }\n\n if (typeof color === 'object') {\n return has(color, ['a']) || has(color, ['alpha'])\n }\n\n return false\n}\n\nexport const nullColor = { h: 0, s: 0, v: 1, a: 1 }\n\nexport type ColorPickerMode = {\n inputProps: Record<string, unknown>\n inputs: {\n [key: string]: any\n getValue: (color: any) => number | string\n getColor: (color: any, v: string) => any\n }[]\n from: (color: any) => HSV\n to: (color: HSV) => any\n}\n\nconst rgba: ColorPickerMode = {\n inputProps: {\n type: 'number',\n min: 0,\n },\n inputs: [\n {\n label: 'R',\n max: 255,\n step: 1,\n getValue: (c: RGB) => Math.round(c.r),\n getColor: (c: RGB, v: string): RGB => ({ ...c, r: Number(v) }),\n },\n {\n label: 'G',\n max: 255,\n step: 1,\n getValue: (c: RGB) => Math.round(c.g),\n getColor: (c: RGB, v: string): RGB => ({ ...c, g: Number(v) }),\n },\n {\n label: 'B',\n max: 255,\n step: 1,\n getValue: (c: RGB) => Math.round(c.b),\n getColor: (c: RGB, v: string): RGB => ({ ...c, b: Number(v) }),\n },\n {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: ({ a }: RGB) => a ? Math.round(a * 100) / 100 : 1,\n getColor: (c: RGB, v: string): RGB => ({ ...c, a: Number(v) }),\n },\n ],\n to: HSVtoRGB,\n from: RGBtoHSV,\n}\n\nconst rgb = {\n ...rgba,\n inputs: rgba.inputs?.slice(0, 3),\n}\n\nconst hsla: ColorPickerMode = {\n inputProps: {\n type: 'number',\n min: 0,\n },\n inputs: [\n {\n label: 'H',\n max: 360,\n step: 1,\n getValue: (c: HSL) => Math.round(c.h),\n getColor: (c: HSL, v: string): HSL => ({ ...c, h: Number(v) }),\n },\n {\n label: 'S',\n max: 1,\n step: 0.01,\n getValue: (c: HSL) => Math.round(c.s * 100) / 100,\n getColor: (c: HSL, v: string): HSL => ({ ...c, s: Number(v) }),\n },\n {\n label: 'L',\n max: 1,\n step: 0.01,\n getValue: (c: HSL) => Math.round(c.l * 100) / 100,\n getColor: (c: HSL, v: string): HSL => ({ ...c, l: Number(v) }),\n },\n {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: ({ a }: HSL) => a ? Math.round(a * 100) / 100 : 1,\n getColor: (c: HSL, v: string): HSL => ({ ...c, a: Number(v) }),\n },\n ],\n to: HSVtoHSL,\n from: HSLtoHSV,\n}\n\nconst hsl = {\n ...hsla,\n inputs: hsla.inputs.slice(0, 3),\n}\n\nconst hexa: ColorPickerMode = {\n inputProps: {\n type: 'text',\n },\n inputs: [\n {\n label: 'HEXA',\n getValue: (c: string) => c,\n getColor: (c: string, v: string) => v,\n },\n ],\n to: HSVtoHex,\n from: HexToHSV,\n}\n\nconst hex = {\n ...hexa,\n inputs: [\n {\n label: 'HEX',\n getValue: (c: string) => c.slice(0, 7),\n getColor: (c: string, v: string) => v,\n },\n ],\n}\n\nexport const modes: Record<string, ColorPickerMode> = {\n rgb,\n rgba,\n hsl,\n hsla,\n hex,\n hexa,\n}\n"],"mappings":"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"}