@kushagradhawan/kookie-ui 0.1.28 → 0.1.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/components.css +4742 -2680
  2. package/dist/cjs/components/_internal/base-button.d.ts +36 -0
  3. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  4. package/dist/cjs/components/_internal/base-button.js +1 -1
  5. package/dist/cjs/components/_internal/base-button.js.map +3 -3
  6. package/dist/cjs/components/_internal/base-button.props.d.ts +61 -0
  7. package/dist/cjs/components/_internal/base-button.props.d.ts.map +1 -1
  8. package/dist/cjs/components/_internal/base-button.props.js +1 -1
  9. package/dist/cjs/components/_internal/base-button.props.js.map +3 -3
  10. package/dist/cjs/components/_internal/base-checkbox.props.d.ts +6 -1
  11. package/dist/cjs/components/_internal/base-checkbox.props.d.ts.map +1 -1
  12. package/dist/cjs/components/_internal/base-checkbox.props.js +1 -1
  13. package/dist/cjs/components/_internal/base-checkbox.props.js.map +3 -3
  14. package/dist/cjs/components/_internal/base-menu.props.d.ts +8 -0
  15. package/dist/cjs/components/_internal/base-menu.props.d.ts.map +1 -1
  16. package/dist/cjs/components/_internal/base-menu.props.js +1 -1
  17. package/dist/cjs/components/_internal/base-menu.props.js.map +3 -3
  18. package/dist/cjs/components/_internal/base-radio.props.d.ts +6 -1
  19. package/dist/cjs/components/_internal/base-radio.props.d.ts.map +1 -1
  20. package/dist/cjs/components/_internal/base-radio.props.js +1 -1
  21. package/dist/cjs/components/_internal/base-radio.props.js.map +3 -3
  22. package/dist/cjs/components/accordion.d.ts +22 -0
  23. package/dist/cjs/components/accordion.d.ts.map +1 -0
  24. package/dist/cjs/components/accordion.js +2 -0
  25. package/dist/cjs/components/accordion.js.map +7 -0
  26. package/dist/cjs/components/accordion.props.d.ts +97 -0
  27. package/dist/cjs/components/accordion.props.d.ts.map +1 -0
  28. package/dist/cjs/components/accordion.props.js +2 -0
  29. package/dist/cjs/components/accordion.props.js.map +7 -0
  30. package/dist/cjs/components/alert-dialog.d.ts.map +1 -1
  31. package/dist/cjs/components/alert-dialog.js +1 -1
  32. package/dist/cjs/components/alert-dialog.js.map +3 -3
  33. package/dist/cjs/components/alert-dialog.props.d.ts +69 -2
  34. package/dist/cjs/components/alert-dialog.props.d.ts.map +1 -1
  35. package/dist/cjs/components/alert-dialog.props.js +1 -1
  36. package/dist/cjs/components/alert-dialog.props.js.map +3 -3
  37. package/dist/cjs/components/avatar.d.ts.map +1 -1
  38. package/dist/cjs/components/avatar.js +1 -1
  39. package/dist/cjs/components/avatar.js.map +3 -3
  40. package/dist/cjs/components/avatar.props.d.ts +9 -1
  41. package/dist/cjs/components/avatar.props.d.ts.map +1 -1
  42. package/dist/cjs/components/avatar.props.js +1 -1
  43. package/dist/cjs/components/avatar.props.js.map +3 -3
  44. package/dist/cjs/components/badge.d.ts +8 -1
  45. package/dist/cjs/components/badge.d.ts.map +1 -1
  46. package/dist/cjs/components/badge.js +1 -1
  47. package/dist/cjs/components/badge.js.map +3 -3
  48. package/dist/cjs/components/badge.props.d.ts +14 -6
  49. package/dist/cjs/components/badge.props.d.ts.map +1 -1
  50. package/dist/cjs/components/badge.props.js +1 -1
  51. package/dist/cjs/components/badge.props.js.map +3 -3
  52. package/dist/cjs/components/blockquote.props.d.ts +1 -1
  53. package/dist/cjs/components/button.d.ts +53 -1
  54. package/dist/cjs/components/button.d.ts.map +1 -1
  55. package/dist/cjs/components/button.js +1 -1
  56. package/dist/cjs/components/button.js.map +3 -3
  57. package/dist/cjs/components/button.props.d.ts +17 -0
  58. package/dist/cjs/components/button.props.d.ts.map +1 -1
  59. package/dist/cjs/components/button.props.js.map +2 -2
  60. package/dist/cjs/components/callout.d.ts +4 -0
  61. package/dist/cjs/components/callout.d.ts.map +1 -1
  62. package/dist/cjs/components/callout.js +1 -1
  63. package/dist/cjs/components/callout.js.map +3 -3
  64. package/dist/cjs/components/callout.props.d.ts +9 -1
  65. package/dist/cjs/components/callout.props.d.ts.map +1 -1
  66. package/dist/cjs/components/callout.props.js +1 -1
  67. package/dist/cjs/components/callout.props.js.map +3 -3
  68. package/dist/cjs/components/card.d.ts.map +1 -1
  69. package/dist/cjs/components/card.js +1 -1
  70. package/dist/cjs/components/card.js.map +3 -3
  71. package/dist/cjs/components/card.props.d.ts +5 -0
  72. package/dist/cjs/components/card.props.d.ts.map +1 -1
  73. package/dist/cjs/components/card.props.js +1 -1
  74. package/dist/cjs/components/card.props.js.map +3 -3
  75. package/dist/cjs/components/checkbox-cards.d.ts.map +1 -1
  76. package/dist/cjs/components/checkbox-cards.js +1 -1
  77. package/dist/cjs/components/checkbox-cards.js.map +3 -3
  78. package/dist/cjs/components/checkbox-cards.props.d.ts +2 -2
  79. package/dist/cjs/components/checkbox-cards.props.js +1 -1
  80. package/dist/cjs/components/checkbox-cards.props.js.map +2 -2
  81. package/dist/cjs/components/checkbox-group.props.d.ts +6 -1
  82. package/dist/cjs/components/checkbox-group.props.d.ts.map +1 -1
  83. package/dist/cjs/components/checkbox.d.ts.map +1 -1
  84. package/dist/cjs/components/checkbox.js +1 -1
  85. package/dist/cjs/components/checkbox.js.map +3 -3
  86. package/dist/cjs/components/code.js.map +1 -1
  87. package/dist/cjs/components/code.props.d.ts +1 -1
  88. package/dist/cjs/components/context-menu.d.ts +1 -1
  89. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  90. package/dist/cjs/components/context-menu.js +1 -1
  91. package/dist/cjs/components/context-menu.js.map +3 -3
  92. package/dist/cjs/components/dialog.d.ts.map +1 -1
  93. package/dist/cjs/components/dialog.js +1 -1
  94. package/dist/cjs/components/dialog.js.map +3 -3
  95. package/dist/cjs/components/dialog.props.d.ts +6 -1
  96. package/dist/cjs/components/dialog.props.d.ts.map +1 -1
  97. package/dist/cjs/components/dialog.props.js +1 -1
  98. package/dist/cjs/components/dialog.props.js.map +3 -3
  99. package/dist/cjs/components/dropdown-menu.d.ts +1 -1
  100. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  101. package/dist/cjs/components/dropdown-menu.js +1 -1
  102. package/dist/cjs/components/dropdown-menu.js.map +3 -3
  103. package/dist/cjs/components/heading.props.d.ts +1 -1
  104. package/dist/cjs/components/icon-button.d.ts +79 -1
  105. package/dist/cjs/components/icon-button.d.ts.map +1 -1
  106. package/dist/cjs/components/icon-button.js +4 -1
  107. package/dist/cjs/components/icon-button.js.map +3 -3
  108. package/dist/cjs/components/image.d.ts +131 -12
  109. package/dist/cjs/components/image.d.ts.map +1 -1
  110. package/dist/cjs/components/image.js +1 -1
  111. package/dist/cjs/components/image.js.map +3 -3
  112. package/dist/cjs/components/image.props.d.ts +136 -21
  113. package/dist/cjs/components/image.props.d.ts.map +1 -1
  114. package/dist/cjs/components/image.props.js +1 -1
  115. package/dist/cjs/components/image.props.js.map +3 -3
  116. package/dist/cjs/components/index.d.ts +1 -0
  117. package/dist/cjs/components/index.d.ts.map +1 -1
  118. package/dist/cjs/components/index.js +1 -1
  119. package/dist/cjs/components/index.js.map +3 -3
  120. package/dist/cjs/components/link.props.d.ts +1 -1
  121. package/dist/cjs/components/progress.props.d.ts +2 -2
  122. package/dist/cjs/components/progress.props.js +1 -1
  123. package/dist/cjs/components/progress.props.js.map +2 -2
  124. package/dist/cjs/components/radio-cards.d.ts.map +1 -1
  125. package/dist/cjs/components/radio-cards.js +1 -1
  126. package/dist/cjs/components/radio-cards.js.map +3 -3
  127. package/dist/cjs/components/radio-cards.props.d.ts +2 -2
  128. package/dist/cjs/components/radio-cards.props.js +1 -1
  129. package/dist/cjs/components/radio-cards.props.js.map +2 -2
  130. package/dist/cjs/components/radio.d.ts.map +1 -1
  131. package/dist/cjs/components/radio.js +1 -1
  132. package/dist/cjs/components/radio.js.map +3 -3
  133. package/dist/cjs/components/segmented-control.props.d.ts +3 -3
  134. package/dist/cjs/components/segmented-control.props.js +1 -1
  135. package/dist/cjs/components/segmented-control.props.js.map +2 -2
  136. package/dist/cjs/components/select.d.ts.map +1 -1
  137. package/dist/cjs/components/select.js +1 -1
  138. package/dist/cjs/components/select.js.map +3 -3
  139. package/dist/cjs/components/select.props.d.ts +12 -0
  140. package/dist/cjs/components/select.props.d.ts.map +1 -1
  141. package/dist/cjs/components/select.props.js +1 -1
  142. package/dist/cjs/components/select.props.js.map +2 -2
  143. package/dist/cjs/components/sidebar.d.ts +5 -0
  144. package/dist/cjs/components/sidebar.d.ts.map +1 -1
  145. package/dist/cjs/components/sidebar.js +1 -1
  146. package/dist/cjs/components/sidebar.js.map +3 -3
  147. package/dist/cjs/components/slider.d.ts +5 -0
  148. package/dist/cjs/components/slider.d.ts.map +1 -1
  149. package/dist/cjs/components/slider.js +1 -1
  150. package/dist/cjs/components/slider.js.map +3 -3
  151. package/dist/cjs/components/slider.props.d.ts +10 -2
  152. package/dist/cjs/components/slider.props.d.ts.map +1 -1
  153. package/dist/cjs/components/slider.props.js +1 -1
  154. package/dist/cjs/components/slider.props.js.map +2 -2
  155. package/dist/cjs/components/switch.d.ts.map +1 -1
  156. package/dist/cjs/components/switch.js +1 -1
  157. package/dist/cjs/components/switch.js.map +3 -3
  158. package/dist/cjs/components/switch.props.d.ts +17 -4
  159. package/dist/cjs/components/switch.props.d.ts.map +1 -1
  160. package/dist/cjs/components/switch.props.js +1 -1
  161. package/dist/cjs/components/switch.props.js.map +3 -3
  162. package/dist/cjs/components/tab-nav.d.ts.map +1 -1
  163. package/dist/cjs/components/tab-nav.js +1 -1
  164. package/dist/cjs/components/tab-nav.js.map +3 -3
  165. package/dist/cjs/components/tabs.d.ts.map +1 -1
  166. package/dist/cjs/components/tabs.js +1 -1
  167. package/dist/cjs/components/tabs.js.map +2 -2
  168. package/dist/cjs/components/text-area.d.ts.map +1 -1
  169. package/dist/cjs/components/text-area.js +1 -1
  170. package/dist/cjs/components/text-area.js.map +3 -3
  171. package/dist/cjs/components/text-area.props.d.ts +29 -0
  172. package/dist/cjs/components/text-area.props.d.ts.map +1 -1
  173. package/dist/cjs/components/text-area.props.js +1 -1
  174. package/dist/cjs/components/text-area.props.js.map +3 -3
  175. package/dist/cjs/components/text-field.d.ts.map +1 -1
  176. package/dist/cjs/components/text-field.js +4 -4
  177. package/dist/cjs/components/text-field.js.map +3 -3
  178. package/dist/cjs/components/text-field.props.d.ts +29 -0
  179. package/dist/cjs/components/text-field.props.d.ts.map +1 -1
  180. package/dist/cjs/components/text-field.props.js +1 -1
  181. package/dist/cjs/components/text-field.props.js.map +3 -3
  182. package/dist/cjs/components/text.props.d.ts +1 -1
  183. package/dist/cjs/components/theme.d.ts +3 -0
  184. package/dist/cjs/components/theme.d.ts.map +1 -1
  185. package/dist/cjs/components/theme.js +1 -1
  186. package/dist/cjs/components/theme.js.map +3 -3
  187. package/dist/cjs/components/theme.props.d.ts +14 -0
  188. package/dist/cjs/components/theme.props.d.ts.map +1 -1
  189. package/dist/cjs/components/theme.props.js +1 -1
  190. package/dist/cjs/components/theme.props.js.map +3 -3
  191. package/dist/cjs/components/toggle-button.d.ts +52 -0
  192. package/dist/cjs/components/toggle-button.d.ts.map +1 -1
  193. package/dist/cjs/components/toggle-button.js +1 -1
  194. package/dist/cjs/components/toggle-button.js.map +3 -3
  195. package/dist/cjs/components/toggle-icon-button.d.ts +84 -2
  196. package/dist/cjs/components/toggle-icon-button.d.ts.map +1 -1
  197. package/dist/cjs/components/toggle-icon-button.js +1 -1
  198. package/dist/cjs/components/toggle-icon-button.js.map +3 -3
  199. package/dist/cjs/helpers/extract-margin-props.d.ts +7 -7
  200. package/dist/cjs/hooks/index.d.ts +2 -0
  201. package/dist/cjs/hooks/index.d.ts.map +1 -0
  202. package/dist/cjs/hooks/index.js +2 -0
  203. package/dist/cjs/hooks/index.js.map +7 -0
  204. package/dist/cjs/hooks/use-live-announcer.d.ts +6 -0
  205. package/dist/cjs/hooks/use-live-announcer.d.ts.map +1 -0
  206. package/dist/cjs/hooks/use-live-announcer.js +10 -0
  207. package/dist/cjs/hooks/use-live-announcer.js.map +7 -0
  208. package/dist/cjs/index.d.ts +1 -0
  209. package/dist/cjs/index.d.ts.map +1 -1
  210. package/dist/cjs/index.js +1 -1
  211. package/dist/cjs/index.js.map +2 -2
  212. package/dist/cjs/props/weight.prop.d.ts +1 -1
  213. package/dist/cjs/props/weight.prop.js +1 -1
  214. package/dist/cjs/props/weight.prop.js.map +2 -2
  215. package/dist/esm/components/_internal/base-button.d.ts +36 -0
  216. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  217. package/dist/esm/components/_internal/base-button.js +1 -1
  218. package/dist/esm/components/_internal/base-button.js.map +3 -3
  219. package/dist/esm/components/_internal/base-button.props.d.ts +61 -0
  220. package/dist/esm/components/_internal/base-button.props.d.ts.map +1 -1
  221. package/dist/esm/components/_internal/base-button.props.js +1 -1
  222. package/dist/esm/components/_internal/base-button.props.js.map +3 -3
  223. package/dist/esm/components/_internal/base-checkbox.props.d.ts +6 -1
  224. package/dist/esm/components/_internal/base-checkbox.props.d.ts.map +1 -1
  225. package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
  226. package/dist/esm/components/_internal/base-checkbox.props.js.map +3 -3
  227. package/dist/esm/components/_internal/base-menu.props.d.ts +8 -0
  228. package/dist/esm/components/_internal/base-menu.props.d.ts.map +1 -1
  229. package/dist/esm/components/_internal/base-menu.props.js +1 -1
  230. package/dist/esm/components/_internal/base-menu.props.js.map +3 -3
  231. package/dist/esm/components/_internal/base-radio.props.d.ts +6 -1
  232. package/dist/esm/components/_internal/base-radio.props.d.ts.map +1 -1
  233. package/dist/esm/components/_internal/base-radio.props.js +1 -1
  234. package/dist/esm/components/_internal/base-radio.props.js.map +3 -3
  235. package/dist/esm/components/accordion.d.ts +22 -0
  236. package/dist/esm/components/accordion.d.ts.map +1 -0
  237. package/dist/esm/components/accordion.js +2 -0
  238. package/dist/esm/components/accordion.js.map +7 -0
  239. package/dist/esm/components/accordion.props.d.ts +97 -0
  240. package/dist/esm/components/accordion.props.d.ts.map +1 -0
  241. package/dist/esm/components/accordion.props.js +2 -0
  242. package/dist/esm/components/accordion.props.js.map +7 -0
  243. package/dist/esm/components/alert-dialog.d.ts.map +1 -1
  244. package/dist/esm/components/alert-dialog.js +1 -1
  245. package/dist/esm/components/alert-dialog.js.map +3 -3
  246. package/dist/esm/components/alert-dialog.props.d.ts +69 -2
  247. package/dist/esm/components/alert-dialog.props.d.ts.map +1 -1
  248. package/dist/esm/components/alert-dialog.props.js +1 -1
  249. package/dist/esm/components/alert-dialog.props.js.map +3 -3
  250. package/dist/esm/components/avatar.d.ts.map +1 -1
  251. package/dist/esm/components/avatar.js +1 -1
  252. package/dist/esm/components/avatar.js.map +3 -3
  253. package/dist/esm/components/avatar.props.d.ts +9 -1
  254. package/dist/esm/components/avatar.props.d.ts.map +1 -1
  255. package/dist/esm/components/avatar.props.js +1 -1
  256. package/dist/esm/components/avatar.props.js.map +3 -3
  257. package/dist/esm/components/badge.d.ts +8 -1
  258. package/dist/esm/components/badge.d.ts.map +1 -1
  259. package/dist/esm/components/badge.js +1 -1
  260. package/dist/esm/components/badge.js.map +3 -3
  261. package/dist/esm/components/badge.props.d.ts +14 -6
  262. package/dist/esm/components/badge.props.d.ts.map +1 -1
  263. package/dist/esm/components/badge.props.js +1 -1
  264. package/dist/esm/components/badge.props.js.map +3 -3
  265. package/dist/esm/components/blockquote.props.d.ts +1 -1
  266. package/dist/esm/components/button.d.ts +53 -1
  267. package/dist/esm/components/button.d.ts.map +1 -1
  268. package/dist/esm/components/button.js +1 -1
  269. package/dist/esm/components/button.js.map +3 -3
  270. package/dist/esm/components/button.props.d.ts +17 -0
  271. package/dist/esm/components/button.props.d.ts.map +1 -1
  272. package/dist/esm/components/button.props.js.map +2 -2
  273. package/dist/esm/components/callout.d.ts +4 -0
  274. package/dist/esm/components/callout.d.ts.map +1 -1
  275. package/dist/esm/components/callout.js +1 -1
  276. package/dist/esm/components/callout.js.map +3 -3
  277. package/dist/esm/components/callout.props.d.ts +9 -1
  278. package/dist/esm/components/callout.props.d.ts.map +1 -1
  279. package/dist/esm/components/callout.props.js +1 -1
  280. package/dist/esm/components/callout.props.js.map +3 -3
  281. package/dist/esm/components/card.d.ts.map +1 -1
  282. package/dist/esm/components/card.js +1 -1
  283. package/dist/esm/components/card.js.map +3 -3
  284. package/dist/esm/components/card.props.d.ts +5 -0
  285. package/dist/esm/components/card.props.d.ts.map +1 -1
  286. package/dist/esm/components/card.props.js +1 -1
  287. package/dist/esm/components/card.props.js.map +3 -3
  288. package/dist/esm/components/checkbox-cards.d.ts.map +1 -1
  289. package/dist/esm/components/checkbox-cards.js +1 -1
  290. package/dist/esm/components/checkbox-cards.js.map +3 -3
  291. package/dist/esm/components/checkbox-cards.props.d.ts +2 -2
  292. package/dist/esm/components/checkbox-cards.props.js +1 -1
  293. package/dist/esm/components/checkbox-cards.props.js.map +2 -2
  294. package/dist/esm/components/checkbox-group.props.d.ts +6 -1
  295. package/dist/esm/components/checkbox-group.props.d.ts.map +1 -1
  296. package/dist/esm/components/checkbox.d.ts.map +1 -1
  297. package/dist/esm/components/checkbox.js +1 -1
  298. package/dist/esm/components/checkbox.js.map +3 -3
  299. package/dist/esm/components/code.js.map +1 -1
  300. package/dist/esm/components/code.props.d.ts +1 -1
  301. package/dist/esm/components/context-menu.d.ts +1 -1
  302. package/dist/esm/components/context-menu.d.ts.map +1 -1
  303. package/dist/esm/components/context-menu.js +1 -1
  304. package/dist/esm/components/context-menu.js.map +3 -3
  305. package/dist/esm/components/dialog.d.ts.map +1 -1
  306. package/dist/esm/components/dialog.js +1 -1
  307. package/dist/esm/components/dialog.js.map +3 -3
  308. package/dist/esm/components/dialog.props.d.ts +6 -1
  309. package/dist/esm/components/dialog.props.d.ts.map +1 -1
  310. package/dist/esm/components/dialog.props.js +1 -1
  311. package/dist/esm/components/dialog.props.js.map +3 -3
  312. package/dist/esm/components/dropdown-menu.d.ts +1 -1
  313. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  314. package/dist/esm/components/dropdown-menu.js +1 -1
  315. package/dist/esm/components/dropdown-menu.js.map +3 -3
  316. package/dist/esm/components/heading.props.d.ts +1 -1
  317. package/dist/esm/components/icon-button.d.ts +79 -1
  318. package/dist/esm/components/icon-button.d.ts.map +1 -1
  319. package/dist/esm/components/icon-button.js +4 -1
  320. package/dist/esm/components/icon-button.js.map +3 -3
  321. package/dist/esm/components/image.d.ts +131 -12
  322. package/dist/esm/components/image.d.ts.map +1 -1
  323. package/dist/esm/components/image.js +1 -1
  324. package/dist/esm/components/image.js.map +3 -3
  325. package/dist/esm/components/image.props.d.ts +136 -21
  326. package/dist/esm/components/image.props.d.ts.map +1 -1
  327. package/dist/esm/components/image.props.js +1 -1
  328. package/dist/esm/components/image.props.js.map +3 -3
  329. package/dist/esm/components/index.d.ts +1 -0
  330. package/dist/esm/components/index.d.ts.map +1 -1
  331. package/dist/esm/components/index.js +1 -1
  332. package/dist/esm/components/index.js.map +3 -3
  333. package/dist/esm/components/link.props.d.ts +1 -1
  334. package/dist/esm/components/progress.props.d.ts +2 -2
  335. package/dist/esm/components/progress.props.js +1 -1
  336. package/dist/esm/components/progress.props.js.map +2 -2
  337. package/dist/esm/components/radio-cards.d.ts.map +1 -1
  338. package/dist/esm/components/radio-cards.js +1 -1
  339. package/dist/esm/components/radio-cards.js.map +3 -3
  340. package/dist/esm/components/radio-cards.props.d.ts +2 -2
  341. package/dist/esm/components/radio-cards.props.js +1 -1
  342. package/dist/esm/components/radio-cards.props.js.map +2 -2
  343. package/dist/esm/components/radio.d.ts.map +1 -1
  344. package/dist/esm/components/radio.js +1 -1
  345. package/dist/esm/components/radio.js.map +3 -3
  346. package/dist/esm/components/segmented-control.props.d.ts +3 -3
  347. package/dist/esm/components/segmented-control.props.js +1 -1
  348. package/dist/esm/components/segmented-control.props.js.map +2 -2
  349. package/dist/esm/components/select.d.ts.map +1 -1
  350. package/dist/esm/components/select.js +1 -1
  351. package/dist/esm/components/select.js.map +3 -3
  352. package/dist/esm/components/select.props.d.ts +12 -0
  353. package/dist/esm/components/select.props.d.ts.map +1 -1
  354. package/dist/esm/components/select.props.js +1 -1
  355. package/dist/esm/components/select.props.js.map +2 -2
  356. package/dist/esm/components/sidebar.d.ts +5 -0
  357. package/dist/esm/components/sidebar.d.ts.map +1 -1
  358. package/dist/esm/components/sidebar.js +1 -1
  359. package/dist/esm/components/sidebar.js.map +3 -3
  360. package/dist/esm/components/slider.d.ts +5 -0
  361. package/dist/esm/components/slider.d.ts.map +1 -1
  362. package/dist/esm/components/slider.js +1 -1
  363. package/dist/esm/components/slider.js.map +3 -3
  364. package/dist/esm/components/slider.props.d.ts +10 -2
  365. package/dist/esm/components/slider.props.d.ts.map +1 -1
  366. package/dist/esm/components/slider.props.js +1 -1
  367. package/dist/esm/components/slider.props.js.map +2 -2
  368. package/dist/esm/components/switch.d.ts.map +1 -1
  369. package/dist/esm/components/switch.js +1 -1
  370. package/dist/esm/components/switch.js.map +3 -3
  371. package/dist/esm/components/switch.props.d.ts +17 -4
  372. package/dist/esm/components/switch.props.d.ts.map +1 -1
  373. package/dist/esm/components/switch.props.js +1 -1
  374. package/dist/esm/components/switch.props.js.map +3 -3
  375. package/dist/esm/components/tab-nav.d.ts.map +1 -1
  376. package/dist/esm/components/tab-nav.js +1 -1
  377. package/dist/esm/components/tab-nav.js.map +3 -3
  378. package/dist/esm/components/tabs.d.ts.map +1 -1
  379. package/dist/esm/components/tabs.js +1 -1
  380. package/dist/esm/components/tabs.js.map +2 -2
  381. package/dist/esm/components/text-area.d.ts.map +1 -1
  382. package/dist/esm/components/text-area.js +1 -1
  383. package/dist/esm/components/text-area.js.map +3 -3
  384. package/dist/esm/components/text-area.props.d.ts +29 -0
  385. package/dist/esm/components/text-area.props.d.ts.map +1 -1
  386. package/dist/esm/components/text-area.props.js +1 -1
  387. package/dist/esm/components/text-area.props.js.map +3 -3
  388. package/dist/esm/components/text-field.d.ts.map +1 -1
  389. package/dist/esm/components/text-field.js +4 -4
  390. package/dist/esm/components/text-field.js.map +3 -3
  391. package/dist/esm/components/text-field.props.d.ts +29 -0
  392. package/dist/esm/components/text-field.props.d.ts.map +1 -1
  393. package/dist/esm/components/text-field.props.js +1 -1
  394. package/dist/esm/components/text-field.props.js.map +3 -3
  395. package/dist/esm/components/text.props.d.ts +1 -1
  396. package/dist/esm/components/theme.d.ts +3 -0
  397. package/dist/esm/components/theme.d.ts.map +1 -1
  398. package/dist/esm/components/theme.js +1 -1
  399. package/dist/esm/components/theme.js.map +3 -3
  400. package/dist/esm/components/theme.props.d.ts +14 -0
  401. package/dist/esm/components/theme.props.d.ts.map +1 -1
  402. package/dist/esm/components/theme.props.js +1 -1
  403. package/dist/esm/components/theme.props.js.map +3 -3
  404. package/dist/esm/components/toggle-button.d.ts +52 -0
  405. package/dist/esm/components/toggle-button.d.ts.map +1 -1
  406. package/dist/esm/components/toggle-button.js +1 -1
  407. package/dist/esm/components/toggle-button.js.map +3 -3
  408. package/dist/esm/components/toggle-icon-button.d.ts +84 -2
  409. package/dist/esm/components/toggle-icon-button.d.ts.map +1 -1
  410. package/dist/esm/components/toggle-icon-button.js +1 -1
  411. package/dist/esm/components/toggle-icon-button.js.map +3 -3
  412. package/dist/esm/helpers/extract-margin-props.d.ts +7 -7
  413. package/dist/esm/hooks/index.d.ts +2 -0
  414. package/dist/esm/hooks/index.d.ts.map +1 -0
  415. package/dist/esm/hooks/index.js +2 -0
  416. package/dist/esm/hooks/index.js.map +7 -0
  417. package/dist/esm/hooks/use-live-announcer.d.ts +6 -0
  418. package/dist/esm/hooks/use-live-announcer.d.ts.map +1 -0
  419. package/dist/esm/hooks/use-live-announcer.js +10 -0
  420. package/dist/esm/hooks/use-live-announcer.js.map +7 -0
  421. package/dist/esm/index.d.ts +1 -0
  422. package/dist/esm/index.d.ts.map +1 -1
  423. package/dist/esm/index.js +1 -1
  424. package/dist/esm/index.js.map +2 -2
  425. package/dist/esm/props/weight.prop.d.ts +1 -1
  426. package/dist/esm/props/weight.prop.js +1 -1
  427. package/dist/esm/props/weight.prop.js.map +2 -2
  428. package/layout/components.css +1 -0
  429. package/layout.css +1 -0
  430. package/package.json +2 -1
  431. package/src/components/_internal/base-button.css +483 -284
  432. package/src/components/_internal/base-button.props.ts +87 -0
  433. package/src/components/_internal/base-button.tsx +127 -10
  434. package/src/components/_internal/base-card.css +866 -83
  435. package/src/components/_internal/base-checkbox.css +252 -52
  436. package/src/components/_internal/base-checkbox.props.ts +4 -1
  437. package/src/components/_internal/base-dialog.css +39 -8
  438. package/src/components/_internal/base-menu.css +55 -32
  439. package/src/components/_internal/base-menu.props.ts +10 -0
  440. package/src/components/_internal/base-radio.css +222 -52
  441. package/src/components/_internal/base-radio.props.ts +4 -1
  442. package/src/components/_internal/base-sidebar-menu.css +223 -0
  443. package/src/components/_internal/base-sidebar.css +141 -0
  444. package/src/components/_internal/base-tab-list.css +16 -0
  445. package/src/components/accordion.css +657 -0
  446. package/src/components/accordion.props.tsx +90 -0
  447. package/src/components/accordion.tsx +209 -0
  448. package/src/components/alert-dialog.props.tsx +22 -2
  449. package/src/components/alert-dialog.tsx +94 -3
  450. package/src/components/avatar.css +294 -152
  451. package/src/components/avatar.props.tsx +7 -1
  452. package/src/components/avatar.tsx +12 -2
  453. package/src/components/badge.css +160 -138
  454. package/src/components/badge.props.tsx +10 -3
  455. package/src/components/badge.tsx +71 -9
  456. package/src/components/button.css +88 -0
  457. package/src/components/button.props.tsx +17 -0
  458. package/src/components/button.tsx +107 -5
  459. package/src/components/callout.css +122 -35
  460. package/src/components/callout.props.tsx +7 -1
  461. package/src/components/callout.tsx +32 -9
  462. package/src/components/card.css +0 -597
  463. package/src/components/card.props.tsx +3 -0
  464. package/src/components/card.tsx +4 -2
  465. package/src/components/checkbox-cards.css +27 -104
  466. package/src/components/checkbox-cards.props.tsx +2 -2
  467. package/src/components/checkbox-cards.tsx +21 -3
  468. package/src/components/checkbox.tsx +2 -0
  469. package/src/components/code.css +1 -1
  470. package/src/components/code.tsx +1 -1
  471. package/src/components/container.css +1 -0
  472. package/src/components/context-menu.tsx +54 -12
  473. package/src/components/dialog.props.tsx +3 -0
  474. package/src/components/dialog.tsx +93 -3
  475. package/src/components/dropdown-menu.tsx +49 -12
  476. package/src/components/icon-button.css +73 -4
  477. package/src/components/icon-button.tsx +125 -19
  478. package/src/components/image.css +160 -91
  479. package/src/components/image.props.ts +152 -15
  480. package/src/components/image.tsx +290 -247
  481. package/src/components/index.css +1 -0
  482. package/src/components/index.tsx +1 -0
  483. package/src/components/kbd.css +23 -44
  484. package/src/components/progress.css +130 -149
  485. package/src/components/progress.props.tsx +2 -2
  486. package/src/components/radio-cards.css +23 -113
  487. package/src/components/radio-cards.props.tsx +2 -2
  488. package/src/components/radio-cards.tsx +45 -18
  489. package/src/components/radio.tsx +4 -3
  490. package/src/components/scroll-area.css +1 -1
  491. package/src/components/segmented-control.css +83 -64
  492. package/src/components/segmented-control.props.tsx +3 -3
  493. package/src/components/select.css +502 -224
  494. package/src/components/select.props.tsx +8 -0
  495. package/src/components/select.tsx +45 -2
  496. package/src/components/sidebar.css +186 -630
  497. package/src/components/sidebar.tsx +61 -5
  498. package/src/components/slider.css +228 -88
  499. package/src/components/slider.props.tsx +6 -2
  500. package/src/components/slider.tsx +201 -24
  501. package/src/components/spinner.css +12 -0
  502. package/src/components/switch.css +135 -216
  503. package/src/components/switch.props.tsx +16 -4
  504. package/src/components/switch.tsx +5 -3
  505. package/src/components/tab-nav.tsx +6 -3
  506. package/src/components/tabs.tsx +2 -0
  507. package/src/components/text-area.css +222 -140
  508. package/src/components/text-area.props.tsx +18 -1
  509. package/src/components/text-area.tsx +58 -7
  510. package/src/components/text-field.css +214 -131
  511. package/src/components/text-field.props.tsx +17 -0
  512. package/src/components/text-field.tsx +79 -28
  513. package/src/components/theme.props.tsx +12 -0
  514. package/src/components/theme.tsx +31 -1
  515. package/src/components/toggle-button.tsx +102 -3
  516. package/src/components/toggle-icon-button.tsx +150 -7
  517. package/src/components/tooltip.css +3 -3
  518. package/src/hooks/index.ts +1 -0
  519. package/src/hooks/use-live-announcer.ts +52 -0
  520. package/src/index.ts +1 -0
  521. package/src/props/weight.prop.ts +1 -1
  522. package/src/styles/fonts.css +27 -13
  523. package/src/styles/index.css +1 -1
  524. package/src/styles/tokens/base.css +2 -0
  525. package/src/styles/tokens/blur.css +32 -0
  526. package/src/styles/tokens/color.css +9 -9
  527. package/src/styles/tokens/constants.css +88 -140
  528. package/src/styles/tokens/index.css +2 -0
  529. package/src/styles/tokens/opacity.css +32 -0
  530. package/src/styles/tokens/radius.css +6 -10
  531. package/src/styles/tokens/shadow.css +25 -25
  532. package/src/styles/tokens/transition.css +49 -13
  533. package/src/styles/tokens/typography.css +7 -3
  534. package/src/styles/utilities/font-weight.css +16 -0
  535. package/styles.css +11129 -8945
  536. package/tokens/base.css +127 -49
  537. package/tokens.css +158 -114
  538. package/utilities.css +72 -0
@@ -15,6 +15,27 @@
15
15
  border-radius: var(--skeleton-radius);
16
16
  --skeleton-radius-override: 100%;
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
+
18
39
  &:where(:disabled, [data-disabled]) {
19
40
  cursor: var(--cursor-disabled);
20
41
  }
@@ -81,11 +102,12 @@
81
102
 
82
103
  .rt-BaseRadioRoot:where(.rt-variant-solid) {
83
104
  &:where(:not(:checked), [data-state='unchecked'])::before {
84
- background-color: var(--color-surface);
85
- box-shadow: inset 0 0 0 1px var(--gray-a7);
105
+ background-color: transparent;
106
+ box-shadow: inset 0 0 0 1px var(--accent-9);
86
107
  }
87
108
  &:where(:checked, [data-state='checked'])::before {
88
- background-color: var(--accent-indicator);
109
+ background-color: var(--accent-9);
110
+ box-shadow: inset 0 0 0 1px var(--accent-9);
89
111
  }
90
112
  &::after {
91
113
  background-color: var(--accent-contrast);
@@ -94,9 +116,10 @@
94
116
  &:where(.rt-high-contrast) {
95
117
  &:where(:checked, [data-state='checked'])::before {
96
118
  background-color: var(--accent-12);
119
+ box-shadow: inset 0 0 0 1px var(--accent-12);
97
120
  }
98
121
  &::after {
99
- background-color: var(--accent-1);
122
+ background-color: var(--gray-1);
100
123
  }
101
124
  }
102
125
 
@@ -116,64 +139,50 @@
116
139
  top: var(--classic-elevation-offset);
117
140
 
118
141
  &:where(:not(:checked), [data-state='unchecked'])::before {
119
- background-color: var(--accent-2);
120
- /* prettier-ignore */
121
- box-shadow:
122
- inset 0 calc(-1 * var(--classic-border-width)) var(--classic-shadow-blur-large) var(--accent-a2),
123
- inset 0 var(--classic-border-width) var(--white-a12),
124
- inset 0 var(--classic-shadow-blur-medium) var(--classic-shadow-blur-large) var(--accent-a2),
125
- inset 0 calc(-1 * var(--classic-border-width)) var(--accent-a6),
126
- 0 0 0 var(--classic-border-width) var(--accent-a5),
127
- 0 var(--classic-shadow-offset-y) var(--classic-shadow-blur-small) var(--accent-a7);
128
- }
129
-
130
- :where(.dark, .dark-theme) &,
131
- :where(.dark, .dark-theme) :where(.radix-themes:not(.light, .light-theme)) & {
132
- &:where(:not(:checked), [data-state='unchecked'])::before {
133
- /* prettier-ignore */
134
- box-shadow:
135
- inset 0 calc(-1 * var(--classic-border-width)) var(--classic-shadow-blur-large) var(--accent-a3),
136
- inset 0 var(--classic-border-width) var(--accent-a11),
137
- inset 0 var(--classic-shadow-blur-medium) var(--classic-shadow-blur-large) var(--accent-a2),
138
- inset 0 calc(-2 * var(--classic-border-width)) var(--black-a11),
139
- 0 0 0 var(--classic-border-width-thick) var(--accent-a7),
140
- 0 var(--classic-shadow-offset-y) var(--classic-shadow-blur-small) var(--black-a12);
142
+ color: var(--accent-a11);
143
+ background-color: var(--color-surface-solid);
144
+ box-shadow: var(--shadow-2);
145
+
146
+ /* Theme-level translucent override */
147
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
148
+ background-color: var(--color-surface-translucent);
149
+ }
150
+
151
+ /* Component-level overrides (higher specificity) */
152
+ &:where([data-panel-background='solid'], [data-material='solid']) {
153
+ background-color: var(--color-surface-solid);
154
+ }
155
+
156
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
157
+ background-color: var(--color-surface-translucent);
141
158
  }
142
159
  }
143
160
 
144
161
  &:where(:checked, [data-state='checked'])::before {
145
162
  background-color: var(--accent-3);
146
- /* prettier-ignore */
147
- box-shadow:
148
- inset 0 calc(-1 * var(--classic-border-width)) var(--classic-shadow-blur-large) var(--accent-a2),
149
- inset 0 var(--classic-border-width) var(--white-a12),
150
- inset 0 var(--classic-shadow-blur-medium) var(--classic-shadow-blur-large) var(--accent-a2),
151
- inset 0 calc(-1 * var(--classic-border-width)) var(--accent-a6),
152
- 0 0 0 var(--classic-border-width) var(--accent-a5),
153
- 0 var(--classic-shadow-offset-y) var(--classic-shadow-blur-small) var(--accent-a7);
163
+ box-shadow: var(--shadow-1);
164
+
165
+ /* Theme-level translucent override */
166
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
167
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
168
+ }
169
+
170
+ /* Component-level overrides (higher specificity) */
171
+ &:where([data-panel-background='solid'], [data-material='solid']) {
172
+ background-color: var(--accent-3);
173
+ }
174
+
175
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
176
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
177
+ }
154
178
  }
155
179
  &::after {
156
180
  background-color: var(--accent-a11);
157
181
  }
158
-
159
- :where(.dark, .dark-theme) &,
160
- :where(.dark, .dark-theme) :where(.radix-themes:not(.light, .light-theme)) & {
161
- &:where(:checked, [data-state='checked'])::before {
162
- background-color: var(--accent-3);
163
- /* prettier-ignore */
164
- box-shadow:
165
- inset 0 calc(-1 * var(--classic-border-width)) var(--classic-shadow-blur-large) var(--accent-a3),
166
- inset 0 var(--classic-border-width) var(--accent-a11),
167
- inset 0 var(--classic-shadow-blur-medium) var(--classic-shadow-blur-large) var(--accent-a2),
168
- inset 0 calc(-2 * var(--classic-border-width)) var(--black-a11),
169
- 0 0 0 var(--classic-border-width-thick) var(--accent-a7),
170
- 0 var(--classic-shadow-offset-y) var(--classic-shadow-blur-small) var(--black-a12);
171
- }
172
- }
173
182
 
174
183
  &:where(.rt-high-contrast) {
175
184
  &::after {
176
- background-color: var(--accent-12);
185
+ color: var(--accent-12);
177
186
  }
178
187
  }
179
188
 
@@ -181,7 +190,22 @@
181
190
  top: calc(var(--classic-elevation-offset) + var(--classic-active-padding-offset-1));
182
191
 
183
192
  &::before {
184
- box-shadow: inset 0 var(--classic-border-width) var(--black-a3), 0 0 0 var(--classic-border-width) var(--accent-a7);
193
+ background-color: var(--accent-3);
194
+ box-shadow: var(--shadow-1);
195
+
196
+ /* Theme-level translucent override for active */
197
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
198
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
199
+ }
200
+
201
+ /* Component-level overrides for active */
202
+ &:where([data-panel-background='solid'], [data-material='solid']) {
203
+ background-color: var(--accent-3);
204
+ }
205
+
206
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
207
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
208
+ }
185
209
  }
186
210
  }
187
211
 
@@ -202,7 +226,21 @@
202
226
 
203
227
  .rt-BaseRadioRoot:where(.rt-variant-soft) {
204
228
  &::before {
205
- background-color: var(--accent-a4);
229
+ background-color: var(--accent-3);
230
+
231
+ /* Theme-level translucent override */
232
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
233
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
234
+ }
235
+
236
+ /* Component-level overrides (higher specificity) */
237
+ &:where([data-panel-background='solid'], [data-material='solid']) {
238
+ background-color: var(--accent-3);
239
+ }
240
+
241
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
242
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
243
+ }
206
244
  }
207
245
  &::after {
208
246
  background-color: var(--accent-a11);
@@ -226,3 +264,135 @@
226
264
  background-color: var(--gray-a8);
227
265
  }
228
266
  }
267
+
268
+
269
+
270
+ /* outline */
271
+
272
+ .rt-BaseRadioRoot:where(.rt-variant-outline) {
273
+ &:where(:not(:checked), [data-state='unchecked'])::before {
274
+ box-shadow: inset 0 0 0 1px var(--accent-6);
275
+ color: var(--accent-11);
276
+
277
+ /* Theme-level translucent override */
278
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
279
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
280
+ color: var(--accent-a11);
281
+ }
282
+
283
+ /* Component-level overrides (higher specificity) */
284
+ &:where([data-panel-background='solid'], [data-material='solid']) {
285
+ box-shadow: inset 0 0 0 1px var(--accent-6);
286
+ color: var(--accent-11);
287
+ }
288
+
289
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
290
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
291
+ color: var(--accent-a11);
292
+ }
293
+ }
294
+
295
+ &:where(:checked, [data-state='checked'])::before {
296
+ background-color: var(--accent-2);
297
+ box-shadow: inset 0 0 0 1px var(--accent-7);
298
+
299
+ /* Theme-level translucent override */
300
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
301
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
302
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
303
+ }
304
+
305
+ /* Component-level overrides (higher specificity) */
306
+ &:where([data-panel-background='solid'], [data-material='solid']) {
307
+ background-color: var(--accent-2);
308
+ box-shadow: inset 0 0 0 1px var(--accent-7);
309
+ }
310
+
311
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
312
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
313
+ box-shadow: inset 0 0 0 1px var(--accent-a7);
314
+ }
315
+ }
316
+ &::after {
317
+ background-color: var(--accent-a11);
318
+ }
319
+
320
+ &:where(.rt-high-contrast) {
321
+ &::after {
322
+ background-color: var(--accent-12);
323
+ }
324
+ }
325
+
326
+ &:where(:disabled, [data-disabled])::before {
327
+ box-shadow: inset 0 0 0 1px var(--gray-a7);
328
+ background-color: transparent;
329
+ }
330
+ &:where(:disabled, [data-disabled])::after {
331
+ background-color: var(--gray-a8);
332
+ }
333
+ }
334
+
335
+ /* surface */
336
+
337
+ .rt-BaseRadioRoot:where(.rt-variant-surface) {
338
+ &:where(:not(:checked), [data-state='unchecked'])::before {
339
+ background-color: var(--accent-2);
340
+ box-shadow: inset 0 0 0 1px var(--accent-6);
341
+
342
+ /* Theme-level translucent override */
343
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
344
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
345
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
346
+ }
347
+
348
+ /* Component-level overrides (higher specificity) */
349
+ &:where([data-panel-background='solid'], [data-material='solid']) {
350
+ background-color: var(--accent-2);
351
+ box-shadow: inset 0 0 0 1px var(--accent-6);
352
+ }
353
+
354
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
355
+ background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
356
+ box-shadow: inset 0 0 0 1px var(--accent-a6);
357
+ }
358
+ }
359
+
360
+ &:where(:checked, [data-state='checked'])::before {
361
+ background-color: var(--accent-3);
362
+ box-shadow: inset 0 0 0 1px var(--accent-8);
363
+
364
+ /* Theme-level translucent override */
365
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
366
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
367
+ box-shadow: inset 0 0 0 1px var(--accent-a8);
368
+ }
369
+
370
+ /* Component-level overrides (higher specificity) */
371
+ &:where([data-panel-background='solid'], [data-material='solid']) {
372
+ background-color: var(--accent-3);
373
+ box-shadow: inset 0 0 0 1px var(--accent-8);
374
+ }
375
+
376
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
377
+ background-color: color-mix(in srgb, var(--accent-a3), var(--accent-3) 60%);
378
+ box-shadow: inset 0 0 0 1px var(--accent-a8);
379
+ }
380
+ }
381
+ &::after {
382
+ background-color: var(--accent-a11);
383
+ }
384
+
385
+ &:where(.rt-high-contrast) {
386
+ &::after {
387
+ background-color: var(--accent-12);
388
+ }
389
+ }
390
+
391
+ &:where(:disabled, [data-disabled])::before {
392
+ box-shadow: inset 0 0 0 1px var(--gray-a6);
393
+ background-color: var(--gray-a2);
394
+ }
395
+ &:where(:disabled, [data-disabled])::after {
396
+ background-color: var(--gray-a8);
397
+ }
398
+ }
@@ -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 baseRadioPropDefs = {
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 { baseRadioPropDefs };
@@ -0,0 +1,223 @@
1
+ /* Base Sidebar Menu Styles */
2
+
3
+ /* Sidebar Menu - based on rt-BaseMenuViewport */
4
+ .rt-SidebarMenu {
5
+ flex: 1;
6
+ display: flex;
7
+ flex-direction: column;
8
+ padding: var(--base-menu-content-padding);
9
+ box-sizing: border-box;
10
+ list-style: none;
11
+ margin: 0;
12
+ min-height: 0;
13
+
14
+ :where(.rt-SidebarContent:has(.rt-ScrollAreaScrollbar[data-orientation='vertical'])) & {
15
+ padding-right: var(--space-3);
16
+ }
17
+ }
18
+
19
+ /* Sidebar Menu Item */
20
+ .rt-SidebarMenuItem {
21
+ list-style: none;
22
+ }
23
+
24
+ /* Sidebar Menu Button - inherit from BaseMenuItem */
25
+ .rt-SidebarMenuButton {
26
+ display: flex;
27
+ align-items: center;
28
+ gap: var(--space-2); /* Will be overridden by size-specific gap */
29
+ min-height: var(--base-menu-item-height);
30
+ padding-top: var(--base-menu-item-padding-y);
31
+ padding-bottom: var(--base-menu-item-padding-y);
32
+ padding-left: var(--base-menu-item-padding-left);
33
+ padding-right: var(--base-menu-item-padding-right);
34
+ box-sizing: border-box;
35
+ position: relative;
36
+ outline: none;
37
+ scroll-margin: var(--base-menu-content-padding) 0;
38
+ background: none;
39
+ border: none;
40
+ width: 100%;
41
+ text-align: left;
42
+ /* No default border radius - inherited from size-specific rules */
43
+
44
+ /* Transitions - inherit from base menu */
45
+ transition: var(--transition-menu);
46
+
47
+ /* Fix sticky text highlighting after selection in Firefox */
48
+ user-select: none;
49
+
50
+ /* Cursors */
51
+ cursor: var(--cursor-menu-item);
52
+ &:where([data-disabled]) {
53
+ cursor: default;
54
+ color: var(--gray-a8);
55
+ }
56
+
57
+ /* Active navigation state - always accent-based */
58
+ &:where([data-active], .rt-active) {
59
+ background-color: var(--accent-a3);
60
+ color: var(--accent-a12);
61
+ }
62
+
63
+ /* Focus state */
64
+ &:where(:focus-visible) {
65
+ outline: 2px solid var(--focus-8);
66
+ outline-offset: 2px;
67
+ }
68
+
69
+ /* Accent color support */
70
+ &:where([data-accent-color]) {
71
+ color: var(--accent-a11);
72
+ }
73
+
74
+ /* Gray text support - inherit from base menu */
75
+ & :where(.rt-Text[data-accent-color='gray'], [data-accent-color='gray']:not(.rt-Badge)) {
76
+ color: var(--gray-a10);
77
+ }
78
+
79
+ /* Ensure shortcuts inherit color in disabled/highlighted/active states */
80
+ &:where([data-disabled], [data-highlighted], [data-active]) {
81
+ & :where(.rt-SidebarMenuShortcut) {
82
+ color: inherit;
83
+ }
84
+ }
85
+
86
+ /* Reduced motion support */
87
+ @media (prefers-reduced-motion: reduce) {
88
+ transition: none;
89
+ }
90
+ }
91
+
92
+ /* Sidebar Menu Sub Components - Radix Accordion */
93
+ .rt-SidebarMenuSubTrigger {
94
+ justify-content: space-between;
95
+ }
96
+
97
+ /* Accordion trigger icon rotation */
98
+ .rt-SidebarMenuSubTrigger {
99
+ & :where(.rt-SidebarMenuSubTriggerIcon) {
100
+ transition: transform 0.2s ease;
101
+ }
102
+
103
+ &:where([data-state="open"]) :where(.rt-SidebarMenuSubTriggerIcon) {
104
+ transform: rotate(90deg);
105
+ }
106
+ }
107
+
108
+ .rt-SidebarMenuSubContent {
109
+ overflow: hidden;
110
+
111
+ /* Allow focus outlines to show */
112
+ &:where(:focus-within) {
113
+ overflow: visible;
114
+ }
115
+
116
+ /* Radix Accordion animation support */
117
+ &:where([data-state="open"]) {
118
+ animation: rt-sidebar-slide-down 200ms ease-out;
119
+ }
120
+
121
+ &:where([data-state="closed"]) {
122
+ animation: rt-sidebar-slide-up 200ms ease-out;
123
+ }
124
+ }
125
+
126
+ @keyframes rt-sidebar-slide-down {
127
+ from {
128
+ height: 0;
129
+ }
130
+ to {
131
+ height: var(--radix-accordion-content-height);
132
+ }
133
+ }
134
+
135
+ @keyframes rt-sidebar-slide-up {
136
+ from {
137
+ height: var(--radix-accordion-content-height);
138
+ }
139
+ to {
140
+ height: 0;
141
+ }
142
+ }
143
+
144
+ .rt-SidebarMenuSubList {
145
+ padding-left: var(--space-4);
146
+ border-left: 1px solid var(--gray-a5);
147
+ margin-left: var(--space-3);
148
+ }
149
+
150
+ /* Sub-menu items have consistent heights based on size - match dropdown menu exactly */
151
+ :where(.rt-SidebarContent.rt-r-size-1) :where(.rt-SidebarMenuSubList) .rt-SidebarMenuButton {
152
+ padding-left: var(--space-3);
153
+ padding-top: calc(var(--space-1) * 0.75);
154
+ padding-bottom: calc(var(--space-1) * 0.75);
155
+ min-height: var(--space-5); /* 20px */
156
+ font-size: var(--font-size-1);
157
+ }
158
+
159
+ :where(.rt-SidebarContent.rt-r-size-2) :where(.rt-SidebarMenuSubList) .rt-SidebarMenuButton {
160
+ padding-left: var(--space-3);
161
+ padding-top: var(--space-1);
162
+ padding-bottom: var(--space-1);
163
+ min-height: var(--space-6); /* 24px */
164
+ font-size: var(--font-size-2);
165
+ }
166
+
167
+ /* Sidebar Group Components - identical to base menu */
168
+ .rt-SidebarGroup {
169
+ /* No styling - purely semantic like BaseMenuGroup */
170
+ }
171
+
172
+ .rt-SidebarGroupLabel {
173
+ /* Inherit all BaseMenuLabel styles */
174
+ display: flex;
175
+ align-items: center;
176
+ min-height: var(--base-menu-item-height);
177
+ padding-top: var(--base-menu-item-padding-y);
178
+ padding-bottom: var(--base-menu-item-padding-y);
179
+ padding-left: var(--base-menu-item-padding-left);
180
+ padding-right: var(--base-menu-item-padding-right);
181
+ box-sizing: border-box;
182
+ color: var(--gray-a10);
183
+ user-select: none;
184
+ cursor: default;
185
+
186
+ /* Add margin-top when following menu items - identical to BaseMenuLabel */
187
+ :where(.rt-SidebarMenuItem) + & {
188
+ margin-top: var(--space-2);
189
+ }
190
+ }
191
+
192
+ /* Reduce right padding on menu buttons with trailing elements */
193
+ .rt-SidebarMenuButton:where(:has(.rt-SidebarMenuShortcut, .rt-SidebarMenuBadge)) {
194
+ /* Use base menu padding tokens */
195
+ :where(.rt-SidebarContent.rt-r-size-1) & {
196
+ padding-right: var(--base-menu-item-padding-y); /* Matches top/bottom padding */
197
+ }
198
+
199
+ :where(.rt-SidebarContent.rt-r-size-2) & {
200
+ padding-right: var(--base-menu-item-padding-y); /* Matches top/bottom padding */
201
+ }
202
+ }
203
+
204
+ .rt-SidebarMenuShortcut {
205
+ display: flex;
206
+ align-items: center;
207
+ margin-left: auto;
208
+ padding-left: var(--space-4);
209
+ color: var(--gray-a11);
210
+ }
211
+
212
+ .rt-SidebarMenuBadge {
213
+ display: flex;
214
+ align-items: center;
215
+ margin-left: auto;
216
+ padding-left: var(--space-2);
217
+ }
218
+
219
+ /* Add balanced spacing for sidebar menu items while preserving base menu border radius */
220
+ .rt-SidebarContent :where(.rt-BaseMenuItem) {
221
+ margin-top: calc(var(--space-1) / 2);
222
+ margin-bottom: calc(var(--space-1) / 2);
223
+ }