@vuetify/nightly 3.2.0-dev-20230322.0 → 3.2.0-dev-20230407.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (485) hide show
  1. package/CHANGELOG.md +3 -2
  2. package/dist/_component-variables-labs.sass +2 -1
  3. package/dist/json/attributes.json +4333 -4117
  4. package/dist/json/importMap-labs.json +4 -4
  5. package/dist/json/importMap.json +148 -144
  6. package/dist/json/tags.json +603 -544
  7. package/dist/json/web-types.json +14307 -13728
  8. package/dist/vuetify-labs.css +337 -119
  9. package/dist/vuetify-labs.d.ts +1980 -1092
  10. package/dist/vuetify-labs.esm.js +846 -648
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +845 -649
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.css +117 -110
  15. package/dist/vuetify.d.ts +1534 -753
  16. package/dist/vuetify.esm.js +696 -475
  17. package/dist/vuetify.esm.js.map +1 -1
  18. package/dist/vuetify.js +695 -476
  19. package/dist/vuetify.js.map +1 -1
  20. package/dist/vuetify.min.css +2 -2
  21. package/dist/vuetify.min.js +466 -443
  22. package/dist/vuetify.min.js.map +1 -1
  23. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  24. package/lib/components/VApp/VApp.mjs.map +1 -1
  25. package/lib/components/VApp/index.d.ts +2 -2
  26. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  27. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  28. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  29. package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -3
  30. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  31. package/lib/components/VAutocomplete/index.d.ts +39 -39
  32. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  33. package/lib/components/VBadge/VBadge.css +1 -0
  34. package/lib/components/VBadge/VBadge.mjs +1 -1
  35. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  36. package/lib/components/VBadge/VBadge.sass +1 -0
  37. package/lib/components/VBadge/index.d.ts +13 -13
  38. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  39. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  40. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  41. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  42. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  43. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  44. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  45. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  46. package/lib/components/VBtn/index.d.ts +4 -4
  47. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  48. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  49. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  50. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  51. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  52. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  53. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  54. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  55. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  56. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  57. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  58. package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
  59. package/lib/components/VCalendar/modes/column.mjs.map +1 -1
  60. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  61. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  62. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  63. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  64. package/lib/components/VCalendar/util/props.mjs.map +1 -1
  65. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  66. package/lib/components/VCard/VCard.mjs.map +1 -1
  67. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  68. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  69. package/lib/components/VCard/index.d.ts +1 -13
  70. package/lib/components/VCarousel/VCarousel.mjs +10 -10
  71. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  72. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  73. package/lib/components/VCarousel/index.d.ts +197 -19
  74. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  75. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  76. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  77. package/lib/components/VCheckbox/index.d.ts +41 -50
  78. package/lib/components/VChip/VChip.mjs.map +1 -1
  79. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  80. package/lib/components/VColorPicker/VColorPicker.mjs +58 -61
  81. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  82. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  83. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  84. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  85. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  86. package/lib/components/VColorPicker/index.d.ts +113 -50
  87. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  88. package/lib/components/VCombobox/VCombobox.mjs +11 -4
  89. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  90. package/lib/components/VCombobox/index.d.ts +39 -39
  91. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  92. package/lib/components/VCounter/index.d.ts +123 -24
  93. package/lib/components/VData/VData.mjs.map +1 -1
  94. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  95. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  96. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  97. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  98. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  99. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  100. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  101. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  102. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  103. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  104. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  105. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  106. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  107. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  108. package/lib/components/VDialog/VDialog.css +11 -18
  109. package/lib/components/VDialog/VDialog.mjs +2 -2
  110. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  111. package/lib/components/VDialog/VDialog.sass +8 -15
  112. package/lib/components/VDialog/index.d.ts +43 -43
  113. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  114. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  115. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  116. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  117. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  118. package/lib/components/VField/VField.mjs +5 -1
  119. package/lib/components/VField/VField.mjs.map +1 -1
  120. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  121. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  122. package/lib/components/VFileInput/index.d.ts +9 -9
  123. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  124. package/lib/components/VForm/VForm.mjs.map +1 -1
  125. package/lib/components/VGrid/VCol.mjs +2 -2
  126. package/lib/components/VGrid/VCol.mjs.map +1 -1
  127. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  128. package/lib/components/VGrid/VRow.mjs +2 -2
  129. package/lib/components/VGrid/VRow.mjs.map +1 -1
  130. package/lib/components/VHover/VHover.mjs.map +1 -1
  131. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  132. package/lib/components/VImg/VImg.mjs.map +1 -1
  133. package/lib/components/VImg/index.d.ts +9 -9
  134. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  135. package/lib/components/VInput/VInput.mjs.map +1 -1
  136. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  137. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  138. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  139. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  140. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  141. package/lib/components/VLayout/index.d.ts +2 -2
  142. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  143. package/lib/components/VLazy/index.d.ts +13 -13
  144. package/lib/components/VList/VList.mjs.map +1 -1
  145. package/lib/components/VList/VListChildren.mjs.map +1 -1
  146. package/lib/components/VList/VListGroup.mjs +24 -13
  147. package/lib/components/VList/VListGroup.mjs.map +1 -1
  148. package/lib/components/VList/VListItem.mjs.map +1 -1
  149. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  150. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  151. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  152. package/lib/components/VList/list.mjs.map +1 -1
  153. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  154. package/lib/components/VMain/VMain.mjs.map +1 -1
  155. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  156. package/lib/components/VMenu/index.d.ts +43 -43
  157. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  158. package/lib/components/VMessages/index.d.ts +123 -24
  159. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +8 -2
  160. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  161. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  162. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  163. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  164. package/lib/components/VNoSsr/index.d.ts +1 -13
  165. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  166. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  167. package/lib/components/VOverlay/VOverlay.css +1 -1
  168. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  169. package/lib/components/VOverlay/VOverlay.sass +1 -1
  170. package/lib/components/VOverlay/index.d.ts +15 -15
  171. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  172. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  173. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  174. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  175. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  176. package/lib/components/VPagination/VPagination.mjs +2 -2
  177. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  178. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  179. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  180. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  181. package/lib/components/VProgressLinear/VProgressLinear.css +1 -1
  182. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  183. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  184. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  185. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  186. package/lib/components/VRating/VRating.mjs.map +1 -1
  187. package/lib/components/VRating/index.d.ts +2 -2
  188. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  189. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  190. package/lib/components/VSelect/index.d.ts +39 -39
  191. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  192. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  193. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  194. package/lib/components/VSlideGroup/VSlideGroup.mjs +29 -28
  195. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  196. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  197. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  198. package/lib/components/VSlideGroup/index.d.ts +17 -17
  199. package/lib/components/VSlider/VSlider.mjs +1 -1
  200. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  201. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  202. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  203. package/lib/components/VSlider/slider.mjs +1 -1
  204. package/lib/components/VSlider/slider.mjs.map +1 -1
  205. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  206. package/lib/components/VSnackbar/index.d.ts +43 -43
  207. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  208. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  209. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  210. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  211. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  212. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  213. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  214. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  215. package/lib/components/VSwitch/VSwitch.css +4 -0
  216. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  217. package/lib/components/VSwitch/VSwitch.sass +4 -0
  218. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  219. package/lib/components/VTable/VTable.css +1 -1
  220. package/lib/components/VTable/VTable.mjs.map +1 -1
  221. package/lib/components/VTable/VTable.sass +1 -1
  222. package/lib/components/VTabs/VTab.mjs.map +1 -1
  223. package/lib/components/VTabs/VTabs.mjs +25 -30
  224. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  225. package/lib/components/VTabs/index.d.ts +165 -28
  226. package/lib/components/VTextField/VTextField.mjs +7 -5
  227. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  228. package/lib/components/VTextarea/VTextarea.mjs +1 -1
  229. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  230. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  231. package/lib/components/VTimePicker/SelectingTimes.mjs +3 -3
  232. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  233. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  234. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  235. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  236. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  237. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  238. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  239. package/lib/components/VTimeline/index.d.ts +8 -8
  240. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  241. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  242. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  243. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  244. package/lib/components/VTooltip/index.d.ts +43 -43
  245. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  246. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  247. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  248. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  249. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -0
  250. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -0
  251. package/lib/components/VVirtualScroll/index.mjs.map +1 -0
  252. package/lib/components/VWindow/VWindow.mjs +38 -37
  253. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  254. package/lib/components/VWindow/VWindowItem.mjs +2 -1
  255. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  256. package/lib/components/index.d.ts +1418 -640
  257. package/lib/components/index.mjs +2 -1
  258. package/lib/components/index.mjs.map +1 -1
  259. package/lib/components/transitions/createTransition.mjs +59 -50
  260. package/lib/components/transitions/createTransition.mjs.map +1 -1
  261. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  262. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  263. package/lib/components/transitions/index.d.ts +150 -15
  264. package/lib/composables/border.mjs.map +1 -1
  265. package/lib/composables/color.mjs.map +1 -1
  266. package/lib/composables/defaults.mjs +1 -1
  267. package/lib/composables/defaults.mjs.map +1 -1
  268. package/lib/composables/delay.mjs.map +1 -1
  269. package/lib/composables/density.mjs.map +1 -1
  270. package/lib/composables/dimensions.mjs.map +1 -1
  271. package/lib/composables/display.mjs.map +1 -1
  272. package/lib/composables/elevation.mjs.map +1 -1
  273. package/lib/composables/filter.mjs.map +1 -1
  274. package/lib/composables/focus.mjs.map +1 -1
  275. package/lib/composables/form.mjs.map +1 -1
  276. package/lib/composables/forwardRefs.mjs +29 -15
  277. package/lib/composables/forwardRefs.mjs.map +1 -1
  278. package/lib/composables/group.mjs.map +1 -1
  279. package/lib/composables/hydration.mjs.map +1 -1
  280. package/lib/composables/icons.mjs.map +1 -1
  281. package/lib/composables/intersectionObserver.mjs.map +1 -1
  282. package/lib/composables/items.mjs.map +1 -1
  283. package/lib/composables/layout.mjs.map +1 -1
  284. package/lib/composables/lazy.mjs.map +1 -1
  285. package/lib/composables/loader.mjs.map +1 -1
  286. package/lib/composables/locale.mjs.map +1 -1
  287. package/lib/composables/location.mjs.map +1 -1
  288. package/lib/composables/mutationObserver.mjs.map +1 -1
  289. package/lib/composables/nested/nested.mjs.map +1 -1
  290. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  291. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  292. package/lib/composables/position.mjs.map +1 -1
  293. package/lib/composables/proxiedModel.mjs.map +1 -1
  294. package/lib/composables/refs.mjs.map +1 -1
  295. package/lib/composables/resizeObserver.mjs.map +1 -1
  296. package/lib/composables/rounded.mjs.map +1 -1
  297. package/lib/composables/router.mjs.map +1 -1
  298. package/lib/composables/scopeId.mjs.map +1 -1
  299. package/lib/composables/scroll.mjs.map +1 -1
  300. package/lib/composables/selectLink.mjs.map +1 -1
  301. package/lib/composables/size.mjs.map +1 -1
  302. package/lib/composables/ssrBoot.mjs.map +1 -1
  303. package/lib/composables/stack.mjs.map +1 -1
  304. package/lib/composables/teleport.mjs.map +1 -1
  305. package/lib/composables/theme.mjs.map +1 -1
  306. package/lib/composables/toggleScope.mjs.map +1 -1
  307. package/lib/composables/touch.mjs.map +1 -1
  308. package/lib/composables/transition.mjs.map +1 -1
  309. package/lib/composables/validation.mjs +1 -1
  310. package/lib/composables/validation.mjs.map +1 -1
  311. package/lib/composables/variant.mjs.map +1 -1
  312. package/lib/directives/click-outside/index.mjs.map +1 -1
  313. package/lib/directives/color/index.mjs.map +1 -1
  314. package/lib/directives/intersect/index.mjs.map +1 -1
  315. package/lib/directives/mutate/index.mjs.map +1 -1
  316. package/lib/directives/resize/index.mjs.map +1 -1
  317. package/lib/directives/ripple/index.mjs.map +1 -1
  318. package/lib/directives/scroll/index.mjs.map +1 -1
  319. package/lib/directives/touch/index.mjs.map +1 -1
  320. package/lib/entry-bundler.mjs +1 -1
  321. package/lib/entry-bundler.mjs.map +1 -1
  322. package/lib/framework.mjs +1 -1
  323. package/lib/framework.mjs.map +1 -1
  324. package/lib/index.d.ts +37 -36
  325. package/lib/labs/VDataTable/VDataTable.mjs +3 -1
  326. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  327. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
  328. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  329. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  330. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  331. package/lib/labs/VDataTable/VDataTableRow.mjs +5 -4
  332. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  333. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  334. package/lib/labs/VDataTable/VDataTableServer.mjs +3 -1
  335. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  336. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  337. package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
  338. package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
  339. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  340. package/lib/labs/VDataTable/composables/items.mjs +14 -1
  341. package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
  342. package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
  343. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  344. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  345. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  346. package/lib/labs/VDataTable/composables/virtual.mjs.map +1 -1
  347. package/lib/labs/VDataTable/index.d.ts +317 -274
  348. package/lib/labs/VSkeletonLoader/VSkeletonLoader.css +221 -0
  349. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +141 -0
  350. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -0
  351. package/lib/labs/VSkeletonLoader/VSkeletonLoader.sass +225 -0
  352. package/lib/labs/VSkeletonLoader/_variables.scss +44 -0
  353. package/lib/labs/VSkeletonLoader/index.d.ts +222 -0
  354. package/lib/labs/VSkeletonLoader/index.mjs +2 -0
  355. package/lib/labs/VSkeletonLoader/index.mjs.map +1 -0
  356. package/lib/labs/components.d.ts +470 -362
  357. package/lib/labs/components.mjs +1 -1
  358. package/lib/labs/components.mjs.map +1 -1
  359. package/lib/labs/entry-bundler.mjs.map +1 -1
  360. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  361. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  362. package/lib/locale/af.mjs +2 -1
  363. package/lib/locale/af.mjs.map +1 -1
  364. package/lib/locale/ar.mjs +2 -1
  365. package/lib/locale/ar.mjs.map +1 -1
  366. package/lib/locale/az.mjs +2 -1
  367. package/lib/locale/az.mjs.map +1 -1
  368. package/lib/locale/bg.mjs +2 -1
  369. package/lib/locale/bg.mjs.map +1 -1
  370. package/lib/locale/ca.mjs +2 -1
  371. package/lib/locale/ca.mjs.map +1 -1
  372. package/lib/locale/ckb.mjs +2 -1
  373. package/lib/locale/ckb.mjs.map +1 -1
  374. package/lib/locale/cs.mjs +2 -1
  375. package/lib/locale/cs.mjs.map +1 -1
  376. package/lib/locale/da.mjs +2 -1
  377. package/lib/locale/da.mjs.map +1 -1
  378. package/lib/locale/de.mjs +2 -1
  379. package/lib/locale/de.mjs.map +1 -1
  380. package/lib/locale/el.mjs +2 -1
  381. package/lib/locale/el.mjs.map +1 -1
  382. package/lib/locale/en.mjs +2 -1
  383. package/lib/locale/en.mjs.map +1 -1
  384. package/lib/locale/es.mjs +2 -1
  385. package/lib/locale/es.mjs.map +1 -1
  386. package/lib/locale/et.mjs +2 -1
  387. package/lib/locale/et.mjs.map +1 -1
  388. package/lib/locale/fa.mjs +2 -1
  389. package/lib/locale/fa.mjs.map +1 -1
  390. package/lib/locale/fi.mjs +2 -1
  391. package/lib/locale/fi.mjs.map +1 -1
  392. package/lib/locale/fr.mjs +2 -1
  393. package/lib/locale/fr.mjs.map +1 -1
  394. package/lib/locale/he.mjs +2 -1
  395. package/lib/locale/he.mjs.map +1 -1
  396. package/lib/locale/hr.mjs +2 -1
  397. package/lib/locale/hr.mjs.map +1 -1
  398. package/lib/locale/hu.mjs +2 -1
  399. package/lib/locale/hu.mjs.map +1 -1
  400. package/lib/locale/id.mjs +2 -1
  401. package/lib/locale/id.mjs.map +1 -1
  402. package/lib/locale/index.d.ts +42 -0
  403. package/lib/locale/it.mjs +2 -1
  404. package/lib/locale/it.mjs.map +1 -1
  405. package/lib/locale/ja.mjs +2 -1
  406. package/lib/locale/ja.mjs.map +1 -1
  407. package/lib/locale/ko.mjs +2 -1
  408. package/lib/locale/ko.mjs.map +1 -1
  409. package/lib/locale/lt.mjs +2 -1
  410. package/lib/locale/lt.mjs.map +1 -1
  411. package/lib/locale/lv.mjs +2 -1
  412. package/lib/locale/lv.mjs.map +1 -1
  413. package/lib/locale/nl.mjs +2 -1
  414. package/lib/locale/nl.mjs.map +1 -1
  415. package/lib/locale/no.mjs +2 -1
  416. package/lib/locale/no.mjs.map +1 -1
  417. package/lib/locale/pl.mjs +2 -1
  418. package/lib/locale/pl.mjs.map +1 -1
  419. package/lib/locale/pt.mjs +2 -1
  420. package/lib/locale/pt.mjs.map +1 -1
  421. package/lib/locale/ro.mjs +2 -1
  422. package/lib/locale/ro.mjs.map +1 -1
  423. package/lib/locale/ru.mjs +2 -1
  424. package/lib/locale/ru.mjs.map +1 -1
  425. package/lib/locale/sk.mjs +2 -1
  426. package/lib/locale/sk.mjs.map +1 -1
  427. package/lib/locale/sl.mjs +2 -1
  428. package/lib/locale/sl.mjs.map +1 -1
  429. package/lib/locale/sr-Cyrl.mjs +2 -1
  430. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  431. package/lib/locale/sr-Latn.mjs +2 -1
  432. package/lib/locale/sr-Latn.mjs.map +1 -1
  433. package/lib/locale/sv.mjs +2 -1
  434. package/lib/locale/sv.mjs.map +1 -1
  435. package/lib/locale/th.mjs +2 -1
  436. package/lib/locale/th.mjs.map +1 -1
  437. package/lib/locale/tr.mjs +2 -1
  438. package/lib/locale/tr.mjs.map +1 -1
  439. package/lib/locale/uk.mjs +2 -1
  440. package/lib/locale/uk.mjs.map +1 -1
  441. package/lib/locale/vi.mjs +2 -1
  442. package/lib/locale/vi.mjs.map +1 -1
  443. package/lib/locale/zh-Hans.mjs +2 -1
  444. package/lib/locale/zh-Hans.mjs.map +1 -1
  445. package/lib/locale/zh-Hant.mjs +2 -1
  446. package/lib/locale/zh-Hant.mjs.map +1 -1
  447. package/lib/services/goto/index.mjs.map +1 -1
  448. package/lib/services/goto/util.mjs.map +1 -1
  449. package/lib/util/anchor.mjs.map +1 -1
  450. package/lib/util/animation.mjs.map +1 -1
  451. package/lib/util/box.mjs.map +1 -1
  452. package/lib/util/color/APCA.mjs.map +1 -1
  453. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  454. package/lib/util/color/transformSRGB.mjs.map +1 -1
  455. package/lib/util/colorUtils.mjs.map +1 -1
  456. package/lib/util/console.mjs.map +1 -1
  457. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  458. package/lib/util/dateTimeUtils.mjs.map +1 -1
  459. package/lib/util/defineComponent.mjs.map +1 -1
  460. package/lib/util/dom.mjs.map +1 -1
  461. package/lib/util/getCurrentInstance.mjs.map +1 -1
  462. package/lib/util/getScrollParent.mjs.map +1 -1
  463. package/lib/util/globals.mjs +1 -1
  464. package/lib/util/globals.mjs.map +1 -1
  465. package/lib/util/helpers.mjs.map +1 -1
  466. package/lib/util/injectSelf.mjs.map +1 -1
  467. package/lib/util/isFixedPosition.mjs.map +1 -1
  468. package/lib/util/propsFactory.mjs.map +1 -1
  469. package/lib/util/useRender.mjs.map +1 -1
  470. package/package.json +24 -24
  471. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +0 -179
  472. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +0 -1
  473. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +0 -377
  474. package/lib/components/VSkeletonLoader/_variables.scss +0 -54
  475. package/lib/components/VSkeletonLoader/index.mjs +0 -4
  476. package/lib/components/VSkeletonLoader/index.mjs.map +0 -1
  477. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +0 -1
  478. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +0 -1
  479. package/lib/labs/VVirtualScroll/index.mjs.map +0 -1
  480. /package/lib/{labs → components}/VVirtualScroll/VVirtualScroll.css +0 -0
  481. /package/lib/{labs → components}/VVirtualScroll/VVirtualScroll.mjs +0 -0
  482. /package/lib/{labs → components}/VVirtualScroll/VVirtualScroll.sass +0 -0
  483. /package/lib/{labs → components}/VVirtualScroll/VVirtualScrollItem.mjs +0 -0
  484. /package/lib/{labs → components}/VVirtualScroll/index.d.ts +0 -0
  485. /package/lib/{labs → components}/VVirtualScroll/index.mjs +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"VImg.mjs","names":["VResponsive","intersect","makeTransitionProps","MaybeTransition","computed","nextTick","onBeforeMount","ref","vShow","watch","withDirectives","convertToUnit","genericComponent","SUPPORTS_INTERSECTION","useRender","VImg","name","directives","props","aspectRatio","String","Number","alt","cover","Boolean","eager","gradient","lazySrc","options","type","Object","default","root","undefined","rootMargin","threshold","sizes","src","srcset","width","emits","loadstart","event","load","error","setup","emit","slots","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","value","init","val","oldVal","pollForSize","isIntersecting","lazyImg","Image","complete","onError","onLoad","getSrc","img","timer","timeout","poll","clearTimeout","imgHeight","imgWidth","window","setTimeout","endsWith","startsWith","containClasses","__image","sources","transition","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","additional","handler"],"sources":["../../../src/components/VImg/VImg.tsx"],"sourcesContent":["import './VImg.sass'\n\n// Components\nimport { VResponsive } from '@/components/VResponsive'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Composables\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport {\n computed,\n nextTick,\n onBeforeMount,\n ref,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport type VImgSlots = {\n default: []\n placeholder: []\n error: []\n sources: []\n}\n\nexport const VImg = genericComponent<VImgSlots>()({\n name: 'VImg',\n\n directives: { intersect },\n\n props: {\n aspectRatio: [String, Number],\n alt: String,\n cover: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n srcset: String,\n width: [String, Number],\n\n ...makeTransitionProps(),\n },\n\n emits: {\n loadstart: (event: string | undefined) => true,\n load: (event: string | undefined) => true,\n error: (event: string | undefined) => true,\n },\n\n setup (props, { emit, slots }) {\n const currentSrc = ref('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = ref<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = ref<number>()\n const naturalHeight = ref<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect || 0),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value)\n }\n })\n\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n\n if (!normalisedSrc.value.src) return\n\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n }\n\n function onLoad () {\n getSrc()\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n let timer = -1\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n clearTimeout(timer)\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n timer = window.setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null\n\n const img = (\n <img\n class={['v-img__img', containClasses.value]}\n src={ normalisedSrc.value.src }\n srcset={ normalisedSrc.value.srcset }\n alt={ props.alt }\n sizes={ props.sizes }\n ref={ image }\n onLoad={ onLoad }\n onError={ onError }\n />\n )\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n }\n\n const __preloadImage = () => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n src={ normalisedSrc.value.lazySrc }\n alt={ props.alt }\n />\n )}\n </MaybeTransition>\n )\n\n const __placeholder = () => {\n if (!slots.placeholder) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __error = () => {\n if (!slots.error) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __gradient = () => {\n if (!props.gradient) return null\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n }\n\n const isBooted = ref(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n ]}\n style={{ width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) }}\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n >{{\n additional: () => (\n <>\n <__image />\n <__preloadImage />\n <__gradient />\n <__placeholder />\n <__error />\n </>\n ),\n default: slots.default,\n }}</VResponsive>\n ))\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VImg.mjs","names":["VResponsive","intersect","makeTransitionProps","MaybeTransition","computed","nextTick","onBeforeMount","ref","vShow","watch","withDirectives","convertToUnit","genericComponent","SUPPORTS_INTERSECTION","useRender","VImg","name","directives","props","aspectRatio","String","Number","alt","cover","Boolean","eager","gradient","lazySrc","options","type","Object","default","root","undefined","rootMargin","threshold","sizes","src","srcset","width","emits","loadstart","event","load","error","setup","_ref","emit","slots","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","value","init","val","oldVal","pollForSize","isIntersecting","lazyImg","Image","complete","onError","onLoad","getSrc","img","timer","timeout","arguments","length","poll","clearTimeout","imgHeight","imgWidth","window","setTimeout","endsWith","startsWith","containClasses","__image","_createVNode","sources","transition","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","_withDirectives","additional","_Fragment","_resolveDirective","handler","once"],"sources":["../../../src/components/VImg/VImg.tsx"],"sourcesContent":["import './VImg.sass'\n\n// Components\nimport { VResponsive } from '@/components/VResponsive'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Composables\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport {\n computed,\n nextTick,\n onBeforeMount,\n ref,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport type VImgSlots = {\n default: []\n placeholder: []\n error: []\n sources: []\n}\n\nexport const VImg = genericComponent<VImgSlots>()({\n name: 'VImg',\n\n directives: { intersect },\n\n props: {\n aspectRatio: [String, Number],\n alt: String,\n cover: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n srcset: String,\n width: [String, Number],\n\n ...makeTransitionProps(),\n },\n\n emits: {\n loadstart: (event: string | undefined) => true,\n load: (event: string | undefined) => true,\n error: (event: string | undefined) => true,\n },\n\n setup (props, { emit, slots }) {\n const currentSrc = ref('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = ref<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = ref<number>()\n const naturalHeight = ref<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect || 0),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value)\n }\n })\n\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n\n if (!normalisedSrc.value.src) return\n\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n }\n\n function onLoad () {\n getSrc()\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n let timer = -1\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n clearTimeout(timer)\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n timer = window.setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null\n\n const img = (\n <img\n class={['v-img__img', containClasses.value]}\n src={ normalisedSrc.value.src }\n srcset={ normalisedSrc.value.srcset }\n alt={ props.alt }\n sizes={ props.sizes }\n ref={ image }\n onLoad={ onLoad }\n onError={ onError }\n />\n )\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n }\n\n const __preloadImage = () => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n src={ normalisedSrc.value.lazySrc }\n alt={ props.alt }\n />\n )}\n </MaybeTransition>\n )\n\n const __placeholder = () => {\n if (!slots.placeholder) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __error = () => {\n if (!slots.error) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __gradient = () => {\n if (!props.gradient) return null\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n }\n\n const isBooted = ref(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n ]}\n style={{ width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) }}\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n >{{\n additional: () => (\n <>\n <__image />\n <__preloadImage />\n <__gradient />\n <__placeholder />\n <__error />\n </>\n ),\n default: slots.default,\n }}</VResponsive>\n ))\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n"],"mappings":"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"}
@@ -17,7 +17,7 @@ declare const VImg: {
17
17
  $data: {};
18
18
  $props: Partial<{
19
19
  transition: string | boolean | (vue.TransitionProps & {
20
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
20
+ component?: vue.Component | undefined;
21
21
  });
22
22
  eager: boolean;
23
23
  options: IntersectionObserverInit;
@@ -25,7 +25,7 @@ declare const VImg: {
25
25
  src: string | srcObject;
26
26
  }> & Omit<{
27
27
  transition: string | boolean | (vue.TransitionProps & {
28
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
28
+ component?: vue.Component | undefined;
29
29
  });
30
30
  eager: boolean;
31
31
  options: IntersectionObserverInit;
@@ -83,7 +83,7 @@ declare const VImg: {
83
83
  $el: any;
84
84
  $options: vue.ComponentOptionsBase<{
85
85
  transition: string | boolean | (vue.TransitionProps & {
86
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
86
+ component?: vue.Component | undefined;
87
87
  });
88
88
  eager: boolean;
89
89
  options: IntersectionObserverInit;
@@ -137,7 +137,7 @@ declare const VImg: {
137
137
  error: (event: string | undefined) => true;
138
138
  }, string, {
139
139
  transition: string | boolean | (vue.TransitionProps & {
140
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
140
+ component?: vue.Component | undefined;
141
141
  });
142
142
  eager: boolean;
143
143
  options: IntersectionObserverInit;
@@ -165,7 +165,7 @@ declare const VImg: {
165
165
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle;
166
166
  } & {
167
167
  transition: string | boolean | (vue.TransitionProps & {
168
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
168
+ component?: vue.Component | undefined;
169
169
  });
170
170
  eager: boolean;
171
171
  options: IntersectionObserverInit;
@@ -219,7 +219,7 @@ declare const VImg: {
219
219
  __isSuspense?: undefined;
220
220
  } & vue.ComponentOptionsBase<{
221
221
  transition: string | boolean | (vue.TransitionProps & {
222
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
222
+ component?: vue.Component | undefined;
223
223
  });
224
224
  eager: boolean;
225
225
  options: IntersectionObserverInit;
@@ -273,7 +273,7 @@ declare const VImg: {
273
273
  error: (event: string | undefined) => true;
274
274
  }, string, {
275
275
  transition: string | boolean | (vue.TransitionProps & {
276
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
276
+ component?: vue.Component | undefined;
277
277
  });
278
278
  eager: boolean;
279
279
  options: IntersectionObserverInit;
@@ -282,7 +282,7 @@ declare const VImg: {
282
282
  }, {}, string> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
283
283
  transition: {
284
284
  type: PropType<string | boolean | (vue.TransitionProps & {
285
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
285
+ component?: vue.Component | undefined;
286
286
  })>;
287
287
  default: string;
288
288
  validator: (val: unknown) => boolean;
@@ -311,7 +311,7 @@ declare const VImg: {
311
311
  }, vue.ExtractPropTypes<{
312
312
  transition: {
313
313
  type: PropType<string | boolean | (vue.TransitionProps & {
314
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
314
+ component?: vue.Component | undefined;
315
315
  })>;
316
316
  default: string;
317
317
  validator: (val: unknown) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"InputIcon.mjs","names":["VIcon","useLocale","useInputIcon","props","t","InputIcon","name","localeKey","prepend","prependInner","append","appendInner","clear","listener","label","undefined"],"sources":["../../../src/components/VInput/InputIcon.tsx"],"sourcesContent":["import { VIcon } from '@/components/VIcon'\nimport { useLocale } from '@/composables/locale'\nimport type { IconValue } from '@/composables/icons'\n\ntype names = 'clear' | 'prepend' | 'append' | 'appendInner' | 'prependInner'\n\ntype EventProp<T = (...args: any[]) => any> = T | T[]\ntype InputIconProps<T extends names> = {\n label: string | undefined\n} & {\n [K in `${T}Icon`]: IconValue | undefined\n} & {\n [K in `onClick:${T}`]: EventProp | undefined\n}\n\ntype Listeners<T extends {}, U = keyof T> = U extends `onClick:${infer V extends names}` ? V : never\n\nexport function useInputIcon<T extends {}, K extends names = Listeners<T>> (props: T & InputIconProps<K>) {\n const { t } = useLocale()\n\n function InputIcon ({ name }: { name: Extract<names, K> }) {\n const localeKey = {\n prepend: 'prependAction',\n prependInner: 'prependAction',\n append: 'appendAction',\n appendInner: 'appendAction',\n clear: 'clear',\n }[name]\n const listener = props[`onClick:${name}`]\n const label = listener && localeKey\n ? t(`$vuetify.input.${localeKey}`, props.label ?? '')\n : undefined\n\n return (\n <VIcon\n icon={ props[`${name}Icon`] }\n aria-label={ label }\n onClick={ listener }\n />\n )\n }\n\n return { InputIcon }\n}\n"],"mappings":";SAASA,KAAK;AAAA,SACLC,SAAS;AAgBlB,OAAO,SAASC,YAAY,CAAgDC,KAA4B,EAAE;EACxG,MAAM;IAAEC;EAAE,CAAC,GAAGH,SAAS,EAAE;EAEzB,SAASI,SAAS,OAAyC;IAAA,IAAvC;MAAEC;IAAkC,CAAC;IACvD,MAAMC,SAAS,GAAG;MAChBC,OAAO,EAAE,eAAe;MACxBC,YAAY,EAAE,eAAe;MAC7BC,MAAM,EAAE,cAAc;MACtBC,WAAW,EAAE,cAAc;MAC3BC,KAAK,EAAE;IACT,CAAC,CAACN,IAAI,CAAC;IACP,MAAMO,QAAQ,GAAGV,KAAK,CAAE,WAAUG,IAAK,EAAC,CAAC;IACzC,MAAMQ,KAAK,GAAGD,QAAQ,IAAIN,SAAS,GAC/BH,CAAC,CAAE,kBAAiBG,SAAU,EAAC,EAAEJ,KAAK,CAACW,KAAK,IAAI,EAAE,CAAC,GACnDC,SAAS;IAEb;MAAA,QAEWZ,KAAK,CAAE,GAAEG,IAAK,MAAK,CAAC;MAAA,cACdQ,KAAK;MAAA,WACRD;IAAQ;EAGxB;EAEA,OAAO;IAAER;EAAU,CAAC;AACtB"}
1
+ {"version":3,"file":"InputIcon.mjs","names":["VIcon","useLocale","useInputIcon","props","t","InputIcon","_ref","name","localeKey","prepend","prependInner","append","appendInner","clear","listener","label","undefined","_createVNode"],"sources":["../../../src/components/VInput/InputIcon.tsx"],"sourcesContent":["import { VIcon } from '@/components/VIcon'\nimport { useLocale } from '@/composables/locale'\nimport type { IconValue } from '@/composables/icons'\n\ntype names = 'clear' | 'prepend' | 'append' | 'appendInner' | 'prependInner'\n\ntype EventProp<T = (...args: any[]) => any> = T | T[]\ntype InputIconProps<T extends names> = {\n label: string | undefined\n} & {\n [K in `${T}Icon`]: IconValue | undefined\n} & {\n [K in `onClick:${T}`]: EventProp | undefined\n}\n\ntype Listeners<T extends {}, U = keyof T> = U extends `onClick:${infer V extends names}` ? V : never\n\nexport function useInputIcon<T extends {}, K extends names = Listeners<T>> (props: T & InputIconProps<K>) {\n const { t } = useLocale()\n\n function InputIcon ({ name }: { name: Extract<names, K> }) {\n const localeKey = {\n prepend: 'prependAction',\n prependInner: 'prependAction',\n append: 'appendAction',\n appendInner: 'appendAction',\n clear: 'clear',\n }[name]\n const listener = props[`onClick:${name}`]\n const label = listener && localeKey\n ? t(`$vuetify.input.${localeKey}`, props.label ?? '')\n : undefined\n\n return (\n <VIcon\n icon={ props[`${name}Icon`] }\n aria-label={ label }\n onClick={ listener }\n />\n )\n }\n\n return { InputIcon }\n}\n"],"mappings":";SAASA,KAAK;AAAA,SACLC,SAAS;AAgBlB,OAAO,SAASC,YAAYA,CAAgDC,KAA4B,EAAE;EACxG,MAAM;IAAEC;EAAE,CAAC,GAAGH,SAAS,EAAE;EAEzB,SAASI,SAASA,CAAAC,IAAA,EAAyC;IAAA,IAAvC;MAAEC;IAAkC,CAAC,GAAAD,IAAA;IACvD,MAAME,SAAS,GAAG;MAChBC,OAAO,EAAE,eAAe;MACxBC,YAAY,EAAE,eAAe;MAC7BC,MAAM,EAAE,cAAc;MACtBC,WAAW,EAAE,cAAc;MAC3BC,KAAK,EAAE;IACT,CAAC,CAACN,IAAI,CAAC;IACP,MAAMO,QAAQ,GAAGX,KAAK,CAAE,WAAUI,IAAK,EAAC,CAAC;IACzC,MAAMQ,KAAK,GAAGD,QAAQ,IAAIN,SAAS,GAC/BJ,CAAC,CAAE,kBAAiBI,SAAU,EAAC,EAAEL,KAAK,CAACY,KAAK,IAAI,EAAE,CAAC,GACnDC,SAAS;IAEb,OAAAC,YAAA,CAAAjB,KAAA;MAAA,QAEWG,KAAK,CAAE,GAAEI,IAAK,MAAK,CAAC;MAAA,cACdQ,KAAK;MAAA,WACRD;IAAQ;EAGxB;EAEA,OAAO;IAAET;EAAU,CAAC;AACtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"VInput.mjs","names":["VMessages","IconValue","makeDensityProps","useDensity","makeValidationProps","useValidation","computed","EventProp","genericComponent","getUid","isOn","pick","propsFactory","useRender","useInputIcon","makeVInputProps","id","String","appendIcon","prependIcon","hideDetails","Boolean","messages","type","Array","default","direction","validator","v","includes","VInput","name","props","emits","val","setup","attrs","slots","emit","densityClasses","InputIcon","uid","messagesId","value","errorMessages","isDirty","isDisabled","isReadonly","isPristine","isValid","isValidating","reset","resetValidation","validate","validationClasses","slotProps","hasPrepend","prepend","hasAppend","append","hasMessages","length","hasDetails","details","message","filterInputProps","keys","Object","filter","k"],"sources":["../../../src/components/VInput/VInput.tsx"],"sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport { VMessages } from '@/components/VMessages'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed } from 'vue'\nimport { EventProp, genericComponent, getUid, isOn, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n messagesId: ComputedRef<string>\n isDirty: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n prependIcon: IconValue,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n messages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n 'onClick:prepend': EventProp,\n 'onClick:append': EventProp,\n\n ...makeDensityProps(),\n ...makeValidationProps(),\n}, 'v-input')\n\nexport type VInputSlots = MakeSlots<{\n default: [VInputSlot]\n prepend: [VInputSlot]\n append: [VInputSlot]\n details: [VInputSlot]\n}>\n\nexport const VInput = genericComponent<VInputSlots>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const { densityClasses } = useDensity(props)\n const { InputIcon } = useInputIcon(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = computed(() => `${id.value}-messages`)\n\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props, 'v-input', id)\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n messagesId,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon)\n const hasAppend = !!(slots.append || props.appendIcon)\n const hasMessages = !!(\n props.messages?.length ||\n errorMessages.value.length\n )\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n (hasMessages || !!slots.details)\n )\n\n return (\n <div class={[\n 'v-input',\n `v-input--${props.direction}`,\n densityClasses.value,\n validationClasses.value,\n ]}\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-input__prepend\">\n { slots.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prepend\"\n />\n )}\n </div>\n )}\n\n { slots.default && (\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-input__append\">\n { props.appendIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"append\"\n />\n )}\n\n { slots.append?.(slotProps.value) }\n </div>\n )}\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n id={ messagesId.value }\n active={ hasMessages }\n messages={ errorMessages.value.length > 0\n ? errorMessages.value\n : props.messages\n }\n v-slots={{ message: slots.message }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n )}\n </div>\n )\n })\n\n return {\n reset,\n resetValidation,\n validate,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n\nexport function filterInputProps (props: Record<string, unknown>) {\n const keys = Object.keys(VInput.props).filter(k => !isOn(k))\n return pick(props, keys)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"VInput.mjs","names":["VMessages","IconValue","makeDensityProps","useDensity","makeValidationProps","useValidation","computed","EventProp","genericComponent","getUid","isOn","pick","propsFactory","useRender","useInputIcon","makeVInputProps","id","String","appendIcon","prependIcon","hideDetails","Boolean","messages","type","Array","default","direction","validator","v","includes","VInput","name","props","emits","val","setup","_ref","attrs","slots","emit","densityClasses","InputIcon","uid","messagesId","value","errorMessages","isDirty","isDisabled","isReadonly","isPristine","isValid","isValidating","reset","resetValidation","validate","validationClasses","slotProps","hasPrepend","prepend","hasAppend","append","hasMessages","length","hasDetails","details","_createVNode","message","filterInputProps","keys","Object","filter","k"],"sources":["../../../src/components/VInput/VInput.tsx"],"sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport { VMessages } from '@/components/VMessages'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed } from 'vue'\nimport { EventProp, genericComponent, getUid, isOn, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n messagesId: ComputedRef<string>\n isDirty: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n prependIcon: IconValue,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n messages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n 'onClick:prepend': EventProp,\n 'onClick:append': EventProp,\n\n ...makeDensityProps(),\n ...makeValidationProps(),\n}, 'v-input')\n\nexport type VInputSlots = MakeSlots<{\n default: [VInputSlot]\n prepend: [VInputSlot]\n append: [VInputSlot]\n details: [VInputSlot]\n}>\n\nexport const VInput = genericComponent<VInputSlots>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const { densityClasses } = useDensity(props)\n const { InputIcon } = useInputIcon(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = computed(() => `${id.value}-messages`)\n\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props, 'v-input', id)\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n messagesId,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon)\n const hasAppend = !!(slots.append || props.appendIcon)\n const hasMessages = !!(\n props.messages?.length ||\n errorMessages.value.length\n )\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n (hasMessages || !!slots.details)\n )\n\n return (\n <div class={[\n 'v-input',\n `v-input--${props.direction}`,\n densityClasses.value,\n validationClasses.value,\n ]}\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-input__prepend\">\n { slots.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prepend\"\n />\n )}\n </div>\n )}\n\n { slots.default && (\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-input__append\">\n { props.appendIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"append\"\n />\n )}\n\n { slots.append?.(slotProps.value) }\n </div>\n )}\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n id={ messagesId.value }\n active={ hasMessages }\n messages={ errorMessages.value.length > 0\n ? errorMessages.value\n : props.messages\n }\n v-slots={{ message: slots.message }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n )}\n </div>\n )\n })\n\n return {\n reset,\n resetValidation,\n validate,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n\nexport function filterInputProps (props: Record<string, unknown>) {\n const keys = Object.keys(VInput.props).filter(k => !isOn(k))\n return pick(props, keys)\n}\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,SAAS,kCAElB;AAAA,SACSC,SAAS;AAAA,SACTC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,mBAAmB,EAAEC,aAAa,4CAE3C;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,SAAS,EAAEC,gBAAgB,EAAEC,MAAM,EAAEC,IAAI,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAEjF;AAAA,SAGSC,YAAY;AAgBrB,OAAO,MAAMC,eAAe,GAAGH,YAAY,CAAC;EAC1CI,EAAE,EAAEC,MAAM;EACVC,UAAU,EAAEjB,SAAS;EACrBkB,WAAW,EAAElB,SAAS;EACtBmB,WAAW,EAAE,CAACC,OAAO,EAAEJ,MAAM,CAA+B;EAC5DK,QAAQ,EAAE;IACRC,IAAI,EAAE,CAACC,KAAK,EAAEP,MAAM,CAAgC;IACpDQ,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDC,SAAS,EAAE;IACTH,IAAI,EAAEN,MAA6C;IACnDQ,OAAO,EAAE,YAAY;IACrBE,SAAS,EAAGC,CAAM,IAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAACC,QAAQ,CAACD,CAAC;EAC9D,CAAC;EAED,iBAAiB,EAAErB,SAAS;EAC5B,gBAAgB,EAAEA,SAAS;EAE3B,GAAGL,gBAAgB,EAAE;EACrB,GAAGE,mBAAmB;AACxB,CAAC,EAAE,SAAS,CAAC;AASb,OAAO,MAAM0B,MAAM,GAAGtB,gBAAgB,EAAe,CAAC;EACpDuB,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAE;IACL,GAAGjB,eAAe;EACpB,CAAC;EAEDkB,KAAK,EAAE;IACL,mBAAmB,EAAGC,GAAQ,IAAK;EACrC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAA0B;IAAA,IAAxB;MAAEC,KAAK;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAH,IAAA;IAClC,MAAM;MAAEI;IAAe,CAAC,GAAGrC,UAAU,CAAC6B,KAAK,CAAC;IAC5C,MAAM;MAAES;IAAU,CAAC,GAAG3B,YAAY,CAACkB,KAAK,CAAC;IAEzC,MAAMU,GAAG,GAAGjC,MAAM,EAAE;IACpB,MAAMO,EAAE,GAAGV,QAAQ,CAAC,MAAM0B,KAAK,CAAChB,EAAE,IAAK,SAAQ0B,GAAI,EAAC,CAAC;IACrD,MAAMC,UAAU,GAAGrC,QAAQ,CAAC,MAAO,GAAEU,EAAE,CAAC4B,KAAM,WAAU,CAAC;IAEzD,MAAM;MACJC,aAAa;MACbC,OAAO;MACPC,UAAU;MACVC,UAAU;MACVC,UAAU;MACVC,OAAO;MACPC,YAAY;MACZC,KAAK;MACLC,eAAe;MACfC,QAAQ;MACRC;IACF,CAAC,GAAGlD,aAAa,CAAC2B,KAAK,EAAE,SAAS,EAAEhB,EAAE,CAAC;IAEvC,MAAMwC,SAAS,GAAGlD,QAAQ,CAAa,OAAO;MAC5CU,EAAE;MACF2B,UAAU;MACVG,OAAO;MACPC,UAAU;MACVC,UAAU;MACVC,UAAU;MACVC,OAAO;MACPC,YAAY;MACZC,KAAK;MACLC,eAAe;MACfC;IACF,CAAC,CAAC,CAAC;IAEHzC,SAAS,CAAC,MAAM;MACd,MAAM4C,UAAU,GAAG,CAAC,EAAEnB,KAAK,CAACoB,OAAO,IAAI1B,KAAK,CAACb,WAAW,CAAC;MACzD,MAAMwC,SAAS,GAAG,CAAC,EAAErB,KAAK,CAACsB,MAAM,IAAI5B,KAAK,CAACd,UAAU,CAAC;MACtD,MAAM2C,WAAW,GAAG,CAAC,EACnB7B,KAAK,CAACV,QAAQ,EAAEwC,MAAM,IACtBjB,aAAa,CAACD,KAAK,CAACkB,MAAM,CAC3B;MACD,MAAMC,UAAU,GAAG,CAAC/B,KAAK,CAACZ,WAAW,IACnCY,KAAK,CAACZ,WAAW,KAAK,MAAM,KAC3ByC,WAAW,IAAI,CAAC,CAACvB,KAAK,CAAC0B,OAAO,CAChC;MAED,OAAAC,YAAA;QAAA,SACc,CACV,SAAS,EACR,YAAWjC,KAAK,CAACN,SAAU,EAAC,EAC7Bc,cAAc,CAACI,KAAK,EACpBW,iBAAiB,CAACX,KAAK;MACxB,IAEGa,UAAU,IAAAQ,YAAA;QAAA,OACD,SAAS;QAAA,SAAO;MAAkB,IACvC3B,KAAK,CAACoB,OAAO,GAAGF,SAAS,CAACZ,KAAK,CAAC,EAEhCZ,KAAK,CAACb,WAAW,IAAA8C,YAAA,CAAAxB,SAAA;QAAA,OAEX,cAAc;QAAA,QACb;MAAS,QAEjB,EAEJ,EAECH,KAAK,CAACb,OAAO,IAAAwC,YAAA;QAAA,SACF;MAAkB,IACzB3B,KAAK,CAACb,OAAO,GAAG+B,SAAS,CAACZ,KAAK,CAAC,EAErC,EAECe,SAAS,IAAAM,YAAA;QAAA,OACA,QAAQ;QAAA,SAAO;MAAiB,IACrCjC,KAAK,CAACd,UAAU,IAAA+C,YAAA,CAAAxB,SAAA;QAAA,OAEV,aAAa;QAAA,QACZ;MAAQ,QAEhB,EAECH,KAAK,CAACsB,MAAM,GAAGJ,SAAS,CAACZ,KAAK,CAAC,EAEpC,EAECmB,UAAU,IAAAE,YAAA;QAAA,SACC;MAAkB,IAAAA,YAAA,CAAAjE,SAAA;QAAA,MAEpB2C,UAAU,CAACC,KAAK;QAAA,UACZiB,WAAW;QAAA,YACThB,aAAa,CAACD,KAAK,CAACkB,MAAM,GAAG,CAAC,GACrCjB,aAAa,CAACD,KAAK,GACnBZ,KAAK,CAACV;MAAQ,GAET;QAAE4C,OAAO,EAAE5B,KAAK,CAAC4B;MAAQ,CAAC,GAGnC5B,KAAK,CAAC0B,OAAO,GAAGR,SAAS,CAACZ,KAAK,CAAC,EAErC;IAGP,CAAC,CAAC;IAEF,OAAO;MACLQ,KAAK;MACLC,eAAe;MACfC;IACF,CAAC;EACH;AACF,CAAC,CAAC;AAIF,OAAO,SAASa,gBAAgBA,CAAEnC,KAA8B,EAAE;EAChE,MAAMoC,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACtC,MAAM,CAACE,KAAK,CAAC,CAACsC,MAAM,CAACC,CAAC,IAAI,CAAC7D,IAAI,CAAC6D,CAAC,CAAC,CAAC;EAC5D,OAAO5D,IAAI,CAACqB,KAAK,EAAEoC,IAAI,CAAC;AAC1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"VItem.mjs","names":["makeGroupItemProps","useGroupItem","VItemGroupSymbol","genericComponent","VItem","name","props","emits","val","setup","slots","isSelected","select","toggle","selectedClass","value","disabled","default"],"sources":["../../../src/components/VItemGroup/VItem.tsx"],"sourcesContent":["// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { VItemGroupSymbol } from './VItemGroup'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VItem = genericComponent<{ default: [GroupItemProvide] }>()({\n name: 'VItem',\n\n props: makeGroupItemProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const { isSelected, select, toggle, selectedClass, value, disabled } = useGroupItem(props, VItemGroupSymbol)\n return () => slots.default?.({\n isSelected: isSelected.value,\n selectedClass: selectedClass.value,\n select,\n toggle,\n value: value.value,\n disabled: disabled.value,\n })\n },\n})\n\nexport type VItem = InstanceType<typeof VItem>\n"],"mappings":"AAAA;AAAA,SACSA,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,gBAAgB,4BAEzB;AAAA,SACSC,gBAAgB,gCAEzB;AAGA,OAAO,MAAMC,KAAK,GAAGD,gBAAgB,EAAmC,CAAC;EACvEE,IAAI,EAAE,OAAO;EAEbC,KAAK,EAAEN,kBAAkB,EAAE;EAE3BO,KAAK,EAAE;IACL,gBAAgB,EAAGC,GAAuB,IAAK;EACjD,CAAC;EAEDC,KAAK,CAAEH,KAAK,QAAa;IAAA,IAAX;MAAEI;IAAM,CAAC;IACrB,MAAM;MAAEC,UAAU;MAAEC,MAAM;MAAEC,MAAM;MAAEC,aAAa;MAAEC,KAAK;MAAEC;IAAS,CAAC,GAAGf,YAAY,CAACK,KAAK,EAAEJ,gBAAgB,CAAC;IAC5G,OAAO,MAAMQ,KAAK,CAACO,OAAO,GAAG;MAC3BN,UAAU,EAAEA,UAAU,CAACI,KAAK;MAC5BD,aAAa,EAAEA,aAAa,CAACC,KAAK;MAClCH,MAAM;MACNC,MAAM;MACNE,KAAK,EAAEA,KAAK,CAACA,KAAK;MAClBC,QAAQ,EAAEA,QAAQ,CAACD;IACrB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VItem.mjs","names":["makeGroupItemProps","useGroupItem","VItemGroupSymbol","genericComponent","VItem","name","props","emits","val","setup","_ref","slots","isSelected","select","toggle","selectedClass","value","disabled","default"],"sources":["../../../src/components/VItemGroup/VItem.tsx"],"sourcesContent":["// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { VItemGroupSymbol } from './VItemGroup'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VItem = genericComponent<{ default: [GroupItemProvide] }>()({\n name: 'VItem',\n\n props: makeGroupItemProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const { isSelected, select, toggle, selectedClass, value, disabled } = useGroupItem(props, VItemGroupSymbol)\n return () => slots.default?.({\n isSelected: isSelected.value,\n selectedClass: selectedClass.value,\n select,\n toggle,\n value: value.value,\n disabled: disabled.value,\n })\n },\n})\n\nexport type VItem = InstanceType<typeof VItem>\n"],"mappings":"AAAA;AAAA,SACSA,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,gBAAgB,4BAEzB;AAAA,SACSC,gBAAgB,gCAEzB;AAGA,OAAO,MAAMC,KAAK,GAAGD,gBAAgB,EAAmC,CAAC;EACvEE,IAAI,EAAE,OAAO;EAEbC,KAAK,EAAEN,kBAAkB,EAAE;EAE3BO,KAAK,EAAE;IACL,gBAAgB,EAAGC,GAAuB,IAAK;EACjD,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE,UAAU;MAAEC,MAAM;MAAEC,MAAM;MAAEC,aAAa;MAAEC,KAAK;MAAEC;IAAS,CAAC,GAAGhB,YAAY,CAACK,KAAK,EAAEJ,gBAAgB,CAAC;IAC5G,OAAO,MAAMS,KAAK,CAACO,OAAO,GAAG;MAC3BN,UAAU,EAAEA,UAAU,CAACI,KAAK;MAC5BD,aAAa,EAAEA,aAAa,CAACC,KAAK;MAClCH,MAAM;MACNC,MAAM;MACNE,KAAK,EAAEA,KAAK,CAACA,KAAK;MAClBC,QAAQ,EAAEA,QAAQ,CAACD;IACrB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"VItemGroup.mjs","names":["makeGroupProps","useGroup","makeTagProps","makeThemeProps","provideTheme","genericComponent","VItemGroupSymbol","Symbol","for","VItemGroup","name","props","selectedClass","emits","value","setup","slots","themeClasses","isSelected","select","next","prev","selected","default"],"sources":["../../../src/components/VItemGroup/VItemGroup.tsx"],"sourcesContent":["// Styles\nimport './VItemGroup.sass'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\nexport const VItemGroupSymbol = Symbol.for('vuetify:v-item-group')\n\nexport const VItemGroup = genericComponent()({\n name: 'VItemGroup',\n\n props: {\n ...makeGroupProps({\n selectedClass: 'v-item--selected',\n }),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isSelected, select, next, prev, selected } = useGroup(props, VItemGroupSymbol)\n\n return () => (\n <props.tag\n class={[\n 'v-item-group',\n themeClasses.value,\n ]}\n >\n { slots.default?.({\n isSelected,\n select,\n next,\n prev,\n selected: selected.value,\n })}\n </props.tag>\n )\n },\n})\n\nexport type VItemGroup = InstanceType<typeof VItemGroup>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,cAAc,EAAEC,QAAQ;AAAA,SACxBC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY,uCAErC;AAAA,SACSC,gBAAgB;AAEzB,OAAO,MAAMC,gBAAgB,GAAGC,MAAM,CAACC,GAAG,CAAC,sBAAsB,CAAC;AAElE,OAAO,MAAMC,UAAU,GAAGJ,gBAAgB,EAAE,CAAC;EAC3CK,IAAI,EAAE,YAAY;EAElBC,KAAK,EAAE;IACL,GAAGX,cAAc,CAAC;MAChBY,aAAa,EAAE;IACjB,CAAC,CAAC;IACF,GAAGV,YAAY,EAAE;IACjB,GAAGC,cAAc;EACnB,CAAC;EAEDU,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAU,IAAK;EACvC,CAAC;EAEDC,KAAK,CAAEJ,KAAK,QAAa;IAAA,IAAX;MAAEK;IAAM,CAAC;IACrB,MAAM;MAAEC;IAAa,CAAC,GAAGb,YAAY,CAACO,KAAK,CAAC;IAC5C,MAAM;MAAEO,UAAU;MAAEC,MAAM;MAAEC,IAAI;MAAEC,IAAI;MAAEC;IAAS,CAAC,GAAGrB,QAAQ,CAACU,KAAK,EAAEL,gBAAgB,CAAC;IAEtF,OAAO;MAAA,SAEI,CACL,cAAc,EACdW,YAAY,CAACH,KAAK;IACnB;MAAA,gBAECE,KAAK,CAACO,OAAO,GAAG;QAChBL,UAAU;QACVC,MAAM;QACNC,IAAI;QACJC,IAAI;QACJC,QAAQ,EAAEA,QAAQ,CAACR;MACrB,CAAC,CAAC;IAAA,EAEL;EACH;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VItemGroup.mjs","names":["makeGroupProps","useGroup","makeTagProps","makeThemeProps","provideTheme","genericComponent","VItemGroupSymbol","Symbol","for","VItemGroup","name","props","selectedClass","emits","value","setup","_ref","slots","themeClasses","isSelected","select","next","prev","selected","_createVNode","tag","default"],"sources":["../../../src/components/VItemGroup/VItemGroup.tsx"],"sourcesContent":["// Styles\nimport './VItemGroup.sass'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\nexport const VItemGroupSymbol = Symbol.for('vuetify:v-item-group')\n\nexport const VItemGroup = genericComponent()({\n name: 'VItemGroup',\n\n props: {\n ...makeGroupProps({\n selectedClass: 'v-item--selected',\n }),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isSelected, select, next, prev, selected } = useGroup(props, VItemGroupSymbol)\n\n return () => (\n <props.tag\n class={[\n 'v-item-group',\n themeClasses.value,\n ]}\n >\n { slots.default?.({\n isSelected,\n select,\n next,\n prev,\n selected: selected.value,\n })}\n </props.tag>\n )\n },\n})\n\nexport type VItemGroup = InstanceType<typeof VItemGroup>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,cAAc,EAAEC,QAAQ;AAAA,SACxBC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY,uCAErC;AAAA,SACSC,gBAAgB;AAEzB,OAAO,MAAMC,gBAAgB,GAAGC,MAAM,CAACC,GAAG,CAAC,sBAAsB,CAAC;AAElE,OAAO,MAAMC,UAAU,GAAGJ,gBAAgB,EAAE,CAAC;EAC3CK,IAAI,EAAE,YAAY;EAElBC,KAAK,EAAE;IACL,GAAGX,cAAc,CAAC;MAChBY,aAAa,EAAE;IACjB,CAAC,CAAC;IACF,GAAGV,YAAY,EAAE;IACjB,GAAGC,cAAc;EACnB,CAAC;EAEDU,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAU,IAAK;EACvC,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAa,CAAC,GAAGd,YAAY,CAACO,KAAK,CAAC;IAC5C,MAAM;MAAEQ,UAAU;MAAEC,MAAM;MAAEC,IAAI;MAAEC,IAAI;MAAEC;IAAS,CAAC,GAAGtB,QAAQ,CAACU,KAAK,EAAEL,gBAAgB,CAAC;IAEtF,OAAO,MAAAkB,YAAA,CAAAb,KAAA,CAAAc,GAAA;MAAA,SAEI,CACL,cAAc,EACdP,YAAY,CAACJ,KAAK;IACnB;MAAAY,OAAA,EAAAA,CAAA,MAECT,KAAK,CAACS,OAAO,GAAG;QAChBP,UAAU;QACVC,MAAM;QACNC,IAAI;QACJC,IAAI;QACJC,QAAQ,EAAEA,QAAQ,CAACT;MACrB,CAAC,CAAC;IAAA,EAEL;EACH;AACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"VLabel.mjs","names":["makeThemeProps","genericComponent","useRender","VLabel","name","props","text","String","clickable","Boolean","setup","slots","default"],"sources":["../../../src/components/VLabel/VLabel.tsx"],"sourcesContent":["// Styles\nimport './VLabel.sass'\n\n// Composables\nimport { makeThemeProps } from '@/composables/theme'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\nexport const VLabel = genericComponent()({\n name: 'VLabel',\n\n props: {\n text: String,\n clickable: Boolean,\n\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n useRender(() => (\n <label\n class={[\n 'v-label',\n {\n 'v-label--clickable': props.clickable,\n },\n ]}\n >\n { props.text }\n\n { slots.default?.() }\n </label>\n ))\n\n return {}\n },\n})\n\nexport type VLabel = InstanceType<typeof VLabel>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,cAAc,uCAEvB;AAAA,SACSC,gBAAgB,EAAEC,SAAS;AAEpC,OAAO,MAAMC,MAAM,GAAGF,gBAAgB,EAAE,CAAC;EACvCG,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAE;IACLC,IAAI,EAAEC,MAAM;IACZC,SAAS,EAAEC,OAAO;IAElB,GAAGT,cAAc;EACnB,CAAC;EAEDU,KAAK,CAAEL,KAAK,QAAa;IAAA,IAAX;MAAEM;IAAM,CAAC;IACrBT,SAAS,CAAC;MAAA,SAEC,CACL,SAAS,EACT;QACE,oBAAoB,EAAEG,KAAK,CAACG;MAC9B,CAAC;IACF,IAECH,KAAK,CAACC,IAAI,EAEVK,KAAK,CAACC,OAAO,IAAI,EAEtB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VLabel.mjs","names":["makeThemeProps","genericComponent","useRender","VLabel","name","props","text","String","clickable","Boolean","setup","_ref","slots","_createVNode","default"],"sources":["../../../src/components/VLabel/VLabel.tsx"],"sourcesContent":["// Styles\nimport './VLabel.sass'\n\n// Composables\nimport { makeThemeProps } from '@/composables/theme'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\nexport const VLabel = genericComponent()({\n name: 'VLabel',\n\n props: {\n text: String,\n clickable: Boolean,\n\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n useRender(() => (\n <label\n class={[\n 'v-label',\n {\n 'v-label--clickable': props.clickable,\n },\n ]}\n >\n { props.text }\n\n { slots.default?.() }\n </label>\n ))\n\n return {}\n },\n})\n\nexport type VLabel = InstanceType<typeof VLabel>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,cAAc,uCAEvB;AAAA,SACSC,gBAAgB,EAAEC,SAAS;AAEpC,OAAO,MAAMC,MAAM,GAAGF,gBAAgB,EAAE,CAAC;EACvCG,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAE;IACLC,IAAI,EAAEC,MAAM;IACZC,SAAS,EAAEC,OAAO;IAElB,GAAGT,cAAc;EACnB,CAAC;EAEDU,KAAKA,CAAEL,KAAK,EAAAM,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrBT,SAAS,CAAC,MAAAW,YAAA;MAAA,SAEC,CACL,SAAS,EACT;QACE,oBAAoB,EAAER,KAAK,CAACG;MAC9B,CAAC;IACF,IAECH,KAAK,CAACC,IAAI,EAEVM,KAAK,CAACE,OAAO,IAAI,EAEtB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"VLayout.mjs","names":["createLayout","makeLayoutProps","genericComponent","useRender","VLayout","name","props","setup","slots","layoutClasses","layoutStyles","getLayoutItem","items","layoutRef","value","default"],"sources":["../../../src/components/VLayout/VLayout.tsx"],"sourcesContent":["// Styles\nimport './VLayout.sass'\n\n// Composables\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\nexport const VLayout = genericComponent()({\n name: 'VLayout',\n\n props: makeLayoutProps(),\n\n setup (props, { slots }) {\n const { layoutClasses, layoutStyles, getLayoutItem, items, layoutRef } = createLayout(props)\n\n useRender(() => (\n <div ref={ layoutRef } class={ layoutClasses.value } style={ layoutStyles.value }>\n { slots.default?.() }\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n }\n },\n})\n\nexport type VLayout = InstanceType<typeof VLayout>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,YAAY,EAAEC,eAAe,wCAEtC;AAAA,SACSC,gBAAgB,EAAEC,SAAS;AAEpC,OAAO,MAAMC,OAAO,GAAGF,gBAAgB,EAAE,CAAC;EACxCG,IAAI,EAAE,SAAS;EAEfC,KAAK,EAAEL,eAAe,EAAE;EAExBM,KAAK,CAAED,KAAK,QAAa;IAAA,IAAX;MAAEE;IAAM,CAAC;IACrB,MAAM;MAAEC,aAAa;MAAEC,YAAY;MAAEC,aAAa;MAAEC,KAAK;MAAEC;IAAU,CAAC,GAAGb,YAAY,CAACM,KAAK,CAAC;IAE5FH,SAAS,CAAC;MAAA,OACGU,SAAS;MAAA,SAAWJ,aAAa,CAACK,KAAK;MAAA,SAAWJ,YAAY,CAACI;IAAK,IAC3EN,KAAK,CAACO,OAAO,IAAI,EAEtB,CAAC;IAEF,OAAO;MACLJ,aAAa;MACbC;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VLayout.mjs","names":["createLayout","makeLayoutProps","genericComponent","useRender","VLayout","name","props","setup","_ref","slots","layoutClasses","layoutStyles","getLayoutItem","items","layoutRef","_createVNode","value","default"],"sources":["../../../src/components/VLayout/VLayout.tsx"],"sourcesContent":["// Styles\nimport './VLayout.sass'\n\n// Composables\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\nexport const VLayout = genericComponent()({\n name: 'VLayout',\n\n props: makeLayoutProps(),\n\n setup (props, { slots }) {\n const { layoutClasses, layoutStyles, getLayoutItem, items, layoutRef } = createLayout(props)\n\n useRender(() => (\n <div ref={ layoutRef } class={ layoutClasses.value } style={ layoutStyles.value }>\n { slots.default?.() }\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n }\n },\n})\n\nexport type VLayout = InstanceType<typeof VLayout>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,YAAY,EAAEC,eAAe,wCAEtC;AAAA,SACSC,gBAAgB,EAAEC,SAAS;AAEpC,OAAO,MAAMC,OAAO,GAAGF,gBAAgB,EAAE,CAAC;EACxCG,IAAI,EAAE,SAAS;EAEfC,KAAK,EAAEL,eAAe,EAAE;EAExBM,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE,aAAa;MAAEC,YAAY;MAAEC,aAAa;MAAEC,KAAK;MAAEC;IAAU,CAAC,GAAGd,YAAY,CAACM,KAAK,CAAC;IAE5FH,SAAS,CAAC,MAAAY,YAAA;MAAA,OACGD,SAAS;MAAA,SAAWJ,aAAa,CAACM,KAAK;MAAA,SAAWL,YAAY,CAACK;IAAK,IAC3EP,KAAK,CAACQ,OAAO,IAAI,EAEtB,CAAC;IAEF,OAAO;MACLL,aAAa;MACbC;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"VLayoutItem.mjs","names":["makeLayoutItemProps","useLayoutItem","computed","toRef","genericComponent","VLayoutItem","name","props","position","type","String","required","size","Number","default","modelValue","Boolean","setup","slots","layoutItemStyles","id","order","parseInt","elementSize","layoutSize","active","absolute","value"],"sources":["../../../src/components/VLayout/VLayoutItem.tsx"],"sourcesContent":["// Styles\nimport './VLayoutItem.sass'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VLayoutItem = genericComponent()({\n name: 'VLayoutItem',\n\n props: {\n position: {\n type: String as PropType<'top' | 'right' | 'bottom' | 'left'>,\n required: true,\n },\n size: {\n type: [Number, String],\n default: 300,\n },\n modelValue: Boolean,\n ...makeLayoutItemProps(),\n },\n\n setup (props, { slots }) {\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props, 'position'),\n elementSize: toRef(props, 'size'),\n layoutSize: toRef(props, 'size'),\n active: toRef(props, 'modelValue'),\n absolute: toRef(props, 'absolute'),\n })\n\n return () => (\n <div\n class={[\n 'v-layout-item',\n ]}\n style={ layoutItemStyles.value }\n >\n { slots.default?.() }\n </div>\n )\n },\n})\n\nexport type VLayoutItem = InstanceType<typeof VLayoutItem>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,mBAAmB,EAAEC,aAAa,wCAE3C;AACA,SAASC,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,gBAAgB,gCAEzB;AAGA,OAAO,MAAMC,WAAW,GAAGD,gBAAgB,EAAE,CAAC;EAC5CE,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAE;IACLC,QAAQ,EAAE;MACRC,IAAI,EAAEC,MAAuD;MAC7DC,QAAQ,EAAE;IACZ,CAAC;IACDC,IAAI,EAAE;MACJH,IAAI,EAAE,CAACI,MAAM,EAAEH,MAAM,CAAC;MACtBI,OAAO,EAAE;IACX,CAAC;IACDC,UAAU,EAAEC,OAAO;IACnB,GAAGhB,mBAAmB;EACxB,CAAC;EAEDiB,KAAK,CAAEV,KAAK,QAAa;IAAA,IAAX;MAAEW;IAAM,CAAC;IACrB,MAAM;MAAEC;IAAiB,CAAC,GAAGlB,aAAa,CAAC;MACzCmB,EAAE,EAAEb,KAAK,CAACD,IAAI;MACde,KAAK,EAAEnB,QAAQ,CAAC,MAAMoB,QAAQ,CAACf,KAAK,CAACc,KAAK,EAAE,EAAE,CAAC,CAAC;MAChDb,QAAQ,EAAEL,KAAK,CAACI,KAAK,EAAE,UAAU,CAAC;MAClCgB,WAAW,EAAEpB,KAAK,CAACI,KAAK,EAAE,MAAM,CAAC;MACjCiB,UAAU,EAAErB,KAAK,CAACI,KAAK,EAAE,MAAM,CAAC;MAChCkB,MAAM,EAAEtB,KAAK,CAACI,KAAK,EAAE,YAAY,CAAC;MAClCmB,QAAQ,EAAEvB,KAAK,CAACI,KAAK,EAAE,UAAU;IACnC,CAAC,CAAC;IAEF,OAAO;MAAA,SAEI,CACL,eAAe,CAChB;MAAA,SACOY,gBAAgB,CAACQ;IAAK,IAE5BT,KAAK,CAACJ,OAAO,IAAI,EAEtB;EACH;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VLayoutItem.mjs","names":["makeLayoutItemProps","useLayoutItem","computed","toRef","genericComponent","VLayoutItem","name","props","position","type","String","required","size","Number","default","modelValue","Boolean","setup","_ref","slots","layoutItemStyles","id","order","parseInt","elementSize","layoutSize","active","absolute","_createVNode","value"],"sources":["../../../src/components/VLayout/VLayoutItem.tsx"],"sourcesContent":["// Styles\nimport './VLayoutItem.sass'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VLayoutItem = genericComponent()({\n name: 'VLayoutItem',\n\n props: {\n position: {\n type: String as PropType<'top' | 'right' | 'bottom' | 'left'>,\n required: true,\n },\n size: {\n type: [Number, String],\n default: 300,\n },\n modelValue: Boolean,\n ...makeLayoutItemProps(),\n },\n\n setup (props, { slots }) {\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props, 'position'),\n elementSize: toRef(props, 'size'),\n layoutSize: toRef(props, 'size'),\n active: toRef(props, 'modelValue'),\n absolute: toRef(props, 'absolute'),\n })\n\n return () => (\n <div\n class={[\n 'v-layout-item',\n ]}\n style={ layoutItemStyles.value }\n >\n { slots.default?.() }\n </div>\n )\n },\n})\n\nexport type VLayoutItem = InstanceType<typeof VLayoutItem>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,mBAAmB,EAAEC,aAAa,wCAE3C;AACA,SAASC,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,gBAAgB,gCAEzB;AAGA,OAAO,MAAMC,WAAW,GAAGD,gBAAgB,EAAE,CAAC;EAC5CE,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAE;IACLC,QAAQ,EAAE;MACRC,IAAI,EAAEC,MAAuD;MAC7DC,QAAQ,EAAE;IACZ,CAAC;IACDC,IAAI,EAAE;MACJH,IAAI,EAAE,CAACI,MAAM,EAAEH,MAAM,CAAC;MACtBI,OAAO,EAAE;IACX,CAAC;IACDC,UAAU,EAAEC,OAAO;IACnB,GAAGhB,mBAAmB;EACxB,CAAC;EAEDiB,KAAKA,CAAEV,KAAK,EAAAW,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAiB,CAAC,GAAGnB,aAAa,CAAC;MACzCoB,EAAE,EAAEd,KAAK,CAACD,IAAI;MACdgB,KAAK,EAAEpB,QAAQ,CAAC,MAAMqB,QAAQ,CAAChB,KAAK,CAACe,KAAK,EAAE,EAAE,CAAC,CAAC;MAChDd,QAAQ,EAAEL,KAAK,CAACI,KAAK,EAAE,UAAU,CAAC;MAClCiB,WAAW,EAAErB,KAAK,CAACI,KAAK,EAAE,MAAM,CAAC;MACjCkB,UAAU,EAAEtB,KAAK,CAACI,KAAK,EAAE,MAAM,CAAC;MAChCmB,MAAM,EAAEvB,KAAK,CAACI,KAAK,EAAE,YAAY,CAAC;MAClCoB,QAAQ,EAAExB,KAAK,CAACI,KAAK,EAAE,UAAU;IACnC,CAAC,CAAC;IAEF,OAAO,MAAAqB,YAAA;MAAA,SAEI,CACL,eAAe,CAChB;MAAA,SACOR,gBAAgB,CAACS;IAAK,IAE5BV,KAAK,CAACL,OAAO,IAAI,EAEtB;EACH;AACF,CAAC,CAAC"}
@@ -175,10 +175,10 @@ declare const VLayout: {
175
175
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
176
176
  fullHeight: boolean;
177
177
  }, {}, string> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
178
- overlaps: vue.Prop<string[], string[]>;
178
+ overlaps: vue.Prop<string[]>;
179
179
  fullHeight: BooleanConstructor;
180
180
  }, vue.ExtractPropTypes<{
181
- overlaps: vue.Prop<string[], string[]>;
181
+ overlaps: vue.Prop<string[]>;
182
182
  fullHeight: BooleanConstructor;
183
183
  }>>;
184
184
  type VLayout = InstanceType<typeof VLayout>;
@@ -1 +1 @@
1
- {"version":3,"file":"VLazy.mjs","names":["makeDimensionProps","useDimension","makeTagProps","makeTransitionProps","MaybeTransition","useProxiedModel","intersect","genericComponent","useRender","VLazy","name","directives","props","modelValue","Boolean","options","type","Object","default","root","undefined","rootMargin","threshold","transition","emits","value","setup","slots","dimensionStyles","isActive","onIntersect","isIntersecting","handler"],"sources":["../../../src/components/VLazy/VLazy.tsx"],"sourcesContent":["// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VLazy = genericComponent()({\n name: 'VLazy',\n\n directives: { intersect },\n\n props: {\n modelValue: Boolean,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n\n ...makeDimensionProps(),\n ...makeTagProps(),\n ...makeTransitionProps({ transition: 'fade-transition' }),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n\n function onIntersect (isIntersecting: boolean) {\n if (isActive.value) return\n\n isActive.value = isIntersecting\n }\n\n useRender(() => (\n <props.tag\n class=\"v-lazy\"\n v-intersect={[\n {\n handler: onIntersect,\n options: props.options,\n },\n null,\n isActive.value ? [] : ['once'],\n ]}\n style={ dimensionStyles.value }\n >\n { isActive.value && (\n <MaybeTransition transition={ props.transition } appear>\n { slots.default?.() }\n </MaybeTransition>\n )}\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VLazy = InstanceType<typeof VLazy>\n"],"mappings":";AAAA;AAAA,SACSA,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,YAAY;AAAA,SACZC,mBAAmB,EAAEC,eAAe;AAAA,SACpCC,eAAe,8CAExB;AAAA,OACOC,SAAS,8CAEhB;AAAA,SACSC,gBAAgB,EAAEC,SAAS,gCAEpC;AAGA,OAAO,MAAMC,KAAK,GAAGF,gBAAgB,EAAE,CAAC;EACtCG,IAAI,EAAE,OAAO;EAEbC,UAAU,EAAE;IAAEL;EAAU,CAAC;EAEzBM,KAAK,EAAE;IACLC,UAAU,EAAEC,OAAO;IACnBC,OAAO,EAAE;MACPC,IAAI,EAAEC,MAA4C;MAClD;MACA;MACAC,OAAO,EAAE,OAAO;QACdC,IAAI,EAAEC,SAAS;QACfC,UAAU,EAAED,SAAS;QACrBE,SAAS,EAAEF;MACb,CAAC;IACH,CAAC;IAED,GAAGpB,kBAAkB,EAAE;IACvB,GAAGE,YAAY,EAAE;IACjB,GAAGC,mBAAmB,CAAC;MAAEoB,UAAU,EAAE;IAAkB,CAAC;EAC1D,CAAC;EAEDC,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAc,IAAK;EAC3C,CAAC;EAEDC,KAAK,CAAEd,KAAK,QAAa;IAAA,IAAX;MAAEe;IAAM,CAAC;IACrB,MAAM;MAAEC;IAAgB,CAAC,GAAG3B,YAAY,CAACW,KAAK,CAAC;IAE/C,MAAMiB,QAAQ,GAAGxB,eAAe,CAACO,KAAK,EAAE,YAAY,CAAC;IAErD,SAASkB,WAAW,CAAEC,cAAuB,EAAE;MAC7C,IAAIF,QAAQ,CAACJ,KAAK,EAAE;MAEpBI,QAAQ,CAACJ,KAAK,GAAGM,cAAc;IACjC;IAEAvB,SAAS,CAAC;MAAA,SAEA,QAAQ;MAAA,SASNoB,eAAe,CAACH;IAAK;MAAA,gBAE3BI,QAAQ,CAACJ,KAAK;QAAA,cACgBb,KAAK,CAACW,UAAU;QAAA;MAAA;QAAA,gBAC1CI,KAAK,CAACT,OAAO,IAAI;MAAA,EAEtB;IAAA,sCAbC;MACEc,OAAO,EAAEF,WAAW;MACpBf,OAAO,EAAEH,KAAK,CAACG;IACjB,CAAC,EACD,IAAI,GAWT,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VLazy.mjs","names":["makeDimensionProps","useDimension","makeTagProps","makeTransitionProps","MaybeTransition","useProxiedModel","intersect","genericComponent","useRender","VLazy","name","directives","props","modelValue","Boolean","options","type","Object","default","root","undefined","rootMargin","threshold","transition","emits","value","setup","_ref","slots","dimensionStyles","isActive","onIntersect","isIntersecting","_withDirectives","_createVNode","tag","_resolveDirective","handler"],"sources":["../../../src/components/VLazy/VLazy.tsx"],"sourcesContent":["// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VLazy = genericComponent()({\n name: 'VLazy',\n\n directives: { intersect },\n\n props: {\n modelValue: Boolean,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n\n ...makeDimensionProps(),\n ...makeTagProps(),\n ...makeTransitionProps({ transition: 'fade-transition' }),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n\n function onIntersect (isIntersecting: boolean) {\n if (isActive.value) return\n\n isActive.value = isIntersecting\n }\n\n useRender(() => (\n <props.tag\n class=\"v-lazy\"\n v-intersect={[\n {\n handler: onIntersect,\n options: props.options,\n },\n null,\n isActive.value ? [] : ['once'],\n ]}\n style={ dimensionStyles.value }\n >\n { isActive.value && (\n <MaybeTransition transition={ props.transition } appear>\n { slots.default?.() }\n </MaybeTransition>\n )}\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VLazy = InstanceType<typeof VLazy>\n"],"mappings":";AAAA;AAAA,SACSA,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,YAAY;AAAA,SACZC,mBAAmB,EAAEC,eAAe;AAAA,SACpCC,eAAe,8CAExB;AAAA,OACOC,SAAS,8CAEhB;AAAA,SACSC,gBAAgB,EAAEC,SAAS,gCAEpC;AAGA,OAAO,MAAMC,KAAK,GAAGF,gBAAgB,EAAE,CAAC;EACtCG,IAAI,EAAE,OAAO;EAEbC,UAAU,EAAE;IAAEL;EAAU,CAAC;EAEzBM,KAAK,EAAE;IACLC,UAAU,EAAEC,OAAO;IACnBC,OAAO,EAAE;MACPC,IAAI,EAAEC,MAA4C;MAClD;MACA;MACAC,OAAO,EAAEA,CAAA,MAAO;QACdC,IAAI,EAAEC,SAAS;QACfC,UAAU,EAAED,SAAS;QACrBE,SAAS,EAAEF;MACb,CAAC;IACH,CAAC;IAED,GAAGpB,kBAAkB,EAAE;IACvB,GAAGE,YAAY,EAAE;IACjB,GAAGC,mBAAmB,CAAC;MAAEoB,UAAU,EAAE;IAAkB,CAAC;EAC1D,CAAC;EAEDC,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAc,IAAK;EAC3C,CAAC;EAEDC,KAAKA,CAAEd,KAAK,EAAAe,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAgB,CAAC,GAAG5B,YAAY,CAACW,KAAK,CAAC;IAE/C,MAAMkB,QAAQ,GAAGzB,eAAe,CAACO,KAAK,EAAE,YAAY,CAAC;IAErD,SAASmB,WAAWA,CAAEC,cAAuB,EAAE;MAC7C,IAAIF,QAAQ,CAACL,KAAK,EAAE;MAEpBK,QAAQ,CAACL,KAAK,GAAGO,cAAc;IACjC;IAEAxB,SAAS,CAAC,MAAAyB,eAAA,CAAAC,YAAA,CAAAtB,KAAA,CAAAuB,GAAA;MAAA,SAEA,QAAQ;MAAA,SASNN,eAAe,CAACJ;IAAK;MAAAP,OAAA,EAAAA,CAAA,MAE3BY,QAAQ,CAACL,KAAK,IAAAS,YAAA,CAAA9B,eAAA;QAAA,cACgBQ,KAAK,CAACW,UAAU;QAAA;MAAA;QAAAL,OAAA,EAAAA,CAAA,MAC1CU,KAAK,CAACV,OAAO,IAAI;MAAA,EAEtB;IAAA,MAAAkB,iBAAA,eAbC;MACEC,OAAO,EAAEN,WAAW;MACpBhB,OAAO,EAAEH,KAAK,CAACG;IACjB,CAAC,EACD,IAAI,GAWT,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -11,14 +11,14 @@ declare const VLazy: {
11
11
  $data: {};
12
12
  $props: Partial<{
13
13
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
14
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
14
+ component?: vue.Component | undefined;
15
15
  })>;
16
16
  options: IntersectionObserverInit;
17
17
  tag: string;
18
18
  modelValue: boolean;
19
19
  }> & Omit<{
20
20
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
21
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
21
+ component?: vue.Component | undefined;
22
22
  })>;
23
23
  options: IntersectionObserverInit;
24
24
  tag: string;
@@ -60,7 +60,7 @@ declare const VLazy: {
60
60
  $el: any;
61
61
  $options: vue.ComponentOptionsBase<{
62
62
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
63
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
63
+ component?: vue.Component | undefined;
64
64
  })>;
65
65
  options: IntersectionObserverInit;
66
66
  tag: string;
@@ -90,7 +90,7 @@ declare const VLazy: {
90
90
  'update:modelValue': (value: boolean) => boolean;
91
91
  }, string, {
92
92
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
93
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
93
+ component?: vue.Component | undefined;
94
94
  })>;
95
95
  options: IntersectionObserverInit;
96
96
  tag: string;
@@ -117,7 +117,7 @@ declare const VLazy: {
117
117
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle;
118
118
  } & {
119
119
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
120
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
120
+ component?: vue.Component | undefined;
121
121
  })>;
122
122
  options: IntersectionObserverInit;
123
123
  tag: string;
@@ -149,7 +149,7 @@ declare const VLazy: {
149
149
  __isSuspense?: undefined;
150
150
  } & vue.ComponentOptionsBase<{
151
151
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
152
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
152
+ component?: vue.Component | undefined;
153
153
  })>;
154
154
  options: IntersectionObserverInit;
155
155
  tag: string;
@@ -179,7 +179,7 @@ declare const VLazy: {
179
179
  'update:modelValue': (value: boolean) => boolean;
180
180
  }, string, {
181
181
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
182
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
182
+ component?: vue.Component | undefined;
183
183
  })>;
184
184
  options: IntersectionObserverInit;
185
185
  tag: string;
@@ -187,16 +187,16 @@ declare const VLazy: {
187
187
  }, {}, string> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
188
188
  transition: Omit<{
189
189
  type: PropType<string | boolean | (vue.TransitionProps & {
190
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
190
+ component?: vue.Component | undefined;
191
191
  })>;
192
192
  default: string;
193
193
  validator: (val: unknown) => boolean;
194
194
  }, "type" | "default"> & {
195
195
  type: PropType<NonNullable<string | boolean | (vue.TransitionProps & {
196
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
196
+ component?: vue.Component | undefined;
197
197
  })>>;
198
198
  default: NonNullable<string | boolean | (vue.TransitionProps & {
199
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
199
+ component?: vue.Component | undefined;
200
200
  })>;
201
201
  };
202
202
  tag: {
@@ -221,16 +221,16 @@ declare const VLazy: {
221
221
  }, vue.ExtractPropTypes<{
222
222
  transition: Omit<{
223
223
  type: PropType<string | boolean | (vue.TransitionProps & {
224
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
224
+ component?: vue.Component | undefined;
225
225
  })>;
226
226
  default: string;
227
227
  validator: (val: unknown) => boolean;
228
228
  }, "type" | "default"> & {
229
229
  type: PropType<NonNullable<string | boolean | (vue.TransitionProps & {
230
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
230
+ component?: vue.Component | undefined;
231
231
  })>>;
232
232
  default: NonNullable<string | boolean | (vue.TransitionProps & {
233
- component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
233
+ component?: vue.Component | undefined;
234
234
  })>;
235
235
  };
236
236
  tag: {
@@ -1 +1 @@
1
- {"version":3,"file":"VList.mjs","names":["VListChildren","createList","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeItemsProps","makeNestedProps","useNested","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","provideDefaults","useBackgroundColor","computed","ref","toRef","genericComponent","getPropertyFromItem","pick","useRender","isPrimitive","value","transformItem","props","item","type","itemType","title","itemTitle","itemValue","undefined","children","itemChildren","itemProps","_props","transformItems","raw","items","array","push","useListItems","VList","name","activeColor","String","activeClass","bgColor","disabled","Boolean","lines","default","nav","selectStrategy","openStrategy","variant","emits","val","setup","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","open","select","lineClasses","color","VListGroup","VListItem","density","isFocused","contentRef","onFocusin","e","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","key","preventDefault","location","focusable","querySelectorAll","filter","el","hasAttribute","idx","indexOf","document","activeElement","at","idxx","inc","offsetParent","length"],"sources":["../../../src/components/VList/VList.tsx"],"sourcesContent":["// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { createList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeItemsProps } from '@/composables/items'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { genericComponent, getPropertyFromItem, pick, useRender } from '@/util'\n\n// Types\nimport type { InternalItem, ItemProps } from '@/composables/items'\nimport type { SlotsToProps } from '@/util'\nimport type { PropType } from 'vue'\n\nexport interface InternalListItem extends InternalItem {\n type?: 'item' | 'subheader' | 'divider'\n}\n\nfunction isPrimitive (value: unknown): value is string | number | boolean {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean'\n}\n\nfunction transformItem (props: ItemProps & { itemType: string }, item: any): InternalListItem {\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle)\n const value = getPropertyFromItem(item, props.itemValue, undefined)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === 'item' && children ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nfunction transformItems (props: ItemProps & { itemType: string }, items: (string | object)[]) {\n const array: InternalListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nfunction useListItems (props: ItemProps & { itemType: string }) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n\nexport const VList = genericComponent<new <T>() => {\n $props: {\n items?: T[]\n } & SlotsToProps<{\n subheader: []\n header: [{ props: Record<string, unknown> }]\n item: [T]\n }>\n}>()({\n name: 'VList',\n\n props: {\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n lines: {\n type: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n default: 'one',\n },\n nav: Boolean,\n\n ...makeNestedProps({\n selectStrategy: 'single-leaf' as const,\n openStrategy: 'list' as const,\n }),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n itemType: {\n type: String,\n default: 'type',\n },\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n 'update:selected': (val: unknown[]) => true,\n 'update:opened': (val: unknown[]) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { open, select } = useNested(props)\n const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined)\n const activeColor = toRef(props, 'activeColor')\n const color = toRef(props, 'color')\n\n createList()\n\n provideDefaults({\n VListGroup: {\n activeColor,\n color,\n },\n VListItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n nav: toRef(props, 'nav'),\n variant: toRef(props, 'variant'),\n },\n })\n\n const isFocused = ref(false)\n const contentRef = ref<HTMLElement>()\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!contentRef.value) return\n\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n } else {\n return\n }\n\n e.preventDefault()\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (!contentRef.value) return\n\n const focusable = [...contentRef.value.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => !el.hasAttribute('disabled')) as HTMLElement[]\n const idx = focusable.indexOf(document.activeElement as HTMLElement)\n\n if (!location) {\n if (!contentRef.value.contains(document.activeElement)) {\n focusable[0]?.focus()\n }\n } else if (location === 'first') {\n focusable[0]?.focus()\n } else if (location === 'last') {\n focusable.at(-1)?.focus()\n } else {\n let el\n let idxx = idx\n const inc = location === 'next' ? 1 : -1\n do {\n idxx += inc\n el = focusable[idxx]\n } while ((!el || el.offsetParent == null) && idxx < focusable.length && idxx >= 0)\n if (el) el.focus()\n else focus(location === 'next' ? 'first' : 'last')\n }\n }\n\n useRender(() => {\n return (\n <props.tag\n ref={ contentRef }\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n ]}\n role=\"listbox\"\n aria-activedescendant={ undefined }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onFocus={ onFocus }\n onKeydown={ onKeydown }\n >\n <VListChildren items={ items.value } v-slots={ slots }></VListChildren>\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n focus,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VList.mjs","names":["VListChildren","createList","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeItemsProps","makeNestedProps","useNested","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","provideDefaults","useBackgroundColor","computed","ref","toRef","genericComponent","getPropertyFromItem","pick","useRender","isPrimitive","value","transformItem","props","item","type","itemType","title","itemTitle","itemValue","undefined","children","itemChildren","itemProps","_props","transformItems","raw","items","array","push","useListItems","VList","name","activeColor","String","activeClass","bgColor","disabled","Boolean","lines","default","nav","selectStrategy","openStrategy","variant","emits","val","setup","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","open","select","lineClasses","color","VListGroup","VListItem","density","isFocused","contentRef","onFocusin","e","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","key","preventDefault","location","focusable","querySelectorAll","filter","el","hasAttribute","idx","indexOf","document","activeElement","at","idxx","inc","offsetParent","length","_createVNode","tag"],"sources":["../../../src/components/VList/VList.tsx"],"sourcesContent":["// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { createList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeItemsProps } from '@/composables/items'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { genericComponent, getPropertyFromItem, pick, useRender } from '@/util'\n\n// Types\nimport type { InternalItem, ItemProps } from '@/composables/items'\nimport type { SlotsToProps } from '@/util'\nimport type { PropType } from 'vue'\n\nexport interface InternalListItem extends InternalItem {\n type?: 'item' | 'subheader' | 'divider'\n}\n\nfunction isPrimitive (value: unknown): value is string | number | boolean {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean'\n}\n\nfunction transformItem (props: ItemProps & { itemType: string }, item: any): InternalListItem {\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle)\n const value = getPropertyFromItem(item, props.itemValue, undefined)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === 'item' && children ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nfunction transformItems (props: ItemProps & { itemType: string }, items: (string | object)[]) {\n const array: InternalListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nfunction useListItems (props: ItemProps & { itemType: string }) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n\nexport const VList = genericComponent<new <T>() => {\n $props: {\n items?: T[]\n } & SlotsToProps<{\n subheader: []\n header: [{ props: Record<string, unknown> }]\n item: [T]\n }>\n}>()({\n name: 'VList',\n\n props: {\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n lines: {\n type: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n default: 'one',\n },\n nav: Boolean,\n\n ...makeNestedProps({\n selectStrategy: 'single-leaf' as const,\n openStrategy: 'list' as const,\n }),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n itemType: {\n type: String,\n default: 'type',\n },\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n 'update:selected': (val: unknown[]) => true,\n 'update:opened': (val: unknown[]) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { open, select } = useNested(props)\n const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined)\n const activeColor = toRef(props, 'activeColor')\n const color = toRef(props, 'color')\n\n createList()\n\n provideDefaults({\n VListGroup: {\n activeColor,\n color,\n },\n VListItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n nav: toRef(props, 'nav'),\n variant: toRef(props, 'variant'),\n },\n })\n\n const isFocused = ref(false)\n const contentRef = ref<HTMLElement>()\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!contentRef.value) return\n\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n } else {\n return\n }\n\n e.preventDefault()\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (!contentRef.value) return\n\n const focusable = [...contentRef.value.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => !el.hasAttribute('disabled')) as HTMLElement[]\n const idx = focusable.indexOf(document.activeElement as HTMLElement)\n\n if (!location) {\n if (!contentRef.value.contains(document.activeElement)) {\n focusable[0]?.focus()\n }\n } else if (location === 'first') {\n focusable[0]?.focus()\n } else if (location === 'last') {\n focusable.at(-1)?.focus()\n } else {\n let el\n let idxx = idx\n const inc = location === 'next' ? 1 : -1\n do {\n idxx += inc\n el = focusable[idxx]\n } while ((!el || el.offsetParent == null) && idxx < focusable.length && idxx >= 0)\n if (el) el.focus()\n else focus(location === 'next' ? 'first' : 'last')\n }\n }\n\n useRender(() => {\n return (\n <props.tag\n ref={ contentRef }\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n ]}\n role=\"listbox\"\n aria-activedescendant={ undefined }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onFocus={ onFocus }\n onKeydown={ onKeydown }\n >\n <VListChildren items={ items.value } v-slots={ slots }></VListChildren>\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n focus,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,aAAa,+BAEtB;AAAA,SACSC,UAAU;AAAA,SACVC,eAAe,EAAEC,SAAS;AAAA,SAC1BC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,cAAc;AAAA,SACdC,eAAe,EAAEC,SAAS;AAAA,SAC1BC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,gBAAgB;AAAA,SAChBC,eAAe;AAAA,SACfC,kBAAkB,uCAE3B;AACA,SAASC,QAAQ,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACjCC,gBAAgB,EAAEC,mBAAmB,EAAEC,IAAI,EAAEC,SAAS,gCAE/D;AASA,SAASC,WAAWA,CAAEC,KAAc,EAAsC;EACxE,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,SAAS;AAC7F;AAEA,SAASC,aAAaA,CAAEC,KAAuC,EAAEC,IAAS,EAAoB;EAC5F,MAAMC,IAAI,GAAGR,mBAAmB,CAACO,IAAI,EAAED,KAAK,CAACG,QAAQ,EAAE,MAAM,CAAC;EAC9D,MAAMC,KAAK,GAAGP,WAAW,CAACI,IAAI,CAAC,GAAGA,IAAI,GAAGP,mBAAmB,CAACO,IAAI,EAAED,KAAK,CAACK,SAAS,CAAC;EACnF,MAAMP,KAAK,GAAGJ,mBAAmB,CAACO,IAAI,EAAED,KAAK,CAACM,SAAS,EAAEC,SAAS,CAAC;EACnE,MAAMC,QAAQ,GAAGd,mBAAmB,CAACO,IAAI,EAAED,KAAK,CAACS,YAAY,CAAC;EAC9D,MAAMC,SAAS,GAAGV,KAAK,CAACU,SAAS,KAAK,IAAI,GAAGf,IAAI,CAACM,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGP,mBAAmB,CAACO,IAAI,EAAED,KAAK,CAACU,SAAS,CAAC;EAErH,MAAMC,MAAM,GAAG;IACbP,KAAK;IACLN,KAAK;IACL,GAAGY;EACL,CAAC;EAED,OAAO;IACLR,IAAI;IACJE,KAAK,EAAEO,MAAM,CAACP,KAAK;IACnBN,KAAK,EAAEa,MAAM,CAACb,KAAK;IACnBE,KAAK,EAAEW,MAAM;IACbH,QAAQ,EAAEN,IAAI,KAAK,MAAM,IAAIM,QAAQ,GAAGI,cAAc,CAACZ,KAAK,EAAEQ,QAAQ,CAAC,GAAGD,SAAS;IACnFM,GAAG,EAAEZ;EACP,CAAC;AACH;AAEA,SAASW,cAAcA,CAAEZ,KAAuC,EAAEc,KAA0B,EAAE;EAC5F,MAAMC,KAAyB,GAAG,EAAE;EAEpC,KAAK,MAAMd,IAAI,IAAIa,KAAK,EAAE;IACxBC,KAAK,CAACC,IAAI,CAACjB,aAAa,CAACC,KAAK,EAAEC,IAAI,CAAC,CAAC;EACxC;EAEA,OAAOc,KAAK;AACd;AAEA,SAASE,YAAYA,CAAEjB,KAAuC,EAAE;EAC9D,MAAMc,KAAK,GAAGxB,QAAQ,CAAC,MAAMsB,cAAc,CAACZ,KAAK,EAAEA,KAAK,CAACc,KAAK,CAAC,CAAC;EAEhE,OAAO;IAAEA;EAAM,CAAC;AAClB;AAEA,OAAO,MAAMI,KAAK,GAAGzB,gBAAgB,EAQjC,CAAC;EACH0B,IAAI,EAAE,OAAO;EAEbnB,KAAK,EAAE;IACLoB,WAAW,EAAEC,MAAM;IACnBC,WAAW,EAAED,MAAM;IACnBE,OAAO,EAAEF,MAAM;IACfG,QAAQ,EAAEC,OAAO;IACjBC,KAAK,EAAE;MACLxB,IAAI,EAAE,CAACuB,OAAO,EAAEJ,MAAM,CAA8C;MACpEM,OAAO,EAAE;IACX,CAAC;IACDC,GAAG,EAAEH,OAAO;IAEZ,GAAG7C,eAAe,CAAC;MACjBiD,cAAc,EAAE,aAAsB;MACtCC,YAAY,EAAE;IAChB,CAAC,CAAC;IACF,GAAG3D,eAAe,EAAE;IACpB,GAAGE,gBAAgB,EAAE;IACrB,GAAGE,kBAAkB,EAAE;IACvB,GAAGE,kBAAkB,EAAE;IACvB0B,QAAQ,EAAE;MACRD,IAAI,EAAEmB,MAAM;MACZM,OAAO,EAAE;IACX,CAAC;IACD,GAAGhD,cAAc,EAAE;IACnB,GAAGG,gBAAgB,EAAE;IACrB,GAAGE,YAAY,EAAE;IACjB,GAAGC,cAAc,EAAE;IACnB,GAAGE,gBAAgB,CAAC;MAAE4C,OAAO,EAAE;IAAO,CAAC;EACzC,CAAC;EAEDC,KAAK,EAAE;IACL,iBAAiB,EAAGC,GAAc,IAAK,IAAI;IAC3C,eAAe,EAAGA,GAAc,IAAK,IAAI;IACzC,YAAY,EAAGnC,KAAuD,IAAK,IAAI;IAC/E,cAAc,EAAGA,KAAuD,IAAK;EAC/E,CAAC;EAEDoC,KAAKA,CAAElC,KAAK,EAAAmC,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAErB;IAAM,CAAC,GAAGG,YAAY,CAACjB,KAAK,CAAC;IACrC,MAAM;MAAEqC;IAAa,CAAC,GAAGnD,YAAY,CAACc,KAAK,CAAC;IAC5C,MAAM;MAAEsC,sBAAsB;MAAEC;IAAsB,CAAC,GAAGlD,kBAAkB,CAACG,KAAK,CAACQ,KAAK,EAAE,SAAS,CAAC,CAAC;IACrG,MAAM;MAAEwC;IAAc,CAAC,GAAGpE,SAAS,CAAC4B,KAAK,CAAC;IAC1C,MAAM;MAAEyC;IAAe,CAAC,GAAGnE,UAAU,CAAC0B,KAAK,CAAC;IAC5C,MAAM;MAAE0C;IAAgB,CAAC,GAAGlE,YAAY,CAACwB,KAAK,CAAC;IAC/C,MAAM;MAAE2C;IAAiB,CAAC,GAAGjE,YAAY,CAACsB,KAAK,CAAC;IAChD,MAAM;MAAE4C;IAAe,CAAC,GAAG7D,UAAU,CAACiB,KAAK,CAAC;IAC5C,MAAM;MAAE6C,IAAI;MAAEC;IAAO,CAAC,GAAGjE,SAAS,CAACmB,KAAK,CAAC;IACzC,MAAM+C,WAAW,GAAGzD,QAAQ,CAAC,MAAMU,KAAK,CAAC0B,KAAK,GAAI,WAAU1B,KAAK,CAAC0B,KAAM,OAAM,GAAGnB,SAAS,CAAC;IAC3F,MAAMa,WAAW,GAAG5B,KAAK,CAACQ,KAAK,EAAE,aAAa,CAAC;IAC/C,MAAMgD,KAAK,GAAGxD,KAAK,CAACQ,KAAK,EAAE,OAAO,CAAC;IAEnC9B,UAAU,EAAE;IAEZkB,eAAe,CAAC;MACd6D,UAAU,EAAE;QACV7B,WAAW;QACX4B;MACF,CAAC;MACDE,SAAS,EAAE;QACT5B,WAAW,EAAE9B,KAAK,CAACQ,KAAK,EAAE,aAAa,CAAC;QACxCoB,WAAW;QACX4B,KAAK;QACLG,OAAO,EAAE3D,KAAK,CAACQ,KAAK,EAAE,SAAS,CAAC;QAChCwB,QAAQ,EAAEhC,KAAK,CAACQ,KAAK,EAAE,UAAU,CAAC;QAClC0B,KAAK,EAAElC,KAAK,CAACQ,KAAK,EAAE,OAAO,CAAC;QAC5B4B,GAAG,EAAEpC,KAAK,CAACQ,KAAK,EAAE,KAAK,CAAC;QACxB+B,OAAO,EAAEvC,KAAK,CAACQ,KAAK,EAAE,SAAS;MACjC;IACF,CAAC,CAAC;IAEF,MAAMoD,SAAS,GAAG7D,GAAG,CAAC,KAAK,CAAC;IAC5B,MAAM8D,UAAU,GAAG9D,GAAG,EAAe;IACrC,SAAS+D,SAASA,CAAEC,CAAa,EAAE;MACjCH,SAAS,CAACtD,KAAK,GAAG,IAAI;IACxB;IAEA,SAAS0D,UAAUA,CAAED,CAAa,EAAE;MAClCH,SAAS,CAACtD,KAAK,GAAG,KAAK;IACzB;IAEA,SAAS2D,OAAOA,CAAEF,CAAa,EAAE;MAC/B,IACE,CAACH,SAAS,CAACtD,KAAK,IAChB,EAAEyD,CAAC,CAACG,aAAa,IAAIL,UAAU,CAACvD,KAAK,EAAE6D,QAAQ,CAACJ,CAAC,CAACG,aAAa,CAAS,CAAC,EACzEE,KAAK,EAAE;IACX;IAEA,SAASC,SAASA,CAAEN,CAAgB,EAAE;MACpC,IAAI,CAACF,UAAU,CAACvD,KAAK,EAAE;MAEvB,IAAIyD,CAAC,CAACO,GAAG,KAAK,WAAW,EAAE;QACzBF,KAAK,CAAC,MAAM,CAAC;MACf,CAAC,MAAM,IAAIL,CAAC,CAACO,GAAG,KAAK,SAAS,EAAE;QAC9BF,KAAK,CAAC,MAAM,CAAC;MACf,CAAC,MAAM,IAAIL,CAAC,CAACO,GAAG,KAAK,MAAM,EAAE;QAC3BF,KAAK,CAAC,OAAO,CAAC;MAChB,CAAC,MAAM,IAAIL,CAAC,CAACO,GAAG,KAAK,KAAK,EAAE;QAC1BF,KAAK,CAAC,MAAM,CAAC;MACf,CAAC,MAAM;QACL;MACF;MAEAL,CAAC,CAACQ,cAAc,EAAE;IACpB;IAEA,SAASH,KAAKA,CAAEI,QAA6C,EAAE;MAC7D,IAAI,CAACX,UAAU,CAACvD,KAAK,EAAE;MAEvB,MAAMmE,SAAS,GAAG,CAAC,GAAGZ,UAAU,CAACvD,KAAK,CAACoE,gBAAgB,CACrD,0EAA0E,CAC3E,CAAC,CAACC,MAAM,CAACC,EAAE,IAAI,CAACA,EAAE,CAACC,YAAY,CAAC,UAAU,CAAC,CAAkB;MAC9D,MAAMC,GAAG,GAAGL,SAAS,CAACM,OAAO,CAACC,QAAQ,CAACC,aAAa,CAAgB;MAEpE,IAAI,CAACT,QAAQ,EAAE;QACb,IAAI,CAACX,UAAU,CAACvD,KAAK,CAAC6D,QAAQ,CAACa,QAAQ,CAACC,aAAa,CAAC,EAAE;UACtDR,SAAS,CAAC,CAAC,CAAC,EAAEL,KAAK,EAAE;QACvB;MACF,CAAC,MAAM,IAAII,QAAQ,KAAK,OAAO,EAAE;QAC/BC,SAAS,CAAC,CAAC,CAAC,EAAEL,KAAK,EAAE;MACvB,CAAC,MAAM,IAAII,QAAQ,KAAK,MAAM,EAAE;QAC9BC,SAAS,CAACS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEd,KAAK,EAAE;MAC3B,CAAC,MAAM;QACL,IAAIQ,EAAE;QACN,IAAIO,IAAI,GAAGL,GAAG;QACd,MAAMM,GAAG,GAAGZ,QAAQ,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,GAAG;UACDW,IAAI,IAAIC,GAAG;UACXR,EAAE,GAAGH,SAAS,CAACU,IAAI,CAAC;QACtB,CAAC,QAAQ,CAAC,CAACP,EAAE,IAAIA,EAAE,CAACS,YAAY,IAAI,IAAI,KAAKF,IAAI,GAAGV,SAAS,CAACa,MAAM,IAAIH,IAAI,IAAI,CAAC;QACjF,IAAIP,EAAE,EAAEA,EAAE,CAACR,KAAK,EAAE,MACbA,KAAK,CAACI,QAAQ,KAAK,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;MACpD;IACF;IAEApE,SAAS,CAAC,MAAM;MACd,OAAAmF,YAAA,CAAA/E,KAAA,CAAAgF,GAAA;QAAA,OAEU3B,UAAU;QAAA,SACT,CACL,QAAQ,EACR;UACE,kBAAkB,EAAErD,KAAK,CAACwB,QAAQ;UAClC,aAAa,EAAExB,KAAK,CAAC4B;QACvB,CAAC,EACDS,YAAY,CAACvC,KAAK,EAClBwC,sBAAsB,CAACxC,KAAK,EAC5B0C,aAAa,CAAC1C,KAAK,EACnB2C,cAAc,CAAC3C,KAAK,EACpB6C,gBAAgB,CAAC7C,KAAK,EACtBiD,WAAW,CAACjD,KAAK,EACjB8C,cAAc,CAAC9C,KAAK,CACrB;QAAA,SACM,CACLyC,qBAAqB,CAACzC,KAAK,EAC3B4C,eAAe,CAAC5C,KAAK,CACtB;QAAA,QACI,SAAS;QAAA,yBACUS,SAAS;QAAA,aACrB+C,SAAS;QAAA,cACRE,UAAU;QAAA,WACbC,OAAO;QAAA,aACLI;MAAS;QAAAlC,OAAA,EAAAA,CAAA,MAAAoD,YAAA,CAAA9G,aAAA;UAAA,SAEE6C,KAAK,CAAChB;QAAK,GAAasC,KAAK;MAAA;IAG1D,CAAC,CAAC;IAEF,OAAO;MACLS,IAAI;MACJC,MAAM;MACNc;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"VListChildren.mjs","names":["VDivider","VListGroup","VListItem","VListSubheader","createList","genericComponent","VListChildren","name","props","items","Array","setup","slots","default","map","children","itemProps","type","raw","item","divider","subheader","slotsWithItem","subtitle","slotProps","undefined","prepend","append","title","listGroupProps","_1","filterProps","value","activator","activatorProps","header"],"sources":["../../../src/components/VList/VListChildren.tsx"],"sourcesContent":["// Components\nimport { VDivider } from '../VDivider'\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\nimport { VListSubheader } from './VListSubheader'\n\n// Utilities\nimport { createList } from './list'\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { InternalListItem } from './VList'\nimport type { ListItemSubtitleSlot, ListItemTitleSlot } from './VListItem'\nimport type { SlotsToProps } from '@/util'\nimport type { Prop } from 'vue'\n\nexport const VListChildren = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n } & SlotsToProps<{\n default: []\n header: [{ props: Record<string, unknown> }]\n item: [T]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n }>\n}>()({\n name: 'VListChildren',\n\n props: {\n items: Array as Prop<InternalListItem[]>,\n },\n\n setup (props, { slots }) {\n createList()\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, type, raw: item }) => {\n if (type === 'divider') {\n return slots.divider?.({ props: itemProps }) ?? (\n <VDivider { ...itemProps } />\n )\n }\n\n if (type === 'subheader') {\n return slots.subheader?.({ props: itemProps }) ?? (\n <VListSubheader\n { ...itemProps }\n v-slots={{ default: slots.subheader }}\n />\n )\n }\n\n const slotsWithItem = {\n subtitle: slots.subtitle ? (slotProps: any) => slots.subtitle?.({ ...slotProps, item }) : undefined,\n prepend: slots.prepend ? (slotProps: any) => slots.prepend?.({ ...slotProps, item }) : undefined,\n append: slots.append ? (slotProps: any) => slots.append?.({ ...slotProps, item }) : undefined,\n default: slots.default ? (slotProps: any) => slots.default?.({ ...slotProps, item }) : undefined,\n title: slots.title ? (slotProps: any) => slots.title?.({ ...slotProps, item }) : undefined,\n }\n\n const [listGroupProps, _1] = VListGroup.filterProps(itemProps)\n\n return children ? (\n <VListGroup\n value={ itemProps?.value }\n { ...listGroupProps }\n >\n {{\n activator: ({ props: activatorProps }) => slots.header\n ? slots.header({ props: { ...itemProps, ...activatorProps } })\n : <VListItem { ...itemProps } { ...activatorProps } v-slots={ slotsWithItem } />,\n default: () => (\n <VListChildren items={ children } v-slots={ slots } />\n ),\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item(itemProps) : (\n <VListItem\n { ...itemProps }\n v-slots={ slotsWithItem }\n />\n )\n )\n })\n },\n})\n"],"mappings":";AAAA;AAAA,SACSA,QAAQ;AAAA,SACRC,UAAU;AAAA,SACVC,SAAS;AAAA,SACTC,cAAc,gCAEvB;AAAA,SACSC,UAAU;AAAA,SACVC,gBAAgB,gCAEzB;AAMA,OAAO,MAAMC,aAAa,GAAGD,gBAAgB,EAUzC,CAAC;EACHE,IAAI,EAAE,eAAe;EAErBC,KAAK,EAAE;IACLC,KAAK,EAAEC;EACT,CAAC;EAEDC,KAAK,CAAEH,KAAK,QAAa;IAAA,IAAX;MAAEI;IAAM,CAAC;IACrBR,UAAU,EAAE;IAEZ,OAAO,MAAMQ,KAAK,CAACC,OAAO,IAAI,IAAIL,KAAK,CAACC,KAAK,EAAEK,GAAG,CAAC,SAAqD;MAAA,IAApD;QAAEC,QAAQ;QAAEP,KAAK,EAAEQ,SAAS;QAAEC,IAAI;QAAEC,GAAG,EAAEC;MAAK,CAAC;MACjG,IAAIF,IAAI,KAAK,SAAS,EAAE;QACtB,OAAOL,KAAK,CAACQ,OAAO,GAAG;UAAEZ,KAAK,EAAEQ;QAAU,CAAC,CAAC,2BAC3BA,SAAS,OACzB;MACH;MAEA,IAAIC,IAAI,KAAK,WAAW,EAAE;QACxB,OAAOL,KAAK,CAACS,SAAS,GAAG;UAAEb,KAAK,EAAEQ;QAAU,CAAC,CAAC,iCAErCA,SAAS,EACL;UAAEH,OAAO,EAAED,KAAK,CAACS;QAAU,CAAC,CAExC;MACH;MAEA,MAAMC,aAAa,GAAG;QACpBC,QAAQ,EAAEX,KAAK,CAACW,QAAQ,GAAIC,SAAc,IAAKZ,KAAK,CAACW,QAAQ,GAAG;UAAE,GAAGC,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM,SAAS;QACnGC,OAAO,EAAEd,KAAK,CAACc,OAAO,GAAIF,SAAc,IAAKZ,KAAK,CAACc,OAAO,GAAG;UAAE,GAAGF,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM,SAAS;QAChGE,MAAM,EAAEf,KAAK,CAACe,MAAM,GAAIH,SAAc,IAAKZ,KAAK,CAACe,MAAM,GAAG;UAAE,GAAGH,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM,SAAS;QAC7FZ,OAAO,EAAED,KAAK,CAACC,OAAO,GAAIW,SAAc,IAAKZ,KAAK,CAACC,OAAO,GAAG;UAAE,GAAGW,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM,SAAS;QAChGG,KAAK,EAAEhB,KAAK,CAACgB,KAAK,GAAIJ,SAAc,IAAKZ,KAAK,CAACgB,KAAK,GAAG;UAAE,GAAGJ,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM;MACnF,CAAC;MAED,MAAM,CAACI,cAAc,EAAEC,EAAE,CAAC,GAAG7B,UAAU,CAAC8B,WAAW,CAACf,SAAS,CAAC;MAE9D,OAAOD,QAAQ;QAAA,SAEHC,SAAS,EAAEgB;MAAK,GACnBH,cAAc;QAGjBI,SAAS,EAAE;UAAA,IAAC;YAAEzB,KAAK,EAAE0B;UAAe,CAAC;UAAA,OAAKtB,KAAK,CAACuB,MAAM,GAClDvB,KAAK,CAACuB,MAAM,CAAC;YAAE3B,KAAK,EAAE;cAAE,GAAGQ,SAAS;cAAE,GAAGkB;YAAe;UAAE,CAAC,CAAC,uCAC5ClB,SAAS,EAAQkB,cAAc,GAAaZ,aAAa,CAAK;QAAA;QAClFT,OAAO,EAAE;UAAA,SACgBE;QAAQ,GAAaH,KAAK;MAClD,KAILA,KAAK,CAACO,IAAI,GAAGP,KAAK,CAACO,IAAI,CAACH,SAAS,CAAC,2BAEzBA,SAAS,EACJM,aAAa,CAG5B;IACH,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VListChildren.mjs","names":["VDivider","VListGroup","VListItem","VListSubheader","createList","genericComponent","VListChildren","name","props","items","Array","setup","_ref","slots","default","map","_ref2","children","itemProps","type","raw","item","divider","_createVNode","subheader","slotsWithItem","subtitle","slotProps","undefined","prepend","append","title","listGroupProps","_1","filterProps","_mergeProps","value","activator","_ref3","activatorProps","header"],"sources":["../../../src/components/VList/VListChildren.tsx"],"sourcesContent":["// Components\nimport { VDivider } from '../VDivider'\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\nimport { VListSubheader } from './VListSubheader'\n\n// Utilities\nimport { createList } from './list'\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { InternalListItem } from './VList'\nimport type { ListItemSubtitleSlot, ListItemTitleSlot } from './VListItem'\nimport type { SlotsToProps } from '@/util'\nimport type { Prop } from 'vue'\n\nexport const VListChildren = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n } & SlotsToProps<{\n default: []\n header: [{ props: Record<string, unknown> }]\n item: [T]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n }>\n}>()({\n name: 'VListChildren',\n\n props: {\n items: Array as Prop<InternalListItem[]>,\n },\n\n setup (props, { slots }) {\n createList()\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, type, raw: item }) => {\n if (type === 'divider') {\n return slots.divider?.({ props: itemProps }) ?? (\n <VDivider { ...itemProps } />\n )\n }\n\n if (type === 'subheader') {\n return slots.subheader?.({ props: itemProps }) ?? (\n <VListSubheader\n { ...itemProps }\n v-slots={{ default: slots.subheader }}\n />\n )\n }\n\n const slotsWithItem = {\n subtitle: slots.subtitle ? (slotProps: any) => slots.subtitle?.({ ...slotProps, item }) : undefined,\n prepend: slots.prepend ? (slotProps: any) => slots.prepend?.({ ...slotProps, item }) : undefined,\n append: slots.append ? (slotProps: any) => slots.append?.({ ...slotProps, item }) : undefined,\n default: slots.default ? (slotProps: any) => slots.default?.({ ...slotProps, item }) : undefined,\n title: slots.title ? (slotProps: any) => slots.title?.({ ...slotProps, item }) : undefined,\n }\n\n const [listGroupProps, _1] = VListGroup.filterProps(itemProps)\n\n return children ? (\n <VListGroup\n value={ itemProps?.value }\n { ...listGroupProps }\n >\n {{\n activator: ({ props: activatorProps }) => slots.header\n ? slots.header({ props: { ...itemProps, ...activatorProps } })\n : <VListItem { ...itemProps } { ...activatorProps } v-slots={ slotsWithItem } />,\n default: () => (\n <VListChildren items={ children } v-slots={ slots } />\n ),\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item(itemProps) : (\n <VListItem\n { ...itemProps }\n v-slots={ slotsWithItem }\n />\n )\n )\n })\n },\n})\n"],"mappings":"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"}