@womp/kookie-ui 0.17.0 → 0.18.0

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 (569) hide show
  1. package/components.css +1397 -2626
  2. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  3. package/dist/cjs/components/_internal/base-button.js +1 -1
  4. package/dist/cjs/components/_internal/base-button.js.map +4 -4
  5. package/dist/cjs/components/_internal/base-checkbox.props.d.ts +1 -1
  6. package/dist/cjs/components/_internal/base-checkbox.props.js +1 -1
  7. package/dist/cjs/components/_internal/base-checkbox.props.js.map +2 -2
  8. package/dist/cjs/components/_internal/base-radio.props.d.ts +1 -1
  9. package/dist/cjs/components/_internal/base-radio.props.js +1 -1
  10. package/dist/cjs/components/_internal/base-radio.props.js.map +2 -2
  11. package/dist/cjs/components/_internal/pane-chrome.js +1 -1
  12. package/dist/cjs/components/_internal/pane-chrome.js.map +3 -3
  13. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  14. package/dist/cjs/components/_internal/shell-sidebar.js.map +3 -3
  15. package/dist/cjs/components/accordion.d.ts.map +1 -1
  16. package/dist/cjs/components/accordion.js +1 -1
  17. package/dist/cjs/components/accordion.js.map +4 -4
  18. package/dist/cjs/components/alert-dialog.js +1 -1
  19. package/dist/cjs/components/alert-dialog.js.map +4 -4
  20. package/dist/cjs/components/badge.js +1 -1
  21. package/dist/cjs/components/badge.js.map +4 -4
  22. package/dist/cjs/components/badge.props.d.ts +1 -1
  23. package/dist/cjs/components/badge.props.js +1 -1
  24. package/dist/cjs/components/badge.props.js.map +1 -1
  25. package/dist/cjs/components/button.js +2 -2
  26. package/dist/cjs/components/button.js.map +4 -4
  27. package/dist/cjs/components/chatbar.d.ts.map +1 -1
  28. package/dist/cjs/components/chatbar.js +2 -2
  29. package/dist/cjs/components/chatbar.js.map +4 -4
  30. package/dist/cjs/components/checkbox-cards.js +1 -1
  31. package/dist/cjs/components/checkbox-cards.js.map +2 -2
  32. package/dist/cjs/components/checkbox-group.d.ts.map +1 -1
  33. package/dist/cjs/components/checkbox-group.js +1 -1
  34. package/dist/cjs/components/checkbox-group.js.map +4 -4
  35. package/dist/cjs/components/checkbox-group.props.d.ts +1 -1
  36. package/dist/cjs/components/checkbox-group.props.js +1 -1
  37. package/dist/cjs/components/checkbox-group.props.js.map +2 -2
  38. package/dist/cjs/components/checkbox.d.ts.map +1 -1
  39. package/dist/cjs/components/checkbox.js +1 -1
  40. package/dist/cjs/components/checkbox.js.map +4 -4
  41. package/dist/cjs/components/checkbox.props.js +1 -1
  42. package/dist/cjs/components/checkbox.props.js.map +2 -2
  43. package/dist/cjs/components/combobox.d.ts.map +1 -1
  44. package/dist/cjs/components/combobox.js +1 -1
  45. package/dist/cjs/components/combobox.js.map +4 -4
  46. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  47. package/dist/cjs/components/context-menu.js +1 -1
  48. package/dist/cjs/components/context-menu.js.map +4 -4
  49. package/dist/cjs/components/data-list.d.ts.map +1 -1
  50. package/dist/cjs/components/data-list.js +1 -1
  51. package/dist/cjs/components/data-list.js.map +4 -4
  52. package/dist/cjs/components/dialog.js +1 -1
  53. package/dist/cjs/components/dialog.js.map +4 -4
  54. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  55. package/dist/cjs/components/dropdown-menu.js +1 -1
  56. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  57. package/dist/cjs/components/hover-card.d.ts.map +1 -1
  58. package/dist/cjs/components/hover-card.js +1 -1
  59. package/dist/cjs/components/hover-card.js.map +4 -4
  60. package/dist/cjs/components/icon-button.js +2 -2
  61. package/dist/cjs/components/icon-button.js.map +4 -4
  62. package/dist/cjs/components/index.js +5 -5
  63. package/dist/cjs/components/index.js.map +4 -4
  64. package/dist/cjs/components/message-scroller.js +2 -2
  65. package/dist/cjs/components/message-scroller.js.map +4 -4
  66. package/dist/cjs/components/navbar.d.ts.map +1 -1
  67. package/dist/cjs/components/navbar.js +1 -1
  68. package/dist/cjs/components/navbar.js.map +4 -4
  69. package/dist/cjs/components/notice.d.ts +1 -1
  70. package/dist/cjs/components/notice.d.ts.map +1 -1
  71. package/dist/cjs/components/notice.js +2 -2
  72. package/dist/cjs/components/notice.js.map +4 -4
  73. package/dist/cjs/components/popover.d.ts.map +1 -1
  74. package/dist/cjs/components/popover.js +1 -1
  75. package/dist/cjs/components/popover.js.map +4 -4
  76. package/dist/cjs/components/progress.js +1 -1
  77. package/dist/cjs/components/progress.js.map +3 -3
  78. package/dist/cjs/components/progress.props.d.ts +0 -7
  79. package/dist/cjs/components/progress.props.d.ts.map +1 -1
  80. package/dist/cjs/components/progress.props.js +1 -1
  81. package/dist/cjs/components/progress.props.js.map +3 -3
  82. package/dist/cjs/components/radio-group.d.ts.map +1 -1
  83. package/dist/cjs/components/radio-group.js +1 -1
  84. package/dist/cjs/components/radio-group.js.map +4 -4
  85. package/dist/cjs/components/radio-group.props.d.ts +1 -1
  86. package/dist/cjs/components/radio-group.props.js +1 -1
  87. package/dist/cjs/components/radio-group.props.js.map +2 -2
  88. package/dist/cjs/components/radio.d.ts.map +1 -1
  89. package/dist/cjs/components/radio.js +1 -1
  90. package/dist/cjs/components/radio.js.map +4 -4
  91. package/dist/cjs/components/radio.props.js +1 -1
  92. package/dist/cjs/components/radio.props.js.map +2 -2
  93. package/dist/cjs/components/scroll-area.d.ts.map +1 -1
  94. package/dist/cjs/components/scroll-area.js +1 -1
  95. package/dist/cjs/components/scroll-area.js.map +3 -3
  96. package/dist/cjs/components/scroll-area.props.d.ts +0 -7
  97. package/dist/cjs/components/scroll-area.props.d.ts.map +1 -1
  98. package/dist/cjs/components/scroll-area.props.js +1 -1
  99. package/dist/cjs/components/scroll-area.props.js.map +3 -3
  100. package/dist/cjs/components/segmented-control.d.ts.map +1 -1
  101. package/dist/cjs/components/segmented-control.js +1 -1
  102. package/dist/cjs/components/segmented-control.js.map +4 -4
  103. package/dist/cjs/components/select.d.ts.map +1 -1
  104. package/dist/cjs/components/select.js +1 -1
  105. package/dist/cjs/components/select.js.map +4 -4
  106. package/dist/cjs/components/separator.js +1 -1
  107. package/dist/cjs/components/separator.js.map +3 -3
  108. package/dist/cjs/components/separator.props.d.ts +0 -7
  109. package/dist/cjs/components/separator.props.d.ts.map +1 -1
  110. package/dist/cjs/components/separator.props.js +1 -1
  111. package/dist/cjs/components/separator.props.js.map +3 -3
  112. package/dist/cjs/components/sheet.js +1 -1
  113. package/dist/cjs/components/sheet.js.map +4 -4
  114. package/dist/cjs/components/shell.d.ts +1 -1
  115. package/dist/cjs/components/shell.d.ts.map +1 -1
  116. package/dist/cjs/components/shell.js +1 -1
  117. package/dist/cjs/components/shell.js.map +4 -4
  118. package/dist/cjs/components/sidebar.js +1 -1
  119. package/dist/cjs/components/sidebar.js.map +4 -4
  120. package/dist/cjs/components/slider.d.ts.map +1 -1
  121. package/dist/cjs/components/slider.js +1 -1
  122. package/dist/cjs/components/slider.js.map +4 -4
  123. package/dist/cjs/components/spinner.js +1 -1
  124. package/dist/cjs/components/spinner.js.map +3 -3
  125. package/dist/cjs/components/spinner.props.d.ts +0 -7
  126. package/dist/cjs/components/spinner.props.d.ts.map +1 -1
  127. package/dist/cjs/components/spinner.props.js +1 -1
  128. package/dist/cjs/components/spinner.props.js.map +3 -3
  129. package/dist/cjs/components/switch.d.ts.map +1 -1
  130. package/dist/cjs/components/switch.js +1 -1
  131. package/dist/cjs/components/switch.js.map +4 -4
  132. package/dist/cjs/components/tab-nav.d.ts.map +1 -1
  133. package/dist/cjs/components/tab-nav.js +1 -1
  134. package/dist/cjs/components/tab-nav.js.map +4 -4
  135. package/dist/cjs/components/table.d.ts.map +1 -1
  136. package/dist/cjs/components/table.js +1 -1
  137. package/dist/cjs/components/table.js.map +4 -4
  138. package/dist/cjs/components/table.props.d.ts +1 -1
  139. package/dist/cjs/components/table.props.js +1 -1
  140. package/dist/cjs/components/table.props.js.map +2 -2
  141. package/dist/cjs/components/tabs.d.ts.map +1 -1
  142. package/dist/cjs/components/tabs.js +1 -1
  143. package/dist/cjs/components/tabs.js.map +4 -4
  144. package/dist/cjs/components/text-area.d.ts.map +1 -1
  145. package/dist/cjs/components/text-area.js +1 -1
  146. package/dist/cjs/components/text-area.js.map +4 -4
  147. package/dist/cjs/components/text-field.d.ts.map +1 -1
  148. package/dist/cjs/components/text-field.js +2 -2
  149. package/dist/cjs/components/text-field.js.map +4 -4
  150. package/dist/cjs/components/theme-panel.js +3 -3
  151. package/dist/cjs/components/theme-panel.js.map +4 -4
  152. package/dist/cjs/components/theme.d.ts +3 -0
  153. package/dist/cjs/components/theme.d.ts.map +1 -1
  154. package/dist/cjs/components/theme.js +1 -1
  155. package/dist/cjs/components/theme.js.map +4 -4
  156. package/dist/cjs/components/theme.props.d.ts +12 -0
  157. package/dist/cjs/components/theme.props.d.ts.map +1 -1
  158. package/dist/cjs/components/theme.props.js +1 -1
  159. package/dist/cjs/components/theme.props.js.map +3 -3
  160. package/dist/cjs/components/toggle-button.js +3 -3
  161. package/dist/cjs/components/toggle-button.js.map +4 -4
  162. package/dist/cjs/components/toggle-icon-button.js +3 -3
  163. package/dist/cjs/components/toggle-icon-button.js.map +4 -4
  164. package/dist/cjs/components/toolbar.d.ts.map +1 -1
  165. package/dist/cjs/components/toolbar.js +2 -2
  166. package/dist/cjs/components/toolbar.js.map +4 -4
  167. package/dist/cjs/components/tooltip.js +1 -1
  168. package/dist/cjs/components/tooltip.js.map +4 -4
  169. package/dist/cjs/helpers/index.d.ts +1 -0
  170. package/dist/cjs/helpers/index.d.ts.map +1 -1
  171. package/dist/cjs/helpers/index.js +3 -3
  172. package/dist/cjs/helpers/index.js.map +4 -4
  173. package/dist/cjs/helpers/map-prop-values.d.ts +1 -4
  174. package/dist/cjs/helpers/map-prop-values.d.ts.map +1 -1
  175. package/dist/cjs/helpers/map-prop-values.js +1 -1
  176. package/dist/cjs/helpers/map-prop-values.js.map +3 -3
  177. package/dist/cjs/helpers/theme-size.d.ts +41 -0
  178. package/dist/cjs/helpers/theme-size.d.ts.map +1 -0
  179. package/dist/cjs/helpers/theme-size.js +2 -0
  180. package/dist/cjs/helpers/theme-size.js.map +7 -0
  181. package/dist/cjs/index.js +7 -7
  182. package/dist/cjs/index.js.map +4 -4
  183. package/dist/cjs/props/index.js +1 -1
  184. package/dist/cjs/props/index.js.map +3 -3
  185. package/dist/esm/{chunk-XZ5XZS5O.js → chunk-35HNDWWM.js} +2 -2
  186. package/dist/esm/chunk-3YLYGKFB.js +2 -0
  187. package/dist/esm/chunk-3YLYGKFB.js.map +7 -0
  188. package/dist/esm/chunk-4DE3ONED.js +2 -0
  189. package/dist/esm/chunk-4DE3ONED.js.map +7 -0
  190. package/dist/esm/chunk-4M55YJMR.js +2 -0
  191. package/dist/esm/chunk-4M55YJMR.js.map +7 -0
  192. package/dist/esm/chunk-4YQXYWDQ.js +2 -0
  193. package/dist/esm/chunk-4YQXYWDQ.js.map +7 -0
  194. package/dist/esm/chunk-54KMG7NX.js +2 -0
  195. package/dist/esm/chunk-54KMG7NX.js.map +7 -0
  196. package/dist/esm/chunk-5R2WX2FU.js +2 -0
  197. package/dist/esm/chunk-5R2WX2FU.js.map +7 -0
  198. package/dist/esm/chunk-5VBJT2VY.js +2 -0
  199. package/dist/esm/chunk-5VBJT2VY.js.map +7 -0
  200. package/dist/esm/chunk-6AZV4VFW.js +2 -0
  201. package/dist/esm/chunk-6AZV4VFW.js.map +7 -0
  202. package/dist/esm/{chunk-YDRFILTX.js → chunk-6YWDEANN.js} +2 -2
  203. package/dist/esm/{chunk-MZQDDG5K.js → chunk-7FZPCM7W.js} +2 -2
  204. package/dist/esm/chunk-7J2QS2UT.js +5 -0
  205. package/dist/esm/chunk-7J2QS2UT.js.map +7 -0
  206. package/dist/esm/chunk-ABS275QZ.js +2 -0
  207. package/dist/esm/chunk-AKPAHQYE.js +2 -0
  208. package/dist/esm/chunk-AKPAHQYE.js.map +7 -0
  209. package/dist/esm/chunk-BN24ZBO7.js +2 -0
  210. package/dist/esm/chunk-BN24ZBO7.js.map +7 -0
  211. package/dist/esm/chunk-BZ6YBP2S.js +2 -0
  212. package/dist/esm/chunk-BZ6YBP2S.js.map +7 -0
  213. package/dist/esm/chunk-CHPZ3LNC.js +2 -0
  214. package/dist/esm/chunk-CHPZ3LNC.js.map +7 -0
  215. package/dist/esm/chunk-CRK34MWY.js +2 -0
  216. package/dist/esm/chunk-CRK34MWY.js.map +7 -0
  217. package/dist/esm/{chunk-YZABQ4LS.js → chunk-DFSW4QR4.js} +2 -2
  218. package/dist/esm/{chunk-SM27AC7E.js → chunk-DJFTDR6Y.js} +2 -2
  219. package/dist/esm/chunk-EA2XSEFH.js +2 -0
  220. package/dist/esm/chunk-EA2XSEFH.js.map +7 -0
  221. package/dist/esm/{chunk-CRYT55SY.js → chunk-EHUSLPWN.js} +2 -2
  222. package/dist/esm/chunk-ENSDQ3XQ.js +2 -0
  223. package/dist/esm/chunk-ENSDQ3XQ.js.map +7 -0
  224. package/dist/esm/chunk-F3XBIUXB.js +2 -0
  225. package/dist/esm/chunk-F3XBIUXB.js.map +7 -0
  226. package/dist/esm/chunk-GHD3TKCA.js +2 -0
  227. package/dist/esm/chunk-GHD3TKCA.js.map +7 -0
  228. package/dist/esm/chunk-GQBQHGEF.js +2 -0
  229. package/dist/esm/chunk-GQBQHGEF.js.map +7 -0
  230. package/dist/esm/{chunk-6XHM724Y.js → chunk-GTVFQXLJ.js} +2 -2
  231. package/dist/esm/chunk-HIEGLLY7.js +2 -0
  232. package/dist/esm/chunk-HIEGLLY7.js.map +7 -0
  233. package/dist/esm/chunk-HZYE46V2.js +2 -0
  234. package/dist/esm/chunk-HZYE46V2.js.map +7 -0
  235. package/dist/esm/chunk-IWT3Q2PD.js +2 -0
  236. package/dist/esm/chunk-IWT3Q2PD.js.map +7 -0
  237. package/dist/esm/chunk-JCRBBT4X.js +2 -0
  238. package/dist/esm/chunk-JCRBBT4X.js.map +7 -0
  239. package/dist/esm/chunk-KFQ4B5YC.js +2 -0
  240. package/dist/esm/chunk-KFQ4B5YC.js.map +7 -0
  241. package/dist/esm/{chunk-6HRBG5H2.js → chunk-KPPIW4OJ.js} +2 -2
  242. package/dist/esm/{chunk-6WFEMPCF.js → chunk-KRXCFIRK.js} +2 -2
  243. package/dist/esm/{chunk-5SQL4ZRC.js → chunk-KSZOVI57.js} +2 -2
  244. package/dist/esm/{chunk-5SQL4ZRC.js.map → chunk-KSZOVI57.js.map} +1 -1
  245. package/dist/esm/{chunk-COSHAOEK.js → chunk-MJEYJI5G.js} +2 -2
  246. package/dist/esm/chunk-MLXHD7YF.js +2 -0
  247. package/dist/esm/chunk-MLXHD7YF.js.map +7 -0
  248. package/dist/esm/{chunk-CG54MBMW.js → chunk-MPN33CKR.js} +2 -2
  249. package/dist/esm/chunk-MQDZBF4J.js +2 -0
  250. package/dist/esm/chunk-MQDZBF4J.js.map +7 -0
  251. package/dist/esm/{chunk-IGBEDJBC.js → chunk-NFVOEHZS.js} +2 -2
  252. package/dist/esm/{chunk-ORMCQAPS.js → chunk-PAQS6C2A.js} +2 -2
  253. package/dist/esm/chunk-PUVZFRTQ.js +2 -0
  254. package/dist/esm/chunk-PUVZFRTQ.js.map +7 -0
  255. package/dist/esm/chunk-QAUYOVVL.js +2 -0
  256. package/dist/esm/chunk-QAUYOVVL.js.map +7 -0
  257. package/dist/esm/chunk-RC7TBVLO.js +2 -0
  258. package/dist/esm/chunk-RC7TBVLO.js.map +7 -0
  259. package/dist/esm/chunk-STMTXK7U.js +2 -0
  260. package/dist/esm/chunk-STMTXK7U.js.map +7 -0
  261. package/dist/esm/chunk-U7PDXTRX.js +2 -0
  262. package/dist/esm/chunk-U7PDXTRX.js.map +7 -0
  263. package/dist/esm/chunk-UNRG6Z5I.js +2 -0
  264. package/dist/esm/chunk-UNRG6Z5I.js.map +7 -0
  265. package/dist/esm/chunk-UONSKZQT.js +2 -0
  266. package/dist/esm/chunk-UONSKZQT.js.map +7 -0
  267. package/dist/esm/{chunk-2IPVLV6B.js → chunk-UQZHW3EJ.js} +2 -2
  268. package/dist/esm/chunk-VIDXAECE.js +2 -0
  269. package/dist/esm/chunk-VIDXAECE.js.map +7 -0
  270. package/dist/esm/chunk-VLLJ7A6P.js +2 -0
  271. package/dist/esm/chunk-VLLJ7A6P.js.map +7 -0
  272. package/dist/esm/{chunk-DP3OWU5T.js → chunk-VT4AAF7Q.js} +2 -2
  273. package/dist/esm/chunk-XVKFQSLI.js +2 -0
  274. package/dist/esm/chunk-XVKFQSLI.js.map +7 -0
  275. package/dist/esm/{chunk-RFURPE7W.js → chunk-YF3MFME4.js} +2 -2
  276. package/dist/esm/{chunk-4STOJSJZ.js → chunk-YVMQWSHA.js} +2 -2
  277. package/dist/esm/{chunk-4STOJSJZ.js.map → chunk-YVMQWSHA.js.map} +2 -2
  278. package/dist/esm/chunk-ZCAI2PRH.js +2 -0
  279. package/dist/esm/chunk-ZCAI2PRH.js.map +7 -0
  280. package/dist/esm/{chunk-S53ZQNHK.js → chunk-ZFBLPW3X.js} +2 -2
  281. package/dist/esm/chunk-ZH2B7WEH.js +2 -0
  282. package/dist/esm/chunk-ZH2B7WEH.js.map +7 -0
  283. package/dist/esm/chunk-ZJZIV2JH.js +2 -0
  284. package/dist/esm/chunk-ZJZIV2JH.js.map +7 -0
  285. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  286. package/dist/esm/components/_internal/base-button.js +1 -1
  287. package/dist/esm/components/_internal/base-checkbox.props.d.ts +1 -1
  288. package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
  289. package/dist/esm/components/_internal/base-radio.props.d.ts +1 -1
  290. package/dist/esm/components/_internal/base-radio.props.js +1 -1
  291. package/dist/esm/components/_internal/pane-chrome.js +1 -1
  292. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  293. package/dist/esm/components/accordion.d.ts.map +1 -1
  294. package/dist/esm/components/accordion.js +1 -1
  295. package/dist/esm/components/alert-dialog.js +1 -1
  296. package/dist/esm/components/badge.js +1 -1
  297. package/dist/esm/components/badge.props.d.ts +1 -1
  298. package/dist/esm/components/badge.props.js +1 -1
  299. package/dist/esm/components/button.js +1 -1
  300. package/dist/esm/components/chatbar.d.ts.map +1 -1
  301. package/dist/esm/components/chatbar.js +1 -1
  302. package/dist/esm/components/checkbox-cards.js +1 -1
  303. package/dist/esm/components/checkbox-group.d.ts.map +1 -1
  304. package/dist/esm/components/checkbox-group.js +1 -1
  305. package/dist/esm/components/checkbox-group.props.d.ts +1 -1
  306. package/dist/esm/components/checkbox-group.props.js +1 -1
  307. package/dist/esm/components/checkbox.d.ts.map +1 -1
  308. package/dist/esm/components/checkbox.js +1 -1
  309. package/dist/esm/components/checkbox.props.js +1 -1
  310. package/dist/esm/components/combobox.d.ts.map +1 -1
  311. package/dist/esm/components/combobox.js +1 -1
  312. package/dist/esm/components/context-menu.d.ts.map +1 -1
  313. package/dist/esm/components/context-menu.js +1 -1
  314. package/dist/esm/components/data-list.d.ts.map +1 -1
  315. package/dist/esm/components/data-list.js +1 -1
  316. package/dist/esm/components/dialog.js +1 -1
  317. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  318. package/dist/esm/components/dropdown-menu.js +1 -1
  319. package/dist/esm/components/hover-card.d.ts.map +1 -1
  320. package/dist/esm/components/hover-card.js +1 -1
  321. package/dist/esm/components/icon-button.js +1 -1
  322. package/dist/esm/components/index.js +1 -1
  323. package/dist/esm/components/message-scroller.js +1 -1
  324. package/dist/esm/components/navbar.d.ts.map +1 -1
  325. package/dist/esm/components/navbar.js +1 -1
  326. package/dist/esm/components/notice.d.ts +1 -1
  327. package/dist/esm/components/notice.d.ts.map +1 -1
  328. package/dist/esm/components/notice.js +1 -1
  329. package/dist/esm/components/popover.d.ts.map +1 -1
  330. package/dist/esm/components/popover.js +1 -1
  331. package/dist/esm/components/progress.js +1 -1
  332. package/dist/esm/components/progress.props.d.ts +0 -7
  333. package/dist/esm/components/progress.props.d.ts.map +1 -1
  334. package/dist/esm/components/progress.props.js +1 -1
  335. package/dist/esm/components/radio-group.d.ts.map +1 -1
  336. package/dist/esm/components/radio-group.js +1 -1
  337. package/dist/esm/components/radio-group.props.d.ts +1 -1
  338. package/dist/esm/components/radio-group.props.js +1 -1
  339. package/dist/esm/components/radio.d.ts.map +1 -1
  340. package/dist/esm/components/radio.js +1 -1
  341. package/dist/esm/components/radio.props.js +1 -1
  342. package/dist/esm/components/scroll-area.d.ts.map +1 -1
  343. package/dist/esm/components/scroll-area.js +1 -1
  344. package/dist/esm/components/scroll-area.props.d.ts +0 -7
  345. package/dist/esm/components/scroll-area.props.d.ts.map +1 -1
  346. package/dist/esm/components/scroll-area.props.js +1 -1
  347. package/dist/esm/components/segmented-control.d.ts.map +1 -1
  348. package/dist/esm/components/segmented-control.js +1 -1
  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/separator.js +1 -1
  352. package/dist/esm/components/separator.props.d.ts +0 -7
  353. package/dist/esm/components/separator.props.d.ts.map +1 -1
  354. package/dist/esm/components/separator.props.js +1 -1
  355. package/dist/esm/components/sheet.js +1 -1
  356. package/dist/esm/components/shell.d.ts +1 -1
  357. package/dist/esm/components/shell.d.ts.map +1 -1
  358. package/dist/esm/components/shell.js +1 -1
  359. package/dist/esm/components/sidebar.js +1 -1
  360. package/dist/esm/components/slider.d.ts.map +1 -1
  361. package/dist/esm/components/slider.js +1 -1
  362. package/dist/esm/components/spinner.js +1 -1
  363. package/dist/esm/components/spinner.props.d.ts +0 -7
  364. package/dist/esm/components/spinner.props.d.ts.map +1 -1
  365. package/dist/esm/components/spinner.props.js +1 -1
  366. package/dist/esm/components/switch.d.ts.map +1 -1
  367. package/dist/esm/components/switch.js +1 -1
  368. package/dist/esm/components/tab-nav.d.ts.map +1 -1
  369. package/dist/esm/components/tab-nav.js +1 -1
  370. package/dist/esm/components/table.d.ts.map +1 -1
  371. package/dist/esm/components/table.js +1 -1
  372. package/dist/esm/components/table.props.d.ts +1 -1
  373. package/dist/esm/components/table.props.js +1 -1
  374. package/dist/esm/components/tabs.d.ts.map +1 -1
  375. package/dist/esm/components/tabs.js +1 -1
  376. package/dist/esm/components/text-area.d.ts.map +1 -1
  377. package/dist/esm/components/text-area.js +1 -1
  378. package/dist/esm/components/text-field.d.ts.map +1 -1
  379. package/dist/esm/components/text-field.js +1 -1
  380. package/dist/esm/components/theme-panel.js +1 -1
  381. package/dist/esm/components/theme.d.ts +3 -0
  382. package/dist/esm/components/theme.d.ts.map +1 -1
  383. package/dist/esm/components/theme.js +1 -1
  384. package/dist/esm/components/theme.props.d.ts +12 -0
  385. package/dist/esm/components/theme.props.d.ts.map +1 -1
  386. package/dist/esm/components/theme.props.js +1 -1
  387. package/dist/esm/components/toggle-button.js +1 -1
  388. package/dist/esm/components/toggle-icon-button.js +1 -1
  389. package/dist/esm/components/toolbar.d.ts.map +1 -1
  390. package/dist/esm/components/toolbar.js +1 -1
  391. package/dist/esm/components/tooltip.js +1 -1
  392. package/dist/esm/helpers/index.d.ts +1 -0
  393. package/dist/esm/helpers/index.d.ts.map +1 -1
  394. package/dist/esm/helpers/index.js +1 -1
  395. package/dist/esm/helpers/map-prop-values.d.ts +1 -4
  396. package/dist/esm/helpers/map-prop-values.d.ts.map +1 -1
  397. package/dist/esm/helpers/map-prop-values.js +1 -1
  398. package/dist/esm/helpers/theme-size.d.ts +41 -0
  399. package/dist/esm/helpers/theme-size.d.ts.map +1 -0
  400. package/dist/esm/helpers/theme-size.js +2 -0
  401. package/dist/esm/helpers/theme-size.js.map +7 -0
  402. package/dist/esm/index.js +1 -1
  403. package/dist/esm/props/index.js +1 -1
  404. package/layout/tokens.css +14 -0
  405. package/layout.css +14 -0
  406. package/package.json +1 -1
  407. package/src/components/_internal/base-button.css +114 -78
  408. package/src/components/_internal/base-button.tsx +48 -9
  409. package/src/components/_internal/base-checkbox.css +91 -8
  410. package/src/components/_internal/base-checkbox.props.ts +1 -1
  411. package/src/components/_internal/base-radio.css +68 -6
  412. package/src/components/_internal/base-radio.props.ts +1 -1
  413. package/src/components/_internal/base-tab-list.css +33 -25
  414. package/src/components/accordion.tsx +3 -1
  415. package/src/components/avatar.css +21 -15
  416. package/src/components/badge.css +14 -23
  417. package/src/components/badge.props.tsx +1 -1
  418. package/src/components/button.css +5 -175
  419. package/src/components/chatbar.tsx +9 -4
  420. package/src/components/checkbox-group.css +6 -11
  421. package/src/components/checkbox-group.tsx +3 -1
  422. package/src/components/checkbox.css +6 -11
  423. package/src/components/checkbox.tsx +3 -1
  424. package/src/components/combobox.tsx +3 -1
  425. package/src/components/context-menu.tsx +3 -1
  426. package/src/components/data-list.tsx +3 -1
  427. package/src/components/dropdown-menu.tsx +3 -1
  428. package/src/components/hover-card.tsx +3 -1
  429. package/src/components/icon-button.css +4 -152
  430. package/src/components/message-scroller.tsx +1 -1
  431. package/src/components/navbar.tsx +3 -1
  432. package/src/components/notice.tsx +7 -3
  433. package/src/components/popover.tsx +3 -1
  434. package/src/components/progress.css +4 -37
  435. package/src/components/progress.props.tsx +0 -3
  436. package/src/components/radio-group.props.tsx +1 -1
  437. package/src/components/radio-group.tsx +3 -1
  438. package/src/components/radio.tsx +3 -1
  439. package/src/components/scroll-area.css +2 -23
  440. package/src/components/scroll-area.props.tsx +0 -3
  441. package/src/components/scroll-area.tsx +2 -18
  442. package/src/components/segmented-control.css +34 -27
  443. package/src/components/segmented-control.tsx +3 -1
  444. package/src/components/select.css +76 -74
  445. package/src/components/select.tsx +4 -2
  446. package/src/components/separator.css +2 -23
  447. package/src/components/separator.props.tsx +0 -3
  448. package/src/components/shell.tsx +8 -2
  449. package/src/components/slider.css +19 -11
  450. package/src/components/slider.tsx +3 -1
  451. package/src/components/spinner.css +2 -23
  452. package/src/components/spinner.props.tsx +0 -4
  453. package/src/components/switch.css +51 -17
  454. package/src/components/switch.tsx +3 -1
  455. package/src/components/tab-nav.tsx +3 -1
  456. package/src/components/table.props.tsx +1 -1
  457. package/src/components/table.tsx +3 -1
  458. package/src/components/tabs.css +2 -1
  459. package/src/components/tabs.tsx +3 -1
  460. package/src/components/text-area.css +55 -107
  461. package/src/components/text-area.tsx +8 -6
  462. package/src/components/text-field.css +129 -127
  463. package/src/components/text-field.tsx +8 -6
  464. package/src/components/theme.props.tsx +10 -0
  465. package/src/components/theme.tsx +86 -71
  466. package/src/components/toolbar.tsx +3 -1
  467. package/src/helpers/index.ts +1 -0
  468. package/src/helpers/map-prop-values.ts +1 -18
  469. package/src/helpers/theme-size.ts +73 -0
  470. package/src/styles/tokens/constants.css +4 -0
  471. package/src/styles/tokens/space.css +16 -0
  472. package/styles.css +1428 -2641
  473. package/tokens/base.css +14 -0
  474. package/tokens.css +16 -0
  475. package/dist/esm/chunk-2HUAVZZL.js +0 -2
  476. package/dist/esm/chunk-2HUAVZZL.js.map +0 -7
  477. package/dist/esm/chunk-2XSRO44Q.js +0 -2
  478. package/dist/esm/chunk-2XSRO44Q.js.map +0 -7
  479. package/dist/esm/chunk-3KB2XWBE.js +0 -2
  480. package/dist/esm/chunk-3KB2XWBE.js.map +0 -7
  481. package/dist/esm/chunk-4D7OU2UA.js +0 -2
  482. package/dist/esm/chunk-4D7OU2UA.js.map +0 -7
  483. package/dist/esm/chunk-5GYIQIPW.js +0 -2
  484. package/dist/esm/chunk-5GYIQIPW.js.map +0 -7
  485. package/dist/esm/chunk-655TAWHX.js +0 -2
  486. package/dist/esm/chunk-655TAWHX.js.map +0 -7
  487. package/dist/esm/chunk-6VPYP3VN.js +0 -2
  488. package/dist/esm/chunk-6VPYP3VN.js.map +0 -7
  489. package/dist/esm/chunk-7BE6N3KY.js +0 -2
  490. package/dist/esm/chunk-7BE6N3KY.js.map +0 -7
  491. package/dist/esm/chunk-AHOUZS3V.js +0 -2
  492. package/dist/esm/chunk-AHOUZS3V.js.map +0 -7
  493. package/dist/esm/chunk-BALS3AVM.js +0 -2
  494. package/dist/esm/chunk-BALS3AVM.js.map +0 -7
  495. package/dist/esm/chunk-BOLRYGFQ.js +0 -2
  496. package/dist/esm/chunk-BOLRYGFQ.js.map +0 -7
  497. package/dist/esm/chunk-BUEYZEAY.js +0 -2
  498. package/dist/esm/chunk-BUEYZEAY.js.map +0 -7
  499. package/dist/esm/chunk-DKALDTCN.js +0 -2
  500. package/dist/esm/chunk-DKALDTCN.js.map +0 -7
  501. package/dist/esm/chunk-EJOVE3JH.js +0 -2
  502. package/dist/esm/chunk-EJOVE3JH.js.map +0 -7
  503. package/dist/esm/chunk-FPDLBLO3.js +0 -2
  504. package/dist/esm/chunk-FPDLBLO3.js.map +0 -7
  505. package/dist/esm/chunk-GOYI2U6F.js +0 -2
  506. package/dist/esm/chunk-GOYI2U6F.js.map +0 -7
  507. package/dist/esm/chunk-HKRQ3E3I.js +0 -2
  508. package/dist/esm/chunk-HKRQ3E3I.js.map +0 -7
  509. package/dist/esm/chunk-HSFQO4QM.js +0 -2
  510. package/dist/esm/chunk-HSFQO4QM.js.map +0 -7
  511. package/dist/esm/chunk-HVQ3SLQC.js +0 -2
  512. package/dist/esm/chunk-HVQ3SLQC.js.map +0 -7
  513. package/dist/esm/chunk-JCOALADA.js +0 -5
  514. package/dist/esm/chunk-JCOALADA.js.map +0 -7
  515. package/dist/esm/chunk-K7J23OPW.js +0 -2
  516. package/dist/esm/chunk-K7J23OPW.js.map +0 -7
  517. package/dist/esm/chunk-M55KFXYV.js +0 -2
  518. package/dist/esm/chunk-M55KFXYV.js.map +0 -7
  519. package/dist/esm/chunk-MGSHX5N5.js +0 -2
  520. package/dist/esm/chunk-MGSHX5N5.js.map +0 -7
  521. package/dist/esm/chunk-MJC4NKYG.js +0 -2
  522. package/dist/esm/chunk-MJC4NKYG.js.map +0 -7
  523. package/dist/esm/chunk-MOYLXCMW.js +0 -2
  524. package/dist/esm/chunk-MOYLXCMW.js.map +0 -7
  525. package/dist/esm/chunk-MVW2SY4F.js +0 -2
  526. package/dist/esm/chunk-MVW2SY4F.js.map +0 -7
  527. package/dist/esm/chunk-NOSR2XWD.js +0 -2
  528. package/dist/esm/chunk-NOSR2XWD.js.map +0 -7
  529. package/dist/esm/chunk-OMUUPPJO.js +0 -2
  530. package/dist/esm/chunk-OMUUPPJO.js.map +0 -7
  531. package/dist/esm/chunk-PNIVUG5D.js +0 -2
  532. package/dist/esm/chunk-PNIVUG5D.js.map +0 -7
  533. package/dist/esm/chunk-PSS45RHX.js +0 -2
  534. package/dist/esm/chunk-PSS45RHX.js.map +0 -7
  535. package/dist/esm/chunk-PYYI64XK.js +0 -2
  536. package/dist/esm/chunk-PYYI64XK.js.map +0 -7
  537. package/dist/esm/chunk-QJFAGWBO.js +0 -2
  538. package/dist/esm/chunk-QJFAGWBO.js.map +0 -7
  539. package/dist/esm/chunk-QWFFYUFH.js +0 -2
  540. package/dist/esm/chunk-QWFFYUFH.js.map +0 -7
  541. package/dist/esm/chunk-RVHKSNMJ.js +0 -2
  542. package/dist/esm/chunk-RVHKSNMJ.js.map +0 -7
  543. package/dist/esm/chunk-RYURXQLJ.js +0 -2
  544. package/dist/esm/chunk-RYURXQLJ.js.map +0 -7
  545. package/dist/esm/chunk-UA6FP7HS.js +0 -2
  546. package/dist/esm/chunk-V7UP4SLZ.js +0 -2
  547. package/dist/esm/chunk-V7UP4SLZ.js.map +0 -7
  548. package/dist/esm/chunk-X5KCVLKG.js +0 -2
  549. package/dist/esm/chunk-X5KCVLKG.js.map +0 -7
  550. package/dist/esm/chunk-XPRPYCII.js +0 -2
  551. package/dist/esm/chunk-XPRPYCII.js.map +0 -7
  552. /package/dist/esm/{chunk-XZ5XZS5O.js.map → chunk-35HNDWWM.js.map} +0 -0
  553. /package/dist/esm/{chunk-YDRFILTX.js.map → chunk-6YWDEANN.js.map} +0 -0
  554. /package/dist/esm/{chunk-MZQDDG5K.js.map → chunk-7FZPCM7W.js.map} +0 -0
  555. /package/dist/esm/{chunk-UA6FP7HS.js.map → chunk-ABS275QZ.js.map} +0 -0
  556. /package/dist/esm/{chunk-YZABQ4LS.js.map → chunk-DFSW4QR4.js.map} +0 -0
  557. /package/dist/esm/{chunk-SM27AC7E.js.map → chunk-DJFTDR6Y.js.map} +0 -0
  558. /package/dist/esm/{chunk-CRYT55SY.js.map → chunk-EHUSLPWN.js.map} +0 -0
  559. /package/dist/esm/{chunk-6XHM724Y.js.map → chunk-GTVFQXLJ.js.map} +0 -0
  560. /package/dist/esm/{chunk-6HRBG5H2.js.map → chunk-KPPIW4OJ.js.map} +0 -0
  561. /package/dist/esm/{chunk-6WFEMPCF.js.map → chunk-KRXCFIRK.js.map} +0 -0
  562. /package/dist/esm/{chunk-COSHAOEK.js.map → chunk-MJEYJI5G.js.map} +0 -0
  563. /package/dist/esm/{chunk-CG54MBMW.js.map → chunk-MPN33CKR.js.map} +0 -0
  564. /package/dist/esm/{chunk-IGBEDJBC.js.map → chunk-NFVOEHZS.js.map} +0 -0
  565. /package/dist/esm/{chunk-ORMCQAPS.js.map → chunk-PAQS6C2A.js.map} +0 -0
  566. /package/dist/esm/{chunk-2IPVLV6B.js.map → chunk-UQZHW3EJ.js.map} +0 -0
  567. /package/dist/esm/{chunk-DP3OWU5T.js.map → chunk-VT4AAF7Q.js.map} +0 -0
  568. /package/dist/esm/{chunk-RFURPE7W.js.map → chunk-YF3MFME4.js.map} +0 -0
  569. /package/dist/esm/{chunk-S53ZQNHK.js.map → chunk-ZFBLPW3X.js.map} +0 -0
@@ -1,211 +1,41 @@
1
1
  /**
2
2
  * Button Component Styles
3
- *
4
- * This file contains the core styling for the Button component, including
5
- * size variants, icon handling, and responsive design patterns. The styles
6
- * are built on top of the base button styles imported from _internal.
7
- *
8
- * Key features:
9
- * - Responsive sizing with mobile-first approach
10
- * - Automatic icon sizing based on button size
11
- * - Ghost variant with specialized padding
12
- * - Consistent typography and spacing
3
+ *
4
+ * Button sits on the shared control ladder in _internal/base-button.css: height, side padding
5
+ * (with the pill correction), gap and icon size all come from there, for every variant. This
6
+ * file adds the label's type step per size.
13
7
  */
14
8
 
15
9
  @import './_internal/base-button.css';
16
10
 
17
- /*
18
- * Button-specific styles that extend the base button
19
- * These styles handle icon opacity and specialized behaviors
20
- */
21
-
22
- /***************************************************************************************************
23
- * *
24
- * SIZES *
25
- * *
26
- * Button sizes are designed for different interface densities and contexts:
27
- * - Size 1 (24px): Compact for toolbars and dense interfaces
28
- * - Size 2 (32px): Standard for most interface contexts
29
- * - Size 3 (40px): Large for important actions and mobile touch targets
30
- * - Size 4 (48px): Extra large for hero sections and maximum impact
31
- * *
32
- ***************************************************************************************************/
33
-
34
- /*
35
- * Ghost variant has specialized padding that differs from other variants
36
- * This creates a more subtle, text-like appearance
37
- */
38
11
  .rt-Button {
39
- --button-padding-icon-trim: max(calc(var(--button-padding-inline-base) * 0.35), var(--space-2));
40
-
41
- &:where(.rt-variant-ghost) {
42
- padding: var(--button-ghost-padding-y) var(--button-ghost-padding-x);
43
- }
12
+ font-weight: var(--font-weight-medium);
44
13
  }
45
14
 
46
15
  @breakpoints {
47
16
  .rt-Button {
48
- /*
49
- * Size 1: Compact (24px height)
50
- * Designed for toolbars, dense interfaces, and space-constrained contexts
51
- */
52
17
  &:where(.rt-r-size-1) {
53
- --button-padding-inline-base: var(--space-3);
54
- gap: var(--component-gap-1);
55
18
  font-size: var(--font-size-1);
56
19
  line-height: var(--line-height-1);
57
20
  letter-spacing: var(--letter-spacing-1);
58
-
59
- /*
60
- * Icon sizing for size 1
61
- * Icons are automatically sized to match the button's scale
62
- */
63
- /* stylelint-disable-next-line selector-max-type */
64
- & :where(svg) {
65
- width: var(--content-icon-size-1);
66
- height: var(--content-icon-size-1);
67
- }
68
-
69
- /*
70
- * Standard padding for non-ghost variants
71
- * Provides adequate touch targets while maintaining compact appearance
72
- */
73
- &:where(:not(.rt-variant-ghost)) {
74
- padding-inline-start: var(--button-padding-inline-base);
75
- padding-inline-end: var(--button-padding-inline-base);
76
- }
77
-
78
- /*
79
- * Ghost variant padding for size 1
80
- * Reduced padding creates seamless text integration
81
- */
82
- &:where(.rt-variant-ghost) {
83
- gap: var(--component-gap-ghost-1);
84
- --button-ghost-padding-x: var(--space-3);
85
- --button-ghost-padding-y: var(--space-2);
86
- --button-padding-inline-base: var(--button-ghost-padding-x);
87
- }
88
21
  }
89
22
 
90
- /*
91
- * Size 2: Standard (32px height)
92
- * Default size for most interface contexts and general use
93
- */
94
23
  &:where(.rt-r-size-2) {
95
- --button-padding-inline-base: var(--space-4);
96
- gap: var(--component-gap-2);
97
24
  font-size: var(--font-size-2);
98
25
  line-height: var(--line-height-2);
99
26
  letter-spacing: var(--letter-spacing-2);
100
-
101
- /* Icon sizing for size 2 */
102
- /* stylelint-disable-next-line selector-max-type */
103
- & :where(svg) {
104
- width: var(--content-icon-size-2);
105
- height: var(--content-icon-size-2);
106
- }
107
-
108
- /* Standard padding for non-ghost variants */
109
- &:where(:not(.rt-variant-ghost)) {
110
- padding-inline-start: var(--button-padding-inline-base);
111
- padding-inline-end: var(--button-padding-inline-base);
112
- }
113
-
114
- /* Ghost variant padding for size 2 */
115
- &:where(.rt-variant-ghost) {
116
- gap: var(--component-gap-ghost-2);
117
- --button-ghost-padding-x: var(--space-3);
118
- --button-ghost-padding-y: var(--space-2);
119
- --button-padding-inline-base: var(--button-ghost-padding-x);
120
- }
121
27
  }
122
28
 
123
- /*
124
- * Size 3: Large (40px height)
125
- * Recommended for important actions and mobile touch targets
126
- */
127
29
  &:where(.rt-r-size-3) {
128
- --button-padding-inline-base: var(--space-4);
129
- gap: var(--component-gap-3);
130
30
  font-size: var(--font-size-3);
131
31
  line-height: var(--line-height-3);
132
32
  letter-spacing: var(--letter-spacing-3);
133
-
134
- /* Icon sizing for size 3 */
135
- /* stylelint-disable-next-line selector-max-type */
136
- & :where(svg) {
137
- width: var(--content-icon-size-3);
138
- height: var(--content-icon-size-3);
139
- }
140
-
141
- /* Standard padding for non-ghost variants */
142
- &:where(:not(.rt-variant-ghost)) {
143
- padding-inline-start: var(--button-padding-inline-base);
144
- padding-inline-end: var(--button-padding-inline-base);
145
- }
146
-
147
- /* Ghost variant padding for size 3 */
148
- &:where(.rt-variant-ghost) {
149
- gap: var(--component-gap-ghost-3);
150
- --button-ghost-padding-x: var(--space-4);
151
- --button-ghost-padding-y: calc(var(--space-2) * 1.5);
152
- --button-padding-inline-base: var(--button-ghost-padding-x);
153
- }
154
33
  }
155
34
 
156
- /*
157
- * Size 4: Extra Large (48px height)
158
- * Designed for hero sections and maximum visual impact
159
- */
160
35
  &:where(.rt-r-size-4) {
161
- --button-padding-inline-base: var(--space-5);
162
- gap: var(--component-gap-4);
163
36
  font-size: var(--font-size-4);
164
37
  line-height: var(--line-height-4);
165
38
  letter-spacing: var(--letter-spacing-4);
166
-
167
- /* Icon sizing for size 4 */
168
- /* stylelint-disable-next-line selector-max-type */
169
- & :where(svg) {
170
- width: var(--content-icon-size-4);
171
- height: var(--content-icon-size-4);
172
- }
173
-
174
- /* Standard padding for non-ghost variants */
175
- &:where(:not(.rt-variant-ghost)) {
176
- padding-inline-start: var(--button-padding-inline-base);
177
- padding-inline-end: var(--button-padding-inline-base);
178
- }
179
-
180
- /* Ghost variant padding for size 4 */
181
- &:where(.rt-variant-ghost) {
182
- gap: var(--component-gap-ghost-4);
183
- --button-ghost-padding-x: var(--space-5);
184
- --button-ghost-padding-y: var(--space-3);
185
- --button-padding-inline-base: var(--button-ghost-padding-x);
186
- }
187
39
  }
188
40
  }
189
41
  }
190
-
191
- /***************************************************************************************************
192
- * *
193
- * VARIANTS *
194
- * *
195
- * Button variants provide different visual contexts and hierarchies:
196
- * - raised: lifted off its ground, with an edge and a shadow
197
- * - solid: Primary actions that should be noticed first
198
- * - soft: Content-heavy interfaces, natural integration
199
- * - surface: Elevated appearance with subtle depth
200
- * - outline: Secondary actions that support primary actions
201
- * - ghost: Utility functions that don't compete for attention
202
- * *
203
- ***************************************************************************************************/
204
-
205
- /*
206
- * Typography styling for all button variants
207
- * Ensures consistent font weight across all button types
208
- */
209
- .rt-Button {
210
- font-weight: var(--font-weight-medium);
211
- }
@@ -9,6 +9,7 @@ import { Flex } from './flex.js';
9
9
  import { ScrollArea } from './scroll-area.js';
10
10
  import { Slot } from './slot.js';
11
11
  import { NoticeSizeContext } from './notice.js';
12
+ import { useThemeSize } from '../helpers/theme-size.js';
12
13
  import { Spinner } from './spinner.js';
13
14
  import { Text } from './text.js';
14
15
  import { VisuallyHidden } from './visually-hidden.js';
@@ -125,6 +126,9 @@ interface ChatbarContextValue {
125
126
  beginFilePickerPress(): void;
126
127
  }
127
128
 
129
+ /** Chatbar's own range; a Theme size of 4 maps to 3. */
130
+ const chatbarSizePropDef = { values: ['1', '2', '3'] as const };
131
+
128
132
  const ChatbarContext = React.createContext<ChatbarContextValue | null>(null);
129
133
  // Value lives in its own context so keystrokes only re-render parts that read it
130
134
  const ChatbarValueContext = React.createContext<string>('');
@@ -315,7 +319,7 @@ const Root = React.forwardRef<RootElement, RootProps>((props, forwardedRef) => {
315
319
  disabled,
316
320
  readOnly,
317
321
  onSubmit,
318
- size = '2',
322
+ size: sizeProp,
319
323
  variant,
320
324
  color,
321
325
  radius,
@@ -339,6 +343,7 @@ const Root = React.forwardRef<RootElement, RootProps>((props, forwardedRef) => {
339
343
  context,
340
344
  ...divProps
341
345
  } = props;
346
+ const size = useThemeSize(sizeProp, chatbarSizePropDef);
342
347
 
343
348
  const isValueControlled = valueProp != null;
344
349
  const [valueUncontrolled, setValueUncontrolled] = React.useState<string>(defaultValue);
@@ -1033,7 +1038,7 @@ const AttachmentsRow = React.forwardRef<HTMLDivElement, AttachmentsRowProps>((pr
1033
1038
  return (
1034
1039
  <div>
1035
1040
  <Comp {...divProps} ref={forwardedRef} className={classNames('rt-ChatbarAttachmentsRow', className)} role="list" aria-label={divProps['aria-label'] ?? 'Attachments'}>
1036
- <ScrollArea className="rt-ChatbarScrollArea" scrollbars="horizontal" size="1">
1041
+ <ScrollArea className="rt-ChatbarScrollArea" scrollbars="horizontal">
1037
1042
  <Flex align="center" gap="3" minWidth="fit-content">
1038
1043
  {ctx.attachments.map((att) => (
1039
1044
  <Attachment key={att.id} attachment={att} asChild={!!renderAttachment}>
@@ -1117,7 +1122,7 @@ const Attachment = React.forwardRef<HTMLDivElement, AttachmentProps>((props, for
1117
1122
 
1118
1123
  const lead =
1119
1124
  attachment.status === 'uploading' ? (
1120
- <Spinner size="1" />
1125
+ <Spinner />
1121
1126
  ) : isImage ? (
1122
1127
  <img className="rt-ChatbarAttachmentImage" src={attachment.url} alt="" />
1123
1128
  ) : (
@@ -1361,7 +1366,7 @@ const Send = React.forwardRef<HTMLButtonElement, SendProps>((props, forwardedRef
1361
1366
 
1362
1367
  const glyph =
1363
1368
  mode === 'stop' ? (
1364
- stopIcon ?? (status === 'submitted' ? <Spinner size={ctx.size} /> : (
1369
+ stopIcon ?? (status === 'submitted' ? <Spinner /> : (
1365
1370
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" aria-hidden>
1366
1371
  <rect x="7" y="7" width="10" height="10" rx="2" />
1367
1372
  </svg>
@@ -12,20 +12,15 @@
12
12
  width: fit-content;
13
13
  }
14
14
 
15
+ /* The disabled cursor lives in the base mark. */
15
16
  .rt-CheckboxGroupItemCheckbox {
16
- &:where(:focus-visible) {
17
- &::before {
18
- outline: 2px solid var(--focus-8);
19
- outline-offset: 2px;
20
- }
17
+ &:where(:focus-visible)::before {
18
+ outline: var(--focus-ring-width, 2px) solid var(--focus-8);
19
+ outline-offset: var(--focus-ring-offset, 2px);
21
20
  }
22
21
 
23
- &:where(:disabled) {
24
- cursor: var(--cursor-disabled);
25
-
26
- &::before {
27
- background-color: var(--gray-a3);
28
- }
22
+ &:where(:disabled)::before {
23
+ background-color: var(--gray-a3);
29
24
  }
30
25
  }
31
26
 
@@ -10,6 +10,7 @@ import { checkboxGroupRootPropDefs } from './checkbox-group.props.js';
10
10
  import { ThickCheckIcon } from './icons.js';
11
11
  import { Text } from './text.js';
12
12
  import { extractProps } from '../helpers/extract-props.js';
13
+ import { useThemeSize } from '../helpers/theme-size.js';
13
14
  import { marginPropDefs } from '../props/margin.props.js';
14
15
 
15
16
  import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
@@ -42,12 +43,13 @@ const CheckboxGroupRoot = React.forwardRef<CheckboxGroupRootElement, CheckboxGro
42
43
  (
43
44
  {
44
45
  color = checkboxGroupRootPropDefs.color.default,
45
- size = checkboxGroupRootPropDefs.size.default,
46
+ size: sizeProp,
46
47
  variant = checkboxGroupRootPropDefs.variant.default,
47
48
  ...props
48
49
  }: ScopedProps<CheckboxGroupRootProps>,
49
50
  forwardedRef,
50
51
  ) => {
52
+ const size = useThemeSize(sizeProp, checkboxGroupRootPropDefs.size);
51
53
  const { __scopeCheckboxGroup, className, ...rootProps } = extractProps(props, marginPropDefs);
52
54
  const checkboxGroupScope = useCheckboxGroupScope(__scopeCheckboxGroup);
53
55
  return (
@@ -1,18 +1,13 @@
1
1
  @import './_internal/base-checkbox.css';
2
2
 
3
+ /* The disabled cursor lives in the base mark. */
3
4
  .rt-CheckboxRoot {
4
- &:where(:focus-visible) {
5
- &::before {
6
- outline: 2px solid var(--focus-8);
7
- outline-offset: 2px;
8
- }
5
+ &:where(:focus-visible)::before {
6
+ outline: var(--focus-ring-width, 2px) solid var(--focus-8);
7
+ outline-offset: var(--focus-ring-offset, 2px);
9
8
  }
10
9
 
11
- &:where(:disabled) {
12
- cursor: var(--cursor-disabled);
13
-
14
- &::before {
15
- background-color: var(--gray-a3);
16
- }
10
+ &:where(:disabled)::before {
11
+ background-color: var(--gray-a3);
17
12
  }
18
13
  }
@@ -8,6 +8,7 @@ import { useControllableState } from 'radix-ui/internal';
8
8
  import { checkboxPropDefs } from './checkbox.props.js';
9
9
  import { ThickCheckIcon, ThickDividerHorizontalIcon } from './icons.js';
10
10
  import { extractProps } from '../helpers/extract-props.js';
11
+ import { useThemeSizeProps } from '../helpers/theme-size.js';
11
12
  import { marginPropDefs } from '../props/margin.props.js';
12
13
 
13
14
  import type { MarginProps } from '../props/margin.props.js';
@@ -23,7 +24,8 @@ interface CheckboxProps
23
24
  >,
24
25
  MarginProps,
25
26
  CheckboxOwnProps {}
26
- const Checkbox = React.forwardRef<CheckboxElement, CheckboxProps>((props, forwardedRef) => {
27
+ const Checkbox = React.forwardRef<CheckboxElement, CheckboxProps>((ownProps, forwardedRef) => {
28
+ const props = useThemeSizeProps(ownProps, checkboxPropDefs.size);
27
29
  const {
28
30
  className,
29
31
  color,
@@ -25,6 +25,7 @@ import { useCallbackRef, useComposedRefs, useControllableState, useLayoutEffect
25
25
  import { Command as CommandPrimitive, useCommandState } from 'cmdk';
26
26
 
27
27
  import { extractProps } from '../helpers/extract-props.js';
28
+ import { useThemeSize } from '../helpers/theme-size.js';
28
29
  import { comboboxRootPropDefs, comboboxTriggerPropDefs, comboboxContentPropDefs } from './combobox.props.js';
29
30
  import { marginPropDefs } from '../props/margin.props.js';
30
31
  import { ChevronDownIcon, ThickCheckIcon } from './icons.js';
@@ -206,7 +207,7 @@ function readElementLabel(el: HTMLElement): string | undefined {
206
207
  const ComboboxRoot: React.FC<ComboboxRootProps> = (props) => {
207
208
  const {
208
209
  children,
209
- size = comboboxRootPropDefs.size.default,
210
+ size: sizeProp,
210
211
  value: valueProp,
211
212
  defaultValue = null,
212
213
  onValueChange,
@@ -228,6 +229,7 @@ const ComboboxRoot: React.FC<ComboboxRootProps> = (props) => {
228
229
  displayValue: displayValueProp,
229
230
  ...rootProps
230
231
  } = props;
232
+ const size = useThemeSize(sizeProp, comboboxRootPropDefs.size);
231
233
 
232
234
  const [open, setOpen] = useControllableState({
233
235
  prop: openProp,
@@ -21,6 +21,7 @@ import {
21
21
  import { Theme, useThemeContext } from './theme.js';
22
22
  import { ThickCheckIcon, ThickChevronRightIcon, ThickDotIcon } from './icons.js';
23
23
  import { extractProps } from '../helpers/extract-props.js';
24
+ import { useThemeSizeProps } from '../helpers/theme-size.js';
24
25
  import { requireReactElement } from '../helpers/require-react-element.js';
25
26
  import { MenuProvider } from './_internal/menu-context.js';
26
27
  import {
@@ -76,7 +77,8 @@ interface ContextMenuContentProps
76
77
  submenuBehavior?: Responsive<'cascade' | 'drill-down'>;
77
78
  }
78
79
  const ContextMenuContent = React.forwardRef<ContextMenuContentElement, ContextMenuContentProps>(
79
- (props, forwardedRef) => {
80
+ (ownProps, forwardedRef) => {
81
+ const props = useThemeSizeProps(ownProps, contextMenuContentPropDefs.size);
80
82
  const themeContext = useThemeContext();
81
83
  const {
82
84
  size = contextMenuContentPropDefs.size.default,
@@ -8,6 +8,7 @@ import {
8
8
  dataListLabelPropDefs,
9
9
  } from './data-list.props.js';
10
10
  import { extractProps } from '../helpers/extract-props.js';
11
+ import { useThemeSizeProps } from '../helpers/theme-size.js';
11
12
  import { marginPropDefs } from '../props/margin.props.js';
12
13
 
13
14
  import type { MarginProps } from '../props/margin.props.js';
@@ -21,7 +22,8 @@ interface DataListRootProps
21
22
  MarginProps,
22
23
  DataListRootOwnProps {}
23
24
  const DataListRoot = React.forwardRef<DataListRootElement, DataListRootProps>(
24
- (props, forwardedRef) => {
25
+ (ownProps, forwardedRef) => {
26
+ const props = useThemeSizeProps(ownProps, dataListRootPropDefs.size);
25
27
  const { className, ...dataListProps } = extractProps(
26
28
  props,
27
29
  dataListRootPropDefs,
@@ -18,6 +18,7 @@ import {
18
18
  import { Theme, useThemeContext } from './theme.js';
19
19
  import { ChevronDownIcon, ThickCheckIcon, ThickChevronLeftIcon, ThickChevronRightIcon, ThickDotIcon } from './icons.js';
20
20
  import { extractProps } from '../helpers/extract-props.js';
21
+ import { useThemeSizeProps } from '../helpers/theme-size.js';
21
22
  import {
22
23
  DrillDownLevelContext,
23
24
  DrillDownRoot,
@@ -128,7 +129,8 @@ interface DropdownMenuContentProps
128
129
  virtualized?: boolean;
129
130
  }
130
131
  const DropdownMenuContent = React.forwardRef<DropdownMenuContentElement, DropdownMenuContentProps>(
131
- (props, forwardedRef) => {
132
+ (ownProps, forwardedRef) => {
133
+ const props = useThemeSizeProps(ownProps, dropdownMenuContentPropDefs.size);
132
134
  const themeContext = useThemeContext();
133
135
  const {
134
136
  size = dropdownMenuContentPropDefs.size.default,
@@ -4,6 +4,7 @@ import { HoverCard as HoverCardPrimitive } from 'radix-ui';
4
4
 
5
5
  import { hoverCardContentPropDefs } from './hover-card.props.js';
6
6
  import { extractProps } from '../helpers/extract-props.js';
7
+ import { useThemeSizeProps } from '../helpers/theme-size.js';
7
8
  import { requireReactElement } from '../helpers/require-react-element.js';
8
9
  import { Theme } from './theme.js';
9
10
 
@@ -41,7 +42,8 @@ interface HoverCardContentProps
41
42
  container?: React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Portal>['container'];
42
43
  }
43
44
  const HoverCardContent = React.forwardRef<HoverCardContentElement, HoverCardContentProps>(
44
- (props, forwardedRef) => {
45
+ (ownProps, forwardedRef) => {
46
+ const props = useThemeSizeProps(ownProps, hoverCardContentPropDefs.size);
45
47
  const { className, forceMount, container, ...contentProps } = extractProps(
46
48
  props,
47
49
  hoverCardContentPropDefs
@@ -1,157 +1,9 @@
1
1
  /**
2
2
  * IconButton Component Styles
3
- *
4
- * This file contains the core styling for the IconButton component, which
5
- * extends the base button with specialized behavior for icon-only interactions.
6
- * Icon buttons maintain square aspect ratios and provide consistent icon sizing
7
- * across all variants and sizes.
8
- *
9
- * Key features:
10
- * - Square aspect ratios for consistent visual alignment
11
- * - Automatic icon sizing based on button size
12
- * - Specialized flush behavior for ghost variants
13
- * - Responsive design with mobile-first approach
14
- * - Seamless text integration with negative margins
3
+ *
4
+ * The square shape and the flush trim live with the shared control ladder in
5
+ * _internal/base-button.css (`.rt-BaseButton:where(.rt-IconButton)`), so their order against
6
+ * the padding rules never depends on import order.
15
7
  */
16
8
 
17
9
  @import './_internal/base-button.css';
18
-
19
- /***************************************************************************************************
20
- * *
21
- * SIZES *
22
- * *
23
- * Icon button sizes maintain square aspect ratios for consistent visual alignment.
24
- * Each size corresponds to the same dimensions as regular buttons but ensures
25
- * perfect squares for optimal icon display and touch targets.
26
- * *
27
- ***************************************************************************************************/
28
-
29
- /*
30
- * Base icon button styling that ensures square aspect ratios
31
- * Uses the same height as base buttons but sets width to match
32
- */
33
- .rt-IconButton {
34
- height: var(--base-button-height);
35
- width: var(--base-button-height);
36
- }
37
-
38
- @breakpoints {
39
- .rt-IconButton {
40
- /*
41
- * Size 1: Compact (24px x 24px)
42
- * Designed for toolbars and dense interfaces
43
- */
44
- &:where(.rt-r-size-1) {
45
- /*
46
- * Icon sizing for size 1
47
- * Icons are automatically sized to match the button's scale
48
- */
49
- /* stylelint-disable-next-line selector-max-type */
50
- & :where(svg) {
51
- width: var(--content-icon-size-1);
52
- height: var(--content-icon-size-1);
53
- }
54
- }
55
-
56
- /*
57
- * Size 2: Standard (32px x 32px)
58
- * Default size for most interface contexts
59
- */
60
- &:where(.rt-r-size-2) {
61
- /* Icon sizing for size 2 */
62
- /* stylelint-disable-next-line selector-max-type */
63
- & :where(svg) {
64
- width: var(--content-icon-size-2);
65
- height: var(--content-icon-size-2);
66
- }
67
- }
68
-
69
- /*
70
- * Size 3: Large (40px x 40px)
71
- * Recommended for important actions and mobile touch targets
72
- */
73
- &:where(.rt-r-size-3) {
74
- /* Icon sizing for size 3 */
75
- /* stylelint-disable-next-line selector-max-type */
76
- & :where(svg) {
77
- width: var(--content-icon-size-3);
78
- height: var(--content-icon-size-3);
79
- }
80
- }
81
-
82
- /*
83
- * Size 4: Extra Large (48px x 48px)
84
- * Designed for hero sections and maximum visual impact
85
- */
86
- &:where(.rt-r-size-4) {
87
- /* Icon sizing for size 4 */
88
- /* stylelint-disable-next-line selector-max-type */
89
- & :where(svg) {
90
- width: var(--content-icon-size-4);
91
- height: var(--content-icon-size-4);
92
- }
93
- }
94
- }
95
-
96
- /*
97
- * Specialized flush behavior for ghost variant icon buttons
98
- * This creates seamless text integration by using negative margins
99
- * to compensate for the button's padding
100
- */
101
- .rt-IconButton:where(.rt-variant-ghost) {
102
- &:where([data-flush='true']) {
103
- /*
104
- * Reset defined margin variables to avoid inheriting from higher components
105
- * If a margin IS defined on the component itself, the utility class will win and reset it
106
- */
107
- --margin-top: 0px;
108
- --margin-right: 0px;
109
- --margin-bottom: 0px;
110
- --margin-left: 0px;
111
-
112
- /*
113
- * Define overrides to incorporate negative margins using ghost padding
114
- * This creates the seamless integration effect by pulling the button
115
- * closer to surrounding text
116
- */
117
- --margin-top-override: calc(var(--margin-top) - var(--icon-button-ghost-padding));
118
- --margin-right-override: calc(var(--margin-right) - var(--icon-button-ghost-padding));
119
- --margin-bottom-override: calc(var(--margin-bottom) - var(--icon-button-ghost-padding));
120
- --margin-left-override: calc(var(--margin-left) - var(--icon-button-ghost-padding));
121
-
122
- /* Apply the calculated negative margins */
123
- margin-top: var(--margin-top-override);
124
- margin-right: var(--margin-right-override);
125
- margin-bottom: var(--margin-bottom-override);
126
- margin-left: var(--margin-left-override);
127
-
128
- /*
129
- * Reset the overrides on direct children
130
- * This prevents the negative margins from affecting child elements
131
- */
132
- :where(&) > * {
133
- --margin-top-override: initial;
134
- --margin-right-override: initial;
135
- --margin-bottom-override: initial;
136
- --margin-left-override: initial;
137
- }
138
- }
139
-
140
- /*
141
- * Ghost padding values for different sizes
142
- * These determine the amount of negative margin applied in flush mode
143
- */
144
- &:where(.rt-r-size-1) {
145
- --icon-button-ghost-padding: var(--space-2);
146
- }
147
- &:where(.rt-r-size-2) {
148
- --icon-button-ghost-padding: calc(var(--space-2) * 1.5);
149
- }
150
- &:where(.rt-r-size-3) {
151
- --icon-button-ghost-padding: var(--space-3);
152
- }
153
- &:where(.rt-r-size-4) {
154
- --icon-button-ghost-padding: var(--space-4);
155
- }
156
- }
157
- }
@@ -144,7 +144,7 @@ type ButtonProps = Omit<IconButtonProps, 'aria-label' | 'aria-labelledby' | 'var
144
144
  * Place it inside `Root`, after the viewport. It sits over the viewport's bottom edge.
145
145
  */
146
146
  const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
147
- ({ direction = 'end', behavior, className, children, size = '2', variant = 'surface', emphasis, color = 'gray', radius = 'full', 'aria-label': label, ...props }, forwardedRef) => (
147
+ ({ direction = 'end', behavior, className, children, size, variant = 'surface', emphasis, color = 'gray', radius = 'full', 'aria-label': label, ...props }, forwardedRef) => (
148
148
  <Primitive.Button
149
149
  direction={direction}
150
150
  {...(behavior ? { behavior } : {})}
@@ -9,6 +9,7 @@ import type { FlexProps } from './flex.js';
9
9
 
10
10
  import { navbarRootPropDefs } from './navbar.props.js';
11
11
  import { extractProps } from '../helpers/extract-props.js';
12
+ import { useThemeSizeProps } from '../helpers/theme-size.js';
12
13
 
13
14
  import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
14
15
  import type { GetPropDefTypes } from '../props/prop-def.js';
@@ -35,7 +36,8 @@ interface NavbarRootProps
35
36
  NavbarRootOwnProps {}
36
37
 
37
38
  const NavbarRoot = React.forwardRef<NavbarRootElement, NavbarRootProps>(
38
- (props, forwardedRef) => {
39
+ (ownProps, forwardedRef) => {
40
+ const props = useThemeSizeProps(ownProps, navbarRootPropDefs.size);
39
41
  const { children, className, ...rootProps } = extractProps(
40
42
  props,
41
43
  navbarRootPropDefs,