vuetify 3.1.12 → 3.1.13

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 (455) hide show
  1. package/dist/_component-variables-labs.sass +2 -1
  2. package/dist/json/attributes.json +4130 -3910
  3. package/dist/json/importMap-labs.json +8 -4
  4. package/dist/json/importMap.json +150 -150
  5. package/dist/json/tags.json +603 -543
  6. package/dist/json/web-types.json +14479 -13894
  7. package/dist/vuetify-labs.css +450 -226
  8. package/dist/vuetify-labs.d.ts +1808 -927
  9. package/dist/vuetify-labs.esm.js +653 -484
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +653 -486
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +164 -160
  14. package/dist/vuetify.d.ts +1345 -707
  15. package/dist/vuetify.esm.js +511 -476
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +511 -478
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +164 -158
  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 +2 -3
  29. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  30. package/lib/components/VAutocomplete/index.d.ts +39 -39
  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/VChip/VChip.mjs.map +1 -1
  74. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  75. package/lib/components/VColorPicker/VColorPicker.mjs +58 -61
  76. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  77. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  78. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  79. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  80. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  81. package/lib/components/VColorPicker/index.d.ts +113 -50
  82. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  83. package/lib/components/VCombobox/VCombobox.mjs +2 -3
  84. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  85. package/lib/components/VCombobox/index.d.ts +39 -39
  86. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  87. package/lib/components/VCounter/index.d.ts +123 -24
  88. package/lib/components/VData/VData.mjs.map +1 -1
  89. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  90. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  91. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  92. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  93. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  94. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  95. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  96. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  97. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  98. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  99. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  100. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  101. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  102. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  103. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  104. package/lib/components/VDialog/index.d.ts +43 -43
  105. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  106. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  107. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  108. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  109. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  110. package/lib/components/VField/VField.mjs.map +1 -1
  111. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  112. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  113. package/lib/components/VFileInput/index.d.ts +9 -9
  114. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  115. package/lib/components/VForm/VForm.mjs.map +1 -1
  116. package/lib/components/VGrid/VCol.mjs.map +1 -1
  117. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  118. package/lib/components/VGrid/VRow.mjs.map +1 -1
  119. package/lib/components/VHover/VHover.mjs.map +1 -1
  120. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  121. package/lib/components/VImg/VImg.mjs.map +1 -1
  122. package/lib/components/VImg/index.d.ts +9 -9
  123. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  124. package/lib/components/VInput/VInput.mjs.map +1 -1
  125. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  126. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  127. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  128. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  129. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  130. package/lib/components/VLayout/index.d.ts +2 -2
  131. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  132. package/lib/components/VLazy/index.d.ts +13 -13
  133. package/lib/components/VList/VList.mjs.map +1 -1
  134. package/lib/components/VList/VListChildren.mjs.map +1 -1
  135. package/lib/components/VList/VListGroup.mjs +24 -13
  136. package/lib/components/VList/VListGroup.mjs.map +1 -1
  137. package/lib/components/VList/VListItem.mjs.map +1 -1
  138. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  139. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  140. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  141. package/lib/components/VList/list.mjs.map +1 -1
  142. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  143. package/lib/components/VMain/VMain.mjs.map +1 -1
  144. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  145. package/lib/components/VMenu/index.d.ts +43 -43
  146. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  147. package/lib/components/VMessages/index.d.ts +123 -24
  148. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +8 -2
  149. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  150. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  151. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  152. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  153. package/lib/components/VNoSsr/index.d.ts +1 -13
  154. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  155. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  156. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  157. package/lib/components/VOverlay/index.d.ts +15 -15
  158. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  159. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  160. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  161. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  162. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  163. package/lib/components/VPagination/VPagination.mjs +2 -2
  164. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  165. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  166. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  167. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  168. package/lib/components/VProgressLinear/VProgressLinear.css +1 -1
  169. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  170. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  171. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  172. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  173. package/lib/components/VRating/VRating.mjs.map +1 -1
  174. package/lib/components/VRating/index.d.ts +2 -2
  175. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  176. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  177. package/lib/components/VSelect/index.d.ts +39 -39
  178. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  179. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  180. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  181. package/lib/components/VSlideGroup/VSlideGroup.mjs +29 -28
  182. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  183. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  184. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  185. package/lib/components/VSlideGroup/index.d.ts +17 -17
  186. package/lib/components/VSlider/VSlider.mjs +1 -1
  187. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  188. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  189. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  190. package/lib/components/VSlider/slider.mjs +1 -1
  191. package/lib/components/VSlider/slider.mjs.map +1 -1
  192. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  193. package/lib/components/VSnackbar/index.d.ts +43 -43
  194. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  195. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  196. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  197. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  198. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  199. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  200. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  201. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  202. package/lib/components/VSwitch/VSwitch.css +4 -0
  203. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  204. package/lib/components/VSwitch/VSwitch.sass +4 -0
  205. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  206. package/lib/components/VTable/VTable.css +1 -1
  207. package/lib/components/VTable/VTable.mjs.map +1 -1
  208. package/lib/components/VTable/VTable.sass +1 -1
  209. package/lib/components/VTabs/VTab.mjs.map +1 -1
  210. package/lib/components/VTabs/VTabs.mjs +25 -30
  211. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  212. package/lib/components/VTabs/index.d.ts +165 -28
  213. package/lib/components/VTextField/VTextField.mjs +1 -4
  214. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  215. package/lib/components/VTextarea/VTextarea.mjs +1 -1
  216. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  217. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  218. package/lib/components/VTimePicker/SelectingTimes.mjs +3 -3
  219. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  220. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  221. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  222. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  223. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  224. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  225. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  226. package/lib/components/VTimeline/index.d.ts +8 -8
  227. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  228. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  229. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  230. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  231. package/lib/components/VTooltip/index.d.ts +43 -43
  232. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  233. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  234. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  235. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  236. package/lib/components/VWindow/VWindow.mjs +38 -37
  237. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  238. package/lib/components/VWindow/VWindowItem.mjs +2 -1
  239. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  240. package/lib/components/index.d.ts +1229 -591
  241. package/lib/components/transitions/createTransition.mjs +59 -50
  242. package/lib/components/transitions/createTransition.mjs.map +1 -1
  243. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  244. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  245. package/lib/components/transitions/index.d.ts +150 -15
  246. package/lib/composables/border.mjs.map +1 -1
  247. package/lib/composables/color.mjs.map +1 -1
  248. package/lib/composables/defaults.mjs +1 -1
  249. package/lib/composables/defaults.mjs.map +1 -1
  250. package/lib/composables/delay.mjs.map +1 -1
  251. package/lib/composables/density.mjs.map +1 -1
  252. package/lib/composables/dimensions.mjs.map +1 -1
  253. package/lib/composables/display.mjs.map +1 -1
  254. package/lib/composables/elevation.mjs.map +1 -1
  255. package/lib/composables/filter.mjs.map +1 -1
  256. package/lib/composables/focus.mjs.map +1 -1
  257. package/lib/composables/form.mjs.map +1 -1
  258. package/lib/composables/forwardRefs.mjs +17 -0
  259. package/lib/composables/forwardRefs.mjs.map +1 -1
  260. package/lib/composables/group.mjs.map +1 -1
  261. package/lib/composables/hydration.mjs.map +1 -1
  262. package/lib/composables/icons.mjs.map +1 -1
  263. package/lib/composables/intersectionObserver.mjs.map +1 -1
  264. package/lib/composables/items.mjs.map +1 -1
  265. package/lib/composables/layout.mjs.map +1 -1
  266. package/lib/composables/lazy.mjs.map +1 -1
  267. package/lib/composables/loader.mjs.map +1 -1
  268. package/lib/composables/locale.mjs.map +1 -1
  269. package/lib/composables/location.mjs.map +1 -1
  270. package/lib/composables/mutationObserver.mjs.map +1 -1
  271. package/lib/composables/nested/nested.mjs.map +1 -1
  272. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  273. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  274. package/lib/composables/position.mjs.map +1 -1
  275. package/lib/composables/proxiedModel.mjs.map +1 -1
  276. package/lib/composables/refs.mjs.map +1 -1
  277. package/lib/composables/resizeObserver.mjs.map +1 -1
  278. package/lib/composables/rounded.mjs.map +1 -1
  279. package/lib/composables/router.mjs.map +1 -1
  280. package/lib/composables/scopeId.mjs.map +1 -1
  281. package/lib/composables/scroll.mjs.map +1 -1
  282. package/lib/composables/selectLink.mjs.map +1 -1
  283. package/lib/composables/size.mjs.map +1 -1
  284. package/lib/composables/ssrBoot.mjs.map +1 -1
  285. package/lib/composables/stack.mjs.map +1 -1
  286. package/lib/composables/teleport.mjs.map +1 -1
  287. package/lib/composables/theme.mjs.map +1 -1
  288. package/lib/composables/toggleScope.mjs.map +1 -1
  289. package/lib/composables/touch.mjs.map +1 -1
  290. package/lib/composables/transition.mjs.map +1 -1
  291. package/lib/composables/validation.mjs +1 -1
  292. package/lib/composables/validation.mjs.map +1 -1
  293. package/lib/composables/variant.mjs.map +1 -1
  294. package/lib/directives/click-outside/index.mjs.map +1 -1
  295. package/lib/directives/color/index.mjs.map +1 -1
  296. package/lib/directives/intersect/index.mjs.map +1 -1
  297. package/lib/directives/mutate/index.mjs.map +1 -1
  298. package/lib/directives/resize/index.mjs.map +1 -1
  299. package/lib/directives/ripple/index.mjs.map +1 -1
  300. package/lib/directives/scroll/index.mjs.map +1 -1
  301. package/lib/directives/touch/index.mjs.map +1 -1
  302. package/lib/entry-bundler.mjs +1 -1
  303. package/lib/entry-bundler.mjs.map +1 -1
  304. package/lib/framework.mjs +1 -1
  305. package/lib/framework.mjs.map +1 -1
  306. package/lib/index.d.ts +38 -38
  307. package/lib/labs/VDataTable/VDataTable.mjs +3 -1
  308. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  309. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
  310. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  311. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  312. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  313. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  314. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  315. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  316. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  317. package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
  318. package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
  319. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  320. package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
  321. package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
  322. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  323. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  324. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  325. package/lib/labs/VDataTable/composables/virtual.mjs.map +1 -1
  326. package/lib/labs/VDataTable/index.d.ts +271 -244
  327. package/lib/labs/VSkeletonLoader/VSkeletonLoader.css +221 -0
  328. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +141 -0
  329. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -0
  330. package/lib/labs/VSkeletonLoader/VSkeletonLoader.sass +225 -0
  331. package/lib/labs/VSkeletonLoader/_variables.scss +44 -0
  332. package/lib/labs/VSkeletonLoader/index.d.ts +222 -0
  333. package/lib/labs/VSkeletonLoader/index.mjs +2 -0
  334. package/lib/labs/VSkeletonLoader/index.mjs.map +1 -0
  335. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  336. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  337. package/lib/labs/components.d.ts +486 -245
  338. package/lib/labs/components.mjs +1 -0
  339. package/lib/labs/components.mjs.map +1 -1
  340. package/lib/labs/entry-bundler.mjs.map +1 -1
  341. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  342. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  343. package/lib/locale/af.mjs +2 -1
  344. package/lib/locale/af.mjs.map +1 -1
  345. package/lib/locale/ar.mjs +2 -1
  346. package/lib/locale/ar.mjs.map +1 -1
  347. package/lib/locale/az.mjs +2 -1
  348. package/lib/locale/az.mjs.map +1 -1
  349. package/lib/locale/bg.mjs +2 -1
  350. package/lib/locale/bg.mjs.map +1 -1
  351. package/lib/locale/ca.mjs +2 -1
  352. package/lib/locale/ca.mjs.map +1 -1
  353. package/lib/locale/ckb.mjs +2 -1
  354. package/lib/locale/ckb.mjs.map +1 -1
  355. package/lib/locale/cs.mjs +2 -1
  356. package/lib/locale/cs.mjs.map +1 -1
  357. package/lib/locale/da.mjs +2 -1
  358. package/lib/locale/da.mjs.map +1 -1
  359. package/lib/locale/de.mjs +2 -1
  360. package/lib/locale/de.mjs.map +1 -1
  361. package/lib/locale/el.mjs +2 -1
  362. package/lib/locale/el.mjs.map +1 -1
  363. package/lib/locale/en.mjs +2 -1
  364. package/lib/locale/en.mjs.map +1 -1
  365. package/lib/locale/es.mjs +2 -1
  366. package/lib/locale/es.mjs.map +1 -1
  367. package/lib/locale/et.mjs +2 -1
  368. package/lib/locale/et.mjs.map +1 -1
  369. package/lib/locale/fa.mjs +2 -1
  370. package/lib/locale/fa.mjs.map +1 -1
  371. package/lib/locale/fi.mjs +2 -1
  372. package/lib/locale/fi.mjs.map +1 -1
  373. package/lib/locale/fr.mjs +2 -1
  374. package/lib/locale/fr.mjs.map +1 -1
  375. package/lib/locale/he.mjs +2 -1
  376. package/lib/locale/he.mjs.map +1 -1
  377. package/lib/locale/hr.mjs +2 -1
  378. package/lib/locale/hr.mjs.map +1 -1
  379. package/lib/locale/hu.mjs +2 -1
  380. package/lib/locale/hu.mjs.map +1 -1
  381. package/lib/locale/id.mjs +2 -1
  382. package/lib/locale/id.mjs.map +1 -1
  383. package/lib/locale/index.d.ts +42 -0
  384. package/lib/locale/it.mjs +2 -1
  385. package/lib/locale/it.mjs.map +1 -1
  386. package/lib/locale/ja.mjs +2 -1
  387. package/lib/locale/ja.mjs.map +1 -1
  388. package/lib/locale/ko.mjs +2 -1
  389. package/lib/locale/ko.mjs.map +1 -1
  390. package/lib/locale/lt.mjs +2 -1
  391. package/lib/locale/lt.mjs.map +1 -1
  392. package/lib/locale/lv.mjs +2 -1
  393. package/lib/locale/lv.mjs.map +1 -1
  394. package/lib/locale/nl.mjs +2 -1
  395. package/lib/locale/nl.mjs.map +1 -1
  396. package/lib/locale/no.mjs +2 -1
  397. package/lib/locale/no.mjs.map +1 -1
  398. package/lib/locale/pl.mjs +2 -1
  399. package/lib/locale/pl.mjs.map +1 -1
  400. package/lib/locale/pt.mjs +2 -1
  401. package/lib/locale/pt.mjs.map +1 -1
  402. package/lib/locale/ro.mjs +2 -1
  403. package/lib/locale/ro.mjs.map +1 -1
  404. package/lib/locale/ru.mjs +2 -1
  405. package/lib/locale/ru.mjs.map +1 -1
  406. package/lib/locale/sk.mjs +2 -1
  407. package/lib/locale/sk.mjs.map +1 -1
  408. package/lib/locale/sl.mjs +2 -1
  409. package/lib/locale/sl.mjs.map +1 -1
  410. package/lib/locale/sr-Cyrl.mjs +2 -1
  411. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  412. package/lib/locale/sr-Latn.mjs +2 -1
  413. package/lib/locale/sr-Latn.mjs.map +1 -1
  414. package/lib/locale/sv.mjs +2 -1
  415. package/lib/locale/sv.mjs.map +1 -1
  416. package/lib/locale/th.mjs +2 -1
  417. package/lib/locale/th.mjs.map +1 -1
  418. package/lib/locale/tr.mjs +2 -1
  419. package/lib/locale/tr.mjs.map +1 -1
  420. package/lib/locale/uk.mjs +2 -1
  421. package/lib/locale/uk.mjs.map +1 -1
  422. package/lib/locale/vi.mjs +2 -1
  423. package/lib/locale/vi.mjs.map +1 -1
  424. package/lib/locale/zh-Hans.mjs +2 -1
  425. package/lib/locale/zh-Hans.mjs.map +1 -1
  426. package/lib/locale/zh-Hant.mjs +2 -1
  427. package/lib/locale/zh-Hant.mjs.map +1 -1
  428. package/lib/services/goto/index.mjs.map +1 -1
  429. package/lib/services/goto/util.mjs.map +1 -1
  430. package/lib/util/anchor.mjs.map +1 -1
  431. package/lib/util/animation.mjs.map +1 -1
  432. package/lib/util/box.mjs.map +1 -1
  433. package/lib/util/color/APCA.mjs.map +1 -1
  434. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  435. package/lib/util/color/transformSRGB.mjs.map +1 -1
  436. package/lib/util/colorUtils.mjs.map +1 -1
  437. package/lib/util/console.mjs.map +1 -1
  438. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  439. package/lib/util/dateTimeUtils.mjs.map +1 -1
  440. package/lib/util/defineComponent.mjs.map +1 -1
  441. package/lib/util/dom.mjs.map +1 -1
  442. package/lib/util/getCurrentInstance.mjs.map +1 -1
  443. package/lib/util/getScrollParent.mjs.map +1 -1
  444. package/lib/util/helpers.mjs.map +1 -1
  445. package/lib/util/injectSelf.mjs.map +1 -1
  446. package/lib/util/isFixedPosition.mjs.map +1 -1
  447. package/lib/util/propsFactory.mjs.map +1 -1
  448. package/lib/util/useRender.mjs.map +1 -1
  449. package/package.json +25 -25
  450. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +0 -179
  451. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +0 -1
  452. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +0 -377
  453. package/lib/components/VSkeletonLoader/_variables.scss +0 -54
  454. package/lib/components/VSkeletonLoader/index.mjs +0 -4
  455. package/lib/components/VSkeletonLoader/index.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["isObject","keyCodes","stopSymbol","Symbol","DELAY_RIPPLE","transform","el","value","style","webkitTransform","isTouchEvent","e","constructor","name","isKeyboardEvent","calculate","localX","localY","offset","getBoundingClientRect","target","touches","length","clientX","left","clientY","top","radius","scale","_ripple","circle","clientWidth","center","Math","sqrt","clientHeight","centerX","centerY","x","y","ripples","show","enabled","container","document","createElement","animation","appendChild","className","class","size","width","height","computed","window","getComputedStyle","position","dataset","previousPosition","classList","add","activated","String","performance","now","setTimeout","remove","hide","getElementsByClassName","isHiding","diff","Number","delay","max","parentNode","removeChild","isRippleEnabled","rippleShow","element","currentTarget","touched","isTouch","centered","showTimerCommit","showTimer","rippleStop","rippleHide","clearTimeout","type","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyCode","enter","space","keyboardRippleHide","focusRippleHide","updateRipple","binding","wasEnabled","modifiers","stop","addEventListener","passive","removeListeners","removeEventListener","mounted","unmounted","updated","oldValue","Ripple"],"sources":["../../../src/directives/ripple/index.ts"],"sourcesContent":["// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { isObject, keyCodes } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n} from 'vue'\n\nconst stopSymbol = Symbol('rippleStop')\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { [stopSymbol]?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\ninterface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nexport interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean | { class: string }\n modifiers: {\n center?: boolean\n circle?: boolean\n stop?: boolean\n }\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple?.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el?._ripple?.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el?._ripple?.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n if (animation.parentNode?.parentNode === el) el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple || element._ripple.touched || e[stopSymbol]) return\n\n // Don't allow the event to trigger ripples on any other elements\n e[stopSymbol] = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleStop (e: VuetifyRippleEvent) {\n e[stopSymbol] = true\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element?._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: RippleDirectiveBinding, wasEnabled: boolean) {\n const { value, modifiers } = binding\n const enabled = isRippleEnabled(value)\n if (!enabled) {\n ripples.hide(el)\n }\n\n el._ripple = el._ripple ?? {}\n el._ripple.enabled = enabled\n el._ripple.centered = modifiers.center\n el._ripple.circle = modifiers.circle\n if (isObject(value) && value.class) {\n el._ripple.class = value.class\n }\n\n if (enabled && !wasEnabled) {\n if (modifiers.stop) {\n el.addEventListener('touchstart', rippleStop, { passive: true })\n el.addEventListener('mousedown', rippleStop)\n return\n }\n\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction mounted (el: HTMLElement, binding: RippleDirectiveBinding) {\n updateRipple(el, binding, false)\n}\n\nfunction unmounted (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction updated (el: HTMLElement, binding: RippleDirectiveBinding) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Ripple\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["isObject","keyCodes","stopSymbol","Symbol","DELAY_RIPPLE","transform","el","value","style","webkitTransform","isTouchEvent","e","constructor","name","isKeyboardEvent","calculate","arguments","length","undefined","localX","localY","offset","getBoundingClientRect","target","touches","clientX","left","clientY","top","radius","scale","_ripple","circle","clientWidth","center","Math","sqrt","clientHeight","centerX","centerY","x","y","ripples","show","enabled","container","document","createElement","animation","appendChild","className","class","size","width","height","computed","window","getComputedStyle","position","dataset","previousPosition","classList","add","activated","String","performance","now","setTimeout","remove","hide","getElementsByClassName","isHiding","diff","Number","delay","max","parentNode","removeChild","isRippleEnabled","rippleShow","element","currentTarget","touched","isTouch","centered","showTimerCommit","showTimer","rippleStop","rippleHide","clearTimeout","type","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyCode","enter","space","keyboardRippleHide","focusRippleHide","updateRipple","binding","wasEnabled","modifiers","stop","addEventListener","passive","removeListeners","removeEventListener","mounted","unmounted","updated","oldValue","Ripple"],"sources":["../../../src/directives/ripple/index.ts"],"sourcesContent":["// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { isObject, keyCodes } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n} from 'vue'\n\nconst stopSymbol = Symbol('rippleStop')\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { [stopSymbol]?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\ninterface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nexport interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean | { class: string }\n modifiers: {\n center?: boolean\n circle?: boolean\n stop?: boolean\n }\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple?.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el?._ripple?.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el?._ripple?.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n if (animation.parentNode?.parentNode === el) el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple || element._ripple.touched || e[stopSymbol]) return\n\n // Don't allow the event to trigger ripples on any other elements\n e[stopSymbol] = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleStop (e: VuetifyRippleEvent) {\n e[stopSymbol] = true\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element?._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: RippleDirectiveBinding, wasEnabled: boolean) {\n const { value, modifiers } = binding\n const enabled = isRippleEnabled(value)\n if (!enabled) {\n ripples.hide(el)\n }\n\n el._ripple = el._ripple ?? {}\n el._ripple.enabled = enabled\n el._ripple.centered = modifiers.center\n el._ripple.circle = modifiers.circle\n if (isObject(value) && value.class) {\n el._ripple.class = value.class\n }\n\n if (enabled && !wasEnabled) {\n if (modifiers.stop) {\n el.addEventListener('touchstart', rippleStop, { passive: true })\n el.addEventListener('mousedown', rippleStop)\n return\n }\n\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction mounted (el: HTMLElement, binding: RippleDirectiveBinding) {\n updateRipple(el, binding, false)\n}\n\nfunction unmounted (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction updated (el: HTMLElement, binding: RippleDirectiveBinding) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Ripple\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["mounted","el","binding","self","modifiers","value","options","passive","handler","target","arg","document","querySelector","window","addEventListener","_onScroll","Object","instance","$","uid","undefined","unmounted","removeEventListener","updated","oldValue","Scroll"],"sources":["../../../src/directives/scroll/index.ts"],"sourcesContent":["import type { DirectiveBinding } from 'vue'\n\ninterface ScrollDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: EventListener | {\n handler: EventListener\n options?: AddEventListenerOptions\n } | EventListenerObject & { options?: AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n const { self = false } = binding.modifiers ?? {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![binding.instance!.$.uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (!el._onScroll?.[binding.instance!.$.uid]) return\n\n const { handler, options, target = el } = el._onScroll[binding.instance!.$.uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[binding.instance!.$.uid]\n}\n\nfunction updated (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (binding.value === binding.oldValue) return\n\n unmounted(el, binding)\n mounted(el, binding)\n}\n\nexport const Scroll = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Scroll\n"],"mappings":"AAYA,SAASA,OAAO,CAAEC,EAAe,EAAEC,OAA+B,EAAE;EAClE,MAAM;IAAEC,IAAI,GAAG;EAAM,CAAC,GAAGD,OAAO,CAACE,SAAS,IAAI,CAAC,CAAC;EAChD,MAAMC,KAAK,GAAGH,OAAO,CAACG,KAAK;EAC3B,MAAMC,OAAO,GAAI,OAAOD,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACC,OAAO,IAAK;IAAEC,OAAO,EAAE;EAAK,CAAC;EACjF,MAAMC,OAAO,GAAG,OAAOH,KAAK,KAAK,UAAU,IAAI,aAAa,IAAIA,KAAK,GAAGA,KAAK,GAAGA,KAAK,CAACG,OAAO;EAE7F,MAAMC,MAAM,GAAGN,IAAI,GACfF,EAAE,GACFC,OAAO,CAACQ,GAAG,GACTC,QAAQ,CAACC,aAAa,CAACV,OAAO,CAACQ,GAAG,CAAC,GACnCG,MAAM;EAEZ,IAAI,CAACJ,MAAM,EAAE;EAEbA,MAAM,CAACK,gBAAgB,CAAC,QAAQ,EAAEN,OAAO,EAAEF,OAAO,CAAC;EAEnDL,EAAE,CAACc,SAAS,GAAGC,MAAM,CAACf,EAAE,CAACc,SAAS,CAAC;EACnCd,EAAE,CAACc,SAAS,CAAEb,OAAO,CAACe,QAAQ,CAAEC,CAAC,CAACC,GAAG,CAAC,GAAG;IACvCX,OAAO;IACPF,OAAO;IACP;IACAG,MAAM,EAAEN,IAAI,GAAGiB,SAAS,GAAGX;EAC7B,CAAC;AACH;AAEA,SAASY,SAAS,CAAEpB,EAAe,EAAEC,OAA+B,EAAE;EACpE,IAAI,CAACD,EAAE,CAACc,SAAS,GAAGb,OAAO,CAACe,QAAQ,CAAEC,CAAC,CAACC,GAAG,CAAC,EAAE;EAE9C,MAAM;IAAEX,OAAO;IAAEF,OAAO;IAAEG,MAAM,GAAGR;EAAG,CAAC,GAAGA,EAAE,CAACc,SAAS,CAACb,OAAO,CAACe,QAAQ,CAAEC,CAAC,CAACC,GAAG,CAAE;EAEhFV,MAAM,CAACa,mBAAmB,CAAC,QAAQ,EAAEd,OAAO,EAAEF,OAAO,CAAC;EACtD,OAAOL,EAAE,CAACc,SAAS,CAACb,OAAO,CAACe,QAAQ,CAAEC,CAAC,CAACC,GAAG,CAAC;AAC9C;AAEA,SAASI,OAAO,CAAEtB,EAAe,EAAEC,OAA+B,EAAE;EAClE,IAAIA,OAAO,CAACG,KAAK,KAAKH,OAAO,CAACsB,QAAQ,EAAE;EAExCH,SAAS,CAACpB,EAAE,EAAEC,OAAO,CAAC;EACtBF,OAAO,CAACC,EAAE,EAAEC,OAAO,CAAC;AACtB;AAEA,OAAO,MAAMuB,MAAM,GAAG;EACpBzB,OAAO;EACPqB,SAAS;EACTE;AACF,CAAC;AAED,eAAeE,MAAM"}
1
+ {"version":3,"file":"index.mjs","names":["mounted","el","binding","self","modifiers","value","options","passive","handler","target","arg","document","querySelector","window","addEventListener","_onScroll","Object","instance","$","uid","undefined","unmounted","removeEventListener","updated","oldValue","Scroll"],"sources":["../../../src/directives/scroll/index.ts"],"sourcesContent":["import type { DirectiveBinding } from 'vue'\n\ninterface ScrollDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: EventListener | {\n handler: EventListener\n options?: AddEventListenerOptions\n } | EventListenerObject & { options?: AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n const { self = false } = binding.modifiers ?? {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![binding.instance!.$.uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (!el._onScroll?.[binding.instance!.$.uid]) return\n\n const { handler, options, target = el } = el._onScroll[binding.instance!.$.uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[binding.instance!.$.uid]\n}\n\nfunction updated (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (binding.value === binding.oldValue) return\n\n unmounted(el, binding)\n mounted(el, binding)\n}\n\nexport const Scroll = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Scroll\n"],"mappings":"AAYA,SAASA,OAAOA,CAAEC,EAAe,EAAEC,OAA+B,EAAE;EAClE,MAAM;IAAEC,IAAI,GAAG;EAAM,CAAC,GAAGD,OAAO,CAACE,SAAS,IAAI,CAAC,CAAC;EAChD,MAAMC,KAAK,GAAGH,OAAO,CAACG,KAAK;EAC3B,MAAMC,OAAO,GAAI,OAAOD,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACC,OAAO,IAAK;IAAEC,OAAO,EAAE;EAAK,CAAC;EACjF,MAAMC,OAAO,GAAG,OAAOH,KAAK,KAAK,UAAU,IAAI,aAAa,IAAIA,KAAK,GAAGA,KAAK,GAAGA,KAAK,CAACG,OAAO;EAE7F,MAAMC,MAAM,GAAGN,IAAI,GACfF,EAAE,GACFC,OAAO,CAACQ,GAAG,GACTC,QAAQ,CAACC,aAAa,CAACV,OAAO,CAACQ,GAAG,CAAC,GACnCG,MAAM;EAEZ,IAAI,CAACJ,MAAM,EAAE;EAEbA,MAAM,CAACK,gBAAgB,CAAC,QAAQ,EAAEN,OAAO,EAAEF,OAAO,CAAC;EAEnDL,EAAE,CAACc,SAAS,GAAGC,MAAM,CAACf,EAAE,CAACc,SAAS,CAAC;EACnCd,EAAE,CAACc,SAAS,CAAEb,OAAO,CAACe,QAAQ,CAAEC,CAAC,CAACC,GAAG,CAAC,GAAG;IACvCX,OAAO;IACPF,OAAO;IACP;IACAG,MAAM,EAAEN,IAAI,GAAGiB,SAAS,GAAGX;EAC7B,CAAC;AACH;AAEA,SAASY,SAASA,CAAEpB,EAAe,EAAEC,OAA+B,EAAE;EACpE,IAAI,CAACD,EAAE,CAACc,SAAS,GAAGb,OAAO,CAACe,QAAQ,CAAEC,CAAC,CAACC,GAAG,CAAC,EAAE;EAE9C,MAAM;IAAEX,OAAO;IAAEF,OAAO;IAAEG,MAAM,GAAGR;EAAG,CAAC,GAAGA,EAAE,CAACc,SAAS,CAACb,OAAO,CAACe,QAAQ,CAAEC,CAAC,CAACC,GAAG,CAAE;EAEhFV,MAAM,CAACa,mBAAmB,CAAC,QAAQ,EAAEd,OAAO,EAAEF,OAAO,CAAC;EACtD,OAAOL,EAAE,CAACc,SAAS,CAACb,OAAO,CAACe,QAAQ,CAAEC,CAAC,CAACC,GAAG,CAAC;AAC9C;AAEA,SAASI,OAAOA,CAAEtB,EAAe,EAAEC,OAA+B,EAAE;EAClE,IAAIA,OAAO,CAACG,KAAK,KAAKH,OAAO,CAACsB,QAAQ,EAAE;EAExCH,SAAS,CAACpB,EAAE,EAAEC,OAAO,CAAC;EACtBF,OAAO,CAACC,EAAE,EAAEC,OAAO,CAAC;AACtB;AAEA,OAAO,MAAMuB,MAAM,GAAG;EACpBzB,OAAO;EACPqB,SAAS;EACTE;AACF,CAAC;AAED,eAAeE,MAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["keys","handleGesture","wrapper","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","offsetX","offsetY","Math","abs","left","right","up","down","touchstart","event","touch","changedTouches","clientX","clientY","start","originalEvent","touchend","end","touchmove","touchmoveX","touchmoveY","move","createHandlers","value","e","mounted","el","binding","target","parent","parentElement","options","passive","uid","instance","$","handlers","_touchHandlers","Object","create","forEach","eventName","addEventListener","unmounted","removeEventListener","Touch"],"sources":["../../../src/directives/touch/index.ts"],"sourcesContent":["// Types\nimport type {\n DirectiveBinding,\n} from 'vue'\n\n// Utilities\nimport { keys } from '@/util'\n\nexport interface TouchHandlers {\n start?: (wrapperEvent: { originalEvent: TouchEvent } & TouchData) => void\n end?: (wrapperEvent: { originalEvent: TouchEvent } & TouchData) => void\n move?: (wrapperEvent: { originalEvent: TouchEvent } & TouchData) => void\n left?: (wrapper: TouchData) => void\n right?: (wrapper: TouchData) => void\n up?: (wrapper: TouchData) => void\n down?: (wrapper: TouchData) => void\n}\n\nexport interface TouchData {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n touchendX: number\n touchendY: number\n offsetX: number\n offsetY: number\n}\n\nexport type TouchWrapper = TouchHandlers & TouchData\n\nexport interface TouchValue extends TouchHandlers {\n parent?: boolean\n options?: AddEventListenerOptions\n}\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\nexport interface TouchDirectiveBinding extends Omit<DirectiveBinding, 'value'> {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start?.({ originalEvent: event, ...wrapper })\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end?.({ originalEvent: event, ...wrapper })\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move?.({ originalEvent: event, ...wrapper })\n}\n\nfunction createHandlers (value: TouchHandlers = {}): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction mounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const value = binding.value\n const target = value?.parent ? el.parentElement : el\n const options = value?.options ?? { passive: true }\n const uid = binding.instance?.$.uid // TODO: use custom uid generator\n\n if (!target || !uid) return\n\n const handlers = createHandlers(binding.value)\n\n target._touchHandlers = target._touchHandlers ?? Object.create(null)\n target._touchHandlers![uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName], options)\n })\n}\n\nfunction unmounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const target = binding.value?.parent ? el.parentElement : el\n const uid = binding.instance?.$.uid\n\n if (!target?._touchHandlers || !uid) return\n\n const handlers = target._touchHandlers[uid]\n\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n\n delete target._touchHandlers[uid]\n}\n\nexport const Touch = {\n mounted,\n unmounted,\n}\n\nexport default Touch\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["keys","handleGesture","wrapper","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","offsetX","offsetY","Math","abs","left","right","up","down","touchstart","event","touch","changedTouches","clientX","clientY","start","originalEvent","touchend","end","touchmove","touchmoveX","touchmoveY","move","createHandlers","value","arguments","length","undefined","e","mounted","el","binding","target","parent","parentElement","options","passive","uid","instance","$","handlers","_touchHandlers","Object","create","forEach","eventName","addEventListener","unmounted","removeEventListener","Touch"],"sources":["../../../src/directives/touch/index.ts"],"sourcesContent":["// Types\nimport type {\n DirectiveBinding,\n} from 'vue'\n\n// Utilities\nimport { keys } from '@/util'\n\nexport interface TouchHandlers {\n start?: (wrapperEvent: { originalEvent: TouchEvent } & TouchData) => void\n end?: (wrapperEvent: { originalEvent: TouchEvent } & TouchData) => void\n move?: (wrapperEvent: { originalEvent: TouchEvent } & TouchData) => void\n left?: (wrapper: TouchData) => void\n right?: (wrapper: TouchData) => void\n up?: (wrapper: TouchData) => void\n down?: (wrapper: TouchData) => void\n}\n\nexport interface TouchData {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n touchendX: number\n touchendY: number\n offsetX: number\n offsetY: number\n}\n\nexport type TouchWrapper = TouchHandlers & TouchData\n\nexport interface TouchValue extends TouchHandlers {\n parent?: boolean\n options?: AddEventListenerOptions\n}\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\nexport interface TouchDirectiveBinding extends Omit<DirectiveBinding, 'value'> {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start?.({ originalEvent: event, ...wrapper })\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end?.({ originalEvent: event, ...wrapper })\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move?.({ originalEvent: event, ...wrapper })\n}\n\nfunction createHandlers (value: TouchHandlers = {}): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction mounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const value = binding.value\n const target = value?.parent ? el.parentElement : el\n const options = value?.options ?? { passive: true }\n const uid = binding.instance?.$.uid // TODO: use custom uid generator\n\n if (!target || !uid) return\n\n const handlers = createHandlers(binding.value)\n\n target._touchHandlers = target._touchHandlers ?? Object.create(null)\n target._touchHandlers![uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName], options)\n })\n}\n\nfunction unmounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const target = binding.value?.parent ? el.parentElement : el\n const uid = binding.instance?.$.uid\n\n if (!target?._touchHandlers || !uid) return\n\n const handlers = target._touchHandlers[uid]\n\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n\n delete target._touchHandlers[uid]\n}\n\nexport const Touch = {\n mounted,\n unmounted,\n}\n\nexport default Touch\n"],"mappings":"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"}
@@ -10,7 +10,7 @@ export const createVuetify = function () {
10
10
  ...options
11
11
  });
12
12
  };
13
- export const version = "3.1.12";
13
+ export const version = "3.1.13";
14
14
  createVuetify.version = version;
15
15
  export { components, directives };
16
16
  export * from "./composables/index.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"entry-bundler.mjs","names":["components","directives","createVuetify","_createVuetify","options","version"],"sources":["../src/entry-bundler.ts"],"sourcesContent":["import './styles/main.sass'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\nexport {\n components,\n directives,\n}\nexport * from './composables'\n"],"mappings":"AAAA;AAA2B,OACpB,KAAKA,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,SACbC,aAAa,IAAIC,cAAc;AAGxC,OAAO,MAAMD,aAAa,GAAG,YAAkC;EAAA,IAAjCE,OAAuB,uEAAG,CAAC,CAAC;EACxD,OAAOD,cAAc,CAAC;IAAEH,UAAU;IAAEC,UAAU;IAAE,GAAGG;EAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMC,OAAO,WAAsB;AAC1CH,aAAa,CAACG,OAAO,GAAGA,OAAO;AAE/B,SACEL,UAAU,EACVC,UAAU;AACX"}
1
+ {"version":3,"file":"entry-bundler.mjs","names":["components","directives","createVuetify","_createVuetify","options","arguments","length","undefined","version"],"sources":["../src/entry-bundler.ts"],"sourcesContent":["import './styles/main.sass'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\nexport {\n components,\n directives,\n}\nexport * from './composables'\n"],"mappings":"AAAA;AAA2B,OACpB,KAAKA,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,SACbC,aAAa,IAAIC,cAAc;AAGxC,OAAO,MAAMD,aAAa,GAAG,SAAAA,CAAA,EAAkC;EAAA,IAAjCE,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxD,OAAOF,cAAc,CAAC;IAAEH,UAAU;IAAEC,UAAU;IAAE,GAAGG;EAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMI,OAAO,WAAsB;AAC1CN,aAAa,CAACM,OAAO,GAAGA,OAAO;AAE/B,SACER,UAAU,EACVC,UAAU;AACX"}
package/lib/framework.mjs CHANGED
@@ -89,7 +89,7 @@ export function createVuetify() {
89
89
  locale
90
90
  };
91
91
  }
92
- export const version = "3.1.12";
92
+ export const version = "3.1.13";
93
93
  createVuetify.version = version;
94
94
 
95
95
  // Vue's inject() can only be used in setup
@@ -1 +1 @@
1
- {"version":3,"file":"framework.mjs","names":["createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","defineComponent","getUid","IN_BROWSER","mergeDeep","nextTick","reactive","createVuetify","vuetify","blueprint","rest","options","aliases","components","directives","defaults","display","ssr","theme","icons","locale","install","app","key","directive","component","name","aliasName","provide","$nuxt","hook","update","mount","vm","reset","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent, getUid, IN_BROWSER, mergeDeep } from '@/util'\nimport { nextTick, reactive } from 'vue'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: boolean\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n\n const install = (app: App) => {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n theme.install(app)\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n getUid.reset()\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n })\n },\n },\n })\n }\n }\n\n return {\n install,\n defaults,\n display,\n theme,\n icons,\n locale,\n }\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"framework.mjs","names":["createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","defineComponent","getUid","IN_BROWSER","mergeDeep","nextTick","reactive","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","defaults","display","ssr","theme","icons","locale","install","app","key","directive","component","name","aliasName","provide","$nuxt","hook","update","mount","vm","reset","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent, getUid, IN_BROWSER, mergeDeep } from '@/util'\nimport { nextTick, reactive } from 'vue'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: boolean\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n\n const install = (app: App) => {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n theme.install(app)\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n getUid.reset()\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n })\n },\n },\n })\n }\n }\n\n return {\n install,\n defaults,\n display,\n theme,\n icons,\n locale,\n }\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -311,40 +311,6 @@ declare module '@vue/runtime-core' {
311
311
  }
312
312
 
313
313
  export interface GlobalComponents {
314
- VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
315
- VContainer: typeof import('vuetify/components')['VContainer']
316
- VCol: typeof import('vuetify/components')['VCol']
317
- VRow: typeof import('vuetify/components')['VRow']
318
- VSpacer: typeof import('vuetify/components')['VSpacer']
319
- VHover: typeof import('vuetify/components')['VHover']
320
- VForm: typeof import('vuetify/components')['VForm']
321
- VLayout: typeof import('vuetify/components')['VLayout']
322
- VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
323
- VLazy: typeof import('vuetify/components')['VLazy']
324
- VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
325
- VNoSsr: typeof import('vuetify/components')['VNoSsr']
326
- VParallax: typeof import('vuetify/components')['VParallax']
327
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
328
- VRadio: typeof import('vuetify/components')['VRadio']
329
- VResponsive: typeof import('vuetify/components')['VResponsive']
330
- VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
331
- VValidation: typeof import('vuetify/components')['VValidation']
332
- VFabTransition: typeof import('vuetify/components')['VFabTransition']
333
- VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
334
- VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
335
- VFadeTransition: typeof import('vuetify/components')['VFadeTransition']
336
- VScaleTransition: typeof import('vuetify/components')['VScaleTransition']
337
- VScrollXTransition: typeof import('vuetify/components')['VScrollXTransition']
338
- VScrollXReverseTransition: typeof import('vuetify/components')['VScrollXReverseTransition']
339
- VScrollYTransition: typeof import('vuetify/components')['VScrollYTransition']
340
- VScrollYReverseTransition: typeof import('vuetify/components')['VScrollYReverseTransition']
341
- VSlideXTransition: typeof import('vuetify/components')['VSlideXTransition']
342
- VSlideXReverseTransition: typeof import('vuetify/components')['VSlideXReverseTransition']
343
- VSlideYTransition: typeof import('vuetify/components')['VSlideYTransition']
344
- VSlideYReverseTransition: typeof import('vuetify/components')['VSlideYReverseTransition']
345
- VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
346
- VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
347
- VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
348
314
  VApp: typeof import('vuetify/components')['VApp']
349
315
  VAppBar: typeof import('vuetify/components')['VAppBar']
350
316
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
@@ -380,6 +346,7 @@ declare module '@vue/runtime-core' {
380
346
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
381
347
  VCombobox: typeof import('vuetify/components')['VCombobox']
382
348
  VCounter: typeof import('vuetify/components')['VCounter']
349
+ VDialog: typeof import('vuetify/components')['VDialog']
383
350
  VDivider: typeof import('vuetify/components')['VDivider']
384
351
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
385
352
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
@@ -409,15 +376,15 @@ declare module '@vue/runtime-core' {
409
376
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
410
377
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
411
378
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
379
+ VMain: typeof import('vuetify/components')['VMain']
412
380
  VMenu: typeof import('vuetify/components')['VMenu']
413
381
  VMessages: typeof import('vuetify/components')['VMessages']
414
- VMain: typeof import('vuetify/components')['VMain']
415
382
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
416
383
  VOverlay: typeof import('vuetify/components')['VOverlay']
417
384
  VPagination: typeof import('vuetify/components')['VPagination']
418
385
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
419
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
420
386
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
387
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
421
388
  VRating: typeof import('vuetify/components')['VRating']
422
389
  VSelect: typeof import('vuetify/components')['VSelect']
423
390
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
@@ -433,15 +400,48 @@ declare module '@vue/runtime-core' {
433
400
  VTab: typeof import('vuetify/components')['VTab']
434
401
  VTable: typeof import('vuetify/components')['VTable']
435
402
  VTextarea: typeof import('vuetify/components')['VTextarea']
403
+ VTextField: typeof import('vuetify/components')['VTextField']
436
404
  VTimeline: typeof import('vuetify/components')['VTimeline']
437
405
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
438
- VTextField: typeof import('vuetify/components')['VTextField']
439
406
  VToolbar: typeof import('vuetify/components')['VToolbar']
440
407
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
441
408
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
442
409
  VTooltip: typeof import('vuetify/components')['VTooltip']
443
410
  VWindow: typeof import('vuetify/components')['VWindow']
444
411
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
445
- VDialog: typeof import('vuetify/components')['VDialog']
412
+ VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
413
+ VForm: typeof import('vuetify/components')['VForm']
414
+ VContainer: typeof import('vuetify/components')['VContainer']
415
+ VCol: typeof import('vuetify/components')['VCol']
416
+ VRow: typeof import('vuetify/components')['VRow']
417
+ VSpacer: typeof import('vuetify/components')['VSpacer']
418
+ VHover: typeof import('vuetify/components')['VHover']
419
+ VLayout: typeof import('vuetify/components')['VLayout']
420
+ VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
421
+ VLazy: typeof import('vuetify/components')['VLazy']
422
+ VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
423
+ VNoSsr: typeof import('vuetify/components')['VNoSsr']
424
+ VParallax: typeof import('vuetify/components')['VParallax']
425
+ VRadio: typeof import('vuetify/components')['VRadio']
426
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
427
+ VResponsive: typeof import('vuetify/components')['VResponsive']
428
+ VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
429
+ VValidation: typeof import('vuetify/components')['VValidation']
430
+ VFabTransition: typeof import('vuetify/components')['VFabTransition']
431
+ VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
432
+ VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
433
+ VFadeTransition: typeof import('vuetify/components')['VFadeTransition']
434
+ VScaleTransition: typeof import('vuetify/components')['VScaleTransition']
435
+ VScrollXTransition: typeof import('vuetify/components')['VScrollXTransition']
436
+ VScrollXReverseTransition: typeof import('vuetify/components')['VScrollXReverseTransition']
437
+ VScrollYTransition: typeof import('vuetify/components')['VScrollYTransition']
438
+ VScrollYReverseTransition: typeof import('vuetify/components')['VScrollYReverseTransition']
439
+ VSlideXTransition: typeof import('vuetify/components')['VSlideXTransition']
440
+ VSlideXReverseTransition: typeof import('vuetify/components')['VSlideXReverseTransition']
441
+ VSlideYTransition: typeof import('vuetify/components')['VSlideYTransition']
442
+ VSlideYReverseTransition: typeof import('vuetify/components')['VSlideYReverseTransition']
443
+ VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
444
+ VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
445
+ VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
446
446
  }
447
447
  }
@@ -23,6 +23,7 @@ export const makeVDataTableProps = propsFactory({
23
23
  ...makeDataTableItemProps(),
24
24
  ...makeDataTableHeaderProps(),
25
25
  hideNoData: Boolean,
26
+ hover: Boolean,
26
27
  noDataText: {
27
28
  type: String,
28
29
  default: '$vuetify.noDataText'
@@ -147,7 +148,8 @@ export const VDataTable = genericComponent()({
147
148
  }],
148
149
  "fixedHeader": props.fixedHeader,
149
150
  "fixedFooter": props.fixedFooter,
150
- "height": props.height
151
+ "height": props.height,
152
+ "hover": props.hover
151
153
  }, {
152
154
  top: slots.top,
153
155
  default: slots.default ?? (() => _createVNode(_Fragment, null, [slots.colgroup?.({
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTable.mjs","names":["VTable","VDataTableHeaders","VDataTableRows","VDataTableFooter","makeDataTableItemProps","useDataTableItems","createHeaders","makeDataTableHeaderProps","createSort","makeDataTableSortProps","provideSort","useSortedItems","createGroupBy","makeDataTableGroupProps","provideGroupBy","useGroupedItems","createPagination","makeDataTablePaginateProps","providePagination","usePaginatedItems","makeDataTableSelectProps","provideSelection","makeDataTableExpandProps","provideExpanded","useOptions","provideDefaults","computed","toRef","genericComponent","propsFactory","useRender","makeFilterProps","useFilter","makeVDataTableProps","hideNoData","Boolean","noDataText","type","String","default","height","Number","width","fixedHeader","fixedFooter","VDataTable","name","props","search","emits","value","event","setup","emit","slots","groupBy","sortBy","multiSort","mustSort","page","itemsPerPage","columns","showSelect","showExpand","items","filterKeys","map","c","key","filteredItems","sortByWithGroups","opened","extractRows","sortedItems","flatItems","itemsLength","length","startIndex","stopIndex","paginatedItems","paginatedItemsWithoutGroups","top","colgroup","headers","thead","body","tbody","tfoot","bottom","prepend"],"sources":["../../../src/labs/VDataTable/VDataTable.tsx"],"sourcesContent":["// Styles\nimport './VDataTable.sass'\n\n// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport type { VDataTableRowsSlots } from './VDataTableRows'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VDataTableFooter } from './VDataTableFooter'\n\n// Composables\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { createSort, makeDataTableSortProps, provideSort, useSortedItems } from './composables/sort'\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createPagination, makeDataTablePaginateProps, providePagination, usePaginatedItems } from './composables/paginate'\nimport { makeDataTableSelectProps, provideSelection } from './composables/select'\nimport { makeDataTableExpandProps, provideExpanded } from './composables/expand'\nimport { useOptions } from './composables/options'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\n\n// Types\nimport type { DataTableItem, InternalDataTableHeader } from './types'\n\nexport type VDataTableSlots = VDataTableRowsSlots & {\n colgroup: [InternalDataTableHeader]\n default: []\n top: []\n headers: []\n body: []\n tbody: []\n thead: []\n tfoot: []\n bottom: []\n 'footer.prepend': []\n}\n\nexport const makeVDataTableProps = propsFactory({\n ...makeDataTableItemProps(),\n ...makeDataTableHeaderProps(),\n hideNoData: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n height: [String, Number],\n width: [String, Number],\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n}, 'v-data-table')\n\nexport const VDataTable = genericComponent<VDataTableSlots>()({\n name: 'VDataTable',\n\n props: {\n search: String,\n\n ...makeVDataTableProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableGroupProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTablePaginateProps(),\n ...makeFilterProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (value: number) => true,\n 'update:itemsPerPage': (value: number) => true,\n 'update:sortBy': (value: any) => true,\n 'update:options': (value: any) => true,\n 'update:groupBy': (value: any) => true,\n 'update:expanded': (value: any) => true,\n 'click:row': (event: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n\n const { columns } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const filterKeys = computed(() => columns.value.map(c => 'columns.' + c.key))\n const search = toRef(props, 'search')\n const { filteredItems } = useFilter<DataTableItem>(props, items, search, { filterKeys })\n\n provideSort({ sortBy, multiSort, mustSort, page })\n const { sortByWithGroups, opened, extractRows } = provideGroupBy({ groupBy, sortBy })\n\n const { sortedItems } = useSortedItems(filteredItems, sortByWithGroups, columns)\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n const itemsLength = computed(() => flatItems.value.length)\n\n const { startIndex, stopIndex } = providePagination({ page, itemsPerPage, itemsLength })\n const { paginatedItems } = usePaginatedItems({ items: flatItems, startIndex, stopIndex, itemsPerPage })\n\n const paginatedItemsWithoutGroups = computed(() => extractRows(paginatedItems.value))\n\n provideSelection(props, paginatedItemsWithoutGroups)\n\n provideExpanded(props)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n },\n })\n\n useRender(() => (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--show-select': props.showSelect,\n },\n ]}\n fixedHeader={ props.fixedHeader }\n fixedFooter={ props.fixedFooter }\n height={ props.height }\n >\n {{\n top: slots.top,\n default: slots.default ?? (() => (\n <>\n { slots.colgroup?.({ columns }) }\n <thead>\n { slots.headers ? slots.headers() : (\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n multiSort={ props.multiSort }\n v-slots={ slots }\n />\n )}\n </thead>\n { slots.thead?.() }\n <tbody>\n { slots.body ? slots.body() : (\n <VDataTableRows\n items={ paginatedItems.value }\n onClick:row={ (event, value) => emit('click:row', event, value) }\n v-slots={ slots }\n />\n )}\n </tbody>\n { slots.tbody?.() }\n { slots.tfoot?.() }\n </>\n )),\n bottom: slots.bottom ?? (() => (\n <VDataTableFooter\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n )),\n }}\n </VTable>\n ))\n\n return {}\n },\n})\n\nexport type VDataTable = InstanceType<typeof VDataTable>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VDataTable.mjs","names":["VTable","VDataTableHeaders","VDataTableRows","VDataTableFooter","makeDataTableItemProps","useDataTableItems","createHeaders","makeDataTableHeaderProps","createSort","makeDataTableSortProps","provideSort","useSortedItems","createGroupBy","makeDataTableGroupProps","provideGroupBy","useGroupedItems","createPagination","makeDataTablePaginateProps","providePagination","usePaginatedItems","makeDataTableSelectProps","provideSelection","makeDataTableExpandProps","provideExpanded","useOptions","provideDefaults","computed","toRef","genericComponent","propsFactory","useRender","makeFilterProps","useFilter","makeVDataTableProps","hideNoData","Boolean","hover","noDataText","type","String","default","height","Number","width","fixedHeader","fixedFooter","VDataTable","name","props","search","emits","value","click:row","event","setup","_ref","emit","slots","groupBy","sortBy","multiSort","mustSort","page","itemsPerPage","columns","showSelect","showExpand","items","filterKeys","map","c","key","filteredItems","sortByWithGroups","opened","extractRows","sortedItems","flatItems","itemsLength","length","startIndex","stopIndex","paginatedItems","paginatedItemsWithoutGroups","_createVNode","top","_Fragment","colgroup","headers","thead","body","onClick:row","tbody","tfoot","bottom","prepend"],"sources":["../../../src/labs/VDataTable/VDataTable.tsx"],"sourcesContent":["// Styles\nimport './VDataTable.sass'\n\n// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport type { VDataTableRowsSlots } from './VDataTableRows'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VDataTableFooter } from './VDataTableFooter'\n\n// Composables\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { createSort, makeDataTableSortProps, provideSort, useSortedItems } from './composables/sort'\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createPagination, makeDataTablePaginateProps, providePagination, usePaginatedItems } from './composables/paginate'\nimport { makeDataTableSelectProps, provideSelection } from './composables/select'\nimport { makeDataTableExpandProps, provideExpanded } from './composables/expand'\nimport { useOptions } from './composables/options'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\n\n// Types\nimport type { DataTableItem, InternalDataTableHeader } from './types'\n\nexport type VDataTableSlots = VDataTableRowsSlots & {\n colgroup: [InternalDataTableHeader]\n default: []\n top: []\n headers: []\n body: []\n tbody: []\n thead: []\n tfoot: []\n bottom: []\n 'footer.prepend': []\n}\n\nexport const makeVDataTableProps = propsFactory({\n ...makeDataTableItemProps(),\n ...makeDataTableHeaderProps(),\n hideNoData: Boolean,\n hover: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n height: [String, Number],\n width: [String, Number],\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n}, 'v-data-table')\n\nexport const VDataTable = genericComponent<VDataTableSlots>()({\n name: 'VDataTable',\n\n props: {\n search: String,\n\n ...makeVDataTableProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableGroupProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTablePaginateProps(),\n ...makeFilterProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (value: number) => true,\n 'update:itemsPerPage': (value: number) => true,\n 'update:sortBy': (value: any) => true,\n 'update:options': (value: any) => true,\n 'update:groupBy': (value: any) => true,\n 'update:expanded': (value: any) => true,\n 'click:row': (event: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n\n const { columns } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const filterKeys = computed(() => columns.value.map(c => 'columns.' + c.key))\n const search = toRef(props, 'search')\n const { filteredItems } = useFilter<DataTableItem>(props, items, search, { filterKeys })\n\n provideSort({ sortBy, multiSort, mustSort, page })\n const { sortByWithGroups, opened, extractRows } = provideGroupBy({ groupBy, sortBy })\n\n const { sortedItems } = useSortedItems(filteredItems, sortByWithGroups, columns)\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n const itemsLength = computed(() => flatItems.value.length)\n\n const { startIndex, stopIndex } = providePagination({ page, itemsPerPage, itemsLength })\n const { paginatedItems } = usePaginatedItems({ items: flatItems, startIndex, stopIndex, itemsPerPage })\n\n const paginatedItemsWithoutGroups = computed(() => extractRows(paginatedItems.value))\n\n provideSelection(props, paginatedItemsWithoutGroups)\n\n provideExpanded(props)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n },\n })\n\n useRender(() => (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--show-select': props.showSelect,\n },\n ]}\n fixedHeader={ props.fixedHeader }\n fixedFooter={ props.fixedFooter }\n height={ props.height }\n hover={ props.hover }\n >\n {{\n top: slots.top,\n default: slots.default ?? (() => (\n <>\n { slots.colgroup?.({ columns }) }\n <thead>\n { slots.headers ? slots.headers() : (\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n multiSort={ props.multiSort }\n v-slots={ slots }\n />\n )}\n </thead>\n { slots.thead?.() }\n <tbody>\n { slots.body ? slots.body() : (\n <VDataTableRows\n items={ paginatedItems.value }\n onClick:row={ (event, value) => emit('click:row', event, value) }\n v-slots={ slots }\n />\n )}\n </tbody>\n { slots.tbody?.() }\n { slots.tfoot?.() }\n </>\n )),\n bottom: slots.bottom ?? (() => (\n <VDataTableFooter\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n )),\n }}\n </VTable>\n ))\n\n return {}\n },\n})\n\nexport type VDataTable = InstanceType<typeof VDataTable>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableColumn.mjs","names":["convertToUnit","defineFunctionalComponent","VDataTableColumn","align","type","String","default","fixed","Boolean","fixedOffset","Number","height","lastFixed","noPadding","tag","width","props","slots","attrs","Tag","left"],"sources":["../../../src/labs/VDataTable/VDataTableColumn.tsx"],"sourcesContent":["import { convertToUnit, defineFunctionalComponent } from '@/util'\nimport type { PropType } from 'vue'\n\nexport const VDataTableColumn = defineFunctionalComponent({\n align: {\n type: String as PropType<'start' | 'center' | 'end'>,\n default: 'start',\n },\n fixed: Boolean,\n fixedOffset: [Number, String],\n height: [Number, String],\n lastFixed: Boolean,\n noPadding: Boolean,\n tag: String,\n width: [Number, String],\n}, (props, { slots, attrs }) => {\n const Tag = props.tag ?? 'td'\n return (\n <Tag\n class={[\n 'v-data-table__td',\n {\n 'v-data-table-column--fixed': props.fixed,\n 'v-data-table-column--last-fixed': props.lastFixed,\n 'v-data-table-column--no-padding': props.noPadding,\n },\n `v-data-table-column--align-${props.align}`,\n ]}\n style={{\n height: convertToUnit(props.height),\n width: convertToUnit(props.width),\n left: convertToUnit(props.fixedOffset || null),\n }}\n { ...attrs }\n >\n { slots.default?.() }\n </Tag>\n )\n})\n"],"mappings":";SAASA,aAAa,EAAEC,yBAAyB;AAGjD,OAAO,MAAMC,gBAAgB,GAAGD,yBAAyB,CAAC;EACxDE,KAAK,EAAE;IACLC,IAAI,EAAEC,MAA8C;IACpDC,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAEC,OAAO;EACdC,WAAW,EAAE,CAACC,MAAM,EAAEL,MAAM,CAAC;EAC7BM,MAAM,EAAE,CAACD,MAAM,EAAEL,MAAM,CAAC;EACxBO,SAAS,EAAEJ,OAAO;EAClBK,SAAS,EAAEL,OAAO;EAClBM,GAAG,EAAET,MAAM;EACXU,KAAK,EAAE,CAACL,MAAM,EAAEL,MAAM;AACxB,CAAC,EAAE,CAACW,KAAK,WAAuB;EAAA,IAArB;IAAEC,KAAK;IAAEC;EAAM,CAAC;EACzB,MAAMC,GAAG,GAAGH,KAAK,CAACF,GAAG,IAAI,IAAI;EAC7B;IAAA,SAEW,CACL,kBAAkB,EAClB;MACE,4BAA4B,EAAEE,KAAK,CAACT,KAAK;MACzC,iCAAiC,EAAES,KAAK,CAACJ,SAAS;MAClD,iCAAiC,EAAEI,KAAK,CAACH;IAC3C,CAAC,EACA,8BAA6BG,KAAK,CAACb,KAAM,EAAC,CAC5C;IAAA,SACM;MACLQ,MAAM,EAAEX,aAAa,CAACgB,KAAK,CAACL,MAAM,CAAC;MACnCI,KAAK,EAAEf,aAAa,CAACgB,KAAK,CAACD,KAAK,CAAC;MACjCK,IAAI,EAAEpB,aAAa,CAACgB,KAAK,CAACP,WAAW,IAAI,IAAI;IAC/C;EAAC,GACIS,KAAK;IAAA,gBAERD,KAAK,CAACX,OAAO,IAAI;EAAA;AAGzB,CAAC,CAAC"}
1
+ {"version":3,"file":"VDataTableColumn.mjs","names":["convertToUnit","defineFunctionalComponent","VDataTableColumn","align","type","String","default","fixed","Boolean","fixedOffset","Number","height","lastFixed","noPadding","tag","width","props","_ref","slots","attrs","Tag","_createVNode","_mergeProps","left"],"sources":["../../../src/labs/VDataTable/VDataTableColumn.tsx"],"sourcesContent":["import { convertToUnit, defineFunctionalComponent } from '@/util'\nimport type { PropType } from 'vue'\n\nexport const VDataTableColumn = defineFunctionalComponent({\n align: {\n type: String as PropType<'start' | 'center' | 'end'>,\n default: 'start',\n },\n fixed: Boolean,\n fixedOffset: [Number, String],\n height: [Number, String],\n lastFixed: Boolean,\n noPadding: Boolean,\n tag: String,\n width: [Number, String],\n}, (props, { slots, attrs }) => {\n const Tag = props.tag ?? 'td'\n return (\n <Tag\n class={[\n 'v-data-table__td',\n {\n 'v-data-table-column--fixed': props.fixed,\n 'v-data-table-column--last-fixed': props.lastFixed,\n 'v-data-table-column--no-padding': props.noPadding,\n },\n `v-data-table-column--align-${props.align}`,\n ]}\n style={{\n height: convertToUnit(props.height),\n width: convertToUnit(props.width),\n left: convertToUnit(props.fixedOffset || null),\n }}\n { ...attrs }\n >\n { slots.default?.() }\n </Tag>\n )\n})\n"],"mappings":";SAASA,aAAa,EAAEC,yBAAyB;AAGjD,OAAO,MAAMC,gBAAgB,GAAGD,yBAAyB,CAAC;EACxDE,KAAK,EAAE;IACLC,IAAI,EAAEC,MAA8C;IACpDC,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAEC,OAAO;EACdC,WAAW,EAAE,CAACC,MAAM,EAAEL,MAAM,CAAC;EAC7BM,MAAM,EAAE,CAACD,MAAM,EAAEL,MAAM,CAAC;EACxBO,SAAS,EAAEJ,OAAO;EAClBK,SAAS,EAAEL,OAAO;EAClBM,GAAG,EAAET,MAAM;EACXU,KAAK,EAAE,CAACL,MAAM,EAAEL,MAAM;AACxB,CAAC,EAAE,CAACW,KAAK,EAAAC,IAAA,KAAuB;EAAA,IAArB;IAAEC,KAAK;IAAEC;EAAM,CAAC,GAAAF,IAAA;EACzB,MAAMG,GAAG,GAAGJ,KAAK,CAACF,GAAG,IAAI,IAAI;EAC7B,OAAAO,YAAA,CAAAD,GAAA,EAAAE,WAAA;IAAA,SAEW,CACL,kBAAkB,EAClB;MACE,4BAA4B,EAAEN,KAAK,CAACT,KAAK;MACzC,iCAAiC,EAAES,KAAK,CAACJ,SAAS;MAClD,iCAAiC,EAAEI,KAAK,CAACH;IAC3C,CAAC,EACA,8BAA6BG,KAAK,CAACb,KAAM,EAAC,CAC5C;IAAA,SACM;MACLQ,MAAM,EAAEX,aAAa,CAACgB,KAAK,CAACL,MAAM,CAAC;MACnCI,KAAK,EAAEf,aAAa,CAACgB,KAAK,CAACD,KAAK,CAAC;MACjCQ,IAAI,EAAEvB,aAAa,CAACgB,KAAK,CAACP,WAAW,IAAI,IAAI;IAC/C;EAAC,GACIU,KAAK;IAAAb,OAAA,EAAAA,CAAA,MAERY,KAAK,CAACZ,OAAO,IAAI;EAAA;AAGzB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableFooter.mjs","names":["VBtn","VSelect","useLocale","usePagination","computed","genericComponent","VDataTableFooter","name","props","prevIcon","type","String","default","nextIcon","firstIcon","lastIcon","itemsPerPageText","pageText","firstPageLabel","prevPageLabel","nextPageLabel","lastPageLabel","itemsPerPageOptions","Array","value","title","showCurrentPage","Boolean","setup","slots","t","page","pageCount","startIndex","stopIndex","itemsLength","itemsPerPage","setItemsPerPage","map","option","prepend","v","Number","Math","max","min"],"sources":["../../../src/labs/VDataTable/VDataTableFooter.tsx"],"sourcesContent":["// Styles\nimport './VDataTableFooter.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VSelect } from '@/components/VSelect'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\nimport { usePagination } from './composables/paginate'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalItem } from '@/composables/items'\n\nexport const VDataTableFooter = genericComponent<{ prepend: [] }>()({\n name: 'VDataTableFooter',\n\n props: {\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n firstIcon: {\n type: String,\n default: '$first',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n itemsPerPageText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageText',\n },\n pageText: {\n type: String,\n default: '$vuetify.dataFooter.pageText',\n },\n firstPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.firstPage',\n },\n prevPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.prevPage',\n },\n nextPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.nextPage',\n },\n lastPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.lastPage',\n },\n itemsPerPageOptions: {\n type: Array as PropType<InternalItem[]>,\n default: () => ([\n { value: 10, title: '10' },\n { value: 25, title: '25' },\n { value: 50, title: '50' },\n { value: 100, title: '100' },\n { value: -1, title: '$vuetify.dataFooter.itemsPerPageAll' },\n ]),\n },\n showCurrentPage: Boolean,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { page, pageCount, startIndex, stopIndex, itemsLength, itemsPerPage, setItemsPerPage } = usePagination()\n\n const itemsPerPageOptions = computed(() => (\n props.itemsPerPageOptions.map(option => ({\n ...option,\n title: t(option.title),\n }))\n ))\n\n return () => (\n <div\n class=\"v-data-table-footer\"\n >\n { slots.prepend?.() }\n <div class=\"v-data-table-footer__items-per-page\">\n <span>{ t(props.itemsPerPageText) }</span>\n <VSelect\n items={ itemsPerPageOptions.value }\n modelValue={ itemsPerPage.value }\n onUpdate:modelValue={ v => setItemsPerPage(Number(v)) }\n density=\"compact\"\n variant=\"outlined\"\n hide-details\n />\n </div>\n <div class=\"v-data-table-footer__info\">\n <div>\n { t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value) }\n </div>\n </div>\n <div class=\"v-data-table-footer__pagination\">\n <VBtn\n icon={ props.firstIcon }\n variant=\"plain\"\n onClick={ () => page.value = 1 }\n disabled={ page.value === 1 }\n aria-label={ t(props.firstPageLabel) }\n />\n <VBtn\n icon={ props.prevIcon }\n variant=\"plain\"\n onClick={ () => page.value = Math.max(1, page.value - 1) }\n disabled={ page.value === 1 }\n aria-label={ t(props.prevPageLabel) }\n />\n { props.showCurrentPage && (\n <span key=\"page\" class=\"v-data-table-footer__page\">{ page.value }</span>\n )}\n <VBtn\n icon={ props.nextIcon }\n variant=\"plain\"\n onClick={ () => page.value = Math.min(pageCount.value, page.value + 1) }\n disabled={ page.value === pageCount.value }\n aria-label={ t(props.nextPageLabel) }\n />\n <VBtn\n icon={ props.lastIcon }\n variant=\"plain\"\n onClick={ () => page.value = pageCount.value }\n disabled={ page.value === pageCount.value }\n aria-label={ t(props.lastPageLabel) }\n />\n </div>\n </div>\n )\n },\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"VDataTableFooter.mjs","names":["VBtn","VSelect","useLocale","usePagination","computed","genericComponent","VDataTableFooter","name","props","prevIcon","type","String","default","nextIcon","firstIcon","lastIcon","itemsPerPageText","pageText","firstPageLabel","prevPageLabel","nextPageLabel","lastPageLabel","itemsPerPageOptions","Array","value","title","showCurrentPage","Boolean","setup","_ref","slots","t","page","pageCount","startIndex","stopIndex","itemsLength","itemsPerPage","setItemsPerPage","map","option","_createVNode","prepend","v","Number","onClick","Math","max","min"],"sources":["../../../src/labs/VDataTable/VDataTableFooter.tsx"],"sourcesContent":["// Styles\nimport './VDataTableFooter.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VSelect } from '@/components/VSelect'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\nimport { usePagination } from './composables/paginate'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalItem } from '@/composables/items'\n\nexport const VDataTableFooter = genericComponent<{ prepend: [] }>()({\n name: 'VDataTableFooter',\n\n props: {\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n firstIcon: {\n type: String,\n default: '$first',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n itemsPerPageText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageText',\n },\n pageText: {\n type: String,\n default: '$vuetify.dataFooter.pageText',\n },\n firstPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.firstPage',\n },\n prevPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.prevPage',\n },\n nextPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.nextPage',\n },\n lastPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.lastPage',\n },\n itemsPerPageOptions: {\n type: Array as PropType<InternalItem[]>,\n default: () => ([\n { value: 10, title: '10' },\n { value: 25, title: '25' },\n { value: 50, title: '50' },\n { value: 100, title: '100' },\n { value: -1, title: '$vuetify.dataFooter.itemsPerPageAll' },\n ]),\n },\n showCurrentPage: Boolean,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { page, pageCount, startIndex, stopIndex, itemsLength, itemsPerPage, setItemsPerPage } = usePagination()\n\n const itemsPerPageOptions = computed(() => (\n props.itemsPerPageOptions.map(option => ({\n ...option,\n title: t(option.title),\n }))\n ))\n\n return () => (\n <div\n class=\"v-data-table-footer\"\n >\n { slots.prepend?.() }\n <div class=\"v-data-table-footer__items-per-page\">\n <span>{ t(props.itemsPerPageText) }</span>\n <VSelect\n items={ itemsPerPageOptions.value }\n modelValue={ itemsPerPage.value }\n onUpdate:modelValue={ v => setItemsPerPage(Number(v)) }\n density=\"compact\"\n variant=\"outlined\"\n hide-details\n />\n </div>\n <div class=\"v-data-table-footer__info\">\n <div>\n { t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value) }\n </div>\n </div>\n <div class=\"v-data-table-footer__pagination\">\n <VBtn\n icon={ props.firstIcon }\n variant=\"plain\"\n onClick={ () => page.value = 1 }\n disabled={ page.value === 1 }\n aria-label={ t(props.firstPageLabel) }\n />\n <VBtn\n icon={ props.prevIcon }\n variant=\"plain\"\n onClick={ () => page.value = Math.max(1, page.value - 1) }\n disabled={ page.value === 1 }\n aria-label={ t(props.prevPageLabel) }\n />\n { props.showCurrentPage && (\n <span key=\"page\" class=\"v-data-table-footer__page\">{ page.value }</span>\n )}\n <VBtn\n icon={ props.nextIcon }\n variant=\"plain\"\n onClick={ () => page.value = Math.min(pageCount.value, page.value + 1) }\n disabled={ page.value === pageCount.value }\n aria-label={ t(props.nextPageLabel) }\n />\n <VBtn\n icon={ props.lastIcon }\n variant=\"plain\"\n onClick={ () => page.value = pageCount.value }\n disabled={ page.value === pageCount.value }\n aria-label={ t(props.lastPageLabel) }\n />\n </div>\n </div>\n )\n },\n})\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableGroupHeaderRow.mjs","names":["VBtn","VCheckboxBtn","VDataTableColumn","useHeaders","useSelection","useGroupBy","computed","genericComponent","VDataTableGroupHeaderRow","name","props","item","type","Object","required","setup","slots","isGroupOpen","toggleGroup","extractRows","isSelected","isSomeSelected","select","columns","rows","depth","value","map","column","key","icon","onClick","count","length","modelValue","indeterminate","selectGroup","v"],"sources":["../../../src/labs/VDataTable/VDataTableGroupHeaderRow.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VDataTableColumn } from './VDataTableColumn'\n\n// Composables\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useGroupBy } from './composables/group'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { GroupHeaderItem } from './types'\n\ntype VDataTableGroupHeaderRowSlots = {\n 'data-table-group': [{ item: GroupHeaderItem, count: number, props: Record<string, unknown> }]\n 'data-table-select': [{ props: Record<string, unknown> }]\n}\n\nexport const VDataTableGroupHeaderRow = genericComponent<VDataTableGroupHeaderRowSlots>()({\n name: 'VDataTableGroupHeaderRow',\n\n props: {\n item: {\n type: Object as PropType<GroupHeaderItem>,\n required: true,\n },\n },\n\n setup (props, { slots }) {\n const { isGroupOpen, toggleGroup, extractRows } = useGroupBy()\n const { isSelected, isSomeSelected, select } = useSelection()\n const { columns } = useHeaders()\n\n const rows = computed(() => {\n return extractRows([props.item])\n })\n\n return () => (\n <tr\n class=\"v-data-table-group-header-row\"\n style={{\n '--v-data-table-group-header-row-depth': props.item.depth,\n }}\n >\n { columns.value.map(column => {\n if (column.key === 'data-table-group') {\n const icon = isGroupOpen(props.item) ? '$expand' : '$next'\n const onClick = () => toggleGroup(props.item)\n\n return slots['data-table-group']?.({ item: props.item, count: rows.value.length, props: { icon, onClick } }) ?? (\n <VDataTableColumn class=\"v-data-table-group-header-row__column\">\n <VBtn\n size=\"small\"\n variant=\"text\"\n icon={ icon }\n onClick={ onClick }\n />\n <span>{ props.item.value }</span>\n <span>({ rows.value.length })</span>\n </VDataTableColumn>\n )\n }\n\n if (column.key === 'data-table-select') {\n const modelValue = isSelected(rows.value)\n const indeterminate = isSomeSelected(rows.value) && !modelValue\n const selectGroup = (v: boolean) => select(rows.value, v)\n return slots['data-table-select']?.({ props: { modelValue, indeterminate, 'onUpdate:modelValue': selectGroup } }) ?? (\n <td>\n <VCheckboxBtn\n modelValue={ modelValue }\n indeterminate={ indeterminate }\n onUpdate:modelValue={ selectGroup }\n />\n </td>\n )\n }\n\n return <td />\n })}\n </tr>\n )\n },\n})\n"],"mappings":";AAAA;AAAA,SACSA,IAAI;AAAA,SACJC,YAAY;AAAA,SACZC,gBAAgB,kCAEzB;AAAA,SACSC,UAAU;AAAA,SACVC,YAAY;AAAA,SACZC,UAAU,mCAEnB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,gCAEzB;AASA,OAAO,MAAMC,wBAAwB,GAAGD,gBAAgB,EAAiC,CAAC;EACxFE,IAAI,EAAE,0BAA0B;EAEhCC,KAAK,EAAE;IACLC,IAAI,EAAE;MACJC,IAAI,EAAEC,MAAmC;MACzCC,QAAQ,EAAE;IACZ;EACF,CAAC;EAEDC,KAAK,CAAEL,KAAK,QAAa;IAAA,IAAX;MAAEM;IAAM,CAAC;IACrB,MAAM;MAAEC,WAAW;MAAEC,WAAW;MAAEC;IAAY,CAAC,GAAGd,UAAU,EAAE;IAC9D,MAAM;MAAEe,UAAU;MAAEC,cAAc;MAAEC;IAAO,CAAC,GAAGlB,YAAY,EAAE;IAC7D,MAAM;MAAEmB;IAAQ,CAAC,GAAGpB,UAAU,EAAE;IAEhC,MAAMqB,IAAI,GAAGlB,QAAQ,CAAC,MAAM;MAC1B,OAAOa,WAAW,CAAC,CAACT,KAAK,CAACC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,OAAO;MAAA,SAEG,+BAA+B;MAAA,SAC9B;QACL,uCAAuC,EAAED,KAAK,CAACC,IAAI,CAACc;MACtD;IAAC,IAECF,OAAO,CAACG,KAAK,CAACC,GAAG,CAACC,MAAM,IAAI;MAC5B,IAAIA,MAAM,CAACC,GAAG,KAAK,kBAAkB,EAAE;QACrC,MAAMC,IAAI,GAAGb,WAAW,CAACP,KAAK,CAACC,IAAI,CAAC,GAAG,SAAS,GAAG,OAAO;QAC1D,MAAMoB,OAAO,GAAG,MAAMb,WAAW,CAACR,KAAK,CAACC,IAAI,CAAC;QAE7C,OAAOK,KAAK,CAAC,kBAAkB,CAAC,GAAG;UAAEL,IAAI,EAAED,KAAK,CAACC,IAAI;UAAEqB,KAAK,EAAER,IAAI,CAACE,KAAK,CAACO,MAAM;UAAEvB,KAAK,EAAE;YAAEoB,IAAI;YAAEC;UAAQ;QAAE,CAAC,CAAC;UAAA,SAClF;QAAuC;UAAA;YAAA,QAEtD,OAAO;YAAA,WACJ,MAAM;YAAA,QACPD,IAAI;YAAA,WACDC;UAAO,sCAEXrB,KAAK,CAACC,IAAI,CAACe,KAAK,uDACfF,IAAI,CAACE,KAAK,CAACO,MAAM;QAAA,EAE7B;MACH;MAEA,IAAIL,MAAM,CAACC,GAAG,KAAK,mBAAmB,EAAE;QACtC,MAAMK,UAAU,GAAGd,UAAU,CAACI,IAAI,CAACE,KAAK,CAAC;QACzC,MAAMS,aAAa,GAAGd,cAAc,CAACG,IAAI,CAACE,KAAK,CAAC,IAAI,CAACQ,UAAU;QAC/D,MAAME,WAAW,GAAIC,CAAU,IAAKf,MAAM,CAACE,IAAI,CAACE,KAAK,EAAEW,CAAC,CAAC;QACzD,OAAOrB,KAAK,CAAC,mBAAmB,CAAC,GAAG;UAAEN,KAAK,EAAE;YAAEwB,UAAU;YAAEC,aAAa;YAAE,qBAAqB,EAAEC;UAAY;QAAE,CAAC,CAAC;UAAA,cAG9FF,UAAU;UAAA,iBACPC,aAAa;UAAA,uBACPC;QAAW,UAGtC;MACH;MAEA;IACF,CAAC,CAAC,EAEL;EACH;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VDataTableGroupHeaderRow.mjs","names":["VBtn","VCheckboxBtn","VDataTableColumn","useHeaders","useSelection","useGroupBy","computed","genericComponent","VDataTableGroupHeaderRow","name","props","item","type","Object","required","setup","_ref","slots","isGroupOpen","toggleGroup","extractRows","isSelected","isSomeSelected","select","columns","rows","_createVNode","depth","value","map","column","key","icon","onClick","count","length","default","_createTextVNode","modelValue","indeterminate","selectGroup","v"],"sources":["../../../src/labs/VDataTable/VDataTableGroupHeaderRow.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VDataTableColumn } from './VDataTableColumn'\n\n// Composables\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useGroupBy } from './composables/group'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { GroupHeaderItem } from './types'\n\ntype VDataTableGroupHeaderRowSlots = {\n 'data-table-group': [{ item: GroupHeaderItem, count: number, props: Record<string, unknown> }]\n 'data-table-select': [{ props: Record<string, unknown> }]\n}\n\nexport const VDataTableGroupHeaderRow = genericComponent<VDataTableGroupHeaderRowSlots>()({\n name: 'VDataTableGroupHeaderRow',\n\n props: {\n item: {\n type: Object as PropType<GroupHeaderItem>,\n required: true,\n },\n },\n\n setup (props, { slots }) {\n const { isGroupOpen, toggleGroup, extractRows } = useGroupBy()\n const { isSelected, isSomeSelected, select } = useSelection()\n const { columns } = useHeaders()\n\n const rows = computed(() => {\n return extractRows([props.item])\n })\n\n return () => (\n <tr\n class=\"v-data-table-group-header-row\"\n style={{\n '--v-data-table-group-header-row-depth': props.item.depth,\n }}\n >\n { columns.value.map(column => {\n if (column.key === 'data-table-group') {\n const icon = isGroupOpen(props.item) ? '$expand' : '$next'\n const onClick = () => toggleGroup(props.item)\n\n return slots['data-table-group']?.({ item: props.item, count: rows.value.length, props: { icon, onClick } }) ?? (\n <VDataTableColumn class=\"v-data-table-group-header-row__column\">\n <VBtn\n size=\"small\"\n variant=\"text\"\n icon={ icon }\n onClick={ onClick }\n />\n <span>{ props.item.value }</span>\n <span>({ rows.value.length })</span>\n </VDataTableColumn>\n )\n }\n\n if (column.key === 'data-table-select') {\n const modelValue = isSelected(rows.value)\n const indeterminate = isSomeSelected(rows.value) && !modelValue\n const selectGroup = (v: boolean) => select(rows.value, v)\n return slots['data-table-select']?.({ props: { modelValue, indeterminate, 'onUpdate:modelValue': selectGroup } }) ?? (\n <td>\n <VCheckboxBtn\n modelValue={ modelValue }\n indeterminate={ indeterminate }\n onUpdate:modelValue={ selectGroup }\n />\n </td>\n )\n }\n\n return <td />\n })}\n </tr>\n )\n },\n})\n"],"mappings":"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"}