@ui-sdk/web 0.0.0-stage → 0.1.0-beta.1

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 (467) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +10 -2
  3. package/browser/web/accordion.js +1 -0
  4. package/browser/web/alert-dialog.js +1 -0
  5. package/browser/web/autocomplete.js +1 -0
  6. package/browser/web/avatar.js +1 -0
  7. package/browser/web/button.js +1 -0
  8. package/browser/web/calendar.js +1 -0
  9. package/browser/web/carousel.js +1 -0
  10. package/browser/web/checkbox.js +1 -0
  11. package/browser/web/chunks/0eRGibL6.js +1 -0
  12. package/browser/web/chunks/2bIEUO6_.js +1 -0
  13. package/browser/web/chunks/5A9w2ULz.js +1 -0
  14. package/browser/web/chunks/5RSyydjV.js +1 -0
  15. package/browser/web/chunks/9pWTy2wl.js +1 -0
  16. package/browser/web/chunks/B0f2j6zz.js +1 -0
  17. package/browser/web/chunks/B1rux6br.js +1 -0
  18. package/browser/web/chunks/B3-APaNf.js +1 -0
  19. package/browser/web/chunks/B7EgSgjQ.js +1 -0
  20. package/browser/web/chunks/B8QcOzJU.js +1 -0
  21. package/browser/web/chunks/BFueEkwm.js +3 -0
  22. package/browser/web/chunks/BJj3oS29.js +1 -0
  23. package/browser/web/chunks/BNSvTCpr.js +1 -0
  24. package/browser/web/chunks/BPD0kAZB.js +1 -0
  25. package/browser/web/chunks/BQeduZqT.js +1 -0
  26. package/browser/web/chunks/B_CVFyiz.js +1 -0
  27. package/browser/web/chunks/B_ns1YHO.js +1 -0
  28. package/browser/web/chunks/BcwkVTsR.js +1 -0
  29. package/browser/web/chunks/BeaQ6TYM.js +1 -0
  30. package/browser/web/chunks/BgBB013u.js +1 -0
  31. package/browser/web/chunks/BgsKhHDm.js +1 -0
  32. package/browser/web/chunks/BjMcbuhi.js +9 -0
  33. package/browser/web/chunks/Bjiy_F2N.js +1 -0
  34. package/browser/web/chunks/BqScCLwv.js +1 -0
  35. package/browser/web/chunks/BqX3Utqx.js +1 -0
  36. package/browser/web/chunks/BtVkQf3z.js +1 -0
  37. package/browser/web/chunks/By30h-7B.js +1 -0
  38. package/browser/web/chunks/C1zqYpy2.js +1 -0
  39. package/browser/web/chunks/C436juFf.js +1 -0
  40. package/browser/web/chunks/C4_bULs1.js +1 -0
  41. package/browser/web/chunks/C4omqJEz.js +1 -0
  42. package/browser/web/chunks/C7tt0T3n.js +1 -0
  43. package/browser/web/chunks/C8w7s5dg.js +1 -0
  44. package/browser/web/chunks/CElY4erO.js +1 -0
  45. package/browser/web/chunks/CFODo-m2.js +1 -0
  46. package/browser/web/chunks/CL4wjam9.js +1 -0
  47. package/browser/web/chunks/CMg-8UVf.js +1 -0
  48. package/browser/web/chunks/COWKfakj.js +1 -0
  49. package/browser/web/chunks/CQBU0qZ4.js +1 -0
  50. package/browser/web/chunks/CV6uABgc.js +1 -0
  51. package/browser/web/chunks/C_SWFpWQ.js +1 -0
  52. package/browser/web/chunks/C_Uanbrl.js +1 -0
  53. package/browser/web/chunks/Ce_CSanC.js +1 -0
  54. package/browser/web/chunks/Cg-ZmRhS.js +1 -0
  55. package/browser/web/chunks/Cgf2wPI_.js +1 -0
  56. package/browser/web/chunks/Cuep_3Vf.js +1 -0
  57. package/browser/web/chunks/D02PaHn6.js +1 -0
  58. package/browser/web/chunks/D5LiaI5R.js +1 -0
  59. package/browser/web/chunks/D9UgVYvF.js +1 -0
  60. package/browser/web/chunks/DC08tnkE.js +2 -0
  61. package/browser/web/chunks/DG8YGSvu.js +1 -0
  62. package/browser/web/chunks/DIQd0FYD.js +1 -0
  63. package/browser/web/chunks/DMLqacE8.js +1 -0
  64. package/browser/web/chunks/DSUI3yI-.js +1 -0
  65. package/browser/web/chunks/DT3Hb76X.js +1 -0
  66. package/browser/web/chunks/DY75g3-W.js +1 -0
  67. package/browser/web/chunks/DZpNQKZ9.js +1 -0
  68. package/browser/web/chunks/Db-W1wrC.js +1 -0
  69. package/browser/web/chunks/Dc1xK3Ii.js +1 -0
  70. package/browser/web/chunks/DdF6awFs.js +1 -0
  71. package/browser/web/chunks/DdaCLml8.js +1 -0
  72. package/browser/web/chunks/Dh8MLjQO.js +1 -0
  73. package/browser/web/chunks/DiuslJRy.js +1 -0
  74. package/browser/web/chunks/DjRcw3Y0.js +1 -0
  75. package/browser/web/chunks/Djdv-16J.js +1 -0
  76. package/browser/web/chunks/DnFXe_lF.js +1 -0
  77. package/browser/web/chunks/DneGv1oC.js +1 -0
  78. package/browser/web/chunks/DsVxP-p-.js +1 -0
  79. package/browser/web/chunks/DwDilCo2.js +1 -0
  80. package/browser/web/chunks/DwV48AXv.js +1 -0
  81. package/browser/web/chunks/F37aF4-L.js +1 -0
  82. package/browser/web/chunks/LyB6XIbN.js +1 -0
  83. package/browser/web/chunks/NKnbYGjC.js +1 -0
  84. package/browser/web/chunks/Vk-rVi16.js +1 -0
  85. package/browser/web/chunks/XsM0J1Ex.js +1 -0
  86. package/browser/web/chunks/asSN9iEp.js +1 -0
  87. package/browser/web/chunks/c-AjHfdF.js +1 -0
  88. package/browser/web/chunks/dR-12TPY.js +1 -0
  89. package/browser/web/chunks/hR4xM0EC.js +1 -0
  90. package/browser/web/chunks/hqOaBxAg.js +1 -0
  91. package/browser/web/chunks/kMKqqeG4.js +1 -0
  92. package/browser/web/chunks/kXboBcfi.js +1 -0
  93. package/browser/web/chunks/l4aQIg22.js +1 -0
  94. package/browser/web/chunks/tJC0JSU4.js +1 -0
  95. package/browser/web/chunks/wHdS_QYM.js +1 -0
  96. package/browser/web/chunks/yv8dTvNI.js +1 -0
  97. package/browser/web/chunks/yw9M3nfi.js +1 -0
  98. package/browser/web/collapsible.js +1 -0
  99. package/browser/web/color-picker.js +1 -0
  100. package/browser/web/combobox.js +2 -0
  101. package/browser/web/command.js +1 -0
  102. package/browser/web/core.js +5 -0
  103. package/browser/web/date-input.js +1 -0
  104. package/browser/web/date-picker.js +1 -0
  105. package/browser/web/dialog.js +1 -0
  106. package/browser/web/drawer.js +1 -0
  107. package/browser/web/field.js +1 -0
  108. package/browser/web/file-input.js +1 -0
  109. package/browser/web/hover-card.js +1 -0
  110. package/browser/web/image-cropper.js +1 -0
  111. package/browser/web/input.js +1 -0
  112. package/browser/web/label.js +1 -0
  113. package/browser/web/listbox.js +1 -0
  114. package/browser/web/menu.js +1 -0
  115. package/browser/web/menubar.js +1 -0
  116. package/browser/web/meter.js +1 -0
  117. package/browser/web/navigation-menu.js +1 -0
  118. package/browser/web/number-input.js +1 -0
  119. package/browser/web/otp-input.js +2 -0
  120. package/browser/web/overlays.js +1 -0
  121. package/browser/web/pagination.js +1 -0
  122. package/browser/web/password-input.js +1 -0
  123. package/browser/web/popover.js +1 -0
  124. package/browser/web/preferences.js +1 -0
  125. package/browser/web/progress.js +1 -0
  126. package/browser/web/radio.js +1 -0
  127. package/browser/web/rating.js +1 -0
  128. package/browser/web/resizable.js +1 -0
  129. package/browser/web/scroll-area.js +1 -0
  130. package/browser/web/segmented-control.js +1 -0
  131. package/browser/web/select.js +1 -0
  132. package/browser/web/separator.js +1 -0
  133. package/browser/web/slider.js +1 -0
  134. package/browser/web/switch.js +1 -0
  135. package/browser/web/tabs.js +1 -0
  136. package/browser/web/textarea.js +1 -0
  137. package/browser/web/time-input.js +1 -0
  138. package/browser/web/timeline.js +1 -0
  139. package/browser/web/toast.js +1 -0
  140. package/browser/web/toggle.js +1 -0
  141. package/browser/web/token-input.js +8 -0
  142. package/browser/web/toolbar.js +1 -0
  143. package/browser/web/tooltip.js +1 -0
  144. package/browser/web/tree.js +1 -0
  145. package/browser/web/trigger-menu.js +4 -0
  146. package/browser/web/waterfall.js +1 -0
  147. package/browser/web.css +3378 -0
  148. package/browser/web.js +3 -0
  149. package/custom-elements.json +32315 -0
  150. package/dist/accordion.d.ts +2 -0
  151. package/dist/accordion.js +57 -0
  152. package/dist/action.d.ts +16 -0
  153. package/dist/action.js +39 -0
  154. package/dist/agent.d.ts +2 -0
  155. package/dist/agent.js +7 -0
  156. package/dist/autocomplete.d.ts +2 -0
  157. package/dist/autocomplete.js +120 -0
  158. package/dist/autoload.d.ts +18 -0
  159. package/dist/autoload.js +63 -0
  160. package/dist/avatar.d.ts +2 -0
  161. package/dist/avatar.js +27 -0
  162. package/dist/browser-core.d.ts +2 -0
  163. package/dist/browser-core.js +8 -0
  164. package/dist/button.d.ts +2 -0
  165. package/dist/button.js +35 -0
  166. package/dist/calendar.d.ts +23 -0
  167. package/dist/calendar.js +429 -0
  168. package/dist/carousel.d.ts +2 -0
  169. package/dist/carousel.js +54 -0
  170. package/dist/checkbox.d.ts +4 -0
  171. package/dist/checkbox.js +75 -0
  172. package/dist/collapsible.d.ts +2 -0
  173. package/dist/collapsible.js +28 -0
  174. package/dist/color-picker.d.ts +2 -0
  175. package/dist/color-picker.js +64 -0
  176. package/dist/combobox.d.ts +2 -0
  177. package/dist/combobox.js +334 -0
  178. package/dist/command.d.ts +2 -0
  179. package/dist/command.js +122 -0
  180. package/dist/date-input.d.ts +3 -0
  181. package/dist/date-input.js +87 -0
  182. package/dist/date-picker.d.ts +2 -0
  183. package/dist/date-picker.js +174 -0
  184. package/dist/default-text.d.ts +3 -0
  185. package/dist/default-text.js +24 -0
  186. package/dist/define-element.d.ts +404 -0
  187. package/dist/define-element.js +1489 -0
  188. package/dist/dialog.d.ts +3 -0
  189. package/dist/dialog.js +94 -0
  190. package/dist/drawer.d.ts +2 -0
  191. package/dist/drawer.js +96 -0
  192. package/dist/entries/accordion.d.ts +3 -0
  193. package/dist/entries/accordion.js +7 -0
  194. package/dist/entries/alert-dialog.d.ts +3 -0
  195. package/dist/entries/alert-dialog.js +13 -0
  196. package/dist/entries/autocomplete.d.ts +3 -0
  197. package/dist/entries/autocomplete.js +7 -0
  198. package/dist/entries/avatar.d.ts +2 -0
  199. package/dist/entries/avatar.js +3 -0
  200. package/dist/entries/button.d.ts +2 -0
  201. package/dist/entries/button.js +3 -0
  202. package/dist/entries/calendar.d.ts +3 -0
  203. package/dist/entries/calendar.js +7 -0
  204. package/dist/entries/carousel.d.ts +3 -0
  205. package/dist/entries/carousel.js +7 -0
  206. package/dist/entries/checkbox.d.ts +3 -0
  207. package/dist/entries/checkbox.js +15 -0
  208. package/dist/entries/collapsible.d.ts +3 -0
  209. package/dist/entries/collapsible.js +7 -0
  210. package/dist/entries/color-picker.d.ts +3 -0
  211. package/dist/entries/color-picker.js +7 -0
  212. package/dist/entries/combobox.d.ts +3 -0
  213. package/dist/entries/combobox.js +7 -0
  214. package/dist/entries/command.d.ts +3 -0
  215. package/dist/entries/command.js +7 -0
  216. package/dist/entries/date-input.d.ts +3 -0
  217. package/dist/entries/date-input.js +7 -0
  218. package/dist/entries/date-picker.d.ts +3 -0
  219. package/dist/entries/date-picker.js +7 -0
  220. package/dist/entries/dialog.d.ts +3 -0
  221. package/dist/entries/dialog.js +7 -0
  222. package/dist/entries/drawer.d.ts +3 -0
  223. package/dist/entries/drawer.js +8 -0
  224. package/dist/entries/field.d.ts +2 -0
  225. package/dist/entries/field.js +3 -0
  226. package/dist/entries/file-input.d.ts +3 -0
  227. package/dist/entries/file-input.js +13 -0
  228. package/dist/entries/hover-card.d.ts +3 -0
  229. package/dist/entries/hover-card.js +7 -0
  230. package/dist/entries/image-cropper.d.ts +3 -0
  231. package/dist/entries/image-cropper.js +7 -0
  232. package/dist/entries/input.d.ts +3 -0
  233. package/dist/entries/input.js +8 -0
  234. package/dist/entries/label.d.ts +2 -0
  235. package/dist/entries/label.js +3 -0
  236. package/dist/entries/listbox.d.ts +3 -0
  237. package/dist/entries/listbox.js +7 -0
  238. package/dist/entries/menu.d.ts +3 -0
  239. package/dist/entries/menu.js +7 -0
  240. package/dist/entries/menubar.d.ts +3 -0
  241. package/dist/entries/menubar.js +7 -0
  242. package/dist/entries/meter.d.ts +2 -0
  243. package/dist/entries/meter.js +3 -0
  244. package/dist/entries/navigation-menu.d.ts +3 -0
  245. package/dist/entries/navigation-menu.js +7 -0
  246. package/dist/entries/number-input.d.ts +3 -0
  247. package/dist/entries/number-input.js +7 -0
  248. package/dist/entries/otp-input.d.ts +3 -0
  249. package/dist/entries/otp-input.js +7 -0
  250. package/dist/entries/overlays.d.ts +2 -0
  251. package/dist/entries/overlays.js +3 -0
  252. package/dist/entries/pagination.d.ts +3 -0
  253. package/dist/entries/pagination.js +11 -0
  254. package/dist/entries/password-input.d.ts +3 -0
  255. package/dist/entries/password-input.js +7 -0
  256. package/dist/entries/popover.d.ts +3 -0
  257. package/dist/entries/popover.js +7 -0
  258. package/dist/entries/preferences.d.ts +3 -0
  259. package/dist/entries/preferences.js +13 -0
  260. package/dist/entries/progress.d.ts +2 -0
  261. package/dist/entries/progress.js +3 -0
  262. package/dist/entries/radio.d.ts +3 -0
  263. package/dist/entries/radio.js +7 -0
  264. package/dist/entries/rating.d.ts +3 -0
  265. package/dist/entries/rating.js +8 -0
  266. package/dist/entries/resizable.d.ts +3 -0
  267. package/dist/entries/resizable.js +11 -0
  268. package/dist/entries/scroll-area.d.ts +3 -0
  269. package/dist/entries/scroll-area.js +7 -0
  270. package/dist/entries/segmented-control.d.ts +3 -0
  271. package/dist/entries/segmented-control.js +7 -0
  272. package/dist/entries/select.d.ts +3 -0
  273. package/dist/entries/select.js +7 -0
  274. package/dist/entries/separator.d.ts +2 -0
  275. package/dist/entries/separator.js +3 -0
  276. package/dist/entries/slider.d.ts +3 -0
  277. package/dist/entries/slider.js +7 -0
  278. package/dist/entries/switch.d.ts +3 -0
  279. package/dist/entries/switch.js +7 -0
  280. package/dist/entries/tabs.d.ts +3 -0
  281. package/dist/entries/tabs.js +7 -0
  282. package/dist/entries/textarea.d.ts +3 -0
  283. package/dist/entries/textarea.js +7 -0
  284. package/dist/entries/time-input.d.ts +3 -0
  285. package/dist/entries/time-input.js +7 -0
  286. package/dist/entries/timeline.d.ts +3 -0
  287. package/dist/entries/timeline.js +7 -0
  288. package/dist/entries/toast.d.ts +2 -0
  289. package/dist/entries/toast.js +3 -0
  290. package/dist/entries/toggle.d.ts +3 -0
  291. package/dist/entries/toggle.js +12 -0
  292. package/dist/entries/token-input.d.ts +3 -0
  293. package/dist/entries/token-input.js +17 -0
  294. package/dist/entries/toolbar.d.ts +3 -0
  295. package/dist/entries/toolbar.js +7 -0
  296. package/dist/entries/tooltip.d.ts +3 -0
  297. package/dist/entries/tooltip.js +7 -0
  298. package/dist/entries/tree.d.ts +3 -0
  299. package/dist/entries/tree.js +17 -0
  300. package/dist/entries/trigger-menu.d.ts +3 -0
  301. package/dist/entries/trigger-menu.js +11 -0
  302. package/dist/entries/waterfall.d.ts +3 -0
  303. package/dist/entries/waterfall.js +11 -0
  304. package/dist/events.d.ts +1658 -0
  305. package/dist/events.js +0 -0
  306. package/dist/field.d.ts +2 -0
  307. package/dist/field.js +101 -0
  308. package/dist/file-input.d.ts +2 -0
  309. package/dist/file-input.js +140 -0
  310. package/dist/forward-attributes.d.ts +2 -0
  311. package/dist/forward-attributes.js +22 -0
  312. package/dist/history.d.ts +2 -0
  313. package/dist/history.js +11 -0
  314. package/dist/hover-card.d.ts +2 -0
  315. package/dist/hover-card.js +31 -0
  316. package/dist/image-cropper.d.ts +2 -0
  317. package/dist/image-cropper.js +66 -0
  318. package/dist/index.d.ts +66 -0
  319. package/dist/index.js +269 -0
  320. package/dist/input.d.ts +3 -0
  321. package/dist/input.js +69 -0
  322. package/dist/label.d.ts +2 -0
  323. package/dist/label.js +11 -0
  324. package/dist/list.d.ts +40 -0
  325. package/dist/list.js +192 -0
  326. package/dist/listbox.d.ts +2 -0
  327. package/dist/listbox.js +84 -0
  328. package/dist/menu.d.ts +4 -0
  329. package/dist/menu.js +295 -0
  330. package/dist/menubar.d.ts +4 -0
  331. package/dist/menubar.js +30 -0
  332. package/dist/meter.d.ts +2 -0
  333. package/dist/meter.js +22 -0
  334. package/dist/navigation-menu.d.ts +2 -0
  335. package/dist/navigation-menu.js +114 -0
  336. package/dist/number-input.d.ts +2 -0
  337. package/dist/number-input.js +73 -0
  338. package/dist/observe.d.ts +2 -0
  339. package/dist/observe.js +7 -0
  340. package/dist/otp-input.d.ts +2 -0
  341. package/dist/otp-input.js +72 -0
  342. package/dist/overlays.d.ts +13 -0
  343. package/dist/overlays.js +156 -0
  344. package/dist/pagination.d.ts +2 -0
  345. package/dist/pagination.js +127 -0
  346. package/dist/password-input.d.ts +2 -0
  347. package/dist/password-input.js +57 -0
  348. package/dist/popover.d.ts +2 -0
  349. package/dist/popover.js +64 -0
  350. package/dist/popup.d.ts +40 -0
  351. package/dist/popup.js +112 -0
  352. package/dist/preferences.d.ts +2 -0
  353. package/dist/preferences.js +56 -0
  354. package/dist/progress.d.ts +2 -0
  355. package/dist/progress.js +22 -0
  356. package/dist/radio.d.ts +2 -0
  357. package/dist/radio.js +33 -0
  358. package/dist/rating.d.ts +2 -0
  359. package/dist/rating.js +64 -0
  360. package/dist/resizable.d.ts +2 -0
  361. package/dist/resizable.js +42 -0
  362. package/dist/scroll-area.d.ts +2 -0
  363. package/dist/scroll-area.js +45 -0
  364. package/dist/segmented-control.d.ts +2 -0
  365. package/dist/segmented-control.js +28 -0
  366. package/dist/select.d.ts +2 -0
  367. package/dist/select.js +239 -0
  368. package/dist/separator.d.ts +2 -0
  369. package/dist/separator.js +11 -0
  370. package/dist/slider.d.ts +2 -0
  371. package/dist/slider.js +77 -0
  372. package/dist/tabs.d.ts +2 -0
  373. package/dist/tabs.js +37 -0
  374. package/dist/timeline.d.ts +2 -0
  375. package/dist/timeline.js +27 -0
  376. package/dist/toast.d.ts +20 -0
  377. package/dist/toast.js +177 -0
  378. package/dist/toggle.d.ts +3 -0
  379. package/dist/toggle.js +64 -0
  380. package/dist/token-input.d.ts +2 -0
  381. package/dist/token-input.js +103 -0
  382. package/dist/toolbar.d.ts +2 -0
  383. package/dist/toolbar.js +36 -0
  384. package/dist/tooltip.d.ts +2 -0
  385. package/dist/tooltip.js +35 -0
  386. package/dist/tree.d.ts +2 -0
  387. package/dist/tree.js +147 -0
  388. package/dist/trigger-menu.d.ts +2 -0
  389. package/dist/trigger-menu.js +133 -0
  390. package/dist/waterfall.d.ts +2 -0
  391. package/dist/waterfall.js +140 -0
  392. package/docs/README.md +89 -0
  393. package/docs/agents.md +1523 -0
  394. package/docs/components/accordion.md +1401 -0
  395. package/docs/components/alert-dialog.md +788 -0
  396. package/docs/components/autocomplete.md +1692 -0
  397. package/docs/components/avatar.md +261 -0
  398. package/docs/components/button.md +441 -0
  399. package/docs/components/calendar.md +1536 -0
  400. package/docs/components/carousel.md +1055 -0
  401. package/docs/components/checkbox.md +1045 -0
  402. package/docs/components/collapsible.md +535 -0
  403. package/docs/components/color-picker.md +651 -0
  404. package/docs/components/combobox.md +3274 -0
  405. package/docs/components/command.md +1431 -0
  406. package/docs/components/date-input.md +563 -0
  407. package/docs/components/date-picker.md +1136 -0
  408. package/docs/components/dialog.md +1360 -0
  409. package/docs/components/drawer.md +1201 -0
  410. package/docs/components/field.md +519 -0
  411. package/docs/components/file-input.md +617 -0
  412. package/docs/components/hover-card.md +486 -0
  413. package/docs/components/image-cropper.md +489 -0
  414. package/docs/components/input.md +327 -0
  415. package/docs/components/label.md +208 -0
  416. package/docs/components/listbox.md +1015 -0
  417. package/docs/components/menu.md +1212 -0
  418. package/docs/components/menubar.md +460 -0
  419. package/docs/components/meter.md +298 -0
  420. package/docs/components/navigation-menu.md +1573 -0
  421. package/docs/components/number-input.md +1087 -0
  422. package/docs/components/otp-input.md +558 -0
  423. package/docs/components/pagination.md +639 -0
  424. package/docs/components/password-input.md +649 -0
  425. package/docs/components/popover.md +1433 -0
  426. package/docs/components/preferences.md +243 -0
  427. package/docs/components/progress.md +406 -0
  428. package/docs/components/radio.md +855 -0
  429. package/docs/components/rating.md +431 -0
  430. package/docs/components/resizable.md +866 -0
  431. package/docs/components/scroll-area.md +898 -0
  432. package/docs/components/segmented-control.md +421 -0
  433. package/docs/components/select.md +1957 -0
  434. package/docs/components/separator.md +238 -0
  435. package/docs/components/slider.md +1018 -0
  436. package/docs/components/switch.md +583 -0
  437. package/docs/components/tabs.md +948 -0
  438. package/docs/components/textarea.md +331 -0
  439. package/docs/components/time-input.md +235 -0
  440. package/docs/components/timeline.md +622 -0
  441. package/docs/components/toast.md +1223 -0
  442. package/docs/components/toggle.md +522 -0
  443. package/docs/components/token-input.md +854 -0
  444. package/docs/components/toolbar.md +815 -0
  445. package/docs/components/tooltip.md +860 -0
  446. package/docs/components/tree.md +1243 -0
  447. package/docs/components/trigger-menu.md +1110 -0
  448. package/docs/components/waterfall.md +709 -0
  449. package/docs/controllers.md +66 -0
  450. package/docs/core.md +8027 -0
  451. package/docs/custom-parts.md +91 -0
  452. package/docs/first-component.md +88 -0
  453. package/docs/forms.md +125 -0
  454. package/docs/installation.md +141 -0
  455. package/docs/introduction.md +32 -0
  456. package/docs/lists-and-menus.md +166 -0
  457. package/docs/llms.txt +1566 -0
  458. package/docs/parts-and-composition.md +57 -0
  459. package/docs/popups.md +92 -0
  460. package/docs/rendering.md +71 -0
  461. package/docs/server-rendering.md +118 -0
  462. package/docs/state-and-events.md +134 -0
  463. package/docs/styling-and-animation.md +104 -0
  464. package/docs/utilities/async-options.md +332 -0
  465. package/docs/utilities/shortcuts.md +184 -0
  466. package/html-custom-data.json +14792 -0
  467. package/package.json +302 -3
@@ -0,0 +1,3378 @@
1
+ @layer ui-sdk {
2
+ :where(:root, :host) {
3
+ /* Builds that rewrite light-dark(), like Next and Vite, read these; without them every color is invalid. */
4
+ --lightningcss-light: initial;
5
+ --lightningcss-dark: ;
6
+ color-scheme: light dark;
7
+ --ui-background: light-dark(oklch(1 0 0), oklch(0.145 0 0));
8
+ --ui-foreground: light-dark(oklch(0.145 0 0), oklch(0.985 0 0));
9
+ --ui-muted: light-dark(oklch(0.967 0 0), oklch(0.226 0 0));
10
+ --ui-muted-foreground: light-dark(oklch(0.528 0 0), oklch(0.706 0 0));
11
+ --ui-border: light-dark(oklch(0.919 0 0), oklch(0.285 0 0));
12
+ --ui-input: light-dark(oklch(0.82 0 0), oklch(0.409 0 0));
13
+ --ui-primary: var(--ui-foreground);
14
+ --ui-primary-foreground: var(--ui-background);
15
+ --ui-destructive: light-dark(
16
+ oklch(0.552 0.224 25.5),
17
+ oklch(0.712 0.181 22.8)
18
+ );
19
+ --ui-ring: light-dark(oklch(0.913 0 0), oklch(0.333 0 0));
20
+ --ui-ring-border: light-dark(oklch(0.699 0 0), oklch(0.538 0 0));
21
+ --ui-overlay: light-dark(oklch(1 0 0 / 0.7), oklch(0 0 0 / 0.7));
22
+ --ui-shadow:
23
+ 0 1px 2px light-dark(oklch(0 0 0 / 0.06), oklch(0 0 0 / 0.4)),
24
+ 0 8px 24px -8px light-dark(oklch(0 0 0 / 0.16), oklch(0 0 0 / 0.6));
25
+ --ui-radius: 0;
26
+ --ui-spacing: 0.25rem;
27
+ --ui-font-size: 0.8125rem;
28
+ --ui-line-height: 1.5;
29
+ --ui-font-sans:
30
+ ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
31
+ --ui-font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
32
+ --ui-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
33
+ --ui-icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
34
+ --ui-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
35
+ --ui-icon-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E");
36
+ --ui-icon-x: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");
37
+ --ui-icon-eye: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
38
+ --ui-icon-eye-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49'/%3E%3Cpath d='M14.084 14.158a3 3 0 0 1-4.242-4.242'/%3E%3Cpath d='M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143'/%3E%3Cpath d='m2 2 20 20'/%3E%3C/svg%3E");
39
+ --ui-icon-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M8 2v4M16 2v4M3 10h18'/%3E%3Crect x='3' y='4' width='18' height='18'/%3E%3C/svg%3E");
40
+ --ui-icon-pipette: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='m2 22 1-1h3l9-9'/%3E%3Cpath d='M3 21v-3l9-9'/%3E%3Cpath d='m15 6 3.4-3.4a2.1 2.1 0 1 1 3 3L18 9l.4.4a2.1 2.1 0 1 1-3 3l-3.8-3.8a2.1 2.1 0 1 1 3-3l.4.4Z'/%3E%3C/svg%3E");
41
+ --ui-icon-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.5l3.1 7.2 7.9.7-6 5.2 1.8 7.7L12 18.2l-6.8 4.1 1.8-7.7-6-5.2 7.9-.7z'/%3E%3C/svg%3E");
42
+ }
43
+
44
+ /* Display rules below would otherwise show a part its component hid. */
45
+ [data-slot][hidden]:not([hidden="until-found"]) {
46
+ display: none;
47
+ }
48
+
49
+ [data-slot] {
50
+ box-sizing: border-box;
51
+ }
52
+
53
+ [data-slot][hidden="until-found"] {
54
+ padding: 0;
55
+ }
56
+
57
+ :is(
58
+ [data-slot="field-description"],
59
+ [data-slot="field-error"],
60
+ [data-slot="accordion-panel"],
61
+ [data-slot="collapsible-panel"],
62
+ [data-slot="tabs-panel"],
63
+ [data-slot="popover-content"],
64
+ [data-slot="hover-card-content"],
65
+ [data-slot="tooltip-content"],
66
+ [data-slot="dialog-content"],
67
+ [data-slot="alert-dialog-content"]
68
+ ) {
69
+ line-height: var(--ui-line-height);
70
+ }
71
+
72
+ a {
73
+ color: var(--ui-foreground);
74
+ text-decoration: underline;
75
+ text-decoration-color: var(--ui-input);
76
+ text-underline-offset: 0.1875rem;
77
+
78
+ &:hover {
79
+ text-decoration-color: currentColor;
80
+ }
81
+ }
82
+
83
+ :where(a, button, input, select, textarea, label, summary, [data-slot]) {
84
+ touch-action: manipulation;
85
+ -webkit-tap-highlight-color: transparent;
86
+ }
87
+
88
+ :is(a, summary):focus-visible {
89
+ outline: 4px solid var(--ui-ring);
90
+ outline-offset: 0;
91
+ }
92
+
93
+ hr {
94
+ align-self: stretch;
95
+ height: 1px;
96
+ margin: calc(var(--ui-spacing) * 4) 0;
97
+ border: 0;
98
+ background: var(--ui-border);
99
+ }
100
+
101
+ code {
102
+ padding: 1px calc(var(--ui-spacing) * 1);
103
+ border-radius: calc(var(--ui-radius) / 2);
104
+ background: var(--ui-muted);
105
+ font-family: var(--ui-font-mono);
106
+ font-size: 0.9em;
107
+ }
108
+
109
+ kbd {
110
+ padding: 1px calc(var(--ui-spacing) * 1.25);
111
+ border-radius: calc(var(--ui-radius) / 2);
112
+ border: 1px solid var(--ui-input);
113
+ font-family: inherit;
114
+ font-size: 0.85em;
115
+ }
116
+
117
+ [data-slot]:focus-visible {
118
+ outline: 4px solid var(--ui-ring);
119
+ outline-offset: 0;
120
+ }
121
+
122
+ [data-slot] > svg {
123
+ flex-shrink: 0;
124
+ width: 1rem;
125
+ height: 1rem;
126
+ }
127
+
128
+ /* Drawn only when a part has no icon of its own. */
129
+ [data-slot="select-trigger"]:not(:has(> svg))::after,
130
+ [data-slot="combobox-trigger"]:not(:has(> svg))::after,
131
+ [data-slot="navigation-menu-trigger"]:not(:has(> svg))::after,
132
+ [data-slot="accordion-trigger"]:not(:has(> svg))::after,
133
+ [data-slot="collapsible-trigger"]:not(:has(> svg))::after,
134
+ [data-slot="checkbox-indicator"]:not(:has(svg))::before,
135
+ [data-slot="select-item-indicator"]:not(:has(svg))::before,
136
+ [data-slot="combobox-item-indicator"]:not(:has(svg))::before,
137
+ [data-slot="listbox-item-indicator"]:not(:has(svg))::before,
138
+ [data-slot="menu-item-indicator"]:not(:has(svg))::before,
139
+ [data-slot="number-input-decrement"]:not(:has(svg))::before,
140
+ [data-slot="number-input-increment"]:not(:has(svg))::before {
141
+ content: "";
142
+ flex-shrink: 0;
143
+ width: var(--ui-icon-size, 1rem);
144
+ height: var(--ui-icon-size, 1rem);
145
+ background: currentColor;
146
+ mask: var(--ui-icon) center / contain no-repeat;
147
+ }
148
+
149
+ :is(
150
+ [data-slot="select-trigger"],
151
+ [data-slot="combobox-trigger"],
152
+ [data-slot="navigation-menu-trigger"],
153
+ [data-slot="accordion-trigger"],
154
+ [data-slot="collapsible-trigger"]
155
+ ) {
156
+ --ui-icon: var(--ui-icon-chevron);
157
+
158
+ &::after {
159
+ color: var(--ui-muted-foreground);
160
+ }
161
+
162
+ &[data-open]::after {
163
+ rotate: 180deg;
164
+ }
165
+ }
166
+
167
+ :is(
168
+ [data-slot="checkbox-indicator"],
169
+ [data-slot="select-item-indicator"],
170
+ [data-slot="combobox-item-indicator"],
171
+ [data-slot="listbox-item-indicator"],
172
+ [data-slot="menu-item-indicator"]
173
+ ) {
174
+ --ui-icon: var(--ui-icon-check);
175
+ }
176
+
177
+ [data-slot="checkbox-indicator"][data-indeterminate],
178
+ [data-slot="number-input-decrement"] {
179
+ --ui-icon: var(--ui-icon-minus);
180
+ }
181
+
182
+ [data-slot="number-input-increment"] {
183
+ --ui-icon: var(--ui-icon-plus);
184
+ }
185
+
186
+ :is(label, [data-slot="label"]):has(
187
+ > :is([data-slot="checkbox"], [data-slot="radio"], [data-slot="switch"])
188
+ ) {
189
+ display: inline-flex;
190
+ align-items: flex-start;
191
+ gap: calc(var(--ui-spacing) * 1.5);
192
+ font-size: var(--ui-font-size);
193
+ line-height: var(--ui-line-height);
194
+
195
+ /* Centers the control on the first line, so a long label wraps under its text. */
196
+ & > :is([data-slot="checkbox"], [data-slot="radio"]) {
197
+ margin-block-start: calc((1lh - 1rem) / 2);
198
+ }
199
+
200
+ & > [data-slot="switch"] {
201
+ margin-block-start: calc((1lh - 1.125rem) / 2);
202
+ }
203
+ }
204
+
205
+ :is(
206
+ [data-slot="button"],
207
+ [data-slot="toggle"],
208
+ [data-slot="dialog-trigger"],
209
+ [data-slot="dialog-close"],
210
+ [data-slot="alert-dialog-trigger"],
211
+ [data-slot="alert-dialog-close"],
212
+ [data-slot="drawer-trigger"],
213
+ [data-slot="drawer-close"],
214
+ [data-slot="combobox-trigger"],
215
+ [data-slot="tooltip-trigger"],
216
+ [data-slot="popover-trigger"],
217
+ [data-slot="popover-close"],
218
+ [data-slot="menu-trigger"]
219
+ ) {
220
+ display: inline-flex;
221
+ align-items: center;
222
+ justify-content: center;
223
+ gap: calc(var(--ui-spacing) * 1.5);
224
+ height: calc(var(--ui-spacing) * 8);
225
+ padding-inline: calc(var(--ui-spacing) * 3);
226
+ border: 1px solid var(--ui-input);
227
+ border-radius: var(--ui-radius);
228
+ background: var(--ui-background);
229
+ color: var(--ui-foreground);
230
+ font: inherit;
231
+ font-size: var(--ui-font-size);
232
+ font-weight: 500;
233
+ white-space: nowrap;
234
+ cursor: pointer;
235
+ user-select: none;
236
+
237
+ &:hover:not([data-disabled]) {
238
+ background: var(--ui-muted);
239
+ }
240
+
241
+ &[data-variant="solid"] {
242
+ border-color: var(--ui-primary);
243
+ background: var(--ui-primary);
244
+ color: var(--ui-primary-foreground);
245
+
246
+ &:hover:not([data-disabled]) {
247
+ background: color-mix(
248
+ in oklab,
249
+ var(--ui-primary) 85%,
250
+ var(--ui-background)
251
+ );
252
+ }
253
+ }
254
+
255
+ &[data-variant="destructive"] {
256
+ border-color: color-mix(
257
+ in oklab,
258
+ var(--ui-destructive) 30%,
259
+ var(--ui-background)
260
+ );
261
+ background: color-mix(
262
+ in oklab,
263
+ var(--ui-destructive) 8%,
264
+ var(--ui-background)
265
+ );
266
+ color: var(--ui-destructive);
267
+
268
+ &:hover:not([data-disabled]) {
269
+ background: color-mix(
270
+ in oklab,
271
+ var(--ui-destructive) 14%,
272
+ var(--ui-background)
273
+ );
274
+ }
275
+ }
276
+
277
+ &[data-disabled] {
278
+ opacity: 0.5;
279
+ cursor: not-allowed;
280
+ }
281
+
282
+ &[aria-label]:has(> svg:only-child, > [data-slot$="-icon"]:only-child) {
283
+ width: calc(var(--ui-spacing) * 8);
284
+ padding: 0;
285
+ }
286
+ }
287
+
288
+ /* A trigger right after its input sits inside the input's end. Web components wrap each part, and :has() can't nest. */
289
+ :not([data-slot="field"]):has(
290
+ > [data-slot="combobox-input"] + [data-slot="combobox-trigger"]
291
+ ),
292
+ :not([data-slot="field"]):has(> ui-combobox-input + ui-combobox-trigger) {
293
+ display: flex;
294
+
295
+ & > :is([data-slot="combobox-input"], ui-combobox-input) {
296
+ flex: 1;
297
+ min-width: 0;
298
+ }
299
+
300
+ & [data-slot="combobox-input"] {
301
+ padding-inline-end: calc(var(--ui-spacing) * 8);
302
+ }
303
+
304
+ & [data-slot="combobox-trigger"] {
305
+ position: relative;
306
+ width: calc(var(--ui-spacing) * 8);
307
+ margin-inline-start: calc(var(--ui-spacing) * -8);
308
+ padding: 0;
309
+ border-color: transparent;
310
+ background: transparent;
311
+
312
+ &:hover:not([data-disabled]) {
313
+ background: transparent;
314
+ }
315
+ }
316
+ }
317
+
318
+ [data-slot="menubar"] {
319
+ display: inline-flex;
320
+ gap: 2px;
321
+ padding: 2px;
322
+ border: 1px solid var(--ui-border);
323
+ border-radius: var(--ui-radius);
324
+
325
+ & [data-slot="menu-trigger"] {
326
+ height: calc(var(--ui-spacing) * 7);
327
+ padding-inline: calc(var(--ui-spacing) * 2.5);
328
+ border-color: transparent;
329
+ border-radius: max(0px, calc(var(--ui-radius) - 3px));
330
+
331
+ &[data-open] {
332
+ background: var(--ui-muted);
333
+ }
334
+ }
335
+ }
336
+
337
+ [data-slot="toggle"][data-pressed] {
338
+ border-color: var(--ui-foreground);
339
+ background: var(--ui-muted);
340
+ }
341
+
342
+ :is(
343
+ [data-slot="toggle-group"] > [data-slot="toggle"]:first-child,
344
+ [data-slot="toggle-group"] > :first-child > [data-slot="toggle"]
345
+ ) {
346
+ border-start-start-radius: var(--ui-radius);
347
+ border-end-start-radius: var(--ui-radius);
348
+ }
349
+
350
+ :is(
351
+ [data-slot="toggle-group"] > [data-slot="toggle"]:last-child,
352
+ [data-slot="toggle-group"] > :last-child > [data-slot="toggle"]
353
+ ) {
354
+ border-start-end-radius: var(--ui-radius);
355
+ border-end-end-radius: var(--ui-radius);
356
+ }
357
+
358
+ [data-slot="toggle-group"] {
359
+ display: inline-flex;
360
+ padding-inline-start: 1px;
361
+
362
+ & [data-slot="toggle"] {
363
+ position: relative;
364
+ margin-inline-start: -1px;
365
+ border-radius: 0;
366
+
367
+ &:is([data-pressed], :focus-visible) {
368
+ z-index: 1;
369
+ }
370
+ }
371
+ }
372
+
373
+ [data-slot="field"] {
374
+ display: flex;
375
+ flex-direction: column;
376
+ gap: calc(var(--ui-spacing) * 1.5);
377
+ min-width: 0;
378
+ }
379
+
380
+ [data-slot="field-set"] {
381
+ display: flex;
382
+ flex-direction: column;
383
+ gap: calc(var(--ui-spacing) * 1.5);
384
+ min-width: 0;
385
+ margin: 0;
386
+ padding: 0;
387
+ border: 0;
388
+ }
389
+
390
+ [data-slot="field-legend"] {
391
+ margin-bottom: calc(var(--ui-spacing) * 1.5);
392
+ padding: 0;
393
+ color: var(--ui-foreground);
394
+ font-size: var(--ui-font-size);
395
+ font-weight: 600;
396
+ }
397
+
398
+ [data-slot="field-group"] {
399
+ display: flex;
400
+ flex-direction: column;
401
+ gap: calc(var(--ui-spacing) * 4);
402
+ margin-top: calc(var(--ui-spacing) * 3.5);
403
+ }
404
+
405
+ [data-slot="field-label"] {
406
+ display: block;
407
+ color: var(--ui-foreground);
408
+ font-size: calc(var(--ui-font-size) - 0.0625rem);
409
+ font-weight: 500;
410
+ }
411
+
412
+ [data-slot="field-description"] {
413
+ margin: 0;
414
+ color: var(--ui-muted-foreground);
415
+ font-size: calc(var(--ui-font-size) - 0.0625rem);
416
+ }
417
+
418
+ [data-slot="field-error"] {
419
+ margin: 0;
420
+ color: var(--ui-destructive);
421
+ font-size: calc(var(--ui-font-size) - 0.0625rem);
422
+ }
423
+
424
+ :is(
425
+ [data-slot="input"],
426
+ [data-slot="textarea"],
427
+ [data-slot="combobox-input"],
428
+ [data-slot="autocomplete-input"],
429
+ [data-slot="trigger-menu-input"]
430
+ ) {
431
+ width: 100%;
432
+ min-width: 0;
433
+ height: calc(var(--ui-spacing) * 8);
434
+ padding-inline: calc(var(--ui-spacing) * 2.5);
435
+ border: 1px solid var(--ui-input);
436
+ border-radius: var(--ui-radius);
437
+ background: var(--ui-background);
438
+ color: var(--ui-foreground);
439
+ font: inherit;
440
+ font-size: var(--ui-font-size);
441
+
442
+ &::placeholder {
443
+ color: var(--ui-muted-foreground);
444
+ }
445
+
446
+ &:focus-visible {
447
+ border-color: var(--ui-ring-border);
448
+ }
449
+
450
+ &[data-invalid] {
451
+ border-color: var(--ui-destructive);
452
+ }
453
+
454
+ &[data-disabled] {
455
+ opacity: 0.5;
456
+ cursor: not-allowed;
457
+ }
458
+ }
459
+
460
+ :is([data-slot="combobox-label"], [data-slot="autocomplete-label"]) {
461
+ display: block;
462
+ font-size: calc(var(--ui-font-size) - 0.0625rem);
463
+ font-weight: 500;
464
+ }
465
+
466
+ :is([data-slot="textarea"], [data-slot="trigger-menu-input"]) {
467
+ height: auto;
468
+ min-height: calc(var(--ui-spacing) * 20);
469
+ padding-block: calc(var(--ui-spacing) * 2);
470
+ resize: vertical;
471
+ }
472
+
473
+ [data-slot="number-input"] {
474
+ display: flex;
475
+ flex-direction: column;
476
+ gap: calc(var(--ui-spacing) * 1.5);
477
+ }
478
+
479
+ [data-slot="number-input-group"] {
480
+ display: inline-flex;
481
+ }
482
+
483
+ :is(
484
+ [data-slot="number-input-decrement"],
485
+ [data-slot="number-input-increment"]
486
+ ) {
487
+ display: inline-flex;
488
+ align-items: center;
489
+ justify-content: center;
490
+ width: calc(var(--ui-spacing) * 8);
491
+ height: calc(var(--ui-spacing) * 8);
492
+ padding: 0;
493
+ border: 1px solid var(--ui-input);
494
+ border-radius: var(--ui-radius);
495
+ background: var(--ui-background);
496
+ color: var(--ui-foreground);
497
+ cursor: pointer;
498
+
499
+ &:hover:not([data-disabled]) {
500
+ background: var(--ui-muted);
501
+ }
502
+
503
+ &[data-disabled] {
504
+ opacity: 0.5;
505
+ cursor: not-allowed;
506
+ }
507
+ }
508
+
509
+ [data-slot="number-input-decrement"] {
510
+ border-start-end-radius: 0;
511
+ border-end-end-radius: 0;
512
+ }
513
+
514
+ [data-slot="number-input-increment"] {
515
+ border-start-start-radius: 0;
516
+ border-end-start-radius: 0;
517
+ }
518
+
519
+ [data-slot="number-input-control"] {
520
+ position: relative;
521
+ width: 4rem;
522
+ height: calc(var(--ui-spacing) * 8);
523
+ margin-inline: -1px;
524
+ border: 1px solid var(--ui-input);
525
+ border-radius: 0;
526
+ background: var(--ui-background);
527
+ color: var(--ui-foreground);
528
+ font: inherit;
529
+ font-size: var(--ui-font-size);
530
+ font-variant-numeric: tabular-nums;
531
+ text-align: center;
532
+
533
+ &:focus-visible {
534
+ z-index: 1;
535
+ border-color: var(--ui-ring-border);
536
+ }
537
+ }
538
+
539
+ :is(
540
+ [data-slot="input"],
541
+ [data-slot="textarea"],
542
+ [data-slot="select-trigger"],
543
+ [data-slot="combobox-input"],
544
+ [data-slot="autocomplete-input"]
545
+ )[data-invalid]:focus-visible {
546
+ border-color: var(--ui-destructive);
547
+ outline-color: color-mix(in oklab, var(--ui-destructive) 20%, transparent);
548
+ }
549
+
550
+ :is([data-slot="checkbox"], [data-slot="radio"]) {
551
+ display: inline-flex;
552
+ flex-shrink: 0;
553
+ align-items: center;
554
+ justify-content: center;
555
+ width: 1rem;
556
+ height: 1rem;
557
+ padding: 0;
558
+ border: 1px solid var(--ui-input);
559
+ border-radius: calc(var(--ui-radius) / 2);
560
+ background: var(--ui-background);
561
+ color: var(--ui-primary-foreground);
562
+ font: inherit;
563
+ cursor: pointer;
564
+
565
+ &[data-disabled] {
566
+ opacity: 0.5;
567
+ cursor: not-allowed;
568
+ }
569
+
570
+ &[data-invalid] {
571
+ border-color: var(--ui-destructive);
572
+ }
573
+ }
574
+
575
+ [data-slot="checkbox"]:is([data-checked], [data-indeterminate]) {
576
+ border-color: var(--ui-primary);
577
+ background: var(--ui-primary);
578
+ }
579
+
580
+ [data-slot="checkbox-indicator"] {
581
+ --ui-icon-size: 0.75rem;
582
+ display: flex;
583
+ }
584
+
585
+ [data-slot="radio-group"] {
586
+ display: flex;
587
+ flex-direction: column;
588
+ gap: calc(var(--ui-spacing) * 2);
589
+ }
590
+
591
+ [data-slot="radio"] {
592
+ border-radius: 50%;
593
+
594
+ &[data-checked] {
595
+ border-color: var(--ui-primary);
596
+ }
597
+ }
598
+
599
+ [data-slot="radio-indicator"] {
600
+ width: 0.5rem;
601
+ height: 0.5rem;
602
+ border-radius: 50%;
603
+ background: var(--ui-primary);
604
+ }
605
+
606
+ /* Any radius above zero turns the switch and slider thumb fully round. */
607
+ [data-slot="switch"] {
608
+ display: inline-flex;
609
+ flex-shrink: 0;
610
+ align-items: center;
611
+ width: 2rem;
612
+ height: 1.125rem;
613
+ padding: 2px;
614
+ border: 1px solid var(--ui-input);
615
+ border-radius: calc(var(--ui-radius) * 999);
616
+ background: var(--ui-muted);
617
+ font: inherit;
618
+ cursor: pointer;
619
+
620
+ &[data-checked] {
621
+ border-color: var(--ui-primary);
622
+ background: var(--ui-primary);
623
+ }
624
+
625
+ &[data-disabled] {
626
+ opacity: 0.5;
627
+ cursor: not-allowed;
628
+ }
629
+ }
630
+
631
+ [data-slot="switch-thumb"] {
632
+ width: 0.75rem;
633
+ height: 0.75rem;
634
+ border-radius: calc(var(--ui-radius) * 999);
635
+ background: var(--ui-muted-foreground);
636
+
637
+ &[data-checked] {
638
+ margin-inline-start: auto;
639
+ background: var(--ui-primary-foreground);
640
+ }
641
+ }
642
+
643
+ [data-slot="slider"] {
644
+ display: flex;
645
+ flex-direction: column;
646
+ gap: calc(var(--ui-spacing) * 2);
647
+ width: 100%;
648
+ min-width: 12rem;
649
+ }
650
+
651
+ :is(
652
+ [data-slot="slider-value"],
653
+ [data-slot="progress-value"],
654
+ [data-slot="meter-value"]
655
+ ) {
656
+ color: var(--ui-muted-foreground);
657
+ font-size: calc(var(--ui-font-size) - 0.0625rem);
658
+ font-variant-numeric: tabular-nums;
659
+ }
660
+
661
+ [data-slot="slider-control"] {
662
+ display: flex;
663
+ align-items: center;
664
+ width: 100%;
665
+ height: 1.25rem;
666
+ touch-action: none;
667
+
668
+ &[data-orientation="vertical"] {
669
+ justify-content: center;
670
+ width: 1.25rem;
671
+ height: 10rem;
672
+ }
673
+ }
674
+
675
+ [data-slot="slider-track"] {
676
+ width: 100%;
677
+ height: 0.25rem;
678
+ border-radius: calc(var(--ui-radius) / 2);
679
+ background: var(--ui-muted);
680
+
681
+ &[data-orientation="vertical"] {
682
+ width: 0.25rem;
683
+ height: 100%;
684
+ }
685
+ }
686
+
687
+ [data-slot="slider-indicator"] {
688
+ border-radius: inherit;
689
+ background: var(--ui-primary);
690
+ }
691
+
692
+ [data-slot="slider-thumb"] {
693
+ width: 1rem;
694
+ height: 1rem;
695
+ border: 1px solid var(--ui-primary);
696
+ border-radius: calc(var(--ui-radius) * 999);
697
+ background: var(--ui-background);
698
+
699
+ &:has(:focus-visible) {
700
+ outline: 4px solid var(--ui-ring);
701
+ }
702
+
703
+ &[data-disabled] {
704
+ opacity: 0.5;
705
+ }
706
+ }
707
+
708
+ :is([data-slot="progress"], [data-slot="meter"]) {
709
+ display: grid;
710
+ grid-template-columns: 1fr auto;
711
+ gap: calc(var(--ui-spacing) * 1.5);
712
+ width: 100%;
713
+ min-width: 12rem;
714
+ }
715
+
716
+ :is([data-slot="progress-label"], [data-slot="meter-label"]) {
717
+ font-size: calc(var(--ui-font-size) - 0.0625rem);
718
+ font-weight: 500;
719
+ }
720
+
721
+ :is([data-slot="progress-track"], [data-slot="meter-track"]) {
722
+ position: relative;
723
+ grid-column: 1 / -1;
724
+ height: 0.5rem;
725
+ overflow: hidden;
726
+ border-radius: calc(var(--ui-radius) / 2);
727
+ background: var(--ui-muted);
728
+ }
729
+
730
+ :is([data-slot="progress-indicator"], [data-slot="meter-indicator"]) {
731
+ position: absolute;
732
+ inset-block: 0;
733
+ background: var(--ui-primary);
734
+ }
735
+
736
+ [data-slot="progress-indicator"][data-indeterminate] {
737
+ inset-inline: 0;
738
+ background: repeating-linear-gradient(
739
+ -45deg,
740
+ color-mix(in oklab, var(--ui-primary) 35%, transparent) 0 0.25rem,
741
+ transparent 0.25rem 0.5rem
742
+ );
743
+ }
744
+
745
+ [data-slot="accordion"] {
746
+ width: 100%;
747
+ max-width: 28rem;
748
+ border-top: 1px solid var(--ui-border);
749
+ }
750
+
751
+ [data-slot="accordion-item"] {
752
+ border-bottom: 1px solid var(--ui-border);
753
+ }
754
+
755
+ [data-slot="accordion-header"] {
756
+ margin: 0;
757
+ font: inherit;
758
+ }
759
+
760
+ :is([data-slot="accordion-trigger"], [data-slot="collapsible-trigger"]) {
761
+ display: flex;
762
+ align-items: center;
763
+ justify-content: space-between;
764
+ gap: calc(var(--ui-spacing) * 2);
765
+ width: 100%;
766
+ min-height: calc(var(--ui-spacing) * 10);
767
+ padding: 0;
768
+ border: 0;
769
+ background: none;
770
+ color: var(--ui-foreground);
771
+ font: inherit;
772
+ font-size: var(--ui-font-size);
773
+ font-weight: 500;
774
+ text-align: start;
775
+ cursor: pointer;
776
+
777
+ &[data-disabled] {
778
+ opacity: 0.5;
779
+ cursor: not-allowed;
780
+ }
781
+ }
782
+
783
+ [data-slot="collapsible-trigger"] {
784
+ display: inline-flex;
785
+ justify-content: flex-start;
786
+ width: auto;
787
+ min-height: calc(var(--ui-spacing) * 8);
788
+ }
789
+
790
+ :is([data-slot="accordion-panel"], [data-slot="collapsible-panel"]) {
791
+ color: var(--ui-muted-foreground);
792
+ font-size: var(--ui-font-size);
793
+ }
794
+
795
+ [data-slot="accordion-panel"] {
796
+ padding-bottom: calc(var(--ui-spacing) * 4);
797
+ }
798
+
799
+ [data-slot="avatar"] {
800
+ position: relative;
801
+ display: inline-flex;
802
+ flex-shrink: 0;
803
+ align-items: center;
804
+ justify-content: center;
805
+ width: calc(var(--ui-spacing) * 8);
806
+ height: calc(var(--ui-spacing) * 8);
807
+ overflow: hidden;
808
+ border-radius: var(--ui-radius);
809
+ background: var(--ui-muted);
810
+ color: var(--ui-muted-foreground);
811
+ font-size: calc(var(--ui-font-size) - 0.125rem);
812
+ font-weight: 500;
813
+ user-select: none;
814
+ }
815
+
816
+ [data-slot="avatar-image"] {
817
+ width: 100%;
818
+ height: 100%;
819
+ object-fit: cover;
820
+ }
821
+
822
+ [data-slot="separator"] {
823
+ align-self: center;
824
+ width: 100%;
825
+ height: 1px;
826
+ background: var(--ui-border);
827
+
828
+ &[data-orientation="vertical"] {
829
+ flex-shrink: 0;
830
+ align-self: stretch;
831
+ width: 1px;
832
+ height: auto;
833
+ min-height: calc(var(--ui-spacing) * 4);
834
+ }
835
+ }
836
+
837
+ [data-slot="select-trigger"] {
838
+ display: inline-flex;
839
+ align-items: center;
840
+ justify-content: space-between;
841
+ gap: calc(var(--ui-spacing) * 2);
842
+ min-width: 12rem;
843
+ height: calc(var(--ui-spacing) * 8);
844
+ padding-inline: calc(var(--ui-spacing) * 2.5);
845
+ border: 1px solid var(--ui-input);
846
+ border-radius: var(--ui-radius);
847
+ background: var(--ui-background);
848
+ color: var(--ui-foreground);
849
+ font: inherit;
850
+ font-size: var(--ui-font-size);
851
+ text-align: start;
852
+ cursor: pointer;
853
+
854
+ &:is(:focus-visible, [data-open]) {
855
+ border-color: var(--ui-ring-border);
856
+ }
857
+
858
+ &[data-invalid] {
859
+ border-color: var(--ui-destructive);
860
+ }
861
+
862
+ &[data-disabled] {
863
+ opacity: 0.5;
864
+ cursor: not-allowed;
865
+ }
866
+ }
867
+
868
+ [data-slot="field"] [data-slot="select-trigger"] {
869
+ width: 100%;
870
+ min-width: 0;
871
+ }
872
+
873
+ [data-slot="select-value"][data-placeholder] {
874
+ color: var(--ui-muted-foreground);
875
+ }
876
+
877
+ :is(
878
+ [data-slot="menu-content"],
879
+ [data-slot="select-content"],
880
+ [data-slot="combobox-content"],
881
+ [data-slot="autocomplete-content"],
882
+ [data-slot="trigger-menu-content"],
883
+ [data-slot="popover-content"],
884
+ [data-slot="hover-card-content"],
885
+ [data-slot="navigation-menu-viewport"],
886
+ :where([data-slot="navigation-menu-content"][popover])
887
+ ) {
888
+ min-width: 10rem;
889
+ max-height: var(--available-height);
890
+ margin: 0;
891
+ padding: calc(var(--ui-spacing) * 1);
892
+ overflow-y: auto;
893
+ overscroll-behavior: contain;
894
+ border: 1px solid var(--ui-border);
895
+ border-radius: calc(var(--ui-radius) * 1.5);
896
+ background: var(--ui-background);
897
+ box-shadow: var(--ui-shadow);
898
+ color: var(--ui-foreground);
899
+ font-size: var(--ui-font-size);
900
+ outline: none;
901
+ }
902
+
903
+ :is(
904
+ [data-slot="select-content"],
905
+ [data-slot="combobox-content"],
906
+ [data-slot="autocomplete-content"]
907
+ ) {
908
+ min-width: var(--anchor-width);
909
+ }
910
+
911
+ :is(
912
+ [data-slot="combobox-empty"],
913
+ [data-slot="autocomplete-empty"],
914
+ [data-slot="command-empty"],
915
+ [data-slot="trigger-menu-empty"]
916
+ ):not(:empty) {
917
+ padding: calc(var(--ui-spacing) * 2);
918
+ color: var(--ui-muted-foreground);
919
+ font-size: calc(var(--ui-font-size) - 0.0625rem);
920
+ }
921
+
922
+ :is([data-slot="popover-content"], [data-slot="hover-card-content"]) {
923
+ display: flex;
924
+ flex-direction: column;
925
+ gap: calc(var(--ui-spacing) * 2);
926
+ max-width: 20rem;
927
+ padding: calc(var(--ui-spacing) * 4);
928
+ }
929
+
930
+ [data-slot="tooltip-content"] {
931
+ margin: 0;
932
+ padding: calc(var(--ui-spacing) * 1) calc(var(--ui-spacing) * 2);
933
+ border: 0;
934
+ border-radius: var(--ui-radius);
935
+ overflow: visible;
936
+ background: var(--ui-foreground);
937
+ color: var(--ui-background);
938
+ font-size: calc(var(--ui-font-size) - 0.125rem);
939
+ }
940
+
941
+ [data-slot="popover-title"] {
942
+ margin: 0;
943
+ font-size: var(--ui-font-size);
944
+ font-weight: 600;
945
+ }
946
+
947
+ [data-slot="popover-description"] {
948
+ margin: 0;
949
+ color: var(--ui-muted-foreground);
950
+ font-size: calc(var(--ui-font-size) - 0.0625rem);
951
+ }
952
+
953
+ :is(
954
+ [data-slot="menu-item"],
955
+ [data-slot="menu-checkbox-item"],
956
+ [data-slot="menu-radio-item"],
957
+ [data-slot="select-item"],
958
+ [data-slot="combobox-item"],
959
+ [data-slot="autocomplete-item"],
960
+ [data-slot="command-item"],
961
+ [data-slot="listbox-item"],
962
+ [data-slot="trigger-menu-item"],
963
+ :where([data-slot="menu-content"]) [data-slot="menu-trigger"]
964
+ ) {
965
+ display: flex;
966
+ align-items: center;
967
+ gap: calc(var(--ui-spacing) * 2);
968
+ min-height: calc(var(--ui-spacing) * 7.5);
969
+ padding-inline: calc(var(--ui-spacing) * 2);
970
+ border-radius: max(0px, calc(var(--ui-radius) * 1.5 - var(--ui-spacing)));
971
+ outline: none;
972
+ cursor: default;
973
+ user-select: none;
974
+
975
+ &[data-highlighted] {
976
+ background: var(--ui-muted);
977
+ }
978
+
979
+ &[data-disabled] {
980
+ opacity: 0.5;
981
+ }
982
+
983
+ &[data-destructive] {
984
+ color: var(--ui-destructive);
985
+ }
986
+ }
987
+
988
+ :where([data-slot="menu-content"]) [data-slot="menu-trigger"] {
989
+ width: 100%;
990
+ height: auto;
991
+ justify-content: flex-start;
992
+ border: 0;
993
+ background: transparent;
994
+ font-weight: inherit;
995
+
996
+ &[data-open] {
997
+ background: var(--ui-muted);
998
+ }
999
+
1000
+ &:not(:has(> svg))::after {
1001
+ width: 1rem;
1002
+ height: 1rem;
1003
+ margin-inline-start: auto;
1004
+ background: currentColor;
1005
+ color: var(--ui-muted-foreground);
1006
+ content: "";
1007
+ mask: var(--ui-icon-chevron) center / contain no-repeat;
1008
+ rotate: -90deg;
1009
+ }
1010
+
1011
+ &:is([dir="rtl"] *)::after {
1012
+ rotate: 90deg;
1013
+ }
1014
+ }
1015
+
1016
+ :is(
1017
+ [data-slot="select-item-indicator"],
1018
+ [data-slot="combobox-item-indicator"],
1019
+ [data-slot="listbox-item-indicator"]
1020
+ ) {
1021
+ display: flex;
1022
+ margin-inline-start: auto;
1023
+ }
1024
+
1025
+ :is([data-slot="menu-checkbox-item"], [data-slot="menu-radio-item"]) {
1026
+ position: relative;
1027
+ padding-inline-start: calc(var(--ui-spacing) * 4 + 1rem);
1028
+ }
1029
+
1030
+ [data-slot="menu-item-indicator"] {
1031
+ position: absolute;
1032
+ inset-inline-start: calc(var(--ui-spacing) * 2);
1033
+ display: flex;
1034
+ }
1035
+
1036
+ :is(
1037
+ [data-slot="checkbox-indicator"],
1038
+ [data-slot="radio-indicator"],
1039
+ [data-slot="menu-item-indicator"],
1040
+ [data-slot="select-item-indicator"],
1041
+ [data-slot="combobox-item-indicator"],
1042
+ [data-slot="listbox-item-indicator"]
1043
+ )[data-unchecked] {
1044
+ visibility: hidden;
1045
+ }
1046
+
1047
+ :is([data-slot="command-shortcut"], [data-slot="menu-shortcut"]) {
1048
+ margin-inline-start: auto;
1049
+ color: var(--ui-muted-foreground);
1050
+ font-size: calc(var(--ui-font-size) - 0.125rem);
1051
+ }
1052
+
1053
+ :is([data-slot="menu-group-label"], [data-slot="command-group-label"]) {
1054
+ padding: calc(var(--ui-spacing) * 1.5) calc(var(--ui-spacing) * 2)
1055
+ calc(var(--ui-spacing) * 1);
1056
+ color: var(--ui-muted-foreground);
1057
+ font-size: calc(var(--ui-font-size) - 0.125rem);
1058
+ }
1059
+
1060
+ :is([data-slot="menu-separator"], [data-slot="command-separator"]) {
1061
+ height: 1px;
1062
+ margin: calc(var(--ui-spacing) * 1) calc(var(--ui-spacing) * -1);
1063
+ background: var(--ui-border);
1064
+ }
1065
+
1066
+ [data-slot="command"] {
1067
+ display: flex;
1068
+ flex-direction: column;
1069
+ width: 22rem;
1070
+ max-width: 100%;
1071
+ overflow: hidden;
1072
+ border: 1px solid var(--ui-border);
1073
+ border-radius: calc(var(--ui-radius) * 1.5);
1074
+ background: var(--ui-background);
1075
+ color: var(--ui-foreground);
1076
+ font-size: var(--ui-font-size);
1077
+ }
1078
+
1079
+ [data-slot="command-input"] {
1080
+ width: 100%;
1081
+ height: calc(var(--ui-spacing) * 10);
1082
+ padding-inline: calc(var(--ui-spacing) * 3);
1083
+ border: 0;
1084
+ border-bottom: 1px solid var(--ui-border);
1085
+ border-radius: 0;
1086
+ background: transparent;
1087
+ color: inherit;
1088
+ font: inherit;
1089
+ outline: none;
1090
+
1091
+ &::placeholder {
1092
+ color: var(--ui-muted-foreground);
1093
+ }
1094
+ }
1095
+
1096
+ [data-slot="command-list"] {
1097
+ max-height: 18rem;
1098
+ padding: var(--ui-spacing);
1099
+ overflow-y: auto;
1100
+ overscroll-behavior: contain;
1101
+ }
1102
+
1103
+ [data-slot="listbox"] {
1104
+ display: flex;
1105
+ flex-direction: column;
1106
+ width: 16rem;
1107
+ max-width: 100%;
1108
+ padding: var(--ui-spacing);
1109
+ border: 1px solid var(--ui-input);
1110
+ border-radius: calc(var(--ui-radius) * 1.5);
1111
+ background: var(--ui-background);
1112
+ font-size: var(--ui-font-size);
1113
+ }
1114
+
1115
+ [data-slot="navigation-menu"] {
1116
+ position: relative;
1117
+ }
1118
+
1119
+ [data-slot="navigation-menu-list"] {
1120
+ display: flex;
1121
+ flex-wrap: wrap;
1122
+ align-items: center;
1123
+ gap: 2px;
1124
+ margin: 0;
1125
+ padding: 0;
1126
+ list-style: none;
1127
+
1128
+ &[data-orientation="vertical"] {
1129
+ flex-direction: column;
1130
+ align-items: stretch;
1131
+ }
1132
+ }
1133
+
1134
+ :is(
1135
+ [data-slot="navigation-menu-trigger"],
1136
+ [data-slot="navigation-menu-link"]:not(
1137
+ [data-slot="navigation-menu-content"] *
1138
+ )
1139
+ ) {
1140
+ display: inline-flex;
1141
+ align-items: center;
1142
+ gap: calc(var(--ui-spacing) * 1.5);
1143
+ height: calc(var(--ui-spacing) * 8);
1144
+ padding-inline: calc(var(--ui-spacing) * 3);
1145
+ border: 0;
1146
+ border-radius: var(--ui-radius);
1147
+ background: transparent;
1148
+ color: var(--ui-foreground);
1149
+ font: inherit;
1150
+ font-size: var(--ui-font-size);
1151
+ font-weight: 500;
1152
+ text-decoration: none;
1153
+ white-space: nowrap;
1154
+ cursor: pointer;
1155
+
1156
+ &:is(:hover, [data-open], [data-current]) {
1157
+ background: var(--ui-muted);
1158
+ }
1159
+ }
1160
+
1161
+ [data-slot="navigation-menu-viewport"] {
1162
+ width: var(--viewport-width);
1163
+ height: var(--viewport-height);
1164
+ padding: 0;
1165
+ overflow: hidden;
1166
+
1167
+ & [data-slot="navigation-menu-content"]:not([popover]) {
1168
+ position: absolute;
1169
+ inset-block-start: 0;
1170
+ inset-inline-start: 0;
1171
+ }
1172
+ }
1173
+
1174
+ [data-slot="navigation-menu-content"] {
1175
+ width: max-content;
1176
+ max-width: calc(100vw - 3rem);
1177
+ padding: var(--ui-spacing);
1178
+ outline: none;
1179
+
1180
+ & ul {
1181
+ display: flex;
1182
+ flex-direction: column;
1183
+ width: 16rem;
1184
+ margin: 0;
1185
+ padding: 0;
1186
+ list-style: none;
1187
+ }
1188
+
1189
+ & [data-slot="navigation-menu-link"] {
1190
+ display: flex;
1191
+ flex-direction: column;
1192
+ gap: 2px;
1193
+ padding: calc(var(--ui-spacing) * 2);
1194
+ border-radius: max(0px, calc(var(--ui-radius) * 1.5 - var(--ui-spacing)));
1195
+ color: var(--ui-foreground);
1196
+ font-size: var(--ui-font-size);
1197
+ font-weight: 500;
1198
+ text-decoration: none;
1199
+ outline-offset: -4px;
1200
+
1201
+ &:is(:hover, [data-highlighted]) {
1202
+ background: var(--ui-muted);
1203
+ }
1204
+
1205
+ & > :not(:first-child) {
1206
+ color: var(--ui-muted-foreground);
1207
+ font-size: calc(var(--ui-font-size) - 0.0625rem);
1208
+ font-weight: 400;
1209
+ line-height: var(--ui-line-height);
1210
+ }
1211
+ }
1212
+ }
1213
+
1214
+ [data-slot="tabs"] {
1215
+ display: flex;
1216
+ flex-direction: column;
1217
+
1218
+ &[data-orientation="vertical"] {
1219
+ flex-direction: row;
1220
+ }
1221
+ }
1222
+
1223
+ [data-slot="tabs-list"] {
1224
+ display: flex;
1225
+ border-bottom: 1px solid var(--ui-border);
1226
+
1227
+ &[data-orientation="vertical"] {
1228
+ flex-direction: column;
1229
+ border-bottom: 0;
1230
+ border-inline-end: 1px solid var(--ui-border);
1231
+ }
1232
+ }
1233
+
1234
+ [data-slot="tabs-tab"] {
1235
+ display: inline-flex;
1236
+ align-items: center;
1237
+ gap: calc(var(--ui-spacing) * 1.5);
1238
+ height: calc(var(--ui-spacing) * 8);
1239
+ margin-bottom: -1px;
1240
+ padding-inline: calc(var(--ui-spacing) * 3);
1241
+ border: 0;
1242
+ border-bottom: 2px solid transparent;
1243
+ border-radius: 0;
1244
+ background: none;
1245
+ color: var(--ui-muted-foreground);
1246
+ font: inherit;
1247
+ font-size: var(--ui-font-size);
1248
+ font-weight: 500;
1249
+ cursor: pointer;
1250
+
1251
+ &:hover:not([data-disabled]) {
1252
+ color: var(--ui-foreground);
1253
+ }
1254
+
1255
+ &[data-selected] {
1256
+ border-color: var(--ui-foreground);
1257
+ color: var(--ui-foreground);
1258
+ }
1259
+
1260
+ &[data-disabled] {
1261
+ opacity: 0.5;
1262
+ cursor: not-allowed;
1263
+ }
1264
+
1265
+ &[data-orientation="vertical"] {
1266
+ margin-bottom: 0;
1267
+ margin-inline-end: -1px;
1268
+ border-bottom: 0;
1269
+ border-inline-end: 2px solid transparent;
1270
+
1271
+ &[data-selected] {
1272
+ border-color: var(--ui-foreground);
1273
+ }
1274
+ }
1275
+ }
1276
+
1277
+ [data-slot="tabs-panel"] {
1278
+ font-size: var(--ui-font-size);
1279
+
1280
+ &:not([hidden]) {
1281
+ padding-block-start: calc(var(--ui-spacing) * 3);
1282
+ }
1283
+
1284
+ &[data-orientation="vertical"]:not([hidden]) {
1285
+ padding-block-start: 0;
1286
+ padding-inline-start: calc(var(--ui-spacing) * 3);
1287
+ }
1288
+ }
1289
+
1290
+ [data-slot="drawer-backdrop"][data-hidden] {
1291
+ display: none;
1292
+ }
1293
+
1294
+ :is(
1295
+ [data-slot="dialog-backdrop"],
1296
+ [data-slot="alert-dialog-backdrop"],
1297
+ [data-slot="drawer-backdrop"]
1298
+ ) {
1299
+ position: fixed;
1300
+ inset: 0;
1301
+ z-index: 50;
1302
+ width: auto;
1303
+ height: auto;
1304
+ margin: 0;
1305
+ padding: 0;
1306
+ border: 0;
1307
+ background: var(--ui-overlay);
1308
+ }
1309
+
1310
+ /* Matches what the drawer sets once it runs, so a drawer open in server HTML doesn't sit in the page first. */
1311
+ [data-slot="drawer-viewport"] {
1312
+ position: fixed;
1313
+ inset: 0;
1314
+ z-index: 50;
1315
+ display: flex;
1316
+ flex-direction: column;
1317
+ justify-content: flex-end;
1318
+ pointer-events: none;
1319
+
1320
+ &[data-side="top"] {
1321
+ justify-content: flex-start;
1322
+ }
1323
+
1324
+ &:is([data-side="left"], [data-side="right"]) {
1325
+ flex-direction: row;
1326
+ }
1327
+
1328
+ /* Physical margins, since a left drawer stays on the left in right-to-left pages. */
1329
+ &[data-side="left"] > * {
1330
+ margin-right: auto;
1331
+ }
1332
+
1333
+ &[data-side="right"] > * {
1334
+ margin-left: auto;
1335
+ }
1336
+
1337
+ & > * {
1338
+ pointer-events: auto;
1339
+ }
1340
+ }
1341
+
1342
+ :is([data-slot="dialog-content"], [data-slot="alert-dialog-content"]) {
1343
+ position: fixed;
1344
+ inset: 0;
1345
+ z-index: 50;
1346
+ display: flex;
1347
+ flex-direction: column;
1348
+ gap: calc(var(--ui-spacing) * 4);
1349
+ width: min(28rem, calc(100% - 2rem));
1350
+ height: fit-content;
1351
+ max-height: calc(100dvh - 2rem);
1352
+ margin: auto;
1353
+ padding: calc(var(--ui-spacing) * 6);
1354
+ overflow-y: auto;
1355
+ overscroll-behavior: contain;
1356
+ border: 1px solid var(--ui-border);
1357
+ border-radius: calc(var(--ui-radius) * 1.5);
1358
+ background: var(--ui-background);
1359
+ box-shadow: var(--ui-shadow);
1360
+ color: var(--ui-foreground);
1361
+ font-size: var(--ui-font-size);
1362
+ outline: none;
1363
+
1364
+ /* A sheet places the dialog by its top, so the centering inset and margins come off. */
1365
+ &[data-presentation="sheet"] {
1366
+ inset: auto;
1367
+ margin-block: 0;
1368
+ border-end-start-radius: 0;
1369
+ border-end-end-radius: 0;
1370
+ }
1371
+ }
1372
+
1373
+ [data-slot="drawer-content"] {
1374
+ position: relative;
1375
+ display: flex;
1376
+ flex-direction: column;
1377
+ gap: calc(var(--ui-spacing) * 4);
1378
+ width: 100%;
1379
+ max-height: 85dvh;
1380
+ padding: calc(var(--ui-spacing) * 6);
1381
+ border: 1px solid var(--ui-border);
1382
+ background: var(--ui-background);
1383
+ box-shadow: var(--ui-shadow);
1384
+ color: var(--ui-foreground);
1385
+ font-size: var(--ui-font-size);
1386
+ line-height: var(--ui-line-height);
1387
+ outline: none;
1388
+
1389
+ /* Covers the gap a drag past the edge would open. */
1390
+ &::after {
1391
+ position: absolute;
1392
+ background: inherit;
1393
+ content: "";
1394
+ }
1395
+
1396
+ &:is([data-side="bottom"], [data-side="top"]) {
1397
+ max-width: 32rem;
1398
+ height: fit-content;
1399
+ margin-inline: auto;
1400
+
1401
+ &::after {
1402
+ inset-inline: -1px;
1403
+ height: 6rem;
1404
+ }
1405
+ }
1406
+
1407
+ &[data-side="bottom"] {
1408
+ border-bottom: 0;
1409
+ border-start-start-radius: calc(var(--ui-radius) * 1.5);
1410
+ border-start-end-radius: calc(var(--ui-radius) * 1.5);
1411
+
1412
+ &::after {
1413
+ top: 100%;
1414
+ }
1415
+ }
1416
+
1417
+ &[data-side="top"] {
1418
+ border-top: 0;
1419
+ border-end-start-radius: calc(var(--ui-radius) * 1.5);
1420
+ border-end-end-radius: calc(var(--ui-radius) * 1.5);
1421
+
1422
+ &::after {
1423
+ bottom: 100%;
1424
+ }
1425
+ }
1426
+
1427
+ &:is([data-side="left"], [data-side="right"]) {
1428
+ width: 20rem;
1429
+ max-width: 85vw;
1430
+ height: 100%;
1431
+ max-height: none;
1432
+
1433
+ &::after {
1434
+ inset-block: 0;
1435
+ width: 6rem;
1436
+ }
1437
+ }
1438
+
1439
+ &[data-side="left"]::after {
1440
+ right: 100%;
1441
+ }
1442
+
1443
+ &[data-side="right"]::after {
1444
+ left: 100%;
1445
+ }
1446
+ }
1447
+
1448
+ :is(
1449
+ [data-slot="dialog-title"],
1450
+ [data-slot="alert-dialog-title"],
1451
+ [data-slot="drawer-title"]
1452
+ ) {
1453
+ margin: 0;
1454
+ font-size: calc(var(--ui-font-size) + 0.125rem);
1455
+ font-weight: 600;
1456
+ }
1457
+
1458
+ :is(
1459
+ [data-slot="dialog-description"],
1460
+ [data-slot="alert-dialog-description"],
1461
+ [data-slot="drawer-description"]
1462
+ ) {
1463
+ margin: calc(var(--ui-spacing) * -2) 0 0;
1464
+ color: var(--ui-muted-foreground);
1465
+ }
1466
+
1467
+ /* Drawn only when a part has no icon of its own. */
1468
+ :is(
1469
+ [data-slot="calendar-previous"],
1470
+ [data-slot="calendar-next"],
1471
+ [data-slot="carousel-previous"],
1472
+ [data-slot="carousel-next"],
1473
+ [data-slot="pagination-previous"],
1474
+ [data-slot="pagination-next"],
1475
+ [data-slot="tree-indicator"],
1476
+ [data-slot="password-input-toggle"],
1477
+ [data-slot="date-picker-trigger"],
1478
+ [data-slot="date-picker-clear"],
1479
+ [data-slot="color-picker-eye-dropper"],
1480
+ [data-slot="file-input-item-remove"],
1481
+ [data-slot="token-input-token-remove"],
1482
+ [data-slot="toast-close"],
1483
+ [data-slot="otp-input-separator"]
1484
+ ):not(:has(svg))::before {
1485
+ content: "";
1486
+ flex-shrink: 0;
1487
+ width: var(--ui-icon-size, 1rem);
1488
+ height: var(--ui-icon-size, 1rem);
1489
+ background: currentColor;
1490
+ mask: var(--ui-icon) center / contain no-repeat;
1491
+ }
1492
+
1493
+ :is(
1494
+ [data-slot="calendar-previous"],
1495
+ [data-slot="calendar-next"],
1496
+ [data-slot="carousel-previous"],
1497
+ [data-slot="carousel-next"],
1498
+ [data-slot="pagination-previous"],
1499
+ [data-slot="pagination-next"],
1500
+ [data-slot="tree-indicator"]
1501
+ ) {
1502
+ --ui-icon: var(--ui-icon-chevron);
1503
+ }
1504
+
1505
+ :is(
1506
+ [data-slot="calendar-previous"],
1507
+ [data-slot="carousel-previous"],
1508
+ [data-slot="pagination-previous"]
1509
+ )::before {
1510
+ rotate: 90deg;
1511
+ }
1512
+
1513
+ :is(
1514
+ [data-slot="calendar-next"],
1515
+ [data-slot="carousel-next"],
1516
+ [data-slot="pagination-next"]
1517
+ )::before {
1518
+ rotate: -90deg;
1519
+ }
1520
+
1521
+ :is(
1522
+ [data-slot="calendar-previous"],
1523
+ [data-slot="carousel-previous"],
1524
+ [data-slot="pagination-previous"]
1525
+ ):is([dir="rtl"] *)::before {
1526
+ rotate: -90deg;
1527
+ }
1528
+
1529
+ :is(
1530
+ [data-slot="calendar-next"],
1531
+ [data-slot="carousel-next"],
1532
+ [data-slot="pagination-next"]
1533
+ ):is([dir="rtl"] *)::before {
1534
+ rotate: 90deg;
1535
+ }
1536
+
1537
+ [data-slot="carousel"][data-orientation="vertical"]
1538
+ [data-slot="carousel-previous"]::before {
1539
+ rotate: 180deg;
1540
+ }
1541
+
1542
+ [data-slot="carousel"][data-orientation="vertical"]
1543
+ [data-slot="carousel-next"]::before {
1544
+ rotate: none;
1545
+ }
1546
+
1547
+ [data-slot="password-input-toggle"] {
1548
+ --ui-icon: var(--ui-icon-eye);
1549
+
1550
+ &[data-visible] {
1551
+ --ui-icon: var(--ui-icon-eye-off);
1552
+ }
1553
+ }
1554
+
1555
+ [data-slot="date-picker-trigger"] {
1556
+ --ui-icon: var(--ui-icon-calendar);
1557
+ }
1558
+
1559
+ [data-slot="color-picker-eye-dropper"] {
1560
+ --ui-icon: var(--ui-icon-pipette);
1561
+ }
1562
+
1563
+ :is(
1564
+ [data-slot="date-picker-clear"],
1565
+ [data-slot="file-input-item-remove"],
1566
+ [data-slot="token-input-token-remove"],
1567
+ [data-slot="toast-close"]
1568
+ ) {
1569
+ --ui-icon: var(--ui-icon-x);
1570
+ }
1571
+
1572
+ [data-slot="otp-input-separator"] {
1573
+ --ui-icon: var(--ui-icon-minus);
1574
+ }
1575
+
1576
+ :is(
1577
+ [data-slot="carousel-previous"],
1578
+ [data-slot="carousel-next"],
1579
+ [data-slot="pagination-previous"],
1580
+ [data-slot="pagination-next"],
1581
+ [data-slot="pagination-link"],
1582
+ [data-slot="color-picker-eye-dropper"],
1583
+ [data-slot="file-input-trigger"],
1584
+ [data-slot="toast-action"],
1585
+ [data-slot="toolbar-button"],
1586
+ [data-slot="toolbar-link"]
1587
+ ) {
1588
+ display: inline-flex;
1589
+ flex-shrink: 0;
1590
+ align-items: center;
1591
+ justify-content: center;
1592
+ gap: calc(var(--ui-spacing) * 1.5);
1593
+ min-width: calc(var(--ui-spacing) * 8);
1594
+ height: calc(var(--ui-spacing) * 8);
1595
+ padding-inline: calc(var(--ui-spacing) * 3);
1596
+ border: 1px solid var(--ui-input);
1597
+ border-radius: var(--ui-radius);
1598
+ background: var(--ui-background);
1599
+ color: var(--ui-foreground);
1600
+ font: inherit;
1601
+ font-size: var(--ui-font-size);
1602
+ font-weight: 500;
1603
+ font-variant-numeric: tabular-nums;
1604
+ text-decoration: none;
1605
+ white-space: nowrap;
1606
+ cursor: pointer;
1607
+ user-select: none;
1608
+
1609
+ &:hover:not([data-disabled]) {
1610
+ background: var(--ui-muted);
1611
+ }
1612
+
1613
+ &[data-disabled] {
1614
+ opacity: 0.5;
1615
+ cursor: not-allowed;
1616
+ }
1617
+
1618
+ &[data-variant="solid"] {
1619
+ border-color: var(--ui-primary);
1620
+ background: var(--ui-primary);
1621
+ color: var(--ui-primary-foreground);
1622
+
1623
+ &:hover:not([data-disabled]) {
1624
+ background: color-mix(
1625
+ in oklab,
1626
+ var(--ui-primary) 85%,
1627
+ var(--ui-background)
1628
+ );
1629
+ }
1630
+ }
1631
+ }
1632
+
1633
+ :is(
1634
+ [data-slot="carousel-previous"],
1635
+ [data-slot="carousel-next"],
1636
+ [data-slot="pagination-previous"],
1637
+ [data-slot="pagination-next"],
1638
+ [data-slot="color-picker-eye-dropper"]
1639
+ ):not(:has(:not(svg, [data-slot="visually-hidden"]))) {
1640
+ width: calc(var(--ui-spacing) * 8);
1641
+ padding: 0;
1642
+ }
1643
+
1644
+ /* Small icon buttons that sit inside another part, so they have no border of their own. */
1645
+ :is(
1646
+ [data-slot="calendar-previous"],
1647
+ [data-slot="calendar-next"],
1648
+ [data-slot="date-picker-trigger"],
1649
+ [data-slot="date-picker-clear"],
1650
+ [data-slot="password-input-toggle"],
1651
+ [data-slot="file-input-item-remove"],
1652
+ [data-slot="toast-close"]
1653
+ ) {
1654
+ display: inline-flex;
1655
+ flex-shrink: 0;
1656
+ align-items: center;
1657
+ justify-content: center;
1658
+ width: calc(var(--ui-spacing) * 7);
1659
+ height: calc(var(--ui-spacing) * 7);
1660
+ padding: 0;
1661
+ border: 0;
1662
+ border-radius: max(0px, calc(var(--ui-radius) - 2px));
1663
+ background: transparent;
1664
+ color: var(--ui-muted-foreground);
1665
+ font: inherit;
1666
+ cursor: pointer;
1667
+
1668
+ &:hover:not([data-disabled]) {
1669
+ background: var(--ui-muted);
1670
+ color: var(--ui-foreground);
1671
+ }
1672
+
1673
+ &[data-disabled] {
1674
+ opacity: 0.5;
1675
+ cursor: not-allowed;
1676
+ }
1677
+ }
1678
+
1679
+ :is(
1680
+ [data-slot="date-picker-trigger"],
1681
+ [data-slot="date-picker-clear"],
1682
+ [data-slot="password-input-toggle"]
1683
+ ) {
1684
+ width: calc(var(--ui-spacing) * 6);
1685
+ height: calc(var(--ui-spacing) * 6);
1686
+ }
1687
+
1688
+ [data-slot="date-picker-clear"][data-empty] {
1689
+ visibility: hidden;
1690
+ }
1691
+
1692
+ /* Inputs made of a box around their own parts. */
1693
+ :is(
1694
+ [data-slot="date-input"],
1695
+ [data-slot="time-input"],
1696
+ [data-slot="password-input"]
1697
+ ) {
1698
+ display: inline-flex;
1699
+ align-items: center;
1700
+ gap: calc(var(--ui-spacing) * 1);
1701
+ min-width: 0;
1702
+ height: calc(var(--ui-spacing) * 8);
1703
+ padding-inline: calc(var(--ui-spacing) * 2.5);
1704
+ border: 1px solid var(--ui-input);
1705
+ border-radius: var(--ui-radius);
1706
+ background: var(--ui-background);
1707
+ color: var(--ui-foreground);
1708
+ font-size: var(--ui-font-size);
1709
+
1710
+ &:has(:focus-visible) {
1711
+ border-color: var(--ui-ring-border);
1712
+ outline: 4px solid var(--ui-ring);
1713
+ }
1714
+
1715
+ &:is([data-invalid], :has([aria-invalid="true"])) {
1716
+ border-color: var(--ui-destructive);
1717
+ }
1718
+
1719
+ &:is([data-disabled], :has(input:disabled)) {
1720
+ opacity: 0.5;
1721
+ cursor: not-allowed;
1722
+ }
1723
+ }
1724
+
1725
+ :is([data-slot="date-input"], [data-slot="time-input"]) {
1726
+ align-self: flex-start;
1727
+ gap: 0;
1728
+ font-variant-numeric: tabular-nums;
1729
+ }
1730
+
1731
+ :is([data-slot="date-input-segment"], [data-slot="time-input-segment"]) {
1732
+ &[data-type="literal"] {
1733
+ padding-inline: 1px;
1734
+ color: var(--ui-muted-foreground);
1735
+ white-space: pre;
1736
+ }
1737
+
1738
+ &:not([data-type="literal"]) {
1739
+ width: calc(2ch + 4px);
1740
+ height: calc(var(--ui-spacing) * 5.5);
1741
+ padding: 0 2px;
1742
+ border: 0;
1743
+ border-radius: calc(var(--ui-radius) / 2);
1744
+ background: transparent;
1745
+ color: inherit;
1746
+ font: inherit;
1747
+ text-align: center;
1748
+ caret-color: transparent;
1749
+ outline: none;
1750
+
1751
+ &::placeholder {
1752
+ color: var(--ui-muted-foreground);
1753
+ }
1754
+
1755
+ &::selection {
1756
+ background: transparent;
1757
+ }
1758
+
1759
+ &:focus {
1760
+ background: var(--ui-primary);
1761
+ color: var(--ui-primary-foreground);
1762
+
1763
+ &::placeholder {
1764
+ color: var(--ui-primary-foreground);
1765
+ }
1766
+ }
1767
+ }
1768
+
1769
+ &[data-type="year"] {
1770
+ width: calc(4ch + 4px);
1771
+ }
1772
+
1773
+ &[data-type="dayPeriod"] {
1774
+ width: calc(2.6ch + 4px);
1775
+ }
1776
+ }
1777
+
1778
+ [data-slot="password-input"] {
1779
+ display: flex;
1780
+ padding-inline-end: calc(var(--ui-spacing) * 1);
1781
+ }
1782
+
1783
+ [data-slot="password-input-control"] {
1784
+ flex: 1;
1785
+ min-width: 0;
1786
+ height: 100%;
1787
+ padding: 0;
1788
+ border: 0;
1789
+ background: transparent;
1790
+ color: inherit;
1791
+ font: inherit;
1792
+ outline: none;
1793
+
1794
+ &::placeholder {
1795
+ color: var(--ui-muted-foreground);
1796
+ }
1797
+ }
1798
+
1799
+ [data-slot="date-picker"] {
1800
+ display: inline-flex;
1801
+ flex-direction: column;
1802
+ gap: calc(var(--ui-spacing) * 1.5);
1803
+ width: 14rem;
1804
+ max-width: 100%;
1805
+ }
1806
+
1807
+ [data-slot="date-picker-input"] {
1808
+ width: 100%;
1809
+ min-width: 0;
1810
+ height: calc(var(--ui-spacing) * 8);
1811
+ padding-inline: calc(var(--ui-spacing) * 2.5);
1812
+ border: 1px solid var(--ui-input);
1813
+ border-radius: var(--ui-radius);
1814
+ background: var(--ui-background);
1815
+ color: var(--ui-foreground);
1816
+ font: inherit;
1817
+ font-size: var(--ui-font-size);
1818
+ font-variant-numeric: tabular-nums;
1819
+
1820
+ &::placeholder {
1821
+ color: var(--ui-muted-foreground);
1822
+ }
1823
+
1824
+ &:focus-visible {
1825
+ border-color: var(--ui-ring-border);
1826
+ }
1827
+
1828
+ &[aria-invalid="true"] {
1829
+ border-color: var(--ui-destructive);
1830
+ }
1831
+
1832
+ &[data-disabled] {
1833
+ opacity: 0.5;
1834
+ cursor: not-allowed;
1835
+ }
1836
+ }
1837
+
1838
+ /* The trigger and clear button right after the input sit inside the input's end. */
1839
+ :not([data-slot="field"]):has(
1840
+ > [data-slot="date-picker-input"]
1841
+ + :is([data-slot="date-picker-trigger"], [data-slot="date-picker-clear"])
1842
+ ),
1843
+ :not([data-slot="field"]):has(
1844
+ > ui-date-picker-input + :is(ui-date-picker-trigger, ui-date-picker-clear)
1845
+ ) {
1846
+ display: flex;
1847
+ align-items: center;
1848
+
1849
+ & [data-slot="date-picker-input"] {
1850
+ flex: 1;
1851
+ padding-inline-end: calc(var(--ui-spacing) * 8);
1852
+ }
1853
+
1854
+ & [data-slot="date-picker-trigger"] {
1855
+ position: relative;
1856
+ margin-inline-start: calc(var(--ui-spacing) * -7);
1857
+ }
1858
+
1859
+ &:has([data-slot="date-picker-clear"]) {
1860
+ & [data-slot="date-picker-input"] {
1861
+ padding-inline-end: calc(var(--ui-spacing) * 14);
1862
+ }
1863
+
1864
+ & [data-slot="date-picker-clear"] {
1865
+ position: relative;
1866
+ margin-inline-start: calc(var(--ui-spacing) * -13);
1867
+ }
1868
+
1869
+ & [data-slot="date-picker-trigger"] {
1870
+ margin-inline-start: 0;
1871
+ }
1872
+ }
1873
+ }
1874
+
1875
+ [data-slot="date-picker-hint"] {
1876
+ color: var(--ui-muted-foreground);
1877
+ font-size: calc(var(--ui-font-size) - 0.0625rem);
1878
+ font-variant-numeric: tabular-nums;
1879
+ }
1880
+
1881
+ [data-slot="otp-input"] {
1882
+ display: inline-flex;
1883
+ align-items: center;
1884
+ gap: calc(var(--ui-spacing) * 2);
1885
+ }
1886
+
1887
+ [data-slot="otp-input-group"] {
1888
+ display: flex;
1889
+ }
1890
+
1891
+ [data-slot="otp-input-slot"] {
1892
+ position: relative;
1893
+ display: grid;
1894
+ place-items: center;
1895
+ width: calc(var(--ui-spacing) * 8);
1896
+ height: calc(var(--ui-spacing) * 8);
1897
+ border: 1px solid var(--ui-input);
1898
+ background: var(--ui-background);
1899
+ color: var(--ui-foreground);
1900
+ font-size: var(--ui-font-size);
1901
+ font-variant-numeric: tabular-nums;
1902
+
1903
+ & + & {
1904
+ margin-inline-start: -1px;
1905
+ }
1906
+
1907
+ &:first-child {
1908
+ border-start-start-radius: var(--ui-radius);
1909
+ border-end-start-radius: var(--ui-radius);
1910
+ }
1911
+
1912
+ &:last-child {
1913
+ border-start-end-radius: var(--ui-radius);
1914
+ border-end-end-radius: var(--ui-radius);
1915
+ }
1916
+
1917
+ &[data-active] {
1918
+ z-index: 1;
1919
+ border-color: var(--ui-ring-border);
1920
+ outline: 4px solid var(--ui-ring);
1921
+ }
1922
+
1923
+ &[data-fake-caret]:empty::after {
1924
+ width: 1px;
1925
+ height: 1em;
1926
+ background: currentColor;
1927
+ content: "";
1928
+ }
1929
+
1930
+ &[data-disabled] {
1931
+ opacity: 0.5;
1932
+ }
1933
+ }
1934
+
1935
+ [data-slot="otp-input"]:has([aria-invalid="true"])
1936
+ [data-slot="otp-input-slot"] {
1937
+ border-color: var(--ui-destructive);
1938
+ }
1939
+
1940
+ [data-slot="otp-input-separator"] {
1941
+ display: flex;
1942
+ color: var(--ui-muted-foreground);
1943
+ }
1944
+
1945
+ [data-slot="token-input-editor"] {
1946
+ position: relative;
1947
+ display: block;
1948
+ width: 100%;
1949
+ min-height: calc(var(--ui-spacing) * 20);
1950
+ padding: calc(var(--ui-spacing) * 2) calc(var(--ui-spacing) * 2.5);
1951
+ border: 1px solid var(--ui-input);
1952
+ border-radius: var(--ui-radius);
1953
+ background: var(--ui-background);
1954
+ color: var(--ui-foreground);
1955
+ font-size: var(--ui-font-size);
1956
+ line-height: calc(var(--ui-spacing) * 6);
1957
+
1958
+ &:focus-visible {
1959
+ border-color: var(--ui-ring-border);
1960
+ }
1961
+
1962
+ &[data-empty]::before {
1963
+ position: absolute;
1964
+ color: var(--ui-muted-foreground);
1965
+ content: attr(aria-placeholder);
1966
+ pointer-events: none;
1967
+ }
1968
+
1969
+ &[data-disabled] {
1970
+ opacity: 0.5;
1971
+ cursor: not-allowed;
1972
+ }
1973
+ }
1974
+
1975
+ /* The editor keeps typed spaces, so a token template's indentation would show. */
1976
+ [data-slot="token-input-host"] {
1977
+ white-space: normal;
1978
+ }
1979
+
1980
+ [data-slot="token-input-token"] {
1981
+ display: inline-flex;
1982
+ align-items: center;
1983
+ gap: calc(var(--ui-spacing) * 1);
1984
+ height: calc(var(--ui-spacing) * 5.5);
1985
+ padding-inline: calc(var(--ui-spacing) * 1.5);
1986
+ border: 1px solid var(--ui-input);
1987
+ border-radius: calc(var(--ui-radius) / 2);
1988
+ background: var(--ui-muted);
1989
+ font-size: calc(var(--ui-font-size) - 0.0625rem);
1990
+ line-height: 1;
1991
+ white-space: nowrap;
1992
+ vertical-align: 1px;
1993
+
1994
+ &:has(
1995
+ [data-slot="token-input-token-remove"]:not(
1996
+ [data-disabled],
1997
+ [data-readonly]
1998
+ )
1999
+ ) {
2000
+ padding-inline-end: 2px;
2001
+ }
2002
+
2003
+ &[data-selected] {
2004
+ border-color: var(--ui-foreground);
2005
+ }
2006
+
2007
+ &:is([data-pending], [data-unresolved]) {
2008
+ color: var(--ui-muted-foreground);
2009
+ }
2010
+ }
2011
+
2012
+ [data-slot="token-input-token-remove"] {
2013
+ --ui-icon-size: 0.75rem;
2014
+ display: inline-flex;
2015
+ align-items: center;
2016
+ justify-content: center;
2017
+ width: 1rem;
2018
+ height: 1rem;
2019
+ color: var(--ui-muted-foreground);
2020
+ cursor: pointer;
2021
+
2022
+ &:hover {
2023
+ color: var(--ui-foreground);
2024
+ }
2025
+
2026
+ &:is([data-disabled], [data-readonly]) {
2027
+ display: none;
2028
+ }
2029
+ }
2030
+
2031
+ [data-slot="file-input"] {
2032
+ display: flex;
2033
+ flex-direction: column;
2034
+ gap: calc(var(--ui-spacing) * 3);
2035
+ width: 100%;
2036
+ max-width: 24rem;
2037
+ }
2038
+
2039
+ [data-slot="file-input-dropzone"] {
2040
+ display: flex;
2041
+ flex-direction: column;
2042
+ align-items: center;
2043
+ gap: calc(var(--ui-spacing) * 1);
2044
+ padding: calc(var(--ui-spacing) * 8) calc(var(--ui-spacing) * 6);
2045
+ border: 1px dashed var(--ui-input);
2046
+ border-radius: var(--ui-radius);
2047
+ color: var(--ui-muted-foreground);
2048
+ font-size: var(--ui-font-size);
2049
+ text-align: center;
2050
+
2051
+ & > p {
2052
+ margin: 0;
2053
+ }
2054
+
2055
+ & > p:first-of-type {
2056
+ color: var(--ui-foreground);
2057
+ font-weight: 500;
2058
+ }
2059
+
2060
+ & > svg {
2061
+ width: 1.5rem;
2062
+ height: 1.5rem;
2063
+ margin-bottom: calc(var(--ui-spacing) * 2);
2064
+ }
2065
+
2066
+ & > :has(> [data-slot="file-input-trigger"]),
2067
+ & > [data-slot="file-input-trigger"] {
2068
+ margin-top: calc(var(--ui-spacing) * 3);
2069
+ }
2070
+
2071
+ &[data-dragging] {
2072
+ border-style: solid;
2073
+ border-color: var(--ui-foreground);
2074
+ background: var(--ui-muted);
2075
+ }
2076
+
2077
+ &[data-drag-reject] {
2078
+ border-color: var(--ui-destructive);
2079
+ color: var(--ui-destructive);
2080
+ }
2081
+
2082
+ &[data-disabled] {
2083
+ opacity: 0.5;
2084
+ }
2085
+ }
2086
+
2087
+ [data-slot="file-input-list"] {
2088
+ display: flex;
2089
+ flex-direction: column;
2090
+ margin: 0;
2091
+ padding: 0;
2092
+ border: 1px solid var(--ui-border);
2093
+ border-radius: var(--ui-radius);
2094
+ font-size: var(--ui-font-size);
2095
+ list-style: none;
2096
+
2097
+ &:not(:has([data-slot="file-input-item"])) {
2098
+ display: none;
2099
+ }
2100
+ }
2101
+
2102
+ [data-slot="file-input-item"] {
2103
+ display: flex;
2104
+ align-items: center;
2105
+ gap: calc(var(--ui-spacing) * 2);
2106
+ min-height: calc(var(--ui-spacing) * 9);
2107
+ padding-inline: calc(var(--ui-spacing) * 3) calc(var(--ui-spacing) * 1);
2108
+
2109
+ & + & {
2110
+ border-top: 1px solid var(--ui-border);
2111
+ }
2112
+
2113
+ & > :first-of-type:not(svg, [data-slot]) {
2114
+ flex: 1;
2115
+ min-width: 0;
2116
+ overflow: hidden;
2117
+ text-overflow: ellipsis;
2118
+ white-space: nowrap;
2119
+ }
2120
+
2121
+ & > :not(:first-of-type):not([data-slot], svg) {
2122
+ color: var(--ui-muted-foreground);
2123
+ font-size: calc(var(--ui-font-size) - 0.0625rem);
2124
+ font-variant-numeric: tabular-nums;
2125
+ }
2126
+
2127
+ & > svg {
2128
+ color: var(--ui-muted-foreground);
2129
+ }
2130
+ }
2131
+
2132
+ [data-slot="calendar"] {
2133
+ display: inline-grid;
2134
+ grid-template-columns: auto 1fr auto;
2135
+ align-items: center;
2136
+ gap: calc(var(--ui-spacing) * 2) 0;
2137
+ padding: calc(var(--ui-spacing) * 3);
2138
+ border: 1px solid var(--ui-border);
2139
+ border-radius: calc(var(--ui-radius) * 1.5);
2140
+ background: var(--ui-background);
2141
+ color: var(--ui-foreground);
2142
+ font-size: var(--ui-font-size);
2143
+
2144
+ &
2145
+ > :not(
2146
+ :has(
2147
+ > :is([data-slot="calendar-previous"], [data-slot="calendar-next"])
2148
+ )
2149
+ ):not(
2150
+ [data-slot="calendar-heading"],
2151
+ [data-slot="calendar-previous"],
2152
+ [data-slot="calendar-next"]
2153
+ ) {
2154
+ grid-column: 1 / -1;
2155
+ }
2156
+
2157
+ &[data-disabled] {
2158
+ opacity: 0.5;
2159
+ }
2160
+ }
2161
+
2162
+ [data-slot="calendar-heading"] {
2163
+ margin: 0;
2164
+ font-size: var(--ui-font-size);
2165
+ font-weight: 600;
2166
+ text-align: center;
2167
+ }
2168
+
2169
+ [data-slot="calendar-grid"] {
2170
+ border-collapse: collapse;
2171
+
2172
+ &:not(table) {
2173
+ display: flex;
2174
+ flex-direction: column;
2175
+ }
2176
+
2177
+ & :is(th, td) {
2178
+ padding: 0;
2179
+ }
2180
+ }
2181
+
2182
+ :is([data-slot="calendar-weekdays"], [data-slot="calendar-week"]):not(tr) {
2183
+ display: flex;
2184
+ }
2185
+
2186
+ :is([data-slot="calendar-weekday"], [data-slot="calendar-day"]) {
2187
+ display: inline-flex;
2188
+ align-items: center;
2189
+ justify-content: center;
2190
+ width: calc(var(--ui-spacing) * 8.5);
2191
+ height: calc(var(--ui-spacing) * 8.5);
2192
+ padding: 0;
2193
+ border: 0;
2194
+ font-size: var(--ui-font-size);
2195
+ text-align: center;
2196
+ }
2197
+
2198
+ :is(th, td):is([data-slot="calendar-weekday"], [data-slot="calendar-day"]) {
2199
+ display: table-cell;
2200
+ vertical-align: middle;
2201
+ }
2202
+
2203
+ [data-slot="calendar-weekday"] {
2204
+ height: calc(var(--ui-spacing) * 7);
2205
+ color: var(--ui-muted-foreground);
2206
+ font-size: calc(var(--ui-font-size) - 0.0625rem);
2207
+ font-weight: 400;
2208
+
2209
+ & abbr {
2210
+ text-decoration: none;
2211
+ }
2212
+ }
2213
+
2214
+ [data-slot="calendar-day"] {
2215
+ border-radius: var(--ui-radius);
2216
+ font-variant-numeric: tabular-nums;
2217
+ cursor: pointer;
2218
+ user-select: none;
2219
+
2220
+ &:hover:not(
2221
+ [data-outside],
2222
+ [data-disabled],
2223
+ [data-unavailable],
2224
+ [data-selected]
2225
+ ) {
2226
+ background: var(--ui-muted);
2227
+ }
2228
+
2229
+ &[data-today] {
2230
+ font-weight: 600;
2231
+ text-decoration: underline;
2232
+ text-underline-offset: 0.25em;
2233
+ }
2234
+
2235
+ &:is([data-outside], [data-disabled]) {
2236
+ color: var(--ui-muted-foreground);
2237
+ cursor: default;
2238
+ }
2239
+
2240
+ &[data-disabled] {
2241
+ opacity: 0.5;
2242
+ }
2243
+
2244
+ &[data-unavailable] {
2245
+ color: var(--ui-muted-foreground);
2246
+ text-decoration: line-through;
2247
+ cursor: not-allowed;
2248
+ }
2249
+
2250
+ &[data-range-middle] {
2251
+ border-radius: 0;
2252
+ background: var(--ui-muted);
2253
+ }
2254
+
2255
+ &:is(
2256
+ [data-selected]:not([data-range-middle]),
2257
+ [data-range-start],
2258
+ [data-range-end]
2259
+ ) {
2260
+ background: var(--ui-primary);
2261
+ color: var(--ui-primary-foreground);
2262
+ }
2263
+
2264
+ &[data-range-start]:not([data-range-end]) {
2265
+ border-start-end-radius: 0;
2266
+ border-end-end-radius: 0;
2267
+ }
2268
+
2269
+ &[data-range-end]:not([data-range-start]) {
2270
+ border-start-start-radius: 0;
2271
+ border-end-start-radius: 0;
2272
+ }
2273
+
2274
+ &:focus-visible {
2275
+ position: relative;
2276
+ z-index: 1;
2277
+ }
2278
+ }
2279
+
2280
+ [data-slot="date-picker-content"] {
2281
+ display: grid;
2282
+ grid-template-columns: auto 1fr auto;
2283
+ align-items: center;
2284
+ gap: calc(var(--ui-spacing) * 2) 0;
2285
+ max-width: var(--available-width);
2286
+ max-height: var(--available-height);
2287
+ margin: 0;
2288
+ padding: calc(var(--ui-spacing) * 3);
2289
+ overflow-y: auto;
2290
+ overscroll-behavior: contain;
2291
+ border: 1px solid var(--ui-border);
2292
+ border-radius: calc(var(--ui-radius) * 1.5);
2293
+ background: var(--ui-background);
2294
+ box-shadow: var(--ui-shadow);
2295
+ color: var(--ui-foreground);
2296
+ font-size: var(--ui-font-size);
2297
+ outline: none;
2298
+
2299
+ &
2300
+ > :not(
2301
+ :has(
2302
+ > :is([data-slot="calendar-previous"], [data-slot="calendar-next"])
2303
+ )
2304
+ ):not(
2305
+ [data-slot="calendar-heading"],
2306
+ [data-slot="calendar-previous"],
2307
+ [data-slot="calendar-next"]
2308
+ ) {
2309
+ grid-column: 1 / -1;
2310
+ }
2311
+
2312
+ & [data-slot="calendar"] {
2313
+ padding: 0;
2314
+ border: 0;
2315
+ }
2316
+ }
2317
+
2318
+ [data-slot="date-picker-preset"] {
2319
+ height: calc(var(--ui-spacing) * 7);
2320
+ padding-inline: calc(var(--ui-spacing) * 2.5);
2321
+ border: 1px solid var(--ui-input);
2322
+ border-radius: var(--ui-radius);
2323
+ background: var(--ui-background);
2324
+ color: inherit;
2325
+ font: inherit;
2326
+ cursor: pointer;
2327
+
2328
+ &:hover,
2329
+ &[data-selected] {
2330
+ background: var(--ui-muted);
2331
+ }
2332
+
2333
+ &[data-selected] {
2334
+ border-color: var(--ui-foreground);
2335
+ }
2336
+ }
2337
+
2338
+ [data-slot="color-picker"] {
2339
+ --ui-checker: repeating-conic-gradient(
2340
+ var(--ui-muted) 0 25%,
2341
+ var(--ui-background) 0 50%
2342
+ )
2343
+ 0 0 / 8px 8px;
2344
+ display: flex;
2345
+ flex-direction: column;
2346
+ gap: calc(var(--ui-spacing) * 3);
2347
+ width: 16rem;
2348
+ max-width: 100%;
2349
+
2350
+ & > div:not([data-slot]) {
2351
+ display: flex;
2352
+ align-items: center;
2353
+ gap: calc(var(--ui-spacing) * 2);
2354
+
2355
+ & > div:not([data-slot]) {
2356
+ display: flex;
2357
+ flex: 1;
2358
+ flex-direction: column;
2359
+ gap: calc(var(--ui-spacing) * 3);
2360
+ min-width: 0;
2361
+ }
2362
+ }
2363
+ }
2364
+
2365
+ [data-slot="color-picker-area"] {
2366
+ position: relative;
2367
+ height: 10rem;
2368
+ border-radius: var(--ui-radius);
2369
+ background: var(--color-area-background, var(--ui-checker));
2370
+ box-shadow: inset 0 0 0 1px var(--ui-border);
2371
+ cursor: crosshair;
2372
+ touch-action: none;
2373
+
2374
+ &[data-disabled] {
2375
+ opacity: 0.5;
2376
+ cursor: not-allowed;
2377
+ }
2378
+ }
2379
+
2380
+ [data-slot="color-picker-slider"] {
2381
+ position: relative;
2382
+ height: 0.75rem;
2383
+ border-radius: calc(var(--ui-radius) * 999);
2384
+ background: var(--color-slider-background);
2385
+ box-shadow: inset 0 0 0 1px var(--ui-border);
2386
+ touch-action: none;
2387
+
2388
+ &[data-channel="alpha"] {
2389
+ background: var(--color-slider-background), var(--ui-checker);
2390
+ }
2391
+
2392
+ &[data-orientation="vertical"] {
2393
+ width: 0.75rem;
2394
+ height: 10rem;
2395
+ }
2396
+
2397
+ &[data-disabled] {
2398
+ opacity: 0.5;
2399
+ }
2400
+ }
2401
+
2402
+ :is(
2403
+ [data-slot="color-picker-area-thumb"],
2404
+ [data-slot="color-picker-slider-thumb"]
2405
+ ) {
2406
+ width: 1rem;
2407
+ height: 1rem;
2408
+ border: 2px solid oklch(1 0 0);
2409
+ border-radius: calc(var(--ui-radius) * 999);
2410
+ background: var(--color-picker-color);
2411
+ box-shadow: 0 0 0 1px oklch(0 0 0 / 0.4);
2412
+ translate: -50% -50%;
2413
+
2414
+ &:is([dir="rtl"] *) {
2415
+ translate: 50% -50%;
2416
+ }
2417
+
2418
+ &[data-out-of-gamut] {
2419
+ border-style: dashed;
2420
+ }
2421
+ }
2422
+
2423
+ [data-slot="color-picker-slider-thumb"] {
2424
+ &[data-orientation="horizontal"] {
2425
+ top: 50%;
2426
+ translate: calc(var(--color-slider-thumb-position) * -1) -50%;
2427
+
2428
+ &:is([dir="rtl"] *) {
2429
+ translate: var(--color-slider-thumb-position) -50%;
2430
+ }
2431
+ }
2432
+
2433
+ &[data-orientation="vertical"] {
2434
+ left: 50%;
2435
+ translate: -50% var(--color-slider-thumb-position);
2436
+ }
2437
+ }
2438
+
2439
+ :is(
2440
+ [data-slot="color-picker-swatch"],
2441
+ [data-slot="color-picker-swatch-item"]
2442
+ ) {
2443
+ flex-shrink: 0;
2444
+ width: calc(var(--ui-spacing) * 8);
2445
+ height: calc(var(--ui-spacing) * 8);
2446
+ padding: 0;
2447
+ border: 0;
2448
+ border-radius: var(--ui-radius);
2449
+ background:
2450
+ linear-gradient(var(--color-picker-color), var(--color-picker-color)),
2451
+ var(--ui-checker);
2452
+ box-shadow: inset 0 0 0 1px oklch(0 0 0 / 0.1);
2453
+ }
2454
+
2455
+ [data-slot="color-picker-swatches"] {
2456
+ display: grid;
2457
+ grid-template-columns: repeat(8, 1fr);
2458
+ gap: calc(var(--ui-spacing) * 2);
2459
+ }
2460
+
2461
+ [data-slot="color-picker-swatch-item"] {
2462
+ width: auto;
2463
+ height: auto;
2464
+ aspect-ratio: 1;
2465
+ cursor: pointer;
2466
+
2467
+ &[data-selected] {
2468
+ outline: 2px solid var(--ui-foreground);
2469
+ outline-offset: 2px;
2470
+ }
2471
+
2472
+ &:focus-visible {
2473
+ outline: 4px solid var(--ui-ring);
2474
+ outline-offset: 2px;
2475
+ }
2476
+ }
2477
+
2478
+ :is(
2479
+ [data-slot="color-picker-input"],
2480
+ [data-slot="color-picker-channel-input"]
2481
+ ) {
2482
+ width: 100%;
2483
+ min-width: 0;
2484
+ height: calc(var(--ui-spacing) * 8);
2485
+ padding-inline: calc(var(--ui-spacing) * 2.5);
2486
+ border: 1px solid var(--ui-input);
2487
+ border-radius: var(--ui-radius);
2488
+ background: var(--ui-background);
2489
+ color: var(--ui-foreground);
2490
+ font: inherit;
2491
+ font-family: var(--ui-font-mono);
2492
+ font-size: var(--ui-font-size);
2493
+
2494
+ &:focus-visible {
2495
+ border-color: var(--ui-ring-border);
2496
+ }
2497
+ }
2498
+
2499
+ [data-slot="color-picker-channel-input"] {
2500
+ font-family: inherit;
2501
+ font-variant-numeric: tabular-nums;
2502
+ }
2503
+
2504
+ [data-slot="image-cropper"] {
2505
+ display: flex;
2506
+ flex-direction: column;
2507
+ gap: calc(var(--ui-spacing) * 3);
2508
+ width: 100%;
2509
+ max-width: 28rem;
2510
+ }
2511
+
2512
+ [data-slot="image-cropper-viewport"] {
2513
+ position: relative;
2514
+ aspect-ratio: var(--image-cropper-aspect-ratio, 32 / 21);
2515
+ overflow: hidden;
2516
+ border-radius: var(--ui-radius);
2517
+ background: var(--ui-muted);
2518
+ touch-action: none;
2519
+
2520
+ &[data-mode="frame"] {
2521
+ aspect-ratio: 1;
2522
+ padding: calc(var(--ui-spacing) * 6);
2523
+ background: oklch(0.145 0 0);
2524
+ }
2525
+
2526
+ &[data-disabled] {
2527
+ opacity: 0.5;
2528
+ }
2529
+ }
2530
+
2531
+ [data-slot="image-cropper-image"] {
2532
+ display: block;
2533
+ width: 100%;
2534
+ height: 100%;
2535
+ object-fit: contain;
2536
+ }
2537
+
2538
+ [data-slot="image-cropper-selection"] {
2539
+ outline: 1px solid oklch(1 0 0);
2540
+ box-shadow: 0 0 0 100vmax oklch(0 0 0 / 0.5);
2541
+
2542
+ &[data-shape="circle"] {
2543
+ border-radius: 50%;
2544
+ }
2545
+
2546
+ &:focus-visible {
2547
+ outline: 2px solid oklch(1 0 0);
2548
+ }
2549
+ }
2550
+
2551
+ [data-slot="image-cropper-grid"] {
2552
+ --ui-grid-line: oklch(1 0 0 / 0.6);
2553
+ position: absolute;
2554
+ inset: 0;
2555
+ border-radius: inherit;
2556
+ background:
2557
+ linear-gradient(
2558
+ to right,
2559
+ transparent calc(100% / 3 - 0.5px),
2560
+ var(--ui-grid-line) 0 calc(100% / 3 + 0.5px),
2561
+ transparent 0 calc(200% / 3 - 0.5px),
2562
+ var(--ui-grid-line) 0 calc(200% / 3 + 0.5px),
2563
+ transparent 0
2564
+ ),
2565
+ linear-gradient(
2566
+ to bottom,
2567
+ transparent calc(100% / 3 - 0.5px),
2568
+ var(--ui-grid-line) 0 calc(100% / 3 + 0.5px),
2569
+ transparent 0 calc(200% / 3 - 0.5px),
2570
+ var(--ui-grid-line) 0 calc(200% / 3 + 0.5px),
2571
+ transparent 0
2572
+ );
2573
+ pointer-events: none;
2574
+ visibility: hidden;
2575
+
2576
+ &[data-dragging] {
2577
+ visibility: visible;
2578
+ }
2579
+ }
2580
+
2581
+ [data-slot="image-cropper-handle"] {
2582
+ position: absolute;
2583
+ width: 1.5rem;
2584
+ height: 1.5rem;
2585
+ translate: -50% -50%;
2586
+
2587
+ &::after {
2588
+ position: absolute;
2589
+ inset: calc(50% - 0.3125rem);
2590
+ background: oklch(1 0 0);
2591
+ box-shadow: 0 0 0 1px oklch(0 0 0 / 0.4);
2592
+ content: "";
2593
+ }
2594
+
2595
+ &:focus-visible {
2596
+ outline: none;
2597
+
2598
+ &::after {
2599
+ outline: 4px solid var(--ui-ring);
2600
+ }
2601
+ }
2602
+
2603
+ &[data-position*="n"] {
2604
+ top: 0;
2605
+ }
2606
+
2607
+ &[data-position*="s"] {
2608
+ top: 100%;
2609
+ }
2610
+
2611
+ &[data-position*="w"] {
2612
+ left: 0;
2613
+ }
2614
+
2615
+ &[data-position*="e"] {
2616
+ left: 100%;
2617
+ }
2618
+
2619
+ &:is([data-position="n"], [data-position="s"]) {
2620
+ left: 50%;
2621
+ }
2622
+
2623
+ &:is([data-position="e"], [data-position="w"]) {
2624
+ top: 50%;
2625
+ }
2626
+ }
2627
+
2628
+ [data-slot="carousel"] {
2629
+ display: grid;
2630
+ grid-template-columns: auto minmax(0, 1fr) auto;
2631
+ align-items: center;
2632
+ gap: calc(var(--ui-spacing) * 3) calc(var(--ui-spacing) * 2);
2633
+ width: 100%;
2634
+ max-width: 28rem;
2635
+
2636
+ & > :is([data-slot="carousel-viewport"], ui-carousel-viewport) {
2637
+ grid-row: 1;
2638
+ grid-column: 2;
2639
+ }
2640
+
2641
+ & > :is([data-slot="carousel-previous"], ui-carousel-previous > *) {
2642
+ grid-row: 1;
2643
+ grid-column: 1;
2644
+ }
2645
+
2646
+ & > :is([data-slot="carousel-next"], ui-carousel-next > *) {
2647
+ grid-row: 1;
2648
+ grid-column: 3;
2649
+ }
2650
+
2651
+ & > [data-slot="carousel-indicator-group"] {
2652
+ grid-column: 2;
2653
+ }
2654
+ }
2655
+
2656
+ [data-slot="carousel-viewport"] {
2657
+ overflow: hidden;
2658
+ scrollbar-width: none;
2659
+ }
2660
+
2661
+ [data-slot="carousel-content"] {
2662
+ display: flex;
2663
+ gap: calc(var(--ui-spacing) * 4);
2664
+
2665
+ &[data-orientation="vertical"] {
2666
+ flex-direction: column;
2667
+ }
2668
+ }
2669
+
2670
+ [data-slot="carousel-item"] {
2671
+ flex: 0 0 100%;
2672
+ min-width: 0;
2673
+ }
2674
+
2675
+ [data-slot="carousel-indicator-group"] {
2676
+ display: flex;
2677
+ justify-content: center;
2678
+ gap: calc(var(--ui-spacing) * 2);
2679
+ }
2680
+
2681
+ [data-slot="carousel-indicator"] {
2682
+ width: 0.5rem;
2683
+ height: 0.5rem;
2684
+ padding: 0;
2685
+ border: 1px solid var(--ui-input);
2686
+ border-radius: calc(var(--ui-radius) * 999);
2687
+ background: var(--ui-background);
2688
+ cursor: pointer;
2689
+
2690
+ &[data-selected] {
2691
+ border-color: var(--ui-primary);
2692
+ background: var(--ui-primary);
2693
+ }
2694
+ }
2695
+
2696
+ [data-slot="pagination-list"] {
2697
+ display: flex;
2698
+ flex-wrap: wrap;
2699
+ align-items: center;
2700
+ margin: 0;
2701
+ padding: 0;
2702
+ list-style: none;
2703
+ }
2704
+
2705
+ :is(
2706
+ [data-slot="pagination-link"],
2707
+ [data-slot="pagination-previous"],
2708
+ [data-slot="pagination-next"]
2709
+ ) {
2710
+ padding-inline: calc(var(--ui-spacing) * 2);
2711
+ border-color: transparent;
2712
+ background: transparent;
2713
+
2714
+ &:is([aria-current="page"], [data-current]) {
2715
+ border-color: var(--ui-input);
2716
+ background: var(--ui-background);
2717
+ }
2718
+ }
2719
+
2720
+ [data-slot="pagination-ellipsis"] {
2721
+ display: inline-flex;
2722
+ align-items: center;
2723
+ justify-content: center;
2724
+ width: calc(var(--ui-spacing) * 8);
2725
+ height: calc(var(--ui-spacing) * 8);
2726
+ color: var(--ui-muted-foreground);
2727
+
2728
+ &:empty::before {
2729
+ content: "…";
2730
+ }
2731
+ }
2732
+
2733
+ [data-slot="rating"] {
2734
+ display: inline-flex;
2735
+ gap: 2px;
2736
+
2737
+ &[data-disabled] {
2738
+ opacity: 0.5;
2739
+ }
2740
+ }
2741
+
2742
+ /* The star fills from the start edge up to --rating-fill, so half stars work. */
2743
+ [data-slot="rating-item"] {
2744
+ --ui-rating-direction: to right;
2745
+ --ui-rating-color: var(--ui-primary);
2746
+ position: relative;
2747
+ display: inline-flex;
2748
+ width: 1.25rem;
2749
+ height: 1.25rem;
2750
+
2751
+ &:is([dir="rtl"] *) {
2752
+ --ui-rating-direction: to left;
2753
+ }
2754
+
2755
+ &[data-highlighted] {
2756
+ --ui-rating-color: var(--ui-muted-foreground);
2757
+ }
2758
+
2759
+ &::before {
2760
+ position: absolute;
2761
+ inset: 0;
2762
+ background: linear-gradient(
2763
+ var(--ui-rating-direction),
2764
+ var(--ui-rating-color) calc(var(--rating-fill, 0) * 100%),
2765
+ var(--ui-input) 0
2766
+ );
2767
+ content: "";
2768
+ mask: var(--ui-icon-star) center / contain no-repeat;
2769
+ pointer-events: none;
2770
+ }
2771
+
2772
+ & > svg {
2773
+ width: 100%;
2774
+ height: 100%;
2775
+ visibility: hidden;
2776
+ }
2777
+ }
2778
+
2779
+ [data-slot="rating-radio"] {
2780
+ position: absolute;
2781
+ inset: 0;
2782
+ border-radius: var(--ui-radius);
2783
+ cursor: pointer;
2784
+
2785
+ [data-slot="rating"]:is([data-disabled], [data-readonly]) & {
2786
+ cursor: default;
2787
+ }
2788
+ }
2789
+
2790
+ [data-slot="resizable"] {
2791
+ width: 100%;
2792
+ min-height: 12rem;
2793
+ overflow: hidden;
2794
+ border: 1px solid var(--ui-border);
2795
+ border-radius: var(--ui-radius);
2796
+ font-size: var(--ui-font-size);
2797
+
2798
+ & & {
2799
+ min-height: 0;
2800
+ border: 0;
2801
+ border-radius: 0;
2802
+ }
2803
+ }
2804
+
2805
+ [data-slot="resizable-panel"] {
2806
+ overflow: hidden;
2807
+
2808
+ &:not(:has(> [data-slot="resizable"])) {
2809
+ padding: calc(var(--ui-spacing) * 4);
2810
+ }
2811
+ }
2812
+
2813
+ [data-slot="resizable-handle"] {
2814
+ position: relative;
2815
+ z-index: 1;
2816
+ flex-shrink: 0;
2817
+ width: 1px;
2818
+ background: var(--ui-border);
2819
+ outline: none;
2820
+ cursor: col-resize;
2821
+ touch-action: none;
2822
+
2823
+ &::before {
2824
+ position: absolute;
2825
+ inset: 0 -0.375rem;
2826
+ content: "";
2827
+ }
2828
+
2829
+ &[aria-orientation="horizontal"] {
2830
+ width: auto;
2831
+ height: 1px;
2832
+ cursor: row-resize;
2833
+
2834
+ &::before {
2835
+ inset: -0.375rem 0;
2836
+ }
2837
+ }
2838
+
2839
+ &:is(:hover, [data-hovering], [data-dragging], :focus-visible) {
2840
+ background: var(--ui-foreground);
2841
+ }
2842
+
2843
+ &:focus-visible {
2844
+ box-shadow: 0 0 0 3px var(--ui-ring);
2845
+ }
2846
+
2847
+ &[data-disabled] {
2848
+ background: var(--ui-border);
2849
+ cursor: default;
2850
+ }
2851
+ }
2852
+
2853
+ [data-slot="scroll-area"] {
2854
+ position: relative;
2855
+ overflow: hidden;
2856
+ border: 1px solid var(--ui-border);
2857
+ border-radius: var(--ui-radius);
2858
+ font-size: var(--ui-font-size);
2859
+ }
2860
+
2861
+ [data-slot="scroll-area-viewport"] {
2862
+ width: 100%;
2863
+ height: 100%;
2864
+ border-radius: inherit;
2865
+ outline-offset: -4px;
2866
+ }
2867
+
2868
+ [data-slot="scroll-area-content"] {
2869
+ padding: calc(var(--ui-spacing) * 3) calc(var(--ui-spacing) * 4);
2870
+ }
2871
+
2872
+ [data-slot="scroll-area-scrollbar"] {
2873
+ display: flex;
2874
+ padding: 2px;
2875
+ visibility: hidden;
2876
+
2877
+ &[data-orientation="vertical"] {
2878
+ flex-direction: column;
2879
+ width: 0.625rem;
2880
+ }
2881
+
2882
+ &[data-orientation="horizontal"] {
2883
+ height: 0.625rem;
2884
+ }
2885
+
2886
+ &:is([data-visible], [data-hovering], [data-scrolling]) {
2887
+ visibility: visible;
2888
+ }
2889
+ }
2890
+
2891
+ [data-slot="scroll-area-thumb"] {
2892
+ position: relative;
2893
+ border-radius: calc(var(--ui-radius) * 999);
2894
+ background: var(--ui-input);
2895
+
2896
+ &[data-dragging] {
2897
+ background: var(--ui-muted-foreground);
2898
+ }
2899
+ }
2900
+
2901
+ [data-slot="segmented-control"] {
2902
+ position: relative;
2903
+ display: inline-flex;
2904
+ gap: 2px;
2905
+ padding: 2px;
2906
+ border: 1px solid var(--ui-border);
2907
+ border-radius: var(--ui-radius);
2908
+ background: var(--ui-muted);
2909
+ isolation: isolate;
2910
+
2911
+ &[data-orientation="vertical"] {
2912
+ flex-direction: column;
2913
+ }
2914
+
2915
+ &[data-disabled] {
2916
+ opacity: 0.5;
2917
+ }
2918
+ }
2919
+
2920
+ [data-slot="segmented-control-item"] {
2921
+ position: relative;
2922
+ z-index: 1;
2923
+ display: inline-flex;
2924
+ flex: 1;
2925
+ align-items: center;
2926
+ justify-content: center;
2927
+ height: calc(var(--ui-spacing) * 7);
2928
+ padding-inline: calc(var(--ui-spacing) * 3);
2929
+ border: 0;
2930
+ border-radius: max(0px, calc(var(--ui-radius) - 3px));
2931
+ background: transparent;
2932
+ color: var(--ui-muted-foreground);
2933
+ font: inherit;
2934
+ font-size: var(--ui-font-size);
2935
+ font-weight: 500;
2936
+ white-space: nowrap;
2937
+ cursor: pointer;
2938
+ user-select: none;
2939
+
2940
+ &:is(:hover, [data-checked]) {
2941
+ color: var(--ui-foreground);
2942
+ }
2943
+
2944
+ &[data-disabled] {
2945
+ opacity: 0.5;
2946
+ cursor: not-allowed;
2947
+ }
2948
+ }
2949
+
2950
+ [data-slot="segmented-control-indicator"] {
2951
+ position: absolute;
2952
+ top: var(--segmented-control-indicator-top);
2953
+ left: var(--segmented-control-indicator-left);
2954
+ width: var(--segmented-control-indicator-width);
2955
+ height: var(--segmented-control-indicator-height);
2956
+ border: 1px solid var(--ui-input);
2957
+ border-radius: max(0px, calc(var(--ui-radius) - 3px));
2958
+ background: var(--ui-background);
2959
+ }
2960
+
2961
+ [data-slot="toolbar"] {
2962
+ display: inline-flex;
2963
+ flex-wrap: wrap;
2964
+ align-items: center;
2965
+ gap: 2px;
2966
+ max-width: 100%;
2967
+ padding: 2px;
2968
+ border: 1px solid var(--ui-border);
2969
+ border-radius: var(--ui-radius);
2970
+ background: var(--ui-background);
2971
+
2972
+ &[data-orientation="vertical"] {
2973
+ flex-direction: column;
2974
+ }
2975
+
2976
+ &
2977
+ :is(
2978
+ [data-slot="toolbar-button"],
2979
+ [data-slot="toolbar-link"],
2980
+ [data-slot="toggle"]
2981
+ ) {
2982
+ min-width: calc(var(--ui-spacing) * 7);
2983
+ height: calc(var(--ui-spacing) * 7);
2984
+ padding-inline: calc(var(--ui-spacing) * 2.5);
2985
+ border-color: transparent;
2986
+ border-radius: max(0px, calc(var(--ui-radius) - 3px));
2987
+
2988
+ &[data-pressed] {
2989
+ border-color: var(--ui-foreground);
2990
+ }
2991
+
2992
+ &[aria-label]:has(> svg:only-child, > [data-slot$="-icon"]:only-child) {
2993
+ width: calc(var(--ui-spacing) * 7);
2994
+ padding: 0;
2995
+ }
2996
+ }
2997
+
2998
+ & [data-slot="toolbar-link"] {
2999
+ font-weight: 400;
3000
+ text-decoration: underline;
3001
+ text-decoration-color: var(--ui-input);
3002
+ text-underline-offset: 0.1875rem;
3003
+ }
3004
+
3005
+ & [data-slot="toolbar-input"] {
3006
+ width: 9rem;
3007
+ height: calc(var(--ui-spacing) * 7);
3008
+ padding-inline: calc(var(--ui-spacing) * 2);
3009
+ border: 1px solid var(--ui-input);
3010
+ border-radius: max(0px, calc(var(--ui-radius) - 3px));
3011
+ background: var(--ui-background);
3012
+ color: var(--ui-foreground);
3013
+ font: inherit;
3014
+ font-size: var(--ui-font-size);
3015
+ }
3016
+ }
3017
+
3018
+ :is(
3019
+ [data-slot="toolbar-group"],
3020
+ [data-slot="toolbar"] [data-slot="toggle-group"]
3021
+ ) {
3022
+ display: flex;
3023
+ align-items: center;
3024
+ gap: 2px;
3025
+ padding: 0;
3026
+
3027
+ &[data-orientation="vertical"] {
3028
+ flex-direction: column;
3029
+ }
3030
+
3031
+ & [data-slot="toggle"] {
3032
+ margin: 0;
3033
+ }
3034
+ }
3035
+
3036
+ [data-slot="toolbar-separator"] {
3037
+ flex-shrink: 0;
3038
+ align-self: stretch;
3039
+ width: 1px;
3040
+ margin: calc(var(--ui-spacing) * 1) calc(var(--ui-spacing) * 1);
3041
+ background: var(--ui-border);
3042
+
3043
+ &[data-orientation="horizontal"] {
3044
+ width: auto;
3045
+ height: 1px;
3046
+ }
3047
+ }
3048
+
3049
+ [data-slot="tree"] {
3050
+ display: flex;
3051
+ flex-direction: column;
3052
+ gap: 1px;
3053
+ width: 100%;
3054
+ max-width: 18rem;
3055
+ color: var(--ui-foreground);
3056
+ font-size: var(--ui-font-size);
3057
+ }
3058
+
3059
+ [data-slot="tree-item"] {
3060
+ outline: none;
3061
+
3062
+ &:focus-visible > [data-slot="tree-label"],
3063
+ &:focus-visible > :not([data-slot]) > [data-slot="tree-label"] {
3064
+ outline: 4px solid var(--ui-ring);
3065
+ }
3066
+ }
3067
+
3068
+ [data-slot="tree-group"] {
3069
+ display: flex;
3070
+ flex-direction: column;
3071
+ gap: 1px;
3072
+ margin-top: 1px;
3073
+ }
3074
+
3075
+ [data-slot="tree-label"] {
3076
+ --ui-tree-indent: calc((var(--tree-level, 1) - 1) * var(--ui-spacing) * 4);
3077
+ display: flex;
3078
+ align-items: center;
3079
+ gap: calc(var(--ui-spacing) * 2);
3080
+ min-width: 0;
3081
+ height: calc(var(--ui-spacing) * 7.5);
3082
+ padding-inline: calc(var(--ui-spacing) * 2 + var(--ui-tree-indent))
3083
+ calc(var(--ui-spacing) * 2);
3084
+ border-radius: var(--ui-radius);
3085
+ color: inherit;
3086
+ text-decoration: none;
3087
+ white-space: nowrap;
3088
+ cursor: pointer;
3089
+ user-select: none;
3090
+
3091
+ &:not([data-branch]) {
3092
+ padding-inline-start: calc(
3093
+ var(--ui-spacing) * 4 + 1rem + var(--ui-tree-indent)
3094
+ );
3095
+ }
3096
+
3097
+ &:hover:not([data-disabled]) {
3098
+ background: var(--ui-muted);
3099
+ }
3100
+
3101
+ &:is([data-selected], [data-current]) {
3102
+ background: var(--ui-muted);
3103
+ font-weight: 500;
3104
+ }
3105
+
3106
+ &[data-disabled] {
3107
+ opacity: 0.5;
3108
+ cursor: not-allowed;
3109
+ }
3110
+
3111
+ & > svg {
3112
+ color: var(--ui-muted-foreground);
3113
+ }
3114
+
3115
+ & > span:not([data-slot]) {
3116
+ overflow: hidden;
3117
+ text-overflow: ellipsis;
3118
+ }
3119
+ }
3120
+
3121
+ [data-slot="tree-indicator"] {
3122
+ display: inline-flex;
3123
+ flex-shrink: 0;
3124
+ color: var(--ui-muted-foreground);
3125
+ rotate: -90deg;
3126
+
3127
+ &:is([dir="rtl"] *) {
3128
+ rotate: 90deg;
3129
+ }
3130
+
3131
+ &[data-expanded] {
3132
+ rotate: none;
3133
+ }
3134
+ }
3135
+
3136
+ [data-slot="toast-region"] {
3137
+ position: fixed;
3138
+ inset: auto;
3139
+ z-index: 60;
3140
+ width: 22rem;
3141
+ max-width: calc(100vw - 2rem);
3142
+ margin: 1rem;
3143
+ padding: 0;
3144
+ overflow: visible;
3145
+ border: 0;
3146
+ background: transparent;
3147
+
3148
+ &[data-side="bottom"] {
3149
+ bottom: 0;
3150
+ }
3151
+
3152
+ &[data-side="top"] {
3153
+ top: 0;
3154
+ }
3155
+
3156
+ &[data-align="end"] {
3157
+ inset-inline-end: 0;
3158
+ }
3159
+
3160
+ &[data-align="start"] {
3161
+ inset-inline-start: 0;
3162
+ }
3163
+
3164
+ &[data-align="center"] {
3165
+ left: 50%;
3166
+ margin-inline: 0;
3167
+ translate: -50%;
3168
+ }
3169
+ }
3170
+
3171
+ [data-slot="toast-list"] {
3172
+ display: flex;
3173
+ flex-direction: column;
3174
+ gap: calc(var(--ui-spacing) * 2);
3175
+ margin: 0;
3176
+ padding: 0;
3177
+ list-style: none;
3178
+
3179
+ [data-side="bottom"] > & {
3180
+ flex-direction: column-reverse;
3181
+ }
3182
+ }
3183
+
3184
+ [data-slot="toast"] {
3185
+ display: flex;
3186
+ flex-wrap: wrap;
3187
+ align-items: center;
3188
+ gap: calc(var(--ui-spacing) * 1) calc(var(--ui-spacing) * 3);
3189
+ padding: calc(var(--ui-spacing) * 4);
3190
+ border: 1px solid var(--ui-border);
3191
+ border-radius: calc(var(--ui-radius) * 1.5);
3192
+ background: var(--ui-background);
3193
+ box-shadow: var(--ui-shadow);
3194
+ color: var(--ui-foreground);
3195
+ font-size: var(--ui-font-size);
3196
+
3197
+ &[data-type="error"] {
3198
+ border-color: color-mix(
3199
+ in oklab,
3200
+ var(--ui-destructive) 30%,
3201
+ var(--ui-background)
3202
+ );
3203
+ }
3204
+ }
3205
+
3206
+ [data-slot="toast-title"] {
3207
+ flex: 1 1 60%;
3208
+ margin: 0;
3209
+ font-size: var(--ui-font-size);
3210
+ font-weight: 600;
3211
+ }
3212
+
3213
+ [data-slot="toast-description"] {
3214
+ flex: 1 1 100%;
3215
+ order: 1;
3216
+ margin: 0;
3217
+ color: var(--ui-muted-foreground);
3218
+ font-size: calc(var(--ui-font-size) - 0.0625rem);
3219
+ }
3220
+
3221
+ [data-slot="toast-action"] {
3222
+ height: calc(var(--ui-spacing) * 7);
3223
+ padding-inline: calc(var(--ui-spacing) * 2.5);
3224
+ }
3225
+
3226
+ /* Shows only after 150ms and stays at least 300ms, so a quick action never flickers. */
3227
+ :where(
3228
+ button[data-slot],
3229
+ [data-slot][role="menuitem"],
3230
+ [data-slot][role="option"]
3231
+ ) {
3232
+ transition: filter 0s linear 0.3s;
3233
+ }
3234
+
3235
+ [data-slot][data-pending] {
3236
+ filter: opacity(0.6);
3237
+ cursor: progress;
3238
+ transition-delay: 0.15s;
3239
+ }
3240
+
3241
+ /* Touch: inputs at 16px stop iOS from zooming on focus, and small targets get a 44px hit area. */
3242
+ @media (pointer: coarse) {
3243
+ :is(
3244
+ input:not(
3245
+ [type="checkbox"],
3246
+ [type="radio"],
3247
+ [type="range"],
3248
+ [type="file"]
3249
+ ),
3250
+ textarea,
3251
+ select,
3252
+ [contenteditable="true"]
3253
+ ):is([data-slot], [data-slot] *) {
3254
+ font-size: max(1rem, var(--ui-font-size));
3255
+ }
3256
+
3257
+ :is(
3258
+ [data-slot="menu-item"],
3259
+ [data-slot="menu-checkbox-item"],
3260
+ [data-slot="menu-radio-item"],
3261
+ [data-slot="select-item"],
3262
+ [data-slot="combobox-item"],
3263
+ [data-slot="autocomplete-item"],
3264
+ [data-slot="command-item"],
3265
+ [data-slot="listbox-item"],
3266
+ [data-slot="trigger-menu-item"],
3267
+ :where([data-slot="menu-content"]) [data-slot="menu-trigger"]
3268
+ ) {
3269
+ min-height: 2.75rem;
3270
+ }
3271
+
3272
+ [data-slot="tree-label"] {
3273
+ height: 2.75rem;
3274
+ }
3275
+
3276
+ [data-slot="rating-item"] {
3277
+ width: 1.5rem;
3278
+ height: 1.5rem;
3279
+ }
3280
+
3281
+ [data-slot="carousel-indicator-group"] {
3282
+ gap: 1rem;
3283
+ }
3284
+
3285
+ [data-slot="image-cropper-handle"] {
3286
+ width: 2.75rem;
3287
+ height: 2.75rem;
3288
+ }
3289
+
3290
+ :where(
3291
+ button[data-slot],
3292
+ [data-slot="navigation-menu-link"],
3293
+ [data-slot="segmented-control-item"],
3294
+ :is(label, [data-slot="label"]):has(
3295
+ > :is([data-slot="checkbox"], [data-slot="radio"], [data-slot="switch"])
3296
+ ),
3297
+ :not(label, [data-slot="label"])
3298
+ > :is([data-slot="checkbox"], [data-slot="radio"], [data-slot="switch"])
3299
+ ) {
3300
+ position: relative;
3301
+ }
3302
+
3303
+ :is(
3304
+ button[data-slot],
3305
+ [data-slot="navigation-menu-link"],
3306
+ [data-slot="segmented-control-item"],
3307
+ [data-slot="rating-radio"]
3308
+ ):not(
3309
+ [data-slot="select-trigger"],
3310
+ [data-slot="combobox-trigger"],
3311
+ [data-slot="navigation-menu-trigger"],
3312
+ [data-slot="accordion-trigger"],
3313
+ [data-slot="collapsible-trigger"],
3314
+ [data-slot="menu-content"] [data-slot="menu-trigger"],
3315
+ [data-slot="carousel-indicator"],
3316
+ [data-slot="color-picker-eye-dropper"],
3317
+ [data-slot="carousel-previous"],
3318
+ [data-slot="carousel-next"],
3319
+ [data-slot="calendar-previous"],
3320
+ [data-slot="calendar-next"],
3321
+ [data-slot="password-input-toggle"],
3322
+ [data-slot="file-input-item-remove"],
3323
+ [data-slot="token-input-token-remove"],
3324
+ [data-slot="toast-close"],
3325
+ [data-slot="slider-thumb"],
3326
+ [data-slot="color-picker-area-thumb"],
3327
+ [data-slot="color-picker-slider-thumb"],
3328
+ :not(label, [data-slot="label"])
3329
+ > :is(
3330
+ [data-slot="checkbox"],
3331
+ [data-slot="radio"],
3332
+ [data-slot="switch"]
3333
+ )
3334
+ )::after,
3335
+ :is(label, [data-slot="label"]):has(
3336
+ > :is([data-slot="checkbox"], [data-slot="radio"], [data-slot="switch"])
3337
+ )::after,
3338
+ :is(
3339
+ [data-slot="select-trigger"],
3340
+ [data-slot="combobox-trigger"],
3341
+ [data-slot="navigation-menu-trigger"],
3342
+ [data-slot="accordion-trigger"],
3343
+ [data-slot="collapsible-trigger"]
3344
+ )::before {
3345
+ position: absolute;
3346
+ inset-block: min(0px, calc((100% - 2.75rem) / 2));
3347
+ inset-inline: 0;
3348
+ content: "";
3349
+ }
3350
+
3351
+ [data-slot="carousel-indicator"]::after {
3352
+ position: absolute;
3353
+ inset: min(0px, calc((100% - 2.75rem) / 2)) -0.5rem;
3354
+ content: "";
3355
+ }
3356
+
3357
+ :is(
3358
+ [data-slot="color-picker-eye-dropper"],
3359
+ [data-slot="carousel-previous"],
3360
+ [data-slot="carousel-next"],
3361
+ [data-slot="calendar-previous"],
3362
+ [data-slot="calendar-next"],
3363
+ [data-slot="password-input-toggle"],
3364
+ [data-slot="file-input-item-remove"],
3365
+ [data-slot="token-input-token-remove"],
3366
+ [data-slot="toast-close"],
3367
+ [data-slot="slider-thumb"],
3368
+ [data-slot="color-picker-area-thumb"],
3369
+ [data-slot="color-picker-slider-thumb"],
3370
+ :not(label, [data-slot="label"])
3371
+ > :is([data-slot="checkbox"], [data-slot="radio"], [data-slot="switch"])
3372
+ )::after {
3373
+ position: absolute;
3374
+ inset: min(0px, calc((100% - 2.75rem) / 2));
3375
+ content: "";
3376
+ }
3377
+ }
3378
+ }