@vuetify/nightly 3.3.0 → 3.3.1-master.2023-05-25

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 (489) hide show
  1. package/CHANGELOG.md +7 -34
  2. package/dist/json/attributes.json +74 -42
  3. package/dist/json/importMap.json +46 -46
  4. package/dist/json/tags.json +8 -0
  5. package/dist/json/web-types.json +551 -471
  6. package/dist/vuetify-labs.css +1430 -1428
  7. package/dist/vuetify-labs.d.ts +6842 -12057
  8. package/dist/vuetify-labs.esm.js +6539 -6310
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +6538 -6309
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +6 -5
  13. package/dist/vuetify.d.ts +5405 -9248
  14. package/dist/vuetify.esm.js +6933 -6844
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +6932 -6843
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +794 -793
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/blueprints/index.d.mts +31 -31
  22. package/lib/blueprints/md1.d.mts +31 -31
  23. package/lib/blueprints/md2.d.mts +31 -31
  24. package/lib/blueprints/md3.d.mts +31 -31
  25. package/lib/components/VAlert/VAlert.mjs +5 -5
  26. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  27. package/lib/components/VAlert/_variables.scss +2 -2
  28. package/lib/components/VAlert/index.d.mts +16 -74
  29. package/lib/components/VApp/VApp.mjs +3 -3
  30. package/lib/components/VApp/VApp.mjs.map +1 -1
  31. package/lib/components/VApp/index.d.mts +0 -15
  32. package/lib/components/VAppBar/VAppBar.mjs +8 -5
  33. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  34. package/lib/components/VAppBar/index.d.mts +1 -82
  35. package/lib/components/VAutocomplete/VAutocomplete.mjs +6 -7
  36. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  37. package/lib/components/VAutocomplete/index.d.mts +205 -259
  38. package/lib/components/VAvatar/VAvatar.mjs +3 -3
  39. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  40. package/lib/components/VAvatar/_variables.scss +1 -1
  41. package/lib/components/VAvatar/index.d.mts +0 -15
  42. package/lib/components/VBadge/VBadge.mjs +5 -5
  43. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  44. package/lib/components/VBadge/index.d.mts +0 -19
  45. package/lib/components/VBanner/VBanner.mjs +6 -9
  46. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  47. package/lib/components/VBanner/VBannerActions.mjs +1 -1
  48. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  49. package/lib/components/VBanner/VBannerText.mjs +1 -0
  50. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  51. package/lib/components/VBanner/index.d.mts +1 -58
  52. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +7 -7
  53. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  54. package/lib/components/VBottomNavigation/index.d.mts +0 -15
  55. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +5 -8
  56. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  57. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +1 -1
  58. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  59. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +2 -2
  60. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  61. package/lib/components/VBreadcrumbs/index.d.mts +30 -60
  62. package/lib/components/VBtn/VBtn.mjs +5 -5
  63. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  64. package/lib/components/VBtn/_variables.scss +15 -15
  65. package/lib/components/VBtn/index.d.mts +0 -27
  66. package/lib/components/VBtnGroup/VBtnGroup.mjs +3 -3
  67. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  68. package/lib/components/VBtnGroup/index.d.mts +0 -15
  69. package/lib/components/VBtnToggle/VBtnToggle.mjs +1 -1
  70. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  71. package/lib/components/VBtnToggle/index.d.mts +19 -34
  72. package/lib/components/VCard/VCard.mjs +6 -6
  73. package/lib/components/VCard/VCard.mjs.map +1 -1
  74. package/lib/components/VCard/VCard.sass +2 -2
  75. package/lib/components/VCard/VCardItem.mjs +3 -3
  76. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  77. package/lib/components/VCard/VCardSubtitle.mjs +1 -0
  78. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  79. package/lib/components/VCard/VCardText.mjs +1 -0
  80. package/lib/components/VCard/VCardText.mjs.map +1 -1
  81. package/lib/components/VCard/VCardTitle.mjs +1 -0
  82. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  83. package/lib/components/VCard/_variables.scss +10 -11
  84. package/lib/components/VCard/index.d.mts +16 -158
  85. package/lib/components/VCarousel/VCarousel.mjs +3 -6
  86. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  87. package/lib/components/VCarousel/index.d.mts +79 -237
  88. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  89. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  90. package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -1
  91. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  92. package/lib/components/VCheckbox/index.d.mts +191 -277
  93. package/lib/components/VChip/VChip.mjs +6 -6
  94. package/lib/components/VChip/VChip.mjs.map +1 -1
  95. package/lib/components/VChip/index.d.mts +19 -82
  96. package/lib/components/VChipGroup/VChipGroup.mjs +3 -6
  97. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  98. package/lib/components/VChipGroup/index.d.mts +19 -58
  99. package/lib/components/VCode/index.d.mts +0 -15
  100. package/lib/components/VCode/index.mjs +3 -0
  101. package/lib/components/VCode/index.mjs.map +1 -1
  102. package/lib/components/VColorPicker/VColorPicker.mjs +6 -9
  103. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  104. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +1 -4
  105. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  106. package/lib/components/VColorPicker/VColorPickerEdit.mjs +2 -2
  107. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  108. package/lib/components/VColorPicker/VColorPickerPreview.mjs +2 -2
  109. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  110. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  111. package/lib/components/VCombobox/VCombobox.mjs +8 -8
  112. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  113. package/lib/components/VCombobox/index.d.mts +205 -259
  114. package/lib/components/VCounter/VCounter.mjs +1 -1
  115. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  116. package/lib/components/VCounter/index.d.mts +19 -34
  117. package/lib/components/VDefaultsProvider/index.d.mts +1 -16
  118. package/lib/components/VDialog/VDialog.mjs +5 -5
  119. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  120. package/lib/components/VDialog/index.d.mts +175 -301
  121. package/lib/components/VDivider/VDivider.mjs +2 -2
  122. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  123. package/lib/components/VDivider/index.d.mts +0 -15
  124. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +4 -4
  125. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  126. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +2 -2
  127. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  128. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +4 -4
  129. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  130. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +2 -2
  131. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  132. package/lib/components/VExpansionPanel/index.d.mts +35 -107
  133. package/lib/components/VField/VField.mjs +7 -7
  134. package/lib/components/VField/VField.mjs.map +1 -1
  135. package/lib/components/VField/VField.sass +0 -1
  136. package/lib/components/VField/_variables.scss +1 -0
  137. package/lib/components/VField/index.d.mts +39 -54
  138. package/lib/components/VFileInput/VFileInput.mjs +4 -4
  139. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  140. package/lib/components/VFileInput/index.d.mts +381 -537
  141. package/lib/components/VFooter/VFooter.mjs +3 -3
  142. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  143. package/lib/components/VFooter/_variables.scss +1 -1
  144. package/lib/components/VFooter/index.d.mts +0 -15
  145. package/lib/components/VForm/VForm.mjs +2 -2
  146. package/lib/components/VForm/VForm.mjs.map +1 -1
  147. package/lib/components/VForm/index.d.mts +19 -146
  148. package/lib/components/VGrid/VCol.mjs +1 -1
  149. package/lib/components/VGrid/VCol.mjs.map +1 -1
  150. package/lib/components/VGrid/VContainer.mjs +2 -2
  151. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  152. package/lib/components/VGrid/VRow.mjs +1 -1
  153. package/lib/components/VGrid/VRow.mjs.map +1 -1
  154. package/lib/components/VGrid/VSpacer.mjs +1 -0
  155. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  156. package/lib/components/VGrid/index.d.mts +0 -60
  157. package/lib/components/VHover/VHover.mjs.map +1 -1
  158. package/lib/components/VHover/index.d.mts +19 -46
  159. package/lib/components/VIcon/VIcon.mjs +3 -3
  160. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  161. package/lib/components/VIcon/index.d.mts +0 -30
  162. package/lib/components/VImg/VImg.mjs +4 -3
  163. package/lib/components/VImg/VImg.mjs.map +1 -1
  164. package/lib/components/VImg/index.d.mts +0 -27
  165. package/lib/components/VInput/InputIcon.mjs +3 -2
  166. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  167. package/lib/components/VInput/VInput.mjs +3 -3
  168. package/lib/components/VInput/VInput.mjs.map +1 -1
  169. package/lib/components/VInput/_variables.scss +1 -1
  170. package/lib/components/VInput/index.d.mts +88 -119
  171. package/lib/components/VItemGroup/VItem.mjs +2 -2
  172. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  173. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  174. package/lib/components/VItemGroup/index.d.mts +38 -120
  175. package/lib/components/VKbd/index.d.mts +0 -15
  176. package/lib/components/VKbd/index.mjs +3 -0
  177. package/lib/components/VKbd/index.mjs.map +1 -1
  178. package/lib/components/VLabel/index.d.mts +0 -15
  179. package/lib/components/VLayout/VLayout.mjs +2 -2
  180. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  181. package/lib/components/VLayout/index.d.mts +0 -30
  182. package/lib/components/VLazy/VLazy.mjs +2 -2
  183. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  184. package/lib/components/VLazy/index.d.mts +0 -15
  185. package/lib/components/VList/VList.mjs +3 -3
  186. package/lib/components/VList/VList.mjs.map +1 -1
  187. package/lib/components/VList/VListChildren.mjs +2 -2
  188. package/lib/components/VList/VListChildren.mjs.map +1 -1
  189. package/lib/components/VList/VListGroup.mjs +7 -7
  190. package/lib/components/VList/VListGroup.mjs.map +1 -1
  191. package/lib/components/VList/VListImg.mjs +1 -0
  192. package/lib/components/VList/VListImg.mjs.map +1 -1
  193. package/lib/components/VList/VListItem.mjs +8 -8
  194. package/lib/components/VList/VListItem.mjs.map +1 -1
  195. package/lib/components/VList/VListItemSubtitle.mjs +1 -0
  196. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  197. package/lib/components/VList/VListItemTitle.mjs +1 -0
  198. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  199. package/lib/components/VList/VListSubheader.mjs +2 -2
  200. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  201. package/lib/components/VList/_variables.scss +6 -6
  202. package/lib/components/VList/index.d.mts +185 -337
  203. package/lib/components/VLocaleProvider/index.d.mts +0 -15
  204. package/lib/components/VMain/VMain.mjs +2 -2
  205. package/lib/components/VMain/VMain.mjs.map +1 -1
  206. package/lib/components/VMain/index.d.mts +0 -15
  207. package/lib/components/VMenu/VMenu.mjs +5 -5
  208. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  209. package/lib/components/VMenu/index.d.mts +222 -348
  210. package/lib/components/VMenu/shared.mjs +2 -0
  211. package/lib/components/VMenu/shared.mjs.map +1 -1
  212. package/lib/components/VMessages/VMessages.mjs +2 -2
  213. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  214. package/lib/components/VMessages/index.d.mts +15 -30
  215. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +9 -9
  216. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  217. package/lib/components/VNavigationDrawer/index.d.mts +15 -42
  218. package/lib/components/VOverlay/VOverlay.mjs +10 -13
  219. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  220. package/lib/components/VOverlay/index.d.mts +55 -94
  221. package/lib/components/VOverlay/locationStrategies.mjs +4 -4
  222. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  223. package/lib/components/VOverlay/scrollStrategies.mjs +2 -2
  224. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  225. package/lib/components/VOverlay/useActivator.mjs +4 -7
  226. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  227. package/lib/components/VOverlay/util/point.mjs +2 -0
  228. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  229. package/lib/components/VPagination/VPagination.mjs +8 -8
  230. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  231. package/lib/components/VPagination/index.d.mts +75 -106
  232. package/lib/components/VParallax/VParallax.mjs +2 -5
  233. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  234. package/lib/components/VParallax/index.d.mts +0 -27
  235. package/lib/components/VProgressCircular/VProgressCircular.mjs +4 -4
  236. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  237. package/lib/components/VProgressCircular/index.d.mts +19 -42
  238. package/lib/components/VProgressLinear/VProgressLinear.mjs +5 -5
  239. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  240. package/lib/components/VProgressLinear/index.d.mts +19 -46
  241. package/lib/components/VRadio/index.d.mts +33 -68
  242. package/lib/components/VRadioGroup/VRadioGroup.mjs +3 -3
  243. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  244. package/lib/components/VRadioGroup/index.d.mts +140 -191
  245. package/lib/components/VRangeSlider/VRangeSlider.mjs +3 -3
  246. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  247. package/lib/components/VRangeSlider/index.d.mts +100 -143
  248. package/lib/components/VRating/VRating.mjs +5 -8
  249. package/lib/components/VRating/VRating.mjs.map +1 -1
  250. package/lib/components/VRating/index.d.mts +30 -49
  251. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  252. package/lib/components/VResponsive/index.d.mts +0 -19
  253. package/lib/components/VSelect/VSelect.mjs +7 -7
  254. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  255. package/lib/components/VSelect/index.d.mts +205 -259
  256. package/lib/components/VSelectionControl/VSelectionControl.mjs +4 -4
  257. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  258. package/lib/components/VSelectionControl/index.d.mts +24 -24
  259. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +4 -4
  260. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  261. package/lib/components/VSelectionControlGroup/index.d.mts +0 -15
  262. package/lib/components/VSheet/VSheet.mjs +3 -3
  263. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  264. package/lib/components/VSheet/index.d.mts +0 -15
  265. package/lib/components/VSlideGroup/VSlideGroup.mjs +6 -6
  266. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  267. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +2 -2
  268. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  269. package/lib/components/VSlideGroup/index.d.mts +68 -126
  270. package/lib/components/VSlider/VSlider.css +5 -4
  271. package/lib/components/VSlider/VSlider.mjs +5 -5
  272. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  273. package/lib/components/VSlider/VSlider.sass +5 -4
  274. package/lib/components/VSlider/VSliderThumb.mjs +5 -5
  275. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  276. package/lib/components/VSlider/VSliderTrack.mjs +2 -2
  277. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  278. package/lib/components/VSlider/index.d.mts +100 -143
  279. package/lib/components/VSlider/slider.mjs +3 -6
  280. package/lib/components/VSlider/slider.mjs.map +1 -1
  281. package/lib/components/VSnackbar/VSnackbar.mjs +6 -6
  282. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  283. package/lib/components/VSnackbar/_variables.scss +1 -1
  284. package/lib/components/VSnackbar/index.d.mts +167 -289
  285. package/lib/components/VStepper/index.mjs +3 -2
  286. package/lib/components/VStepper/index.mjs.map +1 -1
  287. package/lib/components/VSwitch/VSwitch.mjs +4 -4
  288. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  289. package/lib/components/VSwitch/index.d.mts +164 -219
  290. package/lib/components/VSystemBar/VSystemBar.mjs +3 -3
  291. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  292. package/lib/components/VSystemBar/_variables.scss +2 -2
  293. package/lib/components/VSystemBar/index.d.mts +0 -15
  294. package/lib/components/VTable/VTable.mjs.map +1 -1
  295. package/lib/components/VTable/_variables.scss +1 -1
  296. package/lib/components/VTable/index.d.mts +0 -27
  297. package/lib/components/VTabs/VTab.mjs +2 -2
  298. package/lib/components/VTabs/VTab.mjs.map +1 -1
  299. package/lib/components/VTabs/VTabs.mjs +6 -6
  300. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  301. package/lib/components/VTabs/index.d.mts +0 -30
  302. package/lib/components/VTabs/shared.mjs +2 -0
  303. package/lib/components/VTabs/shared.mjs.map +1 -1
  304. package/lib/components/VTextField/VTextField.mjs +5 -5
  305. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  306. package/lib/components/VTextField/index.d.mts +423 -559
  307. package/lib/components/VTextarea/VTextarea.mjs +7 -10
  308. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  309. package/lib/components/VTextarea/index.d.mts +362 -494
  310. package/lib/components/VThemeProvider/index.d.mts +0 -15
  311. package/lib/components/VTimeline/VTimeline.mjs +3 -3
  312. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  313. package/lib/components/VTimeline/VTimelineDivider.mjs +4 -4
  314. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  315. package/lib/components/VTimeline/VTimelineItem.mjs +3 -6
  316. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  317. package/lib/components/VTimeline/index.d.mts +0 -38
  318. package/lib/components/VToolbar/VToolbar.mjs +7 -7
  319. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  320. package/lib/components/VToolbar/VToolbarItems.mjs +3 -3
  321. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  322. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  323. package/lib/components/VToolbar/_variables.scss +2 -2
  324. package/lib/components/VToolbar/index.d.mts +1 -70
  325. package/lib/components/VTooltip/VTooltip.mjs +5 -5
  326. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  327. package/lib/components/VTooltip/index.d.mts +222 -348
  328. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  329. package/lib/components/VValidation/index.d.mts +19 -90
  330. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  331. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +1 -1
  332. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  333. package/lib/components/VVirtualScroll/index.d.mts +17 -17
  334. package/lib/components/VWindow/VWindow.mjs +5 -5
  335. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  336. package/lib/components/VWindow/VWindowItem.mjs +4 -4
  337. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  338. package/lib/components/VWindow/index.d.mts +64 -138
  339. package/lib/components/index.d.mts +4451 -8296
  340. package/lib/components/transitions/createTransition.mjs +1 -4
  341. package/lib/components/transitions/createTransition.mjs.map +1 -1
  342. package/lib/components/transitions/dialog-transition.mjs +1 -3
  343. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  344. package/lib/components/transitions/index.d.mts +0 -240
  345. package/lib/composables/display.mjs +1 -1
  346. package/lib/composables/display.mjs.map +1 -1
  347. package/lib/composables/filter.mjs +2 -4
  348. package/lib/composables/filter.mjs.map +1 -1
  349. package/lib/composables/focus.mjs +1 -1
  350. package/lib/composables/focus.mjs.map +1 -1
  351. package/lib/composables/forwardRefs.mjs +2 -0
  352. package/lib/composables/forwardRefs.mjs.map +1 -1
  353. package/lib/composables/hydration.mjs +1 -1
  354. package/lib/composables/hydration.mjs.map +1 -1
  355. package/lib/composables/icons.mjs +7 -1
  356. package/lib/composables/icons.mjs.map +1 -1
  357. package/lib/composables/lazy.mjs +1 -3
  358. package/lib/composables/lazy.mjs.map +1 -1
  359. package/lib/composables/loader.mjs.map +1 -1
  360. package/lib/composables/locale.mjs +2 -1
  361. package/lib/composables/locale.mjs.map +1 -1
  362. package/lib/composables/mutationObserver.mjs +1 -4
  363. package/lib/composables/mutationObserver.mjs.map +1 -1
  364. package/lib/composables/nested/nested.mjs +2 -2
  365. package/lib/composables/nested/nested.mjs.map +1 -1
  366. package/lib/composables/nested/selectStrategies.mjs +1 -0
  367. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  368. package/lib/composables/proxiedModel.mjs +3 -3
  369. package/lib/composables/proxiedModel.mjs.map +1 -1
  370. package/lib/composables/refs.mjs +4 -1
  371. package/lib/composables/refs.mjs.map +1 -1
  372. package/lib/composables/resizeObserver.mjs +1 -2
  373. package/lib/composables/resizeObserver.mjs.map +1 -1
  374. package/lib/composables/router.mjs +1 -4
  375. package/lib/composables/router.mjs.map +1 -1
  376. package/lib/composables/scopeId.mjs +1 -0
  377. package/lib/composables/scopeId.mjs.map +1 -1
  378. package/lib/composables/theme.mjs.map +1 -1
  379. package/lib/composables/toggleScope.mjs +4 -0
  380. package/lib/composables/toggleScope.mjs.map +1 -1
  381. package/lib/composables/touch.mjs +1 -0
  382. package/lib/composables/touch.mjs.map +1 -1
  383. package/lib/composables/validation.mjs +2 -2
  384. package/lib/composables/validation.mjs.map +1 -1
  385. package/lib/directives/click-outside/index.mjs +2 -1
  386. package/lib/directives/click-outside/index.mjs.map +1 -1
  387. package/lib/directives/intersect/index.mjs +1 -1
  388. package/lib/directives/intersect/index.mjs.map +1 -1
  389. package/lib/directives/resize/index.mjs +2 -0
  390. package/lib/directives/resize/index.mjs.map +1 -1
  391. package/lib/directives/scroll/index.mjs +2 -0
  392. package/lib/directives/scroll/index.mjs.map +1 -1
  393. package/lib/directives/touch/index.mjs +1 -2
  394. package/lib/directives/touch/index.mjs.map +1 -1
  395. package/lib/entry-bundler.mjs +7 -2
  396. package/lib/entry-bundler.mjs.map +1 -1
  397. package/lib/framework.mjs +4 -6
  398. package/lib/framework.mjs.map +1 -1
  399. package/lib/iconsets/fa.mjs +1 -1
  400. package/lib/iconsets/fa.mjs.map +1 -1
  401. package/lib/iconsets/fa4.mjs +4 -3
  402. package/lib/iconsets/fa4.mjs.map +1 -1
  403. package/lib/iconsets/md.mjs +4 -3
  404. package/lib/iconsets/md.mjs.map +1 -1
  405. package/lib/iconsets/mdi-svg.mjs +1 -1
  406. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  407. package/lib/iconsets/mdi.mjs +4 -3
  408. package/lib/iconsets/mdi.mjs.map +1 -1
  409. package/lib/index.d.mts +45 -43
  410. package/lib/labs/VBottomSheet/index.d.mts +55 -94
  411. package/lib/labs/VDataIterator/VDataIterator.mjs +10 -7
  412. package/lib/labs/VDataIterator/VDataIterator.mjs.map +1 -1
  413. package/lib/labs/VDataIterator/composables/items.mjs +7 -1
  414. package/lib/labs/VDataIterator/composables/items.mjs.map +1 -1
  415. package/lib/labs/VDataIterator/index.d.mts +142 -132
  416. package/lib/labs/VDataTable/VDataTable.css +1 -0
  417. package/lib/labs/VDataTable/VDataTable.mjs +11 -8
  418. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  419. package/lib/labs/VDataTable/VDataTable.sass +1 -0
  420. package/lib/labs/VDataTable/VDataTableColumn.mjs +2 -1
  421. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
  422. package/lib/labs/VDataTable/VDataTableFooter.mjs +2 -2
  423. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  424. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +4 -4
  425. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  426. package/lib/labs/VDataTable/VDataTableHeaders.mjs +9 -8
  427. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  428. package/lib/labs/VDataTable/VDataTableRow.mjs +1 -0
  429. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  430. package/lib/labs/VDataTable/VDataTableRows.mjs +2 -2
  431. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  432. package/lib/labs/VDataTable/VDataTableServer.mjs +14 -9
  433. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  434. package/lib/labs/VDataTable/VDataTableVirtual.mjs +12 -9
  435. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  436. package/lib/labs/VDataTable/composables/expand.mjs +3 -3
  437. package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
  438. package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
  439. package/lib/labs/VDataTable/composables/headers.mjs +1 -1
  440. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  441. package/lib/labs/VDataTable/composables/items.mjs +7 -1
  442. package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
  443. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  444. package/lib/labs/VDataTable/composables/select.mjs +124 -8
  445. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  446. package/lib/labs/VDataTable/composables/sort.mjs +3 -8
  447. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  448. package/lib/labs/VDataTable/index.d.mts +1665 -2951
  449. package/lib/labs/VDataTable/types.mjs.map +1 -1
  450. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
  451. package/lib/labs/VInfiniteScroll/index.d.mts +60 -91
  452. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +3 -3
  453. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  454. package/lib/labs/VSkeletonLoader/index.d.mts +0 -15
  455. package/lib/labs/components.d.mts +1935 -3305
  456. package/lib/labs/date/date.mjs.map +1 -1
  457. package/lib/labs/entry-bundler.mjs +3 -1
  458. package/lib/labs/entry-bundler.mjs.map +1 -1
  459. package/lib/locale/adapters/vue-i18n.d.mts +1 -1
  460. package/lib/locale/adapters/vue-i18n.mjs +5 -1
  461. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  462. package/lib/locale/adapters/vuetify.mjs +1 -3
  463. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  464. package/lib/styles/settings/_colors.scss +18 -15
  465. package/lib/util/anchor.mjs +1 -0
  466. package/lib/util/anchor.mjs.map +1 -1
  467. package/lib/util/animation.mjs +1 -0
  468. package/lib/util/animation.mjs.map +1 -1
  469. package/lib/util/color/APCA.mjs +1 -0
  470. package/lib/util/color/APCA.mjs.map +1 -1
  471. package/lib/util/color/transformCIELAB.mjs +2 -0
  472. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  473. package/lib/util/color/transformSRGB.mjs +3 -1
  474. package/lib/util/color/transformSRGB.mjs.map +1 -1
  475. package/lib/util/colorUtils.mjs +2 -2
  476. package/lib/util/colorUtils.mjs.map +1 -1
  477. package/lib/util/console.mjs +1 -0
  478. package/lib/util/console.mjs.map +1 -1
  479. package/lib/util/createSimpleFunctional.mjs +2 -1
  480. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  481. package/lib/util/defineComponent.mjs +3 -3
  482. package/lib/util/defineComponent.mjs.map +1 -1
  483. package/lib/util/getCurrentInstance.mjs +1 -2
  484. package/lib/util/getCurrentInstance.mjs.map +1 -1
  485. package/lib/util/injectSelf.mjs +2 -1
  486. package/lib/util/injectSelf.mjs.map +1 -1
  487. package/lib/util/propsFactory.mjs +1 -0
  488. package/lib/util/propsFactory.mjs.map +1 -1
  489. package/package.json +2 -1
@@ -25,9 +25,6 @@ declare const VContainer: {
25
25
  'v-slots'?: {
26
26
  default?: false | (() => vue.VNodeChild) | undefined;
27
27
  } | undefined;
28
- $slots?: {
29
- default?: (() => vue.VNodeChild) | undefined;
30
- } | undefined;
31
28
  onVnodeBeforeMount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
32
29
  [key: string]: any;
33
30
  }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -97,10 +94,6 @@ declare const VContainer: {
97
94
  } | undefined;
98
95
  } & {
99
96
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
100
- } & {
101
- $slots?: {
102
- default?: (() => vue.VNodeChild) | undefined;
103
- } | undefined;
104
97
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
105
98
  style: vue.StyleValue;
106
99
  tag: string;
@@ -144,10 +137,6 @@ declare const VContainer: {
144
137
  } | undefined;
145
138
  } & {
146
139
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
147
- } & {
148
- $slots?: {
149
- default?: (() => vue.VNodeChild) | undefined;
150
- } | undefined;
151
140
  } & vue.ShallowUnwrapRef<{}> & {} & vue.ComponentCustomProperties & {};
152
141
  __isFragment?: undefined;
153
142
  __isTeleport?: undefined;
@@ -167,10 +156,6 @@ declare const VContainer: {
167
156
  } | undefined;
168
157
  } & {
169
158
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
170
- } & {
171
- $slots?: {
172
- default?: (() => vue.VNodeChild) | undefined;
173
- } | undefined;
174
159
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
175
160
  style: vue.StyleValue;
176
161
  tag: string;
@@ -233,9 +218,6 @@ declare const VCol: {
233
218
  'v-slots'?: {
234
219
  default?: false | (() => vue.VNodeChild) | undefined;
235
220
  } | undefined;
236
- $slots?: {
237
- default?: (() => vue.VNodeChild) | undefined;
238
- } | undefined;
239
221
  onVnodeBeforeMount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
240
222
  [key: string]: any;
241
223
  }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -338,10 +320,6 @@ declare const VCol: {
338
320
  } | undefined;
339
321
  } & {
340
322
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
341
- } & {
342
- $slots?: {
343
- default?: (() => vue.VNodeChild) | undefined;
344
- } | undefined;
345
323
  }, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
346
324
  [key: string]: any;
347
325
  }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
@@ -408,10 +386,6 @@ declare const VCol: {
408
386
  } | undefined;
409
387
  } & {
410
388
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
411
- } & {
412
- $slots?: {
413
- default?: (() => vue.VNodeChild) | undefined;
414
- } | undefined;
415
389
  } & vue.ShallowUnwrapRef<() => vue.VNode<vue.RendererNode, vue.RendererElement, {
416
390
  [key: string]: any;
417
391
  }>> & {} & vue.ComponentCustomProperties & {};
@@ -451,10 +425,6 @@ declare const VCol: {
451
425
  } | undefined;
452
426
  } & {
453
427
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
454
- } & {
455
- $slots?: {
456
- default?: (() => vue.VNodeChild) | undefined;
457
- } | undefined;
458
428
  }, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
459
429
  [key: string]: any;
460
430
  }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
@@ -579,9 +549,6 @@ declare const VRow: {
579
549
  'v-slots'?: {
580
550
  default?: false | (() => vue.VNodeChild) | undefined;
581
551
  } | undefined;
582
- $slots?: {
583
- default?: (() => vue.VNodeChild) | undefined;
584
- } | undefined;
585
552
  onVnodeBeforeMount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
586
553
  [key: string]: any;
587
554
  }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -685,10 +652,6 @@ declare const VRow: {
685
652
  } | undefined;
686
653
  } & {
687
654
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
688
- } & {
689
- $slots?: {
690
- default?: (() => vue.VNodeChild) | undefined;
691
- } | undefined;
692
655
  }, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
693
656
  [key: string]: any;
694
657
  }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
@@ -757,10 +720,6 @@ declare const VRow: {
757
720
  } | undefined;
758
721
  } & {
759
722
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
760
- } & {
761
- $slots?: {
762
- default?: (() => vue.VNodeChild) | undefined;
763
- } | undefined;
764
723
  } & vue.ShallowUnwrapRef<() => vue.VNode<vue.RendererNode, vue.RendererElement, {
765
724
  [key: string]: any;
766
725
  }>> & {} & vue.ComponentCustomProperties & {};
@@ -801,10 +760,6 @@ declare const VRow: {
801
760
  } | undefined;
802
761
  } & {
803
762
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
804
- } & {
805
- $slots?: {
806
- default?: (() => vue.VNodeChild) | undefined;
807
- } | undefined;
808
763
  }, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
809
764
  [key: string]: any;
810
765
  }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
@@ -925,9 +880,6 @@ declare const VSpacer: {
925
880
  'v-slots'?: {
926
881
  default?: false | (() => vue.VNodeChild) | undefined;
927
882
  } | undefined;
928
- $slots?: {
929
- default?: (() => vue.VNodeChild) | undefined;
930
- } | undefined;
931
883
  onVnodeBeforeMount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
932
884
  [key: string]: any;
933
885
  }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -996,10 +948,6 @@ declare const VSpacer: {
996
948
  } | undefined;
997
949
  } & {
998
950
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
999
- } & {
1000
- $slots?: {
1001
- default?: (() => vue.VNodeChild) | undefined;
1002
- } | undefined;
1003
951
  }, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
1004
952
  [key: string]: any;
1005
953
  }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
@@ -1043,10 +991,6 @@ declare const VSpacer: {
1043
991
  } | undefined;
1044
992
  } & {
1045
993
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
1046
- } & {
1047
- $slots?: {
1048
- default?: (() => vue.VNodeChild) | undefined;
1049
- } | undefined;
1050
994
  } & vue.ShallowUnwrapRef<() => vue.VNode<vue.RendererNode, vue.RendererElement, {
1051
995
  [key: string]: any;
1052
996
  }>> & {} & vue.ComponentCustomProperties & {};
@@ -1067,10 +1011,6 @@ declare const VSpacer: {
1067
1011
  } | undefined;
1068
1012
  } & {
1069
1013
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
1070
- } & {
1071
- $slots?: {
1072
- default?: (() => vue.VNodeChild) | undefined;
1073
- } | undefined;
1074
1014
  }, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
1075
1015
  [key: string]: any;
1076
1016
  }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
@@ -1 +1 @@
1
- {"version":3,"file":"VHover.mjs","names":["makeDelayProps","useDelay","useProxiedModel","genericComponent","propsFactory","makeVHoverProps","disabled","Boolean","modelValue","type","default","undefined","VHover","name","props","emits","value","setup","_ref","slots","isHovering","runOpenDelay","runCloseDelay","onMouseenter","onMouseleave"],"sources":["../../../src/components/VHover/VHover.tsx"],"sourcesContent":["// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { genericComponent, propsFactory } from '@/util'\n\ntype VHoverSlots = {\n default: [{\n isHovering: boolean | undefined\n props: Record<string, unknown>\n }]\n}\n\nexport const makeVHoverProps = propsFactory({\n disabled: Boolean,\n modelValue: {\n type: Boolean,\n default: undefined,\n },\n\n ...makeDelayProps(),\n}, 'v-hover')\n\nexport const VHover = genericComponent<VHoverSlots>()({\n name: 'VHover',\n\n props: makeVHoverProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isHovering = useProxiedModel(props, 'modelValue')\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => !props.disabled && (isHovering.value = value))\n\n return () => slots.default?.({\n isHovering: isHovering.value,\n props: {\n onMouseenter: runOpenDelay,\n onMouseleave: runCloseDelay,\n },\n })\n },\n})\n\nexport type VHover = InstanceType<typeof VHover>\n"],"mappings":"AAAA;AAAA,SACSA,cAAc,EAAEC,QAAQ;AAAA,SACxBC,eAAe,8CAExB;AAAA,SACSC,gBAAgB,EAAEC,YAAY;AASvC,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;EAC1CE,QAAQ,EAAEC,OAAO;EACjBC,UAAU,EAAE;IACVC,IAAI,EAAEF,OAAO;IACbG,OAAO,EAAEC;EACX,CAAC;EAED,GAAGX,cAAc;AACnB,CAAC,EAAE,SAAS,CAAC;AAEb,OAAO,MAAMY,MAAM,GAAGT,gBAAgB,EAAe,CAAC;EACpDU,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAET,eAAe,EAAE;EAExBU,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAc,IAAK;EAC3C,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,UAAU,GAAGlB,eAAe,CAACY,KAAK,EAAE,YAAY,CAAC;IACvD,MAAM;MAAEO,YAAY;MAAEC;IAAc,CAAC,GAAGrB,QAAQ,CAACa,KAAK,EAAEE,KAAK,IAAI,CAACF,KAAK,CAACR,QAAQ,KAAKc,UAAU,CAACJ,KAAK,GAAGA,KAAK,CAAC,CAAC;IAE/G,OAAO,MAAMG,KAAK,CAACT,OAAO,GAAG;MAC3BU,UAAU,EAAEA,UAAU,CAACJ,KAAK;MAC5BF,KAAK,EAAE;QACLS,YAAY,EAAEF,YAAY;QAC1BG,YAAY,EAAEF;MAChB;IACF,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VHover.mjs","names":["makeDelayProps","useDelay","useProxiedModel","genericComponent","propsFactory","makeVHoverProps","disabled","Boolean","modelValue","type","default","undefined","VHover","name","props","emits","value","setup","_ref","slots","isHovering","runOpenDelay","runCloseDelay","onMouseenter","onMouseleave"],"sources":["../../../src/components/VHover/VHover.tsx"],"sourcesContent":["// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { genericComponent, propsFactory } from '@/util'\n\ntype VHoverSlots = {\n default: {\n isHovering: boolean | undefined\n props: Record<string, unknown>\n }\n}\n\nexport const makeVHoverProps = propsFactory({\n disabled: Boolean,\n modelValue: {\n type: Boolean,\n default: undefined,\n },\n\n ...makeDelayProps(),\n}, 'v-hover')\n\nexport const VHover = genericComponent<VHoverSlots>()({\n name: 'VHover',\n\n props: makeVHoverProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isHovering = useProxiedModel(props, 'modelValue')\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => !props.disabled && (isHovering.value = value))\n\n return () => slots.default?.({\n isHovering: isHovering.value,\n props: {\n onMouseenter: runOpenDelay,\n onMouseleave: runCloseDelay,\n },\n })\n },\n})\n\nexport type VHover = InstanceType<typeof VHover>\n"],"mappings":"AAAA;AAAA,SACSA,cAAc,EAAEC,QAAQ;AAAA,SACxBC,eAAe,8CAExB;AAAA,SACSC,gBAAgB,EAAEC,YAAY;AASvC,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;EAC1CE,QAAQ,EAAEC,OAAO;EACjBC,UAAU,EAAE;IACVC,IAAI,EAAEF,OAAO;IACbG,OAAO,EAAEC;EACX,CAAC;EAED,GAAGX,cAAc;AACnB,CAAC,EAAE,SAAS,CAAC;AAEb,OAAO,MAAMY,MAAM,GAAGT,gBAAgB,EAAe,CAAC;EACpDU,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAET,eAAe,EAAE;EAExBU,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAc,IAAK;EAC3C,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,UAAU,GAAGlB,eAAe,CAACY,KAAK,EAAE,YAAY,CAAC;IACvD,MAAM;MAAEO,YAAY;MAAEC;IAAc,CAAC,GAAGrB,QAAQ,CAACa,KAAK,EAAEE,KAAK,IAAI,CAACF,KAAK,CAACR,QAAQ,KAAKc,UAAU,CAACJ,KAAK,GAAGA,KAAK,CAAC,CAAC;IAE/G,OAAO,MAAMG,KAAK,CAACT,OAAO,GAAG;MAC3BU,UAAU,EAAEA,UAAU,CAACJ,KAAK;MAC5BF,KAAK,EAAE;QACLS,YAAY,EAAEF,YAAY;QAC1BG,YAAY,EAAEF;MAChB;IACF,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
@@ -16,29 +16,23 @@ declare const VHover: {
16
16
  style?: unknown;
17
17
  class?: unknown;
18
18
  $children?: vue.VNodeChild | {
19
- default?: ((args_0: {
19
+ default?: ((arg: {
20
20
  isHovering: boolean | undefined;
21
21
  props: Record<string, unknown>;
22
22
  }) => vue.VNodeChild) | undefined;
23
- } | ((args_0: {
23
+ } | ((arg: {
24
24
  isHovering: boolean | undefined;
25
25
  props: Record<string, unknown>;
26
26
  }) => vue.VNodeChild);
27
27
  ref?: vue.VNodeRef | undefined;
28
28
  ref_for?: boolean | undefined;
29
29
  ref_key?: string | undefined;
30
- "v-slot:default"?: false | ((args_0: {
30
+ "v-slot:default"?: false | ((arg: {
31
31
  isHovering: boolean | undefined;
32
32
  props: Record<string, unknown>;
33
33
  }) => vue.VNodeChild) | undefined;
34
34
  'v-slots'?: {
35
- default?: false | ((args_0: {
36
- isHovering: boolean | undefined;
37
- props: Record<string, unknown>;
38
- }) => vue.VNodeChild) | undefined;
39
- } | undefined;
40
- $slots?: {
41
- default?: ((args_0: {
35
+ default?: false | ((arg: {
42
36
  isHovering: boolean | undefined;
43
37
  props: Record<string, unknown>;
44
38
  }) => vue.VNodeChild) | undefined;
@@ -92,7 +86,7 @@ declare const VHover: {
92
86
  [x: string]: unknown;
93
87
  };
94
88
  $slots: Readonly<{
95
- default?: ((args_0: {
89
+ default?: ((arg: {
96
90
  isHovering: boolean | undefined;
97
91
  props: Record<string, unknown>;
98
92
  }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -111,32 +105,25 @@ declare const VHover: {
111
105
  openDelay?: string | number | undefined;
112
106
  } & {
113
107
  $children?: vue.VNodeChild | {
114
- default?: ((args_0: {
108
+ default?: ((arg: {
115
109
  isHovering: boolean | undefined;
116
110
  props: Record<string, unknown>;
117
111
  }) => vue.VNodeChild) | undefined;
118
- } | ((args_0: {
112
+ } | ((arg: {
119
113
  isHovering: boolean | undefined;
120
114
  props: Record<string, unknown>;
121
115
  }) => vue.VNodeChild);
122
116
  'v-slots'?: {
123
- default?: false | ((args_0: {
117
+ default?: false | ((arg: {
124
118
  isHovering: boolean | undefined;
125
119
  props: Record<string, unknown>;
126
120
  }) => vue.VNodeChild) | undefined;
127
121
  } | undefined;
128
122
  } & {
129
- "v-slot:default"?: false | ((args_0: {
123
+ "v-slot:default"?: false | ((arg: {
130
124
  isHovering: boolean | undefined;
131
125
  props: Record<string, unknown>;
132
126
  }) => vue.VNodeChild) | undefined;
133
- } & {
134
- $slots?: {
135
- default?: ((args_0: {
136
- isHovering: boolean | undefined;
137
- props: Record<string, unknown>;
138
- }) => vue.VNodeChild) | undefined;
139
- } | undefined;
140
127
  } & {
141
128
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
142
129
  }, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -147,7 +134,7 @@ declare const VHover: {
147
134
  disabled: boolean;
148
135
  modelValue: boolean;
149
136
  }, {}, string, vue.SlotsType<Partial<{
150
- default: (args_0: {
137
+ default: (arg: {
151
138
  isHovering: boolean | undefined;
152
139
  props: Record<string, unknown>;
153
140
  }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -181,32 +168,25 @@ declare const VHover: {
181
168
  openDelay?: string | number | undefined;
182
169
  } & {
183
170
  $children?: vue.VNodeChild | {
184
- default?: ((args_0: {
171
+ default?: ((arg: {
185
172
  isHovering: boolean | undefined;
186
173
  props: Record<string, unknown>;
187
174
  }) => vue.VNodeChild) | undefined;
188
- } | ((args_0: {
175
+ } | ((arg: {
189
176
  isHovering: boolean | undefined;
190
177
  props: Record<string, unknown>;
191
178
  }) => vue.VNodeChild);
192
179
  'v-slots'?: {
193
- default?: false | ((args_0: {
180
+ default?: false | ((arg: {
194
181
  isHovering: boolean | undefined;
195
182
  props: Record<string, unknown>;
196
183
  }) => vue.VNodeChild) | undefined;
197
184
  } | undefined;
198
185
  } & {
199
- "v-slot:default"?: false | ((args_0: {
186
+ "v-slot:default"?: false | ((arg: {
200
187
  isHovering: boolean | undefined;
201
188
  props: Record<string, unknown>;
202
189
  }) => vue.VNodeChild) | undefined;
203
- } & {
204
- $slots?: {
205
- default?: ((args_0: {
206
- isHovering: boolean | undefined;
207
- props: Record<string, unknown>;
208
- }) => vue.VNodeChild) | undefined;
209
- } | undefined;
210
190
  } & {
211
191
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
212
192
  } & vue.ShallowUnwrapRef<() => vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -223,32 +203,25 @@ declare const VHover: {
223
203
  openDelay?: string | number | undefined;
224
204
  } & {
225
205
  $children?: vue.VNodeChild | {
226
- default?: ((args_0: {
206
+ default?: ((arg: {
227
207
  isHovering: boolean | undefined;
228
208
  props: Record<string, unknown>;
229
209
  }) => vue.VNodeChild) | undefined;
230
- } | ((args_0: {
210
+ } | ((arg: {
231
211
  isHovering: boolean | undefined;
232
212
  props: Record<string, unknown>;
233
213
  }) => vue.VNodeChild);
234
214
  'v-slots'?: {
235
- default?: false | ((args_0: {
215
+ default?: false | ((arg: {
236
216
  isHovering: boolean | undefined;
237
217
  props: Record<string, unknown>;
238
218
  }) => vue.VNodeChild) | undefined;
239
219
  } | undefined;
240
220
  } & {
241
- "v-slot:default"?: false | ((args_0: {
221
+ "v-slot:default"?: false | ((arg: {
242
222
  isHovering: boolean | undefined;
243
223
  props: Record<string, unknown>;
244
224
  }) => vue.VNodeChild) | undefined;
245
- } & {
246
- $slots?: {
247
- default?: ((args_0: {
248
- isHovering: boolean | undefined;
249
- props: Record<string, unknown>;
250
- }) => vue.VNodeChild) | undefined;
251
- } | undefined;
252
225
  } & {
253
226
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
254
227
  }, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -259,7 +232,7 @@ declare const VHover: {
259
232
  disabled: boolean;
260
233
  modelValue: boolean;
261
234
  }, {}, string, vue.SlotsType<Partial<{
262
- default: (args_0: {
235
+ default: (arg: {
263
236
  isHovering: boolean | undefined;
264
237
  props: Record<string, unknown>;
265
238
  }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -3,12 +3,12 @@ import { createVNode as _createVNode } from "vue";
3
3
  import "./VIcon.css";
4
4
 
5
5
  // Composables
6
- import { IconValue, useIcon } from "../../composables/icons.mjs";
6
+ import { useTextColor } from "../../composables/color.mjs";
7
7
  import { makeComponentProps } from "../../composables/component.mjs";
8
+ import { IconValue, useIcon } from "../../composables/icons.mjs";
8
9
  import { makeSizeProps, useSize } from "../../composables/size.mjs";
9
10
  import { makeTagProps } from "../../composables/tag.mjs";
10
- import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
11
- import { useTextColor } from "../../composables/color.mjs"; // Utilities
11
+ import { makeThemeProps, provideTheme } from "../../composables/theme.mjs"; // Utilities
12
12
  import { computed, ref, Text, toRef } from 'vue';
13
13
  import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.mjs";
14
14
  export const makeVIconProps = propsFactory({
@@ -1 +1 @@
1
- {"version":3,"file":"VIcon.mjs","names":["IconValue","useIcon","makeComponentProps","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","useTextColor","computed","ref","Text","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVIconProps","color","String","start","Boolean","end","icon","tag","VIcon","name","props","setup","_ref","attrs","slots","slotIcon","themeClasses","iconData","value","sizeClasses","textColorClasses","textColorStyles","slotValue","default","filter","node","type","children","_createVNode","component","onClick","class","fontSize","size","height","width","undefined","style"],"sources":["../../../src/components/VIcon/VIcon.tsx"],"sourcesContent":["// Styles\nimport './VIcon.sass'\n\n// Composables\nimport { IconValue, useIcon } from '@/composables/icons'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, Text, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVIconProps = propsFactory({\n color: String,\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'i' }),\n ...makeThemeProps(),\n}, 'v-icon')\n\nexport const VIcon = genericComponent()({\n name: 'VIcon',\n\n props: makeVIconProps(),\n\n setup (props, { attrs, slots }) {\n const slotIcon = ref<string>()\n\n const { themeClasses } = provideTheme(props)\n const { iconData } = useIcon(computed(() => slotIcon.value || props.icon))\n const { sizeClasses } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n useRender(() => {\n const slotValue = slots.default?.()\n if (slotValue) {\n slotIcon.value = slotValue.filter(node =>\n node.type === Text && node.children && typeof node.children === 'string'\n )[0]?.children as string\n }\n\n return (\n <iconData.value.component\n tag={ props.tag }\n icon={ iconData.value.icon }\n class={[\n 'v-icon',\n 'notranslate',\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n {\n 'v-icon--clickable': !!attrs.onClick,\n 'v-icon--start': props.start,\n 'v-icon--end': props.end,\n },\n props.class,\n ]}\n style={[\n !sizeClasses.value ? ({\n fontSize: convertToUnit(props.size),\n height: convertToUnit(props.size),\n width: convertToUnit(props.size),\n }) : undefined,\n textColorStyles.value,\n props.style,\n ]}\n role={ attrs.onClick ? 'button' : undefined }\n aria-hidden={ !attrs.onClick }\n >\n { slotValue }\n </iconData.value.component>\n )\n })\n\n return {}\n },\n})\n\nexport type VIcon = InstanceType<typeof VIcon>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VIcon.mjs","names":["useTextColor","makeComponentProps","IconValue","useIcon","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","computed","ref","Text","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVIconProps","color","String","start","Boolean","end","icon","tag","VIcon","name","props","setup","_ref","attrs","slots","slotIcon","themeClasses","iconData","value","sizeClasses","textColorClasses","textColorStyles","slotValue","default","filter","node","type","children","_createVNode","component","onClick","class","fontSize","size","height","width","undefined","style"],"sources":["../../../src/components/VIcon/VIcon.tsx"],"sourcesContent":["// Styles\nimport './VIcon.sass'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue, useIcon } from '@/composables/icons'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, ref, Text, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVIconProps = propsFactory({\n color: String,\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'i' }),\n ...makeThemeProps(),\n}, 'v-icon')\n\nexport const VIcon = genericComponent()({\n name: 'VIcon',\n\n props: makeVIconProps(),\n\n setup (props, { attrs, slots }) {\n const slotIcon = ref<string>()\n\n const { themeClasses } = provideTheme(props)\n const { iconData } = useIcon(computed(() => slotIcon.value || props.icon))\n const { sizeClasses } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n useRender(() => {\n const slotValue = slots.default?.()\n if (slotValue) {\n slotIcon.value = slotValue.filter(node =>\n node.type === Text && node.children && typeof node.children === 'string'\n )[0]?.children as string\n }\n\n return (\n <iconData.value.component\n tag={ props.tag }\n icon={ iconData.value.icon }\n class={[\n 'v-icon',\n 'notranslate',\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n {\n 'v-icon--clickable': !!attrs.onClick,\n 'v-icon--start': props.start,\n 'v-icon--end': props.end,\n },\n props.class,\n ]}\n style={[\n !sizeClasses.value ? ({\n fontSize: convertToUnit(props.size),\n height: convertToUnit(props.size),\n width: convertToUnit(props.size),\n }) : undefined,\n textColorStyles.value,\n props.style,\n ]}\n role={ attrs.onClick ? 'button' : undefined }\n aria-hidden={ !attrs.onClick }\n >\n { slotValue }\n </iconData.value.component>\n )\n })\n\n return {}\n },\n})\n\nexport type VIcon = InstanceType<typeof VIcon>\n"],"mappings":"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"}
@@ -27,9 +27,6 @@ declare const VComponentIcon: {
27
27
  'v-slots'?: {
28
28
  default?: false | (() => vue.VNodeChild) | undefined;
29
29
  } | undefined;
30
- $slots?: {
31
- default?: (() => vue.VNodeChild) | undefined;
32
- } | undefined;
33
30
  onVnodeBeforeMount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
34
31
  [key: string]: any;
35
32
  }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -97,10 +94,6 @@ declare const VComponentIcon: {
97
94
  } | undefined;
98
95
  } & {
99
96
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
100
- } & {
101
- $slots?: {
102
- default?: (() => vue.VNodeChild) | undefined;
103
- } | undefined;
104
97
  }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {}, {}, string, vue.SlotsType<Partial<{
105
98
  default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
106
99
  [key: string]: any;
@@ -138,10 +131,6 @@ declare const VComponentIcon: {
138
131
  } | undefined;
139
132
  } & {
140
133
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
141
- } & {
142
- $slots?: {
143
- default?: (() => vue.VNodeChild) | undefined;
144
- } | undefined;
145
134
  } & vue.ShallowUnwrapRef<() => JSX.Element> & {} & vue.ComponentCustomProperties & {};
146
135
  __isFragment?: undefined;
147
136
  __isTeleport?: undefined;
@@ -159,10 +148,6 @@ declare const VComponentIcon: {
159
148
  } | undefined;
160
149
  } & {
161
150
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
162
- } & {
163
- $slots?: {
164
- default?: (() => vue.VNodeChild) | undefined;
165
- } | undefined;
166
151
  }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {}, {}, string, vue.SlotsType<Partial<{
167
152
  default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
168
153
  [key: string]: any;
@@ -604,9 +589,6 @@ declare const VIcon: {
604
589
  'v-slots'?: {
605
590
  default?: false | (() => vue.VNodeChild) | undefined;
606
591
  } | undefined;
607
- $slots?: {
608
- default?: (() => vue.VNodeChild) | undefined;
609
- } | undefined;
610
592
  onVnodeBeforeMount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
611
593
  [key: string]: any;
612
594
  }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -681,10 +663,6 @@ declare const VIcon: {
681
663
  } | undefined;
682
664
  } & {
683
665
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
684
- } & {
685
- $slots?: {
686
- default?: (() => vue.VNodeChild) | undefined;
687
- } | undefined;
688
666
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
689
667
  end: boolean;
690
668
  start: boolean;
@@ -735,10 +713,6 @@ declare const VIcon: {
735
713
  } | undefined;
736
714
  } & {
737
715
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
738
- } & {
739
- $slots?: {
740
- default?: (() => vue.VNodeChild) | undefined;
741
- } | undefined;
742
716
  } & vue.ShallowUnwrapRef<{}> & {} & vue.ComponentCustomProperties & {};
743
717
  __isFragment?: undefined;
744
718
  __isTeleport?: undefined;
@@ -763,10 +737,6 @@ declare const VIcon: {
763
737
  } | undefined;
764
738
  } & {
765
739
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
766
- } & {
767
- $slots?: {
768
- default?: (() => vue.VNodeChild) | undefined;
769
- } | undefined;
770
740
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
771
741
  end: boolean;
772
742
  start: boolean;
@@ -1,11 +1,12 @@
1
1
  import { withDirectives as _withDirectives, mergeProps as _mergeProps, resolveDirective as _resolveDirective, Fragment as _Fragment, createVNode as _createVNode } from "vue";
2
+ // Styles
2
3
  import "./VImg.css";
3
4
 
4
5
  // Components
5
- import { makeVResponsiveProps, VResponsive } from "../VResponsive/VResponsive.mjs"; // Directives
6
- import intersect from "../../directives/intersect/index.mjs"; // Composables
6
+ import { makeVResponsiveProps, VResponsive } from "../VResponsive/VResponsive.mjs"; // Composables
7
7
  import { makeComponentProps } from "../../composables/component.mjs";
8
- import { makeTransitionProps, MaybeTransition } from "../../composables/transition.mjs"; // Utilities
8
+ import { makeTransitionProps, MaybeTransition } from "../../composables/transition.mjs"; // Directives
9
+ import intersect from "../../directives/intersect/index.mjs"; // Utilities
9
10
  import { computed, nextTick, onBeforeMount, ref, shallowRef, vShow, watch, withDirectives } from 'vue';
10
11
  import { genericComponent, propsFactory, SUPPORTS_INTERSECTION, useRender } from "../../util/index.mjs"; // Types
11
12
  export const makeVImgProps = propsFactory({
@@ -1 +1 @@
1
- {"version":3,"file":"VImg.mjs","names":["makeVResponsiveProps","VResponsive","intersect","makeComponentProps","makeTransitionProps","MaybeTransition","computed","nextTick","onBeforeMount","ref","shallowRef","vShow","watch","withDirectives","genericComponent","propsFactory","SUPPORTS_INTERSECTION","useRender","makeVImgProps","alt","String","cover","Boolean","eager","gradient","lazySrc","options","type","Object","default","root","undefined","rootMargin","threshold","sizes","src","srcset","VImg","name","directives","props","emits","loadstart","value","load","error","setup","_ref","emit","slots","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","Number","aspectRatio","init","val","oldVal","pollForSize","isIntersecting","lazyImg","Image","complete","onError","onLoad","getSrc","img","timer","timeout","arguments","length","poll","clearTimeout","imgHeight","imgWidth","window","setTimeout","endsWith","startsWith","containClasses","__image","_createVNode","sources","transition","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","responsiveProps","filterProps","_withDirectives","_mergeProps","class","style","additional","_Fragment","_resolveDirective","handler","once"],"sources":["../../../src/components/VImg/VImg.tsx"],"sourcesContent":["import './VImg.sass'\n\n// Components\nimport { makeVResponsiveProps, VResponsive } from '@/components/VResponsive/VResponsive'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport {\n computed,\n nextTick,\n onBeforeMount,\n ref,\n shallowRef,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n genericComponent,\n propsFactory,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport type VImgSlots = {\n default: []\n placeholder: []\n error: []\n sources: []\n}\n\nexport const makeVImgProps = propsFactory({\n alt: String,\n cover: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n srcset: String,\n\n ...makeVResponsiveProps(),\n ...makeComponentProps(),\n ...makeTransitionProps(),\n}, 'v-img')\n\nexport const VImg = genericComponent<VImgSlots>()({\n name: 'VImg',\n\n directives: { intersect },\n\n props: makeVImgProps(),\n\n emits: {\n loadstart: (value: string | undefined) => true,\n load: (value: string | undefined) => true,\n error: (value: string | undefined) => true,\n },\n\n setup (props, { emit, slots }) {\n const currentSrc = shallowRef('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = shallowRef<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = shallowRef<number>()\n const naturalHeight = shallowRef<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect || 0),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value)\n }\n })\n\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n\n if (!normalisedSrc.value.src) return\n\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n }\n\n function onLoad () {\n getSrc()\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n let timer = -1\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n clearTimeout(timer)\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n timer = window.setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null\n\n const img = (\n <img\n class={['v-img__img', containClasses.value]}\n src={ normalisedSrc.value.src }\n srcset={ normalisedSrc.value.srcset }\n alt={ props.alt }\n sizes={ props.sizes }\n ref={ image }\n onLoad={ onLoad }\n onError={ onError }\n />\n )\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n }\n\n const __preloadImage = () => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n src={ normalisedSrc.value.lazySrc }\n alt={ props.alt }\n />\n )}\n </MaybeTransition>\n )\n\n const __placeholder = () => {\n if (!slots.placeholder) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __error = () => {\n if (!slots.error) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __gradient = () => {\n if (!props.gradient) return null\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n }\n\n const isBooted = shallowRef(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => {\n const [responsiveProps] = VResponsive.filterProps(props)\n return (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n props.class,\n ]}\n style={ props.style }\n { ...responsiveProps }\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n >{{\n additional: () => (\n <>\n <__image />\n <__preloadImage />\n <__gradient />\n <__placeholder />\n <__error />\n </>\n ),\n default: slots.default,\n }}</VResponsive>\n )\n })\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VImg.mjs","names":["makeVResponsiveProps","VResponsive","makeComponentProps","makeTransitionProps","MaybeTransition","intersect","computed","nextTick","onBeforeMount","ref","shallowRef","vShow","watch","withDirectives","genericComponent","propsFactory","SUPPORTS_INTERSECTION","useRender","makeVImgProps","alt","String","cover","Boolean","eager","gradient","lazySrc","options","type","Object","default","root","undefined","rootMargin","threshold","sizes","src","srcset","VImg","name","directives","props","emits","loadstart","value","load","error","setup","_ref","emit","slots","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","Number","aspectRatio","init","val","oldVal","pollForSize","isIntersecting","lazyImg","Image","complete","onError","onLoad","getSrc","img","timer","timeout","arguments","length","poll","clearTimeout","imgHeight","imgWidth","window","setTimeout","endsWith","startsWith","containClasses","__image","_createVNode","sources","transition","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","responsiveProps","filterProps","_withDirectives","_mergeProps","class","style","additional","_Fragment","_resolveDirective","handler","once"],"sources":["../../../src/components/VImg/VImg.tsx"],"sourcesContent":["// Styles\nimport './VImg.sass'\n\n// Components\nimport { makeVResponsiveProps, VResponsive } from '@/components/VResponsive/VResponsive'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Utilities\nimport {\n computed,\n nextTick,\n onBeforeMount,\n ref,\n shallowRef,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n genericComponent,\n propsFactory,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport type VImgSlots = {\n default: never\n placeholder: never\n error: never\n sources: never\n}\n\nexport const makeVImgProps = propsFactory({\n alt: String,\n cover: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n srcset: String,\n\n ...makeVResponsiveProps(),\n ...makeComponentProps(),\n ...makeTransitionProps(),\n}, 'v-img')\n\nexport const VImg = genericComponent<VImgSlots>()({\n name: 'VImg',\n\n directives: { intersect },\n\n props: makeVImgProps(),\n\n emits: {\n loadstart: (value: string | undefined) => true,\n load: (value: string | undefined) => true,\n error: (value: string | undefined) => true,\n },\n\n setup (props, { emit, slots }) {\n const currentSrc = shallowRef('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = shallowRef<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = shallowRef<number>()\n const naturalHeight = shallowRef<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect || 0),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value)\n }\n })\n\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n\n if (!normalisedSrc.value.src) return\n\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n }\n\n function onLoad () {\n getSrc()\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n let timer = -1\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n clearTimeout(timer)\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n timer = window.setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null\n\n const img = (\n <img\n class={['v-img__img', containClasses.value]}\n src={ normalisedSrc.value.src }\n srcset={ normalisedSrc.value.srcset }\n alt={ props.alt }\n sizes={ props.sizes }\n ref={ image }\n onLoad={ onLoad }\n onError={ onError }\n />\n )\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n }\n\n const __preloadImage = () => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n src={ normalisedSrc.value.lazySrc }\n alt={ props.alt }\n />\n )}\n </MaybeTransition>\n )\n\n const __placeholder = () => {\n if (!slots.placeholder) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __error = () => {\n if (!slots.error) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __gradient = () => {\n if (!props.gradient) return null\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n }\n\n const isBooted = shallowRef(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => {\n const [responsiveProps] = VResponsive.filterProps(props)\n return (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n props.class,\n ]}\n style={ props.style }\n { ...responsiveProps }\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n >{{\n additional: () => (\n <>\n <__image />\n <__preloadImage />\n <__gradient />\n <__placeholder />\n <__error />\n </>\n ),\n default: slots.default,\n }}</VResponsive>\n )\n })\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,oBAAoB,EAAEC,WAAW,0CAE1C;AAAA,SACSC,kBAAkB;AAAA,SAClBC,mBAAmB,EAAEC,eAAe,4CAE7C;AAAA,OACOC,SAAS,8CAEhB;AACA,SACEC,QAAQ,EACRC,QAAQ,EACRC,aAAa,EACbC,GAAG,EACHC,UAAU,EACVC,KAAK,EACLC,KAAK,EACLC,cAAc,QACT,KAAK;AAAA,SAEVC,gBAAgB,EAChBC,YAAY,EACZC,qBAAqB,EACrBC,SAAS,gCAGX;AAkBA,OAAO,MAAMC,aAAa,GAAGH,YAAY,CAAC;EACxCI,GAAG,EAAEC,MAAM;EACXC,KAAK,EAAEC,OAAO;EACdC,KAAK,EAAED,OAAO;EACdE,QAAQ,EAAEJ,MAAM;EAChBK,OAAO,EAAEL,MAAM;EACfM,OAAO,EAAE;IACPC,IAAI,EAAEC,MAA4C;IAClD;IACA;IACAC,OAAO,EAAEA,CAAA,MAAO;MACdC,IAAI,EAAEC,SAAS;MACfC,UAAU,EAAED,SAAS;MACrBE,SAAS,EAAEF;IACb,CAAC;EACH,CAAC;EACDG,KAAK,EAAEd,MAAM;EACbe,GAAG,EAAE;IACHR,IAAI,EAAE,CAACP,MAAM,EAAEQ,MAAM,CAAiC;IACtDC,OAAO,EAAE;EACX,CAAC;EACDO,MAAM,EAAEhB,MAAM;EAEd,GAAGpB,oBAAoB,EAAE;EACzB,GAAGE,kBAAkB,EAAE;EACvB,GAAGC,mBAAmB;AACxB,CAAC,EAAE,OAAO,CAAC;AAEX,OAAO,MAAMkC,IAAI,GAAGvB,gBAAgB,EAAa,CAAC;EAChDwB,IAAI,EAAE,MAAM;EAEZC,UAAU,EAAE;IAAElC;EAAU,CAAC;EAEzBmC,KAAK,EAAEtB,aAAa,EAAE;EAEtBuB,KAAK,EAAE;IACLC,SAAS,EAAGC,KAAyB,IAAK,IAAI;IAC9CC,IAAI,EAAGD,KAAyB,IAAK,IAAI;IACzCE,KAAK,EAAGF,KAAyB,IAAK;EACxC,CAAC;EAEDG,KAAKA,CAAEN,KAAK,EAAAO,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAMG,UAAU,GAAGxC,UAAU,CAAC,EAAE,CAAC,EAAC;IAClC,MAAMyC,KAAK,GAAG1C,GAAG,EAAoB;IACrC,MAAM2C,KAAK,GAAG1C,UAAU,CAA0C8B,KAAK,CAACjB,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;IACnG,MAAM8B,YAAY,GAAG3C,UAAU,EAAU;IACzC,MAAM4C,aAAa,GAAG5C,UAAU,EAAU;IAE1C,MAAM6C,aAAa,GAAGjD,QAAQ,CAAY,MAAM;MAC9C,OAAOkC,KAAK,CAACL,GAAG,IAAI,OAAOK,KAAK,CAACL,GAAG,KAAK,QAAQ,GAC7C;QACAA,GAAG,EAAEK,KAAK,CAACL,GAAG,CAACA,GAAG;QAClBC,MAAM,EAAEI,KAAK,CAACJ,MAAM,IAAII,KAAK,CAACL,GAAG,CAACC,MAAM;QACxCX,OAAO,EAAEe,KAAK,CAACf,OAAO,IAAIe,KAAK,CAACL,GAAG,CAACV,OAAO;QAC3C+B,MAAM,EAAEC,MAAM,CAACjB,KAAK,CAACkB,WAAW,IAAIlB,KAAK,CAACL,GAAG,CAACqB,MAAM,IAAI,CAAC;MAC3D,CAAC,GAAG;QACFrB,GAAG,EAAEK,KAAK,CAACL,GAAG;QACdC,MAAM,EAAEI,KAAK,CAACJ,MAAM;QACpBX,OAAO,EAAEe,KAAK,CAACf,OAAO;QACtB+B,MAAM,EAAEC,MAAM,CAACjB,KAAK,CAACkB,WAAW,IAAI,CAAC;MACvC,CAAC;IACL,CAAC,CAAC;IACF,MAAMA,WAAW,GAAGpD,QAAQ,CAAC,MAAM;MACjC,OAAOiD,aAAa,CAACZ,KAAK,CAACa,MAAM,IAAIH,YAAY,CAACV,KAAK,GAAIW,aAAa,CAACX,KAAM,IAAI,CAAC;IACtF,CAAC,CAAC;IAEF/B,KAAK,CAAC,MAAM4B,KAAK,CAACL,GAAG,EAAE,MAAM;MAC3BwB,IAAI,CAACP,KAAK,CAACT,KAAK,KAAK,MAAM,CAAC;IAC9B,CAAC,CAAC;IACF/B,KAAK,CAAC8C,WAAW,EAAE,CAACE,GAAG,EAAEC,MAAM,KAAK;MAClC,IAAI,CAACD,GAAG,IAAIC,MAAM,IAAIV,KAAK,CAACR,KAAK,EAAE;QACjCmB,WAAW,CAACX,KAAK,CAACR,KAAK,CAAC;MAC1B;IACF,CAAC,CAAC;;IAEF;;IAEAnC,aAAa,CAAC,MAAMmD,IAAI,EAAE,CAAC;IAE3B,SAASA,IAAIA,CAAEI,cAAwB,EAAE;MACvC,IAAIvB,KAAK,CAACjB,KAAK,IAAIwC,cAAc,EAAE;MACnC,IACE/C,qBAAqB,IACrB,CAAC+C,cAAc,IACf,CAACvB,KAAK,CAACjB,KAAK,EACZ;MAEF6B,KAAK,CAACT,KAAK,GAAG,SAAS;MAEvB,IAAIY,aAAa,CAACZ,KAAK,CAAClB,OAAO,EAAE;QAC/B,MAAMuC,OAAO,GAAG,IAAIC,KAAK,EAAE;QAC3BD,OAAO,CAAC7B,GAAG,GAAGoB,aAAa,CAACZ,KAAK,CAAClB,OAAO;QACzCqC,WAAW,CAACE,OAAO,EAAE,IAAI,CAAC;MAC5B;MAEA,IAAI,CAACT,aAAa,CAACZ,KAAK,CAACR,GAAG,EAAE;MAE9B5B,QAAQ,CAAC,MAAM;QACbyC,IAAI,CAAC,WAAW,EAAEG,KAAK,CAACR,KAAK,EAAEO,UAAU,IAAIK,aAAa,CAACZ,KAAK,CAACR,GAAG,CAAC;QAErE,IAAIgB,KAAK,CAACR,KAAK,EAAEuB,QAAQ,EAAE;UACzB,IAAI,CAACf,KAAK,CAACR,KAAK,CAACU,YAAY,EAAE;YAC7Bc,OAAO,EAAE;UACX;UAEA,IAAIf,KAAK,CAACT,KAAK,KAAK,OAAO,EAAE;UAE7B,IAAI,CAACe,WAAW,CAACf,KAAK,EAAEmB,WAAW,CAACX,KAAK,CAACR,KAAK,EAAE,IAAI,CAAC;UACtDyB,MAAM,EAAE;QACV,CAAC,MAAM;UACL,IAAI,CAACV,WAAW,CAACf,KAAK,EAAEmB,WAAW,CAACX,KAAK,CAACR,KAAK,CAAE;UACjD0B,MAAM,EAAE;QACV;MACF,CAAC,CAAC;IACJ;IAEA,SAASD,MAAMA,CAAA,EAAI;MACjBC,MAAM,EAAE;MACRjB,KAAK,CAACT,KAAK,GAAG,QAAQ;MACtBK,IAAI,CAAC,MAAM,EAAEG,KAAK,CAACR,KAAK,EAAEO,UAAU,IAAIK,aAAa,CAACZ,KAAK,CAACR,GAAG,CAAC;IAClE;IAEA,SAASgC,OAAOA,CAAA,EAAI;MAClBf,KAAK,CAACT,KAAK,GAAG,OAAO;MACrBK,IAAI,CAAC,OAAO,EAAEG,KAAK,CAACR,KAAK,EAAEO,UAAU,IAAIK,aAAa,CAACZ,KAAK,CAACR,GAAG,CAAC;IACnE;IAEA,SAASkC,MAAMA,CAAA,EAAI;MACjB,MAAMC,GAAG,GAAGnB,KAAK,CAACR,KAAK;MACvB,IAAI2B,GAAG,EAAEpB,UAAU,CAACP,KAAK,GAAG2B,GAAG,CAACpB,UAAU,IAAIoB,GAAG,CAACnC,GAAG;IACvD;IAEA,IAAIoC,KAAK,GAAG,CAAC,CAAC;IACd,SAAST,WAAWA,CAAEQ,GAAqB,EAAgC;MAAA,IAA9BE,OAAsB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA1C,SAAA,GAAA0C,SAAA,MAAG,GAAG;MACvE,MAAME,IAAI,GAAGA,CAAA,KAAM;QACjBC,YAAY,CAACL,KAAK,CAAC;QACnB,MAAM;UAAEjB,aAAa,EAAEuB,SAAS;UAAExB,YAAY,EAAEyB;QAAS,CAAC,GAAGR,GAAG;QAEhE,IAAIO,SAAS,IAAIC,QAAQ,EAAE;UACzBzB,YAAY,CAACV,KAAK,GAAGmC,QAAQ;UAC7BxB,aAAa,CAACX,KAAK,GAAGkC,SAAS;QACjC,CAAC,MAAM,IAAI,CAACP,GAAG,CAACJ,QAAQ,IAAId,KAAK,CAACT,KAAK,KAAK,SAAS,IAAI6B,OAAO,IAAI,IAAI,EAAE;UACxED,KAAK,GAAGQ,MAAM,CAACC,UAAU,CAACL,IAAI,EAAEH,OAAO,CAAC;QAC1C,CAAC,MAAM,IAAIF,GAAG,CAACpB,UAAU,CAAC+B,QAAQ,CAAC,MAAM,CAAC,IAAIX,GAAG,CAACpB,UAAU,CAACgC,UAAU,CAAC,oBAAoB,CAAC,EAAE;UAC7F7B,YAAY,CAACV,KAAK,GAAG,CAAC;UACtBW,aAAa,CAACX,KAAK,GAAG,CAAC;QACzB;MACF,CAAC;MAEDgC,IAAI,EAAE;IACR;IAEA,MAAMQ,cAAc,GAAG7E,QAAQ,CAAC,OAAO;MACrC,mBAAmB,EAAEkC,KAAK,CAACnB,KAAK;MAChC,qBAAqB,EAAE,CAACmB,KAAK,CAACnB;IAChC,CAAC,CAAC,CAAC;IAEH,MAAM+D,OAAO,GAAGA,CAAA,KAAM;MACpB,IAAI,CAAC7B,aAAa,CAACZ,KAAK,CAACR,GAAG,IAAIiB,KAAK,CAACT,KAAK,KAAK,MAAM,EAAE,OAAO,IAAI;MAEnE,MAAM2B,GAAG,GAAAe,YAAA;QAAA,SAEE,CAAC,YAAY,EAAEF,cAAc,CAACxC,KAAK,CAAC;QAAA,OACrCY,aAAa,CAACZ,KAAK,CAACR,GAAG;QAAA,UACpBoB,aAAa,CAACZ,KAAK,CAACP,MAAM;QAAA,OAC7BI,KAAK,CAACrB,GAAG;QAAA,SACPqB,KAAK,CAACN,KAAK;QAAA,OACbiB,KAAK;QAAA,UACFiB,MAAM;QAAA,WACLD;MAAO,QAEpB;MAED,MAAMmB,OAAO,GAAGrC,KAAK,CAACqC,OAAO,IAAI;MAEjC,OAAAD,YAAA,CAAAjF,eAAA;QAAA,cACgCoC,KAAK,CAAC+C,UAAU;QAAA;MAAA;QAAA1D,OAAA,EAAAA,CAAA,MAE1ChB,cAAc,CACZyE,OAAO,GAAAD,YAAA;UAAA,SACY;QAAgB,IAAGC,OAAO,EAAIhB,GAAG,KAChDA,GAAG,EACP,CAAC,CAAC3D,KAAK,EAAEyC,KAAK,CAACT,KAAK,KAAK,QAAQ,CAAC,CAAC,CACpC;MAAA;IAIT,CAAC;IAED,MAAM6C,cAAc,GAAGA,CAAA,KAAAH,YAAA,CAAAjF,eAAA;MAAA,cACSoC,KAAK,CAAC+C;IAAU;MAAA1D,OAAA,EAAAA,CAAA,MAC1C0B,aAAa,CAACZ,KAAK,CAAClB,OAAO,IAAI2B,KAAK,CAACT,KAAK,KAAK,QAAQ,IAAA0C,YAAA;QAAA,SAE9C,CAAC,YAAY,EAAE,qBAAqB,EAAEF,cAAc,CAACxC,KAAK,CAAC;QAAA,OAC5DY,aAAa,CAACZ,KAAK,CAAClB,OAAO;QAAA,OAC3Be,KAAK,CAACrB;MAAG,QAElB;IAAA,EAEJ;IAED,MAAMsE,aAAa,GAAGA,CAAA,KAAM;MAC1B,IAAI,CAACxC,KAAK,CAACyC,WAAW,EAAE,OAAO,IAAI;MAEnC,OAAAL,YAAA,CAAAjF,eAAA;QAAA,cACgCoC,KAAK,CAAC+C,UAAU;QAAA;MAAA;QAAA1D,OAAA,EAAAA,CAAA,MAC1C,CAACuB,KAAK,CAACT,KAAK,KAAK,SAAS,IAAKS,KAAK,CAACT,KAAK,KAAK,OAAO,IAAI,CAACM,KAAK,CAACJ,KAAM,KAAAwC,YAAA;UAAA,SAC9D;QAAoB,IAAGpC,KAAK,CAACyC,WAAW,EAAE,EAAQ;MAAA;IAInE,CAAC;IAED,MAAMC,OAAO,GAAGA,CAAA,KAAM;MACpB,IAAI,CAAC1C,KAAK,CAACJ,KAAK,EAAE,OAAO,IAAI;MAE7B,OAAAwC,YAAA,CAAAjF,eAAA;QAAA,cACgCoC,KAAK,CAAC+C,UAAU;QAAA;MAAA;QAAA1D,OAAA,EAAAA,CAAA,MAC1CuB,KAAK,CAACT,KAAK,KAAK,OAAO,IAAA0C,YAAA;UAAA,SACZ;QAAc,IAAGpC,KAAK,CAACJ,KAAK,EAAE,EAAQ;MAAA;IAIzD,CAAC;IAED,MAAM+C,UAAU,GAAGA,CAAA,KAAM;MACvB,IAAI,CAACpD,KAAK,CAAChB,QAAQ,EAAE,OAAO,IAAI;MAEhC,OAAA6D,YAAA;QAAA,SAAkB,iBAAiB;QAAA,SAAQ;UAAEQ,eAAe,EAAG,mBAAkBrD,KAAK,CAAChB,QAAS;QAAG;MAAC;IACtG,CAAC;IAED,MAAMsE,QAAQ,GAAGpF,UAAU,CAAC,KAAK,CAAC;IAClC;MACE,MAAMqF,IAAI,GAAGnF,KAAK,CAAC8C,WAAW,EAAEE,GAAG,IAAI;QACrC,IAAIA,GAAG,EAAE;UACP;UACAoC,qBAAqB,CAAC,MAAM;YAC1BA,qBAAqB,CAAC,MAAM;cAC1BF,QAAQ,CAACnD,KAAK,GAAG,IAAI;YACvB,CAAC,CAAC;UACJ,CAAC,CAAC;UACFoD,IAAI,EAAE;QACR;MACF,CAAC,CAAC;IACJ;IAEA9E,SAAS,CAAC,MAAM;MACd,MAAM,CAACgF,eAAe,CAAC,GAAGhG,WAAW,CAACiG,WAAW,CAAC1D,KAAK,CAAC;MACxD,OAAA2D,eAAA,CAAAd,YAAA,CAAApF,WAAA,EAAAmG,WAAA;QAAA,SAEW,CACL,OAAO,EACP;UAAE,gBAAgB,EAAE,CAACN,QAAQ,CAACnD;QAAM,CAAC,EACrCH,KAAK,CAAC6D,KAAK,CACZ;QAAA,SACO7D,KAAK,CAAC8D;MAAK,GACdL,eAAe;QAAA,eACNvC,WAAW,CAACf,KAAK;QAAA,cAClBH,KAAK,CAACrB,GAAG;QAAA,QACfqB,KAAK,CAACrB,GAAG,GAAG,KAAK,GAAGY;MAAS;QAMpCwE,UAAU,EAAEA,CAAA,KAAAlB,YAAA,CAAAmB,SAAA,SAAAnB,YAAA,CAAAD,OAAA,eAAAC,YAAA,CAAAG,cAAA,eAAAH,YAAA,CAAAO,UAAA,eAAAP,YAAA,CAAAI,aAAA,eAAAJ,YAAA,CAAAM,OAAA,eAQX;QACD9D,OAAO,EAAEoB,KAAK,CAACpB;MAAO,MAAA4E,iBAAA,eAdR;QACZC,OAAO,EAAE/C,IAAI;QACbjC,OAAO,EAAEc,KAAK,CAACd;MACjB,CAAC,EAAE,IAAI;QAAAiF,IAAA;MAAA;IAcb,CAAC,CAAC;IAEF,OAAO;MACLzD,UAAU;MACVC,KAAK;MACLC,KAAK;MACLC,YAAY;MACZC;IACF,CAAC;EACH;AACF,CAAC,CAAC"}