vectis-ui 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (432) hide show
  1. package/README.md +3 -3
  2. package/dist/components/VAccordion/VAccordionItem.d.ts +4 -6
  3. package/dist/components/VAccordion/VAccordionItem.js.map +1 -1
  4. package/dist/components/VAccordion/VAccordionItem.vue_vue_type_script_setup_true_lang.js +21 -19
  5. package/dist/components/VAccordion/VAccordionItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  6. package/dist/components/VAccordion/context.d.ts +6 -1
  7. package/dist/components/VAccordion/context.js.map +1 -1
  8. package/dist/components/VAvatar/VAvatar.css +1 -1
  9. package/dist/components/VAvatar/VAvatar.d.ts +5 -3
  10. package/dist/components/VAvatar/VAvatar.js.map +1 -1
  11. package/dist/components/VAvatar/VAvatar.vue_vue_type_script_setup_true_lang.js +53 -39
  12. package/dist/components/VAvatar/VAvatar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  13. package/dist/components/VAvatar/VAvatarGroup.d.ts +12 -3
  14. package/dist/components/VAvatar/VAvatarGroup.js.map +1 -1
  15. package/dist/components/VAvatar/VAvatarGroup.vue_vue_type_script_setup_true_lang.js +27 -20
  16. package/dist/components/VAvatar/VAvatarGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  17. package/dist/components/VAvatar/context.d.ts +2 -2
  18. package/dist/components/VAvatar/context.js.map +1 -1
  19. package/dist/components/VBadge/VBadge.css +1 -1
  20. package/dist/components/VBadge/VBadge.d.ts +8 -4
  21. package/dist/components/VBadge/VBadge.js.map +1 -1
  22. package/dist/components/VBadge/VBadge.vue_vue_type_script_setup_true_lang.js +6 -3
  23. package/dist/components/VBadge/VBadge.vue_vue_type_script_setup_true_lang.js.map +1 -1
  24. package/dist/components/VBreadcrumb/VBreadcrumb.d.ts +5 -4
  25. package/dist/components/VBreadcrumb/VBreadcrumb.js.map +1 -1
  26. package/dist/components/VBreadcrumb/VBreadcrumb.vue_vue_type_script_setup_true_lang.js +8 -3
  27. package/dist/components/VBreadcrumb/VBreadcrumb.vue_vue_type_script_setup_true_lang.js.map +1 -1
  28. package/dist/components/VButton/VButton.css +1 -1
  29. package/dist/components/VButton/VButton.d.ts +4 -1
  30. package/dist/components/VButton/VButton.js.map +1 -1
  31. package/dist/components/VButton/VButton.vue_vue_type_script_setup_true_lang.js +8 -7
  32. package/dist/components/VButton/VButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  33. package/dist/components/VButton/VButtonGroup.js.map +1 -1
  34. package/dist/components/VButton/VButtonGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  35. package/dist/components/VCalendar/VCalendar.css +1 -1
  36. package/dist/components/VCalendar/VCalendar.d.ts +15 -6
  37. package/dist/components/VCalendar/VCalendar.js.map +1 -1
  38. package/dist/components/VCalendar/VCalendar.vue_vue_type_script_setup_true_lang.js +144 -126
  39. package/dist/components/VCalendar/VCalendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  40. package/dist/components/VCalendar/VCalendarEvent.css +1 -1
  41. package/dist/components/VCalendar/VCalendarEvent.d.ts +1 -1
  42. package/dist/components/VCalendar/VCalendarEvent.js.map +1 -1
  43. package/dist/components/VCalendar/VCalendarEvent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  44. package/dist/components/VCalendar/VCalendarMonth.css +1 -1
  45. package/dist/components/VCalendar/VCalendarMonth.d.ts +1 -1
  46. package/dist/components/VCalendar/VCalendarMonth.js.map +1 -1
  47. package/dist/components/VCalendar/VCalendarMonth.vue_vue_type_script_setup_true_lang.js +99 -90
  48. package/dist/components/VCalendar/VCalendarMonth.vue_vue_type_script_setup_true_lang.js.map +1 -1
  49. package/dist/components/VCalendar/VCalendarTimeGrid.css +1 -1
  50. package/dist/components/VCalendar/VCalendarTimeGrid.d.ts +3 -3
  51. package/dist/components/VCalendar/VCalendarTimeGrid.js.map +1 -1
  52. package/dist/components/VCalendar/VCalendarTimeGrid.vue_vue_type_script_setup_true_lang.js +256 -246
  53. package/dist/components/VCalendar/VCalendarTimeGrid.vue_vue_type_script_setup_true_lang.js.map +1 -1
  54. package/dist/components/VCalendar/VCalendarYear.css +1 -1
  55. package/dist/components/VCalendar/VCalendarYear.d.ts +8 -1
  56. package/dist/components/VCalendar/VCalendarYear.js.map +1 -1
  57. package/dist/components/VCalendar/VCalendarYear.vue_vue_type_script_setup_true_lang.js +39 -32
  58. package/dist/components/VCalendar/VCalendarYear.vue_vue_type_script_setup_true_lang.js.map +1 -1
  59. package/dist/components/VCalendar/color.d.ts +1 -1
  60. package/dist/components/VCalendar/color.js.map +1 -1
  61. package/dist/components/VCalendar/edgeStep.d.ts +3 -3
  62. package/dist/components/VCalendar/edgeStep.js +5 -0
  63. package/dist/components/VCalendar/edgeStep.js.map +1 -1
  64. package/dist/components/VCalendar/gesture.d.ts +10 -9
  65. package/dist/components/VCalendar/gesture.js +60 -45
  66. package/dist/components/VCalendar/gesture.js.map +1 -1
  67. package/dist/components/VCalendar/keyboard.d.ts +22 -5
  68. package/dist/components/VCalendar/keyboard.js +17 -16
  69. package/dist/components/VCalendar/keyboard.js.map +1 -1
  70. package/dist/components/VCalendar/layout.d.ts +47 -37
  71. package/dist/components/VCalendar/layout.js +47 -37
  72. package/dist/components/VCalendar/layout.js.map +1 -1
  73. package/dist/components/VCalendar/timeGrid.d.ts +4 -4
  74. package/dist/components/VCalendar/timeGrid.js +6 -6
  75. package/dist/components/VCalendar/timeGrid.js.map +1 -1
  76. package/dist/components/VCalendar/types.d.ts +5 -5
  77. package/dist/components/VCarousel/VCarousel.css +1 -1
  78. package/dist/components/VCarousel/VCarousel.d.ts +59 -38
  79. package/dist/components/VCarousel/VCarousel.js.map +1 -1
  80. package/dist/components/VCarousel/VCarousel.vue_vue_type_script_setup_true_lang.js +161 -132
  81. package/dist/components/VCarousel/VCarousel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  82. package/dist/components/VCarousel/VCarouselItem.d.ts +1 -1
  83. package/dist/components/VCarousel/VCarouselItem.js.map +1 -1
  84. package/dist/components/VCarousel/VCarouselItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  85. package/dist/components/VCarousel/context.d.ts +1 -1
  86. package/dist/components/VCarousel/context.js.map +1 -1
  87. package/dist/components/VCheckbox/VCheckbox.css +1 -1
  88. package/dist/components/VCheckbox/VCheckbox.d.ts +2 -2
  89. package/dist/components/VCheckbox/VCheckbox.js.map +1 -1
  90. package/dist/components/VCheckbox/VCheckbox.vue_vue_type_script_setup_true_lang.js +10 -8
  91. package/dist/components/VCheckbox/VCheckbox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  92. package/dist/components/VChip/VChip.css +1 -1
  93. package/dist/components/VChip/VChip.d.ts +7 -2
  94. package/dist/components/VChip/VChip.js.map +1 -1
  95. package/dist/components/VChip/VChip.vue_vue_type_script_setup_true_lang.js +69 -55
  96. package/dist/components/VChip/VChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  97. package/dist/components/VCombobox/VCombobox.css +1 -1
  98. package/dist/components/VCombobox/VCombobox.d.ts +50 -36
  99. package/dist/components/VCombobox/VCombobox.js.map +1 -1
  100. package/dist/components/VCombobox/VCombobox.vue_vue_type_script_setup_true_lang.js +167 -161
  101. package/dist/components/VCombobox/VCombobox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  102. package/dist/components/VCombobox/VComboboxGroup.css +1 -1
  103. package/dist/components/VCombobox/VComboboxGroup.js.map +1 -1
  104. package/dist/components/VCombobox/VComboboxGroup.vue_vue_type_script_setup_true_lang.js +1 -1
  105. package/dist/components/VCombobox/VComboboxGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  106. package/dist/components/VCombobox/infiniteScroll.d.ts +12 -3
  107. package/dist/components/VCombobox/infiniteScroll.js +18 -12
  108. package/dist/components/VCombobox/infiniteScroll.js.map +1 -1
  109. package/dist/components/VDataTable/VDataTable.css +1 -1
  110. package/dist/components/VDataTable/VDataTable.d.ts +55 -24
  111. package/dist/components/VDataTable/VDataTable.js.map +1 -1
  112. package/dist/components/VDataTable/VDataTable.vue_vue_type_script_setup_true_lang.js +192 -155
  113. package/dist/components/VDataTable/VDataTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  114. package/dist/components/VDateInput/VDateInput.css +1 -1
  115. package/dist/components/VDateInput/VDateInput.d.ts +15 -12
  116. package/dist/components/VDateInput/VDateInput.js.map +1 -1
  117. package/dist/components/VDateInput/VDateInput.vue_vue_type_script_setup_true_lang.js +180 -160
  118. package/dist/components/VDateInput/VDateInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  119. package/dist/components/VDateInput/mask.d.ts +95 -0
  120. package/dist/components/VDateInput/mask.js +118 -0
  121. package/dist/components/VDateInput/mask.js.map +1 -0
  122. package/dist/components/VDatePicker/VDatePicker.css +1 -1
  123. package/dist/components/VDatePicker/VDatePicker.d.ts +6 -5
  124. package/dist/components/VDatePicker/VDatePicker.js.map +1 -1
  125. package/dist/components/VDatePicker/VDatePicker.vue_vue_type_script_setup_true_lang.js +204 -173
  126. package/dist/components/VDatePicker/VDatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  127. package/dist/components/VDatePicker/keyboard.d.ts +3 -3
  128. package/dist/components/VDatePicker/keyboard.js.map +1 -1
  129. package/dist/components/VDatePicker/names.d.ts +34 -0
  130. package/dist/components/VDatePicker/names.js +42 -0
  131. package/dist/components/VDatePicker/names.js.map +1 -0
  132. package/dist/components/VDialog/VDialog.css +1 -1
  133. package/dist/components/VDialog/VDialog.d.ts +2 -2
  134. package/dist/components/VDialog/VDialog.js.map +1 -1
  135. package/dist/components/VDialog/VDialog.vue_vue_type_script_setup_true_lang.js +63 -41
  136. package/dist/components/VDialog/VDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  137. package/dist/components/VFileInput/VFileInput.d.ts +38 -25
  138. package/dist/components/VFileInput/VFileInput.js.map +1 -1
  139. package/dist/components/VFileInput/VFileInput.vue_vue_type_script_setup_true_lang.js +74 -71
  140. package/dist/components/VFileInput/VFileInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  141. package/dist/components/VFileInput/truncate.d.ts +4 -4
  142. package/dist/components/VFileInput/truncate.js.map +1 -1
  143. package/dist/components/VFilePicker/VFilePicker.css +1 -1
  144. package/dist/components/VFilePicker/VFilePicker.d.ts +54 -37
  145. package/dist/components/VFilePicker/VFilePicker.js.map +1 -1
  146. package/dist/components/VFilePicker/VFilePicker.vue_vue_type_script_setup_true_lang.js +152 -135
  147. package/dist/components/VFilePicker/VFilePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  148. package/dist/components/VFilePicker/fileKind.d.ts +2 -2
  149. package/dist/components/VFilePicker/fileKind.js.map +1 -1
  150. package/dist/components/VHotkeys/VHotkeys.css +1 -1
  151. package/dist/components/VHotkeys/VHotkeys.d.ts +10 -8
  152. package/dist/components/VHotkeys/VHotkeys.js.map +1 -1
  153. package/dist/components/VHotkeys/VHotkeys.vue_vue_type_script_setup_true_lang.js +22 -20
  154. package/dist/components/VHotkeys/VHotkeys.vue_vue_type_script_setup_true_lang.js.map +1 -1
  155. package/dist/components/VHotkeys/platform.d.ts +9 -7
  156. package/dist/components/VHotkeys/platform.js +41 -30
  157. package/dist/components/VHotkeys/platform.js.map +1 -1
  158. package/dist/components/VIcon/VIcon.css +1 -1
  159. package/dist/components/VIcon/VIcon.d.ts +6 -6
  160. package/dist/components/VIcon/VIcon.js.map +1 -1
  161. package/dist/components/VIcon/VIcon.vue_vue_type_script_setup_true_lang.js.map +1 -1
  162. package/dist/components/VIcon/iconProps.d.ts +4 -4
  163. package/dist/components/VIcon/iconProps.js.map +1 -1
  164. package/dist/components/VIcon/icons/index.d.ts +1 -1
  165. package/dist/components/VIcon/icons/index.js.map +1 -1
  166. package/dist/components/VIcon/icons/names.d.ts +1 -1
  167. package/dist/components/VIcon/icons/names.js.map +1 -1
  168. package/dist/components/VIcon/resolver.d.ts +3 -3
  169. package/dist/components/VIcon/resolver.js +23 -20
  170. package/dist/components/VIcon/resolver.js.map +1 -1
  171. package/dist/components/VIcon/types.d.ts +4 -4
  172. package/dist/components/VIconButton/VIconButton.d.ts +4 -4
  173. package/dist/components/VIconButton/VIconButton.js.map +1 -1
  174. package/dist/components/VIconButton/VIconButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  175. package/dist/components/VInput/VInput.d.ts +16 -8
  176. package/dist/components/VInput/VInput.js.map +1 -1
  177. package/dist/components/VInput/VInput.vue_vue_type_script_setup_true_lang.js +22 -16
  178. package/dist/components/VInput/VInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  179. package/dist/components/VInput/VInputGroup.css +1 -1
  180. package/dist/components/VInput/VInputGroup.js.map +1 -1
  181. package/dist/components/VInput/VInputGroup.vue_vue_type_script_setup_true_lang.js +43 -28
  182. package/dist/components/VInput/VInputGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  183. package/dist/components/VInputOTP/VInputOTP.css +1 -1
  184. package/dist/components/VInputOTP/VInputOTP.d.ts +3 -3
  185. package/dist/components/VInputOTP/VInputOTP.js.map +1 -1
  186. package/dist/components/VInputOTP/VInputOTP.vue_vue_type_script_setup_true_lang.js +152 -85
  187. package/dist/components/VInputOTP/VInputOTP.vue_vue_type_script_setup_true_lang.js.map +1 -1
  188. package/dist/components/VMenu/VMenu.d.ts +4 -4
  189. package/dist/components/VMenu/VMenu.js.map +1 -1
  190. package/dist/components/VMenu/VMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  191. package/dist/components/VMenu/VMenuGroup.css +1 -1
  192. package/dist/components/VMenu/VMenuGroup.js.map +1 -1
  193. package/dist/components/VMenu/VMenuGroup.vue_vue_type_script_setup_true_lang.js +18 -11
  194. package/dist/components/VMenu/VMenuGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  195. package/dist/components/VMenu/VMenuItem.css +1 -1
  196. package/dist/components/VMenu/VMenuItem.d.ts +6 -6
  197. package/dist/components/VMenu/VMenuItem.js.map +1 -1
  198. package/dist/components/VMenu/VMenuItem.vue_vue_type_script_setup_true_lang.js +83 -69
  199. package/dist/components/VMenu/VMenuItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  200. package/dist/components/VMenu/VMenuPanel.css +1 -1
  201. package/dist/components/VMenu/VMenuPanel.d.ts +2 -2
  202. package/dist/components/VMenu/VMenuPanel.js.map +1 -1
  203. package/dist/components/VMenu/VMenuPanel.vue_vue_type_script_setup_true_lang.js +56 -55
  204. package/dist/components/VMenu/VMenuPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  205. package/dist/components/VMenu/context.d.ts +2 -2
  206. package/dist/components/VMenu/context.js.map +1 -1
  207. package/dist/components/VPagination/VPagination.css +1 -1
  208. package/dist/components/VPagination/VPagination.d.ts +22 -9
  209. package/dist/components/VPagination/VPagination.js.map +1 -1
  210. package/dist/components/VPagination/VPagination.vue_vue_type_script_setup_true_lang.js +67 -57
  211. package/dist/components/VPagination/VPagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
  212. package/dist/components/VPopover/VPopover.css +1 -1
  213. package/dist/components/VPopover/VPopover.d.ts +1 -1
  214. package/dist/components/VPopover/VPopover.js.map +1 -1
  215. package/dist/components/VPopover/VPopover.vue_vue_type_script_setup_true_lang.js.map +1 -1
  216. package/dist/components/VProgressCircular/VProgressCircular.css +1 -1
  217. package/dist/components/VProgressCircular/VProgressCircular.d.ts +12 -7
  218. package/dist/components/VProgressCircular/VProgressCircular.js.map +1 -1
  219. package/dist/components/VProgressCircular/VProgressCircular.vue_vue_type_script_setup_true_lang.js.map +1 -1
  220. package/dist/components/VProgressLinear/VProgressLinear.css +1 -1
  221. package/dist/components/VProgressLinear/VProgressLinear.d.ts +15 -10
  222. package/dist/components/VProgressLinear/VProgressLinear.js.map +1 -1
  223. package/dist/components/VProgressLinear/VProgressLinear.vue_vue_type_script_setup_true_lang.js.map +1 -1
  224. package/dist/components/VRadio/VRadio.css +1 -1
  225. package/dist/components/VRadio/VRadio.js.map +1 -1
  226. package/dist/components/VRadio/VRadio.vue_vue_type_script_setup_true_lang.js +3 -3
  227. package/dist/components/VRadio/VRadio.vue_vue_type_script_setup_true_lang.js.map +1 -1
  228. package/dist/components/VSeparator/VSeparator.d.ts +1 -1
  229. package/dist/components/VSeparator/VSeparator.js.map +1 -1
  230. package/dist/components/VSeparator/VSeparator.vue_vue_type_script_setup_true_lang.js.map +1 -1
  231. package/dist/components/VSideNavigation/VSideNavigation.d.ts +2 -2
  232. package/dist/components/VSideNavigation/VSideNavigation.js.map +1 -1
  233. package/dist/components/VSideNavigation/VSideNavigation.vue_vue_type_script_setup_true_lang.js +1 -1
  234. package/dist/components/VSideNavigation/VSideNavigation.vue_vue_type_script_setup_true_lang.js.map +1 -1
  235. package/dist/components/VSideNavigation/VSideNavigationGroup.css +1 -1
  236. package/dist/components/VSideNavigation/VSideNavigationGroup.js.map +1 -1
  237. package/dist/components/VSideNavigation/VSideNavigationGroup.vue_vue_type_script_setup_true_lang.js +1 -1
  238. package/dist/components/VSideNavigation/VSideNavigationGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  239. package/dist/components/VSideNavigation/VSideNavigationItem.css +1 -1
  240. package/dist/components/VSideNavigation/VSideNavigationItem.d.ts +12 -13
  241. package/dist/components/VSideNavigation/VSideNavigationItem.js.map +1 -1
  242. package/dist/components/VSideNavigation/VSideNavigationItem.vue_vue_type_script_setup_true_lang.js +87 -68
  243. package/dist/components/VSideNavigation/VSideNavigationItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  244. package/dist/components/VSkeletonLoader/VSkeletonLoader.css +1 -1
  245. package/dist/components/VSkeletonLoader/VSkeletonLoader.d.ts +10 -7
  246. package/dist/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  247. package/dist/components/VSkeletonLoader/VSkeletonLoader.vue_vue_type_script_setup_true_lang.js +5 -5
  248. package/dist/components/VSkeletonLoader/VSkeletonLoader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  249. package/dist/components/VSlider/VSlider.css +1 -1
  250. package/dist/components/VSlider/VSlider.d.ts +21 -7
  251. package/dist/components/VSlider/VSlider.js.map +1 -1
  252. package/dist/components/VSlider/VSlider.vue_vue_type_script_setup_true_lang.js +159 -140
  253. package/dist/components/VSlider/VSlider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  254. package/dist/components/VSnackbar/VSnackbar.css +1 -1
  255. package/dist/components/VSnackbar/VSnackbar.d.ts +4 -4
  256. package/dist/components/VSnackbar/VSnackbar.js.map +1 -1
  257. package/dist/components/VSnackbar/VSnackbar.vue_vue_type_script_setup_true_lang.js +85 -59
  258. package/dist/components/VSnackbar/VSnackbar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  259. package/dist/components/VSnackbar/state.d.ts +7 -7
  260. package/dist/components/VSnackbar/state.js +13 -11
  261. package/dist/components/VSnackbar/state.js.map +1 -1
  262. package/dist/components/VSpinner/VSpinner.css +1 -1
  263. package/dist/components/VSpinner/VSpinner.js.map +1 -1
  264. package/dist/components/VSpinner/VSpinner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  265. package/dist/components/VSwitch/VSwitch.css +1 -1
  266. package/dist/components/VSwitch/VSwitch.d.ts +1 -1
  267. package/dist/components/VSwitch/VSwitch.js.map +1 -1
  268. package/dist/components/VSwitch/VSwitch.vue_vue_type_script_setup_true_lang.js +4 -4
  269. package/dist/components/VSwitch/VSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  270. package/dist/components/VTabs/VTab.css +1 -1
  271. package/dist/components/VTabs/VTab.d.ts +4 -0
  272. package/dist/components/VTabs/VTab.js.map +1 -1
  273. package/dist/components/VTabs/VTab.vue_vue_type_script_setup_true_lang.js +9 -8
  274. package/dist/components/VTabs/VTab.vue_vue_type_script_setup_true_lang.js.map +1 -1
  275. package/dist/components/VTabs/VTabs.css +1 -1
  276. package/dist/components/VTabs/VTabs.d.ts +17 -7
  277. package/dist/components/VTabs/VTabs.js.map +1 -1
  278. package/dist/components/VTabs/VTabs.vue_vue_type_script_setup_true_lang.js +84 -77
  279. package/dist/components/VTabs/VTabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
  280. package/dist/components/VTextarea/VTextarea.d.ts +8 -8
  281. package/dist/components/VTextarea/VTextarea.js.map +1 -1
  282. package/dist/components/VTextarea/VTextarea.vue_vue_type_script_setup_true_lang.js +71 -69
  283. package/dist/components/VTextarea/VTextarea.vue_vue_type_script_setup_true_lang.js.map +1 -1
  284. package/dist/components/VTimeInput/VTimeInput.css +1 -1
  285. package/dist/components/VTimeInput/VTimeInput.d.ts +21 -12
  286. package/dist/components/VTimeInput/VTimeInput.js.map +1 -1
  287. package/dist/components/VTimeInput/VTimeInput.vue_vue_type_script_setup_true_lang.js +230 -206
  288. package/dist/components/VTimeInput/VTimeInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  289. package/dist/components/VTimeInput/search.d.ts +17 -2
  290. package/dist/components/VTimeInput/search.js +19 -9
  291. package/dist/components/VTimeInput/search.js.map +1 -1
  292. package/dist/components/VTimePicker/VTimePicker.css +1 -1
  293. package/dist/components/VTimePicker/VTimePicker.d.ts +8 -7
  294. package/dist/components/VTimePicker/VTimePicker.js.map +1 -1
  295. package/dist/components/VTimePicker/VTimePicker.vue_vue_type_script_setup_true_lang.js +128 -106
  296. package/dist/components/VTimePicker/VTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  297. package/dist/components/VTimePicker/limits.d.ts +11 -4
  298. package/dist/components/VTimePicker/limits.js +3 -2
  299. package/dist/components/VTimePicker/limits.js.map +1 -1
  300. package/dist/components/VToast/VToast.css +1 -1
  301. package/dist/components/VToast/VToast.js.map +1 -1
  302. package/dist/components/VToast/VToast.vue_vue_type_script_setup_true_lang.js +33 -37
  303. package/dist/components/VToast/VToast.vue_vue_type_script_setup_true_lang.js.map +1 -1
  304. package/dist/components/VToast/VToaster.js.map +1 -1
  305. package/dist/components/VToast/VToaster.vue_vue_type_script_setup_true_lang.js +91 -61
  306. package/dist/components/VToast/VToaster.vue_vue_type_script_setup_true_lang.js.map +1 -1
  307. package/dist/components/VToast/state.d.ts +8 -6
  308. package/dist/components/VToast/state.js +15 -13
  309. package/dist/components/VToast/state.js.map +1 -1
  310. package/dist/components/VToggle/VToggle.css +1 -1
  311. package/dist/components/VToggle/VToggle.d.ts +9 -4
  312. package/dist/components/VToggle/VToggle.js.map +1 -1
  313. package/dist/components/VToggle/VToggle.vue_vue_type_script_setup_true_lang.js +2 -1
  314. package/dist/components/VToggle/VToggle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  315. package/dist/components/VToggle/VToggleItem.d.ts +4 -0
  316. package/dist/components/VToggle/VToggleItem.js.map +1 -1
  317. package/dist/components/VToggle/VToggleItem.vue_vue_type_script_setup_true_lang.js +5 -5
  318. package/dist/components/VToggle/VToggleItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  319. package/dist/components/VTooltip/VTooltip.css +1 -1
  320. package/dist/components/VTooltip/VTooltip.d.ts +17 -10
  321. package/dist/components/VTooltip/VTooltip.js.map +1 -1
  322. package/dist/components/VTooltip/VTooltip.vue_vue_type_script_setup_true_lang.js +46 -26
  323. package/dist/components/VTooltip/VTooltip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  324. package/dist/components/VTypography/VTypography.css +1 -1
  325. package/dist/components/VTypography/VTypography.d.ts +6 -4
  326. package/dist/components/VTypography/VTypography.js.map +1 -1
  327. package/dist/components/VTypography/VTypography.vue_vue_type_script_setup_true_lang.js.map +1 -1
  328. package/dist/composables/useAriaLabel.js +1 -1
  329. package/dist/composables/useAriaLabel.js.map +1 -1
  330. package/dist/composables/useClearable.d.ts +2 -2
  331. package/dist/composables/useClearable.js.map +1 -1
  332. package/dist/composables/useDetailsOpen.d.ts +3 -3
  333. package/dist/composables/useDetailsOpen.js +14 -12
  334. package/dist/composables/useDetailsOpen.js.map +1 -1
  335. package/dist/composables/useFieldIds.d.ts +2 -1
  336. package/dist/composables/useFieldIds.js +6 -5
  337. package/dist/composables/useFieldIds.js.map +1 -1
  338. package/dist/composables/useFieldPanel.d.ts +2 -2
  339. package/dist/composables/useFieldPanel.js +47 -37
  340. package/dist/composables/useFieldPanel.js.map +1 -1
  341. package/dist/composables/useFileDrop.js +3 -3
  342. package/dist/composables/useFileDrop.js.map +1 -1
  343. package/dist/composables/useFileField.d.ts +1 -1
  344. package/dist/composables/useFileField.js +62 -41
  345. package/dist/composables/useFileField.js.map +1 -1
  346. package/dist/composables/useIconClickHandlers.d.ts +3 -3
  347. package/dist/composables/useIconClickHandlers.js +14 -13
  348. package/dist/composables/useIconClickHandlers.js.map +1 -1
  349. package/dist/composables/useInertLink.js +12 -10
  350. package/dist/composables/useInertLink.js.map +1 -1
  351. package/dist/composables/useLiveAnnouncer.d.ts +5 -0
  352. package/dist/composables/useLiveAnnouncer.js +23 -0
  353. package/dist/composables/useLiveAnnouncer.js.map +1 -0
  354. package/dist/composables/useMaskedField.d.ts +5 -5
  355. package/dist/composables/useMaskedField.js.map +1 -1
  356. package/dist/composables/usePopover.d.ts +3 -3
  357. package/dist/composables/usePopover.js +6 -4
  358. package/dist/composables/usePopover.js.map +1 -1
  359. package/dist/composables/useProgressValue.js +11 -2
  360. package/dist/composables/useProgressValue.js.map +1 -1
  361. package/dist/composables/useRootAttrs.d.ts +1 -1
  362. package/dist/composables/useRootAttrs.js.map +1 -1
  363. package/dist/composables/useSlotNodes.d.ts +18 -0
  364. package/dist/composables/useSlotNodes.js +13 -0
  365. package/dist/composables/useSlotNodes.js.map +1 -0
  366. package/dist/composables/useTextLimit.d.ts +2 -1
  367. package/dist/composables/useTextLimit.js +2 -2
  368. package/dist/composables/useTextLimit.js.map +1 -1
  369. package/dist/composables/useTimer.d.ts +5 -0
  370. package/dist/composables/useTimer.js +22 -11
  371. package/dist/composables/useTimer.js.map +1 -1
  372. package/dist/i18n/en.js +1 -1
  373. package/dist/i18n/en.js.map +1 -1
  374. package/dist/i18n/fr.js +14 -14
  375. package/dist/i18n/fr.js.map +1 -1
  376. package/dist/i18n/state.d.ts +7 -7
  377. package/dist/i18n/state.js +37 -28
  378. package/dist/i18n/state.js.map +1 -1
  379. package/dist/i18n/types.d.ts +12 -12
  380. package/dist/icons.d.ts +2 -2
  381. package/dist/index.d.ts +12 -11
  382. package/dist/styles.css +1 -1
  383. package/dist/tokens/css.d.ts +1 -1
  384. package/dist/tokens/css.js.map +1 -1
  385. package/dist/tokens/index.d.ts +6 -0
  386. package/dist/tokens/semantic.d.ts +6 -0
  387. package/dist/tokens/semantic.js +66 -60
  388. package/dist/tokens/semantic.js.map +1 -1
  389. package/dist/tokens/themes/dark.js +3 -3
  390. package/dist/tokens/themes/dark.js.map +1 -1
  391. package/dist/tokens.json +130 -66
  392. package/dist/types.d.ts +1 -1
  393. package/dist/utils/arrowNav.d.ts +4 -1
  394. package/dist/utils/arrowNav.js +7 -7
  395. package/dist/utils/arrowNav.js.map +1 -1
  396. package/dist/utils/chip.d.ts +1 -1
  397. package/dist/utils/chip.js.map +1 -1
  398. package/dist/utils/clock.d.ts +113 -0
  399. package/dist/utils/clock.js +84 -0
  400. package/dist/utils/clock.js.map +1 -0
  401. package/dist/utils/css.d.ts +6 -4
  402. package/dist/utils/css.js +2 -2
  403. package/dist/utils/css.js.map +1 -1
  404. package/dist/utils/date.d.ts +7 -102
  405. package/dist/utils/date.js +33 -160
  406. package/dist/utils/date.js.map +1 -1
  407. package/dist/utils/direction.d.ts +1 -1
  408. package/dist/utils/direction.js.map +1 -1
  409. package/dist/utils/env.d.ts +12 -3
  410. package/dist/utils/env.js +6 -0
  411. package/dist/utils/env.js.map +1 -0
  412. package/dist/utils/file.d.ts +3 -3
  413. package/dist/utils/file.js +1 -1
  414. package/dist/utils/file.js.map +1 -1
  415. package/dist/utils/focus.d.ts +1 -1
  416. package/dist/utils/focus.js.map +1 -1
  417. package/dist/utils/hostWarns.d.ts +1 -1
  418. package/dist/utils/hostWarns.js.map +1 -1
  419. package/dist/utils/ids.d.ts +1 -1
  420. package/dist/utils/ids.js.map +1 -1
  421. package/dist/utils/matcher.d.ts +2 -2
  422. package/dist/utils/matcher.js.map +1 -1
  423. package/dist/utils/memo.d.ts +1 -1
  424. package/dist/utils/memo.js.map +1 -1
  425. package/dist/utils/text.d.ts +3 -3
  426. package/dist/utils/text.js.map +1 -1
  427. package/dist/utils/time.d.ts +2 -101
  428. package/dist/utils/time.js +22 -98
  429. package/dist/utils/time.js.map +1 -1
  430. package/dist/utils/vnode.d.ts +5 -3
  431. package/dist/utils/vnode.js.map +1 -1
  432. package/package.json +2 -2
package/dist/tokens.json CHANGED
@@ -569,7 +569,7 @@
569
569
  "surface-skeleton": {
570
570
  "$type": "color",
571
571
  "$value": "{color.gray.200}",
572
- "$description": "The background of the loading silhouettes (VSkeletonLoader); the highlight derives from it in CSS"
572
+ "$description": "The background of VSkeletonLoader's silhouettes, from which its highlight is derived"
573
573
  },
574
574
  "text-on-inverse": {
575
575
  "$type": "color",
@@ -578,11 +578,13 @@
578
578
  },
579
579
  "text": {
580
580
  "$type": "color",
581
- "$value": "{color.gray.900}"
581
+ "$value": "{color.gray.900}",
582
+ "$description": "The running text of the interface"
582
583
  },
583
584
  "text-muted": {
584
585
  "$type": "color",
585
- "$value": "{color.gray.600}"
586
+ "$value": "{color.gray.600}",
587
+ "$description": "Secondary text: hints, captions, descriptions, start icons"
586
588
  },
587
589
  "text-subtle": {
588
590
  "$type": "color",
@@ -601,7 +603,8 @@
601
603
  },
602
604
  "border": {
603
605
  "$type": "color",
604
- "$value": "{color.gray.200}"
606
+ "$value": "{color.gray.200}",
607
+ "$description": "Dividers, and the frames of cards, tables and panels"
605
608
  },
606
609
  "border-strong": {
607
610
  "$type": "color",
@@ -610,15 +613,18 @@
610
613
  },
611
614
  "accent": {
612
615
  "$type": "color",
613
- "$value": "{color.indigo.600}"
616
+ "$value": "{color.indigo.600}",
617
+ "$description": "The brand color: solid buttons, checked controls, the selected item"
614
618
  },
615
619
  "accent-hover": {
616
620
  "$type": "color",
617
- "$value": "{color.indigo.700}"
621
+ "$value": "{color.indigo.700}",
622
+ "$description": "The accent color under the pointer"
618
623
  },
619
624
  "accent-active": {
620
625
  "$type": "color",
621
- "$value": "{color.indigo.800}"
626
+ "$value": "{color.indigo.800}",
627
+ "$description": "The accent color while pressed"
622
628
  },
623
629
  "accent-surface": {
624
630
  "$type": "color",
@@ -627,7 +633,8 @@
627
633
  },
628
634
  "accent-border": {
629
635
  "$type": "color",
630
- "$value": "{color.indigo.200}"
636
+ "$value": "{color.indigo.200}",
637
+ "$description": "The border of a tinted accent element, matching the accent surface"
631
638
  },
632
639
  "accent-text": {
633
640
  "$type": "color",
@@ -636,75 +643,93 @@
636
643
  },
637
644
  "danger": {
638
645
  "$type": "color",
639
- "$value": "{color.red.600}"
646
+ "$value": "{color.red.600}",
647
+ "$description": "Destructive actions and errors: solid buttons, error states"
640
648
  },
641
649
  "danger-hover": {
642
650
  "$type": "color",
643
- "$value": "{color.red.700}"
651
+ "$value": "{color.red.700}",
652
+ "$description": "The danger color under the pointer"
644
653
  },
645
654
  "danger-active": {
646
655
  "$type": "color",
647
- "$value": "{color.red.800}"
656
+ "$value": "{color.red.800}",
657
+ "$description": "The danger color while pressed"
648
658
  },
649
659
  "danger-surface": {
650
660
  "$type": "color",
651
- "$value": "{color.red.50}"
661
+ "$value": "{color.red.50}",
662
+ "$description": "A tinted danger background (soft buttons and chips, a destructive menu item)"
652
663
  },
653
664
  "danger-border": {
654
665
  "$type": "color",
655
- "$value": "{color.red.200}"
666
+ "$value": "{color.red.200}",
667
+ "$description": "The border of a tinted danger element, matching the danger surface"
656
668
  },
657
669
  "danger-text": {
658
670
  "$type": "color",
659
- "$value": "{color.red.700}"
671
+ "$value": "{color.red.700}",
672
+ "$description": "Danger text on a neutral or tinted background: error messages, a destructive menu item"
660
673
  },
661
674
  "success": {
662
675
  "$type": "color",
663
- "$value": "{color.green.700}"
676
+ "$value": "{color.green.700}",
677
+ "$description": "A positive outcome: solid chips, badges, notifications"
664
678
  },
665
679
  "success-hover": {
666
680
  "$type": "color",
667
- "$value": "{color.green.800}"
681
+ "$value": "{color.green.800}",
682
+ "$description": "The success color under the pointer"
668
683
  },
669
684
  "success-active": {
670
685
  "$type": "color",
671
- "$value": "{color.green.900}"
686
+ "$value": "{color.green.900}",
687
+ "$description": "The success color while pressed"
672
688
  },
673
689
  "success-surface": {
674
690
  "$type": "color",
675
- "$value": "{color.green.50}"
691
+ "$value": "{color.green.50}",
692
+ "$description": "A tinted success background (soft chips, badges, notifications)"
676
693
  },
677
694
  "success-border": {
678
695
  "$type": "color",
679
- "$value": "{color.green.200}"
696
+ "$value": "{color.green.200}",
697
+ "$description": "The border of a tinted success element, matching the success surface"
680
698
  },
681
699
  "success-text": {
682
700
  "$type": "color",
683
- "$value": "{color.green.800}"
701
+ "$value": "{color.green.800}",
702
+ "$description": "Success text on a neutral or tinted background"
684
703
  },
685
704
  "warning": {
686
705
  "$type": "color",
687
- "$value": "{color.amber.600}"
706
+ "$value": "{color.amber.600}",
707
+ "$description": "A situation that calls for attention: solid chips, badges, notifications"
688
708
  },
689
709
  "warning-hover": {
690
710
  "$type": "color",
691
- "$value": "{color.amber.700}"
711
+ "$value": "{color.amber.700}",
712
+ "$description": "The warning color under the pointer"
692
713
  },
693
714
  "warning-active": {
694
715
  "$type": "color",
695
- "$value": "{color.amber.800}"
716
+ "$value": "{color.amber.800}",
717
+ "$description": "The warning color while pressed"
696
718
  },
697
719
  "warning-surface": {
698
720
  "$type": "color",
699
- "$value": "{color.amber.50}"
721
+ "$value": "{color.amber.50}",
722
+ "$description": "A tinted warning background (soft chips, badges, notifications)"
700
723
  },
701
724
  "warning-border": {
702
725
  "$type": "color",
703
- "$value": "{color.amber.200}"
726
+ "$value": "{color.amber.200}",
727
+ "$description": "The border of a tinted warning element, matching the warning surface"
704
728
  },
705
729
  "warning-text": {
706
730
  "$type": "color",
707
- "$value": "{color.amber.900}"
731
+ "$value": "{color.amber.900}",
732
+ "$description": "Warning text on a neutral or tinted background"
708
733
  },
709
734
  "backdrop": {
710
735
  "$type": "color",
@@ -713,35 +738,35 @@
713
738
  },
714
739
  "event-surface": {
715
740
  "$type": "color",
716
- "$value": "oklch(0.95 0.045 var(--vectis-calendar-event-hue, 265))",
717
- "$description": "The face of a calendar event that carries no colour of its own"
741
+ "$value": "oklch(0.95 0.045 265)",
742
+ "$description": "The face of a calendar event that carries no color of its own"
718
743
  },
719
744
  "event-border": {
720
745
  "$type": "color",
721
- "$value": "oklch(0.85 0.08 var(--vectis-calendar-event-hue, 265))",
722
- "$description": "The edge of that event, and the bar marking its leading side"
746
+ "$value": "oklch(0.85 0.08 265)",
747
+ "$description": "The edge of that calendar event, and the bar marking its leading side"
723
748
  },
724
749
  "event-text": {
725
750
  "$type": "color",
726
- "$value": "oklch(0.4 0.11 var(--vectis-calendar-event-hue, 265))",
727
- "$description": "The title written on that face"
751
+ "$value": "oklch(0.4 0.11 265)",
752
+ "$description": "The title of that calendar event"
728
753
  }
729
754
  },
730
755
  "text": {
731
756
  "family": {
732
757
  "$type": "fontFamily",
733
758
  "$value": "{font.family.sans}",
734
- "$description": "The font of all the design system text"
759
+ "$description": "The running font of every component"
735
760
  },
736
761
  "family-heading": {
737
762
  "$type": "fontFamily",
738
763
  "$value": "{font.family.display}",
739
- "$description": "The font of the display and heading roles; identical to the running font until it is overridden"
764
+ "$description": "The font of the display and heading roles, the running font until it is overridden"
740
765
  },
741
766
  "family-code": {
742
767
  "$type": "fontFamily",
743
768
  "$value": "{font.family.mono}",
744
- "$description": "The font of code content (the code variant, VInputOTP)"
769
+ "$description": "The font of code content (the code role, VInputOTP)"
745
770
  },
746
771
  "display": {
747
772
  "size": {
@@ -984,19 +1009,20 @@
984
1009
  },
985
1010
  "pill": {
986
1011
  "$type": "dimension",
987
- "$value": "{radius.full}"
1012
+ "$value": "{radius.full}",
1013
+ "$description": "Full rounding: switches, badges, pill-shaped chips"
988
1014
  },
989
1015
  "chip": {
990
1016
  "$type": "dimension",
991
1017
  "$value": "{radius.interactive}",
992
- "$description": "Chips (shape=\"chip\"), follows interactive by default"
1018
+ "$description": "Chips with shape=\"chip\", which follow the interactive radius by default"
993
1019
  }
994
1020
  },
995
1021
  "duration": {
996
1022
  "fast": {
997
1023
  "$type": "duration",
998
1024
  "$value": "{duration.150}",
999
- "$description": "Colour and border changes on hover, focus, press"
1025
+ "$description": "Color and border changes on hover, focus and press"
1000
1026
  },
1001
1027
  "base": {
1002
1028
  "$type": "duration",
@@ -1012,37 +1038,45 @@
1012
1038
  "focus": {
1013
1039
  "ring-color": {
1014
1040
  "$type": "color",
1015
- "$value": "{color.indigo.500}"
1041
+ "$value": "{color.indigo.500}",
1042
+ "$description": "The keyboard focus ring, which has to stand out against the page"
1016
1043
  },
1017
1044
  "ring-width": {
1018
1045
  "$type": "dimension",
1019
- "$value": "2px"
1046
+ "$value": "2px",
1047
+ "$description": "The thickness of the focus ring"
1020
1048
  },
1021
1049
  "ring-offset": {
1022
1050
  "$type": "dimension",
1023
- "$value": "2px"
1051
+ "$value": "2px",
1052
+ "$description": "The gap between a control and its focus ring"
1024
1053
  }
1025
1054
  },
1026
1055
  "control": {
1027
1056
  "height-xs": {
1028
1057
  "$type": "dimension",
1029
- "$value": "1.5rem"
1058
+ "$value": "1.5rem",
1059
+ "$description": "The height of every control at size=\"xs\" (24px), 4px less when compact"
1030
1060
  },
1031
1061
  "height-sm": {
1032
1062
  "$type": "dimension",
1033
- "$value": "2rem"
1063
+ "$value": "2rem",
1064
+ "$description": "The height of every control at size=\"sm\" (32px), 4px less when compact"
1034
1065
  },
1035
1066
  "height-md": {
1036
1067
  "$type": "dimension",
1037
- "$value": "2.5rem"
1068
+ "$value": "2.5rem",
1069
+ "$description": "The height of every control at size=\"md\" (40px), 4px less when compact"
1038
1070
  },
1039
1071
  "height-lg": {
1040
1072
  "$type": "dimension",
1041
- "$value": "3rem"
1073
+ "$value": "3rem",
1074
+ "$description": "The height of every control at size=\"lg\" (48px), 4px less when compact"
1042
1075
  },
1043
1076
  "height-xl": {
1044
1077
  "$type": "dimension",
1045
- "$value": "3.5rem"
1078
+ "$value": "3.5rem",
1079
+ "$description": "The height of every control at size=\"xl\" (56px), 4px less when compact"
1046
1080
  },
1047
1081
  "border-width": {
1048
1082
  "$type": "dimension",
@@ -1057,12 +1091,12 @@
1057
1091
  "size-check-mark": {
1058
1092
  "$type": "dimension",
1059
1093
  "$value": "0.875rem",
1060
- "$description": "VCheckbox's SVG tick"
1094
+ "$description": "The tick inside VCheckbox's box"
1061
1095
  },
1062
1096
  "size-check-dot": {
1063
1097
  "$type": "dimension",
1064
1098
  "$value": "0.5rem",
1065
- "$description": "VRadio's inner dot"
1099
+ "$description": "The dot inside VRadio's circle"
1066
1100
  },
1067
1101
  "size-switch-w": {
1068
1102
  "$type": "dimension",
@@ -1117,7 +1151,7 @@
1117
1151
  "size-carousel-block": {
1118
1152
  "$type": "dimension",
1119
1153
  "$value": "24rem",
1120
- "$description": "The default block size of VCarousel's viewport. Load-bearing in the vertical orientation: a percentage flex-basis has no definite reference on the block axis, and every slide would collapse onto its content without it"
1154
+ "$description": "The default block size of VCarousel's viewport, which a vertical carousel needs to lay its slides out"
1121
1155
  },
1122
1156
  "size-carousel-indicator": {
1123
1157
  "$type": "dimension",
@@ -1127,7 +1161,7 @@
1127
1161
  "size-carousel-indicator-active": {
1128
1162
  "$type": "dimension",
1129
1163
  "$value": "1.25rem",
1130
- "$description": "The main-axis size of the ACTIVE VCarousel indicator, which stretches from a dot into a pill"
1164
+ "$description": "The length of the active VCarousel indicator, which stretches from a dot into a pill"
1131
1165
  },
1132
1166
  "size-combobox-list-max-block": {
1133
1167
  "$type": "dimension",
@@ -1152,7 +1186,7 @@
1152
1186
  "size-progress-linear-length": {
1153
1187
  "$type": "dimension",
1154
1188
  "$value": "10rem",
1155
- "$description": "The default length of a vertical VProgressLinear (overridable through `height`)"
1189
+ "$description": "The default length of a vertical VProgressLinear, which a height set on the bar replaces"
1156
1190
  },
1157
1191
  "size-progress-circular-diameter": {
1158
1192
  "$type": "dimension",
@@ -1167,13 +1201,18 @@
1167
1201
  "size-skeleton-surface": {
1168
1202
  "$type": "dimension",
1169
1203
  "$value": "6rem",
1170
- "$description": "The default height of a surface-shaped VSkeletonLoader — a card, an image (96px)"
1204
+ "$description": "The default height of a surface-shaped VSkeletonLoader: a card, an image (96px)"
1171
1205
  },
1172
1206
  "size-toast-width": {
1173
1207
  "$type": "dimension",
1174
1208
  "$value": "22rem",
1175
1209
  "$description": "The default width of a toast"
1176
1210
  },
1211
+ "size-tooltip-max": {
1212
+ "$type": "dimension",
1213
+ "$value": "18rem",
1214
+ "$description": "The widest a tooltip grows before it wraps (288px)"
1215
+ },
1177
1216
  "size-dialog-width": {
1178
1217
  "$type": "dimension",
1179
1218
  "$value": "25rem",
@@ -1192,7 +1231,7 @@
1192
1231
  "size-badge-h": {
1193
1232
  "$type": "dimension",
1194
1233
  "$value": "1.25rem",
1195
- "$description": "The height of VBadge (the pill)"
1234
+ "$description": "The height of a VBadge pill"
1196
1235
  },
1197
1236
  "size-badge-dot": {
1198
1237
  "$type": "dimension",
@@ -1207,12 +1246,12 @@
1207
1246
  "size-avatar-ring": {
1208
1247
  "$type": "dimension",
1209
1248
  "$value": "2px",
1210
- "$description": "The separating ring of stacked Avatars (VAvatarGroup)"
1249
+ "$description": "The ring separating stacked avatars (VAvatarGroup)"
1211
1250
  },
1212
1251
  "size-date-picker-cell": {
1213
1252
  "$type": "dimension",
1214
1253
  "$value": "2.5rem",
1215
- "$description": "The side (height/width) of a VDatePicker day cell"
1254
+ "$description": "The side of a VDatePicker day cell"
1216
1255
  },
1217
1256
  "size-date-picker-day": {
1218
1257
  "$type": "dimension",
@@ -1227,7 +1266,7 @@
1227
1266
  "size-date-picker-nav-min": {
1228
1267
  "$type": "dimension",
1229
1268
  "$value": "5.375rem",
1230
- "$description": "The minimum width of VDatePicker's month/year picker buttons (≈86px)"
1269
+ "$description": "The minimum width of VDatePicker's month/year picker buttons (about 86px)"
1231
1270
  },
1232
1271
  "size-tab-indicator": {
1233
1272
  "$type": "dimension",
@@ -1242,7 +1281,7 @@
1242
1281
  "size-time-picker-dial": {
1243
1282
  "$type": "dimension",
1244
1283
  "$value": "16rem",
1245
- "$description": "The diameter of VTimePicker's clock face (the M3 spec)"
1284
+ "$description": "The diameter of VTimePicker's clock face"
1246
1285
  },
1247
1286
  "size-time-picker-number": {
1248
1287
  "$type": "dimension",
@@ -1252,7 +1291,7 @@
1252
1291
  "size-time-picker-center": {
1253
1292
  "$type": "dimension",
1254
1293
  "$value": "0.5rem",
1255
- "$description": "The centre dot of VTimePicker's face"
1294
+ "$description": "The center dot of VTimePicker's face"
1256
1295
  },
1257
1296
  "size-time-picker-hand": {
1258
1297
  "$type": "dimension",
@@ -1267,7 +1306,7 @@
1267
1306
  "size-file-picker-min-block": {
1268
1307
  "$type": "dimension",
1269
1308
  "$value": "10rem",
1270
- "$description": "The minimum height of VFilePicker's drop zone — icon, two lines, separator and button"
1309
+ "$description": "The minimum height of VFilePicker's drop zone: icon, two lines, separator and button"
1271
1310
  },
1272
1311
  "size-file-picker-icon": {
1273
1312
  "$type": "dimension",
@@ -1317,13 +1356,38 @@
1317
1356
  "size-calendar-allday-max": {
1318
1357
  "$type": "dimension",
1319
1358
  "$value": "7rem",
1320
- "$description": "The height past which that band scrolls instead of growing"
1359
+ "$description": "The height past which VCalendar's all-day band scrolls instead of growing"
1321
1360
  },
1322
1361
  "size-calendar-now-dot": {
1323
1362
  "$type": "dimension",
1324
1363
  "$value": "0.625rem",
1325
1364
  "$description": "The dot on VCalendar's current-time line"
1326
1365
  },
1366
+ "size-calendar-event-edge": {
1367
+ "$type": "dimension",
1368
+ "$value": "3px",
1369
+ "$description": "The width of the coloured leading edge of a VCalendar event"
1370
+ },
1371
+ "size-calendar-gap": {
1372
+ "$type": "dimension",
1373
+ "$value": "0.125rem",
1374
+ "$description": "The gap VCalendar keeps between two events, side by side in a day or stacked in a month"
1375
+ },
1376
+ "size-calendar-grip": {
1377
+ "$type": "dimension",
1378
+ "$value": "1rem",
1379
+ "$description": "The length of the grip drawn on a VCalendar card's resize strip"
1380
+ },
1381
+ "size-calendar-grip-thickness": {
1382
+ "$type": "dimension",
1383
+ "$value": "2px",
1384
+ "$description": "The thickness of that grip, which is also its distance from the card's bottom edge"
1385
+ },
1386
+ "size-calendar-year-month": {
1387
+ "$type": "dimension",
1388
+ "$value": "13rem",
1389
+ "$description": "The narrowest a mini-month of VCalendar's year view gets before the year reflows"
1390
+ },
1327
1391
  "size-calendar-month-cell": {
1328
1392
  "$type": "dimension",
1329
1393
  "$value": "8.5rem",
@@ -1339,17 +1403,17 @@
1339
1403
  "size-sm": {
1340
1404
  "$type": "dimension",
1341
1405
  "$value": "1rem",
1342
- "$description": "16px icons"
1406
+ "$description": "The icon size of xs controls (16px)"
1343
1407
  },
1344
1408
  "size-md": {
1345
1409
  "$type": "dimension",
1346
1410
  "$value": "1.25rem",
1347
- "$description": "20px icons"
1411
+ "$description": "The icon size of sm and md controls (20px)"
1348
1412
  },
1349
1413
  "size-lg": {
1350
1414
  "$type": "dimension",
1351
1415
  "$value": "1.5rem",
1352
- "$description": "24px icons"
1416
+ "$description": "The icon size of lg and xl controls (24px)"
1353
1417
  }
1354
1418
  }
1355
1419
  },
@@ -1514,15 +1578,15 @@
1514
1578
  },
1515
1579
  "event-surface": {
1516
1580
  "$type": "color",
1517
- "$value": "oklch(0.3 0.05 var(--vectis-calendar-event-hue, 265))"
1581
+ "$value": "oklch(0.3 0.05 265)"
1518
1582
  },
1519
1583
  "event-border": {
1520
1584
  "$type": "color",
1521
- "$value": "oklch(0.42 0.08 var(--vectis-calendar-event-hue, 265))"
1585
+ "$value": "oklch(0.42 0.08 265)"
1522
1586
  },
1523
1587
  "event-text": {
1524
1588
  "$type": "color",
1525
- "$value": "oklch(0.9 0.06 var(--vectis-calendar-event-hue, 265))"
1589
+ "$value": "oklch(0.9 0.06 265)"
1526
1590
  }
1527
1591
  },
1528
1592
  "focus": {
package/dist/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * The types the design system's components pass BETWEEN them and that belong to none of them.
3
3
  *
4
- * A type is normally named after whatever owns it — `ButtonTone` for VButton,
4
+ * A type is normally named after whatever owns it: `ButtonTone` for VButton,
5
5
  * `DatePickerRange` for the component that defines its shape, `FileRejection` for the module
6
6
  * that produces it. This file is for the case where nothing does: an item's value is shared
7
7
  * by a tab, a toggle item, a radio button and a combobox option, and naming it after any one of the three
@@ -10,7 +10,7 @@
10
10
  */
11
11
  export declare function navigableItems(container: HTMLElement, selector: string): HTMLElement[];
12
12
  /**
13
- * Moves focus for the arrows and Home/End, and reports whether it took the key —
13
+ * Moves focus for the arrows and Home/End, and reports whether it took the key.
14
14
  * `preventDefault` is applied only when it did, leaving the caller free otherwise.
15
15
  *
16
16
  * The ends wrap. With nothing in the list focused, any arrow starts at the beginning.
@@ -18,6 +18,9 @@ export declare function navigableItems(container: HTMLElement, selector: string)
18
18
  * which is then on the left. The block axis needs no such treatment, no language
19
19
  * reversing it.
20
20
  *
21
+ * A key held with Alt, Ctrl or Meta is never taken: those are the browser's and the system's
22
+ * shortcuts (Alt+Left goes back a page), and cancelling one to move a focus would break it.
23
+ *
21
24
  * `items` is a FUNCTION, called only once the key is known to be one of the four. A keydown
22
25
  * handler on a container sees every key typed inside it (Tab, Enter, letters), and collecting
23
26
  * the list costs a query plus, for most callers, one style read per element.
@@ -4,8 +4,7 @@ function t(e, t) {
4
4
  return [...e.querySelectorAll(t)].filter((e) => getComputedStyle(e).display !== "none");
5
5
  }
6
6
  function n(t, n, r, i = {}) {
7
- let a = i.vertical ?? !1;
8
- if (!(a ? [
7
+ let a = i.vertical ?? !1, o = a ? [
9
8
  "ArrowDown",
10
9
  "ArrowUp",
11
10
  "Home",
@@ -15,12 +14,13 @@ function n(t, n, r, i = {}) {
15
14
  "ArrowLeft",
16
15
  "Home",
17
16
  "End"
18
- ]).includes(t.key)) return !1;
19
- let o = r();
20
- if (o.length === 0) return !1;
17
+ ];
18
+ if (t.altKey || t.ctrlKey || t.metaKey || !o.includes(t.key)) return !1;
19
+ let s = r();
20
+ if (s.length === 0) return !1;
21
21
  t.preventDefault();
22
- let s = () => a ? t.key === "ArrowDown" : t.key === "ArrowRight" !== e(n), c = o.indexOf(document.activeElement);
23
- return o[t.key === "Home" ? 0 : t.key === "End" ? o.length - 1 : c === -1 ? 0 : (c + (s() ? 1 : -1) + o.length) % o.length]?.focus(), !0;
22
+ let c = () => a ? t.key === "ArrowDown" : t.key === "ArrowRight" !== e(n), l = s.indexOf(document.activeElement);
23
+ return s[t.key === "Home" ? 0 : t.key === "End" ? s.length - 1 : l === -1 ? 0 : (l + (c() ? 1 : -1) + s.length) % s.length]?.focus(), !0;
24
24
  }
25
25
  //#endregion
26
26
  export { n as arrowNavigate, t as navigableItems };
@@ -1 +1 @@
1
- {"version":3,"file":"arrowNav.js","names":[],"sources":["../../src/utils/arrowNav.ts"],"sourcesContent":["// @keyboard @a11y — module-wide: the browser walks focus out of a group with Tab, never\n// from one control to the next, which is what the arrows are expected to do.\n/**\n * Arrow-key navigation over a row or column of controls, in one place: VPagination, VTabs,\n * VToggle, VMenuPanel and VSideNavigation all use it.\n *\n * CONTRACT — the arrows and Home/End MOVE focus and never activate what they land on.\n * Activating on arrival would navigate somewhere the reader did not ask to go, or select a\n * value merely passed over. A component that wants selection on focus (VTabs'\n * `activation: 'automatic'`) arranges it in its own `@focus`.\n */\nimport { isRtl } from './direction'\n\n/**\n * The elements the arrows may land on, discovered from the DOM rather than a registry. The\n * selector is the caller's, and it is what excludes anything disabled.\n *\n * `display: none` is filtered here because it has to be: VPagination hides its neighbours\n * through container queries as the bar narrows, and a consumer may hide a tab outright.\n * Focus must not land on an element nobody can see. The read costs a style recalculation\n * per element, which is why `arrowNavigate` asks for the list only once it knows the key is\n * one it handles.\n */\nexport function navigableItems(container: HTMLElement, selector: string): HTMLElement[] {\n return [...container.querySelectorAll<HTMLElement>(selector)].filter(\n (el) => getComputedStyle(el).display !== 'none',\n )\n}\n\n/**\n * Moves focus for the arrows and Home/End, and reports whether it took the key —\n * `preventDefault` is applied only when it did, leaving the caller free otherwise.\n *\n * The ends wrap. With nothing in the list focused, any arrow starts at the beginning.\n * Left and Right name a physical side, so RTL swaps them: Right must reach the NEXT item,\n * which is then on the left. The block axis needs no such treatment, no language\n * reversing it.\n *\n * `items` is a FUNCTION, called only once the key is known to be one of the four. A keydown\n * handler on a container sees every key typed inside it (Tab, Enter, letters), and collecting\n * the list costs a query plus, for most callers, one style read per element.\n */\nexport function arrowNavigate(\n event: KeyboardEvent,\n container: HTMLElement,\n items: () => HTMLElement[],\n options: { vertical?: boolean } = {},\n): boolean {\n const vertical = options.vertical ?? false\n const keys = vertical\n ? ['ArrowDown', 'ArrowUp', 'Home', 'End']\n : ['ArrowRight', 'ArrowLeft', 'Home', 'End']\n if (!keys.includes(event.key)) return false\n const list = items()\n if (list.length === 0) return false\n event.preventDefault()\n\n // A function, not a value: only the arrow branch asks, so Home and End are spared the\n // style recalculation that reading the direction forces.\n const forward = () =>\n vertical ? event.key === 'ArrowDown' : (event.key === 'ArrowRight') !== isRtl(container)\n const current = list.indexOf(document.activeElement as HTMLElement)\n const next =\n event.key === 'Home'\n ? 0\n : event.key === 'End'\n ? list.length - 1\n : current === -1\n ? 0\n : (current + (forward() ? 1 : -1) + list.length) % list.length\n list[next]?.focus()\n return true\n}\n"],"mappings":";;AAuBA,SAAgB,EAAe,GAAwB,GAAiC;CACtF,OAAO,CAAC,GAAG,EAAU,iBAA8B,CAAQ,CAAC,CAAC,CAAC,QAC3D,MAAO,iBAAiB,CAAE,CAAC,CAAC,YAAY,MAC3C;AACF;AAeA,SAAgB,EACd,GACA,GACA,GACA,IAAkC,CAAC,GAC1B;CACT,IAAM,IAAW,EAAQ,YAAY;CAIrC,IAAI,EAHS,IACT;EAAC;EAAa;EAAW;EAAQ;CAAK,IACtC;EAAC;EAAc;EAAa;EAAQ;CAAK,EAAA,CACnC,SAAS,EAAM,GAAG,GAAG,OAAO;CACtC,IAAM,IAAO,EAAM;CACnB,IAAI,EAAK,WAAW,GAAG,OAAO;CAC9B,EAAM,eAAe;CAIrB,IAAM,UACJ,IAAW,EAAM,QAAQ,cAAe,EAAM,QAAQ,iBAAkB,EAAM,CAAS,GACnF,IAAU,EAAK,QAAQ,SAAS,aAA4B;CAUlE,OADA,EAPE,EAAM,QAAQ,SACV,IACA,EAAM,QAAQ,QACZ,EAAK,SAAS,IACd,MAAY,KACV,KACC,KAAW,EAAQ,IAAI,IAAI,MAAM,EAAK,UAAU,EAAK,OACtD,EAAE,MAAM,GACX;AACT"}
1
+ {"version":3,"file":"arrowNav.js","names":[],"sources":["../../src/utils/arrowNav.ts"],"sourcesContent":["// @keyboard @a11y — module-wide: the browser walks focus out of a group with Tab, never\n// from one control to the next, which is what the arrows are expected to do.\n/**\n * Arrow-key navigation over a row or column of controls, in one place: VPagination, VTabs,\n * VToggle, VMenuPanel and VSideNavigation all use it.\n *\n * CONTRACT — the arrows and Home/End MOVE focus and never activate what they land on.\n * Activating on arrival would navigate somewhere the reader did not ask to go, or select a\n * value merely passed over. A component that wants selection on focus (VTabs'\n * `activation: 'automatic'`) arranges it in its own `@focus`.\n */\nimport { isRtl } from './direction'\n\n/**\n * The elements the arrows may land on, discovered from the DOM rather than a registry. The\n * selector is the caller's, and it is what excludes anything disabled.\n *\n * `display: none` is filtered here because it has to be: VPagination hides its neighbours\n * through container queries as the bar narrows, and a consumer may hide a tab outright.\n * Focus must not land on an element nobody can see. The read costs a style recalculation\n * per element, which is why `arrowNavigate` asks for the list only once it knows the key is\n * one it handles.\n */\nexport function navigableItems(container: HTMLElement, selector: string): HTMLElement[] {\n return [...container.querySelectorAll<HTMLElement>(selector)].filter(\n (el) => getComputedStyle(el).display !== 'none',\n )\n}\n\n/**\n * Moves focus for the arrows and Home/End, and reports whether it took the key.\n * `preventDefault` is applied only when it did, leaving the caller free otherwise.\n *\n * The ends wrap. With nothing in the list focused, any arrow starts at the beginning.\n * Left and Right name a physical side, so RTL swaps them: Right must reach the NEXT item,\n * which is then on the left. The block axis needs no such treatment, no language\n * reversing it.\n *\n * A key held with Alt, Ctrl or Meta is never taken: those are the browser's and the system's\n * shortcuts (Alt+Left goes back a page), and cancelling one to move a focus would break it.\n *\n * `items` is a FUNCTION, called only once the key is known to be one of the four. A keydown\n * handler on a container sees every key typed inside it (Tab, Enter, letters), and collecting\n * the list costs a query plus, for most callers, one style read per element.\n */\nexport function arrowNavigate(\n event: KeyboardEvent,\n container: HTMLElement,\n items: () => HTMLElement[],\n options: { vertical?: boolean } = {},\n): boolean {\n const vertical = options.vertical ?? false\n const keys = vertical\n ? ['ArrowDown', 'ArrowUp', 'Home', 'End']\n : ['ArrowRight', 'ArrowLeft', 'Home', 'End']\n if (event.altKey || event.ctrlKey || event.metaKey || !keys.includes(event.key)) return false\n const list = items()\n if (list.length === 0) return false\n event.preventDefault()\n\n // A function, not a value: only the arrow branch asks, so Home and End are spared the\n // style recalculation that reading the direction forces.\n const forward = () =>\n vertical ? event.key === 'ArrowDown' : (event.key === 'ArrowRight') !== isRtl(container)\n const current = list.indexOf(document.activeElement as HTMLElement)\n const next =\n event.key === 'Home'\n ? 0\n : event.key === 'End'\n ? list.length - 1\n : current === -1\n ? 0\n : (current + (forward() ? 1 : -1) + list.length) % list.length\n list[next]?.focus()\n return true\n}\n"],"mappings":";;AAuBA,SAAgB,EAAe,GAAwB,GAAiC;CACtF,OAAO,CAAC,GAAG,EAAU,iBAA8B,CAAQ,CAAC,CAAC,CAAC,QAC3D,MAAO,iBAAiB,CAAE,CAAC,CAAC,YAAY,MAC3C;AACF;AAkBA,SAAgB,EACd,GACA,GACA,GACA,IAAkC,CAAC,GAC1B;CACT,IAAM,IAAW,EAAQ,YAAY,IAC/B,IAAO,IACT;EAAC;EAAa;EAAW;EAAQ;CAAK,IACtC;EAAC;EAAc;EAAa;EAAQ;CAAK;CAC7C,IAAI,EAAM,UAAU,EAAM,WAAW,EAAM,WAAW,CAAC,EAAK,SAAS,EAAM,GAAG,GAAG,OAAO;CACxF,IAAM,IAAO,EAAM;CACnB,IAAI,EAAK,WAAW,GAAG,OAAO;CAC9B,EAAM,eAAe;CAIrB,IAAM,UACJ,IAAW,EAAM,QAAQ,cAAe,EAAM,QAAQ,iBAAkB,EAAM,CAAS,GACnF,IAAU,EAAK,QAAQ,SAAS,aAA4B;CAUlE,OADA,EAPE,EAAM,QAAQ,SACV,IACA,EAAM,QAAQ,QACZ,EAAK,SAAS,IACd,MAAY,KACV,KACC,KAAW,EAAQ,IAAI,IAAI,MAAM,EAAK,UAAU,EAAK,OACtD,EAAE,MAAM,GACX;AACT"}
@@ -4,7 +4,7 @@ import { ChipSize } from '../components/VChip/VChip.js';
4
4
  *
5
5
  * A chip is one step below its field, so a row of them does not push the field taller. Below
6
6
  * the lowest step of each pair there is no smaller size left, and `compact` makes up the
7
- * difference instead — which is why an `sm` field forces it and an `md` one, already having
7
+ * difference instead, which is why an `sm` field forces it and an `md` one, already having
8
8
  * room, does not pass its own through.
9
9
  *
10
10
  * The HEIGHT is what earns the module its place. The field must force its `<input>` to the
@@ -1 +1 @@
1
- {"version":3,"file":"chip.js","names":[],"sources":["../../src/utils/chip.ts"],"sourcesContent":["import type { ChipSize } from '../components/VChip/VChip.vue'\n\n// @core\n/**\n * The scale of a VChip rendered INSIDE a text field: VCombobox's values, VFileInput's files.\n *\n * A chip is one step below its field, so a row of them does not push the field taller. Below\n * the lowest step of each pair there is no smaller size left, and `compact` makes up the\n * difference instead — which is why an `sm` field forces it and an `md` one, already having\n * room, does not pass its own through.\n *\n * The HEIGHT is what earns the module its place. The field must force its `<input>` to the\n * chips' height or it grows on focus, and that height is decided inside the VChip subtree,\n * out of the field's reach. Deriving it from the same pair that picks the size makes the two\n * incapable of drifting.\n */\nexport type ChipFieldSize = 'sm' | 'md' | 'lg'\n\nexport interface ChipScale {\n size: ChipSize\n compact: boolean\n /** The chips' height, ready to be set on the field so it can match its own text to it. */\n height: string\n}\n\nexport function chipScaleFor(size: ChipFieldSize, compact: boolean): ChipScale {\n const chipSize = size === 'lg' ? 'sm' : 'xs'\n const chipCompact = size === 'lg' ? compact : size === 'sm'\n const base = `var(--vectis-control-height-${chipSize})`\n return {\n size: chipSize,\n compact: chipCompact,\n height: chipCompact ? `calc(${base} - var(--vectis-space-1))` : base,\n }\n}\n"],"mappings":";AAyBA,SAAgB,EAAa,GAAqB,GAA6B;CAC7E,IAAM,IAAW,MAAS,OAAO,OAAO,MAClC,IAAc,MAAS,OAAO,IAAU,MAAS,MACjD,IAAO,+BAA+B,EAAS;CACrD,OAAO;EACL,MAAM;EACN,SAAS;EACT,QAAQ,IAAc,QAAQ,EAAK,6BAA6B;CAClE;AACF"}
1
+ {"version":3,"file":"chip.js","names":[],"sources":["../../src/utils/chip.ts"],"sourcesContent":["import type { ChipSize } from '../components/VChip/VChip.vue'\n\n// @core\n/**\n * The scale of a VChip rendered INSIDE a text field: VCombobox's values, VFileInput's files.\n *\n * A chip is one step below its field, so a row of them does not push the field taller. Below\n * the lowest step of each pair there is no smaller size left, and `compact` makes up the\n * difference instead, which is why an `sm` field forces it and an `md` one, already having\n * room, does not pass its own through.\n *\n * The HEIGHT is what earns the module its place. The field must force its `<input>` to the\n * chips' height or it grows on focus, and that height is decided inside the VChip subtree,\n * out of the field's reach. Deriving it from the same pair that picks the size makes the two\n * incapable of drifting.\n */\nexport type ChipFieldSize = 'sm' | 'md' | 'lg'\n\nexport interface ChipScale {\n size: ChipSize\n compact: boolean\n /** The chips' height, ready to be set on the field so it can match its own text to it. */\n height: string\n}\n\nexport function chipScaleFor(size: ChipFieldSize, compact: boolean): ChipScale {\n const chipSize = size === 'lg' ? 'sm' : 'xs'\n const chipCompact = size === 'lg' ? compact : size === 'sm'\n const base = `var(--vectis-control-height-${chipSize})`\n return {\n size: chipSize,\n compact: chipCompact,\n height: chipCompact ? `calc(${base} - var(--vectis-space-1))` : base,\n }\n}\n"],"mappings":";AAyBA,SAAgB,EAAa,GAAqB,GAA6B;CAC7E,IAAM,IAAW,MAAS,OAAO,OAAO,MAClC,IAAc,MAAS,OAAO,IAAU,MAAS,MACjD,IAAO,+BAA+B,EAAS;CACrD,OAAO;EACL,MAAM;EACN,SAAS;EACT,QAAQ,IAAc,QAAQ,EAAK,6BAA6B;CAClE;AACF"}