@womp/kookie-ui 0.3.25 → 0.3.26

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 (543) hide show
  1. package/components.css +159 -114
  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/dropdown-menu-drill-down.js +1 -1
  6. package/dist/cjs/components/_internal/dropdown-menu-drill-down.js.map +3 -3
  7. package/dist/cjs/components/_internal/shell-bottom.js +1 -1
  8. package/dist/cjs/components/_internal/shell-bottom.js.map +4 -4
  9. package/dist/cjs/components/_internal/shell-handles.d.ts.map +1 -1
  10. package/dist/cjs/components/_internal/shell-handles.js +1 -1
  11. package/dist/cjs/components/_internal/shell-handles.js.map +3 -3
  12. package/dist/cjs/components/_internal/shell-inspector.js +1 -1
  13. package/dist/cjs/components/_internal/shell-inspector.js.map +4 -4
  14. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  15. package/dist/cjs/components/_internal/shell-sidebar.js.map +4 -4
  16. package/dist/cjs/components/accordion.d.ts.map +1 -1
  17. package/dist/cjs/components/accordion.js +1 -1
  18. package/dist/cjs/components/accordion.js.map +4 -4
  19. package/dist/cjs/components/alert-dialog.d.ts.map +1 -1
  20. package/dist/cjs/components/alert-dialog.js +1 -1
  21. package/dist/cjs/components/alert-dialog.js.map +4 -4
  22. package/dist/cjs/components/avatar.js +1 -1
  23. package/dist/cjs/components/avatar.js.map +4 -4
  24. package/dist/cjs/components/badge.d.ts.map +1 -1
  25. package/dist/cjs/components/badge.js +1 -1
  26. package/dist/cjs/components/badge.js.map +4 -4
  27. package/dist/cjs/components/blockquote.js +1 -1
  28. package/dist/cjs/components/blockquote.js.map +4 -4
  29. package/dist/cjs/components/box.js +1 -1
  30. package/dist/cjs/components/box.js.map +4 -4
  31. package/dist/cjs/components/button.js +1 -1
  32. package/dist/cjs/components/button.js.map +4 -4
  33. package/dist/cjs/components/callout.js +1 -1
  34. package/dist/cjs/components/callout.js.map +4 -4
  35. package/dist/cjs/components/card.js +1 -1
  36. package/dist/cjs/components/card.js.map +4 -4
  37. package/dist/cjs/components/chatbar.js +2 -2
  38. package/dist/cjs/components/chatbar.js.map +4 -4
  39. package/dist/cjs/components/checkbox-cards.js +1 -1
  40. package/dist/cjs/components/checkbox-cards.js.map +4 -4
  41. package/dist/cjs/components/checkbox-group.js +1 -1
  42. package/dist/cjs/components/checkbox-group.js.map +4 -4
  43. package/dist/cjs/components/checkbox.js +1 -1
  44. package/dist/cjs/components/checkbox.js.map +4 -4
  45. package/dist/cjs/components/code.js +1 -1
  46. package/dist/cjs/components/code.js.map +4 -4
  47. package/dist/cjs/components/combobox.js +1 -1
  48. package/dist/cjs/components/combobox.js.map +4 -4
  49. package/dist/cjs/components/container.js +1 -1
  50. package/dist/cjs/components/container.js.map +4 -4
  51. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  52. package/dist/cjs/components/context-menu.js +1 -1
  53. package/dist/cjs/components/context-menu.js.map +4 -4
  54. package/dist/cjs/components/data-list.js +1 -1
  55. package/dist/cjs/components/data-list.js.map +4 -4
  56. package/dist/cjs/components/dialog.d.ts.map +1 -1
  57. package/dist/cjs/components/dialog.js +1 -1
  58. package/dist/cjs/components/dialog.js.map +4 -4
  59. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  60. package/dist/cjs/components/dropdown-menu.js +1 -1
  61. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  62. package/dist/cjs/components/em.js +1 -1
  63. package/dist/cjs/components/em.js.map +4 -4
  64. package/dist/cjs/components/flex.js +1 -1
  65. package/dist/cjs/components/flex.js.map +4 -4
  66. package/dist/cjs/components/grid.js +1 -1
  67. package/dist/cjs/components/grid.js.map +4 -4
  68. package/dist/cjs/components/heading.js +1 -1
  69. package/dist/cjs/components/heading.js.map +4 -4
  70. package/dist/cjs/components/hover-card.js +1 -1
  71. package/dist/cjs/components/hover-card.js.map +4 -4
  72. package/dist/cjs/components/icon-button.js +2 -2
  73. package/dist/cjs/components/icon-button.js.map +4 -4
  74. package/dist/cjs/components/image.js +1 -1
  75. package/dist/cjs/components/image.js.map +4 -4
  76. package/dist/cjs/components/index.js +5 -5
  77. package/dist/cjs/components/index.js.map +4 -4
  78. package/dist/cjs/components/inset.js +1 -1
  79. package/dist/cjs/components/inset.js.map +4 -4
  80. package/dist/cjs/components/kbd.js +1 -1
  81. package/dist/cjs/components/kbd.js.map +4 -4
  82. package/dist/cjs/components/link.js +1 -1
  83. package/dist/cjs/components/link.js.map +4 -4
  84. package/dist/cjs/components/navbar.js +1 -1
  85. package/dist/cjs/components/navbar.js.map +4 -4
  86. package/dist/cjs/components/popover.js +1 -1
  87. package/dist/cjs/components/popover.js.map +4 -4
  88. package/dist/cjs/components/progress.js +1 -1
  89. package/dist/cjs/components/progress.js.map +4 -4
  90. package/dist/cjs/components/quote.js +1 -1
  91. package/dist/cjs/components/quote.js.map +4 -4
  92. package/dist/cjs/components/radio-cards.js +1 -1
  93. package/dist/cjs/components/radio-cards.js.map +4 -4
  94. package/dist/cjs/components/radio-group.js +1 -1
  95. package/dist/cjs/components/radio-group.js.map +4 -4
  96. package/dist/cjs/components/radio.js +1 -1
  97. package/dist/cjs/components/radio.js.map +4 -4
  98. package/dist/cjs/components/schemas/base-button.schema.d.ts +2 -2
  99. package/dist/cjs/components/schemas/button.schema.d.ts +2 -2
  100. package/dist/cjs/components/schemas/icon-button.schema.d.ts +4 -4
  101. package/dist/cjs/components/schemas/shell.schema.d.ts +2 -2
  102. package/dist/cjs/components/schemas/toggle-button.schema.d.ts +6 -6
  103. package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts +8 -8
  104. package/dist/cjs/components/scroll-area.js +1 -1
  105. package/dist/cjs/components/scroll-area.js.map +4 -4
  106. package/dist/cjs/components/section.js +1 -1
  107. package/dist/cjs/components/section.js.map +4 -4
  108. package/dist/cjs/components/segmented-control.js +1 -1
  109. package/dist/cjs/components/segmented-control.js.map +4 -4
  110. package/dist/cjs/components/select.js +1 -1
  111. package/dist/cjs/components/select.js.map +4 -4
  112. package/dist/cjs/components/separator.js +1 -1
  113. package/dist/cjs/components/separator.js.map +4 -4
  114. package/dist/cjs/components/sheet.d.ts.map +1 -1
  115. package/dist/cjs/components/sheet.js +1 -1
  116. package/dist/cjs/components/sheet.js.map +4 -4
  117. package/dist/cjs/components/shell.js +1 -1
  118. package/dist/cjs/components/shell.js.map +4 -4
  119. package/dist/cjs/components/sidebar.js +1 -1
  120. package/dist/cjs/components/sidebar.js.map +4 -4
  121. package/dist/cjs/components/skeleton.js +1 -1
  122. package/dist/cjs/components/skeleton.js.map +4 -4
  123. package/dist/cjs/components/slider.js +1 -1
  124. package/dist/cjs/components/slider.js.map +4 -4
  125. package/dist/cjs/components/spinner.js +1 -1
  126. package/dist/cjs/components/spinner.js.map +4 -4
  127. package/dist/cjs/components/strong.js +1 -1
  128. package/dist/cjs/components/strong.js.map +4 -4
  129. package/dist/cjs/components/switch.js +1 -1
  130. package/dist/cjs/components/switch.js.map +4 -4
  131. package/dist/cjs/components/tab-nav.js +1 -1
  132. package/dist/cjs/components/tab-nav.js.map +4 -4
  133. package/dist/cjs/components/table.js +1 -1
  134. package/dist/cjs/components/table.js.map +4 -4
  135. package/dist/cjs/components/tabs.js +1 -1
  136. package/dist/cjs/components/tabs.js.map +4 -4
  137. package/dist/cjs/components/text-area.js +1 -1
  138. package/dist/cjs/components/text-area.js.map +4 -4
  139. package/dist/cjs/components/text-field.js +2 -2
  140. package/dist/cjs/components/text-field.js.map +4 -4
  141. package/dist/cjs/components/text.js +1 -1
  142. package/dist/cjs/components/text.js.map +4 -4
  143. package/dist/cjs/components/theme-panel.js +3 -3
  144. package/dist/cjs/components/theme-panel.js.map +4 -4
  145. package/dist/cjs/components/theme.d.ts.map +1 -1
  146. package/dist/cjs/components/theme.js +1 -1
  147. package/dist/cjs/components/theme.js.map +4 -4
  148. package/dist/cjs/components/toggle-button.js +2 -2
  149. package/dist/cjs/components/toggle-button.js.map +4 -4
  150. package/dist/cjs/components/toggle-icon-button.js +3 -3
  151. package/dist/cjs/components/toggle-icon-button.js.map +4 -4
  152. package/dist/cjs/components/toolbar.js +1 -1
  153. package/dist/cjs/components/toolbar.js.map +4 -4
  154. package/dist/cjs/components/tooltip.js +1 -1
  155. package/dist/cjs/components/tooltip.js.map +4 -4
  156. package/dist/cjs/components/user-card.js +1 -1
  157. package/dist/cjs/components/user-card.js.map +4 -4
  158. package/dist/cjs/helpers/compile-prop-defs.d.ts +49 -0
  159. package/dist/cjs/helpers/compile-prop-defs.d.ts.map +1 -0
  160. package/dist/cjs/helpers/compile-prop-defs.js +2 -0
  161. package/dist/cjs/helpers/compile-prop-defs.js.map +7 -0
  162. package/dist/cjs/helpers/extract-props.d.ts.map +1 -1
  163. package/dist/cjs/helpers/extract-props.js +1 -1
  164. package/dist/cjs/helpers/extract-props.js.map +4 -4
  165. package/dist/cjs/helpers/get-margin-styles.d.ts.map +1 -1
  166. package/dist/cjs/helpers/get-margin-styles.js +1 -1
  167. package/dist/cjs/helpers/get-margin-styles.js.map +3 -3
  168. package/dist/cjs/helpers/get-responsive-styles.d.ts +5 -2
  169. package/dist/cjs/helpers/get-responsive-styles.d.ts.map +1 -1
  170. package/dist/cjs/helpers/get-responsive-styles.js +1 -1
  171. package/dist/cjs/helpers/get-responsive-styles.js.map +3 -3
  172. package/dist/cjs/helpers/index.js +2 -2
  173. package/dist/cjs/helpers/index.js.map +4 -4
  174. package/dist/cjs/helpers/use-deprecation-warning.d.ts +10 -0
  175. package/dist/cjs/helpers/use-deprecation-warning.d.ts.map +1 -0
  176. package/dist/cjs/helpers/use-deprecation-warning.js +2 -0
  177. package/dist/cjs/helpers/use-deprecation-warning.js.map +7 -0
  178. package/dist/cjs/hooks/index.js +2 -2
  179. package/dist/cjs/hooks/index.js.map +3 -3
  180. package/dist/cjs/hooks/use-body-pointer-events-cleanup.d.ts.map +1 -1
  181. package/dist/cjs/hooks/use-body-pointer-events-cleanup.js +1 -1
  182. package/dist/cjs/hooks/use-body-pointer-events-cleanup.js.map +3 -3
  183. package/dist/cjs/hooks/use-breakpoint.d.ts +7 -3
  184. package/dist/cjs/hooks/use-breakpoint.d.ts.map +1 -1
  185. package/dist/cjs/hooks/use-breakpoint.js +1 -1
  186. package/dist/cjs/hooks/use-breakpoint.js.map +3 -3
  187. package/dist/cjs/hooks/use-prop-synced-state.d.ts +14 -0
  188. package/dist/cjs/hooks/use-prop-synced-state.d.ts.map +1 -0
  189. package/dist/cjs/hooks/use-prop-synced-state.js +2 -0
  190. package/dist/cjs/hooks/use-prop-synced-state.js.map +7 -0
  191. package/dist/cjs/index.js +5 -5
  192. package/dist/cjs/index.js.map +4 -4
  193. package/dist/esm/{chunk-RQ2ZPMHJ.js → chunk-22HGLMPQ.js} +2 -2
  194. package/dist/esm/{chunk-WYA4IRU6.js → chunk-25WZA7ZU.js} +2 -2
  195. package/dist/esm/chunk-2UPAYDKR.js +2 -0
  196. package/dist/esm/chunk-2UPAYDKR.js.map +7 -0
  197. package/dist/esm/{chunk-XHQGMOXV.js → chunk-36ZQVP7F.js} +2 -2
  198. package/dist/esm/{chunk-K3R4AH3E.js → chunk-3MWWP4MW.js} +2 -2
  199. package/dist/esm/{chunk-HQ35PM4O.js → chunk-43A5GUSI.js} +2 -2
  200. package/dist/esm/{chunk-Z5DQ6FSA.js → chunk-4AQTUBVP.js} +2 -2
  201. package/dist/esm/{chunk-25U7DENY.js → chunk-4BBOHEF4.js} +2 -2
  202. package/dist/esm/{chunk-ARGX2ZZK.js → chunk-4CKDU6FY.js} +2 -2
  203. package/dist/esm/{chunk-ZSEFZM5H.js → chunk-4IY2PR6N.js} +2 -2
  204. package/dist/esm/{chunk-QLIELX4I.js → chunk-4ME6O27S.js} +2 -2
  205. package/dist/esm/chunk-4XJY6FIK.js +2 -0
  206. package/dist/esm/chunk-4XJY6FIK.js.map +7 -0
  207. package/dist/esm/{chunk-JQOFJNCV.js → chunk-4YFJWXL2.js} +2 -2
  208. package/dist/esm/{chunk-DNI4QRXQ.js → chunk-5IBGFL6O.js} +2 -2
  209. package/dist/esm/chunk-5TXQLK4G.js +2 -0
  210. package/dist/esm/chunk-5TXQLK4G.js.map +7 -0
  211. package/dist/esm/{chunk-IPJUHVM6.js → chunk-666GX7O5.js} +2 -2
  212. package/dist/esm/chunk-6FLLFCBU.js +2 -0
  213. package/dist/esm/chunk-6FLLFCBU.js.map +7 -0
  214. package/dist/esm/{chunk-DJBPM5QK.js → chunk-7FC7HF76.js} +2 -2
  215. package/dist/esm/{chunk-SVLY6B5F.js → chunk-7QDTSBJF.js} +2 -2
  216. package/dist/esm/chunk-AX5S56DS.js +2 -0
  217. package/dist/esm/chunk-AX5S56DS.js.map +7 -0
  218. package/dist/esm/{chunk-DK5MHD6I.js → chunk-B24BDVG2.js} +2 -2
  219. package/dist/esm/{chunk-WZCZHCVE.js → chunk-BJYUPIXO.js} +2 -2
  220. package/dist/esm/{chunk-BJTJUIYJ.js → chunk-CRWYCLTE.js} +2 -2
  221. package/dist/esm/{chunk-OHJVFZMH.js → chunk-CSKZZOI2.js} +2 -2
  222. package/dist/esm/chunk-D5N627TH.js +2 -0
  223. package/dist/esm/chunk-D5N627TH.js.map +7 -0
  224. package/dist/esm/{chunk-ADYTQCZX.js → chunk-D6B7IMZU.js} +2 -2
  225. package/dist/esm/chunk-DL2O3GKG.js +2 -0
  226. package/dist/esm/chunk-DL2O3GKG.js.map +7 -0
  227. package/dist/esm/{chunk-USGTBZ43.js → chunk-E67CIG6A.js} +2 -2
  228. package/dist/esm/{chunk-42HFGCHX.js → chunk-ETMLMDW4.js} +2 -2
  229. package/dist/esm/{chunk-7CBAHIVG.js → chunk-F2HYQ3ZR.js} +2 -2
  230. package/dist/esm/{chunk-YUZPSUJE.js → chunk-F7IYL2VW.js} +2 -2
  231. package/dist/esm/{chunk-FVCWNSRU.js → chunk-FHOCUZDR.js} +2 -2
  232. package/dist/esm/{chunk-7MURQ6CR.js → chunk-FLFAXVFB.js} +2 -2
  233. package/dist/esm/{chunk-APRBRAOT.js → chunk-FOEZLQTW.js} +2 -2
  234. package/dist/esm/{chunk-WNSPLWRV.js → chunk-GJSGKE7B.js} +2 -2
  235. package/dist/esm/{chunk-OGOOZLUD.js → chunk-GLERJXVS.js} +2 -2
  236. package/dist/esm/{chunk-6VGPTAHM.js → chunk-GWXVETMF.js} +2 -2
  237. package/dist/esm/{chunk-ES7MK2MM.js → chunk-GYBLXQ4R.js} +2 -2
  238. package/dist/esm/{chunk-4OBMRJHC.js → chunk-H7ST535H.js} +2 -2
  239. package/dist/esm/{chunk-QLZ5XAW6.js → chunk-HF5WY5YE.js} +2 -2
  240. package/dist/esm/chunk-ICIGZ3N7.js +2 -0
  241. package/dist/esm/chunk-ICIGZ3N7.js.map +7 -0
  242. package/dist/esm/{chunk-RDP4UQ42.js → chunk-IEWCQU2S.js} +2 -2
  243. package/dist/esm/{chunk-XLOHPURR.js → chunk-IHK3H2OM.js} +2 -2
  244. package/dist/esm/{chunk-3F6I7YOR.js → chunk-JDGJSNWT.js} +2 -2
  245. package/dist/esm/chunk-JQQIPEGY.js +2 -0
  246. package/dist/esm/chunk-JQQIPEGY.js.map +7 -0
  247. package/dist/esm/chunk-JR2YOGII.js +2 -0
  248. package/dist/esm/chunk-JR2YOGII.js.map +7 -0
  249. package/dist/esm/chunk-JUY7CBSL.js +2 -0
  250. package/dist/esm/chunk-JUY7CBSL.js.map +7 -0
  251. package/dist/esm/{chunk-VF5TRT3H.js → chunk-KKM6T5P7.js} +2 -2
  252. package/dist/esm/{chunk-ZHYOJNWV.js → chunk-LKAK5GXF.js} +2 -2
  253. package/dist/esm/chunk-LOGJJF4I.js +2 -0
  254. package/dist/esm/chunk-LOGJJF4I.js.map +7 -0
  255. package/dist/esm/{chunk-JCYI4NTV.js → chunk-MBCBP73P.js} +2 -2
  256. package/dist/esm/{chunk-UYNYUR7O.js → chunk-MBE2YSBU.js} +2 -2
  257. package/dist/esm/chunk-MHANZINI.js +2 -0
  258. package/dist/esm/chunk-MHANZINI.js.map +7 -0
  259. package/dist/esm/chunk-MRECKC4D.js +2 -0
  260. package/dist/esm/chunk-MRECKC4D.js.map +7 -0
  261. package/dist/esm/{chunk-H2G446JG.js → chunk-NMKPFUNP.js} +2 -2
  262. package/dist/esm/{chunk-4N5JU7XQ.js → chunk-O3CDWEZA.js} +2 -2
  263. package/dist/esm/{chunk-TEULZKBM.js → chunk-OGXZHAQL.js} +2 -2
  264. package/dist/esm/{chunk-2AEELIG6.js → chunk-OWAUCLRT.js} +2 -2
  265. package/dist/esm/{chunk-7CXVHFMQ.js → chunk-P7HYVJSU.js} +2 -2
  266. package/dist/esm/{chunk-4532RT2B.js → chunk-P7IAHW4V.js} +2 -2
  267. package/dist/esm/{chunk-M3ZYJANH.js → chunk-PQZXQ4ST.js} +2 -2
  268. package/dist/esm/{chunk-SGU4HUHF.js → chunk-PTLFMWCN.js} +2 -2
  269. package/dist/esm/chunk-S2HA3W3V.js +2 -0
  270. package/dist/esm/chunk-S2HA3W3V.js.map +7 -0
  271. package/dist/esm/{chunk-E6IWYD3U.js → chunk-S5C5YRBS.js} +2 -2
  272. package/dist/esm/{chunk-A24PYRVV.js → chunk-SO67YEVQ.js} +2 -2
  273. package/dist/esm/chunk-TLWTUKKL.js +2 -0
  274. package/dist/esm/chunk-TLWTUKKL.js.map +7 -0
  275. package/dist/esm/{chunk-HACQF6F4.js → chunk-TOOSHJOA.js} +2 -2
  276. package/dist/esm/{chunk-QOWA5LK5.js → chunk-U2X2CAW4.js} +2 -2
  277. package/dist/esm/{chunk-U7AASKZI.js → chunk-UVCH7QKO.js} +2 -2
  278. package/dist/esm/{chunk-GWYFT3EI.js → chunk-VLO7NXSP.js} +2 -2
  279. package/dist/esm/{chunk-DXI5P5O4.js → chunk-VX6ARMWP.js} +2 -2
  280. package/dist/esm/chunk-WAURCNAS.js +2 -0
  281. package/dist/esm/chunk-WAURCNAS.js.map +7 -0
  282. package/dist/esm/{chunk-EJWAAFCI.js → chunk-WO43WW3A.js} +2 -2
  283. package/dist/esm/{chunk-GLC4QJBF.js → chunk-WTYNFBFV.js} +2 -2
  284. package/dist/esm/{chunk-6FAICIYS.js → chunk-XMRIRFM7.js} +2 -2
  285. package/dist/esm/chunk-YV2KYHGR.js +2 -0
  286. package/dist/esm/chunk-YV2KYHGR.js.map +7 -0
  287. package/dist/esm/{chunk-UIEUZLZZ.js → chunk-ZY6SQWHT.js} +2 -2
  288. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  289. package/dist/esm/components/_internal/base-button.js +1 -1
  290. package/dist/esm/components/_internal/dropdown-menu-drill-down.js +1 -1
  291. package/dist/esm/components/_internal/shell-bottom.js +1 -1
  292. package/dist/esm/components/_internal/shell-handles.d.ts.map +1 -1
  293. package/dist/esm/components/_internal/shell-handles.js +1 -1
  294. package/dist/esm/components/_internal/shell-inspector.js +1 -1
  295. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  296. package/dist/esm/components/accordion.d.ts.map +1 -1
  297. package/dist/esm/components/accordion.js +1 -1
  298. package/dist/esm/components/alert-dialog.d.ts.map +1 -1
  299. package/dist/esm/components/alert-dialog.js +1 -1
  300. package/dist/esm/components/avatar.js +1 -1
  301. package/dist/esm/components/badge.d.ts.map +1 -1
  302. package/dist/esm/components/badge.js +1 -1
  303. package/dist/esm/components/blockquote.js +1 -1
  304. package/dist/esm/components/box.js +1 -1
  305. package/dist/esm/components/button.js +1 -1
  306. package/dist/esm/components/callout.js +1 -1
  307. package/dist/esm/components/card.js +1 -1
  308. package/dist/esm/components/chatbar.js +1 -1
  309. package/dist/esm/components/checkbox-cards.js +1 -1
  310. package/dist/esm/components/checkbox-group.js +1 -1
  311. package/dist/esm/components/checkbox.js +1 -1
  312. package/dist/esm/components/code.js +1 -1
  313. package/dist/esm/components/combobox.js +1 -1
  314. package/dist/esm/components/container.js +1 -1
  315. package/dist/esm/components/context-menu.d.ts.map +1 -1
  316. package/dist/esm/components/context-menu.js +1 -1
  317. package/dist/esm/components/data-list.js +1 -1
  318. package/dist/esm/components/dialog.d.ts.map +1 -1
  319. package/dist/esm/components/dialog.js +1 -1
  320. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  321. package/dist/esm/components/dropdown-menu.js +1 -1
  322. package/dist/esm/components/em.js +1 -1
  323. package/dist/esm/components/flex.js +1 -1
  324. package/dist/esm/components/grid.js +1 -1
  325. package/dist/esm/components/heading.js +1 -1
  326. package/dist/esm/components/hover-card.js +1 -1
  327. package/dist/esm/components/icon-button.js +1 -1
  328. package/dist/esm/components/image.js +1 -1
  329. package/dist/esm/components/index.js +1 -1
  330. package/dist/esm/components/inset.js +1 -1
  331. package/dist/esm/components/kbd.js +1 -1
  332. package/dist/esm/components/link.js +1 -1
  333. package/dist/esm/components/navbar.js +1 -1
  334. package/dist/esm/components/popover.js +1 -1
  335. package/dist/esm/components/progress.js +1 -1
  336. package/dist/esm/components/quote.js +1 -1
  337. package/dist/esm/components/radio-cards.js +1 -1
  338. package/dist/esm/components/radio-group.js +1 -1
  339. package/dist/esm/components/radio.js +1 -1
  340. package/dist/esm/components/schemas/base-button.schema.d.ts +2 -2
  341. package/dist/esm/components/schemas/button.schema.d.ts +2 -2
  342. package/dist/esm/components/schemas/icon-button.schema.d.ts +4 -4
  343. package/dist/esm/components/schemas/shell.schema.d.ts +2 -2
  344. package/dist/esm/components/schemas/toggle-button.schema.d.ts +6 -6
  345. package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts +8 -8
  346. package/dist/esm/components/scroll-area.js +1 -1
  347. package/dist/esm/components/section.js +1 -1
  348. package/dist/esm/components/segmented-control.js +1 -1
  349. package/dist/esm/components/select.js +1 -1
  350. package/dist/esm/components/separator.js +1 -1
  351. package/dist/esm/components/sheet.d.ts.map +1 -1
  352. package/dist/esm/components/sheet.js +1 -1
  353. package/dist/esm/components/shell.js +1 -1
  354. package/dist/esm/components/sidebar.js +1 -1
  355. package/dist/esm/components/skeleton.js +1 -1
  356. package/dist/esm/components/slider.js +1 -1
  357. package/dist/esm/components/spinner.js +1 -1
  358. package/dist/esm/components/strong.js +1 -1
  359. package/dist/esm/components/switch.js +1 -1
  360. package/dist/esm/components/tab-nav.js +1 -1
  361. package/dist/esm/components/table.js +1 -1
  362. package/dist/esm/components/tabs.js +1 -1
  363. package/dist/esm/components/text-area.js +1 -1
  364. package/dist/esm/components/text-field.js +1 -1
  365. package/dist/esm/components/text.js +1 -1
  366. package/dist/esm/components/theme-panel.js +1 -1
  367. package/dist/esm/components/theme.d.ts.map +1 -1
  368. package/dist/esm/components/theme.js +1 -1
  369. package/dist/esm/components/toggle-button.js +1 -1
  370. package/dist/esm/components/toggle-icon-button.js +1 -1
  371. package/dist/esm/components/toolbar.js +1 -1
  372. package/dist/esm/components/tooltip.js +1 -1
  373. package/dist/esm/components/user-card.js +1 -1
  374. package/dist/esm/helpers/compile-prop-defs.d.ts +49 -0
  375. package/dist/esm/helpers/compile-prop-defs.d.ts.map +1 -0
  376. package/dist/esm/helpers/compile-prop-defs.js +2 -0
  377. package/dist/esm/helpers/compile-prop-defs.js.map +7 -0
  378. package/dist/esm/helpers/extract-props.d.ts.map +1 -1
  379. package/dist/esm/helpers/extract-props.js +1 -1
  380. package/dist/esm/helpers/get-margin-styles.d.ts.map +1 -1
  381. package/dist/esm/helpers/get-margin-styles.js +1 -1
  382. package/dist/esm/helpers/get-responsive-styles.d.ts +5 -2
  383. package/dist/esm/helpers/get-responsive-styles.d.ts.map +1 -1
  384. package/dist/esm/helpers/get-responsive-styles.js +1 -1
  385. package/dist/esm/helpers/index.js +1 -1
  386. package/dist/esm/helpers/use-deprecation-warning.d.ts +10 -0
  387. package/dist/esm/helpers/use-deprecation-warning.d.ts.map +1 -0
  388. package/dist/esm/helpers/use-deprecation-warning.js +2 -0
  389. package/dist/esm/helpers/use-deprecation-warning.js.map +7 -0
  390. package/dist/esm/hooks/index.js +1 -1
  391. package/dist/esm/hooks/use-body-pointer-events-cleanup.d.ts.map +1 -1
  392. package/dist/esm/hooks/use-body-pointer-events-cleanup.js +1 -1
  393. package/dist/esm/hooks/use-breakpoint.d.ts +7 -3
  394. package/dist/esm/hooks/use-breakpoint.d.ts.map +1 -1
  395. package/dist/esm/hooks/use-breakpoint.js +1 -1
  396. package/dist/esm/hooks/use-prop-synced-state.d.ts +14 -0
  397. package/dist/esm/hooks/use-prop-synced-state.d.ts.map +1 -0
  398. package/dist/esm/hooks/use-prop-synced-state.js +2 -0
  399. package/dist/esm/hooks/use-prop-synced-state.js.map +7 -0
  400. package/dist/esm/index.js +1 -1
  401. package/package.json +2 -1
  402. package/schemas/base-button.json +0 -1
  403. package/schemas/button.json +0 -1
  404. package/schemas/icon-button.json +0 -1
  405. package/schemas/index.json +0 -6
  406. package/schemas/toggle-button.json +0 -1
  407. package/schemas/toggle-icon-button.json +0 -1
  408. package/src/components/_internal/base-button.css +2 -2
  409. package/src/components/_internal/base-button.tsx +3 -58
  410. package/src/components/_internal/base-card.css +19 -4
  411. package/src/components/_internal/base-checkbox.css +2 -2
  412. package/src/components/_internal/base-dialog.css +7 -0
  413. package/src/components/_internal/base-menu.css +7 -0
  414. package/src/components/_internal/base-radio.css +2 -2
  415. package/src/components/_internal/base-sidebar.css +7 -0
  416. package/src/components/_internal/base-tab-list.css +2 -2
  417. package/src/components/_internal/shell-handles.tsx +27 -0
  418. package/src/components/accordion.css +6 -6
  419. package/src/components/accordion.tsx +2 -8
  420. package/src/components/alert-dialog.tsx +22 -20
  421. package/src/components/avatar.css +2 -2
  422. package/src/components/badge.css +2 -2
  423. package/src/components/badge.tsx +2 -8
  424. package/src/components/callout.css +2 -2
  425. package/src/components/chatbar.css +1 -1
  426. package/src/components/context-menu.tsx +2 -8
  427. package/src/components/dialog.tsx +22 -20
  428. package/src/components/dropdown-menu.tsx +2 -8
  429. package/src/components/popover.css +7 -0
  430. package/src/components/progress.css +21 -8
  431. package/src/components/segmented-control.css +2 -2
  432. package/src/components/select.css +9 -2
  433. package/src/components/sheet.tsx +31 -28
  434. package/src/components/shell.css +106 -69
  435. package/src/components/slider.css +2 -2
  436. package/src/components/switch.css +2 -2
  437. package/src/components/table.css +7 -0
  438. package/src/components/text-area.css +2 -2
  439. package/src/components/text-field.css +2 -2
  440. package/src/components/theme.tsx +35 -34
  441. package/src/helpers/compile-prop-defs.ts +121 -0
  442. package/src/helpers/extract-props.ts +104 -83
  443. package/src/helpers/get-margin-styles.ts +38 -71
  444. package/src/helpers/get-responsive-styles.ts +37 -38
  445. package/src/helpers/use-deprecation-warning.ts +26 -0
  446. package/src/hooks/use-body-pointer-events-cleanup.ts +36 -6
  447. package/src/hooks/use-breakpoint.ts +94 -53
  448. package/src/hooks/use-prop-synced-state.ts +24 -0
  449. package/src/styles/tokens/blur.css +28 -0
  450. package/src/styles/tokens/color.css +3 -3
  451. package/src/styles/tokens/constants.css +11 -0
  452. package/styles.css +175 -117
  453. package/tokens/base.css +13 -3
  454. package/tokens.css +16 -3
  455. package/dist/esm/chunk-2SS3FA3N.js +0 -2
  456. package/dist/esm/chunk-2SS3FA3N.js.map +0 -7
  457. package/dist/esm/chunk-5U2Q23K3.js +0 -2
  458. package/dist/esm/chunk-5U2Q23K3.js.map +0 -7
  459. package/dist/esm/chunk-6ELPYR73.js +0 -2
  460. package/dist/esm/chunk-6ELPYR73.js.map +0 -7
  461. package/dist/esm/chunk-DZ4H2KTP.js +0 -2
  462. package/dist/esm/chunk-DZ4H2KTP.js.map +0 -7
  463. package/dist/esm/chunk-H4MMVAGQ.js +0 -2
  464. package/dist/esm/chunk-H4MMVAGQ.js.map +0 -7
  465. package/dist/esm/chunk-ITRVKLYU.js +0 -2
  466. package/dist/esm/chunk-ITRVKLYU.js.map +0 -7
  467. package/dist/esm/chunk-KCAFSCOV.js +0 -2
  468. package/dist/esm/chunk-KCAFSCOV.js.map +0 -7
  469. package/dist/esm/chunk-KMPBTEZH.js +0 -2
  470. package/dist/esm/chunk-KMPBTEZH.js.map +0 -7
  471. package/dist/esm/chunk-LN5SP46K.js +0 -2
  472. package/dist/esm/chunk-LN5SP46K.js.map +0 -7
  473. package/dist/esm/chunk-OKJNS7Z7.js +0 -2
  474. package/dist/esm/chunk-OKJNS7Z7.js.map +0 -7
  475. package/dist/esm/chunk-Q73Y5O5P.js +0 -2
  476. package/dist/esm/chunk-Q73Y5O5P.js.map +0 -7
  477. package/dist/esm/chunk-UUX42HBM.js +0 -2
  478. package/dist/esm/chunk-UUX42HBM.js.map +0 -7
  479. package/dist/esm/chunk-X7BD5FLE.js +0 -2
  480. package/dist/esm/chunk-X7BD5FLE.js.map +0 -7
  481. package/dist/esm/chunk-YEA646GM.js +0 -2
  482. package/dist/esm/chunk-YEA646GM.js.map +0 -7
  483. package/dist/esm/chunk-ZMEXIPWM.js +0 -2
  484. package/dist/esm/chunk-ZMEXIPWM.js.map +0 -7
  485. /package/dist/esm/{chunk-RQ2ZPMHJ.js.map → chunk-22HGLMPQ.js.map} +0 -0
  486. /package/dist/esm/{chunk-WYA4IRU6.js.map → chunk-25WZA7ZU.js.map} +0 -0
  487. /package/dist/esm/{chunk-XHQGMOXV.js.map → chunk-36ZQVP7F.js.map} +0 -0
  488. /package/dist/esm/{chunk-K3R4AH3E.js.map → chunk-3MWWP4MW.js.map} +0 -0
  489. /package/dist/esm/{chunk-HQ35PM4O.js.map → chunk-43A5GUSI.js.map} +0 -0
  490. /package/dist/esm/{chunk-Z5DQ6FSA.js.map → chunk-4AQTUBVP.js.map} +0 -0
  491. /package/dist/esm/{chunk-25U7DENY.js.map → chunk-4BBOHEF4.js.map} +0 -0
  492. /package/dist/esm/{chunk-ARGX2ZZK.js.map → chunk-4CKDU6FY.js.map} +0 -0
  493. /package/dist/esm/{chunk-ZSEFZM5H.js.map → chunk-4IY2PR6N.js.map} +0 -0
  494. /package/dist/esm/{chunk-QLIELX4I.js.map → chunk-4ME6O27S.js.map} +0 -0
  495. /package/dist/esm/{chunk-JQOFJNCV.js.map → chunk-4YFJWXL2.js.map} +0 -0
  496. /package/dist/esm/{chunk-DNI4QRXQ.js.map → chunk-5IBGFL6O.js.map} +0 -0
  497. /package/dist/esm/{chunk-IPJUHVM6.js.map → chunk-666GX7O5.js.map} +0 -0
  498. /package/dist/esm/{chunk-DJBPM5QK.js.map → chunk-7FC7HF76.js.map} +0 -0
  499. /package/dist/esm/{chunk-SVLY6B5F.js.map → chunk-7QDTSBJF.js.map} +0 -0
  500. /package/dist/esm/{chunk-DK5MHD6I.js.map → chunk-B24BDVG2.js.map} +0 -0
  501. /package/dist/esm/{chunk-WZCZHCVE.js.map → chunk-BJYUPIXO.js.map} +0 -0
  502. /package/dist/esm/{chunk-BJTJUIYJ.js.map → chunk-CRWYCLTE.js.map} +0 -0
  503. /package/dist/esm/{chunk-OHJVFZMH.js.map → chunk-CSKZZOI2.js.map} +0 -0
  504. /package/dist/esm/{chunk-ADYTQCZX.js.map → chunk-D6B7IMZU.js.map} +0 -0
  505. /package/dist/esm/{chunk-USGTBZ43.js.map → chunk-E67CIG6A.js.map} +0 -0
  506. /package/dist/esm/{chunk-42HFGCHX.js.map → chunk-ETMLMDW4.js.map} +0 -0
  507. /package/dist/esm/{chunk-7CBAHIVG.js.map → chunk-F2HYQ3ZR.js.map} +0 -0
  508. /package/dist/esm/{chunk-YUZPSUJE.js.map → chunk-F7IYL2VW.js.map} +0 -0
  509. /package/dist/esm/{chunk-FVCWNSRU.js.map → chunk-FHOCUZDR.js.map} +0 -0
  510. /package/dist/esm/{chunk-7MURQ6CR.js.map → chunk-FLFAXVFB.js.map} +0 -0
  511. /package/dist/esm/{chunk-APRBRAOT.js.map → chunk-FOEZLQTW.js.map} +0 -0
  512. /package/dist/esm/{chunk-WNSPLWRV.js.map → chunk-GJSGKE7B.js.map} +0 -0
  513. /package/dist/esm/{chunk-OGOOZLUD.js.map → chunk-GLERJXVS.js.map} +0 -0
  514. /package/dist/esm/{chunk-6VGPTAHM.js.map → chunk-GWXVETMF.js.map} +0 -0
  515. /package/dist/esm/{chunk-ES7MK2MM.js.map → chunk-GYBLXQ4R.js.map} +0 -0
  516. /package/dist/esm/{chunk-4OBMRJHC.js.map → chunk-H7ST535H.js.map} +0 -0
  517. /package/dist/esm/{chunk-QLZ5XAW6.js.map → chunk-HF5WY5YE.js.map} +0 -0
  518. /package/dist/esm/{chunk-RDP4UQ42.js.map → chunk-IEWCQU2S.js.map} +0 -0
  519. /package/dist/esm/{chunk-XLOHPURR.js.map → chunk-IHK3H2OM.js.map} +0 -0
  520. /package/dist/esm/{chunk-3F6I7YOR.js.map → chunk-JDGJSNWT.js.map} +0 -0
  521. /package/dist/esm/{chunk-VF5TRT3H.js.map → chunk-KKM6T5P7.js.map} +0 -0
  522. /package/dist/esm/{chunk-ZHYOJNWV.js.map → chunk-LKAK5GXF.js.map} +0 -0
  523. /package/dist/esm/{chunk-JCYI4NTV.js.map → chunk-MBCBP73P.js.map} +0 -0
  524. /package/dist/esm/{chunk-UYNYUR7O.js.map → chunk-MBE2YSBU.js.map} +0 -0
  525. /package/dist/esm/{chunk-H2G446JG.js.map → chunk-NMKPFUNP.js.map} +0 -0
  526. /package/dist/esm/{chunk-4N5JU7XQ.js.map → chunk-O3CDWEZA.js.map} +0 -0
  527. /package/dist/esm/{chunk-TEULZKBM.js.map → chunk-OGXZHAQL.js.map} +0 -0
  528. /package/dist/esm/{chunk-2AEELIG6.js.map → chunk-OWAUCLRT.js.map} +0 -0
  529. /package/dist/esm/{chunk-7CXVHFMQ.js.map → chunk-P7HYVJSU.js.map} +0 -0
  530. /package/dist/esm/{chunk-4532RT2B.js.map → chunk-P7IAHW4V.js.map} +0 -0
  531. /package/dist/esm/{chunk-M3ZYJANH.js.map → chunk-PQZXQ4ST.js.map} +0 -0
  532. /package/dist/esm/{chunk-SGU4HUHF.js.map → chunk-PTLFMWCN.js.map} +0 -0
  533. /package/dist/esm/{chunk-E6IWYD3U.js.map → chunk-S5C5YRBS.js.map} +0 -0
  534. /package/dist/esm/{chunk-A24PYRVV.js.map → chunk-SO67YEVQ.js.map} +0 -0
  535. /package/dist/esm/{chunk-HACQF6F4.js.map → chunk-TOOSHJOA.js.map} +0 -0
  536. /package/dist/esm/{chunk-QOWA5LK5.js.map → chunk-U2X2CAW4.js.map} +0 -0
  537. /package/dist/esm/{chunk-U7AASKZI.js.map → chunk-UVCH7QKO.js.map} +0 -0
  538. /package/dist/esm/{chunk-GWYFT3EI.js.map → chunk-VLO7NXSP.js.map} +0 -0
  539. /package/dist/esm/{chunk-DXI5P5O4.js.map → chunk-VX6ARMWP.js.map} +0 -0
  540. /package/dist/esm/{chunk-EJWAAFCI.js.map → chunk-WO43WW3A.js.map} +0 -0
  541. /package/dist/esm/{chunk-GLC4QJBF.js.map → chunk-WTYNFBFV.js.map} +0 -0
  542. /package/dist/esm/{chunk-6FAICIYS.js.map → chunk-XMRIRFM7.js.map} +0 -0
  543. /package/dist/esm/{chunk-UIEUZLZZ.js.map → chunk-ZY6SQWHT.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/dialog.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Dialog as DialogPrimitive } from 'radix-ui';\n\nimport { dialogContentPropDefs } from './dialog.props.js';\nimport { Heading } from './heading.js';\nimport { Text } from './text.js';\nimport { Theme } from './theme.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\nimport { useBodyPointerEventsCleanup } from '../hooks/use-body-pointer-events-cleanup.js';\n\nimport type { DialogContentOwnProps } from './dialog.props.js';\nimport type {\n ComponentPropsWithout,\n RemovedProps,\n ComponentPropsAs,\n} from '../helpers/component-props.js';\n\ninterface DialogRootProps extends ComponentPropsWithout<typeof DialogPrimitive.Root, 'modal'> {}\nconst DialogRoot: React.FC<DialogRootProps> = (props) => <DialogPrimitive.Root {...props} modal />;\nDialogRoot.displayName = 'Dialog.Root';\n\ntype DialogTriggerElement = React.ElementRef<typeof DialogPrimitive.Trigger>;\ninterface DialogTriggerProps\n extends ComponentPropsWithout<typeof DialogPrimitive.Trigger, RemovedProps> {}\nconst DialogTrigger = React.forwardRef<DialogTriggerElement, DialogTriggerProps>(\n ({ children, ...props }, forwardedRef) => (\n <DialogPrimitive.Trigger {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </DialogPrimitive.Trigger>\n ),\n);\nDialogTrigger.displayName = 'Dialog.Trigger';\n\n// Split once at module scope. `extractProps` memoises on the identity of the\n// prop def objects it is handed, so rebuilding these per render would recompile\n// them on every render.\nconst {\n align: alignPropDef,\n panelBackground: panelBackgroundPropDef,\n material: materialPropDef,\n ...contentPropDefs\n} = dialogContentPropDefs;\nconst alignPropDefs = { align: alignPropDef };\nconst panelBackgroundPropDefs = { panelBackground: panelBackgroundPropDef };\nconst materialPropDefs = { material: materialPropDef };\n\ntype DialogContentElement = React.ElementRef<typeof DialogPrimitive.Content>;\ninterface DialogContentProps\n extends ComponentPropsWithout<typeof DialogPrimitive.Content, RemovedProps>,\n DialogContentOwnProps {\n container?: React.ComponentPropsWithoutRef<typeof DialogPrimitive.Portal>['container'];\n}\nconst DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>(\n ({ align, ...props }, forwardedRef) => {\n const { className: alignClassName } = extractProps({ align }, alignPropDefs);\n\n // Extract panelBackground and material from props\n const { panelBackground: extractedPanelBackground } = extractProps(\n { panelBackground: props.panelBackground },\n panelBackgroundPropDefs,\n );\n\n const { material: extractedMaterial } = extractProps(\n { material: props.material },\n materialPropDefs,\n );\n\n useDeprecatedPanelBackgroundWarning(props.panelBackground);\n\n // Material takes precedence over the deprecated panelBackground\n const materialValue = extractedMaterial ?? extractedPanelBackground;\n\n const {\n className,\n forceMount,\n container,\n panelBackground: _,\n material: __,\n ...contentProps\n } = extractProps(props, contentPropDefs);\n\n // Focus management\n const contentRef = React.useRef<HTMLDivElement>(null);\n const combinedRef = React.useMemo(\n () => (node: HTMLDivElement | null) => {\n contentRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n },\n [forwardedRef],\n );\n\n // Cleanup stuck pointer-events on body\n useBodyPointerEventsCleanup();\n\n // Focus trap effect\n React.useEffect(() => {\n // SSR safety - only run on client\n if (typeof window === 'undefined') return;\n\n const content = contentRef.current;\n if (!content) return;\n\n const focusableElements = content.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n );\n\n if (focusableElements.length === 0) return;\n\n const firstElement = focusableElements[0] as HTMLElement;\n const lastElement = focusableElements[focusableElements.length - 1] as HTMLElement;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n if (event.shiftKey) {\n if (document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n }\n } else {\n if (document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n }\n }\n };\n\n content.addEventListener('keydown', handleKeyDown);\n\n // Focus first element when dialog opens\n firstElement.focus();\n\n return () => {\n content.removeEventListener('keydown', handleKeyDown);\n };\n }, []);\n\n return (\n <DialogPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <DialogPrimitive.Overlay className=\"rt-BaseDialogOverlay rt-DialogOverlay\">\n <div className=\"rt-BaseDialogScroll rt-DialogScroll\">\n <div\n className={`rt-BaseDialogScrollPadding rt-DialogScrollPadding ${alignClassName}`}\n >\n <DialogPrimitive.Content\n {...contentProps}\n ref={combinedRef}\n className={classNames('rt-BaseDialogContent', 'rt-DialogContent', className)}\n data-material={materialValue}\n data-panel-background={materialValue}\n tabIndex={-1}\n role=\"dialog\"\n aria-modal=\"true\"\n onCloseAutoFocus={(event) => {\n // Prevent default focus behavior\n event.preventDefault();\n // Restore pointer-events to body (Radix UI fix for issue #1241)\n document.body.style.pointerEvents = '';\n }}\n />\n {/* ARIA live region for screen reader announcements */}\n <div\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className=\"rt-sr-only\"\n id=\"dialog-announcement\"\n />\n </div>\n </div>\n </DialogPrimitive.Overlay>\n </Theme>\n </DialogPrimitive.Portal>\n );\n },\n);\nDialogContent.displayName = 'Dialog.Content';\n\ntype DialogTitleElement = React.ElementRef<typeof Heading>;\ntype DialogTitleProps = ComponentPropsWithout<typeof Heading, 'asChild'>;\nconst DialogTitle = React.forwardRef<DialogTitleElement, DialogTitleProps>(\n (props, forwardedRef) => (\n <DialogPrimitive.Title asChild>\n <Heading size=\"5\" mb=\"3\" trim=\"start\" {...props} asChild={false} ref={forwardedRef} />\n </DialogPrimitive.Title>\n ),\n);\nDialogTitle.displayName = 'Dialog.Title';\n\ntype DialogDescriptionElement = HTMLParagraphElement;\ntype DialogDescriptionProps = ComponentPropsAs<typeof Text, 'p'>;\nconst DialogDescription = React.forwardRef<DialogDescriptionElement, DialogDescriptionProps>(\n (props, forwardedRef) => (\n <DialogPrimitive.Description asChild>\n <Text as=\"p\" size=\"3\" {...props} asChild={false} ref={forwardedRef} />\n </DialogPrimitive.Description>\n ),\n);\nDialogDescription.displayName = 'Dialog.Description';\n\ntype DialogCloseElement = React.ElementRef<typeof DialogPrimitive.Close>;\ninterface DialogCloseProps\n extends ComponentPropsWithout<typeof DialogPrimitive.Close, RemovedProps> {}\nconst DialogClose = React.forwardRef<DialogCloseElement, DialogCloseProps>(\n ({ children, ...props }, forwardedRef) => (\n <DialogPrimitive.Close {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </DialogPrimitive.Close>\n ),\n);\nDialogClose.displayName = 'Dialog.Close';\n\nexport {\n DialogRoot as Root,\n DialogTrigger as Trigger,\n DialogContent as Content,\n DialogTitle as Title,\n DialogDescription as Description,\n DialogClose as Close,\n};\n\nexport type {\n DialogRootProps as RootProps,\n DialogTriggerProps as TriggerProps,\n DialogContentProps as ContentProps,\n DialogTitleProps as TitleProps,\n DialogDescriptionProps as DescriptionProps,\n DialogCloseProps as CloseProps,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["dialog_exports", "__export", "DialogClose", "DialogContent", "DialogDescription", "DialogRoot", "DialogTitle", "DialogTrigger", "React", "classNames", "DialogPrimitive", "DialogRoot", "props", "DialogPrimitive", "DialogTrigger", "children", "forwardedRef", "requireReactElement", "alignPropDef", "panelBackgroundPropDef", "materialPropDef", "contentPropDefs", "dialogContentPropDefs", "alignPropDefs", "panelBackgroundPropDefs", "materialPropDefs", "DialogContent", "align", "alignClassName", "extractProps", "extractedPanelBackground", "extractedMaterial", "useDeprecatedPanelBackgroundWarning", "materialValue", "className", "forceMount", "container", "_", "__", "contentProps", "contentRef", "combinedRef", "node", "useBodyPointerEventsCleanup", "content", "focusableElements", "firstElement", "lastElement", "handleKeyDown", "event", "Theme", "classNames", "DialogTitle", "Heading", "DialogDescription", "Text", "DialogClose"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as h}from"./chunk-E67CIG6A.js";import{a as b}from"./chunk-GJSGKE7B.js";import{b as I,d as k}from"./chunk-IX5HIHVI.js";import{a as G}from"./chunk-MJJ7XDIP.js";import{b as E,c as R}from"./chunk-LOGJJF4I.js";import{a as v}from"./chunk-5TXQLK4G.js";import{a as f}from"./chunk-6FLLFCBU.js";import{b as p,d as y,e as T,f as N}from"./chunk-HUKPWYG2.js";import{a as J}from"./chunk-3XT5P2HO.js";var Q={};J(Q,{CheckboxItem:()=>A,Content:()=>D,Group:()=>V,Item:()=>O,Label:()=>L,RadioGroup:()=>z,RadioItem:()=>_,Root:()=>B,Separator:()=>q,Sub:()=>K,SubContent:()=>F,SubTrigger:()=>j,Trigger:()=>w});import*as e from"react";import s from"classnames";import{ContextMenu as r,Slot as g}from"radix-ui";var B=t=>e.createElement(r.Root,{...t});B.displayName="ContextMenu.Root";var w=e.forwardRef(({children:t,...n},o)=>e.createElement(r.Trigger,{...n,ref:o,asChild:!0},G(t)));w.displayName="ContextMenu.Trigger";var W=e.createContext({}),D=e.forwardRef((t,n)=>{let o=E();v(t.panelBackground);let u=t.material??t.panelBackground??o.panelBackground,a=e.useMemo(()=>({material:u,accentColor:o.accentColor}),[u,o.accentColor]),{size:i=p.size.default,variant:C=p.variant.default,highContrast:c=p.highContrast.default,material:m=a.material}=t,{className:x,children:M,color:l,container:S,forceMount:d,material:U,panelBackground:X,...H}=f(t,p),P=e.useMemo(()=>l||a.accentColor,[l,a.accentColor]);return e.createElement(r.Portal,{container:S,forceMount:d},e.createElement(R,{asChild:!0},e.createElement(r.Content,{"data-accent-color":P,"data-material":m,"data-panel-background":m,alignOffset:-Number(i)*4,collisionPadding:10,...H,asChild:!1,ref:n,className:s("rt-PopperContent","rt-BaseMenuContent","rt-ContextMenuContent",x)},e.createElement(b,{type:"auto"},e.createElement("div",{className:s("rt-BaseMenuViewport","rt-ContextMenuViewport")},e.createElement(W.Provider,{value:e.useMemo(()=>({size:i,variant:C,color:P,highContrast:c,material:m}),[i,C,P,c,m])},M))))))});D.displayName="ContextMenu.Content";var L=e.forwardRef(({className:t,...n},o)=>e.createElement(r.Label,{...n,asChild:!1,ref:o,className:s("rt-BaseMenuLabel","rt-ContextMenuLabel",t)}));L.displayName="ContextMenu.Label";var O=e.forwardRef((t,n)=>{let{className:o,children:u,color:a=y.color.default,shortcut:i,...C}=t;return e.createElement(r.Item,{"data-accent-color":a,...C,ref:n,className:s("rt-reset","rt-BaseMenuItem","rt-ContextMenuItem",o)},e.createElement(g.Slottable,null,u),i&&e.createElement("div",{className:"rt-BaseMenuShortcut rt-ContextMenuShortcut"},e.createElement(h,{size:"1"},i)))});O.displayName="ContextMenu.Item";var V=e.forwardRef(({className:t,...n},o)=>e.createElement(r.Group,{...n,asChild:!1,ref:o,className:s("rt-BaseMenuGroup","rt-ContextMenuGroup",t)}));V.displayName="ContextMenu.Group";var z=e.forwardRef(({className:t,...n},o)=>e.createElement(r.RadioGroup,{...n,asChild:!1,ref:o,className:s("rt-BaseMenuRadioGroup","rt-ContextMenuRadioGroup",t)}));z.displayName="ContextMenu.RadioGroup";var _=e.forwardRef((t,n)=>{let{children:o,className:u,color:a=N.color.default,...i}=t;return e.createElement(r.RadioItem,{...i,asChild:!1,ref:n,"data-accent-color":a,className:s("rt-BaseMenuItem","rt-BaseMenuRadioItem","rt-ContextMenuItem","rt-ContextMenuRadioItem",u)},e.createElement(g.Slottable,null,o),e.createElement(r.ItemIndicator,{className:"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator"},e.createElement(I,{className:"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon"})))});_.displayName="ContextMenu.RadioItem";var A=e.forwardRef((t,n)=>{let{children:o,className:u,shortcut:a,color:i=T.color.default,...C}=t;return e.createElement(r.CheckboxItem,{...C,asChild:!1,ref:n,"data-accent-color":i,className:s("rt-BaseMenuItem","rt-BaseMenuCheckboxItem","rt-ContextMenuItem","rt-ContextMenuCheckboxItem",u)},e.createElement(g.Slottable,null,o),e.createElement(r.ItemIndicator,{className:"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator"},e.createElement(I,{className:"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon"})),a&&e.createElement("div",{className:"rt-BaseMenuShortcut rt-ContextMenuShortcut"},e.createElement(h,{size:"1"},a)))});A.displayName="ContextMenu.CheckboxItem";var K=t=>e.createElement(r.Sub,{...t});K.displayName="ContextMenu.Sub";var j=e.forwardRef((t,n)=>{let{className:o,children:u,...a}=t;return e.createElement(r.SubTrigger,{...a,asChild:!1,ref:n,className:s("rt-BaseMenuItem","rt-BaseMenuSubTrigger","rt-ContextMenuItem","rt-ContextMenuSubTrigger",o)},u,e.createElement("div",{className:"rt-BaseMenuShortcut rt-ContextMenuShortcut"},e.createElement(k,{className:"rt-BaseMenuSubTriggerIcon rt-ContextMenuSubTriggerIcon"})))});j.displayName="ContextMenu.SubTrigger";var F=e.forwardRef((t,n)=>{let{size:o,variant:u,color:a,highContrast:i,material:C}=e.useContext(W),{className:c,children:m,container:x,forceMount:M,material:l,panelBackground:S,...d}=f({size:o,variant:u,color:a,highContrast:i,material:C,...t},p);return e.createElement(r.Portal,{container:x,forceMount:M},e.createElement(R,{asChild:!0},e.createElement(r.SubContent,{"data-accent-color":a,"data-material":C,"data-panel-background":C,alignOffset:-Number(o)*4,sideOffset:1,collisionPadding:10,...d,asChild:!1,ref:n,className:s("rt-PopperContent","rt-BaseMenuContent","rt-BaseMenuSubContent","rt-ContextMenuContent","rt-ContextMenuSubContent",c)},e.createElement(b,{type:"auto"},e.createElement("div",{className:s("rt-BaseMenuViewport","rt-ContextMenuViewport")},m)))))});F.displayName="ContextMenu.SubContent";var q=e.forwardRef(({className:t,...n},o)=>e.createElement(r.Separator,{...n,asChild:!1,ref:o,className:s("rt-BaseMenuSeparator","rt-ContextMenuSeparator",t)}));q.displayName="ContextMenu.Separator";export{B as a,w as b,D as c,L as d,O as e,V as f,z as g,_ as h,A as i,K as j,j as k,F as l,q as m,Q as n};
2
+ //# sourceMappingURL=chunk-JR2YOGII.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/context-menu.tsx"],
4
+ "sourcesContent": ["/**\n * Context Menu component that provides right-click menu functionality.\n * Requires client-side rendering due to event handling and portal usage.\n */\n'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ContextMenu as ContextMenuPrimitive, Slot } from 'radix-ui';\n\nimport { ScrollArea } from './scroll-area.js';\nimport {\n contextMenuContentPropDefs,\n contextMenuItemPropDefs,\n contextMenuCheckboxItemPropDefs,\n contextMenuRadioItemPropDefs,\n} from './context-menu.props.js';\nimport { Theme, useThemeContext } from './theme.js';\nimport { ThickCheckIcon, ThickChevronRightIcon } from './icons.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\nimport { Kbd } from './kbd.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\nimport { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';\n\ninterface ContextMenuRootProps\n extends React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Root> {}\nconst ContextMenuRoot: React.FC<ContextMenuRootProps> = (props) => (\n <ContextMenuPrimitive.Root {...props} />\n);\nContextMenuRoot.displayName = 'ContextMenu.Root';\n\ntype ContextMenuTriggerElement = React.ElementRef<typeof ContextMenuPrimitive.Trigger>;\ninterface ContextMenuTriggerProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Trigger, RemovedProps> {}\nconst ContextMenuTrigger = React.forwardRef<ContextMenuTriggerElement, ContextMenuTriggerProps>(\n ({ children, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.Trigger {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </ContextMenuPrimitive.Trigger>\n ),\n);\nContextMenuTrigger.displayName = 'ContextMenu.Trigger';\n\ntype ContextMenuContentOwnProps = GetPropDefTypes<typeof contextMenuContentPropDefs>;\ntype ContextMenuContentContextValue = ContextMenuContentOwnProps;\nconst ContextMenuContentContext = React.createContext<ContextMenuContentContextValue>({});\ntype ContextMenuContentElement = React.ElementRef<typeof ContextMenuPrimitive.Content>;\ninterface ContextMenuContentProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Content, RemovedProps>,\n ContextMenuContentContextValue {\n container?: React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Portal>['container'];\n}\nconst ContextMenuContent = React.forwardRef<ContextMenuContentElement, ContextMenuContentProps>(\n (props, forwardedRef) => {\n const themeContext = useThemeContext();\n\n useDeprecatedPanelBackgroundWarning(props.panelBackground);\n\n // Material takes precedence over panelBackground\n const effectiveMaterial =\n props.material ?? props.panelBackground ?? themeContext.panelBackground;\n\n // Memoize theme context values to prevent unnecessary re-renders\n const memoizedThemeContext = React.useMemo(\n () => ({\n material: effectiveMaterial,\n accentColor: themeContext.accentColor,\n }),\n [effectiveMaterial, themeContext.accentColor],\n );\n\n const {\n size = contextMenuContentPropDefs.size.default,\n variant = contextMenuContentPropDefs.variant.default,\n highContrast = contextMenuContentPropDefs.highContrast.default,\n material = memoizedThemeContext.material,\n } = props;\n const {\n className,\n children,\n color,\n container,\n forceMount,\n material: _,\n panelBackground: __,\n ...contentProps\n } = extractProps(props, contextMenuContentPropDefs);\n\n // Memoize color resolution to prevent unnecessary re-renders\n const resolvedColor = React.useMemo(\n () => color || memoizedThemeContext.accentColor,\n [color, memoizedThemeContext.accentColor],\n );\n return (\n <ContextMenuPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <ContextMenuPrimitive.Content\n data-accent-color={resolvedColor}\n data-material={material}\n data-panel-background={material}\n alignOffset={-Number(size) * 4}\n collisionPadding={10}\n {...contentProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-PopperContent',\n 'rt-BaseMenuContent',\n 'rt-ContextMenuContent',\n className,\n )}\n >\n <ScrollArea type=\"auto\">\n <div className={classNames('rt-BaseMenuViewport', 'rt-ContextMenuViewport')}>\n <ContextMenuContentContext.Provider\n value={React.useMemo(\n () => ({ size, variant, color: resolvedColor, highContrast, material }),\n [size, variant, resolvedColor, highContrast, material],\n )}\n >\n {children}\n </ContextMenuContentContext.Provider>\n </div>\n </ScrollArea>\n </ContextMenuPrimitive.Content>\n </Theme>\n </ContextMenuPrimitive.Portal>\n );\n },\n);\nContextMenuContent.displayName = 'ContextMenu.Content';\n\ntype ContextMenuLabelElement = React.ElementRef<typeof ContextMenuPrimitive.Label>;\ninterface ContextMenuLabelProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Label, RemovedProps> {}\nconst ContextMenuLabel = React.forwardRef<ContextMenuLabelElement, ContextMenuLabelProps>(\n ({ className, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.Label\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuLabel', 'rt-ContextMenuLabel', className)}\n />\n ),\n);\nContextMenuLabel.displayName = 'ContextMenu.Label';\n\ntype ContextMenuItemElement = React.ElementRef<typeof ContextMenuPrimitive.Item>;\ntype ContextMenuItemOwnProps = GetPropDefTypes<typeof contextMenuItemPropDefs>;\ninterface ContextMenuItemProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Item, RemovedProps>,\n ContextMenuItemOwnProps {}\nconst ContextMenuItem = React.forwardRef<ContextMenuItemElement, ContextMenuItemProps>(\n (props, forwardedRef) => {\n const {\n className,\n children,\n color = contextMenuItemPropDefs.color.default,\n shortcut,\n ...itemProps\n } = props;\n return (\n <ContextMenuPrimitive.Item\n data-accent-color={color}\n {...itemProps}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-BaseMenuItem', 'rt-ContextMenuItem', className)}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n {shortcut && (\n <div className=\"rt-BaseMenuShortcut rt-ContextMenuShortcut\">\n <Kbd size=\"1\">{shortcut}</Kbd>\n </div>\n )}\n </ContextMenuPrimitive.Item>\n );\n },\n);\nContextMenuItem.displayName = 'ContextMenu.Item';\n\ntype ContextMenuGroupElement = React.ElementRef<typeof ContextMenuPrimitive.Group>;\ninterface ContextMenuGroupProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Group, RemovedProps> {}\nconst ContextMenuGroup = React.forwardRef<ContextMenuGroupElement, ContextMenuGroupProps>(\n ({ className, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.Group\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuGroup', 'rt-ContextMenuGroup', className)}\n />\n ),\n);\nContextMenuGroup.displayName = 'ContextMenu.Group';\n\ntype ContextMenuRadioGroupElement = React.ElementRef<typeof ContextMenuPrimitive.RadioGroup>;\ninterface ContextMenuRadioGroupProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.RadioGroup, RemovedProps> {}\nconst ContextMenuRadioGroup = React.forwardRef<\n ContextMenuRadioGroupElement,\n ContextMenuRadioGroupProps\n>(({ className, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.RadioGroup\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuRadioGroup', 'rt-ContextMenuRadioGroup', className)}\n />\n));\nContextMenuRadioGroup.displayName = 'ContextMenu.RadioGroup';\n\ntype ContextMenuRadioItemElement = React.ElementRef<typeof ContextMenuPrimitive.RadioItem>;\ntype ContextMenuRadioItemOwnProps = GetPropDefTypes<typeof contextMenuRadioItemPropDefs>;\ninterface ContextMenuRadioItemProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.RadioItem, RemovedProps>,\n ContextMenuRadioItemOwnProps {}\nconst ContextMenuRadioItem = React.forwardRef<\n ContextMenuRadioItemElement,\n ContextMenuRadioItemProps\n>((props, forwardedRef) => {\n const {\n children,\n className,\n color = contextMenuRadioItemPropDefs.color.default,\n ...itemProps\n } = props;\n return (\n <ContextMenuPrimitive.RadioItem\n {...itemProps}\n asChild={false}\n ref={forwardedRef}\n data-accent-color={color}\n className={classNames(\n 'rt-BaseMenuItem',\n 'rt-BaseMenuRadioItem',\n 'rt-ContextMenuItem',\n 'rt-ContextMenuRadioItem',\n className,\n )}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n <ContextMenuPrimitive.ItemIndicator className=\"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator\">\n <ThickCheckIcon className=\"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon\" />\n </ContextMenuPrimitive.ItemIndicator>\n </ContextMenuPrimitive.RadioItem>\n );\n});\nContextMenuRadioItem.displayName = 'ContextMenu.RadioItem';\n\ntype ContextMenuCheckboxItemElement = React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>;\ntype ContextMenuCheckboxItemOwnProps = GetPropDefTypes<typeof contextMenuCheckboxItemPropDefs>;\ninterface ContextMenuCheckboxItemProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.CheckboxItem, RemovedProps>,\n ContextMenuCheckboxItemOwnProps {}\nconst ContextMenuCheckboxItem = React.forwardRef<\n ContextMenuCheckboxItemElement,\n ContextMenuCheckboxItemProps\n>((props, forwardedRef) => {\n const {\n children,\n className,\n shortcut,\n color = contextMenuCheckboxItemPropDefs.color.default,\n ...itemProps\n } = props;\n return (\n <ContextMenuPrimitive.CheckboxItem\n {...itemProps}\n asChild={false}\n ref={forwardedRef}\n data-accent-color={color}\n className={classNames(\n 'rt-BaseMenuItem',\n 'rt-BaseMenuCheckboxItem',\n 'rt-ContextMenuItem',\n 'rt-ContextMenuCheckboxItem',\n className,\n )}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n <ContextMenuPrimitive.ItemIndicator className=\"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator\">\n <ThickCheckIcon className=\"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon\" />\n </ContextMenuPrimitive.ItemIndicator>\n {shortcut && (\n <div className=\"rt-BaseMenuShortcut rt-ContextMenuShortcut\">\n <Kbd size=\"1\">{shortcut}</Kbd>\n </div>\n )}\n </ContextMenuPrimitive.CheckboxItem>\n );\n});\nContextMenuCheckboxItem.displayName = 'ContextMenu.CheckboxItem';\n\ninterface ContextMenuSubProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Sub, RemovedProps> {}\nconst ContextMenuSub: React.FC<ContextMenuSubProps> = (props) => (\n <ContextMenuPrimitive.Sub {...props} />\n);\nContextMenuSub.displayName = 'ContextMenu.Sub';\n\ntype ContextMenuSubTriggerElement = React.ElementRef<typeof ContextMenuPrimitive.SubTrigger>;\ninterface ContextMenuSubTriggerProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.SubTrigger, RemovedProps> {}\nconst ContextMenuSubTrigger = React.forwardRef<\n ContextMenuSubTriggerElement,\n ContextMenuSubTriggerProps\n>((props, forwardedRef) => {\n const { className, children, ...subTriggerProps } = props;\n return (\n <ContextMenuPrimitive.SubTrigger\n {...subTriggerProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-BaseMenuItem',\n 'rt-BaseMenuSubTrigger',\n 'rt-ContextMenuItem',\n 'rt-ContextMenuSubTrigger',\n className,\n )}\n >\n {children}\n <div className=\"rt-BaseMenuShortcut rt-ContextMenuShortcut\">\n <ThickChevronRightIcon className=\"rt-BaseMenuSubTriggerIcon rt-ContextMenuSubTriggerIcon\" />\n </div>\n </ContextMenuPrimitive.SubTrigger>\n );\n});\nContextMenuSubTrigger.displayName = 'ContextMenu.SubTrigger';\n\ntype ContextMenuSubContentElement = React.ElementRef<typeof ContextMenuPrimitive.SubContent>;\ninterface ContextMenuSubContentProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.SubContent, RemovedProps>,\n ContextMenuContentContextValue {\n container?: React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Portal>['container'];\n}\nconst ContextMenuSubContent = React.forwardRef<\n ContextMenuSubContentElement,\n ContextMenuSubContentProps\n>((props, forwardedRef) => {\n const { size, variant, color, highContrast, material } = React.useContext(ContextMenuContentContext);\n\n const {\n className,\n children,\n container,\n forceMount,\n material: _,\n panelBackground: __,\n ...subContentProps\n } = extractProps(\n { size, variant, color, highContrast, material, ...props },\n contextMenuContentPropDefs,\n );\n return (\n <ContextMenuPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <ContextMenuPrimitive.SubContent\n data-accent-color={color}\n data-material={material}\n data-panel-background={material}\n alignOffset={-Number(size) * 4}\n // Side offset accounts for the outer solid box-shadow\n sideOffset={1}\n collisionPadding={10}\n {...subContentProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-PopperContent',\n 'rt-BaseMenuContent',\n 'rt-BaseMenuSubContent',\n 'rt-ContextMenuContent',\n 'rt-ContextMenuSubContent',\n className,\n )}\n >\n <ScrollArea type=\"auto\">\n <div className={classNames('rt-BaseMenuViewport', 'rt-ContextMenuViewport')}>\n {children}\n </div>\n </ScrollArea>\n </ContextMenuPrimitive.SubContent>\n </Theme>\n </ContextMenuPrimitive.Portal>\n );\n});\nContextMenuSubContent.displayName = 'ContextMenu.SubContent';\n\ntype ContextMenuSeparatorElement = React.ElementRef<typeof ContextMenuPrimitive.Separator>;\ninterface ContextMenuSeparatorProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Separator, RemovedProps> {}\nconst ContextMenuSeparator = React.forwardRef<\n ContextMenuSeparatorElement,\n ContextMenuSeparatorProps\n>(({ className, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.Separator\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuSeparator', 'rt-ContextMenuSeparator', className)}\n />\n));\nContextMenuSeparator.displayName = 'ContextMenu.Separator';\n\nexport {\n ContextMenuRoot as Root,\n ContextMenuTrigger as Trigger,\n ContextMenuContent as Content,\n ContextMenuLabel as Label,\n ContextMenuItem as Item,\n ContextMenuGroup as Group,\n ContextMenuRadioGroup as RadioGroup,\n ContextMenuRadioItem as RadioItem,\n ContextMenuCheckboxItem as CheckboxItem,\n ContextMenuSub as Sub,\n ContextMenuSubTrigger as SubTrigger,\n ContextMenuSubContent as SubContent,\n ContextMenuSeparator as Separator,\n};\n\nexport type {\n ContextMenuRootProps as RootProps,\n ContextMenuTriggerProps as TriggerProps,\n ContextMenuContentProps as ContentProps,\n ContextMenuLabelProps as LabelProps,\n ContextMenuItemProps as ItemProps,\n ContextMenuGroupProps as GroupProps,\n ContextMenuRadioGroupProps as RadioGroupProps,\n ContextMenuRadioItemProps as RadioItemProps,\n ContextMenuCheckboxItemProps as CheckboxItemProps,\n ContextMenuSubProps as SubProps,\n ContextMenuSubTriggerProps as SubTriggerProps,\n ContextMenuSubContentProps as SubContentProps,\n ContextMenuSeparatorProps as SeparatorProps,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["context_menu_exports", "__export", "ContextMenuCheckboxItem", "ContextMenuContent", "ContextMenuGroup", "ContextMenuItem", "ContextMenuLabel", "ContextMenuRadioGroup", "ContextMenuRadioItem", "ContextMenuRoot", "ContextMenuSeparator", "ContextMenuSub", "ContextMenuSubContent", "ContextMenuSubTrigger", "ContextMenuTrigger", "React", "classNames", "ContextMenuPrimitive", "Slot", "ContextMenuRoot", "props", "ContextMenuPrimitive", "ContextMenuTrigger", "children", "forwardedRef", "requireReactElement", "ContextMenuContentContext", "ContextMenuContent", "themeContext", "useThemeContext", "useDeprecatedPanelBackgroundWarning", "effectiveMaterial", "memoizedThemeContext", "size", "baseMenuContentPropDefs", "variant", "highContrast", "material", "className", "color", "container", "forceMount", "_", "__", "contentProps", "extractProps", "resolvedColor", "Theme", "classNames", "ScrollArea", "ContextMenuLabel", "ContextMenuItem", "baseMenuItemPropDefs", "shortcut", "itemProps", "Slot", "Kbd", "ContextMenuGroup", "ContextMenuRadioGroup", "ContextMenuRadioItem", "baseMenuRadioItemPropDefs", "ThickCheckIcon", "ContextMenuCheckboxItem", "baseMenuCheckboxItemPropDefs", "ContextMenuSub", "ContextMenuSubTrigger", "subTriggerProps", "ThickChevronRightIcon", "ContextMenuSubContent", "subContentProps", "ContextMenuSeparator"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{b as c}from"./chunk-WRWNN2NW.js";import{a as l}from"./chunk-QM3RCK5P.js";import{a as m}from"./chunk-RZCX6IBE.js";function g(i,n,e){return n!==void 0?n.has(e):i.includes(e)}function h({className:i,customProperties:n,...e}){let f=y({allowArbitraryValues:!0,className:i,...e}),r=v({customProperties:n,...e});return[f,r]}function y({allowArbitraryValues:i,value:n,className:e,propValues:f,propValueSet:r,parseValue:s=o=>o}){if(n){if(typeof n=="string")return g(f,r,n)?R(e,n,s):i?e:void 0;if(m(n)){let o=n,t=[];for(let p in o){if(!l(o,p)||!c.has(p))continue;let d=o[p];if(d!==void 0){if(g(f,r,d)){let u=R(e,d,s),a=p==="initial"?u:`${p}:${u}`;t.push(a)}else if(i){let u=p==="initial"?e:`${p}:${e}`;t.push(u)}}}return t.length>0?t.join(" "):""}if(i)return e}}function R(i,n,e){let f=i?"-":"",r=e(n),s=r?.startsWith("-"),o=s?"-":"",t=s?r?.substring(1):r;return`${o}${i}${f}${t}`}function v({customProperties:i,value:n,propValues:e,propValueSet:f,parseValue:r=s=>s}){if(!n||typeof n=="string"&&g(e,f,n))return;let s;if(typeof n=="string"){let o=r(n);s={};for(let t of i)s[t]=o;return s}if(m(n)){let o=n;for(let t in o){if(!l(o,t)||!c.has(t))continue;let p=o[t];if(p===void 0||g(e,f,p))continue;let d=r(p);s??(s={});for(let u of i){let a=t==="initial"?u:`${u}-${t}`;s[a]=d}}}return s??{}}export{h as a,y as b,v as c};
2
+ //# sourceMappingURL=chunk-JUY7CBSL.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/helpers/get-responsive-styles.ts"],
4
+ "sourcesContent": ["import { breakpointSet } from '../props/prop-def.js';\nimport { hasOwnProperty } from './has-own-property.js';\nimport { isResponsiveObject } from './is-responsive-object.js';\n\nimport type { Responsive, Union } from '../props/prop-def.js';\n\n/**\n * Membership test against a prop def's enum values. Callers that already hold a\n * compiled prop def pass `propValueSet` for an O(1) lookup; the handful of call\n * sites that build options inline fall back to scanning the array.\n */\nfunction includesValue(propValues: string[] | readonly string[], propValueSet: ReadonlySet<string> | undefined, value: string): boolean {\n return propValueSet !== undefined ? propValueSet.has(value) : propValues.includes(value);\n}\n\ninterface GetResponsiveStylesOptions {\n className: string;\n customProperties: `--${string}`[];\n value: Responsive<Union> | Responsive<string> | undefined;\n propValues: string[] | readonly string[];\n propValueSet?: ReadonlySet<string>;\n parseValue?: (value: string) => string | undefined;\n}\n\nfunction getResponsiveStyles({ className, customProperties, ...args }: GetResponsiveStylesOptions) {\n const responsiveClassNames = getResponsiveClassNames({\n allowArbitraryValues: true,\n className,\n ...args,\n });\n\n const responsiveCustomProperties = getResponsiveCustomProperties({ customProperties, ...args });\n return [responsiveClassNames, responsiveCustomProperties] as const;\n}\n\ninterface GetResponsiveClassNamesOptions {\n allowArbitraryValues?: boolean;\n className: string;\n value: Responsive<Union> | Responsive<string> | undefined;\n propValues: string[] | readonly string[];\n propValueSet?: ReadonlySet<string>;\n parseValue?: (value: string) => string | undefined;\n}\n\nfunction getResponsiveClassNames({ allowArbitraryValues, value, className, propValues, propValueSet, parseValue = (value) => value }: GetResponsiveClassNamesOptions): string | undefined {\n if (!value) {\n return undefined;\n }\n\n if (typeof value === 'string') {\n if (includesValue(propValues, propValueSet, value)) {\n return getBaseClassName(className, value, parseValue);\n }\n return allowArbitraryValues ? className : undefined;\n }\n\n if (isResponsiveObject(value)) {\n const object = value;\n const classNames: string[] = [];\n\n for (const bp in object) {\n // Make sure we are not iterating over keys that aren't breakpoints\n if (!hasOwnProperty(object, bp) || !breakpointSet.has(bp)) {\n continue;\n }\n\n const value = object[bp];\n\n if (value !== undefined) {\n if (includesValue(propValues, propValueSet, value)) {\n const baseClassName = getBaseClassName(className, value, parseValue);\n const bpClassName = bp === 'initial' ? baseClassName : `${bp}:${baseClassName}`;\n classNames.push(bpClassName);\n } else if (allowArbitraryValues) {\n const bpClassName = bp === 'initial' ? className : `${bp}:${className}`;\n classNames.push(bpClassName);\n }\n }\n }\n\n return classNames.length > 0 ? classNames.join(' ') : '';\n }\n\n if (allowArbitraryValues) {\n return className;\n }\n}\n\nfunction getBaseClassName(className: string, value: string, parseValue: (value: string) => string | undefined): string {\n const delimiter = className ? '-' : '';\n const matchedValue = parseValue(value);\n const isNegative = matchedValue?.startsWith('-');\n const minus = isNegative ? '-' : '';\n const absoluteValue = isNegative ? matchedValue?.substring(1) : matchedValue;\n return `${minus}${className}${delimiter}${absoluteValue}`;\n}\n\ninterface GetResponsiveCustomPropertiesOptions {\n customProperties: `--${string}`[];\n value: Responsive<Union> | Responsive<string> | undefined;\n propValues: string[] | readonly string[];\n propValueSet?: ReadonlySet<string>;\n parseValue?: (value: string) => string | undefined;\n}\n\nfunction getResponsiveCustomProperties({ customProperties, value, propValues, propValueSet, parseValue = (value) => value }: GetResponsiveCustomPropertiesOptions) {\n // Don't generate custom properties if the value is not arbitrary\n if (!value || (typeof value === 'string' && includesValue(propValues, propValueSet, value))) {\n return undefined;\n }\n\n let styles: Record<string, string | undefined> | undefined;\n\n if (typeof value === 'string') {\n const parsed = parseValue(value);\n styles = {};\n for (const customProperty of customProperties) {\n styles[customProperty] = parsed;\n }\n return styles;\n }\n\n if (isResponsiveObject(value)) {\n const object = value;\n\n for (const bp in object) {\n // Make sure we are not iterating over keys that aren't breakpoints\n if (!hasOwnProperty(object, bp) || !breakpointSet.has(bp)) {\n continue;\n }\n\n const value = object[bp];\n\n // Don't generate a custom property if the value is not arbitrary\n if (value === undefined || includesValue(propValues, propValueSet, value)) {\n continue;\n }\n\n const parsed = parseValue(value);\n styles ??= {};\n for (const customProperty of customProperties) {\n const bpProperty = bp === 'initial' ? customProperty : `${customProperty}-${bp}`;\n styles[bpProperty] = parsed;\n }\n }\n }\n\n return styles ?? {};\n}\n\nexport { getResponsiveStyles, getResponsiveCustomProperties, getResponsiveClassNames };\n"],
5
+ "mappings": "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",
6
+ "names": ["includesValue", "propValues", "propValueSet", "value", "getResponsiveStyles", "className", "customProperties", "args", "responsiveClassNames", "getResponsiveClassNames", "responsiveCustomProperties", "getResponsiveCustomProperties", "allowArbitraryValues", "parseValue", "getBaseClassName", "isResponsiveObject", "object", "classNames", "bp", "hasOwnProperty", "breakpointSet", "baseClassName", "bpClassName", "delimiter", "matchedValue", "isNegative", "minus", "absoluteValue", "styles", "parsed", "customProperty", "bpProperty"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as f}from"./chunk-XKASPWCJ.js";import{a as l}from"./chunk-3F6I7YOR.js";import{a as d}from"./chunk-JCYI4NTV.js";import{a as c}from"./chunk-PS6NEG5A.js";import{b as m}from"./chunk-LN5SP46K.js";import{a as o}from"./chunk-4OBMRJHC.js";import{a as t}from"./chunk-FVCWNSRU.js";import{a as p}from"./chunk-GSTOGDAJ.js";import{a as i}from"./chunk-KMPBTEZH.js";import*as r from"react";import M from"classnames";var N=r.forwardRef((e,u)=>{let C=m(),P=e.panelBackground??C.panelBackground,{asChild:s,children:g,className:y,src:h,fallback:v,name:x,description:n,avatarVariant:z,radius:U,color:k,panelBackground:b,flush:R,...T}=i(e,f,p),B={1:{avatar:"1",name:"1",description:"0"},2:{avatar:"2",name:"2",description:"1"},3:{avatar:"3",name:"3",description:"2"},4:{avatar:"4",name:"4",description:"3"}},D=e.size||"2",a=B[D],w=r.createElement(t,{align:"center",gap:"3"},r.createElement(d,{size:a.avatar,variant:z,radius:U,src:h,fallback:v,color:k,highContrast:e.highContrast}),r.createElement(t,{direction:"column",gap:"0",style:{minWidth:0}},r.createElement(o,{size:a.name,weight:"medium",truncate:!0},x),n&&r.createElement(o,{size:a.description,color:"gray",truncate:!0},n)));return r.createElement(l,{...T,asChild:s,size:e.size,variant:e.variant,panelBackground:P,flush:R,ref:u,className:M("rt-UserCard",y)},c({asChild:s,children:g},w))});N.displayName="UserCard";export{N as a};
2
- //# sourceMappingURL=chunk-VF5TRT3H.js.map
1
+ import{a as f}from"./chunk-XKASPWCJ.js";import{a as l}from"./chunk-JDGJSNWT.js";import{a as d}from"./chunk-MBCBP73P.js";import{a as c}from"./chunk-PS6NEG5A.js";import{b as m}from"./chunk-LOGJJF4I.js";import{a as o}from"./chunk-H7ST535H.js";import{a as t}from"./chunk-FHOCUZDR.js";import{a as p}from"./chunk-GSTOGDAJ.js";import{a as i}from"./chunk-6FLLFCBU.js";import*as r from"react";import M from"classnames";var N=r.forwardRef((e,u)=>{let C=m(),P=e.panelBackground??C.panelBackground,{asChild:s,children:g,className:y,src:h,fallback:v,name:x,description:n,avatarVariant:z,radius:U,color:k,panelBackground:b,flush:R,...T}=i(e,f,p),B={1:{avatar:"1",name:"1",description:"0"},2:{avatar:"2",name:"2",description:"1"},3:{avatar:"3",name:"3",description:"2"},4:{avatar:"4",name:"4",description:"3"}},D=e.size||"2",a=B[D],w=r.createElement(t,{align:"center",gap:"3"},r.createElement(d,{size:a.avatar,variant:z,radius:U,src:h,fallback:v,color:k,highContrast:e.highContrast}),r.createElement(t,{direction:"column",gap:"0",style:{minWidth:0}},r.createElement(o,{size:a.name,weight:"medium",truncate:!0},x),n&&r.createElement(o,{size:a.description,color:"gray",truncate:!0},n)));return r.createElement(l,{...T,asChild:s,size:e.size,variant:e.variant,panelBackground:P,flush:R,ref:u,className:M("rt-UserCard",y)},c({asChild:s,children:g},w))});N.displayName="UserCard";export{N as a};
2
+ //# sourceMappingURL=chunk-KKM6T5P7.js.map
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-FLBLS7M4.js";import{a as C}from"./chunk-4OBMRJHC.js";import{a as u,b as c}from"./chunk-5T6K7VPP.js";import{a as m}from"./chunk-GSTOGDAJ.js";import{a as i}from"./chunk-KMPBTEZH.js";import{a as N}from"./chunk-3XT5P2HO.js";var g={};N(g,{Icon:()=>f,Root:()=>R,Text:()=>d});import*as o from"react";import p from"classnames";import{Slot as h}from"radix-ui";var P=o.createContext({}),R=o.forwardRef((t,a)=>{let{size:e=s.size.default,live:r="polite",role:x="status",variant:n}=t,{asChild:v,children:y,className:T,color:l,panelBackground:I,material:E,...w}=i(t,s,m),z=v?h.Root:"div";return o.createElement(z,{"data-accent-color":l,"data-panel-background":I,"data-material":E,...w,...{role:x,"aria-live":r,"aria-atomic":!0},className:p("rt-CalloutRoot",T),ref:a},o.createElement(P.Provider,{value:o.useMemo(()=>({size:e,variant:n,color:l}),[e,n,l])},y))});R.displayName="Callout.Root";var f=o.forwardRef(({className:t,...a},e)=>o.createElement("div",{...a,className:p("rt-CalloutIcon",t),ref:e}));f.displayName="Callout.Icon";var d=o.forwardRef(({className:t,...a},e)=>{let{size:r}=o.useContext(P);return o.createElement(C,{as:"p",size:u(r,c),...a,asChild:!1,ref:e,className:p("rt-CalloutText",t)})});d.displayName="Callout.Text";export{R as a,f as b,d as c,g as d};
2
- //# sourceMappingURL=chunk-ZHYOJNWV.js.map
1
+ import{a as s}from"./chunk-FLBLS7M4.js";import{a as C}from"./chunk-H7ST535H.js";import{a as u,b as c}from"./chunk-5T6K7VPP.js";import{a as m}from"./chunk-GSTOGDAJ.js";import{a as i}from"./chunk-6FLLFCBU.js";import{a as N}from"./chunk-3XT5P2HO.js";var g={};N(g,{Icon:()=>f,Root:()=>R,Text:()=>d});import*as o from"react";import p from"classnames";import{Slot as h}from"radix-ui";var P=o.createContext({}),R=o.forwardRef((t,a)=>{let{size:e=s.size.default,live:r="polite",role:x="status",variant:n}=t,{asChild:v,children:y,className:T,color:l,panelBackground:I,material:E,...w}=i(t,s,m),z=v?h.Root:"div";return o.createElement(z,{"data-accent-color":l,"data-panel-background":I,"data-material":E,...w,...{role:x,"aria-live":r,"aria-atomic":!0},className:p("rt-CalloutRoot",T),ref:a},o.createElement(P.Provider,{value:o.useMemo(()=>({size:e,variant:n,color:l}),[e,n,l])},y))});R.displayName="Callout.Root";var f=o.forwardRef(({className:t,...a},e)=>o.createElement("div",{...a,className:p("rt-CalloutIcon",t),ref:e}));f.displayName="Callout.Icon";var d=o.forwardRef(({className:t,...a},e)=>{let{size:r}=o.useContext(P);return o.createElement(C,{as:"p",size:u(r,c),...a,asChild:!1,ref:e,className:p("rt-CalloutText",t)})});d.displayName="Callout.Text";export{R as a,f as b,d as c,g as d};
2
+ //# sourceMappingURL=chunk-LKAK5GXF.js.map
@@ -0,0 +1,2 @@
1
+ import{a as r}from"./chunk-WAURCNAS.js";import{a as W}from"./chunk-F22ZRNWL.js";import{a as e}from"./chunk-T27QHMW7.js";import{a as V}from"./chunk-5TXQLK4G.js";import*as o from"react";import j from"classnames";import{Direction as L,Slot as q,Tooltip as z}from"radix-ui";import{useComposedRefs as J,useLayoutEffect as K}from"radix-ui/internal";var n=()=>{},Q={appearance:e.appearance.default,accentColor:e.accentColor.default,grayColor:e.grayColor.default,resolvedGrayColor:e.grayColor.default,material:e.material.default,panelBackground:e.panelBackground.default,radius:e.radius.default,scaling:e.scaling.default,fontFamily:e.fontFamily.default,onAppearanceChange:n,onAccentColorChange:n,onGrayColorChange:n,onMaterialChange:n,onPanelBackgroundChange:n,onRadiusChange:n,onScalingChange:n,onFontFamilyChange:n},I=o.createContext(void 0);function ne(){return o.useContext(I)??Q}var U=o.forwardRef((a,l)=>o.useContext(I)===void 0?o.createElement(z.Provider,{delayDuration:200},o.createElement(L.Provider,{dir:"ltr"},o.createElement(H,{...a,ref:l}))):o.createElement(w,{...a,ref:l}));U.displayName="Theme";var H=o.forwardRef((a,l)=>{let{appearance:t=e.appearance.default,accentColor:P=e.accentColor.default,grayColor:c=e.grayColor.default,material:d=e.material.default,panelBackground:i=e.panelBackground.default,radius:m=e.radius.default,scaling:s=e.scaling.default,fontFamily:u=e.fontFamily.default,hasBackground:p=e.hasBackground.default,...h}=a;V(a.panelBackground);let[f,g]=r(t),[v,k]=r(P),[R,x]=r(c),B=d!==e.material.default?d:i,[C,F]=r(B),[A,y]=r(C),[G,T]=r(m),[D,S]=r(s),[b,M]=r(u);return o.createElement(w,{...h,ref:l,isRoot:!0,hasBackground:p,appearance:f,accentColor:v,grayColor:R,material:C,panelBackground:A,radius:G,scaling:D,fontFamily:b,onAppearanceChange:g,onAccentColorChange:k,onGrayColorChange:x,onMaterialChange:F,onPanelBackgroundChange:y,onRadiusChange:T,onScalingChange:S,onFontFamilyChange:M})});H.displayName="ThemeRoot";function X(){if(typeof navigator>"u")return;let a=navigator.userAgent;if(a.includes("Win"))return"windows";if(a.includes("Mac"))return"macos";if(a.includes("Linux"))return"linux"}var w=o.forwardRef((a,l)=>{let t=o.useContext(I),{asChild:P,isRoot:c,hasBackground:d,appearance:i=a.appearance??t?.appearance??e.appearance.default,accentColor:m=a.accentColor??t?.accentColor??e.accentColor.default,grayColor:s=a.grayColor??t?.resolvedGrayColor??e.grayColor.default,material:u=a.material??t?.material??e.material.default,panelBackground:p=a.panelBackground??t?.panelBackground??e.panelBackground.default,radius:h=a.radius??t?.radius??e.radius.default,scaling:f=a.scaling??t?.scaling??e.scaling.default,fontFamily:g=a.fontFamily??t?.fontFamily??e.fontFamily.default,onAppearanceChange:v=n,onAccentColorChange:k=n,onGrayColorChange:R=n,onMaterialChange:x=n,onPanelBackgroundChange:B=n,onRadiusChange:C=n,onScalingChange:F=n,onFontFamilyChange:A=n,...y}=a,G=P?q.Root:"div",T=s==="auto"?W(m):s,D=a.appearance==="light"||a.appearance==="dark",S=d===void 0?c||D:d,b=o.useRef(null),M=J(l,b),N="data-os"in y;return K(()=>{if(!c||N)return;let E=b.current;if(!E)return;let O=X();if(O)return E.setAttribute("data-os",O),()=>E.removeAttribute("data-os")},[c,N]),o.createElement(I.Provider,{value:o.useMemo(()=>({appearance:i,accentColor:m,grayColor:s,resolvedGrayColor:T,material:u,panelBackground:p,radius:h,scaling:f,fontFamily:g,onAppearanceChange:v,onAccentColorChange:k,onGrayColorChange:R,onMaterialChange:x,onPanelBackgroundChange:B,onRadiusChange:C,onScalingChange:F,onFontFamilyChange:A}),[i,m,s,T,u,p,h,f,g,v,k,R,x,B,C,F,A])},o.createElement(G,{"data-is-root-theme":c?"true":"false","data-accent-color":m,"data-gray-color":T,"data-has-background":S?"true":"false","data-material":u,"data-panel-background":p,"data-radius":h,"data-scaling":f,"data-font-family":g,ref:M,...y,className:j("radix-themes",{light:i==="light",dark:i==="dark"},y.className)}))});w.displayName="ThemeImpl";export{I as a,ne as b,U as c};
2
+ //# sourceMappingURL=chunk-LOGJJF4I.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/theme.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 { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.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 ThemeMaterial = (typeof themePropDefs.material.values)[number];\ntype ThemePanelBackground = (typeof themePropDefs.panelBackground.values)[number];\ntype ThemeRadius = (typeof themePropDefs.radius.values)[number];\ntype ThemeScaling = (typeof themePropDefs.scaling.values)[number];\ntype ThemeFontFamily = (typeof themePropDefs.fontFamily.values)[number];\n\ninterface ThemeChangeHandlers {\n onAppearanceChange: (appearance: ThemeAppearance) => void;\n onAccentColorChange: (accentColor: ThemeAccentColor) => void;\n onGrayColorChange: (grayColor: ThemeGrayColor) => void;\n onMaterialChange: (material: ThemeMaterial) => void;\n onPanelBackgroundChange: (panelBackground: ThemePanelBackground) => void;\n onRadiusChange: (radius: ThemeRadius) => void;\n onScalingChange: (scaling: ThemeScaling) => void;\n onFontFamilyChange: (fontFamily: ThemeFontFamily) => void;\n}\n\ninterface ThemeContextValue extends ThemeChangeHandlers {\n appearance: ThemeAppearance;\n accentColor: ThemeAccentColor;\n grayColor: ThemeGrayColor;\n resolvedGrayColor: ThemeGrayColor;\n material: ThemeMaterial;\n panelBackground: ThemePanelBackground;\n radius: ThemeRadius;\n scaling: ThemeScaling;\n fontFamily: ThemeFontFamily;\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 material: themePropDefs.material.default,\n panelBackground: themePropDefs.panelBackground.default,\n radius: themePropDefs.radius.default,\n scaling: themePropDefs.scaling.default,\n fontFamily: themePropDefs.fontFamily.default,\n onAppearanceChange: noop,\n onAccentColorChange: noop,\n onGrayColorChange: noop,\n onMaterialChange: noop,\n onPanelBackgroundChange: noop,\n onRadiusChange: noop,\n onScalingChange: noop,\n onFontFamilyChange: 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 const isRoot = context === undefined;\n if (isRoot) {\n return (\n <TooltipPrimitive.Provider delayDuration={200}>\n <Direction.Provider dir=\"ltr\">\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 material: materialProp = themePropDefs.material.default,\n panelBackground: panelBackgroundProp = themePropDefs.panelBackground.default,\n radius: radiusProp = themePropDefs.radius.default,\n scaling: scalingProp = themePropDefs.scaling.default,\n fontFamily: fontFamilyProp = themePropDefs.fontFamily.default,\n hasBackground = themePropDefs.hasBackground.default,\n ...rootProps\n } = props;\n\n useDeprecatedPanelBackgroundWarning(props.panelBackground);\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\n // Material takes precedence over panelBackground\n const effectiveMaterial =\n materialProp !== themePropDefs.material.default ? materialProp : panelBackgroundProp;\n const [material, setMaterial] = usePropSyncedState(effectiveMaterial);\n\n // Keep panelBackground in sync with material for backward compatibility\n const [panelBackground, setPanelBackground] = usePropSyncedState(material);\n\n const [radius, setRadius] = usePropSyncedState(radiusProp);\n const [scaling, setScaling] = usePropSyncedState(scalingProp);\n const [fontFamily, setFontFamily] = usePropSyncedState(fontFamilyProp);\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 material={material}\n panelBackground={panelBackground}\n radius={radius}\n scaling={scaling}\n fontFamily={fontFamily}\n //\n onAppearanceChange={setAppearance}\n onAccentColorChange={setAccentColor}\n onGrayColorChange={setGrayColor}\n onMaterialChange={setMaterial}\n onPanelBackgroundChange={setPanelBackground}\n onRadiusChange={setRadius}\n onScalingChange={setScaling}\n onFontFamilyChange={setFontFamily}\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 material = props.material ?? context?.material ?? themePropDefs.material.default,\n panelBackground = props.panelBackground ??\n context?.panelBackground ??\n themePropDefs.panelBackground.default,\n radius = props.radius ?? context?.radius ?? themePropDefs.radius.default,\n scaling = props.scaling ?? context?.scaling ?? themePropDefs.scaling.default,\n fontFamily = props.fontFamily ?? context?.fontFamily ?? themePropDefs.fontFamily.default,\n //\n onAppearanceChange = noop,\n onAccentColorChange = noop,\n onGrayColorChange = noop,\n onMaterialChange = noop,\n onPanelBackgroundChange = noop,\n onRadiusChange = noop,\n onScalingChange = noop,\n onFontFamilyChange = 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 material,\n panelBackground,\n radius,\n scaling,\n fontFamily,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onMaterialChange,\n onPanelBackgroundChange,\n onRadiusChange,\n onScalingChange,\n onFontFamilyChange,\n }),\n [\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n material,\n panelBackground,\n radius,\n scaling,\n fontFamily,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onMaterialChange,\n onPanelBackgroundChange,\n onRadiusChange,\n onScalingChange,\n onFontFamilyChange,\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-material={material}\n data-panel-background={panelBackground}\n data-radius={radius}\n data-scaling={scaling}\n data-font-family={fontFamily}\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"],
5
+ "mappings": "gKAEA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,aAAAC,EAAW,QAAAC,EAAM,WAAWC,MAAwB,WAC7D,OAAS,mBAAAC,EAAiB,mBAAAC,MAAuB,oBAUjD,IAAMC,EAAO,IAAM,CAAC,EAkCdC,EAAyC,CAC7C,WAAYC,EAAc,WAAW,QACrC,YAAaA,EAAc,YAAY,QACvC,UAAWA,EAAc,UAAU,QACnC,kBAAmBA,EAAc,UAAU,QAC3C,SAAUA,EAAc,SAAS,QACjC,gBAAiBA,EAAc,gBAAgB,QAC/C,OAAQA,EAAc,OAAO,QAC7B,QAASA,EAAc,QAAQ,QAC/B,WAAYA,EAAc,WAAW,QACrC,mBAAoBF,EACpB,oBAAqBA,EACrB,kBAAmBA,EACnB,iBAAkBA,EAClB,wBAAyBA,EACzB,eAAgBA,EAChB,gBAAiBA,EACjB,mBAAoBA,CACtB,EAEMG,EAAqB,gBAA6C,MAAS,EAEjF,SAASC,IAAkB,CAGzB,OAFsB,aAAWD,CAAY,GAE3BF,CACpB,CAGA,IAAMI,EAAc,aAAyC,CAACC,EAAOC,IAC7C,aAAWJ,CAAY,IAClB,OAGvB,gBAACK,EAAiB,SAAjB,CAA0B,cAAe,KACxC,gBAACC,EAAU,SAAV,CAAmB,IAAI,OACtB,gBAACC,EAAA,CAAW,GAAGJ,EAAO,IAAKC,EAAc,CAC3C,CACF,EAGG,gBAACI,EAAA,CAAW,GAAGL,EAAO,IAAKC,EAAc,CACjD,EACDF,EAAM,YAAc,QAEpB,IAAMK,EAAkB,aACtB,CAACJ,EAAOC,IAAiB,CACvB,GAAM,CACJ,WAAYK,EAAiBV,EAAc,WAAW,QACtD,YAAaW,EAAkBX,EAAc,YAAY,QACzD,UAAWY,EAAgBZ,EAAc,UAAU,QACnD,SAAUa,EAAeb,EAAc,SAAS,QAChD,gBAAiBc,EAAsBd,EAAc,gBAAgB,QACrE,OAAQe,EAAaf,EAAc,OAAO,QAC1C,QAASgB,EAAchB,EAAc,QAAQ,QAC7C,WAAYiB,EAAiBjB,EAAc,WAAW,QACtD,cAAAkB,EAAgBlB,EAAc,cAAc,QAC5C,GAAGmB,CACL,EAAIf,EAEJgB,EAAoChB,EAAM,eAAe,EAMzD,GAAM,CAACiB,EAAYC,CAAa,EAAIC,EAAmBb,CAAc,EAC/D,CAACc,EAAaC,CAAc,EAAIF,EAAmBZ,CAAe,EAClE,CAACe,EAAWC,CAAY,EAAIJ,EAAmBX,CAAa,EAG5DgB,EACJf,IAAiBb,EAAc,SAAS,QAAUa,EAAeC,EAC7D,CAACe,EAAUC,CAAW,EAAIP,EAAmBK,CAAiB,EAG9D,CAACG,EAAiBC,CAAkB,EAAIT,EAAmBM,CAAQ,EAEnE,CAACI,EAAQC,CAAS,EAAIX,EAAmBR,CAAU,EACnD,CAACoB,EAASC,CAAU,EAAIb,EAAmBP,CAAW,EACtD,CAACqB,EAAYC,CAAa,EAAIf,EAAmBN,CAAc,EAErE,OACE,gBAACR,EAAA,CACE,GAAGU,EACJ,IAAKd,EACL,OAAM,GACN,cAAea,EAEf,WAAYG,EACZ,YAAaG,EACb,UAAWE,EACX,SAAUG,EACV,gBAAiBE,EACjB,OAAQE,EACR,QAASE,EACT,WAAYE,EAEZ,mBAAoBf,EACpB,oBAAqBG,EACrB,kBAAmBE,EACnB,iBAAkBG,EAClB,wBAAyBE,EACzB,eAAgBE,EAChB,gBAAiBE,EACjB,mBAAoBE,EACtB,CAEJ,CACF,EACA9B,EAAU,YAAc,YAUxB,SAAS+B,GAAyD,CAChE,GAAI,OAAO,UAAc,IAAa,OACtC,IAAMC,EAAK,UAAU,UACrB,GAAIA,EAAG,SAAS,KAAK,EAAG,MAAO,UAC/B,GAAIA,EAAG,SAAS,KAAK,EAAG,MAAO,QAC/B,GAAIA,EAAG,SAAS,OAAO,EAAG,MAAO,OAEnC,CAEA,IAAM/B,EAAkB,aAA6C,CAACL,EAAOC,IAAiB,CAC5F,IAAMoC,EAAgB,aAAWxC,CAAY,EACvC,CACJ,QAAAyC,EACA,OAAAC,EACA,cAAeC,EAEf,WAAAvB,EAAajB,EAAM,YAAcqC,GAAS,YAAczC,EAAc,WAAW,QACjF,YAAAwB,EAAcpB,EAAM,aAAeqC,GAAS,aAAezC,EAAc,YAAY,QACrF,UAAA0B,EAAYtB,EAAM,WAAaqC,GAAS,mBAAqBzC,EAAc,UAAU,QACrF,SAAA6B,EAAWzB,EAAM,UAAYqC,GAAS,UAAYzC,EAAc,SAAS,QACzE,gBAAA+B,EAAkB3B,EAAM,iBACtBqC,GAAS,iBACTzC,EAAc,gBAAgB,QAChC,OAAAiC,EAAS7B,EAAM,QAAUqC,GAAS,QAAUzC,EAAc,OAAO,QACjE,QAAAmC,EAAU/B,EAAM,SAAWqC,GAAS,SAAWzC,EAAc,QAAQ,QACrE,WAAAqC,EAAajC,EAAM,YAAcqC,GAAS,YAAczC,EAAc,WAAW,QAEjF,mBAAA6C,EAAqB/C,EACrB,oBAAAgD,EAAsBhD,EACtB,kBAAAiD,EAAoBjD,EACpB,iBAAAkD,EAAmBlD,EACnB,wBAAAmD,EAA0BnD,EAC1B,eAAAoD,EAAiBpD,EACjB,gBAAAqD,EAAkBrD,EAClB,mBAAAsD,EAAqBtD,EAErB,GAAGuD,CACL,EAAIjD,EACEkD,EAAOZ,EAAUa,EAAK,KAAO,MAC7BC,EAAoB9B,IAAc,OAAS+B,EAAqBjC,CAAW,EAAIE,EAC/EgC,EAAuBtD,EAAM,aAAe,SAAWA,EAAM,aAAe,OAC5Ec,EACJ0B,IAAsB,OAAYD,GAAUe,EAAuBd,EAM/De,EAAgB,SAAyB,IAAI,EAC7CC,EAAcC,EAAgBxD,EAAcsD,CAAO,EACnDG,EAAgB,YAAaT,EAEnC,OAAAU,EAAgB,IAAM,CACpB,GAAI,CAACpB,GAAUmB,EAAe,OAC9B,IAAME,EAAOL,EAAQ,QACrB,GAAI,CAACK,EAAM,OAEX,IAAMC,EAAK1B,EAAY,EACvB,GAAK0B,EACL,OAAAD,EAAK,aAAa,UAAWC,CAAE,EACxB,IAAMD,EAAK,gBAAgB,SAAS,CAC7C,EAAG,CAACrB,EAAQmB,CAAa,CAAC,EAGxB,gBAAC7D,EAAa,SAAb,CACC,MAAa,UACX,KAAO,CACL,WAAAoB,EACA,YAAAG,EACA,UAAAE,EACA,kBAAA8B,EACA,SAAA3B,EACA,gBAAAE,EACA,OAAAE,EACA,QAAAE,EACA,WAAAE,EAEA,mBAAAQ,EACA,oBAAAC,EACA,kBAAAC,EACA,iBAAAC,EACA,wBAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,mBAAAC,CACF,GACA,CACE/B,EACAG,EACAE,EACA8B,EACA3B,EACAE,EACAE,EACAE,EACAE,EAEAQ,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,CACF,CACF,GAEA,gBAACE,EAAA,CACC,qBAAoBX,EAAS,OAAS,QACtC,oBAAmBnB,EACnB,kBAAiBgC,EAEjB,sBAAqBtC,EAAgB,OAAS,QAC9C,gBAAeW,EACf,wBAAuBE,EACvB,cAAaE,EACb,eAAcE,EACd,mBAAkBE,EAClB,IAAKuB,EACJ,GAAGP,EACJ,UAAWa,EACT,eACA,CACE,MAAO7C,IAAe,QACtB,KAAMA,IAAe,MACvB,EACAgC,EAAW,SACb,EACF,CACF,CAEJ,CAAC,EACD5C,EAAU,YAAc",
6
+ "names": ["React", "classNames", "Direction", "Slot", "TooltipPrimitive", "useComposedRefs", "useLayoutEffect", "noop", "defaultThemeContext", "themePropDefs", "ThemeContext", "useThemeContext", "Theme", "props", "forwardedRef", "TooltipPrimitive", "Direction", "ThemeRoot", "ThemeImpl", "appearanceProp", "accentColorProp", "grayColorProp", "materialProp", "panelBackgroundProp", "radiusProp", "scalingProp", "fontFamilyProp", "hasBackground", "rootProps", "useDeprecatedPanelBackgroundWarning", "appearance", "setAppearance", "usePropSyncedState", "accentColor", "setAccentColor", "grayColor", "setGrayColor", "effectiveMaterial", "material", "setMaterial", "panelBackground", "setPanelBackground", "radius", "setRadius", "scaling", "setScaling", "fontFamily", "setFontFamily", "getClientOS", "ua", "context", "asChild", "isRoot", "hasBackgroundProp", "onAppearanceChange", "onAccentColorChange", "onGrayColorChange", "onMaterialChange", "onPanelBackgroundChange", "onRadiusChange", "onScalingChange", "onFontFamilyChange", "themeProps", "Comp", "Slot", "resolvedGrayColor", "getMatchingGrayColor", "isExplicitAppearance", "rootRef", "composedRef", "useComposedRefs", "hasExplicitOS", "useLayoutEffect", "node", "os", "classNames"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as u}from"./chunk-PS6NEG5A.js";import{a as f}from"./chunk-TBJ6L4NL.js";import{a as v}from"./chunk-GSTOGDAJ.js";import{a as c}from"./chunk-KMPBTEZH.js";import*as a from"react";import A from"classnames";import{Avatar as m}from"radix-ui";var N=a.forwardRef((e,s)=>{let{asChild:r,children:t,className:o,style:p,color:l,radius:n,material:P,panelBackground:y,status:i,badge:d,...b}=c(e,f,v),R=r&&t!=null&&a.isValidElement(t)&&(t.props.disabled===!0||t.props["data-disabled"]===!0),h=d!==void 0||i!==void 0;return a.createElement(m.Root,{"data-accent-color":l,"data-radius":n,"data-material":P,"data-panel-background":y,"data-disabled":R||void 0,"data-has-indicator":h||void 0,className:A("rt-reset","rt-AvatarRoot",o),style:p,asChild:r},u({asChild:r,children:t},a.createElement(g,{ref:s,...b})),d!==void 0?a.createElement("span",{className:"rt-AvatarBadge"},d):i!==void 0?a.createElement("span",{className:"rt-AvatarStatus","data-accent-color":i}):null)});N.displayName="Avatar";var g=a.memo(a.forwardRef(({fallback:e,onLoadingStatusChange:s,...r},t)=>{let[o,p]=a.useState("idle"),l=a.useCallback(n=>{s?.(n),p(n)},[s]);return a.createElement(a.Fragment,null,o==="idle"||o==="loading"?a.createElement("span",{className:"rt-AvatarFallback"}):null,o==="error"?a.createElement(m.Fallback,{className:A("rt-AvatarFallback",{"rt-one-letter":typeof e=="string"&&e.length===1,"rt-two-letters":typeof e=="string"&&e.length===2}),delayMs:0},e):null,a.createElement(m.Image,{ref:t,className:"rt-AvatarImage",...r,onLoadingStatusChange:l}))}));g.displayName="AvatarImpl";export{N as a};
2
- //# sourceMappingURL=chunk-JCYI4NTV.js.map
1
+ import{a as u}from"./chunk-PS6NEG5A.js";import{a as f}from"./chunk-TBJ6L4NL.js";import{a as v}from"./chunk-GSTOGDAJ.js";import{a as c}from"./chunk-6FLLFCBU.js";import*as a from"react";import A from"classnames";import{Avatar as m}from"radix-ui";var N=a.forwardRef((e,s)=>{let{asChild:r,children:t,className:o,style:p,color:l,radius:n,material:P,panelBackground:y,status:i,badge:d,...b}=c(e,f,v),R=r&&t!=null&&a.isValidElement(t)&&(t.props.disabled===!0||t.props["data-disabled"]===!0),h=d!==void 0||i!==void 0;return a.createElement(m.Root,{"data-accent-color":l,"data-radius":n,"data-material":P,"data-panel-background":y,"data-disabled":R||void 0,"data-has-indicator":h||void 0,className:A("rt-reset","rt-AvatarRoot",o),style:p,asChild:r},u({asChild:r,children:t},a.createElement(g,{ref:s,...b})),d!==void 0?a.createElement("span",{className:"rt-AvatarBadge"},d):i!==void 0?a.createElement("span",{className:"rt-AvatarStatus","data-accent-color":i}):null)});N.displayName="Avatar";var g=a.memo(a.forwardRef(({fallback:e,onLoadingStatusChange:s,...r},t)=>{let[o,p]=a.useState("idle"),l=a.useCallback(n=>{s?.(n),p(n)},[s]);return a.createElement(a.Fragment,null,o==="idle"||o==="loading"?a.createElement("span",{className:"rt-AvatarFallback"}):null,o==="error"?a.createElement(m.Fallback,{className:A("rt-AvatarFallback",{"rt-one-letter":typeof e=="string"&&e.length===1,"rt-two-letters":typeof e=="string"&&e.length===2}),delayMs:0},e):null,a.createElement(m.Image,{ref:t,className:"rt-AvatarImage",...r,onLoadingStatusChange:l}))}));g.displayName="AvatarImpl";export{N as a};
2
+ //# sourceMappingURL=chunk-MBCBP73P.js.map
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-ZRKE3NVU.js";import{a as t}from"./chunk-GSTOGDAJ.js";import{a as p}from"./chunk-KMPBTEZH.js";import*as o from"react";import i from"classnames";import{Slot as P}from"radix-ui";var C=o.forwardRef((e,m)=>{let{asChild:d,className:n,color:r,...a}=p(e,s,t),c=e.variant==="ghost"?r||void 0:r,f=d?P.Root:"code";return o.createElement(f,{"data-accent-color":c,...a,ref:m,className:i("rt-reset","rt-Code",n)})});C.displayName="Code";export{C as a};
2
- //# sourceMappingURL=chunk-UYNYUR7O.js.map
1
+ import{a as s}from"./chunk-ZRKE3NVU.js";import{a as t}from"./chunk-GSTOGDAJ.js";import{a as p}from"./chunk-6FLLFCBU.js";import*as o from"react";import i from"classnames";import{Slot as P}from"radix-ui";var C=o.forwardRef((e,m)=>{let{asChild:d,className:n,color:r,...a}=p(e,s,t),c=e.variant==="ghost"?r||void 0:r,f=d?P.Root:"code";return o.createElement(f,{"data-accent-color":c,...a,ref:m,className:i("rt-reset","rt-Code",n)})});C.displayName="Code";export{C as a};
2
+ //# sourceMappingURL=chunk-MBE2YSBU.js.map
@@ -0,0 +1,2 @@
1
+ import*as p from"react";var a=!1;function y(){p.useEffect(()=>{if(typeof document>"u"||a)return;a=!0;let r=new Set,n=(e,o)=>{let m=setTimeout(()=>{r.delete(m),e()},o);r.add(m)},s=()=>{let e=!!document.querySelector('[role="dialog"][aria-modal="true"], [role="alertdialog"][aria-modal="true"]'),o=!!document.querySelector('[data-radix-popper-content-wrapper], [data-state="open"]');return e||o},c=()=>{document.body.style.pointerEvents==="none"&&(console.log("[KookieUI] Force cleaning stuck pointer-events: none from body"),document.body.style.pointerEvents="",document.body.removeAttribute("data-scroll-locked"),document.body.removeAttribute("data-remove-scroll"),document.body.classList.remove("ReactModal__Body--open"))},d=()=>{document.body.style.pointerEvents==="none"&&!s()&&(console.log("[KookieUI] Safe cleaning stuck pointer-events: none from body"),document.body.style.pointerEvents="")},i=e=>{let o=e.target;o&&!o.closest('[role="dialog"], [role="alertdialog"], [data-radix-popper-content-wrapper]')&&n(c,100)},u=e=>{e.key==="Escape"&&n(c,200)},t=()=>{n(d,50)};document.addEventListener("click",i,!0),document.addEventListener("keydown",u,!0),document.addEventListener("pointerup",t,!0),document.addEventListener("transitionend",t,!0),document.addEventListener("animationend",t,!0);let l=new MutationObserver(()=>{n(d,0)});l.observe(document.body,{childList:!0,subtree:!0,attributes:!0});let v=setInterval(()=>{document.body.style.pointerEvents==="none"&&!s()&&(console.log("[KookieUI] Periodic cleanup of stuck pointer-events"),document.body.style.pointerEvents="")},1e3);return n(d,100),()=>{clearInterval(v),r.forEach(clearTimeout),r.clear(),l.disconnect(),document.removeEventListener("click",i,!0),document.removeEventListener("keydown",u,!0),document.removeEventListener("pointerup",t,!0),document.removeEventListener("transitionend",t,!0),document.removeEventListener("animationend",t,!0),a=!1}},[])}export{y as a};
2
+ //# sourceMappingURL=chunk-MHANZINI.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/hooks/use-body-pointer-events-cleanup.ts"],
4
+ "sourcesContent": ["import * as React from 'react';\n\nlet cleanupInstalled = false;\n\n/**\n * Hook to cleanup stuck pointer-events: none on document.body\n *\n * This addresses an issue where react-remove-scroll (used by Radix UI Dialog)\n * sometimes fails to restore body pointer-events after dialog closes,\n * leaving the page unclickable.\n */\nexport function useBodyPointerEventsCleanup() {\n React.useEffect(() => {\n if (typeof document === 'undefined') return;\n if (cleanupInstalled) return;\n\n cleanupInstalled = true;\n\n // Deferred cleanups are tracked so unmount can cancel the ones still\n // queued. A timer that outlives the document reaches for `document.body`\n // after it is gone; under jsdom that surfaces as an unhandled\n // ReferenceError attributed to whichever test happened to be running.\n const pending = new Set<ReturnType<typeof setTimeout>>();\n\n const defer = (fn: () => void, delay: number) => {\n const id = setTimeout(() => {\n pending.delete(id);\n fn();\n }, delay);\n pending.add(id);\n };\n\n const hasOpenModal = (): boolean => {\n // Check for open dialogs/alertdialogs\n const hasDialogs = Boolean(\n document.querySelector(\n '[role=\"dialog\"][aria-modal=\"true\"], [role=\"alertdialog\"][aria-modal=\"true\"]',\n ),\n );\n\n // Also check for any Radix overlays that are still mounted\n const hasRadixOverlays = Boolean(\n document.querySelector('[data-radix-popper-content-wrapper], [data-state=\"open\"]'),\n );\n\n return hasDialogs || hasRadixOverlays;\n };\n\n const forceCleanup = () => {\n // Aggressive cleanup - remove pointer-events regardless\n if (document.body.style.pointerEvents === 'none') {\n console.log('[KookieUI] Force cleaning stuck pointer-events: none from body');\n document.body.style.pointerEvents = '';\n\n // Also remove any scroll-lock related attributes\n document.body.removeAttribute('data-scroll-locked');\n document.body.removeAttribute('data-remove-scroll');\n\n // Remove any classes that might be causing issues\n document.body.classList.remove('ReactModal__Body--open');\n }\n };\n\n const safeCleanup = () => {\n if (document.body.style.pointerEvents === 'none' && !hasOpenModal()) {\n console.log('[KookieUI] Safe cleaning stuck pointer-events: none from body');\n document.body.style.pointerEvents = '';\n }\n };\n\n // Force cleanup on any click outside modal content\n const onDocumentClick = (event: Event) => {\n const target = event.target as Element;\n if (\n target &&\n !target.closest(\n '[role=\"dialog\"], [role=\"alertdialog\"], [data-radix-popper-content-wrapper]',\n )\n ) {\n // Clicked outside any modal - force cleanup after a short delay\n defer(forceCleanup, 100);\n }\n };\n\n // Force cleanup on ESC key\n const onEscapeKey = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n defer(forceCleanup, 200);\n }\n };\n\n // Safe cleanup on other interactions\n const onInteraction = () => {\n defer(safeCleanup, 50);\n };\n\n // Install global listeners\n document.addEventListener('click', onDocumentClick, true);\n document.addEventListener('keydown', onEscapeKey, true);\n document.addEventListener('pointerup', onInteraction, true);\n document.addEventListener('transitionend', onInteraction, true);\n document.addEventListener('animationend', onInteraction, true);\n\n // Watch for DOM changes that might indicate overlay removal\n const observer = new MutationObserver(() => {\n defer(safeCleanup, 0);\n });\n observer.observe(document.body, { childList: true, subtree: true, attributes: true });\n\n // Fallback periodic cleanup\n const intervalId = setInterval(() => {\n if (document.body.style.pointerEvents === 'none' && !hasOpenModal()) {\n console.log('[KookieUI] Periodic cleanup of stuck pointer-events');\n document.body.style.pointerEvents = '';\n }\n }, 1000);\n\n // Initial cleanup\n defer(safeCleanup, 100);\n\n // Tear everything down together. The observer is the important one: it\n // fires while React unmounts the tree, so leaving it connected keeps\n // queueing work against a document that is about to go away. Releasing the\n // latch lets a later mount reinstall.\n return () => {\n clearInterval(intervalId);\n\n pending.forEach(clearTimeout);\n pending.clear();\n\n observer.disconnect();\n\n document.removeEventListener('click', onDocumentClick, true);\n document.removeEventListener('keydown', onEscapeKey, true);\n document.removeEventListener('pointerup', onInteraction, true);\n document.removeEventListener('transitionend', onInteraction, true);\n document.removeEventListener('animationend', onInteraction, true);\n\n cleanupInstalled = false;\n };\n }, []);\n}\n"],
5
+ "mappings": "AAAA,UAAYA,MAAW,QAEvB,IAAIC,EAAmB,GAShB,SAASC,GAA8B,CACtC,YAAU,IAAM,CAEpB,GADI,OAAO,SAAa,KACpBD,EAAkB,OAEtBA,EAAmB,GAMnB,IAAME,EAAU,IAAI,IAEdC,EAAQ,CAACC,EAAgBC,IAAkB,CAC/C,IAAMC,EAAK,WAAW,IAAM,CAC1BJ,EAAQ,OAAOI,CAAE,EACjBF,EAAG,CACL,EAAGC,CAAK,EACRH,EAAQ,IAAII,CAAE,CAChB,EAEMC,EAAe,IAAe,CAElC,IAAMC,EAAa,EACjB,SAAS,cACP,6EACF,EAIIC,EAAmB,EACvB,SAAS,cAAc,0DAA0D,EAGnF,OAAOD,GAAcC,CACvB,EAEMC,EAAe,IAAM,CAErB,SAAS,KAAK,MAAM,gBAAkB,SACxC,QAAQ,IAAI,gEAAgE,EAC5E,SAAS,KAAK,MAAM,cAAgB,GAGpC,SAAS,KAAK,gBAAgB,oBAAoB,EAClD,SAAS,KAAK,gBAAgB,oBAAoB,EAGlD,SAAS,KAAK,UAAU,OAAO,wBAAwB,EAE3D,EAEMC,EAAc,IAAM,CACpB,SAAS,KAAK,MAAM,gBAAkB,QAAU,CAACJ,EAAa,IAChE,QAAQ,IAAI,+DAA+D,EAC3E,SAAS,KAAK,MAAM,cAAgB,GAExC,EAGMK,EAAmBC,GAAiB,CACxC,IAAMC,EAASD,EAAM,OAEnBC,GACA,CAACA,EAAO,QACN,4EACF,GAGAX,EAAMO,EAAc,GAAG,CAE3B,EAGMK,EAAeF,GAAyB,CACxCA,EAAM,MAAQ,UAChBV,EAAMO,EAAc,GAAG,CAE3B,EAGMM,EAAgB,IAAM,CAC1Bb,EAAMQ,EAAa,EAAE,CACvB,EAGA,SAAS,iBAAiB,QAASC,EAAiB,EAAI,EACxD,SAAS,iBAAiB,UAAWG,EAAa,EAAI,EACtD,SAAS,iBAAiB,YAAaC,EAAe,EAAI,EAC1D,SAAS,iBAAiB,gBAAiBA,EAAe,EAAI,EAC9D,SAAS,iBAAiB,eAAgBA,EAAe,EAAI,EAG7D,IAAMC,EAAW,IAAI,iBAAiB,IAAM,CAC1Cd,EAAMQ,EAAa,CAAC,CACtB,CAAC,EACDM,EAAS,QAAQ,SAAS,KAAM,CAAE,UAAW,GAAM,QAAS,GAAM,WAAY,EAAK,CAAC,EAGpF,IAAMC,EAAa,YAAY,IAAM,CAC/B,SAAS,KAAK,MAAM,gBAAkB,QAAU,CAACX,EAAa,IAChE,QAAQ,IAAI,qDAAqD,EACjE,SAAS,KAAK,MAAM,cAAgB,GAExC,EAAG,GAAI,EAGP,OAAAJ,EAAMQ,EAAa,GAAG,EAMf,IAAM,CACX,cAAcO,CAAU,EAExBhB,EAAQ,QAAQ,YAAY,EAC5BA,EAAQ,MAAM,EAEde,EAAS,WAAW,EAEpB,SAAS,oBAAoB,QAASL,EAAiB,EAAI,EAC3D,SAAS,oBAAoB,UAAWG,EAAa,EAAI,EACzD,SAAS,oBAAoB,YAAaC,EAAe,EAAI,EAC7D,SAAS,oBAAoB,gBAAiBA,EAAe,EAAI,EACjE,SAAS,oBAAoB,eAAgBA,EAAe,EAAI,EAEhEhB,EAAmB,EACrB,CACF,EAAG,CAAC,CAAC,CACP",
6
+ "names": ["React", "cleanupInstalled", "useBodyPointerEventsCleanup", "pending", "defer", "fn", "delay", "id", "hasOpenModal", "hasDialogs", "hasRadixOverlays", "forceCleanup", "safeCleanup", "onDocumentClick", "event", "target", "onEscapeKey", "onInteraction", "observer", "intervalId"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as C}from"./chunk-MHANZINI.js";import{a as D}from"./chunk-TOOSHJOA.js";import{a as d}from"./chunk-MJJ7XDIP.js";import{a as y}from"./chunk-GCUGJXI2.js";import{c as S}from"./chunk-LOGJJF4I.js";import{a as R}from"./chunk-H7ST535H.js";import{a as u}from"./chunk-5TXQLK4G.js";import{a as c}from"./chunk-6FLLFCBU.js";import{a as F}from"./chunk-3XT5P2HO.js";var J={};F(J,{Close:()=>k,Content:()=>b,Description:()=>N,Root:()=>T,Title:()=>x,Trigger:()=>v});import*as e from"react";import K from"classnames";import{Dialog as a}from"radix-ui";var T=o=>e.createElement(a.Root,{...o,modal:!0});T.displayName="Sheet.Root";var v=e.forwardRef(({children:o,...t},r)=>e.createElement(a.Trigger,{...t,ref:r,asChild:!0},d(o)));v.displayName="Sheet.Trigger";var{align:ae,panelBackground:V,material:_,...E}=y,q={panelBackground:V,material:_},{default:ne,...I}=E.maxWidth,G={...E,maxWidth:I},b=e.forwardRef((o,t)=>{let{side:r="start",forceMount:n,container:M,className:B,panelBackground:f,material:W,...w}=o,H={left:"start",right:"end",start:"start",end:"end",top:"top",bottom:"bottom"}[r],{panelBackground:L,material:O}=c({panelBackground:f,material:W},q);u(f);let h=O??L,{className:z,...j}=c(w,G),g=e.useRef(null),A=e.useMemo(()=>i=>{g.current=i,typeof t=="function"?t(i):t&&(t.current=i)},[t]);return C(),e.useEffect(()=>{if(typeof window>"u")return;let i=g.current;if(!i)return;let s=i.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(s.length===0)return;let l=s[0],m=s[s.length-1],P=p=>{p.key==="Tab"&&(p.shiftKey?document.activeElement===l&&(p.preventDefault(),m.focus()):document.activeElement===m&&(p.preventDefault(),l.focus()))};return i.addEventListener("keydown",P),l.focus(),()=>{i.removeEventListener("keydown",P)}},[]),e.createElement(a.Portal,{container:M,forceMount:n},e.createElement(S,{asChild:!0},e.createElement(a.Overlay,{className:"rt-BaseDialogOverlay rt-DialogOverlay rt-SheetOverlay"},e.createElement(a.Content,{...j,ref:A,className:K("rt-BaseDialogContent","rt-SheetContent",B,z),"data-side":H,"data-material":h,"data-panel-background":h,tabIndex:-1,role:"dialog","aria-modal":"true"}))))});b.displayName="Sheet.Content";var x=e.forwardRef(({size:o="4",weight:t="medium",...r},n)=>e.createElement(a.Title,{asChild:!0},e.createElement(D,{ref:n,size:o,weight:t,...r})));x.displayName="Sheet.Title";var N=e.forwardRef(({size:o="2",color:t="gray",...r},n)=>e.createElement(a.Description,{asChild:!0},e.createElement(R,{ref:n,size:o,color:t,...r})));N.displayName="Sheet.Description";var k=e.forwardRef(({children:o,...t},r)=>e.createElement(a.Close,{...t,ref:r,asChild:!0},d(o)));k.displayName="Sheet.Close";export{T as a,v as b,b as c,x as d,N as e,k as f,J as g};
2
+ //# sourceMappingURL=chunk-MRECKC4D.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/sheet.tsx"],
4
+ "sourcesContent": ["'use client';\n\n/**\n * Sheet\n *\n * A side-placed overlay built on top of Radix Dialog. It inherits accessibility,\n * focus management, overlay behavior, and sizing scales from the base dialog, and\n * adds side placement and slide motion suited for navigation panels and drawers.\n *\n * Structure mirrors Dialog:\n * - Root, Trigger, Content, Title, Description, Close\n *\n * Notes\n * - Side: set with `side` on `Sheet.Content`. Aliases: `left` \u2192 `start`, `right` \u2192 `end`.\n * - Sizing: reuses Dialog content prop defs (width/min/max/height/size). Default Dialog\n * maxWidth clamping is removed for Sheets.\n * - Material: use `material` (solid | translucent). Deprecated `panelBackground` falls back\n * in dev with a warning.\n * - A11y: provide an accessible name via `Sheet.Title` or `aria-label` on `Sheet.Content`.\n *\n * Example\n * <Sheet.Root>\n * <Sheet.Trigger>\n * <Button>Open</Button>\n * </Sheet.Trigger>\n * <Sheet.Content side=\"end\" width={{ initial: '280px', md: '360px' }}>\n * <Sheet.Title>Details</Sheet.Title>\n * ...\n * <Sheet.Close>\n * <Button>Close</Button>\n * </Sheet.Close>\n * </Sheet.Content>\n * </Sheet.Root>\n */\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Dialog as DialogPrimitive } from 'radix-ui';\n\nimport { dialogContentPropDefs } from './dialog.props.js';\nimport type { DialogContentOwnProps } from './dialog.props.js';\nimport { Theme } from './theme.js';\nimport { Heading } from './heading.js';\nimport { Text } from './text.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\nimport { useBodyPointerEventsCleanup } from '../hooks/use-body-pointer-events-cleanup.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { HeadingProps } from './heading.js';\n\n/**\n * Supported sides for the Sheet.\n * Aliases are normalized RTL-aware: `left` \u2192 `start`, `right` \u2192 `end`.\n */\ntype SheetSide = 'start' | 'end' | 'top' | 'bottom' | 'left' | 'right';\n\n/**\n * Sheet is a side-placed overlay built on the Dialog primitive.\n * It reuses Dialog's accessibility, focus, overlay, and size scales, while adding side placement and slide motion.\n */\n\n// Root\n/**\n * Props for `Sheet.Root` (Radix Dialog root with `modal` forced on).\n */\ninterface SheetRootProps extends ComponentPropsWithout<typeof DialogPrimitive.Root, 'modal'> {}\nconst Root: React.FC<SheetRootProps> = (props) => <DialogPrimitive.Root {...props} modal />;\nRoot.displayName = 'Sheet.Root';\n\n// Trigger\n/** Element type for `Sheet.Trigger`. */\ntype SheetTriggerElement = React.ElementRef<typeof DialogPrimitive.Trigger>;\n/** Props for `Sheet.Trigger` (expects a single element child). */\ninterface SheetTriggerProps\n extends ComponentPropsWithout<typeof DialogPrimitive.Trigger, RemovedProps> {}\nconst Trigger = React.forwardRef<SheetTriggerElement, SheetTriggerProps>(\n ({ children, ...props }, ref) => (\n <DialogPrimitive.Trigger {...props} ref={ref} asChild>\n {requireReactElement(children)}\n </DialogPrimitive.Trigger>\n ),\n);\nTrigger.displayName = 'Sheet.Trigger';\n\n// Content\n/** Element type for `Sheet.Content`. */\n// Reuse dialog content prop defs for size/width/height tokens, but handle\n// material/panelBackground explicitly to avoid forwarding unknown DOM props.\n// Built once at module scope: `extractProps` memoises on the identity of the\n// prop def objects it is handed, so rebuilding these per render would recompile\n// them every time a sheet renders.\nconst {\n align: _alignPropDef,\n panelBackground: panelBackgroundPropDef,\n material: materialPropDef,\n ...dialogPropDefsForSheet\n} = dialogContentPropDefs;\n\nconst materialPropDefs = {\n panelBackground: panelBackgroundPropDef,\n material: materialPropDef,\n};\n\n// Override dialog's default maxWidth (600px) to avoid clamping Sheet by default\nconst { default: _mwDefault, ...maxWidthWithoutDefault } = dialogPropDefsForSheet.maxWidth;\nconst sheetPropDefs = {\n ...dialogPropDefsForSheet,\n maxWidth: maxWidthWithoutDefault,\n} as typeof dialogPropDefsForSheet;\n\ntype SheetContentElement = React.ElementRef<typeof DialogPrimitive.Content>;\ninterface SheetContentProps\n extends ComponentPropsWithout<typeof DialogPrimitive.Content, RemovedProps>,\n DialogContentOwnProps {\n /** Side where the Sheet should appear. `left`/`right` alias to `start`/`end`. */\n side?: SheetSide;\n /** Optional DOM container to portal into. Defaults to `document.body`. */\n container?: React.ComponentPropsWithoutRef<typeof DialogPrimitive.Portal>['container'];\n}\n\n/**\n * Renders the Sheet panel. Normalizes left/right to logical start/end and\n * forwards dialog sizing props. Provide an accessible name via `Sheet.Title`\n * or `aria-label`.\n */\nconst Content = React.forwardRef<SheetContentElement, SheetContentProps>(\n (allProps, forwardedRef) => {\n const {\n side = 'start',\n forceMount,\n container,\n className,\n panelBackground: panelBackgroundProp,\n material: materialProp,\n ...restProps\n } = allProps;\n const normalizedSideMap: Record<SheetSide, 'start' | 'end' | 'top' | 'bottom'> = {\n left: 'start',\n right: 'end',\n start: 'start',\n end: 'end',\n top: 'top',\n bottom: 'bottom',\n };\n const normalizedSide = normalizedSideMap[side];\n // Extract panelBackground and material together (remove from DOM props)\n const { panelBackground: resolvedPanelBackground, material: resolvedMaterial } = extractProps(\n { panelBackground: panelBackgroundProp, material: materialProp },\n materialPropDefs,\n );\n\n useDeprecatedPanelBackgroundWarning(panelBackgroundProp);\n\n // Material takes precedence over the deprecated panelBackground\n const materialValue = resolvedMaterial ?? resolvedPanelBackground;\n\n // Size/width/height class names come from the dialog defs \u2014 see `sheetPropDefs`.\n const { className: extractedClassName, ...contentProps } = extractProps(\n restProps,\n sheetPropDefs,\n );\n\n // Dev-only a11y guard: ensure label is provided via Title or aria-label\n if (process.env.NODE_ENV !== 'production') {\n const children = (contentProps as any).children as React.ReactNode;\n const hasAriaLabel = typeof (contentProps as any)['aria-label'] === 'string';\n let hasTitle = false;\n if (children) {\n for (const child of React.Children.toArray(children)) {\n if (React.isValidElement(child) && child.type === Title) {\n hasTitle = true;\n break;\n }\n }\n }\n if (!hasTitle && !hasAriaLabel) {\n console.warn(\n 'Sheet.Content: Missing accessible name. Include Sheet.Title as a child or provide aria-label.',\n );\n }\n }\n\n // Focus management and stuck pointer-events cleanup like Dialog\n const contentRef = React.useRef<HTMLDivElement>(null);\n const combinedRef = React.useMemo(\n () => (node: HTMLDivElement | null) => {\n contentRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n (forwardedRef as React.MutableRefObject<HTMLDivElement | null>).current = node;\n }\n },\n [forwardedRef],\n );\n\n useBodyPointerEventsCleanup();\n\n React.useEffect(() => {\n if (typeof window === 'undefined') return;\n const content = contentRef.current;\n if (!content) return;\n\n const focusableElements = content.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n );\n\n if (focusableElements.length === 0) return;\n\n const firstElement = focusableElements[0] as HTMLElement;\n const lastElement = focusableElements[focusableElements.length - 1] as HTMLElement;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n if (event.shiftKey) {\n if (document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n }\n } else if (document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n }\n };\n\n content.addEventListener('keydown', handleKeyDown);\n firstElement.focus();\n\n return () => {\n content.removeEventListener('keydown', handleKeyDown);\n };\n }, []);\n\n return (\n <DialogPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <DialogPrimitive.Overlay className=\"rt-BaseDialogOverlay rt-DialogOverlay rt-SheetOverlay\">\n <DialogPrimitive.Content\n {...contentProps}\n ref={combinedRef}\n className={classNames(\n 'rt-BaseDialogContent',\n 'rt-SheetContent',\n className,\n extractedClassName,\n )}\n data-side={normalizedSide}\n data-material={materialValue}\n data-panel-background={materialValue}\n tabIndex={-1}\n role=\"dialog\"\n aria-modal=\"true\"\n />\n </DialogPrimitive.Overlay>\n </Theme>\n </DialogPrimitive.Portal>\n );\n },\n);\nContent.displayName = 'Sheet.Content';\n\n// Title - renders as Heading with sensible defaults\ntype SheetTitleElement = React.ElementRef<typeof Heading>;\ntype SheetTitleProps = HeadingProps;\n/** Accessible title for the Sheet. Renders as Heading with sensible defaults. */\nconst Title = React.forwardRef<SheetTitleElement, SheetTitleProps>(\n ({ size = '4', weight = 'medium', ...props }, ref) => (\n <DialogPrimitive.Title asChild>\n <Heading ref={ref} size={size} weight={weight} {...props} />\n </DialogPrimitive.Title>\n ),\n);\nTitle.displayName = 'Sheet.Title';\n\n// Description - renders as Text with sensible defaults\ntype SheetDescriptionElement = React.ElementRef<typeof Text>;\ntype SheetDescriptionProps = React.ComponentPropsWithoutRef<typeof Text>;\n/** Supplementary description text for Sheet content. Renders as Text with sensible defaults. */\nconst Description = React.forwardRef<SheetDescriptionElement, SheetDescriptionProps>(\n ({ size = '2', color = 'gray', ...rest }, ref) => (\n <DialogPrimitive.Description asChild>\n <Text ref={ref} size={size} color={color} {...rest} />\n </DialogPrimitive.Description>\n ),\n);\nDescription.displayName = 'Sheet.Description';\n\ntype SheetCloseElement = React.ElementRef<typeof DialogPrimitive.Close>;\ninterface SheetCloseProps\n extends ComponentPropsWithout<typeof DialogPrimitive.Close, RemovedProps> {}\n/** Close button for the Sheet. Expects a single element child rendered via `asChild`. */\nconst Close = React.forwardRef<SheetCloseElement, SheetCloseProps>(\n ({ children, ...props }, ref) => (\n <DialogPrimitive.Close {...props} ref={ref} asChild>\n {requireReactElement(children)}\n </DialogPrimitive.Close>\n ),\n);\nClose.displayName = 'Sheet.Close';\n\nexport { Root, Trigger, Content, Title, Description, Close };\nexport type {\n SheetRootProps as RootProps,\n SheetTriggerProps as TriggerProps,\n SheetContentProps as ContentProps,\n SheetTitleProps as TitleProps,\n SheetDescriptionProps as DescriptionProps,\n SheetCloseProps as CloseProps,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["sheet_exports", "__export", "Close", "Content", "Description", "Root", "Title", "Trigger", "React", "classNames", "DialogPrimitive", "Root", "props", "DialogPrimitive", "Trigger", "children", "ref", "requireReactElement", "_alignPropDef", "panelBackgroundPropDef", "materialPropDef", "dialogPropDefsForSheet", "dialogContentPropDefs", "materialPropDefs", "_mwDefault", "maxWidthWithoutDefault", "sheetPropDefs", "Content", "allProps", "forwardedRef", "side", "forceMount", "container", "className", "panelBackgroundProp", "materialProp", "restProps", "normalizedSide", "resolvedPanelBackground", "resolvedMaterial", "extractProps", "useDeprecatedPanelBackgroundWarning", "materialValue", "extractedClassName", "contentProps", "contentRef", "combinedRef", "node", "useBodyPointerEventsCleanup", "content", "focusableElements", "firstElement", "lastElement", "handleKeyDown", "event", "Theme", "classNames", "Title", "size", "weight", "Heading", "Description", "color", "rest", "Text", "Close"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as c}from"./chunk-SESAEJ6W.js";import{a as d}from"./chunk-GSTOGDAJ.js";import{a as l}from"./chunk-KMPBTEZH.js";import*as e from"react";import T from"classnames";var M=e.forwardRef((m,f)=>{let{className:x,color:y,radius:b,panelBackground:u,material:P,style:v,...r}=l(m,c,d),i=P||u,t=e.useId(),{"aria-describedby":o,"aria-labelledby":p}=r,s=r.error||r.isInvalid,n=e.useMemo(()=>{let a=[];return r.errorMessage&&a.push(t),o&&a.push(o),a.length>0?a.join(" "):void 0},[r.errorMessage,o,t]),A=e.useMemo(()=>({"aria-invalid":s,"aria-describedby":n,"aria-labelledby":p}),[s,n,p]),{error:R,errorMessage:D,isInvalid:I,required:h,"aria-describedby":N,"aria-labelledby":j,...g}=r;return e.createElement("div",{"data-accent-color":y,"data-radius":b,"data-panel-background":i,"data-material":i,className:T("rt-TextAreaRoot",x,{"rt-error":s}),style:v},e.createElement("textarea",{className:"rt-reset rt-TextAreaInput",ref:f,...g,...A}),r.errorMessage&&e.createElement("div",{id:t,className:"rt-TextAreaErrorMessage",role:"alert","aria-live":"polite"},r.errorMessage))});M.displayName="TextArea";export{M as a};
2
- //# sourceMappingURL=chunk-H2G446JG.js.map
1
+ import{a as c}from"./chunk-SESAEJ6W.js";import{a as d}from"./chunk-GSTOGDAJ.js";import{a as l}from"./chunk-6FLLFCBU.js";import*as e from"react";import T from"classnames";var M=e.forwardRef((m,f)=>{let{className:x,color:y,radius:b,panelBackground:u,material:P,style:v,...r}=l(m,c,d),i=P||u,t=e.useId(),{"aria-describedby":o,"aria-labelledby":p}=r,s=r.error||r.isInvalid,n=e.useMemo(()=>{let a=[];return r.errorMessage&&a.push(t),o&&a.push(o),a.length>0?a.join(" "):void 0},[r.errorMessage,o,t]),A=e.useMemo(()=>({"aria-invalid":s,"aria-describedby":n,"aria-labelledby":p}),[s,n,p]),{error:R,errorMessage:D,isInvalid:I,required:h,"aria-describedby":N,"aria-labelledby":j,...g}=r;return e.createElement("div",{"data-accent-color":y,"data-radius":b,"data-panel-background":i,"data-material":i,className:T("rt-TextAreaRoot",x,{"rt-error":s}),style:v},e.createElement("textarea",{className:"rt-reset rt-TextAreaInput",ref:f,...g,...A}),r.errorMessage&&e.createElement("div",{id:t,className:"rt-TextAreaErrorMessage",role:"alert","aria-live":"polite"},r.errorMessage))});M.displayName="TextArea";export{M as a};
2
+ //# sourceMappingURL=chunk-NMKPFUNP.js.map
@@ -1,2 +1,2 @@
1
- import{a as ye}from"./chunk-2LYX5S7H.js";import{a as ue,c as fe}from"./chunk-5LXFJMFB.js";import{j as ie,n as ce,p as le,r as de,v as pe}from"./chunk-SNHEJU2S.js";import{a as re,c as se,d as ae}from"./chunk-UUX42HBM.js";import{a as Re,d as C}from"./chunk-Q73Y5O5P.js";import{b as he,c as U}from"./chunk-CECQNGUL.js";import{a as me}from"./chunk-NNO7M466.js";import{a as oe}from"./chunk-AGAQC4HH.js";import*as n from"react";import Le from"classnames";var Be=["className","children","defaultOpen","open","onOpenChange","size","defaultSize","onSizeChange","sizeUpdate","sizeUpdateMs","style","inset"],Pe=n.forwardRef((L,u)=>{let{className:ze,presentation:Se={initial:"overlay",lg:"fixed"},defaultOpen:B,open:c,onOpenChange:_,expandedSize:I=320,minSize:l=200,maxSize:d=500,resizable:b=!1,collapsible:Ce=!0,onExpand:$,onCollapse:A,onResize:v,onResizeStart:Ie,onResizeEnd:be,snapPoints:ve,snapTolerance:ge,collapseThreshold:xe,paneId:g,persistence:x,children:Me,style:Ee,onSizeChange:M,sizeUpdate:E,sizeUpdateMs:O=50,size:j,defaultSize:F,inset:T}=L,Oe=he(L,Be),{inspectorMode:s,setInspectorMode:N}=ie(),{currentBreakpointReady:f}=ce(),{peekTarget:Te}=le(),{togglePane:Ne}=de(),{registerInset:q,unregisterInset:K}=pe();n.useLayoutEffect(()=>{if(T)return q("inspector"),()=>K("inspector")},[T,q,K]);let w=ue(Se),R=w==="overlay",we=w==="stacked",a=n.useRef(null),ke=n.useCallback(e=>{a.current=e,typeof u=="function"?u(e):u&&(u.current=e)},[u]),W=n.Children.toArray(Me),Y=W.filter(e=>n.isValidElement(e)&&e.type===C),G=W.filter(e=>!(n.isValidElement(e)&&e.type===C)),h=n.useRef(_),k=n.useRef(c);n.useLayoutEffect(()=>{h.current=_,k.current=c});let De=n.useMemo(()=>U(c),[c]),Ve=n.useMemo(()=>U(B),[B]),He=typeof c=="object"&&c!==null,{resolvedControlled:m}=fe({controlledValue:De,defaultValue:Ve,currentValue:s,setValue:N,breakpointReady:f,controlledIsResponsive:He,onResponsiveChange:e=>h.current?.(e==="expanded",{reason:"responsive"}),onInit:e=>{typeof k.current>"u"&&h.current?.(e==="expanded",{reason:"init"})}}),p=n.useRef(null);n.useEffect(()=>()=>{p.current&&(clearTimeout(p.current),p.current=null)},[M,E,O]);let y=n.useMemo(()=>{let e=M,o=E,r=O??50;if(!e)return()=>{};if(o==="debounce")return(t,i)=>{p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{e(t,i),p.current=null},r)};if(o==="throttle"){let t=0;return(i,ne)=>{let te=Date.now();te-t>=r&&(t=te,e(i,ne))}}return(t,i)=>e(t,i)},[M,E,O]),P=n.useRef(null);n.useEffect(()=>{let e=typeof c<"u";if(P.current===null){P.current=e;return}P.current!==e&&(console.warn("Shell.Inspector: Switching between controlled and uncontrolled `open` is not supported."),P.current=e)},[c]);let J=n.useRef(null),Q=n.useRef(void 0);n.useEffect(()=>{let e=J.current,r=Q.current!==m;if(e!==null&&e!==s){let t=s==="expanded";(!(typeof k.current<"u")||!r&&t!==(m===void 0?void 0:m==="expanded"))&&h.current?.(t,{reason:"toggle"})}J.current=s,Q.current=m},[s,m]);let X=n.useRef($),Z=n.useRef(A);n.useLayoutEffect(()=>{X.current=$,Z.current=A});let z=n.useRef(null),ee=n.useRef(!1);n.useEffect(()=>{let e=s;if(!f){z.current=e;return}if(!ee.current){ee.current=!0,z.current=e;return}let o=z.current;o!==null&&o!==e&&(e==="expanded"?X.current?.():e==="collapsed"&&Z.current?.(),z.current=e)},[s,f]);let D=s==="expanded",S=n.useMemo(()=>{if(!g||x)return x;let e=`kookie-ui:shell:inspector:${g}`;return{load:()=>{if(!(typeof window>"u"))try{let r=window.localStorage.getItem(e);return r?Number(r):void 0}catch{return}},save:r=>{if(!(typeof window>"u"))try{window.localStorage.setItem(e,String(r))}catch{}}}},[g,x]);n.useEffect(()=>{let e=!0;if(!b||!S?.load||R)return;let o=S.load(),r=t=>{!e||typeof t!="number"||!a.current||(a.current.style.setProperty("--inspector-size",`${t}px`),v?.(t))};return o instanceof Promise?o.then(r).catch(t=>{}):r(o),()=>{e=!1}},[b,S,v,R]);let Ue=b&&!R&&D?n.createElement(me.Provider,{value:{containerRef:a,cssVarName:"--inspector-size",minSize:l,maxSize:d,defaultSize:I,orientation:"vertical",edge:"start",computeNext:(e,o,r)=>{let t=getComputedStyle(a.current).direction==="rtl",i=e-o;return r+(t?i:-i)},onResize:v,onResizeStart:Ie,onResizeEnd:e=>{be?.(e),y(e,{reason:"resize"}),S?.save?.(e)},target:"inspector",collapsible:Ce,snapPoints:ve,snapTolerance:ge??8,collapseThreshold:xe,requestCollapse:()=>N("collapsed"),requestToggle:()=>Ne("inspector")}},Y.length>0?Y.map((e,o)=>n.cloneElement(e,{key:e.key??o})):n.createElement(Re,null)):null,V=n.useCallback(e=>ye(e,"horizontal"),[]);n.useEffect(()=>{if(a.current&&typeof j>"u"&&typeof F<"u"){let e=V(F);if(typeof e=="number"&&Number.isFinite(e)){let t=Math.min((typeof d=="number"?d:void 0)??e,Math.max((typeof l=="number"?l:void 0)??e,e));a.current.style.setProperty("--inspector-size",`${t}px`),y(t,{reason:"init"})}}},[]);let H=j;return n.useEffect(()=>{if(!a.current||typeof H>"u")return;let e=V(H);if(typeof e=="number"&&Number.isFinite(e)){let t=Math.min((typeof d=="number"?d:void 0)??e,Math.max((typeof l=="number"?l:void 0)??e,e));a.current.style.setProperty("--inspector-size",`${t}px`),y(t,{reason:"controlled"})}},[H,l,d,V,y]),R?n.createElement(re,{open:s==="expanded",onOpenChange:o=>N(o?"expanded":"collapsed")},n.createElement(se,{side:"end",style:{padding:0},"aria-label":"Inspector","aria-describedby":void 0,width:{initial:`${I}px`}},n.createElement(oe,null,n.createElement(ae,null,"Inspector")),G)):n.createElement("div",{...Oe,ref:ke,className:Le("rt-ShellInspector",ze),"data-mode":s,"data-peek":Te==="inspector"||void 0,"data-presentation":f?w:void 0,"data-open":f&&we&&D||void 0,"data-inset":T||void 0,style:{...Ee,"--inspector-size":`${I}px`,"--inspector-min-size":`${l}px`,"--inspector-max-size":`${d}px`}},n.createElement("div",{className:"rt-ShellInspectorContent","data-visible":D||void 0},G),Ue)});Pe.displayName="Shell.Inspector";Pe.Handle=C;export{Pe as a};
2
- //# sourceMappingURL=chunk-4N5JU7XQ.js.map
1
+ import{a as ye}from"./chunk-2LYX5S7H.js";import{a as ue,c as fe}from"./chunk-5LXFJMFB.js";import{j as ie,n as ce,p as le,r as de,v as pe}from"./chunk-SNHEJU2S.js";import{a as re,c as se,d as ae}from"./chunk-MRECKC4D.js";import{a as Re,d as C}from"./chunk-TLWTUKKL.js";import{b as he,c as U}from"./chunk-CECQNGUL.js";import{a as me}from"./chunk-NNO7M466.js";import{a as oe}from"./chunk-AGAQC4HH.js";import*as n from"react";import Le from"classnames";var Be=["className","children","defaultOpen","open","onOpenChange","size","defaultSize","onSizeChange","sizeUpdate","sizeUpdateMs","style","inset"],Pe=n.forwardRef((L,u)=>{let{className:ze,presentation:Se={initial:"overlay",lg:"fixed"},defaultOpen:B,open:c,onOpenChange:_,expandedSize:I=320,minSize:l=200,maxSize:d=500,resizable:b=!1,collapsible:Ce=!0,onExpand:$,onCollapse:A,onResize:v,onResizeStart:Ie,onResizeEnd:be,snapPoints:ve,snapTolerance:ge,collapseThreshold:xe,paneId:g,persistence:x,children:Me,style:Ee,onSizeChange:M,sizeUpdate:E,sizeUpdateMs:O=50,size:j,defaultSize:F,inset:T}=L,Oe=he(L,Be),{inspectorMode:s,setInspectorMode:N}=ie(),{currentBreakpointReady:f}=ce(),{peekTarget:Te}=le(),{togglePane:Ne}=de(),{registerInset:q,unregisterInset:K}=pe();n.useLayoutEffect(()=>{if(T)return q("inspector"),()=>K("inspector")},[T,q,K]);let w=ue(Se),R=w==="overlay",we=w==="stacked",a=n.useRef(null),ke=n.useCallback(e=>{a.current=e,typeof u=="function"?u(e):u&&(u.current=e)},[u]),W=n.Children.toArray(Me),Y=W.filter(e=>n.isValidElement(e)&&e.type===C),G=W.filter(e=>!(n.isValidElement(e)&&e.type===C)),h=n.useRef(_),k=n.useRef(c);n.useLayoutEffect(()=>{h.current=_,k.current=c});let De=n.useMemo(()=>U(c),[c]),Ve=n.useMemo(()=>U(B),[B]),He=typeof c=="object"&&c!==null,{resolvedControlled:m}=fe({controlledValue:De,defaultValue:Ve,currentValue:s,setValue:N,breakpointReady:f,controlledIsResponsive:He,onResponsiveChange:e=>h.current?.(e==="expanded",{reason:"responsive"}),onInit:e=>{typeof k.current>"u"&&h.current?.(e==="expanded",{reason:"init"})}}),p=n.useRef(null);n.useEffect(()=>()=>{p.current&&(clearTimeout(p.current),p.current=null)},[M,E,O]);let y=n.useMemo(()=>{let e=M,o=E,r=O??50;if(!e)return()=>{};if(o==="debounce")return(t,i)=>{p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{e(t,i),p.current=null},r)};if(o==="throttle"){let t=0;return(i,ne)=>{let te=Date.now();te-t>=r&&(t=te,e(i,ne))}}return(t,i)=>e(t,i)},[M,E,O]),P=n.useRef(null);n.useEffect(()=>{let e=typeof c<"u";if(P.current===null){P.current=e;return}P.current!==e&&(console.warn("Shell.Inspector: Switching between controlled and uncontrolled `open` is not supported."),P.current=e)},[c]);let J=n.useRef(null),Q=n.useRef(void 0);n.useEffect(()=>{let e=J.current,r=Q.current!==m;if(e!==null&&e!==s){let t=s==="expanded";(!(typeof k.current<"u")||!r&&t!==(m===void 0?void 0:m==="expanded"))&&h.current?.(t,{reason:"toggle"})}J.current=s,Q.current=m},[s,m]);let X=n.useRef($),Z=n.useRef(A);n.useLayoutEffect(()=>{X.current=$,Z.current=A});let z=n.useRef(null),ee=n.useRef(!1);n.useEffect(()=>{let e=s;if(!f){z.current=e;return}if(!ee.current){ee.current=!0,z.current=e;return}let o=z.current;o!==null&&o!==e&&(e==="expanded"?X.current?.():e==="collapsed"&&Z.current?.(),z.current=e)},[s,f]);let D=s==="expanded",S=n.useMemo(()=>{if(!g||x)return x;let e=`kookie-ui:shell:inspector:${g}`;return{load:()=>{if(!(typeof window>"u"))try{let r=window.localStorage.getItem(e);return r?Number(r):void 0}catch{return}},save:r=>{if(!(typeof window>"u"))try{window.localStorage.setItem(e,String(r))}catch{}}}},[g,x]);n.useEffect(()=>{let e=!0;if(!b||!S?.load||R)return;let o=S.load(),r=t=>{!e||typeof t!="number"||!a.current||(a.current.style.setProperty("--inspector-size",`${t}px`),v?.(t))};return o instanceof Promise?o.then(r).catch(t=>{}):r(o),()=>{e=!1}},[b,S,v,R]);let Ue=b&&!R&&D?n.createElement(me.Provider,{value:{containerRef:a,cssVarName:"--inspector-size",minSize:l,maxSize:d,defaultSize:I,orientation:"vertical",edge:"start",computeNext:(e,o,r)=>{let t=getComputedStyle(a.current).direction==="rtl",i=e-o;return r+(t?i:-i)},onResize:v,onResizeStart:Ie,onResizeEnd:e=>{be?.(e),y(e,{reason:"resize"}),S?.save?.(e)},target:"inspector",collapsible:Ce,snapPoints:ve,snapTolerance:ge??8,collapseThreshold:xe,requestCollapse:()=>N("collapsed"),requestToggle:()=>Ne("inspector")}},Y.length>0?Y.map((e,o)=>n.cloneElement(e,{key:e.key??o})):n.createElement(Re,null)):null,V=n.useCallback(e=>ye(e,"horizontal"),[]);n.useEffect(()=>{if(a.current&&typeof j>"u"&&typeof F<"u"){let e=V(F);if(typeof e=="number"&&Number.isFinite(e)){let t=Math.min((typeof d=="number"?d:void 0)??e,Math.max((typeof l=="number"?l:void 0)??e,e));a.current.style.setProperty("--inspector-size",`${t}px`),y(t,{reason:"init"})}}},[]);let H=j;return n.useEffect(()=>{if(!a.current||typeof H>"u")return;let e=V(H);if(typeof e=="number"&&Number.isFinite(e)){let t=Math.min((typeof d=="number"?d:void 0)??e,Math.max((typeof l=="number"?l:void 0)??e,e));a.current.style.setProperty("--inspector-size",`${t}px`),y(t,{reason:"controlled"})}},[H,l,d,V,y]),R?n.createElement(re,{open:s==="expanded",onOpenChange:o=>N(o?"expanded":"collapsed")},n.createElement(se,{side:"end",style:{padding:0},"aria-label":"Inspector","aria-describedby":void 0,width:{initial:`${I}px`}},n.createElement(oe,null,n.createElement(ae,null,"Inspector")),G)):n.createElement("div",{...Oe,ref:ke,className:Le("rt-ShellInspector",ze),"data-mode":s,"data-peek":Te==="inspector"||void 0,"data-presentation":f?w:void 0,"data-open":f&&we&&D||void 0,"data-inset":T||void 0,style:{...Ee,"--inspector-size":`${I}px`,"--inspector-min-size":`${l}px`,"--inspector-max-size":`${d}px`}},n.createElement("div",{className:"rt-ShellInspectorContent","data-visible":D||void 0},G),Ue)});Pe.displayName="Shell.Inspector";Pe.Handle=C;export{Pe as a};
2
+ //# sourceMappingURL=chunk-O3CDWEZA.js.map
@@ -1,2 +1,2 @@
1
- import{a as p}from"./chunk-NIX6Z3JG.js";import{a as t}from"./chunk-K53W3ELO.js";import{a as e}from"./chunk-GSTOGDAJ.js";import{a as r}from"./chunk-KMPBTEZH.js";import*as o from"react";import f from"classnames";import{Slot as P}from"radix-ui";var l=o.forwardRef((s,m)=>{let{asChild:i,className:n,...c}=r(s,p,t,e),a=i?P.Root:"section";return o.createElement(a,{...c,ref:m,className:f("rt-Section",n)})});l.displayName="Section";export{l as a};
2
- //# sourceMappingURL=chunk-TEULZKBM.js.map
1
+ import{a as p}from"./chunk-NIX6Z3JG.js";import{a as t}from"./chunk-K53W3ELO.js";import{a as e}from"./chunk-GSTOGDAJ.js";import{a as r}from"./chunk-6FLLFCBU.js";import*as o from"react";import f from"classnames";import{Slot as P}from"radix-ui";var l=o.forwardRef((s,m)=>{let{asChild:i,className:n,...c}=r(s,p,t,e),a=i?P.Root:"section";return o.createElement(a,{...c,ref:m,className:f("rt-Section",n)})});l.displayName="Section";export{l as a};
2
+ //# sourceMappingURL=chunk-OGXZHAQL.js.map
@@ -1,2 +1,2 @@
1
- import{a as t}from"./chunk-A3NH376A.js";import{a as p}from"./chunk-4OBMRJHC.js";import{a as e}from"./chunk-KMPBTEZH.js";import*as o from"react";import P from"classnames";var c=o.forwardRef((s,n)=>{let{children:r,className:i,color:m,asChild:a,...f}=e(s,t);return o.createElement(p,{...f,"data-accent-color":m,ref:n,asChild:!0,className:P("rt-reset","rt-Link",i)},a?r:o.createElement("a",null,r))});c.displayName="Link";export{c as a};
2
- //# sourceMappingURL=chunk-2AEELIG6.js.map
1
+ import{a as t}from"./chunk-A3NH376A.js";import{a as p}from"./chunk-H7ST535H.js";import{a as e}from"./chunk-6FLLFCBU.js";import*as o from"react";import P from"classnames";var c=o.forwardRef((s,n)=>{let{children:r,className:i,color:m,asChild:a,...f}=e(s,t);return o.createElement(p,{...f,"data-accent-color":m,ref:n,asChild:!0,className:P("rt-reset","rt-Link",i)},a?r:o.createElement("a",null,r))});c.displayName="Link";export{c as a};
2
+ //# sourceMappingURL=chunk-OWAUCLRT.js.map
@@ -1,2 +1,2 @@
1
- import{a as b}from"./chunk-PS6NEG5A.js";import{a as v}from"./chunk-GSTOGDAJ.js";import{a as N}from"./chunk-KMPBTEZH.js";import{a as f}from"./chunk-CBR3VIRS.js";import{a as P}from"./chunk-3XT5P2HO.js";var d={};P(d,{Link:()=>l,Root:()=>c});import*as a from"react";import T from"classnames";import{NavigationMenu as t}from"radix-ui";var c=a.forwardRef((r,n)=>{let{children:e,className:s,color:p,panelBackground:o,...i}=N(r,f,v);return a.createElement(t.Root,{className:"rt-TabNavRoot","data-accent-color":p,...i,asChild:!1,ref:n},a.createElement(t.List,{className:T("rt-reset","rt-BaseTabList","rt-TabNavList",s),"data-panel-background":o},e))});c.displayName="TabNav.Root";var l=a.forwardRef((r,n)=>{let{asChild:e,children:s,className:p,active:o,...i}=r;return a.createElement(t.Item,{className:"rt-TabNavItem"},a.createElement(t.Link,{...i,ref:n,className:T("rt-reset","rt-BaseTabListTrigger","rt-TabNavLink",p),onSelect:void 0,asChild:e,"aria-current":o?"page":void 0,"data-active":o||void 0},b({asChild:e,children:s},m=>a.createElement(a.Fragment,null,a.createElement("span",{className:"rt-BaseTabListTriggerInner rt-TabNavLinkInner"},m),a.createElement("span",{className:"rt-BaseTabListTriggerInnerHidden rt-TabNavLinkInnerHidden"},m)))))});l.displayName="TabNav.Link";export{c as a,l as b,d as c};
2
- //# sourceMappingURL=chunk-7CXVHFMQ.js.map
1
+ import{a as b}from"./chunk-PS6NEG5A.js";import{a as v}from"./chunk-GSTOGDAJ.js";import{a as N}from"./chunk-6FLLFCBU.js";import{a as f}from"./chunk-CBR3VIRS.js";import{a as P}from"./chunk-3XT5P2HO.js";var d={};P(d,{Link:()=>l,Root:()=>c});import*as a from"react";import T from"classnames";import{NavigationMenu as t}from"radix-ui";var c=a.forwardRef((r,n)=>{let{children:e,className:s,color:p,panelBackground:o,...i}=N(r,f,v);return a.createElement(t.Root,{className:"rt-TabNavRoot","data-accent-color":p,...i,asChild:!1,ref:n},a.createElement(t.List,{className:T("rt-reset","rt-BaseTabList","rt-TabNavList",s),"data-panel-background":o},e))});c.displayName="TabNav.Root";var l=a.forwardRef((r,n)=>{let{asChild:e,children:s,className:p,active:o,...i}=r;return a.createElement(t.Item,{className:"rt-TabNavItem"},a.createElement(t.Link,{...i,ref:n,className:T("rt-reset","rt-BaseTabListTrigger","rt-TabNavLink",p),onSelect:void 0,asChild:e,"aria-current":o?"page":void 0,"data-active":o||void 0},b({asChild:e,children:s},m=>a.createElement(a.Fragment,null,a.createElement("span",{className:"rt-BaseTabListTriggerInner rt-TabNavLinkInner"},m),a.createElement("span",{className:"rt-BaseTabListTriggerInnerHidden rt-TabNavLinkInnerHidden"},m)))))});l.displayName="TabNav.Link";export{c as a,l as b,d as c};
2
+ //# sourceMappingURL=chunk-P7HYVJSU.js.map
@@ -1,2 +1,2 @@
1
- import{a as r}from"./chunk-GSTOGDAJ.js";import{a as t}from"./chunk-KMPBTEZH.js";import{a as e}from"./chunk-KTAFIHJY.js";import*as o from"react";import f from"classnames";import{composeEventHandlers as R}from"radix-ui/internal";var c=o.forwardRef((p,a)=>{let{className:i,color:s,material:n,onChange:m,onValueChange:d,...l}=t(p,e,r);return o.createElement("input",{type:"radio","data-accent-color":s,"data-material":n,...l,onChange:R(m,u=>d?.(u.currentTarget.value)),ref:a,className:f("rt-reset","rt-BaseRadioRoot","rt-RadioRoot",i)})});c.displayName="Radio";export{c as a};
2
- //# sourceMappingURL=chunk-4532RT2B.js.map
1
+ import{a as r}from"./chunk-GSTOGDAJ.js";import{a as t}from"./chunk-6FLLFCBU.js";import{a as e}from"./chunk-KTAFIHJY.js";import*as o from"react";import f from"classnames";import{composeEventHandlers as R}from"radix-ui/internal";var c=o.forwardRef((p,a)=>{let{className:i,color:s,material:n,onChange:m,onValueChange:d,...l}=t(p,e,r);return o.createElement("input",{type:"radio","data-accent-color":s,"data-material":n,...l,onChange:R(m,u=>d?.(u.currentTarget.value)),ref:a,className:f("rt-reset","rt-BaseRadioRoot","rt-RadioRoot",i)})});c.displayName="Radio";export{c as a};
2
+ //# sourceMappingURL=chunk-P7IAHW4V.js.map
@@ -1,2 +1,2 @@
1
- import{a as c}from"./chunk-VK7RNXUO.js";import{a}from"./chunk-GLC4QJBF.js";import*as e from"react";import{Toggle as b}from"radix-ui";var m=e.forwardRef(({pressed:l,onPressedChange:i,defaultPressed:g,...s},p)=>{let{"aria-label":r,"aria-labelledby":o,children:t}=s,n=e.useRef(null);e.useEffect(()=>{n.current=null},[o]);let u=e.useCallback(()=>{if(r)return r;if(o){if(n.current===null){let f=document.getElementById(o);n.current=f?.textContent||"Toggle icon button"}return n.current}return typeof t=="string"?t:e.isValidElement(t)&&typeof t.props?.children=="string"?t.props.children:"Toggle icon button"},[r,o,t]),{handlePressedChange:d}=c({pressed:l,onPressedChange:i,getAccessibleName:u,componentName:"ToggleIconButton"});return e.createElement(b.Root,{pressed:l,onPressedChange:d,defaultPressed:g,asChild:!0},e.createElement(a,{...s,ref:p}))});m.displayName="ToggleIconButton";export{m as a};
2
- //# sourceMappingURL=chunk-M3ZYJANH.js.map
1
+ import{a as c}from"./chunk-VK7RNXUO.js";import{a}from"./chunk-WTYNFBFV.js";import*as e from"react";import{Toggle as b}from"radix-ui";var m=e.forwardRef(({pressed:l,onPressedChange:i,defaultPressed:g,...s},p)=>{let{"aria-label":r,"aria-labelledby":o,children:t}=s,n=e.useRef(null);e.useEffect(()=>{n.current=null},[o]);let u=e.useCallback(()=>{if(r)return r;if(o){if(n.current===null){let f=document.getElementById(o);n.current=f?.textContent||"Toggle icon button"}return n.current}return typeof t=="string"?t:e.isValidElement(t)&&typeof t.props?.children=="string"?t.props.children:"Toggle icon button"},[r,o,t]),{handlePressedChange:d}=c({pressed:l,onPressedChange:i,getAccessibleName:u,componentName:"ToggleIconButton"});return e.createElement(b.Root,{pressed:l,onPressedChange:d,defaultPressed:g,asChild:!0},e.createElement(a,{...s,ref:p}))});m.displayName="ToggleIconButton";export{m as a};
2
+ //# sourceMappingURL=chunk-PQZXQ4ST.js.map
@@ -1,5 +1,5 @@
1
- import{a as U,b as _}from"./chunk-YVBCDTTD.js";import{a as G}from"./chunk-GSTOGDAJ.js";import{a as q}from"./chunk-KMPBTEZH.js";import{a as se}from"./chunk-3XT5P2HO.js";var ie={};se(ie,{Root:()=>Q,Slot:()=>$});import*as e from"react";import*as z from"react-dom";import Z from"classnames";import{composeRefs as J}from"radix-ui/internal";var Q=e.forwardRef((P,x)=>{let o=e.useRef(null),{children:h,className:E,color:w,radius:L,panelBackground:C,material:k,style:I,...s}=q(P,U,G),D=k||C,y=e.useId(),v=s.error||s.isInvalid,{"aria-describedby":g,"aria-labelledby":S}=s,f=e.useMemo(()=>{let i=[];return s.errorMessage&&i.push(y),g&&i.push(g),i.length>0?i.join(" "):void 0},[s.errorMessage,g,y]),n=e.useMemo(()=>({"aria-invalid":v,"aria-describedby":f,"aria-labelledby":S}),[v,f,S]),{error:N,errorMessage:V,isInvalid:j,required:m,"aria-describedby":p,"aria-labelledby":a,...b}=s,M=e.useCallback(i=>{let X=i.target;if(X.closest("input, button, a"))return;let d=o.current;if(!d)return;let A=X.closest(`
1
+ import{a as U,b as _}from"./chunk-YVBCDTTD.js";import{a as G}from"./chunk-GSTOGDAJ.js";import{a as q}from"./chunk-6FLLFCBU.js";import{a as se}from"./chunk-3XT5P2HO.js";var ie={};se(ie,{Root:()=>Q,Slot:()=>$});import*as e from"react";import*as z from"react-dom";import Z from"classnames";import{composeRefs as J}from"radix-ui/internal";var Q=e.forwardRef((P,x)=>{let o=e.useRef(null),{children:h,className:E,color:w,radius:L,panelBackground:C,material:k,style:I,...s}=q(P,U,G),D=k||C,y=e.useId(),v=s.error||s.isInvalid,{"aria-describedby":g,"aria-labelledby":S}=s,f=e.useMemo(()=>{let i=[];return s.errorMessage&&i.push(y),g&&i.push(g),i.length>0?i.join(" "):void 0},[s.errorMessage,g,y]),n=e.useMemo(()=>({"aria-invalid":v,"aria-describedby":f,"aria-labelledby":S}),[v,f,S]),{error:N,errorMessage:V,isInvalid:j,required:m,"aria-describedby":p,"aria-labelledby":a,...b}=s,M=e.useCallback(i=>{let X=i.target;if(X.closest("input, button, a"))return;let d=o.current;if(!d)return;let A=X.closest(`
2
2
  .rt-TextFieldSlot[data-side='right'],
3
3
  .rt-TextFieldSlot:not([data-side='right']) ~ .rt-TextFieldSlot:not([data-side='left'])
4
4
  `)?d.value.length:0;requestAnimationFrame(()=>{try{d.setSelectionRange(A,A)}catch{}d.focus()})},[]);return e.createElement("div",{"data-accent-color":w,"data-radius":L,"data-panel-background":D,"data-material":D,style:I,className:Z("rt-TextFieldRoot",E,{"rt-error":v}),onPointerDown:M},e.createElement("input",{spellCheck:"false",...b,...n,ref:J(o,x),className:"rt-reset rt-TextFieldInput"}),h,s.errorMessage&&e.createElement("div",{id:y,className:"rt-TextFieldErrorMessage",role:"alert","aria-live":"polite"},s.errorMessage))});Q.displayName="TextField.Root";var R=(()=>{if(typeof navigator>"u")return!1;let P=navigator.userAgent,x=/^((?!chrome|android).)*safari/i.test(P),o=/firefox/i.test(P);return x||o})(),$=e.forwardRef((P,x)=>{let{scrub:o,scrubValue:h,scrubStep:E=1,scrubSensitivity:w=1,scrubMin:L,scrubMax:C,scrubShiftMultiplier:k=10,scrubAltMultiplier:I=.1,onScrub:s,...D}=P,{className:y,color:v,side:g,...S}=q(D,_),f=e.useRef(null),[n,N]=e.useState(!1),[V,j]=e.useState({x:0,y:0}),m=e.useRef(0),p=e.useRef(0),a=e.useRef(0),b=e.useRef(null),M=e.useRef(0),i=e.useRef({scrubValue:h,scrubStep:E,scrubSensitivity:w,scrubMin:L,scrubMax:C,scrubShiftMultiplier:k,scrubAltMultiplier:I,onScrub:s});i.current={scrubValue:h,scrubStep:E,scrubSensitivity:w,scrubMin:L,scrubMax:C,scrubShiftMultiplier:k,scrubAltMultiplier:I,onScrub:s};let X=e.useCallback(t=>{if(!o||t.target.closest("input, button, a"))return;t.preventDefault(),m.current=0,p.current=h??0,a.current=t.clientX,j({x:t.clientX,y:t.clientY});let c=f.current;c&&(R?(b.current=t.pointerId,M.current=t.clientX,c.setPointerCapture(t.pointerId),N(!0)):c.requestPointerLock())},[o,h]);e.useEffect(()=>{if(R)return;let t=()=>{let r=document.pointerLockElement===f.current;N(r),r||(i.current.onScrub?.(0,!1),m.current=0,p.current=0)};return document.addEventListener("pointerlockchange",t),()=>{document.removeEventListener("pointerlockchange",t)}},[]);let d=e.useCallback((t,r,c,oe)=>{let l=i.current,H=window.innerWidth,O=window.innerHeight;a.current+=t,a.current>H?a.current=a.current%H:a.current<0&&(a.current=H+a.current%H),j(F=>{let u=F.y+r;return u>O?u=u%O:u<0&&(u=O+u%O),{x:a.current,y:u}}),m.current+=t;let W=m.current/l.scrubSensitivity;if(Math.abs(W)>=1){let F=1;c?F=l.scrubShiftMultiplier:oe&&(F=l.scrubAltMultiplier);let u=Math.trunc(W),K=u*l.scrubStep*F,Y=K;if(l.scrubMin!==void 0||l.scrubMax!==void 0){let ne=p.current+K,B=Math.max(l.scrubMin??-1/0,Math.min(l.scrubMax??1/0,ne));Y=B-p.current,p.current=B}else p.current+=K;Y!==0&&l.onScrub?.(Y,!0),m.current=(W-u)*l.scrubSensitivity}},[]),T=e.useCallback(()=>{i.current.onScrub?.(0,!1),m.current=0,p.current=0,b.current=null,N(!1)},[]),A=e.useCallback(t=>{if(!n||!R)return;let r=t.clientX-M.current;M.current=t.clientX,d(r,t.movementY,t.shiftKey,t.altKey)},[n,d]),ee=e.useCallback(t=>{if(!R||b.current!==t.pointerId)return;let r=f.current;r&&b.current!==null&&r.releasePointerCapture(b.current),T()},[T]),te=e.useCallback(()=>{R&&n&&T()},[n,T]);e.useEffect(()=>{if(!n||R)return;let t=c=>{d(c.movementX,c.movementY,c.shiftKey,c.altKey)},r=()=>{document.exitPointerLock()};return document.addEventListener("mousemove",t),document.addEventListener("mouseup",r),document.body.style.userSelect="none",()=>{document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",r),document.body.style.userSelect=""}},[n,d]),e.useEffect(()=>{if(!n||!R)return;let t=document.createElement("style");return t.textContent="* { cursor: none !important; user-select: none !important; }",document.head.appendChild(t),()=>{document.head.removeChild(t)}},[n]);let re=n?z.createPortal(e.createElement("img",{className:"rt-TextFieldSlotScrubCursor",src:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='black' stroke='white' stroke-width='1' d='M0 12 L5 7 L5 10 L19 10 L19 7 L24 12 L19 17 L19 14 L5 14 L5 17 Z'/%3E%3C/svg%3E",alt:"",style:{position:"fixed",left:V.x,top:V.y,transform:"translate(-50%, -50%)",pointerEvents:"none",zIndex:99999,width:24,height:24},"aria-hidden":"true"}),document.body):null;return e.createElement("div",{"data-accent-color":v,"data-side":g,"data-scrub":o||void 0,"data-scrubbing":n||void 0,...S,ref:J(f,x),className:Z("rt-TextFieldSlot",y),onPointerDown:o?X:void 0,onPointerMove:o?A:void 0,onPointerUp:o?ee:void 0,onLostPointerCapture:o?te:void 0},S.children,re)});$.displayName="TextField.Slot";export{Q as a,$ as b,ie as c};
5
- //# sourceMappingURL=chunk-SGU4HUHF.js.map
5
+ //# sourceMappingURL=chunk-PTLFMWCN.js.map
@@ -0,0 +1,2 @@
1
+ import{a as g,b as R,c as u,d as y,e as C}from"./chunk-BI7W34WW.js";import{a as f}from"./chunk-5TXQLK4G.js";import{a as i}from"./chunk-6FLLFCBU.js";import{a as D}from"./chunk-3XT5P2HO.js";var O={};D(O,{Content:()=>I,Header:()=>E,Item:()=>v,Root:()=>T,Trigger:()=>H});import*as o from"react";import p from"classnames";import{Accordion as m}from"radix-ui";var T=o.forwardRef((r,t)=>{let{className:e,panelBackground:c,material:a,flush:l,radius:s,color:N,...h}=i(r,g),n=h;f(r.panelBackground);let A=a??c;n.type==="single"&&n.collapsible===void 0&&(n.collapsible=!0);let w=o.useCallback(d=>{if(n.type==="multiple"){let P=d.currentTarget.querySelectorAll("[data-radix-accordion-item]");d.key==="Home"?(d.preventDefault(),P[0]?.querySelector("[data-radix-accordion-trigger]")?.focus()):d.key==="End"&&(d.preventDefault(),P[P.length-1]?.querySelector("[data-radix-accordion-trigger]")?.focus())}},[n.type]);return o.createElement(m.Root,{...n,ref:t,className:p("rt-AccordionRoot",e),"data-accent-color":N,"data-panel-background":A,"data-material":A,"data-flush":l||void 0,"data-radius":s,onKeyDown:w})});T.displayName="Accordion.Root";var v=o.forwardRef((r,t)=>{let{className:e,...c}=i(r,R);return o.createElement(m.Item,{...c,ref:t,className:p("rt-AccordionItem",e)})});v.displayName="Accordion.Item";var E=o.forwardRef((r,t)=>{let{className:e,...c}=i(r,u);return o.createElement(m.Header,{...c,ref:t,className:p("rt-AccordionHeader",e)})});E.displayName="Accordion.Header";var H=o.forwardRef(({children:r,...t},e)=>{let{className:c,...a}=i(t,y),l=o.useRef(null);return o.createElement(m.Trigger,{...a,ref:s=>{l.current=s,typeof e=="function"?e(s):e&&(e.current=s)},className:p("rt-AccordionTrigger",c)},r)});H.displayName="Accordion.Trigger";var I=o.forwardRef((r,t)=>{let{className:e,children:c,...a}=i(r,C);return o.createElement(m.Content,{...a,ref:t,className:p("rt-AccordionContent",e),"aria-live":"polite"},o.createElement("div",{className:"rt-AccordionContentInner"},c))});I.displayName="Accordion.Content";export{T as a,v as b,E as c,H as d,I as e,O as f};
2
+ //# sourceMappingURL=chunk-S2HA3W3V.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/accordion.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Accordion as AccordionPrimitive } from 'radix-ui';\n\nimport {\n accordionRootPropDefs,\n accordionItemPropDefs,\n accordionHeaderPropDefs,\n accordionTriggerPropDefs,\n accordionContentPropDefs,\n} from './accordion.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\n\nimport type {\n AccordionRootOwnProps,\n AccordionItemOwnProps,\n AccordionHeaderOwnProps,\n AccordionTriggerOwnProps,\n AccordionContentOwnProps,\n} from './accordion.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';\n\n// Root component\ntype AccordionRootElement = React.ElementRef<typeof AccordionPrimitive.Root>;\ninterface AccordionRootProps\n extends ComponentPropsWithout<typeof AccordionPrimitive.Root, RemovedProps>,\n AccordionRootOwnProps {}\n\nconst AccordionRoot = React.forwardRef<AccordionRootElement, AccordionRootProps>(\n (props, forwardedRef) => {\n const { className, panelBackground, material, flush, radius, color, ...extractedRadixProps } =\n extractProps(props, accordionRootPropDefs);\n\n const radixProps = extractedRadixProps as React.ComponentPropsWithoutRef<\n typeof AccordionPrimitive.Root\n >;\n\n useDeprecatedPanelBackgroundWarning(props.panelBackground);\n\n // Material takes precedence over panelBackground\n const effectiveMaterial = material ?? panelBackground;\n\n // Ensure single accordions can collapse by default unless explicitly set\n if (radixProps.type === 'single' && radixProps.collapsible === undefined) {\n radixProps.collapsible = true;\n }\n\n // Handle Home/End key navigation for multi-item accordions\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (radixProps.type === 'multiple') {\n const items = event.currentTarget.querySelectorAll('[data-radix-accordion-item]');\n\n if (event.key === 'Home') {\n event.preventDefault();\n const firstTrigger = items[0]?.querySelector(\n '[data-radix-accordion-trigger]',\n ) as HTMLElement;\n firstTrigger?.focus();\n } else if (event.key === 'End') {\n event.preventDefault();\n const lastTrigger = items[items.length - 1]?.querySelector(\n '[data-radix-accordion-trigger]',\n ) as HTMLElement;\n lastTrigger?.focus();\n }\n }\n },\n [radixProps.type],\n );\n\n return (\n <AccordionPrimitive.Root\n {...radixProps}\n ref={forwardedRef}\n className={classNames('rt-AccordionRoot', className)}\n data-accent-color={color}\n data-panel-background={effectiveMaterial}\n data-material={effectiveMaterial}\n data-flush={flush || undefined}\n data-radius={radius}\n onKeyDown={handleKeyDown}\n />\n );\n },\n);\nAccordionRoot.displayName = 'Accordion.Root';\n\n// Item component\ntype AccordionItemElement = React.ElementRef<typeof AccordionPrimitive.Item>;\ninterface AccordionItemProps\n extends ComponentPropsWithout<typeof AccordionPrimitive.Item, RemovedProps>,\n AccordionItemOwnProps {}\n\nconst AccordionItem = React.forwardRef<AccordionItemElement, AccordionItemProps>(\n (props, forwardedRef) => {\n const { className, ...itemProps } = extractProps(props, accordionItemPropDefs);\n\n return (\n <AccordionPrimitive.Item\n {...itemProps}\n ref={forwardedRef}\n className={classNames('rt-AccordionItem', className)}\n />\n );\n },\n);\nAccordionItem.displayName = 'Accordion.Item';\n\n// Header component\ntype AccordionHeaderElement = React.ElementRef<typeof AccordionPrimitive.Header>;\ninterface AccordionHeaderProps\n extends ComponentPropsWithout<typeof AccordionPrimitive.Header, RemovedProps>,\n AccordionHeaderOwnProps {}\n\nconst AccordionHeader = React.forwardRef<AccordionHeaderElement, AccordionHeaderProps>(\n (props, forwardedRef) => {\n const { className, ...headerProps } = extractProps(props, accordionHeaderPropDefs);\n\n return (\n <AccordionPrimitive.Header\n {...headerProps}\n ref={forwardedRef}\n className={classNames('rt-AccordionHeader', className)}\n />\n );\n },\n);\nAccordionHeader.displayName = 'Accordion.Header';\n\n// Trigger component\ntype AccordionTriggerElement = React.ElementRef<typeof AccordionPrimitive.Trigger>;\ninterface AccordionTriggerProps\n extends ComponentPropsWithout<typeof AccordionPrimitive.Trigger, RemovedProps>,\n AccordionTriggerOwnProps {}\n\nconst AccordionTrigger = React.forwardRef<AccordionTriggerElement, AccordionTriggerProps>(\n ({ children, ...props }, forwardedRef) => {\n const { className, ...triggerProps } = extractProps(props, accordionTriggerPropDefs);\n\n // Radix UI handles focus management automatically\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n\n return (\n <AccordionPrimitive.Trigger\n {...triggerProps}\n ref={(node) => {\n triggerRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n }}\n className={classNames('rt-AccordionTrigger', className)}\n >\n {children}\n </AccordionPrimitive.Trigger>\n );\n },\n);\nAccordionTrigger.displayName = 'Accordion.Trigger';\n\n// Content component\ntype AccordionContentElement = React.ElementRef<typeof AccordionPrimitive.Content>;\ninterface AccordionContentProps\n extends ComponentPropsWithout<typeof AccordionPrimitive.Content, RemovedProps>,\n AccordionContentOwnProps {}\n\nconst AccordionContent = React.forwardRef<AccordionContentElement, AccordionContentProps>(\n (props, forwardedRef) => {\n const { className, children, ...contentProps } = extractProps(props, accordionContentPropDefs);\n\n return (\n <AccordionPrimitive.Content\n {...contentProps}\n ref={forwardedRef}\n className={classNames('rt-AccordionContent', className)}\n aria-live=\"polite\"\n >\n <div className=\"rt-AccordionContentInner\">{children}</div>\n </AccordionPrimitive.Content>\n );\n },\n);\nAccordionContent.displayName = 'Accordion.Content';\n\nexport {\n AccordionRoot as Root,\n AccordionItem as Item,\n AccordionHeader as Header,\n AccordionTrigger as Trigger,\n AccordionContent as Content,\n};\n\nexport type {\n AccordionRootProps as RootProps,\n AccordionItemProps as ItemProps,\n AccordionHeaderProps as HeaderProps,\n AccordionTriggerProps as TriggerProps,\n AccordionContentProps as ContentProps,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["accordion_exports", "__export", "AccordionContent", "AccordionHeader", "AccordionItem", "AccordionRoot", "AccordionTrigger", "React", "classNames", "AccordionPrimitive", "AccordionRoot", "props", "forwardedRef", "className", "panelBackground", "material", "flush", "radius", "color", "extractedRadixProps", "extractProps", "accordionRootPropDefs", "radixProps", "useDeprecatedPanelBackgroundWarning", "effectiveMaterial", "handleKeyDown", "event", "items", "AccordionPrimitive", "classNames", "AccordionItem", "itemProps", "accordionItemPropDefs", "AccordionHeader", "headerProps", "accordionHeaderPropDefs", "AccordionTrigger", "children", "triggerProps", "accordionTriggerPropDefs", "triggerRef", "node", "AccordionContent", "contentProps", "accordionContentPropDefs"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as p}from"./chunk-IBF5U4QW.js";import{a as n}from"./chunk-L6UXAITB.js";import{a as r}from"./chunk-GSTOGDAJ.js";import{a as t}from"./chunk-KMPBTEZH.js";import*as e from"react";import P from"classnames";import{Slot as d}from"radix-ui";var c=e.forwardRef((s,m)=>{let{children:o,className:a,loading:i,...l}=t(s,n,r);if(!i)return o;let f=e.isValidElement(o)?d.Root:"span";return e.createElement(f,{ref:m,"aria-hidden":!0,className:P("rt-Skeleton",a),"data-inline-skeleton":e.isValidElement(o)?void 0:!0,tabIndex:-1,inert:p,...l},o)});c.displayName="Skeleton";export{c as a};
2
- //# sourceMappingURL=chunk-E6IWYD3U.js.map
1
+ import{a as p}from"./chunk-IBF5U4QW.js";import{a as n}from"./chunk-L6UXAITB.js";import{a as r}from"./chunk-GSTOGDAJ.js";import{a as t}from"./chunk-6FLLFCBU.js";import*as e from"react";import P from"classnames";import{Slot as d}from"radix-ui";var c=e.forwardRef((s,m)=>{let{children:o,className:a,loading:i,...l}=t(s,n,r);if(!i)return o;let f=e.isValidElement(o)?d.Root:"span";return e.createElement(f,{ref:m,"aria-hidden":!0,className:P("rt-Skeleton",a),"data-inline-skeleton":e.isValidElement(o)?void 0:!0,tabIndex:-1,inert:p,...l},o)});c.displayName="Skeleton";export{c as a};
2
+ //# sourceMappingURL=chunk-S5C5YRBS.js.map
@@ -1,2 +1,2 @@
1
- import{a as p}from"./chunk-ILRJA7FU.js";import{a as i}from"./chunk-GSTOGDAJ.js";import{a as e}from"./chunk-KMPBTEZH.js";import*as t from"react";import s from"classnames";import{Switch as a}from"radix-ui";var w=t.forwardRef((o,c)=>{let{className:m,color:h,panelBackground:n,material:f,...l}=e(o,p,i),r=f||n;return t.createElement(a.Root,{"data-accent-color":h,"data-panel-background":r,"data-material":r,...l,asChild:!1,ref:c,className:s("rt-reset","rt-SwitchRoot",m)},t.createElement(a.Thumb,{className:s("rt-SwitchThumb",{"rt-high-contrast":o.highContrast})}))});w.displayName="Switch";export{w as a};
2
- //# sourceMappingURL=chunk-A24PYRVV.js.map
1
+ import{a as p}from"./chunk-ILRJA7FU.js";import{a as i}from"./chunk-GSTOGDAJ.js";import{a as e}from"./chunk-6FLLFCBU.js";import*as t from"react";import s from"classnames";import{Switch as a}from"radix-ui";var w=t.forwardRef((o,c)=>{let{className:m,color:h,panelBackground:n,material:f,...l}=e(o,p,i),r=f||n;return t.createElement(a.Root,{"data-accent-color":h,"data-panel-background":r,"data-material":r,...l,asChild:!1,ref:c,className:s("rt-reset","rt-SwitchRoot",m)},t.createElement(a.Thumb,{className:s("rt-SwitchThumb",{"rt-high-contrast":o.highContrast})}))});w.displayName="Switch";export{w as a};
2
+ //# sourceMappingURL=chunk-SO67YEVQ.js.map
@@ -0,0 +1,2 @@
1
+ import{b as U}from"./chunk-NNO7M466.js";import*as r from"react";import Q from"classnames";var S=r.forwardRef(({className:c,children:u,...V},q)=>{let{containerRef:P,cssVarName:d,minSize:H,maxSize:x,defaultSize:C,orientation:L,edge:A,computeNext:B,onResize:w,onResizeStart:M,onResizeEnd:h,snapPoints:D,snapTolerance:X,collapseThreshold:N,collapsible:k,target:$,requestCollapse:Y,requestToggle:O}=U(),R=r.useRef(null);r.useEffect(()=>()=>{try{R.current?.()}catch{}R.current=null},[]);let j=L,G=`Resize ${$.charAt(0).toUpperCase()+$.slice(1)} pane`;return r.createElement("div",{...V,ref:q,className:Q("rt-ShellResizer",c),"data-orientation":L,"data-edge":A,role:"slider","aria-label":G,"aria-orientation":j,"aria-valuemin":H,"aria-valuemax":x,"aria-valuenow":C,tabIndex:0,onPointerDown:e=>{if(!P.current)return;e.preventDefault();let s=P.current,i=e.currentTarget,g=e.pointerId;try{R.current?.()}catch{}s.setAttribute("data-resizing","");try{i.setPointerCapture(g)}catch{}let f=L==="vertical"?e.clientX:e.clientY,v=parseFloat(getComputedStyle(s).getPropertyValue(d)||`${C}`),m=n=>Math.min(Math.max(n,H),x),o=document.body,t=o.style.cursor,E=o.style.userSelect;o.style.cursor=L==="vertical"?"col-resize":"row-resize",o.style.userSelect="none",M?.(v);let T=null,b=!1,J=(n,p)=>{if(n.type===p)b=!0;else if(b)return!1;return!0},l=n=>{if(!J(n,"pointermove")||n===T)return;T=n;let p=L==="vertical"?n.clientX:n.clientY,y=m(B(p,f,v));s.style.setProperty(d,`${y}px`),i.setAttribute("aria-valuenow",String(y)),w?.(y)},z=()=>{try{i.releasePointerCapture(g)}catch{}window.removeEventListener("pointermove",l),document.removeEventListener("pointermove",l),window.removeEventListener("mousemove",l),document.removeEventListener("mousemove",l),i.removeEventListener("pointermove",l),window.removeEventListener("pointerup",a),document.removeEventListener("pointerup",a),window.removeEventListener("mouseup",a),document.removeEventListener("mouseup",a),window.removeEventListener("pointercancel",a),document.removeEventListener("pointercancel",a),window.removeEventListener("keydown",W),i.removeEventListener("lostpointercapture",a),s.removeAttribute("data-resizing"),o.style.cursor=t,o.style.userSelect=E,R.current=null},I=!1,a=()=>{if(I)return;I=!0;let n=parseFloat(getComputedStyle(s).getPropertyValue(d)||`${C}`),p=n;if(D&&D.length){let y=D.reduce((F,K)=>Math.abs(K-n)<Math.abs(F-n)?K:F,D[0]);Math.abs(y-n)<=(X??8)&&(p=y,s.style.setProperty(d,`${p}px`),i.setAttribute("aria-valuenow",String(p)),w?.(p))}k&&typeof N=="number"&&n<=N&&Y?.(),h?.(p),z()},W=n=>{n.key==="Escape"&&(s.style.setProperty(d,`${v}px`),i.setAttribute("aria-valuenow",String(v)),h?.(v),z())};window.addEventListener("pointermove",l),document.addEventListener("pointermove",l),window.addEventListener("mousemove",l),document.addEventListener("mousemove",l),i.addEventListener("pointermove",l),window.addEventListener("pointerup",a),document.addEventListener("pointerup",a),window.addEventListener("mouseup",a),document.addEventListener("mouseup",a),window.addEventListener("pointercancel",a),document.addEventListener("pointercancel",a),window.addEventListener("keydown",W),i.addEventListener("lostpointercapture",a),R.current=z},onDoubleClick:()=>{k&&O?.()},onKeyDown:e=>{if(!P.current)return;let s=P.current,i=getComputedStyle(s).getPropertyValue(d),g=Number.parseFloat(i.trim()),f=Number.isFinite(g)?g:C,v=t=>Math.min(Math.max(t,H),x),m=e.shiftKey?32:8,o=0;if(L==="vertical"){let t=typeof document<"u"?document.dir:void 0,E=getComputedStyle(s).direction,T=!!(s.closest&&s.closest('[dir="rtl"]')),b=t==="rtl"||E==="rtl"||T;e.key==="ArrowRight"?o=b?-m:m:e.key==="ArrowLeft"&&(o=b?m:-m)}else e.key==="ArrowDown"?o=m:e.key==="ArrowUp"&&(o=-m);if(e.key==="Home"){e.preventDefault(),M?.(f);let t=v(H);s.style.setProperty(d,`${t}px`),e.currentTarget.setAttribute("aria-valuenow",String(t)),w?.(t),h?.(t);return}if(e.key==="End"){e.preventDefault(),M?.(f);let t=v(x);s.style.setProperty(d,`${t}px`),e.currentTarget.setAttribute("aria-valuenow",String(t)),w?.(t),h?.(t);return}if(o!==0){e.preventDefault(),M?.(f);let t=L==="vertical"&&A==="start"?-o:o,E=v(f+t);s.style.setProperty(d,`${E}px`),e.currentTarget.setAttribute("aria-valuenow",String(E)),w?.(E),h?.(E)}}},u)});S.displayName="Shell.Handle";var Z=r.forwardRef((c,u)=>r.createElement(S,{...c,ref:u}));Z.displayName="Shell.Panel.Handle";var _=r.forwardRef((c,u)=>r.createElement(S,{...c,ref:u}));_.displayName="Shell.Sidebar.Handle";var ee=r.forwardRef((c,u)=>r.createElement(S,{...c,ref:u}));ee.displayName="Shell.Inspector.Handle";var te=r.forwardRef((c,u)=>r.createElement(S,{...c,ref:u}));te.displayName="Shell.Bottom.Handle";export{S as a,Z as b,_ as c,ee as d,te as e};
2
+ //# sourceMappingURL=chunk-TLWTUKKL.js.map