@kushagradhawan/kookie-ui 0.1.28 → 0.1.30

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 (538) hide show
  1. package/components.css +4742 -2680
  2. package/dist/cjs/components/_internal/base-button.d.ts +36 -0
  3. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  4. package/dist/cjs/components/_internal/base-button.js +1 -1
  5. package/dist/cjs/components/_internal/base-button.js.map +3 -3
  6. package/dist/cjs/components/_internal/base-button.props.d.ts +61 -0
  7. package/dist/cjs/components/_internal/base-button.props.d.ts.map +1 -1
  8. package/dist/cjs/components/_internal/base-button.props.js +1 -1
  9. package/dist/cjs/components/_internal/base-button.props.js.map +3 -3
  10. package/dist/cjs/components/_internal/base-checkbox.props.d.ts +6 -1
  11. package/dist/cjs/components/_internal/base-checkbox.props.d.ts.map +1 -1
  12. package/dist/cjs/components/_internal/base-checkbox.props.js +1 -1
  13. package/dist/cjs/components/_internal/base-checkbox.props.js.map +3 -3
  14. package/dist/cjs/components/_internal/base-menu.props.d.ts +8 -0
  15. package/dist/cjs/components/_internal/base-menu.props.d.ts.map +1 -1
  16. package/dist/cjs/components/_internal/base-menu.props.js +1 -1
  17. package/dist/cjs/components/_internal/base-menu.props.js.map +3 -3
  18. package/dist/cjs/components/_internal/base-radio.props.d.ts +6 -1
  19. package/dist/cjs/components/_internal/base-radio.props.d.ts.map +1 -1
  20. package/dist/cjs/components/_internal/base-radio.props.js +1 -1
  21. package/dist/cjs/components/_internal/base-radio.props.js.map +3 -3
  22. package/dist/cjs/components/accordion.d.ts +22 -0
  23. package/dist/cjs/components/accordion.d.ts.map +1 -0
  24. package/dist/cjs/components/accordion.js +2 -0
  25. package/dist/cjs/components/accordion.js.map +7 -0
  26. package/dist/cjs/components/accordion.props.d.ts +97 -0
  27. package/dist/cjs/components/accordion.props.d.ts.map +1 -0
  28. package/dist/cjs/components/accordion.props.js +2 -0
  29. package/dist/cjs/components/accordion.props.js.map +7 -0
  30. package/dist/cjs/components/alert-dialog.d.ts.map +1 -1
  31. package/dist/cjs/components/alert-dialog.js +1 -1
  32. package/dist/cjs/components/alert-dialog.js.map +3 -3
  33. package/dist/cjs/components/alert-dialog.props.d.ts +69 -2
  34. package/dist/cjs/components/alert-dialog.props.d.ts.map +1 -1
  35. package/dist/cjs/components/alert-dialog.props.js +1 -1
  36. package/dist/cjs/components/alert-dialog.props.js.map +3 -3
  37. package/dist/cjs/components/avatar.d.ts.map +1 -1
  38. package/dist/cjs/components/avatar.js +1 -1
  39. package/dist/cjs/components/avatar.js.map +3 -3
  40. package/dist/cjs/components/avatar.props.d.ts +9 -1
  41. package/dist/cjs/components/avatar.props.d.ts.map +1 -1
  42. package/dist/cjs/components/avatar.props.js +1 -1
  43. package/dist/cjs/components/avatar.props.js.map +3 -3
  44. package/dist/cjs/components/badge.d.ts +8 -1
  45. package/dist/cjs/components/badge.d.ts.map +1 -1
  46. package/dist/cjs/components/badge.js +1 -1
  47. package/dist/cjs/components/badge.js.map +3 -3
  48. package/dist/cjs/components/badge.props.d.ts +14 -6
  49. package/dist/cjs/components/badge.props.d.ts.map +1 -1
  50. package/dist/cjs/components/badge.props.js +1 -1
  51. package/dist/cjs/components/badge.props.js.map +3 -3
  52. package/dist/cjs/components/blockquote.props.d.ts +1 -1
  53. package/dist/cjs/components/button.d.ts +53 -1
  54. package/dist/cjs/components/button.d.ts.map +1 -1
  55. package/dist/cjs/components/button.js +1 -1
  56. package/dist/cjs/components/button.js.map +3 -3
  57. package/dist/cjs/components/button.props.d.ts +17 -0
  58. package/dist/cjs/components/button.props.d.ts.map +1 -1
  59. package/dist/cjs/components/button.props.js.map +2 -2
  60. package/dist/cjs/components/callout.d.ts +4 -0
  61. package/dist/cjs/components/callout.d.ts.map +1 -1
  62. package/dist/cjs/components/callout.js +1 -1
  63. package/dist/cjs/components/callout.js.map +3 -3
  64. package/dist/cjs/components/callout.props.d.ts +9 -1
  65. package/dist/cjs/components/callout.props.d.ts.map +1 -1
  66. package/dist/cjs/components/callout.props.js +1 -1
  67. package/dist/cjs/components/callout.props.js.map +3 -3
  68. package/dist/cjs/components/card.d.ts.map +1 -1
  69. package/dist/cjs/components/card.js +1 -1
  70. package/dist/cjs/components/card.js.map +3 -3
  71. package/dist/cjs/components/card.props.d.ts +5 -0
  72. package/dist/cjs/components/card.props.d.ts.map +1 -1
  73. package/dist/cjs/components/card.props.js +1 -1
  74. package/dist/cjs/components/card.props.js.map +3 -3
  75. package/dist/cjs/components/checkbox-cards.d.ts.map +1 -1
  76. package/dist/cjs/components/checkbox-cards.js +1 -1
  77. package/dist/cjs/components/checkbox-cards.js.map +3 -3
  78. package/dist/cjs/components/checkbox-cards.props.d.ts +2 -2
  79. package/dist/cjs/components/checkbox-cards.props.js +1 -1
  80. package/dist/cjs/components/checkbox-cards.props.js.map +2 -2
  81. package/dist/cjs/components/checkbox-group.props.d.ts +6 -1
  82. package/dist/cjs/components/checkbox-group.props.d.ts.map +1 -1
  83. package/dist/cjs/components/checkbox.d.ts.map +1 -1
  84. package/dist/cjs/components/checkbox.js +1 -1
  85. package/dist/cjs/components/checkbox.js.map +3 -3
  86. package/dist/cjs/components/code.js.map +1 -1
  87. package/dist/cjs/components/code.props.d.ts +1 -1
  88. package/dist/cjs/components/context-menu.d.ts +1 -1
  89. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  90. package/dist/cjs/components/context-menu.js +1 -1
  91. package/dist/cjs/components/context-menu.js.map +3 -3
  92. package/dist/cjs/components/dialog.d.ts.map +1 -1
  93. package/dist/cjs/components/dialog.js +1 -1
  94. package/dist/cjs/components/dialog.js.map +3 -3
  95. package/dist/cjs/components/dialog.props.d.ts +6 -1
  96. package/dist/cjs/components/dialog.props.d.ts.map +1 -1
  97. package/dist/cjs/components/dialog.props.js +1 -1
  98. package/dist/cjs/components/dialog.props.js.map +3 -3
  99. package/dist/cjs/components/dropdown-menu.d.ts +1 -1
  100. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  101. package/dist/cjs/components/dropdown-menu.js +1 -1
  102. package/dist/cjs/components/dropdown-menu.js.map +3 -3
  103. package/dist/cjs/components/heading.props.d.ts +1 -1
  104. package/dist/cjs/components/icon-button.d.ts +79 -1
  105. package/dist/cjs/components/icon-button.d.ts.map +1 -1
  106. package/dist/cjs/components/icon-button.js +4 -1
  107. package/dist/cjs/components/icon-button.js.map +3 -3
  108. package/dist/cjs/components/image.d.ts +131 -12
  109. package/dist/cjs/components/image.d.ts.map +1 -1
  110. package/dist/cjs/components/image.js +1 -1
  111. package/dist/cjs/components/image.js.map +3 -3
  112. package/dist/cjs/components/image.props.d.ts +136 -21
  113. package/dist/cjs/components/image.props.d.ts.map +1 -1
  114. package/dist/cjs/components/image.props.js +1 -1
  115. package/dist/cjs/components/image.props.js.map +3 -3
  116. package/dist/cjs/components/index.d.ts +1 -0
  117. package/dist/cjs/components/index.d.ts.map +1 -1
  118. package/dist/cjs/components/index.js +1 -1
  119. package/dist/cjs/components/index.js.map +3 -3
  120. package/dist/cjs/components/link.props.d.ts +1 -1
  121. package/dist/cjs/components/progress.props.d.ts +2 -2
  122. package/dist/cjs/components/progress.props.js +1 -1
  123. package/dist/cjs/components/progress.props.js.map +2 -2
  124. package/dist/cjs/components/radio-cards.d.ts.map +1 -1
  125. package/dist/cjs/components/radio-cards.js +1 -1
  126. package/dist/cjs/components/radio-cards.js.map +3 -3
  127. package/dist/cjs/components/radio-cards.props.d.ts +2 -2
  128. package/dist/cjs/components/radio-cards.props.js +1 -1
  129. package/dist/cjs/components/radio-cards.props.js.map +2 -2
  130. package/dist/cjs/components/radio.d.ts.map +1 -1
  131. package/dist/cjs/components/radio.js +1 -1
  132. package/dist/cjs/components/radio.js.map +3 -3
  133. package/dist/cjs/components/segmented-control.props.d.ts +3 -3
  134. package/dist/cjs/components/segmented-control.props.js +1 -1
  135. package/dist/cjs/components/segmented-control.props.js.map +2 -2
  136. package/dist/cjs/components/select.d.ts.map +1 -1
  137. package/dist/cjs/components/select.js +1 -1
  138. package/dist/cjs/components/select.js.map +3 -3
  139. package/dist/cjs/components/select.props.d.ts +12 -0
  140. package/dist/cjs/components/select.props.d.ts.map +1 -1
  141. package/dist/cjs/components/select.props.js +1 -1
  142. package/dist/cjs/components/select.props.js.map +2 -2
  143. package/dist/cjs/components/sidebar.d.ts +5 -0
  144. package/dist/cjs/components/sidebar.d.ts.map +1 -1
  145. package/dist/cjs/components/sidebar.js +1 -1
  146. package/dist/cjs/components/sidebar.js.map +3 -3
  147. package/dist/cjs/components/slider.d.ts +5 -0
  148. package/dist/cjs/components/slider.d.ts.map +1 -1
  149. package/dist/cjs/components/slider.js +1 -1
  150. package/dist/cjs/components/slider.js.map +3 -3
  151. package/dist/cjs/components/slider.props.d.ts +10 -2
  152. package/dist/cjs/components/slider.props.d.ts.map +1 -1
  153. package/dist/cjs/components/slider.props.js +1 -1
  154. package/dist/cjs/components/slider.props.js.map +2 -2
  155. package/dist/cjs/components/switch.d.ts.map +1 -1
  156. package/dist/cjs/components/switch.js +1 -1
  157. package/dist/cjs/components/switch.js.map +3 -3
  158. package/dist/cjs/components/switch.props.d.ts +17 -4
  159. package/dist/cjs/components/switch.props.d.ts.map +1 -1
  160. package/dist/cjs/components/switch.props.js +1 -1
  161. package/dist/cjs/components/switch.props.js.map +3 -3
  162. package/dist/cjs/components/tab-nav.d.ts.map +1 -1
  163. package/dist/cjs/components/tab-nav.js +1 -1
  164. package/dist/cjs/components/tab-nav.js.map +3 -3
  165. package/dist/cjs/components/tabs.d.ts.map +1 -1
  166. package/dist/cjs/components/tabs.js +1 -1
  167. package/dist/cjs/components/tabs.js.map +2 -2
  168. package/dist/cjs/components/text-area.d.ts.map +1 -1
  169. package/dist/cjs/components/text-area.js +1 -1
  170. package/dist/cjs/components/text-area.js.map +3 -3
  171. package/dist/cjs/components/text-area.props.d.ts +29 -0
  172. package/dist/cjs/components/text-area.props.d.ts.map +1 -1
  173. package/dist/cjs/components/text-area.props.js +1 -1
  174. package/dist/cjs/components/text-area.props.js.map +3 -3
  175. package/dist/cjs/components/text-field.d.ts.map +1 -1
  176. package/dist/cjs/components/text-field.js +4 -4
  177. package/dist/cjs/components/text-field.js.map +3 -3
  178. package/dist/cjs/components/text-field.props.d.ts +29 -0
  179. package/dist/cjs/components/text-field.props.d.ts.map +1 -1
  180. package/dist/cjs/components/text-field.props.js +1 -1
  181. package/dist/cjs/components/text-field.props.js.map +3 -3
  182. package/dist/cjs/components/text.props.d.ts +1 -1
  183. package/dist/cjs/components/theme.d.ts +3 -0
  184. package/dist/cjs/components/theme.d.ts.map +1 -1
  185. package/dist/cjs/components/theme.js +1 -1
  186. package/dist/cjs/components/theme.js.map +3 -3
  187. package/dist/cjs/components/theme.props.d.ts +14 -0
  188. package/dist/cjs/components/theme.props.d.ts.map +1 -1
  189. package/dist/cjs/components/theme.props.js +1 -1
  190. package/dist/cjs/components/theme.props.js.map +3 -3
  191. package/dist/cjs/components/toggle-button.d.ts +52 -0
  192. package/dist/cjs/components/toggle-button.d.ts.map +1 -1
  193. package/dist/cjs/components/toggle-button.js +1 -1
  194. package/dist/cjs/components/toggle-button.js.map +3 -3
  195. package/dist/cjs/components/toggle-icon-button.d.ts +84 -2
  196. package/dist/cjs/components/toggle-icon-button.d.ts.map +1 -1
  197. package/dist/cjs/components/toggle-icon-button.js +1 -1
  198. package/dist/cjs/components/toggle-icon-button.js.map +3 -3
  199. package/dist/cjs/helpers/extract-margin-props.d.ts +7 -7
  200. package/dist/cjs/hooks/index.d.ts +2 -0
  201. package/dist/cjs/hooks/index.d.ts.map +1 -0
  202. package/dist/cjs/hooks/index.js +2 -0
  203. package/dist/cjs/hooks/index.js.map +7 -0
  204. package/dist/cjs/hooks/use-live-announcer.d.ts +6 -0
  205. package/dist/cjs/hooks/use-live-announcer.d.ts.map +1 -0
  206. package/dist/cjs/hooks/use-live-announcer.js +10 -0
  207. package/dist/cjs/hooks/use-live-announcer.js.map +7 -0
  208. package/dist/cjs/index.d.ts +1 -0
  209. package/dist/cjs/index.d.ts.map +1 -1
  210. package/dist/cjs/index.js +1 -1
  211. package/dist/cjs/index.js.map +2 -2
  212. package/dist/cjs/props/weight.prop.d.ts +1 -1
  213. package/dist/cjs/props/weight.prop.js +1 -1
  214. package/dist/cjs/props/weight.prop.js.map +2 -2
  215. package/dist/esm/components/_internal/base-button.d.ts +36 -0
  216. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  217. package/dist/esm/components/_internal/base-button.js +1 -1
  218. package/dist/esm/components/_internal/base-button.js.map +3 -3
  219. package/dist/esm/components/_internal/base-button.props.d.ts +61 -0
  220. package/dist/esm/components/_internal/base-button.props.d.ts.map +1 -1
  221. package/dist/esm/components/_internal/base-button.props.js +1 -1
  222. package/dist/esm/components/_internal/base-button.props.js.map +3 -3
  223. package/dist/esm/components/_internal/base-checkbox.props.d.ts +6 -1
  224. package/dist/esm/components/_internal/base-checkbox.props.d.ts.map +1 -1
  225. package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
  226. package/dist/esm/components/_internal/base-checkbox.props.js.map +3 -3
  227. package/dist/esm/components/_internal/base-menu.props.d.ts +8 -0
  228. package/dist/esm/components/_internal/base-menu.props.d.ts.map +1 -1
  229. package/dist/esm/components/_internal/base-menu.props.js +1 -1
  230. package/dist/esm/components/_internal/base-menu.props.js.map +3 -3
  231. package/dist/esm/components/_internal/base-radio.props.d.ts +6 -1
  232. package/dist/esm/components/_internal/base-radio.props.d.ts.map +1 -1
  233. package/dist/esm/components/_internal/base-radio.props.js +1 -1
  234. package/dist/esm/components/_internal/base-radio.props.js.map +3 -3
  235. package/dist/esm/components/accordion.d.ts +22 -0
  236. package/dist/esm/components/accordion.d.ts.map +1 -0
  237. package/dist/esm/components/accordion.js +2 -0
  238. package/dist/esm/components/accordion.js.map +7 -0
  239. package/dist/esm/components/accordion.props.d.ts +97 -0
  240. package/dist/esm/components/accordion.props.d.ts.map +1 -0
  241. package/dist/esm/components/accordion.props.js +2 -0
  242. package/dist/esm/components/accordion.props.js.map +7 -0
  243. package/dist/esm/components/alert-dialog.d.ts.map +1 -1
  244. package/dist/esm/components/alert-dialog.js +1 -1
  245. package/dist/esm/components/alert-dialog.js.map +3 -3
  246. package/dist/esm/components/alert-dialog.props.d.ts +69 -2
  247. package/dist/esm/components/alert-dialog.props.d.ts.map +1 -1
  248. package/dist/esm/components/alert-dialog.props.js +1 -1
  249. package/dist/esm/components/alert-dialog.props.js.map +3 -3
  250. package/dist/esm/components/avatar.d.ts.map +1 -1
  251. package/dist/esm/components/avatar.js +1 -1
  252. package/dist/esm/components/avatar.js.map +3 -3
  253. package/dist/esm/components/avatar.props.d.ts +9 -1
  254. package/dist/esm/components/avatar.props.d.ts.map +1 -1
  255. package/dist/esm/components/avatar.props.js +1 -1
  256. package/dist/esm/components/avatar.props.js.map +3 -3
  257. package/dist/esm/components/badge.d.ts +8 -1
  258. package/dist/esm/components/badge.d.ts.map +1 -1
  259. package/dist/esm/components/badge.js +1 -1
  260. package/dist/esm/components/badge.js.map +3 -3
  261. package/dist/esm/components/badge.props.d.ts +14 -6
  262. package/dist/esm/components/badge.props.d.ts.map +1 -1
  263. package/dist/esm/components/badge.props.js +1 -1
  264. package/dist/esm/components/badge.props.js.map +3 -3
  265. package/dist/esm/components/blockquote.props.d.ts +1 -1
  266. package/dist/esm/components/button.d.ts +53 -1
  267. package/dist/esm/components/button.d.ts.map +1 -1
  268. package/dist/esm/components/button.js +1 -1
  269. package/dist/esm/components/button.js.map +3 -3
  270. package/dist/esm/components/button.props.d.ts +17 -0
  271. package/dist/esm/components/button.props.d.ts.map +1 -1
  272. package/dist/esm/components/button.props.js.map +2 -2
  273. package/dist/esm/components/callout.d.ts +4 -0
  274. package/dist/esm/components/callout.d.ts.map +1 -1
  275. package/dist/esm/components/callout.js +1 -1
  276. package/dist/esm/components/callout.js.map +3 -3
  277. package/dist/esm/components/callout.props.d.ts +9 -1
  278. package/dist/esm/components/callout.props.d.ts.map +1 -1
  279. package/dist/esm/components/callout.props.js +1 -1
  280. package/dist/esm/components/callout.props.js.map +3 -3
  281. package/dist/esm/components/card.d.ts.map +1 -1
  282. package/dist/esm/components/card.js +1 -1
  283. package/dist/esm/components/card.js.map +3 -3
  284. package/dist/esm/components/card.props.d.ts +5 -0
  285. package/dist/esm/components/card.props.d.ts.map +1 -1
  286. package/dist/esm/components/card.props.js +1 -1
  287. package/dist/esm/components/card.props.js.map +3 -3
  288. package/dist/esm/components/checkbox-cards.d.ts.map +1 -1
  289. package/dist/esm/components/checkbox-cards.js +1 -1
  290. package/dist/esm/components/checkbox-cards.js.map +3 -3
  291. package/dist/esm/components/checkbox-cards.props.d.ts +2 -2
  292. package/dist/esm/components/checkbox-cards.props.js +1 -1
  293. package/dist/esm/components/checkbox-cards.props.js.map +2 -2
  294. package/dist/esm/components/checkbox-group.props.d.ts +6 -1
  295. package/dist/esm/components/checkbox-group.props.d.ts.map +1 -1
  296. package/dist/esm/components/checkbox.d.ts.map +1 -1
  297. package/dist/esm/components/checkbox.js +1 -1
  298. package/dist/esm/components/checkbox.js.map +3 -3
  299. package/dist/esm/components/code.js.map +1 -1
  300. package/dist/esm/components/code.props.d.ts +1 -1
  301. package/dist/esm/components/context-menu.d.ts +1 -1
  302. package/dist/esm/components/context-menu.d.ts.map +1 -1
  303. package/dist/esm/components/context-menu.js +1 -1
  304. package/dist/esm/components/context-menu.js.map +3 -3
  305. package/dist/esm/components/dialog.d.ts.map +1 -1
  306. package/dist/esm/components/dialog.js +1 -1
  307. package/dist/esm/components/dialog.js.map +3 -3
  308. package/dist/esm/components/dialog.props.d.ts +6 -1
  309. package/dist/esm/components/dialog.props.d.ts.map +1 -1
  310. package/dist/esm/components/dialog.props.js +1 -1
  311. package/dist/esm/components/dialog.props.js.map +3 -3
  312. package/dist/esm/components/dropdown-menu.d.ts +1 -1
  313. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  314. package/dist/esm/components/dropdown-menu.js +1 -1
  315. package/dist/esm/components/dropdown-menu.js.map +3 -3
  316. package/dist/esm/components/heading.props.d.ts +1 -1
  317. package/dist/esm/components/icon-button.d.ts +79 -1
  318. package/dist/esm/components/icon-button.d.ts.map +1 -1
  319. package/dist/esm/components/icon-button.js +4 -1
  320. package/dist/esm/components/icon-button.js.map +3 -3
  321. package/dist/esm/components/image.d.ts +131 -12
  322. package/dist/esm/components/image.d.ts.map +1 -1
  323. package/dist/esm/components/image.js +1 -1
  324. package/dist/esm/components/image.js.map +3 -3
  325. package/dist/esm/components/image.props.d.ts +136 -21
  326. package/dist/esm/components/image.props.d.ts.map +1 -1
  327. package/dist/esm/components/image.props.js +1 -1
  328. package/dist/esm/components/image.props.js.map +3 -3
  329. package/dist/esm/components/index.d.ts +1 -0
  330. package/dist/esm/components/index.d.ts.map +1 -1
  331. package/dist/esm/components/index.js +1 -1
  332. package/dist/esm/components/index.js.map +3 -3
  333. package/dist/esm/components/link.props.d.ts +1 -1
  334. package/dist/esm/components/progress.props.d.ts +2 -2
  335. package/dist/esm/components/progress.props.js +1 -1
  336. package/dist/esm/components/progress.props.js.map +2 -2
  337. package/dist/esm/components/radio-cards.d.ts.map +1 -1
  338. package/dist/esm/components/radio-cards.js +1 -1
  339. package/dist/esm/components/radio-cards.js.map +3 -3
  340. package/dist/esm/components/radio-cards.props.d.ts +2 -2
  341. package/dist/esm/components/radio-cards.props.js +1 -1
  342. package/dist/esm/components/radio-cards.props.js.map +2 -2
  343. package/dist/esm/components/radio.d.ts.map +1 -1
  344. package/dist/esm/components/radio.js +1 -1
  345. package/dist/esm/components/radio.js.map +3 -3
  346. package/dist/esm/components/segmented-control.props.d.ts +3 -3
  347. package/dist/esm/components/segmented-control.props.js +1 -1
  348. package/dist/esm/components/segmented-control.props.js.map +2 -2
  349. package/dist/esm/components/select.d.ts.map +1 -1
  350. package/dist/esm/components/select.js +1 -1
  351. package/dist/esm/components/select.js.map +3 -3
  352. package/dist/esm/components/select.props.d.ts +12 -0
  353. package/dist/esm/components/select.props.d.ts.map +1 -1
  354. package/dist/esm/components/select.props.js +1 -1
  355. package/dist/esm/components/select.props.js.map +2 -2
  356. package/dist/esm/components/sidebar.d.ts +5 -0
  357. package/dist/esm/components/sidebar.d.ts.map +1 -1
  358. package/dist/esm/components/sidebar.js +1 -1
  359. package/dist/esm/components/sidebar.js.map +3 -3
  360. package/dist/esm/components/slider.d.ts +5 -0
  361. package/dist/esm/components/slider.d.ts.map +1 -1
  362. package/dist/esm/components/slider.js +1 -1
  363. package/dist/esm/components/slider.js.map +3 -3
  364. package/dist/esm/components/slider.props.d.ts +10 -2
  365. package/dist/esm/components/slider.props.d.ts.map +1 -1
  366. package/dist/esm/components/slider.props.js +1 -1
  367. package/dist/esm/components/slider.props.js.map +2 -2
  368. package/dist/esm/components/switch.d.ts.map +1 -1
  369. package/dist/esm/components/switch.js +1 -1
  370. package/dist/esm/components/switch.js.map +3 -3
  371. package/dist/esm/components/switch.props.d.ts +17 -4
  372. package/dist/esm/components/switch.props.d.ts.map +1 -1
  373. package/dist/esm/components/switch.props.js +1 -1
  374. package/dist/esm/components/switch.props.js.map +3 -3
  375. package/dist/esm/components/tab-nav.d.ts.map +1 -1
  376. package/dist/esm/components/tab-nav.js +1 -1
  377. package/dist/esm/components/tab-nav.js.map +3 -3
  378. package/dist/esm/components/tabs.d.ts.map +1 -1
  379. package/dist/esm/components/tabs.js +1 -1
  380. package/dist/esm/components/tabs.js.map +2 -2
  381. package/dist/esm/components/text-area.d.ts.map +1 -1
  382. package/dist/esm/components/text-area.js +1 -1
  383. package/dist/esm/components/text-area.js.map +3 -3
  384. package/dist/esm/components/text-area.props.d.ts +29 -0
  385. package/dist/esm/components/text-area.props.d.ts.map +1 -1
  386. package/dist/esm/components/text-area.props.js +1 -1
  387. package/dist/esm/components/text-area.props.js.map +3 -3
  388. package/dist/esm/components/text-field.d.ts.map +1 -1
  389. package/dist/esm/components/text-field.js +4 -4
  390. package/dist/esm/components/text-field.js.map +3 -3
  391. package/dist/esm/components/text-field.props.d.ts +29 -0
  392. package/dist/esm/components/text-field.props.d.ts.map +1 -1
  393. package/dist/esm/components/text-field.props.js +1 -1
  394. package/dist/esm/components/text-field.props.js.map +3 -3
  395. package/dist/esm/components/text.props.d.ts +1 -1
  396. package/dist/esm/components/theme.d.ts +3 -0
  397. package/dist/esm/components/theme.d.ts.map +1 -1
  398. package/dist/esm/components/theme.js +1 -1
  399. package/dist/esm/components/theme.js.map +3 -3
  400. package/dist/esm/components/theme.props.d.ts +14 -0
  401. package/dist/esm/components/theme.props.d.ts.map +1 -1
  402. package/dist/esm/components/theme.props.js +1 -1
  403. package/dist/esm/components/theme.props.js.map +3 -3
  404. package/dist/esm/components/toggle-button.d.ts +52 -0
  405. package/dist/esm/components/toggle-button.d.ts.map +1 -1
  406. package/dist/esm/components/toggle-button.js +1 -1
  407. package/dist/esm/components/toggle-button.js.map +3 -3
  408. package/dist/esm/components/toggle-icon-button.d.ts +84 -2
  409. package/dist/esm/components/toggle-icon-button.d.ts.map +1 -1
  410. package/dist/esm/components/toggle-icon-button.js +1 -1
  411. package/dist/esm/components/toggle-icon-button.js.map +3 -3
  412. package/dist/esm/helpers/extract-margin-props.d.ts +7 -7
  413. package/dist/esm/hooks/index.d.ts +2 -0
  414. package/dist/esm/hooks/index.d.ts.map +1 -0
  415. package/dist/esm/hooks/index.js +2 -0
  416. package/dist/esm/hooks/index.js.map +7 -0
  417. package/dist/esm/hooks/use-live-announcer.d.ts +6 -0
  418. package/dist/esm/hooks/use-live-announcer.d.ts.map +1 -0
  419. package/dist/esm/hooks/use-live-announcer.js +10 -0
  420. package/dist/esm/hooks/use-live-announcer.js.map +7 -0
  421. package/dist/esm/index.d.ts +1 -0
  422. package/dist/esm/index.d.ts.map +1 -1
  423. package/dist/esm/index.js +1 -1
  424. package/dist/esm/index.js.map +2 -2
  425. package/dist/esm/props/weight.prop.d.ts +1 -1
  426. package/dist/esm/props/weight.prop.js +1 -1
  427. package/dist/esm/props/weight.prop.js.map +2 -2
  428. package/layout/components.css +1 -0
  429. package/layout.css +1 -0
  430. package/package.json +2 -1
  431. package/src/components/_internal/base-button.css +483 -284
  432. package/src/components/_internal/base-button.props.ts +87 -0
  433. package/src/components/_internal/base-button.tsx +127 -10
  434. package/src/components/_internal/base-card.css +866 -83
  435. package/src/components/_internal/base-checkbox.css +252 -52
  436. package/src/components/_internal/base-checkbox.props.ts +4 -1
  437. package/src/components/_internal/base-dialog.css +39 -8
  438. package/src/components/_internal/base-menu.css +55 -32
  439. package/src/components/_internal/base-menu.props.ts +10 -0
  440. package/src/components/_internal/base-radio.css +222 -52
  441. package/src/components/_internal/base-radio.props.ts +4 -1
  442. package/src/components/_internal/base-sidebar-menu.css +223 -0
  443. package/src/components/_internal/base-sidebar.css +141 -0
  444. package/src/components/_internal/base-tab-list.css +16 -0
  445. package/src/components/accordion.css +657 -0
  446. package/src/components/accordion.props.tsx +90 -0
  447. package/src/components/accordion.tsx +209 -0
  448. package/src/components/alert-dialog.props.tsx +22 -2
  449. package/src/components/alert-dialog.tsx +94 -3
  450. package/src/components/avatar.css +294 -152
  451. package/src/components/avatar.props.tsx +7 -1
  452. package/src/components/avatar.tsx +12 -2
  453. package/src/components/badge.css +160 -138
  454. package/src/components/badge.props.tsx +10 -3
  455. package/src/components/badge.tsx +71 -9
  456. package/src/components/button.css +88 -0
  457. package/src/components/button.props.tsx +17 -0
  458. package/src/components/button.tsx +107 -5
  459. package/src/components/callout.css +122 -35
  460. package/src/components/callout.props.tsx +7 -1
  461. package/src/components/callout.tsx +32 -9
  462. package/src/components/card.css +0 -597
  463. package/src/components/card.props.tsx +3 -0
  464. package/src/components/card.tsx +4 -2
  465. package/src/components/checkbox-cards.css +27 -104
  466. package/src/components/checkbox-cards.props.tsx +2 -2
  467. package/src/components/checkbox-cards.tsx +21 -3
  468. package/src/components/checkbox.tsx +2 -0
  469. package/src/components/code.css +1 -1
  470. package/src/components/code.tsx +1 -1
  471. package/src/components/container.css +1 -0
  472. package/src/components/context-menu.tsx +54 -12
  473. package/src/components/dialog.props.tsx +3 -0
  474. package/src/components/dialog.tsx +93 -3
  475. package/src/components/dropdown-menu.tsx +49 -12
  476. package/src/components/icon-button.css +73 -4
  477. package/src/components/icon-button.tsx +125 -19
  478. package/src/components/image.css +160 -91
  479. package/src/components/image.props.ts +152 -15
  480. package/src/components/image.tsx +290 -247
  481. package/src/components/index.css +1 -0
  482. package/src/components/index.tsx +1 -0
  483. package/src/components/kbd.css +23 -44
  484. package/src/components/progress.css +130 -149
  485. package/src/components/progress.props.tsx +2 -2
  486. package/src/components/radio-cards.css +23 -113
  487. package/src/components/radio-cards.props.tsx +2 -2
  488. package/src/components/radio-cards.tsx +45 -18
  489. package/src/components/radio.tsx +4 -3
  490. package/src/components/scroll-area.css +1 -1
  491. package/src/components/segmented-control.css +83 -64
  492. package/src/components/segmented-control.props.tsx +3 -3
  493. package/src/components/select.css +502 -224
  494. package/src/components/select.props.tsx +8 -0
  495. package/src/components/select.tsx +45 -2
  496. package/src/components/sidebar.css +186 -630
  497. package/src/components/sidebar.tsx +61 -5
  498. package/src/components/slider.css +228 -88
  499. package/src/components/slider.props.tsx +6 -2
  500. package/src/components/slider.tsx +201 -24
  501. package/src/components/spinner.css +12 -0
  502. package/src/components/switch.css +135 -216
  503. package/src/components/switch.props.tsx +16 -4
  504. package/src/components/switch.tsx +5 -3
  505. package/src/components/tab-nav.tsx +6 -3
  506. package/src/components/tabs.tsx +2 -0
  507. package/src/components/text-area.css +222 -140
  508. package/src/components/text-area.props.tsx +18 -1
  509. package/src/components/text-area.tsx +58 -7
  510. package/src/components/text-field.css +214 -131
  511. package/src/components/text-field.props.tsx +17 -0
  512. package/src/components/text-field.tsx +79 -28
  513. package/src/components/theme.props.tsx +12 -0
  514. package/src/components/theme.tsx +31 -1
  515. package/src/components/toggle-button.tsx +102 -3
  516. package/src/components/toggle-icon-button.tsx +150 -7
  517. package/src/components/tooltip.css +3 -3
  518. package/src/hooks/index.ts +1 -0
  519. package/src/hooks/use-live-announcer.ts +52 -0
  520. package/src/index.ts +1 -0
  521. package/src/props/weight.prop.ts +1 -1
  522. package/src/styles/fonts.css +27 -13
  523. package/src/styles/index.css +1 -1
  524. package/src/styles/tokens/base.css +2 -0
  525. package/src/styles/tokens/blur.css +32 -0
  526. package/src/styles/tokens/color.css +9 -9
  527. package/src/styles/tokens/constants.css +88 -140
  528. package/src/styles/tokens/index.css +2 -0
  529. package/src/styles/tokens/opacity.css +32 -0
  530. package/src/styles/tokens/radius.css +6 -10
  531. package/src/styles/tokens/shadow.css +25 -25
  532. package/src/styles/tokens/transition.css +49 -13
  533. package/src/styles/tokens/typography.css +7 -3
  534. package/src/styles/utilities/font-weight.css +16 -0
  535. package/styles.css +11129 -8945
  536. package/tokens/base.css +127 -49
  537. package/tokens.css +158 -114
  538. package/utilities.css +72 -0
@@ -13,6 +13,39 @@
13
13
  font-style: normal;
14
14
  text-align: start;
15
15
 
16
+ /* Theme-level translucent override */
17
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
18
+ backdrop-filter: var(--backdrop-filter-components);
19
+ --backdrop-filter-components: blur(var(--backdrop-blur-components));
20
+ }
21
+
22
+ /* Prevent backdrop-filter stacking with parents */
23
+ isolation: isolate;
24
+
25
+ /* Component-level overrides */
26
+ &:where([data-panel-background='solid'], [data-material='solid']) {
27
+ backdrop-filter: none;
28
+ --backdrop-filter-components: none;
29
+ }
30
+
31
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
32
+ backdrop-filter: var(--backdrop-filter-components);
33
+ --backdrop-filter-components: blur(var(--backdrop-blur-components));
34
+ }
35
+
36
+ &:where(.rt-high-contrast) {
37
+ & :where(.rt-SelectTriggerInner) {
38
+ color: var(--accent-12);
39
+ }
40
+ }
41
+
42
+ /* Selected values use medium font weight */
43
+ &:where(:not([data-placeholder])) {
44
+ & :where(.rt-SelectTriggerInner) {
45
+ font-weight: var(--font-weight-medium);
46
+ }
47
+ }
48
+
16
49
  &:where(:focus-visible) {
17
50
  outline: var(--focus-outline-width) solid var(--focus-8);
18
51
  outline-offset: var(--focus-outline-offset-inset);
@@ -284,122 +317,126 @@
284
317
  * *
285
318
  ***************************************************************************************************/
286
319
 
287
- /* Outline variant - neutral with gray border (previously surface) */
288
- .rt-SelectTrigger:where(.rt-variant-outline) {
289
- --select-trigger-border-width: var(--border-width-standard);
290
-
320
+ /* classic */
321
+
322
+ .rt-SelectTrigger:where(.rt-variant-classic) {
323
+ position: relative;
324
+ top: var(--classic-elevation-offset);
325
+ color: var(--accent-a11);
291
326
  background-color: var(--color-surface);
292
- color: var(--gray-12);
293
- box-shadow: inset 0 0 0 var(--select-trigger-border-width) var(--gray-a6);
327
+ box-shadow: var(--shadow-2);
328
+ transition: var(--transition-text-field);
329
+
330
+ &:where(.rt-high-contrast) {
331
+ color: var(--accent-12);
332
+ }
294
333
 
295
334
  /* Theme-level translucent override */
296
- :where([data-panel-background='translucent']) & {
297
- backdrop-filter: var(--backdrop-filter-components);
335
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
336
+ background-color: var(--color-surface);
298
337
  }
299
338
 
300
339
  /* Component-level overrides (higher specificity) */
301
- &:where([data-panel-background='solid']) {
302
- --color-surface: var(--color-surface-solid);
303
- backdrop-filter: none;
340
+ &:where([data-panel-background='solid'], [data-material='solid']) {
341
+ background-color: var(--color-surface);
304
342
  }
305
343
 
306
- &:where([data-panel-background='translucent']) {
307
- --color-surface: var(--color-surface-translucent);
308
- backdrop-filter: var(--backdrop-filter-components);
344
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
345
+ background-color: var(--color-surface);
309
346
  }
310
347
 
311
- /* Hover effects */
312
- @media (hover: hover) {
313
- &:where(:hover:not(:focus-visible)) {
314
- box-shadow: inset 0 0 0 var(--select-trigger-border-width) var(--gray-a8);
348
+ &:where(.rt-high-contrast) {
349
+ background-color: var(--color-surface);
350
+
351
+ /* Theme-level translucent override for high contrast */
352
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
353
+ background-color: var(--color-surface);
354
+ }
355
+
356
+ /* Component-level overrides for high contrast */
357
+ &:where([data-panel-background='solid'], [data-material='solid']) {
358
+ background-color: var(--color-surface);
359
+ }
360
+
361
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
362
+ background-color: var(--color-surface);
315
363
  }
316
364
  }
317
- &:where([data-state='open']) {
318
- box-shadow: inset 0 0 0 var(--select-trigger-border-width) var(--gray-a8);
319
- }
320
- &:where(:disabled) {
321
- color: var(--gray-a11);
322
- background-color: var(--gray-a2);
323
- box-shadow: inset 0 0 0 var(--select-trigger-border-width) var(--gray-a6);
365
+
366
+ &:where(:focus-visible) {
367
+ outline: 2px solid var(--focus-8);
368
+ outline-offset: 2px;
324
369
  }
325
- &:where([data-placeholder]) {
326
- & :where(.rt-SelectTriggerInner) {
327
- color: var(--gray-a10);
370
+
371
+ @media (hover: hover) {
372
+ &:where(:hover) {
373
+ background-color: var(--accent-2);
374
+ box-shadow: var(--shadow-2);
375
+
376
+ /* Theme-level translucent override for hover */
377
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
378
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
379
+ }
380
+
381
+ /* Component-level overrides for hover */
382
+ &:where([data-panel-background='solid'], [data-material='solid']) {
383
+ background-color: var(--accent-2);
384
+ }
385
+
386
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
387
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
388
+ }
328
389
  }
329
390
  }
330
- }
331
391
 
332
- /* Classic variant - 3D inset form input */
333
- .rt-SelectTrigger:where(.rt-variant-classic) {
334
- --select-trigger-border-width: var(--border-width-none);
335
-
336
- position: relative;
337
- /* Subtle inset positioning */
338
- top: calc(var(--classic-elevation-offset) / var(--classic-elevation-factor-subtle));
392
+ &:where([data-state='open']) {
393
+ background-color: var(--accent-3);
394
+ box-shadow: var(--shadow-1);
339
395
 
340
- background-color: var(--color-surface);
341
- color: var(--gray-12);
396
+ /* Theme-level translucent override for open */
397
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
398
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
399
+ }
342
400
 
343
- /* 3D inset effect - more pronounced but still subtle */
344
- /* prettier-ignore */
345
- box-shadow:
346
- inset 0 var(--classic-border-width) calc(var(--classic-shadow-blur-small) / var(--classic-shadow-factor-light)) var(--gray-a4),
347
- inset 0 calc(-1 * var(--classic-border-width)) var(--gray-a2),
348
- inset 0 calc(var(--classic-border-width) * var(--classic-border-multiplier-double)) calc(var(--classic-shadow-blur-medium) / var(--classic-shadow-medium-factor-third)) var(--gray-a3),
349
- 0 0 0 var(--classic-border-width) var(--gray-a5);
401
+ /* Component-level overrides for open */
402
+ &:where([data-panel-background='solid'], [data-material='solid']) {
403
+ background-color: var(--accent-3);
404
+ }
350
405
 
351
- /* Theme-level translucent override */
352
- :where([data-panel-background='translucent']) & {
353
- backdrop-filter: var(--backdrop-filter-components);
406
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
407
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
408
+ }
354
409
  }
355
410
 
356
- /* Component-level overrides for surface variant */
357
- &:where([data-panel-background='solid']) {
358
- --color-surface: var(--color-surface-solid);
359
- backdrop-filter: none;
360
- }
411
+ &:where(:active:not([data-state='open'], [data-disabled])) {
412
+ background-color: var(--accent-3);
413
+ box-shadow: var(--shadow-1);
361
414
 
362
- &:where([data-panel-background='translucent']) {
363
- --color-surface: var(--color-surface-translucent);
364
- backdrop-filter: var(--backdrop-filter-components);
365
- }
415
+ /* Theme-level translucent override for active */
416
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
417
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
418
+ }
366
419
 
367
- /* Hover effects - slightly reduced inset */
368
- @media (hover: hover) {
369
- &:where(:hover:not(:focus-visible)) {
370
- /* prettier-ignore */
371
- box-shadow:
372
- inset 0 calc(var(--classic-border-width) / var(--classic-border-factor-light)) calc(var(--classic-shadow-blur-small) / var(--classic-shadow-factor-medium)) var(--gray-a3),
373
- inset 0 calc(-1 * var(--classic-border-width) / var(--classic-border-factor-light)) var(--gray-a2),
374
- inset 0 var(--classic-border-width) calc(var(--classic-shadow-blur-medium) / var(--classic-shadow-factor-subtle)) var(--gray-a3),
375
- 0 0 0 var(--classic-border-width) var(--gray-a6);
420
+ /* Component-level overrides for active */
421
+ &:where([data-panel-background='solid'], [data-material='solid']) {
422
+ background-color: var(--accent-3);
376
423
  }
377
- }
378
- &:where([data-state='open']) {
379
- /* prettier-ignore */
380
- box-shadow:
381
- inset 0 calc(var(--classic-border-width) / var(--classic-border-factor-light)) calc(var(--classic-shadow-blur-small) / var(--classic-shadow-factor-medium)) var(--gray-a3),
382
- inset 0 calc(-1 * var(--classic-border-width) / var(--classic-border-factor-light)) var(--gray-a2),
383
- inset 0 var(--classic-border-width) calc(var(--classic-shadow-blur-medium) / var(--classic-shadow-factor-subtle)) var(--gray-a3),
384
- 0 0 0 var(--classic-border-width) var(--gray-a6);
385
- }
386
424
 
387
- /* Focus state - accent ring with minimal inset */
388
- &:where(:focus-visible) {
389
- /* prettier-ignore */
390
- box-shadow:
391
- inset 0 calc(var(--classic-border-width) / var(--classic-border-factor-half)) calc(var(--classic-shadow-blur-small) / var(--classic-shadow-factor-heavy)) var(--gray-a2),
392
- 0 0 0 var(--focus-outline-width) var(--focus-8);
425
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
426
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
427
+ }
393
428
  }
394
429
 
395
430
  &:where(:disabled) {
396
- color: var(--gray-a11);
397
- background-color: var(--gray-a2);
398
- /* prettier-ignore */
399
- box-shadow:
400
- inset 0 calc(var(--classic-border-width) / var(--classic-border-factor-half)) calc(var(--classic-shadow-blur-small) / var(--classic-shadow-factor-medium)) var(--gray-a2),
401
- inset 0 0 0 var(--classic-border-width) var(--gray-a6);
431
+ color: var(--gray-a8);
432
+ background-color: var(--gray-a3);
433
+ box-shadow: none;
434
+ outline: none;
435
+ cursor: not-allowed;
436
+ pointer-events: none;
437
+ top: 0;
402
438
  }
439
+
403
440
  &:where([data-placeholder]) {
404
441
  & :where(.rt-SelectTriggerInner) {
405
442
  color: var(--gray-a10);
@@ -407,264 +444,452 @@
407
444
  }
408
445
  }
409
446
 
410
- /* Soft variant - branded with accent colors */
447
+ /* soft */
448
+
411
449
  .rt-SelectTrigger:where(.rt-variant-soft) {
412
- --select-trigger-border-width: var(--border-width-none);
413
-
414
- /* Use solid accent for solid panels, alpha accent for translucent panels */
450
+ /* Base state: solid accent for solid panels */
415
451
  background-color: var(--accent-3);
416
- color: var(--accent-12);
452
+ color: var(--accent-a11);
453
+
454
+ &:where(.rt-high-contrast) {
455
+ color: var(--accent-12);
456
+ }
417
457
 
418
458
  /* Theme-level translucent override */
419
- :where([data-panel-background='translucent']) & {
420
- background-color: var(--accent-a3);
421
- color: var(--accent-a12);
422
- backdrop-filter: var(--backdrop-filter-components);
459
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
460
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
423
461
  }
424
462
 
425
463
  /* Component-level overrides (higher specificity) */
426
- &:where([data-panel-background='solid']) {
464
+ &:where([data-panel-background='solid'], [data-material='solid']) {
427
465
  background-color: var(--accent-3);
428
- color: var(--accent-12);
429
- backdrop-filter: none;
430
466
  }
431
467
 
432
- &:where([data-panel-background='translucent']) {
433
- background-color: var(--accent-a3);
434
- color: var(--accent-a12);
435
- backdrop-filter: var(--backdrop-filter-components);
468
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
469
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
470
+ }
471
+
472
+ &:where(:focus-visible) {
473
+ outline: 2px solid var(--accent-8);
474
+ outline-offset: -1px;
436
475
  }
437
476
 
438
477
  @media (hover: hover) {
439
- &:where(:hover:not(:focus-visible)) {
440
- /* Base state: solid accent for solid panels */
478
+ &:where(:hover) {
441
479
  background-color: var(--accent-4);
442
-
480
+
443
481
  /* Theme-level translucent override for hover */
444
- :where([data-panel-background='translucent']) & {
445
- background-color: var(--accent-a4);
482
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
483
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
446
484
  }
447
485
 
448
486
  /* Component-level overrides for hover */
449
- &:where([data-panel-background='solid']) {
487
+ &:where([data-panel-background='solid'], [data-material='solid']) {
450
488
  background-color: var(--accent-4);
451
- backdrop-filter: none;
452
489
  }
453
490
 
454
- &:where([data-panel-background='translucent']) {
455
- background-color: var(--accent-a4);
456
- backdrop-filter: var(--backdrop-filter-components);
491
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
492
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
457
493
  }
458
494
  }
459
495
  }
496
+
460
497
  &:where([data-state='open']) {
461
498
  background-color: var(--accent-4);
462
499
 
463
- :where([data-panel-background='translucent']) & {
464
- background-color: var(--accent-a4);
500
+ /* Theme-level translucent override for open */
501
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
502
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
503
+ }
504
+
505
+ /* Component-level overrides for open */
506
+ &:where([data-panel-background='solid'], [data-material='solid']) {
507
+ background-color: var(--accent-4);
508
+ }
509
+
510
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
511
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
465
512
  }
466
513
  }
467
- &:where(:focus-visible) {
468
- outline-color: var(--accent-8);
514
+
515
+ &:where(:active:not([data-state='open'])) {
516
+ background-color: var(--accent-5);
517
+
518
+ /* Theme-level translucent override for active */
519
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
520
+ background-color: color-mix(in srgb, var(--accent-a5), var(--accent-5) 60%);
521
+ }
522
+
523
+ /* Component-level overrides for active */
524
+ &:where([data-panel-background='solid'], [data-material='solid']) {
525
+ background-color: var(--accent-5);
526
+ }
527
+
528
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
529
+ background-color: color-mix(in srgb, var(--accent-a5), var(--accent-5) 60%);
530
+ }
469
531
  }
532
+
470
533
  &:where(:disabled) {
471
- color: var(--gray-a11);
534
+ color: var(--gray-a8);
472
535
  background-color: var(--gray-a3);
473
- backdrop-filter: none;
536
+ cursor: not-allowed;
537
+ pointer-events: none;
474
538
  }
539
+
475
540
  &:where([data-placeholder]) {
476
541
  & :where(.rt-SelectTriggerInner) {
477
- color: var(--accent-12);
542
+ color: var(--accent-a11);
478
543
  opacity: 0.6;
544
+ font-weight: var(--font-weight-regular);
479
545
  }
480
546
  }
481
547
  }
482
548
 
483
- /* Surface variant - transparent with accent border (previously outline) */
484
- .rt-SelectTrigger:where(.rt-variant-surface) {
485
- --select-trigger-border-width: var(--border-width-standard);
486
-
549
+ /* ghost */
550
+
551
+ .rt-SelectTrigger:where(.rt-variant-ghost) {
487
552
  background-color: transparent;
488
- box-shadow: inset 0 0 0 var(--select-trigger-border-width) var(--accent-7);
489
- color: var(--gray-12);
553
+ color: var(--accent-a11);
554
+
555
+ &:where(.rt-high-contrast) {
556
+ color: var(--accent-12);
557
+ }
558
+
559
+ &:where([data-placeholder]) {
560
+ & :where(.rt-SelectTriggerInner) {
561
+ color: var(--gray-a10);
562
+ font-weight: var(--font-weight-regular);
563
+ }
564
+ }
565
+
566
+ @media (hover: hover) {
567
+ &:where(:hover) {
568
+ /* Base state: solid accent for solid panels */
569
+ background-color: var(--accent-3);
570
+
571
+ /* Theme-level translucent override for hover */
572
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
573
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
574
+ }
575
+
576
+ /* Component-level overrides for hover */
577
+ &:where([data-panel-background='solid'], [data-material='solid']) {
578
+ background-color: var(--accent-3);
579
+ }
580
+
581
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
582
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
583
+ }
584
+
585
+ /* Disable backdrop-filter when inside elements that already have backdrop-filter */
586
+ /* :where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
587
+ backdrop-filter: none !important;
588
+ } */
589
+ }
590
+ }
591
+
592
+ &:where(:focus-visible) {
593
+ outline: 2px solid var(--focus-8);
594
+ outline-offset: -1px;
595
+ }
596
+
597
+ &:where([data-state='open']) {
598
+ /* Base state: solid accent for solid panels */
599
+ background-color: var(--accent-3);
600
+
601
+ /* Theme-level translucent override for open */
602
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
603
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
604
+ }
605
+
606
+ /* Component-level overrides for open */
607
+ &:where([data-panel-background='solid'], [data-material='solid']) {
608
+ background-color: var(--accent-3);
609
+ }
610
+
611
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
612
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
613
+ }
614
+
615
+ /* Disable backdrop-filter when inside elements that already have backdrop-filter */
616
+ /* :where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
617
+ backdrop-filter: none !important;
618
+ } */
619
+ }
620
+
621
+ &:where(:active:not([data-state='open'])) {
622
+ /* Base state: solid accent for solid panels */
623
+ background-color: var(--accent-4);
624
+
625
+ /* Theme-level translucent override for active */
626
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
627
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
628
+ }
629
+
630
+ /* Component-level overrides for active */
631
+ &:where([data-panel-background='solid'], [data-material='solid']) {
632
+ background-color: var(--accent-4);
633
+ }
634
+
635
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
636
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
637
+ }
638
+
639
+ /* Disable backdrop-filter when inside elements that already have backdrop-filter */
640
+ /* :where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
641
+ backdrop-filter: none !important;
642
+ } */
643
+ }
644
+
645
+ &:where(:disabled) {
646
+ color: var(--gray-a8);
647
+ background-color: transparent;
648
+ cursor: not-allowed;
649
+ pointer-events: none;
650
+ }
651
+ }
652
+
653
+ /* outline */
654
+
655
+ .rt-SelectTrigger:where(.rt-variant-outline) {
656
+ /* Base state: solid colors for solid panels */
657
+ box-shadow: inset 0 0 0 1px var(--accent-6);
658
+ color: var(--accent-11);
490
659
  transition: var(--transition-background-blur);
491
660
 
492
- /* Theme-level panel awareness (NO backdrop filter for true transparency) */
493
- :where([data-panel-background='translucent']) & {
494
- box-shadow: inset 0 0 0 var(--select-trigger-border-width) var(--accent-a7);
661
+ &:where(.rt-high-contrast) {
662
+ color: var(--accent-12);
495
663
  }
496
664
 
497
- /* Component-level overrides */
498
- &:where([data-panel-background='solid']) {
499
- box-shadow: inset 0 0 0 var(--select-trigger-border-width) var(--accent-7);
665
+ /* Theme-level translucent override */
666
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
667
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
668
+ color: var(--accent-a11);
500
669
  }
501
670
 
502
- &:where([data-panel-background='translucent']) {
503
- box-shadow: inset 0 0 0 var(--select-trigger-border-width) var(--accent-a7);
671
+ /* Component-level overrides (higher specificity) */
672
+ &:where([data-panel-background='solid'], [data-material='solid']) {
673
+ box-shadow: inset 0 0 0 1px var(--accent-6);
674
+ color: var(--accent-11);
675
+ }
676
+
677
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
678
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
679
+ color: var(--accent-a11);
504
680
  }
505
681
 
506
- /* Hover effects */
507
682
  @media (hover: hover) {
508
- &:where(:hover:not(:focus-visible)) {
509
- /* Base state: solid accent for solid panels */
683
+ &:where(:hover) {
510
684
  background-color: var(--accent-2);
511
-
685
+ box-shadow: inset 0 0 0 1px var(--accent-7);
686
+
512
687
  /* Theme-level translucent override for hover */
513
- :where([data-panel-background='translucent']) & {
514
- background-color: var(--accent-a2);
515
- backdrop-filter: var(--backdrop-filter-components);
688
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
689
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
690
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
516
691
  }
517
692
 
518
693
  /* Component-level overrides for hover */
519
- &:where([data-panel-background='solid']) {
694
+ &:where([data-panel-background='solid'], [data-material='solid']) {
520
695
  background-color: var(--accent-2);
521
- backdrop-filter: none;
696
+ box-shadow: inset 0 0 0 1px var(--accent-7);
522
697
  }
523
698
 
524
- &:where([data-panel-background='translucent']) {
525
- background-color: var(--accent-a2);
526
- backdrop-filter: var(--backdrop-filter-components);
699
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
700
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
701
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
527
702
  }
528
703
  }
529
704
  }
530
705
 
531
- /* Interaction states get light background */
532
706
  &:where([data-state='open']) {
533
- /* Base state: solid accent for solid panels */
534
707
  background-color: var(--accent-2);
535
- box-shadow: inset 0 0 0 var(--select-trigger-border-width) var(--accent-8);
536
-
537
- /* Theme-level translucent override */
538
- :where([data-panel-background='translucent']) & {
539
- background-color: var(--accent-a2);
540
- box-shadow: inset 0 0 0 var(--select-trigger-border-width) var(--accent-a8);
541
- backdrop-filter: var(--backdrop-filter-components);
708
+ box-shadow: inset 0 0 0 1px var(--accent-7);
709
+
710
+ /* Theme-level translucent override for open */
711
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
712
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
713
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
542
714
  }
543
715
 
544
- /* Component-level overrides */
545
- &:where([data-panel-background='solid']) {
716
+ /* Component-level overrides for open */
717
+ &:where([data-panel-background='solid'], [data-material='solid']) {
546
718
  background-color: var(--accent-2);
547
- box-shadow: inset 0 0 0 var(--select-trigger-border-width) var(--accent-8);
548
- backdrop-filter: none;
719
+ box-shadow: inset 0 0 0 1px var(--accent-7);
549
720
  }
550
721
 
551
- &:where([data-panel-background='translucent']) {
552
- background-color: var(--accent-a2);
553
- box-shadow: inset 0 0 0 var(--select-trigger-border-width) var(--accent-a8);
554
- backdrop-filter: var(--backdrop-filter-components);
722
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
723
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
724
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
555
725
  }
556
726
  }
557
727
 
558
- &:where(:focus-visible) {
559
- /* Base state: solid accent for solid panels */
560
- background-color: var(--accent-2);
561
- box-shadow: inset 0 0 0 var(--select-trigger-border-width) var(--accent-8);
562
-
563
- /* Theme-level translucent override */
564
- :where([data-panel-background='translucent']) & {
565
- background-color: var(--accent-a2);
566
- box-shadow: inset 0 0 0 var(--select-trigger-border-width) var(--accent-a8);
567
- backdrop-filter: var(--backdrop-filter-components);
728
+ &:where(:active:not([data-state='open'])) {
729
+ background-color: var(--accent-3);
730
+ box-shadow: inset 0 0 0 1px var(--accent-8);
731
+
732
+ /* Theme-level translucent override for active */
733
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
734
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
735
+ box-shadow: inset 0 0 0 1px var(--accent-a8);
568
736
  }
569
737
 
570
- /* Component-level overrides */
571
- &:where([data-panel-background='solid']) {
572
- background-color: var(--accent-2);
573
- box-shadow: inset 0 0 0 var(--select-trigger-border-width) var(--accent-8);
574
- backdrop-filter: none;
738
+ /* Component-level overrides for active */
739
+ &:where([data-panel-background='solid'], [data-material='solid']) {
740
+ background-color: var(--accent-3);
741
+ box-shadow: inset 0 0 0 1px var(--accent-8);
575
742
  }
576
743
 
577
- &:where([data-panel-background='translucent']) {
578
- background-color: var(--accent-a2);
579
- box-shadow: inset 0 0 0 var(--select-trigger-border-width) var(--accent-a8);
580
- backdrop-filter: var(--backdrop-filter-components);
744
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
745
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
746
+ box-shadow: inset 0 0 0 1px var(--accent-a8);
581
747
  }
582
748
  }
583
749
 
750
+ &:where(:focus-visible) {
751
+ outline: 2px solid var(--focus-8);
752
+ outline-offset: -1px;
753
+ }
754
+
755
+ &:where(.rt-high-contrast) {
756
+ color: var(--accent-12);
757
+ }
758
+
584
759
  &:where(:disabled) {
585
- background-color: var(--gray-a2);
586
- box-shadow: inset 0 0 0 var(--select-trigger-border-width) var(--gray-a6);
587
760
  color: var(--gray-a8);
761
+ box-shadow: inset 0 0 0 1px var(--gray-a7);
762
+ background-color: transparent;
763
+ cursor: not-allowed;
764
+ pointer-events: none;
588
765
  }
766
+
589
767
  &:where([data-placeholder]) {
590
768
  & :where(.rt-SelectTriggerInner) {
591
769
  color: var(--gray-a10);
770
+ font-weight: var(--font-weight-regular);
592
771
  }
593
772
  }
594
773
  }
595
774
 
596
- /* Ghost variant - transparent until interaction */
597
- .rt-SelectTrigger:where(.rt-variant-ghost) {
598
- --select-trigger-border-width: var(--border-width-none);
599
-
600
- background-color: transparent;
601
- color: var(--accent-12);
775
+ /* surface */
776
+
777
+ .rt-SelectTrigger:where(.rt-variant-surface) {
778
+ /* Base state: solid accent for solid panels */
779
+ background-color: var(--accent-2);
780
+ box-shadow: inset 0 0 0 1px var(--accent-6);
781
+ color: var(--accent-a11);
782
+
783
+ &:where(.rt-high-contrast) {
784
+ color: var(--accent-12);
785
+ }
602
786
 
603
787
  /* Theme-level translucent override */
604
- :where([data-panel-background='translucent']) & {
605
- color: var(--accent-a12);
788
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
789
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
790
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
606
791
  }
607
792
 
608
793
  /* Component-level overrides (higher specificity) */
609
- &:where([data-panel-background='solid']) {
610
- color: var(--accent-12);
794
+ &:where([data-panel-background='solid'], [data-material='solid']) {
795
+ background-color: var(--accent-2);
796
+ box-shadow: inset 0 0 0 1px var(--accent-6);
611
797
  }
612
798
 
613
- &:where([data-panel-background='translucent']) {
614
- color: var(--accent-a12);
799
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
800
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
801
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
615
802
  }
616
803
 
617
804
  @media (hover: hover) {
618
- &:where(:hover:not(:focus-visible)) {
619
- /* Base state: solid accent for solid panels */
620
- background-color: var(--accent-2);
621
-
805
+ &:where(:hover) {
806
+ background-color: var(--accent-3);
807
+ box-shadow: inset 0 0 0 1px var(--accent-7);
808
+
622
809
  /* Theme-level translucent override for hover */
623
- :where([data-panel-background='translucent']) & {
624
- background-color: var(--accent-a2);
625
- backdrop-filter: var(--backdrop-filter-components);
810
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
811
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
812
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
626
813
  }
627
814
 
628
815
  /* Component-level overrides for hover */
629
- &:where([data-panel-background='solid']) {
630
- background-color: var(--accent-2);
631
- backdrop-filter: none;
816
+ &:where([data-panel-background='solid'], [data-material='solid']) {
817
+ background-color: var(--accent-3);
818
+ box-shadow: inset 0 0 0 1px var(--accent-7);
632
819
  }
633
820
 
634
- &:where([data-panel-background='translucent']) {
635
- background-color: var(--accent-a2);
636
- backdrop-filter: var(--backdrop-filter-components);
637
- }
638
-
639
- /* Disable backdrop-filter when inside elements that already have backdrop-filter */
640
- :where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
641
- backdrop-filter: none !important;
821
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
822
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
823
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
642
824
  }
643
825
  }
644
826
  }
827
+
645
828
  &:where([data-state='open']) {
646
- background-color: var(--accent-2);
829
+ background-color: var(--accent-3);
830
+ box-shadow: inset 0 0 0 1px var(--accent-8);
647
831
 
648
- :where([data-panel-background='translucent']) & {
649
- background-color: var(--accent-a2);
650
- backdrop-filter: var(--backdrop-filter-components);
832
+ /* Theme-level translucent override for open */
833
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
834
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
835
+ box-shadow: inset 0 0 0 1px var(--accent-a8);
651
836
  }
652
837
 
653
- /* Disable backdrop-filter when inside elements that already have backdrop-filter */
654
- :where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
655
- backdrop-filter: none !important;
838
+ /* Component-level overrides for open */
839
+ &:where([data-panel-background='solid'], [data-material='solid']) {
840
+ background-color: var(--accent-3);
841
+ box-shadow: inset 0 0 0 1px var(--accent-8);
842
+ }
843
+
844
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
845
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
846
+ box-shadow: inset 0 0 0 1px var(--accent-a8);
847
+ }
848
+ }
849
+
850
+ &:where(:active:not([data-state='open'])) {
851
+ background-color: var(--accent-4);
852
+ box-shadow: inset 0 0 0 1px var(--accent-8);
853
+
854
+ /* Theme-level translucent override for active */
855
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
856
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
857
+ box-shadow: inset 0 0 0 1px var(--accent-a8);
858
+ }
859
+
860
+ /* Component-level overrides for active */
861
+ &:where([data-panel-background='solid'], [data-material='solid']) {
862
+ background-color: var(--accent-4);
863
+ box-shadow: inset 0 0 0 1px var(--accent-a8);
864
+ }
865
+
866
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
867
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
868
+ box-shadow: inset 0 0 0 1px var(--accent-a8);
656
869
  }
657
870
  }
871
+
658
872
  &:where(:focus-visible) {
659
- outline-color: var(--accent-8);
873
+ outline: 2px solid var(--focus-8);
874
+ outline-offset: -1px;
660
875
  }
876
+
877
+ &:where(.rt-high-contrast) {
878
+ color: var(--accent-12);
879
+ }
880
+
661
881
  &:where(:disabled) {
662
- color: var(--gray-a11);
663
- background-color: transparent;
882
+ color: var(--gray-a8);
883
+ box-shadow: inset 0 0 0 1px var(--gray-a6);
884
+ background-color: var(--gray-a2);
885
+ cursor: not-allowed;
886
+ pointer-events: none;
664
887
  }
888
+
665
889
  &:where([data-placeholder]) {
666
890
  & :where(.rt-SelectTriggerInner) {
667
891
  color: var(--gray-a10);
892
+ font-weight: var(--font-weight-regular);
668
893
  }
669
894
  }
670
895
  }
@@ -678,6 +903,59 @@
678
903
  }
679
904
  }
680
905
 
906
+ /* Error state styling */
907
+ .rt-SelectTrigger:where([data-error="true"]) {
908
+ box-shadow: inset 0 0 0 1px var(--red-9);
909
+ }
910
+
911
+ .rt-SelectTrigger:where([data-error="true"]:focus-visible) {
912
+ outline: 2px solid var(--red-8);
913
+ }
914
+
915
+ /* Loading state styling */
916
+ .rt-SelectLoadingIcon {
917
+ animation: rt-spin 1s linear infinite;
918
+ }
919
+
920
+ .rt-SelectLoadingIconCircle {
921
+ animation: rt-dash 1.5s ease-in-out infinite;
922
+ }
923
+
924
+ @keyframes rt-spin {
925
+ from { transform: rotate(0deg); }
926
+ to { transform: rotate(360deg); }
927
+ }
928
+
929
+ @keyframes rt-dash {
930
+ 0% {
931
+ stroke-dasharray: 1, 150;
932
+ stroke-dashoffset: 0;
933
+ }
934
+ 50% {
935
+ stroke-dasharray: 90, 150;
936
+ stroke-dashoffset: -35;
937
+ }
938
+ 100% {
939
+ stroke-dasharray: 90, 150;
940
+ stroke-dashoffset: -124;
941
+ }
942
+ }
943
+
944
+ /* Reduced motion support */
945
+ @media (prefers-reduced-motion: reduce) {
946
+ .rt-SelectLoadingIcon,
947
+ .rt-SelectLoadingIconCircle {
948
+ animation: none;
949
+ }
950
+ }
951
+
952
+ /* Forced colors support */
953
+ @media (forced-colors: active) {
954
+ .rt-SelectTrigger:where([data-error="true"]) {
955
+ border: 1px solid CanvasText;
956
+ }
957
+ }
958
+
681
959
  /***************************************************************************************************
682
960
  * *
683
961
  * MENU VARIANTS *