vuetify 3.3.1 → 3.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. package/dist/json/attributes.json +48 -52
  2. package/dist/json/tags.json +0 -1
  3. package/dist/json/web-types.json +630 -762
  4. package/dist/vuetify-labs.css +49 -36
  5. package/dist/vuetify-labs.d.ts +1844 -1613
  6. package/dist/vuetify-labs.esm.js +5486 -5305
  7. package/dist/vuetify-labs.esm.js.map +1 -1
  8. package/dist/vuetify-labs.js +5485 -5304
  9. package/dist/vuetify-labs.min.css +2 -2
  10. package/dist/vuetify.css +30 -8
  11. package/dist/vuetify.d.ts +1767 -1633
  12. package/dist/vuetify.esm.js +5134 -4883
  13. package/dist/vuetify.esm.js.map +1 -1
  14. package/dist/vuetify.js +5133 -4882
  15. package/dist/vuetify.js.map +1 -1
  16. package/dist/vuetify.min.css +2 -2
  17. package/dist/vuetify.min.js +1001 -988
  18. package/dist/vuetify.min.js.map +1 -1
  19. package/lib/blueprints/index.d.mts +33 -33
  20. package/lib/blueprints/md1.d.mts +33 -33
  21. package/lib/blueprints/md2.d.mts +33 -33
  22. package/lib/blueprints/md3.d.mts +33 -33
  23. package/lib/components/VAlert/VAlert.mjs +6 -6
  24. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  25. package/lib/components/VAlert/index.d.mts +1 -1
  26. package/lib/components/VApp/VApp.mjs +4 -4
  27. package/lib/components/VApp/VApp.mjs.map +1 -1
  28. package/lib/components/VAppBar/VAppBar.mjs +9 -6
  29. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  30. package/lib/components/VAppBar/VAppBarNavIcon.mjs +1 -1
  31. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  32. package/lib/components/VAppBar/index.d.mts +25 -9
  33. package/lib/components/VAutocomplete/VAutocomplete.mjs +27 -22
  34. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  35. package/lib/components/VAutocomplete/index.d.mts +88 -88
  36. package/lib/components/VAvatar/VAvatar.mjs +4 -4
  37. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  38. package/lib/components/VBadge/VBadge.mjs +6 -6
  39. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  40. package/lib/components/VBanner/VBanner.mjs +7 -10
  41. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  42. package/lib/components/VBanner/VBannerActions.mjs +2 -2
  43. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  44. package/lib/components/VBanner/VBannerText.mjs +1 -0
  45. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  46. package/lib/components/VBanner/index.d.mts +1 -1
  47. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +8 -8
  48. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  49. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +6 -9
  50. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  51. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +2 -2
  52. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  53. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +3 -3
  54. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  55. package/lib/components/VBtn/VBtn.mjs +7 -7
  56. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  57. package/lib/components/VBtn/index.d.mts +24 -8
  58. package/lib/components/VBtnGroup/VBtnGroup.mjs +4 -4
  59. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  60. package/lib/components/VBtnToggle/VBtnToggle.mjs +2 -2
  61. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  62. package/lib/components/VCard/VCard.mjs +8 -8
  63. package/lib/components/VCard/VCard.mjs.map +1 -1
  64. package/lib/components/VCard/VCardItem.mjs +4 -4
  65. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  66. package/lib/components/VCard/VCardSubtitle.mjs +1 -0
  67. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  68. package/lib/components/VCard/VCardText.mjs +1 -0
  69. package/lib/components/VCard/VCardText.mjs.map +1 -1
  70. package/lib/components/VCard/VCardTitle.mjs +1 -0
  71. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  72. package/lib/components/VCard/index.d.mts +45 -29
  73. package/lib/components/VCarousel/VCarousel.mjs +4 -7
  74. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  75. package/lib/components/VCarousel/VCarouselItem.mjs +1 -1
  76. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  77. package/lib/components/VCheckbox/VCheckbox.mjs +11 -4
  78. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  79. package/lib/components/VCheckbox/VCheckboxBtn.mjs +4 -4
  80. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  81. package/lib/components/VCheckbox/index.d.mts +57 -51
  82. package/lib/components/VChip/VChip.mjs +8 -8
  83. package/lib/components/VChip/VChip.mjs.map +1 -1
  84. package/lib/components/VChip/index.d.mts +48 -32
  85. package/lib/components/VChipGroup/VChipGroup.mjs +4 -7
  86. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  87. package/lib/components/VCode/index.mjs +3 -0
  88. package/lib/components/VCode/index.mjs.map +1 -1
  89. package/lib/components/VColorPicker/VColorPicker.mjs +10 -12
  90. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  91. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +2 -5
  92. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  93. package/lib/components/VColorPicker/VColorPickerEdit.mjs +3 -3
  94. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  95. package/lib/components/VColorPicker/VColorPickerPreview.mjs +3 -3
  96. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  97. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +1 -1
  98. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  99. package/lib/components/VCombobox/VCombobox.mjs +29 -20
  100. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  101. package/lib/components/VCombobox/index.d.mts +88 -88
  102. package/lib/components/VCounter/VCounter.mjs +2 -2
  103. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  104. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +4 -4
  105. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  106. package/lib/components/VDefaultsProvider/index.d.mts +7 -9
  107. package/lib/components/VDialog/VDialog.mjs +7 -7
  108. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  109. package/lib/components/VDialog/index.d.mts +66 -66
  110. package/lib/components/VDivider/VDivider.mjs +3 -3
  111. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  112. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +5 -5
  113. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  114. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +3 -3
  115. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  116. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +6 -6
  117. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  118. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +3 -3
  119. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  120. package/lib/components/VExpansionPanel/index.d.mts +57 -25
  121. package/lib/components/VField/VField.css +1 -0
  122. package/lib/components/VField/VField.mjs +8 -8
  123. package/lib/components/VField/VField.mjs.map +1 -1
  124. package/lib/components/VField/VField.sass +1 -0
  125. package/lib/components/VField/VFieldLabel.mjs +1 -1
  126. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  127. package/lib/components/VField/index.d.mts +5 -5
  128. package/lib/components/VFileInput/VFileInput.mjs +5 -5
  129. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  130. package/lib/components/VFileInput/index.d.mts +60 -60
  131. package/lib/components/VFooter/VFooter.mjs +4 -4
  132. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  133. package/lib/components/VForm/VForm.mjs +3 -3
  134. package/lib/components/VForm/VForm.mjs.map +1 -1
  135. package/lib/components/VGrid/VCol.mjs +2 -2
  136. package/lib/components/VGrid/VCol.mjs.map +1 -1
  137. package/lib/components/VGrid/VContainer.mjs +3 -3
  138. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  139. package/lib/components/VGrid/VRow.mjs +2 -2
  140. package/lib/components/VGrid/VRow.mjs.map +1 -1
  141. package/lib/components/VGrid/VSpacer.mjs +1 -0
  142. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  143. package/lib/components/VHover/VHover.mjs +1 -1
  144. package/lib/components/VHover/VHover.mjs.map +1 -1
  145. package/lib/components/VIcon/VIcon.mjs +6 -6
  146. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  147. package/lib/components/VImg/VImg.mjs +5 -4
  148. package/lib/components/VImg/VImg.mjs.map +1 -1
  149. package/lib/components/VInput/InputIcon.mjs +3 -2
  150. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  151. package/lib/components/VInput/VInput.mjs +8 -4
  152. package/lib/components/VInput/VInput.mjs.map +1 -1
  153. package/lib/components/VInput/index.d.mts +10 -10
  154. package/lib/components/VItemGroup/VItem.mjs +2 -2
  155. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  156. package/lib/components/VItemGroup/VItemGroup.mjs +1 -1
  157. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  158. package/lib/components/VKbd/index.mjs +3 -0
  159. package/lib/components/VKbd/index.mjs.map +1 -1
  160. package/lib/components/VLabel/VLabel.mjs +1 -1
  161. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  162. package/lib/components/VLayout/VLayout.mjs +3 -3
  163. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  164. package/lib/components/VLayout/VLayoutItem.mjs +1 -1
  165. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  166. package/lib/components/VLazy/VLazy.mjs +3 -3
  167. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  168. package/lib/components/VList/VList.css +1 -0
  169. package/lib/components/VList/VList.mjs +5 -4
  170. package/lib/components/VList/VList.mjs.map +1 -1
  171. package/lib/components/VList/VList.sass +1 -0
  172. package/lib/components/VList/VListChildren.mjs +3 -3
  173. package/lib/components/VList/VListChildren.mjs.map +1 -1
  174. package/lib/components/VList/VListGroup.mjs +8 -8
  175. package/lib/components/VList/VListGroup.mjs.map +1 -1
  176. package/lib/components/VList/VListImg.mjs +1 -0
  177. package/lib/components/VList/VListImg.mjs.map +1 -1
  178. package/lib/components/VList/VListItem.css +18 -0
  179. package/lib/components/VList/VListItem.mjs +10 -10
  180. package/lib/components/VList/VListItem.mjs.map +1 -1
  181. package/lib/components/VList/VListItem.sass +12 -0
  182. package/lib/components/VList/VListItemAction.mjs +1 -1
  183. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  184. package/lib/components/VList/VListItemMedia.mjs +1 -1
  185. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  186. package/lib/components/VList/VListItemSubtitle.mjs +1 -0
  187. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  188. package/lib/components/VList/VListItemTitle.mjs +1 -0
  189. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  190. package/lib/components/VList/VListSubheader.mjs +3 -3
  191. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  192. package/lib/components/VList/index.d.mts +48 -32
  193. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +1 -1
  194. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  195. package/lib/components/VMain/VMain.mjs +3 -3
  196. package/lib/components/VMain/VMain.mjs.map +1 -1
  197. package/lib/components/VMenu/VMenu.mjs +35 -9
  198. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  199. package/lib/components/VMenu/index.d.mts +113 -113
  200. package/lib/components/VMenu/shared.mjs +2 -0
  201. package/lib/components/VMenu/shared.mjs.map +1 -1
  202. package/lib/components/VMessages/VMessages.mjs +3 -3
  203. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  204. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +17 -13
  205. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  206. package/lib/components/VOverlay/VOverlay.mjs +18 -18
  207. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  208. package/lib/components/VOverlay/index.d.mts +21 -21
  209. package/lib/components/VOverlay/locationStrategies.mjs +5 -5
  210. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  211. package/lib/components/VOverlay/scrollStrategies.mjs +3 -3
  212. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  213. package/lib/components/VOverlay/useActivator.mjs +34 -44
  214. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  215. package/lib/components/VOverlay/util/point.mjs +2 -0
  216. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  217. package/lib/components/VPagination/VPagination.mjs +9 -9
  218. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  219. package/lib/components/VParallax/VParallax.mjs +3 -6
  220. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  221. package/lib/components/VProgressCircular/VProgressCircular.mjs +5 -5
  222. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  223. package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -6
  224. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  225. package/lib/components/VRadio/VRadio.mjs +3 -3
  226. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  227. package/lib/components/VRadio/index.d.mts +4 -4
  228. package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -4
  229. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  230. package/lib/components/VRadioGroup/index.d.mts +32 -32
  231. package/lib/components/VRangeSlider/VRangeSlider.mjs +4 -4
  232. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  233. package/lib/components/VRangeSlider/index.d.mts +8 -8
  234. package/lib/components/VRating/VRating.mjs +6 -9
  235. package/lib/components/VRating/VRating.mjs.map +1 -1
  236. package/lib/components/VResponsive/VResponsive.css +1 -0
  237. package/lib/components/VResponsive/VResponsive.mjs +1 -1
  238. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  239. package/lib/components/VResponsive/VResponsive.sass +1 -0
  240. package/lib/components/VSelect/VSelect.mjs +24 -19
  241. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  242. package/lib/components/VSelect/index.d.mts +88 -88
  243. package/lib/components/VSelectionControl/VSelectionControl.mjs +7 -7
  244. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  245. package/lib/components/VSelectionControl/index.d.mts +2 -2
  246. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +6 -6
  247. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  248. package/lib/components/VSheet/VSheet.mjs +4 -4
  249. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  250. package/lib/components/VSlideGroup/VSlideGroup.mjs +7 -7
  251. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  252. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +2 -2
  253. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  254. package/lib/components/VSlider/VSlider.mjs +6 -6
  255. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  256. package/lib/components/VSlider/VSliderThumb.mjs +8 -8
  257. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  258. package/lib/components/VSlider/VSliderTrack.mjs +3 -3
  259. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  260. package/lib/components/VSlider/index.d.mts +8 -8
  261. package/lib/components/VSlider/slider.mjs +4 -7
  262. package/lib/components/VSlider/slider.mjs.map +1 -1
  263. package/lib/components/VSnackbar/VSnackbar.mjs +7 -7
  264. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  265. package/lib/components/VSnackbar/index.d.mts +77 -77
  266. package/lib/components/VStepper/index.mjs +3 -2
  267. package/lib/components/VStepper/index.mjs.map +1 -1
  268. package/lib/components/VSwitch/VSwitch.mjs +6 -6
  269. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  270. package/lib/components/VSwitch/index.d.mts +41 -41
  271. package/lib/components/VSystemBar/VSystemBar.mjs +4 -4
  272. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  273. package/lib/components/VTable/VTable.mjs +1 -1
  274. package/lib/components/VTable/VTable.mjs.map +1 -1
  275. package/lib/components/VTabs/VTab.mjs +3 -3
  276. package/lib/components/VTabs/VTab.mjs.map +1 -1
  277. package/lib/components/VTabs/VTabs.css +1 -0
  278. package/lib/components/VTabs/VTabs.mjs +7 -7
  279. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  280. package/lib/components/VTabs/VTabs.sass +1 -0
  281. package/lib/components/VTabs/index.d.mts +24 -8
  282. package/lib/components/VTabs/shared.mjs +2 -0
  283. package/lib/components/VTabs/shared.mjs.map +1 -1
  284. package/lib/components/VTextField/VTextField.mjs +6 -6
  285. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  286. package/lib/components/VTextField/index.d.mts +72 -72
  287. package/lib/components/VTextarea/VTextarea.css +7 -7
  288. package/lib/components/VTextarea/VTextarea.mjs +8 -11
  289. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  290. package/lib/components/VTextarea/VTextarea.sass +9 -9
  291. package/lib/components/VTextarea/index.d.mts +60 -60
  292. package/lib/components/VThemeProvider/VThemeProvider.mjs +1 -1
  293. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  294. package/lib/components/VTimeline/VTimeline.mjs +4 -4
  295. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  296. package/lib/components/VTimeline/VTimelineDivider.mjs +5 -5
  297. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  298. package/lib/components/VTimeline/VTimelineItem.mjs +4 -7
  299. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  300. package/lib/components/VToolbar/VToolbar.mjs +8 -8
  301. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  302. package/lib/components/VToolbar/VToolbarItems.mjs +4 -4
  303. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  304. package/lib/components/VToolbar/VToolbarTitle.mjs +1 -1
  305. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  306. package/lib/components/VToolbar/index.d.mts +1 -1
  307. package/lib/components/VTooltip/VTooltip.mjs +6 -6
  308. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  309. package/lib/components/VTooltip/index.d.mts +113 -113
  310. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +15 -93
  311. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  312. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +9 -4
  313. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  314. package/lib/components/VVirtualScroll/index.d.mts +9 -9
  315. package/lib/components/VWindow/VWindow.mjs +6 -6
  316. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  317. package/lib/components/VWindow/VWindowItem.mjs +5 -5
  318. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  319. package/lib/components/index.d.mts +1970 -1838
  320. package/lib/components/transitions/createTransition.mjs +5 -8
  321. package/lib/components/transitions/createTransition.mjs.map +1 -1
  322. package/lib/components/transitions/dialog-transition.mjs +1 -3
  323. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  324. package/lib/components/transitions/index.d.mts +117 -117
  325. package/lib/composables/defaults.mjs +5 -0
  326. package/lib/composables/defaults.mjs.map +1 -1
  327. package/lib/composables/display.mjs +1 -1
  328. package/lib/composables/display.mjs.map +1 -1
  329. package/lib/composables/filter.mjs +2 -4
  330. package/lib/composables/filter.mjs.map +1 -1
  331. package/lib/composables/focus.mjs +1 -1
  332. package/lib/composables/focus.mjs.map +1 -1
  333. package/lib/composables/forwardRefs.mjs +2 -0
  334. package/lib/composables/forwardRefs.mjs.map +1 -1
  335. package/lib/composables/hydration.mjs +1 -1
  336. package/lib/composables/hydration.mjs.map +1 -1
  337. package/lib/composables/icons.mjs +7 -1
  338. package/lib/composables/icons.mjs.map +1 -1
  339. package/lib/composables/lazy.mjs +1 -3
  340. package/lib/composables/lazy.mjs.map +1 -1
  341. package/lib/composables/locale.mjs +2 -1
  342. package/lib/composables/locale.mjs.map +1 -1
  343. package/lib/composables/mutationObserver.mjs +2 -5
  344. package/lib/composables/mutationObserver.mjs.map +1 -1
  345. package/lib/composables/nested/nested.mjs +2 -2
  346. package/lib/composables/nested/nested.mjs.map +1 -1
  347. package/lib/composables/nested/selectStrategies.mjs +1 -0
  348. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  349. package/lib/composables/proxiedModel.mjs +3 -3
  350. package/lib/composables/proxiedModel.mjs.map +1 -1
  351. package/lib/composables/refs.mjs +4 -1
  352. package/lib/composables/refs.mjs.map +1 -1
  353. package/lib/composables/resizeObserver.mjs +4 -4
  354. package/lib/composables/resizeObserver.mjs.map +1 -1
  355. package/lib/composables/router.mjs +1 -4
  356. package/lib/composables/router.mjs.map +1 -1
  357. package/lib/composables/scopeId.mjs +1 -0
  358. package/lib/composables/scopeId.mjs.map +1 -1
  359. package/lib/composables/theme.mjs +1 -1
  360. package/lib/composables/theme.mjs.map +1 -1
  361. package/lib/composables/toggleScope.mjs +4 -0
  362. package/lib/composables/toggleScope.mjs.map +1 -1
  363. package/lib/composables/touch.mjs +1 -0
  364. package/lib/composables/touch.mjs.map +1 -1
  365. package/lib/composables/validation.mjs +2 -2
  366. package/lib/composables/validation.mjs.map +1 -1
  367. package/lib/composables/virtual.mjs +108 -0
  368. package/lib/composables/virtual.mjs.map +1 -0
  369. package/lib/directives/click-outside/index.mjs +2 -1
  370. package/lib/directives/click-outside/index.mjs.map +1 -1
  371. package/lib/directives/intersect/index.mjs +1 -1
  372. package/lib/directives/intersect/index.mjs.map +1 -1
  373. package/lib/directives/resize/index.mjs +2 -0
  374. package/lib/directives/resize/index.mjs.map +1 -1
  375. package/lib/directives/scroll/index.mjs +2 -0
  376. package/lib/directives/scroll/index.mjs.map +1 -1
  377. package/lib/directives/touch/index.mjs +1 -2
  378. package/lib/directives/touch/index.mjs.map +1 -1
  379. package/lib/entry-bundler.mjs +7 -2
  380. package/lib/entry-bundler.mjs.map +1 -1
  381. package/lib/framework.mjs +4 -6
  382. package/lib/framework.mjs.map +1 -1
  383. package/lib/iconsets/fa.mjs +1 -1
  384. package/lib/iconsets/fa.mjs.map +1 -1
  385. package/lib/iconsets/fa4.mjs +4 -3
  386. package/lib/iconsets/fa4.mjs.map +1 -1
  387. package/lib/iconsets/md.mjs +4 -3
  388. package/lib/iconsets/md.mjs.map +1 -1
  389. package/lib/iconsets/mdi-svg.mjs +36 -36
  390. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  391. package/lib/iconsets/mdi.mjs +4 -3
  392. package/lib/iconsets/mdi.mjs.map +1 -1
  393. package/lib/index.d.mts +35 -33
  394. package/lib/labs/VBottomSheet/VBottomSheet.mjs +1 -1
  395. package/lib/labs/VBottomSheet/VBottomSheet.mjs.map +1 -1
  396. package/lib/labs/VBottomSheet/index.d.mts +21 -21
  397. package/lib/labs/VDataIterator/VDataIterator.mjs +7 -7
  398. package/lib/labs/VDataIterator/VDataIterator.mjs.map +1 -1
  399. package/lib/labs/VDataIterator/composables/items.mjs +2 -2
  400. package/lib/labs/VDataIterator/composables/items.mjs.map +1 -1
  401. package/lib/labs/VDataIterator/index.d.mts +28 -27
  402. package/lib/labs/VDataTable/VDataTable.css +5 -14
  403. package/lib/labs/VDataTable/VDataTable.mjs +8 -8
  404. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  405. package/lib/labs/VDataTable/VDataTable.sass +7 -15
  406. package/lib/labs/VDataTable/VDataTableColumn.mjs +2 -1
  407. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
  408. package/lib/labs/VDataTable/VDataTableFooter.mjs +3 -3
  409. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  410. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +5 -5
  411. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  412. package/lib/labs/VDataTable/VDataTableHeaders.mjs +8 -8
  413. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  414. package/lib/labs/VDataTable/VDataTableRow.mjs +1 -1
  415. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  416. package/lib/labs/VDataTable/VDataTableRows.mjs +20 -16
  417. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  418. package/lib/labs/VDataTable/VDataTableServer.mjs +7 -7
  419. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  420. package/lib/labs/VDataTable/VDataTableVirtual.mjs +34 -22
  421. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  422. package/lib/labs/VDataTable/composables/expand.mjs +4 -4
  423. package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
  424. package/lib/labs/VDataTable/composables/group.mjs +1 -1
  425. package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
  426. package/lib/labs/VDataTable/composables/headers.mjs +2 -2
  427. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  428. package/lib/labs/VDataTable/composables/items.mjs +5 -8
  429. package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
  430. package/lib/labs/VDataTable/composables/paginate.mjs +1 -1
  431. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  432. package/lib/labs/VDataTable/composables/select.mjs +4 -3
  433. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  434. package/lib/labs/VDataTable/composables/sort.mjs +4 -9
  435. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  436. package/lib/labs/VDataTable/index.d.mts +182 -83
  437. package/lib/labs/VDataTable/types.mjs.map +1 -1
  438. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +1 -1
  439. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
  440. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +4 -4
  441. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  442. package/lib/labs/components.d.mts +213 -114
  443. package/lib/labs/date/date.mjs.map +1 -1
  444. package/lib/labs/entry-bundler.mjs +3 -1
  445. package/lib/labs/entry-bundler.mjs.map +1 -1
  446. package/lib/locale/adapters/vue-i18n.d.mts +1 -1
  447. package/lib/locale/adapters/vue-i18n.mjs +5 -1
  448. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  449. package/lib/locale/adapters/vuetify.mjs +1 -3
  450. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  451. package/lib/util/anchor.mjs +1 -0
  452. package/lib/util/anchor.mjs.map +1 -1
  453. package/lib/util/animation.mjs +1 -0
  454. package/lib/util/animation.mjs.map +1 -1
  455. package/lib/util/bindProps.mjs +49 -0
  456. package/lib/util/bindProps.mjs.map +1 -0
  457. package/lib/util/color/APCA.mjs +1 -0
  458. package/lib/util/color/APCA.mjs.map +1 -1
  459. package/lib/util/color/transformCIELAB.mjs +2 -0
  460. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  461. package/lib/util/color/transformSRGB.mjs +3 -1
  462. package/lib/util/color/transformSRGB.mjs.map +1 -1
  463. package/lib/util/colorUtils.mjs +2 -2
  464. package/lib/util/colorUtils.mjs.map +1 -1
  465. package/lib/util/console.mjs +1 -0
  466. package/lib/util/console.mjs.map +1 -1
  467. package/lib/util/createSimpleFunctional.mjs +2 -1
  468. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  469. package/lib/util/defineComponent.mjs +5 -5
  470. package/lib/util/defineComponent.mjs.map +1 -1
  471. package/lib/util/getCurrentInstance.mjs +1 -2
  472. package/lib/util/getCurrentInstance.mjs.map +1 -1
  473. package/lib/util/helpers.mjs +6 -3
  474. package/lib/util/helpers.mjs.map +1 -1
  475. package/lib/util/index.mjs +1 -0
  476. package/lib/util/index.mjs.map +1 -1
  477. package/lib/util/injectSelf.mjs +2 -1
  478. package/lib/util/injectSelf.mjs.map +1 -1
  479. package/lib/util/propsFactory.mjs +1 -0
  480. package/lib/util/propsFactory.mjs.map +1 -1
  481. package/package.json +4 -4
  482. package/lib/labs/VDataTable/composables/virtual.mjs +0 -77
  483. package/lib/labs/VDataTable/composables/virtual.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"date.mjs","names":["useLocale","inject","watch","propsFactory","VuetifyDateAdapter","DateAdapterSymbol","Symbol","for","createDate","options","adapter","makeDateProps","displayDate","type","Object","default","Date","hideAdjacentMonths","Boolean","modelValue","useDate","props","date","locale","Error","instance","current","value","val"],"sources":["../../../src/labs/date/date.ts"],"sourcesContent":["// Composables\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { inject, watch } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Adapters\nimport { VuetifyDateAdapter } from './adapters/vuetify'\n\n// Types\nimport type { DateAdapter } from './DateAdapter'\nimport type { InjectionKey, PropType } from 'vue'\n\nexport interface DateInstance extends DateAdapter<Date> {\n locale: string\n}\n\nexport type DateOptions = {\n adapter: (new (locale: string) => DateInstance) | DateInstance\n}\n\nexport const DateAdapterSymbol: InjectionKey<DateOptions> = Symbol.for('vuetify:date-adapter')\n\nexport interface DateProps {\n displayDate: Date\n hideAdjacentMonths: boolean\n modelValue: readonly any[]\n}\n\nexport function createDate (options?: DateOptions) {\n return options ?? { adapter: VuetifyDateAdapter }\n}\n\n// TODO: revisit this after it starts being implemented\nexport const makeDateProps = propsFactory({\n displayDate: {\n type: Object as PropType<Date>,\n default: new Date(),\n },\n hideAdjacentMonths: Boolean,\n modelValue: {\n type: null as unknown as PropType<readonly any[]>,\n default: () => [],\n },\n}, 'date')\n\nexport function useDate (props?: DateProps) {\n const date = inject(DateAdapterSymbol)\n const locale = useLocale()\n\n if (!date) throw new Error('[Vuetify] Could not find injected date')\n\n const instance = typeof date.adapter === 'function'\n // eslint-disable-next-line new-cap\n ? new date.adapter(locale.current.value)\n : date.adapter\n\n if (typeof date.adapter === 'function') {\n watch(locale.current, val => {\n instance.locale = val\n })\n }\n\n return instance\n}\n"],"mappings":"AAAA;AAAA,SACSA,SAAS,wCAElB;AACA,SAASC,MAAM,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC1BC,YAAY,gCAErB;AAAA,SACSC,kBAAkB,kCAE3B;AAYA,OAAO,MAAMC,iBAA4C,GAAGC,MAAM,CAACC,GAAG,CAAC,sBAAsB,CAAC;AAQ9F,OAAO,SAASC,UAAUA,CAAEC,OAAqB,EAAE;EACjD,OAAOA,OAAO,IAAI;IAAEC,OAAO,EAAEN;EAAmB,CAAC;AACnD;;AAEA;AACA,OAAO,MAAMO,aAAa,GAAGR,YAAY,CAAC;EACxCS,WAAW,EAAE;IACXC,IAAI,EAAEC,MAAwB;IAC9BC,OAAO,EAAE,IAAIC,IAAI;EACnB,CAAC;EACDC,kBAAkB,EAAEC,OAAO;EAC3BC,UAAU,EAAE;IACVN,IAAI,EAAE,IAA2C;IACjDE,OAAO,EAAEA,CAAA,KAAM;EACjB;AACF,CAAC,EAAE,MAAM,CAAC;AAEV,OAAO,SAASK,OAAOA,CAAEC,KAAiB,EAAE;EAC1C,MAAMC,IAAI,GAAGrB,MAAM,CAACI,iBAAiB,CAAC;EACtC,MAAMkB,MAAM,GAAGvB,SAAS,EAAE;EAE1B,IAAI,CAACsB,IAAI,EAAE,MAAM,IAAIE,KAAK,CAAC,wCAAwC,CAAC;EAEpE,MAAMC,QAAQ,GAAG,OAAOH,IAAI,CAACZ,OAAO,KAAK;EACvC;EAAA,EACE,IAAIY,IAAI,CAACZ,OAAO,CAACa,MAAM,CAACG,OAAO,CAACC,KAAK,CAAC,GACtCL,IAAI,CAACZ,OAAO;EAEhB,IAAI,OAAOY,IAAI,CAACZ,OAAO,KAAK,UAAU,EAAE;IACtCR,KAAK,CAACqB,MAAM,CAACG,OAAO,EAAEE,GAAG,IAAI;MAC3BH,QAAQ,CAACF,MAAM,GAAGK,GAAG;IACvB,CAAC,CAAC;EACJ;EAEA,OAAOH,QAAQ;AACjB"}
1
+ {"version":3,"file":"date.mjs","names":["useLocale","inject","watch","propsFactory","VuetifyDateAdapter","DateAdapterSymbol","Symbol","for","createDate","options","adapter","makeDateProps","displayDate","type","Object","default","Date","hideAdjacentMonths","Boolean","modelValue","useDate","props","date","locale","Error","instance","current","value","val"],"sources":["../../../src/labs/date/date.ts"],"sourcesContent":["// Composables\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { inject, watch } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Adapters\nimport { VuetifyDateAdapter } from './adapters/vuetify'\n\n// Types\nimport type { InjectionKey, PropType } from 'vue'\nimport type { DateAdapter } from './DateAdapter'\n\nexport interface DateInstance extends DateAdapter<Date> {\n locale: string\n}\n\nexport type DateOptions = {\n adapter: (new (locale: string) => DateInstance) | DateInstance\n}\n\nexport const DateAdapterSymbol: InjectionKey<DateOptions> = Symbol.for('vuetify:date-adapter')\n\nexport interface DateProps {\n displayDate: Date\n hideAdjacentMonths: boolean\n modelValue: readonly any[]\n}\n\nexport function createDate (options?: DateOptions) {\n return options ?? { adapter: VuetifyDateAdapter }\n}\n\n// TODO: revisit this after it starts being implemented\nexport const makeDateProps = propsFactory({\n displayDate: {\n type: Object as PropType<Date>,\n default: new Date(),\n },\n hideAdjacentMonths: Boolean,\n modelValue: {\n type: null as unknown as PropType<readonly any[]>,\n default: () => [],\n },\n}, 'date')\n\nexport function useDate (props?: DateProps) {\n const date = inject(DateAdapterSymbol)\n const locale = useLocale()\n\n if (!date) throw new Error('[Vuetify] Could not find injected date')\n\n const instance = typeof date.adapter === 'function'\n // eslint-disable-next-line new-cap\n ? new date.adapter(locale.current.value)\n : date.adapter\n\n if (typeof date.adapter === 'function') {\n watch(locale.current, val => {\n instance.locale = val\n })\n }\n\n return instance\n}\n"],"mappings":"AAAA;AAAA,SACSA,SAAS,wCAElB;AACA,SAASC,MAAM,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC1BC,YAAY,gCAErB;AAAA,SACSC,kBAAkB,kCAE3B;AAYA,OAAO,MAAMC,iBAA4C,GAAGC,MAAM,CAACC,GAAG,CAAC,sBAAsB,CAAC;AAQ9F,OAAO,SAASC,UAAUA,CAAEC,OAAqB,EAAE;EACjD,OAAOA,OAAO,IAAI;IAAEC,OAAO,EAAEN;EAAmB,CAAC;AACnD;;AAEA;AACA,OAAO,MAAMO,aAAa,GAAGR,YAAY,CAAC;EACxCS,WAAW,EAAE;IACXC,IAAI,EAAEC,MAAwB;IAC9BC,OAAO,EAAE,IAAIC,IAAI;EACnB,CAAC;EACDC,kBAAkB,EAAEC,OAAO;EAC3BC,UAAU,EAAE;IACVN,IAAI,EAAE,IAA2C;IACjDE,OAAO,EAAEA,CAAA,KAAM;EACjB;AACF,CAAC,EAAE,MAAM,CAAC;AAEV,OAAO,SAASK,OAAOA,CAAEC,KAAiB,EAAE;EAC1C,MAAMC,IAAI,GAAGrB,MAAM,CAACI,iBAAiB,CAAC;EACtC,MAAMkB,MAAM,GAAGvB,SAAS,EAAE;EAE1B,IAAI,CAACsB,IAAI,EAAE,MAAM,IAAIE,KAAK,CAAC,wCAAwC,CAAC;EAEpE,MAAMC,QAAQ,GAAG,OAAOH,IAAI,CAACZ,OAAO,KAAK;EACvC;EAAA,EACE,IAAIY,IAAI,CAACZ,OAAO,CAACa,MAAM,CAACG,OAAO,CAACC,KAAK,CAAC,GACtCL,IAAI,CAACZ,OAAO;EAEhB,IAAI,OAAOY,IAAI,CAACZ,OAAO,KAAK,UAAU,EAAE;IACtCR,KAAK,CAACqB,MAAM,CAACG,OAAO,EAAEE,GAAG,IAAI;MAC3BH,QAAQ,CAACF,MAAM,GAAGK,GAAG;IACvB,CAAC,CAAC;EACJ;EAEA,OAAOH,QAAQ;AACjB"}
@@ -1,6 +1,8 @@
1
+ /* eslint-disable local-rules/sort-imports */
2
+ // Components
1
3
  import * as components from "./allComponents.mjs";
2
4
  import * as directives from "../directives/index.mjs";
3
- import { createVuetify as _createVuetify } from "../framework.mjs";
5
+ import { createVuetify as _createVuetify } from "../framework.mjs"; // Types
4
6
  export * from "../entry-bundler.mjs";
5
7
  export { components };
6
8
  export const createVuetify = function () {
@@ -1 +1 @@
1
- {"version":3,"file":"entry-bundler.mjs","names":["components","directives","createVuetify","_createVuetify","options","arguments","length","undefined"],"sources":["../../src/labs/entry-bundler.ts"],"sourcesContent":["import * as components from './allComponents'\nimport * as directives from '@/directives'\nimport { createVuetify as _createVuetify } from '@/framework'\nimport type { VuetifyOptions } from '@/framework'\n\nexport * from '@/entry-bundler'\nexport { components }\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n"],"mappings":"OAAO,KAAKA,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,SACbC,aAAa,IAAIC,cAAc;AAAA;AAIxC,SAASH,UAAU;AAEnB,OAAO,MAAME,aAAa,GAAG,SAAAA,CAAA,EAAkC;EAAA,IAAjCE,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxD,OAAOF,cAAc,CAAC;IAAEH,UAAU;IAAEC,UAAU;IAAE,GAAGG;EAAQ,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"entry-bundler.mjs","names":["components","directives","createVuetify","_createVuetify","options","arguments","length","undefined"],"sources":["../../src/labs/entry-bundler.ts"],"sourcesContent":["/* eslint-disable local-rules/sort-imports */\n\n// Components\nimport * as components from './allComponents'\nimport * as directives from '@/directives'\nimport { createVuetify as _createVuetify } from '@/framework'\n\n// Types\nimport type { VuetifyOptions } from '@/framework'\n\nexport * from '@/entry-bundler'\nexport { components }\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n"],"mappings":"AAAA;AAEA;AAAA,OACO,KAAKA,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,SACbC,aAAa,IAAIC,cAAc,4BAExC;AAAA;AAIA,SAASH,UAAU;AAEnB,OAAO,MAAME,aAAa,GAAG,SAAAA,CAAA,EAAkC;EAAA,IAAjCE,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxD,OAAOF,cAAc,CAAC;IAAEH,UAAU;IAAEC,UAAU;IAAE,GAAGG;EAAQ,CAAC,CAAC;AAC/D,CAAC"}
@@ -1,5 +1,5 @@
1
- import { Ref } from 'vue';
2
1
  import { I18n, useI18n } from 'vue-i18n';
2
+ import { Ref } from 'vue';
3
3
 
4
4
  interface LocaleMessages {
5
5
  [key: string]: LocaleMessages | string;
@@ -1,5 +1,9 @@
1
+ // Composables
2
+ import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
1
3
  import { watch } from 'vue';
2
- import { useProxiedModel } from "../../composables/proxiedModel.mjs";
4
+
5
+ // Types
6
+
3
7
  function useProvided(props, prop, provided) {
4
8
  const internal = useProxiedModel(props, prop);
5
9
  internal.value = props[prop] ?? provided.value;
@@ -1 +1 @@
1
- {"version":3,"file":"vue-i18n.mjs","names":["watch","useProxiedModel","useProvided","props","prop","provided","internal","value","v","createProvideFunction","data","current","fallback","messages","i18n","useI18n","locale","fallbackLocale","useScope","legacy","inheritLocale","name","t","key","_len","arguments","length","params","Array","_key","n","provide","createVueI18nAdapter","_ref","global","_len2","_key2"],"sources":["../../../src/locale/adapters/vue-i18n.ts"],"sourcesContent":["import { watch } from 'vue'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\nimport type { Ref } from 'vue'\nimport type { LocaleInstance, LocaleMessages, LocaleOptions } from '@/composables/locale'\nimport type { I18n, useI18n } from 'vue-i18n'\n\ntype VueI18nAdapterParams = {\n i18n: I18n<any, {}, {}, string, false>\n useI18n: typeof useI18n\n}\n\nfunction useProvided <T> (props: any, prop: string, provided: Ref<T>) {\n const internal = useProxiedModel(props, prop)\n\n internal.value = props[prop] ?? provided.value\n\n watch(provided, v => {\n if (props[prop] == null) {\n internal.value = v\n }\n })\n\n return internal as Ref<T>\n}\n\nfunction createProvideFunction (data: {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n useI18n: typeof useI18n\n}) {\n return (props: LocaleOptions): LocaleInstance => {\n const current = useProvided(props, 'locale', data.current)\n const fallback = useProvided(props, 'fallback', data.fallback)\n const messages = useProvided(props, 'messages', data.messages)\n\n const i18n = data.useI18n({\n locale: current.value,\n fallbackLocale: fallback.value,\n messages: messages.value as any,\n useScope: 'local',\n legacy: false,\n inheritLocale: false,\n })\n\n watch(current, v => {\n i18n.locale.value = v\n })\n\n return {\n name: 'vue-i18n',\n current,\n fallback,\n messages,\n t: (key: string, ...params: unknown[]) => i18n.t(key, params),\n n: i18n.n,\n provide: createProvideFunction({ current, fallback, messages, useI18n: data.useI18n }),\n }\n }\n}\n\nexport function createVueI18nAdapter ({ i18n, useI18n }: VueI18nAdapterParams): LocaleInstance {\n const current = i18n.global.locale\n const fallback = i18n.global.fallbackLocale as Ref<any>\n const messages = i18n.global.messages\n\n return {\n name: 'vue-i18n',\n current,\n fallback,\n messages,\n // @ts-expect-error Type instantiation is excessively deep and possibly infinite\n t: (key: string, ...params: unknown[]) => i18n.global.t(key, params),\n n: i18n.global.n,\n provide: createProvideFunction({ current, fallback, messages, useI18n }),\n }\n}\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,KAAK;AAAA,SAClBC,eAAe;AAWxB,SAASC,WAAWA,CAAMC,KAAU,EAAEC,IAAY,EAAEC,QAAgB,EAAE;EACpE,MAAMC,QAAQ,GAAGL,eAAe,CAACE,KAAK,EAAEC,IAAI,CAAC;EAE7CE,QAAQ,CAACC,KAAK,GAAGJ,KAAK,CAACC,IAAI,CAAC,IAAIC,QAAQ,CAACE,KAAK;EAE9CP,KAAK,CAACK,QAAQ,EAAEG,CAAC,IAAI;IACnB,IAAIL,KAAK,CAACC,IAAI,CAAC,IAAI,IAAI,EAAE;MACvBE,QAAQ,CAACC,KAAK,GAAGC,CAAC;IACpB;EACF,CAAC,CAAC;EAEF,OAAOF,QAAQ;AACjB;AAEA,SAASG,qBAAqBA,CAAEC,IAK/B,EAAE;EACD,OAAQP,KAAoB,IAAqB;IAC/C,MAAMQ,OAAO,GAAGT,WAAW,CAACC,KAAK,EAAE,QAAQ,EAAEO,IAAI,CAACC,OAAO,CAAC;IAC1D,MAAMC,QAAQ,GAAGV,WAAW,CAACC,KAAK,EAAE,UAAU,EAAEO,IAAI,CAACE,QAAQ,CAAC;IAC9D,MAAMC,QAAQ,GAAGX,WAAW,CAACC,KAAK,EAAE,UAAU,EAAEO,IAAI,CAACG,QAAQ,CAAC;IAE9D,MAAMC,IAAI,GAAGJ,IAAI,CAACK,OAAO,CAAC;MACxBC,MAAM,EAAEL,OAAO,CAACJ,KAAK;MACrBU,cAAc,EAAEL,QAAQ,CAACL,KAAK;MAC9BM,QAAQ,EAAEA,QAAQ,CAACN,KAAY;MAC/BW,QAAQ,EAAE,OAAO;MACjBC,MAAM,EAAE,KAAK;MACbC,aAAa,EAAE;IACjB,CAAC,CAAC;IAEFpB,KAAK,CAACW,OAAO,EAAEH,CAAC,IAAI;MAClBM,IAAI,CAACE,MAAM,CAACT,KAAK,GAAGC,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO;MACLa,IAAI,EAAE,UAAU;MAChBV,OAAO;MACPC,QAAQ;MACRC,QAAQ;MACRS,CAAC,EAAE,SAAAA,CAACC,GAAW;QAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAKC,MAAM,OAAAC,KAAA,CAAAJ,IAAA,OAAAA,IAAA,WAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;UAANF,MAAM,CAAAE,IAAA,QAAAJ,SAAA,CAAAI,IAAA;QAAA;QAAA,OAAgBf,IAAI,CAACQ,CAAC,CAACC,GAAG,EAAEI,MAAM,CAAC;MAAA;MAC7DG,CAAC,EAAEhB,IAAI,CAACgB,CAAC;MACTC,OAAO,EAAEtB,qBAAqB,CAAC;QAAEE,OAAO;QAAEC,QAAQ;QAAEC,QAAQ;QAAEE,OAAO,EAAEL,IAAI,CAACK;MAAQ,CAAC;IACvF,CAAC;EACH,CAAC;AACH;AAEA,OAAO,SAASiB,oBAAoBA,CAAAC,IAAA,EAA2D;EAAA,IAAzD;IAAEnB,IAAI;IAAEC;EAA8B,CAAC,GAAAkB,IAAA;EAC3E,MAAMtB,OAAO,GAAGG,IAAI,CAACoB,MAAM,CAAClB,MAAM;EAClC,MAAMJ,QAAQ,GAAGE,IAAI,CAACoB,MAAM,CAACjB,cAA0B;EACvD,MAAMJ,QAAQ,GAAGC,IAAI,CAACoB,MAAM,CAACrB,QAAQ;EAErC,OAAO;IACLQ,IAAI,EAAE,UAAU;IAChBV,OAAO;IACPC,QAAQ;IACRC,QAAQ;IACR;IACAS,CAAC,EAAE,SAAAA,CAACC,GAAW;MAAA,SAAAY,KAAA,GAAAV,SAAA,CAAAC,MAAA,EAAKC,MAAM,OAAAC,KAAA,CAAAO,KAAA,OAAAA,KAAA,WAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;QAANT,MAAM,CAAAS,KAAA,QAAAX,SAAA,CAAAW,KAAA;MAAA;MAAA,OAAgBtB,IAAI,CAACoB,MAAM,CAACZ,CAAC,CAACC,GAAG,EAAEI,MAAM,CAAC;IAAA;IACpEG,CAAC,EAAEhB,IAAI,CAACoB,MAAM,CAACJ,CAAC;IAChBC,OAAO,EAAEtB,qBAAqB,CAAC;MAAEE,OAAO;MAAEC,QAAQ;MAAEC,QAAQ;MAAEE;IAAQ,CAAC;EACzE,CAAC;AACH"}
1
+ {"version":3,"file":"vue-i18n.mjs","names":["useProxiedModel","watch","useProvided","props","prop","provided","internal","value","v","createProvideFunction","data","current","fallback","messages","i18n","useI18n","locale","fallbackLocale","useScope","legacy","inheritLocale","name","t","key","_len","arguments","length","params","Array","_key","n","provide","createVueI18nAdapter","_ref","global","_len2","_key2"],"sources":["../../../src/locale/adapters/vue-i18n.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { watch } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { I18n, useI18n } from 'vue-i18n'\nimport type { LocaleInstance, LocaleMessages, LocaleOptions } from '@/composables/locale'\n\ntype VueI18nAdapterParams = {\n i18n: I18n<any, {}, {}, string, false>\n useI18n: typeof useI18n\n}\n\nfunction useProvided <T> (props: any, prop: string, provided: Ref<T>) {\n const internal = useProxiedModel(props, prop)\n\n internal.value = props[prop] ?? provided.value\n\n watch(provided, v => {\n if (props[prop] == null) {\n internal.value = v\n }\n })\n\n return internal as Ref<T>\n}\n\nfunction createProvideFunction (data: {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n useI18n: typeof useI18n\n}) {\n return (props: LocaleOptions): LocaleInstance => {\n const current = useProvided(props, 'locale', data.current)\n const fallback = useProvided(props, 'fallback', data.fallback)\n const messages = useProvided(props, 'messages', data.messages)\n\n const i18n = data.useI18n({\n locale: current.value,\n fallbackLocale: fallback.value,\n messages: messages.value as any,\n useScope: 'local',\n legacy: false,\n inheritLocale: false,\n })\n\n watch(current, v => {\n i18n.locale.value = v\n })\n\n return {\n name: 'vue-i18n',\n current,\n fallback,\n messages,\n t: (key: string, ...params: unknown[]) => i18n.t(key, params),\n n: i18n.n,\n provide: createProvideFunction({ current, fallback, messages, useI18n: data.useI18n }),\n }\n }\n}\n\nexport function createVueI18nAdapter ({ i18n, useI18n }: VueI18nAdapterParams): LocaleInstance {\n const current = i18n.global.locale\n const fallback = i18n.global.fallbackLocale as Ref<any>\n const messages = i18n.global.messages\n\n return {\n name: 'vue-i18n',\n current,\n fallback,\n messages,\n // @ts-expect-error Type instantiation is excessively deep and possibly infinite\n t: (key: string, ...params: unknown[]) => i18n.global.t(key, params),\n n: i18n.global.n,\n provide: createProvideFunction({ current, fallback, messages, useI18n }),\n }\n}\n"],"mappings":"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"}
@@ -1,9 +1,7 @@
1
1
  // Composables
2
2
  import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
3
- import { consoleError, consoleWarn, getObjectValueByPath } from "../../util/index.mjs";
4
3
  import { ref, shallowRef, watch } from 'vue';
5
-
6
- // Locales
4
+ import { consoleError, consoleWarn, getObjectValueByPath } from "../../util/index.mjs"; // Locales
7
5
  import en from "../en.mjs"; // Types
8
6
  const LANG_PREFIX = '$vuetify.';
9
7
  const replace = (str, params) => {
@@ -1 +1 @@
1
- {"version":3,"file":"vuetify.mjs","names":["useProxiedModel","consoleError","consoleWarn","getObjectValueByPath","ref","shallowRef","watch","en","LANG_PREFIX","replace","str","params","match","index","String","createTranslateFunction","current","fallback","messages","key","_len","arguments","length","Array","_key","startsWith","shortKey","currentLocale","value","fallbackLocale","createNumberFunction","options","numberFormat","Intl","NumberFormat","format","useProvided","props","prop","provided","internal","v","createProvideFunction","state","name","t","n","provide","createVuetifyAdapter","locale"],"sources":["../../../src/locale/adapters/vuetify.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { consoleError, consoleWarn, getObjectValueByPath } from '@/util'\nimport { ref, shallowRef, watch } from 'vue'\n\n// Locales\nimport en from '@/locale/en'\n\n// Types\nimport type { LocaleInstance, LocaleMessages, LocaleOptions } from '@/composables/locale'\nimport type { Ref } from 'vue'\n\nconst LANG_PREFIX = '$vuetify.'\n\nconst replace = (str: string, params: unknown[]) => {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n return String(params[+index])\n })\n}\n\nconst createTranslateFunction = (\n current: Ref<string>,\n fallback: Ref<string>,\n messages: Ref<LocaleMessages>,\n) => {\n return (key: string, ...params: unknown[]) => {\n if (!key.startsWith(LANG_PREFIX)) {\n return replace(key, params)\n }\n\n const shortKey = key.replace(LANG_PREFIX, '')\n const currentLocale = current.value && messages.value[current.value]\n const fallbackLocale = fallback.value && messages.value[fallback.value]\n\n let str: string = getObjectValueByPath(currentLocale, shortKey, null)\n\n if (!str) {\n consoleWarn(`Translation key \"${key}\" not found in \"${current.value}\", trying fallback locale`)\n str = getObjectValueByPath(fallbackLocale, shortKey, null)\n }\n\n if (!str) {\n consoleError(`Translation key \"${key}\" not found in fallback`)\n str = key\n }\n\n if (typeof str !== 'string') {\n consoleError(`Translation key \"${key}\" has a non-string value`)\n str = key\n }\n\n return replace(str, params)\n }\n}\n\nfunction createNumberFunction (current: Ref<string>, fallback: Ref<string>) {\n return (value: number, options?: Intl.NumberFormatOptions) => {\n const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options)\n\n return numberFormat.format(value)\n }\n}\n\nfunction useProvided <T> (props: any, prop: string, provided: Ref<T>) {\n const internal = useProxiedModel(props, prop, props[prop] ?? provided.value)\n\n // TODO: Remove when defaultValue works\n internal.value = props[prop] ?? provided.value\n\n watch(provided, v => {\n if (props[prop] == null) {\n internal.value = provided.value\n }\n })\n\n return internal as Ref<T>\n}\n\nfunction createProvideFunction (state: { current: Ref<string>, fallback: Ref<string>, messages: Ref<LocaleMessages> }) {\n return (props: LocaleOptions): LocaleInstance => {\n const current = useProvided(props, 'locale', state.current)\n const fallback = useProvided(props, 'fallback', state.fallback)\n const messages = useProvided(props, 'messages', state.messages)\n\n return {\n name: 'vuetify',\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n provide: createProvideFunction({ current, fallback, messages }),\n }\n }\n}\n\nexport function createVuetifyAdapter (options?: LocaleOptions): LocaleInstance {\n const current = shallowRef(options?.locale ?? 'en')\n const fallback = shallowRef(options?.fallback ?? 'en')\n const messages = ref({ en, ...options?.messages })\n\n return {\n name: 'vuetify',\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n provide: createProvideFunction({ current, fallback, messages }),\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"vuetify.mjs","names":["useProxiedModel","ref","shallowRef","watch","consoleError","consoleWarn","getObjectValueByPath","en","LANG_PREFIX","replace","str","params","match","index","String","createTranslateFunction","current","fallback","messages","key","_len","arguments","length","Array","_key","startsWith","shortKey","currentLocale","value","fallbackLocale","createNumberFunction","options","numberFormat","Intl","NumberFormat","format","useProvided","props","prop","provided","internal","v","createProvideFunction","state","name","t","n","provide","createVuetifyAdapter","locale"],"sources":["../../../src/locale/adapters/vuetify.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { ref, shallowRef, watch } from 'vue'\nimport { consoleError, consoleWarn, getObjectValueByPath } from '@/util'\n\n// Locales\nimport en from '@/locale/en'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { LocaleInstance, LocaleMessages, LocaleOptions } from '@/composables/locale'\n\nconst LANG_PREFIX = '$vuetify.'\n\nconst replace = (str: string, params: unknown[]) => {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n return String(params[+index])\n })\n}\n\nconst createTranslateFunction = (\n current: Ref<string>,\n fallback: Ref<string>,\n messages: Ref<LocaleMessages>,\n) => {\n return (key: string, ...params: unknown[]) => {\n if (!key.startsWith(LANG_PREFIX)) {\n return replace(key, params)\n }\n\n const shortKey = key.replace(LANG_PREFIX, '')\n const currentLocale = current.value && messages.value[current.value]\n const fallbackLocale = fallback.value && messages.value[fallback.value]\n\n let str: string = getObjectValueByPath(currentLocale, shortKey, null)\n\n if (!str) {\n consoleWarn(`Translation key \"${key}\" not found in \"${current.value}\", trying fallback locale`)\n str = getObjectValueByPath(fallbackLocale, shortKey, null)\n }\n\n if (!str) {\n consoleError(`Translation key \"${key}\" not found in fallback`)\n str = key\n }\n\n if (typeof str !== 'string') {\n consoleError(`Translation key \"${key}\" has a non-string value`)\n str = key\n }\n\n return replace(str, params)\n }\n}\n\nfunction createNumberFunction (current: Ref<string>, fallback: Ref<string>) {\n return (value: number, options?: Intl.NumberFormatOptions) => {\n const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options)\n\n return numberFormat.format(value)\n }\n}\n\nfunction useProvided <T> (props: any, prop: string, provided: Ref<T>) {\n const internal = useProxiedModel(props, prop, props[prop] ?? provided.value)\n\n // TODO: Remove when defaultValue works\n internal.value = props[prop] ?? provided.value\n\n watch(provided, v => {\n if (props[prop] == null) {\n internal.value = provided.value\n }\n })\n\n return internal as Ref<T>\n}\n\nfunction createProvideFunction (state: { current: Ref<string>, fallback: Ref<string>, messages: Ref<LocaleMessages> }) {\n return (props: LocaleOptions): LocaleInstance => {\n const current = useProvided(props, 'locale', state.current)\n const fallback = useProvided(props, 'fallback', state.fallback)\n const messages = useProvided(props, 'messages', state.messages)\n\n return {\n name: 'vuetify',\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n provide: createProvideFunction({ current, fallback, messages }),\n }\n }\n}\n\nexport function createVuetifyAdapter (options?: LocaleOptions): LocaleInstance {\n const current = shallowRef(options?.locale ?? 'en')\n const fallback = shallowRef(options?.fallback ?? 'en')\n const messages = ref({ en, ...options?.messages })\n\n return {\n name: 'vuetify',\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n provide: createProvideFunction({ current, fallback, messages }),\n }\n}\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ // Utilities
1
2
  import { includes } from "./helpers.mjs";
2
3
  const block = ['top', 'bottom'];
3
4
  const inline = ['start', 'end', 'left', 'right'];
@@ -1 +1 @@
1
- {"version":3,"file":"anchor.mjs","names":["includes","block","inline","parseAnchor","anchor","isRtl","side","align","split","toPhysical","str","flipSide","center","top","bottom","left","right","flipAlign","flipCorner","getAxis"],"sources":["../../src/util/anchor.ts"],"sourcesContent":["import { includes } from '@/util/helpers'\n\nconst block = ['top', 'bottom'] as const\nconst inline = ['start', 'end', 'left', 'right'] as const\ntype Tblock = typeof block[number]\ntype Tinline = typeof inline[number]\nexport type Anchor =\n | Tblock\n | Tinline\n | 'center'\n | 'center center'\n | `${Tblock} ${Tinline | 'center'}`\n | `${Tinline} ${Tblock | 'center'}`\nexport type ParsedAnchor =\n | { side: 'center', align: 'center' }\n | { side: Tblock, align: 'left' | 'right' | 'center' }\n | { side: 'left' | 'right', align: Tblock | 'center' }\n\n/** Parse a raw anchor string into an object */\nexport function parseAnchor (anchor: Anchor, isRtl: boolean) {\n let [side, align] = anchor.split(' ') as [Tblock | Tinline | 'center', Tblock | Tinline | 'center' | undefined]\n if (!align) {\n align =\n includes(block, side) ? 'start'\n : includes(inline, side) ? 'top'\n : 'center'\n }\n\n return {\n side: toPhysical(side, isRtl),\n align: toPhysical(align, isRtl),\n } as ParsedAnchor\n}\n\nexport function toPhysical (str: 'center' | Tblock | Tinline, isRtl: boolean) {\n if (str === 'start') return isRtl ? 'right' : 'left'\n if (str === 'end') return isRtl ? 'left' : 'right'\n return str\n}\n\nexport function flipSide (anchor: ParsedAnchor) {\n return {\n side: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n }[anchor.side],\n align: anchor.align,\n } as ParsedAnchor\n}\n\nexport function flipAlign (anchor: ParsedAnchor) {\n return {\n side: anchor.side,\n align: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n }[anchor.align],\n } as ParsedAnchor\n}\n\nexport function flipCorner (anchor: ParsedAnchor) {\n return {\n side: anchor.align,\n align: anchor.side,\n } as ParsedAnchor\n}\n\nexport function getAxis (anchor: ParsedAnchor) {\n return includes(block, anchor.side) ? 'y' : 'x'\n}\n"],"mappings":"SAASA,QAAQ;AAEjB,MAAMC,KAAK,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAU;AACxC,MAAMC,MAAM,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAU;AAezD;AACA,OAAO,SAASC,WAAWA,CAAEC,MAAc,EAAEC,KAAc,EAAE;EAC3D,IAAI,CAACC,IAAI,EAAEC,KAAK,CAAC,GAAGH,MAAM,CAACI,KAAK,CAAC,GAAG,CAA2E;EAC/G,IAAI,CAACD,KAAK,EAAE;IACVA,KAAK,GACHP,QAAQ,CAACC,KAAK,EAAEK,IAAI,CAAC,GAAG,OAAO,GAC7BN,QAAQ,CAACE,MAAM,EAAEI,IAAI,CAAC,GAAG,KAAK,GAC9B,QAAQ;EACd;EAEA,OAAO;IACLA,IAAI,EAAEG,UAAU,CAACH,IAAI,EAAED,KAAK,CAAC;IAC7BE,KAAK,EAAEE,UAAU,CAACF,KAAK,EAAEF,KAAK;EAChC,CAAC;AACH;AAEA,OAAO,SAASI,UAAUA,CAAEC,GAAgC,EAAEL,KAAc,EAAE;EAC5E,IAAIK,GAAG,KAAK,OAAO,EAAE,OAAOL,KAAK,GAAG,OAAO,GAAG,MAAM;EACpD,IAAIK,GAAG,KAAK,KAAK,EAAE,OAAOL,KAAK,GAAG,MAAM,GAAG,OAAO;EAClD,OAAOK,GAAG;AACZ;AAEA,OAAO,SAASC,QAAQA,CAAEP,MAAoB,EAAE;EAC9C,OAAO;IACLE,IAAI,EAAE;MACJM,MAAM,EAAE,QAAQ;MAChBC,GAAG,EAAE,QAAQ;MACbC,MAAM,EAAE,KAAK;MACbC,IAAI,EAAE,OAAO;MACbC,KAAK,EAAE;IACT,CAAC,CAACZ,MAAM,CAACE,IAAI,CAAC;IACdC,KAAK,EAAEH,MAAM,CAACG;EAChB,CAAC;AACH;AAEA,OAAO,SAASU,SAASA,CAAEb,MAAoB,EAAE;EAC/C,OAAO;IACLE,IAAI,EAAEF,MAAM,CAACE,IAAI;IACjBC,KAAK,EAAE;MACLK,MAAM,EAAE,QAAQ;MAChBC,GAAG,EAAE,QAAQ;MACbC,MAAM,EAAE,KAAK;MACbC,IAAI,EAAE,OAAO;MACbC,KAAK,EAAE;IACT,CAAC,CAACZ,MAAM,CAACG,KAAK;EAChB,CAAC;AACH;AAEA,OAAO,SAASW,UAAUA,CAAEd,MAAoB,EAAE;EAChD,OAAO;IACLE,IAAI,EAAEF,MAAM,CAACG,KAAK;IAClBA,KAAK,EAAEH,MAAM,CAACE;EAChB,CAAC;AACH;AAEA,OAAO,SAASa,OAAOA,CAAEf,MAAoB,EAAE;EAC7C,OAAOJ,QAAQ,CAACC,KAAK,EAAEG,MAAM,CAACE,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG;AACjD"}
1
+ {"version":3,"file":"anchor.mjs","names":["includes","block","inline","parseAnchor","anchor","isRtl","side","align","split","toPhysical","str","flipSide","center","top","bottom","left","right","flipAlign","flipCorner","getAxis"],"sources":["../../src/util/anchor.ts"],"sourcesContent":["// Utilities\nimport { includes } from '@/util/helpers'\n\nconst block = ['top', 'bottom'] as const\nconst inline = ['start', 'end', 'left', 'right'] as const\ntype Tblock = typeof block[number]\ntype Tinline = typeof inline[number]\nexport type Anchor =\n | Tblock\n | Tinline\n | 'center'\n | 'center center'\n | `${Tblock} ${Tinline | 'center'}`\n | `${Tinline} ${Tblock | 'center'}`\nexport type ParsedAnchor =\n | { side: 'center', align: 'center' }\n | { side: Tblock, align: 'left' | 'right' | 'center' }\n | { side: 'left' | 'right', align: Tblock | 'center' }\n\n/** Parse a raw anchor string into an object */\nexport function parseAnchor (anchor: Anchor, isRtl: boolean) {\n let [side, align] = anchor.split(' ') as [Tblock | Tinline | 'center', Tblock | Tinline | 'center' | undefined]\n if (!align) {\n align =\n includes(block, side) ? 'start'\n : includes(inline, side) ? 'top'\n : 'center'\n }\n\n return {\n side: toPhysical(side, isRtl),\n align: toPhysical(align, isRtl),\n } as ParsedAnchor\n}\n\nexport function toPhysical (str: 'center' | Tblock | Tinline, isRtl: boolean) {\n if (str === 'start') return isRtl ? 'right' : 'left'\n if (str === 'end') return isRtl ? 'left' : 'right'\n return str\n}\n\nexport function flipSide (anchor: ParsedAnchor) {\n return {\n side: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n }[anchor.side],\n align: anchor.align,\n } as ParsedAnchor\n}\n\nexport function flipAlign (anchor: ParsedAnchor) {\n return {\n side: anchor.side,\n align: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n }[anchor.align],\n } as ParsedAnchor\n}\n\nexport function flipCorner (anchor: ParsedAnchor) {\n return {\n side: anchor.align,\n align: anchor.side,\n } as ParsedAnchor\n}\n\nexport function getAxis (anchor: ParsedAnchor) {\n return includes(block, anchor.side) ? 'y' : 'x'\n}\n"],"mappings":"AAAA;AAAA,SACSA,QAAQ;AAEjB,MAAMC,KAAK,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAU;AACxC,MAAMC,MAAM,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAU;AAezD;AACA,OAAO,SAASC,WAAWA,CAAEC,MAAc,EAAEC,KAAc,EAAE;EAC3D,IAAI,CAACC,IAAI,EAAEC,KAAK,CAAC,GAAGH,MAAM,CAACI,KAAK,CAAC,GAAG,CAA2E;EAC/G,IAAI,CAACD,KAAK,EAAE;IACVA,KAAK,GACHP,QAAQ,CAACC,KAAK,EAAEK,IAAI,CAAC,GAAG,OAAO,GAC7BN,QAAQ,CAACE,MAAM,EAAEI,IAAI,CAAC,GAAG,KAAK,GAC9B,QAAQ;EACd;EAEA,OAAO;IACLA,IAAI,EAAEG,UAAU,CAACH,IAAI,EAAED,KAAK,CAAC;IAC7BE,KAAK,EAAEE,UAAU,CAACF,KAAK,EAAEF,KAAK;EAChC,CAAC;AACH;AAEA,OAAO,SAASI,UAAUA,CAAEC,GAAgC,EAAEL,KAAc,EAAE;EAC5E,IAAIK,GAAG,KAAK,OAAO,EAAE,OAAOL,KAAK,GAAG,OAAO,GAAG,MAAM;EACpD,IAAIK,GAAG,KAAK,KAAK,EAAE,OAAOL,KAAK,GAAG,MAAM,GAAG,OAAO;EAClD,OAAOK,GAAG;AACZ;AAEA,OAAO,SAASC,QAAQA,CAAEP,MAAoB,EAAE;EAC9C,OAAO;IACLE,IAAI,EAAE;MACJM,MAAM,EAAE,QAAQ;MAChBC,GAAG,EAAE,QAAQ;MACbC,MAAM,EAAE,KAAK;MACbC,IAAI,EAAE,OAAO;MACbC,KAAK,EAAE;IACT,CAAC,CAACZ,MAAM,CAACE,IAAI,CAAC;IACdC,KAAK,EAAEH,MAAM,CAACG;EAChB,CAAC;AACH;AAEA,OAAO,SAASU,SAASA,CAAEb,MAAoB,EAAE;EAC/C,OAAO;IACLE,IAAI,EAAEF,MAAM,CAACE,IAAI;IACjBC,KAAK,EAAE;MACLK,MAAM,EAAE,QAAQ;MAChBC,GAAG,EAAE,QAAQ;MACbC,MAAM,EAAE,KAAK;MACbC,IAAI,EAAE,OAAO;MACbC,KAAK,EAAE;IACT,CAAC,CAACZ,MAAM,CAACG,KAAK;EAChB,CAAC;AACH;AAEA,OAAO,SAASW,UAAUA,CAAEd,MAAoB,EAAE;EAChD,OAAO;IACLE,IAAI,EAAEF,MAAM,CAACG,KAAK;IAClBA,KAAK,EAAEH,MAAM,CAACE;EAChB,CAAC;AACH;AAEA,OAAO,SAASa,OAAOA,CAAEf,MAAoB,EAAE;EAC7C,OAAOJ,QAAQ,CAACC,KAAK,EAAEG,MAAM,CAACE,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG;AACjD"}
@@ -1,3 +1,4 @@
1
+ // Utilities
1
2
  import { Box } from "./box.mjs";
2
3
  /** @see https://stackoverflow.com/a/57876601/2074736 */
3
4
  export function nullifyTransforms(el) {
@@ -1 +1 @@
1
- {"version":3,"file":"animation.mjs","names":["Box","nullifyTransforms","el","rect","getBoundingClientRect","style","getComputedStyle","tx","transform","ta","sx","sy","dx","dy","startsWith","slice","split","to","transformOrigin","x","parseFloat","y","indexOf","w","width","offsetWidth","h","height","offsetHeight","animate","keyframes","options","finished","Promise","resolve","animation","err","onfinish"],"sources":["../../src/util/animation.ts"],"sourcesContent":["import { Box } from '@/util/box'\n\n/** @see https://stackoverflow.com/a/57876601/2074736 */\nexport function nullifyTransforms (el: HTMLElement): Box {\n const rect = el.getBoundingClientRect()\n const style = getComputedStyle(el)\n const tx = style.transform\n\n if (tx) {\n let ta, sx, sy, dx, dy\n if (tx.startsWith('matrix3d(')) {\n ta = tx.slice(9, -1).split(/, /)\n sx = +ta[0]\n sy = +ta[5]\n dx = +ta[12]\n dy = +ta[13]\n } else if (tx.startsWith('matrix(')) {\n ta = tx.slice(7, -1).split(/, /)\n sx = +ta[0]\n sy = +ta[3]\n dx = +ta[4]\n dy = +ta[5]\n } else {\n return new Box(rect)\n }\n\n const to = style.transformOrigin\n const x = rect.x - dx - (1 - sx) * parseFloat(to)\n const y = rect.y - dy - (1 - sy) * parseFloat(to.slice(to.indexOf(' ') + 1))\n const w = sx ? rect.width / sx : el.offsetWidth + 1\n const h = sy ? rect.height / sy : el.offsetHeight + 1\n\n return new Box({ x, y, width: w, height: h })\n } else {\n return new Box(rect)\n }\n}\n\nexport function animate (\n el: Element,\n keyframes: Keyframe[] | PropertyIndexedKeyframes | null,\n options?: number | KeyframeAnimationOptions\n) {\n if (typeof el.animate === 'undefined') return { finished: Promise.resolve() }\n\n let animation: Animation\n try {\n animation = el.animate(keyframes, options)\n } catch (err) {\n return { finished: Promise.resolve() }\n }\n\n if (typeof animation.finished === 'undefined') {\n (animation as any).finished = new Promise(resolve => {\n animation.onfinish = () => {\n resolve(animation)\n }\n })\n }\n\n return animation\n}\n"],"mappings":"SAASA,GAAG;AAEZ;AACA,OAAO,SAASC,iBAAiBA,CAAEC,EAAe,EAAO;EACvD,MAAMC,IAAI,GAAGD,EAAE,CAACE,qBAAqB,EAAE;EACvC,MAAMC,KAAK,GAAGC,gBAAgB,CAACJ,EAAE,CAAC;EAClC,MAAMK,EAAE,GAAGF,KAAK,CAACG,SAAS;EAE1B,IAAID,EAAE,EAAE;IACN,IAAIE,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE;IACtB,IAAIN,EAAE,CAACO,UAAU,CAAC,WAAW,CAAC,EAAE;MAC9BL,EAAE,GAAGF,EAAE,CAACQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,IAAI,CAAC;MAChCN,EAAE,GAAG,CAACD,EAAE,CAAC,CAAC,CAAC;MACXE,EAAE,GAAG,CAACF,EAAE,CAAC,CAAC,CAAC;MACXG,EAAE,GAAG,CAACH,EAAE,CAAC,EAAE,CAAC;MACZI,EAAE,GAAG,CAACJ,EAAE,CAAC,EAAE,CAAC;IACd,CAAC,MAAM,IAAIF,EAAE,CAACO,UAAU,CAAC,SAAS,CAAC,EAAE;MACnCL,EAAE,GAAGF,EAAE,CAACQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,IAAI,CAAC;MAChCN,EAAE,GAAG,CAACD,EAAE,CAAC,CAAC,CAAC;MACXE,EAAE,GAAG,CAACF,EAAE,CAAC,CAAC,CAAC;MACXG,EAAE,GAAG,CAACH,EAAE,CAAC,CAAC,CAAC;MACXI,EAAE,GAAG,CAACJ,EAAE,CAAC,CAAC,CAAC;IACb,CAAC,MAAM;MACL,OAAO,IAAIT,GAAG,CAACG,IAAI,CAAC;IACtB;IAEA,MAAMc,EAAE,GAAGZ,KAAK,CAACa,eAAe;IAChC,MAAMC,CAAC,GAAGhB,IAAI,CAACgB,CAAC,GAAGP,EAAE,GAAG,CAAC,CAAC,GAAGF,EAAE,IAAIU,UAAU,CAACH,EAAE,CAAC;IACjD,MAAMI,CAAC,GAAGlB,IAAI,CAACkB,CAAC,GAAGR,EAAE,GAAG,CAAC,CAAC,GAAGF,EAAE,IAAIS,UAAU,CAACH,EAAE,CAACF,KAAK,CAACE,EAAE,CAACK,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,MAAMC,CAAC,GAAGb,EAAE,GAAGP,IAAI,CAACqB,KAAK,GAAGd,EAAE,GAAGR,EAAE,CAACuB,WAAW,GAAG,CAAC;IACnD,MAAMC,CAAC,GAAGf,EAAE,GAAGR,IAAI,CAACwB,MAAM,GAAGhB,EAAE,GAAGT,EAAE,CAAC0B,YAAY,GAAG,CAAC;IAErD,OAAO,IAAI5B,GAAG,CAAC;MAAEmB,CAAC;MAAEE,CAAC;MAAEG,KAAK,EAAED,CAAC;MAAEI,MAAM,EAAED;IAAE,CAAC,CAAC;EAC/C,CAAC,MAAM;IACL,OAAO,IAAI1B,GAAG,CAACG,IAAI,CAAC;EACtB;AACF;AAEA,OAAO,SAAS0B,OAAOA,CACrB3B,EAAW,EACX4B,SAAuD,EACvDC,OAA2C,EAC3C;EACA,IAAI,OAAO7B,EAAE,CAAC2B,OAAO,KAAK,WAAW,EAAE,OAAO;IAAEG,QAAQ,EAAEC,OAAO,CAACC,OAAO;EAAG,CAAC;EAE7E,IAAIC,SAAoB;EACxB,IAAI;IACFA,SAAS,GAAGjC,EAAE,CAAC2B,OAAO,CAACC,SAAS,EAAEC,OAAO,CAAC;EAC5C,CAAC,CAAC,OAAOK,GAAG,EAAE;IACZ,OAAO;MAAEJ,QAAQ,EAAEC,OAAO,CAACC,OAAO;IAAG,CAAC;EACxC;EAEA,IAAI,OAAOC,SAAS,CAACH,QAAQ,KAAK,WAAW,EAAE;IAC5CG,SAAS,CAASH,QAAQ,GAAG,IAAIC,OAAO,CAACC,OAAO,IAAI;MACnDC,SAAS,CAACE,QAAQ,GAAG,MAAM;QACzBH,OAAO,CAACC,SAAS,CAAC;MACpB,CAAC;IACH,CAAC,CAAC;EACJ;EAEA,OAAOA,SAAS;AAClB"}
1
+ {"version":3,"file":"animation.mjs","names":["Box","nullifyTransforms","el","rect","getBoundingClientRect","style","getComputedStyle","tx","transform","ta","sx","sy","dx","dy","startsWith","slice","split","to","transformOrigin","x","parseFloat","y","indexOf","w","width","offsetWidth","h","height","offsetHeight","animate","keyframes","options","finished","Promise","resolve","animation","err","onfinish"],"sources":["../../src/util/animation.ts"],"sourcesContent":["// Utilities\nimport { Box } from '@/util/box'\n\n/** @see https://stackoverflow.com/a/57876601/2074736 */\nexport function nullifyTransforms (el: HTMLElement): Box {\n const rect = el.getBoundingClientRect()\n const style = getComputedStyle(el)\n const tx = style.transform\n\n if (tx) {\n let ta, sx, sy, dx, dy\n if (tx.startsWith('matrix3d(')) {\n ta = tx.slice(9, -1).split(/, /)\n sx = +ta[0]\n sy = +ta[5]\n dx = +ta[12]\n dy = +ta[13]\n } else if (tx.startsWith('matrix(')) {\n ta = tx.slice(7, -1).split(/, /)\n sx = +ta[0]\n sy = +ta[3]\n dx = +ta[4]\n dy = +ta[5]\n } else {\n return new Box(rect)\n }\n\n const to = style.transformOrigin\n const x = rect.x - dx - (1 - sx) * parseFloat(to)\n const y = rect.y - dy - (1 - sy) * parseFloat(to.slice(to.indexOf(' ') + 1))\n const w = sx ? rect.width / sx : el.offsetWidth + 1\n const h = sy ? rect.height / sy : el.offsetHeight + 1\n\n return new Box({ x, y, width: w, height: h })\n } else {\n return new Box(rect)\n }\n}\n\nexport function animate (\n el: Element,\n keyframes: Keyframe[] | PropertyIndexedKeyframes | null,\n options?: number | KeyframeAnimationOptions\n) {\n if (typeof el.animate === 'undefined') return { finished: Promise.resolve() }\n\n let animation: Animation\n try {\n animation = el.animate(keyframes, options)\n } catch (err) {\n return { finished: Promise.resolve() }\n }\n\n if (typeof animation.finished === 'undefined') {\n (animation as any).finished = new Promise(resolve => {\n animation.onfinish = () => {\n resolve(animation)\n }\n })\n }\n\n return animation\n}\n"],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ // Utilities
2
+ import { eventName, isOn } from "./helpers.mjs";
3
+ const handlers = new WeakMap();
4
+ export function bindProps(el, props) {
5
+ Object.keys(props).forEach(k => {
6
+ if (isOn(k)) {
7
+ const name = eventName(k);
8
+ const handler = handlers.get(el);
9
+ if (props[k] == null) {
10
+ handler?.forEach(v => {
11
+ const [n, fn] = v;
12
+ if (n === name) {
13
+ el.removeEventListener(name, fn);
14
+ handler.delete(v);
15
+ }
16
+ });
17
+ } else if (!handler || ![...handler]?.some(v => v[0] === name && v[1] === props[k])) {
18
+ el.addEventListener(name, props[k]);
19
+ const _handler = handler || new Set();
20
+ _handler.add([name, props[k]]);
21
+ if (!handlers.has(el)) handlers.set(el, _handler);
22
+ }
23
+ } else {
24
+ if (props[k] == null) {
25
+ el.removeAttribute(k);
26
+ } else {
27
+ el.setAttribute(k, props[k]);
28
+ }
29
+ }
30
+ });
31
+ }
32
+ export function unbindProps(el, props) {
33
+ Object.keys(props).forEach(k => {
34
+ if (isOn(k)) {
35
+ const name = eventName(k);
36
+ const handler = handlers.get(el);
37
+ handler?.forEach(v => {
38
+ const [n, fn] = v;
39
+ if (n === name) {
40
+ el.removeEventListener(name, fn);
41
+ handler.delete(v);
42
+ }
43
+ });
44
+ } else {
45
+ el.removeAttribute(k);
46
+ }
47
+ });
48
+ }
49
+ //# sourceMappingURL=bindProps.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindProps.mjs","names":["eventName","isOn","handlers","WeakMap","bindProps","el","props","Object","keys","forEach","k","name","handler","get","v","n","fn","removeEventListener","delete","some","addEventListener","_handler","Set","add","has","set","removeAttribute","setAttribute","unbindProps"],"sources":["../../src/util/bindProps.ts"],"sourcesContent":["// Utilities\nimport { eventName, isOn } from '@/util/helpers'\n\nconst handlers = new WeakMap<HTMLElement, Set<[string, () => void]>>()\n\nexport function bindProps (el: HTMLElement, props: Record<string, any>) {\n Object.keys(props).forEach(k => {\n if (isOn(k)) {\n const name = eventName(k)\n const handler = handlers.get(el)\n if (props[k] == null) {\n handler?.forEach(v => {\n const [n, fn] = v\n if (n === name) {\n el.removeEventListener(name, fn)\n handler.delete(v)\n }\n })\n } else if (!handler || ![...handler]?.some(v => v[0] === name && v[1] === props[k])) {\n el.addEventListener(name, props[k])\n const _handler = handler || new Set()\n _handler.add([name, props[k]])\n if (!handlers.has(el)) handlers.set(el, _handler)\n }\n } else {\n if (props[k] == null) {\n el.removeAttribute(k)\n } else {\n el.setAttribute(k, props[k])\n }\n }\n })\n}\n\nexport function unbindProps (el: HTMLElement, props: Record<string, any>) {\n Object.keys(props).forEach(k => {\n if (isOn(k)) {\n const name = eventName(k)\n const handler = handlers.get(el)\n handler?.forEach(v => {\n const [n, fn] = v\n if (n === name) {\n el.removeEventListener(name, fn)\n handler.delete(v)\n }\n })\n } else {\n el.removeAttribute(k)\n }\n })\n}\n"],"mappings":"AAAA;AAAA,SACSA,SAAS,EAAEC,IAAI;AAExB,MAAMC,QAAQ,GAAG,IAAIC,OAAO,EAA0C;AAEtE,OAAO,SAASC,SAASA,CAAEC,EAAe,EAAEC,KAA0B,EAAE;EACtEC,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAACG,OAAO,CAACC,CAAC,IAAI;IAC9B,IAAIT,IAAI,CAACS,CAAC,CAAC,EAAE;MACX,MAAMC,IAAI,GAAGX,SAAS,CAACU,CAAC,CAAC;MACzB,MAAME,OAAO,GAAGV,QAAQ,CAACW,GAAG,CAACR,EAAE,CAAC;MAChC,IAAIC,KAAK,CAACI,CAAC,CAAC,IAAI,IAAI,EAAE;QACpBE,OAAO,EAAEH,OAAO,CAACK,CAAC,IAAI;UACpB,MAAM,CAACC,CAAC,EAAEC,EAAE,CAAC,GAAGF,CAAC;UACjB,IAAIC,CAAC,KAAKJ,IAAI,EAAE;YACdN,EAAE,CAACY,mBAAmB,CAACN,IAAI,EAAEK,EAAE,CAAC;YAChCJ,OAAO,CAACM,MAAM,CAACJ,CAAC,CAAC;UACnB;QACF,CAAC,CAAC;MACJ,CAAC,MAAM,IAAI,CAACF,OAAO,IAAI,CAAC,CAAC,GAAGA,OAAO,CAAC,EAAEO,IAAI,CAACL,CAAC,IAAIA,CAAC,CAAC,CAAC,CAAC,KAAKH,IAAI,IAAIG,CAAC,CAAC,CAAC,CAAC,KAAKR,KAAK,CAACI,CAAC,CAAC,CAAC,EAAE;QACnFL,EAAE,CAACe,gBAAgB,CAACT,IAAI,EAAEL,KAAK,CAACI,CAAC,CAAC,CAAC;QACnC,MAAMW,QAAQ,GAAGT,OAAO,IAAI,IAAIU,GAAG,EAAE;QACrCD,QAAQ,CAACE,GAAG,CAAC,CAACZ,IAAI,EAAEL,KAAK,CAACI,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAACR,QAAQ,CAACsB,GAAG,CAACnB,EAAE,CAAC,EAAEH,QAAQ,CAACuB,GAAG,CAACpB,EAAE,EAAEgB,QAAQ,CAAC;MACnD;IACF,CAAC,MAAM;MACL,IAAIf,KAAK,CAACI,CAAC,CAAC,IAAI,IAAI,EAAE;QACpBL,EAAE,CAACqB,eAAe,CAAChB,CAAC,CAAC;MACvB,CAAC,MAAM;QACLL,EAAE,CAACsB,YAAY,CAACjB,CAAC,EAAEJ,KAAK,CAACI,CAAC,CAAC,CAAC;MAC9B;IACF;EACF,CAAC,CAAC;AACJ;AAEA,OAAO,SAASkB,WAAWA,CAAEvB,EAAe,EAAEC,KAA0B,EAAE;EACxEC,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAACG,OAAO,CAACC,CAAC,IAAI;IAC9B,IAAIT,IAAI,CAACS,CAAC,CAAC,EAAE;MACX,MAAMC,IAAI,GAAGX,SAAS,CAACU,CAAC,CAAC;MACzB,MAAME,OAAO,GAAGV,QAAQ,CAACW,GAAG,CAACR,EAAE,CAAC;MAChCO,OAAO,EAAEH,OAAO,CAACK,CAAC,IAAI;QACpB,MAAM,CAACC,CAAC,EAAEC,EAAE,CAAC,GAAGF,CAAC;QACjB,IAAIC,CAAC,KAAKJ,IAAI,EAAE;UACdN,EAAE,CAACY,mBAAmB,CAACN,IAAI,EAAEK,EAAE,CAAC;UAChCJ,OAAO,CAACM,MAAM,CAACJ,CAAC,CAAC;QACnB;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACLT,EAAE,CAACqB,eAAe,CAAChB,CAAC,CAAC;IACvB;EACF,CAAC,CAAC;AACJ"}
@@ -3,6 +3,7 @@
3
3
  * @licence https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document
4
4
  * @see https://www.w3.org/WAI/GL/task-forces/silver/wiki/Visual_Contrast_of_Text_Subgroup
5
5
  */
6
+ // Types
6
7
 
7
8
  // MAGICAL NUMBERS
8
9
 
@@ -1 +1 @@
1
- {"version":3,"file":"APCA.mjs","names":["mainTRC","Rco","Gco","Bco","normBG","normTXT","revTXT","revBG","blkThrs","blkClmp","deltaYmin","scaleBoW","scaleWoB","loConThresh","loConFactor","loConOffset","loClip","APCAcontrast","text","background","Rtxt","r","Gtxt","g","Btxt","b","Rbg","Gbg","Bbg","Ytxt","Ybg","Math","abs","outputContrast","SAPC"],"sources":["../../../src/util/color/APCA.ts"],"sourcesContent":["/**\n * WCAG 3.0 APCA perceptual contrast algorithm from https://github.com/Myndex/SAPC-APCA\n * @licence https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n * @see https://www.w3.org/WAI/GL/task-forces/silver/wiki/Visual_Contrast_of_Text_Subgroup\n */\nimport type { RGB } from '@/util'\n\n// MAGICAL NUMBERS\n\n// sRGB Conversion to Relative Luminance (Y)\n\n// Transfer Curve (aka \"Gamma\") for sRGB linearization\n// Simple power curve vs piecewise described in docs\n// Essentially, 2.4 best models actual display\n// characteristics in combination with the total method\nconst mainTRC = 2.4\n\nconst Rco = 0.2126729 // sRGB Red Coefficient (from matrix)\nconst Gco = 0.7151522 // sRGB Green Coefficient (from matrix)\nconst Bco = 0.0721750 // sRGB Blue Coefficient (from matrix)\n\n// For Finding Raw SAPC Contrast from Relative Luminance (Y)\n\n// Constants for SAPC Power Curve Exponents\n// One pair for normal text, and one for reverse\n// These are the \"beating heart\" of SAPC\nconst normBG = 0.55\nconst normTXT = 0.58\nconst revTXT = 0.57\nconst revBG = 0.62\n\n// For Clamping and Scaling Values\n\nconst blkThrs = 0.03 // Level that triggers the soft black clamp\nconst blkClmp = 1.45 // Exponent for the soft black clamp curve\nconst deltaYmin = 0.0005 // Lint trap\nconst scaleBoW = 1.25 // Scaling for dark text on light\nconst scaleWoB = 1.25 // Scaling for light text on dark\nconst loConThresh = 0.078 // Threshold for new simple offset scale\nconst loConFactor = 12.82051282051282 // = 1/0.078,\nconst loConOffset = 0.06 // The simple offset\nconst loClip = 0.001 // Output clip (lint trap #2)\n\nexport function APCAcontrast (text: RGB, background: RGB) {\n // Linearize sRGB\n const Rtxt = (text.r / 255) ** mainTRC\n const Gtxt = (text.g / 255) ** mainTRC\n const Btxt = (text.b / 255) ** mainTRC\n\n const Rbg = (background.r / 255) ** mainTRC\n const Gbg = (background.g / 255) ** mainTRC\n const Bbg = (background.b / 255) ** mainTRC\n\n // Apply the standard coefficients and sum to Y\n let Ytxt = (Rtxt * Rco) + (Gtxt * Gco) + (Btxt * Bco)\n let Ybg = (Rbg * Rco) + (Gbg * Gco) + (Bbg * Bco)\n\n // Soft clamp Y when near black.\n // Now clamping all colors to prevent crossover errors\n if (Ytxt <= blkThrs) Ytxt += (blkThrs - Ytxt) ** blkClmp\n if (Ybg <= blkThrs) Ybg += (blkThrs - Ybg) ** blkClmp\n\n // Return 0 Early for extremely low ∆Y (lint trap #1)\n if (Math.abs(Ybg - Ytxt) < deltaYmin) return 0.0\n\n // SAPC CONTRAST\n\n let outputContrast: number // For weighted final values\n if (Ybg > Ytxt) {\n // For normal polarity, black text on white\n // Calculate the SAPC contrast value and scale\n\n const SAPC = ((Ybg ** normBG) - (Ytxt ** normTXT)) * scaleBoW\n\n // NEW! SAPC SmoothScale™\n // Low Contrast Smooth Scale Rollout to prevent polarity reversal\n // and also a low clip for very low contrasts (lint trap #2)\n // much of this is for very low contrasts, less than 10\n // therefore for most reversing needs, only loConOffset is important\n outputContrast =\n (SAPC < loClip) ? 0.0\n : (SAPC < loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC - loConOffset\n } else {\n // For reverse polarity, light text on dark\n // WoB should always return negative value.\n\n const SAPC = ((Ybg ** revBG) - (Ytxt ** revTXT)) * scaleWoB\n\n outputContrast =\n (SAPC > -loClip) ? 0.0\n : (SAPC > -loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC + loConOffset\n }\n\n return outputContrast * 100\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"APCA.mjs","names":["mainTRC","Rco","Gco","Bco","normBG","normTXT","revTXT","revBG","blkThrs","blkClmp","deltaYmin","scaleBoW","scaleWoB","loConThresh","loConFactor","loConOffset","loClip","APCAcontrast","text","background","Rtxt","r","Gtxt","g","Btxt","b","Rbg","Gbg","Bbg","Ytxt","Ybg","Math","abs","outputContrast","SAPC"],"sources":["../../../src/util/color/APCA.ts"],"sourcesContent":["/**\n * WCAG 3.0 APCA perceptual contrast algorithm from https://github.com/Myndex/SAPC-APCA\n * @licence https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n * @see https://www.w3.org/WAI/GL/task-forces/silver/wiki/Visual_Contrast_of_Text_Subgroup\n */\n// Types\nimport type { RGB } from '@/util'\n\n// MAGICAL NUMBERS\n\n// sRGB Conversion to Relative Luminance (Y)\n\n// Transfer Curve (aka \"Gamma\") for sRGB linearization\n// Simple power curve vs piecewise described in docs\n// Essentially, 2.4 best models actual display\n// characteristics in combination with the total method\nconst mainTRC = 2.4\n\nconst Rco = 0.2126729 // sRGB Red Coefficient (from matrix)\nconst Gco = 0.7151522 // sRGB Green Coefficient (from matrix)\nconst Bco = 0.0721750 // sRGB Blue Coefficient (from matrix)\n\n// For Finding Raw SAPC Contrast from Relative Luminance (Y)\n\n// Constants for SAPC Power Curve Exponents\n// One pair for normal text, and one for reverse\n// These are the \"beating heart\" of SAPC\nconst normBG = 0.55\nconst normTXT = 0.58\nconst revTXT = 0.57\nconst revBG = 0.62\n\n// For Clamping and Scaling Values\n\nconst blkThrs = 0.03 // Level that triggers the soft black clamp\nconst blkClmp = 1.45 // Exponent for the soft black clamp curve\nconst deltaYmin = 0.0005 // Lint trap\nconst scaleBoW = 1.25 // Scaling for dark text on light\nconst scaleWoB = 1.25 // Scaling for light text on dark\nconst loConThresh = 0.078 // Threshold for new simple offset scale\nconst loConFactor = 12.82051282051282 // = 1/0.078,\nconst loConOffset = 0.06 // The simple offset\nconst loClip = 0.001 // Output clip (lint trap #2)\n\nexport function APCAcontrast (text: RGB, background: RGB) {\n // Linearize sRGB\n const Rtxt = (text.r / 255) ** mainTRC\n const Gtxt = (text.g / 255) ** mainTRC\n const Btxt = (text.b / 255) ** mainTRC\n\n const Rbg = (background.r / 255) ** mainTRC\n const Gbg = (background.g / 255) ** mainTRC\n const Bbg = (background.b / 255) ** mainTRC\n\n // Apply the standard coefficients and sum to Y\n let Ytxt = (Rtxt * Rco) + (Gtxt * Gco) + (Btxt * Bco)\n let Ybg = (Rbg * Rco) + (Gbg * Gco) + (Bbg * Bco)\n\n // Soft clamp Y when near black.\n // Now clamping all colors to prevent crossover errors\n if (Ytxt <= blkThrs) Ytxt += (blkThrs - Ytxt) ** blkClmp\n if (Ybg <= blkThrs) Ybg += (blkThrs - Ybg) ** blkClmp\n\n // Return 0 Early for extremely low ∆Y (lint trap #1)\n if (Math.abs(Ybg - Ytxt) < deltaYmin) return 0.0\n\n // SAPC CONTRAST\n\n let outputContrast: number // For weighted final values\n if (Ybg > Ytxt) {\n // For normal polarity, black text on white\n // Calculate the SAPC contrast value and scale\n\n const SAPC = ((Ybg ** normBG) - (Ytxt ** normTXT)) * scaleBoW\n\n // NEW! SAPC SmoothScale™\n // Low Contrast Smooth Scale Rollout to prevent polarity reversal\n // and also a low clip for very low contrasts (lint trap #2)\n // much of this is for very low contrasts, less than 10\n // therefore for most reversing needs, only loConOffset is important\n outputContrast =\n (SAPC < loClip) ? 0.0\n : (SAPC < loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC - loConOffset\n } else {\n // For reverse polarity, light text on dark\n // WoB should always return negative value.\n\n const SAPC = ((Ybg ** revBG) - (Ytxt ** revTXT)) * scaleWoB\n\n outputContrast =\n (SAPC > -loClip) ? 0.0\n : (SAPC > -loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC + loConOffset\n }\n\n return outputContrast * 100\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAMA,OAAO,GAAG,GAAG;AAEnB,MAAMC,GAAG,GAAG,SAAS,EAAC;AACtB,MAAMC,GAAG,GAAG,SAAS,EAAC;AACtB,MAAMC,GAAG,GAAG,SAAS,EAAC;;AAEtB;;AAEA;AACA;AACA;AACA,MAAMC,MAAM,GAAG,IAAI;AACnB,MAAMC,OAAO,GAAG,IAAI;AACpB,MAAMC,MAAM,GAAG,IAAI;AACnB,MAAMC,KAAK,GAAG,IAAI;;AAElB;;AAEA,MAAMC,OAAO,GAAG,IAAI,EAAC;AACrB,MAAMC,OAAO,GAAG,IAAI,EAAC;AACrB,MAAMC,SAAS,GAAG,MAAM,EAAC;AACzB,MAAMC,QAAQ,GAAG,IAAI,EAAC;AACtB,MAAMC,QAAQ,GAAG,IAAI,EAAC;AACtB,MAAMC,WAAW,GAAG,KAAK,EAAC;AAC1B,MAAMC,WAAW,GAAG,iBAAiB,EAAC;AACtC,MAAMC,WAAW,GAAG,IAAI,EAAC;AACzB,MAAMC,MAAM,GAAG,KAAK,EAAC;;AAErB,OAAO,SAASC,YAAYA,CAAEC,IAAS,EAAEC,UAAe,EAAE;EACxD;EACA,MAAMC,IAAI,GAAG,CAACF,IAAI,CAACG,CAAC,GAAG,GAAG,KAAKrB,OAAO;EACtC,MAAMsB,IAAI,GAAG,CAACJ,IAAI,CAACK,CAAC,GAAG,GAAG,KAAKvB,OAAO;EACtC,MAAMwB,IAAI,GAAG,CAACN,IAAI,CAACO,CAAC,GAAG,GAAG,KAAKzB,OAAO;EAEtC,MAAM0B,GAAG,GAAG,CAACP,UAAU,CAACE,CAAC,GAAG,GAAG,KAAKrB,OAAO;EAC3C,MAAM2B,GAAG,GAAG,CAACR,UAAU,CAACI,CAAC,GAAG,GAAG,KAAKvB,OAAO;EAC3C,MAAM4B,GAAG,GAAG,CAACT,UAAU,CAACM,CAAC,GAAG,GAAG,KAAKzB,OAAO;;EAE3C;EACA,IAAI6B,IAAI,GAAIT,IAAI,GAAGnB,GAAG,GAAKqB,IAAI,GAAGpB,GAAI,GAAIsB,IAAI,GAAGrB,GAAI;EACrD,IAAI2B,GAAG,GAAIJ,GAAG,GAAGzB,GAAG,GAAK0B,GAAG,GAAGzB,GAAI,GAAI0B,GAAG,GAAGzB,GAAI;;EAEjD;EACA;EACA,IAAI0B,IAAI,IAAIrB,OAAO,EAAEqB,IAAI,IAAI,CAACrB,OAAO,GAAGqB,IAAI,KAAKpB,OAAO;EACxD,IAAIqB,GAAG,IAAItB,OAAO,EAAEsB,GAAG,IAAI,CAACtB,OAAO,GAAGsB,GAAG,KAAKrB,OAAO;;EAErD;EACA,IAAIsB,IAAI,CAACC,GAAG,CAACF,GAAG,GAAGD,IAAI,CAAC,GAAGnB,SAAS,EAAE,OAAO,GAAG;;EAEhD;;EAEA,IAAIuB,cAAsB,EAAC;EAC3B,IAAIH,GAAG,GAAGD,IAAI,EAAE;IACd;IACA;;IAEA,MAAMK,IAAI,GAAG,CAAEJ,GAAG,IAAI1B,MAAM,GAAKyB,IAAI,IAAIxB,OAAQ,IAAIM,QAAQ;;IAE7D;IACA;IACA;IACA;IACA;IACAsB,cAAc,GACXC,IAAI,GAAGlB,MAAM,GAAI,GAAG,GAClBkB,IAAI,GAAGrB,WAAW,GAAIqB,IAAI,GAAGA,IAAI,GAAGpB,WAAW,GAAGC,WAAW,GAC9DmB,IAAI,GAAGnB,WAAW;EACxB,CAAC,MAAM;IACL;IACA;;IAEA,MAAMmB,IAAI,GAAG,CAAEJ,GAAG,IAAIvB,KAAK,GAAKsB,IAAI,IAAIvB,MAAO,IAAIM,QAAQ;IAE3DqB,cAAc,GACXC,IAAI,GAAG,CAAClB,MAAM,GAAI,GAAG,GACnBkB,IAAI,GAAG,CAACrB,WAAW,GAAIqB,IAAI,GAAGA,IAAI,GAAGpB,WAAW,GAAGC,WAAW,GAC/DmB,IAAI,GAAGnB,WAAW;EACxB;EAEA,OAAOkB,cAAc,GAAG,GAAG;AAC7B"}
@@ -1,3 +1,5 @@
1
+ // Types
2
+
1
3
  const delta = 0.20689655172413793; // 6÷29
2
4
 
3
5
  const cielabForwardTransform = t => t > delta ** 3 ? Math.cbrt(t) : t / (3 * delta ** 2) + 4 / 29;
@@ -1 +1 @@
1
- {"version":3,"file":"transformCIELAB.mjs","names":["delta","cielabForwardTransform","t","Math","cbrt","cielabReverseTransform","fromXYZ","xyz","transform","transformedY","toXYZ","lab","Ln"],"sources":["../../../src/util/color/transformCIELAB.ts"],"sourcesContent":["import type { LAB, XYZ } from '../colorUtils'\n\nconst delta = 0.20689655172413793 // 6÷29\n\nconst cielabForwardTransform = (t: number): number => (\n t > delta ** 3\n ? Math.cbrt(t)\n : (t / (3 * delta ** 2)) + 4 / 29\n)\n\nconst cielabReverseTransform = (t: number): number => (\n t > delta\n ? t ** 3\n : (3 * delta ** 2) * (t - 4 / 29)\n)\n\nexport function fromXYZ (xyz: XYZ): LAB {\n const transform = cielabForwardTransform\n const transformedY = transform(xyz[1])\n\n return [\n 116 * transformedY - 16,\n 500 * (transform(xyz[0] / 0.95047) - transformedY),\n 200 * (transformedY - transform(xyz[2] / 1.08883)),\n ]\n}\n\nexport function toXYZ (lab: LAB): XYZ {\n const transform = cielabReverseTransform\n const Ln = (lab[0] + 16) / 116\n return [\n transform(Ln + lab[1] / 500) * 0.95047,\n transform(Ln),\n transform(Ln - lab[2] / 200) * 1.08883,\n ]\n}\n"],"mappings":"AAEA,MAAMA,KAAK,GAAG,mBAAmB,EAAC;;AAElC,MAAMC,sBAAsB,GAAIC,CAAS,IACvCA,CAAC,GAAGF,KAAK,IAAI,CAAC,GACVG,IAAI,CAACC,IAAI,CAACF,CAAC,CAAC,GACXA,CAAC,IAAI,CAAC,GAAGF,KAAK,IAAI,CAAC,CAAC,GAAI,CAAC,GAAG,EAClC;AAED,MAAMK,sBAAsB,GAAIH,CAAS,IACvCA,CAAC,GAAGF,KAAK,GACLE,CAAC,IAAI,CAAC,GACL,CAAC,GAAGF,KAAK,IAAI,CAAC,IAAKE,CAAC,GAAG,CAAC,GAAG,EAAE,CACnC;AAED,OAAO,SAASI,OAAOA,CAAEC,GAAQ,EAAO;EACtC,MAAMC,SAAS,GAAGP,sBAAsB;EACxC,MAAMQ,YAAY,GAAGD,SAAS,CAACD,GAAG,CAAC,CAAC,CAAC,CAAC;EAEtC,OAAO,CACL,GAAG,GAAGE,YAAY,GAAG,EAAE,EACvB,GAAG,IAAID,SAAS,CAACD,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAGE,YAAY,CAAC,EAClD,GAAG,IAAIA,YAAY,GAAGD,SAAS,CAACD,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CACnD;AACH;AAEA,OAAO,SAASG,KAAKA,CAAEC,GAAQ,EAAO;EACpC,MAAMH,SAAS,GAAGH,sBAAsB;EACxC,MAAMO,EAAE,GAAG,CAACD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG;EAC9B,OAAO,CACLH,SAAS,CAACI,EAAE,GAAGD,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,OAAO,EACtCH,SAAS,CAACI,EAAE,CAAC,EACbJ,SAAS,CAACI,EAAE,GAAGD,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,OAAO,CACvC;AACH"}
1
+ {"version":3,"file":"transformCIELAB.mjs","names":["delta","cielabForwardTransform","t","Math","cbrt","cielabReverseTransform","fromXYZ","xyz","transform","transformedY","toXYZ","lab","Ln"],"sources":["../../../src/util/color/transformCIELAB.ts"],"sourcesContent":["// Types\nimport type { LAB, XYZ } from '../colorUtils'\n\nconst delta = 0.20689655172413793 // 6÷29\n\nconst cielabForwardTransform = (t: number): number => (\n t > delta ** 3\n ? Math.cbrt(t)\n : (t / (3 * delta ** 2)) + 4 / 29\n)\n\nconst cielabReverseTransform = (t: number): number => (\n t > delta\n ? t ** 3\n : (3 * delta ** 2) * (t - 4 / 29)\n)\n\nexport function fromXYZ (xyz: XYZ): LAB {\n const transform = cielabForwardTransform\n const transformedY = transform(xyz[1])\n\n return [\n 116 * transformedY - 16,\n 500 * (transform(xyz[0] / 0.95047) - transformedY),\n 200 * (transformedY - transform(xyz[2] / 1.08883)),\n ]\n}\n\nexport function toXYZ (lab: LAB): XYZ {\n const transform = cielabReverseTransform\n const Ln = (lab[0] + 16) / 116\n return [\n transform(Ln + lab[1] / 500) * 0.95047,\n transform(Ln),\n transform(Ln - lab[2] / 200) * 1.08883,\n ]\n}\n"],"mappings":"AAAA;;AAGA,MAAMA,KAAK,GAAG,mBAAmB,EAAC;;AAElC,MAAMC,sBAAsB,GAAIC,CAAS,IACvCA,CAAC,GAAGF,KAAK,IAAI,CAAC,GACVG,IAAI,CAACC,IAAI,CAACF,CAAC,CAAC,GACXA,CAAC,IAAI,CAAC,GAAGF,KAAK,IAAI,CAAC,CAAC,GAAI,CAAC,GAAG,EAClC;AAED,MAAMK,sBAAsB,GAAIH,CAAS,IACvCA,CAAC,GAAGF,KAAK,GACLE,CAAC,IAAI,CAAC,GACL,CAAC,GAAGF,KAAK,IAAI,CAAC,IAAKE,CAAC,GAAG,CAAC,GAAG,EAAE,CACnC;AAED,OAAO,SAASI,OAAOA,CAAEC,GAAQ,EAAO;EACtC,MAAMC,SAAS,GAAGP,sBAAsB;EACxC,MAAMQ,YAAY,GAAGD,SAAS,CAACD,GAAG,CAAC,CAAC,CAAC,CAAC;EAEtC,OAAO,CACL,GAAG,GAAGE,YAAY,GAAG,EAAE,EACvB,GAAG,IAAID,SAAS,CAACD,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAGE,YAAY,CAAC,EAClD,GAAG,IAAIA,YAAY,GAAGD,SAAS,CAACD,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CACnD;AACH;AAEA,OAAO,SAASG,KAAKA,CAAEC,GAAQ,EAAO;EACpC,MAAMH,SAAS,GAAGH,sBAAsB;EACxC,MAAMO,EAAE,GAAG,CAACD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG;EAC9B,OAAO,CACLH,SAAS,CAACI,EAAE,GAAGD,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,OAAO,EACtCH,SAAS,CAACI,EAAE,CAAC,EACbJ,SAAS,CAACI,EAAE,GAAGD,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,OAAO,CACvC;AACH"}
@@ -1,4 +1,6 @@
1
- import { clamp } from "../../util/helpers.mjs"; // For converting XYZ to sRGB
1
+ // Utilities
2
+ import { clamp } from "../helpers.mjs"; // Types
3
+ // For converting XYZ to sRGB
2
4
  const srgbForwardMatrix = [[3.2406, -1.5372, -0.4986], [-0.9689, 1.8758, 0.0415], [0.0557, -0.2040, 1.0570]];
3
5
 
4
6
  // Forward gamma adjust
@@ -1 +1 @@
1
- {"version":3,"file":"transformSRGB.mjs","names":["clamp","srgbForwardMatrix","srgbForwardTransform","C","srgbReverseMatrix","srgbReverseTransform","fromXYZ","xyz","rgb","Array","transform","matrix","i","Math","round","r","g","b","toXYZ","_ref"],"sources":["../../../src/util/color/transformSRGB.ts"],"sourcesContent":["import type { RGB, XYZ } from '../colorUtils'\nimport { clamp } from '../../util/helpers'\n\n// For converting XYZ to sRGB\nconst srgbForwardMatrix = [\n [3.2406, -1.5372, -0.4986],\n [-0.9689, 1.8758, 0.0415],\n [0.0557, -0.2040, 1.0570],\n]\n\n// Forward gamma adjust\nconst srgbForwardTransform = (C: number): number => (\n C <= 0.0031308\n ? C * 12.92\n : 1.055 * C ** (1 / 2.4) - 0.055\n)\n\n// For converting sRGB to XYZ\nconst srgbReverseMatrix = [\n [0.4124, 0.3576, 0.1805],\n [0.2126, 0.7152, 0.0722],\n [0.0193, 0.1192, 0.9505],\n]\n\n// Reverse gamma adjust\nconst srgbReverseTransform = (C: number): number => (\n C <= 0.04045\n ? C / 12.92\n : ((C + 0.055) / 1.055) ** 2.4\n)\n\nexport function fromXYZ (xyz: XYZ): RGB {\n const rgb = Array(3)\n const transform = srgbForwardTransform\n const matrix = srgbForwardMatrix\n\n // Matrix transform, then gamma adjustment\n for (let i = 0; i < 3; ++i) {\n // Rescale back to [0, 255]\n rgb[i] = Math.round(clamp(transform(\n matrix[i][0] * xyz[0] +\n matrix[i][1] * xyz[1] +\n matrix[i][2] * xyz[2]\n )) * 255)\n }\n\n return {\n r: rgb[0],\n g: rgb[1],\n b: rgb[2],\n }\n}\n\nexport function toXYZ ({ r, g, b }: RGB): XYZ {\n const xyz: XYZ = [0, 0, 0]\n const transform = srgbReverseTransform\n const matrix = srgbReverseMatrix\n\n // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n r = transform(r / 255)\n g = transform(g / 255)\n b = transform(b / 255)\n\n // Matrix color space transform\n for (let i = 0; i < 3; ++i) {\n xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b\n }\n\n return xyz\n}\n"],"mappings":"SACSA,KAAK,kCAEd;AACA,MAAMC,iBAAiB,GAAG,CACxB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAC1B,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACzB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAC1B;;AAED;AACA,MAAMC,oBAAoB,GAAIC,CAAS,IACrCA,CAAC,IAAI,SAAS,GACVA,CAAC,GAAG,KAAK,GACT,KAAK,GAAGA,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,KAC9B;;AAED;AACA,MAAMC,iBAAiB,GAAG,CACxB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACxB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACxB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CACzB;;AAED;AACA,MAAMC,oBAAoB,GAAIF,CAAS,IACrCA,CAAC,IAAI,OAAO,GACRA,CAAC,GAAG,KAAK,GACT,CAAC,CAACA,CAAC,GAAG,KAAK,IAAI,KAAK,KAAK,GAC9B;AAED,OAAO,SAASG,OAAOA,CAAEC,GAAQ,EAAO;EACtC,MAAMC,GAAG,GAAGC,KAAK,CAAC,CAAC,CAAC;EACpB,MAAMC,SAAS,GAAGR,oBAAoB;EACtC,MAAMS,MAAM,GAAGV,iBAAiB;;EAEhC;EACA,KAAK,IAAIW,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAE,EAAEA,CAAC,EAAE;IAC1B;IACAJ,GAAG,CAACI,CAAC,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACd,KAAK,CAACU,SAAS,CACjCC,MAAM,CAACC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGL,GAAG,CAAC,CAAC,CAAC,GACrBI,MAAM,CAACC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGL,GAAG,CAAC,CAAC,CAAC,GACrBI,MAAM,CAACC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGL,GAAG,CAAC,CAAC,CAAC,CACtB,CAAC,GAAG,GAAG,CAAC;EACX;EAEA,OAAO;IACLQ,CAAC,EAAEP,GAAG,CAAC,CAAC,CAAC;IACTQ,CAAC,EAAER,GAAG,CAAC,CAAC,CAAC;IACTS,CAAC,EAAET,GAAG,CAAC,CAAC;EACV,CAAC;AACH;AAEA,OAAO,SAASU,KAAKA,CAAAC,IAAA,EAAyB;EAAA,IAAvB;IAAEJ,CAAC;IAAEC,CAAC;IAAEC;EAAO,CAAC,GAAAE,IAAA;EACrC,MAAMZ,GAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAC1B,MAAMG,SAAS,GAAGL,oBAAoB;EACtC,MAAMM,MAAM,GAAGP,iBAAiB;;EAEhC;EACAW,CAAC,GAAGL,SAAS,CAACK,CAAC,GAAG,GAAG,CAAC;EACtBC,CAAC,GAAGN,SAAS,CAACM,CAAC,GAAG,GAAG,CAAC;EACtBC,CAAC,GAAGP,SAAS,CAACO,CAAC,GAAG,GAAG,CAAC;;EAEtB;EACA,KAAK,IAAIL,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAE,EAAEA,CAAC,EAAE;IAC1BL,GAAG,CAACK,CAAC,CAAC,GAAGD,MAAM,CAACC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGG,CAAC,GAAGJ,MAAM,CAACC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGI,CAAC,GAAGL,MAAM,CAACC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGK,CAAC;EACjE;EAEA,OAAOV,GAAG;AACZ"}
1
+ {"version":3,"file":"transformSRGB.mjs","names":["clamp","srgbForwardMatrix","srgbForwardTransform","C","srgbReverseMatrix","srgbReverseTransform","fromXYZ","xyz","rgb","Array","transform","matrix","i","Math","round","r","g","b","toXYZ","_ref"],"sources":["../../../src/util/color/transformSRGB.ts"],"sourcesContent":["// Utilities\nimport { clamp } from '@/util/helpers'\n\n// Types\nimport type { RGB, XYZ } from '../colorUtils'\n\n// For converting XYZ to sRGB\nconst srgbForwardMatrix = [\n [3.2406, -1.5372, -0.4986],\n [-0.9689, 1.8758, 0.0415],\n [0.0557, -0.2040, 1.0570],\n]\n\n// Forward gamma adjust\nconst srgbForwardTransform = (C: number): number => (\n C <= 0.0031308\n ? C * 12.92\n : 1.055 * C ** (1 / 2.4) - 0.055\n)\n\n// For converting sRGB to XYZ\nconst srgbReverseMatrix = [\n [0.4124, 0.3576, 0.1805],\n [0.2126, 0.7152, 0.0722],\n [0.0193, 0.1192, 0.9505],\n]\n\n// Reverse gamma adjust\nconst srgbReverseTransform = (C: number): number => (\n C <= 0.04045\n ? C / 12.92\n : ((C + 0.055) / 1.055) ** 2.4\n)\n\nexport function fromXYZ (xyz: XYZ): RGB {\n const rgb = Array(3)\n const transform = srgbForwardTransform\n const matrix = srgbForwardMatrix\n\n // Matrix transform, then gamma adjustment\n for (let i = 0; i < 3; ++i) {\n // Rescale back to [0, 255]\n rgb[i] = Math.round(clamp(transform(\n matrix[i][0] * xyz[0] +\n matrix[i][1] * xyz[1] +\n matrix[i][2] * xyz[2]\n )) * 255)\n }\n\n return {\n r: rgb[0],\n g: rgb[1],\n b: rgb[2],\n }\n}\n\nexport function toXYZ ({ r, g, b }: RGB): XYZ {\n const xyz: XYZ = [0, 0, 0]\n const transform = srgbReverseTransform\n const matrix = srgbReverseMatrix\n\n // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n r = transform(r / 255)\n g = transform(g / 255)\n b = transform(b / 255)\n\n // Matrix color space transform\n for (let i = 0; i < 3; ++i) {\n xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b\n }\n\n return xyz\n}\n"],"mappings":"AAAA;AAAA,SACSA,KAAK,0BAEd;AAGA;AACA,MAAMC,iBAAiB,GAAG,CACxB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAC1B,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACzB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAC1B;;AAED;AACA,MAAMC,oBAAoB,GAAIC,CAAS,IACrCA,CAAC,IAAI,SAAS,GACVA,CAAC,GAAG,KAAK,GACT,KAAK,GAAGA,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,KAC9B;;AAED;AACA,MAAMC,iBAAiB,GAAG,CACxB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACxB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACxB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CACzB;;AAED;AACA,MAAMC,oBAAoB,GAAIF,CAAS,IACrCA,CAAC,IAAI,OAAO,GACRA,CAAC,GAAG,KAAK,GACT,CAAC,CAACA,CAAC,GAAG,KAAK,IAAI,KAAK,KAAK,GAC9B;AAED,OAAO,SAASG,OAAOA,CAAEC,GAAQ,EAAO;EACtC,MAAMC,GAAG,GAAGC,KAAK,CAAC,CAAC,CAAC;EACpB,MAAMC,SAAS,GAAGR,oBAAoB;EACtC,MAAMS,MAAM,GAAGV,iBAAiB;;EAEhC;EACA,KAAK,IAAIW,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAE,EAAEA,CAAC,EAAE;IAC1B;IACAJ,GAAG,CAACI,CAAC,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACd,KAAK,CAACU,SAAS,CACjCC,MAAM,CAACC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGL,GAAG,CAAC,CAAC,CAAC,GACrBI,MAAM,CAACC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGL,GAAG,CAAC,CAAC,CAAC,GACrBI,MAAM,CAACC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGL,GAAG,CAAC,CAAC,CAAC,CACtB,CAAC,GAAG,GAAG,CAAC;EACX;EAEA,OAAO;IACLQ,CAAC,EAAEP,GAAG,CAAC,CAAC,CAAC;IACTQ,CAAC,EAAER,GAAG,CAAC,CAAC,CAAC;IACTS,CAAC,EAAET,GAAG,CAAC,CAAC;EACV,CAAC;AACH;AAEA,OAAO,SAASU,KAAKA,CAAAC,IAAA,EAAyB;EAAA,IAAvB;IAAEJ,CAAC;IAAEC,CAAC;IAAEC;EAAO,CAAC,GAAAE,IAAA;EACrC,MAAMZ,GAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAC1B,MAAMG,SAAS,GAAGL,oBAAoB;EACtC,MAAMM,MAAM,GAAGP,iBAAiB;;EAEhC;EACAW,CAAC,GAAGL,SAAS,CAACK,CAAC,GAAG,GAAG,CAAC;EACtBC,CAAC,GAAGN,SAAS,CAACM,CAAC,GAAG,GAAG,CAAC;EACtBC,CAAC,GAAGP,SAAS,CAACO,CAAC,GAAG,GAAG,CAAC;;EAEtB;EACA,KAAK,IAAIL,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAE,EAAEA,CAAC,EAAE;IAC1BL,GAAG,CAACK,CAAC,CAAC,GAAGD,MAAM,CAACC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGG,CAAC,GAAGJ,MAAM,CAACC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGI,CAAC,GAAGL,MAAM,CAACC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGK,CAAC;EACjE;EAEA,OAAOV,GAAG;AACZ"}
@@ -1,8 +1,8 @@
1
1
  // Utilities
2
2
  import { consoleWarn } from "./console.mjs";
3
3
  import { chunk, has, padEnd } from "./helpers.mjs";
4
- import * as sRGB from "./color/transformSRGB.mjs";
5
- import * as CIELAB from "./color/transformCIELAB.mjs"; // Types
4
+ import * as CIELAB from "./color/transformCIELAB.mjs";
5
+ import * as sRGB from "./color/transformSRGB.mjs"; // Types
6
6
  export function isCssColor(color) {
7
7
  return !!color && /^(#|var\(--|(rgb|hsl)a?\()/.test(color);
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"colorUtils.mjs","names":["consoleWarn","chunk","has","padEnd","sRGB","CIELAB","isCssColor","color","test","cssColorRe","mappers","rgb","r","g","b","a","rgba","hsl","h","s","l","HSLtoRGB","hsla","hsv","v","HSVtoRGB","hsva","parseColor","isNaN","groups","match","fn","values","realValues","split","map","endsWith","includes","parseFloat","hex","startsWith","slice","length","char","join","int","parseInt","HexToRGB","HSLtoHSV","TypeError","String","constructor","name","RGBToInt","classToHex","colors","currentTheme","colorName","colorModifier","toString","trim","replace","hexColor","base","f","n","k","Math","max","min","round","RGBtoHSV","HSVtoHSL","sprime","RGBtoCSS","_ref","undefined","HSVtoCSS","toHex","substr","toUpperCase","RGBtoHex","_ref2","parseHex","c","HexToHSV","HSVtoHex","x","parseGradient","gradient","Object","lighten","value","amount","lab","fromXYZ","toXYZ","darken","getLuma","getContrast","first","second","l1","l2","light","dark"],"sources":["../../src/util/colorUtils.ts"],"sourcesContent":["// Utilities\nimport { consoleWarn } from './console'\nimport { chunk, has, padEnd } from './helpers'\nimport * as sRGB from '@/util/color/transformSRGB'\nimport * as CIELAB from '@/util/color/transformCIELAB'\n\n// Types\nimport type { Colors } from '@/composables/theme'\n\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\nexport type HSV = { h: number, s: number, v: number, a?: number }\nexport type RGB = { r: number, g: number, b: number, a?: number }\nexport type HSL = { h: number, s: number, l: number, a?: number }\nexport type Hex = string & { __hexBrand: never }\nexport type Color = string | number | HSV | RGB | HSL\n\nexport function isCssColor (color?: string | null | false): boolean {\n return !!color && /^(#|var\\(--|(rgb|hsl)a?\\()/.test(color)\n}\n\nconst cssColorRe = /^(?<fn>(?:rgb|hsl)a?)\\((?<values>.+)\\)/\nconst mappers = {\n rgb: (r: number, g: number, b: number, a?: number) => ({ r, g, b, a }),\n rgba: (r: number, g: number, b: number, a?: number) => ({ r, g, b, a }),\n hsl: (h: number, s: number, l: number, a?: number) => HSLtoRGB({ h, s, l, a }),\n hsla: (h: number, s: number, l: number, a?: number) => HSLtoRGB({ h, s, l, a }),\n hsv: (h: number, s: number, v: number, a?: number) => HSVtoRGB({ h, s, v, a }),\n hsva: (h: number, s: number, v: number, a?: number) => HSVtoRGB({ h, s, v, a }),\n}\n\nexport function parseColor (color: Color): RGB {\n if (typeof color === 'number') {\n if (isNaN(color) || color < 0 || color > 0xFFFFFF) { // int can't have opacity\n consoleWarn(`'${color}' is not a valid hex color`)\n }\n\n return {\n r: (color & 0xFF0000) >> 16,\n g: (color & 0xFF00) >> 8,\n b: (color & 0xFF),\n }\n } else if (typeof color === 'string' && cssColorRe.test(color)) {\n const { groups } = color.match(cssColorRe)!\n const { fn, values } = groups as { fn: keyof typeof mappers, values: string }\n const realValues = values.split(/,\\s*/)\n .map(v => {\n if (v.endsWith('%') && ['hsl', 'hsla', 'hsv', 'hsva'].includes(fn)) {\n return parseFloat(v) / 100\n } else {\n return parseFloat(v)\n }\n }) as [number, number, number, number?]\n\n return mappers[fn](...realValues)\n } else if (typeof color === 'string') {\n let hex = color.startsWith('#') ? color.slice(1) : color\n\n if ([3, 4].includes(hex.length)) {\n hex = hex.split('').map(char => char + char).join('')\n } else if (![6, 8].includes(hex.length)) {\n consoleWarn(`'${color}' is not a valid hex(a) color`)\n }\n\n const int = parseInt(hex, 16)\n if (isNaN(int) || int < 0 || int > 0xFFFFFFFF) {\n consoleWarn(`'${color}' is not a valid hex(a) color`)\n }\n\n return HexToRGB(hex as Hex)\n } else if (typeof color === 'object') {\n if (has(color, ['r', 'g', 'b'])) {\n return color\n } else if (has(color, ['h', 's', 'l'])) {\n return HSVtoRGB(HSLtoHSV(color))\n } else if (has(color, ['h', 's', 'v'])) {\n return HSVtoRGB(color)\n }\n }\n\n throw new TypeError(`Invalid color: ${color == null ? color : (String(color) || (color as any).constructor.name)}\\nExpected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)\n}\n\nexport function RGBToInt (color: RGB) {\n return (color.r << 16) + (color.g << 8) + color.b\n}\n\nexport function classToHex (\n color: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n): string {\n const [colorName, colorModifier] = color\n .toString().trim().replace('-', '').split(' ', 2) as (string | undefined)[]\n\n let hexColor = ''\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier]\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName] as string\n }\n\n return hexColor\n}\n\n/** Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function HSVtoRGB (hsva: HSV): RGB {\n const { h, s, v, a } = hsva\n const f = (n: number) => {\n const k = (n + (h / 60)) % 6\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0)\n }\n\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255))\n\n return { r: rgb[0], g: rgb[1], b: rgb[2], a }\n}\n\nexport function HSLtoRGB (hsla: HSL): RGB {\n return HSVtoRGB(HSLtoHSV(hsla))\n}\n\n/** Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function RGBtoHSV (rgba: RGB): HSV {\n if (!rgba) return { h: 0, s: 1, v: 1, a: 1 }\n\n const r = rgba.r / 255\n const g = rgba.g / 255\n const b = rgba.b / 255\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n\n let h = 0\n\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + ((g - b) / (max - min)))\n } else if (max === g) {\n h = 60 * (2 + ((b - r) / (max - min)))\n } else if (max === b) {\n h = 60 * (4 + ((r - g) / (max - min)))\n }\n }\n\n if (h < 0) h = h + 360\n\n const s = max === 0 ? 0 : (max - min) / max\n const hsv = [h, s, max]\n\n return { h: hsv[0], s: hsv[1], v: hsv[2], a: rgba.a }\n}\n\nexport function HSVtoHSL (hsva: HSV): HSL {\n const { h, s, v, a } = hsva\n\n const l = v - (v * s / 2)\n\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l)\n\n return { h, s: sprime, l, a }\n}\n\nexport function HSLtoHSV (hsl: HSL): HSV {\n const { h, s, l, a } = hsl\n\n const v = l + s * Math.min(l, 1 - l)\n\n const sprime = v === 0 ? 0 : 2 - (2 * l / v)\n\n return { h, s: sprime, v, a }\n}\n\nexport function RGBtoCSS ({ r, g, b, a }: RGB): string {\n return a === undefined ? `rgb(${r}, ${g}, ${b})` : `rgba(${r}, ${g}, ${b}, ${a})`\n}\n\nexport function HSVtoCSS (hsva: HSV): string {\n return RGBtoCSS(HSVtoRGB(hsva))\n}\n\nfunction toHex (v: number) {\n const h = Math.round(v).toString(16)\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase()\n}\n\nexport function RGBtoHex ({ r, g, b, a }: RGB): Hex {\n return `#${[\n toHex(r),\n toHex(g),\n toHex(b),\n a !== undefined ? toHex(Math.round(a * 255)) : '',\n ].join('')}` as Hex\n}\n\nexport function HexToRGB (hex: Hex): RGB {\n hex = parseHex(hex)\n let [r, g, b, a] = chunk(hex, 2).map((c: string) => parseInt(c, 16))\n a = a === undefined ? a : (a / 255)\n\n return { r, g, b, a }\n}\n\nexport function HexToHSV (hex: Hex): HSV {\n const rgb = HexToRGB(hex)\n return RGBtoHSV(rgb)\n}\n\nexport function HSVtoHex (hsva: HSV): Hex {\n return RGBtoHex(HSVtoRGB(hsva))\n}\n\nexport function parseHex (hex: string): Hex {\n if (hex.startsWith('#')) {\n hex = hex.slice(1)\n }\n\n hex = hex.replace(/([^0-9a-f])/gi, 'F')\n\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('')\n }\n\n if (hex.length !== 6) {\n hex = padEnd(padEnd(hex, 6), 8, 'F')\n }\n\n return hex as Hex\n}\n\nexport function parseGradient (\n gradient: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGB(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',')\n })\n}\n\nexport function lighten (value: RGB, amount: number): RGB {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] + amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\nexport function darken (value: RGB, amount: number): RGB {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\n/**\n * Calculate the relative luminance of a given color\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nexport function getLuma (color: Color) {\n const rgb = parseColor(color)\n\n return sRGB.toXYZ(rgb)[1]\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nexport function getContrast (first: Color, second: Color) {\n const l1 = getLuma(first)\n const l2 = getLuma(second)\n\n const light = Math.max(l1, l2)\n const dark = Math.min(l1, l2)\n\n return (light + 0.05) / (dark + 0.05)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"colorUtils.mjs","names":["consoleWarn","chunk","has","padEnd","CIELAB","sRGB","isCssColor","color","test","cssColorRe","mappers","rgb","r","g","b","a","rgba","hsl","h","s","l","HSLtoRGB","hsla","hsv","v","HSVtoRGB","hsva","parseColor","isNaN","groups","match","fn","values","realValues","split","map","endsWith","includes","parseFloat","hex","startsWith","slice","length","char","join","int","parseInt","HexToRGB","HSLtoHSV","TypeError","String","constructor","name","RGBToInt","classToHex","colors","currentTheme","colorName","colorModifier","toString","trim","replace","hexColor","base","f","n","k","Math","max","min","round","RGBtoHSV","HSVtoHSL","sprime","RGBtoCSS","_ref","undefined","HSVtoCSS","toHex","substr","toUpperCase","RGBtoHex","_ref2","parseHex","c","HexToHSV","HSVtoHex","x","parseGradient","gradient","Object","lighten","value","amount","lab","fromXYZ","toXYZ","darken","getLuma","getContrast","first","second","l1","l2","light","dark"],"sources":["../../src/util/colorUtils.ts"],"sourcesContent":["// Utilities\nimport { consoleWarn } from './console'\nimport { chunk, has, padEnd } from './helpers'\nimport * as CIELAB from '@/util/color/transformCIELAB'\nimport * as sRGB from '@/util/color/transformSRGB'\n\n// Types\nimport type { Colors } from '@/composables/theme'\n\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\nexport type HSV = { h: number, s: number, v: number, a?: number }\nexport type RGB = { r: number, g: number, b: number, a?: number }\nexport type HSL = { h: number, s: number, l: number, a?: number }\nexport type Hex = string & { __hexBrand: never }\nexport type Color = string | number | HSV | RGB | HSL\n\nexport function isCssColor (color?: string | null | false): boolean {\n return !!color && /^(#|var\\(--|(rgb|hsl)a?\\()/.test(color)\n}\n\nconst cssColorRe = /^(?<fn>(?:rgb|hsl)a?)\\((?<values>.+)\\)/\nconst mappers = {\n rgb: (r: number, g: number, b: number, a?: number) => ({ r, g, b, a }),\n rgba: (r: number, g: number, b: number, a?: number) => ({ r, g, b, a }),\n hsl: (h: number, s: number, l: number, a?: number) => HSLtoRGB({ h, s, l, a }),\n hsla: (h: number, s: number, l: number, a?: number) => HSLtoRGB({ h, s, l, a }),\n hsv: (h: number, s: number, v: number, a?: number) => HSVtoRGB({ h, s, v, a }),\n hsva: (h: number, s: number, v: number, a?: number) => HSVtoRGB({ h, s, v, a }),\n}\n\nexport function parseColor (color: Color): RGB {\n if (typeof color === 'number') {\n if (isNaN(color) || color < 0 || color > 0xFFFFFF) { // int can't have opacity\n consoleWarn(`'${color}' is not a valid hex color`)\n }\n\n return {\n r: (color & 0xFF0000) >> 16,\n g: (color & 0xFF00) >> 8,\n b: (color & 0xFF),\n }\n } else if (typeof color === 'string' && cssColorRe.test(color)) {\n const { groups } = color.match(cssColorRe)!\n const { fn, values } = groups as { fn: keyof typeof mappers, values: string }\n const realValues = values.split(/,\\s*/)\n .map(v => {\n if (v.endsWith('%') && ['hsl', 'hsla', 'hsv', 'hsva'].includes(fn)) {\n return parseFloat(v) / 100\n } else {\n return parseFloat(v)\n }\n }) as [number, number, number, number?]\n\n return mappers[fn](...realValues)\n } else if (typeof color === 'string') {\n let hex = color.startsWith('#') ? color.slice(1) : color\n\n if ([3, 4].includes(hex.length)) {\n hex = hex.split('').map(char => char + char).join('')\n } else if (![6, 8].includes(hex.length)) {\n consoleWarn(`'${color}' is not a valid hex(a) color`)\n }\n\n const int = parseInt(hex, 16)\n if (isNaN(int) || int < 0 || int > 0xFFFFFFFF) {\n consoleWarn(`'${color}' is not a valid hex(a) color`)\n }\n\n return HexToRGB(hex as Hex)\n } else if (typeof color === 'object') {\n if (has(color, ['r', 'g', 'b'])) {\n return color\n } else if (has(color, ['h', 's', 'l'])) {\n return HSVtoRGB(HSLtoHSV(color))\n } else if (has(color, ['h', 's', 'v'])) {\n return HSVtoRGB(color)\n }\n }\n\n throw new TypeError(`Invalid color: ${color == null ? color : (String(color) || (color as any).constructor.name)}\\nExpected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)\n}\n\nexport function RGBToInt (color: RGB) {\n return (color.r << 16) + (color.g << 8) + color.b\n}\n\nexport function classToHex (\n color: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n): string {\n const [colorName, colorModifier] = color\n .toString().trim().replace('-', '').split(' ', 2) as (string | undefined)[]\n\n let hexColor = ''\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier]\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName] as string\n }\n\n return hexColor\n}\n\n/** Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function HSVtoRGB (hsva: HSV): RGB {\n const { h, s, v, a } = hsva\n const f = (n: number) => {\n const k = (n + (h / 60)) % 6\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0)\n }\n\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255))\n\n return { r: rgb[0], g: rgb[1], b: rgb[2], a }\n}\n\nexport function HSLtoRGB (hsla: HSL): RGB {\n return HSVtoRGB(HSLtoHSV(hsla))\n}\n\n/** Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function RGBtoHSV (rgba: RGB): HSV {\n if (!rgba) return { h: 0, s: 1, v: 1, a: 1 }\n\n const r = rgba.r / 255\n const g = rgba.g / 255\n const b = rgba.b / 255\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n\n let h = 0\n\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + ((g - b) / (max - min)))\n } else if (max === g) {\n h = 60 * (2 + ((b - r) / (max - min)))\n } else if (max === b) {\n h = 60 * (4 + ((r - g) / (max - min)))\n }\n }\n\n if (h < 0) h = h + 360\n\n const s = max === 0 ? 0 : (max - min) / max\n const hsv = [h, s, max]\n\n return { h: hsv[0], s: hsv[1], v: hsv[2], a: rgba.a }\n}\n\nexport function HSVtoHSL (hsva: HSV): HSL {\n const { h, s, v, a } = hsva\n\n const l = v - (v * s / 2)\n\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l)\n\n return { h, s: sprime, l, a }\n}\n\nexport function HSLtoHSV (hsl: HSL): HSV {\n const { h, s, l, a } = hsl\n\n const v = l + s * Math.min(l, 1 - l)\n\n const sprime = v === 0 ? 0 : 2 - (2 * l / v)\n\n return { h, s: sprime, v, a }\n}\n\nexport function RGBtoCSS ({ r, g, b, a }: RGB): string {\n return a === undefined ? `rgb(${r}, ${g}, ${b})` : `rgba(${r}, ${g}, ${b}, ${a})`\n}\n\nexport function HSVtoCSS (hsva: HSV): string {\n return RGBtoCSS(HSVtoRGB(hsva))\n}\n\nfunction toHex (v: number) {\n const h = Math.round(v).toString(16)\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase()\n}\n\nexport function RGBtoHex ({ r, g, b, a }: RGB): Hex {\n return `#${[\n toHex(r),\n toHex(g),\n toHex(b),\n a !== undefined ? toHex(Math.round(a * 255)) : '',\n ].join('')}` as Hex\n}\n\nexport function HexToRGB (hex: Hex): RGB {\n hex = parseHex(hex)\n let [r, g, b, a] = chunk(hex, 2).map((c: string) => parseInt(c, 16))\n a = a === undefined ? a : (a / 255)\n\n return { r, g, b, a }\n}\n\nexport function HexToHSV (hex: Hex): HSV {\n const rgb = HexToRGB(hex)\n return RGBtoHSV(rgb)\n}\n\nexport function HSVtoHex (hsva: HSV): Hex {\n return RGBtoHex(HSVtoRGB(hsva))\n}\n\nexport function parseHex (hex: string): Hex {\n if (hex.startsWith('#')) {\n hex = hex.slice(1)\n }\n\n hex = hex.replace(/([^0-9a-f])/gi, 'F')\n\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('')\n }\n\n if (hex.length !== 6) {\n hex = padEnd(padEnd(hex, 6), 8, 'F')\n }\n\n return hex as Hex\n}\n\nexport function parseGradient (\n gradient: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGB(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',')\n })\n}\n\nexport function lighten (value: RGB, amount: number): RGB {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] + amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\nexport function darken (value: RGB, amount: number): RGB {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\n/**\n * Calculate the relative luminance of a given color\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nexport function getLuma (color: Color) {\n const rgb = parseColor(color)\n\n return sRGB.toXYZ(rgb)[1]\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nexport function getContrast (first: Color, second: Color) {\n const l1 = getLuma(first)\n const l2 = getLuma(second)\n\n const light = Math.max(l1, l2)\n const dark = Math.min(l1, l2)\n\n return (light + 0.05) / (dark + 0.05)\n}\n"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  /* eslint-disable no-console */
2
2
 
3
+ // Utilities
3
4
  import { warn } from 'vue';
4
5
  export function consoleWarn(message) {
5
6
  warn(`Vuetify: ${message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"console.mjs","names":["warn","consoleWarn","message","consoleError","deprecate","original","replacement","Array","isArray","slice","map","s","join","at","breaking","removed"],"sources":["../../src/util/console.ts"],"sourcesContent":["/* eslint-disable no-console */\n\nimport { warn } from 'vue'\n\nexport function consoleWarn (message: string): void {\n warn(`Vuetify: ${message}`)\n}\n\nexport function consoleError (message: string): void {\n warn(`Vuetify error: ${message}`)\n}\n\nexport function deprecate (original: string, replacement: string | string[]) {\n replacement = Array.isArray(replacement)\n ? replacement.slice(0, -1).map(s => `'${s}'`).join(', ') + ` or '${replacement.at(-1)}'`\n : `'${replacement}'`\n warn(`[Vuetify UPGRADE] '${original}' is deprecated, use ${replacement} instead.`)\n}\nexport function breaking (original: string, replacement: string) {\n // warn(`[Vuetify BREAKING] '${original}' has been removed, use '${replacement}' instead. For more information, see the upgrade guide https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide`)\n}\nexport function removed (original: string) {\n // warn(`[Vuetify REMOVED] '${original}' has been removed. You can safely omit it.`)\n}\n"],"mappings":"AAAA;;AAEA,SAASA,IAAI,QAAQ,KAAK;AAE1B,OAAO,SAASC,WAAWA,CAAEC,OAAe,EAAQ;EAClDF,IAAI,CAAE,YAAWE,OAAQ,EAAC,CAAC;AAC7B;AAEA,OAAO,SAASC,YAAYA,CAAED,OAAe,EAAQ;EACnDF,IAAI,CAAE,kBAAiBE,OAAQ,EAAC,CAAC;AACnC;AAEA,OAAO,SAASE,SAASA,CAAEC,QAAgB,EAAEC,WAA8B,EAAE;EAC3EA,WAAW,GAAGC,KAAK,CAACC,OAAO,CAACF,WAAW,CAAC,GACpCA,WAAW,CAACG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACC,GAAG,CAACC,CAAC,IAAK,IAAGA,CAAE,GAAE,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,GAAI,QAAON,WAAW,CAACO,EAAE,CAAC,CAAC,CAAC,CAAE,GAAE,GACrF,IAAGP,WAAY,GAAE;EACtBN,IAAI,CAAE,sBAAqBK,QAAS,wBAAuBC,WAAY,WAAU,CAAC;AACpF;AACA,OAAO,SAASQ,QAAQA,CAAET,QAAgB,EAAEC,WAAmB,EAAE;EAC/D;AAAA;AAEF,OAAO,SAASS,OAAOA,CAAEV,QAAgB,EAAE;EACzC;AAAA"}
1
+ {"version":3,"file":"console.mjs","names":["warn","consoleWarn","message","consoleError","deprecate","original","replacement","Array","isArray","slice","map","s","join","at","breaking","removed"],"sources":["../../src/util/console.ts"],"sourcesContent":["/* eslint-disable no-console */\n\n// Utilities\nimport { warn } from 'vue'\n\nexport function consoleWarn (message: string): void {\n warn(`Vuetify: ${message}`)\n}\n\nexport function consoleError (message: string): void {\n warn(`Vuetify error: ${message}`)\n}\n\nexport function deprecate (original: string, replacement: string | string[]) {\n replacement = Array.isArray(replacement)\n ? replacement.slice(0, -1).map(s => `'${s}'`).join(', ') + ` or '${replacement.at(-1)}'`\n : `'${replacement}'`\n warn(`[Vuetify UPGRADE] '${original}' is deprecated, use ${replacement} instead.`)\n}\nexport function breaking (original: string, replacement: string) {\n // warn(`[Vuetify BREAKING] '${original}' has been removed, use '${replacement}' instead. For more information, see the upgrade guide https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide`)\n}\nexport function removed (original: string) {\n // warn(`[Vuetify REMOVED] '${original}' has been removed. You can safely omit it.`)\n}\n"],"mappings":"AAAA;;AAEA;AACA,SAASA,IAAI,QAAQ,KAAK;AAE1B,OAAO,SAASC,WAAWA,CAAEC,OAAe,EAAQ;EAClDF,IAAI,CAAE,YAAWE,OAAQ,EAAC,CAAC;AAC7B;AAEA,OAAO,SAASC,YAAYA,CAAED,OAAe,EAAQ;EACnDF,IAAI,CAAE,kBAAiBE,OAAQ,EAAC,CAAC;AACnC;AAEA,OAAO,SAASE,SAASA,CAAEC,QAAgB,EAAEC,WAA8B,EAAE;EAC3EA,WAAW,GAAGC,KAAK,CAACC,OAAO,CAACF,WAAW,CAAC,GACpCA,WAAW,CAACG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACC,GAAG,CAACC,CAAC,IAAK,IAAGA,CAAE,GAAE,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,GAAI,QAAON,WAAW,CAACO,EAAE,CAAC,CAAC,CAAC,CAAE,GAAE,GACrF,IAAGP,WAAY,GAAE;EACtBN,IAAI,CAAE,sBAAqBK,QAAS,wBAAuBC,WAAY,WAAU,CAAC;AACpF;AACA,OAAO,SAASQ,QAAQA,CAAET,QAAgB,EAAEC,WAAmB,EAAE;EAC/D;AAAA;AAEF,OAAO,SAASS,OAAOA,CAAEV,QAAgB,EAAE;EACzC;AAAA"}
@@ -1,4 +1,5 @@
1
- import { makeComponentProps } from "../composables/component.mjs";
1
+ // Composables
2
+ import { makeComponentProps } from "../composables/component.mjs"; // Utilities
2
3
  import { camelize, capitalize, h } from 'vue';
3
4
  import { genericComponent } from "./defineComponent.mjs";
4
5
  export function createSimpleFunctional(klass) {
@@ -1 +1 @@
1
- {"version":3,"file":"createSimpleFunctional.mjs","names":["makeComponentProps","camelize","capitalize","h","genericComponent","createSimpleFunctional","klass","tag","arguments","length","undefined","name","replace","props","type","String","default","setup","_ref","slots","class","style"],"sources":["../../src/util/createSimpleFunctional.ts"],"sourcesContent":["import { makeComponentProps } from '@/composables/component'\nimport { camelize, capitalize, h } from 'vue'\nimport { genericComponent } from './defineComponent'\n\nexport function createSimpleFunctional (\n klass: string,\n tag = 'div',\n name?: string\n) {\n return genericComponent()({\n name: name ?? capitalize(camelize(klass.replace(/__/g, '-'))),\n\n props: {\n tag: {\n type: String,\n default: tag,\n },\n\n ...makeComponentProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return h(props.tag, {\n class: [klass, props.class],\n style: props.style,\n }, slots.default?.())\n }\n },\n })\n}\n"],"mappings":"SAASA,kBAAkB;AAC3B,SAASC,QAAQ,EAAEC,UAAU,EAAEC,CAAC,QAAQ,KAAK;AAAA,SACpCC,gBAAgB;AAEzB,OAAO,SAASC,sBAAsBA,CACpCC,KAAa,EAGb;EAAA,IAFAC,GAAG,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAAA,IACXG,IAAa,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAEb,OAAON,gBAAgB,EAAE,CAAC;IACxBO,IAAI,EAAEA,IAAI,IAAIT,UAAU,CAACD,QAAQ,CAACK,KAAK,CAACM,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAE7DC,KAAK,EAAE;MACLN,GAAG,EAAE;QACHO,IAAI,EAAEC,MAAM;QACZC,OAAO,EAAET;MACX,CAAC;MAED,GAAGP,kBAAkB;IACvB,CAAC;IAEDiB,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAa;MAAA,IAAX;QAAEC;MAAM,CAAC,GAAAD,IAAA;MACrB,OAAO,MAAM;QACX,OAAOf,CAAC,CAACU,KAAK,CAACN,GAAG,EAAE;UAClBa,KAAK,EAAE,CAACd,KAAK,EAAEO,KAAK,CAACO,KAAK,CAAC;UAC3BC,KAAK,EAAER,KAAK,CAACQ;QACf,CAAC,EAAEF,KAAK,CAACH,OAAO,IAAI,CAAC;MACvB,CAAC;IACH;EACF,CAAC,CAAC;AACJ"}
1
+ {"version":3,"file":"createSimpleFunctional.mjs","names":["makeComponentProps","camelize","capitalize","h","genericComponent","createSimpleFunctional","klass","tag","arguments","length","undefined","name","replace","props","type","String","default","setup","_ref","slots","class","style"],"sources":["../../src/util/createSimpleFunctional.ts"],"sourcesContent":["// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { camelize, capitalize, h } from 'vue'\nimport { genericComponent } from './defineComponent'\n\nexport function createSimpleFunctional (\n klass: string,\n tag = 'div',\n name?: string\n) {\n return genericComponent()({\n name: name ?? capitalize(camelize(klass.replace(/__/g, '-'))),\n\n props: {\n tag: {\n type: String,\n default: tag,\n },\n\n ...makeComponentProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return h(props.tag, {\n class: [klass, props.class],\n style: props.style,\n }, slots.default?.())\n }\n },\n })\n}\n"],"mappings":"AAAA;AAAA,SACSA,kBAAkB,wCAE3B;AACA,SAASC,QAAQ,EAAEC,UAAU,EAAEC,CAAC,QAAQ,KAAK;AAAA,SACpCC,gBAAgB;AAEzB,OAAO,SAASC,sBAAsBA,CACpCC,KAAa,EAGb;EAAA,IAFAC,GAAG,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAAA,IACXG,IAAa,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAEb,OAAON,gBAAgB,EAAE,CAAC;IACxBO,IAAI,EAAEA,IAAI,IAAIT,UAAU,CAACD,QAAQ,CAACK,KAAK,CAACM,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAE7DC,KAAK,EAAE;MACLN,GAAG,EAAE;QACHO,IAAI,EAAEC,MAAM;QACZC,OAAO,EAAET;MACX,CAAC;MAED,GAAGP,kBAAkB;IACvB,CAAC;IAEDiB,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAa;MAAA,IAAX;QAAEC;MAAM,CAAC,GAAAD,IAAA;MACrB,OAAO,MAAM;QACX,OAAOf,CAAC,CAACU,KAAK,CAACN,GAAG,EAAE;UAClBa,KAAK,EAAE,CAACd,KAAK,EAAEO,KAAK,CAACO,KAAK,CAAC;UAC3BC,KAAK,EAAER,KAAK,CAACQ;QACf,CAAC,EAAEF,KAAK,CAACH,OAAO,IAAI,CAAC;MACvB,CAAC;IACH;EACF,CAAC,CAAC;AACJ"}
@@ -1,10 +1,10 @@
1
- // Utils
1
+ // Composables
2
+ import { injectDefaults, internalUseDefaults } from "../composables/defaults.mjs"; // Utilities
2
3
  import { defineComponent as _defineComponent // eslint-disable-line no-restricted-imports
3
4
  } from 'vue';
4
5
  import { consoleWarn } from "./console.mjs";
5
- import { pick, toKebabCase } from "./helpers.mjs";
6
- import { propsFactory } from "./propsFactory.mjs";
7
- import { injectDefaults, internalUseDefaults } from "../composables/defaults.mjs"; // Types
6
+ import { pick } from "./helpers.mjs";
7
+ import { propsFactory } from "./propsFactory.mjs"; // Types
8
8
  // Implementation
9
9
  export function defineComponent(options) {
10
10
  options._setup = options._setup ?? options.setup;
@@ -13,7 +13,7 @@ export function defineComponent(options) {
13
13
  return options;
14
14
  }
15
15
  if (options._setup) {
16
- options.props = propsFactory(options.props ?? {}, toKebabCase(options.name))();
16
+ options.props = propsFactory(options.props ?? {}, options.name)();
17
17
  const propKeys = Object.keys(options.props);
18
18
  options.filterProps = function filterProps(props) {
19
19
  return pick(props, propKeys, ['class', 'style']);