vuetify 3.8.1 → 3.8.3

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 (312) hide show
  1. package/dist/json/attributes.json +2066 -2066
  2. package/dist/json/importMap-labs.json +26 -26
  3. package/dist/json/importMap.json +164 -164
  4. package/dist/json/web-types.json +4116 -3862
  5. package/dist/vuetify-labs.cjs +784 -697
  6. package/dist/vuetify-labs.css +3174 -3162
  7. package/dist/vuetify-labs.d.ts +2103 -1144
  8. package/dist/vuetify-labs.esm.js +785 -698
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +784 -697
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.cjs +565 -590
  13. package/dist/vuetify.cjs.map +1 -1
  14. package/dist/vuetify.css +2963 -2960
  15. package/dist/vuetify.d.ts +190 -169
  16. package/dist/vuetify.esm.js +566 -591
  17. package/dist/vuetify.esm.js.map +1 -1
  18. package/dist/vuetify.js +565 -590
  19. package/dist/vuetify.js.map +1 -1
  20. package/dist/vuetify.min.css +2 -2
  21. package/dist/vuetify.min.js +1264 -1235
  22. package/dist/vuetify.min.js.map +1 -1
  23. package/lib/blueprints/md3.js +18 -5
  24. package/lib/blueprints/md3.js.map +1 -1
  25. package/lib/components/VAlert/VAlert.js +8 -9
  26. package/lib/components/VAlert/VAlert.js.map +1 -1
  27. package/lib/components/VAppBar/VAppBar.js +4 -4
  28. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  29. package/lib/components/VAutocomplete/VAutocomplete.js +1 -2
  30. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  31. package/lib/components/VBadge/VBadge.js +2 -3
  32. package/lib/components/VBadge/VBadge.js.map +1 -1
  33. package/lib/components/VBanner/VBanner.js +3 -3
  34. package/lib/components/VBanner/VBanner.js.map +1 -1
  35. package/lib/components/VBottomNavigation/VBottomNavigation.js +8 -8
  36. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  37. package/lib/components/VBreadcrumbs/VBreadcrumbs.js +6 -6
  38. package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  39. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +1 -2
  40. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  41. package/lib/components/VBtn/VBtn.js +3 -3
  42. package/lib/components/VBtn/VBtn.js.map +1 -1
  43. package/lib/components/VBtnGroup/VBtnGroup.js +4 -4
  44. package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
  45. package/lib/components/VCard/VCard.js +7 -8
  46. package/lib/components/VCard/VCard.js.map +1 -1
  47. package/lib/components/VCheckbox/VCheckbox.js +2 -3
  48. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  49. package/lib/components/VCheckbox/VCheckboxBtn.js +3 -3
  50. package/lib/components/VCheckbox/VCheckboxBtn.js.map +1 -1
  51. package/lib/components/VChip/VChip.js +8 -9
  52. package/lib/components/VChip/VChip.js.map +1 -1
  53. package/lib/components/VChipGroup/VChipGroup.js +5 -5
  54. package/lib/components/VChipGroup/VChipGroup.js.map +1 -1
  55. package/lib/components/VCode/VCode.css +3 -0
  56. package/lib/components/VCode/VCode.sass +3 -0
  57. package/lib/components/VCombobox/VCombobox.js +3 -4
  58. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  59. package/lib/components/VCounter/VCounter.js +2 -2
  60. package/lib/components/VCounter/VCounter.js.map +1 -1
  61. package/lib/components/VDataIterator/VDataIterator.js +2 -2
  62. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  63. package/lib/components/VDataTable/VDataTable.css +1 -1
  64. package/lib/components/VDataTable/VDataTable.js +7 -7
  65. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  66. package/lib/components/VDataTable/VDataTable.sass +1 -1
  67. package/lib/components/VDataTable/VDataTableHeaders.js +1 -1
  68. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  69. package/lib/components/VDataTable/VDataTableServer.js +7 -7
  70. package/lib/components/VDataTable/VDataTableServer.js.map +1 -1
  71. package/lib/components/VDataTable/VDataTableVirtual.js +7 -7
  72. package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
  73. package/lib/components/VDataTable/composables/expand.d.ts +1 -1
  74. package/lib/components/VDataTable/composables/expand.js +1 -1
  75. package/lib/components/VDataTable/composables/expand.js.map +1 -1
  76. package/lib/components/VDataTable/composables/options.js +8 -8
  77. package/lib/components/VDataTable/composables/options.js.map +1 -1
  78. package/lib/components/VDataTable/composables/select.d.ts +2 -2
  79. package/lib/components/VDataTable/composables/select.js +2 -2
  80. package/lib/components/VDataTable/composables/select.js.map +1 -1
  81. package/lib/components/VDataTable/composables/sort.d.ts +2 -2
  82. package/lib/components/VDataTable/composables/sort.js +2 -2
  83. package/lib/components/VDataTable/composables/sort.js.map +1 -1
  84. package/lib/components/VDatePicker/VDatePicker.d.ts +7 -7
  85. package/lib/components/VDatePicker/VDatePicker.js +4 -4
  86. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  87. package/lib/components/VDatePicker/VDatePickerHeader.js +1 -1
  88. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  89. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +7 -7
  90. package/lib/components/VDatePicker/VDatePickerMonth.js +2 -2
  91. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  92. package/lib/components/VDialog/VDialog.d.ts +9 -9
  93. package/lib/components/VDivider/VDivider.js +2 -2
  94. package/lib/components/VDivider/VDivider.js.map +1 -1
  95. package/lib/components/VEmptyState/VEmptyState.js +1 -2
  96. package/lib/components/VEmptyState/VEmptyState.js.map +1 -1
  97. package/lib/components/VExpansionPanel/VExpansionPanel.js +3 -3
  98. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  99. package/lib/components/VExpansionPanel/VExpansionPanelTitle.js +3 -3
  100. package/lib/components/VExpansionPanel/VExpansionPanelTitle.js.map +1 -1
  101. package/lib/components/VExpansionPanel/VExpansionPanels.js +14 -14
  102. package/lib/components/VExpansionPanel/VExpansionPanels.js.map +1 -1
  103. package/lib/components/VFab/VFab.js +2 -2
  104. package/lib/components/VFab/VFab.js.map +1 -1
  105. package/lib/components/VField/VField.js +5 -5
  106. package/lib/components/VField/VField.js.map +1 -1
  107. package/lib/components/VFileInput/VFileInput.js +2 -2
  108. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  109. package/lib/components/VFooter/VFooter.js +4 -4
  110. package/lib/components/VFooter/VFooter.js.map +1 -1
  111. package/lib/components/VForm/VForm.d.ts +40 -40
  112. package/lib/components/VIcon/VIcon.js +4 -4
  113. package/lib/components/VIcon/VIcon.js.map +1 -1
  114. package/lib/components/VImg/VImg.js +2 -2
  115. package/lib/components/VImg/VImg.js.map +1 -1
  116. package/lib/components/VInput/VInput.js +3 -3
  117. package/lib/components/VInput/VInput.js.map +1 -1
  118. package/lib/components/VLayout/VLayoutItem.js +5 -5
  119. package/lib/components/VLayout/VLayoutItem.js.map +1 -1
  120. package/lib/components/VList/VList.js +14 -14
  121. package/lib/components/VList/VList.js.map +1 -1
  122. package/lib/components/VList/VListGroup.js +2 -2
  123. package/lib/components/VList/VListGroup.js.map +1 -1
  124. package/lib/components/VList/VListItem.d.ts +3 -3
  125. package/lib/components/VList/VListItem.js +6 -6
  126. package/lib/components/VList/VListItem.js.map +1 -1
  127. package/lib/components/VList/VListSubheader.js +1 -2
  128. package/lib/components/VList/VListSubheader.js.map +1 -1
  129. package/lib/components/VMenu/VMenu.d.ts +15 -15
  130. package/lib/components/VMenu/VMenu.js +2 -2
  131. package/lib/components/VMenu/VMenu.js.map +1 -1
  132. package/lib/components/VMessages/VMessages.js +1 -1
  133. package/lib/components/VMessages/VMessages.js.map +1 -1
  134. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +6 -6
  135. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  136. package/lib/components/VNumberInput/VNumberInput.js +11 -11
  137. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  138. package/lib/components/VOtpInput/VOtpInput.js +7 -7
  139. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  140. package/lib/components/VOverlay/VOverlay.d.ts +3 -3
  141. package/lib/components/VOverlay/VOverlay.js +4 -4
  142. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  143. package/lib/components/VOverlay/locationStrategies.d.ts +4 -0
  144. package/lib/components/VOverlay/locationStrategies.js +33 -4
  145. package/lib/components/VOverlay/locationStrategies.js.map +1 -1
  146. package/lib/components/VPagination/VPagination.js +7 -7
  147. package/lib/components/VPagination/VPagination.js.map +1 -1
  148. package/lib/components/VProgressCircular/VProgressCircular.js +9 -9
  149. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  150. package/lib/components/VProgressLinear/VProgressLinear.js +4 -4
  151. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  152. package/lib/components/VSelect/VSelect.js +3 -2
  153. package/lib/components/VSelect/VSelect.js.map +1 -1
  154. package/lib/components/VSelectionControl/VSelectionControl.d.ts +1 -1
  155. package/lib/components/VSelectionControl/VSelectionControl.js +7 -7
  156. package/lib/components/VSelectionControl/VSelectionControl.js.map +1 -1
  157. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.js +15 -15
  158. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.js.map +1 -1
  159. package/lib/components/VSheet/VSheet.js +1 -2
  160. package/lib/components/VSheet/VSheet.js.map +1 -1
  161. package/lib/components/VSkeletonLoader/VSkeletonLoader.js +2 -2
  162. package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  163. package/lib/components/VSlider/slider.js +10 -10
  164. package/lib/components/VSlider/slider.js.map +1 -1
  165. package/lib/components/VSnackbar/VSnackbar.d.ts +9 -9
  166. package/lib/components/VSparkline/VSparkline.js +2 -2
  167. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  168. package/lib/components/VSwitch/VSwitch.js +3 -3
  169. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  170. package/lib/components/VSystemBar/VSystemBar.js +2 -2
  171. package/lib/components/VSystemBar/VSystemBar.js.map +1 -1
  172. package/lib/components/VTabs/VTab.d.ts +3 -3
  173. package/lib/components/VTabs/VTab.js +1 -1
  174. package/lib/components/VTabs/VTab.js.map +1 -1
  175. package/lib/components/VTabs/VTabs.js +7 -7
  176. package/lib/components/VTabs/VTabs.js.map +1 -1
  177. package/lib/components/VTimeline/VTimeline.js +9 -9
  178. package/lib/components/VTimeline/VTimeline.js.map +1 -1
  179. package/lib/components/VTimeline/VTimelineDivider.js +2 -3
  180. package/lib/components/VTimeline/VTimelineDivider.js.map +1 -1
  181. package/lib/components/VToolbar/VToolbar.js +2 -2
  182. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  183. package/lib/components/VToolbar/VToolbarItems.js +2 -2
  184. package/lib/components/VToolbar/VToolbarItems.js.map +1 -1
  185. package/lib/components/VTooltip/VTooltip.d.ts +9 -9
  186. package/lib/components/VTooltip/VTooltip.js +3 -3
  187. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  188. package/lib/components/VVirtualScroll/VVirtualScroll.js +1 -1
  189. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  190. package/lib/components/VWindow/VWindow.js +3 -3
  191. package/lib/components/VWindow/VWindow.js.map +1 -1
  192. package/lib/components/transitions/dialog-transition.js +11 -2
  193. package/lib/components/transitions/dialog-transition.js.map +1 -1
  194. package/lib/composables/border.d.ts +1 -1
  195. package/lib/composables/border.js +5 -8
  196. package/lib/composables/border.js.map +1 -1
  197. package/lib/composables/calendar.d.ts +23 -56
  198. package/lib/composables/calendar.js +16 -18
  199. package/lib/composables/calendar.js.map +1 -1
  200. package/lib/composables/color.d.ts +8 -10
  201. package/lib/composables/color.js +21 -22
  202. package/lib/composables/color.js.map +1 -1
  203. package/lib/composables/date/DateAdapter.d.ts +1 -0
  204. package/lib/composables/date/DateAdapter.js.map +1 -1
  205. package/lib/composables/date/adapters/vuetify.d.ts +1 -0
  206. package/lib/composables/date/adapters/vuetify.js +101 -160
  207. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  208. package/lib/composables/date/date.d.ts +1 -1
  209. package/lib/composables/date/date.js +0 -20
  210. package/lib/composables/date/date.js.map +1 -1
  211. package/lib/composables/defaults.js +6 -3
  212. package/lib/composables/defaults.js.map +1 -1
  213. package/lib/composables/density.d.ts +1 -1
  214. package/lib/composables/density.js +2 -2
  215. package/lib/composables/density.js.map +1 -1
  216. package/lib/composables/display.d.ts +4 -2
  217. package/lib/composables/display.js +2 -2
  218. package/lib/composables/display.js.map +1 -1
  219. package/lib/composables/elevation.js +4 -6
  220. package/lib/composables/elevation.js.map +1 -1
  221. package/lib/composables/filter.js +2 -1
  222. package/lib/composables/filter.js.map +1 -1
  223. package/lib/composables/focus.d.ts +4 -2
  224. package/lib/composables/focus.js +2 -2
  225. package/lib/composables/focus.js.map +1 -1
  226. package/lib/composables/form.d.ts +7 -7
  227. package/lib/composables/form.js +3 -3
  228. package/lib/composables/form.js.map +1 -1
  229. package/lib/composables/goto.js +2 -2
  230. package/lib/composables/goto.js.map +1 -1
  231. package/lib/composables/group.d.ts +3 -3
  232. package/lib/composables/group.js +4 -4
  233. package/lib/composables/group.js.map +1 -1
  234. package/lib/composables/icons.d.ts +2 -2
  235. package/lib/composables/icons.js +2 -2
  236. package/lib/composables/icons.js.map +1 -1
  237. package/lib/composables/layout.d.ts +10 -4
  238. package/lib/composables/layout.js +4 -4
  239. package/lib/composables/layout.js.map +1 -1
  240. package/lib/composables/lazy.d.ts +1 -1
  241. package/lib/composables/lazy.js +2 -2
  242. package/lib/composables/lazy.js.map +1 -1
  243. package/lib/composables/loader.d.ts +4 -2
  244. package/lib/composables/loader.js +2 -2
  245. package/lib/composables/loader.js.map +1 -1
  246. package/lib/composables/locale.js +3 -3
  247. package/lib/composables/locale.js.map +1 -1
  248. package/lib/composables/nested/nested.d.ts +3 -3
  249. package/lib/composables/nested/nested.js +4 -4
  250. package/lib/composables/nested/nested.js.map +1 -1
  251. package/lib/composables/position.d.ts +1 -1
  252. package/lib/composables/position.js +2 -2
  253. package/lib/composables/position.js.map +1 -1
  254. package/lib/composables/router.d.ts +3 -3
  255. package/lib/composables/router.js +8 -8
  256. package/lib/composables/router.js.map +1 -1
  257. package/lib/composables/size.d.ts +8 -5
  258. package/lib/composables/size.js +6 -5
  259. package/lib/composables/size.js.map +1 -1
  260. package/lib/composables/ssrBoot.d.ts +4 -2
  261. package/lib/composables/ssrBoot.js +2 -2
  262. package/lib/composables/ssrBoot.js.map +1 -1
  263. package/lib/composables/stack.d.ts +7 -5
  264. package/lib/composables/stack.js +5 -5
  265. package/lib/composables/stack.js.map +1 -1
  266. package/lib/composables/theme.js +9 -9
  267. package/lib/composables/theme.js.map +1 -1
  268. package/lib/composables/variant.d.ts +5 -6
  269. package/lib/composables/variant.js +6 -6
  270. package/lib/composables/variant.js.map +1 -1
  271. package/lib/entry-bundler.d.ts +1 -0
  272. package/lib/entry-bundler.js +1 -1
  273. package/lib/framework.d.ts +80 -71
  274. package/lib/framework.js +1 -1
  275. package/lib/labs/VCalendar/VCalendar.d.ts +607 -218
  276. package/lib/labs/VCalendar/VCalendar.js +55 -27
  277. package/lib/labs/VCalendar/VCalendar.js.map +1 -1
  278. package/lib/labs/VCalendar/VCalendarDay.css +9 -0
  279. package/lib/labs/VCalendar/VCalendarDay.d.ts +329 -17
  280. package/lib/labs/VCalendar/VCalendarDay.js +18 -10
  281. package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
  282. package/lib/labs/VCalendar/VCalendarDay.sass +8 -0
  283. package/lib/labs/VCalendar/VCalendarEvent.js +15 -5
  284. package/lib/labs/VCalendar/VCalendarEvent.js.map +1 -1
  285. package/lib/labs/VCalendar/VCalendarHeader.d.ts +44 -17
  286. package/lib/labs/VCalendar/VCalendarHeader.js +5 -2
  287. package/lib/labs/VCalendar/VCalendarHeader.js.map +1 -1
  288. package/lib/labs/VCalendar/VCalendarInterval.d.ts +171 -17
  289. package/lib/labs/VCalendar/VCalendarInterval.js +56 -19
  290. package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
  291. package/lib/labs/VCalendar/VCalendarIntervalEvent.d.ts +92 -17
  292. package/lib/labs/VCalendar/VCalendarIntervalEvent.js +30 -10
  293. package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
  294. package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +122 -88
  295. package/lib/labs/VCalendar/VCalendarMonthDay.js +24 -22
  296. package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
  297. package/lib/labs/VDateInput/VDateInput.d.ts +7 -7
  298. package/lib/labs/VIconBtn/VIconBtn.d.ts +6 -21
  299. package/lib/labs/VIconBtn/VIconBtn.js +10 -12
  300. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  301. package/lib/labs/VPicker/VPicker.js +1 -2
  302. package/lib/labs/VPicker/VPicker.js.map +1 -1
  303. package/lib/labs/VTimePicker/VTimePickerClock.js +3 -3
  304. package/lib/labs/VTimePicker/VTimePickerClock.js.map +1 -1
  305. package/lib/labs/VTreeview/VTreeview.js +11 -11
  306. package/lib/labs/VTreeview/VTreeview.js.map +1 -1
  307. package/lib/labs/entry-bundler.d.ts +1 -0
  308. package/lib/util/box.js.map +1 -1
  309. package/lib/util/helpers.d.ts +7 -2
  310. package/lib/util/helpers.js +16 -5
  311. package/lib/util/helpers.js.map +1 -1
  312. package/package.json +49 -47
@@ -6,7 +6,7 @@ import "./VDivider.css";
6
6
  import { useTextColor } from "../../composables/color.js";
7
7
  import { makeComponentProps } from "../../composables/component.js";
8
8
  import { makeThemeProps, provideTheme } from "../../composables/theme.js"; // Utilities
9
- import { computed, toRef } from 'vue';
9
+ import { computed } from 'vue';
10
10
  import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.js";
11
11
  export const makeVDividerProps = propsFactory({
12
12
  color: String,
@@ -32,7 +32,7 @@ export const VDivider = genericComponent()({
32
32
  const {
33
33
  textColorClasses,
34
34
  textColorStyles
35
- } = useTextColor(toRef(props, 'color'));
35
+ } = useTextColor(() => props.color);
36
36
  const dividerStyles = computed(() => {
37
37
  const styles = {};
38
38
  if (props.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"VDivider.js","names":["useTextColor","makeComponentProps","makeThemeProps","provideTheme","computed","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVDividerProps","color","String","inset","Boolean","length","Number","opacity","thickness","vertical","VDivider","name","props","setup","_ref","attrs","slots","themeClasses","textColorClasses","textColorStyles","dividerStyles","styles","divider","_createVNode","value","class","style","role","undefined","default"],"sources":["../../../src/components/VDivider/VDivider.tsx"],"sourcesContent":["// Styles\nimport './VDivider.sass'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\ntype DividerKey = 'borderRightWidth' | 'borderTopWidth' | 'height' | 'width'\ntype DividerStyles = Partial<Record<DividerKey, string>>\n\nexport const makeVDividerProps = propsFactory({\n color: String,\n inset: Boolean,\n length: [Number, String],\n opacity: [Number, String],\n thickness: [Number, String],\n vertical: Boolean,\n\n ...makeComponentProps(),\n ...makeThemeProps(),\n}, 'VDivider')\n\nexport const VDivider = genericComponent()({\n name: 'VDivider',\n\n props: makeVDividerProps(),\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const dividerStyles = computed(() => {\n const styles: DividerStyles = {}\n\n if (props.length) {\n styles[props.vertical ? 'height' : 'width'] = convertToUnit(props.length)\n }\n\n if (props.thickness) {\n styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness)\n }\n\n return styles\n })\n\n useRender(() => {\n const divider = (\n <hr\n class={[\n {\n 'v-divider': true,\n 'v-divider--inset': props.inset,\n 'v-divider--vertical': props.vertical,\n },\n themeClasses.value,\n textColorClasses.value,\n props.class,\n ]}\n style={[\n dividerStyles.value,\n textColorStyles.value,\n { '--v-border-opacity': props.opacity },\n props.style,\n ]}\n aria-orientation={\n !attrs.role || attrs.role === 'separator'\n ? props.vertical ? 'vertical' : 'horizontal'\n : undefined\n }\n role={ `${attrs.role || 'separator'}` }\n />\n )\n\n if (!slots.default) return divider\n\n return (\n <div\n class={[\n 'v-divider__wrapper',\n {\n 'v-divider__wrapper--vertical': props.vertical,\n 'v-divider__wrapper--inset': props.inset,\n },\n ]}\n >\n { divider }\n\n <div class=\"v-divider__content\">\n { slots.default() }\n </div>\n\n { divider }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDivider = InstanceType<typeof VDivider>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDivider.js","names":["useTextColor","makeComponentProps","makeThemeProps","provideTheme","computed","convertToUnit","genericComponent","propsFactory","useRender","makeVDividerProps","color","String","inset","Boolean","length","Number","opacity","thickness","vertical","VDivider","name","props","setup","_ref","attrs","slots","themeClasses","textColorClasses","textColorStyles","dividerStyles","styles","divider","_createVNode","value","class","style","role","undefined","default"],"sources":["../../../src/components/VDivider/VDivider.tsx"],"sourcesContent":["// Styles\nimport './VDivider.sass'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\ntype DividerKey = 'borderRightWidth' | 'borderTopWidth' | 'height' | 'width'\ntype DividerStyles = Partial<Record<DividerKey, string>>\n\nexport const makeVDividerProps = propsFactory({\n color: String,\n inset: Boolean,\n length: [Number, String],\n opacity: [Number, String],\n thickness: [Number, String],\n vertical: Boolean,\n\n ...makeComponentProps(),\n ...makeThemeProps(),\n}, 'VDivider')\n\nexport const VDivider = genericComponent()({\n name: 'VDivider',\n\n props: makeVDividerProps(),\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => props.color)\n const dividerStyles = computed(() => {\n const styles: DividerStyles = {}\n\n if (props.length) {\n styles[props.vertical ? 'height' : 'width'] = convertToUnit(props.length)\n }\n\n if (props.thickness) {\n styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness)\n }\n\n return styles\n })\n\n useRender(() => {\n const divider = (\n <hr\n class={[\n {\n 'v-divider': true,\n 'v-divider--inset': props.inset,\n 'v-divider--vertical': props.vertical,\n },\n themeClasses.value,\n textColorClasses.value,\n props.class,\n ]}\n style={[\n dividerStyles.value,\n textColorStyles.value,\n { '--v-border-opacity': props.opacity },\n props.style,\n ]}\n aria-orientation={\n !attrs.role || attrs.role === 'separator'\n ? props.vertical ? 'vertical' : 'horizontal'\n : undefined\n }\n role={ `${attrs.role || 'separator'}` }\n />\n )\n\n if (!slots.default) return divider\n\n return (\n <div\n class={[\n 'v-divider__wrapper',\n {\n 'v-divider__wrapper--vertical': props.vertical,\n 'v-divider__wrapper--inset': props.inset,\n },\n ]}\n >\n { divider }\n\n <div class=\"v-divider__content\">\n { slots.default() }\n </div>\n\n { divider }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDivider = InstanceType<typeof VDivider>\n"],"mappings":"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","ignoreList":[]}
@@ -14,7 +14,6 @@ import { useDisplay } from "../../composables/display.js";
14
14
  import { IconValue } from "../../composables/icons.js";
15
15
  import { makeSizeProps } from "../../composables/size.js";
16
16
  import { makeThemeProps, provideTheme } from "../../composables/theme.js"; // Utilities
17
- import { toRef } from 'vue';
18
17
  import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.js"; // Types
19
18
  // Types
20
19
  export const makeVEmptyStateProps = propsFactory({
@@ -60,7 +59,7 @@ export const VEmptyState = genericComponent()({
60
59
  const {
61
60
  backgroundColorClasses,
62
61
  backgroundColorStyles
63
- } = useBackgroundColor(toRef(props, 'bgColor'));
62
+ } = useBackgroundColor(() => props.bgColor);
64
63
  const {
65
64
  dimensionStyles
66
65
  } = useDimension(props);
@@ -1 +1 @@
1
- {"version":3,"file":"VEmptyState.js","names":["VBtn","VDefaultsProvider","VIcon","VImg","useBackgroundColor","makeComponentProps","makeDimensionProps","useDimension","useDisplay","IconValue","makeSizeProps","makeThemeProps","provideTheme","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVEmptyStateProps","actionText","String","bgColor","color","icon","image","justify","type","default","headline","title","text","textWidth","Number","href","to","size","undefined","VEmptyState","name","props","emits","e","setup","_ref","emit","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","dimensionStyles","displayClasses","onClickAction","hasActions","actions","hasHeadline","hasTitle","hasText","hasMedia","media","_createVNode","value","class","style","_Fragment","src","height","maxWidth","onClick"],"sources":["../../../src/components/VEmptyState/VEmptyState.tsx"],"sourcesContent":["// Styles\nimport './VEmptyState.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useDisplay } from '@/composables/display'\nimport { IconValue } from '@/composables/icons'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\n\nexport type VEmptyStateSlots = {\n actions: {\n props: {\n onClick: (e: Event) => void\n }\n }\n default: never\n headline: never\n title: never\n media: never\n text: never\n}\n\nexport const makeVEmptyStateProps = propsFactory({\n actionText: String,\n bgColor: String,\n color: String,\n icon: IconValue,\n image: String,\n justify: {\n type: String as PropType<'start' | 'center' | 'end'>,\n default: 'center',\n },\n headline: String,\n title: String,\n text: String,\n textWidth: {\n type: [Number, String],\n default: 500,\n },\n href: String,\n to: String,\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeSizeProps({ size: undefined }),\n ...makeThemeProps(),\n}, 'VEmptyState')\n\nexport const VEmptyState = genericComponent<VEmptyStateSlots>()({\n name: 'VEmptyState',\n\n props: makeVEmptyStateProps(),\n\n emits: {\n 'click:action': (e: Event) => true,\n },\n\n setup (props, { emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { dimensionStyles } = useDimension(props)\n const { displayClasses } = useDisplay()\n\n function onClickAction (e: Event) {\n emit('click:action', e)\n }\n\n useRender(() => {\n const hasActions = !!(slots.actions || props.actionText)\n const hasHeadline = !!(slots.headline || props.headline)\n const hasTitle = !!(slots.title || props.title)\n const hasText = !!(slots.text || props.text)\n const hasMedia = !!(slots.media || props.image || props.icon)\n const size = props.size || (props.image ? 200 : 96)\n\n return (\n <div\n class={[\n 'v-empty-state',\n {\n [`v-empty-state--${props.justify}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n displayClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n >\n { hasMedia && (\n <div key=\"media\" class=\"v-empty-state__media\">\n { !slots.media ? (\n <>\n { props.image ? (\n <VImg\n key=\"image\"\n src={ props.image }\n height={ size }\n />\n ) : props.icon ? (\n <VIcon\n key=\"icon\"\n color={ props.color }\n size={ size }\n icon={ props.icon }\n />\n ) : undefined }\n </>\n ) : (\n <VDefaultsProvider\n key=\"media-defaults\"\n defaults={{\n VImg: {\n src: props.image,\n height: size,\n },\n VIcon: {\n size,\n icon: props.icon,\n },\n }}\n >\n { slots.media() }\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n { hasHeadline && (\n <div key=\"headline\" class=\"v-empty-state__headline\">\n { slots.headline?.() ?? props.headline }\n </div>\n )}\n\n { hasTitle && (\n <div key=\"title\" class=\"v-empty-state__title\">\n { slots.title?.() ?? props.title }\n </div>\n )}\n\n { hasText && (\n <div\n key=\"text\"\n class=\"v-empty-state__text\"\n style={{\n maxWidth: convertToUnit(props.textWidth),\n }}\n >\n { slots.text?.() ?? props.text }\n </div>\n )}\n\n { slots.default && (\n <div key=\"content\" class=\"v-empty-state__content\">\n { slots.default() }\n </div>\n )}\n\n { hasActions && (\n <div key=\"actions\" class=\"v-empty-state__actions\">\n <VDefaultsProvider\n defaults={{\n VBtn: {\n class: 'v-empty-state__action-btn',\n color: props.color ?? 'surface-variant',\n href: props.href,\n text: props.actionText,\n to: props.to,\n },\n }}\n >\n {\n slots.actions?.({ props: { onClick: onClickAction } }) ?? (\n <VBtn onClick={ onClickAction } />\n )\n }\n </VDefaultsProvider>\n </div>\n )}\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VEmptyState = InstanceType<typeof VEmptyState>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VEmptyState.js","names":["VBtn","VDefaultsProvider","VIcon","VImg","useBackgroundColor","makeComponentProps","makeDimensionProps","useDimension","useDisplay","IconValue","makeSizeProps","makeThemeProps","provideTheme","convertToUnit","genericComponent","propsFactory","useRender","makeVEmptyStateProps","actionText","String","bgColor","color","icon","image","justify","type","default","headline","title","text","textWidth","Number","href","to","size","undefined","VEmptyState","name","props","emits","e","setup","_ref","emit","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","dimensionStyles","displayClasses","onClickAction","hasActions","actions","hasHeadline","hasTitle","hasText","hasMedia","media","_createVNode","value","class","style","_Fragment","src","height","maxWidth","onClick"],"sources":["../../../src/components/VEmptyState/VEmptyState.tsx"],"sourcesContent":["// Styles\nimport './VEmptyState.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useDisplay } from '@/composables/display'\nimport { IconValue } from '@/composables/icons'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\n\nexport type VEmptyStateSlots = {\n actions: {\n props: {\n onClick: (e: Event) => void\n }\n }\n default: never\n headline: never\n title: never\n media: never\n text: never\n}\n\nexport const makeVEmptyStateProps = propsFactory({\n actionText: String,\n bgColor: String,\n color: String,\n icon: IconValue,\n image: String,\n justify: {\n type: String as PropType<'start' | 'center' | 'end'>,\n default: 'center',\n },\n headline: String,\n title: String,\n text: String,\n textWidth: {\n type: [Number, String],\n default: 500,\n },\n href: String,\n to: String,\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeSizeProps({ size: undefined }),\n ...makeThemeProps(),\n}, 'VEmptyState')\n\nexport const VEmptyState = genericComponent<VEmptyStateSlots>()({\n name: 'VEmptyState',\n\n props: makeVEmptyStateProps(),\n\n emits: {\n 'click:action': (e: Event) => true,\n },\n\n setup (props, { emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.bgColor)\n const { dimensionStyles } = useDimension(props)\n const { displayClasses } = useDisplay()\n\n function onClickAction (e: Event) {\n emit('click:action', e)\n }\n\n useRender(() => {\n const hasActions = !!(slots.actions || props.actionText)\n const hasHeadline = !!(slots.headline || props.headline)\n const hasTitle = !!(slots.title || props.title)\n const hasText = !!(slots.text || props.text)\n const hasMedia = !!(slots.media || props.image || props.icon)\n const size = props.size || (props.image ? 200 : 96)\n\n return (\n <div\n class={[\n 'v-empty-state',\n {\n [`v-empty-state--${props.justify}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n displayClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n >\n { hasMedia && (\n <div key=\"media\" class=\"v-empty-state__media\">\n { !slots.media ? (\n <>\n { props.image ? (\n <VImg\n key=\"image\"\n src={ props.image }\n height={ size }\n />\n ) : props.icon ? (\n <VIcon\n key=\"icon\"\n color={ props.color }\n size={ size }\n icon={ props.icon }\n />\n ) : undefined }\n </>\n ) : (\n <VDefaultsProvider\n key=\"media-defaults\"\n defaults={{\n VImg: {\n src: props.image,\n height: size,\n },\n VIcon: {\n size,\n icon: props.icon,\n },\n }}\n >\n { slots.media() }\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n { hasHeadline && (\n <div key=\"headline\" class=\"v-empty-state__headline\">\n { slots.headline?.() ?? props.headline }\n </div>\n )}\n\n { hasTitle && (\n <div key=\"title\" class=\"v-empty-state__title\">\n { slots.title?.() ?? props.title }\n </div>\n )}\n\n { hasText && (\n <div\n key=\"text\"\n class=\"v-empty-state__text\"\n style={{\n maxWidth: convertToUnit(props.textWidth),\n }}\n >\n { slots.text?.() ?? props.text }\n </div>\n )}\n\n { slots.default && (\n <div key=\"content\" class=\"v-empty-state__content\">\n { slots.default() }\n </div>\n )}\n\n { hasActions && (\n <div key=\"actions\" class=\"v-empty-state__actions\">\n <VDefaultsProvider\n defaults={{\n VBtn: {\n class: 'v-empty-state__action-btn',\n color: props.color ?? 'surface-variant',\n href: props.href,\n text: props.actionText,\n to: props.to,\n },\n }}\n >\n {\n slots.actions?.({ props: { onClick: onClickAction } }) ?? (\n <VBtn onClick={ onClickAction } />\n )\n }\n </VDefaultsProvider>\n </div>\n )}\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VEmptyState = InstanceType<typeof VEmptyState>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI;AAAA,SACJC,iBAAiB;AAAA,SACjBC,KAAK;AAAA,SACLC,IAAI,4BAEb;AAAA,SACSC,kBAAkB;AAAA,SAClBC,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,UAAU;AAAA,SACVC,SAAS;AAAA,SACTC,aAAa;AAAA,SACbC,cAAc,EAAEC,YAAY,sCAErC;AAAA,SACSC,aAAa,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,+BAEjE;AAGA;AAeA,OAAO,MAAMC,oBAAoB,GAAGF,YAAY,CAAC;EAC/CG,UAAU,EAAEC,MAAM;EAClBC,OAAO,EAAED,MAAM;EACfE,KAAK,EAAEF,MAAM;EACbG,IAAI,EAAEb,SAAS;EACfc,KAAK,EAAEJ,MAAM;EACbK,OAAO,EAAE;IACPC,IAAI,EAAEN,MAA8C;IACpDO,OAAO,EAAE;EACX,CAAC;EACDC,QAAQ,EAAER,MAAM;EAChBS,KAAK,EAAET,MAAM;EACbU,IAAI,EAAEV,MAAM;EACZW,SAAS,EAAE;IACTL,IAAI,EAAE,CAACM,MAAM,EAAEZ,MAAM,CAAC;IACtBO,OAAO,EAAE;EACX,CAAC;EACDM,IAAI,EAAEb,MAAM;EACZc,EAAE,EAAEd,MAAM;EAEV,GAAGd,kBAAkB,CAAC,CAAC;EACvB,GAAGC,kBAAkB,CAAC,CAAC;EACvB,GAAGI,aAAa,CAAC;IAAEwB,IAAI,EAAEC;EAAU,CAAC,CAAC;EACrC,GAAGxB,cAAc,CAAC;AACpB,CAAC,EAAE,aAAa,CAAC;AAEjB,OAAO,MAAMyB,WAAW,GAAGtB,gBAAgB,CAAmB,CAAC,CAAC;EAC9DuB,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAErB,oBAAoB,CAAC,CAAC;EAE7BsB,KAAK,EAAE;IACL,cAAc,EAAGC,CAAQ,IAAK;EAChC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAM;MAAEG;IAAa,CAAC,GAAGjC,YAAY,CAAC0B,KAAK,CAAC;IAC5C,MAAM;MAAEQ,sBAAsB;MAAEC;IAAsB,CAAC,GAAG3C,kBAAkB,CAAC,MAAMkC,KAAK,CAAClB,OAAO,CAAC;IACjG,MAAM;MAAE4B;IAAgB,CAAC,GAAGzC,YAAY,CAAC+B,KAAK,CAAC;IAC/C,MAAM;MAAEW;IAAe,CAAC,GAAGzC,UAAU,CAAC,CAAC;IAEvC,SAAS0C,aAAaA,CAAEV,CAAQ,EAAE;MAChCG,IAAI,CAAC,cAAc,EAAEH,CAAC,CAAC;IACzB;IAEAxB,SAAS,CAAC,MAAM;MACd,MAAMmC,UAAU,GAAG,CAAC,EAAEP,KAAK,CAACQ,OAAO,IAAId,KAAK,CAACpB,UAAU,CAAC;MACxD,MAAMmC,WAAW,GAAG,CAAC,EAAET,KAAK,CAACjB,QAAQ,IAAIW,KAAK,CAACX,QAAQ,CAAC;MACxD,MAAM2B,QAAQ,GAAG,CAAC,EAAEV,KAAK,CAAChB,KAAK,IAAIU,KAAK,CAACV,KAAK,CAAC;MAC/C,MAAM2B,OAAO,GAAG,CAAC,EAAEX,KAAK,CAACf,IAAI,IAAIS,KAAK,CAACT,IAAI,CAAC;MAC5C,MAAM2B,QAAQ,GAAG,CAAC,EAAEZ,KAAK,CAACa,KAAK,IAAInB,KAAK,CAACf,KAAK,IAAIe,KAAK,CAAChB,IAAI,CAAC;MAC7D,MAAMY,IAAI,GAAGI,KAAK,CAACJ,IAAI,KAAKI,KAAK,CAACf,KAAK,GAAG,GAAG,GAAG,EAAE,CAAC;MAEnD,OAAAmC,YAAA;QAAA,SAEW,CACL,eAAe,EACf;UACE,CAAC,kBAAkBpB,KAAK,CAACd,OAAO,EAAE,GAAG;QACvC,CAAC,EACDqB,YAAY,CAACc,KAAK,EAClBb,sBAAsB,CAACa,KAAK,EAC5BV,cAAc,CAACU,KAAK,EACpBrB,KAAK,CAACsB,KAAK,CACZ;QAAA,SACM,CACLb,qBAAqB,CAACY,KAAK,EAC3BX,eAAe,CAACW,KAAK,EACrBrB,KAAK,CAACuB,KAAK;MACZ,IAECL,QAAQ,IAAAE,YAAA;QAAA;QAAA;MAAA,IAEJ,CAACd,KAAK,CAACa,KAAK,GAAAC,YAAA,CAAAI,SAAA,SAERxB,KAAK,CAACf,KAAK,GAAAmC,YAAA,CAAAvD,IAAA;QAAA;QAAA,OAGHmC,KAAK,CAACf,KAAK;QAAA,UACRW;MAAI,WAEbI,KAAK,CAAChB,IAAI,GAAAoC,YAAA,CAAAxD,KAAA;QAAA;QAAA,SAGFoC,KAAK,CAACjB,KAAK;QAAA,QACZa,IAAI;QAAA,QACJI,KAAK,CAAChB;MAAI,WAEjBa,SAAS,KAAAuB,YAAA,CAAAzD,iBAAA;QAAA;QAAA,YAKH;UACRE,IAAI,EAAE;YACJ4D,GAAG,EAAEzB,KAAK,CAACf,KAAK;YAChByC,MAAM,EAAE9B;UACV,CAAC;UACDhC,KAAK,EAAE;YACLgC,IAAI;YACJZ,IAAI,EAAEgB,KAAK,CAAChB;UACd;QACF;MAAC;QAAAI,OAAA,EAAAA,CAAA,MAECkB,KAAK,CAACa,KAAK,CAAC,CAAC;MAAA,EAElB,EAEJ,EAECJ,WAAW,IAAAK,YAAA;QAAA;QAAA;MAAA,IAEPd,KAAK,CAACjB,QAAQ,GAAG,CAAC,IAAIW,KAAK,CAACX,QAAQ,EAEzC,EAEC2B,QAAQ,IAAAI,YAAA;QAAA;QAAA;MAAA,IAEJd,KAAK,CAAChB,KAAK,GAAG,CAAC,IAAIU,KAAK,CAACV,KAAK,EAEnC,EAEC2B,OAAO,IAAAG,YAAA;QAAA;QAAA;QAAA,SAIE;UACLO,QAAQ,EAAEpD,aAAa,CAACyB,KAAK,CAACR,SAAS;QACzC;MAAC,IAECc,KAAK,CAACf,IAAI,GAAG,CAAC,IAAIS,KAAK,CAACT,IAAI,EAEjC,EAECe,KAAK,CAAClB,OAAO,IAAAgC,YAAA;QAAA;QAAA;MAAA,IAETd,KAAK,CAAClB,OAAO,CAAC,CAAC,EAEpB,EAECyB,UAAU,IAAAO,YAAA;QAAA;QAAA;MAAA,IAAAA,YAAA,CAAAzD,iBAAA;QAAA,YAGI;UACRD,IAAI,EAAE;YACJ4D,KAAK,EAAE,2BAA2B;YAClCvC,KAAK,EAAEiB,KAAK,CAACjB,KAAK,IAAI,iBAAiB;YACvCW,IAAI,EAAEM,KAAK,CAACN,IAAI;YAChBH,IAAI,EAAES,KAAK,CAACpB,UAAU;YACtBe,EAAE,EAAEK,KAAK,CAACL;UACZ;QACF;MAAC;QAAAP,OAAA,EAAAA,CAAA,MAGCkB,KAAK,CAACQ,OAAO,GAAG;UAAEd,KAAK,EAAE;YAAE4B,OAAO,EAAEhB;UAAc;QAAE,CAAC,CAAC,IAAAQ,YAAA,CAAA1D,IAAA;UAAA,WACpCkD;QAAa,QAC9B;MAAA,IAIR;IAGP,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -9,7 +9,7 @@ import { makeElevationProps, useElevation } from "../../composables/elevation.js
9
9
  import { makeGroupItemProps, useGroupItem } from "../../composables/group.js";
10
10
  import { makeRoundedProps, useRounded } from "../../composables/rounded.js";
11
11
  import { makeTagProps } from "../../composables/tag.js"; // Utilities
12
- import { computed, provide } from 'vue';
12
+ import { computed, provide, toRef } from 'vue';
13
13
  import { genericComponent, propsFactory, useRender } from "../../util/index.js";
14
14
  export const makeVExpansionPanelProps = propsFactory({
15
15
  title: String,
@@ -36,14 +36,14 @@ export const VExpansionPanel = genericComponent()({
36
36
  const {
37
37
  backgroundColorClasses,
38
38
  backgroundColorStyles
39
- } = useBackgroundColor(props, 'bgColor');
39
+ } = useBackgroundColor(() => props.bgColor);
40
40
  const {
41
41
  elevationClasses
42
42
  } = useElevation(props);
43
43
  const {
44
44
  roundedClasses
45
45
  } = useRounded(props);
46
- const isDisabled = computed(() => groupItem?.disabled.value || props.disabled);
46
+ const isDisabled = toRef(() => groupItem?.disabled.value || props.disabled);
47
47
  const selectedIndices = computed(() => groupItem.group.items.value.reduce((arr, item, index) => {
48
48
  if (groupItem.group.selected.value.includes(item.id)) arr.push(index);
49
49
  return arr;
@@ -1 +1 @@
1
- {"version":3,"file":"VExpansionPanel.js","names":["VExpansionPanelSymbol","makeVExpansionPanelTextProps","VExpansionPanelText","makeVExpansionPanelTitleProps","VExpansionPanelTitle","VDefaultsProvider","useBackgroundColor","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makeRoundedProps","useRounded","makeTagProps","computed","provide","genericComponent","propsFactory","useRender","makeVExpansionPanelProps","title","String","text","bgColor","VExpansionPanel","name","props","emits","val","setup","_ref","slots","groupItem","backgroundColorClasses","backgroundColorStyles","elevationClasses","roundedClasses","isDisabled","disabled","value","selectedIndices","group","items","reduce","arr","item","index","selected","includes","id","push","isBeforeSelected","findIndex","isSelected","some","selectedIndex","isAfterSelected","hasText","hasTitle","expansionPanelTitleProps","filterProps","expansionPanelTextProps","_createVNode","tag","class","style","default"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanel.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { makeVExpansionPanelTextProps, VExpansionPanelText } from './VExpansionPanelText'\nimport { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from './VExpansionPanelTitle'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, provide } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVExpansionPanelProps = propsFactory({\n title: String,\n text: String,\n bgColor: String,\n\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeVExpansionPanelTitleProps(),\n ...makeVExpansionPanelTextProps(),\n}, 'VExpansionPanel')\n\nexport type VExpansionPanelSlots = {\n default: never\n title: never\n text: never\n}\n\nexport const VExpansionPanel = genericComponent<VExpansionPanelSlots>()({\n name: 'VExpansionPanel',\n\n props: makeVExpansionPanelProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const groupItem = useGroupItem(props, VExpansionPanelSymbol)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'bgColor')\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const isDisabled = computed(() => groupItem?.disabled.value || props.disabled)\n\n const selectedIndices = computed(() => groupItem.group.items.value.reduce<number[]>((arr, item, index) => {\n if (groupItem.group.selected.value.includes(item.id)) arr.push(index)\n return arr\n }, []))\n\n const isBeforeSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - index === 1)\n })\n\n const isAfterSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - index === -1)\n })\n\n provide(VExpansionPanelSymbol, groupItem)\n\n useRender(() => {\n const hasText = !!(slots.text || props.text)\n const hasTitle = !!(slots.title || props.title)\n\n const expansionPanelTitleProps = VExpansionPanelTitle.filterProps(props)\n const expansionPanelTextProps = VExpansionPanelText.filterProps(props)\n\n return (\n <props.tag\n class={[\n 'v-expansion-panel',\n {\n 'v-expansion-panel--active': groupItem.isSelected.value,\n 'v-expansion-panel--before-active': isBeforeSelected.value,\n 'v-expansion-panel--after-active': isAfterSelected.value,\n 'v-expansion-panel--disabled': isDisabled.value,\n },\n roundedClasses.value,\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n <div\n class={[\n 'v-expansion-panel__shadow',\n ...elevationClasses.value,\n ]}\n />\n\n <VDefaultsProvider\n defaults={{\n VExpansionPanelTitle: {\n ...expansionPanelTitleProps,\n },\n VExpansionPanelText: {\n ...expansionPanelTextProps,\n },\n }}\n >\n { hasTitle && (\n <VExpansionPanelTitle key=\"title\">\n { slots.title ? slots.title() : props.title }\n </VExpansionPanelTitle>\n )}\n\n { hasText && (\n <VExpansionPanelText key=\"text\">\n { slots.text ? slots.text() : props.text }\n </VExpansionPanelText>\n )}\n\n { slots.default?.() }\n </VDefaultsProvider>\n </props.tag>\n )\n })\n\n return {\n groupItem,\n }\n },\n})\n\nexport type VExpansionPanel = InstanceType<typeof VExpansionPanel>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VExpansionPanel.js","names":["VExpansionPanelSymbol","makeVExpansionPanelTextProps","VExpansionPanelText","makeVExpansionPanelTitleProps","VExpansionPanelTitle","VDefaultsProvider","useBackgroundColor","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makeRoundedProps","useRounded","makeTagProps","computed","provide","toRef","genericComponent","propsFactory","useRender","makeVExpansionPanelProps","title","String","text","bgColor","VExpansionPanel","name","props","emits","val","setup","_ref","slots","groupItem","backgroundColorClasses","backgroundColorStyles","elevationClasses","roundedClasses","isDisabled","disabled","value","selectedIndices","group","items","reduce","arr","item","index","selected","includes","id","push","isBeforeSelected","findIndex","isSelected","some","selectedIndex","isAfterSelected","hasText","hasTitle","expansionPanelTitleProps","filterProps","expansionPanelTextProps","_createVNode","tag","class","style","default"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanel.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { makeVExpansionPanelTextProps, VExpansionPanelText } from './VExpansionPanelText'\nimport { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from './VExpansionPanelTitle'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVExpansionPanelProps = propsFactory({\n title: String,\n text: String,\n bgColor: String,\n\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeVExpansionPanelTitleProps(),\n ...makeVExpansionPanelTextProps(),\n}, 'VExpansionPanel')\n\nexport type VExpansionPanelSlots = {\n default: never\n title: never\n text: never\n}\n\nexport const VExpansionPanel = genericComponent<VExpansionPanelSlots>()({\n name: 'VExpansionPanel',\n\n props: makeVExpansionPanelProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const groupItem = useGroupItem(props, VExpansionPanelSymbol)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.bgColor)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const isDisabled = toRef(() => groupItem?.disabled.value || props.disabled)\n\n const selectedIndices = computed(() => groupItem.group.items.value.reduce<number[]>((arr, item, index) => {\n if (groupItem.group.selected.value.includes(item.id)) arr.push(index)\n return arr\n }, []))\n\n const isBeforeSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - index === 1)\n })\n\n const isAfterSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - index === -1)\n })\n\n provide(VExpansionPanelSymbol, groupItem)\n\n useRender(() => {\n const hasText = !!(slots.text || props.text)\n const hasTitle = !!(slots.title || props.title)\n\n const expansionPanelTitleProps = VExpansionPanelTitle.filterProps(props)\n const expansionPanelTextProps = VExpansionPanelText.filterProps(props)\n\n return (\n <props.tag\n class={[\n 'v-expansion-panel',\n {\n 'v-expansion-panel--active': groupItem.isSelected.value,\n 'v-expansion-panel--before-active': isBeforeSelected.value,\n 'v-expansion-panel--after-active': isAfterSelected.value,\n 'v-expansion-panel--disabled': isDisabled.value,\n },\n roundedClasses.value,\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n <div\n class={[\n 'v-expansion-panel__shadow',\n ...elevationClasses.value,\n ]}\n />\n\n <VDefaultsProvider\n defaults={{\n VExpansionPanelTitle: {\n ...expansionPanelTitleProps,\n },\n VExpansionPanelText: {\n ...expansionPanelTextProps,\n },\n }}\n >\n { hasTitle && (\n <VExpansionPanelTitle key=\"title\">\n { slots.title ? slots.title() : props.title }\n </VExpansionPanelTitle>\n )}\n\n { hasText && (\n <VExpansionPanelText key=\"text\">\n { slots.text ? slots.text() : props.text }\n </VExpansionPanelText>\n )}\n\n { slots.default?.() }\n </VDefaultsProvider>\n </props.tag>\n )\n })\n\n return {\n groupItem,\n }\n },\n})\n\nexport type VExpansionPanel = InstanceType<typeof VExpansionPanel>\n"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,7 @@ import { makeComponentProps } from "../../composables/component.js";
8
8
  import { makeDimensionProps, useDimension } from "../../composables/dimensions.js";
9
9
  import { IconValue } from "../../composables/icons.js"; // Directives
10
10
  import { Ripple } from "../../directives/ripple/index.js"; // Utilities
11
- import { computed, inject } from 'vue';
11
+ import { computed, inject, toRef } from 'vue';
12
12
  import { genericComponent, propsFactory, useRender } from "../../util/index.js"; // Types
13
13
  export const makeVExpansionPanelTitleProps = propsFactory({
14
14
  color: String,
@@ -46,7 +46,7 @@ export const VExpansionPanelTitle = genericComponent()({
46
46
  const {
47
47
  backgroundColorClasses,
48
48
  backgroundColorStyles
49
- } = useBackgroundColor(props, 'color');
49
+ } = useBackgroundColor(() => props.color);
50
50
  const {
51
51
  dimensionStyles
52
52
  } = useDimension(props);
@@ -57,7 +57,7 @@ export const VExpansionPanelTitle = genericComponent()({
57
57
  expandIcon: props.expandIcon,
58
58
  readonly: props.readonly
59
59
  }));
60
- const icon = computed(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon);
60
+ const icon = toRef(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon);
61
61
  useRender(() => _withDirectives(_createVNode("button", {
62
62
  "class": ['v-expansion-panel-title', {
63
63
  'v-expansion-panel-title--active': expansionPanel.isSelected.value,
@@ -1 +1 @@
1
- {"version":3,"file":"VExpansionPanelTitle.js","names":["VExpansionPanelSymbol","VDefaultsProvider","VIcon","useBackgroundColor","makeComponentProps","makeDimensionProps","useDimension","IconValue","Ripple","computed","inject","genericComponent","propsFactory","useRender","makeVExpansionPanelTitleProps","color","String","expandIcon","type","default","collapseIcon","hideActions","Boolean","focusable","static","ripple","Object","readonly","VExpansionPanelTitle","name","directives","props","setup","_ref","slots","expansionPanel","Error","backgroundColorClasses","backgroundColorStyles","dimensionStyles","slotProps","disabled","value","expanded","isSelected","icon","_withDirectives","_createVNode","class","style","undefined","toggle","actions","_resolveDirective"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelTitle.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\ninterface ExpansionPanelTitleSlot {\n collapseIcon: IconValue\n disabled: boolean | undefined\n expanded: boolean\n expandIcon: IconValue\n readonly: boolean\n}\n\nexport type VExpansionPanelTitleSlots = {\n default: ExpansionPanelTitleSlot\n actions: ExpansionPanelTitleSlot\n}\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n color: String,\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n hideActions: Boolean,\n focusable: Boolean,\n static: Boolean,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: false,\n },\n readonly: Boolean,\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n}, 'VExpansionPanelTitle')\n\nexport const VExpansionPanelTitle = genericComponent<VExpansionPanelTitleSlots>()({\n name: 'VExpansionPanelTitle',\n\n directives: { Ripple },\n\n props: makeVExpansionPanelTitleProps(),\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel')\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n const { dimensionStyles } = useDimension(props)\n\n const slotProps = computed(() => ({\n collapseIcon: props.collapseIcon,\n disabled: expansionPanel.disabled.value,\n expanded: expansionPanel.isSelected.value,\n expandIcon: props.expandIcon,\n readonly: props.readonly,\n }))\n\n const icon = computed(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon)\n\n useRender(() => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n 'v-expansion-panel-title--focusable': props.focusable,\n 'v-expansion-panel-title--static': props.static,\n },\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ !props.readonly ? expansionPanel.toggle : undefined }\n v-ripple={ props.ripple }\n >\n <span class=\"v-expansion-panel-title__overlay\" />\n\n { slots.default?.(slotProps.value) }\n\n { !props.hideActions && (\n <VDefaultsProvider\n defaults={{\n VIcon: {\n icon: icon.value,\n },\n }}\n >\n <span class=\"v-expansion-panel-title__icon\">\n { slots.actions?.(slotProps.value) ?? <VIcon /> }\n </span>\n </VDefaultsProvider>\n )}\n </button>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelTitle = InstanceType<typeof VExpansionPanelTitle>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VExpansionPanelTitle.js","names":["VExpansionPanelSymbol","VDefaultsProvider","VIcon","useBackgroundColor","makeComponentProps","makeDimensionProps","useDimension","IconValue","Ripple","computed","inject","toRef","genericComponent","propsFactory","useRender","makeVExpansionPanelTitleProps","color","String","expandIcon","type","default","collapseIcon","hideActions","Boolean","focusable","static","ripple","Object","readonly","VExpansionPanelTitle","name","directives","props","setup","_ref","slots","expansionPanel","Error","backgroundColorClasses","backgroundColorStyles","dimensionStyles","slotProps","disabled","value","expanded","isSelected","icon","_withDirectives","_createVNode","class","style","undefined","toggle","actions","_resolveDirective"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelTitle.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\ninterface ExpansionPanelTitleSlot {\n collapseIcon: IconValue\n disabled: boolean | undefined\n expanded: boolean\n expandIcon: IconValue\n readonly: boolean\n}\n\nexport type VExpansionPanelTitleSlots = {\n default: ExpansionPanelTitleSlot\n actions: ExpansionPanelTitleSlot\n}\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n color: String,\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n hideActions: Boolean,\n focusable: Boolean,\n static: Boolean,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: false,\n },\n readonly: Boolean,\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n}, 'VExpansionPanelTitle')\n\nexport const VExpansionPanelTitle = genericComponent<VExpansionPanelTitleSlots>()({\n name: 'VExpansionPanelTitle',\n\n directives: { Ripple },\n\n props: makeVExpansionPanelTitleProps(),\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel')\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.color)\n const { dimensionStyles } = useDimension(props)\n\n const slotProps = computed(() => ({\n collapseIcon: props.collapseIcon,\n disabled: expansionPanel.disabled.value,\n expanded: expansionPanel.isSelected.value,\n expandIcon: props.expandIcon,\n readonly: props.readonly,\n }))\n\n const icon = toRef(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon)\n\n useRender(() => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n 'v-expansion-panel-title--focusable': props.focusable,\n 'v-expansion-panel-title--static': props.static,\n },\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ !props.readonly ? expansionPanel.toggle : undefined }\n v-ripple={ props.ripple }\n >\n <span class=\"v-expansion-panel-title__overlay\" />\n\n { slots.default?.(slotProps.value) }\n\n { !props.hideActions && (\n <VDefaultsProvider\n defaults={{\n VIcon: {\n icon: icon.value,\n },\n }}\n >\n <span class=\"v-expansion-panel-title__icon\">\n { slots.actions?.(slotProps.value) ?? <VIcon /> }\n </span>\n </VDefaultsProvider>\n )}\n </button>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelTitle = InstanceType<typeof VExpansionPanelTitle>\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,7 @@ import { provideDefaults } from "../../composables/defaults.js";
10
10
  import { makeGroupProps, useGroup } from "../../composables/group.js";
11
11
  import { makeTagProps } from "../../composables/tag.js";
12
12
  import { makeThemeProps, provideTheme } from "../../composables/theme.js"; // Utilities
13
- import { computed, toRef } from 'vue';
13
+ import { toRef } from 'vue';
14
14
  import { genericComponent, pick, propsFactory, useRender } from "../../util/index.js"; // Types
15
15
  const allowedVariants = ['default', 'accordion', 'inset', 'popout'];
16
16
  export const makeVExpansionPanelsProps = propsFactory({
@@ -43,21 +43,21 @@ export const VExpansionPanels = genericComponent()({
43
43
  const {
44
44
  themeClasses
45
45
  } = provideTheme(props);
46
- const variantClass = computed(() => props.variant && `v-expansion-panels--variant-${props.variant}`);
46
+ const variantClass = toRef(() => props.variant && `v-expansion-panels--variant-${props.variant}`);
47
47
  provideDefaults({
48
48
  VExpansionPanel: {
49
- bgColor: toRef(props, 'bgColor'),
50
- collapseIcon: toRef(props, 'collapseIcon'),
51
- color: toRef(props, 'color'),
52
- eager: toRef(props, 'eager'),
53
- elevation: toRef(props, 'elevation'),
54
- expandIcon: toRef(props, 'expandIcon'),
55
- focusable: toRef(props, 'focusable'),
56
- hideActions: toRef(props, 'hideActions'),
57
- readonly: toRef(props, 'readonly'),
58
- ripple: toRef(props, 'ripple'),
59
- rounded: toRef(props, 'rounded'),
60
- static: toRef(props, 'static')
49
+ bgColor: toRef(() => props.bgColor),
50
+ collapseIcon: toRef(() => props.collapseIcon),
51
+ color: toRef(() => props.color),
52
+ eager: toRef(() => props.eager),
53
+ elevation: toRef(() => props.elevation),
54
+ expandIcon: toRef(() => props.expandIcon),
55
+ focusable: toRef(() => props.focusable),
56
+ hideActions: toRef(() => props.hideActions),
57
+ readonly: toRef(() => props.readonly),
58
+ ripple: toRef(() => props.ripple),
59
+ rounded: toRef(() => props.rounded),
60
+ static: toRef(() => props.static)
61
61
  }
62
62
  });
63
63
  useRender(() => _createVNode(props.tag, {
@@ -1 +1 @@
1
- {"version":3,"file":"VExpansionPanels.js","names":["VExpansionPanelSymbol","makeVExpansionPanelProps","makeComponentProps","provideDefaults","makeGroupProps","useGroup","makeTagProps","makeThemeProps","provideTheme","computed","toRef","genericComponent","pick","propsFactory","useRender","allowedVariants","makeVExpansionPanelsProps","flat","Boolean","variant","type","String","default","validator","v","includes","VExpansionPanels","name","props","emits","val","setup","_ref","slots","next","prev","themeClasses","variantClass","VExpansionPanel","bgColor","collapseIcon","color","eager","elevation","expandIcon","focusable","hideActions","readonly","ripple","rounded","static","_createVNode","tag","tile","value","class","style"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanels.tsx"],"sourcesContent":["// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { makeVExpansionPanelProps } from './VExpansionPanel'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedVariants = ['default', 'accordion', 'inset', 'popout'] as const\n\ntype Variant = typeof allowedVariants[number]\n\nexport type VExpansionPanelSlot = {\n prev: () => void\n next: () => void\n}\n\nexport type VExpansionPanelSlots = {\n default: VExpansionPanelSlot\n}\n\nexport const makeVExpansionPanelsProps = propsFactory({\n flat: Boolean,\n\n ...makeGroupProps(),\n ...pick(makeVExpansionPanelProps(), [\n 'bgColor',\n 'collapseIcon',\n 'color',\n 'eager',\n 'elevation',\n 'expandIcon',\n 'focusable',\n 'hideActions',\n 'readonly',\n 'ripple',\n 'rounded',\n 'tile',\n 'static',\n ]),\n ...makeThemeProps(),\n ...makeComponentProps(),\n ...makeTagProps(),\n\n variant: {\n type: String as PropType<Variant>,\n default: 'default',\n validator: (v: any) => allowedVariants.includes(v),\n },\n}, 'VExpansionPanels')\n\nexport const VExpansionPanels = genericComponent<VExpansionPanelSlots>()({\n name: 'VExpansionPanels',\n\n props: makeVExpansionPanelsProps(),\n\n emits: {\n 'update:modelValue': (val: unknown) => true,\n },\n\n setup (props, { slots }) {\n const { next, prev } = useGroup(props, VExpansionPanelSymbol)\n\n const { themeClasses } = provideTheme(props)\n\n const variantClass = computed(() => props.variant && `v-expansion-panels--variant-${props.variant}`)\n\n provideDefaults({\n VExpansionPanel: {\n bgColor: toRef(props, 'bgColor'),\n collapseIcon: toRef(props, 'collapseIcon'),\n color: toRef(props, 'color'),\n eager: toRef(props, 'eager'),\n elevation: toRef(props, 'elevation'),\n expandIcon: toRef(props, 'expandIcon'),\n focusable: toRef(props, 'focusable'),\n hideActions: toRef(props, 'hideActions'),\n readonly: toRef(props, 'readonly'),\n ripple: toRef(props, 'ripple'),\n rounded: toRef(props, 'rounded'),\n static: toRef(props, 'static'),\n },\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-expansion-panels',\n {\n 'v-expansion-panels--flat': props.flat,\n 'v-expansion-panels--tile': props.tile,\n },\n themeClasses.value,\n variantClass.value,\n props.class,\n ]}\n style={ props.style }\n >\n { slots.default?.({ prev, next }) }\n </props.tag>\n ))\n\n return {\n next,\n prev,\n }\n },\n})\n\nexport type VExpansionPanels = InstanceType<typeof VExpansionPanels>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,qBAAqB;AAAA,SACrBC,wBAAwB,gCAEjC;AAAA,SACSC,kBAAkB;AAAA,SAClBC,eAAe;AAAA,SACfC,cAAc,EAAEC,QAAQ;AAAA,SACxBC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY,sCAErC;AACA,SAASC,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,+BAExD;AAGA,MAAMC,eAAe,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAU;AAa5E,OAAO,MAAMC,yBAAyB,GAAGH,YAAY,CAAC;EACpDI,IAAI,EAAEC,OAAO;EAEb,GAAGd,cAAc,CAAC,CAAC;EACnB,GAAGQ,IAAI,CAACX,wBAAwB,CAAC,CAAC,EAAE,CAClC,SAAS,EACT,cAAc,EACd,OAAO,EACP,OAAO,EACP,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,QAAQ,CACT,CAAC;EACF,GAAGM,cAAc,CAAC,CAAC;EACnB,GAAGL,kBAAkB,CAAC,CAAC;EACvB,GAAGI,YAAY,CAAC,CAAC;EAEjBa,OAAO,EAAE;IACPC,IAAI,EAAEC,MAA2B;IACjCC,OAAO,EAAE,SAAS;IAClBC,SAAS,EAAGC,CAAM,IAAKT,eAAe,CAACU,QAAQ,CAACD,CAAC;EACnD;AACF,CAAC,EAAE,kBAAkB,CAAC;AAEtB,OAAO,MAAME,gBAAgB,GAAGf,gBAAgB,CAAuB,CAAC,CAAC;EACvEgB,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAEZ,yBAAyB,CAAC,CAAC;EAElCa,KAAK,EAAE;IACL,mBAAmB,EAAGC,GAAY,IAAK;EACzC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE,IAAI;MAAEC;IAAK,CAAC,GAAG9B,QAAQ,CAACuB,KAAK,EAAE5B,qBAAqB,CAAC;IAE7D,MAAM;MAAEoC;IAAa,CAAC,GAAG5B,YAAY,CAACoB,KAAK,CAAC;IAE5C,MAAMS,YAAY,GAAG5B,QAAQ,CAAC,MAAMmB,KAAK,CAACT,OAAO,IAAI,+BAA+BS,KAAK,CAACT,OAAO,EAAE,CAAC;IAEpGhB,eAAe,CAAC;MACdmC,eAAe,EAAE;QACfC,OAAO,EAAE7B,KAAK,CAACkB,KAAK,EAAE,SAAS,CAAC;QAChCY,YAAY,EAAE9B,KAAK,CAACkB,KAAK,EAAE,cAAc,CAAC;QAC1Ca,KAAK,EAAE/B,KAAK,CAACkB,KAAK,EAAE,OAAO,CAAC;QAC5Bc,KAAK,EAAEhC,KAAK,CAACkB,KAAK,EAAE,OAAO,CAAC;QAC5Be,SAAS,EAAEjC,KAAK,CAACkB,KAAK,EAAE,WAAW,CAAC;QACpCgB,UAAU,EAAElC,KAAK,CAACkB,KAAK,EAAE,YAAY,CAAC;QACtCiB,SAAS,EAAEnC,KAAK,CAACkB,KAAK,EAAE,WAAW,CAAC;QACpCkB,WAAW,EAAEpC,KAAK,CAACkB,KAAK,EAAE,aAAa,CAAC;QACxCmB,QAAQ,EAAErC,KAAK,CAACkB,KAAK,EAAE,UAAU,CAAC;QAClCoB,MAAM,EAAEtC,KAAK,CAACkB,KAAK,EAAE,QAAQ,CAAC;QAC9BqB,OAAO,EAAEvC,KAAK,CAACkB,KAAK,EAAE,SAAS,CAAC;QAChCsB,MAAM,EAAExC,KAAK,CAACkB,KAAK,EAAE,QAAQ;MAC/B;IACF,CAAC,CAAC;IAEFd,SAAS,CAAC,MAAAqC,YAAA,CAAAvB,KAAA,CAAAwB,GAAA;MAAA,SAEC,CACL,oBAAoB,EACpB;QACE,0BAA0B,EAAExB,KAAK,CAACX,IAAI;QACtC,0BAA0B,EAAEW,KAAK,CAACyB;MACpC,CAAC,EACDjB,YAAY,CAACkB,KAAK,EAClBjB,YAAY,CAACiB,KAAK,EAClB1B,KAAK,CAAC2B,KAAK,CACZ;MAAA,SACO3B,KAAK,CAAC4B;IAAK;MAAAlC,OAAA,EAAAA,CAAA,MAEjBW,KAAK,CAACX,OAAO,GAAG;QAAEa,IAAI;QAAED;MAAK,CAAC,CAAC;IAAA,EAEpC,CAAC;IAEF,OAAO;MACLA,IAAI;MACJC;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VExpansionPanels.js","names":["VExpansionPanelSymbol","makeVExpansionPanelProps","makeComponentProps","provideDefaults","makeGroupProps","useGroup","makeTagProps","makeThemeProps","provideTheme","toRef","genericComponent","pick","propsFactory","useRender","allowedVariants","makeVExpansionPanelsProps","flat","Boolean","variant","type","String","default","validator","v","includes","VExpansionPanels","name","props","emits","val","setup","_ref","slots","next","prev","themeClasses","variantClass","VExpansionPanel","bgColor","collapseIcon","color","eager","elevation","expandIcon","focusable","hideActions","readonly","ripple","rounded","static","_createVNode","tag","tile","value","class","style"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanels.tsx"],"sourcesContent":["// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { makeVExpansionPanelProps } from './VExpansionPanel'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedVariants = ['default', 'accordion', 'inset', 'popout'] as const\n\ntype Variant = typeof allowedVariants[number]\n\nexport type VExpansionPanelSlot = {\n prev: () => void\n next: () => void\n}\n\nexport type VExpansionPanelSlots = {\n default: VExpansionPanelSlot\n}\n\nexport const makeVExpansionPanelsProps = propsFactory({\n flat: Boolean,\n\n ...makeGroupProps(),\n ...pick(makeVExpansionPanelProps(), [\n 'bgColor',\n 'collapseIcon',\n 'color',\n 'eager',\n 'elevation',\n 'expandIcon',\n 'focusable',\n 'hideActions',\n 'readonly',\n 'ripple',\n 'rounded',\n 'tile',\n 'static',\n ]),\n ...makeThemeProps(),\n ...makeComponentProps(),\n ...makeTagProps(),\n\n variant: {\n type: String as PropType<Variant>,\n default: 'default',\n validator: (v: any) => allowedVariants.includes(v),\n },\n}, 'VExpansionPanels')\n\nexport const VExpansionPanels = genericComponent<VExpansionPanelSlots>()({\n name: 'VExpansionPanels',\n\n props: makeVExpansionPanelsProps(),\n\n emits: {\n 'update:modelValue': (val: unknown) => true,\n },\n\n setup (props, { slots }) {\n const { next, prev } = useGroup(props, VExpansionPanelSymbol)\n\n const { themeClasses } = provideTheme(props)\n\n const variantClass = toRef(() => props.variant && `v-expansion-panels--variant-${props.variant}`)\n\n provideDefaults({\n VExpansionPanel: {\n bgColor: toRef(() => props.bgColor),\n collapseIcon: toRef(() => props.collapseIcon),\n color: toRef(() => props.color),\n eager: toRef(() => props.eager),\n elevation: toRef(() => props.elevation),\n expandIcon: toRef(() => props.expandIcon),\n focusable: toRef(() => props.focusable),\n hideActions: toRef(() => props.hideActions),\n readonly: toRef(() => props.readonly),\n ripple: toRef(() => props.ripple),\n rounded: toRef(() => props.rounded),\n static: toRef(() => props.static),\n },\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-expansion-panels',\n {\n 'v-expansion-panels--flat': props.flat,\n 'v-expansion-panels--tile': props.tile,\n },\n themeClasses.value,\n variantClass.value,\n props.class,\n ]}\n style={ props.style }\n >\n { slots.default?.({ prev, next }) }\n </props.tag>\n ))\n\n return {\n next,\n prev,\n }\n },\n})\n\nexport type VExpansionPanels = InstanceType<typeof VExpansionPanels>\n"],"mappings":"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","ignoreList":[]}
@@ -50,7 +50,7 @@ export const VFab = genericComponent()({
50
50
  if (!entries.length) return;
51
51
  height.value = entries[0].target.clientHeight;
52
52
  });
53
- const hasPosition = computed(() => props.app || props.absolute);
53
+ const hasPosition = toRef(() => props.app || props.absolute);
54
54
  const position = computed(() => {
55
55
  if (!hasPosition.value) return false;
56
56
  return props.location?.split(' ').shift() ?? 'bottom';
@@ -67,7 +67,7 @@ export const VFab = genericComponent()({
67
67
  layoutSize: computed(() => props.layout ? height.value + 24 : 0),
68
68
  elementSize: computed(() => height.value + 24),
69
69
  active: computed(() => props.app && model.value),
70
- absolute: toRef(props, 'absolute')
70
+ absolute: toRef(() => props.absolute)
71
71
  });
72
72
  watchEffect(() => {
73
73
  layoutItemStyles.value = layout.layoutItemStyles.value;
@@ -1 +1 @@
1
- {"version":3,"file":"VFab.js","names":["makeVBtnProps","VBtn","makeLayoutItemProps","useLayoutItem","makeLocationProps","useProxiedModel","useResizeObserver","useToggleScope","makeTransitionProps","MaybeTransition","computed","ref","shallowRef","toRef","watchEffect","genericComponent","omit","propsFactory","useRender","makeVFabProps","app","Boolean","appear","extended","layout","offset","modelValue","type","default","active","transition","VFab","name","props","emits","value","setup","_ref","slots","model","height","layoutItemStyles","resizeRef","entries","length","target","clientHeight","hasPosition","absolute","position","location","split","shift","orientation","id","order","parseInt","layoutSize","elementSize","vFabRef","btnProps","filterProps","_createVNode","class","style","_withDirectives","_mergeProps","undefined","_vShow"],"sources":["../../../src/components/VFab/VFab.tsx"],"sourcesContent":["// Styles\nimport './VFab.sass'\n\n// Components\nimport { makeVBtnProps, VBtn } from '@/components/VBtn/VBtn'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeLocationProps } from '@/composables/location'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef } from 'vue'\nimport type { Position } from '@/composables/layout'\n\nexport const makeVFabProps = propsFactory({\n app: Boolean,\n appear: Boolean,\n extended: Boolean,\n layout: Boolean,\n offset: Boolean,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n ...omit(makeVBtnProps({ active: true }), ['location']),\n ...makeLayoutItemProps(),\n ...makeLocationProps(),\n ...makeTransitionProps({ transition: 'fab-transition' }),\n}, 'VFab')\n\nexport const VFab = genericComponent()({\n name: 'VFab',\n\n props: makeVFabProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const height = shallowRef(56)\n const layoutItemStyles = ref()\n\n const { resizeRef } = useResizeObserver(entries => {\n if (!entries.length) return\n height.value = entries[0].target.clientHeight\n })\n\n const hasPosition = computed(() => props.app || props.absolute)\n\n const position = computed(() => {\n if (!hasPosition.value) return false\n\n return props.location?.split(' ').shift() ?? 'bottom'\n }) as ComputedRef<Position>\n\n const orientation = computed(() => {\n if (!hasPosition.value) return false\n\n return props.location?.split(' ')[1] ?? 'end'\n })\n\n useToggleScope(() => props.app, () => {\n const layout = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position,\n layoutSize: computed(() => props.layout ? height.value + 24 : 0),\n elementSize: computed(() => height.value + 24),\n active: computed(() => props.app && model.value),\n absolute: toRef(props, 'absolute'),\n })\n\n watchEffect(() => {\n layoutItemStyles.value = layout.layoutItemStyles.value\n })\n })\n\n const vFabRef = ref()\n\n useRender(() => {\n const btnProps = VBtn.filterProps(props)\n\n return (\n <div\n ref={ vFabRef }\n class={[\n 'v-fab',\n {\n 'v-fab--absolute': props.absolute,\n 'v-fab--app': !!props.app,\n 'v-fab--extended': props.extended,\n 'v-fab--offset': props.offset,\n [`v-fab--${position.value}`]: hasPosition.value,\n [`v-fab--${orientation.value}`]: hasPosition.value,\n },\n props.class,\n ]}\n style={[\n props.app\n ? { ...layoutItemStyles.value }\n : {\n height: props.absolute\n ? '100%'\n : 'inherit',\n },\n props.style,\n ]}\n >\n <div class=\"v-fab__container\">\n <MaybeTransition\n appear={ props.appear }\n transition={ props.transition }\n >\n <VBtn\n v-show={ props.active }\n ref={ resizeRef }\n { ...btnProps }\n active={ undefined }\n location={ undefined }\n v-slots={ slots }\n />\n </MaybeTransition>\n </div>\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VFab = InstanceType<typeof VFab>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VFab.js","names":["makeVBtnProps","VBtn","makeLayoutItemProps","useLayoutItem","makeLocationProps","useProxiedModel","useResizeObserver","useToggleScope","makeTransitionProps","MaybeTransition","computed","ref","shallowRef","toRef","watchEffect","genericComponent","omit","propsFactory","useRender","makeVFabProps","app","Boolean","appear","extended","layout","offset","modelValue","type","default","active","transition","VFab","name","props","emits","value","setup","_ref","slots","model","height","layoutItemStyles","resizeRef","entries","length","target","clientHeight","hasPosition","absolute","position","location","split","shift","orientation","id","order","parseInt","layoutSize","elementSize","vFabRef","btnProps","filterProps","_createVNode","class","style","_withDirectives","_mergeProps","undefined","_vShow"],"sources":["../../../src/components/VFab/VFab.tsx"],"sourcesContent":["// Styles\nimport './VFab.sass'\n\n// Components\nimport { makeVBtnProps, VBtn } from '@/components/VBtn/VBtn'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeLocationProps } from '@/composables/location'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef } from 'vue'\nimport type { Position } from '@/composables/layout'\n\nexport const makeVFabProps = propsFactory({\n app: Boolean,\n appear: Boolean,\n extended: Boolean,\n layout: Boolean,\n offset: Boolean,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n ...omit(makeVBtnProps({ active: true }), ['location']),\n ...makeLayoutItemProps(),\n ...makeLocationProps(),\n ...makeTransitionProps({ transition: 'fab-transition' }),\n}, 'VFab')\n\nexport const VFab = genericComponent()({\n name: 'VFab',\n\n props: makeVFabProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const height = shallowRef(56)\n const layoutItemStyles = ref()\n\n const { resizeRef } = useResizeObserver(entries => {\n if (!entries.length) return\n height.value = entries[0].target.clientHeight\n })\n\n const hasPosition = toRef(() => props.app || props.absolute)\n\n const position = computed(() => {\n if (!hasPosition.value) return false\n\n return props.location?.split(' ').shift() ?? 'bottom'\n }) as ComputedRef<Position>\n\n const orientation = computed(() => {\n if (!hasPosition.value) return false\n\n return props.location?.split(' ')[1] ?? 'end'\n })\n\n useToggleScope(() => props.app, () => {\n const layout = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position,\n layoutSize: computed(() => props.layout ? height.value + 24 : 0),\n elementSize: computed(() => height.value + 24),\n active: computed(() => props.app && model.value),\n absolute: toRef(() => props.absolute),\n })\n\n watchEffect(() => {\n layoutItemStyles.value = layout.layoutItemStyles.value\n })\n })\n\n const vFabRef = ref()\n\n useRender(() => {\n const btnProps = VBtn.filterProps(props)\n\n return (\n <div\n ref={ vFabRef }\n class={[\n 'v-fab',\n {\n 'v-fab--absolute': props.absolute,\n 'v-fab--app': !!props.app,\n 'v-fab--extended': props.extended,\n 'v-fab--offset': props.offset,\n [`v-fab--${position.value}`]: hasPosition.value,\n [`v-fab--${orientation.value}`]: hasPosition.value,\n },\n props.class,\n ]}\n style={[\n props.app\n ? { ...layoutItemStyles.value }\n : {\n height: props.absolute\n ? '100%'\n : 'inherit',\n },\n props.style,\n ]}\n >\n <div class=\"v-fab__container\">\n <MaybeTransition\n appear={ props.appear }\n transition={ props.transition }\n >\n <VBtn\n v-show={ props.active }\n ref={ resizeRef }\n { ...btnProps }\n active={ undefined }\n location={ undefined }\n v-slots={ slots }\n />\n </MaybeTransition>\n </div>\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VFab = InstanceType<typeof VFab>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,aAAa,EAAEC,IAAI,2BAE5B;AAAA,SACSC,mBAAmB,EAAEC,aAAa;AAAA,SAClCC,iBAAiB;AAAA,SACjBC,eAAe;AAAA,SACfC,iBAAiB;AAAA,SACjBC,cAAc;AAAA,SACdC,mBAAmB,EAAEC,eAAe,2CAE7C;AACA,SAASC,QAAQ,EAAEC,GAAG,EAAEC,UAAU,EAAEC,KAAK,EAAEC,WAAW,QAAQ,KAAK;AAAA,SAC1DC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,+BAExD;AAIA,OAAO,MAAMC,aAAa,GAAGF,YAAY,CAAC;EACxCG,GAAG,EAAEC,OAAO;EACZC,MAAM,EAAED,OAAO;EACfE,QAAQ,EAAEF,OAAO;EACjBG,MAAM,EAAEH,OAAO;EACfI,MAAM,EAAEJ,OAAO;EACfK,UAAU,EAAE;IACVC,IAAI,EAAEN,OAAO;IACbO,OAAO,EAAE;EACX,CAAC;EAED,GAAGZ,IAAI,CAAChB,aAAa,CAAC;IAAE6B,MAAM,EAAE;EAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;EACtD,GAAG3B,mBAAmB,CAAC,CAAC;EACxB,GAAGE,iBAAiB,CAAC,CAAC;EACtB,GAAGI,mBAAmB,CAAC;IAAEsB,UAAU,EAAE;EAAiB,CAAC;AACzD,CAAC,EAAE,MAAM,CAAC;AAEV,OAAO,MAAMC,IAAI,GAAGhB,gBAAgB,CAAC,CAAC,CAAC;EACrCiB,IAAI,EAAE,MAAM;EAEZC,KAAK,EAAEd,aAAa,CAAC,CAAC;EAEtBe,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAc,IAAK;EAC3C,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,KAAK,GAAGlC,eAAe,CAAC4B,KAAK,EAAE,YAAY,CAAC;IAClD,MAAMO,MAAM,GAAG5B,UAAU,CAAC,EAAE,CAAC;IAC7B,MAAM6B,gBAAgB,GAAG9B,GAAG,CAAC,CAAC;IAE9B,MAAM;MAAE+B;IAAU,CAAC,GAAGpC,iBAAiB,CAACqC,OAAO,IAAI;MACjD,IAAI,CAACA,OAAO,CAACC,MAAM,EAAE;MACrBJ,MAAM,CAACL,KAAK,GAAGQ,OAAO,CAAC,CAAC,CAAC,CAACE,MAAM,CAACC,YAAY;IAC/C,CAAC,CAAC;IAEF,MAAMC,WAAW,GAAGlC,KAAK,CAAC,MAAMoB,KAAK,CAACb,GAAG,IAAIa,KAAK,CAACe,QAAQ,CAAC;IAE5D,MAAMC,QAAQ,GAAGvC,QAAQ,CAAC,MAAM;MAC9B,IAAI,CAACqC,WAAW,CAACZ,KAAK,EAAE,OAAO,KAAK;MAEpC,OAAOF,KAAK,CAACiB,QAAQ,EAAEC,KAAK,CAAC,GAAG,CAAC,CAACC,KAAK,CAAC,CAAC,IAAI,QAAQ;IACvD,CAAC,CAA0B;IAE3B,MAAMC,WAAW,GAAG3C,QAAQ,CAAC,MAAM;MACjC,IAAI,CAACqC,WAAW,CAACZ,KAAK,EAAE,OAAO,KAAK;MAEpC,OAAOF,KAAK,CAACiB,QAAQ,EAAEC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK;IAC/C,CAAC,CAAC;IAEF5C,cAAc,CAAC,MAAM0B,KAAK,CAACb,GAAG,EAAE,MAAM;MACpC,MAAMI,MAAM,GAAGrB,aAAa,CAAC;QAC3BmD,EAAE,EAAErB,KAAK,CAACD,IAAI;QACduB,KAAK,EAAE7C,QAAQ,CAAC,MAAM8C,QAAQ,CAACvB,KAAK,CAACsB,KAAK,EAAE,EAAE,CAAC,CAAC;QAChDN,QAAQ;QACRQ,UAAU,EAAE/C,QAAQ,CAAC,MAAMuB,KAAK,CAACT,MAAM,GAAGgB,MAAM,CAACL,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC;QAChEuB,WAAW,EAAEhD,QAAQ,CAAC,MAAM8B,MAAM,CAACL,KAAK,GAAG,EAAE,CAAC;QAC9CN,MAAM,EAAEnB,QAAQ,CAAC,MAAMuB,KAAK,CAACb,GAAG,IAAImB,KAAK,CAACJ,KAAK,CAAC;QAChDa,QAAQ,EAAEnC,KAAK,CAAC,MAAMoB,KAAK,CAACe,QAAQ;MACtC,CAAC,CAAC;MAEFlC,WAAW,CAAC,MAAM;QAChB2B,gBAAgB,CAACN,KAAK,GAAGX,MAAM,CAACiB,gBAAgB,CAACN,KAAK;MACxD,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAMwB,OAAO,GAAGhD,GAAG,CAAC,CAAC;IAErBO,SAAS,CAAC,MAAM;MACd,MAAM0C,QAAQ,GAAG3D,IAAI,CAAC4D,WAAW,CAAC5B,KAAK,CAAC;MAExC,OAAA6B,YAAA;QAAA,OAEUH,OAAO;QAAA,SACN,CACL,OAAO,EACP;UACE,iBAAiB,EAAE1B,KAAK,CAACe,QAAQ;UACjC,YAAY,EAAE,CAAC,CAACf,KAAK,CAACb,GAAG;UACzB,iBAAiB,EAAEa,KAAK,CAACV,QAAQ;UACjC,eAAe,EAAEU,KAAK,CAACR,MAAM;UAC7B,CAAC,UAAUwB,QAAQ,CAACd,KAAK,EAAE,GAAGY,WAAW,CAACZ,KAAK;UAC/C,CAAC,UAAUkB,WAAW,CAAClB,KAAK,EAAE,GAAGY,WAAW,CAACZ;QAC/C,CAAC,EACDF,KAAK,CAAC8B,KAAK,CACZ;QAAA,SACM,CACL9B,KAAK,CAACb,GAAG,GACL;UAAE,GAAGqB,gBAAgB,CAACN;QAAM,CAAC,GAC7B;UACAK,MAAM,EAAEP,KAAK,CAACe,QAAQ,GAClB,MAAM,GACN;QACN,CAAC,EACHf,KAAK,CAAC+B,KAAK;MACZ,IAAAF,YAAA;QAAA;MAAA,IAAAA,YAAA,CAAArD,eAAA;QAAA,UAIYwB,KAAK,CAACX,MAAM;QAAA,cACRW,KAAK,CAACH;MAAU;QAAAF,OAAA,EAAAA,CAAA,MAAAqC,eAAA,CAAAH,YAAA,CAAA7D,IAAA,EAAAiE,WAAA;UAAA,OAIrBxB;QAAS,GACVkB,QAAQ;UAAA,UACJO,SAAS;UAAA,YACPA;QAAS,IACV7B,KAAK,KAAA8B,MAAA,EALNnC,KAAK,CAACJ,MAAM;MAAA;IAWjC,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -99,12 +99,12 @@ export const VField = genericComponent()({
99
99
  const {
100
100
  rtlClasses
101
101
  } = useRtl();
102
- const isActive = computed(() => props.dirty || props.active);
103
- const hasLabel = computed(() => !!(props.label || slots.label));
104
- const hasFloatingLabel = computed(() => !props.singleLine && hasLabel.value);
102
+ const isActive = toRef(() => props.dirty || props.active);
103
+ const hasLabel = toRef(() => !!(props.label || slots.label));
104
+ const hasFloatingLabel = toRef(() => !props.singleLine && hasLabel.value);
105
105
  const uid = useId();
106
106
  const id = computed(() => props.id || `input-${uid}`);
107
- const messagesId = computed(() => `${id.value}-messages`);
107
+ const messagesId = toRef(() => `${id.value}-messages`);
108
108
  const labelRef = ref();
109
109
  const floatingLabelRef = ref();
110
110
  const controlRef = ref();
@@ -119,7 +119,7 @@ export const VField = genericComponent()({
119
119
  const {
120
120
  backgroundColorClasses,
121
121
  backgroundColorStyles
122
- } = useBackgroundColor(toRef(props, 'bgColor'));
122
+ } = useBackgroundColor(() => props.bgColor);
123
123
  const {
124
124
  textColorClasses,
125
125
  textColorStyles
@@ -1 +1 @@
1
- {"version":3,"file":"VField.js","names":["VFieldLabel","VExpandXTransition","VDefaultsProvider","useInputIcon","useBackgroundColor","useTextColor","makeComponentProps","makeFocusProps","useFocus","IconValue","LoaderSlot","makeLoaderProps","useLoader","useRtl","makeRoundedProps","useRounded","makeThemeProps","provideTheme","computed","ref","toRef","useId","watch","animate","convertToUnit","EventProp","genericComponent","nullifyTransforms","propsFactory","standardEasing","useRender","allowedVariants","makeVFieldProps","appendInnerIcon","bgColor","String","clearable","Boolean","clearIcon","type","default","active","centerAffix","undefined","color","baseColor","dirty","disabled","glow","error","flat","iconColor","label","persistentClear","prependInnerIcon","reverse","singleLine","variant","validator","v","includes","VField","name","inheritAttrs","props","id","emits","focused","value","setup","_ref","attrs","emit","slots","themeClasses","loaderClasses","focusClasses","isFocused","focus","blur","InputIcon","roundedClasses","rtlClasses","isActive","hasLabel","hasFloatingLabel","uid","messagesId","labelRef","floatingLabelRef","controlRef","isPlainOrUnderlined","backgroundColorClasses","backgroundColorStyles","textColorClasses","textColorStyles","val","el","$el","targetEl","requestAnimationFrame","rect","targetRect","getBoundingClientRect","x","y","height","targetWidth","width","Math","abs","maxWidth","style","getComputedStyle","targetStyle","duration","parseFloat","transitionDuration","scale","getPropertyValue","visibility","transform","easing","direction","finished","then","removeProperty","flush","slotProps","onClick","e","target","document","activeElement","preventDefault","isOutlined","hasPrepend","hasClear","clear","hasAppend","for","_createVNode","_mergeProps","class","loading","loader","_withDirectives","stopPropagation","VIcon","icon","onFocus","onBlur","_vShow","_Fragment","fieldIconColor"],"sources":["../../../src/components/VField/VField.tsx"],"sourcesContent":["// Styles\nimport './VField.sass'\n\n// Components\nimport { VFieldLabel } from './VFieldLabel'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, ref, toRef, useId, watch } from 'vue'\nimport {\n animate,\n convertToUnit,\n EventProp,\n genericComponent,\n nullifyTransforms,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { GenericProps } from '@/util'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'solo', 'solo-inverted', 'solo-filled', 'plain'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport interface DefaultInputSlot {\n isActive: Ref<boolean>\n isFocused: Ref<boolean>\n controlRef: Ref<HTMLElement | undefined>\n focus: () => void\n blur: () => void\n}\n\nexport interface VFieldSlot extends DefaultInputSlot {\n props: Record<string, unknown>\n}\n\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: IconValue,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: IconValue,\n default: '$clear',\n },\n active: Boolean,\n centerAffix: {\n type: Boolean,\n default: undefined,\n },\n color: String,\n baseColor: String,\n dirty: Boolean,\n disabled: {\n type: Boolean,\n default: null,\n },\n glow: Boolean,\n error: Boolean,\n flat: Boolean,\n iconColor: [Boolean, String],\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: IconValue,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String as PropType<Variant>,\n default: 'filled',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n 'onClick:clear': EventProp<[MouseEvent]>(),\n 'onClick:appendInner': EventProp<[MouseEvent]>(),\n 'onClick:prependInner': EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeLoaderProps(),\n ...makeRoundedProps(),\n ...makeThemeProps(),\n}, 'VField')\n\nexport type VFieldSlots = {\n clear: DefaultInputSlot & { props: Record<string, any> }\n 'prepend-inner': DefaultInputSlot\n 'append-inner': DefaultInputSlot\n label: DefaultInputSlot & { label: string | undefined, props: Record<string, any> }\n loader: LoaderSlotProps\n default: VFieldSlot\n}\n\nexport const VField = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VFieldSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n\n ...makeFocusProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { loaderClasses } = useLoader(props)\n const { focusClasses, isFocused, focus, blur } = useFocus(props)\n const { InputIcon } = useInputIcon(props)\n const { roundedClasses } = useRounded(props)\n const { rtlClasses } = useRtl()\n\n const isActive = computed(() => props.dirty || props.active)\n const hasLabel = computed(() => !!(props.label || slots.label))\n const hasFloatingLabel = computed(() => !props.singleLine && hasLabel.value)\n\n const uid = useId()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = computed(() => `${id.value}-messages`)\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n const color = computed(() => {\n return props.error || props.disabled ? undefined\n : isActive.value && isFocused.value ? props.color\n : props.baseColor\n })\n const iconColor = computed(() => {\n if (!props.iconColor || (props.glow && !isFocused.value)) return undefined\n\n return props.iconColor === true ? color.value : props.iconColor\n })\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { textColorClasses, textColorStyles } = useTextColor(color)\n\n watch(isActive, val => {\n if (hasFloatingLabel.value) {\n const el: HTMLElement = labelRef.value!.$el\n const targetEl: HTMLElement = floatingLabelRef.value!.$el\n\n requestAnimationFrame(() => {\n const rect = nullifyTransforms(el)\n const targetRect = targetEl.getBoundingClientRect()\n\n const x = targetRect.x - rect.x\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2)\n\n const targetWidth = targetRect.width / 0.75\n const width = Math.abs(targetWidth - rect.width) > 1\n ? { maxWidth: convertToUnit(targetWidth) }\n : undefined\n\n const style = getComputedStyle(el)\n const targetStyle = getComputedStyle(targetEl)\n const duration = parseFloat(style.transitionDuration) * 1000 || 150\n const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'))\n const color = targetStyle.getPropertyValue('color')\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n animate(el, {\n transform: `translate(${x}px, ${y}px) scale(${scale})`,\n color,\n ...width,\n }, {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse',\n }).finished.then(() => {\n el.style.removeProperty('visibility')\n targetEl.style.removeProperty('visibility')\n })\n })\n }\n }, { flush: 'post' })\n\n const slotProps = computed<DefaultInputSlot>(() => ({\n isActive,\n isFocused,\n controlRef,\n blur,\n focus,\n }))\n\n function onClick (e: MouseEvent) {\n if (e.target !== document.activeElement) {\n e.preventDefault()\n }\n }\n\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = !!(slots['prepend-inner'] || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear) && !props.disabled\n const hasAppend = !!(slots['append-inner'] || props.appendInnerIcon || hasClear)\n const label = () => (\n slots.label\n ? slots.label({\n ...slotProps.value,\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n )\n\n return (\n <div\n class={[\n 'v-field',\n {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--center-affix': props.centerAffix ?? !isPlainOrUnderlined.value,\n 'v-field--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\n 'v-field--glow': props.glow,\n 'v-field--flat': props.flat,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n 'v-field--no-label': !label(),\n [`v-field--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n focusClasses.value,\n loaderClasses.value,\n roundedClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n onClick={ onClick }\n { ...attrs }\n >\n <div class=\"v-field__overlay\" />\n\n <LoaderSlot\n name=\"v-field\"\n active={ !!props.loading }\n color={ props.error ? 'error' : (typeof props.loading === 'string' ? props.loading : props.color) }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-field__prepend-inner\">\n { props.prependInnerIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prependInner\"\n color={ iconColor.value }\n />\n )}\n\n { slots['prepend-inner']?.(slotProps.value) }\n </div>\n )}\n\n <div class=\"v-field__field\" data-no-activator=\"\">\n {['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasFloatingLabel.value && (\n <VFieldLabel\n key=\"floating-label\"\n ref={ floatingLabelRef }\n class={[textColorClasses.value]}\n floating\n for={ id.value }\n style={ textColorStyles.value }\n >\n { label() }\n </VFieldLabel>\n )}\n\n { hasLabel.value && (\n <VFieldLabel key=\"label\" ref={ labelRef } for={ id.value }>\n { label() }\n </VFieldLabel>\n )}\n\n { slots.default?.({\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n 'aria-describedby': messagesId.value,\n },\n focus,\n blur,\n } as VFieldSlot) ?? (\n <div\n id={ id.value }\n class=\"v-field__input\"\n aria-describedby={ messagesId.value }\n />\n )}\n </div>\n\n { hasClear && (\n <VExpandXTransition key=\"clear\">\n <div\n class=\"v-field__clearable\"\n v-show={ props.dirty }\n onMousedown={ (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n <VDefaultsProvider\n defaults={{\n VIcon: {\n icon: props.clearIcon,\n },\n }}\n >\n { slots.clear\n ? slots.clear({\n ...slotProps.value,\n props: {\n onFocus: focus,\n onBlur: blur,\n onClick: props['onClick:clear'],\n },\n })\n : (\n <InputIcon\n name=\"clear\"\n onFocus={ focus }\n onBlur={ blur }\n />\n )}\n </VDefaultsProvider>\n </div>\n </VExpandXTransition>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-field__append-inner\">\n { slots['append-inner']?.(slotProps.value) }\n\n { props.appendInnerIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"appendInner\"\n color={ iconColor.value }\n />\n )}\n </div>\n )}\n\n <div\n class={[\n 'v-field__outline',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasFloatingLabel.value && (\n <div class=\"v-field__outline__notch\">\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label() }\n </VFieldLabel>\n </div>\n )}\n\n <div class=\"v-field__outline__end\" />\n </>\n )}\n\n { isPlainOrUnderlined.value && hasFloatingLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label() }\n </VFieldLabel>\n )}\n </div>\n </div>\n )\n })\n\n return {\n controlRef,\n fieldIconColor: iconColor,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VField.js","names":["VFieldLabel","VExpandXTransition","VDefaultsProvider","useInputIcon","useBackgroundColor","useTextColor","makeComponentProps","makeFocusProps","useFocus","IconValue","LoaderSlot","makeLoaderProps","useLoader","useRtl","makeRoundedProps","useRounded","makeThemeProps","provideTheme","computed","ref","toRef","useId","watch","animate","convertToUnit","EventProp","genericComponent","nullifyTransforms","propsFactory","standardEasing","useRender","allowedVariants","makeVFieldProps","appendInnerIcon","bgColor","String","clearable","Boolean","clearIcon","type","default","active","centerAffix","undefined","color","baseColor","dirty","disabled","glow","error","flat","iconColor","label","persistentClear","prependInnerIcon","reverse","singleLine","variant","validator","v","includes","VField","name","inheritAttrs","props","id","emits","focused","value","setup","_ref","attrs","emit","slots","themeClasses","loaderClasses","focusClasses","isFocused","focus","blur","InputIcon","roundedClasses","rtlClasses","isActive","hasLabel","hasFloatingLabel","uid","messagesId","labelRef","floatingLabelRef","controlRef","isPlainOrUnderlined","backgroundColorClasses","backgroundColorStyles","textColorClasses","textColorStyles","val","el","$el","targetEl","requestAnimationFrame","rect","targetRect","getBoundingClientRect","x","y","height","targetWidth","width","Math","abs","maxWidth","style","getComputedStyle","targetStyle","duration","parseFloat","transitionDuration","scale","getPropertyValue","visibility","transform","easing","direction","finished","then","removeProperty","flush","slotProps","onClick","e","target","document","activeElement","preventDefault","isOutlined","hasPrepend","hasClear","clear","hasAppend","for","_createVNode","_mergeProps","class","loading","loader","_withDirectives","stopPropagation","VIcon","icon","onFocus","onBlur","_vShow","_Fragment","fieldIconColor"],"sources":["../../../src/components/VField/VField.tsx"],"sourcesContent":["// Styles\nimport './VField.sass'\n\n// Components\nimport { VFieldLabel } from './VFieldLabel'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, ref, toRef, useId, watch } from 'vue'\nimport {\n animate,\n convertToUnit,\n EventProp,\n genericComponent,\n nullifyTransforms,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { GenericProps } from '@/util'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'solo', 'solo-inverted', 'solo-filled', 'plain'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport interface DefaultInputSlot {\n isActive: Ref<boolean>\n isFocused: Ref<boolean>\n controlRef: Ref<HTMLElement | undefined>\n focus: () => void\n blur: () => void\n}\n\nexport interface VFieldSlot extends DefaultInputSlot {\n props: Record<string, unknown>\n}\n\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: IconValue,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: IconValue,\n default: '$clear',\n },\n active: Boolean,\n centerAffix: {\n type: Boolean,\n default: undefined,\n },\n color: String,\n baseColor: String,\n dirty: Boolean,\n disabled: {\n type: Boolean,\n default: null,\n },\n glow: Boolean,\n error: Boolean,\n flat: Boolean,\n iconColor: [Boolean, String],\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: IconValue,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String as PropType<Variant>,\n default: 'filled',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n 'onClick:clear': EventProp<[MouseEvent]>(),\n 'onClick:appendInner': EventProp<[MouseEvent]>(),\n 'onClick:prependInner': EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeLoaderProps(),\n ...makeRoundedProps(),\n ...makeThemeProps(),\n}, 'VField')\n\nexport type VFieldSlots = {\n clear: DefaultInputSlot & { props: Record<string, any> }\n 'prepend-inner': DefaultInputSlot\n 'append-inner': DefaultInputSlot\n label: DefaultInputSlot & { label: string | undefined, props: Record<string, any> }\n loader: LoaderSlotProps\n default: VFieldSlot\n}\n\nexport const VField = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VFieldSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n\n ...makeFocusProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { loaderClasses } = useLoader(props)\n const { focusClasses, isFocused, focus, blur } = useFocus(props)\n const { InputIcon } = useInputIcon(props)\n const { roundedClasses } = useRounded(props)\n const { rtlClasses } = useRtl()\n\n const isActive = toRef(() => props.dirty || props.active)\n const hasLabel = toRef(() => !!(props.label || slots.label))\n const hasFloatingLabel = toRef(() => !props.singleLine && hasLabel.value)\n\n const uid = useId()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = toRef(() => `${id.value}-messages`)\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n const color = computed(() => {\n return props.error || props.disabled ? undefined\n : isActive.value && isFocused.value ? props.color\n : props.baseColor\n })\n const iconColor = computed(() => {\n if (!props.iconColor || (props.glow && !isFocused.value)) return undefined\n\n return props.iconColor === true ? color.value : props.iconColor\n })\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.bgColor)\n const { textColorClasses, textColorStyles } = useTextColor(color)\n\n watch(isActive, val => {\n if (hasFloatingLabel.value) {\n const el: HTMLElement = labelRef.value!.$el\n const targetEl: HTMLElement = floatingLabelRef.value!.$el\n\n requestAnimationFrame(() => {\n const rect = nullifyTransforms(el)\n const targetRect = targetEl.getBoundingClientRect()\n\n const x = targetRect.x - rect.x\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2)\n\n const targetWidth = targetRect.width / 0.75\n const width = Math.abs(targetWidth - rect.width) > 1\n ? { maxWidth: convertToUnit(targetWidth) }\n : undefined\n\n const style = getComputedStyle(el)\n const targetStyle = getComputedStyle(targetEl)\n const duration = parseFloat(style.transitionDuration) * 1000 || 150\n const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'))\n const color = targetStyle.getPropertyValue('color')\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n animate(el, {\n transform: `translate(${x}px, ${y}px) scale(${scale})`,\n color,\n ...width,\n }, {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse',\n }).finished.then(() => {\n el.style.removeProperty('visibility')\n targetEl.style.removeProperty('visibility')\n })\n })\n }\n }, { flush: 'post' })\n\n const slotProps = computed<DefaultInputSlot>(() => ({\n isActive,\n isFocused,\n controlRef,\n blur,\n focus,\n }))\n\n function onClick (e: MouseEvent) {\n if (e.target !== document.activeElement) {\n e.preventDefault()\n }\n }\n\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = !!(slots['prepend-inner'] || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear) && !props.disabled\n const hasAppend = !!(slots['append-inner'] || props.appendInnerIcon || hasClear)\n const label = () => (\n slots.label\n ? slots.label({\n ...slotProps.value,\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n )\n\n return (\n <div\n class={[\n 'v-field',\n {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--center-affix': props.centerAffix ?? !isPlainOrUnderlined.value,\n 'v-field--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\n 'v-field--glow': props.glow,\n 'v-field--flat': props.flat,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n 'v-field--no-label': !label(),\n [`v-field--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n focusClasses.value,\n loaderClasses.value,\n roundedClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n onClick={ onClick }\n { ...attrs }\n >\n <div class=\"v-field__overlay\" />\n\n <LoaderSlot\n name=\"v-field\"\n active={ !!props.loading }\n color={ props.error ? 'error' : (typeof props.loading === 'string' ? props.loading : props.color) }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-field__prepend-inner\">\n { props.prependInnerIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prependInner\"\n color={ iconColor.value }\n />\n )}\n\n { slots['prepend-inner']?.(slotProps.value) }\n </div>\n )}\n\n <div class=\"v-field__field\" data-no-activator=\"\">\n {['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasFloatingLabel.value && (\n <VFieldLabel\n key=\"floating-label\"\n ref={ floatingLabelRef }\n class={[textColorClasses.value]}\n floating\n for={ id.value }\n style={ textColorStyles.value }\n >\n { label() }\n </VFieldLabel>\n )}\n\n { hasLabel.value && (\n <VFieldLabel key=\"label\" ref={ labelRef } for={ id.value }>\n { label() }\n </VFieldLabel>\n )}\n\n { slots.default?.({\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n 'aria-describedby': messagesId.value,\n },\n focus,\n blur,\n } as VFieldSlot) ?? (\n <div\n id={ id.value }\n class=\"v-field__input\"\n aria-describedby={ messagesId.value }\n />\n )}\n </div>\n\n { hasClear && (\n <VExpandXTransition key=\"clear\">\n <div\n class=\"v-field__clearable\"\n v-show={ props.dirty }\n onMousedown={ (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n <VDefaultsProvider\n defaults={{\n VIcon: {\n icon: props.clearIcon,\n },\n }}\n >\n { slots.clear\n ? slots.clear({\n ...slotProps.value,\n props: {\n onFocus: focus,\n onBlur: blur,\n onClick: props['onClick:clear'],\n },\n })\n : (\n <InputIcon\n name=\"clear\"\n onFocus={ focus }\n onBlur={ blur }\n />\n )}\n </VDefaultsProvider>\n </div>\n </VExpandXTransition>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-field__append-inner\">\n { slots['append-inner']?.(slotProps.value) }\n\n { props.appendInnerIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"appendInner\"\n color={ iconColor.value }\n />\n )}\n </div>\n )}\n\n <div\n class={[\n 'v-field__outline',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasFloatingLabel.value && (\n <div class=\"v-field__outline__notch\">\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label() }\n </VFieldLabel>\n </div>\n )}\n\n <div class=\"v-field__outline__end\" />\n </>\n )}\n\n { isPlainOrUnderlined.value && hasFloatingLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label() }\n </VFieldLabel>\n )}\n </div>\n </div>\n )\n })\n\n return {\n controlRef,\n fieldIconColor: iconColor,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n"],"mappings":"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","ignoreList":[]}