@vuetify/nightly 3.0.0-beta.2 → 3.0.0-beta.5

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 (764) hide show
  1. package/CHANGELOG.md +13 -45
  2. package/dist/_component-variables.sass +61 -0
  3. package/dist/json/attributes.json +398 -370
  4. package/dist/json/importMap.json +207 -219
  5. package/dist/json/tags.json +99 -121
  6. package/dist/json/web-types.json +1246 -1055
  7. package/dist/vuetify.css +994 -858
  8. package/dist/vuetify.d.ts +8241 -5547
  9. package/dist/vuetify.esm.js +8872 -8039
  10. package/dist/vuetify.esm.js.map +1 -1
  11. package/dist/vuetify.js +8871 -8038
  12. package/dist/vuetify.js.map +1 -1
  13. package/dist/vuetify.min.css +2 -2
  14. package/dist/vuetify.min.js +1142 -1077
  15. package/dist/vuetify.min.js.map +1 -1
  16. package/lib/blueprints/index.mjs +4 -0
  17. package/lib/blueprints/index.mjs.map +1 -0
  18. package/lib/blueprints/md1.mjs +63 -0
  19. package/lib/blueprints/md1.mjs.map +1 -0
  20. package/lib/blueprints/md2.mjs +60 -0
  21. package/lib/blueprints/md2.mjs.map +1 -0
  22. package/lib/blueprints/md3.mjs +74 -0
  23. package/lib/blueprints/md3.mjs.map +1 -0
  24. package/lib/components/VAlert/VAlert.css +5 -5
  25. package/lib/components/VAlert/VAlert.mjs +19 -8
  26. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  27. package/lib/components/VAlert/VAlert.sass +0 -2
  28. package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
  29. package/lib/components/VAlert/index.mjs.map +1 -1
  30. package/lib/components/VApp/VApp.css +2 -5
  31. package/lib/components/VApp/VApp.mjs +3 -4
  32. package/lib/components/VApp/VApp.mjs.map +1 -1
  33. package/lib/components/VApp/VApp.sass +11 -12
  34. package/lib/components/VApp/index.mjs.map +1 -1
  35. package/lib/components/VApp/variables.scss +6 -0
  36. package/lib/components/VAppBar/VAppBar.mjs +8 -7
  37. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  38. package/lib/components/VAppBar/VAppBar.sass +0 -1
  39. package/lib/components/VAppBar/VAppBarNavIcon.mjs +11 -14
  40. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  41. package/lib/components/VAppBar/VAppBarTitle.mjs +7 -4
  42. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  43. package/lib/components/VAppBar/_variables.scss +2 -0
  44. package/lib/components/VAppBar/index.mjs.map +1 -1
  45. package/lib/components/VAutocomplete/VAutocomplete.mjs +76 -53
  46. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  47. package/lib/components/VAutocomplete/VAutocomplete.sass +0 -2
  48. package/lib/components/VAutocomplete/index.mjs.map +1 -1
  49. package/lib/components/VAvatar/VAvatar.css +1 -1
  50. package/lib/components/VAvatar/VAvatar.mjs +3 -2
  51. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  52. package/lib/components/VAvatar/VAvatar.sass +1 -2
  53. package/lib/components/VAvatar/_mixins.scss +0 -1
  54. package/lib/components/VAvatar/index.mjs.map +1 -1
  55. package/lib/components/VBadge/VBadge.css +3 -6
  56. package/lib/components/VBadge/VBadge.mjs +21 -48
  57. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  58. package/lib/components/VBadge/VBadge.sass +2 -5
  59. package/lib/components/VBadge/_variables.scss +3 -4
  60. package/lib/components/VBadge/index.mjs.map +1 -1
  61. package/lib/components/VBanner/VBanner.css +7 -7
  62. package/lib/components/VBanner/VBanner.mjs +34 -22
  63. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  64. package/lib/components/VBanner/VBanner.sass +6 -8
  65. package/lib/components/VBanner/VBannerActions.mjs +1 -1
  66. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  67. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  68. package/lib/components/VBanner/index.mjs +0 -2
  69. package/lib/components/VBanner/index.mjs.map +1 -1
  70. package/lib/components/VBottomNavigation/VBottomNavigation.css +5 -12
  71. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +5 -4
  72. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  73. package/lib/components/VBottomNavigation/VBottomNavigation.sass +6 -14
  74. package/lib/components/VBottomNavigation/_variables.scss +7 -8
  75. package/lib/components/VBottomNavigation/index.mjs.map +1 -1
  76. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  77. package/lib/components/VBottomSheet/index.mjs.map +1 -1
  78. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +31 -15
  79. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  80. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +0 -1
  81. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  82. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +5 -8
  83. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  84. package/lib/components/VBreadcrumbs/index.mjs.map +1 -1
  85. package/lib/components/VBtn/VBtn.css +83 -24
  86. package/lib/components/VBtn/VBtn.mjs +80 -31
  87. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  88. package/lib/components/VBtn/VBtn.sass +57 -8
  89. package/lib/components/VBtn/_variables.scss +7 -4
  90. package/lib/components/VBtn/index.mjs.map +1 -1
  91. package/lib/components/VBtnGroup/VBtnGroup.css +1 -1
  92. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  93. package/lib/components/VBtnGroup/VBtnGroup.sass +0 -1
  94. package/lib/components/VBtnGroup/_variables.scss +2 -0
  95. package/lib/components/VBtnGroup/index.mjs.map +1 -1
  96. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  97. package/lib/components/VBtnToggle/VBtnToggle.sass +0 -1
  98. package/lib/components/VBtnToggle/_variables.scss +1 -0
  99. package/lib/components/VBtnToggle/index.mjs.map +1 -1
  100. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  101. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  102. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  103. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  104. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  105. package/lib/components/VCalendar/index.mjs.map +1 -1
  106. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  107. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  108. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  109. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  110. package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
  111. package/lib/components/VCalendar/modes/column.mjs.map +1 -1
  112. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  113. package/lib/components/VCalendar/modes/index.mjs.map +1 -1
  114. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  115. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  116. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  117. package/lib/components/VCalendar/util/props.mjs.map +1 -1
  118. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  119. package/lib/components/VCard/VCard.css +91 -73
  120. package/lib/components/VCard/VCard.mjs +61 -70
  121. package/lib/components/VCard/VCard.mjs.map +1 -1
  122. package/lib/components/VCard/VCard.sass +71 -59
  123. package/lib/components/VCard/VCardActions.mjs +1 -1
  124. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  125. package/lib/components/VCard/VCardItem.mjs +88 -0
  126. package/lib/components/VCard/VCardItem.mjs.map +1 -0
  127. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  128. package/lib/components/VCard/VCardText.mjs.map +1 -1
  129. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  130. package/lib/components/VCard/_variables.scss +39 -24
  131. package/lib/components/VCard/index.mjs +1 -5
  132. package/lib/components/VCard/index.mjs.map +1 -1
  133. package/lib/components/VCarousel/VCarousel.mjs +5 -3
  134. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  135. package/lib/components/VCarousel/VCarousel.sass +0 -1
  136. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  137. package/lib/components/VCarousel/_variables.scss +1 -0
  138. package/lib/components/VCarousel/index.mjs.map +1 -1
  139. package/lib/components/VCheckbox/VCheckbox.mjs +13 -45
  140. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  141. package/lib/components/VCheckbox/VCheckbox.sass +0 -1
  142. package/lib/components/VCheckbox/VCheckboxBtn.mjs +67 -0
  143. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -0
  144. package/lib/components/VCheckbox/index.mjs +1 -0
  145. package/lib/components/VCheckbox/index.mjs.map +1 -1
  146. package/lib/components/VChip/VChip.css +142 -65
  147. package/lib/components/VChip/VChip.mjs +80 -41
  148. package/lib/components/VChip/VChip.mjs.map +1 -1
  149. package/lib/components/VChip/VChip.sass +6 -1
  150. package/lib/components/VChip/_mixins.scss +26 -6
  151. package/lib/components/VChip/_variables.scss +1 -5
  152. package/lib/components/VChip/index.mjs.map +1 -1
  153. package/lib/components/VChipGroup/VChipGroup.mjs +5 -4
  154. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  155. package/lib/components/VChipGroup/VChipGroup.sass +1 -1
  156. package/lib/components/VChipGroup/_variables.scss +1 -1
  157. package/lib/components/VChipGroup/index.mjs.map +1 -1
  158. package/lib/components/VCode/VCode.sass +1 -2
  159. package/lib/components/VCode/_variables.scss +1 -1
  160. package/lib/components/VCode/index.mjs.map +1 -1
  161. package/lib/components/VColorPicker/VColorPicker.mjs +16 -10
  162. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  163. package/lib/components/VColorPicker/VColorPicker.sass +0 -1
  164. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -4
  165. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  166. package/lib/components/VColorPicker/VColorPickerCanvas.sass +0 -1
  167. package/lib/components/VColorPicker/VColorPickerEdit.mjs +4 -3
  168. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  169. package/lib/components/VColorPicker/VColorPickerEdit.sass +0 -1
  170. package/lib/components/VColorPicker/VColorPickerPreview.mjs +4 -3
  171. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  172. package/lib/components/VColorPicker/VColorPickerPreview.sass +0 -1
  173. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +6 -5
  174. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  175. package/lib/components/VColorPicker/VColorPickerSwatches.sass +0 -1
  176. package/lib/components/VColorPicker/_variables.scss +17 -10
  177. package/lib/components/VColorPicker/index.mjs.map +1 -1
  178. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  179. package/lib/components/VCombobox/VCombobox.mjs +82 -66
  180. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  181. package/lib/components/VCombobox/VCombobox.sass +0 -2
  182. package/lib/components/VCombobox/index.mjs.map +1 -1
  183. package/lib/components/VCounter/VCounter.mjs +16 -16
  184. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  185. package/lib/components/VCounter/VCounter.sass +1 -2
  186. package/lib/components/VCounter/_variables.scss +2 -1
  187. package/lib/components/VCounter/index.mjs.map +1 -1
  188. package/lib/components/VData/VData.mjs.map +1 -1
  189. package/lib/components/VData/index.mjs.map +1 -1
  190. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  191. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  192. package/lib/components/VDataIterator/index.mjs.map +1 -1
  193. package/lib/components/VDataTable/MobileRow.mjs.map +1 -1
  194. package/lib/components/VDataTable/Row.mjs.map +1 -1
  195. package/lib/components/VDataTable/RowGroup.mjs.map +1 -1
  196. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  197. package/lib/components/VDataTable/VDataTableHeader.mjs.map +1 -1
  198. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs.map +1 -1
  199. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs.map +1 -1
  200. package/lib/components/VDataTable/VEditDialog.mjs.map +1 -1
  201. package/lib/components/VDataTable/VVirtualTable.mjs.map +1 -1
  202. package/lib/components/VDataTable/index.mjs.map +1 -1
  203. package/lib/components/VDataTable/mixins/header.mjs.map +1 -1
  204. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  205. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  206. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  207. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  208. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  209. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  210. package/lib/components/VDatePicker/index.mjs.map +1 -1
  211. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  212. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  213. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  214. package/lib/components/VDatePicker/util/index.mjs.map +1 -1
  215. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  216. package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
  217. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  218. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
  219. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  220. package/lib/components/VDefaultsProvider/index.mjs.map +1 -1
  221. package/lib/components/VDialog/VDialog.css +2 -6
  222. package/lib/components/VDialog/VDialog.mjs +29 -25
  223. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  224. package/lib/components/VDialog/VDialog.sass +1 -6
  225. package/lib/components/VDialog/_variables.scss +0 -2
  226. package/lib/components/VDialog/index.mjs.map +1 -1
  227. package/lib/components/VDivider/VDivider.mjs +16 -17
  228. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  229. package/lib/components/VDivider/VDivider.sass +0 -1
  230. package/lib/components/VDivider/_variables.scss +3 -1
  231. package/lib/components/VDivider/index.mjs.map +1 -1
  232. package/lib/components/VExpansionPanel/VExpansionPanel.css +8 -7
  233. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +6 -4
  234. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  235. package/lib/components/VExpansionPanel/VExpansionPanel.sass +0 -1
  236. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  237. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +7 -6
  238. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  239. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  240. package/lib/components/VExpansionPanel/_variables.scss +15 -10
  241. package/lib/components/VExpansionPanel/index.mjs.map +1 -1
  242. package/lib/components/VField/VField.css +9 -9
  243. package/lib/components/VField/VField.mjs +24 -15
  244. package/lib/components/VField/VField.mjs.map +1 -1
  245. package/lib/components/VField/VField.sass +6 -8
  246. package/lib/components/VField/VFieldLabel.mjs +8 -9
  247. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  248. package/lib/components/VField/_variables.scss +3 -3
  249. package/lib/components/VField/index.mjs.map +1 -1
  250. package/lib/components/VFileInput/VFileInput.mjs +3 -2
  251. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  252. package/lib/components/VFileInput/VFileInput.sass +0 -1
  253. package/lib/components/VFileInput/index.mjs.map +1 -1
  254. package/lib/components/VFooter/VFooter.mjs +5 -4
  255. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  256. package/lib/components/VFooter/VFooter.sass +0 -1
  257. package/lib/components/VFooter/_variables.scss +2 -1
  258. package/lib/components/VFooter/index.mjs.map +1 -1
  259. package/lib/components/VForm/VForm.mjs +3 -3
  260. package/lib/components/VForm/VForm.mjs.map +1 -1
  261. package/lib/components/VForm/index.mjs.map +1 -1
  262. package/lib/components/VGrid/VCol.mjs.map +1 -1
  263. package/lib/components/VGrid/VContainer.mjs +4 -3
  264. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  265. package/lib/components/VGrid/VRow.mjs.map +1 -1
  266. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  267. package/lib/components/VGrid/index.mjs.map +1 -1
  268. package/lib/components/VHover/VHover.mjs.map +1 -1
  269. package/lib/components/VHover/index.mjs.map +1 -1
  270. package/lib/components/VIcon/VIcon.css +0 -8
  271. package/lib/components/VIcon/VIcon.mjs +21 -24
  272. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  273. package/lib/components/VIcon/VIcon.sass +0 -9
  274. package/lib/components/VIcon/_variables.scss +2 -5
  275. package/lib/components/VIcon/index.mjs.map +1 -1
  276. package/lib/components/VImg/VImg.mjs.map +1 -1
  277. package/lib/components/VImg/VImg.sass +0 -1
  278. package/lib/components/VImg/index.mjs.map +1 -1
  279. package/lib/components/VInput/VInput.mjs +13 -8
  280. package/lib/components/VInput/VInput.mjs.map +1 -1
  281. package/lib/components/VInput/VInput.sass +0 -1
  282. package/lib/components/VInput/index.mjs.map +1 -1
  283. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  284. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  285. package/lib/components/VItemGroup/VItemGroup.sass +0 -1
  286. package/lib/components/VItemGroup/index.mjs.map +1 -1
  287. package/lib/components/VKbd/VKbd.sass +0 -1
  288. package/lib/components/VKbd/_variables.scss +1 -1
  289. package/lib/components/VKbd/index.mjs.map +1 -1
  290. package/lib/components/VLabel/VLabel.mjs +4 -3
  291. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  292. package/lib/components/VLabel/VLabel.sass +0 -1
  293. package/lib/components/VLabel/_variables.scss +1 -0
  294. package/lib/components/VLabel/index.mjs.map +1 -1
  295. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  296. package/lib/components/VLayout/VLayoutItem.mjs +1 -1
  297. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  298. package/lib/components/VLayout/index.mjs.map +1 -1
  299. package/lib/components/VLazy/VLazy.mjs +5 -3
  300. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  301. package/lib/components/VLazy/index.mjs.map +1 -1
  302. package/lib/components/VList/VList.css +0 -6
  303. package/lib/components/VList/VList.mjs +62 -48
  304. package/lib/components/VList/VList.mjs.map +1 -1
  305. package/lib/components/VList/VList.sass +0 -2
  306. package/lib/components/VList/VListChildren.mjs +43 -5
  307. package/lib/components/VList/VListChildren.mjs.map +1 -1
  308. package/lib/components/VList/VListGroup.mjs +18 -7
  309. package/lib/components/VList/VListGroup.mjs.map +1 -1
  310. package/lib/components/VList/VListImg.mjs.map +1 -1
  311. package/lib/components/VList/VListItem.css +14 -13
  312. package/lib/components/VList/VListItem.mjs +25 -19
  313. package/lib/components/VList/VListItem.mjs.map +1 -1
  314. package/lib/components/VList/VListItem.sass +1 -2
  315. package/lib/components/VList/VListItemAction.mjs +8 -9
  316. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  317. package/lib/components/VList/VListItemAvatar.mjs +4 -3
  318. package/lib/components/VList/VListItemAvatar.mjs.map +1 -1
  319. package/lib/components/VList/VListItemHeader.mjs.map +1 -1
  320. package/lib/components/VList/VListItemIcon.mjs +4 -3
  321. package/lib/components/VList/VListItemIcon.mjs.map +1 -1
  322. package/lib/components/VList/VListItemMedia.mjs +4 -3
  323. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  324. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  325. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  326. package/lib/components/VList/VListSubheader.mjs +7 -6
  327. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  328. package/lib/components/VList/_variables.scss +0 -1
  329. package/lib/components/VList/index.mjs +2 -2
  330. package/lib/components/VList/index.mjs.map +1 -1
  331. package/lib/components/VList/list.mjs.map +1 -1
  332. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -3
  333. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  334. package/lib/components/VLocaleProvider/index.mjs.map +1 -1
  335. package/lib/components/VMain/VMain.mjs +4 -3
  336. package/lib/components/VMain/VMain.mjs.map +1 -1
  337. package/lib/components/VMain/VMain.sass +0 -1
  338. package/lib/components/VMain/_variables.scss +1 -1
  339. package/lib/components/VMain/index.mjs.map +1 -1
  340. package/lib/components/VMenu/VMenu.mjs +10 -6
  341. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  342. package/lib/components/VMenu/VMenu.sass +0 -1
  343. package/lib/components/VMenu/_variables.scss +0 -1
  344. package/lib/components/VMenu/index.mjs.map +1 -1
  345. package/lib/components/VMenu/shared.mjs.map +1 -1
  346. package/lib/components/VMessages/VMessages.mjs +5 -3
  347. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  348. package/lib/components/VMessages/VMessages.sass +0 -1
  349. package/lib/components/VMessages/_variables.scss +1 -1
  350. package/lib/components/VMessages/index.mjs.map +1 -1
  351. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +17 -11
  352. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  353. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +0 -1
  354. package/lib/components/VNavigationDrawer/_variables.scss +2 -1
  355. package/lib/components/VNavigationDrawer/index.mjs.map +1 -1
  356. package/lib/components/VNavigationDrawer/touch.mjs +5 -2
  357. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  358. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  359. package/lib/components/VNoSsr/index.mjs.map +1 -1
  360. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  361. package/lib/components/VOtpInput/index.mjs.map +1 -1
  362. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  363. package/lib/components/VOverflowBtn/index.mjs.map +1 -1
  364. package/lib/components/VOverlay/VOverlay.css +0 -1
  365. package/lib/components/VOverlay/VOverlay.mjs +54 -28
  366. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  367. package/lib/components/VOverlay/VOverlay.sass +0 -2
  368. package/lib/components/VOverlay/_variables.scss +0 -1
  369. package/lib/components/VOverlay/index.mjs.map +1 -1
  370. package/lib/components/VOverlay/locationStrategies.mjs +395 -0
  371. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -0
  372. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  373. package/lib/components/VOverlay/scrollStrategies.mjs +2 -2
  374. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  375. package/lib/components/VOverlay/useActivator.mjs +11 -4
  376. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  377. package/lib/components/VOverlay/util/point.mjs +3 -3
  378. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  379. package/lib/components/VPagination/VPagination.mjs +22 -17
  380. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  381. package/lib/components/VPagination/VPagination.sass +0 -1
  382. package/lib/components/VPagination/index.mjs.map +1 -1
  383. package/lib/components/VParallax/VParallax.mjs +5 -5
  384. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  385. package/lib/components/VParallax/index.mjs.map +1 -1
  386. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  387. package/lib/components/VPicker/index.mjs.map +1 -1
  388. package/lib/components/VProgressCircular/VProgressCircular.mjs +6 -5
  389. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  390. package/lib/components/VProgressCircular/VProgressCircular.sass +0 -1
  391. package/lib/components/VProgressCircular/_variables.scss +2 -0
  392. package/lib/components/VProgressCircular/index.mjs.map +1 -1
  393. package/lib/components/VProgressLinear/VProgressLinear.mjs +5 -3
  394. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  395. package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
  396. package/lib/components/VProgressLinear/_variables.scss +1 -0
  397. package/lib/components/VProgressLinear/index.mjs.map +1 -1
  398. package/lib/components/VRadio/VRadio.mjs +5 -3
  399. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  400. package/lib/components/VRadio/index.mjs.map +1 -1
  401. package/lib/components/VRadioGroup/VRadioGroup.mjs +10 -5
  402. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  403. package/lib/components/VRadioGroup/VRadioGroup.sass +5 -3
  404. package/lib/components/VRadioGroup/_variables.scss +3 -4
  405. package/lib/components/VRadioGroup/index.mjs.map +1 -1
  406. package/lib/components/VRangeSlider/VRangeSlider.mjs +12 -13
  407. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  408. package/lib/components/VRangeSlider/index.mjs.map +1 -1
  409. package/lib/components/VRating/VRating.mjs +9 -7
  410. package/lib/components/VRating/VRating.mjs.map +1 -1
  411. package/lib/components/VRating/VRating.sass +2 -1
  412. package/lib/components/VRating/index.mjs.map +1 -1
  413. package/lib/components/VResponsive/VResponsive.mjs +7 -6
  414. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  415. package/lib/components/VResponsive/index.mjs.map +1 -1
  416. package/lib/components/VSelect/VSelect.mjs +90 -38
  417. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  418. package/lib/components/VSelect/VSelect.sass +0 -2
  419. package/lib/components/VSelect/index.mjs.map +1 -1
  420. package/lib/components/VSelectionControl/VSelectionControl.css +1 -0
  421. package/lib/components/VSelectionControl/VSelectionControl.mjs +17 -14
  422. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  423. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
  424. package/lib/components/VSelectionControl/_variables.scss +1 -0
  425. package/lib/components/VSelectionControl/index.mjs.map +1 -1
  426. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +5 -4
  427. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  428. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +1 -6
  429. package/lib/components/VSelectionControlGroup/_variables.scss +1 -4
  430. package/lib/components/VSelectionControlGroup/index.mjs.map +1 -1
  431. package/lib/components/VSheet/VSheet.mjs +10 -6
  432. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  433. package/lib/components/VSheet/VSheet.sass +0 -1
  434. package/lib/components/VSheet/_variables.scss +3 -2
  435. package/lib/components/VSheet/index.mjs.map +1 -1
  436. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  437. package/lib/components/VSkeletonLoader/index.mjs.map +1 -1
  438. package/lib/components/VSlideGroup/VSlideGroup.mjs +48 -49
  439. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  440. package/lib/components/VSlideGroup/VSlideGroup.sass +0 -1
  441. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +4 -3
  442. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  443. package/lib/components/VSlideGroup/_variables.scss +0 -5
  444. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  445. package/lib/components/VSlideGroup/index.mjs +2 -2
  446. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  447. package/lib/components/VSlider/VSlider.mjs +7 -9
  448. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  449. package/lib/components/VSlider/VSlider.sass +0 -2
  450. package/lib/components/VSlider/VSliderThumb.mjs +6 -5
  451. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  452. package/lib/components/VSlider/VSliderThumb.sass +0 -2
  453. package/lib/components/VSlider/VSliderTrack.mjs +13 -11
  454. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  455. package/lib/components/VSlider/VSliderTrack.sass +0 -2
  456. package/lib/components/VSlider/index.mjs.map +1 -1
  457. package/lib/components/VSlider/slider.mjs +4 -4
  458. package/lib/components/VSlider/slider.mjs.map +1 -1
  459. package/lib/components/VSnackbar/VSnackbar.css +5 -23
  460. package/lib/components/VSnackbar/VSnackbar.mjs +55 -52
  461. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  462. package/lib/components/VSnackbar/VSnackbar.sass +0 -19
  463. package/lib/components/VSnackbar/_variables.scss +2 -0
  464. package/lib/components/VSnackbar/index.mjs.map +1 -1
  465. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  466. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  467. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  468. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  469. package/lib/components/VSparkline/index.mjs.map +1 -1
  470. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  471. package/lib/components/VSpeedDial/index.mjs.map +1 -1
  472. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  473. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  474. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  475. package/lib/components/VStepper/index.mjs.map +1 -1
  476. package/lib/components/VSwitch/VSwitch.mjs +8 -2
  477. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  478. package/lib/components/VSwitch/VSwitch.sass +0 -1
  479. package/lib/components/VSwitch/_variables.scss +1 -0
  480. package/lib/components/VSwitch/index.mjs.map +1 -1
  481. package/lib/components/VSystemBar/VSystemBar.mjs +5 -13
  482. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  483. package/lib/components/VSystemBar/VSystemBar.sass +0 -1
  484. package/lib/components/VSystemBar/_variables.scss +2 -1
  485. package/lib/components/VSystemBar/index.mjs.map +1 -1
  486. package/lib/components/VTable/VTable.mjs +9 -8
  487. package/lib/components/VTable/VTable.mjs.map +1 -1
  488. package/lib/components/VTable/VTable.sass +0 -1
  489. package/lib/components/VTable/_variables.scss +2 -0
  490. package/lib/components/VTable/index.mjs.map +1 -1
  491. package/lib/components/VTabs/VTab.css +1 -1
  492. package/lib/components/VTabs/VTab.mjs +6 -5
  493. package/lib/components/VTabs/VTab.mjs.map +1 -1
  494. package/lib/components/VTabs/VTab.sass +1 -2
  495. package/lib/components/VTabs/VTabs.css +8 -9
  496. package/lib/components/VTabs/VTabs.mjs +9 -7
  497. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  498. package/lib/components/VTabs/VTabs.sass +4 -6
  499. package/lib/components/VTabs/_variables.scss +2 -0
  500. package/lib/components/VTabs/index.mjs.map +1 -1
  501. package/lib/components/VTabs/shared.mjs.map +1 -1
  502. package/lib/components/VTextField/VTextField.mjs +10 -7
  503. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  504. package/lib/components/VTextField/VTextField.sass +0 -1
  505. package/lib/components/VTextField/_variables.scss +1 -1
  506. package/lib/components/VTextField/index.mjs.map +1 -1
  507. package/lib/components/VTextarea/VTextarea.mjs +4 -4
  508. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  509. package/lib/components/VTextarea/VTextarea.sass +0 -2
  510. package/lib/components/VTextarea/_variables.scss +1 -0
  511. package/lib/components/VTextarea/index.mjs.map +1 -1
  512. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  513. package/lib/components/VThemeProvider/index.mjs.map +1 -1
  514. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  515. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  516. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  517. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  518. package/lib/components/VTimePicker/index.mjs.map +1 -1
  519. package/lib/components/VTimeline/VTimeline.mjs +24 -25
  520. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  521. package/lib/components/VTimeline/VTimeline.sass +3 -3
  522. package/lib/components/VTimeline/VTimelineDivider.mjs +42 -38
  523. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  524. package/lib/components/VTimeline/VTimelineItem.mjs +12 -12
  525. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  526. package/lib/components/VTimeline/_variables.scss +11 -6
  527. package/lib/components/VTimeline/index.mjs.map +1 -1
  528. package/lib/components/VToolbar/VToolbar.css +15 -6
  529. package/lib/components/VToolbar/VToolbar.mjs +25 -18
  530. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  531. package/lib/components/VToolbar/VToolbar.sass +15 -7
  532. package/lib/components/VToolbar/VToolbarItems.mjs +12 -8
  533. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  534. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  535. package/lib/components/VToolbar/_variables.scss +6 -2
  536. package/lib/components/VToolbar/index.mjs.map +1 -1
  537. package/lib/components/VTooltip/VTooltip.mjs +44 -40
  538. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  539. package/lib/components/VTooltip/VTooltip.sass +0 -1
  540. package/lib/components/VTooltip/_variables.scss +1 -0
  541. package/lib/components/VTooltip/index.mjs.map +1 -1
  542. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  543. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  544. package/lib/components/VTreeview/index.mjs.map +1 -1
  545. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  546. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  547. package/lib/components/VValidation/index.mjs.map +1 -1
  548. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  549. package/lib/components/VVirtualScroll/index.mjs.map +1 -1
  550. package/lib/components/VWindow/VWindow.mjs +6 -6
  551. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  552. package/lib/components/VWindow/VWindow.sass +0 -2
  553. package/lib/components/VWindow/VWindowItem.mjs +18 -11
  554. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  555. package/lib/components/VWindow/_variables.scss +1 -0
  556. package/lib/components/VWindow/index.mjs.map +1 -1
  557. package/lib/components/index.d.ts +6631 -3928
  558. package/lib/components/index.mjs.map +1 -1
  559. package/lib/components/transitions/createTransition.mjs.map +1 -1
  560. package/lib/components/transitions/dialog-transition.mjs +64 -8
  561. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  562. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  563. package/lib/components/transitions/index.mjs.map +1 -1
  564. package/lib/composables/border.mjs +5 -6
  565. package/lib/composables/border.mjs.map +1 -1
  566. package/lib/composables/color.mjs.map +1 -1
  567. package/lib/composables/defaults.mjs.map +1 -1
  568. package/lib/composables/delay.mjs.map +1 -1
  569. package/lib/composables/density.mjs.map +1 -1
  570. package/lib/composables/dimensions.mjs.map +1 -1
  571. package/lib/composables/display.mjs +13 -11
  572. package/lib/composables/display.mjs.map +1 -1
  573. package/lib/composables/elevation.mjs.map +1 -1
  574. package/lib/composables/filter.mjs +33 -13
  575. package/lib/composables/filter.mjs.map +1 -1
  576. package/lib/composables/focus.mjs.map +1 -1
  577. package/lib/composables/form.mjs +6 -6
  578. package/lib/composables/form.mjs.map +1 -1
  579. package/lib/composables/forwardRef.mjs.map +1 -1
  580. package/lib/composables/group.mjs.map +1 -1
  581. package/lib/composables/hydration.mjs.map +1 -1
  582. package/lib/composables/icons.mjs +15 -3
  583. package/lib/composables/icons.mjs.map +1 -1
  584. package/lib/composables/index.mjs.map +1 -1
  585. package/lib/composables/intersectionObserver.mjs.map +1 -1
  586. package/lib/composables/items.mjs +39 -11
  587. package/lib/composables/items.mjs.map +1 -1
  588. package/lib/composables/layout.mjs +3 -3
  589. package/lib/composables/layout.mjs.map +1 -1
  590. package/lib/composables/lazy.mjs.map +1 -1
  591. package/lib/composables/loader.mjs.map +1 -1
  592. package/lib/composables/locale.mjs +11 -8
  593. package/lib/composables/locale.mjs.map +1 -1
  594. package/lib/composables/location.mjs +66 -0
  595. package/lib/composables/location.mjs.map +1 -0
  596. package/lib/composables/mutationObserver.mjs.map +1 -1
  597. package/lib/composables/nested/nested.mjs.map +1 -1
  598. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  599. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  600. package/lib/composables/position.mjs +4 -25
  601. package/lib/composables/position.mjs.map +1 -1
  602. package/lib/composables/proxiedModel.mjs.map +1 -1
  603. package/lib/composables/refs.mjs.map +1 -1
  604. package/lib/composables/resizeObserver.mjs.map +1 -1
  605. package/lib/composables/rounded.mjs.map +1 -1
  606. package/lib/composables/router.mjs +25 -23
  607. package/lib/composables/router.mjs.map +1 -1
  608. package/lib/composables/rtl.mjs.map +1 -1
  609. package/lib/composables/scopeId.mjs +11 -0
  610. package/lib/composables/scopeId.mjs.map +1 -0
  611. package/lib/composables/scroll.mjs.map +1 -1
  612. package/lib/composables/selectLink.mjs.map +1 -1
  613. package/lib/composables/size.mjs +2 -2
  614. package/lib/composables/size.mjs.map +1 -1
  615. package/lib/composables/ssrBoot.mjs +3 -2
  616. package/lib/composables/ssrBoot.mjs.map +1 -1
  617. package/lib/composables/stack.mjs +23 -22
  618. package/lib/composables/stack.mjs.map +1 -1
  619. package/lib/composables/tag.mjs.map +1 -1
  620. package/lib/composables/teleport.mjs.map +1 -1
  621. package/lib/composables/theme.mjs +94 -93
  622. package/lib/composables/theme.mjs.map +1 -1
  623. package/lib/composables/toggleScope.mjs +18 -0
  624. package/lib/composables/toggleScope.mjs.map +1 -0
  625. package/lib/composables/touch.mjs.map +1 -1
  626. package/lib/composables/transition.mjs.map +1 -1
  627. package/lib/composables/validation.mjs +15 -7
  628. package/lib/composables/validation.mjs.map +1 -1
  629. package/lib/composables/variant.mjs +5 -3
  630. package/lib/composables/variant.mjs.map +1 -1
  631. package/lib/directives/click-outside/index.mjs.map +1 -1
  632. package/lib/directives/color/index.mjs.map +1 -1
  633. package/lib/directives/index.mjs.map +1 -1
  634. package/lib/directives/intersect/index.mjs.map +1 -1
  635. package/lib/directives/mutate/index.mjs.map +1 -1
  636. package/lib/directives/resize/index.mjs.map +1 -1
  637. package/lib/directives/ripple/VRipple.sass +0 -1
  638. package/lib/directives/ripple/index.mjs.map +1 -1
  639. package/lib/directives/scroll/index.mjs.map +1 -1
  640. package/lib/directives/touch/index.mjs.map +1 -1
  641. package/lib/entry-bundler.mjs +1 -1
  642. package/lib/entry-bundler.mjs.map +1 -1
  643. package/lib/framework.mjs +36 -26
  644. package/lib/framework.mjs.map +1 -1
  645. package/lib/iconsets/fa-svg.d.ts +2 -1
  646. package/lib/iconsets/fa-svg.mjs.map +1 -1
  647. package/lib/iconsets/fa.d.ts +2 -1
  648. package/lib/iconsets/fa.mjs.map +1 -1
  649. package/lib/iconsets/fa4.d.ts +2 -1
  650. package/lib/iconsets/fa4.mjs.map +1 -1
  651. package/lib/iconsets/md.d.ts +2 -1
  652. package/lib/iconsets/md.mjs.map +1 -1
  653. package/lib/iconsets/mdi-svg.d.ts +2 -1
  654. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  655. package/lib/iconsets/mdi.d.ts +2 -1
  656. package/lib/iconsets/mdi.mjs.map +1 -1
  657. package/lib/index.d.ts +151 -145
  658. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  659. package/lib/locale/adapters/vue-intl.mjs.map +1 -1
  660. package/lib/locale/af.mjs.map +1 -1
  661. package/lib/locale/ar.mjs.map +1 -1
  662. package/lib/locale/az.mjs.map +1 -1
  663. package/lib/locale/bg.mjs.map +1 -1
  664. package/lib/locale/ca.mjs.map +1 -1
  665. package/lib/locale/ckb.mjs.map +1 -1
  666. package/lib/locale/cs.mjs.map +1 -1
  667. package/lib/locale/da.mjs.map +1 -1
  668. package/lib/locale/de.mjs.map +1 -1
  669. package/lib/locale/el.mjs.map +1 -1
  670. package/lib/locale/en.mjs.map +1 -1
  671. package/lib/locale/es.mjs.map +1 -1
  672. package/lib/locale/et.mjs.map +1 -1
  673. package/lib/locale/fa.mjs.map +1 -1
  674. package/lib/locale/fi.mjs.map +1 -1
  675. package/lib/locale/fr.mjs.map +1 -1
  676. package/lib/locale/he.mjs.map +1 -1
  677. package/lib/locale/hr.mjs.map +1 -1
  678. package/lib/locale/hu.mjs.map +1 -1
  679. package/lib/locale/id.mjs.map +1 -1
  680. package/lib/locale/index.mjs.map +1 -1
  681. package/lib/locale/it.mjs.map +1 -1
  682. package/lib/locale/ja.mjs.map +1 -1
  683. package/lib/locale/ko.mjs.map +1 -1
  684. package/lib/locale/lt.mjs.map +1 -1
  685. package/lib/locale/lv.mjs.map +1 -1
  686. package/lib/locale/nl.mjs.map +1 -1
  687. package/lib/locale/no.mjs.map +1 -1
  688. package/lib/locale/pl.mjs.map +1 -1
  689. package/lib/locale/pt.mjs.map +1 -1
  690. package/lib/locale/ro.mjs.map +1 -1
  691. package/lib/locale/ru.mjs.map +1 -1
  692. package/lib/locale/sk.mjs.map +1 -1
  693. package/lib/locale/sl.mjs.map +1 -1
  694. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  695. package/lib/locale/sr-Latn.mjs.map +1 -1
  696. package/lib/locale/sv.mjs.map +1 -1
  697. package/lib/locale/th.mjs.map +1 -1
  698. package/lib/locale/tr.mjs.map +1 -1
  699. package/lib/locale/uk.mjs.map +1 -1
  700. package/lib/locale/vi.mjs.map +1 -1
  701. package/lib/locale/zh-Hans.mjs.map +1 -1
  702. package/lib/locale/zh-Hant.mjs.map +1 -1
  703. package/lib/services/goto/easing-patterns.mjs.map +1 -1
  704. package/lib/services/goto/index.mjs.map +1 -1
  705. package/lib/services/goto/util.mjs.map +1 -1
  706. package/lib/styles/tools/_states.sass +9 -2
  707. package/lib/styles/tools/_utilities.sass +1 -1
  708. package/lib/styles/tools/_variant.sass +6 -6
  709. package/lib/util/anchor.mjs +58 -0
  710. package/lib/util/anchor.mjs.map +1 -0
  711. package/lib/util/animation.mjs +2 -2
  712. package/lib/util/animation.mjs.map +1 -1
  713. package/lib/util/box.mjs +12 -0
  714. package/lib/util/box.mjs.map +1 -1
  715. package/lib/util/color/APCA.mjs.map +1 -1
  716. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  717. package/lib/util/color/transformSRGB.mjs.map +1 -1
  718. package/lib/util/colorUtils.mjs.map +1 -1
  719. package/lib/util/colors.mjs.map +1 -1
  720. package/lib/util/console.mjs.map +1 -1
  721. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  722. package/lib/util/dateTimeUtils.mjs.map +1 -1
  723. package/lib/util/defineComponent.mjs.map +1 -1
  724. package/lib/util/dom.mjs.map +1 -1
  725. package/lib/util/easing.mjs.map +1 -1
  726. package/lib/util/getCurrentInstance.mjs +19 -0
  727. package/lib/util/getCurrentInstance.mjs.map +1 -1
  728. package/lib/util/getScrollParent.mjs.map +1 -1
  729. package/lib/util/globals.mjs +0 -3
  730. package/lib/util/globals.mjs.map +1 -1
  731. package/lib/util/helpers.mjs +10 -6
  732. package/lib/util/helpers.mjs.map +1 -1
  733. package/lib/util/index.mjs +1 -0
  734. package/lib/util/index.mjs.map +1 -1
  735. package/lib/util/isFixedPosition.mjs.map +1 -1
  736. package/lib/util/propsFactory.mjs.map +1 -1
  737. package/lib/util/useRender.mjs.map +1 -1
  738. package/package.json +32 -26
  739. package/lib/components/VBanner/VBannerAvatar.mjs +0 -20
  740. package/lib/components/VBanner/VBannerAvatar.mjs.map +0 -1
  741. package/lib/components/VBanner/VBannerIcon.mjs +0 -20
  742. package/lib/components/VBanner/VBannerIcon.mjs.map +0 -1
  743. package/lib/components/VBreadcrumbs/shared.mjs +0 -2
  744. package/lib/components/VBreadcrumbs/shared.mjs.map +0 -1
  745. package/lib/components/VCard/VCardAvatar.mjs +0 -3
  746. package/lib/components/VCard/VCardAvatar.mjs.map +0 -1
  747. package/lib/components/VCard/VCardContent.mjs +0 -3
  748. package/lib/components/VCard/VCardContent.mjs.map +0 -1
  749. package/lib/components/VCard/VCardHeader.mjs +0 -3
  750. package/lib/components/VCard/VCardHeader.mjs.map +0 -1
  751. package/lib/components/VCard/VCardHeaderText.mjs +0 -3
  752. package/lib/components/VCard/VCardHeaderText.mjs.map +0 -1
  753. package/lib/components/VCard/VCardImg.mjs +0 -3
  754. package/lib/components/VCard/VCardImg.mjs.map +0 -1
  755. package/lib/components/VOverlay/positionStrategies.mjs +0 -207
  756. package/lib/components/VOverlay/positionStrategies.mjs.map +0 -1
  757. package/lib/components/VOverlay/util/anchor.mjs +0 -52
  758. package/lib/components/VOverlay/util/anchor.mjs.map +0 -1
  759. package/lib/components/VTimeline/shared.mjs +0 -2
  760. package/lib/components/VTimeline/shared.mjs.map +0 -1
  761. package/lib/composables/overlay.mjs +0 -34
  762. package/lib/composables/overlay.mjs.map +0 -1
  763. package/lib/presets/default/index.mjs +0 -71
  764. package/lib/presets/default/index.mjs.map +0 -1
@@ -30,25 +30,34 @@ export function filterItems(items, query, options) {
30
30
  const customFiltersLength = Object.keys((_options$customKeyFil = options == null ? void 0 : options.customKeyFilter) != null ? _options$customKeyFil : {}).length;
31
31
  if (!(items != null && items.length)) return array;
32
32
 
33
- loop: for (const item of items) {
33
+ loop: for (let i = 0; i < items.length; i++) {
34
+ const item = items[i];
34
35
  const customMatches = {};
35
36
  const defaultMatches = {};
36
37
  let match = -1;
37
38
 
38
- if (query && typeof item === 'object' && !(options != null && options.noFilter)) {
39
- const filterKeys = keys || Object.keys(item);
39
+ if (query && !(options != null && options.noFilter)) {
40
+ if (typeof item === 'object') {
41
+ const filterKeys = keys || Object.keys(item);
40
42
 
41
- for (const key of filterKeys) {
42
- var _options$customKeyFil2;
43
+ for (const key of filterKeys) {
44
+ var _options$customKeyFil2;
43
45
 
44
- const value = getPropertyFromItem(item, key, item);
45
- const keyFilter = options == null ? void 0 : (_options$customKeyFil2 = options.customKeyFilter) == null ? void 0 : _options$customKeyFil2[key];
46
- match = keyFilter ? keyFilter(value, query, item) : filter(value, query, item);
46
+ const value = getPropertyFromItem(item, key, item);
47
+ const keyFilter = options == null ? void 0 : (_options$customKeyFil2 = options.customKeyFilter) == null ? void 0 : _options$customKeyFil2[key];
48
+ match = keyFilter ? keyFilter(value, query, item) : filter(value, query, item);
49
+
50
+ if (match !== -1 && match !== false) {
51
+ if (keyFilter) customMatches[key] = match;else defaultMatches[key] = match;
52
+ } else if ((options == null ? void 0 : options.filterMode) === 'every') {
53
+ continue loop;
54
+ }
55
+ }
56
+ } else {
57
+ match = filter(item, query, item);
47
58
 
48
59
  if (match !== -1 && match !== false) {
49
- if (keyFilter) customMatches[key] = match;else defaultMatches[key] = match;
50
- } else if ((options == null ? void 0 : options.filterMode) === 'every') {
51
- continue loop;
60
+ defaultMatches.title = match;
52
61
  }
53
62
  }
54
63
 
@@ -60,7 +69,7 @@ export function filterItems(items, query, options) {
60
69
  }
61
70
 
62
71
  array.push({
63
- item,
72
+ index: i,
64
73
  matches: { ...defaultMatches,
65
74
  ...customMatches
66
75
  }
@@ -72,13 +81,24 @@ export function filterItems(items, query, options) {
72
81
  export function useFilter(props, items, query) {
73
82
  const strQuery = computed(() => typeof (query == null ? void 0 : query.value) !== 'string' && typeof (query == null ? void 0 : query.value) !== 'number' ? '' : String(query.value));
74
83
  const filteredItems = computed(() => {
75
- return filterItems(unref(items), strQuery.value, {
84
+ const transformedItems = unref(items);
85
+ const matches = filterItems(transformedItems, strQuery.value, {
76
86
  customKeyFilter: props.customKeyFilter,
77
87
  default: props.customFilter,
78
88
  filterKeys: props.filterKeys,
79
89
  filterMode: props.filterMode,
80
90
  noFilter: props.noFilter
81
91
  });
92
+ return matches.map(_ref => {
93
+ let {
94
+ index,
95
+ matches
96
+ } = _ref;
97
+ return {
98
+ item: transformedItems[index],
99
+ matches
100
+ };
101
+ });
82
102
  });
83
103
  return {
84
104
  filteredItems
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/filter.ts"],"names":["getPropertyFromItem","propsFactory","wrapInArray","computed","unref","defaultFilter","value","query","item","toString","toLocaleLowerCase","indexOf","makeFilterProps","customFilter","Function","customKeyFilter","Object","filterKeys","Array","String","filterMode","type","default","noFilter","Boolean","filterItems","items","options","array","filter","keys","customFiltersLength","length","loop","customMatches","defaultMatches","match","key","keyFilter","defaultMatchesLength","customMatchesLength","push","matches","useFilter","props","strQuery","filteredItems"],"mappings":"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","sourcesContent":["/* 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"],"file":"filter.mjs"}
1
+ {"version":3,"file":"filter.mjs","names":["getPropertyFromItem","propsFactory","wrapInArray","computed","unref","defaultFilter","value","query","item","toString","toLocaleLowerCase","indexOf","makeFilterProps","customFilter","Function","customKeyFilter","Object","filterKeys","Array","String","filterMode","type","default","noFilter","Boolean","filterItems","items","options","array","filter","keys","customFiltersLength","length","loop","i","customMatches","defaultMatches","match","key","keyFilter","title","defaultMatchesLength","customMatchesLength","push","index","matches","useFilter","props","strQuery","filteredItems","transformedItems","map"],"sources":["../../src/composables/filter.ts"],"sourcesContent":["/* 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'\nimport type { InternalItem } from './items'\n\n/**\n * - match without highlight\n * - single match (index), length already known\n * - single match (start, end)\n * - multiple matches (start, end), probably shouldn't overlap\n */\nexport type FilterMatch = boolean | number | [number, number] | [number, number][]\nexport type FilterFunction = (value: string, query: string, item?: any) => FilterMatch\nexport type FilterKeyFunctions = Record<string, FilterFunction>\nexport type FilterKeys = string | string[]\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 (\n items: any[],\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: { index: number, 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 (let i = 0; i < items.length; i++) {\n const item = items[i]\n const customMatches: Record<string, FilterMatch> = {}\n const defaultMatches: Record<string, FilterMatch> = {}\n let match: FilterMatch = -1\n\n if (query && !options?.noFilter) {\n if (typeof item === 'object') {\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 } else {\n match = filter(item, query, item)\n if (match !== -1 && match !== false) {\n defaultMatches.title = match\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({ index: i, matches: { ...defaultMatches, ...customMatches } })\n }\n\n return array\n}\n\nexport function useFilter (\n props: FilterProps,\n items: MaybeRef<InternalItem[]>,\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 const transformedItems = unref(items)\n const matches = filterItems(\n transformedItems,\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 return matches.map(({ index, matches }) => ({\n item: transformedItems[index],\n matches,\n }))\n })\n\n return { filteredItems }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/focus.ts"],"names":["useProxiedModel","computed","getCurrentInstanceName","propsFactory","makeFocusProps","focused","Boolean","useFocus","props","name","isFocused","focusClasses","value","focus","blur"],"mappings":"AAAA;SACSA,e,8BAET;;AACA,SAASC,QAAT,QAAyB,KAAzB;SACSC,sB,EAAwBC,Y,6BAEjC;;AAMA;AACA,OAAO,MAAMC,cAAc,GAAGD,YAAY,CAAC;AACzCE,EAAAA,OAAO,EAAEC;AADgC,CAAD,EAEvC,OAFuC,CAAnC;AAIP,OAAO,SAASC,QAAT,CACLC,KADK,EAGL;AAAA,MADAC,IACA,uEADOP,sBAAsB,EAC7B;AACA,QAAMQ,SAAS,GAAGV,eAAe,CAACQ,KAAD,EAAQ,SAAR,CAAjC;AACA,QAAMG,YAAY,GAAGV,QAAQ,CAAC,MAAM;AAClC,WAAQ;AACN,OAAE,GAAEQ,IAAK,WAAT,GAAsBC,SAAS,CAACE;AAD1B,KAAR;AAGD,GAJ4B,CAA7B;;AAMA,WAASC,KAAT,GAAkB;AAChBH,IAAAA,SAAS,CAACE,KAAV,GAAkB,IAAlB;AACD;;AAED,WAASE,IAAT,GAAiB;AACfJ,IAAAA,SAAS,CAACE,KAAV,GAAkB,KAAlB;AACD;;AAED,SAAO;AAAED,IAAAA,YAAF;AAAgBD,IAAAA,SAAhB;AAA2BG,IAAAA,KAA3B;AAAkCC,IAAAA;AAAlC,GAAP;AACD","sourcesContent":["// 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"],"file":"focus.mjs"}
1
+ {"version":3,"file":"focus.mjs","names":["useProxiedModel","computed","getCurrentInstanceName","propsFactory","makeFocusProps","focused","Boolean","useFocus","props","name","isFocused","focusClasses","value","focus","blur"],"sources":["../../src/composables/focus.ts"],"sourcesContent":["// 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"],"mappings":"AAAA;SACSA,e,8BAET;;AACA,SAASC,QAAT,QAAyB,KAAzB;SACSC,sB,EAAwBC,Y,6BAEjC;;AAMA;AACA,OAAO,MAAMC,cAAc,GAAGD,YAAY,CAAC;EACzCE,OAAO,EAAEC;AADgC,CAAD,EAEvC,OAFuC,CAAnC;AAIP,OAAO,SAASC,QAAT,CACLC,KADK,EAGL;EAAA,IADAC,IACA,uEADOP,sBAAsB,EAC7B;EACA,MAAMQ,SAAS,GAAGV,eAAe,CAACQ,KAAD,EAAQ,SAAR,CAAjC;EACA,MAAMG,YAAY,GAAGV,QAAQ,CAAC,MAAM;IAClC,OAAQ;MACN,CAAE,GAAEQ,IAAK,WAAT,GAAsBC,SAAS,CAACE;IAD1B,CAAR;EAGD,CAJ4B,CAA7B;;EAMA,SAASC,KAAT,GAAkB;IAChBH,SAAS,CAACE,KAAV,GAAkB,IAAlB;EACD;;EAED,SAASE,IAAT,GAAiB;IACfJ,SAAS,CAACE,KAAV,GAAkB,KAAlB;EACD;;EAED,OAAO;IAAED,YAAF;IAAgBD,SAAhB;IAA2BG,KAA3B;IAAkCC;EAAlC,CAAP;AACD"}
@@ -20,12 +20,12 @@ export function createForm(props) {
20
20
  const isReadonly = computed(() => props.readonly);
21
21
  const isValidating = ref(false);
22
22
  const items = ref([]);
23
- const errorMessages = ref([]);
23
+ const errors = ref([]);
24
24
 
25
25
  async function validate() {
26
26
  const results = [];
27
27
  let valid = true;
28
- errorMessages.value = [];
28
+ errors.value = [];
29
29
  isValidating.value = true;
30
30
 
31
31
  for (const item of items.value) {
@@ -42,11 +42,11 @@ export function createForm(props) {
42
42
  if (!valid && props.fastFail) break;
43
43
  }
44
44
 
45
- errorMessages.value = results;
45
+ errors.value = results;
46
46
  isValidating.value = false;
47
47
  return {
48
48
  valid,
49
- errorMessages: errorMessages.value
49
+ errors: errors.value
50
50
  };
51
51
  }
52
52
 
@@ -57,7 +57,7 @@ export function createForm(props) {
57
57
 
58
58
  function resetValidation() {
59
59
  items.value.forEach(item => item.resetValidation());
60
- errorMessages.value = [];
60
+ errors.value = [];
61
61
  model.value = null;
62
62
  }
63
63
 
@@ -100,7 +100,7 @@ export function createForm(props) {
100
100
  items
101
101
  });
102
102
  return {
103
- errorMessages,
103
+ errors,
104
104
  isDisabled,
105
105
  isReadonly,
106
106
  isValidating,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/form.ts"],"names":["computed","inject","provide","ref","watch","useProxiedModel","consoleWarn","propsFactory","FormKey","Symbol","for","makeFormProps","disabled","Boolean","fastFail","lazyValidation","readonly","modelValue","type","default","createForm","props","model","isDisabled","isReadonly","isValidating","items","errorMessages","validate","results","valid","value","item","itemErrorMessages","length","push","id","reset","forEach","resetValidation","some","isValid","every","deep","register","unregister","filter","useForm"],"mappings":"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","sourcesContent":["// Utilities\nimport { computed, inject, provide, ref, watch } 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 isValid: Ref<boolean | null>,\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 isValid: boolean | null\n}\n\ninterface FormValidationResult {\n id: number | string\n errorMessages: string[]\n}\n\nexport interface SubmitEventPromise extends SubmitEvent, Promise<{ valid: boolean, errorMessages: FormValidationResult[] }> {}\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 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 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 watch(items, () => {\n let valid = null\n\n if (items.value.some(item => item.isValid === false)) {\n valid = false\n } else if (items.value.every(item => item.isValid === true)) {\n valid = true\n }\n\n model.value = valid\n }, {\n deep: true,\n })\n\n provide(FormKey, {\n register: (id, validate, reset, resetValidation, isValid) => {\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 isValid: isValid as unknown as boolean | null, // TODO: Better way to type this unwrapping?\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"],"file":"form.mjs"}
1
+ {"version":3,"file":"form.mjs","names":["computed","inject","provide","ref","watch","useProxiedModel","consoleWarn","propsFactory","FormKey","Symbol","for","makeFormProps","disabled","Boolean","fastFail","lazyValidation","readonly","modelValue","type","default","createForm","props","model","isDisabled","isReadonly","isValidating","items","errors","validate","results","valid","value","item","itemErrorMessages","length","push","id","errorMessages","reset","forEach","resetValidation","some","isValid","every","deep","register","unregister","filter","useForm"],"sources":["../../src/composables/form.ts"],"sourcesContent":["// Utilities\nimport { computed, inject, provide, ref, watch } 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 isValid: Ref<boolean | null>,\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 isValid: boolean | null\n}\n\ninterface FieldValidationResult {\n id: number | string\n errorMessages: string[]\n}\n\ninterface FormValidationResult {\n valid: boolean\n errors: FieldValidationResult[]\n}\n\nexport interface SubmitEventPromise extends SubmitEvent, Promise<FormValidationResult> {}\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 errors = ref<FieldValidationResult[]>([])\n\n async function validate () {\n const results = []\n let valid = true\n\n errors.value = []\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 errors.value = results\n isValidating.value = false\n\n return { valid, errors: errors.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 errors.value = []\n model.value = null\n }\n\n watch(items, () => {\n let valid = null\n\n if (items.value.some(item => item.isValid === false)) {\n valid = false\n } else if (items.value.every(item => item.isValid === true)) {\n valid = true\n }\n\n model.value = valid\n }, {\n deep: true,\n })\n\n provide(FormKey, {\n register: (id, validate, reset, resetValidation, isValid) => {\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 isValid: isValid as unknown as boolean | null, // TODO: Better way to type this unwrapping?\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 errors,\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"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/forwardRef.ts"],"names":["useForwardRef","target","refs","Proxy","get","key","Reflect","has","ref","value","val","bind","getOwnPropertyDescriptor","descriptor","obj","Object","getPrototypeOf","undefined"],"mappings":"AAGA,OAAO,SAASA,aAAT,CACLC,MADK,EAG0C;AAAA,oCAD5CC,IAC4C;AAD5CA,IAAAA,IAC4C;AAAA;;AAC/C,SAAO,IAAIC,KAAJ,CAAUF,MAAV,EAAkB;AACvBG,IAAAA,GAAG,CAAEH,MAAF,EAAUI,GAAV,EAAe;AAChB,UAAIC,OAAO,CAACC,GAAR,CAAYN,MAAZ,EAAoBI,GAApB,CAAJ,EAA8B;AAC5B,eAAOC,OAAO,CAACF,GAAR,CAAYH,MAAZ,EAAoBI,GAApB,CAAP;AACD;;AACD,WAAK,MAAMG,GAAX,IAAkBN,IAAlB,EAAwB;AACtB,YAAIM,GAAG,CAACC,KAAJ,IAAaH,OAAO,CAACC,GAAR,CAAYC,GAAG,CAACC,KAAhB,EAAuBJ,GAAvB,CAAjB,EAA8C;AAC5C,gBAAMK,GAAG,GAAGJ,OAAO,CAACF,GAAR,CAAYI,GAAG,CAACC,KAAhB,EAAuBJ,GAAvB,CAAZ;AACA,iBAAO,OAAOK,GAAP,KAAe,UAAf,GACHA,GAAG,CAACC,IAAJ,CAASH,GAAG,CAACC,KAAb,CADG,GAEHC,GAFJ;AAGD;AACF;AACF,KAbsB;;AAcvBE,IAAAA,wBAAwB,CAAEX,MAAF,EAAUI,GAAV,EAAe;AACrC,YAAMQ,UAAU,GAAGP,OAAO,CAACM,wBAAR,CAAiCX,MAAjC,EAAyCI,GAAzC,CAAnB;AACA,UAAIQ,UAAJ,EAAgB,OAAOA,UAAP,CAFqB,CAIrC;;AACA,WAAK,MAAML,GAAX,IAAkBN,IAAlB,EAAwB;AACtB,YAAI,CAACM,GAAG,CAACC,KAAT,EAAgB;AAChB,cAAMI,UAAU,GAAGP,OAAO,CAACM,wBAAR,CAAiCJ,GAAG,CAACC,KAArC,EAA4CJ,GAA5C,CAAnB;AACA,YAAIQ,UAAJ,EAAgB,OAAOA,UAAP;AACjB,OAToC,CAUrC;;;AACA,WAAK,MAAML,GAAX,IAAkBN,IAAlB,EAAwB;AACtB,YAAIY,GAAG,GAAGN,GAAG,CAACC,KAAJ,IAAaM,MAAM,CAACC,cAAP,CAAsBR,GAAG,CAACC,KAA1B,CAAvB;;AACA,eAAOK,GAAP,EAAY;AACV,gBAAMD,UAAU,GAAGP,OAAO,CAACM,wBAAR,CAAiCE,GAAjC,EAAsCT,GAAtC,CAAnB;AACA,cAAIQ,UAAJ,EAAgB,OAAOA,UAAP;AAChBC,UAAAA,GAAG,GAAGC,MAAM,CAACC,cAAP,CAAsBF,GAAtB,CAAN;AACD;AACF;;AACD,aAAOG,SAAP;AACD;;AAlCsB,GAAlB,CAAP;AAoCD","sourcesContent":["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 // Check each ref's own properties\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 // Recursive search up each ref's prototype\n for (const ref of refs) {\n let obj = ref.value && Object.getPrototypeOf(ref.value)\n while (obj) {\n const descriptor = Reflect.getOwnPropertyDescriptor(obj, key)\n if (descriptor) return descriptor\n obj = Object.getPrototypeOf(obj)\n }\n }\n return undefined\n },\n }) as any\n}\n"],"file":"forwardRef.mjs"}
1
+ {"version":3,"file":"forwardRef.mjs","names":["useForwardRef","target","refs","Proxy","get","key","Reflect","has","ref","value","val","bind","getOwnPropertyDescriptor","descriptor","obj","Object","getPrototypeOf","undefined"],"sources":["../../src/composables/forwardRef.ts"],"sourcesContent":["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 // Check each ref's own properties\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 // Recursive search up each ref's prototype\n for (const ref of refs) {\n let obj = ref.value && Object.getPrototypeOf(ref.value)\n while (obj) {\n const descriptor = Reflect.getOwnPropertyDescriptor(obj, key)\n if (descriptor) return descriptor\n obj = Object.getPrototypeOf(obj)\n }\n }\n return undefined\n },\n }) as any\n}\n"],"mappings":"AAGA,OAAO,SAASA,aAAT,CACLC,MADK,EAG0C;EAAA,kCAD5CC,IAC4C;IAD5CA,IAC4C;EAAA;;EAC/C,OAAO,IAAIC,KAAJ,CAAUF,MAAV,EAAkB;IACvBG,GAAG,CAAEH,MAAF,EAAUI,GAAV,EAAe;MAChB,IAAIC,OAAO,CAACC,GAAR,CAAYN,MAAZ,EAAoBI,GAApB,CAAJ,EAA8B;QAC5B,OAAOC,OAAO,CAACF,GAAR,CAAYH,MAAZ,EAAoBI,GAApB,CAAP;MACD;;MACD,KAAK,MAAMG,GAAX,IAAkBN,IAAlB,EAAwB;QACtB,IAAIM,GAAG,CAACC,KAAJ,IAAaH,OAAO,CAACC,GAAR,CAAYC,GAAG,CAACC,KAAhB,EAAuBJ,GAAvB,CAAjB,EAA8C;UAC5C,MAAMK,GAAG,GAAGJ,OAAO,CAACF,GAAR,CAAYI,GAAG,CAACC,KAAhB,EAAuBJ,GAAvB,CAAZ;UACA,OAAO,OAAOK,GAAP,KAAe,UAAf,GACHA,GAAG,CAACC,IAAJ,CAASH,GAAG,CAACC,KAAb,CADG,GAEHC,GAFJ;QAGD;MACF;IACF,CAbsB;;IAcvBE,wBAAwB,CAAEX,MAAF,EAAUI,GAAV,EAAe;MACrC,MAAMQ,UAAU,GAAGP,OAAO,CAACM,wBAAR,CAAiCX,MAAjC,EAAyCI,GAAzC,CAAnB;MACA,IAAIQ,UAAJ,EAAgB,OAAOA,UAAP,CAFqB,CAIrC;;MACA,KAAK,MAAML,GAAX,IAAkBN,IAAlB,EAAwB;QACtB,IAAI,CAACM,GAAG,CAACC,KAAT,EAAgB;QAChB,MAAMI,UAAU,GAAGP,OAAO,CAACM,wBAAR,CAAiCJ,GAAG,CAACC,KAArC,EAA4CJ,GAA5C,CAAnB;QACA,IAAIQ,UAAJ,EAAgB,OAAOA,UAAP;MACjB,CAToC,CAUrC;;;MACA,KAAK,MAAML,GAAX,IAAkBN,IAAlB,EAAwB;QACtB,IAAIY,GAAG,GAAGN,GAAG,CAACC,KAAJ,IAAaM,MAAM,CAACC,cAAP,CAAsBR,GAAG,CAACC,KAA1B,CAAvB;;QACA,OAAOK,GAAP,EAAY;UACV,MAAMD,UAAU,GAAGP,OAAO,CAACM,wBAAR,CAAiCE,GAAjC,EAAsCT,GAAtC,CAAnB;UACA,IAAIQ,UAAJ,EAAgB,OAAOA,UAAP;UAChBC,GAAG,GAAGC,MAAM,CAACC,cAAP,CAAsBF,GAAtB,CAAN;QACD;MACF;;MACD,OAAOG,SAAP;IACD;;EAlCsB,CAAlB,CAAP;AAoCD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/group.ts"],"names":["useProxiedModel","computed","inject","onBeforeUnmount","onMounted","provide","reactive","toRef","watch","consoleWarn","deepEqual","findChildrenWithProvide","getCurrentInstance","getUid","propsFactory","wrapInArray","makeGroupProps","modelValue","type","default","undefined","multiple","Boolean","mandatory","String","max","Number","selectedClass","disabled","makeGroupItemProps","value","useGroupItem","props","injectKey","required","vm","Error","id","Symbol","for","description","group","register","unregister","isSelected","emit","toggle","select","useGroup","isUnmounted","items","selected","v","getIds","arr","getValues","groupVm","item","unwrapped","key","children","vnode","index","indexOf","splice","push","forceMandatoryValue","findIndex","find","length","internalValue","slice","includes","step","offset","currentId","currentIndex","i","newIndex","newItem","state","prev","next","getItemIndex","ids","values"],"mappings":"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","sourcesContent":["// Composables\nimport { useProxiedModel } from './proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, provide, reactive, toRef, watch } 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<Readonly<number[]>>\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 getItemIndex: (value: unknown) => number\n}\n\nexport interface GroupItemProvide {\n id: number\n isSelected: Ref<boolean>\n toggle: () => void\n select: (value: boolean) => void\n selectedClass: Ref<(string | undefined)[] | false>\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 watch(isSelected, value => {\n vm.emit('group:selected', { value })\n })\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: GroupProvide = {\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 getItemIndex: (value: unknown) => getItemIndex(items, value),\n }\n\n provide(injectKey, state)\n\n return state\n}\n\nfunction getItemIndex (items: UnwrapRef<GroupItem[]>, value: unknown) {\n const ids = getIds(items, [value])\n\n if (!ids.length) return -1\n\n return items.findIndex(item => item.id === ids[0])\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"],"file":"group.mjs"}
1
+ {"version":3,"file":"group.mjs","names":["useProxiedModel","computed","inject","onBeforeUnmount","onMounted","provide","reactive","toRef","watch","consoleWarn","deepEqual","findChildrenWithProvide","getCurrentInstance","getUid","propsFactory","wrapInArray","makeGroupProps","modelValue","type","default","undefined","multiple","Boolean","mandatory","String","max","Number","selectedClass","disabled","makeGroupItemProps","value","useGroupItem","props","injectKey","required","vm","Error","id","Symbol","for","description","group","register","unregister","isSelected","emit","toggle","select","useGroup","isUnmounted","items","selected","v","getIds","arr","getValues","groupVm","item","unwrapped","key","children","vnode","index","indexOf","splice","push","forceMandatoryValue","findIndex","find","length","internalValue","slice","includes","step","offset","currentId","currentIndex","i","newIndex","newItem","state","prev","next","getItemIndex","ids","values"],"sources":["../../src/composables/group.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from './proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, provide, reactive, toRef, watch } 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<Readonly<number[]>>\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 getItemIndex: (value: unknown) => number\n}\n\nexport interface GroupItemProvide {\n id: number\n isSelected: Ref<boolean>\n toggle: () => void\n select: (value: boolean) => void\n selectedClass: Ref<(string | undefined)[] | false>\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 watch(isSelected, value => {\n vm.emit('group:selected', { value })\n })\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: GroupProvide = {\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 getItemIndex: (value: unknown) => getItemIndex(items, value),\n }\n\n provide(injectKey, state)\n\n return state\n}\n\nfunction getItemIndex (items: UnwrapRef<GroupItem[]>, value: unknown) {\n const ids = getIds(items, [value])\n\n if (!ids.length) return -1\n\n return items.findIndex(item => item.id === ids[0])\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"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/hydration.ts"],"names":["getCurrentInstance","IN_BROWSER","onMounted","useHydration","callback","vm","rootEl","root","appContext","app","_container","__vue_app__"],"mappings":"AAAA;SACSA,kB,EAAoBC,U;AAC7B,SAASC,SAAT,QAA0B,KAA1B;AAEA,OAAO,SAASC,YAAT,CAAuBC,QAAvB,EAA6C;AAAA;;AAClD,MAAI,CAACH,UAAL,EAAiB;AAEjB,QAAMI,EAAE,GAAGL,kBAAkB,CAAC,cAAD,CAA7B;AACA,QAAMM,MAAM,GAAGD,EAAH,gCAAGA,EAAE,CAAEE,IAAP,4CAAG,SAAUC,UAAb,8CAAG,oBAAsBC,GAAzB,qBAAG,sBAA2BC,UAA1C;AAEA,SAAOJ,MAAM,QAAN,IAAAA,MAAM,CAAEK,WAAR,GAAsBP,QAAQ,EAA9B,GAAmCF,SAAS,CAACE,QAAD,CAAnD;AACD","sourcesContent":["// 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"],"file":"hydration.mjs"}
1
+ {"version":3,"file":"hydration.mjs","names":["getCurrentInstance","IN_BROWSER","onMounted","useHydration","callback","vm","rootEl","root","appContext","app","_container","__vue_app__"],"sources":["../../src/composables/hydration.ts"],"sourcesContent":["// 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"],"mappings":"AAAA;SACSA,kB,EAAoBC,U;AAC7B,SAASC,SAAT,QAA0B,KAA1B;AAEA,OAAO,SAASC,YAAT,CAAuBC,QAAvB,EAA6C;EAAA;;EAClD,IAAI,CAACH,UAAL,EAAiB;EAEjB,MAAMI,EAAE,GAAGL,kBAAkB,CAAC,cAAD,CAA7B;EACA,MAAMM,MAAM,GAAGD,EAAH,gCAAGA,EAAE,CAAEE,IAAP,4CAAG,SAAUC,UAAb,8CAAG,oBAAsBC,GAAzB,qBAAG,sBAA2BC,UAA1C;EAEA,OAAOJ,MAAM,QAAN,IAAAA,MAAM,CAAEK,WAAR,GAAsBP,QAAQ,EAA9B,GAAmCF,SAAS,CAACE,QAAD,CAAnD;AACD"}
@@ -1,12 +1,15 @@
1
1
  import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
2
- // Utilities
2
+ // Icons
3
+ import { aliases, mdi } from "../iconsets/mdi.mjs"; // Utilities
4
+
3
5
  import { computed, inject, isRef } from 'vue';
4
- import { defineComponent, propsFactory } from "../util/index.mjs"; // Types
6
+ import { defineComponent, mergeDeep, propsFactory } from "../util/index.mjs"; // Types
5
7
 
8
+ export const IconValue = [String, Function, Object];
6
9
  export const IconSymbol = Symbol.for('vuetify:icons');
7
10
  export const makeIconProps = propsFactory({
8
11
  icon: {
9
- type: [String, Object],
12
+ type: IconValue,
10
13
  required: true
11
14
  },
12
15
  // Could not remove this and use makeTagProps, types complained because it is not required
@@ -90,6 +93,15 @@ export const defaultSets = {
90
93
  }
91
94
  }; // Composables
92
95
 
96
+ export function createIcons(options) {
97
+ return mergeDeep({
98
+ defaultSet: 'mdi',
99
+ sets: { ...defaultSets,
100
+ mdi
101
+ },
102
+ aliases
103
+ }, options);
104
+ }
93
105
  export const useIcon = props => {
94
106
  const icons = inject(IconSymbol);
95
107
  if (!icons) throw new Error('Missing Vuetify Icons provide!');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/icons.tsx"],"names":["computed","inject","isRef","defineComponent","propsFactory","IconSymbol","Symbol","for","makeIconProps","icon","type","String","Object","required","tag","VComponentIcon","name","props","setup","VSvgIcon","inheritAttrs","attrs","VLigatureIcon","VClassIcon","defaultSets","svg","component","class","useIcon","icons","Error","iconData","iconAlias","value","includes","aliases","slice","indexOf","iconSetName","keys","sets","find","setName","startsWith","iconName","length","iconSet","defaultSet"],"mappings":"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","sourcesContent":["// 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"],"file":"icons.mjs"}
1
+ {"version":3,"file":"icons.mjs","names":["aliases","mdi","computed","inject","isRef","defineComponent","mergeDeep","propsFactory","IconValue","String","Function","Object","IconSymbol","Symbol","for","makeIconProps","icon","type","required","tag","VComponentIcon","name","props","setup","VSvgIcon","inheritAttrs","attrs","VLigatureIcon","VClassIcon","defaultSets","svg","component","class","createIcons","options","defaultSet","sets","useIcon","icons","Error","iconData","iconAlias","value","includes","slice","indexOf","iconSetName","keys","find","setName","startsWith","iconName","length","iconSet"],"sources":["../../src/composables/icons.tsx"],"sourcesContent":["// Icons\nimport { aliases, mdi } from '@/iconsets/mdi'\n\n// Utilities\nimport { computed, inject, isRef } from 'vue'\nimport { defineComponent, mergeDeep, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, JSXComponent, PropType, Ref } from 'vue'\n\nexport type IconValue = string | JSXComponent\nexport const IconValue = [String, Function, Object] as PropType<IconValue>\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: 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 function createIcons (options?: IconOptions) {\n return mergeDeep({\n defaultSet: 'mdi',\n sets: {\n ...defaultSets,\n mdi,\n },\n aliases,\n }, options)\n}\n\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"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/index.ts"],"names":["useDisplay","useTheme","provideRtl","useRtl","useLayout"],"mappings":"AAAA;AACA;AACA;AACA;SAESA,U;SACAC,Q;SACAC,U,EAAYC,M;SACZC,S","sourcesContent":["/*\n * PUBLIC INTERFACES ONLY\n * Imports in our code should be to the composable directly, not this file\n */\n\nexport { useDisplay } from './display'\nexport { useTheme } from './theme'\nexport { provideRtl, useRtl } from './rtl'\nexport { useLayout } from './layout'\n\nexport type { DefaultsInstance } from './defaults'\nexport type { DisplayBreakpoint, DisplayInstance, DisplayThresholds } from './display'\nexport type { SubmitEventPromise } from './form'\nexport type { IconAliases, IconProps, IconSet, IconOptions } from './icons'\nexport type { LocaleAdapter } from './locale'\nexport type { RtlInstance } from './rtl'\nexport type { ThemeDefinition, ThemeInstance } from './theme'\n"],"file":"index.mjs"}
1
+ {"version":3,"file":"index.mjs","names":["useDisplay","useTheme","provideRtl","useRtl","useLayout"],"sources":["../../src/composables/index.ts"],"sourcesContent":["/*\n * PUBLIC INTERFACES ONLY\n * Imports in our code should be to the composable directly, not this file\n */\n\nexport { useDisplay } from './display'\nexport { useTheme } from './theme'\nexport { provideRtl, useRtl } from './rtl'\nexport { useLayout } from './layout'\n\nexport type { DefaultsInstance } from './defaults'\nexport type { DisplayBreakpoint, DisplayInstance, DisplayThresholds } from './display'\nexport type { SubmitEventPromise } from './form'\nexport type { IconAliases, IconProps, IconSet, IconOptions } from './icons'\nexport type { LocaleAdapter } from './locale'\nexport type { RtlInstance } from './rtl'\nexport type { ThemeDefinition, ThemeInstance } from './theme'\n"],"mappings":"AAAA;AACA;AACA;AACA;SAESA,U;SACAC,Q;SACAC,U,EAAYC,M;SACZC,S"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/intersectionObserver.ts"],"names":["onBeforeUnmount","ref","watch","SUPPORTS_INTERSECTION","useIntersectionObserver","callback","intersectionRef","isIntersecting","observer","IntersectionObserver","entries","value","find","entry","disconnect","newValue","oldValue","unobserve","observe","flush"],"mappings":"AAAA;AACA,SAASA,eAAT,EAA0BC,GAA1B,EAA+BC,KAA/B,QAA4C,KAA5C;SACSC,qB;AAET,OAAO,SAASC,uBAAT,CAAkCC,QAAlC,EAA2E;AAChF,QAAMC,eAAe,GAAGL,GAAG,EAA3B;AACA,QAAMM,cAAc,GAAGN,GAAG,CAAC,KAAD,CAA1B;;AAEA,MAAIE,qBAAJ,EAA2B;AACzB,UAAMK,QAAQ,GAAG,IAAIC,oBAAJ,CAA0BC,OAAD,IAA0C;AAClFL,MAAAA,QAAQ,QAAR,YAAAA,QAAQ,CAAGK,OAAH,EAAYF,QAAZ,CAAR;AAEAD,MAAAA,cAAc,CAACI,KAAf,GAAuB,CAAC,CAACD,OAAO,CAACE,IAAR,CAAaC,KAAK,IAAIA,KAAK,CAACN,cAA5B,CAAzB;AACD,KAJgB,CAAjB;AAMAP,IAAAA,eAAe,CAAC,MAAM;AACpBQ,MAAAA,QAAQ,CAACM,UAAT;AACD,KAFc,CAAf;AAIAZ,IAAAA,KAAK,CAACI,eAAD,EAAkB,CAACS,QAAD,EAAWC,QAAX,KAAwB;AAC7C,UAAIA,QAAJ,EAAc;AACZR,QAAAA,QAAQ,CAACS,SAAT,CAAmBD,QAAnB;AACAT,QAAAA,cAAc,CAACI,KAAf,GAAuB,KAAvB;AACD;;AAED,UAAII,QAAJ,EAAcP,QAAQ,CAACU,OAAT,CAAiBH,QAAjB;AACf,KAPI,EAOF;AACDI,MAAAA,KAAK,EAAE;AADN,KAPE,CAAL;AAUD;;AAED,SAAO;AAAEb,IAAAA,eAAF;AAAmBC,IAAAA;AAAnB,GAAP;AACD","sourcesContent":["// 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"],"file":"intersectionObserver.mjs"}
1
+ {"version":3,"file":"intersectionObserver.mjs","names":["onBeforeUnmount","ref","watch","SUPPORTS_INTERSECTION","useIntersectionObserver","callback","intersectionRef","isIntersecting","observer","IntersectionObserver","entries","value","find","entry","disconnect","newValue","oldValue","unobserve","observe","flush"],"sources":["../../src/composables/intersectionObserver.ts"],"sourcesContent":["// 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"],"mappings":"AAAA;AACA,SAASA,eAAT,EAA0BC,GAA1B,EAA+BC,KAA/B,QAA4C,KAA5C;SACSC,qB;AAET,OAAO,SAASC,uBAAT,CAAkCC,QAAlC,EAA2E;EAChF,MAAMC,eAAe,GAAGL,GAAG,EAA3B;EACA,MAAMM,cAAc,GAAGN,GAAG,CAAC,KAAD,CAA1B;;EAEA,IAAIE,qBAAJ,EAA2B;IACzB,MAAMK,QAAQ,GAAG,IAAIC,oBAAJ,CAA0BC,OAAD,IAA0C;MAClFL,QAAQ,QAAR,YAAAA,QAAQ,CAAGK,OAAH,EAAYF,QAAZ,CAAR;MAEAD,cAAc,CAACI,KAAf,GAAuB,CAAC,CAACD,OAAO,CAACE,IAAR,CAAaC,KAAK,IAAIA,KAAK,CAACN,cAA5B,CAAzB;IACD,CAJgB,CAAjB;IAMAP,eAAe,CAAC,MAAM;MACpBQ,QAAQ,CAACM,UAAT;IACD,CAFc,CAAf;IAIAZ,KAAK,CAACI,eAAD,EAAkB,CAACS,QAAD,EAAWC,QAAX,KAAwB;MAC7C,IAAIA,QAAJ,EAAc;QACZR,QAAQ,CAACS,SAAT,CAAmBD,QAAnB;QACAT,cAAc,CAACI,KAAf,GAAuB,KAAvB;MACD;;MAED,IAAII,QAAJ,EAAcP,QAAQ,CAACU,OAAT,CAAiBH,QAAjB;IACf,CAPI,EAOF;MACDI,KAAK,EAAE;IADN,CAPE,CAAL;EAUD;;EAED,OAAO;IAAEb,eAAF;IAAmBC;EAAnB,CAAP;AACD"}
@@ -1,6 +1,6 @@
1
1
  // Utilities
2
2
  import { computed } from 'vue';
3
- import { getObjectValueByPath, getPropertyFromItem, propsFactory } from "../util/index.mjs"; // Types
3
+ import { getPropertyFromItem, pick, propsFactory } from "../util/index.mjs"; // Types
4
4
 
5
5
  // Composables
6
6
  export const makeItemsProps = propsFactory({
@@ -17,25 +17,31 @@ export const makeItemsProps = propsFactory({
17
17
  default: 'value'
18
18
  },
19
19
  itemChildren: {
20
- type: String,
20
+ type: [Boolean, String, Array, Function],
21
21
  default: 'children'
22
22
  },
23
23
  itemProps: {
24
- type: Function,
25
- default: item => ({})
26
- }
24
+ type: [Boolean, String, Array, Function],
25
+ default: 'props'
26
+ },
27
+ returnObject: Boolean
27
28
  }, 'item');
28
29
  export function transformItem(props, item) {
29
- var _props$itemProps;
30
-
31
30
  const title = getPropertyFromItem(item, props.itemTitle, item);
32
31
  const value = getPropertyFromItem(item, props.itemValue, title);
33
- const children = getObjectValueByPath(item, props.itemChildren);
34
- return {
32
+ const children = getPropertyFromItem(item, props.itemChildren);
33
+ const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps);
34
+ const _props = {
35
35
  title,
36
36
  value,
37
+ ...itemProps
38
+ };
39
+ return {
40
+ title: _props.title,
41
+ value: _props.value,
42
+ props: _props,
37
43
  children: Array.isArray(children) ? transformItems(props, children) : undefined,
38
- ...((_props$itemProps = props.itemProps) == null ? void 0 : _props$itemProps.call(props, item))
44
+ raw: item
39
45
  };
40
46
  }
41
47
  export function transformItems(props, items) {
@@ -49,8 +55,30 @@ export function transformItems(props, items) {
49
55
  }
50
56
  export function useItems(props) {
51
57
  const items = computed(() => transformItems(props, props.items));
58
+
59
+ function transformIn(value) {
60
+ return value.map(item => transformItem(props, item));
61
+ }
62
+
63
+ function transformOut(value) {
64
+ if (props.returnObject) return value.map(_ref => {
65
+ let {
66
+ raw: item
67
+ } = _ref;
68
+ return item;
69
+ });
70
+ return value.map(_ref2 => {
71
+ let {
72
+ props
73
+ } = _ref2;
74
+ return props.value;
75
+ });
76
+ }
77
+
52
78
  return {
53
- items
79
+ items,
80
+ transformIn,
81
+ transformOut
54
82
  };
55
83
  }
56
84
  //# sourceMappingURL=items.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/composables/items.ts"],"names":["computed","getObjectValueByPath","getPropertyFromItem","propsFactory","makeItemsProps","items","type","Array","default","itemTitle","String","Function","itemValue","itemChildren","itemProps","item","transformItem","props","title","value","children","isArray","transformItems","undefined","array","push","useItems"],"mappings":"AAAA;AACA,SAASA,QAAT,QAAyB,KAAzB;SACSC,oB,EAAsBC,mB,EAAqBC,Y,6BAEpD;;AAmBA;AACA,OAAO,MAAMC,cAAc,GAAGD,YAAY,CAAC;AACzCE,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAEC,KADD;AAELC,IAAAA,OAAO,EAAE,MAAO;AAFX,GADkC;AAKzCC,EAAAA,SAAS,EAAE;AACTH,IAAAA,IAAI,EAAE,CAACI,MAAD,EAASH,KAAT,EAAgBI,QAAhB,CADG;AAETH,IAAAA,OAAO,EAAE;AAFA,GAL8B;AASzCI,EAAAA,SAAS,EAAE;AACTN,IAAAA,IAAI,EAAE,CAACI,MAAD,EAASH,KAAT,EAAgBI,QAAhB,CADG;AAETH,IAAAA,OAAO,EAAE;AAFA,GAT8B;AAazCK,EAAAA,YAAY,EAAE;AACZP,IAAAA,IAAI,EAAEI,MADM;AAEZF,IAAAA,OAAO,EAAE;AAFG,GAb2B;AAiBzCM,EAAAA,SAAS,EAAE;AACTR,IAAAA,IAAI,EAAEK,QADG;AAETH,IAAAA,OAAO,EAAGO,IAAD,KAAgB,EAAhB;AAFA;AAjB8B,CAAD,EAqBvC,MArBuC,CAAnC;AAuBP,OAAO,SAASC,aAAT,CAAwBC,KAAxB,EAA0CF,IAA1C,EAAqD;AAAA;;AAC1D,QAAMG,KAAK,GAAGhB,mBAAmB,CAACa,IAAD,EAAOE,KAAK,CAACR,SAAb,EAAwBM,IAAxB,CAAjC;AACA,QAAMI,KAAK,GAAGjB,mBAAmB,CAACa,IAAD,EAAOE,KAAK,CAACL,SAAb,EAAwBM,KAAxB,CAAjC;AACA,QAAME,QAAQ,GAAGnB,oBAAoB,CAACc,IAAD,EAAOE,KAAK,CAACJ,YAAb,CAArC;AAEA,SAAO;AACLK,IAAAA,KADK;AAELC,IAAAA,KAFK;AAGLC,IAAAA,QAAQ,EAAEb,KAAK,CAACc,OAAN,CAAcD,QAAd,IAA0BE,cAAc,CAACL,KAAD,EAAQG,QAAR,CAAxC,GAA4DG,SAHjE;AAIL,4BAAGN,KAAK,CAACH,SAAT,qBAAG,sBAAAG,KAAK,EAAaF,IAAb,CAAR;AAJK,GAAP;AAMD;AAED,OAAO,SAASO,cAAT,CAAyBL,KAAzB,EAA2CZ,KAA3C,EAAsE;AAC3E,QAAMmB,KAAqB,GAAG,EAA9B;;AAEA,OAAK,MAAMT,IAAX,IAAmBV,KAAnB,EAA0B;AACxBmB,IAAAA,KAAK,CAACC,IAAN,CAAWT,aAAa,CAACC,KAAD,EAAQF,IAAR,CAAxB;AACD;;AAED,SAAOS,KAAP;AACD;AAED,OAAO,SAASE,QAAT,CAAmBT,KAAnB,EAAqC;AAC1C,QAAMZ,KAAK,GAAGL,QAAQ,CAAC,MAAMsB,cAAc,CAACL,KAAD,EAAQA,KAAK,CAACZ,KAAd,CAArB,CAAtB;AAEA,SAAO;AAAEA,IAAAA;AAAF,GAAP;AACD","sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { getObjectValueByPath, getPropertyFromItem, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { SelectItemKey } from '@/util'\n\nexport interface InternalItem {\n [key: string]: any\n title: string\n value: any\n children?: InternalItem[]\n}\n\nexport interface ItemProps {\n items: (string | Partial<InternalItem>)[]\n itemTitle: SelectItemKey\n itemValue: SelectItemKey\n itemChildren: string\n itemProps: (item: any) => Partial<InternalItem>\n}\n\n// Composables\nexport const makeItemsProps = propsFactory({\n items: {\n type: Array as PropType<ItemProps['items']>,\n default: () => ([]),\n },\n itemTitle: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'title',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n itemChildren: {\n type: String,\n default: 'children',\n },\n itemProps: {\n type: Function as PropType<ItemProps['itemProps']>,\n default: (item: any) => ({}),\n },\n}, 'item')\n\nexport function transformItem (props: ItemProps, item: any) {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, title)\n const children = getObjectValueByPath(item, props.itemChildren)\n\n return {\n title,\n value,\n children: Array.isArray(children) ? transformItems(props, children) : undefined,\n ...props.itemProps?.(item),\n }\n}\n\nexport function transformItems (props: ItemProps, items: ItemProps['items']) {\n const array: InternalItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nexport function useItems (props: ItemProps) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n"],"file":"items.mjs"}
1
+ {"version":3,"file":"items.mjs","names":["computed","getPropertyFromItem","pick","propsFactory","makeItemsProps","items","type","Array","default","itemTitle","String","Function","itemValue","itemChildren","Boolean","itemProps","returnObject","transformItem","props","item","title","value","children","_props","isArray","transformItems","undefined","raw","array","push","useItems","transformIn","map","transformOut"],"sources":["../../src/composables/items.ts"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { getPropertyFromItem, pick, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { SelectItemKey } from '@/util'\n\nexport interface InternalItem {\n title: string\n value: any\n props: {\n [key: string]: any\n title: string\n value: any\n }\n children?: InternalItem[]\n raw: any\n}\n\nexport interface ItemProps {\n items: any[]\n itemTitle: SelectItemKey\n itemValue: SelectItemKey\n itemChildren: SelectItemKey\n itemProps: SelectItemKey\n returnObject: boolean\n}\n\n// Composables\nexport const makeItemsProps = propsFactory({\n items: {\n type: Array as PropType<ItemProps['items']>,\n default: () => ([]),\n },\n itemTitle: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'title',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n itemChildren: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'children',\n },\n itemProps: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'props',\n },\n returnObject: Boolean,\n}, 'item')\n\nexport function transformItem (props: Omit<ItemProps, 'items'>, item: any) {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, title)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n title: _props.title,\n value: _props.value,\n props: _props,\n children: Array.isArray(children) ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nexport function transformItems (props: Omit<ItemProps, 'items'>, items: ItemProps['items']) {\n const array: InternalItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nexport function useItems (props: ItemProps) {\n const items = computed(() => transformItems(props, props.items))\n\n function transformIn (value: any[]): InternalItem[] {\n return value.map(item => transformItem(props, item))\n }\n\n function transformOut (value: InternalItem[]) {\n if (props.returnObject) return value.map(({ raw: item }) => item)\n return value.map(({ props }) => props.value)\n }\n\n return { items, transformIn, transformOut }\n}\n"],"mappings":"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"}
@@ -19,7 +19,7 @@ export const makeLayoutItemProps = propsFactory({
19
19
  name: {
20
20
  type: String
21
21
  },
22
- priority: {
22
+ order: {
23
23
  type: [Number, String],
24
24
  default: 0
25
25
  },
@@ -189,7 +189,7 @@ export function createLayout(props) {
189
189
  register: (vm, _ref2) => {
190
190
  let {
191
191
  id,
192
- priority,
192
+ order,
193
193
  position,
194
194
  layoutSize,
195
195
  elementSize,
@@ -197,7 +197,7 @@ export function createLayout(props) {
197
197
  disableTransitions,
198
198
  absolute
199
199
  } = _ref2;
200
- priorities.set(id, priority);
200
+ priorities.set(id, order);
201
201
  positions.set(id, position);
202
202
  layoutSizes.set(id, layoutSize);
203
203
  activeItems.set(id, active);