@womp/kookie-ui 0.3.25 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (582) hide show
  1. package/AUTHORS +27 -0
  2. package/LICENSE +29 -0
  3. package/README.md +21 -1
  4. package/components.css +163 -118
  5. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  6. package/dist/cjs/components/_internal/base-button.js +1 -1
  7. package/dist/cjs/components/_internal/base-button.js.map +4 -4
  8. package/dist/cjs/components/_internal/dropdown-menu-drill-down.js +1 -1
  9. package/dist/cjs/components/_internal/dropdown-menu-drill-down.js.map +3 -3
  10. package/dist/cjs/components/_internal/shell-bottom.js +1 -1
  11. package/dist/cjs/components/_internal/shell-bottom.js.map +4 -4
  12. package/dist/cjs/components/_internal/shell-handles.d.ts.map +1 -1
  13. package/dist/cjs/components/_internal/shell-handles.js +1 -1
  14. package/dist/cjs/components/_internal/shell-handles.js.map +3 -3
  15. package/dist/cjs/components/_internal/shell-inspector.js +1 -1
  16. package/dist/cjs/components/_internal/shell-inspector.js.map +4 -4
  17. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  18. package/dist/cjs/components/_internal/shell-sidebar.js.map +4 -4
  19. package/dist/cjs/components/accordion.d.ts.map +1 -1
  20. package/dist/cjs/components/accordion.js +1 -1
  21. package/dist/cjs/components/accordion.js.map +4 -4
  22. package/dist/cjs/components/alert-dialog.d.ts.map +1 -1
  23. package/dist/cjs/components/alert-dialog.js +1 -1
  24. package/dist/cjs/components/alert-dialog.js.map +4 -4
  25. package/dist/cjs/components/avatar.js +1 -1
  26. package/dist/cjs/components/avatar.js.map +4 -4
  27. package/dist/cjs/components/badge.d.ts.map +1 -1
  28. package/dist/cjs/components/badge.js +1 -1
  29. package/dist/cjs/components/badge.js.map +4 -4
  30. package/dist/cjs/components/blockquote.js +1 -1
  31. package/dist/cjs/components/blockquote.js.map +4 -4
  32. package/dist/cjs/components/box.js +1 -1
  33. package/dist/cjs/components/box.js.map +4 -4
  34. package/dist/cjs/components/button.js +1 -1
  35. package/dist/cjs/components/button.js.map +4 -4
  36. package/dist/cjs/components/callout.js +1 -1
  37. package/dist/cjs/components/callout.js.map +4 -4
  38. package/dist/cjs/components/card.js +1 -1
  39. package/dist/cjs/components/card.js.map +4 -4
  40. package/dist/cjs/components/chatbar.js +2 -2
  41. package/dist/cjs/components/chatbar.js.map +4 -4
  42. package/dist/cjs/components/checkbox-cards.js +1 -1
  43. package/dist/cjs/components/checkbox-cards.js.map +4 -4
  44. package/dist/cjs/components/checkbox-group.js +1 -1
  45. package/dist/cjs/components/checkbox-group.js.map +4 -4
  46. package/dist/cjs/components/checkbox.js +1 -1
  47. package/dist/cjs/components/checkbox.js.map +4 -4
  48. package/dist/cjs/components/code.js +1 -1
  49. package/dist/cjs/components/code.js.map +4 -4
  50. package/dist/cjs/components/combobox.js +1 -1
  51. package/dist/cjs/components/combobox.js.map +4 -4
  52. package/dist/cjs/components/container.js +1 -1
  53. package/dist/cjs/components/container.js.map +4 -4
  54. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  55. package/dist/cjs/components/context-menu.js +1 -1
  56. package/dist/cjs/components/context-menu.js.map +4 -4
  57. package/dist/cjs/components/data-list.js +1 -1
  58. package/dist/cjs/components/data-list.js.map +4 -4
  59. package/dist/cjs/components/dialog.d.ts.map +1 -1
  60. package/dist/cjs/components/dialog.js +1 -1
  61. package/dist/cjs/components/dialog.js.map +4 -4
  62. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  63. package/dist/cjs/components/dropdown-menu.js +1 -1
  64. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  65. package/dist/cjs/components/em.js +1 -1
  66. package/dist/cjs/components/em.js.map +4 -4
  67. package/dist/cjs/components/flex.js +1 -1
  68. package/dist/cjs/components/flex.js.map +4 -4
  69. package/dist/cjs/components/grid.js +1 -1
  70. package/dist/cjs/components/grid.js.map +4 -4
  71. package/dist/cjs/components/heading.js +1 -1
  72. package/dist/cjs/components/heading.js.map +4 -4
  73. package/dist/cjs/components/hover-card.js +1 -1
  74. package/dist/cjs/components/hover-card.js.map +4 -4
  75. package/dist/cjs/components/icon-button.js +2 -2
  76. package/dist/cjs/components/icon-button.js.map +4 -4
  77. package/dist/cjs/components/image.js +1 -1
  78. package/dist/cjs/components/image.js.map +4 -4
  79. package/dist/cjs/components/index.js +5 -5
  80. package/dist/cjs/components/index.js.map +4 -4
  81. package/dist/cjs/components/inset.js +1 -1
  82. package/dist/cjs/components/inset.js.map +4 -4
  83. package/dist/cjs/components/kbd.js +1 -1
  84. package/dist/cjs/components/kbd.js.map +4 -4
  85. package/dist/cjs/components/link.js +1 -1
  86. package/dist/cjs/components/link.js.map +4 -4
  87. package/dist/cjs/components/navbar.js +1 -1
  88. package/dist/cjs/components/navbar.js.map +4 -4
  89. package/dist/cjs/components/popover.js +1 -1
  90. package/dist/cjs/components/popover.js.map +4 -4
  91. package/dist/cjs/components/progress.js +1 -1
  92. package/dist/cjs/components/progress.js.map +4 -4
  93. package/dist/cjs/components/quote.js +1 -1
  94. package/dist/cjs/components/quote.js.map +4 -4
  95. package/dist/cjs/components/radio-cards.js +1 -1
  96. package/dist/cjs/components/radio-cards.js.map +4 -4
  97. package/dist/cjs/components/radio-group.js +1 -1
  98. package/dist/cjs/components/radio-group.js.map +4 -4
  99. package/dist/cjs/components/radio.js +1 -1
  100. package/dist/cjs/components/radio.js.map +4 -4
  101. package/dist/cjs/components/schemas/base-button.schema.d.ts +2 -2
  102. package/dist/cjs/components/schemas/button.schema.d.ts +2 -2
  103. package/dist/cjs/components/schemas/icon-button.schema.d.ts +4 -4
  104. package/dist/cjs/components/schemas/shell.schema.d.ts +2 -2
  105. package/dist/cjs/components/schemas/toggle-button.schema.d.ts +6 -6
  106. package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts +8 -8
  107. package/dist/cjs/components/scroll-area.js +1 -1
  108. package/dist/cjs/components/scroll-area.js.map +4 -4
  109. package/dist/cjs/components/section.js +1 -1
  110. package/dist/cjs/components/section.js.map +4 -4
  111. package/dist/cjs/components/segmented-control.js +1 -1
  112. package/dist/cjs/components/segmented-control.js.map +4 -4
  113. package/dist/cjs/components/select.js +1 -1
  114. package/dist/cjs/components/select.js.map +4 -4
  115. package/dist/cjs/components/separator.js +1 -1
  116. package/dist/cjs/components/separator.js.map +4 -4
  117. package/dist/cjs/components/sheet.d.ts.map +1 -1
  118. package/dist/cjs/components/sheet.js +1 -1
  119. package/dist/cjs/components/sheet.js.map +4 -4
  120. package/dist/cjs/components/shell.js +1 -1
  121. package/dist/cjs/components/shell.js.map +4 -4
  122. package/dist/cjs/components/sidebar.js +1 -1
  123. package/dist/cjs/components/sidebar.js.map +4 -4
  124. package/dist/cjs/components/skeleton.js +1 -1
  125. package/dist/cjs/components/skeleton.js.map +4 -4
  126. package/dist/cjs/components/slider.js +1 -1
  127. package/dist/cjs/components/slider.js.map +4 -4
  128. package/dist/cjs/components/spinner.js +1 -1
  129. package/dist/cjs/components/spinner.js.map +4 -4
  130. package/dist/cjs/components/strong.js +1 -1
  131. package/dist/cjs/components/strong.js.map +4 -4
  132. package/dist/cjs/components/switch.js +1 -1
  133. package/dist/cjs/components/switch.js.map +4 -4
  134. package/dist/cjs/components/tab-nav.js +1 -1
  135. package/dist/cjs/components/tab-nav.js.map +4 -4
  136. package/dist/cjs/components/table.js +1 -1
  137. package/dist/cjs/components/table.js.map +4 -4
  138. package/dist/cjs/components/tabs.js +1 -1
  139. package/dist/cjs/components/tabs.js.map +4 -4
  140. package/dist/cjs/components/text-area.js +1 -1
  141. package/dist/cjs/components/text-area.js.map +4 -4
  142. package/dist/cjs/components/text-field.js +2 -2
  143. package/dist/cjs/components/text-field.js.map +4 -4
  144. package/dist/cjs/components/text.js +1 -1
  145. package/dist/cjs/components/text.js.map +4 -4
  146. package/dist/cjs/components/theme-panel.js +3 -3
  147. package/dist/cjs/components/theme-panel.js.map +4 -4
  148. package/dist/cjs/components/theme.d.ts +3 -0
  149. package/dist/cjs/components/theme.d.ts.map +1 -1
  150. package/dist/cjs/components/theme.js +1 -1
  151. package/dist/cjs/components/theme.js.map +4 -4
  152. package/dist/cjs/components/theme.props.d.ts +15 -1
  153. package/dist/cjs/components/theme.props.d.ts.map +1 -1
  154. package/dist/cjs/components/theme.props.js +1 -1
  155. package/dist/cjs/components/theme.props.js.map +2 -2
  156. package/dist/cjs/components/toggle-button.js +2 -2
  157. package/dist/cjs/components/toggle-button.js.map +4 -4
  158. package/dist/cjs/components/toggle-icon-button.js +3 -3
  159. package/dist/cjs/components/toggle-icon-button.js.map +4 -4
  160. package/dist/cjs/components/toolbar.js +1 -1
  161. package/dist/cjs/components/toolbar.js.map +4 -4
  162. package/dist/cjs/components/tooltip.js +1 -1
  163. package/dist/cjs/components/tooltip.js.map +4 -4
  164. package/dist/cjs/components/user-card.js +1 -1
  165. package/dist/cjs/components/user-card.js.map +4 -4
  166. package/dist/cjs/helpers/compile-prop-defs.d.ts +49 -0
  167. package/dist/cjs/helpers/compile-prop-defs.d.ts.map +1 -0
  168. package/dist/cjs/helpers/compile-prop-defs.js +2 -0
  169. package/dist/cjs/helpers/compile-prop-defs.js.map +7 -0
  170. package/dist/cjs/helpers/extract-props.d.ts.map +1 -1
  171. package/dist/cjs/helpers/extract-props.js +1 -1
  172. package/dist/cjs/helpers/extract-props.js.map +4 -4
  173. package/dist/cjs/helpers/font-config.d.ts +84 -77
  174. package/dist/cjs/helpers/font-config.d.ts.map +1 -1
  175. package/dist/cjs/helpers/font-config.js +5 -2
  176. package/dist/cjs/helpers/font-config.js.map +3 -3
  177. package/dist/cjs/helpers/get-margin-styles.d.ts.map +1 -1
  178. package/dist/cjs/helpers/get-margin-styles.js +1 -1
  179. package/dist/cjs/helpers/get-margin-styles.js.map +3 -3
  180. package/dist/cjs/helpers/get-responsive-styles.d.ts +5 -2
  181. package/dist/cjs/helpers/get-responsive-styles.d.ts.map +1 -1
  182. package/dist/cjs/helpers/get-responsive-styles.js +1 -1
  183. package/dist/cjs/helpers/get-responsive-styles.js.map +3 -3
  184. package/dist/cjs/helpers/index.js +5 -2
  185. package/dist/cjs/helpers/index.js.map +4 -4
  186. package/dist/cjs/helpers/use-deprecation-warning.d.ts +10 -0
  187. package/dist/cjs/helpers/use-deprecation-warning.d.ts.map +1 -0
  188. package/dist/cjs/helpers/use-deprecation-warning.js +2 -0
  189. package/dist/cjs/helpers/use-deprecation-warning.js.map +7 -0
  190. package/dist/cjs/hooks/index.js +2 -2
  191. package/dist/cjs/hooks/index.js.map +3 -3
  192. package/dist/cjs/hooks/use-body-pointer-events-cleanup.d.ts.map +1 -1
  193. package/dist/cjs/hooks/use-body-pointer-events-cleanup.js +1 -1
  194. package/dist/cjs/hooks/use-body-pointer-events-cleanup.js.map +3 -3
  195. package/dist/cjs/hooks/use-breakpoint.d.ts +7 -3
  196. package/dist/cjs/hooks/use-breakpoint.d.ts.map +1 -1
  197. package/dist/cjs/hooks/use-breakpoint.js +1 -1
  198. package/dist/cjs/hooks/use-breakpoint.js.map +3 -3
  199. package/dist/cjs/hooks/use-prop-synced-state.d.ts +14 -0
  200. package/dist/cjs/hooks/use-prop-synced-state.d.ts.map +1 -0
  201. package/dist/cjs/hooks/use-prop-synced-state.js +2 -0
  202. package/dist/cjs/hooks/use-prop-synced-state.js.map +7 -0
  203. package/dist/cjs/index.js +5 -5
  204. package/dist/cjs/index.js.map +4 -4
  205. package/dist/cjs/props/index.js +1 -1
  206. package/dist/cjs/props/index.js.map +2 -2
  207. package/dist/esm/{chunk-WYA4IRU6.js → chunk-25WZA7ZU.js} +2 -2
  208. package/dist/esm/{chunk-ARGX2ZZK.js → chunk-2FYJTSOP.js} +2 -2
  209. package/dist/esm/chunk-2UPAYDKR.js +2 -0
  210. package/dist/esm/chunk-2UPAYDKR.js.map +7 -0
  211. package/dist/esm/chunk-374ZYJUP.js +2 -0
  212. package/dist/esm/chunk-374ZYJUP.js.map +7 -0
  213. package/dist/esm/{chunk-K3R4AH3E.js → chunk-3MWWP4MW.js} +2 -2
  214. package/dist/esm/{chunk-HQ35PM4O.js → chunk-43A5GUSI.js} +2 -2
  215. package/dist/esm/{chunk-Z5DQ6FSA.js → chunk-4AQTUBVP.js} +2 -2
  216. package/dist/esm/{chunk-QLIELX4I.js → chunk-4ME6O27S.js} +2 -2
  217. package/dist/esm/chunk-4XJY6FIK.js +2 -0
  218. package/dist/esm/chunk-4XJY6FIK.js.map +7 -0
  219. package/dist/esm/{chunk-JQOFJNCV.js → chunk-4YFJWXL2.js} +2 -2
  220. package/dist/esm/chunk-5TXQLK4G.js +2 -0
  221. package/dist/esm/chunk-5TXQLK4G.js.map +7 -0
  222. package/dist/esm/{chunk-IPJUHVM6.js → chunk-666GX7O5.js} +2 -2
  223. package/dist/esm/chunk-6FLLFCBU.js +2 -0
  224. package/dist/esm/chunk-6FLLFCBU.js.map +7 -0
  225. package/dist/esm/{chunk-7CBAHIVG.js → chunk-6IGTK4JE.js} +2 -2
  226. package/dist/esm/chunk-6XGZPIUT.js +2 -0
  227. package/dist/esm/{chunk-T27QHMW7.js.map → chunk-6XGZPIUT.js.map} +2 -2
  228. package/dist/esm/{chunk-DJBPM5QK.js → chunk-7FC7HF76.js} +2 -2
  229. package/dist/esm/{chunk-SVLY6B5F.js → chunk-7QDTSBJF.js} +2 -2
  230. package/dist/esm/{chunk-7MURQ6CR.js → chunk-A2RZGGMY.js} +2 -2
  231. package/dist/esm/{chunk-VF5TRT3H.js → chunk-AU3D6F42.js} +2 -2
  232. package/dist/esm/chunk-AX5S56DS.js +2 -0
  233. package/dist/esm/chunk-AX5S56DS.js.map +7 -0
  234. package/dist/esm/{chunk-DK5MHD6I.js → chunk-B24BDVG2.js} +2 -2
  235. package/dist/esm/{chunk-BJTJUIYJ.js → chunk-CRWYCLTE.js} +2 -2
  236. package/dist/esm/{chunk-OHJVFZMH.js → chunk-CSKZZOI2.js} +2 -2
  237. package/dist/esm/{chunk-4N5JU7XQ.js → chunk-CVWCKOHO.js} +2 -2
  238. package/dist/esm/chunk-CWRNW44F.js +2 -0
  239. package/dist/esm/chunk-CWRNW44F.js.map +7 -0
  240. package/dist/esm/{chunk-ADYTQCZX.js → chunk-D6B7IMZU.js} +2 -2
  241. package/dist/esm/{chunk-U7AASKZI.js → chunk-DNHUQLXO.js} +2 -2
  242. package/dist/esm/{chunk-USGTBZ43.js → chunk-E67CIG6A.js} +2 -2
  243. package/dist/esm/{chunk-YUZPSUJE.js → chunk-F7IYL2VW.js} +2 -2
  244. package/dist/esm/{chunk-FVCWNSRU.js → chunk-FHOCUZDR.js} +2 -2
  245. package/dist/esm/{chunk-APRBRAOT.js → chunk-FXUUI6Z2.js} +2 -2
  246. package/dist/esm/{chunk-WNSPLWRV.js → chunk-GJSGKE7B.js} +2 -2
  247. package/dist/esm/{chunk-OGOOZLUD.js → chunk-GLERJXVS.js} +2 -2
  248. package/dist/esm/{chunk-6VGPTAHM.js → chunk-GWXVETMF.js} +2 -2
  249. package/dist/esm/{chunk-ES7MK2MM.js → chunk-GYBLXQ4R.js} +2 -2
  250. package/dist/esm/{chunk-4OBMRJHC.js → chunk-H7ST535H.js} +2 -2
  251. package/dist/esm/{chunk-QLZ5XAW6.js → chunk-HF5WY5YE.js} +2 -2
  252. package/dist/esm/{chunk-RDP4UQ42.js → chunk-IEWCQU2S.js} +2 -2
  253. package/dist/esm/{chunk-XLOHPURR.js → chunk-IHK3H2OM.js} +2 -2
  254. package/dist/esm/{chunk-EJWAAFCI.js → chunk-IKSN4RNB.js} +2 -2
  255. package/dist/esm/{chunk-3F6I7YOR.js → chunk-JDGJSNWT.js} +2 -2
  256. package/dist/esm/chunk-JUY7CBSL.js +2 -0
  257. package/dist/esm/chunk-JUY7CBSL.js.map +7 -0
  258. package/dist/esm/{chunk-ZSEFZM5H.js → chunk-K6QZMNCD.js} +2 -2
  259. package/dist/esm/chunk-KKBP2CRH.js +2 -0
  260. package/dist/esm/chunk-KKBP2CRH.js.map +7 -0
  261. package/dist/esm/{chunk-ZHYOJNWV.js → chunk-LKAK5GXF.js} +2 -2
  262. package/dist/esm/{chunk-GWYFT3EI.js → chunk-M24UXMOQ.js} +2 -2
  263. package/dist/esm/{chunk-JCYI4NTV.js → chunk-MBCBP73P.js} +2 -2
  264. package/dist/esm/{chunk-UYNYUR7O.js → chunk-MBE2YSBU.js} +2 -2
  265. package/dist/esm/chunk-MHANZINI.js +2 -0
  266. package/dist/esm/chunk-MHANZINI.js.map +7 -0
  267. package/dist/esm/chunk-MK2R6DAU.js +2 -0
  268. package/dist/esm/chunk-MK2R6DAU.js.map +7 -0
  269. package/dist/esm/{chunk-DNI4QRXQ.js → chunk-MOR3NSXQ.js} +2 -2
  270. package/dist/esm/{chunk-H2G446JG.js → chunk-NMKPFUNP.js} +2 -2
  271. package/dist/esm/{chunk-TEULZKBM.js → chunk-OGXZHAQL.js} +2 -2
  272. package/dist/esm/{chunk-M3ZYJANH.js → chunk-OSRJRBKP.js} +2 -2
  273. package/dist/esm/{chunk-2AEELIG6.js → chunk-OWAUCLRT.js} +2 -2
  274. package/dist/esm/{chunk-7CXVHFMQ.js → chunk-P7HYVJSU.js} +2 -2
  275. package/dist/esm/{chunk-4532RT2B.js → chunk-P7IAHW4V.js} +2 -2
  276. package/dist/esm/{chunk-GLC4QJBF.js → chunk-PLWXTEVE.js} +2 -2
  277. package/dist/esm/{chunk-SGU4HUHF.js → chunk-PTLFMWCN.js} +2 -2
  278. package/dist/esm/{chunk-QOWA5LK5.js → chunk-QEOAXJLN.js} +2 -2
  279. package/dist/esm/{chunk-XHQGMOXV.js → chunk-RMKXWYOV.js} +2 -2
  280. package/dist/esm/chunk-S2HA3W3V.js +2 -0
  281. package/dist/esm/chunk-S2HA3W3V.js.map +7 -0
  282. package/dist/esm/{chunk-WZCZHCVE.js → chunk-S56YSRHP.js} +2 -2
  283. package/dist/esm/{chunk-E6IWYD3U.js → chunk-S5C5YRBS.js} +2 -2
  284. package/dist/esm/{chunk-A24PYRVV.js → chunk-SO67YEVQ.js} +2 -2
  285. package/dist/esm/chunk-TLWTUKKL.js +2 -0
  286. package/dist/esm/chunk-TLWTUKKL.js.map +7 -0
  287. package/dist/esm/{chunk-RQ2ZPMHJ.js → chunk-TOLLPRMM.js} +2 -2
  288. package/dist/esm/{chunk-HACQF6F4.js → chunk-TOOSHJOA.js} +2 -2
  289. package/dist/esm/{chunk-42HFGCHX.js → chunk-UGD7Z3L4.js} +2 -2
  290. package/dist/esm/chunk-VA5A4MHU.js +6 -0
  291. package/dist/esm/chunk-VA5A4MHU.js.map +7 -0
  292. package/dist/esm/{chunk-DXI5P5O4.js → chunk-VX6ARMWP.js} +2 -2
  293. package/dist/esm/{chunk-25U7DENY.js → chunk-W7N7V5YD.js} +2 -2
  294. package/dist/esm/chunk-WAURCNAS.js +2 -0
  295. package/dist/esm/chunk-WAURCNAS.js.map +7 -0
  296. package/dist/esm/chunk-WFMYNZXZ.js +2 -0
  297. package/dist/esm/chunk-WFMYNZXZ.js.map +7 -0
  298. package/dist/esm/{chunk-6FAICIYS.js → chunk-XMRIRFM7.js} +2 -2
  299. package/dist/esm/chunk-YEB3H7QN.js +2 -0
  300. package/dist/esm/chunk-YEB3H7QN.js.map +7 -0
  301. package/dist/esm/chunk-YUP6EICB.js +2 -0
  302. package/dist/esm/chunk-YUP6EICB.js.map +7 -0
  303. package/dist/esm/chunk-YV2KYHGR.js +2 -0
  304. package/dist/esm/chunk-YV2KYHGR.js.map +7 -0
  305. package/dist/esm/{chunk-UIEUZLZZ.js → chunk-ZY6SQWHT.js} +2 -2
  306. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  307. package/dist/esm/components/_internal/base-button.js +1 -1
  308. package/dist/esm/components/_internal/dropdown-menu-drill-down.js +1 -1
  309. package/dist/esm/components/_internal/shell-bottom.js +1 -1
  310. package/dist/esm/components/_internal/shell-handles.d.ts.map +1 -1
  311. package/dist/esm/components/_internal/shell-handles.js +1 -1
  312. package/dist/esm/components/_internal/shell-inspector.js +1 -1
  313. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  314. package/dist/esm/components/accordion.d.ts.map +1 -1
  315. package/dist/esm/components/accordion.js +1 -1
  316. package/dist/esm/components/alert-dialog.d.ts.map +1 -1
  317. package/dist/esm/components/alert-dialog.js +1 -1
  318. package/dist/esm/components/avatar.js +1 -1
  319. package/dist/esm/components/badge.d.ts.map +1 -1
  320. package/dist/esm/components/badge.js +1 -1
  321. package/dist/esm/components/blockquote.js +1 -1
  322. package/dist/esm/components/box.js +1 -1
  323. package/dist/esm/components/button.js +1 -1
  324. package/dist/esm/components/callout.js +1 -1
  325. package/dist/esm/components/card.js +1 -1
  326. package/dist/esm/components/chatbar.js +1 -1
  327. package/dist/esm/components/checkbox-cards.js +1 -1
  328. package/dist/esm/components/checkbox-group.js +1 -1
  329. package/dist/esm/components/checkbox.js +1 -1
  330. package/dist/esm/components/code.js +1 -1
  331. package/dist/esm/components/combobox.js +1 -1
  332. package/dist/esm/components/container.js +1 -1
  333. package/dist/esm/components/context-menu.d.ts.map +1 -1
  334. package/dist/esm/components/context-menu.js +1 -1
  335. package/dist/esm/components/data-list.js +1 -1
  336. package/dist/esm/components/dialog.d.ts.map +1 -1
  337. package/dist/esm/components/dialog.js +1 -1
  338. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  339. package/dist/esm/components/dropdown-menu.js +1 -1
  340. package/dist/esm/components/em.js +1 -1
  341. package/dist/esm/components/flex.js +1 -1
  342. package/dist/esm/components/grid.js +1 -1
  343. package/dist/esm/components/heading.js +1 -1
  344. package/dist/esm/components/hover-card.js +1 -1
  345. package/dist/esm/components/icon-button.js +1 -1
  346. package/dist/esm/components/image.js +1 -1
  347. package/dist/esm/components/index.js +1 -1
  348. package/dist/esm/components/inset.js +1 -1
  349. package/dist/esm/components/kbd.js +1 -1
  350. package/dist/esm/components/link.js +1 -1
  351. package/dist/esm/components/navbar.js +1 -1
  352. package/dist/esm/components/popover.js +1 -1
  353. package/dist/esm/components/progress.js +1 -1
  354. package/dist/esm/components/quote.js +1 -1
  355. package/dist/esm/components/radio-cards.js +1 -1
  356. package/dist/esm/components/radio-group.js +1 -1
  357. package/dist/esm/components/radio.js +1 -1
  358. package/dist/esm/components/schemas/base-button.schema.d.ts +2 -2
  359. package/dist/esm/components/schemas/button.schema.d.ts +2 -2
  360. package/dist/esm/components/schemas/icon-button.schema.d.ts +4 -4
  361. package/dist/esm/components/schemas/shell.schema.d.ts +2 -2
  362. package/dist/esm/components/schemas/toggle-button.schema.d.ts +6 -6
  363. package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts +8 -8
  364. package/dist/esm/components/scroll-area.js +1 -1
  365. package/dist/esm/components/section.js +1 -1
  366. package/dist/esm/components/segmented-control.js +1 -1
  367. package/dist/esm/components/select.js +1 -1
  368. package/dist/esm/components/separator.js +1 -1
  369. package/dist/esm/components/sheet.d.ts.map +1 -1
  370. package/dist/esm/components/sheet.js +1 -1
  371. package/dist/esm/components/shell.js +1 -1
  372. package/dist/esm/components/sidebar.js +1 -1
  373. package/dist/esm/components/skeleton.js +1 -1
  374. package/dist/esm/components/slider.js +1 -1
  375. package/dist/esm/components/spinner.js +1 -1
  376. package/dist/esm/components/strong.js +1 -1
  377. package/dist/esm/components/switch.js +1 -1
  378. package/dist/esm/components/tab-nav.js +1 -1
  379. package/dist/esm/components/table.js +1 -1
  380. package/dist/esm/components/tabs.js +1 -1
  381. package/dist/esm/components/text-area.js +1 -1
  382. package/dist/esm/components/text-field.js +1 -1
  383. package/dist/esm/components/text.js +1 -1
  384. package/dist/esm/components/theme-panel.js +1 -1
  385. package/dist/esm/components/theme.d.ts +3 -0
  386. package/dist/esm/components/theme.d.ts.map +1 -1
  387. package/dist/esm/components/theme.js +1 -1
  388. package/dist/esm/components/theme.props.d.ts +15 -1
  389. package/dist/esm/components/theme.props.d.ts.map +1 -1
  390. package/dist/esm/components/theme.props.js +1 -1
  391. package/dist/esm/components/toggle-button.js +1 -1
  392. package/dist/esm/components/toggle-icon-button.js +1 -1
  393. package/dist/esm/components/toolbar.js +1 -1
  394. package/dist/esm/components/tooltip.js +1 -1
  395. package/dist/esm/components/user-card.js +1 -1
  396. package/dist/esm/helpers/compile-prop-defs.d.ts +49 -0
  397. package/dist/esm/helpers/compile-prop-defs.d.ts.map +1 -0
  398. package/dist/esm/helpers/compile-prop-defs.js +2 -0
  399. package/dist/esm/helpers/compile-prop-defs.js.map +7 -0
  400. package/dist/esm/helpers/extract-props.d.ts.map +1 -1
  401. package/dist/esm/helpers/extract-props.js +1 -1
  402. package/dist/esm/helpers/font-config.d.ts +84 -77
  403. package/dist/esm/helpers/font-config.d.ts.map +1 -1
  404. package/dist/esm/helpers/font-config.js +1 -1
  405. package/dist/esm/helpers/get-margin-styles.d.ts.map +1 -1
  406. package/dist/esm/helpers/get-margin-styles.js +1 -1
  407. package/dist/esm/helpers/get-responsive-styles.d.ts +5 -2
  408. package/dist/esm/helpers/get-responsive-styles.d.ts.map +1 -1
  409. package/dist/esm/helpers/get-responsive-styles.js +1 -1
  410. package/dist/esm/helpers/index.js +1 -1
  411. package/dist/esm/helpers/use-deprecation-warning.d.ts +10 -0
  412. package/dist/esm/helpers/use-deprecation-warning.d.ts.map +1 -0
  413. package/dist/esm/helpers/use-deprecation-warning.js +2 -0
  414. package/dist/esm/helpers/use-deprecation-warning.js.map +7 -0
  415. package/dist/esm/hooks/index.js +1 -1
  416. package/dist/esm/hooks/use-body-pointer-events-cleanup.d.ts.map +1 -1
  417. package/dist/esm/hooks/use-body-pointer-events-cleanup.js +1 -1
  418. package/dist/esm/hooks/use-breakpoint.d.ts +7 -3
  419. package/dist/esm/hooks/use-breakpoint.d.ts.map +1 -1
  420. package/dist/esm/hooks/use-breakpoint.js +1 -1
  421. package/dist/esm/hooks/use-prop-synced-state.d.ts +14 -0
  422. package/dist/esm/hooks/use-prop-synced-state.d.ts.map +1 -0
  423. package/dist/esm/hooks/use-prop-synced-state.js +2 -0
  424. package/dist/esm/hooks/use-prop-synced-state.js.map +7 -0
  425. package/dist/esm/index.js +1 -1
  426. package/dist/esm/props/index.js +1 -1
  427. package/fonts.css +8 -0
  428. package/package.json +18 -7
  429. package/schemas/base-button.json +0 -1
  430. package/schemas/button.json +0 -1
  431. package/schemas/icon-button.json +0 -1
  432. package/schemas/index.json +0 -6
  433. package/schemas/toggle-button.json +0 -1
  434. package/schemas/toggle-icon-button.json +0 -1
  435. package/src/components/_internal/base-button.css +2 -2
  436. package/src/components/_internal/base-button.tsx +3 -58
  437. package/src/components/_internal/base-card.css +19 -4
  438. package/src/components/_internal/base-checkbox.css +2 -2
  439. package/src/components/_internal/base-dialog.css +7 -0
  440. package/src/components/_internal/base-menu.css +7 -0
  441. package/src/components/_internal/base-radio.css +2 -2
  442. package/src/components/_internal/base-sidebar.css +7 -0
  443. package/src/components/_internal/base-tab-list.css +2 -2
  444. package/src/components/_internal/shell-handles.tsx +27 -0
  445. package/src/components/accordion.css +6 -6
  446. package/src/components/accordion.tsx +2 -8
  447. package/src/components/alert-dialog.tsx +22 -20
  448. package/src/components/avatar.css +2 -2
  449. package/src/components/badge.css +2 -2
  450. package/src/components/badge.tsx +2 -8
  451. package/src/components/callout.css +2 -2
  452. package/src/components/chatbar.css +1 -1
  453. package/src/components/context-menu.tsx +2 -8
  454. package/src/components/dialog.tsx +22 -20
  455. package/src/components/dropdown-menu.tsx +2 -8
  456. package/src/components/heading.css +10 -3
  457. package/src/components/popover.css +7 -0
  458. package/src/components/progress.css +21 -8
  459. package/src/components/segmented-control.css +2 -2
  460. package/src/components/select.css +9 -2
  461. package/src/components/sheet.tsx +31 -28
  462. package/src/components/shell.css +106 -69
  463. package/src/components/slider.css +2 -2
  464. package/src/components/switch.css +2 -2
  465. package/src/components/table.css +7 -0
  466. package/src/components/text-area.css +2 -2
  467. package/src/components/text-field.css +2 -2
  468. package/src/components/text.css +10 -3
  469. package/src/components/theme.props.tsx +13 -1
  470. package/src/components/theme.tsx +53 -34
  471. package/src/helpers/compile-prop-defs.ts +121 -0
  472. package/src/helpers/extract-props.ts +104 -83
  473. package/src/helpers/font-config.ts +130 -148
  474. package/src/helpers/get-margin-styles.ts +38 -71
  475. package/src/helpers/get-responsive-styles.ts +37 -38
  476. package/src/helpers/use-deprecation-warning.ts +26 -0
  477. package/src/hooks/use-body-pointer-events-cleanup.ts +36 -6
  478. package/src/hooks/use-breakpoint.ts +94 -53
  479. package/src/hooks/use-prop-synced-state.ts +24 -0
  480. package/src/styles/fonts.css +24 -29
  481. package/src/styles/index.css +0 -1
  482. package/src/styles/tokens/base.css +1 -0
  483. package/src/styles/tokens/blur.css +28 -0
  484. package/src/styles/tokens/color.css +3 -3
  485. package/src/styles/tokens/constants.css +11 -0
  486. package/src/styles/tokens/font-family.css +263 -0
  487. package/src/styles/tokens/typography.css +2 -216
  488. package/styles.css +8776 -8727
  489. package/tokens/base.css +50 -30
  490. package/tokens.css +53 -30
  491. package/dist/esm/chunk-2SS3FA3N.js +0 -2
  492. package/dist/esm/chunk-2SS3FA3N.js.map +0 -7
  493. package/dist/esm/chunk-5U2Q23K3.js +0 -2
  494. package/dist/esm/chunk-5U2Q23K3.js.map +0 -7
  495. package/dist/esm/chunk-6ELPYR73.js +0 -2
  496. package/dist/esm/chunk-6ELPYR73.js.map +0 -7
  497. package/dist/esm/chunk-DZ4H2KTP.js +0 -2
  498. package/dist/esm/chunk-DZ4H2KTP.js.map +0 -7
  499. package/dist/esm/chunk-H4MMVAGQ.js +0 -2
  500. package/dist/esm/chunk-H4MMVAGQ.js.map +0 -7
  501. package/dist/esm/chunk-ITRVKLYU.js +0 -2
  502. package/dist/esm/chunk-ITRVKLYU.js.map +0 -7
  503. package/dist/esm/chunk-KCAFSCOV.js +0 -2
  504. package/dist/esm/chunk-KCAFSCOV.js.map +0 -7
  505. package/dist/esm/chunk-KMPBTEZH.js +0 -2
  506. package/dist/esm/chunk-KMPBTEZH.js.map +0 -7
  507. package/dist/esm/chunk-LN5SP46K.js +0 -2
  508. package/dist/esm/chunk-LN5SP46K.js.map +0 -7
  509. package/dist/esm/chunk-OKJNS7Z7.js +0 -2
  510. package/dist/esm/chunk-OKJNS7Z7.js.map +0 -7
  511. package/dist/esm/chunk-Q73Y5O5P.js +0 -2
  512. package/dist/esm/chunk-Q73Y5O5P.js.map +0 -7
  513. package/dist/esm/chunk-Q7P6BTVU.js +0 -3
  514. package/dist/esm/chunk-Q7P6BTVU.js.map +0 -7
  515. package/dist/esm/chunk-T27QHMW7.js +0 -2
  516. package/dist/esm/chunk-UUX42HBM.js +0 -2
  517. package/dist/esm/chunk-UUX42HBM.js.map +0 -7
  518. package/dist/esm/chunk-X7BD5FLE.js +0 -2
  519. package/dist/esm/chunk-X7BD5FLE.js.map +0 -7
  520. package/dist/esm/chunk-YEA646GM.js +0 -2
  521. package/dist/esm/chunk-YEA646GM.js.map +0 -7
  522. package/dist/esm/chunk-ZMEXIPWM.js +0 -2
  523. package/dist/esm/chunk-ZMEXIPWM.js.map +0 -7
  524. /package/dist/esm/{chunk-WYA4IRU6.js.map → chunk-25WZA7ZU.js.map} +0 -0
  525. /package/dist/esm/{chunk-ARGX2ZZK.js.map → chunk-2FYJTSOP.js.map} +0 -0
  526. /package/dist/esm/{chunk-K3R4AH3E.js.map → chunk-3MWWP4MW.js.map} +0 -0
  527. /package/dist/esm/{chunk-HQ35PM4O.js.map → chunk-43A5GUSI.js.map} +0 -0
  528. /package/dist/esm/{chunk-Z5DQ6FSA.js.map → chunk-4AQTUBVP.js.map} +0 -0
  529. /package/dist/esm/{chunk-QLIELX4I.js.map → chunk-4ME6O27S.js.map} +0 -0
  530. /package/dist/esm/{chunk-JQOFJNCV.js.map → chunk-4YFJWXL2.js.map} +0 -0
  531. /package/dist/esm/{chunk-IPJUHVM6.js.map → chunk-666GX7O5.js.map} +0 -0
  532. /package/dist/esm/{chunk-7CBAHIVG.js.map → chunk-6IGTK4JE.js.map} +0 -0
  533. /package/dist/esm/{chunk-DJBPM5QK.js.map → chunk-7FC7HF76.js.map} +0 -0
  534. /package/dist/esm/{chunk-SVLY6B5F.js.map → chunk-7QDTSBJF.js.map} +0 -0
  535. /package/dist/esm/{chunk-7MURQ6CR.js.map → chunk-A2RZGGMY.js.map} +0 -0
  536. /package/dist/esm/{chunk-VF5TRT3H.js.map → chunk-AU3D6F42.js.map} +0 -0
  537. /package/dist/esm/{chunk-DK5MHD6I.js.map → chunk-B24BDVG2.js.map} +0 -0
  538. /package/dist/esm/{chunk-BJTJUIYJ.js.map → chunk-CRWYCLTE.js.map} +0 -0
  539. /package/dist/esm/{chunk-OHJVFZMH.js.map → chunk-CSKZZOI2.js.map} +0 -0
  540. /package/dist/esm/{chunk-4N5JU7XQ.js.map → chunk-CVWCKOHO.js.map} +0 -0
  541. /package/dist/esm/{chunk-ADYTQCZX.js.map → chunk-D6B7IMZU.js.map} +0 -0
  542. /package/dist/esm/{chunk-U7AASKZI.js.map → chunk-DNHUQLXO.js.map} +0 -0
  543. /package/dist/esm/{chunk-USGTBZ43.js.map → chunk-E67CIG6A.js.map} +0 -0
  544. /package/dist/esm/{chunk-YUZPSUJE.js.map → chunk-F7IYL2VW.js.map} +0 -0
  545. /package/dist/esm/{chunk-FVCWNSRU.js.map → chunk-FHOCUZDR.js.map} +0 -0
  546. /package/dist/esm/{chunk-APRBRAOT.js.map → chunk-FXUUI6Z2.js.map} +0 -0
  547. /package/dist/esm/{chunk-WNSPLWRV.js.map → chunk-GJSGKE7B.js.map} +0 -0
  548. /package/dist/esm/{chunk-OGOOZLUD.js.map → chunk-GLERJXVS.js.map} +0 -0
  549. /package/dist/esm/{chunk-6VGPTAHM.js.map → chunk-GWXVETMF.js.map} +0 -0
  550. /package/dist/esm/{chunk-ES7MK2MM.js.map → chunk-GYBLXQ4R.js.map} +0 -0
  551. /package/dist/esm/{chunk-4OBMRJHC.js.map → chunk-H7ST535H.js.map} +0 -0
  552. /package/dist/esm/{chunk-QLZ5XAW6.js.map → chunk-HF5WY5YE.js.map} +0 -0
  553. /package/dist/esm/{chunk-RDP4UQ42.js.map → chunk-IEWCQU2S.js.map} +0 -0
  554. /package/dist/esm/{chunk-XLOHPURR.js.map → chunk-IHK3H2OM.js.map} +0 -0
  555. /package/dist/esm/{chunk-EJWAAFCI.js.map → chunk-IKSN4RNB.js.map} +0 -0
  556. /package/dist/esm/{chunk-3F6I7YOR.js.map → chunk-JDGJSNWT.js.map} +0 -0
  557. /package/dist/esm/{chunk-ZSEFZM5H.js.map → chunk-K6QZMNCD.js.map} +0 -0
  558. /package/dist/esm/{chunk-ZHYOJNWV.js.map → chunk-LKAK5GXF.js.map} +0 -0
  559. /package/dist/esm/{chunk-GWYFT3EI.js.map → chunk-M24UXMOQ.js.map} +0 -0
  560. /package/dist/esm/{chunk-JCYI4NTV.js.map → chunk-MBCBP73P.js.map} +0 -0
  561. /package/dist/esm/{chunk-UYNYUR7O.js.map → chunk-MBE2YSBU.js.map} +0 -0
  562. /package/dist/esm/{chunk-DNI4QRXQ.js.map → chunk-MOR3NSXQ.js.map} +0 -0
  563. /package/dist/esm/{chunk-H2G446JG.js.map → chunk-NMKPFUNP.js.map} +0 -0
  564. /package/dist/esm/{chunk-TEULZKBM.js.map → chunk-OGXZHAQL.js.map} +0 -0
  565. /package/dist/esm/{chunk-M3ZYJANH.js.map → chunk-OSRJRBKP.js.map} +0 -0
  566. /package/dist/esm/{chunk-2AEELIG6.js.map → chunk-OWAUCLRT.js.map} +0 -0
  567. /package/dist/esm/{chunk-7CXVHFMQ.js.map → chunk-P7HYVJSU.js.map} +0 -0
  568. /package/dist/esm/{chunk-4532RT2B.js.map → chunk-P7IAHW4V.js.map} +0 -0
  569. /package/dist/esm/{chunk-GLC4QJBF.js.map → chunk-PLWXTEVE.js.map} +0 -0
  570. /package/dist/esm/{chunk-SGU4HUHF.js.map → chunk-PTLFMWCN.js.map} +0 -0
  571. /package/dist/esm/{chunk-QOWA5LK5.js.map → chunk-QEOAXJLN.js.map} +0 -0
  572. /package/dist/esm/{chunk-XHQGMOXV.js.map → chunk-RMKXWYOV.js.map} +0 -0
  573. /package/dist/esm/{chunk-WZCZHCVE.js.map → chunk-S56YSRHP.js.map} +0 -0
  574. /package/dist/esm/{chunk-E6IWYD3U.js.map → chunk-S5C5YRBS.js.map} +0 -0
  575. /package/dist/esm/{chunk-A24PYRVV.js.map → chunk-SO67YEVQ.js.map} +0 -0
  576. /package/dist/esm/{chunk-RQ2ZPMHJ.js.map → chunk-TOLLPRMM.js.map} +0 -0
  577. /package/dist/esm/{chunk-HACQF6F4.js.map → chunk-TOOSHJOA.js.map} +0 -0
  578. /package/dist/esm/{chunk-42HFGCHX.js.map → chunk-UGD7Z3L4.js.map} +0 -0
  579. /package/dist/esm/{chunk-DXI5P5O4.js.map → chunk-VX6ARMWP.js.map} +0 -0
  580. /package/dist/esm/{chunk-25U7DENY.js.map → chunk-W7N7V5YD.js.map} +0 -0
  581. /package/dist/esm/{chunk-6FAICIYS.js.map → chunk-XMRIRFM7.js.map} +0 -0
  582. /package/dist/esm/{chunk-UIEUZLZZ.js.map → chunk-ZY6SQWHT.js.map} +0 -0
@@ -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
@@ -1,2 +1,2 @@
1
- import{a as ze}from"./chunk-2LYX5S7H.js";import{a as ye,c as Pe}from"./chunk-5LXFJMFB.js";import{h as pe,n as be,p as Se,r as me,t as Re,v as he}from"./chunk-SNHEJU2S.js";import{a as ce,c as ue,d as fe}from"./chunk-UUX42HBM.js";import{a as ge,c as E}from"./chunk-Q73Y5O5P.js";import{b as ve}from"./chunk-CECQNGUL.js";import{a as Me}from"./chunk-NNO7M466.js";import{a as le}from"./chunk-AGAQC4HH.js";import*as t from"react";import qe from"classnames";var Ke=["className","children","state","defaultState","onStateChange","thinSize","toggleModes","size","defaultSize","onSizeChange","sizeUpdate","sizeUpdateMs","style","inset"],Ce=t.forwardRef((_,S)=>{let{className:xe,presentation:Ee={initial:"overlay",md:"fixed"},expandedSize:d=288,minSize:l=200,maxSize:c=400,resizable:w=!1,collapsible:we=!0,onExpand:W,onCollapse:j,onResize:T,onResizeStart:Te,onResizeEnd:ke,snapPoints:Ne,snapTolerance:De,collapseThreshold:Ve,paneId:k,persistence:N,children:Ie,style:He,thinSize:p=64,toggleModes:R,state:u,defaultState:h,onStateChange:F,size:q,defaultSize:K,onSizeChange:D,sizeUpdate:V,sizeUpdateMs:I=50,inset:H}=_,Oe=ve(_,Ke),{sidebarMode:a,setSidebarMode:O}=pe(),{currentBreakpointReady:m}=be(),{peekTarget:$}=Se(),{togglePane:$e,setSidebarToggleComputer:y}=me(),{setHasSidebar:L}=Re(),{registerInset:Y,unregisterInset:G}=he();t.useLayoutEffect(()=>{if(H)return Y("sidebar"),()=>G("sidebar")},[H,Y,G]);let U=ye(Ee),b=U==="overlay",Le=U==="stacked",s=t.useRef(null),Ue=t.useCallback(e=>{s.current=e,typeof S=="function"?S(e):S&&(S.current=e)},[S]),J=t.Children.toArray(Ie),Q=J.filter(e=>t.isValidElement(e)&&e.type===E),X=J.filter(e=>!(t.isValidElement(e)&&e.type===E)),f=t.useRef(null);t.useEffect(()=>()=>{f.current&&(clearTimeout(f.current),f.current=null)},[D,V,I]);let P=t.useMemo(()=>{let e=D,n=V,r=I??50;if(!e)return()=>{};if(n==="debounce")return(o,i)=>{f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{e(o,i),f.current=null},r)};if(n==="throttle"){let o=0;return(i,Fe)=>{let de=Date.now();de-o>=r&&(o=de,e(i,Fe))}}return(o,i)=>e(o,i)},[D,V,I]),Ae=t.useId();t.useEffect(()=>(L(!0),()=>{L(!1)}),[L,Ae]);let M=t.useRef(null);t.useEffect(()=>{let e=typeof u<"u";if(M.current===null){M.current=e;return}M.current!==e&&(console.warn("Shell.Sidebar: Switching between controlled and uncontrolled `state` is not supported."),M.current=e)},[u]);let g=t.useRef(F),Z=t.useRef(u);t.useLayoutEffect(()=>{g.current=F,Z.current=u});let Be=typeof u=="object"&&u!==null,{resolvedControlled:v,resolvedDefault:ee}=Pe({controlledValue:u,defaultValue:h,currentValue:a,setValue:O,breakpointReady:m,controlledIsResponsive:Be,onResponsiveChange:e=>g.current?.(e,{reason:"responsive"}),onInit:e=>g.current?.(e,{reason:"init"})}),te=t.useRef(null),ne=t.useRef(void 0);t.useEffect(()=>{let e=a,n=te.current,o=ne.current!==v;n!==null&&n!==e&&(!(typeof Z.current<"u")||!o&&e!==v)&&g.current?.(e,{reason:"toggle"}),te.current=e,ne.current=v},[a,v]);let re=t.useRef(W),oe=t.useRef(j);t.useLayoutEffect(()=>{re.current=W,oe.current=j});let z=t.useRef(null),ae=t.useRef(!1);t.useEffect(()=>{let e=a;if(!m){z.current=e;return}if(!ae.current){ae.current=!0,z.current=e;return}let n=z.current;n!==null&&n!==e&&(n==="collapsed"&&e!=="collapsed"?re.current?.():e==="collapsed"&&oe.current?.(),z.current=e)},[a,m]);let se=a!=="collapsed",C=t.useMemo(()=>{if(!k||N)return N;let e=`kookie-ui:shell:sidebar:${k}`;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{}}}},[k,N]);t.useEffect(()=>{let e=!0;return(async()=>{if(!w||!C?.load||b)return;let n=await C.load();e&&typeof n=="number"&&s.current&&(s.current.style.setProperty("--sidebar-size",`${n}px`),T?.(n))})(),()=>{e=!1}},[w,C,T,b]);let x=t.useCallback(()=>{let e=ee??(typeof h=="string"?h:void 0)??"expanded";return e==="thin"||e==="expanded"?e:"expanded"},[ee,h]);t.useEffect(()=>{if(!y)return;let e=R??"both";return y(r=>{if(e==="both")return r==="collapsed"?"thin":r==="thin"?"expanded":"collapsed";let o=x();return r==="collapsed"?o:r===o?"collapsed":o}),()=>{y?.(r=>r==="collapsed"?"thin":r==="thin"?"expanded":"collapsed")}},[y,R,x]);let ie=t.useRef(d),_e=t.useRef("expanded");t.useEffect(()=>{a!=="collapsed"&&(_e.current=a,ie.current=a==="thin"?p:d)},[a,p,d]);let We=w&&!b&&a==="expanded"?t.createElement(Me.Provider,{value:{containerRef:s,cssVarName:"--sidebar-size",minSize:l,maxSize:c,defaultSize:d,orientation:"vertical",edge:"end",computeNext:(e,n,r)=>{let o=getComputedStyle(s.current).direction==="rtl",i=e-n;return r+(o?-i:i)},onResize:T,onResizeStart:Te,onResizeEnd:e=>{ke?.(e),P(e,{reason:"resize"}),C?.save?.(e)},target:"sidebar",collapsible:we,snapPoints:Ne,snapTolerance:De??8,collapseThreshold:Ve,requestCollapse:()=>O("collapsed"),requestToggle:()=>$e("sidebar")}},Q.length>0?Q.map((e,n)=>t.cloneElement(e,{key:e.key??n})):t.createElement(ge,null)):null,A=t.useCallback(e=>ze(e,"horizontal"),[]);t.useEffect(()=>{if(s.current&&typeof q>"u"&&typeof K<"u"){let e=A(K);if(typeof e=="number"&&Number.isFinite(e)){let o=Math.min((typeof c=="number"?c:void 0)??e,Math.max((typeof l=="number"?l:void 0)??e,e));s.current.style.setProperty("--sidebar-size",`${o}px`),P(o,{reason:"init"})}}},[]);let B=q;t.useEffect(()=>{if(!s.current||typeof B>"u")return;let e=A(B);if(typeof e=="number"&&Number.isFinite(e)){let o=Math.min((typeof c=="number"?c:void 0)??e,Math.max((typeof l=="number"?l:void 0)??e,e));s.current.style.setProperty("--sidebar-size",`${o}px`),P(o,{reason:"controlled"})}},[B,l,c,A,P]);let je=t.useMemo(()=>{if(!($==="sidebar"&&a==="collapsed"&&!b))return;let e=R??"both",n=a,r;if(e==="both")r=n==="collapsed"?"thin":n==="thin"?"expanded":"collapsed";else{let o=x();r=n==="collapsed"?o:"collapsed"}return r==="thin"?{"--peek-sidebar-width":`${p}px`}:{"--peek-sidebar-width":`var(--sidebar-size, ${d}px)`}},[$,a,b,R,x,p,d]);if(b){let e=a!=="collapsed";return t.createElement(ce,{open:e,onOpenChange:n=>O(n?"expanded":"collapsed")},t.createElement(ue,{side:"start",style:{padding:0},"aria-label":"Navigation","aria-describedby":void 0,width:{initial:`${e?a==="thin"?p:d:ie.current}px`}},t.createElement(le,null,t.createElement(fe,null,"Navigation")),X))}return t.createElement("div",{...Oe,ref:Ue,className:qe("rt-ShellSidebar",xe),"data-mode":a,"data-peek":$==="sidebar"||void 0,"data-presentation":m?U:void 0,"data-open":m&&Le&&se||void 0,"data-inset":H||void 0,style:{...He,"--sidebar-size":`${d}px`,"--sidebar-thin-size":`${p}px`,"--sidebar-min-size":`${l}px`,"--sidebar-max-size":`${c}px`,...je}},t.createElement("div",{className:"rt-ShellSidebarContent","data-visible":se||void 0},X),We)});Ce.displayName="Shell.Sidebar";Ce.Handle=E;export{Ce as a};
2
- //# sourceMappingURL=chunk-GWYFT3EI.js.map
1
+ import{a as ze}from"./chunk-2LYX5S7H.js";import{a as ye,c as Pe}from"./chunk-5LXFJMFB.js";import{h as pe,n as be,p as Se,r as me,t as Re,v as he}from"./chunk-SNHEJU2S.js";import{a as ce,c as ue,d as fe}from"./chunk-MK2R6DAU.js";import{a as ge,c as E}from"./chunk-TLWTUKKL.js";import{b as ve}from"./chunk-CECQNGUL.js";import{a as Me}from"./chunk-NNO7M466.js";import{a as le}from"./chunk-AGAQC4HH.js";import*as t from"react";import qe from"classnames";var Ke=["className","children","state","defaultState","onStateChange","thinSize","toggleModes","size","defaultSize","onSizeChange","sizeUpdate","sizeUpdateMs","style","inset"],Ce=t.forwardRef((_,S)=>{let{className:xe,presentation:Ee={initial:"overlay",md:"fixed"},expandedSize:d=288,minSize:l=200,maxSize:c=400,resizable:w=!1,collapsible:we=!0,onExpand:W,onCollapse:j,onResize:T,onResizeStart:Te,onResizeEnd:ke,snapPoints:Ne,snapTolerance:De,collapseThreshold:Ve,paneId:k,persistence:N,children:Ie,style:He,thinSize:p=64,toggleModes:R,state:u,defaultState:h,onStateChange:F,size:q,defaultSize:K,onSizeChange:D,sizeUpdate:V,sizeUpdateMs:I=50,inset:H}=_,Oe=ve(_,Ke),{sidebarMode:a,setSidebarMode:O}=pe(),{currentBreakpointReady:m}=be(),{peekTarget:$}=Se(),{togglePane:$e,setSidebarToggleComputer:y}=me(),{setHasSidebar:L}=Re(),{registerInset:Y,unregisterInset:G}=he();t.useLayoutEffect(()=>{if(H)return Y("sidebar"),()=>G("sidebar")},[H,Y,G]);let U=ye(Ee),b=U==="overlay",Le=U==="stacked",s=t.useRef(null),Ue=t.useCallback(e=>{s.current=e,typeof S=="function"?S(e):S&&(S.current=e)},[S]),J=t.Children.toArray(Ie),Q=J.filter(e=>t.isValidElement(e)&&e.type===E),X=J.filter(e=>!(t.isValidElement(e)&&e.type===E)),f=t.useRef(null);t.useEffect(()=>()=>{f.current&&(clearTimeout(f.current),f.current=null)},[D,V,I]);let P=t.useMemo(()=>{let e=D,n=V,r=I??50;if(!e)return()=>{};if(n==="debounce")return(o,i)=>{f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{e(o,i),f.current=null},r)};if(n==="throttle"){let o=0;return(i,Fe)=>{let de=Date.now();de-o>=r&&(o=de,e(i,Fe))}}return(o,i)=>e(o,i)},[D,V,I]),Ae=t.useId();t.useEffect(()=>(L(!0),()=>{L(!1)}),[L,Ae]);let M=t.useRef(null);t.useEffect(()=>{let e=typeof u<"u";if(M.current===null){M.current=e;return}M.current!==e&&(console.warn("Shell.Sidebar: Switching between controlled and uncontrolled `state` is not supported."),M.current=e)},[u]);let g=t.useRef(F),Z=t.useRef(u);t.useLayoutEffect(()=>{g.current=F,Z.current=u});let Be=typeof u=="object"&&u!==null,{resolvedControlled:v,resolvedDefault:ee}=Pe({controlledValue:u,defaultValue:h,currentValue:a,setValue:O,breakpointReady:m,controlledIsResponsive:Be,onResponsiveChange:e=>g.current?.(e,{reason:"responsive"}),onInit:e=>g.current?.(e,{reason:"init"})}),te=t.useRef(null),ne=t.useRef(void 0);t.useEffect(()=>{let e=a,n=te.current,o=ne.current!==v;n!==null&&n!==e&&(!(typeof Z.current<"u")||!o&&e!==v)&&g.current?.(e,{reason:"toggle"}),te.current=e,ne.current=v},[a,v]);let re=t.useRef(W),oe=t.useRef(j);t.useLayoutEffect(()=>{re.current=W,oe.current=j});let z=t.useRef(null),ae=t.useRef(!1);t.useEffect(()=>{let e=a;if(!m){z.current=e;return}if(!ae.current){ae.current=!0,z.current=e;return}let n=z.current;n!==null&&n!==e&&(n==="collapsed"&&e!=="collapsed"?re.current?.():e==="collapsed"&&oe.current?.(),z.current=e)},[a,m]);let se=a!=="collapsed",C=t.useMemo(()=>{if(!k||N)return N;let e=`kookie-ui:shell:sidebar:${k}`;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{}}}},[k,N]);t.useEffect(()=>{let e=!0;return(async()=>{if(!w||!C?.load||b)return;let n=await C.load();e&&typeof n=="number"&&s.current&&(s.current.style.setProperty("--sidebar-size",`${n}px`),T?.(n))})(),()=>{e=!1}},[w,C,T,b]);let x=t.useCallback(()=>{let e=ee??(typeof h=="string"?h:void 0)??"expanded";return e==="thin"||e==="expanded"?e:"expanded"},[ee,h]);t.useEffect(()=>{if(!y)return;let e=R??"both";return y(r=>{if(e==="both")return r==="collapsed"?"thin":r==="thin"?"expanded":"collapsed";let o=x();return r==="collapsed"?o:r===o?"collapsed":o}),()=>{y?.(r=>r==="collapsed"?"thin":r==="thin"?"expanded":"collapsed")}},[y,R,x]);let ie=t.useRef(d),_e=t.useRef("expanded");t.useEffect(()=>{a!=="collapsed"&&(_e.current=a,ie.current=a==="thin"?p:d)},[a,p,d]);let We=w&&!b&&a==="expanded"?t.createElement(Me.Provider,{value:{containerRef:s,cssVarName:"--sidebar-size",minSize:l,maxSize:c,defaultSize:d,orientation:"vertical",edge:"end",computeNext:(e,n,r)=>{let o=getComputedStyle(s.current).direction==="rtl",i=e-n;return r+(o?-i:i)},onResize:T,onResizeStart:Te,onResizeEnd:e=>{ke?.(e),P(e,{reason:"resize"}),C?.save?.(e)},target:"sidebar",collapsible:we,snapPoints:Ne,snapTolerance:De??8,collapseThreshold:Ve,requestCollapse:()=>O("collapsed"),requestToggle:()=>$e("sidebar")}},Q.length>0?Q.map((e,n)=>t.cloneElement(e,{key:e.key??n})):t.createElement(ge,null)):null,A=t.useCallback(e=>ze(e,"horizontal"),[]);t.useEffect(()=>{if(s.current&&typeof q>"u"&&typeof K<"u"){let e=A(K);if(typeof e=="number"&&Number.isFinite(e)){let o=Math.min((typeof c=="number"?c:void 0)??e,Math.max((typeof l=="number"?l:void 0)??e,e));s.current.style.setProperty("--sidebar-size",`${o}px`),P(o,{reason:"init"})}}},[]);let B=q;t.useEffect(()=>{if(!s.current||typeof B>"u")return;let e=A(B);if(typeof e=="number"&&Number.isFinite(e)){let o=Math.min((typeof c=="number"?c:void 0)??e,Math.max((typeof l=="number"?l:void 0)??e,e));s.current.style.setProperty("--sidebar-size",`${o}px`),P(o,{reason:"controlled"})}},[B,l,c,A,P]);let je=t.useMemo(()=>{if(!($==="sidebar"&&a==="collapsed"&&!b))return;let e=R??"both",n=a,r;if(e==="both")r=n==="collapsed"?"thin":n==="thin"?"expanded":"collapsed";else{let o=x();r=n==="collapsed"?o:"collapsed"}return r==="thin"?{"--peek-sidebar-width":`${p}px`}:{"--peek-sidebar-width":`var(--sidebar-size, ${d}px)`}},[$,a,b,R,x,p,d]);if(b){let e=a!=="collapsed";return t.createElement(ce,{open:e,onOpenChange:n=>O(n?"expanded":"collapsed")},t.createElement(ue,{side:"start",style:{padding:0},"aria-label":"Navigation","aria-describedby":void 0,width:{initial:`${e?a==="thin"?p:d:ie.current}px`}},t.createElement(le,null,t.createElement(fe,null,"Navigation")),X))}return t.createElement("div",{...Oe,ref:Ue,className:qe("rt-ShellSidebar",xe),"data-mode":a,"data-peek":$==="sidebar"||void 0,"data-presentation":m?U:void 0,"data-open":m&&Le&&se||void 0,"data-inset":H||void 0,style:{...He,"--sidebar-size":`${d}px`,"--sidebar-thin-size":`${p}px`,"--sidebar-min-size":`${l}px`,"--sidebar-max-size":`${c}px`,...je}},t.createElement("div",{className:"rt-ShellSidebarContent","data-visible":se||void 0},X),We)});Ce.displayName="Shell.Sidebar";Ce.Handle=E;export{Ce as a};
2
+ //# sourceMappingURL=chunk-M24UXMOQ.js.map
@@ -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-YUP6EICB.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-MK2R6DAU.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 Me}from"./chunk-GLC4QJBF.js";import{a as Ge}from"./chunk-WNSPLWRV.js";import{g as qe,j as Ye}from"./chunk-IX5HIHVI.js";import{a as Re}from"./chunk-4OBMRJHC.js";import{a as ce}from"./chunk-FVCWNSRU.js";import{b as U}from"./chunk-FWB47YCH.js";import{a as dt}from"./chunk-3XT5P2HO.js";var ft={};dt(ft,{AttachTrigger:()=>tt,Attachment:()=>Le,AttachmentsRow:()=>et,InlineEnd:()=>Ze,InlineStart:()=>Xe,Root:()=>Je,Row:()=>at,RowEnd:()=>ot,RowStart:()=>nt,Send:()=>rt,Textarea:()=>Qe});import*as e from"react";import M from"classnames";import{LazyMotion as mt,domAnimation as pt,m as ue}from"motion/react";import{useDropzone as ht}from"react-dropzone";var Oe=typeof window<"u"?e.useLayoutEffect:e.useEffect,_e=e.createContext(null),_=()=>{let l=e.useContext(_e);if(!l)throw new Error("Chatbar context not found. Wrap parts in <Chatbar.Root>.");return l},Je=e.forwardRef((l,i)=>{let{className:r,style:h,children:d,value:g,defaultValue:y="",onValueChange:m,open:s,defaultOpen:v=!1,onOpenChange:f,expandOn:x="both",minLines:P=3,maxLines:n=6,sendMode:C="whenDirty",disabled:S,readOnly:z,onSubmit:w,size:T="2",variant:J,color:k,radius:Q,panelBackground:O,material:K,width:de,maxWidth:ne,asChild:me,attachments:oe,defaultAttachments:ge=[],onAttachmentsChange:I,accept:X,multiple:j=!0,maxAttachments:A,maxFileSize:p,paste:pe=!0,pasteAccept:Z,clearOnSubmit:he=!0,onAttachmentReject:$,dropzone:W=!0,apiRef:a,...c}=l,b=K||O,R=g!=null,[F,Ce]=e.useState(y),ee=R?g:F,L=s!=null,[re,te]=e.useState(v),ae=L?s:re,ye=e.useRef(null),fe=e.useRef(null),ve=e.useRef(!1),q="attachments"in l,[De,Fe]=e.useState(ge),Y=e.useMemo(()=>q?oe??[]:De,[q,oe,De]),be=e.useRef(new Set),xe=t=>Array.isArray(t)?t:typeof t=="string"?t.split(",").map(o=>o.trim()):[],se=xe(X),He=xe(Z).length>0?xe(Z):se,Ne=(t,o)=>{if(o.length===0)return!0;let D=t.type.toLowerCase(),B=t.name.toLowerCase();for(let H of o){let E=H.toLowerCase();if(E.includes("/")){let[N,V]=E.split("/"),[u,le]=D.split("/");if(N==="*"||N===u&&(V==="*"||V===le))return!0}else if(E.startsWith(".")&&B.endsWith(E))return!0}return!1},Ae=e.useRef(Y);Ae.current=Y;let we=e.useRef(se);we.current=se;let ze=e.useRef(He);ze.current=He;let Pe=e.useRef(A);Pe.current=A;let Ee=e.useRef(p);Ee.current=p;let Se=e.useRef($);Se.current=$;let ke=e.useRef(I);ke.current=I;let Ie=e.useRef(f);Ie.current=f;let ie=e.useCallback(t=>{let o=Ae.current,D=we.current,B=Pe.current,H=Ee.current,E=[],N=[],V=typeof B=="number"?Math.max(B-o.length,0):1/0;for(let u of t){if(E.length>=V){N.push({file:u,reason:"count"});continue}if(typeof H=="number"&&u.size>H){N.push({file:u,reason:"size"});continue}if(!Ne(u,D)){N.push({file:u,reason:"type"});continue}let le=`${Date.now()}-${Math.random().toString(36).slice(2,8)}`,G=/\.(png|jpe?g|gif|webp|bmp|svg)$/i.test(u.name),Te=(u.type||"").toLowerCase().startsWith("image/")||G?URL.createObjectURL(u):void 0;Te&&be.current.add(Te),E.push({id:le,name:u.name,size:u.size,type:u.type,file:u,url:Te,status:"idle"})}if(E.length>0){let u=o.concat(E);q||Fe(u),ke.current?.(u),L||te(!0),Ie.current?.(!0)}N.length>0&&Se.current?.(N)},[q,L]),je=e.useCallback(t=>{let o=we.current,D=ze.current,B=Pe.current,H=Ee.current,E=Ae.current,N=D.length>0?D:o,V=[],u=[],le=typeof B=="number"?Math.max(B-E.length,0):1/0;for(let G of t){if(V.length>=le){u.push({file:G,reason:"count"});continue}if(typeof H=="number"&&G.size>H){u.push({file:G,reason:"size"});continue}if(!Ne(G,N)){u.push({file:G,reason:"type"});continue}V.push(G)}V.length>0&&ie(V),u.length>0&&Se.current?.(u)},[ie]);e.useEffect(()=>{let t=new Set(Y.map(o=>o.url).filter(Boolean));for(let o of Array.from(be.current))t.has(o)||(URL.revokeObjectURL(o),be.current.delete(o))},[Y]),e.useEffect(()=>{let t=be.current;return()=>{for(let o of Array.from(t))URL.revokeObjectURL(o);t.clear()}},[]);let st=me?U:"div",We=e.useCallback(t=>{L||te(t),f?.(t)},[L,f]),Be=e.useCallback(t=>{R||Ce(t),m?.(t)},[R,m]),Ve=e.useCallback(t=>{q||Fe(t),I?.(t)},[q,I]),it=e.useCallback(t=>{let o=t.relatedTarget,D=ye.current;D&&(o&&D.contains(o)||ve.current||(ee?.trim?.()??"").length===0&&Y.length===0&&(L||te(!1),f?.(!1)))},[L,f,ee,Y]),{getRootProps:lt,getInputProps:ct,isDragActive:Ue,open:Ke}=ht({onDrop:(t,o)=>{if(t.length>0&&ie(t),o.length>0&&$){let D=o.map(({file:B,errors:H})=>{let E=H[0]?.code==="file-too-large"?"size":H[0]?.code==="file-invalid-type"?"type":"count";return{file:B,reason:E}});$(D)}},accept:se.length>0?se.reduce((t,o)=>(o.includes("/")?t[o]=[]:o.startsWith(".")&&(t[o]=[]),t),{}):void 0,multiple:j,maxSize:p,noClick:!0,noKeyboard:!0,disabled:!W||S});e.useImperativeHandle(a,()=>({focusTextarea:()=>fe.current?.focus({preventScroll:!0}),openFilePicker:()=>{ve.current=!0,Ke()}}),[Ke]);let $e=e.useCallback(t=>{if(!(t instanceof Element))return!1;let o=t;return o.closest(".rt-ChatbarDropOverlay")?!0:!!o.closest('button, [role="button"], a[href], input, textarea, select, [contenteditable], [tabindex]:not([tabindex="-1"])')},[]),ut=e.useCallback(t=>{S||$e(t.target)||t.pointerType==="mouse"&&t.button!==0||(t.preventDefault(),fe.current?.focus({preventScroll:!0}))},[S,$e,fe]);return e.createElement(_e.Provider,{value:e.useMemo(()=>({open:ae,setOpen:We,isOpenControlled:L,value:ee,setValue:Be,isValueControlled:R,size:T,expandOn:x,minLines:P,maxLines:n,sendMode:C,disabled:S,readOnly:z,onSubmit:w,rootRef:ye,textareaRef:fe,attachments:Y,setAttachments:Ve,isAttachmentsControlled:q,accept:X,multiple:j,maxAttachments:A,maxFileSize:p,paste:pe,pasteAccept:Z,clearOnSubmit:he,onAttachmentReject:$,dropzone:W,appendFiles:ie,appendFilesFromPaste:je,fileDialogOpenRef:ve}),[ae,We,L,ee,Be,R,T,x,P,n,C,S,z,w,Y,Ve,q,X,j,A,p,pe,Z,he,$,W,ie,je])},e.createElement(mt,{features:pt},e.createElement(st,{...c,ref:t=>{typeof i=="function"?i(t):i&&(i.current=t),ye.current=t},className:M("rt-ChatbarRoot",`rt-r-size-${T}`,r),style:{position:"relative",width:de,maxWidth:ne,...h},"data-state":ae?"open":"closed","data-disabled":S?"":void 0,"data-readonly":z?"":void 0,"data-drop-active":W&&Ue?"":void 0,"data-accent-color":k,"data-radius":Q,"data-panel-background":b,"data-material":b,"aria-expanded":ae,onBlurCapture:it},W&&e.createElement("input",{...ct()}),e.createElement("div",{...W?lt():{},style:{width:"100%",height:"100%"},onPointerDown:ut},e.createElement(ue.div,{className:M("rt-ChatbarBox",`rt-variant-${J??"surface"}`),style:{position:"relative"},"data-accent-color":k,"data-radius":Q,"data-panel-background":b,"data-material":b,layout:!0,transition:{layout:{type:"spring",visualDuration:.15,bounce:.1}}},e.createElement(ue.div,{className:"rt-ChatbarGrid",layout:"position",transition:{layout:{type:"spring",visualDuration:.15,bounce:.1}}},d),W&&Ue&&e.createElement("div",{className:"rt-ChatbarDropOverlay"},e.createElement("div",{className:"rt-ChatbarDropContent"},e.createElement(Re,{color:"gray",size:T,weight:"medium"},"Drop files here to attach"))))))))});Je.displayName="Chatbar.Root";var Qe=e.forwardRef((l,i)=>{let{className:r,style:h,asChild:d,onFocus:g,onInput:y,onChange:m,onPaste:s,onKeyDown:v,submitOnEnter:f=!1,rows:x,...P}=l,n=_(),{open:C,minLines:S,maxLines:z,expandOn:w,disabled:T,readOnly:J,setOpen:k,setValue:Q,textareaRef:O,value:K,isValueControlled:de,sendMode:ne,paste:me,appendFilesFromPaste:oe,size:ge}=n,I=e.useRef(0),X=e.useRef(0),j=e.useRef(0),A=e.useCallback(()=>{let a=O.current;if(!a)return;let c=window.getComputedStyle(a),b=parseFloat(c.lineHeight)||20,R=parseFloat(c.paddingTop)||0,F=parseFloat(c.paddingBottom)||0;I.current=b,X.current=R+F,j.current=Math.ceil(1*b)+R+F},[O]),p=e.useCallback(a=>{let c=O.current;if(!c)return;c.style.height="auto",I.current===0&&A();let b=I.current,R=X.current,F=a??C,Ce=F?S:1,ee=F?z:1,L=Math.ceil(Ce*b)+R,re=Math.ceil(ee*b)+R,te=Math.max(c.scrollHeight,L),ae=Math.min(te,re);c.style.height=`${ae}px`,te>re?(c.style.overflowY="auto",c.style.maxHeight=`${re}px`):(c.style.overflowY="hidden",c.style.maxHeight="none")},[C,S,z,O,A]);Oe(()=>{p()},[p,K,C]),Oe(()=>{if(!(w==="overflow"||w==="both")||C)return;let a=O.current;if(!a)return;a.style.height="auto",j.current===0&&A(),a.scrollHeight>j.current+1&&(k(!0),p(!0),requestAnimationFrame(()=>p(!0)))},[K,w,C,k,O,A,p]),Oe(()=>{A(),p()},[A,p,ge]),e.useEffect(()=>{let a=O.current;if(!a||typeof ResizeObserver>"u")return;let c=I.current,b=new ResizeObserver(()=>{let R=window.getComputedStyle(a),F=parseFloat(R.lineHeight)||20;F!==c&&(c=F,A(),requestAnimationFrame(()=>p()))});return b.observe(a),()=>b.disconnect()},[O,A,p]),e.useEffect(()=>{},[]);let pe=e.useCallback(a=>{T||J||((w==="focus"||w==="both")&&!C&&k(!0),g?.(a))},[T,J,w,C,k,g]),Z=e.useCallback(a=>{let c=a.currentTarget,b=c.value;Q(b),(w==="overflow"||w==="both")&&!C&&(c.style.height="auto",j.current===0&&A(),c.scrollHeight>j.current+1&&(k(!0),p(!0),requestAnimationFrame(()=>p(!0)))),requestAnimationFrame(()=>p()),m?.(a)},[w,C,k,Q,m,p,A]),he=e.useCallback(a=>{if(me){let b=Array.from(a.clipboardData?.items??[]).filter(R=>R.kind==="file").map(R=>R.getAsFile()).filter(R=>!!R);b.length>0&&(a.preventDefault(),oe(b))}setTimeout(()=>{C?p():p(!0)},0),s?.(a)},[me,C,p,s,oe]),$=e.useCallback(a=>{if(!f){v?.(a);return}if(a.key==="Enter"&&!a.shiftKey&&!a.altKey&&!a.ctrlKey&&!a.metaKey&&!a.nativeEvent.isComposing){if(T||J){v?.(a);return}if(ne==="never"){v?.(a);return}let b=K.trim().length>0||n.attachments.length>0;if(ne==="whenDirty"&&!b){v?.(a);return}a.preventDefault(),n.onSubmit?.({value:K,attachments:n.attachments}),n.clearOnSubmit&&(de||Q(""),n.setAttachments([]))}v?.(a)},[f,T,J,ne,K,de,Q,n,v]),W=d?U:"textarea";return e.createElement(ue.div,{className:M("rt-ChatbarField","rt-ChatbarTextarea",r),layout:"position",transition:{layout:{type:"spring",visualDuration:.15,bounce:.1}}},e.createElement(W,{...P,ref:a=>{typeof i=="function"?i(a):i&&(i.current=a),O.current=a},className:"rt-ChatbarInput",value:K,onInput:y,onChange:Z,onFocus:pe,onPaste:he,onKeyDown:$,disabled:T,readOnly:J,rows:C?S:1,spellCheck:P.spellCheck??!0,autoCorrect:P.autoCorrect??"on",style:h}))});Qe.displayName="Chatbar.Textarea";var Xe=e.forwardRef((l,i)=>{let{children:r,asChild:h,style:d,className:g,...y}=l;return _().open?null:e.createElement(h?U:"div",{...y,ref:i,className:M("rt-ChatbarInlineStart",g),style:d},r)});Xe.displayName="Chatbar.InlineStart";var Ze=e.forwardRef((l,i)=>{let{children:r,asChild:h,style:d,className:g,...y}=l;return _().open?null:e.createElement(h?U:"div",{...y,ref:i,className:M("rt-ChatbarInlineEnd",g),style:d},r)});Ze.displayName="Chatbar.InlineEnd";var et=e.forwardRef((l,i)=>{let{asChild:r,forceMount:h,renderAttachment:d,className:g,style:y,...m}=l,s=_();if(!(s.attachments.length>0)&&!h)return null;let f=r?U:"div";return e.createElement(ue.div,{layout:"position",transition:{layout:{type:"spring",visualDuration:.15,bounce:.1}}},e.createElement(f,{...m,ref:i,className:M("rt-ChatbarAttachmentsRow",g),style:y,role:"list","aria-label":m["aria-label"]??"Attachments"},e.createElement(Ge,{className:"rt-ChatbarScrollArea",scrollbars:"horizontal",size:"1"},e.createElement(ce,{align:"center",gap:"2",style:{minWidth:"fit-content"}},s.attachments.map(x=>e.createElement(Le,{key:x.id,attachment:x,asChild:!!d},d?.(x)))))))});et.displayName="Chatbar.AttachmentsRow";var Le=e.forwardRef((l,i)=>{let{attachment:r,asChild:h,className:d,style:g,children:y,...m}=l,s=_(),v=h?U:"div",f=!!r.url&&r.type.startsWith("image/");return e.createElement(v,{...m,ref:i,className:M("rt-ChatbarAttachment",d),style:g,role:"listitem","data-kind":f?"image":"file",title:r.name},y??e.createElement(ce,{align:"center",gap:"2",pr:f?void 0:"6"},e.createElement("div",{className:"rt-ChatbarAttachmentPreview","aria-hidden":!0},f?e.createElement("img",{className:"rt-ChatbarAttachmentImage",src:r.url,alt:""}):e.createElement(Ye,null)),!f&&e.createElement(ce,{direction:"column",gap:"0",style:{minWidth:0}},e.createElement(Re,{size:s.size,weight:"medium",style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},r.name),e.createElement(Re,{size:"1",color:"gray"},Math.ceil(r.size/1024)," KB")),e.createElement(Me,{className:"rt-ChatbarAttachmentRemove","aria-label":`Remove ${r.name}`,size:"1",variant:"classic",highContrast:!0,color:"gray",onClick:()=>s.setAttachments(s.attachments.filter(x=>x.id!==r.id))},e.createElement(qe,null))))});Le.displayName="Chatbar.Attachment";var tt=e.forwardRef((l,i)=>{let{asChild:r,accept:h,multiple:d,className:g,style:y,...m}=l,s=_(),v=e.useRef(null),f=r?U:"button",x=h??s.accept,P=(Array.isArray(x)?x:x?.split(",")??[]).join(",");return e.useEffect(()=>{let n=()=>{s.fileDialogOpenRef.current=!1};return window.addEventListener("focus",n),()=>window.removeEventListener("focus",n)},[s.fileDialogOpenRef]),e.createElement(e.Fragment,null,e.createElement(f,{...m,ref:i,className:M("rt-ChatbarAttachTrigger",g),style:y,type:m.type??"button","aria-label":m["aria-label"]??"Add attachments",onPointerDown:n=>{s.fileDialogOpenRef.current=!0,m.onPointerDown?.(n)},onMouseDown:n=>{s.fileDialogOpenRef.current=!0,m.onMouseDown?.(n)},onClick:n=>{s.fileDialogOpenRef.current=!0,v.current&&v.current.click(),m.onClick?.(n)}}),e.createElement("input",{ref:v,type:"file",accept:P,multiple:d??s.multiple,tabIndex:-1,style:{display:"none"},onChange:n=>{let C=Array.from(n.currentTarget.files??[]);C.length>0&&s.appendFiles(C),s.fileDialogOpenRef.current=!1,n.currentTarget.value=""}}))});tt.displayName="Chatbar.AttachTrigger";var at=e.forwardRef((l,i)=>{let{asChild:r,children:h,className:d,style:g,...y}=l;if(!_().open)return null;let s=r?U:"div";return e.createElement(ue.div,{layout:"position",transition:{layout:{type:"spring",visualDuration:.15,bounce:.1}}},e.createElement(s,{...y,ref:i,className:M("rt-ChatbarRow",d),style:g},e.createElement(ce,{align:"center",justify:"between",width:"100%"},h)))});at.displayName="Chatbar.Row";var nt=e.forwardRef((l,i)=>{let{className:r,style:h,...d}=l;return e.createElement("div",{...d,ref:i,className:M("rt-ChatbarRowStart",r),style:h})});nt.displayName="Chatbar.RowStart";var ot=e.forwardRef((l,i)=>{let{className:r,style:h,...d}=l;return e.createElement("div",{...d,ref:i,className:M("rt-ChatbarRowEnd",r),style:h})});ot.displayName="Chatbar.RowEnd";var rt=e.forwardRef((l,i)=>{let{asChild:r,clearOnSend:h=!0,disabled:d,children:g,className:y,style:m,size:s,variant:v,"aria-label":f,"aria-labelledby":x,...P}=l,n=_(),S=n.value.trim().length>0||n.attachments.length>0,z=n.sendMode==="always"||n.sendMode==="whenDirty"&&S;if(n.sendMode==="never")return null;let w=T=>{n.disabled||n.readOnly||(n.onSubmit?.({value:n.value,attachments:n.attachments}),h&&(n.isValueControlled||n.setValue(""),n.clearOnSubmit&&n.setAttachments([])),P.onClick?.(T))};return e.createElement(Me,{...P,ref:i,size:s??n.size,variant:v??(n.open?"solid":"ghost"),disabled:d||n.disabled||n.readOnly,className:M("rt-ChatbarSend",y),style:{opacity:z?1:0,pointerEvents:z?"auto":"none",...m},asChild:r,onClick:w,"aria-label":f??(x?void 0:"Send"),"aria-labelledby":x},g??e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"lucide lucide-arrow-right-icon lucide-arrow-right"},e.createElement("path",{d:"M5 12h14"}),e.createElement("path",{d:"m12 5 7 7-7 7"})))});rt.displayName="Chatbar.Send";export{Je as a,Qe as b,Xe as c,Ze as d,et as e,Le as f,tt as g,at as h,nt as i,ot as j,rt as k,ft as l};
2
- //# sourceMappingURL=chunk-DNI4QRXQ.js.map
1
+ import{a as Me}from"./chunk-PLWXTEVE.js";import{a as Ge}from"./chunk-GJSGKE7B.js";import{g as qe,j as Ye}from"./chunk-IX5HIHVI.js";import{a as Re}from"./chunk-H7ST535H.js";import{a as ce}from"./chunk-FHOCUZDR.js";import{b as U}from"./chunk-FWB47YCH.js";import{a as dt}from"./chunk-3XT5P2HO.js";var ft={};dt(ft,{AttachTrigger:()=>tt,Attachment:()=>Le,AttachmentsRow:()=>et,InlineEnd:()=>Ze,InlineStart:()=>Xe,Root:()=>Je,Row:()=>at,RowEnd:()=>ot,RowStart:()=>nt,Send:()=>rt,Textarea:()=>Qe});import*as e from"react";import M from"classnames";import{LazyMotion as mt,domAnimation as pt,m as ue}from"motion/react";import{useDropzone as ht}from"react-dropzone";var Oe=typeof window<"u"?e.useLayoutEffect:e.useEffect,_e=e.createContext(null),_=()=>{let l=e.useContext(_e);if(!l)throw new Error("Chatbar context not found. Wrap parts in <Chatbar.Root>.");return l},Je=e.forwardRef((l,i)=>{let{className:r,style:h,children:d,value:g,defaultValue:y="",onValueChange:m,open:s,defaultOpen:v=!1,onOpenChange:f,expandOn:x="both",minLines:P=3,maxLines:n=6,sendMode:C="whenDirty",disabled:S,readOnly:z,onSubmit:w,size:T="2",variant:J,color:k,radius:Q,panelBackground:O,material:K,width:de,maxWidth:ne,asChild:me,attachments:oe,defaultAttachments:ge=[],onAttachmentsChange:I,accept:X,multiple:j=!0,maxAttachments:A,maxFileSize:p,paste:pe=!0,pasteAccept:Z,clearOnSubmit:he=!0,onAttachmentReject:$,dropzone:W=!0,apiRef:a,...c}=l,b=K||O,R=g!=null,[F,Ce]=e.useState(y),ee=R?g:F,L=s!=null,[re,te]=e.useState(v),ae=L?s:re,ye=e.useRef(null),fe=e.useRef(null),ve=e.useRef(!1),q="attachments"in l,[De,Fe]=e.useState(ge),Y=e.useMemo(()=>q?oe??[]:De,[q,oe,De]),be=e.useRef(new Set),xe=t=>Array.isArray(t)?t:typeof t=="string"?t.split(",").map(o=>o.trim()):[],se=xe(X),He=xe(Z).length>0?xe(Z):se,Ne=(t,o)=>{if(o.length===0)return!0;let D=t.type.toLowerCase(),B=t.name.toLowerCase();for(let H of o){let E=H.toLowerCase();if(E.includes("/")){let[N,V]=E.split("/"),[u,le]=D.split("/");if(N==="*"||N===u&&(V==="*"||V===le))return!0}else if(E.startsWith(".")&&B.endsWith(E))return!0}return!1},Ae=e.useRef(Y);Ae.current=Y;let we=e.useRef(se);we.current=se;let ze=e.useRef(He);ze.current=He;let Pe=e.useRef(A);Pe.current=A;let Ee=e.useRef(p);Ee.current=p;let Se=e.useRef($);Se.current=$;let ke=e.useRef(I);ke.current=I;let Ie=e.useRef(f);Ie.current=f;let ie=e.useCallback(t=>{let o=Ae.current,D=we.current,B=Pe.current,H=Ee.current,E=[],N=[],V=typeof B=="number"?Math.max(B-o.length,0):1/0;for(let u of t){if(E.length>=V){N.push({file:u,reason:"count"});continue}if(typeof H=="number"&&u.size>H){N.push({file:u,reason:"size"});continue}if(!Ne(u,D)){N.push({file:u,reason:"type"});continue}let le=`${Date.now()}-${Math.random().toString(36).slice(2,8)}`,G=/\.(png|jpe?g|gif|webp|bmp|svg)$/i.test(u.name),Te=(u.type||"").toLowerCase().startsWith("image/")||G?URL.createObjectURL(u):void 0;Te&&be.current.add(Te),E.push({id:le,name:u.name,size:u.size,type:u.type,file:u,url:Te,status:"idle"})}if(E.length>0){let u=o.concat(E);q||Fe(u),ke.current?.(u),L||te(!0),Ie.current?.(!0)}N.length>0&&Se.current?.(N)},[q,L]),je=e.useCallback(t=>{let o=we.current,D=ze.current,B=Pe.current,H=Ee.current,E=Ae.current,N=D.length>0?D:o,V=[],u=[],le=typeof B=="number"?Math.max(B-E.length,0):1/0;for(let G of t){if(V.length>=le){u.push({file:G,reason:"count"});continue}if(typeof H=="number"&&G.size>H){u.push({file:G,reason:"size"});continue}if(!Ne(G,N)){u.push({file:G,reason:"type"});continue}V.push(G)}V.length>0&&ie(V),u.length>0&&Se.current?.(u)},[ie]);e.useEffect(()=>{let t=new Set(Y.map(o=>o.url).filter(Boolean));for(let o of Array.from(be.current))t.has(o)||(URL.revokeObjectURL(o),be.current.delete(o))},[Y]),e.useEffect(()=>{let t=be.current;return()=>{for(let o of Array.from(t))URL.revokeObjectURL(o);t.clear()}},[]);let st=me?U:"div",We=e.useCallback(t=>{L||te(t),f?.(t)},[L,f]),Be=e.useCallback(t=>{R||Ce(t),m?.(t)},[R,m]),Ve=e.useCallback(t=>{q||Fe(t),I?.(t)},[q,I]),it=e.useCallback(t=>{let o=t.relatedTarget,D=ye.current;D&&(o&&D.contains(o)||ve.current||(ee?.trim?.()??"").length===0&&Y.length===0&&(L||te(!1),f?.(!1)))},[L,f,ee,Y]),{getRootProps:lt,getInputProps:ct,isDragActive:Ue,open:Ke}=ht({onDrop:(t,o)=>{if(t.length>0&&ie(t),o.length>0&&$){let D=o.map(({file:B,errors:H})=>{let E=H[0]?.code==="file-too-large"?"size":H[0]?.code==="file-invalid-type"?"type":"count";return{file:B,reason:E}});$(D)}},accept:se.length>0?se.reduce((t,o)=>(o.includes("/")?t[o]=[]:o.startsWith(".")&&(t[o]=[]),t),{}):void 0,multiple:j,maxSize:p,noClick:!0,noKeyboard:!0,disabled:!W||S});e.useImperativeHandle(a,()=>({focusTextarea:()=>fe.current?.focus({preventScroll:!0}),openFilePicker:()=>{ve.current=!0,Ke()}}),[Ke]);let $e=e.useCallback(t=>{if(!(t instanceof Element))return!1;let o=t;return o.closest(".rt-ChatbarDropOverlay")?!0:!!o.closest('button, [role="button"], a[href], input, textarea, select, [contenteditable], [tabindex]:not([tabindex="-1"])')},[]),ut=e.useCallback(t=>{S||$e(t.target)||t.pointerType==="mouse"&&t.button!==0||(t.preventDefault(),fe.current?.focus({preventScroll:!0}))},[S,$e,fe]);return e.createElement(_e.Provider,{value:e.useMemo(()=>({open:ae,setOpen:We,isOpenControlled:L,value:ee,setValue:Be,isValueControlled:R,size:T,expandOn:x,minLines:P,maxLines:n,sendMode:C,disabled:S,readOnly:z,onSubmit:w,rootRef:ye,textareaRef:fe,attachments:Y,setAttachments:Ve,isAttachmentsControlled:q,accept:X,multiple:j,maxAttachments:A,maxFileSize:p,paste:pe,pasteAccept:Z,clearOnSubmit:he,onAttachmentReject:$,dropzone:W,appendFiles:ie,appendFilesFromPaste:je,fileDialogOpenRef:ve}),[ae,We,L,ee,Be,R,T,x,P,n,C,S,z,w,Y,Ve,q,X,j,A,p,pe,Z,he,$,W,ie,je])},e.createElement(mt,{features:pt},e.createElement(st,{...c,ref:t=>{typeof i=="function"?i(t):i&&(i.current=t),ye.current=t},className:M("rt-ChatbarRoot",`rt-r-size-${T}`,r),style:{position:"relative",width:de,maxWidth:ne,...h},"data-state":ae?"open":"closed","data-disabled":S?"":void 0,"data-readonly":z?"":void 0,"data-drop-active":W&&Ue?"":void 0,"data-accent-color":k,"data-radius":Q,"data-panel-background":b,"data-material":b,"aria-expanded":ae,onBlurCapture:it},W&&e.createElement("input",{...ct()}),e.createElement("div",{...W?lt():{},style:{width:"100%",height:"100%"},onPointerDown:ut},e.createElement(ue.div,{className:M("rt-ChatbarBox",`rt-variant-${J??"surface"}`),style:{position:"relative"},"data-accent-color":k,"data-radius":Q,"data-panel-background":b,"data-material":b,layout:!0,transition:{layout:{type:"spring",visualDuration:.15,bounce:.1}}},e.createElement(ue.div,{className:"rt-ChatbarGrid",layout:"position",transition:{layout:{type:"spring",visualDuration:.15,bounce:.1}}},d),W&&Ue&&e.createElement("div",{className:"rt-ChatbarDropOverlay"},e.createElement("div",{className:"rt-ChatbarDropContent"},e.createElement(Re,{color:"gray",size:T,weight:"medium"},"Drop files here to attach"))))))))});Je.displayName="Chatbar.Root";var Qe=e.forwardRef((l,i)=>{let{className:r,style:h,asChild:d,onFocus:g,onInput:y,onChange:m,onPaste:s,onKeyDown:v,submitOnEnter:f=!1,rows:x,...P}=l,n=_(),{open:C,minLines:S,maxLines:z,expandOn:w,disabled:T,readOnly:J,setOpen:k,setValue:Q,textareaRef:O,value:K,isValueControlled:de,sendMode:ne,paste:me,appendFilesFromPaste:oe,size:ge}=n,I=e.useRef(0),X=e.useRef(0),j=e.useRef(0),A=e.useCallback(()=>{let a=O.current;if(!a)return;let c=window.getComputedStyle(a),b=parseFloat(c.lineHeight)||20,R=parseFloat(c.paddingTop)||0,F=parseFloat(c.paddingBottom)||0;I.current=b,X.current=R+F,j.current=Math.ceil(1*b)+R+F},[O]),p=e.useCallback(a=>{let c=O.current;if(!c)return;c.style.height="auto",I.current===0&&A();let b=I.current,R=X.current,F=a??C,Ce=F?S:1,ee=F?z:1,L=Math.ceil(Ce*b)+R,re=Math.ceil(ee*b)+R,te=Math.max(c.scrollHeight,L),ae=Math.min(te,re);c.style.height=`${ae}px`,te>re?(c.style.overflowY="auto",c.style.maxHeight=`${re}px`):(c.style.overflowY="hidden",c.style.maxHeight="none")},[C,S,z,O,A]);Oe(()=>{p()},[p,K,C]),Oe(()=>{if(!(w==="overflow"||w==="both")||C)return;let a=O.current;if(!a)return;a.style.height="auto",j.current===0&&A(),a.scrollHeight>j.current+1&&(k(!0),p(!0),requestAnimationFrame(()=>p(!0)))},[K,w,C,k,O,A,p]),Oe(()=>{A(),p()},[A,p,ge]),e.useEffect(()=>{let a=O.current;if(!a||typeof ResizeObserver>"u")return;let c=I.current,b=new ResizeObserver(()=>{let R=window.getComputedStyle(a),F=parseFloat(R.lineHeight)||20;F!==c&&(c=F,A(),requestAnimationFrame(()=>p()))});return b.observe(a),()=>b.disconnect()},[O,A,p]),e.useEffect(()=>{},[]);let pe=e.useCallback(a=>{T||J||((w==="focus"||w==="both")&&!C&&k(!0),g?.(a))},[T,J,w,C,k,g]),Z=e.useCallback(a=>{let c=a.currentTarget,b=c.value;Q(b),(w==="overflow"||w==="both")&&!C&&(c.style.height="auto",j.current===0&&A(),c.scrollHeight>j.current+1&&(k(!0),p(!0),requestAnimationFrame(()=>p(!0)))),requestAnimationFrame(()=>p()),m?.(a)},[w,C,k,Q,m,p,A]),he=e.useCallback(a=>{if(me){let b=Array.from(a.clipboardData?.items??[]).filter(R=>R.kind==="file").map(R=>R.getAsFile()).filter(R=>!!R);b.length>0&&(a.preventDefault(),oe(b))}setTimeout(()=>{C?p():p(!0)},0),s?.(a)},[me,C,p,s,oe]),$=e.useCallback(a=>{if(!f){v?.(a);return}if(a.key==="Enter"&&!a.shiftKey&&!a.altKey&&!a.ctrlKey&&!a.metaKey&&!a.nativeEvent.isComposing){if(T||J){v?.(a);return}if(ne==="never"){v?.(a);return}let b=K.trim().length>0||n.attachments.length>0;if(ne==="whenDirty"&&!b){v?.(a);return}a.preventDefault(),n.onSubmit?.({value:K,attachments:n.attachments}),n.clearOnSubmit&&(de||Q(""),n.setAttachments([]))}v?.(a)},[f,T,J,ne,K,de,Q,n,v]),W=d?U:"textarea";return e.createElement(ue.div,{className:M("rt-ChatbarField","rt-ChatbarTextarea",r),layout:"position",transition:{layout:{type:"spring",visualDuration:.15,bounce:.1}}},e.createElement(W,{...P,ref:a=>{typeof i=="function"?i(a):i&&(i.current=a),O.current=a},className:"rt-ChatbarInput",value:K,onInput:y,onChange:Z,onFocus:pe,onPaste:he,onKeyDown:$,disabled:T,readOnly:J,rows:C?S:1,spellCheck:P.spellCheck??!0,autoCorrect:P.autoCorrect??"on",style:h}))});Qe.displayName="Chatbar.Textarea";var Xe=e.forwardRef((l,i)=>{let{children:r,asChild:h,style:d,className:g,...y}=l;return _().open?null:e.createElement(h?U:"div",{...y,ref:i,className:M("rt-ChatbarInlineStart",g),style:d},r)});Xe.displayName="Chatbar.InlineStart";var Ze=e.forwardRef((l,i)=>{let{children:r,asChild:h,style:d,className:g,...y}=l;return _().open?null:e.createElement(h?U:"div",{...y,ref:i,className:M("rt-ChatbarInlineEnd",g),style:d},r)});Ze.displayName="Chatbar.InlineEnd";var et=e.forwardRef((l,i)=>{let{asChild:r,forceMount:h,renderAttachment:d,className:g,style:y,...m}=l,s=_();if(!(s.attachments.length>0)&&!h)return null;let f=r?U:"div";return e.createElement(ue.div,{layout:"position",transition:{layout:{type:"spring",visualDuration:.15,bounce:.1}}},e.createElement(f,{...m,ref:i,className:M("rt-ChatbarAttachmentsRow",g),style:y,role:"list","aria-label":m["aria-label"]??"Attachments"},e.createElement(Ge,{className:"rt-ChatbarScrollArea",scrollbars:"horizontal",size:"1"},e.createElement(ce,{align:"center",gap:"2",style:{minWidth:"fit-content"}},s.attachments.map(x=>e.createElement(Le,{key:x.id,attachment:x,asChild:!!d},d?.(x)))))))});et.displayName="Chatbar.AttachmentsRow";var Le=e.forwardRef((l,i)=>{let{attachment:r,asChild:h,className:d,style:g,children:y,...m}=l,s=_(),v=h?U:"div",f=!!r.url&&r.type.startsWith("image/");return e.createElement(v,{...m,ref:i,className:M("rt-ChatbarAttachment",d),style:g,role:"listitem","data-kind":f?"image":"file",title:r.name},y??e.createElement(ce,{align:"center",gap:"2",pr:f?void 0:"6"},e.createElement("div",{className:"rt-ChatbarAttachmentPreview","aria-hidden":!0},f?e.createElement("img",{className:"rt-ChatbarAttachmentImage",src:r.url,alt:""}):e.createElement(Ye,null)),!f&&e.createElement(ce,{direction:"column",gap:"0",style:{minWidth:0}},e.createElement(Re,{size:s.size,weight:"medium",style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},r.name),e.createElement(Re,{size:"1",color:"gray"},Math.ceil(r.size/1024)," KB")),e.createElement(Me,{className:"rt-ChatbarAttachmentRemove","aria-label":`Remove ${r.name}`,size:"1",variant:"classic",highContrast:!0,color:"gray",onClick:()=>s.setAttachments(s.attachments.filter(x=>x.id!==r.id))},e.createElement(qe,null))))});Le.displayName="Chatbar.Attachment";var tt=e.forwardRef((l,i)=>{let{asChild:r,accept:h,multiple:d,className:g,style:y,...m}=l,s=_(),v=e.useRef(null),f=r?U:"button",x=h??s.accept,P=(Array.isArray(x)?x:x?.split(",")??[]).join(",");return e.useEffect(()=>{let n=()=>{s.fileDialogOpenRef.current=!1};return window.addEventListener("focus",n),()=>window.removeEventListener("focus",n)},[s.fileDialogOpenRef]),e.createElement(e.Fragment,null,e.createElement(f,{...m,ref:i,className:M("rt-ChatbarAttachTrigger",g),style:y,type:m.type??"button","aria-label":m["aria-label"]??"Add attachments",onPointerDown:n=>{s.fileDialogOpenRef.current=!0,m.onPointerDown?.(n)},onMouseDown:n=>{s.fileDialogOpenRef.current=!0,m.onMouseDown?.(n)},onClick:n=>{s.fileDialogOpenRef.current=!0,v.current&&v.current.click(),m.onClick?.(n)}}),e.createElement("input",{ref:v,type:"file",accept:P,multiple:d??s.multiple,tabIndex:-1,style:{display:"none"},onChange:n=>{let C=Array.from(n.currentTarget.files??[]);C.length>0&&s.appendFiles(C),s.fileDialogOpenRef.current=!1,n.currentTarget.value=""}}))});tt.displayName="Chatbar.AttachTrigger";var at=e.forwardRef((l,i)=>{let{asChild:r,children:h,className:d,style:g,...y}=l;if(!_().open)return null;let s=r?U:"div";return e.createElement(ue.div,{layout:"position",transition:{layout:{type:"spring",visualDuration:.15,bounce:.1}}},e.createElement(s,{...y,ref:i,className:M("rt-ChatbarRow",d),style:g},e.createElement(ce,{align:"center",justify:"between",width:"100%"},h)))});at.displayName="Chatbar.Row";var nt=e.forwardRef((l,i)=>{let{className:r,style:h,...d}=l;return e.createElement("div",{...d,ref:i,className:M("rt-ChatbarRowStart",r),style:h})});nt.displayName="Chatbar.RowStart";var ot=e.forwardRef((l,i)=>{let{className:r,style:h,...d}=l;return e.createElement("div",{...d,ref:i,className:M("rt-ChatbarRowEnd",r),style:h})});ot.displayName="Chatbar.RowEnd";var rt=e.forwardRef((l,i)=>{let{asChild:r,clearOnSend:h=!0,disabled:d,children:g,className:y,style:m,size:s,variant:v,"aria-label":f,"aria-labelledby":x,...P}=l,n=_(),S=n.value.trim().length>0||n.attachments.length>0,z=n.sendMode==="always"||n.sendMode==="whenDirty"&&S;if(n.sendMode==="never")return null;let w=T=>{n.disabled||n.readOnly||(n.onSubmit?.({value:n.value,attachments:n.attachments}),h&&(n.isValueControlled||n.setValue(""),n.clearOnSubmit&&n.setAttachments([])),P.onClick?.(T))};return e.createElement(Me,{...P,ref:i,size:s??n.size,variant:v??(n.open?"solid":"ghost"),disabled:d||n.disabled||n.readOnly,className:M("rt-ChatbarSend",y),style:{opacity:z?1:0,pointerEvents:z?"auto":"none",...m},asChild:r,onClick:w,"aria-label":f??(x?void 0:"Send"),"aria-labelledby":x},g??e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"lucide lucide-arrow-right-icon lucide-arrow-right"},e.createElement("path",{d:"M5 12h14"}),e.createElement("path",{d:"m12 5 7 7-7 7"})))});rt.displayName="Chatbar.Send";export{Je as a,Qe as b,Xe as c,Ze as d,et as e,Le as f,tt as g,at as h,nt as i,ot as j,rt as k,ft as l};
2
+ //# sourceMappingURL=chunk-MOR3NSXQ.js.map
@@ -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 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 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-PLWXTEVE.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-OSRJRBKP.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,5 +1,5 @@
1
- import{a as l}from"./chunk-2N2AQNJH.js";import{a as r}from"./chunk-XHQGMOXV.js";import{a}from"./chunk-DZ4H2KTP.js";import*as t from"react";import R from"classnames";var P=t.forwardRef(({className:i,tooltip:o,tooltipSide:s="top",tooltipAlign:c="center",tooltipDelayDuration:p,tooltipDisableHoverableContent:b,...e},u)=>{let{tooltipId:m,hasTooltip:d,accessibilityProps:B}=l(o),y="aria-label"in e&&e["aria-label"],f="aria-labelledby"in e&&e["aria-labelledby"],I="children"in e&&e.children;!y&&!f&&!I&&console.error(`IconButton: Icon buttons must have an accessible name. Please provide either:
1
+ import{a as l}from"./chunk-2N2AQNJH.js";import{a as r}from"./chunk-RMKXWYOV.js";import{a}from"./chunk-2UPAYDKR.js";import*as t from"react";import R from"classnames";var P=t.forwardRef(({className:i,tooltip:o,tooltipSide:s="top",tooltipAlign:c="center",tooltipDelayDuration:p,tooltipDisableHoverableContent:b,...e},u)=>{let{tooltipId:m,hasTooltip:d,accessibilityProps:B}=l(o),y="aria-label"in e&&e["aria-label"],f="aria-labelledby"in e&&e["aria-labelledby"],I="children"in e&&e.children;!y&&!f&&!I&&console.error(`IconButton: Icon buttons must have an accessible name. Please provide either:
2
2
  - aria-label prop with descriptive text
3
3
  - aria-labelledby prop referencing a label element
4
4
  - or visible text children`);let n=t.createElement(a,{...e,...B,ref:u,className:R("rt-IconButton",i)});return d?t.createElement(r,{content:o,side:s,align:c,delayDuration:p,disableHoverableContent:b,id:m},n):n});P.displayName="IconButton";export{P as a};
5
- //# sourceMappingURL=chunk-GLC4QJBF.js.map
5
+ //# sourceMappingURL=chunk-PLWXTEVE.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
@@ -1,2 +1,2 @@
1
- import{a as v}from"./chunk-DXI5P5O4.js";import{a as f}from"./chunk-XGGLYV5D.js";import{b as P}from"./chunk-IX5HIHVI.js";import{a as h,e as l,f as u,g as R}from"./chunk-V32EP3S7.js";import{b}from"./chunk-LN5SP46K.js";import{a as x}from"./chunk-GSTOGDAJ.js";import{a as m}from"./chunk-KMPBTEZH.js";import{a as k}from"./chunk-UMX5MGLG.js";import{a as z}from"./chunk-3XT5P2HO.js";var _={};z(_,{Item:()=>g,Root:()=>I});import*as o from"react";import d from"classnames";import{Context as D}from"radix-ui/internal";var y="CheckboxCards",[S]=D.createContextScope(y,[h]),G=h(),[B,E]=S(y),I=o.forwardRef((r,s)=>{let a=b(),c=r.panelBackground??a.panelBackground,{__scopeCheckboxCards:t,className:p,color:e,panelBackground:C,...i}=m(r,f,x),n=G(t);return o.createElement(B,{scope:t,size:r.size,variant:r.variant,highContrast:r.highContrast},o.createElement(v,{asChild:!0},o.createElement(l,{...n,"data-accent-color":e,"data-panel-background":c,...i,ref:s,className:d("rt-CheckboxCardsRoot",p)})))});I.displayName="CheckboxCards.Root";var g=o.forwardRef(({__scopeCheckboxCards:r,children:s,className:a,style:c,...t},p)=>{let e=E("CheckboxCardsItem",r),C=G(r),{className:i}=m({size:e?.size,variant:e?.variant||"solid",highContrast:e?.highContrast},k),n=e?.variant?`rt-variant-${e.variant}`:void 0,N=e?.size?`rt-r-size-${e.size}`:void 0;return o.createElement("label",{className:d("rt-BaseCard","rt-CheckboxCardsItem",n,N,a),style:c},s,o.createElement(u,{...C,...t,ref:p,className:d("rt-reset","rt-BaseCheckboxRoot","rt-CheckboxCardCheckbox",i)},o.createElement(R,{...C,asChild:!0,className:"rt-BaseCheckboxIndicator"},o.createElement(P,null))))});g.displayName="CheckboxCards.Item";export{I as a,g as b,_ as c};
2
- //# sourceMappingURL=chunk-QOWA5LK5.js.map
1
+ import{a as v}from"./chunk-VX6ARMWP.js";import{a as f}from"./chunk-XGGLYV5D.js";import{b as P}from"./chunk-IX5HIHVI.js";import{a as h,e as l,f as u,g as R}from"./chunk-V32EP3S7.js";import{b}from"./chunk-YUP6EICB.js";import{a as x}from"./chunk-GSTOGDAJ.js";import{a as m}from"./chunk-6FLLFCBU.js";import{a as k}from"./chunk-UMX5MGLG.js";import{a as z}from"./chunk-3XT5P2HO.js";var _={};z(_,{Item:()=>g,Root:()=>I});import*as o from"react";import d from"classnames";import{Context as D}from"radix-ui/internal";var y="CheckboxCards",[S]=D.createContextScope(y,[h]),G=h(),[B,E]=S(y),I=o.forwardRef((r,s)=>{let a=b(),c=r.panelBackground??a.panelBackground,{__scopeCheckboxCards:t,className:p,color:e,panelBackground:C,...i}=m(r,f,x),n=G(t);return o.createElement(B,{scope:t,size:r.size,variant:r.variant,highContrast:r.highContrast},o.createElement(v,{asChild:!0},o.createElement(l,{...n,"data-accent-color":e,"data-panel-background":c,...i,ref:s,className:d("rt-CheckboxCardsRoot",p)})))});I.displayName="CheckboxCards.Root";var g=o.forwardRef(({__scopeCheckboxCards:r,children:s,className:a,style:c,...t},p)=>{let e=E("CheckboxCardsItem",r),C=G(r),{className:i}=m({size:e?.size,variant:e?.variant||"solid",highContrast:e?.highContrast},k),n=e?.variant?`rt-variant-${e.variant}`:void 0,N=e?.size?`rt-r-size-${e.size}`:void 0;return o.createElement("label",{className:d("rt-BaseCard","rt-CheckboxCardsItem",n,N,a),style:c},s,o.createElement(u,{...C,...t,ref:p,className:d("rt-reset","rt-BaseCheckboxRoot","rt-CheckboxCardCheckbox",i)},o.createElement(R,{...C,asChild:!0,className:"rt-BaseCheckboxIndicator"},o.createElement(P,null))))});g.displayName="CheckboxCards.Item";export{I as a,g as b,_ as c};
2
+ //# sourceMappingURL=chunk-QEOAXJLN.js.map
@@ -1,2 +1,2 @@
1
- import{a as r}from"./chunk-BPVVFHYD.js";import{c as i}from"./chunk-LN5SP46K.js";import{a as p}from"./chunk-4OBMRJHC.js";import{a as e}from"./chunk-KMPBTEZH.js";import*as o from"react";import v from"classnames";import{Tooltip as t}from"radix-ui";var u=o.forwardRef((n,s)=>{let{children:l,className:m,open:a,defaultOpen:f,onOpenChange:P,delayDuration:T,disableHoverableContent:c,content:d,container:R,forceMount:C,...y}=e(n,r),h={open:a,defaultOpen:f,onOpenChange:P,delayDuration:T,disableHoverableContent:c};return o.createElement(t.Root,{...h},o.createElement(t.Trigger,{asChild:!0},l),o.createElement(t.Portal,{container:R,forceMount:C},o.createElement(i,{asChild:!0},o.createElement(t.Content,{sideOffset:4,collisionPadding:10,...y,asChild:!1,ref:s,className:v("rt-TooltipContent",m)},o.createElement(p,{as:"p",className:"rt-TooltipText",size:"1"},d),o.createElement(t.Arrow,{className:"rt-TooltipArrow"})))))});u.displayName="Tooltip";export{u as a};
2
- //# sourceMappingURL=chunk-XHQGMOXV.js.map
1
+ import{a as r}from"./chunk-BPVVFHYD.js";import{c as i}from"./chunk-YUP6EICB.js";import{a as p}from"./chunk-H7ST535H.js";import{a as e}from"./chunk-6FLLFCBU.js";import*as o from"react";import v from"classnames";import{Tooltip as t}from"radix-ui";var u=o.forwardRef((n,s)=>{let{children:l,className:m,open:a,defaultOpen:f,onOpenChange:P,delayDuration:T,disableHoverableContent:c,content:d,container:R,forceMount:C,...y}=e(n,r),h={open:a,defaultOpen:f,onOpenChange:P,delayDuration:T,disableHoverableContent:c};return o.createElement(t.Root,{...h},o.createElement(t.Trigger,{asChild:!0},l),o.createElement(t.Portal,{container:R,forceMount:C},o.createElement(i,{asChild:!0},o.createElement(t.Content,{sideOffset:4,collisionPadding:10,...y,asChild:!1,ref:s,className:v("rt-TooltipContent",m)},o.createElement(p,{as:"p",className:"rt-TooltipText",size:"1"},d),o.createElement(t.Arrow,{className:"rt-TooltipArrow"})))))});u.displayName="Tooltip";export{u as a};
2
+ //# sourceMappingURL=chunk-RMKXWYOV.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 m,b as T,c as N}from"./chunk-TGN5ZJU5.js";import{b as h,c as I}from"./chunk-IX5HIHVI.js";import{b as v,c as y}from"./chunk-LN5SP46K.js";import{a as g}from"./chunk-GSTOGDAJ.js";import{a as f}from"./chunk-KMPBTEZH.js";import{a as A}from"./chunk-3XT5P2HO.js";var M={};A(M,{Content:()=>w,Group:()=>G,Item:()=>E,Label:()=>L,Root:()=>x,Separator:()=>D,Trigger:()=>b});import*as e from"react";import c from"classnames";import{Select as a,ScrollArea as S}from"radix-ui";var u=e.createContext({}),x=t=>{let{children:o,size:r=m.size.default,...l}=t;return e.createElement(a.Root,{...l},e.createElement(u.Provider,{value:e.useMemo(()=>({size:r}),[r])},o))};x.displayName="Select.Root";var b=e.forwardRef((t,o)=>{let r=e.useContext(u),{children:l,className:i,color:n,radius:P,placeholder:d,error:p,loading:s,disabled:R,readOnly:C,...V}=f({size:r?.size,...t},{size:m.size},T,g),{panelBackground:z}=t,k=e.useMemo(()=>({"aria-invalid":p||void 0,"aria-busy":s||void 0,"aria-disabled":R||void 0,"aria-readonly":C||void 0}),[p,s,R,C]);return e.createElement(a.Trigger,{asChild:!0},e.createElement("button",{"data-accent-color":n,"data-radius":P,"data-panel-background":z,"data-error":p,"data-loading":s,...V,...k,ref:o,className:c("rt-reset","rt-SelectTrigger",i)},e.createElement("span",{className:"rt-SelectTriggerInner"},e.createElement(a.Value,{placeholder:d},l)),e.createElement(a.Icon,{asChild:!0},s?e.createElement("div",{className:"rt-SelectIcon rt-SelectLoadingIcon","aria-hidden":"true"},e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none"},e.createElement("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:"32",strokeDashoffset:"32",className:"rt-SelectLoadingIconCircle"}))):e.createElement(I,{className:"rt-SelectIcon"}))))});b.displayName="Select.Trigger";var w=e.forwardRef((t,o)=>{let r=e.useContext(u),{className:l,children:i,color:n,container:P,...d}=f({size:r?.size,...t},{size:m.size},N),p=v(),s=n||p.accentColor;return e.createElement(a.Portal,{container:P},e.createElement(y,{asChild:!0},e.createElement(a.Content,{"data-accent-color":s,sideOffset:4,...d,asChild:!1,ref:o,className:c("rt-PopperContent","rt-BaseMenuContent","rt-SelectContent",l)},e.createElement(S.Root,{type:"auto",className:"rt-ScrollAreaRoot"},e.createElement(a.Viewport,{asChild:!0,className:c("rt-BaseMenuViewport","rt-SelectViewport")},e.createElement(S.Viewport,{className:"rt-ScrollAreaViewport",style:{overflowY:void 0}},i)),e.createElement(S.Scrollbar,{className:"rt-ScrollAreaScrollbar rt-r-size-1",orientation:"vertical"},e.createElement(S.Thumb,{className:"rt-ScrollAreaThumb"}))))))});w.displayName="Select.Content";var E=e.forwardRef((t,o)=>{let{className:r,children:l,...i}=t,n=typeof l!="string";return e.createElement(a.Item,{...i,asChild:!1,ref:o,className:c("rt-reset","rt-BaseMenuItem","rt-SelectItem",{"rt-SelectItemRich":n},r)},e.createElement(a.ItemIndicator,{className:"rt-SelectItemIndicator"},e.createElement(h,{className:"rt-SelectItemIndicatorIcon"})),e.createElement(a.ItemText,null,l))});E.displayName="Select.Item";var G=e.forwardRef(({className:t,...o},r)=>e.createElement(a.Group,{...o,asChild:!1,ref:r,className:c("rt-SelectGroup",t)}));G.displayName="Select.Group";var L=e.forwardRef(({className:t,...o},r)=>e.createElement(a.Label,{...o,asChild:!1,ref:r,className:c("rt-BaseMenuLabel","rt-SelectLabel",t)}));L.displayName="Select.Label";var D=e.forwardRef(({className:t,...o},r)=>e.createElement(a.Separator,{...o,asChild:!1,ref:r,className:c("rt-BaseMenuSeparator","rt-SelectSeparator",t)}));D.displayName="Select.Separator";export{x as a,b,w as c,E as d,G as e,L as f,D as g,M as h};
2
- //# sourceMappingURL=chunk-WZCZHCVE.js.map
1
+ import{a as m,b as T,c as N}from"./chunk-TGN5ZJU5.js";import{b as h,c as I}from"./chunk-IX5HIHVI.js";import{b as v,c as y}from"./chunk-YUP6EICB.js";import{a as g}from"./chunk-GSTOGDAJ.js";import{a as f}from"./chunk-6FLLFCBU.js";import{a as A}from"./chunk-3XT5P2HO.js";var M={};A(M,{Content:()=>w,Group:()=>G,Item:()=>E,Label:()=>L,Root:()=>x,Separator:()=>D,Trigger:()=>b});import*as e from"react";import c from"classnames";import{Select as a,ScrollArea as S}from"radix-ui";var u=e.createContext({}),x=t=>{let{children:o,size:r=m.size.default,...l}=t;return e.createElement(a.Root,{...l},e.createElement(u.Provider,{value:e.useMemo(()=>({size:r}),[r])},o))};x.displayName="Select.Root";var b=e.forwardRef((t,o)=>{let r=e.useContext(u),{children:l,className:i,color:n,radius:P,placeholder:d,error:p,loading:s,disabled:R,readOnly:C,...V}=f({size:r?.size,...t},{size:m.size},T,g),{panelBackground:z}=t,k=e.useMemo(()=>({"aria-invalid":p||void 0,"aria-busy":s||void 0,"aria-disabled":R||void 0,"aria-readonly":C||void 0}),[p,s,R,C]);return e.createElement(a.Trigger,{asChild:!0},e.createElement("button",{"data-accent-color":n,"data-radius":P,"data-panel-background":z,"data-error":p,"data-loading":s,...V,...k,ref:o,className:c("rt-reset","rt-SelectTrigger",i)},e.createElement("span",{className:"rt-SelectTriggerInner"},e.createElement(a.Value,{placeholder:d},l)),e.createElement(a.Icon,{asChild:!0},s?e.createElement("div",{className:"rt-SelectIcon rt-SelectLoadingIcon","aria-hidden":"true"},e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none"},e.createElement("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:"32",strokeDashoffset:"32",className:"rt-SelectLoadingIconCircle"}))):e.createElement(I,{className:"rt-SelectIcon"}))))});b.displayName="Select.Trigger";var w=e.forwardRef((t,o)=>{let r=e.useContext(u),{className:l,children:i,color:n,container:P,...d}=f({size:r?.size,...t},{size:m.size},N),p=v(),s=n||p.accentColor;return e.createElement(a.Portal,{container:P},e.createElement(y,{asChild:!0},e.createElement(a.Content,{"data-accent-color":s,sideOffset:4,...d,asChild:!1,ref:o,className:c("rt-PopperContent","rt-BaseMenuContent","rt-SelectContent",l)},e.createElement(S.Root,{type:"auto",className:"rt-ScrollAreaRoot"},e.createElement(a.Viewport,{asChild:!0,className:c("rt-BaseMenuViewport","rt-SelectViewport")},e.createElement(S.Viewport,{className:"rt-ScrollAreaViewport",style:{overflowY:void 0}},i)),e.createElement(S.Scrollbar,{className:"rt-ScrollAreaScrollbar rt-r-size-1",orientation:"vertical"},e.createElement(S.Thumb,{className:"rt-ScrollAreaThumb"}))))))});w.displayName="Select.Content";var E=e.forwardRef((t,o)=>{let{className:r,children:l,...i}=t,n=typeof l!="string";return e.createElement(a.Item,{...i,asChild:!1,ref:o,className:c("rt-reset","rt-BaseMenuItem","rt-SelectItem",{"rt-SelectItemRich":n},r)},e.createElement(a.ItemIndicator,{className:"rt-SelectItemIndicator"},e.createElement(h,{className:"rt-SelectItemIndicatorIcon"})),e.createElement(a.ItemText,null,l))});E.displayName="Select.Item";var G=e.forwardRef(({className:t,...o},r)=>e.createElement(a.Group,{...o,asChild:!1,ref:r,className:c("rt-SelectGroup",t)}));G.displayName="Select.Group";var L=e.forwardRef(({className:t,...o},r)=>e.createElement(a.Label,{...o,asChild:!1,ref:r,className:c("rt-BaseMenuLabel","rt-SelectLabel",t)}));L.displayName="Select.Label";var D=e.forwardRef(({className:t,...o},r)=>e.createElement(a.Separator,{...o,asChild:!1,ref:r,className:c("rt-BaseMenuSeparator","rt-SelectSeparator",t)}));D.displayName="Select.Separator";export{x as a,b,w as c,E as d,G as e,L as f,D as g,M as h};
2
+ //# sourceMappingURL=chunk-S56YSRHP.js.map
@@ -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
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/_internal/shell-handles.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { usePaneResize } from './shell-resize.js';\n\nexport const PaneHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>(({ className, children, ...props }, ref) => {\n const {\n containerRef,\n cssVarName,\n minSize,\n maxSize,\n defaultSize,\n orientation,\n edge,\n computeNext,\n onResize,\n onResizeStart,\n onResizeEnd,\n snapPoints,\n snapTolerance,\n collapseThreshold,\n collapsible,\n target,\n requestCollapse,\n requestToggle,\n } = usePaneResize();\n\n const activeCleanupRef = React.useRef<(() => void) | null>(null);\n React.useEffect(\n () => () => {\n try {\n activeCleanupRef.current?.();\n } catch {}\n activeCleanupRef.current = null;\n },\n [],\n );\n\n const ariaOrientation = orientation;\n\n // Generate accessible label from target\n const targetLabel = target.charAt(0).toUpperCase() + target.slice(1);\n const ariaLabel = `Resize ${targetLabel} pane`;\n\n return (\n <div\n {...props}\n ref={ref}\n className={classNames('rt-ShellResizer', className)}\n data-orientation={orientation}\n data-edge={edge}\n role=\"slider\"\n aria-label={ariaLabel}\n aria-orientation={ariaOrientation}\n aria-valuemin={minSize}\n aria-valuemax={maxSize}\n aria-valuenow={defaultSize}\n tabIndex={0}\n onPointerDown={(e) => {\n if (!containerRef.current) return;\n e.preventDefault();\n const container = containerRef.current;\n const handleEl = e.currentTarget as HTMLElement;\n const pointerId = e.pointerId;\n try {\n activeCleanupRef.current?.();\n } catch {}\n container.setAttribute('data-resizing', '');\n try {\n handleEl.setPointerCapture(pointerId);\n } catch {}\n const startClient = orientation === 'vertical' ? e.clientX : e.clientY;\n const startSize = parseFloat(getComputedStyle(container).getPropertyValue(cssVarName) || `${defaultSize}`);\n const clamp = (v: number) => Math.min(Math.max(v, minSize), maxSize);\n const body = document.body;\n const prevCursor = body.style.cursor;\n const prevUserSelect = body.style.userSelect;\n body.style.cursor = orientation === 'vertical' ? 'col-resize' : 'row-resize';\n body.style.userSelect = 'none';\n onResizeStart?.(startSize);\n\n // The move handler is attached to the handle, the document and the\n // window so the drag survives environments where PointerEvent does not\n // reach all three. A real move therefore arrives here several times:\n // once per node it propagates through, plus again as the compatibility\n // mouse event. Doing the work more than once per movement is pure waste\n // on the most latency-sensitive interaction in the shell, so ignore the\n // repeats.\n let lastHandledMove: Event | null = null;\n let seenPointerEvent = false;\n\n const shouldHandle = (ev: Event, pointerType: string) => {\n if (ev.type === pointerType) seenPointerEvent = true;\n // Once pointer events are known to work, the mouse fallbacks are\n // duplicates of an event we have already handled.\n else if (seenPointerEvent) return false;\n return true;\n };\n\n const handleMove = (ev: PointerEvent) => {\n if (!shouldHandle(ev, 'pointermove')) return;\n if (ev === lastHandledMove) return;\n lastHandledMove = ev;\n\n const client = orientation === 'vertical' ? ev.clientX : ev.clientY;\n const next = clamp(computeNext(client, startClient, startSize));\n container.style.setProperty(cssVarName, `${next}px`);\n handleEl.setAttribute('aria-valuenow', String(next));\n onResize?.(next);\n };\n const cleanup = () => {\n try {\n handleEl.releasePointerCapture(pointerId);\n } catch {}\n window.removeEventListener('pointermove', handleMove as EventListener);\n document.removeEventListener('pointermove', handleMove as EventListener);\n window.removeEventListener('mousemove', handleMove as EventListener);\n document.removeEventListener('mousemove', handleMove as EventListener);\n handleEl.removeEventListener('pointermove', handleMove as EventListener);\n window.removeEventListener('pointerup', handleUp as EventListener);\n document.removeEventListener('pointerup', handleUp as EventListener);\n window.removeEventListener('mouseup', handleUp as EventListener);\n document.removeEventListener('mouseup', handleUp as EventListener);\n window.removeEventListener('pointercancel', handleUp as EventListener);\n document.removeEventListener('pointercancel', handleUp as EventListener);\n window.removeEventListener('keydown', handleKey as EventListener);\n handleEl.removeEventListener('lostpointercapture', handleUp as EventListener);\n container.removeAttribute('data-resizing');\n body.style.cursor = prevCursor;\n body.style.userSelect = prevUserSelect;\n activeCleanupRef.current = null;\n };\n let finished = false;\n const handleUp = () => {\n if (finished) return;\n finished = true;\n\n const finalSize = parseFloat(getComputedStyle(container).getPropertyValue(cssVarName) || `${defaultSize}`);\n let snapped = finalSize;\n if (snapPoints && snapPoints.length) {\n const nearest = snapPoints.reduce((acc, p) => (Math.abs(p - finalSize) < Math.abs(acc - finalSize) ? p : acc), snapPoints[0]);\n if (Math.abs(nearest - finalSize) <= (snapTolerance ?? 8)) {\n snapped = nearest;\n container.style.setProperty(cssVarName, `${snapped}px`);\n handleEl.setAttribute('aria-valuenow', String(snapped));\n onResize?.(snapped);\n }\n }\n if (collapsible && typeof collapseThreshold === 'number' && finalSize <= collapseThreshold) {\n requestCollapse?.();\n }\n onResizeEnd?.(snapped);\n cleanup();\n };\n const handleKey = (kev: KeyboardEvent) => {\n if (kev.key === 'Escape') {\n container.style.setProperty(cssVarName, `${startSize}px`);\n handleEl.setAttribute('aria-valuenow', String(startSize));\n onResizeEnd?.(startSize);\n cleanup();\n }\n };\n window.addEventListener('pointermove', handleMove as EventListener);\n document.addEventListener('pointermove', handleMove as EventListener);\n // Fallbacks for environments that don't fully support PointerEvent on window\n window.addEventListener('mousemove', handleMove as EventListener);\n document.addEventListener('mousemove', handleMove as EventListener);\n handleEl.addEventListener('pointermove', handleMove as EventListener);\n window.addEventListener('pointerup', handleUp as EventListener);\n document.addEventListener('pointerup', handleUp as EventListener);\n window.addEventListener('mouseup', handleUp as EventListener);\n document.addEventListener('mouseup', handleUp as EventListener);\n window.addEventListener('pointercancel', handleUp as EventListener);\n document.addEventListener('pointercancel', handleUp as EventListener);\n window.addEventListener('keydown', handleKey as EventListener);\n handleEl.addEventListener('lostpointercapture', handleUp as EventListener);\n activeCleanupRef.current = cleanup;\n }}\n onDoubleClick={() => {\n if (collapsible) requestToggle?.();\n }}\n onKeyDown={(e) => {\n if (!containerRef.current) return;\n const container = containerRef.current;\n const rawCurrent = getComputedStyle(container).getPropertyValue(cssVarName);\n const parsedCurrent = Number.parseFloat(rawCurrent.trim());\n const current = Number.isFinite(parsedCurrent) ? parsedCurrent : defaultSize;\n const clamp = (v: number) => Math.min(Math.max(v, minSize), maxSize);\n const step = e.shiftKey ? 32 : 8;\n let delta = 0;\n if (orientation === 'vertical') {\n const docDir = typeof document !== 'undefined' ? document.dir : undefined;\n const cssDir = getComputedStyle(container).direction;\n const hasRtlAncestor = !!(container.closest && container.closest('[dir=\"rtl\"]'));\n const isRtl = docDir === 'rtl' || cssDir === 'rtl' || hasRtlAncestor;\n if (e.key === 'ArrowRight')\n delta = isRtl ? -step : step; // inline-end\n else if (e.key === 'ArrowLeft') delta = isRtl ? step : -step; // inline-start\n } else {\n if (e.key === 'ArrowDown') delta = step;\n else if (e.key === 'ArrowUp') delta = -step;\n }\n if (e.key === 'Home') {\n e.preventDefault();\n onResizeStart?.(current);\n const next = clamp(minSize);\n container.style.setProperty(cssVarName, `${next}px`);\n (e.currentTarget as HTMLElement).setAttribute('aria-valuenow', String(next));\n onResize?.(next);\n onResizeEnd?.(next);\n return;\n }\n if (e.key === 'End') {\n e.preventDefault();\n onResizeStart?.(current);\n const next = clamp(maxSize);\n container.style.setProperty(cssVarName, `${next}px`);\n (e.currentTarget as HTMLElement).setAttribute('aria-valuenow', String(next));\n onResize?.(next);\n onResizeEnd?.(next);\n return;\n }\n if (delta !== 0) {\n e.preventDefault();\n onResizeStart?.(current);\n const signedDelta = orientation === 'vertical' ? (edge === 'start' ? -delta : delta) : delta;\n const next = clamp(current + signedDelta);\n container.style.setProperty(cssVarName, `${next}px`);\n (e.currentTarget as HTMLElement).setAttribute('aria-valuenow', String(next));\n onResize?.(next);\n onResizeEnd?.(next);\n }\n }}\n >\n {children}\n </div>\n );\n});\nPaneHandle.displayName = 'Shell.Handle';\n\nexport const PanelHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nPanelHandle.displayName = 'Shell.Panel.Handle';\n\nexport const SidebarHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nSidebarHandle.displayName = 'Shell.Sidebar.Handle';\n\nexport const InspectorHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nInspectorHandle.displayName = 'Shell.Inspector.Handle';\n\nexport const BottomHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nBottomHandle.displayName = 'Shell.Bottom.Handle';\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "classNames", "PaneHandle", "className", "children", "props", "ref", "containerRef", "cssVarName", "minSize", "maxSize", "defaultSize", "orientation", "edge", "computeNext", "onResize", "onResizeStart", "onResizeEnd", "snapPoints", "snapTolerance", "collapseThreshold", "collapsible", "target", "requestCollapse", "requestToggle", "usePaneResize", "activeCleanupRef", "ariaOrientation", "ariaLabel", "classNames", "container", "handleEl", "pointerId", "startClient", "startSize", "clamp", "v", "body", "prevCursor", "prevUserSelect", "lastHandledMove", "seenPointerEvent", "shouldHandle", "ev", "pointerType", "handleMove", "client", "next", "cleanup", "handleUp", "handleKey", "finished", "finalSize", "snapped", "nearest", "acc", "p", "kev", "rawCurrent", "parsedCurrent", "current", "step", "delta", "docDir", "cssDir", "hasRtlAncestor", "isRtl", "signedDelta", "PanelHandle", "SidebarHandle", "InspectorHandle", "BottomHandle"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-VK7RNXUO.js";import{a as n}from"./chunk-7CBAHIVG.js";import*as e from"react";import{Toggle as f}from"radix-ui";var m=e.forwardRef(({pressed:o,onPressedChange:r,defaultPressed:a,children:t,...g},p)=>{let l=e.useCallback(()=>typeof t=="string"?t:e.isValidElement(t)&&typeof t.props?.children=="string"?t.props.children:"Toggle button",[t]),{handlePressedChange:u}=s({pressed:o,onPressedChange:r,getAccessibleName:l,componentName:"ToggleButton"});return e.createElement(f.Root,{pressed:o,onPressedChange:u,defaultPressed:a,asChild:!0},e.createElement(n,{...g,ref:p},t))});m.displayName="ToggleButton";export{m as a};
2
- //# sourceMappingURL=chunk-RQ2ZPMHJ.js.map
1
+ import{a as s}from"./chunk-VK7RNXUO.js";import{a as n}from"./chunk-6IGTK4JE.js";import*as e from"react";import{Toggle as f}from"radix-ui";var m=e.forwardRef(({pressed:o,onPressedChange:r,defaultPressed:a,children:t,...g},p)=>{let l=e.useCallback(()=>typeof t=="string"?t:e.isValidElement(t)&&typeof t.props?.children=="string"?t.props.children:"Toggle button",[t]),{handlePressedChange:u}=s({pressed:o,onPressedChange:r,getAccessibleName:l,componentName:"ToggleButton"});return e.createElement(f.Root,{pressed:o,onPressedChange:u,defaultPressed:a,asChild:!0},e.createElement(n,{...g,ref:p},t))});m.displayName="ToggleButton";export{m as a};
2
+ //# sourceMappingURL=chunk-TOLLPRMM.js.map
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-N2B7TWIP.js";import{a as i}from"./chunk-GSTOGDAJ.js";import{a as n}from"./chunk-KMPBTEZH.js";import*as o from"react";import{Slot as g}from"radix-ui";var h={...m,...i},c=o.memo(o.forwardRef((d,e)=>{let{children:p,className:r,asChild:P,as:H="h1",color:t,...s}=n(d,h),a=r?`rt-Heading ${r}`:"rt-Heading";return P?o.createElement(g.Root,{"data-accent-color":t,...s,ref:e,className:a},p):o.createElement(H,{"data-accent-color":t,...s,ref:e,className:a},p)}));c.displayName="Heading";export{c as a};
2
- //# sourceMappingURL=chunk-HACQF6F4.js.map
1
+ import{a as m}from"./chunk-N2B7TWIP.js";import{a as i}from"./chunk-GSTOGDAJ.js";import{a as n}from"./chunk-6FLLFCBU.js";import*as o from"react";import{Slot as g}from"radix-ui";var h={...m,...i},c=o.memo(o.forwardRef((d,e)=>{let{children:p,className:r,asChild:P,as:H="h1",color:t,...s}=n(d,h),a=r?`rt-Heading ${r}`:"rt-Heading";return P?o.createElement(g.Root,{"data-accent-color":t,...s,ref:e,className:a},p):o.createElement(H,{"data-accent-color":t,...s,ref:e,className:a},p)}));c.displayName="Heading";export{c as a};
2
+ //# sourceMappingURL=chunk-TOOSHJOA.js.map