@womp/kookie-ui 0.25.0 → 0.25.1

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 (337) hide show
  1. package/components.css +5 -2
  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/shell-bottom.js +1 -1
  6. package/dist/cjs/components/_internal/shell-bottom.js.map +3 -3
  7. package/dist/cjs/components/_internal/shell-inspector.d.ts.map +1 -1
  8. package/dist/cjs/components/_internal/shell-inspector.js +1 -1
  9. package/dist/cjs/components/_internal/shell-inspector.js.map +3 -3
  10. package/dist/cjs/components/_internal/shell-resizable.d.ts +6 -0
  11. package/dist/cjs/components/_internal/shell-resizable.d.ts.map +1 -1
  12. package/dist/cjs/components/_internal/shell-resizable.js +1 -1
  13. package/dist/cjs/components/_internal/shell-resizable.js.map +3 -3
  14. package/dist/cjs/components/_internal/shell-sidebar.d.ts.map +1 -1
  15. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  16. package/dist/cjs/components/_internal/shell-sidebar.js.map +3 -3
  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.js +1 -1
  20. package/dist/cjs/components/alert-dialog.js.map +4 -4
  21. package/dist/cjs/components/avatar.js +1 -1
  22. package/dist/cjs/components/avatar.js.map +4 -4
  23. package/dist/cjs/components/button.js +1 -1
  24. package/dist/cjs/components/button.js.map +4 -4
  25. package/dist/cjs/components/card.js +1 -1
  26. package/dist/cjs/components/card.js.map +4 -4
  27. package/dist/cjs/components/chatbar.js +1 -1
  28. package/dist/cjs/components/chatbar.js.map +4 -4
  29. package/dist/cjs/components/checkbox-group.js +1 -1
  30. package/dist/cjs/components/checkbox-group.js.map +4 -4
  31. package/dist/cjs/components/checkbox.js +1 -1
  32. package/dist/cjs/components/checkbox.js.map +4 -4
  33. package/dist/cjs/components/chip.js +1 -1
  34. package/dist/cjs/components/chip.js.map +4 -4
  35. package/dist/cjs/components/combobox.js +1 -1
  36. package/dist/cjs/components/combobox.js.map +4 -4
  37. package/dist/cjs/components/context-menu.js +1 -1
  38. package/dist/cjs/components/context-menu.js.map +4 -4
  39. package/dist/cjs/components/dialog.js +1 -1
  40. package/dist/cjs/components/dialog.js.map +4 -4
  41. package/dist/cjs/components/dropdown-menu.js +1 -1
  42. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  43. package/dist/cjs/components/index.js +2 -2
  44. package/dist/cjs/components/index.js.map +4 -4
  45. package/dist/cjs/components/message-scroller.js +1 -1
  46. package/dist/cjs/components/message-scroller.js.map +4 -4
  47. package/dist/cjs/components/navbar.js +1 -1
  48. package/dist/cjs/components/navbar.js.map +4 -4
  49. package/dist/cjs/components/notice.js +1 -1
  50. package/dist/cjs/components/notice.js.map +4 -4
  51. package/dist/cjs/components/popover.js +1 -1
  52. package/dist/cjs/components/popover.js.map +4 -4
  53. package/dist/cjs/components/radio-group.js +1 -1
  54. package/dist/cjs/components/radio-group.js.map +4 -4
  55. package/dist/cjs/components/radio.js +1 -1
  56. package/dist/cjs/components/radio.js.map +4 -4
  57. package/dist/cjs/components/segmented-control.js +1 -1
  58. package/dist/cjs/components/segmented-control.js.map +4 -4
  59. package/dist/cjs/components/select.js +1 -1
  60. package/dist/cjs/components/select.js.map +4 -4
  61. package/dist/cjs/components/sheet.js +1 -1
  62. package/dist/cjs/components/sheet.js.map +4 -4
  63. package/dist/cjs/components/shell.js +1 -1
  64. package/dist/cjs/components/shell.js.map +4 -4
  65. package/dist/cjs/components/sidebar.d.ts.map +1 -1
  66. package/dist/cjs/components/sidebar.js +1 -1
  67. package/dist/cjs/components/sidebar.js.map +4 -4
  68. package/dist/cjs/components/slider.js +1 -1
  69. package/dist/cjs/components/slider.js.map +4 -4
  70. package/dist/cjs/components/switch.js +1 -1
  71. package/dist/cjs/components/switch.js.map +4 -4
  72. package/dist/cjs/components/table.js +1 -1
  73. package/dist/cjs/components/table.js.map +4 -4
  74. package/dist/cjs/components/tabs.js +1 -1
  75. package/dist/cjs/components/tabs.js.map +4 -4
  76. package/dist/cjs/components/text-area.js +1 -1
  77. package/dist/cjs/components/text-area.js.map +4 -4
  78. package/dist/cjs/components/text-field.js +2 -2
  79. package/dist/cjs/components/text-field.js.map +4 -4
  80. package/dist/cjs/components/theme.js +1 -1
  81. package/dist/cjs/components/theme.js.map +4 -4
  82. package/dist/cjs/components/toggle.js +1 -1
  83. package/dist/cjs/components/toggle.js.map +4 -4
  84. package/dist/cjs/components/toolbar.d.ts.map +1 -1
  85. package/dist/cjs/components/toolbar.js +1 -1
  86. package/dist/cjs/components/toolbar.js.map +4 -4
  87. package/dist/cjs/components/tooltip.js +1 -1
  88. package/dist/cjs/components/tooltip.js.map +4 -4
  89. package/dist/cjs/helpers/index.d.ts +1 -0
  90. package/dist/cjs/helpers/index.d.ts.map +1 -1
  91. package/dist/cjs/helpers/index.js +4 -4
  92. package/dist/cjs/helpers/index.js.map +3 -3
  93. package/dist/cjs/helpers/theme-size.d.ts +8 -30
  94. package/dist/cjs/helpers/theme-size.d.ts.map +1 -1
  95. package/dist/cjs/helpers/theme-size.js +1 -1
  96. package/dist/cjs/helpers/theme-size.js.map +3 -3
  97. package/dist/cjs/hooks/theme-size.d.ts +32 -0
  98. package/dist/cjs/hooks/theme-size.d.ts.map +1 -0
  99. package/dist/cjs/hooks/theme-size.js +3 -0
  100. package/dist/cjs/hooks/theme-size.js.map +7 -0
  101. package/dist/cjs/index.js +4 -4
  102. package/dist/cjs/index.js.map +4 -4
  103. package/dist/cjs/props/index.js +1 -1
  104. package/dist/cjs/props/index.js.map +4 -4
  105. package/dist/esm/chunk-3B25RLWX.js +3 -0
  106. package/dist/esm/chunk-3B25RLWX.js.map +7 -0
  107. package/dist/esm/{chunk-PF67GJ5D.js → chunk-3CY6H4TE.js} +2 -2
  108. package/dist/esm/chunk-3CY6H4TE.js.map +7 -0
  109. package/dist/esm/{chunk-2EXOL2BR.js → chunk-3L2MDOYC.js} +2 -2
  110. package/dist/esm/chunk-3L2MDOYC.js.map +7 -0
  111. package/dist/esm/{chunk-KNBSG2WA.js → chunk-5CFSNNYS.js} +2 -2
  112. package/dist/esm/chunk-5CFSNNYS.js.map +7 -0
  113. package/dist/esm/{chunk-4ABQ6CDI.js → chunk-5EBJOOXE.js} +2 -2
  114. package/dist/esm/chunk-5EBJOOXE.js.map +7 -0
  115. package/dist/esm/{chunk-E4EMG3RC.js → chunk-5L4DZ2D3.js} +2 -2
  116. package/dist/esm/chunk-5L4DZ2D3.js.map +7 -0
  117. package/dist/esm/chunk-5ON3XLRD.js +3 -0
  118. package/dist/esm/chunk-5ON3XLRD.js.map +7 -0
  119. package/dist/esm/{chunk-UZAS4PYM.js → chunk-5TJH35TF.js} +2 -2
  120. package/dist/esm/{chunk-GPQSC6GL.js → chunk-5XR5PTDR.js} +2 -2
  121. package/dist/esm/chunk-5XR5PTDR.js.map +7 -0
  122. package/dist/esm/{chunk-AOBY2OUZ.js → chunk-63MUJFVF.js} +2 -2
  123. package/dist/esm/chunk-63MUJFVF.js.map +7 -0
  124. package/dist/esm/chunk-6AUIIXXE.js +2 -0
  125. package/dist/esm/chunk-6AUIIXXE.js.map +7 -0
  126. package/dist/esm/{chunk-4Q5PUIDJ.js → chunk-6RJQ5LLP.js} +2 -2
  127. package/dist/esm/{chunk-YVZTQA2L.js → chunk-7B3XDZXZ.js} +2 -2
  128. package/dist/esm/chunk-7B3XDZXZ.js.map +7 -0
  129. package/dist/esm/{chunk-7IHBNDCE.js → chunk-7X7VWR3F.js} +2 -2
  130. package/dist/esm/chunk-7X7VWR3F.js.map +7 -0
  131. package/dist/esm/{chunk-45O3JZWQ.js → chunk-7XHE6TOA.js} +2 -2
  132. package/dist/esm/chunk-7XHE6TOA.js.map +7 -0
  133. package/dist/esm/chunk-AQ7VUGQQ.js +3 -0
  134. package/dist/esm/chunk-AQ7VUGQQ.js.map +7 -0
  135. package/dist/esm/{chunk-54HUG34P.js → chunk-BVFHJP5E.js} +2 -2
  136. package/dist/esm/chunk-BVFHJP5E.js.map +7 -0
  137. package/dist/esm/{chunk-CRCYUJMK.js → chunk-BXZSJKWA.js} +2 -2
  138. package/dist/esm/chunk-BXZSJKWA.js.map +7 -0
  139. package/dist/esm/{chunk-IQ2RMFOM.js → chunk-CQG4U5BR.js} +2 -2
  140. package/dist/esm/{chunk-YNCI5PY6.js → chunk-FPGBCCML.js} +2 -2
  141. package/dist/esm/chunk-FPGBCCML.js.map +7 -0
  142. package/dist/esm/{chunk-A7QRPXXB.js → chunk-HHSFAOIO.js} +2 -2
  143. package/dist/esm/chunk-HHSFAOIO.js.map +7 -0
  144. package/dist/esm/{chunk-NMQGDBLD.js → chunk-MQEWEAH5.js} +2 -2
  145. package/dist/esm/chunk-MQEWEAH5.js.map +7 -0
  146. package/dist/esm/{chunk-YIKLO2XL.js → chunk-N3QLHFHB.js} +2 -2
  147. package/dist/esm/chunk-N3QLHFHB.js.map +7 -0
  148. package/dist/esm/{chunk-LCG3JZ3C.js → chunk-N5H7C3PZ.js} +2 -2
  149. package/dist/esm/chunk-N5H7C3PZ.js.map +7 -0
  150. package/dist/esm/{chunk-N53NJCEM.js → chunk-OQWD63AI.js} +2 -2
  151. package/dist/esm/chunk-OQWD63AI.js.map +7 -0
  152. package/dist/esm/chunk-PCLO3ZZY.js +3 -0
  153. package/dist/esm/chunk-PCLO3ZZY.js.map +7 -0
  154. package/dist/esm/{chunk-2XZ7477Y.js → chunk-PZZJH2LR.js} +2 -2
  155. package/dist/esm/chunk-PZZJH2LR.js.map +7 -0
  156. package/dist/esm/chunk-QKCNGEX4.js +3 -0
  157. package/dist/esm/chunk-QKCNGEX4.js.map +7 -0
  158. package/dist/esm/{chunk-PPQ7URZL.js → chunk-R4PGFURL.js} +2 -2
  159. package/dist/esm/{chunk-UUQGOQ5H.js → chunk-RB5VHWAW.js} +2 -2
  160. package/dist/esm/chunk-RB5VHWAW.js.map +7 -0
  161. package/dist/esm/{chunk-AG2YETE6.js → chunk-VPRAXHLL.js} +2 -2
  162. package/dist/esm/chunk-VPRAXHLL.js.map +7 -0
  163. package/dist/esm/{chunk-7J7RPEPB.js → chunk-VRQEWMC6.js} +2 -2
  164. package/dist/esm/chunk-VRQEWMC6.js.map +7 -0
  165. package/dist/esm/{chunk-UFJGZUKK.js → chunk-W4MQ6TEK.js} +2 -2
  166. package/dist/esm/chunk-W4MQ6TEK.js.map +7 -0
  167. package/dist/esm/{chunk-3223MHQK.js → chunk-WJ4H2O2G.js} +2 -2
  168. package/dist/esm/chunk-WMODMXEU.js +3 -0
  169. package/dist/esm/chunk-WMODMXEU.js.map +7 -0
  170. package/dist/esm/{chunk-JZVLP2VF.js → chunk-XPVRXQSW.js} +2 -2
  171. package/dist/esm/chunk-XPVRXQSW.js.map +7 -0
  172. package/dist/esm/{chunk-BUZGRMDD.js → chunk-Y2BTPKK6.js} +2 -2
  173. package/dist/esm/chunk-YOSCUA6Z.js +3 -0
  174. package/dist/esm/chunk-YOSCUA6Z.js.map +7 -0
  175. package/dist/esm/{chunk-X272YV2E.js → chunk-Z563IAE3.js} +2 -2
  176. package/dist/esm/chunk-Z563IAE3.js.map +7 -0
  177. package/dist/esm/{chunk-GZ333J7L.js → chunk-ZDSY6CJL.js} +2 -2
  178. package/dist/esm/chunk-ZDSY6CJL.js.map +7 -0
  179. package/dist/esm/{chunk-ENAW44VE.js → chunk-ZYKJTNAT.js} +2 -2
  180. package/dist/esm/chunk-ZYKJTNAT.js.map +7 -0
  181. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  182. package/dist/esm/components/_internal/base-button.js +1 -1
  183. package/dist/esm/components/_internal/shell-bottom.js +1 -1
  184. package/dist/esm/components/_internal/shell-inspector.d.ts.map +1 -1
  185. package/dist/esm/components/_internal/shell-inspector.js +1 -1
  186. package/dist/esm/components/_internal/shell-resizable.d.ts +6 -0
  187. package/dist/esm/components/_internal/shell-resizable.d.ts.map +1 -1
  188. package/dist/esm/components/_internal/shell-resizable.js +1 -1
  189. package/dist/esm/components/_internal/shell-sidebar.d.ts.map +1 -1
  190. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  191. package/dist/esm/components/accordion.js +1 -1
  192. package/dist/esm/components/alert-dialog.js +1 -1
  193. package/dist/esm/components/avatar.js +1 -1
  194. package/dist/esm/components/button.js +1 -1
  195. package/dist/esm/components/card.js +1 -1
  196. package/dist/esm/components/chatbar.js +1 -1
  197. package/dist/esm/components/checkbox-group.js +1 -1
  198. package/dist/esm/components/checkbox.js +1 -1
  199. package/dist/esm/components/chip.js +1 -1
  200. package/dist/esm/components/combobox.js +1 -1
  201. package/dist/esm/components/context-menu.js +1 -1
  202. package/dist/esm/components/dialog.js +1 -1
  203. package/dist/esm/components/dropdown-menu.js +1 -1
  204. package/dist/esm/components/index.js +1 -1
  205. package/dist/esm/components/message-scroller.js +1 -1
  206. package/dist/esm/components/navbar.js +1 -1
  207. package/dist/esm/components/notice.js +1 -1
  208. package/dist/esm/components/popover.js +1 -1
  209. package/dist/esm/components/radio-group.js +1 -1
  210. package/dist/esm/components/radio.js +1 -1
  211. package/dist/esm/components/segmented-control.js +1 -1
  212. package/dist/esm/components/select.js +1 -1
  213. package/dist/esm/components/sheet.js +1 -1
  214. package/dist/esm/components/shell.js +1 -1
  215. package/dist/esm/components/sidebar.d.ts.map +1 -1
  216. package/dist/esm/components/sidebar.js +1 -1
  217. package/dist/esm/components/slider.js +1 -1
  218. package/dist/esm/components/switch.js +1 -1
  219. package/dist/esm/components/table.js +1 -1
  220. package/dist/esm/components/tabs.js +1 -1
  221. package/dist/esm/components/text-area.js +1 -1
  222. package/dist/esm/components/text-field.js +1 -1
  223. package/dist/esm/components/theme.js +1 -1
  224. package/dist/esm/components/toggle.js +1 -1
  225. package/dist/esm/components/toolbar.d.ts.map +1 -1
  226. package/dist/esm/components/toolbar.js +1 -1
  227. package/dist/esm/components/tooltip.js +1 -1
  228. package/dist/esm/helpers/index.d.ts +1 -0
  229. package/dist/esm/helpers/index.d.ts.map +1 -1
  230. package/dist/esm/helpers/index.js +1 -1
  231. package/dist/esm/helpers/index.js.map +4 -4
  232. package/dist/esm/helpers/theme-size.d.ts +8 -30
  233. package/dist/esm/helpers/theme-size.d.ts.map +1 -1
  234. package/dist/esm/helpers/theme-size.js +1 -1
  235. package/dist/esm/hooks/theme-size.d.ts +32 -0
  236. package/dist/esm/hooks/theme-size.d.ts.map +1 -0
  237. package/dist/esm/hooks/theme-size.js +3 -0
  238. package/dist/esm/hooks/theme-size.js.map +7 -0
  239. package/dist/esm/index.js +1 -1
  240. package/dist/esm/props/font-family.prop.js +1 -1
  241. package/dist/esm/props/font-family.prop.js.map +4 -4
  242. package/dist/esm/props/index.js +1 -1
  243. package/dist/esm/props/index.js.map +4 -4
  244. package/package.json +1 -1
  245. package/src/components/_internal/base-button.tsx +56 -42
  246. package/src/components/_internal/shell-inspector.tsx +3 -1
  247. package/src/components/_internal/shell-resizable.tsx +13 -0
  248. package/src/components/_internal/shell-sidebar.tsx +3 -1
  249. package/src/components/accordion.tsx +1 -1
  250. package/src/components/alert-dialog.tsx +1 -1
  251. package/src/components/avatar.tsx +1 -1
  252. package/src/components/card.tsx +1 -1
  253. package/src/components/chatbar.tsx +1 -1
  254. package/src/components/checkbox-group.tsx +1 -1
  255. package/src/components/checkbox.tsx +1 -1
  256. package/src/components/combobox.tsx +1 -1
  257. package/src/components/context-menu.tsx +1 -1
  258. package/src/components/dialog.tsx +1 -1
  259. package/src/components/dropdown-menu.tsx +1 -1
  260. package/src/components/navbar.tsx +1 -1
  261. package/src/components/notice.tsx +1 -1
  262. package/src/components/popover.css +4 -2
  263. package/src/components/popover.tsx +1 -1
  264. package/src/components/radio-group.tsx +1 -1
  265. package/src/components/radio.tsx +1 -1
  266. package/src/components/segmented-control.tsx +1 -1
  267. package/src/components/select.tsx +1 -1
  268. package/src/components/sheet.css +4 -2
  269. package/src/components/sheet.tsx +1 -1
  270. package/src/components/shell.tsx +1 -1
  271. package/src/components/sidebar.tsx +16 -1
  272. package/src/components/slider.tsx +1 -1
  273. package/src/components/switch.tsx +1 -1
  274. package/src/components/table.tsx +1 -1
  275. package/src/components/tabs.tsx +1 -1
  276. package/src/components/text-area.tsx +1 -1
  277. package/src/components/text-field.tsx +1 -1
  278. package/src/components/theme.tsx +1 -1
  279. package/src/components/toolbar.tsx +17 -8
  280. package/src/helpers/index.ts +3 -0
  281. package/src/helpers/theme-size.ts +8 -46
  282. package/src/hooks/theme-size.ts +50 -0
  283. package/src/styles/tokens/color.css +3 -0
  284. package/styles.css +7 -2
  285. package/tokens/base.css +2 -0
  286. package/tokens.css +2 -0
  287. package/dist/esm/chunk-2EXOL2BR.js.map +0 -7
  288. package/dist/esm/chunk-2IUGM657.js +0 -3
  289. package/dist/esm/chunk-2IUGM657.js.map +0 -7
  290. package/dist/esm/chunk-2XZ7477Y.js.map +0 -7
  291. package/dist/esm/chunk-3WZLXGUE.js +0 -3
  292. package/dist/esm/chunk-3WZLXGUE.js.map +0 -7
  293. package/dist/esm/chunk-3YLYGKFB.js +0 -2
  294. package/dist/esm/chunk-3YLYGKFB.js.map +0 -7
  295. package/dist/esm/chunk-45O3JZWQ.js.map +0 -7
  296. package/dist/esm/chunk-4ABQ6CDI.js.map +0 -7
  297. package/dist/esm/chunk-54HUG34P.js.map +0 -7
  298. package/dist/esm/chunk-7IHBNDCE.js.map +0 -7
  299. package/dist/esm/chunk-7J7RPEPB.js.map +0 -7
  300. package/dist/esm/chunk-A7QRPXXB.js.map +0 -7
  301. package/dist/esm/chunk-AG2YETE6.js.map +0 -7
  302. package/dist/esm/chunk-AOBY2OUZ.js.map +0 -7
  303. package/dist/esm/chunk-CRCYUJMK.js.map +0 -7
  304. package/dist/esm/chunk-DI7RUMLO.js +0 -3
  305. package/dist/esm/chunk-DI7RUMLO.js.map +0 -7
  306. package/dist/esm/chunk-E4EMG3RC.js.map +0 -7
  307. package/dist/esm/chunk-ENAW44VE.js.map +0 -7
  308. package/dist/esm/chunk-EVCQ6TG5.js +0 -3
  309. package/dist/esm/chunk-EVCQ6TG5.js.map +0 -7
  310. package/dist/esm/chunk-G32GSPNO.js +0 -3
  311. package/dist/esm/chunk-G32GSPNO.js.map +0 -7
  312. package/dist/esm/chunk-GPQSC6GL.js.map +0 -7
  313. package/dist/esm/chunk-GZ333J7L.js.map +0 -7
  314. package/dist/esm/chunk-JIF77MRB.js +0 -3
  315. package/dist/esm/chunk-JIF77MRB.js.map +0 -7
  316. package/dist/esm/chunk-JZVLP2VF.js.map +0 -7
  317. package/dist/esm/chunk-KNBSG2WA.js.map +0 -7
  318. package/dist/esm/chunk-LB2HB4NG.js +0 -3
  319. package/dist/esm/chunk-LB2HB4NG.js.map +0 -7
  320. package/dist/esm/chunk-LCG3JZ3C.js.map +0 -7
  321. package/dist/esm/chunk-N53NJCEM.js.map +0 -7
  322. package/dist/esm/chunk-NMQGDBLD.js.map +0 -7
  323. package/dist/esm/chunk-PF67GJ5D.js.map +0 -7
  324. package/dist/esm/chunk-UFJGZUKK.js.map +0 -7
  325. package/dist/esm/chunk-UUQGOQ5H.js.map +0 -7
  326. package/dist/esm/chunk-VCV7RACK.js +0 -2
  327. package/dist/esm/chunk-VCV7RACK.js.map +0 -7
  328. package/dist/esm/chunk-X272YV2E.js.map +0 -7
  329. package/dist/esm/chunk-YIKLO2XL.js.map +0 -7
  330. package/dist/esm/chunk-YNCI5PY6.js.map +0 -7
  331. package/dist/esm/chunk-YVZTQA2L.js.map +0 -7
  332. /package/dist/esm/{chunk-UZAS4PYM.js.map → chunk-5TJH35TF.js.map} +0 -0
  333. /package/dist/esm/{chunk-4Q5PUIDJ.js.map → chunk-6RJQ5LLP.js.map} +0 -0
  334. /package/dist/esm/{chunk-IQ2RMFOM.js.map → chunk-CQG4U5BR.js.map} +0 -0
  335. /package/dist/esm/{chunk-PPQ7URZL.js.map → chunk-R4PGFURL.js.map} +0 -0
  336. /package/dist/esm/{chunk-3223MHQK.js.map → chunk-WJ4H2O2G.js.map} +0 -0
  337. /package/dist/esm/{chunk-BUZGRMDD.js.map → chunk-Y2BTPKK6.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/_internal/shell-resizable.tsx", "../../../../src/helpers/normalize-to-px.ts"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport { useLayoutEffect } from 'radix-ui/internal';\nimport { normalizeToPx } from '../../helpers/normalize-to-px.js';\nimport type { PaneName, PaneSizePersistence } from '../shell.types.js';\nimport type { PaneResizeContextValue } from './shell-resize.js';\n\nexport type SizeChangeMeta = { reason: 'init' | 'resize' | 'controlled' };\n\nexport type ResizableOptions = {\n name: PaneName;\n /** The pane's element id, which the handle names in `aria-controls`. */\n elementId: string;\n elementRef: React.RefObject<HTMLElement | null>;\n cssVarName: string;\n orientation: 'vertical' | 'horizontal';\n edge: 'start' | 'end';\n growth: (isRtl: boolean) => 1 | -1;\n expandedSize: number;\n minSize: number;\n maxSize: number;\n resizable: boolean;\n collapsible: boolean;\n size: number | string | undefined;\n defaultSize: number | string | undefined;\n onSizeChange: ((size: number, meta: SizeChangeMeta) => void) | undefined;\n sizeUpdate: 'throttle' | 'debounce' | undefined;\n sizeUpdateMs: number;\n onResize: ((size: number) => void) | undefined;\n onResizeStart: ((size: number) => void) | undefined;\n onResizeEnd: ((size: number) => void) | undefined;\n snapPoints: number[] | undefined;\n snapTolerance: number | undefined;\n collapseThreshold: number | undefined;\n paneId: string | undefined;\n persistence: PaneSizePersistence | undefined;\n /** Whether the pane is presented as an overlay right now. An overlay keeps its designed size and persists nothing. */\n overlaying: boolean;\n /** The same question asked at effect time, for a pane whose presentation is learnt after its first render. */\n overlayingNow: () => boolean;\n requestCollapse: () => void;\n requestToggle: () => void;\n};\n\n/**\n * Clamps to [min, max]. When the two cross (an app passing a maximum computed\n * from a narrow window below its fixed minimum), the minimum wins, as it did\n * in 0.7.\n */\nconst clampTo = (value: number, min: number | undefined, max: number | undefined) => Math.max(min ?? value, Math.min(max ?? value, value));\n\n/** Everything a resizable pane shares: size props, persistence, and the handle's context. */\nexport function useResizablePane(options: ResizableOptions): PaneResizeContextValue {\n const { name, elementRef, cssVarName, orientation, minSize, maxSize, resizable, size, defaultSize, paneId, persistence } = options;\n\n // The latest callbacks, so the size emitter does not change identity when a\n // consumer passes an inline function. A controlled `size` is reported again\n // only when the size, the minimum or the maximum changes.\n const latest = React.useRef(options);\n useLayoutEffect(() => {\n latest.current = options;\n });\n\n const debounceRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const throttleRef = React.useRef(0);\n React.useEffect(\n () => () => {\n if (debounceRef.current) clearTimeout(debounceRef.current);\n },\n [],\n );\n const emitSizeChange = React.useCallback((value: number, meta: SizeChangeMeta) => {\n const { onSizeChange, sizeUpdate, sizeUpdateMs } = latest.current;\n if (!onSizeChange) return;\n if (sizeUpdate === 'debounce') {\n if (debounceRef.current) clearTimeout(debounceRef.current);\n debounceRef.current = setTimeout(() => {\n debounceRef.current = null;\n latest.current.onSizeChange?.(value, meta);\n }, sizeUpdateMs);\n return;\n }\n if (sizeUpdate === 'throttle') {\n const now = Date.now();\n if (now - throttleRef.current < sizeUpdateMs) return;\n throttleRef.current = now;\n }\n onSizeChange(value, meta);\n }, []);\n\n const toPx = React.useCallback((value: number | string | undefined) => normalizeToPx(value, orientation === 'vertical' ? 'horizontal' : 'vertical'), [orientation]);\n\n /**\n * The one way a size reaches the pane: the size variable, and the value\n * every handle of this pane announces. Once anything but `expandedSize` has\n * written a size (a default, a controlled value, a persisted value or a\n * resize), the pane owns that size and a new `expandedSize` leaves it alone.\n */\n const ownedRef = React.useRef(false);\n const writeSize = React.useCallback(\n (value: number, own: boolean) => {\n const el = elementRef.current;\n if (!el) return;\n el.style.setProperty(cssVarName, `${value}px`);\n for (const handle of el.querySelectorAll(':scope > .kui-ShellResizer')) handle.setAttribute('aria-valuenow', String(Math.round(value)));\n if (own) ownedRef.current = true;\n },\n [elementRef, cssVarName],\n );\n\n // expandedSize: the size until something else sets one. Declared first, so\n // the effects below win on mount.\n useLayoutEffect(() => {\n if (!ownedRef.current) writeSize(options.expandedSize, false);\n }, [options.expandedSize, writeSize]);\n\n // defaultSize: applied once, on mount.\n useLayoutEffect(() => {\n if (size !== undefined || defaultSize === undefined) return;\n const px = toPx(defaultSize);\n if (typeof px !== 'number' || !Number.isFinite(px)) return;\n const clamped = clampTo(px, minSize, maxSize);\n writeSize(clamped, true);\n emitSizeChange(clamped, { reason: 'init' });\n // An uncontrolled initial value: applied on mount and never re-applied.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Controlled size. A drag stands until the app passes a different value.\n // Not while the pane is an overlay: an overlay keeps its designed size, and\n // an app's frame-sized limits (a maximum taken from the window) would\n // otherwise squeeze the drawer and report the squeezed size back. The size\n // is applied again when the pane returns to the frame.\n useLayoutEffect(() => {\n if (size === undefined || latest.current.overlayingNow()) return;\n const px = toPx(size);\n if (typeof px !== 'number' || !Number.isFinite(px)) return;\n const clamped = clampTo(px, minSize, maxSize);\n writeSize(clamped, true);\n emitSizeChange(clamped, { reason: 'controlled' });\n }, [size, minSize, maxSize, options.overlaying, toPx, writeSize, emitSizeChange]);\n\n // A persistence adapter from `paneId` when none is given. A given one is read through\n // `latest`, so an inline object (the documented shape) does not reload the size every render.\n const hasPersistence = persistence !== undefined;\n const adapter = React.useMemo<PaneSizePersistence | undefined>(() => {\n if (hasPersistence) {\n return {\n load: () => latest.current.persistence?.load?.(),\n save: (value: number) => latest.current.persistence?.save?.(value),\n };\n }\n if (!paneId) return undefined;\n const key = `kookie-ui:shell:${name}:${paneId}`;\n return {\n load: () => {\n if (typeof window === 'undefined') return undefined;\n try {\n const stored = window.localStorage.getItem(key);\n return stored ? Number(stored) : undefined;\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') console.warn(`Shell.${name}: failed to load persisted size`, err);\n return undefined;\n }\n },\n save: (value: number) => {\n if (typeof window === 'undefined') return;\n try {\n window.localStorage.setItem(key, String(value));\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') console.warn(`Shell.${name}: failed to save persisted size`, err);\n }\n },\n };\n }, [name, paneId, hasPersistence]);\n\n // Persisted size, loaded in a layout effect and clamped, so a reload does\n // not paint the default and then jump. Only where the pane is in the frame:\n // an overlay keeps its designed size.\n useLayoutEffect(() => {\n if (!resizable || !adapter?.load || latest.current.overlayingNow()) return undefined;\n let mounted = true;\n const apply = (value: number | undefined) => {\n if (!mounted || typeof value !== 'number' || !Number.isFinite(value)) return;\n const clamped = clampTo(value, minSize, maxSize);\n writeSize(clamped, true);\n latest.current.onResize?.(clamped);\n };\n const loaded = adapter.load();\n if (loaded instanceof Promise) {\n loaded.then(apply).catch((err) => {\n if (process.env.NODE_ENV !== 'production') console.warn(`Shell.${name}: failed to load persisted size`, err);\n });\n } else {\n apply(loaded);\n }\n return () => {\n mounted = false;\n };\n }, [resizable, adapter, options.overlaying, writeSize, minSize, maxSize, name]);\n\n const onResize = React.useCallback((value: number) => latest.current.onResize?.(value), []);\n const onResizeStart = React.useCallback((value: number) => {\n // A resize makes the size the user's: a new expandedSize no longer moves it.\n ownedRef.current = true;\n latest.current.onResizeStart?.(value);\n }, []);\n const onResizeEnd = React.useCallback(\n (value: number) => {\n latest.current.onResizeEnd?.(value);\n emitSizeChange(value, { reason: 'resize' });\n adapter?.save?.(value);\n },\n [emitSizeChange, adapter],\n );\n const requestCollapse = React.useCallback(() => latest.current.requestCollapse(), []);\n const requestToggle = React.useCallback(() => latest.current.requestToggle(), []);\n\n return React.useMemo(\n () => ({\n containerRef: elementRef,\n controls: options.elementId,\n cssVarName,\n minSize,\n maxSize,\n defaultSize: options.expandedSize,\n orientation,\n edge: options.edge,\n growth: options.growth,\n onResize,\n onResizeStart,\n onResizeEnd,\n target: name,\n collapsible: options.collapsible,\n snapPoints: options.snapPoints,\n snapTolerance: options.snapTolerance ?? 8,\n collapseThreshold: options.collapseThreshold,\n requestCollapse,\n requestToggle,\n }),\n [\n elementRef,\n options.elementId,\n cssVarName,\n minSize,\n maxSize,\n options.expandedSize,\n orientation,\n options.edge,\n options.growth,\n onResize,\n onResizeStart,\n onResizeEnd,\n name,\n options.collapsible,\n options.snapPoints,\n options.snapTolerance,\n options.collapseThreshold,\n requestCollapse,\n requestToggle,\n ],\n );\n}\n\n/** Splits a pane's children into its handles and the rest. */\nexport function splitHandles(children: React.ReactNode, handleType: React.ElementType) {\n const all = React.Children.toArray(children);\n const handles = all.filter((el) => React.isValidElement(el) && el.type === handleType) as React.ReactElement[];\n const content = all.filter((el) => !(React.isValidElement(el) && el.type === handleType));\n return { handles, content };\n}\n", "/**\n * Normalize CSS length values to pixels.\n * Supports: px, rem, %, and bare numbers.\n *\n * @param value - The value to normalize (number, string, or undefined)\n * @param orientation - 'horizontal' for width-based % or 'vertical' for height-based %\n * @returns The value in pixels, or undefined if invalid\n */\nexport function normalizeToPx(\n value: number | string | undefined,\n orientation: 'horizontal' | 'vertical' = 'horizontal',\n): number | undefined {\n if (value == null) return undefined;\n if (typeof value === 'number' && Number.isFinite(value)) return value;\n\n const str = String(value).trim();\n if (!str) return undefined;\n\n // px: direct parse\n if (str.endsWith('px')) return Number.parseFloat(str);\n\n // rem: multiply by root font size\n if (str.endsWith('rem')) {\n const rem = Number.parseFloat(getComputedStyle(document.documentElement).fontSize || '16') || 16;\n return Number.parseFloat(str) * rem;\n }\n\n // %: calculate based on viewport dimension\n if (str.endsWith('%')) {\n const pct = Number.parseFloat(str);\n const base =\n orientation === 'horizontal'\n ? document.documentElement.clientWidth || window.innerWidth || 0\n : document.documentElement.clientHeight || window.innerHeight || 0;\n return (pct / 100) * base;\n }\n\n // Bare number-like string\n const n = Number.parseFloat(str);\n return Number.isFinite(n) ? n : undefined;\n}\n\n"],
5
- "mappings": "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",
6
- "names": ["shell_resizable_exports", "__export", "splitHandles", "useResizablePane", "__toCommonJS", "React", "import_internal", "normalizeToPx", "value", "orientation", "str", "rem", "pct", "base", "n", "clampTo", "value", "min", "max", "useResizablePane", "options", "name", "elementRef", "cssVarName", "orientation", "minSize", "maxSize", "resizable", "size", "defaultSize", "paneId", "persistence", "latest", "debounceRef", "throttleRef", "emitSizeChange", "meta", "onSizeChange", "sizeUpdate", "sizeUpdateMs", "now", "toPx", "normalizeToPx", "ownedRef", "writeSize", "own", "el", "handle", "px", "clamped", "hasPersistence", "adapter", "key", "stored", "mounted", "apply", "loaded", "err", "onResize", "onResizeStart", "onResizeEnd", "requestCollapse", "requestToggle", "splitHandles", "children", "handleType", "all", "handles", "content"]
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport { useLayoutEffect } from 'radix-ui/internal';\nimport { normalizeToPx } from '../../helpers/normalize-to-px.js';\nimport type { PaneName, PaneSizePersistence } from '../shell.types.js';\nimport type { PaneResizeContextValue } from './shell-resize.js';\n\nexport type SizeChangeMeta = { reason: 'init' | 'resize' | 'controlled' };\n\nexport type ResizableOptions = {\n name: PaneName;\n /** The pane's element id, which the handle names in `aria-controls`. */\n elementId: string;\n elementRef: React.RefObject<HTMLElement | null>;\n cssVarName: string;\n orientation: 'vertical' | 'horizontal';\n edge: 'start' | 'end';\n growth: (isRtl: boolean) => 1 | -1;\n expandedSize: number;\n minSize: number;\n maxSize: number;\n resizable: boolean;\n collapsible: boolean;\n size: number | string | undefined;\n defaultSize: number | string | undefined;\n onSizeChange: ((size: number, meta: SizeChangeMeta) => void) | undefined;\n sizeUpdate: 'throttle' | 'debounce' | undefined;\n sizeUpdateMs: number;\n onResize: ((size: number) => void) | undefined;\n onResizeStart: ((size: number) => void) | undefined;\n onResizeEnd: ((size: number) => void) | undefined;\n snapPoints: number[] | undefined;\n snapTolerance: number | undefined;\n collapseThreshold: number | undefined;\n paneId: string | undefined;\n persistence: PaneSizePersistence | undefined;\n /** Whether the pane is presented as an overlay right now. An overlay keeps its designed size and persists nothing. */\n overlaying: boolean;\n /** The same question asked at effect time, for a pane whose presentation is learnt after its first render. */\n overlayingNow: () => boolean;\n requestCollapse: () => void;\n requestToggle: () => void;\n};\n\n/**\n * Clamps to [min, max]. When the two cross (an app passing a maximum computed\n * from a narrow window below its fixed minimum), the minimum wins, as it did\n * in 0.7.\n */\nconst clampTo = (value: number, min: number | undefined, max: number | undefined) => Math.max(min ?? value, Math.min(max ?? value, value));\n\n/**\n * The pane's starting size for the first render, so the server HTML already has it and the first\n * paint is right. Only a number can be known before the pane exists (a percentage needs the\n * Shell's width); the effects below still own the size after mount.\n */\nexport function useInitialPaneSize(size: number | string | undefined, defaultSize: number | string | undefined, minSize: number, maxSize: number) {\n const [initial] = React.useState(() => {\n const value = size ?? defaultSize;\n return typeof value === 'number' && Number.isFinite(value) ? `${clampTo(value, minSize, maxSize)}px` : undefined;\n });\n return initial;\n}\n\n/** Everything a resizable pane shares: size props, persistence, and the handle's context. */\nexport function useResizablePane(options: ResizableOptions): PaneResizeContextValue {\n const { name, elementRef, cssVarName, orientation, minSize, maxSize, resizable, size, defaultSize, paneId, persistence } = options;\n\n // The latest callbacks, so the size emitter does not change identity when a\n // consumer passes an inline function. A controlled `size` is reported again\n // only when the size, the minimum or the maximum changes.\n const latest = React.useRef(options);\n useLayoutEffect(() => {\n latest.current = options;\n });\n\n const debounceRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const throttleRef = React.useRef(0);\n React.useEffect(\n () => () => {\n if (debounceRef.current) clearTimeout(debounceRef.current);\n },\n [],\n );\n const emitSizeChange = React.useCallback((value: number, meta: SizeChangeMeta) => {\n const { onSizeChange, sizeUpdate, sizeUpdateMs } = latest.current;\n if (!onSizeChange) return;\n if (sizeUpdate === 'debounce') {\n if (debounceRef.current) clearTimeout(debounceRef.current);\n debounceRef.current = setTimeout(() => {\n debounceRef.current = null;\n latest.current.onSizeChange?.(value, meta);\n }, sizeUpdateMs);\n return;\n }\n if (sizeUpdate === 'throttle') {\n const now = Date.now();\n if (now - throttleRef.current < sizeUpdateMs) return;\n throttleRef.current = now;\n }\n onSizeChange(value, meta);\n }, []);\n\n const toPx = React.useCallback((value: number | string | undefined) => normalizeToPx(value, orientation === 'vertical' ? 'horizontal' : 'vertical'), [orientation]);\n\n /**\n * The one way a size reaches the pane: the size variable, and the value\n * every handle of this pane announces. Once anything but `expandedSize` has\n * written a size (a default, a controlled value, a persisted value or a\n * resize), the pane owns that size and a new `expandedSize` leaves it alone.\n */\n const ownedRef = React.useRef(false);\n const writeSize = React.useCallback(\n (value: number, own: boolean) => {\n const el = elementRef.current;\n if (!el) return;\n el.style.setProperty(cssVarName, `${value}px`);\n for (const handle of el.querySelectorAll(':scope > .kui-ShellResizer')) handle.setAttribute('aria-valuenow', String(Math.round(value)));\n if (own) ownedRef.current = true;\n },\n [elementRef, cssVarName],\n );\n\n // expandedSize: the size until something else sets one. Declared first, so\n // the effects below win on mount.\n useLayoutEffect(() => {\n if (!ownedRef.current) writeSize(options.expandedSize, false);\n }, [options.expandedSize, writeSize]);\n\n // defaultSize: applied once, on mount.\n useLayoutEffect(() => {\n if (size !== undefined || defaultSize === undefined) return;\n const px = toPx(defaultSize);\n if (typeof px !== 'number' || !Number.isFinite(px)) return;\n const clamped = clampTo(px, minSize, maxSize);\n writeSize(clamped, true);\n emitSizeChange(clamped, { reason: 'init' });\n // An uncontrolled initial value: applied on mount and never re-applied.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Controlled size. A drag stands until the app passes a different value.\n // Not while the pane is an overlay: an overlay keeps its designed size, and\n // an app's frame-sized limits (a maximum taken from the window) would\n // otherwise squeeze the drawer and report the squeezed size back. The size\n // is applied again when the pane returns to the frame.\n useLayoutEffect(() => {\n if (size === undefined || latest.current.overlayingNow()) return;\n const px = toPx(size);\n if (typeof px !== 'number' || !Number.isFinite(px)) return;\n const clamped = clampTo(px, minSize, maxSize);\n writeSize(clamped, true);\n emitSizeChange(clamped, { reason: 'controlled' });\n }, [size, minSize, maxSize, options.overlaying, toPx, writeSize, emitSizeChange]);\n\n // A persistence adapter from `paneId` when none is given. A given one is read through\n // `latest`, so an inline object (the documented shape) does not reload the size every render.\n const hasPersistence = persistence !== undefined;\n const adapter = React.useMemo<PaneSizePersistence | undefined>(() => {\n if (hasPersistence) {\n return {\n load: () => latest.current.persistence?.load?.(),\n save: (value: number) => latest.current.persistence?.save?.(value),\n };\n }\n if (!paneId) return undefined;\n const key = `kookie-ui:shell:${name}:${paneId}`;\n return {\n load: () => {\n if (typeof window === 'undefined') return undefined;\n try {\n const stored = window.localStorage.getItem(key);\n return stored ? Number(stored) : undefined;\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') console.warn(`Shell.${name}: failed to load persisted size`, err);\n return undefined;\n }\n },\n save: (value: number) => {\n if (typeof window === 'undefined') return;\n try {\n window.localStorage.setItem(key, String(value));\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') console.warn(`Shell.${name}: failed to save persisted size`, err);\n }\n },\n };\n }, [name, paneId, hasPersistence]);\n\n // Persisted size, loaded in a layout effect and clamped, so a reload does\n // not paint the default and then jump. Only where the pane is in the frame:\n // an overlay keeps its designed size.\n useLayoutEffect(() => {\n if (!resizable || !adapter?.load || latest.current.overlayingNow()) return undefined;\n let mounted = true;\n const apply = (value: number | undefined) => {\n if (!mounted || typeof value !== 'number' || !Number.isFinite(value)) return;\n const clamped = clampTo(value, minSize, maxSize);\n writeSize(clamped, true);\n latest.current.onResize?.(clamped);\n };\n const loaded = adapter.load();\n if (loaded instanceof Promise) {\n loaded.then(apply).catch((err) => {\n if (process.env.NODE_ENV !== 'production') console.warn(`Shell.${name}: failed to load persisted size`, err);\n });\n } else {\n apply(loaded);\n }\n return () => {\n mounted = false;\n };\n }, [resizable, adapter, options.overlaying, writeSize, minSize, maxSize, name]);\n\n const onResize = React.useCallback((value: number) => latest.current.onResize?.(value), []);\n const onResizeStart = React.useCallback((value: number) => {\n // A resize makes the size the user's: a new expandedSize no longer moves it.\n ownedRef.current = true;\n latest.current.onResizeStart?.(value);\n }, []);\n const onResizeEnd = React.useCallback(\n (value: number) => {\n latest.current.onResizeEnd?.(value);\n emitSizeChange(value, { reason: 'resize' });\n adapter?.save?.(value);\n },\n [emitSizeChange, adapter],\n );\n const requestCollapse = React.useCallback(() => latest.current.requestCollapse(), []);\n const requestToggle = React.useCallback(() => latest.current.requestToggle(), []);\n\n return React.useMemo(\n () => ({\n containerRef: elementRef,\n controls: options.elementId,\n cssVarName,\n minSize,\n maxSize,\n defaultSize: options.expandedSize,\n orientation,\n edge: options.edge,\n growth: options.growth,\n onResize,\n onResizeStart,\n onResizeEnd,\n target: name,\n collapsible: options.collapsible,\n snapPoints: options.snapPoints,\n snapTolerance: options.snapTolerance ?? 8,\n collapseThreshold: options.collapseThreshold,\n requestCollapse,\n requestToggle,\n }),\n [\n elementRef,\n options.elementId,\n cssVarName,\n minSize,\n maxSize,\n options.expandedSize,\n orientation,\n options.edge,\n options.growth,\n onResize,\n onResizeStart,\n onResizeEnd,\n name,\n options.collapsible,\n options.snapPoints,\n options.snapTolerance,\n options.collapseThreshold,\n requestCollapse,\n requestToggle,\n ],\n );\n}\n\n/** Splits a pane's children into its handles and the rest. */\nexport function splitHandles(children: React.ReactNode, handleType: React.ElementType) {\n const all = React.Children.toArray(children);\n const handles = all.filter((el) => React.isValidElement(el) && el.type === handleType) as React.ReactElement[];\n const content = all.filter((el) => !(React.isValidElement(el) && el.type === handleType));\n return { handles, content };\n}\n", "/**\n * Normalize CSS length values to pixels.\n * Supports: px, rem, %, and bare numbers.\n *\n * @param value - The value to normalize (number, string, or undefined)\n * @param orientation - 'horizontal' for width-based % or 'vertical' for height-based %\n * @returns The value in pixels, or undefined if invalid\n */\nexport function normalizeToPx(\n value: number | string | undefined,\n orientation: 'horizontal' | 'vertical' = 'horizontal',\n): number | undefined {\n if (value == null) return undefined;\n if (typeof value === 'number' && Number.isFinite(value)) return value;\n\n const str = String(value).trim();\n if (!str) return undefined;\n\n // px: direct parse\n if (str.endsWith('px')) return Number.parseFloat(str);\n\n // rem: multiply by root font size\n if (str.endsWith('rem')) {\n const rem = Number.parseFloat(getComputedStyle(document.documentElement).fontSize || '16') || 16;\n return Number.parseFloat(str) * rem;\n }\n\n // %: calculate based on viewport dimension\n if (str.endsWith('%')) {\n const pct = Number.parseFloat(str);\n const base =\n orientation === 'horizontal'\n ? document.documentElement.clientWidth || window.innerWidth || 0\n : document.documentElement.clientHeight || window.innerHeight || 0;\n return (pct / 100) * base;\n }\n\n // Bare number-like string\n const n = Number.parseFloat(str);\n return Number.isFinite(n) ? n : undefined;\n}\n\n"],
5
+ "mappings": ";ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,EAAA,uBAAAC,EAAA,qBAAAC,IAAA,eAAAC,EAAAL,GAEA,IAAAM,EAAuB,oBACvBC,EAAgC,6BCKzB,SAASC,EACdC,EACAC,EAAyC,aACrB,CACpB,GAAID,GAAS,KAAM,OACnB,GAAI,OAAOA,GAAU,UAAY,OAAO,SAASA,CAAK,EAAG,OAAOA,EAEhE,IAAME,EAAM,OAAOF,CAAK,EAAE,KAAK,EAC/B,GAAI,CAACE,EAAK,OAGV,GAAIA,EAAI,SAAS,IAAI,EAAG,OAAO,OAAO,WAAWA,CAAG,EAGpD,GAAIA,EAAI,SAAS,KAAK,EAAG,CACvB,IAAMC,EAAM,OAAO,WAAW,iBAAiB,SAAS,eAAe,EAAE,UAAY,IAAI,GAAK,GAC9F,OAAO,OAAO,WAAWD,CAAG,EAAIC,CAClC,CAGA,GAAID,EAAI,SAAS,GAAG,EAAG,CACrB,IAAME,EAAM,OAAO,WAAWF,CAAG,EAC3BG,EACJJ,IAAgB,aACZ,SAAS,gBAAgB,aAAe,OAAO,YAAc,EAC7D,SAAS,gBAAgB,cAAgB,OAAO,aAAe,EACrE,OAAQG,EAAM,IAAOC,CACvB,CAGA,IAAMC,EAAI,OAAO,WAAWJ,CAAG,EAC/B,OAAO,OAAO,SAASI,CAAC,EAAIA,EAAI,MAClC,CDUA,IAAMC,EAAU,CAACC,EAAeC,EAAyBC,IAA4B,KAAK,IAAID,GAAOD,EAAO,KAAK,IAAIE,GAAOF,EAAOA,CAAK,CAAC,EAOlI,SAASG,EAAmBC,EAAmCC,EAA0CC,EAAiBC,EAAiB,CAChJ,GAAM,CAACC,CAAO,EAAU,WAAS,IAAM,CACrC,IAAMR,EAAQI,GAAQC,EACtB,OAAO,OAAOL,GAAU,UAAY,OAAO,SAASA,CAAK,EAAI,GAAGD,EAAQC,EAAOM,EAASC,CAAO,CAAC,KAAO,MACzG,CAAC,EACD,OAAOC,CACT,CAGO,SAASC,EAAiBC,EAAmD,CAClF,GAAM,CAAE,KAAAC,EAAM,WAAAC,EAAY,WAAAC,EAAY,YAAAC,EAAa,QAAAR,EAAS,QAAAC,EAAS,UAAAQ,EAAW,KAAAX,EAAM,YAAAC,EAAa,OAAAW,EAAQ,YAAAC,CAAY,EAAIP,EAKrHQ,EAAe,SAAOR,CAAO,KACnC,mBAAgB,IAAM,CACpBQ,EAAO,QAAUR,CACnB,CAAC,EAED,IAAMS,EAAoB,SAA6C,IAAI,EACrEC,EAAoB,SAAO,CAAC,EAC5B,YACJ,IAAM,IAAM,CACND,EAAY,SAAS,aAAaA,EAAY,OAAO,CAC3D,EACA,CAAC,CACH,EACA,IAAME,EAAuB,cAAY,CAACrB,EAAesB,IAAyB,CAChF,GAAM,CAAE,aAAAC,EAAc,WAAAC,EAAY,aAAAC,CAAa,EAAIP,EAAO,QAC1D,GAAKK,EACL,IAAIC,IAAe,WAAY,CACzBL,EAAY,SAAS,aAAaA,EAAY,OAAO,EACzDA,EAAY,QAAU,WAAW,IAAM,CACrCA,EAAY,QAAU,KACtBD,EAAO,QAAQ,eAAelB,EAAOsB,CAAI,CAC3C,EAAGG,CAAY,EACf,MACF,CACA,GAAID,IAAe,WAAY,CAC7B,IAAME,EAAM,KAAK,IAAI,EACrB,GAAIA,EAAMN,EAAY,QAAUK,EAAc,OAC9CL,EAAY,QAAUM,CACxB,CACAH,EAAavB,EAAOsB,CAAI,EAC1B,EAAG,CAAC,CAAC,EAECK,EAAa,cAAa3B,GAAuC4B,EAAc5B,EAAOc,IAAgB,WAAa,aAAe,UAAU,EAAG,CAACA,CAAW,CAAC,EAQ5Je,EAAiB,SAAO,EAAK,EAC7BC,EAAkB,cACtB,CAAC9B,EAAe+B,IAAiB,CAC/B,IAAMC,EAAKpB,EAAW,QACtB,GAAKoB,EACL,CAAAA,EAAG,MAAM,YAAYnB,EAAY,GAAGb,CAAK,IAAI,EAC7C,QAAWiC,KAAUD,EAAG,iBAAiB,4BAA4B,EAAGC,EAAO,aAAa,gBAAiB,OAAO,KAAK,MAAMjC,CAAK,CAAC,CAAC,EAClI+B,IAAKF,EAAS,QAAU,IAC9B,EACA,CAACjB,EAAYC,CAAU,CACzB,KAIA,mBAAgB,IAAM,CACfgB,EAAS,SAASC,EAAUpB,EAAQ,aAAc,EAAK,CAC9D,EAAG,CAACA,EAAQ,aAAcoB,CAAS,CAAC,KAGpC,mBAAgB,IAAM,CACpB,GAAI1B,IAAS,QAAaC,IAAgB,OAAW,OACrD,IAAM6B,EAAKP,EAAKtB,CAAW,EAC3B,GAAI,OAAO6B,GAAO,UAAY,CAAC,OAAO,SAASA,CAAE,EAAG,OACpD,IAAMC,EAAUpC,EAAQmC,EAAI5B,EAASC,CAAO,EAC5CuB,EAAUK,EAAS,EAAI,EACvBd,EAAec,EAAS,CAAE,OAAQ,MAAO,CAAC,CAG5C,EAAG,CAAC,CAAC,KAOL,mBAAgB,IAAM,CACpB,GAAI/B,IAAS,QAAac,EAAO,QAAQ,cAAc,EAAG,OAC1D,IAAMgB,EAAKP,EAAKvB,CAAI,EACpB,GAAI,OAAO8B,GAAO,UAAY,CAAC,OAAO,SAASA,CAAE,EAAG,OACpD,IAAMC,EAAUpC,EAAQmC,EAAI5B,EAASC,CAAO,EAC5CuB,EAAUK,EAAS,EAAI,EACvBd,EAAec,EAAS,CAAE,OAAQ,YAAa,CAAC,CAClD,EAAG,CAAC/B,EAAME,EAASC,EAASG,EAAQ,WAAYiB,EAAMG,EAAWT,CAAc,CAAC,EAIhF,IAAMe,EAAiBnB,IAAgB,OACjCoB,EAAgB,UAAyC,IAAM,CACnE,GAAID,EACF,MAAO,CACL,KAAM,IAAMlB,EAAO,QAAQ,aAAa,OAAO,EAC/C,KAAOlB,GAAkBkB,EAAO,QAAQ,aAAa,OAAOlB,CAAK,CACnE,EAEF,GAAI,CAACgB,EAAQ,OACb,IAAMsB,EAAM,mBAAmB3B,CAAI,IAAIK,CAAM,GAC7C,MAAO,CACL,KAAM,IAAM,CACV,GAAI,SAAO,OAAW,KACtB,GAAI,CACF,IAAMuB,EAAS,OAAO,aAAa,QAAQD,CAAG,EAC9C,OAAOC,EAAS,OAAOA,CAAM,EAAI,MACnC,MAAc,CAEZ,MACF,CACF,EACA,KAAOvC,GAAkB,CACvB,GAAI,SAAO,OAAW,KACtB,GAAI,CACF,OAAO,aAAa,QAAQsC,EAAK,OAAOtC,CAAK,CAAC,CAChD,MAAc,CAEd,CACF,CACF,CACF,EAAG,CAACW,EAAMK,EAAQoB,CAAc,CAAC,KAKjC,mBAAgB,IAAM,CACpB,GAAI,CAACrB,GAAa,CAACsB,GAAS,MAAQnB,EAAO,QAAQ,cAAc,EAAG,OACpE,IAAIsB,EAAU,GACRC,EAASzC,GAA8B,CAC3C,GAAI,CAACwC,GAAW,OAAOxC,GAAU,UAAY,CAAC,OAAO,SAASA,CAAK,EAAG,OACtE,IAAMmC,EAAUpC,EAAQC,EAAOM,EAASC,CAAO,EAC/CuB,EAAUK,EAAS,EAAI,EACvBjB,EAAO,QAAQ,WAAWiB,CAAO,CACnC,EACMO,EAASL,EAAQ,KAAK,EAC5B,OAAIK,aAAkB,QACpBA,EAAO,KAAKD,CAAK,EAAE,MAAOE,GAAQ,CAElC,CAAC,EAEDF,EAAMC,CAAM,EAEP,IAAM,CACXF,EAAU,EACZ,CACF,EAAG,CAACzB,EAAWsB,EAAS3B,EAAQ,WAAYoB,EAAWxB,EAASC,EAASI,CAAI,CAAC,EAE9E,IAAMiC,EAAiB,cAAa5C,GAAkBkB,EAAO,QAAQ,WAAWlB,CAAK,EAAG,CAAC,CAAC,EACpF6C,EAAsB,cAAa7C,GAAkB,CAEzD6B,EAAS,QAAU,GACnBX,EAAO,QAAQ,gBAAgBlB,CAAK,CACtC,EAAG,CAAC,CAAC,EACC8C,EAAoB,cACvB9C,GAAkB,CACjBkB,EAAO,QAAQ,cAAclB,CAAK,EAClCqB,EAAerB,EAAO,CAAE,OAAQ,QAAS,CAAC,EAC1CqC,GAAS,OAAOrC,CAAK,CACvB,EACA,CAACqB,EAAgBgB,CAAO,CAC1B,EACMU,EAAwB,cAAY,IAAM7B,EAAO,QAAQ,gBAAgB,EAAG,CAAC,CAAC,EAC9E8B,EAAsB,cAAY,IAAM9B,EAAO,QAAQ,cAAc,EAAG,CAAC,CAAC,EAEhF,OAAa,UACX,KAAO,CACL,aAAcN,EACd,SAAUF,EAAQ,UAClB,WAAAG,EACA,QAAAP,EACA,QAAAC,EACA,YAAaG,EAAQ,aACrB,YAAAI,EACA,KAAMJ,EAAQ,KACd,OAAQA,EAAQ,OAChB,SAAAkC,EACA,cAAAC,EACA,YAAAC,EACA,OAAQnC,EACR,YAAaD,EAAQ,YACrB,WAAYA,EAAQ,WACpB,cAAeA,EAAQ,eAAiB,EACxC,kBAAmBA,EAAQ,kBAC3B,gBAAAqC,EACA,cAAAC,CACF,GACA,CACEpC,EACAF,EAAQ,UACRG,EACAP,EACAC,EACAG,EAAQ,aACRI,EACAJ,EAAQ,KACRA,EAAQ,OACRkC,EACAC,EACAC,EACAnC,EACAD,EAAQ,YACRA,EAAQ,WACRA,EAAQ,cACRA,EAAQ,kBACRqC,EACAC,CACF,CACF,CACF,CAGO,SAASC,EAAaC,EAA2BC,EAA+B,CACrF,IAAMC,EAAY,WAAS,QAAQF,CAAQ,EACrCG,EAAUD,EAAI,OAAQpB,GAAa,iBAAeA,CAAE,GAAKA,EAAG,OAASmB,CAAU,EAC/EG,EAAUF,EAAI,OAAQpB,GAAO,EAAQ,iBAAeA,CAAE,GAAKA,EAAG,OAASmB,EAAW,EACxF,MAAO,CAAE,QAAAE,EAAS,QAAAC,CAAQ,CAC5B",
6
+ "names": ["shell_resizable_exports", "__export", "splitHandles", "useInitialPaneSize", "useResizablePane", "__toCommonJS", "React", "import_internal", "normalizeToPx", "value", "orientation", "str", "rem", "pct", "base", "n", "clampTo", "value", "min", "max", "useInitialPaneSize", "size", "defaultSize", "minSize", "maxSize", "initial", "useResizablePane", "options", "name", "elementRef", "cssVarName", "orientation", "resizable", "paneId", "persistence", "latest", "debounceRef", "throttleRef", "emitSizeChange", "meta", "onSizeChange", "sizeUpdate", "sizeUpdateMs", "now", "toPx", "normalizeToPx", "ownedRef", "writeSize", "own", "el", "handle", "px", "clamped", "hasPersistence", "adapter", "key", "stored", "mounted", "apply", "loaded", "err", "onResize", "onResizeStart", "onResizeEnd", "requestCollapse", "requestToggle", "splitHandles", "children", "handleType", "all", "handles", "content"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shell-sidebar.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/shell-sidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAc,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAkC,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3F,OAAO,KAAK,EAAE,UAAU,EAAyB,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnH,KAAK,sBAAsB,GAAG;IAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAA;CAAE,CAAC;AACvF,KAAK,sBAAsB,GAAG;IAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAAC,YAAY,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AACnK,KAAK,wBAAwB,GAAG;IAAE,YAAY,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AACrM,KAAK,kBAAkB,GAAG,aAAa,GAAG;IACxC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5D,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,CAAC,sBAAsB,GAAG,wBAAwB,CAAC,CAAC;AAExD,KAAK,gBAAgB,GAAG,KAAK,CAAC,yBAAyB,CAAC,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,OAAO,aAAa,CAAA;CAAE,CAAC;AAqBrJ,eAAO,MAAM,OAAO,EA+Hd,gBAAgB,CAAC;AAKvB,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"shell-sidebar.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/shell-sidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAc,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAsD,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK/G,OAAO,KAAK,EAAE,UAAU,EAAyB,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnH,KAAK,sBAAsB,GAAG;IAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAA;CAAE,CAAC;AACvF,KAAK,sBAAsB,GAAG;IAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAAC,YAAY,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AACnK,KAAK,wBAAwB,GAAG;IAAE,YAAY,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AACrM,KAAK,kBAAkB,GAAG,aAAa,GAAG;IACxC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5D,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,CAAC,sBAAsB,GAAG,wBAAwB,CAAC,CAAC;AAExD,KAAK,gBAAgB,GAAG,KAAK,CAAC,yBAAyB,CAAC,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,OAAO,aAAa,CAAA;CAAE,CAAC;AAqBrJ,eAAO,MAAM,OAAO,EAiId,gBAAgB,CAAC;AAKvB,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use strict";"use client";var _t=Object.create;var he=Object.defineProperty;var Gt=Object.getOwnPropertyDescriptor;var Qt=Object.getOwnPropertyNames;var Yt=Object.getPrototypeOf,Xt=Object.prototype.hasOwnProperty;var Jt=(e,t)=>{for(var n in t)he(e,n,{get:t[n],enumerable:!0})},tt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Qt(t))!Xt.call(e,o)&&o!==n&&he(e,o,{get:()=>t[o],enumerable:!(r=Gt(t,o))||r.enumerable});return e};var A=(e,t,n)=>(n=e!=null?_t(Yt(e)):{},tt(t||!e||!e.__esModule?he(n,"default",{value:e,enumerable:!0}):n,e)),Zt=e=>tt(he({},"__esModule",{value:!0}),e);var An={};Jt(An,{Sidebar:()=>Ge});module.exports=Zt(An);var K=A(require("react")),Wt=A(require("classnames")),Ut=require("radix-ui/internal");var ge=A(require("react")),Ve=ge.createContext(null);function nt(){let e=ge.useContext(Ve);if(!e)throw new Error("Shell.Handle must be used within a resizable pane");return e}var T=A(require("react")),rt=require("radix-ui/internal"),ot=A(require("classnames"));var re=T.forwardRef(({className:e,children:t,...n},r)=>{let{containerRef:o,controls:i,cssVarName:s,minSize:c,maxSize:l,defaultSize:a,orientation:u,edge:g,growth:m,onResize:N,onResizeStart:j,onResizeEnd:B,snapPoints:z,snapTolerance:x,collapseThreshold:D,collapsible:F,target:W,requestCollapse:ee,requestToggle:H}=nt(),I=T.useRef(null),Q=T.useCallback(d=>{I.current=d,typeof r=="function"?r(d):r&&(r.current=d)},[r]),k=T.useRef(null);T.useEffect(()=>()=>{k.current?.(),k.current=null},[]);let p=T.useCallback(()=>{let d=o.current;if(!d)return a;let h=Number.parseFloat(getComputedStyle(d).getPropertyValue(s));return Number.isFinite(h)?h:a},[o,s,a]),P=T.useCallback(()=>{let d=o.current,h=I.current,b=d?.closest(".kui-ShellRoot")?.getBoundingClientRect();if(!d||!b||!h)return l;let v=d.getBoundingClientRect(),O=h.getBoundingClientRect(),M=m(getComputedStyle(d).direction==="rtl"),S;u==="vertical"?S=M>0?b.right-v.left:v.right-b.left:S=M>0?b.bottom-v.top:v.bottom-b.top;let Y=u==="vertical"?O.width:O.height;return!(b.width>0&&b.height>0)||!Number.isFinite(S)?l:Math.max(c,Math.min(l,Math.round(S-Y)))},[o,m,l,c,u]),w=()=>{I.current?.setAttribute("aria-valuemax",String(P()))};(0,rt.useLayoutEffect)(()=>{I.current?.setAttribute("aria-valuenow",String(Math.round(p())))},[p]);let C=(d,h)=>{d.style.setProperty(s,`${h}px`),I.current?.setAttribute("aria-valuenow",String(Math.round(h)))},U=W.charAt(0).toUpperCase()+W.slice(1);return T.createElement("div",{ref:Q,className:(0,ot.default)("kui-ShellResizer",e),"data-orientation":u,"data-edge":g,role:"separator",tabIndex:0,"aria-label":`Resize ${U} pane`,"aria-controls":i,"aria-orientation":u,"aria-valuemin":c,"aria-valuemax":l,...n,onPointerDown:d=>{n.onPointerDown?.(d);let h=o.current;if(!h||d.defaultPrevented||d.button!==0)return;d.preventDefault();let b=d.currentTarget,v=d.pointerId;k.current?.();try{b.setPointerCapture(v)}catch{}let O=getComputedStyle(h),M=Number.parseFloat(O.getPropertyValue(s)),S=Number.isFinite(M)?M:a,Y=u==="vertical"?d.clientX:d.clientY,f=m(O.direction==="rtl"),q=P();b.setAttribute("aria-valuemax",String(q));let _=V=>Math.min(Math.max(V,c),q);h.setAttribute("data-resizing",""),b.setAttribute("data-dragging","");let X=document.body,ke=X.style.cursor,qt=X.style.userSelect;X.style.cursor=u==="vertical"?"col-resize":"row-resize",X.style.userSelect="none",j?.(S);let ne=S,Ne=S,G=0,ue=null,Qe=()=>{if(G=0,ue===null)return;let V=ue;ue=null,N?.(V)},Ye=null,Xe=!1,Kt=(V,ie)=>{if(V.type===ie)Xe=!0;else if(Xe)return!1;return!0},J=V=>{if(!Kt(V,"pointermove")||V===Ye)return;Ye=V;let ie=u==="vertical"?V.clientX:V.clientY;Ne=S+(ie-Y)*f,ne=_(Ne),C(h,ne),ue=ne,G||(G=requestAnimationFrame(Qe))},ye=()=>{G&&cancelAnimationFrame(G),G=0;try{b.releasePointerCapture(v)}catch{}window.removeEventListener("pointermove",J),document.removeEventListener("pointermove",J),window.removeEventListener("mousemove",J),document.removeEventListener("mousemove",J),b.removeEventListener("pointermove",J),window.removeEventListener("pointerup",$),document.removeEventListener("pointerup",$),window.removeEventListener("mouseup",$),document.removeEventListener("mouseup",$),window.removeEventListener("pointercancel",$),document.removeEventListener("pointercancel",$),window.removeEventListener("keydown",Je),b.removeEventListener("lostpointercapture",$),h.removeAttribute("data-resizing"),b.removeAttribute("data-dragging"),X.style.cursor=ke,X.style.userSelect=qt,k.current=null},De=!1,$=()=>{if(De)return;if(De=!0,G&&cancelAnimationFrame(G),Qe(),F&&typeof D=="number"&&Ne<=D){C(h,S),N?.(S),ye(),ee?.(),B?.(S);return}let V=ne;if(z&&z.length){let ie=z.reduce((Ze,et)=>Math.abs(et-ne)<Math.abs(Ze-ne)?et:Ze,z[0]);Math.abs(ie-ne)<=x&&(V=_(ie),C(h,V),N?.(V))}B?.(V),ye()},Je=V=>{V.key==="Escape"&&(G&&cancelAnimationFrame(G),G=0,ue=null,C(h,S),N?.(S),De=!0,B?.(S),ye())};window.addEventListener("pointermove",J),document.addEventListener("pointermove",J),window.addEventListener("mousemove",J),document.addEventListener("mousemove",J),b.addEventListener("pointermove",J),window.addEventListener("pointerup",$),document.addEventListener("pointerup",$),window.addEventListener("mouseup",$),document.addEventListener("mouseup",$),window.addEventListener("pointercancel",$),document.addEventListener("pointercancel",$),window.addEventListener("keydown",Je),b.addEventListener("lostpointercapture",$),k.current=ye},onDoubleClick:d=>{n.onDoubleClick?.(d),!d.defaultPrevented&&F&&H?.()},onFocus:d=>{n.onFocus?.(d),w()},onKeyDown:d=>{n.onKeyDown?.(d);let h=o.current;if(!h||d.defaultPrevented)return;if(d.key==="Enter"){F&&H&&(d.preventDefault(),H());return}let b=p(),v=P(),O=S=>Math.min(Math.max(S,c),v),M;if(d.key==="Home")M=O(c);else if(d.key==="End")M=O(v);else{let S=u==="vertical"?d.key==="ArrowRight"?1:d.key==="ArrowLeft"?-1:0:d.key==="ArrowDown"?1:d.key==="ArrowUp"?-1:0;if(S===0)return;let Y=d.shiftKey?32:8;M=O(b+S*Y*m(getComputedStyle(h).direction==="rtl"))}d.preventDefault(),j?.(b),C(h,M),N?.(M),B?.(M)}},t)});re.displayName="Shell.Handle";var en=T.forwardRef((e,t)=>T.createElement(re,{...e,ref:t}));en.displayName="Shell.Panel.Handle";var be=T.forwardRef((e,t)=>T.createElement(re,{...e,ref:t}));be.displayName="Shell.Sidebar.Handle";var tn=T.forwardRef((e,t)=>T.createElement(re,{...e,ref:t}));tn.displayName="Shell.Inspector.Handle";var nn=T.forwardRef((e,t)=>T.createElement(re,{...e,ref:t}));nn.displayName="Shell.Bottom.Handle";var E=A(require("react")),me=require("radix-ui/internal");var ce=A(require("react"));var st={xs:"(min-width: 520px)",sm:"(min-width: 768px)",md:"(min-width: 1024px)",lg:"(min-width: 1280px)",xl:"(min-width: 1640px)"},Se=["initial","xs","sm","md","lg","xl"];var rn=Object.entries(st),Le=null,de=new Set,oe=null;function Me(){return Le??(Le=rn.map(([e,t])=>[e,window.matchMedia(t)])),Le}function Re(){let e="initial";for(let[t,n]of Me())n.matches&&(e=t);return e}function ve(){let e=Re();e!==oe&&(oe=e,de.forEach(t=>t()))}function it(e){if(typeof window>"u")return()=>{};if(de.size===0){oe=Re();for(let[,t]of Me())typeof t.addEventListener=="function"?t.addEventListener("change",ve):t.addListener?.(ve)}return de.add(e),()=>{if(de.delete(e),!(de.size>0)){for(let[,t]of Me())try{typeof t.removeEventListener=="function"?t.removeEventListener("change",ve):t.removeListener?.(ve)}catch{}oe=null}}}function on(){return typeof window>"u"?"initial":(oe??(oe=Re()),oe)}function sn(){return"initial"}function pe(){return typeof window>"u"?"initial":Re()}var an=()=>!0,ln=()=>!1,at=()=>()=>{},un=()=>"initial";function lt(e=!0){let t=ce.useSyncExternalStore(e?it:at,e?on:un,sn),n=ce.useSyncExternalStore(e?it:at,an,ln);return ce.useMemo(()=>({breakpoint:t,ready:n}),[t,n])}var Z=A(require("react")),dt=require("radix-ui/internal");function ut(e){return typeof e=="object"&&e!==null}function fe(e,t){let n={},r=null;for(let o of Se){if(e!==void 0&&!ut(e)){n[o]=e;continue}let i=ut(e)?e[o]:void 0;i!==void 0&&(r={value:i}),n[o]=r?r.value:t(o)}return n}function ae(e){let t=e.initial;return Se.every(n=>e[n]===t)?t:void 0}function Ae(e,t){let n=ae(t);if(n!==void 0)return{[`data-${e}`]:n};let r={};for(let o of Se)r[`data-${e}-${o}`]=t[o];return r}function Be(e){return typeof e=="object"&&e!==null?JSON.stringify(e):String(e)}var Un=fe("fixed",()=>"fixed");function He(e){e.version+=1;for(let t of e.listeners)t()}function dn(e,t){return e.listeners.add(t),()=>{e.listeners.delete(t)}}var cn=Z.createContext(null);function ct(e){let t=Z.useContext(cn);if(!t)throw new Error(`${e} must be used within <Shell.Root>`);return t}function pt(e,t){let n=Z.useCallback(r=>dn(e,r),[e]);return Z.useSyncExternalStore(n,()=>e.peek===t,()=>!1)}var pn=Z.createContext(null);function ft(e,t){let n=Z.useContext(pn);if(!n)throw new Error("Shell panes must be used within <Shell.Root>");let{registerInset:r,unregisterInset:o}=n;(0,dt.useLayoutEffect)(()=>{if(t)return r(e),()=>o(e)},[e,t,r,o])}var Oe=e=>typeof e=="object"&&e!==null;function mn(e){for(let t of["initial","xs","sm","md","lg","xl"]){let n=e[t];if(n!==void 0)return n}return"closed"}function mt(e){let{name:t,label:n,propNames:r,presentationTable:o,builtIn:i}=e,s=ct(`Shell.${n}`),c=E.useId(),l=e.id??`shell-${t}${c}`,a=e.controlled!==void 0,u=Oe(e.controlled);u&&(`${n}${r.controlled}${r.default}`,void 0);let g=u?e.controlled:void 0,m=g??(Oe(e.defaultValue)?e.defaultValue:void 0),N=Be(m),[j,B]=E.useState(()=>typeof e.defaultValue=="string"?e.defaultValue:"auto"),z=E.useMemo(()=>g?fe(g,()=>mn(g)):fe(m,f=>i(o[f])),[N,u,o,i]),x=j;a&&(x=g?"auto":e.controlled);let D=ae(o)===void 0||x==="auto"&&ae(z)===void 0,{breakpoint:F,ready:W}=lt(D),ee=f=>{let q=ae(f);return q!==void 0?q:W?f[F]:void 0},H=x==="auto"?ee(z):x,I=ee(o),Q=I==="overlay",k=H===void 0?void 0:H!=="closed",p=k===!0&&Q,P=e.defaultValue,w=E.useRef({state:x,value:H,autoTable:z,defaultValue:P,controlled:a,onChange:e.onChange,toggleNext:e.toggleNext});(0,me.useLayoutEffect)(()=>{w.current={state:x,value:H,autoTable:z,defaultValue:P,controlled:a,onChange:e.onChange,toggleNext:e.toggleNext}});let C=E.useCallback(()=>{let f=w.current;return f.value!==void 0?f.value:f.state==="auto"?f.autoTable[pe()]:void 0},[]),U=E.useCallback(()=>{let f=w.current;return typeof f.defaultValue=="string"?f.defaultValue:Oe(f.defaultValue)?f.autoTable[pe()]:void 0},[]),d=E.useCallback((f,q)=>{let _=w.current;C()!==f&&(_.onChange?.(f,q),_.controlled||B(f))},[C]),h=E.useCallback(f=>{let q=w.current,_=C()??"closed",X=q.toggleNext?q.toggleNext(_,U()):_==="closed"?"open":"closed";d(X,f)},[d,C,U]),b=E.useRef(null),v=E.useCallback(f=>{b.current=f},[]);(0,me.useLayoutEffect)(()=>{let f={name:t,id:l,el:b.current,value:H,presentation:I,presentationTable:o,overlayLive:p,size:e.size,setValue:d,toggle:h};return s.entries.set(t,f),He(s),()=>{s.entries.get(t)===f&&(s.entries.delete(t),He(s))}},[s,t,l,H,I,o,p,e.size,d,h]);let O=E.useRef({onExpand:e.onExpand,onCollapse:e.onCollapse});(0,me.useLayoutEffect)(()=>{O.current={onExpand:e.onExpand,onCollapse:e.onCollapse}});let M=E.useRef({state:x,shown:k});E.useEffect(()=>{let f=M.current;f.state!==x&&f.shown!==void 0&&k!==void 0&&f.shown!==k&&(k?O.current.onExpand?.():O.current.onCollapse?.()),M.current={state:x,shown:k}},[x,k]),(0,me.useLayoutEffect)(()=>{},[]);let S=E.useRef(a);E.useEffect(()=>{},[a,n,r.controlled]);let Y=pt(s,t)&&k===!1&&!Q;return{store:s,id:l,state:x,value:H,shown:k,presentation:I,overlaying:Q,overlayLive:p,peeking:Y,ready:W,breakpoint:F,autoTable:z,setValue:d,toggle:h,defaultHereNow:U,setElement:v}}function Pt(e,t){let{state:n,value:r,presentation:o,shown:i}=e;return{...t,"data-state":n,...n==="auto"?Ae("auto",e.autoTable):{},"data-presentation":o,"data-mode":r===void 0?void 0:r==="closed"?"collapsed":"expanded","data-open":o==="stacked"&&i?"":void 0,"data-peek":e.peeking?"":void 0}}function yt(e,t){let n=Be(e),r=E.useMemo(()=>fe(e,()=>t),[n,t]),o=E.useMemo(()=>ae(r)===void 0?Ae("presentation",r):{},[r]);return{table:r,attributes:o}}var R=A(require("react")),le=require("radix-ui/internal");function ht(e,t="horizontal"){if(e==null)return;if(typeof e=="number"&&Number.isFinite(e))return e;let n=String(e).trim();if(!n)return;if(n.endsWith("px"))return Number.parseFloat(n);if(n.endsWith("rem")){let o=Number.parseFloat(getComputedStyle(document.documentElement).fontSize||"16")||16;return Number.parseFloat(n)*o}if(n.endsWith("%")){let o=Number.parseFloat(n),i=t==="horizontal"?document.documentElement.clientWidth||window.innerWidth||0:document.documentElement.clientHeight||window.innerHeight||0;return o/100*i}let r=Number.parseFloat(n);return Number.isFinite(r)?r:void 0}var Ie=(e,t,n)=>Math.max(t??e,Math.min(n??e,e));function gt(e){let{name:t,elementRef:n,cssVarName:r,orientation:o,minSize:i,maxSize:s,resizable:c,size:l,defaultSize:a,paneId:u,persistence:g}=e,m=R.useRef(e);(0,le.useLayoutEffect)(()=>{m.current=e});let N=R.useRef(null),j=R.useRef(0);R.useEffect(()=>()=>{N.current&&clearTimeout(N.current)},[]);let B=R.useCallback((p,P)=>{let{onSizeChange:w,sizeUpdate:C,sizeUpdateMs:U}=m.current;if(w){if(C==="debounce"){N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{N.current=null,m.current.onSizeChange?.(p,P)},U);return}if(C==="throttle"){let d=Date.now();if(d-j.current<U)return;j.current=d}w(p,P)}},[]),z=R.useCallback(p=>ht(p,o==="vertical"?"horizontal":"vertical"),[o]),x=R.useRef(!1),D=R.useCallback((p,P)=>{let w=n.current;if(w){w.style.setProperty(r,`${p}px`);for(let C of w.querySelectorAll(":scope > .kui-ShellResizer"))C.setAttribute("aria-valuenow",String(Math.round(p)));P&&(x.current=!0)}},[n,r]);(0,le.useLayoutEffect)(()=>{x.current||D(e.expandedSize,!1)},[e.expandedSize,D]),(0,le.useLayoutEffect)(()=>{if(l!==void 0||a===void 0)return;let p=z(a);if(typeof p!="number"||!Number.isFinite(p))return;let P=Ie(p,i,s);D(P,!0),B(P,{reason:"init"})},[]),(0,le.useLayoutEffect)(()=>{if(l===void 0||m.current.overlayingNow())return;let p=z(l);if(typeof p!="number"||!Number.isFinite(p))return;let P=Ie(p,i,s);D(P,!0),B(P,{reason:"controlled"})},[l,i,s,e.overlaying,z,D,B]);let F=g!==void 0,W=R.useMemo(()=>{if(F)return{load:()=>m.current.persistence?.load?.(),save:P=>m.current.persistence?.save?.(P)};if(!u)return;let p=`kookie-ui:shell:${t}:${u}`;return{load:()=>{if(!(typeof window>"u"))try{let P=window.localStorage.getItem(p);return P?Number(P):void 0}catch{return}},save:P=>{if(!(typeof window>"u"))try{window.localStorage.setItem(p,String(P))}catch{}}}},[t,u,F]);(0,le.useLayoutEffect)(()=>{if(!c||!W?.load||m.current.overlayingNow())return;let p=!0,P=C=>{if(!p||typeof C!="number"||!Number.isFinite(C))return;let U=Ie(C,i,s);D(U,!0),m.current.onResize?.(U)},w=W.load();return w instanceof Promise?w.then(P).catch(C=>{}):P(w),()=>{p=!1}},[c,W,e.overlaying,D,i,s,t]);let ee=R.useCallback(p=>m.current.onResize?.(p),[]),H=R.useCallback(p=>{x.current=!0,m.current.onResizeStart?.(p)},[]),I=R.useCallback(p=>{m.current.onResizeEnd?.(p),B(p,{reason:"resize"}),W?.save?.(p)},[B,W]),Q=R.useCallback(()=>m.current.requestCollapse(),[]),k=R.useCallback(()=>m.current.requestToggle(),[]);return R.useMemo(()=>({containerRef:n,controls:e.elementId,cssVarName:r,minSize:i,maxSize:s,defaultSize:e.expandedSize,orientation:o,edge:e.edge,growth:e.growth,onResize:ee,onResizeStart:H,onResizeEnd:I,target:t,collapsible:e.collapsible,snapPoints:e.snapPoints,snapTolerance:e.snapTolerance??8,collapseThreshold:e.collapseThreshold,requestCollapse:Q,requestToggle:k}),[n,e.elementId,r,i,s,e.expandedSize,o,e.edge,e.growth,ee,H,I,t,e.collapsible,e.snapPoints,e.snapTolerance,e.collapseThreshold,Q,k])}function bt(e,t){let n=R.Children.toArray(e),r=n.filter(i=>R.isValidElement(i)&&i.type===t),o=n.filter(i=>!(R.isValidElement(i)&&i.type===t));return{handles:r,content:o}}var St=e=>e==="overlay"?"closed":"open";var vt=e=>e?-1:1;function Rt(e){if(!("height"in e)&&!("resizer"in e))return e;let{height:t,resizer:n,...r}=e;return r}var y=A(require("react")),Pe=A(require("classnames"));var L=A(require("react")),Bt=A(require("classnames")),te=require("radix-ui"),Ht=require("radix-ui/internal");var xt={asChild:{type:"boolean"}};var Pn=["none","small","medium","large","full"],Ct={radius:{type:"enum",values:Pn,default:void 0}};var yn=["vertical","horizontal","both"],xe={...xt,...Ct,scrollbars:{type:"enum",values:yn,default:"both"},fade:{type:"boolean",default:!1}};var Ce=A(require("react"));function Et(e){let[t,n]=Ce.useState(null);return Ce.useEffect(()=>{if(!e||!t)return;let r=0,o=()=>{r=0;let l=Math.max(0,t.scrollTop),a=Math.max(0,t.scrollHeight-t.clientHeight-t.scrollTop);t.style.setProperty("--scroll-overflow-start",`${l}px`),t.style.setProperty("--scroll-overflow-end",`${a}px`);let u=Math.abs(t.scrollLeft),g=Math.max(0,t.scrollWidth-t.clientWidth-u);t.style.setProperty("--scroll-overflow-x-start",`${u}px`),t.style.setProperty("--scroll-overflow-x-end",`${g}px`)},i=()=>{r||(r=requestAnimationFrame(o))};o(),t.addEventListener("scroll",i,{passive:!0});let s=typeof ResizeObserver>"u"?null:new ResizeObserver(i);s?.observe(t);for(let l of Array.from(t.children))s?.observe(l);let c=typeof MutationObserver>"u"?null:new MutationObserver(i);return c?.observe(t,{childList:!0}),()=>{r&&cancelAnimationFrame(r),t.removeEventListener("scroll",i),s?.disconnect(),c?.disconnect(),t.style.removeProperty("--scroll-overflow-start"),t.style.removeProperty("--scroll-overflow-end"),t.style.removeProperty("--scroll-overflow-x-start"),t.style.removeProperty("--scroll-overflow-x-end")}},[e,t]),n}var Ee=A(require("react"));function Tt(){let[e,t]=Ee.useState(null);return Ee.useEffect(()=>{let n=e?.parentElement;if(!e||!n)return;let r=0,o=()=>{r=0;for(let s of n.querySelectorAll(":scope > .kui-ScrollAreaScrollbar > .kui-ScrollAreaThumb")){let c=s.parentElement,l=getComputedStyle(c);if(c.dataset.orientation==="horizontal"){let a=c.clientWidth-parseFloat(l.paddingLeft)-parseFloat(l.paddingRight),u=wt(e.scrollLeft,e.scrollWidth-e.offsetWidth,a-s.offsetWidth);s.style.transform=`translate3d(${u}px, 0, 0)`}else{let a=c.clientHeight-parseFloat(l.paddingTop)-parseFloat(l.paddingBottom),u=wt(e.scrollTop,e.scrollHeight-e.offsetHeight,a-s.offsetHeight);s.style.transform=`translate3d(0, ${u}px, 0)`}}},i=()=>{r||(r=requestAnimationFrame(o))};return e.addEventListener("scroll",i,{passive:!0}),()=>{r&&cancelAnimationFrame(r),e.removeEventListener("scroll",i)}},[e]),t}function wt(e,t,n){return t<=0||n<=0?0:Math.min(Math.max(e,-t),t)/t*n}var we=A(require("react"));function zt(e,t){let{asChild:n,children:r}=e;if(!n)return typeof t=="function"?t(r):t;let o=we.Children.only(r);return we.cloneElement(o,{children:typeof t=="function"?t(o.props.children):t})}var Vt=A(require("classnames"));var hn=[],gn=new Set;function bn(e){let t=Object.assign({},...e),n=[],r=[],o=new Set;for(let i in t){let s=t[i],c=s.values??hn,l={key:i,type:s.type,default:s.default,hasDefault:s.default!==void 0,responsive:"responsive"in s,className:s.className,customProperties:s.customProperties,parseValue:s.parseValue,values:c,valueSet:c.length>0?new Set(c):gn,enumValueSet:s.type==="enum"?new Set([s.default,...c]):void 0};s.className?(n.push(l),o.add(i)):(l.hasDefault||s.type==="enum")&&r.push(l)}return{styling:n,passthrough:r,stylingKeys:o}}var Sn={children:new WeakMap};function kt(e){let t=Sn;for(let n=0;n<e.length;n++){let r=e[n],o=t.children.get(r);o===void 0&&(o={children:new WeakMap},t.children.set(r,o)),t=o}return t.compiled??(t.compiled=bn(e))}var vn=["initial","xs","sm","md","lg","xl"],$e=new Set(vn);function je(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var Rn=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(Rn.has(t))return!0;return!1}function Te(e,t,n){return t!==void 0?t.has(n):e.includes(n)}function Dt({className:e,customProperties:t,...n}){let r=Fe({allowArbitraryValues:!0,className:e,...n}),o=xn({customProperties:t,...n});return[r,o]}function Fe({allowArbitraryValues:e,value:t,className:n,propValues:r,propValueSet:o,parseValue:i=s=>s}){if(t){if(typeof t=="string")return Te(r,o,t)?Nt(n,t,i):e?n:void 0;if(se(t)){let s=t,c=[];for(let l in s){if(!je(s,l)||!$e.has(l))continue;let a=s[l];if(a!==void 0){if(Te(r,o,a)){let u=Nt(n,a,i),g=l==="initial"?u:`${l}:${u}`;c.push(g)}else if(e){let u=l==="initial"?n:`${l}:${n}`;c.push(u)}}}return c.length>0?c.join(" "):""}if(e)return n}}function Nt(e,t,n){let r=e?"-":"",o=n(t),i=o?.startsWith("-"),s=i?"-":"",c=i?o?.substring(1):o;return`${s}${e}${r}${c}`}function xn({customProperties:e,value:t,propValues:n,propValueSet:r,parseValue:o=i=>i}){if(!t||typeof t=="string"&&Te(n,r,t))return;let i;if(typeof t=="string"){let s=o(t);i={};for(let c of e)i[c]=s;return i}if(se(t)){let s=t;for(let c in s){if(!je(s,c)||!$e.has(c))continue;let l=s[c];if(l===void 0||Te(n,r,l))continue;let a=o(l);i??(i={});for(let u of e){let g=c==="initial"?u:`${u}-${c}`;i[g]=a}}}return i??{}}function We(...e){let t;for(let n of e)n&&(t===void 0&&(t={}),Object.assign(t,n));return t}function Cn(e,t){let n=e.initial,r=!1;return t.hasDefault&&n===void 0&&(n=t.default,r=!0),t.enumValueSet!==void 0&&!t.enumValueSet.has(n)&&(n=t.default,r=!0),r?{...e,initial:n}:e}function Lt(e,...t){let{styling:n,passthrough:r,stylingKeys:o}=kt(t),i={};for(let l in e)o.has(l)||(i[l]=e[l]);for(let l=0;l<r.length;l++){let a=r[l],u=i[a.key];if(u===void 0){a.hasDefault&&(i[a.key]=a.default);continue}a.enumValueSet!==void 0&&!a.enumValueSet.has(u)&&!se(u)&&(i[a.key]=a.default)}let s,c=[];for(let l=0;l<n.length;l++){let a=n[l],u=e[a.key];if(u===void 0&&a.hasDefault&&(u=a.default),a.enumValueSet!==void 0&&!a.enumValueSet.has(u)&&!se(u)&&(u=a.default),!!u){if(se(u)){if(!a.responsive)continue;u=Cn(u,a)}if(a.type==="enum"){let g=Fe({allowArbitraryValues:!1,value:u,className:a.className,propValues:a.values,propValueSet:a.valueSet,parseValue:a.parseValue});g&&c.push(g);continue}if(a.type==="string"||a.type==="enum | string"){let[g,m]=Dt({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});m&&(s=We(s,m)),g&&c.push(g);continue}if(a.type==="boolean"){c.push(a.className);continue}}}return i.className=(0,Vt.default)(c.length>0?c.join(" "):void 0,e.className),i.style=We(s,e.style),i}var Mt={width:{type:"string",className:"kui-r-w",customProperties:["--width"],responsive:!0},minWidth:{type:"string",className:"kui-r-min-w",customProperties:["--min-width"],responsive:!0},maxWidth:{type:"string",className:"kui-r-max-w",customProperties:["--max-width"],responsive:!0}};var At={height:{type:"string",className:"kui-r-h",customProperties:["--height"],responsive:!0},minHeight:{type:"string",className:"kui-r-min-h",customProperties:["--min-height"],responsive:!0},maxHeight:{type:"string",className:"kui-r-max-h",customProperties:["--max-height"],responsive:!0}};var En='[role="menu"], [role="listbox"]';function wn(e,t){L.useEffect(()=>{if(!t||!e||e.closest(En))return;let n=0,r=()=>{n=0,e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")},o=()=>{n||(n=requestAnimationFrame(r))};r();let i=typeof ResizeObserver>"u"?null:new ResizeObserver(o);i?.observe(e);for(let s of Array.from(e.children))i?.observe(s);return()=>{n&&cancelAnimationFrame(n),i?.disconnect()}},[e,t])}var ze=L.forwardRef((e,t)=>{let{asChild:n,children:r,className:o,style:i,type:s,scrollHideDelay:c=s!=="scroll"?0:void 0,dir:l,radius:a=xe.radius.default,scrollbars:u=xe.scrollbars.default,fade:g=xe.fade.default,...m}=Lt(e,Mt,At),[N,j]=L.useState(null),B=Et(g),z=Tt(),x=(0,Ht.useComposedRefs)(t,B,z,j);wn(N,m.tabIndex===void 0);let D=m["aria-label"]!==void 0||m["aria-labelledby"]!==void 0;return L.createElement(te.ScrollArea.Root,{type:s,scrollHideDelay:c,dir:l,className:(0,Bt.default)("kui-ScrollAreaRoot",o),"data-fade":g?"":void 0,style:i,asChild:n},zt({asChild:n,children:r},F=>L.createElement(L.Fragment,null,L.createElement(te.ScrollArea.Viewport,{role:D?"region":void 0,...m,ref:x,className:"kui-ScrollAreaViewport"},F),L.createElement("div",{className:"kui-ScrollAreaViewportFocusRing"}),u!=="vertical"?L.createElement(te.ScrollArea.Scrollbar,{"data-radius":a,orientation:"horizontal",className:"kui-ScrollAreaScrollbar"},L.createElement(te.ScrollArea.Thumb,{className:"kui-ScrollAreaThumb"})):null,u!=="horizontal"?L.createElement(te.ScrollArea.Scrollbar,{"data-radius":a,orientation:"vertical",className:"kui-ScrollAreaScrollbar"},L.createElement(te.ScrollArea.Thumb,{className:"kui-ScrollAreaThumb"})):null,u==="both"?L.createElement(te.ScrollArea.Corner,{className:"kui-ScrollAreaCorner"}):null)))});ze.displayName="ScrollArea";var Ot=y.createContext(null);function Ue(){return y.useContext(Ot)}var qe=y.createContext("2"),Tn=y.createContext(!1);function It({children:e,presentation:t}){let n=y.useContext(qe),r=y.useMemo(()=>({size:n,menuVariant:"soft",presentation:t}),[n,t]);return y.createElement(Ot.Provider,{value:r},e)}function Ke(){let e=Ue(),t=y.useContext(qe),n=e?.size??t,r=e?.menuVariant??"soft";return["kui-ShellPaneChrome",`kui-r-size-${n}`,`kui-menu-variant-${r}`]}var zn={1:"2",2:"3",3:"4",4:"4"},_e=y.createContext(void 0);function $t(){let e=Ue(),t=y.useContext(qe);return zn[e?.size??t]}var kn=y.forwardRef(({className:e,float:t,children:n,...r},o)=>{let i=Ke(),s=$t();return y.createElement("div",{...r,ref:o,"data-float":t||void 0,className:(0,Pe.default)("kui-ShellPaneHeader","kui-SidebarHeader","kui-SidebarHeader--container",...i,e)},y.createElement(_e.Provider,{value:s},n))});kn.displayName="Shell.PaneHeader";var Nn=y.forwardRef(({className:e,float:t,children:n,...r},o)=>{let i=Ke(),s=$t();return y.createElement("div",{...r,ref:o,"data-float":t||void 0,className:(0,Pe.default)("kui-ShellPaneFooter","kui-SidebarFooter","kui-SidebarFooter--container",...i,e)},y.createElement(_e.Provider,{value:s},n))});Nn.displayName="Shell.PaneFooter";var Dn=y.forwardRef(({className:e,style:t,dir:n,children:r,fade:o=!1,...i},s)=>{let c=Ke(),l=y.useContext(Tn),a=Ue();return l&&a===null?y.createElement(ze,{...i,ref:s,type:"hover",fade:o,className:"kui-ShellScroll"},y.createElement("div",{style:t,dir:n,className:(0,Pe.default)("kui-ShellScrollContent",e)},r)):y.createElement(ze,{...i,ref:s,type:"hover",fade:o,className:"kui-ShellScroll"},y.createElement("div",{style:t,dir:n,className:(0,Pe.default)("kui-BaseMenuContent","kui-SidebarContent",...c,e)},y.createElement(_e.Provider,{value:null},y.createElement("div",{className:"kui-BaseMenuViewport"},r))))});Dn.displayName="Shell.Scroll";var jt=e=>e==="collapsed"?"closed":"open",Vn=e=>e==="closed"?"collapsed":"expanded";function Ft(e){if(e===void 0)return;if(typeof e=="string")return jt(e);let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=jt(r));return t}var Ln={controlled:"state",default:"defaultState"},Mn={initial:"overlay",sm:"fixed"},Ge=K.forwardRef((e,t)=>{let{className:n,presentation:r=Mn,expandedSize:o=288,minSize:i=200,maxSize:s=400,resizable:c=!1,collapsible:l=!0,onExpand:a,onCollapse:u,onResize:g,onResizeStart:m,onResizeEnd:N,snapPoints:j,snapTolerance:B,collapseThreshold:z,paneId:x,persistence:D,children:F,style:W,state:ee,defaultState:H,onStateChange:I,size:Q,defaultSize:k,onSizeChange:p,sizeUpdate:P,sizeUpdateMs:w=50,inset:C,id:U,...d}=e,{table:h,attributes:b}=yt(r,"fixed"),v=mt({name:"sidebar",label:"Sidebar",propNames:Ln,id:U,controlled:Ft(ee),defaultValue:Ft(H),presentationTable:h,builtIn:St,onChange:(X,ke)=>I?.(Vn(X),{reason:ke}),onExpand:a,onCollapse:u,size:o});ft("sidebar",C),K.useEffect(()=>{(j!==void 0||z!==void 0||x!==void 0||D!==void 0)&&void 0},[j,z,x,D]);let O=K.useRef(null),M=(0,Ut.useComposedRefs)(t,v.setElement,O),S=gt({name:"sidebar",elementId:v.id,elementRef:O,cssVarName:"--sidebar-size",orientation:"vertical",edge:"end",growth:vt,expandedSize:o,minSize:i,maxSize:s,resizable:c,collapsible:l,size:Q,defaultSize:k,onSizeChange:p,sizeUpdate:P,sizeUpdateMs:w,onResize:g,onResizeStart:m,onResizeEnd:N,snapPoints:j,snapTolerance:B,collapseThreshold:z,paneId:x,persistence:D,overlaying:v.overlaying,overlayingNow:()=>h[pe()]==="overlay",requestCollapse:()=>v.setValue("closed","toggle"),requestToggle:()=>v.toggle("toggle")}),{handles:Y,content:f}=bt(F,be),q=c&&v.value!=="closed"&&!v.overlaying?K.createElement(Ve.Provider,{value:S},Y.length>0?Y:K.createElement(re,null)):null,_=v.peeking?`var(--sidebar-size, ${o}px)`:void 0;return K.createElement("div",{...Rt(d),role:d.role??"navigation",id:v.id,ref:M,className:(0,Wt.default)("kui-ShellPane","kui-ShellSidebar",n),...Pt(v,b),"data-inset":C||void 0,tabIndex:v.overlaying?-1:d.tabIndex,style:{...W,"--sidebar-expanded-size":`${o}px`,"--sidebar-min-size":`${i}px`,"--sidebar-max-size":`${s}px`,..._?{"--peek-sidebar-width":_}:{}}},K.createElement("div",{className:"kui-ShellSidebarContent"},K.createElement(It,null,f)),q)});Ge.displayName="Shell.Sidebar";Ge.Handle=be;
2
+ "use strict";"use client";var Gt=Object.create;var ye=Object.defineProperty;var Qt=Object.getOwnPropertyDescriptor;var Yt=Object.getOwnPropertyNames;var Xt=Object.getPrototypeOf,Jt=Object.prototype.hasOwnProperty;var Zt=(e,t)=>{for(var n in t)ye(e,n,{get:t[n],enumerable:!0})},nt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Yt(t))!Jt.call(e,o)&&o!==n&&ye(e,o,{get:()=>t[o],enumerable:!(r=Qt(t,o))||r.enumerable});return e};var A=(e,t,n)=>(n=e!=null?Gt(Xt(e)):{},nt(t||!e||!e.__esModule?ye(n,"default",{value:e,enumerable:!0}):n,e)),en=e=>nt(ye({},"__esModule",{value:!0}),e);var Bn={};Zt(Bn,{Sidebar:()=>Qe});module.exports=en(Bn);var K=A(require("react")),qt=A(require("classnames")),Kt=require("radix-ui/internal");var ge=A(require("react")),Me=ge.createContext(null);function rt(){let e=ge.useContext(Me);if(!e)throw new Error("Shell.Handle must be used within a resizable pane");return e}var z=A(require("react")),ot=require("radix-ui/internal"),it=A(require("classnames"));var re=z.forwardRef(({className:e,children:t,...n},r)=>{let{containerRef:o,controls:i,cssVarName:s,minSize:c,maxSize:l,defaultSize:a,orientation:u,edge:g,growth:m,onResize:N,onResizeStart:F,onResizeEnd:B,snapPoints:k,snapTolerance:x,collapseThreshold:D,collapsible:j,target:W,requestCollapse:ee,requestToggle:H}=rt(),I=z.useRef(null),_=z.useCallback(d=>{I.current=d,typeof r=="function"?r(d):r&&(r.current=d)},[r]),w=z.useRef(null);z.useEffect(()=>()=>{w.current?.(),w.current=null},[]);let p=z.useCallback(()=>{let d=o.current;if(!d)return a;let y=Number.parseFloat(getComputedStyle(d).getPropertyValue(s));return Number.isFinite(y)?y:a},[o,s,a]),P=z.useCallback(()=>{let d=o.current,y=I.current,S=d?.closest(".kui-ShellRoot")?.getBoundingClientRect();if(!d||!S||!y)return l;let R=d.getBoundingClientRect(),O=y.getBoundingClientRect(),M=m(getComputedStyle(d).direction==="rtl"),v;u==="vertical"?v=M>0?S.right-R.left:R.right-S.left:v=M>0?S.bottom-R.top:R.bottom-S.top;let X=u==="vertical"?O.width:O.height;return!(S.width>0&&S.height>0)||!Number.isFinite(v)?l:Math.max(c,Math.min(l,Math.round(v-X)))},[o,m,l,c,u]),T=()=>{I.current?.setAttribute("aria-valuemax",String(P()))};(0,ot.useLayoutEffect)(()=>{I.current?.setAttribute("aria-valuenow",String(Math.round(p())))},[p]);let C=(d,y)=>{d.style.setProperty(s,`${y}px`),I.current?.setAttribute("aria-valuenow",String(Math.round(y)))},U=W.charAt(0).toUpperCase()+W.slice(1);return z.createElement("div",{ref:_,className:(0,it.default)("kui-ShellResizer",e),"data-orientation":u,"data-edge":g,role:"separator",tabIndex:0,"aria-label":`Resize ${U} pane`,"aria-controls":i,"aria-orientation":u,"aria-valuemin":c,"aria-valuemax":l,...n,onPointerDown:d=>{n.onPointerDown?.(d);let y=o.current;if(!y||d.defaultPrevented||d.button!==0)return;d.preventDefault();let S=d.currentTarget,R=d.pointerId;w.current?.();try{S.setPointerCapture(R)}catch{}let O=getComputedStyle(y),M=Number.parseFloat(O.getPropertyValue(s)),v=Number.isFinite(M)?M:a,X=u==="vertical"?d.clientX:d.clientY,f=m(O.direction==="rtl"),q=P();S.setAttribute("aria-valuemax",String(q));let G=V=>Math.min(Math.max(V,c),q);y.setAttribute("data-resizing",""),S.setAttribute("data-dragging","");let Q=document.body,Ne=Q.style.cursor,De=Q.style.userSelect;Q.style.cursor=u==="vertical"?"col-resize":"row-resize",Q.style.userSelect="none",F?.(v);let ne=v,Ve=v,Y=0,ue=null,Ye=()=>{if(Y=0,ue===null)return;let V=ue;ue=null,N?.(V)},Xe=null,Je=!1,_t=(V,se)=>{if(V.type===se)Je=!0;else if(Je)return!1;return!0},J=V=>{if(!_t(V,"pointermove")||V===Xe)return;Xe=V;let se=u==="vertical"?V.clientX:V.clientY;Ve=v+(se-X)*f,ne=G(Ve),C(y,ne),ue=ne,Y||(Y=requestAnimationFrame(Ye))},be=()=>{Y&&cancelAnimationFrame(Y),Y=0;try{S.releasePointerCapture(R)}catch{}window.removeEventListener("pointermove",J),document.removeEventListener("pointermove",J),window.removeEventListener("mousemove",J),document.removeEventListener("mousemove",J),S.removeEventListener("pointermove",J),window.removeEventListener("pointerup",$),document.removeEventListener("pointerup",$),window.removeEventListener("mouseup",$),document.removeEventListener("mouseup",$),window.removeEventListener("pointercancel",$),document.removeEventListener("pointercancel",$),window.removeEventListener("keydown",Ze),S.removeEventListener("lostpointercapture",$),y.removeAttribute("data-resizing"),S.removeAttribute("data-dragging"),Q.style.cursor=Ne,Q.style.userSelect=De,w.current=null},Le=!1,$=()=>{if(Le)return;if(Le=!0,Y&&cancelAnimationFrame(Y),Ye(),j&&typeof D=="number"&&Ve<=D){C(y,v),N?.(v),be(),ee?.(),B?.(v);return}let V=ne;if(k&&k.length){let se=k.reduce((et,tt)=>Math.abs(tt-ne)<Math.abs(et-ne)?tt:et,k[0]);Math.abs(se-ne)<=x&&(V=G(se),C(y,V),N?.(V))}B?.(V),be()},Ze=V=>{V.key==="Escape"&&(Y&&cancelAnimationFrame(Y),Y=0,ue=null,C(y,v),N?.(v),Le=!0,B?.(v),be())};window.addEventListener("pointermove",J),document.addEventListener("pointermove",J),window.addEventListener("mousemove",J),document.addEventListener("mousemove",J),S.addEventListener("pointermove",J),window.addEventListener("pointerup",$),document.addEventListener("pointerup",$),window.addEventListener("mouseup",$),document.addEventListener("mouseup",$),window.addEventListener("pointercancel",$),document.addEventListener("pointercancel",$),window.addEventListener("keydown",Ze),S.addEventListener("lostpointercapture",$),w.current=be},onDoubleClick:d=>{n.onDoubleClick?.(d),!d.defaultPrevented&&j&&H?.()},onFocus:d=>{n.onFocus?.(d),T()},onKeyDown:d=>{n.onKeyDown?.(d);let y=o.current;if(!y||d.defaultPrevented)return;if(d.key==="Enter"){j&&H&&(d.preventDefault(),H());return}let S=p(),R=P(),O=v=>Math.min(Math.max(v,c),R),M;if(d.key==="Home")M=O(c);else if(d.key==="End")M=O(R);else{let v=u==="vertical"?d.key==="ArrowRight"?1:d.key==="ArrowLeft"?-1:0:d.key==="ArrowDown"?1:d.key==="ArrowUp"?-1:0;if(v===0)return;let X=d.shiftKey?32:8;M=O(S+v*X*m(getComputedStyle(y).direction==="rtl"))}d.preventDefault(),F?.(S),C(y,M),N?.(M),B?.(M)}},t)});re.displayName="Shell.Handle";var tn=z.forwardRef((e,t)=>z.createElement(re,{...e,ref:t}));tn.displayName="Shell.Panel.Handle";var he=z.forwardRef((e,t)=>z.createElement(re,{...e,ref:t}));he.displayName="Shell.Sidebar.Handle";var nn=z.forwardRef((e,t)=>z.createElement(re,{...e,ref:t}));nn.displayName="Shell.Inspector.Handle";var rn=z.forwardRef((e,t)=>z.createElement(re,{...e,ref:t}));rn.displayName="Shell.Bottom.Handle";var E=A(require("react")),me=require("radix-ui/internal");var ce=A(require("react"));var st={xs:"(min-width: 520px)",sm:"(min-width: 768px)",md:"(min-width: 1024px)",lg:"(min-width: 1280px)",xl:"(min-width: 1640px)"},Se=["initial","xs","sm","md","lg","xl"];var on=Object.entries(st),Ae=null,de=new Set,oe=null;function Be(){return Ae??(Ae=on.map(([e,t])=>[e,window.matchMedia(t)])),Ae}function Re(){let e="initial";for(let[t,n]of Be())n.matches&&(e=t);return e}function ve(){let e=Re();e!==oe&&(oe=e,de.forEach(t=>t()))}function at(e){if(typeof window>"u")return()=>{};if(de.size===0){oe=Re();for(let[,t]of Be())typeof t.addEventListener=="function"?t.addEventListener("change",ve):t.addListener?.(ve)}return de.add(e),()=>{if(de.delete(e),!(de.size>0)){for(let[,t]of Be())try{typeof t.removeEventListener=="function"?t.removeEventListener("change",ve):t.removeListener?.(ve)}catch{}oe=null}}}function sn(){return typeof window>"u"?"initial":(oe??(oe=Re()),oe)}function an(){return"initial"}function pe(){return typeof window>"u"?"initial":Re()}var ln=()=>!0,un=()=>!1,lt=()=>()=>{},dn=()=>"initial";function ut(e=!0){let t=ce.useSyncExternalStore(e?at:lt,e?sn:dn,an),n=ce.useSyncExternalStore(e?at:lt,ln,un);return ce.useMemo(()=>({breakpoint:t,ready:n}),[t,n])}var Z=A(require("react")),ct=require("radix-ui/internal");function dt(e){return typeof e=="object"&&e!==null}function fe(e,t){let n={},r=null;for(let o of Se){if(e!==void 0&&!dt(e)){n[o]=e;continue}let i=dt(e)?e[o]:void 0;i!==void 0&&(r={value:i}),n[o]=r?r.value:t(o)}return n}function ae(e){let t=e.initial;return Se.every(n=>e[n]===t)?t:void 0}function He(e,t){let n=ae(t);if(n!==void 0)return{[`data-${e}`]:n};let r={};for(let o of Se)r[`data-${e}-${o}`]=t[o];return r}function Oe(e){return typeof e=="object"&&e!==null?JSON.stringify(e):String(e)}var qn=fe("fixed",()=>"fixed");function Ie(e){e.version+=1;for(let t of e.listeners)t()}function cn(e,t){return e.listeners.add(t),()=>{e.listeners.delete(t)}}var pn=Z.createContext(null);function pt(e){let t=Z.useContext(pn);if(!t)throw new Error(`${e} must be used within <Shell.Root>`);return t}function ft(e,t){let n=Z.useCallback(r=>cn(e,r),[e]);return Z.useSyncExternalStore(n,()=>e.peek===t,()=>!1)}var fn=Z.createContext(null);function mt(e,t){let n=Z.useContext(fn);if(!n)throw new Error("Shell panes must be used within <Shell.Root>");let{registerInset:r,unregisterInset:o}=n;(0,ct.useLayoutEffect)(()=>{if(t)return r(e),()=>o(e)},[e,t,r,o])}var $e=e=>typeof e=="object"&&e!==null;function Pn(e){for(let t of["initial","xs","sm","md","lg","xl"]){let n=e[t];if(n!==void 0)return n}return"closed"}function Pt(e){let{name:t,label:n,propNames:r,presentationTable:o,builtIn:i}=e,s=pt(`Shell.${n}`),c=E.useId(),l=e.id??`shell-${t}${c}`,a=e.controlled!==void 0,u=$e(e.controlled);u&&(`${n}${r.controlled}${r.default}`,void 0);let g=u?e.controlled:void 0,m=g??($e(e.defaultValue)?e.defaultValue:void 0),N=Oe(m),[F,B]=E.useState(()=>typeof e.defaultValue=="string"?e.defaultValue:"auto"),k=E.useMemo(()=>g?fe(g,()=>Pn(g)):fe(m,f=>i(o[f])),[N,u,o,i]),x=F;a&&(x=g?"auto":e.controlled);let D=ae(o)===void 0||x==="auto"&&ae(k)===void 0,{breakpoint:j,ready:W}=ut(D),ee=f=>{let q=ae(f);return q!==void 0?q:W?f[j]:void 0},H=x==="auto"?ee(k):x,I=ee(o),_=I==="overlay",w=H===void 0?void 0:H!=="closed",p=w===!0&&_,P=e.defaultValue,T=E.useRef({state:x,value:H,autoTable:k,defaultValue:P,controlled:a,onChange:e.onChange,toggleNext:e.toggleNext});(0,me.useLayoutEffect)(()=>{T.current={state:x,value:H,autoTable:k,defaultValue:P,controlled:a,onChange:e.onChange,toggleNext:e.toggleNext}});let C=E.useCallback(()=>{let f=T.current;return f.value!==void 0?f.value:f.state==="auto"?f.autoTable[pe()]:void 0},[]),U=E.useCallback(()=>{let f=T.current;return typeof f.defaultValue=="string"?f.defaultValue:$e(f.defaultValue)?f.autoTable[pe()]:void 0},[]),d=E.useCallback((f,q)=>{let G=T.current;C()!==f&&(G.onChange?.(f,q),G.controlled||B(f))},[C]),y=E.useCallback(f=>{let q=T.current,G=C()??"closed",Q=q.toggleNext?q.toggleNext(G,U()):G==="closed"?"open":"closed";d(Q,f)},[d,C,U]),S=E.useRef(null),R=E.useCallback(f=>{S.current=f},[]);(0,me.useLayoutEffect)(()=>{let f={name:t,id:l,el:S.current,value:H,presentation:I,presentationTable:o,overlayLive:p,size:e.size,setValue:d,toggle:y};return s.entries.set(t,f),Ie(s),()=>{s.entries.get(t)===f&&(s.entries.delete(t),Ie(s))}},[s,t,l,H,I,o,p,e.size,d,y]);let O=E.useRef({onExpand:e.onExpand,onCollapse:e.onCollapse});(0,me.useLayoutEffect)(()=>{O.current={onExpand:e.onExpand,onCollapse:e.onCollapse}});let M=E.useRef({state:x,shown:w});E.useEffect(()=>{let f=M.current;f.state!==x&&f.shown!==void 0&&w!==void 0&&f.shown!==w&&(w?O.current.onExpand?.():O.current.onCollapse?.()),M.current={state:x,shown:w}},[x,w]),(0,me.useLayoutEffect)(()=>{},[]);let v=E.useRef(a);E.useEffect(()=>{},[a,n,r.controlled]);let X=ft(s,t)&&w===!1&&!_;return{store:s,id:l,state:x,value:H,shown:w,presentation:I,overlaying:_,overlayLive:p,peeking:X,ready:W,breakpoint:j,autoTable:k,setValue:d,toggle:y,defaultHereNow:U,setElement:R}}function bt(e,t){let{state:n,value:r,presentation:o,shown:i}=e;return{...t,"data-state":n,...n==="auto"?He("auto",e.autoTable):{},"data-presentation":o,"data-mode":r===void 0?void 0:r==="closed"?"collapsed":"expanded","data-open":o==="stacked"&&i?"":void 0,"data-peek":e.peeking?"":void 0}}function yt(e,t){let n=Oe(e),r=E.useMemo(()=>fe(e,()=>t),[n,t]),o=E.useMemo(()=>ae(r)===void 0?He("presentation",r):{},[r]);return{table:r,attributes:o}}var h=A(require("react")),le=require("radix-ui/internal");function gt(e,t="horizontal"){if(e==null)return;if(typeof e=="number"&&Number.isFinite(e))return e;let n=String(e).trim();if(!n)return;if(n.endsWith("px"))return Number.parseFloat(n);if(n.endsWith("rem")){let o=Number.parseFloat(getComputedStyle(document.documentElement).fontSize||"16")||16;return Number.parseFloat(n)*o}if(n.endsWith("%")){let o=Number.parseFloat(n),i=t==="horizontal"?document.documentElement.clientWidth||window.innerWidth||0:document.documentElement.clientHeight||window.innerHeight||0;return o/100*i}let r=Number.parseFloat(n);return Number.isFinite(r)?r:void 0}var xe=(e,t,n)=>Math.max(t??e,Math.min(n??e,e));function ht(e,t,n,r){let[o]=h.useState(()=>{let i=e??t;return typeof i=="number"&&Number.isFinite(i)?`${xe(i,n,r)}px`:void 0});return o}function St(e){let{name:t,elementRef:n,cssVarName:r,orientation:o,minSize:i,maxSize:s,resizable:c,size:l,defaultSize:a,paneId:u,persistence:g}=e,m=h.useRef(e);(0,le.useLayoutEffect)(()=>{m.current=e});let N=h.useRef(null),F=h.useRef(0);h.useEffect(()=>()=>{N.current&&clearTimeout(N.current)},[]);let B=h.useCallback((p,P)=>{let{onSizeChange:T,sizeUpdate:C,sizeUpdateMs:U}=m.current;if(T){if(C==="debounce"){N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{N.current=null,m.current.onSizeChange?.(p,P)},U);return}if(C==="throttle"){let d=Date.now();if(d-F.current<U)return;F.current=d}T(p,P)}},[]),k=h.useCallback(p=>gt(p,o==="vertical"?"horizontal":"vertical"),[o]),x=h.useRef(!1),D=h.useCallback((p,P)=>{let T=n.current;if(T){T.style.setProperty(r,`${p}px`);for(let C of T.querySelectorAll(":scope > .kui-ShellResizer"))C.setAttribute("aria-valuenow",String(Math.round(p)));P&&(x.current=!0)}},[n,r]);(0,le.useLayoutEffect)(()=>{x.current||D(e.expandedSize,!1)},[e.expandedSize,D]),(0,le.useLayoutEffect)(()=>{if(l!==void 0||a===void 0)return;let p=k(a);if(typeof p!="number"||!Number.isFinite(p))return;let P=xe(p,i,s);D(P,!0),B(P,{reason:"init"})},[]),(0,le.useLayoutEffect)(()=>{if(l===void 0||m.current.overlayingNow())return;let p=k(l);if(typeof p!="number"||!Number.isFinite(p))return;let P=xe(p,i,s);D(P,!0),B(P,{reason:"controlled"})},[l,i,s,e.overlaying,k,D,B]);let j=g!==void 0,W=h.useMemo(()=>{if(j)return{load:()=>m.current.persistence?.load?.(),save:P=>m.current.persistence?.save?.(P)};if(!u)return;let p=`kookie-ui:shell:${t}:${u}`;return{load:()=>{if(!(typeof window>"u"))try{let P=window.localStorage.getItem(p);return P?Number(P):void 0}catch{return}},save:P=>{if(!(typeof window>"u"))try{window.localStorage.setItem(p,String(P))}catch{}}}},[t,u,j]);(0,le.useLayoutEffect)(()=>{if(!c||!W?.load||m.current.overlayingNow())return;let p=!0,P=C=>{if(!p||typeof C!="number"||!Number.isFinite(C))return;let U=xe(C,i,s);D(U,!0),m.current.onResize?.(U)},T=W.load();return T instanceof Promise?T.then(P).catch(C=>{}):P(T),()=>{p=!1}},[c,W,e.overlaying,D,i,s,t]);let ee=h.useCallback(p=>m.current.onResize?.(p),[]),H=h.useCallback(p=>{x.current=!0,m.current.onResizeStart?.(p)},[]),I=h.useCallback(p=>{m.current.onResizeEnd?.(p),B(p,{reason:"resize"}),W?.save?.(p)},[B,W]),_=h.useCallback(()=>m.current.requestCollapse(),[]),w=h.useCallback(()=>m.current.requestToggle(),[]);return h.useMemo(()=>({containerRef:n,controls:e.elementId,cssVarName:r,minSize:i,maxSize:s,defaultSize:e.expandedSize,orientation:o,edge:e.edge,growth:e.growth,onResize:ee,onResizeStart:H,onResizeEnd:I,target:t,collapsible:e.collapsible,snapPoints:e.snapPoints,snapTolerance:e.snapTolerance??8,collapseThreshold:e.collapseThreshold,requestCollapse:_,requestToggle:w}),[n,e.elementId,r,i,s,e.expandedSize,o,e.edge,e.growth,ee,H,I,t,e.collapsible,e.snapPoints,e.snapTolerance,e.collapseThreshold,_,w])}function vt(e,t){let n=h.Children.toArray(e),r=n.filter(i=>h.isValidElement(i)&&i.type===t),o=n.filter(i=>!(h.isValidElement(i)&&i.type===t));return{handles:r,content:o}}var Rt=e=>e==="overlay"?"closed":"open";var xt=e=>e?-1:1;function Ct(e){if(!("height"in e)&&!("resizer"in e))return e;let{height:t,resizer:n,...r}=e;return r}var b=A(require("react")),Pe=A(require("classnames"));var L=A(require("react")),Ot=A(require("classnames")),te=require("radix-ui"),It=require("radix-ui/internal");var Et={asChild:{type:"boolean"}};var bn=["none","small","medium","large","full"],wt={radius:{type:"enum",values:bn,default:void 0}};var yn=["vertical","horizontal","both"],Ce={...Et,...wt,scrollbars:{type:"enum",values:yn,default:"both"},fade:{type:"boolean",default:!1}};var Ee=A(require("react"));function Tt(e){let[t,n]=Ee.useState(null);return Ee.useEffect(()=>{if(!e||!t)return;let r=0,o=()=>{r=0;let l=Math.max(0,t.scrollTop),a=Math.max(0,t.scrollHeight-t.clientHeight-t.scrollTop);t.style.setProperty("--scroll-overflow-start",`${l}px`),t.style.setProperty("--scroll-overflow-end",`${a}px`);let u=Math.abs(t.scrollLeft),g=Math.max(0,t.scrollWidth-t.clientWidth-u);t.style.setProperty("--scroll-overflow-x-start",`${u}px`),t.style.setProperty("--scroll-overflow-x-end",`${g}px`)},i=()=>{r||(r=requestAnimationFrame(o))};o(),t.addEventListener("scroll",i,{passive:!0});let s=typeof ResizeObserver>"u"?null:new ResizeObserver(i);s?.observe(t);for(let l of Array.from(t.children))s?.observe(l);let c=typeof MutationObserver>"u"?null:new MutationObserver(i);return c?.observe(t,{childList:!0}),()=>{r&&cancelAnimationFrame(r),t.removeEventListener("scroll",i),s?.disconnect(),c?.disconnect(),t.style.removeProperty("--scroll-overflow-start"),t.style.removeProperty("--scroll-overflow-end"),t.style.removeProperty("--scroll-overflow-x-start"),t.style.removeProperty("--scroll-overflow-x-end")}},[e,t]),n}var we=A(require("react"));function kt(){let[e,t]=we.useState(null);return we.useEffect(()=>{let n=e?.parentElement;if(!e||!n)return;let r=0,o=()=>{r=0;for(let s of n.querySelectorAll(":scope > .kui-ScrollAreaScrollbar > .kui-ScrollAreaThumb")){let c=s.parentElement,l=getComputedStyle(c);if(c.dataset.orientation==="horizontal"){let a=c.clientWidth-parseFloat(l.paddingLeft)-parseFloat(l.paddingRight),u=zt(e.scrollLeft,e.scrollWidth-e.offsetWidth,a-s.offsetWidth);s.style.transform=`translate3d(${u}px, 0, 0)`}else{let a=c.clientHeight-parseFloat(l.paddingTop)-parseFloat(l.paddingBottom),u=zt(e.scrollTop,e.scrollHeight-e.offsetHeight,a-s.offsetHeight);s.style.transform=`translate3d(0, ${u}px, 0)`}}},i=()=>{r||(r=requestAnimationFrame(o))};return e.addEventListener("scroll",i,{passive:!0}),()=>{r&&cancelAnimationFrame(r),e.removeEventListener("scroll",i)}},[e]),t}function zt(e,t,n){return t<=0||n<=0?0:Math.min(Math.max(e,-t),t)/t*n}var Te=A(require("react"));function Nt(e,t){let{asChild:n,children:r}=e;if(!n)return typeof t=="function"?t(r):t;let o=Te.Children.only(r);return Te.cloneElement(o,{children:typeof t=="function"?t(o.props.children):t})}var Mt=A(require("classnames"));var gn=[],hn=new Set;function Sn(e){let t=Object.assign({},...e),n=[],r=[],o=new Set;for(let i in t){let s=t[i],c=s.values??gn,l={key:i,type:s.type,default:s.default,hasDefault:s.default!==void 0,responsive:"responsive"in s,className:s.className,customProperties:s.customProperties,parseValue:s.parseValue,values:c,valueSet:c.length>0?new Set(c):hn,enumValueSet:s.type==="enum"?new Set([s.default,...c]):void 0};s.className?(n.push(l),o.add(i)):(l.hasDefault||s.type==="enum")&&r.push(l)}return{styling:n,passthrough:r,stylingKeys:o}}var vn={children:new WeakMap};function Dt(e){let t=vn;for(let n=0;n<e.length;n++){let r=e[n],o=t.children.get(r);o===void 0&&(o={children:new WeakMap},t.children.set(r,o)),t=o}return t.compiled??(t.compiled=Sn(e))}var Rn=["initial","xs","sm","md","lg","xl"],Fe=new Set(Rn);function je(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var xn=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(xn.has(t))return!0;return!1}function ze(e,t,n){return t!==void 0?t.has(n):e.includes(n)}function Lt({className:e,customProperties:t,...n}){let r=We({allowArbitraryValues:!0,className:e,...n}),o=Cn({customProperties:t,...n});return[r,o]}function We({allowArbitraryValues:e,value:t,className:n,propValues:r,propValueSet:o,parseValue:i=s=>s}){if(t){if(typeof t=="string")return ze(r,o,t)?Vt(n,t,i):e?n:void 0;if(ie(t)){let s=t,c=[];for(let l in s){if(!je(s,l)||!Fe.has(l))continue;let a=s[l];if(a!==void 0){if(ze(r,o,a)){let u=Vt(n,a,i),g=l==="initial"?u:`${l}:${u}`;c.push(g)}else if(e){let u=l==="initial"?n:`${l}:${n}`;c.push(u)}}}return c.length>0?c.join(" "):""}if(e)return n}}function Vt(e,t,n){let r=e?"-":"",o=n(t),i=o?.startsWith("-"),s=i?"-":"",c=i?o?.substring(1):o;return`${s}${e}${r}${c}`}function Cn({customProperties:e,value:t,propValues:n,propValueSet:r,parseValue:o=i=>i}){if(!t||typeof t=="string"&&ze(n,r,t))return;let i;if(typeof t=="string"){let s=o(t);i={};for(let c of e)i[c]=s;return i}if(ie(t)){let s=t;for(let c in s){if(!je(s,c)||!Fe.has(c))continue;let l=s[c];if(l===void 0||ze(n,r,l))continue;let a=o(l);i??(i={});for(let u of e){let g=c==="initial"?u:`${u}-${c}`;i[g]=a}}}return i??{}}function Ue(...e){let t;for(let n of e)n&&(t===void 0&&(t={}),Object.assign(t,n));return t}function En(e,t){let n=e.initial,r=!1;return t.hasDefault&&n===void 0&&(n=t.default,r=!0),t.enumValueSet!==void 0&&!t.enumValueSet.has(n)&&(n=t.default,r=!0),r?{...e,initial:n}:e}function At(e,...t){let{styling:n,passthrough:r,stylingKeys:o}=Dt(t),i={};for(let l in e)o.has(l)||(i[l]=e[l]);for(let l=0;l<r.length;l++){let a=r[l],u=i[a.key];if(u===void 0){a.hasDefault&&(i[a.key]=a.default);continue}a.enumValueSet!==void 0&&!a.enumValueSet.has(u)&&!ie(u)&&(i[a.key]=a.default)}let s,c=[];for(let l=0;l<n.length;l++){let a=n[l],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=En(u,a)}if(a.type==="enum"){let g=We({allowArbitraryValues:!1,value:u,className:a.className,propValues:a.values,propValueSet:a.valueSet,parseValue:a.parseValue});g&&c.push(g);continue}if(a.type==="string"||a.type==="enum | string"){let[g,m]=Lt({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});m&&(s=Ue(s,m)),g&&c.push(g);continue}if(a.type==="boolean"){c.push(a.className);continue}}}return i.className=(0,Mt.default)(c.length>0?c.join(" "):void 0,e.className),i.style=Ue(s,e.style),i}var Bt={width:{type:"string",className:"kui-r-w",customProperties:["--width"],responsive:!0},minWidth:{type:"string",className:"kui-r-min-w",customProperties:["--min-width"],responsive:!0},maxWidth:{type:"string",className:"kui-r-max-w",customProperties:["--max-width"],responsive:!0}};var Ht={height:{type:"string",className:"kui-r-h",customProperties:["--height"],responsive:!0},minHeight:{type:"string",className:"kui-r-min-h",customProperties:["--min-height"],responsive:!0},maxHeight:{type:"string",className:"kui-r-max-h",customProperties:["--max-height"],responsive:!0}};var wn='[role="menu"], [role="listbox"]';function Tn(e,t){L.useEffect(()=>{if(!t||!e||e.closest(wn))return;let n=0,r=()=>{n=0,e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")},o=()=>{n||(n=requestAnimationFrame(r))};r();let i=typeof ResizeObserver>"u"?null:new ResizeObserver(o);i?.observe(e);for(let s of Array.from(e.children))i?.observe(s);return()=>{n&&cancelAnimationFrame(n),i?.disconnect()}},[e,t])}var ke=L.forwardRef((e,t)=>{let{asChild:n,children:r,className:o,style:i,type:s,scrollHideDelay:c=s!=="scroll"?0:void 0,dir:l,radius:a=Ce.radius.default,scrollbars:u=Ce.scrollbars.default,fade:g=Ce.fade.default,...m}=At(e,Bt,Ht),[N,F]=L.useState(null),B=Tt(g),k=kt(),x=(0,It.useComposedRefs)(t,B,k,F);Tn(N,m.tabIndex===void 0);let D=m["aria-label"]!==void 0||m["aria-labelledby"]!==void 0;return L.createElement(te.ScrollArea.Root,{type:s,scrollHideDelay:c,dir:l,className:(0,Ot.default)("kui-ScrollAreaRoot",o),"data-fade":g?"":void 0,style:i,asChild:n},Nt({asChild:n,children:r},j=>L.createElement(L.Fragment,null,L.createElement(te.ScrollArea.Viewport,{role:D?"region":void 0,...m,ref:x,className:"kui-ScrollAreaViewport"},j),L.createElement("div",{className:"kui-ScrollAreaViewportFocusRing"}),u!=="vertical"?L.createElement(te.ScrollArea.Scrollbar,{"data-radius":a,orientation:"horizontal",className:"kui-ScrollAreaScrollbar"},L.createElement(te.ScrollArea.Thumb,{className:"kui-ScrollAreaThumb"})):null,u!=="horizontal"?L.createElement(te.ScrollArea.Scrollbar,{"data-radius":a,orientation:"vertical",className:"kui-ScrollAreaScrollbar"},L.createElement(te.ScrollArea.Thumb,{className:"kui-ScrollAreaThumb"})):null,u==="both"?L.createElement(te.ScrollArea.Corner,{className:"kui-ScrollAreaCorner"}):null)))});ke.displayName="ScrollArea";var $t=b.createContext(null);function qe(){return b.useContext($t)}var Ke=b.createContext("2"),zn=b.createContext(!1);function Ft({children:e,presentation:t}){let n=b.useContext(Ke),r=b.useMemo(()=>({size:n,menuVariant:"soft",presentation:t}),[n,t]);return b.createElement($t.Provider,{value:r},e)}function _e(){let e=qe(),t=b.useContext(Ke),n=e?.size??t,r=e?.menuVariant??"soft";return["kui-ShellPaneChrome",`kui-r-size-${n}`,`kui-menu-variant-${r}`]}var kn={1:"2",2:"3",3:"4",4:"4"},Ge=b.createContext(void 0);function jt(){let e=qe(),t=b.useContext(Ke);return kn[e?.size??t]}var Nn=b.forwardRef(({className:e,float:t,children:n,...r},o)=>{let i=_e(),s=jt();return b.createElement("div",{...r,ref:o,"data-float":t||void 0,className:(0,Pe.default)("kui-ShellPaneHeader","kui-SidebarHeader","kui-SidebarHeader--container",...i,e)},b.createElement(Ge.Provider,{value:s},n))});Nn.displayName="Shell.PaneHeader";var Dn=b.forwardRef(({className:e,float:t,children:n,...r},o)=>{let i=_e(),s=jt();return b.createElement("div",{...r,ref:o,"data-float":t||void 0,className:(0,Pe.default)("kui-ShellPaneFooter","kui-SidebarFooter","kui-SidebarFooter--container",...i,e)},b.createElement(Ge.Provider,{value:s},n))});Dn.displayName="Shell.PaneFooter";var Vn=b.forwardRef(({className:e,style:t,dir:n,children:r,fade:o=!1,...i},s)=>{let c=_e(),l=b.useContext(zn),a=qe();return l&&a===null?b.createElement(ke,{...i,ref:s,type:"hover",fade:o,className:"kui-ShellScroll"},b.createElement("div",{style:t,dir:n,className:(0,Pe.default)("kui-ShellScrollContent",e)},r)):b.createElement(ke,{...i,ref:s,type:"hover",fade:o,className:"kui-ShellScroll"},b.createElement("div",{style:t,dir:n,className:(0,Pe.default)("kui-BaseMenuContent","kui-SidebarContent",...c,e)},b.createElement(Ge.Provider,{value:null},b.createElement("div",{className:"kui-BaseMenuViewport"},r))))});Vn.displayName="Shell.Scroll";var Wt=e=>e==="collapsed"?"closed":"open",Ln=e=>e==="closed"?"collapsed":"expanded";function Ut(e){if(e===void 0)return;if(typeof e=="string")return Wt(e);let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=Wt(r));return t}var Mn={controlled:"state",default:"defaultState"},An={initial:"overlay",sm:"fixed"},Qe=K.forwardRef((e,t)=>{let{className:n,presentation:r=An,expandedSize:o=288,minSize:i=200,maxSize:s=400,resizable:c=!1,collapsible:l=!0,onExpand:a,onCollapse:u,onResize:g,onResizeStart:m,onResizeEnd:N,snapPoints:F,snapTolerance:B,collapseThreshold:k,paneId:x,persistence:D,children:j,style:W,state:ee,defaultState:H,onStateChange:I,size:_,defaultSize:w,onSizeChange:p,sizeUpdate:P,sizeUpdateMs:T=50,inset:C,id:U,...d}=e,{table:y,attributes:S}=yt(r,"fixed"),R=Pt({name:"sidebar",label:"Sidebar",propNames:Mn,id:U,controlled:Ut(ee),defaultValue:Ut(H),presentationTable:y,builtIn:Rt,onChange:(Ne,De)=>I?.(Ln(Ne),{reason:De}),onExpand:a,onCollapse:u,size:o});mt("sidebar",C),K.useEffect(()=>{(F!==void 0||k!==void 0||x!==void 0||D!==void 0)&&void 0},[F,k,x,D]);let O=K.useRef(null),M=(0,Kt.useComposedRefs)(t,R.setElement,O),v=St({name:"sidebar",elementId:R.id,elementRef:O,cssVarName:"--sidebar-size",orientation:"vertical",edge:"end",growth:xt,expandedSize:o,minSize:i,maxSize:s,resizable:c,collapsible:l,size:_,defaultSize:w,onSizeChange:p,sizeUpdate:P,sizeUpdateMs:T,onResize:g,onResizeStart:m,onResizeEnd:N,snapPoints:F,snapTolerance:B,collapseThreshold:k,paneId:x,persistence:D,overlaying:R.overlaying,overlayingNow:()=>y[pe()]==="overlay",requestCollapse:()=>R.setValue("closed","toggle"),requestToggle:()=>R.toggle("toggle")}),{handles:X,content:f}=vt(j,he),q=c&&R.value!=="closed"&&!R.overlaying?K.createElement(Me.Provider,{value:v},X.length>0?X:K.createElement(re,null)):null,G=R.peeking?`var(--sidebar-size, ${o}px)`:void 0,Q=ht(_,w,i,s);return K.createElement("div",{...Ct(d),role:d.role??"navigation",id:R.id,ref:M,className:(0,qt.default)("kui-ShellPane","kui-ShellSidebar",n),...bt(R,S),"data-inset":C||void 0,tabIndex:R.overlaying?-1:d.tabIndex,style:{...W,"--sidebar-expanded-size":`${o}px`,...Q?{"--sidebar-size":Q}:{},"--sidebar-min-size":`${i}px`,"--sidebar-max-size":`${s}px`,...G?{"--peek-sidebar-width":G}:{}}},K.createElement("div",{className:"kui-ShellSidebarContent"},K.createElement(Ft,null,f)),q)});Qe.displayName="Shell.Sidebar";Qe.Handle=he;
3
3
  //# sourceMappingURL=shell-sidebar.js.map