vectis-ui 0.13.0 → 0.15.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 (387) hide show
  1. package/dist/components/VAccordion/VAccordion.js.map +1 -1
  2. package/dist/components/VAccordion/VAccordion.vue_vue_type_script_setup_true_lang.js.map +1 -1
  3. package/dist/components/VAccordion/VAccordionItem.js.map +1 -1
  4. package/dist/components/VAccordion/VAccordionItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  5. package/dist/components/VAccordion/context.js.map +1 -1
  6. package/dist/components/VAlert/VAlert.js.map +1 -1
  7. package/dist/components/VAlert/VAlert.vue_vue_type_script_setup_true_lang.js.map +1 -1
  8. package/dist/components/VAvatar/VAvatar.js.map +1 -1
  9. package/dist/components/VAvatar/VAvatar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  10. package/dist/components/VAvatar/VAvatarGroup.js.map +1 -1
  11. package/dist/components/VAvatar/VAvatarGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  12. package/dist/components/VAvatar/context.js.map +1 -1
  13. package/dist/components/VBadge/VBadge.js.map +1 -1
  14. package/dist/components/VBadge/VBadge.vue_vue_type_script_setup_true_lang.js +1 -1
  15. package/dist/components/VBadge/VBadge.vue_vue_type_script_setup_true_lang.js.map +1 -1
  16. package/dist/components/VBreadcrumb/VBreadcrumb.js.map +1 -1
  17. package/dist/components/VBreadcrumb/VBreadcrumb.vue_vue_type_script_setup_true_lang.js.map +1 -1
  18. package/dist/components/VButton/VButton.js.map +1 -1
  19. package/dist/components/VButton/VButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  20. package/dist/components/VButton/VButtonGroup.js.map +1 -1
  21. package/dist/components/VButton/VButtonGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  22. package/dist/components/VButton/context.js.map +1 -1
  23. package/dist/components/VCalendar/VCalendar.js.map +1 -1
  24. package/dist/components/VCalendar/VCalendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  25. package/dist/components/VCalendar/VCalendarEvent.js.map +1 -1
  26. package/dist/components/VCalendar/VCalendarEvent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  27. package/dist/components/VCalendar/VCalendarMonth.js.map +1 -1
  28. package/dist/components/VCalendar/VCalendarMonth.vue_vue_type_script_setup_true_lang.js +5 -17
  29. package/dist/components/VCalendar/VCalendarMonth.vue_vue_type_script_setup_true_lang.js.map +1 -1
  30. package/dist/components/VCalendar/VCalendarTimeGrid.js.map +1 -1
  31. package/dist/components/VCalendar/VCalendarTimeGrid.vue_vue_type_script_setup_true_lang.js +19 -31
  32. package/dist/components/VCalendar/VCalendarTimeGrid.vue_vue_type_script_setup_true_lang.js.map +1 -1
  33. package/dist/components/VCalendar/VCalendarYear.js.map +1 -1
  34. package/dist/components/VCalendar/VCalendarYear.vue_vue_type_script_setup_true_lang.js.map +1 -1
  35. package/dist/components/VCalendar/color.js.map +1 -1
  36. package/dist/components/VCalendar/edgeStep.js +1 -5
  37. package/dist/components/VCalendar/edgeStep.js.map +1 -1
  38. package/dist/components/VCalendar/gesture.js +4 -12
  39. package/dist/components/VCalendar/gesture.js.map +1 -1
  40. package/dist/components/VCalendar/keyboard.js.map +1 -1
  41. package/dist/components/VCalendar/layout.js +8 -12
  42. package/dist/components/VCalendar/layout.js.map +1 -1
  43. package/dist/components/VCalendar/timeGrid.js +5 -5
  44. package/dist/components/VCalendar/timeGrid.js.map +1 -1
  45. package/dist/components/VCard/VCard.js.map +1 -1
  46. package/dist/components/VCard/VCard.vue_vue_type_script_setup_true_lang.js.map +1 -1
  47. package/dist/components/VCarousel/VCarousel.js.map +1 -1
  48. package/dist/components/VCarousel/VCarousel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  49. package/dist/components/VCarousel/VCarouselItem.js.map +1 -1
  50. package/dist/components/VCarousel/VCarouselItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  51. package/dist/components/VCarousel/context.js.map +1 -1
  52. package/dist/components/VCheckbox/VCheckMark.js.map +1 -1
  53. package/dist/components/VCheckbox/VCheckMark.vue_vue_type_script_setup_true_lang.js.map +1 -1
  54. package/dist/components/VCheckbox/VCheckbox.js.map +1 -1
  55. package/dist/components/VCheckbox/VCheckbox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  56. package/dist/components/VChip/VChip.js.map +1 -1
  57. package/dist/components/VChip/VChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  58. package/dist/components/VColorInput/VColorInput.js.map +1 -1
  59. package/dist/components/VColorInput/VColorInput.vue_vue_type_script_setup_true_lang.js +62 -62
  60. package/dist/components/VColorInput/VColorInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  61. package/dist/components/VColorPicker/VColorPicker.css +1 -1
  62. package/dist/components/VColorPicker/VColorPicker.js.map +1 -1
  63. package/dist/components/VColorPicker/VColorPicker.vue_vue_type_script_setup_true_lang.js +1 -5
  64. package/dist/components/VColorPicker/VColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  65. package/dist/components/VColorPicker/color.js.map +1 -1
  66. package/dist/components/VCombobox/VCombobox.js.map +1 -1
  67. package/dist/components/VCombobox/VCombobox.vue_vue_type_script_setup_true_lang.js +114 -122
  68. package/dist/components/VCombobox/VCombobox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  69. package/dist/components/VCommandPalette/VCommandPalette.css +1 -1
  70. package/dist/components/VCommandPalette/VCommandPalette.js.map +1 -1
  71. package/dist/components/VCommandPalette/VCommandPalette.vue_vue_type_script_setup_true_lang.js +0 -1
  72. package/dist/components/VCommandPalette/VCommandPalette.vue_vue_type_script_setup_true_lang.js.map +1 -1
  73. package/dist/components/VCommandPalette/VCommandPaletteItem.js.map +1 -1
  74. package/dist/components/VCommandPalette/VCommandPaletteItem.vue_vue_type_script_setup_true_lang.js +1 -5
  75. package/dist/components/VCommandPalette/VCommandPaletteItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  76. package/dist/components/VContextMenu/VContextMenu.js.map +1 -1
  77. package/dist/components/VContextMenu/VContextMenu.vue_vue_type_script_setup_true_lang.js +3 -5
  78. package/dist/components/VContextMenu/VContextMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  79. package/dist/components/VDataTable/VDataTable.js.map +1 -1
  80. package/dist/components/VDataTable/VDataTable.vue_vue_type_script_setup_true_lang.js +7 -10
  81. package/dist/components/VDataTable/VDataTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  82. package/dist/components/VDateInput/VDateInput.js.map +1 -1
  83. package/dist/components/VDateInput/VDateInput.vue_vue_type_script_setup_true_lang.js +35 -35
  84. package/dist/components/VDateInput/VDateInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  85. package/dist/components/VDateInput/mask.js.map +1 -1
  86. package/dist/components/VDatePicker/VDatePicker.js.map +1 -1
  87. package/dist/components/VDatePicker/VDatePicker.vue_vue_type_script_setup_true_lang.js +2 -1
  88. package/dist/components/VDatePicker/VDatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  89. package/dist/components/VDatePicker/keyboard.js.map +1 -1
  90. package/dist/components/VDatePicker/names.js.map +1 -1
  91. package/dist/components/VDialog/VDialog.js.map +1 -1
  92. package/dist/components/VDialog/VDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  93. package/dist/components/VDialog/VDialogAlert.js.map +1 -1
  94. package/dist/components/VDialog/VDialogAlert.vue_vue_type_script_setup_true_lang.js.map +1 -1
  95. package/dist/components/VDrawer/VDrawer.js.map +1 -1
  96. package/dist/components/VDrawer/VDrawer.vue_vue_type_script_setup_true_lang.js.map +1 -1
  97. package/dist/components/VEmptyState/VEmptyState.js.map +1 -1
  98. package/dist/components/VEmptyState/VEmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -1
  99. package/dist/components/VField/VField.js.map +1 -1
  100. package/dist/components/VField/VField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  101. package/dist/components/VField/VFieldAnnouncer.js.map +1 -1
  102. package/dist/components/VField/VFieldAnnouncer.vue_vue_type_script_setup_true_lang.js.map +1 -1
  103. package/dist/components/VField/VFieldMessage.js.map +1 -1
  104. package/dist/components/VField/VFieldMessage.vue_vue_type_script_setup_true_lang.js.map +1 -1
  105. package/dist/components/VFieldset/VFieldset.js.map +1 -1
  106. package/dist/components/VFieldset/VFieldset.vue_vue_type_script_setup_true_lang.js.map +1 -1
  107. package/dist/components/VFileInput/VFileInput.js.map +1 -1
  108. package/dist/components/VFileInput/VFileInput.vue_vue_type_script_setup_true_lang.js +85 -85
  109. package/dist/components/VFileInput/VFileInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  110. package/dist/components/VFileInput/truncate.js.map +1 -1
  111. package/dist/components/VFilePicker/VFilePicker.js.map +1 -1
  112. package/dist/components/VFilePicker/VFilePicker.vue_vue_type_script_setup_true_lang.js +1 -1
  113. package/dist/components/VFilePicker/VFilePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  114. package/dist/components/VFilePicker/fileKind.js.map +1 -1
  115. package/dist/components/VHotkeys/VHotkeys.js.map +1 -1
  116. package/dist/components/VHotkeys/VHotkeys.vue_vue_type_script_setup_true_lang.js.map +1 -1
  117. package/dist/components/VHotkeys/platform.js +1 -1
  118. package/dist/components/VHotkeys/platform.js.map +1 -1
  119. package/dist/components/VHoverCard/VHoverCard.js.map +1 -1
  120. package/dist/components/VHoverCard/VHoverCard.vue_vue_type_script_setup_true_lang.js +2 -12
  121. package/dist/components/VHoverCard/VHoverCard.vue_vue_type_script_setup_true_lang.js.map +1 -1
  122. package/dist/components/VIcon/VIcon.js.map +1 -1
  123. package/dist/components/VIcon/VIcon.vue_vue_type_script_setup_true_lang.js.map +1 -1
  124. package/dist/components/VIcon/iconProps.js.map +1 -1
  125. package/dist/components/VIcon/icons/add.js.map +1 -1
  126. package/dist/components/VIcon/icons/arrow_downward.js.map +1 -1
  127. package/dist/components/VIcon/icons/arrow_downward_alt.js.map +1 -1
  128. package/dist/components/VIcon/icons/arrow_drop_down.js.map +1 -1
  129. package/dist/components/VIcon/icons/arrow_drop_up.js.map +1 -1
  130. package/dist/components/VIcon/icons/arrow_left_alt.js.map +1 -1
  131. package/dist/components/VIcon/icons/arrow_right_alt.js.map +1 -1
  132. package/dist/components/VIcon/icons/arrow_upward.js.map +1 -1
  133. package/dist/components/VIcon/icons/arrow_upward_alt.js.map +1 -1
  134. package/dist/components/VIcon/icons/attach_file.js.map +1 -1
  135. package/dist/components/VIcon/icons/audio_file.js.map +1 -1
  136. package/dist/components/VIcon/icons/calendar_today.js.map +1 -1
  137. package/dist/components/VIcon/icons/check.js.map +1 -1
  138. package/dist/components/VIcon/icons/check_circle.js.map +1 -1
  139. package/dist/components/VIcon/icons/chevron_left.js.map +1 -1
  140. package/dist/components/VIcon/icons/chevron_right.js.map +1 -1
  141. package/dist/components/VIcon/icons/close.js.map +1 -1
  142. package/dist/components/VIcon/icons/cloud_upload.js.map +1 -1
  143. package/dist/components/VIcon/icons/code.js.map +1 -1
  144. package/dist/components/VIcon/icons/colorize.js.map +1 -1
  145. package/dist/components/VIcon/icons/description.js.map +1 -1
  146. package/dist/components/VIcon/icons/error.js.map +1 -1
  147. package/dist/components/VIcon/icons/expand_less.js.map +1 -1
  148. package/dist/components/VIcon/icons/expand_more.js.map +1 -1
  149. package/dist/components/VIcon/icons/first_page.js.map +1 -1
  150. package/dist/components/VIcon/icons/folder_zip.js.map +1 -1
  151. package/dist/components/VIcon/icons/image.js.map +1 -1
  152. package/dist/components/VIcon/icons/inbox.js.map +1 -1
  153. package/dist/components/VIcon/icons/index.js.map +1 -1
  154. package/dist/components/VIcon/icons/info.js.map +1 -1
  155. package/dist/components/VIcon/icons/last_page.js.map +1 -1
  156. package/dist/components/VIcon/icons/more_horiz.js.map +1 -1
  157. package/dist/components/VIcon/icons/names.js.map +1 -1
  158. package/dist/components/VIcon/icons/notifications.js.map +1 -1
  159. package/dist/components/VIcon/icons/open_in_new.js.map +1 -1
  160. package/dist/components/VIcon/icons/picture_as_pdf.js.map +1 -1
  161. package/dist/components/VIcon/icons/priority_high.js.map +1 -1
  162. package/dist/components/VIcon/icons/remove.js.map +1 -1
  163. package/dist/components/VIcon/icons/schedule.js.map +1 -1
  164. package/dist/components/VIcon/icons/search.js.map +1 -1
  165. package/dist/components/VIcon/icons/search_off.js.map +1 -1
  166. package/dist/components/VIcon/icons/star.js.map +1 -1
  167. package/dist/components/VIcon/icons/swap_vert.js.map +1 -1
  168. package/dist/components/VIcon/icons/table_chart.js.map +1 -1
  169. package/dist/components/VIcon/icons/video_file.js.map +1 -1
  170. package/dist/components/VIcon/icons/viewBox.js.map +1 -1
  171. package/dist/components/VIcon/icons/warning.js.map +1 -1
  172. package/dist/components/VIcon/resolver.js.map +1 -1
  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.js.map +1 -1
  176. package/dist/components/VInput/VInput.vue_vue_type_script_setup_true_lang.js +20 -20
  177. package/dist/components/VInput/VInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  178. package/dist/components/VInput/VInputGroup.js.map +1 -1
  179. package/dist/components/VInput/VInputGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  180. package/dist/components/VInput/context.js.map +1 -1
  181. package/dist/components/VInputOTP/VInputOTP.js.map +1 -1
  182. package/dist/components/VInputOTP/VInputOTP.vue_vue_type_script_setup_true_lang.js +2 -8
  183. package/dist/components/VInputOTP/VInputOTP.vue_vue_type_script_setup_true_lang.js.map +1 -1
  184. package/dist/components/VLink/VLink.js.map +1 -1
  185. package/dist/components/VLink/VLink.vue_vue_type_script_setup_true_lang.js.map +1 -1
  186. package/dist/components/VListbox/VListboxChevron.js.map +1 -1
  187. package/dist/components/VListbox/VListboxChevron.vue_vue_type_script_setup_true_lang.js.map +1 -1
  188. package/dist/components/VListbox/VListboxGroup.js.map +1 -1
  189. package/dist/components/VListbox/VListboxGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  190. package/dist/components/VListbox/VListboxOption.js.map +1 -1
  191. package/dist/components/VListbox/VListboxOption.vue_vue_type_script_setup_true_lang.js.map +1 -1
  192. package/dist/components/VListbox/VListboxPanel.js.map +1 -1
  193. package/dist/components/VListbox/VListboxPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  194. package/dist/components/VListbox/VListboxSeparator.js.map +1 -1
  195. package/dist/components/VListbox/VListboxSeparator.vue_vue_type_script_setup_true_lang.js.map +1 -1
  196. package/dist/components/VListbox/VListboxValues.js.map +1 -1
  197. package/dist/components/VListbox/VListboxValues.vue_vue_type_script_setup_true_lang.js.map +1 -1
  198. package/dist/components/VMenu/VMenu.js.map +1 -1
  199. package/dist/components/VMenu/VMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  200. package/dist/components/VMenu/VMenuGroup.js.map +1 -1
  201. package/dist/components/VMenu/VMenuGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  202. package/dist/components/VMenu/VMenuItem.js.map +1 -1
  203. package/dist/components/VMenu/VMenuItem.vue_vue_type_script_setup_true_lang.js +6 -12
  204. package/dist/components/VMenu/VMenuItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  205. package/dist/components/VMenu/VMenuPanel.js.map +1 -1
  206. package/dist/components/VMenu/VMenuPanel.vue_vue_type_script_setup_true_lang.js +9 -10
  207. package/dist/components/VMenu/VMenuPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  208. package/dist/components/VMenu/VMenuSeparator.js.map +1 -1
  209. package/dist/components/VMenu/VMenuSeparator.vue_vue_type_script_setup_true_lang.js.map +1 -1
  210. package/dist/components/VMenu/context.js.map +1 -1
  211. package/dist/components/VMeter/VMeter.js.map +1 -1
  212. package/dist/components/VMeter/VMeter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  213. package/dist/components/VNumberInput/VNumberInput.js.map +1 -1
  214. package/dist/components/VNumberInput/VNumberInput.vue_vue_type_script_setup_true_lang.js +86 -85
  215. package/dist/components/VNumberInput/VNumberInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  216. package/dist/components/VNumberInput/number.d.ts +2 -2
  217. package/dist/components/VNumberInput/number.js +1 -1
  218. package/dist/components/VNumberInput/number.js.map +1 -1
  219. package/dist/components/VPagination/VPagination.js.map +1 -1
  220. package/dist/components/VPagination/VPagination.vue_vue_type_script_setup_true_lang.js +1 -1
  221. package/dist/components/VPagination/VPagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
  222. package/dist/components/VPopover/VPopover.js.map +1 -1
  223. package/dist/components/VPopover/VPopover.vue_vue_type_script_setup_true_lang.js.map +1 -1
  224. package/dist/components/VProgressCircular/VProgressCircular.js.map +1 -1
  225. package/dist/components/VProgressCircular/VProgressCircular.vue_vue_type_script_setup_true_lang.js.map +1 -1
  226. package/dist/components/VProgressLinear/VProgressLinear.js.map +1 -1
  227. package/dist/components/VProgressLinear/VProgressLinear.vue_vue_type_script_setup_true_lang.js.map +1 -1
  228. package/dist/components/VRadio/VRadio.js.map +1 -1
  229. package/dist/components/VRadio/VRadio.vue_vue_type_script_setup_true_lang.js.map +1 -1
  230. package/dist/components/VRating/VRating.js.map +1 -1
  231. package/dist/components/VRating/VRating.vue_vue_type_script_setup_true_lang.js.map +1 -1
  232. package/dist/components/VResizable/VResizable.js.map +1 -1
  233. package/dist/components/VResizable/VResizable.vue_vue_type_script_setup_true_lang.js +8 -6
  234. package/dist/components/VResizable/VResizable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  235. package/dist/components/VResizable/VResizablePanel.js.map +1 -1
  236. package/dist/components/VResizable/VResizablePanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  237. package/dist/components/VResizable/context.js.map +1 -1
  238. package/dist/components/VResizable/layout.js.map +1 -1
  239. package/dist/components/VSelect/VSelect.js.map +1 -1
  240. package/dist/components/VSelect/VSelect.vue_vue_type_script_setup_true_lang.js +182 -189
  241. package/dist/components/VSelect/VSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  242. package/dist/components/VSeparator/VSeparator.js.map +1 -1
  243. package/dist/components/VSeparator/VSeparator.vue_vue_type_script_setup_true_lang.js.map +1 -1
  244. package/dist/components/VSideNavigation/VSideNavigation.js.map +1 -1
  245. package/dist/components/VSideNavigation/VSideNavigation.vue_vue_type_script_setup_true_lang.js +1 -1
  246. package/dist/components/VSideNavigation/VSideNavigation.vue_vue_type_script_setup_true_lang.js.map +1 -1
  247. package/dist/components/VSideNavigation/VSideNavigationGroup.js.map +1 -1
  248. package/dist/components/VSideNavigation/VSideNavigationGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  249. package/dist/components/VSideNavigation/VSideNavigationItem.js.map +1 -1
  250. package/dist/components/VSideNavigation/VSideNavigationItem.vue_vue_type_script_setup_true_lang.js +1 -5
  251. package/dist/components/VSideNavigation/VSideNavigationItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  252. package/dist/components/VSideNavigation/VSideNavigationSeparator.js.map +1 -1
  253. package/dist/components/VSideNavigation/context.js.map +1 -1
  254. package/dist/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  255. package/dist/components/VSkeletonLoader/VSkeletonLoader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  256. package/dist/components/VSlider/VSlider.js.map +1 -1
  257. package/dist/components/VSlider/VSlider.vue_vue_type_script_setup_true_lang.js +22 -22
  258. package/dist/components/VSlider/VSlider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  259. package/dist/components/VSnackbar/VSnackbar.js.map +1 -1
  260. package/dist/components/VSnackbar/VSnackbar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  261. package/dist/components/VSnackbar/state.js.map +1 -1
  262. package/dist/components/VSpinner/VSpinner.js.map +1 -1
  263. package/dist/components/VSpinner/VSpinner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  264. package/dist/components/VSplitButton/VSplitButton.js.map +1 -1
  265. package/dist/components/VSplitButton/VSplitButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  266. package/dist/components/VStepper/VStepper.js.map +1 -1
  267. package/dist/components/VStepper/VStepper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  268. package/dist/components/VSwitch/VSwitch.js.map +1 -1
  269. package/dist/components/VSwitch/VSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  270. package/dist/components/VTabs/VTab.js.map +1 -1
  271. package/dist/components/VTabs/VTab.vue_vue_type_script_setup_true_lang.js.map +1 -1
  272. package/dist/components/VTabs/VTabPanel.js.map +1 -1
  273. package/dist/components/VTabs/VTabPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  274. package/dist/components/VTabs/VTabs.js.map +1 -1
  275. package/dist/components/VTabs/VTabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
  276. package/dist/components/VTabs/context.js.map +1 -1
  277. package/dist/components/VTextarea/VTextarea.js.map +1 -1
  278. package/dist/components/VTextarea/VTextarea.vue_vue_type_script_setup_true_lang.js.map +1 -1
  279. package/dist/components/VTimeInput/VTimeInput.js.map +1 -1
  280. package/dist/components/VTimeInput/VTimeInput.vue_vue_type_script_setup_true_lang.js +45 -45
  281. package/dist/components/VTimeInput/VTimeInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  282. package/dist/components/VTimeInput/search.js.map +1 -1
  283. package/dist/components/VTimePicker/VTimePicker.js.map +1 -1
  284. package/dist/components/VTimePicker/VTimePicker.vue_vue_type_script_setup_true_lang.js +10 -10
  285. package/dist/components/VTimePicker/VTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  286. package/dist/components/VTimePicker/limits.js.map +1 -1
  287. package/dist/components/VTimeline/VTimeline.js.map +1 -1
  288. package/dist/components/VTimeline/VTimeline.vue_vue_type_script_setup_true_lang.js.map +1 -1
  289. package/dist/components/VTimeline/VTimelineItem.js.map +1 -1
  290. package/dist/components/VTimeline/VTimelineItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  291. package/dist/components/VTimeline/context.js.map +1 -1
  292. package/dist/components/VTimeline/datetime.js.map +1 -1
  293. package/dist/components/VToast/VToast.js.map +1 -1
  294. package/dist/components/VToast/VToast.vue_vue_type_script_setup_true_lang.js.map +1 -1
  295. package/dist/components/VToast/VToaster.js.map +1 -1
  296. package/dist/components/VToast/VToaster.vue_vue_type_script_setup_true_lang.js +1 -1
  297. package/dist/components/VToast/VToaster.vue_vue_type_script_setup_true_lang.js.map +1 -1
  298. package/dist/components/VToast/state.js.map +1 -1
  299. package/dist/components/VToggle/VToggle.js.map +1 -1
  300. package/dist/components/VToggle/VToggle.vue_vue_type_script_setup_true_lang.js +2 -8
  301. package/dist/components/VToggle/VToggle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  302. package/dist/components/VToggle/VToggleItem.js.map +1 -1
  303. package/dist/components/VToggle/VToggleItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  304. package/dist/components/VToggle/context.js.map +1 -1
  305. package/dist/components/VTooltip/VTooltip.js.map +1 -1
  306. package/dist/components/VTooltip/VTooltip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  307. package/dist/components/VTreeView/VTreeView.js.map +1 -1
  308. package/dist/components/VTreeView/VTreeView.vue_vue_type_script_setup_true_lang.js +127 -135
  309. package/dist/components/VTreeView/VTreeView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  310. package/dist/components/VTypography/VTypography.js.map +1 -1
  311. package/dist/components/VTypography/VTypography.vue_vue_type_script_setup_true_lang.js.map +1 -1
  312. package/dist/components/VVirtualList/VVirtualList.js.map +1 -1
  313. package/dist/components/VVirtualList/VVirtualList.vue_vue_type_script_setup_true_lang.js.map +1 -1
  314. package/dist/composables/useAriaLabel.js.map +1 -1
  315. package/dist/composables/useChoice.js.map +1 -1
  316. package/dist/composables/useClearable.js.map +1 -1
  317. package/dist/composables/useControlShape.js.map +1 -1
  318. package/dist/composables/useDebouncedSearch.js.map +1 -1
  319. package/dist/composables/useDetailsOpen.js.map +1 -1
  320. package/dist/composables/useEscapeDismiss.js.map +1 -1
  321. package/dist/composables/useFieldIds.js.map +1 -1
  322. package/dist/composables/useFieldPanel.js +3 -7
  323. package/dist/composables/useFieldPanel.js.map +1 -1
  324. package/dist/composables/useFileDrop.js.map +1 -1
  325. package/dist/composables/useFileField.js +2 -2
  326. package/dist/composables/useFileField.js.map +1 -1
  327. package/dist/composables/useFocusoutDismiss.js.map +1 -1
  328. package/dist/composables/useHotkeyListener.js +5 -2
  329. package/dist/composables/useHotkeyListener.js.map +1 -1
  330. package/dist/composables/useIconClickHandlers.js.map +1 -1
  331. package/dist/composables/useInertLink.js.map +1 -1
  332. package/dist/composables/useInfiniteScroll.js +4 -4
  333. package/dist/composables/useInfiniteScroll.js.map +1 -1
  334. package/dist/composables/useListbox.js +3 -9
  335. package/dist/composables/useListbox.js.map +1 -1
  336. package/dist/composables/useLiveAnnouncer.js.map +1 -1
  337. package/dist/composables/useMaskedField.js +28 -48
  338. package/dist/composables/useMaskedField.js.map +1 -1
  339. package/dist/composables/useModalDialog.js +1 -1
  340. package/dist/composables/useModalDialog.js.map +1 -1
  341. package/dist/composables/usePopover.js +1 -1
  342. package/dist/composables/usePopover.js.map +1 -1
  343. package/dist/composables/useProgressValue.js.map +1 -1
  344. package/dist/composables/useRootAttrs.js.map +1 -1
  345. package/dist/composables/useSlotNodes.js.map +1 -1
  346. package/dist/composables/useTextLimit.js.map +1 -1
  347. package/dist/composables/useTimer.js.map +1 -1
  348. package/dist/composables/useTypeahead.d.ts +13 -0
  349. package/dist/composables/useTypeahead.js +23 -0
  350. package/dist/composables/useTypeahead.js.map +1 -0
  351. package/dist/composables/useVirtualList.js.map +1 -1
  352. package/dist/i18n/en.js.map +1 -1
  353. package/dist/i18n/fr.js.map +1 -1
  354. package/dist/i18n/state.d.ts +1 -1
  355. package/dist/i18n/state.js +17 -6
  356. package/dist/i18n/state.js.map +1 -1
  357. package/dist/styles.css +1 -1
  358. package/dist/tokens/css.js.map +1 -1
  359. package/dist/tokens/index.js.map +1 -1
  360. package/dist/tokens/primitives.js.map +1 -1
  361. package/dist/tokens/semantic.js.map +1 -1
  362. package/dist/tokens/themes/dark.js.map +1 -1
  363. package/dist/tokens/types.js.map +1 -1
  364. package/dist/utils/array.js.map +1 -1
  365. package/dist/utils/arrowNav.js.map +1 -1
  366. package/dist/utils/attrs.js.map +1 -1
  367. package/dist/utils/chip.js.map +1 -1
  368. package/dist/utils/clock.js +3 -1
  369. package/dist/utils/clock.js.map +1 -1
  370. package/dist/utils/css.js +1 -1
  371. package/dist/utils/css.js.map +1 -1
  372. package/dist/utils/date.js +4 -3
  373. package/dist/utils/date.js.map +1 -1
  374. package/dist/utils/direction.js.map +1 -1
  375. package/dist/utils/env.js.map +1 -1
  376. package/dist/utils/file.js +13 -31
  377. package/dist/utils/file.js.map +1 -1
  378. package/dist/utils/focus.js.map +1 -1
  379. package/dist/utils/hostWarns.js.map +1 -1
  380. package/dist/utils/ids.js.map +1 -1
  381. package/dist/utils/matcher.js.map +1 -1
  382. package/dist/utils/memo.js.map +1 -1
  383. package/dist/utils/number.js.map +1 -1
  384. package/dist/utils/text.js.map +1 -1
  385. package/dist/utils/time.js.map +1 -1
  386. package/dist/utils/vnode.js.map +1 -1
  387. package/package.json +19 -19
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","names":[],"sources":["../../src/i18n/state.ts"],"sourcesContent":["/**\n * Reactive process-wide locale configuration, callable outside components. Per-request\n * multilingual SSR requires explicit component text props.\n */\nimport { computed, shallowRef, type ComputedRef, type ShallowRef } from 'vue'\n\nimport { isDev } from '../utils/env'\n\nimport { en } from './en'\nimport type { Messages, MessagesInput } from './types'\n\n/** The language tag assumed until one is chosen. */\nexport const DEFAULT_LOCALE = 'en-US'\nconst DEFAULT_LANG = 'en'\n\n/** The dictionaries, filed under the LANGUAGE subtag alone; `en`, `fr`, `de`. */\nconst registry = new Map<string, Messages>([[DEFAULT_LANG, en]])\n\nconst currentLocale = shallowRef<string>(DEFAULT_LOCALE)\nconst currentMessages = shallowRef<Messages>(en)\n\n/**\n * The language part of a tag: British English is filed under English. A tag that makes no\n * sense comes back untouched, and will simply match no dictionary.\n */\nfunction langOf(locale: string): string {\n return locale.toLowerCase().split('-')[0] ?? locale\n}\n\n/**\n * The dictionary a tag resolves to, falling back to the default language. The last `?? en`\n * never fires: `registry` is seeded with `DEFAULT_LANG` and the only path that could remove it;\n * `registerMessages` passing `undefined`; puts `en` straight back instead of deleting.\n */\nfunction resolve(locale: string): Messages {\n return registry.get(langOf(locale)) ?? registry.get(DEFAULT_LANG) ?? en\n}\n\n/** Names that would reach into an object's own machinery instead of naming a section. */\nconst FORBIDDEN_KEYS = new Set(['__proto__', 'constructor', 'prototype'])\n\n/** Lays a partial override over a complete dictionary. */\nfunction mergeMessages(base: Messages, patch: MessagesInput): Messages {\n const out: Record<string, object> = { ...base }\n for (const [namespace, section] of Object.entries(patch)) {\n // A dictionary parsed from a file can carry one of these as a namespace, and assigning to\n // it would replace the copy's own machinery instead of adding a section. Nothing outside is\n // affected, the object being fresh; but every lookup in it is then wrong, and nothing says\n // so.\n if (FORBIDDEN_KEYS.has(namespace)) continue\n if (!section) continue\n /* Ignore nullish dictionary leaves so partial overrides cannot erase fallback labels. */\n const words = Object.entries(section).filter(([key, value]) => {\n const empty = value === undefined || value === null || value === ''\n if (empty && isDev) {\n console.warn(`[vectis] registerMessages: “${namespace}.${key}” is empty and was ignored.`)\n }\n return !empty\n })\n out[namespace] = { ...out[namespace], ...Object.fromEntries(words) }\n }\n return out as unknown as Messages\n}\n\n/**\n * Chooses the locale the library speaks. Those components also take their own `locale`, which\n * wins.\n */\nexport function setLocale(locale: string): void {\n const lang = langOf(locale)\n if (isDev && !registry.has(lang)) {\n console.warn(\n `[vectis] No dictionary registered for “${lang}”: the text stays in ` +\n `“${DEFAULT_LANG}”. French is shipped — import { fr } from 'vectis-ui' then ` +\n `registerMessages('fr', fr). For another language: registerMessages('${lang}', { … }).`,\n )\n }\n currentLocale.value = locale\n currentMessages.value = resolve(locale)\n}\n\n/**\n * Adds or adjusts the words of a LANGUAGE, filed under the subtag alone: `fr`, not `fr-FR`.\n * What is left out falls back to whatever was registered before, then to the English always\n * carried, never to an empty string.\n */\nexport function registerMessages(lang: string, messages: MessagesInput | undefined): void {\n const key = langOf(lang)\n if (isDev && key !== lang.toLowerCase()) {\n console.warn(\n `[vectis] registerMessages('${lang}', …): the expected key is a language subtag ` +\n `alone — registered under “${key}”, which covers all its regional variants.`,\n )\n }\n if (messages === undefined) {\n if (key === DEFAULT_LANG) registry.set(DEFAULT_LANG, en)\n else registry.delete(key)\n } else {\n registry.set(key, mergeMessages(registry.get(key) ?? en, messages))\n }\n currentMessages.value = resolve(currentLocale.value)\n}\n\n/**\n * Reading `.value.x` once in a `setup()` body FREEZES that word. Read it where the read\n * repeats: inside a `computed`, or in the template.\n */\nexport function useMessages(): ShallowRef<Messages> {\n return currentMessages\n}\n\n/**\n * The locale tag in force. Internal: what the calendar and the pickers fall back on with no\n * `locale` of their own, and what VDataTable passes to `localeCompare` when it sorts.\n */\nexport function useLocale(): ShallowRef<string> {\n return currentLocale\n}\n\n/**\n * The locale a component with a `locale` prop of its own actually uses: the prop when it is\n * given, the locale in force otherwise. The prop has no literal default in any of the\n * components that read it, and that is what this relies on: `undefined` is the \"not given\" that\n * lets the global locale have its chance.\n */\nexport function useResolvedLocale(locale: () => string | undefined): ComputedRef<string> {\n // An empty tag is no tag: handed to `Intl` as it stands, it throws a RangeError.\n return computed(() => locale() || currentLocale.value)\n}\n"],"mappings":";;;;AAYA,IAAa,IAAiB,SACxB,IAAe,MAGf,oBAAW,IAAI,IAAsB,CAAC,CAAC,GAAc,CAAE,CAAC,CAAC,GAEzD,IAAgB,EAAmB,CAAc,GACjD,IAAkB,EAAqB,CAAE;AAM/C,SAAS,EAAO,GAAwB;CACtC,OAAO,EAAO,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM;AAC/C;AAOA,SAAS,EAAQ,GAA0B;CACzC,OAAO,EAAS,IAAI,EAAO,CAAM,CAAC,KAAK,EAAS,IAAI,CAAY,KAAK;AACvE;AAGA,IAAM,oBAAiB,IAAI,IAAI;CAAC;CAAa;CAAe;AAAW,CAAC;AAGxE,SAAS,EAAc,GAAgB,GAAgC;CACrE,IAAM,IAA8B,EAAE,GAAG,EAAK;CAC9C,KAAK,IAAM,CAAC,GAAW,MAAY,OAAO,QAAQ,CAAK,GAAG;EAMxD,IADI,EAAe,IAAI,CAAS,KAC5B,CAAC,GAAS;EAEd,IAAM,IAAQ,OAAO,QAAQ,CAAO,CAAC,CAAC,QAAQ,CAAC,GAAK,OAAW;GAC7D,IAAM,IAAQ,KAAiC,QAAQ,MAAU;GAIjE,OAHI,KAAS,KACX,QAAQ,KAAK,+BAA+B,EAAU,GAAG,EAAI,4BAA4B,GAEpF,CAAC;EACV,CAAC;EACD,EAAI,KAAa;GAAE,GAAG,EAAI;GAAY,GAAG,OAAO,YAAY,CAAK;EAAE;CACrE;CACA,OAAO;AACT;AAMA,SAAgB,EAAU,GAAsB;CAC9C,IAAM,IAAO,EAAO,CAAM;CAS1B,AARI,KAAS,CAAC,EAAS,IAAI,CAAI,KAC7B,QAAQ,KACN,0CAA0C,EAAK,wBACzC,EAAa,iIACsD,EAAK,WAChF,GAEF,EAAc,QAAQ,GACtB,EAAgB,QAAQ,EAAQ,CAAM;AACxC;AAOA,SAAgB,EAAiB,GAAc,GAA2C;CACxF,IAAM,IAAM,EAAO,CAAI;CAavB,AAZI,KAAS,MAAQ,EAAK,YAAY,KACpC,QAAQ,KACN,8BAA8B,EAAK,yEACJ,EAAI,2CACrC,GAEE,MAAa,KAAA,IACX,MAAQ,IAAc,EAAS,IAAI,GAAc,CAAE,IAClD,EAAS,OAAO,CAAG,IAExB,EAAS,IAAI,GAAK,EAAc,EAAS,IAAI,CAAG,KAAK,GAAI,CAAQ,CAAC,GAEpE,EAAgB,QAAQ,EAAQ,EAAc,KAAK;AACrD;AAMA,SAAgB,IAAoC;CAClD,OAAO;AACT;AAMA,SAAgB,IAAgC;CAC9C,OAAO;AACT;AAQA,SAAgB,EAAkB,GAAuD;CAEvF,OAAO,QAAe,EAAO,KAAK,EAAc,KAAK;AACvD"}
1
+ {"version":3,"file":"state.js","names":["DEFAULT_LOCALE","DEFAULT_LANG","registry","en","currentLocale","shallowRef","currentMessages","langOf","locale","resolve","FORBIDDEN_KEYS","mergeMessages","out","base","namespace","section","patch","words","key","value","empty","isDev","isValidTag","tag","setLocale","lang","registerMessages","messages","useMessages","useLocale","useResolvedLocale","computed"],"sources":["../../src/i18n/state.ts"],"sourcesContent":["/**\n * Reactive process-wide locale configuration, callable outside components. Per-request\n * multilingual SSR requires explicit component text props.\n */\nimport { computed, shallowRef, type ComputedRef, type ShallowRef } from 'vue'\n\nimport { isDev } from '../utils/env'\n\nimport { en } from './en'\nimport type { Messages, MessagesInput } from './types'\n\n/** The language tag assumed until one is chosen. */\nexport const DEFAULT_LOCALE = 'en-US'\nconst DEFAULT_LANG = 'en'\n\n/** The dictionaries, filed under the LANGUAGE subtag alone; `en`, `fr`, `de`. */\nconst registry = new Map<string, Messages>([[DEFAULT_LANG, en]])\n\nconst currentLocale = shallowRef<string>(DEFAULT_LOCALE)\nconst currentMessages = shallowRef<Messages>(en)\n\n/**\n * The language part of a tag: British English is filed under English. A tag that makes no\n * sense comes back untouched, and will simply match no dictionary.\n */\nfunction langOf(locale: string): string {\n return locale.toLowerCase().split('-')[0] ?? locale\n}\n\n/**\n * The dictionary a tag resolves to, falling back to the default language. The last `?? en`\n * never fires: `registry` is seeded with `DEFAULT_LANG` and the only path that could remove it;\n * `registerMessages` passing `undefined`; puts `en` straight back instead of deleting.\n */\nfunction resolve(locale: string): Messages {\n return registry.get(langOf(locale)) ?? registry.get(DEFAULT_LANG) ?? en\n}\n\n/** Names that would reach into an object's own machinery instead of naming a section. */\nconst FORBIDDEN_KEYS = new Set(['__proto__', 'constructor', 'prototype'])\n\n/** Lays a partial override over a complete dictionary. */\nfunction mergeMessages(base: Messages, patch: MessagesInput): Messages {\n const out: Record<string, object> = { ...base }\n for (const [namespace, section] of Object.entries(patch)) {\n // A dictionary parsed from a file can carry one of these as a namespace, and assigning to\n // it would replace the copy's own machinery instead of adding a section. Nothing outside is\n // affected, the object being fresh; but every lookup in it is then wrong, and nothing says\n // so.\n if (FORBIDDEN_KEYS.has(namespace)) continue\n if (!section) continue\n /* Ignore nullish dictionary leaves so partial overrides cannot erase fallback labels. */\n const words = Object.entries(section).filter(([key, value]) => {\n const empty = value === undefined || value === null || value === ''\n if (empty && isDev) {\n console.warn(`[vectis] registerMessages: “${namespace}.${key}” is empty and was ignored.`)\n }\n return !empty\n })\n out[namespace] = { ...out[namespace], ...Object.fromEntries(words) }\n }\n return out as unknown as Messages\n}\n\n/**\n * Whether `Intl` takes a tag: a malformed one (\"fr_FR\") throws a RangeError in every formatter,\n * so it is ignored rather than passed on.\n */\nfunction isValidTag(tag: string): boolean {\n try {\n Intl.getCanonicalLocales(tag)\n return true\n } catch {\n if (isDev) console.warn(`[vectis] Locale “${tag}” ignored: not a language tag ('fr-FR').`)\n return false\n }\n}\n\n/**\n * Chooses the locale the library speaks. Those components also take their own `locale`, which\n * wins. A malformed tag is ignored and the locale in force stays.\n */\nexport function setLocale(locale: string): void {\n if (!isValidTag(locale)) return\n const lang = langOf(locale)\n if (isDev && !registry.has(lang)) {\n console.warn(\n `[vectis] No dictionary registered for “${lang}”: the text stays in ` +\n `“${DEFAULT_LANG}”. French is shipped — import { fr } from 'vectis-ui' then ` +\n `registerMessages('fr', fr). For another language: registerMessages('${lang}', { … }).`,\n )\n }\n currentLocale.value = locale\n currentMessages.value = resolve(locale)\n}\n\n/**\n * Adds or adjusts the words of a LANGUAGE, filed under the subtag alone: `fr`, not `fr-FR`.\n * What is left out falls back to whatever was registered before, then to the English always\n * carried, never to an empty string.\n */\nexport function registerMessages(lang: string, messages: MessagesInput | undefined): void {\n const key = langOf(lang)\n if (isDev && key !== lang.toLowerCase()) {\n console.warn(\n `[vectis] registerMessages('${lang}', …): the expected key is a language subtag ` +\n `alone — registered under “${key}”, which covers all its regional variants.`,\n )\n }\n if (messages === undefined) {\n if (key === DEFAULT_LANG) registry.set(DEFAULT_LANG, en)\n else registry.delete(key)\n } else {\n registry.set(key, mergeMessages(registry.get(key) ?? en, messages))\n }\n currentMessages.value = resolve(currentLocale.value)\n}\n\n/**\n * Reading `.value.x` once in a `setup()` body FREEZES that word. Read it where the read\n * repeats: inside a `computed`, or in the template.\n */\nexport function useMessages(): ShallowRef<Messages> {\n return currentMessages\n}\n\n/**\n * The locale tag in force. Internal: what the calendar and the pickers fall back on with no\n * `locale` of their own, and what VDataTable passes to `localeCompare` when it sorts.\n */\nexport function useLocale(): ShallowRef<string> {\n return currentLocale\n}\n\n/**\n * The locale a component with a `locale` prop of its own actually uses: the prop when it is\n * given, the locale in force otherwise. The prop has no literal default in any of the\n * components that read it, and that is what this relies on: `undefined` is the \"not given\" that\n * lets the global locale have its chance.\n */\nexport function useResolvedLocale(locale: () => string | undefined): ComputedRef<string> {\n // An empty or malformed tag is no tag: handed to `Intl` as it stands, it throws a RangeError.\n return computed(() => {\n const tag = locale()\n return tag && isValidTag(tag) ? tag : currentLocale.value\n })\n}\n"],"mappings":";;;;AAYA,IAAaA,IAAiB,SACxBC,IAAe,MAGfC,oBAAW,IAAI,IAAsB,CAAC,CAACD,GAAcE,CAAE,CAAC,CAAC,GAEzDC,IAAgBC,EAAmBL,CAAc,GACjDM,IAAkBD,EAAqBF,CAAE;AAM/C,SAASI,EAAO,GAAwB;CACtC,OAAOC,EAAO,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAMA;AAC/C;AAOA,SAASC,EAAQ,GAA0B;CACzC,OAAOP,EAAS,IAAIK,EAAOC,CAAM,CAAC,KAAKN,EAAS,IAAID,CAAY,KAAKE;AACvE;AAGA,IAAMO,oBAAiB,IAAI,IAAI;CAAC;CAAa;CAAe;AAAW,CAAC;AAGxE,SAASC,EAAc,GAAgB,GAAgC;CACrE,IAAMC,IAA8B,EAAE,GAAGC,EAAK;CAC9C,KAAK,IAAM,CAACC,GAAWC,MAAY,OAAO,QAAQC,CAAK,GAAG;EAMxD,IADIN,EAAe,IAAII,CAAS,KAC5B,CAACC,GAAS;EAEd,IAAME,IAAQ,OAAO,QAAQF,CAAO,CAAC,CAAC,QAAQ,CAACG,GAAKC,OAAW;GAC7D,IAAMC,IAAQD,KAAiC,QAAQA,MAAU;GAIjE,OAHIC,KAASC,KACX,QAAQ,KAAK,+BAA+BP,EAAU,GAAGI,EAAI,4BAA4B,GAEpF,CAACE;EACV,CAAC;EACD,EAAIN,KAAa;GAAE,GAAGF,EAAIE;GAAY,GAAG,OAAO,YAAYG,CAAK;EAAE;CACrE;CACA,OAAOL;AACT;AAMA,SAASU,EAAW,GAAsB;CACxC,IAAI;EAEF,OADA,KAAK,oBAAoBC,CAAG,GACrB;CACT,QAAQ;EAEN,OADIF,KAAO,QAAQ,KAAK,oBAAoBE,EAAI,yCAAyC,GAClF;CACT;AACF;AAMA,SAAgBC,EAAU,GAAsB;CAC9C,IAAI,CAACF,EAAWd,CAAM,GAAG;CACzB,IAAMiB,IAAOlB,EAAOC,CAAM;CAS1B,AARIa,KAAS,CAACnB,EAAS,IAAIuB,CAAI,KAC7B,QAAQ,KACN,0CAA0CA,EAAK,wBACzCxB,EAAa,iIACsDwB,EAAK,WAChF,GAEF,EAAc,QAAQjB,GACtB,EAAgB,QAAQC,EAAQD,CAAM;AACxC;AAOA,SAAgBkB,EAAiB,GAAc,GAA2C;CACxF,IAAMR,IAAMX,EAAOkB,CAAI;CAavB,AAZIJ,KAASH,MAAQO,EAAK,YAAY,KACpC,QAAQ,KACN,8BAA8BA,EAAK,yEACJP,EAAI,2CACrC,GAEES,MAAa,KAAA,IACXT,MAAQjB,IAAcC,EAAS,IAAID,GAAcE,CAAE,IAClDD,EAAS,OAAOgB,CAAG,IAExBhB,EAAS,IAAIgB,GAAKP,EAAcT,EAAS,IAAIgB,CAAG,KAAKf,GAAIwB,CAAQ,CAAC,GAEpE,EAAgB,QAAQlB,EAAQL,EAAc,KAAK;AACrD;AAMA,SAAgBwB,IAAoC;CAClD,OAAOtB;AACT;AAMA,SAAgBuB,IAAgC;CAC9C,OAAOzB;AACT;AAQA,SAAgB0B,EAAkB,GAAuD;CAEvF,OAAOC,QAAe;EACpB,IAAMR,IAAMf,EAAO;EACnB,OAAOe,KAAOD,EAAWC,CAAG,IAAIA,IAAMnB,EAAc;CACtD,CAAC;AACH"}
package/dist/styles.css CHANGED
@@ -1 +1 @@
1
- @layer vectis.reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;tab-size:4}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}}@layer vectis.tokens{:root{--vectis-color-white:oklch(100% 0 0);--vectis-color-black:oklch(0% 0 0);--vectis-color-red-50:oklch(97.1% .013 17.38);--vectis-color-red-100:oklch(93.6% .032 17.717);--vectis-color-red-200:oklch(88.5% .062 18.334);--vectis-color-red-300:oklch(80.8% .114 19.571);--vectis-color-red-400:oklch(70.4% .191 22.216);--vectis-color-red-500:oklch(63.7% .237 25.331);--vectis-color-red-600:oklch(57.7% .245 27.325);--vectis-color-red-700:oklch(50.5% .213 27.518);--vectis-color-red-800:oklch(44.4% .177 26.899);--vectis-color-red-900:oklch(39.6% .141 25.723);--vectis-color-red-950:oklch(25.8% .092 26.042);--vectis-color-amber-50:oklch(98.7% .022 95.277);--vectis-color-amber-100:oklch(96.2% .059 95.617);--vectis-color-amber-200:oklch(92.4% .12 95.746);--vectis-color-amber-300:oklch(87.9% .169 91.605);--vectis-color-amber-400:oklch(82.8% .189 84.429);--vectis-color-amber-500:oklch(76.9% .188 70.08);--vectis-color-amber-600:oklch(66.6% .179 58.318);--vectis-color-amber-700:oklch(55.5% .163 48.998);--vectis-color-amber-800:oklch(47.3% .137 46.201);--vectis-color-amber-900:oklch(41.4% .112 45.904);--vectis-color-amber-950:oklch(27.9% .077 45.635);--vectis-color-green-50:oklch(98.2% .018 155.826);--vectis-color-green-100:oklch(96.2% .044 156.743);--vectis-color-green-200:oklch(92.5% .084 155.995);--vectis-color-green-300:oklch(87.1% .15 154.449);--vectis-color-green-400:oklch(79.2% .209 151.711);--vectis-color-green-500:oklch(72.3% .219 149.579);--vectis-color-green-600:oklch(62.7% .194 149.214);--vectis-color-green-700:oklch(52.7% .154 150.069);--vectis-color-green-800:oklch(44.8% .119 151.328);--vectis-color-green-900:oklch(39.3% .095 152.535);--vectis-color-green-950:oklch(26.6% .065 152.934);--vectis-color-indigo-50:oklch(96.2% .018 272.314);--vectis-color-indigo-100:oklch(93% .034 272.788);--vectis-color-indigo-200:oklch(87% .065 274.039);--vectis-color-indigo-300:oklch(78.5% .115 274.713);--vectis-color-indigo-400:oklch(67.3% .182 276.935);--vectis-color-indigo-500:oklch(58.5% .233 277.117);--vectis-color-indigo-600:oklch(51.1% .262 276.966);--vectis-color-indigo-700:oklch(45.7% .24 277.023);--vectis-color-indigo-800:oklch(39.8% .195 277.366);--vectis-color-indigo-900:oklch(35.9% .144 278.697);--vectis-color-indigo-950:oklch(25.7% .09 281.288);--vectis-color-gray-50:oklch(98.5% .002 247.839);--vectis-color-gray-100:oklch(96.7% .003 264.542);--vectis-color-gray-200:oklch(92.8% .006 264.531);--vectis-color-gray-300:oklch(87.2% .01 258.338);--vectis-color-gray-400:oklch(70.7% .022 261.325);--vectis-color-gray-500:oklch(55.1% .027 264.364);--vectis-color-gray-600:oklch(44.6% .03 256.802);--vectis-color-gray-700:oklch(37.3% .034 259.733);--vectis-color-gray-800:oklch(27.8% .033 256.848);--vectis-color-gray-900:oklch(21% .034 264.665);--vectis-color-gray-950:oklch(13% .028 261.692);--vectis-space-1:.25rem;--vectis-space-2:.5rem;--vectis-space-3:.75rem;--vectis-space-4:1rem;--vectis-space-5:1.25rem;--vectis-space-6:1.5rem;--vectis-space-7:2rem;--vectis-space-8:2.5rem;--vectis-space-9:3rem;--vectis-space-10:4rem;--vectis-space-11:5rem;--vectis-space-12:6rem;--vectis-font-family-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--vectis-font-family-display:var(--vectis-font-family-sans);--vectis-font-family-mono:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;--vectis-font-family-icon:"Material Symbols Rounded";--vectis-font-weight-regular:400;--vectis-font-weight-medium:500;--vectis-font-weight-semibold:600;--vectis-font-weight-bold:700;--vectis-font-size-xs:.75rem;--vectis-font-size-sm:.875rem;--vectis-font-size-md:1rem;--vectis-font-size-lg:1.125rem;--vectis-font-size-xl:1.25rem;--vectis-font-size-2xl:1.5rem;--vectis-font-size-3xl:1.875rem;--vectis-font-size-4xl:2.25rem;--vectis-font-size-5xl:3rem;--vectis-font-leading-none:1;--vectis-font-leading-tight:1.25;--vectis-font-leading-snug:1.4;--vectis-font-leading-normal:1.5;--vectis-font-leading-relaxed:1.65;--vectis-font-tracking-tight:-.015em;--vectis-font-tracking-wide:.05em;--vectis-radius-none:0px;--vectis-radius-xs:.125rem;--vectis-radius-sm:.25rem;--vectis-radius-md:.375rem;--vectis-radius-lg:.5rem;--vectis-radius-xl:.75rem;--vectis-radius-2xl:1rem;--vectis-radius-full:9999px;--vectis-shadow-xs:0 1px 2px 0 oklch(0% 0 0/.05);--vectis-shadow-sm:0 1px 3px 0 oklch(0% 0 0/.1), 0 1px 2px -1px oklch(0% 0 0/.1);--vectis-shadow-md:0 4px 6px -1px oklch(0% 0 0/.1), 0 2px 4px -2px oklch(0% 0 0/.1);--vectis-shadow-lg:0 10px 15px -3px oklch(0% 0 0/.1), 0 4px 6px -4px oklch(0% 0 0/.1);--vectis-shadow-xl:0 20px 25px -5px oklch(0% 0 0/.1), 0 8px 10px -6px oklch(0% 0 0/.1);--vectis-duration-0:0s;--vectis-duration-50:50ms;--vectis-duration-100:.1s;--vectis-duration-150:.15s;--vectis-duration-200:.2s;--vectis-duration-300:.3s;--vectis-duration-400:.4s;--vectis-duration-500:.5s;--vectis-duration-700:.7s;--vectis-duration-1000:1s;--vectis-duration-1500:1.5s;--vectis-duration-2000:2s;--vectis-duration-3000:3s;--vectis-duration-5000:5s;--vectis-ease-default:cubic-bezier(.2, 0, 0, 1);--vectis-ease-in:cubic-bezier(.5, 0, 1, 1);--vectis-ease-out:cubic-bezier(0, 0, .2, 1);--vectis-ease-in-out:cubic-bezier(.4, 0, .2, 1)}:root,[data-theme=light]{color-scheme:light;--vectis-color-surface:var(--vectis-color-white);--vectis-color-surface-muted:var(--vectis-color-gray-100);--vectis-color-surface-raised:var(--vectis-color-white);--vectis-color-surface-overlay:var(--vectis-color-white);--vectis-color-surface-sunken:var(--vectis-color-gray-50);--vectis-color-surface-inverse:var(--vectis-color-gray-900);--vectis-color-surface-skeleton:var(--vectis-color-gray-200);--vectis-color-text-on-inverse:var(--vectis-color-white);--vectis-color-text:var(--vectis-color-gray-900);--vectis-color-text-muted:var(--vectis-color-gray-600);--vectis-color-text-subtle:var(--vectis-color-gray-500);--vectis-color-text-on-accent:var(--vectis-color-white);--vectis-color-text-on-warning:var(--vectis-color-gray-950);--vectis-color-border:var(--vectis-color-gray-200);--vectis-color-border-strong:var(--vectis-color-gray-300);--vectis-color-border-on-fill:oklch(0% 0 0/.12);--vectis-color-accent:var(--vectis-color-indigo-600);--vectis-color-accent-hover:var(--vectis-color-indigo-700);--vectis-color-accent-active:var(--vectis-color-indigo-800);--vectis-color-accent-surface:var(--vectis-color-indigo-50);--vectis-color-accent-border:var(--vectis-color-indigo-200);--vectis-color-accent-text:var(--vectis-color-indigo-700);--vectis-color-danger:var(--vectis-color-red-600);--vectis-color-danger-hover:var(--vectis-color-red-700);--vectis-color-danger-active:var(--vectis-color-red-800);--vectis-color-danger-surface:var(--vectis-color-red-50);--vectis-color-danger-border:var(--vectis-color-red-200);--vectis-color-danger-text:var(--vectis-color-red-700);--vectis-color-success:var(--vectis-color-green-700);--vectis-color-success-hover:var(--vectis-color-green-800);--vectis-color-success-active:var(--vectis-color-green-900);--vectis-color-success-surface:var(--vectis-color-green-50);--vectis-color-success-border:var(--vectis-color-green-200);--vectis-color-success-text:var(--vectis-color-green-800);--vectis-color-warning:var(--vectis-color-amber-600);--vectis-color-warning-hover:var(--vectis-color-amber-700);--vectis-color-warning-active:var(--vectis-color-amber-800);--vectis-color-warning-surface:var(--vectis-color-amber-50);--vectis-color-warning-border:var(--vectis-color-amber-200);--vectis-color-warning-text:var(--vectis-color-amber-900);--vectis-color-backdrop:oklch(0% 0 0/.45);--vectis-color-event-surface:oklch(95% .045 265);--vectis-color-event-border:oklch(85% .08 265);--vectis-color-event-text:oklch(40% .11 265);--vectis-text-family:var(--vectis-font-family-sans);--vectis-text-family-heading:var(--vectis-font-family-display);--vectis-text-family-code:var(--vectis-font-family-mono);--vectis-text-display-size:var(--vectis-font-size-5xl);--vectis-text-display-weight:var(--vectis-font-weight-bold);--vectis-text-display-leading:var(--vectis-font-leading-none);--vectis-text-display-tracking:var(--vectis-font-tracking-tight);--vectis-text-heading-1-size:var(--vectis-font-size-4xl);--vectis-text-heading-1-weight:var(--vectis-font-weight-bold);--vectis-text-heading-1-leading:var(--vectis-font-leading-tight);--vectis-text-heading-1-tracking:var(--vectis-font-tracking-tight);--vectis-text-heading-2-size:var(--vectis-font-size-2xl);--vectis-text-heading-2-weight:var(--vectis-font-weight-semibold);--vectis-text-heading-2-leading:var(--vectis-font-leading-tight);--vectis-text-heading-2-tracking:var(--vectis-font-tracking-tight);--vectis-text-heading-3-size:var(--vectis-font-size-lg);--vectis-text-heading-3-weight:var(--vectis-font-weight-semibold);--vectis-text-heading-3-leading:var(--vectis-font-leading-snug);--vectis-text-heading-4-size:var(--vectis-font-size-md);--vectis-text-heading-4-weight:var(--vectis-font-weight-semibold);--vectis-text-heading-4-leading:var(--vectis-font-leading-snug);--vectis-text-subtitle-size:var(--vectis-font-size-sm);--vectis-text-subtitle-weight:var(--vectis-font-weight-regular);--vectis-text-subtitle-leading:var(--vectis-font-leading-normal);--vectis-text-body-xl-size:var(--vectis-font-size-lg);--vectis-text-body-xl-weight:var(--vectis-font-weight-regular);--vectis-text-body-xl-leading:var(--vectis-font-leading-relaxed);--vectis-text-body-lg-size:var(--vectis-font-size-md);--vectis-text-body-lg-weight:var(--vectis-font-weight-regular);--vectis-text-body-lg-leading:var(--vectis-font-leading-relaxed);--vectis-text-body-md-size:var(--vectis-font-size-sm);--vectis-text-body-md-weight:var(--vectis-font-weight-regular);--vectis-text-body-md-leading:var(--vectis-font-leading-normal);--vectis-text-body-sm-size:var(--vectis-font-size-xs);--vectis-text-body-sm-weight:var(--vectis-font-weight-regular);--vectis-text-body-sm-leading:var(--vectis-font-leading-normal);--vectis-text-label-size:var(--vectis-font-size-sm);--vectis-text-label-weight:var(--vectis-font-weight-medium);--vectis-text-label-leading:var(--vectis-font-leading-snug);--vectis-text-choice-size:var(--vectis-font-size-sm);--vectis-text-choice-weight:var(--vectis-font-weight-regular);--vectis-text-choice-leading:var(--vectis-font-leading-snug);--vectis-text-caption-size:var(--vectis-font-size-xs);--vectis-text-caption-weight:var(--vectis-font-weight-regular);--vectis-text-caption-leading:var(--vectis-font-leading-snug);--vectis-text-overline-size:var(--vectis-font-size-xs);--vectis-text-overline-weight:var(--vectis-font-weight-medium);--vectis-text-overline-leading:var(--vectis-font-leading-snug);--vectis-text-overline-tracking:var(--vectis-font-tracking-wide);--vectis-text-code-size:var(--vectis-font-size-sm);--vectis-text-code-weight:var(--vectis-font-weight-regular);--vectis-text-code-leading:var(--vectis-font-leading-normal);--vectis-text-control-weight:var(--vectis-font-weight-medium);--vectis-text-control-leading:var(--vectis-font-leading-none);--vectis-radius-interactive:var(--vectis-radius-md);--vectis-radius-surface:var(--vectis-radius-lg);--vectis-radius-overlay:var(--vectis-radius-xl);--vectis-radius-pill:var(--vectis-radius-full);--vectis-radius-chip:var(--vectis-radius-interactive);--vectis-duration-fast:var(--vectis-duration-150);--vectis-duration-base:var(--vectis-duration-200);--vectis-duration-slow:var(--vectis-duration-300);--vectis-focus-ring-color:var(--vectis-color-indigo-500);--vectis-focus-ring-width:2px;--vectis-focus-ring-offset:2px;--vectis-control-height-xs:1.5rem;--vectis-control-height-sm:2rem;--vectis-control-height-md:2.5rem;--vectis-control-height-lg:3rem;--vectis-control-height-xl:3.5rem;--vectis-control-border-width:2px;--vectis-control-size-check:1.25rem;--vectis-control-size-check-mark:.875rem;--vectis-control-size-check-dot:.5rem;--vectis-control-size-switch-w:2.5rem;--vectis-control-size-switch-h:1.25rem;--vectis-control-size-switch-pad:.125rem;--vectis-control-action-size-sm:1.25rem;--vectis-control-action-size-md:1.5rem;--vectis-control-action-size-lg:1.75rem;--vectis-control-size-slider-track:.375rem;--vectis-control-size-slider-thumb:1.25rem;--vectis-control-size-slider-length:10rem;--vectis-control-size-slider-field:5rem;--vectis-control-size-carousel-block:24rem;--vectis-control-size-carousel-indicator:.625rem;--vectis-control-size-carousel-indicator-active:1.25rem;--vectis-control-size-combobox-list-max-block:18rem;--vectis-control-size-select-list-max-block:18rem;--vectis-control-size-menu-min:11rem;--vectis-control-size-menu-max:20rem;--vectis-control-size-progress-linear-thickness:.25rem;--vectis-control-size-progress-linear-length:10rem;--vectis-control-size-meter-thickness-sm:.25rem;--vectis-control-size-meter-thickness-md:.5rem;--vectis-control-size-meter-thickness-lg:.75rem;--vectis-control-size-meter-segment-gap:.125rem;--vectis-control-size-progress-circular-diameter:3rem;--vectis-control-size-progress-circular-thickness:.25rem;--vectis-control-size-skeleton-surface:6rem;--vectis-control-size-resizable-hit:.75rem;--vectis-control-size-resizable-grip-length:1.5rem;--vectis-control-size-resizable-grip-thickness:.5rem;--vectis-control-size-toast-width:22rem;--vectis-control-size-tooltip-max:18rem;--vectis-control-size-hover-card-max:20rem;--vectis-control-size-dialog-width:25rem;--vectis-control-size-command-palette-width:40rem;--vectis-control-size-command-palette-list-max-block:20rem;--vectis-control-size-command-palette-offset:6rem;--vectis-control-size-stepper-indicator:2rem;--vectis-control-size-stepper-connector-min:1.5rem;--vectis-control-size-timeline-dot-sm:.5rem;--vectis-control-size-timeline-dot-md:.625rem;--vectis-control-size-timeline-icon-sm:1.5rem;--vectis-control-size-timeline-icon-md:2rem;--vectis-control-size-timeline-item-min:12rem;--vectis-control-size-rating-sm:1.25rem;--vectis-control-size-rating-md:1.5rem;--vectis-control-size-rating-lg:2rem;--vectis-control-size-drawer-sm:20rem;--vectis-control-size-drawer-md:25rem;--vectis-control-size-drawer-lg:35rem;--vectis-control-size-snackbar-min:18rem;--vectis-control-size-snackbar-max:36rem;--vectis-control-size-card-media:12rem;--vectis-control-size-card-body-min:16rem;--vectis-control-size-empty-state-media-sm:2.5rem;--vectis-control-size-empty-state-media-md:3rem;--vectis-control-size-empty-state-media-lg:4rem;--vectis-control-size-empty-state-text-max:28rem;--vectis-control-size-field-label:10rem;--vectis-control-size-field-control-min:16rem;--vectis-control-size-badge-h:1.25rem;--vectis-control-size-badge-dot:.625rem;--vectis-control-size-badge-ring:2px;--vectis-control-size-avatar-ring:2px;--vectis-control-size-color-picker-width:16rem;--vectis-control-size-color-picker-area:10rem;--vectis-control-size-color-picker-track:.75rem;--vectis-control-size-color-picker-thumb:1.25rem;--vectis-control-size-color-picker-preview:2rem;--vectis-control-size-color-picker-format:6rem;--vectis-control-size-color-picker-swatch:1.5rem;--vectis-control-size-color-picker-checker:.5rem;--vectis-control-size-date-picker-cell:2.5rem;--vectis-control-size-date-picker-day:var(--vectis-control-height-md);--vectis-control-size-date-picker-dot:.25rem;--vectis-control-size-date-picker-nav-min:5.375rem;--vectis-control-size-tab-indicator:2px;--vectis-control-size-table-search:16rem;--vectis-control-size-time-picker-dial:16rem;--vectis-control-size-time-picker-number:3rem;--vectis-control-size-time-picker-center:.5rem;--vectis-control-size-time-picker-hand:2px;--vectis-control-size-time-picker-hand-minor:1rem;--vectis-control-size-file-picker-min-block:10rem;--vectis-control-size-file-picker-icon:2.5rem;--vectis-control-size-file-picker-thumb:2.5rem;--vectis-control-size-calendar-hour:4rem;--vectis-control-size-calendar-gutter:4.5rem;--vectis-control-size-calendar-tick:.375rem;--vectis-control-size-calendar-edge:3rem;--vectis-control-size-calendar-day-min:5rem;--vectis-control-size-calendar-handle:.5rem;--vectis-control-size-calendar-allday-lane:1.5rem;--vectis-control-size-calendar-allday-max:7rem;--vectis-control-size-calendar-now-dot:.625rem;--vectis-control-size-calendar-event-edge:3px;--vectis-control-size-calendar-gap:.125rem;--vectis-control-size-calendar-grip:1rem;--vectis-control-size-calendar-grip-thickness:2px;--vectis-control-size-calendar-year-month:13rem;--vectis-control-size-calendar-month-cell:8.5rem;--vectis-control-size-calendar-year-cell:1.5rem;--vectis-icon-size-sm:1rem;--vectis-icon-size-md:1.25rem;--vectis-icon-size-lg:1.5rem}[data-theme=dark]{color-scheme:dark;--vectis-color-surface:var(--vectis-color-gray-950);--vectis-color-surface-muted:var(--vectis-color-gray-800);--vectis-color-surface-raised:var(--vectis-color-gray-900);--vectis-color-surface-overlay:var(--vectis-color-gray-900);--vectis-color-surface-sunken:oklch(11% .006 260);--vectis-color-surface-inverse:var(--vectis-color-gray-800);--vectis-color-surface-skeleton:var(--vectis-color-gray-800);--vectis-color-text-on-inverse:var(--vectis-color-gray-50);--vectis-color-text:var(--vectis-color-gray-50);--vectis-color-text-muted:var(--vectis-color-gray-300);--vectis-color-text-subtle:var(--vectis-color-gray-400);--vectis-color-text-on-accent:var(--vectis-color-white);--vectis-color-border:var(--vectis-color-gray-800);--vectis-color-border-strong:var(--vectis-color-gray-700);--vectis-color-border-on-fill:oklch(100% 0 0/.15);--vectis-color-accent:var(--vectis-color-indigo-500);--vectis-color-accent-hover:var(--vectis-color-indigo-400);--vectis-color-accent-active:var(--vectis-color-indigo-300);--vectis-color-accent-surface:var(--vectis-color-indigo-950);--vectis-color-accent-border:var(--vectis-color-indigo-900);--vectis-color-accent-text:var(--vectis-color-indigo-300);--vectis-color-danger:var(--vectis-color-red-600);--vectis-color-danger-hover:var(--vectis-color-red-700);--vectis-color-danger-active:var(--vectis-color-red-800);--vectis-color-danger-surface:var(--vectis-color-red-950);--vectis-color-danger-border:var(--vectis-color-red-900);--vectis-color-danger-text:var(--vectis-color-red-300);--vectis-color-success:var(--vectis-color-green-700);--vectis-color-success-hover:var(--vectis-color-green-800);--vectis-color-success-active:var(--vectis-color-green-900);--vectis-color-success-surface:var(--vectis-color-green-950);--vectis-color-success-border:var(--vectis-color-green-900);--vectis-color-success-text:var(--vectis-color-green-300);--vectis-color-warning:var(--vectis-color-amber-500);--vectis-color-warning-hover:var(--vectis-color-amber-400);--vectis-color-warning-active:var(--vectis-color-amber-300);--vectis-color-warning-surface:var(--vectis-color-amber-950);--vectis-color-warning-border:var(--vectis-color-amber-900);--vectis-color-warning-text:var(--vectis-color-amber-300);--vectis-color-backdrop:oklch(0% 0 0/.6);--vectis-color-event-surface:oklch(30% .05 265);--vectis-color-event-border:oklch(42% .08 265);--vectis-color-event-text:oklch(90% .06 265);--vectis-focus-ring-color:var(--vectis-color-indigo-400)}.v-tone[data-tone=accent]{--tone-bg-solid:var(--vectis-color-accent);--tone-bg-solid-hover:var(--vectis-color-accent-hover);--tone-bg-solid-active:var(--vectis-color-accent-active);--tone-text-solid:var(--vectis-color-text-on-accent);--tone-text-tinted:var(--vectis-color-accent-text);--tone-bg-soft:var(--vectis-color-accent-surface);--tone-border-soft:var(--vectis-color-accent-border)}.v-tone[data-tone=danger]{--tone-bg-solid:var(--vectis-color-danger);--tone-bg-solid-hover:var(--vectis-color-danger-hover);--tone-bg-solid-active:var(--vectis-color-danger-active);--tone-text-solid:var(--vectis-color-text-on-accent);--tone-text-tinted:var(--vectis-color-danger-text);--tone-bg-soft:var(--vectis-color-danger-surface);--tone-border-soft:var(--vectis-color-danger-border)}.v-tone[data-tone=success]{--tone-bg-solid:var(--vectis-color-success);--tone-bg-solid-hover:var(--vectis-color-success-hover);--tone-bg-solid-active:var(--vectis-color-success-active);--tone-text-solid:var(--vectis-color-text-on-accent);--tone-text-tinted:var(--vectis-color-success-text);--tone-bg-soft:var(--vectis-color-success-surface);--tone-border-soft:var(--vectis-color-success-border)}.v-tone[data-tone=warning]{--tone-bg-solid:var(--vectis-color-warning);--tone-bg-solid-hover:var(--vectis-color-warning-hover);--tone-bg-solid-active:var(--vectis-color-warning-active);--tone-text-solid:var(--vectis-color-text-on-warning);--tone-text-tinted:var(--vectis-color-warning-text);--tone-bg-soft:var(--vectis-color-warning-surface);--tone-border-soft:var(--vectis-color-warning-border)}.v-tone[data-tone=neutral]{--tone-bg-solid:var(--vectis-color-text);--tone-bg-solid-hover:color-mix(in oklab, var(--vectis-color-text), var(--vectis-color-surface) 8%);--tone-bg-solid-active:color-mix(in oklab, var(--vectis-color-text), var(--vectis-color-surface) 14%);--tone-text-solid:var(--vectis-color-surface);--tone-text-tinted:var(--vectis-color-text);--tone-bg-soft:var(--vectis-color-surface-muted);--tone-border-soft:var(--vectis-color-border-strong)}.v-tone[data-custom]{--tone-bg-solid:var(--custom-color);--tone-text-solid:var(--vectis-color-text-on-accent);--tone-text-tinted:color-mix(in oklab, var(--custom-color), var(--vectis-color-text) 30%);--tone-bg-soft:color-mix(in oklab, var(--custom-color), var(--vectis-color-surface) 85%)}}@layer vectis.components{.v-variant[data-variant=solid]{background:var(--tone-bg-solid);color:var(--tone-text-solid)}.v-variant[data-variant=soft]{background:var(--tone-bg-soft);color:var(--tone-text-tinted)}.v-variant[data-variant=outline]{color:var(--tone-text-tinted);border-color:var(--tone-border-soft);background:0 0}.v-variant[data-variant=ghost]{color:var(--tone-text-tinted);background:0 0}.v-overlay{position:fixed;inset:auto}.v-overlay.v-overlay:not(:popover-open){display:none}.v-floating{margin:var(--vectis-space-2);position-try-fallbacks:flip-block, flip-inline}.v-floating[data-placement$=-start]{margin-inline-start:0}.v-floating[data-placement$=-end]{margin-inline-end:0}.v-floating[data-placement=bottom]{position-area:block-end;justify-self:anchor-center}.v-floating[data-placement=bottom-start]{position-area:block-end span-inline-end}.v-floating[data-placement=bottom-end]{position-area:block-end span-inline-start}.v-floating[data-placement=top]{position-area:block-start;justify-self:anchor-center}.v-floating[data-placement=top-start]{position-area:block-start span-inline-end}.v-floating[data-placement=top-end]{position-area:block-start span-inline-start}.v-floating[data-placement=left]{position-area:inline-start;align-self:anchor-center}.v-floating[data-placement=right]{position-area:inline-end;align-self:anchor-center}.v-floating[data-placement=right-start]{position-area:inline-end span-block-end}.v-floating[data-placement=right-end]{position-area:inline-end span-block-start}.v-floating[data-placement=left-start]{position-area:inline-start span-block-end}.v-floating[data-placement=left-end]{position-area:inline-start span-block-start}.v-floating[data-placement^=right-],.v-floating[data-placement^=left-]{margin-inline:var(--vectis-space-2)}.v-floating:is([data-placement=right-start],[data-placement=left-start]){margin-block-start:0}.v-floating:is([data-placement=right-end],[data-placement=left-end]){margin-block-end:0}.v-floating{opacity:0;transition:opacity var(--vectis-duration-fast) var(--vectis-ease-default), transform var(--vectis-duration-fast) var(--vectis-ease-default), overlay var(--vectis-duration-fast) allow-discrete, display var(--vectis-duration-fast) allow-discrete;transform:scale(.97)}.v-floating:popover-open{opacity:1;transform:none}@starting-style{.v-floating:popover-open{opacity:0;transform:scale(.97)}}@media (prefers-reduced-motion:reduce){.v-floating{transition:none}}.v-panel{gap:var(--vectis-space-1);padding:var(--vectis-space-1);background:var(--vectis-color-surface-overlay);color:var(--vectis-color-text);border:1px solid var(--vectis-color-border);border-radius:var(--vectis-radius-surface);box-shadow:var(--vectis-shadow-lg);font-family:var(--vectis-text-family);flex-direction:column;display:flex}.v-banner{--banner-line:calc(var(--vectis-text-body-md-size) * var(--vectis-text-body-md-leading));gap:var(--vectis-space-3);border-radius:var(--vectis-radius-overlay);box-shadow:var(--vectis-shadow-lg);font-family:var(--vectis-text-family);font-size:var(--vectis-text-body-md-size);line-height:var(--vectis-text-body-md-leading);transition:opacity var(--vectis-duration-base) var(--vectis-ease-default), translate var(--vectis-duration-base) var(--vectis-ease-default);display:flex}@starting-style{.v-banner{opacity:0;translate:0 var(--banner-enter-y,0)}}.v-banner-text{overflow-wrap:anywhere;flex:1;min-inline-size:0}.v-banner-control{--banner-control-height:var(--vectis-control-height-sm);margin-block:calc((var(--banner-line) - var(--banner-control-height)) / 2);margin-inline-end:calc(-1 * var(--vectis-space-2))}.v-banner .v-banner-control[data-tone]{--tone-text-tinted:currentcolor;--tone-bg-soft:color-mix(in oklab, currentcolor, transparent 85%)}@media (prefers-reduced-motion:reduce){.v-banner{transition:none}}.v-control{--control-height:var(--control-height-base)}.v-control[data-compact]{--control-height:calc(var(--control-height-base) - var(--vectis-space-1))}.v-control[data-size=xs]{--control-height-base:var(--vectis-control-height-xs);--control-font-size:var(--vectis-font-size-xs);--control-padding-inline:var(--vectis-space-2);--control-gap:var(--vectis-space-1);--control-action-size:var(--vectis-control-action-size-sm);--vectis-icon-size:var(--vectis-icon-size-sm);--vectis-icon-opsz:20}.v-control[data-size=sm]{--control-height-base:var(--vectis-control-height-sm);--control-font-size:var(--vectis-font-size-sm);--control-padding-inline:var(--vectis-space-3);--control-padding-inline-field:var(--vectis-space-2);--control-gap:var(--vectis-space-2);--control-action-size:var(--vectis-control-action-size-md);--vectis-icon-size:var(--vectis-icon-size-md);--vectis-icon-opsz:20}.v-control[data-size=md]{--control-height-base:var(--vectis-control-height-md);--control-font-size:var(--vectis-font-size-sm);--control-padding-inline:var(--vectis-space-4);--control-padding-inline-field:var(--vectis-space-3);--control-gap:var(--vectis-space-2);--control-action-size:var(--vectis-control-action-size-md);--vectis-icon-size:var(--vectis-icon-size-md);--vectis-icon-opsz:20}.v-control[data-size=lg]{--control-height-base:var(--vectis-control-height-lg);--control-font-size:var(--vectis-font-size-md);--control-padding-inline:var(--vectis-space-5);--control-padding-inline-field:var(--vectis-space-4);--control-gap:var(--vectis-space-3);--control-action-size:var(--vectis-control-action-size-lg);--vectis-icon-size:var(--vectis-icon-size-lg);--vectis-icon-opsz:24}.v-control[data-size=xl]{--control-height-base:var(--vectis-control-height-xl);--control-font-size:var(--vectis-font-size-md);--control-padding-inline:var(--vectis-space-6);--control-gap:var(--vectis-space-3);--vectis-icon-size:var(--vectis-icon-size-lg);--vectis-icon-opsz:24}.v-field-action{inline-size:var(--control-action-size);block-size:var(--control-action-size);margin-inline:calc((var(--vectis-icon-size) - var(--control-action-size)) / 2);border-radius:var(--vectis-radius-interactive);color:var(--vectis-color-text-muted);cursor:pointer;transition:color var(--vectis-duration-fast) var(--vectis-ease-default);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.v-field-action:hover:not(:disabled){color:var(--vectis-color-text)}.v-field-action:focus-visible{outline:var(--vectis-focus-ring-width) solid var(--vectis-focus-ring-color);outline-offset:calc(-1 * var(--vectis-focus-ring-width))}.v-field-meta{align-items:baseline;gap:var(--vectis-space-2);display:flex}.v-field-counter{font-size:var(--vectis-text-caption-size);color:var(--vectis-color-text-muted);font-variant-numeric:tabular-nums}.v-field-meta>.v-field-counter{margin-inline-start:auto}.v-field-counter[data-over]{color:var(--vectis-color-danger-text)}.v-field-error{color:var(--vectis-color-danger-text);font-family:var(--vectis-text-family);font-size:var(--vectis-text-caption-size);font-weight:var(--vectis-text-caption-weight);line-height:var(--vectis-text-caption-leading)}.v-field-required{color:var(--vectis-color-danger-text);margin-inline-start:var(--vectis-space-1)}@media (prefers-reduced-motion:reduce){.v-field-action{transition:none}}.v-choice{font-family:var(--vectis-text-family);font-size:var(--vectis-text-choice-size);font-weight:var(--vectis-text-choice-weight);line-height:var(--vectis-text-choice-leading);color:var(--vectis-color-text);grid-template-columns:auto auto;align-items:center;display:inline-grid;position:relative}.v-choice-row{grid-column:1/-1;grid-template-columns:subgrid;cursor:pointer;align-items:center;display:grid}.v-choice-label,.v-choice>:is(.v-field-hint,.v-field-error){margin-inline-start:var(--vectis-space-2)}.v-choice>:is(.v-field-hint,.v-field-error){grid-column:2}.v-choice[data-label-position=start] .v-choice-label{order:-1}.v-choice[data-label-position=start] .v-choice-label,.v-choice[data-label-position=start]>:is(.v-field-hint,.v-field-error){margin-inline:0 var(--vectis-space-2)}.v-choice[data-label-position=start]>:is(.v-field-hint,.v-field-error){grid-column:1}.v-choice[data-spread]{justify-content:space-between;display:grid}.v-choice-row .v-hidden-input:focus-visible+*{outline:var(--vectis-focus-ring-width) solid var(--vectis-focus-ring-color);outline-offset:var(--vectis-focus-ring-offset)}.v-choice[data-readonly] .v-choice-row{cursor:default}.v-choice:has(.v-hidden-input:disabled){color:var(--vectis-color-text-subtle)}.v-choice:has(.v-hidden-input:disabled) .v-choice-row{cursor:not-allowed}.v-choice:has(.v-hidden-input:disabled)>.v-field-hint{--typography-color:var(--vectis-color-text-subtle)}.v-disclosure{interpolate-size:allow-keywords}.v-disclosure::details-content{block-size:0;transition:block-size var(--vectis-duration-base) var(--vectis-ease-default), content-visibility var(--vectis-duration-base) allow-discrete;overflow:clip}.v-disclosure[open]::details-content{block-size:auto}.v-disclosure>summary::-webkit-details-marker{display:none}.v-disclosure-chevron{color:var(--vectis-color-text-muted);transition:rotate var(--vectis-duration-base) var(--vectis-ease-default);flex:none}.v-disclosure[open]:not([data-swap])>summary>.v-disclosure-chevron{rotate:180deg}.v-disclosure[data-swap][open]>summary>.v-disclosure-chevron:not(.v-disclosure-chevron-open),.v-disclosure[data-swap]:not([open])>summary>.v-disclosure-chevron-open{display:none}.v-disclosure>summary[data-disabled]>.v-disclosure-chevron{color:inherit}@media (prefers-reduced-motion:reduce){.v-disclosure::details-content,.v-disclosure-chevron{transition:none}}}@layer vectis.utilities{.v-hidden-input{opacity:0;pointer-events:none;block-size:1px;inline-size:1px;margin:0;position:absolute}.v-visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}
1
+ @layer vectis.reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;tab-size:4}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}}@layer vectis.tokens{:root{--vectis-color-white:oklch(100% 0 0);--vectis-color-black:oklch(0% 0 0);--vectis-color-red-50:oklch(97.1% .013 17.38);--vectis-color-red-100:oklch(93.6% .032 17.717);--vectis-color-red-200:oklch(88.5% .062 18.334);--vectis-color-red-300:oklch(80.8% .114 19.571);--vectis-color-red-400:oklch(70.4% .191 22.216);--vectis-color-red-500:oklch(63.7% .237 25.331);--vectis-color-red-600:oklch(57.7% .245 27.325);--vectis-color-red-700:oklch(50.5% .213 27.518);--vectis-color-red-800:oklch(44.4% .177 26.899);--vectis-color-red-900:oklch(39.6% .141 25.723);--vectis-color-red-950:oklch(25.8% .092 26.042);--vectis-color-amber-50:oklch(98.7% .022 95.277);--vectis-color-amber-100:oklch(96.2% .059 95.617);--vectis-color-amber-200:oklch(92.4% .12 95.746);--vectis-color-amber-300:oklch(87.9% .169 91.605);--vectis-color-amber-400:oklch(82.8% .189 84.429);--vectis-color-amber-500:oklch(76.9% .188 70.08);--vectis-color-amber-600:oklch(66.6% .179 58.318);--vectis-color-amber-700:oklch(55.5% .163 48.998);--vectis-color-amber-800:oklch(47.3% .137 46.201);--vectis-color-amber-900:oklch(41.4% .112 45.904);--vectis-color-amber-950:oklch(27.9% .077 45.635);--vectis-color-green-50:oklch(98.2% .018 155.826);--vectis-color-green-100:oklch(96.2% .044 156.743);--vectis-color-green-200:oklch(92.5% .084 155.995);--vectis-color-green-300:oklch(87.1% .15 154.449);--vectis-color-green-400:oklch(79.2% .209 151.711);--vectis-color-green-500:oklch(72.3% .219 149.579);--vectis-color-green-600:oklch(62.7% .194 149.214);--vectis-color-green-700:oklch(52.7% .154 150.069);--vectis-color-green-800:oklch(44.8% .119 151.328);--vectis-color-green-900:oklch(39.3% .095 152.535);--vectis-color-green-950:oklch(26.6% .065 152.934);--vectis-color-indigo-50:oklch(96.2% .018 272.314);--vectis-color-indigo-100:oklch(93% .034 272.788);--vectis-color-indigo-200:oklch(87% .065 274.039);--vectis-color-indigo-300:oklch(78.5% .115 274.713);--vectis-color-indigo-400:oklch(67.3% .182 276.935);--vectis-color-indigo-500:oklch(58.5% .233 277.117);--vectis-color-indigo-600:oklch(51.1% .262 276.966);--vectis-color-indigo-700:oklch(45.7% .24 277.023);--vectis-color-indigo-800:oklch(39.8% .195 277.366);--vectis-color-indigo-900:oklch(35.9% .144 278.697);--vectis-color-indigo-950:oklch(25.7% .09 281.288);--vectis-color-gray-50:oklch(98.5% .002 247.839);--vectis-color-gray-100:oklch(96.7% .003 264.542);--vectis-color-gray-200:oklch(92.8% .006 264.531);--vectis-color-gray-300:oklch(87.2% .01 258.338);--vectis-color-gray-400:oklch(70.7% .022 261.325);--vectis-color-gray-500:oklch(55.1% .027 264.364);--vectis-color-gray-600:oklch(44.6% .03 256.802);--vectis-color-gray-700:oklch(37.3% .034 259.733);--vectis-color-gray-800:oklch(27.8% .033 256.848);--vectis-color-gray-900:oklch(21% .034 264.665);--vectis-color-gray-950:oklch(13% .028 261.692);--vectis-space-1:.25rem;--vectis-space-2:.5rem;--vectis-space-3:.75rem;--vectis-space-4:1rem;--vectis-space-5:1.25rem;--vectis-space-6:1.5rem;--vectis-space-7:2rem;--vectis-space-8:2.5rem;--vectis-space-9:3rem;--vectis-space-10:4rem;--vectis-space-11:5rem;--vectis-space-12:6rem;--vectis-font-family-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--vectis-font-family-display:var(--vectis-font-family-sans);--vectis-font-family-mono:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;--vectis-font-family-icon:"Material Symbols Rounded";--vectis-font-weight-regular:400;--vectis-font-weight-medium:500;--vectis-font-weight-semibold:600;--vectis-font-weight-bold:700;--vectis-font-size-xs:.75rem;--vectis-font-size-sm:.875rem;--vectis-font-size-md:1rem;--vectis-font-size-lg:1.125rem;--vectis-font-size-xl:1.25rem;--vectis-font-size-2xl:1.5rem;--vectis-font-size-3xl:1.875rem;--vectis-font-size-4xl:2.25rem;--vectis-font-size-5xl:3rem;--vectis-font-leading-none:1;--vectis-font-leading-tight:1.25;--vectis-font-leading-snug:1.4;--vectis-font-leading-normal:1.5;--vectis-font-leading-relaxed:1.65;--vectis-font-tracking-tight:-.015em;--vectis-font-tracking-wide:.05em;--vectis-radius-none:0px;--vectis-radius-xs:.125rem;--vectis-radius-sm:.25rem;--vectis-radius-md:.375rem;--vectis-radius-lg:.5rem;--vectis-radius-xl:.75rem;--vectis-radius-2xl:1rem;--vectis-radius-full:9999px;--vectis-shadow-xs:0 1px 2px 0 oklch(0% 0 0/.05);--vectis-shadow-sm:0 1px 3px 0 oklch(0% 0 0/.1), 0 1px 2px -1px oklch(0% 0 0/.1);--vectis-shadow-md:0 4px 6px -1px oklch(0% 0 0/.1), 0 2px 4px -2px oklch(0% 0 0/.1);--vectis-shadow-lg:0 10px 15px -3px oklch(0% 0 0/.1), 0 4px 6px -4px oklch(0% 0 0/.1);--vectis-shadow-xl:0 20px 25px -5px oklch(0% 0 0/.1), 0 8px 10px -6px oklch(0% 0 0/.1);--vectis-duration-0:0s;--vectis-duration-50:50ms;--vectis-duration-100:.1s;--vectis-duration-150:.15s;--vectis-duration-200:.2s;--vectis-duration-300:.3s;--vectis-duration-400:.4s;--vectis-duration-500:.5s;--vectis-duration-700:.7s;--vectis-duration-1000:1s;--vectis-duration-1500:1.5s;--vectis-duration-2000:2s;--vectis-duration-3000:3s;--vectis-duration-5000:5s;--vectis-ease-default:cubic-bezier(.2, 0, 0, 1);--vectis-ease-in:cubic-bezier(.5, 0, 1, 1);--vectis-ease-out:cubic-bezier(0, 0, .2, 1);--vectis-ease-in-out:cubic-bezier(.4, 0, .2, 1)}:root,[data-theme=light]{color-scheme:light;--vectis-color-surface:var(--vectis-color-white);--vectis-color-surface-muted:var(--vectis-color-gray-100);--vectis-color-surface-raised:var(--vectis-color-white);--vectis-color-surface-overlay:var(--vectis-color-white);--vectis-color-surface-sunken:var(--vectis-color-gray-50);--vectis-color-surface-inverse:var(--vectis-color-gray-900);--vectis-color-surface-skeleton:var(--vectis-color-gray-200);--vectis-color-text-on-inverse:var(--vectis-color-white);--vectis-color-text:var(--vectis-color-gray-900);--vectis-color-text-muted:var(--vectis-color-gray-600);--vectis-color-text-subtle:var(--vectis-color-gray-500);--vectis-color-text-on-accent:var(--vectis-color-white);--vectis-color-text-on-warning:var(--vectis-color-gray-950);--vectis-color-border:var(--vectis-color-gray-200);--vectis-color-border-strong:var(--vectis-color-gray-300);--vectis-color-border-on-fill:oklch(0% 0 0/.12);--vectis-color-accent:var(--vectis-color-indigo-600);--vectis-color-accent-hover:var(--vectis-color-indigo-700);--vectis-color-accent-active:var(--vectis-color-indigo-800);--vectis-color-accent-surface:var(--vectis-color-indigo-50);--vectis-color-accent-border:var(--vectis-color-indigo-200);--vectis-color-accent-text:var(--vectis-color-indigo-700);--vectis-color-danger:var(--vectis-color-red-600);--vectis-color-danger-hover:var(--vectis-color-red-700);--vectis-color-danger-active:var(--vectis-color-red-800);--vectis-color-danger-surface:var(--vectis-color-red-50);--vectis-color-danger-border:var(--vectis-color-red-200);--vectis-color-danger-text:var(--vectis-color-red-700);--vectis-color-success:var(--vectis-color-green-700);--vectis-color-success-hover:var(--vectis-color-green-800);--vectis-color-success-active:var(--vectis-color-green-900);--vectis-color-success-surface:var(--vectis-color-green-50);--vectis-color-success-border:var(--vectis-color-green-200);--vectis-color-success-text:var(--vectis-color-green-800);--vectis-color-warning:var(--vectis-color-amber-600);--vectis-color-warning-hover:var(--vectis-color-amber-700);--vectis-color-warning-active:var(--vectis-color-amber-800);--vectis-color-warning-surface:var(--vectis-color-amber-50);--vectis-color-warning-border:var(--vectis-color-amber-200);--vectis-color-warning-text:var(--vectis-color-amber-900);--vectis-color-backdrop:oklch(0% 0 0/.45);--vectis-color-event-surface:oklch(95% .045 265);--vectis-color-event-border:oklch(85% .08 265);--vectis-color-event-text:oklch(40% .11 265);--vectis-text-family:var(--vectis-font-family-sans);--vectis-text-family-heading:var(--vectis-font-family-display);--vectis-text-family-code:var(--vectis-font-family-mono);--vectis-text-display-size:var(--vectis-font-size-5xl);--vectis-text-display-weight:var(--vectis-font-weight-bold);--vectis-text-display-leading:var(--vectis-font-leading-none);--vectis-text-display-tracking:var(--vectis-font-tracking-tight);--vectis-text-heading-1-size:var(--vectis-font-size-4xl);--vectis-text-heading-1-weight:var(--vectis-font-weight-bold);--vectis-text-heading-1-leading:var(--vectis-font-leading-tight);--vectis-text-heading-1-tracking:var(--vectis-font-tracking-tight);--vectis-text-heading-2-size:var(--vectis-font-size-2xl);--vectis-text-heading-2-weight:var(--vectis-font-weight-semibold);--vectis-text-heading-2-leading:var(--vectis-font-leading-tight);--vectis-text-heading-2-tracking:var(--vectis-font-tracking-tight);--vectis-text-heading-3-size:var(--vectis-font-size-lg);--vectis-text-heading-3-weight:var(--vectis-font-weight-semibold);--vectis-text-heading-3-leading:var(--vectis-font-leading-snug);--vectis-text-heading-4-size:var(--vectis-font-size-md);--vectis-text-heading-4-weight:var(--vectis-font-weight-semibold);--vectis-text-heading-4-leading:var(--vectis-font-leading-snug);--vectis-text-subtitle-size:var(--vectis-font-size-sm);--vectis-text-subtitle-weight:var(--vectis-font-weight-regular);--vectis-text-subtitle-leading:var(--vectis-font-leading-normal);--vectis-text-body-xl-size:var(--vectis-font-size-lg);--vectis-text-body-xl-weight:var(--vectis-font-weight-regular);--vectis-text-body-xl-leading:var(--vectis-font-leading-relaxed);--vectis-text-body-lg-size:var(--vectis-font-size-md);--vectis-text-body-lg-weight:var(--vectis-font-weight-regular);--vectis-text-body-lg-leading:var(--vectis-font-leading-relaxed);--vectis-text-body-md-size:var(--vectis-font-size-sm);--vectis-text-body-md-weight:var(--vectis-font-weight-regular);--vectis-text-body-md-leading:var(--vectis-font-leading-normal);--vectis-text-body-sm-size:var(--vectis-font-size-xs);--vectis-text-body-sm-weight:var(--vectis-font-weight-regular);--vectis-text-body-sm-leading:var(--vectis-font-leading-normal);--vectis-text-label-size:var(--vectis-font-size-sm);--vectis-text-label-weight:var(--vectis-font-weight-medium);--vectis-text-label-leading:var(--vectis-font-leading-snug);--vectis-text-choice-size:var(--vectis-font-size-sm);--vectis-text-choice-weight:var(--vectis-font-weight-regular);--vectis-text-choice-leading:var(--vectis-font-leading-snug);--vectis-text-caption-size:var(--vectis-font-size-xs);--vectis-text-caption-weight:var(--vectis-font-weight-regular);--vectis-text-caption-leading:var(--vectis-font-leading-snug);--vectis-text-overline-size:var(--vectis-font-size-xs);--vectis-text-overline-weight:var(--vectis-font-weight-medium);--vectis-text-overline-leading:var(--vectis-font-leading-snug);--vectis-text-overline-tracking:var(--vectis-font-tracking-wide);--vectis-text-code-size:var(--vectis-font-size-sm);--vectis-text-code-weight:var(--vectis-font-weight-regular);--vectis-text-code-leading:var(--vectis-font-leading-normal);--vectis-text-control-weight:var(--vectis-font-weight-medium);--vectis-text-control-leading:var(--vectis-font-leading-none);--vectis-radius-interactive:var(--vectis-radius-md);--vectis-radius-surface:var(--vectis-radius-lg);--vectis-radius-overlay:var(--vectis-radius-xl);--vectis-radius-pill:var(--vectis-radius-full);--vectis-radius-chip:var(--vectis-radius-interactive);--vectis-duration-fast:var(--vectis-duration-150);--vectis-duration-base:var(--vectis-duration-200);--vectis-duration-slow:var(--vectis-duration-300);--vectis-focus-ring-color:var(--vectis-color-indigo-500);--vectis-focus-ring-width:2px;--vectis-focus-ring-offset:2px;--vectis-control-height-xs:1.5rem;--vectis-control-height-sm:2rem;--vectis-control-height-md:2.5rem;--vectis-control-height-lg:3rem;--vectis-control-height-xl:3.5rem;--vectis-control-border-width:2px;--vectis-control-size-check:1.25rem;--vectis-control-size-check-mark:.875rem;--vectis-control-size-check-dot:.5rem;--vectis-control-size-switch-w:2.5rem;--vectis-control-size-switch-h:1.25rem;--vectis-control-size-switch-pad:.125rem;--vectis-control-action-size-sm:1.25rem;--vectis-control-action-size-md:1.5rem;--vectis-control-action-size-lg:1.75rem;--vectis-control-size-slider-track:.375rem;--vectis-control-size-slider-thumb:1.25rem;--vectis-control-size-slider-length:10rem;--vectis-control-size-slider-field:5rem;--vectis-control-size-carousel-block:24rem;--vectis-control-size-carousel-indicator:.625rem;--vectis-control-size-carousel-indicator-active:1.25rem;--vectis-control-size-combobox-list-max-block:18rem;--vectis-control-size-select-list-max-block:18rem;--vectis-control-size-menu-min:11rem;--vectis-control-size-menu-max:20rem;--vectis-control-size-progress-linear-thickness:.25rem;--vectis-control-size-progress-linear-length:10rem;--vectis-control-size-meter-thickness-sm:.25rem;--vectis-control-size-meter-thickness-md:.5rem;--vectis-control-size-meter-thickness-lg:.75rem;--vectis-control-size-meter-segment-gap:.125rem;--vectis-control-size-progress-circular-diameter:3rem;--vectis-control-size-progress-circular-thickness:.25rem;--vectis-control-size-skeleton-surface:6rem;--vectis-control-size-resizable-hit:.75rem;--vectis-control-size-resizable-grip-length:1.5rem;--vectis-control-size-resizable-grip-thickness:.5rem;--vectis-control-size-toast-width:22rem;--vectis-control-size-tooltip-max:18rem;--vectis-control-size-hover-card-max:20rem;--vectis-control-size-dialog-width:25rem;--vectis-control-size-command-palette-width:40rem;--vectis-control-size-command-palette-list-max-block:20rem;--vectis-control-size-command-palette-offset:6rem;--vectis-control-size-stepper-indicator:2rem;--vectis-control-size-stepper-connector-min:1.5rem;--vectis-control-size-timeline-dot-sm:.5rem;--vectis-control-size-timeline-dot-md:.625rem;--vectis-control-size-timeline-icon-sm:1.5rem;--vectis-control-size-timeline-icon-md:2rem;--vectis-control-size-timeline-item-min:12rem;--vectis-control-size-rating-sm:1.25rem;--vectis-control-size-rating-md:1.5rem;--vectis-control-size-rating-lg:2rem;--vectis-control-size-drawer-sm:20rem;--vectis-control-size-drawer-md:25rem;--vectis-control-size-drawer-lg:35rem;--vectis-control-size-snackbar-min:18rem;--vectis-control-size-snackbar-max:36rem;--vectis-control-size-card-media:12rem;--vectis-control-size-card-body-min:16rem;--vectis-control-size-empty-state-media-sm:2.5rem;--vectis-control-size-empty-state-media-md:3rem;--vectis-control-size-empty-state-media-lg:4rem;--vectis-control-size-empty-state-text-max:28rem;--vectis-control-size-field-label:10rem;--vectis-control-size-field-control-min:16rem;--vectis-control-size-badge-h:1.25rem;--vectis-control-size-badge-dot:.625rem;--vectis-control-size-badge-ring:2px;--vectis-control-size-avatar-ring:2px;--vectis-control-size-color-picker-width:16rem;--vectis-control-size-color-picker-area:10rem;--vectis-control-size-color-picker-track:.75rem;--vectis-control-size-color-picker-thumb:1.25rem;--vectis-control-size-color-picker-preview:2rem;--vectis-control-size-color-picker-format:6rem;--vectis-control-size-color-picker-swatch:1.5rem;--vectis-control-size-color-picker-checker:.5rem;--vectis-control-size-date-picker-cell:2.5rem;--vectis-control-size-date-picker-day:var(--vectis-control-height-md);--vectis-control-size-date-picker-dot:.25rem;--vectis-control-size-date-picker-nav-min:5.375rem;--vectis-control-size-tab-indicator:2px;--vectis-control-size-table-search:16rem;--vectis-control-size-time-picker-dial:16rem;--vectis-control-size-time-picker-number:3rem;--vectis-control-size-time-picker-center:.5rem;--vectis-control-size-time-picker-hand:2px;--vectis-control-size-time-picker-hand-minor:1rem;--vectis-control-size-file-picker-min-block:10rem;--vectis-control-size-file-picker-icon:2.5rem;--vectis-control-size-file-picker-thumb:2.5rem;--vectis-control-size-calendar-hour:4rem;--vectis-control-size-calendar-gutter:4.5rem;--vectis-control-size-calendar-tick:.375rem;--vectis-control-size-calendar-edge:3rem;--vectis-control-size-calendar-day-min:5rem;--vectis-control-size-calendar-handle:.5rem;--vectis-control-size-calendar-allday-lane:1.5rem;--vectis-control-size-calendar-allday-max:7rem;--vectis-control-size-calendar-now-dot:.625rem;--vectis-control-size-calendar-event-edge:3px;--vectis-control-size-calendar-gap:.125rem;--vectis-control-size-calendar-grip:1rem;--vectis-control-size-calendar-grip-thickness:2px;--vectis-control-size-calendar-year-month:13rem;--vectis-control-size-calendar-month-cell:8.5rem;--vectis-control-size-calendar-year-cell:1.5rem;--vectis-icon-size-sm:1rem;--vectis-icon-size-md:1.25rem;--vectis-icon-size-lg:1.5rem}[data-theme=dark]{color-scheme:dark;--vectis-color-surface:var(--vectis-color-gray-950);--vectis-color-surface-muted:var(--vectis-color-gray-800);--vectis-color-surface-raised:var(--vectis-color-gray-900);--vectis-color-surface-overlay:var(--vectis-color-gray-900);--vectis-color-surface-sunken:oklch(11% .006 260);--vectis-color-surface-inverse:var(--vectis-color-gray-800);--vectis-color-surface-skeleton:var(--vectis-color-gray-800);--vectis-color-text-on-inverse:var(--vectis-color-gray-50);--vectis-color-text:var(--vectis-color-gray-50);--vectis-color-text-muted:var(--vectis-color-gray-300);--vectis-color-text-subtle:var(--vectis-color-gray-400);--vectis-color-text-on-accent:var(--vectis-color-white);--vectis-color-border:var(--vectis-color-gray-800);--vectis-color-border-strong:var(--vectis-color-gray-700);--vectis-color-border-on-fill:oklch(100% 0 0/.15);--vectis-color-accent:var(--vectis-color-indigo-500);--vectis-color-accent-hover:var(--vectis-color-indigo-400);--vectis-color-accent-active:var(--vectis-color-indigo-300);--vectis-color-accent-surface:var(--vectis-color-indigo-950);--vectis-color-accent-border:var(--vectis-color-indigo-900);--vectis-color-accent-text:var(--vectis-color-indigo-300);--vectis-color-danger:var(--vectis-color-red-600);--vectis-color-danger-hover:var(--vectis-color-red-700);--vectis-color-danger-active:var(--vectis-color-red-800);--vectis-color-danger-surface:var(--vectis-color-red-950);--vectis-color-danger-border:var(--vectis-color-red-900);--vectis-color-danger-text:var(--vectis-color-red-300);--vectis-color-success:var(--vectis-color-green-700);--vectis-color-success-hover:var(--vectis-color-green-800);--vectis-color-success-active:var(--vectis-color-green-900);--vectis-color-success-surface:var(--vectis-color-green-950);--vectis-color-success-border:var(--vectis-color-green-900);--vectis-color-success-text:var(--vectis-color-green-300);--vectis-color-warning:var(--vectis-color-amber-500);--vectis-color-warning-hover:var(--vectis-color-amber-400);--vectis-color-warning-active:var(--vectis-color-amber-300);--vectis-color-warning-surface:var(--vectis-color-amber-950);--vectis-color-warning-border:var(--vectis-color-amber-900);--vectis-color-warning-text:var(--vectis-color-amber-300);--vectis-color-backdrop:oklch(0% 0 0/.6);--vectis-color-event-surface:oklch(30% .05 265);--vectis-color-event-border:oklch(42% .08 265);--vectis-color-event-text:oklch(90% .06 265);--vectis-focus-ring-color:var(--vectis-color-indigo-400)}.v-tone[data-tone=accent]{--tone-bg-solid:var(--vectis-color-accent);--tone-bg-solid-hover:var(--vectis-color-accent-hover);--tone-bg-solid-active:var(--vectis-color-accent-active);--tone-text-solid:var(--vectis-color-text-on-accent);--tone-text-tinted:var(--vectis-color-accent-text);--tone-bg-soft:var(--vectis-color-accent-surface);--tone-border-soft:var(--vectis-color-accent-border)}.v-tone[data-tone=danger]{--tone-bg-solid:var(--vectis-color-danger);--tone-bg-solid-hover:var(--vectis-color-danger-hover);--tone-bg-solid-active:var(--vectis-color-danger-active);--tone-text-solid:var(--vectis-color-text-on-accent);--tone-text-tinted:var(--vectis-color-danger-text);--tone-bg-soft:var(--vectis-color-danger-surface);--tone-border-soft:var(--vectis-color-danger-border)}.v-tone[data-tone=success]{--tone-bg-solid:var(--vectis-color-success);--tone-bg-solid-hover:var(--vectis-color-success-hover);--tone-bg-solid-active:var(--vectis-color-success-active);--tone-text-solid:var(--vectis-color-text-on-accent);--tone-text-tinted:var(--vectis-color-success-text);--tone-bg-soft:var(--vectis-color-success-surface);--tone-border-soft:var(--vectis-color-success-border)}.v-tone[data-tone=warning]{--tone-bg-solid:var(--vectis-color-warning);--tone-bg-solid-hover:var(--vectis-color-warning-hover);--tone-bg-solid-active:var(--vectis-color-warning-active);--tone-text-solid:var(--vectis-color-text-on-warning);--tone-text-tinted:var(--vectis-color-warning-text);--tone-bg-soft:var(--vectis-color-warning-surface);--tone-border-soft:var(--vectis-color-warning-border)}.v-tone[data-tone=neutral]{--tone-bg-solid:var(--vectis-color-text);--tone-bg-solid-hover:color-mix(in oklab, var(--vectis-color-text), var(--vectis-color-surface) 8%);--tone-bg-solid-active:color-mix(in oklab, var(--vectis-color-text), var(--vectis-color-surface) 14%);--tone-text-solid:var(--vectis-color-surface);--tone-text-tinted:var(--vectis-color-text);--tone-bg-soft:var(--vectis-color-surface-muted);--tone-border-soft:var(--vectis-color-border-strong)}.v-tone[data-custom]{--tone-bg-solid:var(--custom-color);--tone-text-solid:var(--vectis-color-text-on-accent);--tone-text-tinted:color-mix(in oklab, var(--custom-color), var(--vectis-color-text) 30%);--tone-bg-soft:color-mix(in oklab, var(--custom-color), var(--vectis-color-surface) 85%)}}@layer vectis.components{.v-variant[data-variant=solid]{background:var(--tone-bg-solid);color:var(--tone-text-solid)}.v-variant[data-variant=soft]{background:var(--tone-bg-soft);color:var(--tone-text-tinted)}.v-variant[data-variant=outline]{color:var(--tone-text-tinted);border-color:var(--tone-border-soft);background:0 0}.v-variant[data-variant=ghost]{color:var(--tone-text-tinted);background:0 0}.v-overlay{position:fixed;inset:auto}.v-overlay.v-overlay:not(:popover-open){display:none}.v-floating{margin:var(--vectis-space-2);position-try-fallbacks:flip-block, flip-inline}.v-floating[data-placement$=-start]{margin-inline-start:0}.v-floating[data-placement$=-end]{margin-inline-end:0}.v-floating[data-placement=bottom]{position-area:block-end;justify-self:anchor-center}.v-floating[data-placement=bottom-start]{position-area:block-end span-inline-end}.v-floating[data-placement=bottom-end]{position-area:block-end span-inline-start}.v-floating[data-placement=top]{position-area:block-start;justify-self:anchor-center}.v-floating[data-placement=top-start]{position-area:block-start span-inline-end}.v-floating[data-placement=top-end]{position-area:block-start span-inline-start}.v-floating[data-placement=left]{position-area:inline-start;align-self:anchor-center}.v-floating[data-placement=right]{position-area:inline-end;align-self:anchor-center}.v-floating[data-placement=right-start]{position-area:inline-end span-block-end}.v-floating[data-placement=right-end]{position-area:inline-end span-block-start}.v-floating[data-placement=left-start]{position-area:inline-start span-block-end}.v-floating[data-placement=left-end]{position-area:inline-start span-block-start}.v-floating[data-placement^=right-],.v-floating[data-placement^=left-]{margin-inline:var(--vectis-space-2)}.v-floating:is([data-placement=right-start],[data-placement=left-start]){margin-block-start:0}.v-floating:is([data-placement=right-end],[data-placement=left-end]){margin-block-end:0}.v-floating{opacity:0;transition:opacity var(--vectis-duration-fast) var(--vectis-ease-default), transform var(--vectis-duration-fast) var(--vectis-ease-default), overlay var(--vectis-duration-fast) allow-discrete, display var(--vectis-duration-fast) allow-discrete;transform:scale(.97)}.v-floating:popover-open{opacity:1;transform:none}@starting-style{.v-floating:popover-open{opacity:0;transform:scale(.97)}}@media (prefers-reduced-motion:reduce){.v-floating{transition:none}}.v-panel{gap:var(--vectis-space-1);padding:var(--vectis-space-1);background:var(--vectis-color-surface-overlay);color:var(--vectis-color-text);border:1px solid var(--vectis-color-border);border-radius:var(--vectis-radius-surface);box-shadow:var(--vectis-shadow-lg);font-family:var(--vectis-text-family);flex-direction:column;display:flex}.v-banner{--banner-line:calc(var(--vectis-text-body-md-size) * var(--vectis-text-body-md-leading));gap:var(--vectis-space-3);border-radius:var(--vectis-radius-overlay);box-shadow:var(--vectis-shadow-lg);font-family:var(--vectis-text-family);font-size:var(--vectis-text-body-md-size);line-height:var(--vectis-text-body-md-leading);transition:opacity var(--vectis-duration-base) var(--vectis-ease-default), translate var(--vectis-duration-base) var(--vectis-ease-default);display:flex}@starting-style{.v-banner{opacity:0;translate:0 var(--banner-enter-y,0)}}.v-banner-text{overflow-wrap:anywhere;flex:1;min-inline-size:0}.v-banner-control{--banner-control-height:var(--vectis-control-height-sm);margin-block:calc((var(--banner-line) - var(--banner-control-height)) / 2);margin-inline-end:calc(-1 * var(--vectis-space-2))}.v-banner .v-banner-control[data-tone]{--tone-text-tinted:currentcolor;--tone-bg-soft:color-mix(in oklab, currentcolor, transparent 85%)}@media (prefers-reduced-motion:reduce){.v-banner{transition:none}}.v-control{--control-height:var(--control-height-base)}.v-control[data-compact]{--control-height:calc(var(--control-height-base) - var(--vectis-space-1))}.v-control[data-size=xs]{--control-height-base:var(--vectis-control-height-xs);--control-font-size:var(--vectis-font-size-xs);--control-padding-inline:var(--vectis-space-2);--control-gap:var(--vectis-space-1);--control-action-size:var(--vectis-control-action-size-sm);--vectis-icon-size:var(--vectis-icon-size-sm);--vectis-icon-opsz:20}.v-control[data-size=sm]{--control-height-base:var(--vectis-control-height-sm);--control-font-size:var(--vectis-font-size-sm);--control-padding-inline:var(--vectis-space-3);--control-padding-inline-field:var(--vectis-space-2);--control-gap:var(--vectis-space-2);--control-action-size:var(--vectis-control-action-size-md);--vectis-icon-size:var(--vectis-icon-size-md);--vectis-icon-opsz:20}.v-control[data-size=md]{--control-height-base:var(--vectis-control-height-md);--control-font-size:var(--vectis-font-size-sm);--control-padding-inline:var(--vectis-space-4);--control-padding-inline-field:var(--vectis-space-3);--control-gap:var(--vectis-space-2);--control-action-size:var(--vectis-control-action-size-md);--vectis-icon-size:var(--vectis-icon-size-md);--vectis-icon-opsz:20}.v-control[data-size=lg]{--control-height-base:var(--vectis-control-height-lg);--control-font-size:var(--vectis-font-size-md);--control-padding-inline:var(--vectis-space-5);--control-padding-inline-field:var(--vectis-space-4);--control-gap:var(--vectis-space-3);--control-action-size:var(--vectis-control-action-size-lg);--vectis-icon-size:var(--vectis-icon-size-lg);--vectis-icon-opsz:24}.v-control[data-size=xl]{--control-height-base:var(--vectis-control-height-xl);--control-font-size:var(--vectis-font-size-md);--control-padding-inline:var(--vectis-space-6);--control-gap:var(--vectis-space-3);--vectis-icon-size:var(--vectis-icon-size-lg);--vectis-icon-opsz:24}.v-field-action{inline-size:var(--control-action-size);block-size:var(--control-action-size);margin-inline:calc((var(--vectis-icon-size) - var(--control-action-size)) / 2);border-radius:var(--vectis-radius-interactive);color:var(--vectis-color-text-muted);cursor:pointer;transition:color var(--vectis-duration-fast) var(--vectis-ease-default);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.v-field-action:hover:not(:disabled){color:var(--vectis-color-text)}.v-field-action:focus-visible{outline:var(--vectis-focus-ring-width) solid var(--vectis-focus-ring-color);outline-offset:calc(-1 * var(--vectis-focus-ring-width))}.v-field-meta{align-items:baseline;gap:var(--vectis-space-2);display:flex}.v-field-counter{font-size:var(--vectis-text-caption-size);color:var(--vectis-color-text-muted);font-variant-numeric:tabular-nums}.v-field-meta>.v-field-counter{margin-inline-start:auto}.v-field-counter[data-over]{color:var(--vectis-color-danger-text)}.v-field-error{color:var(--vectis-color-danger-text);font-family:var(--vectis-text-family);font-size:var(--vectis-text-caption-size);font-weight:var(--vectis-text-caption-weight);line-height:var(--vectis-text-caption-leading)}.v-field-required{color:var(--vectis-color-danger-text);margin-inline-start:var(--vectis-space-1)}@media (prefers-reduced-motion:reduce){.v-field-action{transition:none}}.v-choice{font-family:var(--vectis-text-family);font-size:var(--vectis-text-choice-size);font-weight:var(--vectis-text-choice-weight);line-height:var(--vectis-text-choice-leading);color:var(--vectis-color-text);grid-template-columns:auto auto;justify-content:start;align-items:center;display:inline-grid;position:relative}.v-choice-row{grid-column:1/-1;grid-template-columns:subgrid;cursor:pointer;align-items:center;display:grid}.v-choice-label,.v-choice>:is(.v-field-hint,.v-field-error){margin-inline-start:var(--vectis-space-2)}.v-choice>:is(.v-field-hint,.v-field-error){grid-column:2}.v-choice[data-label-position=start] .v-choice-label{order:-1}.v-choice[data-label-position=start] .v-choice-label,.v-choice[data-label-position=start]>:is(.v-field-hint,.v-field-error){margin-inline:0 var(--vectis-space-2)}.v-choice[data-label-position=start]>:is(.v-field-hint,.v-field-error){grid-column:1}.v-choice[data-spread]{justify-content:space-between;display:grid}.v-choice-row .v-hidden-input:focus-visible+*{outline:var(--vectis-focus-ring-width) solid var(--vectis-focus-ring-color);outline-offset:var(--vectis-focus-ring-offset)}.v-choice[data-readonly] .v-choice-row{cursor:default}.v-choice:has(.v-hidden-input:disabled){color:var(--vectis-color-text-subtle)}.v-choice:has(.v-hidden-input:disabled) .v-choice-row{cursor:not-allowed}.v-choice:has(.v-hidden-input:disabled)>.v-field-hint{--typography-color:var(--vectis-color-text-subtle)}.v-disclosure{interpolate-size:allow-keywords}.v-disclosure::details-content{block-size:0;transition:block-size var(--vectis-duration-base) var(--vectis-ease-default), content-visibility var(--vectis-duration-base) allow-discrete;overflow:clip}.v-disclosure[open]::details-content{block-size:auto}.v-disclosure>summary::-webkit-details-marker{display:none}.v-disclosure-chevron{color:var(--vectis-color-text-muted);transition:rotate var(--vectis-duration-base) var(--vectis-ease-default);flex:none}.v-disclosure[open]:not([data-swap])>summary>.v-disclosure-chevron{rotate:180deg}.v-disclosure[data-swap][open]>summary>.v-disclosure-chevron:not(.v-disclosure-chevron-open),.v-disclosure[data-swap]:not([open])>summary>.v-disclosure-chevron-open{display:none}.v-disclosure>summary[data-disabled]>.v-disclosure-chevron{color:inherit}@media (prefers-reduced-motion:reduce){.v-disclosure::details-content,.v-disclosure-chevron{transition:none}}}@layer vectis.utilities{.v-hidden-input{opacity:0;pointer-events:none;block-size:1px;inline-size:1px;margin:0;position:absolute}.v-visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}
@@ -1 +1 @@
1
- {"version":3,"file":"css.js","names":[],"sources":["../../src/tokens/css.ts"],"sourcesContent":["/**\n * Flatten typed DTCG groups and aliases into CSS declarations for token generation and consumer\n * theming tools.\n */\nimport { isToken, type DesignToken, type TokenGroup } from './types'\n\nexport interface FlatToken {\n path: string[]\n cssName: string\n token: DesignToken\n}\n\n/** Flatten nested groups into token entries with qualified CSS custom-property names. */\nexport function flattenTokens(group: TokenGroup, prefix: string[] = []): FlatToken[] {\n const out: FlatToken[] = []\n for (const [key, node] of Object.entries(group)) {\n const path = [...prefix, key]\n if (isToken(node)) {\n out.push({ path, cssName: `--vectis-${path.join('-')}`, token: node })\n } else {\n out.push(...flattenTokens(node, path))\n }\n }\n return out\n}\n\nconst ALIAS_RE = /\\{([^}]+)\\}/g\n\n/** Resolve DTCG references into CSS var aliases while preserving literal values. */\nexport function resolveTokenValue(value: string, known: ReadonlySet<string>): string {\n return value.replace(ALIAS_RE, (_match, ref: string) => {\n const cssName = `--vectis-${ref.trim().split('.').join('-')}`\n if (!known.has(cssName)) {\n throw new Error(`Unknown token alias: {${ref}}`)\n }\n return `var(${cssName})`\n })\n}\n\n/** Serialize flat token entries into CSS declarations. */\nexport function toCssDeclarations(\n flat: FlatToken[],\n known: ReadonlySet<string>,\n indent = ' ',\n): string {\n return flat\n .map((f) => `${indent}${f.cssName}: ${resolveTokenValue(f.token.$value, known)};`)\n .join('\\n')\n}\n"],"mappings":";;AAaA,SAAgB,EAAc,GAAmB,IAAmB,CAAC,GAAgB;CACnF,IAAM,IAAmB,CAAC;CAC1B,KAAK,IAAM,CAAC,GAAK,MAAS,OAAO,QAAQ,CAAK,GAAG;EAC/C,IAAM,IAAO,CAAC,GAAG,GAAQ,CAAG;EAC5B,AAAI,EAAQ,CAAI,IACd,EAAI,KAAK;GAAE;GAAM,SAAS,YAAY,EAAK,KAAK,GAAG;GAAK,OAAO;EAAK,CAAC,IAErE,EAAI,KAAK,GAAG,EAAc,GAAM,CAAI,CAAC;CAEzC;CACA,OAAO;AACT;AAEA,IAAM,IAAW;AAGjB,SAAgB,EAAkB,GAAe,GAAoC;CACnF,OAAO,EAAM,QAAQ,IAAW,GAAQ,MAAgB;EACtD,IAAM,IAAU,YAAY,EAAI,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG;EAC1D,IAAI,CAAC,EAAM,IAAI,CAAO,GACpB,MAAU,MAAM,yBAAyB,EAAI,EAAE;EAEjD,OAAO,OAAO,EAAQ;CACxB,CAAC;AACH;AAGA,SAAgB,EACd,GACA,GACA,IAAS,MACD;CACR,OAAO,EACJ,KAAK,MAAM,GAAG,IAAS,EAAE,QAAQ,IAAI,EAAkB,EAAE,MAAM,QAAQ,CAAK,EAAE,EAAE,CAAC,CACjF,KAAK,IAAI;AACd"}
1
+ {"version":3,"file":"css.js","names":["flattenTokens","out","key","node","group","path","prefix","isToken","ALIAS_RE","resolveTokenValue","value","cssName","ref","known","toCssDeclarations","flat","indent","f"],"sources":["../../src/tokens/css.ts"],"sourcesContent":["/**\n * Flatten typed DTCG groups and aliases into CSS declarations for token generation and consumer\n * theming tools.\n */\nimport { isToken, type DesignToken, type TokenGroup } from './types'\n\nexport interface FlatToken {\n path: string[]\n cssName: string\n token: DesignToken\n}\n\n/** Flatten nested groups into token entries with qualified CSS custom-property names. */\nexport function flattenTokens(group: TokenGroup, prefix: string[] = []): FlatToken[] {\n const out: FlatToken[] = []\n for (const [key, node] of Object.entries(group)) {\n const path = [...prefix, key]\n if (isToken(node)) {\n out.push({ path, cssName: `--vectis-${path.join('-')}`, token: node })\n } else {\n out.push(...flattenTokens(node, path))\n }\n }\n return out\n}\n\nconst ALIAS_RE = /\\{([^}]+)\\}/g\n\n/** Resolve DTCG references into CSS var aliases while preserving literal values. */\nexport function resolveTokenValue(value: string, known: ReadonlySet<string>): string {\n return value.replace(ALIAS_RE, (_match, ref: string) => {\n const cssName = `--vectis-${ref.trim().split('.').join('-')}`\n if (!known.has(cssName)) {\n throw new Error(`Unknown token alias: {${ref}}`)\n }\n return `var(${cssName})`\n })\n}\n\n/** Serialize flat token entries into CSS declarations. */\nexport function toCssDeclarations(\n flat: FlatToken[],\n known: ReadonlySet<string>,\n indent = ' ',\n): string {\n return flat\n .map((f) => `${indent}${f.cssName}: ${resolveTokenValue(f.token.$value, known)};`)\n .join('\\n')\n}\n"],"mappings":";;AAaA,SAAgBA,EAAc,GAAmB,IAAmB,CAAC,GAAgB;CACnF,IAAMC,IAAmB,CAAC;CAC1B,KAAK,IAAM,CAACC,GAAKC,MAAS,OAAO,QAAQC,CAAK,GAAG;EAC/C,IAAMC,IAAO,CAAC,GAAGC,GAAQJ,CAAG;EAC5B,AAAIK,EAAQJ,CAAI,IACdF,EAAI,KAAK;GAAE;GAAM,SAAS,YAAYI,EAAK,KAAK,GAAG;GAAK,OAAOF;EAAK,CAAC,IAErEF,EAAI,KAAK,GAAGD,EAAcG,GAAME,CAAI,CAAC;CAEzC;CACA,OAAOJ;AACT;AAEA,IAAMO,IAAW;AAGjB,SAAgBC,EAAkB,GAAe,GAAoC;CACnF,OAAOC,EAAM,QAAQF,IAAW,GAAQ,MAAgB;EACtD,IAAMG,IAAU,YAAYC,EAAI,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG;EAC1D,IAAI,CAACC,EAAM,IAAIF,CAAO,GACpB,MAAU,MAAM,yBAAyBC,EAAI,EAAE;EAEjD,OAAO,OAAOD,EAAQ;CACxB,CAAC;AACH;AAGA,SAAgBG,EACd,GACA,GACA,IAAS,MACD;CACR,OAAOC,EACJ,KAAK,MAAM,GAAGC,IAASC,EAAE,QAAQ,IAAIR,EAAkBQ,EAAE,MAAM,QAAQJ,CAAK,EAAE,EAAE,CAAC,CACjF,KAAK,IAAI;AACd"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/tokens/index.ts"],"sourcesContent":["import { primitives } from './primitives'\nimport { semantic } from './semantic'\nimport { dark } from './themes/dark'\n\nexport type { DesignToken, TokenGroup, TokenType } from './types'\nexport { isToken } from './types'\nexport { flattenTokens, resolveTokenValue, toCssDeclarations, type FlatToken } from './css'\n\nexport const tokens = {\n primitives,\n semantic,\n themes: { dark },\n}\n\nexport type Tokens = typeof tokens\n"],"mappings":";;;;;;AAQA,IAAa,IAAS;CACpB;CACA;CACA,QAAQ,EAAE,QAAK;AACjB"}
1
+ {"version":3,"file":"index.js","names":["tokens","flattenTokens","isToken","resolveTokenValue","toCssDeclarations"],"sources":["../../src/tokens/index.ts"],"sourcesContent":["import { primitives } from './primitives'\nimport { semantic } from './semantic'\nimport { dark } from './themes/dark'\n\nexport type { DesignToken, TokenGroup, TokenType } from './types'\nexport { isToken } from './types'\nexport { flattenTokens, resolveTokenValue, toCssDeclarations, type FlatToken } from './css'\n\nexport const tokens = {\n primitives,\n semantic,\n themes: { dark },\n}\n\nexport type Tokens = typeof tokens\n"],"mappings":";;;;;;AAQA,IAAaA,IAAS;CACpB;CACA;CACA,QAAQ,EAAE,QAAK;AACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.js","names":[],"sources":["../../src/tokens/primitives.ts"],"sourcesContent":["/**\n * OKLCH primitive palettes and scales; components consume semantic roles so themes can repoint\n * them independently.\n */\nimport {\n color,\n cubicBezier,\n dimension,\n duration,\n fontFamily,\n fontWeight,\n shadow,\n type TokenGroup,\n} from './types'\n\nconst palette = (values: Record<string, string>): TokenGroup =>\n Object.fromEntries(Object.entries(values).map(([step, value]) => [step, color(value)]))\n\nexport const primitives = {\n color: {\n white: color('oklch(100% 0 0)'),\n black: color('oklch(0% 0 0)'),\n red: palette({\n '50': 'oklch(97.1% 0.013 17.38)',\n '100': 'oklch(93.6% 0.032 17.717)',\n '200': 'oklch(88.5% 0.062 18.334)',\n '300': 'oklch(80.8% 0.114 19.571)',\n '400': 'oklch(70.4% 0.191 22.216)',\n '500': 'oklch(63.7% 0.237 25.331)',\n '600': 'oklch(57.7% 0.245 27.325)',\n '700': 'oklch(50.5% 0.213 27.518)',\n '800': 'oklch(44.4% 0.177 26.899)',\n '900': 'oklch(39.6% 0.141 25.723)',\n '950': 'oklch(25.8% 0.092 26.042)',\n }),\n amber: palette({\n '50': 'oklch(98.7% 0.022 95.277)',\n '100': 'oklch(96.2% 0.059 95.617)',\n '200': 'oklch(92.4% 0.12 95.746)',\n '300': 'oklch(87.9% 0.169 91.605)',\n '400': 'oklch(82.8% 0.189 84.429)',\n '500': 'oklch(76.9% 0.188 70.08)',\n '600': 'oklch(66.6% 0.179 58.318)',\n '700': 'oklch(55.5% 0.163 48.998)',\n '800': 'oklch(47.3% 0.137 46.201)',\n '900': 'oklch(41.4% 0.112 45.904)',\n '950': 'oklch(27.9% 0.077 45.635)',\n }),\n green: palette({\n '50': 'oklch(98.2% 0.018 155.826)',\n '100': 'oklch(96.2% 0.044 156.743)',\n '200': 'oklch(92.5% 0.084 155.995)',\n '300': 'oklch(87.1% 0.15 154.449)',\n '400': 'oklch(79.2% 0.209 151.711)',\n '500': 'oklch(72.3% 0.219 149.579)',\n '600': 'oklch(62.7% 0.194 149.214)',\n '700': 'oklch(52.7% 0.154 150.069)',\n '800': 'oklch(44.8% 0.119 151.328)',\n '900': 'oklch(39.3% 0.095 152.535)',\n '950': 'oklch(26.6% 0.065 152.934)',\n }),\n indigo: palette({\n '50': 'oklch(96.2% 0.018 272.314)',\n '100': 'oklch(93% 0.034 272.788)',\n '200': 'oklch(87% 0.065 274.039)',\n '300': 'oklch(78.5% 0.115 274.713)',\n '400': 'oklch(67.3% 0.182 276.935)',\n '500': 'oklch(58.5% 0.233 277.117)',\n '600': 'oklch(51.1% 0.262 276.966)',\n '700': 'oklch(45.7% 0.24 277.023)',\n '800': 'oklch(39.8% 0.195 277.366)',\n '900': 'oklch(35.9% 0.144 278.697)',\n '950': 'oklch(25.7% 0.09 281.288)',\n }),\n gray: palette({\n '50': 'oklch(98.5% 0.002 247.839)',\n '100': 'oklch(96.7% 0.003 264.542)',\n '200': 'oklch(92.8% 0.006 264.531)',\n '300': 'oklch(87.2% 0.01 258.338)',\n '400': 'oklch(70.7% 0.022 261.325)',\n '500': 'oklch(55.1% 0.027 264.364)',\n '600': 'oklch(44.6% 0.03 256.802)',\n '700': 'oklch(37.3% 0.034 259.733)',\n '800': 'oklch(27.8% 0.033 256.848)',\n '900': 'oklch(21% 0.034 264.665)',\n '950': 'oklch(13% 0.028 261.692)',\n }),\n },\n space: {\n '1': dimension('0.25rem'),\n '2': dimension('0.5rem'),\n '3': dimension('0.75rem'),\n '4': dimension('1rem'),\n '5': dimension('1.25rem'),\n '6': dimension('1.5rem'),\n '7': dimension('2rem'),\n '8': dimension('2.5rem'),\n '9': dimension('3rem'),\n '10': dimension('4rem'),\n '11': dimension('5rem'),\n '12': dimension('6rem'),\n },\n font: {\n family: {\n sans: fontFamily(\n \"system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif\",\n ),\n // Display aliases sans so consumers can change headings through a single family token.\n display: fontFamily('{font.family.sans}'),\n mono: fontFamily(\n \"ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace\",\n ),\n // The consumer loads any icon font; the library supplies only its configurable family\n // token.\n icon: fontFamily(\"'Material Symbols Rounded'\"),\n },\n weight: {\n regular: fontWeight('400'),\n medium: fontWeight('500'),\n semibold: fontWeight('600'),\n bold: fontWeight('700'),\n },\n size: {\n xs: dimension('0.75rem'),\n sm: dimension('0.875rem'),\n md: dimension('1rem'),\n lg: dimension('1.125rem'),\n xl: dimension('1.25rem'),\n '2xl': dimension('1.5rem'),\n '3xl': dimension('1.875rem'),\n '4xl': dimension('2.25rem'),\n '5xl': dimension('3rem'),\n },\n leading: {\n none: dimension('1'),\n tight: dimension('1.25'),\n snug: dimension('1.4'),\n normal: dimension('1.5'),\n relaxed: dimension('1.65'),\n },\n tracking: {\n tight: dimension('-0.015em', 'Tightening for large sizes (display, the top headings)'),\n wide: dimension('0.05em', 'Letter spacing for all-caps micro labels (overline)'),\n },\n },\n radius: {\n // Zero radii need units because calc(0 - 1px) is invalid while calc(0px - 1px) is valid.\n none: dimension('0px'),\n xs: dimension('0.125rem'),\n sm: dimension('0.25rem'),\n md: dimension('0.375rem'),\n lg: dimension('0.5rem'),\n xl: dimension('0.75rem'),\n '2xl': dimension('1rem'),\n full: dimension('9999px'),\n },\n shadow: {\n xs: shadow('0 1px 2px 0 oklch(0% 0 0 / 0.05)'),\n sm: shadow('0 1px 3px 0 oklch(0% 0 0 / 0.1), 0 1px 2px -1px oklch(0% 0 0 / 0.1)'),\n md: shadow('0 4px 6px -1px oklch(0% 0 0 / 0.1), 0 2px 4px -2px oklch(0% 0 0 / 0.1)'),\n lg: shadow('0 10px 15px -3px oklch(0% 0 0 / 0.1), 0 4px 6px -4px oklch(0% 0 0 / 0.1)'),\n xl: shadow('0 20px 25px -5px oklch(0% 0 0 / 0.1), 0 8px 10px -6px oklch(0% 0 0 / 0.1)'),\n },\n /* Use explicit duration steps for long loops instead of multiplying shorter transition roles. */\n duration: {\n '0': duration('0ms'),\n '50': duration('50ms'),\n '100': duration('100ms'),\n '150': duration('150ms'),\n '200': duration('200ms'),\n '300': duration('300ms'),\n '400': duration('400ms'),\n '500': duration('500ms'),\n '700': duration('700ms'),\n '1000': duration('1000ms'),\n '1500': duration('1500ms'),\n '2000': duration('2000ms'),\n '3000': duration('3000ms'),\n '5000': duration('5000ms'),\n },\n ease: {\n default: cubicBezier('cubic-bezier(0.2, 0, 0, 1)'),\n in: cubicBezier('cubic-bezier(0.5, 0, 1, 1)'),\n out: cubicBezier('cubic-bezier(0, 0, 0.2, 1)'),\n 'in-out': cubicBezier(\n 'cubic-bezier(0.4, 0, 0.2, 1)',\n 'Symmetric: both the start and the end are eased. Looping animations that cross the track (an indeterminate VProgressLinear).',\n ),\n },\n} satisfies TokenGroup\n"],"mappings":"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"}
1
+ {"version":3,"file":"primitives.js","names":["palette","values","step","value","color","primitives","dimension","fontFamily","fontWeight","shadow","duration","cubicBezier"],"sources":["../../src/tokens/primitives.ts"],"sourcesContent":["/**\n * OKLCH primitive palettes and scales; components consume semantic roles so themes can repoint\n * them independently.\n */\nimport {\n color,\n cubicBezier,\n dimension,\n duration,\n fontFamily,\n fontWeight,\n shadow,\n type TokenGroup,\n} from './types'\n\nconst palette = (values: Record<string, string>): TokenGroup =>\n Object.fromEntries(Object.entries(values).map(([step, value]) => [step, color(value)]))\n\nexport const primitives = {\n color: {\n white: color('oklch(100% 0 0)'),\n black: color('oklch(0% 0 0)'),\n red: palette({\n '50': 'oklch(97.1% 0.013 17.38)',\n '100': 'oklch(93.6% 0.032 17.717)',\n '200': 'oklch(88.5% 0.062 18.334)',\n '300': 'oklch(80.8% 0.114 19.571)',\n '400': 'oklch(70.4% 0.191 22.216)',\n '500': 'oklch(63.7% 0.237 25.331)',\n '600': 'oklch(57.7% 0.245 27.325)',\n '700': 'oklch(50.5% 0.213 27.518)',\n '800': 'oklch(44.4% 0.177 26.899)',\n '900': 'oklch(39.6% 0.141 25.723)',\n '950': 'oklch(25.8% 0.092 26.042)',\n }),\n amber: palette({\n '50': 'oklch(98.7% 0.022 95.277)',\n '100': 'oklch(96.2% 0.059 95.617)',\n '200': 'oklch(92.4% 0.12 95.746)',\n '300': 'oklch(87.9% 0.169 91.605)',\n '400': 'oklch(82.8% 0.189 84.429)',\n '500': 'oklch(76.9% 0.188 70.08)',\n '600': 'oklch(66.6% 0.179 58.318)',\n '700': 'oklch(55.5% 0.163 48.998)',\n '800': 'oklch(47.3% 0.137 46.201)',\n '900': 'oklch(41.4% 0.112 45.904)',\n '950': 'oklch(27.9% 0.077 45.635)',\n }),\n green: palette({\n '50': 'oklch(98.2% 0.018 155.826)',\n '100': 'oklch(96.2% 0.044 156.743)',\n '200': 'oklch(92.5% 0.084 155.995)',\n '300': 'oklch(87.1% 0.15 154.449)',\n '400': 'oklch(79.2% 0.209 151.711)',\n '500': 'oklch(72.3% 0.219 149.579)',\n '600': 'oklch(62.7% 0.194 149.214)',\n '700': 'oklch(52.7% 0.154 150.069)',\n '800': 'oklch(44.8% 0.119 151.328)',\n '900': 'oklch(39.3% 0.095 152.535)',\n '950': 'oklch(26.6% 0.065 152.934)',\n }),\n indigo: palette({\n '50': 'oklch(96.2% 0.018 272.314)',\n '100': 'oklch(93% 0.034 272.788)',\n '200': 'oklch(87% 0.065 274.039)',\n '300': 'oklch(78.5% 0.115 274.713)',\n '400': 'oklch(67.3% 0.182 276.935)',\n '500': 'oklch(58.5% 0.233 277.117)',\n '600': 'oklch(51.1% 0.262 276.966)',\n '700': 'oklch(45.7% 0.24 277.023)',\n '800': 'oklch(39.8% 0.195 277.366)',\n '900': 'oklch(35.9% 0.144 278.697)',\n '950': 'oklch(25.7% 0.09 281.288)',\n }),\n gray: palette({\n '50': 'oklch(98.5% 0.002 247.839)',\n '100': 'oklch(96.7% 0.003 264.542)',\n '200': 'oklch(92.8% 0.006 264.531)',\n '300': 'oklch(87.2% 0.01 258.338)',\n '400': 'oklch(70.7% 0.022 261.325)',\n '500': 'oklch(55.1% 0.027 264.364)',\n '600': 'oklch(44.6% 0.03 256.802)',\n '700': 'oklch(37.3% 0.034 259.733)',\n '800': 'oklch(27.8% 0.033 256.848)',\n '900': 'oklch(21% 0.034 264.665)',\n '950': 'oklch(13% 0.028 261.692)',\n }),\n },\n space: {\n '1': dimension('0.25rem'),\n '2': dimension('0.5rem'),\n '3': dimension('0.75rem'),\n '4': dimension('1rem'),\n '5': dimension('1.25rem'),\n '6': dimension('1.5rem'),\n '7': dimension('2rem'),\n '8': dimension('2.5rem'),\n '9': dimension('3rem'),\n '10': dimension('4rem'),\n '11': dimension('5rem'),\n '12': dimension('6rem'),\n },\n font: {\n family: {\n sans: fontFamily(\n \"system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif\",\n ),\n // Display aliases sans so consumers can change headings through a single family token.\n display: fontFamily('{font.family.sans}'),\n mono: fontFamily(\n \"ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace\",\n ),\n // The consumer loads any icon font; the library supplies only its configurable family\n // token.\n icon: fontFamily(\"'Material Symbols Rounded'\"),\n },\n weight: {\n regular: fontWeight('400'),\n medium: fontWeight('500'),\n semibold: fontWeight('600'),\n bold: fontWeight('700'),\n },\n size: {\n xs: dimension('0.75rem'),\n sm: dimension('0.875rem'),\n md: dimension('1rem'),\n lg: dimension('1.125rem'),\n xl: dimension('1.25rem'),\n '2xl': dimension('1.5rem'),\n '3xl': dimension('1.875rem'),\n '4xl': dimension('2.25rem'),\n '5xl': dimension('3rem'),\n },\n leading: {\n none: dimension('1'),\n tight: dimension('1.25'),\n snug: dimension('1.4'),\n normal: dimension('1.5'),\n relaxed: dimension('1.65'),\n },\n tracking: {\n tight: dimension('-0.015em', 'Tightening for large sizes (display, the top headings)'),\n wide: dimension('0.05em', 'Letter spacing for all-caps micro labels (overline)'),\n },\n },\n radius: {\n // Zero radii need units because calc(0 - 1px) is invalid while calc(0px - 1px) is valid.\n none: dimension('0px'),\n xs: dimension('0.125rem'),\n sm: dimension('0.25rem'),\n md: dimension('0.375rem'),\n lg: dimension('0.5rem'),\n xl: dimension('0.75rem'),\n '2xl': dimension('1rem'),\n full: dimension('9999px'),\n },\n shadow: {\n xs: shadow('0 1px 2px 0 oklch(0% 0 0 / 0.05)'),\n sm: shadow('0 1px 3px 0 oklch(0% 0 0 / 0.1), 0 1px 2px -1px oklch(0% 0 0 / 0.1)'),\n md: shadow('0 4px 6px -1px oklch(0% 0 0 / 0.1), 0 2px 4px -2px oklch(0% 0 0 / 0.1)'),\n lg: shadow('0 10px 15px -3px oklch(0% 0 0 / 0.1), 0 4px 6px -4px oklch(0% 0 0 / 0.1)'),\n xl: shadow('0 20px 25px -5px oklch(0% 0 0 / 0.1), 0 8px 10px -6px oklch(0% 0 0 / 0.1)'),\n },\n /* Use explicit duration steps for long loops instead of multiplying shorter transition roles. */\n duration: {\n '0': duration('0ms'),\n '50': duration('50ms'),\n '100': duration('100ms'),\n '150': duration('150ms'),\n '200': duration('200ms'),\n '300': duration('300ms'),\n '400': duration('400ms'),\n '500': duration('500ms'),\n '700': duration('700ms'),\n '1000': duration('1000ms'),\n '1500': duration('1500ms'),\n '2000': duration('2000ms'),\n '3000': duration('3000ms'),\n '5000': duration('5000ms'),\n },\n ease: {\n default: cubicBezier('cubic-bezier(0.2, 0, 0, 1)'),\n in: cubicBezier('cubic-bezier(0.5, 0, 1, 1)'),\n out: cubicBezier('cubic-bezier(0, 0, 0.2, 1)'),\n 'in-out': cubicBezier(\n 'cubic-bezier(0.4, 0, 0.2, 1)',\n 'Symmetric: both the start and the end are eased. Looping animations that cross the track (an indeterminate VProgressLinear).',\n ),\n },\n} satisfies TokenGroup\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"semantic.js","names":[],"sources":["../../src/tokens/semantic.ts"],"sourcesContent":["/**\n * Semantic roles alias primitives; components depend on these roles so applications can theme\n * without rewriting component CSS.\n */\nimport { color, dimension, duration, fontFamily, fontWeight, type TokenGroup } from './types'\n\nexport const semantic = {\n color: {\n surface: color('{color.white}', 'The default page background'),\n 'surface-muted': color('{color.gray.100}', 'A muted background (secondary areas)'),\n 'surface-raised': color('{color.white}', 'Raised surfaces: cards'),\n 'surface-overlay': color('{color.white}', 'Floating surfaces: dialogs, popovers, menus'),\n 'surface-sunken': color('{color.gray.50}', 'Sunken surfaces: wells, code areas'),\n 'surface-inverse': color('{color.gray.900}', 'Inverted-contrast surfaces: tooltips'),\n 'surface-skeleton': color(\n '{color.gray.200}',\n \"The background of VSkeletonLoader's silhouettes, from which its highlight is derived\",\n ),\n\n 'text-on-inverse': color('{color.white}', 'Text set on an inverted surface'),\n\n text: color('{color.gray.900}', 'The running text of the interface'),\n 'text-muted': color(\n '{color.gray.600}',\n 'Secondary text: hints, captions, descriptions, start icons',\n ),\n 'text-subtle': color('{color.gray.500}', 'Placeholders, disabled text'),\n 'text-on-accent': color('{color.white}', 'Text set on an accent/danger/success background'),\n 'text-on-warning': color(\n '{color.gray.950}',\n 'Text set on a solid warning background (amber too light for white)',\n ),\n\n border: color('{color.gray.200}', 'Dividers, and the frames of cards, tables and panels'),\n 'border-strong': color('{color.gray.300}', 'The borders of form controls'),\n 'border-on-fill': color(\n 'oklch(0% 0 0 / 0.12)',\n 'A veil edging or dividing a filled background: VButtonGroup seams, VColorPicker swatches',\n ),\n\n accent: color(\n '{color.indigo.600}',\n 'The brand color: solid buttons, checked controls, the selected item',\n ),\n 'accent-hover': color('{color.indigo.700}', 'The accent color under the pointer'),\n 'accent-active': color('{color.indigo.800}', 'The accent color while pressed'),\n 'accent-surface': color('{color.indigo.50}', 'A tinted accent background (badges, selections)'),\n 'accent-border': color(\n '{color.indigo.200}',\n 'The border of a tinted accent element, matching the accent surface',\n ),\n 'accent-text': color('{color.indigo.700}', 'Accent text on a neutral or tinted background'),\n\n danger: color('{color.red.600}', 'Destructive actions and errors: solid buttons, error states'),\n 'danger-hover': color('{color.red.700}', 'The danger color under the pointer'),\n 'danger-active': color('{color.red.800}', 'The danger color while pressed'),\n 'danger-surface': color(\n '{color.red.50}',\n 'A tinted danger background (soft buttons and chips, a destructive menu item)',\n ),\n 'danger-border': color(\n '{color.red.200}',\n 'The border of a tinted danger element, matching the danger surface',\n ),\n 'danger-text': color(\n '{color.red.700}',\n 'Danger text on a neutral or tinted background: error messages, a destructive menu item',\n ),\n\n /* Green filled surfaces need step 700 to contrast with white text. */\n success: color('{color.green.700}', 'A positive outcome: solid chips, badges, notifications'),\n 'success-hover': color('{color.green.800}', 'The success color under the pointer'),\n 'success-active': color('{color.green.900}', 'The success color while pressed'),\n 'success-surface': color(\n '{color.green.50}',\n 'A tinted success background (soft chips, badges, notifications)',\n ),\n 'success-border': color(\n '{color.green.200}',\n 'The border of a tinted success element, matching the success surface',\n ),\n 'success-text': color('{color.green.800}', 'Success text on a neutral or tinted background'),\n\n warning: color(\n '{color.amber.600}',\n 'A situation that calls for attention: solid chips, badges, notifications',\n ),\n 'warning-hover': color('{color.amber.700}', 'The warning color under the pointer'),\n 'warning-active': color('{color.amber.800}', 'The warning color while pressed'),\n 'warning-surface': color(\n '{color.amber.50}',\n 'A tinted warning background (soft chips, badges, notifications)',\n ),\n 'warning-border': color(\n '{color.amber.200}',\n 'The border of a tinted warning element, matching the warning surface',\n ),\n 'warning-text': color('{color.amber.900}', 'Warning text on a neutral or tinted background'),\n\n backdrop: color('oklch(0% 0 0 / 0.45)', 'The veil behind modal dialogs'),\n\n /*\n * Keep event colours literal: root-declared var aliases resolve their hue before cards can\n * supply per-event hues.\n */\n 'event-surface': color(\n 'oklch(0.95 0.045 265)',\n 'The face of a calendar event that carries no color of its own',\n ),\n 'event-border': color(\n 'oklch(0.85 0.08 265)',\n 'The edge of that calendar event, and the bar marking its leading side',\n ),\n 'event-text': color('oklch(0.4 0.11 265)', 'The title of that calendar event'),\n },\n text: {\n family: fontFamily('{font.family.sans}', 'The running font of every component'),\n 'family-heading': fontFamily(\n '{font.family.display}',\n 'The font of the display and heading roles, the running font until it is overridden',\n ),\n 'family-code': fontFamily(\n '{font.family.mono}',\n 'The font of code content (the code role, VInputOTP)',\n ),\n display: {\n size: dimension('{font.size.5xl}'),\n weight: fontWeight('{font.weight.bold}'),\n leading: dimension('{font.leading.none}'),\n tracking: dimension('{font.tracking.tight}'),\n },\n 'heading-1': {\n size: dimension('{font.size.4xl}'),\n weight: fontWeight('{font.weight.bold}'),\n leading: dimension('{font.leading.tight}'),\n tracking: dimension('{font.tracking.tight}'),\n },\n 'heading-2': {\n size: dimension('{font.size.2xl}'),\n weight: fontWeight('{font.weight.semibold}'),\n leading: dimension('{font.leading.tight}'),\n tracking: dimension('{font.tracking.tight}'),\n },\n 'heading-3': {\n size: dimension('{font.size.lg}'),\n weight: fontWeight('{font.weight.semibold}'),\n leading: dimension('{font.leading.snug}'),\n },\n 'heading-4': {\n size: dimension('{font.size.md}'),\n weight: fontWeight('{font.weight.semibold}'),\n leading: dimension('{font.leading.snug}'),\n },\n subtitle: {\n size: dimension('{font.size.sm}'),\n weight: fontWeight('{font.weight.regular}'),\n leading: dimension('{font.leading.normal}'),\n },\n 'body-xl': {\n size: dimension('{font.size.lg}'),\n weight: fontWeight('{font.weight.regular}'),\n leading: dimension('{font.leading.relaxed}'),\n },\n 'body-lg': {\n size: dimension('{font.size.md}'),\n weight: fontWeight('{font.weight.regular}'),\n leading: dimension('{font.leading.relaxed}'),\n },\n 'body-md': {\n size: dimension('{font.size.sm}'),\n weight: fontWeight('{font.weight.regular}'),\n leading: dimension('{font.leading.normal}'),\n },\n 'body-sm': {\n size: dimension('{font.size.xs}'),\n weight: fontWeight('{font.weight.regular}'),\n leading: dimension('{font.leading.normal}'),\n },\n label: {\n size: dimension('{font.size.sm}'),\n weight: fontWeight('{font.weight.medium}'),\n leading: dimension('{font.leading.snug}'),\n },\n /* Choice text uses label dimensions at regular weight to remain distinct from field labels. */\n choice: {\n size: dimension('{font.size.sm}'),\n weight: fontWeight('{font.weight.regular}'),\n leading: dimension('{font.leading.snug}'),\n },\n caption: {\n size: dimension('{font.size.xs}'),\n weight: fontWeight('{font.weight.regular}'),\n leading: dimension('{font.leading.snug}'),\n },\n overline: {\n size: dimension('{font.size.xs}'),\n weight: fontWeight('{font.weight.medium}'),\n leading: dimension('{font.leading.snug}'),\n tracking: dimension('{font.tracking.wide}'),\n },\n code: {\n size: dimension('{font.size.sm}'),\n weight: fontWeight('{font.weight.regular}'),\n leading: dimension('{font.leading.normal}'),\n },\n /* Control size comes from --control-font-size; this recipe supplies weight and leading only. */\n control: {\n weight: fontWeight('{font.weight.medium}'),\n leading: dimension('{font.leading.none}'),\n },\n },\n radius: {\n interactive: dimension('{radius.md}', 'Buttons, inputs, controls'),\n surface: dimension('{radius.lg}', 'Cards, alerts'),\n overlay: dimension('{radius.xl}', 'Dialogs, popovers, menus'),\n pill: dimension('{radius.full}', 'Full rounding: switches, badges, pill-shaped chips'),\n chip: dimension(\n '{radius.interactive}',\n 'Chips with shape=\"chip\", which follow the interactive radius by default',\n ),\n },\n /** Semantic transition durations are theme-independent. */\n duration: {\n fast: duration('{duration.150}', 'Color and border changes on hover, focus and press'),\n base: duration('{duration.200}', 'The default: a panel opening, a value moving'),\n slow: duration('{duration.300}', 'Movements large enough to be followed by the eye'),\n },\n focus: {\n 'ring-color': color(\n '{color.indigo.500}',\n 'The keyboard focus ring, which has to stand out against the page',\n ),\n 'ring-width': dimension('2px', 'The thickness of the focus ring'),\n 'ring-offset': dimension('2px', 'The gap between a control and its focus ring'),\n },\n control: {\n 'height-xs': dimension(\n '1.5rem',\n 'The height of every control at size=\"xs\" (24px), 4px less when compact',\n ),\n 'height-sm': dimension(\n '2rem',\n 'The height of every control at size=\"sm\" (32px), 4px less when compact',\n ),\n 'height-md': dimension(\n '2.5rem',\n 'The height of every control at size=\"md\" (40px), 4px less when compact',\n ),\n 'height-lg': dimension(\n '3rem',\n 'The height of every control at size=\"lg\" (48px), 4px less when compact',\n ),\n 'height-xl': dimension(\n '3.5rem',\n 'The height of every control at size=\"xl\" (56px), 4px less when compact',\n ),\n 'border-width': dimension('2px', 'The border of checkable controls (VCheckbox, VRadio)'),\n 'size-check': dimension('1.25rem', 'The box of checkable controls (VCheckbox, VRadio)'),\n 'size-check-mark': dimension('0.875rem', \"The tick inside VCheckbox's box\"),\n 'size-check-dot': dimension('0.5rem', \"The dot inside VRadio's circle\"),\n 'size-switch-w': dimension('2.5rem', \"The width of VSwitch's track\"),\n 'size-switch-h': dimension('1.25rem', \"The height of VSwitch's track\"),\n 'size-switch-pad': dimension(\n '0.125rem',\n \"The gap between VSwitch's thumb and the edge of its track\",\n ),\n 'action-size-sm': dimension(\n '1.25rem',\n 'The inner buttons of sm input fields (clear, a clickable icon)',\n ),\n 'action-size-md': dimension(\n '1.5rem',\n 'The inner buttons of md input fields (clear, a clickable icon)',\n ),\n 'action-size-lg': dimension(\n '1.75rem',\n 'The inner buttons of lg input fields (clear, a clickable icon)',\n ),\n 'size-slider-track': dimension('0.375rem', \"The thickness of VSlider's track\"),\n 'size-slider-thumb': dimension('1.25rem', \"The diameter of VSlider's thumb\"),\n 'size-slider-length': dimension('10rem', 'The default length of a vertical VSlider'),\n 'size-slider-field': dimension('5rem', \"The width of VSlider's number fields\"),\n 'size-carousel-block': dimension(\n '24rem',\n \"The default block size of VCarousel's viewport, which a vertical carousel needs to lay its slides out\",\n ),\n 'size-carousel-indicator': dimension(\n '0.625rem',\n 'The diameter of a VCarousel indicator dot (its hit area comes from --vectis-control-height-xs)',\n ),\n 'size-carousel-indicator-active': dimension(\n '1.25rem',\n 'The length of the active VCarousel indicator, which stretches from a dot into a pill',\n ),\n 'size-combobox-list-max-block': dimension(\n '18rem',\n \"The maximum height of VCombobox's list panel (the scrolling area)\",\n ),\n 'size-select-list-max-block': dimension(\n '18rem',\n \"The maximum height of VSelect's list panel (the scrolling area)\",\n ),\n 'size-menu-min': dimension('11rem', \"The minimum width of VMenu's panel\"),\n 'size-menu-max': dimension('20rem', \"The maximum width of VMenu's panel\"),\n 'size-progress-linear-thickness': dimension(\n '0.25rem',\n \"The default thickness of VProgressLinear's bar (4px)\",\n ),\n 'size-progress-linear-length': dimension(\n '10rem',\n 'The default length of a vertical VProgressLinear, which a height set on the bar replaces',\n ),\n 'size-meter-thickness-sm': dimension('0.25rem', 'The thickness of a small VMeter (4px)'),\n 'size-meter-thickness-md': dimension('0.5rem', 'The thickness of a medium VMeter (8px)'),\n 'size-meter-thickness-lg': dimension('0.75rem', 'The thickness of a large VMeter (12px)'),\n 'size-meter-segment-gap': dimension('0.125rem', 'The gap between two VMeter segments (2px)'),\n 'size-progress-circular-diameter': dimension(\n '3rem',\n 'The default diameter of VProgressCircular',\n ),\n 'size-progress-circular-thickness': dimension(\n '0.25rem',\n 'The default stroke thickness of VProgressCircular (4px)',\n ),\n 'size-skeleton-surface': dimension(\n '6rem',\n 'The default height of a surface-shaped VSkeletonLoader: a card, an image (96px)',\n ),\n 'size-resizable-hit': dimension(\n '0.75rem',\n 'The width of the strip around a VResizable handle that catches the pointer (12px)',\n ),\n 'size-resizable-grip-length': dimension(\n '1.5rem',\n 'The length of the grip VResizable draws on its handles under `grip` (24px)',\n ),\n 'size-resizable-grip-thickness': dimension(\n '0.5rem',\n 'The thickness of the grip VResizable draws on its handles under `grip` (8px)',\n ),\n 'size-toast-width': dimension('22rem', 'The default width of a toast'),\n 'size-tooltip-max': dimension('18rem', 'The widest a tooltip grows before it wraps (288px)'),\n 'size-hover-card-max': dimension('20rem', 'The widest a VHoverCard grows (320px)'),\n 'size-dialog-width': dimension(\n '25rem',\n 'The default width of VDialog and VDialogAlert (400px), when no `width` is given',\n ),\n 'size-command-palette-width': dimension(\n '40rem',\n 'The default width of VCommandPalette (640px), when no `width` is given',\n ),\n 'size-command-palette-list-max-block': dimension(\n '20rem',\n \"The tallest VCommandPalette's list of commands grows before it scrolls (320px)\",\n ),\n 'size-command-palette-offset': dimension(\n '6rem',\n 'The distance from the top of the viewport to VCommandPalette, which keeps its search field still as the list changes height (96px)',\n ),\n 'size-stepper-indicator': dimension(\n '2rem',\n 'The diameter of the circle holding a VStepper step number (32px)',\n ),\n 'size-stepper-connector-min': dimension(\n '1.5rem',\n 'The shortest a horizontal VStepper connector gets between two steps (24px)',\n ),\n 'size-timeline-dot-sm': dimension(\n '0.5rem',\n 'The dot marking an event of a small VTimeline (8px)',\n ),\n 'size-timeline-dot-md': dimension('0.625rem', 'The dot marking an event of a VTimeline (10px)'),\n 'size-timeline-icon-sm': dimension(\n '1.5rem',\n 'The round badge holding the icon of an event in a small VTimeline (24px)',\n ),\n 'size-timeline-icon-md': dimension(\n '2rem',\n 'The round badge holding the icon of an event in a VTimeline (32px)',\n ),\n 'size-timeline-item-min': dimension(\n '12rem',\n 'The narrowest an event of a horizontal VTimeline gets before the list scrolls (192px)',\n ),\n 'size-rating-sm': dimension('1.25rem', 'The icon of a small VRating (20px)'),\n 'size-rating-md': dimension('1.5rem', 'The icon of a medium VRating (24px)'),\n 'size-rating-lg': dimension('2rem', 'The icon of a large VRating (32px)'),\n 'size-drawer-sm': dimension(\n '20rem',\n 'The width of a small VDrawer on a side, or the height of one at the top or bottom (320px)',\n ),\n 'size-drawer-md': dimension(\n '25rem',\n 'The width of a medium VDrawer on a side, or the height of one at the top or bottom (400px)',\n ),\n 'size-drawer-lg': dimension(\n '35rem',\n 'The width of a large VDrawer on a side, or the height of one at the top or bottom (560px)',\n ),\n 'size-snackbar-min': dimension('18rem', 'The minimum width of a snackbar (288px)'),\n 'size-snackbar-max': dimension('36rem', 'The maximum width of a snackbar (576px)'),\n 'size-card-media': dimension(\n '12rem',\n 'The width a horizontal VCard gives its media before the content wraps under it (192px)',\n ),\n 'size-card-body-min': dimension(\n '16rem',\n 'The narrowest content of a horizontal VCard: below it, the media moves above the content',\n ),\n 'size-empty-state-media-sm': dimension(\n '2.5rem',\n 'The diameter of the icon badge of a small VEmptyState (40px)',\n ),\n 'size-empty-state-media-md': dimension(\n '3rem',\n 'The diameter of the icon badge of a medium VEmptyState (48px)',\n ),\n 'size-empty-state-media-lg': dimension(\n '4rem',\n 'The diameter of the icon badge of a large VEmptyState (64px)',\n ),\n 'size-empty-state-text-max': dimension(\n '28rem',\n 'The widest the title and description of a VEmptyState run before they wrap (448px)',\n ),\n 'size-field-label': dimension(\n '10rem',\n 'The width of a VField label placed beside its control, before the control wraps under it (160px)',\n ),\n 'size-field-control-min': dimension(\n '16rem',\n 'The narrowest control of a VField with a side label: below it, the label moves above the control',\n ),\n 'size-badge-h': dimension('1.25rem', 'The height of a VBadge pill'),\n 'size-badge-dot': dimension('0.625rem', 'The diameter of VBadge in dot mode'),\n 'size-badge-ring': dimension('2px', 'The detaching ring of a bordered VBadge'),\n 'size-avatar-ring': dimension('2px', 'The ring separating stacked avatars (VAvatarGroup)'),\n 'size-color-picker-width': dimension('16rem', 'The width of VColorPicker (256px)'),\n 'size-color-picker-area': dimension(\n '10rem',\n \"The height of VColorPicker's saturation and brightness area (160px)\",\n ),\n 'size-color-picker-track': dimension(\n '0.75rem',\n \"The thickness of VColorPicker's hue and opacity tracks (12px)\",\n ),\n 'size-color-picker-thumb': dimension(\n '1.25rem',\n \"The diameter of VColorPicker's thumbs, on the area and the tracks (20px)\",\n ),\n 'size-color-picker-preview': dimension(\n '2rem',\n 'The disc showing the current colour in VColorPicker (32px)',\n ),\n 'size-color-picker-format': dimension(\n '6rem',\n \"The width of VColorPicker's format menu, which holds its longest name (96px)\",\n ),\n 'size-color-picker-swatch': dimension('1.5rem', 'The side of a VColorPicker swatch (24px)'),\n 'size-color-picker-checker': dimension(\n '0.5rem',\n 'The side of the checkerboard showing through a translucent colour (8px)',\n ),\n 'size-date-picker-cell': dimension('2.5rem', 'The side of a VDatePicker day cell'),\n 'size-date-picker-day': dimension(\n '{control.height.md}',\n 'The diameter of the disc a VDatePicker day is drawn on; the cell grows to hold it',\n ),\n 'size-date-picker-dot': dimension('0.25rem', 'The diameter of a VDatePicker event dot'),\n 'size-date-picker-nav-min': dimension(\n '5.375rem',\n \"The minimum width of VDatePicker's month/year picker buttons (about 86px)\",\n ),\n 'size-tab-indicator': dimension(\n '2px',\n 'The thickness of the active tab indicator (VTabs, every variant but inset)',\n ),\n 'size-table-search': dimension('16rem', \"The width of VDataTable's search field\"),\n 'size-time-picker-dial': dimension('16rem', \"The diameter of VTimePicker's clock face\"),\n 'size-time-picker-number': dimension(\n '3rem',\n \"A numeral cell on VTimePicker's face, and the hand's dot on a marker\",\n ),\n 'size-time-picker-center': dimension('0.5rem', \"The center dot of VTimePicker's face\"),\n 'size-time-picker-hand': dimension('2px', \"The thickness of the hand on VTimePicker's face\"),\n 'size-time-picker-hand-minor': dimension(\n '1rem',\n \"The dot of VTimePicker's hand on a minute off the 5-minute markers\",\n ),\n 'size-file-picker-min-block': dimension(\n '10rem',\n \"The minimum height of VFilePicker's drop zone: icon, two lines, separator and button\",\n ),\n 'size-file-picker-icon': dimension(\n '2.5rem',\n \"The large icon at the top of VFilePicker's drop zone\",\n ),\n 'size-file-picker-thumb': dimension(\n '2.5rem',\n 'The thumbnail square of a VFilePicker preview row (an image, or its type icon)',\n ),\n /*\n * This hour height must leave room for a readable title in short events; cards have no\n * minimum height.\n */\n 'size-calendar-hour': dimension('4rem', \"The height of one hour in VCalendar's time grid\"),\n 'size-calendar-gutter': dimension(\n '4.5rem',\n \"The column of hour labels beside VCalendar's time grid, wide enough for a 12-hour clock's '12:00 AM' on one line\",\n ),\n 'size-calendar-tick': dimension(\n '0.375rem',\n \"How far an hour's rule runs back into VCalendar's gutter, tying the label to its line\",\n ),\n /*\n * Keep this visual edge-strip width aligned with EDGE_BAND in VCalendar/edgeStep.ts so\n * paging starts where the highlight appears.\n */\n 'size-calendar-edge': dimension(\n '3rem',\n 'The strip at the side of VCalendar that pages the view when a dragged event rests on it',\n ),\n 'size-calendar-day-min': dimension(\n '5rem',\n 'The width a VCalendar day column may not go below, past which the grid scrolls',\n ),\n 'size-calendar-handle': dimension(\n '0.5rem',\n \"The strip along a VCalendar card's bottom edge that its end is dragged by\",\n ),\n 'size-calendar-allday-lane': dimension('1.5rem', \"One lane of VCalendar's all-day band\"),\n 'size-calendar-allday-max': dimension(\n '7rem',\n \"The height past which VCalendar's all-day band scrolls instead of growing\",\n ),\n 'size-calendar-now-dot': dimension('0.625rem', \"The dot on VCalendar's current-time line\"),\n 'size-calendar-event-edge': dimension(\n '3px',\n 'The width of the coloured leading edge of a VCalendar event',\n ),\n 'size-calendar-gap': dimension(\n '0.125rem',\n 'The gap VCalendar keeps between two events, side by side in a day or stacked in a month',\n ),\n 'size-calendar-grip': dimension(\n '1rem',\n \"The length of the grip drawn on a VCalendar card's resize strip\",\n ),\n 'size-calendar-grip-thickness': dimension(\n '2px',\n \"The thickness of that grip, which is also its distance from the card's bottom edge\",\n ),\n 'size-calendar-year-month': dimension(\n '13rem',\n \"The narrowest a mini-month of VCalendar's year view gets before the year reflows\",\n ),\n /*\n * Keep enough cell height for monthEventLimit chips and the overflow line; clipped cells do\n * not scroll to reveal hidden rows.\n */\n 'size-calendar-month-cell': dimension(\n '8.5rem',\n \"The minimum height of a day in VCalendar's month view\",\n ),\n 'size-calendar-year-cell': dimension(\n '1.5rem',\n \"The side of a day square in the mini-months of VCalendar's year view\",\n ),\n },\n icon: {\n 'size-sm': dimension('1rem', 'The icon size of xs controls (16px)'),\n 'size-md': dimension('1.25rem', 'The icon size of sm and md controls (20px)'),\n 'size-lg': dimension('1.5rem', 'The icon size of lg and xl controls (24px)'),\n },\n} satisfies TokenGroup\n"],"mappings":"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"}
1
+ {"version":3,"file":"semantic.js","names":["semantic","color","fontFamily","dimension","fontWeight","duration"],"sources":["../../src/tokens/semantic.ts"],"sourcesContent":["/**\n * Semantic roles alias primitives; components depend on these roles so applications can theme\n * without rewriting component CSS.\n */\nimport { color, dimension, duration, fontFamily, fontWeight, type TokenGroup } from './types'\n\nexport const semantic = {\n color: {\n surface: color('{color.white}', 'The default page background'),\n 'surface-muted': color('{color.gray.100}', 'A muted background (secondary areas)'),\n 'surface-raised': color('{color.white}', 'Raised surfaces: cards'),\n 'surface-overlay': color('{color.white}', 'Floating surfaces: dialogs, popovers, menus'),\n 'surface-sunken': color('{color.gray.50}', 'Sunken surfaces: wells, code areas'),\n 'surface-inverse': color('{color.gray.900}', 'Inverted-contrast surfaces: tooltips'),\n 'surface-skeleton': color(\n '{color.gray.200}',\n \"The background of VSkeletonLoader's silhouettes, from which its highlight is derived\",\n ),\n\n 'text-on-inverse': color('{color.white}', 'Text set on an inverted surface'),\n\n text: color('{color.gray.900}', 'The running text of the interface'),\n 'text-muted': color(\n '{color.gray.600}',\n 'Secondary text: hints, captions, descriptions, start icons',\n ),\n 'text-subtle': color('{color.gray.500}', 'Placeholders, disabled text'),\n 'text-on-accent': color('{color.white}', 'Text set on an accent/danger/success background'),\n 'text-on-warning': color(\n '{color.gray.950}',\n 'Text set on a solid warning background (amber too light for white)',\n ),\n\n border: color('{color.gray.200}', 'Dividers, and the frames of cards, tables and panels'),\n 'border-strong': color('{color.gray.300}', 'The borders of form controls'),\n 'border-on-fill': color(\n 'oklch(0% 0 0 / 0.12)',\n 'A veil edging or dividing a filled background: VButtonGroup seams, VColorPicker swatches',\n ),\n\n accent: color(\n '{color.indigo.600}',\n 'The brand color: solid buttons, checked controls, the selected item',\n ),\n 'accent-hover': color('{color.indigo.700}', 'The accent color under the pointer'),\n 'accent-active': color('{color.indigo.800}', 'The accent color while pressed'),\n 'accent-surface': color('{color.indigo.50}', 'A tinted accent background (badges, selections)'),\n 'accent-border': color(\n '{color.indigo.200}',\n 'The border of a tinted accent element, matching the accent surface',\n ),\n 'accent-text': color('{color.indigo.700}', 'Accent text on a neutral or tinted background'),\n\n danger: color('{color.red.600}', 'Destructive actions and errors: solid buttons, error states'),\n 'danger-hover': color('{color.red.700}', 'The danger color under the pointer'),\n 'danger-active': color('{color.red.800}', 'The danger color while pressed'),\n 'danger-surface': color(\n '{color.red.50}',\n 'A tinted danger background (soft buttons and chips, a destructive menu item)',\n ),\n 'danger-border': color(\n '{color.red.200}',\n 'The border of a tinted danger element, matching the danger surface',\n ),\n 'danger-text': color(\n '{color.red.700}',\n 'Danger text on a neutral or tinted background: error messages, a destructive menu item',\n ),\n\n /* Green filled surfaces need step 700 to contrast with white text. */\n success: color('{color.green.700}', 'A positive outcome: solid chips, badges, notifications'),\n 'success-hover': color('{color.green.800}', 'The success color under the pointer'),\n 'success-active': color('{color.green.900}', 'The success color while pressed'),\n 'success-surface': color(\n '{color.green.50}',\n 'A tinted success background (soft chips, badges, notifications)',\n ),\n 'success-border': color(\n '{color.green.200}',\n 'The border of a tinted success element, matching the success surface',\n ),\n 'success-text': color('{color.green.800}', 'Success text on a neutral or tinted background'),\n\n warning: color(\n '{color.amber.600}',\n 'A situation that calls for attention: solid chips, badges, notifications',\n ),\n 'warning-hover': color('{color.amber.700}', 'The warning color under the pointer'),\n 'warning-active': color('{color.amber.800}', 'The warning color while pressed'),\n 'warning-surface': color(\n '{color.amber.50}',\n 'A tinted warning background (soft chips, badges, notifications)',\n ),\n 'warning-border': color(\n '{color.amber.200}',\n 'The border of a tinted warning element, matching the warning surface',\n ),\n 'warning-text': color('{color.amber.900}', 'Warning text on a neutral or tinted background'),\n\n backdrop: color('oklch(0% 0 0 / 0.45)', 'The veil behind modal dialogs'),\n\n /*\n * Keep event colours literal: root-declared var aliases resolve their hue before cards can\n * supply per-event hues.\n */\n 'event-surface': color(\n 'oklch(0.95 0.045 265)',\n 'The face of a calendar event that carries no color of its own',\n ),\n 'event-border': color(\n 'oklch(0.85 0.08 265)',\n 'The edge of that calendar event, and the bar marking its leading side',\n ),\n 'event-text': color('oklch(0.4 0.11 265)', 'The title of that calendar event'),\n },\n text: {\n family: fontFamily('{font.family.sans}', 'The running font of every component'),\n 'family-heading': fontFamily(\n '{font.family.display}',\n 'The font of the display and heading roles, the running font until it is overridden',\n ),\n 'family-code': fontFamily(\n '{font.family.mono}',\n 'The font of code content (the code role, VInputOTP)',\n ),\n display: {\n size: dimension('{font.size.5xl}'),\n weight: fontWeight('{font.weight.bold}'),\n leading: dimension('{font.leading.none}'),\n tracking: dimension('{font.tracking.tight}'),\n },\n 'heading-1': {\n size: dimension('{font.size.4xl}'),\n weight: fontWeight('{font.weight.bold}'),\n leading: dimension('{font.leading.tight}'),\n tracking: dimension('{font.tracking.tight}'),\n },\n 'heading-2': {\n size: dimension('{font.size.2xl}'),\n weight: fontWeight('{font.weight.semibold}'),\n leading: dimension('{font.leading.tight}'),\n tracking: dimension('{font.tracking.tight}'),\n },\n 'heading-3': {\n size: dimension('{font.size.lg}'),\n weight: fontWeight('{font.weight.semibold}'),\n leading: dimension('{font.leading.snug}'),\n },\n 'heading-4': {\n size: dimension('{font.size.md}'),\n weight: fontWeight('{font.weight.semibold}'),\n leading: dimension('{font.leading.snug}'),\n },\n subtitle: {\n size: dimension('{font.size.sm}'),\n weight: fontWeight('{font.weight.regular}'),\n leading: dimension('{font.leading.normal}'),\n },\n 'body-xl': {\n size: dimension('{font.size.lg}'),\n weight: fontWeight('{font.weight.regular}'),\n leading: dimension('{font.leading.relaxed}'),\n },\n 'body-lg': {\n size: dimension('{font.size.md}'),\n weight: fontWeight('{font.weight.regular}'),\n leading: dimension('{font.leading.relaxed}'),\n },\n 'body-md': {\n size: dimension('{font.size.sm}'),\n weight: fontWeight('{font.weight.regular}'),\n leading: dimension('{font.leading.normal}'),\n },\n 'body-sm': {\n size: dimension('{font.size.xs}'),\n weight: fontWeight('{font.weight.regular}'),\n leading: dimension('{font.leading.normal}'),\n },\n label: {\n size: dimension('{font.size.sm}'),\n weight: fontWeight('{font.weight.medium}'),\n leading: dimension('{font.leading.snug}'),\n },\n /* Choice text uses label dimensions at regular weight to remain distinct from field labels. */\n choice: {\n size: dimension('{font.size.sm}'),\n weight: fontWeight('{font.weight.regular}'),\n leading: dimension('{font.leading.snug}'),\n },\n caption: {\n size: dimension('{font.size.xs}'),\n weight: fontWeight('{font.weight.regular}'),\n leading: dimension('{font.leading.snug}'),\n },\n overline: {\n size: dimension('{font.size.xs}'),\n weight: fontWeight('{font.weight.medium}'),\n leading: dimension('{font.leading.snug}'),\n tracking: dimension('{font.tracking.wide}'),\n },\n code: {\n size: dimension('{font.size.sm}'),\n weight: fontWeight('{font.weight.regular}'),\n leading: dimension('{font.leading.normal}'),\n },\n /* Control size comes from --control-font-size; this recipe supplies weight and leading only. */\n control: {\n weight: fontWeight('{font.weight.medium}'),\n leading: dimension('{font.leading.none}'),\n },\n },\n radius: {\n interactive: dimension('{radius.md}', 'Buttons, inputs, controls'),\n surface: dimension('{radius.lg}', 'Cards, alerts'),\n overlay: dimension('{radius.xl}', 'Dialogs, popovers, menus'),\n pill: dimension('{radius.full}', 'Full rounding: switches, badges, pill-shaped chips'),\n chip: dimension(\n '{radius.interactive}',\n 'Chips with shape=\"chip\", which follow the interactive radius by default',\n ),\n },\n /** Semantic transition durations are theme-independent. */\n duration: {\n fast: duration('{duration.150}', 'Color and border changes on hover, focus and press'),\n base: duration('{duration.200}', 'The default: a panel opening, a value moving'),\n slow: duration('{duration.300}', 'Movements large enough to be followed by the eye'),\n },\n focus: {\n 'ring-color': color(\n '{color.indigo.500}',\n 'The keyboard focus ring, which has to stand out against the page',\n ),\n 'ring-width': dimension('2px', 'The thickness of the focus ring'),\n 'ring-offset': dimension('2px', 'The gap between a control and its focus ring'),\n },\n control: {\n 'height-xs': dimension(\n '1.5rem',\n 'The height of every control at size=\"xs\" (24px), 4px less when compact',\n ),\n 'height-sm': dimension(\n '2rem',\n 'The height of every control at size=\"sm\" (32px), 4px less when compact',\n ),\n 'height-md': dimension(\n '2.5rem',\n 'The height of every control at size=\"md\" (40px), 4px less when compact',\n ),\n 'height-lg': dimension(\n '3rem',\n 'The height of every control at size=\"lg\" (48px), 4px less when compact',\n ),\n 'height-xl': dimension(\n '3.5rem',\n 'The height of every control at size=\"xl\" (56px), 4px less when compact',\n ),\n 'border-width': dimension('2px', 'The border of checkable controls (VCheckbox, VRadio)'),\n 'size-check': dimension('1.25rem', 'The box of checkable controls (VCheckbox, VRadio)'),\n 'size-check-mark': dimension('0.875rem', \"The tick inside VCheckbox's box\"),\n 'size-check-dot': dimension('0.5rem', \"The dot inside VRadio's circle\"),\n 'size-switch-w': dimension('2.5rem', \"The width of VSwitch's track\"),\n 'size-switch-h': dimension('1.25rem', \"The height of VSwitch's track\"),\n 'size-switch-pad': dimension(\n '0.125rem',\n \"The gap between VSwitch's thumb and the edge of its track\",\n ),\n 'action-size-sm': dimension(\n '1.25rem',\n 'The inner buttons of sm input fields (clear, a clickable icon)',\n ),\n 'action-size-md': dimension(\n '1.5rem',\n 'The inner buttons of md input fields (clear, a clickable icon)',\n ),\n 'action-size-lg': dimension(\n '1.75rem',\n 'The inner buttons of lg input fields (clear, a clickable icon)',\n ),\n 'size-slider-track': dimension('0.375rem', \"The thickness of VSlider's track\"),\n 'size-slider-thumb': dimension('1.25rem', \"The diameter of VSlider's thumb\"),\n 'size-slider-length': dimension('10rem', 'The default length of a vertical VSlider'),\n 'size-slider-field': dimension('5rem', \"The width of VSlider's number fields\"),\n 'size-carousel-block': dimension(\n '24rem',\n \"The default block size of VCarousel's viewport, which a vertical carousel needs to lay its slides out\",\n ),\n 'size-carousel-indicator': dimension(\n '0.625rem',\n 'The diameter of a VCarousel indicator dot (its hit area comes from --vectis-control-height-xs)',\n ),\n 'size-carousel-indicator-active': dimension(\n '1.25rem',\n 'The length of the active VCarousel indicator, which stretches from a dot into a pill',\n ),\n 'size-combobox-list-max-block': dimension(\n '18rem',\n \"The maximum height of VCombobox's list panel (the scrolling area)\",\n ),\n 'size-select-list-max-block': dimension(\n '18rem',\n \"The maximum height of VSelect's list panel (the scrolling area)\",\n ),\n 'size-menu-min': dimension('11rem', \"The minimum width of VMenu's panel\"),\n 'size-menu-max': dimension('20rem', \"The maximum width of VMenu's panel\"),\n 'size-progress-linear-thickness': dimension(\n '0.25rem',\n \"The default thickness of VProgressLinear's bar (4px)\",\n ),\n 'size-progress-linear-length': dimension(\n '10rem',\n 'The default length of a vertical VProgressLinear, which a height set on the bar replaces',\n ),\n 'size-meter-thickness-sm': dimension('0.25rem', 'The thickness of a small VMeter (4px)'),\n 'size-meter-thickness-md': dimension('0.5rem', 'The thickness of a medium VMeter (8px)'),\n 'size-meter-thickness-lg': dimension('0.75rem', 'The thickness of a large VMeter (12px)'),\n 'size-meter-segment-gap': dimension('0.125rem', 'The gap between two VMeter segments (2px)'),\n 'size-progress-circular-diameter': dimension(\n '3rem',\n 'The default diameter of VProgressCircular',\n ),\n 'size-progress-circular-thickness': dimension(\n '0.25rem',\n 'The default stroke thickness of VProgressCircular (4px)',\n ),\n 'size-skeleton-surface': dimension(\n '6rem',\n 'The default height of a surface-shaped VSkeletonLoader: a card, an image (96px)',\n ),\n 'size-resizable-hit': dimension(\n '0.75rem',\n 'The width of the strip around a VResizable handle that catches the pointer (12px)',\n ),\n 'size-resizable-grip-length': dimension(\n '1.5rem',\n 'The length of the grip VResizable draws on its handles under `grip` (24px)',\n ),\n 'size-resizable-grip-thickness': dimension(\n '0.5rem',\n 'The thickness of the grip VResizable draws on its handles under `grip` (8px)',\n ),\n 'size-toast-width': dimension('22rem', 'The default width of a toast'),\n 'size-tooltip-max': dimension('18rem', 'The widest a tooltip grows before it wraps (288px)'),\n 'size-hover-card-max': dimension('20rem', 'The widest a VHoverCard grows (320px)'),\n 'size-dialog-width': dimension(\n '25rem',\n 'The default width of VDialog and VDialogAlert (400px), when no `width` is given',\n ),\n 'size-command-palette-width': dimension(\n '40rem',\n 'The default width of VCommandPalette (640px), when no `width` is given',\n ),\n 'size-command-palette-list-max-block': dimension(\n '20rem',\n \"The tallest VCommandPalette's list of commands grows before it scrolls (320px)\",\n ),\n 'size-command-palette-offset': dimension(\n '6rem',\n 'The distance from the top of the viewport to VCommandPalette, which keeps its search field still as the list changes height (96px)',\n ),\n 'size-stepper-indicator': dimension(\n '2rem',\n 'The diameter of the circle holding a VStepper step number (32px)',\n ),\n 'size-stepper-connector-min': dimension(\n '1.5rem',\n 'The shortest a horizontal VStepper connector gets between two steps (24px)',\n ),\n 'size-timeline-dot-sm': dimension(\n '0.5rem',\n 'The dot marking an event of a small VTimeline (8px)',\n ),\n 'size-timeline-dot-md': dimension('0.625rem', 'The dot marking an event of a VTimeline (10px)'),\n 'size-timeline-icon-sm': dimension(\n '1.5rem',\n 'The round badge holding the icon of an event in a small VTimeline (24px)',\n ),\n 'size-timeline-icon-md': dimension(\n '2rem',\n 'The round badge holding the icon of an event in a VTimeline (32px)',\n ),\n 'size-timeline-item-min': dimension(\n '12rem',\n 'The narrowest an event of a horizontal VTimeline gets before the list scrolls (192px)',\n ),\n 'size-rating-sm': dimension('1.25rem', 'The icon of a small VRating (20px)'),\n 'size-rating-md': dimension('1.5rem', 'The icon of a medium VRating (24px)'),\n 'size-rating-lg': dimension('2rem', 'The icon of a large VRating (32px)'),\n 'size-drawer-sm': dimension(\n '20rem',\n 'The width of a small VDrawer on a side, or the height of one at the top or bottom (320px)',\n ),\n 'size-drawer-md': dimension(\n '25rem',\n 'The width of a medium VDrawer on a side, or the height of one at the top or bottom (400px)',\n ),\n 'size-drawer-lg': dimension(\n '35rem',\n 'The width of a large VDrawer on a side, or the height of one at the top or bottom (560px)',\n ),\n 'size-snackbar-min': dimension('18rem', 'The minimum width of a snackbar (288px)'),\n 'size-snackbar-max': dimension('36rem', 'The maximum width of a snackbar (576px)'),\n 'size-card-media': dimension(\n '12rem',\n 'The width a horizontal VCard gives its media before the content wraps under it (192px)',\n ),\n 'size-card-body-min': dimension(\n '16rem',\n 'The narrowest content of a horizontal VCard: below it, the media moves above the content',\n ),\n 'size-empty-state-media-sm': dimension(\n '2.5rem',\n 'The diameter of the icon badge of a small VEmptyState (40px)',\n ),\n 'size-empty-state-media-md': dimension(\n '3rem',\n 'The diameter of the icon badge of a medium VEmptyState (48px)',\n ),\n 'size-empty-state-media-lg': dimension(\n '4rem',\n 'The diameter of the icon badge of a large VEmptyState (64px)',\n ),\n 'size-empty-state-text-max': dimension(\n '28rem',\n 'The widest the title and description of a VEmptyState run before they wrap (448px)',\n ),\n 'size-field-label': dimension(\n '10rem',\n 'The width of a VField label placed beside its control, before the control wraps under it (160px)',\n ),\n 'size-field-control-min': dimension(\n '16rem',\n 'The narrowest control of a VField with a side label: below it, the label moves above the control',\n ),\n 'size-badge-h': dimension('1.25rem', 'The height of a VBadge pill'),\n 'size-badge-dot': dimension('0.625rem', 'The diameter of VBadge in dot mode'),\n 'size-badge-ring': dimension('2px', 'The detaching ring of a bordered VBadge'),\n 'size-avatar-ring': dimension('2px', 'The ring separating stacked avatars (VAvatarGroup)'),\n 'size-color-picker-width': dimension('16rem', 'The width of VColorPicker (256px)'),\n 'size-color-picker-area': dimension(\n '10rem',\n \"The height of VColorPicker's saturation and brightness area (160px)\",\n ),\n 'size-color-picker-track': dimension(\n '0.75rem',\n \"The thickness of VColorPicker's hue and opacity tracks (12px)\",\n ),\n 'size-color-picker-thumb': dimension(\n '1.25rem',\n \"The diameter of VColorPicker's thumbs, on the area and the tracks (20px)\",\n ),\n 'size-color-picker-preview': dimension(\n '2rem',\n 'The disc showing the current colour in VColorPicker (32px)',\n ),\n 'size-color-picker-format': dimension(\n '6rem',\n \"The width of VColorPicker's format menu, which holds its longest name (96px)\",\n ),\n 'size-color-picker-swatch': dimension('1.5rem', 'The side of a VColorPicker swatch (24px)'),\n 'size-color-picker-checker': dimension(\n '0.5rem',\n 'The side of the checkerboard showing through a translucent colour (8px)',\n ),\n 'size-date-picker-cell': dimension('2.5rem', 'The side of a VDatePicker day cell'),\n 'size-date-picker-day': dimension(\n '{control.height.md}',\n 'The diameter of the disc a VDatePicker day is drawn on; the cell grows to hold it',\n ),\n 'size-date-picker-dot': dimension('0.25rem', 'The diameter of a VDatePicker event dot'),\n 'size-date-picker-nav-min': dimension(\n '5.375rem',\n \"The minimum width of VDatePicker's month/year picker buttons (about 86px)\",\n ),\n 'size-tab-indicator': dimension(\n '2px',\n 'The thickness of the active tab indicator (VTabs, every variant but inset)',\n ),\n 'size-table-search': dimension('16rem', \"The width of VDataTable's search field\"),\n 'size-time-picker-dial': dimension('16rem', \"The diameter of VTimePicker's clock face\"),\n 'size-time-picker-number': dimension(\n '3rem',\n \"A numeral cell on VTimePicker's face, and the hand's dot on a marker\",\n ),\n 'size-time-picker-center': dimension('0.5rem', \"The center dot of VTimePicker's face\"),\n 'size-time-picker-hand': dimension('2px', \"The thickness of the hand on VTimePicker's face\"),\n 'size-time-picker-hand-minor': dimension(\n '1rem',\n \"The dot of VTimePicker's hand on a minute off the 5-minute markers\",\n ),\n 'size-file-picker-min-block': dimension(\n '10rem',\n \"The minimum height of VFilePicker's drop zone: icon, two lines, separator and button\",\n ),\n 'size-file-picker-icon': dimension(\n '2.5rem',\n \"The large icon at the top of VFilePicker's drop zone\",\n ),\n 'size-file-picker-thumb': dimension(\n '2.5rem',\n 'The thumbnail square of a VFilePicker preview row (an image, or its type icon)',\n ),\n /*\n * This hour height must leave room for a readable title in short events; cards have no\n * minimum height.\n */\n 'size-calendar-hour': dimension('4rem', \"The height of one hour in VCalendar's time grid\"),\n 'size-calendar-gutter': dimension(\n '4.5rem',\n \"The column of hour labels beside VCalendar's time grid, wide enough for a 12-hour clock's '12:00 AM' on one line\",\n ),\n 'size-calendar-tick': dimension(\n '0.375rem',\n \"How far an hour's rule runs back into VCalendar's gutter, tying the label to its line\",\n ),\n /*\n * Keep this visual edge-strip width aligned with EDGE_BAND in VCalendar/edgeStep.ts so\n * paging starts where the highlight appears.\n */\n 'size-calendar-edge': dimension(\n '3rem',\n 'The strip at the side of VCalendar that pages the view when a dragged event rests on it',\n ),\n 'size-calendar-day-min': dimension(\n '5rem',\n 'The width a VCalendar day column may not go below, past which the grid scrolls',\n ),\n 'size-calendar-handle': dimension(\n '0.5rem',\n \"The strip along a VCalendar card's bottom edge that its end is dragged by\",\n ),\n 'size-calendar-allday-lane': dimension('1.5rem', \"One lane of VCalendar's all-day band\"),\n 'size-calendar-allday-max': dimension(\n '7rem',\n \"The height past which VCalendar's all-day band scrolls instead of growing\",\n ),\n 'size-calendar-now-dot': dimension('0.625rem', \"The dot on VCalendar's current-time line\"),\n 'size-calendar-event-edge': dimension(\n '3px',\n 'The width of the coloured leading edge of a VCalendar event',\n ),\n 'size-calendar-gap': dimension(\n '0.125rem',\n 'The gap VCalendar keeps between two events, side by side in a day or stacked in a month',\n ),\n 'size-calendar-grip': dimension(\n '1rem',\n \"The length of the grip drawn on a VCalendar card's resize strip\",\n ),\n 'size-calendar-grip-thickness': dimension(\n '2px',\n \"The thickness of that grip, which is also its distance from the card's bottom edge\",\n ),\n 'size-calendar-year-month': dimension(\n '13rem',\n \"The narrowest a mini-month of VCalendar's year view gets before the year reflows\",\n ),\n /*\n * Keep enough cell height for monthEventLimit chips and the overflow line; clipped cells do\n * not scroll to reveal hidden rows.\n */\n 'size-calendar-month-cell': dimension(\n '8.5rem',\n \"The minimum height of a day in VCalendar's month view\",\n ),\n 'size-calendar-year-cell': dimension(\n '1.5rem',\n \"The side of a day square in the mini-months of VCalendar's year view\",\n ),\n },\n icon: {\n 'size-sm': dimension('1rem', 'The icon size of xs controls (16px)'),\n 'size-md': dimension('1.25rem', 'The icon size of sm and md controls (20px)'),\n 'size-lg': dimension('1.5rem', 'The icon size of lg and xl controls (24px)'),\n },\n} satisfies TokenGroup\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dark.js","names":[],"sources":["../../../src/tokens/themes/dark.ts"],"sourcesContent":["/** Dark mode repoints existing semantic roles while retaining the shared primitive palette. */\nimport { color, type TokenGroup } from '../types'\n\nexport const dark = {\n color: {\n surface: color('{color.gray.950}'),\n 'surface-muted': color('{color.gray.800}'),\n 'surface-raised': color('{color.gray.900}'),\n 'surface-overlay': color('{color.gray.900}'),\n 'surface-sunken': color('oklch(11% 0.006 260)'),\n 'surface-inverse': color('{color.gray.800}'),\n 'surface-skeleton': color('{color.gray.800}'),\n\n 'text-on-inverse': color('{color.gray.50}'),\n\n text: color('{color.gray.50}'),\n 'text-muted': color('{color.gray.300}'),\n 'text-subtle': color('{color.gray.400}'),\n 'text-on-accent': color('{color.white}'),\n\n border: color('{color.gray.800}'),\n 'border-strong': color('{color.gray.700}'),\n 'border-on-fill': color('oklch(100% 0 0 / 0.15)'),\n\n accent: color('{color.indigo.500}'),\n 'accent-hover': color('{color.indigo.400}'),\n 'accent-active': color('{color.indigo.300}'),\n 'accent-surface': color('{color.indigo.950}'),\n 'accent-border': color('{color.indigo.900}'),\n 'accent-text': color('{color.indigo.300}'),\n\n /*\n * Retain explicit red/green steps for white-text contrast. Their dark-theme hover steps\n * grow darker, unlike accent and warning.\n */\n danger: color('{color.red.600}'),\n 'danger-hover': color('{color.red.700}'),\n 'danger-active': color('{color.red.800}'),\n 'danger-surface': color('{color.red.950}'),\n 'danger-border': color('{color.red.900}'),\n 'danger-text': color('{color.red.300}'),\n\n success: color('{color.green.700}'),\n 'success-hover': color('{color.green.800}'),\n 'success-active': color('{color.green.900}'),\n 'success-surface': color('{color.green.950}'),\n 'success-border': color('{color.green.900}'),\n 'success-text': color('{color.green.300}'),\n\n warning: color('{color.amber.500}'),\n 'warning-hover': color('{color.amber.400}'),\n 'warning-active': color('{color.amber.300}'),\n 'warning-surface': color('{color.amber.950}'),\n 'warning-border': color('{color.amber.900}'),\n 'warning-text': color('{color.amber.300}'),\n\n backdrop: color('oklch(0% 0 0 / 0.6)'),\n\n /* Swap event surface and text lightness in dark mode; each card still supplies its own hue. */\n 'event-surface': color('oklch(0.3 0.05 265)'),\n 'event-border': color('oklch(0.42 0.08 265)'),\n 'event-text': color('oklch(0.9 0.06 265)'),\n },\n focus: {\n 'ring-color': color('{color.indigo.400}'),\n },\n} satisfies TokenGroup\n"],"mappings":";;AAGA,IAAa,IAAO;CAClB,OAAO;EACL,SAAS,EAAM,kBAAkB;EACjC,iBAAiB,EAAM,kBAAkB;EACzC,kBAAkB,EAAM,kBAAkB;EAC1C,mBAAmB,EAAM,kBAAkB;EAC3C,kBAAkB,EAAM,sBAAsB;EAC9C,mBAAmB,EAAM,kBAAkB;EAC3C,oBAAoB,EAAM,kBAAkB;EAE5C,mBAAmB,EAAM,iBAAiB;EAE1C,MAAM,EAAM,iBAAiB;EAC7B,cAAc,EAAM,kBAAkB;EACtC,eAAe,EAAM,kBAAkB;EACvC,kBAAkB,EAAM,eAAe;EAEvC,QAAQ,EAAM,kBAAkB;EAChC,iBAAiB,EAAM,kBAAkB;EACzC,kBAAkB,EAAM,wBAAwB;EAEhD,QAAQ,EAAM,oBAAoB;EAClC,gBAAgB,EAAM,oBAAoB;EAC1C,iBAAiB,EAAM,oBAAoB;EAC3C,kBAAkB,EAAM,oBAAoB;EAC5C,iBAAiB,EAAM,oBAAoB;EAC3C,eAAe,EAAM,oBAAoB;EAMzC,QAAQ,EAAM,iBAAiB;EAC/B,gBAAgB,EAAM,iBAAiB;EACvC,iBAAiB,EAAM,iBAAiB;EACxC,kBAAkB,EAAM,iBAAiB;EACzC,iBAAiB,EAAM,iBAAiB;EACxC,eAAe,EAAM,iBAAiB;EAEtC,SAAS,EAAM,mBAAmB;EAClC,iBAAiB,EAAM,mBAAmB;EAC1C,kBAAkB,EAAM,mBAAmB;EAC3C,mBAAmB,EAAM,mBAAmB;EAC5C,kBAAkB,EAAM,mBAAmB;EAC3C,gBAAgB,EAAM,mBAAmB;EAEzC,SAAS,EAAM,mBAAmB;EAClC,iBAAiB,EAAM,mBAAmB;EAC1C,kBAAkB,EAAM,mBAAmB;EAC3C,mBAAmB,EAAM,mBAAmB;EAC5C,kBAAkB,EAAM,mBAAmB;EAC3C,gBAAgB,EAAM,mBAAmB;EAEzC,UAAU,EAAM,qBAAqB;EAGrC,iBAAiB,EAAM,qBAAqB;EAC5C,gBAAgB,EAAM,sBAAsB;EAC5C,cAAc,EAAM,qBAAqB;CAC3C;CACA,OAAO,EACL,cAAc,EAAM,oBAAoB,EAC1C;AACF"}
1
+ {"version":3,"file":"dark.js","names":["dark","color"],"sources":["../../../src/tokens/themes/dark.ts"],"sourcesContent":["/** Dark mode repoints existing semantic roles while retaining the shared primitive palette. */\nimport { color, type TokenGroup } from '../types'\n\nexport const dark = {\n color: {\n surface: color('{color.gray.950}'),\n 'surface-muted': color('{color.gray.800}'),\n 'surface-raised': color('{color.gray.900}'),\n 'surface-overlay': color('{color.gray.900}'),\n 'surface-sunken': color('oklch(11% 0.006 260)'),\n 'surface-inverse': color('{color.gray.800}'),\n 'surface-skeleton': color('{color.gray.800}'),\n\n 'text-on-inverse': color('{color.gray.50}'),\n\n text: color('{color.gray.50}'),\n 'text-muted': color('{color.gray.300}'),\n 'text-subtle': color('{color.gray.400}'),\n 'text-on-accent': color('{color.white}'),\n\n border: color('{color.gray.800}'),\n 'border-strong': color('{color.gray.700}'),\n 'border-on-fill': color('oklch(100% 0 0 / 0.15)'),\n\n accent: color('{color.indigo.500}'),\n 'accent-hover': color('{color.indigo.400}'),\n 'accent-active': color('{color.indigo.300}'),\n 'accent-surface': color('{color.indigo.950}'),\n 'accent-border': color('{color.indigo.900}'),\n 'accent-text': color('{color.indigo.300}'),\n\n /*\n * Retain explicit red/green steps for white-text contrast. Their dark-theme hover steps\n * grow darker, unlike accent and warning.\n */\n danger: color('{color.red.600}'),\n 'danger-hover': color('{color.red.700}'),\n 'danger-active': color('{color.red.800}'),\n 'danger-surface': color('{color.red.950}'),\n 'danger-border': color('{color.red.900}'),\n 'danger-text': color('{color.red.300}'),\n\n success: color('{color.green.700}'),\n 'success-hover': color('{color.green.800}'),\n 'success-active': color('{color.green.900}'),\n 'success-surface': color('{color.green.950}'),\n 'success-border': color('{color.green.900}'),\n 'success-text': color('{color.green.300}'),\n\n warning: color('{color.amber.500}'),\n 'warning-hover': color('{color.amber.400}'),\n 'warning-active': color('{color.amber.300}'),\n 'warning-surface': color('{color.amber.950}'),\n 'warning-border': color('{color.amber.900}'),\n 'warning-text': color('{color.amber.300}'),\n\n backdrop: color('oklch(0% 0 0 / 0.6)'),\n\n /* Swap event surface and text lightness in dark mode; each card still supplies its own hue. */\n 'event-surface': color('oklch(0.3 0.05 265)'),\n 'event-border': color('oklch(0.42 0.08 265)'),\n 'event-text': color('oklch(0.9 0.06 265)'),\n },\n focus: {\n 'ring-color': color('{color.indigo.400}'),\n },\n} satisfies TokenGroup\n"],"mappings":";;AAGA,IAAaA,IAAO;CAClB,OAAO;EACL,SAASC,EAAM,kBAAkB;EACjC,iBAAiBA,EAAM,kBAAkB;EACzC,kBAAkBA,EAAM,kBAAkB;EAC1C,mBAAmBA,EAAM,kBAAkB;EAC3C,kBAAkBA,EAAM,sBAAsB;EAC9C,mBAAmBA,EAAM,kBAAkB;EAC3C,oBAAoBA,EAAM,kBAAkB;EAE5C,mBAAmBA,EAAM,iBAAiB;EAE1C,MAAMA,EAAM,iBAAiB;EAC7B,cAAcA,EAAM,kBAAkB;EACtC,eAAeA,EAAM,kBAAkB;EACvC,kBAAkBA,EAAM,eAAe;EAEvC,QAAQA,EAAM,kBAAkB;EAChC,iBAAiBA,EAAM,kBAAkB;EACzC,kBAAkBA,EAAM,wBAAwB;EAEhD,QAAQA,EAAM,oBAAoB;EAClC,gBAAgBA,EAAM,oBAAoB;EAC1C,iBAAiBA,EAAM,oBAAoB;EAC3C,kBAAkBA,EAAM,oBAAoB;EAC5C,iBAAiBA,EAAM,oBAAoB;EAC3C,eAAeA,EAAM,oBAAoB;EAMzC,QAAQA,EAAM,iBAAiB;EAC/B,gBAAgBA,EAAM,iBAAiB;EACvC,iBAAiBA,EAAM,iBAAiB;EACxC,kBAAkBA,EAAM,iBAAiB;EACzC,iBAAiBA,EAAM,iBAAiB;EACxC,eAAeA,EAAM,iBAAiB;EAEtC,SAASA,EAAM,mBAAmB;EAClC,iBAAiBA,EAAM,mBAAmB;EAC1C,kBAAkBA,EAAM,mBAAmB;EAC3C,mBAAmBA,EAAM,mBAAmB;EAC5C,kBAAkBA,EAAM,mBAAmB;EAC3C,gBAAgBA,EAAM,mBAAmB;EAEzC,SAASA,EAAM,mBAAmB;EAClC,iBAAiBA,EAAM,mBAAmB;EAC1C,kBAAkBA,EAAM,mBAAmB;EAC3C,mBAAmBA,EAAM,mBAAmB;EAC5C,kBAAkBA,EAAM,mBAAmB;EAC3C,gBAAgBA,EAAM,mBAAmB;EAEzC,UAAUA,EAAM,qBAAqB;EAGrC,iBAAiBA,EAAM,qBAAqB;EAC5C,gBAAgBA,EAAM,sBAAsB;EAC5C,cAAcA,EAAM,qBAAqB;CAC3C;CACA,OAAO,EACL,cAAcA,EAAM,oBAAoB,EAC1C;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../src/tokens/types.ts"],"sourcesContent":["/** Typed DTCG tokens: nested groups of $value, $type and optional $description. */\nexport type TokenType =\n | 'color'\n | 'dimension'\n | 'fontFamily'\n | 'fontWeight'\n | 'number'\n | 'duration'\n | 'cubicBezier'\n | 'shadow'\n\nexport interface DesignToken {\n $value: string\n $type: TokenType\n $description?: string\n}\n\nexport interface TokenGroup {\n [key: string]: DesignToken | TokenGroup\n}\n\n/** Tells a token apart from a group of them, which walking the tree rests on. */\nexport function isToken(node: DesignToken | TokenGroup): node is DesignToken {\n return typeof (node as DesignToken).$value === 'string'\n}\n\nconst make =\n ($type: TokenType) =>\n ($value: string, $description?: string): DesignToken =>\n $description === undefined ? { $type, $value } : { $type, $value, $description }\n\nexport const color = make('color')\nexport const dimension = make('dimension')\nexport const fontFamily = make('fontFamily')\nexport const fontWeight = make('fontWeight')\nexport const number = make('number')\nexport const duration = make('duration')\nexport const cubicBezier = make('cubicBezier')\nexport const shadow = make('shadow')\n"],"mappings":";AAsBA,SAAgB,EAAQ,GAAqD;CAC3E,OAAO,OAAQ,EAAqB,UAAW;AACjD;AAEA,IAAM,KACH,OACA,GAAgB,MACf,MAAiB,KAAA,IAAY;CAAE;CAAO;AAAO,IAAI;CAAE;CAAO;CAAQ;AAAa,GAEtE,IAAQ,EAAK,OAAO,GACpB,IAAY,EAAK,WAAW,GAC5B,IAAa,EAAK,YAAY,GAC9B,IAAa,EAAK,YAAY,GAE9B,IAAW,EAAK,UAAU,GAC1B,IAAc,EAAK,aAAa,GAChC,IAAS,EAAK,QAAQ"}
1
+ {"version":3,"file":"types.js","names":["isToken","node","make","$description","color","dimension","fontFamily","fontWeight","duration","cubicBezier","shadow"],"sources":["../../src/tokens/types.ts"],"sourcesContent":["/** Typed DTCG tokens: nested groups of $value, $type and optional $description. */\nexport type TokenType =\n | 'color'\n | 'dimension'\n | 'fontFamily'\n | 'fontWeight'\n | 'number'\n | 'duration'\n | 'cubicBezier'\n | 'shadow'\n\nexport interface DesignToken {\n $value: string\n $type: TokenType\n $description?: string\n}\n\nexport interface TokenGroup {\n [key: string]: DesignToken | TokenGroup\n}\n\n/** Tells a token apart from a group of them, which walking the tree rests on. */\nexport function isToken(node: DesignToken | TokenGroup): node is DesignToken {\n return typeof (node as DesignToken).$value === 'string'\n}\n\nconst make =\n ($type: TokenType) =>\n ($value: string, $description?: string): DesignToken =>\n $description === undefined ? { $type, $value } : { $type, $value, $description }\n\nexport const color = make('color')\nexport const dimension = make('dimension')\nexport const fontFamily = make('fontFamily')\nexport const fontWeight = make('fontWeight')\nexport const number = make('number')\nexport const duration = make('duration')\nexport const cubicBezier = make('cubicBezier')\nexport const shadow = make('shadow')\n"],"mappings":";AAsBA,SAAgBA,EAAQ,GAAqD;CAC3E,OAAO,OAAQC,EAAqB,UAAW;AACjD;AAEA,IAAMC,KACH,OACA,GAAgB,MACfC,MAAiB,KAAA,IAAY;CAAE;CAAO;AAAO,IAAI;CAAE;CAAO;CAAQ;AAAa,GAEtEC,IAAQF,EAAK,OAAO,GACpBG,IAAYH,EAAK,WAAW,GAC5BI,IAAaJ,EAAK,YAAY,GAC9BK,IAAaL,EAAK,YAAY,GAE9BM,IAAWN,EAAK,UAAU,GAC1BO,IAAcP,EAAK,aAAa,GAChCQ,IAASR,EAAK,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"array.js","names":[],"sources":["../../src/utils/array.ts"],"sourcesContent":["// @core\n/**\n * Toggle membership without mutating the input; returning a new reference propagates selection\n * changes through v-model.\n */\nexport function toggleValue<T>(list: readonly T[], value: T): T[] {\n return list.includes(value) ? list.filter((v) => v !== value) : [...list, value]\n}\n"],"mappings":";AAKA,SAAgB,EAAe,GAAoB,GAAe;CAChE,OAAO,EAAK,SAAS,CAAK,IAAI,EAAK,QAAQ,MAAM,MAAM,CAAK,IAAI,CAAC,GAAG,GAAM,CAAK;AACjF"}
1
+ {"version":3,"file":"array.js","names":["toggleValue","list","value","v"],"sources":["../../src/utils/array.ts"],"sourcesContent":["// @core\n/**\n * Toggle membership without mutating the input; returning a new reference propagates selection\n * changes through v-model.\n */\nexport function toggleValue<T>(list: readonly T[], value: T): T[] {\n return list.includes(value) ? list.filter((v) => v !== value) : [...list, value]\n}\n"],"mappings":";AAKA,SAAgBA,EAAe,GAAoB,GAAe;CAChE,OAAOC,EAAK,SAASC,CAAK,IAAID,EAAK,QAAQ,MAAME,MAAMD,CAAK,IAAI,CAAC,GAAGD,GAAMC,CAAK;AACjF"}
@@ -1 +1 @@
1
- {"version":3,"file":"arrowNav.js","names":[],"sources":["../../src/utils/arrowNav.ts"],"sourcesContent":["// @keyboard @a11y\n/** Arrow-key navigation over a row or column of controls, shared by every roving-focus group. */\nimport { isRtl } from './direction'\n\n/** The elements the arrows may land on, discovered from the DOM rather than a registry. */\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/** Moves focus for the arrows and Home/End, and reports whether it took the key. */\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":";;AAKA,SAAgB,EAAe,GAAwB,GAAiC;CACtF,OAAO,CAAC,GAAG,EAAU,iBAA8B,CAAQ,CAAC,CAAC,CAAC,QAC3D,MAAO,iBAAiB,CAAE,CAAC,CAAC,YAAY,MAC3C;AACF;AAGA,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"}
1
+ {"version":3,"file":"arrowNav.js","names":["navigableItems","container","selector","el","arrowNavigate","vertical","options","keys","event","list","items","forward","isRtl","current"],"sources":["../../src/utils/arrowNav.ts"],"sourcesContent":["// @keyboard @a11y\n/** Arrow-key navigation over a row or column of controls, shared by every roving-focus group. */\nimport { isRtl } from './direction'\n\n/** The elements the arrows may land on, discovered from the DOM rather than a registry. */\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/** Moves focus for the arrows and Home/End, and reports whether it took the key. */\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":";;AAKA,SAAgBA,EAAe,GAAwB,GAAiC;CACtF,OAAO,CAAC,GAAGC,EAAU,iBAA8BC,CAAQ,CAAC,CAAC,CAAC,QAC3D,MAAO,iBAAiBC,CAAE,CAAC,CAAC,YAAY,MAC3C;AACF;AAGA,SAAgBC,EACd,GACA,GACA,GACA,IAAkC,CAAC,GAC1B;CACT,IAAMC,IAAWC,EAAQ,YAAY,IAC/BC,IAAOF,IACT;EAAC;EAAa;EAAW;EAAQ;CAAK,IACtC;EAAC;EAAc;EAAa;EAAQ;CAAK;CAC7C,IAAIG,EAAM,UAAUA,EAAM,WAAWA,EAAM,WAAW,CAACD,EAAK,SAASC,EAAM,GAAG,GAAG,OAAO;CACxF,IAAMC,IAAOC,EAAM;CACnB,IAAID,EAAK,WAAW,GAAG,OAAO;CAC9B,EAAM,eAAe;CAIrB,IAAME,UACJN,IAAWG,EAAM,QAAQ,cAAeA,EAAM,QAAQ,iBAAkBI,EAAMX,CAAS,GACnFY,IAAUJ,EAAK,QAAQ,SAAS,aAA4B;CAUlE,OADAA,EAPED,EAAM,QAAQ,SACV,IACAA,EAAM,QAAQ,QACZC,EAAK,SAAS,IACdI,MAAY,KACV,KACCA,KAAWF,EAAQ,IAAI,IAAI,MAAMF,EAAK,UAAUA,EAAK,OACtD,EAAE,MAAM,GACX;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"attrs.js","names":[],"sources":["../../src/utils/attrs.ts"],"sourcesContent":["/**\n * Splits attributes between two elements: the listed keys go to `picked`, every other one to\n * `rest`. Each listed key is read even when absent, so a computed calling this re-runs when one\n * appears later: enumerating an empty attrs object tracks no reads.\n */\nexport function partitionAttrs(\n attrs: Record<string, unknown>,\n keys: readonly string[],\n): { picked: Record<string, unknown>; rest: Record<string, unknown> } {\n for (const key of keys) void attrs[key]\n const picked: Record<string, unknown> = {}\n const rest: Record<string, unknown> = {}\n for (const [key, value] of Object.entries(attrs)) {\n ;(keys.includes(key) ? picked : rest)[key] = value\n }\n return { picked, rest }\n}\n"],"mappings":";AAKA,SAAgB,EACd,GACA,GACoE;CACpE,KAAK,IAAM,KAAO,GAAM,EAAW;CACnC,IAAM,IAAkC,CAAC,GACnC,IAAgC,CAAC;CACvC,KAAK,IAAM,CAAC,GAAK,MAAU,OAAO,QAAQ,CAAK,GAC5C,CAAC,EAAK,SAAS,CAAG,IAAI,IAAS,EAAA,CAAM,KAAO;CAE/C,OAAO;EAAE;EAAQ;CAAK;AACxB"}
1
+ {"version":3,"file":"attrs.js","names":["partitionAttrs","key","keys","picked","rest","value","attrs"],"sources":["../../src/utils/attrs.ts"],"sourcesContent":["/**\n * Splits attributes between two elements: the listed keys go to `picked`, every other one to\n * `rest`. Each listed key is read even when absent, so a computed calling this re-runs when one\n * appears later: enumerating an empty attrs object tracks no reads.\n */\nexport function partitionAttrs(\n attrs: Record<string, unknown>,\n keys: readonly string[],\n): { picked: Record<string, unknown>; rest: Record<string, unknown> } {\n for (const key of keys) void attrs[key]\n const picked: Record<string, unknown> = {}\n const rest: Record<string, unknown> = {}\n for (const [key, value] of Object.entries(attrs)) {\n ;(keys.includes(key) ? picked : rest)[key] = value\n }\n return { picked, rest }\n}\n"],"mappings":";AAKA,SAAgBA,EACd,GACA,GACoE;CACpE,KAAK,IAAMC,KAAOC,GAAM,EAAWD;CACnC,IAAME,IAAkC,CAAC,GACnCC,IAAgC,CAAC;CACvC,KAAK,IAAM,CAACH,GAAKI,MAAU,OAAO,QAAQC,CAAK,GAC5C,CAACJ,EAAK,SAASD,CAAG,IAAIE,IAASC,EAAA,CAAMH,KAAOI;CAE/C,OAAO;EAAE;EAAQ;CAAK;AACxB"}
@@ -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 * Below 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 */\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":";AAkBA,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":["chipScaleFor","chipSize","size","chipCompact","compact","base"],"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 * Below 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 */\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":";AAkBA,SAAgBA,EAAa,GAAqB,GAA6B;CAC7E,IAAMC,IAAWC,MAAS,OAAO,OAAO,MAClCC,IAAcD,MAAS,OAAOE,IAAUF,MAAS,MACjDG,IAAO,+BAA+BJ,EAAS;CACrD,OAAO;EACL,MAAMA;EACN,SAASE;EACT,QAAQA,IAAc,QAAQE,EAAK,6BAA6BA;CAClE;AACF"}
@@ -70,7 +70,9 @@ function y(e, t = !1) {
70
70
  }
71
71
  function b(e, n) {
72
72
  let r = i(e);
73
- return r ? v(t(n === "12h" ? a(r.hour).hour : r.hour) + t(r.minute)) : "";
73
+ if (!r) return "";
74
+ let o = n === "12h" ? a(r.hour).hour : r.hour;
75
+ return v(t(o) + t(r.minute));
74
76
  }
75
77
  function x(t, r, i = "AM") {
76
78
  let a = e(t);