vuetify 3.1.12 → 3.1.14

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 (490) hide show
  1. package/dist/_component-variables-labs.sass +2 -1
  2. package/dist/json/attributes.json +4138 -3902
  3. package/dist/json/importMap-labs.json +8 -4
  4. package/dist/json/importMap.json +154 -154
  5. package/dist/json/tags.json +608 -544
  6. package/dist/json/web-types.json +14730 -14109
  7. package/dist/vuetify-labs.css +479 -236
  8. package/dist/vuetify-labs.d.ts +2356 -1425
  9. package/dist/vuetify-labs.esm.js +716 -505
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +716 -507
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +156 -133
  14. package/dist/vuetify.d.ts +1772 -1110
  15. package/dist/vuetify.esm.js +556 -480
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +556 -482
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +202 -186
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  23. package/lib/components/VApp/VApp.mjs.map +1 -1
  24. package/lib/components/VApp/index.d.ts +2 -2
  25. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  26. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  27. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  28. package/lib/components/VAutocomplete/VAutocomplete.mjs +7 -5
  29. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  30. package/lib/components/VAutocomplete/index.d.ts +77 -71
  31. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  32. package/lib/components/VBadge/VBadge.mjs +1 -1
  33. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  34. package/lib/components/VBadge/index.d.ts +13 -13
  35. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  36. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  37. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  38. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  39. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  40. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  41. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  42. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  43. package/lib/components/VBtn/index.d.ts +4 -4
  44. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  45. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  46. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  47. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  48. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  49. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  50. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  51. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  52. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  53. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  54. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  55. package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
  56. package/lib/components/VCalendar/modes/column.mjs.map +1 -1
  57. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  58. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  59. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  60. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  61. package/lib/components/VCalendar/util/props.mjs.map +1 -1
  62. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  63. package/lib/components/VCard/VCard.mjs.map +1 -1
  64. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  65. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  66. package/lib/components/VCard/index.d.ts +1 -13
  67. package/lib/components/VCarousel/VCarousel.mjs +10 -10
  68. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  69. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  70. package/lib/components/VCarousel/index.d.ts +197 -19
  71. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  72. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  73. package/lib/components/VCheckbox/index.d.ts +14 -14
  74. package/lib/components/VChip/VChip.mjs +2 -2
  75. package/lib/components/VChip/VChip.mjs.map +1 -1
  76. package/lib/components/VChip/index.d.ts +14 -14
  77. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  78. package/lib/components/VColorPicker/VColorPicker.mjs +58 -61
  79. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  80. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  81. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  82. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  83. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  84. package/lib/components/VColorPicker/index.d.ts +113 -50
  85. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  86. package/lib/components/VCombobox/VCombobox.mjs +8 -6
  87. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  88. package/lib/components/VCombobox/index.d.ts +77 -71
  89. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  90. package/lib/components/VCounter/index.d.ts +123 -24
  91. package/lib/components/VData/VData.mjs.map +1 -1
  92. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  93. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  94. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  95. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  96. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  97. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  98. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  99. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  100. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  101. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  102. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  103. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  104. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  105. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  106. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  107. package/lib/components/VDialog/index.d.ts +43 -43
  108. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  109. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  110. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  111. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  112. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  113. package/lib/components/VField/VField.mjs +3 -3
  114. package/lib/components/VField/VField.mjs.map +1 -1
  115. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  116. package/lib/components/VField/index.d.ts +20 -20
  117. package/lib/components/VFileInput/VFileInput.mjs +0 -1
  118. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  119. package/lib/components/VFileInput/index.d.ts +59 -65
  120. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  121. package/lib/components/VForm/VForm.mjs.map +1 -1
  122. package/lib/components/VGrid/VCol.mjs.map +1 -1
  123. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  124. package/lib/components/VGrid/VRow.mjs.map +1 -1
  125. package/lib/components/VHover/VHover.mjs.map +1 -1
  126. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  127. package/lib/components/VImg/VImg.mjs +3 -3
  128. package/lib/components/VImg/VImg.mjs.map +1 -1
  129. package/lib/components/VImg/index.d.ts +28 -28
  130. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  131. package/lib/components/VInput/VInput.mjs +2 -2
  132. package/lib/components/VInput/VInput.mjs.map +1 -1
  133. package/lib/components/VInput/index.d.ts +14 -14
  134. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  135. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  136. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  137. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  138. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  139. package/lib/components/VLayout/index.d.ts +2 -2
  140. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  141. package/lib/components/VLazy/index.d.ts +13 -13
  142. package/lib/components/VList/VList.mjs +2 -1
  143. package/lib/components/VList/VList.mjs.map +1 -1
  144. package/lib/components/VList/VListChildren.mjs.map +1 -1
  145. package/lib/components/VList/VListGroup.mjs +24 -13
  146. package/lib/components/VList/VListGroup.mjs.map +1 -1
  147. package/lib/components/VList/VListItem.css +12 -0
  148. package/lib/components/VList/VListItem.mjs +2 -2
  149. package/lib/components/VList/VListItem.mjs.map +1 -1
  150. package/lib/components/VList/VListItem.sass +5 -0
  151. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  152. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  153. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  154. package/lib/components/VList/index.d.ts +14 -14
  155. package/lib/components/VList/list.mjs.map +1 -1
  156. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  157. package/lib/components/VMain/VMain.mjs.map +1 -1
  158. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  159. package/lib/components/VMenu/index.d.ts +43 -43
  160. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  161. package/lib/components/VMessages/index.d.ts +123 -24
  162. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +8 -2
  163. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  164. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  165. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  166. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  167. package/lib/components/VNoSsr/index.d.ts +1 -13
  168. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  169. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  170. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  171. package/lib/components/VOverlay/index.d.ts +15 -15
  172. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  173. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  174. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  175. package/lib/components/VOverlay/useActivator.mjs +1 -0
  176. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  177. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  178. package/lib/components/VPagination/VPagination.mjs +2 -2
  179. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  180. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  181. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  182. package/lib/components/VProgressCircular/VProgressCircular.css +3 -1
  183. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  184. package/lib/components/VProgressCircular/VProgressCircular.sass +3 -1
  185. package/lib/components/VProgressCircular/_variables.scss +1 -0
  186. package/lib/components/VProgressLinear/VProgressLinear.css +6 -3
  187. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  188. package/lib/components/VProgressLinear/VProgressLinear.sass +3 -0
  189. package/lib/components/VProgressLinear/_variables.scss +1 -1
  190. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  191. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  192. package/lib/components/VRadioGroup/index.d.ts +14 -14
  193. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  194. package/lib/components/VRangeSlider/index.d.ts +14 -14
  195. package/lib/components/VRating/VRating.mjs.map +1 -1
  196. package/lib/components/VRating/index.d.ts +2 -2
  197. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  198. package/lib/components/VSelect/VSelect.mjs +31 -2
  199. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  200. package/lib/components/VSelect/index.d.ts +77 -71
  201. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  202. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  203. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  204. package/lib/components/VSlideGroup/VSlideGroup.mjs +29 -28
  205. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  206. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  207. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  208. package/lib/components/VSlideGroup/index.d.ts +17 -17
  209. package/lib/components/VSlider/VSlider.mjs +1 -1
  210. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  211. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  212. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  213. package/lib/components/VSlider/index.d.ts +14 -14
  214. package/lib/components/VSlider/slider.mjs +1 -1
  215. package/lib/components/VSlider/slider.mjs.map +1 -1
  216. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  217. package/lib/components/VSnackbar/index.d.ts +43 -43
  218. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  219. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  220. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  221. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  222. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  223. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  224. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  225. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  226. package/lib/components/VSwitch/VSwitch.css +4 -0
  227. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  228. package/lib/components/VSwitch/VSwitch.sass +4 -0
  229. package/lib/components/VSwitch/index.d.ts +14 -14
  230. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  231. package/lib/components/VTable/VTable.css +1 -1
  232. package/lib/components/VTable/VTable.mjs.map +1 -1
  233. package/lib/components/VTable/VTable.sass +1 -1
  234. package/lib/components/VTabs/VTab.mjs.map +1 -1
  235. package/lib/components/VTabs/VTabs.mjs +25 -30
  236. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  237. package/lib/components/VTabs/index.d.ts +165 -28
  238. package/lib/components/VTextField/VTextField.mjs +3 -6
  239. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  240. package/lib/components/VTextField/index.d.ts +83 -77
  241. package/lib/components/VTextarea/VTextarea.mjs +9 -6
  242. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  243. package/lib/components/VTextarea/index.d.ts +56 -50
  244. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  245. package/lib/components/VTimePicker/SelectingTimes.mjs +3 -3
  246. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  247. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  248. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  249. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  250. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  251. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  252. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  253. package/lib/components/VTimeline/index.d.ts +8 -8
  254. package/lib/components/VToolbar/VToolbar.css +2 -0
  255. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  256. package/lib/components/VToolbar/VToolbar.sass +2 -0
  257. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  258. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  259. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  260. package/lib/components/VTooltip/index.d.ts +43 -43
  261. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  262. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  263. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  264. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  265. package/lib/components/VWindow/VWindow.mjs +38 -37
  266. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  267. package/lib/components/VWindow/VWindowItem.mjs +2 -1
  268. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  269. package/lib/components/index.d.ts +1655 -993
  270. package/lib/components/transitions/createTransition.mjs +59 -50
  271. package/lib/components/transitions/createTransition.mjs.map +1 -1
  272. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  273. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  274. package/lib/components/transitions/index.d.ts +150 -15
  275. package/lib/composables/border.mjs.map +1 -1
  276. package/lib/composables/color.mjs.map +1 -1
  277. package/lib/composables/defaults.mjs +1 -1
  278. package/lib/composables/defaults.mjs.map +1 -1
  279. package/lib/composables/delay.mjs.map +1 -1
  280. package/lib/composables/density.mjs.map +1 -1
  281. package/lib/composables/dimensions.mjs.map +1 -1
  282. package/lib/composables/display.mjs.map +1 -1
  283. package/lib/composables/elevation.mjs.map +1 -1
  284. package/lib/composables/filter.mjs.map +1 -1
  285. package/lib/composables/focus.mjs.map +1 -1
  286. package/lib/composables/form.mjs.map +1 -1
  287. package/lib/composables/forwardRefs.mjs +17 -0
  288. package/lib/composables/forwardRefs.mjs.map +1 -1
  289. package/lib/composables/group.mjs.map +1 -1
  290. package/lib/composables/hydration.mjs.map +1 -1
  291. package/lib/composables/icons.mjs.map +1 -1
  292. package/lib/composables/intersectionObserver.mjs.map +1 -1
  293. package/lib/composables/items.mjs.map +1 -1
  294. package/lib/composables/layout.mjs.map +1 -1
  295. package/lib/composables/lazy.mjs.map +1 -1
  296. package/lib/composables/loader.mjs.map +1 -1
  297. package/lib/composables/locale.mjs.map +1 -1
  298. package/lib/composables/location.mjs.map +1 -1
  299. package/lib/composables/mutationObserver.mjs.map +1 -1
  300. package/lib/composables/nested/nested.mjs.map +1 -1
  301. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  302. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  303. package/lib/composables/position.mjs.map +1 -1
  304. package/lib/composables/proxiedModel.mjs +2 -1
  305. package/lib/composables/proxiedModel.mjs.map +1 -1
  306. package/lib/composables/refs.mjs.map +1 -1
  307. package/lib/composables/resizeObserver.mjs.map +1 -1
  308. package/lib/composables/rounded.mjs.map +1 -1
  309. package/lib/composables/router.mjs.map +1 -1
  310. package/lib/composables/scopeId.mjs.map +1 -1
  311. package/lib/composables/scroll.mjs.map +1 -1
  312. package/lib/composables/selectLink.mjs.map +1 -1
  313. package/lib/composables/size.mjs.map +1 -1
  314. package/lib/composables/ssrBoot.mjs.map +1 -1
  315. package/lib/composables/stack.mjs.map +1 -1
  316. package/lib/composables/teleport.mjs.map +1 -1
  317. package/lib/composables/theme.mjs +1 -1
  318. package/lib/composables/theme.mjs.map +1 -1
  319. package/lib/composables/toggleScope.mjs.map +1 -1
  320. package/lib/composables/touch.mjs.map +1 -1
  321. package/lib/composables/transition.mjs.map +1 -1
  322. package/lib/composables/validation.mjs +1 -1
  323. package/lib/composables/validation.mjs.map +1 -1
  324. package/lib/composables/variant.mjs.map +1 -1
  325. package/lib/directives/click-outside/index.mjs.map +1 -1
  326. package/lib/directives/color/index.mjs.map +1 -1
  327. package/lib/directives/intersect/index.mjs.map +1 -1
  328. package/lib/directives/mutate/index.mjs.map +1 -1
  329. package/lib/directives/resize/index.mjs.map +1 -1
  330. package/lib/directives/ripple/index.mjs.map +1 -1
  331. package/lib/directives/scroll/index.mjs.map +1 -1
  332. package/lib/directives/touch/index.mjs.map +1 -1
  333. package/lib/entry-bundler.mjs +1 -1
  334. package/lib/entry-bundler.mjs.map +1 -1
  335. package/lib/framework.mjs +1 -1
  336. package/lib/framework.mjs.map +1 -1
  337. package/lib/index.d.ts +39 -39
  338. package/lib/labs/VDataTable/VDataTable.mjs +7 -5
  339. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  340. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
  341. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  342. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  343. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  344. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  345. package/lib/labs/VDataTable/VDataTableRows.mjs +5 -7
  346. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  347. package/lib/labs/VDataTable/VDataTableServer.mjs +4 -3
  348. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  349. package/lib/labs/VDataTable/VDataTableVirtual.mjs +5 -3
  350. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  351. package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
  352. package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
  353. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  354. package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
  355. package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
  356. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  357. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  358. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  359. package/lib/labs/VDataTable/composables/virtual.mjs.map +1 -1
  360. package/lib/labs/VDataTable/index.d.ts +393 -340
  361. package/lib/labs/VSkeletonLoader/VSkeletonLoader.css +221 -0
  362. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +141 -0
  363. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -0
  364. package/lib/labs/VSkeletonLoader/VSkeletonLoader.sass +225 -0
  365. package/lib/labs/VSkeletonLoader/_variables.scss +44 -0
  366. package/lib/labs/VSkeletonLoader/index.d.ts +222 -0
  367. package/lib/labs/VSkeletonLoader/index.mjs +2 -0
  368. package/lib/labs/VSkeletonLoader/index.mjs.map +1 -0
  369. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  370. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  371. package/lib/labs/components.d.ts +608 -341
  372. package/lib/labs/components.mjs +1 -0
  373. package/lib/labs/components.mjs.map +1 -1
  374. package/lib/labs/entry-bundler.mjs.map +1 -1
  375. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  376. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  377. package/lib/locale/af.mjs +2 -1
  378. package/lib/locale/af.mjs.map +1 -1
  379. package/lib/locale/ar.mjs +2 -1
  380. package/lib/locale/ar.mjs.map +1 -1
  381. package/lib/locale/az.mjs +2 -1
  382. package/lib/locale/az.mjs.map +1 -1
  383. package/lib/locale/bg.mjs +2 -1
  384. package/lib/locale/bg.mjs.map +1 -1
  385. package/lib/locale/ca.mjs +2 -1
  386. package/lib/locale/ca.mjs.map +1 -1
  387. package/lib/locale/ckb.mjs +2 -1
  388. package/lib/locale/ckb.mjs.map +1 -1
  389. package/lib/locale/cs.mjs +2 -1
  390. package/lib/locale/cs.mjs.map +1 -1
  391. package/lib/locale/da.mjs +2 -1
  392. package/lib/locale/da.mjs.map +1 -1
  393. package/lib/locale/de.mjs +2 -1
  394. package/lib/locale/de.mjs.map +1 -1
  395. package/lib/locale/el.mjs +2 -1
  396. package/lib/locale/el.mjs.map +1 -1
  397. package/lib/locale/en.mjs +2 -1
  398. package/lib/locale/en.mjs.map +1 -1
  399. package/lib/locale/es.mjs +2 -1
  400. package/lib/locale/es.mjs.map +1 -1
  401. package/lib/locale/et.mjs +2 -1
  402. package/lib/locale/et.mjs.map +1 -1
  403. package/lib/locale/fa.mjs +2 -1
  404. package/lib/locale/fa.mjs.map +1 -1
  405. package/lib/locale/fi.mjs +2 -1
  406. package/lib/locale/fi.mjs.map +1 -1
  407. package/lib/locale/fr.mjs +2 -1
  408. package/lib/locale/fr.mjs.map +1 -1
  409. package/lib/locale/he.mjs +2 -1
  410. package/lib/locale/he.mjs.map +1 -1
  411. package/lib/locale/hr.mjs +2 -1
  412. package/lib/locale/hr.mjs.map +1 -1
  413. package/lib/locale/hu.mjs +2 -1
  414. package/lib/locale/hu.mjs.map +1 -1
  415. package/lib/locale/id.mjs +2 -1
  416. package/lib/locale/id.mjs.map +1 -1
  417. package/lib/locale/index.d.ts +42 -0
  418. package/lib/locale/it.mjs +2 -1
  419. package/lib/locale/it.mjs.map +1 -1
  420. package/lib/locale/ja.mjs +2 -1
  421. package/lib/locale/ja.mjs.map +1 -1
  422. package/lib/locale/ko.mjs +2 -1
  423. package/lib/locale/ko.mjs.map +1 -1
  424. package/lib/locale/lt.mjs +2 -1
  425. package/lib/locale/lt.mjs.map +1 -1
  426. package/lib/locale/lv.mjs +2 -1
  427. package/lib/locale/lv.mjs.map +1 -1
  428. package/lib/locale/nl.mjs +2 -1
  429. package/lib/locale/nl.mjs.map +1 -1
  430. package/lib/locale/no.mjs +2 -1
  431. package/lib/locale/no.mjs.map +1 -1
  432. package/lib/locale/pl.mjs +2 -1
  433. package/lib/locale/pl.mjs.map +1 -1
  434. package/lib/locale/pt.mjs +2 -1
  435. package/lib/locale/pt.mjs.map +1 -1
  436. package/lib/locale/ro.mjs +2 -1
  437. package/lib/locale/ro.mjs.map +1 -1
  438. package/lib/locale/ru.mjs +2 -1
  439. package/lib/locale/ru.mjs.map +1 -1
  440. package/lib/locale/sk.mjs +2 -1
  441. package/lib/locale/sk.mjs.map +1 -1
  442. package/lib/locale/sl.mjs +2 -1
  443. package/lib/locale/sl.mjs.map +1 -1
  444. package/lib/locale/sr-Cyrl.mjs +2 -1
  445. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  446. package/lib/locale/sr-Latn.mjs +2 -1
  447. package/lib/locale/sr-Latn.mjs.map +1 -1
  448. package/lib/locale/sv.mjs +2 -1
  449. package/lib/locale/sv.mjs.map +1 -1
  450. package/lib/locale/th.mjs +2 -1
  451. package/lib/locale/th.mjs.map +1 -1
  452. package/lib/locale/tr.mjs +2 -1
  453. package/lib/locale/tr.mjs.map +1 -1
  454. package/lib/locale/uk.mjs +2 -1
  455. package/lib/locale/uk.mjs.map +1 -1
  456. package/lib/locale/vi.mjs +2 -1
  457. package/lib/locale/vi.mjs.map +1 -1
  458. package/lib/locale/zh-Hans.mjs +2 -1
  459. package/lib/locale/zh-Hans.mjs.map +1 -1
  460. package/lib/locale/zh-Hant.mjs +2 -1
  461. package/lib/locale/zh-Hant.mjs.map +1 -1
  462. package/lib/services/goto/index.mjs.map +1 -1
  463. package/lib/services/goto/util.mjs.map +1 -1
  464. package/lib/util/anchor.mjs.map +1 -1
  465. package/lib/util/animation.mjs.map +1 -1
  466. package/lib/util/box.mjs.map +1 -1
  467. package/lib/util/color/APCA.mjs.map +1 -1
  468. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  469. package/lib/util/color/transformSRGB.mjs.map +1 -1
  470. package/lib/util/colorUtils.mjs.map +1 -1
  471. package/lib/util/console.mjs.map +1 -1
  472. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  473. package/lib/util/dateTimeUtils.mjs.map +1 -1
  474. package/lib/util/defineComponent.mjs.map +1 -1
  475. package/lib/util/dom.mjs.map +1 -1
  476. package/lib/util/getCurrentInstance.mjs.map +1 -1
  477. package/lib/util/getScrollParent.mjs.map +1 -1
  478. package/lib/util/helpers.mjs +1 -1
  479. package/lib/util/helpers.mjs.map +1 -1
  480. package/lib/util/injectSelf.mjs.map +1 -1
  481. package/lib/util/isFixedPosition.mjs.map +1 -1
  482. package/lib/util/propsFactory.mjs.map +1 -1
  483. package/lib/util/useRender.mjs.map +1 -1
  484. package/package.json +25 -25
  485. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +0 -179
  486. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +0 -1
  487. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +0 -377
  488. package/lib/components/VSkeletonLoader/_variables.scss +0 -54
  489. package/lib/components/VSkeletonLoader/index.mjs +0 -4
  490. package/lib/components/VSkeletonLoader/index.mjs.map +0 -1
@@ -191,12 +191,18 @@ export const VNavigationDrawer = genericComponent()({
191
191
  bgColor: 'transparent'
192
192
  }
193
193
  });
194
+ function onMouseenter() {
195
+ isHovering.value = true;
196
+ }
197
+ function onMouseleave() {
198
+ isHovering.value = false;
199
+ }
194
200
  useRender(() => {
195
201
  const hasImage = slots.image || props.image;
196
202
  return _createVNode(_Fragment, null, [_createVNode(props.tag, _mergeProps({
197
203
  "ref": rootEl,
198
- "onMouseenter": () => isHovering.value = true,
199
- "onMouseleave": () => isHovering.value = false,
204
+ "onMouseenter": onMouseenter,
205
+ "onMouseleave": onMouseleave,
200
206
  "class": ['v-navigation-drawer', `v-navigation-drawer--${location.value}`, {
201
207
  'v-navigation-drawer--expand-on-hover': props.expandOnHover,
202
208
  'v-navigation-drawer--floating': props.floating,
@@ -1 +1 @@
1
- {"version":3,"file":"VNavigationDrawer.mjs","names":["makeBorderProps","useBorder","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","provideDefaults","useBackgroundColor","useDisplay","useProxiedModel","useRouter","useRtl","useSsrBoot","useSticky","useTouch","computed","nextTick","onBeforeMount","ref","toRef","Transition","watch","convertToUnit","genericComponent","toPhysical","useRender","locations","VNavigationDrawer","name","props","color","String","disableResizeWatcher","Boolean","disableRouteWatcher","expandOnHover","floating","modelValue","type","default","permanent","rail","railWidth","Number","scrim","image","temporary","touchless","width","location","validator","value","includes","sticky","tag","emits","val","setup","attrs","emit","slots","isRtl","themeClasses","borderClasses","backgroundColorClasses","backgroundColorStyles","elevationClasses","mobile","roundedClasses","router","isActive","v","ssrBootStyles","rootEl","isHovering","isTemporary","isSticky","currentRoute","isDragging","dragProgress","dragStyles","position","layoutSize","size","layoutItemStyles","layoutRect","layoutItemScrimStyles","id","order","parseInt","elementSize","active","disableTransitions","absolute","isStuck","stickyStyles","scrimColor","scrimStyles","opacity","transition","undefined","left","right","top","bottom","VList","bgColor","hasImage","prepend","append"],"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.tsx"],"sourcesContent":["// Styles\nimport './VNavigationDrawer.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useDisplay } from '@/composables/display'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRouter } from '@/composables/router'\nimport { useRtl } from '@/composables'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { useSticky } from './sticky'\nimport { useTouch } from './touch'\n\n// Utilities\nimport { computed, nextTick, onBeforeMount, ref, toRef, Transition, watch } from 'vue'\nimport { convertToUnit, genericComponent, toPhysical, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VNavigationDrawerImageSlot = {\n image: string\n}\n\nexport type VNavigationDrawerSlots = {\n default: []\n prepend: []\n append: []\n image: [VNavigationDrawerImageSlot]\n}\n\nconst locations = ['start', 'end', 'left', 'right', 'top', 'bottom'] as const\n\nexport const VNavigationDrawer = genericComponent<VNavigationDrawerSlots>()({\n name: 'VNavigationDrawer',\n\n props: {\n color: String,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n modelValue: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n permanent: Boolean,\n rail: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n railWidth: {\n type: [Number, String],\n default: 56,\n },\n scrim: {\n type: [String, Boolean],\n default: true,\n },\n image: String,\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n location: {\n type: String as PropType<typeof locations[number]>,\n default: 'start',\n validator: (value: any) => locations.includes(value),\n },\n sticky: Boolean,\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean) => true,\n 'update:rail': (val: boolean) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { elevationClasses } = useElevation(props)\n const { mobile } = useDisplay()\n const { roundedClasses } = useRounded(props)\n const router = useRouter()\n const isActive = useProxiedModel(props, 'modelValue', null, v => !!v)\n const { ssrBootStyles } = useSsrBoot()\n\n const rootEl = ref<HTMLElement>()\n const isHovering = ref(false)\n\n const width = computed(() => {\n return (props.rail && props.expandOnHover && isHovering.value)\n ? Number(props.width)\n : Number(props.rail ? props.railWidth : props.width)\n })\n const location = computed(() => {\n return toPhysical(props.location, isRtl.value) as 'left' | 'right' | 'bottom'\n })\n const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary))\n const isSticky = computed(() =>\n props.sticky &&\n !isTemporary.value &&\n location.value !== 'bottom'\n )\n\n if (props.expandOnHover && props.rail != null) {\n watch(isHovering, val => emit('update:rail', !val))\n }\n\n if (!props.disableResizeWatcher) {\n watch(isTemporary, val => !props.permanent && (nextTick(() => isActive.value = !val)))\n }\n\n if (!props.disableRouteWatcher && router) {\n watch(router.currentRoute, () => isTemporary.value && (isActive.value = false))\n }\n\n watch(() => props.permanent, val => {\n if (val) isActive.value = true\n })\n\n onBeforeMount(() => {\n if (props.modelValue != null || isTemporary.value) return\n\n isActive.value = props.permanent || !mobile.value\n })\n\n const { isDragging, dragProgress, dragStyles } = useTouch({\n isActive,\n isTemporary,\n width,\n touchless: toRef(props, 'touchless'),\n position: location,\n })\n\n const layoutSize = computed(() => {\n const size = isTemporary.value ? 0\n : props.rail && props.expandOnHover ? Number(props.railWidth)\n : width.value\n\n return isDragging.value ? size * dragProgress.value : size\n })\n\n const { layoutItemStyles, layoutRect, layoutItemScrimStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: location,\n layoutSize,\n elementSize: width,\n active: computed(() => isActive.value || isDragging.value),\n disableTransitions: computed(() => isDragging.value),\n absolute: computed(() =>\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n props.absolute || (isSticky.value && typeof isStuck.value !== 'string')\n ),\n })\n\n const { isStuck, stickyStyles } = useSticky({ rootEl, isSticky, layoutItemStyles })\n\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const scrimStyles = computed(() => ({\n ...isDragging.value ? {\n opacity: dragProgress.value * 0.2,\n transition: 'none',\n } : undefined,\n ...layoutRect.value ? {\n left: convertToUnit(layoutRect.value.left),\n right: convertToUnit(layoutRect.value.right),\n top: convertToUnit(layoutRect.value.top),\n bottom: convertToUnit(layoutRect.value.bottom),\n } : undefined,\n ...layoutItemScrimStyles.value,\n }))\n\n provideDefaults({\n VList: {\n bgColor: 'transparent',\n },\n })\n\n useRender(() => {\n const hasImage = (slots.image || props.image)\n\n return (\n <>\n <props.tag\n ref={ rootEl }\n onMouseenter={ () => (isHovering.value = true) }\n onMouseleave={ () => (isHovering.value = false) }\n class={[\n 'v-navigation-drawer',\n `v-navigation-drawer--${location.value}`,\n {\n 'v-navigation-drawer--expand-on-hover': props.expandOnHover,\n 'v-navigation-drawer--floating': props.floating,\n 'v-navigation-drawer--is-hovering': isHovering.value,\n 'v-navigation-drawer--rail': props.rail,\n 'v-navigation-drawer--temporary': isTemporary.value,\n 'v-navigation-drawer--active': isActive.value,\n 'v-navigation-drawer--sticky': isSticky.value,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n dragStyles.value,\n ssrBootStyles.value,\n stickyStyles.value,\n ]}\n { ...attrs }\n >\n { hasImage && (\n <div key=\"image\" class=\"v-navigation-drawer__img\">\n { slots.image\n ? slots.image?.({ image: props.image })\n : (<img src={ props.image } alt=\"\" />)\n }\n </div>\n )}\n\n { slots.prepend && (\n <div class=\"v-navigation-drawer__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n <div class=\"v-navigation-drawer__content\">\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div class=\"v-navigation-drawer__append\">\n { slots.append?.() }\n </div>\n )}\n </props.tag>\n\n <Transition name=\"fade-transition\">\n { isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && (\n <div\n class={['v-navigation-drawer__scrim', scrimColor.backgroundColorClasses.value]}\n style={[scrimStyles.value, scrimColor.backgroundColorStyles.value]}\n onClick={ () => isActive.value = false }\n />\n )}\n </Transition>\n </>\n )\n })\n\n return {\n isStuck,\n }\n },\n})\n\nexport type VNavigationDrawer = InstanceType<typeof VNavigationDrawer>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VNavigationDrawer.mjs","names":["makeBorderProps","useBorder","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","provideDefaults","useBackgroundColor","useDisplay","useProxiedModel","useRouter","useRtl","useSsrBoot","useSticky","useTouch","computed","nextTick","onBeforeMount","ref","toRef","Transition","watch","convertToUnit","genericComponent","toPhysical","useRender","locations","VNavigationDrawer","name","props","color","String","disableResizeWatcher","Boolean","disableRouteWatcher","expandOnHover","floating","modelValue","type","default","permanent","rail","railWidth","Number","scrim","image","temporary","touchless","width","location","validator","value","includes","sticky","tag","emits","val","setup","_ref","attrs","emit","slots","isRtl","themeClasses","borderClasses","backgroundColorClasses","backgroundColorStyles","elevationClasses","mobile","roundedClasses","router","isActive","v","ssrBootStyles","rootEl","isHovering","isTemporary","isSticky","currentRoute","isDragging","dragProgress","dragStyles","position","layoutSize","size","layoutItemStyles","layoutRect","layoutItemScrimStyles","id","order","parseInt","elementSize","active","disableTransitions","absolute","isStuck","stickyStyles","scrimColor","scrimStyles","opacity","transition","undefined","left","right","top","bottom","VList","bgColor","onMouseenter","onMouseleave","hasImage","_createVNode","_Fragment","_mergeProps","prepend","append","onClick"],"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.tsx"],"sourcesContent":["// Styles\nimport './VNavigationDrawer.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useDisplay } from '@/composables/display'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRouter } from '@/composables/router'\nimport { useRtl } from '@/composables'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { useSticky } from './sticky'\nimport { useTouch } from './touch'\n\n// Utilities\nimport { computed, nextTick, onBeforeMount, ref, toRef, Transition, watch } from 'vue'\nimport { convertToUnit, genericComponent, toPhysical, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VNavigationDrawerImageSlot = {\n image: string\n}\n\nexport type VNavigationDrawerSlots = {\n default: []\n prepend: []\n append: []\n image: [VNavigationDrawerImageSlot]\n}\n\nconst locations = ['start', 'end', 'left', 'right', 'top', 'bottom'] as const\n\nexport const VNavigationDrawer = genericComponent<VNavigationDrawerSlots>()({\n name: 'VNavigationDrawer',\n\n props: {\n color: String,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n modelValue: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n permanent: Boolean,\n rail: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n railWidth: {\n type: [Number, String],\n default: 56,\n },\n scrim: {\n type: [String, Boolean],\n default: true,\n },\n image: String,\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n location: {\n type: String as PropType<typeof locations[number]>,\n default: 'start',\n validator: (value: any) => locations.includes(value),\n },\n sticky: Boolean,\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean) => true,\n 'update:rail': (val: boolean) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { elevationClasses } = useElevation(props)\n const { mobile } = useDisplay()\n const { roundedClasses } = useRounded(props)\n const router = useRouter()\n const isActive = useProxiedModel(props, 'modelValue', null, v => !!v)\n const { ssrBootStyles } = useSsrBoot()\n\n const rootEl = ref<HTMLElement>()\n const isHovering = ref(false)\n\n const width = computed(() => {\n return (props.rail && props.expandOnHover && isHovering.value)\n ? Number(props.width)\n : Number(props.rail ? props.railWidth : props.width)\n })\n const location = computed(() => {\n return toPhysical(props.location, isRtl.value) as 'left' | 'right' | 'bottom'\n })\n const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary))\n const isSticky = computed(() =>\n props.sticky &&\n !isTemporary.value &&\n location.value !== 'bottom'\n )\n\n if (props.expandOnHover && props.rail != null) {\n watch(isHovering, val => emit('update:rail', !val))\n }\n\n if (!props.disableResizeWatcher) {\n watch(isTemporary, val => !props.permanent && (nextTick(() => isActive.value = !val)))\n }\n\n if (!props.disableRouteWatcher && router) {\n watch(router.currentRoute, () => isTemporary.value && (isActive.value = false))\n }\n\n watch(() => props.permanent, val => {\n if (val) isActive.value = true\n })\n\n onBeforeMount(() => {\n if (props.modelValue != null || isTemporary.value) return\n\n isActive.value = props.permanent || !mobile.value\n })\n\n const { isDragging, dragProgress, dragStyles } = useTouch({\n isActive,\n isTemporary,\n width,\n touchless: toRef(props, 'touchless'),\n position: location,\n })\n\n const layoutSize = computed(() => {\n const size = isTemporary.value ? 0\n : props.rail && props.expandOnHover ? Number(props.railWidth)\n : width.value\n\n return isDragging.value ? size * dragProgress.value : size\n })\n\n const { layoutItemStyles, layoutRect, layoutItemScrimStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: location,\n layoutSize,\n elementSize: width,\n active: computed(() => isActive.value || isDragging.value),\n disableTransitions: computed(() => isDragging.value),\n absolute: computed(() =>\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n props.absolute || (isSticky.value && typeof isStuck.value !== 'string')\n ),\n })\n\n const { isStuck, stickyStyles } = useSticky({ rootEl, isSticky, layoutItemStyles })\n\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const scrimStyles = computed(() => ({\n ...isDragging.value ? {\n opacity: dragProgress.value * 0.2,\n transition: 'none',\n } : undefined,\n ...layoutRect.value ? {\n left: convertToUnit(layoutRect.value.left),\n right: convertToUnit(layoutRect.value.right),\n top: convertToUnit(layoutRect.value.top),\n bottom: convertToUnit(layoutRect.value.bottom),\n } : undefined,\n ...layoutItemScrimStyles.value,\n }))\n\n provideDefaults({\n VList: {\n bgColor: 'transparent',\n },\n })\n\n function onMouseenter () {\n isHovering.value = true\n }\n function onMouseleave () {\n isHovering.value = false\n }\n\n useRender(() => {\n const hasImage = (slots.image || props.image)\n\n return (\n <>\n <props.tag\n ref={ rootEl }\n onMouseenter={ onMouseenter }\n onMouseleave={ onMouseleave }\n class={[\n 'v-navigation-drawer',\n `v-navigation-drawer--${location.value}`,\n {\n 'v-navigation-drawer--expand-on-hover': props.expandOnHover,\n 'v-navigation-drawer--floating': props.floating,\n 'v-navigation-drawer--is-hovering': isHovering.value,\n 'v-navigation-drawer--rail': props.rail,\n 'v-navigation-drawer--temporary': isTemporary.value,\n 'v-navigation-drawer--active': isActive.value,\n 'v-navigation-drawer--sticky': isSticky.value,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n dragStyles.value,\n ssrBootStyles.value,\n stickyStyles.value,\n ]}\n { ...attrs }\n >\n { hasImage && (\n <div key=\"image\" class=\"v-navigation-drawer__img\">\n { slots.image\n ? slots.image?.({ image: props.image })\n : (<img src={ props.image } alt=\"\" />)\n }\n </div>\n )}\n\n { slots.prepend && (\n <div class=\"v-navigation-drawer__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n <div class=\"v-navigation-drawer__content\">\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div class=\"v-navigation-drawer__append\">\n { slots.append?.() }\n </div>\n )}\n </props.tag>\n\n <Transition name=\"fade-transition\">\n { isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && (\n <div\n class={['v-navigation-drawer__scrim', scrimColor.backgroundColorClasses.value]}\n style={[scrimStyles.value, scrimColor.backgroundColorStyles.value]}\n onClick={ () => isActive.value = false }\n />\n )}\n </Transition>\n </>\n )\n })\n\n return {\n isStuck,\n }\n },\n})\n\nexport type VNavigationDrawer = InstanceType<typeof VNavigationDrawer>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sticky.mjs","names":["computed","onBeforeUnmount","onMounted","ref","watch","convertToUnit","useSticky","rootEl","isSticky","layoutItemStyles","isStuck","stuckPosition","stickyStyles","side","value","top","bottom","height","undefined","val","window","addEventListener","onScroll","passive","removeEventListener","immediate","document","lastScrollTop","direction","scrollY","rect","getBoundingClientRect","layoutTop","parseFloat","Math","max","innerHeight"],"sources":["../../../src/components/VNavigationDrawer/sticky.ts"],"sourcesContent":["import type { CSSProperties, Ref } from 'vue'\nimport { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { convertToUnit } from '@/util'\n\ninterface StickyProps {\n rootEl: Ref<HTMLElement | undefined>\n isSticky: Ref<boolean>\n layoutItemStyles: Ref<CSSProperties>\n}\n\nexport function useSticky ({ rootEl, isSticky, layoutItemStyles }: StickyProps) {\n const isStuck = ref<boolean | 'top' | 'bottom'>(false)\n const stuckPosition = ref(0)\n\n const stickyStyles = computed(() => {\n const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value\n return [\n isSticky.value ? { top: 'auto', bottom: 'auto', height: undefined } : undefined,\n isStuck.value\n ? { [side]: convertToUnit(stuckPosition.value) }\n : { top: layoutItemStyles.value.top },\n ]\n })\n\n onMounted(() => {\n watch(isSticky, val => {\n if (val) {\n window.addEventListener('scroll', onScroll, { passive: true })\n } else {\n window.removeEventListener('scroll', onScroll)\n }\n }, { immediate: true })\n })\n\n onBeforeUnmount(() => {\n document.removeEventListener('scroll', onScroll)\n })\n\n let lastScrollTop = 0\n function onScroll () {\n const direction = lastScrollTop > window.scrollY ? 'up' : 'down'\n const rect = rootEl.value!.getBoundingClientRect()\n const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0)\n const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop)\n const bottom =\n rect.height +\n Math.max(stuckPosition.value, layoutTop) -\n window.scrollY -\n window.innerHeight\n\n if (rect.height < window.innerHeight - layoutTop) {\n isStuck.value = 'top'\n stuckPosition.value = layoutTop\n } else if (\n (direction === 'up' && isStuck.value === 'bottom') ||\n (direction === 'down' && isStuck.value === 'top')\n ) {\n stuckPosition.value = window.scrollY + rect.top\n isStuck.value = true\n } else if (direction === 'down' && bottom <= 0) {\n stuckPosition.value = 0\n isStuck.value = 'bottom'\n } else if (direction === 'up' && top <= 0) {\n stuckPosition.value = rect.top + top\n isStuck.value = 'top'\n }\n\n lastScrollTop = window.scrollY\n }\n\n return { isStuck, stickyStyles }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"sticky.mjs","names":["computed","onBeforeUnmount","onMounted","ref","watch","convertToUnit","useSticky","_ref","rootEl","isSticky","layoutItemStyles","isStuck","stuckPosition","stickyStyles","side","value","top","bottom","height","undefined","val","window","addEventListener","onScroll","passive","removeEventListener","immediate","document","lastScrollTop","direction","scrollY","rect","getBoundingClientRect","layoutTop","parseFloat","Math","max","innerHeight"],"sources":["../../../src/components/VNavigationDrawer/sticky.ts"],"sourcesContent":["import type { CSSProperties, Ref } from 'vue'\nimport { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { convertToUnit } from '@/util'\n\ninterface StickyProps {\n rootEl: Ref<HTMLElement | undefined>\n isSticky: Ref<boolean>\n layoutItemStyles: Ref<CSSProperties>\n}\n\nexport function useSticky ({ rootEl, isSticky, layoutItemStyles }: StickyProps) {\n const isStuck = ref<boolean | 'top' | 'bottom'>(false)\n const stuckPosition = ref(0)\n\n const stickyStyles = computed(() => {\n const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value\n return [\n isSticky.value ? { top: 'auto', bottom: 'auto', height: undefined } : undefined,\n isStuck.value\n ? { [side]: convertToUnit(stuckPosition.value) }\n : { top: layoutItemStyles.value.top },\n ]\n })\n\n onMounted(() => {\n watch(isSticky, val => {\n if (val) {\n window.addEventListener('scroll', onScroll, { passive: true })\n } else {\n window.removeEventListener('scroll', onScroll)\n }\n }, { immediate: true })\n })\n\n onBeforeUnmount(() => {\n document.removeEventListener('scroll', onScroll)\n })\n\n let lastScrollTop = 0\n function onScroll () {\n const direction = lastScrollTop > window.scrollY ? 'up' : 'down'\n const rect = rootEl.value!.getBoundingClientRect()\n const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0)\n const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop)\n const bottom =\n rect.height +\n Math.max(stuckPosition.value, layoutTop) -\n window.scrollY -\n window.innerHeight\n\n if (rect.height < window.innerHeight - layoutTop) {\n isStuck.value = 'top'\n stuckPosition.value = layoutTop\n } else if (\n (direction === 'up' && isStuck.value === 'bottom') ||\n (direction === 'down' && isStuck.value === 'top')\n ) {\n stuckPosition.value = window.scrollY + rect.top\n isStuck.value = true\n } else if (direction === 'down' && bottom <= 0) {\n stuckPosition.value = 0\n isStuck.value = 'bottom'\n } else if (direction === 'up' && top <= 0) {\n stuckPosition.value = rect.top + top\n isStuck.value = 'top'\n }\n\n lastScrollTop = window.scrollY\n }\n\n return { isStuck, stickyStyles }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"touch.mjs","names":["useVelocity","computed","onBeforeUnmount","onMounted","ref","useTouch","isActive","isTemporary","width","touchless","position","window","addEventListener","onTouchstart","passive","onTouchmove","onTouchend","removeEventListener","isHorizontal","includes","value","addMovement","endTouch","getVelocity","maybeDragging","isDragging","dragProgress","offset","start","getOffset","pos","active","document","documentElement","clientWidth","clientHeight","oops","getProgress","limit","progress","Math","max","min","e","touchX","changedTouches","clientX","touchY","clientY","touchZone","inTouchZone","inElement","cancelable","dx","abs","dy","thresholdMet","preventDefault","velocity","identifier","vx","x","vy","y","direction","left","right","top","bottom","dragStyles","transform","transition","undefined","Error"],"sources":["../../../src/components/VNavigationDrawer/touch.ts"],"sourcesContent":["// Composables\nimport { useVelocity } from '@/composables/touch'\n\n// Utilities\nimport { computed, onBeforeUnmount, onMounted, ref } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport function useTouch ({ isActive, isTemporary, width, touchless, position }: {\n isActive: Ref<boolean>\n isTemporary: Ref<boolean>\n width: Ref<number>\n touchless: Ref<boolean>\n position: Ref<'left' | 'right' | 'top' | 'bottom'>\n}) {\n onMounted(() => {\n window.addEventListener('touchstart', onTouchstart, { passive: true })\n window.addEventListener('touchmove', onTouchmove, { passive: false })\n window.addEventListener('touchend', onTouchend, { passive: true })\n })\n\n onBeforeUnmount(() => {\n window.removeEventListener('touchstart', onTouchstart)\n window.removeEventListener('touchmove', onTouchmove)\n window.removeEventListener('touchend', onTouchend)\n })\n\n const isHorizontal = computed(() => ['left', 'right'].includes(position.value))\n\n const { addMovement, endTouch, getVelocity } = useVelocity()\n let maybeDragging = false\n const isDragging = ref(false)\n const dragProgress = ref(0)\n const offset = ref(0)\n let start: [number, number] | undefined\n\n function getOffset (pos: number, active: boolean): number {\n return (\n position.value === 'left' ? pos\n : position.value === 'right' ? document.documentElement.clientWidth - pos\n : position.value === 'top' ? pos\n : position.value === 'bottom' ? document.documentElement.clientHeight - pos\n : oops()\n ) - (active ? width.value : 0)\n }\n\n function getProgress (pos: number, limit = true): number {\n const progress = (\n position.value === 'left' ? (pos - offset.value) / width.value\n : position.value === 'right' ? (document.documentElement.clientWidth - pos - offset.value) / width.value\n : position.value === 'top' ? (pos - offset.value) / width.value\n : position.value === 'bottom' ? (document.documentElement.clientHeight - pos - offset.value) / width.value\n : oops()\n )\n return limit ? Math.max(0, Math.min(1, progress)) : progress\n }\n\n function onTouchstart (e: TouchEvent) {\n if (touchless.value) return\n\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n const touchZone = 25\n const inTouchZone: boolean =\n position.value === 'left' ? touchX < touchZone\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone\n : position.value === 'top' ? touchY < touchZone\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone\n : oops()\n\n const inElement: boolean = isActive.value && (\n position.value === 'left' ? touchX < width.value\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - width.value\n : position.value === 'top' ? touchY < width.value\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - width.value\n : oops()\n )\n\n if (\n inTouchZone ||\n inElement ||\n (isActive.value && isTemporary.value)\n ) {\n maybeDragging = true\n start = [touchX, touchY]\n\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, isActive.value)\n dragProgress.value = getProgress(isHorizontal.value ? touchX : touchY)\n\n endTouch(e)\n addMovement(e)\n }\n }\n\n function onTouchmove (e: TouchEvent) {\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n if (maybeDragging) {\n if (!e.cancelable) {\n maybeDragging = false\n return\n }\n\n const dx = Math.abs(touchX - start![0])\n const dy = Math.abs(touchY - start![1])\n\n const thresholdMet = isHorizontal.value\n ? dx > dy && dx > 3\n : dy > dx && dy > 3\n\n if (thresholdMet) {\n isDragging.value = true\n maybeDragging = false\n } else if ((isHorizontal.value ? dy : dx) > 3) {\n maybeDragging = false\n }\n }\n\n if (!isDragging.value) return\n\n e.preventDefault()\n addMovement(e)\n\n const progress = getProgress(isHorizontal.value ? touchX : touchY, false)\n dragProgress.value = Math.max(0, Math.min(1, progress))\n\n if (progress > 1) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, true)\n } else if (progress < 0) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, false)\n }\n }\n\n function onTouchend (e: TouchEvent) {\n maybeDragging = false\n\n if (!isDragging.value) return\n\n addMovement(e)\n\n isDragging.value = false\n\n const velocity = getVelocity(e.changedTouches[0].identifier)\n const vx = Math.abs(velocity.x)\n const vy = Math.abs(velocity.y)\n const thresholdMet = isHorizontal.value\n ? vx > vy && vx > 400\n : vy > vx && vy > 3\n\n if (thresholdMet) {\n isActive.value = velocity.direction === ({\n left: 'right',\n right: 'left',\n top: 'down',\n bottom: 'up',\n }[position.value] || oops())\n } else {\n isActive.value = dragProgress.value > 0.5\n }\n }\n\n const dragStyles = computed(() => {\n return isDragging.value ? {\n transform:\n position.value === 'left' ? `translateX(calc(-100% + ${dragProgress.value * width.value}px))`\n : position.value === 'right' ? `translateX(calc(100% - ${dragProgress.value * width.value}px))`\n : position.value === 'top' ? `translateY(calc(-100% + ${dragProgress.value * width.value}px))`\n : position.value === 'bottom' ? `translateY(calc(100% - ${dragProgress.value * width.value}px))`\n : oops(),\n transition: 'none',\n } : undefined\n })\n\n return {\n isDragging,\n dragProgress,\n dragStyles,\n }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"touch.mjs","names":["useVelocity","computed","onBeforeUnmount","onMounted","ref","useTouch","_ref","isActive","isTemporary","width","touchless","position","window","addEventListener","onTouchstart","passive","onTouchmove","onTouchend","removeEventListener","isHorizontal","includes","value","addMovement","endTouch","getVelocity","maybeDragging","isDragging","dragProgress","offset","start","getOffset","pos","active","document","documentElement","clientWidth","clientHeight","oops","getProgress","limit","arguments","length","undefined","progress","Math","max","min","e","touchX","changedTouches","clientX","touchY","clientY","touchZone","inTouchZone","inElement","cancelable","dx","abs","dy","thresholdMet","preventDefault","velocity","identifier","vx","x","vy","y","direction","left","right","top","bottom","dragStyles","transform","transition","Error"],"sources":["../../../src/components/VNavigationDrawer/touch.ts"],"sourcesContent":["// Composables\nimport { useVelocity } from '@/composables/touch'\n\n// Utilities\nimport { computed, onBeforeUnmount, onMounted, ref } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport function useTouch ({ isActive, isTemporary, width, touchless, position }: {\n isActive: Ref<boolean>\n isTemporary: Ref<boolean>\n width: Ref<number>\n touchless: Ref<boolean>\n position: Ref<'left' | 'right' | 'top' | 'bottom'>\n}) {\n onMounted(() => {\n window.addEventListener('touchstart', onTouchstart, { passive: true })\n window.addEventListener('touchmove', onTouchmove, { passive: false })\n window.addEventListener('touchend', onTouchend, { passive: true })\n })\n\n onBeforeUnmount(() => {\n window.removeEventListener('touchstart', onTouchstart)\n window.removeEventListener('touchmove', onTouchmove)\n window.removeEventListener('touchend', onTouchend)\n })\n\n const isHorizontal = computed(() => ['left', 'right'].includes(position.value))\n\n const { addMovement, endTouch, getVelocity } = useVelocity()\n let maybeDragging = false\n const isDragging = ref(false)\n const dragProgress = ref(0)\n const offset = ref(0)\n let start: [number, number] | undefined\n\n function getOffset (pos: number, active: boolean): number {\n return (\n position.value === 'left' ? pos\n : position.value === 'right' ? document.documentElement.clientWidth - pos\n : position.value === 'top' ? pos\n : position.value === 'bottom' ? document.documentElement.clientHeight - pos\n : oops()\n ) - (active ? width.value : 0)\n }\n\n function getProgress (pos: number, limit = true): number {\n const progress = (\n position.value === 'left' ? (pos - offset.value) / width.value\n : position.value === 'right' ? (document.documentElement.clientWidth - pos - offset.value) / width.value\n : position.value === 'top' ? (pos - offset.value) / width.value\n : position.value === 'bottom' ? (document.documentElement.clientHeight - pos - offset.value) / width.value\n : oops()\n )\n return limit ? Math.max(0, Math.min(1, progress)) : progress\n }\n\n function onTouchstart (e: TouchEvent) {\n if (touchless.value) return\n\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n const touchZone = 25\n const inTouchZone: boolean =\n position.value === 'left' ? touchX < touchZone\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone\n : position.value === 'top' ? touchY < touchZone\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone\n : oops()\n\n const inElement: boolean = isActive.value && (\n position.value === 'left' ? touchX < width.value\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - width.value\n : position.value === 'top' ? touchY < width.value\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - width.value\n : oops()\n )\n\n if (\n inTouchZone ||\n inElement ||\n (isActive.value && isTemporary.value)\n ) {\n maybeDragging = true\n start = [touchX, touchY]\n\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, isActive.value)\n dragProgress.value = getProgress(isHorizontal.value ? touchX : touchY)\n\n endTouch(e)\n addMovement(e)\n }\n }\n\n function onTouchmove (e: TouchEvent) {\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n if (maybeDragging) {\n if (!e.cancelable) {\n maybeDragging = false\n return\n }\n\n const dx = Math.abs(touchX - start![0])\n const dy = Math.abs(touchY - start![1])\n\n const thresholdMet = isHorizontal.value\n ? dx > dy && dx > 3\n : dy > dx && dy > 3\n\n if (thresholdMet) {\n isDragging.value = true\n maybeDragging = false\n } else if ((isHorizontal.value ? dy : dx) > 3) {\n maybeDragging = false\n }\n }\n\n if (!isDragging.value) return\n\n e.preventDefault()\n addMovement(e)\n\n const progress = getProgress(isHorizontal.value ? touchX : touchY, false)\n dragProgress.value = Math.max(0, Math.min(1, progress))\n\n if (progress > 1) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, true)\n } else if (progress < 0) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, false)\n }\n }\n\n function onTouchend (e: TouchEvent) {\n maybeDragging = false\n\n if (!isDragging.value) return\n\n addMovement(e)\n\n isDragging.value = false\n\n const velocity = getVelocity(e.changedTouches[0].identifier)\n const vx = Math.abs(velocity.x)\n const vy = Math.abs(velocity.y)\n const thresholdMet = isHorizontal.value\n ? vx > vy && vx > 400\n : vy > vx && vy > 3\n\n if (thresholdMet) {\n isActive.value = velocity.direction === ({\n left: 'right',\n right: 'left',\n top: 'down',\n bottom: 'up',\n }[position.value] || oops())\n } else {\n isActive.value = dragProgress.value > 0.5\n }\n }\n\n const dragStyles = computed(() => {\n return isDragging.value ? {\n transform:\n position.value === 'left' ? `translateX(calc(-100% + ${dragProgress.value * width.value}px))`\n : position.value === 'right' ? `translateX(calc(100% - ${dragProgress.value * width.value}px))`\n : position.value === 'top' ? `translateY(calc(-100% + ${dragProgress.value * width.value}px))`\n : position.value === 'bottom' ? `translateY(calc(100% - ${dragProgress.value * width.value}px))`\n : oops(),\n transition: 'none',\n } : undefined\n })\n\n return {\n isDragging,\n dragProgress,\n dragStyles,\n }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VNoSsr.mjs","names":["useHydration","defineComponent","VNoSsr","name","setup","_","slots","show","value","default"],"sources":["../../../src/components/VNoSsr/VNoSsr.tsx"],"sourcesContent":["// Composables\nimport { useHydration } from '@/composables/hydration'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport type { GenericSlot } from '@/util'\n\nexport const VNoSsr = defineComponent<GenericSlot>({\n name: 'VNoSsr',\n\n setup (_, { slots }) {\n const show = useHydration()\n\n return () => show.value && slots.default?.()\n },\n})\n\nexport type VNoSsr = InstanceType<typeof VNoSsr>\n"],"mappings":"AAAA;AAAA,SACSA,YAAY,2CAErB;AAAA,SACSC,eAAe;AAGxB,OAAO,MAAMC,MAAM,GAAGD,eAAe,CAAc;EACjDE,IAAI,EAAE,QAAQ;EAEdC,KAAK,CAAEC,CAAC,QAAa;IAAA,IAAX;MAAEC;IAAM,CAAC;IACjB,MAAMC,IAAI,GAAGP,YAAY,EAAE;IAE3B,OAAO,MAAMO,IAAI,CAACC,KAAK,IAAIF,KAAK,CAACG,OAAO,IAAI;EAC9C;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VNoSsr.mjs","names":["useHydration","defineComponent","VNoSsr","name","setup","_","_ref","slots","show","value","default"],"sources":["../../../src/components/VNoSsr/VNoSsr.tsx"],"sourcesContent":["// Composables\nimport { useHydration } from '@/composables/hydration'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport type { GenericSlot } from '@/util'\n\nexport const VNoSsr = defineComponent<GenericSlot>({\n name: 'VNoSsr',\n\n setup (_, { slots }) {\n const show = useHydration()\n\n return () => show.value && slots.default?.()\n },\n})\n\nexport type VNoSsr = InstanceType<typeof VNoSsr>\n"],"mappings":"AAAA;AAAA,SACSA,YAAY,2CAErB;AAAA,SACSC,eAAe;AAGxB,OAAO,MAAMC,MAAM,GAAGD,eAAe,CAAc;EACjDE,IAAI,EAAE,QAAQ;EAEdC,KAAKA,CAAEC,CAAC,EAAAC,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACjB,MAAME,IAAI,GAAGR,YAAY,EAAE;IAE3B,OAAO,MAAMQ,IAAI,CAACC,KAAK,IAAIF,KAAK,CAACG,OAAO,IAAI;EAC9C;AACF,CAAC,CAAC"}
@@ -12,19 +12,7 @@ declare const VNoSsr: vue.DefineComponent<{
12
12
  } | undefined;
13
13
  } & {
14
14
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
15
- }, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<{
16
- $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
17
- default?: (() => vue.VNodeChild) | undefined;
18
- };
19
- $slots?: {
20
- default?: (() => vue.VNodeChild) | undefined;
21
- } | undefined;
22
- 'v-slots'?: {
23
- default?: false | (() => vue.VNodeChild) | undefined;
24
- } | undefined;
25
- } & {
26
- "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
27
- }>, {}>;
15
+ }, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string>;
28
16
  type VNoSsr = InstanceType<typeof VNoSsr>;
29
17
 
30
18
  export { VNoSsr };
@@ -1 +1 @@
1
- {"version":3,"file":"VOtpInput.mjs","names":["VInput","VTextField","ripple","convertToUnit","keyCodes","breaking","mixins","baseMixins","extend","name","directives","inheritAttrs","props","length","type","Number","String","default","plain","Boolean","data","initialValue","isBooted","otp","computed","outlined","classes","options","call","watch","isFocused","value","val","lazyValue","split","created","$attrs","hasOwnProperty","internalValue","mounted","requestAnimationFrame","methods","focus","e","otpIdx","onFocus","genInputSlot","$createElement","setBackgroundColor","backgroundColor","staticClass","style","height","on","click","onClick","mousedown","onMouseDown","mouseup","onMouseUp","genDefaultSlot","genControl","genFieldset","genTextFieldSlot","genContent","Array","from","_","i","setTextColor","validationState","class","attrs","genLegend","span","domProps","innerHTML","width","genInput","listeners","Object","assign","listeners$","change","min","attrs$","autocomplete","disabled","isDisabled","readonly","isReadonly","id","computedId","blur","onBlur","input","onInput","keydown","onKeyDown","keyup","onKeyUp","ref","refInFor","$nextTick","$emit","$refs","undefined","preventDefault","stopPropagation","elements","document","activeElement","select","index","maxCursor","target","inputDataArray","newOtp","appIdx","toString","splice","join","onCompleted","clearFocus","changeFocus","keyCode","enter","hasMouseDown","updateValue","hasColor","event","eventKey","key","includes","rsp","render","h","themeClasses"],"sources":["../../../src/components/VOtpInput/VOtpInput.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport '../VTextField/VTextField.sass'\nimport './VOtpInput.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n input: HTMLInputElement[]\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-otp-input',\n\n directives: {\n ripple,\n },\n\n inheritAttrs: false,\n\n props: {\n length: {\n type: [Number, String],\n default: 6,\n },\n type: {\n type: String,\n default: 'text',\n },\n plain: Boolean,\n },\n\n data: () => ({\n initialValue: null,\n isBooted: false,\n otp: [] as string[],\n }),\n\n computed: {\n outlined (): Boolean {\n return !this.plain\n },\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n ...VTextField.options.computed.classes.call(this),\n 'v-otp-input--plain': this.plain,\n }\n },\n },\n\n watch: {\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n this.otp = val?.split('') || []\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n this.otp = this.internalValue?.split('') || []\n },\n\n mounted () {\n requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n /** @public */\n focus (e: Event, otpIdx: number) {\n this.onFocus(e, otpIdx || 0)\n },\n genInputSlot (otpIdx: number) {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: () => this.onClick(otpIdx),\n mousedown: (e: Event) => this.onMouseDown(e, otpIdx),\n mouseup: (e: Event) => this.onMouseUp(e, otpIdx),\n },\n }), [this.genDefaultSlot(otpIdx)])\n },\n genControl (otpIdx: number) {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n }, [\n this.genInputSlot(otpIdx),\n ])\n },\n genDefaultSlot (otpIdx: number) {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(otpIdx),\n ]\n },\n genContent () {\n return Array.from({ length: +this.length }, (_, i) => {\n return this.$createElement('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), [this.genControl(i)])\n })\n },\n genFieldset () {\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLegend () {\n const span = this.$createElement('span', {\n domProps: { innerHTML: '&#8203;' },\n })\n\n return this.$createElement('legend', {\n style: {\n width: '0px',\n },\n }, [span])\n },\n genInput (otpIdx: number) {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: this.otp[otpIdx],\n min: this.type === 'number' ? 0 : null,\n },\n attrs: {\n ...this.attrs$,\n autocomplete: 'one-time-code',\n disabled: this.isDisabled,\n readonly: this.isReadonly,\n type: this.type,\n id: `${this.computedId}--${otpIdx}`,\n class: `otp-field-box--${otpIdx}`,\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: (e: Event) => this.onInput(e, otpIdx),\n focus: (e: Event) => this.onFocus(e, otpIdx),\n keydown: this.onKeyDown,\n keyup: (e: KeyboardEvent) => this.onKeyUp(e, otpIdx),\n }),\n ref: 'input',\n refInFor: true,\n })\n },\n genTextFieldSlot (otpIdx: number): VNode {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot',\n }, [\n this.genInput(otpIdx),\n ])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick (otpIdx: number) {\n if (this.isFocused || this.isDisabled || !this.$refs.input[otpIdx]) return\n\n this.onFocus(undefined, otpIdx)\n },\n onFocus (e?: Event, otpIdx?: number) {\n e?.preventDefault()\n e?.stopPropagation()\n const elements = this.$refs.input as HTMLInputElement[]\n const ref = this.$refs.input && elements[otpIdx || 0]\n if (!ref) return\n\n if (document.activeElement !== ref) {\n ref.focus()\n return ref.select()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n ref.select()\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event, index: number) {\n const maxCursor = +this.length - 1\n\n const target = e.target as HTMLInputElement\n const value = target.value\n const inputDataArray = value?.split('') || []\n\n const newOtp: string[] = [...this.otp]\n for (let i = 0; i < inputDataArray.length; i++) {\n const appIdx = index + i\n if (appIdx > maxCursor) break\n newOtp[appIdx] = inputDataArray[i].toString()\n }\n if (!inputDataArray.length) {\n newOtp.splice(index, 1)\n }\n\n this.otp = newOtp\n this.internalValue = this.otp.join('')\n\n if (index + inputDataArray.length >= +this.length) {\n this.onCompleted()\n this.clearFocus(index)\n } else if (inputDataArray.length) {\n this.changeFocus(index + inputDataArray.length)\n }\n },\n clearFocus (index: number) {\n const input = this.$refs.input[index] as HTMLInputElement\n input.blur()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.enter) {\n this.$emit('change', this.internalValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event, otpIdx: number) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input[otpIdx]) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.options.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event, otpIdx: number) {\n if (this.hasMouseDown) this.focus(e, otpIdx)\n\n VInput.options.methods.onMouseUp.call(this, e)\n },\n changeFocus (index: number) {\n this.onFocus(undefined, index || 0)\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n onKeyUp (event: KeyboardEvent, index: number) {\n event.preventDefault()\n const eventKey = event.key\n if (['Tab', 'Shift', 'Meta', 'Control', 'Alt'].includes(eventKey)) {\n return\n }\n if (['Delete'].includes(eventKey)) {\n return\n }\n if (eventKey === 'ArrowLeft' || (eventKey === 'Backspace' && !this.otp[index])) {\n return index > 0 && this.changeFocus(index - 1)\n }\n if (eventKey === 'ArrowRight') {\n return index + 1 < +this.length && this.changeFocus(index + 1)\n }\n },\n onCompleted () {\n const rsp = this.otp.join('')\n if (rsp.length === +this.length) {\n this.$emit('finish', rsp)\n }\n },\n },\n render (h): VNode {\n return h('div', {\n staticClass: 'v-otp-input',\n class: this.themeClasses,\n }, this.genContent())\n },\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"VOtpInput.mjs","names":["VInput","VTextField","ripple","convertToUnit","keyCodes","breaking","mixins","baseMixins","extend","name","directives","inheritAttrs","props","length","type","Number","String","default","plain","Boolean","data","initialValue","isBooted","otp","computed","outlined","classes","options","call","watch","isFocused","value","val","lazyValue","split","created","$attrs","hasOwnProperty","internalValue","mounted","requestAnimationFrame","methods","focus","e","otpIdx","onFocus","genInputSlot","$createElement","setBackgroundColor","backgroundColor","staticClass","style","height","on","click","onClick","mousedown","onMouseDown","mouseup","onMouseUp","genDefaultSlot","genControl","genFieldset","genTextFieldSlot","genContent","Array","from","_","i","setTextColor","validationState","class","attrs","genLegend","span","domProps","innerHTML","width","genInput","listeners","Object","assign","listeners$","change","min","attrs$","autocomplete","disabled","isDisabled","readonly","isReadonly","id","computedId","blur","onBlur","input","onInput","keydown","onKeyDown","keyup","onKeyUp","ref","refInFor","$nextTick","$emit","$refs","undefined","preventDefault","stopPropagation","elements","document","activeElement","select","index","maxCursor","target","inputDataArray","newOtp","appIdx","toString","splice","join","onCompleted","clearFocus","changeFocus","keyCode","enter","hasMouseDown","updateValue","hasColor","event","eventKey","key","includes","rsp","render","h","themeClasses"],"sources":["../../../src/components/VOtpInput/VOtpInput.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport '../VTextField/VTextField.sass'\nimport './VOtpInput.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n input: HTMLInputElement[]\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-otp-input',\n\n directives: {\n ripple,\n },\n\n inheritAttrs: false,\n\n props: {\n length: {\n type: [Number, String],\n default: 6,\n },\n type: {\n type: String,\n default: 'text',\n },\n plain: Boolean,\n },\n\n data: () => ({\n initialValue: null,\n isBooted: false,\n otp: [] as string[],\n }),\n\n computed: {\n outlined (): Boolean {\n return !this.plain\n },\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n ...VTextField.options.computed.classes.call(this),\n 'v-otp-input--plain': this.plain,\n }\n },\n },\n\n watch: {\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n this.otp = val?.split('') || []\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n this.otp = this.internalValue?.split('') || []\n },\n\n mounted () {\n requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n /** @public */\n focus (e: Event, otpIdx: number) {\n this.onFocus(e, otpIdx || 0)\n },\n genInputSlot (otpIdx: number) {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: () => this.onClick(otpIdx),\n mousedown: (e: Event) => this.onMouseDown(e, otpIdx),\n mouseup: (e: Event) => this.onMouseUp(e, otpIdx),\n },\n }), [this.genDefaultSlot(otpIdx)])\n },\n genControl (otpIdx: number) {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n }, [\n this.genInputSlot(otpIdx),\n ])\n },\n genDefaultSlot (otpIdx: number) {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(otpIdx),\n ]\n },\n genContent () {\n return Array.from({ length: +this.length }, (_, i) => {\n return this.$createElement('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), [this.genControl(i)])\n })\n },\n genFieldset () {\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLegend () {\n const span = this.$createElement('span', {\n domProps: { innerHTML: '&#8203;' },\n })\n\n return this.$createElement('legend', {\n style: {\n width: '0px',\n },\n }, [span])\n },\n genInput (otpIdx: number) {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: this.otp[otpIdx],\n min: this.type === 'number' ? 0 : null,\n },\n attrs: {\n ...this.attrs$,\n autocomplete: 'one-time-code',\n disabled: this.isDisabled,\n readonly: this.isReadonly,\n type: this.type,\n id: `${this.computedId}--${otpIdx}`,\n class: `otp-field-box--${otpIdx}`,\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: (e: Event) => this.onInput(e, otpIdx),\n focus: (e: Event) => this.onFocus(e, otpIdx),\n keydown: this.onKeyDown,\n keyup: (e: KeyboardEvent) => this.onKeyUp(e, otpIdx),\n }),\n ref: 'input',\n refInFor: true,\n })\n },\n genTextFieldSlot (otpIdx: number): VNode {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot',\n }, [\n this.genInput(otpIdx),\n ])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick (otpIdx: number) {\n if (this.isFocused || this.isDisabled || !this.$refs.input[otpIdx]) return\n\n this.onFocus(undefined, otpIdx)\n },\n onFocus (e?: Event, otpIdx?: number) {\n e?.preventDefault()\n e?.stopPropagation()\n const elements = this.$refs.input as HTMLInputElement[]\n const ref = this.$refs.input && elements[otpIdx || 0]\n if (!ref) return\n\n if (document.activeElement !== ref) {\n ref.focus()\n return ref.select()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n ref.select()\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event, index: number) {\n const maxCursor = +this.length - 1\n\n const target = e.target as HTMLInputElement\n const value = target.value\n const inputDataArray = value?.split('') || []\n\n const newOtp: string[] = [...this.otp]\n for (let i = 0; i < inputDataArray.length; i++) {\n const appIdx = index + i\n if (appIdx > maxCursor) break\n newOtp[appIdx] = inputDataArray[i].toString()\n }\n if (!inputDataArray.length) {\n newOtp.splice(index, 1)\n }\n\n this.otp = newOtp\n this.internalValue = this.otp.join('')\n\n if (index + inputDataArray.length >= +this.length) {\n this.onCompleted()\n this.clearFocus(index)\n } else if (inputDataArray.length) {\n this.changeFocus(index + inputDataArray.length)\n }\n },\n clearFocus (index: number) {\n const input = this.$refs.input[index] as HTMLInputElement\n input.blur()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.enter) {\n this.$emit('change', this.internalValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event, otpIdx: number) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input[otpIdx]) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.options.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event, otpIdx: number) {\n if (this.hasMouseDown) this.focus(e, otpIdx)\n\n VInput.options.methods.onMouseUp.call(this, e)\n },\n changeFocus (index: number) {\n this.onFocus(undefined, index || 0)\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n onKeyUp (event: KeyboardEvent, index: number) {\n event.preventDefault()\n const eventKey = event.key\n if (['Tab', 'Shift', 'Meta', 'Control', 'Alt'].includes(eventKey)) {\n return\n }\n if (['Delete'].includes(eventKey)) {\n return\n }\n if (eventKey === 'ArrowLeft' || (eventKey === 'Backspace' && !this.otp[index])) {\n return index > 0 && this.changeFocus(index - 1)\n }\n if (eventKey === 'ArrowRight') {\n return index + 1 < +this.length && this.changeFocus(index + 1)\n }\n },\n onCompleted () {\n const rsp = this.otp.join('')\n if (rsp.length === +this.length) {\n this.$emit('finish', rsp)\n }\n },\n },\n render (h): VNode {\n return h('div', {\n staticClass: 'v-otp-input',\n class: this.themeClasses,\n }, this.genContent())\n },\n})\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VOverflowBtn.mjs","names":["VSelect","VAutocomplete","VTextField","VBtn","consoleWarn","extend","name","props","editable","Boolean","segmented","computed","classes","options","call","isAnyValueAllowed","isSingle","computedItems","allItems","filteredItems","labelValue","isFocused","persistentPlaceholder","isLabelActive","methods","genSelections","genCommaSelection","item","index","last","genSegmentedBtn","genInput","input","data","domProps","value","internalSearch","attrs","readonly","genLabel","label","style","itemValue","getValue","itemObj","find","i","text","callback","$createElement","on","click","e","stopPropagation","updateValue","val","initialValue","lazyValue","$emit"],"sources":["../../../src/components/VOverflowBtn/VOverflowBtn.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport './VOverflowBtn.sass'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete'\nimport VTextField from '../VTextField/VTextField'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n/* @vue/component */\nexport default VAutocomplete.extend({\n name: 'v-overflow-btn',\n\n props: {\n editable: Boolean,\n segmented: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...VAutocomplete.options.computed.classes.call(this),\n 'v-overflow-btn': true,\n 'v-overflow-btn--segmented': this.segmented,\n 'v-overflow-btn--editable': this.editable,\n }\n },\n isAnyValueAllowed (): boolean {\n return this.editable ||\n VAutocomplete.options.computed.isAnyValueAllowed.call(this)\n },\n isSingle (): true {\n return true\n },\n computedItems (): object[] {\n return this.segmented ? this.allItems : this.filteredItems\n },\n labelValue (): boolean {\n return (this.isFocused && !this.persistentPlaceholder) || this.isLabelActive\n },\n },\n\n methods: {\n genSelections () {\n return this.editable\n ? VAutocomplete.options.methods.genSelections.call(this)\n : VSelect.options.methods.genSelections.call(this) // Override v-autocomplete's override\n },\n genCommaSelection (item: any, index: number, last: boolean) {\n return this.segmented\n ? this.genSegmentedBtn(item)\n : VSelect.options.methods.genCommaSelection.call(this, item, index, last)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.domProps!.value = this.editable ? this.internalSearch : ''\n input.data.attrs!.readonly = !this.isAnyValueAllowed\n\n return input\n },\n genLabel () {\n if (this.editable && this.isFocused) return null\n\n const label = VTextField.options.methods.genLabel.call(this)\n\n if (!label) return label\n\n label.data = label.data || {}\n\n // Reset previously set styles from parent\n label.data.style = {}\n\n return label\n },\n genSegmentedBtn (item: any) {\n const itemValue = this.getValue(item)\n const itemObj = this.computedItems.find(i => this.getValue(i) === itemValue) || item\n\n if (!itemObj.text || !itemObj.callback) {\n consoleWarn('When using \"segmented\" prop without a selection slot, items must contain both a text and callback property', this)\n return null\n }\n\n return this.$createElement(VBtn, {\n props: { text: true },\n on: {\n click (e: Event) {\n e.stopPropagation()\n itemObj.callback(e)\n },\n },\n }, [itemObj.text])\n },\n updateValue (val: boolean) {\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n },\n})\n"],"mappings":"AAAA;AACA;;AAEA;AACA;;AAEA;AAAA,OACOA,OAAO;AAAA,OACPC,aAAa;AAAA,OACbC,UAAU,sCAEjB;AAAA,OACOC,IAAI,2BAEX;AAAA,SACSC,WAAW;AAEpB;AACA,eAAeH,aAAa,CAACI,MAAM,CAAC;EAClCC,IAAI,EAAE,gBAAgB;EAEtBC,KAAK,EAAE;IACLC,QAAQ,EAAEC,OAAO;IACjBC,SAAS,EAAED;EACb,CAAC;EAEDE,QAAQ,EAAE;IACRC,OAAO,GAAY;MACjB,OAAO;QACL,GAAGX,aAAa,CAACY,OAAO,CAACF,QAAQ,CAACC,OAAO,CAACE,IAAI,CAAC,IAAI,CAAC;QACpD,gBAAgB,EAAE,IAAI;QACtB,2BAA2B,EAAE,IAAI,CAACJ,SAAS;QAC3C,0BAA0B,EAAE,IAAI,CAACF;MACnC,CAAC;IACH,CAAC;IACDO,iBAAiB,GAAa;MAC5B,OAAO,IAAI,CAACP,QAAQ,IAClBP,aAAa,CAACY,OAAO,CAACF,QAAQ,CAACI,iBAAiB,CAACD,IAAI,CAAC,IAAI,CAAC;IAC/D,CAAC;IACDE,QAAQ,GAAU;MAChB,OAAO,IAAI;IACb,CAAC;IACDC,aAAa,GAAc;MACzB,OAAO,IAAI,CAACP,SAAS,GAAG,IAAI,CAACQ,QAAQ,GAAG,IAAI,CAACC,aAAa;IAC5D,CAAC;IACDC,UAAU,GAAa;MACrB,OAAQ,IAAI,CAACC,SAAS,IAAI,CAAC,IAAI,CAACC,qBAAqB,IAAK,IAAI,CAACC,aAAa;IAC9E;EACF,CAAC;EAEDC,OAAO,EAAE;IACPC,aAAa,GAAI;MACf,OAAO,IAAI,CAACjB,QAAQ,GAChBP,aAAa,CAACY,OAAO,CAACW,OAAO,CAACC,aAAa,CAACX,IAAI,CAAC,IAAI,CAAC,GACtDd,OAAO,CAACa,OAAO,CAACW,OAAO,CAACC,aAAa,CAACX,IAAI,CAAC,IAAI,CAAC,EAAC;IACvD,CAAC;;IACDY,iBAAiB,CAAEC,IAAS,EAAEC,KAAa,EAAEC,IAAa,EAAE;MAC1D,OAAO,IAAI,CAACnB,SAAS,GACjB,IAAI,CAACoB,eAAe,CAACH,IAAI,CAAC,GAC1B3B,OAAO,CAACa,OAAO,CAACW,OAAO,CAACE,iBAAiB,CAACZ,IAAI,CAAC,IAAI,EAAEa,IAAI,EAAEC,KAAK,EAAEC,IAAI,CAAC;IAC7E,CAAC;IACDE,QAAQ,GAAI;MACV,MAAMC,KAAK,GAAG9B,UAAU,CAACW,OAAO,CAACW,OAAO,CAACO,QAAQ,CAACjB,IAAI,CAAC,IAAI,CAAC;MAE5DkB,KAAK,CAACC,IAAI,GAAGD,KAAK,CAACC,IAAI,IAAI,CAAC,CAAC;MAC7BD,KAAK,CAACC,IAAI,CAACC,QAAQ,CAAEC,KAAK,GAAG,IAAI,CAAC3B,QAAQ,GAAG,IAAI,CAAC4B,cAAc,GAAG,EAAE;MACrEJ,KAAK,CAACC,IAAI,CAACI,KAAK,CAAEC,QAAQ,GAAG,CAAC,IAAI,CAACvB,iBAAiB;MAEpD,OAAOiB,KAAK;IACd,CAAC;IACDO,QAAQ,GAAI;MACV,IAAI,IAAI,CAAC/B,QAAQ,IAAI,IAAI,CAACa,SAAS,EAAE,OAAO,IAAI;MAEhD,MAAMmB,KAAK,GAAGtC,UAAU,CAACW,OAAO,CAACW,OAAO,CAACe,QAAQ,CAACzB,IAAI,CAAC,IAAI,CAAC;MAE5D,IAAI,CAAC0B,KAAK,EAAE,OAAOA,KAAK;MAExBA,KAAK,CAACP,IAAI,GAAGO,KAAK,CAACP,IAAI,IAAI,CAAC,CAAC;;MAE7B;MACAO,KAAK,CAACP,IAAI,CAACQ,KAAK,GAAG,CAAC,CAAC;MAErB,OAAOD,KAAK;IACd,CAAC;IACDV,eAAe,CAAEH,IAAS,EAAE;MAC1B,MAAMe,SAAS,GAAG,IAAI,CAACC,QAAQ,CAAChB,IAAI,CAAC;MACrC,MAAMiB,OAAO,GAAG,IAAI,CAAC3B,aAAa,CAAC4B,IAAI,CAACC,CAAC,IAAI,IAAI,CAACH,QAAQ,CAACG,CAAC,CAAC,KAAKJ,SAAS,CAAC,IAAIf,IAAI;MAEpF,IAAI,CAACiB,OAAO,CAACG,IAAI,IAAI,CAACH,OAAO,CAACI,QAAQ,EAAE;QACtC5C,WAAW,CAAC,4GAA4G,EAAE,IAAI,CAAC;QAC/H,OAAO,IAAI;MACb;MAEA,OAAO,IAAI,CAAC6C,cAAc,CAAC9C,IAAI,EAAE;QAC/BI,KAAK,EAAE;UAAEwC,IAAI,EAAE;QAAK,CAAC;QACrBG,EAAE,EAAE;UACFC,KAAK,CAAEC,CAAQ,EAAE;YACfA,CAAC,CAACC,eAAe,EAAE;YACnBT,OAAO,CAACI,QAAQ,CAACI,CAAC,CAAC;UACrB;QACF;MACF,CAAC,EAAE,CAACR,OAAO,CAACG,IAAI,CAAC,CAAC;IACpB,CAAC;IACDO,WAAW,CAAEC,GAAY,EAAE;MACzB,IAAIA,GAAG,EAAE;QACP,IAAI,CAACC,YAAY,GAAG,IAAI,CAACC,SAAS;MACpC,CAAC,MAAM,IAAI,IAAI,CAACD,YAAY,KAAK,IAAI,CAACC,SAAS,EAAE;QAC/C,IAAI,CAACC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAACD,SAAS,CAAC;MACtC;IACF;EACF;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VOverflowBtn.mjs","names":["VSelect","VAutocomplete","VTextField","VBtn","consoleWarn","extend","name","props","editable","Boolean","segmented","computed","classes","options","call","isAnyValueAllowed","isSingle","computedItems","allItems","filteredItems","labelValue","isFocused","persistentPlaceholder","isLabelActive","methods","genSelections","genCommaSelection","item","index","last","genSegmentedBtn","genInput","input","data","domProps","value","internalSearch","attrs","readonly","genLabel","label","style","itemValue","getValue","itemObj","find","i","text","callback","$createElement","on","click","e","stopPropagation","updateValue","val","initialValue","lazyValue","$emit"],"sources":["../../../src/components/VOverflowBtn/VOverflowBtn.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport './VOverflowBtn.sass'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete'\nimport VTextField from '../VTextField/VTextField'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n/* @vue/component */\nexport default VAutocomplete.extend({\n name: 'v-overflow-btn',\n\n props: {\n editable: Boolean,\n segmented: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...VAutocomplete.options.computed.classes.call(this),\n 'v-overflow-btn': true,\n 'v-overflow-btn--segmented': this.segmented,\n 'v-overflow-btn--editable': this.editable,\n }\n },\n isAnyValueAllowed (): boolean {\n return this.editable ||\n VAutocomplete.options.computed.isAnyValueAllowed.call(this)\n },\n isSingle (): true {\n return true\n },\n computedItems (): object[] {\n return this.segmented ? this.allItems : this.filteredItems\n },\n labelValue (): boolean {\n return (this.isFocused && !this.persistentPlaceholder) || this.isLabelActive\n },\n },\n\n methods: {\n genSelections () {\n return this.editable\n ? VAutocomplete.options.methods.genSelections.call(this)\n : VSelect.options.methods.genSelections.call(this) // Override v-autocomplete's override\n },\n genCommaSelection (item: any, index: number, last: boolean) {\n return this.segmented\n ? this.genSegmentedBtn(item)\n : VSelect.options.methods.genCommaSelection.call(this, item, index, last)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.domProps!.value = this.editable ? this.internalSearch : ''\n input.data.attrs!.readonly = !this.isAnyValueAllowed\n\n return input\n },\n genLabel () {\n if (this.editable && this.isFocused) return null\n\n const label = VTextField.options.methods.genLabel.call(this)\n\n if (!label) return label\n\n label.data = label.data || {}\n\n // Reset previously set styles from parent\n label.data.style = {}\n\n return label\n },\n genSegmentedBtn (item: any) {\n const itemValue = this.getValue(item)\n const itemObj = this.computedItems.find(i => this.getValue(i) === itemValue) || item\n\n if (!itemObj.text || !itemObj.callback) {\n consoleWarn('When using \"segmented\" prop without a selection slot, items must contain both a text and callback property', this)\n return null\n }\n\n return this.$createElement(VBtn, {\n props: { text: true },\n on: {\n click (e: Event) {\n e.stopPropagation()\n itemObj.callback(e)\n },\n },\n }, [itemObj.text])\n },\n updateValue (val: boolean) {\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n },\n})\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VOverlay.mjs","names":["makeActivatorProps","useActivator","makeDimensionProps","useDimension","makeLazyProps","useLazy","makeLocationStrategyProps","useLocationStrategies","makeScrollStrategyProps","useScrollStrategies","makeThemeProps","provideTheme","makeTransitionProps","MaybeTransition","useBackButton","useRouter","useBackgroundColor","useProxiedModel","useHydration","useRtl","useScopeId","useStack","useTeleport","useToggleScope","ClickOutside","animate","convertToUnit","genericComponent","getScrollParent","IN_BROWSER","propsFactory","standardEasing","useRender","computed","mergeProps","ref","Teleport","toHandlers","toRef","Transition","watch","Scrim","props","modelValue","color","rest","backgroundColorClasses","value","backgroundColorStyles","makeVOverlayProps","absolute","Boolean","attach","String","Object","closeOnBack","type","default","contained","contentClass","contentProps","disabled","noClickAnimation","persistent","scrim","zIndex","Number","VOverlay","name","directives","inheritAttrs","_disableGlobalStack","emits","e","afterLeave","setup","slots","attrs","emit","model","isActive","get","set","v","teleportTarget","themeClasses","rtlClasses","isRtl","hasContent","onAfterLeave","scrimColor","globalTop","localTop","stackStyles","activatorEl","activatorRef","activatorEvents","contentEvents","scrimEvents","isTop","dimensionStyles","isMounted","scopeId","root","contentEl","contentStyles","updateLocation","onClickOutside","animateClick","closeConditional","val","window","addEventListener","onKeydown","removeEventListener","immediate","key","router","next","top","scrollParent","document","scrollingElement","scrollTop","transformOrigin","transform","duration","easing","activator","activatorProps","transition","handler","include"],"sources":["../../../src/components/VOverlay/VOverlay.tsx"],"sourcesContent":["// Styles\nimport './VOverlay.sass'\n\n// Composables\nimport { makeActivatorProps, useActivator } from './useActivator'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { makeLocationStrategyProps, useLocationStrategies } from './locationStrategies'\nimport { makeScrollStrategyProps, useScrollStrategies } from './scrollStrategies'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useBackButton, useRouter } from '@/composables/router'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useHydration } from '@/composables/hydration'\nimport { useRtl } from '@/composables/locale'\nimport { useScopeId } from '@/composables/scopeId'\nimport { useStack } from '@/composables/stack'\nimport { useTeleport } from '@/composables/teleport'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Directives\nimport { ClickOutside } from '@/directives/click-outside'\n\n// Utilities\nimport {\n animate,\n convertToUnit,\n genericComponent,\n getScrollParent,\n IN_BROWSER,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\nimport {\n computed,\n mergeProps,\n ref,\n Teleport,\n toHandlers,\n toRef,\n Transition,\n watch,\n} from 'vue'\n\n// Types\nimport type { BackgroundColorData } from '@/composables/color'\nimport type { MakeSlots } from '@/util'\nimport type { PropType, Ref } from 'vue'\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 = MakeSlots<{\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 noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [String, Boolean],\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 2000,\n },\n\n ...makeActivatorProps(),\n ...makeDimensionProps(),\n ...makeLazyProps(),\n ...makeLocationStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps(),\n}, 'v-overlay')\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 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 } = 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 { activatorEl, activatorRef, activatorEvents, contentEvents, scrimEvents } = 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 contentEl = ref<HTMLElement>()\n const { contentStyles, updateLocation } = useLocationStrategies(props, {\n isRtl,\n contentEl,\n activatorEl,\n isActive,\n })\n useScrollStrategies(props, {\n root,\n contentEl,\n activatorEl,\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 () {\n return isActive.value && globalTop.value\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 function onKeydown (e: KeyboardEvent) {\n if (e.key === 'Escape' && globalTop.value) {\n if (!props.persistent) {\n isActive.value = false\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 useRender(() => (\n <>\n { slots.activator?.({\n isActive: isActive.value,\n props: mergeProps({\n ref: activatorRef,\n }, toHandlers(activatorEvents.value), props.activatorProps),\n })}\n\n { isMounted.value && (\n <Teleport\n disabled={ !teleportTarget.value }\n to={ teleportTarget.value }\n >\n { hasContent.value && (\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 ]}\n style={[stackStyles.value, { top: convertToUnit(top.value) }]}\n ref={ root }\n { ...scopeId }\n { ...attrs }\n >\n <Scrim\n color={ scrimColor }\n modelValue={ isActive.value && !!props.scrim }\n { ...toHandlers(scrimEvents.value) }\n />\n <MaybeTransition\n appear\n persisted\n transition={ props.transition }\n target={ activatorEl.value }\n onAfterLeave={ () => { onAfterLeave(); emit('afterLeave') } }\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 { ...toHandlers(contentEvents.value) }\n { ...props.contentProps }\n >\n { slots.default?.({ isActive }) }\n </div>\n </MaybeTransition>\n </div>\n )}\n </Teleport>\n )}\n </>\n ))\n\n return {\n activatorEl,\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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"}
1
+ {"version":3,"file":"VOverlay.mjs","names":["makeActivatorProps","useActivator","makeDimensionProps","useDimension","makeLazyProps","useLazy","makeLocationStrategyProps","useLocationStrategies","makeScrollStrategyProps","useScrollStrategies","makeThemeProps","provideTheme","makeTransitionProps","MaybeTransition","useBackButton","useRouter","useBackgroundColor","useProxiedModel","useHydration","useRtl","useScopeId","useStack","useTeleport","useToggleScope","ClickOutside","animate","convertToUnit","genericComponent","getScrollParent","IN_BROWSER","propsFactory","standardEasing","useRender","computed","mergeProps","ref","Teleport","toHandlers","toRef","Transition","watch","Scrim","props","modelValue","color","rest","_createVNode","default","_mergeProps","backgroundColorClasses","value","backgroundColorStyles","makeVOverlayProps","absolute","Boolean","attach","String","Object","closeOnBack","type","contained","contentClass","contentProps","disabled","noClickAnimation","persistent","scrim","zIndex","Number","VOverlay","name","directives","inheritAttrs","_disableGlobalStack","emits","e","afterLeave","setup","_ref","slots","attrs","emit","model","isActive","get","set","v","teleportTarget","themeClasses","rtlClasses","isRtl","hasContent","onAfterLeave","scrimColor","globalTop","localTop","stackStyles","activatorEl","activatorRef","activatorEvents","contentEvents","scrimEvents","isTop","dimensionStyles","isMounted","scopeId","root","contentEl","contentStyles","updateLocation","onClickOutside","animateClick","closeConditional","val","window","addEventListener","onKeydown","removeEventListener","immediate","key","router","next","top","scrollParent","document","scrollingElement","scrollTop","transformOrigin","transform","duration","easing","_Fragment","activator","activatorProps","transition","_withDirectives","_vShow","_resolveDirective","handler","include"],"sources":["../../../src/components/VOverlay/VOverlay.tsx"],"sourcesContent":["// Styles\nimport './VOverlay.sass'\n\n// Composables\nimport { makeActivatorProps, useActivator } from './useActivator'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { makeLocationStrategyProps, useLocationStrategies } from './locationStrategies'\nimport { makeScrollStrategyProps, useScrollStrategies } from './scrollStrategies'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useBackButton, useRouter } from '@/composables/router'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useHydration } from '@/composables/hydration'\nimport { useRtl } from '@/composables/locale'\nimport { useScopeId } from '@/composables/scopeId'\nimport { useStack } from '@/composables/stack'\nimport { useTeleport } from '@/composables/teleport'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Directives\nimport { ClickOutside } from '@/directives/click-outside'\n\n// Utilities\nimport {\n animate,\n convertToUnit,\n genericComponent,\n getScrollParent,\n IN_BROWSER,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\nimport {\n computed,\n mergeProps,\n ref,\n Teleport,\n toHandlers,\n toRef,\n Transition,\n watch,\n} from 'vue'\n\n// Types\nimport type { BackgroundColorData } from '@/composables/color'\nimport type { MakeSlots } from '@/util'\nimport type { PropType, Ref } from 'vue'\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 = MakeSlots<{\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 noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [String, Boolean],\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 2000,\n },\n\n ...makeActivatorProps(),\n ...makeDimensionProps(),\n ...makeLazyProps(),\n ...makeLocationStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps(),\n}, 'v-overlay')\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 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 } = 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 { activatorEl, activatorRef, activatorEvents, contentEvents, scrimEvents } = 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 contentEl = ref<HTMLElement>()\n const { contentStyles, updateLocation } = useLocationStrategies(props, {\n isRtl,\n contentEl,\n activatorEl,\n isActive,\n })\n useScrollStrategies(props, {\n root,\n contentEl,\n activatorEl,\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 () {\n return isActive.value && globalTop.value\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 function onKeydown (e: KeyboardEvent) {\n if (e.key === 'Escape' && globalTop.value) {\n if (!props.persistent) {\n isActive.value = false\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 useRender(() => (\n <>\n { slots.activator?.({\n isActive: isActive.value,\n props: mergeProps({\n ref: activatorRef,\n }, toHandlers(activatorEvents.value), props.activatorProps),\n })}\n\n { isMounted.value && (\n <Teleport\n disabled={ !teleportTarget.value }\n to={ teleportTarget.value }\n >\n { hasContent.value && (\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 ]}\n style={[stackStyles.value, { top: convertToUnit(top.value) }]}\n ref={ root }\n { ...scopeId }\n { ...attrs }\n >\n <Scrim\n color={ scrimColor }\n modelValue={ isActive.value && !!props.scrim }\n { ...toHandlers(scrimEvents.value) }\n />\n <MaybeTransition\n appear\n persisted\n transition={ props.transition }\n target={ activatorEl.value }\n onAfterLeave={ () => { onAfterLeave(); emit('afterLeave') } }\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 { ...toHandlers(contentEvents.value) }\n { ...props.contentProps }\n >\n { slots.default?.({ isActive }) }\n </div>\n </MaybeTransition>\n </div>\n )}\n </Teleport>\n )}\n </>\n ))\n\n return {\n activatorEl,\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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"}