@vuetify/nightly 3.8.2-master.2025-04-17 → 3.8.2-master.2025-04-22

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 (289) hide show
  1. package/CHANGELOG.md +24 -3
  2. package/dist/json/attributes.json +2022 -2022
  3. package/dist/json/importMap-labs.json +36 -36
  4. package/dist/json/importMap.json +170 -170
  5. package/dist/json/web-types.json +4067 -3809
  6. package/dist/vuetify-labs.cjs +631 -514
  7. package/dist/vuetify-labs.css +5232 -5223
  8. package/dist/vuetify-labs.d.ts +1855 -915
  9. package/dist/vuetify-labs.esm.js +632 -515
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +631 -514
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +402 -391
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +2556 -2556
  16. package/dist/vuetify.d.ts +168 -166
  17. package/dist/vuetify.esm.js +403 -392
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +402 -391
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +893 -885
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VAlert/VAlert.js +8 -9
  25. package/lib/components/VAlert/VAlert.js.map +1 -1
  26. package/lib/components/VAppBar/VAppBar.js +4 -4
  27. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  28. package/lib/components/VAutocomplete/VAutocomplete.js +1 -2
  29. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  30. package/lib/components/VBadge/VBadge.js +2 -3
  31. package/lib/components/VBadge/VBadge.js.map +1 -1
  32. package/lib/components/VBanner/VBanner.js +3 -3
  33. package/lib/components/VBanner/VBanner.js.map +1 -1
  34. package/lib/components/VBottomNavigation/VBottomNavigation.js +8 -8
  35. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  36. package/lib/components/VBreadcrumbs/VBreadcrumbs.js +6 -6
  37. package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  38. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +1 -2
  39. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  40. package/lib/components/VBtn/VBtn.js +3 -3
  41. package/lib/components/VBtn/VBtn.js.map +1 -1
  42. package/lib/components/VBtnGroup/VBtnGroup.js +4 -4
  43. package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
  44. package/lib/components/VCard/VCard.js +7 -8
  45. package/lib/components/VCard/VCard.js.map +1 -1
  46. package/lib/components/VCheckbox/VCheckbox.js +2 -3
  47. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  48. package/lib/components/VCheckbox/VCheckboxBtn.js +3 -3
  49. package/lib/components/VCheckbox/VCheckboxBtn.js.map +1 -1
  50. package/lib/components/VChip/VChip.js +8 -9
  51. package/lib/components/VChip/VChip.js.map +1 -1
  52. package/lib/components/VChipGroup/VChipGroup.js +5 -5
  53. package/lib/components/VChipGroup/VChipGroup.js.map +1 -1
  54. package/lib/components/VCombobox/VCombobox.js +3 -4
  55. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  56. package/lib/components/VCounter/VCounter.js +2 -2
  57. package/lib/components/VCounter/VCounter.js.map +1 -1
  58. package/lib/components/VDataIterator/VDataIterator.js +2 -2
  59. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  60. package/lib/components/VDataTable/VDataTable.js +7 -7
  61. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  62. package/lib/components/VDataTable/VDataTableHeaders.js +1 -1
  63. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  64. package/lib/components/VDataTable/VDataTableServer.js +7 -7
  65. package/lib/components/VDataTable/VDataTableServer.js.map +1 -1
  66. package/lib/components/VDataTable/VDataTableVirtual.js +7 -7
  67. package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
  68. package/lib/components/VDataTable/composables/expand.d.ts +1 -1
  69. package/lib/components/VDataTable/composables/expand.js +1 -1
  70. package/lib/components/VDataTable/composables/expand.js.map +1 -1
  71. package/lib/components/VDataTable/composables/options.js +8 -8
  72. package/lib/components/VDataTable/composables/options.js.map +1 -1
  73. package/lib/components/VDataTable/composables/select.d.ts +2 -2
  74. package/lib/components/VDataTable/composables/select.js +2 -2
  75. package/lib/components/VDataTable/composables/select.js.map +1 -1
  76. package/lib/components/VDataTable/composables/sort.d.ts +2 -2
  77. package/lib/components/VDataTable/composables/sort.js +2 -2
  78. package/lib/components/VDataTable/composables/sort.js.map +1 -1
  79. package/lib/components/VDatePicker/VDatePicker.js +4 -4
  80. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  81. package/lib/components/VDatePicker/VDatePickerHeader.js +1 -1
  82. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  83. package/lib/components/VDatePicker/VDatePickerMonth.js +2 -2
  84. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  85. package/lib/components/VDialog/VDialog.d.ts +9 -9
  86. package/lib/components/VDivider/VDivider.js +2 -2
  87. package/lib/components/VDivider/VDivider.js.map +1 -1
  88. package/lib/components/VEmptyState/VEmptyState.js +1 -2
  89. package/lib/components/VEmptyState/VEmptyState.js.map +1 -1
  90. package/lib/components/VExpansionPanel/VExpansionPanel.js +3 -3
  91. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  92. package/lib/components/VExpansionPanel/VExpansionPanelTitle.js +3 -3
  93. package/lib/components/VExpansionPanel/VExpansionPanelTitle.js.map +1 -1
  94. package/lib/components/VExpansionPanel/VExpansionPanels.js +14 -14
  95. package/lib/components/VExpansionPanel/VExpansionPanels.js.map +1 -1
  96. package/lib/components/VFab/VFab.js +2 -2
  97. package/lib/components/VFab/VFab.js.map +1 -1
  98. package/lib/components/VField/VField.js +5 -5
  99. package/lib/components/VField/VField.js.map +1 -1
  100. package/lib/components/VFileInput/VFileInput.js +2 -2
  101. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  102. package/lib/components/VFooter/VFooter.js +4 -4
  103. package/lib/components/VFooter/VFooter.js.map +1 -1
  104. package/lib/components/VForm/VForm.d.ts +40 -40
  105. package/lib/components/VIcon/VIcon.js +4 -4
  106. package/lib/components/VIcon/VIcon.js.map +1 -1
  107. package/lib/components/VImg/VImg.js +2 -2
  108. package/lib/components/VImg/VImg.js.map +1 -1
  109. package/lib/components/VInput/VInput.js +3 -3
  110. package/lib/components/VInput/VInput.js.map +1 -1
  111. package/lib/components/VLayout/VLayoutItem.js +5 -5
  112. package/lib/components/VLayout/VLayoutItem.js.map +1 -1
  113. package/lib/components/VList/VList.js +14 -14
  114. package/lib/components/VList/VList.js.map +1 -1
  115. package/lib/components/VList/VListGroup.js +2 -2
  116. package/lib/components/VList/VListGroup.js.map +1 -1
  117. package/lib/components/VList/VListItem.d.ts +3 -3
  118. package/lib/components/VList/VListItem.js +6 -6
  119. package/lib/components/VList/VListItem.js.map +1 -1
  120. package/lib/components/VList/VListSubheader.js +1 -2
  121. package/lib/components/VList/VListSubheader.js.map +1 -1
  122. package/lib/components/VMenu/VMenu.d.ts +15 -15
  123. package/lib/components/VMenu/VMenu.js +2 -2
  124. package/lib/components/VMenu/VMenu.js.map +1 -1
  125. package/lib/components/VMessages/VMessages.js +1 -1
  126. package/lib/components/VMessages/VMessages.js.map +1 -1
  127. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +6 -6
  128. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  129. package/lib/components/VNumberInput/VNumberInput.js +11 -11
  130. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  131. package/lib/components/VOtpInput/VOtpInput.js +7 -7
  132. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  133. package/lib/components/VOverlay/VOverlay.d.ts +3 -3
  134. package/lib/components/VOverlay/VOverlay.js +4 -4
  135. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  136. package/lib/components/VOverlay/locationStrategies.js +10 -1
  137. package/lib/components/VOverlay/locationStrategies.js.map +1 -1
  138. package/lib/components/VPagination/VPagination.js +7 -7
  139. package/lib/components/VPagination/VPagination.js.map +1 -1
  140. package/lib/components/VProgressCircular/VProgressCircular.js +9 -9
  141. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  142. package/lib/components/VProgressLinear/VProgressLinear.js +4 -4
  143. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  144. package/lib/components/VSelect/VSelect.js +2 -2
  145. package/lib/components/VSelect/VSelect.js.map +1 -1
  146. package/lib/components/VSelectionControl/VSelectionControl.d.ts +1 -1
  147. package/lib/components/VSelectionControl/VSelectionControl.js +7 -7
  148. package/lib/components/VSelectionControl/VSelectionControl.js.map +1 -1
  149. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.js +15 -15
  150. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.js.map +1 -1
  151. package/lib/components/VSheet/VSheet.js +1 -2
  152. package/lib/components/VSheet/VSheet.js.map +1 -1
  153. package/lib/components/VSkeletonLoader/VSkeletonLoader.js +2 -2
  154. package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  155. package/lib/components/VSlider/slider.js +10 -10
  156. package/lib/components/VSlider/slider.js.map +1 -1
  157. package/lib/components/VSnackbar/VSnackbar.d.ts +9 -9
  158. package/lib/components/VSparkline/VSparkline.js +2 -2
  159. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  160. package/lib/components/VSwitch/VSwitch.js +3 -3
  161. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  162. package/lib/components/VSystemBar/VSystemBar.js +2 -2
  163. package/lib/components/VSystemBar/VSystemBar.js.map +1 -1
  164. package/lib/components/VTabs/VTab.d.ts +3 -3
  165. package/lib/components/VTabs/VTab.js +1 -1
  166. package/lib/components/VTabs/VTab.js.map +1 -1
  167. package/lib/components/VTabs/VTabs.js +7 -7
  168. package/lib/components/VTabs/VTabs.js.map +1 -1
  169. package/lib/components/VTimeline/VTimeline.js +9 -9
  170. package/lib/components/VTimeline/VTimeline.js.map +1 -1
  171. package/lib/components/VTimeline/VTimelineDivider.js +2 -3
  172. package/lib/components/VTimeline/VTimelineDivider.js.map +1 -1
  173. package/lib/components/VToolbar/VToolbar.js +2 -2
  174. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  175. package/lib/components/VToolbar/VToolbarItems.js +2 -2
  176. package/lib/components/VToolbar/VToolbarItems.js.map +1 -1
  177. package/lib/components/VTooltip/VTooltip.d.ts +9 -9
  178. package/lib/components/VTooltip/VTooltip.js +3 -3
  179. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  180. package/lib/components/VVirtualScroll/VVirtualScroll.js +1 -1
  181. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  182. package/lib/components/VWindow/VWindow.js +3 -3
  183. package/lib/components/VWindow/VWindow.js.map +1 -1
  184. package/lib/components/transitions/dialog-transition.js +11 -2
  185. package/lib/components/transitions/dialog-transition.js.map +1 -1
  186. package/lib/composables/border.d.ts +1 -1
  187. package/lib/composables/border.js +5 -8
  188. package/lib/composables/border.js.map +1 -1
  189. package/lib/composables/calendar.d.ts +21 -54
  190. package/lib/composables/calendar.js +11 -11
  191. package/lib/composables/calendar.js.map +1 -1
  192. package/lib/composables/color.d.ts +8 -10
  193. package/lib/composables/color.js +21 -22
  194. package/lib/composables/color.js.map +1 -1
  195. package/lib/composables/density.d.ts +1 -1
  196. package/lib/composables/density.js +2 -2
  197. package/lib/composables/density.js.map +1 -1
  198. package/lib/composables/display.d.ts +4 -2
  199. package/lib/composables/display.js +2 -2
  200. package/lib/composables/display.js.map +1 -1
  201. package/lib/composables/elevation.js +4 -6
  202. package/lib/composables/elevation.js.map +1 -1
  203. package/lib/composables/focus.d.ts +4 -2
  204. package/lib/composables/focus.js +2 -2
  205. package/lib/composables/focus.js.map +1 -1
  206. package/lib/composables/form.d.ts +7 -7
  207. package/lib/composables/form.js +3 -3
  208. package/lib/composables/form.js.map +1 -1
  209. package/lib/composables/goto.js +2 -2
  210. package/lib/composables/goto.js.map +1 -1
  211. package/lib/composables/group.d.ts +3 -3
  212. package/lib/composables/group.js +4 -4
  213. package/lib/composables/group.js.map +1 -1
  214. package/lib/composables/icons.d.ts +2 -2
  215. package/lib/composables/icons.js +2 -2
  216. package/lib/composables/icons.js.map +1 -1
  217. package/lib/composables/layout.d.ts +10 -4
  218. package/lib/composables/layout.js +4 -4
  219. package/lib/composables/layout.js.map +1 -1
  220. package/lib/composables/lazy.d.ts +1 -1
  221. package/lib/composables/lazy.js +2 -2
  222. package/lib/composables/lazy.js.map +1 -1
  223. package/lib/composables/loader.d.ts +4 -2
  224. package/lib/composables/loader.js +2 -2
  225. package/lib/composables/loader.js.map +1 -1
  226. package/lib/composables/locale.js +3 -3
  227. package/lib/composables/locale.js.map +1 -1
  228. package/lib/composables/nested/nested.d.ts +3 -3
  229. package/lib/composables/nested/nested.js +4 -4
  230. package/lib/composables/nested/nested.js.map +1 -1
  231. package/lib/composables/position.d.ts +1 -1
  232. package/lib/composables/position.js +2 -2
  233. package/lib/composables/position.js.map +1 -1
  234. package/lib/composables/router.d.ts +3 -3
  235. package/lib/composables/router.js +8 -8
  236. package/lib/composables/router.js.map +1 -1
  237. package/lib/composables/size.d.ts +8 -5
  238. package/lib/composables/size.js +6 -5
  239. package/lib/composables/size.js.map +1 -1
  240. package/lib/composables/ssrBoot.d.ts +4 -2
  241. package/lib/composables/ssrBoot.js +2 -2
  242. package/lib/composables/ssrBoot.js.map +1 -1
  243. package/lib/composables/stack.d.ts +7 -5
  244. package/lib/composables/stack.js +5 -5
  245. package/lib/composables/stack.js.map +1 -1
  246. package/lib/composables/theme.js +7 -7
  247. package/lib/composables/theme.js.map +1 -1
  248. package/lib/composables/variant.d.ts +5 -6
  249. package/lib/composables/variant.js +6 -6
  250. package/lib/composables/variant.js.map +1 -1
  251. package/lib/entry-bundler.js +1 -1
  252. package/lib/framework.d.ts +81 -79
  253. package/lib/framework.js +1 -1
  254. package/lib/labs/VCalendar/VCalendar.d.ts +600 -211
  255. package/lib/labs/VCalendar/VCalendar.js +55 -27
  256. package/lib/labs/VCalendar/VCalendar.js.map +1 -1
  257. package/lib/labs/VCalendar/VCalendarDay.css +9 -0
  258. package/lib/labs/VCalendar/VCalendarDay.d.ts +329 -17
  259. package/lib/labs/VCalendar/VCalendarDay.js +18 -10
  260. package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
  261. package/lib/labs/VCalendar/VCalendarDay.sass +8 -0
  262. package/lib/labs/VCalendar/VCalendarEvent.js +15 -5
  263. package/lib/labs/VCalendar/VCalendarEvent.js.map +1 -1
  264. package/lib/labs/VCalendar/VCalendarHeader.d.ts +44 -17
  265. package/lib/labs/VCalendar/VCalendarHeader.js +5 -2
  266. package/lib/labs/VCalendar/VCalendarHeader.js.map +1 -1
  267. package/lib/labs/VCalendar/VCalendarInterval.d.ts +171 -17
  268. package/lib/labs/VCalendar/VCalendarInterval.js +66 -35
  269. package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
  270. package/lib/labs/VCalendar/VCalendarIntervalEvent.d.ts +92 -17
  271. package/lib/labs/VCalendar/VCalendarIntervalEvent.js +30 -10
  272. package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
  273. package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +122 -88
  274. package/lib/labs/VCalendar/VCalendarMonthDay.js +24 -22
  275. package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
  276. package/lib/labs/VIconBtn/VIconBtn.d.ts +6 -21
  277. package/lib/labs/VIconBtn/VIconBtn.js +10 -12
  278. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  279. package/lib/labs/VPicker/VPicker.js +1 -2
  280. package/lib/labs/VPicker/VPicker.js.map +1 -1
  281. package/lib/labs/VTimePicker/VTimePickerClock.js +3 -3
  282. package/lib/labs/VTimePicker/VTimePickerClock.js.map +1 -1
  283. package/lib/labs/VTreeview/VTreeview.js +11 -11
  284. package/lib/labs/VTreeview/VTreeview.js.map +1 -1
  285. package/lib/util/box.js.map +1 -1
  286. package/lib/util/helpers.d.ts +5 -2
  287. package/lib/util/helpers.js +9 -5
  288. package/lib/util/helpers.js.map +1 -1
  289. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"VBanner.js","names":["VBannerActions","VBannerText","VAvatar","VDefaultsProvider","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeDisplayProps","useDisplay","makeElevationProps","useElevation","IconValue","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","toRef","genericComponent","propsFactory","useRender","makeVBannerProps","avatar","String","bgColor","color","icon","lines","stacked","Boolean","sticky","text","mobile","VBanner","name","props","setup","_ref","slots","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","displayClasses","dimensionStyles","elevationClasses","locationStyles","positionClasses","roundedClasses","themeClasses","density","hasText","hasPrependMedia","hasPrepend","prepend","_createVNode","tag","value","class","style","default","image","actions"],"sources":["../../../src/components/VBanner/VBanner.tsx"],"sourcesContent":["// Styles\nimport './VBanner.sass'\n\n// Components\nimport { VBannerActions } from './VBannerActions'\nimport { VBannerText } from './VBannerText'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VBannerSlots = {\n default: never\n prepend: never\n text: never\n actions: never\n}\n\nexport const makeVBannerProps = propsFactory({\n avatar: String,\n bgColor: String,\n color: String,\n icon: IconValue,\n lines: String as PropType<'one' | 'two' | 'three'>,\n stacked: Boolean,\n sticky: Boolean,\n text: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeDisplayProps({ mobile: null }),\n ...makeElevationProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VBanner')\n\nexport const VBanner = genericComponent<VBannerSlots>()({\n name: 'VBanner',\n\n props: makeVBannerProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'bgColor')\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { displayClasses, mobile } = useDisplay(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n const { themeClasses } = provideTheme(props)\n\n const color = toRef(props, 'color')\n const density = toRef(props, 'density')\n\n provideDefaults({ VBannerActions: { color, density } })\n\n useRender(() => {\n const hasText = !!(props.text || slots.text)\n const hasPrependMedia = !!(props.avatar || props.icon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n return (\n <props.tag\n class={[\n 'v-banner',\n {\n 'v-banner--stacked': props.stacked || mobile.value,\n 'v-banner--sticky': props.sticky,\n [`v-banner--${props.lines}-line`]: !!props.lines,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n displayClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n role=\"banner\"\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-banner__prepend\">\n { !slots.prepend ? (\n <VAvatar\n key=\"prepend-avatar\"\n color={ color.value }\n density={ density.value }\n icon={ props.icon }\n image={ props.avatar }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n color: color.value,\n density: density.value,\n icon: props.icon,\n image: props.avatar,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-banner__content\">\n { hasText && (\n <VBannerText key=\"text\">\n { slots.text?.() ?? props.text }\n </VBannerText>\n )}\n\n { slots.default?.() }\n </div>\n\n { slots.actions && (\n <VBannerActions key=\"actions\" v-slots:default={ slots.actions } />\n )}\n </props.tag>\n )\n })\n },\n})\n\nexport type VBanner = InstanceType<typeof VBanner>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VBanner.js","names":["VBannerActions","VBannerText","VAvatar","VDefaultsProvider","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeDisplayProps","useDisplay","makeElevationProps","useElevation","IconValue","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","toRef","genericComponent","propsFactory","useRender","makeVBannerProps","avatar","String","bgColor","color","icon","lines","stacked","Boolean","sticky","text","mobile","VBanner","name","props","setup","_ref","slots","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","displayClasses","dimensionStyles","elevationClasses","locationStyles","positionClasses","roundedClasses","themeClasses","density","hasText","hasPrependMedia","hasPrepend","prepend","_createVNode","tag","value","class","style","default","image","actions"],"sources":["../../../src/components/VBanner/VBanner.tsx"],"sourcesContent":["// Styles\nimport './VBanner.sass'\n\n// Components\nimport { VBannerActions } from './VBannerActions'\nimport { VBannerText } from './VBannerText'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VBannerSlots = {\n default: never\n prepend: never\n text: never\n actions: never\n}\n\nexport const makeVBannerProps = propsFactory({\n avatar: String,\n bgColor: String,\n color: String,\n icon: IconValue,\n lines: String as PropType<'one' | 'two' | 'three'>,\n stacked: Boolean,\n sticky: Boolean,\n text: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeDisplayProps({ mobile: null }),\n ...makeElevationProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VBanner')\n\nexport const VBanner = genericComponent<VBannerSlots>()({\n name: 'VBanner',\n\n props: makeVBannerProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.bgColor)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { displayClasses, mobile } = useDisplay(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n const { themeClasses } = provideTheme(props)\n\n const color = toRef(() => props.color)\n const density = toRef(() => props.density)\n\n provideDefaults({ VBannerActions: { color, density } })\n\n useRender(() => {\n const hasText = !!(props.text || slots.text)\n const hasPrependMedia = !!(props.avatar || props.icon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n return (\n <props.tag\n class={[\n 'v-banner',\n {\n 'v-banner--stacked': props.stacked || mobile.value,\n 'v-banner--sticky': props.sticky,\n [`v-banner--${props.lines}-line`]: !!props.lines,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n displayClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n role=\"banner\"\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-banner__prepend\">\n { !slots.prepend ? (\n <VAvatar\n key=\"prepend-avatar\"\n color={ color.value }\n density={ density.value }\n icon={ props.icon }\n image={ props.avatar }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n color: color.value,\n density: density.value,\n icon: props.icon,\n image: props.avatar,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-banner__content\">\n { hasText && (\n <VBannerText key=\"text\">\n { slots.text?.() ?? props.text }\n </VBannerText>\n )}\n\n { slots.default?.() }\n </div>\n\n { slots.actions && (\n <VBannerActions key=\"actions\" v-slots:default={ slots.actions } />\n )}\n </props.tag>\n )\n })\n },\n})\n\nexport type VBanner = InstanceType<typeof VBanner>\n"],"mappings":"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","ignoreList":[]}
@@ -72,7 +72,7 @@ export const VBottomNavigation = genericComponent()({
72
72
  const {
73
73
  backgroundColorClasses,
74
74
  backgroundColorStyles
75
- } = useBackgroundColor(toRef(props, 'bgColor'));
75
+ } = useBackgroundColor(() => props.bgColor);
76
76
  const {
77
77
  densityClasses
78
78
  } = useDensity(props);
@@ -92,19 +92,19 @@ export const VBottomNavigation = genericComponent()({
92
92
  } = useLayoutItem({
93
93
  id: props.name,
94
94
  order: computed(() => parseInt(props.order, 10)),
95
- position: computed(() => 'bottom'),
96
- layoutSize: computed(() => isActive.value ? height.value : 0),
95
+ position: toRef(() => 'bottom'),
96
+ layoutSize: toRef(() => isActive.value ? height.value : 0),
97
97
  elementSize: height,
98
98
  active: isActive,
99
- absolute: toRef(props, 'absolute')
99
+ absolute: toRef(() => props.absolute)
100
100
  });
101
101
  useGroup(props, VBtnToggleSymbol);
102
102
  provideDefaults({
103
103
  VBtn: {
104
- baseColor: toRef(props, 'baseColor'),
105
- color: toRef(props, 'color'),
106
- density: toRef(props, 'density'),
107
- stacked: computed(() => props.mode !== 'horizontal'),
104
+ baseColor: toRef(() => props.baseColor),
105
+ color: toRef(() => props.color),
106
+ density: toRef(() => props.density),
107
+ stacked: toRef(() => props.mode !== 'horizontal'),
108
108
  variant: 'text'
109
109
  }
110
110
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"VBottomNavigation.js","names":["VBtnToggleSymbol","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupProps","useGroup","makeLayoutItemProps","useLayoutItem","useProxiedModel","makeRoundedProps","useRounded","useSsrBoot","makeTagProps","makeThemeProps","useTheme","computed","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVBottomNavigationProps","baseColor","String","bgColor","color","grow","Boolean","mode","type","validator","v","includes","height","Number","default","active","name","tag","selectedClass","VBottomNavigation","props","emits","value","setup","_ref","slots","themeClasses","borderClasses","backgroundColorClasses","backgroundColorStyles","densityClasses","elevationClasses","roundedClasses","ssrBootStyles","density","isActive","layoutItemStyles","id","order","parseInt","position","layoutSize","elementSize","absolute","VBtn","stacked","variant","scoped","_createVNode","class","style"],"sources":["../../../src/components/VBottomNavigation/VBottomNavigation.tsx"],"sourcesContent":["// Styles\nimport './VBottomNavigation.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, useTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { GenericProps } from '@/util'\n\nexport const makeVBottomNavigationProps = propsFactory({\n baseColor: String,\n bgColor: String,\n color: String,\n grow: Boolean,\n mode: {\n type: String,\n validator: (v: any) => !v || ['horizontal', 'shift'].includes(v),\n },\n height: {\n type: [Number, String],\n default: 56,\n },\n active: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeLayoutItemProps({ name: 'bottom-navigation' }),\n ...makeTagProps({ tag: 'header' }),\n ...makeGroupProps({ selectedClass: 'v-btn--selected' }),\n ...makeThemeProps(),\n}, 'VBottomNavigation')\n\nexport const VBottomNavigation = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: { default: never },\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VBottomNavigation',\n\n props: makeVBottomNavigationProps(),\n\n emits: {\n 'update:active': (value: any) => true,\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = useTheme()\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { ssrBootStyles } = useSsrBoot()\n const height = computed(() => (\n Number(props.height) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ))\n const isActive = useProxiedModel(props, 'active', props.active)\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: computed(() => 'bottom'),\n layoutSize: computed(() => isActive.value ? height.value : 0),\n elementSize: height,\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n useGroup(props, VBtnToggleSymbol)\n\n provideDefaults({\n VBtn: {\n baseColor: toRef(props, 'baseColor'),\n color: toRef(props, 'color'),\n density: toRef(props, 'density'),\n stacked: computed(() => props.mode !== 'horizontal'),\n variant: 'text',\n },\n }, { scoped: true })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-bottom-navigation',\n {\n 'v-bottom-navigation--active': isActive.value,\n 'v-bottom-navigation--grow': props.grow,\n 'v-bottom-navigation--shift': props.mode === 'shift',\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n {\n height: convertToUnit(height.value),\n },\n ssrBootStyles.value,\n props.style,\n ]}\n >\n { slots.default && (\n <div class=\"v-bottom-navigation__content\">\n { slots.default() }\n </div>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VBottomNavigation = InstanceType<typeof VBottomNavigation>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VBottomNavigation.js","names":["VBtnToggleSymbol","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupProps","useGroup","makeLayoutItemProps","useLayoutItem","useProxiedModel","makeRoundedProps","useRounded","useSsrBoot","makeTagProps","makeThemeProps","useTheme","computed","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVBottomNavigationProps","baseColor","String","bgColor","color","grow","Boolean","mode","type","validator","v","includes","height","Number","default","active","name","tag","selectedClass","VBottomNavigation","props","emits","value","setup","_ref","slots","themeClasses","borderClasses","backgroundColorClasses","backgroundColorStyles","densityClasses","elevationClasses","roundedClasses","ssrBootStyles","density","isActive","layoutItemStyles","id","order","parseInt","position","layoutSize","elementSize","absolute","VBtn","stacked","variant","scoped","_createVNode","class","style"],"sources":["../../../src/components/VBottomNavigation/VBottomNavigation.tsx"],"sourcesContent":["// Styles\nimport './VBottomNavigation.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, useTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { GenericProps } from '@/util'\n\nexport const makeVBottomNavigationProps = propsFactory({\n baseColor: String,\n bgColor: String,\n color: String,\n grow: Boolean,\n mode: {\n type: String,\n validator: (v: any) => !v || ['horizontal', 'shift'].includes(v),\n },\n height: {\n type: [Number, String],\n default: 56,\n },\n active: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeLayoutItemProps({ name: 'bottom-navigation' }),\n ...makeTagProps({ tag: 'header' }),\n ...makeGroupProps({ selectedClass: 'v-btn--selected' }),\n ...makeThemeProps(),\n}, 'VBottomNavigation')\n\nexport const VBottomNavigation = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: { default: never },\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VBottomNavigation',\n\n props: makeVBottomNavigationProps(),\n\n emits: {\n 'update:active': (value: any) => true,\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = useTheme()\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.bgColor)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { ssrBootStyles } = useSsrBoot()\n const height = computed(() => (\n Number(props.height) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ))\n const isActive = useProxiedModel(props, 'active', props.active)\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(() => 'bottom'),\n layoutSize: toRef(() => isActive.value ? height.value : 0),\n elementSize: height,\n active: isActive,\n absolute: toRef(() => props.absolute),\n })\n\n useGroup(props, VBtnToggleSymbol)\n\n provideDefaults({\n VBtn: {\n baseColor: toRef(() => props.baseColor),\n color: toRef(() => props.color),\n density: toRef(() => props.density),\n stacked: toRef(() => props.mode !== 'horizontal'),\n variant: 'text',\n },\n }, { scoped: true })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-bottom-navigation',\n {\n 'v-bottom-navigation--active': isActive.value,\n 'v-bottom-navigation--grow': props.grow,\n 'v-bottom-navigation--shift': props.mode === 'shift',\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n {\n height: convertToUnit(height.value),\n },\n ssrBootStyles.value,\n props.style,\n ]}\n >\n { slots.default && (\n <div class=\"v-bottom-navigation__content\">\n { slots.default() }\n </div>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VBottomNavigation = InstanceType<typeof VBottomNavigation>\n"],"mappings":"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","ignoreList":[]}
@@ -48,7 +48,7 @@ export const VBreadcrumbs = genericComponent()({
48
48
  const {
49
49
  backgroundColorClasses,
50
50
  backgroundColorStyles
51
- } = useBackgroundColor(toRef(props, 'bgColor'));
51
+ } = useBackgroundColor(() => props.bgColor);
52
52
  const {
53
53
  densityClasses
54
54
  } = useDensity(props);
@@ -57,13 +57,13 @@ export const VBreadcrumbs = genericComponent()({
57
57
  } = useRounded(props);
58
58
  provideDefaults({
59
59
  VBreadcrumbsDivider: {
60
- divider: toRef(props, 'divider')
60
+ divider: toRef(() => props.divider)
61
61
  },
62
62
  VBreadcrumbsItem: {
63
- activeClass: toRef(props, 'activeClass'),
64
- activeColor: toRef(props, 'activeColor'),
65
- color: toRef(props, 'color'),
66
- disabled: toRef(props, 'disabled')
63
+ activeClass: toRef(() => props.activeClass),
64
+ activeColor: toRef(() => props.activeColor),
65
+ color: toRef(() => props.color),
66
+ disabled: toRef(() => props.disabled)
67
67
  }
68
68
  });
69
69
  const items = computed(() => props.items.map(item => {
@@ -1 +1 @@
1
- {"version":3,"file":"VBreadcrumbs.js","names":["VBreadcrumbsDivider","VBreadcrumbsItem","VDefaultsProvider","VIcon","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","IconValue","makeRoundedProps","useRounded","makeTagProps","computed","toRef","genericComponent","propsFactory","useRender","makeVBreadcrumbsProps","activeClass","String","activeColor","bgColor","color","disabled","Boolean","divider","type","default","icon","items","Array","tag","VBreadcrumbs","name","props","setup","_ref","slots","backgroundColorClasses","backgroundColorStyles","densityClasses","roundedClasses","map","item","title","raw","hasPrepend","prepend","_createVNode","value","class","style","start","_ref2","index","array","_Fragment","_mergeProps","length","undefined"],"sources":["../../../src/components/VBreadcrumbs/VBreadcrumbs.tsx"],"sourcesContent":["// Styles\nimport './VBreadcrumbs.sass'\n\n// Components\nimport { VBreadcrumbsDivider } from './VBreadcrumbsDivider'\nimport { VBreadcrumbsItem } from './VBreadcrumbsItem'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { LinkProps } from '@/composables/router'\nimport type { GenericProps } from '@/util'\n\nexport type InternalBreadcrumbItem = Partial<LinkProps> & {\n title: string\n disabled?: boolean\n}\n\nexport type BreadcrumbItem = string | InternalBreadcrumbItem\n\nexport const makeVBreadcrumbsProps = propsFactory({\n activeClass: String,\n activeColor: String,\n bgColor: String,\n color: String,\n disabled: Boolean,\n divider: {\n type: String,\n default: '/',\n },\n icon: IconValue,\n items: {\n type: Array as PropType<readonly BreadcrumbItem[]>,\n default: () => ([]),\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'ul' }),\n}, 'VBreadcrumbs')\n\nexport const VBreadcrumbs = genericComponent<new <T extends BreadcrumbItem>(\n props: {\n items?: T[]\n },\n slots: {\n prepend: never\n title: { item: InternalBreadcrumbItem, index: number }\n divider: { item: T, index: number }\n item: { item: InternalBreadcrumbItem, index: number }\n default: never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VBreadcrumbs',\n\n props: makeVBreadcrumbsProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n\n provideDefaults({\n VBreadcrumbsDivider: {\n divider: toRef(props, 'divider'),\n },\n VBreadcrumbsItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor: toRef(props, 'activeColor'),\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n },\n })\n\n const items = computed(() => props.items.map(item => {\n return typeof item === 'string' ? { item: { title: item }, raw: item } : { item, raw: item }\n }))\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.icon)\n\n return (\n <props.tag\n class={[\n 'v-breadcrumbs',\n backgroundColorClasses.value,\n densityClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n { hasPrepend && (\n <li key=\"prepend\" class=\"v-breadcrumbs__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n start\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !props.icon }\n defaults={{\n VIcon: {\n icon: props.icon,\n start: true,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </li>\n )}\n\n { items.value.map(({ item, raw }, index, array) => (\n <>\n { slots.item?.({ item, index }) ?? (\n <VBreadcrumbsItem\n key={ index }\n disabled={ index >= array.length - 1 }\n { ...(typeof item === 'string' ? { title: item } : item) }\n v-slots={{\n default: slots.title ? () => slots.title?.({ item, index }) : undefined,\n }}\n />\n )}\n\n { index < array.length - 1 && (\n <VBreadcrumbsDivider\n v-slots={{\n default: slots.divider ? () => slots.divider?.({ item: raw, index }) : undefined,\n }}\n />\n )}\n </>\n ))}\n\n { slots.default?.() }\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VBreadcrumbs = InstanceType<typeof VBreadcrumbs>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VBreadcrumbs.js","names":["VBreadcrumbsDivider","VBreadcrumbsItem","VDefaultsProvider","VIcon","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","IconValue","makeRoundedProps","useRounded","makeTagProps","computed","toRef","genericComponent","propsFactory","useRender","makeVBreadcrumbsProps","activeClass","String","activeColor","bgColor","color","disabled","Boolean","divider","type","default","icon","items","Array","tag","VBreadcrumbs","name","props","setup","_ref","slots","backgroundColorClasses","backgroundColorStyles","densityClasses","roundedClasses","map","item","title","raw","hasPrepend","prepend","_createVNode","value","class","style","start","_ref2","index","array","_Fragment","_mergeProps","length","undefined"],"sources":["../../../src/components/VBreadcrumbs/VBreadcrumbs.tsx"],"sourcesContent":["// Styles\nimport './VBreadcrumbs.sass'\n\n// Components\nimport { VBreadcrumbsDivider } from './VBreadcrumbsDivider'\nimport { VBreadcrumbsItem } from './VBreadcrumbsItem'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { LinkProps } from '@/composables/router'\nimport type { GenericProps } from '@/util'\n\nexport type InternalBreadcrumbItem = Partial<LinkProps> & {\n title: string\n disabled?: boolean\n}\n\nexport type BreadcrumbItem = string | InternalBreadcrumbItem\n\nexport const makeVBreadcrumbsProps = propsFactory({\n activeClass: String,\n activeColor: String,\n bgColor: String,\n color: String,\n disabled: Boolean,\n divider: {\n type: String,\n default: '/',\n },\n icon: IconValue,\n items: {\n type: Array as PropType<readonly BreadcrumbItem[]>,\n default: () => ([]),\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'ul' }),\n}, 'VBreadcrumbs')\n\nexport const VBreadcrumbs = genericComponent<new <T extends BreadcrumbItem>(\n props: {\n items?: T[]\n },\n slots: {\n prepend: never\n title: { item: InternalBreadcrumbItem, index: number }\n divider: { item: T, index: number }\n item: { item: InternalBreadcrumbItem, index: number }\n default: never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VBreadcrumbs',\n\n props: makeVBreadcrumbsProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.bgColor)\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n\n provideDefaults({\n VBreadcrumbsDivider: {\n divider: toRef(() => props.divider),\n },\n VBreadcrumbsItem: {\n activeClass: toRef(() => props.activeClass),\n activeColor: toRef(() => props.activeColor),\n color: toRef(() => props.color),\n disabled: toRef(() => props.disabled),\n },\n })\n\n const items = computed(() => props.items.map(item => {\n return typeof item === 'string' ? { item: { title: item }, raw: item } : { item, raw: item }\n }))\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.icon)\n\n return (\n <props.tag\n class={[\n 'v-breadcrumbs',\n backgroundColorClasses.value,\n densityClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n { hasPrepend && (\n <li key=\"prepend\" class=\"v-breadcrumbs__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n start\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !props.icon }\n defaults={{\n VIcon: {\n icon: props.icon,\n start: true,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </li>\n )}\n\n { items.value.map(({ item, raw }, index, array) => (\n <>\n { slots.item?.({ item, index }) ?? (\n <VBreadcrumbsItem\n key={ index }\n disabled={ index >= array.length - 1 }\n { ...(typeof item === 'string' ? { title: item } : item) }\n v-slots={{\n default: slots.title ? () => slots.title?.({ item, index }) : undefined,\n }}\n />\n )}\n\n { index < array.length - 1 && (\n <VBreadcrumbsDivider\n v-slots={{\n default: slots.divider ? () => slots.divider?.({ item: raw, index }) : undefined,\n }}\n />\n )}\n </>\n ))}\n\n { slots.default?.() }\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VBreadcrumbs = InstanceType<typeof VBreadcrumbs>\n"],"mappings":"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","ignoreList":[]}
@@ -29,11 +29,10 @@ export const VBreadcrumbsItem = genericComponent()({
29
29
  } = _ref;
30
30
  const link = useLink(props, attrs);
31
31
  const isActive = computed(() => props.active || link.isActive?.value);
32
- const color = computed(() => isActive.value ? props.activeColor : props.color);
33
32
  const {
34
33
  textColorClasses,
35
34
  textColorStyles
36
- } = useTextColor(color);
35
+ } = useTextColor(() => isActive.value ? props.activeColor : props.color);
37
36
  useRender(() => {
38
37
  return _createVNode(props.tag, {
39
38
  "class": ['v-breadcrumbs-item', {
@@ -1 +1 @@
1
- {"version":3,"file":"VBreadcrumbsItem.js","names":["useTextColor","makeComponentProps","makeRouterProps","useLink","makeTagProps","computed","genericComponent","propsFactory","useRender","makeVBreadcrumbsItemProps","active","Boolean","activeClass","String","activeColor","color","disabled","title","tag","VBreadcrumbsItem","name","props","setup","_ref","slots","attrs","link","isActive","value","textColorClasses","textColorStyles","_createVNode","class","style","undefined","default","isLink","_mergeProps","navigate","linkProps"],"sources":["../../../src/components/VBreadcrumbs/VBreadcrumbsItem.tsx"],"sourcesContent":["// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVBreadcrumbsItemProps = propsFactory({\n active: Boolean,\n activeClass: String,\n activeColor: String,\n color: String,\n disabled: Boolean,\n title: String,\n\n ...makeComponentProps(),\n ...makeRouterProps(),\n ...makeTagProps({ tag: 'li' }),\n}, 'VBreadcrumbsItem')\n\nexport const VBreadcrumbsItem = genericComponent()({\n name: 'VBreadcrumbsItem',\n\n props: makeVBreadcrumbsItemProps(),\n\n setup (props, { slots, attrs }) {\n const link = useLink(props, attrs)\n const isActive = computed(() => props.active || link.isActive?.value)\n const color = computed(() => isActive.value ? props.activeColor : props.color)\n\n const { textColorClasses, textColorStyles } = useTextColor(color)\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-breadcrumbs-item',\n {\n 'v-breadcrumbs-item--active': isActive.value,\n 'v-breadcrumbs-item--disabled': props.disabled,\n [`${props.activeClass}`]: isActive.value && props.activeClass,\n },\n textColorClasses.value,\n props.class,\n ]}\n style={[\n textColorStyles.value,\n props.style,\n ]}\n aria-current={ isActive.value ? 'page' : undefined }\n >\n { !link.isLink.value ? slots.default?.() ?? props.title : (\n <a\n class=\"v-breadcrumbs-item--link\"\n onClick={ link.navigate }\n { ...link.linkProps }\n >\n { slots.default?.() ?? props.title }\n </a>\n )}\n </props.tag>\n )\n })\n return {}\n },\n})\n\nexport type VBreadcrumbsItem = InstanceType<typeof VBreadcrumbsItem>\n"],"mappings":";AAAA;AAAA,SACSA,YAAY;AAAA,SACZC,kBAAkB;AAAA,SAClBC,eAAe,EAAEC,OAAO;AAAA,SACxBC,YAAY,oCAErB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,yBAAyB,GAAGF,YAAY,CAAC;EACpDG,MAAM,EAAEC,OAAO;EACfC,WAAW,EAAEC,MAAM;EACnBC,WAAW,EAAED,MAAM;EACnBE,KAAK,EAAEF,MAAM;EACbG,QAAQ,EAAEL,OAAO;EACjBM,KAAK,EAAEJ,MAAM;EAEb,GAAGZ,kBAAkB,CAAC,CAAC;EACvB,GAAGC,eAAe,CAAC,CAAC;EACpB,GAAGE,YAAY,CAAC;IAAEc,GAAG,EAAE;EAAK,CAAC;AAC/B,CAAC,EAAE,kBAAkB,CAAC;AAEtB,OAAO,MAAMC,gBAAgB,GAAGb,gBAAgB,CAAC,CAAC,CAAC;EACjDc,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAEZ,yBAAyB,CAAC,CAAC;EAElCa,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC5B,MAAMG,IAAI,GAAGvB,OAAO,CAACkB,KAAK,EAAEI,KAAK,CAAC;IAClC,MAAME,QAAQ,GAAGtB,QAAQ,CAAC,MAAMgB,KAAK,CAACX,MAAM,IAAIgB,IAAI,CAACC,QAAQ,EAAEC,KAAK,CAAC;IACrE,MAAMb,KAAK,GAAGV,QAAQ,CAAC,MAAMsB,QAAQ,CAACC,KAAK,GAAGP,KAAK,CAACP,WAAW,GAAGO,KAAK,CAACN,KAAK,CAAC;IAE9E,MAAM;MAAEc,gBAAgB;MAAEC;IAAgB,CAAC,GAAG9B,YAAY,CAACe,KAAK,CAAC;IAEjEP,SAAS,CAAC,MAAM;MACd,OAAAuB,YAAA,CAAAV,KAAA,CAAAH,GAAA;QAAA,SAEW,CACL,oBAAoB,EACpB;UACE,4BAA4B,EAAES,QAAQ,CAACC,KAAK;UAC5C,8BAA8B,EAAEP,KAAK,CAACL,QAAQ;UAC9C,CAAC,GAAGK,KAAK,CAACT,WAAW,EAAE,GAAGe,QAAQ,CAACC,KAAK,IAAIP,KAAK,CAACT;QACpD,CAAC,EACDiB,gBAAgB,CAACD,KAAK,EACtBP,KAAK,CAACW,KAAK,CACZ;QAAA,SACM,CACLF,eAAe,CAACF,KAAK,EACrBP,KAAK,CAACY,KAAK,CACZ;QAAA,gBACcN,QAAQ,CAACC,KAAK,GAAG,MAAM,GAAGM;MAAS;QAAAC,OAAA,EAAAA,CAAA,MAEhD,CAACT,IAAI,CAACU,MAAM,CAACR,KAAK,GAAGJ,KAAK,CAACW,OAAO,GAAG,CAAC,IAAId,KAAK,CAACJ,KAAK,GAAAc,YAAA,MAAAM,WAAA;UAAA;UAAA,WAGzCX,IAAI,CAACY;QAAQ,GAClBZ,IAAI,CAACa,SAAS,IAEjBf,KAAK,CAACW,OAAO,GAAG,CAAC,IAAId,KAAK,CAACJ,KAAK,EAErC;MAAA;IAGP,CAAC,CAAC;IACF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VBreadcrumbsItem.js","names":["useTextColor","makeComponentProps","makeRouterProps","useLink","makeTagProps","computed","genericComponent","propsFactory","useRender","makeVBreadcrumbsItemProps","active","Boolean","activeClass","String","activeColor","color","disabled","title","tag","VBreadcrumbsItem","name","props","setup","_ref","slots","attrs","link","isActive","value","textColorClasses","textColorStyles","_createVNode","class","style","undefined","default","isLink","_mergeProps","navigate","linkProps"],"sources":["../../../src/components/VBreadcrumbs/VBreadcrumbsItem.tsx"],"sourcesContent":["// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVBreadcrumbsItemProps = propsFactory({\n active: Boolean,\n activeClass: String,\n activeColor: String,\n color: String,\n disabled: Boolean,\n title: String,\n\n ...makeComponentProps(),\n ...makeRouterProps(),\n ...makeTagProps({ tag: 'li' }),\n}, 'VBreadcrumbsItem')\n\nexport const VBreadcrumbsItem = genericComponent()({\n name: 'VBreadcrumbsItem',\n\n props: makeVBreadcrumbsItemProps(),\n\n setup (props, { slots, attrs }) {\n const link = useLink(props, attrs)\n const isActive = computed(() => props.active || link.isActive?.value)\n\n const { textColorClasses, textColorStyles } = useTextColor(\n () => isActive.value ? props.activeColor : props.color\n )\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-breadcrumbs-item',\n {\n 'v-breadcrumbs-item--active': isActive.value,\n 'v-breadcrumbs-item--disabled': props.disabled,\n [`${props.activeClass}`]: isActive.value && props.activeClass,\n },\n textColorClasses.value,\n props.class,\n ]}\n style={[\n textColorStyles.value,\n props.style,\n ]}\n aria-current={ isActive.value ? 'page' : undefined }\n >\n { !link.isLink.value ? slots.default?.() ?? props.title : (\n <a\n class=\"v-breadcrumbs-item--link\"\n onClick={ link.navigate }\n { ...link.linkProps }\n >\n { slots.default?.() ?? props.title }\n </a>\n )}\n </props.tag>\n )\n })\n return {}\n },\n})\n\nexport type VBreadcrumbsItem = InstanceType<typeof VBreadcrumbsItem>\n"],"mappings":";AAAA;AAAA,SACSA,YAAY;AAAA,SACZC,kBAAkB;AAAA,SAClBC,eAAe,EAAEC,OAAO;AAAA,SACxBC,YAAY,oCAErB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,yBAAyB,GAAGF,YAAY,CAAC;EACpDG,MAAM,EAAEC,OAAO;EACfC,WAAW,EAAEC,MAAM;EACnBC,WAAW,EAAED,MAAM;EACnBE,KAAK,EAAEF,MAAM;EACbG,QAAQ,EAAEL,OAAO;EACjBM,KAAK,EAAEJ,MAAM;EAEb,GAAGZ,kBAAkB,CAAC,CAAC;EACvB,GAAGC,eAAe,CAAC,CAAC;EACpB,GAAGE,YAAY,CAAC;IAAEc,GAAG,EAAE;EAAK,CAAC;AAC/B,CAAC,EAAE,kBAAkB,CAAC;AAEtB,OAAO,MAAMC,gBAAgB,GAAGb,gBAAgB,CAAC,CAAC,CAAC;EACjDc,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAEZ,yBAAyB,CAAC,CAAC;EAElCa,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC5B,MAAMG,IAAI,GAAGvB,OAAO,CAACkB,KAAK,EAAEI,KAAK,CAAC;IAClC,MAAME,QAAQ,GAAGtB,QAAQ,CAAC,MAAMgB,KAAK,CAACX,MAAM,IAAIgB,IAAI,CAACC,QAAQ,EAAEC,KAAK,CAAC;IAErE,MAAM;MAAEC,gBAAgB;MAAEC;IAAgB,CAAC,GAAG9B,YAAY,CACxD,MAAM2B,QAAQ,CAACC,KAAK,GAAGP,KAAK,CAACP,WAAW,GAAGO,KAAK,CAACN,KACnD,CAAC;IAEDP,SAAS,CAAC,MAAM;MACd,OAAAuB,YAAA,CAAAV,KAAA,CAAAH,GAAA;QAAA,SAEW,CACL,oBAAoB,EACpB;UACE,4BAA4B,EAAES,QAAQ,CAACC,KAAK;UAC5C,8BAA8B,EAAEP,KAAK,CAACL,QAAQ;UAC9C,CAAC,GAAGK,KAAK,CAACT,WAAW,EAAE,GAAGe,QAAQ,CAACC,KAAK,IAAIP,KAAK,CAACT;QACpD,CAAC,EACDiB,gBAAgB,CAACD,KAAK,EACtBP,KAAK,CAACW,KAAK,CACZ;QAAA,SACM,CACLF,eAAe,CAACF,KAAK,EACrBP,KAAK,CAACY,KAAK,CACZ;QAAA,gBACcN,QAAQ,CAACC,KAAK,GAAG,MAAM,GAAGM;MAAS;QAAAC,OAAA,EAAAA,CAAA,MAEhD,CAACT,IAAI,CAACU,MAAM,CAACR,KAAK,GAAGJ,KAAK,CAACW,OAAO,GAAG,CAAC,IAAId,KAAK,CAACJ,KAAK,GAAAc,YAAA,MAAAM,WAAA;UAAA;UAAA,WAGzCX,IAAI,CAACY;QAAQ,GAClBZ,IAAI,CAACa,SAAS,IAEjBf,KAAK,CAACW,OAAO,GAAG,CAAC,IAAId,KAAK,CAACJ,KAAK,EAErC;MAAA;IAGP,CAAC,CAAC;IACF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -25,7 +25,7 @@ import { makeTagProps } from "../../composables/tag.js";
25
25
  import { makeThemeProps, provideTheme } from "../../composables/theme.js";
26
26
  import { genOverlays, makeVariantProps, useVariant } from "../../composables/variant.js"; // Directives
27
27
  import { Ripple } from "../../directives/ripple/index.js"; // Utilities
28
- import { computed, toDisplayString, withDirectives } from 'vue';
28
+ import { computed, toDisplayString, toRef, withDirectives } from 'vue';
29
29
  import { genericComponent, propsFactory, useRender } from "../../util/index.js"; // Types
30
30
  export const makeVBtnProps = propsFactory({
31
31
  active: {
@@ -127,7 +127,7 @@ export const VBtn = genericComponent()({
127
127
  }
128
128
  return group?.isSelected.value;
129
129
  });
130
- const color = computed(() => isActive.value ? props.activeColor ?? props.color : props.color);
130
+ const color = toRef(() => isActive.value ? props.activeColor ?? props.color : props.color);
131
131
  const variantProps = computed(() => {
132
132
  const showColor = group?.isSelected.value && (!link.isLink.value || link.isActive?.value) || !group || link.isActive?.value;
133
133
  return {
@@ -141,7 +141,7 @@ export const VBtn = genericComponent()({
141
141
  variantClasses
142
142
  } = useVariant(variantProps);
143
143
  const isDisabled = computed(() => group?.disabled.value || props.disabled);
144
- const isElevated = computed(() => {
144
+ const isElevated = toRef(() => {
145
145
  return props.variant === 'elevated' && !(props.disabled || props.flat || props.border);
146
146
  });
147
147
  const valueAttr = computed(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"VBtn.js","names":["VBtnToggleSymbol","VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","useSelectLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","toDisplayString","withDirectives","genericComponent","propsFactory","useRender","makeVBtnProps","active","type","Boolean","default","undefined","activeColor","String","baseColor","symbol","flat","icon","Function","Object","prependIcon","appendIcon","block","readonly","slim","stacked","ripple","text","Number","tag","variant","VBtn","name","props","emits","val","setup","_ref","attrs","slots","themeClasses","borderClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","sizeClasses","sizeStyles","group","link","isActive","isLink","value","isSelected","color","variantProps","showColor","colorClasses","colorStyles","variantClasses","isDisabled","disabled","isElevated","border","valueAttr","JSON","stringify","onClick","e","metaKey","ctrlKey","shiftKey","button","target","navigate","toggle","select","Tag","hasPrepend","prepend","hasAppend","append","hasIcon","_createVNode","_mergeProps","selectedClass","loading","class","style","linkProps","loader","center"],"sources":["../../../src/components/VBtn/VBtn.tsx"],"sourcesContent":["// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { useSelectLink } from '@/composables/selectLink'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, toDisplayString, withDirectives } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VBtnSlots = {\n default: never\n prepend: never\n append: never\n loader: never\n}\n\nexport const makeVBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n baseColor: String,\n symbol: {\n type: null,\n default: VBtnToggleSymbol,\n },\n flat: Boolean,\n icon: [Boolean, String, Function, Object] as PropType<boolean | IconValue>,\n prependIcon: IconValue,\n appendIcon: IconValue,\n\n block: Boolean,\n readonly: Boolean,\n slim: Boolean,\n stacked: Boolean,\n\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VBtn')\n\nexport const VBtn = genericComponent<VBtnSlots>()({\n name: 'VBtn',\n\n props: makeVBtnProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const group = useGroupItem(props, props.symbol, false)\n const link = useLink(props, attrs)\n\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active\n }\n\n if (link.isLink.value) {\n return link.isActive?.value\n }\n\n return group?.isSelected.value\n })\n\n const color = computed(() => isActive.value ? props.activeColor ?? props.color : props.color)\n const variantProps = computed(() => {\n const showColor = (\n (group?.isSelected.value && (!link.isLink.value || link.isActive?.value)) ||\n (!group || link.isActive?.value)\n )\n return ({\n color: showColor ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = computed(() => {\n return props.variant === 'elevated' && !(props.disabled || props.flat || props.border)\n })\n const valueAttr = computed(() => {\n if (props.value === undefined || typeof props.value === 'symbol') return undefined\n\n return Object(props.value) === props.value\n ? JSON.stringify(props.value, null, 0)\n : props.value\n })\n\n function onClick (e: MouseEvent) {\n if (\n isDisabled.value ||\n (link.isLink.value && (\n e.metaKey ||\n e.ctrlKey ||\n e.shiftKey ||\n (e.button !== 0) ||\n attrs.target === '_blank'\n ))\n ) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n useSelectLink(link, group?.select)\n\n useRender(() => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasPrepend = !!(props.prependIcon || slots.prepend)\n const hasAppend = !!(props.appendIcon || slots.append)\n const hasIcon = !!(props.icon && props.icon !== true)\n\n return withDirectives(\n <Tag\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': isActive.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--loading': props.loading,\n 'v-btn--readonly': props.readonly,\n 'v-btn--slim': props.slim,\n 'v-btn--stacked': props.stacked,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n sizeStyles.value,\n props.style,\n ]}\n aria-busy={ props.loading ? true : undefined }\n disabled={ isDisabled.value || undefined }\n tabindex={ props.loading || props.readonly ? -1 : undefined }\n onClick={ onClick }\n value={ valueAttr.value }\n { ...link.linkProps }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && hasPrepend && (\n <span key=\"prepend\" class=\"v-btn__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !props.prependIcon }\n defaults={{\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </span>\n )}\n\n <span class=\"v-btn__content\" data-no-activator=\"\">\n { (!slots.default && hasIcon) ? (\n <VIcon\n key=\"content-icon\"\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !hasIcon }\n defaults={{\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.default?.() ?? toDisplayString(props.text) }\n </VDefaultsProvider>\n )}\n </span>\n\n { !props.icon && hasAppend && (\n <span key=\"append\" class=\"v-btn__append\">\n { !slots.append ? (\n <VIcon\n key=\"append-icon\"\n icon={ props.appendIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </span>\n )}\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n width=\"2\"\n />\n )}\n </span>\n )}\n </Tag>,\n [[\n Ripple,\n !isDisabled.value && props.ripple,\n '',\n { center: !!props.icon },\n ]]\n )\n })\n\n return { group }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VBtn.js","names":["VBtnToggleSymbol","VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","useSelectLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","toDisplayString","toRef","withDirectives","genericComponent","propsFactory","useRender","makeVBtnProps","active","type","Boolean","default","undefined","activeColor","String","baseColor","symbol","flat","icon","Function","Object","prependIcon","appendIcon","block","readonly","slim","stacked","ripple","text","Number","tag","variant","VBtn","name","props","emits","val","setup","_ref","attrs","slots","themeClasses","borderClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","sizeClasses","sizeStyles","group","link","isActive","isLink","value","isSelected","color","variantProps","showColor","colorClasses","colorStyles","variantClasses","isDisabled","disabled","isElevated","border","valueAttr","JSON","stringify","onClick","e","metaKey","ctrlKey","shiftKey","button","target","navigate","toggle","select","Tag","hasPrepend","prepend","hasAppend","append","hasIcon","_createVNode","_mergeProps","selectedClass","loading","class","style","linkProps","loader","center"],"sources":["../../../src/components/VBtn/VBtn.tsx"],"sourcesContent":["// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { useSelectLink } from '@/composables/selectLink'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, toDisplayString, toRef, withDirectives } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VBtnSlots = {\n default: never\n prepend: never\n append: never\n loader: never\n}\n\nexport const makeVBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n baseColor: String,\n symbol: {\n type: null,\n default: VBtnToggleSymbol,\n },\n flat: Boolean,\n icon: [Boolean, String, Function, Object] as PropType<boolean | IconValue>,\n prependIcon: IconValue,\n appendIcon: IconValue,\n\n block: Boolean,\n readonly: Boolean,\n slim: Boolean,\n stacked: Boolean,\n\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VBtn')\n\nexport const VBtn = genericComponent<VBtnSlots>()({\n name: 'VBtn',\n\n props: makeVBtnProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const group = useGroupItem(props, props.symbol, false)\n const link = useLink(props, attrs)\n\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active\n }\n\n if (link.isLink.value) {\n return link.isActive?.value\n }\n\n return group?.isSelected.value\n })\n\n const color = toRef(() => isActive.value ? props.activeColor ?? props.color : props.color)\n const variantProps = computed(() => {\n const showColor = (\n (group?.isSelected.value && (!link.isLink.value || link.isActive?.value)) ||\n (!group || link.isActive?.value)\n )\n return ({\n color: showColor ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = toRef(() => {\n return props.variant === 'elevated' && !(props.disabled || props.flat || props.border)\n })\n const valueAttr = computed(() => {\n if (props.value === undefined || typeof props.value === 'symbol') return undefined\n\n return Object(props.value) === props.value\n ? JSON.stringify(props.value, null, 0)\n : props.value\n })\n\n function onClick (e: MouseEvent) {\n if (\n isDisabled.value ||\n (link.isLink.value && (\n e.metaKey ||\n e.ctrlKey ||\n e.shiftKey ||\n (e.button !== 0) ||\n attrs.target === '_blank'\n ))\n ) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n useSelectLink(link, group?.select)\n\n useRender(() => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasPrepend = !!(props.prependIcon || slots.prepend)\n const hasAppend = !!(props.appendIcon || slots.append)\n const hasIcon = !!(props.icon && props.icon !== true)\n\n return withDirectives(\n <Tag\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': isActive.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--loading': props.loading,\n 'v-btn--readonly': props.readonly,\n 'v-btn--slim': props.slim,\n 'v-btn--stacked': props.stacked,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n sizeStyles.value,\n props.style,\n ]}\n aria-busy={ props.loading ? true : undefined }\n disabled={ isDisabled.value || undefined }\n tabindex={ props.loading || props.readonly ? -1 : undefined }\n onClick={ onClick }\n value={ valueAttr.value }\n { ...link.linkProps }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && hasPrepend && (\n <span key=\"prepend\" class=\"v-btn__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !props.prependIcon }\n defaults={{\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </span>\n )}\n\n <span class=\"v-btn__content\" data-no-activator=\"\">\n { (!slots.default && hasIcon) ? (\n <VIcon\n key=\"content-icon\"\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !hasIcon }\n defaults={{\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.default?.() ?? toDisplayString(props.text) }\n </VDefaultsProvider>\n )}\n </span>\n\n { !props.icon && hasAppend && (\n <span key=\"append\" class=\"v-btn__append\">\n { !slots.append ? (\n <VIcon\n key=\"append-icon\"\n icon={ props.appendIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </span>\n )}\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n width=\"2\"\n />\n )}\n </span>\n )}\n </Tag>,\n [[\n Ripple,\n !isDisabled.value && props.ripple,\n '',\n { center: !!props.icon },\n ]]\n )\n })\n\n return { group }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,gBAAgB;AAAA,SAChBC,iBAAiB;AAAA,SACjBC,KAAK;AAAA,SACLC,iBAAiB,yCAE1B;AAAA,SACSC,eAAe,EAAEC,SAAS;AAAA,SAC1BC,kBAAkB;AAAA,SAClBC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,SAAS;AAAA,SACTC,eAAe,EAAEC,SAAS;AAAA,SAC1BC,iBAAiB,EAAEC,WAAW;AAAA,SAC9BC,iBAAiB,EAAEC,WAAW;AAAA,SAC9BC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,eAAe,EAAEC,OAAO;AAAA,SACxBC,aAAa;AAAA,SACbC,aAAa,EAAEC,OAAO;AAAA,SACtBC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,WAAW,EAAEC,gBAAgB,EAAEC,UAAU,wCAElD;AAAA,SACSC,MAAM,4CAEf;AACA,SAASC,QAAQ,EAAEC,eAAe,EAAEC,KAAK,EAAEC,cAAc,QAAQ,KAAK;AAAA,SAC7DC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,+BAElD;AAWA,OAAO,MAAMC,aAAa,GAAGF,YAAY,CAAC;EACxCG,MAAM,EAAE;IACNC,IAAI,EAAEC,OAAO;IACbC,OAAO,EAAEC;EACX,CAAC;EACDC,WAAW,EAAEC,MAAM;EACnBC,SAAS,EAAED,MAAM;EACjBE,MAAM,EAAE;IACNP,IAAI,EAAE,IAAI;IACVE,OAAO,EAAE/C;EACX,CAAC;EACDqD,IAAI,EAAEP,OAAO;EACbQ,IAAI,EAAE,CAACR,OAAO,EAAEI,MAAM,EAAEK,QAAQ,EAAEC,MAAM,CAAkC;EAC1EC,WAAW,EAAE1C,SAAS;EACtB2C,UAAU,EAAE3C,SAAS;EAErB4C,KAAK,EAAEb,OAAO;EACdc,QAAQ,EAAEd,OAAO;EACjBe,IAAI,EAAEf,OAAO;EACbgB,OAAO,EAAEhB,OAAO;EAEhBiB,MAAM,EAAE;IACNlB,IAAI,EAAE,CAACC,OAAO,EAAEU,MAAM,CAA8C;IACpET,OAAO,EAAE;EACX,CAAC;EAEDiB,IAAI,EAAE;IACJnB,IAAI,EAAE,CAACK,MAAM,EAAEe,MAAM,EAAEnB,OAAO,CAAC;IAC/BC,OAAO,EAAEC;EACX,CAAC;EAED,GAAG5C,eAAe,CAAC,CAAC;EACpB,GAAGE,kBAAkB,CAAC,CAAC;EACvB,GAAGC,gBAAgB,CAAC,CAAC;EACrB,GAAGE,kBAAkB,CAAC,CAAC;EACvB,GAAGE,kBAAkB,CAAC,CAAC;EACvB,GAAGE,kBAAkB,CAAC,CAAC;EACvB,GAAGG,eAAe,CAAC,CAAC;EACpB,GAAGE,iBAAiB,CAAC,CAAC;EACtB,GAAGE,iBAAiB,CAAC,CAAC;EACtB,GAAGE,gBAAgB,CAAC,CAAC;EACrB,GAAGE,eAAe,CAAC,CAAC;EACpB,GAAGG,aAAa,CAAC,CAAC;EAClB,GAAGE,YAAY,CAAC;IAAEqC,GAAG,EAAE;EAAS,CAAC,CAAC;EAClC,GAAGpC,cAAc,CAAC,CAAC;EACnB,GAAGG,gBAAgB,CAAC;IAAEkC,OAAO,EAAE;EAAW,CAAU;AACtD,CAAC,EAAE,MAAM,CAAC;AAEV,OAAO,MAAMC,IAAI,GAAG5B,gBAAgB,CAAY,CAAC,CAAC;EAChD6B,IAAI,EAAE,MAAM;EAEZC,KAAK,EAAE3B,aAAa,CAAC,CAAC;EAEtB4B,KAAK,EAAE;IACL,gBAAgB,EAAGC,GAAuB,IAAK;EACjD,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC5B,MAAM;MAAEG;IAAa,CAAC,GAAG9C,YAAY,CAACuC,KAAK,CAAC;IAC5C,MAAM;MAAEQ;IAAc,CAAC,GAAGzE,SAAS,CAACiE,KAAK,CAAC;IAC1C,MAAM;MAAES;IAAe,CAAC,GAAGvE,UAAU,CAAC8D,KAAK,CAAC;IAC5C,MAAM;MAAEU;IAAgB,CAAC,GAAGtE,YAAY,CAAC4D,KAAK,CAAC;IAC/C,MAAM;MAAEW;IAAiB,CAAC,GAAGrE,YAAY,CAAC0D,KAAK,CAAC;IAChD,MAAM;MAAEY;IAAc,CAAC,GAAGjE,SAAS,CAACqD,KAAK,CAAC;IAC1C,MAAM;MAAEa;IAAe,CAAC,GAAGhE,WAAW,CAACmD,KAAK,CAAC;IAC7C,MAAM;MAAEc;IAAgB,CAAC,GAAG/D,WAAW,CAACiD,KAAK,CAAC;IAC9C,MAAM;MAAEe;IAAe,CAAC,GAAG9D,UAAU,CAAC+C,KAAK,CAAC;IAC5C,MAAM;MAAEgB,WAAW;MAAEC;IAAW,CAAC,GAAG3D,OAAO,CAAC0C,KAAK,CAAC;IAClD,MAAMkB,KAAK,GAAG1E,YAAY,CAACwD,KAAK,EAAEA,KAAK,CAAClB,MAAM,EAAE,KAAK,CAAC;IACtD,MAAMqC,IAAI,GAAGhE,OAAO,CAAC6C,KAAK,EAAEK,KAAK,CAAC;IAElC,MAAMe,QAAQ,GAAGtD,QAAQ,CAAC,MAAM;MAC9B,IAAIkC,KAAK,CAAC1B,MAAM,KAAKI,SAAS,EAAE;QAC9B,OAAOsB,KAAK,CAAC1B,MAAM;MACrB;MAEA,IAAI6C,IAAI,CAACE,MAAM,CAACC,KAAK,EAAE;QACrB,OAAOH,IAAI,CAACC,QAAQ,EAAEE,KAAK;MAC7B;MAEA,OAAOJ,KAAK,EAAEK,UAAU,CAACD,KAAK;IAChC,CAAC,CAAC;IAEF,MAAME,KAAK,GAAGxD,KAAK,CAAC,MAAMoD,QAAQ,CAACE,KAAK,GAAGtB,KAAK,CAACrB,WAAW,IAAIqB,KAAK,CAACwB,KAAK,GAAGxB,KAAK,CAACwB,KAAK,CAAC;IAC1F,MAAMC,YAAY,GAAG3D,QAAQ,CAAC,MAAM;MAClC,MAAM4D,SAAS,GACZR,KAAK,EAAEK,UAAU,CAACD,KAAK,KAAK,CAACH,IAAI,CAACE,MAAM,CAACC,KAAK,IAAIH,IAAI,CAACC,QAAQ,EAAEE,KAAK,CAAC,IACvE,CAACJ,KAAK,IAAIC,IAAI,CAACC,QAAQ,EAAEE,KAC3B;MACD,OAAQ;QACNE,KAAK,EAAEE,SAAS,GAAGF,KAAK,CAACF,KAAK,IAAItB,KAAK,CAACnB,SAAS,GAAGmB,KAAK,CAACnB,SAAS;QACnEgB,OAAO,EAAEG,KAAK,CAACH;MACjB,CAAC;IACH,CAAC,CAAC;IACF,MAAM;MAAE8B,YAAY;MAAEC,WAAW;MAAEC;IAAe,CAAC,GAAGjE,UAAU,CAAC6D,YAAY,CAAC;IAE9E,MAAMK,UAAU,GAAGhE,QAAQ,CAAC,MAAMoD,KAAK,EAAEa,QAAQ,CAACT,KAAK,IAAItB,KAAK,CAAC+B,QAAQ,CAAC;IAC1E,MAAMC,UAAU,GAAGhE,KAAK,CAAC,MAAM;MAC7B,OAAOgC,KAAK,CAACH,OAAO,KAAK,UAAU,IAAI,EAAEG,KAAK,CAAC+B,QAAQ,IAAI/B,KAAK,CAACjB,IAAI,IAAIiB,KAAK,CAACiC,MAAM,CAAC;IACxF,CAAC,CAAC;IACF,MAAMC,SAAS,GAAGpE,QAAQ,CAAC,MAAM;MAC/B,IAAIkC,KAAK,CAACsB,KAAK,KAAK5C,SAAS,IAAI,OAAOsB,KAAK,CAACsB,KAAK,KAAK,QAAQ,EAAE,OAAO5C,SAAS;MAElF,OAAOQ,MAAM,CAACc,KAAK,CAACsB,KAAK,CAAC,KAAKtB,KAAK,CAACsB,KAAK,GACtCa,IAAI,CAACC,SAAS,CAACpC,KAAK,CAACsB,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GACpCtB,KAAK,CAACsB,KAAK;IACjB,CAAC,CAAC;IAEF,SAASe,OAAOA,CAAEC,CAAa,EAAE;MAC/B,IACER,UAAU,CAACR,KAAK,IACfH,IAAI,CAACE,MAAM,CAACC,KAAK,KAChBgB,CAAC,CAACC,OAAO,IACTD,CAAC,CAACE,OAAO,IACTF,CAAC,CAACG,QAAQ,IACTH,CAAC,CAACI,MAAM,KAAK,CAAE,IAChBrC,KAAK,CAACsC,MAAM,KAAK,QAAQ,CACzB,EACF;MAEFxB,IAAI,CAACyB,QAAQ,GAAGN,CAAC,CAAC;MAClBpB,KAAK,EAAE2B,MAAM,CAAC,CAAC;IACjB;IAEAzF,aAAa,CAAC+D,IAAI,EAAED,KAAK,EAAE4B,MAAM,CAAC;IAElC1E,SAAS,CAAC,MAAM;MACd,MAAM2E,GAAG,GAAI5B,IAAI,CAACE,MAAM,CAACC,KAAK,GAAI,GAAG,GAAGtB,KAAK,CAACJ,GAAG;MACjD,MAAMoD,UAAU,GAAG,CAAC,EAAEhD,KAAK,CAACb,WAAW,IAAImB,KAAK,CAAC2C,OAAO,CAAC;MACzD,MAAMC,SAAS,GAAG,CAAC,EAAElD,KAAK,CAACZ,UAAU,IAAIkB,KAAK,CAAC6C,MAAM,CAAC;MACtD,MAAMC,OAAO,GAAG,CAAC,EAAEpD,KAAK,CAAChB,IAAI,IAAIgB,KAAK,CAAChB,IAAI,KAAK,IAAI,CAAC;MAErD,OAAOf,cAAc,CAAAoF,YAAA,CAAAN,GAAA,EAAAO,WAAA;QAAA,QAEVP,GAAG,KAAK,GAAG,GAAGrE,SAAS,GAAG,QAAQ;QAAA,SAClC,CACL,OAAO,EACPwC,KAAK,EAAEqC,aAAa,CAACjC,KAAK,EAC1B;UACE,eAAe,EAAEF,QAAQ,CAACE,KAAK;UAC/B,cAAc,EAAEtB,KAAK,CAACX,KAAK;UAC3B,iBAAiB,EAAEyC,UAAU,CAACR,KAAK;UACnC,iBAAiB,EAAEU,UAAU,CAACV,KAAK;UACnC,aAAa,EAAEtB,KAAK,CAACjB,IAAI;UACzB,aAAa,EAAE,CAAC,CAACiB,KAAK,CAAChB,IAAI;UAC3B,gBAAgB,EAAEgB,KAAK,CAACwD,OAAO;UAC/B,iBAAiB,EAAExD,KAAK,CAACV,QAAQ;UACjC,aAAa,EAAEU,KAAK,CAACT,IAAI;UACzB,gBAAgB,EAAES,KAAK,CAACR;QAC1B,CAAC,EACDe,YAAY,CAACe,KAAK,EAClBd,aAAa,CAACc,KAAK,EACnBK,YAAY,CAACL,KAAK,EAClBb,cAAc,CAACa,KAAK,EACpBX,gBAAgB,CAACW,KAAK,EACtBV,aAAa,CAACU,KAAK,EACnBR,eAAe,CAACQ,KAAK,EACrBP,cAAc,CAACO,KAAK,EACpBN,WAAW,CAACM,KAAK,EACjBO,cAAc,CAACP,KAAK,EACpBtB,KAAK,CAACyD,KAAK,CACZ;QAAA,SACM,CACL7B,WAAW,CAACN,KAAK,EACjBZ,eAAe,CAACY,KAAK,EACrBT,cAAc,CAACS,KAAK,EACpBL,UAAU,CAACK,KAAK,EAChBtB,KAAK,CAAC0D,KAAK,CACZ;QAAA,aACW1D,KAAK,CAACwD,OAAO,GAAG,IAAI,GAAG9E,SAAS;QAAA,YACjCoD,UAAU,CAACR,KAAK,IAAI5C,SAAS;QAAA,YAC7BsB,KAAK,CAACwD,OAAO,IAAIxD,KAAK,CAACV,QAAQ,GAAG,CAAC,CAAC,GAAGZ,SAAS;QAAA,WACjD2D,OAAO;QAAA,SACTH,SAAS,CAACZ;MAAK,GAClBH,IAAI,CAACwC,SAAS;QAAAlF,OAAA,EAAAA,CAAA,MAEjBf,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,EAE1B,CAACsC,KAAK,CAAChB,IAAI,IAAIgE,UAAU,IAAAK,YAAA;UAAA;UAAA;QAAA,IAErB,CAAC/C,KAAK,CAAC2C,OAAO,GAAAI,YAAA,CAAAzH,KAAA;UAAA;UAAA,QAGLoE,KAAK,CAACb;QAAW,WAAAkE,YAAA,CAAA1H,iBAAA;UAAA;UAAA,YAKb,CAACqE,KAAK,CAACb,WAAW;UAAA,YACnB;YACRvD,KAAK,EAAE;cACLoD,IAAI,EAAEgB,KAAK,CAACb;YACd;UACF;QAAC,GACiBmB,KAAK,CAAC2C,OAAO,CAElC,EAEJ,EAAAI,YAAA;UAAA;UAAA;QAAA,IAGI,CAAC/C,KAAK,CAAC7B,OAAO,IAAI2E,OAAO,GAAAC,YAAA,CAAAzH,KAAA;UAAA;UAAA,QAGjBoE,KAAK,CAAChB;QAAI,WAAAqE,YAAA,CAAA1H,iBAAA;UAAA;UAAA,YAKN,CAACyH,OAAO;UAAA,YACT;YACRxH,KAAK,EAAE;cACLoD,IAAI,EAAEgB,KAAK,CAAChB;YACd;UACF;QAAC;UAAAP,OAAA,EAAAA,CAAA,MAEC6B,KAAK,CAAC7B,OAAO,GAAG,CAAC,IAAIV,eAAe,CAACiC,KAAK,CAACN,IAAI,CAAC;QAAA,EAErD,IAGD,CAACM,KAAK,CAAChB,IAAI,IAAIkE,SAAS,IAAAG,YAAA;UAAA;UAAA;QAAA,IAEpB,CAAC/C,KAAK,CAAC6C,MAAM,GAAAE,YAAA,CAAAzH,KAAA;UAAA;UAAA,QAGJoE,KAAK,CAACZ;QAAU,WAAAiE,YAAA,CAAA1H,iBAAA;UAAA;UAAA,YAKZ,CAACqE,KAAK,CAACZ,UAAU;UAAA,YAClB;YACRxD,KAAK,EAAE;cACLoD,IAAI,EAAEgB,KAAK,CAACZ;YACd;UACF;QAAC,GACiBkB,KAAK,CAAC6C,MAAM,CAEjC,EAEJ,EAEC,CAAC,CAACnD,KAAK,CAACwD,OAAO,IAAAH,YAAA;UAAA;UAAA;QAAA,IAEX/C,KAAK,CAACsD,MAAM,GAAG,CAAC,IAAAP,YAAA,CAAAxH,iBAAA;UAAA,SAEN,OAAOmE,KAAK,CAACwD,OAAO,KAAK,SAAS,GAAG9E,SAAS,GAAGsB,KAAK,CAACwD,OAAO;UAAA;UAAA;QAAA,QAIzE,EAEJ;MAAA,IAEH,CAAC,CACC3F,MAAM,EACN,CAACiE,UAAU,CAACR,KAAK,IAAItB,KAAK,CAACP,MAAM,EACjC,EAAE,EACF;QAAEoE,MAAM,EAAE,CAAC,CAAC7D,KAAK,CAAChB;MAAK,CAAC,CACzB,CACH,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;MAAEkC;IAAM,CAAC;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -51,11 +51,11 @@ export const VBtnGroup = genericComponent()({
51
51
  provideDefaults({
52
52
  VBtn: {
53
53
  height: 'auto',
54
- baseColor: toRef(props, 'baseColor'),
55
- color: toRef(props, 'color'),
56
- density: toRef(props, 'density'),
54
+ baseColor: toRef(() => props.baseColor),
55
+ color: toRef(() => props.color),
56
+ density: toRef(() => props.density),
57
57
  flat: true,
58
- variant: toRef(props, 'variant')
58
+ variant: toRef(() => props.variant)
59
59
  }
60
60
  });
61
61
  useRender(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"VBtnGroup.js","names":["makeBorderProps","useBorder","makeComponentProps","provideDefaults","makeDensityProps","useDensity","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","toRef","genericComponent","propsFactory","useRender","makeVBtnGroupProps","baseColor","String","divided","Boolean","VBtnGroup","name","props","setup","_ref","slots","themeClasses","densityClasses","borderClasses","elevationClasses","roundedClasses","VBtn","height","color","density","flat","variant","_createVNode","tag","value","class","style"],"sources":["../../../src/components/VBtnGroup/VBtnGroup.tsx"],"sourcesContent":["// Styles\nimport './VBtnGroup.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVBtnGroupProps = propsFactory({\n baseColor: String,\n divided: Boolean,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps(),\n}, 'VBtnGroup')\n\nexport const VBtnGroup = genericComponent()({\n name: 'VBtnGroup',\n\n props: makeVBtnGroupProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n provideDefaults({\n VBtn: {\n height: 'auto',\n baseColor: toRef(props, 'baseColor'),\n color: toRef(props, 'color'),\n density: toRef(props, 'density'),\n flat: true,\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-btn-group',\n {\n 'v-btn-group--divided': props.divided,\n },\n themeClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={ props.style }\n v-slots={ slots }\n />\n )\n })\n },\n})\n\nexport type VBtnGroup = InstanceType<typeof VBtnGroup>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,eAAe,EAAEC,SAAS;AAAA,SAC1BC,kBAAkB;AAAA,SAClBC,eAAe;AAAA,SACfC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,gBAAgB,wCAEzB;AACA,SAASC,KAAK,QAAQ,KAAK;AAAA,SAClBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,kBAAkB,GAAGF,YAAY,CAAC;EAC7CG,SAAS,EAAEC,MAAM;EACjBC,OAAO,EAAEC,OAAO;EAEhB,GAAGtB,eAAe,CAAC,CAAC;EACpB,GAAGE,kBAAkB,CAAC,CAAC;EACvB,GAAGE,gBAAgB,CAAC,CAAC;EACrB,GAAGE,kBAAkB,CAAC,CAAC;EACvB,GAAGE,gBAAgB,CAAC,CAAC;EACrB,GAAGE,YAAY,CAAC,CAAC;EACjB,GAAGC,cAAc,CAAC,CAAC;EACnB,GAAGE,gBAAgB,CAAC;AACtB,CAAC,EAAE,WAAW,CAAC;AAEf,OAAO,MAAMU,SAAS,GAAGR,gBAAgB,CAAC,CAAC,CAAC;EAC1CS,IAAI,EAAE,WAAW;EAEjBC,KAAK,EAAEP,kBAAkB,CAAC,CAAC;EAE3BQ,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAa,CAAC,GAAGjB,YAAY,CAACa,KAAK,CAAC;IAC5C,MAAM;MAAEK;IAAe,CAAC,GAAGzB,UAAU,CAACoB,KAAK,CAAC;IAC5C,MAAM;MAAEM;IAAc,CAAC,GAAG9B,SAAS,CAACwB,KAAK,CAAC;IAC1C,MAAM;MAAEO;IAAiB,CAAC,GAAGzB,YAAY,CAACkB,KAAK,CAAC;IAChD,MAAM;MAAEQ;IAAe,CAAC,GAAGxB,UAAU,CAACgB,KAAK,CAAC;IAE5CtB,eAAe,CAAC;MACd+B,IAAI,EAAE;QACJC,MAAM,EAAE,MAAM;QACdhB,SAAS,EAAEL,KAAK,CAACW,KAAK,EAAE,WAAW,CAAC;QACpCW,KAAK,EAAEtB,KAAK,CAACW,KAAK,EAAE,OAAO,CAAC;QAC5BY,OAAO,EAAEvB,KAAK,CAACW,KAAK,EAAE,SAAS,CAAC;QAChCa,IAAI,EAAE,IAAI;QACVC,OAAO,EAAEzB,KAAK,CAACW,KAAK,EAAE,SAAS;MACjC;IACF,CAAC,CAAC;IAEFR,SAAS,CAAC,MAAM;MACd,OAAAuB,YAAA,CAAAf,KAAA,CAAAgB,GAAA;QAAA,SAEW,CACL,aAAa,EACb;UACE,sBAAsB,EAAEhB,KAAK,CAACJ;QAChC,CAAC,EACDQ,YAAY,CAACa,KAAK,EAClBX,aAAa,CAACW,KAAK,EACnBZ,cAAc,CAACY,KAAK,EACpBV,gBAAgB,CAACU,KAAK,EACtBT,cAAc,CAACS,KAAK,EACpBjB,KAAK,CAACkB,KAAK,CACZ;QAAA,SACOlB,KAAK,CAACmB;MAAK,GACThB,KAAK;IAGrB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VBtnGroup.js","names":["makeBorderProps","useBorder","makeComponentProps","provideDefaults","makeDensityProps","useDensity","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","toRef","genericComponent","propsFactory","useRender","makeVBtnGroupProps","baseColor","String","divided","Boolean","VBtnGroup","name","props","setup","_ref","slots","themeClasses","densityClasses","borderClasses","elevationClasses","roundedClasses","VBtn","height","color","density","flat","variant","_createVNode","tag","value","class","style"],"sources":["../../../src/components/VBtnGroup/VBtnGroup.tsx"],"sourcesContent":["// Styles\nimport './VBtnGroup.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVBtnGroupProps = propsFactory({\n baseColor: String,\n divided: Boolean,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps(),\n}, 'VBtnGroup')\n\nexport const VBtnGroup = genericComponent()({\n name: 'VBtnGroup',\n\n props: makeVBtnGroupProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n provideDefaults({\n VBtn: {\n height: 'auto',\n baseColor: toRef(() => props.baseColor),\n color: toRef(() => props.color),\n density: toRef(() => props.density),\n flat: true,\n variant: toRef(() => props.variant),\n },\n })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-btn-group',\n {\n 'v-btn-group--divided': props.divided,\n },\n themeClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={ props.style }\n v-slots={ slots }\n />\n )\n })\n },\n})\n\nexport type VBtnGroup = InstanceType<typeof VBtnGroup>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,eAAe,EAAEC,SAAS;AAAA,SAC1BC,kBAAkB;AAAA,SAClBC,eAAe;AAAA,SACfC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,gBAAgB,wCAEzB;AACA,SAASC,KAAK,QAAQ,KAAK;AAAA,SAClBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,kBAAkB,GAAGF,YAAY,CAAC;EAC7CG,SAAS,EAAEC,MAAM;EACjBC,OAAO,EAAEC,OAAO;EAEhB,GAAGtB,eAAe,CAAC,CAAC;EACpB,GAAGE,kBAAkB,CAAC,CAAC;EACvB,GAAGE,gBAAgB,CAAC,CAAC;EACrB,GAAGE,kBAAkB,CAAC,CAAC;EACvB,GAAGE,gBAAgB,CAAC,CAAC;EACrB,GAAGE,YAAY,CAAC,CAAC;EACjB,GAAGC,cAAc,CAAC,CAAC;EACnB,GAAGE,gBAAgB,CAAC;AACtB,CAAC,EAAE,WAAW,CAAC;AAEf,OAAO,MAAMU,SAAS,GAAGR,gBAAgB,CAAC,CAAC,CAAC;EAC1CS,IAAI,EAAE,WAAW;EAEjBC,KAAK,EAAEP,kBAAkB,CAAC,CAAC;EAE3BQ,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAa,CAAC,GAAGjB,YAAY,CAACa,KAAK,CAAC;IAC5C,MAAM;MAAEK;IAAe,CAAC,GAAGzB,UAAU,CAACoB,KAAK,CAAC;IAC5C,MAAM;MAAEM;IAAc,CAAC,GAAG9B,SAAS,CAACwB,KAAK,CAAC;IAC1C,MAAM;MAAEO;IAAiB,CAAC,GAAGzB,YAAY,CAACkB,KAAK,CAAC;IAChD,MAAM;MAAEQ;IAAe,CAAC,GAAGxB,UAAU,CAACgB,KAAK,CAAC;IAE5CtB,eAAe,CAAC;MACd+B,IAAI,EAAE;QACJC,MAAM,EAAE,MAAM;QACdhB,SAAS,EAAEL,KAAK,CAAC,MAAMW,KAAK,CAACN,SAAS,CAAC;QACvCiB,KAAK,EAAEtB,KAAK,CAAC,MAAMW,KAAK,CAACW,KAAK,CAAC;QAC/BC,OAAO,EAAEvB,KAAK,CAAC,MAAMW,KAAK,CAACY,OAAO,CAAC;QACnCC,IAAI,EAAE,IAAI;QACVC,OAAO,EAAEzB,KAAK,CAAC,MAAMW,KAAK,CAACc,OAAO;MACpC;IACF,CAAC,CAAC;IAEFtB,SAAS,CAAC,MAAM;MACd,OAAAuB,YAAA,CAAAf,KAAA,CAAAgB,GAAA;QAAA,SAEW,CACL,aAAa,EACb;UACE,sBAAsB,EAAEhB,KAAK,CAACJ;QAChC,CAAC,EACDQ,YAAY,CAACa,KAAK,EAClBX,aAAa,CAACW,KAAK,EACnBZ,cAAc,CAACY,KAAK,EACpBV,gBAAgB,CAACU,KAAK,EACtBT,cAAc,CAACS,KAAK,EACpBjB,KAAK,CAACkB,KAAK,CACZ;QAAA,SACOlB,KAAK,CAACmB;MAAK,GACThB,KAAK;IAGrB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
@@ -25,7 +25,6 @@ import { makeTagProps } from "../../composables/tag.js";
25
25
  import { makeThemeProps, provideTheme } from "../../composables/theme.js";
26
26
  import { genOverlays, makeVariantProps, useVariant } from "../../composables/variant.js"; // Directives
27
27
  import { Ripple } from "../../directives/ripple/index.js"; // Utilities
28
- import { computed } from 'vue';
29
28
  import { genericComponent, propsFactory, useRender } from "../../util/index.js"; // Types
30
29
  export const makeVCardProps = propsFactory({
31
30
  appendAvatar: String,
@@ -116,10 +115,10 @@ export const VCard = genericComponent()({
116
115
  roundedClasses
117
116
  } = useRounded(props);
118
117
  const link = useLink(props, attrs);
119
- const isLink = computed(() => props.link !== false && link.isLink.value);
120
- const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value));
121
118
  useRender(() => {
122
- const Tag = isLink.value ? 'a' : props.tag;
119
+ const isLink = props.link !== false && link.isLink.value;
120
+ const isClickable = !props.disabled && props.link !== false && (props.link || link.isClickable.value);
121
+ const Tag = isLink ? 'a' : props.tag;
123
122
  const hasTitle = !!(slots.title || props.title != null);
124
123
  const hasSubtitle = !!(slots.subtitle || props.subtitle != null);
125
124
  const hasHeader = hasTitle || hasSubtitle;
@@ -133,10 +132,10 @@ export const VCard = genericComponent()({
133
132
  'v-card--disabled': props.disabled,
134
133
  'v-card--flat': props.flat,
135
134
  'v-card--hover': props.hover && !(props.disabled || props.flat),
136
- 'v-card--link': isClickable.value
135
+ 'v-card--link': isClickable
137
136
  }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
138
137
  "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
139
- "onClick": isClickable.value && link.navigate,
138
+ "onClick": isClickable && link.navigate,
140
139
  "tabindex": props.disabled ? -1 : undefined
141
140
  }, link.linkProps), {
142
141
  default: () => [hasImage && _createVNode("div", {
@@ -181,8 +180,8 @@ export const VCard = genericComponent()({
181
180
  default: () => [slots.text?.() ?? props.text]
182
181
  }), slots.default?.(), slots.actions && _createVNode(VCardActions, null, {
183
182
  default: slots.actions
184
- }), genOverlays(isClickable.value, 'v-card')]
185
- }), [[_resolveDirective("ripple"), isClickable.value && props.ripple]]);
183
+ }), genOverlays(isClickable, 'v-card')]
184
+ }), [[_resolveDirective("ripple"), isClickable && props.ripple]]);
186
185
  });
187
186
  return {};
188
187
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VCard.js","names":["VCardActions","VCardItem","VCardText","VDefaultsProvider","VImg","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","LoaderSlot","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","genericComponent","propsFactory","useRender","makeVCardProps","appendAvatar","String","appendIcon","disabled","Boolean","flat","hover","image","link","type","default","undefined","prependAvatar","prependIcon","ripple","Object","subtitle","Number","text","title","variant","VCard","name","directives","props","setup","_ref","attrs","slots","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","isLink","value","isClickable","Tag","tag","hasTitle","hasSubtitle","hasHeader","hasAppend","append","hasPrepend","prepend","hasImage","hasCardItem","hasText","_withDirectives","_createVNode","_mergeProps","class","style","navigate","linkProps","cover","src","loading","loader","item","actions","_resolveDirective"],"sources":["../../../src/components/VCard/VCard.tsx"],"sourcesContent":["/* eslint-disable complexity */\n\n// Styles\nimport './VCard.sass'\n\n// Components\nimport { VCardActions } from './VCardActions'\nimport { VCardItem } from './VCardItem'\nimport { VCardText } from './VCardText'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VCardItemSlots } from './VCardItem'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport const makeVCardProps = propsFactory({\n appendAvatar: String,\n appendIcon: IconValue,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n image: String,\n link: {\n type: Boolean,\n default: undefined,\n },\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n subtitle: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n title: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VCard')\n\nexport type VCardSlots = VCardItemSlots & {\n default: never\n actions: never\n text: never\n loader: LoaderSlotProps\n image: never\n item: never\n}\n\nexport const VCard = genericComponent<VCardSlots>()({\n name: 'VCard',\n\n directives: { Ripple },\n\n props: makeVCardProps(),\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const link = useLink(props, attrs)\n\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value)\n )\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasTitle = !!(slots.title || props.title != null)\n const hasSubtitle = !!(slots.subtitle || props.subtitle != null)\n const hasHeader = hasTitle || hasSubtitle\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const hasImage = !!(slots.image || props.image)\n const hasCardItem = hasHeader || hasPrepend || hasAppend\n const hasText = !!(slots.text || props.text != null)\n\n return (\n <Tag\n class={[\n 'v-card',\n {\n 'v-card--disabled': props.disabled,\n 'v-card--flat': props.flat,\n 'v-card--hover': props.hover && !(props.disabled || props.flat),\n 'v-card--link': isClickable.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n onClick={ isClickable.value && link.navigate }\n v-ripple={ isClickable.value && props.ripple }\n tabindex={ props.disabled ? -1 : undefined }\n { ...link.linkProps }\n >\n { hasImage && (\n <div key=\"image\" class=\"v-card__image\">\n { !slots.image ? (\n <VImg\n key=\"image-img\"\n cover\n src={ props.image }\n />\n ) : (\n <VDefaultsProvider\n key=\"image-defaults\"\n disabled={ !props.image }\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n v-slots:default={ slots.image }\n />\n )}\n </div>\n )}\n\n <LoaderSlot\n name=\"v-card\"\n active={ !!props.loading }\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n v-slots={{ default: slots.loader }}\n />\n\n { hasCardItem && (\n <VCardItem\n key=\"item\"\n prependAvatar={ props.prependAvatar }\n prependIcon={ props.prependIcon }\n title={ props.title }\n subtitle={ props.subtitle }\n appendAvatar={ props.appendAvatar }\n appendIcon={ props.appendIcon }\n >\n {{\n default: slots.item,\n prepend: slots.prepend,\n title: slots.title,\n subtitle: slots.subtitle,\n append: slots.append,\n }}\n </VCardItem>\n )}\n\n { hasText && (\n <VCardText key=\"text\">\n { slots.text?.() ?? props.text }\n </VCardText>\n )}\n\n { slots.default?.() }\n\n { slots.actions && (\n <VCardActions v-slots={{ default: slots.actions }} />\n )}\n\n { genOverlays(isClickable.value, 'v-card') }\n </Tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VCard = InstanceType<typeof VCard>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VCard.js","names":["VCardActions","VCardItem","VCardText","VDefaultsProvider","VImg","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","LoaderSlot","makeLoaderProps","useLoader","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","genericComponent","propsFactory","useRender","makeVCardProps","appendAvatar","String","appendIcon","disabled","Boolean","flat","hover","image","link","type","default","undefined","prependAvatar","prependIcon","ripple","Object","subtitle","Number","text","title","variant","VCard","name","directives","props","setup","_ref","attrs","slots","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","loaderClasses","locationStyles","positionClasses","roundedClasses","isLink","value","isClickable","Tag","tag","hasTitle","hasSubtitle","hasHeader","hasAppend","append","hasPrepend","prepend","hasImage","hasCardItem","hasText","_withDirectives","_createVNode","_mergeProps","class","style","navigate","linkProps","cover","src","loading","loader","item","actions","_resolveDirective"],"sources":["../../../src/components/VCard/VCard.tsx"],"sourcesContent":["/* eslint-disable complexity */\n\n// Styles\nimport './VCard.sass'\n\n// Components\nimport { VCardActions } from './VCardActions'\nimport { VCardItem } from './VCardItem'\nimport { VCardText } from './VCardText'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VCardItemSlots } from './VCardItem'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport const makeVCardProps = propsFactory({\n appendAvatar: String,\n appendIcon: IconValue,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n image: String,\n link: {\n type: Boolean,\n default: undefined,\n },\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n subtitle: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n title: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VCard')\n\nexport type VCardSlots = VCardItemSlots & {\n default: never\n actions: never\n text: never\n loader: LoaderSlotProps\n image: never\n item: never\n}\n\nexport const VCard = genericComponent<VCardSlots>()({\n name: 'VCard',\n\n directives: { Ripple },\n\n props: makeVCardProps(),\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const link = useLink(props, attrs)\n\n useRender(() => {\n const isLink = props.link !== false && link.isLink.value\n const isClickable = (\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value)\n )\n const Tag = isLink ? 'a' : props.tag\n const hasTitle = !!(slots.title || props.title != null)\n const hasSubtitle = !!(slots.subtitle || props.subtitle != null)\n const hasHeader = hasTitle || hasSubtitle\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const hasImage = !!(slots.image || props.image)\n const hasCardItem = hasHeader || hasPrepend || hasAppend\n const hasText = !!(slots.text || props.text != null)\n\n return (\n <Tag\n class={[\n 'v-card',\n {\n 'v-card--disabled': props.disabled,\n 'v-card--flat': props.flat,\n 'v-card--hover': props.hover && !(props.disabled || props.flat),\n 'v-card--link': isClickable,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n onClick={ isClickable && link.navigate }\n v-ripple={ isClickable && props.ripple }\n tabindex={ props.disabled ? -1 : undefined }\n { ...link.linkProps }\n >\n { hasImage && (\n <div key=\"image\" class=\"v-card__image\">\n { !slots.image ? (\n <VImg\n key=\"image-img\"\n cover\n src={ props.image }\n />\n ) : (\n <VDefaultsProvider\n key=\"image-defaults\"\n disabled={ !props.image }\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n v-slots:default={ slots.image }\n />\n )}\n </div>\n )}\n\n <LoaderSlot\n name=\"v-card\"\n active={ !!props.loading }\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n v-slots={{ default: slots.loader }}\n />\n\n { hasCardItem && (\n <VCardItem\n key=\"item\"\n prependAvatar={ props.prependAvatar }\n prependIcon={ props.prependIcon }\n title={ props.title }\n subtitle={ props.subtitle }\n appendAvatar={ props.appendAvatar }\n appendIcon={ props.appendIcon }\n >\n {{\n default: slots.item,\n prepend: slots.prepend,\n title: slots.title,\n subtitle: slots.subtitle,\n append: slots.append,\n }}\n </VCardItem>\n )}\n\n { hasText && (\n <VCardText key=\"text\">\n { slots.text?.() ?? props.text }\n </VCardText>\n )}\n\n { slots.default?.() }\n\n { slots.actions && (\n <VCardActions v-slots={{ default: slots.actions }} />\n )}\n\n { genOverlays(isClickable, 'v-card') }\n </Tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VCard = InstanceType<typeof VCard>\n"],"mappings":"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","ignoreList":[]}