@nuxt/ui 4.8.2 → 4.10.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 (588) hide show
  1. package/dist/module.d.mts +7 -0
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +7 -2
  4. package/dist/runtime/components/Accordion.d.vue.ts +2 -2
  5. package/dist/runtime/components/Accordion.vue +1 -1
  6. package/dist/runtime/components/Accordion.vue.d.ts +2 -2
  7. package/dist/runtime/components/Alert.d.vue.ts +4 -1
  8. package/dist/runtime/components/Alert.vue +1 -1
  9. package/dist/runtime/components/Alert.vue.d.ts +4 -1
  10. package/dist/runtime/components/App.d.vue.ts +3 -3
  11. package/dist/runtime/components/App.vue.d.ts +3 -3
  12. package/dist/runtime/components/AuthForm.d.vue.ts +11 -2
  13. package/dist/runtime/components/AuthForm.vue +22 -13
  14. package/dist/runtime/components/AuthForm.vue.d.ts +11 -2
  15. package/dist/runtime/components/Avatar.d.vue.ts +2 -1
  16. package/dist/runtime/components/Avatar.vue +4 -4
  17. package/dist/runtime/components/Avatar.vue.d.ts +2 -1
  18. package/dist/runtime/components/AvatarGroup.vue +1 -1
  19. package/dist/runtime/components/Badge.vue +1 -1
  20. package/dist/runtime/components/Banner.d.vue.ts +3 -1
  21. package/dist/runtime/components/Banner.vue +4 -4
  22. package/dist/runtime/components/Banner.vue.d.ts +3 -1
  23. package/dist/runtime/components/BlogPost.d.vue.ts +5 -3
  24. package/dist/runtime/components/BlogPost.vue +18 -13
  25. package/dist/runtime/components/BlogPost.vue.d.ts +5 -3
  26. package/dist/runtime/components/BlogPosts.d.vue.ts +2 -2
  27. package/dist/runtime/components/BlogPosts.vue +1 -1
  28. package/dist/runtime/components/BlogPosts.vue.d.ts +2 -2
  29. package/dist/runtime/components/Breadcrumb.d.vue.ts +4 -2
  30. package/dist/runtime/components/Breadcrumb.vue +1 -1
  31. package/dist/runtime/components/Breadcrumb.vue.d.ts +4 -2
  32. package/dist/runtime/components/Button.d.vue.ts +2 -2
  33. package/dist/runtime/components/Button.vue +2 -2
  34. package/dist/runtime/components/Button.vue.d.ts +2 -2
  35. package/dist/runtime/components/Calendar.d.vue.ts +44 -6
  36. package/dist/runtime/components/Calendar.vue +180 -62
  37. package/dist/runtime/components/Calendar.vue.d.ts +44 -6
  38. package/dist/runtime/components/Card.vue +1 -1
  39. package/dist/runtime/components/Carousel.d.vue.ts +4 -2
  40. package/dist/runtime/components/Carousel.vue +2 -5
  41. package/dist/runtime/components/Carousel.vue.d.ts +4 -2
  42. package/dist/runtime/components/ChangelogVersion.d.vue.ts +4 -2
  43. package/dist/runtime/components/ChangelogVersion.vue +4 -4
  44. package/dist/runtime/components/ChangelogVersion.vue.d.ts +4 -2
  45. package/dist/runtime/components/ChangelogVersions.d.vue.ts +2 -2
  46. package/dist/runtime/components/ChangelogVersions.vue +1 -1
  47. package/dist/runtime/components/ChangelogVersions.vue.d.ts +2 -2
  48. package/dist/runtime/components/ChatMessage.d.vue.ts +4 -2
  49. package/dist/runtime/components/ChatMessage.vue +1 -1
  50. package/dist/runtime/components/ChatMessage.vue.d.ts +4 -2
  51. package/dist/runtime/components/ChatMessages.d.vue.ts +12 -5
  52. package/dist/runtime/components/ChatMessages.vue +8 -5
  53. package/dist/runtime/components/ChatMessages.vue.d.ts +12 -5
  54. package/dist/runtime/components/ChatPalette.vue +1 -1
  55. package/dist/runtime/components/ChatPrompt.d.vue.ts +15 -1
  56. package/dist/runtime/components/ChatPrompt.vue +38 -21
  57. package/dist/runtime/components/ChatPrompt.vue.d.ts +15 -1
  58. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +8 -6
  59. package/dist/runtime/components/ChatPromptSubmit.vue +3 -3
  60. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +8 -6
  61. package/dist/runtime/components/ChatReasoning.d.vue.ts +2 -2
  62. package/dist/runtime/components/ChatReasoning.vue +1 -1
  63. package/dist/runtime/components/ChatReasoning.vue.d.ts +2 -2
  64. package/dist/runtime/components/ChatShimmer.vue +1 -1
  65. package/dist/runtime/components/ChatTool.d.vue.ts +9 -2
  66. package/dist/runtime/components/ChatTool.vue +20 -2
  67. package/dist/runtime/components/ChatTool.vue.d.ts +9 -2
  68. package/dist/runtime/components/Checkbox.d.vue.ts +2 -2
  69. package/dist/runtime/components/Checkbox.vue +2 -2
  70. package/dist/runtime/components/Checkbox.vue.d.ts +2 -2
  71. package/dist/runtime/components/CheckboxGroup.d.vue.ts +2 -2
  72. package/dist/runtime/components/CheckboxGroup.vue.d.ts +2 -2
  73. package/dist/runtime/components/Chip.vue +3 -3
  74. package/dist/runtime/components/Collapsible.vue +1 -1
  75. package/dist/runtime/components/ColorPicker.vue +1 -1
  76. package/dist/runtime/components/CommandPalette.d.vue.ts +15 -9
  77. package/dist/runtime/components/CommandPalette.vue +12 -6
  78. package/dist/runtime/components/CommandPalette.vue.d.ts +15 -9
  79. package/dist/runtime/components/Container.vue +1 -1
  80. package/dist/runtime/components/ContextMenu.d.vue.ts +5 -2
  81. package/dist/runtime/components/ContextMenu.vue +1 -1
  82. package/dist/runtime/components/ContextMenu.vue.d.ts +5 -2
  83. package/dist/runtime/components/ContextMenuContent.d.vue.ts +3 -2
  84. package/dist/runtime/components/ContextMenuContent.vue +1 -0
  85. package/dist/runtime/components/ContextMenuContent.vue.d.ts +3 -2
  86. package/dist/runtime/components/DashboardGroup.d.vue.ts +1 -1
  87. package/dist/runtime/components/DashboardGroup.vue +1 -1
  88. package/dist/runtime/components/DashboardGroup.vue.d.ts +1 -1
  89. package/dist/runtime/components/DashboardNavbar.d.vue.ts +3 -1
  90. package/dist/runtime/components/DashboardNavbar.vue +2 -2
  91. package/dist/runtime/components/DashboardNavbar.vue.d.ts +3 -1
  92. package/dist/runtime/components/DashboardPanel.vue +2 -2
  93. package/dist/runtime/components/DashboardResizeHandle.vue +1 -1
  94. package/dist/runtime/components/DashboardSearch.d.vue.ts +14 -4
  95. package/dist/runtime/components/DashboardSearch.vue +12 -4
  96. package/dist/runtime/components/DashboardSearch.vue.d.ts +14 -4
  97. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +9 -5
  98. package/dist/runtime/components/DashboardSearchButton.vue +3 -3
  99. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +9 -5
  100. package/dist/runtime/components/DashboardSidebar.d.vue.ts +6 -2
  101. package/dist/runtime/components/DashboardSidebar.vue +2 -2
  102. package/dist/runtime/components/DashboardSidebar.vue.d.ts +6 -2
  103. package/dist/runtime/components/DashboardSidebarCollapse.d.vue.ts +3 -2
  104. package/dist/runtime/components/DashboardSidebarCollapse.vue +1 -1
  105. package/dist/runtime/components/DashboardSidebarCollapse.vue.d.ts +3 -2
  106. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +3 -2
  107. package/dist/runtime/components/DashboardSidebarToggle.vue +1 -1
  108. package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +3 -2
  109. package/dist/runtime/components/DashboardToolbar.vue +1 -1
  110. package/dist/runtime/components/Drawer.d.vue.ts +23 -4
  111. package/dist/runtime/components/Drawer.vue +39 -13
  112. package/dist/runtime/components/Drawer.vue.d.ts +23 -4
  113. package/dist/runtime/components/DropdownMenu.d.vue.ts +6 -2
  114. package/dist/runtime/components/DropdownMenu.vue +1 -1
  115. package/dist/runtime/components/DropdownMenu.vue.d.ts +6 -2
  116. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +6 -4
  117. package/dist/runtime/components/DropdownMenuContent.vue +1 -0
  118. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +6 -4
  119. package/dist/runtime/components/Editor.d.vue.ts +3 -2
  120. package/dist/runtime/components/Editor.vue +40 -17
  121. package/dist/runtime/components/Editor.vue.d.ts +3 -2
  122. package/dist/runtime/components/EditorDragHandle.d.vue.ts +5 -3
  123. package/dist/runtime/components/EditorDragHandle.vue +2 -2
  124. package/dist/runtime/components/EditorDragHandle.vue.d.ts +5 -3
  125. package/dist/runtime/components/EditorEmojiMenu.d.vue.ts +1 -1
  126. package/dist/runtime/components/EditorEmojiMenu.vue +1 -1
  127. package/dist/runtime/components/EditorEmojiMenu.vue.d.ts +1 -1
  128. package/dist/runtime/components/EditorMentionMenu.d.vue.ts +3 -2
  129. package/dist/runtime/components/EditorMentionMenu.vue +1 -1
  130. package/dist/runtime/components/EditorMentionMenu.vue.d.ts +3 -2
  131. package/dist/runtime/components/EditorSuggestionMenu.d.vue.ts +2 -2
  132. package/dist/runtime/components/EditorSuggestionMenu.vue +1 -1
  133. package/dist/runtime/components/EditorSuggestionMenu.vue.d.ts +2 -2
  134. package/dist/runtime/components/EditorToolbar.d.vue.ts +5 -2
  135. package/dist/runtime/components/EditorToolbar.vue +1 -1
  136. package/dist/runtime/components/EditorToolbar.vue.d.ts +5 -2
  137. package/dist/runtime/components/Empty.d.vue.ts +11 -1
  138. package/dist/runtime/components/Empty.vue +9 -5
  139. package/dist/runtime/components/Empty.vue.d.ts +11 -1
  140. package/dist/runtime/components/Error.d.vue.ts +2 -1
  141. package/dist/runtime/components/Error.vue +1 -1
  142. package/dist/runtime/components/Error.vue.d.ts +2 -1
  143. package/dist/runtime/components/FieldGroup.vue +1 -1
  144. package/dist/runtime/components/FileUpload.d.vue.ts +9 -4
  145. package/dist/runtime/components/FileUpload.vue +12 -9
  146. package/dist/runtime/components/FileUpload.vue.d.ts +9 -4
  147. package/dist/runtime/components/Footer.vue +1 -1
  148. package/dist/runtime/components/FooterColumns.d.vue.ts +3 -2
  149. package/dist/runtime/components/FooterColumns.vue +1 -1
  150. package/dist/runtime/components/FooterColumns.vue.d.ts +3 -2
  151. package/dist/runtime/components/Form.d.vue.ts +2 -2
  152. package/dist/runtime/components/Form.vue +1 -1
  153. package/dist/runtime/components/Form.vue.d.ts +2 -2
  154. package/dist/runtime/components/FormField.vue +1 -1
  155. package/dist/runtime/components/Header.d.vue.ts +6 -2
  156. package/dist/runtime/components/Header.vue +2 -2
  157. package/dist/runtime/components/Header.vue.d.ts +6 -2
  158. package/dist/runtime/components/Input.d.vue.ts +1 -1
  159. package/dist/runtime/components/Input.vue +3 -3
  160. package/dist/runtime/components/Input.vue.d.ts +1 -1
  161. package/dist/runtime/components/InputDate.d.vue.ts +2 -2
  162. package/dist/runtime/components/InputDate.vue +4 -3
  163. package/dist/runtime/components/InputDate.vue.d.ts +2 -2
  164. package/dist/runtime/components/InputMenu.d.vue.ts +49 -45
  165. package/dist/runtime/components/InputMenu.vue +8 -5
  166. package/dist/runtime/components/InputMenu.vue.d.ts +49 -45
  167. package/dist/runtime/components/InputNumber.d.vue.ts +4 -2
  168. package/dist/runtime/components/InputNumber.vue +2 -2
  169. package/dist/runtime/components/InputNumber.vue.d.ts +4 -2
  170. package/dist/runtime/components/InputRating.d.vue.ts +79 -0
  171. package/dist/runtime/components/InputRating.vue +109 -0
  172. package/dist/runtime/components/InputRating.vue.d.ts +79 -0
  173. package/dist/runtime/components/InputTags.d.vue.ts +2 -2
  174. package/dist/runtime/components/InputTags.vue +2 -2
  175. package/dist/runtime/components/InputTags.vue.d.ts +2 -2
  176. package/dist/runtime/components/InputTime.d.vue.ts +2 -2
  177. package/dist/runtime/components/InputTime.vue +3 -3
  178. package/dist/runtime/components/InputTime.vue.d.ts +2 -2
  179. package/dist/runtime/components/Kbd.vue +1 -1
  180. package/dist/runtime/components/Link.d.vue.ts +3 -2
  181. package/dist/runtime/components/Link.vue +19 -11
  182. package/dist/runtime/components/Link.vue.d.ts +3 -2
  183. package/dist/runtime/components/LinkBase.d.vue.ts +3 -3
  184. package/dist/runtime/components/LinkBase.vue.d.ts +3 -3
  185. package/dist/runtime/components/Listbox.d.vue.ts +16 -13
  186. package/dist/runtime/components/Listbox.vue +2 -2
  187. package/dist/runtime/components/Listbox.vue.d.ts +16 -13
  188. package/dist/runtime/components/Main.vue +1 -1
  189. package/dist/runtime/components/Marquee.vue +1 -1
  190. package/dist/runtime/components/Modal.d.vue.ts +12 -4
  191. package/dist/runtime/components/Modal.vue +8 -5
  192. package/dist/runtime/components/Modal.vue.d.ts +12 -4
  193. package/dist/runtime/components/NavigationMenu.d.vue.ts +8 -2
  194. package/dist/runtime/components/NavigationMenu.vue +2 -2
  195. package/dist/runtime/components/NavigationMenu.vue.d.ts +8 -2
  196. package/dist/runtime/components/Page.vue +1 -1
  197. package/dist/runtime/components/PageAnchors.d.vue.ts +3 -2
  198. package/dist/runtime/components/PageAnchors.vue +1 -1
  199. package/dist/runtime/components/PageAnchors.vue.d.ts +3 -2
  200. package/dist/runtime/components/PageAside.vue +1 -1
  201. package/dist/runtime/components/PageBody.vue +1 -1
  202. package/dist/runtime/components/PageCTA.d.vue.ts +1 -1
  203. package/dist/runtime/components/PageCTA.vue +1 -1
  204. package/dist/runtime/components/PageCTA.vue.d.ts +1 -1
  205. package/dist/runtime/components/PageCard.d.vue.ts +3 -2
  206. package/dist/runtime/components/PageCard.vue +4 -3
  207. package/dist/runtime/components/PageCard.vue.d.ts +3 -2
  208. package/dist/runtime/components/PageColumns.vue +1 -1
  209. package/dist/runtime/components/PageFeature.d.vue.ts +3 -2
  210. package/dist/runtime/components/PageFeature.vue +10 -3
  211. package/dist/runtime/components/PageFeature.vue.d.ts +3 -2
  212. package/dist/runtime/components/PageGrid.vue +1 -1
  213. package/dist/runtime/components/PageHeader.d.vue.ts +1 -1
  214. package/dist/runtime/components/PageHeader.vue +1 -1
  215. package/dist/runtime/components/PageHeader.vue.d.ts +1 -1
  216. package/dist/runtime/components/PageHero.d.vue.ts +1 -1
  217. package/dist/runtime/components/PageHero.vue +1 -1
  218. package/dist/runtime/components/PageHero.vue.d.ts +1 -1
  219. package/dist/runtime/components/PageLinks.d.vue.ts +3 -2
  220. package/dist/runtime/components/PageLinks.vue +1 -1
  221. package/dist/runtime/components/PageLinks.vue.d.ts +3 -2
  222. package/dist/runtime/components/PageList.vue +1 -1
  223. package/dist/runtime/components/PageLogos.d.vue.ts +1 -1
  224. package/dist/runtime/components/PageLogos.vue +2 -2
  225. package/dist/runtime/components/PageLogos.vue.d.ts +1 -1
  226. package/dist/runtime/components/PageSection.d.vue.ts +4 -2
  227. package/dist/runtime/components/PageSection.vue +1 -1
  228. package/dist/runtime/components/PageSection.vue.d.ts +4 -2
  229. package/dist/runtime/components/Pagination.d.vue.ts +4 -3
  230. package/dist/runtime/components/Pagination.vue +1 -1
  231. package/dist/runtime/components/Pagination.vue.d.ts +4 -3
  232. package/dist/runtime/components/PinInput.d.vue.ts +15 -3
  233. package/dist/runtime/components/PinInput.vue +37 -12
  234. package/dist/runtime/components/PinInput.vue.d.ts +15 -3
  235. package/dist/runtime/components/Popover.d.vue.ts +6 -4
  236. package/dist/runtime/components/Popover.vue +6 -5
  237. package/dist/runtime/components/Popover.vue.d.ts +6 -4
  238. package/dist/runtime/components/PricingPlan.d.vue.ts +3 -1
  239. package/dist/runtime/components/PricingPlan.vue +2 -2
  240. package/dist/runtime/components/PricingPlan.vue.d.ts +3 -1
  241. package/dist/runtime/components/PricingPlans.d.vue.ts +2 -2
  242. package/dist/runtime/components/PricingPlans.vue +1 -1
  243. package/dist/runtime/components/PricingPlans.vue.d.ts +2 -2
  244. package/dist/runtime/components/PricingTable.d.vue.ts +2 -2
  245. package/dist/runtime/components/PricingTable.vue +2 -2
  246. package/dist/runtime/components/PricingTable.vue.d.ts +2 -2
  247. package/dist/runtime/components/Progress.vue +1 -1
  248. package/dist/runtime/components/RadioGroup.d.vue.ts +1 -1
  249. package/dist/runtime/components/RadioGroup.vue +1 -1
  250. package/dist/runtime/components/RadioGroup.vue.d.ts +1 -1
  251. package/dist/runtime/components/ScrollArea.d.vue.ts +16 -2
  252. package/dist/runtime/components/ScrollArea.vue +35 -19
  253. package/dist/runtime/components/ScrollArea.vue.d.ts +16 -2
  254. package/dist/runtime/components/Select.d.vue.ts +4 -2
  255. package/dist/runtime/components/Select.vue +11 -3
  256. package/dist/runtime/components/Select.vue.d.ts +4 -2
  257. package/dist/runtime/components/SelectMenu.d.vue.ts +50 -45
  258. package/dist/runtime/components/SelectMenu.vue +13 -6
  259. package/dist/runtime/components/SelectMenu.vue.d.ts +50 -45
  260. package/dist/runtime/components/Separator.d.vue.ts +3 -2
  261. package/dist/runtime/components/Separator.vue +3 -2
  262. package/dist/runtime/components/Separator.vue.d.ts +3 -2
  263. package/dist/runtime/components/Sidebar.d.vue.ts +12 -2
  264. package/dist/runtime/components/Sidebar.vue +6 -4
  265. package/dist/runtime/components/Sidebar.vue.d.ts +12 -2
  266. package/dist/runtime/components/Skeleton.vue +1 -1
  267. package/dist/runtime/components/Slideover.d.vue.ts +13 -5
  268. package/dist/runtime/components/Slideover.vue +8 -5
  269. package/dist/runtime/components/Slideover.vue.d.ts +13 -5
  270. package/dist/runtime/components/Slider.d.vue.ts +2 -2
  271. package/dist/runtime/components/Slider.vue +1 -1
  272. package/dist/runtime/components/Slider.vue.d.ts +2 -2
  273. package/dist/runtime/components/Stepper.d.vue.ts +2 -2
  274. package/dist/runtime/components/Stepper.vue +1 -1
  275. package/dist/runtime/components/Stepper.vue.d.ts +2 -2
  276. package/dist/runtime/components/Switch.d.vue.ts +2 -2
  277. package/dist/runtime/components/Switch.vue +2 -2
  278. package/dist/runtime/components/Switch.vue.d.ts +2 -2
  279. package/dist/runtime/components/Table.d.vue.ts +8 -2
  280. package/dist/runtime/components/Table.vue +13 -6
  281. package/dist/runtime/components/Table.vue.d.ts +8 -2
  282. package/dist/runtime/components/Tabs.d.vue.ts +4 -2
  283. package/dist/runtime/components/Tabs.vue +1 -1
  284. package/dist/runtime/components/Tabs.vue.d.ts +4 -2
  285. package/dist/runtime/components/Textarea.d.vue.ts +1 -1
  286. package/dist/runtime/components/Textarea.vue +3 -3
  287. package/dist/runtime/components/Textarea.vue.d.ts +1 -1
  288. package/dist/runtime/components/Theme.d.vue.ts +1 -1
  289. package/dist/runtime/components/Theme.vue.d.ts +1 -1
  290. package/dist/runtime/components/Timeline.d.vue.ts +3 -2
  291. package/dist/runtime/components/Timeline.vue +1 -1
  292. package/dist/runtime/components/Timeline.vue.d.ts +3 -2
  293. package/dist/runtime/components/Toast.d.vue.ts +7 -3
  294. package/dist/runtime/components/Toast.vue +1 -1
  295. package/dist/runtime/components/Toast.vue.d.ts +7 -3
  296. package/dist/runtime/components/Toaster.d.vue.ts +1 -1
  297. package/dist/runtime/components/Toaster.vue +1 -1
  298. package/dist/runtime/components/Toaster.vue.d.ts +1 -1
  299. package/dist/runtime/components/Tooltip.d.vue.ts +1 -1
  300. package/dist/runtime/components/Tooltip.vue +1 -1
  301. package/dist/runtime/components/Tooltip.vue.d.ts +1 -1
  302. package/dist/runtime/components/Tree.d.vue.ts +2 -2
  303. package/dist/runtime/components/Tree.vue +2 -2
  304. package/dist/runtime/components/Tree.vue.d.ts +2 -2
  305. package/dist/runtime/components/User.d.vue.ts +4 -2
  306. package/dist/runtime/components/User.vue +10 -3
  307. package/dist/runtime/components/User.vue.d.ts +4 -2
  308. package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +1 -1
  309. package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +1 -1
  310. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +3 -2
  311. package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +3 -2
  312. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +1 -1
  313. package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +1 -1
  314. package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  315. package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  316. package/dist/runtime/components/content/ContentNavigation.d.vue.ts +4 -2
  317. package/dist/runtime/components/content/ContentNavigation.vue +3 -3
  318. package/dist/runtime/components/content/ContentNavigation.vue.d.ts +4 -2
  319. package/dist/runtime/components/content/ContentSearch.d.vue.ts +14 -3
  320. package/dist/runtime/components/content/ContentSearch.vue +12 -4
  321. package/dist/runtime/components/content/ContentSearch.vue.d.ts +14 -3
  322. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +9 -5
  323. package/dist/runtime/components/content/ContentSearchButton.vue +3 -3
  324. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +9 -5
  325. package/dist/runtime/components/content/ContentSurround.d.vue.ts +2 -2
  326. package/dist/runtime/components/content/ContentSurround.vue +2 -2
  327. package/dist/runtime/components/content/ContentSurround.vue.d.ts +2 -2
  328. package/dist/runtime/components/content/ContentToc.d.vue.ts +2 -2
  329. package/dist/runtime/components/content/ContentToc.vue +33 -7
  330. package/dist/runtime/components/content/ContentToc.vue.d.ts +2 -2
  331. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +1 -1
  332. package/dist/runtime/components/locale/LocaleSelect.vue +8 -0
  333. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +1 -1
  334. package/dist/runtime/components/prose/A.vue +1 -1
  335. package/dist/runtime/components/prose/Accordion.d.vue.ts +1 -1
  336. package/dist/runtime/components/prose/Accordion.vue +1 -1
  337. package/dist/runtime/components/prose/Accordion.vue.d.ts +1 -1
  338. package/dist/runtime/components/prose/AccordionItem.vue +1 -1
  339. package/dist/runtime/components/prose/Badge.vue +1 -1
  340. package/dist/runtime/components/prose/Blockquote.vue +1 -1
  341. package/dist/runtime/components/prose/Callout.d.vue.ts +2 -1
  342. package/dist/runtime/components/prose/Callout.vue +2 -2
  343. package/dist/runtime/components/prose/Callout.vue.d.ts +2 -1
  344. package/dist/runtime/components/prose/Card.d.vue.ts +2 -1
  345. package/dist/runtime/components/prose/Card.vue +2 -2
  346. package/dist/runtime/components/prose/Card.vue.d.ts +2 -1
  347. package/dist/runtime/components/prose/CardGroup.vue +1 -1
  348. package/dist/runtime/components/prose/Code.vue +1 -1
  349. package/dist/runtime/components/prose/CodeCollapse.d.vue.ts +1 -1
  350. package/dist/runtime/components/prose/CodeCollapse.vue +1 -1
  351. package/dist/runtime/components/prose/CodeCollapse.vue.d.ts +1 -1
  352. package/dist/runtime/components/prose/CodeGroup.vue +1 -1
  353. package/dist/runtime/components/prose/CodeIcon.d.vue.ts +1 -1
  354. package/dist/runtime/components/prose/CodeIcon.vue.d.ts +1 -1
  355. package/dist/runtime/components/prose/CodePreview.vue +1 -1
  356. package/dist/runtime/components/prose/CodeTree.vue +1 -1
  357. package/dist/runtime/components/prose/Collapsible.d.vue.ts +2 -1
  358. package/dist/runtime/components/prose/Collapsible.vue +1 -1
  359. package/dist/runtime/components/prose/Collapsible.vue.d.ts +2 -1
  360. package/dist/runtime/components/prose/Em.vue +1 -1
  361. package/dist/runtime/components/prose/Field.vue +1 -1
  362. package/dist/runtime/components/prose/FieldGroup.vue +1 -1
  363. package/dist/runtime/components/prose/H1.d.vue.ts +5 -0
  364. package/dist/runtime/components/prose/H1.vue +3 -2
  365. package/dist/runtime/components/prose/H1.vue.d.ts +5 -0
  366. package/dist/runtime/components/prose/H2.d.vue.ts +6 -0
  367. package/dist/runtime/components/prose/H2.vue +3 -2
  368. package/dist/runtime/components/prose/H2.vue.d.ts +6 -0
  369. package/dist/runtime/components/prose/H3.d.vue.ts +6 -0
  370. package/dist/runtime/components/prose/H3.vue +3 -2
  371. package/dist/runtime/components/prose/H3.vue.d.ts +6 -0
  372. package/dist/runtime/components/prose/H4.d.vue.ts +6 -0
  373. package/dist/runtime/components/prose/H4.vue +3 -2
  374. package/dist/runtime/components/prose/H4.vue.d.ts +6 -0
  375. package/dist/runtime/components/prose/Hr.vue +1 -1
  376. package/dist/runtime/components/prose/Icon.vue +1 -1
  377. package/dist/runtime/components/prose/Img.vue +1 -1
  378. package/dist/runtime/components/prose/Kbd.d.vue.ts +2 -1
  379. package/dist/runtime/components/prose/Kbd.vue +1 -1
  380. package/dist/runtime/components/prose/Kbd.vue.d.ts +2 -1
  381. package/dist/runtime/components/prose/Li.vue +1 -1
  382. package/dist/runtime/components/prose/Ol.vue +1 -1
  383. package/dist/runtime/components/prose/P.vue +1 -1
  384. package/dist/runtime/components/prose/Pre.d.vue.ts +12 -2
  385. package/dist/runtime/components/prose/Pre.vue +6 -4
  386. package/dist/runtime/components/prose/Pre.vue.d.ts +12 -2
  387. package/dist/runtime/components/prose/Prompt.d.vue.ts +4 -3
  388. package/dist/runtime/components/prose/Prompt.vue +21 -11
  389. package/dist/runtime/components/prose/Prompt.vue.d.ts +4 -3
  390. package/dist/runtime/components/prose/Steps.vue +1 -1
  391. package/dist/runtime/components/prose/Strong.vue +1 -1
  392. package/dist/runtime/components/prose/Table.vue +1 -1
  393. package/dist/runtime/components/prose/Tabs.d.vue.ts +1 -1
  394. package/dist/runtime/components/prose/Tabs.vue +1 -1
  395. package/dist/runtime/components/prose/Tabs.vue.d.ts +1 -1
  396. package/dist/runtime/components/prose/TabsItem.vue +1 -1
  397. package/dist/runtime/components/prose/Tbody.vue +1 -1
  398. package/dist/runtime/components/prose/Td.vue +1 -1
  399. package/dist/runtime/components/prose/Th.vue +1 -1
  400. package/dist/runtime/components/prose/Thead.vue +1 -1
  401. package/dist/runtime/components/prose/Tr.vue +1 -1
  402. package/dist/runtime/components/prose/Ul.vue +1 -1
  403. package/dist/runtime/composables/defineShortcuts.js +42 -5
  404. package/dist/runtime/composables/index.d.ts +1 -0
  405. package/dist/runtime/composables/index.js +1 -0
  406. package/dist/runtime/composables/useAvatarGroup.d.ts +3 -3
  407. package/dist/runtime/composables/useComponentIcons.d.ts +2 -1
  408. package/dist/runtime/composables/useComponentProps.d.ts +3 -157
  409. package/dist/runtime/composables/useComponentProps.js +4 -2
  410. package/dist/runtime/composables/useEditorMenu.d.ts +2 -1
  411. package/dist/runtime/composables/useEditorMenu.js +8 -2
  412. package/dist/runtime/composables/useFieldGroup.d.ts +1 -1
  413. package/dist/runtime/composables/useFileUpload.js +3 -4
  414. package/dist/runtime/composables/useFormField.d.ts +2 -2
  415. package/dist/runtime/composables/useResizable.js +24 -43
  416. package/dist/runtime/composables/useScrollspy.js +20 -12
  417. package/dist/runtime/composables/useToast.d.ts +1 -1
  418. package/dist/runtime/composables/useToast.js +22 -7
  419. package/dist/runtime/composables/useTour.d.ts +80 -0
  420. package/dist/runtime/composables/useTour.js +102 -0
  421. package/dist/runtime/index.css +1 -1
  422. package/dist/runtime/keyframes.css +1 -1
  423. package/dist/runtime/locale/ar.d.ts +1 -1
  424. package/dist/runtime/locale/ar.js +3 -0
  425. package/dist/runtime/locale/az.d.ts +1 -1
  426. package/dist/runtime/locale/az.js +3 -0
  427. package/dist/runtime/locale/be.d.ts +1 -1
  428. package/dist/runtime/locale/be.js +3 -0
  429. package/dist/runtime/locale/bg.d.ts +1 -1
  430. package/dist/runtime/locale/bg.js +3 -0
  431. package/dist/runtime/locale/bn.d.ts +1 -1
  432. package/dist/runtime/locale/bn.js +3 -0
  433. package/dist/runtime/locale/ca.d.ts +1 -1
  434. package/dist/runtime/locale/ca.js +3 -0
  435. package/dist/runtime/locale/ckb.d.ts +1 -1
  436. package/dist/runtime/locale/ckb.js +3 -0
  437. package/dist/runtime/locale/cs.d.ts +1 -1
  438. package/dist/runtime/locale/cs.js +3 -0
  439. package/dist/runtime/locale/da.d.ts +1 -1
  440. package/dist/runtime/locale/da.js +3 -0
  441. package/dist/runtime/locale/de.d.ts +1 -1
  442. package/dist/runtime/locale/de.js +3 -0
  443. package/dist/runtime/locale/de_ch.d.ts +1 -1
  444. package/dist/runtime/locale/de_ch.js +3 -0
  445. package/dist/runtime/locale/el.d.ts +1 -1
  446. package/dist/runtime/locale/el.js +3 -0
  447. package/dist/runtime/locale/en.d.ts +1 -1
  448. package/dist/runtime/locale/en.js +3 -0
  449. package/dist/runtime/locale/en_gb.d.ts +1 -1
  450. package/dist/runtime/locale/es.d.ts +1 -1
  451. package/dist/runtime/locale/es.js +3 -0
  452. package/dist/runtime/locale/et.d.ts +1 -1
  453. package/dist/runtime/locale/et.js +3 -0
  454. package/dist/runtime/locale/eu.d.ts +1 -1
  455. package/dist/runtime/locale/eu.js +3 -0
  456. package/dist/runtime/locale/fa_ir.d.ts +1 -1
  457. package/dist/runtime/locale/fa_ir.js +3 -0
  458. package/dist/runtime/locale/fi.d.ts +1 -1
  459. package/dist/runtime/locale/fi.js +3 -0
  460. package/dist/runtime/locale/fr.d.ts +1 -1
  461. package/dist/runtime/locale/fr.js +3 -0
  462. package/dist/runtime/locale/gl.d.ts +1 -1
  463. package/dist/runtime/locale/gl.js +3 -0
  464. package/dist/runtime/locale/he.d.ts +1 -1
  465. package/dist/runtime/locale/he.js +3 -0
  466. package/dist/runtime/locale/hi.d.ts +1 -1
  467. package/dist/runtime/locale/hi.js +3 -0
  468. package/dist/runtime/locale/hr.d.ts +1 -1
  469. package/dist/runtime/locale/hr.js +3 -0
  470. package/dist/runtime/locale/hu.d.ts +1 -1
  471. package/dist/runtime/locale/hu.js +3 -0
  472. package/dist/runtime/locale/hy.d.ts +1 -1
  473. package/dist/runtime/locale/hy.js +3 -0
  474. package/dist/runtime/locale/id.d.ts +1 -1
  475. package/dist/runtime/locale/id.js +3 -0
  476. package/dist/runtime/locale/index.d.ts +1 -0
  477. package/dist/runtime/locale/index.js +1 -0
  478. package/dist/runtime/locale/is.d.ts +1 -1
  479. package/dist/runtime/locale/is.js +3 -0
  480. package/dist/runtime/locale/it.d.ts +1 -1
  481. package/dist/runtime/locale/it.js +3 -0
  482. package/dist/runtime/locale/ja.d.ts +1 -1
  483. package/dist/runtime/locale/ja.js +3 -0
  484. package/dist/runtime/locale/ka.d.ts +1 -1
  485. package/dist/runtime/locale/ka.js +3 -0
  486. package/dist/runtime/locale/kk.d.ts +1 -1
  487. package/dist/runtime/locale/kk.js +3 -0
  488. package/dist/runtime/locale/km.d.ts +1 -1
  489. package/dist/runtime/locale/km.js +3 -0
  490. package/dist/runtime/locale/ko.d.ts +1 -1
  491. package/dist/runtime/locale/ko.js +3 -0
  492. package/dist/runtime/locale/ky.d.ts +1 -1
  493. package/dist/runtime/locale/ky.js +3 -0
  494. package/dist/runtime/locale/lb.d.ts +1 -1
  495. package/dist/runtime/locale/lb.js +3 -0
  496. package/dist/runtime/locale/lo.d.ts +1 -1
  497. package/dist/runtime/locale/lo.js +3 -0
  498. package/dist/runtime/locale/lt.d.ts +1 -1
  499. package/dist/runtime/locale/lt.js +3 -0
  500. package/dist/runtime/locale/lv.d.ts +3 -0
  501. package/dist/runtime/locale/lv.js +155 -0
  502. package/dist/runtime/locale/mn.d.ts +1 -1
  503. package/dist/runtime/locale/mn.js +3 -0
  504. package/dist/runtime/locale/ms.d.ts +1 -1
  505. package/dist/runtime/locale/ms.js +3 -0
  506. package/dist/runtime/locale/nb_no.d.ts +1 -1
  507. package/dist/runtime/locale/nb_no.js +3 -0
  508. package/dist/runtime/locale/nl.d.ts +1 -1
  509. package/dist/runtime/locale/nl.js +3 -0
  510. package/dist/runtime/locale/pl.d.ts +1 -1
  511. package/dist/runtime/locale/pl.js +3 -0
  512. package/dist/runtime/locale/pt.d.ts +1 -1
  513. package/dist/runtime/locale/pt.js +3 -0
  514. package/dist/runtime/locale/pt_br.d.ts +1 -1
  515. package/dist/runtime/locale/pt_br.js +3 -0
  516. package/dist/runtime/locale/ro.d.ts +1 -1
  517. package/dist/runtime/locale/ro.js +3 -0
  518. package/dist/runtime/locale/ru.d.ts +1 -1
  519. package/dist/runtime/locale/ru.js +3 -0
  520. package/dist/runtime/locale/sk.d.ts +1 -1
  521. package/dist/runtime/locale/sk.js +3 -0
  522. package/dist/runtime/locale/sl.d.ts +1 -1
  523. package/dist/runtime/locale/sl.js +3 -0
  524. package/dist/runtime/locale/sq.d.ts +1 -1
  525. package/dist/runtime/locale/sq.js +3 -0
  526. package/dist/runtime/locale/sv.d.ts +1 -1
  527. package/dist/runtime/locale/sv.js +3 -0
  528. package/dist/runtime/locale/th.d.ts +1 -1
  529. package/dist/runtime/locale/th.js +3 -0
  530. package/dist/runtime/locale/tj.d.ts +1 -1
  531. package/dist/runtime/locale/tj.js +3 -0
  532. package/dist/runtime/locale/tr.d.ts +1 -1
  533. package/dist/runtime/locale/tr.js +3 -0
  534. package/dist/runtime/locale/ug_cn.d.ts +1 -1
  535. package/dist/runtime/locale/ug_cn.js +3 -0
  536. package/dist/runtime/locale/uk.d.ts +1 -1
  537. package/dist/runtime/locale/uk.js +3 -0
  538. package/dist/runtime/locale/ur.d.ts +1 -1
  539. package/dist/runtime/locale/ur.js +3 -0
  540. package/dist/runtime/locale/uz.d.ts +1 -1
  541. package/dist/runtime/locale/uz.js +3 -0
  542. package/dist/runtime/locale/vi.d.ts +1 -1
  543. package/dist/runtime/locale/vi.js +3 -0
  544. package/dist/runtime/locale/zh_cn.d.ts +1 -1
  545. package/dist/runtime/locale/zh_cn.js +3 -0
  546. package/dist/runtime/locale/zh_tw.d.ts +1 -1
  547. package/dist/runtime/locale/zh_tw.js +3 -0
  548. package/dist/runtime/plugins/colors.js +9 -4
  549. package/dist/runtime/types/icons.d.ts +5 -0
  550. package/dist/runtime/types/index.d.ts +2 -0
  551. package/dist/runtime/types/index.js +2 -0
  552. package/dist/runtime/types/locale.d.ts +3 -0
  553. package/dist/runtime/types/theme.d.ts +187 -0
  554. package/dist/runtime/types/theme.js +0 -0
  555. package/dist/runtime/types/tv.d.ts +17 -5
  556. package/dist/runtime/utils/ai.d.ts +10 -2
  557. package/dist/runtime/utils/ai.js +4 -1
  558. package/dist/runtime/utils/link.d.ts +1 -1
  559. package/dist/runtime/utils/tv.d.ts +41 -1
  560. package/dist/runtime/utils/tv.js +91 -2
  561. package/dist/runtime/vue/components/Icon.d.vue.ts +1 -1
  562. package/dist/runtime/vue/components/Icon.vue.d.ts +1 -1
  563. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +1 -1
  564. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +1 -1
  565. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  566. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  567. package/dist/runtime/vue/overrides/inertia/Link.d.vue.ts +2 -2
  568. package/dist/runtime/vue/overrides/inertia/Link.vue +2 -2
  569. package/dist/runtime/vue/overrides/inertia/Link.vue.d.ts +2 -2
  570. package/dist/runtime/vue/overrides/inertia/LinkBase.d.vue.ts +3 -3
  571. package/dist/runtime/vue/overrides/inertia/LinkBase.vue.d.ts +3 -3
  572. package/dist/runtime/vue/overrides/none/Link.d.vue.ts +2 -2
  573. package/dist/runtime/vue/overrides/none/Link.vue +8 -7
  574. package/dist/runtime/vue/overrides/none/Link.vue.d.ts +2 -2
  575. package/dist/runtime/vue/overrides/vue-router/Link.d.vue.ts +2 -2
  576. package/dist/runtime/vue/overrides/vue-router/Link.vue +2 -2
  577. package/dist/runtime/vue/overrides/vue-router/Link.vue.d.ts +2 -2
  578. package/dist/runtime/vue/plugins/icons.d.ts +4 -0
  579. package/dist/runtime/vue/plugins/icons.js +13 -0
  580. package/dist/runtime/vue/stubs/base.d.ts +1 -1
  581. package/dist/runtime/vue/stubs/base.js +1 -1
  582. package/dist/runtime/vue/stubs/inertia.d.ts +1 -1
  583. package/dist/runtime/vue/stubs/inertia.js +3 -1
  584. package/dist/shared/{ui.C-lVg1QQ.mjs → ui.XkBrgXFP.mjs} +600 -296
  585. package/dist/unplugin.d.mts +18 -3
  586. package/dist/unplugin.mjs +119 -7
  587. package/dist/vite.mjs +3 -1
  588. package/package.json +69 -44
@@ -9,7 +9,7 @@ import { join } from 'pathe';
9
9
  import { globSync } from 'tinyglobby';
10
10
  import { defuFn, defu } from 'defu';
11
11
 
12
- const icons = {
12
+ const defaultIcons = {
13
13
  arrowDown: "i-lucide-arrow-down",
14
14
  arrowLeft: "i-lucide-arrow-left",
15
15
  arrowRight: "i-lucide-arrow-right",
@@ -47,6 +47,7 @@ const icons = {
47
47
  reload: "i-lucide-rotate-ccw",
48
48
  search: "i-lucide-search",
49
49
  stop: "i-lucide-square",
50
+ star: "i-lucide-star",
50
51
  success: "i-lucide-circle-check",
51
52
  system: "i-lucide-monitor",
52
53
  tip: "i-lucide-lightbulb",
@@ -68,7 +69,7 @@ function getDefaultConfig(theme) {
68
69
  error: "red",
69
70
  neutral: "slate"
70
71
  }, [...theme?.colors || [], "neutral"]),
71
- icons,
72
+ icons: defaultIcons,
72
73
  prefix: theme?.prefix,
73
74
  tv: {
74
75
  twMergeConfig: {
@@ -84,6 +85,7 @@ const defaultOptions = {
84
85
  theme: {
85
86
  colors: void 0,
86
87
  transitions: true,
88
+ unstyled: false,
87
89
  defaultVariants: {
88
90
  color: void 0,
89
91
  size: void 0
@@ -131,6 +133,30 @@ function applyPrefixToObject(obj, prefix, context = []) {
131
133
  }
132
134
  return obj;
133
135
  }
136
+ function applyUnstyled(result, unstyled) {
137
+ if (!result || !unstyled) {
138
+ return result;
139
+ }
140
+ const blank = (value) => value && typeof value === "object" && !Array.isArray(value) ? Object.fromEntries(Object.keys(value).map((slot) => [slot, ""])) : "";
141
+ if (result.slots) {
142
+ result.slots = Object.fromEntries(Object.keys(result.slots).map((slot) => [slot, ""]));
143
+ }
144
+ if (result.variants) {
145
+ result.variants = Object.fromEntries(
146
+ Object.entries(result.variants).map(([name, group]) => [
147
+ name,
148
+ Object.fromEntries(Object.entries(group).map(([key, value]) => [key, blank(value)]))
149
+ ])
150
+ );
151
+ }
152
+ if (result.compoundVariants) {
153
+ result.compoundVariants = result.compoundVariants.map((entry) => {
154
+ const { class: cls, ...selectors } = entry;
155
+ return { ...selectors, class: blank(cls) };
156
+ });
157
+ }
158
+ return result;
159
+ }
134
160
  function applyDefaultVariants(result, defaultVariants) {
135
161
  if (!result || !defaultVariants) {
136
162
  return result;
@@ -228,8 +254,8 @@ const accordion$1 = {
228
254
  root: "w-full",
229
255
  item: "border-b border-default last:border-b-0",
230
256
  header: "flex",
231
- trigger: "group flex-1 flex items-center gap-1.5 font-medium text-sm py-3.5 focus-visible:outline-primary min-w-0",
232
- content: "data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] overflow-hidden focus:outline-none",
257
+ trigger: "group flex-1 flex items-center gap-1.5 font-medium text-sm py-3.5 outline-primary/25 focus-visible:outline-3 min-w-0 rounded-md",
258
+ content: "data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] data-[state=closed]:overflow-hidden focus:outline-none",
233
259
  body: "text-sm pb-3.5",
234
260
  leadingIcon: "shrink-0 size-5",
235
261
  trailingIcon: "shrink-0 size-5 ms-auto group-data-[state=open]:rotate-180 transition-transform duration-200",
@@ -635,7 +661,9 @@ const banner = (options) => ({
635
661
  }
636
662
  },
637
663
  to: {
638
- true: ""
664
+ true: {
665
+ root: "outline-(--ui-bg)/25 -outline-offset-3 has-[>a:focus-visible]:outline-3"
666
+ }
639
667
  }
640
668
  },
641
669
  compoundVariants: [...(options.theme.colors || []).map((color) => ({
@@ -712,9 +740,9 @@ const blogPost = (options) => ({
712
740
  },
713
741
  to: {
714
742
  true: {
715
- root: ["has-focus-visible:ring-2 has-focus-visible:ring-primary", options.theme.transitions && "transition"],
743
+ root: ["outline-primary/25 has-[>a:focus-visible]:outline-3", options.theme.transitions && "transition"],
716
744
  image: "transform transition-transform duration-200 group-hover/blog-post:scale-110",
717
- avatar: "transform transition-transform duration-200 hover:scale-115 focus-visible:outline-primary"
745
+ avatar: "inline-flex transform transition-transform duration-200 hover:scale-115 rounded-full outline-primary/25 focus-visible:outline-3"
718
746
  }
719
747
  },
720
748
  image: {
@@ -739,6 +767,12 @@ const blogPost = (options) => ({
739
767
  class: {
740
768
  root: "hover:bg-elevated hover:ring-accented"
741
769
  }
770
+ }, {
771
+ variant: ["outline", "subtle"],
772
+ to: true,
773
+ class: {
774
+ root: "has-[>a:focus-visible]:ring-primary"
775
+ }
742
776
  }, {
743
777
  variant: "ghost",
744
778
  to: true,
@@ -758,7 +792,7 @@ const blogPost = (options) => ({
758
792
  to: true,
759
793
  orientation: "horizontal",
760
794
  class: {
761
- header: "group-hover/blog-post:rounded-r-none"
795
+ header: "group-hover/blog-post:rounded-e-none"
762
796
  }
763
797
  }, {
764
798
  orientation: "vertical",
@@ -788,7 +822,7 @@ const breadcrumb = (options) => ({
788
822
  root: "relative min-w-0",
789
823
  list: "flex items-center gap-1.5",
790
824
  item: "flex min-w-0",
791
- link: "group relative flex items-center gap-1.5 text-sm min-w-0",
825
+ link: "group relative flex items-center gap-1.5 text-sm min-w-0 rounded-md",
792
826
  linkLeadingIcon: "shrink-0 size-5",
793
827
  linkLeadingAvatar: "shrink-0",
794
828
  linkLeadingAvatarSize: "2xs",
@@ -814,8 +848,8 @@ const breadcrumb = (options) => ({
814
848
  true: ""
815
849
  },
816
850
  color: {
817
- ...Object.fromEntries((options.theme.colors || []).map((color) => [color, { link: `focus-visible:outline-${color}` }])),
818
- neutral: { link: "focus-visible:outline-inverted" }
851
+ ...Object.fromEntries((options.theme.colors || []).map((color) => [color, { link: `outline-${color}/25 focus-visible:outline-3` }])),
852
+ neutral: { link: "outline-inverted/25 focus-visible:outline-3" }
819
853
  }
820
854
  },
821
855
  compoundVariants: [{
@@ -928,51 +962,51 @@ const button = (options) => ({
928
962
  compoundVariants: [...(options.theme.colors || []).map((color) => ({
929
963
  color,
930
964
  variant: "solid",
931
- class: `text-inverted bg-${color} hover:bg-${color}/75 active:bg-${color}/75 disabled:bg-${color} aria-disabled:bg-${color} focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-${color}`
965
+ class: `text-inverted bg-${color} hover:bg-${color}/75 active:bg-${color}/75 disabled:bg-${color} aria-disabled:bg-${color} outline-${color}/25 focus-visible:outline-3`
932
966
  })), ...(options.theme.colors || []).map((color) => ({
933
967
  color,
934
968
  variant: "outline",
935
- class: `ring ring-inset ring-${color}/50 text-${color} hover:bg-${color}/10 active:bg-${color}/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent focus:outline-none focus-visible:ring-2 focus-visible:ring-${color}`
969
+ class: `ring ring-inset ring-${color}/50 text-${color} hover:bg-${color}/10 active:bg-${color}/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent outline-${color}/25 focus-visible:outline-3 focus-visible:ring-${color}`
936
970
  })), ...(options.theme.colors || []).map((color) => ({
937
971
  color,
938
972
  variant: "soft",
939
- class: `text-${color} bg-${color}/10 hover:bg-${color}/15 active:bg-${color}/15 focus:outline-none focus-visible:bg-${color}/15 disabled:bg-${color}/10 aria-disabled:bg-${color}/10`
973
+ class: `text-${color} bg-${color}/10 hover:bg-${color}/15 active:bg-${color}/15 outline-${color}/25 focus-visible:outline-3 disabled:bg-${color}/10 aria-disabled:bg-${color}/10`
940
974
  })), ...(options.theme.colors || []).map((color) => ({
941
975
  color,
942
976
  variant: "subtle",
943
- class: `text-${color} ring ring-inset ring-${color}/25 bg-${color}/10 hover:bg-${color}/15 active:bg-${color}/15 disabled:bg-${color}/10 aria-disabled:bg-${color}/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-${color}`
977
+ class: `text-${color} ring ring-inset ring-${color}/25 bg-${color}/10 hover:bg-${color}/15 active:bg-${color}/15 disabled:bg-${color}/10 aria-disabled:bg-${color}/10 outline-${color}/25 focus-visible:outline-3 focus-visible:ring-${color}`
944
978
  })), ...(options.theme.colors || []).map((color) => ({
945
979
  color,
946
980
  variant: "ghost",
947
- class: `text-${color} hover:bg-${color}/10 active:bg-${color}/10 focus:outline-none focus-visible:bg-${color}/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent`
981
+ class: `text-${color} hover:bg-${color}/10 active:bg-${color}/10 outline-${color}/25 focus-visible:outline-3 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent`
948
982
  })), ...(options.theme.colors || []).map((color) => ({
949
983
  color,
950
984
  variant: "link",
951
- class: `text-${color} hover:text-${color}/75 active:text-${color}/75 disabled:text-${color} aria-disabled:text-${color} focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-${color}`
985
+ class: `text-${color} hover:text-${color}/75 active:text-${color}/75 disabled:text-${color} aria-disabled:text-${color} outline-${color}/25 focus-visible:outline-3`
952
986
  })), {
953
987
  color: "neutral",
954
988
  variant: "solid",
955
- class: "text-inverted bg-inverted hover:bg-inverted/90 active:bg-inverted/90 disabled:bg-inverted aria-disabled:bg-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-inverted"
989
+ class: "text-inverted bg-inverted hover:bg-inverted/90 active:bg-inverted/90 disabled:bg-inverted aria-disabled:bg-inverted outline-inverted/25 focus-visible:outline-3"
956
990
  }, {
957
991
  color: "neutral",
958
992
  variant: "outline",
959
- class: "ring ring-inset ring-accented text-default bg-default hover:bg-elevated active:bg-elevated disabled:bg-default aria-disabled:bg-default focus:outline-none focus-visible:ring-2 focus-visible:ring-inverted"
993
+ class: "ring ring-inset ring-accented text-default bg-default hover:bg-elevated active:bg-elevated disabled:bg-default aria-disabled:bg-default outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"
960
994
  }, {
961
995
  color: "neutral",
962
996
  variant: "soft",
963
- class: "text-default bg-elevated hover:bg-accented/75 active:bg-accented/75 focus:outline-none focus-visible:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated"
997
+ class: "text-default bg-elevated hover:bg-accented/75 active:bg-accented/75 outline-inverted/25 focus-visible:outline-3 disabled:bg-elevated aria-disabled:bg-elevated"
964
998
  }, {
965
999
  color: "neutral",
966
1000
  variant: "subtle",
967
- class: "ring ring-inset ring-accented text-default bg-elevated hover:bg-accented/75 active:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated focus:outline-none focus-visible:ring-2 focus-visible:ring-inverted"
1001
+ class: "ring ring-inset ring-accented text-default bg-elevated hover:bg-accented/75 active:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"
968
1002
  }, {
969
1003
  color: "neutral",
970
1004
  variant: "ghost",
971
- class: "text-default hover:bg-elevated active:bg-elevated focus:outline-none focus-visible:bg-elevated hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent"
1005
+ class: "text-default hover:bg-elevated active:bg-elevated outline-inverted/25 focus-visible:outline-3 hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent"
972
1006
  }, {
973
1007
  color: "neutral",
974
1008
  variant: "link",
975
- class: "text-muted hover:text-default active:text-default disabled:text-muted aria-disabled:text-muted focus:outline-none focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-inverted"
1009
+ class: "text-muted hover:text-default active:text-default disabled:text-muted aria-disabled:text-muted outline-inverted/25 focus-visible:outline-3"
976
1010
  }, {
977
1011
  size: "xs",
978
1012
  square: true,
@@ -1014,31 +1048,46 @@ const button = (options) => ({
1014
1048
  }
1015
1049
  });
1016
1050
 
1051
+ const daySizes = {
1052
+ xs: "size-7",
1053
+ sm: "size-7",
1054
+ md: "size-8",
1055
+ lg: "size-9 text-md",
1056
+ xl: "size-10 text-lg"
1057
+ };
1058
+ const pickerSizes = {
1059
+ xs: "h-7 px-2",
1060
+ sm: "h-7 px-2",
1061
+ md: "h-8 px-3",
1062
+ lg: "h-9 px-4 text-md",
1063
+ xl: "h-10 px-5 text-lg"
1064
+ };
1017
1065
  const calendar = (options) => ({
1018
1066
  slots: {
1019
1067
  root: "",
1020
1068
  header: "flex items-center justify-between",
1021
1069
  body: "flex flex-col space-y-4 pt-4 sm:flex-row sm:space-x-4 sm:space-y-0",
1022
- heading: "text-center font-medium truncate mx-auto",
1070
+ heading: "flex-1 min-w-0 text-center",
1071
+ headingLabel: "font-medium block truncate p-1.5",
1023
1072
  grid: "w-full border-collapse select-none space-y-1 focus:outline-none",
1024
- gridRow: "grid grid-cols-7 place-items-center",
1073
+ gridRow: "grid",
1025
1074
  gridWeekDaysRow: "mb-1 grid w-full grid-cols-7",
1026
1075
  gridBody: "grid",
1027
1076
  headCell: "rounded-md",
1028
1077
  headCellWeek: "rounded-md text-muted",
1029
1078
  cell: "relative text-center",
1030
- cellTrigger: ["m-0.5 relative flex items-center justify-center rounded-full whitespace-nowrap focus-visible:ring-2 focus:outline-none data-disabled:text-muted data-unavailable:line-through data-unavailable:text-muted data-unavailable:pointer-events-none data-today:font-semibold data-[outside-view]:text-muted", options.theme.transitions && "transition"],
1079
+ cellTrigger: ["m-0.5 relative flex items-center justify-center whitespace-nowrap focus-visible:outline-3 data-disabled:text-muted data-unavailable:line-through data-unavailable:text-muted data-unavailable:pointer-events-none data-today:font-semibold", options.theme.transitions && "transition"],
1031
1080
  cellWeek: "relative text-center text-muted"
1032
1081
  },
1033
1082
  variants: {
1034
1083
  color: {
1035
1084
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
1036
1085
  headCell: `text-${color}`,
1037
- cellTrigger: `focus-visible:ring-${color}`
1086
+ cellTrigger: `outline-${color}/25`
1038
1087
  }])),
1039
1088
  neutral: {
1040
1089
  headCell: "text-highlighted",
1041
- cellTrigger: "focus-visible:ring-inverted"
1090
+ cellTrigger: "outline-inverted/25"
1042
1091
  }
1043
1092
  },
1044
1093
  variant: {
@@ -1049,103 +1098,137 @@ const calendar = (options) => ({
1049
1098
  },
1050
1099
  size: {
1051
1100
  xs: {
1052
- heading: "text-xs",
1101
+ headingLabel: "text-xs",
1053
1102
  cell: "text-xs",
1054
1103
  cellWeek: "text-xs",
1055
1104
  headCell: "text-[10px]",
1056
1105
  headCellWeek: "text-[10px]",
1057
- cellTrigger: "size-7",
1058
1106
  body: "space-y-2 pt-2"
1059
1107
  },
1060
1108
  sm: {
1061
- heading: "text-xs",
1109
+ headingLabel: "text-xs",
1062
1110
  headCell: "text-xs",
1063
1111
  headCellWeek: "text-xs",
1064
1112
  cellWeek: "text-xs",
1065
- cell: "text-xs",
1066
- cellTrigger: "size-7"
1113
+ cell: "text-xs"
1067
1114
  },
1068
1115
  md: {
1069
- heading: "text-sm",
1116
+ headingLabel: "text-sm",
1070
1117
  headCell: "text-xs",
1071
1118
  headCellWeek: "text-xs",
1072
1119
  cellWeek: "text-xs",
1073
- cell: "text-sm",
1074
- cellTrigger: "size-8"
1120
+ cell: "text-sm"
1075
1121
  },
1076
1122
  lg: {
1077
- heading: "text-md",
1123
+ headingLabel: "text-md",
1078
1124
  headCell: "text-md",
1079
- headCellWeek: "text-md",
1080
- cellTrigger: "size-9 text-md"
1125
+ headCellWeek: "text-md"
1081
1126
  },
1082
1127
  xl: {
1083
- heading: "text-lg",
1128
+ headingLabel: "text-lg",
1084
1129
  headCell: "text-lg",
1085
- headCellWeek: "text-lg",
1086
- cellTrigger: "size-10 text-lg"
1130
+ headCellWeek: "text-lg"
1131
+ }
1132
+ },
1133
+ view: {
1134
+ day: {
1135
+ gridRow: "grid-cols-7 place-items-center",
1136
+ cellTrigger: "rounded-full data-outside-view:text-muted"
1137
+ },
1138
+ month: {
1139
+ gridRow: "grid-cols-4",
1140
+ cellTrigger: "rounded-md"
1141
+ },
1142
+ year: {
1143
+ gridRow: "grid-cols-4",
1144
+ cellTrigger: "rounded-md"
1087
1145
  }
1088
1146
  },
1089
1147
  weekNumbers: {
1090
- true: {
1148
+ true: ""
1149
+ }
1150
+ },
1151
+ compoundVariants: [
1152
+ ...(options.theme.colors || []).map((color) => ({
1153
+ color,
1154
+ variant: "solid",
1155
+ class: {
1156
+ cellTrigger: `data-selected:bg-${color} data-selected:text-inverted data-today:not-data-selected:text-${color} data-highlighted:bg-${color}/20 hover:not-data-selected:bg-${color}/20`
1157
+ }
1158
+ })),
1159
+ ...(options.theme.colors || []).map((color) => ({
1160
+ color,
1161
+ variant: "outline",
1162
+ class: {
1163
+ cellTrigger: `data-selected:ring data-selected:ring-inset data-selected:ring-${color}/50 data-selected:text-${color} data-selected:focus-visible:ring-${color} data-today:not-data-selected:text-${color} data-highlighted:bg-${color}/10 hover:not-data-selected:bg-${color}/10`
1164
+ }
1165
+ })),
1166
+ ...(options.theme.colors || []).map((color) => ({
1167
+ color,
1168
+ variant: "soft",
1169
+ class: {
1170
+ cellTrigger: `data-selected:bg-${color}/10 data-selected:text-${color} data-today:not-data-selected:text-${color} data-highlighted:bg-${color}/20 hover:not-data-selected:bg-${color}/20`
1171
+ }
1172
+ })),
1173
+ ...(options.theme.colors || []).map((color) => ({
1174
+ color,
1175
+ variant: "subtle",
1176
+ class: {
1177
+ cellTrigger: `data-selected:bg-${color}/10 data-selected:text-${color} data-selected:ring data-selected:ring-inset data-selected:ring-${color}/25 data-selected:focus-visible:ring-${color} data-today:not-data-selected:text-${color} data-highlighted:bg-${color}/20 hover:not-data-selected:bg-${color}/20`
1178
+ }
1179
+ })),
1180
+ {
1181
+ color: "neutral",
1182
+ variant: "solid",
1183
+ class: {
1184
+ cellTrigger: "data-selected:bg-inverted data-selected:text-inverted data-today:not-data-selected:text-highlighted data-highlighted:bg-inverted/20 hover:not-data-selected:bg-inverted/10"
1185
+ }
1186
+ },
1187
+ {
1188
+ color: "neutral",
1189
+ variant: "outline",
1190
+ class: {
1191
+ cellTrigger: "data-selected:ring data-selected:ring-inset data-selected:ring-accented data-selected:text-default data-selected:bg-default data-selected:focus-visible:ring-inverted data-today:not-data-selected:text-highlighted data-highlighted:bg-inverted/10 hover:not-data-selected:bg-inverted/10"
1192
+ }
1193
+ },
1194
+ {
1195
+ color: "neutral",
1196
+ variant: "soft",
1197
+ class: {
1198
+ cellTrigger: "data-selected:bg-elevated data-selected:text-default data-today:not-data-selected:text-highlighted data-highlighted:bg-inverted/20 hover:not-data-selected:bg-inverted/10"
1199
+ }
1200
+ },
1201
+ {
1202
+ color: "neutral",
1203
+ variant: "subtle",
1204
+ class: {
1205
+ cellTrigger: "data-selected:bg-elevated data-selected:text-default data-selected:ring data-selected:ring-inset data-selected:ring-accented data-selected:focus-visible:ring-inverted data-today:not-data-selected:text-highlighted data-highlighted:bg-inverted/20 hover:not-data-selected:bg-inverted/10"
1206
+ }
1207
+ },
1208
+ ...Object.entries(daySizes).map(([size, cellTrigger]) => ({
1209
+ size,
1210
+ view: "day",
1211
+ class: { cellTrigger }
1212
+ })),
1213
+ ...Object.entries(pickerSizes).map(([size, cellTrigger]) => ({
1214
+ size,
1215
+ view: ["month", "year"],
1216
+ class: { cellTrigger }
1217
+ })),
1218
+ {
1219
+ view: "day",
1220
+ weekNumbers: true,
1221
+ class: {
1091
1222
  gridRow: "grid-cols-8",
1092
1223
  gridWeekDaysRow: "grid-cols-8 [&>*:first-child]:col-start-2"
1093
1224
  }
1094
1225
  }
1095
- },
1096
- compoundVariants: [...(options.theme.colors || []).map((color) => ({
1097
- color,
1098
- variant: "solid",
1099
- class: {
1100
- cellTrigger: `data-[selected]:bg-${color} data-[selected]:text-inverted data-today:not-data-[selected]:text-${color} data-[highlighted]:bg-${color}/20 hover:not-data-[selected]:bg-${color}/20`
1101
- }
1102
- })), ...(options.theme.colors || []).map((color) => ({
1103
- color,
1104
- variant: "outline",
1105
- class: {
1106
- cellTrigger: `data-[selected]:ring data-[selected]:ring-inset data-[selected]:ring-${color}/50 data-[selected]:text-${color} data-today:not-data-[selected]:text-${color} data-[highlighted]:bg-${color}/10 hover:not-data-[selected]:bg-${color}/10`
1107
- }
1108
- })), ...(options.theme.colors || []).map((color) => ({
1109
- color,
1110
- variant: "soft",
1111
- class: {
1112
- cellTrigger: `data-[selected]:bg-${color}/10 data-[selected]:text-${color} data-today:not-data-[selected]:text-${color} data-[highlighted]:bg-${color}/20 hover:not-data-[selected]:bg-${color}/20`
1113
- }
1114
- })), ...(options.theme.colors || []).map((color) => ({
1115
- color,
1116
- variant: "subtle",
1117
- class: {
1118
- cellTrigger: `data-[selected]:bg-${color}/10 data-[selected]:text-${color} data-[selected]:ring data-[selected]:ring-inset data-[selected]:ring-${color}/25 data-today:not-data-[selected]:text-${color} data-[highlighted]:bg-${color}/20 hover:not-data-[selected]:bg-${color}/20`
1119
- }
1120
- })), {
1121
- color: "neutral",
1122
- variant: "solid",
1123
- class: {
1124
- cellTrigger: "data-[selected]:bg-inverted data-[selected]:text-inverted data-today:not-data-[selected]:text-highlighted data-[highlighted]:bg-inverted/20 hover:not-data-[selected]:bg-inverted/10"
1125
- }
1126
- }, {
1127
- color: "neutral",
1128
- variant: "outline",
1129
- class: {
1130
- cellTrigger: "data-[selected]:ring data-[selected]:ring-inset data-[selected]:ring-accented data-[selected]:text-default data-[selected]:bg-default data-today:not-data-[selected]:text-highlighted data-[highlighted]:bg-inverted/10 hover:not-data-[selected]:bg-inverted/10"
1131
- }
1132
- }, {
1133
- color: "neutral",
1134
- variant: "soft",
1135
- class: {
1136
- cellTrigger: "data-[selected]:bg-elevated data-[selected]:text-default data-today:not-data-[selected]:text-highlighted data-[highlighted]:bg-inverted/20 hover:not-data-[selected]:bg-inverted/10"
1137
- }
1138
- }, {
1139
- color: "neutral",
1140
- variant: "subtle",
1141
- class: {
1142
- cellTrigger: "data-[selected]:bg-elevated data-[selected]:text-default data-[selected]:ring data-[selected]:ring-inset data-[selected]:ring-accented data-today:not-data-[selected]:text-highlighted data-[highlighted]:bg-inverted/20 hover:not-data-[selected]:bg-inverted/10"
1143
- }
1144
- }],
1226
+ ],
1145
1227
  defaultVariants: {
1146
1228
  size: "md",
1147
1229
  color: "primary",
1148
- variant: "solid"
1230
+ variant: "solid",
1231
+ view: "day"
1149
1232
  }
1150
1233
  });
1151
1234
 
@@ -1192,7 +1275,7 @@ const carousel = (options) => ({
1192
1275
  prev: "absolute rounded-full",
1193
1276
  next: "absolute rounded-full",
1194
1277
  dots: "absolute inset-x-0 -bottom-7 flex flex-wrap items-center justify-center gap-3",
1195
- dot: ["cursor-pointer size-3 bg-accented rounded-full focus:outline-none focus-visible:ring-2 focus-visible:ring-primary", options.theme.transitions && "transition"]
1278
+ dot: ["cursor-pointer size-3 bg-accented rounded-full outline-inverted/25 focus-visible:outline-3", options.theme.transitions && "transition"]
1196
1279
  },
1197
1280
  variants: {
1198
1281
  orientation: {
@@ -1248,7 +1331,7 @@ const changelogVersion = (options) => ({
1248
1331
  },
1249
1332
  to: {
1250
1333
  true: {
1251
- title: ["has-focus-visible:ring-2 has-focus-visible:ring-primary rounded-xs", options.theme.transitions && "transition"],
1334
+ title: ["outline-primary/25 has-focus-visible:outline-3 rounded-xs", options.theme.transitions && "transition"],
1252
1335
  image: "transform transition-transform duration-200 group-hover/changelog-version-image:scale-105 group-has-focus-visible/changelog-version-image:scale-105"
1253
1336
  }
1254
1337
  },
@@ -1350,6 +1433,7 @@ const chatMessage = (options) => ({
1350
1433
  variant: "naked",
1351
1434
  side: "left",
1352
1435
  class: {
1436
+ body: "w-full",
1353
1437
  content: "w-full"
1354
1438
  }
1355
1439
  }, ...(options.theme.colors || []).map((color) => ({
@@ -1417,7 +1501,7 @@ const chatMessage = (options) => ({
1417
1501
  const chatMessages = {
1418
1502
  slots: {
1419
1503
  root: "w-full flex flex-col gap-1 flex-1 px-2.5 [&>article]:last-of-type:min-h-(--last-message-height)",
1420
- indicator: "h-6 flex items-center gap-1 py-3 *:size-2 *:rounded-full *:bg-elevated [&>*:nth-child(1)]:animate-[bounce_1s_infinite] [&>*:nth-child(2)]:animate-[bounce_1s_0.15s_infinite] [&>*:nth-child(3)]:animate-[bounce_1s_0.3s_infinite]",
1504
+ indicator: "h-6 flex items-center gap-1 py-3 *:size-2 *:rounded-full *:bg-elevated motion-safe:[&>*:nth-child(1)]:animate-[bounce_1s_infinite] motion-safe:[&>*:nth-child(2)]:animate-[bounce_1s_0.15s_infinite] motion-safe:[&>*:nth-child(3)]:animate-[bounce_1s_0.3s_infinite]",
1421
1505
  viewport: "absolute inset-x-0 top-[86%] data-[state=open]:animate-[fade-in_200ms_ease-out] data-[state=closed]:animate-[fade-out_200ms_ease-in]",
1422
1506
  autoScroll: "rounded-full absolute right-1/2 translate-x-1/2 bottom-0"
1423
1507
  },
@@ -1438,15 +1522,20 @@ const chatPalette = {
1438
1522
  }
1439
1523
  };
1440
1524
 
1441
- const chatPrompt = {
1525
+ const focusHighlight = (utilities) => ["textarea", "[contenteditable]"].flatMap((element) => utilities.split(" ").map((utility) => `has-[${element}:focus-visible]:${utility}`)).join(" ");
1526
+ const chatPrompt = (options) => ({
1442
1527
  slots: {
1443
1528
  root: "relative flex flex-col items-stretch gap-2 px-2.5 py-2 w-full rounded-lg backdrop-blur",
1444
1529
  header: "flex items-center gap-1.5",
1445
- body: "items-start",
1530
+ body: "items-start gap-1.5",
1446
1531
  footer: "flex items-center justify-between gap-1.5",
1447
- base: ""
1532
+ base: "px-0"
1448
1533
  },
1449
1534
  variants: {
1535
+ color: {
1536
+ ...Object.fromEntries((options.theme.colors || []).map((color) => [color, ""])),
1537
+ neutral: ""
1538
+ },
1450
1539
  variant: {
1451
1540
  outline: {
1452
1541
  root: "bg-default/75 ring ring-default"
@@ -1462,10 +1551,28 @@ const chatPrompt = {
1462
1551
  }
1463
1552
  }
1464
1553
  },
1554
+ compoundVariants: [...(options.theme.colors || []).map((color) => ({
1555
+ color,
1556
+ variant: ["outline", "subtle"],
1557
+ class: { root: `outline-${color}/25 ${focusHighlight(`outline-3 ring-${color}`)}` }
1558
+ })), ...(options.theme.colors || []).map((color) => ({
1559
+ color,
1560
+ variant: "soft",
1561
+ class: { root: `outline-${color}/25 ${focusHighlight("outline-3")}` }
1562
+ })), {
1563
+ color: "neutral",
1564
+ variant: ["outline", "subtle"],
1565
+ class: { root: `outline-inverted/25 ${focusHighlight("outline-3 ring-inverted")}` }
1566
+ }, {
1567
+ color: "neutral",
1568
+ variant: "soft",
1569
+ class: { root: `outline-inverted/25 ${focusHighlight("outline-3")}` }
1570
+ }],
1465
1571
  defaultVariants: {
1572
+ color: "primary",
1466
1573
  variant: "outline"
1467
1574
  }
1468
- };
1575
+ });
1469
1576
 
1470
1577
  const chatPromptSubmit = {
1471
1578
  slots: {
@@ -1476,14 +1583,14 @@ const chatPromptSubmit = {
1476
1583
  const chatReasoning = (options) => ({
1477
1584
  slots: {
1478
1585
  root: "",
1479
- trigger: ["group flex w-full items-center gap-1.5 text-muted text-sm disabled:cursor-default disabled:hover:text-muted hover:text-default focus-visible:outline-offset-2 focus-visible:outline-primary min-w-0", options.theme.transitions && "transition-colors"],
1586
+ trigger: ["group flex w-full items-center gap-1.5 text-muted text-sm disabled:cursor-default disabled:hover:text-muted hover:text-default rounded-sm outline-primary/25 focus-visible:outline-3 min-w-0", options.theme.transitions && "transition-colors"],
1480
1587
  leading: "relative size-4 shrink-0",
1481
1588
  leadingIcon: "size-4 shrink-0",
1482
1589
  chevronIcon: "size-4 shrink-0 group-data-[state=open]:rotate-180 transition-transform duration-200",
1483
1590
  label: "truncate",
1484
1591
  trailingIcon: "size-4 shrink-0 group-data-[state=open]:rotate-180 transition-transform duration-200",
1485
- content: "data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] overflow-hidden",
1486
- body: "max-h-[200px] pt-2 overflow-y-auto text-sm text-dimmed whitespace-pre-wrap"
1592
+ content: "data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=closed]:overflow-hidden rounded-sm outline-primary/25 has-focus-visible:outline-3",
1593
+ body: "max-h-[200px] pt-2 overflow-y-auto text-sm text-dimmed whitespace-pre-wrap focus:outline-none"
1487
1594
  },
1488
1595
  variants: {
1489
1596
  chevron: {
@@ -1502,38 +1609,40 @@ const chatReasoning = (options) => ({
1502
1609
  });
1503
1610
 
1504
1611
  const chatShimmer = {
1505
- base: "text-transparent bg-clip-text bg-no-repeat bg-size-[calc(200%+var(--spread)*2+2px)_100%,auto] bg-[image:linear-gradient(90deg,#0000_calc(50%-var(--spread)),var(--ui-text-highlighted),#0000_calc(50%+var(--spread))),linear-gradient(var(--ui-text-muted),var(--ui-text-muted))] animate-[shimmer_var(--duration)_linear_infinite] rtl:animate-[shimmer-rtl_var(--duration)_linear_infinite] will-change-[background-position]"
1612
+ base: "text-transparent bg-clip-text bg-no-repeat bg-size-[calc(200%+var(--spread)*2+2px)_100%,auto] bg-[image:linear-gradient(90deg,#0000_calc(50%-var(--spread)),var(--ui-text-highlighted),#0000_calc(50%+var(--spread))),linear-gradient(var(--ui-text-muted),var(--ui-text-muted))] motion-safe:animate-[shimmer_var(--duration)_linear_infinite] motion-safe:rtl:animate-[shimmer-rtl_var(--duration)_linear_infinite] will-change-[background-position] motion-reduce:bg-none motion-reduce:text-muted"
1506
1613
  };
1507
1614
 
1508
1615
  const chatTool = (options) => ({
1509
1616
  slots: {
1510
1617
  root: "",
1511
- trigger: ["group flex w-full items-center gap-1.5 text-muted text-sm disabled:cursor-default disabled:hover:text-muted hover:text-default focus-visible:outline-offset-2 focus-visible:outline-primary min-w-0", options.theme.transitions && "transition-colors"],
1618
+ trigger: ["group flex w-full items-center gap-1.5 text-muted text-sm disabled:cursor-default disabled:hover:text-muted hover:text-default min-w-0", options.theme.transitions && "transition-colors"],
1512
1619
  leading: "relative size-4 shrink-0",
1513
1620
  leadingIcon: "size-4 shrink-0",
1514
1621
  chevronIcon: "size-4 shrink-0 group-data-[state=open]:rotate-180 transition-transform duration-200",
1515
1622
  label: "truncate",
1516
1623
  suffix: "text-dimmed ms-1",
1517
1624
  trailingIcon: "size-4 shrink-0 group-data-[state=open]:rotate-180 transition-transform duration-200",
1518
- content: "data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] overflow-hidden",
1519
- body: "text-sm text-dimmed whitespace-pre-wrap"
1625
+ content: "data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=closed]:overflow-hidden",
1626
+ body: "text-sm text-dimmed whitespace-pre-wrap",
1627
+ actions: "flex items-center justify-end gap-1.5"
1520
1628
  },
1521
1629
  variants: {
1522
1630
  variant: {
1523
1631
  inline: {
1524
- body: "pt-2"
1632
+ trigger: "rounded-sm outline-primary/25 focus-visible:outline-3",
1633
+ body: "pt-2",
1634
+ actions: "pt-2"
1525
1635
  },
1526
1636
  card: {
1527
- root: "rounded-md ring ring-default overflow-hidden",
1528
- trigger: "px-2 py-1",
1637
+ root: "rounded-md ring ring-default overflow-hidden outline-primary/25 has-focus-visible:outline-3 has-focus-visible:ring-primary",
1638
+ trigger: "px-2 py-1 focus:outline-none",
1529
1639
  trailingIcon: "ms-auto",
1530
- body: "border-t border-default p-2 max-h-[200px] overflow-y-auto"
1640
+ body: "border-t border-default p-2 max-h-[200px] overflow-y-auto focus:outline-none",
1641
+ actions: "border-t border-default p-2"
1531
1642
  }
1532
1643
  },
1533
1644
  chevron: {
1534
- leading: {
1535
- leadingIcon: "group-hover:opacity-0"
1536
- },
1645
+ leading: "",
1537
1646
  trailing: ""
1538
1647
  },
1539
1648
  loading: {
@@ -1543,7 +1652,7 @@ const chatTool = (options) => ({
1543
1652
  },
1544
1653
  alone: {
1545
1654
  false: {
1546
- leadingIcon: ["absolute inset-0 group-data-[state=open]:opacity-0", options.theme.transitions && "transition-opacity duration-200"],
1655
+ leadingIcon: ["absolute inset-0 group-hover:opacity-0 group-data-[state=open]:opacity-0", options.theme.transitions && "transition-opacity duration-200"],
1547
1656
  chevronIcon: ["absolute inset-0 opacity-0 group-hover:opacity-100 group-data-[state=open]:opacity-100", options.theme.transitions && "transition-[rotate,opacity] duration-200"]
1548
1657
  }
1549
1658
  }
@@ -1554,7 +1663,7 @@ const checkbox = (options) => ({
1554
1663
  slots: {
1555
1664
  root: "relative flex items-start",
1556
1665
  container: "flex items-center",
1557
- base: "rounded-sm ring ring-inset ring-accented overflow-hidden focus-visible:outline-2 focus-visible:outline-offset-2",
1666
+ base: "rounded-sm ring ring-inset ring-accented overflow-hidden focus-visible:outline-3",
1558
1667
  indicator: "flex items-center justify-center size-full text-inverted",
1559
1668
  icon: "shrink-0 size-full",
1560
1669
  wrapper: "w-full",
@@ -1564,11 +1673,11 @@ const checkbox = (options) => ({
1564
1673
  variants: {
1565
1674
  color: {
1566
1675
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
1567
- base: `focus-visible:outline-${color}`,
1676
+ base: `outline-${color}/25 focus-visible:ring-${color}`,
1568
1677
  indicator: `bg-${color}`
1569
1678
  }])),
1570
1679
  neutral: {
1571
- base: "focus-visible:outline-inverted",
1680
+ base: "outline-inverted/25 focus-visible:ring-inverted",
1572
1681
  indicator: "bg-inverted"
1573
1682
  }
1574
1683
  },
@@ -1861,7 +1970,7 @@ const chip = (options) => ({
1861
1970
  const collapsible$1 = {
1862
1971
  slots: {
1863
1972
  root: "",
1864
- content: "data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] overflow-hidden"
1973
+ content: "data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=closed]:overflow-hidden"
1865
1974
  }
1866
1975
  };
1867
1976
 
@@ -2314,11 +2423,14 @@ const drawer = (options) => ({
2314
2423
  content: "fixed bg-default ring ring-default flex focus:outline-none",
2315
2424
  handle: ["shrink-0 !bg-accented", options.theme.transitions && "transition-opacity"],
2316
2425
  container: "w-full flex flex-col gap-4 p-4 overflow-y-auto",
2317
- header: "",
2426
+ header: "flex items-center gap-1.5 min-h-8",
2427
+ wrapper: "min-w-0 flex-1",
2318
2428
  title: "text-highlighted font-semibold",
2319
2429
  description: "mt-1 text-muted text-sm",
2430
+ actions: "flex items-center gap-1.5 shrink-0 ms-auto",
2320
2431
  body: "flex-1",
2321
- footer: "flex flex-col gap-1.5"
2432
+ footer: "flex flex-col gap-1.5",
2433
+ close: ""
2322
2434
  },
2323
2435
  variants: {
2324
2436
  direction: {
@@ -2774,6 +2886,11 @@ const empty = {
2774
2886
  naked: {
2775
2887
  description: "text-muted"
2776
2888
  }
2889
+ },
2890
+ loading: {
2891
+ true: {
2892
+ avatar: "[&>[data-slot=icon]]:animate-spin"
2893
+ }
2777
2894
  }
2778
2895
  },
2779
2896
  defaultVariants: {
@@ -2797,7 +2914,7 @@ const error = {
2797
2914
  const fileUpload = (options) => ({
2798
2915
  slots: {
2799
2916
  root: "relative flex flex-col",
2800
- base: ["w-full flex-1 bg-default border border-default flex flex-col gap-2 items-stretch justify-center rounded-lg focus-visible:outline-2", options.theme.transitions && "transition-[background]"],
2917
+ base: ["w-full flex-1 bg-default border border-default flex flex-col gap-2 items-stretch justify-center rounded-lg focus-visible:outline-3", options.theme.transitions && "transition-[background]"],
2801
2918
  wrapper: "flex flex-col items-center justify-center text-center",
2802
2919
  icon: "shrink-0",
2803
2920
  avatar: "shrink-0",
@@ -2889,14 +3006,14 @@ const fileUpload = (options) => ({
2889
3006
  },
2890
3007
  compoundVariants: [...(options.theme.colors || []).map((color) => ({
2891
3008
  color,
2892
- class: `focus-visible:outline-${color}`
3009
+ class: `outline-${color}/25 focus-visible:outline-3 focus-visible:border-${color}`
2893
3010
  })), ...(options.theme.colors || []).map((color) => ({
2894
3011
  color,
2895
3012
  highlight: true,
2896
3013
  class: `border-${color}`
2897
3014
  })), {
2898
3015
  color: "neutral",
2899
- class: "focus-visible:outline-inverted"
3016
+ class: "outline-inverted/25 focus-visible:outline-3 focus-visible:border-inverted"
2900
3017
  }, {
2901
3018
  color: "neutral",
2902
3019
  highlight: true,
@@ -3007,7 +3124,7 @@ const footerColumns = (options) => ({
3007
3124
  label: "text-sm font-semibold",
3008
3125
  list: "mt-6 space-y-4",
3009
3126
  item: "relative",
3010
- link: "group text-sm flex items-center gap-1.5 focus-visible:outline-primary",
3127
+ link: "group text-sm flex items-center gap-1.5 rounded-sm outline-primary/25 focus-visible:outline-3",
3011
3128
  linkLeadingIcon: "size-5 shrink-0",
3012
3129
  linkLabel: "truncate",
3013
3130
  linkLabelExternalIcon: "size-3 absolute top-0 text-dimmed inline-block"
@@ -3096,7 +3213,7 @@ const header = {
3096
3213
  const input = (options) => ({
3097
3214
  slots: {
3098
3215
  root: "relative inline-flex items-center",
3099
- base: ["w-full rounded-md border-0 appearance-none placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
3216
+ base: ["w-full rounded-md border-0 appearance-none placeholder:text-dimmed disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
3100
3217
  leading: "absolute inset-y-0 start-0 flex items-center",
3101
3218
  leadingIcon: "shrink-0 text-dimmed",
3102
3219
  leadingAvatar: "shrink-0",
@@ -3153,7 +3270,7 @@ const input = (options) => ({
3153
3270
  soft: "text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",
3154
3271
  subtle: "text-highlighted bg-elevated ring ring-inset ring-accented",
3155
3272
  ghost: "text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",
3156
- none: "text-highlighted bg-transparent"
3273
+ none: "text-highlighted bg-transparent focus:outline-none"
3157
3274
  },
3158
3275
  color: {
3159
3276
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, ""])),
@@ -3181,7 +3298,11 @@ const input = (options) => ({
3181
3298
  compoundVariants: [...(options.theme.colors || []).map((color) => ({
3182
3299
  color,
3183
3300
  variant: ["outline", "subtle"],
3184
- class: `focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-${color}`
3301
+ class: `outline-${color}/25 focus-visible:outline-3 focus-visible:ring-${color}`
3302
+ })), ...(options.theme.colors || []).map((color) => ({
3303
+ color,
3304
+ variant: ["soft", "ghost"],
3305
+ class: `outline-${color}/25 focus-visible:outline-3`
3185
3306
  })), ...(options.theme.colors || []).map((color) => ({
3186
3307
  color,
3187
3308
  highlight: true,
@@ -3189,7 +3310,11 @@ const input = (options) => ({
3189
3310
  })), {
3190
3311
  color: "neutral",
3191
3312
  variant: ["outline", "subtle"],
3192
- class: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"
3313
+ class: "outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"
3314
+ }, {
3315
+ color: "neutral",
3316
+ variant: ["soft", "ghost"],
3317
+ class: "outline-inverted/25 focus-visible:outline-3"
3193
3318
  }, {
3194
3319
  color: "neutral",
3195
3320
  highlight: true,
@@ -3302,9 +3427,15 @@ const inputDate = (options) => {
3302
3427
  base: (prev) => [prev, "gap-0.75"],
3303
3428
  segment: "data-[segment=day]:w-10 data-[segment=month]:w-10 data-[segment=year]:w-12"
3304
3429
  }
3305
- }
3430
+ },
3431
+ variant: (prev) => Object.fromEntries(
3432
+ Object.entries(prev).map(([key, value]) => [key, replaceFocus$2(value)])
3433
+ )
3306
3434
  },
3307
- compoundVariants: [{
3435
+ compoundVariants: (prev) => [...prev.map((item) => ({
3436
+ ...item,
3437
+ class: typeof item.class === "string" ? replaceFocus$2(item.class) : item.class
3438
+ })), {
3308
3439
  variant: "outline",
3309
3440
  class: {
3310
3441
  segment: "focus:bg-elevated"
@@ -3332,6 +3463,9 @@ const inputDate = (options) => {
3332
3463
  }]
3333
3464
  }, input(options));
3334
3465
  };
3466
+ function replaceFocus$2(str) {
3467
+ return str.replace(/focus:/g, "has-focus:").replace(/focus-visible:/g, "has-focus-visible:");
3468
+ }
3335
3469
 
3336
3470
  const inputMenu = (options) => {
3337
3471
  return defuFn({
@@ -3377,7 +3511,7 @@ const inputMenu = (options) => {
3377
3511
  root: "flex-wrap"
3378
3512
  },
3379
3513
  false: {
3380
- base: "w-full border-0 placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75"
3514
+ base: "w-full border-0 placeholder:text-dimmed disabled:cursor-not-allowed disabled:opacity-75"
3381
3515
  }
3382
3516
  },
3383
3517
  size: {
@@ -3446,21 +3580,21 @@ const inputMenu = (options) => {
3446
3580
  compoundVariants: [{
3447
3581
  variant: "soft",
3448
3582
  multiple: true,
3449
- class: "has-focus:bg-elevated"
3583
+ class: "has-focus:bg-elevated has-focus-visible:outline-3"
3450
3584
  }, {
3451
3585
  variant: "ghost",
3452
3586
  multiple: true,
3453
- class: "has-focus:bg-elevated"
3587
+ class: "has-focus:bg-elevated has-focus-visible:outline-3"
3454
3588
  }, ...(options.theme.colors || []).map((color) => ({
3455
3589
  color,
3456
3590
  multiple: true,
3457
3591
  variant: ["outline", "subtle"],
3458
- class: `has-focus-visible:ring-2 has-focus-visible:ring-${color}`
3592
+ class: `has-focus-visible:outline-3 has-focus-visible:ring-${color}`
3459
3593
  })), {
3460
3594
  color: "neutral",
3461
3595
  multiple: true,
3462
3596
  variant: ["outline", "subtle"],
3463
- class: "has-focus-visible:ring-2 has-focus-visible:ring-inverted"
3597
+ class: "has-focus-visible:outline-3 has-focus-visible:ring-inverted"
3464
3598
  }]
3465
3599
  }, input(options));
3466
3600
  };
@@ -3470,7 +3604,7 @@ const inputNumber = (options) => {
3470
3604
  return {
3471
3605
  slots: {
3472
3606
  root: "relative inline-flex items-center",
3473
- base: ["w-full rounded-md border-0 placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
3607
+ base: ["w-full rounded-md border-0 placeholder:text-dimmed disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
3474
3608
  increment: "absolute flex items-center",
3475
3609
  decrement: "absolute flex items-center"
3476
3610
  },
@@ -3523,7 +3657,11 @@ const inputNumber = (options) => {
3523
3657
  compoundVariants: [...(options.theme.colors || []).map((color) => ({
3524
3658
  color,
3525
3659
  variant: ["outline", "subtle"],
3526
- class: `focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-${color}`
3660
+ class: `outline-${color}/25 focus-visible:outline-3 focus-visible:ring-${color}`
3661
+ })), ...(options.theme.colors || []).map((color) => ({
3662
+ color,
3663
+ variant: ["soft", "ghost"],
3664
+ class: `outline-${color}/25 focus-visible:outline-3`
3527
3665
  })), ...(options.theme.colors || []).map((color) => ({
3528
3666
  color,
3529
3667
  highlight: true,
@@ -3531,7 +3669,11 @@ const inputNumber = (options) => {
3531
3669
  })), {
3532
3670
  color: "neutral",
3533
3671
  variant: ["outline", "subtle"],
3534
- class: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"
3672
+ class: "outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"
3673
+ }, {
3674
+ color: "neutral",
3675
+ variant: ["soft", "ghost"],
3676
+ class: "outline-inverted/25 focus-visible:outline-3"
3535
3677
  }, {
3536
3678
  color: "neutral",
3537
3679
  highlight: true,
@@ -3641,16 +3783,16 @@ const inputTags = (options) => {
3641
3783
  }
3642
3784
  },
3643
3785
  variant: (prev) => Object.fromEntries(
3644
- Object.entries(prev).map(([key, value]) => [key, replaceFocus$2(value)])
3786
+ Object.entries(prev).map(([key, value]) => [key, replaceFocus$1(value)])
3645
3787
  )
3646
3788
  },
3647
3789
  compoundVariants: (prev) => prev.map((item) => ({
3648
3790
  ...item,
3649
- class: typeof item.class === "string" ? replaceFocus$2(item.class) : item.class
3791
+ class: typeof item.class === "string" ? replaceFocus$1(item.class) : item.class
3650
3792
  }))
3651
3793
  }, input(options));
3652
3794
  };
3653
- function replaceFocus$2(str) {
3795
+ function replaceFocus$1(str) {
3654
3796
  return str.replace(/focus:/g, "has-focus:").replace(/focus-visible:/g, "has-focus-visible:");
3655
3797
  }
3656
3798
 
@@ -3685,9 +3827,15 @@ const inputTime = (options) => {
3685
3827
  base: (prev) => [prev, "gap-0.75"],
3686
3828
  segment: "not-data-[segment=literal]:w-10"
3687
3829
  }
3688
- }
3830
+ },
3831
+ variant: (prev) => Object.fromEntries(
3832
+ Object.entries(prev).map(([key, value]) => [key, replaceFocus(value)])
3833
+ )
3689
3834
  },
3690
- compoundVariants: [{
3835
+ compoundVariants: (prev) => [...prev.map((item) => ({
3836
+ ...item,
3837
+ class: typeof item.class === "string" ? replaceFocus(item.class) : item.class
3838
+ })), {
3691
3839
  variant: "outline",
3692
3840
  class: {
3693
3841
  segment: "focus:bg-elevated"
@@ -3715,6 +3863,9 @@ const inputTime = (options) => {
3715
3863
  }]
3716
3864
  }, input(options));
3717
3865
  };
3866
+ function replaceFocus(str) {
3867
+ return str.replace(/focus:/g, "has-focus:").replace(/focus-visible:/g, "has-focus-visible:");
3868
+ }
3718
3869
 
3719
3870
  const kbd$1 = (options) => ({
3720
3871
  base: "inline-flex items-center justify-center px-1 rounded-sm font-medium font-sans uppercase",
@@ -3776,7 +3927,7 @@ const kbd$1 = (options) => ({
3776
3927
  });
3777
3928
 
3778
3929
  const link = (options) => ({
3779
- base: "focus-visible:outline-primary",
3930
+ base: "outline-primary/25 focus-visible:outline-3 rounded-md",
3780
3931
  variants: {
3781
3932
  active: {
3782
3933
  true: "text-primary",
@@ -3881,8 +4032,12 @@ const listbox = (options) => ({
3881
4032
  }
3882
4033
  },
3883
4034
  color: {
3884
- ...Object.fromEntries((options.theme.colors || []).map((color) => [color, ""])),
3885
- neutral: ""
4035
+ ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
4036
+ root: `outline-${color}/25 has-focus-visible:outline-3 has-focus-visible:ring-${color}`
4037
+ }])),
4038
+ neutral: {
4039
+ root: "outline-inverted/25 has-focus-visible:outline-3 has-focus-visible:ring-inverted"
4040
+ }
3886
4041
  },
3887
4042
  virtualize: {
3888
4043
  true: {
@@ -3915,6 +4070,7 @@ const listbox = (options) => ({
3915
4070
  }
3916
4071
  }],
3917
4072
  defaultVariants: {
4073
+ color: "primary",
3918
4074
  size: "md"
3919
4075
  }
3920
4076
  });
@@ -3957,7 +4113,7 @@ const marquee = {
3957
4113
  orientation: "horizontal",
3958
4114
  class: {
3959
4115
  root: "flex-row",
3960
- content: "flex-row animate-[marquee_var(--duration)_linear_infinite] rtl:animate-[marquee-rtl_var(--duration)_linear_infinite] backface-hidden"
4116
+ content: "flex-row motion-safe:animate-[marquee_var(--duration)_linear_infinite] motion-safe:rtl:animate-[marquee-rtl_var(--duration)_linear_infinite] backface-hidden"
3961
4117
  }
3962
4118
  }, {
3963
4119
  orientation: "horizontal",
@@ -3969,7 +4125,7 @@ const marquee = {
3969
4125
  orientation: "vertical",
3970
4126
  class: {
3971
4127
  root: "flex-col",
3972
- content: "flex-col animate-[marquee-vertical_var(--duration)_linear_infinite] rtl:animate-[marquee-vertical-rtl_var(--duration)_linear_infinite] h-[fit-content] backface-hidden"
4128
+ content: "flex-col motion-safe:animate-[marquee-vertical_var(--duration)_linear_infinite] motion-safe:rtl:animate-[marquee-vertical-rtl_var(--duration)_linear_infinite] h-[fit-content] backface-hidden"
3973
4129
  }
3974
4130
  }, {
3975
4131
  orientation: "vertical",
@@ -4044,7 +4200,7 @@ const navigationMenu = (options) => ({
4044
4200
  list: "isolate min-w-0",
4045
4201
  label: "w-full flex items-center gap-1.5 font-semibold text-xs/5 text-highlighted px-2.5 py-1.5",
4046
4202
  item: "min-w-0",
4047
- link: "group relative w-full flex items-center gap-1.5 font-medium text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none dark:focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2",
4203
+ link: "group relative w-full flex items-center gap-1.5 font-medium text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3",
4048
4204
  linkLeadingIcon: "shrink-0 size-5",
4049
4205
  linkLeadingAvatar: "shrink-0",
4050
4206
  linkLeadingAvatarSize: "2xs",
@@ -4058,14 +4214,14 @@ const navigationMenu = (options) => ({
4058
4214
  childList: "isolate",
4059
4215
  childLabel: "text-xs text-highlighted",
4060
4216
  childItem: "",
4061
- childLink: "group relative size-full flex items-start text-start text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none dark:focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2",
4217
+ childLink: "group relative size-full flex items-start text-start text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3",
4062
4218
  childLinkWrapper: "min-w-0",
4063
4219
  childLinkIcon: "size-5 shrink-0",
4064
4220
  childLinkLabel: "truncate",
4065
4221
  childLinkLabelExternalIcon: "inline-block size-3 align-top text-dimmed",
4066
4222
  childLinkDescription: "text-muted",
4067
4223
  separator: "px-2 h-px bg-border",
4068
- viewportWrapper: "absolute top-full left-0 flex w-full",
4224
+ viewportWrapper: "absolute top-full start-0 flex w-full",
4069
4225
  viewport: "relative overflow-hidden bg-default shadow-lg rounded-md ring ring-default h-(--reka-navigation-menu-viewport-height) w-full transition-[width,height,left,right] duration-200 origin-[top_center] data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] z-1",
4070
4226
  content: "",
4071
4227
  indicator: "absolute left-0 data-[state=visible]:animate-[fade-in_100ms_ease-out] data-[state=hidden]:animate-[fade-out_100ms_ease-in] data-[state=hidden]:opacity-0 bottom-0 z-2 w-(--reka-navigation-menu-indicator-size) translate-x-(--reka-navigation-menu-indicator-position) flex h-2.5 items-end justify-center overflow-hidden transition-[translate,width] duration-200",
@@ -4074,12 +4230,12 @@ const navigationMenu = (options) => ({
4074
4230
  variants: {
4075
4231
  color: {
4076
4232
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
4077
- link: `focus-visible:before:ring-${color}`,
4078
- childLink: `focus-visible:before:ring-${color}`
4233
+ link: `before:outline-${color}/25`,
4234
+ childLink: `before:outline-${color}/25`
4079
4235
  }])),
4080
4236
  neutral: {
4081
- link: "focus-visible:before:ring-inverted",
4082
- childLink: "focus-visible:before:ring-inverted"
4237
+ link: "before:outline-inverted/25",
4238
+ childLink: "before:outline-inverted/25"
4083
4239
  }
4084
4240
  },
4085
4241
  highlightColor: {
@@ -4099,7 +4255,7 @@ const navigationMenu = (options) => ({
4099
4255
  childList: "grid p-2",
4100
4256
  childLink: "px-3 py-2 gap-2 before:inset-x-px before:inset-y-0",
4101
4257
  childLinkLabel: "font-medium",
4102
- content: "absolute top-0 left-0 w-full max-h-[70vh] overflow-y-auto"
4258
+ content: "absolute top-0 start-0 w-full max-h-[70vh] overflow-y-auto"
4103
4259
  },
4104
4260
  vertical: {
4105
4261
  root: "flex-col",
@@ -4163,7 +4319,7 @@ const navigationMenu = (options) => ({
4163
4319
  class: {
4164
4320
  childList: "ms-5 border-s border-default",
4165
4321
  childItem: "ps-1.5 -ms-px",
4166
- content: "data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] overflow-hidden"
4322
+ content: "data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=closed]:overflow-hidden"
4167
4323
  }
4168
4324
  }, {
4169
4325
  orientation: "vertical",
@@ -4344,7 +4500,7 @@ const pageAnchors = (options) => ({
4344
4500
  root: "",
4345
4501
  list: "",
4346
4502
  item: "relative",
4347
- link: "group text-sm flex items-center gap-1.5 py-1 focus-visible:outline-primary",
4503
+ link: "group text-sm flex items-center gap-1.5 py-1 rounded-sm outline-primary/25 focus-visible:outline-3",
4348
4504
  linkLeading: "rounded-md p-1 inline-flex ring-inset ring",
4349
4505
  linkLeadingIcon: "size-4 shrink-0",
4350
4506
  linkLabel: "truncate",
@@ -4498,7 +4654,7 @@ const pageCard = (options) => ({
4498
4654
  },
4499
4655
  to: {
4500
4656
  true: {
4501
- root: ["has-focus-visible:ring-2 has-focus-visible:ring-primary", options.theme.transitions && "transition"]
4657
+ root: ["outline-primary/25 has-[>a:focus-visible]:outline-3", options.theme.transitions && "transition"]
4502
4658
  }
4503
4659
  },
4504
4660
  title: {
@@ -4556,6 +4712,13 @@ const pageCard = (options) => ({
4556
4712
  class: {
4557
4713
  root: "hover:ring-accented"
4558
4714
  }
4715
+ }, {
4716
+ variant: ["outline", "subtle"],
4717
+ to: true,
4718
+ highlight: false,
4719
+ class: {
4720
+ root: "has-[>a:focus-visible]:ring-primary"
4721
+ }
4559
4722
  }, {
4560
4723
  variant: "ghost",
4561
4724
  to: true,
@@ -4619,7 +4782,7 @@ const pageFeature = (options) => ({
4619
4782
  },
4620
4783
  to: {
4621
4784
  true: {
4622
- root: ["has-focus-visible:ring-2 has-focus-visible:ring-primary", options.theme.transitions && "transition"]
4785
+ root: ["outline-primary/25 has-focus-visible:outline-3", options.theme.transitions && "transition"]
4623
4786
  }
4624
4787
  },
4625
4788
  title: {
@@ -4704,7 +4867,7 @@ const pageLinks = (options) => ({
4704
4867
  title: "text-sm font-semibold flex items-center gap-1.5",
4705
4868
  list: "flex flex-col gap-2",
4706
4869
  item: "relative",
4707
- link: "group text-sm flex items-center gap-1.5 focus-visible:outline-primary",
4870
+ link: "group text-sm flex items-center gap-1.5 rounded-sm outline-primary/25 focus-visible:outline-3",
4708
4871
  linkLeadingIcon: "size-5 shrink-0",
4709
4872
  linkLabel: "truncate",
4710
4873
  linkLabelExternalIcon: "size-3 absolute top-0 text-dimmed"
@@ -4839,7 +5002,8 @@ const pagination = {
4839
5002
  const pinInput = (options) => ({
4840
5003
  slots: {
4841
5004
  root: "relative inline-flex items-center gap-1.5",
4842
- base: ["rounded-md border-0 placeholder:text-dimmed text-center focus:outline-none disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"]
5005
+ base: ["rounded-md border-0 placeholder:text-dimmed text-center disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
5006
+ separator: "text-dimmed flex items-center justify-center"
4843
5007
  },
4844
5008
  variants: {
4845
5009
  size: {
@@ -4864,7 +5028,7 @@ const pinInput = (options) => ({
4864
5028
  soft: "text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",
4865
5029
  subtle: "text-highlighted bg-elevated ring ring-inset ring-accented",
4866
5030
  ghost: "text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",
4867
- none: "text-highlighted bg-transparent"
5031
+ none: "text-highlighted bg-transparent focus:outline-none"
4868
5032
  },
4869
5033
  color: {
4870
5034
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, ""])),
@@ -4880,7 +5044,11 @@ const pinInput = (options) => ({
4880
5044
  compoundVariants: [...(options.theme.colors || []).map((color) => ({
4881
5045
  color,
4882
5046
  variant: ["outline", "subtle"],
4883
- class: `focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-${color}`
5047
+ class: `outline-${color}/25 focus-visible:outline-3 focus-visible:ring-${color}`
5048
+ })), ...(options.theme.colors || []).map((color) => ({
5049
+ color,
5050
+ variant: ["soft", "ghost"],
5051
+ class: `outline-${color}/25 focus-visible:outline-3`
4884
5052
  })), ...(options.theme.colors || []).map((color) => ({
4885
5053
  color,
4886
5054
  highlight: true,
@@ -4888,7 +5056,11 @@ const pinInput = (options) => ({
4888
5056
  })), {
4889
5057
  color: "neutral",
4890
5058
  variant: ["outline", "subtle"],
4891
- class: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"
5059
+ class: "outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"
5060
+ }, {
5061
+ color: "neutral",
5062
+ variant: ["soft", "ghost"],
5063
+ class: "outline-inverted/25 focus-visible:outline-3"
4892
5064
  }, {
4893
5065
  color: "neutral",
4894
5066
  highlight: true,
@@ -4952,7 +5124,7 @@ const pricingPlan = {
4952
5124
  orientation: {
4953
5125
  horizontal: {
4954
5126
  root: "grid-cols-1 lg:grid-cols-3 justify-between divide-y lg:divide-y-0 lg:divide-x divide-default",
4955
- body: "lg:col-span-2 pb-6 lg:pb-0 lg:pr-6 justify-center",
5127
+ body: "lg:col-span-2 pb-6 lg:pb-0 lg:pe-6 justify-center",
4956
5128
  footer: "lg:justify-center lg:items-center lg:p-6 lg:max-w-xs lg:w-full lg:mx-auto",
4957
5129
  features: "lg:grid lg:grid-cols-2 lg:mt-12"
4958
5130
  },
@@ -5042,9 +5214,9 @@ const pricingTable = {
5042
5214
  thead: "",
5043
5215
  tbody: "",
5044
5216
  tr: "",
5045
- th: "py-4 font-normal text-left rtl:text-right border-b border-default",
5217
+ th: "py-4 font-normal text-start border-b border-default",
5046
5218
  td: "px-6 py-4 text-center border-b border-default",
5047
- tier: "p-6 text-left rtl:text-right font-normal align-top h-full",
5219
+ tier: "p-6 text-start font-normal align-top h-full",
5048
5220
  tierWrapper: "flex flex-col md:h-full",
5049
5221
  tierTitleWrapper: "flex items-center gap-3",
5050
5222
  tierTitle: "text-lg font-semibold text-highlighted",
@@ -5089,7 +5261,7 @@ const progress = (options) => ({
5089
5261
  slots: {
5090
5262
  root: "gap-2",
5091
5263
  base: "relative overflow-hidden rounded-full bg-accented",
5092
- indicator: "rounded-full size-full transition-transform duration-200 ease-out",
5264
+ indicator: "rounded-full size-full transition-transform duration-200 ease-out motion-reduce:data-[state=indeterminate]:animate-pulse",
5093
5265
  status: "flex text-dimmed transition-[width] duration-200",
5094
5266
  steps: "grid items-end",
5095
5267
  step: "truncate text-end row-start-1 col-start-1 transition-opacity"
@@ -5247,49 +5419,49 @@ const progress = (options) => ({
5247
5419
  orientation: "horizontal",
5248
5420
  animation: "carousel",
5249
5421
  class: {
5250
- indicator: "data-[state=indeterminate]:animate-[carousel_2s_ease-in-out_infinite] data-[state=indeterminate]:rtl:animate-[carousel-rtl_2s_ease-in-out_infinite]"
5422
+ indicator: "motion-safe:data-[state=indeterminate]:animate-[carousel_2s_ease-in-out_infinite] motion-safe:data-[state=indeterminate]:rtl:animate-[carousel-rtl_2s_ease-in-out_infinite]"
5251
5423
  }
5252
5424
  }, {
5253
5425
  orientation: "vertical",
5254
5426
  animation: "carousel",
5255
5427
  class: {
5256
- indicator: "data-[state=indeterminate]:animate-[carousel-vertical_2s_ease-in-out_infinite]"
5428
+ indicator: "motion-safe:data-[state=indeterminate]:animate-[carousel-vertical_2s_ease-in-out_infinite]"
5257
5429
  }
5258
5430
  }, {
5259
5431
  orientation: "horizontal",
5260
5432
  animation: "carousel-inverse",
5261
5433
  class: {
5262
- indicator: "data-[state=indeterminate]:animate-[carousel-inverse_2s_ease-in-out_infinite] data-[state=indeterminate]:rtl:animate-[carousel-inverse-rtl_2s_ease-in-out_infinite]"
5434
+ indicator: "motion-safe:data-[state=indeterminate]:animate-[carousel-inverse_2s_ease-in-out_infinite] motion-safe:data-[state=indeterminate]:rtl:animate-[carousel-inverse-rtl_2s_ease-in-out_infinite]"
5263
5435
  }
5264
5436
  }, {
5265
5437
  orientation: "vertical",
5266
5438
  animation: "carousel-inverse",
5267
5439
  class: {
5268
- indicator: "data-[state=indeterminate]:animate-[carousel-inverse-vertical_2s_ease-in-out_infinite]"
5440
+ indicator: "motion-safe:data-[state=indeterminate]:animate-[carousel-inverse-vertical_2s_ease-in-out_infinite]"
5269
5441
  }
5270
5442
  }, {
5271
5443
  orientation: "horizontal",
5272
5444
  animation: "swing",
5273
5445
  class: {
5274
- indicator: "data-[state=indeterminate]:animate-[swing_2s_ease-in-out_infinite]"
5446
+ indicator: "motion-safe:data-[state=indeterminate]:animate-[swing_2s_ease-in-out_infinite]"
5275
5447
  }
5276
5448
  }, {
5277
5449
  orientation: "vertical",
5278
5450
  animation: "swing",
5279
5451
  class: {
5280
- indicator: "data-[state=indeterminate]:animate-[swing-vertical_2s_ease-in-out_infinite]"
5452
+ indicator: "motion-safe:data-[state=indeterminate]:animate-[swing-vertical_2s_ease-in-out_infinite]"
5281
5453
  }
5282
5454
  }, {
5283
5455
  orientation: "horizontal",
5284
5456
  animation: "elastic",
5285
5457
  class: {
5286
- indicator: "data-[state=indeterminate]:animate-[elastic_2s_ease-in-out_infinite]"
5458
+ indicator: "motion-safe:data-[state=indeterminate]:animate-[elastic_2s_ease-in-out_infinite]"
5287
5459
  }
5288
5460
  }, {
5289
5461
  orientation: "vertical",
5290
5462
  animation: "elastic",
5291
5463
  class: {
5292
- indicator: "data-[state=indeterminate]:animate-[elastic-vertical_2s_ease-in-out_infinite]"
5464
+ indicator: "motion-safe:data-[state=indeterminate]:animate-[elastic-vertical_2s_ease-in-out_infinite]"
5293
5465
  }
5294
5466
  }],
5295
5467
  defaultVariants: {
@@ -5306,7 +5478,7 @@ const radioGroup = (options) => ({
5306
5478
  legend: "mb-1 block font-medium text-default",
5307
5479
  item: "flex items-start",
5308
5480
  container: "flex items-center",
5309
- base: "rounded-full ring ring-inset ring-accented overflow-hidden focus-visible:outline-2 focus-visible:outline-offset-2",
5481
+ base: "rounded-full ring ring-inset ring-accented overflow-hidden focus-visible:outline-3",
5310
5482
  indicator: "flex items-center justify-center size-full after:bg-default after:rounded-full",
5311
5483
  wrapper: "w-full",
5312
5484
  label: "block font-medium text-default",
@@ -5315,11 +5487,11 @@ const radioGroup = (options) => ({
5315
5487
  variants: {
5316
5488
  color: {
5317
5489
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
5318
- base: `focus-visible:outline-${color}`,
5490
+ base: `outline-${color}/25 focus-visible:ring-${color}`,
5319
5491
  indicator: `bg-${color}`
5320
5492
  }])),
5321
5493
  neutral: {
5322
- base: "focus-visible:outline-inverted",
5494
+ base: "outline-inverted/25 focus-visible:ring-inverted",
5323
5495
  indicator: "bg-inverted"
5324
5496
  }
5325
5497
  },
@@ -5497,7 +5669,7 @@ const radioGroup = (options) => ({
5497
5669
 
5498
5670
  const scrollArea = {
5499
5671
  slots: {
5500
- root: "relative",
5672
+ root: "relative outline-primary/25 focus-visible:outline-3",
5501
5673
  viewport: "relative flex",
5502
5674
  item: ""
5503
5675
  },
@@ -5513,6 +5685,11 @@ const scrollArea = {
5513
5685
  viewport: "flex-row",
5514
5686
  item: ""
5515
5687
  }
5688
+ },
5689
+ externalScroll: {
5690
+ true: {
5691
+ root: "overflow-visible"
5692
+ }
5516
5693
  }
5517
5694
  }
5518
5695
  };
@@ -5521,7 +5698,7 @@ const select = (options) => {
5521
5698
  return defuFn({
5522
5699
  slots: {
5523
5700
  root: () => void 0,
5524
- base: () => ["relative group rounded-md inline-flex items-center focus:outline-none disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
5701
+ base: () => ["relative group rounded-md inline-flex items-center disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
5525
5702
  value: "truncate pointer-events-none",
5526
5703
  placeholder: "truncate text-dimmed",
5527
5704
  arrow: "fill-bg stroke-default",
@@ -5614,20 +5791,16 @@ const select = (options) => {
5614
5791
  "item-aligned": {
5615
5792
  content: ""
5616
5793
  }
5794
+ },
5795
+ multiple: {
5796
+ true: ""
5617
5797
  }
5618
5798
  },
5619
- compoundVariants: (prev) => prev.map((item) => ({
5620
- ...item,
5621
- class: typeof item.class === "string" ? replaceFocus$1(item.class) : item.class
5622
- })),
5623
5799
  defaultVariants: {
5624
5800
  position: "popper"
5625
5801
  }
5626
5802
  }, input(options));
5627
5803
  };
5628
- function replaceFocus$1(str) {
5629
- return str.replace(/focus-visible:/g, "focus:");
5630
- }
5631
5804
 
5632
5805
  const selectMenu = (options) => {
5633
5806
  return defuFn({
@@ -5647,16 +5820,9 @@ const selectMenu = (options) => {
5647
5820
  viewport: "divide-y divide-default"
5648
5821
  }
5649
5822
  }
5650
- },
5651
- compoundVariants: (prev) => prev.map((item) => ({
5652
- ...item,
5653
- class: typeof item.class === "string" ? replaceFocus(item.class) : item.class
5654
- }))
5823
+ }
5655
5824
  }, select(options));
5656
5825
  };
5657
- function replaceFocus(str) {
5658
- return str.replace(/focus:/g, "focus-visible:");
5659
- }
5660
5826
 
5661
5827
  const separator = (options) => ({
5662
5828
  slots: {
@@ -5784,8 +5950,8 @@ const separator = (options) => ({
5784
5950
  const sidebar = (options) => ({
5785
5951
  slots: {
5786
5952
  root: "peer [--sidebar-width:16rem] [--sidebar-width-icon:4rem]",
5787
- gap: "relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear",
5788
- container: "fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear lg:flex",
5953
+ gap: "relative w-(--sidebar-width) bg-transparent",
5954
+ container: "fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) lg:flex",
5789
5955
  inner: "flex size-full flex-col overflow-hidden divide-y divide-default",
5790
5956
  header: "flex items-center gap-1.5 overflow-hidden px-4 min-h-(--ui-header-height)",
5791
5957
  wrapper: "min-w-0 flex-1",
@@ -5795,17 +5961,24 @@ const sidebar = (options) => ({
5795
5961
  close: "",
5796
5962
  body: "flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto p-4",
5797
5963
  footer: "flex items-center gap-1.5 overflow-hidden p-4",
5798
- rail: ["absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-px lg:flex hover:after:bg-(--ui-border-accented)", options.theme.transitions && "after:transition-colors"]
5964
+ rail: ["absolute inset-y-0 z-20 hidden w-4 after:absolute after:inset-y-0 after:left-1/2 after:w-px lg:flex hover:after:bg-(--ui-border-accented)", options.theme.transitions && "after:transition-colors"]
5799
5965
  },
5800
5966
  variants: {
5967
+ transition: {
5968
+ true: {
5969
+ gap: "transition-[width] duration-200 ease-out",
5970
+ container: "transition-[inset-inline-start,inset-inline-end,width] duration-200 ease-out",
5971
+ rail: "transition-all ease-out"
5972
+ }
5973
+ },
5801
5974
  side: {
5802
5975
  left: {
5803
- container: "left-0 border-e border-default",
5804
- rail: "end-0 translate-x-1/2"
5976
+ container: "start-0 border-e border-default",
5977
+ rail: "end-0 translate-x-1/2 rtl:-translate-x-1/2"
5805
5978
  },
5806
5979
  right: {
5807
- container: "right-0 border-s border-default",
5808
- rail: "-start-px -translate-x-1/2"
5980
+ container: "end-0 border-s border-default",
5981
+ rail: "-start-px -translate-x-1/2 rtl:translate-x-1/2"
5809
5982
  }
5810
5983
  },
5811
5984
  collapsible: {
@@ -5842,13 +6015,13 @@ const sidebar = (options) => ({
5842
6015
  side: "left",
5843
6016
  collapsible: ["offcanvas", "icon"],
5844
6017
  class: {
5845
- rail: "cursor-w-resize data-[state=collapsed]:cursor-e-resize"
6018
+ rail: "cursor-w-resize rtl:cursor-e-resize data-[state=collapsed]:cursor-e-resize data-[state=collapsed]:rtl:cursor-w-resize"
5846
6019
  }
5847
6020
  }, {
5848
6021
  side: "right",
5849
6022
  collapsible: ["offcanvas", "icon"],
5850
6023
  class: {
5851
- rail: "cursor-e-resize data-[state=collapsed]:cursor-w-resize"
6024
+ rail: "cursor-e-resize rtl:cursor-w-resize data-[state=collapsed]:cursor-w-resize data-[state=collapsed]:rtl:cursor-e-resize"
5852
6025
  }
5853
6026
  }, {
5854
6027
  side: "left",
@@ -5866,13 +6039,13 @@ const sidebar = (options) => ({
5866
6039
  side: "left",
5867
6040
  collapsible: "offcanvas",
5868
6041
  class: {
5869
- container: "data-[state=collapsed]:-left-(--sidebar-width)"
6042
+ container: "data-[state=collapsed]:-start-(--sidebar-width)"
5870
6043
  }
5871
6044
  }, {
5872
6045
  side: "right",
5873
6046
  collapsible: "offcanvas",
5874
6047
  class: {
5875
- container: "data-[state=collapsed]:-right-(--sidebar-width)"
6048
+ container: "data-[state=collapsed]:-end-(--sidebar-width)"
5876
6049
  }
5877
6050
  }, {
5878
6051
  variant: "floating",
@@ -6030,17 +6203,17 @@ const slider = (options) => ({
6030
6203
  root: "relative flex items-center select-none touch-none",
6031
6204
  track: "relative bg-accented overflow-hidden rounded-full grow",
6032
6205
  range: "absolute rounded-full",
6033
- thumb: "rounded-full bg-default ring-2 focus-visible:outline-2 focus-visible:outline-offset-2"
6206
+ thumb: "rounded-full bg-default ring-2 focus-visible:outline-3 focus-visible:outline-offset-2"
6034
6207
  },
6035
6208
  variants: {
6036
6209
  color: {
6037
6210
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
6038
6211
  range: `bg-${color}`,
6039
- thumb: `ring-${color} focus-visible:outline-${color}/50`
6212
+ thumb: `ring-${color} outline-${color}/25`
6040
6213
  }])),
6041
6214
  neutral: {
6042
6215
  range: "bg-inverted",
6043
- thumb: "ring-inverted focus-visible:outline-inverted/50"
6216
+ thumb: "ring-inverted outline-inverted/25"
6044
6217
  }
6045
6218
  },
6046
6219
  size: {
@@ -6143,13 +6316,90 @@ const slider = (options) => ({
6143
6316
  }
6144
6317
  });
6145
6318
 
6319
+ const inputRating = (options) => ({
6320
+ slots: {
6321
+ root: "",
6322
+ item: ["relative inline-block cursor-pointer select-none rounded-sm has-focus-visible:outline-3", options.theme.transitions && "transition"],
6323
+ indicator: "absolute inset-0 overflow-hidden outline-none text-transparent w-(--reka-rating-item-step-width) opacity-(--reka-rating-item-step-opacity) z-(--reka-rating-item-step-z-index)",
6324
+ icon: "block",
6325
+ emptyIcon: "block w-full h-full text-muted pointer-events-none"
6326
+ },
6327
+ variants: {
6328
+ orientation: {
6329
+ horizontal: {
6330
+ root: "inline-flex items-center gap-0.5"
6331
+ },
6332
+ vertical: {
6333
+ root: "inline-flex flex-col items-center gap-0.5"
6334
+ }
6335
+ },
6336
+ size: {
6337
+ xs: {
6338
+ item: "size-3",
6339
+ icon: "size-3"
6340
+ },
6341
+ sm: {
6342
+ item: "size-4",
6343
+ icon: "size-4"
6344
+ },
6345
+ md: {
6346
+ item: "size-5",
6347
+ icon: "size-5"
6348
+ },
6349
+ lg: {
6350
+ item: "size-6",
6351
+ icon: "size-6"
6352
+ },
6353
+ xl: {
6354
+ item: "size-7",
6355
+ icon: "size-7"
6356
+ }
6357
+ },
6358
+ color: {
6359
+ ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
6360
+ indicator: `data-[state=active]:text-${color}`,
6361
+ item: `outline-${color}/25`
6362
+ }])),
6363
+ neutral: {
6364
+ indicator: "data-[state=active]:text-highlighted",
6365
+ item: "outline-inverted/25"
6366
+ }
6367
+ },
6368
+ readonly: {
6369
+ true: {
6370
+ root: "cursor-default",
6371
+ item: "cursor-default"
6372
+ },
6373
+ false: {}
6374
+ },
6375
+ disabled: {
6376
+ true: {
6377
+ root: "opacity-75 cursor-not-allowed",
6378
+ item: "cursor-not-allowed pointer-events-none"
6379
+ },
6380
+ false: {}
6381
+ }
6382
+ },
6383
+ compoundVariants: [{
6384
+ readonly: false,
6385
+ disabled: false,
6386
+ class: {
6387
+ item: "hover:scale-110"
6388
+ }
6389
+ }],
6390
+ defaultVariants: {
6391
+ color: "primary",
6392
+ size: "md"
6393
+ }
6394
+ });
6395
+
6146
6396
  const stepper = (options) => ({
6147
6397
  slots: {
6148
6398
  root: "flex gap-4",
6149
6399
  header: "flex",
6150
6400
  item: "group text-center relative w-full",
6151
6401
  container: "relative",
6152
- trigger: "rounded-full font-medium text-center align-middle flex items-center justify-center font-semibold group-data-[state=completed]:text-inverted group-data-[state=active]:text-inverted text-muted bg-elevated focus-visible:outline-2 focus-visible:outline-offset-2",
6402
+ trigger: "rounded-full font-medium text-center align-middle flex items-center justify-center font-semibold group-data-[state=completed]:text-inverted group-data-[state=active]:text-inverted text-muted bg-elevated focus-visible:outline-3",
6153
6403
  indicator: "flex items-center justify-center size-full",
6154
6404
  icon: "shrink-0",
6155
6405
  separator: "absolute rounded-full group-data-[disabled]:opacity-75 bg-accented",
@@ -6211,11 +6461,11 @@ const stepper = (options) => ({
6211
6461
  },
6212
6462
  color: {
6213
6463
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
6214
- trigger: `group-data-[state=completed]:bg-${color} group-data-[state=active]:bg-${color} focus-visible:outline-${color}`,
6464
+ trigger: `group-data-[state=completed]:bg-${color} group-data-[state=active]:bg-${color} outline-${color}/25`,
6215
6465
  separator: `group-data-[state=completed]:bg-${color}`
6216
6466
  }])),
6217
6467
  neutral: {
6218
- trigger: `group-data-[state=completed]:bg-inverted group-data-[state=active]:bg-inverted focus-visible:outline-inverted`,
6468
+ trigger: `group-data-[state=completed]:bg-inverted group-data-[state=active]:bg-inverted outline-inverted/25`,
6219
6469
  separator: `group-data-[state=completed]:bg-inverted`
6220
6470
  }
6221
6471
  }
@@ -6270,7 +6520,7 @@ const stepper = (options) => ({
6270
6520
  const _switch = (options) => ({
6271
6521
  slots: {
6272
6522
  root: "relative flex items-start",
6273
- base: ["inline-flex items-center shrink-0 rounded-full border-2 border-transparent focus-visible:outline-2 focus-visible:outline-offset-2 data-[state=unchecked]:bg-accented", options.theme.transitions && "transition-[background] duration-200"],
6523
+ base: ["inline-flex items-center shrink-0 rounded-full border-2 border-transparent focus-visible:outline-3 data-[state=unchecked]:bg-accented", options.theme.transitions && "transition-[background] duration-200"],
6274
6524
  container: "flex items-center",
6275
6525
  thumb: "group pointer-events-none rounded-full bg-default shadow-lg ring-0 transition-transform duration-200 data-[state=unchecked]:translate-x-0 data-[state=unchecked]:rtl:-translate-x-0 flex items-center justify-center",
6276
6526
  icon: ["absolute shrink-0 group-data-[state=unchecked]:text-dimmed opacity-0 size-10/12", options.theme.transitions && "transition-[color,opacity] duration-200"],
@@ -6281,11 +6531,11 @@ const _switch = (options) => ({
6281
6531
  variants: {
6282
6532
  color: {
6283
6533
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
6284
- base: `data-[state=checked]:bg-${color} focus-visible:outline-${color}`,
6534
+ base: `data-[state=checked]:bg-${color} outline-${color}/25`,
6285
6535
  icon: `group-data-[state=checked]:text-${color}`
6286
6536
  }])),
6287
6537
  neutral: {
6288
- base: "data-[state=checked]:bg-inverted focus-visible:outline-inverted",
6538
+ base: "data-[state=checked]:bg-inverted outline-inverted/25",
6289
6539
  icon: "group-data-[state=checked]:text-highlighted"
6290
6540
  }
6291
6541
  },
@@ -6377,16 +6627,16 @@ const _switch = (options) => ({
6377
6627
 
6378
6628
  const table$1 = (options) => ({
6379
6629
  slots: {
6380
- root: "relative overflow-auto",
6630
+ root: "relative overflow-auto outline-primary/25 focus-visible:outline-3",
6381
6631
  base: "min-w-full overflow-clip",
6382
6632
  caption: "sr-only",
6383
6633
  thead: "relative",
6384
- tbody: "isolate [&>tr]:data-[selectable=true]:hover:bg-elevated/50 [&>tr]:data-[selectable=true]:focus-visible:outline-primary divide-y divide-default",
6634
+ tbody: "isolate [&>tr]:data-[selectable=true]:hover:bg-elevated/50 [&>tr]:data-[selectable=true]:outline-primary/25 [&>tr]:data-[selectable=true]:focus-visible:outline-3 divide-y divide-default",
6385
6635
  tfoot: "relative",
6386
6636
  tr: "data-[selected=true]:bg-elevated/50",
6387
- th: "px-4 py-3.5 text-sm text-highlighted text-left rtl:text-right font-semibold [&:has([role=checkbox])]:pe-0",
6637
+ th: "px-4 py-3.5 text-sm text-highlighted text-start font-semibold [&:has([role=checkbox])]:pe-0",
6388
6638
  td: "p-4 text-sm text-muted whitespace-nowrap [&:has([role=checkbox])]:pe-0",
6389
- separator: "absolute z-1 left-0 w-full h-px bg-(--ui-border-accented)",
6639
+ separator: "absolute z-1 start-0 w-full h-px bg-(--ui-border-accented)",
6390
6640
  empty: "py-6 text-center text-sm text-muted",
6391
6641
  loading: "py-6 text-center"
6392
6642
  },
@@ -6411,7 +6661,12 @@ const table$1 = (options) => ({
6411
6661
  },
6412
6662
  loading: {
6413
6663
  true: {
6414
- thead: "after:absolute after:z-1 after:h-px"
6664
+ thead: "after:absolute after:z-1 after:h-px motion-reduce:after:inset-x-0 motion-reduce:after:animate-pulse"
6665
+ }
6666
+ },
6667
+ externalScroll: {
6668
+ true: {
6669
+ root: "overflow-visible"
6415
6670
  }
6416
6671
  },
6417
6672
  loadingAnimation: {
@@ -6441,25 +6696,25 @@ const table$1 = (options) => ({
6441
6696
  loading: true,
6442
6697
  loadingAnimation: "carousel",
6443
6698
  class: {
6444
- thead: "after:animate-[carousel_2s_ease-in-out_infinite] rtl:after:animate-[carousel-rtl_2s_ease-in-out_infinite]"
6699
+ thead: "motion-safe:after:animate-[carousel_2s_ease-in-out_infinite] motion-safe:rtl:after:animate-[carousel-rtl_2s_ease-in-out_infinite]"
6445
6700
  }
6446
6701
  }, {
6447
6702
  loading: true,
6448
6703
  loadingAnimation: "carousel-inverse",
6449
6704
  class: {
6450
- thead: "after:animate-[carousel-inverse_2s_ease-in-out_infinite] rtl:after:animate-[carousel-inverse-rtl_2s_ease-in-out_infinite]"
6705
+ thead: "motion-safe:after:animate-[carousel-inverse_2s_ease-in-out_infinite] motion-safe:rtl:after:animate-[carousel-inverse-rtl_2s_ease-in-out_infinite]"
6451
6706
  }
6452
6707
  }, {
6453
6708
  loading: true,
6454
6709
  loadingAnimation: "swing",
6455
6710
  class: {
6456
- thead: "after:animate-[swing_2s_ease-in-out_infinite]"
6711
+ thead: "motion-safe:after:animate-[swing_2s_ease-in-out_infinite]"
6457
6712
  }
6458
6713
  }, {
6459
6714
  loading: true,
6460
6715
  loadingAnimation: "elastic",
6461
6716
  class: {
6462
- thead: "after:animate-[elastic_2s_ease-in-out_infinite]"
6717
+ thead: "motion-safe:after:animate-[elastic_2s_ease-in-out_infinite]"
6463
6718
  }
6464
6719
  }],
6465
6720
  defaultVariants: {
@@ -6468,6 +6723,7 @@ const table$1 = (options) => ({
6468
6723
  }
6469
6724
  });
6470
6725
 
6726
+ const ssr = (...classes) => classes.map((c) => `in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:${c}`).join(" ");
6471
6727
  const tabs$1 = (options) => ({
6472
6728
  slots: {
6473
6729
  root: "flex items-center gap-2",
@@ -6480,23 +6736,27 @@ const tabs$1 = (options) => ({
6480
6736
  label: "truncate",
6481
6737
  trailingBadge: "shrink-0",
6482
6738
  trailingBadgeSize: "sm",
6483
- content: "focus:outline-none w-full"
6739
+ content: "w-full rounded-md focus-visible:outline-3"
6484
6740
  },
6485
6741
  variants: {
6486
6742
  color: {
6487
- ...Object.fromEntries((options.theme.colors || []).map((color) => [color, ""])),
6488
- neutral: ""
6743
+ ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
6744
+ content: `outline-${color}/25`
6745
+ }])),
6746
+ neutral: {
6747
+ content: "outline-inverted/25"
6748
+ }
6489
6749
  },
6490
6750
  variant: {
6491
6751
  pill: {
6492
6752
  list: "bg-elevated rounded-lg",
6493
- trigger: "grow",
6753
+ trigger: [`grow`, ssr("before:content-['']", "before:absolute", "before:inset-0", "before:rounded-md", "before:shadow-xs", "before:-z-10", "isolate")],
6494
6754
  indicator: "rounded-md shadow-xs"
6495
6755
  },
6496
6756
  link: {
6497
6757
  list: "border-default",
6498
6758
  indicator: "rounded-full",
6499
- trigger: "focus:outline-none"
6759
+ trigger: ssr("after:content-['']", "after:absolute", "after:rounded-full")
6500
6760
  }
6501
6761
  },
6502
6762
  orientation: {
@@ -6550,49 +6810,52 @@ const tabs$1 = (options) => ({
6550
6810
  variant: "link",
6551
6811
  class: {
6552
6812
  list: "border-b -mb-px",
6553
- indicator: "-bottom-px h-px"
6813
+ indicator: "-bottom-px h-px",
6814
+ trigger: ssr("after:inset-x-0", "after:-bottom-[calc(var(--spacing)+1px)]", "after:h-px")
6554
6815
  }
6555
6816
  }, {
6556
6817
  orientation: "vertical",
6557
6818
  variant: "pill",
6558
6819
  class: {
6559
6820
  indicator: "inset-x-1",
6560
- list: "items-center"
6821
+ list: "items-center",
6822
+ trigger: "w-full justify-center"
6561
6823
  }
6562
6824
  }, {
6563
6825
  orientation: "vertical",
6564
6826
  variant: "link",
6565
6827
  class: {
6566
6828
  list: "border-s -ms-px",
6567
- indicator: "-start-px w-px"
6829
+ indicator: "-start-px w-px",
6830
+ trigger: ssr("after:inset-y-0", "after:-start-[calc(var(--spacing)+1px)]", "after:w-px")
6568
6831
  }
6569
6832
  }, ...(options.theme.colors || []).map((color) => ({
6570
6833
  color,
6571
6834
  variant: "pill",
6572
6835
  class: {
6573
6836
  indicator: `bg-${color}`,
6574
- trigger: `data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-${color}`
6837
+ trigger: [`data-[state=active]:text-inverted outline-${color}/25 focus-visible:outline-3`, ssr(`before:bg-${color}`)]
6575
6838
  }
6576
6839
  })), {
6577
6840
  color: "neutral",
6578
6841
  variant: "pill",
6579
6842
  class: {
6580
6843
  indicator: "bg-inverted",
6581
- trigger: "data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-inverted"
6844
+ trigger: [`data-[state=active]:text-inverted outline-inverted/25 focus-visible:outline-3`, ssr("before:bg-inverted")]
6582
6845
  }
6583
6846
  }, ...(options.theme.colors || []).map((color) => ({
6584
6847
  color,
6585
6848
  variant: "link",
6586
6849
  class: {
6587
6850
  indicator: `bg-${color}`,
6588
- trigger: `data-[state=active]:text-${color} focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-${color}`
6851
+ trigger: [`data-[state=active]:text-${color} outline-${color}/25 focus-visible:outline-3`, ssr(`after:bg-${color}`)]
6589
6852
  }
6590
6853
  })), {
6591
6854
  color: "neutral",
6592
6855
  variant: "link",
6593
6856
  class: {
6594
6857
  indicator: "bg-inverted",
6595
- trigger: "data-[state=active]:text-highlighted focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"
6858
+ trigger: [`data-[state=active]:text-highlighted outline-inverted/25 focus-visible:outline-3`, ssr("after:bg-inverted")]
6596
6859
  }
6597
6860
  }],
6598
6861
  defaultVariants: {
@@ -6829,7 +7092,7 @@ const timeline = (options) => ({
6829
7092
 
6830
7093
  const toast = (options) => ({
6831
7094
  slots: {
6832
- root: "relative group overflow-hidden bg-default shadow-lg rounded-lg ring ring-default p-4 flex gap-2.5 focus:outline-none",
7095
+ root: "relative group overflow-hidden bg-default shadow-lg rounded-lg ring ring-default p-4 flex gap-2.5",
6833
7096
  wrapper: "w-0 flex-1 flex flex-col",
6834
7097
  title: "text-sm font-medium text-highlighted",
6835
7098
  description: "text-sm text-muted",
@@ -6843,11 +7106,11 @@ const toast = (options) => ({
6843
7106
  variants: {
6844
7107
  color: {
6845
7108
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
6846
- root: `focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-${color}`,
7109
+ root: `outline-${color}/25 focus-visible:outline-3 focus-visible:ring-${color}`,
6847
7110
  icon: `text-${color}`
6848
7111
  }])),
6849
7112
  neutral: {
6850
- root: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted",
7113
+ root: "outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted",
6851
7114
  icon: "text-highlighted"
6852
7115
  }
6853
7116
  },
@@ -6945,7 +7208,7 @@ const tree = (options) => ({
6945
7208
  item: "w-full",
6946
7209
  listWithChildren: "border-s border-default",
6947
7210
  itemWithChildren: "ps-1.5 -ms-px",
6948
- link: "relative group w-full flex items-center text-sm select-none before:absolute before:inset-y-px before:inset-x-0 before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2",
7211
+ link: "relative group w-full flex items-center text-sm select-none before:absolute before:inset-y-px before:inset-x-0 before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3",
6949
7212
  linkLeadingIcon: "shrink-0 relative",
6950
7213
  linkLabel: "truncate",
6951
7214
  linkTrailing: "ms-auto inline-flex gap-1.5 items-center",
@@ -6959,10 +7222,10 @@ const tree = (options) => ({
6959
7222
  },
6960
7223
  color: {
6961
7224
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
6962
- link: `focus-visible:before:ring-${color}`
7225
+ link: `before:outline-${color}/25`
6963
7226
  }])),
6964
7227
  neutral: {
6965
- link: "focus-visible:before:ring-inverted"
7228
+ link: "before:outline-inverted/25"
6966
7229
  }
6967
7230
  },
6968
7231
  size: {
@@ -7052,6 +7315,7 @@ const user = (options) => ({
7052
7315
  },
7053
7316
  to: {
7054
7317
  true: {
7318
+ root: ["rounded-md outline-primary/25 has-focus-visible:outline-3", options.theme.transitions && "transition"],
7055
7319
  name: ["text-default peer-hover:text-highlighted peer-focus-visible:text-highlighted", options.theme.transitions && "transition-colors"],
7056
7320
  description: ["peer-hover:text-toned peer-focus-visible:text-toned", options.theme.transitions && "transition-colors"],
7057
7321
  avatar: "transform transition-transform duration-200 group-hover/user:scale-115 group-has-focus-visible/user:scale-115"
@@ -7182,6 +7446,7 @@ const theme = {
7182
7446
  inputDate: inputDate,
7183
7447
  inputMenu: inputMenu,
7184
7448
  inputNumber: inputNumber,
7449
+ inputRating: inputRating,
7185
7450
  inputTags: inputTags,
7186
7451
  inputTime: inputTime,
7187
7452
  kbd: kbd$1,
@@ -7236,7 +7501,7 @@ const theme = {
7236
7501
  };
7237
7502
 
7238
7503
  const a = (options) => ({
7239
- base: ["text-primary border-b border-transparent hover:border-primary font-medium focus-visible:outline-primary focus-visible:has-[>code]:outline-0 [&>code]:border-dashed hover:[&>code]:border-primary hover:[&>code]:text-primary focus-visible:[&>code]:border-primary focus-visible:[&>code]:text-primary", options.theme.transitions && "transition-colors [&>code]:transition-colors"]
7504
+ base: ["text-primary border-b border-transparent hover:border-primary font-medium rounded-xs outline-primary/25 focus-visible:outline-3 focus-visible:has-[>code]:outline-0 [&>code]:border-dashed [&>code]:outline-primary/25 focus-visible:[&>code]:outline-3 hover:[&>code]:border-primary hover:[&>code]:text-primary focus-visible:[&>code]:border-primary focus-visible:[&>code]:text-primary", options.theme.transitions && "transition-colors [&>code]:transition-colors"]
7240
7505
  });
7241
7506
 
7242
7507
  const accordion = {
@@ -7262,12 +7527,12 @@ const callout = (options) => ({
7262
7527
  slots: {
7263
7528
  base: ["group relative block px-4 py-3 rounded-md text-sm/6 my-5 last:mb-0 [&_code]:text-xs/5 [&_code]:bg-default [&_pre]:bg-default [&>div]:my-2.5 [&_ul]:my-2.5 [&_ol]:my-2.5 *:last:mb-0! [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:my-0", options.theme.transitions && "transition-colors"],
7264
7529
  icon: ["size-4 shrink-0 align-sub me-2 inline-block", options.theme.transitions && "transition-colors"],
7265
- externalIcon: ["size-4 align-top absolute right-2 top-2 pointer-events-none", options.theme.transitions && "transition-colors"]
7530
+ externalIcon: ["size-4 align-top absolute end-2 top-2 pointer-events-none", options.theme.transitions && "transition-colors"]
7266
7531
  },
7267
7532
  variants: {
7268
7533
  color: {
7269
7534
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
7270
- base: `border border-${color}/25 bg-${color}/10 text-${color}-600 dark:text-${color}-300 [&_a]:text-${color} [&_a]:hover:border-${color} [&_a]:focus-visible:outline-${color} [&_code]:text-${color}-600 dark:[&_code]:text-${color}-300 [&_code]:border-${color}/25 [&_a]:hover:[&>code]:border-${color} [&_a]:hover:[&>code]:text-${color} [&_a]:focus-visible:[&>code]:border-${color} [&_a]:focus-visible:[&>code]:text-${color} [&>ul]:marker:text-${color}/50`,
7535
+ base: `border border-${color}/25 bg-${color}/10 text-${color}-600 dark:text-${color}-300 [&_a]:text-${color} [&_a]:hover:border-${color} [&_a]:outline-${color}/25 [&_a]:focus-visible:outline-3 [&_a]:focus-visible:has-[>code]:outline-0 [&_code]:text-${color}-600 dark:[&_code]:text-${color}-300 [&_code]:border-${color}/25 [&_a]:[&>code]:outline-${color}/25 [&_a]:hover:[&>code]:border-${color} [&_a]:hover:[&>code]:text-${color} [&_a]:focus-visible:[&>code]:border-${color} [&_a]:focus-visible:[&>code]:text-${color} [&>ul]:marker:text-${color}/50`,
7271
7536
  icon: `text-${color}`,
7272
7537
  externalIcon: `text-${color}-600 dark:text-${color}-300`
7273
7538
  }])),
@@ -7285,14 +7550,14 @@ const callout = (options) => ({
7285
7550
  color,
7286
7551
  to: true,
7287
7552
  class: {
7288
- base: `hover:border-${color} has-focus-visible:border-${color}`,
7553
+ base: `hover:border-${color} outline-${color}/25 has-[>a:focus-visible]:outline-3 has-[>a:focus-visible]:border-${color}`,
7289
7554
  externalIcon: `group-hover:text-${color}`
7290
7555
  }
7291
7556
  })), {
7292
7557
  color: "neutral",
7293
7558
  to: true,
7294
7559
  class: {
7295
- base: "hover:border-inverted has-focus-visible:border-inverted",
7560
+ base: "hover:border-inverted outline-inverted/25 has-[>a:focus-visible]:outline-3 has-[>a:focus-visible]:border-inverted",
7296
7561
  externalIcon: "group-hover:text-highlighted"
7297
7562
  }
7298
7563
  }],
@@ -7307,7 +7572,7 @@ const card = (options) => ({
7307
7572
  icon: "size-6 mb-2 block",
7308
7573
  title: "text-highlighted font-semibold",
7309
7574
  description: "text-[15px] text-muted *:first:mt-0 *:last:mb-0 *:my-1",
7310
- externalIcon: ["size-4 align-top absolute right-2 top-2 text-dimmed pointer-events-none", options.theme.transitions && "transition-colors"]
7575
+ externalIcon: ["size-4 align-top absolute end-2 top-2 text-dimmed pointer-events-none", options.theme.transitions && "transition-colors"]
7311
7576
  },
7312
7577
  variants: {
7313
7578
  color: {
@@ -7331,14 +7596,14 @@ const card = (options) => ({
7331
7596
  color,
7332
7597
  to: true,
7333
7598
  class: {
7334
- base: `hover:bg-${color}/10 hover:border-${color} has-focus-visible:border-${color}`,
7599
+ base: `hover:bg-${color}/10 hover:border-${color} outline-${color}/25 has-[>a:focus-visible]:outline-3 has-[>a:focus-visible]:border-${color}`,
7335
7600
  externalIcon: `group-hover:text-${color}`
7336
7601
  }
7337
7602
  })), {
7338
7603
  color: "neutral",
7339
7604
  to: true,
7340
7605
  class: {
7341
- base: "hover:bg-elevated/50 hover:border-inverted has-focus-visible:border-inverted",
7606
+ base: "hover:bg-elevated/50 hover:border-inverted outline-inverted/25 has-[>a:focus-visible]:outline-3 has-[>a:focus-visible]:border-inverted",
7342
7607
  externalIcon: "group-hover:text-highlighted"
7343
7608
  }
7344
7609
  }],
@@ -7366,7 +7631,7 @@ const code = (options) => ({
7366
7631
 
7367
7632
  const codeCollapse = {
7368
7633
  slots: {
7369
- root: "relative [&_pre]:h-[200px] bg-muted",
7634
+ root: "relative my-5 bg-muted [&>div]:my-0 [&_pre]:max-h-[80vh] [&_pre]:pb-12",
7370
7635
  footer: "h-16 absolute inset-x-px bottom-px rounded-b-md flex items-center justify-center",
7371
7636
  trigger: "group",
7372
7637
  triggerIcon: "group-data-[state=open]:rotate-180"
@@ -7374,11 +7639,11 @@ const codeCollapse = {
7374
7639
  variants: {
7375
7640
  open: {
7376
7641
  true: {
7377
- root: "[&_pre]:h-auto [&_pre]:min-h-[200px] [&_pre]:max-h-[80vh] [&_pre]:pb-12"
7642
+ root: "rounded-md"
7378
7643
  },
7379
7644
  false: {
7380
- root: "[&_pre]:overflow-hidden",
7381
- footer: "bg-linear-to-t from-muted"
7645
+ root: "max-h-[200px] overflow-hidden rounded-b-md [&_pre]:overflow-hidden",
7646
+ footer: "inset-x-0 bottom-0 border border-t-0 border-muted bg-linear-to-t from-muted"
7382
7647
  }
7383
7648
  }
7384
7649
  }
@@ -7389,7 +7654,7 @@ const codeGroup = (options) => ({
7389
7654
  root: "relative group *:not-first:my-0! *:not-first:static! my-5",
7390
7655
  list: "relative flex items-center gap-1 border border-muted bg-default border-b-0 rounded-t-md overflow-x-auto p-2",
7391
7656
  indicator: "absolute left-0 inset-y-2 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position) transition-[translate,width] duration-200 bg-elevated rounded-md shadow-xs",
7392
- trigger: ["relative inline-flex items-center gap-1.5 text-default data-[state=active]:text-highlighted hover:bg-elevated/50 px-2 py-1.5 text-sm rounded-md disabled:cursor-not-allowed disabled:opacity-75 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary focus:outline-none", options.theme.transitions && "transition-colors"],
7657
+ trigger: ["relative inline-flex items-center gap-1.5 text-default data-[state=active]:text-highlighted hover:bg-elevated/50 px-2 py-1.5 text-sm rounded-md disabled:cursor-not-allowed disabled:opacity-75 outline-primary/25 focus-visible:outline-3", options.theme.transitions && "transition-colors"],
7393
7658
  triggerIcon: "size-4 shrink-0",
7394
7659
  triggerLabel: "truncate"
7395
7660
  }
@@ -7485,12 +7750,12 @@ const codeTree = (options) => ({
7485
7750
  item: "",
7486
7751
  listWithChildren: "ms-4.5 border-s border-default",
7487
7752
  itemWithChildren: "ps-1.5 -ms-px",
7488
- link: "relative group peer w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2",
7753
+ link: "relative group peer w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none before:outline-primary/25 focus-visible:before:outline-3",
7489
7754
  linkLeadingIcon: "size-4 shrink-0",
7490
7755
  linkLabel: "truncate",
7491
7756
  linkTrailing: "ms-auto inline-flex gap-1.5 items-center",
7492
7757
  linkTrailingIcon: "size-5 transform transition-transform duration-200 shrink-0 group-data-expanded:rotate-180",
7493
- content: "overflow-hidden lg:col-span-2 flex flex-col [&>div]:my-0 [&>div]:flex-1 [&>div]:flex [&>div]:flex-col [&>div>div]:border-0 [&>div>pre]:border-b-0 [&>div>pre]:border-s-0 [&>div>pre]:border-e-0 [&>div>pre]:rounded-l-none [&>div>pre]:flex-1 [&>div]:overflow-y-auto"
7758
+ content: "overflow-hidden lg:col-span-2 flex flex-col [&>div]:my-0 [&>div]:flex-1 [&>div]:flex [&>div]:flex-col [&>div>div]:border-0 [&>div>pre]:border-b-0 [&>div>pre]:border-s-0 [&>div>pre]:border-e-0 [&>div>pre]:rounded-s-none [&>div>pre]:flex-1 [&>div]:overflow-y-auto"
7494
7759
  },
7495
7760
  variants: {
7496
7761
  active: {
@@ -7507,7 +7772,7 @@ const codeTree = (options) => ({
7507
7772
  const collapsible = (options) => ({
7508
7773
  slots: {
7509
7774
  root: "my-5",
7510
- trigger: ["group relative rounded-xs inline-flex items-center gap-1.5 text-muted hover:text-default text-sm focus-visible:ring-2 focus-visible:ring-primary focus:outline-none", options.theme.transitions && "transition-colors"],
7775
+ trigger: ["group relative rounded-xs inline-flex items-center gap-1.5 text-muted hover:text-default text-sm outline-primary/25 focus-visible:outline-3", options.theme.transitions && "transition-colors"],
7511
7776
  triggerIcon: "size-4 shrink-0 group-data-[state=open]:rotate-180 transition-transform duration-200",
7512
7777
  triggerLabel: "truncate",
7513
7778
  content: "*:first:mt-2.5 *:last:mb-0 *:my-1.5"
@@ -7543,25 +7808,25 @@ const h1 = {
7543
7808
 
7544
7809
  const h2 = (options) => ({
7545
7810
  slots: {
7546
- base: ["relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:focus-visible:outline-primary [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold", options.theme.transitions && "[&>a>code]:transition-colors"],
7547
- leading: ["absolute -ms-8 top-1 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated hover:text-primary rounded-md hidden lg:flex text-muted", options.theme.transitions && "transition"],
7811
+ base: ["relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold", options.theme.transitions && "[&>a>code]:transition-colors"],
7812
+ leading: ["absolute -ms-8 top-1 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated group-hover:text-primary group-focus:text-primary rounded-md hidden lg:flex text-muted", options.theme.transitions && "transition"],
7548
7813
  leadingIcon: "size-4 shrink-0",
7549
- link: "group lg:ps-2 lg:-ms-2"
7814
+ link: "group lg:after:absolute lg:after:inset-y-0 lg:after:-inset-s-2 lg:after:w-2"
7550
7815
  }
7551
7816
  });
7552
7817
 
7553
7818
  const h3 = (options) => ({
7554
7819
  slots: {
7555
- base: ["relative text-xl text-highlighted font-bold mt-8 mb-3 scroll-mt-[calc(32px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(32px+var(--ui-header-height))] [&>a]:focus-visible:outline-primary [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-lg/6 [&>a>code]:font-bold", options.theme.transitions && "[&>a>code]:transition-colors"],
7556
- leading: ["absolute -ms-8 top-0.5 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated hover:text-primary rounded-md hidden lg:flex text-muted", options.theme.transitions && "transition"],
7820
+ base: ["relative text-xl text-highlighted font-bold mt-8 mb-3 scroll-mt-[calc(32px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(32px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-lg/6 [&>a>code]:font-bold", options.theme.transitions && "[&>a>code]:transition-colors"],
7821
+ leading: ["absolute -ms-8 top-0.5 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated group-hover:text-primary group-focus:text-primary rounded-md hidden lg:flex text-muted", options.theme.transitions && "transition"],
7557
7822
  leadingIcon: "size-4 shrink-0",
7558
- link: "group lg:ps-2 lg:-ms-2"
7823
+ link: "group lg:after:absolute lg:after:inset-y-0 lg:after:-inset-s-2 lg:after:w-2"
7559
7824
  }
7560
7825
  });
7561
7826
 
7562
7827
  const h4 = {
7563
7828
  slots: {
7564
- base: "text-lg text-highlighted font-bold mt-6 mb-2 scroll-mt-[calc(24px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(24px+var(--ui-header-height))] [&>a]:focus-visible:outline-primary",
7829
+ base: "text-lg text-highlighted font-bold mt-6 mb-2 scroll-mt-[calc(24px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(24px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3",
7565
7830
  link: ""
7566
7831
  }
7567
7832
  };
@@ -7621,8 +7886,8 @@ const pre = {
7621
7886
  header: "flex items-center gap-1.5 border border-muted bg-default border-b-0 relative rounded-t-md px-4 py-3",
7622
7887
  filename: "text-default text-sm/6",
7623
7888
  icon: "size-4 shrink-0",
7624
- copy: "absolute top-[11px] right-[11px] lg:opacity-0 lg:group-hover:opacity-100 transition",
7625
- base: "group font-mono text-sm/6 border border-muted bg-muted rounded-md px-4 py-3 whitespace-pre-wrap wrap-break-word overflow-x-auto focus:outline-none **:[.line]:block **:[.line.highlight]:-mx-4 **:[.line.highlight]:px-4 **:[.line.highlight]:bg-accented/50!"
7889
+ copy: "absolute top-[11px] end-[11px] lg:opacity-0 lg:group-hover:opacity-100 lg:focus-visible:opacity-100 transition",
7890
+ base: "group font-mono text-sm/6 border border-muted bg-muted rounded-md px-4 py-3 whitespace-pre-wrap wrap-break-word overflow-x-auto outline-primary/25 focus-visible:outline-3 focus-visible:border-primary **:[.line]:block **:[.line.highlight]:-mx-4 **:[.line.highlight]:px-4 **:[.line.highlight]:bg-accented/50!"
7626
7891
  },
7627
7892
  variants: {
7628
7893
  filename: {
@@ -7663,7 +7928,7 @@ const strong = {
7663
7928
 
7664
7929
  const table = {
7665
7930
  slots: {
7666
- root: "relative my-5 overflow-x-auto",
7931
+ root: "relative my-5 overflow-x-auto rounded-md outline-primary/25 focus-visible:outline-3",
7667
7932
  base: "w-full border-separate border-spacing-0 rounded-md"
7668
7933
  }
7669
7934
  };
@@ -7686,9 +7951,9 @@ const td = {
7686
7951
  base: "py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5",
7687
7952
  variants: {
7688
7953
  align: {
7689
- left: "text-left",
7954
+ left: "text-start",
7690
7955
  center: "text-center",
7691
- right: "text-right"
7956
+ right: "text-end"
7692
7957
  }
7693
7958
  },
7694
7959
  defaultVariants: {
@@ -7700,9 +7965,9 @@ const th = {
7700
7965
  base: "py-3 px-4 font-semibold text-sm border-e border-b first:border-s border-t border-muted",
7701
7966
  variants: {
7702
7967
  align: {
7703
- left: "text-left",
7968
+ left: "text-start",
7704
7969
  center: "text-center",
7705
- right: "text-right"
7970
+ right: "text-end"
7706
7971
  }
7707
7972
  },
7708
7973
  defaultVariants: {
@@ -7715,7 +7980,7 @@ const thead = {
7715
7980
  };
7716
7981
 
7717
7982
  const tr = {
7718
- base: "[&:first-child>th:first-child]:rounded-tl-md [&:first-child>th:last-child]:rounded-tr-md [&:last-child>td:first-child]:rounded-bl-md [&:last-child>td:last-child]:rounded-br-md"
7983
+ base: "[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"
7719
7984
  };
7720
7985
 
7721
7986
  const ul = {
@@ -7771,13 +8036,13 @@ const themeProse = {
7771
8036
  const contentNavigation = (options) => ({
7772
8037
  slots: {
7773
8038
  root: "",
7774
- content: "data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] overflow-hidden focus:outline-none",
8039
+ content: "data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] data-[state=closed]:overflow-hidden focus:outline-none",
7775
8040
  list: "isolate -mx-2.5 -mt-1.5",
7776
8041
  item: "",
7777
8042
  listWithChildren: "ms-5 border-s border-default",
7778
8043
  itemWithChildren: "flex flex-col data-[state=open]:mb-1.5",
7779
8044
  trigger: "font-semibold",
7780
- link: "group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2",
8045
+ link: "group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3",
7781
8046
  linkLeadingIcon: "shrink-0 size-5",
7782
8047
  linkTrailing: "ms-auto inline-flex gap-1.5 items-center",
7783
8048
  linkTrailingBadge: "shrink-0",
@@ -7789,12 +8054,10 @@ const contentNavigation = (options) => ({
7789
8054
  variants: {
7790
8055
  color: {
7791
8056
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
7792
- trigger: `focus-visible:ring-${color}`,
7793
- link: `focus-visible:before:ring-${color}`
8057
+ link: `before:outline-${color}/25`
7794
8058
  }])),
7795
8059
  neutral: {
7796
- trigger: "focus-visible:ring-inverted",
7797
- link: "focus-visible:before:ring-inverted"
8060
+ link: "before:outline-inverted/25"
7798
8061
  }
7799
8062
  },
7800
8063
  highlightColor: {
@@ -7833,7 +8096,7 @@ const contentNavigation = (options) => ({
7833
8096
  highlight: true,
7834
8097
  level: true,
7835
8098
  class: {
7836
- link: ["after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full", options.theme.transitions && "after:transition-colors"]
8099
+ link: ["after:absolute after:-start-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full", options.theme.transitions && "after:transition-colors"]
7837
8100
  }
7838
8101
  }, {
7839
8102
  disabled: false,
@@ -7965,7 +8228,7 @@ const contentSearchButton = {
7965
8228
  const contentSurround = (options) => ({
7966
8229
  slots: {
7967
8230
  root: "grid grid-cols-1 sm:grid-cols-2 gap-8",
7968
- link: ["group block px-6 py-8 rounded-lg border border-default hover:bg-elevated/50 focus-visible:outline-primary", options.theme.transitions && "transition-colors"],
8231
+ link: ["group block px-6 py-8 rounded-lg border border-default hover:bg-elevated/50 outline-primary/25 focus-visible:outline-3 focus-visible:border-primary", options.theme.transitions && "transition-colors"],
7969
8232
  linkLeading: ["inline-flex items-center rounded-full p-1.5 bg-elevated group-hover:bg-primary/10 ring ring-accented mb-4 group-hover:ring-primary/50", options.theme.transitions && "transition"],
7970
8233
  linkLeadingIcon: ["size-5 shrink-0 text-highlighted group-hover:text-primary", options.theme.transitions && "transition-[color,translate]"],
7971
8234
  linkTitle: "font-medium text-[15px] text-highlighted mb-1 truncate",
@@ -7974,11 +8237,11 @@ const contentSurround = (options) => ({
7974
8237
  variants: {
7975
8238
  direction: {
7976
8239
  left: {
7977
- linkLeadingIcon: [options.theme.transitions && "group-active:-translate-x-0.5"]
8240
+ linkLeadingIcon: "group-active:-translate-x-0.5 rtl:group-active:translate-x-0.5"
7978
8241
  },
7979
8242
  right: {
7980
8243
  link: "text-end",
7981
- linkLeadingIcon: [options.theme.transitions && "group-active:translate-x-0.5"]
8244
+ linkLeadingIcon: "group-active:translate-x-0.5 rtl:group-active:-translate-x-0.5"
7982
8245
  }
7983
8246
  }
7984
8247
  }
@@ -7986,20 +8249,20 @@ const contentSurround = (options) => ({
7986
8249
 
7987
8250
  const contentToc = (options) => ({
7988
8251
  slots: {
7989
- root: "sticky top-(--ui-header-height) z-10 bg-default/75 lg:bg-[initial] backdrop-blur -mx-4 px-4 sm:px-6 sm:-mx-6 lg:ms-0 overflow-y-auto max-h-[calc(100vh-var(--ui-header-height))]",
7990
- container: "pt-4 sm:pt-6 pb-2.5 sm:pb-4.5 lg:py-8 border-b border-dashed border-default lg:border-0 flex flex-col",
7991
- top: "",
7992
- bottom: "hidden lg:flex lg:flex-col gap-6",
7993
- trigger: "group text-sm font-semibold flex-1 flex items-center gap-1.5 py-1.5 -mt-1.5 focus-visible:outline-primary",
8252
+ root: "sticky top-(--ui-header-height) z-10 bg-default/75 lg:bg-[initial] backdrop-blur -mx-4 px-4 sm:px-6 sm:-mx-6 lg:ms-0 flex flex-col overflow-y-auto lg:overflow-hidden max-h-[calc(100vh-var(--ui-header-height))]",
8253
+ container: "pt-4 sm:pt-6 pb-2.5 sm:pb-4.5 lg:py-8 border-b border-dashed border-default lg:border-0 flex flex-col lg:min-h-0",
8254
+ top: "lg:shrink-0",
8255
+ bottom: "hidden lg:flex lg:flex-col lg:shrink-0 gap-6",
8256
+ trigger: "group text-sm font-semibold flex-1 flex items-center gap-1.5 py-1.5 -mt-1.5 rounded-sm outline-primary/25 focus-visible:outline-3 lg:shrink-0",
7994
8257
  title: "truncate",
7995
8258
  trailing: "ms-auto inline-flex gap-1.5 items-center",
7996
8259
  trailingIcon: "size-5 transform transition-transform duration-200 shrink-0 group-data-[state=open]:rotate-180 lg:hidden",
7997
- content: "relative data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] overflow-hidden focus:outline-none",
8260
+ content: "relative data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=closed]:overflow-hidden focus:outline-none lg:min-h-0 lg:overflow-y-auto lg:scrollbar-none",
7998
8261
  list: "min-w-0",
7999
8262
  listWithChildren: "ms-3",
8000
8263
  item: "min-w-0",
8001
8264
  itemWithChildren: "",
8002
- link: "group relative text-sm flex items-center focus-visible:outline-primary py-1",
8265
+ link: "group relative text-sm flex items-center rounded-sm outline-primary/25 focus-visible:outline-3 py-1",
8003
8266
  linkText: "truncate",
8004
8267
  indicator: "",
8005
8268
  indicatorLine: "",
@@ -8100,6 +8363,7 @@ function getTemplates(options, uiConfig, nuxt, resolve) {
8100
8363
  const template = theme2[component];
8101
8364
  let result = typeof template === "function" ? template(options) : template;
8102
8365
  result = applyDefaultVariants(result, options.theme?.defaultVariants);
8366
+ result = applyUnstyled(result, options.theme?.unstyled);
8103
8367
  result = applyPrefixToObject(result, options.theme?.prefix);
8104
8368
  const variants = Object.entries(result.variants || {}).filter(([_, values]) => {
8105
8369
  const keys = Object.keys(values);
@@ -8387,7 +8651,47 @@ const publicComposables = {
8387
8651
  useResizable: ["useResizable"],
8388
8652
  useScrollShadow: ["useScrollShadow"],
8389
8653
  useScrollspy: ["useScrollspy"],
8390
- useToast: ["useToast"]
8654
+ useToast: ["useToast"],
8655
+ useTour: ["useTour"]
8391
8656
  };
8392
8657
 
8393
- export { addTemplates as a, getTemplates as b, defaultOptions as d, getDefaultConfig as g, publicComposables as p, resolveColors as r };
8658
+ function parseIconName(icon, collections = [], fallback = false) {
8659
+ const id = icon.replace(/^i[-:]/, "");
8660
+ const colon = id.indexOf(":");
8661
+ if (colon !== -1) {
8662
+ return colon > 0 && colon < id.length - 1 ? [id.slice(0, colon), id.slice(colon + 1)] : void 0;
8663
+ }
8664
+ let collection;
8665
+ for (const name of collections) {
8666
+ if (id.startsWith(`${name}-`) && id.length > name.length + 1 && name.length > (collection?.length ?? 0)) {
8667
+ collection = name;
8668
+ }
8669
+ }
8670
+ if (collection) {
8671
+ return [collection, id.slice(collection.length + 1)];
8672
+ }
8673
+ if (fallback) {
8674
+ const dash = id.indexOf("-");
8675
+ if (dash > 0 && dash < id.length - 1) {
8676
+ return [id.slice(0, dash), id.slice(dash + 1)];
8677
+ }
8678
+ }
8679
+ }
8680
+ const trustedCollections = new Set(
8681
+ Object.values(defaultIcons).map((icon) => parseIconName(icon, [], true)?.[0]).filter((collection) => !!collection)
8682
+ );
8683
+ function getClientBundleIcons(icons = {}) {
8684
+ const names = /* @__PURE__ */ new Set();
8685
+ for (const icon of Object.values(icons)) {
8686
+ if (typeof icon !== "string") {
8687
+ continue;
8688
+ }
8689
+ const parsed = parseIconName(icon, trustedCollections);
8690
+ if (parsed && trustedCollections.has(parsed[0])) {
8691
+ names.add(`${parsed[0]}:${parsed[1]}`);
8692
+ }
8693
+ }
8694
+ return [...names];
8695
+ }
8696
+
8697
+ export { addTemplates as a, getDefaultConfig as b, getTemplates as c, defaultOptions as d, publicComposables as e, getClientBundleIcons as g, parseIconName as p, resolveColors as r };