@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
@@ -8,12 +8,7 @@
8
8
  }
9
9
 
10
10
  .rt-RadioCardsItem {
11
- --base-card-padding-top: var(--radio-cards-item-padding-y);
12
- --base-card-padding-right: var(--radio-cards-item-padding-x);
13
- --base-card-padding-bottom: var(--radio-cards-item-padding-y);
14
- --base-card-padding-left: var(--radio-cards-item-padding-x);
15
- --base-card-border-radius: var(--radio-cards-item-border-radius);
16
- --base-card-border-width: var(--radio-cards-item-border-width);
11
+ --base-card-border-width: var(--border-width-standard);
17
12
 
18
13
  display: flex;
19
14
  align-items: center;
@@ -26,12 +21,10 @@
26
21
  }
27
22
  /* stylelint-disable-next-line selector-max-type */
28
23
  & > :where(svg) {
29
- /* Dont squish icons */
24
+ /* Don't squish icons */
30
25
  flex-shrink: 0;
31
26
  }
32
- &::after {
33
- outline-offset: -1px;
34
- }
27
+
35
28
  }
36
29
 
37
30
  /* * * * * * * * * * * * * * * * * * * */
@@ -42,115 +35,40 @@
42
35
 
43
36
  @breakpoints {
44
37
  .rt-RadioCardsRoot {
45
- /* 40px height for the card with one line of text */
38
+ /* Size 1 */
46
39
  &:where(.rt-r-size-1) {
47
40
  font-size: var(--font-size-2);
48
41
  --line-height: var(--line-height-2);
49
42
  --letter-spacing: var(--letter-spacing-2);
50
- --radio-cards-item-padding-x: var(--space-3);
51
- --radio-cards-item-padding-y: calc(var(--space-3) * var(--spacing-multiplier-medium));
52
- --radio-cards-item-border-radius: var(--radius-3);
53
43
  }
54
- /* 48px height for the card with one line of text */
44
+ /* Size 2 */
55
45
  &:where(.rt-r-size-2) {
56
46
  font-size: var(--font-size-2);
57
47
  --line-height: var(--line-height-2);
58
48
  --letter-spacing: var(--letter-spacing-2);
59
- --radio-cards-item-padding-x: var(--space-4);
60
- --radio-cards-item-padding-y: calc(var(--space-4) * var(--spacing-multiplier-medium));
61
- --radio-cards-item-border-radius: var(--radius-3);
62
49
  }
63
- /* 64px height for the card with one line of text */
50
+ /* Size 3 */
64
51
  &:where(.rt-r-size-3) {
65
52
  font-size: var(--font-size-3);
66
53
  --line-height: var(--line-height-3);
67
54
  --letter-spacing: var(--letter-spacing-3);
68
- --radio-cards-item-padding-x: var(--space-5);
69
- --radio-cards-item-padding-y: calc(var(--space-5) * var(--spacing-multiplier-medium));
70
- --radio-cards-item-border-radius: var(--radius-4);
71
55
  }
72
- }
73
- }
74
-
75
- /* * * * * * * * * * * * * * * * * * * */
76
- /* */
77
- /* Variants / Surface */
78
- /* */
79
- /* * * * * * * * * * * * * * * * * * * */
80
-
81
- :where(.rt-RadioCardsRoot.rt-variant-surface) {
82
- .rt-RadioCardsItem {
83
- --radio-cards-item-border-width: var(--border-width-standard);
84
- --radio-cards-item-background-color: var(--color-surface);
85
-
86
- transition: var(--transition-card);
87
-
88
- &::before {
89
- background-color: var(--radio-cards-item-background-color);
90
- }
91
- &::after {
92
- box-shadow: var(--base-card-surface-box-shadow);
56
+ /* Size 4 */
57
+ &:where(.rt-r-size-4) {
58
+ font-size: var(--font-size-3);
59
+ --line-height: var(--line-height-3);
60
+ --letter-spacing: var(--letter-spacing-3);
93
61
  }
94
- @media (hover: hover) {
95
- &:where(:not(:disabled):not([data-state='checked']):hover) {
96
- transition-duration: var(--duration-1);
97
- &::after {
98
- box-shadow: var(--base-card-surface-hover-box-shadow);
99
- }
100
- }
62
+ /* Size 5 */
63
+ &:where(.rt-r-size-5) {
64
+ font-size: var(--font-size-4);
65
+ --line-height: var(--line-height-4);
66
+ --letter-spacing: var(--letter-spacing-4);
101
67
  }
102
68
  }
103
-
104
- /* Component-level panel background overrides (higher specificity) */
105
- &:where([data-panel-background='solid']) .rt-RadioCardsItem {
106
- --color-surface: var(--color-surface-solid);
107
- }
108
-
109
- &:where([data-panel-background='translucent']) .rt-RadioCardsItem {
110
- --color-surface: var(--color-surface-translucent);
111
- }
112
69
  }
113
70
 
114
- /* * * * * * * * * * * * * * * * * * * */
115
- /* */
116
- /* Variants / Classic */
117
- /* */
118
- /* * * * * * * * * * * * * * * * * * * */
119
-
120
- :where(.rt-RadioCardsRoot.rt-variant-classic) {
121
- .rt-RadioCardsItem {
122
- --radio-cards-item-border-width: var(--border-width-standard);
123
- --radio-cards-item-background-color: var(--color-surface);
124
-
125
- transition: var(--transition-card);
126
- box-shadow: var(--base-card-classic-box-shadow-outer);
127
71
 
128
- &::before {
129
- background-color: var(--radio-cards-item-background-color);
130
- }
131
- &::after {
132
- box-shadow: var(--base-card-classic-box-shadow-inner);
133
- }
134
- @media (hover: hover) {
135
- &:where(:not(:disabled):not([data-state='checked']):hover) {
136
- transition-duration: var(--duration-1);
137
- box-shadow: var(--base-card-classic-hover-box-shadow-outer);
138
- &::after {
139
- box-shadow: var(--base-card-classic-hover-box-shadow-inner);
140
- }
141
- }
142
- }
143
- }
144
-
145
- /* Component-level panel background overrides (higher specificity) */
146
- &:where([data-panel-background='solid']) .rt-RadioCardsItem {
147
- --color-surface: var(--color-surface-solid);
148
- }
149
-
150
- &:where([data-panel-background='translucent']) .rt-RadioCardsItem {
151
- --color-surface: var(--color-surface-translucent);
152
- }
153
- }
154
72
 
155
73
  /* * * * * * * * * * * * * * * * * * * */
156
74
  /* */
@@ -160,13 +78,10 @@
160
78
 
161
79
  .rt-RadioCardsItem:where([data-state='checked']) {
162
80
  transition: var(--transition-fast);
163
- &::after {
164
- outline: var(--focus-outline-width) solid var(--accent-indicator);
165
- }
81
+ outline: var(--focus-outline-width) solid var(--accent-indicator);
82
+ outline-offset: -1px;
166
83
  :where(.rt-RadioCardsRoot.rt-high-contrast) & {
167
- &::after {
168
- outline-color: var(--accent-12);
169
- }
84
+ outline-color: var(--accent-12);
170
85
  }
171
86
  }
172
87
 
@@ -178,16 +93,13 @@
178
93
 
179
94
  .rt-RadioCardsItem:where(:focus-visible) {
180
95
  transition: var(--transition-focus);
181
- &::after {
182
- outline: var(--focus-outline-width) solid var(--focus-8);
183
- }
96
+ outline: var(--focus-outline-width) solid var(--focus-8);
97
+ outline-offset: -1px;
184
98
  &:where([data-state='checked']) {
185
99
  &::before {
186
100
  background-image: linear-gradient(var(--focus-a3), var(--focus-a3));
187
101
  }
188
- &::after {
189
- outline-color: var(--focus-10);
190
- }
102
+ outline-color: var(--focus-10);
191
103
  }
192
104
  }
193
105
 
@@ -207,7 +119,5 @@
207
119
  &::before {
208
120
  background-image: linear-gradient(var(--gray-a2), var(--gray-a2));
209
121
  }
210
- &::after {
211
- outline-color: var(--gray-8);
212
- }
122
+ outline-color: var(--gray-8);
213
123
  }
@@ -5,8 +5,8 @@ import { gridPropDefs } from './grid.props.js';
5
5
 
6
6
  import type { PropDef } from '../props/prop-def.js';
7
7
 
8
- const sizes = ['1', '2', '3'] as const;
9
- const variants = ['surface', 'classic'] as const;
8
+ const sizes = ['1', '2', '3', '4', '5'] as const;
9
+ const variants = ['outline', 'classic', 'ghost', 'soft', 'surface'] as const;
10
10
  const panelBackgrounds = ['solid', 'translucent'] as const;
11
11
 
12
12
  const radioCardsRootPropDefs = {
@@ -10,7 +10,19 @@ import { useThemeContext } from './theme.js';
10
10
 
11
11
  import type { MarginProps } from '../props/margin.props.js';
12
12
  import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
13
- import type { GetPropDefTypes } from '../props/prop-def.js';
13
+ import type { GetPropDefTypes, Responsive } from '../props/prop-def.js';
14
+
15
+ type RadioCardsContextValue = {
16
+ size?: Responsive<(typeof radioCardsRootPropDefs.size.values)[number]>;
17
+ variant?: (typeof radioCardsRootPropDefs.variant.values)[number];
18
+ };
19
+
20
+ const RadioCardsContext = React.createContext<RadioCardsContextValue | undefined>(undefined);
21
+
22
+ const useRadioCardsContext = () => {
23
+ const context = React.useContext(RadioCardsContext);
24
+ return context;
25
+ };
14
26
 
15
27
  type RadioCardsRootElement = React.ElementRef<typeof RadioGroupPrimitive.Root>;
16
28
  type RadioCardsRootOwnProps = GetPropDefTypes<typeof radioCardsRootPropDefs>;
@@ -32,15 +44,17 @@ const RadioCardsRoot = React.forwardRef<RadioCardsRootElement, RadioCardsRootPro
32
44
  ...rootProps
33
45
  } = extractProps(props, radioCardsRootPropDefs, marginPropDefs);
34
46
  return (
35
- <Grid asChild>
36
- <RadioGroupPrimitive.Root
37
- data-accent-color={color}
38
- data-panel-background={panelBackground}
39
- {...rootProps}
40
- ref={forwardedRef}
41
- className={classNames('rt-RadioCardsRoot', className)}
42
- />
43
- </Grid>
47
+ <RadioCardsContext.Provider value={{ size: props.size, variant: props.variant }}>
48
+ <Grid asChild>
49
+ <RadioGroupPrimitive.Root
50
+ data-accent-color={color}
51
+ data-panel-background={panelBackground}
52
+ {...rootProps}
53
+ ref={forwardedRef}
54
+ className={classNames('rt-RadioCardsRoot', className)}
55
+ />
56
+ </Grid>
57
+ </RadioCardsContext.Provider>
44
58
  );
45
59
  },
46
60
  );
@@ -51,14 +65,27 @@ interface RadioCardsItemProps
51
65
  extends ComponentPropsWithout<typeof RadioGroupPrimitive.Item, RemovedProps>,
52
66
  MarginProps {}
53
67
  const RadioCardsItem = React.forwardRef<RadioCardsItemElement, RadioCardsItemProps>(
54
- ({ className, ...props }, forwardedRef) => (
55
- <RadioGroupPrimitive.Item
56
- {...props}
57
- asChild={false}
58
- ref={forwardedRef}
59
- className={classNames('rt-reset', 'rt-BaseCard', 'rt-RadioCardsItem', className)}
60
- />
61
- ),
68
+ ({ className, ...props }, forwardedRef) => {
69
+ const context = useRadioCardsContext();
70
+ const variantClass = context?.variant ? `rt-variant-${context.variant}` : undefined;
71
+ const sizeClass = context?.size ? `rt-r-size-${context.size}` : undefined;
72
+
73
+ return (
74
+ <RadioGroupPrimitive.Item
75
+ {...props}
76
+ asChild={false}
77
+ ref={forwardedRef}
78
+ className={classNames(
79
+ 'rt-reset',
80
+ 'rt-BaseCard',
81
+ 'rt-RadioCardsItem',
82
+ variantClass,
83
+ sizeClass,
84
+ className,
85
+ )}
86
+ />
87
+ );
88
+ },
62
89
  );
63
90
  RadioCardsItem.displayName = 'RadioCards.Item';
64
91
 
@@ -26,18 +26,19 @@ interface RadioProps extends RadioInputProps, MarginProps, RadioOwnProps {}
26
26
 
27
27
  const Radio = React.forwardRef<RadioElement, RadioProps>((props, forwardedRef) => {
28
28
  const ref = React.useRef<RadioElement>(null);
29
- const { className, color, onChange, onValueChange, ...radioProps } = extractProps(
29
+ const { className, color, material, onChange, onValueChange, ...radioProps } = extractProps(
30
30
  props,
31
31
  radioPropDefs,
32
- marginPropDefs
32
+ marginPropDefs,
33
33
  );
34
34
  return (
35
35
  <input
36
36
  type="radio"
37
37
  data-accent-color={color}
38
+ data-material={material}
38
39
  {...radioProps}
39
40
  onChange={composeEventHandlers(onChange, (event) =>
40
- onValueChange?.(event.currentTarget.value)
41
+ onValueChange?.(event.currentTarget.value),
41
42
  )}
42
43
  ref={composeRefs(ref, forwardedRef)}
43
44
  className={classNames('rt-reset', 'rt-BaseRadioRoot', 'rt-RadioRoot', className)}
@@ -39,7 +39,7 @@
39
39
 
40
40
  .rt-ScrollAreaViewport > * {
41
41
  display: block !important;
42
- width: fit-content;
42
+ min-width: 0;
43
43
  flex-grow: 1;
44
44
  }
45
45
 
@@ -10,8 +10,6 @@
10
10
  grid-auto-columns: 1fr;
11
11
  align-items: stretch;
12
12
  color: var(--gray-12);
13
- background-color: var(--color-surface);
14
- background-image: linear-gradient(var(--gray-a3), var(--gray-a3));
15
13
  position: relative;
16
14
  min-width: max-content;
17
15
 
@@ -22,26 +20,27 @@
22
20
  /* Create a new stacking context */
23
21
  isolation: isolate;
24
22
 
25
- /* Theme-level translucent override */
26
- :where([data-panel-background='translucent']) & {
27
- background-color: var(--color-surface-translucent);
28
- background-image: linear-gradient(var(--gray-a3), var(--gray-a3));
29
- backdrop-filter: var(--backdrop-filter-panel);
23
+ /*
24
+ * Theme-level translucent override
25
+ * Applies backdrop filter for elevated visual effects
26
+ */
27
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
28
+ backdrop-filter: var(--backdrop-filter-components);
29
+ --backdrop-filter-components: blur(var(--backdrop-blur-components));
30
30
  }
31
31
 
32
- /* Component-level overrides (higher specificity) */
33
- &:where([data-panel-background='solid']) {
34
- background-color: var(--color-surface);
35
- background-image: linear-gradient(var(--gray-a3), var(--gray-a3));
32
+ /*
33
+ * Component-level material overrides
34
+ * These ensure proper rendering based on material setting
35
+ */
36
+ &:where([data-panel-background='solid'], [data-material='solid']) {
36
37
  backdrop-filter: none;
37
- --backdrop-filter-panel: none;
38
+ --backdrop-filter-components: none;
38
39
  }
39
-
40
- &:where([data-panel-background='translucent']) {
41
- background-color: var(--color-surface-translucent);
42
- background-image: linear-gradient(var(--gray-a3), var(--gray-a3));
43
- backdrop-filter: var(--backdrop-filter-panel);
44
- --backdrop-filter-panel: blur(var(--backdrop-blur-panel));
40
+
41
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
42
+ backdrop-filter: var(--backdrop-filter-components);
43
+ --backdrop-filter-components: blur(var(--backdrop-blur-components));
45
44
  }
46
45
 
47
46
  /* Disable backdrop-filter when inside elements that already have backdrop-filter */
@@ -158,10 +157,6 @@
158
157
  :where(.radix-themes) {
159
158
  --segmented-control-indicator-background-color: var(--color-background);
160
159
  }
161
- :is(.dark, .dark-theme),
162
- :is(.dark, .dark-theme) :where(.radix-themes:not(.light, .light-theme)) {
163
- --segmented-control-indicator-background-color: var(--gray-a3);
164
- }
165
160
 
166
161
  .rt-SegmentedControlIndicator {
167
162
  display: none;
@@ -178,6 +173,7 @@
178
173
  position: absolute;
179
174
  border-radius: max(calc(var(--border-width-standard) * 0.5), calc(var(--segmented-control-border-radius) - var(--border-width-standard)));
180
175
  background-color: var(--segmented-control-indicator-background-color);
176
+ box-shadow: var(--shadow-2);
181
177
  content: '';
182
178
  }
183
179
 
@@ -263,8 +259,14 @@
263
259
  /* */
264
260
  /* * * * * * * * * * * * * * * * * * * */
265
261
 
266
- .rt-SegmentedControlItemLabel {
262
+ .rt-SegmentedControlItemLabel,
263
+ .rt-SegmentedControlItemLabelInactive,
264
+ .rt-SegmentedControlItemLabelActive {
267
265
  box-sizing: border-box;
266
+ display: flex;
267
+ align-items: center;
268
+ justify-content: center;
269
+ gap: inherit;
268
270
  }
269
271
  .rt-SegmentedControlRoot {
270
272
  border-radius: var(--segmented-control-border-radius);
@@ -273,7 +275,7 @@
273
275
  @breakpoints {
274
276
  .rt-SegmentedControlRoot {
275
277
  &:where(.rt-r-size-1) {
276
- --segmented-control-border-radius: max(calc(var(--radius-1) * var(--spacing-multiplier-large)), var(--radius-full));
278
+ --segmented-control-border-radius: max(var(--radius-1), var(--radius-full));
277
279
  height: var(--space-5);
278
280
 
279
281
  & :where(.rt-SegmentedControlItemLabel) {
@@ -281,7 +283,14 @@
281
283
  letter-spacing: var(--letter-spacing-1);
282
284
  padding-left: var(--space-3);
283
285
  padding-right: var(--space-3);
284
- gap: var(--space-1);
286
+ gap: var(--component-gap-1);
287
+
288
+ /* Icon sizing for size 1 */
289
+ /* stylelint-disable-next-line selector-max-type */
290
+ & :where(svg) {
291
+ width: var(--content-icon-size-1);
292
+ height: var(--content-icon-size-1);
293
+ }
285
294
  }
286
295
  }
287
296
  &:where(.rt-r-size-2) {
@@ -293,7 +302,14 @@
293
302
  letter-spacing: var(--letter-spacing-2);
294
303
  padding-left: var(--space-4);
295
304
  padding-right: var(--space-4);
296
- gap: var(--space-2);
305
+ gap: var(--component-gap-2);
306
+
307
+ /* Icon sizing for size 2 */
308
+ /* stylelint-disable-next-line selector-max-type */
309
+ & :where(svg) {
310
+ width: var(--content-icon-size-2);
311
+ height: var(--content-icon-size-2);
312
+ }
297
313
  }
298
314
  }
299
315
  &:where(.rt-r-size-3) {
@@ -305,7 +321,33 @@
305
321
  letter-spacing: var(--letter-spacing-3);
306
322
  padding-left: var(--space-4);
307
323
  padding-right: var(--space-4);
308
- gap: var(--space-3);
324
+ gap: var(--component-gap-3);
325
+
326
+ /* Icon sizing for size 3 */
327
+ /* stylelint-disable-next-line selector-max-type */
328
+ & :where(svg) {
329
+ width: var(--content-icon-size-3);
330
+ height: var(--content-icon-size-3);
331
+ }
332
+ }
333
+ }
334
+ &:where(.rt-r-size-4) {
335
+ --segmented-control-border-radius: max(var(--radius-4), var(--radius-full));
336
+ height: var(--space-8);
337
+
338
+ & :where(.rt-SegmentedControlItemLabel) {
339
+ font-size: var(--font-size-4);
340
+ letter-spacing: var(--letter-spacing-4);
341
+ padding-left: var(--space-5);
342
+ padding-right: var(--space-5);
343
+ gap: var(--component-gap-4);
344
+
345
+ /* Icon sizing for size 4 */
346
+ /* stylelint-disable-next-line selector-max-type */
347
+ & :where(svg) {
348
+ width: var(--content-icon-size-4);
349
+ height: var(--content-icon-size-4);
350
+ }
309
351
  }
310
352
  }
311
353
  }
@@ -313,48 +355,25 @@
313
355
 
314
356
  /* * * * * * * * * * * * * * * * * * * */
315
357
  /* */
316
- /* Variants / Surface */
358
+ /* Variants / Soft */
317
359
  /* */
318
360
  /* * * * * * * * * * * * * * * * * * * */
319
361
 
320
- .rt-SegmentedControlRoot:where(.rt-variant-surface) {
321
- & :where(.rt-SegmentedControlItem:not([disabled])) ~ :where(.rt-SegmentedControlIndicator) {
322
- &::before {
323
- box-shadow: 0 0 0 var(--border-width-standard) var(--gray-a4);
324
- }
362
+ .rt-SegmentedControlRoot:where(.rt-variant-soft) {
363
+ /* Base state: solid color for solid panels */
364
+ background-color: var(--gray-3);
365
+
366
+ /* Theme-level translucent override */
367
+ :where([data-panel-background='translucent'], [data-material='translucent']) & {
368
+ background-color: color-mix(in srgb, var(--gray-a3), var(--gray-3) 60%);
325
369
  }
326
- }
327
370
 
328
- /* * * * * * * * * * * * * * * * * * * */
329
- /* */
330
- /* Variants / Classic */
331
- /* */
332
- /* * * * * * * * * * * * * * * * * * * */
371
+ /* Component-level overrides (higher specificity) */
372
+ &:where([data-panel-background='solid'], [data-material='solid']) {
373
+ background-color: var(--gray-3);
374
+ }
333
375
 
334
- .rt-SegmentedControlRoot:where(.rt-variant-classic) {
335
- & :where(.rt-SegmentedControlItem:not([disabled])) ~ :where(.rt-SegmentedControlIndicator) {
336
- &::before {
337
- /* Use the same elevated 3D effect as Button classic variant */
338
- /* prettier-ignore */
339
- box-shadow:
340
- inset 0 calc(-1 * var(--classic-border-width)) var(--classic-shadow-blur-large) var(--gray-a2),
341
- inset 0 var(--classic-border-width) var(--white-a12),
342
- inset 0 var(--classic-shadow-blur-medium) var(--classic-shadow-blur-large) var(--gray-a2),
343
- inset 0 calc(-1 * var(--classic-border-width)) var(--gray-a6),
344
- 0 0 0 var(--classic-border-width) var(--gray-a5),
345
- 0 var(--classic-shadow-offset-y) var(--classic-shadow-blur-small) var(--gray-a7);
346
-
347
- :where(.dark, .dark-theme) &,
348
- :where(.dark, .dark-theme) :where(.radix-themes:not(.light, .light-theme)) & {
349
- /* prettier-ignore */
350
- box-shadow:
351
- inset 0 calc(-1 * var(--classic-border-width)) var(--classic-shadow-blur-large) var(--gray-a3),
352
- inset 0 var(--classic-border-width) var(--gray-a11),
353
- inset 0 var(--classic-shadow-blur-medium) var(--classic-shadow-blur-large) var(--gray-a2),
354
- inset 0 calc(-2 * var(--classic-border-width)) var(--black-a11),
355
- 0 0 0 var(--classic-border-width-thick) var(--gray-a7),
356
- 0 var(--classic-shadow-offset-y) var(--classic-shadow-blur-small) var(--black-a12);
357
- }
358
- }
376
+ &:where([data-panel-background='translucent'], [data-material='translucent']) {
377
+ background-color: color-mix(in srgb, var(--gray-a3), var(--gray-3) 60%);
359
378
  }
360
379
  }
@@ -2,13 +2,13 @@ import { radiusPropDef } from '../props/radius.prop.js';
2
2
 
3
3
  import type { PropDef } from '../props/prop-def.js';
4
4
 
5
- const sizes = ['1', '2', '3'] as const;
6
- const variants = ['surface', 'classic'] as const;
5
+ const sizes = ['1', '2', '3', '4'] as const;
6
+ const variants = ['soft'] as const;
7
7
 
8
8
  const segmentedControlRootPropDefs = {
9
9
  disabled: { type: 'boolean', className: 'disabled', default: false },
10
10
  size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '2', responsive: true },
11
- variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'surface' },
11
+ variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'soft' },
12
12
  panelBackground: {
13
13
  type: 'enum',
14
14
  className: 'rt-panel-background',