@vuetify/nightly 3.0.0-beta.0 → 3.0.0-beta.10

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 (898) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/_settings.scss +2 -0
  3. package/_styles.scss +1 -0
  4. package/_tools.scss +1 -0
  5. package/dist/_component-variables.sass +61 -0
  6. package/dist/json/attributes.json +860 -496
  7. package/dist/json/importMap.json +170 -194
  8. package/dist/json/tags.json +211 -139
  9. package/dist/json/web-types.json +2560 -1485
  10. package/dist/vuetify.css +3961 -4505
  11. package/dist/vuetify.d.ts +10313 -10018
  12. package/dist/vuetify.esm.js +10729 -9050
  13. package/dist/vuetify.esm.js.map +1 -1
  14. package/dist/vuetify.js +10728 -9048
  15. package/dist/vuetify.js.map +1 -1
  16. package/dist/vuetify.min.css +3 -3
  17. package/dist/vuetify.min.js +1368 -1253
  18. package/dist/vuetify.min.js.map +1 -1
  19. package/lib/blueprints/index.mjs +4 -0
  20. package/lib/blueprints/index.mjs.map +1 -0
  21. package/lib/blueprints/md1.mjs +63 -0
  22. package/lib/blueprints/md1.mjs.map +1 -0
  23. package/lib/blueprints/md2.mjs +60 -0
  24. package/lib/blueprints/md2.mjs.map +1 -0
  25. package/lib/blueprints/md3.mjs +74 -0
  26. package/lib/blueprints/md3.mjs.map +1 -0
  27. package/lib/components/VAlert/VAlert.css +36 -19
  28. package/lib/components/VAlert/VAlert.mjs +69 -40
  29. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  30. package/lib/components/VAlert/VAlert.sass +26 -11
  31. package/lib/components/VAlert/VAlertTitle.mjs +1 -0
  32. package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
  33. package/lib/components/VAlert/_variables.scss +14 -7
  34. package/lib/components/VAlert/index.mjs.map +1 -1
  35. package/lib/components/VApp/VApp.css +2 -15
  36. package/lib/components/VApp/VApp.mjs +3 -4
  37. package/lib/components/VApp/VApp.mjs.map +1 -1
  38. package/lib/components/VApp/VApp.sass +11 -20
  39. package/lib/components/VApp/index.mjs.map +1 -1
  40. package/lib/components/VApp/variables.scss +6 -0
  41. package/lib/components/VAppBar/VAppBar.css +1 -1
  42. package/lib/components/VAppBar/VAppBar.mjs +15 -10
  43. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  44. package/lib/components/VAppBar/VAppBar.sass +0 -1
  45. package/lib/components/VAppBar/VAppBarNavIcon.mjs +11 -14
  46. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  47. package/lib/components/VAppBar/VAppBarTitle.mjs +7 -4
  48. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  49. package/lib/components/VAppBar/_variables.scss +2 -0
  50. package/lib/components/VAppBar/index.mjs.map +1 -1
  51. package/lib/components/VAutocomplete/VAutocomplete.css +11 -1
  52. package/lib/components/VAutocomplete/VAutocomplete.mjs +142 -105
  53. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  54. package/lib/components/VAutocomplete/VAutocomplete.sass +10 -2
  55. package/lib/components/VAutocomplete/_variables.scss +1 -0
  56. package/lib/components/VAutocomplete/index.mjs.map +1 -1
  57. package/lib/components/VAvatar/VAvatar.css +4 -1
  58. package/lib/components/VAvatar/VAvatar.mjs +17 -15
  59. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  60. package/lib/components/VAvatar/VAvatar.sass +5 -2
  61. package/lib/components/VAvatar/_mixins.scss +0 -1
  62. package/lib/components/VAvatar/index.mjs.map +1 -1
  63. package/lib/components/VBadge/VBadge.css +3 -6
  64. package/lib/components/VBadge/VBadge.mjs +20 -49
  65. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  66. package/lib/components/VBadge/VBadge.sass +2 -5
  67. package/lib/components/VBadge/_variables.scss +3 -4
  68. package/lib/components/VBadge/index.mjs.map +1 -1
  69. package/lib/components/VBanner/VBanner.css +81 -57
  70. package/lib/components/VBanner/VBanner.mjs +45 -37
  71. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  72. package/lib/components/VBanner/VBanner.sass +60 -55
  73. package/lib/components/VBanner/VBannerActions.mjs +34 -2
  74. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  75. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  76. package/lib/components/VBanner/_variables.scss +10 -14
  77. package/lib/components/VBanner/index.mjs.map +1 -1
  78. package/lib/components/VBottomNavigation/VBottomNavigation.css +6 -13
  79. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +5 -4
  80. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  81. package/lib/components/VBottomNavigation/VBottomNavigation.sass +6 -14
  82. package/lib/components/VBottomNavigation/_variables.scss +7 -8
  83. package/lib/components/VBottomNavigation/index.mjs.map +1 -1
  84. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  85. package/lib/components/VBottomSheet/index.mjs.map +1 -1
  86. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +13 -6
  87. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +35 -21
  88. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  89. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +8 -4
  90. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  91. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +15 -17
  92. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  93. package/lib/components/VBreadcrumbs/_variables.scss +2 -1
  94. package/lib/components/VBreadcrumbs/index.mjs.map +1 -1
  95. package/lib/components/VBtn/VBtn.css +136 -28
  96. package/lib/components/VBtn/VBtn.mjs +98 -33
  97. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  98. package/lib/components/VBtn/VBtn.sass +119 -16
  99. package/lib/components/VBtn/_variables.scss +10 -1
  100. package/lib/components/VBtn/index.mjs.map +1 -1
  101. package/lib/components/VBtnGroup/VBtnGroup.css +16 -7
  102. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  103. package/lib/components/VBtnGroup/VBtnGroup.sass +14 -7
  104. package/lib/components/VBtnGroup/_variables.scss +2 -0
  105. package/lib/components/VBtnGroup/index.mjs.map +1 -1
  106. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  107. package/lib/components/VBtnToggle/VBtnToggle.sass +0 -1
  108. package/lib/components/VBtnToggle/_variables.scss +1 -0
  109. package/lib/components/VBtnToggle/index.mjs.map +1 -1
  110. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  111. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  112. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  113. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  114. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  115. package/lib/components/VCalendar/index.mjs.map +1 -1
  116. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  117. package/lib/components/VCalendar/mixins/calendar-with-events.mjs +2 -6
  118. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  119. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  120. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  121. package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
  122. package/lib/components/VCalendar/modes/column.mjs.map +1 -1
  123. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  124. package/lib/components/VCalendar/modes/index.mjs.map +1 -1
  125. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  126. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  127. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  128. package/lib/components/VCalendar/util/props.mjs.map +1 -1
  129. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  130. package/lib/components/VCard/VCard.css +103 -84
  131. package/lib/components/VCard/VCard.mjs +72 -73
  132. package/lib/components/VCard/VCard.mjs.map +1 -1
  133. package/lib/components/VCard/VCard.sass +76 -61
  134. package/lib/components/VCard/VCardActions.mjs +2 -3
  135. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  136. package/lib/components/VCard/VCardItem.mjs +88 -0
  137. package/lib/components/VCard/VCardItem.mjs.map +1 -0
  138. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  139. package/lib/components/VCard/VCardText.mjs.map +1 -1
  140. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  141. package/lib/components/VCard/_variables.scss +45 -23
  142. package/lib/components/VCard/index.mjs +1 -4
  143. package/lib/components/VCard/index.mjs.map +1 -1
  144. package/lib/components/VCarousel/VCarousel.mjs +6 -4
  145. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  146. package/lib/components/VCarousel/VCarousel.sass +0 -1
  147. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  148. package/lib/components/VCarousel/_variables.scss +1 -0
  149. package/lib/components/VCarousel/index.mjs.map +1 -1
  150. package/lib/components/VCheckbox/VCheckbox.mjs +15 -47
  151. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  152. package/lib/components/VCheckbox/VCheckbox.sass +0 -1
  153. package/lib/components/VCheckbox/VCheckboxBtn.mjs +67 -0
  154. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -0
  155. package/lib/components/VCheckbox/index.mjs +1 -0
  156. package/lib/components/VCheckbox/index.mjs.map +1 -1
  157. package/lib/components/VChip/VChip.css +147 -68
  158. package/lib/components/VChip/VChip.mjs +83 -43
  159. package/lib/components/VChip/VChip.mjs.map +1 -1
  160. package/lib/components/VChip/VChip.sass +9 -1
  161. package/lib/components/VChip/_mixins.scss +26 -6
  162. package/lib/components/VChip/_variables.scss +4 -5
  163. package/lib/components/VChip/index.mjs.map +1 -1
  164. package/lib/components/VChipGroup/VChipGroup.mjs +5 -4
  165. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  166. package/lib/components/VChipGroup/VChipGroup.sass +1 -1
  167. package/lib/components/VChipGroup/_variables.scss +1 -1
  168. package/lib/components/VChipGroup/index.mjs.map +1 -1
  169. package/lib/components/VCode/VCode.sass +1 -2
  170. package/lib/components/VCode/_variables.scss +1 -1
  171. package/lib/components/VCode/index.mjs.map +1 -1
  172. package/lib/components/VColorPicker/VColorPicker.css +3 -3
  173. package/lib/components/VColorPicker/VColorPicker.mjs +55 -53
  174. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  175. package/lib/components/VColorPicker/VColorPicker.sass +0 -1
  176. package/lib/components/VColorPicker/VColorPickerCanvas.css +1 -1
  177. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +10 -9
  178. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  179. package/lib/components/VColorPicker/VColorPickerCanvas.sass +0 -1
  180. package/lib/components/VColorPicker/VColorPickerEdit.mjs +4 -3
  181. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  182. package/lib/components/VColorPicker/VColorPickerEdit.sass +0 -1
  183. package/lib/components/VColorPicker/VColorPickerPreview.mjs +14 -21
  184. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  185. package/lib/components/VColorPicker/VColorPickerPreview.sass +0 -1
  186. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +6 -5
  187. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  188. package/lib/components/VColorPicker/VColorPickerSwatches.sass +0 -1
  189. package/lib/components/VColorPicker/_variables.scss +17 -10
  190. package/lib/components/VColorPicker/index.mjs.map +1 -1
  191. package/lib/components/VColorPicker/util/index.mjs +1 -3
  192. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  193. package/lib/components/VCombobox/VCombobox.css +11 -1
  194. package/lib/components/VCombobox/VCombobox.mjs +145 -116
  195. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  196. package/lib/components/VCombobox/VCombobox.sass +10 -2
  197. package/lib/components/VCombobox/_variables.scss +1 -0
  198. package/lib/components/VCombobox/index.mjs.map +1 -1
  199. package/lib/components/VCounter/VCounter.mjs +16 -16
  200. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  201. package/lib/components/VCounter/VCounter.sass +1 -2
  202. package/lib/components/VCounter/_variables.scss +2 -1
  203. package/lib/components/VCounter/index.mjs.map +1 -1
  204. package/lib/components/VData/VData.mjs.map +1 -1
  205. package/lib/components/VData/index.mjs.map +1 -1
  206. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  207. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  208. package/lib/components/VDataIterator/index.mjs.map +1 -1
  209. package/lib/components/VDataTable/MobileRow.mjs.map +1 -1
  210. package/lib/components/VDataTable/Row.mjs.map +1 -1
  211. package/lib/components/VDataTable/RowGroup.mjs.map +1 -1
  212. package/lib/components/VDataTable/VDataTable.mjs +11 -15
  213. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  214. package/lib/components/VDataTable/VDataTableHeader.mjs.map +1 -1
  215. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs.map +1 -1
  216. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs.map +1 -1
  217. package/lib/components/VDataTable/VEditDialog.mjs.map +1 -1
  218. package/lib/components/VDataTable/VVirtualTable.mjs.map +1 -1
  219. package/lib/components/VDataTable/index.mjs.map +1 -1
  220. package/lib/components/VDataTable/mixins/header.mjs +1 -3
  221. package/lib/components/VDataTable/mixins/header.mjs.map +1 -1
  222. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  223. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  224. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  225. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  226. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  227. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  228. package/lib/components/VDatePicker/index.mjs.map +1 -1
  229. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  230. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  231. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  232. package/lib/components/VDatePicker/util/index.mjs.map +1 -1
  233. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  234. package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
  235. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  236. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
  237. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  238. package/lib/components/VDefaultsProvider/index.mjs.map +1 -1
  239. package/lib/components/VDialog/VDialog.css +34 -17
  240. package/lib/components/VDialog/VDialog.mjs +34 -31
  241. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  242. package/lib/components/VDialog/VDialog.sass +28 -15
  243. package/lib/components/VDialog/_variables.scss +3 -8
  244. package/lib/components/VDialog/index.mjs.map +1 -1
  245. package/lib/components/VDivider/VDivider.mjs +16 -17
  246. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  247. package/lib/components/VDivider/VDivider.sass +0 -1
  248. package/lib/components/VDivider/_variables.scss +3 -1
  249. package/lib/components/VDivider/index.mjs.map +1 -1
  250. package/lib/components/VExpansionPanel/VExpansionPanel.css +10 -7
  251. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +15 -6
  252. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  253. package/lib/components/VExpansionPanel/VExpansionPanel.sass +1 -1
  254. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  255. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +14 -11
  256. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  257. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -0
  258. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  259. package/lib/components/VExpansionPanel/_variables.scss +15 -10
  260. package/lib/components/VExpansionPanel/index.mjs.map +1 -1
  261. package/lib/components/VField/VField.css +54 -35
  262. package/lib/components/VField/VField.mjs +52 -36
  263. package/lib/components/VField/VField.mjs.map +1 -1
  264. package/lib/components/VField/VField.sass +39 -27
  265. package/lib/components/VField/VFieldLabel.mjs +8 -9
  266. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  267. package/lib/components/VField/_variables.scss +6 -5
  268. package/lib/components/VField/index.mjs.map +1 -1
  269. package/lib/components/VFileInput/VFileInput.css +3 -3
  270. package/lib/components/VFileInput/VFileInput.mjs +45 -44
  271. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  272. package/lib/components/VFileInput/VFileInput.sass +3 -4
  273. package/lib/components/VFileInput/index.mjs.map +1 -1
  274. package/lib/components/VFooter/VFooter.css +1 -1
  275. package/lib/components/VFooter/VFooter.mjs +36 -18
  276. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  277. package/lib/components/VFooter/VFooter.sass +0 -1
  278. package/lib/components/VFooter/_variables.scss +2 -1
  279. package/lib/components/VFooter/index.mjs.map +1 -1
  280. package/lib/components/VForm/VForm.mjs +27 -13
  281. package/lib/components/VForm/VForm.mjs.map +1 -1
  282. package/lib/components/VForm/index.mjs.map +1 -1
  283. package/lib/components/VGrid/VCol.mjs +2 -1
  284. package/lib/components/VGrid/VCol.mjs.map +1 -1
  285. package/lib/components/VGrid/VContainer.mjs +4 -3
  286. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  287. package/lib/components/VGrid/VRow.mjs +8 -3
  288. package/lib/components/VGrid/VRow.mjs.map +1 -1
  289. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  290. package/lib/components/VGrid/index.mjs.map +1 -1
  291. package/lib/components/VHover/VHover.mjs.map +1 -1
  292. package/lib/components/VHover/index.mjs.map +1 -1
  293. package/lib/components/VIcon/VIcon.css +13 -16
  294. package/lib/components/VIcon/VIcon.mjs +34 -33
  295. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  296. package/lib/components/VIcon/VIcon.sass +8 -16
  297. package/lib/components/VIcon/_variables.scss +2 -5
  298. package/lib/components/VIcon/index.mjs.map +1 -1
  299. package/lib/components/VImg/VImg.mjs +1 -0
  300. package/lib/components/VImg/VImg.mjs.map +1 -1
  301. package/lib/components/VImg/VImg.sass +0 -1
  302. package/lib/components/VImg/index.mjs.map +1 -1
  303. package/lib/components/VInput/InputIcon.mjs +33 -0
  304. package/lib/components/VInput/InputIcon.mjs.map +1 -0
  305. package/lib/components/VInput/VInput.css +5 -2
  306. package/lib/components/VInput/VInput.mjs +26 -18
  307. package/lib/components/VInput/VInput.mjs.map +1 -1
  308. package/lib/components/VInput/VInput.sass +5 -3
  309. package/lib/components/VInput/_variables.scss +4 -1
  310. package/lib/components/VInput/index.mjs.map +1 -1
  311. package/lib/components/VItemGroup/VItem.mjs +3 -0
  312. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  313. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  314. package/lib/components/VItemGroup/VItemGroup.sass +0 -1
  315. package/lib/components/VItemGroup/index.mjs.map +1 -1
  316. package/lib/components/VKbd/VKbd.css +1 -1
  317. package/lib/components/VKbd/VKbd.sass +0 -1
  318. package/lib/components/VKbd/_variables.scss +1 -1
  319. package/lib/components/VKbd/index.mjs.map +1 -1
  320. package/lib/components/VLabel/VLabel.mjs +4 -3
  321. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  322. package/lib/components/VLabel/VLabel.sass +0 -1
  323. package/lib/components/VLabel/_variables.scss +1 -0
  324. package/lib/components/VLabel/index.mjs.map +1 -1
  325. package/lib/components/VLayout/VLayout.css +0 -2
  326. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  327. package/lib/components/VLayout/VLayout.sass +0 -2
  328. package/lib/components/VLayout/VLayoutItem.mjs +1 -1
  329. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  330. package/lib/components/VLayout/index.mjs.map +1 -1
  331. package/lib/components/VLazy/VLazy.mjs +5 -3
  332. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  333. package/lib/components/VLazy/index.mjs.map +1 -1
  334. package/lib/components/VList/VList.css +14 -16
  335. package/lib/components/VList/VList.mjs +92 -59
  336. package/lib/components/VList/VList.mjs.map +1 -1
  337. package/lib/components/VList/VList.sass +9 -6
  338. package/lib/components/VList/VListChildren.mjs +69 -13
  339. package/lib/components/VList/VListChildren.mjs.map +1 -1
  340. package/lib/components/VList/VListGroup.mjs +52 -19
  341. package/lib/components/VList/VListGroup.mjs.map +1 -1
  342. package/lib/components/VList/VListImg.mjs.map +1 -1
  343. package/lib/components/VList/VListItem.css +176 -73
  344. package/lib/components/VList/VListItem.mjs +123 -81
  345. package/lib/components/VList/VListItem.mjs.map +1 -1
  346. package/lib/components/VList/VListItem.sass +125 -49
  347. package/lib/components/VList/VListItemAction.mjs +28 -0
  348. package/lib/components/VList/VListItemAction.mjs.map +1 -0
  349. package/lib/components/VList/VListItemMedia.mjs +8 -7
  350. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  351. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  352. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  353. package/lib/components/VList/VListSubheader.mjs +8 -7
  354. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  355. package/lib/components/VList/_variables.scss +24 -9
  356. package/lib/components/VList/index.mjs +3 -4
  357. package/lib/components/VList/index.mjs.map +1 -1
  358. package/lib/components/VList/list.mjs.map +1 -1
  359. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -3
  360. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  361. package/lib/components/VLocaleProvider/index.mjs.map +1 -1
  362. package/lib/components/VMain/VMain.css +20 -9
  363. package/lib/components/VMain/VMain.mjs +17 -11
  364. package/lib/components/VMain/VMain.mjs.map +1 -1
  365. package/lib/components/VMain/VMain.sass +17 -11
  366. package/lib/components/VMain/_variables.scss +1 -1
  367. package/lib/components/VMain/index.mjs.map +1 -1
  368. package/lib/components/VMenu/VMenu.css +3 -13
  369. package/lib/components/VMenu/VMenu.mjs +68 -34
  370. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  371. package/lib/components/VMenu/VMenu.sass +3 -7
  372. package/lib/components/VMenu/_variables.scss +0 -1
  373. package/lib/components/VMenu/index.mjs.map +1 -1
  374. package/lib/components/VMenu/shared.mjs +2 -0
  375. package/lib/components/VMenu/shared.mjs.map +1 -0
  376. package/lib/components/VMessages/VMessages.mjs +5 -3
  377. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  378. package/lib/components/VMessages/VMessages.sass +0 -1
  379. package/lib/components/VMessages/_variables.scss +1 -1
  380. package/lib/components/VMessages/index.mjs.map +1 -1
  381. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +14 -19
  382. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +60 -21
  383. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  384. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +16 -22
  385. package/lib/components/VNavigationDrawer/_variables.scss +4 -2
  386. package/lib/components/VNavigationDrawer/index.mjs.map +1 -1
  387. package/lib/components/VNavigationDrawer/sticky.mjs +70 -0
  388. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -0
  389. package/lib/components/VNavigationDrawer/touch.mjs +5 -2
  390. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  391. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  392. package/lib/components/VNoSsr/index.mjs.map +1 -1
  393. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  394. package/lib/components/VOtpInput/index.mjs.map +1 -1
  395. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  396. package/lib/components/VOverflowBtn/index.mjs.map +1 -1
  397. package/lib/components/VOverlay/VOverlay.css +7 -0
  398. package/lib/components/VOverlay/VOverlay.mjs +70 -43
  399. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  400. package/lib/components/VOverlay/VOverlay.sass +8 -1
  401. package/lib/components/VOverlay/_variables.scss +1 -1
  402. package/lib/components/VOverlay/index.mjs.map +1 -1
  403. package/lib/components/VOverlay/locationStrategies.mjs +404 -0
  404. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -0
  405. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  406. package/lib/components/VOverlay/scrollStrategies.mjs +19 -13
  407. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  408. package/lib/components/VOverlay/useActivator.mjs +60 -17
  409. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  410. package/lib/components/VOverlay/util/point.mjs +3 -3
  411. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  412. package/lib/components/VPagination/VPagination.mjs +60 -44
  413. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  414. package/lib/components/VPagination/VPagination.sass +0 -1
  415. package/lib/components/VPagination/index.mjs.map +1 -1
  416. package/lib/components/VParallax/VParallax.mjs +8 -8
  417. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  418. package/lib/components/VParallax/index.mjs.map +1 -1
  419. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  420. package/lib/components/VPicker/index.mjs.map +1 -1
  421. package/lib/components/VProgressCircular/VProgressCircular.mjs +6 -5
  422. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  423. package/lib/components/VProgressCircular/VProgressCircular.sass +0 -1
  424. package/lib/components/VProgressCircular/_variables.scss +2 -0
  425. package/lib/components/VProgressCircular/index.mjs.map +1 -1
  426. package/lib/components/VProgressLinear/VProgressLinear.css +1 -1
  427. package/lib/components/VProgressLinear/VProgressLinear.mjs +5 -3
  428. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  429. package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
  430. package/lib/components/VProgressLinear/_variables.scss +1 -0
  431. package/lib/components/VProgressLinear/index.mjs.map +1 -1
  432. package/lib/components/VRadio/VRadio.mjs +9 -17
  433. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  434. package/lib/components/VRadio/index.mjs.map +1 -1
  435. package/lib/components/VRadioGroup/VRadioGroup.mjs +30 -8
  436. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  437. package/lib/components/VRadioGroup/VRadioGroup.sass +5 -3
  438. package/lib/components/VRadioGroup/_variables.scss +3 -4
  439. package/lib/components/VRadioGroup/index.mjs.map +1 -1
  440. package/lib/components/VRangeSlider/VRangeSlider.mjs +16 -14
  441. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  442. package/lib/components/VRangeSlider/index.mjs.map +1 -1
  443. package/lib/components/VRating/VRating.css +2 -2
  444. package/lib/components/VRating/VRating.mjs +24 -18
  445. package/lib/components/VRating/VRating.mjs.map +1 -1
  446. package/lib/components/VRating/VRating.sass +4 -3
  447. package/lib/components/VRating/index.mjs.map +1 -1
  448. package/lib/components/VResponsive/VResponsive.mjs +7 -6
  449. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  450. package/lib/components/VResponsive/index.mjs.map +1 -1
  451. package/lib/components/VSelect/VSelect.css +18 -2
  452. package/lib/components/VSelect/VSelect.mjs +145 -112
  453. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  454. package/lib/components/VSelect/VSelect.sass +20 -3
  455. package/lib/components/VSelect/_variables.scss +1 -0
  456. package/lib/components/VSelect/index.mjs.map +1 -1
  457. package/lib/components/VSelectionControl/VSelectionControl.css +1 -0
  458. package/lib/components/VSelectionControl/VSelectionControl.mjs +31 -24
  459. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  460. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
  461. package/lib/components/VSelectionControl/_variables.scss +1 -0
  462. package/lib/components/VSelectionControl/index.mjs.map +1 -1
  463. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +7 -6
  464. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  465. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +1 -6
  466. package/lib/components/VSelectionControlGroup/_variables.scss +1 -4
  467. package/lib/components/VSelectionControlGroup/index.mjs.map +1 -1
  468. package/lib/components/VSheet/VSheet.css +1 -1
  469. package/lib/components/VSheet/VSheet.mjs +10 -6
  470. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  471. package/lib/components/VSheet/VSheet.sass +0 -1
  472. package/lib/components/VSheet/_variables.scss +3 -2
  473. package/lib/components/VSheet/index.mjs.map +1 -1
  474. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  475. package/lib/components/VSkeletonLoader/index.mjs.map +1 -1
  476. package/lib/components/VSlideGroup/VSlideGroup.css +0 -5
  477. package/lib/components/VSlideGroup/VSlideGroup.mjs +105 -74
  478. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  479. package/lib/components/VSlideGroup/VSlideGroup.sass +0 -5
  480. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +10 -4
  481. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  482. package/lib/components/VSlideGroup/_variables.scss +0 -5
  483. package/lib/components/VSlideGroup/helpers.mjs +4 -15
  484. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  485. package/lib/components/VSlideGroup/index.mjs +2 -2
  486. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  487. package/lib/components/VSlider/VSlider.css +7 -2
  488. package/lib/components/VSlider/VSlider.mjs +7 -9
  489. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  490. package/lib/components/VSlider/VSlider.sass +11 -7
  491. package/lib/components/VSlider/VSliderThumb.css +10 -6
  492. package/lib/components/VSlider/VSliderThumb.mjs +9 -8
  493. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  494. package/lib/components/VSlider/VSliderThumb.sass +11 -10
  495. package/lib/components/VSlider/VSliderTrack.css +6 -6
  496. package/lib/components/VSlider/VSliderTrack.mjs +17 -15
  497. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  498. package/lib/components/VSlider/VSliderTrack.sass +7 -9
  499. package/lib/components/VSlider/_variables.scss +5 -2
  500. package/lib/components/VSlider/index.mjs.map +1 -1
  501. package/lib/components/VSlider/slider.mjs +13 -23
  502. package/lib/components/VSlider/slider.mjs.map +1 -1
  503. package/lib/components/VSnackbar/VSnackbar.css +22 -40
  504. package/lib/components/VSnackbar/VSnackbar.mjs +67 -48
  505. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  506. package/lib/components/VSnackbar/VSnackbar.sass +15 -35
  507. package/lib/components/VSnackbar/_variables.scss +3 -7
  508. package/lib/components/VSnackbar/index.mjs.map +1 -1
  509. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  510. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  511. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  512. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  513. package/lib/components/VSparkline/index.mjs.map +1 -1
  514. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  515. package/lib/components/VSpeedDial/index.mjs.map +1 -1
  516. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  517. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  518. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  519. package/lib/components/VStepper/index.mjs.map +1 -1
  520. package/lib/components/VSwitch/VSwitch.css +9 -2
  521. package/lib/components/VSwitch/VSwitch.mjs +15 -6
  522. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  523. package/lib/components/VSwitch/VSwitch.sass +6 -1
  524. package/lib/components/VSwitch/_variables.scss +1 -0
  525. package/lib/components/VSwitch/index.mjs.map +1 -1
  526. package/lib/components/VSystemBar/VSystemBar.css +1 -6
  527. package/lib/components/VSystemBar/VSystemBar.mjs +22 -17
  528. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  529. package/lib/components/VSystemBar/VSystemBar.sass +0 -6
  530. package/lib/components/VSystemBar/_variables.scss +2 -4
  531. package/lib/components/VSystemBar/index.mjs.map +1 -1
  532. package/lib/components/VTable/VTable.css +1 -0
  533. package/lib/components/VTable/VTable.mjs +9 -8
  534. package/lib/components/VTable/VTable.mjs.map +1 -1
  535. package/lib/components/VTable/VTable.sass +1 -1
  536. package/lib/components/VTable/_variables.scss +2 -0
  537. package/lib/components/VTable/index.mjs.map +1 -1
  538. package/lib/components/VTabs/VTab.css +6 -3
  539. package/lib/components/VTabs/VTab.mjs +33 -36
  540. package/lib/components/VTabs/VTab.mjs.map +1 -1
  541. package/lib/components/VTabs/VTab.sass +7 -4
  542. package/lib/components/VTabs/VTabs.css +16 -13
  543. package/lib/components/VTabs/VTabs.mjs +17 -15
  544. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  545. package/lib/components/VTabs/VTabs.sass +11 -8
  546. package/lib/components/VTabs/_variables.scss +2 -0
  547. package/lib/components/VTabs/index.mjs.map +1 -1
  548. package/lib/components/VTabs/shared.mjs +2 -0
  549. package/lib/components/VTabs/shared.mjs.map +1 -0
  550. package/lib/components/VTextField/VTextField.css +6 -5
  551. package/lib/components/VTextField/VTextField.mjs +42 -37
  552. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  553. package/lib/components/VTextField/VTextField.sass +7 -7
  554. package/lib/components/VTextField/_variables.scss +1 -1
  555. package/lib/components/VTextField/index.mjs.map +1 -1
  556. package/lib/components/VTextarea/VTextarea.css +12 -5
  557. package/lib/components/VTextarea/VTextarea.mjs +45 -25
  558. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  559. package/lib/components/VTextarea/VTextarea.sass +17 -8
  560. package/lib/components/VTextarea/_variables.scss +1 -1
  561. package/lib/components/VTextarea/index.mjs.map +1 -1
  562. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  563. package/lib/components/VThemeProvider/index.mjs.map +1 -1
  564. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  565. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  566. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  567. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  568. package/lib/components/VTimePicker/index.mjs.map +1 -1
  569. package/lib/components/VTimeline/VTimeline.css +220 -49
  570. package/lib/components/VTimeline/VTimeline.mjs +47 -32
  571. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  572. package/lib/components/VTimeline/VTimeline.sass +235 -55
  573. package/lib/components/VTimeline/VTimelineDivider.mjs +45 -37
  574. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  575. package/lib/components/VTimeline/VTimelineItem.mjs +17 -15
  576. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  577. package/lib/components/VTimeline/_mixins.sass +10 -0
  578. package/lib/components/VTimeline/_variables.scss +12 -6
  579. package/lib/components/VTimeline/index.mjs.map +1 -1
  580. package/lib/components/VToolbar/VToolbar.css +25 -33
  581. package/lib/components/VToolbar/VToolbar.mjs +32 -31
  582. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  583. package/lib/components/VToolbar/VToolbar.sass +18 -19
  584. package/lib/components/VToolbar/VToolbarItems.mjs +12 -9
  585. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  586. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  587. package/lib/components/VToolbar/_variables.scss +20 -8
  588. package/lib/components/VToolbar/index.mjs.map +1 -1
  589. package/lib/components/VTooltip/VTooltip.mjs +48 -41
  590. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  591. package/lib/components/VTooltip/VTooltip.sass +0 -1
  592. package/lib/components/VTooltip/_variables.scss +1 -0
  593. package/lib/components/VTooltip/index.mjs.map +1 -1
  594. package/lib/components/VTreeview/VTreeview.mjs +1 -3
  595. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  596. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  597. package/lib/components/VTreeview/index.mjs.map +1 -1
  598. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  599. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  600. package/lib/components/VValidation/index.mjs.map +1 -1
  601. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  602. package/lib/components/VVirtualScroll/index.mjs.map +1 -1
  603. package/lib/components/VWindow/VWindow.mjs +7 -21
  604. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  605. package/lib/components/VWindow/VWindow.sass +0 -2
  606. package/lib/components/VWindow/VWindowItem.mjs +21 -11
  607. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  608. package/lib/components/VWindow/_variables.scss +1 -0
  609. package/lib/components/VWindow/index.mjs.map +1 -1
  610. package/lib/components/index.d.ts +9808 -9503
  611. package/lib/components/index.mjs.map +1 -1
  612. package/lib/components/transitions/createTransition.mjs.map +1 -1
  613. package/lib/components/transitions/dialog-transition.mjs +66 -10
  614. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  615. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  616. package/lib/components/transitions/index.mjs +0 -5
  617. package/lib/components/transitions/index.mjs.map +1 -1
  618. package/lib/composables/border.mjs +5 -6
  619. package/lib/composables/border.mjs.map +1 -1
  620. package/lib/composables/color.mjs +19 -26
  621. package/lib/composables/color.mjs.map +1 -1
  622. package/lib/composables/defaults.mjs +2 -2
  623. package/lib/composables/defaults.mjs.map +1 -1
  624. package/lib/composables/delay.mjs +1 -3
  625. package/lib/composables/delay.mjs.map +1 -1
  626. package/lib/composables/density.mjs.map +1 -1
  627. package/lib/composables/dimensions.mjs.map +1 -1
  628. package/lib/composables/display.mjs +13 -11
  629. package/lib/composables/display.mjs.map +1 -1
  630. package/lib/composables/elevation.mjs.map +1 -1
  631. package/lib/composables/filter.mjs +35 -17
  632. package/lib/composables/filter.mjs.map +1 -1
  633. package/lib/composables/focus.mjs.map +1 -1
  634. package/lib/composables/form.mjs +44 -11
  635. package/lib/composables/form.mjs.map +1 -1
  636. package/lib/composables/forwardRefs.mjs +72 -0
  637. package/lib/composables/forwardRefs.mjs.map +1 -0
  638. package/lib/composables/group.mjs +16 -12
  639. package/lib/composables/group.mjs.map +1 -1
  640. package/lib/composables/hydration.mjs.map +1 -1
  641. package/lib/composables/icons.mjs +16 -4
  642. package/lib/composables/icons.mjs.map +1 -1
  643. package/lib/composables/index.mjs +3 -2
  644. package/lib/composables/index.mjs.map +1 -1
  645. package/lib/composables/intersectionObserver.mjs.map +1 -1
  646. package/lib/composables/items.mjs +84 -0
  647. package/lib/composables/items.mjs.map +1 -0
  648. package/lib/composables/layout.mjs +24 -24
  649. package/lib/composables/layout.mjs.map +1 -1
  650. package/lib/composables/lazy.mjs.map +1 -1
  651. package/lib/composables/loader.mjs.map +1 -1
  652. package/lib/composables/locale.mjs +17 -28
  653. package/lib/composables/locale.mjs.map +1 -1
  654. package/lib/composables/location.mjs +66 -0
  655. package/lib/composables/location.mjs.map +1 -0
  656. package/lib/composables/mutationObserver.mjs +4 -6
  657. package/lib/composables/mutationObserver.mjs.map +1 -1
  658. package/lib/composables/nested/nested.mjs +34 -22
  659. package/lib/composables/nested/nested.mjs.map +1 -1
  660. package/lib/composables/nested/openStrategies.mjs +63 -36
  661. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  662. package/lib/composables/nested/selectStrategies.mjs +163 -122
  663. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  664. package/lib/composables/position.mjs +4 -25
  665. package/lib/composables/position.mjs.map +1 -1
  666. package/lib/composables/proxiedModel.mjs +2 -1
  667. package/lib/composables/proxiedModel.mjs.map +1 -1
  668. package/lib/composables/refs.mjs.map +1 -1
  669. package/lib/composables/resizeObserver.mjs +1 -9
  670. package/lib/composables/resizeObserver.mjs.map +1 -1
  671. package/lib/composables/rounded.mjs.map +1 -1
  672. package/lib/composables/router.mjs +29 -15
  673. package/lib/composables/router.mjs.map +1 -1
  674. package/lib/composables/rtl.mjs +2 -4
  675. package/lib/composables/rtl.mjs.map +1 -1
  676. package/lib/composables/scopeId.mjs +11 -0
  677. package/lib/composables/scopeId.mjs.map +1 -0
  678. package/lib/composables/scroll.mjs +1 -3
  679. package/lib/composables/scroll.mjs.map +1 -1
  680. package/lib/composables/selectLink.mjs +19 -0
  681. package/lib/composables/selectLink.mjs.map +1 -0
  682. package/lib/composables/size.mjs +18 -14
  683. package/lib/composables/size.mjs.map +1 -1
  684. package/lib/composables/ssrBoot.mjs +3 -2
  685. package/lib/composables/ssrBoot.mjs.map +1 -1
  686. package/lib/composables/stack.mjs +37 -23
  687. package/lib/composables/stack.mjs.map +1 -1
  688. package/lib/composables/tag.mjs.map +1 -1
  689. package/lib/composables/teleport.mjs.map +1 -1
  690. package/lib/composables/theme.mjs +108 -101
  691. package/lib/composables/theme.mjs.map +1 -1
  692. package/lib/composables/toggleScope.mjs +18 -0
  693. package/lib/composables/toggleScope.mjs.map +1 -0
  694. package/lib/composables/touch.mjs +1 -3
  695. package/lib/composables/touch.mjs.map +1 -1
  696. package/lib/composables/transition.mjs.map +1 -1
  697. package/lib/composables/validation.mjs +24 -10
  698. package/lib/composables/validation.mjs.map +1 -1
  699. package/lib/composables/variant.mjs +7 -8
  700. package/lib/composables/variant.mjs.map +1 -1
  701. package/lib/directives/click-outside/index.mjs.map +1 -1
  702. package/lib/directives/color/index.mjs.map +1 -1
  703. package/lib/directives/index.mjs.map +1 -1
  704. package/lib/directives/intersect/index.mjs.map +1 -1
  705. package/lib/directives/mutate/index.mjs +4 -6
  706. package/lib/directives/mutate/index.mjs.map +1 -1
  707. package/lib/directives/resize/index.mjs.map +1 -1
  708. package/lib/directives/ripple/VRipple.sass +0 -1
  709. package/lib/directives/ripple/index.mjs +16 -6
  710. package/lib/directives/ripple/index.mjs.map +1 -1
  711. package/lib/directives/scroll/index.mjs +1 -3
  712. package/lib/directives/scroll/index.mjs.map +1 -1
  713. package/lib/directives/touch/index.mjs +3 -3
  714. package/lib/directives/touch/index.mjs.map +1 -1
  715. package/lib/entry-bundler.mjs +2 -1
  716. package/lib/entry-bundler.mjs.map +1 -1
  717. package/lib/framework.mjs +49 -32
  718. package/lib/framework.mjs.map +1 -1
  719. package/lib/iconsets/fa-svg.d.ts +2 -1
  720. package/lib/iconsets/fa-svg.mjs.map +1 -1
  721. package/lib/iconsets/fa.d.ts +2 -1
  722. package/lib/iconsets/fa.mjs.map +1 -1
  723. package/lib/iconsets/fa4.d.ts +2 -1
  724. package/lib/iconsets/fa4.mjs.map +1 -1
  725. package/lib/iconsets/md.d.ts +2 -1
  726. package/lib/iconsets/md.mjs.map +1 -1
  727. package/lib/iconsets/mdi-svg.d.ts +2 -1
  728. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  729. package/lib/iconsets/mdi.d.ts +2 -1
  730. package/lib/iconsets/mdi.mjs.map +1 -1
  731. package/lib/index.d.ts +155 -136
  732. package/lib/locale/adapters/vue-i18n.mjs +1 -3
  733. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  734. package/lib/locale/adapters/vue-intl.mjs +3 -5
  735. package/lib/locale/adapters/vue-intl.mjs.map +1 -1
  736. package/lib/locale/af.mjs +5 -0
  737. package/lib/locale/af.mjs.map +1 -1
  738. package/lib/locale/ar.mjs +5 -0
  739. package/lib/locale/ar.mjs.map +1 -1
  740. package/lib/locale/az.mjs +5 -0
  741. package/lib/locale/az.mjs.map +1 -1
  742. package/lib/locale/bg.mjs +5 -0
  743. package/lib/locale/bg.mjs.map +1 -1
  744. package/lib/locale/ca.mjs +14 -9
  745. package/lib/locale/ca.mjs.map +1 -1
  746. package/lib/locale/ckb.mjs +5 -0
  747. package/lib/locale/ckb.mjs.map +1 -1
  748. package/lib/locale/cs.mjs +5 -0
  749. package/lib/locale/cs.mjs.map +1 -1
  750. package/lib/locale/da.mjs +5 -0
  751. package/lib/locale/da.mjs.map +1 -1
  752. package/lib/locale/de.mjs +5 -0
  753. package/lib/locale/de.mjs.map +1 -1
  754. package/lib/locale/el.mjs +5 -0
  755. package/lib/locale/el.mjs.map +1 -1
  756. package/lib/locale/en.mjs +5 -0
  757. package/lib/locale/en.mjs.map +1 -1
  758. package/lib/locale/es.mjs +5 -0
  759. package/lib/locale/es.mjs.map +1 -1
  760. package/lib/locale/et.mjs +5 -0
  761. package/lib/locale/et.mjs.map +1 -1
  762. package/lib/locale/fa.mjs +5 -0
  763. package/lib/locale/fa.mjs.map +1 -1
  764. package/lib/locale/fi.mjs +5 -0
  765. package/lib/locale/fi.mjs.map +1 -1
  766. package/lib/locale/fr.mjs +5 -0
  767. package/lib/locale/fr.mjs.map +1 -1
  768. package/lib/locale/he.mjs +5 -0
  769. package/lib/locale/he.mjs.map +1 -1
  770. package/lib/locale/hr.mjs +5 -0
  771. package/lib/locale/hr.mjs.map +1 -1
  772. package/lib/locale/hu.mjs +5 -0
  773. package/lib/locale/hu.mjs.map +1 -1
  774. package/lib/locale/id.mjs +5 -0
  775. package/lib/locale/id.mjs.map +1 -1
  776. package/lib/locale/index.d.ts +210 -0
  777. package/lib/locale/index.mjs.map +1 -1
  778. package/lib/locale/it.mjs +5 -0
  779. package/lib/locale/it.mjs.map +1 -1
  780. package/lib/locale/ja.mjs +5 -0
  781. package/lib/locale/ja.mjs.map +1 -1
  782. package/lib/locale/ko.mjs +5 -0
  783. package/lib/locale/ko.mjs.map +1 -1
  784. package/lib/locale/lt.mjs +5 -0
  785. package/lib/locale/lt.mjs.map +1 -1
  786. package/lib/locale/lv.mjs +5 -0
  787. package/lib/locale/lv.mjs.map +1 -1
  788. package/lib/locale/nl.mjs +5 -0
  789. package/lib/locale/nl.mjs.map +1 -1
  790. package/lib/locale/no.mjs +5 -0
  791. package/lib/locale/no.mjs.map +1 -1
  792. package/lib/locale/pl.mjs +5 -0
  793. package/lib/locale/pl.mjs.map +1 -1
  794. package/lib/locale/pt.mjs +5 -0
  795. package/lib/locale/pt.mjs.map +1 -1
  796. package/lib/locale/ro.mjs +5 -0
  797. package/lib/locale/ro.mjs.map +1 -1
  798. package/lib/locale/ru.mjs +5 -0
  799. package/lib/locale/ru.mjs.map +1 -1
  800. package/lib/locale/sk.mjs +5 -0
  801. package/lib/locale/sk.mjs.map +1 -1
  802. package/lib/locale/sl.mjs +5 -0
  803. package/lib/locale/sl.mjs.map +1 -1
  804. package/lib/locale/sr-Cyrl.mjs +5 -0
  805. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  806. package/lib/locale/sr-Latn.mjs +5 -0
  807. package/lib/locale/sr-Latn.mjs.map +1 -1
  808. package/lib/locale/sv.mjs +5 -0
  809. package/lib/locale/sv.mjs.map +1 -1
  810. package/lib/locale/th.mjs +5 -0
  811. package/lib/locale/th.mjs.map +1 -1
  812. package/lib/locale/tr.mjs +5 -0
  813. package/lib/locale/tr.mjs.map +1 -1
  814. package/lib/locale/uk.mjs +5 -0
  815. package/lib/locale/uk.mjs.map +1 -1
  816. package/lib/locale/vi.mjs +5 -0
  817. package/lib/locale/vi.mjs.map +1 -1
  818. package/lib/locale/zh-Hans.mjs +5 -0
  819. package/lib/locale/zh-Hans.mjs.map +1 -1
  820. package/lib/locale/zh-Hant.mjs +5 -0
  821. package/lib/locale/zh-Hant.mjs.map +1 -1
  822. package/lib/services/goto/easing-patterns.mjs.map +1 -1
  823. package/lib/services/goto/index.mjs.map +1 -1
  824. package/lib/services/goto/util.mjs.map +1 -1
  825. package/lib/styles/generic/_colors.scss +17 -10
  826. package/lib/styles/generic/_transitions.scss +13 -77
  827. package/lib/styles/main.css +1611 -1853
  828. package/lib/styles/settings/_elevations.scss +3 -3
  829. package/lib/styles/settings/_utilities.scss +74 -35
  830. package/lib/styles/tools/_states.sass +11 -3
  831. package/lib/styles/tools/_utilities.sass +1 -1
  832. package/lib/styles/tools/_variant.sass +6 -7
  833. package/lib/styles/utilities/_index.sass +0 -1
  834. package/lib/util/anchor.mjs +56 -0
  835. package/lib/util/anchor.mjs.map +1 -0
  836. package/lib/util/animation.mjs +18 -2
  837. package/lib/util/animation.mjs.map +1 -1
  838. package/lib/util/box.mjs +12 -0
  839. package/lib/util/box.mjs.map +1 -1
  840. package/lib/util/color/APCA.mjs.map +1 -1
  841. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  842. package/lib/util/color/transformSRGB.mjs.map +1 -1
  843. package/lib/util/colorUtils.mjs +2 -2
  844. package/lib/util/colorUtils.mjs.map +1 -1
  845. package/lib/util/colors.mjs +1 -1
  846. package/lib/util/colors.mjs.map +1 -1
  847. package/lib/util/console.mjs.map +1 -1
  848. package/lib/util/createSimpleFunctional.mjs +1 -1
  849. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  850. package/lib/util/dateTimeUtils.mjs.map +1 -1
  851. package/lib/util/defineComponent.mjs +37 -11
  852. package/lib/util/defineComponent.mjs.map +1 -1
  853. package/lib/util/dom.mjs.map +1 -1
  854. package/lib/util/easing.mjs.map +1 -1
  855. package/lib/util/getCurrentInstance.mjs +20 -1
  856. package/lib/util/getCurrentInstance.mjs.map +1 -1
  857. package/lib/util/getScrollParent.mjs +3 -1
  858. package/lib/util/getScrollParent.mjs.map +1 -1
  859. package/lib/util/globals.mjs +1 -4
  860. package/lib/util/globals.mjs.map +1 -1
  861. package/lib/util/helpers.mjs +42 -7
  862. package/lib/util/helpers.mjs.map +1 -1
  863. package/lib/util/index.mjs +1 -0
  864. package/lib/util/index.mjs.map +1 -1
  865. package/lib/util/injectSelf.mjs +12 -0
  866. package/lib/util/injectSelf.mjs.map +1 -0
  867. package/lib/util/isFixedPosition.mjs.map +1 -1
  868. package/lib/util/propsFactory.mjs.map +1 -1
  869. package/lib/util/useRender.mjs.map +1 -1
  870. package/package.json +47 -34
  871. package/lib/components/VBreadcrumbs/shared.mjs +0 -2
  872. package/lib/components/VBreadcrumbs/shared.mjs.map +0 -1
  873. package/lib/components/VCard/VCardAvatar.mjs +0 -3
  874. package/lib/components/VCard/VCardAvatar.mjs.map +0 -1
  875. package/lib/components/VCard/VCardHeader.mjs +0 -3
  876. package/lib/components/VCard/VCardHeader.mjs.map +0 -1
  877. package/lib/components/VCard/VCardHeaderText.mjs +0 -3
  878. package/lib/components/VCard/VCardHeaderText.mjs.map +0 -1
  879. package/lib/components/VCard/VCardImg.mjs +0 -3
  880. package/lib/components/VCard/VCardImg.mjs.map +0 -1
  881. package/lib/components/VList/VListItemAvatar.mjs +0 -29
  882. package/lib/components/VList/VListItemAvatar.mjs.map +0 -1
  883. package/lib/components/VList/VListItemHeader.mjs +0 -3
  884. package/lib/components/VList/VListItemHeader.mjs.map +0 -1
  885. package/lib/components/VOverlay/positionStrategies.mjs +0 -203
  886. package/lib/components/VOverlay/positionStrategies.mjs.map +0 -1
  887. package/lib/components/VOverlay/util/anchor.mjs +0 -52
  888. package/lib/components/VOverlay/util/anchor.mjs.map +0 -1
  889. package/lib/components/VTimeline/shared.mjs +0 -2
  890. package/lib/components/VTimeline/shared.mjs.map +0 -1
  891. package/lib/composables/forwardRef.mjs +0 -42
  892. package/lib/composables/forwardRef.mjs.map +0 -1
  893. package/lib/composables/overlay.mjs +0 -30
  894. package/lib/composables/overlay.mjs.map +0 -1
  895. package/lib/presets/default/index.mjs +0 -71
  896. package/lib/presets/default/index.mjs.map +0 -1
  897. package/lib/styles/utilities/_text.sass +0 -9
  898. package/lib/styles.scss +0 -4
@@ -1,8 +1,8 @@
1
1
  @use '../tools/functions' as *;
2
2
 
3
- $shadow-key-umbra-opacity: rgba(0, 0, 0, 0.2) !default;
4
- $shadow-key-penumbra-opacity: rgba(0, 0, 0, 0.14) !default;
5
- $shadow-key-ambient-opacity: rgba(0, 0, 0, 0.12) !default;
3
+ $shadow-key-umbra-opacity: var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)) !default;
4
+ $shadow-key-penumbra-opacity: var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)) !default;
5
+ $shadow-key-ambient-opacity: var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.12)) !default;
6
6
 
7
7
  $shadow-key-umbra: () !default;
8
8
  $shadow-key-umbra: map-deep-merge(
@@ -124,6 +124,7 @@ $utilities: () !default;
124
124
  center: center,
125
125
  space-between: space-between,
126
126
  space-around: space-around,
127
+ space-evenly: space-evenly,
127
128
  stretch: stretch,
128
129
  )
129
130
  ),
@@ -340,9 +341,9 @@ $utilities: () !default;
340
341
  class: rounded-t,
341
342
  values: variables.$rounded
342
343
  ),
343
- "rounded-right": (
344
- property: border-top-right-radius border-bottom-right-radius,
345
- class: rounded-r,
344
+ "rounded-end": (
345
+ property: (ltr: border-top-right-radius border-bottom-right-radius, rtl: border-top-left-radius border-bottom-left-radius),
346
+ class: rounded-e,
346
347
  values: variables.$rounded
347
348
  ),
348
349
  "rounded-bottom": (
@@ -350,29 +351,29 @@ $utilities: () !default;
350
351
  class: rounded-b,
351
352
  values: variables.$rounded
352
353
  ),
353
- "rounded-left": (
354
- property: border-top-left-radius border-bottom-left-radius,
355
- class: rounded-l,
354
+ "rounded-start": (
355
+ property: (ltr: border-top-left-radius border-bottom-left-radius, rtl: border-top-right-radius border-bottom-right-radius),
356
+ class: rounded-s,
356
357
  values: variables.$rounded
357
358
  ),
358
- "rounded-top-left": (
359
- property: border-top-left-radius,
360
- class: rounded-tl,
359
+ "rounded-top-start": (
360
+ property: (ltr: border-top-left-radius, rtl: border-top-right-radius),
361
+ class: rounded-ts,
361
362
  values: variables.$rounded
362
363
  ),
363
- "rounded-top-right": (
364
- property: border-top-right-radius,
365
- class: rounded-tr,
364
+ "rounded-top-end": (
365
+ property: (ltr: border-top-right-radius, rtl: border-top-left-radius),
366
+ class: rounded-te,
366
367
  values: variables.$rounded
367
368
  ),
368
- "rounded-bottom-right": (
369
- property: border-bottom-right-radius,
370
- class: rounded-br,
369
+ "rounded-bottom-end": (
370
+ property: (ltr: border-bottom-right-radius, rtl: border-bottom-left-radius),
371
+ class: rounded-be,
371
372
  values: variables.$rounded
372
373
  ),
373
- "rounded-bottom-left": (
374
- property: border-bottom-left-radius,
375
- class: rounded-bl,
374
+ "rounded-bottom-start": (
375
+ property: (ltr: border-bottom-left-radius, rtl: border-bottom-right-radius),
376
+ class: rounded-bs,
376
377
  values: variables.$rounded
377
378
  ),
378
379
 
@@ -388,23 +389,23 @@ $utilities: () !default;
388
389
  values: variables.$border-opacities
389
390
  ),
390
391
  "border-top": (
391
- property: border-top-width border-top-style border-top-color,
392
+ property: border-block-start-width border-block-start-style border-block-start-color,
392
393
  class: border-t,
393
394
  values: variables.$borders
394
395
  ),
395
- "border-right": (
396
- property: border-right-width border-right-style border-right-color,
397
- class: border-r,
396
+ "border-end": (
397
+ property: border-inline-end-width border-inline-end-style border-inline-end-color,
398
+ class: border-e,
398
399
  values: variables.$borders
399
400
  ),
400
401
  "border-bottom": (
401
- property: border-bottom-width border-bottom-style border-bottom-color,
402
+ property: border-block-end-width border-block-end-style border-block-end-color,
402
403
  class: border-b,
403
404
  values: variables.$borders
404
405
  ),
405
- "border-left": (
406
- property: border-left-width border-left-style border-left-color,
407
- class: border-l,
406
+ "border-start": (
407
+ property: border-inline-start-width border-inline-start-style border-inline-start-color,
408
+ class: border-s,
408
409
  values: variables.$borders
409
410
  ),
410
411
  "border-style": (
@@ -442,12 +443,12 @@ $utilities: () !default;
442
443
  values: (break: break-word)
443
444
  ),
444
445
  "text-opacity": (
445
- property: opacity,
446
+ property: color,
446
447
  class: text,
447
448
  values: (
448
- high-emphasis: var(--v-high-emphasis-opacity),
449
- medium-emphasis: var(--v-medium-emphasis-opacity),
450
- disabled: var(--v-disabled-opacity)
449
+ high-emphasis: rgba(var(--v-theme-on-background), var(--v-high-emphasis-opacity)),
450
+ medium-emphasis: rgba(var(--v-theme-on-background), var(--v-medium-emphasis-opacity)),
451
+ disabled: rgba(var(--v-theme-on-background), var(--v-disabled-opacity)),
451
452
  )
452
453
  ),
453
454
  "text-overflow": (
@@ -455,11 +456,6 @@ $utilities: () !default;
455
456
  class: text,
456
457
  values: (truncate: nowrap hidden ellipsis)
457
458
  ),
458
- "text-transform": (
459
- property: text-transform,
460
- class: text,
461
- values: none capitalize lowercase uppercase
462
- ),
463
459
  "typography": (
464
460
  responsive: true,
465
461
  property: (
@@ -477,18 +473,61 @@ $utilities: () !default;
477
473
  ),
478
474
  values: variables.$flat-typography
479
475
  ),
476
+ "text-transform": (
477
+ property: text-transform,
478
+ class: text,
479
+ values: none capitalize lowercase uppercase
480
+ ),
481
+ "font-weight": (
482
+ property: font-weight,
483
+ class: font-weight,
484
+ values: variables.$font-weights
485
+ ),
486
+ "font-italic": (
487
+ property: font-style,
488
+ class: font,
489
+ values: italic
490
+ ),
480
491
  // Position
481
492
  "position": (
482
493
  property: position,
483
494
  class: position,
484
495
  values: static relative fixed absolute sticky
485
496
  ),
497
+ // Sizing
486
498
  "fill-height": (
487
499
  property: height,
488
500
  class: fill,
489
501
  values: (
490
502
  height: 100%
491
503
  )
504
+ ),
505
+ "height": (
506
+ property: height,
507
+ class: h,
508
+ values: (
509
+ auto: auto,
510
+ screen: 100vh,
511
+ 0: 0,
512
+ 25: 25%,
513
+ 50: 50%,
514
+ 75: 75%,
515
+ 100: 100%
516
+ )
517
+ ),
518
+ "width": (
519
+ property: width,
520
+ class: w,
521
+ values: (
522
+ auto: auto,
523
+ 0: 0,
524
+ 25: 25%,
525
+ 33: 33%,
526
+ 50: 50%,
527
+ 66: 66%,
528
+ 75: 75%,
529
+ 100: 100%
530
+ )
492
531
  )
493
532
  ),
494
533
  $utilities
@@ -1,7 +1,11 @@
1
1
  @use 'sass:map'
2
+ @use 'sass:string'
2
3
  @use '../settings'
3
4
 
4
5
  @mixin states ($selector: '&::before', $active: true)
6
+ @if string.slice(string.unquote($selector), 1, 1) != '&'
7
+ $selector: #{'>'} #{$selector}
8
+
5
9
  &:hover
6
10
  #{$selector}
7
11
  opacity: calc(#{map.get(settings.$states, 'hover')} * var(--v-theme-overlay-multiplier))
@@ -16,14 +20,18 @@
16
20
  opacity: calc(#{map.get(settings.$states, 'focus')} * var(--v-theme-overlay-multiplier))
17
21
 
18
22
  @if ($active)
19
- &--active
23
+ &--active,
24
+ &[aria-haspopup="menu"][aria-expanded="true"]
20
25
  @include active-states($selector)
21
26
 
22
- @mixin active-states ($selector: '::before')
23
- &:hover#{$selector},
27
+ @mixin active-states ($selector)
24
28
  #{$selector}
25
29
  opacity: calc(#{map.get(settings.$states, 'activated')} * var(--v-theme-overlay-multiplier))
26
30
 
31
+ &:hover
32
+ #{$selector}
33
+ opacity: calc(#{map.get(settings.$states, 'activated')} * var(--v-theme-overlay-multiplier))
34
+
27
35
  &:focus
28
36
  #{$selector}
29
37
  opacity: calc(#{map.get(settings.$states, 'pressed')} * var(--v-theme-overlay-multiplier))
@@ -61,4 +61,4 @@
61
61
  // This allows you to conditional skip
62
62
  // defining a property as important.
63
63
  $unimportant: map.get($utility, unimportant)
64
- #{$property}: $val if(list.index($unimportant, $property), null, !important)
64
+ #{$property}: #{meta.inspect($val) if(list.index($unimportant, $property), null, !important)}
@@ -5,7 +5,7 @@
5
5
  &--variant-plain,
6
6
  &--variant-outlined,
7
7
  &--variant-text,
8
- &--variant-contained-text
8
+ &--variant-tonal
9
9
  background: transparent
10
10
  color: inherit
11
11
 
@@ -20,16 +20,16 @@
20
20
  .#{$name}__overlay
21
21
  display: none
22
22
 
23
- &--variant-contained,
24
- &--variant-contained-flat
23
+ &--variant-elevated,
24
+ &--variant-flat
25
25
  background: $contained-background
26
26
  color: $contained-color
27
27
 
28
28
  @if ($contained-elevation > 0)
29
- &--variant-contained
29
+ &--variant-elevated
30
30
  @include elevation($contained-elevation)
31
31
 
32
- &--variant-contained-flat
32
+ &--variant-flat
33
33
  @include elevation(0)
34
34
 
35
35
  &--variant-outlined
@@ -39,7 +39,7 @@
39
39
  .#{$name}__overlay
40
40
  background: currentColor
41
41
 
42
- &--variant-contained-text
42
+ &--variant-tonal
43
43
  .#{$name}__underlay
44
44
  background: currentColor
45
45
  opacity: var(--v-activated-opacity)
@@ -50,4 +50,3 @@
50
50
  bottom: 0
51
51
  left: 0
52
52
  pointer-events: none
53
- transition: opacity 0.2s ease-in-out
@@ -3,7 +3,6 @@
3
3
  @use 'sass:meta'
4
4
  @use './display.sass'
5
5
  @use './screenreaders.sass'
6
- @use './text.sass'
7
6
  @use '../settings'
8
7
  @use '../tools'
9
8
 
@@ -0,0 +1,56 @@
1
+ import { includes } from "./helpers.mjs";
2
+ const block = ['top', 'bottom'];
3
+ const inline = ['start', 'end', 'left', 'right'];
4
+
5
+ /** Parse a raw anchor string into an object */
6
+ export function parseAnchor(anchor, isRtl) {
7
+ let [side, align] = anchor.split(' ');
8
+
9
+ if (!align) {
10
+ align = includes(block, side) ? 'start' : includes(inline, side) ? 'top' : 'center';
11
+ }
12
+
13
+ return {
14
+ side: toPhysical(side, isRtl),
15
+ align: toPhysical(align, isRtl)
16
+ };
17
+ }
18
+ export function toPhysical(str, isRtl) {
19
+ if (str === 'start') return isRtl ? 'right' : 'left';
20
+ if (str === 'end') return isRtl ? 'left' : 'right';
21
+ return str;
22
+ }
23
+ export function flipSide(anchor) {
24
+ return {
25
+ side: {
26
+ center: 'center',
27
+ top: 'bottom',
28
+ bottom: 'top',
29
+ left: 'right',
30
+ right: 'left'
31
+ }[anchor.side],
32
+ align: anchor.align
33
+ };
34
+ }
35
+ export function flipAlign(anchor) {
36
+ return {
37
+ side: anchor.side,
38
+ align: {
39
+ center: 'center',
40
+ top: 'bottom',
41
+ bottom: 'top',
42
+ left: 'right',
43
+ right: 'left'
44
+ }[anchor.align]
45
+ };
46
+ }
47
+ export function flipCorner(anchor) {
48
+ return {
49
+ side: anchor.align,
50
+ align: anchor.side
51
+ };
52
+ }
53
+ export function getAxis(anchor) {
54
+ return includes(block, anchor.side) ? 'y' : 'x';
55
+ }
56
+ //# sourceMappingURL=anchor.mjs.map
@@ -0,0 +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,Q;AAET,MAAMC,KAAK,GAAG,CAAC,KAAD,EAAQ,QAAR,CAAd;AACA,MAAMC,MAAM,GAAG,CAAC,OAAD,EAAU,KAAV,EAAiB,MAAjB,EAAyB,OAAzB,CAAf;;AAeA;AACA,OAAO,SAASC,WAAT,CAAsBC,MAAtB,EAAsCC,KAAtC,EAAsD;EAC3D,IAAI,CAACC,IAAD,EAAOC,KAAP,IAAgBH,MAAM,CAACI,KAAP,CAAa,GAAb,CAApB;;EACA,IAAI,CAACD,KAAL,EAAY;IACVA,KAAK,GACHP,QAAQ,CAACC,KAAD,EAAQK,IAAR,CAAR,GAAwB,OAAxB,GACEN,QAAQ,CAACE,MAAD,EAASI,IAAT,CAAR,GAAyB,KAAzB,GACA,QAHJ;EAID;;EAED,OAAO;IACLA,IAAI,EAAEG,UAAU,CAACH,IAAD,EAAOD,KAAP,CADX;IAELE,KAAK,EAAEE,UAAU,CAACF,KAAD,EAAQF,KAAR;EAFZ,CAAP;AAID;AAED,OAAO,SAASI,UAAT,CAAqBC,GAArB,EAAuDL,KAAvD,EAAuE;EAC5E,IAAIK,GAAG,KAAK,OAAZ,EAAqB,OAAOL,KAAK,GAAG,OAAH,GAAa,MAAzB;EACrB,IAAIK,GAAG,KAAK,KAAZ,EAAmB,OAAOL,KAAK,GAAG,MAAH,GAAY,OAAxB;EACnB,OAAOK,GAAP;AACD;AAED,OAAO,SAASC,QAAT,CAAmBP,MAAnB,EAAyC;EAC9C,OAAO;IACLE,IAAI,EAAE;MACJM,MAAM,EAAE,QADJ;MAEJC,GAAG,EAAE,QAFD;MAGJC,MAAM,EAAE,KAHJ;MAIJC,IAAI,EAAE,OAJF;MAKJC,KAAK,EAAE;IALH,EAMJZ,MAAM,CAACE,IANH,CADD;IAQLC,KAAK,EAAEH,MAAM,CAACG;EART,CAAP;AAUD;AAED,OAAO,SAASU,SAAT,CAAoBb,MAApB,EAA0C;EAC/C,OAAO;IACLE,IAAI,EAAEF,MAAM,CAACE,IADR;IAELC,KAAK,EAAE;MACLK,MAAM,EAAE,QADH;MAELC,GAAG,EAAE,QAFA;MAGLC,MAAM,EAAE,KAHH;MAILC,IAAI,EAAE,OAJD;MAKLC,KAAK,EAAE;IALF,EAMLZ,MAAM,CAACG,KANF;EAFF,CAAP;AAUD;AAED,OAAO,SAASW,UAAT,CAAqBd,MAArB,EAA2C;EAChD,OAAO;IACLE,IAAI,EAAEF,MAAM,CAACG,KADR;IAELA,KAAK,EAAEH,MAAM,CAACE;EAFT,CAAP;AAID;AAED,OAAO,SAASa,OAAT,CAAkBf,MAAlB,EAAwC;EAC7C,OAAOJ,QAAQ,CAACC,KAAD,EAAQG,MAAM,CAACE,IAAf,CAAR,GAA+B,GAA/B,GAAqC,GAA5C;AACD"}
@@ -28,8 +28,8 @@ export function nullifyTransforms(el) {
28
28
  const to = style.transformOrigin;
29
29
  const x = rect.x - dx - (1 - sx) * parseFloat(to);
30
30
  const y = rect.y - dy - (1 - sy) * parseFloat(to.slice(to.indexOf(' ') + 1));
31
- const w = sx ? rect.width / sx : el.offsetWidth;
32
- const h = sy ? rect.height / sy : el.offsetHeight;
31
+ const w = sx ? rect.width / sx : el.offsetWidth + 1;
32
+ const h = sy ? rect.height / sy : el.offsetHeight + 1;
33
33
  return new Box({
34
34
  x,
35
35
  y,
@@ -40,4 +40,20 @@ export function nullifyTransforms(el) {
40
40
  return new Box(rect);
41
41
  }
42
42
  }
43
+ export function animate(el, keyframes, options) {
44
+ if (typeof el.animate === 'undefined') return {
45
+ finished: Promise.resolve()
46
+ };
47
+ const animation = el.animate(keyframes, options);
48
+
49
+ if (typeof animation.finished === 'undefined') {
50
+ animation.finished = new Promise(resolve => {
51
+ animation.onfinish = () => {
52
+ resolve(animation);
53
+ };
54
+ });
55
+ }
56
+
57
+ return animation;
58
+ }
43
59
  //# sourceMappingURL=animation.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/animation.ts"],"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"],"mappings":"SAASA,G;AAET;;AACA,OAAO,SAASC,iBAAT,CAA4BC,EAA5B,EAAkD;AACvD,QAAMC,IAAI,GAAGD,EAAE,CAACE,qBAAH,EAAb;AACA,QAAMC,KAAK,GAAGC,gBAAgB,CAACJ,EAAD,CAA9B;AACA,QAAMK,EAAE,GAAGF,KAAK,CAACG,SAAjB;;AAEA,MAAID,EAAJ,EAAQ;AACN,QAAIE,EAAJ,EAAQC,EAAR,EAAYC,EAAZ,EAAgBC,EAAhB,EAAoBC,EAApB;;AACA,QAAIN,EAAE,CAACO,UAAH,CAAc,WAAd,CAAJ,EAAgC;AAC9BL,MAAAA,EAAE,GAAGF,EAAE,CAACQ,KAAH,CAAS,CAAT,EAAY,CAAC,CAAb,EAAgBC,KAAhB,CAAsB,IAAtB,CAAL;AACAN,MAAAA,EAAE,GAAG,CAACD,EAAE,CAAC,CAAD,CAAR;AACAE,MAAAA,EAAE,GAAG,CAACF,EAAE,CAAC,CAAD,CAAR;AACAG,MAAAA,EAAE,GAAG,CAACH,EAAE,CAAC,EAAD,CAAR;AACAI,MAAAA,EAAE,GAAG,CAACJ,EAAE,CAAC,EAAD,CAAR;AACD,KAND,MAMO,IAAIF,EAAE,CAACO,UAAH,CAAc,SAAd,CAAJ,EAA8B;AACnCL,MAAAA,EAAE,GAAGF,EAAE,CAACQ,KAAH,CAAS,CAAT,EAAY,CAAC,CAAb,EAAgBC,KAAhB,CAAsB,IAAtB,CAAL;AACAN,MAAAA,EAAE,GAAG,CAACD,EAAE,CAAC,CAAD,CAAR;AACAE,MAAAA,EAAE,GAAG,CAACF,EAAE,CAAC,CAAD,CAAR;AACAG,MAAAA,EAAE,GAAG,CAACH,EAAE,CAAC,CAAD,CAAR;AACAI,MAAAA,EAAE,GAAG,CAACJ,EAAE,CAAC,CAAD,CAAR;AACD,KANM,MAMA;AACL,aAAO,IAAIT,GAAJ,CAAQG,IAAR,CAAP;AACD;;AAED,UAAMc,EAAE,GAAGZ,KAAK,CAACa,eAAjB;AACA,UAAMC,CAAC,GAAGhB,IAAI,CAACgB,CAAL,GAASP,EAAT,GAAc,CAAC,IAAIF,EAAL,IAAWU,UAAU,CAACH,EAAD,CAA7C;AACA,UAAMI,CAAC,GAAGlB,IAAI,CAACkB,CAAL,GAASR,EAAT,GAAc,CAAC,IAAIF,EAAL,IAAWS,UAAU,CAACH,EAAE,CAACF,KAAH,CAASE,EAAE,CAACK,OAAH,CAAW,GAAX,IAAkB,CAA3B,CAAD,CAA7C;AACA,UAAMC,CAAC,GAAGb,EAAE,GAAGP,IAAI,CAACqB,KAAL,GAAad,EAAhB,GAAqBR,EAAE,CAACuB,WAApC;AACA,UAAMC,CAAC,GAAGf,EAAE,GAAGR,IAAI,CAACwB,MAAL,GAAchB,EAAjB,GAAsBT,EAAE,CAAC0B,YAArC;AAEA,WAAO,IAAI5B,GAAJ,CAAQ;AAAEmB,MAAAA,CAAF;AAAKE,MAAAA,CAAL;AAAQG,MAAAA,KAAK,EAAED,CAAf;AAAkBI,MAAAA,MAAM,EAAED;AAA1B,KAAR,CAAP;AACD,GAzBD,MAyBO;AACL,WAAO,IAAI1B,GAAJ,CAAQG,IAAR,CAAP;AACD;AACF","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\n const h = sy ? rect.height / sy : el.offsetHeight\n\n return new Box({ x, y, width: w, height: h })\n } else {\n return new Box(rect)\n }\n}\n"],"file":"animation.mjs"}
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","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 const animation = el.animate(keyframes, options)\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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"}
package/lib/util/box.mjs CHANGED
@@ -29,4 +29,16 @@ export class Box {
29
29
  }
30
30
 
31
31
  }
32
+ export function getOverflow(a, b) {
33
+ return {
34
+ x: {
35
+ before: Math.max(0, b.left - a.left),
36
+ after: Math.max(0, a.right - b.right)
37
+ },
38
+ y: {
39
+ before: Math.max(0, b.top - a.top),
40
+ after: Math.max(0, a.bottom - b.bottom)
41
+ }
42
+ };
43
+ }
32
44
  //# sourceMappingURL=box.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/box.ts"],"names":["Box","constructor","x","y","width","height","top","bottom","left","right"],"mappings":"AAAA,OAAO,MAAMA,GAAN,CAAU;AAMfC,EAAAA,WAAW,OAKR;AAAA,QALU;AAAEC,MAAAA,CAAF;AAAKC,MAAAA,CAAL;AAAQC,MAAAA,KAAR;AAAeC,MAAAA;AAAf,KAKV;AACD,SAAKH,CAAL,GAASA,CAAT;AACA,SAAKC,CAAL,GAASA,CAAT;AACA,SAAKC,KAAL,GAAaA,KAAb;AACA,SAAKC,MAAL,GAAcA,MAAd;AACD;;AAEM,MAAHC,GAAG,GAAI;AAAE,WAAO,KAAKH,CAAZ;AAAe;;AAClB,MAANI,MAAM,GAAI;AAAE,WAAO,KAAKJ,CAAL,GAAS,KAAKE,MAArB;AAA6B;;AACrC,MAAJG,IAAI,GAAI;AAAE,WAAO,KAAKN,CAAZ;AAAe;;AACpB,MAALO,KAAK,GAAI;AAAE,WAAO,KAAKP,CAAL,GAAS,KAAKE,KAArB;AAA4B;;AArB5B","sourcesContent":["export class Box {\n x: number\n y: number\n width: number\n height: number\n\n constructor ({ x, y, width, height }: {\n x: number\n y: number\n width: number\n height: number\n }) {\n this.x = x\n this.y = y\n this.width = width\n this.height = height\n }\n\n get top () { return this.y }\n get bottom () { return this.y + this.height }\n get left () { return this.x }\n get right () { return this.x + this.width }\n}\n"],"file":"box.mjs"}
1
+ {"version":3,"file":"box.mjs","names":["Box","constructor","x","y","width","height","top","bottom","left","right","getOverflow","a","b","before","Math","max","after"],"sources":["../../src/util/box.ts"],"sourcesContent":["export class Box {\n x: number\n y: number\n width: number\n height: number\n\n constructor ({ x, y, width, height }: {\n x: number\n y: number\n width: number\n height: number\n }) {\n this.x = x\n this.y = y\n this.width = width\n this.height = height\n }\n\n get top () { return this.y }\n get bottom () { return this.y + this.height }\n get left () { return this.x }\n get right () { return this.x + this.width }\n}\n\nexport function getOverflow (a: Box, b: Box) {\n return {\n x: {\n before: Math.max(0, b.left - a.left),\n after: Math.max(0, a.right - b.right),\n },\n y: {\n before: Math.max(0, b.top - a.top),\n after: Math.max(0, a.bottom - b.bottom),\n },\n }\n}\n"],"mappings":"AAAA,OAAO,MAAMA,GAAN,CAAU;EAMfC,WAAW,OAKR;IAAA,IALU;MAAEC,CAAF;MAAKC,CAAL;MAAQC,KAAR;MAAeC;IAAf,CAKV;IACD,KAAKH,CAAL,GAASA,CAAT;IACA,KAAKC,CAAL,GAASA,CAAT;IACA,KAAKC,KAAL,GAAaA,KAAb;IACA,KAAKC,MAAL,GAAcA,MAAd;EACD;;EAEM,IAAHC,GAAG,GAAI;IAAE,OAAO,KAAKH,CAAZ;EAAe;;EAClB,IAANI,MAAM,GAAI;IAAE,OAAO,KAAKJ,CAAL,GAAS,KAAKE,MAArB;EAA6B;;EACrC,IAAJG,IAAI,GAAI;IAAE,OAAO,KAAKN,CAAZ;EAAe;;EACpB,IAALO,KAAK,GAAI;IAAE,OAAO,KAAKP,CAAL,GAAS,KAAKE,KAArB;EAA4B;;AArB5B;AAwBjB,OAAO,SAASM,WAAT,CAAsBC,CAAtB,EAA8BC,CAA9B,EAAsC;EAC3C,OAAO;IACLV,CAAC,EAAE;MACDW,MAAM,EAAEC,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYH,CAAC,CAACJ,IAAF,GAASG,CAAC,CAACH,IAAvB,CADP;MAEDQ,KAAK,EAAEF,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYJ,CAAC,CAACF,KAAF,GAAUG,CAAC,CAACH,KAAxB;IAFN,CADE;IAKLN,CAAC,EAAE;MACDU,MAAM,EAAEC,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYH,CAAC,CAACN,GAAF,GAAQK,CAAC,CAACL,GAAtB,CADP;MAEDU,KAAK,EAAEF,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYJ,CAAC,CAACJ,MAAF,GAAWK,CAAC,CAACL,MAAzB;IAFN;EALE,CAAP;AAUD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/util/color/APCA.ts"],"names":["mainTRC","Rco","Gco","Bco","normBG","normTXT","revTXT","revBG","blkThrs","blkClmp","deltaYmin","scaleBoW","scaleWoB","loConThresh","loConFactor","loConOffset","loClip","APCAcontrast","text","background","Rtxt","Gtxt","Btxt","Rbg","Gbg","Bbg","Ytxt","Ybg","Math","abs","outputContrast","SAPC"],"mappings":"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","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\n// MAGICAL NUMBERS\n\n// sRGB Conversion to Relative Luminance (Y)\n\n// Transfer Curve (aka \"Gamma\") for sRGB linearization\n// Simple power curve vs piecewise described in docs\n// Essentially, 2.4 best models actual display\n// characteristics in combination with the total method\nconst mainTRC = 2.4\n\nconst Rco = 0.2126729 // sRGB Red Coefficient (from matrix)\nconst Gco = 0.7151522 // sRGB Green Coefficient (from matrix)\nconst Bco = 0.0721750 // sRGB Blue Coefficient (from matrix)\n\n// For Finding Raw SAPC Contrast from Relative Luminance (Y)\n\n// Constants for SAPC Power Curve Exponents\n// One pair for normal text, and one for reverse\n// These are the \"beating heart\" of SAPC\nconst normBG = 0.55\nconst normTXT = 0.58\nconst revTXT = 0.57\nconst revBG = 0.62\n\n// For Clamping and Scaling Values\n\nconst blkThrs = 0.03 // Level that triggers the soft black clamp\nconst blkClmp = 1.45 // Exponent for the soft black clamp curve\nconst deltaYmin = 0.0005 // Lint trap\nconst scaleBoW = 1.25 // Scaling for dark text on light\nconst scaleWoB = 1.25 // Scaling for light text on dark\nconst loConThresh = 0.078 // Threshold for new simple offset scale\nconst loConFactor = 12.82051282051282 // = 1/0.078,\nconst loConOffset = 0.06 // The simple offset\nconst loClip = 0.001 // Output clip (lint trap #2)\n\nexport function APCAcontrast (text: number, background: number) {\n // Linearize sRGB\n const Rtxt = ((text >> 16 & 0xff) / 255) ** mainTRC\n const Gtxt = ((text >> 8 & 0xff) / 255) ** mainTRC\n const Btxt = ((text >> 0 & 0xff) / 255) ** mainTRC\n\n const Rbg = ((background >> 16 & 0xff) / 255) ** mainTRC\n const Gbg = ((background >> 8 & 0xff) / 255) ** mainTRC\n const Bbg = ((background >> 0 & 0xff) / 255) ** mainTRC\n\n // Apply the standard coefficients and sum to Y\n let Ytxt = (Rtxt * Rco) + (Gtxt * Gco) + (Btxt * Bco)\n let Ybg = (Rbg * Rco) + (Gbg * Gco) + (Bbg * Bco)\n\n // Soft clamp Y when near black.\n // Now clamping all colors to prevent crossover errors\n if (Ytxt <= blkThrs) Ytxt += (blkThrs - Ytxt) ** blkClmp\n if (Ybg <= blkThrs) Ybg += (blkThrs - Ybg) ** blkClmp\n\n // Return 0 Early for extremely low ∆Y (lint trap #1)\n if (Math.abs(Ybg - Ytxt) < deltaYmin) return 0.0\n\n // SAPC CONTRAST\n\n let outputContrast: number // For weighted final values\n if (Ybg > Ytxt) {\n // For normal polarity, black text on white\n // Calculate the SAPC contrast value and scale\n\n const SAPC = ((Ybg ** normBG) - (Ytxt ** normTXT)) * scaleBoW\n\n // NEW! SAPC SmoothScale™\n // Low Contrast Smooth Scale Rollout to prevent polarity reversal\n // and also a low clip for very low contrasts (lint trap #2)\n // much of this is for very low contrasts, less than 10\n // therefore for most reversing needs, only loConOffset is important\n outputContrast =\n (SAPC < loClip) ? 0.0\n : (SAPC < loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC - loConOffset\n } else {\n // For reverse polarity, light text on dark\n // WoB should always return negative value.\n\n const SAPC = ((Ybg ** revBG) - (Ytxt ** revTXT)) * scaleWoB\n\n outputContrast =\n (SAPC > -loClip) ? 0.0\n : (SAPC > -loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC + loConOffset\n }\n\n return outputContrast * 100\n}\n"],"file":"APCA.mjs"}
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","Gtxt","Btxt","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\n// MAGICAL NUMBERS\n\n// sRGB Conversion to Relative Luminance (Y)\n\n// Transfer Curve (aka \"Gamma\") for sRGB linearization\n// Simple power curve vs piecewise described in docs\n// Essentially, 2.4 best models actual display\n// characteristics in combination with the total method\nconst mainTRC = 2.4\n\nconst Rco = 0.2126729 // sRGB Red Coefficient (from matrix)\nconst Gco = 0.7151522 // sRGB Green Coefficient (from matrix)\nconst Bco = 0.0721750 // sRGB Blue Coefficient (from matrix)\n\n// For Finding Raw SAPC Contrast from Relative Luminance (Y)\n\n// Constants for SAPC Power Curve Exponents\n// One pair for normal text, and one for reverse\n// These are the \"beating heart\" of SAPC\nconst normBG = 0.55\nconst normTXT = 0.58\nconst revTXT = 0.57\nconst revBG = 0.62\n\n// For Clamping and Scaling Values\n\nconst blkThrs = 0.03 // Level that triggers the soft black clamp\nconst blkClmp = 1.45 // Exponent for the soft black clamp curve\nconst deltaYmin = 0.0005 // Lint trap\nconst scaleBoW = 1.25 // Scaling for dark text on light\nconst scaleWoB = 1.25 // Scaling for light text on dark\nconst loConThresh = 0.078 // Threshold for new simple offset scale\nconst loConFactor = 12.82051282051282 // = 1/0.078,\nconst loConOffset = 0.06 // The simple offset\nconst loClip = 0.001 // Output clip (lint trap #2)\n\nexport function APCAcontrast (text: number, background: number) {\n // Linearize sRGB\n const Rtxt = ((text >> 16 & 0xff) / 255) ** mainTRC\n const Gtxt = ((text >> 8 & 0xff) / 255) ** mainTRC\n const Btxt = ((text >> 0 & 0xff) / 255) ** mainTRC\n\n const Rbg = ((background >> 16 & 0xff) / 255) ** mainTRC\n const Gbg = ((background >> 8 & 0xff) / 255) ** mainTRC\n const Bbg = ((background >> 0 & 0xff) / 255) ** mainTRC\n\n // Apply the standard coefficients and sum to Y\n let Ytxt = (Rtxt * Rco) + (Gtxt * Gco) + (Btxt * Bco)\n let Ybg = (Rbg * Rco) + (Gbg * Gco) + (Bbg * Bco)\n\n // Soft clamp Y when near black.\n // Now clamping all colors to prevent crossover errors\n if (Ytxt <= blkThrs) Ytxt += (blkThrs - Ytxt) ** blkClmp\n if (Ybg <= blkThrs) Ybg += (blkThrs - Ybg) ** blkClmp\n\n // Return 0 Early for extremely low ∆Y (lint trap #1)\n if (Math.abs(Ybg - Ytxt) < deltaYmin) return 0.0\n\n // SAPC CONTRAST\n\n let outputContrast: number // For weighted final values\n if (Ybg > Ytxt) {\n // For normal polarity, black text on white\n // Calculate the SAPC contrast value and scale\n\n const SAPC = ((Ybg ** normBG) - (Ytxt ** normTXT)) * scaleBoW\n\n // NEW! SAPC SmoothScale™\n // Low Contrast Smooth Scale Rollout to prevent polarity reversal\n // and also a low clip for very low contrasts (lint trap #2)\n // much of this is for very low contrasts, less than 10\n // therefore for most reversing needs, only loConOffset is important\n outputContrast =\n (SAPC < loClip) ? 0.0\n : (SAPC < loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC - loConOffset\n } else {\n // For reverse polarity, light text on dark\n // WoB should always return negative value.\n\n const SAPC = ((Ybg ** revBG) - (Ytxt ** revTXT)) * scaleWoB\n\n outputContrast =\n (SAPC > -loClip) ? 0.0\n : (SAPC > -loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC + loConOffset\n }\n\n return outputContrast * 100\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/util/color/transformCIELAB.ts"],"names":["delta","cielabForwardTransform","t","Math","cbrt","cielabReverseTransform","fromXYZ","xyz","transform","transformedY","toXYZ","lab","Ln"],"mappings":"AAEA,MAAMA,KAAK,GAAG,mBAAd,C,CAAkC;;AAElC,MAAMC,sBAAsB,GAAIC,CAAD,IAC7BA,CAAC,GAAGF,KAAK,IAAI,CAAb,GACIG,IAAI,CAACC,IAAL,CAAUF,CAAV,CADJ,GAEKA,CAAC,IAAI,IAAIF,KAAK,IAAI,CAAjB,CAAF,GAAyB,IAAI,EAHnC;;AAMA,MAAMK,sBAAsB,GAAIH,CAAD,IAC7BA,CAAC,GAAGF,KAAJ,GACIE,CAAC,IAAI,CADT,GAEK,IAAIF,KAAK,IAAI,CAAd,IAAoBE,CAAC,GAAG,IAAI,EAA5B,CAHN;;AAMA,OAAO,SAASI,OAAT,CAAkBC,GAAlB,EAAiC;AACtC,QAAMC,SAAS,GAAGP,sBAAlB;AACA,QAAMQ,YAAY,GAAGD,SAAS,CAACD,GAAG,CAAC,CAAD,CAAJ,CAA9B;AAEA,SAAO,CACL,MAAME,YAAN,GAAqB,EADhB,EAEL,OAAOD,SAAS,CAACD,GAAG,CAAC,CAAD,CAAH,GAAS,OAAV,CAAT,GAA8BE,YAArC,CAFK,EAGL,OAAOA,YAAY,GAAGD,SAAS,CAACD,GAAG,CAAC,CAAD,CAAH,GAAS,OAAV,CAA/B,CAHK,CAAP;AAKD;AAED,OAAO,SAASG,KAAT,CAAgBC,GAAhB,EAA+B;AACpC,QAAMH,SAAS,GAAGH,sBAAlB;AACA,QAAMO,EAAE,GAAG,CAACD,GAAG,CAAC,CAAD,CAAH,GAAS,EAAV,IAAgB,GAA3B;AACA,SAAO,CACLH,SAAS,CAACI,EAAE,GAAGD,GAAG,CAAC,CAAD,CAAH,GAAS,GAAf,CAAT,GAA+B,OAD1B,EAELH,SAAS,CAACI,EAAD,CAFJ,EAGLJ,SAAS,CAACI,EAAE,GAAGD,GAAG,CAAC,CAAD,CAAH,GAAS,GAAf,CAAT,GAA+B,OAH1B,CAAP;AAKD","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"],"file":"transformCIELAB.mjs"}
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,mBAAd,C,CAAkC;;AAElC,MAAMC,sBAAsB,GAAIC,CAAD,IAC7BA,CAAC,GAAGF,KAAK,IAAI,CAAb,GACIG,IAAI,CAACC,IAAL,CAAUF,CAAV,CADJ,GAEKA,CAAC,IAAI,IAAIF,KAAK,IAAI,CAAjB,CAAF,GAAyB,IAAI,EAHnC;;AAMA,MAAMK,sBAAsB,GAAIH,CAAD,IAC7BA,CAAC,GAAGF,KAAJ,GACIE,CAAC,IAAI,CADT,GAEK,IAAIF,KAAK,IAAI,CAAd,IAAoBE,CAAC,GAAG,IAAI,EAA5B,CAHN;;AAMA,OAAO,SAASI,OAAT,CAAkBC,GAAlB,EAAiC;EACtC,MAAMC,SAAS,GAAGP,sBAAlB;EACA,MAAMQ,YAAY,GAAGD,SAAS,CAACD,GAAG,CAAC,CAAD,CAAJ,CAA9B;EAEA,OAAO,CACL,MAAME,YAAN,GAAqB,EADhB,EAEL,OAAOD,SAAS,CAACD,GAAG,CAAC,CAAD,CAAH,GAAS,OAAV,CAAT,GAA8BE,YAArC,CAFK,EAGL,OAAOA,YAAY,GAAGD,SAAS,CAACD,GAAG,CAAC,CAAD,CAAH,GAAS,OAAV,CAA/B,CAHK,CAAP;AAKD;AAED,OAAO,SAASG,KAAT,CAAgBC,GAAhB,EAA+B;EACpC,MAAMH,SAAS,GAAGH,sBAAlB;EACA,MAAMO,EAAE,GAAG,CAACD,GAAG,CAAC,CAAD,CAAH,GAAS,EAAV,IAAgB,GAA3B;EACA,OAAO,CACLH,SAAS,CAACI,EAAE,GAAGD,GAAG,CAAC,CAAD,CAAH,GAAS,GAAf,CAAT,GAA+B,OAD1B,EAELH,SAAS,CAACI,EAAD,CAFJ,EAGLJ,SAAS,CAACI,EAAE,GAAGD,GAAG,CAAC,CAAD,CAAH,GAAS,GAAf,CAAT,GAA+B,OAH1B,CAAP;AAKD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/util/color/transformSRGB.ts"],"names":["clamp","srgbForwardMatrix","srgbForwardTransform","C","srgbReverseMatrix","srgbReverseTransform","fromXYZ","xyz","rgb","Array","transform","matrix","i","Math","round","toXYZ","r","g","b"],"mappings":"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","sourcesContent":["import type { ColorInt, XYZ } from '../colorUtils'\nimport { clamp } from '../../util/helpers'\n\n// For converting XYZ to sRGB\nconst srgbForwardMatrix = [\n [3.2406, -1.5372, -0.4986],\n [-0.9689, 1.8758, 0.0415],\n [0.0557, -0.2040, 1.0570],\n]\n\n// Forward gamma adjust\nconst srgbForwardTransform = (C: number): number => (\n C <= 0.0031308\n ? C * 12.92\n : 1.055 * C ** (1 / 2.4) - 0.055\n)\n\n// For converting sRGB to XYZ\nconst srgbReverseMatrix = [\n [0.4124, 0.3576, 0.1805],\n [0.2126, 0.7152, 0.0722],\n [0.0193, 0.1192, 0.9505],\n]\n\n// Reverse gamma adjust\nconst srgbReverseTransform = (C: number): number => (\n C <= 0.04045\n ? C / 12.92\n : ((C + 0.055) / 1.055) ** 2.4\n)\n\nexport function fromXYZ (xyz: XYZ): ColorInt {\n const rgb = Array(3)\n const transform = srgbForwardTransform\n const matrix = srgbForwardMatrix\n\n // Matrix transform, then gamma adjustment\n for (let i = 0; i < 3; ++i) {\n rgb[i] = Math.round(clamp(transform(\n matrix[i][0] * xyz[0] +\n matrix[i][1] * xyz[1] +\n matrix[i][2] * xyz[2]\n )) * 255)\n }\n\n // Rescale back to [0, 255]\n return (rgb[0] << 16) + (rgb[1] << 8) + (rgb[2] << 0)\n}\n\nexport function toXYZ (rgb: ColorInt): XYZ {\n const xyz: XYZ = [0, 0, 0]\n const transform = srgbReverseTransform\n const matrix = srgbReverseMatrix\n\n // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n const r = transform((rgb >> 16 & 0xff) / 255)\n const g = transform((rgb >> 8 & 0xff) / 255)\n const b = transform((rgb >> 0 & 0xff) / 255)\n\n // Matrix color space transform\n for (let i = 0; i < 3; ++i) {\n xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b\n }\n\n return xyz\n}\n"],"file":"transformSRGB.mjs"}
1
+ {"version":3,"file":"transformSRGB.mjs","names":["clamp","srgbForwardMatrix","srgbForwardTransform","C","srgbReverseMatrix","srgbReverseTransform","fromXYZ","xyz","rgb","Array","transform","matrix","i","Math","round","toXYZ","r","g","b"],"sources":["../../../src/util/color/transformSRGB.ts"],"sourcesContent":["import type { ColorInt, XYZ } from '../colorUtils'\nimport { clamp } from '../../util/helpers'\n\n// For converting XYZ to sRGB\nconst srgbForwardMatrix = [\n [3.2406, -1.5372, -0.4986],\n [-0.9689, 1.8758, 0.0415],\n [0.0557, -0.2040, 1.0570],\n]\n\n// Forward gamma adjust\nconst srgbForwardTransform = (C: number): number => (\n C <= 0.0031308\n ? C * 12.92\n : 1.055 * C ** (1 / 2.4) - 0.055\n)\n\n// For converting sRGB to XYZ\nconst srgbReverseMatrix = [\n [0.4124, 0.3576, 0.1805],\n [0.2126, 0.7152, 0.0722],\n [0.0193, 0.1192, 0.9505],\n]\n\n// Reverse gamma adjust\nconst srgbReverseTransform = (C: number): number => (\n C <= 0.04045\n ? C / 12.92\n : ((C + 0.055) / 1.055) ** 2.4\n)\n\nexport function fromXYZ (xyz: XYZ): ColorInt {\n const rgb = Array(3)\n const transform = srgbForwardTransform\n const matrix = srgbForwardMatrix\n\n // Matrix transform, then gamma adjustment\n for (let i = 0; i < 3; ++i) {\n rgb[i] = Math.round(clamp(transform(\n matrix[i][0] * xyz[0] +\n matrix[i][1] * xyz[1] +\n matrix[i][2] * xyz[2]\n )) * 255)\n }\n\n // Rescale back to [0, 255]\n return (rgb[0] << 16) + (rgb[1] << 8) + (rgb[2] << 0)\n}\n\nexport function toXYZ (rgb: ColorInt): XYZ {\n const xyz: XYZ = [0, 0, 0]\n const transform = srgbReverseTransform\n const matrix = srgbReverseMatrix\n\n // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n const r = transform((rgb >> 16 & 0xff) / 255)\n const g = transform((rgb >> 8 & 0xff) / 255)\n const b = transform((rgb >> 0 & 0xff) / 255)\n\n // Matrix color space transform\n for (let i = 0; i < 3; ++i) {\n xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b\n }\n\n return xyz\n}\n"],"mappings":"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"}
@@ -19,7 +19,7 @@ export function colorToInt(color) {
19
19
  c = c.split('').map(char => char + char).join('');
20
20
  }
21
21
 
22
- if (c.length !== 6) {
22
+ if (c.length !== 6 && c.length !== 8) {
23
23
  consoleWarn(`'${color}' is not a valid rgb color`);
24
24
  }
25
25
 
@@ -31,7 +31,7 @@ export function colorToInt(color) {
31
31
  if (rgb < 0) {
32
32
  consoleWarn(`Colors cannot be negative: '${color}'`);
33
33
  rgb = 0;
34
- } else if (rgb > 0xffffff || isNaN(rgb)) {
34
+ } else if (rgb > 0xffffffff || isNaN(rgb)) {
35
35
  consoleWarn(`'${color}' is not a valid rgb color`);
36
36
  rgb = 0xffffff;
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/colorUtils.ts"],"names":["consoleWarn","chunk","padEnd","sRGB","CIELAB","isCssColor","color","test","colorToInt","rgb","c","startsWith","substring","length","split","map","char","join","parseInt","TypeError","constructor","name","isNaN","classToHex","colors","currentTheme","colorName","colorModifier","toString","trim","replace","hexColor","base","intToHex","repeat","colorToHex","HSVAtoRGBA","hsva","h","s","v","a","f","n","k","Math","max","min","round","r","g","b","RGBAtoHSVA","rgba","hsv","HSVAtoHSLA","l","sprime","HSLAtoHSVA","hsl","RGBAtoCSS","HSVAtoCSS","RGBtoCSS","RGBAtoHex","toHex","substr","toUpperCase","HexToRGBA","hex","slice","HexToHSVA","HSVAtoHex","parseHex","x","parseGradient","gradient","Object","values","RGBtoInt","colorToRGB","int","lighten","value","amount","lab","fromXYZ","toXYZ","darken","getLuma","getContrast","first","second","l1","l2","light","dark"],"mappings":"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","sourcesContent":["// Utilities\nimport { consoleWarn } from './console'\nimport { chunk, padEnd } from './helpers'\nimport * as sRGB from '@/util/color/transformSRGB'\nimport * as CIELAB from '@/util/color/transformCIELAB'\n\n// Types\nimport type { Colors } from '@/composables/theme'\n\nexport type ColorInt = number\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\nexport type HSV = { h: number, s: number, v: number }\nexport type HSVA = HSV & { a: number }\nexport type RGB = { r: number, g: number, b: number }\nexport type RGBA = RGB & { a: number }\nexport type HSL = { h: number, s: number, l: number }\nexport type HSLA = HSL & { a: number }\nexport type Hex = string\nexport type Hexa = string\nexport type Color = string | number | {}\n\nexport function isCssColor (color?: string | null | false): boolean {\n return !!color && /^(#|var\\(--|(rgb|hsl)a?\\()/.test(color)\n}\n\nexport function colorToInt (color: Color): ColorInt {\n let rgb\n\n if (typeof color === 'number') {\n rgb = color\n } else if (typeof color === 'string') {\n let c = color.startsWith('#') ? color.substring(1) : color\n if (c.length === 3) {\n c = c.split('').map(char => char + char).join('')\n }\n if (c.length !== 6) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n }\n rgb = parseInt(c, 16)\n } else {\n throw new TypeError(`Colors can only be numbers or strings, recieved ${color == null ? color : color.constructor.name} instead`)\n }\n\n if (rgb < 0) {\n consoleWarn(`Colors cannot be negative: '${color}'`)\n rgb = 0\n } else if (rgb > 0xffffff || isNaN(rgb)) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n rgb = 0xffffff\n }\n\n return rgb\n}\n\nexport function classToHex (\n color: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n): string {\n const [colorName, colorModifier] = color\n .toString().trim().replace('-', '').split(' ', 2) as (string | undefined)[]\n\n let hexColor = ''\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier]\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName] as string\n }\n\n return hexColor\n}\n\nexport function intToHex (color: ColorInt): string {\n let hexColor: string = color.toString(16)\n\n if (hexColor.length < 6) hexColor = '0'.repeat(6 - hexColor.length) + hexColor\n\n return '#' + hexColor\n}\n\nexport function colorToHex (color: Color): string {\n return intToHex(colorToInt(color))\n}\n\n/**\n * Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color HSVA color as an array [0-360, 0-1, 0-1, 0-1]\n */\nexport function HSVAtoRGBA (hsva: HSVA): RGBA {\n const { h, s, v, a } = hsva\n const f = (n: number) => {\n const k = (n + (h / 60)) % 6\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0)\n }\n\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255))\n\n return { r: rgb[0], g: rgb[1], b: rgb[2], a }\n}\n\n/**\n * Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color RGBA color as an array [0-255, 0-255, 0-255, 0-1]\n */\nexport function RGBAtoHSVA (rgba: RGBA): HSVA {\n if (!rgba) return { h: 0, s: 1, v: 1, a: 1 }\n\n const r = rgba.r / 255\n const g = rgba.g / 255\n const b = rgba.b / 255\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n\n let h = 0\n\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + ((g - b) / (max - min)))\n } else if (max === g) {\n h = 60 * (2 + ((b - r) / (max - min)))\n } else if (max === b) {\n h = 60 * (4 + ((r - g) / (max - min)))\n }\n }\n\n if (h < 0) h = h + 360\n\n const s = max === 0 ? 0 : (max - min) / max\n const hsv = [h, s, max]\n\n return { h: hsv[0], s: hsv[1], v: hsv[2], a: rgba.a }\n}\n\nexport function HSVAtoHSLA (hsva: HSVA): HSLA {\n const { h, s, v, a } = hsva\n\n const l = v - (v * s / 2)\n\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l)\n\n return { h, s: sprime, l, a }\n}\n\nexport function HSLAtoHSVA (hsl: HSLA): HSVA {\n const { h, s, l, a } = hsl\n\n const v = l + s * Math.min(l, 1 - l)\n\n const sprime = v === 0 ? 0 : 2 - (2 * l / v)\n\n return { h, s: sprime, v, a }\n}\n\nexport function RGBAtoCSS (rgba: RGBA): string {\n return `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`\n}\n\nexport function HSVAtoCSS (hsva: HSVA): string {\n return RGBAtoCSS(HSVAtoRGBA(hsva))\n}\n\nexport function RGBtoCSS (rgba: RGBA): string {\n return RGBAtoCSS({ ...rgba, a: 1 })\n}\n\nexport function RGBAtoHex (rgba: RGBA): Hex {\n const toHex = (v: number) => {\n const h = Math.round(v).toString(16)\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase()\n }\n\n return `#${[\n toHex(rgba.r),\n toHex(rgba.g),\n toHex(rgba.b),\n toHex(Math.round(rgba.a * 255)),\n ].join('')}`\n}\n\nexport function HexToRGBA (hex: Hex): RGBA {\n const rgba = chunk(hex.slice(1), 2).map((c: string) => parseInt(c, 16))\n\n return {\n r: rgba[0],\n g: rgba[1],\n b: rgba[2],\n a: Math.round((rgba[3] / 255) * 100) / 100,\n }\n}\n\nexport function HexToHSVA (hex: Hex): HSVA {\n const rgb = HexToRGBA(hex)\n return RGBAtoHSVA(rgb)\n}\n\nexport function HSVAtoHex (hsva: HSVA): Hex {\n return RGBAtoHex(HSVAtoRGBA(hsva))\n}\n\nexport function parseHex (hex: string): Hex {\n if (hex.startsWith('#')) {\n hex = hex.slice(1)\n }\n\n hex = hex.replace(/([^0-9a-f])/gi, 'F')\n\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('')\n }\n\n if (hex.length === 6) {\n hex = padEnd(hex, 8, 'F')\n } else {\n hex = padEnd(padEnd(hex, 6), 8, 'F')\n }\n\n return `#${hex}`.toUpperCase().substr(0, 9)\n}\n\nexport function parseGradient (\n gradient: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGBA(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',')\n })\n}\n\nexport function RGBtoInt (rgba: RGBA): ColorInt {\n return (rgba.r << 16) + (rgba.g << 8) + rgba.b\n}\n\nexport function colorToRGB (color: string) {\n const int = colorToInt(color)\n\n return {\n r: (int & 0xFF0000) >> 16,\n g: (int & 0xFF00) >> 8,\n b: (int & 0xFF),\n }\n}\n\nexport function lighten (value: ColorInt, amount: number): ColorInt {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n // TODO: why this false positive?\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n lab[0] = lab[0] + amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\nexport function darken (value: ColorInt, amount: number): ColorInt {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\n/**\n * Calculate the relative luminance of a given color\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nexport function getLuma (color: Color) {\n const rgb = colorToInt(color)\n\n return sRGB.toXYZ(rgb)[1]\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nexport function getContrast (first: Color, second: Color) {\n const l1 = getLuma(first)\n const l2 = getLuma(second)\n\n const light = Math.max(l1, l2)\n const dark = Math.min(l1, l2)\n\n return (light + 0.05) / (dark + 0.05)\n}\n"],"file":"colorUtils.mjs"}
1
+ {"version":3,"file":"colorUtils.mjs","names":["consoleWarn","chunk","padEnd","sRGB","CIELAB","isCssColor","color","test","colorToInt","rgb","c","startsWith","substring","length","split","map","char","join","parseInt","TypeError","constructor","name","isNaN","classToHex","colors","currentTheme","colorName","colorModifier","toString","trim","replace","hexColor","base","intToHex","repeat","colorToHex","HSVAtoRGBA","hsva","h","s","v","a","f","n","k","Math","max","min","round","r","g","b","RGBAtoHSVA","rgba","hsv","HSVAtoHSLA","l","sprime","HSLAtoHSVA","hsl","RGBAtoCSS","HSVAtoCSS","RGBtoCSS","RGBAtoHex","toHex","substr","toUpperCase","HexToRGBA","hex","slice","HexToHSVA","HSVAtoHex","parseHex","x","parseGradient","gradient","Object","values","RGBtoInt","colorToRGB","int","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, padEnd } from './helpers'\nimport * as sRGB from '@/util/color/transformSRGB'\nimport * as CIELAB from '@/util/color/transformCIELAB'\n\n// Types\nimport type { Colors } from '@/composables/theme'\n\nexport type ColorInt = number\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\nexport type HSV = { h: number, s: number, v: number }\nexport type HSVA = HSV & { a: number }\nexport type RGB = { r: number, g: number, b: number }\nexport type RGBA = RGB & { a: number }\nexport type HSL = { h: number, s: number, l: number }\nexport type HSLA = HSL & { a: number }\nexport type Hex = string\nexport type Hexa = string\nexport type Color = string | number | {}\n\nexport function isCssColor (color?: string | null | false): boolean {\n return !!color && /^(#|var\\(--|(rgb|hsl)a?\\()/.test(color)\n}\n\nexport function colorToInt (color: Color): ColorInt {\n let rgb\n\n if (typeof color === 'number') {\n rgb = color\n } else if (typeof color === 'string') {\n let c = color.startsWith('#') ? color.substring(1) : color\n if (c.length === 3) {\n c = c.split('').map(char => char + char).join('')\n }\n if (c.length !== 6 && c.length !== 8) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n }\n rgb = parseInt(c, 16)\n } else {\n throw new TypeError(`Colors can only be numbers or strings, recieved ${color == null ? color : color.constructor.name} instead`)\n }\n\n if (rgb < 0) {\n consoleWarn(`Colors cannot be negative: '${color}'`)\n rgb = 0\n } else if (rgb > 0xffffffff || isNaN(rgb)) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n rgb = 0xffffff\n }\n\n return rgb\n}\n\nexport function classToHex (\n color: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n): string {\n const [colorName, colorModifier] = color\n .toString().trim().replace('-', '').split(' ', 2) as (string | undefined)[]\n\n let hexColor = ''\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier]\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName] as string\n }\n\n return hexColor\n}\n\nexport function intToHex (color: ColorInt): string {\n let hexColor: string = color.toString(16)\n\n if (hexColor.length < 6) hexColor = '0'.repeat(6 - hexColor.length) + hexColor\n\n return '#' + hexColor\n}\n\nexport function colorToHex (color: Color): string {\n return intToHex(colorToInt(color))\n}\n\n/**\n * Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color HSVA color as an array [0-360, 0-1, 0-1, 0-1]\n */\nexport function HSVAtoRGBA (hsva: HSVA): RGBA {\n const { h, s, v, a } = hsva\n const f = (n: number) => {\n const k = (n + (h / 60)) % 6\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0)\n }\n\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255))\n\n return { r: rgb[0], g: rgb[1], b: rgb[2], a }\n}\n\n/**\n * Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color RGBA color as an array [0-255, 0-255, 0-255, 0-1]\n */\nexport function RGBAtoHSVA (rgba: RGBA): HSVA {\n if (!rgba) return { h: 0, s: 1, v: 1, a: 1 }\n\n const r = rgba.r / 255\n const g = rgba.g / 255\n const b = rgba.b / 255\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n\n let h = 0\n\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + ((g - b) / (max - min)))\n } else if (max === g) {\n h = 60 * (2 + ((b - r) / (max - min)))\n } else if (max === b) {\n h = 60 * (4 + ((r - g) / (max - min)))\n }\n }\n\n if (h < 0) h = h + 360\n\n const s = max === 0 ? 0 : (max - min) / max\n const hsv = [h, s, max]\n\n return { h: hsv[0], s: hsv[1], v: hsv[2], a: rgba.a }\n}\n\nexport function HSVAtoHSLA (hsva: HSVA): HSLA {\n const { h, s, v, a } = hsva\n\n const l = v - (v * s / 2)\n\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l)\n\n return { h, s: sprime, l, a }\n}\n\nexport function HSLAtoHSVA (hsl: HSLA): HSVA {\n const { h, s, l, a } = hsl\n\n const v = l + s * Math.min(l, 1 - l)\n\n const sprime = v === 0 ? 0 : 2 - (2 * l / v)\n\n return { h, s: sprime, v, a }\n}\n\nexport function RGBAtoCSS (rgba: RGBA): string {\n return `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`\n}\n\nexport function HSVAtoCSS (hsva: HSVA): string {\n return RGBAtoCSS(HSVAtoRGBA(hsva))\n}\n\nexport function RGBtoCSS (rgba: RGBA): string {\n return RGBAtoCSS({ ...rgba, a: 1 })\n}\n\nexport function RGBAtoHex (rgba: RGBA): Hex {\n const toHex = (v: number) => {\n const h = Math.round(v).toString(16)\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase()\n }\n\n return `#${[\n toHex(rgba.r),\n toHex(rgba.g),\n toHex(rgba.b),\n toHex(Math.round(rgba.a * 255)),\n ].join('')}`\n}\n\nexport function HexToRGBA (hex: Hex): RGBA {\n const rgba = chunk(hex.slice(1), 2).map((c: string) => parseInt(c, 16))\n\n return {\n r: rgba[0],\n g: rgba[1],\n b: rgba[2],\n a: Math.round((rgba[3] / 255) * 100) / 100,\n }\n}\n\nexport function HexToHSVA (hex: Hex): HSVA {\n const rgb = HexToRGBA(hex)\n return RGBAtoHSVA(rgb)\n}\n\nexport function HSVAtoHex (hsva: HSVA): Hex {\n return RGBAtoHex(HSVAtoRGBA(hsva))\n}\n\nexport function parseHex (hex: string): Hex {\n if (hex.startsWith('#')) {\n hex = hex.slice(1)\n }\n\n hex = hex.replace(/([^0-9a-f])/gi, 'F')\n\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('')\n }\n\n if (hex.length === 6) {\n hex = padEnd(hex, 8, 'F')\n } else {\n hex = padEnd(padEnd(hex, 6), 8, 'F')\n }\n\n return `#${hex}`.toUpperCase().substr(0, 9)\n}\n\nexport function parseGradient (\n gradient: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGBA(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',')\n })\n}\n\nexport function RGBtoInt (rgba: RGBA): ColorInt {\n return (rgba.r << 16) + (rgba.g << 8) + rgba.b\n}\n\nexport function colorToRGB (color: string) {\n const int = colorToInt(color)\n\n return {\n r: (int & 0xFF0000) >> 16,\n g: (int & 0xFF00) >> 8,\n b: (int & 0xFF),\n }\n}\n\nexport function lighten (value: ColorInt, amount: number): ColorInt {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n // TODO: why this false positive?\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n lab[0] = lab[0] + amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\nexport function darken (value: ColorInt, amount: number): ColorInt {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\n/**\n * Calculate the relative luminance of a given color\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nexport function getLuma (color: Color) {\n const rgb = colorToInt(color)\n\n return sRGB.toXYZ(rgb)[1]\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nexport function getContrast (first: Color, second: Color) {\n const l1 = getLuma(first)\n const l2 = getLuma(second)\n\n const light = Math.max(l1, l2)\n const dark = Math.min(l1, l2)\n\n return (light + 0.05) / (dark + 0.05)\n}\n"],"mappings":"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"}