@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/composables/variant.tsx"],"names":["useColor","computed","unref","getCurrentInstanceName","propsFactory","allowedVariants","genOverlays","isClickable","name","makeVariantProps","color","String","textColor","variant","type","default","validator","v","includes","useVariant","props","variantClasses","colorClasses","colorStyles","text"],"mappings":";AAAA;SACSA,Q,uBAET;;AACA,SAASC,QAAT,EAAmBC,KAAnB,QAAgC,KAAhC;SACSC,sB,EAAwBC,Y,6BAEjC;;AAIA,OAAO,MAAMC,eAAe,GAAG,CAC7B,UAD6B,EAE7B,OAF6B,EAG7B,MAH6B,EAI7B,WAJ6B,EAK7B,gBAL6B,EAM7B,gBAN6B,CAAxB;AAiBP,OAAO,SAASC,WAAT,CAAsBC,WAAtB,EAA4CC,IAA5C,EAA0D;AAC/D,wCAEMD,WAAW;AAAA,aAAiB,GAAEC,IAAK;AAAxB,UAFjB;AAAA,aAIiB,GAAEA,IAAK;AAJxB;AAOD;AAED,OAAO,MAAMC,gBAAgB,GAAGL,YAAY,CAAC;AAC3CM,EAAAA,KAAK,EAAEC,MADoC;AAE3CC,EAAAA,SAAS,EAAED,MAFgC;AAG3CE,EAAAA,OAAO,EAAE;AACPC,IAAAA,IAAI,EAAEH,MADC;AAEPI,IAAAA,OAAO,EAAE,WAFF;AAGPC,IAAAA,SAAS,EAAGC,CAAD,IAAYZ,eAAe,CAACa,QAAhB,CAAyBD,CAAzB;AAHhB;AAHkC,CAAD,EAQzC,SARyC,CAArC;AAUP,OAAO,SAASE,UAAT,CACLC,KADK,EAGL;AAAA,MADAZ,IACA,uEADOL,sBAAsB,EAC7B;AACA,QAAMkB,cAAc,GAAGpB,QAAQ,CAAC,MAAM;AACpC,UAAM;AAAEY,MAAAA;AAAF,QAAcX,KAAK,CAACkB,KAAD,CAAzB;AACA,WAAQ,GAAEZ,IAAK,aAAYK,OAAQ,EAAnC;AACD,GAH8B,CAA/B;AAKA,QAAM;AAAES,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,MAAgCvB,QAAQ,CAACC,QAAQ,CAAC,MAAM;AAC5D,UAAM;AAAEW,MAAAA,SAAF;AAAaC,MAAAA,OAAb;AAAsBH,MAAAA;AAAtB,QAAgCR,KAAK,CAACkB,KAAD,CAA3C;AACA,WAAO;AACLI,MAAAA,IAAI,EAAEZ,SADD;AAEL,OAAC,CAAC,WAAD,EAAc,gBAAd,EAAgCM,QAAhC,CAAyCL,OAAzC,IAAoD,YAApD,GAAmE,MAApE,GAA6EH;AAFxE,KAAP;AAID,GANsD,CAAT,CAA9C;AAQA,SAAO;AAAEY,IAAAA,YAAF;AAAgBC,IAAAA,WAAhB;AAA6BF,IAAAA;AAA7B,GAAP;AACD","sourcesContent":["// Composables\nimport { useColor } from '@/composables/color'\n\n// Utilities\nimport { computed, unref } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport const allowedVariants = [\n 'outlined',\n 'plain',\n 'text',\n 'contained',\n 'contained-flat',\n 'contained-text',\n] as const\n\nexport type Variant = typeof allowedVariants[number]\n\nexport interface VariantProps {\n color?: string\n textColor?: string\n variant: Variant\n}\n\nexport function genOverlays (isClickable: boolean, name: string) {\n return (\n <>\n { isClickable && <div class={`${name}__overlay`} /> }\n\n <div class={`${name}__underlay`} />\n </>\n )\n}\n\nexport const makeVariantProps = propsFactory({\n color: String,\n textColor: String,\n variant: {\n type: String as PropType<Variant>,\n default: 'contained',\n validator: (v: any) => allowedVariants.includes(v),\n },\n}, 'variant')\n\nexport function useVariant (\n props: MaybeRef<VariantProps>,\n name = getCurrentInstanceName(),\n) {\n const variantClasses = computed(() => {\n const { variant } = unref(props)\n return `${name}--variant-${variant}`\n })\n\n const { colorClasses, colorStyles } = useColor(computed(() => {\n const { textColor, variant, color } = unref(props)\n return {\n text: textColor,\n [['contained', 'contained-flat'].includes(variant) ? 'background' : 'text']: color,\n }\n }))\n\n return { colorClasses, colorStyles, variantClasses }\n}\n"],"file":"variant.mjs"}
1
+ {"version":3,"file":"variant.mjs","names":["useColor","computed","unref","getCurrentInstanceName","propsFactory","allowedVariants","genOverlays","isClickable","name","makeVariantProps","color","String","variant","type","default","validator","v","includes","useVariant","props","variantClasses","colorClasses","colorStyles"],"sources":["../../src/composables/variant.tsx"],"sourcesContent":["// Composables\nimport { useColor } from '@/composables/color'\n\n// Utilities\nimport { computed, unref } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport const allowedVariants = [\n 'elevated',\n 'flat',\n 'tonal',\n 'outlined',\n 'text',\n 'plain',\n] as const\n\nexport type Variant = typeof allowedVariants[number]\n\nexport interface VariantProps {\n color?: string\n variant: Variant\n}\n\nexport function genOverlays (isClickable: boolean, name: string) {\n return (\n <>\n { isClickable && <div class={`${name}__overlay`} /> }\n\n <div class={`${name}__underlay`} />\n </>\n )\n}\n\nexport const makeVariantProps = propsFactory({\n color: String,\n variant: {\n type: String as PropType<Variant>,\n default: 'elevated',\n validator: (v: any) => allowedVariants.includes(v),\n },\n}, 'variant')\n\nexport function useVariant (\n props: MaybeRef<VariantProps>,\n name = getCurrentInstanceName(),\n) {\n const variantClasses = computed(() => {\n const { variant } = unref(props)\n return `${name}--variant-${variant}`\n })\n\n const { colorClasses, colorStyles } = useColor(computed(() => {\n const { variant, color } = unref(props)\n return {\n [['elevated', 'flat'].includes(variant) ? 'background' : 'text']: color,\n }\n }))\n\n return { colorClasses, colorStyles, variantClasses }\n}\n"],"mappings":";AAAA;SACSA,Q,uBAET;;AACA,SAASC,QAAT,EAAmBC,KAAnB,QAAgC,KAAhC;SACSC,sB,EAAwBC,Y,6BAEjC;;AAIA,OAAO,MAAMC,eAAe,GAAG,CAC7B,UAD6B,EAE7B,MAF6B,EAG7B,OAH6B,EAI7B,UAJ6B,EAK7B,MAL6B,EAM7B,OAN6B,CAAxB;AAgBP,OAAO,SAASC,WAAT,CAAsBC,WAAtB,EAA4CC,IAA5C,EAA0D;EAC/D,sCAEMD,WAAW;IAAA,SAAiB,GAAEC,IAAK;EAAxB,QAFjB;IAAA,SAIiB,GAAEA,IAAK;EAJxB;AAOD;AAED,OAAO,MAAMC,gBAAgB,GAAGL,YAAY,CAAC;EAC3CM,KAAK,EAAEC,MADoC;EAE3CC,OAAO,EAAE;IACPC,IAAI,EAAEF,MADC;IAEPG,OAAO,EAAE,UAFF;IAGPC,SAAS,EAAGC,CAAD,IAAYX,eAAe,CAACY,QAAhB,CAAyBD,CAAzB;EAHhB;AAFkC,CAAD,EAOzC,SAPyC,CAArC;AASP,OAAO,SAASE,UAAT,CACLC,KADK,EAGL;EAAA,IADAX,IACA,uEADOL,sBAAsB,EAC7B;EACA,MAAMiB,cAAc,GAAGnB,QAAQ,CAAC,MAAM;IACpC,MAAM;MAAEW;IAAF,IAAcV,KAAK,CAACiB,KAAD,CAAzB;IACA,OAAQ,GAAEX,IAAK,aAAYI,OAAQ,EAAnC;EACD,CAH8B,CAA/B;EAKA,MAAM;IAAES,YAAF;IAAgBC;EAAhB,IAAgCtB,QAAQ,CAACC,QAAQ,CAAC,MAAM;IAC5D,MAAM;MAAEW,OAAF;MAAWF;IAAX,IAAqBR,KAAK,CAACiB,KAAD,CAAhC;IACA,OAAO;MACL,CAAC,CAAC,UAAD,EAAa,MAAb,EAAqBF,QAArB,CAA8BL,OAA9B,IAAyC,YAAzC,GAAwD,MAAzD,GAAkEF;IAD7D,CAAP;EAGD,CALsD,CAAT,CAA9C;EAOA,OAAO;IAAEW,YAAF;IAAgBC,WAAhB;IAA6BF;EAA7B,CAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/click-outside/index.ts"],"names":["attachedRoot","defaultConditional","checkEvent","e","el","binding","checkIsActive","root","ShadowRoot","host","target","elements","value","include","push","some","contains","isActive","closeConditional","directive","handler","_clickOutside","lastMousedownWasOutside","setTimeout","handleShadow","callback","document","ClickOutside","mounted","onClick","onMousedown","app","addEventListener","instance","$","uid","unmounted","removeEventListener"],"mappings":"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","sourcesContent":["import { attachedRoot } from '@/util'\nimport type { DirectiveBinding } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: MouseEvent) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirectiveBinding extends DirectiveBinding {\n value: ((e: MouseEvent) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el?.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: MouseEvent, binding: ClickOutsideDirectiveBinding): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n mounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const onClick = (e: Event) => directive(e as MouseEvent, el, binding)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as MouseEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: true,\n }\n }\n\n el._clickOutside[binding.instance!.$.uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unmounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside?.[binding.instance!.$.uid]) return\n\n const { onClick, onMousedown } = el._clickOutside[binding.instance!.$.uid]!\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[binding.instance!.$.uid]\n },\n}\n\nexport default ClickOutside\n"],"file":"index.mjs"}
1
+ {"version":3,"file":"index.mjs","names":["attachedRoot","defaultConditional","checkEvent","e","el","binding","checkIsActive","root","ShadowRoot","host","target","elements","value","include","push","some","contains","isActive","closeConditional","directive","handler","_clickOutside","lastMousedownWasOutside","setTimeout","handleShadow","callback","document","ClickOutside","mounted","onClick","onMousedown","app","addEventListener","instance","$","uid","unmounted","removeEventListener"],"sources":["../../../src/directives/click-outside/index.ts"],"sourcesContent":["import { attachedRoot } from '@/util'\nimport type { DirectiveBinding } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: MouseEvent) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirectiveBinding extends DirectiveBinding {\n value: ((e: MouseEvent) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el?.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: MouseEvent, binding: ClickOutsideDirectiveBinding): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n mounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const onClick = (e: Event) => directive(e as MouseEvent, el, binding)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as MouseEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: true,\n }\n }\n\n el._clickOutside[binding.instance!.$.uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unmounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside?.[binding.instance!.$.uid]) return\n\n const { onClick, onMousedown } = el._clickOutside[binding.instance!.$.uid]!\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[binding.instance!.$.uid]\n },\n}\n\nexport default ClickOutside\n"],"mappings":"SAASA,Y;;AAaT,SAASC,kBAAT,GAA+B;EAC7B,OAAO,IAAP;AACD;;AAED,SAASC,UAAT,CAAqBC,CAArB,EAAoCC,EAApC,EAAqDC,OAArD,EAAqG;EACnG;EACA;EACA;EACA;EACA,IAAI,CAACF,CAAD,IAAMG,aAAa,CAACH,CAAD,EAAIE,OAAJ,CAAb,KAA8B,KAAxC,EAA+C,OAAO,KAAP,CALoD,CAOnG;EACA;EACA;;EACA,MAAME,IAAI,GAAGP,YAAY,CAACI,EAAD,CAAzB;EACA,IACE,OAAOI,UAAP,KAAsB,WAAtB,IACAD,IAAI,YAAYC,UADhB,IAEAD,IAAI,CAACE,IAAL,KAAcN,CAAC,CAACO,MAHlB,EAIE,OAAO,KAAP,CAfiG,CAiBnG;EACA;;EACA,MAAMC,QAAQ,GAAG,CAAE,OAAON,OAAO,CAACO,KAAf,KAAyB,QAAzB,IAAqCP,OAAO,CAACO,KAAR,CAAcC,OAApD,KAAiE,MAAM,EAAvE,CAAD,GAAjB,CAnBmG,CAoBnG;;;EACAF,QAAQ,CAACG,IAAT,CAAcV,EAAd,EArBmG,CAuBnG;EACA;EACA;EACA;EACA;;EACA,OAAO,CAACO,QAAQ,CAACI,IAAT,CAAcX,EAAE,IAAIA,EAAJ,oBAAIA,EAAE,CAAEY,QAAJ,CAAab,CAAC,CAACO,MAAf,CAApB,CAAR;AACD;;AAED,SAASJ,aAAT,CAAwBH,CAAxB,EAAuCE,OAAvC,EAA8F;EAC5F,MAAMY,QAAQ,GAAI,OAAOZ,OAAO,CAACO,KAAf,KAAyB,QAAzB,IAAqCP,OAAO,CAACO,KAAR,CAAcM,gBAApD,IAAyEjB,kBAA1F;EAEA,OAAOgB,QAAQ,CAACd,CAAD,CAAf;AACD;;AAED,SAASgB,SAAT,CAAoBhB,CAApB,EAAmCC,EAAnC,EAAoDC,OAApD,EAA2F;EACzF,MAAMe,OAAO,GAAG,OAAOf,OAAO,CAACO,KAAf,KAAyB,UAAzB,GAAsCP,OAAO,CAACO,KAA9C,GAAsDP,OAAO,CAACO,KAAR,CAAcQ,OAApF;EAEAhB,EAAE,CAACiB,aAAH,CAAkBC,uBAAlB,IAA6CpB,UAAU,CAACC,CAAD,EAAIC,EAAJ,EAAQC,OAAR,CAAvD,IAA2EkB,UAAU,CAAC,MAAM;IAC1FjB,aAAa,CAACH,CAAD,EAAIE,OAAJ,CAAb,IAA6Be,OAA7B,IAAwCA,OAAO,CAACjB,CAAD,CAA/C;EACD,CAFoF,EAElF,CAFkF,CAArF;AAGD;;AAED,SAASqB,YAAT,CAAuBpB,EAAvB,EAAwCqB,QAAxC,EAAkE;EAChE,MAAMlB,IAAI,GAAGP,YAAY,CAACI,EAAD,CAAzB;EAEAqB,QAAQ,CAACC,QAAD,CAAR;;EAEA,IAAI,OAAOlB,UAAP,KAAsB,WAAtB,IAAqCD,IAAI,YAAYC,UAAzD,EAAqE;IACnEiB,QAAQ,CAAClB,IAAD,CAAR;EACD;AACF;;AAED,OAAO,MAAMoB,YAAY,GAAG;EAC1B;EACA;EACA;EACA;EACA;EACAC,OAAO,CAAExB,EAAF,EAAmBC,OAAnB,EAA0D;IAC/D,MAAMwB,OAAO,GAAI1B,CAAD,IAAcgB,SAAS,CAAChB,CAAD,EAAkBC,EAAlB,EAAsBC,OAAtB,CAAvC;;IACA,MAAMyB,WAAW,GAAI3B,CAAD,IAAc;MAChCC,EAAE,CAACiB,aAAH,CAAkBC,uBAAlB,GAA4CpB,UAAU,CAACC,CAAD,EAAkBC,EAAlB,EAAsBC,OAAtB,CAAtD;IACD,CAFD;;IAIAmB,YAAY,CAACpB,EAAD,EAAM2B,GAAD,IAAsB;MACrCA,GAAG,CAACC,gBAAJ,CAAqB,OAArB,EAA8BH,OAA9B,EAAuC,IAAvC;MACAE,GAAG,CAACC,gBAAJ,CAAqB,WAArB,EAAkCF,WAAlC,EAA+C,IAA/C;IACD,CAHW,CAAZ;;IAKA,IAAI,CAAC1B,EAAE,CAACiB,aAAR,EAAuB;MACrBjB,EAAE,CAACiB,aAAH,GAAmB;QACjBC,uBAAuB,EAAE;MADR,CAAnB;IAGD;;IAEDlB,EAAE,CAACiB,aAAH,CAAiBhB,OAAO,CAAC4B,QAAR,CAAkBC,CAAlB,CAAoBC,GAArC,IAA4C;MAC1CN,OAD0C;MAE1CC;IAF0C,CAA5C;EAID,CA3ByB;;EA6B1BM,SAAS,CAAEhC,EAAF,EAAmBC,OAAnB,EAA0D;IACjE,IAAI,CAACD,EAAE,CAACiB,aAAR,EAAuB;IAEvBG,YAAY,CAACpB,EAAD,EAAM2B,GAAD,IAAsB;MAAA;;MACrC,IAAI,CAACA,GAAD,IAAQ,uBAAC3B,EAAE,CAACiB,aAAJ,aAAC,kBAAmBhB,OAAO,CAAC4B,QAAR,CAAkBC,CAAlB,CAAoBC,GAAvC,CAAD,CAAZ,EAA0D;MAE1D,MAAM;QAAEN,OAAF;QAAWC;MAAX,IAA2B1B,EAAE,CAACiB,aAAH,CAAiBhB,OAAO,CAAC4B,QAAR,CAAkBC,CAAlB,CAAoBC,GAArC,CAAjC;MAEAJ,GAAG,CAACM,mBAAJ,CAAwB,OAAxB,EAAiCR,OAAjC,EAA0C,IAA1C;MACAE,GAAG,CAACM,mBAAJ,CAAwB,WAAxB,EAAqCP,WAArC,EAAkD,IAAlD;IACD,CAPW,CAAZ;IASA,OAAO1B,EAAE,CAACiB,aAAH,CAAiBhB,OAAO,CAAC4B,QAAR,CAAkBC,CAAlB,CAAoBC,GAArC,CAAP;EACD;;AA1CyB,CAArB;AA6CP,eAAeR,YAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/color/index.ts"],"names":["classToHex","isCssColor","parseGradient","colors","setTextColor","el","color","currentTheme","cssColor","style","caretColor","setBackgroundColor","backgroundColor","borderColor","setBorderColor","modifiers","Object","keys","length","top","borderTopColor","right","borderRightColor","bottom","borderBottomColor","left","borderLeftColor","setGradientColor","gradient","backgroundImage","updateColor","binding","node","context","$vuetify","theme","arg","undefined","value","update","oldValue","Color","bind"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Utilities\nimport {\n classToHex,\n isCssColor,\n parseGradient,\n} from '../../util/colorUtils'\nimport colors from '../../util/colors'\n\n// Types\nimport { VuetifyThemeVariant } from 'types/services/theme'\nimport { VNode, VNodeDirective } from 'vue'\n\ninterface BorderModifiers {\n top?: Boolean\n right?: Boolean\n bottom?: Boolean\n left?: Boolean\n}\n\nfunction setTextColor (\n el: HTMLElement,\n color: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n) {\n const cssColor = !isCssColor(color) ? classToHex(color, colors, currentTheme) : color\n\n el.style.color = cssColor\n el.style.caretColor = cssColor\n}\n\nfunction setBackgroundColor (\n el: HTMLElement,\n color: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n) {\n const cssColor = !isCssColor(color) ? classToHex(color, colors, currentTheme) : color\n\n el.style.backgroundColor = cssColor\n el.style.borderColor = cssColor\n}\n\nfunction setBorderColor (\n el: HTMLElement,\n color: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n modifiers?: BorderModifiers,\n) {\n const cssColor = !isCssColor(color) ? classToHex(color, colors, currentTheme) : color\n\n if (!modifiers || !Object.keys(modifiers).length) {\n el.style.borderColor = cssColor\n return\n }\n\n if (modifiers.top) el.style.borderTopColor = cssColor\n if (modifiers.right) el.style.borderRightColor = cssColor\n if (modifiers.bottom) el.style.borderBottomColor = cssColor\n if (modifiers.left) el.style.borderLeftColor = cssColor\n}\n\nfunction setGradientColor (\n el: HTMLElement,\n gradient: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n) {\n el.style.backgroundImage = `linear-gradient(${\n parseGradient(gradient, colors, currentTheme)\n })`\n}\n\nfunction updateColor (\n el: HTMLElement,\n binding: VNodeDirective,\n node: VNode\n) {\n const currentTheme = node.context!.$vuetify.theme.currentTheme\n\n if (binding.arg === undefined) {\n setBackgroundColor(el, binding.value, currentTheme)\n } else if (binding.arg === 'text') {\n setTextColor(el, binding.value, currentTheme)\n } else if (binding.arg === 'border') {\n setBorderColor(el, binding.value, currentTheme, binding.modifiers)\n } else if (binding.arg === 'gradient') {\n setGradientColor(el, binding.value, currentTheme)\n }\n}\n\nfunction update (\n el: HTMLElement,\n binding: VNodeDirective,\n node: VNode\n) {\n if (binding.value === binding.oldValue) return\n\n updateColor(el, binding, node)\n}\n\nexport const Color = {\n bind: updateColor,\n update,\n}\n\nexport default Color\n"],"file":"index.mjs"}
1
+ {"version":3,"file":"index.mjs","names":["classToHex","isCssColor","parseGradient","colors","setTextColor","el","color","currentTheme","cssColor","style","caretColor","setBackgroundColor","backgroundColor","borderColor","setBorderColor","modifiers","Object","keys","length","top","borderTopColor","right","borderRightColor","bottom","borderBottomColor","left","borderLeftColor","setGradientColor","gradient","backgroundImage","updateColor","binding","node","context","$vuetify","theme","arg","undefined","value","update","oldValue","Color","bind"],"sources":["../../../src/directives/color/index.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Utilities\nimport {\n classToHex,\n isCssColor,\n parseGradient,\n} from '../../util/colorUtils'\nimport colors from '../../util/colors'\n\n// Types\nimport { VuetifyThemeVariant } from 'types/services/theme'\nimport { VNode, VNodeDirective } from 'vue'\n\ninterface BorderModifiers {\n top?: Boolean\n right?: Boolean\n bottom?: Boolean\n left?: Boolean\n}\n\nfunction setTextColor (\n el: HTMLElement,\n color: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n) {\n const cssColor = !isCssColor(color) ? classToHex(color, colors, currentTheme) : color\n\n el.style.color = cssColor\n el.style.caretColor = cssColor\n}\n\nfunction setBackgroundColor (\n el: HTMLElement,\n color: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n) {\n const cssColor = !isCssColor(color) ? classToHex(color, colors, currentTheme) : color\n\n el.style.backgroundColor = cssColor\n el.style.borderColor = cssColor\n}\n\nfunction setBorderColor (\n el: HTMLElement,\n color: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n modifiers?: BorderModifiers,\n) {\n const cssColor = !isCssColor(color) ? classToHex(color, colors, currentTheme) : color\n\n if (!modifiers || !Object.keys(modifiers).length) {\n el.style.borderColor = cssColor\n return\n }\n\n if (modifiers.top) el.style.borderTopColor = cssColor\n if (modifiers.right) el.style.borderRightColor = cssColor\n if (modifiers.bottom) el.style.borderBottomColor = cssColor\n if (modifiers.left) el.style.borderLeftColor = cssColor\n}\n\nfunction setGradientColor (\n el: HTMLElement,\n gradient: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n) {\n el.style.backgroundImage = `linear-gradient(${\n parseGradient(gradient, colors, currentTheme)\n })`\n}\n\nfunction updateColor (\n el: HTMLElement,\n binding: VNodeDirective,\n node: VNode\n) {\n const currentTheme = node.context!.$vuetify.theme.currentTheme\n\n if (binding.arg === undefined) {\n setBackgroundColor(el, binding.value, currentTheme)\n } else if (binding.arg === 'text') {\n setTextColor(el, binding.value, currentTheme)\n } else if (binding.arg === 'border') {\n setBorderColor(el, binding.value, currentTheme, binding.modifiers)\n } else if (binding.arg === 'gradient') {\n setGradientColor(el, binding.value, currentTheme)\n }\n}\n\nfunction update (\n el: HTMLElement,\n binding: VNodeDirective,\n node: VNode\n) {\n if (binding.value === binding.oldValue) return\n\n updateColor(el, binding, node)\n}\n\nexport const Color = {\n bind: updateColor,\n update,\n}\n\nexport default Color\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/directives/index.ts"],"names":["ClickOutside","Intersect","Mutate","Resize","Ripple","Scroll","Touch"],"mappings":"SAASA,Y,qCACT;;SACSC,S;SACAC,M;SACAC,M;SACAC,M;SACAC,M;SACAC,K","sourcesContent":["export { ClickOutside } from './click-outside'\n// export { Color } from './color'\nexport { Intersect } from './intersect'\nexport { Mutate } from './mutate'\nexport { Resize } from './resize'\nexport { Ripple } from './ripple'\nexport { Scroll } from './scroll'\nexport { Touch } from './touch'\n"],"file":"index.mjs"}
1
+ {"version":3,"file":"index.mjs","names":["ClickOutside","Intersect","Mutate","Resize","Ripple","Scroll","Touch"],"sources":["../../src/directives/index.ts"],"sourcesContent":["export { ClickOutside } from './click-outside'\n// export { Color } from './color'\nexport { Intersect } from './intersect'\nexport { Mutate } from './mutate'\nexport { Resize } from './resize'\nexport { Ripple } from './ripple'\nexport { Scroll } from './scroll'\nexport { Touch } from './touch'\n"],"mappings":"SAASA,Y,qCACT;;SACSC,S;SACAC,M;SACAC,M;SACAC,M;SACAC,M;SACAC,K"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/intersect/index.ts"],"names":["SUPPORTS_INTERSECTION","mounted","el","binding","modifiers","value","handler","options","observer","IntersectionObserver","entries","_observe","instance","$","uid","isIntersecting","some","entry","quiet","init","once","unmounted","Object","observe","unobserve","Intersect"],"mappings":"AAAA;SACSA,qB,gCAET;;AAoBA,SAASC,OAAT,CAAkBC,EAAlB,EAAmCC,OAAnC,EAAqE;AACnE,MAAI,CAACH,qBAAL,EAA4B;AAE5B,QAAMI,SAAS,GAAGD,OAAO,CAACC,SAAR,IAAqB,EAAvC;AACA,QAAMC,KAAK,GAAGF,OAAO,CAACE,KAAtB;AACA,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA;AAAX,MAAuB,OAAOF,KAAP,KAAiB,QAAjB,GACzBA,KADyB,GAEzB;AAAEC,IAAAA,OAAO,EAAED,KAAX;AAAkBE,IAAAA,OAAO,EAAE;AAA3B,GAFJ;AAIA,QAAMC,QAAQ,GAAG,IAAIC,oBAAJ,CAAyB,YAGrC;AAAA;;AAAA,QAFHC,OAEG,uEAFoC,EAEpC;AAAA,QADHF,QACG;;AACH,UAAMG,QAAQ,mBAAGT,EAAE,CAACS,QAAN,qBAAG,aAAcR,OAAO,CAACS,QAAR,CAAkBC,CAAlB,CAAoBC,GAAlC,CAAjB;;AACA,QAAI,CAACH,QAAL,EAAe,OAFZ,CAEmB;;AAEtB,UAAMI,cAAc,GAAGL,OAAO,CAACM,IAAR,CAAaC,KAAK,IAAIA,KAAK,CAACF,cAA5B,CAAvB,CAJG,CAMH;AACA;;AACA,QACET,OAAO,KACL,CAACF,SAAS,CAACc,KAAX,IACAP,QAAQ,CAACQ,IAFJ,CAAP,KAIE,CAACf,SAAS,CAACgB,IAAX,IACAL,cADA,IAEAJ,QAAQ,CAACQ,IANX,CADF,EASE;AACAb,MAAAA,OAAO,CAACS,cAAD,EAAiBL,OAAjB,EAA0BF,QAA1B,CAAP;AACD;;AAED,QAAIO,cAAc,IAAIX,SAAS,CAACgB,IAAhC,EAAsCC,SAAS,CAACnB,EAAD,EAAKC,OAAL,CAAT,CAAtC,KACKQ,QAAQ,CAACQ,IAAT,GAAgB,IAAhB;AACN,GA1BgB,EA0BdZ,OA1Bc,CAAjB;AA4BAL,EAAAA,EAAE,CAACS,QAAH,GAAcW,MAAM,CAACpB,EAAE,CAACS,QAAJ,CAApB;AACAT,EAAAA,EAAE,CAACS,QAAH,CAAaR,OAAO,CAACS,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,IAAwC;AAAEK,IAAAA,IAAI,EAAE,KAAR;AAAeX,IAAAA;AAAf,GAAxC;AAEAA,EAAAA,QAAQ,CAACe,OAAT,CAAiBrB,EAAjB;AACD;;AAED,SAASmB,SAAT,CAAoBnB,EAApB,EAAqCC,OAArC,EAAuE;AAAA;;AACrE,QAAMoB,OAAO,oBAAGrB,EAAE,CAACS,QAAN,qBAAG,cAAcR,OAAO,CAACS,QAAR,CAAkBC,CAAlB,CAAoBC,GAAlC,CAAhB;AACA,MAAI,CAACS,OAAL,EAAc;AAEdA,EAAAA,OAAO,CAACf,QAAR,CAAiBgB,SAAjB,CAA2BtB,EAA3B;AACA,SAAOA,EAAE,CAACS,QAAH,CAAaR,OAAO,CAACS,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAAP;AACD;;AAED,OAAO,MAAMW,SAAuC,GAAG;AACrDxB,EAAAA,OADqD;AAErDoB,EAAAA;AAFqD,CAAhD;AAKP,eAAeI,SAAf","sourcesContent":["// Utils\nimport { SUPPORTS_INTERSECTION } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\ntype ObserveHandler = (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n) => void\n\nexport interface ObserveDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n if (!SUPPORTS_INTERSECTION) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n const _observe = el._observe?.[binding.instance!.$.uid]\n if (!_observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n _observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n _observe.init\n )\n ) {\n handler(isIntersecting, entries, observer)\n }\n\n if (isIntersecting && modifiers.once) unmounted(el, binding)\n else _observe.init = true\n }, options)\n\n el._observe = Object(el._observe)\n el._observe![binding.instance!.$.uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unmounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n const observe = el._observe?.[binding.instance!.$.uid]\n if (!observe) return\n\n observe.observer.unobserve(el)\n delete el._observe![binding.instance!.$.uid]\n}\n\nexport const Intersect: ObjectDirective<HTMLElement> = {\n mounted,\n unmounted,\n}\n\nexport default Intersect\n"],"file":"index.mjs"}
1
+ {"version":3,"file":"index.mjs","names":["SUPPORTS_INTERSECTION","mounted","el","binding","modifiers","value","handler","options","observer","IntersectionObserver","entries","_observe","instance","$","uid","isIntersecting","some","entry","quiet","init","once","unmounted","Object","observe","unobserve","Intersect"],"sources":["../../../src/directives/intersect/index.ts"],"sourcesContent":["// Utils\nimport { SUPPORTS_INTERSECTION } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\ntype ObserveHandler = (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n) => void\n\nexport interface ObserveDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n if (!SUPPORTS_INTERSECTION) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n const _observe = el._observe?.[binding.instance!.$.uid]\n if (!_observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n _observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n _observe.init\n )\n ) {\n handler(isIntersecting, entries, observer)\n }\n\n if (isIntersecting && modifiers.once) unmounted(el, binding)\n else _observe.init = true\n }, options)\n\n el._observe = Object(el._observe)\n el._observe![binding.instance!.$.uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unmounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n const observe = el._observe?.[binding.instance!.$.uid]\n if (!observe) return\n\n observe.observer.unobserve(el)\n delete el._observe![binding.instance!.$.uid]\n}\n\nexport const Intersect: ObjectDirective<HTMLElement> = {\n mounted,\n unmounted,\n}\n\nexport default Intersect\n"],"mappings":"AAAA;SACSA,qB,gCAET;;AAoBA,SAASC,OAAT,CAAkBC,EAAlB,EAAmCC,OAAnC,EAAqE;EACnE,IAAI,CAACH,qBAAL,EAA4B;EAE5B,MAAMI,SAAS,GAAGD,OAAO,CAACC,SAAR,IAAqB,EAAvC;EACA,MAAMC,KAAK,GAAGF,OAAO,CAACE,KAAtB;EACA,MAAM;IAAEC,OAAF;IAAWC;EAAX,IAAuB,OAAOF,KAAP,KAAiB,QAAjB,GACzBA,KADyB,GAEzB;IAAEC,OAAO,EAAED,KAAX;IAAkBE,OAAO,EAAE;EAA3B,CAFJ;EAIA,MAAMC,QAAQ,GAAG,IAAIC,oBAAJ,CAAyB,YAGrC;IAAA;;IAAA,IAFHC,OAEG,uEAFoC,EAEpC;IAAA,IADHF,QACG;;IACH,MAAMG,QAAQ,mBAAGT,EAAE,CAACS,QAAN,qBAAG,aAAcR,OAAO,CAACS,QAAR,CAAkBC,CAAlB,CAAoBC,GAAlC,CAAjB;;IACA,IAAI,CAACH,QAAL,EAAe,OAFZ,CAEmB;;IAEtB,MAAMI,cAAc,GAAGL,OAAO,CAACM,IAAR,CAAaC,KAAK,IAAIA,KAAK,CAACF,cAA5B,CAAvB,CAJG,CAMH;IACA;;IACA,IACET,OAAO,KACL,CAACF,SAAS,CAACc,KAAX,IACAP,QAAQ,CAACQ,IAFJ,CAAP,KAIE,CAACf,SAAS,CAACgB,IAAX,IACAL,cADA,IAEAJ,QAAQ,CAACQ,IANX,CADF,EASE;MACAb,OAAO,CAACS,cAAD,EAAiBL,OAAjB,EAA0BF,QAA1B,CAAP;IACD;;IAED,IAAIO,cAAc,IAAIX,SAAS,CAACgB,IAAhC,EAAsCC,SAAS,CAACnB,EAAD,EAAKC,OAAL,CAAT,CAAtC,KACKQ,QAAQ,CAACQ,IAAT,GAAgB,IAAhB;EACN,CA1BgB,EA0BdZ,OA1Bc,CAAjB;EA4BAL,EAAE,CAACS,QAAH,GAAcW,MAAM,CAACpB,EAAE,CAACS,QAAJ,CAApB;EACAT,EAAE,CAACS,QAAH,CAAaR,OAAO,CAACS,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,IAAwC;IAAEK,IAAI,EAAE,KAAR;IAAeX;EAAf,CAAxC;EAEAA,QAAQ,CAACe,OAAT,CAAiBrB,EAAjB;AACD;;AAED,SAASmB,SAAT,CAAoBnB,EAApB,EAAqCC,OAArC,EAAuE;EAAA;;EACrE,MAAMoB,OAAO,oBAAGrB,EAAE,CAACS,QAAN,qBAAG,cAAcR,OAAO,CAACS,QAAR,CAAkBC,CAAlB,CAAoBC,GAAlC,CAAhB;EACA,IAAI,CAACS,OAAL,EAAc;EAEdA,OAAO,CAACf,QAAR,CAAiBgB,SAAjB,CAA2BtB,EAA3B;EACA,OAAOA,EAAE,CAACS,QAAH,CAAaR,OAAO,CAACS,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAAP;AACD;;AAED,OAAO,MAAMW,SAAuC,GAAG;EACrDxB,OADqD;EAErDoB;AAFqD,CAAhD;AAKP,eAAeI,SAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/mutate/index.ts"],"names":["mounted","el","binding","modifiers","value","once","immediate","modifierKeys","defaultValue","Object","keys","length","handler","options","attributes","attr","characterData","char","childList","child","subtree","sub","observer","MutationObserver","mutations","unmounted","_mutate","instance","$","uid","observe","disconnect","Mutate"],"mappings":"AAAA;AASA,SAASA,OAAT,CAAkBC,EAAlB,EAAmCC,OAAnC,EAAsE;AAAA;;AACpE,QAAMC,SAAS,GAAGD,OAAO,CAACC,SAAR,IAAqB,EAAvC;AACA,QAAMC,KAAK,GAAGF,OAAO,CAACE,KAAtB;AACA,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,SAAR;AAAmB,OAAGC;AAAtB,MAAuCJ,SAA7C;AACA,QAAMK,YAAY,GAAG,CAACC,MAAM,CAACC,IAAP,CAAYH,YAAZ,EAA0BI,MAAhD;AAEA,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA;AAAX,MAAuB,OAAOT,KAAP,KAAiB,QAAjB,GACzBA,KADyB,GAEzB;AACAQ,IAAAA,OAAO,EAAER,KADT;AAEAS,IAAAA,OAAO,EAAE;AACPC,MAAAA,UAAU,wBAAEP,YAAF,oBAAEA,YAAY,CAAEQ,IAAhB,iCAAwBP,YAD3B;AAEPQ,MAAAA,aAAa,wBAAET,YAAF,oBAAEA,YAAY,CAAEU,IAAhB,iCAAwBT,YAF9B;AAGPU,MAAAA,SAAS,yBAAEX,YAAF,oBAAEA,YAAY,CAAEY,KAAhB,kCAAyBX,YAH3B;AAIPY,MAAAA,OAAO,uBAAEb,YAAF,oBAAEA,YAAY,CAAEc,GAAhB,gCAAuBb;AAJvB;AAFT,GAFJ;AAYA,QAAMc,QAAQ,GAAG,IAAIC,gBAAJ,CAAqB,YAGjC;AAAA,QAFHC,SAEG,uEAF2B,EAE3B;AAAA,QADHF,QACG;AACHV,IAAAA,OAAO,QAAP,YAAAA,OAAO,CAAGY,SAAH,EAAcF,QAAd,CAAP;AAEA,QAAIjB,IAAJ,EAAUoB,SAAS,CAACxB,EAAD,EAAKC,OAAL,CAAT;AACX,GAPgB,CAAjB;AASA,MAAII,SAAJ,EAAeM,OAAO,QAAP,YAAAA,OAAO,CAAG,EAAH,EAAOU,QAAP,CAAP;AAEfrB,EAAAA,EAAE,CAACyB,OAAH,GAAajB,MAAM,CAACR,EAAE,CAACyB,OAAJ,CAAnB;AACAzB,EAAAA,EAAE,CAACyB,OAAH,CAAYxB,OAAO,CAACyB,QAAR,CAAkBC,CAAlB,CAAoBC,GAAhC,IAAuC;AAAEP,IAAAA;AAAF,GAAvC;AAEAA,EAAAA,QAAQ,CAACQ,OAAT,CAAiB7B,EAAjB,EAAqBY,OAArB;AACD;;AAED,SAASY,SAAT,CAAoBxB,EAApB,EAAqCC,OAArC,EAAwE;AAAA;;AACtE,MAAI,iBAACD,EAAE,CAACyB,OAAJ,aAAC,YAAaxB,OAAO,CAACyB,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAAD,CAAJ,EAA4C;;AAE5C5B,EAAAA,EAAE,CAACyB,OAAH,CAAWxB,OAAO,CAACyB,QAAR,CAAkBC,CAAlB,CAAoBC,GAA/B,EAAqCP,QAArC,CAA8CS,UAA9C;;AACA,SAAO9B,EAAE,CAACyB,OAAH,CAAWxB,OAAO,CAACyB,QAAR,CAAkBC,CAAlB,CAAoBC,GAA/B,CAAP;AACD;;AAED,OAAO,MAAMG,MAAoC,GAAG;AAClDhC,EAAAA,OADkD;AAElDyB,EAAAA;AAFkD,CAA7C;AAKP,eAAeO,MAAf","sourcesContent":["// Types\nimport type { DirectiveBinding, ObjectDirective } from 'vue'\nimport type { MutationOptions } from '@/composables/mutationObserver'\n\nexport interface MutationDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value: MutationCallback | { handler: MutationCallback, options?: MutationObserverInit }\n modifiers: MutationOptions\n}\n\nfunction mounted (el: HTMLElement, binding: MutationDirectiveBinding) {\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { once, immediate, ...modifierKeys } = modifiers\n const defaultValue = !Object.keys(modifierKeys).length\n\n const { handler, options } = typeof value === 'object'\n ? value\n : {\n handler: value,\n options: {\n attributes: modifierKeys?.attr ?? defaultValue,\n characterData: modifierKeys?.char ?? defaultValue,\n childList: modifierKeys?.child ?? defaultValue,\n subtree: modifierKeys?.sub ?? defaultValue,\n },\n }\n\n const observer = new MutationObserver((\n mutations: MutationRecord[] = [],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (once) unmounted(el, binding)\n })\n\n if (immediate) handler?.([], observer)\n\n el._mutate = Object(el._mutate)\n el._mutate![binding.instance!.$.uid] = { observer }\n\n observer.observe(el, options)\n}\n\nfunction unmounted (el: HTMLElement, binding: MutationDirectiveBinding) {\n if (!el._mutate?.[binding.instance!.$.uid]) return\n\n el._mutate[binding.instance!.$.uid]!.observer.disconnect()\n delete el._mutate[binding.instance!.$.uid]\n}\n\nexport const Mutate: ObjectDirective<HTMLElement> = {\n mounted,\n unmounted,\n}\n\nexport default Mutate\n"],"file":"index.mjs"}
1
+ {"version":3,"file":"index.mjs","names":["mounted","el","binding","modifiers","value","once","immediate","modifierKeys","defaultValue","Object","keys","length","handler","options","attributes","attr","characterData","char","childList","child","subtree","sub","observer","MutationObserver","mutations","unmounted","_mutate","instance","$","uid","observe","disconnect","Mutate"],"sources":["../../../src/directives/mutate/index.ts"],"sourcesContent":["// Types\nimport type { DirectiveBinding, ObjectDirective } from 'vue'\nimport type { MutationOptions } from '@/composables/mutationObserver'\n\nexport interface MutationDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value: MutationCallback | { handler: MutationCallback, options?: MutationObserverInit }\n modifiers: MutationOptions\n}\n\nfunction mounted (el: HTMLElement, binding: MutationDirectiveBinding) {\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { once, immediate, ...modifierKeys } = modifiers\n const defaultValue = !Object.keys(modifierKeys).length\n\n const { handler, options } = typeof value === 'object'\n ? value\n : {\n handler: value,\n options: {\n attributes: modifierKeys?.attr ?? defaultValue,\n characterData: modifierKeys?.char ?? defaultValue,\n childList: modifierKeys?.child ?? defaultValue,\n subtree: modifierKeys?.sub ?? defaultValue,\n },\n }\n\n const observer = new MutationObserver((\n mutations: MutationRecord[] = [],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (once) unmounted(el, binding)\n })\n\n if (immediate) handler?.([], observer)\n\n el._mutate = Object(el._mutate)\n el._mutate![binding.instance!.$.uid] = { observer }\n\n observer.observe(el, options)\n}\n\nfunction unmounted (el: HTMLElement, binding: MutationDirectiveBinding) {\n if (!el._mutate?.[binding.instance!.$.uid]) return\n\n el._mutate[binding.instance!.$.uid]!.observer.disconnect()\n delete el._mutate[binding.instance!.$.uid]\n}\n\nexport const Mutate: ObjectDirective<HTMLElement> = {\n mounted,\n unmounted,\n}\n\nexport default Mutate\n"],"mappings":"AAAA;AASA,SAASA,OAAT,CAAkBC,EAAlB,EAAmCC,OAAnC,EAAsE;EAAA;;EACpE,MAAMC,SAAS,GAAGD,OAAO,CAACC,SAAR,IAAqB,EAAvC;EACA,MAAMC,KAAK,GAAGF,OAAO,CAACE,KAAtB;EACA,MAAM;IAAEC,IAAF;IAAQC,SAAR;IAAmB,GAAGC;EAAtB,IAAuCJ,SAA7C;EACA,MAAMK,YAAY,GAAG,CAACC,MAAM,CAACC,IAAP,CAAYH,YAAZ,EAA0BI,MAAhD;EAEA,MAAM;IAAEC,OAAF;IAAWC;EAAX,IAAuB,OAAOT,KAAP,KAAiB,QAAjB,GACzBA,KADyB,GAEzB;IACAQ,OAAO,EAAER,KADT;IAEAS,OAAO,EAAE;MACPC,UAAU,wBAAEP,YAAF,oBAAEA,YAAY,CAAEQ,IAAhB,iCAAwBP,YAD3B;MAEPQ,aAAa,wBAAET,YAAF,oBAAEA,YAAY,CAAEU,IAAhB,iCAAwBT,YAF9B;MAGPU,SAAS,yBAAEX,YAAF,oBAAEA,YAAY,CAAEY,KAAhB,kCAAyBX,YAH3B;MAIPY,OAAO,uBAAEb,YAAF,oBAAEA,YAAY,CAAEc,GAAhB,gCAAuBb;IAJvB;EAFT,CAFJ;EAYA,MAAMc,QAAQ,GAAG,IAAIC,gBAAJ,CAAqB,YAGjC;IAAA,IAFHC,SAEG,uEAF2B,EAE3B;IAAA,IADHF,QACG;IACHV,OAAO,QAAP,YAAAA,OAAO,CAAGY,SAAH,EAAcF,QAAd,CAAP;IAEA,IAAIjB,IAAJ,EAAUoB,SAAS,CAACxB,EAAD,EAAKC,OAAL,CAAT;EACX,CAPgB,CAAjB;EASA,IAAII,SAAJ,EAAeM,OAAO,QAAP,YAAAA,OAAO,CAAG,EAAH,EAAOU,QAAP,CAAP;EAEfrB,EAAE,CAACyB,OAAH,GAAajB,MAAM,CAACR,EAAE,CAACyB,OAAJ,CAAnB;EACAzB,EAAE,CAACyB,OAAH,CAAYxB,OAAO,CAACyB,QAAR,CAAkBC,CAAlB,CAAoBC,GAAhC,IAAuC;IAAEP;EAAF,CAAvC;EAEAA,QAAQ,CAACQ,OAAT,CAAiB7B,EAAjB,EAAqBY,OAArB;AACD;;AAED,SAASY,SAAT,CAAoBxB,EAApB,EAAqCC,OAArC,EAAwE;EAAA;;EACtE,IAAI,iBAACD,EAAE,CAACyB,OAAJ,aAAC,YAAaxB,OAAO,CAACyB,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAAD,CAAJ,EAA4C;;EAE5C5B,EAAE,CAACyB,OAAH,CAAWxB,OAAO,CAACyB,QAAR,CAAkBC,CAAlB,CAAoBC,GAA/B,EAAqCP,QAArC,CAA8CS,UAA9C;;EACA,OAAO9B,EAAE,CAACyB,OAAH,CAAWxB,OAAO,CAACyB,QAAR,CAAkBC,CAAlB,CAAoBC,GAA/B,CAAP;AACD;;AAED,OAAO,MAAMG,MAAoC,GAAG;EAClDhC,OADkD;EAElDyB;AAFkD,CAA7C;AAKP,eAAeO,MAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/resize/index.ts"],"names":["mounted","el","binding","handler","value","options","passive","modifiers","active","window","addEventListener","_onResize","Object","instance","$","uid","quiet","unmounted","removeEventListener","Resize"],"mappings":"AAUA,SAASA,OAAT,CAAkBC,EAAlB,EAAmCC,OAAnC,EAAoE;AAAA;;AAClE,QAAMC,OAAO,GAAGD,OAAO,CAACE,KAAxB;AACA,QAAMC,OAAgC,GAAG;AACvCC,IAAAA,OAAO,EAAE,wBAACJ,OAAO,CAACK,SAAT,aAAC,mBAAmBC,MAApB;AAD8B,GAAzC;AAIAC,EAAAA,MAAM,CAACC,gBAAP,CAAwB,QAAxB,EAAkCP,OAAlC,EAA2CE,OAA3C;AAEAJ,EAAAA,EAAE,CAACU,SAAH,GAAeC,MAAM,CAACX,EAAE,CAACU,SAAJ,CAArB;AACAV,EAAAA,EAAE,CAACU,SAAH,CAAcT,OAAO,CAACW,QAAR,CAAkBC,CAAlB,CAAoBC,GAAlC,IAAyC;AACvCZ,IAAAA,OADuC;AAEvCE,IAAAA;AAFuC,GAAzC;;AAKA,MAAI,yBAACH,OAAO,CAACK,SAAT,aAAC,oBAAmBS,KAApB,CAAJ,EAA+B;AAC7Bb,IAAAA,OAAO;AACR;AACF;;AAED,SAASc,SAAT,CAAoBhB,EAApB,EAAqCC,OAArC,EAAsE;AAAA;;AACpE,MAAI,mBAACD,EAAE,CAACU,SAAJ,aAAC,cAAeT,OAAO,CAACW,QAAR,CAAkBC,CAAlB,CAAoBC,GAAnC,CAAD,CAAJ,EAA8C;AAE9C,QAAM;AAAEZ,IAAAA,OAAF;AAAWE,IAAAA;AAAX,MAAuBJ,EAAE,CAACU,SAAH,CAAaT,OAAO,CAACW,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAA7B;AAEAN,EAAAA,MAAM,CAACS,mBAAP,CAA2B,QAA3B,EAAqCf,OAArC,EAA8CE,OAA9C;AAEA,SAAOJ,EAAE,CAACU,SAAH,CAAaT,OAAO,CAACW,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAAP;AACD;;AAED,OAAO,MAAMI,MAAM,GAAG;AACpBnB,EAAAA,OADoB;AAEpBiB,EAAAA;AAFoB,CAAf;AAKP,eAAeE,MAAf","sourcesContent":["import type { DirectiveBinding } from 'vue'\n\ninterface ResizeDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: () => void\n modifiers?: {\n active?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ResizeDirectiveBinding) {\n const handler = binding.value\n const options: AddEventListenerOptions = {\n passive: !binding.modifiers?.active,\n }\n\n window.addEventListener('resize', handler, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![binding.instance!.$.uid] = {\n handler,\n options,\n }\n\n if (!binding.modifiers?.quiet) {\n handler()\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ResizeDirectiveBinding) {\n if (!el._onResize?.[binding.instance!.$.uid]) return\n\n const { handler, options } = el._onResize[binding.instance!.$.uid]!\n\n window.removeEventListener('resize', handler, options)\n\n delete el._onResize[binding.instance!.$.uid]\n}\n\nexport const Resize = {\n mounted,\n unmounted,\n}\n\nexport default Resize\n"],"file":"index.mjs"}
1
+ {"version":3,"file":"index.mjs","names":["mounted","el","binding","handler","value","options","passive","modifiers","active","window","addEventListener","_onResize","Object","instance","$","uid","quiet","unmounted","removeEventListener","Resize"],"sources":["../../../src/directives/resize/index.ts"],"sourcesContent":["import type { DirectiveBinding } from 'vue'\n\ninterface ResizeDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: () => void\n modifiers?: {\n active?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ResizeDirectiveBinding) {\n const handler = binding.value\n const options: AddEventListenerOptions = {\n passive: !binding.modifiers?.active,\n }\n\n window.addEventListener('resize', handler, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![binding.instance!.$.uid] = {\n handler,\n options,\n }\n\n if (!binding.modifiers?.quiet) {\n handler()\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ResizeDirectiveBinding) {\n if (!el._onResize?.[binding.instance!.$.uid]) return\n\n const { handler, options } = el._onResize[binding.instance!.$.uid]!\n\n window.removeEventListener('resize', handler, options)\n\n delete el._onResize[binding.instance!.$.uid]\n}\n\nexport const Resize = {\n mounted,\n unmounted,\n}\n\nexport default Resize\n"],"mappings":"AAUA,SAASA,OAAT,CAAkBC,EAAlB,EAAmCC,OAAnC,EAAoE;EAAA;;EAClE,MAAMC,OAAO,GAAGD,OAAO,CAACE,KAAxB;EACA,MAAMC,OAAgC,GAAG;IACvCC,OAAO,EAAE,wBAACJ,OAAO,CAACK,SAAT,aAAC,mBAAmBC,MAApB;EAD8B,CAAzC;EAIAC,MAAM,CAACC,gBAAP,CAAwB,QAAxB,EAAkCP,OAAlC,EAA2CE,OAA3C;EAEAJ,EAAE,CAACU,SAAH,GAAeC,MAAM,CAACX,EAAE,CAACU,SAAJ,CAArB;EACAV,EAAE,CAACU,SAAH,CAAcT,OAAO,CAACW,QAAR,CAAkBC,CAAlB,CAAoBC,GAAlC,IAAyC;IACvCZ,OADuC;IAEvCE;EAFuC,CAAzC;;EAKA,IAAI,yBAACH,OAAO,CAACK,SAAT,aAAC,oBAAmBS,KAApB,CAAJ,EAA+B;IAC7Bb,OAAO;EACR;AACF;;AAED,SAASc,SAAT,CAAoBhB,EAApB,EAAqCC,OAArC,EAAsE;EAAA;;EACpE,IAAI,mBAACD,EAAE,CAACU,SAAJ,aAAC,cAAeT,OAAO,CAACW,QAAR,CAAkBC,CAAlB,CAAoBC,GAAnC,CAAD,CAAJ,EAA8C;EAE9C,MAAM;IAAEZ,OAAF;IAAWE;EAAX,IAAuBJ,EAAE,CAACU,SAAH,CAAaT,OAAO,CAACW,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAA7B;EAEAN,MAAM,CAACS,mBAAP,CAA2B,QAA3B,EAAqCf,OAArC,EAA8CE,OAA9C;EAEA,OAAOJ,EAAE,CAACU,SAAH,CAAaT,OAAO,CAACW,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAAP;AACD;;AAED,OAAO,MAAMI,MAAM,GAAG;EACpBnB,OADoB;EAEpBiB;AAFoB,CAAf;AAKP,eAAeE,MAAf"}
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use './variables' as *
3
2
 
4
3
  .v-ripple
@@ -3,7 +3,7 @@ import "./VRipple.css"; // Utilities
3
3
 
4
4
  import { isObject, keyCodes } from "../../util/index.mjs"; // Types
5
5
 
6
- const rippleStop = Symbol('rippleStop');
6
+ const stopSymbol = Symbol('rippleStop');
7
7
  const DELAY_RIPPLE = 80;
8
8
 
9
9
  function transform(el, value) {
@@ -151,9 +151,9 @@ function isRippleEnabled(value) {
151
151
  function rippleShow(e) {
152
152
  const value = {};
153
153
  const element = e.currentTarget;
154
- if (!(element != null && element._ripple) || element._ripple.touched || e[rippleStop]) return; // Don't allow the event to trigger ripples on any other elements
154
+ if (!(element != null && element._ripple) || element._ripple.touched || e[stopSymbol]) return; // Don't allow the event to trigger ripples on any other elements
155
155
 
156
- e[rippleStop] = true;
156
+ e[stopSymbol] = true;
157
157
 
158
158
  if (isTouchEvent(e)) {
159
159
  element._ripple.touched = true;
@@ -194,6 +194,10 @@ function rippleShow(e) {
194
194
  }
195
195
  }
196
196
 
197
+ function rippleStop(e) {
198
+ e[stopSymbol] = true;
199
+ }
200
+
197
201
  function rippleHide(e) {
198
202
  const element = e.currentTarget;
199
203
  if (!element || !element._ripple) return;
@@ -274,6 +278,14 @@ function updateRipple(el, binding, wasEnabled) {
274
278
  }
275
279
 
276
280
  if (enabled && !wasEnabled) {
281
+ if (modifiers.stop) {
282
+ el.addEventListener('touchstart', rippleStop, {
283
+ passive: true
284
+ });
285
+ el.addEventListener('mousedown', rippleStop);
286
+ return;
287
+ }
288
+
277
289
  el.addEventListener('touchstart', rippleShow, {
278
290
  passive: true
279
291
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/ripple/index.ts"],"names":["isObject","keyCodes","rippleStop","Symbol","DELAY_RIPPLE","transform","el","value","style","webkitTransform","opacity","isTouchEvent","e","constructor","name","isKeyboardEvent","calculate","localX","localY","offset","getBoundingClientRect","target","touches","length","clientX","left","clientY","top","radius","scale","_ripple","circle","clientWidth","center","Math","sqrt","clientHeight","centerX","centerY","x","y","ripples","show","enabled","container","document","createElement","animation","appendChild","className","class","size","width","height","computed","window","getComputedStyle","position","dataset","previousPosition","classList","add","activated","String","performance","now","setTimeout","remove","hide","getElementsByClassName","isHiding","diff","Number","delay","max","parentNode","removeChild","isRippleEnabled","rippleShow","element","currentTarget","touched","isTouch","centered","showTimerCommit","showTimer","rippleHide","clearTimeout","type","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyCode","enter","space","keyboardRippleHide","focusRippleHide","updateRipple","binding","wasEnabled","modifiers","addEventListener","passive","removeListeners","removeEventListener","mounted","unmounted","updated","oldValue","Ripple"],"mappings":"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","sourcesContent":["// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { isObject, keyCodes } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\nconst rippleStop = Symbol('rippleStop')\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { [rippleStop]?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nfunction opacity (el: HTMLElement, value: number) {\n el.style.opacity = `calc(${value} * var(--v-theme-overlay-multiplier))`\n}\n\ninterface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nexport interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean | { class: string }\n modifiers: {\n center?: boolean\n circle?: boolean\n }\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple?.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el?._ripple?.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n opacity(animation, 0)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n opacity(animation, 0.08)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el?._ripple?.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n opacity(animation, 0)\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n animation.parentNode && el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple || element._ripple.touched || e[rippleStop]) return\n\n // Don't allow the event to trigger ripples on any other elements\n e[rippleStop] = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: RippleDirectiveBinding, wasEnabled: boolean) {\n const { value, modifiers } = binding\n const enabled = isRippleEnabled(value)\n if (!enabled) {\n ripples.hide(el)\n }\n\n el._ripple = el._ripple ?? {}\n el._ripple.enabled = enabled\n el._ripple.centered = modifiers.center\n el._ripple.circle = modifiers.circle\n if (isObject(value) && value.class) {\n el._ripple.class = value.class\n }\n\n if (enabled && !wasEnabled) {\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction mounted (el: HTMLElement, binding: DirectiveBinding) {\n updateRipple(el, binding, false)\n}\n\nfunction unmounted (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction updated (el: HTMLElement, binding: DirectiveBinding) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple: ObjectDirective = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Ripple\n"],"file":"index.mjs"}
1
+ {"version":3,"file":"index.mjs","names":["isObject","keyCodes","stopSymbol","Symbol","DELAY_RIPPLE","transform","el","value","style","webkitTransform","opacity","isTouchEvent","e","constructor","name","isKeyboardEvent","calculate","localX","localY","offset","getBoundingClientRect","target","touches","length","clientX","left","clientY","top","radius","scale","_ripple","circle","clientWidth","center","Math","sqrt","clientHeight","centerX","centerY","x","y","ripples","show","enabled","container","document","createElement","animation","appendChild","className","class","size","width","height","computed","window","getComputedStyle","position","dataset","previousPosition","classList","add","activated","String","performance","now","setTimeout","remove","hide","getElementsByClassName","isHiding","diff","Number","delay","max","parentNode","removeChild","isRippleEnabled","rippleShow","element","currentTarget","touched","isTouch","centered","showTimerCommit","showTimer","rippleStop","rippleHide","clearTimeout","type","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyCode","enter","space","keyboardRippleHide","focusRippleHide","updateRipple","binding","wasEnabled","modifiers","stop","addEventListener","passive","removeListeners","removeEventListener","mounted","unmounted","updated","oldValue","Ripple"],"sources":["../../../src/directives/ripple/index.ts"],"sourcesContent":["// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { isObject, keyCodes } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\nconst stopSymbol = Symbol('rippleStop')\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { [stopSymbol]?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nfunction opacity (el: HTMLElement, value: number) {\n el.style.opacity = `calc(${value} * var(--v-theme-overlay-multiplier))`\n}\n\ninterface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nexport interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean | { class: string }\n modifiers: {\n center?: boolean\n circle?: boolean\n stop?: boolean\n }\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple?.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el?._ripple?.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n opacity(animation, 0)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n opacity(animation, 0.08)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el?._ripple?.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n opacity(animation, 0)\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n animation.parentNode && el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple || element._ripple.touched || e[stopSymbol]) return\n\n // Don't allow the event to trigger ripples on any other elements\n e[stopSymbol] = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleStop (e: VuetifyRippleEvent) {\n e[stopSymbol] = true\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: RippleDirectiveBinding, wasEnabled: boolean) {\n const { value, modifiers } = binding\n const enabled = isRippleEnabled(value)\n if (!enabled) {\n ripples.hide(el)\n }\n\n el._ripple = el._ripple ?? {}\n el._ripple.enabled = enabled\n el._ripple.centered = modifiers.center\n el._ripple.circle = modifiers.circle\n if (isObject(value) && value.class) {\n el._ripple.class = value.class\n }\n\n if (enabled && !wasEnabled) {\n if (modifiers.stop) {\n el.addEventListener('touchstart', rippleStop, { passive: true })\n el.addEventListener('mousedown', rippleStop)\n return\n }\n\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction mounted (el: HTMLElement, binding: DirectiveBinding) {\n updateRipple(el, binding, false)\n}\n\nfunction unmounted (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction updated (el: HTMLElement, binding: DirectiveBinding) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple: ObjectDirective = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Ripple\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/scroll/index.ts"],"names":["mounted","el","binding","self","modifiers","value","options","passive","handler","target","arg","document","querySelector","window","addEventListener","_onScroll","Object","instance","$","uid","undefined","unmounted","removeEventListener","updated","oldValue","Scroll"],"mappings":"AAYA,SAASA,OAAT,CAAkBC,EAAlB,EAAmCC,OAAnC,EAAoE;AAAA;;AAClE,QAAM;AAAEC,IAAAA,IAAI,GAAG;AAAT,4BAAmBD,OAAO,CAACE,SAA3B,iCAAwC,EAA9C;AACA,QAAMC,KAAK,GAAGH,OAAO,CAACG,KAAtB;AACA,QAAMC,OAAO,GAAI,OAAOD,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,CAACC,OAApC,IAAgD;AAAEC,IAAAA,OAAO,EAAE;AAAX,GAAhE;AACA,QAAMC,OAAO,GAAG,OAAOH,KAAP,KAAiB,UAAjB,IAA+B,iBAAiBA,KAAhD,GAAwDA,KAAxD,GAAgEA,KAAK,CAACG,OAAtF;AAEA,QAAMC,MAAM,GAAGN,IAAI,GACfF,EADe,GAEfC,OAAO,CAACQ,GAAR,GACEC,QAAQ,CAACC,aAAT,CAAuBV,OAAO,CAACQ,GAA/B,CADF,GAEEG,MAJN;AAMA,MAAI,CAACJ,MAAL,EAAa;AAEbA,EAAAA,MAAM,CAACK,gBAAP,CAAwB,QAAxB,EAAkCN,OAAlC,EAA2CF,OAA3C;AAEAL,EAAAA,EAAE,CAACc,SAAH,GAAeC,MAAM,CAACf,EAAE,CAACc,SAAJ,CAArB;AACAd,EAAAA,EAAE,CAACc,SAAH,CAAcb,OAAO,CAACe,QAAR,CAAkBC,CAAlB,CAAoBC,GAAlC,IAAyC;AACvCX,IAAAA,OADuC;AAEvCF,IAAAA,OAFuC;AAGvC;AACAG,IAAAA,MAAM,EAAEN,IAAI,GAAGiB,SAAH,GAAeX;AAJY,GAAzC;AAMD;;AAED,SAASY,SAAT,CAAoBpB,EAApB,EAAqCC,OAArC,EAAsE;AAAA;;AACpE,MAAI,mBAACD,EAAE,CAACc,SAAJ,aAAC,cAAeb,OAAO,CAACe,QAAR,CAAkBC,CAAlB,CAAoBC,GAAnC,CAAD,CAAJ,EAA8C;AAE9C,QAAM;AAAEX,IAAAA,OAAF;AAAWF,IAAAA,OAAX;AAAoBG,IAAAA,MAAM,GAAGR;AAA7B,MAAoCA,EAAE,CAACc,SAAH,CAAab,OAAO,CAACe,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAA1C;AAEAV,EAAAA,MAAM,CAACa,mBAAP,CAA2B,QAA3B,EAAqCd,OAArC,EAA8CF,OAA9C;AACA,SAAOL,EAAE,CAACc,SAAH,CAAab,OAAO,CAACe,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAAP;AACD;;AAED,SAASI,OAAT,CAAkBtB,EAAlB,EAAmCC,OAAnC,EAAoE;AAClE,MAAIA,OAAO,CAACG,KAAR,KAAkBH,OAAO,CAACsB,QAA9B,EAAwC;AAExCH,EAAAA,SAAS,CAACpB,EAAD,EAAKC,OAAL,CAAT;AACAF,EAAAA,OAAO,CAACC,EAAD,EAAKC,OAAL,CAAP;AACD;;AAED,OAAO,MAAMuB,MAAM,GAAG;AACpBzB,EAAAA,OADoB;AAEpBqB,EAAAA,SAFoB;AAGpBE,EAAAA;AAHoB,CAAf;AAMP,eAAeE,MAAf","sourcesContent":["import type { DirectiveBinding } from 'vue'\n\ninterface ScrollDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: EventListener | {\n handler: EventListener\n options?: AddEventListenerOptions\n } | EventListenerObject & { options?: AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n const { self = false } = binding.modifiers ?? {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![binding.instance!.$.uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (!el._onScroll?.[binding.instance!.$.uid]) return\n\n const { handler, options, target = el } = el._onScroll[binding.instance!.$.uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[binding.instance!.$.uid]\n}\n\nfunction updated (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (binding.value === binding.oldValue) return\n\n unmounted(el, binding)\n mounted(el, binding)\n}\n\nexport const Scroll = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Scroll\n"],"file":"index.mjs"}
1
+ {"version":3,"file":"index.mjs","names":["mounted","el","binding","self","modifiers","value","options","passive","handler","target","arg","document","querySelector","window","addEventListener","_onScroll","Object","instance","$","uid","undefined","unmounted","removeEventListener","updated","oldValue","Scroll"],"sources":["../../../src/directives/scroll/index.ts"],"sourcesContent":["import type { DirectiveBinding } from 'vue'\n\ninterface ScrollDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: EventListener | {\n handler: EventListener\n options?: AddEventListenerOptions\n } | EventListenerObject & { options?: AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n const { self = false } = binding.modifiers ?? {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![binding.instance!.$.uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (!el._onScroll?.[binding.instance!.$.uid]) return\n\n const { handler, options, target = el } = el._onScroll[binding.instance!.$.uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[binding.instance!.$.uid]\n}\n\nfunction updated (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (binding.value === binding.oldValue) return\n\n unmounted(el, binding)\n mounted(el, binding)\n}\n\nexport const Scroll = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Scroll\n"],"mappings":"AAYA,SAASA,OAAT,CAAkBC,EAAlB,EAAmCC,OAAnC,EAAoE;EAAA;;EAClE,MAAM;IAAEC,IAAI,GAAG;EAAT,0BAAmBD,OAAO,CAACE,SAA3B,iCAAwC,EAA9C;EACA,MAAMC,KAAK,GAAGH,OAAO,CAACG,KAAtB;EACA,MAAMC,OAAO,GAAI,OAAOD,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,CAACC,OAApC,IAAgD;IAAEC,OAAO,EAAE;EAAX,CAAhE;EACA,MAAMC,OAAO,GAAG,OAAOH,KAAP,KAAiB,UAAjB,IAA+B,iBAAiBA,KAAhD,GAAwDA,KAAxD,GAAgEA,KAAK,CAACG,OAAtF;EAEA,MAAMC,MAAM,GAAGN,IAAI,GACfF,EADe,GAEfC,OAAO,CAACQ,GAAR,GACEC,QAAQ,CAACC,aAAT,CAAuBV,OAAO,CAACQ,GAA/B,CADF,GAEEG,MAJN;EAMA,IAAI,CAACJ,MAAL,EAAa;EAEbA,MAAM,CAACK,gBAAP,CAAwB,QAAxB,EAAkCN,OAAlC,EAA2CF,OAA3C;EAEAL,EAAE,CAACc,SAAH,GAAeC,MAAM,CAACf,EAAE,CAACc,SAAJ,CAArB;EACAd,EAAE,CAACc,SAAH,CAAcb,OAAO,CAACe,QAAR,CAAkBC,CAAlB,CAAoBC,GAAlC,IAAyC;IACvCX,OADuC;IAEvCF,OAFuC;IAGvC;IACAG,MAAM,EAAEN,IAAI,GAAGiB,SAAH,GAAeX;EAJY,CAAzC;AAMD;;AAED,SAASY,SAAT,CAAoBpB,EAApB,EAAqCC,OAArC,EAAsE;EAAA;;EACpE,IAAI,mBAACD,EAAE,CAACc,SAAJ,aAAC,cAAeb,OAAO,CAACe,QAAR,CAAkBC,CAAlB,CAAoBC,GAAnC,CAAD,CAAJ,EAA8C;EAE9C,MAAM;IAAEX,OAAF;IAAWF,OAAX;IAAoBG,MAAM,GAAGR;EAA7B,IAAoCA,EAAE,CAACc,SAAH,CAAab,OAAO,CAACe,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAA1C;EAEAV,MAAM,CAACa,mBAAP,CAA2B,QAA3B,EAAqCd,OAArC,EAA8CF,OAA9C;EACA,OAAOL,EAAE,CAACc,SAAH,CAAab,OAAO,CAACe,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAAP;AACD;;AAED,SAASI,OAAT,CAAkBtB,EAAlB,EAAmCC,OAAnC,EAAoE;EAClE,IAAIA,OAAO,CAACG,KAAR,KAAkBH,OAAO,CAACsB,QAA9B,EAAwC;EAExCH,SAAS,CAACpB,EAAD,EAAKC,OAAL,CAAT;EACAF,OAAO,CAACC,EAAD,EAAKC,OAAL,CAAP;AACD;;AAED,OAAO,MAAMuB,MAAM,GAAG;EACpBzB,OADoB;EAEpBqB,SAFoB;EAGpBE;AAHoB,CAAf;AAMP,eAAeE,MAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/touch/index.ts"],"names":["keys","handleGesture","wrapper","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","offsetX","offsetY","Math","abs","left","right","up","down","touchstart","event","touch","changedTouches","clientX","clientY","start","originalEvent","touchend","end","touchmove","touchmoveX","touchmoveY","move","createHandlers","value","e","mounted","el","binding","target","parent","parentElement","options","passive","uid","instance","$","handlers","_touchHandlers","Object","create","forEach","eventName","addEventListener","unmounted","removeEventListener","Touch"],"mappings":"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","sourcesContent":["// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\n// Utilities\nimport { keys } from '@/util'\n\nexport interface TouchHandlers {\n start?: (wrapperEvent: { originalEvent: TouchEvent } & TouchWrapper) => void\n end?: (wrapperEvent: { originalEvent: TouchEvent } & TouchWrapper) => void\n move?: (wrapperEvent: { originalEvent: TouchEvent } & TouchWrapper) => void\n left?: (wrapper: TouchWrapper) => void\n right?: (wrapper: TouchWrapper) => void\n up?: (wrapper: TouchWrapper) => void\n down?: (wrapper: TouchWrapper) => void\n}\n\nexport interface TouchWrapper extends TouchHandlers {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n touchendX: number\n touchendY: number\n offsetX: number\n offsetY: number\n}\n\nexport interface TouchValue extends TouchHandlers {\n parent?: boolean\n options?: AddEventListenerOptions\n}\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\nexport interface TouchDirectiveBinding extends Omit<DirectiveBinding, 'value'> {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start?.({ originalEvent: event, ...wrapper })\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end?.({ originalEvent: event, ...wrapper })\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move?.({ originalEvent: event, ...wrapper })\n}\n\nfunction createHandlers (value: TouchHandlers = {}): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction mounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const value = binding.value\n const target = value?.parent ? el.parentElement : el\n const options = value?.options ?? { passive: true }\n const uid = binding.instance?.$.uid // TODO: use custom uid generator\n\n if (!target || !uid) return\n\n const handlers = createHandlers(binding.value)\n\n target._touchHandlers = target._touchHandlers ?? Object.create(null)\n target._touchHandlers![uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName], options)\n })\n}\n\nfunction unmounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const target = binding.value?.parent ? el.parentElement : el\n const uid = binding.instance?.$.uid\n\n if (!target?._touchHandlers || !uid) return\n\n const handlers = target._touchHandlers[uid]\n\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n\n delete target._touchHandlers[uid]\n}\n\nexport const Touch: ObjectDirective = {\n mounted,\n unmounted,\n}\n\nexport default Touch\n"],"file":"index.mjs"}
1
+ {"version":3,"file":"index.mjs","names":["keys","handleGesture","wrapper","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","offsetX","offsetY","Math","abs","left","right","up","down","touchstart","event","touch","changedTouches","clientX","clientY","start","originalEvent","touchend","end","touchmove","touchmoveX","touchmoveY","move","createHandlers","value","e","mounted","el","binding","target","parent","parentElement","options","passive","uid","instance","$","handlers","_touchHandlers","Object","create","forEach","eventName","addEventListener","unmounted","removeEventListener","Touch"],"sources":["../../../src/directives/touch/index.ts"],"sourcesContent":["// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\n// Utilities\nimport { keys } from '@/util'\n\nexport interface TouchHandlers {\n start?: (wrapperEvent: { originalEvent: TouchEvent } & TouchWrapper) => void\n end?: (wrapperEvent: { originalEvent: TouchEvent } & TouchWrapper) => void\n move?: (wrapperEvent: { originalEvent: TouchEvent } & TouchWrapper) => void\n left?: (wrapper: TouchWrapper) => void\n right?: (wrapper: TouchWrapper) => void\n up?: (wrapper: TouchWrapper) => void\n down?: (wrapper: TouchWrapper) => void\n}\n\nexport interface TouchWrapper extends TouchHandlers {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n touchendX: number\n touchendY: number\n offsetX: number\n offsetY: number\n}\n\nexport interface TouchValue extends TouchHandlers {\n parent?: boolean\n options?: AddEventListenerOptions\n}\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\nexport interface TouchDirectiveBinding extends Omit<DirectiveBinding, 'value'> {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start?.({ originalEvent: event, ...wrapper })\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end?.({ originalEvent: event, ...wrapper })\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move?.({ originalEvent: event, ...wrapper })\n}\n\nfunction createHandlers (value: TouchHandlers = {}): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction mounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const value = binding.value\n const target = value?.parent ? el.parentElement : el\n const options = value?.options ?? { passive: true }\n const uid = binding.instance?.$.uid // TODO: use custom uid generator\n\n if (!target || !uid) return\n\n const handlers = createHandlers(binding.value)\n\n target._touchHandlers = target._touchHandlers ?? Object.create(null)\n target._touchHandlers![uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName], options)\n })\n}\n\nfunction unmounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const target = binding.value?.parent ? el.parentElement : el\n const uid = binding.instance?.$.uid\n\n if (!target?._touchHandlers || !uid) return\n\n const handlers = target._touchHandlers[uid]\n\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n\n delete target._touchHandlers[uid]\n}\n\nexport const Touch: ObjectDirective = {\n mounted,\n unmounted,\n}\n\nexport default Touch\n"],"mappings":"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"}
@@ -10,7 +10,7 @@ export const createVuetify = function () {
10
10
  ...options
11
11
  });
12
12
  };
13
- export const version = "3.0.0-beta.0";
13
+ export const version = "3.0.0-beta.4";
14
14
  export { components, directives };
15
15
  export * from "./composables/index.mjs";
16
16
  //# sourceMappingURL=entry-bundler.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/entry-bundler.ts"],"names":["components","directives","createVuetify","_createVuetify","options","version"],"mappings":"AAAA;OACO,KAAKA,U;OACL,KAAKC,U;SACHC,aAAa,IAAIC,c;AAG1B,OAAO,MAAMD,aAAa,GAAG,YAAkC;AAAA,MAAjCE,OAAiC,uEAAP,EAAO;AAC7D,SAAOD,cAAc,CAAC;AAAEH,IAAAA,UAAF;AAAcC,IAAAA,UAAd;AAA0B,OAAGG;AAA7B,GAAD,CAArB;AACD,CAFM;AAIP,OAAO,MAAMC,OAAO,iBAAb;AAEP,SACEL,UADF,EAEEC,UAFF","sourcesContent":["import './styles/main.sass'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\n\nexport {\n components,\n directives,\n}\nexport * from './composables'\n"],"file":"entry-bundler.mjs"}
1
+ {"version":3,"file":"entry-bundler.mjs","names":["components","directives","createVuetify","_createVuetify","options","version"],"sources":["../src/entry-bundler.ts"],"sourcesContent":["import './styles/main.sass'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\n\nexport {\n components,\n directives,\n}\nexport * from './composables'\n"],"mappings":"AAAA;OACO,KAAKA,U;OACL,KAAKC,U;SACHC,aAAa,IAAIC,c;AAG1B,OAAO,MAAMD,aAAa,GAAG,YAAkC;EAAA,IAAjCE,OAAiC,uEAAP,EAAO;EAC7D,OAAOD,cAAc,CAAC;IAAEH,UAAF;IAAcC,UAAd;IAA0B,GAAGG;EAA7B,CAAD,CAArB;AACD,CAFM;AAIP,OAAO,MAAMC,OAAO,iBAAb;AAEP,SACEL,UADF,EAEEC,UAFF"}
package/lib/framework.mjs CHANGED
@@ -1,13 +1,13 @@
1
+ // Composables
2
+ import { createDefaults, DefaultsSymbol } from "./composables/defaults.mjs";
1
3
  import { createDisplay, DisplaySymbol } from "./composables/display.mjs";
4
+ import { createIcons, IconSymbol } from "./composables/icons.mjs";
5
+ import { createLocale, LocaleAdapterSymbol } from "./composables/locale.mjs";
2
6
  import { createTheme, ThemeSymbol } from "./composables/theme.mjs";
3
- import { defaultSets, IconSymbol } from "./composables/icons.mjs";
4
- import { createDefaults, DefaultsSymbol } from "./composables/defaults.mjs";
5
- import { createLocaleAdapter, LocaleAdapterSymbol } from "./composables/locale.mjs";
6
- import { createRtl, RtlSymbol } from "./composables/rtl.mjs";
7
- import { aliases, mdi } from "./iconsets/mdi.mjs"; // Utilities
7
+ import { RtlSymbol } from "./composables/rtl.mjs"; // Utilities
8
8
 
9
- import { reactive } from 'vue';
10
- import { mergeDeep } from "./util/index.mjs"; // Types
9
+ import { defineComponent, getUid, IN_BROWSER } from "./util/index.mjs";
10
+ import { reactive } from 'vue'; // Types
11
11
 
12
12
  export * from "./composables/index.mjs";
13
13
  export const createVuetify = function () {
@@ -15,37 +15,47 @@ export const createVuetify = function () {
15
15
 
16
16
  const install = app => {
17
17
  const {
18
+ aliases = {},
18
19
  components = {},
19
- directives = {},
20
- icons = {}
20
+ directives = {}
21
21
  } = options;
22
22
 
23
23
  for (const key in directives) {
24
- const directive = directives[key];
25
- app.directive(key, directive);
24
+ app.directive(key, directives[key]);
26
25
  }
27
26
 
28
27
  for (const key in components) {
29
- const component = components[key];
30
- app.component(key, component);
28
+ app.component(key, components[key]);
31
29
  }
32
30
 
33
- app.provide(DefaultsSymbol, createDefaults(options.defaults));
34
- app.provide(DisplaySymbol, createDisplay(options.display));
35
- app.provide(ThemeSymbol, createTheme(app, options.theme));
36
- app.provide(IconSymbol, mergeDeep({
37
- defaultSet: 'mdi',
38
- sets: { ...defaultSets,
39
- mdi
40
- },
41
- aliases
42
- }, icons));
43
- const {
44
- adapter,
45
- rootInstance
46
- } = createLocaleAdapter(app, options == null ? void 0 : options.locale);
47
- app.provide(LocaleAdapterSymbol, adapter);
48
- app.provide(RtlSymbol, createRtl(rootInstance, options == null ? void 0 : options.locale)); // Vue's inject() can only be used in setup
31
+ for (const key in aliases) {
32
+ app.component(key, defineComponent({ ...aliases[key],
33
+ name: key
34
+ }));
35
+ }
36
+
37
+ function provideApp(isHydrate) {
38
+ app.provide(DefaultsSymbol, createDefaults(options.defaults));
39
+ app.provide(DisplaySymbol, createDisplay(options.display, isHydrate));
40
+ app.provide(ThemeSymbol, createTheme(app, options.theme));
41
+ app.provide(IconSymbol, createIcons(options.icons));
42
+ app.provide(LocaleAdapterSymbol, createLocale(app, options.locale));
43
+ }
44
+
45
+ if (!IN_BROWSER) {
46
+ provideApp();
47
+ }
48
+
49
+ getUid.reset();
50
+ const mount = app.mount;
51
+
52
+ app.mount = (rootContainer, isHydrate, isSVG) => {
53
+ provideApp(isHydrate);
54
+ const ret = mount(rootContainer, isHydrate, isSVG);
55
+ app.mount = mount;
56
+ return ret;
57
+ }; // Vue's inject() can only be used in setup
58
+
49
59
 
50
60
  function inject(key) {
51
61
  var _vm$parent$provides, _vm$parent, _vm$vnode$appContext;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/framework.ts"],"names":["createDisplay","DisplaySymbol","createTheme","ThemeSymbol","defaultSets","IconSymbol","createDefaults","DefaultsSymbol","createLocaleAdapter","LocaleAdapterSymbol","createRtl","RtlSymbol","aliases","mdi","reactive","mergeDeep","createVuetify","options","install","app","components","directives","icons","key","directive","component","provide","defaults","display","theme","defaultSet","sets","adapter","rootInstance","locale","inject","vm","$","provides","parent","vnode","appContext","mixin","computed","$vuetify","call","rtl"],"mappings":"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","sourcesContent":["import { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\nimport { defaultSets, IconSymbol } from '@/composables/icons'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createLocaleAdapter, LocaleAdapterSymbol } from '@/composables/locale'\nimport { createRtl, RtlSymbol } from '@/composables/rtl'\nimport { aliases, mdi } from '@/iconsets/mdi'\n\n// Utilities\nimport { reactive } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { ThemeOptions } from '@/composables/theme'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleAdapter, LocaleOptions } from '@/composables/locale'\nimport type { RtlOptions } from '@/composables/rtl'\nimport type { DefaultsOptions } from '@/composables/defaults'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: (LocaleOptions & RtlOptions) | (LocaleAdapter & RtlOptions)\n}\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n const install = (app: App) => {\n const {\n components = {},\n directives = {},\n icons = {},\n } = options\n\n for (const key in directives) {\n const directive = directives[key]\n\n app.directive(key, directive)\n }\n\n for (const key in components) {\n const component = components[key]\n\n app.component(key, component)\n }\n\n app.provide(DefaultsSymbol, createDefaults(options.defaults))\n app.provide(DisplaySymbol, createDisplay(options.display))\n app.provide(ThemeSymbol, createTheme(app, options.theme))\n app.provide(IconSymbol, mergeDeep({\n defaultSet: 'mdi',\n sets: {\n ...defaultSets,\n mdi,\n },\n aliases,\n }, icons))\n const { adapter, rootInstance } = createLocaleAdapter(app, options?.locale)\n app.provide(LocaleAdapterSymbol, adapter)\n app.provide(RtlSymbol, createRtl(rootInstance, options?.locale))\n\n // Vue's inject() can only be used in setup\n function inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n }\n\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleAdapterSymbol),\n rtl: inject.call(this, RtlSymbol),\n })\n },\n },\n })\n }\n\n return { install }\n}\n"],"file":"framework.mjs"}
1
+ {"version":3,"file":"framework.mjs","names":["createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createIcons","IconSymbol","createLocale","LocaleAdapterSymbol","createTheme","ThemeSymbol","RtlSymbol","defineComponent","getUid","IN_BROWSER","reactive","createVuetify","options","install","app","aliases","components","directives","key","directive","component","name","provideApp","isHydrate","provide","defaults","display","theme","icons","locale","reset","mount","rootContainer","isSVG","ret","inject","vm","$","provides","parent","vnode","appContext","mixin","computed","$vuetify","call","rtl"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleAdapterSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\nimport { RtlSymbol } from '@/composables/rtl'\n\n// Utilities\nimport { defineComponent, getUid, IN_BROWSER } from '@/util'\nimport { reactive } from 'vue'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleAdapter, LocaleOptions } from '@/composables/locale'\nimport type { RtlOptions } from '@/composables/rtl'\nimport type { ThemeOptions } from '@/composables/theme'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: (LocaleOptions & RtlOptions) | (LocaleAdapter & RtlOptions)\n}\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n const install = (app: App) => {\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n }))\n }\n\n function provideApp (isHydrate?: boolean) {\n app.provide(DefaultsSymbol, createDefaults(options.defaults))\n app.provide(DisplaySymbol, createDisplay(options.display, isHydrate))\n app.provide(ThemeSymbol, createTheme(app, options.theme))\n app.provide(IconSymbol, createIcons(options.icons))\n app.provide(LocaleAdapterSymbol, createLocale(app, options.locale))\n }\n\n if (!IN_BROWSER) {\n provideApp()\n }\n\n getUid.reset()\n\n const mount = app.mount\n app.mount = (rootContainer: any, isHydrate?: boolean, isSVG?: boolean) => {\n provideApp(isHydrate)\n const ret = mount(rootContainer, isHydrate, isSVG)\n app.mount = mount\n return ret\n }\n\n // Vue's inject() can only be used in setup\n function inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n }\n\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleAdapterSymbol),\n rtl: inject.call(this, RtlSymbol),\n })\n },\n },\n })\n }\n\n return { install }\n}\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { JSXComponent } from 'vue';
1
+ import { JSXComponent, PropType } from 'vue';
2
2
 
3
3
  declare type IconValue = string | JSXComponent;
4
+ declare const IconValue: PropType<IconValue>;
4
5
  interface IconAliases {
5
6
  [name: string]: IconValue;
6
7
  complete: IconValue;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/iconsets/fa-svg.ts"],"names":["h","resolveComponent","aliases","faAliases","fa","component","props","icon","rest","stringIcon","tag","key","includes","split"],"mappings":"AAAA;AACA,SAASA,CAAT,EAAYC,gBAAZ,QAAoC,KAApC;SACSC,OAAO,IAAIC,S,oBAEpB;;AAGA,MAAMD,OAAO,GAAGC,SAAhB;AAEA,MAAMC,EAAW,GAAG;AAClBC,EAAAA,SAAS,EAAEC,KAAK,IAAI;AAClB,UAAM;AAAEC,MAAAA,IAAF;AAAQ,SAAGC;AAAX,QAAoBF,KAA1B;AACA,UAAMG,UAAU,GAAGF,IAAnB;AACA,WAAOP,CAAC,CAACM,KAAK,CAACI,GAAP,EAAYF,IAAZ,EAAkB,CACxBR,CAAC,CAACC,gBAAgB,CAAC,mBAAD,CAAjB,EAAwC;AACvCU,MAAAA,GAAG,EAAEF,UADkC;AACtB;AACjBF,MAAAA,IAAI,EAAEE,UAAU,CAACG,QAAX,CAAoB,MAApB,IAA8BH,UAAU,CAACI,KAAX,CAAiB,MAAjB,CAA9B,GAAyDJ;AAFxB,KAAxC,CADuB,CAAlB,CAAR;AAMD;AAViB,CAApB;AAaA,SAASP,OAAT,EAAkBE,EAAlB","sourcesContent":["// Utilities\nimport { h, resolveComponent } from 'vue'\nimport { aliases as faAliases } from './fa'\n\n// Types\nimport type { IconSet } from '@/composables/icons'\n\nconst aliases = faAliases\n\nconst fa: IconSet = {\n component: props => {\n const { icon, ...rest } = props\n const stringIcon = icon as string\n return h(props.tag, rest, [\n h(resolveComponent('font-awesome-icon'), {\n key: stringIcon, // TODO: https://github.com/FortAwesome/vue-fontawesome/issues/250\n icon: stringIcon.includes(' fa-') ? stringIcon.split(' fa-') : stringIcon,\n }),\n ])\n },\n}\n\nexport { aliases, fa }\n"],"file":"fa-svg.mjs"}
1
+ {"version":3,"file":"fa-svg.mjs","names":["h","resolveComponent","aliases","faAliases","fa","component","props","icon","rest","stringIcon","tag","key","includes","split"],"sources":["../../src/iconsets/fa-svg.ts"],"sourcesContent":["// Utilities\nimport { h, resolveComponent } from 'vue'\nimport { aliases as faAliases } from './fa'\n\n// Types\nimport type { IconSet } from '@/composables/icons'\n\nconst aliases = faAliases\n\nconst fa: IconSet = {\n component: props => {\n const { icon, ...rest } = props\n const stringIcon = icon as string\n return h(props.tag, rest, [\n h(resolveComponent('font-awesome-icon'), {\n key: stringIcon, // TODO: https://github.com/FortAwesome/vue-fontawesome/issues/250\n icon: stringIcon.includes(' fa-') ? stringIcon.split(' fa-') : stringIcon,\n }),\n ])\n },\n}\n\nexport { aliases, fa }\n"],"mappings":"AAAA;AACA,SAASA,CAAT,EAAYC,gBAAZ,QAAoC,KAApC;SACSC,OAAO,IAAIC,S,oBAEpB;;AAGA,MAAMD,OAAO,GAAGC,SAAhB;AAEA,MAAMC,EAAW,GAAG;EAClBC,SAAS,EAAEC,KAAK,IAAI;IAClB,MAAM;MAAEC,IAAF;MAAQ,GAAGC;IAAX,IAAoBF,KAA1B;IACA,MAAMG,UAAU,GAAGF,IAAnB;IACA,OAAOP,CAAC,CAACM,KAAK,CAACI,GAAP,EAAYF,IAAZ,EAAkB,CACxBR,CAAC,CAACC,gBAAgB,CAAC,mBAAD,CAAjB,EAAwC;MACvCU,GAAG,EAAEF,UADkC;MACtB;MACjBF,IAAI,EAAEE,UAAU,CAACG,QAAX,CAAoB,MAApB,IAA8BH,UAAU,CAACI,KAAX,CAAiB,MAAjB,CAA9B,GAAyDJ;IAFxB,CAAxC,CADuB,CAAlB,CAAR;EAMD;AAViB,CAApB;AAaA,SAASP,OAAT,EAAkBE,EAAlB"}
@@ -1,6 +1,7 @@
1
- import { JSXComponent } from 'vue';
1
+ import { JSXComponent, PropType } from 'vue';
2
2
 
3
3
  declare type IconValue = string | JSXComponent;
4
+ declare const IconValue: PropType<IconValue>;
4
5
  interface IconAliases {
5
6
  [name: string]: IconValue;
6
7
  complete: IconValue;