@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
@@ -5,11 +5,6 @@
5
5
  /* Make sure these tags are wrapped in `:where()` for 0 specificity. */
6
6
 
7
7
  .rt-Card {
8
- --base-card-padding-top: var(--card-padding);
9
- --base-card-padding-right: var(--card-padding);
10
- --base-card-padding-bottom: var(--card-padding);
11
- --base-card-padding-left: var(--card-padding);
12
- --base-card-border-radius: var(--card-border-radius);
13
8
  --base-card-border-width: var(--card-border-width);
14
9
 
15
10
  &:where(:focus-visible) {
@@ -27,596 +22,4 @@
27
22
  }
28
23
  }
29
24
 
30
- /* * * * * * * * * * * * * * * * * * * */
31
- /* */
32
- /* Sizes */
33
- /* */
34
- /* * * * * * * * * * * * * * * * * * * */
35
25
 
36
- @breakpoints {
37
- .rt-Card {
38
- &:where(.rt-r-size-1) {
39
- --card-padding: var(--space-3);
40
- --card-border-radius: var(--radius-3);
41
- }
42
- &:where(.rt-r-size-2) {
43
- --card-padding: var(--space-4);
44
- --card-border-radius: var(--radius-4);
45
- }
46
- &:where(.rt-r-size-3) {
47
- --card-padding: var(--space-5);
48
- --card-border-radius: var(--radius-5);
49
- }
50
- &:where(.rt-r-size-4) {
51
- --card-padding: var(--space-6);
52
- --card-border-radius: var(--radius-6);
53
- }
54
- &:where(.rt-r-size-5) {
55
- --card-padding: var(--space-8);
56
- --card-border-radius: var(--radius-7);
57
- }
58
- }
59
- }
60
-
61
- /* * * * * * * * * * * * * * * * * * * */
62
- /* */
63
- /* Variants / Outline */
64
- /* */
65
- /* * * * * * * * * * * * * * * * * * * */
66
-
67
- .rt-Card:where(.rt-variant-outline) {
68
- --card-border-width: 1px;
69
- --card-background-color: var(--color-panel);
70
-
71
- &::before {
72
- background-color: var(--card-background-color);
73
- backdrop-filter: var(--backdrop-filter-panel);
74
- }
75
- &::after {
76
- box-shadow: var(--base-card-surface-box-shadow);
77
- }
78
- &:where(:any-link, button, label) {
79
- @media (hover: hover) {
80
- &:where(:hover) {
81
- &::after {
82
- box-shadow: var(--base-card-surface-hover-box-shadow);
83
- }
84
- }
85
- }
86
- &:where([data-state='open']) {
87
- &::after {
88
- box-shadow: var(--base-card-surface-hover-box-shadow);
89
- }
90
- }
91
- &:where(:active:not([data-state='open'])) {
92
- &::after {
93
- box-shadow: var(--base-card-surface-active-box-shadow);
94
- }
95
- }
96
- }
97
- }
98
-
99
- /* * * * * * * * * * * * * * * * * * * */
100
- /* */
101
- /* Variants / Classic */
102
- /* */
103
- /* * * * * * * * * * * * * * * * * * * */
104
-
105
- .rt-Card:where(.rt-variant-classic) {
106
- --card-border-width: 1px;
107
- --card-background-color: var(--color-surface);
108
-
109
- transition: box-shadow 120ms;
110
- box-shadow: var(--base-card-classic-box-shadow-outer);
111
-
112
- &::before {
113
- background-color: var(--card-background-color);
114
- backdrop-filter: var(--backdrop-filter-panel);
115
- }
116
- &::after {
117
- box-shadow: var(--base-card-classic-box-shadow-inner);
118
- }
119
- &:where(:any-link, button, label) {
120
- @media (hover: hover) {
121
- &:where(:hover) {
122
- transition-duration: 40ms;
123
- box-shadow: var(--base-card-classic-hover-box-shadow-outer);
124
- &::after {
125
- box-shadow: var(--base-card-classic-hover-box-shadow-inner);
126
- }
127
- }
128
- }
129
- &:where([data-state='open']) {
130
- transition-duration: 40ms;
131
- box-shadow: var(--base-card-classic-hover-box-shadow-outer);
132
- &::after {
133
- box-shadow: var(--base-card-classic-hover-box-shadow-inner);
134
- }
135
- }
136
- &:where(:active:not([data-state='open'])) {
137
- box-shadow: var(--base-card-classic-active-box-shadow-outer);
138
- &::after {
139
- box-shadow: var(--base-card-classic-active-box-shadow-inner);
140
- }
141
- }
142
- }
143
- }
144
-
145
- /* * * * * * * * * * * * * * * * * * * */
146
- /* */
147
- /* Variants / Ghost */
148
- /* */
149
- /* * * * * * * * * * * * * * * * * * * */
150
-
151
- .rt-Card:where(.rt-variant-ghost) {
152
- --card-border-width: 0px;
153
- transition: var(--transition-background-blur);
154
-
155
- /* Disable base card backdrop-filter to prevent double blur effect */
156
- &::before {
157
- backdrop-filter: none !important;
158
- }
159
-
160
- &:where([data-flush='true']) {
161
- /* We reset the defined margin variables to avoid inheriting them from a higher component */
162
- /* If a margin IS defined on the component itself, the utility class will win and reset it */
163
- --margin-top: 0px;
164
- --margin-right: 0px;
165
- --margin-bottom: 0px;
166
- --margin-left: 0px;
167
-
168
- /* Define the overrides to incorporate the negative margins */
169
- --margin-top-override: calc(var(--margin-top) - var(--card-padding));
170
- --margin-right-override: calc(var(--margin-right) - var(--card-padding));
171
- --margin-bottom-override: calc(var(--margin-bottom) - var(--card-padding));
172
- --margin-left-override: calc(var(--margin-left) - var(--card-padding));
173
-
174
- margin-top: var(--margin-top-override);
175
- margin-right: var(--margin-right-override);
176
- margin-bottom: var(--margin-bottom-override);
177
- margin-left: var(--margin-left-override);
178
-
179
- /* Reset the overrides on direct children */
180
- :where(&) > * {
181
- --margin-top-override: initial;
182
- --margin-right-override: initial;
183
- --margin-bottom-override: initial;
184
- --margin-left-override: initial;
185
- }
186
- }
187
-
188
- &:where(:any-link, button, label) {
189
- @media (hover: hover) {
190
- &:where(:hover) {
191
- /* Base state: solid accent for solid panels */
192
- background-color: var(--gray-3);
193
-
194
- /* Theme-level translucent override for hover */
195
- :where([data-panel-background='translucent']) & {
196
- background-color: var(--gray-a3);
197
- backdrop-filter: var(--backdrop-filter-components);
198
- }
199
-
200
- /* Component-level overrides for hover */
201
- &:where([data-panel-background='solid']) {
202
- background-color: var(--gray-3);
203
- backdrop-filter: none;
204
- --backdrop-filter-components: none;
205
- }
206
-
207
- &:where([data-panel-background='translucent']) {
208
- background-color: var(--gray-a3);
209
- backdrop-filter: var(--backdrop-filter-components);
210
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
211
- }
212
-
213
- /* Disable backdrop-filter when inside elements that already have backdrop-filter */
214
- :where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
215
- backdrop-filter: none !important;
216
- }
217
-
218
- &:where(:focus-visible) {
219
- background-color: var(--focus-a2);
220
- }
221
- }
222
- }
223
- &:where([data-state='open']) {
224
- /* Base state: solid accent for solid panels */
225
- background-color: var(--gray-3);
226
-
227
- /* Theme-level translucent override for open */
228
- :where([data-panel-background='translucent']) & {
229
- background-color: var(--gray-a3);
230
- backdrop-filter: var(--backdrop-filter-components);
231
- }
232
-
233
- /* Component-level overrides for open */
234
- &:where([data-panel-background='solid']) {
235
- background-color: var(--gray-3);
236
- backdrop-filter: none;
237
- --backdrop-filter-components: none;
238
- }
239
-
240
- &:where([data-panel-background='translucent']) {
241
- background-color: var(--gray-a3);
242
- backdrop-filter: var(--backdrop-filter-components);
243
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
244
- }
245
-
246
- /* Disable backdrop-filter when inside elements that already have backdrop-filter */
247
- :where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
248
- backdrop-filter: none !important;
249
- }
250
-
251
- &:where(:focus-visible) {
252
- background-color: var(--focus-a2);
253
- }
254
- }
255
- &:where(:active:not([data-state='open'])) {
256
- /* Base state: solid accent for solid panels */
257
- background-color: var(--gray-4);
258
-
259
- /* Theme-level translucent override for active */
260
- :where([data-panel-background='translucent']) & {
261
- background-color: var(--gray-a4);
262
- backdrop-filter: var(--backdrop-filter-components);
263
- }
264
-
265
- /* Component-level overrides for active */
266
- &:where([data-panel-background='solid']) {
267
- background-color: var(--gray-4);
268
- backdrop-filter: none;
269
- --backdrop-filter-components: none;
270
- }
271
-
272
- &:where([data-panel-background='translucent']) {
273
- background-color: var(--gray-a4);
274
- backdrop-filter: var(--backdrop-filter-components);
275
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
276
- }
277
-
278
- /* Disable backdrop-filter when inside elements that already have backdrop-filter */
279
- :where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
280
- backdrop-filter: none !important;
281
- }
282
-
283
- &:where(:focus-visible) {
284
- background-color: var(--focus-a2);
285
- }
286
- }
287
- }
288
- }
289
-
290
- /* * * * * * * * * * * * * * * * * * * */
291
- /* */
292
- /* Variants / Soft */
293
- /* */
294
- /* * * * * * * * * * * * * * * * * * * */
295
-
296
- .rt-Card:where(.rt-variant-soft) {
297
- --card-border-width: 0px;
298
-
299
- /* Base state: solid colors for solid panels */
300
- --card-background-color: var(--gray-2);
301
-
302
- /* Theme-level translucent override */
303
- :where([data-panel-background='translucent']) & {
304
- --card-background-color: var(--gray-a2);
305
- }
306
-
307
- /* Component-level overrides (higher specificity) */
308
- &:where([data-panel-background='solid']) {
309
- --card-background-color: var(--gray-2);
310
- }
311
-
312
- &:where([data-panel-background='translucent']) {
313
- --card-background-color: var(--gray-a2);
314
- }
315
-
316
- &::before {
317
- background-color: var(--card-background-color);
318
-
319
- /* Theme-level translucent override */
320
- :where([data-panel-background='translucent']) & {
321
- backdrop-filter: var(--backdrop-filter-panel);
322
- }
323
-
324
- /* Component-level overrides (higher specificity) */
325
- :where(.rt-Card[data-panel-background='solid']) & {
326
- backdrop-filter: none;
327
- --backdrop-filter-panel: none;
328
- }
329
-
330
- :where(.rt-Card[data-panel-background='translucent']) & {
331
- backdrop-filter: var(--backdrop-filter-panel);
332
- --backdrop-filter-panel: blur(var(--backdrop-blur-panel));
333
- }
334
- }
335
-
336
- &::after {
337
- box-shadow: none;
338
- border: none;
339
- outline: none;
340
- }
341
-
342
- &:where(:focus-visible) {
343
- outline: none;
344
-
345
- &::after {
346
- outline: none;
347
- }
348
- }
349
-
350
- &:where(:any-link, button, label) {
351
- @media (hover: hover) {
352
- &:where(:hover) {
353
- &::before {
354
- /* Base state: solid colors for solid panels */
355
- background-color: var(--gray-3);
356
-
357
- /* Theme-level translucent override for hover */
358
- :where([data-panel-background='translucent']) & {
359
- background-color: var(--gray-a3);
360
- backdrop-filter: var(--backdrop-filter-panel);
361
- }
362
-
363
- /* Component-level overrides for hover */
364
- :where(.rt-Card[data-panel-background='solid']) & {
365
- background-color: var(--gray-3);
366
- backdrop-filter: none;
367
- --backdrop-filter-panel: none;
368
- }
369
-
370
- :where(.rt-Card[data-panel-background='translucent']) & {
371
- background-color: var(--gray-a3);
372
- backdrop-filter: var(--backdrop-filter-panel);
373
- --backdrop-filter-panel: blur(var(--backdrop-blur-panel));
374
- }
375
-
376
- /* Disable backdrop-filter when inside elements that already have backdrop-filter */
377
- :where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
378
- backdrop-filter: none !important;
379
- }
380
- }
381
- }
382
- }
383
- &:where([data-state='open']) {
384
- &::before {
385
- /* Base state: solid colors for solid panels */
386
- background-color: var(--gray-3);
387
-
388
- /* Theme-level translucent override for open */
389
- :where([data-panel-background='translucent']) & {
390
- background-color: var(--gray-a3);
391
- backdrop-filter: var(--backdrop-filter-panel);
392
- }
393
-
394
- /* Component-level overrides for open */
395
- :where(.rt-Card[data-panel-background='solid']) & {
396
- background-color: var(--gray-3);
397
- backdrop-filter: none;
398
- --backdrop-filter-panel: none;
399
- }
400
-
401
- :where(.rt-Card[data-panel-background='translucent']) & {
402
- background-color: var(--gray-a3);
403
- backdrop-filter: var(--backdrop-filter-panel);
404
- --backdrop-filter-panel: blur(var(--backdrop-blur-panel));
405
- }
406
-
407
- /* Disable backdrop-filter when inside elements that already have backdrop-filter */
408
- :where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
409
- backdrop-filter: none !important;
410
- }
411
- }
412
- }
413
- &:where(:active:not([data-state='open'])) {
414
- &::before {
415
- /* Base state: solid colors for solid panels */
416
- background-color: var(--gray-4);
417
-
418
- /* Theme-level translucent override for active */
419
- :where([data-panel-background='translucent']) & {
420
- background-color: var(--gray-a4);
421
- backdrop-filter: var(--backdrop-filter-panel);
422
- }
423
-
424
- /* Component-level overrides for active */
425
- :where(.rt-Card[data-panel-background='solid']) & {
426
- background-color: var(--gray-4);
427
- backdrop-filter: none;
428
- --backdrop-filter-panel: none;
429
- }
430
-
431
- :where(.rt-Card[data-panel-background='translucent']) & {
432
- background-color: var(--gray-a4);
433
- backdrop-filter: var(--backdrop-filter-panel);
434
- --backdrop-filter-panel: blur(var(--backdrop-blur-panel));
435
- }
436
- }
437
- }
438
- }
439
- }
440
-
441
- /* * * * * * * * * * * * * * * * * * * */
442
- /* */
443
- /* Variants / Surface */
444
- /* */
445
- /* * * * * * * * * * * * * * * * * * * */
446
-
447
- .rt-Card:where(.rt-variant-surface) {
448
- --card-border-width: 1px;
449
-
450
- /* Base state: neutral gray background with lighter border (maintains card neutrality) */
451
- --card-background-color: var(--gray-1);
452
-
453
- /* Theme-level translucent override */
454
- :where([data-panel-background='translucent']) & {
455
- --card-background-color: var(--gray-a1);
456
- }
457
-
458
- /* Component-level overrides (higher specificity) */
459
- &:where([data-panel-background='solid']) {
460
- --card-background-color: var(--gray-1);
461
- }
462
-
463
- &:where([data-panel-background='translucent']) {
464
- --card-background-color: var(--gray-a1);
465
- }
466
-
467
- &::before {
468
- background-color: var(--card-background-color);
469
-
470
- /* Theme-level translucent override */
471
- :where([data-panel-background='translucent']) & {
472
- backdrop-filter: var(--backdrop-filter-panel);
473
- }
474
-
475
- /* Component-level overrides (higher specificity) */
476
- :where(.rt-Card[data-panel-background='solid']) & {
477
- backdrop-filter: none;
478
- --backdrop-filter-panel: none;
479
- }
480
-
481
- :where(.rt-Card[data-panel-background='translucent']) & {
482
- backdrop-filter: var(--backdrop-filter-panel);
483
- --backdrop-filter-panel: blur(var(--backdrop-blur-panel));
484
- }
485
- }
486
-
487
- &::after {
488
- box-shadow: inset 0 0 0 var(--card-border-width) var(--gray-6);
489
-
490
- /* Theme-level translucent override */
491
- :where([data-panel-background='translucent']) & {
492
- box-shadow: inset 0 0 0 var(--card-border-width) var(--gray-a6);
493
- }
494
-
495
- /* Component-level overrides */
496
- &:where([data-panel-background='solid']) {
497
- box-shadow: inset 0 0 0 var(--card-border-width) var(--gray-6);
498
- }
499
-
500
- &:where([data-panel-background='translucent']) {
501
- box-shadow: inset 0 0 0 var(--card-border-width) var(--gray-a6);
502
- }
503
- }
504
-
505
- &:where(:any-link, button, label) {
506
- @media (hover: hover) {
507
- &:where(:hover) {
508
- &::before {
509
- /* Base state: darker gray for hover */
510
- background-color: var(--gray-2);
511
-
512
- /* Theme-level translucent override for hover */
513
- :where([data-panel-background='translucent']) & {
514
- background-color: var(--gray-a2);
515
- backdrop-filter: var(--backdrop-filter-panel);
516
- }
517
-
518
- /* Component-level overrides for hover */
519
- :where(.rt-Card[data-panel-background='solid']) & {
520
- background-color: var(--gray-2);
521
- backdrop-filter: none;
522
- --backdrop-filter-panel: none;
523
- }
524
-
525
- :where(.rt-Card[data-panel-background='translucent']) & {
526
- background-color: var(--gray-a2);
527
- backdrop-filter: var(--backdrop-filter-panel);
528
- --backdrop-filter-panel: blur(var(--backdrop-blur-panel));
529
- }
530
- }
531
-
532
- &::after {
533
- box-shadow: inset 0 0 0 var(--card-border-width) var(--gray-7);
534
-
535
- /* Theme-level translucent override */
536
- :where([data-panel-background='translucent']) & {
537
- box-shadow: inset 0 0 0 var(--card-border-width) var(--gray-a7);
538
- }
539
- }
540
- }
541
- }
542
- &:where([data-state='open']) {
543
- &::before {
544
- /* Base state: darker gray for open */
545
- background-color: var(--gray-2);
546
-
547
- /* Theme-level translucent override for open */
548
- :where([data-panel-background='translucent']) & {
549
- background-color: var(--gray-a2);
550
- backdrop-filter: var(--backdrop-filter-panel);
551
- }
552
-
553
- /* Component-level overrides for open */
554
- :where(.rt-Card[data-panel-background='solid']) & {
555
- background-color: var(--gray-2);
556
- backdrop-filter: none;
557
- --backdrop-filter-panel: none;
558
- }
559
-
560
- :where(.rt-Card[data-panel-background='translucent']) & {
561
- background-color: var(--gray-a2);
562
- backdrop-filter: var(--backdrop-filter-panel);
563
- --backdrop-filter-panel: blur(var(--backdrop-blur-panel));
564
- }
565
- }
566
-
567
- &::after {
568
- box-shadow: inset 0 0 0 var(--card-border-width) var(--gray-7);
569
-
570
- /* Theme-level translucent override */
571
- :where([data-panel-background='translucent']) & {
572
- box-shadow: inset 0 0 0 var(--card-border-width) var(--gray-a7);
573
- }
574
- }
575
- }
576
- &:where(:active:not([data-state='open'])) {
577
- &::before {
578
- /* Base state: even darker gray for active */
579
- background-color: var(--gray-3);
580
-
581
- /* Theme-level translucent override for active */
582
- :where([data-panel-background='translucent']) & {
583
- background-color: var(--gray-a3);
584
- backdrop-filter: var(--backdrop-filter-panel);
585
- }
586
-
587
- /* Component-level overrides for active */
588
- :where(.rt-Card[data-panel-background='solid']) & {
589
- background-color: var(--gray-3);
590
- backdrop-filter: none;
591
- --backdrop-filter-panel: none;
592
- }
593
-
594
- :where(.rt-Card[data-panel-background='translucent']) & {
595
- background-color: var(--gray-a3);
596
- backdrop-filter: var(--backdrop-filter-panel);
597
- --backdrop-filter-panel: blur(var(--backdrop-blur-panel));
598
- }
599
- }
600
-
601
- &::after {
602
- box-shadow: inset 0 0 0 var(--card-border-width) var(--gray-7);
603
-
604
- /* Theme-level translucent override */
605
- :where([data-panel-background='translucent']) & {
606
- box-shadow: inset 0 0 0 var(--card-border-width) var(--gray-a7);
607
- }
608
- }
609
- }
610
- }
611
- }
612
-
613
- /* Better -webkit-tap-highlight-color */
614
- .rt-Card:where(:any-link, button, label) {
615
- @media (pointer: coarse) {
616
- &:where(:active:not(:focus-visible, [data-state='open'])) {
617
- &::before {
618
- background-image: linear-gradient(var(--gray-a4), var(--gray-a4));
619
- }
620
- }
621
- }
622
- }
@@ -5,17 +5,20 @@ import type { PropDef } from '../props/prop-def.js';
5
5
  const sizes = ['1', '2', '3', '4', '5'] as const;
6
6
  const variants = ['surface', 'outline', 'classic', 'ghost', 'soft'] as const;
7
7
  const panelBackgrounds = ['solid', 'translucent'] as const;
8
+ const materials = ['solid', 'translucent'] as const;
8
9
 
9
10
  const cardPropDefs = {
10
11
  ...asChildPropDef,
11
12
  size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '1', responsive: true },
12
13
  variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'outline' },
13
14
  panelBackground: { type: 'enum', values: panelBackgrounds, default: undefined },
15
+ material: { type: 'enum', values: materials, default: undefined },
14
16
  flush: { type: 'boolean', default: false },
15
17
  } satisfies {
16
18
  size: PropDef<(typeof sizes)[number]>;
17
19
  variant: PropDef<(typeof variants)[number]>;
18
20
  panelBackground: PropDef<(typeof panelBackgrounds)[number] | undefined>;
21
+ material: PropDef<(typeof materials)[number] | undefined>;
19
22
  flush: PropDef<boolean>;
20
23
  };
21
24
 
@@ -14,17 +14,19 @@ type CardElement = React.ElementRef<'div'>;
14
14
  type CardOwnProps = GetPropDefTypes<typeof cardPropDefs>;
15
15
  interface CardProps extends ComponentPropsWithout<'div', RemovedProps>, MarginProps, CardOwnProps {}
16
16
  const Card = React.forwardRef<CardElement, CardProps>((props, forwardedRef) => {
17
- const { asChild, className, panelBackground, flush, ...cardProps } = extractProps(
17
+ const { asChild, className, panelBackground, material, flush, ...cardProps } = extractProps(
18
18
  props,
19
19
  cardPropDefs,
20
20
  marginPropDefs,
21
21
  );
22
+ const effectiveMaterial = material || panelBackground;
22
23
  const Comp = asChild ? Slot.Root : 'div';
23
24
  return (
24
25
  <Comp
25
26
  ref={forwardedRef}
26
27
  {...cardProps}
27
- data-panel-background={panelBackground}
28
+ data-panel-background={effectiveMaterial}
29
+ data-material={effectiveMaterial}
28
30
  data-flush={flush ? 'true' : undefined}
29
31
  className={classNames('rt-reset', 'rt-BaseCard', 'rt-Card', className)}
30
32
  />