@vuetify/nightly 3.0.0-beta.0 → 3.0.0-beta.4

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 (715) hide show
  1. package/CHANGELOG.md +32 -2
  2. package/dist/_component-variables.sass +61 -0
  3. package/dist/json/attributes.json +662 -430
  4. package/dist/json/importMap.json +222 -198
  5. package/dist/json/tags.json +184 -96
  6. package/dist/json/web-types.json +2021 -1152
  7. package/dist/vuetify.css +1869 -1468
  8. package/dist/vuetify.d.ts +12840 -9217
  9. package/dist/vuetify.esm.js +6121 -5104
  10. package/dist/vuetify.esm.js.map +1 -1
  11. package/dist/vuetify.js +6120 -5103
  12. package/dist/vuetify.js.map +1 -1
  13. package/dist/vuetify.min.css +3 -3
  14. package/dist/vuetify.min.js +1085 -964
  15. package/dist/vuetify.min.js.map +1 -1
  16. package/lib/components/VAlert/VAlert.css +34 -13
  17. package/lib/components/VAlert/VAlert.mjs +43 -24
  18. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  19. package/lib/components/VAlert/VAlert.sass +26 -8
  20. package/lib/components/VAlert/VAlertTitle.mjs +1 -0
  21. package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
  22. package/lib/components/VAlert/_variables.scss +14 -7
  23. package/lib/components/VAlert/index.mjs.map +1 -1
  24. package/lib/components/VApp/VApp.css +1 -0
  25. package/lib/components/VApp/VApp.mjs.map +1 -1
  26. package/lib/components/VApp/VApp.sass +1 -0
  27. package/lib/components/VApp/index.mjs.map +1 -1
  28. package/lib/components/VAppBar/VAppBar.mjs +11 -7
  29. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  30. package/lib/components/VAppBar/VAppBar.sass +0 -1
  31. package/lib/components/VAppBar/VAppBarNavIcon.mjs +4 -2
  32. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  33. package/lib/components/VAppBar/VAppBarTitle.mjs +3 -1
  34. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  35. package/lib/components/VAppBar/index.mjs.map +1 -1
  36. package/lib/components/VAutocomplete/VAutocomplete.mjs +133 -101
  37. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  38. package/lib/components/VAutocomplete/VAutocomplete.sass +0 -2
  39. package/lib/components/VAutocomplete/index.mjs.map +1 -1
  40. package/lib/components/VAvatar/VAvatar.css +1 -1
  41. package/lib/components/VAvatar/VAvatar.mjs +17 -15
  42. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  43. package/lib/components/VAvatar/VAvatar.sass +1 -2
  44. package/lib/components/VAvatar/_mixins.scss +0 -1
  45. package/lib/components/VAvatar/index.mjs.map +1 -1
  46. package/lib/components/VBadge/VBadge.css +3 -6
  47. package/lib/components/VBadge/VBadge.mjs +16 -44
  48. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  49. package/lib/components/VBadge/VBadge.sass +2 -5
  50. package/lib/components/VBadge/_variables.scss +1 -2
  51. package/lib/components/VBadge/index.mjs.map +1 -1
  52. package/lib/components/VBanner/VBanner.css +82 -58
  53. package/lib/components/VBanner/VBanner.mjs +49 -48
  54. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  55. package/lib/components/VBanner/VBanner.sass +61 -55
  56. package/lib/components/VBanner/VBannerActions.mjs +34 -2
  57. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  58. package/lib/components/VBanner/VBannerAvatar.mjs +20 -0
  59. package/lib/components/VBanner/VBannerAvatar.mjs.map +1 -0
  60. package/lib/components/VBanner/VBannerIcon.mjs +20 -0
  61. package/lib/components/VBanner/VBannerIcon.mjs.map +1 -0
  62. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  63. package/lib/components/VBanner/_variables.scss +10 -14
  64. package/lib/components/VBanner/index.mjs +2 -0
  65. package/lib/components/VBanner/index.mjs.map +1 -1
  66. package/lib/components/VBottomNavigation/VBottomNavigation.css +1 -1
  67. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +1 -1
  68. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  69. package/lib/components/VBottomNavigation/VBottomNavigation.sass +1 -2
  70. package/lib/components/VBottomNavigation/index.mjs.map +1 -1
  71. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  72. package/lib/components/VBottomSheet/index.mjs.map +1 -1
  73. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +5 -2
  74. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  75. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +0 -1
  76. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  77. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +10 -9
  78. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  79. package/lib/components/VBreadcrumbs/index.mjs.map +1 -1
  80. package/lib/components/VBreadcrumbs/shared.mjs.map +1 -1
  81. package/lib/components/VBtn/VBtn.css +56 -11
  82. package/lib/components/VBtn/VBtn.mjs +51 -20
  83. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  84. package/lib/components/VBtn/VBtn.sass +35 -4
  85. package/lib/components/VBtn/_variables.scss +2 -0
  86. package/lib/components/VBtn/index.mjs.map +1 -1
  87. package/lib/components/VBtnGroup/VBtnGroup.css +14 -6
  88. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  89. package/lib/components/VBtnGroup/VBtnGroup.sass +14 -7
  90. package/lib/components/VBtnGroup/index.mjs.map +1 -1
  91. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  92. package/lib/components/VBtnToggle/VBtnToggle.sass +0 -1
  93. package/lib/components/VBtnToggle/index.mjs.map +1 -1
  94. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  95. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  96. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  97. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  98. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  99. package/lib/components/VCalendar/index.mjs.map +1 -1
  100. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  101. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  102. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  103. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  104. package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
  105. package/lib/components/VCalendar/modes/column.mjs.map +1 -1
  106. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  107. package/lib/components/VCalendar/modes/index.mjs.map +1 -1
  108. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  109. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  110. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  111. package/lib/components/VCalendar/util/props.mjs.map +1 -1
  112. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  113. package/lib/components/VCard/VCard.css +23 -20
  114. package/lib/components/VCard/VCard.mjs +17 -9
  115. package/lib/components/VCard/VCard.mjs.map +1 -1
  116. package/lib/components/VCard/VCard.sass +12 -10
  117. package/lib/components/VCard/VCardActions.mjs +1 -2
  118. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  119. package/lib/components/VCard/VCardAvatar.mjs.map +1 -1
  120. package/lib/components/VCard/VCardContent.mjs +3 -0
  121. package/lib/components/VCard/VCardContent.mjs.map +1 -0
  122. package/lib/components/VCard/VCardHeader.mjs.map +1 -1
  123. package/lib/components/VCard/VCardHeaderText.mjs.map +1 -1
  124. package/lib/components/VCard/VCardImg.mjs.map +1 -1
  125. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  126. package/lib/components/VCard/VCardText.mjs.map +1 -1
  127. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  128. package/lib/components/VCard/_variables.scss +11 -5
  129. package/lib/components/VCard/index.mjs +1 -0
  130. package/lib/components/VCard/index.mjs.map +1 -1
  131. package/lib/components/VCarousel/VCarousel.mjs +4 -3
  132. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  133. package/lib/components/VCarousel/VCarousel.sass +0 -1
  134. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  135. package/lib/components/VCarousel/index.mjs.map +1 -1
  136. package/lib/components/VCheckbox/VCheckbox.mjs +15 -47
  137. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  138. package/lib/components/VCheckbox/VCheckbox.sass +0 -1
  139. package/lib/components/VCheckbox/VCheckboxBtn.mjs +67 -0
  140. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -0
  141. package/lib/components/VCheckbox/index.mjs +1 -0
  142. package/lib/components/VCheckbox/index.mjs.map +1 -1
  143. package/lib/components/VChip/VChip.css +8 -5
  144. package/lib/components/VChip/VChip.mjs +6 -5
  145. package/lib/components/VChip/VChip.mjs.map +1 -1
  146. package/lib/components/VChip/VChip.sass +3 -1
  147. package/lib/components/VChip/_variables.scss +3 -0
  148. package/lib/components/VChip/index.mjs.map +1 -1
  149. package/lib/components/VChipGroup/VChipGroup.mjs +1 -1
  150. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  151. package/lib/components/VChipGroup/index.mjs.map +1 -1
  152. package/lib/components/VCode/VCode.sass +1 -2
  153. package/lib/components/VCode/_variables.scss +1 -1
  154. package/lib/components/VCode/index.mjs.map +1 -1
  155. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  156. package/lib/components/VColorPicker/VColorPicker.sass +0 -1
  157. package/lib/components/VColorPicker/VColorPickerCanvas.css +1 -1
  158. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  159. package/lib/components/VColorPicker/VColorPickerCanvas.sass +0 -1
  160. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  161. package/lib/components/VColorPicker/VColorPickerEdit.sass +0 -1
  162. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  163. package/lib/components/VColorPicker/VColorPickerPreview.sass +0 -1
  164. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  165. package/lib/components/VColorPicker/VColorPickerSwatches.sass +0 -1
  166. package/lib/components/VColorPicker/index.mjs.map +1 -1
  167. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  168. package/lib/components/VCombobox/VCombobox.mjs +140 -110
  169. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  170. package/lib/components/VCombobox/VCombobox.sass +0 -2
  171. package/lib/components/VCombobox/index.mjs.map +1 -1
  172. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  173. package/lib/components/VCounter/VCounter.sass +0 -1
  174. package/lib/components/VCounter/index.mjs.map +1 -1
  175. package/lib/components/VData/VData.mjs.map +1 -1
  176. package/lib/components/VData/index.mjs.map +1 -1
  177. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  178. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  179. package/lib/components/VDataIterator/index.mjs.map +1 -1
  180. package/lib/components/VDataTable/MobileRow.mjs.map +1 -1
  181. package/lib/components/VDataTable/Row.mjs.map +1 -1
  182. package/lib/components/VDataTable/RowGroup.mjs.map +1 -1
  183. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  184. package/lib/components/VDataTable/VDataTableHeader.mjs.map +1 -1
  185. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs.map +1 -1
  186. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs.map +1 -1
  187. package/lib/components/VDataTable/VEditDialog.mjs.map +1 -1
  188. package/lib/components/VDataTable/VVirtualTable.mjs.map +1 -1
  189. package/lib/components/VDataTable/index.mjs.map +1 -1
  190. package/lib/components/VDataTable/mixins/header.mjs.map +1 -1
  191. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  192. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  193. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  194. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  195. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  196. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  197. package/lib/components/VDatePicker/index.mjs.map +1 -1
  198. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  199. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  200. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  201. package/lib/components/VDatePicker/util/index.mjs.map +1 -1
  202. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  203. package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
  204. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  205. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
  206. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  207. package/lib/components/VDefaultsProvider/index.mjs.map +1 -1
  208. package/lib/components/VDialog/VDialog.css +31 -12
  209. package/lib/components/VDialog/VDialog.mjs +14 -12
  210. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  211. package/lib/components/VDialog/VDialog.sass +27 -12
  212. package/lib/components/VDialog/_variables.scss +3 -7
  213. package/lib/components/VDialog/index.mjs.map +1 -1
  214. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  215. package/lib/components/VDivider/VDivider.sass +0 -1
  216. package/lib/components/VDivider/index.mjs.map +1 -1
  217. package/lib/components/VExpansionPanel/VExpansionPanel.css +8 -6
  218. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +6 -2
  219. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  220. package/lib/components/VExpansionPanel/VExpansionPanel.sass +0 -1
  221. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  222. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +9 -6
  223. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  224. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -0
  225. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  226. package/lib/components/VExpansionPanel/index.mjs.map +1 -1
  227. package/lib/components/VField/VField.css +10 -10
  228. package/lib/components/VField/VField.mjs +12 -11
  229. package/lib/components/VField/VField.mjs.map +1 -1
  230. package/lib/components/VField/VField.sass +7 -9
  231. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  232. package/lib/components/VField/_variables.scss +3 -3
  233. package/lib/components/VField/index.mjs.map +1 -1
  234. package/lib/components/VFileInput/VFileInput.mjs +5 -3
  235. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  236. package/lib/components/VFileInput/VFileInput.sass +0 -1
  237. package/lib/components/VFileInput/index.mjs.map +1 -1
  238. package/lib/components/VFooter/VFooter.mjs +32 -15
  239. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  240. package/lib/components/VFooter/VFooter.sass +0 -1
  241. package/lib/components/VFooter/index.mjs.map +1 -1
  242. package/lib/components/VForm/VForm.mjs +25 -11
  243. package/lib/components/VForm/VForm.mjs.map +1 -1
  244. package/lib/components/VForm/index.mjs.map +1 -1
  245. package/lib/components/VGrid/VCol.mjs.map +1 -1
  246. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  247. package/lib/components/VGrid/VRow.mjs.map +1 -1
  248. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  249. package/lib/components/VGrid/index.mjs.map +1 -1
  250. package/lib/components/VHover/VHover.mjs.map +1 -1
  251. package/lib/components/VHover/index.mjs.map +1 -1
  252. package/lib/components/VIcon/VIcon.css +27 -12
  253. package/lib/components/VIcon/VIcon.mjs +18 -17
  254. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  255. package/lib/components/VIcon/VIcon.sass +27 -17
  256. package/lib/components/VIcon/_variables.scss +1 -0
  257. package/lib/components/VIcon/index.mjs.map +1 -1
  258. package/lib/components/VImg/VImg.mjs.map +1 -1
  259. package/lib/components/VImg/VImg.sass +0 -1
  260. package/lib/components/VImg/index.mjs.map +1 -1
  261. package/lib/components/VInput/VInput.css +3 -1
  262. package/lib/components/VInput/VInput.mjs +10 -10
  263. package/lib/components/VInput/VInput.mjs.map +1 -1
  264. package/lib/components/VInput/VInput.sass +3 -2
  265. package/lib/components/VInput/_variables.scss +4 -0
  266. package/lib/components/VInput/index.mjs.map +1 -1
  267. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  268. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  269. package/lib/components/VItemGroup/VItemGroup.sass +0 -1
  270. package/lib/components/VItemGroup/index.mjs.map +1 -1
  271. package/lib/components/VKbd/VKbd.sass +0 -1
  272. package/lib/components/VKbd/_variables.scss +1 -1
  273. package/lib/components/VKbd/index.mjs.map +1 -1
  274. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  275. package/lib/components/VLabel/VLabel.sass +0 -1
  276. package/lib/components/VLabel/index.mjs.map +1 -1
  277. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  278. package/lib/components/VLayout/VLayoutItem.mjs +1 -1
  279. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  280. package/lib/components/VLayout/index.mjs.map +1 -1
  281. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  282. package/lib/components/VLazy/index.mjs.map +1 -1
  283. package/lib/components/VList/VList.css +7 -12
  284. package/lib/components/VList/VList.mjs +83 -48
  285. package/lib/components/VList/VList.mjs.map +1 -1
  286. package/lib/components/VList/VList.sass +3 -4
  287. package/lib/components/VList/VListChildren.mjs +41 -3
  288. package/lib/components/VList/VListChildren.mjs.map +1 -1
  289. package/lib/components/VList/VListGroup.mjs +43 -15
  290. package/lib/components/VList/VListGroup.mjs.map +1 -1
  291. package/lib/components/VList/VListImg.mjs.map +1 -1
  292. package/lib/components/VList/VListItem.css +129 -51
  293. package/lib/components/VList/VListItem.mjs +49 -44
  294. package/lib/components/VList/VListItem.mjs.map +1 -1
  295. package/lib/components/VList/VListItem.sass +77 -30
  296. package/lib/components/VList/VListItemAction.mjs +29 -0
  297. package/lib/components/VList/VListItemAction.mjs.map +1 -0
  298. package/lib/components/VList/VListItemAvatar.mjs +10 -16
  299. package/lib/components/VList/VListItemAvatar.mjs.map +1 -1
  300. package/lib/components/VList/VListItemHeader.mjs.map +1 -1
  301. package/lib/components/VList/VListItemIcon.mjs +23 -0
  302. package/lib/components/VList/VListItemIcon.mjs.map +1 -0
  303. package/lib/components/VList/VListItemMedia.mjs +4 -4
  304. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  305. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  306. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  307. package/lib/components/VList/VListSubheader.mjs +3 -3
  308. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  309. package/lib/components/VList/_variables.scss +12 -4
  310. package/lib/components/VList/index.mjs +2 -0
  311. package/lib/components/VList/index.mjs.map +1 -1
  312. package/lib/components/VList/list.mjs.map +1 -1
  313. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  314. package/lib/components/VLocaleProvider/index.mjs.map +1 -1
  315. package/lib/components/VMain/VMain.mjs.map +1 -1
  316. package/lib/components/VMain/VMain.sass +0 -1
  317. package/lib/components/VMain/index.mjs.map +1 -1
  318. package/lib/components/VMenu/VMenu.css +2 -12
  319. package/lib/components/VMenu/VMenu.mjs +65 -31
  320. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  321. package/lib/components/VMenu/VMenu.sass +3 -7
  322. package/lib/components/VMenu/_variables.scss +0 -1
  323. package/lib/components/VMenu/index.mjs.map +1 -1
  324. package/lib/components/VMenu/shared.mjs +2 -0
  325. package/lib/components/VMenu/shared.mjs.map +1 -0
  326. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  327. package/lib/components/VMessages/VMessages.sass +0 -1
  328. package/lib/components/VMessages/index.mjs.map +1 -1
  329. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +13 -9
  330. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  331. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +0 -1
  332. package/lib/components/VNavigationDrawer/index.mjs.map +1 -1
  333. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  334. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  335. package/lib/components/VNoSsr/index.mjs.map +1 -1
  336. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  337. package/lib/components/VOtpInput/index.mjs.map +1 -1
  338. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  339. package/lib/components/VOverflowBtn/index.mjs.map +1 -1
  340. package/lib/components/VOverlay/VOverlay.css +7 -0
  341. package/lib/components/VOverlay/VOverlay.mjs +57 -32
  342. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  343. package/lib/components/VOverlay/VOverlay.sass +8 -1
  344. package/lib/components/VOverlay/index.mjs.map +1 -1
  345. package/lib/components/VOverlay/{positionStrategies.mjs → locationStrategies.mjs} +39 -36
  346. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -0
  347. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  348. package/lib/components/VOverlay/scrollStrategies.mjs +11 -2
  349. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  350. package/lib/components/VOverlay/useActivator.mjs +57 -15
  351. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  352. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  353. package/lib/components/VPagination/VPagination.mjs +16 -17
  354. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  355. package/lib/components/VPagination/VPagination.sass +0 -1
  356. package/lib/components/VPagination/index.mjs.map +1 -1
  357. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  358. package/lib/components/VParallax/index.mjs.map +1 -1
  359. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  360. package/lib/components/VPicker/index.mjs.map +1 -1
  361. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  362. package/lib/components/VProgressCircular/VProgressCircular.sass +0 -1
  363. package/lib/components/VProgressCircular/index.mjs.map +1 -1
  364. package/lib/components/VProgressLinear/VProgressLinear.css +1 -1
  365. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  366. package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
  367. package/lib/components/VProgressLinear/index.mjs.map +1 -1
  368. package/lib/components/VRadio/VRadio.mjs +6 -5
  369. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  370. package/lib/components/VRadio/index.mjs.map +1 -1
  371. package/lib/components/VRadioGroup/VRadioGroup.mjs +11 -6
  372. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  373. package/lib/components/VRadioGroup/index.mjs.map +1 -1
  374. package/lib/components/VRangeSlider/VRangeSlider.mjs +5 -2
  375. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  376. package/lib/components/VRangeSlider/index.mjs.map +1 -1
  377. package/lib/components/VRating/VRating.css +2 -2
  378. package/lib/components/VRating/VRating.mjs +17 -6
  379. package/lib/components/VRating/VRating.mjs.map +1 -1
  380. package/lib/components/VRating/VRating.sass +2 -3
  381. package/lib/components/VRating/index.mjs.map +1 -1
  382. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  383. package/lib/components/VResponsive/index.mjs.map +1 -1
  384. package/lib/components/VSelect/VSelect.mjs +134 -107
  385. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  386. package/lib/components/VSelect/VSelect.sass +0 -2
  387. package/lib/components/VSelect/index.mjs.map +1 -1
  388. package/lib/components/VSelectionControl/VSelectionControl.css +1 -0
  389. package/lib/components/VSelectionControl/VSelectionControl.mjs +15 -12
  390. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  391. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
  392. package/lib/components/VSelectionControl/index.mjs.map +1 -1
  393. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +6 -5
  394. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  395. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +0 -1
  396. package/lib/components/VSelectionControlGroup/index.mjs.map +1 -1
  397. package/lib/components/VSheet/VSheet.mjs +7 -3
  398. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  399. package/lib/components/VSheet/VSheet.sass +0 -1
  400. package/lib/components/VSheet/index.mjs.map +1 -1
  401. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  402. package/lib/components/VSkeletonLoader/index.mjs.map +1 -1
  403. package/lib/components/VSlideGroup/VSlideGroup.css +0 -5
  404. package/lib/components/VSlideGroup/VSlideGroup.mjs +40 -17
  405. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  406. package/lib/components/VSlideGroup/VSlideGroup.sass +0 -5
  407. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +3 -1
  408. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  409. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  410. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  411. package/lib/components/VSlider/VSlider.css +7 -2
  412. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  413. package/lib/components/VSlider/VSlider.sass +11 -7
  414. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  415. package/lib/components/VSlider/VSliderThumb.sass +0 -2
  416. package/lib/components/VSlider/VSliderTrack.css +6 -6
  417. package/lib/components/VSlider/VSliderTrack.mjs +3 -2
  418. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  419. package/lib/components/VSlider/VSliderTrack.sass +7 -9
  420. package/lib/components/VSlider/_variables.scss +5 -2
  421. package/lib/components/VSlider/index.mjs.map +1 -1
  422. package/lib/components/VSlider/slider.mjs.map +1 -1
  423. package/lib/components/VSnackbar/VSnackbar.css +19 -36
  424. package/lib/components/VSnackbar/VSnackbar.mjs +38 -19
  425. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  426. package/lib/components/VSnackbar/VSnackbar.sass +15 -35
  427. package/lib/components/VSnackbar/_variables.scss +0 -4
  428. package/lib/components/VSnackbar/index.mjs.map +1 -1
  429. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  430. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  431. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  432. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  433. package/lib/components/VSparkline/index.mjs.map +1 -1
  434. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  435. package/lib/components/VSpeedDial/index.mjs.map +1 -1
  436. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  437. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  438. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  439. package/lib/components/VStepper/index.mjs.map +1 -1
  440. package/lib/components/VSwitch/VSwitch.mjs +15 -6
  441. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  442. package/lib/components/VSwitch/VSwitch.sass +0 -1
  443. package/lib/components/VSwitch/index.mjs.map +1 -1
  444. package/lib/components/VSystemBar/VSystemBar.css +0 -5
  445. package/lib/components/VSystemBar/VSystemBar.mjs +31 -14
  446. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  447. package/lib/components/VSystemBar/VSystemBar.sass +0 -6
  448. package/lib/components/VSystemBar/_variables.scss +0 -3
  449. package/lib/components/VSystemBar/index.mjs.map +1 -1
  450. package/lib/components/VTable/VTable.mjs.map +1 -1
  451. package/lib/components/VTable/VTable.sass +0 -1
  452. package/lib/components/VTable/index.mjs.map +1 -1
  453. package/lib/components/VTabs/VTab.css +1 -1
  454. package/lib/components/VTabs/VTab.mjs +33 -36
  455. package/lib/components/VTabs/VTab.mjs.map +1 -1
  456. package/lib/components/VTabs/VTab.sass +1 -2
  457. package/lib/components/VTabs/VTabs.css +14 -11
  458. package/lib/components/VTabs/VTabs.mjs +7 -8
  459. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  460. package/lib/components/VTabs/VTabs.sass +10 -7
  461. package/lib/components/VTabs/_variables.scss +1 -1
  462. package/lib/components/VTabs/index.mjs.map +1 -1
  463. package/lib/components/VTabs/shared.mjs +2 -0
  464. package/lib/components/VTabs/shared.mjs.map +1 -0
  465. package/lib/components/VTextField/VTextField.css +4 -4
  466. package/lib/components/VTextField/VTextField.mjs +9 -10
  467. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  468. package/lib/components/VTextField/VTextField.sass +5 -6
  469. package/lib/components/VTextField/index.mjs.map +1 -1
  470. package/lib/components/VTextarea/VTextarea.css +7 -4
  471. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  472. package/lib/components/VTextarea/VTextarea.sass +9 -7
  473. package/lib/components/VTextarea/index.mjs.map +1 -1
  474. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  475. package/lib/components/VThemeProvider/index.mjs.map +1 -1
  476. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  477. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  478. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  479. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  480. package/lib/components/VTimePicker/index.mjs.map +1 -1
  481. package/lib/components/VTimeline/VTimeline.css +187 -48
  482. package/lib/components/VTimeline/VTimeline.mjs +27 -11
  483. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  484. package/lib/components/VTimeline/VTimeline.sass +196 -52
  485. package/lib/components/VTimeline/VTimelineDivider.mjs +5 -3
  486. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  487. package/lib/components/VTimeline/VTimelineItem.mjs +3 -2
  488. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  489. package/lib/components/VTimeline/_variables.scss +2 -1
  490. package/lib/components/VTimeline/index.mjs.map +1 -1
  491. package/lib/components/VTimeline/shared.mjs.map +1 -1
  492. package/lib/components/VToolbar/VToolbar.css +8 -1
  493. package/lib/components/VToolbar/VToolbar.mjs +21 -17
  494. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  495. package/lib/components/VToolbar/VToolbar.sass +2 -2
  496. package/lib/components/VToolbar/VToolbarItems.mjs +1 -2
  497. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  498. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  499. package/lib/components/VToolbar/_variables.scss +13 -1
  500. package/lib/components/VToolbar/index.mjs.map +1 -1
  501. package/lib/components/VTooltip/VTooltip.mjs +12 -7
  502. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  503. package/lib/components/VTooltip/VTooltip.sass +0 -1
  504. package/lib/components/VTooltip/index.mjs.map +1 -1
  505. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  506. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  507. package/lib/components/VTreeview/index.mjs.map +1 -1
  508. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  509. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  510. package/lib/components/VValidation/index.mjs.map +1 -1
  511. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  512. package/lib/components/VVirtualScroll/index.mjs.map +1 -1
  513. package/lib/components/VWindow/VWindow.mjs +2 -10
  514. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  515. package/lib/components/VWindow/VWindow.sass +0 -2
  516. package/lib/components/VWindow/VWindowItem.mjs +9 -3
  517. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  518. package/lib/components/VWindow/index.mjs.map +1 -1
  519. package/lib/components/index.d.ts +13464 -9854
  520. package/lib/components/index.mjs.map +1 -1
  521. package/lib/components/transitions/createTransition.mjs.map +1 -1
  522. package/lib/components/transitions/dialog-transition.mjs +61 -8
  523. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  524. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  525. package/lib/components/transitions/index.mjs.map +1 -1
  526. package/lib/composables/border.mjs.map +1 -1
  527. package/lib/composables/color.mjs.map +1 -1
  528. package/lib/composables/defaults.mjs +2 -2
  529. package/lib/composables/defaults.mjs.map +1 -1
  530. package/lib/composables/delay.mjs.map +1 -1
  531. package/lib/composables/density.mjs.map +1 -1
  532. package/lib/composables/dimensions.mjs.map +1 -1
  533. package/lib/composables/display.mjs +13 -11
  534. package/lib/composables/display.mjs.map +1 -1
  535. package/lib/composables/elevation.mjs.map +1 -1
  536. package/lib/composables/filter.mjs +33 -13
  537. package/lib/composables/filter.mjs.map +1 -1
  538. package/lib/composables/focus.mjs.map +1 -1
  539. package/lib/composables/form.mjs +24 -11
  540. package/lib/composables/form.mjs.map +1 -1
  541. package/lib/composables/forwardRef.mjs +10 -6
  542. package/lib/composables/forwardRef.mjs.map +1 -1
  543. package/lib/composables/group.mjs +14 -6
  544. package/lib/composables/group.mjs.map +1 -1
  545. package/lib/composables/hydration.mjs.map +1 -1
  546. package/lib/composables/icons.mjs +15 -3
  547. package/lib/composables/icons.mjs.map +1 -1
  548. package/lib/composables/index.mjs.map +1 -1
  549. package/lib/composables/intersectionObserver.mjs.map +1 -1
  550. package/lib/composables/items.mjs +84 -0
  551. package/lib/composables/items.mjs.map +1 -0
  552. package/lib/composables/layout.mjs +10 -6
  553. package/lib/composables/layout.mjs.map +1 -1
  554. package/lib/composables/lazy.mjs.map +1 -1
  555. package/lib/composables/loader.mjs.map +1 -1
  556. package/lib/composables/locale.mjs +11 -8
  557. package/lib/composables/locale.mjs.map +1 -1
  558. package/lib/composables/location.mjs +70 -0
  559. package/lib/composables/location.mjs.map +1 -0
  560. package/lib/composables/mutationObserver.mjs.map +1 -1
  561. package/lib/composables/nested/nested.mjs +27 -14
  562. package/lib/composables/nested/nested.mjs.map +1 -1
  563. package/lib/composables/nested/openStrategies.mjs +63 -36
  564. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  565. package/lib/composables/nested/selectStrategies.mjs +163 -122
  566. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  567. package/lib/composables/position.mjs +4 -25
  568. package/lib/composables/position.mjs.map +1 -1
  569. package/lib/composables/proxiedModel.mjs.map +1 -1
  570. package/lib/composables/refs.mjs.map +1 -1
  571. package/lib/composables/resizeObserver.mjs +1 -9
  572. package/lib/composables/resizeObserver.mjs.map +1 -1
  573. package/lib/composables/rounded.mjs.map +1 -1
  574. package/lib/composables/router.mjs +29 -15
  575. package/lib/composables/router.mjs.map +1 -1
  576. package/lib/composables/rtl.mjs.map +1 -1
  577. package/lib/composables/scopeId.mjs +11 -0
  578. package/lib/composables/scopeId.mjs.map +1 -0
  579. package/lib/composables/scroll.mjs.map +1 -1
  580. package/lib/composables/selectLink.mjs +19 -0
  581. package/lib/composables/selectLink.mjs.map +1 -0
  582. package/lib/composables/size.mjs.map +1 -1
  583. package/lib/composables/ssrBoot.mjs +3 -2
  584. package/lib/composables/ssrBoot.mjs.map +1 -1
  585. package/lib/composables/stack.mjs +27 -23
  586. package/lib/composables/stack.mjs.map +1 -1
  587. package/lib/composables/tag.mjs.map +1 -1
  588. package/lib/composables/teleport.mjs.map +1 -1
  589. package/lib/composables/theme.mjs +94 -93
  590. package/lib/composables/theme.mjs.map +1 -1
  591. package/lib/composables/toggleScope.mjs +18 -0
  592. package/lib/composables/toggleScope.mjs.map +1 -0
  593. package/lib/composables/touch.mjs.map +1 -1
  594. package/lib/composables/transition.mjs.map +1 -1
  595. package/lib/composables/validation.mjs +17 -6
  596. package/lib/composables/validation.mjs.map +1 -1
  597. package/lib/composables/variant.mjs +3 -6
  598. package/lib/composables/variant.mjs.map +1 -1
  599. package/lib/directives/click-outside/index.mjs.map +1 -1
  600. package/lib/directives/color/index.mjs.map +1 -1
  601. package/lib/directives/index.mjs.map +1 -1
  602. package/lib/directives/intersect/index.mjs.map +1 -1
  603. package/lib/directives/mutate/index.mjs.map +1 -1
  604. package/lib/directives/resize/index.mjs.map +1 -1
  605. package/lib/directives/ripple/VRipple.sass +0 -1
  606. package/lib/directives/ripple/index.mjs +15 -3
  607. package/lib/directives/ripple/index.mjs.map +1 -1
  608. package/lib/directives/scroll/index.mjs.map +1 -1
  609. package/lib/directives/touch/index.mjs.map +1 -1
  610. package/lib/entry-bundler.mjs +1 -1
  611. package/lib/entry-bundler.mjs.map +1 -1
  612. package/lib/framework.mjs +39 -29
  613. package/lib/framework.mjs.map +1 -1
  614. package/lib/iconsets/fa-svg.d.ts +2 -1
  615. package/lib/iconsets/fa-svg.mjs.map +1 -1
  616. package/lib/iconsets/fa.d.ts +2 -1
  617. package/lib/iconsets/fa.mjs.map +1 -1
  618. package/lib/iconsets/fa4.d.ts +2 -1
  619. package/lib/iconsets/fa4.mjs.map +1 -1
  620. package/lib/iconsets/md.d.ts +2 -1
  621. package/lib/iconsets/md.mjs.map +1 -1
  622. package/lib/iconsets/mdi-svg.d.ts +2 -1
  623. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  624. package/lib/iconsets/mdi.d.ts +2 -1
  625. package/lib/iconsets/mdi.mjs.map +1 -1
  626. package/lib/index.d.ts +161 -138
  627. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  628. package/lib/locale/adapters/vue-intl.mjs.map +1 -1
  629. package/lib/locale/af.mjs.map +1 -1
  630. package/lib/locale/ar.mjs.map +1 -1
  631. package/lib/locale/az.mjs.map +1 -1
  632. package/lib/locale/bg.mjs.map +1 -1
  633. package/lib/locale/ca.mjs +9 -9
  634. package/lib/locale/ca.mjs.map +1 -1
  635. package/lib/locale/ckb.mjs.map +1 -1
  636. package/lib/locale/cs.mjs.map +1 -1
  637. package/lib/locale/da.mjs.map +1 -1
  638. package/lib/locale/de.mjs.map +1 -1
  639. package/lib/locale/el.mjs.map +1 -1
  640. package/lib/locale/en.mjs.map +1 -1
  641. package/lib/locale/es.mjs.map +1 -1
  642. package/lib/locale/et.mjs.map +1 -1
  643. package/lib/locale/fa.mjs.map +1 -1
  644. package/lib/locale/fi.mjs.map +1 -1
  645. package/lib/locale/fr.mjs.map +1 -1
  646. package/lib/locale/he.mjs.map +1 -1
  647. package/lib/locale/hr.mjs.map +1 -1
  648. package/lib/locale/hu.mjs.map +1 -1
  649. package/lib/locale/id.mjs.map +1 -1
  650. package/lib/locale/index.mjs.map +1 -1
  651. package/lib/locale/it.mjs.map +1 -1
  652. package/lib/locale/ja.mjs.map +1 -1
  653. package/lib/locale/ko.mjs.map +1 -1
  654. package/lib/locale/lt.mjs.map +1 -1
  655. package/lib/locale/lv.mjs.map +1 -1
  656. package/lib/locale/nl.mjs.map +1 -1
  657. package/lib/locale/no.mjs.map +1 -1
  658. package/lib/locale/pl.mjs.map +1 -1
  659. package/lib/locale/pt.mjs.map +1 -1
  660. package/lib/locale/ro.mjs.map +1 -1
  661. package/lib/locale/ru.mjs.map +1 -1
  662. package/lib/locale/sk.mjs.map +1 -1
  663. package/lib/locale/sl.mjs.map +1 -1
  664. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  665. package/lib/locale/sr-Latn.mjs.map +1 -1
  666. package/lib/locale/sv.mjs.map +1 -1
  667. package/lib/locale/th.mjs.map +1 -1
  668. package/lib/locale/tr.mjs.map +1 -1
  669. package/lib/locale/uk.mjs.map +1 -1
  670. package/lib/locale/vi.mjs.map +1 -1
  671. package/lib/locale/zh-Hans.mjs.map +1 -1
  672. package/lib/locale/zh-Hant.mjs.map +1 -1
  673. package/lib/presets/default/index.mjs.map +1 -1
  674. package/lib/services/goto/easing-patterns.mjs.map +1 -1
  675. package/lib/services/goto/index.mjs.map +1 -1
  676. package/lib/services/goto/util.mjs.map +1 -1
  677. package/lib/styles/generic/_colors.scss +0 -1
  678. package/lib/styles/main.css +400 -392
  679. package/lib/styles/settings/_utilities.scss +54 -26
  680. package/lib/styles/tools/_states.sass +11 -3
  681. package/lib/styles/tools/_utilities.sass +1 -1
  682. package/lib/styles/tools/_variant.sass +6 -6
  683. package/lib/{components/VOverlay/util → util}/anchor.mjs +0 -0
  684. package/lib/util/anchor.mjs.map +1 -0
  685. package/lib/util/animation.mjs.map +1 -1
  686. package/lib/util/box.mjs.map +1 -1
  687. package/lib/util/color/APCA.mjs.map +1 -1
  688. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  689. package/lib/util/color/transformSRGB.mjs.map +1 -1
  690. package/lib/util/colorUtils.mjs.map +1 -1
  691. package/lib/util/colors.mjs.map +1 -1
  692. package/lib/util/console.mjs.map +1 -1
  693. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  694. package/lib/util/dateTimeUtils.mjs.map +1 -1
  695. package/lib/util/defineComponent.mjs +37 -6
  696. package/lib/util/defineComponent.mjs.map +1 -1
  697. package/lib/util/dom.mjs.map +1 -1
  698. package/lib/util/easing.mjs.map +1 -1
  699. package/lib/util/getCurrentInstance.mjs +20 -1
  700. package/lib/util/getCurrentInstance.mjs.map +1 -1
  701. package/lib/util/getScrollParent.mjs.map +1 -1
  702. package/lib/util/globals.mjs +0 -3
  703. package/lib/util/globals.mjs.map +1 -1
  704. package/lib/util/helpers.mjs +1 -5
  705. package/lib/util/helpers.mjs.map +1 -1
  706. package/lib/util/index.mjs +1 -0
  707. package/lib/util/index.mjs.map +1 -1
  708. package/lib/util/isFixedPosition.mjs.map +1 -1
  709. package/lib/util/propsFactory.mjs.map +1 -1
  710. package/lib/util/useRender.mjs.map +1 -1
  711. package/package.json +41 -31
  712. package/lib/components/VOverlay/positionStrategies.mjs.map +0 -1
  713. package/lib/components/VOverlay/util/anchor.mjs.map +0 -1
  714. package/lib/composables/overlay.mjs +0 -30
  715. package/lib/composables/overlay.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VColorPicker/VColorPickerCanvas.tsx"],"names":["computed","onMounted","ref","watch","clamp","convertToUnit","defineComponent","getEventCoordinates","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"],"mappings":";AAAA;AACA,kC,CAEA;;AACA,SAASA,QAAT,EAAmBC,SAAnB,EAA8BC,GAA9B,EAAmCC,KAAnC,QAAgD,KAAhD;SACSC,K,EAAOC,a,EAAeC,e,EAAiBC,mB,gCAEhD;;AAIA,OAAO,MAAMC,kBAAkB,GAAGF,eAAe,CAAC;AAChDG,EAAAA,IAAI,EAAE,oBAD0C;AAGhDC,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EAAE;AACLC,MAAAA,IAAI,EAAEC;AADD,KADF;AAILC,IAAAA,QAAQ,EAAEC,OAJL;AAKLC,IAAAA,OAAO,EAAE;AACPJ,MAAAA,IAAI,EAAE,CAACK,MAAD,EAASC,MAAT,CADC;AAEPC,MAAAA,OAAO,EAAE;AAFF,KALJ;AASLC,IAAAA,MAAM,EAAE;AACNR,MAAAA,IAAI,EAAE,CAACK,MAAD,EAASC,MAAT,CADA;AAENC,MAAAA,OAAO,EAAE;AAFH,KATH;AAaLE,IAAAA,KAAK,EAAE;AACLT,MAAAA,IAAI,EAAE,CAACK,MAAD,EAASC,MAAT,CADD;AAELC,MAAAA,OAAO,EAAE;AAFJ;AAbF,GAHyC;AAsBhDG,EAAAA,KAAK,EAAE;AACL,oBAAiBX,KAAD,IAAiB,IAD5B;AAEL,uBAAoBY,GAAD,IAAc;AAF5B,GAtByC;;AA2BhDC,EAAAA,KAAK,CAAEd,KAAF,QAAmB;AAAA,QAAV;AAAEe,MAAAA;AAAF,KAAU;AACtB,UAAMC,aAAa,GAAGxB,GAAG,CAAC,KAAD,CAAzB;AACA,UAAMyB,eAAe,GAAGzB,GAAG,CAAC,KAAD,CAA3B;AACA,UAAM0B,WAAW,GAAG1B,GAAG,CAAC;AAAE2B,MAAAA,CAAC,EAAE,CAAL;AAAQC,MAAAA,CAAC,EAAE;AAAX,KAAD,CAAvB;AAEA,UAAMC,SAAS,GAAG/B,QAAQ,CAAC,MAAM;AAC/B,YAAM;AAAE6B,QAAAA,CAAF;AAAKC,QAAAA;AAAL,UAAWF,WAAW,CAACI,KAA7B;AACA,YAAMC,MAAM,GAAGC,QAAQ,CAACxB,KAAK,CAACM,OAAP,EAAgB,EAAhB,CAAR,GAA8B,CAA7C;AAEA,aAAO;AACLK,QAAAA,KAAK,EAAEhB,aAAa,CAACK,KAAK,CAACM,OAAP,CADf;AAELI,QAAAA,MAAM,EAAEf,aAAa,CAACK,KAAK,CAACM,OAAP,CAFhB;AAGLmB,QAAAA,SAAS,EAAG,aAAY9B,aAAa,CAACwB,CAAC,GAAGI,MAAL,CAAa,KAAI5B,aAAa,CAACyB,CAAC,GAAGG,MAAL,CAAa;AAH3E,OAAP;AAKD,KATyB,CAA1B;AAWA,UAAMG,SAAS,GAAGlC,GAAG,EAArB;;AAEA,aAASmC,iBAAT,CAA4BR,CAA5B,EAAuCC,CAAvC,EAAkDQ,IAAlD,EAAiE;AAC/D,YAAM;AAAEC,QAAAA,IAAF;AAAQC,QAAAA,GAAR;AAAanB,QAAAA,KAAb;AAAoBD,QAAAA;AAApB,UAA+BkB,IAArC;AACAV,MAAAA,WAAW,CAACI,KAAZ,GAAoB;AAClBH,QAAAA,CAAC,EAAEzB,KAAK,CAACyB,CAAC,GAAGU,IAAL,EAAW,CAAX,EAAclB,KAAd,CADU;AAElBS,QAAAA,CAAC,EAAE1B,KAAK,CAAC0B,CAAC,GAAGU,GAAL,EAAU,CAAV,EAAapB,MAAb;AAFU,OAApB;AAID;;AAED,aAASqB,WAAT,CAAsBC,CAAtB,EAAqC;AACnC,UAAIhC,KAAK,CAACI,QAAN,IAAkB,CAACsB,SAAS,CAACJ,KAAjC,EAAwC;AAExCK,MAAAA,iBAAiB,CAACK,CAAC,CAACC,OAAH,EAAYD,CAAC,CAACE,OAAd,EAAuBR,SAAS,CAACJ,KAAV,CAAgBa,qBAAhB,EAAvB,CAAjB;AACD;;AAED,aAASC,eAAT,CAA0BJ,CAA1B,EAAsD;AACpD;AACAA,MAAAA,CAAC,CAACK,cAAF;AAEA,UAAIrC,KAAK,CAACI,QAAV,EAAoB;AAEpBY,MAAAA,aAAa,CAACM,KAAd,GAAsB,IAAtB;AAEAgB,MAAAA,MAAM,CAACC,gBAAP,CAAwB,WAAxB,EAAqCC,eAArC;AACAF,MAAAA,MAAM,CAACC,gBAAP,CAAwB,SAAxB,EAAmCE,aAAnC;AACAH,MAAAA,MAAM,CAACC,gBAAP,CAAwB,WAAxB,EAAqCC,eAArC;AACAF,MAAAA,MAAM,CAACC,gBAAP,CAAwB,UAAxB,EAAoCE,aAApC;AACD;;AAED,aAASD,eAAT,CAA0BR,CAA1B,EAAsD;AACpD,UAAIhC,KAAK,CAACI,QAAN,IAAkB,CAACsB,SAAS,CAACJ,KAAjC,EAAwC;AAExCN,MAAAA,aAAa,CAACM,KAAd,GAAsB,IAAtB;AAEA,YAAMoB,MAAM,GAAG7C,mBAAmB,CAACmC,CAAD,CAAlC;AAEAL,MAAAA,iBAAiB,CAACe,MAAM,CAACT,OAAR,EAAiBS,MAAM,CAACR,OAAxB,EAAiCR,SAAS,CAACJ,KAAV,CAAgBa,qBAAhB,EAAjC,CAAjB;AACD;;AAED,aAASM,aAAT,GAA0B;AACxBH,MAAAA,MAAM,CAACK,mBAAP,CAA2B,WAA3B,EAAwCH,eAAxC;AACAF,MAAAA,MAAM,CAACK,mBAAP,CAA2B,SAA3B,EAAsCF,aAAtC;AACAH,MAAAA,MAAM,CAACK,mBAAP,CAA2B,WAA3B,EAAwCH,eAAxC;AACAF,MAAAA,MAAM,CAACK,mBAAP,CAA2B,UAA3B,EAAuCF,aAAvC;AACD;;AAEDhD,IAAAA,KAAK,CAACyB,WAAD,EAAc,MAAM;AAAA;;AACvB,UAAID,eAAe,CAACK,KAApB,EAA2B;AACzBL,QAAAA,eAAe,CAACK,KAAhB,GAAwB,KAAxB;AACA;AACD;;AAED,UAAI,CAACI,SAAS,CAACJ,KAAf,EAAsB;AAEtB,YAAM;AAAEX,QAAAA,KAAF;AAASD,QAAAA;AAAT,UAAoBgB,SAAS,CAACJ,KAAV,CAAgBa,qBAAhB,EAA1B;AACA,YAAM;AAAEhB,QAAAA,CAAF;AAAKC,QAAAA;AAAL,UAAWF,WAAW,CAACI,KAA7B;AAEAP,MAAAA,IAAI,CAAC,cAAD,EAAiB;AACnB6B,QAAAA,CAAC,oCAAE5C,KAAK,CAACC,KAAR,qBAAE,aAAa2C,CAAf,6BAAoB,CADF;AAEnBC,QAAAA,CAAC,EAAEnD,KAAK,CAACyB,CAAD,EAAI,CAAJ,EAAOR,KAAP,CAAL,GAAqBA,KAFL;AAGnBmC,QAAAA,CAAC,EAAE,IAAIpD,KAAK,CAAC0B,CAAD,EAAI,CAAJ,EAAOV,MAAP,CAAL,GAAsBA,MAHV;AAInBqC,QAAAA,CAAC,qCAAE/C,KAAK,CAACC,KAAR,qBAAE,cAAa8C,CAAf,6BAAoB;AAJF,OAAjB,CAAJ;AAMD,KAjBI,CAAL;;AAmBA,aAASC,YAAT,GAAyB;AAAA;;AACvB,UAAI,CAACtB,SAAS,CAACJ,KAAf,EAAsB;AAEtB,YAAM2B,MAAM,GAAGvB,SAAS,CAACJ,KAAzB;AACA,YAAM4B,GAAG,GAAGD,MAAM,CAACE,UAAP,CAAkB,IAAlB,CAAZ;AAEA,UAAI,CAACD,GAAL,EAAU;AAEV,YAAME,kBAAkB,GAAGF,GAAG,CAACG,oBAAJ,CAAyB,CAAzB,EAA4B,CAA5B,EAA+BJ,MAAM,CAACtC,KAAtC,EAA6C,CAA7C,CAA3B;AACAyC,MAAAA,kBAAkB,CAACE,YAAnB,CAAgC,CAAhC,EAAmC,sBAAnC,EATuB,CASoC;;AAC3DF,MAAAA,kBAAkB,CAACE,YAAnB,CAAgC,CAAhC,EAAoC,QAAD,oCAAQtD,KAAK,CAACC,KAAd,qBAAQ,cAAa2C,CAArB,8BAA0B,CAAE,iBAA/D;AACAM,MAAAA,GAAG,CAACK,SAAJ,GAAgBH,kBAAhB;AACAF,MAAAA,GAAG,CAACM,QAAJ,CAAa,CAAb,EAAgB,CAAhB,EAAmBP,MAAM,CAACtC,KAA1B,EAAiCsC,MAAM,CAACvC,MAAxC;AAEA,YAAM+C,aAAa,GAAGP,GAAG,CAACG,oBAAJ,CAAyB,CAAzB,EAA4B,CAA5B,EAA+B,CAA/B,EAAkCJ,MAAM,CAACvC,MAAzC,CAAtB;AACA+C,MAAAA,aAAa,CAACH,YAAd,CAA2B,CAA3B,EAA8B,sBAA9B,EAfuB,CAe+B;;AACtDG,MAAAA,aAAa,CAACH,YAAd,CAA2B,CAA3B,EAA8B,oBAA9B,EAhBuB,CAgB6B;;AACpDJ,MAAAA,GAAG,CAACK,SAAJ,GAAgBE,aAAhB;AACAP,MAAAA,GAAG,CAACM,QAAJ,CAAa,CAAb,EAAgB,CAAhB,EAAmBP,MAAM,CAACtC,KAA1B,EAAiCsC,MAAM,CAACvC,MAAxC;AACD;;AAEDjB,IAAAA,KAAK,CAAC;AAAA;;AAAA,8BAAMO,KAAK,CAACC,KAAZ,qBAAM,cAAa2C,CAAnB;AAAA,KAAD,EAAuBI,YAAvB,EAAqC;AAAEU,MAAAA,SAAS,EAAE;AAAb,KAArC,CAAL;AAEAjE,IAAAA,KAAK,CAAC,MAAMO,KAAK,CAACC,KAAb,EAAoB,MAAM;AAC7B,UAAIe,aAAa,CAACM,KAAlB,EAAyB;AACvBN,QAAAA,aAAa,CAACM,KAAd,GAAsB,KAAtB;AACA;AACD;;AAED,UAAI,CAACtB,KAAK,CAACC,KAAX,EAAkB;AAElBgB,MAAAA,eAAe,CAACK,KAAhB,GAAwB,IAAxB;AAEAJ,MAAAA,WAAW,CAACI,KAAZ,GAAoB;AAClBH,QAAAA,CAAC,EAAEnB,KAAK,CAACC,KAAN,CAAY4C,CAAZ,GAAgBrB,QAAQ,CAACxB,KAAK,CAACW,KAAP,EAAc,EAAd,CADT;AAElBS,QAAAA,CAAC,EAAE,CAAC,IAAIpB,KAAK,CAACC,KAAN,CAAY6C,CAAjB,IAAsBtB,QAAQ,CAACxB,KAAK,CAACU,MAAP,EAAe,EAAf;AAFf,OAApB;AAID,KAdI,EAcF;AAAEiD,MAAAA,IAAI,EAAE,IAAR;AAAcD,MAAAA,SAAS,EAAE;AAAzB,KAdE,CAAL;AAgBAnE,IAAAA,SAAS,CAAC,MAAMyD,YAAY,EAAnB,CAAT;AAEA,WAAO;AAAA,eAEG,uBAFH;AAAA,eAGI;AACLrC,QAAAA,KAAK,EAAEhB,aAAa,CAACK,KAAK,CAACW,KAAP,CADf;AAELD,QAAAA,MAAM,EAAEf,aAAa,CAACK,KAAK,CAACU,MAAP;AAFhB,OAHJ;AAAA,iBAOOqB,WAPP;AAAA,qBAQWK,eARX;AAAA,sBASYA;AATZ;AAAA,aAYKV,SAZL;AAAA,eAaO1B,KAAK,CAACW,KAbb;AAAA,gBAcQX,KAAK,CAACU;AAdd;AAAA,eAiBM,CACL,4BADK,EAEL;AACE,gDAAwCV,KAAK,CAACI;AADhD,OAFK,CAjBN;AAAA,eAuBOiB,SAAS,CAACC;AAvBjB,cAAP;AA2BD;;AAjL+C,CAAD,CAA1C","sourcesContent":["// Styles\nimport './VColorPickerCanvas.sass'\n\n// Utilities\nimport { computed, onMounted, ref, watch } from 'vue'\nimport { clamp, convertToUnit, defineComponent, getEventCoordinates } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } from '@/util'\n\nexport const VColorPickerCanvas = defineComponent({\n name: 'VColorPickerCanvas',\n\n props: {\n color: {\n type: Object as PropType<HSVA | 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: HSVA) => 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 return () => (\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})\n"],"file":"VColorPickerCanvas.mjs"}
1
+ {"version":3,"file":"VColorPickerCanvas.mjs","names":["computed","onMounted","ref","watch","clamp","convertToUnit","defineComponent","getEventCoordinates","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 { computed, onMounted, ref, watch } from 'vue'\nimport { clamp, convertToUnit, defineComponent, getEventCoordinates } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } from '@/util'\n\nexport const VColorPickerCanvas = defineComponent({\n name: 'VColorPickerCanvas',\n\n props: {\n color: {\n type: Object as PropType<HSVA | 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: HSVA) => 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 return () => (\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})\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/tools'
3
2
  @use './variables' as *
4
3
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VColorPicker/VColorPickerEdit.tsx"],"names":["VBtn","computed","defineComponent","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"],"mappings":"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","sourcesContent":["// Styles\nimport './VColorPickerEdit.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\nimport { modes } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } 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<HSVA | 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: HSVA) => 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 return () => (\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})\n"],"file":"VColorPickerEdit.mjs"}
1
+ {"version":3,"file":"VColorPickerEdit.mjs","names":["VBtn","computed","defineComponent","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 } from '@/util'\nimport { modes } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } 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<HSVA | 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: HSVA) => 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 return () => (\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})\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/tools'
3
2
  @use './variables' as *
4
3
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VColorPicker/VColorPickerPreview.tsx"],"names":["VSlider","defineComponent","HSVAtoCSS","nullColor","VColorPickerPreview","name","props","color","type","Object","disabled","Boolean","hideAlpha","emits","setup","emit","background","h","a"],"mappings":";AAAA;AACA,mC,CAEA;;SACSA,O,gCAET;;SACSC,e,EAAiBC,S;SACjBC,S,4BAET;;AAIA,OAAO,MAAMC,mBAAmB,GAAGH,eAAe,CAAC;AACjDI,EAAAA,IAAI,EAAE,qBAD2C;AAGjDC,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EAAE;AACLC,MAAAA,IAAI,EAAEC;AADD,KADF;AAILC,IAAAA,QAAQ,EAAEC,OAJL;AAKLC,IAAAA,SAAS,EAAED;AALN,GAH0C;AAWjDE,EAAAA,KAAK,EAAE;AACL,oBAAiBN,KAAD,IAAiB;AAD5B,GAX0C;;AAejDO,EAAAA,KAAK,CAAER,KAAF,QAAmB;AAAA,QAAV;AAAES,MAAAA;AAAF,KAAU;AACtB,WAAO;AAAA;;AAAA;AAAA,iBAEI,CACL,wBADK,EAEL;AACE,gDAAsCT,KAAK,CAACM;AAD9C,SAFK;AAFJ;AAAA,iBASQ;AATR;AAAA,iBAUW;AAAEI,UAAAA,UAAU,EAAEd,SAAS,iBAACI,KAAK,CAACC,KAAP,2BAAgBJ,SAAhB;AAAvB;AAVX;AAAA,iBAYQ;AAZR;AAAA,iBAcO,2DAdP;AAAA,uCAecG,KAAK,CAACC,KAfpB,qBAec,cAAaU,CAf3B;AAAA,+BAgBuBA,CAAC;AAAA;;AAAA,iBAAIF,IAAI,CAAC,cAAD,EAAiB,EAAE,qBAAIT,KAAK,CAACC,KAAV,4BAAmBJ,SAAnB,CAAF;AAAiCc,YAAAA;AAAjC,WAAjB,CAAR;AAAA,SAhBxB;AAAA,gBAiBQ,CAjBR;AAAA,eAkBO,CAlBP;AAAA,eAmBO,GAnBP;AAAA,oBAoBYX,KAAK,CAACI,QApBlB;AAAA,qBAqBa,EArBb;AAAA,qBAsBa,CAtBb;AAAA,0BAuBgB,OAvBhB;AAAA;AAAA,gBA0BC,CAACJ,KAAK,CAACM,SAAP;AAAA,iBAEQ,6DAFR;AAAA,uCAGeN,KAAK,CAACC,KAHrB,qBAGe,cAAaW,CAH5B;AAAA,+BAIwBA,CAAC;AAAA;;AAAA,iBAAIH,IAAI,CAAC,cAAD,EAAiB,EAAE,qBAAIT,KAAK,CAACC,KAAV,4BAAmBJ,SAAnB,CAAF;AAAiCe,YAAAA;AAAjC,WAAjB,CAAR;AAAA,SAJzB;AAAA,gBAKS,CALT;AAAA,eAMQ,CANR;AAAA,eAOQ,CAPR;AAAA,oBAQaZ,KAAK,CAACI,QARnB;AAAA,qBASc,EATd;AAAA,qBAUc,CAVd;AAAA,0BAWiB,OAXjB;AAAA;AAAA,cA1BD;AAAA,KAAP;AA4CD;;AA5DgD,CAAD,CAA3C","sourcesContent":["// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport { VSlider } from '@/components/VSlider'\n\n// Utilities\nimport { defineComponent, HSVAtoCSS } from '@/util'\nimport { nullColor } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } from '@/util'\n\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n\n props: {\n color: {\n type: Object as PropType<HSVA | null>,\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n },\n\n emits: {\n 'update:color': (color: HSVA) => true,\n },\n\n setup (props, { emit }) {\n return () => (\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: HSVAtoCSS(props.color ?? nullColor) }} />\n </div>\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 { !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})\n"],"file":"VColorPickerPreview.mjs"}
1
+ {"version":3,"file":"VColorPickerPreview.mjs","names":["VSlider","defineComponent","HSVAtoCSS","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, HSVAtoCSS } from '@/util'\nimport { nullColor } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } from '@/util'\n\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n\n props: {\n color: {\n type: Object as PropType<HSVA | null>,\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n },\n\n emits: {\n 'update:color': (color: HSVA) => true,\n },\n\n setup (props, { emit }) {\n return () => (\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: HSVAtoCSS(props.color ?? nullColor) }} />\n </div>\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 { !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})\n"],"mappings":";AAAA;AACA,mC,CAEA;;SACSA,O,gCAET;;SACSC,e,EAAiBC,S;SACjBC,S,4BAET;;AAIA,OAAO,MAAMC,mBAAmB,GAAGH,eAAe,CAAC;EACjDI,IAAI,EAAE,qBAD2C;EAGjDC,KAAK,EAAE;IACLC,KAAK,EAAE;MACLC,IAAI,EAAEC;IADD,CADF;IAILC,QAAQ,EAAEC,OAJL;IAKLC,SAAS,EAAED;EALN,CAH0C;EAWjDE,KAAK,EAAE;IACL,gBAAiBN,KAAD,IAAiB;EAD5B,CAX0C;;EAejDO,KAAK,CAAER,KAAF,QAAmB;IAAA,IAAV;MAAES;IAAF,CAAU;IACtB,OAAO;MAAA;;MAAA;QAAA,SAEI,CACL,wBADK,EAEL;UACE,sCAAsCT,KAAK,CAACM;QAD9C,CAFK;MAFJ;QAAA,SASQ;MATR;QAAA,SAUW;UAAEI,UAAU,EAAEd,SAAS,iBAACI,KAAK,CAACC,KAAP,2BAAgBJ,SAAhB;QAAvB;MAVX;QAAA,SAYQ;MAZR;QAAA,SAcO,2DAdP;QAAA,+BAecG,KAAK,CAACC,KAfpB,qBAec,cAAaU,CAf3B;QAAA,uBAgBuBA,CAAC;UAAA;;UAAA,OAAIF,IAAI,CAAC,cAAD,EAAiB,EAAE,qBAAIT,KAAK,CAACC,KAAV,4BAAmBJ,SAAnB,CAAF;YAAiCc;UAAjC,CAAjB,CAAR;QAAA,CAhBxB;QAAA,QAiBQ,CAjBR;QAAA,OAkBO,CAlBP;QAAA,OAmBO,GAnBP;QAAA,YAoBYX,KAAK,CAACI,QApBlB;QAAA,aAqBa,EArBb;QAAA,aAsBa,CAtBb;QAAA,kBAuBgB,OAvBhB;QAAA;MAAA,UA0BC,CAACJ,KAAK,CAACM,SAAP;QAAA,SAEQ,6DAFR;QAAA,+BAGeN,KAAK,CAACC,KAHrB,qBAGe,cAAaW,CAH5B;QAAA,uBAIwBA,CAAC;UAAA;;UAAA,OAAIH,IAAI,CAAC,cAAD,EAAiB,EAAE,qBAAIT,KAAK,CAACC,KAAV,4BAAmBJ,SAAnB,CAAF;YAAiCe;UAAjC,CAAjB,CAAR;QAAA,CAJzB;QAAA,QAKS,CALT;QAAA,OAMQ,CANR;QAAA,OAOQ,CAPR;QAAA,YAQaZ,KAAK,CAACI,QARnB;QAAA,aASc,EATd;QAAA,aAUc,CAVd;QAAA,kBAWiB,OAXjB;QAAA;MAAA,QA1BD;IAAA,CAAP;EA4CD;;AA5DgD,CAAD,CAA3C"}
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/tools'
3
2
  @use './variables' as *
4
3
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VColorPicker/VColorPickerSwatches.tsx"],"names":["VIcon","convertToUnit","deepEqual","defineComponent","getContrast","colors","parseColor","parseDefaultColors","Object","keys","map","key","color","base","darken4","darken3","darken2","darken1","lighten1","lighten2","lighten3","lighten4","lighten5","black","white","transparent","VColorPickerSwatches","name","props","swatches","type","Array","default","disabled","Boolean","maxHeight","Number","String","emits","setup","emit","swatch","hsva","background","undefined"],"mappings":";AAAA;AACA,oC,CAEA;;SACSA,K,8BAET;;SACSC,a,EAAeC,S,EAAWC,e,EAAiBC,W;OAC7CC,M;SACEC,U,4BAET;;AAIA,SAASC,kBAAT,CAA6BF,MAA7B,EAA6E;AAC3E,SAAOG,MAAM,CAACC,IAAP,CAAYJ,MAAZ,EAAoBK,GAApB,CAAwBC,GAAG,IAAI;AACpC,UAAMC,KAAK,GAAGP,MAAM,CAACM,GAAD,CAApB;AACA,WAAOC,KAAK,CAACC,IAAN,GAAa,CAClBD,KAAK,CAACC,IADY,EAElBD,KAAK,CAACE,OAFY,EAGlBF,KAAK,CAACG,OAHY,EAIlBH,KAAK,CAACI,OAJY,EAKlBJ,KAAK,CAACK,OALY,EAMlBL,KAAK,CAACM,QANY,EAOlBN,KAAK,CAACO,QAPY,EAQlBP,KAAK,CAACQ,QARY,EASlBR,KAAK,CAACS,QATY,EAUlBT,KAAK,CAACU,QAVY,CAAb,GAWH,CACFV,KAAK,CAACW,KADJ,EAEFX,KAAK,CAACY,KAFJ,EAGFZ,KAAK,CAACa,WAHJ,CAXJ;AAgBD,GAlBM,CAAP;AAmBD;;AAED,OAAO,MAAMC,oBAAoB,GAAGvB,eAAe,CAAC;AAClDwB,EAAAA,IAAI,EAAE,sBAD4C;AAGlDC,EAAAA,KAAK,EAAE;AACLC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,IAAI,EAAEC,KADE;AAERC,MAAAA,OAAO,EAAE,MAAMzB,kBAAkB,CAACF,MAAD;AAFzB,KADL;AAKL4B,IAAAA,QAAQ,EAAEC,OALL;AAMLtB,IAAAA,KAAK,EAAEJ,MANF;AAOL2B,IAAAA,SAAS,EAAE,CAACC,MAAD,EAASC,MAAT;AAPN,GAH2C;AAalDC,EAAAA,KAAK,EAAE;AACL,oBAAiB1B,KAAD,IAAiB;AAD5B,GAb2C;;AAiBlD2B,EAAAA,KAAK,CAAEX,KAAF,QAAmB;AAAA,QAAV;AAAEY,MAAAA;AAAF,KAAU;AACtB,WAAO;AAAA,eAEG,yBAFH;AAAA,eAGI;AACLL,QAAAA,SAAS,EAAElC,aAAa,CAAC2B,KAAK,CAACO,SAAP;AADnB;AAHJ,mCAQCP,KAAK,CAACC,QAAN,CAAenB,GAAf,CAAmB+B,MAAM;AAAA,eACd;AADc,QAErBA,MAAM,CAAC/B,GAAP,CAAWE,KAAK,IAAI;AACpB,YAAM8B,IAAI,GAAGpC,UAAU,CAACM,KAAD,CAAvB;AAEA;AAAA,iBAEU,gCAFV;AAAA,mBAGa,MAAM8B,IAAI,IAAIF,IAAI,CAAC,cAAD,EAAiBE,IAAjB;AAH/B;AAAA,iBAKgB;AAAEC,UAAAA,UAAU,EAAE/B;AAAd;AALhB,UAMQgB,KAAK,CAAChB,KAAN,IAAeV,SAAS,CAAC0B,KAAK,CAAChB,KAAP,EAAc8B,IAAd,CAAxB;AAAA,gBACc,SADd;AAAA,gBAC6B,UAD7B;AAAA,iBAC+CtC,WAAW,CAACQ,KAAD,EAAQ,SAAR,CAAX,GAAgC,CAAhC,GAAoC,OAApC,GAA8C;AAD7F,iBAEEgC,SARV;AAaD,KAhBC,CAFqB,EAAzB,CARD,IAAP;AAgCD;;AAlDiD,CAAD,CAA5C","sourcesContent":["// Styles\nimport './VColorPickerSwatches.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Utilities\nimport { convertToUnit, deepEqual, defineComponent, getContrast } from '@/util'\nimport colors from '@/util/colors'\nimport { parseColor } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } from '@/util'\n\nfunction parseDefaultColors (colors: Record<string, Record<string, string>>) {\n return Object.keys(colors).map(key => {\n const color = colors[key]\n return color.base ? [\n color.base,\n color.darken4,\n color.darken3,\n color.darken2,\n color.darken1,\n color.lighten1,\n color.lighten2,\n color.lighten3,\n color.lighten4,\n color.lighten5,\n ] : [\n color.black,\n color.white,\n color.transparent,\n ]\n })\n}\n\nexport const VColorPickerSwatches = defineComponent({\n name: 'VColorPickerSwatches',\n\n props: {\n swatches: {\n type: Array as PropType<string[][]>,\n default: () => parseDefaultColors(colors),\n },\n disabled: Boolean,\n color: Object as PropType<HSVA | null>,\n maxHeight: [Number, String],\n },\n\n emits: {\n 'update:color': (color: HSVA) => true,\n },\n\n setup (props, { emit }) {\n return () => (\n <div\n class=\"v-color-picker-swatches\"\n style={{\n maxHeight: convertToUnit(props.maxHeight),\n }}\n >\n <div>\n { props.swatches.map(swatch => (\n <div class=\"v-color-picker-swatches__swatch\">\n { swatch.map(color => {\n const hsva = parseColor(color)\n\n return (\n <div\n class=\"v-color-picker-swatches__color\"\n onClick={() => hsva && emit('update:color', hsva)}\n >\n <div style={{ background: color }}>\n { props.color && deepEqual(props.color, hsva)\n ? <VIcon size=\"x-small\" icon=\"$success\" color={getContrast(color, '#FFFFFF') > 2 ? 'white' : 'black' } />\n : undefined\n }\n </div>\n </div>\n )\n }) }\n </div>\n ))}\n </div>\n </div>\n )\n },\n})\n"],"file":"VColorPickerSwatches.mjs"}
1
+ {"version":3,"file":"VColorPickerSwatches.mjs","names":["VIcon","convertToUnit","deepEqual","defineComponent","getContrast","colors","parseColor","parseDefaultColors","Object","keys","map","key","color","base","darken4","darken3","darken2","darken1","lighten1","lighten2","lighten3","lighten4","lighten5","black","white","transparent","VColorPickerSwatches","name","props","swatches","type","Array","default","disabled","Boolean","maxHeight","Number","String","emits","setup","emit","swatch","hsva","background","undefined"],"sources":["../../../src/components/VColorPicker/VColorPickerSwatches.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerSwatches.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Utilities\nimport { convertToUnit, deepEqual, defineComponent, getContrast } from '@/util'\nimport colors from '@/util/colors'\nimport { parseColor } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } from '@/util'\n\nfunction parseDefaultColors (colors: Record<string, Record<string, string>>) {\n return Object.keys(colors).map(key => {\n const color = colors[key]\n return color.base ? [\n color.base,\n color.darken4,\n color.darken3,\n color.darken2,\n color.darken1,\n color.lighten1,\n color.lighten2,\n color.lighten3,\n color.lighten4,\n color.lighten5,\n ] : [\n color.black,\n color.white,\n color.transparent,\n ]\n })\n}\n\nexport const VColorPickerSwatches = defineComponent({\n name: 'VColorPickerSwatches',\n\n props: {\n swatches: {\n type: Array as PropType<string[][]>,\n default: () => parseDefaultColors(colors),\n },\n disabled: Boolean,\n color: Object as PropType<HSVA | null>,\n maxHeight: [Number, String],\n },\n\n emits: {\n 'update:color': (color: HSVA) => true,\n },\n\n setup (props, { emit }) {\n return () => (\n <div\n class=\"v-color-picker-swatches\"\n style={{\n maxHeight: convertToUnit(props.maxHeight),\n }}\n >\n <div>\n { props.swatches.map(swatch => (\n <div class=\"v-color-picker-swatches__swatch\">\n { swatch.map(color => {\n const hsva = parseColor(color)\n\n return (\n <div\n class=\"v-color-picker-swatches__color\"\n onClick={() => hsva && emit('update:color', hsva)}\n >\n <div style={{ background: color }}>\n { props.color && deepEqual(props.color, hsva)\n ? <VIcon size=\"x-small\" icon=\"$success\" color={getContrast(color, '#FFFFFF') > 2 ? 'white' : 'black' } />\n : undefined\n }\n </div>\n </div>\n )\n }) }\n </div>\n ))}\n </div>\n </div>\n )\n },\n})\n"],"mappings":";AAAA;AACA,oC,CAEA;;SACSA,K,8BAET;;SACSC,a,EAAeC,S,EAAWC,e,EAAiBC,W;OAC7CC,M;SACEC,U,4BAET;;AAIA,SAASC,kBAAT,CAA6BF,MAA7B,EAA6E;EAC3E,OAAOG,MAAM,CAACC,IAAP,CAAYJ,MAAZ,EAAoBK,GAApB,CAAwBC,GAAG,IAAI;IACpC,MAAMC,KAAK,GAAGP,MAAM,CAACM,GAAD,CAApB;IACA,OAAOC,KAAK,CAACC,IAAN,GAAa,CAClBD,KAAK,CAACC,IADY,EAElBD,KAAK,CAACE,OAFY,EAGlBF,KAAK,CAACG,OAHY,EAIlBH,KAAK,CAACI,OAJY,EAKlBJ,KAAK,CAACK,OALY,EAMlBL,KAAK,CAACM,QANY,EAOlBN,KAAK,CAACO,QAPY,EAQlBP,KAAK,CAACQ,QARY,EASlBR,KAAK,CAACS,QATY,EAUlBT,KAAK,CAACU,QAVY,CAAb,GAWH,CACFV,KAAK,CAACW,KADJ,EAEFX,KAAK,CAACY,KAFJ,EAGFZ,KAAK,CAACa,WAHJ,CAXJ;EAgBD,CAlBM,CAAP;AAmBD;;AAED,OAAO,MAAMC,oBAAoB,GAAGvB,eAAe,CAAC;EAClDwB,IAAI,EAAE,sBAD4C;EAGlDC,KAAK,EAAE;IACLC,QAAQ,EAAE;MACRC,IAAI,EAAEC,KADE;MAERC,OAAO,EAAE,MAAMzB,kBAAkB,CAACF,MAAD;IAFzB,CADL;IAKL4B,QAAQ,EAAEC,OALL;IAMLtB,KAAK,EAAEJ,MANF;IAOL2B,SAAS,EAAE,CAACC,MAAD,EAASC,MAAT;EAPN,CAH2C;EAalDC,KAAK,EAAE;IACL,gBAAiB1B,KAAD,IAAiB;EAD5B,CAb2C;;EAiBlD2B,KAAK,CAAEX,KAAF,QAAmB;IAAA,IAAV;MAAEY;IAAF,CAAU;IACtB,OAAO;MAAA,SAEG,yBAFH;MAAA,SAGI;QACLL,SAAS,EAAElC,aAAa,CAAC2B,KAAK,CAACO,SAAP;MADnB;IAHJ,+BAQCP,KAAK,CAACC,QAAN,CAAenB,GAAf,CAAmB+B,MAAM;MAAA,SACd;IADc,IAErBA,MAAM,CAAC/B,GAAP,CAAWE,KAAK,IAAI;MACpB,MAAM8B,IAAI,GAAGpC,UAAU,CAACM,KAAD,CAAvB;MAEA;QAAA,SAEU,gCAFV;QAAA,WAGa,MAAM8B,IAAI,IAAIF,IAAI,CAAC,cAAD,EAAiBE,IAAjB;MAH/B;QAAA,SAKgB;UAAEC,UAAU,EAAE/B;QAAd;MALhB,IAMQgB,KAAK,CAAChB,KAAN,IAAeV,SAAS,CAAC0B,KAAK,CAAChB,KAAP,EAAc8B,IAAd,CAAxB;QAAA,QACc,SADd;QAAA,QAC6B,UAD7B;QAAA,SAC+CtC,WAAW,CAACQ,KAAD,EAAQ,SAAR,CAAX,GAAgC,CAAhC,GAAoC,OAApC,GAA8C;MAD7F,WAEEgC,SARV;IAaD,CAhBC,CAFqB,EAAzB,CARD,IAAP;EAgCD;;AAlDiD,CAAD,CAA5C"}
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/tools'
3
2
  @use './variables' as *
4
3
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VColorPicker/index.ts"],"names":["VColorPicker"],"mappings":"SAASA,Y","sourcesContent":["export { VColorPicker } from './VColorPicker'\n"],"file":"index.mjs"}
1
+ {"version":3,"file":"index.mjs","names":["VColorPicker"],"sources":["../../../src/components/VColorPicker/index.ts"],"sourcesContent":["export { VColorPicker } from './VColorPicker'\n"],"mappings":"SAASA,Y"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VColorPicker/util/index.ts"],"names":["HexToHSVA","HSLAtoHSVA","HSVAtoHex","HSVAtoHSLA","HSVAtoRGBA","parseHex","RGBAtoHSVA","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"],"mappings":"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","sourcesContent":["// Utilities\nimport {\n HexToHSVA,\n HSLAtoHSVA,\n HSVAtoHex,\n HSVAtoHSLA,\n HSVAtoRGBA,\n parseHex,\n RGBAtoHSVA,\n} from '@/util/colorUtils'\n\n// Types\nimport type {\n HSLA,\n HSVA,\n RGBA,\n} 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): HSVA | null {\n if (!color) return null\n\n let hsva: HSVA | null = null\n\n if (typeof color === 'string') {\n const hex = parseHex(color)\n\n hsva = HexToHSVA(hex)\n }\n\n if (typeof color === 'object') {\n if (has(color, ['r', 'g', 'b'])) {\n hsva = RGBAtoHSVA(color)\n } else if (has(color, ['h', 's', 'l'])) {\n hsva = HSLAtoHSVA(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: HSVA, input: any) {\n if (input == null || typeof input === 'string') {\n const hex = HSVAtoHex(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 = HSVAtoRGBA(color)\n else if (has(input, ['h', 's', 'l'])) converted = HSVAtoHSLA(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) => HSVA\n to: (color: HSVA) => 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: RGBA) => Math.round(c.r),\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, r: Number(v) }),\n },\n {\n label: 'G',\n max: 255,\n step: 1,\n getValue: (c: RGBA) => Math.round(c.g),\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, g: Number(v) }),\n },\n {\n label: 'B',\n max: 255,\n step: 1,\n getValue: (c: RGBA) => Math.round(c.b),\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, b: Number(v) }),\n },\n {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: (c: RGBA) => Math.round(c.a * 100) / 100,\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, a: Number(v) }),\n },\n ],\n to: HSVAtoRGBA,\n from: RGBAtoHSVA,\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: HSLA) => Math.round(c.h),\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, h: Number(v) }),\n },\n {\n label: 'S',\n max: 1,\n step: 0.01,\n getValue: (c: HSLA) => Math.round(c.s * 100) / 100,\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, s: Number(v) }),\n },\n {\n label: 'L',\n max: 1,\n step: 0.01,\n getValue: (c: HSLA) => Math.round(c.l * 100) / 100,\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, l: Number(v) }),\n },\n {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: (c: HSLA) => Math.round(c.a * 100) / 100,\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, a: Number(v) }),\n },\n ],\n to: HSVAtoHSLA,\n from: HSLAtoHSVA,\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: HSVAtoHex,\n from: HexToHSVA,\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"],"file":"index.mjs"}
1
+ {"version":3,"file":"index.mjs","names":["HexToHSVA","HSLAtoHSVA","HSVAtoHex","HSVAtoHSLA","HSVAtoRGBA","parseHex","RGBAtoHSVA","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 HexToHSVA,\n HSLAtoHSVA,\n HSVAtoHex,\n HSVAtoHSLA,\n HSVAtoRGBA,\n parseHex,\n RGBAtoHSVA,\n} from '@/util/colorUtils'\n\n// Types\nimport type {\n HSLA,\n HSVA,\n RGBA,\n} 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): HSVA | null {\n if (!color) return null\n\n let hsva: HSVA | null = null\n\n if (typeof color === 'string') {\n const hex = parseHex(color)\n\n hsva = HexToHSVA(hex)\n }\n\n if (typeof color === 'object') {\n if (has(color, ['r', 'g', 'b'])) {\n hsva = RGBAtoHSVA(color)\n } else if (has(color, ['h', 's', 'l'])) {\n hsva = HSLAtoHSVA(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: HSVA, input: any) {\n if (input == null || typeof input === 'string') {\n const hex = HSVAtoHex(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 = HSVAtoRGBA(color)\n else if (has(input, ['h', 's', 'l'])) converted = HSVAtoHSLA(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) => HSVA\n to: (color: HSVA) => 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: RGBA) => Math.round(c.r),\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, r: Number(v) }),\n },\n {\n label: 'G',\n max: 255,\n step: 1,\n getValue: (c: RGBA) => Math.round(c.g),\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, g: Number(v) }),\n },\n {\n label: 'B',\n max: 255,\n step: 1,\n getValue: (c: RGBA) => Math.round(c.b),\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, b: Number(v) }),\n },\n {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: (c: RGBA) => Math.round(c.a * 100) / 100,\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, a: Number(v) }),\n },\n ],\n to: HSVAtoRGBA,\n from: RGBAtoHSVA,\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: HSLA) => Math.round(c.h),\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, h: Number(v) }),\n },\n {\n label: 'S',\n max: 1,\n step: 0.01,\n getValue: (c: HSLA) => Math.round(c.s * 100) / 100,\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, s: Number(v) }),\n },\n {\n label: 'L',\n max: 1,\n step: 0.01,\n getValue: (c: HSLA) => Math.round(c.l * 100) / 100,\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, l: Number(v) }),\n },\n {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: (c: HSLA) => Math.round(c.a * 100) / 100,\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, a: Number(v) }),\n },\n ],\n to: HSVAtoHSLA,\n from: HSLAtoHSVA,\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: HSVAtoHex,\n from: HexToHSVA,\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,8 +1,9 @@
1
- import { createTextVNode as _createTextVNode, createVNode as _createVNode, Fragment as _Fragment } from "vue";
1
+ import { createTextVNode as _createTextVNode, mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
2
  // Styles
3
3
  import "./VCombobox.css"; // Components
4
4
 
5
- import { genItem, makeSelectProps } from "../VSelect/VSelect.mjs";
5
+ import { makeSelectProps } from "../VSelect/VSelect.mjs";
6
+ import { VCheckboxBtn } from "../VCheckbox/index.mjs";
6
7
  import { VChip } from "../VChip/index.mjs";
7
8
  import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs";
8
9
  import { VList, VListItem } from "../VList/index.mjs";
@@ -11,12 +12,13 @@ import { VTextField } from "../VTextField/index.mjs"; // Composables
11
12
 
12
13
  import { makeFilterProps, useFilter } from "../../composables/filter.mjs";
13
14
  import { makeTransitionProps } from "../../composables/transition.mjs";
15
+ import { transformItem, useItems } from "../../composables/items.mjs";
14
16
  import { useForwardRef } from "../../composables/forwardRef.mjs";
15
17
  import { useLocale } from "../../composables/locale.mjs";
16
18
  import { useProxiedModel } from "../../composables/proxiedModel.mjs";
17
19
  import { useTextColor } from "../../composables/color.mjs"; // Utility
18
20
 
19
- import { computed, nextTick, ref, watch } from 'vue';
21
+ import { computed, mergeProps, nextTick, ref, watch } from 'vue';
20
22
  import { genericComponent, useRender, wrapInArray } from "../../util/index.mjs"; // Types
21
23
 
22
24
  function highlightResult(text, matches, length) {
@@ -40,52 +42,72 @@ export const VCombobox = genericComponent()({
40
42
  filterKeys: ['title']
41
43
  }),
42
44
  ...makeSelectProps({
43
- hideNoData: true
45
+ hideNoData: true,
46
+ returnObject: true
44
47
  }),
45
48
  ...makeTransitionProps({
46
49
  transition: false
47
50
  })
48
51
  },
49
52
  emits: {
50
- 'update:modelValue': val => true
53
+ 'update:modelValue': val => true,
54
+ 'update:searchInput': val => true,
55
+ 'update:menu': val => true
51
56
  },
52
57
 
53
58
  setup(props, _ref) {
54
59
  let {
60
+ emit,
55
61
  slots
56
62
  } = _ref;
57
63
  const {
58
64
  t
59
65
  } = useLocale();
60
66
  const vTextFieldRef = ref();
61
- const activator = ref();
62
67
  const isFocused = ref(false);
63
68
  const isPristine = ref(true);
64
- const menu = ref(false);
69
+ const menu = useProxiedModel(props, 'menu');
65
70
  const selectionIndex = ref(-1);
66
71
  const color = computed(() => {
67
72
  var _vTextFieldRef$value;
68
73
 
69
74
  return (_vTextFieldRef$value = vTextFieldRef.value) == null ? void 0 : _vTextFieldRef$value.color;
70
75
  });
71
- const items = computed(() => props.items.map(genItem));
76
+ const {
77
+ items,
78
+ transformIn,
79
+ transformOut
80
+ } = useItems(props);
72
81
  const {
73
82
  textColorClasses,
74
83
  textColorStyles
75
84
  } = useTextColor(color);
76
- const model = useProxiedModel(props, 'modelValue', [], v => wrapInArray(v || []), v => props.multiple ? v : v[0]);
85
+ const model = useProxiedModel(props, 'modelValue', [], v => transformIn(wrapInArray(v || [])), v => {
86
+ var _transformed$;
87
+
88
+ const transformed = transformOut(v);
89
+ return props.multiple ? transformed : (_transformed$ = transformed[0]) != null ? _transformed$ : null;
90
+ });
77
91
 
78
92
  const _search = ref('');
79
93
 
80
94
  const search = computed({
81
- get: () => props.multiple ? _search.value : genItem(model.value[0]).value,
95
+ get: () => {
96
+ if (props.multiple) return _search.value;
97
+ const item = items.value.find(item => {
98
+ var _model$value$;
99
+
100
+ return item.value === ((_model$value$ = model.value[0]) == null ? void 0 : _model$value$.value);
101
+ });
102
+ return item == null ? void 0 : item.value;
103
+ },
82
104
  set: val => {
83
105
  var _props$delimiters;
84
106
 
85
107
  if (props.multiple) {
86
108
  _search.value = val;
87
109
  } else {
88
- model.value = [val];
110
+ model.value = [transformItem(props, val)];
89
111
  }
90
112
 
91
113
  if (val && props.multiple && (_props$delimiters = props.delimiters) != null && _props$delimiters.length) {
@@ -94,9 +116,7 @@ export const VCombobox = genericComponent()({
94
116
  if (values.length > 1) {
95
117
  values.forEach(v => {
96
118
  v = v.trim();
97
- if (v) select({
98
- value: v
99
- });
119
+ if (v) select(transformItem(props, v));
100
120
  });
101
121
  _search.value = '';
102
122
  }
@@ -107,29 +127,18 @@ export const VCombobox = genericComponent()({
107
127
  isPristine.value = !val;
108
128
  }
109
129
  });
130
+ watch(_search, value => {
131
+ emit('update:searchInput', value);
132
+ });
110
133
  const {
111
134
  filteredItems
112
135
  } = useFilter(props, items, computed(() => isPristine.value ? undefined : search.value));
113
136
  const selections = computed(() => {
114
- const array = [];
115
- let index = 0;
116
-
117
- for (const unwrapped of model.value) {
118
- const item = genItem(unwrapped);
119
- const found = array.find(selection => selection.value === item.value);
120
-
121
- if (found == null) {
122
- array.push({ ...item,
123
- index,
124
- selected: index === selectionIndex.value
125
- });
126
- index++;
127
- }
128
- }
129
-
130
- return array;
137
+ return model.value.map(v => {
138
+ return items.value.find(item => item.value === v.value) || v;
139
+ });
131
140
  });
132
- const selected = computed(() => selections.value.map(selection => selection.value));
141
+ const selected = computed(() => selections.value.map(selection => selection.props.value));
133
142
  const selection = computed(() => selections.value[selectionIndex.value]);
134
143
 
135
144
  function onClear(e) {
@@ -202,9 +211,7 @@ export const VCombobox = genericComponent()({
202
211
  }
203
212
 
204
213
  if (e.key === 'Enter') {
205
- select({
206
- value: search.value
207
- });
214
+ select(transformItem(props, search.value));
208
215
  search.value = '';
209
216
  }
210
217
  }
@@ -215,12 +222,14 @@ export const VCombobox = genericComponent()({
215
222
 
216
223
  function select(item) {
217
224
  if (props.multiple) {
218
- const index = selections.value.findIndex(selection => selection.value === item.value);
225
+ const index = selected.value.findIndex(selection => selection === item.value);
219
226
 
220
227
  if (index === -1) {
221
- model.value.push(item.value);
228
+ model.value = [...model.value, item];
222
229
  } else {
223
- model.value = selected.value.filter(selection => selection !== item.value);
230
+ const value = [...model.value];
231
+ value.splice(index, 1);
232
+ model.value = value;
224
233
  }
225
234
 
226
235
  search.value = '';
@@ -234,9 +243,6 @@ export const VCombobox = genericComponent()({
234
243
  }
235
244
  }
236
245
 
237
- watch(() => vTextFieldRef.value, val => {
238
- activator.value = val.$el.querySelector('.v-input__control');
239
- });
240
246
  watch(filteredItems, val => {
241
247
  if (!val.length && props.hideNoData) menu.value = false;
242
248
  });
@@ -246,7 +252,7 @@ export const VCombobox = genericComponent()({
246
252
  } else {
247
253
  menu.value = false;
248
254
  if (!props.multiple || !search.value) return;
249
- model.value.push(search.value);
255
+ model.value = [...model.value, transformItem(props, search.value)];
250
256
  search.value = '';
251
257
  }
252
258
  });
@@ -255,7 +261,10 @@ export const VCombobox = genericComponent()({
255
261
  return _createVNode(VTextField, {
256
262
  "ref": vTextFieldRef,
257
263
  "modelValue": search.value,
258
- "onUpdate:modelValue": $event => search.value = $event,
264
+ "onUpdate:modelValue": [$event => search.value = $event, v => {
265
+ if (v == null) model.value = [];
266
+ }],
267
+ "validationValue": props.modelValue,
259
268
  "class": ['v-combobox', {
260
269
  'v-combobox--active-menu': menu.value,
261
270
  'v-combobox--chips': !!props.chips,
@@ -263,7 +272,6 @@ export const VCombobox = genericComponent()({
263
272
  [`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true
264
273
  }],
265
274
  "appendInnerIcon": props.items.length ? props.menuIcon : undefined,
266
- "dirty": selected.value.length > 0,
267
275
  "onClick:clear": onClear,
268
276
  "onClick:control": onClickControl,
269
277
  "onClick:input": onClickControl,
@@ -271,75 +279,97 @@ export const VCombobox = genericComponent()({
271
279
  "onBlur": () => isFocused.value = false,
272
280
  "onKeydown": onKeydown
273
281
  }, { ...slots,
274
- default: () => _createVNode(_Fragment, null, [activator.value && _createVNode(VMenu, {
275
- "modelValue": menu.value,
276
- "onUpdate:modelValue": $event => menu.value = $event,
277
- "activator": activator.value,
278
- "contentClass": "v-combobox__content",
279
- "eager": props.eager,
280
- "openOnClick": false,
281
- "transition": props.transition,
282
- "onAfterLeave": onAfterLeave
283
- }, {
284
- default: () => [_createVNode(VList, {
285
- "selected": selected.value,
286
- "selectStrategy": props.multiple ? 'independent' : 'single-independent'
287
- }, {
288
- default: () => [!filteredItems.value.length && !props.hideNoData && _createVNode(VListItem, {
289
- "title": t(props.noDataText)
290
- }, null), filteredItems.value.map(_ref2 => {
291
- let {
292
- item,
293
- matches
294
- } = _ref2;
295
- return _createVNode(VListItem, {
296
- "value": item.value,
297
- "onMousedown": e => e.preventDefault(),
298
- "onClick": () => select(item)
299
- }, {
300
- title: () => {
301
- var _search$value$length, _search$value;
302
-
303
- return isPristine.value ? item.title : highlightResult(item.title, matches.title, (_search$value$length = (_search$value = search.value) == null ? void 0 : _search$value.length) != null ? _search$value$length : 0);
304
- }
305
- });
282
+ default: () => {
283
+ var _slots$noData, _slots$noData2;
284
+
285
+ return _createVNode(_Fragment, null, [_createVNode(VMenu, _mergeProps({
286
+ "modelValue": menu.value,
287
+ "onUpdate:modelValue": $event => menu.value = $event,
288
+ "activator": "parent",
289
+ "contentClass": "v-combobox__content",
290
+ "eager": props.eager,
291
+ "openOnClick": false,
292
+ "closeOnContentClick": false,
293
+ "transition": props.transition,
294
+ "onAfterLeave": onAfterLeave
295
+ }, props.menuProps), {
296
+ default: () => [_createVNode(VList, {
297
+ "selected": selected.value,
298
+ "selectStrategy": props.multiple ? 'independent' : 'single-independent',
299
+ "onMousedown": e => e.preventDefault()
300
+ }, {
301
+ default: () => [!filteredItems.value.length && !props.hideNoData && ((_slots$noData = (_slots$noData2 = slots['no-data']) == null ? void 0 : _slots$noData2.call(slots)) != null ? _slots$noData : _createVNode(VListItem, {
302
+ "title": t(props.noDataText)
303
+ }, null)), filteredItems.value.map(_ref2 => {
304
+ var _slots$item, _slots$item2;
305
+
306
+ let {
307
+ item,
308
+ matches
309
+ } = _ref2;
310
+ return (_slots$item = (_slots$item2 = slots.item) == null ? void 0 : _slots$item2.call(slots, {
311
+ item,
312
+ props: mergeProps(item.props, {
313
+ onClick: () => select(item)
314
+ })
315
+ })) != null ? _slots$item : _createVNode(VListItem, _mergeProps(item.props, {
316
+ "onClick": () => select(item)
317
+ }), {
318
+ prepend: _ref3 => {
319
+ let {
320
+ isSelected
321
+ } = _ref3;
322
+ return props.multiple ? _createVNode(VCheckboxBtn, {
323
+ "modelValue": isSelected,
324
+ "ripple": false
325
+ }, null) : undefined;
326
+ },
327
+ title: () => {
328
+ var _search$value$length, _search$value;
329
+
330
+ return isPristine.value ? item.title : highlightResult(item.title, matches.title, (_search$value$length = (_search$value = search.value) == null ? void 0 : _search$value.length) != null ? _search$value$length : 0);
331
+ }
332
+ });
333
+ })]
306
334
  })]
307
- })]
308
- }), selections.value.map((selection, index) => {
309
- function onChipClose(e) {
310
- e.stopPropagation();
311
- e.preventDefault();
312
- select(selection);
313
- }
335
+ }), selections.value.map((item, index) => {
336
+ function onChipClose(e) {
337
+ e.stopPropagation();
338
+ e.preventDefault();
339
+ select(item);
340
+ }
314
341
 
315
- const slotProps = {
316
- 'onClick:close': onChipClose,
317
- modelValue: true
318
- };
319
- return _createVNode("div", {
320
- "class": ['v-combobox__selection', selection.selected && ['v-combobox__selection--selected', textColorClasses.value]],
321
- "style": selection.selected ? textColorStyles.value : {}
322
- }, [hasChips && _createVNode(VDefaultsProvider, {
323
- "defaults": {
324
- VChip: {
325
- closable: props.closableChips,
326
- size: 'small',
327
- text: selection.title
342
+ const slotProps = {
343
+ 'onClick:close': onChipClose,
344
+ modelValue: true
345
+ };
346
+ return _createVNode("div", {
347
+ "class": ['v-combobox__selection', index === selectionIndex.value && ['v-combobox__selection--selected', textColorClasses.value]],
348
+ "style": index === selectionIndex.value ? textColorStyles.value : {}
349
+ }, [hasChips ? _createVNode(VDefaultsProvider, {
350
+ "defaults": {
351
+ VChip: {
352
+ closable: props.closableChips,
353
+ size: 'small',
354
+ text: item.title
355
+ }
328
356
  }
329
- }
330
- }, {
331
- default: () => [slots.chip ? slots.chip({
332
- props: slotProps,
333
- selection
334
- }) : _createVNode(VChip, slotProps, null)]
335
- }), !hasChips && (slots.selection ? slots.selection({
336
- selection
337
- }) : _createVNode("span", {
338
- "class": "v-combobox__selection-text"
339
- }, [selection.title, props.multiple && index < selections.value.length - 1 && _createVNode("span", {
340
- "class": "v-combobox__selection-comma"
341
- }, [_createTextVNode(",")])]))]);
342
- })])
357
+ }, {
358
+ default: () => [slots.chip ? slots.chip({
359
+ props: slotProps,
360
+ item,
361
+ index
362
+ }) : _createVNode(VChip, slotProps, null)]
363
+ }) : slots.selection ? slots.selection({
364
+ item,
365
+ index
366
+ }) : _createVNode("span", {
367
+ "class": "v-combobox__selection-text"
368
+ }, [item.title, props.multiple && index < selections.value.length - 1 && _createVNode("span", {
369
+ "class": "v-combobox__selection-comma"
370
+ }, [_createTextVNode(",")])])]);
371
+ })]);
372
+ }
343
373
  });
344
374
  });
345
375
  return useForwardRef({