@kushagradhawan/kookie-ui 0.1.29 → 0.1.31

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
@@ -15,6 +15,28 @@
15
15
  border-radius: var(--skeleton-radius);
16
16
  --skeleton-radius-override: var(--checkbox-border-radius);
17
17
 
18
+
19
+ /* Theme-level translucent override */
20
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
21
+ backdrop-filter: var(--backdrop-filter-components);
22
+ --backdrop-filter-components: blur(var(--backdrop-blur-components));
23
+ }
24
+
25
+ /* Prevent backdrop-filter stacking with parents */
26
+ isolation: isolate;
27
+
28
+ /* Component-level overrides */
29
+ &:where([data-panel-background='solid'], [data-material='solid']) {
30
+ backdrop-filter: none;
31
+ --backdrop-filter-components: none;
32
+ }
33
+
34
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
35
+ backdrop-filter: var(--backdrop-filter-components);
36
+ --backdrop-filter-components: blur(var(--backdrop-blur-components));
37
+ }
38
+
39
+
18
40
  &::before {
19
41
  content: '';
20
42
  display: block;
@@ -81,14 +103,15 @@
81
103
  .rt-BaseCheckboxRoot:where(.rt-variant-solid) {
82
104
  &:where([data-state='unchecked']) {
83
105
  &::before {
84
- background-color: var(--color-surface);
85
- box-shadow: inset 0 0 0 var(--border-width-inset) var(--gray-a7);
106
+ background-color: transparent;
107
+ box-shadow: inset 0 0 0 1px var(--accent-9);
86
108
  }
87
109
  }
88
110
 
89
111
  &:where([data-state='checked'], [data-state='indeterminate']) {
90
112
  &::before {
91
- background-color: var(--accent-indicator);
113
+ background-color: var(--accent-9);
114
+ box-shadow: inset 0 0 0 1px var(--accent-9);
92
115
  }
93
116
  & :where(.rt-BaseCheckboxIndicator) {
94
117
  color: var(--accent-contrast);
@@ -97,17 +120,18 @@
97
120
  &:where(.rt-high-contrast) {
98
121
  &::before {
99
122
  background-color: var(--accent-12);
123
+ box-shadow: inset 0 0 0 1px var(--accent-12);
100
124
  }
101
125
  & :where(.rt-BaseCheckboxIndicator) {
102
- color: var(--accent-1);
126
+ color: var(--gray-1);
103
127
  }
104
128
  }
105
129
  }
106
130
 
107
131
  &:where(:disabled) {
108
132
  &::before {
109
- box-shadow: inset 0 0 0 var(--border-width-inset) var(--gray-a6);
110
- background-color: transparent;
133
+ box-shadow: inset 0 0 0 1px var(--gray-a6);
134
+ background-color: var(--gray-a3);
111
135
  }
112
136
  & :where(.rt-BaseCheckboxIndicator) {
113
137
  color: var(--gray-a8);
@@ -123,28 +147,22 @@
123
147
 
124
148
  &:where([data-state='unchecked']) {
125
149
  &::before {
126
- background-color: var(--accent-2);
127
- /* prettier-ignore */
128
- box-shadow:
129
- inset 0 calc(-1 * var(--classic-border-width)) var(--classic-shadow-blur-large) var(--accent-a2),
130
- inset 0 var(--classic-border-width) var(--white-a12),
131
- inset 0 var(--classic-shadow-blur-medium) var(--classic-shadow-blur-large) var(--accent-a2),
132
- inset 0 calc(-1 * var(--classic-border-width)) var(--accent-a6),
133
- 0 0 0 var(--classic-border-width) var(--accent-a5),
134
- 0 var(--classic-shadow-offset-y) var(--classic-shadow-blur-small) var(--accent-a7);
135
- }
136
-
137
- :where(.dark, .dark-theme) &,
138
- :where(.dark, .dark-theme) :where(.radix-themes:not(.light, .light-theme)) & {
139
- &::before {
140
- /* prettier-ignore */
141
- box-shadow:
142
- inset 0 calc(-1 * var(--classic-border-width)) var(--classic-shadow-blur-large) var(--accent-a3),
143
- inset 0 var(--classic-border-width) var(--accent-a11),
144
- inset 0 var(--classic-shadow-blur-medium) var(--classic-shadow-blur-large) var(--accent-a2),
145
- inset 0 calc(-2 * var(--classic-border-width)) var(--black-a11),
146
- 0 0 0 var(--classic-border-width-thick) var(--accent-a7),
147
- 0 var(--classic-shadow-offset-y) var(--classic-shadow-blur-small) var(--black-a12);
150
+ color: var(--accent-a11);
151
+ background-color: var(--color-surface-solid);
152
+ box-shadow: var(--shadow-2);
153
+
154
+ /* Theme-level translucent override */
155
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
156
+ background-color: var(--color-surface-translucent);
157
+ }
158
+
159
+ /* Component-level overrides (higher specificity) */
160
+ &:where([data-panel-background='solid'], [data-material='solid']) {
161
+ background-color: var(--color-surface-solid);
162
+ }
163
+
164
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
165
+ background-color: var(--color-surface-translucent);
148
166
  }
149
167
  }
150
168
  }
@@ -152,35 +170,44 @@
152
170
  &:where([data-state='checked'], [data-state='indeterminate']) {
153
171
  &::before {
154
172
  background-color: var(--accent-3);
155
- /* prettier-ignore */
156
- box-shadow:
157
- inset 0 calc(-1 * var(--classic-border-width)) var(--classic-shadow-blur-large) var(--accent-a2),
158
- inset 0 var(--classic-border-width) var(--white-a12),
159
- inset 0 var(--classic-shadow-blur-medium) var(--classic-shadow-blur-large) var(--accent-a2),
160
- inset 0 calc(-1 * var(--classic-border-width)) var(--accent-a6),
161
- 0 0 0 var(--classic-border-width) var(--accent-a5),
162
- 0 var(--classic-shadow-offset-y) var(--classic-shadow-blur-small) var(--accent-a7);
173
+ box-shadow: var(--shadow-1);
174
+
175
+ /* Theme-level translucent override */
176
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
177
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
178
+ }
179
+
180
+ /* Component-level overrides (higher specificity) */
181
+ &:where([data-panel-background='solid'], [data-material='solid']) {
182
+ background-color: var(--accent-3);
183
+ }
184
+
185
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
186
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
187
+ }
163
188
  }
164
189
  & :where(.rt-BaseCheckboxIndicator) {
165
190
  color: var(--accent-a11);
166
191
  }
167
-
168
- :where(.dark, .dark-theme) &,
169
- :where(.dark, .dark-theme) :where(.radix-themes:not(.light, .light-theme)) & {
192
+
193
+ &:where(.rt-high-contrast) {
170
194
  &::before {
171
195
  background-color: var(--accent-3);
172
- /* prettier-ignore */
173
- box-shadow:
174
- inset 0 calc(-1 * var(--classic-border-width)) var(--classic-shadow-blur-large) var(--accent-a3),
175
- inset 0 var(--classic-border-width) var(--accent-a11),
176
- inset 0 var(--classic-shadow-blur-medium) var(--classic-shadow-blur-large) var(--accent-a2),
177
- inset 0 calc(-2 * var(--classic-border-width)) var(--black-a11),
178
- 0 0 0 var(--classic-border-width-thick) var(--accent-a7),
179
- 0 var(--classic-shadow-offset-y) var(--classic-shadow-blur-small) var(--black-a12);
180
- }
181
- }
182
196
 
183
- &:where(.rt-high-contrast) {
197
+ /* Theme-level translucent override for high contrast */
198
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
199
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
200
+ }
201
+
202
+ /* Component-level overrides for high contrast */
203
+ &:where([data-panel-background='solid'], [data-material='solid']) {
204
+ background-color: var(--accent-3);
205
+ }
206
+
207
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
208
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
209
+ }
210
+ }
184
211
  & :where(.rt-BaseCheckboxIndicator) {
185
212
  color: var(--accent-12);
186
213
  }
@@ -191,7 +218,22 @@
191
218
  top: calc(var(--classic-elevation-offset) + var(--classic-active-padding-offset-1));
192
219
 
193
220
  &::before {
194
- box-shadow: inset 0 var(--classic-border-width) var(--black-a3), 0 0 0 var(--classic-border-width) var(--accent-a7);
221
+ background-color: var(--accent-3);
222
+ box-shadow: var(--shadow-1);
223
+
224
+ /* Theme-level translucent override for active */
225
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
226
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
227
+ }
228
+
229
+ /* Component-level overrides for active */
230
+ &:where([data-panel-background='solid'], [data-material='solid']) {
231
+ background-color: var(--accent-3);
232
+ }
233
+
234
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
235
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
236
+ }
195
237
  }
196
238
  }
197
239
 
@@ -212,10 +254,96 @@
212
254
 
213
255
  .rt-BaseCheckboxRoot:where(.rt-variant-soft) {
214
256
  &::before {
215
- background-color: var(--accent-a5);
257
+ background-color: var(--accent-3);
258
+
259
+ /* Theme-level translucent override */
260
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
261
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
262
+ }
263
+
264
+ /* Component-level overrides (higher specificity) */
265
+ &:where([data-panel-background='solid'], [data-material='solid']) {
266
+ background-color: var(--accent-3);
267
+ }
268
+
269
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
270
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
271
+ }
272
+ }
273
+
274
+ &:where([data-state='checked'], [data-state='indeterminate']) {
275
+ & :where(.rt-BaseCheckboxIndicator) {
276
+ color: var(--accent-a11);
277
+ }
278
+
279
+ &:where(.rt-high-contrast) {
280
+ & :where(.rt-BaseCheckboxIndicator) {
281
+ color: var(--accent-12);
282
+ }
283
+ }
284
+ }
285
+
286
+ &:where(:disabled) {
287
+ &::before {
288
+ background-color: var(--gray-a3);
289
+ }
290
+ & :where(.rt-BaseCheckboxIndicator) {
291
+ color: var(--gray-a8);
292
+ }
293
+ }
294
+ }
295
+
296
+
297
+
298
+ /* outline */
299
+
300
+ .rt-BaseCheckboxRoot:where(.rt-variant-outline) {
301
+ &:where([data-state='unchecked']) {
302
+ &::before {
303
+ box-shadow: inset 0 0 0 1px var(--accent-6);
304
+ color: var(--accent-11);
305
+
306
+ /* Theme-level translucent override */
307
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
308
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
309
+ color: var(--accent-a11);
310
+ }
311
+
312
+ /* Component-level overrides (higher specificity) */
313
+ &:where([data-panel-background='solid'], [data-material='solid']) {
314
+ box-shadow: inset 0 0 0 1px var(--accent-6);
315
+ color: var(--accent-11);
316
+ }
317
+
318
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
319
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
320
+ color: var(--accent-a11);
321
+ }
322
+ }
216
323
  }
217
324
 
218
325
  &:where([data-state='checked'], [data-state='indeterminate']) {
326
+ &::before {
327
+ background-color: var(--accent-2);
328
+ box-shadow: inset 0 0 0 1px var(--accent-7);
329
+
330
+ /* Theme-level translucent override */
331
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
332
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
333
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
334
+ }
335
+
336
+ /* Component-level overrides (higher specificity) */
337
+ &:where([data-panel-background='solid'], [data-material='solid']) {
338
+ background-color: var(--accent-2);
339
+ box-shadow: inset 0 0 0 1px var(--accent-7);
340
+ }
341
+
342
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
343
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
344
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
345
+ }
346
+ }
219
347
  & :where(.rt-BaseCheckboxIndicator) {
220
348
  color: var(--accent-a11);
221
349
  }
@@ -229,6 +357,7 @@
229
357
 
230
358
  &:where(:disabled) {
231
359
  &::before {
360
+ box-shadow: inset 0 0 0 1px var(--gray-a7);
232
361
  background-color: transparent;
233
362
  }
234
363
  & :where(.rt-BaseCheckboxIndicator) {
@@ -236,3 +365,74 @@
236
365
  }
237
366
  }
238
367
  }
368
+
369
+ /* surface */
370
+
371
+ .rt-BaseCheckboxRoot:where(.rt-variant-surface) {
372
+ &:where([data-state='unchecked']) {
373
+ &::before {
374
+ background-color: var(--accent-2);
375
+ box-shadow: inset 0 0 0 1px var(--accent-6);
376
+
377
+ /* Theme-level translucent override */
378
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
379
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
380
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
381
+ }
382
+
383
+ /* Component-level overrides (higher specificity) */
384
+ &:where([data-panel-background='solid'], [data-material='solid']) {
385
+ background-color: var(--accent-2);
386
+ box-shadow: inset 0 0 0 1px var(--accent-6);
387
+ }
388
+
389
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
390
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
391
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
392
+ }
393
+ }
394
+ }
395
+
396
+ &:where([data-state='checked'], [data-state='indeterminate']) {
397
+ &::before {
398
+ background-color: var(--accent-3);
399
+ box-shadow: inset 0 0 0 1px var(--accent-8);
400
+
401
+ /* Theme-level translucent override */
402
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
403
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
404
+ box-shadow: inset 0 0 0 1px var(--accent-a8);
405
+ }
406
+
407
+ /* Component-level overrides (higher specificity) */
408
+ &:where([data-panel-background='solid'], [data-material='solid']) {
409
+ background-color: var(--accent-3);
410
+ box-shadow: inset 0 0 0 1px var(--accent-8);
411
+ }
412
+
413
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
414
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
415
+ box-shadow: inset 0 0 0 1px var(--accent-a8);
416
+ }
417
+ }
418
+ & :where(.rt-BaseCheckboxIndicator) {
419
+ color: var(--accent-a11);
420
+ }
421
+
422
+ &:where(.rt-high-contrast) {
423
+ & :where(.rt-BaseCheckboxIndicator) {
424
+ color: var(--accent-12);
425
+ }
426
+ }
427
+ }
428
+
429
+ &:where(:disabled) {
430
+ &::before {
431
+ box-shadow: inset 0 0 0 1px var(--gray-a6);
432
+ background-color: var(--gray-a2);
433
+ }
434
+ & :where(.rt-BaseCheckboxIndicator) {
435
+ color: var(--gray-a8);
436
+ }
437
+ }
438
+ }
@@ -4,16 +4,19 @@ import { highContrastPropDef } from '../../props/high-contrast.prop.js';
4
4
  import type { PropDef } from '../../props/prop-def.js';
5
5
 
6
6
  const sizes = ['1', '2', '3'] as const;
7
- const variants = ['classic', 'solid', 'soft'] as const;
7
+ const variants = ['classic', 'solid', 'soft', 'outline', 'surface'] as const;
8
+ const materials = ['solid', 'translucent'] as const;
8
9
 
9
10
  const baseCheckboxPropDefs = {
10
11
  size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '2', responsive: true },
11
12
  variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'solid' },
13
+ material: { type: 'enum', values: materials, default: undefined },
12
14
  ...colorPropDef,
13
15
  ...highContrastPropDef,
14
16
  } satisfies {
15
17
  size: PropDef<(typeof sizes)[number]>;
16
18
  variant: PropDef<(typeof variants)[number]>;
19
+ material: PropDef<(typeof materials)[number] | undefined>;
17
20
  };
18
21
 
19
22
  export { baseCheckboxPropDefs };
@@ -56,17 +56,17 @@
56
56
  outline: none;
57
57
 
58
58
  /* Theme-level backdrop filter for auto dialogs */
59
- :where([data-panel-background='translucent']) & {
59
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
60
60
  backdrop-filter: var(--backdrop-filter-dialog);
61
61
  }
62
62
 
63
63
  /* Component-level overrides (when panelBackground prop is explicitly set) */
64
- &:where([data-panel-background='solid']) {
64
+ &:where([data-panel-background='solid'], [data-material='solid']) {
65
65
  background-color: var(--color-dialog-solid);
66
66
  backdrop-filter: none;
67
67
  }
68
68
 
69
- &:where([data-panel-background='translucent']) {
69
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
70
70
  background-color: var(--color-dialog-translucent);
71
71
  backdrop-filter: var(--backdrop-filter-dialog);
72
72
  }
@@ -134,24 +134,55 @@
134
134
  .rt-BaseDialogOverlay {
135
135
  /* Keep the overlay mounted until the children have animated */
136
136
  &:where([data-state='closed']) {
137
- animation: rt-dialog-overlay-no-op 160ms cubic-bezier(0.16, 1, 0.3, 1);
137
+ animation: rt-dialog-overlay-no-op var(--duration-4) var(--ease-spring-1);
138
138
  }
139
139
  &:where([data-state='open'])::before {
140
- animation: rt-fade-in 200ms cubic-bezier(0.16, 1, 0.3, 1);
140
+ animation: rt-fade-in var(--duration-5) var(--ease-spring-1);
141
141
  }
142
142
  &:where([data-state='closed'])::before {
143
143
  opacity: 0;
144
- animation: rt-fade-out 160ms cubic-bezier(0.16, 1, 0.3, 1);
144
+ animation: rt-fade-out var(--duration-4) var(--ease-spring-1);
145
145
  }
146
146
  }
147
147
 
148
148
  .rt-BaseDialogContent {
149
149
  &:where([data-state='open']) {
150
- animation: rt-dialog-content-show 200ms cubic-bezier(0.16, 1, 0.3, 1);
150
+ animation: rt-dialog-content-show var(--duration-5) var(--ease-spring-1);
151
151
  }
152
152
  &:where([data-state='closed']) {
153
153
  opacity: 0;
154
- animation: rt-dialog-content-hide 100ms cubic-bezier(0.16, 1, 0.3, 1);
154
+ animation: rt-dialog-content-hide var(--duration-3) var(--ease-spring-1);
155
155
  }
156
156
  }
157
157
  }
158
+
159
+ /* Safari backdrop-filter fallback */
160
+ @supports not (backdrop-filter: blur(1px)) {
161
+ :where(.rt-BaseDialogContent[data-material='translucent']),
162
+ :where(.rt-BaseDialogContent[data-panel-background='translucent']) {
163
+ background-color: var(--color-dialog-solid);
164
+ }
165
+ }
166
+
167
+ /* Forced colors support */
168
+ @media (forced-colors: active) {
169
+ .rt-BaseDialogContent {
170
+ border: 1px solid CanvasText;
171
+ }
172
+ .rt-BaseDialogOverlay::before {
173
+ background-color: Canvas;
174
+ }
175
+ }
176
+
177
+ /* Screen reader only content */
178
+ .rt-sr-only {
179
+ position: absolute;
180
+ width: 1px;
181
+ height: 1px;
182
+ padding: 0;
183
+ margin: -1px;
184
+ overflow: hidden;
185
+ clip: rect(0, 0, 0, 0);
186
+ white-space: nowrap;
187
+ border: 0;
188
+ }
@@ -13,10 +13,21 @@
13
13
  backdrop-filter: var(--backdrop-filter-panel);
14
14
  box-shadow: var(--shadow-5);
15
15
  transition: var(--transition-background-blur);
16
+
17
+ /* GPU optimization: limit paint scope and prevent backdrop-filter layering */
18
+ contain: paint;
19
+ isolation: isolate;
20
+
21
+ /* Optimize backdrop-filter performance during animations */
22
+ &:where([data-state="open"]) {
23
+ will-change: transform, opacity;
24
+ }
16
25
 
17
- /* Reduced motion support */
26
+ /* Enhanced reduced motion support */
18
27
  @media (prefers-reduced-motion: reduce) {
19
28
  transition: none;
29
+ will-change: auto;
30
+ backdrop-filter: none; /* Remove blur for motion-sensitive users */
20
31
  }
21
32
 
22
33
  /* Component-level overrides (higher specificity) */
@@ -68,9 +79,16 @@
68
79
  cursor: default;
69
80
  }
70
81
 
71
- /* Reduced motion support */
82
+ /* Focus-visible support */
83
+ &:where(:focus-visible) {
84
+ outline: 2px solid var(--focus-8);
85
+ outline-offset: -2px;
86
+ }
87
+
88
+ /* Enhanced reduced motion support */
72
89
  @media (prefers-reduced-motion: reduce) {
73
90
  transition: none;
91
+ backdrop-filter: none; /* Remove any backdrop effects for motion-sensitive users */
74
92
  }
75
93
  }
76
94
 
@@ -303,15 +321,16 @@
303
321
  background-color: var(--gray-a6);
304
322
  }
305
323
 
306
- /* solid */
324
+ /* solid and soft variants - consolidated to reduce duplication */
307
325
 
308
- .rt-BaseMenuContent:where(.rt-variant-solid) {
326
+ .rt-BaseMenuContent:where(.rt-variant-solid, .rt-variant-soft) {
309
327
  & :where(.rt-BaseMenuSubTrigger) {
310
328
  transition: var(--transition-menu);
311
329
 
312
- /* Reduced motion support */
330
+ /* Enhanced reduced motion support */
313
331
  @media (prefers-reduced-motion: reduce) {
314
332
  transition: none;
333
+ backdrop-filter: none; /* Remove backdrop effects for motion-sensitive users */
315
334
  }
316
335
 
317
336
  /* Remove backdrop-filter transitions in translucent mode to prevent flickering */
@@ -319,6 +338,17 @@
319
338
  transition: background var(--duration-1) var(--ease-1), color var(--duration-2) var(--ease-1);
320
339
  }
321
340
  }
341
+
342
+ & :where(.rt-BaseMenuItem) {
343
+ /* Remove backdrop-filter transitions in translucent mode to prevent flickering */
344
+ :where([data-panel-background='translucent']) & {
345
+ transition: background var(--duration-1) var(--ease-1), color var(--duration-2) var(--ease-1);
346
+ }
347
+ }
348
+ }
349
+
350
+ /* solid variant specific styles */
351
+ .rt-BaseMenuContent:where(.rt-variant-solid) {
322
352
  & :where(.rt-BaseMenuSubTrigger[data-state='open']) {
323
353
  /* Base state: solid gray for solid panels */
324
354
  background-color: var(--gray-3);
@@ -341,12 +371,7 @@
341
371
  /* No backdrop-filter here to prevent double-blur with container */
342
372
  }
343
373
  }
344
- & :where(.rt-BaseMenuItem) {
345
- /* Remove backdrop-filter transitions in translucent mode to prevent flickering */
346
- :where([data-panel-background='translucent']) & {
347
- transition: background var(--duration-1) var(--ease-1), color var(--duration-2) var(--ease-1);
348
- }
349
- }
374
+
350
375
  & :where(.rt-BaseMenuItem[data-highlighted]) {
351
376
  background-color: var(--accent-9);
352
377
  color: var(--accent-contrast);
@@ -365,6 +390,7 @@
365
390
  color: inherit !important;
366
391
  }
367
392
  }
393
+
368
394
  &:where(.rt-high-contrast) {
369
395
  & :where(.rt-BaseMenuItem[data-highlighted]) {
370
396
  background-color: var(--accent-12);
@@ -400,22 +426,8 @@
400
426
  }
401
427
  }
402
428
 
403
- /* soft */
404
-
429
+ /* soft variant specific styles */
405
430
  .rt-BaseMenuContent:where(.rt-variant-soft) {
406
- & :where(.rt-BaseMenuSubTrigger) {
407
- transition: var(--transition-menu);
408
-
409
- /* Reduced motion support */
410
- @media (prefers-reduced-motion: reduce) {
411
- transition: none;
412
- }
413
-
414
- /* Remove backdrop-filter transitions in translucent mode to prevent flickering */
415
- :where([data-panel-background='translucent']) & {
416
- transition: background var(--duration-1) var(--ease-1), color var(--duration-2) var(--ease-1);
417
- }
418
- }
419
431
  & :where(.rt-BaseMenuSubTrigger[data-state='open']) {
420
432
  /* Base state: solid accent for solid panels */
421
433
  background-color: var(--accent-3);
@@ -438,12 +450,7 @@
438
450
  /* No backdrop-filter here to prevent double-blur with container */
439
451
  }
440
452
  }
441
- & :where(.rt-BaseMenuItem) {
442
- /* Remove backdrop-filter transitions in translucent mode to prevent flickering */
443
- :where([data-panel-background='translucent']) & {
444
- transition: background var(--duration-1) var(--ease-1), color var(--duration-2) var(--ease-1);
445
- }
446
- }
453
+
447
454
  & :where(.rt-BaseMenuItem[data-highlighted]) {
448
455
  /* Base state: solid accent for solid panels */
449
456
  background-color: var(--accent-4);
@@ -472,3 +479,19 @@
472
479
  }
473
480
  }
474
481
  }
482
+
483
+ /* Forced colors support */
484
+ @media (forced-colors: active) {
485
+ .rt-BaseMenuItem:where(:focus-visible) {
486
+ outline: 2px solid Highlight;
487
+ outline-offset: 2px;
488
+ }
489
+
490
+ .rt-BaseMenuContent {
491
+ border: 1px solid CanvasText;
492
+ }
493
+
494
+ .rt-BaseMenuSeparator {
495
+ background-color: CanvasText;
496
+ }
497
+ }
@@ -7,6 +7,7 @@ import type { PropDef } from '../../props/prop-def.js';
7
7
  const contentSizes = ['1', '2'] as const;
8
8
  const contentVariants = ['solid', 'soft'] as const;
9
9
  const panelBackgrounds = ['solid', 'translucent'] as const;
10
+ const materials = ['solid', 'translucent'] as const;
10
11
 
11
12
  const baseMenuContentPropDefs = {
12
13
  size: {
@@ -22,6 +23,14 @@ const baseMenuContentPropDefs = {
22
23
  values: contentVariants,
23
24
  default: 'solid',
24
25
  },
26
+ material: {
27
+ type: 'enum',
28
+ values: materials,
29
+ default: undefined,
30
+ },
31
+ /**
32
+ * @deprecated Use `material` prop instead. This prop will be removed in a future version.
33
+ */
25
34
  panelBackground: {
26
35
  type: 'enum',
27
36
  values: panelBackgrounds,
@@ -32,6 +41,7 @@ const baseMenuContentPropDefs = {
32
41
  } satisfies {
33
42
  size: PropDef<(typeof contentSizes)[number]>;
34
43
  variant: PropDef<(typeof contentVariants)[number]>;
44
+ material: PropDef<(typeof materials)[number] | undefined>;
35
45
  panelBackground: PropDef<(typeof panelBackgrounds)[number] | undefined>;
36
46
  };
37
47