@kushagradhawan/kookie-ui 0.1.29 → 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 (522) hide show
  1. package/components.css +4083 -2224
  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.map +1 -1
  23. package/dist/cjs/components/accordion.js +1 -1
  24. package/dist/cjs/components/accordion.js.map +3 -3
  25. package/dist/cjs/components/accordion.props.d.ts +9 -0
  26. package/dist/cjs/components/accordion.props.d.ts.map +1 -1
  27. package/dist/cjs/components/accordion.props.js +1 -1
  28. package/dist/cjs/components/accordion.props.js.map +2 -2
  29. package/dist/cjs/components/alert-dialog.d.ts.map +1 -1
  30. package/dist/cjs/components/alert-dialog.js +1 -1
  31. package/dist/cjs/components/alert-dialog.js.map +3 -3
  32. package/dist/cjs/components/alert-dialog.props.d.ts +69 -2
  33. package/dist/cjs/components/alert-dialog.props.d.ts.map +1 -1
  34. package/dist/cjs/components/alert-dialog.props.js +1 -1
  35. package/dist/cjs/components/alert-dialog.props.js.map +3 -3
  36. package/dist/cjs/components/avatar.d.ts.map +1 -1
  37. package/dist/cjs/components/avatar.js +1 -1
  38. package/dist/cjs/components/avatar.js.map +3 -3
  39. package/dist/cjs/components/avatar.props.d.ts +9 -1
  40. package/dist/cjs/components/avatar.props.d.ts.map +1 -1
  41. package/dist/cjs/components/avatar.props.js +1 -1
  42. package/dist/cjs/components/avatar.props.js.map +3 -3
  43. package/dist/cjs/components/badge.d.ts +8 -1
  44. package/dist/cjs/components/badge.d.ts.map +1 -1
  45. package/dist/cjs/components/badge.js +1 -1
  46. package/dist/cjs/components/badge.js.map +3 -3
  47. package/dist/cjs/components/badge.props.d.ts +14 -6
  48. package/dist/cjs/components/badge.props.d.ts.map +1 -1
  49. package/dist/cjs/components/badge.props.js +1 -1
  50. package/dist/cjs/components/badge.props.js.map +3 -3
  51. package/dist/cjs/components/blockquote.props.d.ts +1 -1
  52. package/dist/cjs/components/button.d.ts +53 -1
  53. package/dist/cjs/components/button.d.ts.map +1 -1
  54. package/dist/cjs/components/button.js +1 -1
  55. package/dist/cjs/components/button.js.map +3 -3
  56. package/dist/cjs/components/button.props.d.ts +17 -0
  57. package/dist/cjs/components/button.props.d.ts.map +1 -1
  58. package/dist/cjs/components/button.props.js.map +2 -2
  59. package/dist/cjs/components/callout.d.ts +4 -0
  60. package/dist/cjs/components/callout.d.ts.map +1 -1
  61. package/dist/cjs/components/callout.js +1 -1
  62. package/dist/cjs/components/callout.js.map +3 -3
  63. package/dist/cjs/components/callout.props.d.ts +9 -1
  64. package/dist/cjs/components/callout.props.d.ts.map +1 -1
  65. package/dist/cjs/components/callout.props.js +1 -1
  66. package/dist/cjs/components/callout.props.js.map +3 -3
  67. package/dist/cjs/components/card.d.ts.map +1 -1
  68. package/dist/cjs/components/card.js +1 -1
  69. package/dist/cjs/components/card.js.map +3 -3
  70. package/dist/cjs/components/card.props.d.ts +5 -0
  71. package/dist/cjs/components/card.props.d.ts.map +1 -1
  72. package/dist/cjs/components/card.props.js +1 -1
  73. package/dist/cjs/components/card.props.js.map +3 -3
  74. package/dist/cjs/components/checkbox-cards.d.ts.map +1 -1
  75. package/dist/cjs/components/checkbox-cards.js +1 -1
  76. package/dist/cjs/components/checkbox-cards.js.map +3 -3
  77. package/dist/cjs/components/checkbox-cards.props.d.ts +2 -2
  78. package/dist/cjs/components/checkbox-cards.props.js +1 -1
  79. package/dist/cjs/components/checkbox-cards.props.js.map +2 -2
  80. package/dist/cjs/components/checkbox-group.props.d.ts +6 -1
  81. package/dist/cjs/components/checkbox-group.props.d.ts.map +1 -1
  82. package/dist/cjs/components/checkbox.d.ts.map +1 -1
  83. package/dist/cjs/components/checkbox.js +1 -1
  84. package/dist/cjs/components/checkbox.js.map +3 -3
  85. package/dist/cjs/components/code.js.map +1 -1
  86. package/dist/cjs/components/code.props.d.ts +1 -1
  87. package/dist/cjs/components/context-menu.d.ts +1 -1
  88. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  89. package/dist/cjs/components/context-menu.js +1 -1
  90. package/dist/cjs/components/context-menu.js.map +3 -3
  91. package/dist/cjs/components/dialog.d.ts.map +1 -1
  92. package/dist/cjs/components/dialog.js +1 -1
  93. package/dist/cjs/components/dialog.js.map +3 -3
  94. package/dist/cjs/components/dialog.props.d.ts +5 -0
  95. package/dist/cjs/components/dialog.props.d.ts.map +1 -1
  96. package/dist/cjs/components/dialog.props.js +1 -1
  97. package/dist/cjs/components/dialog.props.js.map +3 -3
  98. package/dist/cjs/components/dropdown-menu.d.ts +1 -1
  99. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  100. package/dist/cjs/components/dropdown-menu.js +1 -1
  101. package/dist/cjs/components/dropdown-menu.js.map +3 -3
  102. package/dist/cjs/components/heading.props.d.ts +1 -1
  103. package/dist/cjs/components/icon-button.d.ts +79 -1
  104. package/dist/cjs/components/icon-button.d.ts.map +1 -1
  105. package/dist/cjs/components/icon-button.js +4 -1
  106. package/dist/cjs/components/icon-button.js.map +3 -3
  107. package/dist/cjs/components/image.d.ts +131 -12
  108. package/dist/cjs/components/image.d.ts.map +1 -1
  109. package/dist/cjs/components/image.js +1 -1
  110. package/dist/cjs/components/image.js.map +3 -3
  111. package/dist/cjs/components/image.props.d.ts +136 -21
  112. package/dist/cjs/components/image.props.d.ts.map +1 -1
  113. package/dist/cjs/components/image.props.js +1 -1
  114. package/dist/cjs/components/image.props.js.map +3 -3
  115. package/dist/cjs/components/link.props.d.ts +1 -1
  116. package/dist/cjs/components/progress.props.d.ts +2 -2
  117. package/dist/cjs/components/progress.props.js +1 -1
  118. package/dist/cjs/components/progress.props.js.map +2 -2
  119. package/dist/cjs/components/radio-cards.d.ts.map +1 -1
  120. package/dist/cjs/components/radio-cards.js +1 -1
  121. package/dist/cjs/components/radio-cards.js.map +3 -3
  122. package/dist/cjs/components/radio-cards.props.d.ts +2 -2
  123. package/dist/cjs/components/radio-cards.props.js +1 -1
  124. package/dist/cjs/components/radio-cards.props.js.map +2 -2
  125. package/dist/cjs/components/radio.d.ts.map +1 -1
  126. package/dist/cjs/components/radio.js +1 -1
  127. package/dist/cjs/components/radio.js.map +3 -3
  128. package/dist/cjs/components/segmented-control.props.d.ts +3 -3
  129. package/dist/cjs/components/segmented-control.props.js +1 -1
  130. package/dist/cjs/components/segmented-control.props.js.map +2 -2
  131. package/dist/cjs/components/select.d.ts.map +1 -1
  132. package/dist/cjs/components/select.js +1 -1
  133. package/dist/cjs/components/select.js.map +3 -3
  134. package/dist/cjs/components/select.props.d.ts +12 -0
  135. package/dist/cjs/components/select.props.d.ts.map +1 -1
  136. package/dist/cjs/components/select.props.js +1 -1
  137. package/dist/cjs/components/select.props.js.map +2 -2
  138. package/dist/cjs/components/sidebar.d.ts +5 -0
  139. package/dist/cjs/components/sidebar.d.ts.map +1 -1
  140. package/dist/cjs/components/sidebar.js +1 -1
  141. package/dist/cjs/components/sidebar.js.map +3 -3
  142. package/dist/cjs/components/slider.d.ts +5 -0
  143. package/dist/cjs/components/slider.d.ts.map +1 -1
  144. package/dist/cjs/components/slider.js +1 -1
  145. package/dist/cjs/components/slider.js.map +3 -3
  146. package/dist/cjs/components/slider.props.d.ts +10 -2
  147. package/dist/cjs/components/slider.props.d.ts.map +1 -1
  148. package/dist/cjs/components/slider.props.js +1 -1
  149. package/dist/cjs/components/slider.props.js.map +2 -2
  150. package/dist/cjs/components/switch.d.ts.map +1 -1
  151. package/dist/cjs/components/switch.js +1 -1
  152. package/dist/cjs/components/switch.js.map +3 -3
  153. package/dist/cjs/components/switch.props.d.ts +17 -4
  154. package/dist/cjs/components/switch.props.d.ts.map +1 -1
  155. package/dist/cjs/components/switch.props.js +1 -1
  156. package/dist/cjs/components/switch.props.js.map +3 -3
  157. package/dist/cjs/components/tab-nav.d.ts.map +1 -1
  158. package/dist/cjs/components/tab-nav.js +1 -1
  159. package/dist/cjs/components/tab-nav.js.map +3 -3
  160. package/dist/cjs/components/tabs.d.ts.map +1 -1
  161. package/dist/cjs/components/tabs.js +1 -1
  162. package/dist/cjs/components/tabs.js.map +2 -2
  163. package/dist/cjs/components/text-area.d.ts.map +1 -1
  164. package/dist/cjs/components/text-area.js +1 -1
  165. package/dist/cjs/components/text-area.js.map +3 -3
  166. package/dist/cjs/components/text-area.props.d.ts +29 -0
  167. package/dist/cjs/components/text-area.props.d.ts.map +1 -1
  168. package/dist/cjs/components/text-area.props.js +1 -1
  169. package/dist/cjs/components/text-area.props.js.map +3 -3
  170. package/dist/cjs/components/text-field.d.ts.map +1 -1
  171. package/dist/cjs/components/text-field.js +4 -4
  172. package/dist/cjs/components/text-field.js.map +3 -3
  173. package/dist/cjs/components/text-field.props.d.ts +29 -0
  174. package/dist/cjs/components/text-field.props.d.ts.map +1 -1
  175. package/dist/cjs/components/text-field.props.js +1 -1
  176. package/dist/cjs/components/text-field.props.js.map +3 -3
  177. package/dist/cjs/components/text.props.d.ts +1 -1
  178. package/dist/cjs/components/theme.d.ts +3 -0
  179. package/dist/cjs/components/theme.d.ts.map +1 -1
  180. package/dist/cjs/components/theme.js +1 -1
  181. package/dist/cjs/components/theme.js.map +3 -3
  182. package/dist/cjs/components/theme.props.d.ts +14 -0
  183. package/dist/cjs/components/theme.props.d.ts.map +1 -1
  184. package/dist/cjs/components/theme.props.js +1 -1
  185. package/dist/cjs/components/theme.props.js.map +3 -3
  186. package/dist/cjs/components/toggle-button.d.ts +52 -0
  187. package/dist/cjs/components/toggle-button.d.ts.map +1 -1
  188. package/dist/cjs/components/toggle-button.js +1 -1
  189. package/dist/cjs/components/toggle-button.js.map +3 -3
  190. package/dist/cjs/components/toggle-icon-button.d.ts +84 -2
  191. package/dist/cjs/components/toggle-icon-button.d.ts.map +1 -1
  192. package/dist/cjs/components/toggle-icon-button.js +1 -1
  193. package/dist/cjs/components/toggle-icon-button.js.map +3 -3
  194. package/dist/cjs/hooks/index.d.ts +2 -0
  195. package/dist/cjs/hooks/index.d.ts.map +1 -0
  196. package/dist/cjs/hooks/index.js +2 -0
  197. package/dist/cjs/hooks/index.js.map +7 -0
  198. package/dist/cjs/hooks/use-live-announcer.d.ts +6 -0
  199. package/dist/cjs/hooks/use-live-announcer.d.ts.map +1 -0
  200. package/dist/cjs/hooks/use-live-announcer.js +10 -0
  201. package/dist/cjs/hooks/use-live-announcer.js.map +7 -0
  202. package/dist/cjs/index.d.ts +1 -0
  203. package/dist/cjs/index.d.ts.map +1 -1
  204. package/dist/cjs/index.js +1 -1
  205. package/dist/cjs/index.js.map +2 -2
  206. package/dist/cjs/props/weight.prop.d.ts +1 -1
  207. package/dist/cjs/props/weight.prop.js +1 -1
  208. package/dist/cjs/props/weight.prop.js.map +2 -2
  209. package/dist/esm/components/_internal/base-button.d.ts +36 -0
  210. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  211. package/dist/esm/components/_internal/base-button.js +1 -1
  212. package/dist/esm/components/_internal/base-button.js.map +3 -3
  213. package/dist/esm/components/_internal/base-button.props.d.ts +61 -0
  214. package/dist/esm/components/_internal/base-button.props.d.ts.map +1 -1
  215. package/dist/esm/components/_internal/base-button.props.js +1 -1
  216. package/dist/esm/components/_internal/base-button.props.js.map +3 -3
  217. package/dist/esm/components/_internal/base-checkbox.props.d.ts +6 -1
  218. package/dist/esm/components/_internal/base-checkbox.props.d.ts.map +1 -1
  219. package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
  220. package/dist/esm/components/_internal/base-checkbox.props.js.map +3 -3
  221. package/dist/esm/components/_internal/base-menu.props.d.ts +8 -0
  222. package/dist/esm/components/_internal/base-menu.props.d.ts.map +1 -1
  223. package/dist/esm/components/_internal/base-menu.props.js +1 -1
  224. package/dist/esm/components/_internal/base-menu.props.js.map +3 -3
  225. package/dist/esm/components/_internal/base-radio.props.d.ts +6 -1
  226. package/dist/esm/components/_internal/base-radio.props.d.ts.map +1 -1
  227. package/dist/esm/components/_internal/base-radio.props.js +1 -1
  228. package/dist/esm/components/_internal/base-radio.props.js.map +3 -3
  229. package/dist/esm/components/accordion.d.ts.map +1 -1
  230. package/dist/esm/components/accordion.js +1 -1
  231. package/dist/esm/components/accordion.js.map +3 -3
  232. package/dist/esm/components/accordion.props.d.ts +9 -0
  233. package/dist/esm/components/accordion.props.d.ts.map +1 -1
  234. package/dist/esm/components/accordion.props.js +1 -1
  235. package/dist/esm/components/accordion.props.js.map +2 -2
  236. package/dist/esm/components/alert-dialog.d.ts.map +1 -1
  237. package/dist/esm/components/alert-dialog.js +1 -1
  238. package/dist/esm/components/alert-dialog.js.map +3 -3
  239. package/dist/esm/components/alert-dialog.props.d.ts +69 -2
  240. package/dist/esm/components/alert-dialog.props.d.ts.map +1 -1
  241. package/dist/esm/components/alert-dialog.props.js +1 -1
  242. package/dist/esm/components/alert-dialog.props.js.map +3 -3
  243. package/dist/esm/components/avatar.d.ts.map +1 -1
  244. package/dist/esm/components/avatar.js +1 -1
  245. package/dist/esm/components/avatar.js.map +3 -3
  246. package/dist/esm/components/avatar.props.d.ts +9 -1
  247. package/dist/esm/components/avatar.props.d.ts.map +1 -1
  248. package/dist/esm/components/avatar.props.js +1 -1
  249. package/dist/esm/components/avatar.props.js.map +3 -3
  250. package/dist/esm/components/badge.d.ts +8 -1
  251. package/dist/esm/components/badge.d.ts.map +1 -1
  252. package/dist/esm/components/badge.js +1 -1
  253. package/dist/esm/components/badge.js.map +3 -3
  254. package/dist/esm/components/badge.props.d.ts +14 -6
  255. package/dist/esm/components/badge.props.d.ts.map +1 -1
  256. package/dist/esm/components/badge.props.js +1 -1
  257. package/dist/esm/components/badge.props.js.map +3 -3
  258. package/dist/esm/components/blockquote.props.d.ts +1 -1
  259. package/dist/esm/components/button.d.ts +53 -1
  260. package/dist/esm/components/button.d.ts.map +1 -1
  261. package/dist/esm/components/button.js +1 -1
  262. package/dist/esm/components/button.js.map +3 -3
  263. package/dist/esm/components/button.props.d.ts +17 -0
  264. package/dist/esm/components/button.props.d.ts.map +1 -1
  265. package/dist/esm/components/button.props.js.map +2 -2
  266. package/dist/esm/components/callout.d.ts +4 -0
  267. package/dist/esm/components/callout.d.ts.map +1 -1
  268. package/dist/esm/components/callout.js +1 -1
  269. package/dist/esm/components/callout.js.map +3 -3
  270. package/dist/esm/components/callout.props.d.ts +9 -1
  271. package/dist/esm/components/callout.props.d.ts.map +1 -1
  272. package/dist/esm/components/callout.props.js +1 -1
  273. package/dist/esm/components/callout.props.js.map +3 -3
  274. package/dist/esm/components/card.d.ts.map +1 -1
  275. package/dist/esm/components/card.js +1 -1
  276. package/dist/esm/components/card.js.map +3 -3
  277. package/dist/esm/components/card.props.d.ts +5 -0
  278. package/dist/esm/components/card.props.d.ts.map +1 -1
  279. package/dist/esm/components/card.props.js +1 -1
  280. package/dist/esm/components/card.props.js.map +3 -3
  281. package/dist/esm/components/checkbox-cards.d.ts.map +1 -1
  282. package/dist/esm/components/checkbox-cards.js +1 -1
  283. package/dist/esm/components/checkbox-cards.js.map +3 -3
  284. package/dist/esm/components/checkbox-cards.props.d.ts +2 -2
  285. package/dist/esm/components/checkbox-cards.props.js +1 -1
  286. package/dist/esm/components/checkbox-cards.props.js.map +2 -2
  287. package/dist/esm/components/checkbox-group.props.d.ts +6 -1
  288. package/dist/esm/components/checkbox-group.props.d.ts.map +1 -1
  289. package/dist/esm/components/checkbox.d.ts.map +1 -1
  290. package/dist/esm/components/checkbox.js +1 -1
  291. package/dist/esm/components/checkbox.js.map +3 -3
  292. package/dist/esm/components/code.js.map +1 -1
  293. package/dist/esm/components/code.props.d.ts +1 -1
  294. package/dist/esm/components/context-menu.d.ts +1 -1
  295. package/dist/esm/components/context-menu.d.ts.map +1 -1
  296. package/dist/esm/components/context-menu.js +1 -1
  297. package/dist/esm/components/context-menu.js.map +3 -3
  298. package/dist/esm/components/dialog.d.ts.map +1 -1
  299. package/dist/esm/components/dialog.js +1 -1
  300. package/dist/esm/components/dialog.js.map +3 -3
  301. package/dist/esm/components/dialog.props.d.ts +5 -0
  302. package/dist/esm/components/dialog.props.d.ts.map +1 -1
  303. package/dist/esm/components/dialog.props.js +1 -1
  304. package/dist/esm/components/dialog.props.js.map +3 -3
  305. package/dist/esm/components/dropdown-menu.d.ts +1 -1
  306. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  307. package/dist/esm/components/dropdown-menu.js +1 -1
  308. package/dist/esm/components/dropdown-menu.js.map +3 -3
  309. package/dist/esm/components/heading.props.d.ts +1 -1
  310. package/dist/esm/components/icon-button.d.ts +79 -1
  311. package/dist/esm/components/icon-button.d.ts.map +1 -1
  312. package/dist/esm/components/icon-button.js +4 -1
  313. package/dist/esm/components/icon-button.js.map +3 -3
  314. package/dist/esm/components/image.d.ts +131 -12
  315. package/dist/esm/components/image.d.ts.map +1 -1
  316. package/dist/esm/components/image.js +1 -1
  317. package/dist/esm/components/image.js.map +3 -3
  318. package/dist/esm/components/image.props.d.ts +136 -21
  319. package/dist/esm/components/image.props.d.ts.map +1 -1
  320. package/dist/esm/components/image.props.js +1 -1
  321. package/dist/esm/components/image.props.js.map +3 -3
  322. package/dist/esm/components/link.props.d.ts +1 -1
  323. package/dist/esm/components/progress.props.d.ts +2 -2
  324. package/dist/esm/components/progress.props.js +1 -1
  325. package/dist/esm/components/progress.props.js.map +2 -2
  326. package/dist/esm/components/radio-cards.d.ts.map +1 -1
  327. package/dist/esm/components/radio-cards.js +1 -1
  328. package/dist/esm/components/radio-cards.js.map +3 -3
  329. package/dist/esm/components/radio-cards.props.d.ts +2 -2
  330. package/dist/esm/components/radio-cards.props.js +1 -1
  331. package/dist/esm/components/radio-cards.props.js.map +2 -2
  332. package/dist/esm/components/radio.d.ts.map +1 -1
  333. package/dist/esm/components/radio.js +1 -1
  334. package/dist/esm/components/radio.js.map +3 -3
  335. package/dist/esm/components/segmented-control.props.d.ts +3 -3
  336. package/dist/esm/components/segmented-control.props.js +1 -1
  337. package/dist/esm/components/segmented-control.props.js.map +2 -2
  338. package/dist/esm/components/select.d.ts.map +1 -1
  339. package/dist/esm/components/select.js +1 -1
  340. package/dist/esm/components/select.js.map +3 -3
  341. package/dist/esm/components/select.props.d.ts +12 -0
  342. package/dist/esm/components/select.props.d.ts.map +1 -1
  343. package/dist/esm/components/select.props.js +1 -1
  344. package/dist/esm/components/select.props.js.map +2 -2
  345. package/dist/esm/components/sidebar.d.ts +5 -0
  346. package/dist/esm/components/sidebar.d.ts.map +1 -1
  347. package/dist/esm/components/sidebar.js +1 -1
  348. package/dist/esm/components/sidebar.js.map +3 -3
  349. package/dist/esm/components/slider.d.ts +5 -0
  350. package/dist/esm/components/slider.d.ts.map +1 -1
  351. package/dist/esm/components/slider.js +1 -1
  352. package/dist/esm/components/slider.js.map +3 -3
  353. package/dist/esm/components/slider.props.d.ts +10 -2
  354. package/dist/esm/components/slider.props.d.ts.map +1 -1
  355. package/dist/esm/components/slider.props.js +1 -1
  356. package/dist/esm/components/slider.props.js.map +2 -2
  357. package/dist/esm/components/switch.d.ts.map +1 -1
  358. package/dist/esm/components/switch.js +1 -1
  359. package/dist/esm/components/switch.js.map +3 -3
  360. package/dist/esm/components/switch.props.d.ts +17 -4
  361. package/dist/esm/components/switch.props.d.ts.map +1 -1
  362. package/dist/esm/components/switch.props.js +1 -1
  363. package/dist/esm/components/switch.props.js.map +3 -3
  364. package/dist/esm/components/tab-nav.d.ts.map +1 -1
  365. package/dist/esm/components/tab-nav.js +1 -1
  366. package/dist/esm/components/tab-nav.js.map +3 -3
  367. package/dist/esm/components/tabs.d.ts.map +1 -1
  368. package/dist/esm/components/tabs.js +1 -1
  369. package/dist/esm/components/tabs.js.map +2 -2
  370. package/dist/esm/components/text-area.d.ts.map +1 -1
  371. package/dist/esm/components/text-area.js +1 -1
  372. package/dist/esm/components/text-area.js.map +3 -3
  373. package/dist/esm/components/text-area.props.d.ts +29 -0
  374. package/dist/esm/components/text-area.props.d.ts.map +1 -1
  375. package/dist/esm/components/text-area.props.js +1 -1
  376. package/dist/esm/components/text-area.props.js.map +3 -3
  377. package/dist/esm/components/text-field.d.ts.map +1 -1
  378. package/dist/esm/components/text-field.js +4 -4
  379. package/dist/esm/components/text-field.js.map +3 -3
  380. package/dist/esm/components/text-field.props.d.ts +29 -0
  381. package/dist/esm/components/text-field.props.d.ts.map +1 -1
  382. package/dist/esm/components/text-field.props.js +1 -1
  383. package/dist/esm/components/text-field.props.js.map +3 -3
  384. package/dist/esm/components/text.props.d.ts +1 -1
  385. package/dist/esm/components/theme.d.ts +3 -0
  386. package/dist/esm/components/theme.d.ts.map +1 -1
  387. package/dist/esm/components/theme.js +1 -1
  388. package/dist/esm/components/theme.js.map +3 -3
  389. package/dist/esm/components/theme.props.d.ts +14 -0
  390. package/dist/esm/components/theme.props.d.ts.map +1 -1
  391. package/dist/esm/components/theme.props.js +1 -1
  392. package/dist/esm/components/theme.props.js.map +3 -3
  393. package/dist/esm/components/toggle-button.d.ts +52 -0
  394. package/dist/esm/components/toggle-button.d.ts.map +1 -1
  395. package/dist/esm/components/toggle-button.js +1 -1
  396. package/dist/esm/components/toggle-button.js.map +3 -3
  397. package/dist/esm/components/toggle-icon-button.d.ts +84 -2
  398. package/dist/esm/components/toggle-icon-button.d.ts.map +1 -1
  399. package/dist/esm/components/toggle-icon-button.js +1 -1
  400. package/dist/esm/components/toggle-icon-button.js.map +3 -3
  401. package/dist/esm/hooks/index.d.ts +2 -0
  402. package/dist/esm/hooks/index.d.ts.map +1 -0
  403. package/dist/esm/hooks/index.js +2 -0
  404. package/dist/esm/hooks/index.js.map +7 -0
  405. package/dist/esm/hooks/use-live-announcer.d.ts +6 -0
  406. package/dist/esm/hooks/use-live-announcer.d.ts.map +1 -0
  407. package/dist/esm/hooks/use-live-announcer.js +10 -0
  408. package/dist/esm/hooks/use-live-announcer.js.map +7 -0
  409. package/dist/esm/index.d.ts +1 -0
  410. package/dist/esm/index.d.ts.map +1 -1
  411. package/dist/esm/index.js +1 -1
  412. package/dist/esm/index.js.map +2 -2
  413. package/dist/esm/props/weight.prop.d.ts +1 -1
  414. package/dist/esm/props/weight.prop.js +1 -1
  415. package/dist/esm/props/weight.prop.js.map +2 -2
  416. package/layout/components.css +1 -0
  417. package/layout.css +1 -0
  418. package/package.json +2 -1
  419. package/src/components/_internal/base-button.css +483 -284
  420. package/src/components/_internal/base-button.props.ts +87 -0
  421. package/src/components/_internal/base-button.tsx +127 -10
  422. package/src/components/_internal/base-card.css +866 -83
  423. package/src/components/_internal/base-checkbox.css +252 -52
  424. package/src/components/_internal/base-checkbox.props.ts +4 -1
  425. package/src/components/_internal/base-dialog.css +39 -8
  426. package/src/components/_internal/base-menu.css +55 -32
  427. package/src/components/_internal/base-menu.props.ts +10 -0
  428. package/src/components/_internal/base-radio.css +222 -52
  429. package/src/components/_internal/base-radio.props.ts +4 -1
  430. package/src/components/_internal/base-tab-list.css +16 -0
  431. package/src/components/accordion.css +465 -62
  432. package/src/components/accordion.props.tsx +6 -0
  433. package/src/components/accordion.tsx +54 -7
  434. package/src/components/alert-dialog.props.tsx +22 -2
  435. package/src/components/alert-dialog.tsx +94 -3
  436. package/src/components/avatar.css +294 -152
  437. package/src/components/avatar.props.tsx +7 -1
  438. package/src/components/avatar.tsx +12 -2
  439. package/src/components/badge.css +160 -138
  440. package/src/components/badge.props.tsx +10 -3
  441. package/src/components/badge.tsx +71 -9
  442. package/src/components/button.css +88 -0
  443. package/src/components/button.props.tsx +17 -0
  444. package/src/components/button.tsx +107 -5
  445. package/src/components/callout.css +122 -35
  446. package/src/components/callout.props.tsx +7 -1
  447. package/src/components/callout.tsx +32 -9
  448. package/src/components/card.css +0 -597
  449. package/src/components/card.props.tsx +3 -0
  450. package/src/components/card.tsx +4 -2
  451. package/src/components/checkbox-cards.css +27 -104
  452. package/src/components/checkbox-cards.props.tsx +2 -2
  453. package/src/components/checkbox-cards.tsx +21 -3
  454. package/src/components/checkbox.tsx +2 -0
  455. package/src/components/code.css +1 -1
  456. package/src/components/code.tsx +1 -1
  457. package/src/components/container.css +1 -0
  458. package/src/components/context-menu.tsx +54 -12
  459. package/src/components/dialog.props.tsx +3 -0
  460. package/src/components/dialog.tsx +93 -3
  461. package/src/components/dropdown-menu.tsx +49 -12
  462. package/src/components/icon-button.css +73 -4
  463. package/src/components/icon-button.tsx +125 -19
  464. package/src/components/image.css +160 -91
  465. package/src/components/image.props.ts +152 -15
  466. package/src/components/image.tsx +290 -247
  467. package/src/components/kbd.css +23 -44
  468. package/src/components/progress.css +130 -149
  469. package/src/components/progress.props.tsx +2 -2
  470. package/src/components/radio-cards.css +23 -113
  471. package/src/components/radio-cards.props.tsx +2 -2
  472. package/src/components/radio-cards.tsx +45 -18
  473. package/src/components/radio.tsx +4 -3
  474. package/src/components/scroll-area.css +1 -1
  475. package/src/components/segmented-control.css +83 -64
  476. package/src/components/segmented-control.props.tsx +3 -3
  477. package/src/components/select.css +502 -224
  478. package/src/components/select.props.tsx +8 -0
  479. package/src/components/select.tsx +45 -2
  480. package/src/components/sidebar.css +17 -6
  481. package/src/components/sidebar.tsx +61 -5
  482. package/src/components/slider.css +228 -88
  483. package/src/components/slider.props.tsx +6 -2
  484. package/src/components/slider.tsx +201 -24
  485. package/src/components/spinner.css +12 -0
  486. package/src/components/switch.css +135 -216
  487. package/src/components/switch.props.tsx +16 -4
  488. package/src/components/switch.tsx +5 -3
  489. package/src/components/tab-nav.tsx +6 -3
  490. package/src/components/tabs.tsx +2 -0
  491. package/src/components/text-area.css +222 -140
  492. package/src/components/text-area.props.tsx +18 -1
  493. package/src/components/text-area.tsx +58 -7
  494. package/src/components/text-field.css +214 -131
  495. package/src/components/text-field.props.tsx +17 -0
  496. package/src/components/text-field.tsx +79 -28
  497. package/src/components/theme.props.tsx +12 -0
  498. package/src/components/theme.tsx +31 -1
  499. package/src/components/toggle-button.tsx +102 -3
  500. package/src/components/toggle-icon-button.tsx +150 -7
  501. package/src/components/tooltip.css +3 -3
  502. package/src/hooks/index.ts +1 -0
  503. package/src/hooks/use-live-announcer.ts +52 -0
  504. package/src/index.ts +1 -0
  505. package/src/props/weight.prop.ts +1 -1
  506. package/src/styles/fonts.css +27 -13
  507. package/src/styles/index.css +1 -1
  508. package/src/styles/tokens/base.css +2 -0
  509. package/src/styles/tokens/blur.css +32 -0
  510. package/src/styles/tokens/color.css +9 -9
  511. package/src/styles/tokens/constants.css +88 -140
  512. package/src/styles/tokens/index.css +2 -0
  513. package/src/styles/tokens/opacity.css +32 -0
  514. package/src/styles/tokens/radius.css +6 -10
  515. package/src/styles/tokens/shadow.css +25 -25
  516. package/src/styles/tokens/transition.css +49 -13
  517. package/src/styles/tokens/typography.css +7 -3
  518. package/src/styles/utilities/font-weight.css +16 -0
  519. package/styles.css +10689 -8708
  520. package/tokens/base.css +127 -49
  521. package/tokens.css +158 -114
  522. package/utilities.css +72 -0
@@ -1,37 +1,191 @@
1
1
  /* Accordion Root */
2
2
  .rt-AccordionRoot {
3
- border-radius: var(--radius-3);
4
3
  overflow: hidden;
4
+ contain: layout;
5
+ isolation: isolate;
6
+
7
+ /* Theme-level translucent override */
8
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
9
+ backdrop-filter: var(--backdrop-filter-components);
10
+ --backdrop-filter-components: blur(var(--backdrop-blur-components));
11
+ }
12
+
13
+ /* Prevent backdrop-filter stacking with parents */
14
+ isolation: isolate;
15
+
16
+ /* Component-level overrides */
17
+ &:where([data-panel-background='solid'], [data-material='solid']) {
18
+ backdrop-filter: none;
19
+ --backdrop-filter-components: none;
20
+ }
21
+
22
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
23
+ backdrop-filter: var(--backdrop-filter-components);
24
+ --backdrop-filter-components: blur(var(--backdrop-blur-components));
25
+ }
26
+ }
27
+
28
+ /* Size-specific border radius to match button */
29
+ @breakpoints {
30
+ .rt-AccordionRoot {
31
+ &:where(.rt-r-size-1) {
32
+ border-radius: var(--radius-2);
33
+ }
34
+ &:where(.rt-r-size-2) {
35
+ border-radius: var(--radius-3);
36
+ }
37
+ &:where(.rt-r-size-3) {
38
+ border-radius: var(--radius-4);
39
+ }
40
+ &:where(.rt-r-size-4) {
41
+ border-radius: var(--radius-5);
42
+ }
43
+ }
5
44
  }
6
45
 
7
46
  :where(.rt-AccordionRoot:where(.rt-variant-surface)) {
8
- background-color: var(--color-surface);
9
- box-shadow: inset 0 0 0 1px var(--gray-a6);
47
+ /* Base state: solid accent for solid panels */
48
+ background-color: var(--accent-2);
49
+ box-shadow: inset 0 0 0 1px var(--accent-6);
50
+ transition: var(--transition-background-blur);
51
+
52
+ /* Theme-level translucent override */
53
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
54
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
55
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
56
+ backdrop-filter: var(--backdrop-filter-components);
57
+ }
58
+
59
+ /* Component-level overrides (higher specificity) */
60
+ &:where([data-panel-background='solid'], [data-material='solid']) {
61
+ background-color: var(--accent-2);
62
+ box-shadow: inset 0 0 0 1px var(--accent-6);
63
+ backdrop-filter: none;
64
+ --backdrop-filter-components: none;
65
+ }
66
+
67
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
68
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
69
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
70
+ backdrop-filter: var(--backdrop-filter-components);
71
+ --backdrop-filter-components: blur(var(--backdrop-blur-components));
72
+ }
10
73
  }
11
74
 
12
75
  :where(.rt-AccordionRoot:where(.rt-variant-classic)) {
13
- background-color: var(--color-surface);
14
- box-shadow: var(--classic-inset-shadow-light);
76
+ /* Base state: solid surface for solid panels */
77
+ background-color: var(--color-surface-solid);
78
+ box-shadow: var(--shadow-2);
79
+ transition: var(--transition-text-field);
80
+
81
+ /* Theme-level translucent override */
82
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
83
+ background-color: var(--color-surface-translucent);
84
+ backdrop-filter: var(--backdrop-filter-components);
85
+ }
86
+
87
+ /* Component-level overrides (higher specificity) */
88
+ &:where([data-panel-background='solid'], [data-material='solid']) {
89
+ background-color: var(--color-surface-solid);
90
+ backdrop-filter: none;
91
+ --backdrop-filter-components: none;
92
+ }
93
+
94
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
95
+ background-color: var(--color-surface-translucent);
96
+ backdrop-filter: var(--backdrop-filter-components);
97
+ --backdrop-filter-components: blur(var(--backdrop-blur-components));
98
+ }
15
99
  }
16
100
 
17
101
  :where(.rt-AccordionRoot:where(.rt-variant-soft)) {
18
- background-color: var(--accent-a3);
102
+ /* Base state: solid color for solid panels */
103
+ background-color: var(--accent-2);
104
+ transition: var(--transition-background-blur);
105
+
106
+ /* Theme-level translucent override */
107
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
108
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
109
+ backdrop-filter: var(--backdrop-filter-components);
110
+ }
111
+
112
+ /* Component-level overrides (higher specificity) */
113
+ &:where([data-panel-background='solid'], [data-material='solid']) {
114
+ background-color: var(--accent-2);
115
+ backdrop-filter: none;
116
+ --backdrop-filter-components: none;
117
+ }
118
+
119
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
120
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
121
+ backdrop-filter: var(--backdrop-filter-components);
122
+ --backdrop-filter-components: blur(var(--backdrop-blur-components));
123
+ }
19
124
  }
20
125
 
21
126
  :where(.rt-AccordionRoot:where(.rt-variant-outline)) {
22
- box-shadow: inset 0 0 0 1px var(--gray-a7);
127
+ /* Base state: solid colors for solid panels */
128
+ box-shadow: inset 0 0 0 1px var(--accent-6);
129
+ transition: var(--transition-background-blur);
130
+
131
+ /* Theme-level translucent override */
132
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
133
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
134
+ }
135
+
136
+ /* Component-level overrides (higher specificity) */
137
+ &:where([data-panel-background='solid'], [data-material='solid']) {
138
+ box-shadow: inset 0 0 0 1px var(--accent-6);
139
+ backdrop-filter: none;
140
+ --backdrop-filter-components: none;
141
+ }
142
+
143
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
144
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
145
+ backdrop-filter: var(--backdrop-filter-components);
146
+ --backdrop-filter-components: blur(var(--backdrop-blur-components));
147
+ }
23
148
  }
24
149
 
25
150
  :where(.rt-AccordionRoot:where(.rt-variant-ghost)) {
26
151
  background-color: transparent;
27
152
  }
28
153
 
29
- /* Panel background support */
30
- :where(.rt-AccordionRoot[data-panel-background="translucent"]) {
31
- background-color: color-mix(in srgb, var(--color-panel-translucent), transparent var(--panel-opacity-light));
32
- backdrop-filter: var(--backdrop-blur-panel);
154
+ /* Ghost variant flush support */
155
+ :where(.rt-AccordionRoot:where(.rt-variant-ghost)[data-flush='true']) {
156
+ /* We reset the defined margin variables to avoid inheriting them from a higher component */
157
+ /* If a margin IS defined on the component itself, the utility class will win and reset it */
158
+ --margin-top: 0px;
159
+ --margin-right: 0px;
160
+ --margin-bottom: 0px;
161
+ --margin-left: 0px;
162
+
163
+ /* Calculate padding values for different accordion sizes */
164
+ --accordion-padding-x: calc(var(--space-4) * var(--padding-ratio-horizontal) / 4);
165
+ --accordion-padding-y: calc(var(--space-3) / 8);
166
+
167
+ /* Define the overrides to incorporate the negative margins */
168
+ --margin-top-override: calc(var(--margin-top) - var(--accordion-padding-y));
169
+ --margin-right-override: calc(var(--margin-right) - var(--accordion-padding-x));
170
+ --margin-bottom-override: calc(var(--margin-bottom) - var(--accordion-padding-y));
171
+ --margin-left-override: calc(var(--margin-left) - var(--accordion-padding-x));
172
+
173
+ margin-top: var(--margin-top-override);
174
+ margin-right: var(--margin-right-override);
175
+ margin-bottom: var(--margin-bottom-override);
176
+ margin-left: var(--margin-left-override);
177
+
178
+ /* Reset the overrides on direct children */
179
+ :where(&) > * {
180
+ --margin-top-override: initial;
181
+ --margin-right-override: initial;
182
+ --margin-bottom-override: initial;
183
+ --margin-left-override: initial;
184
+ }
33
185
  }
34
186
 
187
+
188
+
35
189
  /* Accordion Item */
36
190
  .rt-AccordionItem {
37
191
  overflow: hidden;
@@ -64,7 +218,10 @@
64
218
  line-height: var(--line-height-3);
65
219
  color: var(--gray-12);
66
220
  cursor: pointer;
67
- transition: var(--transition-standard);
221
+ transition: var(--transition-accordion-trigger);
222
+ /* GPU acceleration hints */
223
+ backface-visibility: hidden;
224
+ -webkit-backface-visibility: hidden;
68
225
  }
69
226
 
70
227
  /* Size variants */
@@ -91,14 +248,172 @@
91
248
  /* Trigger hover states */
92
249
  :where(.rt-AccordionTrigger:hover) {
93
250
  background-color: var(--gray-a3);
251
+ transform: translateY(-1px);
252
+ /* GPU acceleration hints */
253
+ backface-visibility: hidden;
254
+ -webkit-backface-visibility: hidden;
255
+ }
256
+
257
+ :where(.rt-AccordionTrigger:active) {
258
+ transform: translateY(0px) scale(0.98);
259
+ transition: var(--transition-accordion-trigger-active);
260
+ }
261
+
262
+ /* Soft variant trigger color support */
263
+ :where(.rt-AccordionRoot:where(.rt-variant-soft)) .rt-AccordionTrigger {
264
+ color: var(--accent-a11);
265
+ }
266
+
267
+ :where(.rt-AccordionRoot:where(.rt-variant-soft.rt-high-contrast)) .rt-AccordionTrigger {
268
+ color: var(--accent-12);
269
+ }
270
+
271
+ /* Outline variant trigger color support */
272
+ :where(.rt-AccordionRoot:where(.rt-variant-outline)) .rt-AccordionTrigger {
273
+ color: var(--accent-11);
274
+ }
275
+
276
+ :where(.rt-AccordionRoot:where(.rt-variant-outline.rt-high-contrast)) .rt-AccordionTrigger {
277
+ color: var(--accent-12);
278
+ }
279
+
280
+ /* Surface variant trigger color support */
281
+ :where(.rt-AccordionRoot:where(.rt-variant-surface)) .rt-AccordionTrigger {
282
+ color: var(--accent-a11);
283
+ }
284
+
285
+ :where(.rt-AccordionRoot:where(.rt-variant-surface.rt-high-contrast)) .rt-AccordionTrigger {
286
+ color: var(--accent-12);
287
+ }
288
+
289
+ /* Ghost variant trigger color support */
290
+ :where(.rt-AccordionRoot:where(.rt-variant-ghost)) .rt-AccordionTrigger {
291
+ color: var(--accent-a11);
292
+ }
293
+
294
+ :where(.rt-AccordionRoot:where(.rt-variant-ghost.rt-high-contrast)) .rt-AccordionTrigger {
295
+ color: var(--accent-12);
296
+ }
297
+
298
+ /* Classic variant trigger color support */
299
+ :where(.rt-AccordionRoot:where(.rt-variant-classic)) .rt-AccordionTrigger {
300
+ color: var(--accent-a11);
301
+ }
302
+
303
+ :where(.rt-AccordionRoot:where(.rt-variant-classic.rt-high-contrast)) .rt-AccordionTrigger {
304
+ color: var(--accent-12);
305
+ }
306
+
307
+ /* Classic variant shadow states */
308
+ :where(.rt-AccordionRoot:where(.rt-variant-classic):hover) {
309
+ background-color: var(--accent-2);
310
+ box-shadow: var(--shadow-2);
311
+
312
+ /* Theme-level translucent override for hover */
313
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
314
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
315
+ }
316
+
317
+ /* Component-level overrides for hover */
318
+ &:where([data-panel-background='solid'], [data-material='solid']) {
319
+ background-color: var(--accent-2);
320
+ }
321
+
322
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
323
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
324
+ }
325
+ }
326
+
327
+ :where(.rt-AccordionRoot:where(.rt-variant-classic):focus-within) {
328
+ outline: 2px solid var(--focus-8);
329
+ outline-offset: 2px;
330
+ transition: var(--transition-text-field);
94
331
  }
95
332
 
96
333
  :where(.rt-AccordionRoot:where(.rt-variant-soft)) :where(.rt-AccordionTrigger:hover) {
97
- background-color: var(--accent-a4);
334
+ background-color: var(--accent-4);
335
+
336
+ /* Theme-level translucent override for hover */
337
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
338
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
339
+ }
340
+
341
+ /* Component-level overrides for hover */
342
+ &:where([data-panel-background='solid'], [data-material='solid']) {
343
+ background-color: var(--accent-4);
344
+ }
345
+
346
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
347
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
348
+ }
349
+ }
350
+
351
+ :where(.rt-AccordionRoot:where(.rt-variant-outline)) :where(.rt-AccordionTrigger:hover) {
352
+ background-color: var(--accent-2);
353
+ box-shadow: inset 0 0 0 1px var(--accent-7);
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-a2), var(--accent-2) 60%);
358
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
359
+ }
360
+
361
+ /* Component-level overrides for hover */
362
+ &:where([data-panel-background='solid'], [data-material='solid']) {
363
+ background-color: var(--accent-2);
364
+ box-shadow: inset 0 0 0 1px var(--accent-7);
365
+ }
366
+
367
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
368
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
369
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
370
+ }
371
+ }
372
+
373
+ :where(.rt-AccordionRoot:where(.rt-variant-surface)) :where(.rt-AccordionTrigger:hover) {
374
+ background-color: var(--accent-3);
375
+ box-shadow: inset 0 0 0 1px var(--accent-7);
376
+
377
+ /* Theme-level translucent override for hover */
378
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
379
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
380
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
381
+ }
382
+
383
+ /* Component-level overrides for hover */
384
+ &:where([data-panel-background='solid'], [data-material='solid']) {
385
+ background-color: var(--accent-3);
386
+ box-shadow: inset 0 0 0 1px var(--accent-7);
387
+ }
388
+
389
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
390
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
391
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
392
+ }
98
393
  }
99
394
 
100
395
  :where(.rt-AccordionRoot:where(.rt-variant-ghost)) :where(.rt-AccordionTrigger:hover) {
101
- background-color: var(--gray-a2);
396
+ /* Base state: solid accent for solid panels */
397
+ background-color: var(--accent-3);
398
+
399
+ /* Theme-level translucent override for hover */
400
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
401
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
402
+ }
403
+
404
+ /* Component-level overrides for hover */
405
+ &:where([data-panel-background='solid'], [data-material='solid']) {
406
+ background-color: var(--accent-3);
407
+ }
408
+
409
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
410
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
411
+ }
412
+
413
+ /* Disable backdrop-filter when inside elements that already have backdrop-filter */
414
+ /* :where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
415
+ backdrop-filter: none !important;
416
+ } */
102
417
  }
103
418
 
104
419
  /* Trigger focus states */
@@ -107,13 +422,39 @@
107
422
  outline-offset: var(--focus-outline-offset-inset);
108
423
  }
109
424
 
425
+ /* Variant-specific focus styles */
426
+ :where(.rt-AccordionRoot:where(.rt-variant-soft):focus-within) {
427
+ outline: 2px solid var(--focus-8);
428
+ outline-offset: 2px;
429
+ }
430
+
431
+ :where(.rt-AccordionRoot:where(.rt-variant-surface):focus-within) {
432
+ outline: 2px solid var(--focus-8);
433
+ outline-offset: 2px;
434
+ }
435
+
436
+ :where(.rt-AccordionRoot:where(.rt-variant-outline):focus-within) {
437
+ outline: 2px solid var(--focus-8);
438
+ outline-offset: 2px;
439
+ }
440
+
441
+ :where(.rt-AccordionRoot:where(.rt-variant-ghost):focus-within) {
442
+ outline: 2px solid var(--focus-8);
443
+ outline-offset: 2px;
444
+ }
445
+
110
446
  /* Accordion Content */
111
447
  .rt-AccordionContent {
112
448
  overflow: hidden;
113
449
  /* remove padding here */
114
450
  font-size: var(--font-size-2);
115
- color: var(--gray-11);
451
+ color: var(--accent-a11);
116
452
  line-height: var(--line-height-4);
453
+ transform-origin: top;
454
+ /* GPU acceleration hints */
455
+ will-change: height, opacity, transform;
456
+ backface-visibility: hidden;
457
+ -webkit-backface-visibility: hidden;
117
458
  }
118
459
 
119
460
  .rt-AccordionContentInner {
@@ -143,38 +484,46 @@
143
484
 
144
485
  /* Content animations */
145
486
  :where(.rt-AccordionContent[data-state="open"]) {
146
- animation: rt-slide-down var(--duration-2) var(--ease-1);
487
+ animation: rt-slide-down var(--duration-spring-2) var(--ease-spring-1);
147
488
  }
148
489
 
149
490
  :where(.rt-AccordionContent[data-state="closed"]) {
150
- animation: rt-slide-up var(--duration-2) var(--ease-1);
491
+ animation: rt-slide-up var(--duration-spring-1) var(--ease-spring-1);
151
492
  }
152
493
 
153
494
  @keyframes rt-slide-down {
154
- from {
495
+ 0% {
155
496
  height: 0;
497
+ opacity: 0;
498
+ transform: translateY(-4px) scaleY(0.98);
156
499
  }
157
- to {
500
+ 100% {
158
501
  height: var(--radix-accordion-content-height);
502
+ opacity: 1;
503
+ transform: translateY(0) scaleY(1);
159
504
  }
160
505
  }
161
506
 
162
507
  @keyframes rt-slide-up {
163
- from {
508
+ 0% {
164
509
  height: var(--radix-accordion-content-height);
510
+ opacity: 1;
511
+ transform: translateY(0) scaleY(1);
165
512
  }
166
- to {
513
+ 100% {
167
514
  height: 0;
515
+ opacity: 0;
516
+ transform: translateY(-4px) scaleY(0.98);
168
517
  }
169
518
  }
170
519
 
171
520
  /* High contrast mode */
172
521
  :where(.rt-AccordionRoot[data-high-contrast]) .rt-AccordionTrigger {
173
- color: var(--gray-12);
522
+ color: var(--accent-12);
174
523
  }
175
524
 
176
525
  :where(.rt-AccordionRoot[data-high-contrast]) .rt-AccordionContent {
177
- color: var(--gray-12);
526
+ color: var(--accent-12);
178
527
  }
179
528
 
180
529
  /* Color accent support */
@@ -182,54 +531,112 @@
182
531
  background-color: var(--accent-a4);
183
532
  }
184
533
 
534
+ /* Color accent support for content */
535
+ :where(.rt-AccordionRoot[data-accent-color]) .rt-AccordionContent {
536
+ color: var(--accent-a11);
537
+ }
538
+
539
+ :where(.rt-AccordionRoot[data-accent-color].rt-high-contrast) .rt-AccordionContent {
540
+ color: var(--accent-12);
541
+ }
542
+
185
543
  /* Reduced motion */
186
544
  @media (prefers-reduced-motion: reduce) {
187
545
  :where(.rt-AccordionContent[data-state="open"]),
188
546
  :where(.rt-AccordionContent[data-state="closed"]) {
189
547
  animation: none;
190
548
  }
191
- }
192
-
193
- /* Soft variant detailed styling */
194
- .rt-AccordionRoot:where(.rt-variant-soft) {
195
- background-color: var(--accent-3);
196
- color: var(--accent-12);
197
- transition: var(--transition-background-blur);
198
549
  }
199
550
 
200
- /* Theme-level translucent override (root Theme sets data-panel-background on children) */
201
- :where([data-panel-background='translucent']) .rt-AccordionRoot:where(.rt-variant-soft) {
202
- background-color: var(--accent-a3);
203
- backdrop-filter: var(--backdrop-filter-components);
204
- }
205
-
206
- /* Component-level overrides */
207
- .rt-AccordionRoot:where(.rt-variant-soft[data-panel-background='solid']) {
208
- background-color: var(--accent-3);
209
- backdrop-filter: none;
551
+ /* Safari backdrop-filter fallback */
552
+ @supports not (backdrop-filter: blur(1px)) {
553
+ :where(.rt-AccordionRoot[data-material='translucent']) {
554
+ background-color: var(--accent-2);
555
+ }
556
+
557
+ :where(.rt-AccordionRoot[data-material='translucent']) :where(.rt-AccordionTrigger:hover) {
558
+ background-color: var(--accent-4);
559
+ }
210
560
  }
211
561
 
212
- .rt-AccordionRoot:where(.rt-variant-soft[data-panel-background='translucent']) {
213
- background-color: var(--accent-a3);
214
- backdrop-filter: var(--backdrop-filter-components);
215
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
216
- }
562
+ /* Forced colors support */
563
+ @media (forced-colors: active) {
564
+ :where(.rt-AccordionTrigger) {
565
+ border: 1px solid CanvasText;
566
+ }
567
+
568
+ :where(.rt-AccordionTrigger:focus-visible) {
569
+ outline: 2px solid CanvasText;
570
+ outline-offset: 2px;
571
+ }
572
+
573
+ :where(.rt-AccordionItem:not(:last-child)) {
574
+ border-bottom: 1px solid CanvasText;
575
+ }
576
+
577
+ :where(.rt-AccordionRoot) {
578
+ border: 1px solid CanvasText;
579
+ }
580
+
581
+ :where(.rt-AccordionRoot[data-material='translucent']) {
582
+ background-color: Canvas;
583
+ backdrop-filter: none;
584
+ }
585
+ }
217
586
 
218
- /* Adjusted hover selectors to lower specificity */
587
+ /* Soft variant hover states */
219
588
  @media (hover: hover) {
220
589
  :where(.rt-AccordionRoot.rt-variant-soft:hover) {
221
590
  background-color: var(--accent-4);
222
591
  }
223
- :where([data-panel-background='translucent']) :where(.rt-AccordionRoot.rt-variant-soft:hover) {
224
- background-color: var(--accent-a4);
592
+ :where([data-panel-background='translucent'], [data-material='translucent']) :where(.rt-AccordionRoot.rt-variant-soft:hover) {
593
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
225
594
  }
226
- :where(.rt-AccordionRoot.rt-variant-soft[data-panel-background='solid']:hover) {
595
+ :where(.rt-AccordionRoot.rt-variant-soft[data-panel-background='solid'], .rt-AccordionRoot.rt-variant-soft[data-material='solid']:hover) {
227
596
  background-color: var(--accent-4);
228
- backdrop-filter: none;
229
597
  }
230
- :where(.rt-AccordionRoot.rt-variant-soft[data-panel-background='translucent']:hover) {
231
- background-color: var(--accent-a4);
232
- backdrop-filter: var(--backdrop-filter-components);
598
+ :where(.rt-AccordionRoot.rt-variant-soft[data-panel-background='translucent'], .rt-AccordionRoot.rt-variant-soft[data-material='translucent']:hover) {
599
+ background-color: color-mix(in srgb, var(--accent-a4), var(--accent-4) 60%);
600
+ }
601
+ }
602
+
603
+ /* Outline variant hover states */
604
+ @media (hover: hover) {
605
+ :where(.rt-AccordionRoot.rt-variant-outline:hover) {
606
+ background-color: var(--accent-2);
607
+ box-shadow: inset 0 0 0 1px var(--accent-7);
608
+ }
609
+ :where([data-panel-background='translucent'], [data-material='translucent']) :where(.rt-AccordionRoot.rt-variant-outline:hover) {
610
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
611
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
612
+ }
613
+ :where(.rt-AccordionRoot.rt-variant-outline[data-panel-background='solid'], .rt-AccordionRoot.rt-variant-outline[data-material='solid']:hover) {
614
+ background-color: var(--accent-2);
615
+ box-shadow: inset 0 0 0 1px var(--accent-7);
616
+ }
617
+ :where(.rt-AccordionRoot.rt-variant-outline[data-panel-background='translucent'], .rt-AccordionRoot.rt-variant-outline[data-material='translucent']:hover) {
618
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
619
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
620
+ }
621
+ }
622
+
623
+ /* Surface variant hover states */
624
+ @media (hover: hover) {
625
+ :where(.rt-AccordionRoot.rt-variant-surface:hover) {
626
+ background-color: var(--accent-3);
627
+ box-shadow: inset 0 0 0 1px var(--accent-7);
628
+ }
629
+ :where([data-panel-background='translucent'], [data-material='translucent']) :where(.rt-AccordionRoot.rt-variant-surface:hover) {
630
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
631
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
632
+ }
633
+ :where(.rt-AccordionRoot.rt-variant-surface[data-panel-background='solid'], .rt-AccordionRoot.rt-variant-surface[data-material='solid']:hover) {
634
+ background-color: var(--accent-3);
635
+ box-shadow: inset 0 0 0 1px var(--accent-7);
636
+ }
637
+ :where(.rt-AccordionRoot.rt-variant-surface[data-panel-background='translucent'], .rt-AccordionRoot.rt-variant-surface[data-material='translucent']:hover) {
638
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
639
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
233
640
  }
234
641
  }
235
642
 
@@ -238,17 +645,13 @@
238
645
  :where(.rt-AccordionRoot.rt-variant-ghost:hover) {
239
646
  background-color: var(--accent-2);
240
647
  }
241
- :where([data-panel-background='translucent']) :where(.rt-AccordionRoot.rt-variant-ghost:hover) {
242
- background-color: var(--accent-a2);
243
- backdrop-filter: var(--backdrop-filter-components);
648
+ :where([data-panel-background='translucent'], [data-material='translucent']) :where(.rt-AccordionRoot.rt-variant-ghost:hover) {
649
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
244
650
  }
245
- :where(.rt-AccordionRoot.rt-variant-ghost[data-panel-background='solid']:hover) {
651
+ :where(.rt-AccordionRoot.rt-variant-ghost[data-panel-background='solid'], .rt-AccordionRoot.rt-variant-ghost[data-material='solid']:hover) {
246
652
  background-color: var(--accent-2);
247
- backdrop-filter: none;
248
653
  }
249
- :where(.rt-AccordionRoot.rt-variant-ghost[data-panel-background='translucent']:hover) {
250
- background-color: var(--accent-a2);
251
- backdrop-filter: var(--backdrop-filter-components);
252
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
654
+ :where(.rt-AccordionRoot.rt-variant-ghost[data-panel-background='translucent'], .rt-AccordionRoot.rt-variant-ghost[data-material='translucent']:hover) {
655
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
253
656
  }
254
657
  }
@@ -16,11 +16,16 @@ const accordionRootPropDefs = {
16
16
  ...colorPropDef,
17
17
  ...highContrastPropDef,
18
18
  ...radiusPropDef,
19
+ material: { type: 'enum', values: panelBackgrounds, default: undefined },
20
+ /**
21
+ * @deprecated Use `material` prop instead. This prop will be removed in a future version.
22
+ */
19
23
  panelBackground: { type: 'enum', values: panelBackgrounds, default: undefined },
20
24
  flush: { type: 'boolean', default: false },
21
25
  } satisfies {
22
26
  size: PropDef<(typeof sizes)[number]>;
23
27
  variant: PropDef<(typeof variants)[number]>;
28
+ material: PropDef<(typeof panelBackgrounds)[number] | undefined>;
24
29
  panelBackground: PropDef<(typeof panelBackgrounds)[number] | undefined>;
25
30
  flush: PropDef<boolean>;
26
31
  };
@@ -63,6 +68,7 @@ export type AccordionRootOwnProps = {
63
68
  color?: string;
64
69
  highContrast?: boolean;
65
70
  radius?: string;
71
+ material?: (typeof panelBackgrounds)[number];
66
72
  panelBackground?: (typeof panelBackgrounds)[number];
67
73
  flush?: boolean;
68
74
  };