@vuetify/nightly 3.0.0-alpha.8 → 3.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1100) hide show
  1. package/CHANGELOG.md +2 -19
  2. package/dist/json/attributes.json +5230 -0
  3. package/dist/json/importMap.json +565 -0
  4. package/dist/json/tags.json +1871 -0
  5. package/dist/json/web-types.json +17917 -0
  6. package/dist/vuetify.css +8044 -6830
  7. package/dist/vuetify.d.ts +14879 -24
  8. package/dist/vuetify.esm.js +17091 -0
  9. package/dist/vuetify.esm.js.map +1 -0
  10. package/dist/vuetify.js +15613 -14297
  11. package/dist/vuetify.js.map +1 -1
  12. package/dist/vuetify.min.css +6 -4
  13. package/dist/vuetify.min.js +1395 -9104
  14. package/dist/vuetify.min.js.map +1 -1
  15. package/lib/components/VAlert/VAlert.css +193 -0
  16. package/lib/components/VAlert/VAlert.mjs +61 -72
  17. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  18. package/lib/components/VAlert/VAlert.sass +64 -88
  19. package/lib/components/VAlert/VAlertTitle.mjs +3 -0
  20. package/lib/components/VAlert/VAlertTitle.mjs.map +1 -0
  21. package/lib/components/VAlert/_variables.scss +23 -34
  22. package/lib/components/VAlert/index.mjs +2 -1
  23. package/lib/components/VAlert/index.mjs.map +1 -1
  24. package/lib/components/VApp/VApp.css +28 -0
  25. package/lib/components/VApp/VApp.mjs +26 -17
  26. package/lib/components/VApp/VApp.mjs.map +1 -1
  27. package/lib/components/VApp/VApp.sass +1 -4
  28. package/lib/components/VApp/index.mjs +1 -1
  29. package/lib/components/VApp/index.mjs.map +1 -1
  30. package/lib/components/VAppBar/VAppBar.css +10 -0
  31. package/lib/components/VAppBar/VAppBar.mjs +42 -101
  32. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  33. package/lib/components/VAppBar/VAppBar.sass +7 -93
  34. package/lib/components/VAppBar/VAppBarNavIcon.mjs +9 -9
  35. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  36. package/lib/components/VAppBar/VAppBarTitle.mjs +11 -21
  37. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  38. package/lib/components/VAppBar/_variables.scss +12 -8
  39. package/lib/components/VAppBar/index.mjs +3 -3
  40. package/lib/components/VAppBar/index.mjs.map +1 -1
  41. package/lib/components/VAutocomplete/VAutocomplete.css +57 -0
  42. package/lib/components/VAutocomplete/VAutocomplete.mjs +229 -359
  43. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  44. package/lib/components/VAutocomplete/VAutocomplete.sass +69 -33
  45. package/lib/components/VAutocomplete/_variables.scss +7 -4
  46. package/lib/components/VAutocomplete/index.mjs +1 -3
  47. package/lib/components/VAutocomplete/index.mjs.map +1 -1
  48. package/lib/components/VAvatar/VAvatar.css +43 -0
  49. package/lib/components/VAvatar/VAvatar.mjs +20 -19
  50. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  51. package/lib/components/VAvatar/VAvatar.sass +7 -22
  52. package/lib/components/VAvatar/_mixins.scss +10 -4
  53. package/lib/components/VAvatar/_variables.scss +16 -5
  54. package/lib/components/VAvatar/index.mjs +1 -1
  55. package/lib/components/VAvatar/index.mjs.map +1 -1
  56. package/lib/components/VBadge/VBadge.css +74 -0
  57. package/lib/components/VBadge/VBadge.mjs +35 -25
  58. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  59. package/lib/components/VBadge/VBadge.sass +5 -7
  60. package/lib/components/VBadge/_variables.scss +6 -5
  61. package/lib/components/VBadge/index.mjs +1 -1
  62. package/lib/components/VBadge/index.mjs.map +1 -1
  63. package/lib/components/VBanner/VBanner.css +133 -0
  64. package/lib/components/VBanner/VBanner.mjs +56 -49
  65. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  66. package/lib/components/VBanner/VBanner.sass +18 -29
  67. package/lib/components/VBanner/VBannerActions.mjs +1 -1
  68. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  69. package/lib/components/VBanner/VBannerText.mjs +1 -1
  70. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  71. package/lib/components/VBanner/_variables.scss +13 -13
  72. package/lib/components/VBanner/index.mjs +3 -5
  73. package/lib/components/VBanner/index.mjs.map +1 -1
  74. package/lib/components/VBottomNavigation/VBottomNavigation.css +61 -0
  75. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +53 -34
  76. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  77. package/lib/components/VBottomNavigation/VBottomNavigation.sass +50 -12
  78. package/lib/components/VBottomNavigation/_variables.scss +25 -5
  79. package/lib/components/VBottomNavigation/index.mjs +1 -1
  80. package/lib/components/VBottomNavigation/index.mjs.map +1 -1
  81. package/lib/components/VBottomSheet/VBottomSheet.mjs +1 -1
  82. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  83. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +48 -0
  84. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +55 -50
  85. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  86. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +5 -3
  87. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +1 -1
  88. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  89. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +32 -37
  90. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  91. package/lib/components/VBreadcrumbs/_variables.scss +7 -4
  92. package/lib/components/VBreadcrumbs/index.mjs +3 -3
  93. package/lib/components/VBreadcrumbs/index.mjs.map +1 -1
  94. package/lib/components/VBreadcrumbs/shared.mjs +2 -0
  95. package/lib/components/VBreadcrumbs/shared.mjs.map +1 -0
  96. package/lib/components/VBtn/VBtn.css +300 -0
  97. package/lib/components/VBtn/VBtn.mjs +36 -30
  98. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  99. package/lib/components/VBtn/VBtn.sass +50 -89
  100. package/lib/components/VBtn/_mixins.scss +14 -7
  101. package/lib/components/VBtn/_variables.scss +25 -45
  102. package/lib/components/VBtn/index.mjs +1 -1
  103. package/lib/components/VBtn/index.mjs.map +1 -1
  104. package/lib/components/VBtnGroup/VBtnGroup.css +49 -0
  105. package/lib/components/VBtnGroup/VBtnGroup.mjs +67 -0
  106. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -0
  107. package/lib/components/VBtnGroup/VBtnGroup.sass +44 -0
  108. package/lib/components/VBtnGroup/_variables.scss +25 -0
  109. package/lib/components/VBtnGroup/index.mjs +2 -0
  110. package/lib/components/VBtnGroup/index.mjs.map +1 -0
  111. package/lib/components/VBtnToggle/VBtnToggle.css +3 -0
  112. package/lib/components/VBtnToggle/VBtnToggle.mjs +45 -39
  113. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  114. package/lib/components/VBtnToggle/VBtnToggle.sass +5 -95
  115. package/lib/components/VBtnToggle/_variables.scss +3 -10
  116. package/lib/components/VBtnToggle/index.mjs +1 -3
  117. package/lib/components/VBtnToggle/index.mjs.map +1 -1
  118. package/lib/components/VCalendar/VCalendar.mjs +8 -4
  119. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  120. package/lib/components/VCalendar/VCalendarCategory.mjs +1 -1
  121. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  122. package/lib/components/VCalendar/VCalendarCategory.sass +67 -0
  123. package/lib/components/VCalendar/VCalendarDaily.mjs +1 -1
  124. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  125. package/lib/components/VCalendar/VCalendarMonthly.mjs +1 -1
  126. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  127. package/lib/components/VCalendar/VCalendarWeekly.mjs +1 -1
  128. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  129. package/lib/components/VCalendar/_variables.scss +4 -0
  130. package/lib/components/VCalendar/mixins/calendar-base.mjs +5 -4
  131. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  132. package/lib/components/VCalendar/mixins/calendar-with-events.mjs +18 -12
  133. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  134. package/lib/components/VCalendar/mixins/calendar-with-events.sass +7 -1
  135. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs +2 -1
  136. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  137. package/lib/components/VCalendar/mixins/mouse.mjs +19 -0
  138. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  139. package/lib/components/VCalendar/modes/common.mjs +7 -3
  140. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  141. package/lib/components/VCalendar/modes/stack.mjs +2 -1
  142. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  143. package/lib/components/VCalendar/util/events.mjs +3 -1
  144. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  145. package/lib/components/VCalendar/util/timestamp.mjs +19 -7
  146. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  147. package/lib/components/VCard/VCard.css +268 -0
  148. package/lib/components/VCard/VCard.mjs +73 -58
  149. package/lib/components/VCard/VCard.mjs.map +1 -1
  150. package/lib/components/VCard/VCard.sass +25 -42
  151. package/lib/components/VCard/VCardActions.mjs +29 -2
  152. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  153. package/lib/components/VCard/VCardAvatar.mjs +1 -1
  154. package/lib/components/VCard/VCardAvatar.mjs.map +1 -1
  155. package/lib/components/VCard/VCardHeader.mjs +1 -1
  156. package/lib/components/VCard/VCardHeader.mjs.map +1 -1
  157. package/lib/components/VCard/VCardHeaderText.mjs +1 -1
  158. package/lib/components/VCard/VCardHeaderText.mjs.map +1 -1
  159. package/lib/components/VCard/VCardImg.mjs +1 -1
  160. package/lib/components/VCard/VCardImg.mjs.map +1 -1
  161. package/lib/components/VCard/VCardSubtitle.mjs +1 -1
  162. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  163. package/lib/components/VCard/VCardText.mjs +1 -1
  164. package/lib/components/VCard/VCardText.mjs.map +1 -1
  165. package/lib/components/VCard/VCardTitle.mjs +1 -1
  166. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  167. package/lib/components/VCard/_variables.scss +25 -25
  168. package/lib/components/VCard/index.mjs +9 -11
  169. package/lib/components/VCard/index.mjs.map +1 -1
  170. package/lib/components/VCarousel/VCarousel.css +63 -0
  171. package/lib/components/VCarousel/VCarousel.mjs +100 -179
  172. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  173. package/lib/components/VCarousel/VCarousel.sass +7 -2
  174. package/lib/components/VCarousel/VCarouselItem.mjs +23 -58
  175. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  176. package/lib/components/VCarousel/_variables.scss +1 -3
  177. package/lib/components/VCarousel/index.mjs +2 -9
  178. package/lib/components/VCarousel/index.mjs.map +1 -1
  179. package/lib/components/VCheckbox/VCheckbox.css +3 -0
  180. package/lib/components/VCheckbox/VCheckbox.mjs +56 -83
  181. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  182. package/lib/components/VCheckbox/VCheckbox.sass +8 -8
  183. package/lib/components/VCheckbox/_variables.scss +2 -4
  184. package/lib/components/VCheckbox/index.mjs +1 -9
  185. package/lib/components/VCheckbox/index.mjs.map +1 -1
  186. package/lib/components/VChip/VChip.css +273 -0
  187. package/lib/components/VChip/VChip.mjs +55 -34
  188. package/lib/components/VChip/VChip.mjs.map +1 -1
  189. package/lib/components/VChip/VChip.sass +24 -21
  190. package/lib/components/VChip/_mixins.scss +24 -15
  191. package/lib/components/VChip/_variables.scss +17 -21
  192. package/lib/components/VChip/index.mjs +1 -1
  193. package/lib/components/VChip/index.mjs.map +1 -1
  194. package/lib/components/VChipGroup/VChipGroup.css +18 -0
  195. package/lib/components/VChipGroup/VChipGroup.mjs +66 -38
  196. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  197. package/lib/components/VChipGroup/VChipGroup.sass +11 -17
  198. package/lib/components/VChipGroup/_variables.scss +3 -5
  199. package/lib/components/VChipGroup/index.mjs +1 -3
  200. package/lib/components/VChipGroup/index.mjs.map +1 -1
  201. package/lib/components/VCode/VCode.css +7 -0
  202. package/lib/components/VCode/VCode.sass +2 -2
  203. package/lib/components/VCode/index.mjs +1 -1
  204. package/lib/components/VColorPicker/VColorPicker.css +21 -0
  205. package/lib/components/VColorPicker/VColorPicker.mjs +103 -133
  206. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  207. package/lib/components/VColorPicker/VColorPicker.sass +10 -17
  208. package/lib/components/VColorPicker/VColorPickerCanvas.css +21 -0
  209. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +139 -121
  210. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  211. package/lib/components/VColorPicker/VColorPickerCanvas.sass +5 -3
  212. package/lib/components/VColorPicker/VColorPickerEdit.css +31 -0
  213. package/lib/components/VColorPicker/VColorPickerEdit.mjs +74 -134
  214. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  215. package/lib/components/VColorPicker/VColorPickerEdit.sass +9 -6
  216. package/lib/components/VColorPicker/VColorPickerPreview.css +67 -0
  217. package/lib/components/VColorPicker/VColorPickerPreview.mjs +65 -83
  218. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  219. package/lib/components/VColorPicker/VColorPickerPreview.sass +42 -39
  220. package/lib/components/VColorPicker/VColorPickerSwatches.css +35 -0
  221. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +34 -54
  222. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  223. package/lib/components/VColorPicker/VColorPickerSwatches.sass +6 -4
  224. package/lib/components/VColorPicker/_variables.scss +5 -9
  225. package/lib/components/VColorPicker/index.mjs +1 -5
  226. package/lib/components/VColorPicker/index.mjs.map +1 -1
  227. package/lib/components/VColorPicker/util/index.mjs +141 -97
  228. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  229. package/lib/components/VCombobox/VCombobox.css +66 -0
  230. package/lib/components/VCombobox/VCombobox.mjs +319 -204
  231. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  232. package/lib/components/VCombobox/VCombobox.sass +91 -0
  233. package/lib/components/VCombobox/_variables.scss +8 -0
  234. package/lib/components/VCombobox/index.mjs +1 -3
  235. package/lib/components/VCombobox/index.mjs.map +1 -1
  236. package/lib/components/VCounter/VCounter.css +6 -0
  237. package/lib/components/VCounter/VCounter.mjs +36 -27
  238. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  239. package/lib/components/VCounter/VCounter.sass +5 -7
  240. package/lib/components/VCounter/_variables.scss +3 -2
  241. package/lib/components/VCounter/index.mjs +1 -3
  242. package/lib/components/VCounter/index.mjs.map +1 -1
  243. package/lib/components/VDataIterator/VDataFooter.mjs +1 -1
  244. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  245. package/lib/components/VDataIterator/VDataIterator.mjs +19 -7
  246. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  247. package/lib/components/VDataTable/MobileRow.mjs +6 -5
  248. package/lib/components/VDataTable/MobileRow.mjs.map +1 -1
  249. package/lib/components/VDataTable/Row.mjs +19 -11
  250. package/lib/components/VDataTable/Row.mjs.map +1 -1
  251. package/lib/components/VDataTable/RowGroup.mjs +5 -4
  252. package/lib/components/VDataTable/RowGroup.mjs.map +1 -1
  253. package/lib/components/VDataTable/VDataTable.mjs +10 -5
  254. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  255. package/lib/components/VDataTable/VDataTable.sass +5 -0
  256. package/lib/components/VDataTable/VDataTableHeader.mjs +7 -6
  257. package/lib/components/VDataTable/VDataTableHeader.mjs.map +1 -1
  258. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs +2 -2
  259. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs.map +1 -1
  260. package/lib/components/VDataTable/VEditDialog.mjs +7 -6
  261. package/lib/components/VDataTable/VEditDialog.mjs.map +1 -1
  262. package/lib/components/VDataTable/VVirtualTable.mjs +1 -1
  263. package/lib/components/VDataTable/VVirtualTable.mjs.map +1 -1
  264. package/lib/components/VDatePicker/VDatePicker.mjs +2 -2
  265. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  266. package/lib/components/VDatePicker/VDatePickerHeader.mjs +4 -4
  267. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  268. package/lib/components/VDatePicker/VDatePickerTitle.mjs +2 -2
  269. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  270. package/lib/components/VDatePicker/VDatePickerYears.mjs +3 -3
  271. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  272. package/lib/components/VDatePicker/mixins/date-picker-table.mjs +6 -5
  273. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  274. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs +6 -4
  275. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  276. package/lib/components/VDatePicker/util/pad.mjs +4 -1
  277. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  278. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +26 -8
  279. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  280. package/lib/components/VDefaultsProvider/index.mjs +1 -1
  281. package/lib/components/VDefaultsProvider/index.mjs.map +1 -1
  282. package/lib/components/VDialog/VDialog.css +57 -0
  283. package/lib/components/VDialog/VDialog.mjs +46 -47
  284. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  285. package/lib/components/VDialog/VDialog.sass +20 -2
  286. package/lib/components/VDialog/_variables.scss +9 -4
  287. package/lib/components/VDialog/index.mjs +1 -2
  288. package/lib/components/VDialog/index.mjs.map +1 -1
  289. package/lib/components/VDivider/VDivider.css +30 -0
  290. package/lib/components/VDivider/VDivider.mjs +21 -14
  291. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  292. package/lib/components/VDivider/VDivider.sass +5 -9
  293. package/lib/components/VDivider/_variables.scss +4 -2
  294. package/lib/components/VDivider/index.mjs +1 -1
  295. package/lib/components/VDivider/index.mjs.map +1 -1
  296. package/lib/components/VExpansionPanel/VExpansionPanel.css +189 -0
  297. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +83 -81
  298. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  299. package/lib/components/VExpansionPanel/VExpansionPanel.sass +91 -129
  300. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +42 -0
  301. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -0
  302. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +77 -0
  303. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -0
  304. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +42 -60
  305. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  306. package/lib/components/VExpansionPanel/_variables.scss +13 -7
  307. package/lib/components/VExpansionPanel/index.mjs +4 -13
  308. package/lib/components/VExpansionPanel/index.mjs.map +1 -1
  309. package/lib/components/VField/VField.css +410 -0
  310. package/lib/components/VField/VField.mjs +249 -0
  311. package/lib/components/VField/VField.mjs.map +1 -0
  312. package/lib/components/VField/VField.sass +392 -0
  313. package/lib/components/VField/VFieldLabel.mjs +27 -0
  314. package/lib/components/VField/VFieldLabel.mjs.map +1 -0
  315. package/lib/components/VField/_variables.scss +44 -0
  316. package/lib/components/VField/index.mjs +3 -0
  317. package/lib/components/VField/index.mjs.map +1 -0
  318. package/lib/components/VFileInput/VFileInput.css +8 -0
  319. package/lib/components/VFileInput/VFileInput.mjs +180 -224
  320. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  321. package/lib/components/VFileInput/VFileInput.sass +3 -51
  322. package/lib/components/VFileInput/_variables.scss +2 -6
  323. package/lib/components/VFileInput/index.mjs +1 -3
  324. package/lib/components/VFileInput/index.mjs.map +1 -1
  325. package/lib/components/VFooter/VFooter.css +20 -0
  326. package/lib/components/VFooter/VFooter.mjs +25 -18
  327. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  328. package/lib/components/VFooter/VFooter.sass +10 -8
  329. package/lib/components/VFooter/_variables.scss +7 -4
  330. package/lib/components/VFooter/index.mjs +1 -1
  331. package/lib/components/VFooter/index.mjs.map +1 -1
  332. package/lib/components/VForm/VForm.mjs +46 -127
  333. package/lib/components/VForm/VForm.mjs.map +1 -1
  334. package/lib/components/VForm/index.mjs +1 -3
  335. package/lib/components/VForm/index.mjs.map +1 -1
  336. package/lib/components/VGrid/VCol.mjs +10 -9
  337. package/lib/components/VGrid/VCol.mjs.map +1 -1
  338. package/lib/components/VGrid/VContainer.mjs +10 -10
  339. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  340. package/lib/components/VGrid/VGrid.css +1002 -0
  341. package/lib/components/VGrid/VGrid.sass +9 -8
  342. package/lib/components/VGrid/VRow.mjs +10 -9
  343. package/lib/components/VGrid/VRow.mjs.map +1 -1
  344. package/lib/components/VGrid/VSpacer.mjs +1 -1
  345. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  346. package/lib/components/VGrid/_mixins.sass +26 -21
  347. package/lib/components/VGrid/index.mjs +4 -4
  348. package/lib/components/VGrid/index.mjs.map +1 -1
  349. package/lib/components/VHover/VHover.mjs +31 -61
  350. package/lib/components/VHover/VHover.mjs.map +1 -1
  351. package/lib/components/VHover/index.mjs +1 -3
  352. package/lib/components/VHover/index.mjs.map +1 -1
  353. package/lib/components/VIcon/VIcon.css +50 -0
  354. package/lib/components/VIcon/VIcon.mjs +20 -14
  355. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  356. package/lib/components/VIcon/VIcon.sass +16 -42
  357. package/lib/components/VIcon/_variables.scss +14 -14
  358. package/lib/components/VIcon/index.mjs +1 -1
  359. package/lib/components/VIcon/index.mjs.map +1 -1
  360. package/lib/components/VImg/VImg.css +34 -0
  361. package/lib/components/VImg/VImg.mjs +62 -31
  362. package/lib/components/VImg/VImg.mjs.map +1 -1
  363. package/lib/components/VImg/VImg.sass +11 -16
  364. package/lib/components/VImg/index.mjs +1 -1
  365. package/lib/components/VImg/index.mjs.map +1 -1
  366. package/lib/components/VInput/VInput.css +110 -0
  367. package/lib/components/VInput/VInput.mjs +103 -280
  368. package/lib/components/VInput/VInput.mjs.map +1 -1
  369. package/lib/components/VInput/VInput.sass +77 -127
  370. package/lib/components/VInput/_variables.scss +17 -13
  371. package/lib/components/VInput/index.mjs +1 -3
  372. package/lib/components/VInput/index.mjs.map +1 -1
  373. package/lib/components/VItemGroup/VItem.mjs +8 -7
  374. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  375. package/lib/components/VItemGroup/VItemGroup.css +6 -0
  376. package/lib/components/VItemGroup/VItemGroup.mjs +12 -12
  377. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  378. package/lib/components/VItemGroup/VItemGroup.sass +2 -2
  379. package/lib/components/VItemGroup/_variables.scss +3 -1
  380. package/lib/components/VItemGroup/index.mjs +2 -2
  381. package/lib/components/VItemGroup/index.mjs.map +1 -1
  382. package/lib/components/VKbd/VKbd.css +9 -0
  383. package/lib/components/VKbd/VKbd.sass +4 -3
  384. package/lib/components/VKbd/index.mjs +1 -1
  385. package/lib/components/VLabel/VLabel.css +12 -0
  386. package/lib/components/VLabel/VLabel.mjs +18 -56
  387. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  388. package/lib/components/VLabel/VLabel.sass +13 -11
  389. package/lib/components/VLabel/_variables.scss +7 -4
  390. package/lib/components/VLabel/index.mjs +1 -3
  391. package/lib/components/VLabel/index.mjs.map +1 -1
  392. package/lib/components/VLayout/VLayout.css +11 -0
  393. package/lib/components/VLayout/VLayout.mjs +15 -11
  394. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  395. package/lib/components/VLayout/VLayout.sass +1 -4
  396. package/lib/components/VLayout/VLayoutItem.css +8 -0
  397. package/lib/components/VLayout/VLayoutItem.mjs +24 -15
  398. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  399. package/lib/components/VLayout/VLayoutItem.sass +3 -3
  400. package/lib/components/VLayout/index.mjs +2 -2
  401. package/lib/components/VLayout/index.mjs.map +1 -1
  402. package/lib/components/VLazy/VLazy.mjs +10 -10
  403. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  404. package/lib/components/VLazy/index.mjs +1 -1
  405. package/lib/components/VLazy/index.mjs.map +1 -1
  406. package/lib/components/VList/VList.css +106 -0
  407. package/lib/components/VList/VList.mjs +80 -31
  408. package/lib/components/VList/VList.mjs.map +1 -1
  409. package/lib/components/VList/VList.sass +17 -16
  410. package/lib/components/VList/VListChildren.mjs +53 -0
  411. package/lib/components/VList/VListChildren.mjs.map +1 -0
  412. package/lib/components/VList/VListGroup.mjs +84 -0
  413. package/lib/components/VList/VListGroup.mjs.map +1 -0
  414. package/lib/components/VList/VListImg.mjs +1 -1
  415. package/lib/components/VList/VListImg.mjs.map +1 -1
  416. package/lib/components/VList/VListItem.css +273 -0
  417. package/lib/components/VList/VListItem.mjs +98 -41
  418. package/lib/components/VList/VListItem.mjs.map +1 -1
  419. package/lib/components/VList/VListItem.sass +46 -17
  420. package/lib/components/VList/VListItemAvatar.mjs +9 -9
  421. package/lib/components/VList/VListItemAvatar.mjs.map +1 -1
  422. package/lib/components/VList/VListItemHeader.mjs +1 -1
  423. package/lib/components/VList/VListItemHeader.mjs.map +1 -1
  424. package/lib/components/VList/VListItemMedia.mjs +9 -9
  425. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  426. package/lib/components/VList/VListItemSubtitle.mjs +1 -1
  427. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  428. package/lib/components/VList/VListItemTitle.mjs +1 -1
  429. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  430. package/lib/components/VList/VListSubheader.mjs +29 -20
  431. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  432. package/lib/components/VList/_variables.scss +25 -19
  433. package/lib/components/VList/index.mjs +10 -9
  434. package/lib/components/VList/index.mjs.map +1 -1
  435. package/lib/components/VList/list.mjs +31 -0
  436. package/lib/components/VList/list.mjs.map +1 -0
  437. package/lib/components/VLocaleProvider/VLocaleProvider.css +3 -0
  438. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +10 -10
  439. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  440. package/lib/components/VLocaleProvider/index.mjs +1 -1
  441. package/lib/components/VLocaleProvider/index.mjs.map +1 -1
  442. package/lib/components/VMain/VMain.css +18 -0
  443. package/lib/components/VMain/VMain.mjs +12 -12
  444. package/lib/components/VMain/VMain.mjs.map +1 -1
  445. package/lib/components/VMain/VMain.sass +2 -1
  446. package/lib/components/VMain/_variables.scss +3 -1
  447. package/lib/components/VMain/index.mjs +1 -1
  448. package/lib/components/VMain/index.mjs.map +1 -1
  449. package/lib/components/VMenu/VMenu.css +24 -0
  450. package/lib/components/VMenu/VMenu.mjs +53 -451
  451. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  452. package/lib/components/VMenu/VMenu.sass +20 -71
  453. package/lib/components/VMenu/_variables.scss +3 -2
  454. package/lib/components/VMenu/index.mjs +1 -3
  455. package/lib/components/VMenu/index.mjs.map +1 -1
  456. package/lib/components/VMessages/VMessages.css +16 -0
  457. package/lib/components/VMessages/VMessages.mjs +42 -41
  458. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  459. package/lib/components/VMessages/VMessages.sass +5 -10
  460. package/lib/components/VMessages/_variables.scss +3 -2
  461. package/lib/components/VMessages/index.mjs +1 -3
  462. package/lib/components/VMessages/index.mjs.map +1 -1
  463. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +93 -0
  464. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +95 -30
  465. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  466. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +36 -21
  467. package/lib/components/VNavigationDrawer/_variables.scss +9 -6
  468. package/lib/components/VNavigationDrawer/index.mjs +1 -1
  469. package/lib/components/VNavigationDrawer/index.mjs.map +1 -1
  470. package/lib/components/VNavigationDrawer/touch.mjs +139 -0
  471. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -0
  472. package/lib/components/VNoSsr/VNoSsr.mjs +23 -0
  473. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -0
  474. package/lib/components/VNoSsr/index.mjs +2 -0
  475. package/lib/components/VNoSsr/index.mjs.map +1 -0
  476. package/lib/components/VOtpInput/VOtpInput.mjs +345 -0
  477. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -0
  478. package/lib/components/VOtpInput/VOtpInput.sass +37 -0
  479. package/lib/components/VOtpInput/_variables.scss +4 -0
  480. package/lib/components/VOtpInput/index.mjs +4 -0
  481. package/lib/components/VOtpInput/index.mjs.map +1 -0
  482. package/lib/components/VOverflowBtn/VOverflowBtn.mjs +1 -1
  483. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  484. package/lib/components/VOverlay/VOverlay.css +55 -0
  485. package/lib/components/VOverlay/VOverlay.mjs +120 -193
  486. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  487. package/lib/components/VOverlay/VOverlay.sass +21 -22
  488. package/lib/components/VOverlay/_variables.scss +0 -2
  489. package/lib/components/VOverlay/index.mjs +1 -2
  490. package/lib/components/VOverlay/index.mjs.map +1 -1
  491. package/lib/components/VOverlay/positionStrategies.mjs +203 -0
  492. package/lib/components/VOverlay/positionStrategies.mjs.map +1 -0
  493. package/lib/components/VOverlay/requestNewFrame.mjs +28 -0
  494. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -0
  495. package/lib/components/VOverlay/scrollStrategies.mjs +128 -0
  496. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -0
  497. package/lib/components/VOverlay/useActivator.mjs +205 -0
  498. package/lib/components/VOverlay/useActivator.mjs.map +1 -0
  499. package/lib/components/VOverlay/util/anchor.mjs +52 -0
  500. package/lib/components/VOverlay/util/anchor.mjs.map +1 -0
  501. package/lib/components/VOverlay/util/point.mjs +56 -0
  502. package/lib/components/VOverlay/util/point.mjs.map +1 -0
  503. package/lib/components/VPagination/VPagination.css +9 -0
  504. package/lib/components/VPagination/VPagination.mjs +48 -51
  505. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  506. package/lib/components/VPagination/VPagination.sass +14 -8
  507. package/lib/components/VPagination/index.mjs +1 -1
  508. package/lib/components/VPagination/index.mjs.map +1 -1
  509. package/lib/components/VParallax/VParallax.css +7 -0
  510. package/lib/components/VParallax/VParallax.mjs +71 -77
  511. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  512. package/lib/components/VParallax/VParallax.sass +1 -32
  513. package/lib/components/VParallax/index.mjs +1 -3
  514. package/lib/components/VParallax/index.mjs.map +1 -1
  515. package/lib/components/VPicker/VPicker.mjs +5 -5
  516. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  517. package/lib/components/VProgressCircular/VProgressCircular.css +101 -0
  518. package/lib/components/VProgressCircular/VProgressCircular.mjs +30 -20
  519. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  520. package/lib/components/VProgressCircular/VProgressCircular.sass +6 -4
  521. package/lib/components/VProgressCircular/_variables.scss +1 -1
  522. package/lib/components/VProgressCircular/index.mjs +1 -1
  523. package/lib/components/VProgressCircular/index.mjs.map +1 -1
  524. package/lib/components/VProgressLinear/VProgressLinear.css +212 -0
  525. package/lib/components/VProgressLinear/VProgressLinear.mjs +138 -226
  526. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  527. package/lib/components/VProgressLinear/VProgressLinear.sass +83 -157
  528. package/lib/components/VProgressLinear/_variables.scss +11 -3
  529. package/lib/components/VProgressLinear/index.mjs +1 -3
  530. package/lib/components/VProgressLinear/index.mjs.map +1 -1
  531. package/lib/components/VRadio/VRadio.mjs +34 -0
  532. package/lib/components/VRadio/VRadio.mjs.map +1 -0
  533. package/lib/components/VRadio/index.mjs +2 -0
  534. package/lib/components/VRadio/index.mjs.map +1 -0
  535. package/lib/components/VRadioGroup/VRadioGroup.css +10 -0
  536. package/lib/components/VRadioGroup/VRadioGroup.mjs +66 -69
  537. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  538. package/lib/components/VRadioGroup/VRadioGroup.sass +7 -37
  539. package/lib/components/VRadioGroup/_variables.scss +3 -3
  540. package/lib/components/VRadioGroup/index.mjs +1 -9
  541. package/lib/components/VRadioGroup/index.mjs.map +1 -1
  542. package/lib/components/VRangeSlider/VRangeSlider.mjs +192 -207
  543. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  544. package/lib/components/VRangeSlider/index.mjs +1 -3
  545. package/lib/components/VRangeSlider/index.mjs.map +1 -1
  546. package/lib/components/VRating/VRating.css +58 -0
  547. package/lib/components/VRating/VRating.mjs +34 -28
  548. package/lib/components/VRating/VRating.mjs.map +1 -1
  549. package/lib/components/VRating/VRating.sass +5 -3
  550. package/lib/components/VRating/_variables.scss +3 -1
  551. package/lib/components/VRating/index.mjs +1 -1
  552. package/lib/components/VRating/index.mjs.map +1 -1
  553. package/lib/components/VResponsive/VResponsive.css +23 -0
  554. package/lib/components/VResponsive/VResponsive.mjs +12 -11
  555. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  556. package/lib/components/VResponsive/VResponsive.sass +4 -7
  557. package/lib/components/VResponsive/index.mjs +1 -1
  558. package/lib/components/VResponsive/index.mjs.map +1 -1
  559. package/lib/components/VSelect/VSelect.css +34 -0
  560. package/lib/components/VSelect/VSelect.mjs +186 -777
  561. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  562. package/lib/components/VSelect/VSelect.sass +44 -153
  563. package/lib/components/VSelect/_variables.scss +7 -21
  564. package/lib/components/VSelect/index.mjs +1 -3
  565. package/lib/components/VSelect/index.mjs.map +1 -1
  566. package/lib/components/VSelectionControl/VSelectionControl.css +97 -0
  567. package/lib/components/VSelectionControl/VSelectionControl.mjs +209 -0
  568. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -0
  569. package/lib/components/VSelectionControl/VSelectionControl.sass +96 -0
  570. package/lib/components/VSelectionControl/_variables.scss +9 -0
  571. package/lib/components/VSelectionControl/index.mjs +2 -0
  572. package/lib/components/VSelectionControl/index.mjs.map +1 -0
  573. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +3 -0
  574. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +64 -0
  575. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -0
  576. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +9 -0
  577. package/lib/components/VSelectionControlGroup/_variables.scss +4 -0
  578. package/lib/components/VSelectionControlGroup/index.mjs +2 -0
  579. package/lib/components/VSelectionControlGroup/index.mjs.map +1 -0
  580. package/lib/components/VSheet/VSheet.css +23 -0
  581. package/lib/components/VSheet/VSheet.mjs +17 -19
  582. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  583. package/lib/components/VSheet/VSheet.sass +11 -16
  584. package/lib/components/VSheet/_variables.scss +6 -7
  585. package/lib/components/VSheet/index.mjs +1 -1
  586. package/lib/components/VSheet/index.mjs.map +1 -1
  587. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +7 -7
  588. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  589. package/lib/components/VSlideGroup/VSlideGroup.css +47 -0
  590. package/lib/components/VSlideGroup/VSlideGroup.mjs +276 -358
  591. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  592. package/lib/components/VSlideGroup/VSlideGroup.sass +21 -21
  593. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +27 -0
  594. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -0
  595. package/lib/components/VSlideGroup/_variables.scss +4 -1
  596. package/lib/components/VSlideGroup/helpers.mjs +54 -0
  597. package/lib/components/VSlideGroup/helpers.mjs.map +1 -0
  598. package/lib/components/VSlideGroup/index.mjs +2 -9
  599. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  600. package/lib/components/VSlider/VSlider.css +48 -0
  601. package/lib/components/VSlider/VSlider.mjs +113 -538
  602. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  603. package/lib/components/VSlider/VSlider.sass +29 -271
  604. package/lib/components/VSlider/VSliderThumb.css +142 -0
  605. package/lib/components/VSlider/VSliderThumb.mjs +165 -0
  606. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -0
  607. package/lib/components/VSlider/VSliderThumb.sass +147 -0
  608. package/lib/components/VSlider/VSliderTrack.css +150 -0
  609. package/lib/components/VSlider/VSliderTrack.mjs +121 -0
  610. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -0
  611. package/lib/components/VSlider/VSliderTrack.sass +159 -0
  612. package/lib/components/VSlider/_variables.scss +19 -13
  613. package/lib/components/VSlider/index.mjs +1 -3
  614. package/lib/components/VSlider/index.mjs.map +1 -1
  615. package/lib/components/VSlider/slider.mjs +300 -0
  616. package/lib/components/VSlider/slider.mjs.map +1 -0
  617. package/lib/components/VSnackbar/VSnackbar.css +136 -0
  618. package/lib/components/VSnackbar/VSnackbar.mjs +89 -168
  619. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  620. package/lib/components/VSnackbar/VSnackbar.sass +34 -69
  621. package/lib/components/VSnackbar/_variables.scss +20 -21
  622. package/lib/components/VSnackbar/index.mjs +1 -3
  623. package/lib/components/VSnackbar/index.mjs.map +1 -1
  624. package/lib/components/VSparkline/VSparkline.mjs +1 -1
  625. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  626. package/lib/components/VSparkline/helpers/path.mjs +3 -1
  627. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  628. package/lib/components/VSpeedDial/VSpeedDial.mjs +2 -2
  629. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  630. package/lib/components/VStepper/VStepper.mjs +2 -2
  631. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  632. package/lib/components/VStepper/VStepper.sass +5 -1
  633. package/lib/components/VStepper/VStepperStep.mjs +1 -1
  634. package/lib/components/VStepper/_variables.scss +2 -1
  635. package/lib/components/VSwitch/VSwitch.css +69 -0
  636. package/lib/components/VSwitch/VSwitch.mjs +100 -111
  637. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  638. package/lib/components/VSwitch/VSwitch.sass +71 -129
  639. package/lib/components/VSwitch/_variables.scss +10 -23
  640. package/lib/components/VSwitch/index.mjs +1 -3
  641. package/lib/components/VSwitch/index.mjs.map +1 -1
  642. package/lib/components/VSystemBar/VSystemBar.css +40 -0
  643. package/lib/components/VSystemBar/VSystemBar.mjs +23 -24
  644. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  645. package/lib/components/VSystemBar/VSystemBar.sass +16 -23
  646. package/lib/components/VSystemBar/_variables.scss +30 -17
  647. package/lib/components/VSystemBar/index.mjs +1 -1
  648. package/lib/components/VSystemBar/index.mjs.map +1 -1
  649. package/lib/components/VTable/VTable.css +143 -0
  650. package/lib/components/VTable/VTable.mjs +54 -0
  651. package/lib/components/VTable/VTable.mjs.map +1 -0
  652. package/lib/components/VTable/VTable.sass +156 -0
  653. package/lib/components/VTable/_mixins.scss +25 -0
  654. package/lib/components/VTable/_variables.scss +21 -0
  655. package/lib/components/VTable/index.mjs +2 -0
  656. package/lib/components/VTable/index.mjs.map +1 -0
  657. package/lib/components/VTabs/VTab.css +29 -0
  658. package/lib/components/VTabs/VTab.mjs +114 -70
  659. package/lib/components/VTabs/VTab.mjs.map +1 -1
  660. package/lib/components/VTabs/VTab.sass +30 -0
  661. package/lib/components/VTabs/VTabs.css +67 -0
  662. package/lib/components/VTabs/VTabs.mjs +82 -278
  663. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  664. package/lib/components/VTabs/VTabs.sass +37 -207
  665. package/lib/components/VTabs/_variables.scss +10 -18
  666. package/lib/components/VTabs/index.mjs +2 -15
  667. package/lib/components/VTabs/index.mjs.map +1 -1
  668. package/lib/components/VTextField/VTextField.css +70 -0
  669. package/lib/components/VTextField/VTextField.mjs +166 -484
  670. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  671. package/lib/components/VTextField/VTextField.sass +56 -493
  672. package/lib/components/VTextField/_variables.scss +10 -50
  673. package/lib/components/VTextField/index.mjs +1 -3
  674. package/lib/components/VTextField/index.mjs.map +1 -1
  675. package/lib/components/VTextarea/VTextarea.css +34 -0
  676. package/lib/components/VTextarea/VTextarea.mjs +210 -74
  677. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  678. package/lib/components/VTextarea/VTextarea.sass +32 -76
  679. package/lib/components/VTextarea/_variables.scss +2 -4
  680. package/lib/components/VTextarea/index.mjs +1 -3
  681. package/lib/components/VTextarea/index.mjs.map +1 -1
  682. package/lib/components/VThemeProvider/VThemeProvider.css +4 -0
  683. package/lib/components/VThemeProvider/VThemeProvider.mjs +12 -12
  684. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  685. package/lib/components/VThemeProvider/index.mjs +1 -1
  686. package/lib/components/VThemeProvider/index.mjs.map +1 -1
  687. package/lib/components/VTimePicker/VTimePicker.mjs +2 -2
  688. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  689. package/lib/components/VTimePicker/VTimePickerClock.mjs +3 -3
  690. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  691. package/lib/components/VTimePicker/VTimePickerTitle.mjs +2 -2
  692. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  693. package/lib/components/VTimeline/VTimeline.css +260 -0
  694. package/lib/components/VTimeline/VTimeline.mjs +18 -18
  695. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  696. package/lib/components/VTimeline/VTimeline.sass +11 -7
  697. package/lib/components/VTimeline/VTimelineDivider.mjs +9 -8
  698. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  699. package/lib/components/VTimeline/VTimelineItem.mjs +14 -15
  700. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  701. package/lib/components/VTimeline/_mixins.sass +8 -5
  702. package/lib/components/VTimeline/_variables.scss +3 -1
  703. package/lib/components/VTimeline/index.mjs +2 -2
  704. package/lib/components/VTimeline/index.mjs.map +1 -1
  705. package/lib/components/VTimeline/shared.mjs +2 -0
  706. package/lib/components/VTimeline/shared.mjs.map +1 -0
  707. package/lib/components/VToolbar/VToolbar.css +138 -0
  708. package/lib/components/VToolbar/VToolbar.mjs +138 -141
  709. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  710. package/lib/components/VToolbar/VToolbar.sass +74 -123
  711. package/lib/components/VToolbar/VToolbarItems.mjs +33 -0
  712. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -0
  713. package/lib/components/VToolbar/VToolbarTitle.mjs +34 -0
  714. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -0
  715. package/lib/components/VToolbar/_variables.scss +53 -15
  716. package/lib/components/VToolbar/index.mjs +3 -14
  717. package/lib/components/VToolbar/index.mjs.map +1 -1
  718. package/lib/components/VTooltip/VTooltip.css +22 -0
  719. package/lib/components/VTooltip/VTooltip.mjs +73 -198
  720. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  721. package/lib/components/VTooltip/VTooltip.sass +8 -15
  722. package/lib/components/VTooltip/_variables.scss +6 -6
  723. package/lib/components/VTooltip/index.mjs +1 -3
  724. package/lib/components/VTooltip/index.mjs.map +1 -1
  725. package/lib/components/VTreeview/VTreeview.mjs +18 -9
  726. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  727. package/lib/components/VTreeview/VTreeviewNode.mjs +4 -2
  728. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  729. package/lib/components/VTreeview/_mixins.sass +3 -3
  730. package/lib/components/VValidation/VValidation.mjs +26 -0
  731. package/lib/components/VValidation/VValidation.mjs.map +1 -0
  732. package/lib/components/VValidation/index.mjs +2 -0
  733. package/lib/components/VValidation/index.mjs.map +1 -0
  734. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +1 -1
  735. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  736. package/lib/components/VWindow/VWindow.css +70 -0
  737. package/lib/components/VWindow/VWindow.mjs +166 -233
  738. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  739. package/lib/components/VWindow/VWindow.sass +26 -50
  740. package/lib/components/VWindow/VWindowItem.mjs +72 -98
  741. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  742. package/lib/components/VWindow/_variables.scss +2 -3
  743. package/lib/components/VWindow/index.mjs +2 -9
  744. package/lib/components/VWindow/index.mjs.map +1 -1
  745. package/lib/components/index.d.ts +12766 -1769
  746. package/lib/components/index.mjs +64 -57
  747. package/lib/components/index.mjs.map +1 -1
  748. package/lib/components/transitions/createTransition.mjs +20 -20
  749. package/lib/components/transitions/createTransition.mjs.map +1 -1
  750. package/lib/components/transitions/dialog-transition.mjs +51 -23
  751. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  752. package/lib/components/transitions/expand-transition.mjs +3 -1
  753. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  754. package/lib/components/transitions/index.mjs +1 -1
  755. package/lib/components/transitions/index.mjs.map +1 -1
  756. package/lib/composables/border.mjs +3 -2
  757. package/lib/composables/border.mjs.map +1 -1
  758. package/lib/composables/defaults.mjs +29 -5
  759. package/lib/composables/defaults.mjs.map +1 -1
  760. package/lib/composables/density.mjs +3 -2
  761. package/lib/composables/density.mjs.map +1 -1
  762. package/lib/composables/display.mjs +2 -1
  763. package/lib/composables/display.mjs.map +1 -1
  764. package/lib/composables/elevation.mjs +4 -3
  765. package/lib/composables/elevation.mjs.map +1 -1
  766. package/lib/composables/filter.mjs +87 -0
  767. package/lib/composables/filter.mjs.map +1 -0
  768. package/lib/composables/focus.mjs +35 -0
  769. package/lib/composables/focus.mjs.map +1 -0
  770. package/lib/composables/form.mjs +103 -0
  771. package/lib/composables/form.mjs.map +1 -0
  772. package/lib/composables/forwardRef.mjs +42 -0
  773. package/lib/composables/forwardRef.mjs.map +1 -0
  774. package/lib/composables/group.mjs +66 -34
  775. package/lib/composables/group.mjs.map +1 -1
  776. package/lib/composables/hydration.mjs +12 -0
  777. package/lib/composables/hydration.mjs.map +1 -0
  778. package/lib/composables/icons.mjs +17 -23
  779. package/lib/composables/icons.mjs.map +1 -1
  780. package/lib/composables/index.mjs +9 -0
  781. package/lib/composables/index.mjs.map +1 -0
  782. package/lib/composables/intersectionObserver.mjs +21 -16
  783. package/lib/composables/intersectionObserver.mjs.map +1 -1
  784. package/lib/composables/layout.mjs +126 -41
  785. package/lib/composables/layout.mjs.map +1 -1
  786. package/lib/composables/lazy.mjs +23 -0
  787. package/lib/composables/lazy.mjs.map +1 -0
  788. package/lib/composables/loader.mjs +39 -0
  789. package/lib/composables/loader.mjs.map +1 -0
  790. package/lib/composables/locale.mjs +10 -6
  791. package/lib/composables/locale.mjs.map +1 -1
  792. package/lib/composables/mutationObserver.mjs +43 -0
  793. package/lib/composables/mutationObserver.mjs.map +1 -0
  794. package/lib/composables/nested/nested.mjs +194 -0
  795. package/lib/composables/nested/nested.mjs.map +1 -0
  796. package/lib/composables/nested/openStrategies.mjs +49 -0
  797. package/lib/composables/nested/openStrategies.mjs.map +1 -0
  798. package/lib/composables/nested/selectStrategies.mjs +157 -0
  799. package/lib/composables/nested/selectStrategies.mjs.map +1 -0
  800. package/lib/composables/overlay.mjs +30 -0
  801. package/lib/composables/overlay.mjs.map +1 -0
  802. package/lib/composables/position.mjs +3 -2
  803. package/lib/composables/position.mjs.map +1 -1
  804. package/lib/composables/proxiedModel.mjs +10 -5
  805. package/lib/composables/proxiedModel.mjs.map +1 -1
  806. package/lib/composables/refs.mjs.map +1 -1
  807. package/lib/composables/resizeObserver.mjs +27 -21
  808. package/lib/composables/resizeObserver.mjs.map +1 -1
  809. package/lib/composables/rounded.mjs +9 -10
  810. package/lib/composables/rounded.mjs.map +1 -1
  811. package/lib/composables/router.mjs +7 -5
  812. package/lib/composables/router.mjs.map +1 -1
  813. package/lib/composables/scroll.mjs +2 -1
  814. package/lib/composables/scroll.mjs.map +1 -1
  815. package/lib/composables/size.mjs +3 -2
  816. package/lib/composables/size.mjs.map +1 -1
  817. package/lib/composables/stack.mjs +33 -0
  818. package/lib/composables/stack.mjs.map +1 -0
  819. package/lib/composables/teleport.mjs +4 -1
  820. package/lib/composables/teleport.mjs.map +1 -1
  821. package/lib/composables/theme.mjs +114 -63
  822. package/lib/composables/theme.mjs.map +1 -1
  823. package/lib/composables/touch.mjs +129 -0
  824. package/lib/composables/touch.mjs.map +1 -0
  825. package/lib/composables/transition.mjs +4 -3
  826. package/lib/composables/transition.mjs.map +1 -1
  827. package/lib/composables/validation.mjs +116 -0
  828. package/lib/composables/validation.mjs.map +1 -0
  829. package/lib/composables/variant.mjs +20 -9
  830. package/lib/composables/variant.mjs.map +1 -1
  831. package/lib/directives/click-outside/index.mjs +23 -11
  832. package/lib/directives/click-outside/index.mjs.map +1 -1
  833. package/lib/directives/index.d.ts +6 -4
  834. package/lib/directives/index.mjs +2 -2
  835. package/lib/directives/index.mjs.map +1 -1
  836. package/lib/directives/intersect/index.mjs +19 -12
  837. package/lib/directives/intersect/index.mjs.map +1 -1
  838. package/lib/directives/mutate/index.mjs +33 -34
  839. package/lib/directives/mutate/index.mjs.map +1 -1
  840. package/lib/directives/resize/index.mjs +8 -5
  841. package/lib/directives/resize/index.mjs.map +1 -1
  842. package/lib/directives/ripple/VRipple.css +34 -0
  843. package/lib/directives/ripple/VRipple.sass +2 -1
  844. package/lib/directives/ripple/_variables.scss +4 -4
  845. package/lib/directives/ripple/index.mjs +7 -4
  846. package/lib/directives/ripple/index.mjs.map +1 -1
  847. package/lib/directives/scroll/index.mjs +9 -6
  848. package/lib/directives/scroll/index.mjs.map +1 -1
  849. package/lib/directives/touch/index.mjs +8 -4
  850. package/lib/directives/touch/index.mjs.map +1 -1
  851. package/lib/entry-bundler.mjs +8 -4
  852. package/lib/entry-bundler.mjs.map +1 -1
  853. package/lib/framework.mjs +5 -2
  854. package/lib/framework.mjs.map +1 -1
  855. package/lib/iconsets/fa-svg.d.ts +54 -0
  856. package/lib/iconsets/fa.d.ts +54 -0
  857. package/lib/iconsets/fa.mjs +1 -0
  858. package/lib/iconsets/fa.mjs.map +1 -1
  859. package/lib/iconsets/fa4.d.ts +54 -0
  860. package/lib/iconsets/fa4.mjs +2 -1
  861. package/lib/iconsets/fa4.mjs.map +1 -1
  862. package/lib/iconsets/md.d.ts +54 -0
  863. package/lib/iconsets/md.mjs +2 -1
  864. package/lib/iconsets/md.mjs.map +1 -1
  865. package/lib/iconsets/mdi-svg.d.ts +54 -0
  866. package/lib/iconsets/mdi-svg.mjs +1 -1
  867. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  868. package/lib/iconsets/mdi.d.ts +54 -0
  869. package/lib/iconsets/mdi.mjs +2 -1
  870. package/lib/iconsets/mdi.mjs.map +1 -1
  871. package/lib/index.d.ts +434 -0
  872. package/lib/locale/adapters/vue-i18n.mjs +64 -0
  873. package/lib/locale/adapters/vue-i18n.mjs.map +1 -0
  874. package/lib/locale/adapters/vue-intl.mjs +67 -0
  875. package/lib/locale/adapters/vue-intl.mjs.map +1 -0
  876. package/lib/locale/cs.mjs +3 -3
  877. package/lib/locale/cs.mjs.map +1 -1
  878. package/lib/locale/es.mjs +2 -2
  879. package/lib/locale/es.mjs.map +1 -1
  880. package/lib/locale/fr.mjs +1 -1
  881. package/lib/locale/fr.mjs.map +1 -1
  882. package/lib/locale/index.d.ts +3111 -0
  883. package/lib/presets/default/index.mjs +1 -1
  884. package/lib/presets/default/index.mjs.map +1 -1
  885. package/lib/services/goto/easing-patterns.mjs +0 -3
  886. package/lib/services/goto/easing-patterns.mjs.map +1 -1
  887. package/lib/services/goto/index.mjs +16 -18
  888. package/lib/services/goto/index.mjs.map +1 -1
  889. package/lib/styles/elements/_blockquote.sass +5 -3
  890. package/lib/styles/elements/_global.sass +5 -4
  891. package/lib/styles/elements/_index.sass +2 -2
  892. package/lib/styles/generic/_colors.scss +31 -10
  893. package/lib/styles/generic/_elevation.scss +2 -2
  894. package/lib/styles/generic/_index.scss +6 -6
  895. package/lib/styles/generic/_reset.scss +236 -232
  896. package/lib/styles/generic/_transitions.scss +8 -5
  897. package/lib/styles/main.css +18612 -0
  898. package/lib/styles/main.sass +4 -5
  899. package/lib/styles/settings/_colors.scss +431 -7
  900. package/lib/styles/settings/_elevations.scss +1 -1
  901. package/lib/styles/settings/_index.sass +4 -10
  902. package/lib/styles/settings/_utilities.scss +486 -472
  903. package/lib/styles/settings/_variables.scss +51 -52
  904. package/lib/styles/tools/_absolute.sass +8 -0
  905. package/lib/styles/tools/_density.sass +3 -1
  906. package/lib/styles/tools/_display.sass +11 -0
  907. package/lib/styles/tools/_elevation.sass +4 -2
  908. package/lib/styles/tools/_functions.sass +30 -25
  909. package/lib/styles/tools/_index.sass +17 -24
  910. package/lib/styles/tools/_radius.sass +5 -2
  911. package/lib/styles/tools/_sheet.sass +7 -4
  912. package/lib/styles/tools/_states.sass +13 -5
  913. package/lib/styles/tools/_utilities.sass +24 -20
  914. package/lib/styles/tools/_variant.sass +10 -2
  915. package/lib/styles/utilities/_display.sass +3 -1
  916. package/lib/styles/utilities/_index.sass +25 -22
  917. package/lib/styles/utilities/_text.sass +3 -1
  918. package/lib/styles.scss +4 -0
  919. package/lib/util/animation.mjs +43 -0
  920. package/lib/util/animation.mjs.map +1 -0
  921. package/lib/util/box.mjs +32 -0
  922. package/lib/util/box.mjs.map +1 -0
  923. package/lib/util/color/APCA.mjs +85 -0
  924. package/lib/util/color/APCA.mjs.map +1 -0
  925. package/lib/util/colorUtils.mjs +3 -0
  926. package/lib/util/colorUtils.mjs.map +1 -1
  927. package/lib/util/console.mjs +2 -1
  928. package/lib/util/console.mjs.map +1 -1
  929. package/lib/util/createSimpleFunctional.mjs +11 -8
  930. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  931. package/lib/util/dateTimeUtils.mjs +3 -1
  932. package/lib/util/dateTimeUtils.mjs.map +1 -1
  933. package/lib/util/defineComponent.mjs +61 -0
  934. package/lib/util/defineComponent.mjs.map +1 -0
  935. package/lib/util/getCurrentInstance.mjs +19 -0
  936. package/lib/util/getCurrentInstance.mjs.map +1 -0
  937. package/lib/util/getScrollParent.mjs +1 -2
  938. package/lib/util/getScrollParent.mjs.map +1 -1
  939. package/lib/util/globals.mjs +1 -0
  940. package/lib/util/globals.mjs.map +1 -1
  941. package/lib/util/helpers.mjs +171 -31
  942. package/lib/util/helpers.mjs.map +1 -1
  943. package/lib/util/index.mjs +4 -1
  944. package/lib/util/isFixedPosition.mjs +12 -0
  945. package/lib/util/isFixedPosition.mjs.map +1 -0
  946. package/lib/util/propsFactory.mjs.map +1 -1
  947. package/lib/util/useRender.mjs +4 -2
  948. package/lib/util/useRender.mjs.map +1 -1
  949. package/package.json +102 -52
  950. package/dist/vuetify.css.map +0 -1
  951. package/dist/vuetify.min.css.map +0 -1
  952. package/lib/components/VAlert/_index.scss +0 -2
  953. package/lib/components/VApp/_index.scss +0 -1
  954. package/lib/components/VAppBar/VAppBarTitle.sass +0 -10
  955. package/lib/components/VAppBar/_index.scss +0 -2
  956. package/lib/components/VAvatar/_index.scss +0 -3
  957. package/lib/components/VBadge/_index.scss +0 -2
  958. package/lib/components/VBanner/VBannerAvatar.mjs +0 -29
  959. package/lib/components/VBanner/VBannerAvatar.mjs.map +0 -1
  960. package/lib/components/VBanner/VBannerContent.mjs +0 -3
  961. package/lib/components/VBanner/VBannerContent.mjs.map +0 -1
  962. package/lib/components/VBanner/_index.scss +0 -2
  963. package/lib/components/VBottomNavigation/_index.scss +0 -2
  964. package/lib/components/VBreadcrumbs/_index.scss +0 -2
  965. package/lib/components/VBtn/_index.scss +0 -3
  966. package/lib/components/VCard/VCardMedia.mjs +0 -3
  967. package/lib/components/VCard/VCardMedia.mjs.map +0 -1
  968. package/lib/components/VCard/_index.scss +0 -3
  969. package/lib/components/VCheckbox/VSimpleCheckbox.mjs +0 -92
  970. package/lib/components/VCheckbox/VSimpleCheckbox.mjs.map +0 -1
  971. package/lib/components/VCheckbox/VSimpleCheckbox.sass +0 -16
  972. package/lib/components/VChip/_index.scss +0 -3
  973. package/lib/components/VCode/_index.scss +0 -2
  974. package/lib/components/VDataTable/VSimpleTable.mjs +0 -48
  975. package/lib/components/VDataTable/VSimpleTable.mjs.map +0 -1
  976. package/lib/components/VDataTable/VSimpleTable.sass +0 -179
  977. package/lib/components/VDialog/_index.scss +0 -2
  978. package/lib/components/VDivider/_index.scss +0 -2
  979. package/lib/components/VExpansionPanel/VExpansionPanelContent.mjs +0 -61
  980. package/lib/components/VExpansionPanel/VExpansionPanelContent.mjs.map +0 -1
  981. package/lib/components/VExpansionPanel/VExpansionPanelHeader.mjs +0 -112
  982. package/lib/components/VExpansionPanel/VExpansionPanelHeader.mjs.map +0 -1
  983. package/lib/components/VFooter/_index.scss +0 -2
  984. package/lib/components/VGrid/_index.scss +0 -2
  985. package/lib/components/VIcon/_index.scss +0 -2
  986. package/lib/components/VImg/_index.scss +0 -2
  987. package/lib/components/VItemGroup/_index.scss +0 -2
  988. package/lib/components/VKbd/_index.scss +0 -2
  989. package/lib/components/VLayout/_index.scss +0 -1
  990. package/lib/components/VList/_index.scss +0 -3
  991. package/lib/components/VList/_mixins.scss +0 -0
  992. package/lib/components/VMain/_index.scss +0 -2
  993. package/lib/components/VNavigationDrawer/_index.scss +0 -2
  994. package/lib/components/VOverlay/_index.scss +0 -2
  995. package/lib/components/VPagination/_index.scss +0 -2
  996. package/lib/components/VParallax/_variables.scss +0 -4
  997. package/lib/components/VProgressCircular/_index.scss +0 -2
  998. package/lib/components/VRadioGroup/VRadio.mjs +0 -179
  999. package/lib/components/VRadioGroup/VRadio.mjs.map +0 -1
  1000. package/lib/components/VRadioGroup/VRadio.sass +0 -25
  1001. package/lib/components/VRangeSlider/VRangeSlider.sass +0 -19
  1002. package/lib/components/VRating/_index.scss +0 -2
  1003. package/lib/components/VResponsive/_index.scss +0 -1
  1004. package/lib/components/VSelect/VSelectList.mjs +0 -251
  1005. package/lib/components/VSelect/VSelectList.mjs.map +0 -1
  1006. package/lib/components/VSheet/_index.scss +0 -2
  1007. package/lib/components/VSlideGroup/VSlideItem.mjs +0 -14
  1008. package/lib/components/VSlideGroup/VSlideItem.mjs.map +0 -1
  1009. package/lib/components/VSystemBar/_index.scss +0 -2
  1010. package/lib/components/VTabs/VTabItem.mjs +0 -23
  1011. package/lib/components/VTabs/VTabItem.mjs.map +0 -1
  1012. package/lib/components/VTabs/VTabsBar.mjs +0 -86
  1013. package/lib/components/VTabs/VTabsBar.mjs.map +0 -1
  1014. package/lib/components/VTabs/VTabsItems.mjs +0 -37
  1015. package/lib/components/VTabs/VTabsItems.mjs.map +0 -1
  1016. package/lib/components/VTabs/VTabsSlider.mjs +0 -20
  1017. package/lib/components/VTabs/VTabsSlider.mjs.map +0 -1
  1018. package/lib/components/VTextField/_mixins.sass +0 -18
  1019. package/lib/components/VTimeline/_index.scss +0 -3
  1020. package/lib/components/VToolbar/_index.scss +0 -2
  1021. package/lib/entry.d.ts +0 -3647
  1022. package/lib/entry.mjs +0 -4
  1023. package/lib/entry.mjs.map +0 -1
  1024. package/lib/framework.d.ts +0 -158
  1025. package/lib/globals.d.mjs +0 -2
  1026. package/lib/globals.d.mjs.map +0 -1
  1027. package/lib/mixins/activatable/index.mjs +0 -199
  1028. package/lib/mixins/activatable/index.mjs.map +0 -1
  1029. package/lib/mixins/applicationable/index.mjs +0 -72
  1030. package/lib/mixins/applicationable/index.mjs.map +0 -1
  1031. package/lib/mixins/binds-attrs/index.mjs +0 -42
  1032. package/lib/mixins/binds-attrs/index.mjs.map +0 -1
  1033. package/lib/mixins/bootable/index.mjs +0 -54
  1034. package/lib/mixins/bootable/index.mjs.map +0 -1
  1035. package/lib/mixins/button-group/index.mjs +0 -28
  1036. package/lib/mixins/button-group/index.mjs.map +0 -1
  1037. package/lib/mixins/colorable/index.mjs +0 -78
  1038. package/lib/mixins/colorable/index.mjs.map +0 -1
  1039. package/lib/mixins/comparable/index.mjs +0 -15
  1040. package/lib/mixins/comparable/index.mjs.map +0 -1
  1041. package/lib/mixins/dependent/index.mjs +0 -73
  1042. package/lib/mixins/dependent/index.mjs.map +0 -1
  1043. package/lib/mixins/elevatable/index.mjs +0 -26
  1044. package/lib/mixins/elevatable/index.mjs.map +0 -1
  1045. package/lib/mixins/filterable/index.mjs +0 -16
  1046. package/lib/mixins/filterable/index.mjs.map +0 -1
  1047. package/lib/mixins/loadable/index.mjs +0 -45
  1048. package/lib/mixins/loadable/index.mjs.map +0 -1
  1049. package/lib/mixins/localable/index.mjs +0 -17
  1050. package/lib/mixins/localable/index.mjs.map +0 -1
  1051. package/lib/mixins/menuable/index.mjs +0 -388
  1052. package/lib/mixins/menuable/index.mjs.map +0 -1
  1053. package/lib/mixins/mobile/index.mjs +0 -50
  1054. package/lib/mixins/mobile/index.mjs.map +0 -1
  1055. package/lib/mixins/overlayable/index.mjs +0 -201
  1056. package/lib/mixins/overlayable/index.mjs.map +0 -1
  1057. package/lib/mixins/picker/index.mjs +0 -75
  1058. package/lib/mixins/picker/index.mjs.map +0 -1
  1059. package/lib/mixins/picker-button/index.mjs +0 -35
  1060. package/lib/mixins/picker-button/index.mjs.map +0 -1
  1061. package/lib/mixins/proxyable/index.mjs +0 -50
  1062. package/lib/mixins/proxyable/index.mjs.map +0 -1
  1063. package/lib/mixins/returnable/index.mjs +0 -36
  1064. package/lib/mixins/returnable/index.mjs.map +0 -1
  1065. package/lib/mixins/rippleable/index.mjs +0 -35
  1066. package/lib/mixins/rippleable/index.mjs.map +0 -1
  1067. package/lib/mixins/roundable/index.mjs +0 -37
  1068. package/lib/mixins/roundable/index.mjs.map +0 -1
  1069. package/lib/mixins/routable/index.mjs +0 -146
  1070. package/lib/mixins/routable/index.mjs.map +0 -1
  1071. package/lib/mixins/selectable/index.mjs +0 -167
  1072. package/lib/mixins/selectable/index.mjs.map +0 -1
  1073. package/lib/mixins/stackable/index.mjs +0 -55
  1074. package/lib/mixins/stackable/index.mjs.map +0 -1
  1075. package/lib/mixins/themeable/index.mjs +0 -111
  1076. package/lib/mixins/themeable/index.mjs.map +0 -1
  1077. package/lib/mixins/toggleable/index.mjs +0 -40
  1078. package/lib/mixins/toggleable/index.mjs.map +0 -1
  1079. package/lib/mixins/translatable/index.mjs +0 -59
  1080. package/lib/mixins/translatable/index.mjs.map +0 -1
  1081. package/lib/mixins/validatable/index.mjs +0 -263
  1082. package/lib/mixins/validatable/index.mjs.map +0 -1
  1083. package/lib/services/application/index.mjs +0 -58
  1084. package/lib/services/application/index.mjs.map +0 -1
  1085. package/lib/services/breakpoint/index.mjs +0 -175
  1086. package/lib/services/breakpoint/index.mjs.map +0 -1
  1087. package/lib/services/index.mjs +0 -10
  1088. package/lib/services/index.mjs.map +0 -1
  1089. package/lib/services/lang/index.mjs +0 -73
  1090. package/lib/services/lang/index.mjs.map +0 -1
  1091. package/lib/services/service/index.mjs +0 -13
  1092. package/lib/services/service/index.mjs.map +0 -1
  1093. package/lib/styles/components/_index.sass +0 -1
  1094. package/lib/styles/components/_selection-controls.sass +0 -119
  1095. package/lib/styles/settings/_dark.scss +0 -137
  1096. package/lib/styles/settings/_light.scss +0 -118
  1097. package/lib/styles/settings/_theme.scss +0 -1
  1098. package/lib/styles/styles.sass +0 -2
  1099. package/lib/util/makeProps.mjs +0 -53
  1100. package/lib/util/makeProps.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vuetify.esm.js","sources":["../src/util/box.ts","../src/util/animation.ts","../src/util/console.ts","../src/util/helpers.ts","../src/util/color/transformSRGB.ts","../src/util/color/transformCIELAB.ts","../src/util/colorUtils.ts","../src/composables/defaults.ts","../src/util/defineComponent.tsx","../src/util/createSimpleFunctional.ts","../src/util/dom.ts","../src/util/easing.ts","../src/util/getCurrentInstance.ts","../src/util/getScrollParent.ts","../src/util/globals.ts","../src/util/isFixedPosition.ts","../src/util/propsFactory.ts","../src/util/useRender.ts","../src/util/color/APCA.ts","../src/composables/theme.ts","../src/composables/resizeObserver.ts","../src/composables/layout.ts","../src/locale/en.ts","../src/locale/index.ts","../src/composables/rtl.ts","../src/components/VApp/VApp.tsx","../src/components/VDefaultsProvider/VDefaultsProvider.tsx","../src/composables/dimensions.ts","../src/components/VResponsive/VResponsive.tsx","../src/directives/intersect/index.ts","../src/composables/transition.ts","../src/components/VImg/VImg.tsx","../src/composables/tag.ts","../src/components/VToolbar/VToolbarTitle.tsx","../src/composables/border.ts","../src/composables/elevation.ts","../src/composables/rounded.ts","../src/composables/color.ts","../src/composables/forwardRef.ts","../src/components/VToolbar/VToolbar.tsx","../src/composables/proxiedModel.ts","../src/components/VAppBar/VAppBar.tsx","../src/composables/density.ts","../src/composables/variant.tsx","../src/components/VBtnGroup/VBtnGroup.tsx","../src/composables/group.ts","../src/components/VBtnToggle/VBtnToggle.tsx","../src/composables/size.ts","../src/composables/icons.tsx","../src/components/VIcon/VIcon.tsx","../src/composables/position.ts","../src/composables/router.tsx","../src/directives/ripple/index.ts","../src/components/VBtn/VBtn.tsx","../src/components/VAppBar/VAppBarNavIcon.tsx","../src/components/VToolbar/VToolbarItems.tsx","../src/components/VAppBar/VAppBarTitle.tsx","../src/components/VAlert/VAlertTitle.ts","../src/components/VAlert/VAlert.tsx","../src/components/VAvatar/VAvatar.tsx","../src/components/VChipGroup/VChipGroup.tsx","../src/components/transitions/createTransition.ts","../src/components/transitions/expand-transition.ts","../src/components/transitions/dialog-transition.tsx","../src/components/transitions/index.ts","../src/components/VChip/VChip.tsx","../src/components/VDivider/VDivider.tsx","../src/components/VList/list.ts","../src/composables/nested/openStrategies.ts","../src/composables/nested/selectStrategies.ts","../src/composables/nested/nested.ts","../src/components/VList/VListGroup.tsx","../src/components/VList/VListItemAvatar.tsx","../src/components/VList/VListItemHeader.ts","../src/components/VList/VListItemSubtitle.ts","../src/components/VList/VListItemTitle.ts","../src/components/VList/VListItem.tsx","../src/components/VList/VListSubheader.tsx","../src/components/VList/VListChildren.tsx","../src/components/VList/VList.tsx","../src/components/VList/VListImg.ts","../src/components/VList/VListItemMedia.tsx","../src/composables/delay.ts","../src/components/VOverlay/useActivator.tsx","../src/components/VOverlay/util/anchor.ts","../src/components/VOverlay/util/point.ts","../src/components/VOverlay/positionStrategies.ts","../src/components/VOverlay/requestNewFrame.ts","../src/components/VOverlay/scrollStrategies.ts","../src/composables/teleport.ts","../src/composables/lazy.ts","../src/composables/stack.ts","../src/composables/overlay.ts","../src/directives/click-outside/index.ts","../src/components/VOverlay/VOverlay.tsx","../src/components/VMenu/VMenu.tsx","../src/components/VMessages/VMessages.tsx","../src/composables/form.ts","../src/composables/validation.ts","../src/components/VInput/VInput.tsx","../src/components/VLabel/VLabel.tsx","../src/components/VField/VFieldLabel.tsx","../src/composables/intersectionObserver.ts","../src/components/VProgressLinear/VProgressLinear.tsx","../src/composables/loader.tsx","../src/composables/focus.ts","../src/components/VField/VField.tsx","../src/components/VCounter/VCounter.tsx","../src/components/VTextField/VTextField.tsx","../src/composables/locale.ts","../src/components/VSelect/VSelect.tsx","../src/composables/filter.ts","../src/components/VAutocomplete/VAutocomplete.tsx","../src/components/VBadge/VBadge.tsx","../src/components/VBanner/VBannerActions.ts","../src/components/VBanner/VBannerText.ts","../src/composables/display.ts","../src/components/VBanner/VBanner.tsx","../src/components/VBottomNavigation/VBottomNavigation.tsx","../src/components/VBreadcrumbs/VBreadcrumbsItem.tsx","../src/components/VBreadcrumbs/VBreadcrumbsDivider.tsx","../src/components/VBreadcrumbs/VBreadcrumbs.tsx","../src/components/VCard/VCardActions.tsx","../src/components/VCard/VCardAvatar.ts","../src/components/VCard/VCardHeader.ts","../src/components/VCard/VCardHeaderText.ts","../src/components/VCard/VCardImg.ts","../src/components/VCard/VCardSubtitle.ts","../src/components/VCard/VCardText.ts","../src/components/VCard/VCardTitle.ts","../src/components/VCard/VCard.tsx","../src/directives/touch/index.ts","../src/components/VWindow/VWindow.tsx","../src/components/VWindow/VWindowItem.tsx","../src/components/VCarousel/VCarousel.tsx","../src/components/VCarousel/VCarouselItem.tsx","../src/components/VSelectionControlGroup/VSelectionControlGroup.tsx","../src/components/VSelectionControl/VSelectionControl.tsx","../src/components/VCheckbox/VCheckbox.tsx","../src/components/VCode/index.ts","../src/components/VSheet/VSheet.tsx","../src/components/VSlider/slider.ts","../src/components/VSlider/VSliderThumb.tsx","../src/components/VSlider/VSliderTrack.tsx","../src/components/VSlider/VSlider.tsx","../src/components/VColorPicker/util/index.ts","../src/components/VColorPicker/VColorPickerPreview.tsx","../src/components/VColorPicker/VColorPickerCanvas.tsx","../src/components/VColorPicker/VColorPickerEdit.tsx","../src/util/colors.ts","../src/components/VColorPicker/VColorPickerSwatches.tsx","../src/components/VColorPicker/VColorPicker.tsx","../src/components/VCombobox/VCombobox.tsx","../src/components/VDialog/VDialog.tsx","../src/components/VExpansionPanel/VExpansionPanels.tsx","../src/components/VExpansionPanel/VExpansionPanelTitle.tsx","../src/components/VExpansionPanel/VExpansionPanelText.tsx","../src/components/VExpansionPanel/VExpansionPanel.tsx","../src/components/VFileInput/VFileInput.tsx","../src/components/VFooter/VFooter.tsx","../src/components/VForm/VForm.tsx","../src/components/VGrid/VContainer.tsx","../src/components/VGrid/VCol.ts","../src/components/VGrid/VRow.ts","../src/components/VGrid/VSpacer.ts","../src/components/VHover/VHover.tsx","../src/components/VItemGroup/VItemGroup.tsx","../src/components/VItemGroup/VItem.tsx","../src/components/VKbd/index.ts","../src/components/VLayout/VLayout.tsx","../src/components/VLayout/VLayoutItem.tsx","../src/components/VLazy/VLazy.tsx","../src/components/VLocaleProvider/VLocaleProvider.tsx","../src/composables/ssrBoot.ts","../src/components/VMain/VMain.tsx","../src/composables/touch.ts","../src/components/VNavigationDrawer/touch.ts","../src/components/VNavigationDrawer/VNavigationDrawer.tsx","../src/composables/hydration.ts","../src/components/VNoSsr/VNoSsr.tsx","../src/composables/refs.ts","../src/components/VPagination/VPagination.tsx","../src/components/VParallax/VParallax.tsx","../src/components/VProgressCircular/VProgressCircular.tsx","../src/components/VRadio/VRadio.tsx","../src/components/VRadioGroup/VRadioGroup.tsx","../src/components/VRangeSlider/VRangeSlider.tsx","../src/components/VRating/VRating.tsx","../src/components/VSlideGroup/helpers.ts","../src/components/VSlideGroup/VSlideGroup.tsx","../src/components/VSlideGroup/VSlideGroupItem.tsx","../src/components/VSnackbar/VSnackbar.tsx","../src/components/VSwitch/VSwitch.tsx","../src/components/VSystemBar/VSystemBar.tsx","../src/components/VTabs/VTab.tsx","../src/components/VTabs/VTabs.tsx","../src/components/VTable/VTable.tsx","../src/components/VTextarea/VTextarea.tsx","../src/components/VThemeProvider/VThemeProvider.tsx","../src/components/VTimeline/shared.ts","../src/components/VTimeline/VTimelineDivider.tsx","../src/components/VTimeline/VTimelineItem.tsx","../src/components/VTimeline/VTimeline.tsx","../src/components/VTooltip/VTooltip.tsx","../src/components/VValidation/VValidation.tsx","../src/directives/mutate/index.ts","../src/directives/resize/index.ts","../src/directives/scroll/index.ts","../src/iconsets/mdi.ts","../src/framework.ts","../src/entry-bundler.ts"],"sourcesContent":["export class Box {\n x: number\n y: number\n width: number\n height: number\n\n constructor ({ x, y, width, height }: {\n x: number\n y: number\n width: number\n height: number\n }) {\n this.x = x\n this.y = y\n this.width = width\n this.height = height\n }\n\n get top () { return this.y }\n get bottom () { return this.y + this.height }\n get left () { return this.x }\n get right () { return this.x + this.width }\n}\n","import { Box } from '@/util/box'\n\n/** @see https://stackoverflow.com/a/57876601/2074736 */\nexport function nullifyTransforms (el: HTMLElement): Box {\n const rect = el.getBoundingClientRect()\n const style = getComputedStyle(el)\n const tx = style.transform\n\n if (tx) {\n let ta, sx, sy, dx, dy\n if (tx.startsWith('matrix3d(')) {\n ta = tx.slice(9, -1).split(/, /)\n sx = +ta[0]\n sy = +ta[5]\n dx = +ta[12]\n dy = +ta[13]\n } else if (tx.startsWith('matrix(')) {\n ta = tx.slice(7, -1).split(/, /)\n sx = +ta[0]\n sy = +ta[3]\n dx = +ta[4]\n dy = +ta[5]\n } else {\n return new Box(rect)\n }\n\n const to = style.transformOrigin\n const x = rect.x - dx - (1 - sx) * parseFloat(to)\n const y = rect.y - dy - (1 - sy) * parseFloat(to.slice(to.indexOf(' ') + 1))\n const w = sx ? rect.width / sx : el.offsetWidth\n const h = sy ? rect.height / sy : el.offsetHeight\n\n return new Box({ x, y, width: w, height: h })\n } else {\n return new Box(rect)\n }\n}\n","/* eslint-disable no-console */\n// import Vuetify from '../framework'\n\nfunction createMessage (message: string, vm?: any, parent?: any): string | void {\n // if (Vuetify.config.silent) return\n\n if (parent) {\n vm = {\n _isVue: true,\n $parent: parent,\n $options: vm,\n }\n }\n\n if (vm) {\n // Only show each message once per instance\n vm.$_alreadyWarned = vm.$_alreadyWarned || []\n if (vm.$_alreadyWarned.includes(message)) return\n vm.$_alreadyWarned.push(message)\n }\n\n return `[Vuetify] ${message}` + (\n vm ? generateComponentTrace(vm) : ''\n )\n}\n\nexport function consoleInfo (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.info(newMessage)\n}\n\nexport function consoleWarn (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.warn(newMessage)\n}\n\nexport function consoleError (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.error(newMessage)\n}\n\nexport function deprecate (original: string, replacement: string, vm?: any, parent?: any) {\n consoleWarn(`[UPGRADE] '${original}' is deprecated, use '${replacement}' instead.`, vm, parent)\n}\nexport function breaking (original: string, replacement: string, vm?: any, parent?: any) {\n consoleError(`[BREAKING] '${original}' has been removed, use '${replacement}' instead. For more information, see the upgrade guide https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide`, vm, parent)\n}\nexport function removed (original: string, vm?: any, parent?: any) {\n consoleWarn(`[REMOVED] '${original}' has been removed. You can safely omit it.`, vm, parent)\n}\n\n/**\n * Shamelessly stolen from vuejs/vue/blob/dev/src/core/util/debug.js\n */\n\nconst classifyRE = /(?:^|[-_])(\\w)/g\nconst classify = (str: string) => str\n .replace(classifyRE, c => c.toUpperCase())\n .replace(/[-_]/g, '')\n\nfunction formatComponentName (vm: any, includeFile?: boolean): string {\n if (vm.$root === vm) {\n return '<Root>'\n }\n const options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm || {}\n let name = options.name || options._componentTag\n const file = options.__file\n if (!name && file) {\n const match = file.match(/([^/\\\\]+)\\.vue$/)\n name = match?.[1]\n }\n\n return (\n (name ? `<${classify(name)}>` : `<Anonymous>`) +\n (file && includeFile !== false ? ` at ${file}` : '')\n )\n}\n\nfunction generateComponentTrace (vm: any): string {\n if (vm._isVue && vm.$parent) {\n const tree: any[] = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (tree.length > 0) {\n const last: any = tree[tree.length - 1]\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++\n vm = vm.$parent\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence]\n currentRecursiveSequence = 0\n }\n }\n tree.push(vm)\n vm = vm.$parent\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map((vm, i) => `${\n i === 0 ? '---> ' : ' '.repeat(5 + i * 2)\n }${\n Array.isArray(vm)\n // eslint-disable-next-line sonarjs/no-nested-template-literals\n ? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)`\n : formatComponentName(vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm)})`\n }\n}\n","// Utilities\nimport { camelize, Fragment } from 'vue'\n\n// Types\nimport type { ComponentInternalInstance, ComponentPublicInstance, InjectionKey, Ref, Slots, VNode, VNodeChild } from 'vue'\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\ntype SelectItemKey = string | (string | number)[] | ((item: Record<string, any>, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: object,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) return fallback === undefined ? item : fallback\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number, start = 0): number[] {\n return Array.from({ length }, (v, k) => start + k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nconst tagsToReplace: Record<string, string> = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n}\n\nexport function escapeHTML (str: string): string {\n return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag)\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\n}\n\nexport function convertToUnit (str: number, unit?: string): string\nexport function convertToUnit (str: string | number | null | undefined, unit?: string): string | undefined\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else if (!isFinite(+str!)) {\n return undefined\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function isComponentInstance (obj: any): obj is ComponentPublicInstance {\n return obj?.$el\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\nexport const keyValues = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift',\n})\n\nexport function keys<O> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\ntype MaybePick<\n T extends object,\n U extends Extract<keyof T, string>\n> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>\n\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: U[]): [yes: MaybePick<T, U>, no: Omit<T, U>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [yes: Partial<T>, no: Partial<T>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [yes: Partial<T>, no: Partial<T>] {\n const found = Object.create(null)\n const rest = Object.create(null)\n\n for (const key in obj) {\n if (\n paths.some(path => path instanceof RegExp\n ? path.test(key)\n : path === key\n )\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of a an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n return pick(attrs, ['class', 'style', 'id', /^data-/])\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i])\n }\n return diff\n}\n\ninterface ItemGroup<T> {\n name: string\n items: T[]\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: [],\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] {\n return v == null\n ? []\n : Array.isArray(v)\n ? v : [v]\n}\n\ntype DataTableCompareFunction<T = any> = (a: T, b: T) => number\nexport function sortItems<T extends any, K extends keyof T> (\n items: T[],\n sortBy: string[],\n sortDesc: boolean[],\n locale: string,\n customSorters?: Record<K, DataTableCompareFunction<T[K]>>\n): T[] {\n if (sortBy === null || !sortBy.length) return items\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return items.sort((a, b) => {\n for (let i = 0; i < sortBy.length; i++) {\n const sortKey = sortBy[i]\n\n let sortA = getObjectValueByPath(a, sortKey)\n let sortB = getObjectValueByPath(b, sortKey)\n\n if (sortDesc[i]) {\n [sortA, sortB] = [sortB, sortA]\n }\n\n if (customSorters?.[sortKey as K]) {\n const customResult = customSorters[sortKey as K](sortA, sortB)\n\n if (!customResult) continue\n\n return customResult\n }\n\n // Check if both cannot be evaluated\n if (sortA === null && sortB === null) {\n continue\n }\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())\n\n if (sortA !== sortB) {\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\ntype Writable<T> = {\n -readonly [P in keyof T]: T[P]\n}\n\n/**\n * Filters slots to only those starting with `prefix`, removing the prefix\n */\nexport function getPrefixedSlots (prefix: string, slots: Slots): Slots {\n return Object.keys(slots)\n .filter(k => k.startsWith(prefix))\n .reduce<Writable<Slots>>((obj, k) => {\n obj[k.replace(prefix, '')] = slots[k]\n return obj\n }, {})\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, base: 1000 | 1024 = 1000): string {\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n arrayFn?: (a: unknown[], b: unknown[]) => unknown[],\n) {\n const out: Record<string, any> = {}\n\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (Array.isArray(sourceProperty) && Array.isArray(targetProperty) && arrayFn) {\n out[key] = arrayFn(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\nexport function getUid () {\n return getUid._uid++\n}\ngetUid._uid = 0\n\nexport function flattenFragments (nodes: VNode[]): VNode[] {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children as VNode[])\n } else {\n return node\n }\n }).flat()\n}\n\nexport const randomHexColor = () => {\n const n = (Math.random() * 0xfffff * 1000000).toString(16)\n return '#' + n.slice(0, 6)\n}\n\nexport function toKebabCase (str = '') {\n return str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n}\n\nexport type MaybeRef<T> = T | Ref<T>\n\nexport function findChildren (vnode?: VNodeChild): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return []\n }\n\n if (Array.isArray(vnode)) {\n return vnode\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (vnode.component) {\n return [vnode.component, ...findChildren(vnode.component?.subTree)]\n .filter(v => v)\n .flat(1)\n }\n\n return []\n}\n\nexport function findChildrenWithProvide (\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') return []\n\n if (Array.isArray(vnode)) {\n return vnode.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.component) {\n if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key as symbol)) {\n return [vnode.component]\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1)\n }\n }\n\n return []\n}\n\nexport class CircularBuffer<T = never> {\n readonly #arr: Array<T> = []\n #pointer = 0\n\n constructor (public readonly size: number) {}\n\n push (val: T) {\n this.#arr[this.#pointer] = val\n this.#pointer = (this.#pointer + 1) % this.size\n }\n\n values (): T[] {\n return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0, this.#pointer))\n }\n}\n\nexport type UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n\nexport function getEventCoordinates (e: MouseEvent | TouchEvent) {\n if ('touches' in e) {\n return { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY }\n }\n\n return { clientX: e.clientX, clientY: e.clientY }\n}\n","import type { ColorInt, XYZ } from '../colorUtils'\nimport { clamp } from '../../util/helpers'\n\n// For converting XYZ to sRGB\nconst srgbForwardMatrix = [\n [3.2406, -1.5372, -0.4986],\n [-0.9689, 1.8758, 0.0415],\n [0.0557, -0.2040, 1.0570],\n]\n\n// Forward gamma adjust\nconst srgbForwardTransform = (C: number): number => (\n C <= 0.0031308\n ? C * 12.92\n : 1.055 * C ** (1 / 2.4) - 0.055\n)\n\n// For converting sRGB to XYZ\nconst srgbReverseMatrix = [\n [0.4124, 0.3576, 0.1805],\n [0.2126, 0.7152, 0.0722],\n [0.0193, 0.1192, 0.9505],\n]\n\n// Reverse gamma adjust\nconst srgbReverseTransform = (C: number): number => (\n C <= 0.04045\n ? C / 12.92\n : ((C + 0.055) / 1.055) ** 2.4\n)\n\nexport function fromXYZ (xyz: XYZ): ColorInt {\n const rgb = Array(3)\n const transform = srgbForwardTransform\n const matrix = srgbForwardMatrix\n\n // Matrix transform, then gamma adjustment\n for (let i = 0; i < 3; ++i) {\n rgb[i] = Math.round(clamp(transform(\n matrix[i][0] * xyz[0] +\n matrix[i][1] * xyz[1] +\n matrix[i][2] * xyz[2]\n )) * 255)\n }\n\n // Rescale back to [0, 255]\n return (rgb[0] << 16) + (rgb[1] << 8) + (rgb[2] << 0)\n}\n\nexport function toXYZ (rgb: ColorInt): XYZ {\n const xyz: XYZ = [0, 0, 0]\n const transform = srgbReverseTransform\n const matrix = srgbReverseMatrix\n\n // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n const r = transform((rgb >> 16 & 0xff) / 255)\n const g = transform((rgb >> 8 & 0xff) / 255)\n const b = transform((rgb >> 0 & 0xff) / 255)\n\n // Matrix color space transform\n for (let i = 0; i < 3; ++i) {\n xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b\n }\n\n return xyz\n}\n","import type { LAB, XYZ } from '../colorUtils'\n\nconst delta = 0.20689655172413793 // 6÷29\n\nconst cielabForwardTransform = (t: number): number => (\n t > delta ** 3\n ? Math.cbrt(t)\n : (t / (3 * delta ** 2)) + 4 / 29\n)\n\nconst cielabReverseTransform = (t: number): number => (\n t > delta\n ? t ** 3\n : (3 * delta ** 2) * (t - 4 / 29)\n)\n\nexport function fromXYZ (xyz: XYZ): LAB {\n const transform = cielabForwardTransform\n const transformedY = transform(xyz[1])\n\n return [\n 116 * transformedY - 16,\n 500 * (transform(xyz[0] / 0.95047) - transformedY),\n 200 * (transformedY - transform(xyz[2] / 1.08883)),\n ]\n}\n\nexport function toXYZ (lab: LAB): XYZ {\n const transform = cielabReverseTransform\n const Ln = (lab[0] + 16) / 116\n return [\n transform(Ln + lab[1] / 500) * 0.95047,\n transform(Ln),\n transform(Ln - lab[2] / 200) * 1.08883,\n ]\n}\n","// Utilities\nimport { consoleWarn } from './console'\nimport { chunk, padEnd } from './helpers'\nimport * as sRGB from '@/util/color/transformSRGB'\nimport * as CIELAB from '@/util/color/transformCIELAB'\n\n// Types\nimport type { Colors } from '@/composables/theme'\n\nexport type ColorInt = number\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\nexport type HSV = { h: number, s: number, v: number }\nexport type HSVA = HSV & { a: number }\nexport type RGB = { r: number, g: number, b: number }\nexport type RGBA = RGB & { a: number }\nexport type HSL = { h: number, s: number, l: number }\nexport type HSLA = HSL & { a: number }\nexport type Hex = string\nexport type Hexa = string\nexport type Color = string | number | {}\n\nexport function isCssColor (color?: string | null | false): boolean {\n return !!color && /^(#|var\\(--|(rgb|hsl)a?\\()/.test(color)\n}\n\nexport function colorToInt (color: Color): ColorInt {\n let rgb\n\n if (typeof color === 'number') {\n rgb = color\n } else if (typeof color === 'string') {\n let c = color.startsWith('#') ? color.substring(1) : color\n if (c.length === 3) {\n c = c.split('').map(char => char + char).join('')\n }\n if (c.length !== 6) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n }\n rgb = parseInt(c, 16)\n } else {\n throw new TypeError(`Colors can only be numbers or strings, recieved ${color == null ? color : color.constructor.name} instead`)\n }\n\n if (rgb < 0) {\n consoleWarn(`Colors cannot be negative: '${color}'`)\n rgb = 0\n } else if (rgb > 0xffffff || isNaN(rgb)) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n rgb = 0xffffff\n }\n\n return rgb\n}\n\nexport function classToHex (\n color: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n): string {\n const [colorName, colorModifier] = color\n .toString().trim().replace('-', '').split(' ', 2) as (string | undefined)[]\n\n let hexColor = ''\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier]\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName] as string\n }\n\n return hexColor\n}\n\nexport function intToHex (color: ColorInt): string {\n let hexColor: string = color.toString(16)\n\n if (hexColor.length < 6) hexColor = '0'.repeat(6 - hexColor.length) + hexColor\n\n return '#' + hexColor\n}\n\nexport function colorToHex (color: Color): string {\n return intToHex(colorToInt(color))\n}\n\n/**\n * Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color HSVA color as an array [0-360, 0-1, 0-1, 0-1]\n */\nexport function HSVAtoRGBA (hsva: HSVA): RGBA {\n const { h, s, v, a } = hsva\n const f = (n: number) => {\n const k = (n + (h / 60)) % 6\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0)\n }\n\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255))\n\n return { r: rgb[0], g: rgb[1], b: rgb[2], a }\n}\n\n/**\n * Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color RGBA color as an array [0-255, 0-255, 0-255, 0-1]\n */\nexport function RGBAtoHSVA (rgba: RGBA): HSVA {\n if (!rgba) return { h: 0, s: 1, v: 1, a: 1 }\n\n const r = rgba.r / 255\n const g = rgba.g / 255\n const b = rgba.b / 255\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n\n let h = 0\n\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + ((g - b) / (max - min)))\n } else if (max === g) {\n h = 60 * (2 + ((b - r) / (max - min)))\n } else if (max === b) {\n h = 60 * (4 + ((r - g) / (max - min)))\n }\n }\n\n if (h < 0) h = h + 360\n\n const s = max === 0 ? 0 : (max - min) / max\n const hsv = [h, s, max]\n\n return { h: hsv[0], s: hsv[1], v: hsv[2], a: rgba.a }\n}\n\nexport function HSVAtoHSLA (hsva: HSVA): HSLA {\n const { h, s, v, a } = hsva\n\n const l = v - (v * s / 2)\n\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l)\n\n return { h, s: sprime, l, a }\n}\n\nexport function HSLAtoHSVA (hsl: HSLA): HSVA {\n const { h, s, l, a } = hsl\n\n const v = l + s * Math.min(l, 1 - l)\n\n const sprime = v === 0 ? 0 : 2 - (2 * l / v)\n\n return { h, s: sprime, v, a }\n}\n\nexport function RGBAtoCSS (rgba: RGBA): string {\n return `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`\n}\n\nexport function HSVAtoCSS (hsva: HSVA): string {\n return RGBAtoCSS(HSVAtoRGBA(hsva))\n}\n\nexport function RGBtoCSS (rgba: RGBA): string {\n return RGBAtoCSS({ ...rgba, a: 1 })\n}\n\nexport function RGBAtoHex (rgba: RGBA): Hex {\n const toHex = (v: number) => {\n const h = Math.round(v).toString(16)\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase()\n }\n\n return `#${[\n toHex(rgba.r),\n toHex(rgba.g),\n toHex(rgba.b),\n toHex(Math.round(rgba.a * 255)),\n ].join('')}`\n}\n\nexport function HexToRGBA (hex: Hex): RGBA {\n const rgba = chunk(hex.slice(1), 2).map((c: string) => parseInt(c, 16))\n\n return {\n r: rgba[0],\n g: rgba[1],\n b: rgba[2],\n a: Math.round((rgba[3] / 255) * 100) / 100,\n }\n}\n\nexport function HexToHSVA (hex: Hex): HSVA {\n const rgb = HexToRGBA(hex)\n return RGBAtoHSVA(rgb)\n}\n\nexport function HSVAtoHex (hsva: HSVA): Hex {\n return RGBAtoHex(HSVAtoRGBA(hsva))\n}\n\nexport function parseHex (hex: string): Hex {\n if (hex.startsWith('#')) {\n hex = hex.slice(1)\n }\n\n hex = hex.replace(/([^0-9a-f])/gi, 'F')\n\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('')\n }\n\n if (hex.length === 6) {\n hex = padEnd(hex, 8, 'F')\n } else {\n hex = padEnd(padEnd(hex, 6), 8, 'F')\n }\n\n return `#${hex}`.toUpperCase().substr(0, 9)\n}\n\nexport function parseGradient (\n gradient: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGBA(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',')\n })\n}\n\nexport function RGBtoInt (rgba: RGBA): ColorInt {\n return (rgba.r << 16) + (rgba.g << 8) + rgba.b\n}\n\nexport function colorToRGB (color: string) {\n const int = colorToInt(color)\n\n return {\n r: (int & 0xFF0000) >> 16,\n g: (int & 0xFF00) >> 8,\n b: (int & 0xFF),\n }\n}\n\nexport function lighten (value: ColorInt, amount: number): ColorInt {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n // TODO: why this false positive?\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n lab[0] = lab[0] + amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\nexport function darken (value: ColorInt, amount: number): ColorInt {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\n/**\n * Calculate the relative luminance of a given color\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nexport function getLuma (color: Color) {\n const rgb = colorToInt(color)\n\n return sRGB.toXYZ(rgb)[1]\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nexport function getContrast (first: Color, second: Color) {\n const l1 = getLuma(first)\n const l2 = getLuma(second)\n\n const light = Math.max(l1, l2)\n const dark = Math.min(l1, l2)\n\n return (light + 0.05) / (dark + 0.05)\n}\n","// Utilities\nimport { computed, inject, provide, ref, unref } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface DefaultsInstance {\n [key: string]: undefined | Record<string, unknown>\n global?: Record<string, unknown>\n}\n\nexport type DefaultsOptions = Partial<DefaultsInstance>\n\nexport const DefaultsSymbol: InjectionKey<Ref<DefaultsInstance>> = Symbol.for('vuetify:defaults')\n\nexport function createDefaults (options?: DefaultsInstance): Ref<DefaultsInstance> {\n return ref(options ?? {})\n}\n\nexport function useDefaults () {\n const defaults = inject(DefaultsSymbol)\n\n if (!defaults) throw new Error('[Vuetify] Could not find defaults instance')\n\n return defaults\n}\n\nexport function provideDefaults (\n defaults?: MaybeRef<DefaultsInstance | undefined>,\n options?: {\n reset?: MaybeRef<number | string | undefined>\n root?: MaybeRef<boolean | undefined>\n scoped?: MaybeRef<boolean | undefined>\n }\n) {\n const injectedDefaults = useDefaults()\n const providedDefaults = ref(defaults)\n\n const newDefaults = computed(() => {\n const scoped = unref(options?.scoped)\n const reset = unref(options?.reset)\n const root = unref(options?.root)\n\n let properties = mergeDeep(providedDefaults.value, { prev: injectedDefaults.value })\n\n if (scoped) return properties\n\n if (reset || root) {\n const len = Number(reset || Infinity)\n\n for (let i = 0; i <= len; i++) {\n if (!properties.prev) break\n\n properties = properties.prev\n }\n\n return properties\n }\n\n return mergeDeep(properties, properties.prev)\n }) as ComputedRef<DefaultsInstance>\n\n provide(DefaultsSymbol, newDefaults)\n\n return newDefaults\n}\n","// Utils\nimport {\n defineComponent as _defineComponent,\n getCurrentInstance,\n shallowReactive,\n toRaw,\n watchEffect,\n} from 'vue'\nimport { consoleWarn } from '@/util/console'\nimport { toKebabCase } from '@/util/helpers'\nimport { useDefaults } from '@/composables/defaults'\n\n// Types\nimport type {\n ComponentOptions,\n ComponentOptionsMixin,\n ComponentOptionsWithObjectProps,\n ComponentPropsOptions,\n ComputedOptions,\n DefineComponent,\n EmitsOptions,\n MethodOptions,\n VNode,\n VNodeChild,\n} from 'vue'\n\nfunction propIsDefined (vnode: VNode, prop: string) {\n return vnode.props?.hasOwnProperty(prop) ||\n vnode.props?.hasOwnProperty(toKebabCase(prop))\n}\n\nexport const defineComponent = (function defineComponent (options: ComponentOptions) {\n options._setup = options._setup ?? options.setup\n\n if (!options.name) {\n consoleWarn('The component is missing an explicit name, unable to generate default prop value')\n\n return options\n }\n\n if (options._setup) {\n options.setup = function setup (props: Record<string, any>, ctx) {\n const vm = getCurrentInstance()!\n const defaults = useDefaults()\n\n const _props = shallowReactive({ ...toRaw(props) })\n watchEffect(() => {\n const globalDefaults = defaults.value.global\n const componentDefaults = defaults.value[options.name!]\n\n for (const prop of Object.keys(props)) {\n let newVal\n if (propIsDefined(vm.vnode, prop)) {\n newVal = props[prop]\n } else {\n newVal = componentDefaults?.[prop] ?? globalDefaults?.[prop] ?? props[prop]\n }\n if (_props[prop] !== newVal) {\n _props[prop] = newVal\n }\n }\n })\n\n return options._setup(_props, ctx)\n }\n }\n\n return options\n}) as unknown as typeof _defineComponent\n\ntype ToListeners<T extends string | number | symbol> = { [K in T]: K extends `on${infer U}` ? Uncapitalize<U> : K }[T]\nexport type SlotsToProps<T extends Record<string, Slot>> = {\n $children: () => (T['default'] | VNodeChild | { [K in keyof T]?: T[K] })\n 'v-slots': new () => { [K in keyof T]?: T[K] | false }\n}/* & { // TODO: individual slots are never converted from the constructor type\n [K in keyof T as `v-slot:${K & string}`]?: new () => (T[K] | false)\n} */\n\ntype Slot<T extends any[] = any[]> = (...args: T) => VNodeChild\nexport type MakeSlots<T extends Record<string, any[]>> = {\n [K in keyof T]?: Slot<T[K]>\n}\n\nexport function genericComponent<T extends (new () => {\n $slots?: Record<string, Slot>\n})> (exposeDefaults = true): <\n PropsOptions extends Readonly<ComponentPropsOptions>,\n RawBindings,\n D,\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = Record<string, any>,\n EE extends string = string,\n I = InstanceType<T>,\n Base = DefineComponent<\n (I extends Record<'$props', any> ? Omit<PropsOptions, keyof I['$props']> : PropsOptions) & (\n I extends Record<'$slots', any>\n ? SlotsToProps<I['$slots']>\n : {}\n ),\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E extends any[] ? E : I extends Record<'$props', any> ? Omit<E, ToListeners<keyof I['$props']>> : E,\n EE\n >\n>(options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE>) => Base & T {\n return options => (exposeDefaults ? defineComponent : _defineComponent)(options) as any\n}\n","import { camelize, capitalize, h } from 'vue'\nimport { defineComponent } from './defineComponent'\n\nexport function createSimpleFunctional (\n klass: string,\n tag = 'div',\n name?: string\n) {\n return defineComponent({\n name: name ?? capitalize(camelize(klass.replace(/__/g, '-'))),\n\n props: {\n tag: {\n type: String,\n default: tag,\n },\n },\n\n setup (props, { slots }) {\n return () => h(props.tag, {\n class: klass,\n }, slots.default?.())\n },\n })\n}\n","/**\n * Returns:\n * - 'null' if the node is not attached to the DOM\n * - the root node (HTMLDocument | ShadowRoot) otherwise\n */\nexport function attachedRoot (node: Node): null | HTMLDocument | ShadowRoot {\n /* istanbul ignore next */\n if (typeof node.getRootNode !== 'function') {\n // Shadow DOM not supported (IE11), lets find the root of this node\n while (node.parentNode) node = node.parentNode\n\n // The root parent is the document if the node is attached to the DOM\n if (node !== document) return null\n\n return document\n }\n\n const root = node.getRootNode()\n\n // The composed root node is the document if the node is attached to the DOM\n if (root !== document && root.getRootNode({ composed: true }) !== document) return null\n\n return root as HTMLDocument | ShadowRoot\n}\n","export const standardEasing = 'cubic-bezier(0.4, 0, 0.2, 1)'\nexport const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)' // Entering\nexport const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)' // Leaving\n","// Utilities\nimport { getCurrentInstance as _getCurrentInstance } from 'vue'\nimport { toKebabCase } from '@/util'\n\nexport function getCurrentInstance (name: string, message?: string) {\n const vm = _getCurrentInstance()\n\n if (!vm) {\n throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`)\n }\n\n return vm\n}\n\nexport function getCurrentInstanceName (name = 'composables') {\n return toKebabCase(getCurrentInstance(name).type?.name)\n}\n","export function getScrollParent (el?: HTMLElement) {\n while (el) {\n if (hasScrollbar(el)) return el\n el = el.parentElement!\n }\n\n return document.scrollingElement as HTMLElement\n}\n\nexport function getScrollParents (el?: HTMLElement) {\n const elements: HTMLElement[] = []\n while (el) {\n if (hasScrollbar(el)) elements.push(el)\n el = el.parentElement!\n }\n\n return elements\n}\n\nexport function hasScrollbar (el?: Element | null) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return style.overflowY === 'scroll' || (style.overflowY === 'auto' && el.scrollHeight > el.clientHeight)\n}\n","export const IS_NODE = typeof process !== 'undefined'\nexport const IN_BROWSER = typeof window !== 'undefined'\nexport const IS_DEBUG = IS_NODE && process.env.DEBUG === 'true'\nexport const IS_PROD = IS_NODE && process.env.NODE_ENV === 'production'\nexport const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window\nexport const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0)\nexport const SUPPORTS_FOCUS_VISIBLE = IN_BROWSER && CSS.supports('selector(:focus-visible)')\n","export function isFixedPosition (el?: HTMLElement) {\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n return true\n }\n el = el.offsetParent as HTMLElement\n }\n return false\n}\n","import type { ComponentObjectPropsOptions, Prop, PropType } from 'vue'\n\n/**\n * Creates a factory function for props definitions.\n * This is used to define props in a composable then override\n * default values in an implementing component.\n *\n * @example Simplified signature\n * (props: Props) => (defaults?: Record<keyof props, any>) => Props\n *\n * @example Usage\n * const makeProps = propsFactory({\n * foo: String,\n * })\n *\n * defineComponent({\n * props: {\n * ...makeProps({\n * foo: 'a',\n * }),\n * },\n * setup (props) {\n * // would be \"string | undefined\", now \"string\" because a default has been provided\n * props.foo\n * },\n * }\n */\n\nexport function propsFactory<\n PropsOptions extends ComponentObjectPropsOptions\n> (props: PropsOptions, source?: string) {\n return <Defaults extends PartialKeys<PropsOptions> = {}>(\n defaults?: Defaults\n ): AppendDefault<PropsOptions, Defaults> => {\n return Object.keys(props).reduce<any>((obj, prop) => {\n const isObjectDefinition = typeof props[prop] === 'object' && props[prop] != null && !Array.isArray(props[prop])\n const definition = isObjectDefinition ? props[prop] : { type: props[prop] }\n\n if (defaults && prop in defaults) {\n obj[prop] = {\n ...definition,\n default: defaults[prop],\n }\n } else {\n obj[prop] = definition\n }\n\n if (source) {\n obj[prop].source = source\n }\n\n return obj\n }, {})\n }\n}\n\ntype AppendDefault<T extends ComponentObjectPropsOptions, D extends PartialKeys<T>> = {\n [P in keyof T]-?: unknown extends D[P]\n ? T[P]\n : T[P] extends Record<string, unknown>\n ? Omit<T[P], 'type' | 'default'> & {\n type: PropType<MergeDefault<T[P], D[P]>>\n default: MergeDefault<T[P], D[P]>\n }\n : {\n type: PropType<MergeDefault<T[P], D[P]>>\n default: MergeDefault<T[P], D[P]>\n }\n}\n\ntype MergeDefault<T, D> = unknown extends D ? InferPropType<T> : (NonNullable<InferPropType<T>> | D)\n\n/**\n * Like `Partial<T>` but doesn't care what the value is\n */\ntype PartialKeys<T> = { [P in keyof T]?: unknown }\n\n// Copied from Vue\ntype InferPropType<T> = T extends null\n ? any // null & true would fail to infer\n : T extends { type: null | true }\n ? any // As TS issue https://github.com/Microsoft/TypeScript/issues/14829 // somehow `ObjectConstructor` when inferred from { (): T } becomes `any` // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\n : T extends ObjectConstructor | { type: ObjectConstructor }\n ? Record<string, any>\n : T extends BooleanConstructor | { type: BooleanConstructor }\n ? boolean\n : T extends Prop<infer V, infer D> ? (unknown extends V ? D : V) : T\n","// Utilities\nimport { getCurrentInstance } from './getCurrentInstance'\n\n// Types\nimport type { VNode } from 'vue'\n\nexport function useRender (render: () => VNode): void {\n const vm = getCurrentInstance('useRender') as any\n vm.render = render\n}\n","/**\n * WCAG 3.0 APCA perceptual contrast algorithm from https://github.com/Myndex/SAPC-APCA\n * @licence https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n * @see https://www.w3.org/WAI/GL/task-forces/silver/wiki/Visual_Contrast_of_Text_Subgroup\n */\n\n// MAGICAL NUMBERS\n\n// sRGB Conversion to Relative Luminance (Y)\n\n// Transfer Curve (aka \"Gamma\") for sRGB linearization\n// Simple power curve vs piecewise described in docs\n// Essentially, 2.4 best models actual display\n// characteristics in combination with the total method\nconst mainTRC = 2.4\n\nconst Rco = 0.2126729 // sRGB Red Coefficient (from matrix)\nconst Gco = 0.7151522 // sRGB Green Coefficient (from matrix)\nconst Bco = 0.0721750 // sRGB Blue Coefficient (from matrix)\n\n// For Finding Raw SAPC Contrast from Relative Luminance (Y)\n\n// Constants for SAPC Power Curve Exponents\n// One pair for normal text, and one for reverse\n// These are the \"beating heart\" of SAPC\nconst normBG = 0.55\nconst normTXT = 0.58\nconst revTXT = 0.57\nconst revBG = 0.62\n\n// For Clamping and Scaling Values\n\nconst blkThrs = 0.03 // Level that triggers the soft black clamp\nconst blkClmp = 1.45 // Exponent for the soft black clamp curve\nconst deltaYmin = 0.0005 // Lint trap\nconst scaleBoW = 1.25 // Scaling for dark text on light\nconst scaleWoB = 1.25 // Scaling for light text on dark\nconst loConThresh = 0.078 // Threshold for new simple offset scale\nconst loConFactor = 12.82051282051282 // = 1/0.078,\nconst loConOffset = 0.06 // The simple offset\nconst loClip = 0.001 // Output clip (lint trap #2)\n\nexport function APCAcontrast (text: number, background: number) {\n // Linearize sRGB\n const Rtxt = ((text >> 16 & 0xff) / 255) ** mainTRC\n const Gtxt = ((text >> 8 & 0xff) / 255) ** mainTRC\n const Btxt = ((text >> 0 & 0xff) / 255) ** mainTRC\n\n const Rbg = ((background >> 16 & 0xff) / 255) ** mainTRC\n const Gbg = ((background >> 8 & 0xff) / 255) ** mainTRC\n const Bbg = ((background >> 0 & 0xff) / 255) ** mainTRC\n\n // Apply the standard coefficients and sum to Y\n let Ytxt = (Rtxt * Rco) + (Gtxt * Gco) + (Btxt * Bco)\n let Ybg = (Rbg * Rco) + (Gbg * Gco) + (Bbg * Bco)\n\n // Soft clamp Y when near black.\n // Now clamping all colors to prevent crossover errors\n if (Ytxt <= blkThrs) Ytxt += (blkThrs - Ytxt) ** blkClmp\n if (Ybg <= blkThrs) Ybg += (blkThrs - Ybg) ** blkClmp\n\n // Return 0 Early for extremely low ∆Y (lint trap #1)\n if (Math.abs(Ybg - Ytxt) < deltaYmin) return 0.0\n\n // SAPC CONTRAST\n\n let outputContrast: number // For weighted final values\n if (Ybg > Ytxt) {\n // For normal polarity, black text on white\n // Calculate the SAPC contrast value and scale\n\n const SAPC = ((Ybg ** normBG) - (Ytxt ** normTXT)) * scaleBoW\n\n // NEW! SAPC SmoothScale™\n // Low Contrast Smooth Scale Rollout to prevent polarity reversal\n // and also a low clip for very low contrasts (lint trap #2)\n // much of this is for very low contrasts, less than 10\n // therefore for most reversing needs, only loConOffset is important\n outputContrast =\n (SAPC < loClip) ? 0.0\n : (SAPC < loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC - loConOffset\n } else {\n // For reverse polarity, light text on dark\n // WoB should always return negative value.\n\n const SAPC = ((Ybg ** revBG) - (Ytxt ** revTXT)) * scaleWoB\n\n outputContrast =\n (SAPC > -loClip) ? 0.0\n : (SAPC > -loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC + loConOffset\n }\n\n return outputContrast * 100\n}\n","// Utilities\nimport { computed, inject, provide, ref, watch, watchEffect } from 'vue'\nimport {\n colorToInt,\n colorToRGB,\n createRange,\n darken,\n getCurrentInstance,\n getLuma,\n IN_BROWSER,\n intToHex,\n lighten,\n mergeDeep,\n propsFactory,\n} from '@/util'\nimport { APCAcontrast } from '@/util/color/APCA'\n\n// Types\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { HeadClient } from '@vueuse/head'\n\ntype DeepPartial<T> = T extends object ? { [P in keyof T]?: DeepPartial<T[P]> } : T\n\ninterface BaseColors {\n background: string\n surface: string\n primary: string\n secondary: string\n success: string\n warning: string\n error: string\n info: string\n}\n\ninterface OnColors {\n 'on-background': string\n 'on-surface': string\n 'on-primary': string\n 'on-secondary': string\n 'on-success': string\n 'on-warning': string\n 'on-error': string\n 'on-info': string\n}\n\nexport interface Colors extends BaseColors, OnColors {\n [key: string]: string\n}\n\ninterface InternalThemeDefinition {\n dark: boolean\n colors: Colors\n variables: Record<string, string | number>\n}\n\ninterface VariationsOptions {\n colors: string[]\n lighten: number\n darken: number\n}\n\ninterface InternalThemeOptions {\n isDisabled: boolean\n defaultTheme: string\n variations: VariationsOptions\n themes: Record<string, InternalThemeDefinition>\n}\n\nexport type ThemeDefinition = DeepPartial<InternalThemeDefinition>\n\nexport type ThemeOptions = false | {\n defaultTheme?: string\n variations?: false | VariationsOptions\n themes?: Record<string, ThemeDefinition>\n}\n\nexport interface ThemeInstance {\n isDisabled: boolean\n themes: Ref<Record<string, InternalThemeDefinition>>\n current: Ref<string>\n themeClasses: Ref<string | undefined>\n setTheme: (key: string, theme: InternalThemeDefinition) => void\n getTheme: (key: string) => InternalThemeDefinition\n styles: Ref<string>\n}\n\nexport const ThemeSymbol: InjectionKey<ThemeInstance> = Symbol.for('vuetify:theme')\n\nexport const makeThemeProps = propsFactory({\n theme: String,\n}, 'theme')\n\nconst defaultThemeOptions: ThemeOptions = {\n defaultTheme: 'light',\n variations: { colors: [], lighten: 0, darken: 0 },\n themes: {\n light: {\n dark: false,\n colors: {\n background: '#FFFFFF',\n surface: '#FFFFFF',\n 'surface-variant': '#424242',\n 'on-surface-variant': '#EEEEEE',\n primary: '#6200EE',\n 'primary-darken-1': '#3700B3',\n secondary: '#03DAC6',\n 'secondary-darken-1': '#018786',\n error: '#B00020',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00',\n },\n variables: {\n 'border-color': '#000000',\n 'border-opacity': 0.12,\n 'high-emphasis-opacity': 0.87,\n 'medium-emphasis-opacity': 0.60,\n 'disabled-opacity': 0.38,\n 'idle-opacity': 0.04,\n 'hover-opacity': 0.04,\n 'focus-opacity': 0.12,\n 'selected-opacity': 0.08,\n 'activated-opacity': 0.12,\n 'pressed-opacity': 0.12,\n 'dragged-opacity': 0.08,\n 'kbd-background-color': '#212529',\n 'kbd-color': '#FFFFFF',\n 'code-background-color': '#C2C2C2',\n },\n },\n dark: {\n dark: true,\n colors: {\n background: '#121212',\n surface: '#212121',\n 'surface-variant': '#BDBDBD',\n 'on-surface-variant': '#424242',\n primary: '#BB86FC',\n 'primary-darken-1': '#3700B3',\n secondary: '#03DAC5',\n 'secondary-darken-1': '#03DAC5',\n error: '#CF6679',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00',\n },\n variables: {\n 'border-color': '#FFFFFF',\n 'border-opacity': 0.12,\n 'high-emphasis-opacity': 0.87,\n 'medium-emphasis-opacity': 0.60,\n 'disabled-opacity': 0.38,\n 'idle-opacity': 0.10,\n 'hover-opacity': 0.04,\n 'focus-opacity': 0.12,\n 'selected-opacity': 0.08,\n 'activated-opacity': 0.12,\n 'pressed-opacity': 0.16,\n 'dragged-opacity': 0.08,\n 'kbd-background-color': '#212529',\n 'kbd-color': '#FFFFFF',\n 'code-background-color': '#B7B7B7',\n },\n },\n },\n}\n\nconst parseThemeOptions = (options: ThemeOptions = defaultThemeOptions): InternalThemeOptions => {\n if (!options) return { ...defaultThemeOptions, isDisabled: true } as InternalThemeOptions\n\n const themes = Object.entries(options.themes ?? {}).reduce((obj, [key, theme]) => {\n const defaultTheme = theme.dark ? defaultThemeOptions.themes?.dark : defaultThemeOptions.themes?.light\n obj[key] = mergeDeep(defaultTheme, theme)\n return obj\n }, {} as Record<string, ThemeDefinition>)\n\n return mergeDeep(\n defaultThemeOptions,\n { ...options, themes },\n ) as InternalThemeOptions\n}\n\n// Composables\nexport function createTheme (app: App, options?: ThemeOptions): ThemeInstance {\n const head = app._context.provides.usehead as HeadClient | undefined\n const parsedOptions = parseThemeOptions(options)\n const styleEl = ref<HTMLStyleElement>()\n const current = ref(parsedOptions.defaultTheme)\n const themes = ref(parsedOptions.themes)\n const variations = ref(parsedOptions.variations)\n\n const computedThemes = computed(() => {\n return Object.entries(themes.value).reduce((obj, [name, original]) => {\n const theme: InternalThemeDefinition = {\n ...original,\n colors: {\n ...original.colors,\n ...(parsedOptions.variations.colors ?? []).reduce((obj, color) => {\n return { ...obj, ...genColorVariations(color, original.colors[color]!) }\n }, {}),\n },\n }\n\n for (const color of Object.keys(theme.colors)) {\n if (/on-[a-z]/.test(color) || theme.colors[`on-${color}`]) continue\n\n const onColor = `on-${color}` as keyof OnColors\n const colorVal = colorToInt(theme.colors[color]!)\n\n const blackContrast = Math.abs(APCAcontrast(0, colorVal))\n const whiteContrast = Math.abs(APCAcontrast(0xffffff, colorVal))\n\n // TODO: warn about poor color selections\n // const contrastAsText = Math.abs(APCAcontrast(colorVal, colorToInt(theme.colors.background)))\n // const minContrast = Math.max(blackContrast, whiteContrast)\n // if (minContrast < 60) {\n // consoleInfo(`${key} theme color ${color} has poor contrast (${minContrast.toFixed()}%)`)\n // } else if (contrastAsText < 60 && !['background', 'surface'].includes(color)) {\n // consoleInfo(`${key} theme color ${color} has poor contrast as text (${contrastAsText.toFixed()}%)`)\n // }\n\n // Prefer white text if both have an acceptable contrast ratio\n theme.colors[onColor] = whiteContrast > Math.min(blackContrast, 50) ? '#fff' : '#000'\n }\n\n obj[name] = theme\n\n return obj\n }, {} as Record<string, InternalThemeDefinition>)\n })\n\n function genColorVariations (name: string, color: string) {\n const obj: Record<string, string> = {}\n for (const variation of (['lighten', 'darken'] as const)) {\n const fn = variation === 'lighten' ? lighten : darken\n for (const amount of createRange(variations.value[variation], 1)) {\n obj[`${name}-${variation}-${amount}`] = intToHex(fn(colorToInt(color), amount))\n }\n }\n\n return obj\n }\n\n const styles = computed(() => {\n const lines = []\n\n for (const themeName of Object.keys(computedThemes.value)) {\n const variables = computedThemes.value[themeName].variables\n\n lines.push(...createCssClass(`.v-theme--${themeName}`, [\n ...genCssVariables(themeName),\n ...Object.keys(variables).map(key => {\n const value = variables[key]\n const color = typeof value === 'string' && value.startsWith('#') ? colorToRGB(value) : undefined\n const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined\n\n return `--v-${key}: ${rgb ?? value}`\n }),\n ]))\n }\n\n const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)))\n for (const key of colors) {\n if (/on-[a-z]/.test(key)) {\n lines.push(...createCssClass(`.${key}`, [`color: rgb(var(--v-theme-${key})) !important`]))\n } else {\n lines.push(\n ...createCssClass(`.bg-${key}`, [\n `--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`,\n `background: rgb(var(--v-theme-${key})) !important`,\n `color: rgb(var(--v-theme-on-${key})) !important`,\n ]),\n ...createCssClass(`.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`]),\n ...createCssClass(`.border-${key}`, [`--v-border-color: var(--v-theme-${key})`]),\n )\n }\n }\n\n return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('')\n })\n\n function genCssVariables (name: string) {\n const theme = computedThemes.value[name]\n\n if (!theme) throw new Error(`Could not find theme ${name}`)\n\n const lightOverlay = theme.dark ? 2 : 1\n const darkOverlay = theme.dark ? 1 : 2\n\n const variables: string[] = []\n for (const [key, value] of Object.entries(theme.colors)) {\n const rgb = colorToRGB(value!)\n variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`)\n if (!key.startsWith('on-')) {\n variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`)\n }\n }\n\n return variables\n }\n\n function createCssClass (selector: string, content: string[]) {\n return [\n `${selector} {\\n`,\n ...content.map(line => ` ${line};\\n`),\n '}\\n',\n ]\n }\n\n if (head) {\n head.addHeadObjs(computed(() => ({\n style: [{\n children: styles.value,\n type: 'text/css',\n id: 'vuetify-theme-stylesheet',\n }],\n })))\n\n if (IN_BROWSER) {\n watchEffect(() => head.updateDOM())\n }\n } else {\n watch(themes, updateStyles, { deep: true, immediate: true })\n\n function updateStyles () {\n if (parsedOptions.isDisabled) return\n\n genStyleElement()\n\n if (styleEl.value) styleEl.value.innerHTML = styles.value\n }\n\n function genStyleElement () {\n if (typeof document === 'undefined' || styleEl.value) return\n\n const el = document.createElement('style')\n el.type = 'text/css'\n el.id = 'vuetify-theme-stylesheet'\n\n styleEl.value = el\n document.head.appendChild(styleEl.value)\n }\n }\n\n return {\n isDisabled: parsedOptions.isDisabled,\n themes: computedThemes,\n setTheme: (key: string, theme: InternalThemeDefinition) => themes.value[key] = theme,\n getTheme: (key: string) => computedThemes.value[key],\n current,\n themeClasses: computed(() => parsedOptions.isDisabled ? undefined : `v-theme--${current.value}`),\n styles,\n }\n}\n\nexport function provideTheme (props: { theme?: string }) {\n getCurrentInstance('provideTheme')\n\n const theme = inject(ThemeSymbol, null)\n\n if (!theme) throw new Error('Could not find Vuetify theme injection')\n\n const current = computed<string>(() => {\n return props.theme ?? theme?.current.value\n })\n\n const themeClasses = computed(() => theme.isDisabled ? undefined : `v-theme--${current.value}`)\n\n const newTheme: ThemeInstance = {\n ...theme,\n current,\n themeClasses,\n }\n\n provide(ThemeSymbol, newTheme)\n\n return newTheme\n}\n\nexport function useTheme () {\n getCurrentInstance('useTheme')\n\n const theme = inject(ThemeSymbol, null)\n\n if (!theme) throw new Error('Could not find Vuetify theme injection')\n\n return theme\n}\n","// Utilities\nimport { onBeforeUnmount, readonly, ref, watch } from 'vue'\nimport type { DeepReadonly, Ref } from 'vue'\n\n// Globals\nimport { IN_BROWSER } from '@/util/globals'\n\ninterface ResizeState {\n resizeRef: Ref<Element | undefined>\n contentRect: DeepReadonly<Ref<DOMRectReadOnly | undefined>>\n borderBoxSize: DeepReadonly<Ref<ResizeObserverSize | undefined>>\n contentBoxSize: DeepReadonly<Ref<ResizeObserverSize | undefined>>\n}\n\nexport function useResizeObserver (callback?: ResizeObserverCallback): ResizeState {\n const resizeRef = ref<Element>()\n const contentRect = ref<DOMRectReadOnly>()\n const contentBoxSize = ref<ResizeObserverSize>()\n const borderBoxSize = ref<ResizeObserverSize>()\n\n if (IN_BROWSER) {\n const observer = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n callback?.(entries, observer)\n\n if (!entries.length) return\n\n contentRect.value = entries[0].contentRect\n contentBoxSize.value = entries[0].contentBoxSize[0]\n borderBoxSize.value = entries[0].borderBoxSize[0]\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(resizeRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue)\n contentRect.value = undefined\n contentBoxSize.value = undefined\n borderBoxSize.value = undefined\n }\n\n if (newValue) observer.observe(newValue)\n }, {\n flush: 'post',\n })\n }\n\n return {\n resizeRef,\n contentRect: readonly(contentRect),\n contentBoxSize: readonly(contentBoxSize),\n borderBoxSize: readonly(borderBoxSize),\n }\n}\n","// Composables\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, inject, onActivated, onBeforeUnmount, onDeactivated, onMounted, provide, reactive, ref } from 'vue'\nimport { convertToUnit, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, InjectionKey, Prop, Ref } from 'vue'\n\ntype Position = 'top' | 'left' | 'right' | 'bottom'\n\ntype LayoutItem = {\n id: string\n top: number\n bottom: number\n left: number\n right: number\n size: number\n}\n\ninterface LayoutProvide {\n register: (\n vm: ComponentInternalInstance,\n options: {\n id: string\n priority: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n }\n ) => {\n layoutItemStyles: Ref<Record<string, unknown>>\n layoutItemScrimStyles: Ref<Record<string, unknown>>\n zIndex: Ref<number>\n }\n unregister: (id: string) => void\n mainStyles: Ref<Record<string, unknown>>\n getLayoutItem: (id: string) => LayoutItem | undefined\n items: Ref<LayoutItem[]>\n layoutRect: Ref<DOMRectReadOnly | undefined>\n rootZIndex: Ref<number>\n}\n\nexport const VuetifyLayoutKey: InjectionKey<LayoutProvide> = Symbol.for('vuetify:layout')\n\nconst ROOT_ZINDEX = 1000\n\nexport const makeLayoutProps = propsFactory({\n overlaps: {\n type: Array,\n default: () => ([]),\n } as Prop<string[]>,\n fullHeight: Boolean,\n}, 'layout')\n\n// Composables\nexport const makeLayoutItemProps = propsFactory({\n name: {\n type: String,\n },\n priority: {\n type: [Number, String],\n default: 0,\n },\n absolute: Boolean,\n}, 'layout-item')\n\nexport function useLayout () {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n return layout\n}\n\nexport function useLayoutItem (options: {\n id: string | undefined\n priority: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n}) {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n const id = options.id ?? `layout-item-${getUid()}`\n\n const vm = getCurrentInstance('useLayoutItem')\n\n const isKeptAlive = ref(false)\n onDeactivated(() => isKeptAlive.value = true)\n onActivated(() => isKeptAlive.value = false)\n\n const {\n layoutItemStyles,\n layoutItemScrimStyles,\n } = layout.register(vm, {\n ...options,\n active: computed(() => isKeptAlive.value ? false : options.active.value),\n id,\n })\n\n onBeforeUnmount(() => layout.unregister(id))\n\n return { layoutItemStyles, layoutRect: layout.layoutRect, layoutItemScrimStyles }\n}\n\nconst generateLayers = (\n layout: string[],\n positions: Map<string, Ref<Position>>,\n layoutSizes: Map<string, Ref<number | string>>,\n activeItems: Map<string, Ref<boolean>>,\n) => {\n let previousLayer = { top: 0, left: 0, right: 0, bottom: 0 }\n const layers = [{ id: '', layer: { ...previousLayer } }]\n for (const id of layout) {\n const position = positions.get(id)\n const amount = layoutSizes.get(id)\n const active = activeItems.get(id)\n if (!position || !amount || !active) continue\n\n const layer = {\n ...previousLayer,\n [position.value]: parseInt(previousLayer[position.value], 10) + (active.value ? parseInt(amount.value, 10) : 0),\n }\n\n layers.push({\n id,\n layer,\n })\n\n previousLayer = layer\n }\n\n return layers\n}\n\nexport function createLayout (props: { overlaps?: string[], fullHeight?: boolean }) {\n const parentLayout = inject(VuetifyLayoutKey, null)\n const rootZIndex = computed(() => parentLayout ? parentLayout.rootZIndex.value - 100 : ROOT_ZINDEX)\n const registered = ref<string[]>([])\n const positions = reactive(new Map<string, Ref<Position>>())\n const layoutSizes = reactive(new Map<string, Ref<number | string>>())\n const priorities = reactive(new Map<string, Ref<number>>())\n const activeItems = reactive(new Map<string, Ref<boolean>>())\n const disabledTransitions = reactive(new Map<string, Ref<boolean>>())\n const { resizeRef, contentRect: layoutRect } = useResizeObserver()\n\n const computedOverlaps = computed(() => {\n const map = new Map<string, { position: Position, amount: number }>()\n const overlaps = props.overlaps ?? []\n for (const overlap of overlaps.filter(item => item.includes(':'))) {\n const [top, bottom] = overlap.split(':')\n if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue\n\n const topPosition = positions.get(top)\n const bottomPosition = positions.get(bottom)\n const topAmount = layoutSizes.get(top)\n const bottomAmount = layoutSizes.get(bottom)\n\n if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue\n\n map.set(bottom, { position: topPosition.value, amount: parseInt(topAmount.value, 10) })\n map.set(top, { position: bottomPosition.value, amount: -parseInt(bottomAmount.value, 10) })\n }\n\n return map\n })\n\n const layers = computed(() => {\n const uniquePriorities = [...new Set([...priorities.values()].map(p => p.value))].sort((a, b) => a - b)\n const layout = []\n for (const p of uniquePriorities) {\n const items = registered.value.filter(id => priorities.get(id)?.value === p)\n layout.push(...items)\n }\n return generateLayers(layout, positions, layoutSizes, activeItems)\n })\n\n const transitionsEnabled = computed(() => {\n return !Array.from(disabledTransitions.values()).some(ref => ref.value)\n })\n\n const mainStyles = computed(() => {\n const layer = layers.value[layers.value.length - 1].layer\n\n return {\n position: 'relative',\n paddingLeft: convertToUnit(layer.left),\n paddingRight: convertToUnit(layer.right),\n paddingTop: convertToUnit(layer.top),\n paddingBottom: convertToUnit(layer.bottom),\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n })\n\n const items = computed(() => {\n return layers.value.slice(1).map(({ id }, index) => {\n const { layer } = layers.value[index]\n const size = layoutSizes.get(id)\n\n return {\n id,\n ...layer,\n size: Number(size!.value),\n }\n })\n })\n\n const getLayoutItem = (id: string) => {\n return items.value.find(item => item.id === id)\n }\n\n const rootVm = getCurrentInstance('createLayout')\n\n const isMounted = ref(false)\n onMounted(() => {\n isMounted.value = true\n })\n\n provide(VuetifyLayoutKey, {\n register: (\n vm: ComponentInternalInstance,\n {\n id,\n priority,\n position,\n layoutSize,\n elementSize,\n active,\n disableTransitions,\n absolute,\n }\n ) => {\n priorities.set(id, priority)\n positions.set(id, position)\n layoutSizes.set(id, layoutSize)\n activeItems.set(id, active)\n disableTransitions && disabledTransitions.set(id, disableTransitions)\n\n const instances = findChildrenWithProvide(VuetifyLayoutKey, rootVm?.vnode)\n const instanceIndex = instances.indexOf(vm)\n\n if (instanceIndex > -1) registered.value.splice(instanceIndex, 0, id)\n else registered.value.push(id)\n\n const index = computed(() => items.value.findIndex(i => i.id === id))\n const zIndex = computed(() => rootZIndex.value + (layers.value.length * 2) - (index.value * 2))\n\n const layoutItemStyles = computed(() => {\n const isHorizontal = position.value === 'left' || position.value === 'right'\n const isOppositeHorizontal = position.value === 'right'\n const isOppositeVertical = position.value === 'bottom'\n\n const styles = {\n [position.value]: 0,\n zIndex: zIndex.value,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -110) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}%)`,\n position: absolute.value || rootZIndex.value !== ROOT_ZINDEX ? 'absolute' : 'fixed',\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n\n if (!isMounted.value) return styles\n\n if (index.value < 0) throw new Error(`Layout item \"${id}\" is missing`)\n\n const item = items.value[index.value]\n\n if (!item) throw new Error(`Could not find layout item \"${id}`)\n\n const overlap = computedOverlaps.value.get(id)\n if (overlap) {\n item[overlap.position] += overlap.amount\n }\n\n return {\n ...styles,\n height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : `${elementSize.value}px`,\n marginLeft: isOppositeHorizontal ? undefined : `${item.left}px`,\n marginRight: isOppositeHorizontal ? `${item.right}px` : undefined,\n marginTop: position.value !== 'bottom' ? `${item.top}px` : undefined,\n marginBottom: position.value !== 'top' ? `${item.bottom}px` : undefined,\n width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : `${elementSize.value}px`,\n }\n })\n\n const layoutItemScrimStyles = computed(() => ({\n zIndex: zIndex.value - 1,\n position: rootZIndex.value === ROOT_ZINDEX ? 'fixed' : 'absolute',\n }))\n\n return { layoutItemStyles, layoutItemScrimStyles, zIndex }\n },\n unregister: (id: string) => {\n priorities.delete(id)\n positions.delete(id)\n layoutSizes.delete(id)\n activeItems.delete(id)\n disabledTransitions.delete(id)\n registered.value = registered.value.filter(v => v !== id)\n },\n mainStyles,\n getLayoutItem,\n items,\n layoutRect,\n rootZIndex,\n })\n\n const layoutClasses = computed(() => [\n 'v-layout',\n { 'v-layout--full-height': props.fullHeight },\n ])\n\n const layoutStyles = computed(() => ({\n zIndex: rootZIndex.value,\n }))\n\n return {\n layoutClasses,\n layoutStyles,\n getLayoutItem,\n items,\n layoutRect,\n layoutRef: resizeRef,\n }\n}\n","export default {\n badge: 'Badge',\n close: 'Close',\n dataIterator: {\n noResultsText: 'No matching records found',\n loadingText: 'Loading items...',\n },\n dataTable: {\n itemsPerPageText: 'Rows per page:',\n ariaLabel: {\n sortDescending: 'Sorted descending.',\n sortAscending: 'Sorted ascending.',\n sortNone: 'Not sorted.',\n activateNone: 'Activate to remove sorting.',\n activateDescending: 'Activate to sort descending.',\n activateAscending: 'Activate to sort ascending.',\n },\n sortBy: 'Sort by',\n },\n dataFooter: {\n itemsPerPageText: 'Items per page:',\n itemsPerPageAll: 'All',\n nextPage: 'Next page',\n prevPage: 'Previous page',\n firstPage: 'First page',\n lastPage: 'Last page',\n pageText: '{0}-{1} of {2}',\n },\n datePicker: {\n itemsSelected: '{0} selected',\n nextMonthAriaLabel: 'Next month',\n nextYearAriaLabel: 'Next year',\n prevMonthAriaLabel: 'Previous month',\n prevYearAriaLabel: 'Previous year',\n },\n noDataText: 'No data available',\n carousel: {\n prev: 'Previous visual',\n next: 'Next visual',\n ariaLabel: {\n delimiter: 'Carousel slide {0} of {1}',\n },\n },\n calendar: {\n moreEvents: '{0} more',\n },\n fileInput: {\n counter: '{0} files',\n counterSize: '{0} files ({1} in total)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n root: 'Pagination Navigation',\n next: 'Next page',\n previous: 'Previous page',\n page: 'Goto Page {0}',\n currentPage: 'Page {0}, Current Page',\n first: 'First page',\n last: 'Last page',\n },\n },\n rating: {\n ariaLabel: {\n item: 'Rating {0} of {1}',\n },\n },\n}\n","export { default as af } from './af'\nexport { default as ar } from './ar'\nexport { default as bg } from './bg'\nexport { default as ca } from './ca'\nexport { default as ckb } from './ckb'\nexport { default as cs } from './cs'\nexport { default as da } from './da'\nexport { default as de } from './de'\nexport { default as el } from './el'\nexport { default as en } from './en'\nexport { default as es } from './es'\nexport { default as et } from './et'\nexport { default as fa } from './fa'\nexport { default as fi } from './fi'\nexport { default as fr } from './fr'\nexport { default as hr } from './hr'\nexport { default as hu } from './hu'\nexport { default as he } from './he'\nexport { default as id } from './id'\nexport { default as it } from './it'\nexport { default as ja } from './ja'\nexport { default as ko } from './ko'\nexport { default as lv } from './lv'\nexport { default as lt } from './lt'\nexport { default as nl } from './nl'\nexport { default as no } from './no'\nexport { default as pl } from './pl'\nexport { default as pt } from './pt'\nexport { default as ro } from './ro'\nexport { default as ru } from './ru'\nexport { default as sk } from './sk'\nexport { default as sl } from './sl'\nexport { default as srCyrl } from './sr-Cyrl'\nexport { default as srLatn } from './sr-Latn'\nexport { default as sv } from './sv'\nexport { default as th } from './th'\nexport { default as tr } from './tr'\nexport { default as az } from './az'\nexport { default as uk } from './uk'\nexport { default as vi } from './vi'\nexport { default as zhHans } from './zh-Hans'\nexport { default as zhHant } from './zh-Hant'\n\nexport const rtl = {\n af: false,\n ar: true,\n bg: false,\n ca: false,\n ckb: false,\n cs: false,\n de: false,\n el: false,\n en: false,\n es: false,\n et: false,\n fa: false,\n fi: false,\n fr: false,\n hr: false,\n hu: false,\n he: true,\n id: false,\n it: false,\n ja: false,\n ko: false,\n lv: false,\n lt: false,\n nl: false,\n no: false,\n pl: false,\n pt: false,\n ro: false,\n ru: false,\n sk: false,\n sl: false,\n srCyrl: false,\n srLatn: false,\n sv: false,\n th: false,\n tr: false,\n az: false,\n uk: false,\n vi: false,\n zhHans: false,\n zhHant: false,\n}\n","import { computed, inject, provide, ref } from 'vue'\nimport { rtl } from '@/locale'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\nimport type { LocaleInstance } from './locale'\n\nexport interface RtlOptions {\n defaultRtl?: boolean\n rtl?: Record<string, boolean>\n}\n\nexport interface RtlProps {\n rtl?: boolean\n}\n\nexport interface RtlInstance {\n isRtl: Ref<boolean>\n rtl: Record<string, boolean>\n rtlClasses: Ref<string>\n}\n\nexport const RtlSymbol: InjectionKey<RtlInstance> = Symbol.for('vuetify:rtl')\n\nexport function createRtl (localeScope: LocaleInstance, options?: RtlOptions) {\n return createRtlScope({\n rtl: {\n ...rtl,\n ...(options?.rtl ?? {}),\n },\n isRtl: ref(options?.defaultRtl ?? false),\n rtlClasses: ref(''),\n }, localeScope)\n}\n\nexport function createRtlScope (currentScope: RtlInstance, localeScope: LocaleInstance, options?: RtlProps): RtlInstance {\n const isRtl = computed(() => {\n if (typeof options?.rtl === 'boolean') return options.rtl\n if (localeScope.current.value && currentScope.rtl.hasOwnProperty(localeScope.current.value)) {\n return currentScope.rtl[localeScope.current.value]\n }\n\n return currentScope.isRtl.value\n })\n\n return {\n isRtl,\n rtl: currentScope.rtl,\n rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`),\n }\n}\n\nexport function provideRtl (props: RtlProps, localeScope: LocaleInstance) {\n const currentScope = inject(RtlSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n const newScope = createRtlScope(currentScope, localeScope, props)\n\n provide(RtlSymbol, newScope)\n\n return newScope\n}\n\nexport function useRtl () {\n const currentScope = inject(RtlSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n return currentScope\n}\n","// Styles\nimport './VApp.sass'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\nimport { useRtl } from '@/composables/rtl'\n\nexport const VApp = defineComponent({\n name: 'VApp',\n\n props: {\n ...makeLayoutProps({ fullHeight: true }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const theme = provideTheme(props)\n const { layoutClasses, layoutStyles, getLayoutItem, items, layoutRef } = createLayout(props)\n const { rtlClasses } = useRtl()\n\n useRender(() => (\n <div\n ref={ layoutRef }\n class={[\n 'v-application',\n theme.themeClasses.value,\n layoutClasses.value,\n rtlClasses.value,\n ]}\n style={ layoutStyles.value }\n data-app=\"true\"\n >\n <div class=\"v-application__wrap\">\n { slots.default?.() }\n </div>\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n theme,\n }\n },\n})\n\nexport type VApp = InstanceType<typeof VApp>\n","// Composables\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { defineComponent, toRefs } from 'vue'\n\n// Types\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { PropType } from 'vue'\n\nexport const VDefaultsProvider = defineComponent({\n name: 'VDefaultsProvider',\n\n props: {\n defaults: Object as PropType<DefaultsOptions>,\n reset: [Number, String],\n root: Boolean,\n scoped: Boolean,\n },\n\n setup (props, { slots }) {\n const { defaults, reset, root, scoped } = toRefs(props)\n\n provideDefaults(defaults, {\n reset,\n root,\n scoped,\n })\n\n return () => slots.default?.()\n },\n})\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, propsFactory } from '@/util'\n\n// Types\nexport interface DimensionProps {\n height?: number | string\n maxHeight?: number | string\n maxWidth?: number | string\n minHeight?: number | string\n minWidth?: number | string\n width?: number | string\n}\n\n// Composables\nexport const makeDimensionProps = propsFactory({\n height: [Number, String],\n maxHeight: [Number, String],\n maxWidth: [Number, String],\n minHeight: [Number, String],\n minWidth: [Number, String],\n width: [Number, String],\n}, 'dimension')\n\nexport function useDimension (props: DimensionProps) {\n const dimensionStyles = computed(() => ({\n height: convertToUnit(props.height),\n maxHeight: convertToUnit(props.maxHeight),\n maxWidth: convertToUnit(props.maxWidth),\n minHeight: convertToUnit(props.minHeight),\n minWidth: convertToUnit(props.minWidth),\n width: convertToUnit(props.width),\n }))\n\n return { dimensionStyles }\n}\n","// Styles\nimport './VResponsive.sass'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport function useAspectStyles (props: { aspectRatio?: string | number }) {\n return {\n aspectStyles: computed(() => {\n const ratio = Number(props.aspectRatio)\n\n return ratio\n ? { paddingBottom: String(1 / ratio * 100) + '%' }\n : undefined\n }),\n }\n}\n\nexport const VResponsive = defineComponent({\n name: 'VResponsive',\n\n props: {\n aspectRatio: [String, Number],\n contentClass: String,\n\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n const { aspectStyles } = useAspectStyles(props)\n\n return () => (\n <div class=\"v-responsive\" style={ dimensionStyles.value }>\n <div class=\"v-responsive__sizer\" style={ aspectStyles.value } />\n { slots.additional?.() }\n { slots.default && (\n <div class={['v-responsive__content', props.contentClass]}>{ slots.default() }</div>\n )}\n </div>\n )\n },\n})\n","// Utils\nimport { SUPPORTS_INTERSECTION } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\ntype ObserveHandler = (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n) => void\n\nexport interface ObserveDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n if (!SUPPORTS_INTERSECTION) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n const _observe = el._observe?.[binding.instance!.$.uid]\n if (!_observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n _observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n _observe.init\n )\n ) {\n handler(isIntersecting, entries, observer)\n }\n\n if (isIntersecting && modifiers.once) unmounted(el, binding)\n else _observe.init = true\n }, options)\n\n el._observe = Object(el._observe)\n el._observe![binding.instance!.$.uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unmounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n const observe = el._observe?.[binding.instance!.$.uid]\n if (!observe) return\n\n observe.observer.unobserve(el)\n delete el._observe![binding.instance!.$.uid]\n}\n\nexport const Intersect: ObjectDirective<HTMLElement> = {\n mounted,\n unmounted,\n}\n\nexport default Intersect\n","// Utilities\nimport { h, mergeProps, Transition } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Component, FunctionalComponent, PropType, TransitionProps } from 'vue'\n\nexport const makeTransitionProps = propsFactory({\n transition: {\n type: [Boolean, String, Object] as PropType<string | boolean | TransitionProps & { component?: Component }>,\n default: 'fade-transition',\n validator: val => val !== true,\n },\n}, 'transition')\n\ninterface MaybeTransitionProps extends TransitionProps {\n transition?: string | boolean | TransitionProps & { component?: any }\n}\n\nexport const MaybeTransition: FunctionalComponent<MaybeTransitionProps> = (props, { slots }) => {\n const { transition, ...rest } = props\n\n if (!transition || typeof transition === 'boolean') return slots.default?.()\n\n const { component = Transition, ...customProps } = typeof transition === 'object' ? transition : {}\n\n return h(\n component,\n mergeProps(typeof transition === 'string' ? { name: transition } : customProps as any, rest as any),\n slots\n )\n}\n","import './VImg.sass'\n\n// Components\nimport { VResponsive } from '@/components/VResponsive'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Composables\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport {\n computed,\n h,\n nextTick,\n onBeforeMount,\n ref,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n defineComponent,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport const VImg = defineComponent({\n name: 'VImg',\n\n directives: { intersect },\n\n props: {\n aspectRatio: [String, Number],\n alt: String,\n cover: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n srcset: String,\n width: [String, Number],\n\n ...makeTransitionProps(),\n },\n\n emits: ['loadstart', 'load', 'error'],\n\n setup (props, { emit, slots }) {\n const currentSrc = ref('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = ref<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = ref<number>()\n const naturalHeight = ref<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n\n if (!normalisedSrc.value.src) return\n\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n }\n\n function onLoad () {\n getSrc()\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = computed(() => {\n if (!normalisedSrc.value.src || state.value === 'idle') return\n\n const img = h('img', {\n class: ['v-img__img', containClasses.value],\n src: normalisedSrc.value.src,\n srcset: normalisedSrc.value.srcset,\n sizes: props.sizes,\n ref: image,\n onLoad,\n onError,\n })\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n })\n\n const __preloadImage = computed(() => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n src={ normalisedSrc.value.lazySrc }\n alt=\"\"\n />\n )}\n </MaybeTransition>\n ))\n\n const __placeholder = computed(() => {\n if (!slots.placeholder) return\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n })\n\n const __error = computed(() => {\n if (!slots.error) return\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n })\n\n const __gradient = computed(() => {\n if (!props.gradient) return\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n })\n\n const isBooted = ref(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n ]}\n style={{ width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) }}\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n v-slots={{\n additional: () => [__image.value, __preloadImage.value, __gradient.value, __placeholder.value, __error.value],\n default: slots.default,\n }}\n />\n ))\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n","// Utilities\nimport { propsFactory } from '@/util'\n\n// Types\nexport interface TagProps {\n tag: string\n}\n\n// Composables\nexport const makeTagProps = propsFactory({\n tag: {\n type: String,\n default: 'div',\n },\n}, 'tag')\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { MakeSlots } from '@/util'\n\nexport const VToolbarTitle = genericComponent<new () => {\n $slots: MakeSlots<{\n default: []\n text: []\n }>\n}>()({\n name: 'VToolbarTitle',\n\n props: {\n text: String,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n useRender(() => {\n const hasText = !!(slots.default || slots.text || props.text)\n\n return (\n <props.tag class=\"v-toolbar-title\">\n { hasText && (\n <div class=\"v-toolbar-title__placeholder\">\n { slots.text ? slots.text() : props.text }\n\n { slots.default?.() }\n </div>\n ) }\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VToolbarTitle = InstanceType<typeof VToolbarTitle>\n","// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nexport interface BorderProps {\n border?: boolean | number | string\n}\n\n// Composables\nexport const makeBorderProps = propsFactory({\n border: [Boolean, Number, String],\n}, 'border')\n\nexport function useBorder (\n props: BorderProps,\n name = getCurrentInstanceName(),\n) {\n const borderClasses = computed(() => {\n const classes: string[] = []\n\n if (props.border != null && props.border !== false) {\n classes.push(`${name}--border`)\n }\n\n if (\n (typeof props.border === 'string' && props.border !== '') ||\n props.border === 0\n ) {\n for (const value of String(props.border).split(' ')) {\n classes.push(`border-${value}`)\n }\n }\n\n return classes\n })\n\n return { borderClasses }\n}\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nexport interface ElevationProps {\n elevation?: number | string | null\n}\n\n// Composables\nexport const makeElevationProps = propsFactory({\n elevation: {\n type: [Number, String],\n validator (v: any) {\n const value = parseInt(v)\n\n return (\n !isNaN(value) &&\n value >= 0 &&\n // Material Design has a maximum elevation of 24\n // https://material.io/design/environment/elevation.html#default-elevations\n value <= 24\n )\n },\n },\n}, 'elevation')\n\ntype ElevationData = {\n elevationClasses: Ref<string[]>\n}\n\nexport function useElevation (props: ElevationProps | Ref<number | string | undefined>): ElevationData {\n const elevationClasses = computed(() => {\n const elevation = isRef(props) ? props.value : props.elevation\n const classes: string[] = []\n\n if (elevation == null) return classes\n\n classes.push(`elevation-${elevation}`)\n\n return classes\n })\n\n return { elevationClasses }\n}\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\ntype RoundedValue = boolean | string | number | null | undefined\n\nexport interface RoundedProps {\n rounded?: RoundedValue\n tile?: boolean\n}\n\ntype RoundedData = {\n roundedClasses: Ref<string[]>\n}\n\n// Composables\nexport const makeRoundedProps = propsFactory({\n rounded: {\n type: [Boolean, Number, String],\n default: undefined,\n },\n}, 'rounded')\n\nexport function useRounded (\n props: RoundedProps | Ref<RoundedValue>,\n name = getCurrentInstanceName(),\n): RoundedData {\n const roundedClasses = computed(() => {\n const rounded = isRef(props) ? props.value : props.rounded\n const classes: string[] = []\n\n if (rounded === true || rounded === '') {\n classes.push(`${name}--rounded`)\n } else if (\n typeof rounded === 'string' ||\n rounded === 0\n ) {\n for (const value of String(rounded).split(' ')) {\n classes.push(`rounded-${value}`)\n }\n }\n\n return classes\n })\n\n return { roundedClasses }\n}\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { isCssColor } from '@/util'\n\n// Types\nimport type { CSSProperties, Ref } from 'vue'\n\ntype ColorValue = string | false | null | undefined\n\nexport interface TextColorData {\n textColorClasses: Ref<string[]>\n textColorStyles: Ref<CSSProperties>\n}\n\nexport interface BackgroundColorData {\n backgroundColorClasses: Ref<string[]>\n backgroundColorStyles: Ref<CSSProperties>\n}\n\n// Composables\nexport function useColor (colors: Ref<{ background?: ColorValue, text?: ColorValue }>) {\n const backgroundIsCssColor = computed(() => isCssColor(colors.value.background))\n const textIsCssColor = computed(() => isCssColor(colors.value.text))\n\n const colorClasses = computed(() => {\n const classes: string[] = []\n\n if (colors.value.background && !backgroundIsCssColor.value) {\n classes.push(`bg-${colors.value.background}`)\n }\n\n if (colors.value.text && !textIsCssColor.value) {\n classes.push(`text-${colors.value.text}`)\n }\n\n return classes\n })\n\n const colorStyles = computed(() => {\n const styles: CSSProperties = {}\n\n if (colors.value.background && backgroundIsCssColor.value) {\n styles.backgroundColor = colors.value.background\n }\n\n if (colors.value.text && textIsCssColor.value) {\n styles.color = colors.value.text\n styles.caretColor = colors.value.text\n }\n\n return styles\n })\n\n return { colorClasses, colorStyles }\n}\n\nexport function useTextColor (color: Ref<ColorValue>): TextColorData\nexport function useTextColor <T extends Record<K, ColorValue>, K extends string> (props: T, name: K): TextColorData\nexport function useTextColor <T extends Record<K, ColorValue>, K extends string> (\n props: T | Ref<ColorValue>,\n name?: K\n): TextColorData {\n const colors = computed(() => ({\n text: isRef(props) ? props.value : (name ? props[name] : null),\n }))\n\n const {\n colorClasses: textColorClasses,\n colorStyles: textColorStyles,\n } = useColor(colors)\n\n return { textColorClasses, textColorStyles }\n}\n\nexport function useBackgroundColor (color: Ref<ColorValue>): BackgroundColorData\nexport function useBackgroundColor <T extends Record<K, ColorValue>, K extends string> (props: T, name: K): BackgroundColorData\nexport function useBackgroundColor <T extends Record<K, ColorValue>, K extends string> (\n props: T | Ref<ColorValue>,\n name?: K\n): BackgroundColorData {\n const colors = computed(() => ({\n background: isRef(props) ? props.value : (name ? props[name] : null),\n }))\n\n const {\n colorClasses: backgroundColorClasses,\n colorStyles: backgroundColorStyles,\n } = useColor(colors)\n\n return { backgroundColorClasses, backgroundColorStyles }\n}\n","import type { Ref, UnwrapRef } from 'vue'\nimport type { UnionToIntersection } from '@/util'\n\nexport function useForwardRef<T extends {}, U extends Ref<{} | undefined>[]> (\n target: T,\n ...refs: U\n): T & UnwrapRef<UnionToIntersection<U[number]>> {\n return new Proxy(target, {\n get (target, key) {\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key)\n }\n for (const ref of refs) {\n if (ref.value && Reflect.has(ref.value, key)) {\n const val = Reflect.get(ref.value, key)\n return typeof val === 'function'\n ? val.bind(ref.value)\n : val\n }\n }\n },\n getOwnPropertyDescriptor (target, key) {\n const descriptor = Reflect.getOwnPropertyDescriptor(target, key)\n if (descriptor) return descriptor\n\n for (const ref of refs) {\n if (!ref.value) continue\n const descriptor = Reflect.getOwnPropertyDescriptor(ref.value, key)\n if (descriptor) return descriptor\n }\n for (const ref of refs) {\n const obj = ref.value && Object.getPrototypeOf(ref.value)\n if (!obj) continue\n const descriptor = Reflect.getOwnPropertyDescriptor(obj, key)\n if (descriptor) return descriptor\n }\n return undefined\n },\n }) as any\n}\n","// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VImg } from '@/components/VImg'\nimport { VToolbarTitle } from './VToolbarTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useForwardRef } from '@/composables/forwardRef'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { MakeSlots } from '@/util'\nimport type { ExtractPropTypes, PropType } from 'vue'\n\nexport type Density = typeof allowedDensities[number]\n\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'] as const\n\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n extended: Boolean,\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 56,\n },\n image: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n}, 'v-toolbar')\n\nexport const VToolbar = genericComponent<new () => {\n $slots: MakeSlots<{\n default: []\n image: [{ image: string }]\n prepend: []\n append: []\n title: []\n extension: []\n }>\n}>()({\n name: 'VToolbar',\n\n props: makeVToolbarProps(),\n\n setup (props, { slots }) {\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const contentHeight = computed(() => (\n Number(props.height) +\n (props.density === 'prominent' ? Number(props.height) : 0) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ))\n\n provideDefaults({\n VBtn: {\n flat: true,\n variant: 'text',\n },\n VTextField: {\n hideDetails: true,\n },\n }, { scoped: true })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n const isExtended = !!(props.extended || slots.extension)\n\n return (\n <props.tag\n class={[\n 'v-toolbar',\n {\n 'v-toolbar--absolute': props.absolute,\n 'v-toolbar--collapse': props.collapse,\n 'v-toolbar--flat': props.flat,\n 'v-toolbar--floating': props.floating,\n [`v-toolbar--density-${props.density}`]: true,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n themeClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n ]}\n >\n { hasImage && (\n <div class=\"v-toolbar__image\">\n <VDefaultsProvider\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n scoped\n >\n { slots.image ? slots.image?.() : (<VImg />) }\n </VDefaultsProvider>\n </div>\n ) }\n\n <div\n class=\"v-toolbar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-toolbar__prepend\">\n { slots.prepend?.() }\n </div>\n ) }\n\n { hasTitle && (\n <VToolbarTitle text={ props.title }>\n {{ text: slots.title }}\n </VToolbarTitle>\n ) }\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-toolbar__append\">\n { slots.append?.() }\n </div>\n ) }\n </div>\n\n { isExtended && (\n <div\n class=\"v-toolbar__extension\"\n style={{ height: convertToUnit(props.extensionHeight) }}\n >\n { slots.extension?.() }\n </div>\n ) }\n </props.tag>\n )\n })\n\n return useForwardRef({ contentHeight })\n },\n})\n\nexport type VToolbar = InstanceType<typeof VToolbar>\n\nexport function filterToolbarProps (props: ExtractPropTypes<ReturnType<typeof makeVToolbarProps>>) {\n return pick(props, Object.keys(VToolbar?.props ?? {}) as any)\n}\n","// Utilities\nimport { computed, ref } from 'vue'\nimport { getCurrentInstance, toKebabCase } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\n// Composables\nexport function useProxiedModel<\n Props extends object & { [key in Prop as `onUpdate:${Prop}`]: ((val: any) => void) | undefined },\n Prop extends Extract<keyof Props, string>,\n Inner = Props[Prop],\n> (\n props: Props,\n prop: Prop,\n defaultValue?: Props[Prop],\n transformIn: (value?: Props[Prop]) => Inner = (v: any) => v,\n transformOut: (value: Inner) => Props[Prop] = (v: any) => v,\n) {\n const vm = getCurrentInstance('useProxiedModel')\n\n const propIsDefined = computed(() => {\n return !!(\n typeof props[prop] !== 'undefined' &&\n (vm?.vnode.props?.hasOwnProperty(prop) || vm?.vnode.props?.hasOwnProperty(toKebabCase(prop)))\n )\n })\n\n const internal = ref(transformIn(props[prop])) as Ref<Inner>\n\n return computed<Inner>({\n get () {\n if (propIsDefined.value) return transformIn(props[prop])\n else return internal.value\n },\n set (newValue) {\n if ((propIsDefined.value ? transformIn(props[prop]) : internal.value) === newValue) {\n return\n }\n internal.value = newValue\n vm?.emit(`update:${prop}`, transformOut(newValue))\n },\n })\n}\n","// Styles\nimport './VAppBar.sass'\n\n// Components\nimport { filterToolbarProps, makeVToolbarProps, VToolbar } from '@/components/VToolbar/VToolbar'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VAppBar = defineComponent({\n name: 'VAppBar',\n\n props: {\n // TODO: Implement scrolling techniques\n // hideOnScroll: Boolean\n // invertedScroll: Boolean\n // collapseOnScroll: Boolean\n // elevateOnScroll: Boolean\n // shrinkOnScroll: Boolean\n // fadeImageOnScroll: Boolean\n modelValue: {\n type: Boolean,\n default: true,\n },\n position: {\n type: String as PropType<'top' | 'bottom'>,\n default: 'top',\n validator: (value: any) => ['top', 'bottom'].includes(value),\n },\n\n ...makeVToolbarProps(),\n ...makeLayoutItemProps(),\n\n height: {\n type: [Number, String],\n default: 64,\n },\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const vToolbarRef = ref()\n const isActive = useProxiedModel(props, 'modelValue')\n const height = computed(() => vToolbarRef.value?.contentHeight)\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n priority: computed(() => parseInt(props.priority, 10)),\n position: toRef(props, 'position'),\n layoutSize: height,\n elementSize: height,\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n return () => {\n const [toolbarProps] = filterToolbarProps(props)\n\n return (\n <VToolbar\n ref={ vToolbarRef }\n class={[\n 'v-app-bar',\n {\n 'v-app-bar--bottom': props.position === 'bottom',\n },\n ]}\n style={ layoutItemStyles.value }\n { ...toolbarProps }\n v-slots={ slots }\n />\n )\n }\n },\n})\n\nexport type VAppBar = InstanceType<typeof VAppBar>\n","// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedDensities = [null, 'default', 'comfortable', 'compact'] as const\n\nexport type Density = typeof allowedDensities[number]\n\nexport interface DensityProps {\n density?: Density\n}\n\n// Composables\nexport const makeDensityProps = propsFactory({\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n}, 'density')\n\nexport function useDensity (\n props: DensityProps,\n name = getCurrentInstanceName(),\n) {\n const densityClasses = computed(() => {\n return `${name}--density-${props.density}`\n })\n\n return { densityClasses }\n}\n","// Composables\nimport { useColor } from '@/composables/color'\n\n// Utilities\nimport { computed, unref } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport const allowedVariants = [\n 'outlined',\n 'plain',\n 'text',\n 'contained',\n 'contained-flat',\n 'contained-text',\n] as const\n\nexport type Variant = typeof allowedVariants[number]\n\nexport interface VariantProps {\n color?: string\n textColor?: string\n variant: Variant\n}\n\nexport function genOverlays (isClickable: boolean, name: string) {\n return (\n <>\n { isClickable && <div class={`${name}__overlay`} /> }\n\n <div class={`${name}__underlay`} />\n </>\n )\n}\n\nexport const makeVariantProps = propsFactory({\n color: String,\n textColor: String,\n variant: {\n type: String as PropType<Variant>,\n default: 'contained',\n validator: (v: any) => allowedVariants.includes(v),\n },\n}, 'variant')\n\nexport function useVariant (\n props: MaybeRef<VariantProps>,\n name = getCurrentInstanceName(),\n) {\n const variantClasses = computed(() => {\n const { variant } = unref(props)\n return `${name}--variant-${variant}`\n })\n\n const { colorClasses, colorStyles } = useColor(computed(() => {\n const { textColor, variant, color } = unref(props)\n return {\n text: textColor,\n [['contained', 'contained-flat'].includes(variant) ? 'background' : 'text']: color,\n }\n }))\n\n return { colorClasses, colorStyles, variantClasses }\n}\n","// Styles\nimport './VBtnGroup.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utility\nimport { defineComponent, useRender } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VBtnGroup = defineComponent({\n name: 'VBtnGroup',\n\n props: {\n divided: Boolean,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n provideDefaults({\n VBtn: {\n height: 'auto',\n color: toRef(props, 'color'),\n density: toRef(props, 'density'),\n flat: true,\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-btn-group',\n {\n 'v-btn-group--divided': props.divided,\n },\n themeClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n v-slots={ slots }\n />\n )\n })\n },\n})\n","// Composables\nimport { useProxiedModel } from './proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, provide, reactive, toRef } from 'vue'\nimport { consoleWarn, deepEqual, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, ComputedRef, ExtractPropTypes, InjectionKey, PropType, Ref, UnwrapRef } from 'vue'\n\nexport interface GroupItem {\n id: number\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n}\n\nexport interface GroupProps {\n disabled: boolean\n modelValue: unknown\n multiple?: boolean\n mandatory?: boolean | 'force' | undefined\n max?: number | undefined\n selectedClass: string | undefined\n 'onUpdate:modelValue': ((val: unknown) => void) | undefined\n}\n\nexport interface GroupProvide {\n register: (item: GroupItem, cmp: ComponentInternalInstance) => void\n unregister: (id: number) => void\n select: (id: number, value: boolean) => void\n selected: Ref<any[]>\n isSelected: (id: number) => boolean\n prev: () => void\n next: () => void\n selectedClass: Ref<string | undefined>\n items: ComputedRef<{\n id: number\n value: unknown\n disabled: boolean | undefined\n }[]>\n disabled: Ref<boolean | undefined>\n}\n\nexport interface GroupItemProvide {\n id: number\n isSelected: Ref<boolean>\n toggle: () => void\n select: (value: boolean) => void\n selectedClass: Ref<string | false | undefined>\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n group: GroupProvide\n}\n\nexport const makeGroupProps = propsFactory({\n modelValue: {\n type: null,\n default: undefined,\n },\n multiple: Boolean,\n mandatory: [Boolean, String] as PropType<boolean | 'force'>,\n max: Number,\n selectedClass: String,\n disabled: Boolean,\n}, 'group')\n\nexport const makeGroupItemProps = propsFactory({\n value: null,\n disabled: Boolean,\n selectedClass: String,\n}, 'group-item')\n\nexport type GroupItemProps = ExtractPropTypes<ReturnType<typeof makeGroupItemProps>>\n\n// Composables\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required?: true,\n): GroupItemProvide\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required: false,\n): GroupItemProvide | null\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required = true,\n): GroupItemProvide | null {\n const vm = getCurrentInstance('useGroupItem')\n\n if (!vm) {\n throw new Error(\n '[Vuetify] useGroupItem composable must be used inside a component setup function'\n )\n }\n\n const id = getUid()\n\n provide(Symbol.for(`${injectKey.description}:id`), id)\n\n const group = inject(injectKey, null)\n\n if (!group) {\n if (!required) return group\n\n throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`)\n }\n\n const value = toRef(props, 'value')\n const disabled = computed(() => group.disabled.value || props.disabled)\n\n group.register({\n id,\n value,\n disabled,\n }, vm)\n\n onBeforeUnmount(() => {\n group.unregister(id)\n })\n\n const isSelected = computed(() => {\n return group.isSelected(id)\n })\n\n const selectedClass = computed(() => isSelected.value && (group.selectedClass.value ?? props.selectedClass))\n\n return {\n id,\n isSelected,\n toggle: () => group.select(id, !isSelected.value),\n select: (value: boolean) => group.select(id, value),\n selectedClass,\n value,\n disabled,\n group,\n }\n}\n\nexport function useGroup (\n props: GroupProps,\n injectKey: InjectionKey<GroupProvide>\n) {\n let isUnmounted = false\n const items = reactive<GroupItem[]>([])\n const selected = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => {\n if (v == null) return []\n\n return getIds(items, wrapInArray(v))\n },\n v => {\n const arr = getValues(items, v)\n\n return props.multiple ? arr : arr[0]\n }\n )\n\n const groupVm = getCurrentInstance('useGroup')\n\n function register (item: GroupItem, vm: ComponentInternalInstance) {\n // Is there a better way to fix this typing?\n const unwrapped = item as unknown as UnwrapRef<GroupItem>\n\n const key = Symbol.for(`${injectKey.description}:id`)\n const children = findChildrenWithProvide(key, groupVm?.vnode)\n const index = children.indexOf(vm)\n\n if (index > -1) {\n items.splice(index, 0, unwrapped)\n } else {\n items.push(unwrapped)\n }\n }\n\n function unregister (id: number) {\n if (isUnmounted) return\n\n // TODO: re-evaluate this line's importance in the future\n // should we only modify the model if mandatory is set.\n // selected.value = selected.value.filter(v => v !== id)\n\n forceMandatoryValue()\n\n const index = items.findIndex(item => item.id === id)\n items.splice(index, 1)\n }\n\n // If mandatory and nothing is selected, then select first non-disabled item\n function forceMandatoryValue () {\n const item = items.find(item => !item.disabled)\n if (item && props.mandatory === 'force' && !selected.value.length) {\n selected.value = [item.id]\n }\n }\n\n onMounted(() => {\n forceMandatoryValue()\n })\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function select (id: number, value?: boolean) {\n const item = items.find(item => item.id === id)\n if (value && item?.disabled) return\n\n if (props.multiple) {\n const internalValue = selected.value.slice()\n const index = internalValue.findIndex(v => v === id)\n const isSelected = ~index\n value = value ?? !isSelected\n\n // We can't remove value if group is\n // mandatory, value already exists,\n // and it is the only value\n if (\n isSelected &&\n props.mandatory &&\n internalValue.length <= 1\n ) return\n\n // We can't add value if it would\n // cause max limit to be exceeded\n if (\n !isSelected &&\n props.max != null &&\n internalValue.length + 1 > props.max\n ) return\n\n if (index < 0 && value) internalValue.push(id)\n else if (index >= 0 && !value) internalValue.splice(index, 1)\n\n selected.value = internalValue\n } else {\n const isSelected = selected.value.includes(id)\n if (props.mandatory && isSelected) return\n\n selected.value = (value ?? !isSelected) ? [id] : []\n }\n }\n\n function step (offset: number) {\n // getting an offset from selected value obviously won't work with multiple values\n if (props.multiple) consoleWarn('This method is not supported when using \"multiple\" prop')\n\n if (!selected.value.length) {\n const item = items.find(item => !item.disabled)\n item && (selected.value = [item.id])\n } else {\n const currentId = selected.value[0]\n const currentIndex = items.findIndex(i => i.id === currentId)\n\n let newIndex = (currentIndex + offset) % items.length\n let newItem = items[newIndex]\n\n while (newItem.disabled && newIndex !== currentIndex) {\n newIndex = (newIndex + offset) % items.length\n newItem = items[newIndex]\n }\n\n if (newItem.disabled) return\n\n selected.value = [items[newIndex].id]\n }\n }\n\n const state = {\n register,\n unregister,\n selected,\n select,\n disabled: toRef(props, 'disabled'),\n prev: () => step(items.length - 1),\n next: () => step(1),\n isSelected: (id: number) => selected.value.includes(id),\n selectedClass: computed(() => props.selectedClass),\n items: computed(() => items),\n }\n\n provide(injectKey, state)\n\n return state\n}\n\nfunction getIds (items: UnwrapRef<GroupItem[]>, modelValue: any[]) {\n const ids = []\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n\n if (item.value != null) {\n if (modelValue.find(value => deepEqual(value, item.value)) != null) {\n ids.push(item.id)\n }\n } else if (modelValue.includes(i)) {\n ids.push(item.id)\n }\n }\n\n return ids\n}\n\nfunction getValues (items: UnwrapRef<GroupItem[]>, ids: any[]) {\n const values = []\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n\n if (ids.includes(item.id)) {\n values.push(item.value != null ? item.value : i)\n }\n }\n\n return values\n}\n","// Styles\nimport './VBtnToggle.sass'\n\n// Components\nimport { VBtnGroup } from '@/components/VBtnGroup'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\n\n// Utility\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { GroupProvide } from '@/composables/group'\nimport type { InjectionKey } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport type BtnToggleSlotProps = 'isSelected' | 'select' | 'selected' | 'next' | 'prev'\nexport interface DefaultBtnToggleSlot extends Pick<GroupProvide, BtnToggleSlotProps> {}\n\nexport const VBtnToggleSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-btn-toggle')\n\nexport const VBtnToggle = genericComponent<new <T>() => {\n $slots: MakeSlots<{\n default: [DefaultBtnToggleSlot]\n }>\n}>()({\n name: 'VBtnToggle',\n\n props: makeGroupProps({ selectedClass: 'v-btn--selected' }),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { isSelected, next, prev, select, selected } = useGroup(props, VBtnToggleSymbol)\n\n useRender(() => (\n <VBtnGroup class=\"v-btn-toggle\">\n { slots.default?.({\n isSelected,\n next,\n prev,\n select,\n selected,\n } as DefaultBtnToggleSlot) }\n </VBtnGroup>\n ))\n\n return {\n next,\n prev,\n select,\n }\n },\n})\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nconst predefinedSizes = ['x-small', 'small', 'default', 'large', 'x-large']\n\nexport interface SizeProps {\n size?: string | number\n}\n\n// Composables\nexport const makeSizeProps = propsFactory({\n size: {\n type: [String, Number],\n default: 'default',\n },\n}, 'size')\n\nexport function useSize (\n props: SizeProps,\n name = getCurrentInstanceName(),\n) {\n const sizeClasses = computed(() => {\n return predefinedSizes.includes(props.size as string)\n ? `${name}--size-${props.size}`\n : null\n })\n\n const sizeStyles = computed(() => {\n return !predefinedSizes.includes(props.size as string) && props.size\n ? ({\n width: convertToUnit(props.size),\n height: convertToUnit(props.size),\n }) : null\n })\n\n return { sizeClasses, sizeStyles }\n}\n","// Utilities\nimport { computed, inject, isRef } from 'vue'\nimport { defineComponent, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, JSXComponent, PropType, Ref } from 'vue'\n\nexport type IconValue = string | JSXComponent\n\nexport interface IconAliases {\n [name: string]: IconValue\n complete: IconValue\n cancel: IconValue\n close: IconValue\n delete: IconValue\n clear: IconValue\n success: IconValue\n info: IconValue\n warning: IconValue\n error: IconValue\n prev: IconValue\n next: IconValue\n checkboxOn: IconValue\n checkboxOff: IconValue\n checkboxIndeterminate: IconValue\n delimiter: IconValue\n sort: IconValue\n expand: IconValue\n menu: IconValue\n subgroup: IconValue\n dropdown: IconValue\n radioOn: IconValue\n radioOff: IconValue\n edit: IconValue\n ratingEmpty: IconValue\n ratingFull: IconValue\n ratingHalf: IconValue\n loading: IconValue\n first: IconValue\n last: IconValue\n unfold: IconValue\n file: IconValue\n plus: IconValue\n minus: IconValue\n}\n\nexport interface IconProps {\n tag: string\n icon: IconValue\n disabled?: Boolean\n}\n\ntype IconComponent = JSXComponent<IconProps>\n\nexport interface IconSet {\n component: IconComponent\n}\n\nexport type IconOptions = {\n defaultSet: string\n aliases?: Partial<IconAliases>\n sets: Record<string, IconSet>\n}\n\ntype IconInstance = {\n component: IconComponent\n icon: IconValue\n}\n\nexport const IconSymbol: InjectionKey<IconOptions> = Symbol.for('vuetify:icons')\n\nexport const makeIconProps = propsFactory({\n icon: {\n type: [String, Object] as PropType<IconValue>,\n required: true,\n },\n // Could not remove this and use makeTagProps, types complained because it is not required\n tag: {\n type: String,\n required: true,\n },\n}, 'icon')\n\nexport const VComponentIcon = defineComponent({\n name: 'VComponentIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return (\n <props.tag>\n <props.icon />\n </props.tag>\n )\n }\n },\n})\n\nexport const VSvgIcon = defineComponent({\n name: 'VSvgIcon',\n\n inheritAttrs: false,\n\n props: makeIconProps(),\n\n setup (props, { attrs }) {\n return () => {\n return (\n <props.tag { ...attrs } style={ null }>\n <svg\n class=\"v-icon__svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-hidden=\"true\"\n >\n <path d={ props.icon as string }></path>\n </svg>\n </props.tag>\n )\n }\n },\n})\n\nexport const VLigatureIcon = defineComponent({\n name: 'VLigatureIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag>{ props.icon }</props.tag>\n }\n },\n})\n\nexport const VClassIcon = defineComponent({\n name: 'VClassIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag class={ props.icon }></props.tag>\n }\n },\n})\n\nexport const defaultSets: Record<string, IconSet> = {\n svg: {\n component: VSvgIcon,\n },\n class: {\n component: VClassIcon,\n },\n}\n\n// Composables\nexport const useIcon = (props: Ref<string | undefined> | { icon?: IconValue }) => {\n const icons = inject(IconSymbol)\n\n if (!icons) throw new Error('Missing Vuetify Icons provide!')\n\n const iconData: Ref<IconInstance> = computed(() => {\n const iconAlias = isRef(props) ? props.value : props.icon\n\n if (!iconAlias) throw new Error('Icon value is undefined or null')\n\n let icon: IconValue | undefined = iconAlias\n\n if (typeof iconAlias === 'string' && iconAlias.includes('$')) {\n icon = icons.aliases?.[iconAlias.slice(iconAlias.indexOf('$') + 1)]\n }\n\n if (!icon) throw new Error(`Could not find aliased icon \"${iconAlias}\"`)\n\n if (typeof icon !== 'string') {\n return {\n component: VComponentIcon,\n icon,\n }\n }\n\n const iconSetName = Object.keys(icons.sets).find(\n setName => typeof icon === 'string' && icon.startsWith(`${setName}:`)\n )\n\n const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon\n const iconSet = icons.sets[iconSetName ?? icons.defaultSet]\n\n return {\n component: iconSet.component,\n icon: iconName,\n }\n })\n\n return { iconData }\n}\n","// Styles\nimport './VIcon.sass'\n\n// Composables\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { useIcon } from '@/composables/icons'\nimport { useTextColor } from '@/composables/color'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent, flattenFragments } from '@/util'\n\n// Types\nimport type { IconValue } from '@/composables/icons'\nimport type { ComputedRef, PropType } from 'vue'\n\nexport const VIcon = defineComponent({\n name: 'VIcon',\n\n props: {\n color: String,\n left: Boolean,\n right: Boolean,\n icon: {\n type: [String, Object] as PropType<IconValue>,\n },\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'i' }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n let slotIcon: ComputedRef<string | undefined> | undefined\n if (slots.default) {\n slotIcon = computed(() => {\n const slot = slots.default?.()\n if (!slot) return\n\n return flattenFragments(slot).filter(node =>\n node.children && typeof node.children === 'string'\n )[0]?.children as string\n })\n }\n\n const { themeClasses } = provideTheme(props)\n const { iconData } = useIcon(slotIcon || props)\n const { sizeClasses } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n return () => {\n return (\n <iconData.value.component\n tag={ props.tag }\n icon={ iconData.value.icon }\n class={[\n 'v-icon',\n 'notranslate',\n sizeClasses.value,\n textColorClasses.value,\n themeClasses.value,\n {\n 'v-icon--left': props.left,\n 'v-icon--right': props.right,\n },\n ]}\n style={[\n !sizeClasses.value ? ({\n fontSize: convertToUnit(props.size),\n width: convertToUnit(props.size),\n height: convertToUnit(props.size),\n }) : undefined,\n textColorStyles.value,\n ]}\n aria-hidden=\"true\"\n />\n )\n }\n },\n})\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst positionValues = ['static', 'relative', 'fixed', 'absolute', 'sticky'] as const\n\ntype Position = typeof positionValues[number]\n\nexport interface PositionProps {\n absolute?: boolean\n bottom?: boolean | number | string\n fixed?: boolean\n left?: boolean | number | string\n position?: Position\n right?: boolean | number | string\n top?: boolean | number | string\n}\n\n// Composables\nexport const makePositionProps = propsFactory({\n absolute: Boolean,\n bottom: [Boolean, Number, String],\n fixed: Boolean,\n left: [Boolean, Number, String],\n position: {\n type: String as PropType<Position>,\n validator: /* istanbul ignore next */ (v: any) => positionValues.includes(v),\n },\n right: [Boolean, Number, String],\n top: [Boolean, Number, String],\n}, 'position')\n\nexport function usePosition (\n props: PositionProps,\n name = getCurrentInstanceName(),\n) {\n const targets = ['top', 'right', 'bottom', 'left'] as const\n\n const positionClasses = computed(() => {\n if (props.fixed) return `${name}--fixed`\n if (props.absolute) return `${name}--absolute`\n\n return props.position ? `position-${props.position}` : undefined\n })\n\n const positionStyles = computed(() => {\n const styles: Partial<Record<typeof targets[number], string>> = {}\n\n for (const target of targets) {\n const prop = props[target]\n\n if (prop == null || prop === false) continue\n\n styles[target] = convertToUnit(prop === true ? '0' : String(prop))\n }\n\n return styles\n })\n\n return { positionClasses, positionStyles }\n}\n","// Utilities\nimport { getCurrentInstance, propsFactory } from '@/util'\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n resolveDynamicComponent,\n toRef,\n} from 'vue'\n\n// Types\nimport type { ComputedRef, PropType, Ref, SetupContext } from 'vue'\nimport type {\n RouterLink as _RouterLink,\n useLink as _useLink,\n NavigationGuardNext,\n RouteLocationNormalizedLoaded,\n RouteLocationRaw,\n Router,\n} from 'vue-router'\n\nexport function useRoute (): Ref<RouteLocationNormalizedLoaded | undefined> {\n const vm = getCurrentInstance('useRoute')\n\n return computed(() => vm?.proxy?.$route)\n}\n\nexport function useRouter (): Router | undefined {\n return getCurrentInstance('useRouter')?.proxy?.$router\n}\n\nexport interface LinkProps {\n href?: string\n replace?: boolean\n to?: RouteLocationRaw\n}\n\ninterface UseLink extends Omit<Partial<ReturnType<typeof _useLink>>, 'href'> {\n isLink: ComputedRef<boolean>\n isClickable: ComputedRef<boolean>\n href: Ref<string | undefined>\n}\n\nexport function useLink (props: LinkProps, attrs: SetupContext['attrs']): UseLink {\n const RouterLink = resolveDynamicComponent('RouterLink') as typeof _RouterLink | string\n\n const isLink = computed(() => !!(props.href || props.to))\n const isClickable = computed(() => {\n return isLink?.value || !!(attrs.onClick || attrs.onClickOnce)\n })\n\n if (typeof RouterLink === 'string') {\n return {\n isLink,\n isClickable,\n href: toRef(props, 'href'),\n }\n }\n\n const link = props.to ? RouterLink.useLink(props as Required<LinkProps>) : undefined\n\n return {\n ...link,\n isLink,\n isClickable,\n href: computed(() => props.to ? link?.route.value.href : props.href),\n }\n}\n\nexport const makeRouterProps = propsFactory({\n href: String,\n replace: Boolean,\n to: [String, Object] as PropType<RouteLocationRaw>,\n}, 'router')\n\nexport function useBackButton (cb: (next: NavigationGuardNext) => void) {\n const router = useRouter()\n let popped = false\n let removeGuard: (() => void) | undefined\n\n onMounted(() => {\n window.addEventListener('popstate', onPopstate)\n removeGuard = router?.beforeEach((to, from, next) => {\n setTimeout(() => popped ? cb(next) : next())\n })\n })\n onBeforeUnmount(() => {\n window.removeEventListener('popstate', onPopstate)\n removeGuard?.()\n })\n\n function onPopstate (e: PopStateEvent) {\n if (e.state?.replaced) return\n\n popped = true\n setTimeout(() => (popped = false))\n }\n}\n","// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { isObject, keyCodes } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\nconst rippleStop = Symbol('rippleStop')\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { [rippleStop]?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nfunction opacity (el: HTMLElement, value: number) {\n el.style.opacity = `calc(${value} * var(--v-theme-overlay-multiplier))`\n}\n\ninterface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nexport interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean | { class: string }\n modifiers: {\n center?: boolean\n circle?: boolean\n }\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple?.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el?._ripple?.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n opacity(animation, 0)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n opacity(animation, 0.08)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el?._ripple?.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n opacity(animation, 0)\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n animation.parentNode && el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple || element._ripple.touched || e[rippleStop]) return\n\n // Don't allow the event to trigger ripples on any other elements\n e[rippleStop] = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: RippleDirectiveBinding, wasEnabled: boolean) {\n const { value, modifiers } = binding\n const enabled = isRippleEnabled(value)\n if (!enabled) {\n ripples.hide(el)\n }\n\n el._ripple = el._ripple ?? {}\n el._ripple.enabled = enabled\n el._ripple.centered = modifiers.center\n el._ripple.circle = modifiers.circle\n if (isObject(value) && value.class) {\n el._ripple.class = value.class\n }\n\n if (enabled && !wasEnabled) {\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction mounted (el: HTMLElement, binding: DirectiveBinding) {\n updateRipple(el, binding, false)\n}\n\nfunction unmounted (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction updated (el: HTMLElement, binding: DirectiveBinding) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple: ObjectDirective = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Ripple\n","// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VBtn = defineComponent({\n name: 'VBtn',\n\n directives: { Ripple },\n\n props: {\n flat: Boolean,\n icon: [Boolean, String],\n prependIcon: String,\n appendIcon: String,\n\n block: Boolean,\n stacked: Boolean,\n\n ripple: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeRoundedProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makePositionProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const group = useGroupItem(props, VBtnToggleSymbol, false)\n const link = useLink(props, attrs)\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = computed(() => {\n return props.variant === 'contained' && !(props.disabled || props.flat || props.border)\n })\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasColor = !group || group.isSelected.value\n\n return (\n <Tag\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': link.isExactActive?.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--stacked': props.stacked,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n disabled={ isDisabled.value || undefined }\n href={ link.href.value }\n v-ripple={[\n !isDisabled.value && props.ripple,\n null,\n props.icon ? ['center'] : null,\n ]}\n onClick={ isDisabled.value || link.navigate || group?.toggle }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && props.prependIcon && (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.prependIcon }\n left={ !props.stacked }\n />\n ) }\n\n { typeof props.icon === 'boolean'\n ? slots.default?.()\n : (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.icon }\n size={ props.size }\n />\n )\n }\n\n { !props.icon && props.appendIcon && (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.appendIcon }\n right={ !props.stacked }\n />\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n","// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VAppBarNavIcon = defineComponent({\n name: 'VAppBarNavIcon',\n\n props: {\n icon: {\n type: String,\n default: '$menu',\n },\n },\n\n setup (props, { slots }) {\n return () => (\n <VBtn class=\"v-app-bar-nav-icon\" icon={ props.icon }>\n { slots.default?.() }\n </VBtn>\n )\n },\n})\n","// Composables\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VToolbarItems = defineComponent({\n name: 'VToolbarItems',\n\n props: {\n ...makeVariantProps({ variant: 'contained-text' }),\n },\n\n setup (props, { slots }) {\n provideDefaults({\n VBtn: {\n color: toRef(props, 'color'),\n textColor: toRef(props, 'textColor'),\n variant: toRef(props, 'variant'),\n },\n })\n\n return () => slots.default?.()\n },\n})\n\nexport type VToolbarItems = InstanceType<typeof VToolbarItems>\n","// Composables\nimport { VToolbarTitle } from '@/components/VToolbar'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VAppBarTitle = defineComponent({\n ...VToolbarTitle,\n\n name: 'VAppBarTitle',\n\n setup (_, { slots }) {\n return () => (\n <VToolbarTitle\n class=\"v-app-bar-title\"\n v-slots={ slots }\n />\n )\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VAlertTitle = createSimpleFunctional('v-alert-title')\n","// Styles\nimport './VAlert.sass'\n\n// Components\nimport { VAlertTitle } from './VAlertTitle'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\nconst allowedTypes = ['success', 'info', 'warning', 'error'] as const\n\ntype ContextualType = typeof allowedTypes[number]\n\nexport const VAlert = defineComponent({\n name: 'VAlert',\n\n props: {\n border: {\n type: [Boolean, String],\n validator: (val: boolean | string) => {\n return typeof val === 'boolean' || [\n 'top',\n 'end',\n 'bottom',\n 'start',\n ].includes(val)\n },\n },\n borderColor: String,\n closable: Boolean,\n closeIcon: {\n type: String,\n default: '$close',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n icon: {\n type: [Boolean, String] as PropType<false | string>,\n default: null,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n title: String,\n text: String,\n type: {\n type: String as PropType<ContextualType>,\n validator: (val: ContextualType) => allowedTypes.includes(val),\n },\n\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'contained-flat' } as const),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const icon = computed(() => {\n if (props.icon === false) return undefined\n if (!props.type) return props.icon\n\n return props.icon ?? `$${props.type}`\n })\n const variantProps = computed(() => ({\n color: props.color ?? props.type,\n textColor: props.textColor,\n variant: props.variant,\n }))\n\n const { themeClasses } = provideTheme(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'borderColor'))\n\n function onCloseClick (e: MouseEvent) {\n isActive.value = false\n }\n\n return () => {\n const hasClose = !!(slots.close || props.closable)\n const hasPrepend = !!(slots.prepend || icon.value)\n const hasTitle = !!(slots.title || props.title)\n\n return isActive.value && (\n <props.tag\n class={[\n 'v-alert',\n props.border && {\n 'v-alert--border': !!props.border,\n [`v-alert--border-${props.border === true ? 'start' : props.border}`]: true,\n },\n {\n 'v-alert--prominent': props.prominent,\n },\n themeClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n role=\"alert\"\n >\n { genOverlays(false, 'v-alert') }\n\n { props.border && (\n <div\n class={[\n 'v-alert__border',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n />\n ) }\n\n { hasPrepend && (\n <div class=\"v-alert__prepend\">\n { slots.prepend\n ? slots.prepend()\n : (\n <VIcon\n icon={ icon.value }\n size={ props.prominent ? 'large' : 'default' }\n />\n )\n }\n </div>\n ) }\n\n <div class=\"v-alert__content\">\n { hasTitle && (\n <VAlertTitle>\n { slots.title ? slots.title() : props.title }\n </VAlertTitle>\n ) }\n\n { slots.text ? slots.text() : props.text }\n\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div class=\"v-alert__append\">\n { slots.append() }\n </div>\n ) }\n\n { hasClose && (\n <div\n class=\"v-alert__close\"\n onClick={ onCloseClick }\n >\n { slots.close\n ? slots.close()\n : (\n <VIcon\n icon={ props.closeIcon }\n size=\"small\"\n />\n )\n }\n </div>\n ) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VAlert = InstanceType<typeof VAlert>\n","// Styles\nimport './VAvatar.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VAvatar = defineComponent({\n name: 'VAvatar',\n\n props: {\n color: String,\n left: Boolean,\n right: Boolean,\n icon: String,\n image: String,\n\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-avatar',\n {\n 'v-avatar--left': props.left,\n 'v-avatar--right': props.right,\n },\n backgroundColorClasses.value,\n densityClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n sizeStyles.value,\n ]}\n >\n\n { props.image\n ? (<VImg src={ props.image } alt=\"\" />)\n : props.icon\n ? (<VIcon icon={ props.icon } />)\n : slots.default?.()\n }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VAvatar = InstanceType<typeof VAvatar>\n","// Styles\nimport './VChipGroup.sass'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { deepEqual, defineComponent } from '@/util'\nimport { toRef } from 'vue'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VChipGroupSymbol = Symbol.for('vuetify:v-chip-group')\n\nexport const VChipGroup = defineComponent({\n name: 'VChipGroup',\n\n props: {\n column: Boolean,\n filter: Boolean,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeGroupProps({ selectedClass: 'v-chip--selected' }),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'contained-text' } as const),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isSelected, select, next, prev, selected } = useGroup(props, VChipGroupSymbol)\n\n provideDefaults({\n VChip: {\n color: toRef(props, 'color'),\n filter: toRef(props, 'filter'),\n variant: toRef(props, 'variant'),\n },\n })\n\n return () => (\n <props.tag\n class={[\n 'v-chip-group',\n {\n 'v-chip-group--column': props.column,\n },\n themeClasses.value,\n ]}\n >\n { slots.default?.({\n isSelected,\n select,\n next,\n prev,\n selected: selected.value,\n }) }\n </props.tag>\n )\n },\n})\n\nexport type VChipGroup = InstanceType<typeof VChipGroup>\n","// Utilities\nimport { h, Transition, TransitionGroup } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { FunctionalComponent, Prop } from 'vue'\n\nexport function createCssTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n) {\n return defineComponent({\n name,\n\n props: {\n group: Boolean,\n hideOnLeave: Boolean,\n leaveAbsolute: Boolean,\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n setup (props, { slots }) {\n return () => {\n const tag = props.group ? TransitionGroup : Transition\n\n return h(tag as FunctionalComponent, {\n name,\n mode: props.mode,\n onBeforeEnter (el: HTMLElement) {\n el.style.transformOrigin = props.origin\n },\n onLeave (el: HTMLElement) {\n if (props.leaveAbsolute) {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = `${offsetTop}px`\n el.style.left = `${offsetLeft}px`\n el.style.width = `${offsetWidth}px`\n el.style.height = `${offsetHeight}px`\n }\n\n if (props.hideOnLeave) {\n el.style.setProperty('display', 'none', 'important')\n }\n },\n onAfterLeave (el: HTMLElement) {\n if (props.leaveAbsolute && el?._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n },\n }, slots.default)\n }\n },\n })\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record<string, any>,\n mode = 'in-out'\n) {\n return defineComponent({\n name,\n\n props: {\n mode: {\n type: String,\n default: mode,\n } as Prop<'in-out' | 'out-in' | 'default'>,\n },\n\n setup (props, { slots }) {\n return () => {\n return h(Transition, {\n name,\n // mode: props.mode, // TODO: vuejs/vue-next#3104\n ...functions,\n }, slots.default)\n }\n },\n })\n}\n","// Utilities\nimport { camelize } from 'vue'\n\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: (Node & ParentNode & HTMLElement) | null\n _initialStyle?: {\n transition: string\n overflow: string\n height?: string | null\n width?: string | null\n }\n}\n\nexport default function (expandedParentClass = '', x = false) {\n const sizeProperty = x ? 'width' : 'height' as 'width' | 'height'\n const offsetProperty = camelize(`offset-${sizeProperty}`) as 'offsetHeight' | 'offsetWidth'\n\n return {\n onBeforeEnter (el: HTMLExpandElement) {\n el._parent = el.parentNode as (Node & ParentNode & HTMLElement) | null\n el._initialStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n },\n\n onEnter (el: HTMLExpandElement) {\n const initialStyle = el._initialStyle!\n\n el.style.setProperty('transition', 'none', 'important')\n // Hide overflow to account for collapsed margins in the calculated height\n el.style.overflow = 'hidden'\n const offset = `${el[offsetProperty]}px`\n\n el.style[sizeProperty] = '0'\n\n void el.offsetHeight // force reflow\n\n el.style.transition = initialStyle.transition\n\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass)\n }\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset\n })\n },\n\n onAfterEnter: resetStyles,\n onEnterCancelled: resetStyles,\n\n onLeave (el: HTMLExpandElement) {\n el._initialStyle = {\n transition: '',\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = `${el[offsetProperty]}px`\n void el.offsetHeight // force reflow\n\n requestAnimationFrame(() => (el.style[sizeProperty] = '0'))\n },\n\n onAfterLeave,\n onLeaveCancelled: onAfterLeave,\n }\n\n function onAfterLeave (el: HTMLExpandElement) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass)\n }\n resetStyles(el)\n }\n\n function resetStyles (el: HTMLExpandElement) {\n const size = el._initialStyle![sizeProperty]\n el.style.overflow = el._initialStyle!.overflow\n if (size != null) el.style[sizeProperty] = size\n delete el._initialStyle\n }\n}\n","import type { PropType } from 'vue'\nimport { Transition } from 'vue'\nimport { acceleratedEasing, deceleratedEasing, defineComponent, nullifyTransforms } from '@/util'\n\nexport const VDialogTransition = defineComponent({\n name: 'VDialogTransition',\n\n props: {\n target: Object as PropType<HTMLElement>,\n },\n\n setup (props, { slots }) {\n const functions = {\n onBeforeEnter (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n },\n async onEnter (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n const { x, y } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = el.animate([\n { transform: `translate(${x}px, ${y}px) scale(0.1)`, opacity: 0 },\n { transform: '' },\n ], {\n duration: 225,\n easing: deceleratedEasing,\n })\n animation.finished.then(() => done())\n },\n onAfterEnter (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n onBeforeLeave (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n },\n async onLeave (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n const { x, y } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = el.animate([\n { transform: '' },\n { transform: `translate(${x}px, ${y}px) scale(0.1)`, opacity: 0 },\n ], {\n duration: 125,\n easing: acceleratedEasing,\n })\n animation.finished.then(() => done())\n },\n onAfterLeave (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n }\n\n return () => {\n return props.target\n ? (\n <Transition\n name=\"dialog-transition\"\n { ...functions }\n css={ false }\n v-slots={ slots }\n />\n )\n : <Transition name=\"dialog-transition\" v-slots={ slots } />\n }\n },\n})\n\nfunction getDimensions (target: HTMLElement, el: HTMLElement) {\n const targetBox = target.getBoundingClientRect()\n const elBox = nullifyTransforms(el)\n const [originX, originY] = getComputedStyle(el).transformOrigin.split(' ').map(v => parseFloat(v))\n\n const [anchorSide, anchorOffset] = getComputedStyle(el).getPropertyValue('--v-overlay-anchor-origin').split(' ')\n\n let offsetX = targetBox.left + targetBox.width / 2\n if (anchorSide === 'left' || anchorOffset === 'left') {\n offsetX -= targetBox.width / 2\n } else if (anchorSide === 'right' || anchorOffset === 'right') {\n offsetX += targetBox.width / 2\n }\n\n let offsetY = targetBox.top + targetBox.height / 2\n if (anchorSide === 'top' || anchorOffset === 'top') {\n offsetY -= targetBox.height / 2\n } else if (anchorSide === 'bottom' || anchorOffset === 'bottom') {\n offsetY += targetBox.height / 2\n }\n\n return {\n x: offsetX - (originX + elBox.left),\n y: offsetY - (originY + elBox.top),\n }\n}\n","import {\n createCssTransition,\n createJavascriptTransition,\n} from './createTransition'\n\nimport ExpandTransitionGenerator from './expand-transition'\n\n// Component specific transitions\nexport const VCarouselTransition = createCssTransition('carousel-transition')\nexport const VCarouselReverseTransition = createCssTransition('carousel-reverse-transition')\nexport const VTabTransition = createCssTransition('tab-transition')\nexport const VTabReverseTransition = createCssTransition('tab-reverse-transition')\nexport const VMenuTransition = createCssTransition('menu-transition')\nexport const VFabTransition = createCssTransition('fab-transition', 'center center', 'out-in')\n\n// Generic transitions\nexport const VDialogBottomTransition = createCssTransition('dialog-bottom-transition')\nexport const VDialogTopTransition = createCssTransition('dialog-top-transition')\nexport const VFadeTransition = createCssTransition('fade-transition')\nexport const VScaleTransition = createCssTransition('scale-transition')\nexport const VScrollXTransition = createCssTransition('scroll-x-transition')\nexport const VScrollXReverseTransition = createCssTransition('scroll-x-reverse-transition')\nexport const VScrollYTransition = createCssTransition('scroll-y-transition')\nexport const VScrollYReverseTransition = createCssTransition('scroll-y-reverse-transition')\nexport const VSlideXTransition = createCssTransition('slide-x-transition')\nexport const VSlideXReverseTransition = createCssTransition('slide-x-reverse-transition')\nexport const VSlideYTransition = createCssTransition('slide-y-transition')\nexport const VSlideYReverseTransition = createCssTransition('slide-y-reverse-transition')\n\n// Javascript transitions\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator())\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true))\n\nexport { VDialogTransition } from './dialog-transition'\n","// Styles\nimport './VChip.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VChip = defineComponent({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: {\n activeClass: String,\n appendAvatar: String,\n appendIcon: String,\n closable: Boolean,\n closeIcon: {\n type: String,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n pill: Boolean,\n prependAvatar: String,\n prependIcon: String,\n ripple: {\n type: Boolean,\n default: true,\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'contained-text' } as const),\n },\n\n emits: {\n 'click:close': (e: Event) => true,\n 'update:active': (value: Boolean) => true,\n 'update:modelValue': (value: Boolean) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { elevationClasses } = useElevation(props)\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { densityClasses } = useDensity(props)\n const link = useLink(props, attrs)\n\n function onCloseClick (e: Event) {\n isActive.value = false\n\n emit('click:close', e)\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppend = !!(slots.append || props.appendIcon || props.appendAvatar)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrepend = !!(slots.prepend || props.prependIcon || props.prependAvatar)\n const hasColor = !group || group.isSelected.value\n const isClickable = !props.disabled && (!!group || link.isClickable.value || props.link)\n const onClickFunc = props.link ? props.link : group?.toggle\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable,\n 'v-chip--pill': props.pill,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n href={ link.href.value }\n v-ripple={ [isClickable && props.ripple, null] }\n onClick={ isClickable && onClickFunc }\n >\n { genOverlays(isClickable, 'v-chip') }\n\n { hasFilter && (\n <VExpandXTransition>\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { slots.filter\n ? slots.filter()\n : <VIcon icon={ props.filterIcon } />\n }\n </div>\n </VExpandXTransition>\n ) }\n\n { hasPrepend && (\n <div class=\"v-chip__prepend\">\n { slots.prepend\n ? slots.prepend()\n : (\n <VAvatar\n icon={ props.prependIcon }\n image={ props.prependAvatar }\n size={ props.size }\n />\n )\n }\n </div>\n ) }\n\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? props.text }\n\n { hasAppend && (\n <div class=\"v-chip__append\">\n { slots.append\n ? slots.append()\n : (\n <VAvatar\n icon={ props.appendIcon }\n image={ props.appendAvatar }\n size={ props.size }\n />\n )\n }\n </div>\n ) }\n\n { hasClose && (\n <div\n class=\"v-chip__close\"\n onClick={ onCloseClick }\n >\n { slots.close\n ? slots.close({ props: { onClick: onCloseClick } })\n : (\n <VIcon\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n )\n }\n </div>\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n","// Styles\nimport './VDivider.sass'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Types\ntype DividerKey = 'borderRightWidth' | 'borderTopWidth' | 'maxHeight' | 'maxWidth'\ntype DividerStyles = Partial<Record<DividerKey, string>>\n\nexport const VDivider = defineComponent({\n name: 'VDivider',\n\n props: {\n color: String,\n inset: Boolean,\n length: [Number, String],\n thickness: [Number, String],\n vertical: Boolean,\n ...makeThemeProps(),\n },\n\n setup (props, { attrs }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const dividerStyles = computed(() => {\n const styles: DividerStyles = {}\n\n if (props.length) {\n styles[props.vertical ? 'maxHeight' : 'maxWidth'] = 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 return () => {\n return (\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 backgroundColorClasses.value,\n ]}\n style={[\n dividerStyles.value,\n backgroundColorStyles.value,\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 },\n})\n","// Utilities\nimport { computed, inject, provide, ref } from 'vue'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\n\n// Depth\nexport const DepthKey: InjectionKey<Ref<number>> = Symbol.for('vuetify:depth')\n\nexport function useDepth (hasPrepend?: Ref<boolean>) {\n const parent = inject(DepthKey, ref(-1))\n\n const depth = computed(() => parent.value + 1 + (hasPrepend?.value ? 1 : 0))\n\n provide(DepthKey, depth)\n\n return depth\n}\n\n// List\nexport const ListKey: InjectionKey<{\n hasPrepend: Ref<boolean>\n updateHasPrepend: (value: boolean) => void\n}> = Symbol.for('vuetify:list')\n\nexport function createList () {\n const parent = inject(ListKey, { hasPrepend: ref(false), updateHasPrepend: () => null })\n\n const data = {\n hasPrepend: ref(false),\n updateHasPrepend: (value: boolean) => {\n if (value) data.hasPrepend.value = value\n },\n }\n\n provide(ListKey, data)\n\n return parent\n}\n\nexport function useList () {\n return inject(ListKey, null)\n}\n","export type OpenStrategyFn = (data: {\n id: string\n value: boolean\n opened: Set<string>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string>\n\nexport const singleOpenStrategy: OpenStrategyFn = ({ id, value, opened, parents }) => {\n if (value) {\n const newOpened = new Set<string>()\n newOpened.add(id)\n\n let parent = parents.get(id)\n\n while (parent != null) {\n newOpened.add(parent)\n parent = parents.get(parent)\n }\n\n return newOpened\n } else {\n opened.delete(id)\n return opened\n }\n}\n\nexport const multipleOpenStrategy: OpenStrategyFn = ({ id, value, opened, parents }) => {\n if (value) {\n let parent = parents.get(id)\n opened.add(id)\n\n while (parent != null && parent !== id) {\n opened.add(parent)\n parent = parents.get(parent)\n }\n\n return opened\n } else {\n opened.delete(id)\n }\n return opened\n}\n","export type SelectStrategyFn = (data: {\n id: string\n value: boolean\n selected: Map<string, 'on' | 'off' | 'indeterminate'>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n mandatory?: boolean\n}) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformInFn = (\n v: string[] | undefined,\n children: Map<string, string[]>,\n parents: Map<string, string>\n) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformOutFn = (\n v: Map<string, 'on' | 'off' | 'indeterminate'>,\n children: Map<string, string[]>,\n parents: Map<string, string>\n) => any[]\n\nexport type SelectStrategy = {\n select: SelectStrategyFn\n in: SelectStrategyTransformInFn\n out: SelectStrategyTransformOutFn\n}\n\nexport const independentSelectStrategy: SelectStrategy = {\n select: ({ id, value, mandatory, selected }) => {\n selected.set(id, value ? 'on' : (\n mandatory &&\n !Array.from(selected.entries()).find(([key, value]) => value === 'on' && key !== id)\n ) ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = independentSelectStrategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: v => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n },\n}\n\nexport const independentSingleSelectStrategy: SelectStrategy = {\n select: ({ id, value, ...rest }) => {\n return independentSelectStrategy.select({ ...rest, id, value, selected: new Map() })\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n if (v?.length) {\n map = independentSelectStrategy.in(v.slice(0, 1), children, parents)\n }\n\n return map\n },\n out: (v, children, parents) => {\n return independentSelectStrategy.out(v, children, parents)\n },\n}\n\nexport const leafSelectStrategy = (single = false): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected, children }) => {\n if (children.has(id)) return selected\n\n if (single) return new Map([[id, value ? 'on' : 'off']])\n\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v ?? [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: independentSelectStrategy.out,\n }\n\n return strategy\n}\n\nexport const classicSelectStrategy: SelectStrategy = {\n select: ({ id, value, selected, children, parents }) => {\n const items = [id]\n\n while (items.length) {\n const item = items.shift()!\n\n selected.set(item, value ? 'on' : 'off')\n\n if (children.has(item)) {\n items.push(...children.get(item)!)\n }\n }\n\n let parent = parents.get(id)\n\n while (parent) {\n const childrenIds = children.get(parent)!\n const everySelected = childrenIds.every(cid => selected.get(cid) === 'on')\n const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off')\n\n selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate')\n\n parent = parents.get(parent)\n }\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = classicSelectStrategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: (v, children) => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on' && !children.has(key)) arr.push(key)\n }\n\n return arr\n },\n}\n","import { useProxiedModel } from '@/composables/proxiedModel'\nimport { getCurrentInstance, getUid, propsFactory } from '@/util'\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport { classicSelectStrategy, independentSelectStrategy, independentSingleSelectStrategy, leafSelectStrategy } from './selectStrategies'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { OpenStrategyFn } from './openStrategies'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategy = 'single' | 'multiple' | OpenStrategyFn\n\nexport interface NestedProps {\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategy | undefined\n selected: string[] | undefined\n opened: string[] | undefined\n mandatory: boolean\n 'onUpdate:selected': ((val: string[]) => void) | undefined\n 'onUpdate:opened': ((val: string[]) => void) | undefined\n}\n\ntype NestedProvide = {\n id: Ref<string | undefined>\n skipRegister?: boolean\n root: {\n children: Ref<Map<string, string[]>>\n parents: Ref<Map<string, string>>\n opened: Ref<Set<string>>\n selected: Ref<Map<string, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<string[]>\n register: (id: string, parentId: string | undefined, isGroup?: boolean) => void\n unregister: (id: string) => void\n open: (id: string, value: boolean, event?: Event) => void\n select: (id: string, value: boolean, event?: Event) => void\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: ref(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n select: () => null,\n opened: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n selectStrategy: [String, Function] as Prop<SelectStrategy>,\n openStrategy: [String, Function] as Prop<OpenStrategy>,\n opened: Array as Prop<string[]>,\n selected: Array as Prop<string[]>,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<string, string[]>())\n const parents = ref(new Map<string, string>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSelectStrategy(true)\n case 'leaf': return leafSelectStrategy()\n case 'independent': return independentSelectStrategy\n case 'single-independent': return independentSingleSelectStrategy\n case 'classic':\n default: return classicSelectStrategy\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'function') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function getPath (id: string) {\n const path: string[] = []\n let parent: string | undefined = id\n\n while (parent != null) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nested: NestedProvide = {\n id: ref(),\n root: {\n opened,\n selected,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n parentId && id !== parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n opened.value.delete(id)\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event })\n\n const newOpened = openStrategy.value({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n mandatory: props.mandatory,\n })\n newSelected && (selected.value = newSelected)\n },\n children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<string | undefined>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const computedId = computed(() => id.value ?? getUid().toString())\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n select: (selected: boolean, e: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n }\n\n !parent.skipRegister && parent.root.register(computedId.value, parent.id.value, isGroup)\n\n onBeforeUnmount(() => {\n !parent.skipRegister && parent.root.unregister(computedId.value)\n })\n\n isGroup && provide(VNestedSymbol, item)\n\n return item\n}\n\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n provide(VNestedSymbol, { ...parent, skipRegister: true })\n}\n","// Components\nimport { VExpandTransition } from '@/components/transitions'\n\n// Composables\nimport { useList } from './list'\nimport { makeTagProps } from '@/composables/tag'\nimport { useNestedGroupActivator, useNestedItem } from '@/composables/nested/nested'\n\n// Utilities\nimport { computed, defineComponent, toRef } from 'vue'\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { InternalListItem } from './VList'\n\nexport type ListGroupActivatorSlot = {\n props: {\n onClick: (e: Event) => void\n appendIcon: string\n class: string\n }\n}\n\nconst VListGroupActivator = defineComponent({\n name: 'VListGroupActivator',\n\n setup (_, { slots }) {\n useNestedGroupActivator()\n\n return () => slots.default?.()\n },\n})\n\nexport const VListGroup = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n activator: [ListGroupActivatorSlot]\n default: []\n }>\n}>()({\n name: 'VListGroup',\n\n props: {\n collapseIcon: {\n type: String,\n default: '$collapse',\n },\n expandIcon: {\n type: String,\n default: '$expand',\n },\n value: null,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { isOpen, open } = useNestedItem(toRef(props, 'value'), true)\n const list = useList()\n\n const onClick = (e: Event) => {\n open(!isOpen.value, e)\n }\n\n const activatorProps: Ref<ListGroupActivatorSlot['props']> = computed(() => ({\n onClick,\n appendIcon: isOpen.value ? props.collapseIcon : props.expandIcon,\n class: 'v-list-group__header',\n }))\n\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-group',\n {\n 'v-list-group--prepend': list?.hasPrepend.value,\n },\n ]}\n >\n { slots.activator && (\n <VListGroupActivator>\n { slots.activator({ props: activatorProps.value }) }\n </VListGroupActivator>\n ) }\n <VExpandTransition>\n <div class=\"v-list-group__items\" v-show={isOpen.value}>\n { slots.default?.() }\n </div>\n </VExpandTransition>\n </props.tag>\n )\n }\n },\n})\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VListItemAvatar = defineComponent({\n name: 'VListItemAvatar',\n\n props: {\n left: Boolean,\n right: Boolean,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-item-avatar',\n {\n 'v-list-item-avatar--start': props.left,\n 'v-list-item-avatar--end': props.right,\n },\n ]}\n v-slots={ slots }\n />\n )\n }\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListItemHeader = createSimpleFunctional('v-list-item-header')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item-subtitle')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListItemTitle = createSimpleFunctional('v-list-item-title')\n","// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VListItemAvatar } from './VListItemAvatar'\nimport { VListItemHeader } from './VListItemHeader'\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useList } from './list'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, onMounted, watch } from 'vue'\nimport { genericComponent, useRender } from '@/util'\nimport { useNestedItem } from '@/composables/nested/nested'\n\n// Types\nimport type { MakeSlots } from '@/util'\n\ntype ListItemSlot = {\n isActive: boolean\n activate: (value: boolean) => void\n isSelected: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string\n}\n\nexport const VListItem = genericComponent<new () => {\n $slots: MakeSlots<{\n prepend: [ListItemSlot]\n append: [ListItemSlot]\n default: [ListItemSlot]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n }>\n}>()({\n name: 'VListItem',\n\n directives: { Ripple },\n\n props: {\n active: Boolean,\n activeColor: String,\n activeClass: String,\n appendAvatar: String,\n appendIcon: String,\n disabled: Boolean,\n link: Boolean,\n prependAvatar: String,\n prependIcon: String,\n subtitle: String,\n title: String,\n value: null,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value ?? link.href.value)\n const { select, isSelected, root, parent } = useNestedItem(id, false)\n const list = useList()\n const isActive = computed(() => {\n return props.active || link.isExactActive?.value || isSelected.value\n })\n const variantProps = computed(() => {\n const activeColor = props.activeColor ?? props.color\n return {\n color: isActive.value ? activeColor : props.color,\n textColor: props.textColor,\n variant: props.variant,\n }\n })\n\n onMounted(() => {\n if (link.isExactActive?.value && parent.value != null) {\n root.open(parent.value, true)\n }\n })\n\n watch(() => link.isExactActive?.value, val => {\n if (val && parent.value != null) {\n root.open(parent.value, true)\n }\n })\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isSelected: isSelected.value,\n }))\n\n useRender(() => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasTitle = (slots.title || props.title)\n const hasSubtitle = (slots.subtitle || props.subtitle)\n const hasHeader = !!(hasTitle || hasSubtitle)\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const isClickable = !props.disabled && (link.isClickable.value || props.link || props.value != null)\n\n list?.updateHasPrepend(hasPrepend)\n\n return (\n <Tag\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n [`${props.activeClass}`]: isActive.value && props.activeClass,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n ]}\n href={ link.href.value }\n tabindex={ isClickable ? 0 : undefined }\n onClick={ isClickable && ((e: MouseEvent) => {\n link.navigate?.(e)\n select(!isSelected.value, e)\n })}\n v-ripple={ isClickable }\n >\n { genOverlays(isClickable || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n slots.prepend\n ? slots.prepend(slotProps.value)\n : (\n <VListItemAvatar left>\n <VAvatar\n density={ props.density }\n icon={ props.prependIcon }\n image={ props.prependAvatar }\n />\n </VListItemAvatar>\n )\n ) }\n\n { hasHeader && (\n <VListItemHeader>\n { hasTitle && (\n <VListItemTitle>\n { slots.title\n ? slots.title({ title: props.title })\n : props.title\n }\n </VListItemTitle>\n ) }\n\n { hasSubtitle && (\n <VListItemSubtitle>\n { slots.subtitle\n ? slots.subtitle({ subtitle: props.subtitle })\n : props.subtitle\n }\n </VListItemSubtitle>\n ) }\n </VListItemHeader>\n ) }\n\n { slots.default?.(slotProps.value) }\n\n { hasAppend && (\n slots.append\n ? slots.append(slotProps.value)\n : (\n <VListItemAvatar right>\n <VAvatar\n density={ props.density }\n icon={ props.appendIcon }\n image={ props.appendAvatar }\n />\n </VListItemAvatar>\n )\n ) }\n </Tag>\n )\n })\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VListSubheader = defineComponent({\n name: 'VListSubheader',\n\n props: {\n color: String,\n inset: Boolean,\n sticky: Boolean,\n text: String,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n return () => {\n const hasText = !!(slots.default || props.text)\n\n return (\n <props.tag\n class={[\n 'v-list-subheader',\n {\n 'v-list-subheader--inset': props.inset,\n 'v-list-subheader--sticky': props.sticky,\n },\n textColorClasses.value,\n ]}\n style={{ textColorStyles }}\n >\n { hasText && (\n <div class=\"v-list-subheader__text\">\n { slots.default?.() ?? props.text }\n </div>\n ) }\n </props.tag>\n )\n }\n },\n})\n","// Components\nimport { VDivider } from '../VDivider'\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\nimport { VListSubheader } from './VListSubheader'\n\n// Utilities\nimport { genericComponent } from '@/util'\nimport { createList } from './list'\n\n// Types\nimport type { InternalListItem } from './VList'\nimport type { ListItemSubtitleSlot, ListItemTitleSlot } from './VListItem'\nimport type { ListGroupActivatorSlot } from './VListGroup'\nimport type { MakeSlots } from '@/util'\nimport type { Prop } from 'vue'\n\nexport const VListChildren = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n default: []\n header: [ListGroupActivatorSlot]\n item: [T]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n }>\n}>()({\n name: 'VListChildren',\n\n props: {\n items: Array as Prop<InternalListItem[]>,\n },\n\n setup (props, { slots }) {\n createList()\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, type }) => {\n if (type === 'divider') return <VDivider {...itemProps} />\n\n if (type === 'subheader') return <VListSubheader {...itemProps} v-slots={ slots } />\n\n return children ? (\n <VListGroup\n value={ itemProps?.value }\n >\n {{\n activator: ({ props: activatorProps }) => slots.header\n ? slots.header({ ...itemProps, ...activatorProps })\n : <VListItem { ...itemProps } { ...activatorProps } />,\n default: () => (\n <VListChildren items={ children } v-slots={ slots } />\n ),\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item(itemProps) : <VListItem { ...itemProps } v-slots={ slots } />\n )\n })\n },\n})\n","// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { createList } from './list'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { ListGroupActivatorSlot } from './VListGroup'\n\nexport type ListItem = {\n [key: string]: any\n $type?: 'item' | 'subheader' | 'divider'\n $children?: (string | ListItem)[]\n}\n\nexport type InternalListItem = {\n type?: 'item' | 'subheader' | 'divider'\n props?: Record<string, any>\n children?: InternalListItem[]\n}\n\nconst parseItems = (items?: (string | ListItem)[]): InternalListItem[] | undefined => {\n if (!items) return undefined\n\n return items.map(item => {\n if (typeof item === 'string') return { type: 'item', value: item, title: item }\n\n const { $type, $children, ...props } = item\n\n if ($type === 'subheader') return { type: 'subheader', props }\n if ($type === 'divider') return { type: 'divider', props }\n\n return { type: 'item', props, children: parseItems($children) }\n })\n}\n\nexport const VList = genericComponent<new <T>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n subheader: []\n header: [ListGroupActivatorSlot]\n item: [T]\n }>\n}>()({\n name: 'VList',\n\n props: {\n color: String,\n disabled: Boolean,\n lines: {\n type: String,\n default: 'one',\n },\n nav: Boolean,\n items: Array as Prop<ListItem[]>,\n\n ...makeNestedProps({\n selectStrategy: 'single-leaf' as const,\n openStrategy: 'multiple' as const,\n }),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:selected': (val: string[]) => true,\n 'update:opened': (val: string[]) => true,\n 'click:open': (value: { id: string, value: boolean, path: string[] }) => true,\n 'click:select': (value: { id: string, value: boolean, path: string[] }) => true,\n },\n\n setup (props, { slots }) {\n const items = computed(() => parseItems(props.items))\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { open, select } = useNested(props)\n\n createList()\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n [`v-list--${props.lines}-line`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n ]}\n >\n <VListChildren items={ items.value }>\n {{\n default: slots.default,\n item: slots.item,\n title: slots.title,\n subtitle: slots.subtitle,\n header: slots.header,\n }}\n </VListChildren>\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListImg = createSimpleFunctional('v-list-img')\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VListItemMedia = defineComponent({\n name: 'VListItemMedia',\n\n props: {\n left: Boolean,\n right: Boolean,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-item-media',\n {\n 'v-list-item-media--start': props.left,\n 'v-list-item-media--end': props.right,\n },\n ]}\n v-slots={ slots }\n />\n )\n }\n },\n})\n","// Utilities\nimport { IN_BROWSER, propsFactory } from '@/util'\n\n// Types\nexport interface DelayProps {\n closeDelay?: number | string\n openDelay?: number | string\n}\n\n// Composables\nexport const makeDelayProps = propsFactory({\n closeDelay: [Number, String],\n openDelay: [Number, String],\n}, 'delay')\n\nexport function useDelay (props: DelayProps, cb?: (value: boolean) => void) {\n const delays: Partial<Record<keyof DelayProps, number>> = {}\n const runDelayFactory = (prop: keyof DelayProps) => (): Promise<boolean> => {\n // istanbul ignore next\n if (!IN_BROWSER) return Promise.resolve(true)\n\n const active = prop === 'openDelay'\n\n delays.closeDelay && window.clearTimeout(delays.closeDelay)\n delete delays.closeDelay\n\n delays.openDelay && window.clearTimeout(delays.openDelay)\n delete delays.openDelay\n\n return new Promise(resolve => {\n const delay = parseInt(props[prop] ?? 0, 10)\n\n delays[prop] = window.setTimeout(() => {\n cb?.(active)\n resolve(active)\n }, delay)\n })\n }\n\n return {\n runCloseDelay: runDelayFactory('closeDelay'),\n runOpenDelay: runDelayFactory('openDelay'),\n }\n}\n","// Utilities\nimport { getCurrentInstance, IN_BROWSER, isComponentInstance, propsFactory, SUPPORTS_FOCUS_VISIBLE } from '@/util'\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport {\n computed,\n effectScope,\n nextTick,\n onScopeDispose,\n ref,\n watch,\n watchEffect,\n} from 'vue'\n\n// Types\nimport type { DelayProps } from '@/composables/delay'\nimport type {\n ComponentPublicInstance,\n EffectScope,\n PropType,\n Ref,\n} from 'vue'\n\ninterface ActivatorProps extends DelayProps {\n activator?: 'parent' | string | Element | ComponentPublicInstance\n activatorProps: Record<string, any>\n\n openOnClick: boolean | undefined\n openOnHover: boolean\n openOnFocus: boolean | undefined\n}\n\nexport const makeActivatorProps = propsFactory({\n activator: [String, Object] as PropType<ActivatorProps['activator']>,\n activatorProps: {\n type: Object as PropType<ActivatorProps['activatorProps']>,\n default: () => ({}),\n },\n\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: undefined,\n },\n\n ...makeDelayProps(),\n})\n\nexport function useActivator (\n props: ActivatorProps,\n isActive: Ref<boolean>\n) {\n const activatorEl = ref<HTMLElement>()\n\n let isHovered = false\n let isFocused = false\n\n const openOnFocus = computed(() => props.openOnFocus || (props.openOnFocus == null && props.openOnHover))\n const openOnClick = computed(() => props.openOnClick || (props.openOnClick == null && !props.openOnHover && !openOnFocus.value))\n\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => {\n if (value === (\n (props.openOnHover && isHovered) ||\n (openOnFocus.value && isFocused)\n )) {\n isActive.value = value\n }\n })\n\n const availableEvents = {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n isActive.value = !isActive.value\n },\n mouseenter: (e: MouseEvent) => {\n isHovered = true\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n runOpenDelay()\n },\n mouseleave: (e: MouseEvent) => {\n isHovered = false\n runCloseDelay()\n },\n focus: (e: FocusEvent) => {\n if (\n SUPPORTS_FOCUS_VISIBLE &&\n !(e.target as HTMLElement).matches(':focus-visible')\n ) return\n\n isFocused = true\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n\n runOpenDelay()\n },\n blur: (e: FocusEvent) => {\n isFocused = false\n e.stopPropagation()\n\n runCloseDelay()\n },\n }\n\n const activatorEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n\n if (openOnClick.value) {\n events.click = availableEvents.click\n }\n if (props.openOnHover) {\n events.mouseenter = availableEvents.mouseenter\n events.mouseleave = availableEvents.mouseleave\n }\n if (openOnFocus.value) {\n events.focus = availableEvents.focus\n events.blur = availableEvents.blur\n }\n\n return events\n })\n\n const activatorRef = ref()\n watchEffect(() => {\n if (!activatorRef.value) return\n\n nextTick(() => {\n const activator = activatorRef.value\n activatorEl.value = isComponentInstance(activator) ? activator.$el : activator\n })\n })\n\n let scope: EffectScope\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope()\n scope.run(() => {\n _useActivator(props, { activatorEl, activatorRef, activatorEvents })\n })\n } else if (scope) {\n scope.stop()\n }\n }, { flush: 'post', immediate: true })\n\n return { activatorEl, activatorRef, activatorEvents }\n}\n\nfunction _useActivator (props: ActivatorProps, { activatorEl, activatorEvents }: ReturnType<typeof useActivator>) {\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal)\n activator && unbindActivatorProps(activator)\n }\n if (val) {\n nextTick(() => bindActivatorProps())\n }\n }, { immediate: true })\n\n watch(() => props.activatorProps, () => {\n bindActivatorProps()\n })\n\n onScopeDispose(() => {\n unbindActivatorProps()\n })\n\n function bindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n Object.entries(activatorEvents.value).forEach(([name, cb]) => {\n el.addEventListener(name, cb as (e: Event) => void)\n })\n\n Object.keys(_props).forEach(k => {\n if (_props[k] == null) {\n el.removeAttribute(k)\n } else {\n el.setAttribute(k, _props[k])\n }\n })\n }\n\n function unbindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n Object.entries(activatorEvents.value).forEach(([name, cb]) => {\n el.removeEventListener(name, cb as (e: Event) => void)\n })\n\n Object.keys(_props).forEach(k => {\n el.removeAttribute(k)\n })\n }\n\n const vm = getCurrentInstance('useActivator')\n function getActivator (selector = props.activator): HTMLElement | undefined {\n let activator\n if (selector) {\n if (selector === 'parent') {\n activator = vm?.proxy?.$el?.parentNode\n } else if (typeof selector === 'string') {\n // Selector\n activator = document.querySelector(selector)\n } else if ('$el' in selector) {\n // Component (ref)\n activator = selector.$el\n } else {\n // HTMLElement | Element\n activator = selector\n }\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return activatorEl.value\n }\n}\n","const block = ['top', 'bottom'] as const\nconst inline = ['start', 'end'] as const\ntype Tblock = typeof block[number]\ntype Tinline = typeof inline [number]\nexport type Anchor =\n | Tblock\n | Tinline\n | 'center'\n | 'center center'\n | `${Tblock} ${Tinline | 'center'}`\n | `${Tinline} ${Tblock | 'center'}`\nexport type ParsedAnchor =\n | { side: 'center', align: 'center' }\n | { side: Tblock, align: Tinline | 'center' }\n | { side: Tinline, align: Tblock | 'center' }\n\n/** Parse a raw anchor string into an object */\nexport function parseAnchor (anchor: Anchor) {\n let [side, align] = anchor.split(' ')\n if (!align) {\n align =\n side === 'top' || side === 'bottom' ? 'start'\n : side === 'start' || side === 'end' ? 'top'\n : 'center'\n }\n return {\n side,\n align,\n } as ParsedAnchor\n}\n\n/** Get an anchor directly opposite, with the same alignment */\nexport function oppositeAnchor (anchor: ParsedAnchor) {\n return {\n side: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n start: 'end',\n end: 'start',\n }[anchor.side],\n align: anchor.align,\n } as ParsedAnchor\n}\n\n/** Convert start/end into left/right */\nexport function physicalAnchor (anchor: ParsedAnchor, el: HTMLElement) {\n const { side, align } = anchor\n const { direction } = window.getComputedStyle(el)\n\n const map: Record<string, string | undefined> = direction === 'ltr' ? {\n start: 'left',\n end: 'right',\n } : {\n start: 'right',\n end: 'left',\n }\n\n return (map[side] ?? side) + ' ' + (map[align] ?? align)\n}\n","import type { ParsedAnchor } from './anchor'\nimport type { Box } from '@/util/box'\n\ntype Point = { x: number, y: number }\ndeclare class As<T extends string> {\n private as: T\n}\ntype ElementPoint = Point & As<'element'>\ntype ViewportPoint = Point & As<'viewport'>\ntype Offset = Point & As<'offset'>\n\n/** Convert a point in local space to viewport space */\nexport function elementToViewport (point: ElementPoint, offset: Offset | Box) {\n return {\n x: point.x + offset.x,\n y: point.y + offset.y,\n } as ViewportPoint\n}\n\n/** Convert a point in viewport space to local space */\nexport function viewportToElement (point: ViewportPoint, offset: Offset | Box) {\n return {\n x: point.x - offset.x,\n y: point.y - offset.y,\n } as ElementPoint\n}\n\n/** Get the difference between two points */\nexport function getOffset<T extends Point> (a: T, b: T) {\n return {\n x: a.x - b.x,\n y: a.y - b.y,\n } as Offset\n}\n\n/** Convert an anchor object to a point in local space */\nexport function anchorToPoint (anchor: ParsedAnchor, box: Box): ViewportPoint {\n if (anchor.side === 'top' || anchor.side === 'bottom') {\n const { side, align } = anchor\n\n const x: number =\n align === 'start' ? 0\n : align === 'center' ? box.width / 2\n : align === 'end' ? box.width\n : align\n const y: number =\n side === 'top' ? 0\n : side === 'bottom' ? box.height\n : side\n\n return elementToViewport({ x, y } as ElementPoint, box)\n } else if (anchor.side === 'start' || anchor.side === 'end') {\n const { side, align } = anchor\n\n const x: number =\n side === 'start' ? 0\n : side === 'end' ? box.width\n : side\n const y: number =\n align === 'top' ? 0\n : align === 'center' ? box.height / 2\n : align === 'bottom' ? box.height\n : align\n\n return elementToViewport({ x, y } as ElementPoint, box)\n }\n\n return elementToViewport({\n x: box.width / 2,\n y: box.height / 2,\n } as ElementPoint, box)\n}\n","// Utilities\nimport { computed, effectScope, nextTick, onScopeDispose, ref, watch, watchEffect } from 'vue'\nimport { convertToUnit, getScrollParent, IN_BROWSER, isFixedPosition, nullifyTransforms, propsFactory } from '@/util'\nimport { oppositeAnchor, parseAnchor, physicalAnchor } from './util/anchor'\nimport { anchorToPoint, getOffset } from './util/point'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\nimport type { Anchor } from './util/anchor'\nimport { Box } from '@/util/box'\n\nexport interface PositionStrategyData {\n contentEl: Ref<HTMLElement | undefined>\n activatorEl: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n}\n\nconst positionStrategies = {\n static: staticPositionStrategy, // specific viewport position, usually centered\n connected: connectedPositionStrategy, // connected to a certain element\n}\n\nexport interface StrategyProps {\n positionStrategy: keyof typeof positionStrategies | (\n (\n data: PositionStrategyData,\n props: StrategyProps,\n contentStyles: Ref<Record<string, string>>\n ) => undefined | { updatePosition: (e: Event) => void }\n )\n anchor: Anchor\n origin: Anchor | 'auto' | 'overlap'\n offset?: number | string\n maxHeight?: number | string\n maxWidth?: number | string\n minHeight?: number | string\n minWidth?: number | string\n}\n\nexport const makePositionStrategyProps = propsFactory({\n positionStrategy: {\n type: [String, Function] as PropType<StrategyProps['positionStrategy']>,\n default: 'static',\n validator: (val: any) => typeof val === 'function' || val in positionStrategies,\n },\n anchor: {\n type: String as PropType<StrategyProps['anchor']>,\n default: 'bottom',\n },\n origin: {\n type: String as PropType<StrategyProps['origin']>,\n default: 'auto',\n },\n offset: [Number, String],\n})\n\nexport function usePositionStrategies (\n props: StrategyProps,\n data: PositionStrategyData\n) {\n const contentStyles = ref({})\n const updatePosition = ref<(e: Event) => void>()\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n updatePosition.value = undefined\n\n if (!(IN_BROWSER && data.isActive.value && props.positionStrategy)) return\n\n scope = effectScope()\n await nextTick()\n scope.run(() => {\n if (typeof props.positionStrategy === 'function') {\n updatePosition.value = props.positionStrategy(data, props, contentStyles)?.updatePosition\n } else {\n updatePosition.value = positionStrategies[props.positionStrategy](data, props, contentStyles)?.updatePosition\n }\n })\n })\n\n IN_BROWSER && window.addEventListener('resize', onResize, { passive: true })\n\n onScopeDispose(() => {\n IN_BROWSER && window.removeEventListener('resize', onResize)\n updatePosition.value = undefined\n scope?.stop()\n })\n\n function onResize (e: Event) {\n updatePosition.value?.(e)\n }\n\n return {\n contentStyles,\n updatePosition,\n }\n}\n\nfunction staticPositionStrategy () {\n // TODO\n}\n\nfunction connectedPositionStrategy (data: PositionStrategyData, props: StrategyProps, contentStyles: Ref<Record<string, string>>) {\n const activatorFixed = isFixedPosition(data.activatorEl.value)\n if (activatorFixed) {\n Object.assign(contentStyles.value, {\n position: 'fixed',\n })\n }\n\n const preferredAnchor = computed(() => parseAnchor(props.anchor))\n const preferredOrigin = computed(() =>\n props.origin === 'overlap' ? preferredAnchor.value\n : props.origin === 'auto' ? oppositeAnchor(preferredAnchor.value)\n : parseAnchor(props.origin)\n )\n const doesOverlap = computed(() => {\n return preferredAnchor.value.side === preferredOrigin.value.side\n })\n\n const configuredMaxHeight = computed(() => {\n const val = parseFloat(props.maxHeight!)\n return isNaN(val) ? Infinity : val\n })\n\n const configuredMinWidth = computed(() => {\n const val = parseFloat(props.minWidth!)\n return isNaN(val) ? Infinity : val\n })\n\n let observe = false\n if (IN_BROWSER) {\n const observer = new ResizeObserver(() => {\n if (observe) updatePosition()\n })\n observer.observe(data.activatorEl.value!)\n observer.observe(data.contentEl.value!)\n\n onScopeDispose(() => {\n observer.disconnect()\n })\n }\n\n // eslint-disable-next-line max-statements\n function updatePosition () {\n observe = false\n requestAnimationFrame(() => {\n requestAnimationFrame(() => observe = true)\n })\n\n const targetBox = data.activatorEl.value!.getBoundingClientRect()\n // TODO: offset shouldn't affect width\n if (props.offset) {\n targetBox.x -= +props.offset\n targetBox.y -= +props.offset\n targetBox.width += +props.offset * 2\n targetBox.height += +props.offset * 2\n }\n\n const scrollParent = getScrollParent(data.contentEl.value)\n const viewportWidth = scrollParent.clientWidth\n const viewportHeight = Math.min(scrollParent.clientHeight, window.innerHeight)\n\n let contentBox\n {\n const scrollables = new Map<Element, [number, number]>()\n data.contentEl.value!.querySelectorAll('*').forEach(el => {\n const x = el.scrollLeft\n const y = el.scrollTop\n if (x || y) {\n scrollables.set(el, [x, y])\n }\n })\n\n const initialMaxWidth = data.contentEl.value!.style.maxWidth\n const initialMaxHeight = data.contentEl.value!.style.maxHeight\n data.contentEl.value!.style.removeProperty('max-width')\n data.contentEl.value!.style.removeProperty('max-height')\n\n contentBox = nullifyTransforms(data.contentEl.value!)\n contentBox.x -= parseFloat(data.contentEl.value!.style.left) || 0\n contentBox.y -= parseFloat(data.contentEl.value!.style.top) || 0\n\n data.contentEl.value!.style.maxWidth = initialMaxWidth\n data.contentEl.value!.style.maxHeight = initialMaxHeight\n scrollables.forEach((position, el) => {\n el.scrollTo(...position)\n })\n }\n\n const contentHeight = Math.min(configuredMaxHeight.value, contentBox.height)\n\n const viewportMargin = 12\n const freeSpace = {\n top: targetBox.top - viewportMargin,\n bottom: viewportHeight - targetBox.bottom - viewportMargin,\n left: targetBox.left - viewportMargin,\n right: viewportWidth - targetBox.right - viewportMargin,\n }\n\n const fitsY = (preferredAnchor.value.side === 'bottom' && contentHeight <= freeSpace.bottom) ||\n (preferredAnchor.value.side === 'top' && contentHeight <= freeSpace.top)\n\n const anchor = fitsY ? preferredAnchor.value\n : (preferredAnchor.value.side === 'bottom' && freeSpace.top > freeSpace.bottom) ||\n (preferredAnchor.value.side === 'top' && freeSpace.bottom > freeSpace.top) ? oppositeAnchor(preferredAnchor.value)\n : preferredAnchor.value\n const origin = fitsY ? preferredOrigin.value : oppositeAnchor(anchor)\n\n const canFill = doesOverlap.value || ['center', 'top', 'bottom'].includes(anchor.side)\n\n const maxWidth = canFill ? Math.min(viewportWidth, Math.max(targetBox.width, viewportWidth - viewportMargin * 2))\n : anchor.side === 'end' ? freeSpace.right\n : anchor.side === 'start' ? freeSpace.left\n : null\n const minWidth = Math.min(configuredMinWidth.value, maxWidth!, targetBox.width)\n const maxHeight = fitsY ? configuredMaxHeight.value : Math.min(\n configuredMaxHeight.value,\n Math.floor(anchor.side === 'top' ? freeSpace.top : freeSpace.bottom)\n )\n\n const targetPoint = anchorToPoint(anchor, targetBox)\n const contentPoint = anchorToPoint(origin, new Box({\n ...contentBox,\n height: Math.min(contentHeight, maxHeight),\n }))\n\n const { x, y } = getOffset(targetPoint, contentPoint)\n\n Object.assign(contentStyles.value, {\n '--v-overlay-anchor-origin': physicalAnchor(anchor, data.activatorEl.value!),\n top: convertToUnit(Math.round(y)),\n left: convertToUnit(Math.round(x)), // TODO: right for origin=\"end\", rtl\n transformOrigin: physicalAnchor(origin, data.activatorEl.value!),\n minWidth: convertToUnit(minWidth),\n maxWidth: convertToUnit(maxWidth),\n maxHeight: convertToUnit(maxHeight),\n })\n }\n\n watch(\n () => [preferredAnchor.value, preferredOrigin.value, props.offset],\n () => updatePosition(),\n { immediate: !activatorFixed }\n )\n\n if (activatorFixed) nextTick(() => updatePosition())\n requestAnimationFrame(() => {\n if (contentStyles.value.maxHeight) updatePosition()\n })\n\n return { updatePosition }\n}\n","let clean = true\nconst frames = [] as any[]\n\n/**\n * Schedule a task to run in an animation frame on its own\n * This is useful for heavy tasks that may cause jank if all ran together\n */\nexport function requestNewFrame (cb: () => void) {\n if (!clean || frames.length) {\n frames.push(cb)\n run()\n } else {\n clean = false\n cb()\n run()\n }\n}\n\nlet raf = -1\nfunction run () {\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n const frame = frames.shift()\n if (frame) frame()\n\n if (frames.length) run()\n else clean = true\n })\n}\n","// Utilities\nimport { convertToUnit, getScrollParents, hasScrollbar, IN_BROWSER, propsFactory } from '@/util'\nimport { effectScope, nextTick, onScopeDispose, watchEffect } from 'vue'\nimport { requestNewFrame } from './requestNewFrame'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\n\nexport interface ScrollStrategyData {\n root: Ref<HTMLElement | undefined>\n contentEl: Ref<HTMLElement | undefined>\n activatorEl: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n updatePosition: Ref<((e: Event) => void) | undefined>\n}\n\nconst scrollStrategies = {\n close: closeScrollStrategy,\n block: blockScrollStrategy,\n reposition: repositionScrollStrategy,\n}\n\ninterface StrategyProps {\n scrollStrategy: keyof typeof scrollStrategies | ((data: ScrollStrategyData) => void)\n}\n\nexport const makeScrollStrategyProps = propsFactory({\n scrollStrategy: {\n type: [String, Function] as PropType<StrategyProps['scrollStrategy']>,\n default: 'block',\n validator: (val: any) => typeof val === 'function' || val in scrollStrategies,\n },\n})\n\nexport function useScrollStrategies (\n props: StrategyProps,\n data: ScrollStrategyData\n) {\n if (!IN_BROWSER) return\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n\n if (!(data.isActive.value && props.scrollStrategy)) return\n\n scope = effectScope()\n await nextTick()\n scope.run(() => {\n if (typeof props.scrollStrategy === 'function') {\n props.scrollStrategy(data)\n } else {\n scrollStrategies[props.scrollStrategy]?.(data)\n }\n })\n })\n}\n\nfunction closeScrollStrategy (data: ScrollStrategyData) {\n function onScroll (e: Event) {\n data.isActive.value = false\n }\n\n bindScroll(data.activatorEl.value ?? data.contentEl.value, onScroll)\n}\n\nfunction blockScrollStrategy (data: ScrollStrategyData) {\n const scrollElements = [...new Set([\n ...getScrollParents(data.activatorEl.value),\n ...getScrollParents(data.contentEl.value),\n ])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'))\n const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth\n\n const scrollableParent = (el => hasScrollbar(el) && el)(data.root.value?.offsetParent || document.documentElement)\n if (scrollableParent) {\n data.root.value!.classList.add('v-overlay--scroll-blocked')\n }\n\n scrollElements.forEach((el, i) => {\n el.style.setProperty('--v-scrollbar-offset', convertToUnit(scrollbarWidth))\n el.classList.add('v-overlay-scroll-blocked')\n })\n\n onScopeDispose(() => {\n scrollElements.forEach((el, i) => {\n el.style.removeProperty('--v-scrollbar-offset')\n el.classList.remove('v-overlay-scroll-blocked')\n })\n if (scrollableParent) {\n data.root.value!.classList.remove('v-overlay--scroll-blocked')\n }\n })\n}\n\nfunction repositionScrollStrategy (data: ScrollStrategyData) {\n let slow = false\n let raf = -1\n\n function update (e: Event) {\n requestNewFrame(() => {\n const start = performance.now()\n data.updatePosition.value?.(e)\n const time = performance.now() - start\n slow = time / (1000 / 60) > 2\n })\n }\n\n bindScroll(data.activatorEl.value ?? data.contentEl.value, e => {\n if (slow) {\n // If the position calculation is slow,\n // defer updates until scrolling is finished.\n // Browsers usually fire one scroll event per frame so\n // we just wait until we've got two frames without an event\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(() => {\n update(e)\n })\n })\n } else {\n update(e)\n }\n })\n}\n\n/** @private */\nfunction bindScroll (el: HTMLElement | undefined, onScroll: (e: Event) => void) {\n const scrollElements = [document, ...getScrollParents(el)]\n scrollElements.forEach(el => {\n el.addEventListener('scroll', onScroll, { passive: true })\n })\n\n onScopeDispose(() => {\n scrollElements.forEach(el => {\n el.removeEventListener('scroll', onScroll)\n })\n })\n}\n","// Utilities\nimport { computed, warn } from 'vue'\nimport { IN_BROWSER } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport function useTeleport (target: Ref<boolean | string | Element>) {\n const teleportTarget = computed(() => {\n const _target = target.value\n\n if (_target === true || !IN_BROWSER) return undefined\n\n const targetElement =\n _target === false ? document.body\n : typeof _target === 'string' ? document.querySelector(_target)\n : _target\n\n if (targetElement == null) {\n warn(`Unable to locate target ${_target}`)\n return undefined\n }\n\n if (!useTeleport.cache.has(targetElement)) {\n const el = document.createElement('div')\n el.className = 'v-overlay-container'\n targetElement.appendChild(el)\n useTeleport.cache.set(targetElement, el)\n }\n\n return useTeleport.cache.get(targetElement)\n })\n\n return { teleportTarget }\n}\nuseTeleport.cache = new WeakMap<Element, Element>()\n","// Utilities\nimport { computed, ref, watch } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\nimport { propsFactory } from '@/util'\n\nexport const makeLazyProps = propsFactory({\n eager: Boolean,\n}, 'lazy')\n\nexport function useLazy (props: { eager: boolean }, active: Ref<boolean>) {\n const isBooted = ref(false)\n const hasContent = computed(() => isBooted.value || props.eager || active.value)\n\n watch(active, () => isBooted.value = true)\n\n function onAfterLeave () {\n if (!props.eager) isBooted.value = false\n }\n\n return { isBooted, hasContent, onAfterLeave }\n}\n","import { computed, effectScope, onScopeDispose, ref, toRaw, watch } from 'vue'\nimport { getCurrentInstance } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, EffectScope, Ref } from 'vue'\n\nconst stack = ref<ComponentInternalInstance[]>([])\n\nexport function useStack (isActive: Ref<boolean>) {\n const vm = getCurrentInstance('useStack')\n let scope: EffectScope | undefined\n watch(isActive, val => {\n if (val) {\n scope = effectScope()\n scope.run(() => {\n stack.value.push(vm)\n\n onScopeDispose(() => {\n const idx = stack.value.indexOf(vm)\n stack.value.splice(idx, 1)\n })\n })\n } else {\n scope?.stop()\n }\n }, { immediate: true })\n\n const isTop = computed(() => {\n return toRaw(stack.value[stack.value.length - 1]) === vm\n })\n\n return {\n isTop,\n }\n}\n","// Utilities\nimport { computed, inject, ref, watch } from 'vue'\nimport { getUid } from '@/util'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\n\ntype OverlayProvide = {\n overlays: Ref<number[]>\n zIndex: Ref<number>\n}\n\nexport const VuetifyOverlayKey: InjectionKey<OverlayProvide> = Symbol.for('vuetify:overlay')\n\nconst ROOT_ZINDEX = 2000\n\nexport function useOverlay (isActive: Ref<boolean | undefined>) {\n const { zIndex, overlays } = inject(VuetifyOverlayKey, { zIndex: ref(ROOT_ZINDEX), overlays: ref([]) })\n\n const id = getUid()\n\n watch(isActive, value => {\n if (value) {\n overlays.value.push(id)\n } else {\n overlays.value = overlays.value.filter(x => x !== id)\n }\n }, {\n immediate: true,\n })\n\n const overlayZIndex = computed(() => zIndex.value + overlays.value.indexOf(id) + 1)\n\n return { overlayZIndex }\n}\n","import { attachedRoot } from '@/util'\nimport type { DirectiveBinding } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: MouseEvent) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirectiveBinding extends DirectiveBinding {\n value: ((e: MouseEvent) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el?.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: MouseEvent, binding: ClickOutsideDirectiveBinding): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n mounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const onClick = (e: Event) => directive(e as MouseEvent, el, binding)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as MouseEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: true,\n }\n }\n\n el._clickOutside[binding.instance!.$.uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unmounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside?.[binding.instance!.$.uid]) return\n\n const { onClick, onMousedown } = el._clickOutside[binding.instance!.$.uid]!\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[binding.instance!.$.uid]\n },\n}\n\nexport default ClickOutside\n","// Styles\nimport './VOverlay.sass'\n\n// Composables\nimport { makeActivatorProps, useActivator } from './useActivator'\nimport { makePositionStrategyProps, usePositionStrategies } from './positionStrategies'\nimport { makeScrollStrategyProps, useScrollStrategies } from './scrollStrategies'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useBackButton } from '@/composables/router'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRtl } from '@/composables/rtl'\nimport { useTeleport } from '@/composables/teleport'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { useStack } from '@/composables/stack'\nimport { useOverlay } from '@/composables/overlay'\n\n// Directives\nimport { ClickOutside } from '@/directives/click-outside'\n\n// Utilities\nimport {\n convertToUnit,\n genericComponent,\n getScrollParent,\n IN_BROWSER,\n standardEasing,\n useRender,\n} from '@/util'\nimport {\n computed,\n mergeProps,\n ref,\n Teleport,\n toHandlers,\n Transition,\n watch,\n} from 'vue'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { BackgroundColorData } from '@/composables/color'\n\ninterface ScrimProps {\n [key: string]: unknown\n modelValue: boolean\n color: BackgroundColorData\n}\nfunction Scrim (props: ScrimProps) {\n const { modelValue, color, ...rest } = props\n return (\n <Transition name=\"fade-transition\" appear>\n { props.modelValue && (\n <div\n class={[\n 'v-overlay__scrim',\n props.color.backgroundColorClasses.value,\n ]}\n style={ props.color.backgroundColorStyles.value }\n { ...rest }\n />\n )}\n </Transition>\n )\n}\n\nexport type OverlaySlots = MakeSlots<{\n default: [{ isActive: Ref<boolean> }]\n activator: [{ isActive: boolean, props: Record<string, any> }]\n}>\n\nexport const VOverlay = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VOverlay',\n\n directives: { ClickOutside },\n\n inheritAttrs: false,\n\n props: {\n absolute: Boolean,\n attach: [Boolean, String, Object] as PropType<boolean | string | Element>,\n contained: Boolean,\n contentClass: null,\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [String, Boolean],\n default: true,\n },\n\n ...makeActivatorProps(),\n ...makeDimensionProps(),\n ...makePositionStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps(),\n ...makeLazyProps(),\n },\n\n emits: {\n 'click:outside': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n afterLeave: () => true,\n },\n\n setup (props, { slots, attrs, emit }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { teleportTarget } = useTeleport(computed(() => props.attach || props.contained))\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n const { hasContent, onAfterLeave } = useLazy(props, isActive)\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const { activatorEl, activatorRef, activatorEvents } = useActivator(props, isActive)\n const { dimensionStyles } = useDimension(props)\n const { isTop } = useStack(isActive)\n\n const root = ref<HTMLElement>()\n const contentEl = ref<HTMLElement>()\n const { contentStyles, updatePosition } = usePositionStrategies(props, {\n contentEl,\n activatorEl,\n isActive,\n })\n useScrollStrategies(props, {\n root,\n contentEl,\n activatorEl,\n isActive,\n updatePosition,\n })\n\n function onClickOutside (e: MouseEvent) {\n emit('click:outside', e)\n\n if (!props.persistent) isActive.value = false\n else animateClick()\n }\n\n function closeConditional () {\n return isActive.value && isTop.value\n }\n\n IN_BROWSER && watch(isActive, val => {\n if (val) {\n window.addEventListener('keydown', onKeydown)\n } else {\n window.removeEventListener('keydown', onKeydown)\n }\n }, { immediate: true })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === 'Escape' && isTop.value) {\n if (!props.persistent) {\n isActive.value = false\n } else animateClick()\n }\n }\n\n useBackButton(next => {\n if (isTop.value && isActive.value) {\n next(false)\n if (!props.persistent) isActive.value = false\n else animateClick()\n } else {\n next()\n }\n })\n\n const top = ref<number>()\n watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, val => {\n if (val) {\n const scrollParent = getScrollParent(root.value)\n if (scrollParent && scrollParent !== document.scrollingElement) {\n top.value = scrollParent.scrollTop\n }\n }\n })\n\n // Add a quick \"bounce\" animation to the content\n function animateClick () {\n if (props.noClickAnimation) return\n\n contentEl.value?.animate([\n { transformOrigin: 'center' },\n { transform: 'scale(1.03)' },\n { transformOrigin: 'center' },\n ], {\n duration: 150,\n easing: standardEasing,\n })\n }\n\n const { overlayZIndex } = useOverlay(isActive)\n\n useRender(() => (\n <>\n { slots.activator?.({\n isActive: isActive.value,\n props: mergeProps({\n ref: activatorRef,\n }, toHandlers(activatorEvents.value), props.activatorProps),\n }) }\n\n { IN_BROWSER && (\n <Teleport\n disabled={ !teleportTarget.value }\n to={ teleportTarget.value }\n >\n { hasContent.value && (\n <div\n class={[\n 'v-overlay',\n {\n 'v-overlay--absolute': props.absolute || props.contained,\n 'v-overlay--active': isActive.value,\n 'v-overlay--contained': props.contained,\n },\n themeClasses.value,\n rtlClasses.value,\n ]}\n style={{\n top: convertToUnit(top.value),\n zIndex: overlayZIndex.value,\n }}\n ref={ root }\n {...attrs}\n >\n <Scrim\n color={ scrimColor }\n modelValue={ isActive.value && !!props.scrim }\n />\n <MaybeTransition\n appear\n persisted\n transition={ props.transition }\n target={ activatorEl.value }\n onAfterLeave={() => { onAfterLeave(); emit('afterLeave') }}\n >\n <div\n ref={ contentEl }\n v-show={ isActive.value }\n v-click-outside={{ handler: onClickOutside, closeConditional, include: () => [activatorEl.value] }}\n class={[\n 'v-overlay__content',\n props.contentClass,\n ]}\n style={[\n dimensionStyles.value,\n contentStyles.value,\n ]}\n >\n { slots.default?.({ isActive }) }\n </div>\n </MaybeTransition>\n </div>\n )}\n </Teleport>\n ) }\n </>\n ))\n\n return {\n animateClick,\n contentEl,\n activatorEl,\n }\n },\n})\n\nexport type VOverlay = InstanceType<typeof VOverlay>\n","// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VOverlay } from '@/components/VOverlay'\nimport { VDialogTransition } from '@/components/transitions'\n\n// Composables\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, getUid } from '@/util'\n\n// Types\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const VMenu = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VMenu',\n\n inheritAttrs: false,\n\n props: {\n // TODO\n // closeOnClick: {\n // type: Boolean,\n // default: true,\n // },\n // closeOnContentClick: {\n // type: Boolean,\n // default: true,\n // },\n disableKeys: Boolean,\n modelValue: Boolean,\n id: String,\n\n ...makeTransitionProps({\n transition: { component: VDialogTransition },\n } as const),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n\n const uid = getUid()\n const id = computed(() => props.id || `v-menu-${uid}`)\n\n return () => {\n return (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-menu',\n ]}\n transition={ props.transition }\n absolute\n positionStrategy=\"connected\"\n scrollStrategy=\"reposition\"\n scrim={ false }\n activatorProps={{\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(isActive.value),\n 'aria-owns': id.value,\n }}\n { ...attrs }\n v-slots={{\n default: slots.default,\n activator: slots.activator,\n }}\n />\n )\n }\n },\n})\n\nexport type VMenu = InstanceType<typeof VMenu>\n","// Styles\nimport './VMessages.sass'\n\n// Components\nimport { VSlideYTransition } from '@/components/transitions'\n\n// Composables\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { defineComponent, wrapInArray } from '@/util'\nimport { computed } from 'vue'\nimport type { PropType } from 'vue'\n\nexport const VMessages = defineComponent({\n name: 'VMessages',\n\n props: {\n active: Boolean,\n color: String,\n messages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n\n ...makeTransitionProps({\n transition: {\n component: VSlideYTransition,\n leaveAbsolute: true,\n group: true,\n },\n }),\n },\n\n setup (props, { slots }) {\n const messages = computed(() => wrapInArray(props.messages))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => props.color))\n\n return () => (\n <MaybeTransition\n transition={ props.transition }\n tag=\"div\"\n class={[\n 'v-messages',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { props.active && (\n messages.value.map((message, i) => (\n <div\n class=\"v-messages__message\"\n key={ `${i}-${messages.value}` }\n >\n { slots.message ? slots.message({ message }) : message }\n </div>\n ))\n ) }\n </MaybeTransition>\n )\n },\n})\n","// Utilities\nimport { computed, inject, provide, ref } from 'vue'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { consoleWarn, propsFactory } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\n\nexport interface FormProvide {\n register: (\n id: number | string,\n validate: () => Promise<string[]>,\n reset: () => void,\n resetValidation: () => void\n ) => void\n unregister: (id: number | string) => void\n items: Ref<FormField[]>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isValidating: Ref<boolean>\n}\n\ninterface FormField {\n id: number | string\n validate: () => Promise<string[]>\n reset: () => void\n resetValidation: () => void\n}\n\ninterface FormValidationResult {\n id: number | string\n errorMessages: string[]\n}\n\nexport const FormKey: InjectionKey<FormProvide> = Symbol.for('vuetify:form')\n\nexport interface FormProps {\n disabled: boolean\n fastFail: boolean\n lazyValidation: boolean\n readonly: boolean\n modelValue: boolean | null\n 'onUpdate:modelValue': ((val: boolean | null) => void) | undefined\n}\n\nexport const makeFormProps = propsFactory({\n disabled: Boolean,\n fastFail: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n modelValue: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n})\n\nexport function createForm (props: FormProps) {\n const model = useProxiedModel(props, 'modelValue')\n\n const isDisabled = computed(() => props.disabled)\n const isReadonly = computed(() => props.readonly)\n const isValidating = ref(false)\n const items = ref<FormField[]>([])\n const errorMessages = ref<FormValidationResult[]>([])\n\n async function validate () {\n const results = []\n let valid = true\n\n errorMessages.value = []\n model.value = null\n isValidating.value = true\n\n for (const item of items.value) {\n const itemErrorMessages = await item.validate()\n\n if (itemErrorMessages.length > 0) {\n valid = false\n\n results.push({\n id: item.id,\n errorMessages: itemErrorMessages,\n })\n }\n\n if (!valid && props.fastFail) break\n }\n\n errorMessages.value = results\n model.value = valid\n isValidating.value = false\n\n return { valid, errorMessages: errorMessages.value }\n }\n\n function reset () {\n items.value.forEach(item => item.reset())\n model.value = null\n }\n\n function resetValidation () {\n items.value.forEach(item => item.resetValidation())\n errorMessages.value = []\n model.value = null\n }\n\n provide(FormKey, {\n register: (id, validate, reset, resetValidation) => {\n if (items.value.some(item => item.id === id)) {\n consoleWarn(`Duplicate input name \"${id}\"`)\n }\n\n items.value.push({\n id,\n validate,\n reset,\n resetValidation,\n })\n },\n unregister: id => {\n items.value = items.value.filter(item => {\n return item.id !== id\n })\n },\n isDisabled,\n isReadonly,\n isValidating,\n items,\n })\n\n return {\n errorMessages,\n isDisabled,\n isReadonly,\n isValidating,\n items,\n validate,\n reset,\n resetValidation,\n }\n}\n\nexport function useForm () {\n return inject(FormKey, null)\n}\n","// Composables\nimport { useForm } from '@/composables/form'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, onBeforeMount, onBeforeUnmount, ref } from 'vue'\nimport { getCurrentInstanceName, getUid, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type ValidationResult = string | true\nexport type ValidationRule =\n | ValidationResult\n | PromiseLike<ValidationResult>\n | ((value: any) => ValidationResult)\n | ((value: any) => PromiseLike<ValidationResult>)\n\nexport interface ValidationProps {\n disabled: boolean\n error: boolean\n errorMessages: string | string[]\n maxErrors: string | number\n name: string | undefined\n readonly: boolean\n rules: ValidationRule[]\n modelValue: any\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n}\n\nexport const makeValidationProps = propsFactory({\n disabled: Boolean,\n error: Boolean,\n errorMessages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n maxErrors: {\n type: [Number, String],\n default: 1,\n },\n name: String,\n readonly: Boolean,\n rules: {\n type: Array as PropType<ValidationRule[]>,\n default: () => ([]),\n },\n modelValue: null,\n})\n\nexport function useValidation (\n props: ValidationProps,\n name = getCurrentInstanceName(),\n) {\n const model = useProxiedModel(props, 'modelValue')\n const form = useForm()\n const internalErrorMessages = ref<string[]>([])\n const isPristine = ref(true)\n const isDirty = computed(() => wrapInArray(model.value || []).length > 0)\n const isDisabled = computed(() => !!(props.disabled || form?.isDisabled.value))\n const isReadonly = computed(() => !!(props.readonly || form?.isReadonly.value))\n const errorMessages = computed(() => {\n return props.errorMessages.length\n ? wrapInArray(props.errorMessages)\n : internalErrorMessages.value\n })\n const isValid = computed(() => {\n if (props.error || errorMessages.value.length) return false\n\n return isPristine.value ? null : true\n })\n const isValidating = ref(false)\n const validationClasses = computed(() => {\n return {\n [`${name}--error`]: isValid.value === false,\n [`${name}--dirty`]: isDirty.value,\n [`${name}--disabled`]: isDisabled.value,\n [`${name}--readonly`]: isReadonly.value,\n }\n })\n\n const uid = computed(() => props.name ?? getUid())\n\n onBeforeMount(() => {\n form?.register(uid.value, validate, reset, resetValidation)\n })\n\n onBeforeUnmount(() => {\n form?.unregister(uid.value)\n })\n\n function reset () {\n resetValidation()\n model.value = null\n }\n\n function resetValidation () {\n isPristine.value = true\n internalErrorMessages.value = []\n }\n\n async function validate () {\n const results = []\n\n isValidating.value = true\n\n for (const rule of props.rules) {\n if (results.length >= (props.maxErrors || 1)) {\n break\n }\n\n const handler = typeof rule === 'function' ? rule : () => rule\n const result = await handler(model.value)\n\n if (result === true) continue\n\n if (typeof result !== 'string') {\n // eslint-disable-next-line no-console\n console.warn(`${result} is not a valid value. Rule functions must return boolean true or a string.`)\n\n continue\n }\n\n results.push(result)\n }\n\n internalErrorMessages.value = results\n isValidating.value = false\n isPristine.value = false\n\n return internalErrorMessages.value\n }\n\n return {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n }\n}\n","// Styles\nimport './VInput.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VMessages } from '@/components/VMessages'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, getUid, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, ExtractPropTypes, PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n isDirty: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: String,\n prependIcon: String,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n messages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n ...makeDensityProps(),\n ...makeValidationProps(),\n})\n\nexport type VInputSlots = MakeSlots<{\n default: [VInputSlot]\n prepend: [VInputSlot]\n append: [VInputSlot]\n details: [VInputSlot]\n}>\n\nexport const VInput = genericComponent<new <T>() => {\n $slots: VInputSlots\n}>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'click:prepend': (e: MouseEvent) => true,\n 'click:append': (e: MouseEvent) => true,\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots, emit }) {\n const { densityClasses } = useDensity(props)\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon)\n const hasAppend = !!(slots.append || props.appendIcon)\n const hasMessages = !!(\n props.messages?.length ||\n errorMessages.value.length\n )\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n hasMessages\n )\n\n return (\n <div class={[\n 'v-input',\n `v-input--${props.direction}`,\n densityClasses.value,\n validationClasses.value,\n ]}\n >\n { hasPrepend && (\n <div\n class=\"v-input__prepend\"\n >\n { slots?.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <VIcon\n onClick={ (e: MouseEvent) => emit('click:prepend', e) }\n icon={ props.prependIcon }\n />\n ) }\n </div>\n ) }\n\n { slots.default && (\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n ) }\n\n { hasAppend && (\n <div\n class=\"v-input__append\"\n >\n { slots?.append?.(slotProps.value) }\n\n { props.appendIcon && (\n <VIcon\n onClick={ (e: MouseEvent) => emit('click:append', e) }\n icon={ props.appendIcon }\n />\n ) }\n </div>\n ) }\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n active={ hasMessages }\n messages={ errorMessages.value.length > 0\n ? errorMessages.value\n : props.messages\n }\n v-slots={{ message: slots.message }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n ) }\n </div>\n )\n })\n\n return {\n reset,\n resetValidation,\n validate,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n\nexport function filterInputProps (props: ExtractPropTypes<ReturnType<typeof makeVInputProps>>) {\n return pick(props, Object.keys(VInput.props) as any)\n}\n","// Styles\nimport './VLabel.sass'\n\n// Composables\nimport { makeThemeProps } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VLabel = defineComponent({\n name: 'VLabel',\n\n props: {\n text: String,\n\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n return () => (\n <label class=\"v-label\">\n { props.text }\n\n { slots.default?.() }\n </label>\n )\n },\n})\n\nexport type VLabel = InstanceType<typeof VLabel>\n","// Components\nimport { VLabel } from '@/components/VLabel'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VFieldLabel = defineComponent({\n name: 'VFieldLabel',\n\n props: {\n floating: Boolean,\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <VLabel\n class={[\n 'v-field-label',\n { 'v-field-label--floating': props.floating },\n ]}\n aria-hidden={ props.floating || undefined }\n v-slots={ slots }\n />\n )\n }\n },\n})\n\nexport type VFieldLabel = InstanceType<typeof VFieldLabel>\n","// Utilities\nimport { onBeforeUnmount, ref, watch } from 'vue'\nimport { SUPPORTS_INTERSECTION } from '@/util'\n\nexport function useIntersectionObserver (callback?: IntersectionObserverCallback) {\n const intersectionRef = ref<HTMLElement>()\n const isIntersecting = ref(false)\n\n if (SUPPORTS_INTERSECTION) {\n const observer = new IntersectionObserver((entries: IntersectionObserverEntry[]) => {\n callback?.(entries, observer)\n\n isIntersecting.value = !!entries.find(entry => entry.isIntersecting)\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(intersectionRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue)\n isIntersecting.value = false\n }\n\n if (newValue) observer.observe(newValue)\n }, {\n flush: 'post',\n })\n }\n\n return { intersectionRef, isIntersecting }\n}\n","// Styles\nimport './VProgressLinear.sass'\n\n// Composables\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRtl } from '@/composables/rtl'\n\n// Utilities\nimport { convertToUnit, defineComponent } from '@/util'\nimport { computed, Transition } from 'vue'\n\nexport const VProgressLinear = defineComponent({\n name: 'VProgressLinear',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n bgColor: String,\n bgOpacity: [Number, String],\n bufferValue: {\n type: [Number, String],\n default: 0,\n },\n clickable: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n reverse: Boolean,\n stream: Boolean,\n striped: Boolean,\n roundedBar: Boolean,\n\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const progress = useProxiedModel(props, 'modelValue')\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { textColorClasses, textColorStyles } = useTextColor(props, 'color')\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(computed(() => props.bgColor || props.color))\n const { backgroundColorClasses: barColorClasses, backgroundColorStyles: barColorStyles } = useBackgroundColor(props, 'color')\n const { roundedClasses } = useRounded(props)\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n const max = computed(() => parseInt(props.max, 10))\n const height = computed(() => parseInt(props.height, 10))\n const normalizedBuffer = computed(() => parseFloat(props.bufferValue) / max.value * 100)\n const normalizedValue = computed(() => parseFloat(progress.value) / max.value * 100)\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const transition = computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition')\n const opacity = computed(() => {\n return props.bgOpacity == null\n ? props.bgOpacity\n : parseFloat(props.bgOpacity)\n })\n\n function handleClick (e: MouseEvent) {\n if (!intersectionRef.value) return\n\n const { left, right, width } = intersectionRef.value.getBoundingClientRect()\n const value = isReversed.value ? (width - e.clientX) + (right - width) : e.clientX - left\n\n progress.value = Math.round(value / width * max.value)\n }\n\n return () => (\n <props.tag\n ref={ intersectionRef }\n class={[\n 'v-progress-linear',\n {\n 'v-progress-linear--active': props.active && isIntersecting.value,\n 'v-progress-linear--reverse': isReversed.value,\n 'v-progress-linear--rounded': props.rounded,\n 'v-progress-linear--rounded-bar': props.roundedBar,\n 'v-progress-linear--striped': props.striped,\n },\n roundedClasses.value,\n themeClasses.value,\n ]}\n style={{\n height: props.active ? convertToUnit(height.value) : 0,\n '--v-progress-linear-height': convertToUnit(height.value),\n }}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax={ props.max }\n aria-valuenow={ props.indeterminate ? undefined : normalizedValue.value }\n onClick={ props.clickable && handleClick }\n >\n { props.stream && (\n <div\n class={[\n 'v-progress-linear__stream',\n textColorClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),\n borderTop: `${convertToUnit(height.value / 2)} dotted`,\n opacity: opacity.value,\n top: `calc(50% - ${convertToUnit(height.value / 4)})`,\n width: convertToUnit(100 - normalizedBuffer.value, '%'),\n '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1)),\n }}\n />\n ) }\n\n <div\n class={[\n 'v-progress-linear__background',\n backgroundColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n {\n opacity: opacity.value,\n width: convertToUnit((!props.stream ? 100 : normalizedBuffer.value), '%'),\n },\n ]}\n />\n\n <Transition name={ transition.value }>\n { !props.indeterminate ? (\n <div\n class={[\n 'v-progress-linear__determinate',\n barColorClasses.value,\n ]}\n style={[\n barColorStyles.value,\n { width: convertToUnit(normalizedValue.value, '%') },\n ]}\n />\n ) : (\n <div class=\"v-progress-linear__indeterminate\">\n { ['long', 'short'].map(bar => (\n <div\n key={ bar }\n class={[\n 'v-progress-linear__indeterminate',\n bar,\n barColorClasses.value,\n ]}\n style={ barColorStyles.value }\n />\n )) }\n </div>\n ) }\n </Transition>\n\n { slots.default && (\n <div class=\"v-progress-linear__content\">\n { slots.default({ value: normalizedValue.value, buffer: normalizedBuffer.value }) }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","// Components\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes } from 'vue'\nimport type { SetupContext } from '@vue/runtime-core'\nimport type { MakeSlots, SlotsToProps } from '@/util'\n\nexport interface LoaderSlotProps {\n color: string | undefined\n isActive: boolean\n}\n\nexport interface LoaderProps {\n loading: boolean\n}\n\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: Boolean,\n}, 'loader')\n\nexport function useLoader (\n props: LoaderProps,\n name = getCurrentInstanceName(),\n) {\n const loaderClasses = computed(() => ({\n [`${name}--loading`]: props.loading,\n }))\n\n return { loaderClasses }\n}\n\nexport function LoaderSlot (\n props: {\n active: boolean\n name: string\n color?: string\n } & ExtractPropTypes<SlotsToProps<MakeSlots<{\n default: [LoaderSlotProps]\n }>>>,\n { slots }: SetupContext,\n) {\n return (\n <div class={`${props.name}__loader`}>\n { slots.default?.({\n color: props.color,\n isActive: props.active,\n } as LoaderSlotProps) || (\n <VProgressLinear\n active={ props.active }\n color={ props.color }\n height=\"2\"\n indeterminate\n />\n )}\n </div>\n )\n}\n","// Components\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nexport interface FocusProps {\n focused: boolean\n 'onUpdate:focused': ((val: boolean) => void) | undefined\n}\n\n// Composables\nexport const makeFocusProps = propsFactory({\n focused: Boolean,\n}, 'focus')\n\nexport function useFocus (\n props: FocusProps,\n name = getCurrentInstanceName()\n) {\n const isFocused = useProxiedModel(props, 'focused')\n const focusClasses = computed(() => {\n return ({\n [`${name}--focused`]: isFocused.value,\n })\n })\n\n function focus () {\n isFocused.value = true\n }\n\n function blur () {\n isFocused.value = false\n }\n\n return { focusClasses, isFocused, focus, blur }\n}\n","// Styles\nimport './VField.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\nimport { VFieldLabel } from './VFieldLabel'\n\n// Composables\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\n\n// Utilities\nimport { computed, ref, toRef, watch } from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n getUid,\n nullifyTransforms,\n pick,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { VInputSlot } from '@/components/VInput/VInput'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'contained', '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: String,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n active: Boolean,\n color: String,\n dirty: Boolean,\n disabled: Boolean,\n error: Boolean,\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: String,\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 ...makeThemeProps(),\n ...makeLoaderProps(),\n}, 'v-field')\n\nexport type VFieldSlots = MakeSlots<{\n clear: []\n prependInner: [DefaultInputSlot & VInputSlot]\n appendInner: [DefaultInputSlot & VInputSlot]\n label: [DefaultInputSlot & VInputSlot]\n loader: [LoaderSlotProps]\n default: [VFieldSlot]\n}>\n\nexport const VField = genericComponent<new <T>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n }\n $slots: VFieldSlots\n}>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n\n ...makeFocusProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'click:clear': (e: MouseEvent) => true,\n 'click:prepend-inner': (e: MouseEvent) => true,\n 'click:append-inner': (e: MouseEvent) => true,\n 'click:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: 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\n const isActive = computed(() => props.dirty || props.active)\n const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label))\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n isActive.value &&\n isFocused.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n\n watch(isActive, val => {\n if (hasLabel.value) {\n const el: HTMLElement = labelRef.value!.$el\n const targetEl: HTMLElement = floatingLabelRef.value!.$el\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 duration = parseFloat(getComputedStyle(el).transitionDuration) * 1000\n const scale = parseFloat(getComputedStyle(targetEl).getPropertyValue('--v-field-label-scale'))\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n el.animate([\n { transform: 'translate(0)' },\n { transform: `translate(${x}px, ${y}px) scale(${scale})`, ...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 }, { 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 emit('click:control', e)\n }\n\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = (slots.prependInner || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear)\n const hasAppend = !!(slots.appendInner || props.appendInnerIcon || hasClear)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\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--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\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--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n focusClasses.value,\n loaderClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n textColorStyles.value,\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' : props.color }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div\n class=\"v-field__prepend-inner\"\n >\n { props.prependInnerIcon && (\n <VIcon\n onClick={ (e: MouseEvent) => emit('click:prepend-inner', e) }\n icon={ props.prependInnerIcon }\n />\n ) }\n\n { slots?.prependInner?.(slotProps.value) }\n </div>\n ) }\n\n <div class=\"v-field__field\">\n { ['contained', 'filled'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel\n ref={ floatingLabelRef }\n class={[textColorClasses.value]}\n floating\n >\n { label }\n </VFieldLabel>\n ) }\n\n <VFieldLabel ref={ labelRef } for={ id.value }>\n { label }\n </VFieldLabel>\n\n { slots.default?.({\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n },\n focus,\n blur,\n } as VFieldSlot) }\n </div>\n\n { hasClear && (\n <VExpandXTransition>\n <div\n class=\"v-field__clearable\"\n v-show={ props.dirty }\n >\n { slots.clear\n ? slots.clear()\n : (\n <VIcon\n onClick={ (e: MouseEvent) => emit('click:clear', e) }\n icon={ props.clearIcon }\n />\n )\n }\n </div>\n </VExpandXTransition>\n ) }\n\n { hasAppend && (\n <div\n class=\"v-field__append-inner\"\n >\n { slots?.appendInner?.(slotProps.value) }\n\n { props.appendInnerIcon && (\n <VIcon\n onClick={ (e: MouseEvent) => emit('click:append-inner', e) }\n icon={ props.appendInnerIcon }\n />\n ) }\n </div>\n ) }\n\n <div\n class={[\n 'v-field__outline',\n textColorClasses.value,\n ]}\n >\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasLabel.value && (\n <div class=\"v-field__outline__notch\">\n <VFieldLabel ref={ floatingLabelRef } floating>\n { label }\n </VFieldLabel>\n </div>\n ) }\n\n <div class=\"v-field__outline__end\" />\n </>\n ) }\n\n { ['plain', 'underlined'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating>\n { label }\n </VFieldLabel>\n ) }\n </div>\n </div>\n )\n })\n\n return {\n controlRef,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n\n// TODO: this is kinda slow, might be better to implicitly inherit props instead\nexport function filterFieldProps (attrs: Record<string, unknown>) {\n return pick(attrs, Object.keys(VField.props))\n}\n","// Styles\nimport './VCounter.sass'\n\n// Components\nimport { VSlideYTransition } from '@/components/transitions'\n\n// Utilities\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VCounter = defineComponent({\n name: 'VCounter',\n\n functional: true,\n\n props: {\n active: Boolean,\n max: [Number, String],\n value: {\n type: [Number, String],\n default: 0,\n },\n\n ...makeTransitionProps({\n transition: { component: VSlideYTransition },\n }),\n },\n\n setup (props, { slots }) {\n const counter = computed(() => {\n return props.max ? `${props.value} / ${props.max}` : String(props.value)\n })\n\n return () => {\n return (\n <MaybeTransition transition={ props.transition }>\n <div\n v-show={ props.active }\n class=\"v-counter\"\n >\n { slots.default\n ? slots.default({\n counter: counter.value,\n max: props.max,\n value: props.value,\n })\n : counter.value\n }\n </div>\n </MaybeTransition>\n )\n }\n },\n})\n","// Styles\nimport './VTextField.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { filterFieldProps, makeVFieldProps, VField } from '@/components/VField/VField'\nimport { VCounter } from '@/components/VCounter'\n\n// Composables\nimport { useForwardRef } from '@/composables/forwardRef'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, nextTick, ref } from 'vue'\nimport { filterInputAttrs, genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { VFieldSlots } from '@/components/VField/VField'\n\nconst activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\nexport const VTextField = genericComponent<new <T>() => {\n $slots: VInputSlots & VFieldSlots\n}>()({\n name: 'VTextField',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: {\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n hint: String,\n persistentHint: Boolean,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'click:append': (e: MouseEvent) => true,\n 'click:append-inner': (e: MouseEvent) => true,\n 'click:clear': (e: MouseEvent) => true,\n 'click:control': (e: MouseEvent) => true,\n 'click:input': (e: MouseEvent) => true,\n 'click:prepend': (e: MouseEvent) => true,\n 'click:prepend-inner': (e: MouseEvent) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value ?? '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const isFocused = ref(false)\n const inputRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n activeTypes.includes(props.type) ||\n props.persistentPlaceholder ||\n isFocused.value\n ))\n const messages = computed(() => {\n return props.messages.length\n ? props.messages\n : (isFocused.value || props.persistentHint) ? props.hint : ''\n })\n function onFocus () {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n\n if (!isFocused.value) isFocused.value = true\n }\n function onControlClick (e: MouseEvent) {\n onFocus()\n\n emit('click:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = ''\n\n emit('click:clear', e)\n })\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-text-field',\n {\n 'v-text-field--persistent-placeholder': props.persistentPlaceholder,\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant),\n },\n ]}\n onClick:prepend={ (e: MouseEvent) => emit('click:prepend', e) }\n onClick:append={ (e: MouseEvent) => emit('click:append', e) }\n { ...rootAttrs }\n { ...inputProps }\n messages={ messages.value }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n ref={ vFieldRef }\n onMousedown={ (e: MouseEvent) => {\n if (e.target === inputRef.value) return\n\n e.preventDefault()\n }}\n onClick:control={ onControlClick }\n onClick:clear={ onClear }\n onClick:prependInner={ (e: MouseEvent) => emit('click:prepend-inner', e) }\n onClick:appendInner={ (e: MouseEvent) => emit('click:append-inner', e) }\n role=\"textbox\"\n { ...fieldProps }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => {\n return (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n { props.prefix }\n </span>\n ) }\n\n <div\n class={ fieldClass }\n onClick={ e => emit('click:input', e) }\n >\n { slots.default?.() }\n\n <input\n ref={ inputRef }\n v-model={ model.value }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n placeholder={ props.placeholder }\n size={ 1 }\n type={ props.type }\n onFocus={ onFocus }\n onBlur={ () => (isFocused.value = false) }\n { ...slotProps }\n { ...inputAttrs }\n />\n </div>\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n { props.suffix }\n </span>\n ) }\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasCounter ? () => (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return useForwardRef({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VTextField = InstanceType<typeof VTextField>\n","import { computed, inject, provide, ref } from 'vue'\nimport { consoleError, consoleWarn, getObjectValueByPath } from '@/util'\n\nimport en from '@/locale/en'\n\n// Types\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface LocaleMessages {\n [key: string]: LocaleMessages | string\n}\n\nexport interface LocaleOptions {\n defaultLocale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleProps {\n locale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleInstance {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n t: (key: string, ...params: unknown[]) => string\n n: (value: number) => string\n}\n\nexport interface LocaleAdapter {\n createRoot: (app: App) => LocaleInstance\n getScope: () => LocaleInstance\n createScope: (options?: LocaleProps) => LocaleInstance\n}\n\nexport const LocaleAdapterSymbol: InjectionKey<LocaleAdapter> = Symbol.for('vuetify:locale-adapter')\nexport const VuetifyLocaleSymbol: InjectionKey<LocaleInstance> = Symbol.for('vuetify:locale')\n\nexport function provideLocale (props?: LocaleProps) {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.createScope(props)\n}\n\nexport function useLocale () {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.getScope()\n}\n\nfunction isLocaleAdapter (x: any): x is LocaleAdapter {\n return !!x && x.hasOwnProperty('getScope') && x.hasOwnProperty('createScope') && x.hasOwnProperty('createRoot')\n}\n\nexport function createLocaleAdapter (app: App, options?: LocaleOptions | LocaleAdapter) {\n const adapter = isLocaleAdapter(options) ? options : createDefaultLocaleAdapter(options)\n\n const rootInstance = adapter.createRoot(app)\n\n return { adapter, rootInstance }\n}\n\nconst LANG_PREFIX = '$vuetify.'\n\nconst replace = (str: string, params: unknown[]) => {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n /* istanbul ignore next */\n return String(params[+index])\n })\n}\n\nconst createTranslateFunction = (\n current: Ref<string>,\n fallback: Ref<string>,\n messages: Ref<LocaleMessages>,\n) => {\n return (key: string, ...params: unknown[]) => {\n if (!key.startsWith(LANG_PREFIX)) {\n return replace(key, params)\n }\n\n const shortKey = key.replace(LANG_PREFIX, '')\n const currentLocale = current.value && messages.value[current.value]\n const fallbackLocale = fallback.value && messages.value[fallback.value]\n\n let str: string = getObjectValueByPath(currentLocale, shortKey, null)\n\n if (!str) {\n consoleWarn(`Translation key \"${key}\" not found in \"${current.value}\", trying fallback locale`)\n str = getObjectValueByPath(fallbackLocale, shortKey, null)\n }\n\n if (!str) {\n consoleError(`Translation key \"${key}\" not found in fallback`)\n str = key\n }\n\n if (typeof str !== 'string') {\n consoleError(`Translation key \"${key}\" has a non-string value`)\n str = key\n }\n\n return replace(str, params)\n }\n}\n\nfunction createNumberFunction (current: Ref<string>, fallback: Ref<string>) {\n return (value: number, options?: Intl.NumberFormatOptions) => {\n const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options)\n\n return numberFormat.format(value)\n }\n}\n\nexport function createDefaultLocaleAdapter (options?: LocaleOptions): LocaleAdapter {\n const createScope = (options: {\n current: MaybeRef<string>\n fallback: MaybeRef<string>\n messages: MaybeRef<LocaleMessages>\n }) => {\n const current = ref(options.current)\n const fallback = ref(options.fallback)\n const messages = ref(options.messages)\n\n return {\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n }\n }\n\n return {\n createRoot: app => {\n const rootScope = createScope({\n current: options?.defaultLocale ?? 'en',\n fallback: options?.fallbackLocale ?? 'en',\n messages: options?.messages ?? { en },\n })\n\n app.provide(VuetifyLocaleSymbol, rootScope)\n\n return rootScope\n },\n getScope: () => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n return currentScope\n },\n createScope: options => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n const newScope = createScope({\n current: computed(() => options?.locale ?? currentScope.current.value),\n fallback: computed(() => options?.locale ?? currentScope.fallback.value),\n messages: computed(() => options?.messages ?? currentScope.messages.value),\n })\n\n provide(VuetifyLocaleSymbol, newScope)\n\n return newScope\n },\n }\n}\n","// Styles\nimport './VSelect.sass'\n\n// Components\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { VTextField } from '@/components/VTextField'\n\n// Composables\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useForwardRef } from '@/composables/forwardRef'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, ref, watch } from 'vue'\nimport { genericComponent, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { LinkProps } from '@/composables/router'\nimport type { MakeSlots } from '@/util'\nimport type { PropType } from 'vue'\n\nexport interface InternalSelectItem {\n title: string\n value: any\n index: number\n}\n\nexport interface DefaultSelectionSlot {\n selection: InternalSelectItem\n}\n\nexport interface DefaultChipSlot extends DefaultSelectionSlot {\n props: {\n 'onClick:close': (e: Event) => void\n modelValue: any\n }\n}\n\nexport type SelectItem = string | (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | (LinkProps & {\n text: string\n})\n\nexport function genItem (item: any) {\n return {\n title: String((typeof item === 'object' ? item.title : item) ?? ''),\n value: (typeof item === 'object' ? item.value : item),\n }\n}\n\nexport const makeSelectProps = propsFactory({\n chips: Boolean,\n closableChips: Boolean,\n eager: Boolean,\n hideNoData: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array as PropType<SelectItem[]>,\n default: () => ([]),\n },\n menuIcon: {\n type: String,\n default: '$dropdown',\n },\n modelValue: {\n type: [Number, String, Array],\n default: () => ([]),\n },\n multiple: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n openOnClear: Boolean,\n}, 'select')\n\nexport const VSelect = genericComponent<new <T>() => {\n $slots: MakeSlots<{\n chip: [DefaultChipSlot]\n default: []\n selection: [DefaultSelectionSlot]\n }>\n}>()({\n name: 'VSelect',\n\n props: {\n ...makeSelectProps(),\n ...makeTransitionProps({ transition: 'scale-transition' }),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const activator = ref()\n const menu = ref(false)\n const items = computed(() => props.items.map(genItem))\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => wrapInArray(v),\n (v: any) => props.multiple ? v : v[0]\n )\n const selections = computed(() => {\n const array: InternalSelectItem[] = []\n let index = 0\n for (const unwrapped of model.value) {\n const item = genItem(unwrapped)\n\n const found = array.find(selection => selection.value === item.value)\n\n if (found == null) {\n array.push({\n ...item,\n index,\n })\n\n index++\n }\n }\n\n return array\n })\n const selected = computed(() => selections.value.map(selection => selection.value))\n\n function onClear (e: MouseEvent) {\n model.value = []\n\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onClickControl () {\n if (props.hideNoData && !items.value.length) return\n\n menu.value = true\n }\n function onKeydown (e: KeyboardEvent) {\n if (['Enter', 'ArrowDown', ' '].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape', 'Tab'].includes(e.key)) {\n menu.value = false\n }\n }\n function select (item: any) {\n if (props.multiple) {\n const index = selections.value.findIndex(selection => selection.value === item.value)\n\n if (index === -1) {\n model.value.push(item.value)\n } else {\n model.value = selected.value.filter(selection => selection !== item.value)\n }\n } else {\n model.value = [item.value]\n menu.value = false\n }\n }\n\n watch(() => vTextFieldRef.value, val => {\n activator.value = val.$el.querySelector('.v-input__control')\n })\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n class={[\n 'v-select',\n {\n 'v-select--active-menu': menu.value,\n 'v-select--chips': !!props.chips,\n [`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,\n },\n ]}\n appendInnerIcon={ props.menuIcon }\n readonly\n onClick:clear={ onClear }\n onClick:input={ onClickControl }\n onClick:control={ onClickControl }\n onBlur={ () => menu.value = false }\n modelValue={ model.value.join(', ') }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n { activator.value && (\n <VMenu\n v-model={ menu.value }\n activator={ activator.value }\n contentClass=\"v-select__content\"\n eager={ props.eager }\n openOnClick={ false }\n transition={ props.transition }\n >\n <VList\n selected={ selected.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n >\n { !items.value.length && !props.hideNoData && (\n <VListItem title={ t(props.noDataText) } />\n ) }\n\n { items.value.map(item => (\n <VListItem\n title={ item.title }\n value={ item.value }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onClick={ () => select(item) }\n />\n )) }\n </VList>\n </VMenu>\n ) }\n\n { selections.value.map((selection, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(selection)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n modelValue: true,\n }\n\n return (\n <div class=\"v-select__selection\">\n { hasChips && (\n <VDefaultsProvider\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: selection.title,\n },\n }}\n >\n { slots.chip\n ? slots.chip({ props: slotProps, selection })\n : (<VChip { ...slotProps } />)\n }\n </VDefaultsProvider>\n ) }\n\n { !hasChips && (\n slots.selection\n ? slots.selection({ selection })\n : (\n <span class=\"v-select__selection-text\">\n { selection.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-select__selection-comma\">,</span>\n ) }\n </span>\n )\n ) }\n </div>\n )\n }) }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return useForwardRef({}, vTextFieldRef)\n },\n})\n\nexport type VSelect = InstanceType<typeof VSelect>\n","/* eslint-disable max-statements */\n/* eslint-disable no-labels */\n\n// Utilities\nimport { getPropertyFromItem, propsFactory, wrapInArray } from '@/util'\nimport { computed, unref } from 'vue'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport type FilterFunction = (value: string, query: string, item?: any) => FilterMatch\nexport type FilterKeyFunctions = Record<string, FilterFunction>\nexport type FilterKeys = string | string[]\nexport type FilterMatch = number | [number, number] | [number, number][] | boolean\nexport type FilterMode = 'some' | 'every' | 'union' | 'intersection'\n\nexport interface FilterProps {\n customFilter?: FilterFunction\n customKeyFilter?: FilterKeyFunctions\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n}\n\n// Composables\nexport const defaultFilter: FilterFunction = (value, query, item) => {\n if (value == null || query == null) return -1\n\n return value.toString().toLocaleLowerCase().indexOf(query.toString().toLocaleLowerCase())\n}\n\nexport const makeFilterProps = propsFactory({\n customFilter: Function as PropType<FilterFunction>,\n customKeyFilter: Object as PropType<FilterKeyFunctions>,\n filterKeys: [Array, String] as PropType<FilterKeys>,\n filterMode: {\n type: String as PropType<FilterMode>,\n default: 'intersection',\n },\n noFilter: Boolean,\n}, 'filter')\n\nexport function filterItems<T = Record<string, any>> (\n items: T[],\n query: string,\n options?: {\n customKeyFilter?: FilterKeyFunctions\n default?: FilterFunction\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n },\n) {\n const array: { item: T, matches: Record<string, FilterMatch> }[] = []\n // always ensure we fall back to a functioning filter\n const filter = options?.default ?? defaultFilter\n const keys = options?.filterKeys ? wrapInArray(options.filterKeys) : false\n const customFiltersLength = Object.keys(options?.customKeyFilter ?? {}).length\n\n if (!items?.length) return array\n\n loop:\n for (const item of items) {\n const customMatches: Record<string, FilterMatch> = {}\n const defaultMatches: Record<string, FilterMatch> = {}\n let match: FilterMatch = -1\n\n if (query && typeof item === 'object' && !options?.noFilter) {\n const filterKeys = keys || Object.keys(item)\n\n for (const key of filterKeys) {\n const value = getPropertyFromItem(item as any, key, item)\n const keyFilter = options?.customKeyFilter?.[key]\n\n match = keyFilter\n ? keyFilter(value, query, item)\n : filter(value, query, item)\n\n if (match !== -1 && match !== false) {\n if (keyFilter) customMatches[key] = match\n else defaultMatches[key] = match\n } else if (options?.filterMode === 'every') {\n continue loop\n }\n }\n\n const defaultMatchesLength = Object.keys(defaultMatches).length\n const customMatchesLength = Object.keys(customMatches).length\n\n if (!defaultMatchesLength && !customMatchesLength) continue\n\n if (\n options?.filterMode === 'union' &&\n customMatchesLength !== customFiltersLength &&\n !defaultMatchesLength\n ) continue\n\n if (\n options?.filterMode === 'intersection' &&\n (\n customMatchesLength !== customFiltersLength ||\n !defaultMatchesLength\n )\n ) continue\n }\n\n array.push({ item, matches: { ...defaultMatches, ...customMatches } })\n }\n\n return array\n}\n\nexport function useFilter<T> (\n props: FilterProps,\n items: MaybeRef<T[]>,\n query?: Ref<string | undefined>,\n) {\n const strQuery = computed(() => (\n typeof query?.value !== 'string' &&\n typeof query?.value !== 'number'\n ) ? '' : String(query.value))\n\n const filteredItems = computed(() => {\n return filterItems(\n unref(items),\n strQuery.value,\n {\n customKeyFilter: props.customKeyFilter,\n default: props.customFilter,\n filterKeys: props.filterKeys,\n filterMode: props.filterMode,\n noFilter: props.noFilter,\n },\n )\n })\n\n return { filteredItems }\n}\n","// Styles\nimport './VAutocomplete.sass'\n\n// Components\nimport { genItem, makeSelectProps } from '@/components/VSelect/VSelect'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { VTextField } from '@/components/VTextField'\n\n// Composables\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useForwardRef } from '@/composables/forwardRef'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, nextTick, ref, watch } from 'vue'\nimport { genericComponent, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { FilterMatch } from '@/composables/filter'\nimport type { DefaultChipSlot, InternalSelectItem } from '@/components/VSelect/VSelect'\nimport type { MakeSlots } from '@/util'\n\nexport interface InternalAutocompleteItem extends InternalSelectItem {\n\n}\n\nexport interface DefaultAutocompleteSlot {\n selection: InternalAutocompleteItem\n}\n\nfunction highlightResult (text: string, matches: FilterMatch, length: number) {\n if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented')\n\n return typeof matches === 'number' && ~matches\n ? (\n <>\n <span class=\"v-autocomplete__unmask\">{ text.substr(0, matches) }</span>\n <span class=\"v-autocomplete__mask\">{ text.substr(matches, length) }</span>\n <span class=\"v-autocomplete__unmask\">{ text.substr(matches + length) }</span>\n </>\n )\n : text\n}\n\nexport const VAutocomplete = genericComponent<new <T>() => {\n $slots: MakeSlots<{\n chip: [DefaultChipSlot]\n default: []\n selection: [DefaultAutocompleteSlot]\n }>\n}>()({\n name: 'VAutocomplete',\n\n props: {\n // TODO: implement post keyboard support\n // autoSelectFirst: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps(),\n ...makeTransitionProps({ transition: false }),\n },\n\n emits: {\n 'click:clear': (e: MouseEvent) => true,\n 'update:search': (val: any) => true,\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const activator = ref()\n const isFocused = ref(false)\n const isPristine = ref(true)\n const menu = ref(false)\n const items = computed(() => props.items.map(genItem))\n const search = useProxiedModel(props, 'search', '')\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => wrapInArray(v || []),\n (v: any) => props.multiple ? v : v[0]\n )\n const { filteredItems } = useFilter(props, items, computed(() => isPristine.value ? undefined : search.value))\n const selections = computed(() => {\n const array: InternalSelectItem[] = []\n let index = 0\n for (const unwrapped of model.value) {\n const item = genItem(unwrapped)\n\n const found = array.find(selection => selection.value === item.value)\n\n if (found == null) {\n array.push({\n ...item,\n index,\n })\n\n index++\n }\n }\n\n return array\n })\n const selected = computed(() => selections.value.map(selection => selection.value))\n\n function onClear (e: MouseEvent) {\n model.value = []\n\n if (props.openOnClear) {\n menu.value = true\n }\n\n search.value = ''\n }\n function onClickControl () {\n if (props.hideNoData && !filteredItems.value.length) return\n\n menu.value = true\n }\n function onKeydown (e: KeyboardEvent) {\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape'].includes(e.key)) {\n menu.value = false\n }\n\n if (['Enter', 'Escape', 'Tab'].includes(e.key)) {\n isPristine.value = true\n }\n }\n function onAfterLeave () {\n if (isFocused.value) isPristine.value = true\n }\n const isSelecting = ref(false)\n function select (item: any) {\n if (props.multiple) {\n const index = selections.value.findIndex(selection => selection.value === item.value)\n\n if (index === -1) {\n model.value.push(item.value)\n } else {\n model.value = selected.value.filter(selection => selection !== item.value)\n }\n } else {\n model.value = [item.value]\n\n isSelecting.value = true\n\n search.value = item.title\n menu.value = false\n isPristine.value = true\n\n nextTick(() => (isSelecting.value = false))\n }\n }\n\n watch(() => vTextFieldRef.value, val => {\n activator.value = val.$el.querySelector('.v-input__control')\n })\n\n watch(isFocused, val => {\n if (val) {\n isSelecting.value = true\n search.value = props.multiple ? '' : String(model.value ?? '')\n isPristine.value = true\n\n nextTick(() => isSelecting.value = false)\n } else {\n menu.value = false\n search.value = ''\n }\n })\n\n watch(search, val => {\n if (!isFocused.value || isSelecting.value) return\n\n if (val) menu.value = true\n\n isPristine.value = !val\n })\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n v-model={ search.value }\n class={[\n 'v-autocomplete',\n {\n 'v-autocomplete--active-menu': menu.value,\n 'v-autocomplete--chips': !!props.chips,\n [`v-autocomplete--${props.multiple ? 'multiple' : 'single'}`]: true,\n },\n ]}\n appendInnerIcon={ props.menuIcon }\n dirty={ selected.value.length > 0 }\n onClick:clear={ onClear }\n onClick:control={ onClickControl }\n onClick:input={ onClickControl }\n onFocus={ () => isFocused.value = true }\n onBlur={ () => isFocused.value = false }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n { activator.value && (\n <VMenu\n v-model={ menu.value }\n activator={ activator.value }\n contentClass=\"v-autocomplete__content\"\n eager={ props.eager }\n openOnClick={ false }\n transition={ props.transition }\n onAfterLeave={ onAfterLeave }\n >\n <VList\n selected={ selected.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n >\n { !filteredItems.value.length && !props.hideNoData && (\n <VListItem title={ t(props.noDataText) } />\n ) }\n\n { filteredItems.value.map(({ item, matches }) => (\n <VListItem\n value={ item.value }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onClick={ () => select(item) }\n >\n {{\n title: () => {\n return isPristine.value\n ? item.title\n : highlightResult(item.title, matches.title, search.value?.length ?? 0)\n },\n }}\n </VListItem>\n )) }\n </VList>\n </VMenu>\n ) }\n { selections.value.map((selection, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(selection)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n modelValue: true,\n }\n\n return (\n <div class=\"v-autocomplete__selection\">\n { hasChips && (\n <VDefaultsProvider\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: selection.title,\n },\n }}\n >\n { slots.chip\n ? slots.chip({ props: slotProps, selection })\n : (<VChip { ...slotProps } />)\n }\n </VDefaultsProvider>\n ) }\n\n { !hasChips && (\n slots.selection\n ? slots.selection({ selection })\n : (\n <span class=\"v-autocomplete__selection-text\">\n { selection.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-autocomplete__selection-comma\">,</span>\n ) }\n </span>\n )\n ) }\n </div>\n )\n }) }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return useForwardRef({\n filteredItems,\n }, vTextFieldRef)\n },\n})\n\nexport type VAutocomplete = InstanceType<typeof VAutocomplete>\n","// Styles\nimport './VBadge.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, useTheme } from '@/composables/theme'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { useLocale } from '@/composables/locale'\nimport { useRtl } from '@/composables/rtl'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent, pick } from '@/util'\n\nexport const VBadge = defineComponent({\n name: 'VBadge',\n\n inheritAttrs: false,\n\n props: {\n bordered: Boolean,\n color: String,\n content: [Number, String],\n dot: Boolean,\n floating: Boolean,\n icon: String,\n inline: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge',\n },\n location: {\n type: String,\n default: 'top-end',\n validator: (value: string) => {\n const [vertical, horizontal] = (value ?? '').split('-')\n\n return (\n ['top', 'bottom'].includes(vertical) &&\n ['start', 'end'].includes(horizontal)\n )\n },\n },\n max: [Number, String],\n modelValue: {\n type: Boolean,\n default: true,\n },\n offsetX: [Number, String],\n offsetY: [Number, String],\n textColor: String,\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeTransitionProps({ transition: 'scale-rotate-transition' }),\n },\n\n setup (props, ctx) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { isRtl } = useRtl()\n const { roundedClasses } = useRounded(props)\n const { t } = useLocale()\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'textColor'))\n const { themeClasses } = useTheme()\n\n const position = computed(() => {\n return props.floating\n ? (props.dot ? 2 : 4)\n : (props.dot ? 8 : 12)\n })\n\n function calculatePosition (offset?: number | string) {\n return `calc(100% - ${convertToUnit(position.value + parseInt(offset ?? 0, 10))})`\n }\n\n const locationStyles = computed(() => {\n const [vertical, horizontal] = (props.location ?? '').split('-')\n\n const styles = {\n bottom: 'auto',\n left: 'auto',\n right: 'auto',\n top: 'auto',\n }\n\n if (!props.inline) {\n const isRight = (isRtl.value && horizontal === 'end') || (!isRtl.value && horizontal === 'start')\n\n styles[isRight ? 'right' : 'left'] = calculatePosition(props.offsetX)\n styles[vertical === 'top' ? 'bottom' : 'top'] = calculatePosition(props.offsetY)\n }\n\n return styles\n })\n\n return () => {\n const value = Number(props.content)\n const content = (!props.max || isNaN(value)) ? props.content\n : value <= props.max ? value\n : `${props.max}+`\n\n const [badgeAttrs, attrs] = pick(ctx.attrs as Record<string, any>, [\n 'aria-atomic',\n 'aria-label',\n 'aria-live',\n 'role',\n 'title',\n ])\n\n return (\n <props.tag\n class={[\n 'v-badge',\n {\n 'v-badge--bordered': props.bordered,\n 'v-badge--dot': props.dot,\n 'v-badge--floating': props.floating,\n 'v-badge--inline': props.inline,\n },\n ]}\n { ...attrs }\n >\n <div class=\"v-badge__wrapper\">\n { ctx.slots.default?.() }\n\n <MaybeTransition transition={ props.transition }>\n <span\n v-show={ props.modelValue }\n class={[\n 'v-badge__badge',\n backgroundColorClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n themeClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n locationStyles.value,\n textColorStyles.value,\n ]}\n aria-atomic=\"true\"\n aria-label={ t(props.label, value) }\n aria-live=\"polite\"\n role=\"status\"\n { ...badgeAttrs }\n >\n {\n props.dot ? undefined\n : ctx.slots.badge ? ctx.slots.badge?.()\n : props.icon ? <VIcon icon={props.icon} />\n : <span class=\"v-badge__content\">{content}</span>\n }\n </span>\n </MaybeTransition>\n </div>\n </props.tag>\n )\n }\n },\n})\n\nexport type VBadge = InstanceType<typeof VBadge>\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBannerActions = createSimpleFunctional('v-banner-actions')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBannerText = createSimpleFunctional('v-banner-text')\n","// Utilities\nimport { inject, reactive, ref, toRefs, watchEffect } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Globals\nimport { IN_BROWSER, SUPPORTS_TOUCH } from '@/util/globals'\n\n// Types\nimport type { InjectionKey, ToRefs } from 'vue'\n\nexport type DisplayBreakpoint = keyof DisplayThresholds\n\nexport interface DisplayThresholds {\n xs: number\n sm: number\n md: number\n lg: number\n xl: number\n xxl: number\n}\n\nexport interface DisplayOptions {\n mobileBreakpoint?: number | DisplayBreakpoint\n thresholds?: Partial<DisplayThresholds>\n}\n\nexport interface InternalDisplayOptions {\n mobileBreakpoint: number | DisplayBreakpoint\n thresholds: DisplayThresholds\n}\n\nexport interface DisplayPlatform {\n android: boolean\n ios: boolean\n cordova: boolean\n electron: boolean\n chrome: boolean\n edge: boolean\n firefox: boolean\n opera: boolean\n win: boolean\n mac: boolean\n linux: boolean\n touch: boolean\n ssr: boolean\n}\n\nexport interface DisplayInstance {\n xs: boolean\n sm: boolean\n md: boolean\n lg: boolean\n xl: boolean\n xxl: boolean\n smAndUp: boolean\n mdAndUp: boolean\n lgAndUp: boolean\n xlAndUp: boolean\n smAndDown: boolean\n mdAndDown: boolean\n lgAndDown: boolean\n xlAndDown: boolean\n name: DisplayBreakpoint\n height: number\n width: number\n mobile: boolean\n mobileBreakpoint: number | DisplayBreakpoint\n platform: DisplayPlatform\n thresholds: DisplayThresholds\n}\n\nexport const DisplaySymbol: InjectionKey<ToRefs<DisplayInstance>> = Symbol.for('vuetify:display')\n\nconst defaultDisplayOptions: DisplayOptions = {\n mobileBreakpoint: 'lg',\n thresholds: {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560,\n },\n}\n\nconst parseDisplayOptions = (options: DisplayOptions = defaultDisplayOptions) => {\n return mergeDeep(defaultDisplayOptions, options) as InternalDisplayOptions\n}\n\n// Cross-browser support as described in:\n// https://stackoverflow.com/questions/1248081\nfunction getClientWidth () {\n return IN_BROWSER ? Math.max(\n document.documentElement!.clientWidth,\n window.innerWidth\n ) : 0 // SSR\n}\n\nfunction getClientHeight () {\n return IN_BROWSER ? Math.max(\n document.documentElement!.clientHeight,\n window.innerHeight\n ) : 0 // SSR\n}\n\nfunction getPlatform (): DisplayPlatform {\n const userAgent = IN_BROWSER ? window.navigator.userAgent : 'ssr'\n\n function match (regexp: RegExp) {\n return Boolean(userAgent.match(regexp))\n }\n\n const android = match(/android/i)\n const ios = match(/iphone|ipad|ipod/i)\n const cordova = match(/cordova/i)\n const electron = match(/electron/i)\n const chrome = match(/chrome/i)\n const edge = match(/edge/i)\n const firefox = match(/firefox/i)\n const opera = match(/opera/i)\n const win = match(/win/i)\n const mac = match(/mac/i)\n const linux = match(/linux/i)\n const ssr = match(/ssr/i)\n\n return {\n android,\n ios,\n cordova,\n electron,\n chrome,\n edge,\n firefox,\n opera,\n win,\n mac,\n linux,\n touch: SUPPORTS_TOUCH,\n ssr,\n }\n}\n\nexport function createDisplay (options?: DisplayOptions): ToRefs<DisplayInstance> {\n const { thresholds, mobileBreakpoint } = parseDisplayOptions(options)\n\n const height = ref(getClientHeight())\n const platform = getPlatform()\n const state = reactive({} as DisplayInstance)\n const width = ref(getClientWidth())\n\n function onResize () {\n height.value = getClientHeight()\n width.value = getClientWidth()\n }\n\n // eslint-disable-next-line max-statements\n watchEffect(() => {\n const xs = width.value < thresholds.sm\n const sm = width.value < thresholds.md && !xs\n const md = width.value < thresholds.lg && !(sm || xs)\n const lg = width.value < thresholds.xl && !(md || sm || xs)\n const xl = width.value < thresholds.xxl && !(lg || md || sm || xs)\n const xxl = width.value >= thresholds.xxl\n const name =\n xs ? 'xs'\n : sm ? 'sm'\n : md ? 'md'\n : lg ? 'lg'\n : xl ? 'xl'\n : 'xxl'\n const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint]\n const mobile = !platform.ssr\n ? width.value < breakpointValue\n : platform.android || platform.ios || platform.opera\n\n state.xs = xs\n state.sm = sm\n state.md = md\n state.lg = lg\n state.xl = xl\n state.xxl = xxl\n state.smAndUp = !xs\n state.mdAndUp = !(xs || sm)\n state.lgAndUp = !(xs || sm || md)\n state.xlAndUp = !(xs || sm || md || lg)\n state.smAndDown = !(md || lg || xl || xxl)\n state.mdAndDown = !(lg || xl || xxl)\n state.lgAndDown = !(xl || xxl)\n state.xlAndDown = !xxl\n state.name = name\n state.height = height.value\n state.width = width.value\n state.mobile = mobile\n state.mobileBreakpoint = mobileBreakpoint\n state.platform = platform\n state.thresholds = thresholds\n })\n\n if (IN_BROWSER) {\n window.addEventListener('resize', onResize, { passive: true })\n }\n\n return toRefs(state)\n}\n\nexport function useDisplay () {\n const display = inject(DisplaySymbol)\n\n if (!display) throw new Error('Could not find Vuetify display injection')\n\n return display\n}\n","// Styles\nimport './VBanner.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VBannerActions } from './VBannerActions'\nimport { VBannerText } from './VBannerText'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useDisplay } from '@/composables/display'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VBanner = defineComponent({\n name: 'VBanner',\n\n props: {\n avatar: String,\n color: String,\n icon: String,\n lines: String as PropType<'one' | 'two' | 'three'>,\n sticky: Boolean,\n text: String,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { mobile } = useDisplay()\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n useRender(() => {\n const hasAvatar = !!(props.avatar || props.icon || slots.avatar || slots.icon)\n const hasText = !!(props.text || slots.text)\n const hasContent = hasAvatar || hasText || slots.default\n\n return (\n <props.tag\n class={[\n 'v-banner',\n {\n 'v-banner--mobile': mobile.value,\n 'v-banner--sticky': props.sticky,\n [`v-banner--${props.lines}-line`]: true,\n },\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n themeClasses.value,\n ]}\n style={[\n dimensionStyles.value,\n positionStyles.value,\n ]}\n role=\"banner\"\n >\n { hasContent && (\n <div class=\"v-banner__content\">\n { hasAvatar && (\n <VDefaultsProvider\n defaults={{\n VAvatar: {\n color: props.color,\n density: props.density,\n icon: props.icon,\n image: props.avatar,\n },\n }}\n >\n <div class=\"v-banner__avatar\">\n { slots.avatar ? slots.avatar() : (<VAvatar />) }\n </div>\n </VDefaultsProvider>\n ) }\n\n { hasText && (\n <VBannerText>\n { slots.text ? slots.text() : props.text }\n </VBannerText>\n ) }\n\n { slots.default?.() }\n </div>\n ) }\n\n { slots.actions && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n color: props.color,\n density: props.density,\n variant: 'text',\n },\n }}\n >\n <VBannerActions v-slots={{ default: slots.actions }} />\n </VDefaultsProvider>\n ) }\n </props.tag>\n )\n })\n },\n})\n\nexport type VBanner = InstanceType<typeof VBanner>\n","// Styles\nimport './VBottomNavigation.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, useTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Types\nimport { VBtnToggleSymbol } from '../VBtnToggle/VBtnToggle'\n\nexport const VBottomNavigation = defineComponent({\n name: 'VBottomNavigation',\n\n props: {\n bgColor: String,\n color: String,\n grow: Boolean,\n mode: {\n type: String,\n validator: (v: any) => !v || ['horizontal', 'shift'].includes(v),\n },\n height: {\n type: [Number, String],\n default: 56,\n },\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeLayoutItemProps({ name: 'bottom-navigation' }),\n ...makeTagProps({ tag: 'header' }),\n ...makeGroupProps({\n modelValue: true,\n selectedClass: 'v-btn--selected',\n }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = useTheme()\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const height = computed(() => (\n Number(props.height) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ))\n const isActive = useProxiedModel(props, 'modelValue', props.modelValue)\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n priority: computed(() => parseInt(props.priority, 10)),\n position: computed(() => 'bottom'),\n layoutSize: computed(() => isActive.value ? height.value : 0),\n elementSize: height,\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n useGroup(props, VBtnToggleSymbol)\n\n provideDefaults({\n VBtn: {\n color: toRef(props, 'color'),\n density: toRef(props, 'density'),\n stacked: computed(() => props.mode !== 'horizontal'),\n variant: 'text',\n },\n }, { scoped: true })\n\n return () => {\n return (\n <props.tag\n class={[\n 'v-bottom-navigation',\n {\n 'v-bottom-navigation--active': isActive.value,\n 'v-bottom-navigation--grow': props.grow,\n 'v-bottom-navigation--shift': props.mode === 'shift',\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n {\n height: convertToUnit(height.value),\n transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`,\n },\n ]}\n >\n { slots.default && (\n <div class=\"v-bottom-navigation__content\">\n { slots.default() }\n </div>\n ) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VBottomNavigation = InstanceType<typeof VBottomNavigation>\n","// Composables\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\nexport const VBreadcrumbsItem = defineComponent({\n name: 'VBreadcrumbsItem',\n\n props: {\n active: Boolean,\n activeClass: String,\n activeColor: String,\n color: String,\n disabled: Boolean,\n text: String,\n\n ...makeRouterProps(),\n ...makeTagProps({ tag: 'li' }),\n },\n\n setup (props, { slots, attrs }) {\n const { isExactActive, isLink, navigate } = useLink(props, attrs)\n const isActive = computed(() => props.active || isExactActive?.value)\n const color = computed(() => isActive.value ? props.activeColor : props.color)\n\n const { textColorClasses, textColorStyles } = useTextColor(color)\n\n useRender(() => {\n const Tag = (isLink.value) ? 'a' : props.tag\n const hasText = !!(slots.default || props.text)\n\n return (\n <Tag\n class={[\n 'v-breadcrumbs-item',\n {\n 'v-breadcrumbs-item--active': isActive.value,\n 'v-breadcrumbs-item--disabled': props.disabled,\n 'v-breadcrumbs-item--link': isLink.value,\n [`${props.activeClass}`]: isActive.value && props.activeClass,\n },\n textColorClasses.value,\n ]}\n style={[\n textColorStyles.value,\n ]}\n aria-current={ isActive.value ? 'page' : undefined }\n onClick={ isActive.value && navigate }\n v-slots={{\n default: hasText ? () => slots.default?.() ?? props.text : undefined,\n }}\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VBreadcrumbsItem = InstanceType<typeof VBreadcrumbsItem>\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBreadcrumbsDivider = createSimpleFunctional('v-breadcrumbs-divider', 'li')\n","// Styles\nimport './VBreadcrumbs.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VBreadcrumbsItem } from './VBreadcrumbsItem'\nimport { VBreadcrumbsDivider } from './VBreadcrumbsDivider'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { LinkProps } from '@/composables/router'\n\nexport type BreadcrumbItem = string | (LinkProps & {\n text: string\n})\n\nexport const VBreadcrumbs = defineComponent({\n name: 'VBreadcrumbs',\n\n props: {\n activeClass: String,\n bgColor: String,\n color: String,\n disabled: Boolean,\n divider: {\n type: String,\n default: '/',\n },\n icon: String,\n items: {\n type: Array as PropType<BreadcrumbItem[]>,\n default: () => ([]),\n },\n\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'ul' }),\n },\n\n setup (props, { slots }) {\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n\n provideDefaults({\n VBreadcrumbsItem: {\n activeClass: toRef(props, 'activeClass'),\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n },\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-breadcrumbs',\n backgroundColorClasses.value,\n densityClasses.value,\n roundedClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n { props.icon && (\n <VIcon icon={ props.icon } left />\n ) }\n\n { props.items.map((item, index, array) => (\n <>\n <VBreadcrumbsItem\n key={ index }\n disabled={ index >= array.length - 1 }\n { ...(typeof item === 'string' ? { text: item } : item) }\n v-slots={{\n default: slots.text ? () => slots.text?.({ item, index }) : undefined,\n }}\n />\n\n { index < array.length - 1 && (\n <VBreadcrumbsDivider>\n { slots.divider?.({ item, index }) ?? props.divider }\n </VBreadcrumbsDivider>\n ) }\n </>\n )) }\n\n { slots.default?.() }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VBreadcrumbs = InstanceType<typeof VBreadcrumbs>\n","// Composables\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utility\nimport { defineComponent } from 'vue'\nimport { useRender } from '@/util'\n\nexport const VCardActions = defineComponent({\n name: 'VCardActions',\n\n setup (_, { slots }) {\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => (\n <div class=\"v-card-actions\">\n { slots?.default?.() }\n </div>\n ))\n\n return {}\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardAvatar = createSimpleFunctional('v-card-avatar')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardHeader = createSimpleFunctional('v-card-header')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardHeaderText = createSimpleFunctional('v-card-header-text')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardImg = createSimpleFunctional('v-card-img')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardSubtitle = createSimpleFunctional('v-card-subtitle')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardText = createSimpleFunctional('v-card-text')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardTitle = createSimpleFunctional('v-card-title')\n","/* eslint-disable complexity */\n\n// Styles\nimport './VCard.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VImg } from '@/components/VImg'\nimport { VCardActions } from './VCardActions'\nimport { VCardAvatar } from './VCardAvatar'\nimport { VCardHeader } from './VCardHeader'\nimport { VCardHeaderText } from './VCardHeaderText'\nimport { VCardImg } from './VCardImg'\nimport { VCardSubtitle } from './VCardSubtitle'\nimport { VCardText } from './VCardText'\nimport { VCardTitle } from './VCardTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { VDefaultsProvider } from '../VDefaultsProvider'\n\nexport const VCard = defineComponent({\n name: 'VCard',\n\n directives: { Ripple },\n\n props: {\n appendAvatar: String,\n appendIcon: String,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n image: String,\n link: Boolean,\n prependAvatar: String,\n prependIcon: String,\n ripple: Boolean,\n subtitle: String,\n text: String,\n title: String,\n\n ...makeThemeProps(),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const link = useLink(props, attrs)\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasTitle = !!(slots.title || props.title)\n const hasSubtitle = !!(slots.subtitle || props.subtitle)\n const hasHeaderText = hasTitle || hasSubtitle\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const hasImage = !!(slots.image || props.image)\n const hasHeader = hasHeaderText || hasPrepend || hasAppend\n const hasText = !!(slots.text || props.text)\n const isClickable = !props.disabled && (link.isClickable.value || props.link)\n\n return (\n <Tag\n class={[\n 'v-card',\n {\n 'v-card--disabled': props.disabled,\n 'v-card--flat': props.flat,\n 'v-card--hover': props.hover && !(props.disabled || props.flat),\n 'v-card--link': isClickable,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n href={ link.href.value }\n onClick={ isClickable && link.navigate }\n v-ripple={ isClickable }\n >\n { genOverlays(isClickable, 'v-card') }\n\n { hasImage && (\n <VDefaultsProvider\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n >\n <VCardImg>\n { slots.image ? slots.image?.() : (<VImg alt=\"\" />) }\n </VCardImg>\n </VDefaultsProvider>\n ) }\n\n { slots.media?.() }\n\n { hasHeader && (\n <VCardHeader>\n { hasPrepend && (\n <VDefaultsProvider\n defaults={{\n VAvatar: {\n density: props.density,\n icon: props.prependIcon,\n image: props.prependAvatar,\n },\n }}\n >\n <VCardAvatar>\n { slots.prepend ? slots.prepend() : (<VAvatar />) }\n </VCardAvatar>\n </VDefaultsProvider>\n ) }\n\n { hasHeaderText && (\n <VCardHeaderText>\n { hasTitle && (\n <VCardTitle>\n { slots.title ? slots.title() : props.title}\n </VCardTitle>\n ) }\n\n { hasSubtitle && (\n <VCardSubtitle>\n { slots.subtitle ? slots.subtitle() : props.subtitle }\n </VCardSubtitle>\n ) }\n </VCardHeaderText>\n ) }\n\n { hasAppend && (\n <VDefaultsProvider\n defaults={{\n VAvatar: {\n density: props.density,\n icon: props.appendIcon,\n image: props.appendAvatar,\n },\n }}\n >\n <VCardAvatar>\n { slots.append ? slots.append() : (<VAvatar />) }\n </VCardAvatar>\n </VDefaultsProvider>\n ) }\n </VCardHeader>\n ) }\n\n { hasText && (\n <VCardText>\n { slots.text ? slots.text() : props.text }\n </VCardText>\n ) }\n\n { slots.default?.() }\n\n { slots.actions && (\n <VCardActions v-slots={{ default: slots.actions }} />\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VCard = InstanceType<typeof VCard>\n","// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\n// Utilities\nimport { keys } from '@/util'\n\nexport interface TouchHandlers {\n start?: (wrapperEvent: { originalEvent: TouchEvent } & TouchWrapper) => void\n end?: (wrapperEvent: { originalEvent: TouchEvent } & TouchWrapper) => void\n move?: (wrapperEvent: { originalEvent: TouchEvent } & TouchWrapper) => void\n left?: (wrapper: TouchWrapper) => void\n right?: (wrapper: TouchWrapper) => void\n up?: (wrapper: TouchWrapper) => void\n down?: (wrapper: TouchWrapper) => void\n}\n\nexport interface TouchWrapper extends TouchHandlers {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n touchendX: number\n touchendY: number\n offsetX: number\n offsetY: number\n}\n\nexport interface TouchValue extends TouchHandlers {\n parent?: boolean\n options?: AddEventListenerOptions\n}\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\nexport interface TouchDirectiveBinding extends Omit<DirectiveBinding, 'value'> {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start?.({ originalEvent: event, ...wrapper })\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end?.({ originalEvent: event, ...wrapper })\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move?.({ originalEvent: event, ...wrapper })\n}\n\nfunction createHandlers (value: TouchHandlers = {}): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction mounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const value = binding.value\n const target = value?.parent ? el.parentElement : el\n const options = value?.options ?? { passive: true }\n const uid = binding.instance?.$.uid // TODO: use custom uid generator\n\n if (!target || !uid) return\n\n const handlers = createHandlers(binding.value)\n\n target._touchHandlers = target._touchHandlers ?? Object.create(null)\n target._touchHandlers![uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName], options)\n })\n}\n\nfunction unmounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const target = binding.value?.parent ? el.parentElement : el\n const uid = binding.instance?.$.uid\n\n if (!target?._touchHandlers || !uid) return\n\n const handlers = target._touchHandlers[uid]\n\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n\n delete target._touchHandlers[uid]\n}\n\nexport const Touch: ObjectDirective = {\n mounted,\n unmounted,\n}\n\nexport default Touch\n","// Styles\nimport './VWindow.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useGroup } from '@/composables/group'\nimport { useLocale } from '@/composables/locale'\nimport { useRtl } from '@/composables/rtl'\n\n// Directives\nimport { Touch } from '@/directives/touch'\n\n// Utilities\nimport { computed, provide, ref, watch } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { GroupItemProvide, GroupProvide } from '@/composables/group'\nimport type { TouchHandlers } from '@/directives/touch'\nimport type { MakeSlots } from '@/util'\n\ntype WindowProvide = {\n transition: ComputedRef<undefined | string>\n transitionCount: Ref<number>\n transitionHeight: Ref<undefined | string>\n isReversed: Ref<boolean>\n rootRef: Ref<HTMLElement | undefined>\n}\n\ntype ControlProps = {\n icon: string\n class: string\n onClick: () => void\n ariaLabel: string\n}\n\nexport const VWindowSymbol: InjectionKey<WindowProvide> = Symbol.for('vuetify:v-window')\nexport const VWindowGroupSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-window-group')\n\nexport const VWindow = genericComponent<new () => {\n $slots: MakeSlots<{\n default: [{ group: GroupProvide }]\n additional: [{ group: GroupProvide }]\n prev: [{ props: ControlProps }]\n next: [{ props: ControlProps }]\n }>\n}>()({\n name: 'VWindow',\n\n directives: {\n Touch,\n },\n\n props: {\n continuous: Boolean,\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => typeof v === 'boolean' || v === 'hover',\n },\n touch: {\n type: [Object, Boolean] as PropType<boolean | TouchHandlers>,\n default: undefined,\n },\n direction: {\n type: String,\n default: 'horizontal',\n },\n\n modelValue: null,\n disabled: Boolean,\n selectedClass: {\n type: String,\n default: 'v-window-item--active',\n },\n // TODO: mandatory should probably not be exposed but do this for now\n mandatory: {\n default: 'force' as const,\n },\n\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (v: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isRtl } = useRtl()\n const { t } = useLocale()\n\n const group = useGroup(props, VWindowGroupSymbol)\n\n const rootRef = ref()\n const isRtlReverse = computed(() => isRtl.value ? !props.reverse : props.reverse)\n const isReversed = ref(false)\n const transition = computed(() => {\n const axis = props.direction === 'vertical' ? 'y' : 'x'\n const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n })\n const transitionCount = ref(0)\n const transitionHeight = ref<undefined | string>(undefined)\n\n const activeIndex = computed(() => {\n return group.items.value.findIndex(item => group.selected.value.includes(item.id))\n })\n\n watch(activeIndex, (newVal, oldVal) => {\n const itemsLength = group.items.value.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) {\n isReversed.value = newVal < oldVal\n } else if (newVal === lastIndex && oldVal === 0) {\n isReversed.value = true\n } else if (newVal === 0 && oldVal === lastIndex) {\n isReversed.value = false\n } else {\n isReversed.value = newVal < oldVal\n }\n })\n\n provide(VWindowSymbol, {\n transition,\n isReversed,\n transitionCount,\n transitionHeight,\n rootRef,\n })\n\n const canMoveBack = computed(() => props.continuous || activeIndex.value !== 0)\n const canMoveForward = computed(() => props.continuous || activeIndex.value !== group.items.value.length - 1)\n\n function prev () {\n canMoveBack.value && group.prev()\n }\n\n function next () {\n canMoveForward.value && group.next()\n }\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n }, { scoped: true })\n\n const arrows = computed(() => {\n const arrows = []\n\n const prevProps = {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,\n onClick: group.prev,\n ariaLabel: t('$vuetify.carousel.prev'),\n }\n\n arrows.push(canMoveBack.value\n ? slots.prev\n ? slots.prev({ props: prevProps })\n : <VBtn { ...prevProps } />\n : <div />\n )\n\n const nextProps = {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,\n onClick: group.next,\n ariaLabel: t('$vuetify.carousel.next'),\n }\n\n arrows.push(canMoveForward.value\n ? slots.next\n ? slots.next({ props: nextProps })\n : <VBtn { ...nextProps } />\n : <div />\n )\n\n return arrows\n })\n\n const touchOptions = computed(() => {\n if (props.touch === false) return props.touch\n\n const options: TouchHandlers = {\n left: () => {\n isRtlReverse.value ? prev() : next()\n },\n right: () => {\n isRtlReverse.value ? next() : prev()\n },\n end: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n start: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n }\n\n return {\n ...options,\n ...(props.touch === true ? {} : props.touch),\n }\n })\n\n useRender(() => (\n <props.tag\n ref={ rootRef }\n class={[\n 'v-window',\n {\n 'v-window--show-arrows-on-hover': props.showArrows === 'hover',\n },\n themeClasses.value,\n ]}\n v-touch={ touchOptions.value }\n >\n <div\n class=\"v-window__container\"\n style={{\n height: transitionHeight.value,\n }}\n >\n { slots.default?.({ group }) }\n\n { props.showArrows !== false && (\n <div class=\"v-window__controls\">\n { arrows.value }\n </div>\n )}\n </div>\n\n { slots.additional?.({ group }) }\n </props.tag>\n ))\n\n return {\n group,\n }\n },\n})\n\nexport type VWindow = InstanceType<typeof VWindow>\n","// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport Touch from '@/directives/touch'\n\n// Utilities\nimport { computed, inject, nextTick, ref } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { VWindowGroupSymbol, VWindowSymbol } from './VWindow'\n\nexport const VWindowItem = defineComponent({\n name: 'VWindowItem',\n\n directives: {\n Touch,\n },\n\n props: {\n reverseTransition: {\n type: [Boolean, String],\n default: undefined,\n },\n transition: {\n type: [Boolean, String],\n default: undefined,\n },\n ...makeLazyProps(),\n ...makeGroupItemProps(),\n },\n\n setup (props, { slots }) {\n const window = inject(VWindowSymbol)\n const groupItem = useGroupItem(props, VWindowGroupSymbol)\n\n if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow')\n\n const isTransitioning = ref(false)\n const hasTransition = computed(() => window.isReversed.value ? props.reverseTransition !== false : props.transition !== false)\n\n function onAfterTransition () {\n if (!isTransitioning.value || !window) {\n return\n }\n\n // Finalize transition state.\n isTransitioning.value = false\n if (window.transitionCount.value > 0) {\n window.transitionCount.value -= 1\n\n // Remove container height if we are out of transition.\n if (window.transitionCount.value === 0) {\n window.transitionHeight.value = undefined\n }\n }\n }\n\n function onBeforeTransition () {\n if (isTransitioning.value || !window) {\n return\n }\n\n // Initialize transition state here.\n isTransitioning.value = true\n\n if (window.transitionCount.value === 0) {\n // Set initial height for height transition.\n window.transitionHeight.value = convertToUnit(window.rootRef.value?.clientHeight)\n }\n\n window.transitionCount.value += 1\n }\n\n function onTransitionCancelled () {\n onAfterTransition() // This should have the same path as normal transition end.\n }\n\n function onEnterTransition (el: Element) {\n if (!isTransitioning.value) {\n return\n }\n\n nextTick(() => {\n // Do not set height if no transition or cancelled.\n if (!hasTransition.value || !isTransitioning.value || !window) {\n return\n }\n\n // Set transition target height.\n window.transitionHeight.value = convertToUnit(el.clientHeight)\n })\n }\n\n const transition = computed(() => {\n const name = window.isReversed.value\n ? props.reverseTransition\n : props.transition\n\n return !hasTransition.value ? false : {\n name: typeof name !== 'string' ? window.transition.value : name,\n onBeforeEnter: onBeforeTransition,\n onAfterEnter: onAfterTransition,\n onEnterCancelled: onTransitionCancelled,\n onBeforeLeave: onBeforeTransition,\n onAfterLeave: onAfterTransition,\n onLeaveCancelled: onTransitionCancelled,\n onEnter: onEnterTransition,\n }\n })\n\n const { hasContent } = useLazy(props, groupItem.isSelected)\n\n return () => {\n return (\n <MaybeTransition transition={ transition.value } >\n <div\n class={[\n 'v-window-item',\n groupItem.selectedClass.value,\n ]}\n v-show={ groupItem.isSelected.value }\n >\n { slots.default && hasContent.value && slots.default() }\n </div>\n </MaybeTransition>\n )\n }\n },\n})\n\nexport type VWindowItem = InstanceType<typeof VWindowItem>\n","// Styles\nimport './VCarousel.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VProgressLinear } from '@/components/VProgressLinear'\nimport { VWindow } from '@/components/VWindow'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { convertToUnit, defineComponent, useRender } from '@/util'\nimport { onMounted, ref, watch } from 'vue'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VCarousel = defineComponent({\n name: 'VCarousel',\n\n props: {\n color: String,\n cycle: Boolean,\n delimiterIcon: {\n type: String,\n default: '$delimiter',\n },\n height: {\n type: [Number, String],\n default: 500,\n },\n hideDelimiters: Boolean,\n hideDelimiterBackground: Boolean,\n interval: {\n type: [Number, String],\n default: 6000,\n validator: (value: string | number) => value > 0,\n },\n modelValue: null,\n progress: [Boolean, String],\n showArrows: {\n type: [Boolean, String],\n default: true,\n validator: (v: any) => typeof v === 'boolean' || v === 'hover',\n },\n verticalDelimiters: [Boolean, String] as PropType<boolean | 'left' | 'right'>,\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { t } = useLocale()\n const windowRef = ref<typeof VWindow>()\n\n let slideTimeout = -1\n watch(model, restartTimeout)\n watch(() => props.interval, restartTimeout)\n watch(() => props.cycle, val => {\n if (val) restartTimeout()\n else window.clearTimeout(slideTimeout)\n })\n\n onMounted(startTimeout)\n\n function startTimeout () {\n if (!props.cycle || !windowRef.value) return\n\n slideTimeout = window.setTimeout(windowRef.value.group.next, +props.interval > 0 ? +props.interval : 6000)\n }\n\n function restartTimeout () {\n window.clearTimeout(slideTimeout)\n window.requestAnimationFrame(startTimeout)\n }\n\n useRender(() => (\n <VWindow\n ref={ windowRef }\n v-model={ model.value }\n class={[\n 'v-carousel',\n {\n 'v-carousel--hide-delimiter-background': props.hideDelimiterBackground,\n 'v-carousel--vertical-delimiters': props.verticalDelimiters,\n },\n ]}\n style={{ height: convertToUnit(props.height) }}\n continuous\n showArrows={ props.showArrows }\n mandatory=\"force\"\n >\n {{\n default: slots.default,\n additional: ({ group }: any) => (\n <>\n { !props.hideDelimiters && (\n <div\n class=\"v-carousel__controls\"\n style={{\n left: props.verticalDelimiters === 'left' && props.verticalDelimiters ? 0 : 'auto',\n right: props.verticalDelimiters === 'right' ? 0 : 'auto',\n }}\n >\n { group.items.value.length > 0 && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n color: props.color,\n icon: props.delimiterIcon,\n size: 'x-small',\n variant: 'text',\n },\n }}\n scoped\n >\n { group.items.value.map((item: any) => {\n const props = {\n 'aria-label': t('$vuetify.carousel.ariaLabel.delimiter'),\n class: [group.isSelected(item.id) && 'v-btn--selected'],\n onClick: () => group.select(item.id, true),\n }\n\n return slots.item\n ? slots.item({ props, item })\n : (<VBtn { ...item } { ...props } />)\n }) }\n </VDefaultsProvider>\n ) }\n </div>\n )}\n\n { props.progress && (\n <VProgressLinear\n class=\"v-carousel__progress\"\n color={ typeof props.progress === 'string' ? props.progress : undefined }\n modelValue={ (+model.value + 1) / group.items.value.length * 100 }\n />\n )}\n </>\n ),\n prev: slots.prev,\n next: slots.next,\n }}\n </VWindow>\n ))\n },\n})\n","// Components\nimport { VImg } from '@/components/VImg'\nimport { VWindowItem } from '@/components/VWindow'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\nexport const VCarouselItem = defineComponent({\n name: 'VCarouselItem',\n\n inheritAttrs: false,\n\n props: {\n value: null,\n },\n\n setup (props, { slots, attrs }) {\n useRender(() => (\n <VWindowItem class=\"v-carousel-item\" value={ props.value }>\n <VImg\n { ...attrs }\n v-slots={ slots }\n />\n </VWindowItem>\n ))\n },\n})\n\nexport type VCarouselItem = InstanceType<typeof VCarouselItem>\n","// Styles\nimport './VSelectionControlGroup.sass'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, defineComponent, provide, toRef } from 'vue'\nimport { getUid, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\n\nexport interface VSelectionGroupContext {\n disabled: Ref<boolean>\n inline: Ref<boolean>\n name: Ref<string | undefined>\n modelValue: Ref<any>\n multiple: Ref<boolean>\n trueIcon: Ref<string | undefined>\n falseIcon: Ref<string | undefined>\n readonly: Ref<boolean>\n type: Ref<string | undefined>\n}\n\nexport const VSelectionControlGroupSymbol: InjectionKey<VSelectionGroupContext> = Symbol.for('vuetify:selection-control-group')\n\nexport const VSelectionControlGroup = defineComponent({\n name: 'VSelectionControlGroup',\n\n props: {\n disabled: Boolean,\n id: String,\n inline: Boolean,\n name: String,\n falseIcon: String,\n trueIcon: String,\n multiple: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n readonly: Boolean,\n type: String,\n modelValue: null,\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const modelValue = useProxiedModel(props, 'modelValue')\n const uid = getUid()\n const id = computed(() => props.id || `v-selection-control-group-${uid}`)\n const name = computed(() => props.name || id.value)\n\n provide(VSelectionControlGroupSymbol, {\n disabled: toRef(props, 'disabled'),\n inline: toRef(props, 'inline'),\n modelValue,\n multiple: computed(() => !!props.multiple || (props.multiple == null && Array.isArray(modelValue.value))),\n name,\n falseIcon: toRef(props, 'falseIcon'),\n trueIcon: toRef(props, 'trueIcon'),\n readonly: toRef(props, 'readonly'),\n type: toRef(props, 'type'),\n })\n\n useRender(() => {\n return (\n <div\n class=\"v-selection-control-group\"\n aria-labelled-by={ props.type === 'radio' ? id.value : undefined }\n role={ props.type === 'radio' ? 'radiogroup' : undefined }\n >\n { slots?.default?.() }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VSelectionControlGroup = InstanceType<typeof VSelectionControlGroup>\n","// Styles\nimport './VSelectionControl.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VLabel } from '@/components/VLabel'\nimport { VSelectionControlGroupSymbol } from '@/components/VSelectionControlGroup/VSelectionControlGroup'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeThemeProps } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject, ref } from 'vue'\nimport {\n deepEqual,\n genericComponent,\n getUid,\n pick,\n propsFactory,\n SUPPORTS_FOCUS_VISIBLE,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { ComputedRef, ExtractPropTypes, PropType, Ref, WritableComputedRef } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport type SelectionControlSlot = {\n model: WritableComputedRef<any>\n isReadonly: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n textColorClasses: Ref<string[]>\n props: {\n onBlur: (e: Event) => void\n onFocus: (e: FocusEvent) => void\n id: string\n }\n}\n\nexport const makeSelectionControlProps = propsFactory({\n color: String,\n disabled: Boolean,\n error: Boolean,\n id: String,\n inline: Boolean,\n label: String,\n falseIcon: String,\n trueIcon: String,\n ripple: {\n type: Boolean,\n default: true,\n },\n multiple: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n name: String,\n readonly: Boolean,\n trueValue: null,\n falseValue: null,\n modelValue: null,\n type: String,\n value: null,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeThemeProps(),\n ...makeDensityProps(),\n})\n\nexport function useSelectionControl (\n props: ExtractPropTypes<ReturnType<typeof makeSelectionControlProps>> & {\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n }\n) {\n const group = inject(VSelectionControlGroupSymbol, undefined)\n const { densityClasses } = useDensity(props)\n const modelValue = useProxiedModel(props, 'modelValue')\n const trueValue = computed(() => (\n props.trueValue !== undefined ? props.trueValue\n : props.value !== undefined ? props.value\n : true\n ))\n const falseValue = computed(() => props.falseValue !== undefined ? props.falseValue : false)\n const isMultiple = computed(() => (\n group?.multiple.value ||\n !!props.multiple ||\n (props.multiple == null && Array.isArray(modelValue.value))\n ))\n const model = computed({\n get () {\n const val = group ? group.modelValue.value : modelValue.value\n\n return isMultiple.value\n ? val.some((v: any) => props.valueComparator(v, trueValue.value))\n : props.valueComparator(val, trueValue.value)\n },\n set (val: boolean) {\n const currentValue = val ? trueValue.value : falseValue.value\n\n let newVal = currentValue\n\n if (isMultiple.value) {\n newVal = val\n ? [...wrapInArray(modelValue.value), currentValue]\n : wrapInArray(modelValue.value).filter((item: any) => !props.valueComparator(item, trueValue.value))\n }\n\n if (group) {\n group.modelValue.value = newVal\n } else {\n modelValue.value = newVal\n }\n },\n })\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n model.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n const icon = computed(() => {\n return model.value\n ? group?.trueIcon.value ?? props.trueIcon\n : group?.falseIcon.value ?? props.falseIcon\n })\n\n return {\n group,\n densityClasses,\n trueValue,\n falseValue,\n model,\n textColorClasses,\n textColorStyles,\n icon,\n }\n}\n\nexport const VSelectionControl = genericComponent<new <T>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n }\n $slots: MakeSlots<{\n default: []\n input: [SelectionControlSlot]\n }>\n}>()({\n name: 'VSelectionControl',\n\n directives: { Ripple },\n\n inheritAttrs: false,\n\n props: makeSelectionControlProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const {\n densityClasses,\n group,\n icon,\n model,\n textColorClasses,\n textColorStyles,\n trueValue,\n } = useSelectionControl(props)\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const isFocused = ref(false)\n const isFocusVisible = ref(false)\n const input = ref<HTMLInputElement>()\n\n function onFocus (e: FocusEvent) {\n isFocused.value = true\n if (\n !SUPPORTS_FOCUS_VISIBLE ||\n (SUPPORTS_FOCUS_VISIBLE && (e.target as HTMLElement).matches(':focus-visible'))\n ) {\n isFocusVisible.value = true\n }\n }\n\n function onBlur () {\n isFocused.value = false\n isFocusVisible.value = false\n }\n\n useRender(() => {\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n const type = group?.type.value ?? props.type\n\n return (\n <div\n class={[\n 'v-selection-control',\n {\n 'v-selection-control--dirty': model.value,\n 'v-selection-control--disabled': props.disabled,\n 'v-selection-control--error': props.error,\n 'v-selection-control--focused': isFocused.value,\n 'v-selection-control--focus-visible': isFocusVisible.value,\n 'v-selection-control--inline': group?.inline.value || props.inline,\n },\n densityClasses.value,\n ]}\n >\n <div class={[\n 'v-selection-control__wrapper',\n textColorClasses.value,\n ]}\n >\n { slots.default?.() }\n\n <div\n class={[\n 'v-selection-control__input',\n ]}\n style={ textColorStyles.value }\n v-ripple={ props.ripple && [\n !props.disabled && !props.readonly,\n null,\n ['center', 'circle'],\n ]}\n >\n { icon.value && <VIcon icon={ icon.value } /> }\n\n <input\n v-model={ model.value }\n ref={ input }\n disabled={ props.disabled }\n id={ id.value }\n onBlur={ onBlur }\n onFocus={ onFocus }\n readonly={ props.readonly }\n type={ type }\n value={ trueValue.value }\n name={ group?.name.value ?? props.name }\n aria-checked={ type === 'checkbox' ? model.value : undefined }\n { ...attrs }\n />\n\n { slots.input?.({\n model,\n textColorClasses,\n props: {\n onFocus,\n onBlur,\n id: id.value,\n },\n }) }\n </div>\n </div>\n\n <VLabel for={ id.value }>\n { label }\n </VLabel>\n </div>\n )\n })\n\n return {\n isFocused,\n input,\n }\n },\n})\n\nexport type VSelectionControl = InstanceType<typeof VSelectionControl>\n\nexport function filterControlProps (props: ExtractPropTypes<ReturnType<typeof makeSelectionControlProps>>) {\n return pick(props, Object.keys(VSelectionControl.props) as any)\n}\n","// Styles\nimport './VCheckbox.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed } from 'vue'\nimport { defineComponent, filterInputAttrs, useRender } from '@/util'\n\nexport const VCheckbox = defineComponent({\n name: 'VCheckbox',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n\n falseIcon: {\n type: String,\n default: '$checkboxOff',\n },\n trueIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n emits: {\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const falseIcon = computed(() => {\n return indeterminate.value\n ? props.indeterminateIcon\n : props.falseIcon\n })\n const trueIcon = computed(() => {\n return indeterminate.value\n ? props.indeterminateIcon\n : props.trueIcon\n })\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n\n return (\n <VInput\n class=\"v-checkbox\"\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n }) => (\n <VSelectionControl\n { ...controlProps }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n falseIcon={ falseIcon.value }\n trueIcon={ trueIcon.value }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n />\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VCheckbox = InstanceType<typeof VCheckbox>\n","import './VCode.sass'\n\nimport { createSimpleFunctional } from '@/util'\n\nexport const VCode = createSimpleFunctional('v-code')\n","// Styles\nimport './VSheet.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VSheet = defineComponent({\n name: 'VSheet',\n\n props: {\n color: String,\n\n ...makeBorderProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n return () => (\n <props.tag\n class={[\n 'v-sheet',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","/* eslint-disable max-statements */\n// Composables\nimport { useRtl } from '@/composables/rtl'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { makeElevationProps } from '@/composables/elevation'\n\n// Utilities\nimport { computed, provide, ref, toRef } from 'vue'\nimport { clamp, createRange, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, InjectionKey, PropType, Ref } from 'vue'\nimport type { VSliderTrack } from './VSliderTrack'\n\ntype Tick = {\n value: number\n position: number\n label?: string\n}\n\ntype SliderProvide = {\n activeThumbRef: Ref<HTMLElement | undefined>\n color: Ref<string | undefined>\n decimals: Ref<number>\n direction: Ref<'vertical' | 'horizontal'>\n disabled: Ref<boolean | undefined>\n elevation: Ref<number | string | undefined>\n min: Ref<number>\n max: Ref<number>\n mousePressed: Ref<boolean>\n numTicks: Ref<number>\n onSliderMousedown: (e: MouseEvent) => void\n onSliderTouchstart: (e: TouchEvent) => void\n parseMouseMove: (e: MouseEvent | TouchEvent) => number\n position: (val: number) => number\n readonly: Ref<boolean | undefined>\n rounded: Ref<boolean | number | string | undefined>\n roundValue: (value: number) => number\n thumbLabel: Ref<boolean | string | undefined>\n showTicks: Ref<boolean | 'always'>\n startOffset: Ref<number>\n step: Ref<number>\n thumbSize: Ref<number>\n thumbColor: Ref<string | undefined>\n trackColor: Ref<string | undefined>\n trackFillColor: Ref<string | undefined>\n trackSize: Ref<number>\n ticks: Ref<number[] | Record<string, string> | undefined>\n tickSize: Ref<number>\n trackContainerRef: Ref<VSliderTrack | undefined>\n vertical: Ref<boolean>\n parsedTicks: Ref<Tick[]>\n hasLabels: Ref<boolean>\n isReversed: Ref<boolean>\n horizontalDirection: Ref<'ltr' | 'rtl'>\n}\n\nexport const VSliderSymbol: InjectionKey<SliderProvide> = Symbol.for('vuetify:v-slider')\n\nexport function getOffset (e: MouseEvent | TouchEvent, el: HTMLElement, direction: string) {\n const vertical = direction === 'vertical'\n const rect = el.getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n return vertical\n ? touch.clientY - (rect.top + rect.height / 2)\n : touch.clientX - (rect.left + rect.width / 2)\n}\n\nfunction getPosition (e: MouseEvent | TouchEvent, position: 'clientX' | 'clientY'): number {\n if ('touches' in e && e.touches.length) return e.touches[0][position]\n else if ('changedTouches' in e && e.changedTouches.length) return e.changedTouches[0][position]\n else return (e as MouseEvent)[position]\n}\n\nexport const makeSliderProps = propsFactory({\n disabled: Boolean,\n error: Boolean,\n readonly: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 0,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 20,\n },\n showTicks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: false,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n ticks: {\n type: [Array, Object] as PropType<number[] | Record<number, string>>,\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n color: String,\n trackColor: String,\n trackFillColor: String,\n trackSize: {\n type: [Number, String],\n default: 4,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n },\n reverse: Boolean,\n\n ...makeRoundedProps(),\n ...makeElevationProps({\n elevation: 2,\n }),\n}, 'slider')\n\ntype SliderProps = ExtractPropTypes<ReturnType<typeof makeSliderProps>>\n\nexport const useSlider = ({\n props,\n handleSliderMouseUp,\n handleMouseMove,\n getActiveThumb,\n}: {\n props: SliderProps\n handleSliderMouseUp: (v: number) => void\n handleMouseMove: (v: number) => void\n getActiveThumb: (e: MouseEvent | TouchEvent) => HTMLElement\n}) => {\n const { isRtl } = useRtl()\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const horizontalDirection = computed(() => {\n let hd: 'ltr' | 'rtl' = isRtl.value ? 'rtl' : 'ltr'\n\n if (props.reverse) {\n hd = hd === 'rtl' ? 'ltr' : 'rtl'\n }\n\n return hd\n })\n const min = computed(() => parseFloat(props.min))\n const max = computed(() => parseFloat(props.max))\n const step = computed(() => props.step > 0 ? parseFloat(props.step) : 0)\n const decimals = computed(() => {\n const trimmedStep = step.value.toString().trim()\n return trimmedStep.includes('.')\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n })\n\n const thumbSize = computed(() => parseInt(props.thumbSize, 10))\n const tickSize = computed(() => parseInt(props.tickSize, 10))\n const trackSize = computed(() => parseInt(props.trackSize, 10))\n const numTicks = computed(() => (max.value - min.value) / step.value)\n const disabled = toRef(props, 'disabled')\n const vertical = computed(() => props.direction === 'vertical')\n\n const thumbColor = computed(() => props.error || props.disabled ? undefined : props.thumbColor ?? props.color)\n const trackColor = computed(() => props.error || props.disabled ? undefined : props.trackColor ?? props.color)\n const trackFillColor = computed(() => props.error || props.disabled ? undefined : props.trackFillColor ?? props.color)\n\n const mousePressed = ref(false)\n\n const startOffset = ref(0)\n const trackContainerRef = ref<VSliderTrack | undefined>()\n const activeThumbRef = ref<HTMLElement | undefined>()\n\n function roundValue (value: number) {\n if (step.value <= 0) return value\n\n const clamped = clamp(value, min.value, max.value)\n const offset = min.value % step.value\n const newValue = Math.round((clamped - offset) / step.value) * step.value + offset\n\n return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value))\n }\n\n function parseMouseMove (e: MouseEvent | TouchEvent): number {\n const vertical = props.direction === 'vertical'\n const start = vertical ? 'top' : 'left'\n const length = vertical ? 'height' : 'width'\n const position = vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = trackContainerRef.value?.$el.getBoundingClientRect()\n const clickOffset = getPosition(e, position)\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - startOffset.value) / trackLength, 0), 1) || 0\n\n if (vertical || isReversed.value) clickPos = 1 - clickPos\n\n return roundValue(min.value + clickPos * (max.value - min.value))\n }\n\n let thumbMoved = false\n\n const handleStop = (e: MouseEvent | TouchEvent) => {\n if (!thumbMoved) {\n startOffset.value = 0\n handleSliderMouseUp(parseMouseMove(e))\n }\n\n mousePressed.value = false\n thumbMoved = false\n startOffset.value = 0\n }\n\n const handleStart = (e: MouseEvent | TouchEvent) => {\n activeThumbRef.value = getActiveThumb(e)\n\n if (!activeThumbRef.value) return\n\n activeThumbRef.value.focus()\n mousePressed.value = true\n\n if (activeThumbRef.value.contains(e.target as Node)) {\n thumbMoved = true\n startOffset.value = getOffset(e, activeThumbRef.value, props.direction)\n } else {\n startOffset.value = 0\n handleMouseMove(parseMouseMove(e))\n }\n }\n\n const moveListenerOptions = { passive: true, capture: true }\n\n function onMouseMove (e: MouseEvent | TouchEvent) {\n thumbMoved = true\n handleMouseMove(parseMouseMove(e))\n }\n\n function onSliderMouseUp (e: MouseEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.removeEventListener('mouseup', onSliderMouseUp)\n }\n\n function onSliderTouchend (e: TouchEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('touchmove', onMouseMove, moveListenerOptions)\n window.removeEventListener('touchend', onSliderTouchend)\n }\n\n function onSliderTouchstart (e: TouchEvent) {\n handleStart(e)\n\n window.addEventListener('touchmove', onMouseMove, moveListenerOptions)\n window.addEventListener('touchend', onSliderTouchend, { passive: false })\n }\n\n function onSliderMousedown (e: MouseEvent) {\n e.preventDefault()\n\n handleStart(e)\n\n window.addEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.addEventListener('mouseup', onSliderMouseUp, { passive: false })\n }\n\n const position = (val: number) => {\n const percentage = (val - min.value) / (max.value - min.value) * 100\n return clamp(isNaN(percentage) ? 0 : percentage, 0, 100)\n }\n\n const parsedTicks = computed<Tick[]>(() => {\n if (!props.ticks) {\n return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map(t => {\n const value = min.value + (t * step.value)\n return {\n value,\n position: position(value),\n }\n }) : []\n }\n if (Array.isArray(props.ticks)) return props.ticks.map(t => ({ value: t, position: position(t), label: t.toString() }))\n return Object.keys(props.ticks).map(key => ({\n value: parseInt(key, 10),\n position: position(parseInt(key, 10)),\n label: (props.ticks as Record<string, string>)[key],\n }))\n })\n\n const hasLabels = computed(() => parsedTicks.value.some(({ label }) => !!label))\n\n const data: SliderProvide = {\n activeThumbRef,\n color: toRef(props, 'color'),\n decimals,\n disabled,\n direction: toRef(props, 'direction'),\n elevation: toRef(props, 'elevation'),\n hasLabels,\n horizontalDirection,\n isReversed,\n min,\n max,\n mousePressed,\n numTicks,\n onSliderMousedown,\n onSliderTouchstart,\n parsedTicks,\n parseMouseMove,\n position,\n readonly: toRef(props, 'readonly'),\n rounded: toRef(props, 'rounded'),\n roundValue,\n showTicks: toRef(props, 'showTicks'),\n startOffset,\n step,\n thumbSize,\n thumbColor,\n thumbLabel: toRef(props, 'thumbLabel'),\n ticks: toRef(props, 'ticks'),\n tickSize,\n trackColor,\n trackContainerRef,\n trackFillColor,\n trackSize,\n vertical,\n }\n\n provide(VSliderSymbol, data)\n\n return data\n}\n","// Styles\nimport './VSliderThumb.sass'\n\n// Components\nimport { VScaleTransition } from '../transitions'\nimport { VSliderSymbol } from './slider'\nimport { useElevation } from '@/composables/elevation'\n\n// Directives\nimport Ripple from '@/directives/ripple'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent, keyValues } from '@/util'\n\nexport const VSliderThumb = defineComponent({\n name: 'VSliderThumb',\n\n directives: { Ripple },\n\n props: {\n focused: Boolean,\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n modelValue: {\n type: Number,\n required: true,\n },\n position: {\n type: Number,\n required: true,\n },\n },\n\n emits: {\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider')\n\n const {\n thumbColor,\n step,\n vertical,\n disabled,\n thumbSize,\n thumbLabel,\n direction,\n readonly,\n elevation,\n isReversed,\n horizontalDirection,\n mousePressed,\n decimals,\n } = slider\n\n const { textColorClasses, textColorStyles } = useTextColor(thumbColor)\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyValues\n const relevantKeys = [pageup, pagedown, end, home, left, right, down, up]\n\n const multipliers = computed(() => {\n if (step.value) return [1, 2, 3]\n else return [1, 5, 10]\n })\n\n function parseKeydown (e: KeyboardEvent, value: number) {\n if (!relevantKeys.includes(e.key)) return\n\n e.preventDefault()\n\n const _step = step.value || 0.1\n const steps = (props.max - props.min) / _step\n if ([left, right, down, up].includes(e.key)) {\n const increase = isReversed.value ? [left, up] : [right, up]\n const direction = increase.includes(e.key) ? 1 : -1\n const multiplier = e.shiftKey ? 2 : (e.ctrlKey ? 1 : 0)\n\n value = value + (direction * _step * multipliers.value[multiplier])\n } else if (e.key === home) {\n value = props.min\n } else if (e.key === end) {\n value = props.max\n } else {\n const direction = e.key === pagedown ? 1 : -1\n value = value - (direction * _step * (steps > 100 ? steps / 10 : 10))\n }\n\n return Math.max(props.min, Math.min(props.max, value))\n }\n\n function onKeydown (e: KeyboardEvent) {\n const newValue = parseKeydown(e, props.modelValue)\n\n newValue != null && emit('update:modelValue', newValue)\n }\n\n return () => {\n const positionPercentage = convertToUnit(vertical.value ? 100 - props.position : props.position, '%')\n const inset = vertical.value ? 'block' : 'inline'\n const { elevationClasses } = useElevation(computed(() => !disabled.value ? elevation.value : undefined))\n\n return (\n <div\n class={[\n 'v-slider-thumb',\n {\n 'v-slider-thumb--focused': props.focused,\n 'v-slider-thumb--pressed': props.focused && mousePressed.value,\n },\n ]}\n style={{\n [`inset-${inset}-start`]: `calc(${positionPercentage} - var(--v-slider-thumb-size) / 2)`,\n '--v-slider-thumb-size': convertToUnit(thumbSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n role=\"slider\"\n tabindex={ disabled.value ? -1 : 0 }\n aria-valuemin={ props.min }\n aria-valuemax={ props.max }\n aria-valuenow={ props.modelValue }\n aria-readonly={ readonly.value }\n aria-orientation={ direction.value }\n onKeydown={ !readonly.value ? onKeydown : undefined }\n >\n <div\n class={[\n 'v-slider-thumb__surface',\n textColorClasses.value,\n elevationClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-thumb__ripple',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n v-ripple={[true, null, ['circle', 'center']]}\n />\n <VScaleTransition origin=\"bottom center\">\n <div\n class=\"v-slider-thumb__label-container\"\n v-show={ (thumbLabel.value && props.focused) || thumbLabel.value === 'always' }\n >\n <div\n class={[\n 'v-slider-thumb__label',\n ]}\n >\n <div>\n { slots['thumb-label']?.({ modelValue: props.modelValue }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1) }\n </div>\n </div>\n </div>\n </VScaleTransition>\n </div>\n )\n }\n },\n})\n\nexport type VSliderThumb = InstanceType<typeof VSliderThumb>\n","// Styles\nimport './VSliderTrack.sass'\n\n// Components\nimport { VSliderSymbol } from './slider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\nexport const VSliderTrack = defineComponent({\n name: 'VSliderTrack',\n\n props: {\n start: {\n type: Number,\n required: true,\n },\n stop: {\n type: Number,\n required: true,\n },\n },\n\n emits: {},\n\n setup (props, { slots }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-track must be inside v-slider or v-range-slider')\n\n const {\n trackColor,\n trackFillColor,\n vertical,\n tickSize,\n showTicks,\n trackSize,\n color,\n rounded,\n parsedTicks,\n horizontalDirection,\n } = slider\n\n const { roundedClasses } = useRounded(rounded)\n\n const {\n backgroundColorClasses: trackFillColorClasses,\n backgroundColorStyles: trackFillColorStyles,\n } = useBackgroundColor(trackFillColor)\n\n const {\n backgroundColorClasses: trackColorClasses,\n backgroundColorStyles: trackColorStyles,\n } = useBackgroundColor(trackColor)\n\n const startDir = computed(() => `inset-${vertical.value ? 'block-end' : 'inline-start'}`)\n const endDir = computed(() => vertical.value ? 'height' : 'width')\n\n const backgroundStyles = computed(() => {\n return {\n [startDir.value]: '0%',\n [endDir.value]: '100%',\n }\n })\n\n const trackFillWidth = computed(() => props.stop - props.start)\n\n const trackFillStyles = computed(() => {\n return {\n [startDir.value]: convertToUnit(props.start, '%'),\n [endDir.value]: convertToUnit(trackFillWidth.value, '%'),\n }\n })\n\n const computedTicks = computed(() => {\n const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value\n\n return ticks.map((tick, index) => {\n const directionProperty = vertical.value ? 'inset-block-end' : 'margin-inline-start'\n return (\n <div\n key={ tick.value }\n class={[\n 'v-slider-track__tick',\n {\n 'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,\n },\n ]}\n style={{\n [directionProperty]: (tick.position > 0 && tick.position < 100) && convertToUnit(tick.position, '%'),\n }}\n >\n {\n (tick.label || slots['tick-label']) && (\n <div class=\"v-slider-track__tick-label\">\n { slots['tick-label']?.({ tick, index }) ?? tick.label }\n </div>\n )\n }\n </div>\n )\n })\n })\n\n return () => {\n return (\n <div\n class={[\n 'v-slider-track',\n roundedClasses.value,\n ]}\n style={{\n '--v-slider-track-size': convertToUnit(trackSize.value),\n '--v-slider-tick-size': convertToUnit(tickSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n >\n <div\n class={[\n 'v-slider-track__background',\n trackColorClasses.value,\n {\n 'v-slider-track__background--opacity': !!color.value || !trackFillColor.value,\n },\n ]}\n style={{\n ...backgroundStyles.value,\n ...trackColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-track__fill',\n trackFillColorClasses.value,\n ]}\n style={{\n ...trackFillStyles.value,\n ...trackFillColorStyles.value,\n }}\n />\n\n { showTicks.value && (\n <div\n class={[\n 'v-slider-track__ticks',\n {\n 'v-slider-track__ticks--always-show': showTicks.value === 'always',\n },\n ]}\n >\n { computedTicks.value }\n </div>\n ) }\n </div>\n )\n }\n },\n})\n\nexport type VSliderTrack = InstanceType<typeof VSliderTrack>\n","// Styles\nimport './VSlider.sass'\n\n// Components\nimport { VInput } from '../VInput'\nimport { VSliderThumb } from './VSliderThumb'\nimport { VSliderTrack } from './VSliderTrack'\n\n// Composables\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { makeSliderProps, useSlider } from './slider'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Helpers\nimport { defineComponent } from '@/util'\n\n// Types\nimport { computed, ref } from 'vue'\nimport { filterInputProps, makeVInputProps } from '../VInput/VInput'\n\nexport const VSlider = defineComponent({\n name: 'VSlider',\n\n props: {\n ...makeFocusProps(),\n ...makeSliderProps(),\n ...makeVInputProps(),\n\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n },\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { attrs, slots }) {\n const thumbContainerRef = ref()\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n readonly,\n } = useSlider({\n props,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleSliderMouseUp: newValue => model.value = roundValue(newValue),\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleMouseMove: newValue => model.value = roundValue(newValue),\n getActiveThumb: () => thumbContainerRef.value?.$el,\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n const value = typeof v === 'string' ? parseFloat(v) : v == null ? min.value : v\n\n return roundValue(value)\n },\n )\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStop = computed(() => position(model.value))\n\n return () => {\n const [inputProps, _] = filterInputProps(props)\n\n return (\n <VInput\n class={[\n 'v-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({ id }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ !readonly.value ? onSliderMousedown : undefined }\n onTouchstartPassive={ !readonly.value ? onSliderTouchstart : undefined }\n >\n <input\n id={ id.value }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ 0 }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ thumbContainerRef }\n focused={ isFocused.value }\n min={ min.value }\n max={ max.value }\n modelValue={ model.value }\n onUpdate:modelValue={ v => (model.value = v) }\n position={ trackStop.value }\n elevation={ props.elevation }\n onFocus={ focus }\n onBlur={ blur }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n }\n },\n})\n\nexport type VSlider = InstanceType<typeof VSlider>\n","// Utilities\nimport {\n HexToHSVA,\n HSLAtoHSVA,\n HSVAtoHex,\n HSVAtoHSLA,\n HSVAtoRGBA,\n parseHex,\n RGBAtoHSVA,\n} from '@/util/colorUtils'\n\n// Types\nimport type {\n HSLA,\n HSVA,\n RGBA,\n} from '@/util/colorUtils'\n\nfunction has (obj: object, key: string[]) {\n return key.every(k => obj.hasOwnProperty(k))\n}\n\nexport function parseColor (color: any): HSVA | null {\n if (!color) return null\n\n let hsva: HSVA | null = null\n\n if (typeof color === 'string') {\n const hex = parseHex(color)\n\n hsva = HexToHSVA(hex)\n }\n\n if (typeof color === 'object') {\n if (has(color, ['r', 'g', 'b'])) {\n hsva = RGBAtoHSVA(color)\n } else if (has(color, ['h', 's', 'l'])) {\n hsva = HSLAtoHSVA(color)\n } else if (has(color, ['h', 's', 'v'])) {\n hsva = color\n }\n }\n\n return hsva != null ? { ...hsva, a: hsva.a ?? 1 } : null\n}\n\nfunction stripAlpha (color: any, stripAlpha: boolean) {\n if (stripAlpha) {\n const { a, ...rest } = color\n\n return rest\n }\n\n return color\n}\n\nexport function extractColor (color: HSVA, input: any) {\n if (input == null || typeof input === 'string') {\n const hex = HSVAtoHex(color)\n\n if (color.a === 1) return hex.slice(0, 7)\n else return hex\n }\n\n if (typeof input === 'object') {\n let converted\n\n if (has(input, ['r', 'g', 'b'])) converted = HSVAtoRGBA(color)\n else if (has(input, ['h', 's', 'l'])) converted = HSVAtoHSLA(color)\n else if (has(input, ['h', 's', 'v'])) converted = color\n\n return stripAlpha(converted, !has(input, ['a']))\n }\n\n return color\n}\n\nexport function hasAlpha (color: any) {\n if (!color) return false\n\n if (typeof color === 'string') {\n return color.length > 7\n }\n\n if (typeof color === 'object') {\n return has(color, ['a']) || has(color, ['alpha'])\n }\n\n return false\n}\n\nexport const nullColor = { h: 0, s: 0, v: 1, a: 1 }\n\nexport type ColorPickerMode = {\n inputProps: Record<string, unknown>\n inputs: {\n [key: string]: any\n getValue: (color: any) => number | string\n getColor: (color: any, v: string) => any\n }[]\n from: (color: any) => HSVA\n to: (color: HSVA) => any\n}\n\nconst rgba: ColorPickerMode = {\n inputProps: {\n type: 'number',\n min: 0,\n },\n inputs: [\n {\n label: 'R',\n max: 255,\n step: 1,\n getValue: (c: RGBA) => Math.round(c.r),\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, r: Number(v) }),\n },\n {\n label: 'G',\n max: 255,\n step: 1,\n getValue: (c: RGBA) => Math.round(c.g),\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, g: Number(v) }),\n },\n {\n label: 'B',\n max: 255,\n step: 1,\n getValue: (c: RGBA) => Math.round(c.b),\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, b: Number(v) }),\n },\n {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: (c: RGBA) => Math.round(c.a * 100) / 100,\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, a: Number(v) }),\n },\n ],\n to: HSVAtoRGBA,\n from: RGBAtoHSVA,\n}\n\nconst rgb = {\n ...rgba,\n inputs: rgba.inputs?.slice(0, 3),\n}\n\nconst hsla: ColorPickerMode = {\n inputProps: {\n type: 'number',\n min: 0,\n },\n inputs: [\n {\n label: 'H',\n max: 360,\n step: 1,\n getValue: (c: HSLA) => Math.round(c.h),\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, h: Number(v) }),\n },\n {\n label: 'S',\n max: 1,\n step: 0.01,\n getValue: (c: HSLA) => Math.round(c.s * 100) / 100,\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, s: Number(v) }),\n },\n {\n label: 'L',\n max: 1,\n step: 0.01,\n getValue: (c: HSLA) => Math.round(c.l * 100) / 100,\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, l: Number(v) }),\n },\n {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: (c: HSLA) => Math.round(c.a * 100) / 100,\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, a: Number(v) }),\n },\n ],\n to: HSVAtoHSLA,\n from: HSLAtoHSVA,\n}\n\nconst hsl = {\n ...hsla,\n inputs: hsla.inputs.slice(0, 3),\n}\n\nconst hexa: ColorPickerMode = {\n inputProps: {\n type: 'text',\n },\n inputs: [\n {\n label: 'HEXA',\n getValue: (c: string) => c,\n getColor: (c: string, v: string) => v,\n },\n ],\n to: HSVAtoHex,\n from: HexToHSVA,\n}\n\nconst hex = {\n ...hexa,\n inputs: [\n {\n label: 'HEX',\n getValue: (c: string) => c.slice(0, 7),\n getColor: (c: string, v: string) => v,\n },\n ],\n}\n\nexport const modes: Record<string, ColorPickerMode> = {\n rgb,\n rgba,\n hsl,\n hsla,\n hex,\n hexa,\n}\n","// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport { VSlider } from '@/components/VSlider'\n\n// Utilities\nimport { defineComponent, HSVAtoCSS } from '@/util'\nimport { nullColor } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } from '@/util'\n\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n\n props: {\n color: {\n type: Object as PropType<HSVA | null>,\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n },\n\n emits: {\n 'update:color': (color: HSVA) => true,\n },\n\n setup (props, { emit }) {\n return () => (\n <div\n class={[\n 'v-color-picker-preview',\n {\n 'v-color-picker-preview--hide-alpha': props.hideAlpha,\n },\n ]}\n >\n <div class=\"v-color-picker-preview__dot\">\n <div style={{ background: HSVAtoCSS(props.color ?? nullColor) }} />\n </div>\n <div class=\"v-color-picker-preview__sliders\">\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__hue\"\n modelValue={ props.color?.h }\n onUpdate:modelValue={ h => emit('update:color', { ...(props.color ?? nullColor), h }) }\n step={ 0 }\n min={ 0 }\n max={ 360 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n { !props.hideAlpha && (\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__alpha\"\n modelValue={ props.color?.a }\n onUpdate:modelValue={ a => emit('update:color', { ...(props.color ?? nullColor), a }) }\n step={ 0 }\n min={ 0 }\n max={ 1 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n ) }\n </div>\n </div>\n )\n },\n})\n","// Styles\nimport './VColorPickerCanvas.sass'\n\n// Utilities\nimport { computed, onMounted, ref, watch } from 'vue'\nimport { clamp, convertToUnit, defineComponent, getEventCoordinates } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } from '@/util'\n\nexport const VColorPickerCanvas = defineComponent({\n name: 'VColorPickerCanvas',\n\n props: {\n color: {\n type: Object as PropType<HSVA | null>,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n height: {\n type: [Number, String],\n default: 150,\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n },\n\n emits: {\n 'update:color': (color: HSVA) => true,\n 'update:position': (hue: any) => true,\n },\n\n setup (props, { emit }) {\n const isInteracting = ref(false)\n const isOutsideUpdate = ref(false)\n const dotPosition = ref({ x: 0, y: 0 })\n\n const dotStyles = computed(() => {\n const { x, y } = dotPosition.value\n const radius = parseInt(props.dotSize, 10) / 2\n\n return {\n width: convertToUnit(props.dotSize),\n height: convertToUnit(props.dotSize),\n transform: `translate(${convertToUnit(x - radius)}, ${convertToUnit(y - radius)})`,\n }\n })\n\n const canvasRef = ref<HTMLCanvasElement | null>()\n\n function updateDotPosition (x: number, y: number, rect: DOMRect) {\n const { left, top, width, height } = rect\n dotPosition.value = {\n x: clamp(x - left, 0, width),\n y: clamp(y - top, 0, height),\n }\n }\n\n function handleClick (e: MouseEvent) {\n if (props.disabled || !canvasRef.value) return\n\n updateDotPosition(e.clientX, e.clientY, canvasRef.value.getBoundingClientRect())\n }\n\n function handleMouseDown (e: MouseEvent | TouchEvent) {\n // To prevent selection while moving cursor\n e.preventDefault()\n\n if (props.disabled) return\n\n isInteracting.value = true\n\n window.addEventListener('mousemove', handleMouseMove)\n window.addEventListener('mouseup', handleMouseUp)\n window.addEventListener('touchmove', handleMouseMove)\n window.addEventListener('touchend', handleMouseUp)\n }\n\n function handleMouseMove (e: MouseEvent | TouchEvent) {\n if (props.disabled || !canvasRef.value) return\n\n isInteracting.value = true\n\n const coords = getEventCoordinates(e)\n\n updateDotPosition(coords.clientX, coords.clientY, canvasRef.value.getBoundingClientRect())\n }\n\n function handleMouseUp () {\n window.removeEventListener('mousemove', handleMouseMove)\n window.removeEventListener('mouseup', handleMouseUp)\n window.removeEventListener('touchmove', handleMouseMove)\n window.removeEventListener('touchend', handleMouseUp)\n }\n\n watch(dotPosition, () => {\n if (isOutsideUpdate.value) {\n isOutsideUpdate.value = false\n return\n }\n\n if (!canvasRef.value) return\n\n const { width, height } = canvasRef.value.getBoundingClientRect()\n const { x, y } = dotPosition.value\n\n emit('update:color', {\n h: props.color?.h ?? 0,\n s: clamp(x, 0, width) / width,\n v: 1 - clamp(y, 0, height) / height,\n a: props.color?.a ?? 1,\n })\n })\n\n function updateCanvas () {\n if (!canvasRef.value) return\n\n const canvas = canvasRef.value\n const ctx = canvas.getContext('2d')\n\n if (!ctx) return\n\n const saturationGradient = ctx.createLinearGradient(0, 0, canvas.width, 0)\n saturationGradient.addColorStop(0, 'hsla(0, 0%, 100%, 1)') // white\n saturationGradient.addColorStop(1, `hsla(${props.color?.h ?? 0}, 100%, 50%, 1)`)\n ctx.fillStyle = saturationGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n\n const valueGradient = ctx.createLinearGradient(0, 0, 0, canvas.height)\n valueGradient.addColorStop(0, 'hsla(0, 0%, 100%, 0)') // transparent\n valueGradient.addColorStop(1, 'hsla(0, 0%, 0%, 1)') // black\n ctx.fillStyle = valueGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n }\n\n watch(() => props.color?.h, updateCanvas, { immediate: true })\n\n watch(() => props.color, () => {\n if (isInteracting.value) {\n isInteracting.value = false\n return\n }\n\n if (!props.color) return\n\n isOutsideUpdate.value = true\n\n dotPosition.value = {\n x: props.color.s * parseInt(props.width, 10),\n y: (1 - props.color.v) * parseInt(props.height, 10),\n }\n }, { deep: true, immediate: true })\n\n onMounted(() => updateCanvas())\n\n return () => (\n <div\n class=\"v-color-picker-canvas\"\n style={{\n width: convertToUnit(props.width),\n height: convertToUnit(props.height),\n }}\n onClick={ handleClick }\n onMousedown={ handleMouseDown }\n onTouchstart={ handleMouseDown }\n >\n <canvas\n ref={ canvasRef }\n width={ props.width }\n height={ props.height }\n />\n <div\n class={[\n 'v-color-picker-canvas__dot',\n {\n 'v-color-picker-canvas__dot--disabled': props.disabled,\n },\n ]}\n style={ dotStyles.value }\n />\n </div>\n )\n },\n})\n","// Styles\nimport './VColorPickerEdit.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\nimport { modes } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } from '@/util/colorUtils'\n\nconst VColorPickerInput = ({ label, ...rest }: any) => {\n return (\n <div\n class=\"v-color-picker-edit__input\"\n >\n <input {...rest} />\n <span>{ label }</span>\n </div>\n )\n}\n\nexport const VColorPickerEdit = defineComponent({\n name: 'VColorPickerEdit',\n\n props: {\n color: Object as PropType<HSVA | null>,\n disabled: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<string[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n },\n\n emits: {\n 'update:color': (color: HSVA) => true,\n 'update:mode': (mode: string) => true,\n },\n\n setup (props, { emit }) {\n const enabledModes = computed(() => {\n return props.modes.map(key => ({ ...modes[key], name: key }))\n })\n\n const inputs = computed(() => {\n const mode = enabledModes.value.find(m => m.name === props.mode)\n\n if (!mode) return []\n\n const color = props.color ? mode.to(props.color) : {}\n\n return mode.inputs?.map(({ getValue, getColor, ...inputProps }) => {\n return {\n ...mode.inputProps,\n ...inputProps,\n disabled: props.disabled,\n value: getValue(color),\n onChange: (e: InputEvent) => {\n const target = e.target as HTMLInputElement | null\n\n if (!target) return\n\n emit('update:color', mode.from(getColor(color, target.value)))\n },\n }\n })\n })\n\n return () => (\n <div\n class=\"v-color-picker-edit\"\n >\n { inputs.value?.map(props => (\n <VColorPickerInput {...props} />\n )) }\n { enabledModes.value.length > 1 && (\n <VBtn\n icon=\"$unfold\"\n size=\"x-small\"\n variant=\"plain\"\n onClick={ () => {\n const mi = enabledModes.value.findIndex(m => m.name === props.mode)\n\n emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name)\n } }\n />\n ) }\n </div>\n )\n },\n})\n","const red = Object.freeze({\n base: '#f44336',\n lighten5: '#ffebee',\n lighten4: '#ffcdd2',\n lighten3: '#ef9a9a',\n lighten2: '#e57373',\n lighten1: '#ef5350',\n darken1: '#e53935',\n darken2: '#d32f2f',\n darken3: '#c62828',\n darken4: '#b71c1c',\n accent1: '#ff8a80',\n accent2: '#ff5252',\n accent3: '#ff1744',\n accent4: '#d50000',\n})\n\nconst pink = Object.freeze({\n base: '#e91e63',\n lighten5: '#fce4ec',\n lighten4: '#f8bbd0',\n lighten3: '#f48fb1',\n lighten2: '#f06292',\n lighten1: '#ec407a',\n darken1: '#d81b60',\n darken2: '#c2185b',\n darken3: '#ad1457',\n darken4: '#880e4f',\n accent1: '#ff80ab',\n accent2: '#ff4081',\n accent3: '#f50057',\n accent4: '#c51162',\n})\n\nconst purple = Object.freeze({\n base: '#9c27b0',\n lighten5: '#f3e5f5',\n lighten4: '#e1bee7',\n lighten3: '#ce93d8',\n lighten2: '#ba68c8',\n lighten1: '#ab47bc',\n darken1: '#8e24aa',\n darken2: '#7b1fa2',\n darken3: '#6a1b9a',\n darken4: '#4a148c',\n accent1: '#ea80fc',\n accent2: '#e040fb',\n accent3: '#d500f9',\n accent4: '#aa00ff',\n})\n\nconst deepPurple = Object.freeze({\n base: '#673ab7',\n lighten5: '#ede7f6',\n lighten4: '#d1c4e9',\n lighten3: '#b39ddb',\n lighten2: '#9575cd',\n lighten1: '#7e57c2',\n darken1: '#5e35b1',\n darken2: '#512da8',\n darken3: '#4527a0',\n darken4: '#311b92',\n accent1: '#b388ff',\n accent2: '#7c4dff',\n accent3: '#651fff',\n accent4: '#6200ea',\n})\n\nconst indigo = Object.freeze({\n base: '#3f51b5',\n lighten5: '#e8eaf6',\n lighten4: '#c5cae9',\n lighten3: '#9fa8da',\n lighten2: '#7986cb',\n lighten1: '#5c6bc0',\n darken1: '#3949ab',\n darken2: '#303f9f',\n darken3: '#283593',\n darken4: '#1a237e',\n accent1: '#8c9eff',\n accent2: '#536dfe',\n accent3: '#3d5afe',\n accent4: '#304ffe',\n})\n\nconst blue = Object.freeze({\n base: '#2196f3',\n lighten5: '#e3f2fd',\n lighten4: '#bbdefb',\n lighten3: '#90caf9',\n lighten2: '#64b5f6',\n lighten1: '#42a5f5',\n darken1: '#1e88e5',\n darken2: '#1976d2',\n darken3: '#1565c0',\n darken4: '#0d47a1',\n accent1: '#82b1ff',\n accent2: '#448aff',\n accent3: '#2979ff',\n accent4: '#2962ff',\n})\n\nconst lightBlue = Object.freeze({\n base: '#03a9f4',\n lighten5: '#e1f5fe',\n lighten4: '#b3e5fc',\n lighten3: '#81d4fa',\n lighten2: '#4fc3f7',\n lighten1: '#29b6f6',\n darken1: '#039be5',\n darken2: '#0288d1',\n darken3: '#0277bd',\n darken4: '#01579b',\n accent1: '#80d8ff',\n accent2: '#40c4ff',\n accent3: '#00b0ff',\n accent4: '#0091ea',\n})\n\nconst cyan = Object.freeze({\n base: '#00bcd4',\n lighten5: '#e0f7fa',\n lighten4: '#b2ebf2',\n lighten3: '#80deea',\n lighten2: '#4dd0e1',\n lighten1: '#26c6da',\n darken1: '#00acc1',\n darken2: '#0097a7',\n darken3: '#00838f',\n darken4: '#006064',\n accent1: '#84ffff',\n accent2: '#18ffff',\n accent3: '#00e5ff',\n accent4: '#00b8d4',\n})\n\nconst teal = Object.freeze({\n base: '#009688',\n lighten5: '#e0f2f1',\n lighten4: '#b2dfdb',\n lighten3: '#80cbc4',\n lighten2: '#4db6ac',\n lighten1: '#26a69a',\n darken1: '#00897b',\n darken2: '#00796b',\n darken3: '#00695c',\n darken4: '#004d40',\n accent1: '#a7ffeb',\n accent2: '#64ffda',\n accent3: '#1de9b6',\n accent4: '#00bfa5',\n})\n\nconst green = Object.freeze({\n base: '#4caf50',\n lighten5: '#e8f5e9',\n lighten4: '#c8e6c9',\n lighten3: '#a5d6a7',\n lighten2: '#81c784',\n lighten1: '#66bb6a',\n darken1: '#43a047',\n darken2: '#388e3c',\n darken3: '#2e7d32',\n darken4: '#1b5e20',\n accent1: '#b9f6ca',\n accent2: '#69f0ae',\n accent3: '#00e676',\n accent4: '#00c853',\n})\n\nconst lightGreen = Object.freeze({\n base: '#8bc34a',\n lighten5: '#f1f8e9',\n lighten4: '#dcedc8',\n lighten3: '#c5e1a5',\n lighten2: '#aed581',\n lighten1: '#9ccc65',\n darken1: '#7cb342',\n darken2: '#689f38',\n darken3: '#558b2f',\n darken4: '#33691e',\n accent1: '#ccff90',\n accent2: '#b2ff59',\n accent3: '#76ff03',\n accent4: '#64dd17',\n})\n\nconst lime = Object.freeze({\n base: '#cddc39',\n lighten5: '#f9fbe7',\n lighten4: '#f0f4c3',\n lighten3: '#e6ee9c',\n lighten2: '#dce775',\n lighten1: '#d4e157',\n darken1: '#c0ca33',\n darken2: '#afb42b',\n darken3: '#9e9d24',\n darken4: '#827717',\n accent1: '#f4ff81',\n accent2: '#eeff41',\n accent3: '#c6ff00',\n accent4: '#aeea00',\n})\n\nconst yellow = Object.freeze({\n base: '#ffeb3b',\n lighten5: '#fffde7',\n lighten4: '#fff9c4',\n lighten3: '#fff59d',\n lighten2: '#fff176',\n lighten1: '#ffee58',\n darken1: '#fdd835',\n darken2: '#fbc02d',\n darken3: '#f9a825',\n darken4: '#f57f17',\n accent1: '#ffff8d',\n accent2: '#ffff00',\n accent3: '#ffea00',\n accent4: '#ffd600',\n})\n\nconst amber = Object.freeze({\n base: '#ffc107',\n lighten5: '#fff8e1',\n lighten4: '#ffecb3',\n lighten3: '#ffe082',\n lighten2: '#ffd54f',\n lighten1: '#ffca28',\n darken1: '#ffb300',\n darken2: '#ffa000',\n darken3: '#ff8f00',\n darken4: '#ff6f00',\n accent1: '#ffe57f',\n accent2: '#ffd740',\n accent3: '#ffc400',\n accent4: '#ffab00',\n})\n\nconst orange = Object.freeze({\n base: '#ff9800',\n lighten5: '#fff3e0',\n lighten4: '#ffe0b2',\n lighten3: '#ffcc80',\n lighten2: '#ffb74d',\n lighten1: '#ffa726',\n darken1: '#fb8c00',\n darken2: '#f57c00',\n darken3: '#ef6c00',\n darken4: '#e65100',\n accent1: '#ffd180',\n accent2: '#ffab40',\n accent3: '#ff9100',\n accent4: '#ff6d00',\n})\n\nconst deepOrange = Object.freeze({\n base: '#ff5722',\n lighten5: '#fbe9e7',\n lighten4: '#ffccbc',\n lighten3: '#ffab91',\n lighten2: '#ff8a65',\n lighten1: '#ff7043',\n darken1: '#f4511e',\n darken2: '#e64a19',\n darken3: '#d84315',\n darken4: '#bf360c',\n accent1: '#ff9e80',\n accent2: '#ff6e40',\n accent3: '#ff3d00',\n accent4: '#dd2c00',\n})\n\nconst brown = Object.freeze({\n base: '#795548',\n lighten5: '#efebe9',\n lighten4: '#d7ccc8',\n lighten3: '#bcaaa4',\n lighten2: '#a1887f',\n lighten1: '#8d6e63',\n darken1: '#6d4c41',\n darken2: '#5d4037',\n darken3: '#4e342e',\n darken4: '#3e2723',\n})\n\nconst blueGrey = Object.freeze({\n base: '#607d8b',\n lighten5: '#eceff1',\n lighten4: '#cfd8dc',\n lighten3: '#b0bec5',\n lighten2: '#90a4ae',\n lighten1: '#78909c',\n darken1: '#546e7a',\n darken2: '#455a64',\n darken3: '#37474f',\n darken4: '#263238',\n})\n\nconst grey = Object.freeze({\n base: '#9e9e9e',\n lighten5: '#fafafa',\n lighten4: '#f5f5f5',\n lighten3: '#eeeeee',\n lighten2: '#e0e0e0',\n lighten1: '#bdbdbd',\n darken1: '#757575',\n darken2: '#616161',\n darken3: '#424242',\n darken4: '#212121',\n})\n\nconst shades = Object.freeze({\n black: '#000000',\n white: '#ffffff',\n transparent: 'transparent',\n})\n\nexport default Object.freeze({\n red,\n pink,\n purple,\n deepPurple,\n indigo,\n blue,\n lightBlue,\n cyan,\n teal,\n green,\n lightGreen,\n lime,\n yellow,\n amber,\n orange,\n deepOrange,\n brown,\n blueGrey,\n grey,\n shades,\n})\n","// Styles\nimport './VColorPickerSwatches.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Utilities\nimport { convertToUnit, deepEqual, defineComponent, getContrast } from '@/util'\nimport colors from '@/util/colors'\nimport { parseColor } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } from '@/util'\n\nfunction parseDefaultColors (colors: Record<string, Record<string, string>>) {\n return Object.keys(colors).map(key => {\n const color = colors[key]\n return color.base ? [\n color.base,\n color.darken4,\n color.darken3,\n color.darken2,\n color.darken1,\n color.lighten1,\n color.lighten2,\n color.lighten3,\n color.lighten4,\n color.lighten5,\n ] : [\n color.black,\n color.white,\n color.transparent,\n ]\n })\n}\n\nexport const VColorPickerSwatches = defineComponent({\n name: 'VColorPickerSwatches',\n\n props: {\n swatches: {\n type: Array as PropType<string[][]>,\n default: () => parseDefaultColors(colors),\n },\n disabled: Boolean,\n color: Object as PropType<HSVA | null>,\n maxHeight: [Number, String],\n },\n\n emits: {\n 'update:color': (color: HSVA) => true,\n },\n\n setup (props, { emit }) {\n return () => (\n <div\n class=\"v-color-picker-swatches\"\n style={{\n maxHeight: convertToUnit(props.maxHeight),\n }}\n >\n <div>\n { props.swatches.map(swatch => (\n <div class=\"v-color-picker-swatches__swatch\">\n { swatch.map(color => {\n const hsva = parseColor(color)\n\n return (\n <div\n class=\"v-color-picker-swatches__color\"\n onClick={() => hsva && emit('update:color', hsva)}\n >\n <div style={{ background: color }}>\n { props.color && deepEqual(props.color, hsva)\n ? <VIcon size=\"x-small\" icon=\"$success\" color={getContrast(color, '#FFFFFF') > 2 ? 'white' : 'black' } />\n : undefined\n }\n </div>\n </div>\n )\n }) }\n </div>\n ))}\n </div>\n </div>\n )\n },\n})\n","// Styles\nimport './VColorPicker.sass'\n\n// Components\nimport { VSheet } from '@/components/VSheet'\nimport { VColorPickerPreview } from './VColorPickerPreview'\nimport { VColorPickerCanvas } from './VColorPickerCanvas'\nimport { VColorPickerEdit } from './VColorPickerEdit'\nimport { VColorPickerSwatches } from './VColorPickerSwatches'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { makeThemeProps } from '@/composables/theme'\n\n// Utilities\nimport { onMounted, ref } from 'vue'\nimport { defineComponent, HSVAtoCSS } from '@/util'\nimport { extractColor, modes, nullColor, parseColor } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } from '@/util'\n\nexport const VColorPicker = defineComponent({\n name: 'VColorPicker',\n\n inheritAttrs: false,\n\n props: {\n canvasHeight: {\n type: [String, Number],\n default: 150,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n hideCanvas: Boolean,\n hideSliders: Boolean,\n hideInputs: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<string[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n showSwatches: Boolean,\n swatches: Array as PropType<string[][]>,\n swatchesMaxHeight: {\n type: [Number, String],\n default: 150,\n },\n modelValue: {\n type: [Object, String] as PropType<Record<string, unknown> | string | undefined | null>,\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (color: any) => true,\n 'update:mode': (mode: string) => true,\n },\n\n setup (props) {\n const mode = useProxiedModel(props, 'mode')\n const lastPickedColor = ref<HSVA | null>(null)\n const currentColor = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n let c = parseColor(v)\n\n if (!c) return null\n\n if (lastPickedColor.value) {\n c = { ...c, h: lastPickedColor.value.h }\n lastPickedColor.value = null\n }\n\n return c\n },\n v => {\n if (!v) return null\n\n return extractColor(v, props.modelValue)\n }\n )\n\n const updateColor = (hsva: HSVA) => {\n currentColor.value = hsva\n lastPickedColor.value = hsva\n }\n\n onMounted(() => {\n if (!props.modes.includes(mode.value)) mode.value = props.modes[0]\n })\n\n return () => (\n <VSheet\n rounded={ props.rounded }\n elevation={ props.elevation }\n theme={ props.theme }\n class={[\n 'v-color-picker',\n ]}\n style={{\n '--v-color-picker-color-hsv': HSVAtoCSS({ ...(currentColor.value ?? nullColor), a: 1 }),\n }}\n maxWidth={ props.width }\n >\n { !props.hideCanvas && (\n <VColorPickerCanvas\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n disabled={ props.disabled }\n dotSize={ props.dotSize }\n width={ props.width }\n height={ props.canvasHeight }\n />\n ) }\n { (!props.hideSliders || !props.hideInputs) && (\n <div class=\"v-color-picker__controls\">\n { !props.hideSliders && (\n <VColorPickerPreview\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n hideAlpha={ !mode.value.endsWith('a') }\n disabled={ props.disabled }\n />\n ) }\n { !props.hideInputs && (\n <VColorPickerEdit\n modes={ props.modes }\n mode={ mode.value }\n onUpdate:mode={ m => mode.value = m }\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n disabled={ props.disabled }\n />\n ) }\n </div>\n ) }\n { props.showSwatches && (\n <VColorPickerSwatches\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n maxHeight={ props.swatchesMaxHeight }\n swatches={ props.swatches }\n disabled={ props.disabled }\n />\n ) }\n </VSheet>\n )\n },\n})\n\nexport type VColorPicker = InstanceType<typeof VColorPicker>\n","// Styles\nimport './VCombobox.sass'\n\n// Components\nimport { genItem, makeSelectProps } from '@/components/VSelect/VSelect'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { VTextField } from '@/components/VTextField'\n\n// Composables\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useForwardRef } from '@/composables/forwardRef'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Utility\nimport { computed, nextTick, ref, watch } from 'vue'\nimport { genericComponent, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { FilterMatch } from '@/composables/filter'\nimport type { DefaultChipSlot, InternalSelectItem } from '@/components/VSelect/VSelect'\nimport type { MakeSlots } from '@/util'\nimport type { PropType } from 'vue'\n\nexport interface InternalComboboxItem extends InternalSelectItem {\n selected: boolean\n}\n\nexport interface DefaultComboboxSlot {\n selection: InternalComboboxItem\n}\n\nfunction highlightResult (text: string, matches: FilterMatch, length: number) {\n if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented')\n\n return typeof matches === 'number' && ~matches\n ? (\n <>\n <span class=\"v-combobox__unmask\">{ text.substr(0, matches) }</span>\n <span class=\"v-combobox__mask\">{ text.substr(matches, length) }</span>\n <span class=\"v-combobox__unmask\">{ text.substr(matches + length) }</span>\n </>\n )\n : text\n}\n\nexport const VCombobox = genericComponent<new <T>() => {\n $slots: MakeSlots<{\n chip: [DefaultChipSlot]\n default: []\n selection: [DefaultComboboxSlot]\n }>\n}>()({\n name: 'VCombobox',\n\n props: {\n // TODO: implement post keyboard support\n // autoSelectFirst: Boolean,\n delimiters: Array as PropType<string[]>,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps({ hideNoData: true }),\n ...makeTransitionProps({ transition: false }),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const activator = ref()\n const isFocused = ref(false)\n const isPristine = ref(true)\n const menu = ref(false)\n const selectionIndex = ref(-1)\n const color = computed(() => vTextFieldRef.value?.color)\n const items = computed(() => props.items.map(genItem))\n const { textColorClasses, textColorStyles } = useTextColor(color)\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => wrapInArray(v || []),\n (v: any) => props.multiple ? v : v[0]\n )\n const _search = ref('')\n const search = computed<string>({\n get: () => props.multiple ? _search.value : genItem(model.value[0]).value,\n set: val => {\n if (props.multiple) {\n _search.value = val\n } else {\n model.value = [val]\n }\n\n if (val && props.multiple && props.delimiters?.length) {\n const values = val.split(new RegExp(`(?:${props.delimiters.join('|')})+`))\n if (values.length > 1) {\n values.forEach(v => {\n v = v.trim()\n if (v) select({ value: v })\n })\n _search.value = ''\n }\n }\n\n if (!val) selectionIndex.value = -1\n if (isFocused.value) menu.value = true\n\n isPristine.value = !val\n },\n })\n const { filteredItems } = useFilter(props, items, computed(() => isPristine.value ? undefined : search.value))\n\n const selections = computed(() => {\n const array: InternalComboboxItem[] = []\n let index = 0\n for (const unwrapped of model.value) {\n const item = genItem(unwrapped)\n\n const found = array.find(selection => selection.value === item.value)\n\n if (found == null) {\n array.push({\n ...item,\n index,\n selected: index === selectionIndex.value,\n })\n\n index++\n }\n }\n\n return array\n })\n const selected = computed(() => selections.value.map(selection => selection.value))\n const selection = computed(() => selections.value[selectionIndex.value])\n\n function onClear (e: MouseEvent) {\n model.value = []\n\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onClickControl () {\n if (props.hideNoData && !filteredItems.value.length) return\n\n menu.value = true\n }\n function onKeydown (e: KeyboardEvent) {\n const selectionStart = vTextFieldRef.value.selectionStart\n const length = selected.value.length\n\n if (selectionIndex.value > -1) e.preventDefault()\n\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape'].includes(e.key)) {\n menu.value = false\n }\n\n if (['Enter', 'Escape', 'Tab'].includes(e.key)) {\n isPristine.value = true\n }\n\n if (!props.multiple) return\n\n if (['Backspace', 'Delete'].includes(e.key)) {\n if (selectionIndex.value < 0) {\n if (e.key === 'Backspace' && !search.value) {\n selectionIndex.value = length - 1\n }\n\n return\n }\n\n select(selection.value)\n\n nextTick(() => !selection.value && (selectionIndex.value = length - 2))\n }\n\n if (e.key === 'ArrowLeft') {\n if (selectionIndex.value < 0 && selectionStart > 0) return\n\n const prev = selectionIndex.value > -1\n ? selectionIndex.value - 1\n : length - 1\n\n if (selections.value[prev]) {\n selectionIndex.value = prev\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(search.value.length, search.value.length)\n }\n }\n\n if (e.key === 'ArrowRight') {\n if (selectionIndex.value < 0) return\n\n const next = selectionIndex.value + 1\n\n if (selections.value[next]) {\n selectionIndex.value = next\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(0, 0)\n }\n }\n\n if (e.key === 'Enter') {\n select({ value: search.value })\n search.value = ''\n }\n }\n function onAfterLeave () {\n if (isFocused.value) isPristine.value = true\n }\n function select (item: any) {\n if (props.multiple) {\n const index = selections.value.findIndex(selection => selection.value === item.value)\n\n if (index === -1) {\n model.value.push(item.value)\n } else {\n model.value = selected.value.filter(selection => selection !== item.value)\n }\n\n search.value = ''\n } else {\n search.value = item.title\n\n // watch for search watcher to trigger\n nextTick(() => {\n menu.value = false\n isPristine.value = true\n })\n }\n }\n\n watch(() => vTextFieldRef.value, val => {\n activator.value = val.$el.querySelector('.v-input__control')\n })\n\n watch(filteredItems, val => {\n if (!val.length && props.hideNoData) menu.value = false\n })\n\n watch(isFocused, val => {\n if (val) {\n selectionIndex.value = -1\n } else {\n menu.value = false\n\n if (!props.multiple || !search.value) return\n\n model.value.push(search.value)\n search.value = ''\n }\n })\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n v-model={ search.value }\n class={[\n 'v-combobox',\n {\n 'v-combobox--active-menu': menu.value,\n 'v-combobox--chips': !!props.chips,\n 'v-combobox--selecting-index': selectionIndex.value > -1,\n [`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true,\n },\n ]}\n appendInnerIcon={ props.items.length ? props.menuIcon : undefined }\n dirty={ selected.value.length > 0 }\n onClick:clear={ onClear }\n onClick:control={ onClickControl }\n onClick:input={ onClickControl }\n onFocus={ () => isFocused.value = true }\n onBlur={ () => isFocused.value = false }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n { activator.value && (\n <VMenu\n v-model={ menu.value }\n activator={ activator.value }\n contentClass=\"v-combobox__content\"\n eager={ props.eager }\n openOnClick={ false }\n transition={ props.transition }\n onAfterLeave={ onAfterLeave }\n >\n <VList\n selected={ selected.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n >\n { !filteredItems.value.length && !props.hideNoData && (\n <VListItem title={ t(props.noDataText) } />\n ) }\n\n { filteredItems.value.map(({ item, matches }) => (\n <VListItem\n value={ item.value }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onClick={ () => select(item) }\n >\n {{\n title: () => {\n return isPristine.value\n ? item.title\n : highlightResult(item.title, matches.title, search.value?.length ?? 0)\n },\n }}\n </VListItem>\n )) }\n </VList>\n </VMenu>\n ) }\n\n { selections.value.map((selection, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(selection)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n modelValue: true,\n }\n\n return (\n <div\n class={[\n 'v-combobox__selection',\n selection.selected && [\n 'v-combobox__selection--selected',\n textColorClasses.value,\n ],\n ]}\n style={ selection.selected ? textColorStyles.value : {} }\n >\n { hasChips && (\n <VDefaultsProvider\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: selection.title,\n },\n }}\n >\n { slots.chip\n ? slots.chip({ props: slotProps, selection })\n : (<VChip { ...slotProps } />)\n }\n </VDefaultsProvider>\n ) }\n\n { !hasChips && (\n slots.selection\n ? slots.selection({ selection })\n : (\n <span class=\"v-combobox__selection-text\">\n { selection.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-combobox__selection-comma\">,</span>\n ) }\n </span>\n )\n ) }\n </div>\n )\n }) }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return useForwardRef({\n isFocused,\n isPristine,\n menu,\n search,\n selectionIndex,\n filteredItems,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VCombobox = InstanceType<typeof VCombobox>\n","// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VOverlay } from '@/components/VOverlay'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { nextTick, ref, watch } from 'vue'\nimport { genericComponent, IN_BROWSER } from '@/util'\n\n// Types\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const VDialog = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VDialog',\n\n inheritAttrs: false,\n\n props: {\n fullscreen: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n modelValue: Boolean,\n\n ...makeDimensionProps({ width: 'auto' }),\n ...makeTransitionProps({\n transition: { component: VDialogTransition },\n }),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { dimensionStyles } = useDimension(props)\n\n const overlay = ref<VOverlay>()\n function onFocusin (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n if (\n before !== after &&\n overlay.value?.contentEl &&\n // It isn't the document or the dialog body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the dialog body\n !overlay.value.contentEl.contains(after)\n // We're the topmost dialog\n // TODO: this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n // TODO: !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n const focusable = [...overlay.value.contentEl.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => !el.hasAttribute('disabled')) as HTMLElement[]\n\n if (!focusable.length) return\n\n const firstElement = focusable[0]\n const lastElement = focusable[focusable.length - 1]\n\n if (before === firstElement) {\n lastElement.focus()\n } else {\n firstElement.focus()\n }\n }\n }\n\n if (IN_BROWSER) {\n watch(() => isActive.value && props.retainFocus, val => {\n val\n ? document.addEventListener('focusin', onFocusin)\n : document.removeEventListener('focusin', onFocusin)\n }, { immediate: true })\n }\n\n watch(isActive, async val => {\n await nextTick()\n if (val) {\n overlay.value!.contentEl?.focus({ preventScroll: true })\n } else {\n overlay.value!.activatorEl?.focus({ preventScroll: true })\n }\n })\n\n return () => {\n return (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-dialog',\n {\n 'v-dialog--fullscreen': props.fullscreen,\n },\n ]}\n style={ dimensionStyles.value }\n transition={ props.transition }\n ref={ overlay }\n aria-role=\"dialog\"\n aria-modal=\"true\"\n activatorProps={{\n 'aria-haspopup': 'dialog',\n 'aria-expanded': String(isActive.value),\n }}\n { ...attrs }\n v-slots={{\n default: slots.default,\n activator: slots.activator,\n }}\n />\n )\n }\n },\n})\n\nexport type VDialog = InstanceType<typeof VDialog>\n","// Styles\nimport './VExpansionPanel.sass'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType } from 'vue'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VExpansionPanelSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-expansion-panel')\n\nconst allowedVariants = ['default', 'accordion', 'inset', 'popout'] as const\n\ntype Variant = typeof allowedVariants[number]\n\nexport const VExpansionPanels = defineComponent({\n name: 'VExpansionPanels',\n\n props: {\n color: String,\n variant: {\n type: String as PropType<Variant>,\n default: 'default',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n ...makeGroupProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (val: unknown) => true,\n },\n\n setup (props, { slots }) {\n 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 color: toRef(props, 'color'),\n },\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-expansion-panels',\n themeClasses.value,\n variantClass.value,\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanels = InstanceType<typeof VExpansionPanels>\n","// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { defineComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n color: String,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n collapseIcon: {\n type: String,\n default: '$collapse',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n})\n\nexport const VExpansionPanelTitle = defineComponent({\n name: 'VExpansionPanelTitle',\n\n directives: { Ripple },\n\n props: {\n ...makeVExpansionPanelTitleProps(),\n },\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\n const slotProps = computed(() => ({\n collapseIcon: props.collapseIcon,\n disabled: expansionPanel.disabled.value,\n expanded: expansionPanel.isSelected.value,\n expandIcon: props.expandIcon,\n }))\n\n useRender(() => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n },\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ expansionPanel.toggle }\n v-ripple={ props.ripple }\n >\n <div class=\"v-expansion-panel-title__overlay\" />\n\n { slots.default?.(slotProps.value) }\n\n { !props.hideActions && (\n <div class=\"v-expansion-panel-title__icon\">\n {\n slots.actions ? slots.actions(slotProps.value)\n : <VIcon icon={ expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon } />\n }\n </div>\n ) }\n </button>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelTitle = InstanceType<typeof VExpansionPanelTitle>\n","// Components\nimport { VExpandTransition } from '@/components/transitions'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\nimport { inject } from 'vue'\n\nexport const VExpansionPanelText = defineComponent({\n name: 'VExpansionPanelText',\n\n props: {\n ...makeLazyProps(),\n },\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel')\n\n const { hasContent, onAfterLeave } = useLazy(props, expansionPanel.isSelected)\n\n useRender(() => (\n <VExpandTransition onAfterLeave={ onAfterLeave }>\n <div\n class=\"v-expansion-panel-text\"\n v-show={ expansionPanel.isSelected.value }\n >\n { slots.default && hasContent.value && (\n <div class=\"v-expansion-panel-text__wrapper\">\n { slots.default?.() }\n </div>\n ) }\n </div>\n </VExpandTransition>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelText = InstanceType<typeof VExpansionPanelText>\n","// Components\nimport { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from './VExpansionPanelTitle'\nimport { VExpansionPanelText } from './VExpansionPanelText'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeLazyProps } from '@/composables/lazy'\n\n// Utilities\nimport { computed, provide } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\nexport const VExpansionPanel = defineComponent({\n name: 'VExpansionPanel',\n\n props: {\n title: String,\n text: String,\n bgColor: String,\n\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLazyProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeVExpansionPanelTitleProps(),\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 isBeforeSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n groupItem.group.selected.value.some(id => groupItem.group.items.value.indexOf(id) - 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 groupItem.group.selected.value.some(id => groupItem.group.items.value.indexOf(id) - 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 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 ]}\n style={ backgroundColorStyles.value }\n aria-expanded={ groupItem.isSelected.value }\n >\n <div\n class={[\n 'v-expansion-panel__shadow',\n ...elevationClasses.value,\n ]}\n />\n\n { hasTitle && (\n <VExpansionPanelTitle\n collapseIcon={ props.collapseIcon }\n color={ props.color }\n expandIcon={ props.expandIcon }\n hideActions={ props.hideActions }\n ripple={ props.ripple }\n >\n { slots.title ? slots.title() : props.title }\n </VExpansionPanelTitle>\n ) }\n\n { hasText && (\n <VExpansionPanelText eager={ props.eager }>\n { slots.text ? slots.text() : props.text }\n </VExpansionPanelText>\n ) }\n\n { slots.default?.() }\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VExpansionPanel = InstanceType<typeof VExpansionPanel>\n","// Styles\nimport './VFileInput.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { VChip } from '@/components/VChip'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\n\n// Composables\nimport { useForwardRef } from '@/composables/forwardRef'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, ref } from 'vue'\nimport { defineComponent, filterInputAttrs, humanReadableFileSize, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\n\nexport const VFileInput = defineComponent({\n name: 'VFileInput',\n\n inheritAttrs: false,\n\n props: {\n chips: Boolean,\n counter: Boolean,\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n multiple: Boolean,\n hint: String,\n persistentHint: Boolean,\n placeholder: String,\n showSize: {\n type: [Boolean, Number] as PropType<boolean | 1000 | 1024>,\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n },\n\n ...makeVInputProps(),\n\n prependIcon: {\n type: String,\n default: '$file',\n },\n modelValue: {\n type: Array as PropType<File[]>,\n default: () => ([]),\n validator: (val: any) => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n },\n\n ...makeVFieldProps({ clearable: true }),\n },\n\n emits: {\n 'click:clear': (e: MouseEvent) => true,\n 'click:control': (e: MouseEvent) => true,\n 'update:modelValue': (files: File[]) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const model = useProxiedModel(props, 'modelValue')\n const base = computed(() => typeof props.showSize !== 'boolean' ? props.showSize : undefined)\n const totalBytes = computed(() => (model.value ?? []).reduce((bytes, { size = 0 }) => bytes + size, 0))\n const totalBytesReadable = computed(() => humanReadableFileSize(totalBytes.value, base.value))\n\n const fileNames = computed(() => (model.value ?? []).map(file => {\n const { name = '', size = 0 } = file\n\n return !props.showSize\n ? name\n : `${name} (${humanReadableFileSize(size, base.value)})`\n }))\n\n const counterValue = computed(() => {\n const fileCount = model.value?.length ?? 0\n if (props.showSize) return t(props.counterSizeString, fileCount, totalBytesReadable.value)\n else return t(props.counterString, fileCount)\n })\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const isFocused = ref(false)\n const inputRef = ref<HTMLInputElement>()\n const messages = computed(() => {\n return props.messages.length\n ? props.messages\n : (props.persistentHint) ? props.hint : ''\n })\n function onFocus () {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n\n if (!isFocused.value) {\n isFocused.value = true\n }\n }\n function onControlClick (e: MouseEvent) {\n inputRef.value?.click()\n\n emit('click:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = []\n\n if (inputRef?.value) {\n inputRef.value.value = ''\n }\n\n emit('click:clear', e)\n })\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || counterValue.value)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class=\"v-file-input\"\n { ...rootAttrs }\n { ...inputProps }\n onClick:prepend={ onControlClick }\n messages={ messages.value }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n ref={ vFieldRef }\n prepend-icon={ props.prependIcon }\n onClick:control={ onControlClick }\n onClick:clear={ onClear }\n { ...fieldProps }\n active={ isDirty.value || isFocused.value }\n dirty={ isDirty.value }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n <input\n ref={ inputRef }\n type=\"file\"\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n multiple={ props.multiple }\n name={ props.name }\n onClick={ e => {\n e.stopPropagation()\n\n onFocus()\n } }\n onChange={ e => {\n if (!e.target) return\n\n const target = e.target as HTMLInputElement\n model.value = [...target.files ?? []]\n } }\n onFocus={ onFocus }\n onBlur={ () => (isFocused.value = false) }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { model.value.length > 0 && (\n <div class={ fieldClass }>\n { slots.selection ? slots.selection({\n fileNames: fileNames.value,\n totalBytes: totalBytes.value,\n totalBytesReadable: totalBytesReadable.value,\n })\n : props.chips ? fileNames.value.map(text => (\n <VChip\n key={ text }\n size=\"small\"\n color={ props.color }\n >{ text }</VChip>\n ))\n : fileNames.value.join(', ') }\n </div>\n ) }\n </>\n ),\n }}\n </VField>\n ),\n details: hasCounter ? () => (\n <>\n <span />\n\n <VCounter\n value={ counterValue.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return useForwardRef({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VFileInput = InstanceType<typeof VFileInput>\n","// Styles\nimport './VFooter.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VFooter = defineComponent({\n name: 'VFooter',\n\n props: {\n color: String,\n\n ...makeBorderProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'footer' }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n return () => (\n <props.tag\n class={[\n 'v-footer',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Composables\nimport { createForm, makeFormProps } from '@/composables/form'\n\n// Utilities\nimport { ref } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\nexport const VForm = defineComponent({\n name: 'VForm',\n\n props: {\n ...makeFormProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean | null) => true,\n submit: (e: Event) => true,\n },\n\n setup (props, { slots, emit }) {\n const form = createForm(props)\n const formRef = ref<HTMLFormElement>()\n\n function onReset (e: Event) {\n e.preventDefault()\n form.reset()\n }\n\n function onSubmit (e: Event) {\n e.preventDefault()\n form.validate().then(({ valid }) => {\n if (valid) {\n emit('submit', e)\n }\n })\n }\n\n useRender(() => ((\n <form\n ref={ formRef }\n class=\"v-form\"\n novalidate\n onReset={ onReset }\n onSubmit={ onSubmit }\n >\n { slots.default?.(form) }\n </form>\n )))\n\n return form\n },\n})\n\nexport type VForm = InstanceType<typeof VForm>\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VContainer = defineComponent({\n name: 'VContainer',\n\n props: {\n fluid: {\n type: Boolean,\n default: false,\n },\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => (\n <props.tag\n class={[\n 'v-container',\n { 'v-container--fluid': props.fluid },\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { capitalize, computed, h } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\n\nconst breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl'] as const // no xs\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Record<string, Prop<boolean | string | number, false>>)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + capitalize(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Record<string, Prop<string | number, null>>)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + capitalize(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Record<string, Prop<string | number, null>>)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className: string = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n if (type === 'col') {\n className = 'v-' + className\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert <v-col sm></v-col> to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .v-col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nexport const VCol = defineComponent({\n name: 'VCol',\n\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const classes = computed(() => {\n const classList: any[] = []\n\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('v-col-'))\n\n classList.push({\n // Default to .v-col if no other col-{bp}-* classes generated nor `cols` specified.\n 'v-col': !hasColClasses || !props.cols,\n [`v-col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n return classList\n })\n\n return () => h(props.tag, {\n class: classes.value,\n }, slots.default?.())\n },\n})\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { capitalize, computed, h } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\n\nconst breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl'] as const // no xs\n\nconst ALIGNMENT = ['start', 'end', 'center'] as const\n\nfunction makeRowProps (prefix: string, def: () => Prop<string, null>) {\n return breakpoints.reduce((props, val) => {\n props[prefix + capitalize(val)] = def()\n return props\n }, {} as Record<string, Prop<string, null>>)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeRowProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeRowProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeRowProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nexport const VRow = defineComponent({\n name: 'VRow',\n\n props: {\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const classes = computed(() => {\n const classList: any[] = []\n\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'v-row--no-gutters': props.noGutters,\n 'v-row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n return classList\n })\n\n return () => h(props.tag, {\n class: ['v-row', classes.value],\n }, slots.default?.())\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VSpacer = createSimpleFunctional('flex-grow-1', 'div', 'VSpacer')\n","// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VHover = defineComponent({\n name: 'VHover',\n\n props: {\n disabled: Boolean,\n modelValue: {\n type: Boolean,\n default: undefined,\n },\n\n ...makeDelayProps(),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isHovering = useProxiedModel(props, 'modelValue')\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => !props.disabled && (isHovering.value = value))\n\n return () => slots.default?.({\n isHovering: isHovering.value,\n props: {\n onMouseenter: runOpenDelay,\n onMouseleave: runCloseDelay,\n },\n })\n },\n})\n","// Styles\nimport './VItemGroup.sass'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VItemGroupSymbol = Symbol.for('vuetify:v-item-group')\n\nexport const VItemGroup = defineComponent({\n name: 'VItemGroup',\n\n props: {\n ...makeGroupProps({\n selectedClass: 'v-item--selected',\n }),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isSelected, select, next, prev, selected } = useGroup(props, VItemGroupSymbol)\n\n return () => (\n <props.tag\n class={[\n 'v-item-group',\n themeClasses.value,\n ]}\n >\n { slots.default?.({\n isSelected,\n select,\n next,\n prev,\n selected: selected.value,\n }) }\n </props.tag>\n )\n },\n})\n\nexport type VItemGroup = InstanceType<typeof VItemGroup>\n","// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { VItemGroupSymbol } from './VItemGroup'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { MakeSlots } from '@/util'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VItem = genericComponent<new () => {\n $slots: MakeSlots<{\n default: [GroupItemProvide]\n }>\n}>()({\n name: 'VItem',\n\n props: makeGroupItemProps(),\n\n setup (props, { slots }) {\n const { isSelected, select, toggle, selectedClass, value, disabled } = useGroupItem(props, VItemGroupSymbol)\n return () => slots.default?.({\n isSelected: isSelected.value,\n selectedClass: selectedClass.value,\n select,\n toggle,\n value: value.value,\n disabled: disabled.value,\n })\n },\n})\n\nexport type VItem = InstanceType<typeof VItem>\n","import './VKbd.sass'\n\nimport { createSimpleFunctional } from '@/util'\n\nexport const VKbd = createSimpleFunctional('v-kbd')\n","// Styles\nimport './VLayout.sass'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\n// Composables\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\n\nexport const VLayout = defineComponent({\n name: 'VLayout',\n\n props: makeLayoutProps(),\n\n setup (props, { slots }) {\n const { layoutClasses, layoutStyles, getLayoutItem, items, layoutRef } = createLayout(props)\n\n useRender(() => (\n <div ref={ layoutRef } class={ layoutClasses.value } style={ layoutStyles.value }>\n { slots.default?.() }\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n }\n },\n})\n\nexport type VLayout = InstanceType<typeof VLayout>\n","// Styles\nimport './VLayoutItem.sass'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VLayoutItem = defineComponent({\n name: 'VLayoutItem',\n\n props: {\n position: {\n type: String as PropType<'top' | 'right' | 'bottom' | 'left'>,\n required: true,\n },\n size: {\n type: [Number, String],\n default: 300,\n },\n modelValue: Boolean,\n ...makeLayoutItemProps(),\n },\n\n setup (props, { slots }) {\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n priority: computed(() => parseInt(props.priority, 10)),\n position: toRef(props, 'position'),\n elementSize: toRef(props, 'size'),\n layoutSize: toRef(props, 'size'),\n active: toRef(props, 'modelValue'),\n absolute: toRef(props, 'absolute'),\n })\n\n return () => (\n <div\n class={[\n 'v-layout-item',\n ]}\n style={ layoutItemStyles.value }\n >\n { slots.default?.() }\n </div>\n )\n },\n})\n","// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Utilities\nimport type { PropType } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VLazy = defineComponent({\n name: 'VLazy',\n\n directives: { intersect },\n\n props: {\n modelValue: Boolean,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n\n ...makeDimensionProps(),\n ...makeTagProps(),\n ...makeTransitionProps({ transition: 'fade-transition' }),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n const isActive = useProxiedModel(props, 'modelValue')\n\n function onIntersect (isIntersecting: boolean) {\n if (isActive.value) return\n\n isActive.value = isIntersecting\n }\n\n return () => (\n <props.tag\n class=\"v-lazy\"\n v-intersect={[\n onIntersect,\n props.options,\n isActive.value ? [] : ['once'],\n ]}\n style={ dimensionStyles.value }\n >\n { isActive.value && (\n <MaybeTransition transition={ props.transition }>\n { slots.default?.() }\n </MaybeTransition>\n )}\n </props.tag>\n )\n },\n})\n","import './VLocaleProvider.sass'\n\n// Composables\nimport { provideLocale } from '@/composables/locale'\nimport { provideRtl } from '@/composables/rtl'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VLocaleProvider = defineComponent({\n name: 'VLocaleProvider',\n\n props: {\n locale: String,\n fallbackLocale: String,\n messages: Object,\n rtl: {\n type: Boolean,\n default: undefined,\n },\n },\n\n setup (props, { slots }) {\n const localeInstance = provideLocale(props)\n const { rtlClasses } = provideRtl(props, localeInstance)\n\n return () => (\n <div\n class={[\n 'v-locale-provider',\n rtlClasses.value,\n ]}\n >\n { slots.default?.() }\n </div>\n )\n },\n})\n","// Utilities\nimport { computed, onMounted, ref } from 'vue'\n\n// Composables\nexport function useSsrBoot () {\n const isBooted = ref(false)\n\n onMounted(() => {\n window.requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n\n const ssrBootStyles = computed(() => !isBooted.value ? ({\n transition: 'none !important',\n }) : undefined)\n\n return { ssrBootStyles }\n}\n","// Styles\nimport './VMain.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useLayout } from '@/composables/layout'\nimport { useSsrBoot } from '@/composables/ssrBoot'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VMain = defineComponent({\n name: 'VMain',\n\n props: makeTagProps({ tag: 'main' }),\n\n setup (props, { slots }) {\n const { mainStyles } = useLayout()\n const { ssrBootStyles } = useSsrBoot()\n\n return () => (\n <props.tag\n class=\"v-main\"\n style={[\n mainStyles.value,\n ssrBootStyles.value,\n ]}\n >\n <div class=\"v-main__wrap\">\n { slots.default?.() }\n </div>\n </props.tag>\n )\n },\n})\n","import { CircularBuffer } from '@/util'\n\nconst HORIZON = 100 // ms\nconst HISTORY = 20 // number of samples to keep\n\nexport interface Sample {\n t: number\n d: number\n}\n\n/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */\nfunction kineticEnergyToVelocity (work: number) {\n const sqrt2 = 1.41421356237\n return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2\n}\n\n/**\n * Returns pointer velocity in px/s\n */\nexport function calculateImpulseVelocity (samples: Sample[]) {\n // The input should be in reversed time order (most recent sample at index i=0)\n if (samples.length < 2) {\n // if 0 or 1 points, velocity is zero\n return 0\n }\n // if (samples[1].t > samples[0].t) {\n // // Algorithm will still work, but not perfectly\n // consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')\n // }\n if (samples.length === 2) {\n // if 2 points, basic linear calculation\n if (samples[1].t === samples[0].t) {\n // consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)\n return 0\n }\n return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t)\n }\n // Guaranteed to have at least 3 points here\n // start with the oldest sample and go forward in time\n let work = 0\n for (let i = samples.length - 1; i > 0; i--) {\n if (samples[i].t === samples[i - 1].t) {\n // consoleWarn(`Events have identical time stamps t=${samples[i].t}, skipping sample`)\n continue\n }\n const vprev = kineticEnergyToVelocity(work) // v[i-1]\n const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t) // v[i]\n work += (vcurr - vprev) * Math.abs(vcurr)\n if (i === samples.length - 1) {\n work *= 0.5\n }\n }\n return kineticEnergyToVelocity(work) * 1000\n}\n\nexport function useVelocity () {\n const touches: Record<number, CircularBuffer<[number, Touch]> | undefined> = {}\n\n function addMovement (e: TouchEvent) {\n Array.from(e.changedTouches).forEach(touch => {\n const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY))\n samples.push([e.timeStamp, touch])\n })\n }\n\n function endTouch (e: TouchEvent) {\n Array.from(e.changedTouches).forEach(touch => {\n delete touches[touch.identifier]\n })\n }\n\n function getVelocity (id: number) {\n const samples = touches[id]?.values().reverse()\n\n if (!samples) {\n throw new Error(`No samples for touch id ${id}`)\n }\n\n const newest = samples[0]\n const x: Sample[] = []\n const y: Sample[] = []\n for (const val of samples) {\n if (newest[0] - val[0] > HORIZON) break\n\n x.push({ t: val[0], d: val[1].clientX })\n y.push({ t: val[0], d: val[1].clientY })\n }\n\n return {\n x: calculateImpulseVelocity(x),\n y: calculateImpulseVelocity(y),\n get direction () {\n const { x, y } = this\n const [absX, absY] = [Math.abs(x), Math.abs(y)]\n\n return absX > absY && x >= 0 ? 'right'\n : absX > absY && x <= 0 ? 'left'\n : absY > absX && y >= 0 ? 'down'\n : absY > absX && y <= 0 ? 'up'\n : oops()\n },\n }\n }\n\n return { addMovement, endTouch, getVelocity }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n","import { useVelocity } from '@/composables/touch'\nimport { computed, onBeforeUnmount, onMounted, ref } from 'vue'\nimport type { Ref } from 'vue'\n\nexport function useTouch ({ isActive, isTemporary, width, touchless, position }: {\n isActive: Ref<boolean>\n isTemporary: Ref<boolean>\n width: Ref<number>\n touchless: Ref<boolean>\n position: Ref<'left' | 'right' | 'bottom'>\n}) {\n onMounted(() => {\n window.addEventListener('touchstart', onTouchstart, { passive: true })\n window.addEventListener('touchmove', onTouchmove, { passive: false })\n window.addEventListener('touchend', onTouchend, { passive: true })\n })\n\n onBeforeUnmount(() => {\n window.removeEventListener('touchstart', onTouchstart)\n window.removeEventListener('touchmove', onTouchmove)\n window.removeEventListener('touchend', onTouchend)\n })\n\n const isHorizontal = computed(() => position.value !== 'bottom')\n\n const { addMovement, endTouch, getVelocity } = useVelocity()\n let maybeDragging = false\n const isDragging = ref(false)\n const dragProgress = ref(0)\n const offset = ref(0)\n let start: [number, number] | undefined\n\n function getOffset (pos: number, active: boolean): number {\n return (\n position.value === 'left' ? pos\n : position.value === 'right' ? document.documentElement.clientWidth - pos\n : position.value === 'bottom' ? document.documentElement.clientHeight - pos\n : oops()\n ) - (active ? width.value : 0)\n }\n\n function getProgress (pos: number, limit = true): number {\n const progress = (\n position.value === 'left' ? (pos - offset.value) / width.value\n : position.value === 'right' ? (document.documentElement.clientWidth - pos - offset.value) / width.value\n : position.value === 'bottom' ? (document.documentElement.clientHeight - pos - offset.value) / width.value\n : oops()\n )\n return limit ? Math.max(0, Math.min(1, progress)) : progress\n }\n\n function onTouchstart (e: TouchEvent) {\n if (touchless.value) return\n\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n const touchZone = 25\n const inTouchZone: boolean =\n position.value === 'left' ? touchX < touchZone\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone\n : oops()\n\n const inElement: boolean = isActive.value && (\n position.value === 'left' ? touchX < width.value\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - width.value\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - width.value\n : oops()\n )\n\n if (\n inTouchZone ||\n inElement ||\n (isActive.value && isTemporary.value)\n ) {\n maybeDragging = true\n start = [touchX, touchY]\n\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, isActive.value)\n dragProgress.value = getProgress(isHorizontal.value ? touchX : touchY)\n\n endTouch(e)\n addMovement(e)\n }\n }\n\n function onTouchmove (e: TouchEvent) {\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n if (maybeDragging) {\n if (!e.cancelable) {\n maybeDragging = false\n return\n }\n\n const dx = Math.abs(touchX - start![0])\n const dy = Math.abs(touchY - start![1])\n\n const thresholdMet = isHorizontal.value\n ? dx > dy && dx > 3\n : dy > dx && dy > 3\n\n if (thresholdMet) {\n isDragging.value = true\n maybeDragging = false\n } else if ((isHorizontal.value ? dy : dx) > 3) {\n maybeDragging = false\n }\n }\n\n if (!isDragging.value) return\n\n e.preventDefault()\n addMovement(e)\n\n const progress = getProgress(isHorizontal.value ? touchX : touchY, false)\n dragProgress.value = Math.max(0, Math.min(1, progress))\n\n if (progress > 1) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, true)\n } else if (progress < 0) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, false)\n }\n }\n\n function onTouchend (e: TouchEvent) {\n maybeDragging = false\n\n if (!isDragging.value) return\n\n addMovement(e)\n\n isDragging.value = false\n\n const velocity = getVelocity(e.changedTouches[0].identifier)\n const vx = Math.abs(velocity.x)\n const vy = Math.abs(velocity.y)\n const thresholdMet = isHorizontal.value\n ? vx > vy && vx > 400\n : vy > vx && vy > 3\n\n if (thresholdMet) {\n isActive.value = velocity.direction === ({\n left: 'right',\n right: 'left',\n bottom: 'up',\n }[position.value] || oops())\n } else {\n isActive.value = dragProgress.value > 0.5\n }\n }\n\n const dragStyles = computed(() => {\n return isDragging.value ? {\n transform:\n position.value === 'left' ? `translateX(calc(-100% + ${dragProgress.value * width.value}px))`\n : position.value === 'right' ? `translateX(calc(100% - ${dragProgress.value * width.value}px))`\n : position.value === 'bottom' ? `translateY(calc(100% - ${dragProgress.value * width.value}px))`\n : oops(),\n transition: 'none',\n } : undefined\n })\n\n return {\n isDragging,\n dragProgress,\n dragStyles,\n }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n","// Styles\nimport './VNavigationDrawer.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useDisplay } from '@/composables/display'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRouter } from '@/composables/router'\nimport { useTouch } from './touch'\n\n// Utilities\nimport { computed, onBeforeMount, ref, toRef, Transition, watch } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VNavigationDrawer = defineComponent({\n name: 'VNavigationDrawer',\n\n props: {\n color: String,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n modelValue: {\n type: Boolean,\n default: null,\n },\n permanent: Boolean,\n rail: Boolean,\n railWidth: {\n type: [Number, String],\n default: 72,\n },\n image: String,\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n position: {\n type: String as PropType<'left' | 'right' | 'bottom'>,\n default: 'left',\n validator: (value: any) => ['left', 'right', 'bottom'].includes(value),\n },\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { elevationClasses } = useElevation(props)\n const { mobile } = useDisplay()\n const { roundedClasses } = useRounded(props)\n const router = useRouter()\n const isActive = useProxiedModel(props, 'modelValue')\n const isHovering = ref(false)\n const width = computed(() => {\n return (props.rail && props.expandOnHover && isHovering.value)\n ? Number(props.width)\n : Number(props.rail ? props.railWidth : props.width)\n })\n const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary))\n\n if (!props.disableResizeWatcher) {\n watch(isTemporary, val => !props.permanent && (isActive.value = !val))\n }\n\n if (!props.disableRouteWatcher && router) {\n watch(router.currentRoute, () => isTemporary.value && (isActive.value = false))\n }\n\n watch(() => props.permanent, val => {\n if (val) isActive.value = true\n })\n\n onBeforeMount(() => {\n if (props.modelValue != null || isTemporary.value) return\n\n isActive.value = props.permanent || !mobile.value\n })\n\n const rootEl = ref<HTMLElement>()\n\n const { isDragging, dragProgress, dragStyles } = useTouch({\n isActive,\n isTemporary,\n width,\n touchless: toRef(props, 'touchless'),\n position: toRef(props, 'position'),\n })\n\n const layoutSize = computed(() => {\n const size = isTemporary.value ? 0\n : props.rail && props.expandOnHover ? Number(props.railWidth)\n : width.value\n\n return isDragging.value ? size * dragProgress.value : size\n })\n const { layoutItemStyles, layoutRect, layoutItemScrimStyles } = useLayoutItem({\n id: props.name,\n priority: computed(() => parseInt(props.priority, 10)),\n position: toRef(props, 'position'),\n layoutSize,\n elementSize: width,\n active: computed(() => isActive.value || isDragging.value),\n disableTransitions: computed(() => isDragging.value),\n absolute: toRef(props, 'absolute'),\n })\n\n const scrimStyles = computed(() => ({\n ...isDragging.value ? {\n opacity: dragProgress.value * 0.2,\n transition: 'none',\n } : undefined,\n ...layoutRect.value ? {\n left: convertToUnit(layoutRect.value.left),\n right: convertToUnit(layoutRect.value.right),\n top: convertToUnit(layoutRect.value.top),\n bottom: convertToUnit(layoutRect.value.bottom),\n } : undefined,\n ...layoutItemScrimStyles.value,\n }))\n\n return () => {\n const hasImage = (slots.image || props.image)\n\n return (\n <>\n <props.tag\n ref={ rootEl }\n onMouseenter={ () => (isHovering.value = true) }\n onMouseleave={ () => (isHovering.value = false) }\n class={[\n 'v-navigation-drawer',\n {\n 'v-navigation-drawer--bottom': props.position === 'bottom',\n 'v-navigation-drawer--end': props.position === 'right',\n 'v-navigation-drawer--expand-on-hover': props.expandOnHover,\n 'v-navigation-drawer--floating': props.floating,\n 'v-navigation-drawer--is-hovering': isHovering.value,\n 'v-navigation-drawer--rail': props.rail,\n 'v-navigation-drawer--start': props.position === 'left',\n 'v-navigation-drawer--temporary': isTemporary.value,\n 'v-navigation-drawer--active': isActive.value,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n dragStyles.value,\n ]}\n { ...attrs }\n >\n { hasImage && (\n <div class=\"v-navigation-drawer__img\">\n { slots.image\n ? slots.image?.({ image: props.image })\n : (<img src={ props.image } alt=\"\" />)\n }\n </div>\n )}\n\n { slots.prepend && (\n <div class=\"v-navigation-drawer__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n <div class=\"v-navigation-drawer__content\">\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div class=\"v-navigation-drawer__append\">\n { slots.append?.() }\n </div>\n )}\n </props.tag>\n\n <Transition name=\"fade-transition\">\n { isTemporary.value && (isDragging.value || isActive.value) && (\n <div\n class=\"v-navigation-drawer__scrim\"\n style={ scrimStyles.value }\n onClick={ () => isActive.value = false }\n />\n )}\n </Transition>\n </>\n )\n }\n },\n})\n\nexport type VNavigationDrawer = InstanceType<typeof VNavigationDrawer>\n","// Utilities\nimport { getCurrentInstance, IN_BROWSER } from '@/util'\nimport { onMounted } from 'vue'\n\nexport function useHydration (callback: () => void) {\n if (!IN_BROWSER) return\n\n const vm = getCurrentInstance('useHydration')\n const rootEl = vm?.root?.appContext?.app?._container\n\n return rootEl?.__vue_app__ ? callback() : onMounted(callback)\n}\n","// Composables\nimport { useHydration } from '@/composables/hydration'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { ref } from 'vue'\n\nexport const VNoSsr = defineComponent({\n name: 'VNoSsr',\n\n setup (_, { slots }) {\n const show = ref(false)\n\n useHydration(() => (show.value = true))\n\n return () => show.value && slots.default?.()\n },\n\n})\n","// Imports\nimport { onBeforeUpdate, ref } from 'vue'\nimport type { Ref } from 'vue'\n\nexport function useRefs <T extends {}> () {\n const refs = ref<(T | undefined)[]>([]) as Ref<(T | undefined)[]>\n\n onBeforeUpdate(() => (refs.value = []))\n\n function updateRef (e: any, i: number) {\n refs.value[i] = e\n }\n\n return { refs, updateRef }\n}\n","import './VPagination.sass'\n\n// Components\nimport { VBtn } from '../VBtn'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useLocale } from '@/composables/locale'\nimport { useRtl } from '@/composables/rtl'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeDensityProps } from '@/composables/density'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeBorderProps } from '@/composables/border'\nimport { useRefs } from '@/composables/refs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, nextTick, ref, toRef } from 'vue'\nimport { createRange, defineComponent, keyValues } from '@/util'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\nimport { makeRoundedProps } from '@/composables/rounded'\n\nexport const VPagination = defineComponent({\n name: 'VPagination',\n\n props: {\n start: {\n type: [Number, String],\n default: 1,\n },\n modelValue: {\n type: Number,\n default: (props: any) => props.start,\n },\n disabled: Boolean,\n length: {\n type: [Number, String],\n default: 1,\n validator: (val: number) => val % 1 === 0,\n },\n totalVisible: [Number, String],\n firstIcon: {\n type: String,\n default: '$first',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n ariaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.root',\n },\n pageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.page',\n },\n currentPageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.currentPage',\n },\n firstAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.first',\n },\n previousAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.previous',\n },\n nextAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.next',\n },\n lastAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.last',\n },\n ellipsis: {\n type: String,\n default: '...',\n },\n showFirstLastPage: Boolean,\n\n ...makeRoundedProps(),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n first: (value: number) => true,\n prev: (value: number) => true,\n next: (value: number) => true,\n last: (value: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const page = useProxiedModel(props, 'modelValue')\n const { t, n } = useLocale()\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const maxButtons = ref(-1)\n\n provideDefaults(undefined, { scoped: true })\n\n const { resizeRef } = useResizeObserver((entries: ResizeObserverEntry[]) => {\n if (!entries.length) return\n\n const { target, contentRect } = entries[0]\n\n const firstItem = target.querySelector('.v-pagination__list > *')\n\n if (!firstItem) return\n\n const totalWidth = contentRect.width\n const itemWidth = firstItem.getBoundingClientRect().width + 10\n\n maxButtons.value = Math.max(0, Math.floor((totalWidth - 96) / itemWidth))\n })\n\n const length = computed(() => parseInt(props.length, 10))\n const start = computed(() => parseInt(props.start, 10))\n\n const totalVisible = computed(() => {\n if (props.totalVisible) return Math.min(parseInt(props.totalVisible ?? '', 10), length.value)\n else if (maxButtons.value >= 0) return maxButtons.value\n return length.value\n })\n\n const range = computed(() => {\n if (length.value <= 0) return []\n\n if (totalVisible.value <= 3) {\n return [Math.min(Math.max(start.value, page.value), start.value + length.value)]\n }\n\n if (props.length <= totalVisible.value) {\n return createRange(length.value, start.value)\n }\n\n const middle = Math.ceil(totalVisible.value / 2)\n const left = middle\n const right = length.value - middle\n\n if (page.value < left) {\n return [...createRange(Math.max(1, totalVisible.value - 2), start.value), props.ellipsis, length.value]\n } else if (page.value > right) {\n const rangeLength = totalVisible.value - 2\n const rangeStart = length.value - rangeLength + start.value\n return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart)]\n } else {\n const rangeLength = Math.max(1, totalVisible.value - 4)\n const rangeStart = rangeLength === 1 ? page.value : page.value - Math.ceil(rangeLength / 2) + start.value\n return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart), props.ellipsis, length.value]\n }\n })\n\n // TODO: 'first' | 'prev' | 'next' | 'last' does not work here?\n function setValue (e: Event, value: number, event?: any) {\n e.preventDefault()\n page.value = value\n event && emit(event, value)\n }\n\n const { refs, updateRef } = useRefs<ComponentPublicInstance>()\n\n provideDefaults({\n VBtn: {\n border: toRef(props, 'border'),\n density: toRef(props, 'density'),\n size: toRef(props, 'size'),\n variant: toRef(props, 'variant'),\n },\n })\n\n const items = computed(() => {\n return range.value.map((item, index) => {\n const ref = (e: any) => updateRef(e, index)\n\n if (typeof item === 'string') {\n return {\n isActive: false,\n page: item,\n props: {\n ref,\n ellipsis: true,\n icon: true,\n disabled: true,\n },\n }\n } else {\n const isActive = item === page.value\n return {\n isActive,\n page: n(item),\n props: {\n ref,\n ellipsis: false,\n icon: true,\n disabled: !!props.disabled || props.length < 2,\n elevation: props.elevation,\n rounded: props.rounded,\n color: isActive ? props.color : undefined,\n ariaCurrent: isActive,\n ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, index + 1),\n onClick: (e: Event) => setValue(e, item),\n },\n }\n }\n })\n })\n\n const controls = computed(() => {\n const prevDisabled = !!props.disabled || page.value <= start.value\n const nextDisabled = !!props.disabled || page.value >= start.value + length.value - 1\n\n return {\n first: props.showFirstLastPage ? {\n icon: isRtl.value ? props.lastIcon : props.firstIcon,\n onClick: (e: Event) => setValue(e, start.value, 'first'),\n disabled: prevDisabled,\n ariaLabel: t(props.firstAriaLabel),\n ariaDisabled: prevDisabled,\n } : undefined,\n prev: {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n onClick: (e: Event) => setValue(e, page.value - 1, 'prev'),\n disabled: prevDisabled,\n ariaLabel: t(props.previousAriaLabel),\n ariaDisabled: prevDisabled,\n },\n next: {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n onClick: (e: Event) => setValue(e, page.value + 1, 'next'),\n disabled: nextDisabled,\n ariaLabel: t(props.nextAriaLabel),\n ariaDisabled: nextDisabled,\n },\n last: props.showFirstLastPage ? {\n icon: isRtl.value ? props.firstIcon : props.lastIcon,\n onClick: (e: Event) => setValue(e, start.value + length.value - 1, 'last'),\n disabled: nextDisabled,\n ariaLabel: t(props.lastAriaLabel),\n ariaDisabled: nextDisabled,\n } : undefined,\n }\n })\n\n function updateFocus () {\n const currentIndex = page.value - start.value\n refs.value[currentIndex]?.$el.focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === keyValues.left && !props.disabled && page.value > props.start) {\n page.value = page.value - 1\n nextTick(updateFocus)\n } else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {\n page.value = page.value + 1\n nextTick(updateFocus)\n }\n }\n\n return () => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-pagination',\n themeClasses.value,\n ]}\n role=\"navigation\"\n aria-label={ t(props.ariaLabel) }\n onKeydown={ onKeydown }\n data-test=\"v-pagination-root\"\n >\n <ul class=\"v-pagination__list\">\n { props.showFirstLastPage && (\n <li class=\"v-pagination__first\" data-test=\"v-pagination-first\">\n { slots.first ? slots.first(controls.value.first) : (\n <VBtn {...controls.value.first} />\n ) }\n </li>\n ) }\n\n <li class=\"v-pagination__prev\" data-test=\"v-pagination-prev\">\n { slots.prev ? slots.prev(controls.value.prev) : (\n <VBtn {...controls.value.prev} />\n ) }\n </li>\n\n { items.value.map((item, index) => (\n <li\n key={ `${index}_${item.page}` }\n class={[\n 'v-pagination__item',\n {\n 'v-pagination__item--is-active': item.isActive,\n },\n ]}\n data-test=\"v-pagination-item\"\n >\n { slots.item ? slots.item(item) : (\n <VBtn {...item.props}>{ item.page }</VBtn>\n ) }\n </li>\n )) }\n\n <li class=\"v-pagination__next\" data-test=\"v-pagination-next\">\n { slots.next ? slots.next(controls.value.next) : (\n <VBtn {...controls.value.next} />\n ) }\n </li>\n\n { props.showFirstLastPage && (\n <li class=\"v-pagination__last\" data-test=\"v-pagination-last\">\n { slots.last ? slots.last(controls.value.last) : (\n <VBtn {...controls.value.last} />\n ) }\n </li>\n ) }\n </ul>\n </props.tag>\n )\n },\n})\n\nexport type VPagination = InstanceType<typeof VPagination>\n","// Styles\nimport './VParallax.sass'\n\n// Components\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\n\n// Utilities\nimport { onBeforeUnmount, ref, watch, watchEffect } from 'vue'\nimport { defineComponent, getScrollParent } from '@/util'\n\nfunction floor (val: number) {\n return Math.floor(Math.abs(val)) * Math.sign(val)\n}\n\nexport const VParallax = defineComponent({\n name: 'VParallax',\n\n props: {\n scale: {\n type: [Number, String],\n default: 1.3,\n },\n },\n\n setup (props, { attrs, slots }) {\n const root = ref<VImg>()\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n watchEffect(() => {\n intersectionRef.value = root.value?.$el\n })\n\n let scrollParent: Element\n watch(isIntersecting, val => {\n if (val) {\n scrollParent = getScrollParent(intersectionRef.value)\n scrollParent = scrollParent === document.scrollingElement ? document as any : scrollParent\n scrollParent.addEventListener('scroll', onScroll, { passive: true })\n onScroll()\n } else {\n scrollParent.removeEventListener('scroll', onScroll)\n }\n })\n\n onBeforeUnmount(() => {\n scrollParent?.removeEventListener('scroll', onScroll)\n })\n\n let frame = -1\n function onScroll () {\n if (!isIntersecting.value) return\n\n cancelAnimationFrame(frame)\n frame = requestAnimationFrame(() => {\n const el: HTMLElement | null = (root.value?.$el as Element).querySelector('.v-img__img')\n if (!el) return\n\n const rect = intersectionRef.value!.getBoundingClientRect()\n const scrollHeight = scrollParent.clientHeight ?? window.innerHeight\n const scrollPos = scrollParent.scrollTop ?? window.scrollY\n const top = rect.top + scrollPos\n const progress = (scrollPos + scrollHeight - top) / (rect.height + scrollHeight)\n const translate = floor((rect.height * +props.scale - rect.height) * (-progress + 0.5))\n\n el.style.setProperty('transform', `translateY(${translate}px) scale(${props.scale})`)\n })\n }\n\n return () => (\n <VImg\n class={[\n 'v-parallax',\n { 'v-parallax--active': isIntersecting.value },\n ]}\n ref={ root }\n cover\n onLoadstart={ onScroll }\n onLoad={ onScroll }\n v-slots={ slots }\n />\n )\n },\n})\n\nexport type VParallax = InstanceType<typeof VParallax>\n","// Styles\nimport './VProgressCircular.sass'\n\n// Composables\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useTextColor } from '@/composables/color'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, ref, toRef, watchEffect } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VProgressCircular = defineComponent({\n name: 'VProgressCircular',\n\n props: {\n bgColor: String,\n color: String,\n indeterminate: [Boolean, String] as PropType<boolean | 'disable-shrink'>,\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n rotate: {\n type: [Number, String],\n default: 0,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'div' }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const MAGIC_RADIUS_CONSTANT = 20\n const CIRCUMFERENCE = 2 * Math.PI * MAGIC_RADIUS_CONSTANT\n\n const root = ref<HTMLElement>()\n\n const { themeClasses } = provideTheme(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const { textColorClasses: underlayColorClasses, textColorStyles: underlayColorStyles } = useTextColor(toRef(props, 'bgColor'))\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n const { resizeRef, contentRect } = useResizeObserver()\n\n const normalizedValue = computed(() => Math.max(0, Math.min(100, parseFloat(props.modelValue))))\n const width = computed(() => Number(props.width))\n const size = computed(() => {\n // Get size from element if size prop value is small, large etc\n return sizeStyles.value\n ? Number(props.size)\n : contentRect.value\n ? contentRect.value.width\n : Math.max(width.value, 32)\n })\n const diameter = computed(() => (MAGIC_RADIUS_CONSTANT / (1 - width.value / size.value)) * 2)\n const strokeWidth = computed(() => width.value / size.value * diameter.value)\n const strokeDashOffset = computed(() => convertToUnit(((100 - normalizedValue.value) / 100) * CIRCUMFERENCE))\n\n watchEffect(() => {\n intersectionRef.value = root.value\n resizeRef.value = root.value\n })\n\n return () => (\n <props.tag\n ref={ root }\n class={[\n 'v-progress-circular',\n {\n 'v-progress-circular--indeterminate': !!props.indeterminate,\n 'v-progress-circular--visible': isIntersecting.value,\n 'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink',\n },\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n ]}\n style={[\n sizeStyles.value,\n textColorStyles.value,\n ]}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow={ props.indeterminate ? undefined : normalizedValue.value }\n >\n <svg\n style={{\n transform: `rotate(calc(-90deg + ${Number(props.rotate)}deg))`,\n }}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={ `0 0 ${diameter.value} ${diameter.value}` }\n >\n <circle\n class={[\n 'v-progress-circular__underlay',\n underlayColorClasses.value,\n ]}\n style={ underlayColorStyles.value }\n fill=\"transparent\"\n cx=\"50%\"\n cy=\"50%\"\n r={ MAGIC_RADIUS_CONSTANT }\n stroke-width={ strokeWidth.value }\n stroke-dasharray={ CIRCUMFERENCE }\n stroke-dashoffset={ 0 }\n />\n\n <circle\n class=\"v-progress-circular__overlay\"\n fill=\"transparent\"\n cx=\"50%\"\n cy=\"50%\"\n r={ MAGIC_RADIUS_CONSTANT }\n stroke-width={ strokeWidth.value }\n stroke-dasharray={ CIRCUMFERENCE }\n stroke-dashoffset={ strokeDashOffset.value }\n />\n </svg>\n { slots.default && (\n <div class=\"v-progress-circular__content\">\n { slots.default({ value: normalizedValue.value }) }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","// Components\nimport { VSelectionControl } from '@/components/VSelectionControl'\n\n// Utility\nimport { defineComponent } from 'vue'\nimport { useRender } from '@/util'\n\nexport const VRadio = defineComponent({\n name: 'VRadio',\n\n props: {\n falseIcon: {\n type: String,\n default: '$radioOff',\n },\n trueIcon: {\n type: String,\n default: '$radioOn',\n },\n },\n\n setup (props, { slots }) {\n useRender(() => (\n <VSelectionControl\n class=\"v-radio\"\n trueIcon={ props.trueIcon }\n falseIcon={ props.falseIcon }\n type=\"radio\"\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VRadio = InstanceType<typeof VRadio>\n","// Styles\nimport './VRadioGroup.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\nimport { VSelectionControlGroup } from '@/components/VSelectionControlGroup'\nimport { filterControlProps, makeSelectionControlProps } from '@/components/VSelectionControl/VSelectionControl'\n\n// Utility\nimport { computed, defineComponent } from 'vue'\nimport { filterInputAttrs, getUid, useRender } from '@/util'\n\nexport const VRadioGroup = defineComponent({\n name: 'VRadioGroup',\n\n inheritAttrs: false,\n\n props: {\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n\n trueIcon: {\n type: String,\n default: '$radioOn',\n },\n falseIcon: {\n type: String,\n default: '$radioOff',\n },\n type: {\n type: String,\n default: 'radio',\n },\n },\n\n setup (props, { attrs, slots }) {\n const uid = getUid()\n const id = computed(() => props.id || `radio-group-${uid}`)\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <VInput\n class=\"v-radio-group\"\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n }) => (\n <>\n { label && (\n <VLabel for={ id.value }>\n { label }\n </VLabel>\n ) }\n\n <VSelectionControlGroup\n { ...controlProps }\n id={ id.value }\n trueIcon={ props.trueIcon }\n falseIcon={ props.falseIcon }\n type={ props.type }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n v-slots={ slots }\n />\n </>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n","// Components\nimport { VInput } from '../VInput'\nimport { VSliderThumb } from '../VSlider/VSliderThumb'\nimport { VSliderTrack } from '../VSlider/VSliderTrack'\n\n// Composables\nimport { getOffset, makeSliderProps, useSlider } from '../VSlider/slider'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, defineComponent, ref } from 'vue'\n\n// Types\nimport type { PropType, WritableComputedRef } from 'vue'\nimport { filterInputProps, makeVInputProps } from '../VInput/VInput'\n\nexport const VRangeSlider = defineComponent({\n name: 'VRangeSlider',\n\n props: {\n ...makeFocusProps(),\n ...makeVInputProps(),\n ...makeSliderProps(),\n\n strict: Boolean,\n modelValue: {\n type: Array as PropType<number[]>,\n default: () => ([0, 0]),\n },\n },\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (value: [number, number]) => true,\n },\n\n setup (props, { slots, attrs }) {\n const startThumbRef = ref<VSliderThumb>()\n const stopThumbRef = ref<VSliderThumb>()\n const inputRef = ref<VInput>()\n\n function getActiveThumb (e: MouseEvent | TouchEvent) {\n if (!startThumbRef.value || !stopThumbRef.value) return\n\n const startOffset = getOffset(e, startThumbRef.value.$el, props.direction)\n const stopOffset = getOffset(e, stopThumbRef.value.$el, props.direction)\n\n const a = Math.abs(startOffset)\n const b = Math.abs(stopOffset)\n\n return (a < b || (a === b && startOffset < 0)) ? startThumbRef.value.$el : stopThumbRef.value.$el\n }\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n activeThumbRef,\n } = useSlider({\n /* eslint-disable @typescript-eslint/no-use-before-define */\n props,\n handleSliderMouseUp: newValue => {\n model.value = activeThumbRef.value === startThumbRef.value?.$el ? [newValue, model.value[1]] : [model.value[0], newValue]\n },\n handleMouseMove: newValue => {\n const [start, stop] = model.value\n\n if (!props.strict && start === stop && start !== min.value) {\n activeThumbRef.value = newValue > start ? stopThumbRef.value?.$el : startThumbRef.value?.$el\n activeThumbRef.value?.focus()\n }\n\n if (activeThumbRef.value === startThumbRef.value?.$el) {\n model.value = [Math.min(newValue, stop), stop]\n } else {\n model.value = [start, Math.max(start, newValue)]\n }\n },\n getActiveThumb,\n /* eslint-enable @typescript-eslint/no-use-before-define */\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n arr => {\n if (!arr || !arr.length) return [0, 0]\n\n return arr.map(value => roundValue(value))\n },\n ) as WritableComputedRef<[number, number]>\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStart = computed(() => position(model.value[0]))\n const trackStop = computed(() => position(model.value[1]))\n\n return () => {\n const [inputProps, _] = filterInputProps(props)\n\n return (\n <VInput\n class={[\n 'v-slider',\n 'v-range-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n ref={ inputRef }\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({ id }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ onSliderMousedown }\n onTouchstartPassive={ onSliderTouchstart }\n >\n <input\n id={ `${id.value}_start` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[0] }\n />\n\n <input\n id={ `${id.value}_stop` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[1] }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ trackStart.value }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ startThumbRef }\n focused={ isFocused && activeThumbRef.value === startThumbRef.value?.$el }\n modelValue={ model.value[0] }\n onUpdate:modelValue={ v => (model.value = [v, model.value[1]]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n activeThumbRef.value = startThumbRef.value?.$el\n\n // Make sure second thumb is focused if\n // the thumbs are on top of each other\n // and they are both at minimum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[1] === min.value &&\n e.relatedTarget !== stopThumbRef.value?.$el\n ) {\n startThumbRef.value?.$el.blur()\n stopThumbRef.value?.$el.focus()\n }\n } }\n onBlur={ () => {\n blur()\n activeThumbRef.value = undefined\n } }\n min={ min.value }\n max={ model.value[1] }\n position={ trackStart.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n\n <VSliderThumb\n ref={ stopThumbRef }\n focused={ isFocused && activeThumbRef.value === stopThumbRef.value?.$el }\n modelValue={ model.value[1] }\n onUpdate:modelValue={ v => (model.value = [model.value[0], v]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n activeThumbRef.value = stopThumbRef.value?.$el\n\n // Make sure first thumb is focused if\n // the thumbs are on top of each other\n // and they are both at maximum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[0] === max.value &&\n e.relatedTarget !== startThumbRef.value?.$el\n ) {\n stopThumbRef.value?.$el.blur()\n startThumbRef.value?.$el.focus()\n }\n } }\n onBlur={ () => {\n blur()\n activeThumbRef.value = undefined\n } }\n min={ model.value[0] }\n max={ max.value }\n position={ trackStop.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n }\n },\n})\n\nexport type VRangeSlider = InstanceType<typeof VRangeSlider>\n","// Styles\nimport './VRating.sass'\n\n// Components\nimport { VBtn } from '../VBtn'\n\n// Composables\nimport { makeDensityProps } from '@/composables/density'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { createRange, genericComponent, getUid } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { Variant } from '@/composables/variant'\n\ntype VRatingItemSlot = {\n value: number\n index: number\n isFilled: boolean\n isHovered: boolean\n icon: string\n color?: string\n props: Record<string, unknown>\n}\n\ntype VRatingItemLabelSlot = {\n value: number\n index: number\n label?: string\n}\n\nexport const VRating = genericComponent<new <T>() => {\n $slots: MakeSlots<{\n item: [VRatingItemSlot]\n 'item-label': [VRatingItemLabelSlot]\n }>\n}>()({\n name: 'VRating',\n\n props: {\n name: String,\n itemAriaLabel: {\n type: String,\n default: '$vuetify.rating.ariaLabel.item',\n },\n activeColor: String,\n color: String,\n clearable: Boolean,\n disabled: Boolean,\n emptyIcon: {\n type: String,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: String,\n default: '$ratingFull',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n modelValue: {\n type: Number,\n default: 0,\n },\n itemLabels: Array as Prop<string[]>,\n itemLabelPosition: {\n type: String,\n default: 'top',\n validator: (v: any) => ['top', 'bottom'].includes(v),\n },\n ripple: Boolean,\n\n ...makeDensityProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { themeClasses } = provideTheme(props)\n const rating = useProxiedModel(props, 'modelValue')\n\n const range = computed(() => createRange(Number(props.length), 1))\n const increments = computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]))\n const hoverIndex = ref(-1)\n const focusIndex = ref(-1)\n const firstRef = ref<HTMLElement>()\n let isClicking = false\n\n const itemState = computed(() => increments.value.map(value => {\n const isHovering = props.hover && hoverIndex.value > -1\n const isFilled = rating.value >= value\n const isHovered = hoverIndex.value >= value\n const isFullIcon = isHovering ? isHovered : isFilled\n const icon = isFullIcon ? props.fullIcon : props.emptyIcon\n const activeColor = props.activeColor ?? props.color\n const color = (isFilled || isHovered) ? activeColor : props.color\n\n return { isFilled, isHovered, icon, color }\n }))\n\n const eventState = computed(() => [0, ...increments.value].map(value => {\n function onMouseenter () {\n hoverIndex.value = value\n }\n\n function onMouseleave () {\n hoverIndex.value = -1\n }\n\n function onFocus () {\n if (value === 0 && rating.value === 0) {\n firstRef.value?.focus()\n } else {\n focusIndex.value = value\n }\n }\n\n function onBlur () {\n if (!isClicking) focusIndex.value = -1\n }\n\n function onClick () {\n if (props.disabled || props.readonly) return\n rating.value = rating.value === value && props.clearable ? 0 : value\n }\n\n return {\n onMouseenter: props.hover ? onMouseenter : undefined,\n onMouseleave: props.hover ? onMouseleave : undefined,\n onFocus,\n onBlur,\n onClick,\n }\n }))\n\n function onMousedown () {\n isClicking = true\n }\n\n function onMouseup () {\n isClicking = false\n }\n\n const name = computed(() => props.name ?? `v-rating-${getUid()}`)\n\n function VRatingItem ({ value, index, showStar = true }: { value: number, index: number, showStar?: boolean }) {\n const { onMouseenter, onMouseleave, onFocus, onBlur, onClick } = eventState.value[index + 1]\n const id = `${name.value}-${String(value).replace('.', '-')}`\n const btnProps = {\n color: itemState.value[index]?.color,\n density: props.density,\n disabled: props.disabled,\n icon: itemState.value[index]?.icon,\n ripple: props.ripple,\n size: props.size,\n tag: 'span',\n variant: 'plain' as Variant,\n }\n\n return (\n <>\n <label\n for={ id }\n class={{\n 'v-rating__item--half': props.halfIncrements && value % 1 > 0,\n 'v-rating__item--full': props.halfIncrements && value % 1 === 0,\n }}\n onMousedown={ onMousedown }\n onMouseup={ onMouseup }\n onMouseenter={ onMouseenter }\n onMouseleave={ onMouseleave }\n >\n <span class=\"v-rating__hidden\">{ t(props.itemAriaLabel, value, props.length) }</span>\n {\n !showStar ? undefined\n : slots.item ? slots.item({\n ...itemState.value[index],\n props: btnProps,\n value,\n index,\n })\n : (\n <VBtn { ...btnProps } />\n )\n }\n </label>\n <input\n class=\"v-rating__hidden\"\n name={ name.value }\n id={ id }\n type=\"radio\"\n value={ value }\n checked={ rating.value === value }\n onClick={ onClick }\n onFocus={ onFocus }\n onBlur={ onBlur }\n ref={ index === 0 ? firstRef : undefined }\n readonly={ props.readonly }\n disabled={ props.disabled }\n />\n </>\n )\n }\n\n return () => {\n const hasLabels = !!props.itemLabels?.length || slots['item-label']\n\n return (\n <props.tag\n class={[\n 'v-rating',\n {\n 'v-rating--hover': props.hover,\n 'v-rating--readonly': props.readonly,\n },\n themeClasses.value,\n ]}\n >\n <VRatingItem value={ 0 } index={ -1 } showStar={ false } />\n\n { range.value.map((value, i) => (\n <div class=\"v-rating__wrapper\">\n {\n !hasLabels ? undefined\n : slots['item-label'] ? slots['item-label']({ value, index: i, label: props.itemLabels?.[i] })\n : props.itemLabels?.[i] ? <span>{ props.itemLabels[i] }</span>\n : <span>&nbsp;</span>\n }\n <div\n class={[\n 'v-rating__item',\n {\n 'v-rating__item--focused': Math.ceil(focusIndex.value) === value,\n },\n ]}\n >\n { props.halfIncrements ? (\n <>\n <VRatingItem value={ value - 0.5 } index={ i * 2 } />\n <VRatingItem value={ value } index={ (i * 2) + 1 } />\n </>\n ) : (\n <VRatingItem value={ value } index={ i } />\n ) }\n </div>\n </div>\n )) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VRating = InstanceType<typeof VRating>\n","export function bias (val: number) {\n const c = 0.501\n const x = Math.abs(val)\n return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1))\n}\n\nexport function calculateUpdatedOffset ({\n selectedElement,\n containerSize,\n contentSize,\n isRtl,\n currentScrollOffset,\n isHorizontal,\n}: {\n selectedElement: HTMLElement\n containerSize: number\n contentSize: number\n isRtl: boolean\n currentScrollOffset: number\n isHorizontal: boolean\n}): number {\n const clientSize = isHorizontal ? selectedElement.clientWidth : selectedElement.clientHeight\n const offsetStart = isHorizontal ? selectedElement.offsetLeft : selectedElement.offsetTop\n const adjustedOffsetStart = isRtl ? (contentSize - offsetStart - clientSize) : offsetStart\n\n if (isRtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalSize = containerSize + currentScrollOffset\n const itemOffset = clientSize + adjustedOffsetStart\n const additionalOffset = clientSize * 0.4\n\n if (adjustedOffsetStart <= currentScrollOffset) {\n currentScrollOffset = Math.max(adjustedOffsetStart - additionalOffset, 0)\n } else if (totalSize <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalSize - itemOffset - additionalOffset), contentSize - containerSize)\n }\n\n return isRtl ? -currentScrollOffset : currentScrollOffset\n}\n\nexport function calculateCenteredOffset ({\n selectedElement,\n containerSize,\n contentSize,\n isRtl,\n isHorizontal,\n}: {\n selectedElement: HTMLElement\n containerSize: number\n contentSize: number\n isRtl: boolean\n isHorizontal: boolean\n}): number {\n const clientSize = isHorizontal ? selectedElement.clientWidth : selectedElement.clientHeight\n const offsetStart = isHorizontal ? selectedElement.offsetLeft : selectedElement.offsetTop\n\n if (isRtl) {\n const offsetCentered = contentSize - offsetStart - clientSize / 2 - containerSize / 2\n return -Math.min(contentSize - containerSize, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetStart + clientSize / 2 - containerSize / 2\n return Math.min(contentSize - containerSize, Math.max(0, offsetCentered))\n }\n}\n","// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport { VFadeTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { useDisplay } from '@/composables'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { useRtl } from '@/composables/rtl'\n\n// Utilities\nimport { bias, calculateCenteredOffset, calculateUpdatedOffset } from './helpers'\nimport { clamp, defineComponent, useRender } from '@/util'\nimport { computed, ref, watch, watchEffect } from 'vue'\n\n// Types\nimport type { GroupProvide } from '@/composables/group'\nimport type { InjectionKey } from 'vue'\n\nexport const VSlideGroupSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-slide-group')\n\nexport const VSlideGroup = defineComponent({\n name: 'VSlideGroup',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n direction: {\n type: String,\n default: 'horizontal',\n },\n symbol: {\n type: null,\n default: VSlideGroupSymbol,\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n ...makeTagProps(),\n ...makeGroupProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { isRtl } = useRtl()\n const { mobile } = useDisplay()\n const group = useGroup(props, props.symbol)\n const isOverflowing = ref(false)\n const scrollOffset = ref(0)\n const containerSize = ref(0)\n const contentSize = ref(0)\n const isHorizontal = computed(() => props.direction === 'horizontal')\n\n const { resizeRef: containerRef, contentRect: containerRect } = useResizeObserver()\n const contentRef = ref<HTMLElement>()\n\n watchEffect(() => {\n if (!containerRect.value || !contentRef.value) return\n\n const sizeProperty = isHorizontal.value ? 'width' : 'height'\n\n containerSize.value = containerRect.value[sizeProperty]\n contentSize.value = contentRef.value.getBoundingClientRect()[sizeProperty]\n\n isOverflowing.value = containerSize.value + 1 < contentSize.value\n })\n\n watch(group.selected, selected => {\n if (!selected.length || !contentRef.value) return\n\n const index = group.items.value.findIndex(item => item.id === selected[selected.length - 1])\n\n // TODO: Is this too naive? Should we store element references in group composable?\n const selectedElement = contentRef.value.children[index] as HTMLElement\n\n if (index === 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (props.centerActive) {\n scrollOffset.value = calculateCenteredOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n isHorizontal: isHorizontal.value,\n })\n } else if (isOverflowing.value) {\n scrollOffset.value = calculateUpdatedOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n currentScrollOffset: scrollOffset.value,\n isHorizontal: isHorizontal.value,\n })\n }\n })\n\n const disableTransition = ref(false)\n\n let startTouch = 0\n let startOffset = 0\n\n function onTouchstart (e: TouchEvent) {\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n startOffset = scrollOffset.value\n startTouch = e.touches[0][sizeProperty]\n disableTransition.value = true\n }\n\n function onTouchmove (e: TouchEvent) {\n if (!isOverflowing.value) return\n\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n scrollOffset.value = startOffset + startTouch - e.touches[0][sizeProperty]\n }\n\n function onTouchend (e: TouchEvent) {\n const maxScrollOffset = contentSize.value - containerSize.value\n\n if (isRtl.value) {\n if (scrollOffset.value > 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (scrollOffset.value <= -maxScrollOffset) {\n scrollOffset.value = -maxScrollOffset\n }\n } else {\n if (scrollOffset.value < 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (scrollOffset.value >= maxScrollOffset) {\n scrollOffset.value = maxScrollOffset\n }\n }\n\n disableTransition.value = false\n }\n\n function onScroll () {\n containerRef.value && (containerRef.value.scrollLeft = 0)\n }\n\n const isFocused = ref(false)\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n\n if (!isOverflowing.value || !contentRef.value) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of e.composedPath()) {\n for (const item of contentRef.value.children) {\n if (item === el) {\n scrollOffset.value = calculateUpdatedOffset({\n selectedElement: item as HTMLElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n currentScrollOffset: scrollOffset.value,\n isHorizontal: isHorizontal.value,\n })\n return\n }\n }\n }\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!contentRef.value) return\n\n if (e.key === (isHorizontal.value ? 'ArrowRight' : 'ArrowDown')) {\n focus('next')\n } else if (e.key === (isHorizontal.value ? 'ArrowLeft' : 'ArrowUp')) {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n }\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (!contentRef.value) return\n\n if (!location) {\n contentRef.value.querySelector('[tabindex]')\n const focusable = [...contentRef.value.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => !el.hasAttribute('disabled')) as HTMLElement[]\n focusable[0]?.focus()\n } else if (location === 'next') {\n const el = contentRef.value.querySelector(':focus')?.nextElementSibling as HTMLElement | undefined\n if (el) el.focus()\n else focus('first')\n } else if (location === 'prev') {\n const el = contentRef.value.querySelector(':focus')?.previousElementSibling as HTMLElement | undefined\n if (el) el.focus()\n else focus('last')\n } else if (location === 'first') {\n (contentRef.value.firstElementChild as HTMLElement)?.focus()\n } else if (location === 'last') {\n (contentRef.value.lastElementChild as HTMLElement)?.focus()\n }\n }\n\n function scrollTo (location: 'prev' | 'next') {\n const sign = isRtl.value ? -1 : 1\n const newAbosluteOffset = sign * scrollOffset.value +\n (location === 'prev' ? -1 : 1) * containerSize.value\n\n scrollOffset.value = sign * clamp(newAbosluteOffset, 0, contentSize.value - containerSize.value)\n }\n\n const contentStyles = computed(() => {\n const scrollAmount = scrollOffset.value <= 0\n ? bias(-scrollOffset.value)\n : scrollOffset.value > contentSize.value - containerSize.value\n ? -(contentSize.value - containerSize.value) + bias(contentSize.value - containerSize.value - scrollOffset.value)\n : -scrollOffset.value\n\n return {\n transform: `translate${isHorizontal.value ? 'X' : 'Y'}(${scrollAmount}px)`,\n transition: disableTransition.value ? 'none' : '',\n willChange: disableTransition.value ? 'transform' : '',\n }\n })\n\n const slotProps = computed(() => ({\n next: group.next,\n prev: group.prev,\n select: group.select,\n isSelected: group.isSelected,\n }))\n\n const hasAffixes = computed(() => {\n switch (props.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return mobile.value\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return isOverflowing.value || Math.abs(scrollOffset.value) > 0\n\n // Always show on mobile\n case 'mobile': return (\n mobile.value ||\n (isOverflowing.value || Math.abs(scrollOffset.value) > 0)\n )\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !mobile.value &&\n (isOverflowing.value || Math.abs(scrollOffset.value) > 0)\n )\n }\n })\n\n const hasPrev = computed(() => {\n return hasAffixes.value && scrollOffset.value > 0\n })\n\n const hasNext = computed(() => {\n if (!hasAffixes.value) return false\n\n // Check one scroll ahead to know the width of right-most item\n return contentSize.value > Math.abs(scrollOffset.value) + containerSize.value\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-slide-group',\n {\n 'v-slide-group--vertical': !isHorizontal.value,\n 'v-slide-group--has-affixes': hasAffixes.value,\n 'v-slide-group--is-overflowing': isOverflowing.value,\n },\n ]}\n tabindex={ (isFocused.value || group.selected.value.length) ? -1 : 0 }\n onFocus={ onFocus }\n >\n { hasAffixes.value && (\n <div\n class={[\n 'v-slide-group__prev',\n { 'v-slide-group__prev--disabled': !hasPrev.value },\n ]}\n onClick={ () => scrollTo('prev') }\n >\n { slots.prev?.(slotProps.value) ?? (\n <VFadeTransition>\n <VIcon icon={ props.prevIcon }></VIcon>\n </VFadeTransition>\n ) }\n </div>\n ) }\n\n <div\n ref={ containerRef }\n class=\"v-slide-group__container\"\n onScroll={ onScroll }\n >\n <div\n ref={ contentRef }\n class=\"v-slide-group__content\"\n style={ contentStyles.value }\n onTouchstartPassive={ onTouchstart }\n onTouchmovePassive={ onTouchmove }\n onTouchendPassive={ onTouchend }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onKeydown={ onKeydown }\n >\n { slots.default?.(slotProps.value) }\n </div>\n </div>\n\n { hasAffixes.value && (\n <div\n class={[\n 'v-slide-group__next',\n { 'v-slide-group__next--disabled': !hasNext.value },\n ]}\n onClick={ () => scrollTo('next') }\n >\n { slots.next?.(slotProps.value) ?? (\n <VFadeTransition>\n <VIcon icon={ props.nextIcon }></VIcon>\n </VFadeTransition>\n ) }\n </div>\n ) }\n </props.tag>\n ))\n\n return {\n selected: group.selected,\n scrollTo,\n scrollOffset,\n focus,\n }\n },\n})\n\nexport type VSlideGroup = InstanceType<typeof VSlideGroup>\n","// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { VSlideGroupSymbol } from './VSlideGroup'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VSlideGroupItem = defineComponent({\n name: 'VSlideGroupItem',\n\n props: {\n ...makeGroupItemProps(),\n },\n\n setup (props, { slots }) {\n const slideGroupItem = useGroupItem(props, VSlideGroupSymbol)\n\n return () => slots.default?.({\n isSelected: slideGroupItem.isSelected.value,\n select: slideGroupItem.select,\n })\n },\n})\n","// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { onMounted, watch } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\nexport const VSnackbar = defineComponent({\n name: 'VSnackbar',\n\n props: {\n app: Boolean,\n centered: Boolean,\n contentClass: {\n type: String,\n default: '',\n },\n multiLine: Boolean,\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n vertical: Boolean,\n\n modelValue: Boolean,\n\n ...makePositionProps(),\n ...makeVariantProps(),\n ...makeTransitionProps({ transition: 'v-snackbar-transition' }),\n },\n\n emits: {\n 'update:modelValue': (v: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { positionClasses, positionStyles } = usePosition(props)\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n\n watch(isActive, startTimeout)\n watch(() => props.timeout, startTimeout)\n\n onMounted(() => {\n if (isActive.value) startTimeout()\n })\n\n let activeTimeout = -1\n function startTimeout () {\n window.clearTimeout(activeTimeout)\n const timeout = Number(props.timeout)\n\n if (!isActive.value || timeout === -1) return\n\n activeTimeout = window.setTimeout(() => {\n isActive.value = false\n }, timeout)\n }\n\n function onPointerenter () {\n window.clearTimeout(activeTimeout)\n }\n\n useRender(() => (\n <div\n class={[\n 'v-snackbar',\n {\n 'v-snackbar--active': isActive.value,\n 'v-snackbar--bottom': props.bottom || !props.top,\n 'v-snackbar--centered': props.centered,\n 'v-snackbar--end': props.right,\n 'v-snackbar--multi-line': props.multiLine && !props.vertical,\n 'v-snackbar--start': props.left,\n 'v-snackbar--top': props.top,\n 'v-snackbar--vertical': props.vertical,\n },\n positionClasses.value,\n ]}\n style={[\n colorStyles.value,\n positionStyles.value,\n ]}\n >\n <MaybeTransition transition={ props.transition }>\n <div\n class={[\n 'v-snackbar__wrapper',\n colorClasses.value,\n variantClasses.value,\n ]}\n v-show={ isActive.value }\n onPointerenter={ onPointerenter }\n onPointerleave={ startTimeout }\n >\n { genOverlays(false, 'v-snackbar') }\n\n { slots.default && (\n <div\n class={[\n 'v-snackbar__content',\n props.contentClass,\n ]}\n role=\"status\"\n aria-live=\"polite\"\n >\n { slots.default?.() }\n </div>\n ) }\n\n { slots.actions && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n variant: 'text',\n ripple: false,\n },\n }}\n >\n <div class=\"v-snackbar__actions\">\n { slots.actions?.() }\n </div>\n </VDefaultsProvider>\n ) }\n </div>\n </MaybeTransition>\n </div>\n ))\n },\n})\n\nexport type VSnackbar = InstanceType<typeof VSnackbar>\n","// Styles\nimport './VSwitch.sass'\n\n// Components\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, defineComponent, ref } from 'vue'\nimport { filterInputAttrs, useRender } from '@/util'\n\nexport const VSwitch = defineComponent({\n name: 'VSwitch',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n\n ...makeLoaderProps(),\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n },\n\n emits: {\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const { loaderClasses } = useLoader(props)\n\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== ''\n ? props.loading\n : props.color\n })\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const control = ref<VSelectionControl>()\n\n function onClick () {\n control.value?.input?.click()\n }\n\n return (\n <VInput\n class={[\n 'v-switch',\n { 'v-switch--inset': props.inset },\n { 'v-switch--indeterminate': indeterminate.value },\n loaderClasses.value,\n ]}\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <VSelectionControl\n ref={ control }\n { ...controlProps }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n >\n {{\n default: () => (<div class=\"v-switch__track\" onClick={ onClick }></div>),\n input: ({ textColorClasses }) => (\n <div\n class={[\n 'v-switch__thumb',\n textColorClasses.value,\n ]}\n >\n { props.loading && (\n <LoaderSlot\n name=\"v-switch\"\n active\n color={ isValid.value === false ? undefined : loaderColor.value }\n >\n { slotProps => (\n slots.loader\n ? slots.loader(slotProps)\n : (\n <VProgressCircular\n active={ slotProps.isActive }\n color={ slotProps.color }\n indeterminate\n size=\"16\"\n width=\"2\"\n />\n )\n )}\n </LoaderSlot>\n ) }\n </div>\n ),\n }}\n </VSelectionControl>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSwitch = InstanceType<typeof VSwitch>\n","// Styles\nimport './VSystemBar.sass'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VSystemBar = defineComponent({\n name: 'VSystemBar',\n\n props: {\n color: String,\n window: Boolean,\n\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n return () => (\n <props.tag\n class={[\n 'v-system-bar',\n { 'v-system-bar--window': props.window },\n themeClasses.value,\n backgroundColorClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Styles\nimport './VTab.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VTabsSymbol } from './VTabs'\n\n// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRouterProps } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef, watch } from 'vue'\nimport { defineComponent, pick, standardEasing, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VTab = defineComponent({\n name: 'VTab',\n\n props: {\n fixed: Boolean,\n icon: [Boolean, String],\n prependIcon: String,\n appendIcon: String,\n\n stacked: Boolean,\n title: String,\n\n ripple: {\n type: Boolean,\n default: true,\n },\n color: String,\n sliderColor: String,\n hideSlider: Boolean,\n\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n\n ...makeTagProps(),\n ...makeRouterProps(),\n ...makeGroupItemProps({\n selectedClass: 'v-tab--selected',\n }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots, attrs }) {\n const { isSelected, select, selectedClass } = useGroupItem(props, VTabsSymbol)\n const { textColorClasses: sliderColorClasses, textColorStyles: sliderColorStyles } = useTextColor(props, 'sliderColor')\n const isHorizontal = computed(() => props.direction === 'horizontal')\n\n provideDefaults({\n VBtn: {\n block: toRef(props, 'fixed'),\n maxWidth: computed(() => props.fixed ? 300 : undefined),\n color: computed(() => isSelected.value ? props.color : undefined),\n variant: 'text',\n rounded: 0,\n },\n }, {\n scoped: true,\n })\n\n const rootEl = ref<VBtn>()\n const sliderEl = ref<HTMLElement>()\n watch(isSelected, isSelected => {\n if (isSelected) {\n const prevEl: HTMLElement | undefined = rootEl.value?.$el.parentElement?.querySelector('.v-tab--selected .v-tab__slider')\n const nextEl = sliderEl.value\n\n if (!prevEl || !nextEl) return\n\n const color = getComputedStyle(prevEl).color\n\n const prevBox = prevEl.getBoundingClientRect()\n const nextBox = nextEl.getBoundingClientRect()\n\n const xy = isHorizontal.value ? 'x' : 'y'\n const XY = isHorizontal.value ? 'X' : 'Y'\n const rightBottom = isHorizontal.value ? 'right' : 'bottom'\n const widthHeight = isHorizontal.value ? 'width' : 'height'\n\n const prevPos = prevBox[xy]\n const nextPos = nextBox[xy]\n const delta = prevPos > nextPos\n ? prevBox[rightBottom] - nextBox[rightBottom]\n : prevBox[xy] - nextBox[xy]\n const origin =\n Math.sign(delta) > 0 ? (isHorizontal.value ? 'right' : 'bottom')\n : Math.sign(delta) < 0 ? (isHorizontal.value ? 'left' : 'top')\n : 'center'\n const size = Math.abs(delta) + (Math.sign(delta) < 0 ? prevBox[widthHeight] : nextBox[widthHeight])\n const scale = size / Math.max(prevBox[widthHeight], nextBox[widthHeight])\n const initialScale = prevBox[widthHeight] / nextBox[widthHeight]\n\n const sigma = 1.5\n nextEl.animate({\n backgroundColor: [color, ''],\n transform: [\n `translate${XY}(${delta}px) scale${XY}(${initialScale})`,\n `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`,\n '',\n ],\n transformOrigin: Array(3).fill(origin),\n }, {\n duration: 225,\n easing: standardEasing,\n })\n }\n })\n\n useRender(() => {\n const [btnProps] = pick(props, [\n 'href',\n 'to',\n 'replace',\n 'icon',\n 'stacked',\n 'prependIcon',\n 'appendIcon',\n 'ripple',\n 'theme',\n 'disabled',\n ])\n\n return (\n <VBtn\n ref={ rootEl }\n class={[\n 'v-tab',\n selectedClass.value,\n ]}\n tabindex={ isSelected.value ? 0 : -1 }\n role=\"tab\"\n aria-selected={ String(isSelected.value) }\n onClick={ () => !props.disabled && select(!isSelected.value) }\n { ...btnProps }\n { ...attrs }\n >\n { slots.default ? slots.default() : props.title }\n { !props.hideSlider && (\n <div\n ref={ sliderEl }\n class={[\n 'v-tab__slider',\n sliderColorClasses.value,\n ]}\n style={ sliderColorStyles.value }\n />\n ) }\n </VBtn>\n )\n })\n\n return {\n isSelected,\n }\n },\n})\n\nexport type VTab = InstanceType<typeof VTab>\n","// Styles\nimport './VTabs.sass'\n\n// Components\nimport { VSlideGroup } from '@/components/VSlideGroup'\nimport { VTab } from './VTab'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeTagProps } from '@/composables/tag'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { GroupProvide } from '@/composables/group'\nimport type { InjectionKey, PropType } from 'vue'\nimport { useBackgroundColor } from '@/composables/color'\n\nexport type TabItem = string | Record<string, any>\n\nfunction parseItems (items: TabItem[] | undefined) {\n if (!items) return []\n\n return items.map(item => {\n if (typeof item === 'string') return { title: item, value: item }\n\n return item\n })\n}\n\nexport const VTabsSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-tabs')\n\nexport const VTabs = defineComponent({\n name: 'VTabs',\n\n props: {\n alignWithTitle: Boolean,\n color: String,\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n fixedTabs: Boolean,\n items: {\n type: Array as PropType<TabItem[]>,\n default: () => ([]),\n },\n stacked: Boolean,\n backgroundColor: String,\n centered: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n optional: Boolean,\n right: Boolean,\n sliderColor: String,\n modelValue: null,\n\n ...makeDensityProps(),\n ...makeTagProps(),\n },\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots, emit }) {\n const parsedItems = computed(() => parseItems(props.items))\n const { densityClasses } = useDensity(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'backgroundColor'))\n\n provideDefaults({\n VTab: {\n color: toRef(props, 'color'),\n direction: toRef(props, 'direction'),\n stacked: toRef(props, 'stacked'),\n fixed: toRef(props, 'fixedTabs'),\n sliderColor: toRef(props, 'sliderColor'),\n hideSlider: toRef(props, 'hideSlider'),\n },\n })\n\n return () => (\n <VSlideGroup\n class={[\n 'v-tabs',\n `v-tabs--${props.direction}`,\n {\n 'v-tabs--align-with-title': props.alignWithTitle,\n 'v-tabs--centered': props.centered,\n 'v-tabs--fixed-tabs': props.fixedTabs,\n 'v-tabs--grow': props.grow,\n 'v-tabs--right': props.right,\n 'v-tabs--stacked': props.stacked,\n },\n densityClasses.value,\n backgroundColorClasses.value,\n ]}\n style={backgroundColorStyles.value}\n role=\"tablist\"\n symbol={ VTabsSymbol }\n mandatory=\"force\"\n direction={ props.direction }\n modelValue={ props.modelValue }\n onUpdate:modelValue={ v => emit('update:modelValue', v) }\n >\n { slots.default ? slots.default() : parsedItems.value.map(item => (\n <VTab { ...item } key={ item.title } />\n )) }\n </VSlideGroup>\n )\n },\n})\n\nexport type VTabs = InstanceType<typeof VTabs>\n","// Styles\nimport './VTable.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { convertToUnit, defineComponent } from '@/util'\nimport { makeDensityProps, useDensity } from '@/composables/density'\n\nexport const VTable = defineComponent({\n name: 'VTable',\n\n props: {\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n height: [Number, String],\n\n ...makeDensityProps(),\n ...makeThemeProps(),\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n return () => (\n <props.tag\n class={[\n 'v-table',\n {\n 'v-table--fixed-height': !!props.height,\n 'v-table--fixed-header': props.fixedHeader,\n 'v-table--fixed-footer': props.fixedFooter,\n 'v-table--has-top': !!slots.top,\n 'v-table--has-bottom': !!slots.bottom,\n },\n themeClasses.value,\n densityClasses.value,\n ]}\n >\n { slots.top?.() }\n\n { slots.default && (\n <div\n class=\"v-table__wrapper\"\n style={{ height: convertToUnit(props.height) }}\n >\n <table>\n { slots.default?.() }\n </table>\n </div>\n ) }\n\n { slots.bottom?.() }\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VTextarea.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\n\n// Composables\nimport { useForwardRef } from '@/composables/forwardRef'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { convertToUnit, defineComponent, filterInputAttrs, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VTextarea = defineComponent({\n name: 'VTextarea',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: {\n autoGrow: Boolean,\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n hint: String,\n persistentHint: Boolean,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n noResize: Boolean,\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n maxRows: {\n type: [Number, String],\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n suffix: String,\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'click:clear': (e: MouseEvent) => true,\n 'click:control': (e: MouseEvent) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value || '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const isFocused = ref(false)\n const controlHeight = ref('auto')\n const textareaRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n isFocused.value ||\n props.persistentPlaceholder\n ))\n\n const messages = computed(() => {\n return props.messages.length\n ? props.messages\n : (isActive.value || props.persistentHint) ? props.hint : ''\n })\n\n function onFocus () {\n if (textareaRef.value !== document.activeElement) {\n textareaRef.value?.focus()\n }\n\n if (!isFocused.value) isFocused.value = true\n }\n function onControlClick (e: MouseEvent) {\n onFocus()\n\n emit('click:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = ''\n\n emit('click:clear', e)\n })\n }\n\n const sizerRef = ref<HTMLTextAreaElement>()\n function calculateInputHeight () {\n if (!props.autoGrow) return\n\n nextTick(() => {\n if (!sizerRef.value) return\n\n const style = getComputedStyle(sizerRef.value)\n\n const padding = parseFloat(style.getPropertyValue('--v-field-padding-top')) +\n parseFloat(style.getPropertyValue('--v-field-padding-bottom'))\n\n const height = sizerRef.value.scrollHeight\n const lineHeight = parseFloat(style.lineHeight)\n const minHeight = parseFloat(props.rows) * lineHeight + padding\n const maxHeight = parseFloat(props.maxRows!) * lineHeight + padding || Infinity\n\n controlHeight.value = convertToUnit(Math.min(maxHeight, Math.max(minHeight, height ?? 0)))\n })\n }\n\n onMounted(calculateInputHeight)\n watch(model, calculateInputHeight)\n watch(() => props.rows, calculateInputHeight)\n watch(() => props.maxRows, calculateInputHeight)\n\n let observer: ResizeObserver | undefined\n watch(sizerRef, val => {\n if (val) {\n observer = new ResizeObserver(calculateInputHeight)\n observer.observe(sizerRef.value!)\n } else {\n observer?.disconnect()\n }\n })\n onBeforeUnmount(() => {\n observer?.disconnect()\n })\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n v-model={ model.value }\n class={[\n 'v-textarea',\n {\n 'v-textarea--prefixed': props.prefix,\n 'v-textarea--suffixed': props.suffix,\n 'v-textarea--auto-grow': props.autoGrow,\n 'v-textarea--no-resize': props.noResize || props.autoGrow,\n },\n ]}\n { ...rootAttrs }\n { ...inputProps }\n messages={ messages.value }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n style={{\n '--v-input-control-height': controlHeight.value,\n }}\n onClick:control={ onControlClick }\n onClick:clear={ onClear }\n role=\"textbox\"\n { ...fieldProps }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n { props.prefix }\n </span>\n ) }\n\n <textarea\n ref={ textareaRef }\n class={ fieldClass }\n v-model={ model.value }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n placeholder={ props.placeholder }\n rows={ props.rows }\n name={ props.name }\n onFocus={ onFocus }\n onBlur={ () => (isFocused.value = false) }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { props.autoGrow && (\n <textarea\n class={[\n fieldClass,\n 'v-textarea__sizer',\n ]}\n v-model={ model.value }\n ref={ sizerRef }\n readonly\n aria-hidden=\"true\"\n />\n )}\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n { props.suffix }\n </span>\n ) }\n </>\n ),\n }}\n </VField>\n ),\n details: hasCounter ? () => (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return useForwardRef({}, vInputRef, vFieldRef, textareaRef)\n },\n})\n\nexport type VTextarea = InstanceType<typeof VTextarea>\n","// Styles\nimport './VThemeProvider.sass'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VThemeProvider = defineComponent({\n name: 'VThemeProvider',\n\n props: {\n withBackground: Boolean,\n\n ...makeThemeProps(),\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n\n return () => {\n if (!props.withBackground) return slots.default?.()\n\n return (\n <props.tag class={['v-theme-provider', themeClasses.value]}>\n { slots.default?.() }\n </props.tag>\n )\n }\n },\n})\n","import type { InjectionKey, Ref } from 'vue'\nimport type { Density } from '@/composables/density'\n\nexport interface TimelineInstance {\n density: Ref<Density>\n lineColor: Ref<string>\n}\n\nexport const VTimelineSymbol: InjectionKey<TimelineInstance> = Symbol.for('vuetify:timeline')\n","// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VTimelineSymbol } from './shared'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { defineComponent, inject, toRef } from 'vue'\n\nexport const VTimelineDivider = defineComponent({\n name: 'VTimelineDivider',\n\n props: {\n hideDot: Boolean,\n lineColor: String,\n icon: String,\n iconColor: String,\n fillDot: Boolean,\n dotColor: String,\n\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeElevationProps(),\n },\n\n setup (props, { slots }) {\n const timeline = inject(VTimelineSymbol)\n\n if (!timeline) throw new Error('[Vuetify] Could not find v-timeline provider')\n\n const { sizeClasses, sizeStyles } = useSize(props, 'v-timeline-divider__dot')\n const { backgroundColorStyles, backgroundColorClasses } = useBackgroundColor(toRef(props, 'dotColor'))\n const { backgroundColorStyles: lineColorStyles, backgroundColorClasses: lineColorClasses } = useBackgroundColor(timeline.lineColor)\n const { roundedClasses } = useRounded(props, 'v-timeline-divider__dot')\n const { elevationClasses } = useElevation(props)\n\n return () => (\n <div\n class={[\n 'v-timeline-divider',\n {\n 'v-timeline-divider--fill-dot': props.fillDot,\n },\n ]}\n >\n { !props.hideDot && (\n <div\n class={[\n 'v-timeline-divider__dot',\n roundedClasses.value,\n sizeClasses.value,\n elevationClasses.value,\n ]}\n // @ts-expect-error: null\n style={ sizeStyles.value }\n >\n <div\n class={[\n 'v-timeline-divider__inner-dot',\n roundedClasses.value,\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n {\n slots.default ? slots.default({ icon: props.icon, iconColor: props.iconColor, size: props.size })\n : props.icon ? <VIcon icon={ props.icon } color={ props.iconColor } size={ props.size } />\n : undefined\n }\n </div>\n </div>\n ) }\n <div\n class={[\n 'v-timeline-divider__line',\n lineColorClasses.value,\n ]}\n style={ lineColorStyles.value }\n />\n </div>\n )\n },\n})\n\nexport type VTimelineDivider = InstanceType<typeof VTimelineDivider>\n","// Components\nimport { VTimelineSymbol } from './shared'\nimport { VTimelineDivider } from './VTimelineDivider'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeRoundedProps } from '@/composables/rounded'\n\n// Utilities\nimport { inject, ref, watch } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\nexport const VTimelineItem = defineComponent({\n name: 'VTimelineItem',\n\n props: {\n dotColor: String,\n fillDot: Boolean,\n hideDot: Boolean,\n hideOpposite: {\n type: Boolean,\n default: undefined,\n },\n icon: String,\n iconColor: String,\n\n ...makeRoundedProps(),\n ...makeElevationProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const timeline = inject(VTimelineSymbol)\n\n if (!timeline) throw new Error('[Vuetify] Could not find v-timeline provider')\n\n const { dimensionStyles } = useDimension(props)\n\n const dotSize = ref(0)\n const dotRef = ref<VTimelineDivider>()\n watch(dotRef, newValue => {\n if (!newValue) return\n dotSize.value = newValue.$el.querySelector('.v-timeline-divider__dot')?.getBoundingClientRect().width ?? 0\n }, {\n flush: 'post',\n })\n\n return () => (\n <div\n class={[\n 'v-timeline-item',\n {\n 'v-timeline-item--fill-dot': props.fillDot,\n },\n ]}\n style={{\n '--v-timeline-dot-size': convertToUnit(dotSize.value),\n }}\n >\n <div\n class=\"v-timeline-item__body\"\n style={ dimensionStyles.value }\n >\n { slots.default?.() }\n </div>\n\n <VTimelineDivider\n ref={ dotRef }\n hideDot={ props.hideDot }\n icon={ props.icon }\n iconColor={ props.iconColor }\n size={ props.size }\n elevation={ props.elevation }\n dotColor={ props.dotColor }\n fillDot={ props.fillDot }\n rounded={ props.rounded }\n v-slots={{ default: slots.icon }}\n />\n\n { timeline.density.value !== 'compact' && (\n <div class=\"v-timeline-item__opposite\">\n { !props.hideOpposite && slots.opposite?.() }\n </div>\n ) }\n </div>\n )\n },\n})\n","// Styles\nimport './VTimeline.sass'\n\n// Components\nimport { VTimelineItem } from './VTimelineItem'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Helpers\nimport { computed, provide, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { VTimelineSymbol } from './shared'\n\n// Types\nimport type { Prop } from 'vue'\n\nexport type TimelineDirection = 'vertical' | 'horizontal'\nexport type TimelineSide = 'before' | 'after' | undefined\n\nexport const VTimeline = defineComponent({\n name: 'VTimeline',\n\n props: {\n direction: {\n type: String,\n default: 'vertical',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n } as Prop<TimelineDirection>,\n side: {\n type: String,\n validator: (v: any) => v == null || ['start', 'end'].includes(v),\n } as Prop<TimelineSide>,\n lineInset: {\n type: [String, Number],\n default: 0,\n },\n lineThickness: {\n type: [String, Number],\n default: 2,\n },\n lineColor: String,\n truncateLine: {\n type: String,\n default: 'start',\n validator: (v: any) => ['none', 'start', 'end', 'both'].includes(v),\n },\n\n ...makeDensityProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n provide(VTimelineSymbol, {\n density: toRef(props, 'density'),\n lineColor: toRef(props, 'lineColor'),\n })\n\n const sideClass = computed(() => {\n const side = props.side ? props.side : props.density !== 'default' ? 'end' : null\n\n return side && `v-timeline--side-${side}`\n })\n\n return () => (\n <props.tag\n class={[\n 'v-timeline',\n `v-timeline--${props.direction}`,\n {\n 'v-timeline--inset-line': !!props.lineInset,\n 'v-timeline--truncate-line-end': props.truncateLine === 'end' || props.truncateLine === 'both',\n },\n themeClasses.value,\n densityClasses.value,\n sideClass.value,\n ]}\n style={{\n '--v-timeline-line-thickness': convertToUnit(props.lineThickness),\n '--v-timeline-line-inset': convertToUnit(props.lineInset),\n }}\n >\n { (props.truncateLine === 'none' || props.truncateLine === 'end') && (\n <VTimelineItem hideDot />\n ) }\n\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VTooltip.sass'\n\n// Components\nimport { VOverlay } from '@/components/VOverlay'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, getUid } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\nimport type { StrategyProps } from '@/components/VOverlay/positionStrategies'\n\nexport const VTooltip = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VTooltip',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n modelValue: Boolean,\n text: String,\n\n anchor: {\n type: String as PropType<StrategyProps['anchor']>,\n default: 'end',\n },\n origin: {\n type: String as PropType<StrategyProps['origin']>,\n default: 'auto',\n },\n\n ...makeTransitionProps({\n transition: false,\n } as const),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n\n const uid = getUid()\n const id = computed(() => props.id || `v-tooltip-${uid}`)\n\n const anchor = computed(() => {\n return props.anchor.split(' ').length > 1\n ? props.anchor\n : props.anchor + ' center' as StrategyProps['anchor']\n })\n\n const origin = computed(() => {\n return (\n props.origin === 'auto' ||\n props.origin === 'overlap' ||\n props.origin.split(' ').length > 1 ||\n props.anchor.split(' ').length > 1\n ) ? props.origin\n : props.origin + ' center' as StrategyProps['origin']\n })\n\n const transition = computed(() => {\n if (props.transition) return props.transition\n return isActive.value ? 'scale-transition' : 'fade-transition'\n })\n\n return () => {\n return (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-tooltip',\n ]}\n id={ id.value }\n transition={ transition.value }\n absolute\n positionStrategy=\"connected\"\n scrollStrategy=\"reposition\"\n anchor={ anchor.value }\n origin={ origin.value }\n min-width={ 0 }\n offset={ 10 }\n scrim={ false }\n persistent\n open-on-click={ false }\n open-on-hover\n role=\"tooltip\"\n eager\n activatorProps={{\n 'aria-describedby': id.value,\n }}\n { ...attrs }\n >\n {{\n activator: slots.activator,\n default: (...args) => slots.default?.(...args) ?? props.text,\n }}\n </VOverlay>\n )\n }\n },\n})\n\nexport type VTooltip = InstanceType<typeof VTooltip>\n","// Composables\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VValidation = defineComponent({\n name: 'VValidation',\n\n props: {\n ...makeValidationProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const validation = useValidation(props, 'validation')\n\n return () => slots.default?.(validation)\n },\n})\n","// Types\nimport type { DirectiveBinding, ObjectDirective } from 'vue'\nimport type { MutationOptions } from '@/composables/mutationObserver'\n\nexport interface MutationDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value: MutationCallback | { handler: MutationCallback, options?: MutationObserverInit }\n modifiers: MutationOptions\n}\n\nfunction mounted (el: HTMLElement, binding: MutationDirectiveBinding) {\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { once, immediate, ...modifierKeys } = modifiers\n const defaultValue = !Object.keys(modifierKeys).length\n\n const { handler, options } = typeof value === 'object'\n ? value\n : {\n handler: value,\n options: {\n attributes: modifierKeys?.attr ?? defaultValue,\n characterData: modifierKeys?.char ?? defaultValue,\n childList: modifierKeys?.child ?? defaultValue,\n subtree: modifierKeys?.sub ?? defaultValue,\n },\n }\n\n const observer = new MutationObserver((\n mutations: MutationRecord[] = [],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (once) unmounted(el, binding)\n })\n\n if (immediate) handler?.([], observer)\n\n el._mutate = Object(el._mutate)\n el._mutate![binding.instance!.$.uid] = { observer }\n\n observer.observe(el, options)\n}\n\nfunction unmounted (el: HTMLElement, binding: MutationDirectiveBinding) {\n if (!el._mutate?.[binding.instance!.$.uid]) return\n\n el._mutate[binding.instance!.$.uid]!.observer.disconnect()\n delete el._mutate[binding.instance!.$.uid]\n}\n\nexport const Mutate: ObjectDirective<HTMLElement> = {\n mounted,\n unmounted,\n}\n\nexport default Mutate\n","import type { DirectiveBinding } from 'vue'\n\ninterface ResizeDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: () => void\n modifiers?: {\n active?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ResizeDirectiveBinding) {\n const handler = binding.value\n const options: AddEventListenerOptions = {\n passive: !binding.modifiers?.active,\n }\n\n window.addEventListener('resize', handler, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![binding.instance!.$.uid] = {\n handler,\n options,\n }\n\n if (!binding.modifiers?.quiet) {\n handler()\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ResizeDirectiveBinding) {\n if (!el._onResize?.[binding.instance!.$.uid]) return\n\n const { handler, options } = el._onResize[binding.instance!.$.uid]!\n\n window.removeEventListener('resize', handler, options)\n\n delete el._onResize[binding.instance!.$.uid]\n}\n\nexport const Resize = {\n mounted,\n unmounted,\n}\n\nexport default Resize\n","import type { DirectiveBinding } from 'vue'\n\ninterface ScrollDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: EventListener | {\n handler: EventListener\n options?: AddEventListenerOptions\n } | EventListenerObject & { options?: AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n const { self = false } = binding.modifiers ?? {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![binding.instance!.$.uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (!el._onScroll?.[binding.instance!.$.uid]) return\n\n const { handler, options, target = el } = el._onScroll[binding.instance!.$.uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[binding.instance!.$.uid]\n}\n\nfunction updated (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (binding.value === binding.oldValue) return\n\n unmounted(el, binding)\n mounted(el, binding)\n}\n\nexport const Scroll = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Scroll\n","// Utilities\nimport { h } from 'vue'\n\n// Components\nimport { VClassIcon } from '@/composables/icons'\n\n// Types\nimport type { IconAliases, IconSet } from '@/composables/icons'\n\nconst aliases: IconAliases = {\n collapse: 'mdi-chevron-up',\n complete: 'mdi-check',\n cancel: 'mdi-close-circle',\n close: 'mdi-close',\n delete: 'mdi-close-circle', // delete (e.g. v-chip close)\n clear: 'mdi-close-circle',\n success: 'mdi-check-circle',\n info: 'mdi-information',\n warning: 'mdi-alert-circle',\n error: 'mdi-close-circle',\n prev: 'mdi-chevron-left',\n next: 'mdi-chevron-right',\n checkboxOn: 'mdi-checkbox-marked',\n checkboxOff: 'mdi-checkbox-blank-outline',\n checkboxIndeterminate: 'mdi-minus-box',\n delimiter: 'mdi-circle', // for carousel\n sort: 'mdi-arrow-up',\n expand: 'mdi-chevron-down',\n menu: 'mdi-menu',\n subgroup: 'mdi-menu-down',\n dropdown: 'mdi-menu-down',\n radioOn: 'mdi-radiobox-marked',\n radioOff: 'mdi-radiobox-blank',\n edit: 'mdi-pencil',\n ratingEmpty: 'mdi-star-outline',\n ratingFull: 'mdi-star',\n ratingHalf: 'mdi-star-half-full',\n loading: 'mdi-cached',\n first: 'mdi-page-first',\n last: 'mdi-page-last',\n unfold: 'mdi-unfold-more-horizontal',\n file: 'mdi-paperclip',\n plus: 'mdi-plus',\n minus: 'mdi-minus',\n}\n\nconst mdi: IconSet = {\n // Not using mergeProps here, functional components merge props by default (?)\n component: (props: any) => h(VClassIcon, { ...props, class: 'mdi' }),\n}\n\nexport { aliases, mdi }\n","import { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\nimport { defaultSets, IconSymbol } from '@/composables/icons'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createLocaleAdapter, LocaleAdapterSymbol } from '@/composables/locale'\nimport { createRtl, RtlSymbol } from '@/composables/rtl'\nimport { aliases, mdi } from '@/iconsets/mdi'\n\n// Utilities\nimport { reactive } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { ThemeOptions } from '@/composables/theme'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleAdapter, LocaleOptions } from '@/composables/locale'\nimport type { RtlOptions } from '@/composables/rtl'\nimport type { DefaultsOptions } from '@/composables/defaults'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: (LocaleOptions & RtlOptions) | (LocaleAdapter & RtlOptions)\n}\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n const install = (app: App) => {\n const {\n components = {},\n directives = {},\n icons = {},\n } = options\n\n for (const key in directives) {\n const directive = directives[key]\n\n app.directive(key, directive)\n }\n\n for (const key in components) {\n const component = components[key]\n\n app.component(key, component)\n }\n\n app.provide(DefaultsSymbol, createDefaults(options.defaults))\n app.provide(DisplaySymbol, createDisplay(options.display))\n app.provide(ThemeSymbol, createTheme(app, options.theme))\n app.provide(IconSymbol, mergeDeep({\n defaultSet: 'mdi',\n sets: {\n ...defaultSets,\n mdi,\n },\n aliases,\n }, icons))\n const { adapter, rootInstance } = createLocaleAdapter(app, options?.locale)\n app.provide(LocaleAdapterSymbol, adapter)\n app.provide(RtlSymbol, createRtl(rootInstance, options?.locale))\n\n // Vue's inject() can only be used in setup\n function inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n }\n\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleAdapterSymbol),\n rtl: inject.call(this, RtlSymbol),\n })\n },\n },\n })\n }\n\n return { install }\n}\n","import './styles/main.sass'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\n\nexport {\n components,\n directives,\n}\nexport * from './composables'\n"],"names":["Box","constructor","x","y","width","height","top","bottom","left","right","nullifyTransforms","el","rect","getBoundingClientRect","style","getComputedStyle","tx","transform","ta","sx","sy","dx","dy","startsWith","slice","split","to","transformOrigin","parseFloat","indexOf","w","offsetWidth","h","offsetHeight","createMessage","message","vm","parent","_isVue","$parent","$options","$_alreadyWarned","includes","push","generateComponentTrace","consoleWarn","newMessage","console","warn","consoleError","error","classifyRE","classify","str","replace","c","toUpperCase","formatComponentName","includeFile","$root","options","cid","name","_componentTag","file","__file","match","tree","currentRecursiveSequence","length","last","map","i","repeat","Array","isArray","join","getNestedValue","obj","path","fallback","undefined","deepEqual","a","b","Date","getTime","Object","props","keys","every","p","getObjectValueByPath","getPropertyFromItem","item","property","value","createRange","start","from","v","k","convertToUnit","unit","isNaN","String","isFinite","Number","isObject","isComponentInstance","$el","keyCodes","freeze","enter","tab","delete","esc","space","up","down","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","pick","paths","found","create","rest","key","some","RegExp","test","filterInputAttrs","attrs","wrapInArray","clamp","min","max","Math","padEnd","char","chunk","size","chunked","index","substr","humanReadableFileSize","bytes","base","prefix","abs","toFixed","mergeDeep","source","target","arrayFn","out","sourceProperty","targetProperty","getUid","_uid","flattenFragments","nodes","node","type","Fragment","children","flat","toKebabCase","toLowerCase","findChildrenWithProvide","vnode","child","component","getOwnPropertySymbols","provides","subTree","CircularBuffer","val","values","concat","getEventCoordinates","e","clientX","touches","clientY","srgbForwardMatrix","srgbForwardTransform","C","srgbReverseMatrix","srgbReverseTransform","fromXYZ","xyz","rgb","matrix","round","toXYZ","r","g","delta","cielabForwardTransform","t","cbrt","cielabReverseTransform","transformedY","lab","Ln","isCssColor","color","colorToInt","substring","parseInt","TypeError","intToHex","hexColor","toString","HSVAtoRGBA","hsva","s","f","n","RGBAtoHSVA","rgba","hsv","HSVAtoHSLA","l","sprime","HSLAtoHSVA","hsl","RGBAtoCSS","HSVAtoCSS","RGBAtoHex","toHex","HexToRGBA","hex","HexToHSVA","HSVAtoHex","parseHex","colorToRGB","int","lighten","amount","CIELAB","sRGB","darken","getLuma","getContrast","first","second","l1","l2","light","dark","DefaultsSymbol","Symbol","for","createDefaults","ref","useDefaults","defaults","inject","Error","provideDefaults","injectedDefaults","providedDefaults","newDefaults","computed","scoped","unref","reset","root","properties","prev","len","Infinity","provide","propIsDefined","prop","hasOwnProperty","defineComponent","_setup","setup","ctx","getCurrentInstance","_props","shallowReactive","toRaw","watchEffect","globalDefaults","global","componentDefaults","newVal","genericComponent","exposeDefaults","_defineComponent","createSimpleFunctional","klass","tag","capitalize","camelize","default","slots","class","attachedRoot","getRootNode","parentNode","document","composed","standardEasing","deceleratedEasing","acceleratedEasing","_getCurrentInstance","getCurrentInstanceName","getScrollParent","hasScrollbar","parentElement","scrollingElement","getScrollParents","elements","nodeType","Node","ELEMENT_NODE","window","overflowY","scrollHeight","clientHeight","IS_NODE","process","IN_BROWSER","env","DEBUG","NODE_ENV","SUPPORTS_INTERSECTION","SUPPORTS_TOUCH","navigator","maxTouchPoints","SUPPORTS_FOCUS_VISIBLE","CSS","supports","isFixedPosition","position","offsetParent","propsFactory","reduce","isObjectDefinition","definition","useRender","render","mainTRC","Rco","Gco","Bco","normBG","normTXT","revTXT","revBG","blkThrs","blkClmp","deltaYmin","scaleBoW","scaleWoB","loConThresh","loConFactor","loConOffset","loClip","APCAcontrast","text","background","Rtxt","Gtxt","Btxt","Rbg","Gbg","Bbg","Ytxt","Ybg","outputContrast","SAPC","ThemeSymbol","makeThemeProps","theme","defaultThemeOptions","defaultTheme","variations","colors","themes","surface","primary","secondary","info","success","warning","variables","parseThemeOptions","isDisabled","entries","createTheme","app","head","_context","usehead","parsedOptions","styleEl","current","computedThemes","original","genColorVariations","onColor","colorVal","blackContrast","whiteContrast","variation","fn","styles","lines","themeName","createCssClass","genCssVariables","Set","flatMap","lightOverlay","darkOverlay","selector","content","line","addHeadObjs","id","updateDOM","watch","updateStyles","deep","immediate","genStyleElement","innerHTML","createElement","appendChild","setTheme","getTheme","themeClasses","provideTheme","newTheme","useTheme","useResizeObserver","callback","resizeRef","contentRect","contentBoxSize","borderBoxSize","observer","ResizeObserver","onBeforeUnmount","disconnect","newValue","oldValue","unobserve","observe","flush","readonly","VuetifyLayoutKey","ROOT_ZINDEX","makeLayoutProps","overlaps","fullHeight","Boolean","makeLayoutItemProps","priority","absolute","useLayout","layout","useLayoutItem","isKeptAlive","onDeactivated","onActivated","layoutItemStyles","layoutItemScrimStyles","register","active","unregister","layoutRect","generateLayers","positions","layoutSizes","activeItems","previousLayer","layers","layer","get","createLayout","parentLayout","rootZIndex","registered","reactive","Map","priorities","disabledTransitions","computedOverlaps","overlap","filter","topPosition","bottomPosition","topAmount","bottomAmount","set","uniquePriorities","sort","items","transitionsEnabled","mainStyles","paddingLeft","paddingRight","paddingTop","paddingBottom","transition","getLayoutItem","find","rootVm","isMounted","onMounted","layoutSize","elementSize","disableTransitions","instances","instanceIndex","splice","findIndex","zIndex","isHorizontal","isOppositeHorizontal","isOppositeVertical","marginLeft","marginRight","marginTop","marginBottom","layoutClasses","layoutStyles","layoutRef","badge","close","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","datePicker","itemsSelected","nextMonthAriaLabel","nextYearAriaLabel","prevMonthAriaLabel","prevYearAriaLabel","noDataText","carousel","next","delimiter","calendar","moreEvents","fileInput","counter","counterSize","timePicker","am","pm","pagination","previous","page","currentPage","rating","rtl","af","ar","bg","ca","ckb","cs","de","en","es","et","fa","fi","fr","hr","hu","he","it","ja","ko","lv","lt","nl","no","pl","pt","ro","ru","sk","sl","srCyrl","srLatn","sv","th","tr","az","uk","vi","zhHans","zhHant","RtlSymbol","createRtl","localeScope","createRtlScope","isRtl","defaultRtl","rtlClasses","currentScope","provideRtl","newScope","useRtl","VApp","VDefaultsProvider","toRefs","makeDimensionProps","maxHeight","maxWidth","minHeight","minWidth","useDimension","dimensionStyles","useAspectStyles","aspectStyles","ratio","aspectRatio","VResponsive","contentClass","additional","mounted","binding","modifiers","handler","IntersectionObserver","_observe","instance","$","uid","isIntersecting","entry","quiet","init","once","unmounted","Intersect","makeTransitionProps","validator","MaybeTransition","Transition","customProps","mergeProps","VImg","directives","intersect","alt","cover","eager","gradient","lazySrc","rootMargin","threshold","sizes","src","srcset","emits","emit","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","onBeforeMount","lazyImg","Image","pollForSize","nextTick","complete","onError","onLoad","getSrc","img","timeout","poll","imgHeight","imgWidth","setTimeout","endsWith","containClasses","__image","sources","withDirectives","vShow","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","makeTagProps","VToolbarTitle","hasText","makeBorderProps","border","useBorder","borderClasses","classes","makeElevationProps","elevation","useElevation","elevationClasses","isRef","makeRoundedProps","rounded","useRounded","roundedClasses","useColor","backgroundIsCssColor","textIsCssColor","colorClasses","colorStyles","backgroundColor","caretColor","useTextColor","textColorClasses","textColorStyles","useBackgroundColor","backgroundColorClasses","backgroundColorStyles","useForwardRef","refs","Proxy","Reflect","has","bind","getOwnPropertyDescriptor","descriptor","getPrototypeOf","allowedDensities","makeVToolbarProps","collapse","density","extended","extensionHeight","floating","title","VToolbar","toRef","contentHeight","VBtn","variant","VTextField","hideDetails","hasTitle","hasImage","isExtended","extension","prepend","append","filterToolbarProps","useProxiedModel","defaultValue","transformIn","transformOut","internal","VAppBar","modelValue","vToolbarRef","isActive","toolbarProps","makeDensityProps","useDensity","densityClasses","allowedVariants","genOverlays","isClickable","makeVariantProps","textColor","useVariant","variantClasses","VBtnGroup","divided","makeGroupProps","multiple","mandatory","selectedClass","disabled","makeGroupItemProps","useGroupItem","injectKey","required","description","group","isSelected","toggle","select","useGroup","isUnmounted","selected","getIds","arr","getValues","groupVm","unwrapped","forceMandatoryValue","internalValue","step","offset","currentId","currentIndex","newIndex","newItem","ids","VBtnToggleSymbol","VBtnToggle","predefinedSizes","makeSizeProps","useSize","sizeClasses","sizeStyles","IconSymbol","makeIconProps","icon","VComponentIcon","VSvgIcon","inheritAttrs","VLigatureIcon","VClassIcon","defaultSets","svg","useIcon","icons","iconData","iconAlias","aliases","iconSetName","sets","setName","iconName","iconSet","defaultSet","VIcon","slotIcon","slot","fontSize","positionValues","makePositionProps","fixed","usePosition","targets","positionClasses","positionStyles","useRouter","proxy","$router","useLink","RouterLink","resolveDynamicComponent","isLink","href","onClick","onClickOnce","link","route","makeRouterProps","useBackButton","cb","router","popped","removeGuard","addEventListener","onPopstate","beforeEach","removeEventListener","replaced","rippleStop","DELAY_RIPPLE","webkitTransform","opacity","isTouchEvent","isKeyboardEvent","calculate","localX","localY","radius","scale","_ripple","circle","clientWidth","center","sqrt","centerX","centerY","ripples","show","enabled","container","animation","className","dataset","previousPosition","classList","add","activated","performance","now","remove","hide","getElementsByClassName","isHiding","diff","delay","removeChild","isRippleEnabled","rippleShow","element","currentTarget","touched","isTouch","centered","showTimerCommit","showTimer","rippleHide","clearTimeout","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyCode","keyboardRippleHide","focusRippleHide","updateRipple","wasEnabled","passive","removeListeners","updated","Ripple","prependIcon","appendIcon","block","stacked","ripple","isElevated","Tag","hasColor","isExactActive","navigate","VAppBarNavIcon","VToolbarItems","VAppBarTitle","_","VAlertTitle","allowedTypes","VAlert","borderColor","closable","closeIcon","closeLabel","prominent","variantProps","onCloseClick","hasClose","hasPrepend","VAvatar","VChipGroupSymbol","VChipGroup","column","valueComparator","Function","VChip","createCssTransition","origin","mode","hideOnLeave","leaveAbsolute","TransitionGroup","onBeforeEnter","onLeave","offsetTop","offsetLeft","_transitionInitialStyles","setProperty","onAfterLeave","createJavascriptTransition","functions","expandedParentClass","sizeProperty","offsetProperty","_parent","_initialStyle","overflow","onEnter","initialStyle","onAfterEnter","resetStyles","onEnterCancelled","onLeaveCancelled","VDialogTransition","pointerEvents","done","Promise","resolve","getDimensions","animate","duration","easing","finished","then","removeProperty","onBeforeLeave","targetBox","elBox","originX","originY","anchorSide","anchorOffset","getPropertyValue","offsetX","offsetY","VCarouselTransition","VCarouselReverseTransition","VTabTransition","VTabReverseTransition","VMenuTransition","VFabTransition","VDialogBottomTransition","VDialogTopTransition","VFadeTransition","VScaleTransition","VScrollXTransition","VScrollXReverseTransition","VScrollYTransition","VScrollYReverseTransition","VSlideXTransition","VSlideXReverseTransition","VSlideYTransition","VSlideYReverseTransition","VExpandTransition","ExpandTransitionGenerator","VExpandXTransition","activeClass","appendAvatar","draggable","filterIcon","label","pill","prependAvatar","hasAppend","hasFilter","onClickFunc","VDivider","inset","thickness","vertical","dividerStyles","role","ListKey","createList","updateHasPrepend","data","useList","singleOpenStrategy","opened","parents","newOpened","multipleOpenStrategy","independentSelectStrategy","in","independentSingleSelectStrategy","leafSelectStrategy","single","strategy","classicSelectStrategy","childrenIds","everySelected","noneSelected","VNestedSymbol","emptyNested","open","selectedValues","makeNestedProps","selectStrategy","openStrategy","useNested","getPath","unshift","nested","parentId","isGroup","list","event","newSelected","useNestedItem","computedId","isOpen","isIndeterminate","isLeaf","skipRegister","useNestedGroupActivator","VListGroupActivator","VListGroup","collapseIcon","expandIcon","activatorProps","activator","VListItemAvatar","VListItemHeader","VListItemSubtitle","VListItemTitle","VListItem","activeColor","subtitle","slotProps","hasSubtitle","hasHeader","VListSubheader","sticky","VListChildren","itemProps","header","parseItems","$type","$children","VList","nav","VListImg","VListItemMedia","makeDelayProps","closeDelay","openDelay","useDelay","delays","runDelayFactory","runCloseDelay","runOpenDelay","makeActivatorProps","openOnClick","openOnHover","openOnFocus","useActivator","activatorEl","isHovered","isFocused","availableEvents","click","stopPropagation","mouseenter","mouseleave","focus","matches","blur","activatorEvents","events","activatorRef","scope","effectScope","run","_useActivator","oldVal","getActivator","unbindActivatorProps","bindActivatorProps","onScopeDispose","forEach","removeAttribute","setAttribute","querySelector","parseAnchor","anchor","side","align","oppositeAnchor","physicalAnchor","direction","elementToViewport","point","getOffset","anchorToPoint","box","positionStrategies","static","staticPositionStrategy","connected","connectedPositionStrategy","makePositionStrategyProps","positionStrategy","usePositionStrategies","contentStyles","updatePosition","onResize","activatorFixed","assign","preferredAnchor","preferredOrigin","doesOverlap","configuredMaxHeight","configuredMinWidth","contentEl","scrollParent","viewportWidth","viewportHeight","innerHeight","contentBox","scrollables","querySelectorAll","scrollLeft","scrollTop","initialMaxWidth","initialMaxHeight","scrollTo","viewportMargin","freeSpace","fitsY","canFill","floor","targetPoint","contentPoint","clean","frames","requestNewFrame","raf","cancelAnimationFrame","frame","scrollStrategies","closeScrollStrategy","blockScrollStrategy","reposition","repositionScrollStrategy","makeScrollStrategyProps","scrollStrategy","useScrollStrategies","onScroll","bindScroll","scrollElements","contains","scrollbarWidth","innerWidth","documentElement","scrollableParent","slow","update","time","useTeleport","teleportTarget","_target","targetElement","body","cache","WeakMap","makeLazyProps","useLazy","hasContent","stack","useStack","idx","isTop","VuetifyOverlayKey","useOverlay","overlays","overlayZIndex","defaultConditional","checkEvent","checkIsActive","ShadowRoot","host","include","closeConditional","directive","_clickOutside","lastMousedownWasOutside","handleShadow","ClickOutside","onMousedown","Scrim","VOverlay","attach","contained","noClickAnimation","persistent","scrim","afterLeave","scrimColor","onClickOutside","animateClick","onKeydown","toHandlers","VMenu","disableKeys","VMessages","messages","FormKey","makeFormProps","fastFail","lazyValidation","createForm","model","isReadonly","isValidating","errorMessages","validate","results","valid","itemErrorMessages","resetValidation","useForm","makeValidationProps","maxErrors","rules","useValidation","form","internalErrorMessages","isPristine","isDirty","isValid","validationClasses","rule","result","makeVInputProps","VInput","hasMessages","hasDetails","details","filterInputProps","VLabel","VFieldLabel","useIntersectionObserver","intersectionRef","VProgressLinear","bgColor","bgOpacity","bufferValue","clickable","indeterminate","reverse","stream","striped","roundedBar","progress","barColorClasses","barColorStyles","normalizedBuffer","normalizedValue","isReversed","handleClick","borderTop","bar","buffer","makeLoaderProps","loading","useLoader","loaderClasses","LoaderSlot","makeFocusProps","focused","useFocus","focusClasses","makeVFieldProps","appendInnerIcon","clearable","clearIcon","dirty","persistentClear","prependInnerIcon","singleLine","VField","hasLabel","labelRef","floatingLabelRef","controlRef","targetEl","targetRect","targetWidth","transitionDuration","visibility","activeElement","preventDefault","isOutlined","prependInner","hasClear","clear","appendInner","loader","filterFieldProps","VCounter","functional","activeTypes","autofocus","counterValue","hint","persistentHint","persistentPlaceholder","persistentCounter","suffix","maxlength","onIntersect","vInputRef","vFieldRef","inputRef","onFocus","onControlClick","onClear","hasCounter","rootAttrs","inputAttrs","inputProps","fieldProps","fieldClass","LocaleAdapterSymbol","VuetifyLocaleSymbol","provideLocale","adapter","createScope","useLocale","getScope","isLocaleAdapter","createLocaleAdapter","createDefaultLocaleAdapter","rootInstance","createRoot","LANG_PREFIX","params","createTranslateFunction","shortKey","currentLocale","fallbackLocale","createNumberFunction","numberFormat","Intl","NumberFormat","format","rootScope","defaultLocale","locale","genItem","makeSelectProps","chips","closableChips","hideNoData","hideSelected","menuIcon","openOnClear","VSelect","vTextFieldRef","menu","selections","array","selection","onClickControl","hasChips","chip","onChipClose","defaultFilter","query","toLocaleLowerCase","makeFilterProps","customFilter","customKeyFilter","filterKeys","filterMode","noFilter","filterItems","customFiltersLength","loop","customMatches","defaultMatches","keyFilter","defaultMatchesLength","customMatchesLength","useFilter","strQuery","filteredItems","highlightResult","VAutocomplete","search","isSelecting","VBadge","bordered","dot","inline","location","horizontal","calculatePosition","locationStyles","isRight","badgeAttrs","VBannerActions","VBannerText","DisplaySymbol","defaultDisplayOptions","mobileBreakpoint","thresholds","xs","sm","md","lg","xl","xxl","parseDisplayOptions","getClientWidth","getClientHeight","getPlatform","userAgent","regexp","android","ios","cordova","electron","chrome","edge","firefox","opera","win","mac","linux","ssr","touch","createDisplay","platform","breakpointValue","mobile","smAndUp","mdAndUp","lgAndUp","xlAndUp","smAndDown","mdAndDown","lgAndDown","xlAndDown","useDisplay","display","VBanner","avatar","hasAvatar","actions","VBottomNavigation","grow","VBreadcrumbsItem","VBreadcrumbsDivider","VBreadcrumbs","divider","VCardActions","VCardAvatar","VCardHeader","VCardHeaderText","VCardImg","VCardSubtitle","VCardText","VCardTitle","VCard","hover","hasHeaderText","media","handleGesture","wrapper","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","touchstart","changedTouches","originalEvent","touchend","touchmove","touchmoveX","touchmoveY","move","createHandlers","handlers","_touchHandlers","eventName","Touch","VWindowSymbol","VWindowGroupSymbol","VWindow","continuous","nextIcon","prevIcon","showArrows","rootRef","isRtlReverse","axis","transitionCount","transitionHeight","activeIndex","itemsLength","lastIndex","canMoveBack","canMoveForward","arrows","prevProps","nextProps","touchOptions","VWindowItem","reverseTransition","groupItem","isTransitioning","hasTransition","onAfterTransition","onBeforeTransition","onTransitionCancelled","onEnterTransition","VCarousel","cycle","delimiterIcon","hideDelimiters","hideDelimiterBackground","interval","verticalDelimiters","windowRef","slideTimeout","restartTimeout","startTimeout","VCarouselItem","VSelectionControlGroupSymbol","VSelectionControlGroup","falseIcon","trueIcon","makeSelectionControlProps","trueValue","falseValue","useSelectionControl","isMultiple","currentValue","VSelectionControl","isFocusVisible","input","onBlur","filterControlProps","VCheckbox","indeterminateIcon","onChange","controlAttrs","_1","controlProps","_2","VCode","VSheet","VSliderSymbol","getPosition","makeSliderProps","thumbColor","thumbLabel","thumbSize","showTicks","ticks","tickSize","trackColor","trackFillColor","trackSize","useSlider","handleSliderMouseUp","handleMouseMove","getActiveThumb","horizontalDirection","hd","decimals","trimmedStep","trim","numTicks","mousePressed","startOffset","trackContainerRef","activeThumbRef","roundValue","clamped","parseMouseMove","trackStart","trackLength","clickOffset","clickPos","thumbMoved","handleStop","handleStart","moveListenerOptions","capture","onMouseMove","onSliderMouseUp","onSliderTouchend","onSliderTouchstart","onSliderMousedown","percentage","parsedTicks","hasLabels","VSliderThumb","slider","relevantKeys","multipliers","parseKeydown","_step","steps","increase","multiplier","shiftKey","ctrlKey","positionPercentage","VSliderTrack","trackFillColorClasses","trackFillColorStyles","trackColorClasses","trackColorStyles","startDir","endDir","backgroundStyles","trackFillWidth","trackFillStyles","computedTicks","tick","directionProperty","VSlider","thumbContainerRef","trackStop","parseColor","stripAlpha","extractColor","converted","nullColor","inputs","getValue","getColor","hsla","hexa","modes","VColorPickerPreview","hideAlpha","VColorPickerCanvas","dotSize","hue","isInteracting","isOutsideUpdate","dotPosition","dotStyles","canvasRef","updateDotPosition","handleMouseDown","handleMouseUp","coords","updateCanvas","canvas","getContext","saturationGradient","createLinearGradient","addColorStop","fillStyle","fillRect","valueGradient","VColorPickerInput","VColorPickerEdit","m","enabledModes","mi","red","lighten5","lighten4","lighten3","lighten2","lighten1","darken1","darken2","darken3","darken4","accent1","accent2","accent3","accent4","pink","purple","deepPurple","indigo","blue","lightBlue","cyan","teal","green","lightGreen","lime","yellow","amber","orange","deepOrange","brown","blueGrey","grey","shades","black","white","transparent","parseDefaultColors","VColorPickerSwatches","swatches","swatch","VColorPicker","canvasHeight","hideCanvas","hideSliders","hideInputs","showSwatches","swatchesMaxHeight","lastPickedColor","currentColor","updateColor","VCombobox","delimiters","selectionIndex","_search","selectionStart","setSelectionRange","VDialog","fullscreen","retainFocus","scrollable","overlay","onFocusin","before","relatedTarget","after","focusable","hasAttribute","firstElement","lastElement","preventScroll","VExpansionPanelSymbol","VExpansionPanels","variantClass","VExpansionPanel","makeVExpansionPanelTitleProps","hideActions","VExpansionPanelTitle","expansionPanel","expanded","VExpansionPanelText","isBeforeSelected","isAfterSelected","VFileInput","counterSizeString","counterString","showSize","files","totalBytes","totalBytesReadable","fileNames","fileCount","VFooter","VForm","submit","formRef","onReset","onSubmit","VContainer","fluid","breakpoints","breakpointProps","offsetProps","orderProps","propMap","col","order","breakpointClass","breakpoint","VCol","cols","alignSelf","hasColClasses","ALIGNMENT","makeRowProps","def","alignValidator","alignProps","justifyValidator","justifyProps","alignContentValidator","alignContentProps","justify","alignContent","classMap","VRow","dense","noGutters","VSpacer","VHover","isHovering","onMouseenter","onMouseleave","VItemGroupSymbol","VItemGroup","VItem","VKbd","VLayout","VLayoutItem","VLazy","VLocaleProvider","localeInstance","useSsrBoot","ssrBootStyles","VMain","HORIZON","HISTORY","kineticEnergyToVelocity","work","sqrt2","calculateImpulseVelocity","samples","d","vprev","vcurr","useVelocity","addMovement","identifier","timeStamp","endTouch","getVelocity","newest","absX","absY","oops","useTouch","isTemporary","touchless","onTouchstart","onTouchmove","onTouchend","maybeDragging","isDragging","dragProgress","pos","getProgress","limit","touchX","touchY","touchZone","inTouchZone","inElement","cancelable","thresholdMet","velocity","vx","vy","dragStyles","VNavigationDrawer","disableResizeWatcher","disableRouteWatcher","expandOnHover","permanent","rail","railWidth","temporary","currentRoute","rootEl","scrimStyles","useHydration","appContext","_container","__vue_app__","VNoSsr","useRefs","onBeforeUpdate","updateRef","VPagination","totalVisible","firstIcon","lastIcon","pageAriaLabel","currentPageAriaLabel","firstAriaLabel","previousAriaLabel","nextAriaLabel","lastAriaLabel","ellipsis","showFirstLastPage","maxButtons","firstItem","totalWidth","itemWidth","range","middle","ceil","rangeLength","rangeStart","setValue","ariaCurrent","controls","prevDisabled","nextDisabled","ariaDisabled","updateFocus","sign","VParallax","scrollPos","scrollY","translate","VProgressCircular","rotate","MAGIC_RADIUS_CONSTANT","CIRCUMFERENCE","PI","underlayColorClasses","underlayColorStyles","diameter","strokeWidth","strokeDashOffset","VRadio","VRadioGroup","VRangeSlider","strict","startThumbRef","stopThumbRef","stopOffset","VRating","itemAriaLabel","emptyIcon","fullIcon","halfIncrements","itemLabels","itemLabelPosition","increments","hoverIndex","focusIndex","firstRef","isClicking","itemState","isFilled","isFullIcon","eventState","onMouseup","VRatingItem","showStar","btnProps","bias","calculateUpdatedOffset","selectedElement","containerSize","contentSize","currentScrollOffset","clientSize","offsetStart","adjustedOffsetStart","totalSize","itemOffset","additionalOffset","calculateCenteredOffset","offsetCentered","VSlideGroupSymbol","VSlideGroup","centerActive","symbol","isOverflowing","scrollOffset","containerRef","containerRect","contentRef","disableTransition","startTouch","maxScrollOffset","composedPath","onFocusout","nextElementSibling","previousElementSibling","firstElementChild","lastElementChild","newAbosluteOffset","scrollAmount","willChange","hasAffixes","hasPrev","hasNext","VSlideGroupItem","slideGroupItem","VSnackbar","multiLine","activeTimeout","onPointerenter","VSwitch","loaderColor","control","VSystemBar","VTab","sliderColor","hideSlider","VTabsSymbol","sliderColorClasses","sliderColorStyles","sliderEl","prevEl","nextEl","prevBox","nextBox","xy","XY","rightBottom","widthHeight","prevPos","nextPos","initialScale","sigma","fill","VTabs","alignWithTitle","fixedTabs","optional","parsedItems","VTable","fixedHeader","fixedFooter","VTextarea","autoGrow","noResize","rows","maxRows","controlHeight","textareaRef","sizerRef","calculateInputHeight","padding","lineHeight","VThemeProvider","withBackground","VTimelineSymbol","VTimelineDivider","hideDot","lineColor","iconColor","fillDot","dotColor","timeline","lineColorStyles","lineColorClasses","VTimelineItem","hideOpposite","dotRef","opposite","VTimeline","lineInset","lineThickness","truncateLine","sideClass","VTooltip","args","VValidation","validation","modifierKeys","attributes","attr","characterData","childList","subtree","sub","MutationObserver","mutations","_mutate","Mutate","_onResize","Resize","self","arg","_onScroll","Scroll","cancel","checkboxOn","checkboxOff","checkboxIndeterminate","expand","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","unfold","plus","minus","mdi","createVuetify","install","components","mixin","$vuetify","call","_createVuetify","version"],"mappings":"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"}