@womp/kookie-ui 0.19.0 → 0.20.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 (298) hide show
  1. package/codemods/type-0.20.py +73 -0
  2. package/components.css +1003 -2360
  3. package/dist/cjs/components/_internal/base-menu.props.d.ts +2 -2
  4. package/dist/cjs/components/_internal/base-menu.props.js +1 -1
  5. package/dist/cjs/components/_internal/base-menu.props.js.map +2 -2
  6. package/dist/cjs/components/_internal/base-menu.utils.d.ts.map +1 -1
  7. package/dist/cjs/components/_internal/base-menu.utils.js +1 -1
  8. package/dist/cjs/components/_internal/base-menu.utils.js.map +2 -2
  9. package/dist/cjs/components/_internal/menu-context.d.ts +5 -2
  10. package/dist/cjs/components/_internal/menu-context.d.ts.map +1 -1
  11. package/dist/cjs/components/_internal/menu-context.js +1 -1
  12. package/dist/cjs/components/_internal/menu-context.js.map +2 -2
  13. package/dist/cjs/components/alert-dialog.js +1 -1
  14. package/dist/cjs/components/alert-dialog.js.map +2 -2
  15. package/dist/cjs/components/badge.js +1 -1
  16. package/dist/cjs/components/badge.js.map +2 -2
  17. package/dist/cjs/components/blockquote.js +1 -1
  18. package/dist/cjs/components/blockquote.js.map +2 -2
  19. package/dist/cjs/components/blockquote.props.d.ts +2 -2
  20. package/dist/cjs/components/blockquote.props.js +1 -1
  21. package/dist/cjs/components/blockquote.props.js.map +2 -2
  22. package/dist/cjs/components/button.js +1 -1
  23. package/dist/cjs/components/button.js.map +2 -2
  24. package/dist/cjs/components/chatbar.js +1 -1
  25. package/dist/cjs/components/chatbar.js.map +2 -2
  26. package/dist/cjs/components/checkbox-group.js +1 -1
  27. package/dist/cjs/components/checkbox-group.js.map +2 -2
  28. package/dist/cjs/components/code.js +1 -1
  29. package/dist/cjs/components/code.js.map +2 -2
  30. package/dist/cjs/components/code.props.d.ts +2 -2
  31. package/dist/cjs/components/code.props.js +1 -1
  32. package/dist/cjs/components/code.props.js.map +2 -2
  33. package/dist/cjs/components/combobox.js +1 -1
  34. package/dist/cjs/components/combobox.js.map +2 -2
  35. package/dist/cjs/components/combobox.props.d.ts +1 -1
  36. package/dist/cjs/components/combobox.props.js +1 -1
  37. package/dist/cjs/components/combobox.props.js.map +2 -2
  38. package/dist/cjs/components/context-menu.js +1 -1
  39. package/dist/cjs/components/context-menu.js.map +2 -2
  40. package/dist/cjs/components/context-menu.props.js +1 -1
  41. package/dist/cjs/components/context-menu.props.js.map +2 -2
  42. package/dist/cjs/components/data-list.js +1 -1
  43. package/dist/cjs/components/data-list.js.map +2 -2
  44. package/dist/cjs/components/dialog.js +1 -1
  45. package/dist/cjs/components/dialog.js.map +2 -2
  46. package/dist/cjs/components/dropdown-menu.js +1 -1
  47. package/dist/cjs/components/dropdown-menu.js.map +2 -2
  48. package/dist/cjs/components/dropdown-menu.props.js +1 -1
  49. package/dist/cjs/components/dropdown-menu.props.js.map +2 -2
  50. package/dist/cjs/components/heading.js +1 -1
  51. package/dist/cjs/components/heading.js.map +2 -2
  52. package/dist/cjs/components/heading.props.d.ts +2 -2
  53. package/dist/cjs/components/heading.props.js +1 -1
  54. package/dist/cjs/components/heading.props.js.map +2 -2
  55. package/dist/cjs/components/icon-button.js +1 -1
  56. package/dist/cjs/components/icon-button.js.map +2 -2
  57. package/dist/cjs/components/index.js +3 -3
  58. package/dist/cjs/components/index.js.map +3 -3
  59. package/dist/cjs/components/kbd.js +1 -1
  60. package/dist/cjs/components/kbd.js.map +2 -2
  61. package/dist/cjs/components/kbd.props.d.ts +1 -1
  62. package/dist/cjs/components/kbd.props.js +1 -1
  63. package/dist/cjs/components/kbd.props.js.map +2 -2
  64. package/dist/cjs/components/link.js +1 -1
  65. package/dist/cjs/components/link.js.map +2 -2
  66. package/dist/cjs/components/link.props.d.ts +2 -2
  67. package/dist/cjs/components/link.props.js +1 -1
  68. package/dist/cjs/components/link.props.js.map +2 -2
  69. package/dist/cjs/components/message-scroller.js +1 -1
  70. package/dist/cjs/components/message-scroller.js.map +2 -2
  71. package/dist/cjs/components/notice.js +1 -1
  72. package/dist/cjs/components/notice.js.map +2 -2
  73. package/dist/cjs/components/radio-group.js +1 -1
  74. package/dist/cjs/components/radio-group.js.map +2 -2
  75. package/dist/cjs/components/sheet.js +1 -1
  76. package/dist/cjs/components/sheet.js.map +2 -2
  77. package/dist/cjs/components/sidebar.d.ts.map +1 -1
  78. package/dist/cjs/components/sidebar.js +1 -1
  79. package/dist/cjs/components/sidebar.js.map +3 -3
  80. package/dist/cjs/components/text.js +1 -1
  81. package/dist/cjs/components/text.js.map +2 -2
  82. package/dist/cjs/components/text.props.d.ts +2 -2
  83. package/dist/cjs/components/text.props.js +1 -1
  84. package/dist/cjs/components/text.props.js.map +2 -2
  85. package/dist/cjs/components/theme-panel.js +2 -2
  86. package/dist/cjs/components/theme-panel.js.map +2 -2
  87. package/dist/cjs/components/toggle-button.js +1 -1
  88. package/dist/cjs/components/toggle-button.js.map +2 -2
  89. package/dist/cjs/components/toggle-icon-button.js +1 -1
  90. package/dist/cjs/components/toggle-icon-button.js.map +2 -2
  91. package/dist/cjs/components/toolbar.js +1 -1
  92. package/dist/cjs/components/toolbar.js.map +2 -2
  93. package/dist/cjs/components/tooltip.js +1 -1
  94. package/dist/cjs/components/tooltip.js.map +2 -2
  95. package/dist/cjs/components/virtual-menu.d.ts +2 -1
  96. package/dist/cjs/components/virtual-menu.d.ts.map +1 -1
  97. package/dist/cjs/components/virtual-menu.js +1 -1
  98. package/dist/cjs/components/virtual-menu.js.map +2 -2
  99. package/dist/cjs/index.js +3 -3
  100. package/dist/cjs/index.js.map +3 -3
  101. package/dist/cjs/props/index.js +1 -1
  102. package/dist/cjs/props/index.js.map +2 -2
  103. package/dist/cjs/props/weight.prop.d.ts +1 -1
  104. package/dist/cjs/props/weight.prop.d.ts.map +1 -1
  105. package/dist/cjs/props/weight.prop.js +1 -1
  106. package/dist/cjs/props/weight.prop.js.map +2 -2
  107. package/dist/esm/chunk-2WSD2H23.js +2 -0
  108. package/dist/esm/chunk-2WSD2H23.js.map +7 -0
  109. package/dist/esm/{chunk-JZSXHYUU.js → chunk-33IRPFDK.js} +2 -2
  110. package/dist/esm/{chunk-32ATKZAP.js → chunk-3E6ADI2F.js} +2 -2
  111. package/dist/esm/{chunk-JBC6DT2X.js → chunk-74SNS4VY.js} +2 -2
  112. package/dist/esm/chunk-CD324U6G.js +2 -0
  113. package/dist/esm/chunk-CD324U6G.js.map +7 -0
  114. package/dist/esm/{chunk-DIR22XIX.js → chunk-CNMFVJNC.js} +2 -2
  115. package/dist/esm/{chunk-UUHTK35B.js → chunk-EUHAZKWY.js} +2 -2
  116. package/dist/esm/chunk-F7HK2QLM.js +2 -0
  117. package/dist/esm/{chunk-5AHQJB6H.js.map → chunk-F7HK2QLM.js.map} +2 -2
  118. package/dist/esm/{chunk-MZR6YBE7.js → chunk-GDACOD53.js} +2 -2
  119. package/dist/esm/chunk-GTXRD4FZ.js +2 -0
  120. package/dist/esm/{chunk-UUV5UNYL.js.map → chunk-GTXRD4FZ.js.map} +3 -3
  121. package/dist/esm/{chunk-BUBV3C6C.js → chunk-HJ6ACBXW.js} +2 -2
  122. package/dist/esm/{chunk-XTE22CXV.js → chunk-HJZNHNLX.js} +2 -2
  123. package/dist/esm/chunk-HK7RJPQ2.js +2 -0
  124. package/dist/esm/chunk-HK7RJPQ2.js.map +7 -0
  125. package/dist/esm/{chunk-IXNJFV4O.js → chunk-HVXXJZC2.js} +2 -2
  126. package/dist/esm/{chunk-GYB7PAGB.js → chunk-IND2NZIN.js} +2 -2
  127. package/dist/esm/{chunk-UZQO4APP.js → chunk-JDMJC76O.js} +2 -2
  128. package/dist/esm/{chunk-PUQXBW2K.js → chunk-JH55M4I2.js} +2 -2
  129. package/dist/esm/{chunk-N77QJUTO.js → chunk-JOB6FH3D.js} +2 -2
  130. package/dist/esm/chunk-JOB6FH3D.js.map +7 -0
  131. package/dist/esm/{chunk-GIIMBBVM.js → chunk-MLXFZDFU.js} +2 -2
  132. package/dist/esm/{chunk-GYNRAVCL.js → chunk-NEK7F746.js} +2 -2
  133. package/dist/esm/chunk-NTGRWJEG.js +2 -0
  134. package/dist/esm/{chunk-EVTNB4TB.js.map → chunk-NTGRWJEG.js.map} +2 -2
  135. package/dist/esm/{chunk-KDKL3HXD.js → chunk-O7IPBLC7.js} +2 -2
  136. package/dist/esm/{chunk-K6Y2SM5N.js → chunk-OLSTITVY.js} +2 -2
  137. package/dist/esm/{chunk-X3D3JR64.js → chunk-Q6GUADLO.js} +2 -2
  138. package/dist/esm/{chunk-YVHRWMSZ.js → chunk-QETAAJJV.js} +2 -2
  139. package/dist/esm/chunk-QEYOXQK5.js +2 -0
  140. package/dist/esm/{chunk-PDBVZAUJ.js.map → chunk-QEYOXQK5.js.map} +2 -2
  141. package/dist/esm/chunk-R372ULQC.js +2 -0
  142. package/dist/esm/chunk-R372ULQC.js.map +7 -0
  143. package/dist/esm/chunk-RDS3AJWW.js +2 -0
  144. package/dist/esm/chunk-RDS3AJWW.js.map +7 -0
  145. package/dist/esm/{chunk-6XNQ5XD3.js → chunk-SKOF4A27.js} +2 -2
  146. package/dist/esm/{chunk-BINUV3ME.js → chunk-TBWKDBUF.js} +2 -2
  147. package/dist/esm/{chunk-MAI7FEU7.js → chunk-TLZMLJTI.js} +2 -2
  148. package/dist/esm/{chunk-MAI7FEU7.js.map → chunk-TLZMLJTI.js.map} +2 -2
  149. package/dist/esm/{chunk-CR2BSCFM.js → chunk-UNH3FGU4.js} +2 -2
  150. package/dist/esm/{chunk-L2IIIELE.js → chunk-WBGKTN35.js} +2 -2
  151. package/dist/esm/chunk-WSKA5MZZ.js +2 -0
  152. package/dist/esm/chunk-WSKA5MZZ.js.map +7 -0
  153. package/dist/esm/chunk-XDAQXNBQ.js +2 -0
  154. package/dist/esm/chunk-XDAQXNBQ.js.map +7 -0
  155. package/dist/esm/{chunk-63ASTOS2.js → chunk-XDV2SDJ3.js} +2 -2
  156. package/dist/esm/{chunk-G6PO4QKW.js → chunk-XPT5ELKO.js} +2 -2
  157. package/dist/esm/{chunk-2XQECQF2.js → chunk-XXHIMGBY.js} +2 -2
  158. package/dist/esm/{chunk-JRIBL4WJ.js → chunk-ZRHXFYAE.js} +2 -2
  159. package/dist/esm/components/_internal/base-menu.props.d.ts +2 -2
  160. package/dist/esm/components/_internal/base-menu.props.js +1 -1
  161. package/dist/esm/components/_internal/base-menu.utils.d.ts.map +1 -1
  162. package/dist/esm/components/_internal/base-menu.utils.js +1 -1
  163. package/dist/esm/components/_internal/menu-context.d.ts +5 -2
  164. package/dist/esm/components/_internal/menu-context.d.ts.map +1 -1
  165. package/dist/esm/components/_internal/menu-context.js +1 -1
  166. package/dist/esm/components/alert-dialog.js +1 -1
  167. package/dist/esm/components/badge.js +1 -1
  168. package/dist/esm/components/blockquote.js +1 -1
  169. package/dist/esm/components/blockquote.props.d.ts +2 -2
  170. package/dist/esm/components/blockquote.props.js +1 -1
  171. package/dist/esm/components/button.js +1 -1
  172. package/dist/esm/components/chatbar.js +1 -1
  173. package/dist/esm/components/checkbox-group.js +1 -1
  174. package/dist/esm/components/code.js +1 -1
  175. package/dist/esm/components/code.props.d.ts +2 -2
  176. package/dist/esm/components/code.props.js +1 -1
  177. package/dist/esm/components/combobox.js +1 -1
  178. package/dist/esm/components/combobox.props.d.ts +1 -1
  179. package/dist/esm/components/combobox.props.js +1 -1
  180. package/dist/esm/components/context-menu.js +1 -1
  181. package/dist/esm/components/context-menu.props.js +1 -1
  182. package/dist/esm/components/data-list.js +1 -1
  183. package/dist/esm/components/dialog.js +1 -1
  184. package/dist/esm/components/dropdown-menu.js +1 -1
  185. package/dist/esm/components/dropdown-menu.props.js +1 -1
  186. package/dist/esm/components/heading.js +1 -1
  187. package/dist/esm/components/heading.props.d.ts +2 -2
  188. package/dist/esm/components/heading.props.js +1 -1
  189. package/dist/esm/components/icon-button.js +1 -1
  190. package/dist/esm/components/index.js +1 -1
  191. package/dist/esm/components/kbd.js +1 -1
  192. package/dist/esm/components/kbd.props.d.ts +1 -1
  193. package/dist/esm/components/kbd.props.js +1 -1
  194. package/dist/esm/components/link.js +1 -1
  195. package/dist/esm/components/link.props.d.ts +2 -2
  196. package/dist/esm/components/link.props.js +1 -1
  197. package/dist/esm/components/message-scroller.js +1 -1
  198. package/dist/esm/components/notice.js +1 -1
  199. package/dist/esm/components/radio-group.js +1 -1
  200. package/dist/esm/components/sheet.js +1 -1
  201. package/dist/esm/components/sidebar.d.ts.map +1 -1
  202. package/dist/esm/components/sidebar.js +1 -1
  203. package/dist/esm/components/text.js +1 -1
  204. package/dist/esm/components/text.props.d.ts +2 -2
  205. package/dist/esm/components/text.props.js +1 -1
  206. package/dist/esm/components/theme-panel.js +1 -1
  207. package/dist/esm/components/toggle-button.js +1 -1
  208. package/dist/esm/components/toggle-icon-button.js +1 -1
  209. package/dist/esm/components/toolbar.js +1 -1
  210. package/dist/esm/components/tooltip.js +1 -1
  211. package/dist/esm/components/virtual-menu.d.ts +2 -1
  212. package/dist/esm/components/virtual-menu.d.ts.map +1 -1
  213. package/dist/esm/components/virtual-menu.js +1 -1
  214. package/dist/esm/index.js +1 -1
  215. package/dist/esm/props/index.js +1 -1
  216. package/dist/esm/props/weight.prop.d.ts +1 -1
  217. package/dist/esm/props/weight.prop.d.ts.map +1 -1
  218. package/dist/esm/props/weight.prop.js +1 -1
  219. package/package.json +1 -1
  220. package/src/components/_internal/base-menu.css +120 -114
  221. package/src/components/_internal/base-menu.props.ts +1 -1
  222. package/src/components/_internal/base-menu.utils.tsx +2 -1
  223. package/src/components/_internal/base-sidebar-menu.css +8 -38
  224. package/src/components/_internal/menu-context.tsx +9 -4
  225. package/src/components/avatar.css +3 -3
  226. package/src/components/badge.css +3 -3
  227. package/src/components/blockquote.props.tsx +1 -1
  228. package/src/components/code.css +10 -32
  229. package/src/components/code.props.tsx +1 -1
  230. package/src/components/combobox.css +0 -9
  231. package/src/components/combobox.props.tsx +1 -1
  232. package/src/components/heading.css +9 -29
  233. package/src/components/heading.props.tsx +1 -1
  234. package/src/components/kbd.css +1 -29
  235. package/src/components/kbd.props.tsx +1 -1
  236. package/src/components/link.props.tsx +1 -1
  237. package/src/components/notice.css +10 -13
  238. package/src/components/select.css +19 -134
  239. package/src/components/sidebar.css +82 -123
  240. package/src/components/sidebar.tsx +1 -3
  241. package/src/components/slider.css +2 -2
  242. package/src/components/table.css +24 -11
  243. package/src/components/text.css +0 -20
  244. package/src/components/text.props.tsx +1 -1
  245. package/src/components/virtual-menu.tsx +3 -1
  246. package/src/props/weight.prop.ts +2 -1
  247. package/src/styles/tokens/radius.css +12 -0
  248. package/src/styles/tokens/typography.css +21 -49
  249. package/src/styles/utilities/font-weight.css +0 -20
  250. package/styles.css +1034 -2503
  251. package/tokens/base.css +23 -45
  252. package/tokens.css +23 -45
  253. package/utilities.css +0 -90
  254. package/dist/esm/chunk-5AHQJB6H.js +0 -2
  255. package/dist/esm/chunk-ABQHBDM4.js +0 -2
  256. package/dist/esm/chunk-ABQHBDM4.js.map +0 -7
  257. package/dist/esm/chunk-B72RMGWZ.js +0 -2
  258. package/dist/esm/chunk-B72RMGWZ.js.map +0 -7
  259. package/dist/esm/chunk-EUSKAXHP.js +0 -2
  260. package/dist/esm/chunk-EUSKAXHP.js.map +0 -7
  261. package/dist/esm/chunk-EVTNB4TB.js +0 -2
  262. package/dist/esm/chunk-FD2TR343.js +0 -2
  263. package/dist/esm/chunk-FD2TR343.js.map +0 -7
  264. package/dist/esm/chunk-FTGD2SZ6.js +0 -2
  265. package/dist/esm/chunk-FTGD2SZ6.js.map +0 -7
  266. package/dist/esm/chunk-G3U6OHVA.js +0 -2
  267. package/dist/esm/chunk-G3U6OHVA.js.map +0 -7
  268. package/dist/esm/chunk-N77QJUTO.js.map +0 -7
  269. package/dist/esm/chunk-PDBVZAUJ.js +0 -2
  270. package/dist/esm/chunk-UUV5UNYL.js +0 -2
  271. package/dist/esm/chunk-ZMFZYXLB.js +0 -2
  272. package/dist/esm/chunk-ZMFZYXLB.js.map +0 -7
  273. /package/dist/esm/{chunk-JZSXHYUU.js.map → chunk-33IRPFDK.js.map} +0 -0
  274. /package/dist/esm/{chunk-32ATKZAP.js.map → chunk-3E6ADI2F.js.map} +0 -0
  275. /package/dist/esm/{chunk-JBC6DT2X.js.map → chunk-74SNS4VY.js.map} +0 -0
  276. /package/dist/esm/{chunk-DIR22XIX.js.map → chunk-CNMFVJNC.js.map} +0 -0
  277. /package/dist/esm/{chunk-UUHTK35B.js.map → chunk-EUHAZKWY.js.map} +0 -0
  278. /package/dist/esm/{chunk-MZR6YBE7.js.map → chunk-GDACOD53.js.map} +0 -0
  279. /package/dist/esm/{chunk-BUBV3C6C.js.map → chunk-HJ6ACBXW.js.map} +0 -0
  280. /package/dist/esm/{chunk-XTE22CXV.js.map → chunk-HJZNHNLX.js.map} +0 -0
  281. /package/dist/esm/{chunk-IXNJFV4O.js.map → chunk-HVXXJZC2.js.map} +0 -0
  282. /package/dist/esm/{chunk-GYB7PAGB.js.map → chunk-IND2NZIN.js.map} +0 -0
  283. /package/dist/esm/{chunk-UZQO4APP.js.map → chunk-JDMJC76O.js.map} +0 -0
  284. /package/dist/esm/{chunk-PUQXBW2K.js.map → chunk-JH55M4I2.js.map} +0 -0
  285. /package/dist/esm/{chunk-GIIMBBVM.js.map → chunk-MLXFZDFU.js.map} +0 -0
  286. /package/dist/esm/{chunk-GYNRAVCL.js.map → chunk-NEK7F746.js.map} +0 -0
  287. /package/dist/esm/{chunk-KDKL3HXD.js.map → chunk-O7IPBLC7.js.map} +0 -0
  288. /package/dist/esm/{chunk-K6Y2SM5N.js.map → chunk-OLSTITVY.js.map} +0 -0
  289. /package/dist/esm/{chunk-X3D3JR64.js.map → chunk-Q6GUADLO.js.map} +0 -0
  290. /package/dist/esm/{chunk-YVHRWMSZ.js.map → chunk-QETAAJJV.js.map} +0 -0
  291. /package/dist/esm/{chunk-6XNQ5XD3.js.map → chunk-SKOF4A27.js.map} +0 -0
  292. /package/dist/esm/{chunk-BINUV3ME.js.map → chunk-TBWKDBUF.js.map} +0 -0
  293. /package/dist/esm/{chunk-CR2BSCFM.js.map → chunk-UNH3FGU4.js.map} +0 -0
  294. /package/dist/esm/{chunk-L2IIIELE.js.map → chunk-WBGKTN35.js.map} +0 -0
  295. /package/dist/esm/{chunk-63ASTOS2.js.map → chunk-XDV2SDJ3.js.map} +0 -0
  296. /package/dist/esm/{chunk-G6PO4QKW.js.map → chunk-XPT5ELKO.js.map} +0 -0
  297. /package/dist/esm/{chunk-2XQECQF2.js.map → chunk-XXHIMGBY.js.map} +0 -0
  298. /package/dist/esm/{chunk-JRIBL4WJ.js.map → chunk-ZRHXFYAE.js.map} +0 -0
@@ -39,11 +39,16 @@
39
39
  height: var(--trigger-icon-size-default);
40
40
  }
41
41
 
42
+ /*
43
+ * The panel and its rows are the menu's (base-menu.css): the content is a BaseMenuContent and
44
+ * every item a BaseMenuItem, so the panel pads --panel-p-N and a row hugs its line. What is
45
+ * left here is the select's own: the check mark's box and rich rows.
46
+ */
42
47
  .rt-SelectContent {
43
- --scrollarea-scrollbar-vertical-margin-top: var(--select-content-padding);
44
- --scrollarea-scrollbar-vertical-margin-bottom: var(--select-content-padding);
45
- --scrollarea-scrollbar-horizontal-margin-left: var(--select-content-padding);
46
- --scrollarea-scrollbar-horizontal-margin-right: var(--select-content-padding);
48
+ --scrollarea-scrollbar-vertical-margin-top: var(--base-menu-content-padding);
49
+ --scrollarea-scrollbar-vertical-margin-bottom: var(--base-menu-content-padding);
50
+ --scrollarea-scrollbar-horizontal-margin-left: var(--base-menu-content-padding);
51
+ --scrollarea-scrollbar-horizontal-margin-right: var(--base-menu-content-padding);
47
52
 
48
53
  overflow: hidden;
49
54
  z-index: 200; /* Above dialogs (100) so select inside dialogs/sheets work */
@@ -59,47 +64,28 @@
59
64
 
60
65
  .rt-SelectViewport {
61
66
  box-sizing: border-box;
62
- padding: var(--select-content-padding);
63
67
 
64
68
  :where(.rt-SelectContent:has(.rt-ScrollAreaScrollbar[data-orientation='vertical'])) & {
65
69
  padding-right: var(--space-4);
66
70
  }
67
71
  }
68
72
 
69
- .rt-SelectItem {
70
- display: flex;
71
- align-items: center;
72
- height: var(--select-item-height);
73
- padding-left: var(--select-item-indicator-width);
74
- padding-right: var(--select-item-indicator-width);
75
- position: relative;
76
- box-sizing: border-box;
77
- outline: none;
78
- scroll-margin: var(--select-content-padding) 0;
79
-
80
- /* Fix sticky text highlighting after selection in Firefox */
81
- user-select: none;
82
-
83
- /* Cursors */
84
- cursor: var(--cursor-menu-item);
85
- &:where([data-disabled]) {
86
- cursor: default;
87
- }
73
+ /* Rich content grows the row; the mark stays on the first line. */
74
+ .rt-SelectItem:where(.rt-SelectItemRich) {
75
+ align-items: flex-start;
88
76
 
89
- /* Allow rich content to expand height */
90
- &:where(.rt-SelectItemRich) {
91
- height: auto;
92
- min-height: var(--select-item-height);
93
- align-items: flex-start;
94
- padding-top: var(--space-3);
95
- padding-bottom: var(--space-3);
77
+ & :where(.rt-SelectItemIndicator) {
78
+ bottom: auto;
79
+ height: var(--base-menu-item-height);
96
80
  }
97
81
  }
98
82
 
99
83
  .rt-SelectItemIndicator {
100
84
  position: absolute;
101
- left: 0;
102
- width: var(--select-item-indicator-width);
85
+ inset-inline-start: var(--base-menu-item-px);
86
+ top: 0;
87
+ bottom: 0;
88
+ width: var(--base-menu-icon-size);
103
89
  display: inline-flex;
104
90
  align-items: center;
105
91
  justify-content: center;
@@ -107,25 +93,10 @@
107
93
 
108
94
  .rt-SelectSeparator {
109
95
  height: var(--separator-height-thin);
110
- margin-top: var(--space-3);
111
- margin-bottom: var(--space-3);
112
- margin-left: var(--select-item-indicator-width);
113
- margin-right: var(--select-separator-margin-right);
114
96
  }
115
97
 
116
98
  .rt-SelectLabel {
117
- display: flex;
118
- align-items: center;
119
- height: var(--select-item-height);
120
- padding-left: var(--select-item-indicator-width);
121
- padding-right: var(--select-item-indicator-width);
122
99
  color: var(--gray-a10);
123
- user-select: none;
124
- cursor: default;
125
-
126
- :where(.rt-SelectItem) + & {
127
- margin-top: var(--space-3);
128
- }
129
100
  }
130
101
 
131
102
  /***************************************************************************************************
@@ -217,92 +188,6 @@
217
188
  }
218
189
  }
219
190
 
220
- /***************************************************************************************************
221
- * *
222
- * CONTENT SIZES *
223
- * *
224
- ***************************************************************************************************/
225
-
226
- @breakpoints {
227
- .rt-SelectContent {
228
- &:where(.rt-r-size-1) {
229
- --select-content-padding: var(--space-2);
230
- --select-item-height: var(--control-height-1);
231
- --select-item-indicator-width: calc(var(--space-6) / var(--select-item-indicator-width-factor));
232
- --select-separator-margin-right: var(--space-3);
233
- border-radius: var(--radius-surface-1);
234
-
235
- & :where(.rt-SelectLabel) {
236
- font-size: var(--font-size-1);
237
- letter-spacing: var(--letter-spacing-1);
238
- line-height: var(--line-height-1);
239
- }
240
- & :where(.rt-SelectItem) {
241
- font-size: var(--font-size-1);
242
- line-height: var(--line-height-1);
243
- letter-spacing: var(--letter-spacing-1);
244
- border-radius: var(--radius-1);
245
- }
246
- & :where(.rt-SelectItemIndicatorIcon) {
247
- width: var(--select-indicator-icon-size-1);
248
- height: var(--select-indicator-icon-size-1);
249
- }
250
- }
251
- &:where(.rt-r-size-2, .rt-r-size-3, .rt-r-size-4) {
252
- --select-content-padding: var(--space-3);
253
- --select-item-indicator-width: var(--space-6);
254
- --select-separator-margin-right: var(--space-4);
255
- border-radius: var(--radius-surface-1);
256
-
257
- & :where(.rt-SelectLabel) {
258
- font-size: var(--font-size-2);
259
- letter-spacing: var(--letter-spacing-2);
260
- line-height: var(--line-height-2);
261
- }
262
- & :where(.rt-SelectItem) {
263
- line-height: var(--line-height-2);
264
- border-radius: var(--radius-2);
265
- }
266
- }
267
- &:where(.rt-r-size-2) {
268
- --select-item-height: var(--control-height-2);
269
-
270
- & :where(.rt-SelectItem) {
271
- font-size: var(--font-size-2);
272
- letter-spacing: var(--letter-spacing-2);
273
- }
274
- & :where(.rt-SelectItemIndicatorIcon) {
275
- width: var(--select-indicator-icon-size-2);
276
- height: var(--select-indicator-icon-size-2);
277
- }
278
- }
279
- &:where(.rt-r-size-3) {
280
- --select-item-height: var(--control-height-3);
281
-
282
- & :where(.rt-SelectItem) {
283
- font-size: var(--font-size-3);
284
- letter-spacing: var(--letter-spacing-3);
285
- }
286
- & :where(.rt-SelectItemIndicatorIcon) {
287
- width: var(--select-indicator-icon-size-3);
288
- height: var(--select-indicator-icon-size-3);
289
- }
290
- }
291
- &:where(.rt-r-size-4) {
292
- --select-item-height: var(--control-height-4);
293
-
294
- & :where(.rt-SelectItem) {
295
- font-size: var(--font-size-4);
296
- letter-spacing: var(--letter-spacing-4);
297
- }
298
- & :where(.rt-SelectItemIndicatorIcon) {
299
- width: var(--select-indicator-icon-size-4);
300
- height: var(--select-indicator-icon-size-4);
301
- }
302
- }
303
- }
304
- }
305
-
306
191
  /***************************************************************************************************
307
192
  * *
308
193
  * TRIGGER VARIANTS *
@@ -39,8 +39,8 @@
39
39
  flex-direction: column !important;
40
40
  gap: var(--space-2) !important;
41
41
  text-align: center !important;
42
- font-size: var(--font-size-0) !important;
43
- line-height: var(--line-height-0) !important;
42
+ font-size: var(--font-size-1) !important;
43
+ line-height: var(--line-height-1) !important;
44
44
  padding-inline-start: var(--space-2) !important;
45
45
  padding-inline-end: var(--space-2) !important;
46
46
  /* Add margin for balanced spacing like normal variant */
@@ -87,8 +87,8 @@
87
87
  flex-direction: column;
88
88
  gap: var(--space-2);
89
89
  text-align: center;
90
- font-size: var(--font-size-0);
91
- line-height: var(--line-height-0);
90
+ font-size: var(--font-size-1);
91
+ line-height: var(--line-height-1);
92
92
  white-space: nowrap;
93
93
  overflow: hidden;
94
94
  text-overflow: ellipsis;
@@ -122,8 +122,8 @@
122
122
  flex-direction: column;
123
123
  gap: var(--space-2);
124
124
  text-align: center;
125
- font-size: var(--font-size-0);
126
- line-height: var(--line-height-0);
125
+ font-size: var(--font-size-1);
126
+ line-height: var(--line-height-1);
127
127
  white-space: nowrap;
128
128
  overflow: hidden;
129
129
  text-overflow: ellipsis;
@@ -156,8 +156,8 @@
156
156
  flex-direction: column;
157
157
  gap: var(--space-2);
158
158
  text-align: center;
159
- font-size: var(--font-size-0);
160
- line-height: var(--line-height-0);
159
+ font-size: var(--font-size-1);
160
+ line-height: var(--line-height-1);
161
161
  white-space: nowrap;
162
162
  overflow: hidden;
163
163
  text-overflow: ellipsis;
@@ -257,8 +257,8 @@
257
257
  white-space: nowrap;
258
258
  text-align: center;
259
259
  color: var(--gray-11);
260
- font-size: var(--font-size-0);
261
- line-height: var(--line-height-0);
260
+ font-size: var(--font-size-1);
261
+ line-height: var(--line-height-1);
262
262
  }
263
263
 
264
264
  /* Active label gets accent color and medium weight */
@@ -493,12 +493,12 @@
493
493
  /* Inherit all base MenuButton styles */
494
494
  display: flex;
495
495
  align-items: center;
496
- gap: var(--space-3);
496
+ gap: var(--base-menu-item-gap);
497
497
  min-height: var(--base-menu-item-height);
498
498
  padding-top: var(--base-menu-item-padding-y);
499
499
  padding-bottom: var(--base-menu-item-padding-y);
500
- padding-left: var(--base-menu-item-padding-left);
501
- padding-right: var(--base-menu-item-padding-right);
500
+ padding-inline-start: var(--base-menu-item-padding-left);
501
+ padding-inline-end: var(--base-menu-item-padding-right);
502
502
  box-sizing: border-box;
503
503
  position: relative;
504
504
  outline: none;
@@ -523,14 +523,6 @@
523
523
  /* Reduced motion support */
524
524
  }
525
525
 
526
- .rt-SidebarHeader :where(.rt-SidebarMenuButton) {
527
- border-radius: var(--sidebar-base-border-radius) var(--sidebar-base-border-radius) 0 0;
528
- }
529
-
530
- .rt-SidebarFooter :where(.rt-SidebarMenuButton) {
531
- border-radius: 0 0 var(--sidebar-base-border-radius) var(--sidebar-base-border-radius);
532
- }
533
-
534
526
  /***************************************************************************************************
535
527
  * *
536
528
  * SIZES *
@@ -544,10 +536,10 @@
544
536
  }
545
537
 
546
538
  @breakpoints {
547
- /* Sidebar rows sit on the control height ladder: size N is as tall as a Button,
548
- menu item or TextField of size N. Content is a BaseMenuContent, so it takes
549
- every size value from base-menu.css. Header and Footer are not, so they
550
- restate base-menu's values here; keep the two in step. */
539
+ /* Sidebar rows sit on the control height ladder: size N is as tall as a Button or
540
+ TextField of size N, with the row family's pill padding, gap and icon box. Content is a
541
+ BaseMenuContent, so it takes every other size value from base-menu.css. Header and
542
+ Footer are not, so they restate base-menu's values here; keep the two in step. */
551
543
  /* A Shell pane is a surface: its header, footer, search and scrolling list all pad by the
552
544
  surface padding at the Shell's index, so every row and every control in the pane starts on
553
545
  one line. The Rail is left out: its tiles keep their own tight padding (above). */
@@ -580,98 +572,71 @@
580
572
 
581
573
  .rt-SidebarHeader:where(.rt-r-size-1),
582
574
  .rt-SidebarFooter:where(.rt-r-size-1) {
583
- --base-menu-content-padding: var(--space-3);
584
- --base-menu-item-padding-left: var(--space-3);
585
- --base-menu-item-padding-right: var(--space-3);
586
- --base-menu-item-padding-y: var(--space-2);
575
+ --base-menu-content-padding: var(--panel-p-1);
576
+ --base-menu-item-padding-y: var(--row-inset-1);
577
+ --base-menu-item-px: var(--control-px-1);
578
+ --base-menu-item-px-pill: var(--control-px-pill-1);
579
+ --base-menu-item-gap: var(--control-gap-1);
580
+ --base-menu-icon-size: var(--icon-size-1);
581
+ --base-menu-indicator-icon-size: var(--indicator-icon-size-1);
582
+ --base-menu-font-size: var(--font-size-1);
583
+ --base-menu-line-height: var(--line-height-1);
584
+ --base-menu-letter-spacing: var(--letter-spacing-1);
585
+ }
586
+
587
+ /* A sidebar row stands level with a button: control height, and the control's corner. */
588
+ .rt-SidebarContent:where(.rt-r-size-1),
589
+ .rt-SidebarHeader:where(.rt-r-size-1),
590
+ .rt-SidebarFooter:where(.rt-r-size-1) {
587
591
  --base-menu-item-height: var(--control-height-1);
588
- --sidebar-item-height: var(--base-menu-item-height);
589
-
590
- & :where(.rt-SidebarMenuButton) {
591
- gap: var(--component-gap-2);
592
- font-size: var(--font-size-1);
593
- line-height: var(--line-height-1);
594
- letter-spacing: var(--letter-spacing-1);
595
- border-radius: var(--radius-1);
596
-
597
- /* stylelint-disable-next-line selector-max-type */
598
- & :where(svg) {
599
- width: var(--content-icon-size-1);
600
- height: var(--content-icon-size-1);
601
- flex-shrink: 0;
602
- }
603
- }
592
+ --base-menu-item-radius: var(--radius-control-1);
593
+ --sidebar-item-height: var(--control-height-1);
594
+ }
604
595
 
605
- & :where(.rt-BaseMenuSubTriggerIcon) {
606
- width: var(--indicator-icon-size-1);
607
- height: var(--indicator-icon-size-1);
608
- flex-shrink: 0;
609
- margin-left: auto;
610
- }
596
+ .rt-SidebarHeader:where(.rt-r-size-2),
597
+ .rt-SidebarFooter:where(.rt-r-size-2) {
598
+ --base-menu-content-padding: var(--panel-p-2);
599
+ --base-menu-item-padding-y: var(--row-inset-2);
600
+ --base-menu-item-px: var(--control-px-2);
601
+ --base-menu-item-px-pill: var(--control-px-pill-2);
602
+ --base-menu-item-gap: var(--control-gap-2);
603
+ --base-menu-icon-size: var(--icon-size-2);
604
+ --base-menu-indicator-icon-size: var(--indicator-icon-size-2);
605
+ --base-menu-font-size: var(--font-size-2);
606
+ --base-menu-line-height: var(--line-height-2);
607
+ --base-menu-letter-spacing: var(--letter-spacing-2);
611
608
  }
612
609
 
610
+ /* A sidebar row stands level with a button: control height, and the control's corner. */
611
+ .rt-SidebarContent:where(.rt-r-size-2),
613
612
  .rt-SidebarHeader:where(.rt-r-size-2),
614
613
  .rt-SidebarFooter:where(.rt-r-size-2) {
615
- --base-menu-content-padding: var(--space-4);
616
- --base-menu-item-padding-left: var(--space-4);
617
- --base-menu-item-padding-right: var(--space-4);
618
- --base-menu-item-padding-y: var(--space-2);
619
614
  --base-menu-item-height: var(--control-height-2);
620
- --sidebar-item-height: var(--base-menu-item-height);
621
-
622
- & :where(.rt-SidebarMenuButton) {
623
- gap: var(--component-gap-3);
624
- font-size: var(--font-size-2);
625
- line-height: var(--line-height-2);
626
- letter-spacing: var(--letter-spacing-2);
627
- border-radius: var(--radius-2);
628
-
629
- /* stylelint-disable-next-line selector-max-type */
630
- & :where(svg) {
631
- width: var(--content-icon-size-2);
632
- height: var(--content-icon-size-2);
633
- flex-shrink: 0;
634
- }
635
- }
615
+ --base-menu-item-radius: var(--radius-control-2);
616
+ --sidebar-item-height: var(--control-height-2);
617
+ }
636
618
 
637
- & :where(.rt-BaseMenuSubTriggerIcon) {
638
- width: var(--indicator-icon-size-2);
639
- height: var(--indicator-icon-size-2);
640
- flex-shrink: 0;
641
- margin-left: auto;
642
- }
619
+ .rt-SidebarHeader:where(.rt-r-size-3),
620
+ .rt-SidebarFooter:where(.rt-r-size-3) {
621
+ --base-menu-content-padding: var(--panel-p-3);
622
+ --base-menu-item-padding-y: var(--row-inset-3);
623
+ --base-menu-item-px: var(--control-px-3);
624
+ --base-menu-item-px-pill: var(--control-px-pill-3);
625
+ --base-menu-item-gap: var(--control-gap-3);
626
+ --base-menu-icon-size: var(--icon-size-3);
627
+ --base-menu-indicator-icon-size: var(--indicator-icon-size-3);
628
+ --base-menu-font-size: var(--font-size-3);
629
+ --base-menu-line-height: var(--line-height-3);
630
+ --base-menu-letter-spacing: var(--letter-spacing-3);
643
631
  }
644
632
 
633
+ /* A sidebar row stands level with a button: control height, and the control's corner. */
634
+ .rt-SidebarContent:where(.rt-r-size-3),
645
635
  .rt-SidebarHeader:where(.rt-r-size-3),
646
636
  .rt-SidebarFooter:where(.rt-r-size-3) {
647
- --base-menu-content-padding: var(--space-4);
648
- --base-menu-item-padding-left: var(--space-4);
649
- --base-menu-item-padding-right: var(--space-4);
650
- --base-menu-item-padding-y: var(--space-3);
651
637
  --base-menu-item-height: var(--control-height-3);
652
- --sidebar-item-height: var(--base-menu-item-height);
653
-
654
- & :where(.rt-SidebarMenuButton) {
655
- gap: var(--component-gap-4);
656
- font-size: var(--font-size-3);
657
- line-height: var(--line-height-3);
658
- letter-spacing: var(--letter-spacing-3);
659
- border-radius: var(--radius-2);
660
-
661
- /* stylelint-disable-next-line selector-max-type */
662
- & :where(svg) {
663
- width: var(--content-icon-size-3);
664
- height: var(--content-icon-size-3);
665
- flex-shrink: 0;
666
- }
667
- }
668
-
669
- & :where(.rt-BaseMenuSubTriggerIcon) {
670
- width: var(--indicator-icon-size-3);
671
- height: var(--indicator-icon-size-3);
672
- flex-shrink: 0;
673
- margin-left: auto;
674
- }
638
+ --base-menu-item-radius: var(--radius-control-3);
639
+ --sidebar-item-height: var(--control-height-3);
675
640
  }
676
641
  }
677
642
 
@@ -862,8 +827,8 @@
862
827
  flex-direction: column !important;
863
828
  gap: var(--space-2) !important;
864
829
  text-align: center !important;
865
- font-size: var(--font-size-0) !important;
866
- line-height: var(--line-height-0) !important;
830
+ font-size: var(--font-size-1) !important;
831
+ line-height: var(--line-height-1) !important;
867
832
  padding-inline-start: var(--space-2) !important;
868
833
  padding-inline-end: var(--space-2) !important;
869
834
  margin-top: 1px;
@@ -950,11 +915,18 @@
950
915
  display: flex;
951
916
  flex-direction: column;
952
917
  gap: var(--space-4);
953
- --base-menu-item-height: var(--space-8);
954
- --base-menu-item-padding-y: var(--space-2);
955
- --base-menu-item-padding-left: var(--space-4);
956
- --base-menu-item-padding-right: var(--space-4);
918
+ /* A floating panel of rows at size 2: the rows hug their line (base-menu.css). */
957
919
  --base-menu-content-padding: 0;
920
+ --base-menu-item-padding-y: var(--row-inset-2);
921
+ --base-menu-item-px: var(--control-px-2);
922
+ --base-menu-item-px-pill: var(--control-px-pill-2);
923
+ --base-menu-item-gap: var(--control-gap-2);
924
+ --base-menu-item-radius: var(--radius-row-2);
925
+ --base-menu-icon-size: var(--icon-size-2);
926
+ --base-menu-indicator-icon-size: var(--indicator-icon-size-2);
927
+ --base-menu-font-size: var(--font-size-2);
928
+ --base-menu-line-height: var(--line-height-2);
929
+ --base-menu-letter-spacing: var(--letter-spacing-2);
958
930
  }
959
931
 
960
932
  /* stylelint-disable-next-line selector-max-specificity */
@@ -986,26 +958,13 @@
986
958
  list-style: none;
987
959
  }
988
960
 
989
- /* Popover menu button sizing (mirrors size-2 Content rules) */
990
961
  /* stylelint-disable-next-line selector-max-specificity */
991
962
  .rt-SidebarSearchPopover .rt-SidebarMenuButton {
992
- gap: var(--component-gap-3);
993
- font-size: var(--font-size-2);
994
- line-height: var(--line-height-2);
995
- letter-spacing: var(--letter-spacing-2);
996
- border-radius: var(--radius-2);
997
963
  font-weight: var(--font-weight-regular);
998
964
  margin-top: 1px;
999
965
  margin-bottom: 1px;
1000
966
  }
1001
967
 
1002
- /* stylelint-disable-next-line selector-max-type, selector-max-specificity */
1003
- .rt-SidebarSearchPopover .rt-SidebarMenuButton :where(svg) {
1004
- width: var(--content-icon-size-3);
1005
- height: var(--content-icon-size-3);
1006
- flex-shrink: 0;
1007
- }
1008
-
1009
968
  /* Popover menu button hover (soft variant) */
1010
969
  @media (hover: hover) {
1011
970
  /* stylelint-disable-next-line selector-max-specificity */
@@ -348,10 +348,8 @@ const SidebarMenuSubContent = React.forwardRef<React.ElementRef<typeof Accordion
348
348
  );
349
349
  });
350
350
 
351
- // DropdownMenu only supports sizes 1 and 2, so map size 3 to 2
352
- const dropdownSize = visual?.size === '3' ? '2' : visual?.size;
353
351
  return (
354
- <DropdownMenu.Content size={dropdownSize} className={classNames(className)}>
352
+ <DropdownMenu.Content size={visual?.size} className={classNames(className)}>
355
353
  <DropdownMenu.Group>{normalized}</DropdownMenu.Group>
356
354
  </DropdownMenu.Content>
357
355
  );
@@ -294,8 +294,8 @@
294
294
  }
295
295
 
296
296
  .rt-SliderTickLabel {
297
- font-size: var(--font-size-0);
298
- line-height: var(--line-height-0);
297
+ font-size: var(--font-size-1);
298
+ line-height: var(--line-height-1);
299
299
  color: var(--gray-11);
300
300
  font-weight: var(--font-weight-regular);
301
301
  white-space: nowrap;
@@ -32,9 +32,8 @@
32
32
  box-shadow: var(--table-row-box-shadow);
33
33
  box-sizing: border-box;
34
34
  vertical-align: inherit;
35
- padding: var(--table-cell-padding);
36
- /* Works as min-height */
37
- height: var(--table-cell-min-height);
35
+ /* A cell hugs its line: the inset above and below, the wider inset at the sides. */
36
+ padding: var(--table-cell-py) var(--table-cell-px);
38
37
  }
39
38
  .rt-TableColumnHeaderCell {
40
39
  font-weight: 600;
@@ -53,32 +52,46 @@
53
52
  .rt-TableRoot {
54
53
  &:where(.rt-r-size-1) {
55
54
  --table-border-radius: var(--radius-surface-1);
56
- --table-cell-padding: var(--space-3);
57
- --table-cell-min-height: calc(36px * var(--scale));
55
+ --table-cell-py: var(--layout-space-2);
56
+ --table-cell-px: var(--layout-space-3);
58
57
 
59
58
  & :where(.rt-TableRootTable) {
60
- font-size: var(--font-size-2);
61
- line-height: var(--line-height-2);
59
+ font-size: var(--font-size-1);
60
+ line-height: var(--line-height-1);
61
+ letter-spacing: var(--letter-spacing-1);
62
62
  }
63
63
  }
64
64
  &:where(.rt-r-size-2) {
65
65
  --table-border-radius: var(--radius-surface-2);
66
- --table-cell-padding: var(--space-4);
67
- --table-cell-min-height: calc(44px * var(--scale));
66
+ --table-cell-py: var(--layout-space-3);
67
+ --table-cell-px: var(--layout-space-4);
68
68
 
69
69
  & :where(.rt-TableRootTable) {
70
70
  font-size: var(--font-size-2);
71
71
  line-height: var(--line-height-2);
72
+ letter-spacing: var(--letter-spacing-2);
72
73
  }
73
74
  }
74
75
  &:where(.rt-r-size-3) {
75
76
  --table-border-radius: var(--radius-surface-3);
76
- --table-cell-padding: var(--space-5);
77
- --table-cell-min-height: var(--space-9);
77
+ --table-cell-py: var(--layout-space-4);
78
+ --table-cell-px: var(--layout-space-5);
78
79
 
79
80
  & :where(.rt-TableRootTable) {
80
81
  font-size: var(--font-size-3);
81
82
  line-height: var(--line-height-3);
83
+ letter-spacing: var(--letter-spacing-3);
84
+ }
85
+ }
86
+ &:where(.rt-r-size-4) {
87
+ --table-border-radius: var(--radius-surface-4);
88
+ --table-cell-py: var(--layout-space-5);
89
+ --table-cell-px: var(--layout-space-6);
90
+
91
+ & :where(.rt-TableRootTable) {
92
+ font-size: var(--font-size-4);
93
+ line-height: var(--line-height-4);
94
+ letter-spacing: var(--letter-spacing-4);
82
95
  }
83
96
  }
84
97
  }
@@ -59,11 +59,6 @@
59
59
 
60
60
  @breakpoints {
61
61
  .rt-Text {
62
- &:where(.rt-r-size-0) {
63
- font-size: var(--font-size-0);
64
- --line-height: var(--line-height-0);
65
- --letter-spacing: var(--letter-spacing-0);
66
- }
67
62
  &:where(.rt-r-size-1) {
68
63
  font-size: var(--font-size-1);
69
64
  --line-height: var(--line-height-1);
@@ -109,20 +104,5 @@
109
104
  --line-height: var(--line-height-9);
110
105
  --letter-spacing: var(--letter-spacing-9);
111
106
  }
112
- &:where(.rt-r-size-10) {
113
- font-size: var(--font-size-10);
114
- --line-height: var(--line-height-10);
115
- --letter-spacing: var(--letter-spacing-10);
116
- }
117
- &:where(.rt-r-size-11) {
118
- font-size: var(--font-size-11);
119
- --line-height: var(--line-height-11);
120
- --letter-spacing: var(--letter-spacing-11);
121
- }
122
- &:where(.rt-r-size-12) {
123
- font-size: var(--font-size-12);
124
- --line-height: var(--line-height-12);
125
- --letter-spacing: var(--letter-spacing-12);
126
- }
127
107
  }
128
108
  }
@@ -11,7 +11,7 @@ import { weightPropDef } from '../props/weight.prop.js';
11
11
  import type { PropDef } from '../props/prop-def.js';
12
12
 
13
13
  const as = ['span', 'div', 'label', 'p'] as const;
14
- const sizes = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'] as const;
14
+ const sizes = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] as const;
15
15
 
16
16
  const textPropDefs = {
17
17
  as: { type: 'enum', values: as, default: 'span' },
@@ -5,6 +5,8 @@ import classNames from 'classnames';
5
5
  import { useVirtualizer } from '@tanstack/react-virtual';
6
6
  import { useMenuContext, getMenuItemHeight } from './_internal/menu-context.js';
7
7
 
8
+ import type { MenuSize } from './_internal/menu-context.js';
9
+
8
10
  /**
9
11
  * VirtualMenu - A virtualized menu component for rendering large lists efficiently.
10
12
  *
@@ -90,7 +92,7 @@ interface VirtualMenuProps<T> {
90
92
  * Only set manually when using VirtualMenu outside of a menu context.
91
93
  * @default '2' (or inherited from context)
92
94
  */
93
- size?: '1' | '2';
95
+ size?: MenuSize;
94
96
  /**
95
97
  * Estimated height of each item in pixels.
96
98
  * Can be a number (same for all) or a function (per-item).
@@ -1,6 +1,7 @@
1
1
  import type { PropDef } from './prop-def.js';
2
2
 
3
- const weights = ['thin', 'extralight', 'light', 'regular', 'medium', 'semibold', 'bold', 'extrabold'] as const;
3
+ /** v2's three weights (§15). No bold: a larger size or stronger emphasis says importance. */
4
+ const weights = ['regular', 'medium', 'semibold'] as const;
4
5
 
5
6
  const weightPropDef = {
6
7
  weight: {