vuetify 3.6.0-alpha.2 → 3.6.0

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 (377) hide show
  1. package/dist/_component-variables-labs.sass +2 -1
  2. package/dist/json/attributes.json +731 -63
  3. package/dist/json/importMap-labs.json +32 -20
  4. package/dist/json/importMap.json +138 -138
  5. package/dist/json/tags.json +184 -2
  6. package/dist/json/web-types.json +13002 -10923
  7. package/dist/vuetify-labs.css +2039 -1927
  8. package/dist/vuetify-labs.d.ts +3575 -1079
  9. package/dist/vuetify-labs.esm.js +1047 -390
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +1046 -389
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +3026 -2941
  14. package/dist/vuetify.d.ts +927 -306
  15. package/dist/vuetify.esm.js +625 -363
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +624 -362
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +728 -714
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAlert/VAlert.sass +128 -127
  23. package/lib/components/VApp/VApp.sass +15 -13
  24. package/lib/components/VAppBar/VAppBar.sass +9 -8
  25. package/lib/components/VAppBar/index.d.mts +10 -0
  26. package/lib/components/VAutocomplete/VAutocomplete.mjs +8 -10
  27. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  28. package/lib/components/VAutocomplete/VAutocomplete.sass +94 -93
  29. package/lib/components/VAutocomplete/index.d.mts +36 -0
  30. package/lib/components/VAvatar/VAvatar.sass +26 -25
  31. package/lib/components/VBadge/VBadge.sass +61 -60
  32. package/lib/components/VBanner/VBanner.css +1 -1
  33. package/lib/components/VBanner/VBanner.sass +92 -91
  34. package/lib/components/VBanner/index.d.mts +15 -0
  35. package/lib/components/VBottomNavigation/VBottomNavigation.sass +50 -49
  36. package/lib/components/VBottomSheet/VBottomSheet.sass +28 -26
  37. package/lib/components/VBottomSheet/index.d.mts +14 -0
  38. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +1 -1
  39. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +41 -40
  40. package/lib/components/VBtn/VBtn.css +3 -0
  41. package/lib/components/VBtn/VBtn.mjs +3 -1
  42. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  43. package/lib/components/VBtn/VBtn.sass +204 -200
  44. package/lib/components/VBtn/index.d.mts +10 -0
  45. package/lib/components/VBtnGroup/VBtnGroup.sass +47 -46
  46. package/lib/components/VBtnToggle/VBtnToggle.sass +4 -3
  47. package/lib/components/VBtnToggle/index.d.mts +1 -0
  48. package/lib/components/VCard/VCard.css +3 -3
  49. package/lib/components/VCard/VCard.sass +181 -180
  50. package/lib/components/VCarousel/VCarousel.sass +50 -49
  51. package/lib/components/VCarousel/VCarouselItem.mjs +1 -1
  52. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  53. package/lib/components/VCarousel/index.d.mts +1 -0
  54. package/lib/components/VCheckbox/VCheckbox.sass +6 -5
  55. package/lib/components/VChip/VChip.css +1 -1
  56. package/lib/components/VChip/VChip.sass +78 -76
  57. package/lib/components/VChipGroup/VChipGroup.sass +20 -18
  58. package/lib/components/VChipGroup/index.d.mts +16 -0
  59. package/lib/components/VCode/VCode.sass +10 -8
  60. package/lib/components/VColorPicker/VColorPicker.sass +18 -17
  61. package/lib/components/VColorPicker/VColorPickerCanvas.sass +21 -20
  62. package/lib/components/VColorPicker/VColorPickerEdit.sass +24 -23
  63. package/lib/components/VColorPicker/VColorPickerPreview.sass +54 -53
  64. package/lib/components/VColorPicker/VColorPickerSwatches.sass +29 -28
  65. package/lib/components/VCombobox/VCombobox.mjs +8 -10
  66. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  67. package/lib/components/VCombobox/VCombobox.sass +94 -93
  68. package/lib/components/VCombobox/index.d.mts +36 -0
  69. package/lib/components/VCounter/VCounter.sass +7 -5
  70. package/lib/components/VDataIterator/index.d.mts +2 -0
  71. package/lib/components/VDataTable/VDataTable.css +36 -1
  72. package/lib/components/VDataTable/VDataTable.sass +137 -103
  73. package/lib/components/VDataTable/VDataTableFooter.css +5 -9
  74. package/lib/components/VDataTable/VDataTableFooter.sass +26 -25
  75. package/lib/components/VDataTable/VDataTableHeaders.mjs +66 -7
  76. package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
  77. package/lib/components/VDataTable/VDataTableRow.mjs +45 -10
  78. package/lib/components/VDataTable/VDataTableRow.mjs.map +1 -1
  79. package/lib/components/VDataTable/VDataTableRows.mjs +8 -2
  80. package/lib/components/VDataTable/VDataTableRows.mjs.map +1 -1
  81. package/lib/components/VDataTable/_variables.scss +9 -3
  82. package/lib/components/VDataTable/index.d.mts +263 -217
  83. package/lib/components/VDataTable/types.mjs.map +1 -1
  84. package/lib/components/VDatePicker/VDatePicker.mjs +12 -2
  85. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  86. package/lib/components/VDatePicker/VDatePicker.sass +6 -5
  87. package/lib/components/VDatePicker/VDatePickerControls.sass +56 -55
  88. package/lib/components/VDatePicker/VDatePickerHeader.sass +58 -56
  89. package/lib/components/VDatePicker/VDatePickerMonth.sass +53 -51
  90. package/lib/components/VDatePicker/VDatePickerMonths.sass +18 -16
  91. package/lib/components/VDatePicker/VDatePickerYears.sass +14 -12
  92. package/lib/components/VDialog/VDialog.css +7 -3
  93. package/lib/components/VDialog/VDialog.mjs +6 -2
  94. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  95. package/lib/components/VDialog/VDialog.sass +71 -68
  96. package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs +39 -0
  97. package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs.map +1 -0
  98. package/lib/components/VDialog/_variables.scss +4 -3
  99. package/lib/components/VDialog/index.d.mts +60 -10
  100. package/lib/components/VDivider/VDivider.sass +49 -48
  101. package/lib/components/VExpansionPanel/VExpansionPanel.sass +172 -171
  102. package/lib/components/VField/VField.sass +451 -450
  103. package/lib/components/VFileInput/VFileInput.mjs +1 -1
  104. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  105. package/lib/components/VFileInput/VFileInput.sass +30 -31
  106. package/lib/components/VFileInput/index.d.mts +17 -5
  107. package/lib/components/VFooter/VFooter.sass +17 -16
  108. package/lib/components/VGrid/VGrid.sass +42 -40
  109. package/lib/components/VIcon/VIcon.sass +34 -32
  110. package/lib/components/VImg/VImg.sass +24 -23
  111. package/lib/components/VInfiniteScroll/VInfiniteScroll.sass +21 -19
  112. package/lib/components/VInput/VInput.mjs +6 -1
  113. package/lib/components/VInput/VInput.mjs.map +1 -1
  114. package/lib/components/VInput/VInput.sass +103 -102
  115. package/lib/components/VInput/index.d.mts +6 -0
  116. package/lib/components/VItemGroup/VItemGroup.sass +7 -5
  117. package/lib/components/VKbd/VKbd.sass +10 -9
  118. package/lib/components/VLabel/VLabel.sass +14 -13
  119. package/lib/components/VLayout/VLayout.mjs +6 -1
  120. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  121. package/lib/components/VLayout/VLayout.sass +10 -7
  122. package/lib/components/VLayout/VLayoutItem.sass +7 -5
  123. package/lib/components/VLayout/index.d.mts +36 -0
  124. package/lib/components/VList/VList.mjs +2 -1
  125. package/lib/components/VList/VList.mjs.map +1 -1
  126. package/lib/components/VList/VList.sass +81 -80
  127. package/lib/components/VList/VListItem.css +1 -1
  128. package/lib/components/VList/VListItem.sass +260 -259
  129. package/lib/components/VLocaleProvider/VLocaleProvider.sass +5 -2
  130. package/lib/components/VMain/VMain.sass +22 -21
  131. package/lib/components/VMenu/VMenu.sass +14 -13
  132. package/lib/components/VMenu/index.d.mts +56 -0
  133. package/lib/components/VMessages/VMessages.sass +16 -15
  134. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +4 -0
  135. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +14 -5
  136. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  137. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +90 -84
  138. package/lib/components/VNavigationDrawer/index.d.mts +24 -0
  139. package/lib/components/VNavigationDrawer/touch.mjs +16 -2
  140. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  141. package/lib/components/VOtpInput/VOtpInput.sass +51 -50
  142. package/lib/components/VOverlay/VOverlay.mjs +2 -2
  143. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  144. package/lib/components/VOverlay/VOverlay.sass +57 -55
  145. package/lib/components/VOverlay/index.d.mts +27 -13
  146. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  147. package/lib/components/VPagination/VPagination.sass +14 -12
  148. package/lib/components/VParallax/VParallax.sass +8 -5
  149. package/lib/components/VProgressCircular/VProgressCircular.sass +85 -83
  150. package/lib/components/VProgressLinear/VProgressLinear.mjs +11 -1
  151. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  152. package/lib/components/VProgressLinear/VProgressLinear.sass +170 -169
  153. package/lib/components/VProgressLinear/index.d.mts +21 -0
  154. package/lib/components/VRadioGroup/VRadioGroup.sass +12 -10
  155. package/lib/components/VRangeSlider/index.d.mts +6 -0
  156. package/lib/components/VRating/VRating.sass +46 -44
  157. package/lib/components/VResponsive/VResponsive.sass +21 -19
  158. package/lib/components/VSelect/VSelect.mjs +5 -1
  159. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  160. package/lib/components/VSelect/VSelect.sass +50 -49
  161. package/lib/components/VSelect/index.d.mts +36 -0
  162. package/lib/components/VSelectionControl/VSelectionControl.sass +87 -86
  163. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +9 -7
  164. package/lib/components/VSheet/VSheet.sass +10 -9
  165. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +174 -173
  166. package/lib/components/VSlideGroup/VSlideGroup.css +14 -1
  167. package/lib/components/VSlideGroup/VSlideGroup.mjs +110 -93
  168. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  169. package/lib/components/VSlideGroup/VSlideGroup.sass +54 -40
  170. package/lib/components/VSlideGroup/helpers.mjs +48 -28
  171. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  172. package/lib/components/VSlideGroup/index.d.mts +16 -0
  173. package/lib/components/VSlider/VSlider.sass +49 -48
  174. package/lib/components/VSlider/VSliderThumb.sass +129 -128
  175. package/lib/components/VSlider/VSliderTrack.sass +120 -119
  176. package/lib/components/VSlider/index.d.mts +6 -0
  177. package/lib/components/VSnackbar/VSnackbar.css +18 -1
  178. package/lib/components/VSnackbar/VSnackbar.mjs +34 -9
  179. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  180. package/lib/components/VSnackbar/VSnackbar.sass +103 -83
  181. package/lib/components/VSnackbar/index.d.mts +42 -0
  182. package/lib/components/VStepper/VStepper.sass +37 -36
  183. package/lib/components/VStepper/VStepperItem.sass +69 -67
  184. package/lib/components/VSwitch/VSwitch.css +14 -2
  185. package/lib/components/VSwitch/VSwitch.sass +119 -112
  186. package/lib/components/VSystemBar/VSystemBar.css +1 -1
  187. package/lib/components/VSystemBar/VSystemBar.sass +24 -23
  188. package/lib/components/VTable/VTable.sass +140 -139
  189. package/lib/components/VTabs/VTab.sass +27 -25
  190. package/lib/components/VTabs/VTabs.sass +38 -37
  191. package/lib/components/VTabs/index.d.mts +49 -6
  192. package/lib/components/VTextField/VTextField.sass +58 -56
  193. package/lib/components/VTextField/index.d.mts +15 -3
  194. package/lib/components/VTextarea/VTextarea.sass +43 -42
  195. package/lib/components/VTextarea/index.d.mts +15 -3
  196. package/lib/components/VThemeProvider/VThemeProvider.sass +6 -3
  197. package/lib/components/VTimeline/VTimeline.sass +308 -307
  198. package/lib/components/VToolbar/VToolbar.sass +90 -89
  199. package/lib/components/VTooltip/VTooltip.sass +23 -21
  200. package/lib/components/VTooltip/index.d.mts +56 -0
  201. package/lib/components/VVirtualScroll/VVirtualScroll.sass +10 -7
  202. package/lib/components/VWindow/VWindow.css +1 -0
  203. package/lib/components/VWindow/VWindow.sass +74 -70
  204. package/lib/components/VWindow/index.d.mts +1 -0
  205. package/lib/components/index.d.mts +870 -253
  206. package/lib/composables/directiveComponent.mjs +4 -2
  207. package/lib/composables/directiveComponent.mjs.map +1 -1
  208. package/lib/composables/display.mjs +5 -0
  209. package/lib/composables/display.mjs.map +1 -1
  210. package/lib/composables/goto.mjs +40 -3
  211. package/lib/composables/goto.mjs.map +1 -1
  212. package/lib/composables/group.mjs +10 -1
  213. package/lib/composables/group.mjs.map +1 -1
  214. package/lib/composables/layout.mjs +3 -1
  215. package/lib/composables/layout.mjs.map +1 -1
  216. package/lib/directives/ripple/VRipple.sass +35 -33
  217. package/lib/entry-bundler.mjs +1 -1
  218. package/lib/entry-bundler.mjs.map +1 -1
  219. package/lib/framework.mjs +1 -1
  220. package/lib/framework.mjs.map +1 -1
  221. package/lib/index.d.mts +58 -54
  222. package/lib/labs/VCalendar/VCalendar.sass +160 -158
  223. package/lib/labs/VCalendar/VCalendarDay.sass +26 -23
  224. package/lib/labs/VCalendar/VCalendarHeader.sass +12 -10
  225. package/lib/labs/VCalendar/VCalendarInterval.sass +36 -34
  226. package/lib/labs/VCalendar/VCalendarIntervalEvent.sass +9 -6
  227. package/lib/labs/VCalendar/VCalendarMonthDay.sass +59 -57
  228. package/lib/labs/VDateInput/VDateInput.mjs +129 -0
  229. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -0
  230. package/lib/labs/VDateInput/index.d.mts +1068 -0
  231. package/lib/labs/VDateInput/index.mjs +2 -0
  232. package/lib/labs/VDateInput/index.mjs.map +1 -0
  233. package/lib/labs/VEmptyState/VEmptyState.css +3 -3
  234. package/lib/labs/VEmptyState/VEmptyState.sass +59 -57
  235. package/lib/labs/VFab/VFab.css +1 -0
  236. package/lib/labs/VFab/VFab.mjs +3 -2
  237. package/lib/labs/VFab/VFab.mjs.map +1 -1
  238. package/lib/labs/VFab/VFab.sass +62 -60
  239. package/lib/labs/VFab/index.d.mts +19 -0
  240. package/lib/labs/VNumberInput/VNumberInput.mjs +79 -24
  241. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  242. package/lib/labs/VNumberInput/VNumberInput.sass +42 -40
  243. package/lib/labs/VNumberInput/index.d.mts +56 -29
  244. package/lib/labs/VPicker/VPicker.sass +49 -48
  245. package/lib/labs/VPullToRefresh/VPullToRefresh.css +27 -0
  246. package/lib/labs/VPullToRefresh/VPullToRefresh.mjs +117 -0
  247. package/lib/labs/VPullToRefresh/VPullToRefresh.mjs.map +1 -0
  248. package/lib/labs/VPullToRefresh/VPullToRefresh.sass +23 -0
  249. package/lib/labs/VPullToRefresh/index.d.mts +189 -0
  250. package/lib/labs/VPullToRefresh/index.mjs +2 -0
  251. package/lib/labs/VPullToRefresh/index.mjs.map +1 -0
  252. package/lib/labs/VSnackbarQueue/VSnackbarQueue.mjs +112 -0
  253. package/lib/labs/VSnackbarQueue/VSnackbarQueue.mjs.map +1 -0
  254. package/lib/labs/VSnackbarQueue/index.d.mts +2763 -0
  255. package/lib/labs/VSnackbarQueue/index.mjs +2 -0
  256. package/lib/labs/VSnackbarQueue/index.mjs.map +1 -0
  257. package/lib/labs/VSpeedDial/VSpeedDial.mjs +8 -2
  258. package/lib/labs/VSpeedDial/VSpeedDial.mjs.map +1 -1
  259. package/lib/labs/VSpeedDial/VSpeedDial.sass +23 -20
  260. package/lib/labs/VSpeedDial/index.d.mts +28 -2
  261. package/lib/labs/VTimePicker/VTimePicker.sass +9 -8
  262. package/lib/labs/VTimePicker/VTimePickerClock.mjs +1 -3
  263. package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
  264. package/lib/labs/VTimePicker/VTimePickerClock.sass +114 -113
  265. package/lib/labs/VTimePicker/VTimePickerControls.sass +90 -90
  266. package/lib/labs/VTimePicker/_variables.scss +1 -1
  267. package/lib/labs/VTimePicker/index.d.mts +6 -13
  268. package/lib/labs/VTreeview/VTreeviewItem.sass +14 -12
  269. package/lib/labs/VTreeview/{variables.scss → _variables.scss} +0 -2
  270. package/lib/labs/components.d.mts +5587 -1641
  271. package/lib/labs/components.mjs +3 -0
  272. package/lib/labs/components.mjs.map +1 -1
  273. package/lib/locale/af.mjs +1 -0
  274. package/lib/locale/af.mjs.map +1 -1
  275. package/lib/locale/ar.mjs +1 -0
  276. package/lib/locale/ar.mjs.map +1 -1
  277. package/lib/locale/az.mjs +1 -0
  278. package/lib/locale/az.mjs.map +1 -1
  279. package/lib/locale/bg.mjs +1 -0
  280. package/lib/locale/bg.mjs.map +1 -1
  281. package/lib/locale/ca.mjs +1 -0
  282. package/lib/locale/ca.mjs.map +1 -1
  283. package/lib/locale/ckb.mjs +1 -0
  284. package/lib/locale/ckb.mjs.map +1 -1
  285. package/lib/locale/cs.mjs +1 -0
  286. package/lib/locale/cs.mjs.map +1 -1
  287. package/lib/locale/da.mjs +1 -0
  288. package/lib/locale/da.mjs.map +1 -1
  289. package/lib/locale/de.mjs +1 -0
  290. package/lib/locale/de.mjs.map +1 -1
  291. package/lib/locale/el.mjs +1 -0
  292. package/lib/locale/el.mjs.map +1 -1
  293. package/lib/locale/en.mjs +1 -0
  294. package/lib/locale/en.mjs.map +1 -1
  295. package/lib/locale/es.mjs +1 -0
  296. package/lib/locale/es.mjs.map +1 -1
  297. package/lib/locale/et.mjs +1 -0
  298. package/lib/locale/et.mjs.map +1 -1
  299. package/lib/locale/fa.mjs +1 -0
  300. package/lib/locale/fa.mjs.map +1 -1
  301. package/lib/locale/fi.mjs +1 -0
  302. package/lib/locale/fi.mjs.map +1 -1
  303. package/lib/locale/fr.mjs +1 -0
  304. package/lib/locale/fr.mjs.map +1 -1
  305. package/lib/locale/he.mjs +1 -0
  306. package/lib/locale/he.mjs.map +1 -1
  307. package/lib/locale/hr.mjs +1 -0
  308. package/lib/locale/hr.mjs.map +1 -1
  309. package/lib/locale/hu.mjs +1 -0
  310. package/lib/locale/hu.mjs.map +1 -1
  311. package/lib/locale/id.mjs +1 -0
  312. package/lib/locale/id.mjs.map +1 -1
  313. package/lib/locale/index.d.mts +43 -0
  314. package/lib/locale/it.mjs +1 -0
  315. package/lib/locale/it.mjs.map +1 -1
  316. package/lib/locale/ja.mjs +1 -0
  317. package/lib/locale/ja.mjs.map +1 -1
  318. package/lib/locale/km.mjs +1 -0
  319. package/lib/locale/km.mjs.map +1 -1
  320. package/lib/locale/ko.mjs +9 -8
  321. package/lib/locale/ko.mjs.map +1 -1
  322. package/lib/locale/lt.mjs +1 -0
  323. package/lib/locale/lt.mjs.map +1 -1
  324. package/lib/locale/lv.mjs +1 -0
  325. package/lib/locale/lv.mjs.map +1 -1
  326. package/lib/locale/nl.mjs +1 -0
  327. package/lib/locale/nl.mjs.map +1 -1
  328. package/lib/locale/no.mjs +1 -0
  329. package/lib/locale/no.mjs.map +1 -1
  330. package/lib/locale/pl.mjs +1 -0
  331. package/lib/locale/pl.mjs.map +1 -1
  332. package/lib/locale/pt.mjs +1 -0
  333. package/lib/locale/pt.mjs.map +1 -1
  334. package/lib/locale/ro.mjs +1 -0
  335. package/lib/locale/ro.mjs.map +1 -1
  336. package/lib/locale/ru.mjs +1 -0
  337. package/lib/locale/ru.mjs.map +1 -1
  338. package/lib/locale/sk.mjs +1 -0
  339. package/lib/locale/sk.mjs.map +1 -1
  340. package/lib/locale/sl.mjs +1 -0
  341. package/lib/locale/sl.mjs.map +1 -1
  342. package/lib/locale/sr-Cyrl.mjs +1 -0
  343. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  344. package/lib/locale/sr-Latn.mjs +1 -0
  345. package/lib/locale/sr-Latn.mjs.map +1 -1
  346. package/lib/locale/sv.mjs +1 -0
  347. package/lib/locale/sv.mjs.map +1 -1
  348. package/lib/locale/th.mjs +1 -0
  349. package/lib/locale/th.mjs.map +1 -1
  350. package/lib/locale/tr.mjs +1 -0
  351. package/lib/locale/tr.mjs.map +1 -1
  352. package/lib/locale/uk.mjs +1 -0
  353. package/lib/locale/uk.mjs.map +1 -1
  354. package/lib/locale/vi.mjs +1 -0
  355. package/lib/locale/vi.mjs.map +1 -1
  356. package/lib/locale/zh-Hans.mjs +1 -0
  357. package/lib/locale/zh-Hans.mjs.map +1 -1
  358. package/lib/locale/zh-Hant.mjs +1 -0
  359. package/lib/locale/zh-Hant.mjs.map +1 -1
  360. package/lib/styles/elements/_blockquote.sass +6 -4
  361. package/lib/styles/elements/_global.sass +20 -18
  362. package/lib/styles/generic/_animations.scss +13 -9
  363. package/lib/styles/generic/_colors.scss +36 -35
  364. package/lib/styles/generic/_index.scss +1 -0
  365. package/lib/styles/generic/_layers.scss +7 -0
  366. package/lib/styles/generic/_reset.scss +235 -232
  367. package/lib/styles/generic/_rtl.scss +10 -6
  368. package/lib/styles/generic/_transitions.scss +244 -241
  369. package/lib/styles/main.css +78 -78
  370. package/lib/styles/settings/_variables.scss +22 -14
  371. package/lib/styles/tools/_index.sass +1 -0
  372. package/lib/styles/tools/_layer.scss +11 -0
  373. package/lib/styles/utilities/_display.sass +7 -5
  374. package/lib/styles/utilities/_elevation.scss +8 -6
  375. package/lib/styles/utilities/_index.sass +28 -29
  376. package/lib/styles/utilities/_screenreaders.sass +13 -11
  377. package/package.json +2 -2
@@ -3,57 +3,58 @@
3
3
  @use '../../styles/tools'
4
4
  @use './variables' as *
5
5
 
6
- .v-otp-input
7
- @include tools.rounded(4px)
6
+ @include tools.layer('components')
7
+ .v-otp-input
8
+ @include tools.rounded(4px)
9
+
10
+ align-items: center
11
+ display: flex
12
+ justify-content: center
13
+ padding: $otp-input-padding
14
+ position: relative
15
+
16
+ .v-field
17
+ height: 100%
18
+
19
+ .v-otp-input__divider
20
+ margin: $otp-input-divider-margin
21
+
22
+ .v-otp-input__content
23
+ align-items: center
24
+ display: flex
25
+ gap: $otp-input-content-gap
26
+ height: $otp-input-content-height
27
+ padding: $otp-input-content-padding
28
+ justify-content: center
29
+ max-width: $otp-input-content-max-width
30
+ position: relative
31
+ border-radius: inherit
32
+
33
+ .v-otp-input--divided &
34
+ max-width: $otp-input-divided-content-max-width
35
+
36
+ .v-otp-input__field
37
+ color: inherit
38
+ font-size: $otp-input-field-font-size
39
+ height: 100%
40
+ outline: none
41
+ text-align: center
42
+ width: 100%
43
+
44
+ &[type=number]::-webkit-outer-spin-button,
45
+ &[type=number]::-webkit-inner-spin-button
46
+ -webkit-appearance: none
47
+ margin: 0
8
48
 
9
- align-items: center
10
- display: flex
11
- justify-content: center
12
- padding: $otp-input-padding
13
- position: relative
49
+ &[type=number]
50
+ -moz-appearance: textfield
14
51
 
15
- .v-field
52
+ .v-otp-input__loader
53
+ align-items: center
54
+ display: flex
16
55
  height: 100%
56
+ justify-content: center
57
+ width: 100%
17
58
 
18
- .v-otp-input__divider
19
- margin: $otp-input-divider-margin
20
-
21
- .v-otp-input__content
22
- align-items: center
23
- display: flex
24
- gap: $otp-input-content-gap
25
- height: $otp-input-content-height
26
- padding: $otp-input-content-padding
27
- justify-content: center
28
- max-width: $otp-input-content-max-width
29
- position: relative
30
- border-radius: inherit
31
-
32
- .v-otp-input--divided &
33
- max-width: $otp-input-divided-content-max-width
34
-
35
- .v-otp-input__field
36
- color: inherit
37
- font-size: $otp-input-field-font-size
38
- height: 100%
39
- outline: none
40
- text-align: center
41
- width: 100%
42
-
43
- &[type=number]::-webkit-outer-spin-button,
44
- &[type=number]::-webkit-inner-spin-button
45
- -webkit-appearance: none
46
- margin: 0
47
-
48
- &[type=number]
49
- -moz-appearance: textfield
50
-
51
- .v-otp-input__loader
52
- align-items: center
53
- display: flex
54
- height: 100%
55
- justify-content: center
56
- width: 100%
57
-
58
- .v-progress-linear
59
- position: absolute
59
+ .v-progress-linear
60
+ position: absolute
@@ -240,9 +240,9 @@ export const VOverlay = genericComponent()({
240
240
  }
241
241
  useRender(() => _createVNode(_Fragment, null, [slots.activator?.({
242
242
  isActive: isActive.value,
243
+ targetRef,
243
244
  props: mergeProps({
244
- ref: activatorRef,
245
- targetRef
245
+ ref: activatorRef
246
246
  }, activatorEvents.value, props.activatorProps)
247
247
  }), isMounted.value && hasContent.value && _createVNode(Teleport, {
248
248
  "disabled": !teleportTarget.value,
@@ -1 +1 @@
1
- {"version":3,"file":"VOverlay.mjs","names":["makeLocationStrategyProps","useLocationStrategies","makeScrollStrategyProps","useScrollStrategies","makeActivatorProps","useActivator","useBackgroundColor","makeComponentProps","makeDimensionProps","useDimension","useHydration","makeLazyProps","useLazy","useRtl","useProxiedModel","useBackButton","useRouter","useScopeId","useStack","useTeleport","makeThemeProps","provideTheme","useToggleScope","makeTransitionProps","MaybeTransition","ClickOutside","computed","mergeProps","onBeforeUnmount","ref","Teleport","toRef","Transition","watch","animate","convertToUnit","genericComponent","getScrollParent","IN_BROWSER","propsFactory","standardEasing","useRender","Scrim","props","modelValue","color","rest","_createVNode","default","_mergeProps","backgroundColorClasses","value","backgroundColorStyles","makeVOverlayProps","absolute","Boolean","attach","String","Object","closeOnBack","type","contained","contentClass","contentProps","disabled","opacity","Number","noClickAnimation","persistent","scrim","zIndex","VOverlay","name","directives","inheritAttrs","_disableGlobalStack","emits","e","afterEnter","afterLeave","setup","_ref","slots","attrs","emit","model","isActive","get","set","v","teleportTarget","themeClasses","rtlClasses","isRtl","hasContent","onAfterLeave","_onAfterLeave","scrimColor","globalTop","localTop","stackStyles","activatorEl","activatorRef","target","targetEl","targetRef","activatorEvents","contentEvents","scrimEvents","isTop","dimensionStyles","isMounted","scopeId","root","scrimEl","contentEl","contentStyles","updateLocation","onClickOutside","animateClick","closeConditional","val","window","addEventListener","onKeydown","removeEventListener","immediate","key","contains","document","activeElement","focus","router","next","top","scrollParent","scrollingElement","scrollTop","transformOrigin","transform","duration","easing","onAfterEnter","_Fragment","activator","activatorProps","class","style","transition","_withDirectives","_vShow","_resolveDirective","handler","include"],"sources":["../../../src/components/VOverlay/VOverlay.tsx"],"sourcesContent":["// Styles\nimport './VOverlay.sass'\n\n// Composables\nimport { makeLocationStrategyProps, useLocationStrategies } from './locationStrategies'\nimport { makeScrollStrategyProps, useScrollStrategies } from './scrollStrategies'\nimport { makeActivatorProps, useActivator } from './useActivator'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useHydration } from '@/composables/hydration'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useBackButton, useRouter } from '@/composables/router'\nimport { useScopeId } from '@/composables/scopeId'\nimport { useStack } from '@/composables/stack'\nimport { useTeleport } from '@/composables/teleport'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport { ClickOutside } from '@/directives/click-outside'\n\n// Utilities\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n ref,\n Teleport,\n toRef,\n Transition,\n watch,\n} from 'vue'\nimport {\n animate,\n convertToUnit,\n genericComponent,\n getScrollParent,\n IN_BROWSER,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { BackgroundColorData } from '@/composables/color'\n\ninterface ScrimProps {\n [key: string]: unknown\n modelValue: boolean\n color: BackgroundColorData\n}\nfunction Scrim (props: ScrimProps) {\n const { modelValue, color, ...rest } = props\n return (\n <Transition name=\"fade-transition\" appear>\n { props.modelValue && (\n <div\n class={[\n 'v-overlay__scrim',\n props.color.backgroundColorClasses.value,\n ]}\n style={ props.color.backgroundColorStyles.value }\n { ...rest }\n />\n )}\n </Transition>\n )\n}\n\nexport type OverlaySlots = {\n default: { isActive: Ref<boolean> }\n activator: { isActive: boolean, props: Record<string, any> }\n}\n\nexport const makeVOverlayProps = propsFactory({\n absolute: Boolean,\n attach: [Boolean, String, Object] as PropType<boolean | string | Element>,\n closeOnBack: {\n type: Boolean,\n default: true,\n },\n contained: Boolean,\n contentClass: null,\n contentProps: null,\n disabled: Boolean,\n opacity: [Number, String],\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [Boolean, String],\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 2000,\n },\n\n ...makeActivatorProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeLazyProps(),\n ...makeLocationStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps(),\n}, 'VOverlay')\n\nexport const VOverlay = genericComponent<OverlaySlots>()({\n name: 'VOverlay',\n\n directives: { ClickOutside },\n\n inheritAttrs: false,\n\n props: {\n _disableGlobalStack: Boolean,\n\n ...makeVOverlayProps(),\n },\n\n emits: {\n 'click:outside': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n afterEnter: () => true,\n afterLeave: () => true,\n },\n\n setup (props, { slots, attrs, emit }) {\n const model = useProxiedModel(props, 'modelValue')\n const isActive = computed({\n get: () => model.value,\n set: v => {\n if (!(v && props.disabled)) model.value = v\n },\n })\n const { teleportTarget } = useTeleport(computed(() => props.attach || props.contained))\n const { themeClasses } = provideTheme(props)\n const { rtlClasses, isRtl } = useRtl()\n const { hasContent, onAfterLeave: _onAfterLeave } = useLazy(props, isActive)\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const { globalTop, localTop, stackStyles } = useStack(isActive, toRef(props, 'zIndex'), props._disableGlobalStack)\n const {\n activatorEl, activatorRef,\n target, targetEl, targetRef,\n activatorEvents,\n contentEvents,\n scrimEvents,\n } = useActivator(props, { isActive, isTop: localTop })\n const { dimensionStyles } = useDimension(props)\n const isMounted = useHydration()\n const { scopeId } = useScopeId()\n\n watch(() => props.disabled, v => {\n if (v) isActive.value = false\n })\n\n const root = ref<HTMLElement>()\n const scrimEl = ref<HTMLElement>()\n const contentEl = ref<HTMLElement>()\n const { contentStyles, updateLocation } = useLocationStrategies(props, {\n isRtl,\n contentEl,\n target,\n isActive,\n })\n useScrollStrategies(props, {\n root,\n contentEl,\n targetEl,\n isActive,\n updateLocation,\n })\n\n function onClickOutside (e: MouseEvent) {\n emit('click:outside', e)\n\n if (!props.persistent) isActive.value = false\n else animateClick()\n }\n\n function closeConditional (e: Event) {\n return isActive.value && globalTop.value && (\n // If using scrim, only close if clicking on it rather than anything opened on top\n !props.scrim || e.target === scrimEl.value\n )\n }\n\n IN_BROWSER && watch(isActive, val => {\n if (val) {\n window.addEventListener('keydown', onKeydown)\n } else {\n window.removeEventListener('keydown', onKeydown)\n }\n }, { immediate: true })\n\n onBeforeUnmount(() => {\n if (!IN_BROWSER) return\n\n window.removeEventListener('keydown', onKeydown)\n })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === 'Escape' && globalTop.value) {\n if (!props.persistent) {\n isActive.value = false\n if (contentEl.value?.contains(document.activeElement)) {\n activatorEl.value?.focus()\n }\n } else animateClick()\n }\n }\n\n const router = useRouter()\n useToggleScope(() => props.closeOnBack, () => {\n useBackButton(router, next => {\n if (globalTop.value && isActive.value) {\n next(false)\n if (!props.persistent) isActive.value = false\n else animateClick()\n } else {\n next()\n }\n })\n })\n\n const top = ref<number>()\n watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, val => {\n if (val) {\n const scrollParent = getScrollParent(root.value)\n if (scrollParent && scrollParent !== document.scrollingElement) {\n top.value = scrollParent.scrollTop\n }\n }\n })\n\n // Add a quick \"bounce\" animation to the content\n function animateClick () {\n if (props.noClickAnimation) return\n\n contentEl.value && animate(contentEl.value, [\n { transformOrigin: 'center' },\n { transform: 'scale(1.03)' },\n { transformOrigin: 'center' },\n ], {\n duration: 150,\n easing: standardEasing,\n })\n }\n\n function onAfterEnter () {\n emit('afterEnter')\n }\n\n function onAfterLeave () {\n _onAfterLeave()\n emit('afterLeave')\n }\n\n useRender(() => (\n <>\n { slots.activator?.({\n isActive: isActive.value,\n props: mergeProps({\n ref: activatorRef,\n targetRef,\n }, activatorEvents.value, props.activatorProps),\n })}\n\n { isMounted.value && hasContent.value && (\n <Teleport\n disabled={ !teleportTarget.value }\n to={ teleportTarget.value }\n >\n <div\n class={[\n 'v-overlay',\n {\n 'v-overlay--absolute': props.absolute || props.contained,\n 'v-overlay--active': isActive.value,\n 'v-overlay--contained': props.contained,\n },\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n stackStyles.value,\n {\n '--v-overlay-opacity': props.opacity,\n top: convertToUnit(top.value),\n },\n props.style,\n ]}\n ref={ root }\n { ...scopeId }\n { ...attrs }\n >\n <Scrim\n color={ scrimColor }\n modelValue={ isActive.value && !!props.scrim }\n ref={ scrimEl }\n { ...scrimEvents.value }\n />\n <MaybeTransition\n appear\n persisted\n transition={ props.transition }\n target={ target.value }\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n >\n <div\n ref={ contentEl }\n v-show={ isActive.value }\n v-click-outside={{ handler: onClickOutside, closeConditional, include: () => [activatorEl.value] }}\n class={[\n 'v-overlay__content',\n props.contentClass,\n ]}\n style={[\n dimensionStyles.value,\n contentStyles.value,\n ]}\n { ...contentEvents.value }\n { ...props.contentProps }\n >\n { slots.default?.({ isActive }) }\n </div>\n </MaybeTransition>\n </div>\n </Teleport>\n )}\n </>\n ))\n\n return {\n activatorEl,\n scrimEl,\n target,\n animateClick,\n contentEl,\n globalTop,\n localTop,\n updateLocation,\n }\n },\n})\n\nexport type VOverlay = InstanceType<typeof VOverlay>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VOverlay.mjs","names":["makeLocationStrategyProps","useLocationStrategies","makeScrollStrategyProps","useScrollStrategies","makeActivatorProps","useActivator","useBackgroundColor","makeComponentProps","makeDimensionProps","useDimension","useHydration","makeLazyProps","useLazy","useRtl","useProxiedModel","useBackButton","useRouter","useScopeId","useStack","useTeleport","makeThemeProps","provideTheme","useToggleScope","makeTransitionProps","MaybeTransition","ClickOutside","computed","mergeProps","onBeforeUnmount","ref","Teleport","toRef","Transition","watch","animate","convertToUnit","genericComponent","getScrollParent","IN_BROWSER","propsFactory","standardEasing","useRender","Scrim","props","modelValue","color","rest","_createVNode","default","_mergeProps","backgroundColorClasses","value","backgroundColorStyles","makeVOverlayProps","absolute","Boolean","attach","String","Object","closeOnBack","type","contained","contentClass","contentProps","disabled","opacity","Number","noClickAnimation","persistent","scrim","zIndex","VOverlay","name","directives","inheritAttrs","_disableGlobalStack","emits","e","afterEnter","afterLeave","setup","_ref","slots","attrs","emit","model","isActive","get","set","v","teleportTarget","themeClasses","rtlClasses","isRtl","hasContent","onAfterLeave","_onAfterLeave","scrimColor","globalTop","localTop","stackStyles","activatorEl","activatorRef","target","targetEl","targetRef","activatorEvents","contentEvents","scrimEvents","isTop","dimensionStyles","isMounted","scopeId","root","scrimEl","contentEl","contentStyles","updateLocation","onClickOutside","animateClick","closeConditional","val","window","addEventListener","onKeydown","removeEventListener","immediate","key","contains","document","activeElement","focus","router","next","top","scrollParent","scrollingElement","scrollTop","transformOrigin","transform","duration","easing","onAfterEnter","_Fragment","activator","activatorProps","class","style","transition","_withDirectives","_vShow","_resolveDirective","handler","include"],"sources":["../../../src/components/VOverlay/VOverlay.tsx"],"sourcesContent":["// Styles\nimport './VOverlay.sass'\n\n// Composables\nimport { makeLocationStrategyProps, useLocationStrategies } from './locationStrategies'\nimport { makeScrollStrategyProps, useScrollStrategies } from './scrollStrategies'\nimport { makeActivatorProps, useActivator } from './useActivator'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useHydration } from '@/composables/hydration'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useBackButton, useRouter } from '@/composables/router'\nimport { useScopeId } from '@/composables/scopeId'\nimport { useStack } from '@/composables/stack'\nimport { useTeleport } from '@/composables/teleport'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport { ClickOutside } from '@/directives/click-outside'\n\n// Utilities\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n ref,\n Teleport,\n toRef,\n Transition,\n watch,\n} from 'vue'\nimport {\n animate,\n convertToUnit,\n genericComponent,\n getScrollParent,\n IN_BROWSER,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type {\n ComponentPublicInstance, PropType,\n Ref,\n} from 'vue'\nimport type { BackgroundColorData } from '@/composables/color'\n\ninterface ScrimProps {\n [key: string]: unknown\n modelValue: boolean\n color: BackgroundColorData\n}\nfunction Scrim (props: ScrimProps) {\n const { modelValue, color, ...rest } = props\n return (\n <Transition name=\"fade-transition\" appear>\n { props.modelValue && (\n <div\n class={[\n 'v-overlay__scrim',\n props.color.backgroundColorClasses.value,\n ]}\n style={ props.color.backgroundColorStyles.value }\n { ...rest }\n />\n )}\n </Transition>\n )\n}\n\nexport type OverlaySlots = {\n default: { isActive: Ref<boolean> }\n activator: { isActive: boolean, props: Record<string, any>, targetRef: Ref<ComponentPublicInstance<any> | HTMLElement> }\n}\n\nexport const makeVOverlayProps = propsFactory({\n absolute: Boolean,\n attach: [Boolean, String, Object] as PropType<boolean | string | Element>,\n closeOnBack: {\n type: Boolean,\n default: true,\n },\n contained: Boolean,\n contentClass: null,\n contentProps: null,\n disabled: Boolean,\n opacity: [Number, String],\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [Boolean, String],\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 2000,\n },\n\n ...makeActivatorProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeLazyProps(),\n ...makeLocationStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps(),\n}, 'VOverlay')\n\nexport const VOverlay = genericComponent<OverlaySlots>()({\n name: 'VOverlay',\n\n directives: { ClickOutside },\n\n inheritAttrs: false,\n\n props: {\n _disableGlobalStack: Boolean,\n\n ...makeVOverlayProps(),\n },\n\n emits: {\n 'click:outside': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n afterEnter: () => true,\n afterLeave: () => true,\n },\n\n setup (props, { slots, attrs, emit }) {\n const model = useProxiedModel(props, 'modelValue')\n const isActive = computed({\n get: () => model.value,\n set: v => {\n if (!(v && props.disabled)) model.value = v\n },\n })\n const { teleportTarget } = useTeleport(computed(() => props.attach || props.contained))\n const { themeClasses } = provideTheme(props)\n const { rtlClasses, isRtl } = useRtl()\n const { hasContent, onAfterLeave: _onAfterLeave } = useLazy(props, isActive)\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const { globalTop, localTop, stackStyles } = useStack(isActive, toRef(props, 'zIndex'), props._disableGlobalStack)\n const {\n activatorEl, activatorRef,\n target, targetEl, targetRef,\n activatorEvents,\n contentEvents,\n scrimEvents,\n } = useActivator(props, { isActive, isTop: localTop })\n const { dimensionStyles } = useDimension(props)\n const isMounted = useHydration()\n const { scopeId } = useScopeId()\n\n watch(() => props.disabled, v => {\n if (v) isActive.value = false\n })\n\n const root = ref<HTMLElement>()\n const scrimEl = ref<HTMLElement>()\n const contentEl = ref<HTMLElement>()\n const { contentStyles, updateLocation } = useLocationStrategies(props, {\n isRtl,\n contentEl,\n target,\n isActive,\n })\n useScrollStrategies(props, {\n root,\n contentEl,\n targetEl,\n isActive,\n updateLocation,\n })\n\n function onClickOutside (e: MouseEvent) {\n emit('click:outside', e)\n\n if (!props.persistent) isActive.value = false\n else animateClick()\n }\n\n function closeConditional (e: Event) {\n return isActive.value && globalTop.value && (\n // If using scrim, only close if clicking on it rather than anything opened on top\n !props.scrim || e.target === scrimEl.value\n )\n }\n\n IN_BROWSER && watch(isActive, val => {\n if (val) {\n window.addEventListener('keydown', onKeydown)\n } else {\n window.removeEventListener('keydown', onKeydown)\n }\n }, { immediate: true })\n\n onBeforeUnmount(() => {\n if (!IN_BROWSER) return\n\n window.removeEventListener('keydown', onKeydown)\n })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === 'Escape' && globalTop.value) {\n if (!props.persistent) {\n isActive.value = false\n if (contentEl.value?.contains(document.activeElement)) {\n activatorEl.value?.focus()\n }\n } else animateClick()\n }\n }\n\n const router = useRouter()\n useToggleScope(() => props.closeOnBack, () => {\n useBackButton(router, next => {\n if (globalTop.value && isActive.value) {\n next(false)\n if (!props.persistent) isActive.value = false\n else animateClick()\n } else {\n next()\n }\n })\n })\n\n const top = ref<number>()\n watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, val => {\n if (val) {\n const scrollParent = getScrollParent(root.value)\n if (scrollParent && scrollParent !== document.scrollingElement) {\n top.value = scrollParent.scrollTop\n }\n }\n })\n\n // Add a quick \"bounce\" animation to the content\n function animateClick () {\n if (props.noClickAnimation) return\n\n contentEl.value && animate(contentEl.value, [\n { transformOrigin: 'center' },\n { transform: 'scale(1.03)' },\n { transformOrigin: 'center' },\n ], {\n duration: 150,\n easing: standardEasing,\n })\n }\n\n function onAfterEnter () {\n emit('afterEnter')\n }\n\n function onAfterLeave () {\n _onAfterLeave()\n emit('afterLeave')\n }\n\n useRender(() => (\n <>\n { slots.activator?.({\n isActive: isActive.value,\n targetRef,\n props: mergeProps({\n ref: activatorRef,\n }, activatorEvents.value, props.activatorProps),\n })}\n\n { isMounted.value && hasContent.value && (\n <Teleport\n disabled={ !teleportTarget.value }\n to={ teleportTarget.value }\n >\n <div\n class={[\n 'v-overlay',\n {\n 'v-overlay--absolute': props.absolute || props.contained,\n 'v-overlay--active': isActive.value,\n 'v-overlay--contained': props.contained,\n },\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n stackStyles.value,\n {\n '--v-overlay-opacity': props.opacity,\n top: convertToUnit(top.value),\n },\n props.style,\n ]}\n ref={ root }\n { ...scopeId }\n { ...attrs }\n >\n <Scrim\n color={ scrimColor }\n modelValue={ isActive.value && !!props.scrim }\n ref={ scrimEl }\n { ...scrimEvents.value }\n />\n <MaybeTransition\n appear\n persisted\n transition={ props.transition }\n target={ target.value }\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n >\n <div\n ref={ contentEl }\n v-show={ isActive.value }\n v-click-outside={{ handler: onClickOutside, closeConditional, include: () => [activatorEl.value] }}\n class={[\n 'v-overlay__content',\n props.contentClass,\n ]}\n style={[\n dimensionStyles.value,\n contentStyles.value,\n ]}\n { ...contentEvents.value }\n { ...props.contentProps }\n >\n { slots.default?.({ isActive }) }\n </div>\n </MaybeTransition>\n </div>\n </Teleport>\n )}\n </>\n ))\n\n return {\n activatorEl,\n scrimEl,\n target,\n animateClick,\n contentEl,\n globalTop,\n localTop,\n updateLocation,\n }\n },\n})\n\nexport type VOverlay = InstanceType<typeof VOverlay>\n"],"mappings":"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","ignoreList":[]}
@@ -1,62 +1,64 @@
1
1
  @use 'sass:selector'
2
+ @use '../../styles/tools'
2
3
  @use './variables' as *
3
4
 
4
- // Block
5
- .v-overlay-container
6
- contain: layout
7
- left: 0
8
- pointer-events: none
9
- position: absolute
10
- top: 0
11
- display: contents
5
+ @include tools.layer('components')
6
+ // Block
7
+ .v-overlay-container
8
+ contain: layout
9
+ left: 0
10
+ pointer-events: none
11
+ position: absolute
12
+ top: 0
13
+ display: contents
12
14
 
13
- .v-overlay-scroll-blocked
14
- padding-inline-end: var(--v-scrollbar-offset)
15
+ .v-overlay-scroll-blocked
16
+ padding-inline-end: var(--v-scrollbar-offset)
15
17
 
16
- &:not(html)
17
- overflow-y: hidden !important
18
+ &:not(html)
19
+ overflow-y: hidden !important
18
20
 
19
- @at-root #{selector.append(html, &)}
21
+ @at-root #{selector.append(html, &)}
22
+ position: fixed
23
+ top: var(--v-body-scroll-y)
24
+ left: var(--v-body-scroll-x)
25
+ width: 100%
26
+ height: 100%
27
+
28
+ .v-overlay
29
+ border-radius: inherit
30
+ display: flex
31
+ left: 0
32
+ pointer-events: none
33
+ position: fixed
34
+ top: 0
35
+ bottom: 0
36
+ right: 0
37
+
38
+ // Element
39
+ .v-overlay__content
40
+ outline: none
41
+ position: absolute
42
+ pointer-events: auto
43
+ contain: layout
44
+
45
+ .v-overlay__scrim
46
+ pointer-events: auto
47
+ background: $overlay-scrim-background
48
+ border-radius: inherit
49
+ bottom: 0
50
+ left: 0
51
+ opacity: $overlay-opacity
20
52
  position: fixed
21
- top: var(--v-body-scroll-y)
22
- left: var(--v-body-scroll-x)
23
- width: 100%
24
- height: 100%
25
-
26
- .v-overlay
27
- border-radius: inherit
28
- display: flex
29
- left: 0
30
- pointer-events: none
31
- position: fixed
32
- top: 0
33
- bottom: 0
34
- right: 0
35
-
36
- // Element
37
- .v-overlay__content
38
- outline: none
39
- position: absolute
40
- pointer-events: auto
41
- contain: layout
42
-
43
- .v-overlay__scrim
44
- pointer-events: auto
45
- background: $overlay-scrim-background
46
- border-radius: inherit
47
- bottom: 0
48
- left: 0
49
- opacity: $overlay-opacity
50
- position: fixed
51
- right: 0
52
- top: 0
53
-
54
- // Modifier
55
- .v-overlay--absolute
56
- position: absolute
57
-
58
- .v-overlay--contained .v-overlay__scrim
59
- position: absolute
60
-
61
- .v-overlay--scroll-blocked
62
- padding-inline-end: var(--v-scrollbar-offset)
53
+ right: 0
54
+ top: 0
55
+
56
+ // Modifier
57
+ .v-overlay--absolute
58
+ position: absolute
59
+
60
+ .v-overlay--contained .v-overlay__scrim
61
+ position: absolute
62
+
63
+ .v-overlay--scroll-blocked
64
+ padding-inline-end: var(--v-scrollbar-offset)
@@ -1,5 +1,5 @@
1
1
  import * as vue from 'vue';
2
- import { ComponentPropsOptions, ExtractPropTypes, Ref, EffectScope, PropType } from 'vue';
2
+ import { ComponentPropsOptions, ExtractPropTypes, Ref, EffectScope, ComponentPublicInstance, PropType } from 'vue';
3
3
 
4
4
  declare const block: readonly ["top", "bottom"];
5
5
  declare const inline: readonly ["start", "end", "left", "right"];
@@ -115,7 +115,7 @@ declare const VOverlay: {
115
115
  width?: string | number | undefined;
116
116
  height?: string | number | undefined;
117
117
  theme?: string | undefined;
118
- target?: Element | (string & {}) | vue.ComponentPublicInstance | "parent" | "cursor" | [x: number, y: number] | undefined;
118
+ target?: Element | (string & {}) | ComponentPublicInstance | "parent" | "cursor" | [x: number, y: number] | undefined;
119
119
  offset?: string | number | number[] | undefined;
120
120
  contentClass?: any;
121
121
  opacity?: string | number | undefined;
@@ -123,7 +123,7 @@ declare const VOverlay: {
123
123
  maxWidth?: string | number | undefined;
124
124
  minHeight?: string | number | undefined;
125
125
  minWidth?: string | number | undefined;
126
- activator?: Element | (string & {}) | vue.ComponentPublicInstance | "parent" | undefined;
126
+ activator?: Element | (string & {}) | ComponentPublicInstance | "parent" | undefined;
127
127
  closeDelay?: string | number | undefined;
128
128
  openDelay?: string | number | undefined;
129
129
  openOnClick?: boolean | undefined;
@@ -138,6 +138,7 @@ declare const VOverlay: {
138
138
  activator?: ((arg: {
139
139
  isActive: boolean;
140
140
  props: Record<string, any>;
141
+ targetRef: Ref<ComponentPublicInstance<any> | HTMLElement>;
141
142
  }) => vue.VNodeChild) | undefined;
142
143
  } | ((arg: {
143
144
  isActive: Ref<boolean>;
@@ -149,6 +150,7 @@ declare const VOverlay: {
149
150
  activator?: false | ((arg: {
150
151
  isActive: boolean;
151
152
  props: Record<string, any>;
153
+ targetRef: Ref<ComponentPublicInstance<any> | HTMLElement>;
152
154
  }) => vue.VNodeChild) | undefined;
153
155
  } | undefined;
154
156
  } & {
@@ -158,6 +160,7 @@ declare const VOverlay: {
158
160
  "v-slot:activator"?: false | ((arg: {
159
161
  isActive: boolean;
160
162
  props: Record<string, any>;
163
+ targetRef: Ref<ComponentPublicInstance<any> | HTMLElement>;
161
164
  }) => vue.VNodeChild) | undefined;
162
165
  } & {
163
166
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
@@ -208,7 +211,7 @@ declare const VOverlay: {
208
211
  width?: string | number | undefined;
209
212
  height?: string | number | undefined;
210
213
  theme?: string | undefined;
211
- target?: Element | (string & {}) | vue.ComponentPublicInstance | "parent" | "cursor" | [x: number, y: number] | undefined;
214
+ target?: Element | (string & {}) | ComponentPublicInstance | "parent" | "cursor" | [x: number, y: number] | undefined;
212
215
  offset?: string | number | number[] | undefined;
213
216
  contentClass?: any;
214
217
  opacity?: string | number | undefined;
@@ -216,7 +219,7 @@ declare const VOverlay: {
216
219
  maxWidth?: string | number | undefined;
217
220
  minHeight?: string | number | undefined;
218
221
  minWidth?: string | number | undefined;
219
- activator?: Element | (string & {}) | vue.ComponentPublicInstance | "parent" | undefined;
222
+ activator?: Element | (string & {}) | ComponentPublicInstance | "parent" | undefined;
220
223
  closeDelay?: string | number | undefined;
221
224
  openDelay?: string | number | undefined;
222
225
  openOnClick?: boolean | undefined;
@@ -231,6 +234,7 @@ declare const VOverlay: {
231
234
  activator?: ((arg: {
232
235
  isActive: boolean;
233
236
  props: Record<string, any>;
237
+ targetRef: Ref<ComponentPublicInstance<any> | HTMLElement>;
234
238
  }) => vue.VNodeChild) | undefined;
235
239
  } | ((arg: {
236
240
  isActive: Ref<boolean>;
@@ -242,6 +246,7 @@ declare const VOverlay: {
242
246
  activator?: false | ((arg: {
243
247
  isActive: boolean;
244
248
  props: Record<string, any>;
249
+ targetRef: Ref<ComponentPublicInstance<any> | HTMLElement>;
245
250
  }) => vue.VNodeChild) | undefined;
246
251
  } | undefined;
247
252
  } & {
@@ -251,6 +256,7 @@ declare const VOverlay: {
251
256
  "v-slot:activator"?: false | ((arg: {
252
257
  isActive: boolean;
253
258
  props: Record<string, any>;
259
+ targetRef: Ref<ComponentPublicInstance<any> | HTMLElement>;
254
260
  }) => vue.VNodeChild) | undefined;
255
261
  } & {
256
262
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
@@ -293,6 +299,7 @@ declare const VOverlay: {
293
299
  activator: (arg: {
294
300
  isActive: boolean;
295
301
  props: Record<string, any>;
302
+ targetRef: Ref<ComponentPublicInstance<any> | HTMLElement>;
296
303
  }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
297
304
  [key: string]: any;
298
305
  }>[];
@@ -333,7 +340,7 @@ declare const VOverlay: {
333
340
  width?: string | number | undefined;
334
341
  height?: string | number | undefined;
335
342
  theme?: string | undefined;
336
- target?: Element | (string & {}) | vue.ComponentPublicInstance | "parent" | "cursor" | [x: number, y: number] | undefined;
343
+ target?: Element | (string & {}) | ComponentPublicInstance | "parent" | "cursor" | [x: number, y: number] | undefined;
337
344
  offset?: string | number | number[] | undefined;
338
345
  contentClass?: any;
339
346
  opacity?: string | number | undefined;
@@ -341,7 +348,7 @@ declare const VOverlay: {
341
348
  maxWidth?: string | number | undefined;
342
349
  minHeight?: string | number | undefined;
343
350
  minWidth?: string | number | undefined;
344
- activator?: Element | (string & {}) | vue.ComponentPublicInstance | "parent" | undefined;
351
+ activator?: Element | (string & {}) | ComponentPublicInstance | "parent" | undefined;
345
352
  closeDelay?: string | number | undefined;
346
353
  openDelay?: string | number | undefined;
347
354
  openOnClick?: boolean | undefined;
@@ -356,6 +363,7 @@ declare const VOverlay: {
356
363
  activator?: ((arg: {
357
364
  isActive: boolean;
358
365
  props: Record<string, any>;
366
+ targetRef: Ref<ComponentPublicInstance<any> | HTMLElement>;
359
367
  }) => vue.VNodeChild) | undefined;
360
368
  } | ((arg: {
361
369
  isActive: Ref<boolean>;
@@ -367,6 +375,7 @@ declare const VOverlay: {
367
375
  activator?: false | ((arg: {
368
376
  isActive: boolean;
369
377
  props: Record<string, any>;
378
+ targetRef: Ref<ComponentPublicInstance<any> | HTMLElement>;
370
379
  }) => vue.VNodeChild) | undefined;
371
380
  } | undefined;
372
381
  } & {
@@ -376,6 +385,7 @@ declare const VOverlay: {
376
385
  "v-slot:activator"?: false | ((arg: {
377
386
  isActive: boolean;
378
387
  props: Record<string, any>;
388
+ targetRef: Ref<ComponentPublicInstance<any> | HTMLElement>;
379
389
  }) => vue.VNodeChild) | undefined;
380
390
  } & {
381
391
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
@@ -452,7 +462,7 @@ declare const VOverlay: {
452
462
  width?: string | number | undefined;
453
463
  height?: string | number | undefined;
454
464
  theme?: string | undefined;
455
- target?: Element | (string & {}) | vue.ComponentPublicInstance | "parent" | "cursor" | [x: number, y: number] | undefined;
465
+ target?: Element | (string & {}) | ComponentPublicInstance | "parent" | "cursor" | [x: number, y: number] | undefined;
456
466
  offset?: string | number | number[] | undefined;
457
467
  contentClass?: any;
458
468
  opacity?: string | number | undefined;
@@ -460,7 +470,7 @@ declare const VOverlay: {
460
470
  maxWidth?: string | number | undefined;
461
471
  minHeight?: string | number | undefined;
462
472
  minWidth?: string | number | undefined;
463
- activator?: Element | (string & {}) | vue.ComponentPublicInstance | "parent" | undefined;
473
+ activator?: Element | (string & {}) | ComponentPublicInstance | "parent" | undefined;
464
474
  closeDelay?: string | number | undefined;
465
475
  openDelay?: string | number | undefined;
466
476
  openOnClick?: boolean | undefined;
@@ -475,6 +485,7 @@ declare const VOverlay: {
475
485
  activator?: ((arg: {
476
486
  isActive: boolean;
477
487
  props: Record<string, any>;
488
+ targetRef: Ref<ComponentPublicInstance<any> | HTMLElement>;
478
489
  }) => vue.VNodeChild) | undefined;
479
490
  } | ((arg: {
480
491
  isActive: Ref<boolean>;
@@ -486,6 +497,7 @@ declare const VOverlay: {
486
497
  activator?: false | ((arg: {
487
498
  isActive: boolean;
488
499
  props: Record<string, any>;
500
+ targetRef: Ref<ComponentPublicInstance<any> | HTMLElement>;
489
501
  }) => vue.VNodeChild) | undefined;
490
502
  } | undefined;
491
503
  } & {
@@ -495,6 +507,7 @@ declare const VOverlay: {
495
507
  "v-slot:activator"?: false | ((arg: {
496
508
  isActive: boolean;
497
509
  props: Record<string, any>;
510
+ targetRef: Ref<ComponentPublicInstance<any> | HTMLElement>;
498
511
  }) => vue.VNodeChild) | undefined;
499
512
  } & {
500
513
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
@@ -551,6 +564,7 @@ declare const VOverlay: {
551
564
  activator: (arg: {
552
565
  isActive: boolean;
553
566
  props: Record<string, any>;
567
+ targetRef: Ref<ComponentPublicInstance<any> | HTMLElement>;
554
568
  }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
555
569
  [key: string]: any;
556
570
  }>[];
@@ -598,8 +612,8 @@ declare const VOverlay: {
598
612
  };
599
613
  closeDelay: (StringConstructor | NumberConstructor)[];
600
614
  openDelay: (StringConstructor | NumberConstructor)[];
601
- target: PropType<Element | (string & {}) | vue.ComponentPublicInstance | "parent" | "cursor" | [x: number, y: number] | undefined>;
602
- activator: PropType<Element | (string & {}) | vue.ComponentPublicInstance | "parent" | undefined>;
615
+ target: PropType<Element | (string & {}) | ComponentPublicInstance | "parent" | "cursor" | [x: number, y: number] | undefined>;
616
+ activator: PropType<Element | (string & {}) | ComponentPublicInstance | "parent" | undefined>;
603
617
  activatorProps: {
604
618
  type: PropType<Record<string, any>>;
605
619
  default: () => {};
@@ -681,8 +695,8 @@ declare const VOverlay: {
681
695
  };
682
696
  closeDelay: (StringConstructor | NumberConstructor)[];
683
697
  openDelay: (StringConstructor | NumberConstructor)[];
684
- target: PropType<Element | (string & {}) | vue.ComponentPublicInstance | "parent" | "cursor" | [x: number, y: number] | undefined>;
685
- activator: PropType<Element | (string & {}) | vue.ComponentPublicInstance | "parent" | undefined>;
698
+ target: PropType<Element | (string & {}) | ComponentPublicInstance | "parent" | "cursor" | [x: number, y: number] | undefined>;
699
+ activator: PropType<Element | (string & {}) | ComponentPublicInstance | "parent" | undefined>;
686
700
  activatorProps: {
687
701
  type: PropType<Record<string, any>>;
688
702
  default: () => {};
@@ -1 +1 @@
1
- {"version":3,"file":"useActivator.mjs","names":["VMenuSymbol","makeDelayProps","useDelay","computed","effectScope","inject","mergeProps","nextTick","onScopeDispose","ref","watch","watchEffect","bindProps","getCurrentInstance","IN_BROWSER","matchesSelector","propsFactory","refElement","unbindProps","makeActivatorProps","target","String","Object","activator","activatorProps","type","default","openOnClick","Boolean","undefined","openOnHover","openOnFocus","closeOnContentClick","useActivator","props","_ref","isActive","isTop","vm","activatorEl","isHovered","isFocused","firstEnter","value","runOpenDelay","runCloseDelay","cursorTarget","availableEvents","onClick","e","stopPropagation","currentTarget","clientX","clientY","onMouseenter","sourceCapabilities","firesTouchEvents","onMouseleave","onFocus","onBlur","activatorEvents","events","contentEvents","onFocusin","onFocusout","menu","closeParents","scrimEvents","val","setTimeout","flush","activatorRef","targetRef","getTarget","targetEl","Array","isArray","scope","run","_useActivator","stop","immediate","_ref2","oldVal","getActivator","unbindActivatorProps","bindActivatorProps","el","arguments","length","_props","selector","nodeType","Node","ELEMENT_NODE","proxy","$el","parentNode","hasAttribute","document","querySelector"],"sources":["../../../src/components/VOverlay/useActivator.tsx"],"sourcesContent":["// Components\nimport { VMenuSymbol } from '@/components/VMenu/shared'\n\n// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\n\n// Utilities\nimport {\n computed,\n effectScope,\n inject,\n mergeProps,\n nextTick,\n onScopeDispose,\n ref,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n bindProps,\n getCurrentInstance,\n IN_BROWSER,\n matchesSelector,\n propsFactory,\n refElement,\n unbindProps,\n} from '@/util'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n EffectScope,\n PropType,\n Ref,\n} from 'vue'\nimport type { DelayProps } from '@/composables/delay'\n\ninterface ActivatorProps extends DelayProps {\n target: 'parent' | 'cursor' | (string & {}) | Element | ComponentPublicInstance | [x: number, y: number] | undefined\n activator: 'parent' | (string & {}) | Element | ComponentPublicInstance | undefined\n activatorProps: Record<string, any>\n\n openOnClick: boolean | undefined\n openOnHover: boolean\n openOnFocus: boolean | undefined\n\n closeOnContentClick: boolean\n}\n\nexport const makeActivatorProps = propsFactory({\n target: [String, Object] as PropType<ActivatorProps['target']>,\n activator: [String, Object] as PropType<ActivatorProps['activator']>,\n activatorProps: {\n type: Object as PropType<ActivatorProps['activatorProps']>,\n default: () => ({}),\n },\n\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: undefined,\n },\n\n closeOnContentClick: Boolean,\n\n ...makeDelayProps(),\n}, 'VOverlay-activator')\n\nexport function useActivator (\n props: ActivatorProps,\n { isActive, isTop }: { isActive: Ref<boolean>, isTop: Ref<boolean> }\n) {\n const vm = getCurrentInstance('useActivator')\n const activatorEl = ref<HTMLElement>()\n\n let isHovered = false\n let isFocused = false\n let firstEnter = true\n\n const openOnFocus = computed(() => props.openOnFocus || (props.openOnFocus == null && props.openOnHover))\n const openOnClick = computed(() => props.openOnClick || (props.openOnClick == null && !props.openOnHover && !openOnFocus.value))\n\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => {\n if (\n value === (\n (props.openOnHover && isHovered) ||\n (openOnFocus.value && isFocused)\n ) && !(props.openOnHover && isActive.value && !isTop.value)\n ) {\n if (isActive.value !== value) {\n firstEnter = true\n }\n isActive.value = value\n }\n })\n\n const cursorTarget = ref<[x: number, y: number]>()\n const availableEvents = {\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n if (!isActive.value) {\n cursorTarget.value = [e.clientX, e.clientY]\n }\n isActive.value = !isActive.value\n },\n onMouseenter: (e: MouseEvent) => {\n if (e.sourceCapabilities?.firesTouchEvents) return\n\n isHovered = true\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n runOpenDelay()\n },\n onMouseleave: (e: MouseEvent) => {\n isHovered = false\n runCloseDelay()\n },\n onFocus: (e: FocusEvent) => {\n if (matchesSelector(e.target as HTMLElement, ':focus-visible') === false) return\n\n isFocused = true\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n\n runOpenDelay()\n },\n onBlur: (e: FocusEvent) => {\n isFocused = false\n e.stopPropagation()\n\n runCloseDelay()\n },\n }\n\n const activatorEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n\n if (openOnClick.value) {\n events.onClick = availableEvents.onClick\n }\n if (props.openOnHover) {\n events.onMouseenter = availableEvents.onMouseenter\n events.onMouseleave = availableEvents.onMouseleave\n }\n if (openOnFocus.value) {\n events.onFocus = availableEvents.onFocus\n events.onBlur = availableEvents.onBlur\n }\n\n return events\n })\n\n const contentEvents = computed(() => {\n const events: Record<string, EventListener> = {}\n\n if (props.openOnHover) {\n events.onMouseenter = () => {\n isHovered = true\n runOpenDelay()\n }\n events.onMouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n if (openOnFocus.value) {\n events.onFocusin = () => {\n isFocused = true\n runOpenDelay()\n }\n events.onFocusout = () => {\n isFocused = false\n runCloseDelay()\n }\n }\n\n if (props.closeOnContentClick) {\n const menu = inject(VMenuSymbol, null)\n events.onClick = () => {\n isActive.value = false\n menu?.closeParents()\n }\n }\n\n return events\n })\n\n const scrimEvents = computed(() => {\n const events: Record<string, EventListener> = {}\n\n if (props.openOnHover) {\n events.onMouseenter = () => {\n if (firstEnter) {\n isHovered = true\n firstEnter = false\n runOpenDelay()\n }\n }\n events.onMouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n return events\n })\n\n watch(isTop, val => {\n if (val && (\n (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused)) ||\n (openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))\n )) {\n isActive.value = false\n }\n })\n\n watch(isActive, val => {\n if (!val) {\n setTimeout(() => {\n cursorTarget.value = undefined\n })\n }\n }, { flush: 'post' })\n\n const activatorRef = ref<HTMLElement>()\n watchEffect(() => {\n if (!activatorRef.value) return\n\n nextTick(() => {\n activatorEl.value = refElement(activatorRef.value)\n })\n })\n\n const targetRef = ref<HTMLElement>()\n const target = computed(() => {\n if (props.target === 'cursor' && cursorTarget.value) return cursorTarget.value\n if (targetRef.value) return refElement(targetRef.value)\n return getTarget(props.target, vm) || activatorEl.value\n })\n const targetEl = computed(() => {\n return Array.isArray(target.value)\n ? undefined\n : target.value\n })\n\n let scope: EffectScope\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope()\n scope.run(() => {\n _useActivator(props, vm, { activatorEl, activatorEvents })\n })\n } else if (scope) {\n scope.stop()\n }\n }, { flush: 'post', immediate: true })\n\n onScopeDispose(() => {\n scope?.stop()\n })\n\n return { activatorEl, activatorRef, target, targetEl, targetRef, activatorEvents, contentEvents, scrimEvents }\n}\n\nfunction _useActivator (\n props: ActivatorProps,\n vm: ComponentInternalInstance,\n { activatorEl, activatorEvents }: Pick<ReturnType<typeof useActivator>, 'activatorEl' | 'activatorEvents'>\n) {\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal)\n activator && unbindActivatorProps(activator)\n }\n if (val) {\n nextTick(() => bindActivatorProps())\n }\n }, { immediate: true })\n\n watch(() => props.activatorProps, () => {\n bindActivatorProps()\n })\n\n onScopeDispose(() => {\n unbindActivatorProps()\n })\n\n function bindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n bindProps(el, mergeProps(activatorEvents.value, _props))\n }\n\n function unbindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n unbindProps(el, mergeProps(activatorEvents.value, _props))\n }\n\n function getActivator (selector = props.activator): HTMLElement | undefined {\n const activator = getTarget(selector, vm)\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : undefined\n\n return activatorEl.value\n }\n}\n\nfunction getTarget<T extends 'parent' | string | Element | ComponentPublicInstance | [x: number, y: number] | undefined> (\n selector: T,\n vm: ComponentInternalInstance\n): HTMLElement | undefined | (T extends any[] ? [x: number, y: number] : never) {\n if (!selector) return\n\n let target\n if (selector === 'parent') {\n let el = vm?.proxy?.$el?.parentNode\n while (el?.hasAttribute('data-no-activator')) {\n el = el.parentNode\n }\n target = el\n } else if (typeof selector === 'string') {\n // Selector\n target = document.querySelector(selector)\n } else if ('$el' in selector) {\n // Component (ref)\n target = selector.$el\n } else {\n // HTMLElement | Element | [x, y]\n target = selector\n }\n\n return target\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useActivator.mjs","names":["VMenuSymbol","makeDelayProps","useDelay","computed","effectScope","inject","mergeProps","nextTick","onScopeDispose","ref","watch","watchEffect","bindProps","getCurrentInstance","IN_BROWSER","matchesSelector","propsFactory","refElement","unbindProps","makeActivatorProps","target","String","Object","activator","activatorProps","type","default","openOnClick","Boolean","undefined","openOnHover","openOnFocus","closeOnContentClick","useActivator","props","_ref","isActive","isTop","vm","activatorEl","isHovered","isFocused","firstEnter","value","runOpenDelay","runCloseDelay","cursorTarget","availableEvents","onClick","e","stopPropagation","currentTarget","clientX","clientY","onMouseenter","sourceCapabilities","firesTouchEvents","onMouseleave","onFocus","onBlur","activatorEvents","events","contentEvents","onFocusin","onFocusout","menu","closeParents","scrimEvents","val","setTimeout","flush","activatorRef","targetRef","getTarget","targetEl","Array","isArray","scope","run","_useActivator","stop","immediate","_ref2","oldVal","getActivator","unbindActivatorProps","bindActivatorProps","el","arguments","length","_props","selector","nodeType","Node","ELEMENT_NODE","proxy","$el","parentNode","hasAttribute","document","querySelector"],"sources":["../../../src/components/VOverlay/useActivator.tsx"],"sourcesContent":["// Components\nimport { VMenuSymbol } from '@/components/VMenu/shared'\n\n// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\n\n// Utilities\nimport {\n computed,\n effectScope,\n inject,\n mergeProps,\n nextTick,\n onScopeDispose,\n ref,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n bindProps,\n getCurrentInstance,\n IN_BROWSER,\n matchesSelector,\n propsFactory,\n refElement,\n unbindProps,\n} from '@/util'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n EffectScope,\n PropType,\n Ref,\n} from 'vue'\nimport type { DelayProps } from '@/composables/delay'\n\ninterface ActivatorProps extends DelayProps {\n target: 'parent' | 'cursor' | (string & {}) | Element | ComponentPublicInstance | [x: number, y: number] | undefined\n activator: 'parent' | (string & {}) | Element | ComponentPublicInstance | undefined\n activatorProps: Record<string, any>\n\n openOnClick: boolean | undefined\n openOnHover: boolean\n openOnFocus: boolean | undefined\n\n closeOnContentClick: boolean\n}\n\nexport const makeActivatorProps = propsFactory({\n target: [String, Object] as PropType<ActivatorProps['target']>,\n activator: [String, Object] as PropType<ActivatorProps['activator']>,\n activatorProps: {\n type: Object as PropType<ActivatorProps['activatorProps']>,\n default: () => ({}),\n },\n\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: undefined,\n },\n\n closeOnContentClick: Boolean,\n\n ...makeDelayProps(),\n}, 'VOverlay-activator')\n\nexport function useActivator (\n props: ActivatorProps,\n { isActive, isTop }: { isActive: Ref<boolean>, isTop: Ref<boolean> }\n) {\n const vm = getCurrentInstance('useActivator')\n const activatorEl = ref<HTMLElement>()\n\n let isHovered = false\n let isFocused = false\n let firstEnter = true\n\n const openOnFocus = computed(() => props.openOnFocus || (props.openOnFocus == null && props.openOnHover))\n const openOnClick = computed(() => props.openOnClick || (props.openOnClick == null && !props.openOnHover && !openOnFocus.value))\n\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => {\n if (\n value === (\n (props.openOnHover && isHovered) ||\n (openOnFocus.value && isFocused)\n ) && !(props.openOnHover && isActive.value && !isTop.value)\n ) {\n if (isActive.value !== value) {\n firstEnter = true\n }\n isActive.value = value\n }\n })\n\n const cursorTarget = ref<[x: number, y: number]>()\n const availableEvents = {\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n if (!isActive.value) {\n cursorTarget.value = [e.clientX, e.clientY]\n }\n isActive.value = !isActive.value\n },\n onMouseenter: (e: MouseEvent) => {\n if (e.sourceCapabilities?.firesTouchEvents) return\n\n isHovered = true\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n runOpenDelay()\n },\n onMouseleave: (e: MouseEvent) => {\n isHovered = false\n runCloseDelay()\n },\n onFocus: (e: FocusEvent) => {\n if (matchesSelector(e.target as HTMLElement, ':focus-visible') === false) return\n\n isFocused = true\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n\n runOpenDelay()\n },\n onBlur: (e: FocusEvent) => {\n isFocused = false\n e.stopPropagation()\n\n runCloseDelay()\n },\n }\n\n const activatorEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n\n if (openOnClick.value) {\n events.onClick = availableEvents.onClick\n }\n if (props.openOnHover) {\n events.onMouseenter = availableEvents.onMouseenter\n events.onMouseleave = availableEvents.onMouseleave\n }\n if (openOnFocus.value) {\n events.onFocus = availableEvents.onFocus\n events.onBlur = availableEvents.onBlur\n }\n\n return events\n })\n\n const contentEvents = computed(() => {\n const events: Record<string, EventListener> = {}\n\n if (props.openOnHover) {\n events.onMouseenter = () => {\n isHovered = true\n runOpenDelay()\n }\n events.onMouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n if (openOnFocus.value) {\n events.onFocusin = () => {\n isFocused = true\n runOpenDelay()\n }\n events.onFocusout = () => {\n isFocused = false\n runCloseDelay()\n }\n }\n\n if (props.closeOnContentClick) {\n const menu = inject(VMenuSymbol, null)\n events.onClick = () => {\n isActive.value = false\n menu?.closeParents()\n }\n }\n\n return events\n })\n\n const scrimEvents = computed(() => {\n const events: Record<string, EventListener> = {}\n\n if (props.openOnHover) {\n events.onMouseenter = () => {\n if (firstEnter) {\n isHovered = true\n firstEnter = false\n runOpenDelay()\n }\n }\n events.onMouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n return events\n })\n\n watch(isTop, val => {\n if (val && (\n (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused)) ||\n (openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))\n )) {\n isActive.value = false\n }\n })\n\n watch(isActive, val => {\n if (!val) {\n setTimeout(() => {\n cursorTarget.value = undefined\n })\n }\n }, { flush: 'post' })\n\n const activatorRef = ref<HTMLElement>()\n watchEffect(() => {\n if (!activatorRef.value) return\n\n nextTick(() => {\n activatorEl.value = refElement(activatorRef.value)\n })\n })\n\n const targetRef = ref<ComponentPublicInstance<any> | HTMLElement>()\n const target = computed(() => {\n if (props.target === 'cursor' && cursorTarget.value) return cursorTarget.value\n if (targetRef.value) return refElement(targetRef.value)\n return getTarget(props.target, vm) || activatorEl.value\n })\n const targetEl = computed(() => {\n return Array.isArray(target.value)\n ? undefined\n : target.value\n })\n\n let scope: EffectScope\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope()\n scope.run(() => {\n _useActivator(props, vm, { activatorEl, activatorEvents })\n })\n } else if (scope) {\n scope.stop()\n }\n }, { flush: 'post', immediate: true })\n\n onScopeDispose(() => {\n scope?.stop()\n })\n\n return { activatorEl, activatorRef, target, targetEl, targetRef, activatorEvents, contentEvents, scrimEvents }\n}\n\nfunction _useActivator (\n props: ActivatorProps,\n vm: ComponentInternalInstance,\n { activatorEl, activatorEvents }: Pick<ReturnType<typeof useActivator>, 'activatorEl' | 'activatorEvents'>\n) {\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal)\n activator && unbindActivatorProps(activator)\n }\n if (val) {\n nextTick(() => bindActivatorProps())\n }\n }, { immediate: true })\n\n watch(() => props.activatorProps, () => {\n bindActivatorProps()\n })\n\n onScopeDispose(() => {\n unbindActivatorProps()\n })\n\n function bindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n bindProps(el, mergeProps(activatorEvents.value, _props))\n }\n\n function unbindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n unbindProps(el, mergeProps(activatorEvents.value, _props))\n }\n\n function getActivator (selector = props.activator): HTMLElement | undefined {\n const activator = getTarget(selector, vm)\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : undefined\n\n return activatorEl.value\n }\n}\n\nfunction getTarget<T extends 'parent' | string | Element | ComponentPublicInstance | [x: number, y: number] | undefined> (\n selector: T,\n vm: ComponentInternalInstance\n): HTMLElement | undefined | (T extends any[] ? [x: number, y: number] : never) {\n if (!selector) return\n\n let target\n if (selector === 'parent') {\n let el = vm?.proxy?.$el?.parentNode\n while (el?.hasAttribute('data-no-activator')) {\n el = el.parentNode\n }\n target = el\n } else if (typeof selector === 'string') {\n // Selector\n target = document.querySelector(selector)\n } else if ('$el' in selector) {\n // Component (ref)\n target = selector.$el\n } else {\n // HTMLElement | Element | [x, y]\n target = selector\n }\n\n return target\n}\n"],"mappings":"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","ignoreList":[]}