@womp/kookie-ui 0.3.25 → 0.4.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 (582) hide show
  1. package/AUTHORS +27 -0
  2. package/LICENSE +29 -0
  3. package/README.md +21 -1
  4. package/components.css +163 -118
  5. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  6. package/dist/cjs/components/_internal/base-button.js +1 -1
  7. package/dist/cjs/components/_internal/base-button.js.map +4 -4
  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 +3 -3
  10. package/dist/cjs/components/_internal/shell-bottom.js +1 -1
  11. package/dist/cjs/components/_internal/shell-bottom.js.map +4 -4
  12. package/dist/cjs/components/_internal/shell-handles.d.ts.map +1 -1
  13. package/dist/cjs/components/_internal/shell-handles.js +1 -1
  14. package/dist/cjs/components/_internal/shell-handles.js.map +3 -3
  15. package/dist/cjs/components/_internal/shell-inspector.js +1 -1
  16. package/dist/cjs/components/_internal/shell-inspector.js.map +4 -4
  17. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  18. package/dist/cjs/components/_internal/shell-sidebar.js.map +4 -4
  19. package/dist/cjs/components/accordion.d.ts.map +1 -1
  20. package/dist/cjs/components/accordion.js +1 -1
  21. package/dist/cjs/components/accordion.js.map +4 -4
  22. package/dist/cjs/components/alert-dialog.d.ts.map +1 -1
  23. package/dist/cjs/components/alert-dialog.js +1 -1
  24. package/dist/cjs/components/alert-dialog.js.map +4 -4
  25. package/dist/cjs/components/avatar.js +1 -1
  26. package/dist/cjs/components/avatar.js.map +4 -4
  27. package/dist/cjs/components/badge.d.ts.map +1 -1
  28. package/dist/cjs/components/badge.js +1 -1
  29. package/dist/cjs/components/badge.js.map +4 -4
  30. package/dist/cjs/components/blockquote.js +1 -1
  31. package/dist/cjs/components/blockquote.js.map +4 -4
  32. package/dist/cjs/components/box.js +1 -1
  33. package/dist/cjs/components/box.js.map +4 -4
  34. package/dist/cjs/components/button.js +1 -1
  35. package/dist/cjs/components/button.js.map +4 -4
  36. package/dist/cjs/components/callout.js +1 -1
  37. package/dist/cjs/components/callout.js.map +4 -4
  38. package/dist/cjs/components/card.js +1 -1
  39. package/dist/cjs/components/card.js.map +4 -4
  40. package/dist/cjs/components/chatbar.js +2 -2
  41. package/dist/cjs/components/chatbar.js.map +4 -4
  42. package/dist/cjs/components/checkbox-cards.js +1 -1
  43. package/dist/cjs/components/checkbox-cards.js.map +4 -4
  44. package/dist/cjs/components/checkbox-group.js +1 -1
  45. package/dist/cjs/components/checkbox-group.js.map +4 -4
  46. package/dist/cjs/components/checkbox.js +1 -1
  47. package/dist/cjs/components/checkbox.js.map +4 -4
  48. package/dist/cjs/components/code.js +1 -1
  49. package/dist/cjs/components/code.js.map +4 -4
  50. package/dist/cjs/components/combobox.js +1 -1
  51. package/dist/cjs/components/combobox.js.map +4 -4
  52. package/dist/cjs/components/container.js +1 -1
  53. package/dist/cjs/components/container.js.map +4 -4
  54. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  55. package/dist/cjs/components/context-menu.js +1 -1
  56. package/dist/cjs/components/context-menu.js.map +4 -4
  57. package/dist/cjs/components/data-list.js +1 -1
  58. package/dist/cjs/components/data-list.js.map +4 -4
  59. package/dist/cjs/components/dialog.d.ts.map +1 -1
  60. package/dist/cjs/components/dialog.js +1 -1
  61. package/dist/cjs/components/dialog.js.map +4 -4
  62. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  63. package/dist/cjs/components/dropdown-menu.js +1 -1
  64. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  65. package/dist/cjs/components/em.js +1 -1
  66. package/dist/cjs/components/em.js.map +4 -4
  67. package/dist/cjs/components/flex.js +1 -1
  68. package/dist/cjs/components/flex.js.map +4 -4
  69. package/dist/cjs/components/grid.js +1 -1
  70. package/dist/cjs/components/grid.js.map +4 -4
  71. package/dist/cjs/components/heading.js +1 -1
  72. package/dist/cjs/components/heading.js.map +4 -4
  73. package/dist/cjs/components/hover-card.js +1 -1
  74. package/dist/cjs/components/hover-card.js.map +4 -4
  75. package/dist/cjs/components/icon-button.js +2 -2
  76. package/dist/cjs/components/icon-button.js.map +4 -4
  77. package/dist/cjs/components/image.js +1 -1
  78. package/dist/cjs/components/image.js.map +4 -4
  79. package/dist/cjs/components/index.js +5 -5
  80. package/dist/cjs/components/index.js.map +4 -4
  81. package/dist/cjs/components/inset.js +1 -1
  82. package/dist/cjs/components/inset.js.map +4 -4
  83. package/dist/cjs/components/kbd.js +1 -1
  84. package/dist/cjs/components/kbd.js.map +4 -4
  85. package/dist/cjs/components/link.js +1 -1
  86. package/dist/cjs/components/link.js.map +4 -4
  87. package/dist/cjs/components/navbar.js +1 -1
  88. package/dist/cjs/components/navbar.js.map +4 -4
  89. package/dist/cjs/components/popover.js +1 -1
  90. package/dist/cjs/components/popover.js.map +4 -4
  91. package/dist/cjs/components/progress.js +1 -1
  92. package/dist/cjs/components/progress.js.map +4 -4
  93. package/dist/cjs/components/quote.js +1 -1
  94. package/dist/cjs/components/quote.js.map +4 -4
  95. package/dist/cjs/components/radio-cards.js +1 -1
  96. package/dist/cjs/components/radio-cards.js.map +4 -4
  97. package/dist/cjs/components/radio-group.js +1 -1
  98. package/dist/cjs/components/radio-group.js.map +4 -4
  99. package/dist/cjs/components/radio.js +1 -1
  100. package/dist/cjs/components/radio.js.map +4 -4
  101. package/dist/cjs/components/schemas/base-button.schema.d.ts +2 -2
  102. package/dist/cjs/components/schemas/button.schema.d.ts +2 -2
  103. package/dist/cjs/components/schemas/icon-button.schema.d.ts +4 -4
  104. package/dist/cjs/components/schemas/shell.schema.d.ts +2 -2
  105. package/dist/cjs/components/schemas/toggle-button.schema.d.ts +6 -6
  106. package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts +8 -8
  107. package/dist/cjs/components/scroll-area.js +1 -1
  108. package/dist/cjs/components/scroll-area.js.map +4 -4
  109. package/dist/cjs/components/section.js +1 -1
  110. package/dist/cjs/components/section.js.map +4 -4
  111. package/dist/cjs/components/segmented-control.js +1 -1
  112. package/dist/cjs/components/segmented-control.js.map +4 -4
  113. package/dist/cjs/components/select.js +1 -1
  114. package/dist/cjs/components/select.js.map +4 -4
  115. package/dist/cjs/components/separator.js +1 -1
  116. package/dist/cjs/components/separator.js.map +4 -4
  117. package/dist/cjs/components/sheet.d.ts.map +1 -1
  118. package/dist/cjs/components/sheet.js +1 -1
  119. package/dist/cjs/components/sheet.js.map +4 -4
  120. package/dist/cjs/components/shell.js +1 -1
  121. package/dist/cjs/components/shell.js.map +4 -4
  122. package/dist/cjs/components/sidebar.js +1 -1
  123. package/dist/cjs/components/sidebar.js.map +4 -4
  124. package/dist/cjs/components/skeleton.js +1 -1
  125. package/dist/cjs/components/skeleton.js.map +4 -4
  126. package/dist/cjs/components/slider.js +1 -1
  127. package/dist/cjs/components/slider.js.map +4 -4
  128. package/dist/cjs/components/spinner.js +1 -1
  129. package/dist/cjs/components/spinner.js.map +4 -4
  130. package/dist/cjs/components/strong.js +1 -1
  131. package/dist/cjs/components/strong.js.map +4 -4
  132. package/dist/cjs/components/switch.js +1 -1
  133. package/dist/cjs/components/switch.js.map +4 -4
  134. package/dist/cjs/components/tab-nav.js +1 -1
  135. package/dist/cjs/components/tab-nav.js.map +4 -4
  136. package/dist/cjs/components/table.js +1 -1
  137. package/dist/cjs/components/table.js.map +4 -4
  138. package/dist/cjs/components/tabs.js +1 -1
  139. package/dist/cjs/components/tabs.js.map +4 -4
  140. package/dist/cjs/components/text-area.js +1 -1
  141. package/dist/cjs/components/text-area.js.map +4 -4
  142. package/dist/cjs/components/text-field.js +2 -2
  143. package/dist/cjs/components/text-field.js.map +4 -4
  144. package/dist/cjs/components/text.js +1 -1
  145. package/dist/cjs/components/text.js.map +4 -4
  146. package/dist/cjs/components/theme-panel.js +3 -3
  147. package/dist/cjs/components/theme-panel.js.map +4 -4
  148. package/dist/cjs/components/theme.d.ts +3 -0
  149. package/dist/cjs/components/theme.d.ts.map +1 -1
  150. package/dist/cjs/components/theme.js +1 -1
  151. package/dist/cjs/components/theme.js.map +4 -4
  152. package/dist/cjs/components/theme.props.d.ts +15 -1
  153. package/dist/cjs/components/theme.props.d.ts.map +1 -1
  154. package/dist/cjs/components/theme.props.js +1 -1
  155. package/dist/cjs/components/theme.props.js.map +2 -2
  156. package/dist/cjs/components/toggle-button.js +2 -2
  157. package/dist/cjs/components/toggle-button.js.map +4 -4
  158. package/dist/cjs/components/toggle-icon-button.js +3 -3
  159. package/dist/cjs/components/toggle-icon-button.js.map +4 -4
  160. package/dist/cjs/components/toolbar.js +1 -1
  161. package/dist/cjs/components/toolbar.js.map +4 -4
  162. package/dist/cjs/components/tooltip.js +1 -1
  163. package/dist/cjs/components/tooltip.js.map +4 -4
  164. package/dist/cjs/components/user-card.js +1 -1
  165. package/dist/cjs/components/user-card.js.map +4 -4
  166. package/dist/cjs/helpers/compile-prop-defs.d.ts +49 -0
  167. package/dist/cjs/helpers/compile-prop-defs.d.ts.map +1 -0
  168. package/dist/cjs/helpers/compile-prop-defs.js +2 -0
  169. package/dist/cjs/helpers/compile-prop-defs.js.map +7 -0
  170. package/dist/cjs/helpers/extract-props.d.ts.map +1 -1
  171. package/dist/cjs/helpers/extract-props.js +1 -1
  172. package/dist/cjs/helpers/extract-props.js.map +4 -4
  173. package/dist/cjs/helpers/font-config.d.ts +84 -77
  174. package/dist/cjs/helpers/font-config.d.ts.map +1 -1
  175. package/dist/cjs/helpers/font-config.js +5 -2
  176. package/dist/cjs/helpers/font-config.js.map +3 -3
  177. package/dist/cjs/helpers/get-margin-styles.d.ts.map +1 -1
  178. package/dist/cjs/helpers/get-margin-styles.js +1 -1
  179. package/dist/cjs/helpers/get-margin-styles.js.map +3 -3
  180. package/dist/cjs/helpers/get-responsive-styles.d.ts +5 -2
  181. package/dist/cjs/helpers/get-responsive-styles.d.ts.map +1 -1
  182. package/dist/cjs/helpers/get-responsive-styles.js +1 -1
  183. package/dist/cjs/helpers/get-responsive-styles.js.map +3 -3
  184. package/dist/cjs/helpers/index.js +5 -2
  185. package/dist/cjs/helpers/index.js.map +4 -4
  186. package/dist/cjs/helpers/use-deprecation-warning.d.ts +10 -0
  187. package/dist/cjs/helpers/use-deprecation-warning.d.ts.map +1 -0
  188. package/dist/cjs/helpers/use-deprecation-warning.js +2 -0
  189. package/dist/cjs/helpers/use-deprecation-warning.js.map +7 -0
  190. package/dist/cjs/hooks/index.js +2 -2
  191. package/dist/cjs/hooks/index.js.map +3 -3
  192. package/dist/cjs/hooks/use-body-pointer-events-cleanup.d.ts.map +1 -1
  193. package/dist/cjs/hooks/use-body-pointer-events-cleanup.js +1 -1
  194. package/dist/cjs/hooks/use-body-pointer-events-cleanup.js.map +3 -3
  195. package/dist/cjs/hooks/use-breakpoint.d.ts +7 -3
  196. package/dist/cjs/hooks/use-breakpoint.d.ts.map +1 -1
  197. package/dist/cjs/hooks/use-breakpoint.js +1 -1
  198. package/dist/cjs/hooks/use-breakpoint.js.map +3 -3
  199. package/dist/cjs/hooks/use-prop-synced-state.d.ts +14 -0
  200. package/dist/cjs/hooks/use-prop-synced-state.d.ts.map +1 -0
  201. package/dist/cjs/hooks/use-prop-synced-state.js +2 -0
  202. package/dist/cjs/hooks/use-prop-synced-state.js.map +7 -0
  203. package/dist/cjs/index.js +5 -5
  204. package/dist/cjs/index.js.map +4 -4
  205. package/dist/cjs/props/index.js +1 -1
  206. package/dist/cjs/props/index.js.map +2 -2
  207. package/dist/esm/{chunk-WYA4IRU6.js → chunk-25WZA7ZU.js} +2 -2
  208. package/dist/esm/{chunk-ARGX2ZZK.js → chunk-2FYJTSOP.js} +2 -2
  209. package/dist/esm/chunk-2UPAYDKR.js +2 -0
  210. package/dist/esm/chunk-2UPAYDKR.js.map +7 -0
  211. package/dist/esm/chunk-374ZYJUP.js +2 -0
  212. package/dist/esm/chunk-374ZYJUP.js.map +7 -0
  213. package/dist/esm/{chunk-K3R4AH3E.js → chunk-3MWWP4MW.js} +2 -2
  214. package/dist/esm/{chunk-HQ35PM4O.js → chunk-43A5GUSI.js} +2 -2
  215. package/dist/esm/{chunk-Z5DQ6FSA.js → chunk-4AQTUBVP.js} +2 -2
  216. package/dist/esm/{chunk-QLIELX4I.js → chunk-4ME6O27S.js} +2 -2
  217. package/dist/esm/chunk-4XJY6FIK.js +2 -0
  218. package/dist/esm/chunk-4XJY6FIK.js.map +7 -0
  219. package/dist/esm/{chunk-JQOFJNCV.js → chunk-4YFJWXL2.js} +2 -2
  220. package/dist/esm/chunk-5TXQLK4G.js +2 -0
  221. package/dist/esm/chunk-5TXQLK4G.js.map +7 -0
  222. package/dist/esm/{chunk-IPJUHVM6.js → chunk-666GX7O5.js} +2 -2
  223. package/dist/esm/chunk-6FLLFCBU.js +2 -0
  224. package/dist/esm/chunk-6FLLFCBU.js.map +7 -0
  225. package/dist/esm/{chunk-7CBAHIVG.js → chunk-6IGTK4JE.js} +2 -2
  226. package/dist/esm/chunk-6XGZPIUT.js +2 -0
  227. package/dist/esm/{chunk-T27QHMW7.js.map → chunk-6XGZPIUT.js.map} +2 -2
  228. package/dist/esm/{chunk-DJBPM5QK.js → chunk-7FC7HF76.js} +2 -2
  229. package/dist/esm/{chunk-SVLY6B5F.js → chunk-7QDTSBJF.js} +2 -2
  230. package/dist/esm/{chunk-7MURQ6CR.js → chunk-A2RZGGMY.js} +2 -2
  231. package/dist/esm/{chunk-VF5TRT3H.js → chunk-AU3D6F42.js} +2 -2
  232. package/dist/esm/chunk-AX5S56DS.js +2 -0
  233. package/dist/esm/chunk-AX5S56DS.js.map +7 -0
  234. package/dist/esm/{chunk-DK5MHD6I.js → chunk-B24BDVG2.js} +2 -2
  235. package/dist/esm/{chunk-BJTJUIYJ.js → chunk-CRWYCLTE.js} +2 -2
  236. package/dist/esm/{chunk-OHJVFZMH.js → chunk-CSKZZOI2.js} +2 -2
  237. package/dist/esm/{chunk-4N5JU7XQ.js → chunk-CVWCKOHO.js} +2 -2
  238. package/dist/esm/chunk-CWRNW44F.js +2 -0
  239. package/dist/esm/chunk-CWRNW44F.js.map +7 -0
  240. package/dist/esm/{chunk-ADYTQCZX.js → chunk-D6B7IMZU.js} +2 -2
  241. package/dist/esm/{chunk-U7AASKZI.js → chunk-DNHUQLXO.js} +2 -2
  242. package/dist/esm/{chunk-USGTBZ43.js → chunk-E67CIG6A.js} +2 -2
  243. package/dist/esm/{chunk-YUZPSUJE.js → chunk-F7IYL2VW.js} +2 -2
  244. package/dist/esm/{chunk-FVCWNSRU.js → chunk-FHOCUZDR.js} +2 -2
  245. package/dist/esm/{chunk-APRBRAOT.js → chunk-FXUUI6Z2.js} +2 -2
  246. package/dist/esm/{chunk-WNSPLWRV.js → chunk-GJSGKE7B.js} +2 -2
  247. package/dist/esm/{chunk-OGOOZLUD.js → chunk-GLERJXVS.js} +2 -2
  248. package/dist/esm/{chunk-6VGPTAHM.js → chunk-GWXVETMF.js} +2 -2
  249. package/dist/esm/{chunk-ES7MK2MM.js → chunk-GYBLXQ4R.js} +2 -2
  250. package/dist/esm/{chunk-4OBMRJHC.js → chunk-H7ST535H.js} +2 -2
  251. package/dist/esm/{chunk-QLZ5XAW6.js → chunk-HF5WY5YE.js} +2 -2
  252. package/dist/esm/{chunk-RDP4UQ42.js → chunk-IEWCQU2S.js} +2 -2
  253. package/dist/esm/{chunk-XLOHPURR.js → chunk-IHK3H2OM.js} +2 -2
  254. package/dist/esm/{chunk-EJWAAFCI.js → chunk-IKSN4RNB.js} +2 -2
  255. package/dist/esm/{chunk-3F6I7YOR.js → chunk-JDGJSNWT.js} +2 -2
  256. package/dist/esm/chunk-JUY7CBSL.js +2 -0
  257. package/dist/esm/chunk-JUY7CBSL.js.map +7 -0
  258. package/dist/esm/{chunk-ZSEFZM5H.js → chunk-K6QZMNCD.js} +2 -2
  259. package/dist/esm/chunk-KKBP2CRH.js +2 -0
  260. package/dist/esm/chunk-KKBP2CRH.js.map +7 -0
  261. package/dist/esm/{chunk-ZHYOJNWV.js → chunk-LKAK5GXF.js} +2 -2
  262. package/dist/esm/{chunk-GWYFT3EI.js → chunk-M24UXMOQ.js} +2 -2
  263. package/dist/esm/{chunk-JCYI4NTV.js → chunk-MBCBP73P.js} +2 -2
  264. package/dist/esm/{chunk-UYNYUR7O.js → chunk-MBE2YSBU.js} +2 -2
  265. package/dist/esm/chunk-MHANZINI.js +2 -0
  266. package/dist/esm/chunk-MHANZINI.js.map +7 -0
  267. package/dist/esm/chunk-MK2R6DAU.js +2 -0
  268. package/dist/esm/chunk-MK2R6DAU.js.map +7 -0
  269. package/dist/esm/{chunk-DNI4QRXQ.js → chunk-MOR3NSXQ.js} +2 -2
  270. package/dist/esm/{chunk-H2G446JG.js → chunk-NMKPFUNP.js} +2 -2
  271. package/dist/esm/{chunk-TEULZKBM.js → chunk-OGXZHAQL.js} +2 -2
  272. package/dist/esm/{chunk-M3ZYJANH.js → chunk-OSRJRBKP.js} +2 -2
  273. package/dist/esm/{chunk-2AEELIG6.js → chunk-OWAUCLRT.js} +2 -2
  274. package/dist/esm/{chunk-7CXVHFMQ.js → chunk-P7HYVJSU.js} +2 -2
  275. package/dist/esm/{chunk-4532RT2B.js → chunk-P7IAHW4V.js} +2 -2
  276. package/dist/esm/{chunk-GLC4QJBF.js → chunk-PLWXTEVE.js} +2 -2
  277. package/dist/esm/{chunk-SGU4HUHF.js → chunk-PTLFMWCN.js} +2 -2
  278. package/dist/esm/{chunk-QOWA5LK5.js → chunk-QEOAXJLN.js} +2 -2
  279. package/dist/esm/{chunk-XHQGMOXV.js → chunk-RMKXWYOV.js} +2 -2
  280. package/dist/esm/chunk-S2HA3W3V.js +2 -0
  281. package/dist/esm/chunk-S2HA3W3V.js.map +7 -0
  282. package/dist/esm/{chunk-WZCZHCVE.js → chunk-S56YSRHP.js} +2 -2
  283. package/dist/esm/{chunk-E6IWYD3U.js → chunk-S5C5YRBS.js} +2 -2
  284. package/dist/esm/{chunk-A24PYRVV.js → chunk-SO67YEVQ.js} +2 -2
  285. package/dist/esm/chunk-TLWTUKKL.js +2 -0
  286. package/dist/esm/chunk-TLWTUKKL.js.map +7 -0
  287. package/dist/esm/{chunk-RQ2ZPMHJ.js → chunk-TOLLPRMM.js} +2 -2
  288. package/dist/esm/{chunk-HACQF6F4.js → chunk-TOOSHJOA.js} +2 -2
  289. package/dist/esm/{chunk-42HFGCHX.js → chunk-UGD7Z3L4.js} +2 -2
  290. package/dist/esm/chunk-VA5A4MHU.js +6 -0
  291. package/dist/esm/chunk-VA5A4MHU.js.map +7 -0
  292. package/dist/esm/{chunk-DXI5P5O4.js → chunk-VX6ARMWP.js} +2 -2
  293. package/dist/esm/{chunk-25U7DENY.js → chunk-W7N7V5YD.js} +2 -2
  294. package/dist/esm/chunk-WAURCNAS.js +2 -0
  295. package/dist/esm/chunk-WAURCNAS.js.map +7 -0
  296. package/dist/esm/chunk-WFMYNZXZ.js +2 -0
  297. package/dist/esm/chunk-WFMYNZXZ.js.map +7 -0
  298. package/dist/esm/{chunk-6FAICIYS.js → chunk-XMRIRFM7.js} +2 -2
  299. package/dist/esm/chunk-YEB3H7QN.js +2 -0
  300. package/dist/esm/chunk-YEB3H7QN.js.map +7 -0
  301. package/dist/esm/chunk-YUP6EICB.js +2 -0
  302. package/dist/esm/chunk-YUP6EICB.js.map +7 -0
  303. package/dist/esm/chunk-YV2KYHGR.js +2 -0
  304. package/dist/esm/chunk-YV2KYHGR.js.map +7 -0
  305. package/dist/esm/{chunk-UIEUZLZZ.js → chunk-ZY6SQWHT.js} +2 -2
  306. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  307. package/dist/esm/components/_internal/base-button.js +1 -1
  308. package/dist/esm/components/_internal/dropdown-menu-drill-down.js +1 -1
  309. package/dist/esm/components/_internal/shell-bottom.js +1 -1
  310. package/dist/esm/components/_internal/shell-handles.d.ts.map +1 -1
  311. package/dist/esm/components/_internal/shell-handles.js +1 -1
  312. package/dist/esm/components/_internal/shell-inspector.js +1 -1
  313. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  314. package/dist/esm/components/accordion.d.ts.map +1 -1
  315. package/dist/esm/components/accordion.js +1 -1
  316. package/dist/esm/components/alert-dialog.d.ts.map +1 -1
  317. package/dist/esm/components/alert-dialog.js +1 -1
  318. package/dist/esm/components/avatar.js +1 -1
  319. package/dist/esm/components/badge.d.ts.map +1 -1
  320. package/dist/esm/components/badge.js +1 -1
  321. package/dist/esm/components/blockquote.js +1 -1
  322. package/dist/esm/components/box.js +1 -1
  323. package/dist/esm/components/button.js +1 -1
  324. package/dist/esm/components/callout.js +1 -1
  325. package/dist/esm/components/card.js +1 -1
  326. package/dist/esm/components/chatbar.js +1 -1
  327. package/dist/esm/components/checkbox-cards.js +1 -1
  328. package/dist/esm/components/checkbox-group.js +1 -1
  329. package/dist/esm/components/checkbox.js +1 -1
  330. package/dist/esm/components/code.js +1 -1
  331. package/dist/esm/components/combobox.js +1 -1
  332. package/dist/esm/components/container.js +1 -1
  333. package/dist/esm/components/context-menu.d.ts.map +1 -1
  334. package/dist/esm/components/context-menu.js +1 -1
  335. package/dist/esm/components/data-list.js +1 -1
  336. package/dist/esm/components/dialog.d.ts.map +1 -1
  337. package/dist/esm/components/dialog.js +1 -1
  338. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  339. package/dist/esm/components/dropdown-menu.js +1 -1
  340. package/dist/esm/components/em.js +1 -1
  341. package/dist/esm/components/flex.js +1 -1
  342. package/dist/esm/components/grid.js +1 -1
  343. package/dist/esm/components/heading.js +1 -1
  344. package/dist/esm/components/hover-card.js +1 -1
  345. package/dist/esm/components/icon-button.js +1 -1
  346. package/dist/esm/components/image.js +1 -1
  347. package/dist/esm/components/index.js +1 -1
  348. package/dist/esm/components/inset.js +1 -1
  349. package/dist/esm/components/kbd.js +1 -1
  350. package/dist/esm/components/link.js +1 -1
  351. package/dist/esm/components/navbar.js +1 -1
  352. package/dist/esm/components/popover.js +1 -1
  353. package/dist/esm/components/progress.js +1 -1
  354. package/dist/esm/components/quote.js +1 -1
  355. package/dist/esm/components/radio-cards.js +1 -1
  356. package/dist/esm/components/radio-group.js +1 -1
  357. package/dist/esm/components/radio.js +1 -1
  358. package/dist/esm/components/schemas/base-button.schema.d.ts +2 -2
  359. package/dist/esm/components/schemas/button.schema.d.ts +2 -2
  360. package/dist/esm/components/schemas/icon-button.schema.d.ts +4 -4
  361. package/dist/esm/components/schemas/shell.schema.d.ts +2 -2
  362. package/dist/esm/components/schemas/toggle-button.schema.d.ts +6 -6
  363. package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts +8 -8
  364. package/dist/esm/components/scroll-area.js +1 -1
  365. package/dist/esm/components/section.js +1 -1
  366. package/dist/esm/components/segmented-control.js +1 -1
  367. package/dist/esm/components/select.js +1 -1
  368. package/dist/esm/components/separator.js +1 -1
  369. package/dist/esm/components/sheet.d.ts.map +1 -1
  370. package/dist/esm/components/sheet.js +1 -1
  371. package/dist/esm/components/shell.js +1 -1
  372. package/dist/esm/components/sidebar.js +1 -1
  373. package/dist/esm/components/skeleton.js +1 -1
  374. package/dist/esm/components/slider.js +1 -1
  375. package/dist/esm/components/spinner.js +1 -1
  376. package/dist/esm/components/strong.js +1 -1
  377. package/dist/esm/components/switch.js +1 -1
  378. package/dist/esm/components/tab-nav.js +1 -1
  379. package/dist/esm/components/table.js +1 -1
  380. package/dist/esm/components/tabs.js +1 -1
  381. package/dist/esm/components/text-area.js +1 -1
  382. package/dist/esm/components/text-field.js +1 -1
  383. package/dist/esm/components/text.js +1 -1
  384. package/dist/esm/components/theme-panel.js +1 -1
  385. package/dist/esm/components/theme.d.ts +3 -0
  386. package/dist/esm/components/theme.d.ts.map +1 -1
  387. package/dist/esm/components/theme.js +1 -1
  388. package/dist/esm/components/theme.props.d.ts +15 -1
  389. package/dist/esm/components/theme.props.d.ts.map +1 -1
  390. package/dist/esm/components/theme.props.js +1 -1
  391. package/dist/esm/components/toggle-button.js +1 -1
  392. package/dist/esm/components/toggle-icon-button.js +1 -1
  393. package/dist/esm/components/toolbar.js +1 -1
  394. package/dist/esm/components/tooltip.js +1 -1
  395. package/dist/esm/components/user-card.js +1 -1
  396. package/dist/esm/helpers/compile-prop-defs.d.ts +49 -0
  397. package/dist/esm/helpers/compile-prop-defs.d.ts.map +1 -0
  398. package/dist/esm/helpers/compile-prop-defs.js +2 -0
  399. package/dist/esm/helpers/compile-prop-defs.js.map +7 -0
  400. package/dist/esm/helpers/extract-props.d.ts.map +1 -1
  401. package/dist/esm/helpers/extract-props.js +1 -1
  402. package/dist/esm/helpers/font-config.d.ts +84 -77
  403. package/dist/esm/helpers/font-config.d.ts.map +1 -1
  404. package/dist/esm/helpers/font-config.js +1 -1
  405. package/dist/esm/helpers/get-margin-styles.d.ts.map +1 -1
  406. package/dist/esm/helpers/get-margin-styles.js +1 -1
  407. package/dist/esm/helpers/get-responsive-styles.d.ts +5 -2
  408. package/dist/esm/helpers/get-responsive-styles.d.ts.map +1 -1
  409. package/dist/esm/helpers/get-responsive-styles.js +1 -1
  410. package/dist/esm/helpers/index.js +1 -1
  411. package/dist/esm/helpers/use-deprecation-warning.d.ts +10 -0
  412. package/dist/esm/helpers/use-deprecation-warning.d.ts.map +1 -0
  413. package/dist/esm/helpers/use-deprecation-warning.js +2 -0
  414. package/dist/esm/helpers/use-deprecation-warning.js.map +7 -0
  415. package/dist/esm/hooks/index.js +1 -1
  416. package/dist/esm/hooks/use-body-pointer-events-cleanup.d.ts.map +1 -1
  417. package/dist/esm/hooks/use-body-pointer-events-cleanup.js +1 -1
  418. package/dist/esm/hooks/use-breakpoint.d.ts +7 -3
  419. package/dist/esm/hooks/use-breakpoint.d.ts.map +1 -1
  420. package/dist/esm/hooks/use-breakpoint.js +1 -1
  421. package/dist/esm/hooks/use-prop-synced-state.d.ts +14 -0
  422. package/dist/esm/hooks/use-prop-synced-state.d.ts.map +1 -0
  423. package/dist/esm/hooks/use-prop-synced-state.js +2 -0
  424. package/dist/esm/hooks/use-prop-synced-state.js.map +7 -0
  425. package/dist/esm/index.js +1 -1
  426. package/dist/esm/props/index.js +1 -1
  427. package/fonts.css +8 -0
  428. package/package.json +18 -7
  429. package/schemas/base-button.json +0 -1
  430. package/schemas/button.json +0 -1
  431. package/schemas/icon-button.json +0 -1
  432. package/schemas/index.json +0 -6
  433. package/schemas/toggle-button.json +0 -1
  434. package/schemas/toggle-icon-button.json +0 -1
  435. package/src/components/_internal/base-button.css +2 -2
  436. package/src/components/_internal/base-button.tsx +3 -58
  437. package/src/components/_internal/base-card.css +19 -4
  438. package/src/components/_internal/base-checkbox.css +2 -2
  439. package/src/components/_internal/base-dialog.css +7 -0
  440. package/src/components/_internal/base-menu.css +7 -0
  441. package/src/components/_internal/base-radio.css +2 -2
  442. package/src/components/_internal/base-sidebar.css +7 -0
  443. package/src/components/_internal/base-tab-list.css +2 -2
  444. package/src/components/_internal/shell-handles.tsx +27 -0
  445. package/src/components/accordion.css +6 -6
  446. package/src/components/accordion.tsx +2 -8
  447. package/src/components/alert-dialog.tsx +22 -20
  448. package/src/components/avatar.css +2 -2
  449. package/src/components/badge.css +2 -2
  450. package/src/components/badge.tsx +2 -8
  451. package/src/components/callout.css +2 -2
  452. package/src/components/chatbar.css +1 -1
  453. package/src/components/context-menu.tsx +2 -8
  454. package/src/components/dialog.tsx +22 -20
  455. package/src/components/dropdown-menu.tsx +2 -8
  456. package/src/components/heading.css +10 -3
  457. package/src/components/popover.css +7 -0
  458. package/src/components/progress.css +21 -8
  459. package/src/components/segmented-control.css +2 -2
  460. package/src/components/select.css +9 -2
  461. package/src/components/sheet.tsx +31 -28
  462. package/src/components/shell.css +106 -69
  463. package/src/components/slider.css +2 -2
  464. package/src/components/switch.css +2 -2
  465. package/src/components/table.css +7 -0
  466. package/src/components/text-area.css +2 -2
  467. package/src/components/text-field.css +2 -2
  468. package/src/components/text.css +10 -3
  469. package/src/components/theme.props.tsx +13 -1
  470. package/src/components/theme.tsx +53 -34
  471. package/src/helpers/compile-prop-defs.ts +121 -0
  472. package/src/helpers/extract-props.ts +104 -83
  473. package/src/helpers/font-config.ts +130 -148
  474. package/src/helpers/get-margin-styles.ts +38 -71
  475. package/src/helpers/get-responsive-styles.ts +37 -38
  476. package/src/helpers/use-deprecation-warning.ts +26 -0
  477. package/src/hooks/use-body-pointer-events-cleanup.ts +36 -6
  478. package/src/hooks/use-breakpoint.ts +94 -53
  479. package/src/hooks/use-prop-synced-state.ts +24 -0
  480. package/src/styles/fonts.css +24 -29
  481. package/src/styles/index.css +0 -1
  482. package/src/styles/tokens/base.css +1 -0
  483. package/src/styles/tokens/blur.css +28 -0
  484. package/src/styles/tokens/color.css +3 -3
  485. package/src/styles/tokens/constants.css +11 -0
  486. package/src/styles/tokens/font-family.css +263 -0
  487. package/src/styles/tokens/typography.css +2 -216
  488. package/styles.css +8776 -8727
  489. package/tokens/base.css +50 -30
  490. package/tokens.css +53 -30
  491. package/dist/esm/chunk-2SS3FA3N.js +0 -2
  492. package/dist/esm/chunk-2SS3FA3N.js.map +0 -7
  493. package/dist/esm/chunk-5U2Q23K3.js +0 -2
  494. package/dist/esm/chunk-5U2Q23K3.js.map +0 -7
  495. package/dist/esm/chunk-6ELPYR73.js +0 -2
  496. package/dist/esm/chunk-6ELPYR73.js.map +0 -7
  497. package/dist/esm/chunk-DZ4H2KTP.js +0 -2
  498. package/dist/esm/chunk-DZ4H2KTP.js.map +0 -7
  499. package/dist/esm/chunk-H4MMVAGQ.js +0 -2
  500. package/dist/esm/chunk-H4MMVAGQ.js.map +0 -7
  501. package/dist/esm/chunk-ITRVKLYU.js +0 -2
  502. package/dist/esm/chunk-ITRVKLYU.js.map +0 -7
  503. package/dist/esm/chunk-KCAFSCOV.js +0 -2
  504. package/dist/esm/chunk-KCAFSCOV.js.map +0 -7
  505. package/dist/esm/chunk-KMPBTEZH.js +0 -2
  506. package/dist/esm/chunk-KMPBTEZH.js.map +0 -7
  507. package/dist/esm/chunk-LN5SP46K.js +0 -2
  508. package/dist/esm/chunk-LN5SP46K.js.map +0 -7
  509. package/dist/esm/chunk-OKJNS7Z7.js +0 -2
  510. package/dist/esm/chunk-OKJNS7Z7.js.map +0 -7
  511. package/dist/esm/chunk-Q73Y5O5P.js +0 -2
  512. package/dist/esm/chunk-Q73Y5O5P.js.map +0 -7
  513. package/dist/esm/chunk-Q7P6BTVU.js +0 -3
  514. package/dist/esm/chunk-Q7P6BTVU.js.map +0 -7
  515. package/dist/esm/chunk-T27QHMW7.js +0 -2
  516. package/dist/esm/chunk-UUX42HBM.js +0 -2
  517. package/dist/esm/chunk-UUX42HBM.js.map +0 -7
  518. package/dist/esm/chunk-X7BD5FLE.js +0 -2
  519. package/dist/esm/chunk-X7BD5FLE.js.map +0 -7
  520. package/dist/esm/chunk-YEA646GM.js +0 -2
  521. package/dist/esm/chunk-YEA646GM.js.map +0 -7
  522. package/dist/esm/chunk-ZMEXIPWM.js +0 -2
  523. package/dist/esm/chunk-ZMEXIPWM.js.map +0 -7
  524. /package/dist/esm/{chunk-WYA4IRU6.js.map → chunk-25WZA7ZU.js.map} +0 -0
  525. /package/dist/esm/{chunk-ARGX2ZZK.js.map → chunk-2FYJTSOP.js.map} +0 -0
  526. /package/dist/esm/{chunk-K3R4AH3E.js.map → chunk-3MWWP4MW.js.map} +0 -0
  527. /package/dist/esm/{chunk-HQ35PM4O.js.map → chunk-43A5GUSI.js.map} +0 -0
  528. /package/dist/esm/{chunk-Z5DQ6FSA.js.map → chunk-4AQTUBVP.js.map} +0 -0
  529. /package/dist/esm/{chunk-QLIELX4I.js.map → chunk-4ME6O27S.js.map} +0 -0
  530. /package/dist/esm/{chunk-JQOFJNCV.js.map → chunk-4YFJWXL2.js.map} +0 -0
  531. /package/dist/esm/{chunk-IPJUHVM6.js.map → chunk-666GX7O5.js.map} +0 -0
  532. /package/dist/esm/{chunk-7CBAHIVG.js.map → chunk-6IGTK4JE.js.map} +0 -0
  533. /package/dist/esm/{chunk-DJBPM5QK.js.map → chunk-7FC7HF76.js.map} +0 -0
  534. /package/dist/esm/{chunk-SVLY6B5F.js.map → chunk-7QDTSBJF.js.map} +0 -0
  535. /package/dist/esm/{chunk-7MURQ6CR.js.map → chunk-A2RZGGMY.js.map} +0 -0
  536. /package/dist/esm/{chunk-VF5TRT3H.js.map → chunk-AU3D6F42.js.map} +0 -0
  537. /package/dist/esm/{chunk-DK5MHD6I.js.map → chunk-B24BDVG2.js.map} +0 -0
  538. /package/dist/esm/{chunk-BJTJUIYJ.js.map → chunk-CRWYCLTE.js.map} +0 -0
  539. /package/dist/esm/{chunk-OHJVFZMH.js.map → chunk-CSKZZOI2.js.map} +0 -0
  540. /package/dist/esm/{chunk-4N5JU7XQ.js.map → chunk-CVWCKOHO.js.map} +0 -0
  541. /package/dist/esm/{chunk-ADYTQCZX.js.map → chunk-D6B7IMZU.js.map} +0 -0
  542. /package/dist/esm/{chunk-U7AASKZI.js.map → chunk-DNHUQLXO.js.map} +0 -0
  543. /package/dist/esm/{chunk-USGTBZ43.js.map → chunk-E67CIG6A.js.map} +0 -0
  544. /package/dist/esm/{chunk-YUZPSUJE.js.map → chunk-F7IYL2VW.js.map} +0 -0
  545. /package/dist/esm/{chunk-FVCWNSRU.js.map → chunk-FHOCUZDR.js.map} +0 -0
  546. /package/dist/esm/{chunk-APRBRAOT.js.map → chunk-FXUUI6Z2.js.map} +0 -0
  547. /package/dist/esm/{chunk-WNSPLWRV.js.map → chunk-GJSGKE7B.js.map} +0 -0
  548. /package/dist/esm/{chunk-OGOOZLUD.js.map → chunk-GLERJXVS.js.map} +0 -0
  549. /package/dist/esm/{chunk-6VGPTAHM.js.map → chunk-GWXVETMF.js.map} +0 -0
  550. /package/dist/esm/{chunk-ES7MK2MM.js.map → chunk-GYBLXQ4R.js.map} +0 -0
  551. /package/dist/esm/{chunk-4OBMRJHC.js.map → chunk-H7ST535H.js.map} +0 -0
  552. /package/dist/esm/{chunk-QLZ5XAW6.js.map → chunk-HF5WY5YE.js.map} +0 -0
  553. /package/dist/esm/{chunk-RDP4UQ42.js.map → chunk-IEWCQU2S.js.map} +0 -0
  554. /package/dist/esm/{chunk-XLOHPURR.js.map → chunk-IHK3H2OM.js.map} +0 -0
  555. /package/dist/esm/{chunk-EJWAAFCI.js.map → chunk-IKSN4RNB.js.map} +0 -0
  556. /package/dist/esm/{chunk-3F6I7YOR.js.map → chunk-JDGJSNWT.js.map} +0 -0
  557. /package/dist/esm/{chunk-ZSEFZM5H.js.map → chunk-K6QZMNCD.js.map} +0 -0
  558. /package/dist/esm/{chunk-ZHYOJNWV.js.map → chunk-LKAK5GXF.js.map} +0 -0
  559. /package/dist/esm/{chunk-GWYFT3EI.js.map → chunk-M24UXMOQ.js.map} +0 -0
  560. /package/dist/esm/{chunk-JCYI4NTV.js.map → chunk-MBCBP73P.js.map} +0 -0
  561. /package/dist/esm/{chunk-UYNYUR7O.js.map → chunk-MBE2YSBU.js.map} +0 -0
  562. /package/dist/esm/{chunk-DNI4QRXQ.js.map → chunk-MOR3NSXQ.js.map} +0 -0
  563. /package/dist/esm/{chunk-H2G446JG.js.map → chunk-NMKPFUNP.js.map} +0 -0
  564. /package/dist/esm/{chunk-TEULZKBM.js.map → chunk-OGXZHAQL.js.map} +0 -0
  565. /package/dist/esm/{chunk-M3ZYJANH.js.map → chunk-OSRJRBKP.js.map} +0 -0
  566. /package/dist/esm/{chunk-2AEELIG6.js.map → chunk-OWAUCLRT.js.map} +0 -0
  567. /package/dist/esm/{chunk-7CXVHFMQ.js.map → chunk-P7HYVJSU.js.map} +0 -0
  568. /package/dist/esm/{chunk-4532RT2B.js.map → chunk-P7IAHW4V.js.map} +0 -0
  569. /package/dist/esm/{chunk-GLC4QJBF.js.map → chunk-PLWXTEVE.js.map} +0 -0
  570. /package/dist/esm/{chunk-SGU4HUHF.js.map → chunk-PTLFMWCN.js.map} +0 -0
  571. /package/dist/esm/{chunk-QOWA5LK5.js.map → chunk-QEOAXJLN.js.map} +0 -0
  572. /package/dist/esm/{chunk-XHQGMOXV.js.map → chunk-RMKXWYOV.js.map} +0 -0
  573. /package/dist/esm/{chunk-WZCZHCVE.js.map → chunk-S56YSRHP.js.map} +0 -0
  574. /package/dist/esm/{chunk-E6IWYD3U.js.map → chunk-S5C5YRBS.js.map} +0 -0
  575. /package/dist/esm/{chunk-A24PYRVV.js.map → chunk-SO67YEVQ.js.map} +0 -0
  576. /package/dist/esm/{chunk-RQ2ZPMHJ.js.map → chunk-TOLLPRMM.js.map} +0 -0
  577. /package/dist/esm/{chunk-HACQF6F4.js.map → chunk-TOOSHJOA.js.map} +0 -0
  578. /package/dist/esm/{chunk-42HFGCHX.js.map → chunk-UGD7Z3L4.js.map} +0 -0
  579. /package/dist/esm/{chunk-DXI5P5O4.js.map → chunk-VX6ARMWP.js.map} +0 -0
  580. /package/dist/esm/{chunk-25U7DENY.js.map → chunk-W7N7V5YD.js.map} +0 -0
  581. /package/dist/esm/{chunk-6FAICIYS.js.map → chunk-XMRIRFM7.js.map} +0 -0
  582. /package/dist/esm/{chunk-UIEUZLZZ.js.map → chunk-ZY6SQWHT.js.map} +0 -0
@@ -27,7 +27,7 @@
27
27
  --material-blend: 60%;
28
28
  --material-alpha: 1;
29
29
  backdrop-filter: var(--backdrop-filter-components);
30
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
30
+ --backdrop-filter-components: var(--backdrop-filter-components-enabled);
31
31
  }
32
32
 
33
33
  /* Prevent backdrop-filter stacking with parents */
@@ -45,7 +45,7 @@
45
45
  --material-blend: 60%;
46
46
  --material-alpha: 1;
47
47
  backdrop-filter: var(--backdrop-filter-components);
48
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
48
+ --backdrop-filter-components: var(--backdrop-filter-components-enabled);
49
49
  }
50
50
 
51
51
  /* Reduced motion support */
@@ -10,6 +10,7 @@ import { Tooltip } from './tooltip.js';
10
10
  import type { MarginProps } from '../props/margin.props.js';
11
11
  import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
12
12
  import type { GetPropDefTypes } from '../props/prop-def.js';
13
+ import { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';
13
14
 
14
15
  type BadgeElement = React.ElementRef<'span'>;
15
16
  type BadgeOwnProps = GetPropDefTypes<typeof badgePropDefs>;
@@ -52,14 +53,7 @@ const Badge = React.forwardRef<BadgeElement, BadgeProps>((props, forwardedRef) =
52
53
  [material, panelBackground],
53
54
  );
54
55
 
55
- // Show deprecation warning for panelBackground when used
56
- React.useEffect(() => {
57
- if (panelBackground !== undefined) {
58
- console.warn(
59
- 'Warning: The `panelBackground` prop is deprecated and will be removed in a future version. Use `material` prop instead.',
60
- );
61
- }
62
- }, [panelBackground]);
56
+ useDeprecatedPanelBackgroundWarning(panelBackground);
63
57
 
64
58
  // Memoize component variable to prevent unnecessary re-renders
65
59
  const Comp = React.useMemo(() => (asChild ? Slot.Root : 'span'), [asChild]);
@@ -17,7 +17,7 @@
17
17
  --material-blend: 60%;
18
18
  --material-alpha: 1;
19
19
  backdrop-filter: var(--backdrop-filter-components);
20
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
20
+ --backdrop-filter-components: var(--backdrop-filter-components-enabled);
21
21
  }
22
22
 
23
23
  /* Prevent backdrop-filter stacking with parents */
@@ -35,7 +35,7 @@
35
35
  --material-blend: 60%;
36
36
  --material-alpha: 1;
37
37
  backdrop-filter: var(--backdrop-filter-components);
38
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
38
+ --backdrop-filter-components: var(--backdrop-filter-components-enabled);
39
39
  }
40
40
 
41
41
  &:where(.rt-high-contrast) {
@@ -173,7 +173,7 @@
173
173
  /* Theme-level translucent override for the visual shell */
174
174
  .rt-ChatbarRoot:where([data-panel-background='translucent'], [data-material='translucent']) .rt-ChatbarBox {
175
175
  backdrop-filter: var(--backdrop-filter-components);
176
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
176
+ --backdrop-filter-components: var(--backdrop-filter-components-enabled);
177
177
  }
178
178
  .rt-ChatbarRoot:where([data-panel-background='solid'], [data-material='solid']) .rt-ChatbarBox {
179
179
  backdrop-filter: none;
@@ -23,6 +23,7 @@ import { Kbd } from './kbd.js';
23
23
 
24
24
  import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
25
25
  import type { GetPropDefTypes } from '../props/prop-def.js';
26
+ import { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';
26
27
 
27
28
  interface ContextMenuRootProps
28
29
  extends React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Root> {}
@@ -56,14 +57,7 @@ const ContextMenuContent = React.forwardRef<ContextMenuContentElement, ContextMe
56
57
  (props, forwardedRef) => {
57
58
  const themeContext = useThemeContext();
58
59
 
59
- // Show deprecation warning for panelBackground when used
60
- React.useEffect(() => {
61
- if (props.panelBackground !== undefined) {
62
- console.warn(
63
- 'Warning: The `panelBackground` prop is deprecated and will be removed in a future version. Use `material` prop instead.',
64
- );
65
- }
66
- }, [props.panelBackground]);
60
+ useDeprecatedPanelBackgroundWarning(props.panelBackground);
67
61
 
68
62
  // Material takes precedence over panelBackground
69
63
  const effectiveMaterial =
@@ -7,6 +7,7 @@ import { Heading } from './heading.js';
7
7
  import { Text } from './text.js';
8
8
  import { Theme } from './theme.js';
9
9
  import { extractProps } from '../helpers/extract-props.js';
10
+ import { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';
10
11
  import { requireReactElement } from '../helpers/require-react-element.js';
11
12
  import { useBodyPointerEventsCleanup } from '../hooks/use-body-pointer-events-cleanup.js';
12
13
 
@@ -33,6 +34,19 @@ const DialogTrigger = React.forwardRef<DialogTriggerElement, DialogTriggerProps>
33
34
  );
34
35
  DialogTrigger.displayName = 'Dialog.Trigger';
35
36
 
37
+ // Split once at module scope. `extractProps` memoises on the identity of the
38
+ // prop def objects it is handed, so rebuilding these per render would recompile
39
+ // them on every render.
40
+ const {
41
+ align: alignPropDef,
42
+ panelBackground: panelBackgroundPropDef,
43
+ material: materialPropDef,
44
+ ...contentPropDefs
45
+ } = dialogContentPropDefs;
46
+ const alignPropDefs = { align: alignPropDef };
47
+ const panelBackgroundPropDefs = { panelBackground: panelBackgroundPropDef };
48
+ const materialPropDefs = { material: materialPropDef };
49
+
36
50
  type DialogContentElement = React.ElementRef<typeof DialogPrimitive.Content>;
37
51
  interface DialogContentProps
38
52
  extends ComponentPropsWithout<typeof DialogPrimitive.Content, RemovedProps>,
@@ -41,35 +55,23 @@ interface DialogContentProps
41
55
  }
42
56
  const DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>(
43
57
  ({ align, ...props }, forwardedRef) => {
44
- const {
45
- align: alignPropDef,
46
- panelBackground: panelBackgroundPropDef,
47
- material: materialPropDef,
48
- ...propDefs
49
- } = dialogContentPropDefs;
50
-
51
- const { className: alignClassName } = extractProps({ align }, { align: alignPropDef });
58
+ const { className: alignClassName } = extractProps({ align }, alignPropDefs);
52
59
 
53
60
  // Extract panelBackground and material from props
54
61
  const { panelBackground: extractedPanelBackground } = extractProps(
55
62
  { panelBackground: props.panelBackground },
56
- { panelBackground: panelBackgroundPropDef },
63
+ panelBackgroundPropDefs,
57
64
  );
58
65
 
59
66
  const { material: extractedMaterial } = extractProps(
60
67
  { material: props.material },
61
- { material: materialPropDef },
68
+ materialPropDefs,
62
69
  );
63
70
 
64
- // Handle material prop with panelBackground fallback
65
- const materialValue = React.useMemo(() => {
66
- if (extractedMaterial !== undefined) {
67
- console.warn(
68
- 'Warning: The `panelBackground` prop is deprecated and will be removed in a future version. Use `material` prop instead.',
69
- );
70
- }
71
- return extractedMaterial ?? extractedPanelBackground;
72
- }, [extractedMaterial, extractedPanelBackground]);
71
+ useDeprecatedPanelBackgroundWarning(props.panelBackground);
72
+
73
+ // Material takes precedence over the deprecated panelBackground
74
+ const materialValue = extractedMaterial ?? extractedPanelBackground;
73
75
 
74
76
  const {
75
77
  className,
@@ -78,7 +80,7 @@ const DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>
78
80
  panelBackground: _,
79
81
  material: __,
80
82
  ...contentProps
81
- } = extractProps(props, propDefs);
83
+ } = extractProps(props, contentPropDefs);
82
84
 
83
85
  // Focus management
84
86
  const contentRef = React.useRef<HTMLDivElement>(null);
@@ -30,6 +30,7 @@ import { Kbd } from './kbd.js';
30
30
  import type { IconProps } from './icons.js';
31
31
  import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
32
32
  import type { GetPropDefTypes, Responsive } from '../props/prop-def.js';
33
+ import { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';
33
34
 
34
35
  interface DropdownMenuRootProps
35
36
  extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Root> {}
@@ -113,14 +114,7 @@ const DropdownMenuContent = React.forwardRef<DropdownMenuContentElement, Dropdow
113
114
  (props, forwardedRef) => {
114
115
  const themeContext = useThemeContext();
115
116
 
116
- // Show deprecation warning for panelBackground when used
117
- React.useEffect(() => {
118
- if (props.panelBackground !== undefined) {
119
- console.warn(
120
- 'Warning: The `panelBackground` prop is deprecated and will be removed in a future version. Use `material` prop instead.',
121
- );
122
- }
123
- }, [props.panelBackground]);
117
+ useDeprecatedPanelBackgroundWarning(props.panelBackground);
124
118
 
125
119
  // Material takes precedence over panelBackground
126
120
  const effectiveMaterial =
@@ -6,9 +6,16 @@
6
6
  font-weight: var(--font-weight-bold);
7
7
  line-height: var(--line-height);
8
8
 
9
- &:where(.rt-r-ff-sans) { font-family: var(--default-font-family-sans); }
10
- &:where(.rt-r-ff-mono) { font-family: var(--default-font-family-mono); }
11
- &:where(.rt-r-ff-serif) { font-family: var(--font-serif); }
9
+ /* `font` prop — all three resolve through the same tier-1 stacks. */
10
+ &:where(.rt-r-ff-sans) {
11
+ font-family: var(--font-sans);
12
+ }
13
+ &:where(.rt-r-ff-mono) {
14
+ font-family: var(--font-mono);
15
+ }
16
+ &:where(.rt-r-ff-serif) {
17
+ font-family: var(--font-serif);
18
+ }
12
19
 
13
20
  :where(&) {
14
21
  margin: 0;
@@ -1,4 +1,11 @@
1
1
  .rt-PopoverContent {
2
+ /*
3
+ * This surface blurs its own backdrop, which makes it the backdrop root for
4
+ * everything inside it. A component nested here would re-blur an already
5
+ * blurred, already flat surface for the full cost of another blur pass, so
6
+ * switch the component filter off for the subtree. See tokens/blur.css.
7
+ */
8
+ --backdrop-filter-components-enabled: none;
2
9
  /* Base state: use --color-panel which adapts to theme context */
3
10
  background-color: var(--color-panel);
4
11
  backdrop-filter: var(--backdrop-filter-panel);
@@ -15,7 +15,7 @@
15
15
  */
16
16
  :where([data-panel-background='translucent'], [data-material='translucent']) & {
17
17
  backdrop-filter: var(--backdrop-filter-components);
18
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
18
+ --backdrop-filter-components: var(--backdrop-filter-components-enabled);
19
19
  }
20
20
 
21
21
  /* Prevent backdrop-filter stacking with parent elements */
@@ -32,7 +32,7 @@
32
32
 
33
33
  &:where([data-panel-background='translucent'], [data-material='translucent']) {
34
34
  backdrop-filter: var(--backdrop-filter-components);
35
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
35
+ --backdrop-filter-components: var(--backdrop-filter-components-enabled);
36
36
  }
37
37
  }
38
38
 
@@ -40,8 +40,21 @@
40
40
  .rt-ProgressIndicator {
41
41
  display: block;
42
42
  height: var(--position-full);
43
- width: max(calc(var(--progress-value) / var(--progress-max) * 100%), var(--progress-height));
43
+ width: var(--position-full);
44
44
  border-radius: var(--progress-indicator-radius);
45
+
46
+ /*
47
+ * The bar is full width and slid into place rather than grown. `width` is a
48
+ * layout property: animating it re-lays-out on every frame, and the
49
+ * indeterminate animation never stops, so a visible bar reflowed forever.
50
+ * `.rt-ProgressRoot` clips the overhang. `max()` keeps a sliver of the bar
51
+ * visible at very low values, as the width form did.
52
+ */
53
+ transform: translateX(
54
+ calc(
55
+ -100% + max(calc(var(--progress-value) / var(--progress-max) * 100%), var(--progress-height))
56
+ )
57
+ );
45
58
  transition: var(--transition-progress);
46
59
 
47
60
  &:where([data-state='indeterminate']) {
@@ -55,20 +68,20 @@
55
68
 
56
69
  @keyframes rt-progress-indicator-indeterminate-grow {
57
70
  0% {
58
- width: calc(var(--progress-scale-initial) * 100%);
71
+ transform: translateX(calc(-100% + var(--progress-scale-initial) * 100%));
59
72
  }
60
73
  20% {
61
- width: calc(var(--progress-scale-step-1) * 100%);
74
+ transform: translateX(calc(-100% + var(--progress-scale-step-1) * 100%));
62
75
  }
63
76
  30% {
64
- width: calc(var(--progress-scale-step-2) * 100%);
77
+ transform: translateX(calc(-100% + var(--progress-scale-step-2) * 100%));
65
78
  }
66
79
  40%,
67
80
  50% {
68
- width: calc(var(--progress-scale-step-3) * 100%);
81
+ transform: translateX(calc(-100% + var(--progress-scale-step-3) * 100%));
69
82
  }
70
83
  100% {
71
- width: calc(var(--progress-scale-final) * 100%);
84
+ transform: translateX(calc(-100% + var(--progress-scale-final) * 100%));
72
85
  }
73
86
  }
74
87
 
@@ -32,7 +32,7 @@
32
32
  */
33
33
  :where([data-panel-background='translucent'], [data-material='translucent']) & {
34
34
  backdrop-filter: var(--backdrop-filter-components);
35
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
35
+ --backdrop-filter-components: var(--backdrop-filter-components-enabled);
36
36
  }
37
37
 
38
38
  /*
@@ -46,7 +46,7 @@
46
46
 
47
47
  &:where([data-panel-background='translucent'], [data-material='translucent']) {
48
48
  backdrop-filter: var(--backdrop-filter-components);
49
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
49
+ --backdrop-filter-components: var(--backdrop-filter-components-enabled);
50
50
  }
51
51
 
52
52
  /* Disable backdrop-filter when inside elements that already have backdrop-filter */
@@ -16,7 +16,7 @@
16
16
  /* Theme-level translucent override */
17
17
  :where([data-panel-background='translucent'], [data-material='translucent']) & {
18
18
  backdrop-filter: var(--backdrop-filter-components);
19
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
19
+ --backdrop-filter-components: var(--backdrop-filter-components-enabled);
20
20
  }
21
21
 
22
22
  /* Prevent backdrop-filter stacking with parents */
@@ -30,7 +30,7 @@
30
30
 
31
31
  &:where([data-panel-background='translucent'], [data-material='translucent']) {
32
32
  backdrop-filter: var(--backdrop-filter-components);
33
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
33
+ --backdrop-filter-components: var(--backdrop-filter-components-enabled);
34
34
  }
35
35
 
36
36
  &:where(.rt-high-contrast) {
@@ -71,6 +71,13 @@
71
71
  }
72
72
 
73
73
  .rt-SelectContent {
74
+ /*
75
+ * This surface blurs its own backdrop, which makes it the backdrop root for
76
+ * everything inside it. A component nested here would re-blur an already
77
+ * blurred, already flat surface for the full cost of another blur pass, so
78
+ * switch the component filter off for the subtree. See tokens/blur.css.
79
+ */
80
+ --backdrop-filter-components-enabled: none;
74
81
  --scrollarea-scrollbar-vertical-margin-top: var(--select-content-padding);
75
82
  --scrollarea-scrollbar-vertical-margin-bottom: var(--select-content-padding);
76
83
  --scrollarea-scrollbar-horizontal-margin-left: var(--select-content-padding);
@@ -43,6 +43,7 @@ import { Theme } from './theme.js';
43
43
  import { Heading } from './heading.js';
44
44
  import { Text } from './text.js';
45
45
  import { extractProps } from '../helpers/extract-props.js';
46
+ import { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';
46
47
  import { requireReactElement } from '../helpers/require-react-element.js';
47
48
  import { useBodyPointerEventsCleanup } from '../hooks/use-body-pointer-events-cleanup.js';
48
49
 
@@ -85,6 +86,30 @@ Trigger.displayName = 'Sheet.Trigger';
85
86
 
86
87
  // Content
87
88
  /** Element type for `Sheet.Content`. */
89
+ // Reuse dialog content prop defs for size/width/height tokens, but handle
90
+ // material/panelBackground explicitly to avoid forwarding unknown DOM props.
91
+ // Built once at module scope: `extractProps` memoises on the identity of the
92
+ // prop def objects it is handed, so rebuilding these per render would recompile
93
+ // them every time a sheet renders.
94
+ const {
95
+ align: _alignPropDef,
96
+ panelBackground: panelBackgroundPropDef,
97
+ material: materialPropDef,
98
+ ...dialogPropDefsForSheet
99
+ } = dialogContentPropDefs;
100
+
101
+ const materialPropDefs = {
102
+ panelBackground: panelBackgroundPropDef,
103
+ material: materialPropDef,
104
+ };
105
+
106
+ // Override dialog's default maxWidth (600px) to avoid clamping Sheet by default
107
+ const { default: _mwDefault, ...maxWidthWithoutDefault } = dialogPropDefsForSheet.maxWidth;
108
+ const sheetPropDefs = {
109
+ ...dialogPropDefsForSheet,
110
+ maxWidth: maxWidthWithoutDefault,
111
+ } as typeof dialogPropDefsForSheet;
112
+
88
113
  type SheetContentElement = React.ElementRef<typeof DialogPrimitive.Content>;
89
114
  interface SheetContentProps
90
115
  extends ComponentPropsWithout<typeof DialogPrimitive.Content, RemovedProps>,
@@ -120,40 +145,18 @@ const Content = React.forwardRef<SheetContentElement, SheetContentProps>(
120
145
  bottom: 'bottom',
121
146
  };
122
147
  const normalizedSide = normalizedSideMap[side];
123
- // Reuse dialog content prop defs for size/width/height tokens, but handle
124
- // material/panelBackground explicitly to avoid forwarding unknown DOM props.
125
- const {
126
- align: _alignPropDef,
127
- panelBackground: panelBackgroundPropDef,
128
- material: materialPropDef,
129
- ...propDefs
130
- } = dialogContentPropDefs;
131
-
132
148
  // Extract panelBackground and material together (remove from DOM props)
133
149
  const { panelBackground: resolvedPanelBackground, material: resolvedMaterial } = extractProps(
134
150
  { panelBackground: panelBackgroundProp, material: materialProp },
135
- { panelBackground: panelBackgroundPropDef, material: materialPropDef },
151
+ materialPropDefs,
136
152
  );
137
153
 
138
- const materialValue = React.useMemo(() => {
139
- if (resolvedPanelBackground !== undefined) {
140
- if (process.env.NODE_ENV !== 'production') {
141
- console.warn(
142
- 'Warning: The `panelBackground` prop is deprecated and will be removed in a future version. Use the `material` prop instead.',
143
- );
144
- }
145
- }
146
- return resolvedMaterial ?? resolvedPanelBackground;
147
- }, [resolvedMaterial, resolvedPanelBackground]);
154
+ useDeprecatedPanelBackgroundWarning(panelBackgroundProp);
155
+
156
+ // Material takes precedence over the deprecated panelBackground
157
+ const materialValue = resolvedMaterial ?? resolvedPanelBackground;
148
158
 
149
- // Now extract remaining props using dialog defs so size/width/height classnames are applied
150
- // Override dialog's default maxWidth (600px) to avoid clamping Sheet by default
151
- // Match dialog.tsx: extract once and avoid leaking panel/material
152
- const { default: _mwDefault, ...maxWidthWithoutDefault } = propDefs.maxWidth;
153
- const sheetPropDefs = {
154
- ...propDefs,
155
- maxWidth: maxWidthWithoutDefault,
156
- } as typeof propDefs;
159
+ // Size/width/height class names come from the dialog defs — see `sheetPropDefs`.
157
160
  const { className: extractedClassName, ...contentProps } = extractProps(
158
161
  restProps,
159
162
  sheetPropDefs,