@womp/kookie-ui 0.4.0 → 0.6.2

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 (548) hide show
  1. package/components.css +783 -783
  2. package/dist/cjs/components/_internal/base-menu.utils.d.ts +48 -0
  3. package/dist/cjs/components/_internal/base-menu.utils.d.ts.map +1 -0
  4. package/dist/cjs/components/_internal/base-menu.utils.js +2 -0
  5. package/dist/cjs/components/_internal/base-menu.utils.js.map +7 -0
  6. package/dist/cjs/components/_internal/dropdown-menu-drill-down.d.ts +77 -59
  7. package/dist/cjs/components/_internal/dropdown-menu-drill-down.d.ts.map +1 -1
  8. package/dist/cjs/components/_internal/dropdown-menu-drill-down.js +1 -1
  9. package/dist/cjs/components/_internal/dropdown-menu-drill-down.js.map +4 -4
  10. package/dist/cjs/components/_internal/menu-context.d.ts +7 -3
  11. package/dist/cjs/components/_internal/menu-context.d.ts.map +1 -1
  12. package/dist/cjs/components/_internal/menu-context.js +1 -1
  13. package/dist/cjs/components/_internal/menu-context.js.map +4 -4
  14. package/dist/cjs/components/_internal/shell-bottom.js +1 -1
  15. package/dist/cjs/components/_internal/shell-bottom.js.map +2 -2
  16. package/dist/cjs/components/_internal/shell-inspector.js +1 -1
  17. package/dist/cjs/components/_internal/shell-inspector.js.map +2 -2
  18. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  19. package/dist/cjs/components/_internal/shell-sidebar.js.map +2 -2
  20. package/dist/cjs/components/accordion.js +1 -1
  21. package/dist/cjs/components/alert-dialog.js +1 -1
  22. package/dist/cjs/components/alert-dialog.js.map +2 -2
  23. package/dist/cjs/components/badge.js +1 -1
  24. package/dist/cjs/components/badge.js.map +2 -2
  25. package/dist/cjs/components/blockquote.js +1 -1
  26. package/dist/cjs/components/button.js +1 -1
  27. package/dist/cjs/components/button.js.map +2 -2
  28. package/dist/cjs/components/callout.js +1 -1
  29. package/dist/cjs/components/callout.js.map +2 -2
  30. package/dist/cjs/components/card.js +1 -1
  31. package/dist/cjs/components/card.js.map +2 -2
  32. package/dist/cjs/components/chatbar.d.ts +46 -44
  33. package/dist/cjs/components/chatbar.d.ts.map +1 -1
  34. package/dist/cjs/components/chatbar.js +2 -2
  35. package/dist/cjs/components/chatbar.js.map +3 -3
  36. package/dist/cjs/components/checkbox-cards.js +1 -1
  37. package/dist/cjs/components/checkbox-cards.js.map +2 -2
  38. package/dist/cjs/components/checkbox-group.js +1 -1
  39. package/dist/cjs/components/checkbox.js +1 -1
  40. package/dist/cjs/components/combobox.d.ts +28 -15
  41. package/dist/cjs/components/combobox.d.ts.map +1 -1
  42. package/dist/cjs/components/combobox.js +1 -1
  43. package/dist/cjs/components/combobox.js.map +4 -4
  44. package/dist/cjs/components/combobox.props.d.ts +48 -0
  45. package/dist/cjs/components/combobox.props.d.ts.map +1 -1
  46. package/dist/cjs/components/combobox.props.js +1 -1
  47. package/dist/cjs/components/combobox.props.js.map +4 -4
  48. package/dist/cjs/components/context-menu.d.ts +18 -5
  49. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  50. package/dist/cjs/components/context-menu.js +1 -1
  51. package/dist/cjs/components/context-menu.js.map +4 -4
  52. package/dist/cjs/components/context-menu.props.d.ts +1 -1
  53. package/dist/cjs/components/context-menu.props.d.ts.map +1 -1
  54. package/dist/cjs/components/context-menu.props.js +1 -1
  55. package/dist/cjs/components/context-menu.props.js.map +3 -3
  56. package/dist/cjs/components/dialog.js +1 -1
  57. package/dist/cjs/components/dialog.js.map +2 -2
  58. package/dist/cjs/components/dropdown-menu.d.ts +11 -18
  59. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  60. package/dist/cjs/components/dropdown-menu.js +1 -1
  61. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  62. package/dist/cjs/components/heading.js +1 -1
  63. package/dist/cjs/components/hover-card.js +1 -1
  64. package/dist/cjs/components/hover-card.js.map +2 -2
  65. package/dist/cjs/components/icon-button.js +1 -1
  66. package/dist/cjs/components/icon-button.js.map +2 -2
  67. package/dist/cjs/components/index.js +5 -5
  68. package/dist/cjs/components/index.js.map +4 -4
  69. package/dist/cjs/components/link.js +1 -1
  70. package/dist/cjs/components/popover.js +1 -1
  71. package/dist/cjs/components/popover.js.map +2 -2
  72. package/dist/cjs/components/radio-cards.js +1 -1
  73. package/dist/cjs/components/radio-cards.js.map +2 -2
  74. package/dist/cjs/components/radio.js +1 -1
  75. package/dist/cjs/components/radio.js.map +2 -2
  76. package/dist/cjs/components/schemas/base-button.schema.d.ts +111 -256
  77. package/dist/cjs/components/schemas/base-button.schema.d.ts.map +1 -1
  78. package/dist/cjs/components/schemas/button.schema.d.ts +136 -557
  79. package/dist/cjs/components/schemas/button.schema.d.ts.map +1 -1
  80. package/dist/cjs/components/schemas/icon-button.schema.d.ts +123 -240
  81. package/dist/cjs/components/schemas/icon-button.schema.d.ts.map +1 -1
  82. package/dist/cjs/components/schemas/index.js +1 -1
  83. package/dist/cjs/components/schemas/index.js.map +2 -2
  84. package/dist/cjs/components/schemas/shell.schema.d.ts +592 -851
  85. package/dist/cjs/components/schemas/shell.schema.d.ts.map +1 -1
  86. package/dist/cjs/components/schemas/shell.schema.js +1 -1
  87. package/dist/cjs/components/schemas/shell.schema.js.map +2 -2
  88. package/dist/cjs/components/schemas/toggle-button.schema.d.ts +138 -1026
  89. package/dist/cjs/components/schemas/toggle-button.schema.d.ts.map +1 -1
  90. package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts +124 -465
  91. package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts.map +1 -1
  92. package/dist/cjs/components/scroll-area.js +1 -1
  93. package/dist/cjs/components/segmented-control.js +1 -1
  94. package/dist/cjs/components/select.js +1 -1
  95. package/dist/cjs/components/select.js.map +2 -2
  96. package/dist/cjs/components/sheet.js +1 -1
  97. package/dist/cjs/components/sheet.js.map +2 -2
  98. package/dist/cjs/components/shell.js +1 -1
  99. package/dist/cjs/components/shell.js.map +3 -3
  100. package/dist/cjs/components/sidebar.js +1 -1
  101. package/dist/cjs/components/sidebar.js.map +4 -4
  102. package/dist/cjs/components/slider.js +1 -1
  103. package/dist/cjs/components/slot.d.ts +6 -2
  104. package/dist/cjs/components/slot.d.ts.map +1 -1
  105. package/dist/cjs/components/switch.js +1 -1
  106. package/dist/cjs/components/tab-nav.js +1 -1
  107. package/dist/cjs/components/text-field.js +2 -2
  108. package/dist/cjs/components/text.js +1 -1
  109. package/dist/cjs/components/theme-panel.js +3 -3
  110. package/dist/cjs/components/theme-panel.js.map +2 -2
  111. package/dist/cjs/components/theme.js +1 -1
  112. package/dist/cjs/components/theme.js.map +2 -2
  113. package/dist/cjs/components/theme.props.d.ts +1 -1
  114. package/dist/cjs/components/theme.props.js +1 -1
  115. package/dist/cjs/components/theme.props.js.map +2 -2
  116. package/dist/cjs/components/toggle-button.js +1 -1
  117. package/dist/cjs/components/toggle-button.js.map +2 -2
  118. package/dist/cjs/components/toggle-icon-button.js +1 -1
  119. package/dist/cjs/components/toggle-icon-button.js.map +2 -2
  120. package/dist/cjs/components/tooltip.js +1 -1
  121. package/dist/cjs/components/tooltip.js.map +2 -2
  122. package/dist/cjs/components/user-card.js +1 -1
  123. package/dist/cjs/components/user-card.js.map +2 -2
  124. package/dist/cjs/components/virtual-menu.d.ts.map +1 -1
  125. package/dist/cjs/components/virtual-menu.js +1 -1
  126. package/dist/cjs/components/virtual-menu.js.map +4 -4
  127. package/dist/cjs/helpers/extract-props.js +1 -1
  128. package/dist/cjs/helpers/extract-props.js.map +2 -2
  129. package/dist/cjs/helpers/get-margin-styles.js +1 -1
  130. package/dist/cjs/helpers/get-margin-styles.js.map +2 -2
  131. package/dist/cjs/hooks/use-breakpoint.d.ts +4 -1
  132. package/dist/cjs/hooks/use-breakpoint.d.ts.map +1 -1
  133. package/dist/cjs/hooks/use-breakpoint.js +1 -1
  134. package/dist/cjs/hooks/use-breakpoint.js.map +3 -3
  135. package/dist/cjs/index.js +5 -5
  136. package/dist/cjs/index.js.map +4 -4
  137. package/dist/cjs/props/index.js +1 -1
  138. package/dist/cjs/props/index.js.map +3 -3
  139. package/dist/esm/{chunk-P7HYVJSU.js → chunk-2TIADHPD.js} +2 -2
  140. package/dist/esm/chunk-37OGSEQR.js +2 -0
  141. package/dist/esm/chunk-37OGSEQR.js.map +7 -0
  142. package/dist/esm/{chunk-RMKXWYOV.js → chunk-3OBXZUFJ.js} +2 -2
  143. package/dist/esm/{chunk-S2HA3W3V.js → chunk-3R7XMRV5.js} +2 -2
  144. package/dist/esm/chunk-4SMJ7D4S.js +2 -0
  145. package/dist/esm/chunk-4SMJ7D4S.js.map +7 -0
  146. package/dist/esm/{chunk-S56YSRHP.js → chunk-56TS6OKQ.js} +2 -2
  147. package/dist/esm/{chunk-2FYJTSOP.js → chunk-5BYHEYO6.js} +2 -2
  148. package/dist/esm/{chunk-B24BDVG2.js → chunk-5MNBQROW.js} +2 -2
  149. package/dist/esm/{chunk-W7N7V5YD.js → chunk-7ESHXHHO.js} +2 -2
  150. package/dist/esm/{chunk-CRWYCLTE.js → chunk-ABSKRHVM.js} +2 -2
  151. package/dist/esm/chunk-ADBLURLJ.js +2 -0
  152. package/dist/esm/chunk-ADBLURLJ.js.map +7 -0
  153. package/dist/esm/{chunk-3MWWP4MW.js → chunk-BBJUB52V.js} +2 -2
  154. package/dist/esm/{chunk-PTLFMWCN.js → chunk-CQNPBTM5.js} +2 -2
  155. package/dist/esm/{chunk-GJSGKE7B.js → chunk-CTA5ODAO.js} +2 -2
  156. package/dist/esm/{chunk-GWXVETMF.js → chunk-DCAZPMOB.js} +2 -2
  157. package/dist/esm/{chunk-PLWXTEVE.js → chunk-DMJJM5IS.js} +2 -2
  158. package/dist/esm/{chunk-A2RZGGMY.js → chunk-DQAUX5ZL.js} +2 -2
  159. package/dist/esm/{chunk-6XGZPIUT.js → chunk-DX5JJYMZ.js} +2 -2
  160. package/dist/esm/{chunk-6XGZPIUT.js.map → chunk-DX5JJYMZ.js.map} +2 -2
  161. package/dist/esm/{chunk-YUP6EICB.js → chunk-DXL6V2A5.js} +2 -2
  162. package/dist/esm/{chunk-XMRIRFM7.js → chunk-FG7XM7KJ.js} +2 -2
  163. package/dist/esm/{chunk-IKSN4RNB.js → chunk-FIB3XATL.js} +3 -3
  164. package/dist/esm/chunk-FMBECDL4.js +2 -0
  165. package/dist/esm/{chunk-4XJY6FIK.js.map → chunk-FMBECDL4.js.map} +3 -3
  166. package/dist/esm/{chunk-374ZYJUP.js → chunk-HBR42MIX.js} +2 -2
  167. package/dist/esm/{chunk-2UPAYDKR.js → chunk-HIKVMKYQ.js} +2 -2
  168. package/dist/esm/{chunk-VX6ARMWP.js → chunk-HSAG7C53.js} +2 -2
  169. package/dist/esm/{chunk-OSRJRBKP.js → chunk-HW324FK3.js} +2 -2
  170. package/dist/esm/{chunk-DNHUQLXO.js → chunk-JBO5YOUM.js} +2 -2
  171. package/dist/esm/{chunk-HF5WY5YE.js → chunk-JGLAE5G7.js} +2 -2
  172. package/dist/esm/{chunk-4YFJWXL2.js → chunk-JJKQ7CGI.js} +2 -2
  173. package/dist/esm/chunk-JSW6J6RS.js +2 -0
  174. package/dist/esm/chunk-JSW6J6RS.js.map +7 -0
  175. package/dist/esm/chunk-KRDP5SQ7.js +2 -0
  176. package/dist/esm/chunk-KRDP5SQ7.js.map +7 -0
  177. package/dist/esm/{chunk-CWRNW44F.js → chunk-L6PVH3RM.js} +2 -2
  178. package/dist/esm/{chunk-MK2R6DAU.js → chunk-LAOMR7SE.js} +2 -2
  179. package/dist/esm/{chunk-FHOCUZDR.js → chunk-NIQT45PJ.js} +2 -2
  180. package/dist/esm/chunk-NKEJTTIL.js +2 -0
  181. package/dist/esm/chunk-NKEJTTIL.js.map +7 -0
  182. package/dist/esm/chunk-NVDXXGVW.js +2 -0
  183. package/dist/esm/chunk-NVDXXGVW.js.map +7 -0
  184. package/dist/esm/chunk-OS3FCYZY.js +2 -0
  185. package/dist/esm/{chunk-7QDTSBJF.js → chunk-OYF6YXH7.js} +2 -2
  186. package/dist/esm/{chunk-WFMYNZXZ.js → chunk-P5OSU4NX.js} +2 -2
  187. package/dist/esm/{chunk-QEOAXJLN.js → chunk-PTS6QYQW.js} +2 -2
  188. package/dist/esm/{chunk-CVWCKOHO.js → chunk-RLPKKCBL.js} +2 -2
  189. package/dist/esm/{chunk-LKAK5GXF.js → chunk-SPIU5JYC.js} +2 -2
  190. package/dist/esm/chunk-SZTZ2XLI.js +2 -0
  191. package/dist/esm/chunk-SZTZ2XLI.js.map +7 -0
  192. package/dist/esm/chunk-T2FZN7G3.js +2 -0
  193. package/dist/esm/chunk-T2FZN7G3.js.map +7 -0
  194. package/dist/esm/{chunk-4AQTUBVP.js → chunk-T4UHUQFJ.js} +2 -2
  195. package/dist/esm/{chunk-K6QZMNCD.js → chunk-TS623UPD.js} +2 -2
  196. package/dist/esm/{chunk-YV2KYHGR.js → chunk-UBOOUDS4.js} +2 -2
  197. package/dist/esm/{chunk-D6B7IMZU.js → chunk-UFI53QUC.js} +2 -2
  198. package/dist/esm/{chunk-AU3D6F42.js → chunk-UIRSGVJG.js} +2 -2
  199. package/dist/esm/{chunk-FXUUI6Z2.js → chunk-UUUZXUIP.js} +2 -2
  200. package/dist/esm/{chunk-25WZA7ZU.js → chunk-VA4CTVQL.js} +2 -2
  201. package/dist/esm/{chunk-TOLLPRMM.js → chunk-VNPNEJI6.js} +2 -2
  202. package/dist/esm/{chunk-6IGTK4JE.js → chunk-YMUGKYGW.js} +2 -2
  203. package/dist/esm/chunk-ZWYYPFZW.js +2 -0
  204. package/dist/esm/chunk-ZWYYPFZW.js.map +7 -0
  205. package/dist/esm/{chunk-M24UXMOQ.js → chunk-ZXZOH63L.js} +2 -2
  206. package/dist/esm/components/_internal/base-button.js +1 -1
  207. package/dist/esm/components/_internal/base-button.props.js +1 -1
  208. package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
  209. package/dist/esm/components/_internal/base-menu.props.js +1 -1
  210. package/dist/esm/components/_internal/base-menu.utils.d.ts +48 -0
  211. package/dist/esm/components/_internal/base-menu.utils.d.ts.map +1 -0
  212. package/dist/esm/components/_internal/base-menu.utils.js +2 -0
  213. package/dist/esm/components/_internal/base-menu.utils.js.map +7 -0
  214. package/dist/esm/components/_internal/base-radio.props.js +1 -1
  215. package/dist/esm/components/_internal/base-tab-list.props.js +1 -1
  216. package/dist/esm/components/_internal/dropdown-menu-drill-down.d.ts +77 -59
  217. package/dist/esm/components/_internal/dropdown-menu-drill-down.d.ts.map +1 -1
  218. package/dist/esm/components/_internal/dropdown-menu-drill-down.js +1 -1
  219. package/dist/esm/components/_internal/menu-context.d.ts +7 -3
  220. package/dist/esm/components/_internal/menu-context.d.ts.map +1 -1
  221. package/dist/esm/components/_internal/menu-context.js +1 -1
  222. package/dist/esm/components/_internal/shell-bottom.js +1 -1
  223. package/dist/esm/components/_internal/shell-handles.js +1 -1
  224. package/dist/esm/components/_internal/shell-inspector.js +1 -1
  225. package/dist/esm/components/_internal/shell-prop-helpers.js +1 -1
  226. package/dist/esm/components/_internal/shell-resize.js +1 -1
  227. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  228. package/dist/esm/components/accessible-icon.js +1 -1
  229. package/dist/esm/components/accordion.js +1 -1
  230. package/dist/esm/components/accordion.props.js +1 -1
  231. package/dist/esm/components/alert-dialog.js +1 -1
  232. package/dist/esm/components/alert-dialog.props.js +1 -1
  233. package/dist/esm/components/aspect-ratio.js +1 -1
  234. package/dist/esm/components/avatar.js +1 -1
  235. package/dist/esm/components/avatar.props.js +1 -1
  236. package/dist/esm/components/badge.js +1 -1
  237. package/dist/esm/components/badge.props.js +1 -1
  238. package/dist/esm/components/blockquote.js +1 -1
  239. package/dist/esm/components/blockquote.props.js +1 -1
  240. package/dist/esm/components/box.js +1 -1
  241. package/dist/esm/components/box.props.js +1 -1
  242. package/dist/esm/components/button.js +1 -1
  243. package/dist/esm/components/button.props.js +1 -1
  244. package/dist/esm/components/callout.js +1 -1
  245. package/dist/esm/components/callout.props.js +1 -1
  246. package/dist/esm/components/card.js +1 -1
  247. package/dist/esm/components/card.props.js +1 -1
  248. package/dist/esm/components/chatbar.d.ts +46 -44
  249. package/dist/esm/components/chatbar.d.ts.map +1 -1
  250. package/dist/esm/components/chatbar.js +1 -1
  251. package/dist/esm/components/checkbox-cards.js +1 -1
  252. package/dist/esm/components/checkbox-cards.props.js +1 -1
  253. package/dist/esm/components/checkbox-group.js +1 -1
  254. package/dist/esm/components/checkbox-group.primitive.js +1 -1
  255. package/dist/esm/components/checkbox-group.props.js +1 -1
  256. package/dist/esm/components/checkbox.js +1 -1
  257. package/dist/esm/components/checkbox.props.js +1 -1
  258. package/dist/esm/components/code.js +1 -1
  259. package/dist/esm/components/code.props.js +1 -1
  260. package/dist/esm/components/combobox.d.ts +28 -15
  261. package/dist/esm/components/combobox.d.ts.map +1 -1
  262. package/dist/esm/components/combobox.js +1 -1
  263. package/dist/esm/components/combobox.props.d.ts +48 -0
  264. package/dist/esm/components/combobox.props.d.ts.map +1 -1
  265. package/dist/esm/components/combobox.props.js +1 -1
  266. package/dist/esm/components/container.js +1 -1
  267. package/dist/esm/components/container.props.js +1 -1
  268. package/dist/esm/components/context-menu.d.ts +18 -5
  269. package/dist/esm/components/context-menu.d.ts.map +1 -1
  270. package/dist/esm/components/context-menu.js +1 -1
  271. package/dist/esm/components/context-menu.props.d.ts +1 -1
  272. package/dist/esm/components/context-menu.props.d.ts.map +1 -1
  273. package/dist/esm/components/context-menu.props.js +1 -1
  274. package/dist/esm/components/data-list.js +1 -1
  275. package/dist/esm/components/data-list.props.js +1 -1
  276. package/dist/esm/components/dialog.js +1 -1
  277. package/dist/esm/components/dialog.props.js +1 -1
  278. package/dist/esm/components/dropdown-menu.d.ts +11 -18
  279. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  280. package/dist/esm/components/dropdown-menu.js +1 -1
  281. package/dist/esm/components/dropdown-menu.props.js +1 -1
  282. package/dist/esm/components/em.js +1 -1
  283. package/dist/esm/components/em.props.js +1 -1
  284. package/dist/esm/components/flex.js +1 -1
  285. package/dist/esm/components/flex.props.js +1 -1
  286. package/dist/esm/components/grid.js +1 -1
  287. package/dist/esm/components/grid.props.js +1 -1
  288. package/dist/esm/components/heading.js +1 -1
  289. package/dist/esm/components/heading.props.js +1 -1
  290. package/dist/esm/components/hover-card.js +1 -1
  291. package/dist/esm/components/hover-card.props.js +1 -1
  292. package/dist/esm/components/icon-button.js +1 -1
  293. package/dist/esm/components/icon-button.props.js +1 -1
  294. package/dist/esm/components/icons.js +1 -1
  295. package/dist/esm/components/image.js +1 -1
  296. package/dist/esm/components/image.props.js +1 -1
  297. package/dist/esm/components/index.js +1 -1
  298. package/dist/esm/components/inset.js +1 -1
  299. package/dist/esm/components/inset.props.js +1 -1
  300. package/dist/esm/components/kbd.js +1 -1
  301. package/dist/esm/components/kbd.props.js +1 -1
  302. package/dist/esm/components/link.js +1 -1
  303. package/dist/esm/components/link.props.js +1 -1
  304. package/dist/esm/components/navbar.js +1 -1
  305. package/dist/esm/components/navbar.props.js +1 -1
  306. package/dist/esm/components/popover.js +1 -1
  307. package/dist/esm/components/popover.props.js +1 -1
  308. package/dist/esm/components/portal.js +1 -1
  309. package/dist/esm/components/progress.js +1 -1
  310. package/dist/esm/components/progress.props.js +1 -1
  311. package/dist/esm/components/quote.js +1 -1
  312. package/dist/esm/components/quote.props.js +1 -1
  313. package/dist/esm/components/radio-cards.js +1 -1
  314. package/dist/esm/components/radio-cards.props.js +1 -1
  315. package/dist/esm/components/radio-group.js +1 -1
  316. package/dist/esm/components/radio-group.props.js +1 -1
  317. package/dist/esm/components/radio.js +1 -1
  318. package/dist/esm/components/radio.props.js +1 -1
  319. package/dist/esm/components/reset.js +1 -1
  320. package/dist/esm/components/schemas/base-button.schema.d.ts +111 -256
  321. package/dist/esm/components/schemas/base-button.schema.d.ts.map +1 -1
  322. package/dist/esm/components/schemas/base-button.schema.js +1 -1
  323. package/dist/esm/components/schemas/button.schema.d.ts +136 -557
  324. package/dist/esm/components/schemas/button.schema.d.ts.map +1 -1
  325. package/dist/esm/components/schemas/button.schema.js +1 -1
  326. package/dist/esm/components/schemas/icon-button.schema.d.ts +123 -240
  327. package/dist/esm/components/schemas/icon-button.schema.d.ts.map +1 -1
  328. package/dist/esm/components/schemas/icon-button.schema.js +1 -1
  329. package/dist/esm/components/schemas/index.js +1 -1
  330. package/dist/esm/components/schemas/shell.schema.d.ts +592 -851
  331. package/dist/esm/components/schemas/shell.schema.d.ts.map +1 -1
  332. package/dist/esm/components/schemas/shell.schema.js +1 -1
  333. package/dist/esm/components/schemas/toggle-button.schema.d.ts +138 -1026
  334. package/dist/esm/components/schemas/toggle-button.schema.d.ts.map +1 -1
  335. package/dist/esm/components/schemas/toggle-button.schema.js +1 -1
  336. package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts +124 -465
  337. package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts.map +1 -1
  338. package/dist/esm/components/schemas/toggle-icon-button.schema.js +1 -1
  339. package/dist/esm/components/scroll-area.js +1 -1
  340. package/dist/esm/components/scroll-area.props.js +1 -1
  341. package/dist/esm/components/section.js +1 -1
  342. package/dist/esm/components/section.props.js +1 -1
  343. package/dist/esm/components/segmented-control.js +1 -1
  344. package/dist/esm/components/segmented-control.props.js +1 -1
  345. package/dist/esm/components/select.js +1 -1
  346. package/dist/esm/components/select.props.js +1 -1
  347. package/dist/esm/components/separator.js +1 -1
  348. package/dist/esm/components/separator.props.js +1 -1
  349. package/dist/esm/components/sheet.js +1 -1
  350. package/dist/esm/components/shell.context.js +1 -1
  351. package/dist/esm/components/shell.hooks.js +1 -1
  352. package/dist/esm/components/shell.js +1 -1
  353. package/dist/esm/components/shell.types.js +1 -1
  354. package/dist/esm/components/sidebar.js +1 -1
  355. package/dist/esm/components/sidebar.props.js +1 -1
  356. package/dist/esm/components/skeleton.js +1 -1
  357. package/dist/esm/components/skeleton.props.js +1 -1
  358. package/dist/esm/components/slider.js +1 -1
  359. package/dist/esm/components/slider.props.js +1 -1
  360. package/dist/esm/components/slot.d.ts +6 -2
  361. package/dist/esm/components/slot.d.ts.map +1 -1
  362. package/dist/esm/components/slot.js +1 -1
  363. package/dist/esm/components/spinner.js +1 -1
  364. package/dist/esm/components/spinner.props.js +1 -1
  365. package/dist/esm/components/strong.js +1 -1
  366. package/dist/esm/components/strong.props.js +1 -1
  367. package/dist/esm/components/switch.js +1 -1
  368. package/dist/esm/components/switch.props.js +1 -1
  369. package/dist/esm/components/tab-nav.js +1 -1
  370. package/dist/esm/components/tab-nav.props.js +1 -1
  371. package/dist/esm/components/table.js +1 -1
  372. package/dist/esm/components/table.props.js +1 -1
  373. package/dist/esm/components/tabs.js +1 -1
  374. package/dist/esm/components/tabs.props.js +1 -1
  375. package/dist/esm/components/text-area.js +1 -1
  376. package/dist/esm/components/text-area.props.js +1 -1
  377. package/dist/esm/components/text-field.js +1 -1
  378. package/dist/esm/components/text-field.props.js +1 -1
  379. package/dist/esm/components/text.js +1 -1
  380. package/dist/esm/components/text.props.js +1 -1
  381. package/dist/esm/components/theme-panel.js +1 -1
  382. package/dist/esm/components/theme.js +1 -1
  383. package/dist/esm/components/theme.props.d.ts +1 -1
  384. package/dist/esm/components/theme.props.js +1 -1
  385. package/dist/esm/components/toggle-button.js +1 -1
  386. package/dist/esm/components/toggle-icon-button.js +1 -1
  387. package/dist/esm/components/toolbar.js +1 -1
  388. package/dist/esm/components/tooltip.js +1 -1
  389. package/dist/esm/components/tooltip.props.js +1 -1
  390. package/dist/esm/components/user-card.js +1 -1
  391. package/dist/esm/components/user-card.props.js +1 -1
  392. package/dist/esm/components/virtual-menu.d.ts.map +1 -1
  393. package/dist/esm/components/virtual-menu.js +1 -1
  394. package/dist/esm/components/visually-hidden.js +1 -1
  395. package/dist/esm/helpers/compile-prop-defs.js +1 -1
  396. package/dist/esm/helpers/extract-margin-props.js +1 -1
  397. package/dist/esm/helpers/extract-props.js +1 -1
  398. package/dist/esm/helpers/font-config.js +1 -1
  399. package/dist/esm/helpers/get-margin-styles.js +1 -1
  400. package/dist/esm/helpers/get-matching-gray-color.js +1 -1
  401. package/dist/esm/helpers/get-responsive-styles.js +1 -1
  402. package/dist/esm/helpers/get-subtree.js +1 -1
  403. package/dist/esm/helpers/has-own-property.js +1 -1
  404. package/dist/esm/helpers/index.js +1 -1
  405. package/dist/esm/helpers/inert.js +1 -1
  406. package/dist/esm/helpers/is-responsive-object.js +1 -1
  407. package/dist/esm/helpers/map-prop-values.js +1 -1
  408. package/dist/esm/helpers/merge-styles.js +1 -1
  409. package/dist/esm/helpers/normalize-to-px.js +1 -1
  410. package/dist/esm/helpers/require-react-element.js +1 -1
  411. package/dist/esm/helpers/use-deprecation-warning.js +1 -1
  412. package/dist/esm/hooks/index.js +1 -1
  413. package/dist/esm/hooks/use-body-pointer-events-cleanup.js +1 -1
  414. package/dist/esm/hooks/use-breakpoint.d.ts +4 -1
  415. package/dist/esm/hooks/use-breakpoint.d.ts.map +1 -1
  416. package/dist/esm/hooks/use-breakpoint.js +1 -1
  417. package/dist/esm/hooks/use-live-announcer.js +1 -1
  418. package/dist/esm/hooks/use-prop-synced-state.js +1 -1
  419. package/dist/esm/hooks/use-toggle-state.js +1 -1
  420. package/dist/esm/hooks/use-tooltip-wrapper.js +1 -1
  421. package/dist/esm/index.js +1 -1
  422. package/dist/esm/props/as-child.prop.js +1 -1
  423. package/dist/esm/props/color.prop.js +1 -1
  424. package/dist/esm/props/font-family.prop.js +1 -1
  425. package/dist/esm/props/gap.props.js +1 -1
  426. package/dist/esm/props/height.props.js +1 -1
  427. package/dist/esm/props/high-contrast.prop.js +1 -1
  428. package/dist/esm/props/index.js +1 -1
  429. package/dist/esm/props/layout.props.js +1 -1
  430. package/dist/esm/props/leading-trim.prop.js +1 -1
  431. package/dist/esm/props/margin.props.js +1 -1
  432. package/dist/esm/props/padding.props.js +1 -1
  433. package/dist/esm/props/prop-def.js +1 -1
  434. package/dist/esm/props/radius.prop.js +1 -1
  435. package/dist/esm/props/shadow.props.js +1 -1
  436. package/dist/esm/props/text-align.prop.js +1 -1
  437. package/dist/esm/props/text-wrap.prop.js +1 -1
  438. package/dist/esm/props/truncate.prop.js +1 -1
  439. package/dist/esm/props/weight.prop.js +1 -1
  440. package/dist/esm/props/width.props.js +1 -1
  441. package/fonts.css +2 -0
  442. package/package.json +36 -36
  443. package/schemas/base-button.json +66 -60
  444. package/schemas/button.json +80 -74
  445. package/schemas/icon-button.json +78 -72
  446. package/schemas/index.json +390 -360
  447. package/schemas/toggle-button.json +84 -78
  448. package/schemas/toggle-icon-button.json +82 -76
  449. package/src/components/_internal/base-card.css +5 -5
  450. package/src/components/_internal/base-checkbox.css +17 -3
  451. package/src/components/_internal/base-dialog.css +4 -4
  452. package/src/components/_internal/base-menu.css +68 -143
  453. package/src/components/_internal/base-menu.utils.tsx +144 -0
  454. package/src/components/_internal/dropdown-menu-drill-down.tsx +281 -183
  455. package/src/components/_internal/menu-context.tsx +24 -15
  456. package/src/components/accordion.css +5 -5
  457. package/src/components/callout.css +5 -5
  458. package/src/components/chatbar.css +100 -32
  459. package/src/components/chatbar.tsx +739 -735
  460. package/src/components/checkbox-cards.css +30 -0
  461. package/src/components/combobox.css +62 -115
  462. package/src/components/combobox.props.tsx +14 -0
  463. package/src/components/combobox.tsx +440 -212
  464. package/src/components/context-menu.props.tsx +4 -1
  465. package/src/components/context-menu.tsx +108 -62
  466. package/src/components/dropdown-menu.css +41 -121
  467. package/src/components/dropdown-menu.tsx +430 -275
  468. package/src/components/hover-card.css +3 -3
  469. package/src/components/popover.css +4 -4
  470. package/src/components/radio-cards.css +30 -0
  471. package/src/components/schemas/shell.schema.ts +11 -18
  472. package/src/components/scroll-area.css +2 -3
  473. package/src/components/select.css +2 -2
  474. package/src/components/shell.css +1 -1
  475. package/src/components/table.css +5 -5
  476. package/src/components/theme.props.tsx +1 -1
  477. package/src/components/tooltip.css +1 -1
  478. package/src/components/virtual-menu.tsx +12 -8
  479. package/src/hooks/use-breakpoint.ts +19 -3
  480. package/src/styles/fonts.css +6 -1
  481. package/src/styles/tokens/font-family.css +13 -5
  482. package/src/styles/tokens/radius.css +47 -4
  483. package/styles.css +801 -784
  484. package/tokens/base.css +19 -2
  485. package/tokens.css +19 -2
  486. package/dist/esm/chunk-3XT5P2HO.js +0 -2
  487. package/dist/esm/chunk-4XJY6FIK.js +0 -2
  488. package/dist/esm/chunk-4Z33XHOK.js +0 -2
  489. package/dist/esm/chunk-4Z33XHOK.js.map +0 -7
  490. package/dist/esm/chunk-E2Z5IA2P.js +0 -2
  491. package/dist/esm/chunk-E2Z5IA2P.js.map +0 -7
  492. package/dist/esm/chunk-HVWEPVBH.js +0 -2
  493. package/dist/esm/chunk-HVWEPVBH.js.map +0 -7
  494. package/dist/esm/chunk-KKBP2CRH.js +0 -2
  495. package/dist/esm/chunk-KKBP2CRH.js.map +0 -7
  496. package/dist/esm/chunk-MOR3NSXQ.js +0 -2
  497. package/dist/esm/chunk-MOR3NSXQ.js.map +0 -7
  498. package/dist/esm/chunk-QCNUTT4R.js +0 -2
  499. package/dist/esm/chunk-QCNUTT4R.js.map +0 -7
  500. package/dist/esm/chunk-UGD7Z3L4.js +0 -2
  501. package/dist/esm/chunk-UGD7Z3L4.js.map +0 -7
  502. package/dist/esm/chunk-YEB3H7QN.js +0 -2
  503. package/dist/esm/chunk-YEB3H7QN.js.map +0 -7
  504. package/dist/esm/chunk-ZY6SQWHT.js +0 -2
  505. package/dist/esm/chunk-ZY6SQWHT.js.map +0 -7
  506. /package/dist/esm/{chunk-P7HYVJSU.js.map → chunk-2TIADHPD.js.map} +0 -0
  507. /package/dist/esm/{chunk-RMKXWYOV.js.map → chunk-3OBXZUFJ.js.map} +0 -0
  508. /package/dist/esm/{chunk-S2HA3W3V.js.map → chunk-3R7XMRV5.js.map} +0 -0
  509. /package/dist/esm/{chunk-S56YSRHP.js.map → chunk-56TS6OKQ.js.map} +0 -0
  510. /package/dist/esm/{chunk-2FYJTSOP.js.map → chunk-5BYHEYO6.js.map} +0 -0
  511. /package/dist/esm/{chunk-B24BDVG2.js.map → chunk-5MNBQROW.js.map} +0 -0
  512. /package/dist/esm/{chunk-W7N7V5YD.js.map → chunk-7ESHXHHO.js.map} +0 -0
  513. /package/dist/esm/{chunk-CRWYCLTE.js.map → chunk-ABSKRHVM.js.map} +0 -0
  514. /package/dist/esm/{chunk-3MWWP4MW.js.map → chunk-BBJUB52V.js.map} +0 -0
  515. /package/dist/esm/{chunk-PTLFMWCN.js.map → chunk-CQNPBTM5.js.map} +0 -0
  516. /package/dist/esm/{chunk-GJSGKE7B.js.map → chunk-CTA5ODAO.js.map} +0 -0
  517. /package/dist/esm/{chunk-GWXVETMF.js.map → chunk-DCAZPMOB.js.map} +0 -0
  518. /package/dist/esm/{chunk-PLWXTEVE.js.map → chunk-DMJJM5IS.js.map} +0 -0
  519. /package/dist/esm/{chunk-A2RZGGMY.js.map → chunk-DQAUX5ZL.js.map} +0 -0
  520. /package/dist/esm/{chunk-YUP6EICB.js.map → chunk-DXL6V2A5.js.map} +0 -0
  521. /package/dist/esm/{chunk-XMRIRFM7.js.map → chunk-FG7XM7KJ.js.map} +0 -0
  522. /package/dist/esm/{chunk-IKSN4RNB.js.map → chunk-FIB3XATL.js.map} +0 -0
  523. /package/dist/esm/{chunk-374ZYJUP.js.map → chunk-HBR42MIX.js.map} +0 -0
  524. /package/dist/esm/{chunk-2UPAYDKR.js.map → chunk-HIKVMKYQ.js.map} +0 -0
  525. /package/dist/esm/{chunk-VX6ARMWP.js.map → chunk-HSAG7C53.js.map} +0 -0
  526. /package/dist/esm/{chunk-OSRJRBKP.js.map → chunk-HW324FK3.js.map} +0 -0
  527. /package/dist/esm/{chunk-DNHUQLXO.js.map → chunk-JBO5YOUM.js.map} +0 -0
  528. /package/dist/esm/{chunk-HF5WY5YE.js.map → chunk-JGLAE5G7.js.map} +0 -0
  529. /package/dist/esm/{chunk-4YFJWXL2.js.map → chunk-JJKQ7CGI.js.map} +0 -0
  530. /package/dist/esm/{chunk-CWRNW44F.js.map → chunk-L6PVH3RM.js.map} +0 -0
  531. /package/dist/esm/{chunk-MK2R6DAU.js.map → chunk-LAOMR7SE.js.map} +0 -0
  532. /package/dist/esm/{chunk-FHOCUZDR.js.map → chunk-NIQT45PJ.js.map} +0 -0
  533. /package/dist/esm/{chunk-3XT5P2HO.js.map → chunk-OS3FCYZY.js.map} +0 -0
  534. /package/dist/esm/{chunk-7QDTSBJF.js.map → chunk-OYF6YXH7.js.map} +0 -0
  535. /package/dist/esm/{chunk-WFMYNZXZ.js.map → chunk-P5OSU4NX.js.map} +0 -0
  536. /package/dist/esm/{chunk-QEOAXJLN.js.map → chunk-PTS6QYQW.js.map} +0 -0
  537. /package/dist/esm/{chunk-CVWCKOHO.js.map → chunk-RLPKKCBL.js.map} +0 -0
  538. /package/dist/esm/{chunk-LKAK5GXF.js.map → chunk-SPIU5JYC.js.map} +0 -0
  539. /package/dist/esm/{chunk-4AQTUBVP.js.map → chunk-T4UHUQFJ.js.map} +0 -0
  540. /package/dist/esm/{chunk-K6QZMNCD.js.map → chunk-TS623UPD.js.map} +0 -0
  541. /package/dist/esm/{chunk-YV2KYHGR.js.map → chunk-UBOOUDS4.js.map} +0 -0
  542. /package/dist/esm/{chunk-D6B7IMZU.js.map → chunk-UFI53QUC.js.map} +0 -0
  543. /package/dist/esm/{chunk-AU3D6F42.js.map → chunk-UIRSGVJG.js.map} +0 -0
  544. /package/dist/esm/{chunk-FXUUI6Z2.js.map → chunk-UUUZXUIP.js.map} +0 -0
  545. /package/dist/esm/{chunk-25WZA7ZU.js.map → chunk-VA4CTVQL.js.map} +0 -0
  546. /package/dist/esm/{chunk-TOLLPRMM.js.map → chunk-VNPNEJI6.js.map} +0 -0
  547. /package/dist/esm/{chunk-6IGTK4JE.js.map → chunk-YMUGKYGW.js.map} +0 -0
  548. /package/dist/esm/{chunk-M24UXMOQ.js.map → chunk-ZXZOH63L.js.map} +0 -0
@@ -25,15 +25,15 @@
25
25
  .rt-HoverCardContent {
26
26
  &:where(.rt-r-size-1) {
27
27
  --hover-card-content-padding: var(--space-3);
28
- border-radius: var(--radius-4);
28
+ border-radius: var(--radius-surface-4);
29
29
  }
30
30
  &:where(.rt-r-size-2) {
31
31
  --hover-card-content-padding: var(--space-4);
32
- border-radius: var(--radius-4);
32
+ border-radius: var(--radius-surface-4);
33
33
  }
34
34
  &:where(.rt-r-size-3) {
35
35
  --hover-card-content-padding: var(--space-5);
36
- border-radius: var(--radius-5);
36
+ border-radius: var(--radius-surface-5);
37
37
  }
38
38
  }
39
39
  }
@@ -95,22 +95,22 @@
95
95
  &:where(.rt-r-size-1) {
96
96
  --popover-content-padding: var(--space-3);
97
97
  --popover-toolbar-padding: var(--space-2);
98
- border-radius: min(var(--radius-3), calc(var(--radius-1) + var(--space-2)));
98
+ border-radius: min(var(--radius-surface-3), calc(var(--radius-surface-1) + var(--space-2)));
99
99
  }
100
100
  &:where(.rt-r-size-2) {
101
101
  --popover-content-padding: var(--space-4);
102
102
  --popover-toolbar-padding: var(--space-2);
103
- border-radius: min(var(--radius-4), calc(var(--radius-2) + var(--space-3)));
103
+ border-radius: min(var(--radius-surface-4), calc(var(--radius-surface-2) + var(--space-3)));
104
104
  }
105
105
  &:where(.rt-r-size-3) {
106
106
  --popover-content-padding: var(--space-5);
107
107
  --popover-toolbar-padding: var(--space-3);
108
- border-radius: min(var(--radius-5), calc(var(--radius-3) + var(--space-4)));
108
+ border-radius: min(var(--radius-surface-5), calc(var(--radius-surface-3) + var(--space-4)));
109
109
  }
110
110
  &:where(.rt-r-size-4) {
111
111
  --popover-content-padding: var(--space-6);
112
112
  --popover-toolbar-padding: var(--space-4);
113
- border-radius: min(var(--radius-6), calc(var(--radius-4) + var(--space-5)));
113
+ border-radius: min(var(--radius-surface-6), calc(var(--radius-surface-4) + var(--space-5)));
114
114
  }
115
115
  }
116
116
  }
@@ -121,3 +121,33 @@
121
121
  }
122
122
  outline-color: var(--gray-8);
123
123
  }
124
+
125
+ /*
126
+ * Pin the item shell to the control channel.
127
+ *
128
+ * These are selection controls that happen to be card-shaped, not surfaces:
129
+ * they sit in a row of choices and read as one large target each. Inheriting
130
+ * BaseCard's damped surface radius made them square off while every other
131
+ * control in the same form stayed round, so they take the control channel
132
+ * instead — the same formulas BaseCard used before the surface split. The
133
+ * mark inside keeps its own radius.
134
+ */
135
+ @breakpoints {
136
+ .rt-RadioCardsItem {
137
+ &:where(.rt-r-size-1) {
138
+ --base-card-border-radius: min(var(--radius-5), calc(var(--radius-1) + var(--space-1)));
139
+ }
140
+ &:where(.rt-r-size-2) {
141
+ --base-card-border-radius: min(var(--radius-6), calc(var(--radius-2) + var(--space-2)));
142
+ }
143
+ &:where(.rt-r-size-3) {
144
+ --base-card-border-radius: min(var(--radius-7), calc(var(--radius-3) + var(--space-3)));
145
+ }
146
+ &:where(.rt-r-size-4) {
147
+ --base-card-border-radius: min(var(--radius-8), calc(var(--radius-4) + var(--space-4)));
148
+ }
149
+ &:where(.rt-r-size-5) {
150
+ --base-card-border-radius: min(var(--radius-9), calc(var(--radius-5) + var(--space-5)));
151
+ }
152
+ }
153
+ }
@@ -74,15 +74,8 @@ const ResponsivePresentationSchema = z
74
74
  // Size persistence adapter
75
75
  const PaneSizePersistenceSchema = z
76
76
  .object({
77
- load: z
78
- .function()
79
- .returns(z.union([z.number(), z.promise(z.number()), z.undefined()]))
80
- .optional(),
81
- save: z
82
- .function()
83
- .args(z.number())
84
- .returns(z.union([z.void(), z.promise(z.void())]))
85
- .optional(),
77
+ load: z.function({ output: z.union([z.number(), z.promise(z.number()), z.undefined()]) }).optional(),
78
+ save: z.function({ input: [z.number()], output: z.union([z.void(), z.promise(z.void())]) }).optional(),
86
79
  })
87
80
  .describe('Size persistence adapter');
88
81
 
@@ -92,18 +85,18 @@ const PanePropsSchema = z
92
85
  presentation: ResponsivePresentationSchema.optional(),
93
86
  mode: PaneModeSchema.optional(),
94
87
  defaultMode: ResponsiveModeSchema.optional(),
95
- onModeChange: z.function().args(PaneModeSchema).returns(z.void()).optional(),
88
+ onModeChange: z.function({ input: [PaneModeSchema], output: z.void() }).optional(),
96
89
  expandedSize: z.number().optional(),
97
90
  minSize: z.number().optional(),
98
91
  maxSize: z.number().optional(),
99
92
  resizable: z.boolean().optional(),
100
93
  collapsible: z.boolean().optional(),
101
- onExpand: z.function().returns(z.void()).optional(),
102
- onCollapse: z.function().returns(z.void()).optional(),
103
- onResize: z.function().args(z.number()).returns(z.void()).optional(),
94
+ onExpand: z.function({ output: z.void() }).optional(),
95
+ onCollapse: z.function({ output: z.void() }).optional(),
96
+ onResize: z.function({ input: [z.number()], output: z.void() }).optional(),
104
97
  resizer: z.any().optional(),
105
- onResizeStart: z.function().args(z.number()).returns(z.void()).optional(),
106
- onResizeEnd: z.function().args(z.number()).returns(z.void()).optional(),
98
+ onResizeStart: z.function({ input: [z.number()], output: z.void() }).optional(),
99
+ onResizeEnd: z.function({ input: [z.number()], output: z.void() }).optional(),
107
100
  snapPoints: z.array(z.number()).optional(),
108
101
  snapTolerance: z.number().optional(),
109
102
  collapseThreshold: z.number().optional(),
@@ -156,11 +149,11 @@ export const ShellRailSchema = z
156
149
  presentation: ResponsivePresentationSchema.optional(),
157
150
  mode: PaneModeSchema.optional(),
158
151
  defaultMode: ResponsiveModeSchema.optional(),
159
- onModeChange: z.function().args(PaneModeSchema).returns(z.void()).optional(),
152
+ onModeChange: z.function({ input: [PaneModeSchema], output: z.void() }).optional(),
160
153
  expandedSize: z.number().default(64).describe('Default width in pixels'),
161
154
  collapsible: z.boolean().optional(),
162
- onExpand: z.function().returns(z.void()).optional(),
163
- onCollapse: z.function().returns(z.void()).optional(),
155
+ onExpand: z.function({ output: z.void() }).optional(),
156
+ onCollapse: z.function({ output: z.void() }).optional(),
164
157
  className: z.string().optional().describe('Additional CSS class name'),
165
158
  style: z
166
159
  .record(z.string(), z.union([z.string(), z.number()]))
@@ -108,7 +108,6 @@
108
108
  ***************************************************************************************************/
109
109
 
110
110
  .rt-ScrollAreaScrollbar {
111
- background-color: var(--gray-a3);
112
111
  border-radius: var(--scrollarea-scrollbar-border-radius);
113
112
 
114
113
  animation-duration: var(--motion-duration-micro);
@@ -135,13 +134,13 @@
135
134
  }
136
135
 
137
136
  .rt-ScrollAreaThumb {
138
- background-color: var(--gray-a8);
137
+ background-color: var(--gray-a6);
139
138
  border-radius: inherit;
140
139
  transition: background-color var(--motion-duration-micro) var(--motion-ease-standard);
141
140
 
142
141
  @media (hover: hover) {
143
142
  &:where(:hover) {
144
- background-color: var(--gray-a9);
143
+ background-color: var(--gray-a8);
145
144
  }
146
145
  }
147
146
  }
@@ -270,7 +270,7 @@
270
270
  --select-item-height: var(--space-5);
271
271
  --select-item-indicator-width: calc(var(--space-5) / var(--select-item-indicator-width-factor));
272
272
  --select-separator-margin-right: var(--space-2);
273
- border-radius: var(--radius-3);
273
+ border-radius: var(--radius-surface-3);
274
274
 
275
275
  & :where(.rt-SelectLabel) {
276
276
  font-size: var(--font-size-1);
@@ -293,7 +293,7 @@
293
293
  --select-item-height: var(--space-6);
294
294
  --select-item-indicator-width: var(--space-5);
295
295
  --select-separator-margin-right: var(--space-3);
296
- border-radius: var(--radius-4);
296
+ border-radius: var(--radius-surface-4);
297
297
 
298
298
  & :where(.rt-SelectLabel) {
299
299
  font-size: var(--font-size-2);
@@ -672,7 +672,7 @@
672
672
  .rt-ShellBottom[data-inset] {
673
673
  --shell-inset-gap: var(--space-2);
674
674
  margin: var(--shell-inset-gap);
675
- border-radius: var(--radius-3);
675
+ border-radius: var(--radius-surface-3);
676
676
  background: var(--color-background);
677
677
  box-shadow: var(--shadow-2);
678
678
  /* Override height: 100% so margin doesn't overflow */
@@ -60,7 +60,7 @@
60
60
  @breakpoints {
61
61
  .rt-TableRoot {
62
62
  &:where(.rt-r-size-1) {
63
- --table-border-radius: min(var(--radius-5), calc(var(--radius-1) + var(--space-1)));
63
+ --table-border-radius: min(var(--radius-surface-5), calc(var(--radius-surface-1) + var(--space-1)));
64
64
  --table-cell-padding: var(--space-2);
65
65
  --table-cell-min-height: calc(36px * var(--scaling));
66
66
 
@@ -70,7 +70,7 @@
70
70
  }
71
71
  }
72
72
  &:where(.rt-r-size-2) {
73
- --table-border-radius: min(var(--radius-6), calc(var(--radius-2) + var(--space-2)));
73
+ --table-border-radius: min(var(--radius-surface-6), calc(var(--radius-surface-2) + var(--space-2)));
74
74
  --table-cell-padding: var(--space-3);
75
75
  --table-cell-min-height: calc(44px * var(--scaling));
76
76
 
@@ -80,7 +80,7 @@
80
80
  }
81
81
  }
82
82
  &:where(.rt-r-size-3) {
83
- --table-border-radius: min(var(--radius-7), calc(var(--radius-3) + var(--space-3)));
83
+ --table-border-radius: min(var(--radius-surface-7), calc(var(--radius-surface-3) + var(--space-3)));
84
84
  --table-cell-padding: var(--space-4);
85
85
  --table-cell-min-height: var(--space-8);
86
86
 
@@ -90,7 +90,7 @@
90
90
  }
91
91
  }
92
92
  &:where(.rt-r-size-4) {
93
- --table-border-radius: min(var(--radius-8), calc(var(--radius-4) + var(--space-4)));
93
+ --table-border-radius: min(var(--radius-surface-8), calc(var(--radius-surface-4) + var(--space-4)));
94
94
  --table-cell-padding: var(--space-5);
95
95
  --table-cell-min-height: var(--space-9);
96
96
 
@@ -100,7 +100,7 @@
100
100
  }
101
101
  }
102
102
  &:where(.rt-r-size-5) {
103
- --table-border-radius: min(var(--radius-9), calc(var(--radius-5) + var(--space-5)));
103
+ --table-border-radius: min(var(--radius-surface-9), calc(var(--radius-surface-5) + var(--space-5)));
104
104
  --table-cell-padding: var(--space-6);
105
105
  --table-cell-min-height: var(--space-10);
106
106
 
@@ -64,7 +64,7 @@ const themePropDefs = {
64
64
  * @link
65
65
  * https://www.radix-ui.com/themes/docs/theme/visual-style
66
66
  */
67
- radius: { type: 'enum', values: radii, default: 'medium' },
67
+ radius: { type: 'enum', values: radii, default: 'full' },
68
68
  /**
69
69
  * Sets a scaling multiplier for values like spacing, font sizes, line heights, etc. are scaled.
70
70
  *
@@ -2,7 +2,7 @@
2
2
  box-sizing: border-box;
3
3
  padding: var(--space-1) var(--space-2);
4
4
  background-color: var(--gray-12);
5
- border-radius: var(--radius-1);
5
+ border-radius: var(--radius-surface-1);
6
6
  z-index: 300; /* Tooltips always on top - above dialogs (100) and menus (200) */
7
7
 
8
8
  transform-origin: var(--radix-tooltip-content-transform-origin);
@@ -3,7 +3,8 @@
3
3
  import * as React from 'react';
4
4
  import classNames from 'classnames';
5
5
  import { useVirtualizer } from '@tanstack/react-virtual';
6
- import { useMenuContext, menuSizeToItemHeight } from './_internal/menu-context.js';
6
+ import { useMenuContext, getMenuItemHeight } from './_internal/menu-context.js';
7
+ import { useThemeContext } from './theme.js';
7
8
 
8
9
  /**
9
10
  * VirtualMenu - A virtualized menu component for rendering large lists efficiently.
@@ -192,13 +193,16 @@ function VirtualMenuRoot<T>({
192
193
  const menuId = React.useId();
193
194
  const parentRef = React.useRef<HTMLDivElement>(null);
194
195
  const [highlightedIndex, setHighlightedIndex] = React.useState<number>(-1);
195
- const { isInsideMenu, size: contextSize } = useMenuContext();
196
-
197
- // Resolve size: prop > context > default '2'
198
- const resolvedSize = sizeProp ?? contextSize ?? '2';
199
-
200
- // Resolve item height: explicit prop > derived from size
201
- const estimatedItemSize = estimatedItemSizeProp ?? menuSizeToItemHeight[resolvedSize];
196
+ const { isInsideMenu, size: contextSize, itemHeight: contextItemHeight } = useMenuContext();
197
+ const { scaling } = useThemeContext();
198
+
199
+ // Resolve item height: explicit prop > own size > parent menu > default size '2'.
200
+ // Heights follow the theme scaling, like the --base-menu-item-height token.
201
+ const estimatedItemSize =
202
+ estimatedItemSizeProp ??
203
+ (sizeProp
204
+ ? getMenuItemHeight(sizeProp, scaling)
205
+ : (contextItemHeight ?? getMenuItemHeight(contextSize ?? '2', scaling)));
202
206
 
203
207
  // Validate props
204
208
  if (!itemLabel && !RenderItem) {
@@ -87,6 +87,9 @@ function getServerSnapshot(): Breakpoint {
87
87
  const getReadySnapshot = () => true;
88
88
  const getReadyServerSnapshot = () => false;
89
89
 
90
+ const noopSubscribe = () => () => {};
91
+ const getInitialSnapshot = (): Breakpoint => 'initial';
92
+
90
93
  /**
91
94
  * The current breakpoint, and whether it has been resolved against a real
92
95
  * viewport yet (`false` on the server and during hydration).
@@ -95,10 +98,23 @@ const getReadyServerSnapshot = () => false;
95
98
  * effect. On a client render the very first pass already has the real
96
99
  * breakpoint, instead of rendering the whole shell at `initial` and correcting
97
100
  * it after the browser has painted.
101
+ *
102
+ * Pass `enabled = false` to skip the subscription (the breakpoint then reads as
103
+ * `initial`).
98
104
  */
99
- export function useBreakpoint(): { breakpoint: Breakpoint; ready: boolean } {
100
- const breakpoint = React.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
101
- const ready = React.useSyncExternalStore(subscribe, getReadySnapshot, getReadyServerSnapshot);
105
+ export function useBreakpoint(enabled = true): { breakpoint: Breakpoint; ready: boolean } {
106
+ // Callers with a non-responsive value pass `enabled = false` so they neither
107
+ // subscribe to the media queries nor re-render when the viewport crosses one.
108
+ const breakpoint = React.useSyncExternalStore(
109
+ enabled ? subscribe : noopSubscribe,
110
+ enabled ? getSnapshot : getInitialSnapshot,
111
+ getServerSnapshot,
112
+ );
113
+ const ready = React.useSyncExternalStore(
114
+ enabled ? subscribe : noopSubscribe,
115
+ getReadySnapshot,
116
+ getReadyServerSnapshot,
117
+ );
102
118
 
103
119
  return React.useMemo(() => ({ breakpoint, ready }), [breakpoint, ready]);
104
120
  }
@@ -9,7 +9,7 @@
9
9
  * import '@womp/kookie-ui/styles.css'; *
10
10
  * import '@womp/kookie-ui/fonts.css'; *
11
11
  * *
12
- * This costs three render-blocking requests to Google Fonts. If you already load fonts yourself *
12
+ * This costs four render-blocking requests to Google Fonts. If you already load fonts yourself *
13
13
  * (`next/font`, a self-hosted @font-face, a CDN), skip this file and point the stacks at your *
14
14
  * own faces instead: *
15
15
  * *
@@ -20,6 +20,7 @@
20
20
  ***************************************************************************************************/
21
21
 
22
22
  @import url('https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,100..900;1,100..900&display=swap');
23
+ @import url('https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,100..900;1,100..900&display=swap');
23
24
  @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap');
24
25
  @import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
25
26
 
@@ -27,4 +28,8 @@
27
28
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI (Custom)', Roboto, 'Helvetica Neue', system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
28
29
  --font-mono: 'JetBrains Mono', 'Menlo', 'Consolas (Custom)', 'Liberation Mono', monospace, 'Apple Color Emoji', 'Segoe UI Emoji';
29
30
  --font-serif: 'Playfair Display', 'Times New Roman', 'Times', 'Georgia', 'Cambria', serif;
31
+
32
+ /* Headings get Inter Tight; body stays Inter. Inter is listed next so a heading rendered before
33
+ Inter Tight arrives falls back to the body face rather than to a system sans. */
34
+ --font-display: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI (Custom)', Roboto, 'Helvetica Neue', system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
30
35
  }
@@ -7,9 +7,11 @@
7
7
  * *
8
8
  * There are exactly two tiers: *
9
9
  * *
10
- * 1. STACKS — which typefaces exist. Three of them: --font-sans, --font-mono, --font-serif. *
11
- * Declared on `:root`, because a typeface is an app-wide resource (and because *
12
- * that is where `next/font` and friends put theirs). Override at `:root`. *
10
+ * 1. STACKS — which typefaces exist: --font-sans, --font-mono, --font-serif, plus the *
11
+ * optional --font-display for headings. Declared on `:root`, because a typeface *
12
+ * is an app-wide resource (and because that is where `next/font` and friends put *
13
+ * theirs). Override at `:root`. --font-display is unset by default; define it and *
14
+ * headings use it, leave it alone and they follow the body. *
13
15
  * *
14
16
  * 2. ROLES — which stack each piece of text uses: --font-body, --font-heading, --font-code, *
15
17
  * --font-strong, --font-em, --font-quote. Declared on `.radix-themes`, because a *
@@ -17,7 +19,7 @@
17
19
  * per subtree. Override at `.radix-themes`. *
18
20
  * *
19
21
  * No webfonts are loaded here. The defaults below are system stacks. To use Kookie's own *
20
- * typefaces (Inter / JetBrains Mono / Playfair Display), additionally import *
22
+ * typefaces (Inter / Inter Tight / JetBrains Mono / Playfair Display), additionally import *
21
23
  * '@womp/kookie-ui/fonts.css'. *
22
24
  * *
23
25
  ***************************************************************************************************/
@@ -29,13 +31,19 @@
29
31
  'Segoe UI Emoji';
30
32
  --font-mono: 'Menlo', 'Consolas (Custom)', 'Bitstream Vera Sans Mono', monospace, 'Apple Color Emoji', 'Segoe UI Emoji';
31
33
  --font-serif: 'Times New Roman', 'Times', 'Georgia', 'Cambria', serif;
34
+
35
+ /* --font-display, the heading typeface, is deliberately NOT declared here. It is left undefined
36
+ so that the fallback in --font-heading below stays live: define it and headings use it, leave
37
+ it alone and they follow the body. Declaring it here as `var(--font-body)` would not work —
38
+ --font-body only exists on `.radix-themes`, and a var() inside a custom property resolves
39
+ against the element the declaration sits on, which would make this guaranteed-invalid. */
32
40
  }
33
41
 
34
42
  .radix-themes {
35
43
  /* Tier 2: roles. Each one points at a stack. Override these to give a role its own typeface —
36
44
  e.g. `--font-heading: var(--font-serif)` for serif headings over a sans body. */
37
45
  --font-body: var(--font-sans);
38
- --font-heading: var(--font-body); /* follows the body unless you say otherwise */
46
+ --font-heading: var(--font-display, var(--font-body)); /* a display face if one is defined, else the body */
39
47
  --font-code: var(--font-mono);
40
48
  --font-strong: var(--font-body);
41
49
  --font-em: var(--font-serif);
@@ -1,45 +1,88 @@
1
+ /*
2
+ * RADIUS
3
+ *
4
+ * Two channels, one theme.
5
+ *
6
+ * `--radius-*` CONTROLS & MARKS — buttons, inputs, checkboxes, badges,
7
+ * switches, tabs. These scale aggressively with the theme
8
+ * and opt into `--radius-full` to become pills.
9
+ *
10
+ * `--radius-surface-*` SURFACES — cards, dialogs, popovers, menus, tables,
11
+ * callouts. These damp as the theme grows and never go
12
+ * pill. A surface at `full` is exactly as round as a
13
+ * surface at `medium`; `--radius-surface-factor` is
14
+ * capped at 1.
15
+ *
16
+ * The gap between the two channels is the point: round controls read as
17
+ * touchable, restrained surfaces read as architectural. Widening the theme
18
+ * widens that contrast instead of inflating everything at once.
19
+ */
20
+
1
21
  [data-radius] {
2
- /* */
22
+ /* Controls & marks */
3
23
  --radius-1: calc(6px * var(--scaling) * var(--radius-factor));
4
24
  --radius-2: calc(8px * var(--scaling) * var(--radius-factor));
5
25
  --radius-3: calc(10px * var(--scaling) * var(--radius-factor));
6
26
  --radius-4: calc(12px * var(--scaling) * var(--radius-factor));
7
-
27
+
8
28
  /* */
9
29
  --radius-5: calc(16px * var(--scaling) * var(--radius-factor));
10
30
  --radius-6: calc(20px * var(--scaling) * var(--radius-factor));
11
31
  --radius-7: calc(24px * var(--scaling) * var(--radius-factor));
12
32
  --radius-8: calc(28px * var(--scaling) * var(--radius-factor));
13
-
33
+
14
34
  /* */
15
35
  --radius-9: calc(32px * var(--scaling) * var(--radius-factor));
16
36
  --radius-10: calc(40px * var(--scaling) * var(--radius-factor));
17
37
  --radius-11: calc(48px * var(--scaling) * var(--radius-factor));
18
38
  --radius-12: calc(56px * var(--scaling) * var(--radius-factor));
39
+
40
+ /* Surfaces — same ramp, damped factor, no pill */
41
+ --radius-surface-1: calc(6px * var(--scaling) * var(--radius-surface-factor));
42
+ --radius-surface-2: calc(8px * var(--scaling) * var(--radius-surface-factor));
43
+ --radius-surface-3: calc(10px * var(--scaling) * var(--radius-surface-factor));
44
+ --radius-surface-4: calc(12px * var(--scaling) * var(--radius-surface-factor));
45
+
46
+ /* */
47
+ --radius-surface-5: calc(16px * var(--scaling) * var(--radius-surface-factor));
48
+ --radius-surface-6: calc(20px * var(--scaling) * var(--radius-surface-factor));
49
+ --radius-surface-7: calc(24px * var(--scaling) * var(--radius-surface-factor));
50
+ --radius-surface-8: calc(28px * var(--scaling) * var(--radius-surface-factor));
51
+
52
+ /* */
53
+ --radius-surface-9: calc(32px * var(--scaling) * var(--radius-surface-factor));
54
+ --radius-surface-10: calc(40px * var(--scaling) * var(--radius-surface-factor));
55
+ --radius-surface-11: calc(48px * var(--scaling) * var(--radius-surface-factor));
56
+ --radius-surface-12: calc(56px * var(--scaling) * var(--radius-surface-factor));
19
57
  }
20
58
 
21
59
 
22
60
  [data-radius='none'] {
23
61
  --radius-factor: 0;
62
+ --radius-surface-factor: 0;
24
63
  --radius-full: 0px;
25
64
  }
26
65
 
27
66
  [data-radius='small'] {
28
67
  --radius-factor: 0.75;
68
+ --radius-surface-factor: 0.5;
29
69
  --radius-full: 0px;
30
70
  }
31
71
 
32
72
  [data-radius='medium'] {
33
73
  --radius-factor: 1;
74
+ --radius-surface-factor: 0.75;
34
75
  --radius-full: 0px;
35
76
  }
36
77
 
37
78
  [data-radius='large'] {
38
79
  --radius-factor: 1.5;
80
+ --radius-surface-factor: 0.9;
39
81
  --radius-full: 0px;
40
82
  }
41
83
 
42
84
  [data-radius='full'] {
43
- --radius-factor: 2.0;
85
+ --radius-factor: 2;
86
+ --radius-surface-factor: 1;
44
87
  --radius-full: 9999px;
45
88
  }