@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
@@ -1,27 +1,112 @@
1
+ /**
2
+ * Base Button Component Styles
3
+ *
4
+ * This file contains the foundational styling for all button components in the
5
+ * Kookie User Interface design system. It provides the base styles that are
6
+ * extended by Button, IconButton, and other button variants.
7
+ *
8
+ * Key features:
9
+ * - Comprehensive accessibility support (forced colors, reduced motion)
10
+ * - Six visual variants with distinct styling patterns
11
+ * - Material system for solid and translucent effects
12
+ * - Responsive sizing with mobile-first approach
13
+ * - RTL (right-to-left) language support
14
+ * - Interactive states (hover, focus, active, disabled)
15
+ * - Loading states with proper visual feedback
16
+ * - High contrast mode support
17
+ *
18
+ * The base button uses CSS custom properties extensively to enable
19
+ * dynamic theming and responsive behavior across different contexts.
20
+ */
21
+
22
+ /*
23
+ * Base button foundation styles
24
+ * These styles establish the core button behavior and appearance
25
+ */
1
26
  .rt-BaseButton {
27
+ /* Reset all inherited styles to ensure consistent base */
2
28
  all: unset;
3
29
  box-sizing: border-box;
30
+
31
+ /* Flexbox layout for content alignment */
4
32
  display: inline-flex;
5
33
  align-items: center;
6
34
  justify-content: center;
7
35
  flex-shrink: 0;
36
+
37
+ /* Interaction and accessibility */
8
38
  user-select: none;
9
39
  position: relative;
10
- cursor: default;
40
+ cursor: pointer;
41
+ contain: paint;
11
42
  gap: var(--base-button-gap);
12
43
  transition: var(--transition-button);
13
44
 
45
+ /* Typography */
14
46
  font-family: var(--default-font-family);
15
47
  font-style: normal;
16
48
  text-align: center;
17
49
 
50
+ /* RTL support for right-to-left languages */
51
+ :where([dir="rtl"]) & {
52
+ flex-direction: row-reverse;
53
+ }
54
+
55
+ /*
56
+ * Theme-level translucent override
57
+ * Applies backdrop filter for elevated visual effects
58
+ */
59
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
60
+ backdrop-filter: var(--backdrop-filter-components);
61
+ --backdrop-filter-components: blur(var(--backdrop-blur-components));
62
+ }
63
+
64
+ /* Prevent backdrop-filter stacking with parent elements */
65
+ isolation: isolate;
66
+
67
+ /*
68
+ * Component-level material overrides
69
+ * These ensure proper rendering based on material setting
70
+ */
71
+ &:where([data-panel-background='solid'], [data-material='solid']) {
72
+ backdrop-filter: none;
73
+ --backdrop-filter-components: none;
74
+ }
75
+
76
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
77
+ backdrop-filter: var(--backdrop-filter-components);
78
+ --backdrop-filter-components: blur(var(--backdrop-blur-components));
79
+ }
80
+
81
+ /*
82
+ * Forced colors support for high contrast mode
83
+ * Ensures buttons remain visible in Windows high contrast mode
84
+ */
85
+ @media (forced-colors: active) {
86
+ border: 1px solid CanvasText;
87
+ color: CanvasText;
88
+ background-color: Canvas;
89
+ }
90
+
91
+ /*
92
+ * Disabled state styling
93
+ * Prevents interaction and provides visual feedback
94
+ */
18
95
  &:where([data-disabled]) {
19
96
  --spinner-opacity: 1;
20
- /* Disabled cursor and interaction prevention */
21
97
  cursor: not-allowed;
22
98
  pointer-events: none;
99
+ @media (forced-colors: active) {
100
+ border-color: GrayText;
101
+ color: GrayText;
102
+ background-color: Canvas;
103
+ }
23
104
  }
24
105
 
106
+ /*
107
+ * Loading state styling
108
+ * Changes cursor to indicate processing state
109
+ */
25
110
  &:where(.rt-loading) {
26
111
  position: relative;
27
112
  cursor: wait;
@@ -29,14 +114,24 @@
29
114
 
30
115
  /* Removed scale animation on press - keeping transition for other effects */
31
116
 
32
- /* Reduced motion support */
117
+ /*
118
+ * Reduced motion support
119
+ * Respects user's motion preferences for accessibility
120
+ */
33
121
  @media (prefers-reduced-motion: reduce) {
34
122
  transition: none;
123
+ backdrop-filter: none;
124
+ animation: none;
35
125
  }
36
126
 
127
+ /* Set height using CSS custom property for responsive sizing */
37
128
  height: var(--base-button-height);
38
129
  }
39
130
 
131
+ /*
132
+ * Full width mode
133
+ * Expands button to fill its container width
134
+ */
40
135
  .rt-BaseButton:where(.rt-full-width) {
41
136
  display: flex;
42
137
  width: 100%;
@@ -46,25 +141,39 @@
46
141
  * *
47
142
  * SIZES *
48
143
  * *
144
+ * Button sizes are defined using CSS custom properties for responsive design.
145
+ * Each size sets the height and border radius appropriate for the scale.
146
+ * *
49
147
  ***************************************************************************************************/
50
148
 
51
149
  @breakpoints {
52
150
  .rt-BaseButton {
151
+ /*
152
+ * Size 1: Compact (24px height)
153
+ * Designed for toolbars and dense interfaces
154
+ */
53
155
  &:where(.rt-r-size-1) {
54
156
  --base-button-classic-active-padding-top: 1px;
55
157
  --base-button-height: var(--space-5);
56
158
  border-radius: max(var(--radius-1), var(--radius-full));
57
159
  }
160
+
161
+ /*
162
+ * Size 2: Standard (32px height)
163
+ * Default size for most interface contexts
164
+ */
58
165
  &:where(.rt-r-size-2) {
59
166
  --base-button-classic-active-padding-top: 2px;
60
167
  --base-button-height: var(--space-6);
61
168
  border-radius: max(var(--radius-2), var(--radius-full));
62
169
  }
170
+
63
171
  &:where(.rt-r-size-3) {
64
172
  --base-button-classic-active-padding-top: 2px;
65
173
  --base-button-height: var(--space-7);
66
174
  border-radius: max(var(--radius-3), var(--radius-full));
67
175
  }
176
+
68
177
  &:where(.rt-r-size-4) {
69
178
  --base-button-classic-active-padding-top: 2px;
70
179
  --base-button-height: var(--space-8);
@@ -85,31 +194,43 @@
85
194
  position: relative;
86
195
  top: var(--classic-elevation-offset);
87
196
  color: var(--accent-a11);
88
- background-color: var(--accent-2);
89
- /* prettier-ignore */
90
- box-shadow:
91
- inset 0 calc(-1 * var(--classic-border-width)) var(--classic-shadow-blur-large) var(--accent-a2),
92
- inset 0 var(--classic-border-width) var(--white-a12),
93
- inset 0 var(--classic-shadow-blur-medium) var(--classic-shadow-blur-large) var(--accent-a2),
94
- inset 0 calc(-1 * var(--classic-border-width)) var(--accent-a6),
95
- 0 0 0 var(--classic-border-width) var(--accent-a5),
96
- 0 var(--classic-shadow-offset-y) var(--classic-shadow-blur-small) var(--accent-a7);
97
-
98
- :where(.dark, .dark-theme) &,
99
- :where(.dark, .dark-theme) :where(.radix-themes:not(.light, .light-theme)) & {
100
- /* prettier-ignore */
101
- box-shadow:
102
- inset 0 calc(-1 * var(--classic-border-width)) var(--classic-shadow-blur-large) var(--accent-a3),
103
- inset 0 var(--classic-border-width) var(--accent-a11),
104
- inset 0 var(--classic-shadow-blur-medium) var(--classic-shadow-blur-large) var(--accent-a2),
105
- inset 0 calc(-2 * var(--classic-border-width)) var(--black-a11),
106
- 0 0 0 var(--classic-border-width-thick) var(--accent-a7),
107
- 0 var(--classic-shadow-offset-y) var(--classic-shadow-blur-small) var(--black-a12);
197
+ background-color: var(--color-surface-solid);
198
+ box-shadow: var(--shadow-2);
199
+ transition: var(--transition-text-field);
200
+
201
+ /* Theme-level translucent override */
202
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
203
+ background-color: var(--color-surface-translucent);
204
+ }
205
+
206
+ /* Component-level overrides (higher specificity) */
207
+ &:where([data-panel-background='solid'], [data-material='solid']) {
208
+ background-color: var(--color-surface-solid);
108
209
  }
109
210
 
211
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
212
+ background-color: var(--color-surface-translucent);
213
+ }
214
+
215
+ /* Dark mode uses same styling as light mode for simplicity */
216
+
110
217
  &:where(.rt-high-contrast) {
111
- color: var(--accent-12);
112
- background-color: var(--accent-2);
218
+ color: var(--gray-12);
219
+ background-color: var(--color-surface-solid);
220
+
221
+ /* Theme-level translucent override for high contrast */
222
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
223
+ background-color: var(--color-surface-translucent);
224
+ }
225
+
226
+ /* Component-level overrides for high contrast */
227
+ &:where([data-panel-background='solid'], [data-material='solid']) {
228
+ background-color: var(--color-surface-solid);
229
+ }
230
+
231
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
232
+ background-color: var(--color-surface-translucent);
233
+ }
113
234
  }
114
235
 
115
236
  &:where(:focus-visible) {
@@ -119,68 +240,70 @@
119
240
 
120
241
  @media (hover: hover) {
121
242
  &:where(:hover) {
122
- background-color: var(--accent-3);
123
- /* prettier-ignore */
124
- box-shadow:
125
- inset 0 calc(-1 * var(--classic-border-width)) var(--classic-shadow-blur-large) var(--accent-a2),
126
- inset 0 var(--classic-border-width) var(--white-a12),
127
- inset 0 var(--classic-shadow-blur-medium) var(--classic-shadow-blur-large) var(--accent-a2),
128
- inset 0 calc(-1 * var(--classic-border-width)) var(--accent-a6),
129
- 0 0 0 var(--classic-border-width) var(--accent-a5),
130
- 0 var(--classic-shadow-offset-y) var(--classic-shadow-blur-small) var(--accent-a7),
131
- 0 0 0 var(--classic-border-width) var(--accent-a5);
132
-
133
- :where(.dark, .dark-theme) &,
134
- :where(.dark, .dark-theme) :where(.radix-themes:not(.light, .light-theme)) & {
135
- /* prettier-ignore */
136
- box-shadow:
137
- inset 0 calc(-1 * var(--classic-border-width)) var(--classic-shadow-blur-large) var(--accent-a3),
138
- inset 0 var(--classic-border-width) var(--accent-a11),
139
- inset 0 var(--classic-shadow-blur-medium) var(--classic-shadow-blur-large) var(--accent-a2),
140
- inset 0 var(--classic-shadow-offset-negative) var(--black-a11),
141
- 0 0 0 var(--classic-border-width-thick) var(--accent-a7),
142
- 0 var(--classic-shadow-offset-y) var(--classic-shadow-blur-small) var(--black-a12),
143
- 0 0 0 var(--classic-border-width) var(--accent-a5);
243
+ background-color: var(--gray-2);
244
+ box-shadow: var(--shadow-2);
245
+
246
+ /* Theme-level translucent override for hover */
247
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
248
+ background-color: color-mix(in srgb, var(--gray-a2), var(--gray-2) 60%);
249
+ }
250
+
251
+ /* Component-level overrides for hover */
252
+ &:where([data-panel-background='solid'], [data-material='solid']) {
253
+ background-color: var(--gray-2);
254
+ }
255
+
256
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
257
+ background-color: color-mix(in srgb, var(--gray-a2), var(--gray-2) 60%);
144
258
  }
259
+
260
+ /* Dark mode uses same styling as light mode for simplicity */
145
261
  }
146
262
  }
147
263
 
148
264
  &:where([data-state='open']) {
149
- background-color: var(--accent-3);
150
- /* prettier-ignore */
151
- box-shadow:
152
- inset 0 calc(-1 * var(--classic-border-width)) var(--classic-shadow-blur-large) var(--accent-a2),
153
- inset 0 var(--classic-border-width) var(--white-a12),
154
- inset 0 var(--classic-shadow-blur-medium) var(--classic-shadow-blur-large) var(--accent-a2),
155
- inset 0 calc(-1 * var(--classic-border-width)) var(--accent-a6),
156
- 0 0 0 var(--classic-border-width) var(--accent-a5),
157
- 0 var(--classic-shadow-offset-y) var(--classic-shadow-blur-small) var(--accent-a7),
158
- 0 0 0 var(--classic-border-width) var(--accent-a5);
159
-
160
- :where(.dark, .dark-theme) &,
161
- :where(.dark, .dark-theme) :where(.radix-themes:not(.light, .light-theme)) & {
162
- /* prettier-ignore */
163
- box-shadow:
164
- inset 0 calc(-1 * var(--classic-border-width)) var(--classic-shadow-blur-large) var(--accent-a3),
165
- inset 0 var(--classic-border-width) var(--accent-a11),
166
- inset 0 var(--classic-shadow-blur-medium) var(--classic-shadow-blur-large) var(--accent-a2),
167
- inset 0 var(--classic-shadow-offset-negative) var(--black-a11),
168
- 0 0 0 var(--classic-border-width-thick) var(--accent-a7),
169
- 0 var(--classic-shadow-offset-y) var(--classic-shadow-blur-small) var(--black-a12),
170
- 0 0 0 var(--classic-border-width) var(--accent-a5);
171
- }
172
- }
173
-
174
- &:where(:active:not([data-state='open'], [data-disabled])) {
175
- padding-top: var(--base-button-classic-active-padding-top);
176
- padding-bottom: 0;
177
- background-color: var(--accent-3);
178
- box-shadow: inset 0 var(--classic-border-width) var(--black-a3), 0 0 0 var(--classic-border-width) var(--accent-a7);
265
+ background-color: var(--gray-3);
266
+ box-shadow: var(--shadow-1);
267
+
268
+ /* Theme-level translucent override for open */
269
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
270
+ background-color: color-mix(in srgb, var(--gray-a3), var(--gray-3) 60%);
271
+ }
272
+
273
+ /* Component-level overrides for open */
274
+ &:where([data-panel-background='solid'], [data-material='solid']) {
275
+ background-color: var(--gray-3);
276
+ }
277
+
278
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
279
+ background-color: color-mix(in srgb, var(--gray-a3), var(--gray-3) 60%);
280
+ }
281
+
282
+ /* Dark mode uses same styling as light mode for simplicity */
283
+ }
284
+
285
+ &:where(:active:not([data-state='open'], [data-disabled]), [data-state='on']:not([data-disabled])) {
286
+ background-color: var(--gray-3);
287
+ box-shadow: var(--shadow-1);
288
+
289
+ /* Theme-level translucent override for active */
290
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
291
+ background-color: color-mix(in srgb, var(--gray-a3), var(--gray-3) 60%);
292
+ }
293
+
294
+ /* Component-level overrides for active */
295
+ &:where([data-panel-background='solid'], [data-material='solid']) {
296
+ background-color: var(--gray-3);
297
+ }
298
+
299
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
300
+ background-color: color-mix(in srgb, var(--gray-a3), var(--gray-3) 60%);
301
+ }
179
302
  }
180
303
 
181
304
  @media (pointer: coarse) {
182
305
  &:where(:active:not([data-state='open'])) {
183
- outline: var(--classic-shadow-blur-large) solid var(--accent-a4);
306
+ outline: var(--classic-shadow-blur-large) solid var(--gray-a4);
184
307
  outline-offset: 0;
185
308
  }
186
309
  }
@@ -199,32 +322,84 @@
199
322
  /* solid */
200
323
 
201
324
  :where(.radix-themes) {
202
- --base-button-solid-active-filter: brightness(0.92) saturate(1.1);
203
325
  --base-button-solid-high-contrast-hover-filter: contrast(0.88) saturate(1.1) brightness(1.1);
204
- --base-button-solid-high-contrast-active-filter: contrast(0.82) saturate(1.2) brightness(1.16);
205
326
  }
206
327
  :is(.dark, .dark-theme),
207
328
  :is(.dark, .dark-theme) :where(.radix-themes:not(.light, .light-theme)) {
208
- --base-button-solid-active-filter: brightness(1.08);
209
329
  --base-button-solid-high-contrast-hover-filter: contrast(0.88) saturate(1.3) brightness(1.18);
210
- --base-button-solid-high-contrast-active-filter: brightness(0.95) saturate(1.2);
211
330
  }
212
331
 
213
332
  .rt-BaseButton:where(.rt-variant-solid) {
333
+ /* Base state: solid color for solid panels */
214
334
  background-color: var(--accent-9);
215
335
  color: var(--accent-contrast);
216
336
 
337
+ /* Theme-level translucent override */
338
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
339
+ background-color: color-mix(in srgb, var(--accent-a9), var(--accent-9) 10%);
340
+ }
341
+
342
+ /* Component-level overrides (higher specificity) */
343
+ &:where([data-panel-background='solid'], [data-material='solid']) {
344
+ background-color: var(--accent-9);
345
+ }
346
+
347
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
348
+ background-color: color-mix(in srgb, var(--accent-a9), var(--accent-9) 10%);
349
+ }
350
+
217
351
  @media (hover: hover) {
218
352
  &:where(:hover) {
219
353
  background-color: var(--accent-10);
354
+
355
+ /* Theme-level translucent override for hover */
356
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
357
+ background-color: color-mix(in srgb, var(--accent-a10), var(--accent-10) 10%);
358
+ }
359
+
360
+ /* Component-level overrides for hover */
361
+ &:where([data-panel-background='solid'], [data-material='solid']) {
362
+ background-color: var(--accent-10);
363
+ }
364
+
365
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
366
+ background-color: color-mix(in srgb, var(--accent-a10), var(--accent-10) 10%);
367
+ }
220
368
  }
221
369
  }
222
370
  &:where([data-state='open']) {
223
371
  background-color: var(--accent-10);
372
+
373
+ /* Theme-level translucent override for open */
374
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
375
+ background-color: color-mix(in srgb, var(--accent-a10), var(--accent-10) 10%);
376
+ }
377
+
378
+ /* Component-level overrides for open */
379
+ &:where([data-panel-background='solid'], [data-material='solid']) {
380
+ background-color: var(--accent-10);
381
+ }
382
+
383
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
384
+ background-color: color-mix(in srgb, var(--accent-a10), var(--accent-10) 10%);
385
+ }
224
386
  }
225
387
  &:where(:active:not([data-state='open'])) {
226
- background-color: var(--accent-10);
227
- filter: var(--base-button-solid-active-filter);
388
+ background-color: var(--accent-11);
389
+
390
+ /* Theme-level translucent override for active */
391
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
392
+ background-color: color-mix(in srgb, var(--accent-a11), var(--accent-11) 10%);
393
+ }
394
+
395
+ /* Component-level overrides for active */
396
+ &:where([data-panel-background='solid'], [data-material='solid']) {
397
+ background-color: var(--accent-11);
398
+ }
399
+
400
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
401
+ background-color: color-mix(in srgb, var(--accent-a11), var(--accent-11) 10%);
402
+ }
228
403
  }
229
404
  /* Better -webkit-tap-highlight-color */
230
405
  @media (pointer: coarse) {
@@ -241,19 +416,75 @@
241
416
  background-color: var(--accent-12);
242
417
  color: var(--gray-1);
243
418
 
419
+ /* Theme-level translucent override for high contrast */
420
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
421
+ background-color: color-mix(in srgb, var(--accent-a12), var(--accent-12) 10%);
422
+ }
423
+
424
+ /* Component-level overrides for high contrast */
425
+ &:where([data-panel-background='solid'], [data-material='solid']) {
426
+ background-color: var(--accent-12);
427
+ }
428
+
429
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
430
+ background-color: color-mix(in srgb, var(--accent-a12), var(--accent-12) 10%);
431
+ }
432
+
244
433
  @media (hover: hover) {
245
434
  &:where(:hover) {
246
435
  background-color: var(--accent-12);
247
436
  filter: var(--base-button-solid-high-contrast-hover-filter);
437
+
438
+ /* Theme-level translucent override for high contrast hover */
439
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
440
+ background-color: color-mix(in srgb, var(--accent-a12), var(--accent-12) 10%);
441
+ }
442
+
443
+ /* Component-level overrides for high contrast hover */
444
+ &:where([data-panel-background='solid'], [data-material='solid']) {
445
+ background-color: var(--accent-12);
446
+ }
447
+
448
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
449
+ background-color: color-mix(in srgb, var(--accent-a12), var(--accent-12) 10%);
450
+ }
248
451
  }
249
452
  }
250
453
  &:where([data-state='open']) {
251
454
  background-color: var(--accent-12);
252
455
  filter: var(--base-button-solid-high-contrast-hover-filter);
456
+
457
+ /* Theme-level translucent override for high contrast open */
458
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
459
+ background-color: color-mix(in srgb, var(--accent-a12), var(--accent-12) 10%);
460
+ }
461
+
462
+ /* Component-level overrides for high contrast open */
463
+ &:where([data-panel-background='solid'], [data-material='solid']) {
464
+ background-color: var(--accent-12);
465
+ }
466
+
467
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
468
+ background-color: color-mix(in srgb, var(--accent-a12), var(--accent-12) 10%);
469
+ }
253
470
  }
254
471
  &:where(:active:not([data-state='open'])) {
255
- background-color: var(--accent-12);
472
+ background-color: var(--accent-11);
256
473
  filter: var(--base-button-solid-high-contrast-active-filter);
474
+
475
+ /* Theme-level translucent override for high contrast active */
476
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
477
+ background-color: color-mix(in srgb, var(--accent-a11), var(--accent-11) 10%);
478
+ }
479
+
480
+ /* Component-level overrides for high contrast active */
481
+ &:where([data-panel-background='solid'], [data-material='solid']) {
482
+ background-color: var(--accent-11);
483
+ }
484
+
485
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
486
+ background-color: color-mix(in srgb, var(--accent-a11), var(--accent-11) 10%);
487
+ }
257
488
  }
258
489
  }
259
490
  &:where([data-disabled]) {
@@ -287,22 +518,17 @@
287
518
  background-color: var(--accent-3);
288
519
 
289
520
  /* Theme-level translucent override */
290
- :where([data-panel-background='translucent']) & {
291
- background-color: var(--accent-a3);
292
- backdrop-filter: var(--backdrop-filter-components);
521
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
522
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
293
523
  }
294
524
 
295
525
  /* Component-level overrides (higher specificity) */
296
- &:where([data-panel-background='solid']) {
526
+ &:where([data-panel-background='solid'], [data-material='solid']) {
297
527
  background-color: var(--accent-3);
298
- backdrop-filter: none;
299
- --backdrop-filter-components: none;
300
528
  }
301
529
 
302
- &:where([data-panel-background='translucent']) {
303
- background-color: var(--accent-a3);
304
- backdrop-filter: var(--backdrop-filter-components);
305
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
530
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
531
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
306
532
  }
307
533
 
308
534
  &:where(:focus-visible) {
@@ -314,21 +540,17 @@
314
540
  background-color: var(--accent-4);
315
541
 
316
542
  /* Theme-level translucent override for hover */
317
- :where([data-panel-background='translucent']) & {
318
- background-color: var(--accent-a4);
543
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
544
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
319
545
  }
320
546
 
321
547
  /* Component-level overrides for hover */
322
- &:where([data-panel-background='solid']) {
548
+ &:where([data-panel-background='solid'], [data-material='solid']) {
323
549
  background-color: var(--accent-4);
324
- backdrop-filter: none;
325
- --backdrop-filter-components: none;
326
550
  }
327
551
 
328
- &:where([data-panel-background='translucent']) {
329
- background-color: var(--accent-a4);
330
- backdrop-filter: var(--backdrop-filter-components);
331
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
552
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
553
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
332
554
  }
333
555
  }
334
556
  }
@@ -336,42 +558,34 @@
336
558
  background-color: var(--accent-4);
337
559
 
338
560
  /* Theme-level translucent override for open */
339
- :where([data-panel-background='translucent']) & {
340
- background-color: var(--accent-a4);
561
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
562
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
341
563
  }
342
564
 
343
565
  /* Component-level overrides for open */
344
- &:where([data-panel-background='solid']) {
566
+ &:where([data-panel-background='solid'], [data-material='solid']) {
345
567
  background-color: var(--accent-4);
346
- backdrop-filter: none;
347
- --backdrop-filter-components: none;
348
568
  }
349
569
 
350
- &:where([data-panel-background='translucent']) {
351
- background-color: var(--accent-a4);
352
- backdrop-filter: var(--backdrop-filter-components);
353
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
570
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
571
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
354
572
  }
355
573
  }
356
574
  &:where(:active:not([data-state='open'])) {
357
575
  background-color: var(--accent-5);
358
576
 
359
577
  /* Theme-level translucent override for active */
360
- :where([data-panel-background='translucent']) & {
361
- background-color: var(--accent-a5);
578
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
579
+ background-color: color-mix(in srgb, var(--accent-a5), var(--accent-5) 60%);
362
580
  }
363
581
 
364
582
  /* Component-level overrides for active */
365
- &:where([data-panel-background='solid']) {
583
+ &:where([data-panel-background='solid'], [data-material='solid']) {
366
584
  background-color: var(--accent-5);
367
- backdrop-filter: none;
368
- --backdrop-filter-components: none;
369
585
  }
370
586
 
371
- &:where([data-panel-background='translucent']) {
372
- background-color: var(--accent-a5);
373
- backdrop-filter: var(--backdrop-filter-components);
374
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
587
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
588
+ background-color: color-mix(in srgb, var(--accent-a5), var(--accent-5) 60%);
375
589
  }
376
590
  }
377
591
  &:where([data-disabled]) {
@@ -421,28 +635,23 @@
421
635
  background-color: var(--accent-3);
422
636
 
423
637
  /* Theme-level translucent override for hover */
424
- :where([data-panel-background='translucent']) & {
425
- background-color: var(--accent-a3);
426
- backdrop-filter: var(--backdrop-filter-components);
638
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
639
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
427
640
  }
428
641
 
429
642
  /* Component-level overrides for hover */
430
- &:where([data-panel-background='solid']) {
643
+ &:where([data-panel-background='solid'], [data-material='solid']) {
431
644
  background-color: var(--accent-3);
432
- backdrop-filter: none;
433
- --backdrop-filter-components: none;
434
645
  }
435
646
 
436
- &:where([data-panel-background='translucent']) {
437
- background-color: var(--accent-a3);
438
- backdrop-filter: var(--backdrop-filter-components);
439
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
647
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
648
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
440
649
  }
441
650
 
442
651
  /* Disable backdrop-filter when inside elements that already have backdrop-filter */
443
- :where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
652
+ /* :where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
444
653
  backdrop-filter: none !important;
445
- }
654
+ } */
446
655
  }
447
656
  }
448
657
  &:where(:focus-visible) {
@@ -454,56 +663,47 @@
454
663
  background-color: var(--accent-3);
455
664
 
456
665
  /* Theme-level translucent override for open */
457
- :where([data-panel-background='translucent']) & {
458
- background-color: var(--accent-a3);
666
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
667
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
459
668
  backdrop-filter: var(--backdrop-filter-components);
460
669
  }
461
670
 
462
671
  /* Component-level overrides for open */
463
- &:where([data-panel-background='solid']) {
672
+ &:where([data-panel-background='solid'], [data-material='solid']) {
464
673
  background-color: var(--accent-3);
465
- backdrop-filter: none;
466
- --backdrop-filter-components: none;
467
674
  }
468
675
 
469
- &:where([data-panel-background='translucent']) {
470
- background-color: var(--accent-a3);
471
- backdrop-filter: var(--backdrop-filter-components);
472
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
676
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
677
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
473
678
  }
474
679
 
475
680
  /* Disable backdrop-filter when inside elements that already have backdrop-filter */
476
- :where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
681
+ /* :where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
477
682
  backdrop-filter: none !important;
478
- }
683
+ } */
479
684
  }
480
685
  &:where(:active:not([data-state='open'])) {
481
686
  /* Base state: solid accent for solid panels */
482
687
  background-color: var(--accent-4);
483
688
 
484
689
  /* Theme-level translucent override for active */
485
- :where([data-panel-background='translucent']) & {
486
- background-color: var(--accent-a4);
487
- backdrop-filter: var(--backdrop-filter-components);
690
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
691
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
488
692
  }
489
693
 
490
694
  /* Component-level overrides for active */
491
- &:where([data-panel-background='solid']) {
695
+ &:where([data-panel-background='solid'], [data-material='solid']) {
492
696
  background-color: var(--accent-4);
493
- backdrop-filter: none;
494
- --backdrop-filter-components: none;
495
697
  }
496
698
 
497
- &:where([data-panel-background='translucent']) {
498
- background-color: var(--accent-a4);
499
- backdrop-filter: var(--backdrop-filter-components);
500
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
699
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
700
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
501
701
  }
502
702
 
503
703
  /* Disable backdrop-filter when inside elements that already have backdrop-filter */
504
- :where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
704
+ /* :where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
505
705
  backdrop-filter: none !important;
506
- }
706
+ } */
507
707
  }
508
708
  &:where([data-disabled]) {
509
709
  color: var(--gray-a8);
@@ -517,95 +717,90 @@
517
717
 
518
718
  .rt-BaseButton:where(.rt-variant-outline) {
519
719
  /* Base state: solid colors for solid panels */
520
- box-shadow: inset 0 0 0 1px var(--accent-8);
720
+ box-shadow: inset 0 0 0 1px var(--accent-6);
521
721
  color: var(--accent-11);
522
722
  transition: var(--transition-background-blur);
523
723
 
524
724
  /* Theme-level translucent override */
525
- :where([data-panel-background='translucent']) & {
526
- box-shadow: inset 0 0 0 1px var(--accent-a8);
725
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
726
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
527
727
  color: var(--accent-a11);
528
728
  }
529
729
 
530
730
  /* Component-level overrides (higher specificity) */
531
- &:where([data-panel-background='solid']) {
532
- box-shadow: inset 0 0 0 1px var(--accent-8);
731
+ &:where([data-panel-background='solid'], [data-material='solid']) {
732
+ box-shadow: inset 0 0 0 1px var(--accent-6);
533
733
  color: var(--accent-11);
534
- backdrop-filter: none;
535
- --backdrop-filter-components: none;
536
734
  }
537
735
 
538
- &:where([data-panel-background='translucent']) {
539
- box-shadow: inset 0 0 0 1px var(--accent-a8);
736
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
737
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
540
738
  color: var(--accent-a11);
541
739
  }
542
740
 
543
741
  @media (hover: hover) {
544
742
  &:where(:hover) {
545
743
  background-color: var(--accent-2);
744
+ box-shadow: inset 0 0 0 1px var(--accent-7);
546
745
 
547
746
  /* Theme-level translucent override for hover */
548
- :where([data-panel-background='translucent']) & {
549
- background-color: var(--accent-a2);
550
- backdrop-filter: var(--backdrop-filter-components);
747
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
748
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
749
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
551
750
  }
552
751
 
553
752
  /* Component-level overrides for hover */
554
- &:where([data-panel-background='solid']) {
753
+ &:where([data-panel-background='solid'], [data-material='solid']) {
555
754
  background-color: var(--accent-2);
556
- backdrop-filter: none;
557
- --backdrop-filter-components: none;
755
+ box-shadow: inset 0 0 0 1px var(--accent-7);
558
756
  }
559
757
 
560
- &:where([data-panel-background='translucent']) {
561
- background-color: var(--accent-a2);
562
- backdrop-filter: var(--backdrop-filter-components);
563
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
758
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
759
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
760
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
564
761
  }
565
762
  }
566
763
  }
567
764
  &:where([data-state='open']) {
568
765
  background-color: var(--accent-2);
766
+ box-shadow: inset 0 0 0 1px var(--accent-7);
569
767
 
570
768
  /* Theme-level translucent override for open */
571
- :where([data-panel-background='translucent']) & {
572
- background-color: var(--accent-a2);
573
- backdrop-filter: var(--backdrop-filter-components);
769
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
770
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
771
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
574
772
  }
575
773
 
576
774
  /* Component-level overrides for open */
577
- &:where([data-panel-background='solid']) {
775
+ &:where([data-panel-background='solid'], [data-material='solid']) {
578
776
  background-color: var(--accent-2);
579
- backdrop-filter: none;
580
- --backdrop-filter-components: none;
777
+ box-shadow: inset 0 0 0 1px var(--accent-7);
581
778
  }
582
779
 
583
- &:where([data-panel-background='translucent']) {
584
- background-color: var(--accent-a2);
585
- backdrop-filter: var(--backdrop-filter-components);
586
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
780
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
781
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
782
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
587
783
  }
588
784
  }
589
785
  &:where(:active:not([data-state='open'])) {
590
786
  background-color: var(--accent-3);
787
+ box-shadow: inset 0 0 0 1px var(--accent-8);
591
788
 
592
789
  /* Theme-level translucent override for active */
593
- :where([data-panel-background='translucent']) & {
594
- background-color: var(--accent-a3);
595
- backdrop-filter: var(--backdrop-filter-components);
790
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
791
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
792
+ box-shadow: inset 0 0 0 1px var(--accent-a8);
596
793
  }
597
794
 
598
795
  /* Component-level overrides for active */
599
- &:where([data-panel-background='solid']) {
796
+ &:where([data-panel-background='solid'], [data-material='solid']) {
600
797
  background-color: var(--accent-3);
601
- backdrop-filter: none;
602
- --backdrop-filter-components: none;
798
+ box-shadow: inset 0 0 0 1px var(--accent-8);
603
799
  }
604
800
 
605
- &:where([data-panel-background='translucent']) {
606
- background-color: var(--accent-a3);
607
- backdrop-filter: var(--backdrop-filter-components);
608
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
801
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
802
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
803
+ box-shadow: inset 0 0 0 1px var(--accent-a8);
609
804
  }
610
805
  }
611
806
  &:where(:focus-visible) {
@@ -613,30 +808,7 @@
613
808
  outline-offset: -1px;
614
809
  }
615
810
  &:where(.rt-high-contrast) {
616
- box-shadow:
617
- inset 0 0 0 1px var(--accent-7),
618
- inset 0 0 0 1px var(--gray-11);
619
811
  color: var(--accent-12);
620
-
621
- /* Theme-level translucent override for high contrast */
622
- :where([data-panel-background='translucent']) & {
623
- box-shadow:
624
- inset 0 0 0 1px var(--accent-a7),
625
- inset 0 0 0 1px var(--gray-a11);
626
- }
627
-
628
- /* Component-level overrides for high contrast */
629
- &:where([data-panel-background='solid']) {
630
- box-shadow:
631
- inset 0 0 0 1px var(--accent-7),
632
- inset 0 0 0 1px var(--gray-11);
633
- }
634
-
635
- &:where([data-panel-background='translucent']) {
636
- box-shadow:
637
- inset 0 0 0 1px var(--accent-a7),
638
- inset 0 0 0 1px var(--gray-a11);
639
- }
640
812
  }
641
813
  &:where([data-disabled]) {
642
814
  color: var(--gray-a8);
@@ -652,85 +824,89 @@
652
824
  .rt-BaseButton:where(.rt-variant-surface) {
653
825
  /* Base state: solid accent for solid panels */
654
826
  background-color: var(--accent-2);
655
- box-shadow: inset 0 0 0 1px var(--accent-7);
827
+ box-shadow: inset 0 0 0 1px var(--accent-6);
656
828
  color: var(--accent-a11);
657
829
 
658
830
  /* Theme-level translucent override */
659
- :where([data-panel-background='translucent']) & {
660
- background-color: var(--accent-a2);
661
- box-shadow: inset 0 0 0 1px var(--accent-a7);
831
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
832
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
833
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
662
834
  backdrop-filter: var(--backdrop-filter-components);
663
835
  }
664
836
 
665
837
  /* Component-level overrides (higher specificity) */
666
- &:where([data-panel-background='solid']) {
838
+ &:where([data-panel-background='solid'], [data-material='solid']) {
667
839
  background-color: var(--accent-2);
668
- box-shadow: inset 0 0 0 1px var(--accent-7);
669
- backdrop-filter: none;
670
- --backdrop-filter-components: none;
840
+ box-shadow: inset 0 0 0 1px var(--accent-6);
671
841
  }
672
842
 
673
- &:where([data-panel-background='translucent']) {
674
- background-color: var(--accent-a2);
675
- box-shadow: inset 0 0 0 1px var(--accent-a7);
676
- backdrop-filter: var(--backdrop-filter-components);
677
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
843
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
844
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
845
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
678
846
  }
679
847
 
680
848
  @media (hover: hover) {
681
849
  &:where(:hover) {
682
- box-shadow: inset 0 0 0 1px var(--accent-8);
850
+ background-color: var(--accent-3);
851
+ box-shadow: inset 0 0 0 1px var(--accent-7);
683
852
 
684
853
  /* Theme-level translucent override for hover */
685
- :where([data-panel-background='translucent']) & {
686
- box-shadow: inset 0 0 0 1px var(--accent-a8);
854
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
855
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
856
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
687
857
  }
688
858
 
689
859
  /* Component-level overrides for hover */
690
- &:where([data-panel-background='solid']) {
691
- box-shadow: inset 0 0 0 1px var(--accent-8);
860
+ &:where([data-panel-background='solid'], [data-material='solid']) {
861
+ background-color: var(--accent-3);
862
+ box-shadow: inset 0 0 0 1px var(--accent-7);
692
863
  }
693
864
 
694
- &:where([data-panel-background='translucent']) {
695
- box-shadow: inset 0 0 0 1px var(--accent-a8);
865
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
866
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
867
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
696
868
  }
697
869
  }
698
870
  }
699
871
  &:where([data-state='open']) {
872
+ background-color: var(--accent-3);
700
873
  box-shadow: inset 0 0 0 1px var(--accent-8);
701
874
 
702
875
  /* Theme-level translucent override for open */
703
- :where([data-panel-background='translucent']) & {
876
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
877
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
704
878
  box-shadow: inset 0 0 0 1px var(--accent-a8);
705
879
  }
706
880
 
707
881
  /* Component-level overrides for open */
708
- &:where([data-panel-background='solid']) {
882
+ &:where([data-panel-background='solid'], [data-material='solid']) {
883
+ background-color: var(--accent-3);
709
884
  box-shadow: inset 0 0 0 1px var(--accent-8);
710
885
  }
711
886
 
712
- &:where([data-panel-background='translucent']) {
887
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
888
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
713
889
  box-shadow: inset 0 0 0 1px var(--accent-a8);
714
890
  }
715
891
  }
716
892
  &:where(:active:not([data-state='open'])) {
717
- background-color: var(--accent-3);
893
+ background-color: var(--accent-4);
718
894
  box-shadow: inset 0 0 0 1px var(--accent-8);
719
895
 
720
896
  /* Theme-level translucent override for active */
721
- :where([data-panel-background='translucent']) & {
722
- background-color: var(--accent-a3);
897
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
898
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
723
899
  box-shadow: inset 0 0 0 1px var(--accent-a8);
724
900
  }
725
901
 
726
902
  /* Component-level overrides for active */
727
- &:where([data-panel-background='solid']) {
728
- background-color: var(--accent-3);
903
+ &:where([data-panel-background='solid'], [data-material='solid']) {
904
+ background-color: var(--accent-4);
729
905
  box-shadow: inset 0 0 0 1px var(--accent-8);
730
906
  }
731
907
 
732
- &:where([data-panel-background='translucent']) {
733
- background-color: var(--accent-a3);
908
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
909
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
734
910
  box-shadow: inset 0 0 0 1px var(--accent-a8);
735
911
  }
736
912
  }
@@ -762,43 +938,67 @@
762
938
 
763
939
  /* Classic variant pressed */
764
940
  &:where(.rt-variant-classic) {
765
- padding-top: var(--base-button-classic-active-padding-top);
766
- padding-bottom: 0;
767
- background-color: var(--accent-3);
768
- box-shadow: inset 0 var(--classic-border-width) var(--black-a3), 0 0 0 var(--classic-border-width) var(--accent-a7);
941
+ background-color: var(--gray-3);
942
+ box-shadow: var(--shadow-1);
943
+
944
+ /* Theme-level translucent override for pressed */
945
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
946
+ background-color: color-mix(in srgb, var(--gray-a3), var(--gray-3) 60%);
947
+ }
769
948
 
770
- &:where(.rt-high-contrast) {
771
- background-color: var(--accent-3);
949
+ /* Component-level overrides for pressed */
950
+ &:where([data-panel-background='solid'], [data-material='solid']) {
951
+ background-color: var(--gray-3);
952
+ }
953
+
954
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
955
+ background-color: color-mix(in srgb, var(--gray-a3), var(--gray-3) 60%);
772
956
  }
773
957
  }
774
958
 
775
959
  /* Solid variant pressed */
776
960
  &:where(.rt-variant-solid) {
777
961
  background-color: var(--accent-10);
778
- filter: var(--base-button-solid-active-filter);
962
+ opacity: 0.9;
963
+ transform: translateY(1px);
964
+
965
+ /* Theme-level translucent override for pressed */
966
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
967
+ background-color: color-mix(in srgb, var(--accent-a10), var(--accent-10) 10%);
968
+ }
969
+
970
+ /* Component-level overrides for pressed */
971
+ &:where([data-panel-background='solid'], [data-material='solid']) {
972
+ background-color: var(--accent-10);
973
+ }
974
+
975
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
976
+ background-color: color-mix(in srgb, var(--accent-a10), var(--accent-10) 10%);
977
+ }
779
978
 
780
979
  &:where(.rt-high-contrast) {
781
980
  background-color: var(--accent-12);
782
- filter: var(--base-button-solid-high-contrast-active-filter);
981
+ opacity: 0.85;
982
+ transform: translateY(1px);
783
983
  }
784
984
  }
785
985
 
786
986
  /* Soft variant pressed */
787
987
  &:where(.rt-variant-soft) {
788
- background-color: var(--accent-4);
988
+ background-color: var(--accent-5);
789
989
 
790
990
  /* Theme-level translucent override for pressed */
791
- :where([data-panel-background='translucent']) & {
792
- background-color: var(--accent-a4);
991
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
992
+ background-color: color-mix(in srgb, var(--accent-a5), var(--accent-5) 60%);
793
993
  }
794
994
 
795
995
  /* Component-level overrides for pressed */
796
- &:where([data-panel-background='solid']) {
797
- background-color: var(--accent-4);
996
+ &:where([data-panel-background='solid'], [data-material='solid']) {
997
+ background-color: var(--accent-5);
798
998
  }
799
999
 
800
- &:where([data-panel-background='translucent']) {
801
- background-color: var(--accent-a4);
1000
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
1001
+ background-color: color-mix(in srgb, var(--accent-a5), var(--accent-5) 60%);
802
1002
  }
803
1003
  }
804
1004
 
@@ -807,16 +1007,16 @@
807
1007
  background-color: var(--accent-4);
808
1008
 
809
1009
  /* Theme-level translucent override for pressed */
810
- :where([data-panel-background='translucent']) & {
1010
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
811
1011
  background-color: var(--accent-a4);
812
1012
  }
813
1013
 
814
1014
  /* Component-level overrides for pressed */
815
- &:where([data-panel-background='solid']) {
1015
+ &:where([data-panel-background='solid'], [data-material='solid']) {
816
1016
  background-color: var(--accent-4);
817
1017
  }
818
1018
 
819
- &:where([data-panel-background='translucent']) {
1019
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
820
1020
  background-color: var(--accent-a4);
821
1021
  }
822
1022
  }
@@ -824,46 +1024,45 @@
824
1024
  /* Outline variant pressed */
825
1025
  &:where(.rt-variant-outline) {
826
1026
  background-color: var(--accent-3);
1027
+ box-shadow: inset 0 0 0 1px var(--accent-8);
827
1028
 
828
1029
  /* Theme-level translucent override for pressed */
829
- :where([data-panel-background='translucent']) & {
830
- background-color: var(--accent-a3);
831
- backdrop-filter: var(--backdrop-filter-components);
1030
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
1031
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
1032
+ box-shadow: inset 0 0 0 1px var(--accent-a8);
832
1033
  }
833
1034
 
834
1035
  /* Component-level overrides for pressed */
835
- &:where([data-panel-background='solid']) {
1036
+ &:where([data-panel-background='solid'], [data-material='solid']) {
836
1037
  background-color: var(--accent-3);
837
- backdrop-filter: none;
838
- --backdrop-filter-components: none;
1038
+ box-shadow: inset 0 0 0 1px var(--accent-8);
839
1039
  }
840
1040
 
841
- &:where([data-panel-background='translucent']) {
842
- background-color: var(--accent-a3);
843
- backdrop-filter: var(--backdrop-filter-components);
844
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
1041
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
1042
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
1043
+ box-shadow: inset 0 0 0 1px var(--accent-a8);
845
1044
  }
846
1045
  }
847
1046
 
848
1047
  /* Surface variant pressed */
849
1048
  &:where(.rt-variant-surface) {
850
- background-color: var(--accent-3);
1049
+ background-color: var(--accent-4);
851
1050
  box-shadow: inset 0 0 0 1px var(--accent-8);
852
1051
 
853
1052
  /* Theme-level translucent override for pressed */
854
- :where([data-panel-background='translucent']) & {
855
- background-color: var(--accent-a3);
1053
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
1054
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
856
1055
  box-shadow: inset 0 0 0 1px var(--accent-a8);
857
1056
  }
858
1057
 
859
1058
  /* Component-level overrides for pressed */
860
- &:where([data-panel-background='solid']) {
861
- background-color: var(--accent-3);
1059
+ &:where([data-panel-background='solid'], [data-material='solid']) {
1060
+ background-color: var(--accent-4);
862
1061
  box-shadow: inset 0 0 0 1px var(--accent-8);
863
1062
  }
864
1063
 
865
- &:where([data-panel-background='translucent']) {
866
- background-color: var(--accent-a3);
1064
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
1065
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
867
1066
  box-shadow: inset 0 0 0 1px var(--accent-a8);
868
1067
  }
869
1068
  }