@kushagradhawan/kookie-ui 0.3.21 → 0.3.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (548) hide show
  1. package/components.css +264 -329
  2. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  3. package/dist/cjs/components/_internal/base-button.js +1 -1
  4. package/dist/cjs/components/_internal/base-button.js.map +4 -4
  5. package/dist/cjs/components/_internal/dropdown-menu-drill-down.js +1 -1
  6. package/dist/cjs/components/_internal/dropdown-menu-drill-down.js.map +3 -3
  7. package/dist/cjs/components/_internal/shell-bottom.js +1 -1
  8. package/dist/cjs/components/_internal/shell-bottom.js.map +4 -4
  9. package/dist/cjs/components/_internal/shell-handles.d.ts.map +1 -1
  10. package/dist/cjs/components/_internal/shell-handles.js +1 -1
  11. package/dist/cjs/components/_internal/shell-handles.js.map +3 -3
  12. package/dist/cjs/components/_internal/shell-inspector.js +1 -1
  13. package/dist/cjs/components/_internal/shell-inspector.js.map +4 -4
  14. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  15. package/dist/cjs/components/_internal/shell-sidebar.js.map +4 -4
  16. package/dist/cjs/components/accordion.d.ts.map +1 -1
  17. package/dist/cjs/components/accordion.js +1 -1
  18. package/dist/cjs/components/accordion.js.map +4 -4
  19. package/dist/cjs/components/alert-dialog.d.ts.map +1 -1
  20. package/dist/cjs/components/alert-dialog.js +1 -1
  21. package/dist/cjs/components/alert-dialog.js.map +4 -4
  22. package/dist/cjs/components/avatar.js +1 -1
  23. package/dist/cjs/components/avatar.js.map +4 -4
  24. package/dist/cjs/components/badge.d.ts.map +1 -1
  25. package/dist/cjs/components/badge.js +1 -1
  26. package/dist/cjs/components/badge.js.map +4 -4
  27. package/dist/cjs/components/blockquote.js +1 -1
  28. package/dist/cjs/components/blockquote.js.map +4 -4
  29. package/dist/cjs/components/box.js +1 -1
  30. package/dist/cjs/components/box.js.map +4 -4
  31. package/dist/cjs/components/button.js +1 -1
  32. package/dist/cjs/components/button.js.map +4 -4
  33. package/dist/cjs/components/callout.js +1 -1
  34. package/dist/cjs/components/callout.js.map +4 -4
  35. package/dist/cjs/components/card.js +1 -1
  36. package/dist/cjs/components/card.js.map +4 -4
  37. package/dist/cjs/components/chatbar.js +2 -2
  38. package/dist/cjs/components/chatbar.js.map +4 -4
  39. package/dist/cjs/components/checkbox-cards.js +1 -1
  40. package/dist/cjs/components/checkbox-cards.js.map +4 -4
  41. package/dist/cjs/components/checkbox-group.js +1 -1
  42. package/dist/cjs/components/checkbox-group.js.map +4 -4
  43. package/dist/cjs/components/checkbox.js +1 -1
  44. package/dist/cjs/components/checkbox.js.map +4 -4
  45. package/dist/cjs/components/code.js +1 -1
  46. package/dist/cjs/components/code.js.map +4 -4
  47. package/dist/cjs/components/combobox.js +1 -1
  48. package/dist/cjs/components/combobox.js.map +4 -4
  49. package/dist/cjs/components/container.js +1 -1
  50. package/dist/cjs/components/container.js.map +4 -4
  51. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  52. package/dist/cjs/components/context-menu.js +1 -1
  53. package/dist/cjs/components/context-menu.js.map +4 -4
  54. package/dist/cjs/components/data-list.js +1 -1
  55. package/dist/cjs/components/data-list.js.map +4 -4
  56. package/dist/cjs/components/dialog.d.ts.map +1 -1
  57. package/dist/cjs/components/dialog.js +1 -1
  58. package/dist/cjs/components/dialog.js.map +4 -4
  59. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  60. package/dist/cjs/components/dropdown-menu.js +1 -1
  61. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  62. package/dist/cjs/components/em.js +1 -1
  63. package/dist/cjs/components/em.js.map +4 -4
  64. package/dist/cjs/components/flex.js +1 -1
  65. package/dist/cjs/components/flex.js.map +4 -4
  66. package/dist/cjs/components/grid.js +1 -1
  67. package/dist/cjs/components/grid.js.map +4 -4
  68. package/dist/cjs/components/heading.js +1 -1
  69. package/dist/cjs/components/heading.js.map +4 -4
  70. package/dist/cjs/components/hover-card.js +1 -1
  71. package/dist/cjs/components/hover-card.js.map +4 -4
  72. package/dist/cjs/components/icon-button.js +2 -2
  73. package/dist/cjs/components/icon-button.js.map +4 -4
  74. package/dist/cjs/components/image.js +1 -1
  75. package/dist/cjs/components/image.js.map +4 -4
  76. package/dist/cjs/components/index.js +5 -5
  77. package/dist/cjs/components/index.js.map +4 -4
  78. package/dist/cjs/components/inset.js +1 -1
  79. package/dist/cjs/components/inset.js.map +4 -4
  80. package/dist/cjs/components/kbd.js +1 -1
  81. package/dist/cjs/components/kbd.js.map +4 -4
  82. package/dist/cjs/components/link.js +1 -1
  83. package/dist/cjs/components/link.js.map +4 -4
  84. package/dist/cjs/components/navbar.js +1 -1
  85. package/dist/cjs/components/navbar.js.map +4 -4
  86. package/dist/cjs/components/popover.js +1 -1
  87. package/dist/cjs/components/popover.js.map +4 -4
  88. package/dist/cjs/components/progress.js +1 -1
  89. package/dist/cjs/components/progress.js.map +4 -4
  90. package/dist/cjs/components/quote.js +1 -1
  91. package/dist/cjs/components/quote.js.map +4 -4
  92. package/dist/cjs/components/radio-cards.js +1 -1
  93. package/dist/cjs/components/radio-cards.js.map +4 -4
  94. package/dist/cjs/components/radio-group.js +1 -1
  95. package/dist/cjs/components/radio-group.js.map +4 -4
  96. package/dist/cjs/components/radio.js +1 -1
  97. package/dist/cjs/components/radio.js.map +4 -4
  98. package/dist/cjs/components/schemas/base-button.schema.d.ts +2 -2
  99. package/dist/cjs/components/schemas/button.schema.d.ts +2 -2
  100. package/dist/cjs/components/schemas/icon-button.schema.d.ts +4 -4
  101. package/dist/cjs/components/schemas/shell.schema.d.ts +2 -2
  102. package/dist/cjs/components/schemas/toggle-button.schema.d.ts +6 -6
  103. package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts +8 -8
  104. package/dist/cjs/components/scroll-area.js +1 -1
  105. package/dist/cjs/components/scroll-area.js.map +4 -4
  106. package/dist/cjs/components/section.js +1 -1
  107. package/dist/cjs/components/section.js.map +4 -4
  108. package/dist/cjs/components/segmented-control.js +1 -1
  109. package/dist/cjs/components/segmented-control.js.map +4 -4
  110. package/dist/cjs/components/select.js +1 -1
  111. package/dist/cjs/components/select.js.map +4 -4
  112. package/dist/cjs/components/separator.js +1 -1
  113. package/dist/cjs/components/separator.js.map +4 -4
  114. package/dist/cjs/components/sheet.d.ts.map +1 -1
  115. package/dist/cjs/components/sheet.js +1 -1
  116. package/dist/cjs/components/sheet.js.map +4 -4
  117. package/dist/cjs/components/shell.d.ts.map +1 -1
  118. package/dist/cjs/components/shell.js +1 -1
  119. package/dist/cjs/components/shell.js.map +4 -4
  120. package/dist/cjs/components/sidebar.js +1 -1
  121. package/dist/cjs/components/sidebar.js.map +4 -4
  122. package/dist/cjs/components/skeleton.js +1 -1
  123. package/dist/cjs/components/skeleton.js.map +4 -4
  124. package/dist/cjs/components/slider.js +1 -1
  125. package/dist/cjs/components/slider.js.map +4 -4
  126. package/dist/cjs/components/spinner.js +1 -1
  127. package/dist/cjs/components/spinner.js.map +4 -4
  128. package/dist/cjs/components/strong.js +1 -1
  129. package/dist/cjs/components/strong.js.map +4 -4
  130. package/dist/cjs/components/switch.js +1 -1
  131. package/dist/cjs/components/switch.js.map +4 -4
  132. package/dist/cjs/components/tab-nav.js +1 -1
  133. package/dist/cjs/components/tab-nav.js.map +4 -4
  134. package/dist/cjs/components/table.js +1 -1
  135. package/dist/cjs/components/table.js.map +4 -4
  136. package/dist/cjs/components/tabs.js +1 -1
  137. package/dist/cjs/components/tabs.js.map +4 -4
  138. package/dist/cjs/components/text-area.js +1 -1
  139. package/dist/cjs/components/text-area.js.map +4 -4
  140. package/dist/cjs/components/text-field.js +2 -2
  141. package/dist/cjs/components/text-field.js.map +4 -4
  142. package/dist/cjs/components/text.js +1 -1
  143. package/dist/cjs/components/text.js.map +4 -4
  144. package/dist/cjs/components/theme-panel.js +3 -3
  145. package/dist/cjs/components/theme-panel.js.map +4 -4
  146. package/dist/cjs/components/theme.d.ts.map +1 -1
  147. package/dist/cjs/components/theme.js +1 -1
  148. package/dist/cjs/components/theme.js.map +4 -4
  149. package/dist/cjs/components/toggle-button.js +2 -2
  150. package/dist/cjs/components/toggle-button.js.map +4 -4
  151. package/dist/cjs/components/toggle-icon-button.js +3 -3
  152. package/dist/cjs/components/toggle-icon-button.js.map +4 -4
  153. package/dist/cjs/components/toolbar.js +1 -1
  154. package/dist/cjs/components/toolbar.js.map +4 -4
  155. package/dist/cjs/components/tooltip.js +1 -1
  156. package/dist/cjs/components/tooltip.js.map +4 -4
  157. package/dist/cjs/components/user-card.js +1 -1
  158. package/dist/cjs/components/user-card.js.map +4 -4
  159. package/dist/cjs/helpers/compile-prop-defs.d.ts +49 -0
  160. package/dist/cjs/helpers/compile-prop-defs.d.ts.map +1 -0
  161. package/dist/cjs/helpers/compile-prop-defs.js +2 -0
  162. package/dist/cjs/helpers/compile-prop-defs.js.map +7 -0
  163. package/dist/cjs/helpers/extract-props.d.ts.map +1 -1
  164. package/dist/cjs/helpers/extract-props.js +1 -1
  165. package/dist/cjs/helpers/extract-props.js.map +4 -4
  166. package/dist/cjs/helpers/get-margin-styles.d.ts.map +1 -1
  167. package/dist/cjs/helpers/get-margin-styles.js +1 -1
  168. package/dist/cjs/helpers/get-margin-styles.js.map +3 -3
  169. package/dist/cjs/helpers/get-responsive-styles.d.ts +5 -2
  170. package/dist/cjs/helpers/get-responsive-styles.d.ts.map +1 -1
  171. package/dist/cjs/helpers/get-responsive-styles.js +1 -1
  172. package/dist/cjs/helpers/get-responsive-styles.js.map +3 -3
  173. package/dist/cjs/helpers/index.js +2 -2
  174. package/dist/cjs/helpers/index.js.map +4 -4
  175. package/dist/cjs/helpers/use-deprecation-warning.d.ts +10 -0
  176. package/dist/cjs/helpers/use-deprecation-warning.d.ts.map +1 -0
  177. package/dist/cjs/helpers/use-deprecation-warning.js +2 -0
  178. package/dist/cjs/helpers/use-deprecation-warning.js.map +7 -0
  179. package/dist/cjs/hooks/index.js +2 -2
  180. package/dist/cjs/hooks/index.js.map +3 -3
  181. package/dist/cjs/hooks/use-body-pointer-events-cleanup.d.ts.map +1 -1
  182. package/dist/cjs/hooks/use-body-pointer-events-cleanup.js +1 -1
  183. package/dist/cjs/hooks/use-body-pointer-events-cleanup.js.map +3 -3
  184. package/dist/cjs/hooks/use-breakpoint.d.ts +7 -3
  185. package/dist/cjs/hooks/use-breakpoint.d.ts.map +1 -1
  186. package/dist/cjs/hooks/use-breakpoint.js +1 -1
  187. package/dist/cjs/hooks/use-breakpoint.js.map +3 -3
  188. package/dist/cjs/hooks/use-prop-synced-state.d.ts +14 -0
  189. package/dist/cjs/hooks/use-prop-synced-state.d.ts.map +1 -0
  190. package/dist/cjs/hooks/use-prop-synced-state.js +2 -0
  191. package/dist/cjs/hooks/use-prop-synced-state.js.map +7 -0
  192. package/dist/cjs/index.js +5 -5
  193. package/dist/cjs/index.js.map +4 -4
  194. package/dist/esm/{chunk-RQ2ZPMHJ.js → chunk-22HGLMPQ.js} +2 -2
  195. package/dist/esm/{chunk-WYA4IRU6.js → chunk-25WZA7ZU.js} +2 -2
  196. package/dist/esm/chunk-2UPAYDKR.js +2 -0
  197. package/dist/esm/chunk-2UPAYDKR.js.map +7 -0
  198. package/dist/esm/{chunk-XHQGMOXV.js → chunk-36ZQVP7F.js} +2 -2
  199. package/dist/esm/{chunk-K3R4AH3E.js → chunk-3MWWP4MW.js} +2 -2
  200. package/dist/esm/{chunk-HQ35PM4O.js → chunk-43A5GUSI.js} +2 -2
  201. package/dist/esm/{chunk-Z5DQ6FSA.js → chunk-4AQTUBVP.js} +2 -2
  202. package/dist/esm/{chunk-25U7DENY.js → chunk-4BBOHEF4.js} +2 -2
  203. package/dist/esm/chunk-4CKDU6FY.js +2 -0
  204. package/dist/esm/chunk-4CKDU6FY.js.map +7 -0
  205. package/dist/esm/{chunk-ZSEFZM5H.js → chunk-4IY2PR6N.js} +2 -2
  206. package/dist/esm/{chunk-QLIELX4I.js → chunk-4ME6O27S.js} +2 -2
  207. package/dist/esm/chunk-4XJY6FIK.js +2 -0
  208. package/dist/esm/chunk-4XJY6FIK.js.map +7 -0
  209. package/dist/esm/{chunk-JQOFJNCV.js → chunk-4YFJWXL2.js} +2 -2
  210. package/dist/esm/{chunk-DNI4QRXQ.js → chunk-5IBGFL6O.js} +2 -2
  211. package/dist/esm/chunk-5TXQLK4G.js +2 -0
  212. package/dist/esm/chunk-5TXQLK4G.js.map +7 -0
  213. package/dist/esm/{chunk-IPJUHVM6.js → chunk-666GX7O5.js} +2 -2
  214. package/dist/esm/chunk-6FLLFCBU.js +2 -0
  215. package/dist/esm/chunk-6FLLFCBU.js.map +7 -0
  216. package/dist/esm/{chunk-DJBPM5QK.js → chunk-7FC7HF76.js} +2 -2
  217. package/dist/esm/{chunk-SVLY6B5F.js → chunk-7QDTSBJF.js} +2 -2
  218. package/dist/esm/chunk-AX5S56DS.js +2 -0
  219. package/dist/esm/chunk-AX5S56DS.js.map +7 -0
  220. package/dist/esm/{chunk-DK5MHD6I.js → chunk-B24BDVG2.js} +2 -2
  221. package/dist/esm/{chunk-WZCZHCVE.js → chunk-BJYUPIXO.js} +2 -2
  222. package/dist/esm/{chunk-BJTJUIYJ.js → chunk-CRWYCLTE.js} +2 -2
  223. package/dist/esm/{chunk-OHJVFZMH.js → chunk-CSKZZOI2.js} +2 -2
  224. package/dist/esm/chunk-D5N627TH.js +2 -0
  225. package/dist/esm/chunk-D5N627TH.js.map +7 -0
  226. package/dist/esm/{chunk-ADYTQCZX.js → chunk-D6B7IMZU.js} +2 -2
  227. package/dist/esm/chunk-DL2O3GKG.js +2 -0
  228. package/dist/esm/chunk-DL2O3GKG.js.map +7 -0
  229. package/dist/esm/{chunk-USGTBZ43.js → chunk-E67CIG6A.js} +2 -2
  230. package/dist/esm/{chunk-42HFGCHX.js → chunk-ETMLMDW4.js} +2 -2
  231. package/dist/esm/{chunk-7CBAHIVG.js → chunk-F2HYQ3ZR.js} +2 -2
  232. package/dist/esm/{chunk-YUZPSUJE.js → chunk-F7IYL2VW.js} +2 -2
  233. package/dist/esm/{chunk-FVCWNSRU.js → chunk-FHOCUZDR.js} +2 -2
  234. package/dist/esm/{chunk-7MURQ6CR.js → chunk-FLFAXVFB.js} +2 -2
  235. package/dist/esm/{chunk-APRBRAOT.js → chunk-FOEZLQTW.js} +2 -2
  236. package/dist/esm/{chunk-WNSPLWRV.js → chunk-GJSGKE7B.js} +2 -2
  237. package/dist/esm/{chunk-OGOOZLUD.js → chunk-GLERJXVS.js} +2 -2
  238. package/dist/esm/{chunk-6VGPTAHM.js → chunk-GWXVETMF.js} +2 -2
  239. package/dist/esm/{chunk-ES7MK2MM.js → chunk-GYBLXQ4R.js} +2 -2
  240. package/dist/esm/{chunk-4OBMRJHC.js → chunk-H7ST535H.js} +2 -2
  241. package/dist/esm/{chunk-QLZ5XAW6.js → chunk-HF5WY5YE.js} +2 -2
  242. package/dist/esm/chunk-ICIGZ3N7.js +2 -0
  243. package/dist/esm/chunk-ICIGZ3N7.js.map +7 -0
  244. package/dist/esm/{chunk-RDP4UQ42.js → chunk-IEWCQU2S.js} +2 -2
  245. package/dist/esm/{chunk-XLOHPURR.js → chunk-IHK3H2OM.js} +2 -2
  246. package/dist/esm/{chunk-3F6I7YOR.js → chunk-JDGJSNWT.js} +2 -2
  247. package/dist/esm/chunk-JQQIPEGY.js +2 -0
  248. package/dist/esm/chunk-JQQIPEGY.js.map +7 -0
  249. package/dist/esm/chunk-JR2YOGII.js +2 -0
  250. package/dist/esm/chunk-JR2YOGII.js.map +7 -0
  251. package/dist/esm/chunk-JUY7CBSL.js +2 -0
  252. package/dist/esm/chunk-JUY7CBSL.js.map +7 -0
  253. package/dist/esm/{chunk-VF5TRT3H.js → chunk-KKM6T5P7.js} +2 -2
  254. package/dist/esm/{chunk-ZHYOJNWV.js → chunk-LKAK5GXF.js} +2 -2
  255. package/dist/esm/chunk-LOGJJF4I.js +2 -0
  256. package/dist/esm/chunk-LOGJJF4I.js.map +7 -0
  257. package/dist/esm/{chunk-JCYI4NTV.js → chunk-MBCBP73P.js} +2 -2
  258. package/dist/esm/{chunk-UYNYUR7O.js → chunk-MBE2YSBU.js} +2 -2
  259. package/dist/esm/chunk-MHANZINI.js +2 -0
  260. package/dist/esm/chunk-MHANZINI.js.map +7 -0
  261. package/dist/esm/chunk-MRECKC4D.js +2 -0
  262. package/dist/esm/chunk-MRECKC4D.js.map +7 -0
  263. package/dist/esm/{chunk-H2G446JG.js → chunk-NMKPFUNP.js} +2 -2
  264. package/dist/esm/{chunk-4N5JU7XQ.js → chunk-O3CDWEZA.js} +2 -2
  265. package/dist/esm/{chunk-TEULZKBM.js → chunk-OGXZHAQL.js} +2 -2
  266. package/dist/esm/{chunk-2AEELIG6.js → chunk-OWAUCLRT.js} +2 -2
  267. package/dist/esm/{chunk-7CXVHFMQ.js → chunk-P7HYVJSU.js} +2 -2
  268. package/dist/esm/{chunk-4532RT2B.js → chunk-P7IAHW4V.js} +2 -2
  269. package/dist/esm/{chunk-M3ZYJANH.js → chunk-PQZXQ4ST.js} +2 -2
  270. package/dist/esm/{chunk-SGU4HUHF.js → chunk-PTLFMWCN.js} +2 -2
  271. package/dist/esm/chunk-S2HA3W3V.js +2 -0
  272. package/dist/esm/chunk-S2HA3W3V.js.map +7 -0
  273. package/dist/esm/{chunk-E6IWYD3U.js → chunk-S5C5YRBS.js} +2 -2
  274. package/dist/esm/{chunk-A24PYRVV.js → chunk-SO67YEVQ.js} +2 -2
  275. package/dist/esm/chunk-TLWTUKKL.js +2 -0
  276. package/dist/esm/chunk-TLWTUKKL.js.map +7 -0
  277. package/dist/esm/{chunk-HACQF6F4.js → chunk-TOOSHJOA.js} +2 -2
  278. package/dist/esm/{chunk-QOWA5LK5.js → chunk-U2X2CAW4.js} +2 -2
  279. package/dist/esm/{chunk-U7AASKZI.js → chunk-UVCH7QKO.js} +2 -2
  280. package/dist/esm/{chunk-GWYFT3EI.js → chunk-VLO7NXSP.js} +2 -2
  281. package/dist/esm/{chunk-DXI5P5O4.js → chunk-VX6ARMWP.js} +2 -2
  282. package/dist/esm/chunk-WAURCNAS.js +2 -0
  283. package/dist/esm/chunk-WAURCNAS.js.map +7 -0
  284. package/dist/esm/{chunk-EJWAAFCI.js → chunk-WO43WW3A.js} +2 -2
  285. package/dist/esm/{chunk-GLC4QJBF.js → chunk-WTYNFBFV.js} +2 -2
  286. package/dist/esm/{chunk-6FAICIYS.js → chunk-XMRIRFM7.js} +2 -2
  287. package/dist/esm/chunk-YV2KYHGR.js +2 -0
  288. package/dist/esm/chunk-YV2KYHGR.js.map +7 -0
  289. package/dist/esm/{chunk-UIEUZLZZ.js → chunk-ZY6SQWHT.js} +2 -2
  290. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  291. package/dist/esm/components/_internal/base-button.js +1 -1
  292. package/dist/esm/components/_internal/dropdown-menu-drill-down.js +1 -1
  293. package/dist/esm/components/_internal/shell-bottom.js +1 -1
  294. package/dist/esm/components/_internal/shell-handles.d.ts.map +1 -1
  295. package/dist/esm/components/_internal/shell-handles.js +1 -1
  296. package/dist/esm/components/_internal/shell-inspector.js +1 -1
  297. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  298. package/dist/esm/components/accordion.d.ts.map +1 -1
  299. package/dist/esm/components/accordion.js +1 -1
  300. package/dist/esm/components/alert-dialog.d.ts.map +1 -1
  301. package/dist/esm/components/alert-dialog.js +1 -1
  302. package/dist/esm/components/avatar.js +1 -1
  303. package/dist/esm/components/badge.d.ts.map +1 -1
  304. package/dist/esm/components/badge.js +1 -1
  305. package/dist/esm/components/blockquote.js +1 -1
  306. package/dist/esm/components/box.js +1 -1
  307. package/dist/esm/components/button.js +1 -1
  308. package/dist/esm/components/callout.js +1 -1
  309. package/dist/esm/components/card.js +1 -1
  310. package/dist/esm/components/chatbar.js +1 -1
  311. package/dist/esm/components/checkbox-cards.js +1 -1
  312. package/dist/esm/components/checkbox-group.js +1 -1
  313. package/dist/esm/components/checkbox.js +1 -1
  314. package/dist/esm/components/code.js +1 -1
  315. package/dist/esm/components/combobox.js +1 -1
  316. package/dist/esm/components/container.js +1 -1
  317. package/dist/esm/components/context-menu.d.ts.map +1 -1
  318. package/dist/esm/components/context-menu.js +1 -1
  319. package/dist/esm/components/data-list.js +1 -1
  320. package/dist/esm/components/dialog.d.ts.map +1 -1
  321. package/dist/esm/components/dialog.js +1 -1
  322. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  323. package/dist/esm/components/dropdown-menu.js +1 -1
  324. package/dist/esm/components/em.js +1 -1
  325. package/dist/esm/components/flex.js +1 -1
  326. package/dist/esm/components/grid.js +1 -1
  327. package/dist/esm/components/heading.js +1 -1
  328. package/dist/esm/components/hover-card.js +1 -1
  329. package/dist/esm/components/icon-button.js +1 -1
  330. package/dist/esm/components/image.js +1 -1
  331. package/dist/esm/components/index.js +1 -1
  332. package/dist/esm/components/inset.js +1 -1
  333. package/dist/esm/components/kbd.js +1 -1
  334. package/dist/esm/components/link.js +1 -1
  335. package/dist/esm/components/navbar.js +1 -1
  336. package/dist/esm/components/popover.js +1 -1
  337. package/dist/esm/components/progress.js +1 -1
  338. package/dist/esm/components/quote.js +1 -1
  339. package/dist/esm/components/radio-cards.js +1 -1
  340. package/dist/esm/components/radio-group.js +1 -1
  341. package/dist/esm/components/radio.js +1 -1
  342. package/dist/esm/components/schemas/base-button.schema.d.ts +2 -2
  343. package/dist/esm/components/schemas/button.schema.d.ts +2 -2
  344. package/dist/esm/components/schemas/icon-button.schema.d.ts +4 -4
  345. package/dist/esm/components/schemas/shell.schema.d.ts +2 -2
  346. package/dist/esm/components/schemas/toggle-button.schema.d.ts +6 -6
  347. package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts +8 -8
  348. package/dist/esm/components/scroll-area.js +1 -1
  349. package/dist/esm/components/section.js +1 -1
  350. package/dist/esm/components/segmented-control.js +1 -1
  351. package/dist/esm/components/select.js +1 -1
  352. package/dist/esm/components/separator.js +1 -1
  353. package/dist/esm/components/sheet.d.ts.map +1 -1
  354. package/dist/esm/components/sheet.js +1 -1
  355. package/dist/esm/components/shell.d.ts.map +1 -1
  356. package/dist/esm/components/shell.js +1 -1
  357. package/dist/esm/components/sidebar.js +1 -1
  358. package/dist/esm/components/skeleton.js +1 -1
  359. package/dist/esm/components/slider.js +1 -1
  360. package/dist/esm/components/spinner.js +1 -1
  361. package/dist/esm/components/strong.js +1 -1
  362. package/dist/esm/components/switch.js +1 -1
  363. package/dist/esm/components/tab-nav.js +1 -1
  364. package/dist/esm/components/table.js +1 -1
  365. package/dist/esm/components/tabs.js +1 -1
  366. package/dist/esm/components/text-area.js +1 -1
  367. package/dist/esm/components/text-field.js +1 -1
  368. package/dist/esm/components/text.js +1 -1
  369. package/dist/esm/components/theme-panel.js +1 -1
  370. package/dist/esm/components/theme.d.ts.map +1 -1
  371. package/dist/esm/components/theme.js +1 -1
  372. package/dist/esm/components/toggle-button.js +1 -1
  373. package/dist/esm/components/toggle-icon-button.js +1 -1
  374. package/dist/esm/components/toolbar.js +1 -1
  375. package/dist/esm/components/tooltip.js +1 -1
  376. package/dist/esm/components/user-card.js +1 -1
  377. package/dist/esm/helpers/compile-prop-defs.d.ts +49 -0
  378. package/dist/esm/helpers/compile-prop-defs.d.ts.map +1 -0
  379. package/dist/esm/helpers/compile-prop-defs.js +2 -0
  380. package/dist/esm/helpers/compile-prop-defs.js.map +7 -0
  381. package/dist/esm/helpers/extract-props.d.ts.map +1 -1
  382. package/dist/esm/helpers/extract-props.js +1 -1
  383. package/dist/esm/helpers/get-margin-styles.d.ts.map +1 -1
  384. package/dist/esm/helpers/get-margin-styles.js +1 -1
  385. package/dist/esm/helpers/get-responsive-styles.d.ts +5 -2
  386. package/dist/esm/helpers/get-responsive-styles.d.ts.map +1 -1
  387. package/dist/esm/helpers/get-responsive-styles.js +1 -1
  388. package/dist/esm/helpers/index.js +1 -1
  389. package/dist/esm/helpers/use-deprecation-warning.d.ts +10 -0
  390. package/dist/esm/helpers/use-deprecation-warning.d.ts.map +1 -0
  391. package/dist/esm/helpers/use-deprecation-warning.js +2 -0
  392. package/dist/esm/helpers/use-deprecation-warning.js.map +7 -0
  393. package/dist/esm/hooks/index.js +1 -1
  394. package/dist/esm/hooks/use-body-pointer-events-cleanup.d.ts.map +1 -1
  395. package/dist/esm/hooks/use-body-pointer-events-cleanup.js +1 -1
  396. package/dist/esm/hooks/use-breakpoint.d.ts +7 -3
  397. package/dist/esm/hooks/use-breakpoint.d.ts.map +1 -1
  398. package/dist/esm/hooks/use-breakpoint.js +1 -1
  399. package/dist/esm/hooks/use-prop-synced-state.d.ts +14 -0
  400. package/dist/esm/hooks/use-prop-synced-state.d.ts.map +1 -0
  401. package/dist/esm/hooks/use-prop-synced-state.js +2 -0
  402. package/dist/esm/hooks/use-prop-synced-state.js.map +7 -0
  403. package/dist/esm/index.js +1 -1
  404. package/package.json +2 -1
  405. package/schemas/base-button.json +0 -1
  406. package/schemas/button.json +0 -1
  407. package/schemas/icon-button.json +0 -1
  408. package/schemas/index.json +0 -6
  409. package/schemas/toggle-button.json +0 -1
  410. package/schemas/toggle-icon-button.json +0 -1
  411. package/src/components/_internal/base-button.css +2 -2
  412. package/src/components/_internal/base-button.tsx +3 -58
  413. package/src/components/_internal/base-card.css +19 -4
  414. package/src/components/_internal/base-checkbox.css +2 -2
  415. package/src/components/_internal/base-dialog.css +7 -13
  416. package/src/components/_internal/base-menu.css +7 -0
  417. package/src/components/_internal/base-radio.css +2 -2
  418. package/src/components/_internal/base-sidebar.css +7 -0
  419. package/src/components/_internal/base-tab-list.css +2 -2
  420. package/src/components/_internal/shell-handles.tsx +27 -0
  421. package/src/components/accordion.css +6 -6
  422. package/src/components/accordion.tsx +2 -8
  423. package/src/components/alert-dialog.tsx +22 -20
  424. package/src/components/avatar.css +2 -2
  425. package/src/components/badge.css +2 -2
  426. package/src/components/badge.tsx +2 -8
  427. package/src/components/callout.css +2 -2
  428. package/src/components/chatbar.css +1 -1
  429. package/src/components/context-menu.tsx +2 -8
  430. package/src/components/dialog.tsx +46 -72
  431. package/src/components/dropdown-menu.tsx +2 -8
  432. package/src/components/popover.css +7 -0
  433. package/src/components/progress.css +21 -8
  434. package/src/components/segmented-control.css +2 -2
  435. package/src/components/select.css +9 -2
  436. package/src/components/sheet.tsx +31 -28
  437. package/src/components/shell.css +106 -69
  438. package/src/components/shell.tsx +168 -97
  439. package/src/components/slider.css +2 -2
  440. package/src/components/switch.css +2 -2
  441. package/src/components/table.css +7 -0
  442. package/src/components/text-area.css +2 -2
  443. package/src/components/text-field.css +2 -2
  444. package/src/components/theme.tsx +35 -34
  445. package/src/helpers/compile-prop-defs.ts +121 -0
  446. package/src/helpers/extract-props.ts +104 -83
  447. package/src/helpers/get-margin-styles.ts +38 -71
  448. package/src/helpers/get-responsive-styles.ts +37 -38
  449. package/src/helpers/use-deprecation-warning.ts +26 -0
  450. package/src/hooks/use-body-pointer-events-cleanup.ts +36 -6
  451. package/src/hooks/use-breakpoint.ts +94 -53
  452. package/src/hooks/use-prop-synced-state.ts +24 -0
  453. package/src/styles/tokens/blur.css +28 -0
  454. package/src/styles/tokens/color.css +3 -3
  455. package/src/styles/tokens/constants.css +11 -0
  456. package/styles.css +280 -332
  457. package/tokens/base.css +13 -3
  458. package/tokens.css +16 -3
  459. package/dist/esm/chunk-2SS3FA3N.js +0 -2
  460. package/dist/esm/chunk-2SS3FA3N.js.map +0 -7
  461. package/dist/esm/chunk-5U2Q23K3.js +0 -2
  462. package/dist/esm/chunk-5U2Q23K3.js.map +0 -7
  463. package/dist/esm/chunk-6ELPYR73.js +0 -2
  464. package/dist/esm/chunk-6ELPYR73.js.map +0 -7
  465. package/dist/esm/chunk-DZ4H2KTP.js +0 -2
  466. package/dist/esm/chunk-DZ4H2KTP.js.map +0 -7
  467. package/dist/esm/chunk-H4MMVAGQ.js +0 -2
  468. package/dist/esm/chunk-H4MMVAGQ.js.map +0 -7
  469. package/dist/esm/chunk-HURTSXRY.js +0 -2
  470. package/dist/esm/chunk-HURTSXRY.js.map +0 -7
  471. package/dist/esm/chunk-ITRVKLYU.js +0 -2
  472. package/dist/esm/chunk-ITRVKLYU.js.map +0 -7
  473. package/dist/esm/chunk-KCAFSCOV.js +0 -2
  474. package/dist/esm/chunk-KCAFSCOV.js.map +0 -7
  475. package/dist/esm/chunk-KMPBTEZH.js +0 -2
  476. package/dist/esm/chunk-KMPBTEZH.js.map +0 -7
  477. package/dist/esm/chunk-LN5SP46K.js +0 -2
  478. package/dist/esm/chunk-LN5SP46K.js.map +0 -7
  479. package/dist/esm/chunk-Q73Y5O5P.js +0 -2
  480. package/dist/esm/chunk-Q73Y5O5P.js.map +0 -7
  481. package/dist/esm/chunk-RMBS6CAO.js +0 -2
  482. package/dist/esm/chunk-RMBS6CAO.js.map +0 -7
  483. package/dist/esm/chunk-UUX42HBM.js +0 -2
  484. package/dist/esm/chunk-UUX42HBM.js.map +0 -7
  485. package/dist/esm/chunk-X7BD5FLE.js +0 -2
  486. package/dist/esm/chunk-X7BD5FLE.js.map +0 -7
  487. package/dist/esm/chunk-YEA646GM.js +0 -2
  488. package/dist/esm/chunk-YEA646GM.js.map +0 -7
  489. package/dist/esm/chunk-ZMEXIPWM.js +0 -2
  490. package/dist/esm/chunk-ZMEXIPWM.js.map +0 -7
  491. /package/dist/esm/{chunk-RQ2ZPMHJ.js.map → chunk-22HGLMPQ.js.map} +0 -0
  492. /package/dist/esm/{chunk-WYA4IRU6.js.map → chunk-25WZA7ZU.js.map} +0 -0
  493. /package/dist/esm/{chunk-XHQGMOXV.js.map → chunk-36ZQVP7F.js.map} +0 -0
  494. /package/dist/esm/{chunk-K3R4AH3E.js.map → chunk-3MWWP4MW.js.map} +0 -0
  495. /package/dist/esm/{chunk-HQ35PM4O.js.map → chunk-43A5GUSI.js.map} +0 -0
  496. /package/dist/esm/{chunk-Z5DQ6FSA.js.map → chunk-4AQTUBVP.js.map} +0 -0
  497. /package/dist/esm/{chunk-25U7DENY.js.map → chunk-4BBOHEF4.js.map} +0 -0
  498. /package/dist/esm/{chunk-ZSEFZM5H.js.map → chunk-4IY2PR6N.js.map} +0 -0
  499. /package/dist/esm/{chunk-QLIELX4I.js.map → chunk-4ME6O27S.js.map} +0 -0
  500. /package/dist/esm/{chunk-JQOFJNCV.js.map → chunk-4YFJWXL2.js.map} +0 -0
  501. /package/dist/esm/{chunk-DNI4QRXQ.js.map → chunk-5IBGFL6O.js.map} +0 -0
  502. /package/dist/esm/{chunk-IPJUHVM6.js.map → chunk-666GX7O5.js.map} +0 -0
  503. /package/dist/esm/{chunk-DJBPM5QK.js.map → chunk-7FC7HF76.js.map} +0 -0
  504. /package/dist/esm/{chunk-SVLY6B5F.js.map → chunk-7QDTSBJF.js.map} +0 -0
  505. /package/dist/esm/{chunk-DK5MHD6I.js.map → chunk-B24BDVG2.js.map} +0 -0
  506. /package/dist/esm/{chunk-WZCZHCVE.js.map → chunk-BJYUPIXO.js.map} +0 -0
  507. /package/dist/esm/{chunk-BJTJUIYJ.js.map → chunk-CRWYCLTE.js.map} +0 -0
  508. /package/dist/esm/{chunk-OHJVFZMH.js.map → chunk-CSKZZOI2.js.map} +0 -0
  509. /package/dist/esm/{chunk-ADYTQCZX.js.map → chunk-D6B7IMZU.js.map} +0 -0
  510. /package/dist/esm/{chunk-USGTBZ43.js.map → chunk-E67CIG6A.js.map} +0 -0
  511. /package/dist/esm/{chunk-42HFGCHX.js.map → chunk-ETMLMDW4.js.map} +0 -0
  512. /package/dist/esm/{chunk-7CBAHIVG.js.map → chunk-F2HYQ3ZR.js.map} +0 -0
  513. /package/dist/esm/{chunk-YUZPSUJE.js.map → chunk-F7IYL2VW.js.map} +0 -0
  514. /package/dist/esm/{chunk-FVCWNSRU.js.map → chunk-FHOCUZDR.js.map} +0 -0
  515. /package/dist/esm/{chunk-7MURQ6CR.js.map → chunk-FLFAXVFB.js.map} +0 -0
  516. /package/dist/esm/{chunk-APRBRAOT.js.map → chunk-FOEZLQTW.js.map} +0 -0
  517. /package/dist/esm/{chunk-WNSPLWRV.js.map → chunk-GJSGKE7B.js.map} +0 -0
  518. /package/dist/esm/{chunk-OGOOZLUD.js.map → chunk-GLERJXVS.js.map} +0 -0
  519. /package/dist/esm/{chunk-6VGPTAHM.js.map → chunk-GWXVETMF.js.map} +0 -0
  520. /package/dist/esm/{chunk-ES7MK2MM.js.map → chunk-GYBLXQ4R.js.map} +0 -0
  521. /package/dist/esm/{chunk-4OBMRJHC.js.map → chunk-H7ST535H.js.map} +0 -0
  522. /package/dist/esm/{chunk-QLZ5XAW6.js.map → chunk-HF5WY5YE.js.map} +0 -0
  523. /package/dist/esm/{chunk-RDP4UQ42.js.map → chunk-IEWCQU2S.js.map} +0 -0
  524. /package/dist/esm/{chunk-XLOHPURR.js.map → chunk-IHK3H2OM.js.map} +0 -0
  525. /package/dist/esm/{chunk-3F6I7YOR.js.map → chunk-JDGJSNWT.js.map} +0 -0
  526. /package/dist/esm/{chunk-VF5TRT3H.js.map → chunk-KKM6T5P7.js.map} +0 -0
  527. /package/dist/esm/{chunk-ZHYOJNWV.js.map → chunk-LKAK5GXF.js.map} +0 -0
  528. /package/dist/esm/{chunk-JCYI4NTV.js.map → chunk-MBCBP73P.js.map} +0 -0
  529. /package/dist/esm/{chunk-UYNYUR7O.js.map → chunk-MBE2YSBU.js.map} +0 -0
  530. /package/dist/esm/{chunk-H2G446JG.js.map → chunk-NMKPFUNP.js.map} +0 -0
  531. /package/dist/esm/{chunk-4N5JU7XQ.js.map → chunk-O3CDWEZA.js.map} +0 -0
  532. /package/dist/esm/{chunk-TEULZKBM.js.map → chunk-OGXZHAQL.js.map} +0 -0
  533. /package/dist/esm/{chunk-2AEELIG6.js.map → chunk-OWAUCLRT.js.map} +0 -0
  534. /package/dist/esm/{chunk-7CXVHFMQ.js.map → chunk-P7HYVJSU.js.map} +0 -0
  535. /package/dist/esm/{chunk-4532RT2B.js.map → chunk-P7IAHW4V.js.map} +0 -0
  536. /package/dist/esm/{chunk-M3ZYJANH.js.map → chunk-PQZXQ4ST.js.map} +0 -0
  537. /package/dist/esm/{chunk-SGU4HUHF.js.map → chunk-PTLFMWCN.js.map} +0 -0
  538. /package/dist/esm/{chunk-E6IWYD3U.js.map → chunk-S5C5YRBS.js.map} +0 -0
  539. /package/dist/esm/{chunk-A24PYRVV.js.map → chunk-SO67YEVQ.js.map} +0 -0
  540. /package/dist/esm/{chunk-HACQF6F4.js.map → chunk-TOOSHJOA.js.map} +0 -0
  541. /package/dist/esm/{chunk-QOWA5LK5.js.map → chunk-U2X2CAW4.js.map} +0 -0
  542. /package/dist/esm/{chunk-U7AASKZI.js.map → chunk-UVCH7QKO.js.map} +0 -0
  543. /package/dist/esm/{chunk-GWYFT3EI.js.map → chunk-VLO7NXSP.js.map} +0 -0
  544. /package/dist/esm/{chunk-DXI5P5O4.js.map → chunk-VX6ARMWP.js.map} +0 -0
  545. /package/dist/esm/{chunk-EJWAAFCI.js.map → chunk-WO43WW3A.js.map} +0 -0
  546. /package/dist/esm/{chunk-GLC4QJBF.js.map → chunk-WTYNFBFV.js.map} +0 -0
  547. /package/dist/esm/{chunk-6FAICIYS.js.map → chunk-XMRIRFM7.js.map} +0 -0
  548. /package/dist/esm/{chunk-UIEUZLZZ.js.map → chunk-ZY6SQWHT.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var E=Object.create;var x=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var L=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty;var V=(e,o)=>{for(var r in o)x(e,r,{get:o[r],enumerable:!0})},h=(e,o,r,s)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of M(o))!T.call(e,n)&&n!==r&&x(e,n,{get:()=>o[n],enumerable:!(s=A(o,n))||s.enumerable});return e};var w=(e,o,r)=>(r=e!=null?E(L(e)):{},h(o||!e||!e.__esModule?x(r,"default",{value:e,enumerable:!0}):r,e)),z=e=>h(x({},"__esModule",{value:!0}),e);var K={};V(K,{DrillDownActionsContext:()=>v,DrillDownProvider:()=>O,DrillDownStateContext:()=>R,SubContext:()=>C,resolveResponsiveValue:()=>P,useBreakpoint:()=>b,useDrillDownActions:()=>N,useDrillDownActionsOptional:()=>Q,useDrillDownState:()=>I,useDrillDownStateOptional:()=>_,useSubContext:()=>j});module.exports=z(K);var t=w(require("react"));var m=w(require("react"));var S={xs:"(min-width: 520px)",sm:"(min-width: 768px)",md:"(min-width: 1024px)",lg:"(min-width: 1280px)",xl:"(min-width: 1640px)"};function b(){let[e,o]=m.useState("initial"),[r,s]=m.useState(!1);return m.useEffect(()=>{if(typeof window>"u")return;let u=Object.entries(S).map(([a,i])=>[a,window.matchMedia(i)]),l=a=>{let i=u.filter(([,d])=>d.matches).map(([d])=>d),f=i[i.length-1]??"initial";o(f),s(!0)};l();let c=[];return u.forEach(([,a])=>{let i=a;typeof i.addEventListener=="function"&&typeof i.removeEventListener=="function"?(i.addEventListener("change",l),c.push(()=>i.removeEventListener?.("change",l))):typeof i.addListener=="function"&&typeof i.removeListener=="function"&&(i.addListener(l),c.push(()=>i.removeListener?.(l)))}),()=>{c.forEach(a=>{try{a()}catch{}})}},[]),{breakpoint:e,ready:r}}function P(e,o,r){if(e==null)return r;if(typeof e!="object")return e;let s=e;if(s[o]!==void 0)return s[o];let n=["xl","lg","md","sm","xs","initial"],u=n.indexOf(o);for(let l=u+1;l<n.length;l++){let c=n[l];if(s[c]!==void 0)return s[c]}return r}var v=t.createContext(null),R=t.createContext(null);function O({children:e,submenuBehavior:o}){let{breakpoint:r,ready:s}=b(),[n,u]=t.useState([]),[l,c]=t.useState(null),a=t.useMemo(()=>P(o,r,"cascade"),[o,r]),i=t.useRef(a);t.useEffect(()=>{i.current==="drill-down"&&a==="cascade"&&(u([]),c(null)),i.current=a},[a]);let f=t.useCallback(p=>{c("forward"),u(B=>[...B,p])},[]),d=t.useCallback(()=>{c("backward"),u(p=>p.slice(0,-1))},[]),D=t.useCallback(()=>{u([]),c(null)},[]),g=t.useMemo(()=>({push:f,pop:d,reset:D}),[f,d,D]),y=t.useCallback(p=>n.length===0?!1:n[n.length-1]===p,[n]),k=t.useMemo(()=>({behavior:a,ready:s,stack:n,isActive:y,isRoot:n.length===0,currentId:n.length>0?n[n.length-1]:null,animationDirection:l}),[a,s,n,y,l]);return t.createElement(v.Provider,{value:g},t.createElement(R.Provider,{value:k},e))}function N(){let e=t.useContext(v);if(!e)throw new Error("useDrillDownActions must be used within a DropdownMenu.Content");return e}function I(){let e=t.useContext(R);if(!e)throw new Error("useDrillDownState must be used within a DropdownMenu.Content");return e}function Q(){return t.useContext(v)}function _(){return t.useContext(R)}var C=t.createContext(null);function j(){return t.useContext(C)}
1
+ "use strict";"use client";var O=Object.create;var f=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var Q=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty;var _=(e,t)=>{for(var r in t)f(e,r,{get:t[r],enumerable:!0})},g=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of N(t))!j.call(e,o)&&o!==r&&f(e,o,{get:()=>t[o],enumerable:!(i=I(t,o))||i.enumerable});return e};var k=(e,t,r)=>(r=e!=null?O(Q(e)):{},g(t||!e||!e.__esModule?f(r,"default",{value:e,enumerable:!0}):r,e)),q=e=>g(f({},"__esModule",{value:!0}),e);var ee={};_(ee,{DrillDownActionsContext:()=>b,DrillDownProvider:()=>G,DrillDownStateContext:()=>R,SubContext:()=>V,resolveResponsiveValue:()=>M,useBreakpoint:()=>v,useDrillDownActions:()=>H,useDrillDownActionsOptional:()=>X,useDrillDownState:()=>J,useDrillDownStateOptional:()=>Y,useSubContext:()=>Z});module.exports=q(ee);var n=k(require("react"));var m=k(require("react"));var B={xs:"(min-width: 520px)",sm:"(min-width: 768px)",md:"(min-width: 1024px)",lg:"(min-width: 1280px)",xl:"(min-width: 1640px)"};var K=Object.entries(B),A=null,d=new Set,u=null;function S(){return A??(A=K.map(([e,t])=>[e,window.matchMedia(t)])),A}function D(){let e="initial";for(let[t,r]of S())r.matches&&(e=t);return e}function x(){let e=D();e!==u&&(u=e,d.forEach(t=>t()))}function E(e){if(typeof window>"u")return()=>{};if(d.size===0){u=D();for(let[,t]of S())typeof t.addEventListener=="function"?t.addEventListener("change",x):t.addListener?.(x)}return d.add(e),()=>{if(d.delete(e),!(d.size>0)){for(let[,t]of S())try{typeof t.removeEventListener=="function"?t.removeEventListener("change",x):t.removeListener?.(x)}catch{}u=null}}}function W(){return typeof window>"u"?"initial":(u??(u=D()),u)}function U(){return"initial"}var $=()=>!0,F=()=>!1;function v(){let e=m.useSyncExternalStore(E,W,U),t=m.useSyncExternalStore(E,$,F);return m.useMemo(()=>({breakpoint:e,ready:t}),[e,t])}function M(e,t,r){if(e==null)return r;if(typeof e!="object")return e;let i=e;if(i[t]!==void 0)return i[t];let o=["xl","lg","md","sm","xs","initial"],s=o.indexOf(t);for(let l=s+1;l<o.length;l++){let a=o[l];if(i[a]!==void 0)return i[a]}return r}var b=n.createContext(null),R=n.createContext(null);function G({children:e,submenuBehavior:t}){let{breakpoint:r,ready:i}=v(),[o,s]=n.useState([]),[l,a]=n.useState(null),c=n.useMemo(()=>M(t,r,"cascade"),[t,r]),h=n.useRef(c);n.useEffect(()=>{h.current==="drill-down"&&c==="cascade"&&(s([]),a(null)),h.current=c},[c]);let w=n.useCallback(p=>{a("forward"),s(L=>[...L,p])},[]),y=n.useCallback(()=>{a("backward"),s(p=>p.slice(0,-1))},[]),P=n.useCallback(()=>{s([]),a(null)},[]),T=n.useMemo(()=>({push:w,pop:y,reset:P}),[w,y,P]),C=n.useCallback(p=>o.length===0?!1:o[o.length-1]===p,[o]),z=n.useMemo(()=>({behavior:c,ready:i,stack:o,isActive:C,isRoot:o.length===0,currentId:o.length>0?o[o.length-1]:null,animationDirection:l}),[c,i,o,C,l]);return n.createElement(b.Provider,{value:T},n.createElement(R.Provider,{value:z},e))}function H(){let e=n.useContext(b);if(!e)throw new Error("useDrillDownActions must be used within a DropdownMenu.Content");return e}function J(){let e=n.useContext(R);if(!e)throw new Error("useDrillDownState must be used within a DropdownMenu.Content");return e}function X(){return n.useContext(b)}function Y(){return n.useContext(R)}var V=n.createContext(null);function Z(){return n.useContext(V)}
2
2
  //# sourceMappingURL=dropdown-menu-drill-down.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/_internal/dropdown-menu-drill-down.tsx", "../../../../src/hooks/use-breakpoint.ts", "../../../../src/components/shell.types.ts"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport type { Breakpoint, Responsive } from '../../props/prop-def.js';\nimport type { submenuBehaviors } from './base-menu.props.js';\nimport { useBreakpoint } from '../../hooks/use-breakpoint.js';\n\ntype SubmenuBehavior = (typeof submenuBehaviors)[number];\n\n/**\n * Resolves a responsive value to its current value based on the breakpoint.\n * Falls back through smaller breakpoints if the current one isn't defined.\n */\nfunction resolveResponsiveValue<T>(\n value: T | Partial<Record<Breakpoint, T>> | undefined,\n currentBreakpoint: Breakpoint,\n defaultValue: T\n): T {\n if (value === undefined || value === null) {\n return defaultValue;\n }\n\n // Non-object values are returned directly\n if (typeof value !== 'object') {\n return value;\n }\n\n const map = value as Partial<Record<Breakpoint, T>>;\n\n // Check if current breakpoint has a value\n if (map[currentBreakpoint] !== undefined) {\n return map[currentBreakpoint] as T;\n }\n\n // Fall back through smaller breakpoints\n const bpOrder: Breakpoint[] = ['xl', 'lg', 'md', 'sm', 'xs', 'initial'];\n const startIdx = bpOrder.indexOf(currentBreakpoint);\n\n for (let i = startIdx + 1; i < bpOrder.length; i++) {\n const bp = bpOrder[i];\n if (map[bp] !== undefined) {\n return map[bp] as T;\n }\n }\n\n return defaultValue;\n}\n\n// ============================================================================\n// DrillDown Context\n// ============================================================================\n\ntype AnimationDirection = 'forward' | 'backward' | null;\n\n/**\n * Stable actions context - callbacks that don't change identity.\n * Separated from state to prevent unnecessary re-renders of components\n * that only need to call push/pop/reset.\n */\ninterface DrillDownActionsContextValue {\n /** Navigate into a submenu */\n push: (id: string) => void;\n /** Navigate back to parent menu */\n pop: () => void;\n /** Reset to root menu */\n reset: () => void;\n}\n\n/**\n * Mutable state context - values that change when navigation occurs.\n * Subscribers to this context will re-render on stack changes.\n */\ninterface DrillDownStateContextValue {\n /** Current submenu behavior mode */\n behavior: SubmenuBehavior;\n /** Whether the breakpoint has been resolved (client-side only) */\n ready: boolean;\n /** Stack of active submenu IDs. Empty means root menu is shown. */\n stack: string[];\n /** Check if a specific submenu is the currently active one */\n isActive: (id: string) => boolean;\n /** Check if we're at root level (no submenus open) */\n isRoot: boolean;\n /** The currently active submenu ID (or null if at root) */\n currentId: string | null;\n /** Current animation direction for transitions */\n animationDirection: AnimationDirection;\n}\n\nconst DrillDownActionsContext = React.createContext<DrillDownActionsContextValue | null>(null);\nconst DrillDownStateContext = React.createContext<DrillDownStateContextValue | null>(null);\n\ninterface DrillDownProviderProps {\n children: React.ReactNode;\n submenuBehavior: Responsive<SubmenuBehavior> | undefined;\n}\n\nfunction DrillDownProvider({ children, submenuBehavior }: DrillDownProviderProps) {\n const { breakpoint, ready } = useBreakpoint();\n const [stack, setStack] = React.useState<string[]>([]);\n const [animationDirection, setAnimationDirection] = React.useState<AnimationDirection>(null);\n\n // Resolve the current behavior based on breakpoint\n const behavior = React.useMemo(\n () => resolveResponsiveValue(submenuBehavior, breakpoint, 'cascade'),\n [submenuBehavior, breakpoint]\n );\n\n // Reset stack when behavior changes from drill-down to cascade\n const prevBehaviorRef = React.useRef(behavior);\n React.useEffect(() => {\n if (prevBehaviorRef.current === 'drill-down' && behavior === 'cascade') {\n setStack([]);\n setAnimationDirection(null);\n }\n prevBehaviorRef.current = behavior;\n }, [behavior]);\n\n // Stable action callbacks - these never change identity\n const push = React.useCallback((id: string) => {\n setAnimationDirection('forward');\n setStack((prev) => [...prev, id]);\n }, []);\n\n const pop = React.useCallback(() => {\n setAnimationDirection('backward');\n setStack((prev) => prev.slice(0, -1));\n }, []);\n\n const reset = React.useCallback(() => {\n setStack([]);\n setAnimationDirection(null);\n }, []);\n\n // Memoize actions context value - completely stable, never changes\n const actionsValue = React.useMemo(\n (): DrillDownActionsContextValue => ({ push, pop, reset }),\n [push, pop, reset]\n );\n\n // isActive depends on stack - this is expected to change\n const isActive = React.useCallback(\n (id: string) => {\n if (stack.length === 0) return false;\n return stack[stack.length - 1] === id;\n },\n [stack]\n );\n\n // Memoize state context value - changes when stack/behavior changes\n const stateValue = React.useMemo(\n (): DrillDownStateContextValue => ({\n behavior,\n ready,\n stack,\n isActive,\n isRoot: stack.length === 0,\n currentId: stack.length > 0 ? stack[stack.length - 1] : null,\n animationDirection,\n }),\n [behavior, ready, stack, isActive, animationDirection]\n );\n\n return (\n <DrillDownActionsContext.Provider value={actionsValue}>\n <DrillDownStateContext.Provider value={stateValue}>\n {children}\n </DrillDownStateContext.Provider>\n </DrillDownActionsContext.Provider>\n );\n}\n\n/**\n * Hook to access only the stable action callbacks (push, pop, reset).\n * Use this in components that only need to trigger navigation,\n * not react to state changes. Prevents unnecessary re-renders.\n */\nfunction useDrillDownActions() {\n const ctx = React.useContext(DrillDownActionsContext);\n if (!ctx) {\n throw new Error('useDrillDownActions must be used within a DropdownMenu.Content');\n }\n return ctx;\n}\n\n/**\n * Hook to access drill-down state (behavior, stack, isActive, etc.).\n * Components using this will re-render when navigation state changes.\n */\nfunction useDrillDownState() {\n const ctx = React.useContext(DrillDownStateContext);\n if (!ctx) {\n throw new Error('useDrillDownState must be used within a DropdownMenu.Content');\n }\n return ctx;\n}\n\n/**\n * Optional version of useDrillDownActions for components that may be outside Content.\n */\nfunction useDrillDownActionsOptional() {\n return React.useContext(DrillDownActionsContext);\n}\n\n/**\n * Optional version of useDrillDownState for components that may be outside Content.\n */\nfunction useDrillDownStateOptional() {\n return React.useContext(DrillDownStateContext);\n}\n\n// ============================================================================\n// Sub Context (for individual submenu instances)\n// ============================================================================\n\ninterface SubContextValue {\n /** Unique ID for this submenu */\n id: string;\n /** Label for the back button */\n label: React.ReactNode;\n}\n\nconst SubContext = React.createContext<SubContextValue | null>(null);\n\nfunction useSubContext() {\n return React.useContext(SubContext);\n}\n\nexport {\n DrillDownProvider,\n DrillDownActionsContext,\n DrillDownStateContext,\n SubContext,\n useDrillDownActions,\n useDrillDownActionsOptional,\n useDrillDownState,\n useDrillDownStateOptional,\n useSubContext,\n useBreakpoint,\n resolveResponsiveValue,\n};\n\nexport type {\n SubmenuBehavior,\n DrillDownActionsContextValue,\n DrillDownStateContextValue,\n SubContextValue,\n AnimationDirection,\n};\n", "'use client';\n\nimport * as React from 'react';\nimport { _BREAKPOINTS, type Breakpoint } from '../components/shell.types.js';\n\n/**\n * Hook to get the current breakpoint based on window width.\n * Returns 'initial' on the server and during initial hydration.\n * Uses shared breakpoint values from shell.types.js.\n */\nexport function useBreakpoint(): { breakpoint: Breakpoint; ready: boolean } {\n const [currentBp, setCurrentBp] = React.useState<Breakpoint>('initial');\n const [ready, setReady] = React.useState(false);\n\n React.useEffect(() => {\n if (typeof window === 'undefined') return;\n\n const queries = Object.entries(_BREAKPOINTS) as [keyof typeof _BREAKPOINTS, string][];\n const mqls = queries.map(([k, q]) => [k, window.matchMedia(q)] as const);\n\n // Accept optional event param to satisfy MediaQueryList listener signature\n const compute = (_e?: MediaQueryListEvent) => {\n // Highest matched wins\n const matched = mqls.filter(([, m]) => m.matches).map(([k]) => k);\n const next = (matched[matched.length - 1] as Breakpoint | undefined) ?? 'initial';\n setCurrentBp(next);\n setReady(true);\n };\n\n compute();\n const cleanups: Array<() => void> = [];\n mqls.forEach(([, m]) => {\n const mm = m as MediaQueryList & {\n addEventListener?: (type: 'change', listener: (e: MediaQueryListEvent) => void) => void;\n removeEventListener?: (type: 'change', listener: (e: MediaQueryListEvent) => void) => void;\n addListener?: (listener: (e: MediaQueryListEvent) => void) => void;\n removeListener?: (listener: (e: MediaQueryListEvent) => void) => void;\n };\n if (typeof mm.addEventListener === 'function' && typeof mm.removeEventListener === 'function') {\n mm.addEventListener('change', compute);\n cleanups.push(() => mm.removeEventListener?.('change', compute));\n } else if (typeof mm.addListener === 'function' && typeof mm.removeListener === 'function') {\n mm.addListener(compute);\n cleanups.push(() => mm.removeListener?.(compute));\n }\n });\n\n return () => {\n cleanups.forEach((fn) => {\n try {\n fn();\n } catch (e) {\n // MediaQueryList cleanup can fail in edge cases (e.g., already removed)\n if (process.env.NODE_ENV !== 'production') {\n console.warn('[useBreakpoint] MediaQueryList cleanup warning:', e);\n }\n }\n });\n };\n }, []);\n\n return { breakpoint: currentBp, ready };\n}\n", "import type * as React from 'react';\n\nexport type PresentationValue = 'fixed' | 'overlay' | 'stacked';\n\nexport type ResponsivePresentation = PresentationValue | Partial<Record<'initial' | 'xs' | 'sm' | 'md' | 'lg' | 'xl', PresentationValue>>;\n\nexport type PaneMode = 'expanded' | 'collapsed';\nexport type SidebarMode = 'collapsed' | 'thin' | 'expanded';\n\nexport type ResponsiveMode = PaneMode | Partial<Record<'initial' | 'xs' | 'sm' | 'md' | 'lg' | 'xl', PaneMode>>;\n\nexport type ResponsiveSidebarMode = SidebarMode | Partial<Record<'initial' | 'xs' | 'sm' | 'md' | 'lg' | 'xl', SidebarMode>>;\n\nexport type Responsive<T> = T | Partial<Record<'initial' | 'xs' | 'sm' | 'md' | 'lg' | 'xl', T>>;\n\nexport type PaneSizePersistence = {\n load?: () => number | Promise<number | undefined> | undefined;\n save?: (size: number) => void | Promise<void>;\n};\n\nexport interface PaneBaseProps extends React.ComponentPropsWithoutRef<'div'> {\n presentation?: ResponsivePresentation;\n expandedSize?: number;\n minSize?: number;\n maxSize?: number;\n height?: string | number;\n resizable?: boolean;\n collapsible?: boolean;\n onExpand?: () => void;\n onCollapse?: () => void;\n onResize?: (size: number) => void;\n resizer?: React.ReactNode;\n onResizeStart?: (size: number) => void;\n onResizeEnd?: (size: number) => void;\n snapPoints?: number[];\n snapTolerance?: number;\n collapseThreshold?: number;\n paneId?: string;\n persistence?: PaneSizePersistence;\n}\n\nexport const _BREAKPOINTS = {\n xs: '(min-width: 520px)',\n sm: '(min-width: 768px)',\n md: '(min-width: 1024px)',\n lg: '(min-width: 1280px)',\n xl: '(min-width: 1640px)',\n} as const;\n\nexport type Breakpoint = 'initial' | keyof typeof _BREAKPOINTS;\n\nexport type PaneTarget = 'left' | 'rail' | 'panel' | 'sidebar' | 'inspector' | 'bottom';\n\n/**\n * CSS custom property key type for type-safe style objects.\n * Allows any string prefixed with '--'.\n */\nexport type CSSCustomProperty = `--${string}`;\n\n/**\n * Style object that supports CSS custom properties.\n */\nexport type CSSPropertiesWithVars = React.CSSProperties & {\n [key: CSSCustomProperty]: string | number | undefined;\n};\n"],
5
- "mappings": "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",
6
- "names": ["dropdown_menu_drill_down_exports", "__export", "DrillDownActionsContext", "DrillDownProvider", "DrillDownStateContext", "SubContext", "resolveResponsiveValue", "useBreakpoint", "useDrillDownActions", "useDrillDownActionsOptional", "useDrillDownState", "useDrillDownStateOptional", "useSubContext", "__toCommonJS", "React", "React", "_BREAKPOINTS", "useBreakpoint", "currentBp", "setCurrentBp", "ready", "setReady", "mqls", "_BREAKPOINTS", "k", "q", "compute", "_e", "matched", "m", "next", "cleanups", "mm", "fn", "resolveResponsiveValue", "value", "currentBreakpoint", "defaultValue", "map", "bpOrder", "startIdx", "i", "bp", "DrillDownActionsContext", "DrillDownStateContext", "DrillDownProvider", "children", "submenuBehavior", "breakpoint", "ready", "useBreakpoint", "stack", "setStack", "animationDirection", "setAnimationDirection", "behavior", "prevBehaviorRef", "push", "id", "prev", "pop", "reset", "actionsValue", "isActive", "stateValue", "useDrillDownActions", "ctx", "useDrillDownState", "useDrillDownActionsOptional", "useDrillDownStateOptional", "SubContext", "useSubContext"]
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport type { Breakpoint, Responsive } from '../../props/prop-def.js';\nimport type { submenuBehaviors } from './base-menu.props.js';\nimport { useBreakpoint } from '../../hooks/use-breakpoint.js';\n\ntype SubmenuBehavior = (typeof submenuBehaviors)[number];\n\n/**\n * Resolves a responsive value to its current value based on the breakpoint.\n * Falls back through smaller breakpoints if the current one isn't defined.\n */\nfunction resolveResponsiveValue<T>(\n value: T | Partial<Record<Breakpoint, T>> | undefined,\n currentBreakpoint: Breakpoint,\n defaultValue: T\n): T {\n if (value === undefined || value === null) {\n return defaultValue;\n }\n\n // Non-object values are returned directly\n if (typeof value !== 'object') {\n return value;\n }\n\n const map = value as Partial<Record<Breakpoint, T>>;\n\n // Check if current breakpoint has a value\n if (map[currentBreakpoint] !== undefined) {\n return map[currentBreakpoint] as T;\n }\n\n // Fall back through smaller breakpoints\n const bpOrder: Breakpoint[] = ['xl', 'lg', 'md', 'sm', 'xs', 'initial'];\n const startIdx = bpOrder.indexOf(currentBreakpoint);\n\n for (let i = startIdx + 1; i < bpOrder.length; i++) {\n const bp = bpOrder[i];\n if (map[bp] !== undefined) {\n return map[bp] as T;\n }\n }\n\n return defaultValue;\n}\n\n// ============================================================================\n// DrillDown Context\n// ============================================================================\n\ntype AnimationDirection = 'forward' | 'backward' | null;\n\n/**\n * Stable actions context - callbacks that don't change identity.\n * Separated from state to prevent unnecessary re-renders of components\n * that only need to call push/pop/reset.\n */\ninterface DrillDownActionsContextValue {\n /** Navigate into a submenu */\n push: (id: string) => void;\n /** Navigate back to parent menu */\n pop: () => void;\n /** Reset to root menu */\n reset: () => void;\n}\n\n/**\n * Mutable state context - values that change when navigation occurs.\n * Subscribers to this context will re-render on stack changes.\n */\ninterface DrillDownStateContextValue {\n /** Current submenu behavior mode */\n behavior: SubmenuBehavior;\n /** Whether the breakpoint has been resolved (client-side only) */\n ready: boolean;\n /** Stack of active submenu IDs. Empty means root menu is shown. */\n stack: string[];\n /** Check if a specific submenu is the currently active one */\n isActive: (id: string) => boolean;\n /** Check if we're at root level (no submenus open) */\n isRoot: boolean;\n /** The currently active submenu ID (or null if at root) */\n currentId: string | null;\n /** Current animation direction for transitions */\n animationDirection: AnimationDirection;\n}\n\nconst DrillDownActionsContext = React.createContext<DrillDownActionsContextValue | null>(null);\nconst DrillDownStateContext = React.createContext<DrillDownStateContextValue | null>(null);\n\ninterface DrillDownProviderProps {\n children: React.ReactNode;\n submenuBehavior: Responsive<SubmenuBehavior> | undefined;\n}\n\nfunction DrillDownProvider({ children, submenuBehavior }: DrillDownProviderProps) {\n const { breakpoint, ready } = useBreakpoint();\n const [stack, setStack] = React.useState<string[]>([]);\n const [animationDirection, setAnimationDirection] = React.useState<AnimationDirection>(null);\n\n // Resolve the current behavior based on breakpoint\n const behavior = React.useMemo(\n () => resolveResponsiveValue(submenuBehavior, breakpoint, 'cascade'),\n [submenuBehavior, breakpoint]\n );\n\n // Reset stack when behavior changes from drill-down to cascade\n const prevBehaviorRef = React.useRef(behavior);\n React.useEffect(() => {\n if (prevBehaviorRef.current === 'drill-down' && behavior === 'cascade') {\n setStack([]);\n setAnimationDirection(null);\n }\n prevBehaviorRef.current = behavior;\n }, [behavior]);\n\n // Stable action callbacks - these never change identity\n const push = React.useCallback((id: string) => {\n setAnimationDirection('forward');\n setStack((prev) => [...prev, id]);\n }, []);\n\n const pop = React.useCallback(() => {\n setAnimationDirection('backward');\n setStack((prev) => prev.slice(0, -1));\n }, []);\n\n const reset = React.useCallback(() => {\n setStack([]);\n setAnimationDirection(null);\n }, []);\n\n // Memoize actions context value - completely stable, never changes\n const actionsValue = React.useMemo(\n (): DrillDownActionsContextValue => ({ push, pop, reset }),\n [push, pop, reset]\n );\n\n // isActive depends on stack - this is expected to change\n const isActive = React.useCallback(\n (id: string) => {\n if (stack.length === 0) return false;\n return stack[stack.length - 1] === id;\n },\n [stack]\n );\n\n // Memoize state context value - changes when stack/behavior changes\n const stateValue = React.useMemo(\n (): DrillDownStateContextValue => ({\n behavior,\n ready,\n stack,\n isActive,\n isRoot: stack.length === 0,\n currentId: stack.length > 0 ? stack[stack.length - 1] : null,\n animationDirection,\n }),\n [behavior, ready, stack, isActive, animationDirection]\n );\n\n return (\n <DrillDownActionsContext.Provider value={actionsValue}>\n <DrillDownStateContext.Provider value={stateValue}>\n {children}\n </DrillDownStateContext.Provider>\n </DrillDownActionsContext.Provider>\n );\n}\n\n/**\n * Hook to access only the stable action callbacks (push, pop, reset).\n * Use this in components that only need to trigger navigation,\n * not react to state changes. Prevents unnecessary re-renders.\n */\nfunction useDrillDownActions() {\n const ctx = React.useContext(DrillDownActionsContext);\n if (!ctx) {\n throw new Error('useDrillDownActions must be used within a DropdownMenu.Content');\n }\n return ctx;\n}\n\n/**\n * Hook to access drill-down state (behavior, stack, isActive, etc.).\n * Components using this will re-render when navigation state changes.\n */\nfunction useDrillDownState() {\n const ctx = React.useContext(DrillDownStateContext);\n if (!ctx) {\n throw new Error('useDrillDownState must be used within a DropdownMenu.Content');\n }\n return ctx;\n}\n\n/**\n * Optional version of useDrillDownActions for components that may be outside Content.\n */\nfunction useDrillDownActionsOptional() {\n return React.useContext(DrillDownActionsContext);\n}\n\n/**\n * Optional version of useDrillDownState for components that may be outside Content.\n */\nfunction useDrillDownStateOptional() {\n return React.useContext(DrillDownStateContext);\n}\n\n// ============================================================================\n// Sub Context (for individual submenu instances)\n// ============================================================================\n\ninterface SubContextValue {\n /** Unique ID for this submenu */\n id: string;\n /** Label for the back button */\n label: React.ReactNode;\n}\n\nconst SubContext = React.createContext<SubContextValue | null>(null);\n\nfunction useSubContext() {\n return React.useContext(SubContext);\n}\n\nexport {\n DrillDownProvider,\n DrillDownActionsContext,\n DrillDownStateContext,\n SubContext,\n useDrillDownActions,\n useDrillDownActionsOptional,\n useDrillDownState,\n useDrillDownStateOptional,\n useSubContext,\n useBreakpoint,\n resolveResponsiveValue,\n};\n\nexport type {\n SubmenuBehavior,\n DrillDownActionsContextValue,\n DrillDownStateContextValue,\n SubContextValue,\n AnimationDirection,\n};\n", "'use client';\n\nimport * as React from 'react';\nimport { _BREAKPOINTS, type Breakpoint } from '../components/shell.types.js';\n\nconst QUERIES = Object.entries(_BREAKPOINTS) as Array<[Breakpoint, string]>;\n\ntype Listener = () => void;\n\n/**\n * One set of `MediaQueryList`s and one set of listeners for the whole\n * application. Every component that asks for the breakpoint used to create and\n * subscribe to its own copy of all five queries.\n */\nlet mediaQueryLists: Array<[Breakpoint, MediaQueryList]> | null = null;\nconst listeners = new Set<Listener>();\nlet cachedBreakpoint: Breakpoint | null = null;\n\nfunction getMediaQueryLists() {\n mediaQueryLists ??= QUERIES.map(([name, query]) => [name, window.matchMedia(query)] as [Breakpoint, MediaQueryList]);\n return mediaQueryLists;\n}\n\nfunction computeBreakpoint(): Breakpoint {\n // The largest matching query wins; `_BREAKPOINTS` is ordered smallest first.\n let matched: Breakpoint = 'initial';\n for (const [name, mql] of getMediaQueryLists()) {\n if (mql.matches) matched = name;\n }\n return matched;\n}\n\nfunction handleChange() {\n const next = computeBreakpoint();\n if (next === cachedBreakpoint) return;\n cachedBreakpoint = next;\n listeners.forEach((listener) => listener());\n}\n\nfunction subscribe(listener: Listener) {\n if (typeof window === 'undefined') return () => {};\n\n if (listeners.size === 0) {\n cachedBreakpoint = computeBreakpoint();\n for (const [, mql] of getMediaQueryLists()) {\n // Safari below 14 only has the deprecated listener API.\n if (typeof mql.addEventListener === 'function') mql.addEventListener('change', handleChange);\n else mql.addListener?.(handleChange);\n }\n }\n\n listeners.add(listener);\n\n return () => {\n listeners.delete(listener);\n if (listeners.size > 0) return;\n\n for (const [, mql] of getMediaQueryLists()) {\n try {\n if (typeof mql.removeEventListener === 'function') mql.removeEventListener('change', handleChange);\n else mql.removeListener?.(handleChange);\n } catch (error) {\n // Removal can throw in edge cases, e.g. the list was already torn down.\n if (process.env.NODE_ENV !== 'production') {\n console.warn('[useBreakpoint] MediaQueryList cleanup warning:', error);\n }\n }\n }\n cachedBreakpoint = null;\n };\n}\n\n/**\n * `getSnapshot` must return a referentially stable value between changes, so it\n * reads the cache that `handleChange` maintains rather than recomputing.\n */\nfunction getSnapshot(): Breakpoint {\n if (typeof window === 'undefined') return 'initial';\n cachedBreakpoint ??= computeBreakpoint();\n return cachedBreakpoint;\n}\n\nfunction getServerSnapshot(): Breakpoint {\n return 'initial';\n}\n\nconst getReadySnapshot = () => true;\nconst getReadyServerSnapshot = () => false;\n\n/**\n * The current breakpoint, and whether it has been resolved against a real\n * viewport yet (`false` on the server and during hydration).\n *\n * Reads through `useSyncExternalStore` rather than settling into state from an\n * effect. On a client render the very first pass already has the real\n * breakpoint, instead of rendering the whole shell at `initial` and correcting\n * it after the browser has painted.\n */\nexport function useBreakpoint(): { breakpoint: Breakpoint; ready: boolean } {\n const breakpoint = React.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n const ready = React.useSyncExternalStore(subscribe, getReadySnapshot, getReadyServerSnapshot);\n\n return React.useMemo(() => ({ breakpoint, ready }), [breakpoint, ready]);\n}\n", "import type * as React from 'react';\n\nexport type PresentationValue = 'fixed' | 'overlay' | 'stacked';\n\nexport type ResponsivePresentation = PresentationValue | Partial<Record<'initial' | 'xs' | 'sm' | 'md' | 'lg' | 'xl', PresentationValue>>;\n\nexport type PaneMode = 'expanded' | 'collapsed';\nexport type SidebarMode = 'collapsed' | 'thin' | 'expanded';\n\nexport type ResponsiveMode = PaneMode | Partial<Record<'initial' | 'xs' | 'sm' | 'md' | 'lg' | 'xl', PaneMode>>;\n\nexport type ResponsiveSidebarMode = SidebarMode | Partial<Record<'initial' | 'xs' | 'sm' | 'md' | 'lg' | 'xl', SidebarMode>>;\n\nexport type Responsive<T> = T | Partial<Record<'initial' | 'xs' | 'sm' | 'md' | 'lg' | 'xl', T>>;\n\nexport type PaneSizePersistence = {\n load?: () => number | Promise<number | undefined> | undefined;\n save?: (size: number) => void | Promise<void>;\n};\n\nexport interface PaneBaseProps extends React.ComponentPropsWithoutRef<'div'> {\n presentation?: ResponsivePresentation;\n expandedSize?: number;\n minSize?: number;\n maxSize?: number;\n height?: string | number;\n resizable?: boolean;\n collapsible?: boolean;\n onExpand?: () => void;\n onCollapse?: () => void;\n onResize?: (size: number) => void;\n resizer?: React.ReactNode;\n onResizeStart?: (size: number) => void;\n onResizeEnd?: (size: number) => void;\n snapPoints?: number[];\n snapTolerance?: number;\n collapseThreshold?: number;\n paneId?: string;\n persistence?: PaneSizePersistence;\n}\n\nexport const _BREAKPOINTS = {\n xs: '(min-width: 520px)',\n sm: '(min-width: 768px)',\n md: '(min-width: 1024px)',\n lg: '(min-width: 1280px)',\n xl: '(min-width: 1640px)',\n} as const;\n\nexport type Breakpoint = 'initial' | keyof typeof _BREAKPOINTS;\n\nexport type PaneTarget = 'left' | 'rail' | 'panel' | 'sidebar' | 'inspector' | 'bottom';\n\n/**\n * CSS custom property key type for type-safe style objects.\n * Allows any string prefixed with '--'.\n */\nexport type CSSCustomProperty = `--${string}`;\n\n/**\n * Style object that supports CSS custom properties.\n */\nexport type CSSPropertiesWithVars = React.CSSProperties & {\n [key: CSSCustomProperty]: string | number | undefined;\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["dropdown_menu_drill_down_exports", "__export", "DrillDownActionsContext", "DrillDownProvider", "DrillDownStateContext", "SubContext", "resolveResponsiveValue", "useBreakpoint", "useDrillDownActions", "useDrillDownActionsOptional", "useDrillDownState", "useDrillDownStateOptional", "useSubContext", "__toCommonJS", "React", "React", "_BREAKPOINTS", "QUERIES", "_BREAKPOINTS", "mediaQueryLists", "listeners", "cachedBreakpoint", "getMediaQueryLists", "name", "query", "computeBreakpoint", "matched", "mql", "handleChange", "next", "listener", "subscribe", "getSnapshot", "getServerSnapshot", "getReadySnapshot", "getReadyServerSnapshot", "useBreakpoint", "breakpoint", "ready", "resolveResponsiveValue", "value", "currentBreakpoint", "defaultValue", "map", "bpOrder", "startIdx", "i", "bp", "DrillDownActionsContext", "DrillDownStateContext", "DrillDownProvider", "children", "submenuBehavior", "breakpoint", "ready", "useBreakpoint", "stack", "setStack", "animationDirection", "setAnimationDirection", "behavior", "prevBehaviorRef", "push", "id", "prev", "pop", "reset", "actionsValue", "isActive", "stateValue", "useDrillDownActions", "ctx", "useDrillDownState", "useDrillDownActionsOptional", "useDrillDownStateOptional", "SubContext", "useSubContext"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var Jt=Object.create;var Ce=Object.defineProperty;var Qt=Object.getOwnPropertyDescriptor;var Zt=Object.getOwnPropertyNames;var eo=Object.getPrototypeOf,to=Object.prototype.hasOwnProperty;var oo=(e,t)=>{for(var o in t)Ce(e,o,{get:t[o],enumerable:!0})},ft=(e,t,o,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Zt(t))!to.call(e,r)&&r!==o&&Ce(e,r,{get:()=>t[r],enumerable:!(l=Qt(t,r))||l.enumerable});return e};var H=(e,t,o)=>(o=e!=null?Jt(eo(e)):{},ft(t||!e||!e.__esModule?Ce(o,"default",{value:e,enumerable:!0}):o,e)),no=e=>ft(Ce({},"__esModule",{value:!0}),e);var Ko={};oo(Ko,{Bottom:()=>st});module.exports=no(Ko);var c=H(require("react")),Ut=H(require("classnames"));var y=H(require("react")),Bt=H(require("classnames")),ee=require("radix-ui");var oe={asChild:{type:"boolean"}};var Te={width:{type:"string",className:"rt-r-w",customProperties:["--width"],responsive:!0},minWidth:{type:"string",className:"rt-r-min-w",customProperties:["--min-width"],responsive:!0},maxWidth:{type:"string",className:"rt-r-max-w",customProperties:["--max-width"],responsive:!0}};var Pt={height:{type:"string",className:"rt-r-h",customProperties:["--height"],responsive:!0},minHeight:{type:"string",className:"rt-r-min-h",customProperties:["--min-height"],responsive:!0},maxHeight:{type:"string",className:"rt-r-max-h",customProperties:["--max-height"],responsive:!0}};var ro=["1","2","3","4"],so=["solid","translucent"],ao=["solid","translucent"],yt={...oe,align:{type:"enum",className:"rt-r-align",values:["start","center"],default:"center"},size:{type:"enum",className:"rt-r-size",values:ro,default:"3",responsive:!0},panelBackground:{type:"enum",values:so,default:void 0},material:{type:"enum",values:ao,default:void 0},width:Te.width,minWidth:Te.minWidth,maxWidth:{...Te.maxWidth,default:"600px"},...Pt};var u=H(require("react")),Rt=H(require("classnames")),ue=require("radix-ui");function gt(e){switch(e){case"tomato":case"red":case"ruby":case"crimson":case"pink":case"plum":case"purple":case"violet":return"mauve";case"iris":case"indigo":case"blue":case"sky":case"cyan":return"slate";case"teal":case"jade":case"mint":case"green":return"sage";case"grass":case"lime":return"olive";case"yellow":case"amber":case"orange":case"brown":case"gold":case"bronze":return"sand";case"gray":return"gray"}}var je=["gray","gold","bronze","brown","yellow","amber","orange","tomato","red","ruby","crimson","pink","plum","purple","violet","iris","indigo","blue","cyan","teal","jade","green","grass","lime","mint","sky"],ht=["auto","gray","mauve","slate","sage","olive","sand"],Se={color:{type:"enum",values:je,default:void 0}};var vt=["none","small","medium","large","full"];var io=["inherit","light","dark"],lo=["solid","translucent"],po=["solid","translucent"],co=["90%","95%","100%","105%","110%"],uo=["sans","mono","serif"],P={...oe,hasBackground:{type:"boolean",default:!0},appearance:{type:"enum",values:io,default:"inherit"},accentColor:{type:"enum",values:je,default:"blue"},grayColor:{type:"enum",values:ht,default:"slate"},material:{type:"enum",values:po,default:"translucent"},panelBackground:{type:"enum",values:lo,default:"translucent"},radius:{type:"enum",values:vt,default:"medium"},scaling:{type:"enum",values:co,default:"100%"},fontFamily:{type:"enum",values:uo,default:"sans"}};var O=()=>{},pn={appearance:P.appearance.default,accentColor:P.accentColor.default,grayColor:P.grayColor.default,resolvedGrayColor:P.grayColor.default,material:P.material.default,panelBackground:P.panelBackground.default,radius:P.radius.default,scaling:P.scaling.default,fontFamily:P.fontFamily.default,onAppearanceChange:O,onAccentColorChange:O,onGrayColorChange:O,onMaterialChange:O,onPanelBackgroundChange:O,onRadiusChange:O,onScalingChange:O,onFontFamilyChange:O},We=u.createContext(void 0);var Fe=u.forwardRef((e,t)=>u.useContext(We)===void 0?u.createElement(ue.Tooltip.Provider,{delayDuration:200},u.createElement(ue.Direction.Provider,{dir:"ltr"},u.createElement(bt,{...e,ref:t}))):u.createElement(Ge,{...e,ref:t}));Fe.displayName="Theme";var bt=u.forwardRef((e,t)=>{let{appearance:o=P.appearance.default,accentColor:l=P.accentColor.default,grayColor:r=P.grayColor.default,material:s=P.material.default,panelBackground:p=P.panelBackground.default,radius:a=P.radius.default,scaling:n=P.scaling.default,fontFamily:d=P.fontFamily.default,hasBackground:h=P.hasBackground.default,...g}=e;u.useEffect(()=>{e.panelBackground!==void 0&&console.warn("Warning: The `panelBackground` prop is deprecated and will be removed in a future version. Use `material` prop instead.")},[e.panelBackground]);let[b,D]=u.useState(o);u.useEffect(()=>D(o),[o]);let[C,E]=u.useState(l);u.useEffect(()=>E(l),[l]);let[U,A]=u.useState(r);u.useEffect(()=>A(r),[r]);let z=s!==P.material.default?s:p,[j,K]=u.useState(z);u.useEffect(()=>K(z),[z]);let[_,W]=u.useState(p);u.useEffect(()=>W(j),[j]);let[J,q]=u.useState(a);u.useEffect(()=>q(a),[a]);let[k,m]=u.useState(n);u.useEffect(()=>m(n),[n]);let[f,v]=u.useState(d);return u.useEffect(()=>v(d),[d]),u.createElement(Ge,{...g,ref:t,isRoot:!0,hasBackground:h,appearance:b,accentColor:C,grayColor:U,material:j,panelBackground:_,radius:J,scaling:k,fontFamily:f,onAppearanceChange:D,onAccentColorChange:E,onGrayColorChange:A,onMaterialChange:K,onPanelBackgroundChange:W,onRadiusChange:q,onScalingChange:m,onFontFamilyChange:v})});bt.displayName="ThemeRoot";function mo(){if(typeof navigator>"u")return;let e=navigator.userAgent;if(e.includes("Win"))return"windows";if(e.includes("Mac"))return"macos";if(e.includes("Linux"))return"linux"}var Ge=u.forwardRef((e,t)=>{let o=u.useContext(We),{asChild:l,isRoot:r,hasBackground:s,appearance:p=e.appearance??o?.appearance??P.appearance.default,accentColor:a=e.accentColor??o?.accentColor??P.accentColor.default,grayColor:n=e.grayColor??o?.resolvedGrayColor??P.grayColor.default,material:d=e.material??o?.material??P.material.default,panelBackground:h=e.panelBackground??o?.panelBackground??P.panelBackground.default,radius:g=e.radius??o?.radius??P.radius.default,scaling:b=e.scaling??o?.scaling??P.scaling.default,fontFamily:D=e.fontFamily??o?.fontFamily??P.fontFamily.default,onAppearanceChange:C=O,onAccentColorChange:E=O,onGrayColorChange:U=O,onMaterialChange:A=O,onPanelBackgroundChange:z=O,onRadiusChange:j=O,onScalingChange:K=O,onFontFamilyChange:_=O,...W}=e,J=l?ue.Slot.Root:"div",q=n==="auto"?gt(a):n,k=e.appearance==="light"||e.appearance==="dark",m=s===void 0?r||k:s,[f,v]=u.useState(void 0);return u.useEffect(()=>{r&&v(mo())},[r]),u.createElement(We.Provider,{value:u.useMemo(()=>({appearance:p,accentColor:a,grayColor:n,resolvedGrayColor:q,material:d,panelBackground:h,radius:g,scaling:b,fontFamily:D,onAppearanceChange:C,onAccentColorChange:E,onGrayColorChange:U,onMaterialChange:A,onPanelBackgroundChange:z,onRadiusChange:j,onScalingChange:K,onFontFamilyChange:_}),[p,a,n,q,d,h,g,b,D,C,E,U,A,z,j,K,_])},u.createElement(J,{"data-is-root-theme":r?"true":"false","data-accent-color":a,"data-gray-color":q,"data-has-background":m?"true":"false","data-material":d,"data-panel-background":h,"data-radius":g,"data-scaling":b,"data-font-family":D,"data-os":r?f:void 0,ref:t,...W,className:(0,Rt.default)("radix-themes",{light:p==="light",dark:p==="dark"},W.className)}))});Ge.displayName="ThemeImpl";var le=H(require("react")),St=require("radix-ui");var De={highContrast:{type:"boolean",className:"rt-high-contrast",default:void 0}};var fo=["normal","start","end","both"],Ee={trim:{type:"enum",className:"rt-r-lt",values:fo,responsive:!0}};var Po=["left","center","right"],we={align:{type:"enum",className:"rt-r-ta",values:Po,responsive:!0}};var yo=["wrap","nowrap","pretty","balance"],Me={wrap:{type:"enum",className:"rt-r-tw",values:yo,responsive:!0}};var ke={truncate:{type:"boolean",className:"rt-truncate"}};var go=["sans","mono","serif"],Be={font:{type:"enum",className:"rt-r-ff",values:go}};var ho=["thin","extralight","light","regular","medium","semibold","bold","extrabold"],Ne={weight:{type:"enum",className:"rt-r-weight",values:ho,responsive:!0}};var vo=["h1","h2","h3","h4","h5","h6"],Ro=["0","1","2","3","4","5","6","7","8","9","10","11","12"],xt={as:{type:"enum",values:vo,default:"h1"},...oe,size:{type:"enum",className:"rt-r-size",values:Ro,default:"6",responsive:!0},...Be,...Ne,...we,...Ee,...ke,...Me,...Se,...De};var ye=H(require("classnames"));var bo=["initial","xs","sm","md","lg","xl"],Ke=new Set(bo);function $e(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var xo=new Set(["initial","xs","sm","md","lg","xl"]);function se(e){if(typeof e!="object"||e===null)return!1;for(let t in e)if(xo.has(t))return!0;return!1}function Tt({className:e,customProperties:t,...o}){let l=Ue({allowArbitraryValues:!0,className:e,...o}),r=Co({customProperties:t,...o});return[l,r]}function Ue({allowArbitraryValues:e,value:t,className:o,propValues:l,parseValue:r=s=>s}){let s=[];if(t){if(typeof t=="string"&&l.includes(t))return Ct(o,t,r);if(se(t)){let p=t;for(let a in p){if(!$e(p,a)||!Ke.has(a))continue;let n=p[a];if(n!==void 0){if(l.includes(n)){let d=Ct(o,n,r),h=a==="initial"?d:`${a}:${d}`;s.push(h)}else if(e){let d=a==="initial"?o:`${a}:${o}`;s.push(d)}}}return s.join(" ")}if(e)return o}}function Ct(e,t,o){let l=e?"-":"",r=o(t),s=r?.startsWith("-"),p=s?"-":"",a=s?r?.substring(1):r;return`${p}${e}${l}${a}`}function Co({customProperties:e,value:t,propValues:o,parseValue:l=r=>r}){let r={};if(!(!t||typeof t=="string"&&o.includes(t))){if(typeof t=="string"&&(r=Object.fromEntries(e.map(s=>[s,t]))),se(t)){let s=t;for(let p in s){if(!$e(s,p)||!Ke.has(p))continue;let a=s[p];if(!o.includes(a))for(let n of e){let d=p==="initial"?n:`${n}-${p}`;r[d]=a}}}for(let s in r){let p=r[s];p!==void 0&&(r[s]=l(p))}return r}}function _e(...e){let t;for(let o of e)o&&(t===void 0&&(t={}),Object.assign(t,o));return t}function To(...e){return Object.assign({},...e)}function ae(e,...t){let o,l,r={...e},s=To(...t);for(let p in s){let a=r[p],n=s[p];if(n.default!==void 0&&a===void 0&&(a=n.default),n.type==="enum"&&![n.default,...n.values].includes(a)&&!se(a)&&(a=n.default),r[p]=a,"className"in n&&n.className){delete r[p];let d="responsive"in n;if(!a||se(a)&&!d)continue;if(se(a)&&(n.default!==void 0&&a.initial===void 0&&(a.initial=n.default),n.type==="enum"&&([n.default,...n.values].includes(a.initial)||(a.initial=n.default))),n.type==="enum"){let h=Ue({allowArbitraryValues:!1,value:a,className:n.className,propValues:n.values,parseValue:n.parseValue});o=(0,ye.default)(o,h);continue}if(n.type==="string"||n.type==="enum | string"){let h=n.type==="string"?[]:n.values,[g,b]=Tt({className:n.className,customProperties:n.customProperties,propValues:h,parseValue:n.parseValue,value:a});l=_e(l,b),o=(0,ye.default)(o,g);continue}if(n.type==="boolean"&&a){o=(0,ye.default)(o,n.className);continue}}}return r.className=(0,ye.default)(o,e.className),r.style=_e(l,e.style),r}var ie=["0","1","2","3","4","5","6","7","8","9","10","11","12","-1","-2","-3","-4","-5","-6","-7","-8","-9","-10","-11","-12"],ze={m:{type:"enum | string",values:ie,responsive:!0,className:"rt-r-m",customProperties:["--m"]},mx:{type:"enum | string",values:ie,responsive:!0,className:"rt-r-mx",customProperties:["--ml","--mr"]},my:{type:"enum | string",values:ie,responsive:!0,className:"rt-r-my",customProperties:["--mt","--mb"]},mt:{type:"enum | string",values:ie,responsive:!0,className:"rt-r-mt",customProperties:["--mt"]},mr:{type:"enum | string",values:ie,responsive:!0,className:"rt-r-mr",customProperties:["--mr"]},mb:{type:"enum | string",values:ie,responsive:!0,className:"rt-r-mb",customProperties:["--mb"]},ml:{type:"enum | string",values:ie,responsive:!0,className:"rt-r-ml",customProperties:["--ml"]}};var So={...xt,...ze},qe=le.memo(le.forwardRef((e,t)=>{let{children:o,className:l,asChild:r,as:s="h1",color:p,...a}=ae(e,So),n=l?`rt-Heading ${l}`:"rt-Heading";return r?le.createElement(St.Slot.Root,{"data-accent-color":p,...a,ref:t,className:n},o):le.createElement(s,{"data-accent-color":p,...a,ref:t,className:n},o)}));qe.displayName="Heading";var pe=H(require("react")),Et=require("radix-ui");var Do=["span","div","label","p"],Eo=["0","1","2","3","4","5","6","7","8","9","10","11","12"],Dt={as:{type:"enum",values:Do,default:"span"},...oe,size:{type:"enum",className:"rt-r-size",values:Eo,responsive:!0},...Be,...Ne,...we,...Ee,...ke,...Me,...Se,...De};var wo={...Dt,...ze},Ye=pe.memo(pe.forwardRef((e,t)=>{let{children:o,className:l,asChild:r,as:s="span",color:p,...a}=ae(e,wo),n=l?`rt-Text ${l}`:"rt-Text";return r?pe.createElement(Et.Slot.Root,{"data-accent-color":p,...a,ref:t,className:n},o):pe.createElement(s,{"data-accent-color":p,...a,ref:t,className:n},o)}));Ye.displayName="Text";var Le=H(require("react")),Xe=e=>{if(!Le.isValidElement(e))throw Error(`Expected a single React Element child, but got: ${Le.Children.toArray(e).map(o=>typeof o=="object"&&"type"in o&&typeof o.type=="string"?o.type:typeof o).join(", ")}`);return e};var Mt=H(require("react")),wt=!1;function kt(){Mt.useEffect(()=>{if(typeof document>"u"||wt)return;wt=!0;let e=()=>{let n=!!document.querySelector('[role="dialog"][aria-modal="true"], [role="alertdialog"][aria-modal="true"]'),d=!!document.querySelector('[data-radix-popper-content-wrapper], [data-state="open"]');return n||d},t=()=>{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"))},o=()=>{document.body.style.pointerEvents==="none"&&!e()&&(console.log("[KookieUI] Safe cleaning stuck pointer-events: none from body"),document.body.style.pointerEvents="")},l=n=>{let d=n.target;d&&!d.closest('[role="dialog"], [role="alertdialog"], [data-radix-popper-content-wrapper]')&&setTimeout(t,100)},r=n=>{n.key==="Escape"&&setTimeout(t,200)},s=()=>{setTimeout(o,50)};document.addEventListener("click",l,!0),document.addEventListener("keydown",r,!0),document.addEventListener("pointerup",s,!0),document.addEventListener("transitionend",s,!0),document.addEventListener("animationend",s,!0),new MutationObserver(()=>{setTimeout(o,0)}).observe(document.body,{childList:!0,subtree:!0,attributes:!0});let a=setInterval(()=>{document.body.style.pointerEvents==="none"&&!e()&&(console.log("[KookieUI] Periodic cleanup of stuck pointer-events"),document.body.style.pointerEvents="")},1e3);return setTimeout(o,100),()=>{clearInterval(a)}},[])}var Je=e=>y.createElement(ee.Dialog.Root,{...e,modal:!0});Je.displayName="Sheet.Root";var Mo=y.forwardRef(({children:e,...t},o)=>y.createElement(ee.Dialog.Trigger,{...t,ref:o,asChild:!0},Xe(e)));Mo.displayName="Sheet.Trigger";var Qe=y.forwardRef((e,t)=>{let{side:o="start",forceMount:l,container:r,className:s,panelBackground:p,material:a,...n}=e,h={left:"start",right:"end",start:"start",end:"end",top:"top",bottom:"bottom"}[o],{align:g,panelBackground:b,material:D,...C}=yt,{panelBackground:E,material:U}=ae({panelBackground:p,material:a},{panelBackground:b,material:D}),A=y.useMemo(()=>U??E,[U,E]),{default:z,...j}=C.maxWidth,K={...C,maxWidth:j},{className:_,...W}=ae(n,K),J=y.useRef(null),q=y.useMemo(()=>k=>{J.current=k,typeof t=="function"?t(k):t&&(t.current=k)},[t]);return kt(),y.useEffect(()=>{if(typeof window>"u")return;let k=J.current;if(!k)return;let m=k.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(m.length===0)return;let f=m[0],v=m[m.length-1],Y=$=>{$.key==="Tab"&&($.shiftKey?document.activeElement===f&&($.preventDefault(),v.focus()):document.activeElement===v&&($.preventDefault(),f.focus()))};return k.addEventListener("keydown",Y),f.focus(),()=>{k.removeEventListener("keydown",Y)}},[]),y.createElement(ee.Dialog.Portal,{container:r,forceMount:l},y.createElement(Fe,{asChild:!0},y.createElement(ee.Dialog.Overlay,{className:"rt-BaseDialogOverlay rt-DialogOverlay rt-SheetOverlay"},y.createElement(ee.Dialog.Content,{...W,ref:q,className:(0,Bt.default)("rt-BaseDialogContent","rt-SheetContent",s,_),"data-side":h,"data-material":A,"data-panel-background":A,tabIndex:-1,role:"dialog","aria-modal":"true"}))))});Qe.displayName="Sheet.Content";var Ze=y.forwardRef(({size:e="4",weight:t="medium",...o},l)=>y.createElement(ee.Dialog.Title,{asChild:!0},y.createElement(qe,{ref:l,size:e,weight:t,...o})));Ze.displayName="Sheet.Title";var ko=y.forwardRef(({size:e="2",color:t="gray",...o},l)=>y.createElement(ee.Dialog.Description,{asChild:!0},y.createElement(Ye,{ref:l,size:e,color:t,...o})));ko.displayName="Sheet.Description";var Bo=y.forwardRef(({children:e,...t},o)=>y.createElement(ee.Dialog.Close,{...t,ref:o,asChild:!0},Xe(e)));Bo.displayName="Sheet.Close";var et=require("radix-ui"),Nt=et.VisuallyHidden.Root,fr=et.VisuallyHidden.Root;var S=H(require("react")),zo=S.createContext(null);function tt(){let e=S.useContext(zo);if(!e)throw new Error("Shell components must be used within <Shell.Root>");return e}var yr=S.createContext(null);var gr=S.createContext(null);var hr=S.createContext(null);var vr=S.createContext(null);var Lo=S.createContext(null);function zt(){let e=S.useContext(Lo);if(!e)throw new Error("useBottomMode must be used within Shell.Root");return e}var Ho=S.createContext(null);function Lt(){let e=S.useContext(Ho);if(!e)throw new Error("usePresentation must be used within Shell.Root");return e}var Oo=S.createContext(null);function Ht(){let e=S.useContext(Oo);if(!e)throw new Error("usePeek must be used within Shell.Root");return e}var Vo=S.createContext(null);function Ot(){let e=S.useContext(Vo);if(!e)throw new Error("useShellActions must be used within Shell.Root");return e}var Rr=S.createContext(null);var Io=S.createContext(null);function Vt(){let e=S.useContext(Io);if(!e)throw new Error("useInset must be used within Shell.Root");return e}var V=H(require("react"));var ot={xs:"(min-width: 520px)",sm:"(min-width: 768px)",md:"(min-width: 1024px)",lg:"(min-width: 1280px)",xl:"(min-width: 1640px)"};function At(e){let{currentBreakpoint:t}=tt();return V.useMemo(()=>{if(typeof e=="string")return e;if(e[t])return e[t];let l=[...Object.keys(ot)].reverse().concat("initial"),r=l.indexOf(t);for(let s=r+1;s<l.length;s++){let p=l[s];if(e[p])return e[p]}return"fixed"},[e,t])}function It(e){let{currentBreakpoint:t}=tt();return V.useMemo(()=>{if(e==null)return;if(typeof e!="object")return e;let o=e;if(o[t]!==void 0)return o[t];let r=[...Object.keys(ot)].reverse().concat("initial"),s=r.indexOf(t);for(let p=s+1;p<r.length;p++){let a=r[p];if(o[a]!==void 0)return o[a]}},[e,t])}function jt({controlledValue:e,defaultValue:t,currentValue:o,setValue:l,breakpointReady:r,onInit:s,onResponsiveChange:p,controlledIsResponsive:a=!1}){let n=It(e),d=It(t),h=V.useRef(void 0),g=V.useRef(null),b=V.useRef(n),D=V.useRef(o),C=V.useRef(l);V.useLayoutEffect(()=>{b.current=n,D.current=o,C.current=l}),V.useEffect(()=>{if(n===void 0)return;let A=h.current!==n;if(h.current=n,o===n){g.current&&(clearTimeout(g.current),g.current=null),a&&p?.(n);return}if(A){g.current&&(clearTimeout(g.current),g.current=null),l(n),a&&p?.(n);return}g.current||(g.current=setTimeout(()=>{g.current=null;let z=b.current,j=D.current;z!==void 0&&j!==z&&C.current(z)},0))},[n,o,l,p,a]),V.useEffect(()=>()=>{g.current&&(clearTimeout(g.current),g.current=null)},[]);let E=V.useRef(!1);return V.useEffect(()=>{E.current||r&&(typeof e<"u"||d!==void 0&&(E.current=!0,o!==d&&l(d),s?.(d)))},[r,e,d,o,l,s]),{resolvedControlled:n,resolvedDefault:d}}var He=H(require("react")),nt=He.createContext(null);function Wt(){let e=He.useContext(nt);if(!e)throw new Error("Shell.Handle must be used within a resizable pane");return e}var I=H(require("react")),Ft=H(require("classnames"));var ce=I.forwardRef(({className:e,children:t,...o},l)=>{let{containerRef:r,cssVarName:s,minSize:p,maxSize:a,defaultSize:n,orientation:d,edge:h,computeNext:g,onResize:b,onResizeStart:D,onResizeEnd:C,snapPoints:E,snapTolerance:U,collapseThreshold:A,collapsible:z,target:j,requestCollapse:K,requestToggle:_}=Wt(),W=I.useRef(null);I.useEffect(()=>()=>{try{W.current?.()}catch{}W.current=null},[]);let J=d,k=`Resize ${j.charAt(0).toUpperCase()+j.slice(1)} pane`;return I.createElement("div",{...o,ref:l,className:(0,Ft.default)("rt-ShellResizer",e),"data-orientation":d,"data-edge":h,role:"slider","aria-label":k,"aria-orientation":J,"aria-valuemin":p,"aria-valuemax":a,"aria-valuenow":n,tabIndex:0,onPointerDown:m=>{if(!r.current)return;m.preventDefault();let f=r.current,v=m.currentTarget,Y=m.pointerId;try{W.current?.()}catch{}f.setAttribute("data-resizing","");try{v.setPointerCapture(Y)}catch{}let $=d==="vertical"?m.clientX:m.clientY,T=parseFloat(getComputedStyle(f).getPropertyValue(s)||`${n}`),X=G=>Math.min(Math.max(G,p),a),x=document.body,w=x.style.cursor,Q=x.style.userSelect;x.style.cursor=d==="vertical"?"col-resize":"row-resize",x.style.userSelect="none",D?.(T);let F=G=>{let L=d==="vertical"?G.clientX:G.clientY,te=X(g(L,$,T));f.style.setProperty(s,`${te}px`),v.setAttribute("aria-valuenow",String(te)),b?.(te)},Z=()=>{try{v.releasePointerCapture(Y)}catch{}window.removeEventListener("pointermove",F),document.removeEventListener("pointermove",F),window.removeEventListener("mousemove",F),document.removeEventListener("mousemove",F),v.removeEventListener("pointermove",F),window.removeEventListener("pointerup",B),document.removeEventListener("pointerup",B),window.removeEventListener("mouseup",B),document.removeEventListener("mouseup",B),window.removeEventListener("pointercancel",B),document.removeEventListener("pointercancel",B),window.removeEventListener("keydown",ne),v.removeEventListener("lostpointercapture",B),f.removeAttribute("data-resizing"),x.style.cursor=w,x.style.userSelect=Q,W.current=null},B=()=>{let G=parseFloat(getComputedStyle(f).getPropertyValue(s)||`${n}`),L=G;if(E&&E.length){let te=E.reduce((me,fe)=>Math.abs(fe-G)<Math.abs(me-G)?fe:me,E[0]);Math.abs(te-G)<=(U??8)&&(L=te,f.style.setProperty(s,`${L}px`),v.setAttribute("aria-valuenow",String(L)),b?.(L))}z&&typeof A=="number"&&G<=A&&K?.(),C?.(L),Z()},ne=G=>{G.key==="Escape"&&(f.style.setProperty(s,`${T}px`),v.setAttribute("aria-valuenow",String(T)),C?.(T),Z())};window.addEventListener("pointermove",F),document.addEventListener("pointermove",F),window.addEventListener("mousemove",F),document.addEventListener("mousemove",F),v.addEventListener("pointermove",F),window.addEventListener("pointerup",B),document.addEventListener("pointerup",B),window.addEventListener("mouseup",B),document.addEventListener("mouseup",B),window.addEventListener("pointercancel",B),document.addEventListener("pointercancel",B),window.addEventListener("keydown",ne),v.addEventListener("lostpointercapture",B),W.current=Z},onDoubleClick:()=>{z&&_?.()},onKeyDown:m=>{if(!r.current)return;let f=r.current,v=getComputedStyle(f).getPropertyValue(s),Y=Number.parseFloat(v.trim()),$=Number.isFinite(Y)?Y:n,T=w=>Math.min(Math.max(w,p),a),X=m.shiftKey?32:8,x=0;if(d==="vertical"){let w=typeof document<"u"?document.dir:void 0,Q=getComputedStyle(f).direction,F=!!(f.closest&&f.closest('[dir="rtl"]')),Z=w==="rtl"||Q==="rtl"||F;m.key==="ArrowRight"?x=Z?-X:X:m.key==="ArrowLeft"&&(x=Z?X:-X)}else m.key==="ArrowDown"?x=X:m.key==="ArrowUp"&&(x=-X);if(m.key==="Home"){m.preventDefault(),D?.($);let w=T(p);f.style.setProperty(s,`${w}px`),m.currentTarget.setAttribute("aria-valuenow",String(w)),b?.(w),C?.(w);return}if(m.key==="End"){m.preventDefault(),D?.($);let w=T(a);f.style.setProperty(s,`${w}px`),m.currentTarget.setAttribute("aria-valuenow",String(w)),b?.(w),C?.(w);return}if(x!==0){m.preventDefault(),D?.($);let w=d==="vertical"&&h==="start"?-x:x,Q=T($+w);f.style.setProperty(s,`${Q}px`),m.currentTarget.setAttribute("aria-valuenow",String(Q)),b?.(Q),C?.(Q)}}},t)});ce.displayName="Shell.Handle";var Ao=I.forwardRef((e,t)=>I.createElement(ce,{...e,ref:t}));Ao.displayName="Shell.Panel.Handle";var jo=I.forwardRef((e,t)=>I.createElement(ce,{...e,ref:t}));jo.displayName="Shell.Sidebar.Handle";var Wo=I.forwardRef((e,t)=>I.createElement(ce,{...e,ref:t}));Wo.displayName="Shell.Inspector.Handle";var ge=I.forwardRef((e,t)=>I.createElement(ce,{...e,ref:t}));ge.displayName="Shell.Bottom.Handle";function Fo(e,t){let o=new Set(t),l={};return Object.keys(e).forEach(r=>{o.has(r)||(l[r]=e[r])}),l}var Gt=["presentation","expandedSize","minSize","maxSize","resizable","collapsible","onExpand","onCollapse","onResize","resizer","onResizeStart","onResizeEnd","snapPoints","snapTolerance","collapseThreshold","paneId","persistence","inset"];function Kt(e,t){let o=t?[...Gt,...t]:[...Gt];return Fo(e,o)}function rt(e){if(e!=null){if(typeof e=="object"){let t={};return Object.entries(e).forEach(([o,l])=>{typeof l=="boolean"&&(t[o]=l?"expanded":"collapsed")}),t}return e?"expanded":"collapsed"}}function $t(e,t="horizontal"){if(e==null)return;if(typeof e=="number"&&Number.isFinite(e))return e;let o=String(e).trim();if(!o)return;if(o.endsWith("px"))return Number.parseFloat(o);if(o.endsWith("rem")){let r=Number.parseFloat(getComputedStyle(document.documentElement).fontSize||"16")||16;return Number.parseFloat(o)*r}if(o.endsWith("%")){let r=Number.parseFloat(o),s=t==="horizontal"?document.documentElement.clientWidth||window.innerWidth||0:document.documentElement.clientHeight||window.innerHeight||0;return r/100*s}let l=Number.parseFloat(o);return Number.isFinite(l)?l:void 0}var Go=["className","children","defaultOpen","open","onOpenChange","size","defaultSize","onSizeChange","sizeUpdate","sizeUpdateMs","style","inset"],st=c.forwardRef((e,t)=>{let{className:o,presentation:l="fixed",defaultOpen:r,open:s,onOpenChange:p,expandedSize:a=200,minSize:n=100,maxSize:d=400,resizable:h=!1,collapsible:g=!0,onExpand:b,onCollapse:D,onResize:C,onResizeStart:E,onResizeEnd:U,snapPoints:A,snapTolerance:z,collapseThreshold:j,paneId:K,persistence:_,children:W,style:J,size:q,defaultSize:k,onSizeChange:m,sizeUpdate:f,sizeUpdateMs:v=50,inset:Y}=e,$=Kt(e,Go),{bottomMode:T,setBottomMode:X}=zt(),{currentBreakpointReady:x}=Lt(),{peekTarget:w}=Ht(),{togglePane:Q}=Ot(),{registerInset:F,unregisterInset:Z}=Vt();c.useLayoutEffect(()=>{if(Y)return F("bottom"),()=>Z("bottom")},[Y,F,Z]);let B=At(l),ne=B==="overlay",G=B==="stacked",L=c.useRef(null),te=c.useCallback(i=>{L.current=i,typeof t=="function"?t(i):t&&(t.current=i)},[t]),me=c.Children.toArray(W),fe=me.filter(i=>c.isValidElement(i)&&i.type===ge),at=me.filter(i=>!(c.isValidElement(i)&&i.type===ge)),he=c.useRef(p),Oe=c.useRef(s);c.useLayoutEffect(()=>{he.current=p,Oe.current=s});let _t=c.useMemo(()=>rt(s),[s]),qt=c.useMemo(()=>rt(r),[r]),Yt=typeof s=="object"&&s!==null,{resolvedControlled:Pe}=jt({controlledValue:_t,defaultValue:qt,currentValue:T,setValue:X,breakpointReady:x,controlledIsResponsive:Yt,onResponsiveChange:i=>he.current?.(i==="expanded",{reason:"responsive"}),onInit:i=>{typeof Oe.current>"u"&&he.current?.(i==="expanded",{reason:"init"})}}),re=c.useRef(null);c.useEffect(()=>()=>{re.current&&(clearTimeout(re.current),re.current=null)},[m,f,v]);let ve=c.useMemo(()=>{let i=m,M=f,N=v??50;if(!i)return()=>{};if(M==="debounce")return(R,de)=>{re.current&&clearTimeout(re.current),re.current=setTimeout(()=>{i(R,de),re.current=null},N)};if(M==="throttle"){let R=0;return(de,ut)=>{let mt=Date.now();mt-R>=N&&(R=mt,i(de,ut))}}return(R,de)=>i(R,de)},[m,f,v]),Re=c.useRef(null);c.useEffect(()=>{let i=typeof s<"u";if(Re.current===null){Re.current=i;return}Re.current!==i&&(console.warn("Shell.Bottom: Switching between controlled and uncontrolled `open` is not supported."),Re.current=i)},[s]);let it=c.useRef(null),lt=c.useRef(void 0);c.useEffect(()=>{let i=it.current,N=lt.current!==Pe;if(i!==null&&i!==T){let R=T==="expanded";(!(typeof Oe.current<"u")||!N&&R!==(Pe===void 0?void 0:Pe==="expanded"))&&he.current?.(R,{reason:"toggle"})}it.current=T,lt.current=Pe},[T,Pe]);let pt=c.useRef(b),ct=c.useRef(D);c.useLayoutEffect(()=>{pt.current=b,ct.current=D});let be=c.useRef(null),dt=c.useRef(!1);c.useEffect(()=>{let i=T;if(!x){be.current=i;return}if(!dt.current){dt.current=!0,be.current=i;return}let M=be.current;M!==null&&M!==i&&(i==="expanded"?pt.current?.():i==="collapsed"&&ct.current?.(),be.current=i)},[T,x]);let Ve=T==="expanded",xe=c.useMemo(()=>{if(!K||_)return _;let i=`kookie-ui:shell:bottom:${K}`;return{load:()=>{if(!(typeof window>"u"))try{let N=window.localStorage.getItem(i);return N?Number(N):void 0}catch{return}},save:N=>{if(!(typeof window>"u"))try{window.localStorage.setItem(i,String(N))}catch{}}}},[K,_]);c.useEffect(()=>{let i=!0;if(!h||!xe?.load||ne)return;let M=xe.load(),N=R=>{!i||typeof R!="number"||!L.current||(L.current.style.setProperty("--bottom-size",`${R}px`),C?.(R))};return M instanceof Promise?M.then(N).catch(R=>{}):N(M),()=>{i=!1}},[h,xe,C,ne]);let Xt=h&&!ne&&Ve?c.createElement(nt.Provider,{value:{containerRef:L,cssVarName:"--bottom-size",minSize:n,maxSize:d,defaultSize:a,orientation:"horizontal",edge:"start",computeNext:(i,M,N)=>{let R=i-M;return N-R},onResize:C,onResizeStart:E,onResizeEnd:i=>{U?.(i),ve(i,{reason:"resize"}),xe?.save?.(i)},target:"bottom",collapsible:g,snapPoints:A,snapTolerance:z??8,collapseThreshold:j,requestCollapse:()=>X("collapsed"),requestToggle:()=>Q("bottom")}},fe.length>0?fe.map((i,M)=>c.cloneElement(i,{key:i.key??M})):c.createElement(ce,null)):null,Ie=c.useCallback(i=>$t(i,"vertical"),[]);c.useEffect(()=>{if(L.current&&typeof q>"u"&&typeof k<"u"){let i=Ie(k);if(typeof i=="number"&&Number.isFinite(i)){let R=Math.min((typeof d=="number"?d:void 0)??i,Math.max((typeof n=="number"?n:void 0)??i,i));L.current.style.setProperty("--bottom-size",`${R}px`),ve(R,{reason:"init"})}}},[]);let Ae=q;return c.useEffect(()=>{if(!L.current||typeof Ae>"u")return;let i=Ie(Ae);if(typeof i=="number"&&Number.isFinite(i)){let R=Math.min((typeof d=="number"?d:void 0)??i,Math.max((typeof n=="number"?n:void 0)??i,i));L.current.style.setProperty("--bottom-size",`${R}px`),ve(R,{reason:"controlled"})}},[Ae,n,d,Ie,ve]),ne?c.createElement(Je,{open:T==="expanded",onOpenChange:M=>X(M?"expanded":"collapsed")},c.createElement(Qe,{side:"bottom",style:{padding:0},"aria-label":"Bottom panel","aria-describedby":void 0,height:{initial:`${a}px`}},c.createElement(Nt,null,c.createElement(Ze,null,"Bottom panel")),at)):c.createElement("div",{...$,ref:te,className:(0,Ut.default)("rt-ShellBottom",o),"data-mode":T,"data-peek":w==="bottom"||void 0,"data-presentation":x?B:void 0,"data-open":x&&G&&Ve||void 0,"data-inset":Y||void 0,style:{...J,"--bottom-size":`${a}px`,"--bottom-min-size":`${n}px`,"--bottom-max-size":`${d}px`}},c.createElement("div",{className:"rt-ShellBottomContent","data-visible":Ve||void 0},at),Xt)});st.displayName="Shell.Bottom";st.Handle=ge;
1
+ "use strict";var ao=Object.create;var De=Object.defineProperty;var io=Object.getOwnPropertyDescriptor;var lo=Object.getOwnPropertyNames;var po=Object.getPrototypeOf,co=Object.prototype.hasOwnProperty;var uo=(e,t)=>{for(var o in t)De(e,o,{get:t[o],enumerable:!0})},Rt=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of lo(t))!co.call(e,r)&&r!==o&&De(e,r,{get:()=>t[r],enumerable:!(n=io(t,r))||n.enumerable});return e};var N=(e,t,o)=>(o=e!=null?ao(po(e)):{},Rt(t||!e||!e.__esModule?De(o,"default",{value:e,enumerable:!0}):o,e)),mo=e=>Rt(De({},"__esModule",{value:!0}),e);var dn={};uo(dn,{Bottom:()=>ut});module.exports=mo(dn);var d=N(require("react")),oo=N(require("classnames"));var y=N(require("react")),Wt=N(require("classnames")),te=require("radix-ui");var re={asChild:{type:"boolean"}};var Ee={width:{type:"string",className:"rt-r-w",customProperties:["--width"],responsive:!0},minWidth:{type:"string",className:"rt-r-min-w",customProperties:["--min-width"],responsive:!0},maxWidth:{type:"string",className:"rt-r-max-w",customProperties:["--max-width"],responsive:!0}};var bt={height:{type:"string",className:"rt-r-h",customProperties:["--height"],responsive:!0},minHeight:{type:"string",className:"rt-r-min-h",customProperties:["--min-height"],responsive:!0},maxHeight:{type:"string",className:"rt-r-max-h",customProperties:["--max-height"],responsive:!0}};var fo=["1","2","3","4"],Po=["solid","translucent"],yo=["solid","translucent"],Ct={...re,align:{type:"enum",className:"rt-r-align",values:["start","center"],default:"center"},size:{type:"enum",className:"rt-r-size",values:fo,default:"3",responsive:!0},panelBackground:{type:"enum",values:Po,default:void 0},material:{type:"enum",values:yo,default:void 0},width:Ee.width,minWidth:Ee.minWidth,maxWidth:{...Ee.maxWidth,default:"600px"},...bt};var x=N(require("react")),wt=N(require("classnames")),Pe=require("radix-ui"),Me=require("radix-ui/internal");function xt(e){switch(e){case"tomato":case"red":case"ruby":case"crimson":case"pink":case"plum":case"purple":case"violet":return"mauve";case"iris":case"indigo":case"blue":case"sky":case"cyan":return"slate";case"teal":case"jade":case"mint":case"green":return"sage";case"grass":case"lime":return"olive";case"yellow":case"amber":case"orange":case"brown":case"gold":case"bronze":return"sand";case"gray":return"gray"}}var $e=N(require("react"));function ee(e){let[t,o]=$e.useState(e),[n,r]=$e.useState(e);return Object.is(e,n)||(r(e),o(e)),[t,o]}var St=N(require("react")),go="Warning: The `panelBackground` prop is deprecated and will be removed in a future version. Use `material` prop instead.",Tt=new Set;function ho(e){Tt.has(e)||(Tt.add(e),console.warn(e))}function we(e){St.useEffect(()=>{},[e])}var Ue=["gray","gold","bronze","brown","yellow","amber","orange","tomato","red","ruby","crimson","pink","plum","purple","violet","iris","indigo","blue","cyan","teal","jade","green","grass","lime","mint","sky"],Dt=["auto","gray","mauve","slate","sage","olive","sand"],ke={color:{type:"enum",values:Ue,default:void 0}};var Et=["none","small","medium","large","full"];var vo=["inherit","light","dark"],Ro=["solid","translucent"],bo=["solid","translucent"],Co=["90%","95%","100%","105%","110%"],xo=["sans","mono","serif"],f={...re,hasBackground:{type:"boolean",default:!0},appearance:{type:"enum",values:vo,default:"inherit"},accentColor:{type:"enum",values:Ue,default:"blue"},grayColor:{type:"enum",values:Dt,default:"slate"},material:{type:"enum",values:bo,default:"translucent"},panelBackground:{type:"enum",values:Ro,default:"translucent"},radius:{type:"enum",values:Et,default:"medium"},scaling:{type:"enum",values:Co,default:"100%"},fontFamily:{type:"enum",values:xo,default:"sans"}};var O=()=>{},zn={appearance:f.appearance.default,accentColor:f.accentColor.default,grayColor:f.grayColor.default,resolvedGrayColor:f.grayColor.default,material:f.material.default,panelBackground:f.panelBackground.default,radius:f.radius.default,scaling:f.scaling.default,fontFamily:f.fontFamily.default,onAppearanceChange:O,onAccentColorChange:O,onGrayColorChange:O,onMaterialChange:O,onPanelBackgroundChange:O,onRadiusChange:O,onScalingChange:O,onFontFamilyChange:O},_e=x.createContext(void 0);var qe=x.forwardRef((e,t)=>x.useContext(_e)===void 0?x.createElement(Pe.Tooltip.Provider,{delayDuration:200},x.createElement(Pe.Direction.Provider,{dir:"ltr"},x.createElement(kt,{...e,ref:t}))):x.createElement(Ye,{...e,ref:t}));qe.displayName="Theme";var kt=x.forwardRef((e,t)=>{let{appearance:o=f.appearance.default,accentColor:n=f.accentColor.default,grayColor:r=f.grayColor.default,material:s=f.material.default,panelBackground:l=f.panelBackground.default,radius:p=f.radius.default,scaling:i=f.scaling.default,fontFamily:a=f.fontFamily.default,hasBackground:u=f.hasBackground.default,...m}=e;we(e.panelBackground);let[g,D]=ee(o),[E,L]=ee(n),[K,G]=ee(r),v=s!==f.material.default?s:l,[B,W]=ee(v),[F,H]=ee(B),[$,Z]=ee(p),[oe,P]=ee(i),[h,w]=ee(a);return x.createElement(Ye,{...m,ref:t,isRoot:!0,hasBackground:u,appearance:g,accentColor:E,grayColor:K,material:B,panelBackground:F,radius:$,scaling:oe,fontFamily:h,onAppearanceChange:D,onAccentColorChange:L,onGrayColorChange:G,onMaterialChange:W,onPanelBackgroundChange:H,onRadiusChange:Z,onScalingChange:P,onFontFamilyChange:w})});kt.displayName="ThemeRoot";function To(){if(typeof navigator>"u")return;let e=navigator.userAgent;if(e.includes("Win"))return"windows";if(e.includes("Mac"))return"macos";if(e.includes("Linux"))return"linux"}var Ye=x.forwardRef((e,t)=>{let o=x.useContext(_e),{asChild:n,isRoot:r,hasBackground:s,appearance:l=e.appearance??o?.appearance??f.appearance.default,accentColor:p=e.accentColor??o?.accentColor??f.accentColor.default,grayColor:i=e.grayColor??o?.resolvedGrayColor??f.grayColor.default,material:a=e.material??o?.material??f.material.default,panelBackground:u=e.panelBackground??o?.panelBackground??f.panelBackground.default,radius:m=e.radius??o?.radius??f.radius.default,scaling:g=e.scaling??o?.scaling??f.scaling.default,fontFamily:D=e.fontFamily??o?.fontFamily??f.fontFamily.default,onAppearanceChange:E=O,onAccentColorChange:L=O,onGrayColorChange:K=O,onMaterialChange:G=O,onPanelBackgroundChange:v=O,onRadiusChange:B=O,onScalingChange:W=O,onFontFamilyChange:F=O,...H}=e,$=n?Pe.Slot.Root:"div",Z=i==="auto"?xt(p):i,oe=e.appearance==="light"||e.appearance==="dark",P=s===void 0?r||oe:s,h=x.useRef(null),w=(0,Me.useComposedRefs)(t,h),U="data-os"in H;return(0,Me.useLayoutEffect)(()=>{if(!r||U)return;let _=h.current;if(!_)return;let R=To();if(R)return _.setAttribute("data-os",R),()=>_.removeAttribute("data-os")},[r,U]),x.createElement(_e.Provider,{value:x.useMemo(()=>({appearance:l,accentColor:p,grayColor:i,resolvedGrayColor:Z,material:a,panelBackground:u,radius:m,scaling:g,fontFamily:D,onAppearanceChange:E,onAccentColorChange:L,onGrayColorChange:K,onMaterialChange:G,onPanelBackgroundChange:v,onRadiusChange:B,onScalingChange:W,onFontFamilyChange:F}),[l,p,i,Z,a,u,m,g,D,E,L,K,G,v,B,W,F])},x.createElement($,{"data-is-root-theme":r?"true":"false","data-accent-color":p,"data-gray-color":Z,"data-has-background":P?"true":"false","data-material":a,"data-panel-background":u,"data-radius":m,"data-scaling":g,"data-font-family":D,ref:w,...H,className:(0,wt.default)("radix-themes",{light:l==="light",dark:l==="dark"},H.className)}))});Ye.displayName="ThemeImpl";var ce=N(require("react")),Ht=require("radix-ui");var Be={highContrast:{type:"boolean",className:"rt-high-contrast",default:void 0}};var So=["normal","start","end","both"],Ne={trim:{type:"enum",className:"rt-r-lt",values:So,responsive:!0}};var Do=["left","center","right"],ze={align:{type:"enum",className:"rt-r-ta",values:Do,responsive:!0}};var Eo=["wrap","nowrap","pretty","balance"],Le={wrap:{type:"enum",className:"rt-r-tw",values:Eo,responsive:!0}};var He={truncate:{type:"boolean",className:"rt-truncate"}};var wo=["sans","mono","serif"],Ve={font:{type:"enum",className:"rt-r-ff",values:wo}};var ko=["thin","extralight","light","regular","medium","semibold","bold","extrabold"],Oe={weight:{type:"enum",className:"rt-r-weight",values:ko,responsive:!0}};var Mo=["h1","h2","h3","h4","h5","h6"],Bo=["0","1","2","3","4","5","6","7","8","9","10","11","12"],Mt={as:{type:"enum",values:Mo,default:"h1"},...re,size:{type:"enum",className:"rt-r-size",values:Bo,default:"6",responsive:!0},...Ve,...Oe,...ze,...Ne,...He,...Le,...ke,...Be};var Lt=N(require("classnames"));var No=[],zo=new Set;function Lo(e){let t=Object.assign({},...e),o=[],n=[],r=new Set;for(let s in t){let l=t[s],p=l.values??No,i={key:s,type:l.type,default:l.default,hasDefault:l.default!==void 0,responsive:"responsive"in l,className:l.className,customProperties:l.customProperties,parseValue:l.parseValue,values:p,valueSet:p.length>0?new Set(p):zo,enumValueSet:l.type==="enum"?new Set([l.default,...p]):void 0};l.className?(o.push(i),r.add(s)):(i.hasDefault||l.type==="enum")&&n.push(i)}return{styling:o,passthrough:n,stylingKeys:r}}var Ho={children:new WeakMap};function Bt(e){let t=Ho;for(let o=0;o<e.length;o++){let n=e[o],r=t.children.get(n);r===void 0&&(r={children:new WeakMap},t.children.set(n,r)),t=r}return t.compiled??(t.compiled=Lo(e))}var Vo=["initial","xs","sm","md","lg","xl"],Xe=new Set(Vo);function Je(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var Oo=new Set(["initial","xs","sm","md","lg","xl"]);function ie(e){if(typeof e!="object"||e===null)return!1;for(let t in e)if(Oo.has(t))return!0;return!1}function Ae(e,t,o){return t!==void 0?t.has(o):e.includes(o)}function zt({className:e,customProperties:t,...o}){let n=Qe({allowArbitraryValues:!0,className:e,...o}),r=Ao({customProperties:t,...o});return[n,r]}function Qe({allowArbitraryValues:e,value:t,className:o,propValues:n,propValueSet:r,parseValue:s=l=>l}){if(t){if(typeof t=="string")return Ae(n,r,t)?Nt(o,t,s):e?o:void 0;if(ie(t)){let l=t,p=[];for(let i in l){if(!Je(l,i)||!Xe.has(i))continue;let a=l[i];if(a!==void 0){if(Ae(n,r,a)){let u=Nt(o,a,s),m=i==="initial"?u:`${i}:${u}`;p.push(m)}else if(e){let u=i==="initial"?o:`${i}:${o}`;p.push(u)}}}return p.length>0?p.join(" "):""}if(e)return o}}function Nt(e,t,o){let n=e?"-":"",r=o(t),s=r?.startsWith("-"),l=s?"-":"",p=s?r?.substring(1):r;return`${l}${e}${n}${p}`}function Ao({customProperties:e,value:t,propValues:o,propValueSet:n,parseValue:r=s=>s}){if(!t||typeof t=="string"&&Ae(o,n,t))return;let s;if(typeof t=="string"){let l=r(t);s={};for(let p of e)s[p]=l;return s}if(ie(t)){let l=t;for(let p in l){if(!Je(l,p)||!Xe.has(p))continue;let i=l[p];if(i===void 0||Ae(o,n,i))continue;let a=r(i);s??(s={});for(let u of e){let m=p==="initial"?u:`${u}-${p}`;s[m]=a}}}return s??{}}function Ze(...e){let t;for(let o of e)o&&(t===void 0&&(t={}),Object.assign(t,o));return t}function Io(e,t){let o=e.initial,n=!1;return t.hasDefault&&o===void 0&&(o=t.default,n=!0),t.enumValueSet!==void 0&&!t.enumValueSet.has(o)&&(o=t.default,n=!0),n?{...e,initial:o}:e}function le(e,...t){let{styling:o,passthrough:n,stylingKeys:r}=Bt(t),s={};for(let i in e)r.has(i)||(s[i]=e[i]);for(let i=0;i<n.length;i++){let a=n[i],u=s[a.key];if(u===void 0){a.hasDefault&&(s[a.key]=a.default);continue}a.enumValueSet!==void 0&&!a.enumValueSet.has(u)&&!ie(u)&&(s[a.key]=a.default)}let l,p=[];for(let i=0;i<o.length;i++){let a=o[i],u=e[a.key];if(u===void 0&&a.hasDefault&&(u=a.default),a.enumValueSet!==void 0&&!a.enumValueSet.has(u)&&!ie(u)&&(u=a.default),!!u){if(ie(u)){if(!a.responsive)continue;u=Io(u,a)}if(a.type==="enum"){let m=Qe({allowArbitraryValues:!1,value:u,className:a.className,propValues:a.values,propValueSet:a.valueSet,parseValue:a.parseValue});m&&p.push(m);continue}if(a.type==="string"||a.type==="enum | string"){let[m,g]=zt({className:a.className,customProperties:a.customProperties,propValues:a.type==="string"?[]:a.values,propValueSet:a.type==="string"?void 0:a.valueSet,parseValue:a.parseValue,value:u});g&&(l=Ze(l,g)),m&&p.push(m);continue}if(a.type==="boolean"){p.push(a.className);continue}}}return s.className=(0,Lt.default)(p.length>0?p.join(" "):void 0,e.className),s.style=Ze(l,e.style),s}var pe=["0","1","2","3","4","5","6","7","8","9","10","11","12","-1","-2","-3","-4","-5","-6","-7","-8","-9","-10","-11","-12"],Ie={m:{type:"enum | string",values:pe,responsive:!0,className:"rt-r-m",customProperties:["--m"]},mx:{type:"enum | string",values:pe,responsive:!0,className:"rt-r-mx",customProperties:["--ml","--mr"]},my:{type:"enum | string",values:pe,responsive:!0,className:"rt-r-my",customProperties:["--mt","--mb"]},mt:{type:"enum | string",values:pe,responsive:!0,className:"rt-r-mt",customProperties:["--mt"]},mr:{type:"enum | string",values:pe,responsive:!0,className:"rt-r-mr",customProperties:["--mr"]},mb:{type:"enum | string",values:pe,responsive:!0,className:"rt-r-mb",customProperties:["--mb"]},ml:{type:"enum | string",values:pe,responsive:!0,className:"rt-r-ml",customProperties:["--ml"]}};var Wo={...Mt,...Ie},et=ce.memo(ce.forwardRef((e,t)=>{let{children:o,className:n,asChild:r,as:s="h1",color:l,...p}=le(e,Wo),i=n?`rt-Heading ${n}`:"rt-Heading";return r?ce.createElement(Ht.Slot.Root,{"data-accent-color":l,...p,ref:t,className:i},o):ce.createElement(s,{"data-accent-color":l,...p,ref:t,className:i},o)}));et.displayName="Heading";var de=N(require("react")),Ot=require("radix-ui");var jo=["span","div","label","p"],Fo=["0","1","2","3","4","5","6","7","8","9","10","11","12"],Vt={as:{type:"enum",values:jo,default:"span"},...re,size:{type:"enum",className:"rt-r-size",values:Fo,responsive:!0},...Ve,...Oe,...ze,...Ne,...He,...Le,...ke,...Be};var Go={...Vt,...Ie},tt=de.memo(de.forwardRef((e,t)=>{let{children:o,className:n,asChild:r,as:s="span",color:l,...p}=le(e,Go),i=n?`rt-Text ${n}`:"rt-Text";return r?de.createElement(Ot.Slot.Root,{"data-accent-color":l,...p,ref:t,className:i},o):de.createElement(s,{"data-accent-color":l,...p,ref:t,className:i},o)}));tt.displayName="Text";var We=N(require("react")),ot=e=>{if(!We.isValidElement(e))throw Error(`Expected a single React Element child, but got: ${We.Children.toArray(e).map(o=>typeof o=="object"&&"type"in o&&typeof o.type=="string"?o.type:typeof o).join(", ")}`);return e};var At=N(require("react")),nt=!1;function It(){At.useEffect(()=>{if(typeof document>"u"||nt)return;nt=!0;let e=new Set,t=(u,m)=>{let g=setTimeout(()=>{e.delete(g),u()},m);e.add(g)},o=()=>{let u=!!document.querySelector('[role="dialog"][aria-modal="true"], [role="alertdialog"][aria-modal="true"]'),m=!!document.querySelector('[data-radix-popper-content-wrapper], [data-state="open"]');return u||m},n=()=>{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"))},r=()=>{document.body.style.pointerEvents==="none"&&!o()&&(console.log("[KookieUI] Safe cleaning stuck pointer-events: none from body"),document.body.style.pointerEvents="")},s=u=>{let m=u.target;m&&!m.closest('[role="dialog"], [role="alertdialog"], [data-radix-popper-content-wrapper]')&&t(n,100)},l=u=>{u.key==="Escape"&&t(n,200)},p=()=>{t(r,50)};document.addEventListener("click",s,!0),document.addEventListener("keydown",l,!0),document.addEventListener("pointerup",p,!0),document.addEventListener("transitionend",p,!0),document.addEventListener("animationend",p,!0);let i=new MutationObserver(()=>{t(r,0)});i.observe(document.body,{childList:!0,subtree:!0,attributes:!0});let a=setInterval(()=>{document.body.style.pointerEvents==="none"&&!o()&&(console.log("[KookieUI] Periodic cleanup of stuck pointer-events"),document.body.style.pointerEvents="")},1e3);return t(r,100),()=>{clearInterval(a),e.forEach(clearTimeout),e.clear(),i.disconnect(),document.removeEventListener("click",s,!0),document.removeEventListener("keydown",l,!0),document.removeEventListener("pointerup",p,!0),document.removeEventListener("transitionend",p,!0),document.removeEventListener("animationend",p,!0),nt=!1}},[])}var rt=e=>y.createElement(te.Dialog.Root,{...e,modal:!0});rt.displayName="Sheet.Root";var Ko=y.forwardRef(({children:e,...t},o)=>y.createElement(te.Dialog.Trigger,{...t,ref:o,asChild:!0},ot(e)));Ko.displayName="Sheet.Trigger";var{align:jr,panelBackground:$o,material:Uo,...jt}=Ct,_o={panelBackground:$o,material:Uo},{default:Fr,...qo}=jt.maxWidth,Yo={...jt,maxWidth:qo},st=y.forwardRef((e,t)=>{let{side:o="start",forceMount:n,container:r,className:s,panelBackground:l,material:p,...i}=e,u={left:"start",right:"end",start:"start",end:"end",top:"top",bottom:"bottom"}[o],{panelBackground:m,material:g}=le({panelBackground:l,material:p},_o);we(l);let D=g??m,{className:E,...L}=le(i,Yo),K=y.useRef(null),G=y.useMemo(()=>v=>{K.current=v,typeof t=="function"?t(v):t&&(t.current=v)},[t]);return It(),y.useEffect(()=>{if(typeof window>"u")return;let v=K.current;if(!v)return;let B=v.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(B.length===0)return;let W=B[0],F=B[B.length-1],H=$=>{$.key==="Tab"&&($.shiftKey?document.activeElement===W&&($.preventDefault(),F.focus()):document.activeElement===F&&($.preventDefault(),W.focus()))};return v.addEventListener("keydown",H),W.focus(),()=>{v.removeEventListener("keydown",H)}},[]),y.createElement(te.Dialog.Portal,{container:r,forceMount:n},y.createElement(qe,{asChild:!0},y.createElement(te.Dialog.Overlay,{className:"rt-BaseDialogOverlay rt-DialogOverlay rt-SheetOverlay"},y.createElement(te.Dialog.Content,{...L,ref:G,className:(0,Wt.default)("rt-BaseDialogContent","rt-SheetContent",s,E),"data-side":u,"data-material":D,"data-panel-background":D,tabIndex:-1,role:"dialog","aria-modal":"true"}))))});st.displayName="Sheet.Content";var at=y.forwardRef(({size:e="4",weight:t="medium",...o},n)=>y.createElement(te.Dialog.Title,{asChild:!0},y.createElement(et,{ref:n,size:e,weight:t,...o})));at.displayName="Sheet.Title";var Xo=y.forwardRef(({size:e="2",color:t="gray",...o},n)=>y.createElement(te.Dialog.Description,{asChild:!0},y.createElement(tt,{ref:n,size:e,color:t,...o})));Xo.displayName="Sheet.Description";var Jo=y.forwardRef(({children:e,...t},o)=>y.createElement(te.Dialog.Close,{...t,ref:o,asChild:!0},ot(e)));Jo.displayName="Sheet.Close";var it=require("radix-ui"),Ft=it.VisuallyHidden.Root,Gr=it.VisuallyHidden.Root;var S=N(require("react")),Zo=S.createContext(null);function lt(){let e=S.useContext(Zo);if(!e)throw new Error("Shell components must be used within <Shell.Root>");return e}var $r=S.createContext(null);var Ur=S.createContext(null);var _r=S.createContext(null);var qr=S.createContext(null);var en=S.createContext(null);function Gt(){let e=S.useContext(en);if(!e)throw new Error("useBottomMode must be used within Shell.Root");return e}var tn=S.createContext(null);function Kt(){let e=S.useContext(tn);if(!e)throw new Error("usePresentation must be used within Shell.Root");return e}var on=S.createContext(null);function $t(){let e=S.useContext(on);if(!e)throw new Error("usePeek must be used within Shell.Root");return e}var nn=S.createContext(null);function Ut(){let e=S.useContext(nn);if(!e)throw new Error("useShellActions must be used within Shell.Root");return e}var Yr=S.createContext(null);var rn=S.createContext(null);function _t(){let e=S.useContext(rn);if(!e)throw new Error("useInset must be used within Shell.Root");return e}var A=N(require("react"));var pt={xs:"(min-width: 520px)",sm:"(min-width: 768px)",md:"(min-width: 1024px)",lg:"(min-width: 1280px)",xl:"(min-width: 1640px)"};function Yt(e){let{currentBreakpoint:t}=lt();return A.useMemo(()=>{if(typeof e=="string")return e;if(e[t])return e[t];let n=[...Object.keys(pt)].reverse().concat("initial"),r=n.indexOf(t);for(let s=r+1;s<n.length;s++){let l=n[s];if(e[l])return e[l]}return"fixed"},[e,t])}function qt(e){let{currentBreakpoint:t}=lt();return A.useMemo(()=>{if(e==null)return;if(typeof e!="object")return e;let o=e;if(o[t]!==void 0)return o[t];let r=[...Object.keys(pt)].reverse().concat("initial"),s=r.indexOf(t);for(let l=s+1;l<r.length;l++){let p=r[l];if(o[p]!==void 0)return o[p]}},[e,t])}function Xt({controlledValue:e,defaultValue:t,currentValue:o,setValue:n,breakpointReady:r,onInit:s,onResponsiveChange:l,controlledIsResponsive:p=!1}){let i=qt(e),a=qt(t),u=A.useRef(void 0),m=A.useRef(null),g=A.useRef(i),D=A.useRef(o),E=A.useRef(n);A.useLayoutEffect(()=>{g.current=i,D.current=o,E.current=n}),A.useEffect(()=>{if(i===void 0)return;let G=u.current!==i;if(u.current=i,o===i){m.current&&(clearTimeout(m.current),m.current=null),p&&l?.(i);return}if(G){m.current&&(clearTimeout(m.current),m.current=null),n(i),p&&l?.(i);return}m.current||(m.current=setTimeout(()=>{m.current=null;let v=g.current,B=D.current;v!==void 0&&B!==v&&E.current(v)},0))},[i,o,n,l,p]),A.useEffect(()=>()=>{m.current&&(clearTimeout(m.current),m.current=null)},[]);let L=A.useRef(!1);return A.useEffect(()=>{L.current||r&&(typeof e<"u"||a!==void 0&&(L.current=!0,o!==a&&n(a),s?.(a)))},[r,e,a,o,n,s]),{resolvedControlled:i,resolvedDefault:a}}var je=N(require("react")),ct=je.createContext(null);function Jt(){let e=je.useContext(ct);if(!e)throw new Error("Shell.Handle must be used within a resizable pane");return e}var I=N(require("react")),Qt=N(require("classnames"));var ue=I.forwardRef(({className:e,children:t,...o},n)=>{let{containerRef:r,cssVarName:s,minSize:l,maxSize:p,defaultSize:i,orientation:a,edge:u,computeNext:m,onResize:g,onResizeStart:D,onResizeEnd:E,snapPoints:L,snapTolerance:K,collapseThreshold:G,collapsible:v,target:B,requestCollapse:W,requestToggle:F}=Jt(),H=I.useRef(null);I.useEffect(()=>()=>{try{H.current?.()}catch{}H.current=null},[]);let $=a,oe=`Resize ${B.charAt(0).toUpperCase()+B.slice(1)} pane`;return I.createElement("div",{...o,ref:n,className:(0,Qt.default)("rt-ShellResizer",e),"data-orientation":a,"data-edge":u,role:"slider","aria-label":oe,"aria-orientation":$,"aria-valuemin":l,"aria-valuemax":p,"aria-valuenow":i,tabIndex:0,onPointerDown:P=>{if(!r.current)return;P.preventDefault();let h=r.current,w=P.currentTarget,U=P.pointerId;try{H.current?.()}catch{}h.setAttribute("data-resizing","");try{w.setPointerCapture(U)}catch{}let _=a==="vertical"?P.clientX:P.clientY,R=parseFloat(getComputedStyle(h).getPropertyValue(s)||`${i}`),q=T=>Math.min(Math.max(T,l),p),C=document.body,k=C.style.cursor,Q=C.style.userSelect;C.style.cursor=a==="vertical"?"col-resize":"row-resize",C.style.userSelect="none",D?.(R);let se=null,ne=!1,ye=(T,Y)=>{if(T.type===Y)ne=!0;else if(ne)return!1;return!0},j=T=>{if(!ye(T,"pointermove")||T===se)return;se=T;let Y=a==="vertical"?T.clientX:T.clientY,J=q(m(Y,_,R));h.style.setProperty(s,`${J}px`),w.setAttribute("aria-valuenow",String(J)),g?.(J)},ge=()=>{try{w.releasePointerCapture(U)}catch{}window.removeEventListener("pointermove",j),document.removeEventListener("pointermove",j),window.removeEventListener("mousemove",j),document.removeEventListener("mousemove",j),w.removeEventListener("pointermove",j),window.removeEventListener("pointerup",V),document.removeEventListener("pointerup",V),window.removeEventListener("mouseup",V),document.removeEventListener("mouseup",V),window.removeEventListener("pointercancel",V),document.removeEventListener("pointercancel",V),window.removeEventListener("keydown",he),w.removeEventListener("lostpointercapture",V),h.removeAttribute("data-resizing"),C.style.cursor=k,C.style.userSelect=Q,H.current=null},X=!1,V=()=>{if(X)return;X=!0;let T=parseFloat(getComputedStyle(h).getPropertyValue(s)||`${i}`),Y=T;if(L&&L.length){let J=L.reduce((me,be)=>Math.abs(be-T)<Math.abs(me-T)?be:me,L[0]);Math.abs(J-T)<=(K??8)&&(Y=J,h.style.setProperty(s,`${Y}px`),w.setAttribute("aria-valuenow",String(Y)),g?.(Y))}v&&typeof G=="number"&&T<=G&&W?.(),E?.(Y),ge()},he=T=>{T.key==="Escape"&&(h.style.setProperty(s,`${R}px`),w.setAttribute("aria-valuenow",String(R)),E?.(R),ge())};window.addEventListener("pointermove",j),document.addEventListener("pointermove",j),window.addEventListener("mousemove",j),document.addEventListener("mousemove",j),w.addEventListener("pointermove",j),window.addEventListener("pointerup",V),document.addEventListener("pointerup",V),window.addEventListener("mouseup",V),document.addEventListener("mouseup",V),window.addEventListener("pointercancel",V),document.addEventListener("pointercancel",V),window.addEventListener("keydown",he),w.addEventListener("lostpointercapture",V),H.current=ge},onDoubleClick:()=>{v&&F?.()},onKeyDown:P=>{if(!r.current)return;let h=r.current,w=getComputedStyle(h).getPropertyValue(s),U=Number.parseFloat(w.trim()),_=Number.isFinite(U)?U:i,R=k=>Math.min(Math.max(k,l),p),q=P.shiftKey?32:8,C=0;if(a==="vertical"){let k=typeof document<"u"?document.dir:void 0,Q=getComputedStyle(h).direction,se=!!(h.closest&&h.closest('[dir="rtl"]')),ne=k==="rtl"||Q==="rtl"||se;P.key==="ArrowRight"?C=ne?-q:q:P.key==="ArrowLeft"&&(C=ne?q:-q)}else P.key==="ArrowDown"?C=q:P.key==="ArrowUp"&&(C=-q);if(P.key==="Home"){P.preventDefault(),D?.(_);let k=R(l);h.style.setProperty(s,`${k}px`),P.currentTarget.setAttribute("aria-valuenow",String(k)),g?.(k),E?.(k);return}if(P.key==="End"){P.preventDefault(),D?.(_);let k=R(p);h.style.setProperty(s,`${k}px`),P.currentTarget.setAttribute("aria-valuenow",String(k)),g?.(k),E?.(k);return}if(C!==0){P.preventDefault(),D?.(_);let k=a==="vertical"&&u==="start"?-C:C,Q=R(_+k);h.style.setProperty(s,`${Q}px`),P.currentTarget.setAttribute("aria-valuenow",String(Q)),g?.(Q),E?.(Q)}}},t)});ue.displayName="Shell.Handle";var sn=I.forwardRef((e,t)=>I.createElement(ue,{...e,ref:t}));sn.displayName="Shell.Panel.Handle";var an=I.forwardRef((e,t)=>I.createElement(ue,{...e,ref:t}));an.displayName="Shell.Sidebar.Handle";var ln=I.forwardRef((e,t)=>I.createElement(ue,{...e,ref:t}));ln.displayName="Shell.Inspector.Handle";var Re=I.forwardRef((e,t)=>I.createElement(ue,{...e,ref:t}));Re.displayName="Shell.Bottom.Handle";function pn(e,t){let o=new Set(t),n={};return Object.keys(e).forEach(r=>{o.has(r)||(n[r]=e[r])}),n}var Zt=["presentation","expandedSize","minSize","maxSize","resizable","collapsible","onExpand","onCollapse","onResize","resizer","onResizeStart","onResizeEnd","snapPoints","snapTolerance","collapseThreshold","paneId","persistence","inset"];function eo(e,t){let o=t?[...Zt,...t]:[...Zt];return pn(e,o)}function dt(e){if(e!=null){if(typeof e=="object"){let t={};return Object.entries(e).forEach(([o,n])=>{typeof n=="boolean"&&(t[o]=n?"expanded":"collapsed")}),t}return e?"expanded":"collapsed"}}function to(e,t="horizontal"){if(e==null)return;if(typeof e=="number"&&Number.isFinite(e))return e;let o=String(e).trim();if(!o)return;if(o.endsWith("px"))return Number.parseFloat(o);if(o.endsWith("rem")){let r=Number.parseFloat(getComputedStyle(document.documentElement).fontSize||"16")||16;return Number.parseFloat(o)*r}if(o.endsWith("%")){let r=Number.parseFloat(o),s=t==="horizontal"?document.documentElement.clientWidth||window.innerWidth||0:document.documentElement.clientHeight||window.innerHeight||0;return r/100*s}let n=Number.parseFloat(o);return Number.isFinite(n)?n:void 0}var cn=["className","children","defaultOpen","open","onOpenChange","size","defaultSize","onSizeChange","sizeUpdate","sizeUpdateMs","style","inset"],ut=d.forwardRef((e,t)=>{let{className:o,presentation:n="fixed",defaultOpen:r,open:s,onOpenChange:l,expandedSize:p=200,minSize:i=100,maxSize:a=400,resizable:u=!1,collapsible:m=!0,onExpand:g,onCollapse:D,onResize:E,onResizeStart:L,onResizeEnd:K,snapPoints:G,snapTolerance:v,collapseThreshold:B,paneId:W,persistence:F,children:H,style:$,size:Z,defaultSize:oe,onSizeChange:P,sizeUpdate:h,sizeUpdateMs:w=50,inset:U}=e,_=eo(e,cn),{bottomMode:R,setBottomMode:q}=Gt(),{currentBreakpointReady:C}=Kt(),{peekTarget:k}=$t(),{togglePane:Q}=Ut(),{registerInset:se,unregisterInset:ne}=_t();d.useLayoutEffect(()=>{if(U)return se("bottom"),()=>ne("bottom")},[U,se,ne]);let ye=Yt(n),j=ye==="overlay",ge=ye==="stacked",X=d.useRef(null),V=d.useCallback(c=>{X.current=c,typeof t=="function"?t(c):t&&(t.current=c)},[t]),he=d.Children.toArray(H),T=he.filter(c=>d.isValidElement(c)&&c.type===Re),Y=he.filter(c=>!(d.isValidElement(c)&&c.type===Re)),J=d.useRef(l),me=d.useRef(s);d.useLayoutEffect(()=>{J.current=l,me.current=s});let be=d.useMemo(()=>dt(s),[s]),no=d.useMemo(()=>dt(r),[r]),ro=typeof s=="object"&&s!==null,{resolvedControlled:ve}=Xt({controlledValue:be,defaultValue:no,currentValue:R,setValue:q,breakpointReady:C,controlledIsResponsive:ro,onResponsiveChange:c=>J.current?.(c==="expanded",{reason:"responsive"}),onInit:c=>{typeof me.current>"u"&&J.current?.(c==="expanded",{reason:"init"})}}),ae=d.useRef(null);d.useEffect(()=>()=>{ae.current&&(clearTimeout(ae.current),ae.current=null)},[P,h,w]);let Ce=d.useMemo(()=>{let c=P,M=h,z=w??50;if(!c)return()=>{};if(M==="debounce")return(b,fe)=>{ae.current&&clearTimeout(ae.current),ae.current=setTimeout(()=>{c(b,fe),ae.current=null},z)};if(M==="throttle"){let b=0;return(fe,ht)=>{let vt=Date.now();vt-b>=z&&(b=vt,c(fe,ht))}}return(b,fe)=>c(b,fe)},[P,h,w]),xe=d.useRef(null);d.useEffect(()=>{let c=typeof s<"u";if(xe.current===null){xe.current=c;return}xe.current!==c&&(console.warn("Shell.Bottom: Switching between controlled and uncontrolled `open` is not supported."),xe.current=c)},[s]);let mt=d.useRef(null),ft=d.useRef(void 0);d.useEffect(()=>{let c=mt.current,z=ft.current!==ve;if(c!==null&&c!==R){let b=R==="expanded";(!(typeof me.current<"u")||!z&&b!==(ve===void 0?void 0:ve==="expanded"))&&J.current?.(b,{reason:"toggle"})}mt.current=R,ft.current=ve},[R,ve]);let Pt=d.useRef(g),yt=d.useRef(D);d.useLayoutEffect(()=>{Pt.current=g,yt.current=D});let Te=d.useRef(null),gt=d.useRef(!1);d.useEffect(()=>{let c=R;if(!C){Te.current=c;return}if(!gt.current){gt.current=!0,Te.current=c;return}let M=Te.current;M!==null&&M!==c&&(c==="expanded"?Pt.current?.():c==="collapsed"&&yt.current?.(),Te.current=c)},[R,C]);let Fe=R==="expanded",Se=d.useMemo(()=>{if(!W||F)return F;let c=`kookie-ui:shell:bottom:${W}`;return{load:()=>{if(!(typeof window>"u"))try{let z=window.localStorage.getItem(c);return z?Number(z):void 0}catch{return}},save:z=>{if(!(typeof window>"u"))try{window.localStorage.setItem(c,String(z))}catch{}}}},[W,F]);d.useEffect(()=>{let c=!0;if(!u||!Se?.load||j)return;let M=Se.load(),z=b=>{!c||typeof b!="number"||!X.current||(X.current.style.setProperty("--bottom-size",`${b}px`),E?.(b))};return M instanceof Promise?M.then(z).catch(b=>{}):z(M),()=>{c=!1}},[u,Se,E,j]);let so=u&&!j&&Fe?d.createElement(ct.Provider,{value:{containerRef:X,cssVarName:"--bottom-size",minSize:i,maxSize:a,defaultSize:p,orientation:"horizontal",edge:"start",computeNext:(c,M,z)=>{let b=c-M;return z-b},onResize:E,onResizeStart:L,onResizeEnd:c=>{K?.(c),Ce(c,{reason:"resize"}),Se?.save?.(c)},target:"bottom",collapsible:m,snapPoints:G,snapTolerance:v??8,collapseThreshold:B,requestCollapse:()=>q("collapsed"),requestToggle:()=>Q("bottom")}},T.length>0?T.map((c,M)=>d.cloneElement(c,{key:c.key??M})):d.createElement(ue,null)):null,Ge=d.useCallback(c=>to(c,"vertical"),[]);d.useEffect(()=>{if(X.current&&typeof Z>"u"&&typeof oe<"u"){let c=Ge(oe);if(typeof c=="number"&&Number.isFinite(c)){let b=Math.min((typeof a=="number"?a:void 0)??c,Math.max((typeof i=="number"?i:void 0)??c,c));X.current.style.setProperty("--bottom-size",`${b}px`),Ce(b,{reason:"init"})}}},[]);let Ke=Z;return d.useEffect(()=>{if(!X.current||typeof Ke>"u")return;let c=Ge(Ke);if(typeof c=="number"&&Number.isFinite(c)){let b=Math.min((typeof a=="number"?a:void 0)??c,Math.max((typeof i=="number"?i:void 0)??c,c));X.current.style.setProperty("--bottom-size",`${b}px`),Ce(b,{reason:"controlled"})}},[Ke,i,a,Ge,Ce]),j?d.createElement(rt,{open:R==="expanded",onOpenChange:M=>q(M?"expanded":"collapsed")},d.createElement(st,{side:"bottom",style:{padding:0},"aria-label":"Bottom panel","aria-describedby":void 0,height:{initial:`${p}px`}},d.createElement(Ft,null,d.createElement(at,null,"Bottom panel")),Y)):d.createElement("div",{..._,ref:V,className:(0,oo.default)("rt-ShellBottom",o),"data-mode":R,"data-peek":k==="bottom"||void 0,"data-presentation":C?ye:void 0,"data-open":C&&ge&&Fe||void 0,"data-inset":U||void 0,style:{...$,"--bottom-size":`${p}px`,"--bottom-min-size":`${i}px`,"--bottom-max-size":`${a}px`}},d.createElement("div",{className:"rt-ShellBottomContent","data-visible":Fe||void 0},Y),so)});ut.displayName="Shell.Bottom";ut.Handle=Re;
2
2
  //# sourceMappingURL=shell-bottom.js.map