@womp/kookie-ui 0.17.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (569) hide show
  1. package/components.css +1397 -2626
  2. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  3. package/dist/cjs/components/_internal/base-button.js +1 -1
  4. package/dist/cjs/components/_internal/base-button.js.map +4 -4
  5. package/dist/cjs/components/_internal/base-checkbox.props.d.ts +1 -1
  6. package/dist/cjs/components/_internal/base-checkbox.props.js +1 -1
  7. package/dist/cjs/components/_internal/base-checkbox.props.js.map +2 -2
  8. package/dist/cjs/components/_internal/base-radio.props.d.ts +1 -1
  9. package/dist/cjs/components/_internal/base-radio.props.js +1 -1
  10. package/dist/cjs/components/_internal/base-radio.props.js.map +2 -2
  11. package/dist/cjs/components/_internal/pane-chrome.js +1 -1
  12. package/dist/cjs/components/_internal/pane-chrome.js.map +3 -3
  13. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  14. package/dist/cjs/components/_internal/shell-sidebar.js.map +3 -3
  15. package/dist/cjs/components/accordion.d.ts.map +1 -1
  16. package/dist/cjs/components/accordion.js +1 -1
  17. package/dist/cjs/components/accordion.js.map +4 -4
  18. package/dist/cjs/components/alert-dialog.js +1 -1
  19. package/dist/cjs/components/alert-dialog.js.map +4 -4
  20. package/dist/cjs/components/badge.js +1 -1
  21. package/dist/cjs/components/badge.js.map +4 -4
  22. package/dist/cjs/components/badge.props.d.ts +1 -1
  23. package/dist/cjs/components/badge.props.js +1 -1
  24. package/dist/cjs/components/badge.props.js.map +1 -1
  25. package/dist/cjs/components/button.js +2 -2
  26. package/dist/cjs/components/button.js.map +4 -4
  27. package/dist/cjs/components/chatbar.d.ts.map +1 -1
  28. package/dist/cjs/components/chatbar.js +2 -2
  29. package/dist/cjs/components/chatbar.js.map +4 -4
  30. package/dist/cjs/components/checkbox-cards.js +1 -1
  31. package/dist/cjs/components/checkbox-cards.js.map +2 -2
  32. package/dist/cjs/components/checkbox-group.d.ts.map +1 -1
  33. package/dist/cjs/components/checkbox-group.js +1 -1
  34. package/dist/cjs/components/checkbox-group.js.map +4 -4
  35. package/dist/cjs/components/checkbox-group.props.d.ts +1 -1
  36. package/dist/cjs/components/checkbox-group.props.js +1 -1
  37. package/dist/cjs/components/checkbox-group.props.js.map +2 -2
  38. package/dist/cjs/components/checkbox.d.ts.map +1 -1
  39. package/dist/cjs/components/checkbox.js +1 -1
  40. package/dist/cjs/components/checkbox.js.map +4 -4
  41. package/dist/cjs/components/checkbox.props.js +1 -1
  42. package/dist/cjs/components/checkbox.props.js.map +2 -2
  43. package/dist/cjs/components/combobox.d.ts.map +1 -1
  44. package/dist/cjs/components/combobox.js +1 -1
  45. package/dist/cjs/components/combobox.js.map +4 -4
  46. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  47. package/dist/cjs/components/context-menu.js +1 -1
  48. package/dist/cjs/components/context-menu.js.map +4 -4
  49. package/dist/cjs/components/data-list.d.ts.map +1 -1
  50. package/dist/cjs/components/data-list.js +1 -1
  51. package/dist/cjs/components/data-list.js.map +4 -4
  52. package/dist/cjs/components/dialog.js +1 -1
  53. package/dist/cjs/components/dialog.js.map +4 -4
  54. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  55. package/dist/cjs/components/dropdown-menu.js +1 -1
  56. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  57. package/dist/cjs/components/hover-card.d.ts.map +1 -1
  58. package/dist/cjs/components/hover-card.js +1 -1
  59. package/dist/cjs/components/hover-card.js.map +4 -4
  60. package/dist/cjs/components/icon-button.js +2 -2
  61. package/dist/cjs/components/icon-button.js.map +4 -4
  62. package/dist/cjs/components/index.js +5 -5
  63. package/dist/cjs/components/index.js.map +4 -4
  64. package/dist/cjs/components/message-scroller.js +2 -2
  65. package/dist/cjs/components/message-scroller.js.map +4 -4
  66. package/dist/cjs/components/navbar.d.ts.map +1 -1
  67. package/dist/cjs/components/navbar.js +1 -1
  68. package/dist/cjs/components/navbar.js.map +4 -4
  69. package/dist/cjs/components/notice.d.ts +1 -1
  70. package/dist/cjs/components/notice.d.ts.map +1 -1
  71. package/dist/cjs/components/notice.js +2 -2
  72. package/dist/cjs/components/notice.js.map +4 -4
  73. package/dist/cjs/components/popover.d.ts.map +1 -1
  74. package/dist/cjs/components/popover.js +1 -1
  75. package/dist/cjs/components/popover.js.map +4 -4
  76. package/dist/cjs/components/progress.js +1 -1
  77. package/dist/cjs/components/progress.js.map +3 -3
  78. package/dist/cjs/components/progress.props.d.ts +0 -7
  79. package/dist/cjs/components/progress.props.d.ts.map +1 -1
  80. package/dist/cjs/components/progress.props.js +1 -1
  81. package/dist/cjs/components/progress.props.js.map +3 -3
  82. package/dist/cjs/components/radio-group.d.ts.map +1 -1
  83. package/dist/cjs/components/radio-group.js +1 -1
  84. package/dist/cjs/components/radio-group.js.map +4 -4
  85. package/dist/cjs/components/radio-group.props.d.ts +1 -1
  86. package/dist/cjs/components/radio-group.props.js +1 -1
  87. package/dist/cjs/components/radio-group.props.js.map +2 -2
  88. package/dist/cjs/components/radio.d.ts.map +1 -1
  89. package/dist/cjs/components/radio.js +1 -1
  90. package/dist/cjs/components/radio.js.map +4 -4
  91. package/dist/cjs/components/radio.props.js +1 -1
  92. package/dist/cjs/components/radio.props.js.map +2 -2
  93. package/dist/cjs/components/scroll-area.d.ts.map +1 -1
  94. package/dist/cjs/components/scroll-area.js +1 -1
  95. package/dist/cjs/components/scroll-area.js.map +3 -3
  96. package/dist/cjs/components/scroll-area.props.d.ts +0 -7
  97. package/dist/cjs/components/scroll-area.props.d.ts.map +1 -1
  98. package/dist/cjs/components/scroll-area.props.js +1 -1
  99. package/dist/cjs/components/scroll-area.props.js.map +3 -3
  100. package/dist/cjs/components/segmented-control.d.ts.map +1 -1
  101. package/dist/cjs/components/segmented-control.js +1 -1
  102. package/dist/cjs/components/segmented-control.js.map +4 -4
  103. package/dist/cjs/components/select.d.ts.map +1 -1
  104. package/dist/cjs/components/select.js +1 -1
  105. package/dist/cjs/components/select.js.map +4 -4
  106. package/dist/cjs/components/separator.js +1 -1
  107. package/dist/cjs/components/separator.js.map +3 -3
  108. package/dist/cjs/components/separator.props.d.ts +0 -7
  109. package/dist/cjs/components/separator.props.d.ts.map +1 -1
  110. package/dist/cjs/components/separator.props.js +1 -1
  111. package/dist/cjs/components/separator.props.js.map +3 -3
  112. package/dist/cjs/components/sheet.js +1 -1
  113. package/dist/cjs/components/sheet.js.map +4 -4
  114. package/dist/cjs/components/shell.d.ts +1 -1
  115. package/dist/cjs/components/shell.d.ts.map +1 -1
  116. package/dist/cjs/components/shell.js +1 -1
  117. package/dist/cjs/components/shell.js.map +4 -4
  118. package/dist/cjs/components/sidebar.js +1 -1
  119. package/dist/cjs/components/sidebar.js.map +4 -4
  120. package/dist/cjs/components/slider.d.ts.map +1 -1
  121. package/dist/cjs/components/slider.js +1 -1
  122. package/dist/cjs/components/slider.js.map +4 -4
  123. package/dist/cjs/components/spinner.js +1 -1
  124. package/dist/cjs/components/spinner.js.map +3 -3
  125. package/dist/cjs/components/spinner.props.d.ts +0 -7
  126. package/dist/cjs/components/spinner.props.d.ts.map +1 -1
  127. package/dist/cjs/components/spinner.props.js +1 -1
  128. package/dist/cjs/components/spinner.props.js.map +3 -3
  129. package/dist/cjs/components/switch.d.ts.map +1 -1
  130. package/dist/cjs/components/switch.js +1 -1
  131. package/dist/cjs/components/switch.js.map +4 -4
  132. package/dist/cjs/components/tab-nav.d.ts.map +1 -1
  133. package/dist/cjs/components/tab-nav.js +1 -1
  134. package/dist/cjs/components/tab-nav.js.map +4 -4
  135. package/dist/cjs/components/table.d.ts.map +1 -1
  136. package/dist/cjs/components/table.js +1 -1
  137. package/dist/cjs/components/table.js.map +4 -4
  138. package/dist/cjs/components/table.props.d.ts +1 -1
  139. package/dist/cjs/components/table.props.js +1 -1
  140. package/dist/cjs/components/table.props.js.map +2 -2
  141. package/dist/cjs/components/tabs.d.ts.map +1 -1
  142. package/dist/cjs/components/tabs.js +1 -1
  143. package/dist/cjs/components/tabs.js.map +4 -4
  144. package/dist/cjs/components/text-area.d.ts.map +1 -1
  145. package/dist/cjs/components/text-area.js +1 -1
  146. package/dist/cjs/components/text-area.js.map +4 -4
  147. package/dist/cjs/components/text-field.d.ts.map +1 -1
  148. package/dist/cjs/components/text-field.js +2 -2
  149. package/dist/cjs/components/text-field.js.map +4 -4
  150. package/dist/cjs/components/theme-panel.js +3 -3
  151. package/dist/cjs/components/theme-panel.js.map +4 -4
  152. package/dist/cjs/components/theme.d.ts +3 -0
  153. package/dist/cjs/components/theme.d.ts.map +1 -1
  154. package/dist/cjs/components/theme.js +1 -1
  155. package/dist/cjs/components/theme.js.map +4 -4
  156. package/dist/cjs/components/theme.props.d.ts +12 -0
  157. package/dist/cjs/components/theme.props.d.ts.map +1 -1
  158. package/dist/cjs/components/theme.props.js +1 -1
  159. package/dist/cjs/components/theme.props.js.map +3 -3
  160. package/dist/cjs/components/toggle-button.js +3 -3
  161. package/dist/cjs/components/toggle-button.js.map +4 -4
  162. package/dist/cjs/components/toggle-icon-button.js +3 -3
  163. package/dist/cjs/components/toggle-icon-button.js.map +4 -4
  164. package/dist/cjs/components/toolbar.d.ts.map +1 -1
  165. package/dist/cjs/components/toolbar.js +2 -2
  166. package/dist/cjs/components/toolbar.js.map +4 -4
  167. package/dist/cjs/components/tooltip.js +1 -1
  168. package/dist/cjs/components/tooltip.js.map +4 -4
  169. package/dist/cjs/helpers/index.d.ts +1 -0
  170. package/dist/cjs/helpers/index.d.ts.map +1 -1
  171. package/dist/cjs/helpers/index.js +3 -3
  172. package/dist/cjs/helpers/index.js.map +4 -4
  173. package/dist/cjs/helpers/map-prop-values.d.ts +1 -4
  174. package/dist/cjs/helpers/map-prop-values.d.ts.map +1 -1
  175. package/dist/cjs/helpers/map-prop-values.js +1 -1
  176. package/dist/cjs/helpers/map-prop-values.js.map +3 -3
  177. package/dist/cjs/helpers/theme-size.d.ts +41 -0
  178. package/dist/cjs/helpers/theme-size.d.ts.map +1 -0
  179. package/dist/cjs/helpers/theme-size.js +2 -0
  180. package/dist/cjs/helpers/theme-size.js.map +7 -0
  181. package/dist/cjs/index.js +7 -7
  182. package/dist/cjs/index.js.map +4 -4
  183. package/dist/cjs/props/index.js +1 -1
  184. package/dist/cjs/props/index.js.map +3 -3
  185. package/dist/esm/{chunk-XZ5XZS5O.js → chunk-35HNDWWM.js} +2 -2
  186. package/dist/esm/chunk-3YLYGKFB.js +2 -0
  187. package/dist/esm/chunk-3YLYGKFB.js.map +7 -0
  188. package/dist/esm/chunk-4DE3ONED.js +2 -0
  189. package/dist/esm/chunk-4DE3ONED.js.map +7 -0
  190. package/dist/esm/chunk-4M55YJMR.js +2 -0
  191. package/dist/esm/chunk-4M55YJMR.js.map +7 -0
  192. package/dist/esm/chunk-4YQXYWDQ.js +2 -0
  193. package/dist/esm/chunk-4YQXYWDQ.js.map +7 -0
  194. package/dist/esm/chunk-54KMG7NX.js +2 -0
  195. package/dist/esm/chunk-54KMG7NX.js.map +7 -0
  196. package/dist/esm/chunk-5R2WX2FU.js +2 -0
  197. package/dist/esm/chunk-5R2WX2FU.js.map +7 -0
  198. package/dist/esm/chunk-5VBJT2VY.js +2 -0
  199. package/dist/esm/chunk-5VBJT2VY.js.map +7 -0
  200. package/dist/esm/chunk-6AZV4VFW.js +2 -0
  201. package/dist/esm/chunk-6AZV4VFW.js.map +7 -0
  202. package/dist/esm/{chunk-YDRFILTX.js → chunk-6YWDEANN.js} +2 -2
  203. package/dist/esm/{chunk-MZQDDG5K.js → chunk-7FZPCM7W.js} +2 -2
  204. package/dist/esm/chunk-7J2QS2UT.js +5 -0
  205. package/dist/esm/chunk-7J2QS2UT.js.map +7 -0
  206. package/dist/esm/chunk-ABS275QZ.js +2 -0
  207. package/dist/esm/chunk-AKPAHQYE.js +2 -0
  208. package/dist/esm/chunk-AKPAHQYE.js.map +7 -0
  209. package/dist/esm/chunk-BN24ZBO7.js +2 -0
  210. package/dist/esm/chunk-BN24ZBO7.js.map +7 -0
  211. package/dist/esm/chunk-BZ6YBP2S.js +2 -0
  212. package/dist/esm/chunk-BZ6YBP2S.js.map +7 -0
  213. package/dist/esm/chunk-CHPZ3LNC.js +2 -0
  214. package/dist/esm/chunk-CHPZ3LNC.js.map +7 -0
  215. package/dist/esm/chunk-CRK34MWY.js +2 -0
  216. package/dist/esm/chunk-CRK34MWY.js.map +7 -0
  217. package/dist/esm/{chunk-YZABQ4LS.js → chunk-DFSW4QR4.js} +2 -2
  218. package/dist/esm/{chunk-SM27AC7E.js → chunk-DJFTDR6Y.js} +2 -2
  219. package/dist/esm/chunk-EA2XSEFH.js +2 -0
  220. package/dist/esm/chunk-EA2XSEFH.js.map +7 -0
  221. package/dist/esm/{chunk-CRYT55SY.js → chunk-EHUSLPWN.js} +2 -2
  222. package/dist/esm/chunk-ENSDQ3XQ.js +2 -0
  223. package/dist/esm/chunk-ENSDQ3XQ.js.map +7 -0
  224. package/dist/esm/chunk-F3XBIUXB.js +2 -0
  225. package/dist/esm/chunk-F3XBIUXB.js.map +7 -0
  226. package/dist/esm/chunk-GHD3TKCA.js +2 -0
  227. package/dist/esm/chunk-GHD3TKCA.js.map +7 -0
  228. package/dist/esm/chunk-GQBQHGEF.js +2 -0
  229. package/dist/esm/chunk-GQBQHGEF.js.map +7 -0
  230. package/dist/esm/{chunk-6XHM724Y.js → chunk-GTVFQXLJ.js} +2 -2
  231. package/dist/esm/chunk-HIEGLLY7.js +2 -0
  232. package/dist/esm/chunk-HIEGLLY7.js.map +7 -0
  233. package/dist/esm/chunk-HZYE46V2.js +2 -0
  234. package/dist/esm/chunk-HZYE46V2.js.map +7 -0
  235. package/dist/esm/chunk-IWT3Q2PD.js +2 -0
  236. package/dist/esm/chunk-IWT3Q2PD.js.map +7 -0
  237. package/dist/esm/chunk-JCRBBT4X.js +2 -0
  238. package/dist/esm/chunk-JCRBBT4X.js.map +7 -0
  239. package/dist/esm/chunk-KFQ4B5YC.js +2 -0
  240. package/dist/esm/chunk-KFQ4B5YC.js.map +7 -0
  241. package/dist/esm/{chunk-6HRBG5H2.js → chunk-KPPIW4OJ.js} +2 -2
  242. package/dist/esm/{chunk-6WFEMPCF.js → chunk-KRXCFIRK.js} +2 -2
  243. package/dist/esm/{chunk-5SQL4ZRC.js → chunk-KSZOVI57.js} +2 -2
  244. package/dist/esm/{chunk-5SQL4ZRC.js.map → chunk-KSZOVI57.js.map} +1 -1
  245. package/dist/esm/{chunk-COSHAOEK.js → chunk-MJEYJI5G.js} +2 -2
  246. package/dist/esm/chunk-MLXHD7YF.js +2 -0
  247. package/dist/esm/chunk-MLXHD7YF.js.map +7 -0
  248. package/dist/esm/{chunk-CG54MBMW.js → chunk-MPN33CKR.js} +2 -2
  249. package/dist/esm/chunk-MQDZBF4J.js +2 -0
  250. package/dist/esm/chunk-MQDZBF4J.js.map +7 -0
  251. package/dist/esm/{chunk-IGBEDJBC.js → chunk-NFVOEHZS.js} +2 -2
  252. package/dist/esm/{chunk-ORMCQAPS.js → chunk-PAQS6C2A.js} +2 -2
  253. package/dist/esm/chunk-PUVZFRTQ.js +2 -0
  254. package/dist/esm/chunk-PUVZFRTQ.js.map +7 -0
  255. package/dist/esm/chunk-QAUYOVVL.js +2 -0
  256. package/dist/esm/chunk-QAUYOVVL.js.map +7 -0
  257. package/dist/esm/chunk-RC7TBVLO.js +2 -0
  258. package/dist/esm/chunk-RC7TBVLO.js.map +7 -0
  259. package/dist/esm/chunk-STMTXK7U.js +2 -0
  260. package/dist/esm/chunk-STMTXK7U.js.map +7 -0
  261. package/dist/esm/chunk-U7PDXTRX.js +2 -0
  262. package/dist/esm/chunk-U7PDXTRX.js.map +7 -0
  263. package/dist/esm/chunk-UNRG6Z5I.js +2 -0
  264. package/dist/esm/chunk-UNRG6Z5I.js.map +7 -0
  265. package/dist/esm/chunk-UONSKZQT.js +2 -0
  266. package/dist/esm/chunk-UONSKZQT.js.map +7 -0
  267. package/dist/esm/{chunk-2IPVLV6B.js → chunk-UQZHW3EJ.js} +2 -2
  268. package/dist/esm/chunk-VIDXAECE.js +2 -0
  269. package/dist/esm/chunk-VIDXAECE.js.map +7 -0
  270. package/dist/esm/chunk-VLLJ7A6P.js +2 -0
  271. package/dist/esm/chunk-VLLJ7A6P.js.map +7 -0
  272. package/dist/esm/{chunk-DP3OWU5T.js → chunk-VT4AAF7Q.js} +2 -2
  273. package/dist/esm/chunk-XVKFQSLI.js +2 -0
  274. package/dist/esm/chunk-XVKFQSLI.js.map +7 -0
  275. package/dist/esm/{chunk-RFURPE7W.js → chunk-YF3MFME4.js} +2 -2
  276. package/dist/esm/{chunk-4STOJSJZ.js → chunk-YVMQWSHA.js} +2 -2
  277. package/dist/esm/{chunk-4STOJSJZ.js.map → chunk-YVMQWSHA.js.map} +2 -2
  278. package/dist/esm/chunk-ZCAI2PRH.js +2 -0
  279. package/dist/esm/chunk-ZCAI2PRH.js.map +7 -0
  280. package/dist/esm/{chunk-S53ZQNHK.js → chunk-ZFBLPW3X.js} +2 -2
  281. package/dist/esm/chunk-ZH2B7WEH.js +2 -0
  282. package/dist/esm/chunk-ZH2B7WEH.js.map +7 -0
  283. package/dist/esm/chunk-ZJZIV2JH.js +2 -0
  284. package/dist/esm/chunk-ZJZIV2JH.js.map +7 -0
  285. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  286. package/dist/esm/components/_internal/base-button.js +1 -1
  287. package/dist/esm/components/_internal/base-checkbox.props.d.ts +1 -1
  288. package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
  289. package/dist/esm/components/_internal/base-radio.props.d.ts +1 -1
  290. package/dist/esm/components/_internal/base-radio.props.js +1 -1
  291. package/dist/esm/components/_internal/pane-chrome.js +1 -1
  292. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  293. package/dist/esm/components/accordion.d.ts.map +1 -1
  294. package/dist/esm/components/accordion.js +1 -1
  295. package/dist/esm/components/alert-dialog.js +1 -1
  296. package/dist/esm/components/badge.js +1 -1
  297. package/dist/esm/components/badge.props.d.ts +1 -1
  298. package/dist/esm/components/badge.props.js +1 -1
  299. package/dist/esm/components/button.js +1 -1
  300. package/dist/esm/components/chatbar.d.ts.map +1 -1
  301. package/dist/esm/components/chatbar.js +1 -1
  302. package/dist/esm/components/checkbox-cards.js +1 -1
  303. package/dist/esm/components/checkbox-group.d.ts.map +1 -1
  304. package/dist/esm/components/checkbox-group.js +1 -1
  305. package/dist/esm/components/checkbox-group.props.d.ts +1 -1
  306. package/dist/esm/components/checkbox-group.props.js +1 -1
  307. package/dist/esm/components/checkbox.d.ts.map +1 -1
  308. package/dist/esm/components/checkbox.js +1 -1
  309. package/dist/esm/components/checkbox.props.js +1 -1
  310. package/dist/esm/components/combobox.d.ts.map +1 -1
  311. package/dist/esm/components/combobox.js +1 -1
  312. package/dist/esm/components/context-menu.d.ts.map +1 -1
  313. package/dist/esm/components/context-menu.js +1 -1
  314. package/dist/esm/components/data-list.d.ts.map +1 -1
  315. package/dist/esm/components/data-list.js +1 -1
  316. package/dist/esm/components/dialog.js +1 -1
  317. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  318. package/dist/esm/components/dropdown-menu.js +1 -1
  319. package/dist/esm/components/hover-card.d.ts.map +1 -1
  320. package/dist/esm/components/hover-card.js +1 -1
  321. package/dist/esm/components/icon-button.js +1 -1
  322. package/dist/esm/components/index.js +1 -1
  323. package/dist/esm/components/message-scroller.js +1 -1
  324. package/dist/esm/components/navbar.d.ts.map +1 -1
  325. package/dist/esm/components/navbar.js +1 -1
  326. package/dist/esm/components/notice.d.ts +1 -1
  327. package/dist/esm/components/notice.d.ts.map +1 -1
  328. package/dist/esm/components/notice.js +1 -1
  329. package/dist/esm/components/popover.d.ts.map +1 -1
  330. package/dist/esm/components/popover.js +1 -1
  331. package/dist/esm/components/progress.js +1 -1
  332. package/dist/esm/components/progress.props.d.ts +0 -7
  333. package/dist/esm/components/progress.props.d.ts.map +1 -1
  334. package/dist/esm/components/progress.props.js +1 -1
  335. package/dist/esm/components/radio-group.d.ts.map +1 -1
  336. package/dist/esm/components/radio-group.js +1 -1
  337. package/dist/esm/components/radio-group.props.d.ts +1 -1
  338. package/dist/esm/components/radio-group.props.js +1 -1
  339. package/dist/esm/components/radio.d.ts.map +1 -1
  340. package/dist/esm/components/radio.js +1 -1
  341. package/dist/esm/components/radio.props.js +1 -1
  342. package/dist/esm/components/scroll-area.d.ts.map +1 -1
  343. package/dist/esm/components/scroll-area.js +1 -1
  344. package/dist/esm/components/scroll-area.props.d.ts +0 -7
  345. package/dist/esm/components/scroll-area.props.d.ts.map +1 -1
  346. package/dist/esm/components/scroll-area.props.js +1 -1
  347. package/dist/esm/components/segmented-control.d.ts.map +1 -1
  348. package/dist/esm/components/segmented-control.js +1 -1
  349. package/dist/esm/components/select.d.ts.map +1 -1
  350. package/dist/esm/components/select.js +1 -1
  351. package/dist/esm/components/separator.js +1 -1
  352. package/dist/esm/components/separator.props.d.ts +0 -7
  353. package/dist/esm/components/separator.props.d.ts.map +1 -1
  354. package/dist/esm/components/separator.props.js +1 -1
  355. package/dist/esm/components/sheet.js +1 -1
  356. package/dist/esm/components/shell.d.ts +1 -1
  357. package/dist/esm/components/shell.d.ts.map +1 -1
  358. package/dist/esm/components/shell.js +1 -1
  359. package/dist/esm/components/sidebar.js +1 -1
  360. package/dist/esm/components/slider.d.ts.map +1 -1
  361. package/dist/esm/components/slider.js +1 -1
  362. package/dist/esm/components/spinner.js +1 -1
  363. package/dist/esm/components/spinner.props.d.ts +0 -7
  364. package/dist/esm/components/spinner.props.d.ts.map +1 -1
  365. package/dist/esm/components/spinner.props.js +1 -1
  366. package/dist/esm/components/switch.d.ts.map +1 -1
  367. package/dist/esm/components/switch.js +1 -1
  368. package/dist/esm/components/tab-nav.d.ts.map +1 -1
  369. package/dist/esm/components/tab-nav.js +1 -1
  370. package/dist/esm/components/table.d.ts.map +1 -1
  371. package/dist/esm/components/table.js +1 -1
  372. package/dist/esm/components/table.props.d.ts +1 -1
  373. package/dist/esm/components/table.props.js +1 -1
  374. package/dist/esm/components/tabs.d.ts.map +1 -1
  375. package/dist/esm/components/tabs.js +1 -1
  376. package/dist/esm/components/text-area.d.ts.map +1 -1
  377. package/dist/esm/components/text-area.js +1 -1
  378. package/dist/esm/components/text-field.d.ts.map +1 -1
  379. package/dist/esm/components/text-field.js +1 -1
  380. package/dist/esm/components/theme-panel.js +1 -1
  381. package/dist/esm/components/theme.d.ts +3 -0
  382. package/dist/esm/components/theme.d.ts.map +1 -1
  383. package/dist/esm/components/theme.js +1 -1
  384. package/dist/esm/components/theme.props.d.ts +12 -0
  385. package/dist/esm/components/theme.props.d.ts.map +1 -1
  386. package/dist/esm/components/theme.props.js +1 -1
  387. package/dist/esm/components/toggle-button.js +1 -1
  388. package/dist/esm/components/toggle-icon-button.js +1 -1
  389. package/dist/esm/components/toolbar.d.ts.map +1 -1
  390. package/dist/esm/components/toolbar.js +1 -1
  391. package/dist/esm/components/tooltip.js +1 -1
  392. package/dist/esm/helpers/index.d.ts +1 -0
  393. package/dist/esm/helpers/index.d.ts.map +1 -1
  394. package/dist/esm/helpers/index.js +1 -1
  395. package/dist/esm/helpers/map-prop-values.d.ts +1 -4
  396. package/dist/esm/helpers/map-prop-values.d.ts.map +1 -1
  397. package/dist/esm/helpers/map-prop-values.js +1 -1
  398. package/dist/esm/helpers/theme-size.d.ts +41 -0
  399. package/dist/esm/helpers/theme-size.d.ts.map +1 -0
  400. package/dist/esm/helpers/theme-size.js +2 -0
  401. package/dist/esm/helpers/theme-size.js.map +7 -0
  402. package/dist/esm/index.js +1 -1
  403. package/dist/esm/props/index.js +1 -1
  404. package/layout/tokens.css +14 -0
  405. package/layout.css +14 -0
  406. package/package.json +1 -1
  407. package/src/components/_internal/base-button.css +114 -78
  408. package/src/components/_internal/base-button.tsx +48 -9
  409. package/src/components/_internal/base-checkbox.css +91 -8
  410. package/src/components/_internal/base-checkbox.props.ts +1 -1
  411. package/src/components/_internal/base-radio.css +68 -6
  412. package/src/components/_internal/base-radio.props.ts +1 -1
  413. package/src/components/_internal/base-tab-list.css +33 -25
  414. package/src/components/accordion.tsx +3 -1
  415. package/src/components/avatar.css +21 -15
  416. package/src/components/badge.css +14 -23
  417. package/src/components/badge.props.tsx +1 -1
  418. package/src/components/button.css +5 -175
  419. package/src/components/chatbar.tsx +9 -4
  420. package/src/components/checkbox-group.css +6 -11
  421. package/src/components/checkbox-group.tsx +3 -1
  422. package/src/components/checkbox.css +6 -11
  423. package/src/components/checkbox.tsx +3 -1
  424. package/src/components/combobox.tsx +3 -1
  425. package/src/components/context-menu.tsx +3 -1
  426. package/src/components/data-list.tsx +3 -1
  427. package/src/components/dropdown-menu.tsx +3 -1
  428. package/src/components/hover-card.tsx +3 -1
  429. package/src/components/icon-button.css +4 -152
  430. package/src/components/message-scroller.tsx +1 -1
  431. package/src/components/navbar.tsx +3 -1
  432. package/src/components/notice.tsx +7 -3
  433. package/src/components/popover.tsx +3 -1
  434. package/src/components/progress.css +4 -37
  435. package/src/components/progress.props.tsx +0 -3
  436. package/src/components/radio-group.props.tsx +1 -1
  437. package/src/components/radio-group.tsx +3 -1
  438. package/src/components/radio.tsx +3 -1
  439. package/src/components/scroll-area.css +2 -23
  440. package/src/components/scroll-area.props.tsx +0 -3
  441. package/src/components/scroll-area.tsx +2 -18
  442. package/src/components/segmented-control.css +34 -27
  443. package/src/components/segmented-control.tsx +3 -1
  444. package/src/components/select.css +76 -74
  445. package/src/components/select.tsx +4 -2
  446. package/src/components/separator.css +2 -23
  447. package/src/components/separator.props.tsx +0 -3
  448. package/src/components/shell.tsx +8 -2
  449. package/src/components/slider.css +19 -11
  450. package/src/components/slider.tsx +3 -1
  451. package/src/components/spinner.css +2 -23
  452. package/src/components/spinner.props.tsx +0 -4
  453. package/src/components/switch.css +51 -17
  454. package/src/components/switch.tsx +3 -1
  455. package/src/components/tab-nav.tsx +3 -1
  456. package/src/components/table.props.tsx +1 -1
  457. package/src/components/table.tsx +3 -1
  458. package/src/components/tabs.css +2 -1
  459. package/src/components/tabs.tsx +3 -1
  460. package/src/components/text-area.css +55 -107
  461. package/src/components/text-area.tsx +8 -6
  462. package/src/components/text-field.css +129 -127
  463. package/src/components/text-field.tsx +8 -6
  464. package/src/components/theme.props.tsx +10 -0
  465. package/src/components/theme.tsx +86 -71
  466. package/src/components/toolbar.tsx +3 -1
  467. package/src/helpers/index.ts +1 -0
  468. package/src/helpers/map-prop-values.ts +1 -18
  469. package/src/helpers/theme-size.ts +73 -0
  470. package/src/styles/tokens/constants.css +4 -0
  471. package/src/styles/tokens/space.css +16 -0
  472. package/styles.css +1428 -2641
  473. package/tokens/base.css +14 -0
  474. package/tokens.css +16 -0
  475. package/dist/esm/chunk-2HUAVZZL.js +0 -2
  476. package/dist/esm/chunk-2HUAVZZL.js.map +0 -7
  477. package/dist/esm/chunk-2XSRO44Q.js +0 -2
  478. package/dist/esm/chunk-2XSRO44Q.js.map +0 -7
  479. package/dist/esm/chunk-3KB2XWBE.js +0 -2
  480. package/dist/esm/chunk-3KB2XWBE.js.map +0 -7
  481. package/dist/esm/chunk-4D7OU2UA.js +0 -2
  482. package/dist/esm/chunk-4D7OU2UA.js.map +0 -7
  483. package/dist/esm/chunk-5GYIQIPW.js +0 -2
  484. package/dist/esm/chunk-5GYIQIPW.js.map +0 -7
  485. package/dist/esm/chunk-655TAWHX.js +0 -2
  486. package/dist/esm/chunk-655TAWHX.js.map +0 -7
  487. package/dist/esm/chunk-6VPYP3VN.js +0 -2
  488. package/dist/esm/chunk-6VPYP3VN.js.map +0 -7
  489. package/dist/esm/chunk-7BE6N3KY.js +0 -2
  490. package/dist/esm/chunk-7BE6N3KY.js.map +0 -7
  491. package/dist/esm/chunk-AHOUZS3V.js +0 -2
  492. package/dist/esm/chunk-AHOUZS3V.js.map +0 -7
  493. package/dist/esm/chunk-BALS3AVM.js +0 -2
  494. package/dist/esm/chunk-BALS3AVM.js.map +0 -7
  495. package/dist/esm/chunk-BOLRYGFQ.js +0 -2
  496. package/dist/esm/chunk-BOLRYGFQ.js.map +0 -7
  497. package/dist/esm/chunk-BUEYZEAY.js +0 -2
  498. package/dist/esm/chunk-BUEYZEAY.js.map +0 -7
  499. package/dist/esm/chunk-DKALDTCN.js +0 -2
  500. package/dist/esm/chunk-DKALDTCN.js.map +0 -7
  501. package/dist/esm/chunk-EJOVE3JH.js +0 -2
  502. package/dist/esm/chunk-EJOVE3JH.js.map +0 -7
  503. package/dist/esm/chunk-FPDLBLO3.js +0 -2
  504. package/dist/esm/chunk-FPDLBLO3.js.map +0 -7
  505. package/dist/esm/chunk-GOYI2U6F.js +0 -2
  506. package/dist/esm/chunk-GOYI2U6F.js.map +0 -7
  507. package/dist/esm/chunk-HKRQ3E3I.js +0 -2
  508. package/dist/esm/chunk-HKRQ3E3I.js.map +0 -7
  509. package/dist/esm/chunk-HSFQO4QM.js +0 -2
  510. package/dist/esm/chunk-HSFQO4QM.js.map +0 -7
  511. package/dist/esm/chunk-HVQ3SLQC.js +0 -2
  512. package/dist/esm/chunk-HVQ3SLQC.js.map +0 -7
  513. package/dist/esm/chunk-JCOALADA.js +0 -5
  514. package/dist/esm/chunk-JCOALADA.js.map +0 -7
  515. package/dist/esm/chunk-K7J23OPW.js +0 -2
  516. package/dist/esm/chunk-K7J23OPW.js.map +0 -7
  517. package/dist/esm/chunk-M55KFXYV.js +0 -2
  518. package/dist/esm/chunk-M55KFXYV.js.map +0 -7
  519. package/dist/esm/chunk-MGSHX5N5.js +0 -2
  520. package/dist/esm/chunk-MGSHX5N5.js.map +0 -7
  521. package/dist/esm/chunk-MJC4NKYG.js +0 -2
  522. package/dist/esm/chunk-MJC4NKYG.js.map +0 -7
  523. package/dist/esm/chunk-MOYLXCMW.js +0 -2
  524. package/dist/esm/chunk-MOYLXCMW.js.map +0 -7
  525. package/dist/esm/chunk-MVW2SY4F.js +0 -2
  526. package/dist/esm/chunk-MVW2SY4F.js.map +0 -7
  527. package/dist/esm/chunk-NOSR2XWD.js +0 -2
  528. package/dist/esm/chunk-NOSR2XWD.js.map +0 -7
  529. package/dist/esm/chunk-OMUUPPJO.js +0 -2
  530. package/dist/esm/chunk-OMUUPPJO.js.map +0 -7
  531. package/dist/esm/chunk-PNIVUG5D.js +0 -2
  532. package/dist/esm/chunk-PNIVUG5D.js.map +0 -7
  533. package/dist/esm/chunk-PSS45RHX.js +0 -2
  534. package/dist/esm/chunk-PSS45RHX.js.map +0 -7
  535. package/dist/esm/chunk-PYYI64XK.js +0 -2
  536. package/dist/esm/chunk-PYYI64XK.js.map +0 -7
  537. package/dist/esm/chunk-QJFAGWBO.js +0 -2
  538. package/dist/esm/chunk-QJFAGWBO.js.map +0 -7
  539. package/dist/esm/chunk-QWFFYUFH.js +0 -2
  540. package/dist/esm/chunk-QWFFYUFH.js.map +0 -7
  541. package/dist/esm/chunk-RVHKSNMJ.js +0 -2
  542. package/dist/esm/chunk-RVHKSNMJ.js.map +0 -7
  543. package/dist/esm/chunk-RYURXQLJ.js +0 -2
  544. package/dist/esm/chunk-RYURXQLJ.js.map +0 -7
  545. package/dist/esm/chunk-UA6FP7HS.js +0 -2
  546. package/dist/esm/chunk-V7UP4SLZ.js +0 -2
  547. package/dist/esm/chunk-V7UP4SLZ.js.map +0 -7
  548. package/dist/esm/chunk-X5KCVLKG.js +0 -2
  549. package/dist/esm/chunk-X5KCVLKG.js.map +0 -7
  550. package/dist/esm/chunk-XPRPYCII.js +0 -2
  551. package/dist/esm/chunk-XPRPYCII.js.map +0 -7
  552. /package/dist/esm/{chunk-XZ5XZS5O.js.map → chunk-35HNDWWM.js.map} +0 -0
  553. /package/dist/esm/{chunk-YDRFILTX.js.map → chunk-6YWDEANN.js.map} +0 -0
  554. /package/dist/esm/{chunk-MZQDDG5K.js.map → chunk-7FZPCM7W.js.map} +0 -0
  555. /package/dist/esm/{chunk-UA6FP7HS.js.map → chunk-ABS275QZ.js.map} +0 -0
  556. /package/dist/esm/{chunk-YZABQ4LS.js.map → chunk-DFSW4QR4.js.map} +0 -0
  557. /package/dist/esm/{chunk-SM27AC7E.js.map → chunk-DJFTDR6Y.js.map} +0 -0
  558. /package/dist/esm/{chunk-CRYT55SY.js.map → chunk-EHUSLPWN.js.map} +0 -0
  559. /package/dist/esm/{chunk-6XHM724Y.js.map → chunk-GTVFQXLJ.js.map} +0 -0
  560. /package/dist/esm/{chunk-6HRBG5H2.js.map → chunk-KPPIW4OJ.js.map} +0 -0
  561. /package/dist/esm/{chunk-6WFEMPCF.js.map → chunk-KRXCFIRK.js.map} +0 -0
  562. /package/dist/esm/{chunk-COSHAOEK.js.map → chunk-MJEYJI5G.js.map} +0 -0
  563. /package/dist/esm/{chunk-CG54MBMW.js.map → chunk-MPN33CKR.js.map} +0 -0
  564. /package/dist/esm/{chunk-IGBEDJBC.js.map → chunk-NFVOEHZS.js.map} +0 -0
  565. /package/dist/esm/{chunk-ORMCQAPS.js.map → chunk-PAQS6C2A.js.map} +0 -0
  566. /package/dist/esm/{chunk-2IPVLV6B.js.map → chunk-UQZHW3EJ.js.map} +0 -0
  567. /package/dist/esm/{chunk-DP3OWU5T.js.map → chunk-VT4AAF7Q.js.map} +0 -0
  568. /package/dist/esm/{chunk-RFURPE7W.js.map → chunk-YF3MFME4.js.map} +0 -0
  569. /package/dist/esm/{chunk-S53ZQNHK.js.map → chunk-ZFBLPW3X.js.map} +0 -0
@@ -7,6 +7,7 @@ type ThemeAccentColor = (typeof themePropDefs.accentColor.values)[number];
7
7
  type ThemeGrayColor = (typeof themePropDefs.grayColor.values)[number];
8
8
  type ThemeRadius = (typeof themePropDefs.radius.values)[number];
9
9
  type ThemeFontFamily = (typeof themePropDefs.fontFamily.values)[number];
10
+ type ThemeSize = (typeof themePropDefs.size.values)[number];
10
11
  type ThemeHeadingFontFamily = ThemeFontFamily | undefined;
11
12
  interface ThemeChangeHandlers {
12
13
  onAppearanceChange: (appearance: ThemeAppearance) => void;
@@ -15,6 +16,7 @@ interface ThemeChangeHandlers {
15
16
  onRadiusChange: (radius: ThemeRadius) => void;
16
17
  onFontFamilyChange: (fontFamily: ThemeFontFamily) => void;
17
18
  onHeadingFontFamilyChange: (headingFontFamily: ThemeHeadingFontFamily) => void;
19
+ onSizeChange: (size: ThemeSize) => void;
18
20
  }
19
21
  interface ThemeContextValue extends ThemeChangeHandlers {
20
22
  appearance: ThemeAppearance;
@@ -24,6 +26,7 @@ interface ThemeContextValue extends ThemeChangeHandlers {
24
26
  radius: ThemeRadius;
25
27
  fontFamily: ThemeFontFamily;
26
28
  headingFontFamily: ThemeHeadingFontFamily;
29
+ size: ThemeSize;
27
30
  }
28
31
  declare const ThemeContext: React.Context<ThemeContextValue | undefined>;
29
32
  declare function useThemeContext(): ThemeContextValue;
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/components/theme.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAIzF,KAAK,eAAe,GAAG,CAAC,OAAO,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AACxE,KAAK,gBAAgB,GAAG,CAAC,OAAO,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1E,KAAK,cAAc,GAAG,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AACtE,KAAK,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAChE,KAAK,eAAe,GAAG,CAAC,OAAO,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAGxE,KAAK,sBAAsB,GAAG,eAAe,GAAG,SAAS,CAAC;AAE1D,UAAU,mBAAmB;IAC3B,kBAAkB,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1D,mBAAmB,EAAE,CAAC,WAAW,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC7D,iBAAiB,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;IACvD,cAAc,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,kBAAkB,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1D,yBAAyB,EAAE,CAAC,iBAAiB,EAAE,sBAAsB,KAAK,IAAI,CAAC;CAChF;AAED,UAAU,iBAAkB,SAAQ,mBAAmB;IACrD,UAAU,EAAE,eAAe,CAAC;IAC5B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,cAAc,CAAC;IAC1B,iBAAiB,EAAE,cAAc,CAAC;IAClC,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,eAAe,CAAC;IAC5B,iBAAiB,EAAE,sBAAsB,CAAC;CAC3C;AAkBD,QAAA,MAAM,YAAY,8CAAgE,CAAC;AAEnF,iBAAS,eAAe,sBAIvB;AAED,UAAU,UAAW,SAAQ,oBAAoB;CAAG;AACpD,QAAA,MAAM,KAAK,mFAgBT,CAAC;AAuDH,UAAU,oBACR,SAAQ,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,CAAC,EACxD,aAAa;CAAG;AA2HpB,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;AAChD,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/components/theme.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAIzF,KAAK,eAAe,GAAG,CAAC,OAAO,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AACxE,KAAK,gBAAgB,GAAG,CAAC,OAAO,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1E,KAAK,cAAc,GAAG,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AACtE,KAAK,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAChE,KAAK,eAAe,GAAG,CAAC,OAAO,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AACxE,KAAK,SAAS,GAAG,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAG5D,KAAK,sBAAsB,GAAG,eAAe,GAAG,SAAS,CAAC;AAE1D,UAAU,mBAAmB;IAC3B,kBAAkB,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1D,mBAAmB,EAAE,CAAC,WAAW,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC7D,iBAAiB,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;IACvD,cAAc,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,kBAAkB,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1D,yBAAyB,EAAE,CAAC,iBAAiB,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC/E,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CACzC;AAED,UAAU,iBAAkB,SAAQ,mBAAmB;IACrD,UAAU,EAAE,eAAe,CAAC;IAC5B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,cAAc,CAAC;IAC1B,iBAAiB,EAAE,cAAc,CAAC;IAClC,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,eAAe,CAAC;IAC5B,iBAAiB,EAAE,sBAAsB,CAAC;IAC1C,IAAI,EAAE,SAAS,CAAC;CACjB;AAoBD,QAAA,MAAM,YAAY,8CAAgE,CAAC;AAEnF,iBAAS,eAAe,sBAIvB;AAED,UAAU,UAAW,SAAQ,oBAAoB;CAAG;AACpD,QAAA,MAAM,KAAK,mFAgBT,CAAC;AAyDH,UAAU,oBAAqB,SAAQ,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,CAAC,EAAE,aAAa;CAAG;AAoI3G,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;AAChD,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var X=Object.create;var x=Object.defineProperty;var Y=Object.getOwnPropertyDescriptor;var Z=Object.getOwnPropertyNames;var _=Object.getPrototypeOf,$=Object.prototype.hasOwnProperty;var ee=(e,t)=>{for(var o in t)x(e,o,{get:t[o],enumerable:!0})},O=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Z(t))!$.call(e,n)&&n!==o&&x(e,n,{get:()=>t[n],enumerable:!(i=Y(t,n))||i.enumerable});return e};var I=(e,t,o)=>(o=e!=null?X(_(e)):{},O(t||!e||!e.__esModule?x(o,"default",{value:e,enumerable:!0}):o,e)),oe=e=>O(x({},"__esModule",{value:!0}),e);var se={};ee(se,{Theme:()=>J,ThemeContext:()=>g,useThemeContext:()=>re});module.exports=oe(se);var a=I(require("react")),q=I(require("classnames")),c=require("radix-ui"),A=require("radix-ui/internal");function N(e){switch(e){case"tomato":case"red":case"ruby":case"crimson":case"pink":case"plum":case"purple":case"violet":return"mauve";case"iris":case"indigo":case"blue":case"sky":case"cyan":return"slate";case"teal":case"jade":case"mint":case"green":return"sage";case"grass":case"lime":return"olive";case"yellow":case"amber":case"orange":case"brown":case"gold":case"bronze":return"sand";case"gray":return"gray"}}var H=I(require("react"));function l(e){let[t,o]=H.useState(e),[i,n]=H.useState(e);return Object.is(e,i)||(n(e),o(e)),[t,o]}var M={asChild:{type:"boolean"}};var V=["gray","gold","bronze","brown","yellow","amber","orange","tomato","red","ruby","crimson","pink","plum","purple","violet","iris","indigo","blue","cyan","teal","jade","green","grass","lime","mint","sky"],W=["auto","gray","mauve","slate","sage","olive","sand"];var z=["none","small","medium","large","full"];var ae=["inherit","light","dark"],L=["sans","mono","serif"],r={...M,hasBackground:{type:"boolean",default:!0},appearance:{type:"enum",values:ae,default:"inherit"},accentColor:{type:"enum",values:V,default:"gray"},grayColor:{type:"enum",values:W,default:"gray"},radius:{type:"enum",values:z,default:"full"},fontFamily:{type:"enum",values:L,default:"sans"},headingFontFamily:{type:"enum",values:L}};var s=()=>{},te={appearance:r.appearance.default,accentColor:r.accentColor.default,grayColor:r.grayColor.default,resolvedGrayColor:r.grayColor.default,radius:r.radius.default,fontFamily:r.fontFamily.default,headingFontFamily:void 0,onAppearanceChange:s,onAccentColorChange:s,onGrayColorChange:s,onRadiusChange:s,onFontFamilyChange:s,onHeadingFontFamilyChange:s},g=a.createContext(void 0);function re(){return a.useContext(g)??te}var J=a.forwardRef((e,t)=>{let o=a.useContext(g),i=c.Direction.useDirection();return o===void 0?a.createElement(c.Tooltip.Provider,{delayDuration:200},a.createElement(c.Direction.Provider,{dir:i},a.createElement(K,{...e,ref:t}))):a.createElement(j,{...e,ref:t})});J.displayName="Theme";var K=a.forwardRef((e,t)=>{let{appearance:o=r.appearance.default,accentColor:i=r.accentColor.default,grayColor:n=r.grayColor.default,radius:P=r.radius.default,fontFamily:m=r.fontFamily.default,headingFontFamily:p,hasBackground:u=r.hasBackground.default,...d}=e,[f,y]=l(o),[F,T]=l(i),[v,b]=l(n),[R,D]=l(P),[h,k]=l(m),[C,G]=l(p);return a.createElement(j,{...d,ref:t,isRoot:!0,hasBackground:u,appearance:f,accentColor:F,grayColor:v,radius:R,fontFamily:h,headingFontFamily:C,onAppearanceChange:y,onAccentColorChange:T,onGrayColorChange:b,onRadiusChange:D,onFontFamilyChange:k,onHeadingFontFamilyChange:G})});K.displayName="ThemeRoot";function ne(){if(typeof navigator>"u")return;let e=navigator.userAgent;if(e.includes("Win"))return"windows";if(e.includes("Mac"))return"macos";if(e.includes("Linux"))return"linux"}var j=a.forwardRef((e,t)=>{let o=a.useContext(g),{asChild:i,isRoot:n,hasBackground:P,appearance:m=e.appearance??o?.appearance??r.appearance.default,accentColor:p=e.accentColor??o?.accentColor??r.accentColor.default,grayColor:u=e.grayColor??o?.resolvedGrayColor??r.grayColor.default,radius:d=e.radius??o?.radius??r.radius.default,fontFamily:f=e.fontFamily??o?.fontFamily??r.fontFamily.default,headingFontFamily:y=e.headingFontFamily??o?.headingFontFamily,onAppearanceChange:F=s,onAccentColorChange:T=s,onGrayColorChange:v=s,onRadiusChange:b=s,onFontFamilyChange:R=s,onHeadingFontFamilyChange:D=s,...h}=e,k=i?c.Slot.Root:"div",C=u==="auto"?N(p):u,G=e.appearance==="light"||e.appearance==="dark",Q=P===void 0?n||G:P,E=a.useRef(null),U=(0,A.useComposedRefs)(t,E),S="data-os"in h;return(0,A.useLayoutEffect)(()=>{if(!n||S)return;let w=E.current;if(!w)return;let B=ne();if(B)return w.setAttribute("data-os",B),()=>w.removeAttribute("data-os")},[n,S]),a.createElement(g.Provider,{value:a.useMemo(()=>({appearance:m,accentColor:p,grayColor:u,resolvedGrayColor:C,radius:d,fontFamily:f,headingFontFamily:y,onAppearanceChange:F,onAccentColorChange:T,onGrayColorChange:v,onRadiusChange:b,onFontFamilyChange:R,onHeadingFontFamilyChange:D}),[m,p,u,C,d,f,y,F,T,v,b,R,D])},a.createElement(k,{"data-is-root-theme":n?"true":"false","data-accent-color":p,"data-gray-color":C,"data-has-background":Q?"true":"false","data-radius":d,"data-font-family":f,"data-heading-font-family":y,ref:U,...h,className:(0,q.default)("radix-themes",{light:m==="light",dark:m==="dark"},h.className)}))});j.displayName="ThemeImpl";
1
+ "use strict";"use client";var $=Object.create;var S=Object.defineProperty;var ee=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var ae=Object.getPrototypeOf,te=Object.prototype.hasOwnProperty;var ne=(e,n)=>{for(var o in n)S(e,o,{get:n[o],enumerable:!0})},L=(e,n,o,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of oe(n))!te.call(e,r)&&r!==o&&S(e,r,{get:()=>n[r],enumerable:!(i=ee(n,r))||i.enumerable});return e};var A=(e,n,o)=>(o=e!=null?$(ae(e)):{},L(n||!e||!e.__esModule?S(o,"default",{value:e,enumerable:!0}):o,e)),re=e=>L(S({},"__esModule",{value:!0}),e);var ue={};ne(ue,{Theme:()=>Q,ThemeContext:()=>P,useThemeContext:()=>me});module.exports=re(ue);var a=A(require("react")),K=A(require("classnames")),c=require("radix-ui"),k=require("radix-ui/internal");function W(e){switch(e){case"tomato":case"red":case"ruby":case"crimson":case"pink":case"plum":case"purple":case"violet":return"mauve";case"iris":case"indigo":case"blue":case"sky":case"cyan":return"slate";case"teal":case"jade":case"mint":case"green":return"sage";case"grass":case"lime":return"olive";case"yellow":case"amber":case"orange":case"brown":case"gold":case"bronze":return"sand";case"gray":return"gray"}}var H=A(require("react")),se="2",j=H.createContext(se);j.displayName="ThemeSizeContext";var N=A(require("react"));function l(e){let[n,o]=N.useState(e),[i,r]=N.useState(e);return Object.is(e,i)||(r(e),o(e)),[n,o]}var _={asChild:{type:"boolean"}};var U=["gray","gold","bronze","brown","yellow","amber","orange","tomato","red","ruby","crimson","pink","plum","purple","violet","iris","indigo","blue","cyan","teal","jade","green","grass","lime","mint","sky"],Z=["auto","gray","mauve","slate","sage","olive","sand"];var q=["none","small","medium","large","full"];var ie=["inherit","light","dark"],J=["sans","mono","serif"],le=["1","2","3","4"],t={..._,hasBackground:{type:"boolean",default:!0},appearance:{type:"enum",values:ie,default:"inherit"},accentColor:{type:"enum",values:U,default:"gray"},grayColor:{type:"enum",values:Z,default:"gray"},radius:{type:"enum",values:q,default:"full"},fontFamily:{type:"enum",values:J,default:"sans"},headingFontFamily:{type:"enum",values:J},size:{type:"enum",values:le,default:"2"}};var s=()=>{},ce={appearance:t.appearance.default,accentColor:t.accentColor.default,grayColor:t.grayColor.default,resolvedGrayColor:t.grayColor.default,radius:t.radius.default,fontFamily:t.fontFamily.default,headingFontFamily:void 0,size:t.size.default,onAppearanceChange:s,onAccentColorChange:s,onGrayColorChange:s,onRadiusChange:s,onFontFamilyChange:s,onHeadingFontFamilyChange:s,onSizeChange:s},P=a.createContext(void 0);function me(){return a.useContext(P)??ce}var Q=a.forwardRef((e,n)=>{let o=a.useContext(P),i=c.Direction.useDirection();return o===void 0?a.createElement(c.Tooltip.Provider,{delayDuration:200},a.createElement(c.Direction.Provider,{dir:i},a.createElement(X,{...e,ref:n}))):a.createElement(B,{...e,ref:n})});Q.displayName="Theme";var X=a.forwardRef((e,n)=>{let{appearance:o=t.appearance.default,accentColor:i=t.accentColor.default,grayColor:r=t.grayColor.default,radius:T=t.radius.default,fontFamily:m=t.fontFamily.default,headingFontFamily:p,size:u=t.size.default,hasBackground:d=t.hasBackground.default,...f}=e,[y,h]=l(o),[F,v]=l(i),[b,z]=l(r),[x,R]=l(T),[D,C]=l(m),[G,g]=l(p),[I,w]=l(u);return a.createElement(B,{...f,ref:n,isRoot:!0,hasBackground:d,appearance:y,accentColor:F,grayColor:b,radius:x,fontFamily:D,headingFontFamily:G,size:I,onAppearanceChange:h,onAccentColorChange:v,onGrayColorChange:z,onRadiusChange:R,onFontFamilyChange:C,onHeadingFontFamilyChange:g,onSizeChange:w})});X.displayName="ThemeRoot";function pe(){if(typeof navigator>"u")return;let e=navigator.userAgent;if(e.includes("Win"))return"windows";if(e.includes("Mac"))return"macos";if(e.includes("Linux"))return"linux"}var B=a.forwardRef((e,n)=>{let o=a.useContext(P),{asChild:i,isRoot:r,hasBackground:T,appearance:m=e.appearance??o?.appearance??t.appearance.default,accentColor:p=e.accentColor??o?.accentColor??t.accentColor.default,grayColor:u=e.grayColor??o?.resolvedGrayColor??t.grayColor.default,radius:d=e.radius??o?.radius??t.radius.default,fontFamily:f=e.fontFamily??o?.fontFamily??t.fontFamily.default,headingFontFamily:y=e.headingFontFamily??o?.headingFontFamily,size:h=e.size??o?.size??t.size.default,onAppearanceChange:F=s,onAccentColorChange:v=s,onGrayColorChange:b=s,onRadiusChange:z=s,onFontFamilyChange:x=s,onHeadingFontFamilyChange:R=s,onSizeChange:D=s,...C}=e,G=i?c.Slot.Root:"div",g=u==="auto"?W(p):u,I=e.appearance==="light"||e.appearance==="dark",w=T===void 0?r||I:T,O=a.useRef(null),Y=(0,k.useComposedRefs)(n,O),V="data-os"in C;return(0,k.useLayoutEffect)(()=>{if(!r||V)return;let E=O.current;if(!E)return;let M=pe();if(M)return E.setAttribute("data-os",M),()=>E.removeAttribute("data-os")},[r,V]),a.createElement(P.Provider,{value:a.useMemo(()=>({appearance:m,accentColor:p,grayColor:u,resolvedGrayColor:g,radius:d,fontFamily:f,headingFontFamily:y,size:h,onAppearanceChange:F,onAccentColorChange:v,onGrayColorChange:b,onRadiusChange:z,onFontFamilyChange:x,onHeadingFontFamilyChange:R,onSizeChange:D}),[m,p,u,g,d,f,y,h,F,v,b,z,x,R,D])},a.createElement(j.Provider,{value:h},a.createElement(G,{"data-is-root-theme":r?"true":"false","data-accent-color":p,"data-gray-color":g,"data-has-background":w?"true":"false","data-radius":d,"data-font-family":f,"data-heading-font-family":y,ref:Y,...C,className:(0,K.default)("radix-themes",{light:m==="light",dark:m==="dark"},C.className)})))});B.displayName="ThemeImpl";
2
2
  //# sourceMappingURL=theme.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/theme.tsx", "../../../src/helpers/get-matching-gray-color.ts", "../../../src/hooks/use-prop-synced-state.ts", "../../../src/props/as-child.prop.ts", "../../../src/props/color.prop.ts", "../../../src/props/radius.prop.ts", "../../../src/components/theme.props.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Direction, Slot, Tooltip as TooltipPrimitive } from 'radix-ui';\nimport { useComposedRefs, useLayoutEffect } from 'radix-ui/internal';\n\nimport { getMatchingGrayColor } from '../helpers/get-matching-gray-color.js';\nimport { usePropSyncedState } from '../hooks/use-prop-synced-state.js';\nimport { themePropDefs } from './theme.props.js';\n\nimport type { ThemeOwnProps } from './theme.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\nconst noop = () => {};\n\ntype ThemeAppearance = (typeof themePropDefs.appearance.values)[number];\ntype ThemeAccentColor = (typeof themePropDefs.accentColor.values)[number];\ntype ThemeGrayColor = (typeof themePropDefs.grayColor.values)[number];\ntype ThemeRadius = (typeof themePropDefs.radius.values)[number];\ntype ThemeFontFamily = (typeof themePropDefs.fontFamily.values)[number];\n// Headings follow the body font until something sets this, so `undefined` is a\n// meaningful value here rather than a missing one.\ntype ThemeHeadingFontFamily = ThemeFontFamily | undefined;\n\ninterface ThemeChangeHandlers {\n onAppearanceChange: (appearance: ThemeAppearance) => void;\n onAccentColorChange: (accentColor: ThemeAccentColor) => void;\n onGrayColorChange: (grayColor: ThemeGrayColor) => void;\n onRadiusChange: (radius: ThemeRadius) => void;\n onFontFamilyChange: (fontFamily: ThemeFontFamily) => void;\n onHeadingFontFamilyChange: (headingFontFamily: ThemeHeadingFontFamily) => void;\n}\n\ninterface ThemeContextValue extends ThemeChangeHandlers {\n appearance: ThemeAppearance;\n accentColor: ThemeAccentColor;\n grayColor: ThemeGrayColor;\n resolvedGrayColor: ThemeGrayColor;\n radius: ThemeRadius;\n fontFamily: ThemeFontFamily;\n headingFontFamily: ThemeHeadingFontFamily;\n}\n// Default theme values used when components render outside a Theme provider\nconst defaultThemeContext: ThemeContextValue = {\n appearance: themePropDefs.appearance.default,\n accentColor: themePropDefs.accentColor.default,\n grayColor: themePropDefs.grayColor.default,\n resolvedGrayColor: themePropDefs.grayColor.default,\n radius: themePropDefs.radius.default,\n fontFamily: themePropDefs.fontFamily.default,\n headingFontFamily: undefined,\n onAppearanceChange: noop,\n onAccentColorChange: noop,\n onGrayColorChange: noop,\n onRadiusChange: noop,\n onFontFamilyChange: noop,\n onHeadingFontFamilyChange: noop,\n};\n\nconst ThemeContext = React.createContext<ThemeContextValue | undefined>(undefined);\n\nfunction useThemeContext() {\n const context = React.useContext(ThemeContext);\n // Return default context if used outside Theme provider (e.g., during SSR)\n return context ?? defaultThemeContext;\n}\n\ninterface ThemeProps extends ThemeImplPublicProps {}\nconst Theme = React.forwardRef<ThemeImplElement, ThemeProps>((props, forwardedRef) => {\n const context = React.useContext(ThemeContext);\n // Direction is inherited: a Radix DirectionProvider above the Theme (for a right-to-left app)\n // wins, and left-to-right stays the default when there is none.\n const dir = Direction.useDirection();\n const isRoot = context === undefined;\n if (isRoot) {\n return (\n <TooltipPrimitive.Provider delayDuration={200}>\n <Direction.Provider dir={dir}>\n <ThemeRoot {...props} ref={forwardedRef} />\n </Direction.Provider>\n </TooltipPrimitive.Provider>\n );\n }\n return <ThemeImpl {...props} ref={forwardedRef} />;\n});\nTheme.displayName = 'Theme';\n\nconst ThemeRoot = React.forwardRef<ThemeImplElement, ThemeImplPublicProps>(\n (props, forwardedRef) => {\n const {\n appearance: appearanceProp = themePropDefs.appearance.default,\n accentColor: accentColorProp = themePropDefs.accentColor.default,\n grayColor: grayColorProp = themePropDefs.grayColor.default,\n radius: radiusProp = themePropDefs.radius.default,\n fontFamily: fontFamilyProp = themePropDefs.fontFamily.default,\n headingFontFamily: headingFontFamilyProp,\n hasBackground = themePropDefs.hasBackground.default,\n ...rootProps\n } = props;\n\n // Each of these follows its prop but stays independently settable, so\n // `ThemePanel` can change the theme at runtime. Syncing during render\n // rather than in an effect matters here: an effect would commit the old\n // theme first and re-render every consumer of the context a second time.\n const [appearance, setAppearance] = usePropSyncedState(appearanceProp);\n const [accentColor, setAccentColor] = usePropSyncedState(accentColorProp);\n const [grayColor, setGrayColor] = usePropSyncedState(grayColorProp);\n const [radius, setRadius] = usePropSyncedState(radiusProp);\n const [fontFamily, setFontFamily] = usePropSyncedState(fontFamilyProp);\n const [headingFontFamily, setHeadingFontFamily] = usePropSyncedState(headingFontFamilyProp);\n\n return (\n <ThemeImpl\n {...rootProps}\n ref={forwardedRef}\n isRoot\n hasBackground={hasBackground}\n //\n appearance={appearance}\n accentColor={accentColor}\n grayColor={grayColor}\n radius={radius}\n fontFamily={fontFamily}\n headingFontFamily={headingFontFamily}\n //\n onAppearanceChange={setAppearance}\n onAccentColorChange={setAccentColor}\n onGrayColorChange={setGrayColor}\n onRadiusChange={setRadius}\n onFontFamilyChange={setFontFamily}\n onHeadingFontFamilyChange={setHeadingFontFamily}\n />\n );\n },\n);\nThemeRoot.displayName = 'ThemeRoot';\n\ntype ThemeImplElement = React.ElementRef<'div'>;\ninterface ThemeImplProps extends ThemeImplPublicProps, ThemeImplPrivateProps {}\ninterface ThemeImplPublicProps\n extends ComponentPropsWithout<'div', RemovedProps | 'dir'>,\n ThemeOwnProps {}\ninterface ThemeImplPrivateProps extends Partial<ThemeChangeHandlers> {\n isRoot?: boolean;\n}\nfunction getClientOS(): 'windows' | 'macos' | 'linux' | undefined {\n if (typeof navigator === 'undefined') return undefined;\n const ua = navigator.userAgent;\n if (ua.includes('Win')) return 'windows';\n if (ua.includes('Mac')) return 'macos';\n if (ua.includes('Linux')) return 'linux';\n return undefined;\n}\n\nconst ThemeImpl = React.forwardRef<ThemeImplElement, ThemeImplProps>((props, forwardedRef) => {\n const context = React.useContext(ThemeContext);\n const {\n asChild,\n isRoot,\n hasBackground: hasBackgroundProp,\n //\n appearance = props.appearance ?? context?.appearance ?? themePropDefs.appearance.default,\n accentColor = props.accentColor ?? context?.accentColor ?? themePropDefs.accentColor.default,\n grayColor = props.grayColor ?? context?.resolvedGrayColor ?? themePropDefs.grayColor.default,\n radius = props.radius ?? context?.radius ?? themePropDefs.radius.default,\n fontFamily = props.fontFamily ?? context?.fontFamily ?? themePropDefs.fontFamily.default,\n headingFontFamily = props.headingFontFamily ?? context?.headingFontFamily,\n //\n onAppearanceChange = noop,\n onAccentColorChange = noop,\n onGrayColorChange = noop,\n onRadiusChange = noop,\n onFontFamilyChange = noop,\n onHeadingFontFamilyChange = noop,\n //\n ...themeProps\n } = props;\n const Comp = asChild ? Slot.Root : 'div';\n const resolvedGrayColor = grayColor === 'auto' ? getMatchingGrayColor(accentColor) : grayColor;\n const isExplicitAppearance = props.appearance === 'light' || props.appearance === 'dark';\n const hasBackground =\n hasBackgroundProp === undefined ? isRoot || isExplicitAppearance : hasBackgroundProp;\n\n // `data-os` can only be resolved on the client. Writing it straight to the\n // DOM keeps it out of the server markup \u2014 so hydration still matches \u2014 without\n // spending a render pass, and a state update here would re-render the whole\n // application on mount.\n const rootRef = React.useRef<ThemeImplElement>(null);\n const composedRef = useComposedRefs(forwardedRef, rootRef);\n const hasExplicitOS = 'data-os' in themeProps;\n\n useLayoutEffect(() => {\n if (!isRoot || hasExplicitOS) return;\n const node = rootRef.current;\n if (!node) return;\n\n const os = getClientOS();\n if (!os) return;\n node.setAttribute('data-os', os);\n return () => node.removeAttribute('data-os');\n }, [isRoot, hasExplicitOS]);\n\n return (\n <ThemeContext.Provider\n value={React.useMemo(\n () => ({\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n radius,\n fontFamily,\n headingFontFamily,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onRadiusChange,\n onFontFamilyChange,\n onHeadingFontFamilyChange,\n }),\n [\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n radius,\n fontFamily,\n headingFontFamily,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onRadiusChange,\n onFontFamilyChange,\n onHeadingFontFamilyChange,\n ],\n )}\n >\n <Comp\n data-is-root-theme={isRoot ? 'true' : 'false'}\n data-accent-color={accentColor}\n data-gray-color={resolvedGrayColor}\n // for nested `Theme` background\n data-has-background={hasBackground ? 'true' : 'false'}\n data-radius={radius}\n data-font-family={fontFamily}\n data-heading-font-family={headingFontFamily}\n ref={composedRef}\n {...themeProps}\n className={classNames(\n 'radix-themes',\n {\n light: appearance === 'light',\n dark: appearance === 'dark',\n },\n themeProps.className,\n )}\n />\n </ThemeContext.Provider>\n );\n});\nThemeImpl.displayName = 'ThemeImpl';\n\nexport { Theme, ThemeContext, useThemeContext };\nexport type { ThemeProps, ThemeContextValue };\n", "import type { accentColors } from '../props/color.prop.js';\n\ntype ThemeAccentColor = (typeof accentColors)[number];\n\nexport function getMatchingGrayColor(accentColor: ThemeAccentColor) {\n switch (accentColor) {\n case 'tomato':\n case 'red':\n case 'ruby':\n case 'crimson':\n case 'pink':\n case 'plum':\n case 'purple':\n case 'violet':\n return 'mauve';\n case 'iris':\n case 'indigo':\n case 'blue':\n case 'sky':\n case 'cyan':\n return 'slate';\n case 'teal':\n case 'jade':\n case 'mint':\n case 'green':\n return 'sage';\n case 'grass':\n case 'lime':\n return 'olive';\n case 'yellow':\n case 'amber':\n case 'orange':\n case 'brown':\n case 'gold':\n case 'bronze':\n return 'sand';\n case 'gray':\n return 'gray';\n }\n}\n", "import * as React from 'react';\n\n/**\n * State that tracks a prop but can also be set imperatively \u2014 the shape `Theme`\n * needs, where a prop sets the value and `ThemePanel` can change it at runtime.\n *\n * Adjusts state during render rather than syncing in a `useEffect`. An effect\n * would commit one render carrying the *old* value and schedule a second one,\n * which for a provider means every consumer renders twice and the browser can\n * paint the stale value in between.\n *\n * @see https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */\nexport function usePropSyncedState<T>(propValue: T) {\n const [value, setValue] = React.useState(propValue);\n const [previousPropValue, setPreviousPropValue] = React.useState(propValue);\n\n if (!Object.is(propValue, previousPropValue)) {\n setPreviousPropValue(propValue);\n setValue(propValue);\n }\n\n return [value, setValue] as const;\n}\n", "import type { PropDef } from './prop-def.js';\n\nconst asChildPropDef = {\n /**\n * Composes the component into its immediate child instead of rendering its own HTML element.\n * You\u2019ll have to provide a single React Element child.\n */\n asChild: {\n type: 'boolean',\n },\n} satisfies {\n asChild: PropDef<boolean>;\n};\n\nexport { asChildPropDef };\n", "import type { PropDef } from './prop-def.js';\n\n// prettier-ignore\nconst accentColors = ['gray', 'gold', 'bronze', 'brown', 'yellow', 'amber', 'orange', 'tomato', 'red', 'ruby', 'crimson', 'pink', 'plum', 'purple', 'violet', 'iris', 'indigo', 'blue', 'cyan', 'teal', 'jade', 'green', 'grass', 'lime', 'mint', 'sky'] as const;\n\nconst grayColors = ['auto', 'gray', 'mauve', 'slate', 'sage', 'olive', 'sand'] as const;\n\nconst colorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: undefined as (typeof accentColors)[number] | undefined,\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\n// 1. When used on components that compose Text, sets the color of the text to the current accent.\n// 2. Re-declares the accent role tokens (`--accent-ink`, `--accent-solid`, ...) that descendants read.\nconst accentColorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: '' as (typeof accentColors)[number],\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\n// For components whose colour comes from their content (Badge, Avatar, Code): they rest gray, and `color` picks a category when it means something.\nconst grayAccentColorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: 'gray' as (typeof accentColors)[number],\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\nexport {\n accentColorPropDef,\n grayAccentColorPropDef,\n colorPropDef,\n //\n accentColors,\n grayColors,\n};\n", "import type { PropDef } from './prop-def.js';\n\nconst radii = ['none', 'small', 'medium', 'large', 'full'] as const;\n\nconst radiusPropDef = {\n radius: {\n type: 'enum',\n values: radii,\n default: undefined,\n },\n} satisfies {\n radius: PropDef<(typeof radii)[number]>;\n};\n\nexport { radiusPropDef, radii };\n", "import { asChildPropDef } from '../props/as-child.prop.js';\nimport { accentColors, grayColors } from '../props/color.prop.js';\nimport { radii } from '../props/radius.prop.js';\n\nimport type { GetPropDefTypes, PropDef } from '../props/prop-def.js';\n\nconst appearances = ['inherit', 'light', 'dark'] as const;\nconst fontFamilies = ['sans', 'mono', 'serif'] as const;\n\nconst themePropDefs = {\n ...asChildPropDef,\n /**\n * Whether to apply background color to the Theme element.\n *\n * Defaults to true for the root Theme and for Theme elements that\n * have an explicit light or dark appearance prop.\n */\n hasBackground: { type: 'boolean', default: true },\n /**\n * Sets the color scheme of the theme, typcially referred to as light and dark mode.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/dark-mode\n */\n appearance: { type: 'enum', values: appearances, default: 'inherit' },\n /**\n * Selects one of the accent color options to use in the Theme.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/color\n */\n accentColor: { type: 'enum', values: accentColors, default: 'gray' },\n /**\n * Selects one of the gray color options to use in the Theme.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/color\n */\n grayColor: { type: 'enum', values: grayColors, default: 'gray' },\n /**\n * Sets the default radius of the components.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/visual-style\n */\n radius: { type: 'enum', values: radii, default: 'full' },\n /**\n * Sets the font family used for body text in the theme.\n *\n * Headings follow this unless `headingFontFamily` (or the `--font-heading`\n * token) says otherwise.\n *\n * @default 'sans'\n */\n fontFamily: { type: 'enum', values: fontFamilies, default: 'sans' },\n /**\n * Sets the font family used for `Heading`, independently of body text.\n *\n * Deliberately has no default: when it is left unset no attribute is\n * emitted and `--font-heading` keeps following `--font-body`, so a\n * `--font-heading` override in your own CSS survives a `fontFamily` switch.\n */\n headingFontFamily: { type: 'enum', values: fontFamilies },\n} satisfies {\n hasBackground: PropDef<boolean>;\n appearance: PropDef<(typeof appearances)[number]>;\n accentColor: PropDef<(typeof accentColors)[number]>;\n grayColor: PropDef<(typeof grayColors)[number]>;\n radius: PropDef<(typeof radii)[number]>;\n fontFamily: PropDef<(typeof fontFamilies)[number]>;\n headingFontFamily: PropDef<(typeof fontFamilies)[number]>;\n};\n\ntype ThemeOwnProps = GetPropDefTypes<typeof themePropDefs & typeof asChildPropDef>;\n\nexport { themePropDefs };\nexport type { ThemeOwnProps };\n"],
5
- "mappings": "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",
6
- "names": ["theme_exports", "__export", "Theme", "ThemeContext", "useThemeContext", "__toCommonJS", "React", "import_classnames", "import_radix_ui", "import_internal", "getMatchingGrayColor", "accentColor", "React", "usePropSyncedState", "propValue", "value", "setValue", "previousPropValue", "setPreviousPropValue", "asChildPropDef", "accentColors", "grayColors", "radii", "appearances", "fontFamilies", "themePropDefs", "asChildPropDef", "accentColors", "grayColors", "radii", "noop", "defaultThemeContext", "themePropDefs", "ThemeContext", "useThemeContext", "Theme", "props", "forwardedRef", "context", "dir", "TooltipPrimitive", "ThemeRoot", "ThemeImpl", "appearanceProp", "accentColorProp", "grayColorProp", "radiusProp", "fontFamilyProp", "headingFontFamilyProp", "hasBackground", "rootProps", "appearance", "setAppearance", "usePropSyncedState", "accentColor", "setAccentColor", "grayColor", "setGrayColor", "radius", "setRadius", "fontFamily", "setFontFamily", "headingFontFamily", "setHeadingFontFamily", "getClientOS", "ua", "asChild", "isRoot", "hasBackgroundProp", "onAppearanceChange", "onAccentColorChange", "onGrayColorChange", "onRadiusChange", "onFontFamilyChange", "onHeadingFontFamilyChange", "themeProps", "Comp", "resolvedGrayColor", "getMatchingGrayColor", "isExplicitAppearance", "rootRef", "composedRef", "hasExplicitOS", "node", "os", "classNames"]
3
+ "sources": ["../../../src/components/theme.tsx", "../../../src/helpers/get-matching-gray-color.ts", "../../../src/helpers/theme-size.ts", "../../../src/hooks/use-prop-synced-state.ts", "../../../src/props/as-child.prop.ts", "../../../src/props/color.prop.ts", "../../../src/props/radius.prop.ts", "../../../src/components/theme.props.tsx"],
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Direction, Slot, Tooltip as TooltipPrimitive } from 'radix-ui';\nimport { useComposedRefs, useLayoutEffect } from 'radix-ui/internal';\n\nimport { getMatchingGrayColor } from '../helpers/get-matching-gray-color.js';\nimport { ThemeSizeContext } from '../helpers/theme-size.js';\nimport { usePropSyncedState } from '../hooks/use-prop-synced-state.js';\nimport { themePropDefs } from './theme.props.js';\n\nimport type { ThemeOwnProps } from './theme.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\nconst noop = () => {};\n\ntype ThemeAppearance = (typeof themePropDefs.appearance.values)[number];\ntype ThemeAccentColor = (typeof themePropDefs.accentColor.values)[number];\ntype ThemeGrayColor = (typeof themePropDefs.grayColor.values)[number];\ntype ThemeRadius = (typeof themePropDefs.radius.values)[number];\ntype ThemeFontFamily = (typeof themePropDefs.fontFamily.values)[number];\ntype ThemeSize = (typeof themePropDefs.size.values)[number];\n// Headings follow the body font until something sets this, so `undefined` is a\n// meaningful value here rather than a missing one.\ntype ThemeHeadingFontFamily = ThemeFontFamily | undefined;\n\ninterface ThemeChangeHandlers {\n onAppearanceChange: (appearance: ThemeAppearance) => void;\n onAccentColorChange: (accentColor: ThemeAccentColor) => void;\n onGrayColorChange: (grayColor: ThemeGrayColor) => void;\n onRadiusChange: (radius: ThemeRadius) => void;\n onFontFamilyChange: (fontFamily: ThemeFontFamily) => void;\n onHeadingFontFamilyChange: (headingFontFamily: ThemeHeadingFontFamily) => void;\n onSizeChange: (size: ThemeSize) => void;\n}\n\ninterface ThemeContextValue extends ThemeChangeHandlers {\n appearance: ThemeAppearance;\n accentColor: ThemeAccentColor;\n grayColor: ThemeGrayColor;\n resolvedGrayColor: ThemeGrayColor;\n radius: ThemeRadius;\n fontFamily: ThemeFontFamily;\n headingFontFamily: ThemeHeadingFontFamily;\n size: ThemeSize;\n}\n// Default theme values used when components render outside a Theme provider\nconst defaultThemeContext: ThemeContextValue = {\n appearance: themePropDefs.appearance.default,\n accentColor: themePropDefs.accentColor.default,\n grayColor: themePropDefs.grayColor.default,\n resolvedGrayColor: themePropDefs.grayColor.default,\n radius: themePropDefs.radius.default,\n fontFamily: themePropDefs.fontFamily.default,\n headingFontFamily: undefined,\n size: themePropDefs.size.default,\n onAppearanceChange: noop,\n onAccentColorChange: noop,\n onGrayColorChange: noop,\n onRadiusChange: noop,\n onFontFamilyChange: noop,\n onHeadingFontFamilyChange: noop,\n onSizeChange: noop,\n};\n\nconst ThemeContext = React.createContext<ThemeContextValue | undefined>(undefined);\n\nfunction useThemeContext() {\n const context = React.useContext(ThemeContext);\n // Return default context if used outside Theme provider (e.g., during SSR)\n return context ?? defaultThemeContext;\n}\n\ninterface ThemeProps extends ThemeImplPublicProps {}\nconst Theme = React.forwardRef<ThemeImplElement, ThemeProps>((props, forwardedRef) => {\n const context = React.useContext(ThemeContext);\n // Direction is inherited: a Radix DirectionProvider above the Theme (for a right-to-left app)\n // wins, and left-to-right stays the default when there is none.\n const dir = Direction.useDirection();\n const isRoot = context === undefined;\n if (isRoot) {\n return (\n <TooltipPrimitive.Provider delayDuration={200}>\n <Direction.Provider dir={dir}>\n <ThemeRoot {...props} ref={forwardedRef} />\n </Direction.Provider>\n </TooltipPrimitive.Provider>\n );\n }\n return <ThemeImpl {...props} ref={forwardedRef} />;\n});\nTheme.displayName = 'Theme';\n\nconst ThemeRoot = React.forwardRef<ThemeImplElement, ThemeImplPublicProps>((props, forwardedRef) => {\n const {\n appearance: appearanceProp = themePropDefs.appearance.default,\n accentColor: accentColorProp = themePropDefs.accentColor.default,\n grayColor: grayColorProp = themePropDefs.grayColor.default,\n radius: radiusProp = themePropDefs.radius.default,\n fontFamily: fontFamilyProp = themePropDefs.fontFamily.default,\n headingFontFamily: headingFontFamilyProp,\n size: sizeProp = themePropDefs.size.default,\n hasBackground = themePropDefs.hasBackground.default,\n ...rootProps\n } = props;\n\n // Each of these follows its prop but stays independently settable, so\n // `ThemePanel` can change the theme at runtime. Syncing during render\n // rather than in an effect matters here: an effect would commit the old\n // theme first and re-render every consumer of the context a second time.\n const [appearance, setAppearance] = usePropSyncedState(appearanceProp);\n const [accentColor, setAccentColor] = usePropSyncedState(accentColorProp);\n const [grayColor, setGrayColor] = usePropSyncedState(grayColorProp);\n const [radius, setRadius] = usePropSyncedState(radiusProp);\n const [fontFamily, setFontFamily] = usePropSyncedState(fontFamilyProp);\n const [headingFontFamily, setHeadingFontFamily] = usePropSyncedState(headingFontFamilyProp);\n const [size, setSize] = usePropSyncedState(sizeProp);\n\n return (\n <ThemeImpl\n {...rootProps}\n ref={forwardedRef}\n isRoot\n hasBackground={hasBackground}\n //\n appearance={appearance}\n accentColor={accentColor}\n grayColor={grayColor}\n radius={radius}\n fontFamily={fontFamily}\n headingFontFamily={headingFontFamily}\n size={size}\n //\n onAppearanceChange={setAppearance}\n onAccentColorChange={setAccentColor}\n onGrayColorChange={setGrayColor}\n onRadiusChange={setRadius}\n onFontFamilyChange={setFontFamily}\n onHeadingFontFamilyChange={setHeadingFontFamily}\n onSizeChange={setSize}\n />\n );\n});\nThemeRoot.displayName = 'ThemeRoot';\n\ntype ThemeImplElement = React.ElementRef<'div'>;\ninterface ThemeImplProps extends ThemeImplPublicProps, ThemeImplPrivateProps {}\ninterface ThemeImplPublicProps extends ComponentPropsWithout<'div', RemovedProps | 'dir'>, ThemeOwnProps {}\ninterface ThemeImplPrivateProps extends Partial<ThemeChangeHandlers> {\n isRoot?: boolean;\n}\nfunction getClientOS(): 'windows' | 'macos' | 'linux' | undefined {\n if (typeof navigator === 'undefined') return undefined;\n const ua = navigator.userAgent;\n if (ua.includes('Win')) return 'windows';\n if (ua.includes('Mac')) return 'macos';\n if (ua.includes('Linux')) return 'linux';\n return undefined;\n}\n\nconst ThemeImpl = React.forwardRef<ThemeImplElement, ThemeImplProps>((props, forwardedRef) => {\n const context = React.useContext(ThemeContext);\n const {\n asChild,\n isRoot,\n hasBackground: hasBackgroundProp,\n //\n appearance = props.appearance ?? context?.appearance ?? themePropDefs.appearance.default,\n accentColor = props.accentColor ?? context?.accentColor ?? themePropDefs.accentColor.default,\n grayColor = props.grayColor ?? context?.resolvedGrayColor ?? themePropDefs.grayColor.default,\n radius = props.radius ?? context?.radius ?? themePropDefs.radius.default,\n fontFamily = props.fontFamily ?? context?.fontFamily ?? themePropDefs.fontFamily.default,\n headingFontFamily = props.headingFontFamily ?? context?.headingFontFamily,\n size = props.size ?? context?.size ?? themePropDefs.size.default,\n //\n onAppearanceChange = noop,\n onAccentColorChange = noop,\n onGrayColorChange = noop,\n onRadiusChange = noop,\n onFontFamilyChange = noop,\n onHeadingFontFamilyChange = noop,\n onSizeChange = noop,\n //\n ...themeProps\n } = props;\n const Comp = asChild ? Slot.Root : 'div';\n const resolvedGrayColor = grayColor === 'auto' ? getMatchingGrayColor(accentColor) : grayColor;\n const isExplicitAppearance = props.appearance === 'light' || props.appearance === 'dark';\n const hasBackground = hasBackgroundProp === undefined ? isRoot || isExplicitAppearance : hasBackgroundProp;\n\n // `data-os` can only be resolved on the client. Writing it straight to the\n // DOM keeps it out of the server markup \u2014 so hydration still matches \u2014 without\n // spending a render pass, and a state update here would re-render the whole\n // application on mount.\n const rootRef = React.useRef<ThemeImplElement>(null);\n const composedRef = useComposedRefs(forwardedRef, rootRef);\n const hasExplicitOS = 'data-os' in themeProps;\n\n useLayoutEffect(() => {\n if (!isRoot || hasExplicitOS) return;\n const node = rootRef.current;\n if (!node) return;\n\n const os = getClientOS();\n if (!os) return;\n node.setAttribute('data-os', os);\n return () => node.removeAttribute('data-os');\n }, [isRoot, hasExplicitOS]);\n\n return (\n <ThemeContext.Provider\n value={React.useMemo(\n () => ({\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n radius,\n fontFamily,\n headingFontFamily,\n size,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onRadiusChange,\n onFontFamilyChange,\n onHeadingFontFamilyChange,\n onSizeChange,\n }),\n [\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n radius,\n fontFamily,\n headingFontFamily,\n size,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onRadiusChange,\n onFontFamilyChange,\n onHeadingFontFamilyChange,\n onSizeChange,\n ],\n )}\n >\n {/* Size travels on its own context as a bare string, so the components\n that read it do not re-render when another theme value changes. */}\n <ThemeSizeContext.Provider value={size}>\n <Comp\n data-is-root-theme={isRoot ? 'true' : 'false'}\n data-accent-color={accentColor}\n data-gray-color={resolvedGrayColor}\n // for nested `Theme` background\n data-has-background={hasBackground ? 'true' : 'false'}\n data-radius={radius}\n data-font-family={fontFamily}\n data-heading-font-family={headingFontFamily}\n ref={composedRef}\n {...themeProps}\n className={classNames(\n 'radix-themes',\n {\n light: appearance === 'light',\n dark: appearance === 'dark',\n },\n themeProps.className,\n )}\n />\n </ThemeSizeContext.Provider>\n </ThemeContext.Provider>\n );\n});\nThemeImpl.displayName = 'ThemeImpl';\n\nexport { Theme, ThemeContext, useThemeContext };\nexport type { ThemeProps, ThemeContextValue };\n", "import type { accentColors } from '../props/color.prop.js';\n\ntype ThemeAccentColor = (typeof accentColors)[number];\n\nexport function getMatchingGrayColor(accentColor: ThemeAccentColor) {\n switch (accentColor) {\n case 'tomato':\n case 'red':\n case 'ruby':\n case 'crimson':\n case 'pink':\n case 'plum':\n case 'purple':\n case 'violet':\n return 'mauve';\n case 'iris':\n case 'indigo':\n case 'blue':\n case 'sky':\n case 'cyan':\n return 'slate';\n case 'teal':\n case 'jade':\n case 'mint':\n case 'green':\n return 'sage';\n case 'grass':\n case 'lime':\n return 'olive';\n case 'yellow':\n case 'amber':\n case 'orange':\n case 'brown':\n case 'gold':\n case 'bronze':\n return 'sand';\n case 'gray':\n return 'gray';\n }\n}\n", "'use client';\n\nimport * as React from 'react';\n\ntype ThemeSize = '1' | '2' | '3' | '4';\n\n/** The rest of the 1-4 index when no Theme states a size. */\nconst THEME_SIZE_DEFAULT: ThemeSize = '2';\n\n/**\n * The app-wide size index, provided by `Theme` beside `ThemeContext`.\n *\n * It is its own context, holding one string, so a component that only needs\n * the size does not re-render when the accent colour or appearance changes.\n */\nconst ThemeSizeContext = React.createContext<ThemeSize>(THEME_SIZE_DEFAULT);\nThemeSizeContext.displayName = 'ThemeSizeContext';\n\ninterface SizePropDef {\n values: readonly string[];\n default?: string;\n}\n\n/**\n * Maps the theme size onto a component's own range: the value itself when the\n * component has it, otherwise the nearest end of the range (`4` on a 1-3 scale\n * is `3`, on a 1-2 scale it is `2`).\n */\nfunction clampSize(size: ThemeSize, values: readonly string[]): string {\n if (values.includes(size)) return size;\n const n = Number(size);\n let nearest = values[0];\n let distance = Infinity;\n for (let i = 0; i < values.length; i++) {\n const d = Math.abs(Number(values[i]) - n);\n if (d < distance) {\n distance = d;\n nearest = values[i];\n }\n }\n return nearest;\n}\n\n/**\n * The size a component on the 1-4 index takes: what the caller said, else the\n * nearest Theme's size, mapped into the component's range.\n */\nfunction useThemeSize<V>(explicit: V | undefined, propDef: SizePropDef): V {\n const themeSize = React.useContext(ThemeSizeContext);\n if (explicit !== undefined) return explicit;\n // The clamped value is one of `propDef.values`, which is what `V` ranges over.\n return clampSize(themeSize, propDef.values) as V;\n}\n\n/**\n * Fills `size` from the nearest Theme when the caller left it unset, so the\n * result can go straight into `extractProps`. An explicit size, responsive\n * object included, wins.\n *\n * Returns the same props object when there is nothing to fill: when a size is\n * set, or when the theme size resolves to the prop def's own default (the\n * common case, a Theme with no size), so `extractProps` applies it as before.\n */\nfunction useThemeSizeProps<P extends { size?: unknown }>(props: P, propDef: SizePropDef): P {\n const themeSize = React.useContext(ThemeSizeContext);\n if (props.size !== undefined) return props;\n const size = clampSize(themeSize, propDef.values);\n if (size === propDef.default) return props;\n return { ...props, size };\n}\n\nexport { ThemeSizeContext, THEME_SIZE_DEFAULT, clampSize, useThemeSize, useThemeSizeProps };\nexport type { ThemeSize };\n", "import * as React from 'react';\n\n/**\n * State that tracks a prop but can also be set imperatively \u2014 the shape `Theme`\n * needs, where a prop sets the value and `ThemePanel` can change it at runtime.\n *\n * Adjusts state during render rather than syncing in a `useEffect`. An effect\n * would commit one render carrying the *old* value and schedule a second one,\n * which for a provider means every consumer renders twice and the browser can\n * paint the stale value in between.\n *\n * @see https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */\nexport function usePropSyncedState<T>(propValue: T) {\n const [value, setValue] = React.useState(propValue);\n const [previousPropValue, setPreviousPropValue] = React.useState(propValue);\n\n if (!Object.is(propValue, previousPropValue)) {\n setPreviousPropValue(propValue);\n setValue(propValue);\n }\n\n return [value, setValue] as const;\n}\n", "import type { PropDef } from './prop-def.js';\n\nconst asChildPropDef = {\n /**\n * Composes the component into its immediate child instead of rendering its own HTML element.\n * You\u2019ll have to provide a single React Element child.\n */\n asChild: {\n type: 'boolean',\n },\n} satisfies {\n asChild: PropDef<boolean>;\n};\n\nexport { asChildPropDef };\n", "import type { PropDef } from './prop-def.js';\n\n// prettier-ignore\nconst accentColors = ['gray', 'gold', 'bronze', 'brown', 'yellow', 'amber', 'orange', 'tomato', 'red', 'ruby', 'crimson', 'pink', 'plum', 'purple', 'violet', 'iris', 'indigo', 'blue', 'cyan', 'teal', 'jade', 'green', 'grass', 'lime', 'mint', 'sky'] as const;\n\nconst grayColors = ['auto', 'gray', 'mauve', 'slate', 'sage', 'olive', 'sand'] as const;\n\nconst colorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: undefined as (typeof accentColors)[number] | undefined,\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\n// 1. When used on components that compose Text, sets the color of the text to the current accent.\n// 2. Re-declares the accent role tokens (`--accent-ink`, `--accent-solid`, ...) that descendants read.\nconst accentColorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: '' as (typeof accentColors)[number],\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\n// For components whose colour comes from their content (Badge, Avatar, Code): they rest gray, and `color` picks a category when it means something.\nconst grayAccentColorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: 'gray' as (typeof accentColors)[number],\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\nexport {\n accentColorPropDef,\n grayAccentColorPropDef,\n colorPropDef,\n //\n accentColors,\n grayColors,\n};\n", "import type { PropDef } from './prop-def.js';\n\nconst radii = ['none', 'small', 'medium', 'large', 'full'] as const;\n\nconst radiusPropDef = {\n radius: {\n type: 'enum',\n values: radii,\n default: undefined,\n },\n} satisfies {\n radius: PropDef<(typeof radii)[number]>;\n};\n\nexport { radiusPropDef, radii };\n", "import { asChildPropDef } from '../props/as-child.prop.js';\nimport { accentColors, grayColors } from '../props/color.prop.js';\nimport { radii } from '../props/radius.prop.js';\n\nimport type { GetPropDefTypes, PropDef } from '../props/prop-def.js';\n\nconst appearances = ['inherit', 'light', 'dark'] as const;\nconst fontFamilies = ['sans', 'mono', 'serif'] as const;\nconst sizes = ['1', '2', '3', '4'] as const;\n\nconst themePropDefs = {\n ...asChildPropDef,\n /**\n * Whether to apply background color to the Theme element.\n *\n * Defaults to true for the root Theme and for Theme elements that\n * have an explicit light or dark appearance prop.\n */\n hasBackground: { type: 'boolean', default: true },\n /**\n * Sets the color scheme of the theme, typcially referred to as light and dark mode.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/dark-mode\n */\n appearance: { type: 'enum', values: appearances, default: 'inherit' },\n /**\n * Selects one of the accent color options to use in the Theme.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/color\n */\n accentColor: { type: 'enum', values: accentColors, default: 'gray' },\n /**\n * Selects one of the gray color options to use in the Theme.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/color\n */\n grayColor: { type: 'enum', values: grayColors, default: 'gray' },\n /**\n * Sets the default radius of the components.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/visual-style\n */\n radius: { type: 'enum', values: radii, default: 'full' },\n /**\n * Sets the font family used for body text in the theme.\n *\n * Headings follow this unless `headingFontFamily` (or the `--font-heading`\n * token) says otherwise.\n *\n * @default 'sans'\n */\n fontFamily: { type: 'enum', values: fontFamilies, default: 'sans' },\n /**\n * Sets the font family used for `Heading`, independently of body text.\n *\n * Deliberately has no default: when it is left unset no attribute is\n * emitted and `--font-heading` keeps following `--font-body`, so a\n * `--font-heading` override in your own CSS survives a `fontFamily` switch.\n */\n headingFontFamily: { type: 'enum', values: fontFamilies },\n /**\n * The app-wide size index. Every component on the 1-4 control and surface\n * scale that states no `size` of its own takes this one; an explicit\n * `size` always wins. Nested Themes override it for their subtree.\n *\n * @default '2'\n */\n size: { type: 'enum', values: sizes, default: '2' },\n} satisfies {\n hasBackground: PropDef<boolean>;\n appearance: PropDef<(typeof appearances)[number]>;\n accentColor: PropDef<(typeof accentColors)[number]>;\n grayColor: PropDef<(typeof grayColors)[number]>;\n radius: PropDef<(typeof radii)[number]>;\n fontFamily: PropDef<(typeof fontFamilies)[number]>;\n headingFontFamily: PropDef<(typeof fontFamilies)[number]>;\n size: PropDef<(typeof sizes)[number]>;\n};\n\ntype ThemeOwnProps = GetPropDefTypes<typeof themePropDefs & typeof asChildPropDef>;\n\nexport { themePropDefs };\nexport type { ThemeOwnProps };\n"],
5
+ "mappings": "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",
6
+ "names": ["theme_exports", "__export", "Theme", "ThemeContext", "useThemeContext", "__toCommonJS", "React", "import_classnames", "import_radix_ui", "import_internal", "getMatchingGrayColor", "accentColor", "React", "THEME_SIZE_DEFAULT", "ThemeSizeContext", "React", "usePropSyncedState", "propValue", "value", "setValue", "previousPropValue", "setPreviousPropValue", "asChildPropDef", "accentColors", "grayColors", "radii", "appearances", "fontFamilies", "sizes", "themePropDefs", "asChildPropDef", "accentColors", "grayColors", "radii", "noop", "defaultThemeContext", "themePropDefs", "ThemeContext", "useThemeContext", "Theme", "props", "forwardedRef", "context", "dir", "TooltipPrimitive", "ThemeRoot", "ThemeImpl", "appearanceProp", "accentColorProp", "grayColorProp", "radiusProp", "fontFamilyProp", "headingFontFamilyProp", "sizeProp", "hasBackground", "rootProps", "appearance", "setAppearance", "usePropSyncedState", "accentColor", "setAccentColor", "grayColor", "setGrayColor", "radius", "setRadius", "fontFamily", "setFontFamily", "headingFontFamily", "setHeadingFontFamily", "size", "setSize", "getClientOS", "ua", "asChild", "isRoot", "hasBackgroundProp", "onAppearanceChange", "onAccentColorChange", "onGrayColorChange", "onRadiusChange", "onFontFamilyChange", "onHeadingFontFamilyChange", "onSizeChange", "themeProps", "Comp", "resolvedGrayColor", "getMatchingGrayColor", "isExplicitAppearance", "rootRef", "composedRef", "hasExplicitOS", "node", "os", "ThemeSizeContext", "classNames"]
7
7
  }
@@ -79,6 +79,18 @@ declare const themePropDefs: {
79
79
  type: "enum";
80
80
  values: readonly ["sans", "mono", "serif"];
81
81
  };
82
+ /**
83
+ * The app-wide size index. Every component on the 1-4 control and surface
84
+ * scale that states no `size` of its own takes this one; an explicit
85
+ * `size` always wins. Nested Themes override it for their subtree.
86
+ *
87
+ * @default '2'
88
+ */
89
+ size: {
90
+ type: "enum";
91
+ values: readonly ["1", "2", "3", "4"];
92
+ default: "2";
93
+ };
82
94
  asChild: {
83
95
  type: "boolean";
84
96
  };
@@ -1 +1 @@
1
- {"version":3,"file":"theme.props.d.ts","sourceRoot":"","sources":["../../../src/components/theme.props.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAI3D,OAAO,KAAK,EAAE,eAAe,EAAW,MAAM,sBAAsB,CAAC;AAKrE,QAAA,MAAM,aAAa;IAEjB;;;;;OAKG;;;;;IAEH;;;;;OAKG;;;;;;IAEH;;;;;OAKG;;;;;;IAEH;;;;;OAKG;;;;;;IAEH;;;;;OAKG;;;;;;IAEH;;;;;;;OAOG;;;;;;IAEH;;;;;;OAMG;;;;;;;;CAUJ,CAAC;AAEF,KAAK,aAAa,GAAG,eAAe,CAAC,OAAO,aAAa,GAAG,OAAO,cAAc,CAAC,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"theme.props.d.ts","sourceRoot":"","sources":["../../../src/components/theme.props.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAI3D,OAAO,KAAK,EAAE,eAAe,EAAW,MAAM,sBAAsB,CAAC;AAMrE,QAAA,MAAM,aAAa;IAEjB;;;;;OAKG;;;;;IAEH;;;;;OAKG;;;;;;IAEH;;;;;OAKG;;;;;;IAEH;;;;;OAKG;;;;;;IAEH;;;;;OAKG;;;;;;IAEH;;;;;;;OAOG;;;;;;IAEH;;;;;;OAMG;;;;;IAEH;;;;;;OAMG;;;;;;;;;CAWJ,CAAC;AAEF,KAAK,aAAa,GAAG,eAAe,CAAC,OAAO,aAAa,GAAG,OAAO,cAAc,CAAC,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,aAAa,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";var t=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var y=(o,e)=>{for(var a in e)t(o,a,{get:e[a],enumerable:!0})},d=(o,e,a,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of m(e))!c.call(o,r)&&r!==a&&t(o,r,{get:()=>e[r],enumerable:!(s=u(e,r))||s.enumerable});return o};var P=o=>d(t({},"__esModule",{value:!0}),o);var C={};y(C,{themePropDefs:()=>g});module.exports=P(C);var p={asChild:{type:"boolean"}};var n=["gray","gold","bronze","brown","yellow","amber","orange","tomato","red","ruby","crimson","pink","plum","purple","violet","iris","indigo","blue","cyan","teal","jade","green","grass","lime","mint","sky"],f=["auto","gray","mauve","slate","sage","olive","sand"];var l=["none","small","medium","large","full"];var D=["inherit","light","dark"],i=["sans","mono","serif"],g={...p,hasBackground:{type:"boolean",default:!0},appearance:{type:"enum",values:D,default:"inherit"},accentColor:{type:"enum",values:n,default:"gray"},grayColor:{type:"enum",values:f,default:"gray"},radius:{type:"enum",values:l,default:"full"},fontFamily:{type:"enum",values:i,default:"sans"},headingFontFamily:{type:"enum",values:i}};
1
+ "use strict";var t=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var y=(o,e)=>{for(var a in e)t(o,a,{get:e[a],enumerable:!0})},d=(o,e,a,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of m(e))!c.call(o,r)&&r!==a&&t(o,r,{get:()=>e[r],enumerable:!(s=u(e,r))||s.enumerable});return o};var P=o=>d(t({},"__esModule",{value:!0}),o);var C={};y(C,{themePropDefs:()=>g});module.exports=P(C);var p={asChild:{type:"boolean"}};var n=["gray","gold","bronze","brown","yellow","amber","orange","tomato","red","ruby","crimson","pink","plum","purple","violet","iris","indigo","blue","cyan","teal","jade","green","grass","lime","mint","sky"],f=["auto","gray","mauve","slate","sage","olive","sand"];var l=["none","small","medium","large","full"];var D=["inherit","light","dark"],i=["sans","mono","serif"],b=["1","2","3","4"],g={...p,hasBackground:{type:"boolean",default:!0},appearance:{type:"enum",values:D,default:"inherit"},accentColor:{type:"enum",values:n,default:"gray"},grayColor:{type:"enum",values:f,default:"gray"},radius:{type:"enum",values:l,default:"full"},fontFamily:{type:"enum",values:i,default:"sans"},headingFontFamily:{type:"enum",values:i},size:{type:"enum",values:b,default:"2"}};
2
2
  //# sourceMappingURL=theme.props.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/theme.props.tsx", "../../../src/props/as-child.prop.ts", "../../../src/props/color.prop.ts", "../../../src/props/radius.prop.ts"],
4
- "sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\nimport { accentColors, grayColors } from '../props/color.prop.js';\nimport { radii } from '../props/radius.prop.js';\n\nimport type { GetPropDefTypes, PropDef } from '../props/prop-def.js';\n\nconst appearances = ['inherit', 'light', 'dark'] as const;\nconst fontFamilies = ['sans', 'mono', 'serif'] as const;\n\nconst themePropDefs = {\n ...asChildPropDef,\n /**\n * Whether to apply background color to the Theme element.\n *\n * Defaults to true for the root Theme and for Theme elements that\n * have an explicit light or dark appearance prop.\n */\n hasBackground: { type: 'boolean', default: true },\n /**\n * Sets the color scheme of the theme, typcially referred to as light and dark mode.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/dark-mode\n */\n appearance: { type: 'enum', values: appearances, default: 'inherit' },\n /**\n * Selects one of the accent color options to use in the Theme.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/color\n */\n accentColor: { type: 'enum', values: accentColors, default: 'gray' },\n /**\n * Selects one of the gray color options to use in the Theme.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/color\n */\n grayColor: { type: 'enum', values: grayColors, default: 'gray' },\n /**\n * Sets the default radius of the components.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/visual-style\n */\n radius: { type: 'enum', values: radii, default: 'full' },\n /**\n * Sets the font family used for body text in the theme.\n *\n * Headings follow this unless `headingFontFamily` (or the `--font-heading`\n * token) says otherwise.\n *\n * @default 'sans'\n */\n fontFamily: { type: 'enum', values: fontFamilies, default: 'sans' },\n /**\n * Sets the font family used for `Heading`, independently of body text.\n *\n * Deliberately has no default: when it is left unset no attribute is\n * emitted and `--font-heading` keeps following `--font-body`, so a\n * `--font-heading` override in your own CSS survives a `fontFamily` switch.\n */\n headingFontFamily: { type: 'enum', values: fontFamilies },\n} satisfies {\n hasBackground: PropDef<boolean>;\n appearance: PropDef<(typeof appearances)[number]>;\n accentColor: PropDef<(typeof accentColors)[number]>;\n grayColor: PropDef<(typeof grayColors)[number]>;\n radius: PropDef<(typeof radii)[number]>;\n fontFamily: PropDef<(typeof fontFamilies)[number]>;\n headingFontFamily: PropDef<(typeof fontFamilies)[number]>;\n};\n\ntype ThemeOwnProps = GetPropDefTypes<typeof themePropDefs & typeof asChildPropDef>;\n\nexport { themePropDefs };\nexport type { ThemeOwnProps };\n", "import type { PropDef } from './prop-def.js';\n\nconst asChildPropDef = {\n /**\n * Composes the component into its immediate child instead of rendering its own HTML element.\n * You\u2019ll have to provide a single React Element child.\n */\n asChild: {\n type: 'boolean',\n },\n} satisfies {\n asChild: PropDef<boolean>;\n};\n\nexport { asChildPropDef };\n", "import type { PropDef } from './prop-def.js';\n\n// prettier-ignore\nconst accentColors = ['gray', 'gold', 'bronze', 'brown', 'yellow', 'amber', 'orange', 'tomato', 'red', 'ruby', 'crimson', 'pink', 'plum', 'purple', 'violet', 'iris', 'indigo', 'blue', 'cyan', 'teal', 'jade', 'green', 'grass', 'lime', 'mint', 'sky'] as const;\n\nconst grayColors = ['auto', 'gray', 'mauve', 'slate', 'sage', 'olive', 'sand'] as const;\n\nconst colorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: undefined as (typeof accentColors)[number] | undefined,\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\n// 1. When used on components that compose Text, sets the color of the text to the current accent.\n// 2. Re-declares the accent role tokens (`--accent-ink`, `--accent-solid`, ...) that descendants read.\nconst accentColorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: '' as (typeof accentColors)[number],\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\n// For components whose colour comes from their content (Badge, Avatar, Code): they rest gray, and `color` picks a category when it means something.\nconst grayAccentColorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: 'gray' as (typeof accentColors)[number],\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\nexport {\n accentColorPropDef,\n grayAccentColorPropDef,\n colorPropDef,\n //\n accentColors,\n grayColors,\n};\n", "import type { PropDef } from './prop-def.js';\n\nconst radii = ['none', 'small', 'medium', 'large', 'full'] as const;\n\nconst radiusPropDef = {\n radius: {\n type: 'enum',\n values: radii,\n default: undefined,\n },\n} satisfies {\n radius: PropDef<(typeof radii)[number]>;\n};\n\nexport { radiusPropDef, radii };\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mBAAAE,IAAA,eAAAC,EAAAH,GCEA,IAAMI,EAAiB,CAKrB,QAAS,CACP,KAAM,SACR,CACF,ECPA,IAAMC,EAAe,CAAC,OAAQ,OAAQ,SAAU,QAAS,SAAU,QAAS,SAAU,SAAU,MAAO,OAAQ,UAAW,OAAQ,OAAQ,SAAU,SAAU,OAAQ,SAAU,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,QAAS,OAAQ,OAAQ,KAAK,EAEjPC,EAAa,CAAC,OAAQ,OAAQ,QAAS,QAAS,OAAQ,QAAS,MAAM,ECH7E,IAAMC,EAAQ,CAAC,OAAQ,QAAS,SAAU,QAAS,MAAM,EHIzD,IAAMC,EAAc,CAAC,UAAW,QAAS,MAAM,EACzCC,EAAe,CAAC,OAAQ,OAAQ,OAAO,EAEvCC,EAAgB,CACpB,GAAGC,EAOH,cAAe,CAAE,KAAM,UAAW,QAAS,EAAK,EAOhD,WAAY,CAAE,KAAM,OAAQ,OAAQH,EAAa,QAAS,SAAU,EAOpE,YAAa,CAAE,KAAM,OAAQ,OAAQI,EAAc,QAAS,MAAO,EAOnE,UAAW,CAAE,KAAM,OAAQ,OAAQC,EAAY,QAAS,MAAO,EAO/D,OAAQ,CAAE,KAAM,OAAQ,OAAQC,EAAO,QAAS,MAAO,EASvD,WAAY,CAAE,KAAM,OAAQ,OAAQL,EAAc,QAAS,MAAO,EAQlE,kBAAmB,CAAE,KAAM,OAAQ,OAAQA,CAAa,CAC1D",
6
- "names": ["theme_props_exports", "__export", "themePropDefs", "__toCommonJS", "asChildPropDef", "accentColors", "grayColors", "radii", "appearances", "fontFamilies", "themePropDefs", "asChildPropDef", "accentColors", "grayColors", "radii"]
4
+ "sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\nimport { accentColors, grayColors } from '../props/color.prop.js';\nimport { radii } from '../props/radius.prop.js';\n\nimport type { GetPropDefTypes, PropDef } from '../props/prop-def.js';\n\nconst appearances = ['inherit', 'light', 'dark'] as const;\nconst fontFamilies = ['sans', 'mono', 'serif'] as const;\nconst sizes = ['1', '2', '3', '4'] as const;\n\nconst themePropDefs = {\n ...asChildPropDef,\n /**\n * Whether to apply background color to the Theme element.\n *\n * Defaults to true for the root Theme and for Theme elements that\n * have an explicit light or dark appearance prop.\n */\n hasBackground: { type: 'boolean', default: true },\n /**\n * Sets the color scheme of the theme, typcially referred to as light and dark mode.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/dark-mode\n */\n appearance: { type: 'enum', values: appearances, default: 'inherit' },\n /**\n * Selects one of the accent color options to use in the Theme.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/color\n */\n accentColor: { type: 'enum', values: accentColors, default: 'gray' },\n /**\n * Selects one of the gray color options to use in the Theme.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/color\n */\n grayColor: { type: 'enum', values: grayColors, default: 'gray' },\n /**\n * Sets the default radius of the components.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/visual-style\n */\n radius: { type: 'enum', values: radii, default: 'full' },\n /**\n * Sets the font family used for body text in the theme.\n *\n * Headings follow this unless `headingFontFamily` (or the `--font-heading`\n * token) says otherwise.\n *\n * @default 'sans'\n */\n fontFamily: { type: 'enum', values: fontFamilies, default: 'sans' },\n /**\n * Sets the font family used for `Heading`, independently of body text.\n *\n * Deliberately has no default: when it is left unset no attribute is\n * emitted and `--font-heading` keeps following `--font-body`, so a\n * `--font-heading` override in your own CSS survives a `fontFamily` switch.\n */\n headingFontFamily: { type: 'enum', values: fontFamilies },\n /**\n * The app-wide size index. Every component on the 1-4 control and surface\n * scale that states no `size` of its own takes this one; an explicit\n * `size` always wins. Nested Themes override it for their subtree.\n *\n * @default '2'\n */\n size: { type: 'enum', values: sizes, default: '2' },\n} satisfies {\n hasBackground: PropDef<boolean>;\n appearance: PropDef<(typeof appearances)[number]>;\n accentColor: PropDef<(typeof accentColors)[number]>;\n grayColor: PropDef<(typeof grayColors)[number]>;\n radius: PropDef<(typeof radii)[number]>;\n fontFamily: PropDef<(typeof fontFamilies)[number]>;\n headingFontFamily: PropDef<(typeof fontFamilies)[number]>;\n size: PropDef<(typeof sizes)[number]>;\n};\n\ntype ThemeOwnProps = GetPropDefTypes<typeof themePropDefs & typeof asChildPropDef>;\n\nexport { themePropDefs };\nexport type { ThemeOwnProps };\n", "import type { PropDef } from './prop-def.js';\n\nconst asChildPropDef = {\n /**\n * Composes the component into its immediate child instead of rendering its own HTML element.\n * You\u2019ll have to provide a single React Element child.\n */\n asChild: {\n type: 'boolean',\n },\n} satisfies {\n asChild: PropDef<boolean>;\n};\n\nexport { asChildPropDef };\n", "import type { PropDef } from './prop-def.js';\n\n// prettier-ignore\nconst accentColors = ['gray', 'gold', 'bronze', 'brown', 'yellow', 'amber', 'orange', 'tomato', 'red', 'ruby', 'crimson', 'pink', 'plum', 'purple', 'violet', 'iris', 'indigo', 'blue', 'cyan', 'teal', 'jade', 'green', 'grass', 'lime', 'mint', 'sky'] as const;\n\nconst grayColors = ['auto', 'gray', 'mauve', 'slate', 'sage', 'olive', 'sand'] as const;\n\nconst colorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: undefined as (typeof accentColors)[number] | undefined,\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\n// 1. When used on components that compose Text, sets the color of the text to the current accent.\n// 2. Re-declares the accent role tokens (`--accent-ink`, `--accent-solid`, ...) that descendants read.\nconst accentColorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: '' as (typeof accentColors)[number],\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\n// For components whose colour comes from their content (Badge, Avatar, Code): they rest gray, and `color` picks a category when it means something.\nconst grayAccentColorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: 'gray' as (typeof accentColors)[number],\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\nexport {\n accentColorPropDef,\n grayAccentColorPropDef,\n colorPropDef,\n //\n accentColors,\n grayColors,\n};\n", "import type { PropDef } from './prop-def.js';\n\nconst radii = ['none', 'small', 'medium', 'large', 'full'] as const;\n\nconst radiusPropDef = {\n radius: {\n type: 'enum',\n values: radii,\n default: undefined,\n },\n} satisfies {\n radius: PropDef<(typeof radii)[number]>;\n};\n\nexport { radiusPropDef, radii };\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mBAAAE,IAAA,eAAAC,EAAAH,GCEA,IAAMI,EAAiB,CAKrB,QAAS,CACP,KAAM,SACR,CACF,ECPA,IAAMC,EAAe,CAAC,OAAQ,OAAQ,SAAU,QAAS,SAAU,QAAS,SAAU,SAAU,MAAO,OAAQ,UAAW,OAAQ,OAAQ,SAAU,SAAU,OAAQ,SAAU,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,QAAS,OAAQ,OAAQ,KAAK,EAEjPC,EAAa,CAAC,OAAQ,OAAQ,QAAS,QAAS,OAAQ,QAAS,MAAM,ECH7E,IAAMC,EAAQ,CAAC,OAAQ,QAAS,SAAU,QAAS,MAAM,EHIzD,IAAMC,EAAc,CAAC,UAAW,QAAS,MAAM,EACzCC,EAAe,CAAC,OAAQ,OAAQ,OAAO,EACvCC,EAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAE3BC,EAAgB,CACpB,GAAGC,EAOH,cAAe,CAAE,KAAM,UAAW,QAAS,EAAK,EAOhD,WAAY,CAAE,KAAM,OAAQ,OAAQJ,EAAa,QAAS,SAAU,EAOpE,YAAa,CAAE,KAAM,OAAQ,OAAQK,EAAc,QAAS,MAAO,EAOnE,UAAW,CAAE,KAAM,OAAQ,OAAQC,EAAY,QAAS,MAAO,EAO/D,OAAQ,CAAE,KAAM,OAAQ,OAAQC,EAAO,QAAS,MAAO,EASvD,WAAY,CAAE,KAAM,OAAQ,OAAQN,EAAc,QAAS,MAAO,EAQlE,kBAAmB,CAAE,KAAM,OAAQ,OAAQA,CAAa,EAQxD,KAAM,CAAE,KAAM,OAAQ,OAAQC,EAAO,QAAS,GAAI,CACpD",
6
+ "names": ["theme_props_exports", "__export", "themePropDefs", "__toCommonJS", "asChildPropDef", "accentColors", "grayColors", "radii", "appearances", "fontFamilies", "sizes", "themePropDefs", "asChildPropDef", "accentColors", "grayColors", "radii"]
7
7
  }
@@ -1,7 +1,7 @@
1
- "use strict";var dt=Object.create;var K=Object.defineProperty;var yt=Object.getOwnPropertyDescriptor;var Pt=Object.getOwnPropertyNames;var gt=Object.getPrototypeOf,ht=Object.prototype.hasOwnProperty;var vt=(e,t)=>{for(var o in t)K(e,o,{get:t[o],enumerable:!0})},Re=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Pt(t))!ht.call(e,s)&&s!==o&&K(e,s,{get:()=>t[s],enumerable:!(r=yt(t,s))||r.enumerable});return e};var d=(e,t,o)=>(o=e!=null?dt(gt(e)):{},Re(t||!e||!e.__esModule?K(o,"default",{value:e,enumerable:!0}):o,e)),Dt=e=>Re(K({},"__esModule",{value:!0}),e);var ro={};vt(ro,{ToggleButton:()=>ut});module.exports=Dt(ro);var h=d(require("react")),mt=require("radix-ui");var $=d(require("react")),pt=d(require("classnames"));var c=d(require("react")),Le=d(require("classnames")),$e=require("radix-ui");var S={asChild:{type:"boolean"}};var U=["gray","gold","bronze","brown","yellow","amber","orange","tomato","red","ruby","crimson","pink","plum","purple","violet","iris","indigo","blue","cyan","teal","jade","green","grass","lime","mint","sky"],xe=["auto","gray","mauve","slate","sage","olive","sand"],Ce={color:{type:"enum",values:U,default:void 0}},Te={color:{type:"enum",values:U,default:""}};var ee=["none","small","medium","large","full"],Ne={radius:{type:"enum",values:ee,default:void 0}};var bt=["1","2","3","4"],Rt=["raised","solid","soft","surface","outline","ghost"],te={...S,size:{type:"enum",className:"rt-r-size",values:bt,default:"2",responsive:!0},variant:{type:"enum",className:"rt-variant",values:Rt,default:"solid"},...Te,...Ne,loading:{type:"boolean",className:"rt-loading",default:!1},fullWidth:{type:"boolean",className:"rt-full-width",default:!1},flush:{type:"boolean",default:!1}};var _=d(require("react")),Ae=d(require("classnames"));var Ve=d(require("classnames"));var xt=[],Ct=new Set;function Tt(e){let t=Object.assign({},...e),o=[],r=[],s=new Set;for(let i in t){let n=t[i],p=n.values??xt,l={key:i,type:n.type,default:n.default,hasDefault:n.default!==void 0,responsive:"responsive"in n,className:n.className,customProperties:n.customProperties,parseValue:n.parseValue,values:p,valueSet:p.length>0?new Set(p):Ct,enumValueSet:n.type==="enum"?new Set([n.default,...p]):void 0};n.className?(o.push(l),s.add(i)):(l.hasDefault||n.type==="enum")&&r.push(l)}return{styling:o,passthrough:r,stylingKeys:s}}var Nt={children:new WeakMap};function we(e){let t=Nt;for(let o=0;o<e.length;o++){let r=e[o],s=t.children.get(r);s===void 0&&(s={children:new WeakMap},t.children.set(r,s)),t=s}return t.compiled??(t.compiled=Tt(e))}var wt=["initial","xs","sm","md","lg","xl"],oe=new Set(wt);function re(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var St=new Set(["initial","xs","sm","md","lg","xl"]);function V(e){if(typeof e!="object"||e===null)return!1;for(let t in e)if(St.has(t))return!0;return!1}function q(e,t,o){return t!==void 0?t.has(o):e.includes(o)}function Be({className:e,customProperties:t,...o}){let r=se({allowArbitraryValues:!0,className:e,...o}),s=Bt({customProperties:t,...o});return[r,s]}function se({allowArbitraryValues:e,value:t,className:o,propValues:r,propValueSet:s,parseValue:i=n=>n}){if(t){if(typeof t=="string")return q(r,s,t)?Se(o,t,i):e?o:void 0;if(V(t)){let n=t,p=[];for(let l in n){if(!re(n,l)||!oe.has(l))continue;let a=n[l];if(a!==void 0){if(q(r,s,a)){let m=Se(o,a,i),u=l==="initial"?m:`${l}:${m}`;p.push(u)}else if(e){let m=l==="initial"?o:`${l}:${o}`;p.push(m)}}}return p.length>0?p.join(" "):""}if(e)return o}}function Se(e,t,o){let r=e?"-":"",s=o(t),i=s?.startsWith("-"),n=i?"-":"",p=i?s?.substring(1):s;return`${n}${e}${r}${p}`}function Bt({customProperties:e,value:t,propValues:o,propValueSet:r,parseValue:s=i=>i}){if(!t||typeof t=="string"&&q(o,r,t))return;let i;if(typeof t=="string"){let n=s(t);i={};for(let p of e)i[p]=n;return i}if(V(t)){let n=t;for(let p in n){if(!re(n,p)||!oe.has(p))continue;let l=n[p];if(l===void 0||q(o,r,l))continue;let a=s(l);i??(i={});for(let m of e){let u=p==="initial"?m:`${m}-${p}`;i[u]=a}}}return i??{}}function ne(...e){let t;for(let o of e)o&&(t===void 0&&(t={}),Object.assign(t,o));return t}function Vt(e,t){let o=e.initial,r=!1;return t.hasDefault&&o===void 0&&(o=t.default,r=!0),t.enumValueSet!==void 0&&!t.enumValueSet.has(o)&&(o=t.default,r=!0),r?{...e,initial:o}:e}function b(e,...t){let{styling:o,passthrough:r,stylingKeys:s}=we(t),i={};for(let l in e)s.has(l)||(i[l]=e[l]);for(let l=0;l<r.length;l++){let a=r[l],m=i[a.key];if(m===void 0){a.hasDefault&&(i[a.key]=a.default);continue}a.enumValueSet!==void 0&&!a.enumValueSet.has(m)&&!V(m)&&(i[a.key]=a.default)}let n,p=[];for(let l=0;l<o.length;l++){let a=o[l],m=e[a.key];if(m===void 0&&a.hasDefault&&(m=a.default),a.enumValueSet!==void 0&&!a.enumValueSet.has(m)&&!V(m)&&(m=a.default),!!m){if(V(m)){if(!a.responsive)continue;m=Vt(m,a)}if(a.type==="enum"){let u=se({allowArbitraryValues:!1,value:m,className:a.className,propValues:a.values,propValueSet:a.valueSet,parseValue:a.parseValue});u&&p.push(u);continue}if(a.type==="string"||a.type==="enum | string"){let[u,g]=Be({className:a.className,customProperties:a.customProperties,propValues:a.type==="string"?[]:a.values,propValueSet:a.type==="string"?void 0:a.valueSet,parseValue:a.parseValue,value:m});g&&(n=ne(n,g)),u&&p.push(u);continue}if(a.type==="boolean"){p.push(a.className);continue}}}return i.className=(0,Ve.default)(p.length>0?p.join(" "):void 0,e.className),i.style=ne(n,e.style),i}var F=["0","1","2","3","4","5","6","7","8","9","10","11","12"],Fe={p:{type:"enum | string",className:"rt-r-p",customProperties:["--p"],values:F,responsive:!0},px:{type:"enum | string",className:"rt-r-px",customProperties:["--pl","--pr"],values:F,responsive:!0},py:{type:"enum | string",className:"rt-r-py",customProperties:["--pt","--pb"],values:F,responsive:!0},pt:{type:"enum | string",className:"rt-r-pt",customProperties:["--pt"],values:F,responsive:!0},pr:{type:"enum | string",className:"rt-r-pr",customProperties:["--pr"],values:F,responsive:!0},pb:{type:"enum | string",className:"rt-r-pb",customProperties:["--pb"],values:F,responsive:!0},pl:{type:"enum | string",className:"rt-r-pl",customProperties:["--pl"],values:F,responsive:!0}};var Ee={height:{type:"string",className:"rt-r-h",customProperties:["--height"],responsive:!0},minHeight:{type:"string",className:"rt-r-min-h",customProperties:["--min-height"],responsive:!0},maxHeight:{type:"string",className:"rt-r-max-h",customProperties:["--max-height"],responsive:!0}};var G={width:{type:"string",className:"rt-r-w",customProperties:["--width"],responsive:!0},minWidth:{type:"string",className:"rt-r-min-w",customProperties:["--min-width"],responsive:!0},maxWidth:{type:"string",className:"rt-r-max-w",customProperties:["--max-width"],responsive:!0}};var ae=["visible","hidden","clip","scroll","auto"],Ft=["static","relative","absolute","fixed","sticky"],L=["0","1","2","3","4","5","6","7","8","9","-1","-2","-3","-4","-5","-6","-7","-8","-9"],Et=["0","1"],jt=["0","1"],kt=["start","center","end","baseline","stretch"],Ot=["start","center","end","baseline","stretch"],je={...Fe,...G,...Ee,position:{type:"enum",className:"rt-r-position",values:Ft,responsive:!0},inset:{type:"enum | string",className:"rt-r-inset",customProperties:["--inset"],values:L,responsive:!0},top:{type:"enum | string",className:"rt-r-top",customProperties:["--top"],values:L,responsive:!0},right:{type:"enum | string",className:"rt-r-right",customProperties:["--right"],values:L,responsive:!0},bottom:{type:"enum | string",className:"rt-r-bottom",customProperties:["--bottom"],values:L,responsive:!0},left:{type:"enum | string",className:"rt-r-left",customProperties:["--left"],values:L,responsive:!0},overflow:{type:"enum",className:"rt-r-overflow",values:ae,responsive:!0},overflowX:{type:"enum",className:"rt-r-ox",values:ae,responsive:!0},overflowY:{type:"enum",className:"rt-r-oy",values:ae,responsive:!0},flexBasis:{type:"string",className:"rt-r-fb",customProperties:["--flex-basis"],responsive:!0},flexShrink:{type:"enum | string",className:"rt-r-fs",customProperties:["--flex-shrink"],values:Et,responsive:!0},flexGrow:{type:"enum | string",className:"rt-r-fg",customProperties:["--flex-grow"],values:jt,responsive:!0},gridArea:{type:"string",className:"rt-r-ga",customProperties:["--grid-area"],responsive:!0},gridColumn:{type:"string",className:"rt-r-gc",customProperties:["--grid-column"],responsive:!0},gridColumnStart:{type:"string",className:"rt-r-gcs",customProperties:["--grid-column-start"],responsive:!0},gridColumnEnd:{type:"string",className:"rt-r-gce",customProperties:["--grid-column-end"],responsive:!0},gridRow:{type:"string",className:"rt-r-gr",customProperties:["--grid-row"],responsive:!0},gridRowStart:{type:"string",className:"rt-r-grs",customProperties:["--grid-row-start"],responsive:!0},gridRowEnd:{type:"string",className:"rt-r-gre",customProperties:["--grid-row-end"],responsive:!0},alignSelf:{type:"enum",className:"rt-r-as",values:kt,responsive:!0},justifySelf:{type:"enum",className:"rt-r-js",values:Ot,responsive:!0}};var E=["0","1","2","3","4","5","6","7","8","9","10","11","12","-1","-2","-3","-4","-5","-6","-7","-8","-9","-10","-11","-12"],B={m:{type:"enum | string",values:E,responsive:!0,className:"rt-r-m",customProperties:["--m"]},mx:{type:"enum | string",values:E,responsive:!0,className:"rt-r-mx",customProperties:["--ml","--mr"]},my:{type:"enum | string",values:E,responsive:!0,className:"rt-r-my",customProperties:["--mt","--mb"]},mt:{type:"enum | string",values:E,responsive:!0,className:"rt-r-mt",customProperties:["--mt"]},mr:{type:"enum | string",values:E,responsive:!0,className:"rt-r-mr",customProperties:["--mr"]},mb:{type:"enum | string",values:E,responsive:!0,className:"rt-r-mb",customProperties:["--mb"]},ml:{type:"enum | string",values:E,responsive:!0,className:"rt-r-ml",customProperties:["--ml"]}};var Y=require("radix-ui"),Oo=Y.Slot.Root,ke=Y.Slot.Root,Go=Y.Slot.Slottable;var pe=["0","1","2","3","4","5","6","7","8","9","10","11","12"],Oe={gap:{type:"enum | string",className:"rt-r-gap",customProperties:["--gap"],values:pe,responsive:!0},gapX:{type:"enum | string",className:"rt-r-cg",customProperties:["--column-gap"],values:pe,responsive:!0},gapY:{type:"enum | string",className:"rt-r-rg",customProperties:["--row-gap"],values:pe,responsive:!0}};var Gt=["div","span"],At=["none","inline-flex","flex"],Wt=["row","column","row-reverse","column-reverse"],It=["start","center","end","baseline","stretch"],Ht=["start","center","end","between"],Mt=["nowrap","wrap","wrap-reverse"],Ge={as:{type:"enum",values:Gt,default:"div"},...S,display:{type:"enum",className:"rt-r-display",values:At,responsive:!0},direction:{type:"enum",className:"rt-r-fd",values:Wt,responsive:!0},align:{type:"enum",className:"rt-r-ai",values:It,responsive:!0},justify:{type:"enum",className:"rt-r-jc",values:Ht,parseValue:zt,responsive:!0},wrap:{type:"enum",className:"rt-r-fw",values:Mt,responsive:!0},...Oe};function zt(e){return e==="between"?"space-between":e}var A=_.forwardRef((e,t)=>{let{className:o,asChild:r,as:s="div",...i}=b(e,Ge,je,B);return _.createElement(r?ke:s,{...i,ref:t,className:(0,Ae.default)("rt-Flex",o)})});A.displayName="Flex";var P=d(require("react")),Ie=d(require("classnames"));var Lt=["1","2","3"],We={size:{type:"enum",className:"rt-r-size",values:Lt,default:"2",responsive:!0},loading:{type:"boolean",default:!0}};var ie=P.forwardRef((e,t)=>{let{className:o,children:r,loading:s,...i}=b(e,We,B);if(!s)return r;let n=P.createElement("span",{...i,ref:t,className:(0,Ie.default)("rt-Spinner",o)},P.createElement("span",{className:"rt-SpinnerLeaf"}),P.createElement("span",{className:"rt-SpinnerLeaf"}),P.createElement("span",{className:"rt-SpinnerLeaf"}),P.createElement("span",{className:"rt-SpinnerLeaf"}),P.createElement("span",{className:"rt-SpinnerLeaf"}),P.createElement("span",{className:"rt-SpinnerLeaf"}),P.createElement("span",{className:"rt-SpinnerLeaf"}),P.createElement("span",{className:"rt-SpinnerLeaf"}));return r===void 0?n:P.createElement(A,{asChild:!0,position:"relative",align:"center",justify:"center"},P.createElement("span",null,P.createElement("span",{"aria-hidden":!0,style:{display:"contents",visibility:"hidden"},inert:void 0},r),P.createElement(A,{asChild:!0,align:"center",justify:"center",position:"absolute",inset:"0"},P.createElement("span",null,n))))});ie.displayName="Spinner";var le=require("radix-ui"),He=le.VisuallyHidden.Root,er=le.VisuallyHidden.Root;function Me(e,t){if(e!==void 0)return typeof e=="string"?t(e):Object.fromEntries(Object.entries(e).map(([o,r])=>[o,t(r)]))}function ze(e){switch(e){case"1":return"1";case"2":case"3":return"2";case"4":return"3"}}var me=c.forwardRef((e,t)=>{let{size:o=te.size.default}=e,{className:r,children:s,asChild:i,as:n,color:p,radius:l,flush:a,disabled:m=e.loading,...u}=b(e,te,B),g=i?$e.Slot.Root:n||"button",D=i||!n||["button","input","textarea","select"].includes(n),T=!i&&(!n||n==="button"),N="type"in u,x=c.useId(),w=e.loading?`${x}-loading`:void 0,C=c.useMemo(()=>typeof s=="string"?s:c.isValidElement(s)&&typeof s.props?.children=="string"?s.props.children:"button",[s]),M=c.useMemo(()=>e.loading?{"aria-busy":!0,"aria-disabled":!0,"aria-describedby":w,"aria-label":`${C} (loading)`}:{},[e.loading,w,C]);return c.createElement(g,{"data-disabled":m||void 0,"data-accent-color":p,"data-radius":l,"data-flush":a?"true":void 0,...u,...M,ref:t,className:(0,Le.default)("rt-reset","rt-BaseButton",r),...D&&{disabled:m},...T&&!N?{type:"button"}:{}},e.loading?c.createElement(c.Fragment,null,c.createElement("span",{style:{display:"contents",visibility:"hidden"},"aria-hidden":!0},s),c.createElement(He,null,c.createElement("span",{id:w},C," is loading, please wait..."),s),c.createElement(A,{asChild:!0,align:"center",justify:"center",position:"absolute",inset:"0"},c.createElement("span",null,c.createElement(ie,{size:Me(o,ze),"aria-hidden":"true"})))):s)});me.displayName="BaseButton";var R=d(require("react")),nt=d(require("classnames")),W=require("radix-ui");var j=d(require("react")),Ze=require("radix-ui");var $t=["loud","medium","quiet"],Ke={emphasis:{type:"enum",className:"rt-emphasis",values:$t,default:void 0}};var Kt=["normal","start","end","both"],Ue={trim:{type:"enum",className:"rt-r-lt",values:Kt,responsive:!0}};var Ut=["left","center","right"],qe={align:{type:"enum",className:"rt-r-ta",values:Ut,responsive:!0}};var qt=["wrap","nowrap","pretty","balance"],Ye={wrap:{type:"enum",className:"rt-r-tw",values:qt,responsive:!0}};var _e={truncate:{type:"boolean",className:"rt-truncate"}};var Yt=["sans","mono","serif"],Xe={font:{type:"enum",className:"rt-r-ff",values:Yt}};var _t=["thin","extralight","light","regular","medium","semibold","bold","extrabold"],Je={weight:{type:"enum",className:"rt-r-weight",values:_t,responsive:!0}};var Xt=["span","div","label","p"],Jt=["0","1","2","3","4","5","6","7","8","9","10","11","12"],Qe={as:{type:"enum",values:Xt,default:"span"},...S,size:{type:"enum",className:"rt-r-size",values:Jt,responsive:!0},...Xe,...Je,...qe,...Ue,..._e,...Ye,...Ce,...Ke};var Qt={...Qe,...B},ue=j.memo(j.forwardRef((e,t)=>{let{children:o,className:r,asChild:s,as:i="span",color:n,...p}=b(e,Qt),l=r?`rt-Text ${r}`:"rt-Text";return s?j.createElement(Ze.Slot.Root,{"data-accent-color":n,...p,ref:t,className:l},o):j.createElement(i,{"data-accent-color":n,...p,ref:t,className:l},o)}));ue.displayName="Text";var f=d(require("react")),ot=d(require("classnames")),O=require("radix-ui"),X=require("radix-ui/internal");function et(e){switch(e){case"tomato":case"red":case"ruby":case"crimson":case"pink":case"plum":case"purple":case"violet":return"mauve";case"iris":case"indigo":case"blue":case"sky":case"cyan":return"slate";case"teal":case"jade":case"mint":case"green":return"sage";case"grass":case"lime":return"olive";case"yellow":case"amber":case"orange":case"brown":case"gold":case"bronze":return"sand";case"gray":return"gray"}}var fe=d(require("react"));function k(e){let[t,o]=fe.useState(e),[r,s]=fe.useState(e);return Object.is(e,r)||(s(e),o(e)),[t,o]}var Zt=["inherit","light","dark"],tt=["sans","mono","serif"],y={...S,hasBackground:{type:"boolean",default:!0},appearance:{type:"enum",values:Zt,default:"inherit"},accentColor:{type:"enum",values:U,default:"gray"},grayColor:{type:"enum",values:xe,default:"gray"},radius:{type:"enum",values:ee,default:"full"},fontFamily:{type:"enum",values:tt,default:"sans"},headingFontFamily:{type:"enum",values:tt}};var v=()=>{},Mr={appearance:y.appearance.default,accentColor:y.accentColor.default,grayColor:y.grayColor.default,resolvedGrayColor:y.grayColor.default,radius:y.radius.default,fontFamily:y.fontFamily.default,headingFontFamily:void 0,onAppearanceChange:v,onAccentColorChange:v,onGrayColorChange:v,onRadiusChange:v,onFontFamilyChange:v,onHeadingFontFamilyChange:v},ce=f.createContext(void 0);var de=f.forwardRef((e,t)=>{let o=f.useContext(ce),r=O.Direction.useDirection();return o===void 0?f.createElement(O.Tooltip.Provider,{delayDuration:200},f.createElement(O.Direction.Provider,{dir:r},f.createElement(rt,{...e,ref:t}))):f.createElement(ye,{...e,ref:t})});de.displayName="Theme";var rt=f.forwardRef((e,t)=>{let{appearance:o=y.appearance.default,accentColor:r=y.accentColor.default,grayColor:s=y.grayColor.default,radius:i=y.radius.default,fontFamily:n=y.fontFamily.default,headingFontFamily:p,hasBackground:l=y.hasBackground.default,...a}=e,[m,u]=k(o),[g,D]=k(r),[T,N]=k(s),[x,w]=k(i),[C,M]=k(n),[z,Q]=k(p);return f.createElement(ye,{...a,ref:t,isRoot:!0,hasBackground:l,appearance:m,accentColor:g,grayColor:T,radius:x,fontFamily:C,headingFontFamily:z,onAppearanceChange:u,onAccentColorChange:D,onGrayColorChange:N,onRadiusChange:w,onFontFamilyChange:M,onHeadingFontFamilyChange:Q})});rt.displayName="ThemeRoot";function eo(){if(typeof navigator>"u")return;let e=navigator.userAgent;if(e.includes("Win"))return"windows";if(e.includes("Mac"))return"macos";if(e.includes("Linux"))return"linux"}var ye=f.forwardRef((e,t)=>{let o=f.useContext(ce),{asChild:r,isRoot:s,hasBackground:i,appearance:n=e.appearance??o?.appearance??y.appearance.default,accentColor:p=e.accentColor??o?.accentColor??y.accentColor.default,grayColor:l=e.grayColor??o?.resolvedGrayColor??y.grayColor.default,radius:a=e.radius??o?.radius??y.radius.default,fontFamily:m=e.fontFamily??o?.fontFamily??y.fontFamily.default,headingFontFamily:u=e.headingFontFamily??o?.headingFontFamily,onAppearanceChange:g=v,onAccentColorChange:D=v,onGrayColorChange:T=v,onRadiusChange:N=v,onFontFamilyChange:x=v,onHeadingFontFamilyChange:w=v,...C}=e,M=r?O.Slot.Root:"div",z=l==="auto"?et(p):l,Q=e.appearance==="light"||e.appearance==="dark",ft=i===void 0?s||Q:i,ve=f.useRef(null),ct=(0,X.useComposedRefs)(t,ve),De="data-os"in C;return(0,X.useLayoutEffect)(()=>{if(!s||De)return;let Z=ve.current;if(!Z)return;let be=eo();if(be)return Z.setAttribute("data-os",be),()=>Z.removeAttribute("data-os")},[s,De]),f.createElement(ce.Provider,{value:f.useMemo(()=>({appearance:n,accentColor:p,grayColor:l,resolvedGrayColor:z,radius:a,fontFamily:m,headingFontFamily:u,onAppearanceChange:g,onAccentColorChange:D,onGrayColorChange:T,onRadiusChange:N,onFontFamilyChange:x,onHeadingFontFamilyChange:w}),[n,p,l,z,a,m,u,g,D,T,N,x,w])},f.createElement(M,{"data-is-root-theme":s?"true":"false","data-accent-color":p,"data-gray-color":z,"data-has-background":ft?"true":"false","data-radius":a,"data-font-family":m,"data-heading-font-family":u,ref:ct,...C,className:(0,ot.default)("radix-themes",{light:n==="light",dark:n==="dark"},C.className)}))});ye.displayName="ThemeImpl";var st={content:{type:"ReactNode",required:!0},width:G.width,minWidth:G.minWidth,maxWidth:{...G.maxWidth,default:"360px"}};var Pe=R.forwardRef((e,t)=>{let{children:o,className:r,open:s,defaultOpen:i,onOpenChange:n,delayDuration:p,disableHoverableContent:l,content:a,container:m,forceMount:u,...g}=b(e,st),D={open:s,defaultOpen:i,onOpenChange:n,delayDuration:p,disableHoverableContent:l};return R.createElement(W.Tooltip.Root,{...D},R.createElement(W.Tooltip.Trigger,{asChild:!0},o),R.createElement(W.Tooltip.Portal,{container:m,forceMount:u},R.createElement(de,{asChild:!0},R.createElement(W.Tooltip.Content,{sideOffset:4,collisionPadding:10,...g,asChild:!1,ref:t,className:(0,nt.default)("rt-TooltipContent",r)},R.createElement(ue,{as:"p",className:"rt-TooltipText",size:"1"},a),R.createElement(W.Tooltip.Arrow,{className:"rt-TooltipArrow"})))))});Pe.displayName="Tooltip";var J=d(require("react"));function at(e){let t=J.useId(),o=!!e,r=J.useMemo(()=>o?{"aria-describedby":t}:{},[o,t]);return{tooltipId:t,hasTooltip:o,accessibilityProps:r}}var to={loud:"solid",medium:"raised",quiet:"ghost"};function oo(e){if(e["aria-label"]||e["aria-labelledby"]||e.children)return;console.error(`IconButton: Icon buttons must have an accessible name. Please provide either:
1
+ "use strict";var vt=Object.create;var oe=Object.defineProperty;var Dt=Object.getOwnPropertyDescriptor;var bt=Object.getOwnPropertyNames;var Rt=Object.getPrototypeOf,Ct=Object.prototype.hasOwnProperty;var Tt=(e,t)=>{for(var o in t)oe(e,o,{get:t[o],enumerable:!0})},Be=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of bt(t))!Ct.call(e,s)&&s!==o&&oe(e,s,{get:()=>t[s],enumerable:!(r=Dt(t,s))||r.enumerable});return e};var y=(e,t,o)=>(o=e!=null?vt(Rt(e)):{},Be(t||!e||!e.__esModule?oe(o,"default",{value:e,enumerable:!0}):o,e)),xt=e=>Be(oe({},"__esModule",{value:!0}),e);var mo={};Tt(mo,{ToggleButton:()=>ht});module.exports=xt(mo);var v=y(require("react")),Pt=require("radix-ui");var Q=y(require("react")),dt=y(require("classnames"));var u=y(require("react")),Xe=y(require("classnames")),Je=require("radix-ui");var N={asChild:{type:"boolean"}};var re=["gray","gold","bronze","brown","yellow","amber","orange","tomato","red","ruby","crimson","pink","plum","purple","violet","iris","indigo","blue","cyan","teal","jade","green","grass","lime","mint","sky"],Fe=["auto","gray","mauve","slate","sage","olive","sand"],Ee={color:{type:"enum",values:re,default:void 0}},je={color:{type:"enum",values:re,default:""}};var ue=["none","small","medium","large","full"],ke={radius:{type:"enum",values:ue,default:void 0}};var Nt=["1","2","3","4"],St=["raised","solid","soft","surface","outline","ghost"],fe={...N,size:{type:"enum",className:"rt-r-size",values:Nt,default:"2",responsive:!0},variant:{type:"enum",className:"rt-variant",values:St,default:"solid"},...je,...ke,loading:{type:"boolean",className:"rt-loading",default:!1},fullWidth:{type:"boolean",className:"rt-full-width",default:!1},flush:{type:"boolean",default:!1}};var ae=y(require("react")),Ke=y(require("classnames"));var Ae=y(require("classnames"));var wt=[],Vt=new Set;function Bt(e){let t=Object.assign({},...e),o=[],r=[],s=new Set;for(let i in t){let n=t[i],p=n.values??wt,l={key:i,type:n.type,default:n.default,hasDefault:n.default!==void 0,responsive:"responsive"in n,className:n.className,customProperties:n.customProperties,parseValue:n.parseValue,values:p,valueSet:p.length>0?new Set(p):Vt,enumValueSet:n.type==="enum"?new Set([n.default,...p]):void 0};n.className?(o.push(l),s.add(i)):(l.hasDefault||n.type==="enum")&&r.push(l)}return{styling:o,passthrough:r,stylingKeys:s}}var Ft={children:new WeakMap};function ze(e){let t=Ft;for(let o=0;o<e.length;o++){let r=e[o],s=t.children.get(r);s===void 0&&(s={children:new WeakMap},t.children.set(r,s)),t=s}return t.compiled??(t.compiled=Bt(e))}var Et=["initial","xs","sm","md","lg","xl"],ce=new Set(Et);function de(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var jt=new Set(["initial","xs","sm","md","lg","xl"]);function k(e){if(typeof e!="object"||e===null)return!1;for(let t in e)if(jt.has(t))return!0;return!1}function se(e,t,o){return t!==void 0?t.has(o):e.includes(o)}function Ge({className:e,customProperties:t,...o}){let r=ye({allowArbitraryValues:!0,className:e,...o}),s=kt({customProperties:t,...o});return[r,s]}function ye({allowArbitraryValues:e,value:t,className:o,propValues:r,propValueSet:s,parseValue:i=n=>n}){if(t){if(typeof t=="string")return se(r,s,t)?Oe(o,t,i):e?o:void 0;if(k(t)){let n=t,p=[];for(let l in n){if(!de(n,l)||!ce.has(l))continue;let a=n[l];if(a!==void 0){if(se(r,s,a)){let m=Oe(o,a,i),f=l==="initial"?m:`${l}:${m}`;p.push(f)}else if(e){let m=l==="initial"?o:`${l}:${o}`;p.push(m)}}}return p.length>0?p.join(" "):""}if(e)return o}}function Oe(e,t,o){let r=e?"-":"",s=o(t),i=s?.startsWith("-"),n=i?"-":"",p=i?s?.substring(1):s;return`${n}${e}${r}${p}`}function kt({customProperties:e,value:t,propValues:o,propValueSet:r,parseValue:s=i=>i}){if(!t||typeof t=="string"&&se(o,r,t))return;let i;if(typeof t=="string"){let n=s(t);i={};for(let p of e)i[p]=n;return i}if(k(t)){let n=t;for(let p in n){if(!de(n,p)||!ce.has(p))continue;let l=n[p];if(l===void 0||se(o,r,l))continue;let a=s(l);i??(i={});for(let m of e){let f=p==="initial"?m:`${m}-${p}`;i[f]=a}}}return i??{}}function ge(...e){let t;for(let o of e)o&&(t===void 0&&(t={}),Object.assign(t,o));return t}function zt(e,t){let o=e.initial,r=!1;return t.hasDefault&&o===void 0&&(o=t.default,r=!0),t.enumValueSet!==void 0&&!t.enumValueSet.has(o)&&(o=t.default,r=!0),r?{...e,initial:o}:e}function b(e,...t){let{styling:o,passthrough:r,stylingKeys:s}=ze(t),i={};for(let l in e)s.has(l)||(i[l]=e[l]);for(let l=0;l<r.length;l++){let a=r[l],m=i[a.key];if(m===void 0){a.hasDefault&&(i[a.key]=a.default);continue}a.enumValueSet!==void 0&&!a.enumValueSet.has(m)&&!k(m)&&(i[a.key]=a.default)}let n,p=[];for(let l=0;l<o.length;l++){let a=o[l],m=e[a.key];if(m===void 0&&a.hasDefault&&(m=a.default),a.enumValueSet!==void 0&&!a.enumValueSet.has(m)&&!k(m)&&(m=a.default),!!m){if(k(m)){if(!a.responsive)continue;m=zt(m,a)}if(a.type==="enum"){let f=ye({allowArbitraryValues:!1,value:m,className:a.className,propValues:a.values,propValueSet:a.valueSet,parseValue:a.parseValue});f&&p.push(f);continue}if(a.type==="string"||a.type==="enum | string"){let[f,g]=Ge({className:a.className,customProperties:a.customProperties,propValues:a.type==="string"?[]:a.values,propValueSet:a.type==="string"?void 0:a.valueSet,parseValue:a.parseValue,value:m});g&&(n=ge(n,g)),f&&p.push(f);continue}if(a.type==="boolean"){p.push(a.className);continue}}}return i.className=(0,Ae.default)(p.length>0?p.join(" "):void 0,e.className),i.style=ge(n,e.style),i}var z=["0","1","2","3","4","5","6","7","8","9","10","11","12"],We={p:{type:"enum | string",className:"rt-r-p",customProperties:["--p"],values:z,responsive:!0},px:{type:"enum | string",className:"rt-r-px",customProperties:["--pl","--pr"],values:z,responsive:!0},py:{type:"enum | string",className:"rt-r-py",customProperties:["--pt","--pb"],values:z,responsive:!0},pt:{type:"enum | string",className:"rt-r-pt",customProperties:["--pt"],values:z,responsive:!0},pr:{type:"enum | string",className:"rt-r-pr",customProperties:["--pr"],values:z,responsive:!0},pb:{type:"enum | string",className:"rt-r-pb",customProperties:["--pb"],values:z,responsive:!0},pl:{type:"enum | string",className:"rt-r-pl",customProperties:["--pl"],values:z,responsive:!0}};var Ie={height:{type:"string",className:"rt-r-h",customProperties:["--height"],responsive:!0},minHeight:{type:"string",className:"rt-r-min-h",customProperties:["--min-height"],responsive:!0},maxHeight:{type:"string",className:"rt-r-max-h",customProperties:["--max-height"],responsive:!0}};var L={width:{type:"string",className:"rt-r-w",customProperties:["--width"],responsive:!0},minWidth:{type:"string",className:"rt-r-min-w",customProperties:["--min-width"],responsive:!0},maxWidth:{type:"string",className:"rt-r-max-w",customProperties:["--max-width"],responsive:!0}};var Pe=["visible","hidden","clip","scroll","auto"],Ot=["static","relative","absolute","fixed","sticky"],Z=["0","1","2","3","4","5","6","7","8","9","-1","-2","-3","-4","-5","-6","-7","-8","-9"],Gt=["0","1"],At=["0","1"],Wt=["start","center","end","baseline","stretch"],It=["start","center","end","baseline","stretch"],Me={...We,...L,...Ie,position:{type:"enum",className:"rt-r-position",values:Ot,responsive:!0},inset:{type:"enum | string",className:"rt-r-inset",customProperties:["--inset"],values:Z,responsive:!0},top:{type:"enum | string",className:"rt-r-top",customProperties:["--top"],values:Z,responsive:!0},right:{type:"enum | string",className:"rt-r-right",customProperties:["--right"],values:Z,responsive:!0},bottom:{type:"enum | string",className:"rt-r-bottom",customProperties:["--bottom"],values:Z,responsive:!0},left:{type:"enum | string",className:"rt-r-left",customProperties:["--left"],values:Z,responsive:!0},overflow:{type:"enum",className:"rt-r-overflow",values:Pe,responsive:!0},overflowX:{type:"enum",className:"rt-r-ox",values:Pe,responsive:!0},overflowY:{type:"enum",className:"rt-r-oy",values:Pe,responsive:!0},flexBasis:{type:"string",className:"rt-r-fb",customProperties:["--flex-basis"],responsive:!0},flexShrink:{type:"enum | string",className:"rt-r-fs",customProperties:["--flex-shrink"],values:Gt,responsive:!0},flexGrow:{type:"enum | string",className:"rt-r-fg",customProperties:["--flex-grow"],values:At,responsive:!0},gridArea:{type:"string",className:"rt-r-ga",customProperties:["--grid-area"],responsive:!0},gridColumn:{type:"string",className:"rt-r-gc",customProperties:["--grid-column"],responsive:!0},gridColumnStart:{type:"string",className:"rt-r-gcs",customProperties:["--grid-column-start"],responsive:!0},gridColumnEnd:{type:"string",className:"rt-r-gce",customProperties:["--grid-column-end"],responsive:!0},gridRow:{type:"string",className:"rt-r-gr",customProperties:["--grid-row"],responsive:!0},gridRowStart:{type:"string",className:"rt-r-grs",customProperties:["--grid-row-start"],responsive:!0},gridRowEnd:{type:"string",className:"rt-r-gre",customProperties:["--grid-row-end"],responsive:!0},alignSelf:{type:"enum",className:"rt-r-as",values:Wt,responsive:!0},justifySelf:{type:"enum",className:"rt-r-js",values:It,responsive:!0}};var O=["0","1","2","3","4","5","6","7","8","9","10","11","12","-1","-2","-3","-4","-5","-6","-7","-8","-9","-10","-11","-12"],S={m:{type:"enum | string",values:O,responsive:!0,className:"rt-r-m",customProperties:["--m"]},mx:{type:"enum | string",values:O,responsive:!0,className:"rt-r-mx",customProperties:["--ml","--mr"]},my:{type:"enum | string",values:O,responsive:!0,className:"rt-r-my",customProperties:["--mt","--mb"]},mt:{type:"enum | string",values:O,responsive:!0,className:"rt-r-mt",customProperties:["--mt"]},mr:{type:"enum | string",values:O,responsive:!0,className:"rt-r-mr",customProperties:["--mr"]},mb:{type:"enum | string",values:O,responsive:!0,className:"rt-r-mb",customProperties:["--mb"]},ml:{type:"enum | string",values:O,responsive:!0,className:"rt-r-ml",customProperties:["--ml"]}};var ne=require("radix-ui"),Ho=ne.Slot.Root,He=ne.Slot.Root,Lo=ne.Slot.Slottable;var he=["0","1","2","3","4","5","6","7","8","9","10","11","12"],Le={gap:{type:"enum | string",className:"rt-r-gap",customProperties:["--gap"],values:he,responsive:!0},gapX:{type:"enum | string",className:"rt-r-cg",customProperties:["--column-gap"],values:he,responsive:!0},gapY:{type:"enum | string",className:"rt-r-rg",customProperties:["--row-gap"],values:he,responsive:!0}};var Mt=["div","span"],Ht=["none","inline-flex","flex"],Lt=["row","column","row-reverse","column-reverse"],$t=["start","center","end","baseline","stretch"],Kt=["start","center","end","between"],Ut=["nowrap","wrap","wrap-reverse"],$e={as:{type:"enum",values:Mt,default:"div"},...N,display:{type:"enum",className:"rt-r-display",values:Ht,responsive:!0},direction:{type:"enum",className:"rt-r-fd",values:Lt,responsive:!0},align:{type:"enum",className:"rt-r-ai",values:$t,responsive:!0},justify:{type:"enum",className:"rt-r-jc",values:Kt,parseValue:qt,responsive:!0},wrap:{type:"enum",className:"rt-r-fw",values:Ut,responsive:!0},...Le};function qt(e){return e==="between"?"space-between":e}var $=ae.forwardRef((e,t)=>{let{className:o,asChild:r,as:s="div",...i}=b(e,$e,Me,S);return ae.createElement(r?He:s,{...i,ref:t,className:(0,Ke.default)("rt-Flex",o)})});$.displayName="Flex";var P=y(require("react")),qe=y(require("classnames"));var Ue={loading:{type:"boolean",default:!0}};var ve=P.forwardRef((e,t)=>{let{className:o,children:r,loading:s,...i}=b(e,Ue,S);if(!s)return r;let n=P.createElement("span",{...i,ref:t,className:(0,qe.default)("rt-Spinner",o)},P.createElement("span",{className:"rt-SpinnerLeaf"}),P.createElement("span",{className:"rt-SpinnerLeaf"}),P.createElement("span",{className:"rt-SpinnerLeaf"}),P.createElement("span",{className:"rt-SpinnerLeaf"}),P.createElement("span",{className:"rt-SpinnerLeaf"}),P.createElement("span",{className:"rt-SpinnerLeaf"}),P.createElement("span",{className:"rt-SpinnerLeaf"}),P.createElement("span",{className:"rt-SpinnerLeaf"}));return r===void 0?n:P.createElement($,{asChild:!0,position:"relative",align:"center",justify:"center"},P.createElement("span",null,P.createElement("span",{"aria-hidden":!0,style:{display:"contents",visibility:"hidden"},inert:void 0},r),P.createElement($,{asChild:!0,align:"center",justify:"center",position:"absolute",inset:"0"},P.createElement("span",null,n))))});ve.displayName="Spinner";var De=require("radix-ui"),_e=De.VisuallyHidden.Root,ir=De.VisuallyHidden.Root;var ie=y(require("react")),_t="2",pe=ie.createContext(_t);pe.displayName="ThemeSizeContext";function Yt(e,t){if(t.includes(e))return e;let o=Number(e),r=t[0],s=1/0;for(let i=0;i<t.length;i++){let n=Math.abs(Number(t[i])-o);n<s&&(s=n,r=t[i])}return r}function Ye(e,t){let o=ie.useContext(pe);if(e.size!==void 0)return e;let r=Yt(o,t.values);return r===t.default?e:{...e,size:r}}var be=u.forwardRef((e,t)=>{let o=Ye(e,fe.size),{className:r,children:s,asChild:i,as:n,color:p,radius:l,flush:a,disabled:m,...f}=b(o,fe,S),g=!!o.loading,D=!!m||g,{onClick:C}=f,x=u.useCallback(H=>{if(g){H.preventDefault();return}C?.(H)},[g,C]),{iconStart:T,iconEnd:W}=u.useMemo(()=>{let H=i&&u.isValidElement(s)?s.props.children:s,Y=J=>u.Children.toArray(J).flatMap(te=>u.isValidElement(te)&&te.type===u.Fragment?Y(te.props.children):[te]),j=Y(H),X=J=>u.isValidElement(J)&&(J.type==="svg"||typeof J.type!="string");return{iconStart:X(j[0]),iconEnd:X(j[j.length-1])}},[i,s]),I=i?Je.Slot.Root:n||"button",M=i||!n||["button","input","textarea","select"].includes(n),V=!i&&(!n||n==="button"),_="type"in f,B=u.useId(),F=g?`${B}-loading`:void 0,E=u.useMemo(()=>typeof s=="string"?s:u.isValidElement(s)&&typeof s.props?.children=="string"?s.props.children:"button",[s]),ee=u.useMemo(()=>o.loading?{"aria-busy":!0,"aria-disabled":!0,"aria-describedby":F,"aria-label":`${E} (loading)`}:{},[o.loading,F,E]);return u.createElement(I,{"data-accent-color":p,"data-radius":l,"data-flush":a?"true":void 0,"data-icon-start":T||void 0,"data-icon-end":W||void 0,...f,...ee,"data-disabled":D||void 0,onClick:x,ref:t,className:(0,Xe.default)("rt-reset","rt-BaseButton",r),...M&&{disabled:m},...V&&!_?{type:"button"}:{}},o.loading?u.createElement(u.Fragment,null,u.createElement("span",{style:{display:"contents",visibility:"hidden"},"aria-hidden":!0},s),u.createElement(_e,null,u.createElement("span",{id:F},E," is loading, please wait..."),s),u.createElement($,{asChild:!0,align:"center",justify:"center",position:"absolute",inset:"0"},u.createElement("span",null,u.createElement(ve,{"aria-hidden":"true"})))):s)});be.displayName="BaseButton";var R=y(require("react")),ft=y(require("classnames")),K=require("radix-ui");var G=y(require("react")),at=require("radix-ui");var Xt=["loud","medium","quiet"],Ze={emphasis:{type:"enum",className:"rt-emphasis",values:Xt,default:void 0}};var Jt=["normal","start","end","both"],Qe={trim:{type:"enum",className:"rt-r-lt",values:Jt,responsive:!0}};var Zt=["left","center","right"],et={align:{type:"enum",className:"rt-r-ta",values:Zt,responsive:!0}};var Qt=["wrap","nowrap","pretty","balance"],tt={wrap:{type:"enum",className:"rt-r-tw",values:Qt,responsive:!0}};var ot={truncate:{type:"boolean",className:"rt-truncate"}};var eo=["sans","mono","serif"],rt={font:{type:"enum",className:"rt-r-ff",values:eo}};var to=["thin","extralight","light","regular","medium","semibold","bold","extrabold"],st={weight:{type:"enum",className:"rt-r-weight",values:to,responsive:!0}};var oo=["span","div","label","p"],ro=["0","1","2","3","4","5","6","7","8","9","10","11","12"],nt={as:{type:"enum",values:oo,default:"span"},...N,size:{type:"enum",className:"rt-r-size",values:ro,responsive:!0},...rt,...st,...et,...Qe,...ot,...tt,...Ee,...Ze};var so={...nt,...S},Re=G.memo(G.forwardRef((e,t)=>{let{children:o,className:r,asChild:s,as:i="span",color:n,...p}=b(e,so),l=r?`rt-Text ${r}`:"rt-Text";return s?G.createElement(at.Slot.Root,{"data-accent-color":n,...p,ref:t,className:l},o):G.createElement(i,{"data-accent-color":n,...p,ref:t,className:l},o)}));Re.displayName="Text";var c=y(require("react")),lt=y(require("classnames")),A=require("radix-ui"),le=require("radix-ui/internal");function it(e){switch(e){case"tomato":case"red":case"ruby":case"crimson":case"pink":case"plum":case"purple":case"violet":return"mauve";case"iris":case"indigo":case"blue":case"sky":case"cyan":return"slate";case"teal":case"jade":case"mint":case"green":return"sage";case"grass":case"lime":return"olive";case"yellow":case"amber":case"orange":case"brown":case"gold":case"bronze":return"sand";case"gray":return"gray"}}var Ce=y(require("react"));function w(e){let[t,o]=Ce.useState(e),[r,s]=Ce.useState(e);return Object.is(e,r)||(s(e),o(e)),[t,o]}var no=["inherit","light","dark"],pt=["sans","mono","serif"],ao=["1","2","3","4"],d={...N,hasBackground:{type:"boolean",default:!0},appearance:{type:"enum",values:no,default:"inherit"},accentColor:{type:"enum",values:re,default:"gray"},grayColor:{type:"enum",values:Fe,default:"gray"},radius:{type:"enum",values:ue,default:"full"},fontFamily:{type:"enum",values:pt,default:"sans"},headingFontFamily:{type:"enum",values:pt},size:{type:"enum",values:ao,default:"2"}};var h=()=>{},Yr={appearance:d.appearance.default,accentColor:d.accentColor.default,grayColor:d.grayColor.default,resolvedGrayColor:d.grayColor.default,radius:d.radius.default,fontFamily:d.fontFamily.default,headingFontFamily:void 0,size:d.size.default,onAppearanceChange:h,onAccentColorChange:h,onGrayColorChange:h,onRadiusChange:h,onFontFamilyChange:h,onHeadingFontFamilyChange:h,onSizeChange:h},Te=c.createContext(void 0);var xe=c.forwardRef((e,t)=>{let o=c.useContext(Te),r=A.Direction.useDirection();return o===void 0?c.createElement(A.Tooltip.Provider,{delayDuration:200},c.createElement(A.Direction.Provider,{dir:r},c.createElement(mt,{...e,ref:t}))):c.createElement(Ne,{...e,ref:t})});xe.displayName="Theme";var mt=c.forwardRef((e,t)=>{let{appearance:o=d.appearance.default,accentColor:r=d.accentColor.default,grayColor:s=d.grayColor.default,radius:i=d.radius.default,fontFamily:n=d.fontFamily.default,headingFontFamily:p,size:l=d.size.default,hasBackground:a=d.hasBackground.default,...m}=e,[f,g]=w(o),[D,C]=w(r),[x,T]=w(s),[W,I]=w(i),[M,V]=w(n),[_,B]=w(p),[F,E]=w(l);return c.createElement(Ne,{...m,ref:t,isRoot:!0,hasBackground:a,appearance:f,accentColor:D,grayColor:x,radius:W,fontFamily:M,headingFontFamily:_,size:F,onAppearanceChange:g,onAccentColorChange:C,onGrayColorChange:T,onRadiusChange:I,onFontFamilyChange:V,onHeadingFontFamilyChange:B,onSizeChange:E})});mt.displayName="ThemeRoot";function io(){if(typeof navigator>"u")return;let e=navigator.userAgent;if(e.includes("Win"))return"windows";if(e.includes("Mac"))return"macos";if(e.includes("Linux"))return"linux"}var Ne=c.forwardRef((e,t)=>{let o=c.useContext(Te),{asChild:r,isRoot:s,hasBackground:i,appearance:n=e.appearance??o?.appearance??d.appearance.default,accentColor:p=e.accentColor??o?.accentColor??d.accentColor.default,grayColor:l=e.grayColor??o?.resolvedGrayColor??d.grayColor.default,radius:a=e.radius??o?.radius??d.radius.default,fontFamily:m=e.fontFamily??o?.fontFamily??d.fontFamily.default,headingFontFamily:f=e.headingFontFamily??o?.headingFontFamily,size:g=e.size??o?.size??d.size.default,onAppearanceChange:D=h,onAccentColorChange:C=h,onGrayColorChange:x=h,onRadiusChange:T=h,onFontFamilyChange:W=h,onHeadingFontFamilyChange:I=h,onSizeChange:M=h,...V}=e,_=r?A.Slot.Root:"div",B=l==="auto"?it(p):l,F=e.appearance==="light"||e.appearance==="dark",E=i===void 0?s||F:i,ee=c.useRef(null),H=(0,le.useComposedRefs)(t,ee),Y="data-os"in V;return(0,le.useLayoutEffect)(()=>{if(!s||Y)return;let j=ee.current;if(!j)return;let X=io();if(X)return j.setAttribute("data-os",X),()=>j.removeAttribute("data-os")},[s,Y]),c.createElement(Te.Provider,{value:c.useMemo(()=>({appearance:n,accentColor:p,grayColor:l,resolvedGrayColor:B,radius:a,fontFamily:m,headingFontFamily:f,size:g,onAppearanceChange:D,onAccentColorChange:C,onGrayColorChange:x,onRadiusChange:T,onFontFamilyChange:W,onHeadingFontFamilyChange:I,onSizeChange:M}),[n,p,l,B,a,m,f,g,D,C,x,T,W,I,M])},c.createElement(pe.Provider,{value:g},c.createElement(_,{"data-is-root-theme":s?"true":"false","data-accent-color":p,"data-gray-color":B,"data-has-background":E?"true":"false","data-radius":a,"data-font-family":m,"data-heading-font-family":f,ref:H,...V,className:(0,lt.default)("radix-themes",{light:n==="light",dark:n==="dark"},V.className)})))});Ne.displayName="ThemeImpl";var ut={content:{type:"ReactNode",required:!0},width:L.width,minWidth:L.minWidth,maxWidth:{...L.maxWidth,default:"360px"}};var Se=R.forwardRef((e,t)=>{let{children:o,className:r,open:s,defaultOpen:i,onOpenChange:n,delayDuration:p,disableHoverableContent:l,content:a,container:m,forceMount:f,...g}=b(e,ut),D={open:s,defaultOpen:i,onOpenChange:n,delayDuration:p,disableHoverableContent:l};return R.createElement(K.Tooltip.Root,{...D},R.createElement(K.Tooltip.Trigger,{asChild:!0},o),R.createElement(K.Tooltip.Portal,{container:m,forceMount:f},R.createElement(xe,{asChild:!0},R.createElement(K.Tooltip.Content,{sideOffset:4,collisionPadding:10,...g,asChild:!1,ref:t,className:(0,ft.default)("rt-TooltipContent",r)},R.createElement(Re,{as:"p",className:"rt-TooltipText",size:"1"},a),R.createElement(K.Tooltip.Arrow,{className:"rt-TooltipArrow"})))))});Se.displayName="Tooltip";var me=y(require("react"));function ct(e){let t=me.useId(),o=!!e,r=me.useMemo(()=>o?{"aria-describedby":t}:{},[o,t]);return{tooltipId:t,hasTooltip:o,accessibilityProps:r}}var po={loud:"solid",medium:"raised",quiet:"ghost"};function lo(e){if(e["aria-label"]||e["aria-labelledby"]||e.children)return;console.error(`IconButton: Icon buttons must have an accessible name. Please provide either:
2
2
  - aria-label prop with descriptive text
3
3
  - aria-labelledby prop referencing a label element
4
- - or visible text children`)}var ge=$.forwardRef(({className:e,style:t,tooltip:o,tooltipSide:r="top",tooltipAlign:s="center",tooltipDelayDuration:i,tooltipDisableHoverableContent:n,iconOnly:p=!1,emphasis:l,variant:a,...m},u)=>{let{tooltipId:g,hasTooltip:D,accessibilityProps:T}=at(o);if(p&&(oo(m),m.fullWidth=!1),l!==void 0&&a!==void 0)throw new Error("Button: pass `emphasis` or `variant`, not both. They set the same thing.");let N=l!==void 0?to[l]:a,x=$.createElement(me,{...m,variant:N,...T,ref:u,className:(0,pt.default)(p?"rt-IconButton":"rt-Button",e),style:t});return D?$.createElement(Pe,{content:o,side:r,align:s,delayDuration:i,disableHoverableContent:n,id:g},x):x});ge.displayName="Button";var H=d(require("react"));var I=d(require("react")),he=0;function it(){let e=I.useRef(void 0);return I.useEffect(()=>{let o=document.getElementById("rt-live-announcer");return o||(o=document.createElement("div"),o.id="rt-live-announcer",o.setAttribute("aria-live","polite"),o.setAttribute("aria-atomic","true"),o.style.cssText=`
4
+ - or visible text children`)}var we=Q.forwardRef(({className:e,style:t,tooltip:o,tooltipSide:r="top",tooltipAlign:s="center",tooltipDelayDuration:i,tooltipDisableHoverableContent:n,iconOnly:p=!1,emphasis:l,variant:a,...m},f)=>{let{tooltipId:g,hasTooltip:D,accessibilityProps:C}=ct(o);if(p&&(lo(m),m.fullWidth=!1),l!==void 0&&a!==void 0)throw new Error("Button: pass `emphasis` or `variant`, not both. They set the same thing.");let x=l!==void 0?po[l]:a,T=Q.createElement(be,{...m,variant:x,...C,ref:f,className:(0,dt.default)(p?"rt-IconButton":"rt-Button",e),style:t});return D?Q.createElement(Se,{content:o,side:r,align:s,delayDuration:i,disableHoverableContent:n,id:g},T):T});we.displayName="Button";var q=y(require("react"));var U=y(require("react")),Ve=0;function yt(){let e=U.useRef(void 0);return U.useEffect(()=>{let o=document.getElementById("rt-live-announcer");return o||(o=document.createElement("div"),o.id="rt-live-announcer",o.setAttribute("aria-live","polite"),o.setAttribute("aria-atomic","true"),o.style.cssText=`
5
5
  position: absolute;
6
6
  left: -10000px;
7
7
  width: 1px;
@@ -9,5 +9,5 @@
9
9
  overflow: hidden;
10
10
  clip: rect(0, 0, 0, 0);
11
11
  white-space: nowrap;
12
- `,document.body.appendChild(o)),he++,()=>{if(he--,e.current&&clearTimeout(e.current),he===0){let r=document.getElementById("rt-live-announcer");r&&r.remove()}}},[]),I.useCallback(o=>{let r=document.getElementById("rt-live-announcer");r&&(e.current&&clearTimeout(e.current),r.textContent="",e.current=setTimeout(()=>{r.textContent=o},100))},[])}function lt({pressed:e,onPressedChange:t,getAccessibleName:o,componentName:r}){let s=it(),i=H.useRef(!1),n=H.useCallback(p=>{let l=o();s(`${l} ${p?"pressed":"unpressed"}`),t?.(p)},[s,t,o]);return H.useEffect(()=>{},[e,t,r]),{handlePressedChange:n}}var ut=h.forwardRef(({pressed:e,onPressedChange:t,defaultPressed:o,children:r,...s},i)=>{let{"aria-label":n,"aria-labelledby":p,iconOnly:l}=s,a=h.useRef(null);h.useEffect(()=>{a.current=null},[p]);let m=h.useCallback(()=>n||(p?(a.current===null&&(a.current=document.getElementById(p)?.textContent||"Toggle button"),a.current):typeof r=="string"?r:h.isValidElement(r)&&typeof r.props?.children=="string"?r.props.children:"Toggle button"),[n,p,r]),{handlePressedChange:u}=lt({pressed:e,onPressedChange:t,getAccessibleName:m,componentName:l?"ToggleIconButton":"ToggleButton"});return h.createElement(mt.Toggle.Root,{pressed:e,onPressedChange:u,defaultPressed:o,asChild:!0},h.createElement(ge,{...s,ref:i},r))});ut.displayName="ToggleButton";
12
+ `,document.body.appendChild(o)),Ve++,()=>{if(Ve--,e.current&&clearTimeout(e.current),Ve===0){let r=document.getElementById("rt-live-announcer");r&&r.remove()}}},[]),U.useCallback(o=>{let r=document.getElementById("rt-live-announcer");r&&(e.current&&clearTimeout(e.current),r.textContent="",e.current=setTimeout(()=>{r.textContent=o},100))},[])}function gt({pressed:e,onPressedChange:t,getAccessibleName:o,componentName:r}){let s=yt(),i=q.useRef(!1),n=q.useCallback(p=>{let l=o();s(`${l} ${p?"pressed":"unpressed"}`),t?.(p)},[s,t,o]);return q.useEffect(()=>{},[e,t,r]),{handlePressedChange:n}}var ht=v.forwardRef(({pressed:e,onPressedChange:t,defaultPressed:o,children:r,...s},i)=>{let{"aria-label":n,"aria-labelledby":p,iconOnly:l}=s,a=v.useRef(null);v.useEffect(()=>{a.current=null},[p]);let m=v.useCallback(()=>n||(p?(a.current===null&&(a.current=document.getElementById(p)?.textContent||"Toggle button"),a.current):typeof r=="string"?r:v.isValidElement(r)&&typeof r.props?.children=="string"?r.props.children:"Toggle button"),[n,p,r]),{handlePressedChange:f}=gt({pressed:e,onPressedChange:t,getAccessibleName:m,componentName:l?"ToggleIconButton":"ToggleButton"});return v.createElement(Pt.Toggle.Root,{pressed:e,onPressedChange:f,defaultPressed:o,asChild:!0},v.createElement(we,{...s,ref:i},r))});ht.displayName="ToggleButton";
13
13
  //# sourceMappingURL=toggle-button.js.map