@tribepad/themis 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (654) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/LICENSE +21 -0
  3. package/README.md +114 -0
  4. package/dist/Carousel-NTZX5TOW.js +16 -0
  5. package/dist/Carousel-NTZX5TOW.js.map +1 -0
  6. package/dist/Carousel-YH3DOQJU.mjs +7 -0
  7. package/dist/Carousel-YH3DOQJU.mjs.map +1 -0
  8. package/dist/chunk-2HIUTHMU.mjs +234 -0
  9. package/dist/chunk-2HIUTHMU.mjs.map +1 -0
  10. package/dist/chunk-34GTFTDO.js +431 -0
  11. package/dist/chunk-34GTFTDO.js.map +1 -0
  12. package/dist/chunk-3H7ASYR7.js +250 -0
  13. package/dist/chunk-3H7ASYR7.js.map +1 -0
  14. package/dist/chunk-3IEN7JOP.js +316 -0
  15. package/dist/chunk-3IEN7JOP.js.map +1 -0
  16. package/dist/chunk-3JHN4GAL.js +326 -0
  17. package/dist/chunk-3JHN4GAL.js.map +1 -0
  18. package/dist/chunk-3MJPASQU.js +232 -0
  19. package/dist/chunk-3MJPASQU.js.map +1 -0
  20. package/dist/chunk-3XD2JUL3.js +572 -0
  21. package/dist/chunk-3XD2JUL3.js.map +1 -0
  22. package/dist/chunk-3YOY2VJ6.js +189 -0
  23. package/dist/chunk-3YOY2VJ6.js.map +1 -0
  24. package/dist/chunk-4DU5JSXB.js +408 -0
  25. package/dist/chunk-4DU5JSXB.js.map +1 -0
  26. package/dist/chunk-4E4E2GSS.js +352 -0
  27. package/dist/chunk-4E4E2GSS.js.map +1 -0
  28. package/dist/chunk-4NHAP4AN.mjs +3 -0
  29. package/dist/chunk-4NHAP4AN.mjs.map +1 -0
  30. package/dist/chunk-4S33J5NY.mjs +415 -0
  31. package/dist/chunk-4S33J5NY.mjs.map +1 -0
  32. package/dist/chunk-5SMGRT3G.mjs +354 -0
  33. package/dist/chunk-5SMGRT3G.mjs.map +1 -0
  34. package/dist/chunk-5SVLJN2C.mjs +22 -0
  35. package/dist/chunk-5SVLJN2C.mjs.map +1 -0
  36. package/dist/chunk-66WTU4EB.mjs +299 -0
  37. package/dist/chunk-66WTU4EB.mjs.map +1 -0
  38. package/dist/chunk-6S25NMOT.mjs +335 -0
  39. package/dist/chunk-6S25NMOT.mjs.map +1 -0
  40. package/dist/chunk-6SP7UB3D.js +4 -0
  41. package/dist/chunk-6SP7UB3D.js.map +1 -0
  42. package/dist/chunk-6TYWWQHM.mjs +565 -0
  43. package/dist/chunk-6TYWWQHM.mjs.map +1 -0
  44. package/dist/chunk-A3YUJA6W.mjs +384 -0
  45. package/dist/chunk-A3YUJA6W.mjs.map +1 -0
  46. package/dist/chunk-A6KEDVUR.js +61 -0
  47. package/dist/chunk-A6KEDVUR.js.map +1 -0
  48. package/dist/chunk-A77RUEWL.js +730 -0
  49. package/dist/chunk-A77RUEWL.js.map +1 -0
  50. package/dist/chunk-AA4IKMPE.mjs +3 -0
  51. package/dist/chunk-AA4IKMPE.mjs.map +1 -0
  52. package/dist/chunk-AKIA6GW6.mjs +163 -0
  53. package/dist/chunk-AKIA6GW6.mjs.map +1 -0
  54. package/dist/chunk-AL6P275L.mjs +435 -0
  55. package/dist/chunk-AL6P275L.mjs.map +1 -0
  56. package/dist/chunk-AZ3RJYTB.js +37 -0
  57. package/dist/chunk-AZ3RJYTB.js.map +1 -0
  58. package/dist/chunk-B5Q4UPL6.js +32 -0
  59. package/dist/chunk-B5Q4UPL6.js.map +1 -0
  60. package/dist/chunk-B6DHPMDP.mjs +335 -0
  61. package/dist/chunk-B6DHPMDP.mjs.map +1 -0
  62. package/dist/chunk-BDXKKMBZ.mjs +184 -0
  63. package/dist/chunk-BDXKKMBZ.mjs.map +1 -0
  64. package/dist/chunk-BL6E2DLZ.mjs +52 -0
  65. package/dist/chunk-BL6E2DLZ.mjs.map +1 -0
  66. package/dist/chunk-CGFDS4XS.mjs +121 -0
  67. package/dist/chunk-CGFDS4XS.mjs.map +1 -0
  68. package/dist/chunk-CJIW5TKI.js +139 -0
  69. package/dist/chunk-CJIW5TKI.js.map +1 -0
  70. package/dist/chunk-CKNISJOQ.js +314 -0
  71. package/dist/chunk-CKNISJOQ.js.map +1 -0
  72. package/dist/chunk-D6CBOECS.mjs +1757 -0
  73. package/dist/chunk-D6CBOECS.mjs.map +1 -0
  74. package/dist/chunk-DDWEVC2S.js +166 -0
  75. package/dist/chunk-DDWEVC2S.js.map +1 -0
  76. package/dist/chunk-DZ556D2F.mjs +176 -0
  77. package/dist/chunk-DZ556D2F.mjs.map +1 -0
  78. package/dist/chunk-E2KQFV3O.mjs +10 -0
  79. package/dist/chunk-E2KQFV3O.mjs.map +1 -0
  80. package/dist/chunk-EMMLADSC.js +126 -0
  81. package/dist/chunk-EMMLADSC.js.map +1 -0
  82. package/dist/chunk-EP4WOI5D.mjs +926 -0
  83. package/dist/chunk-EP4WOI5D.mjs.map +1 -0
  84. package/dist/chunk-FJRXLJC2.mjs +160 -0
  85. package/dist/chunk-FJRXLJC2.mjs.map +1 -0
  86. package/dist/chunk-FKQI434R.js +345 -0
  87. package/dist/chunk-FKQI434R.js.map +1 -0
  88. package/dist/chunk-FPKEAJRZ.mjs +100 -0
  89. package/dist/chunk-FPKEAJRZ.mjs.map +1 -0
  90. package/dist/chunk-FWQYB22U.js +183 -0
  91. package/dist/chunk-FWQYB22U.js.map +1 -0
  92. package/dist/chunk-GD5GHTMA.js +189 -0
  93. package/dist/chunk-GD5GHTMA.js.map +1 -0
  94. package/dist/chunk-GE5XTSDZ.js +447 -0
  95. package/dist/chunk-GE5XTSDZ.js.map +1 -0
  96. package/dist/chunk-GVE47ZAX.mjs +32 -0
  97. package/dist/chunk-GVE47ZAX.mjs.map +1 -0
  98. package/dist/chunk-HK46BT5U.mjs +18 -0
  99. package/dist/chunk-HK46BT5U.mjs.map +1 -0
  100. package/dist/chunk-HQVRMR6N.js +365 -0
  101. package/dist/chunk-HQVRMR6N.js.map +1 -0
  102. package/dist/chunk-HSGBJPJO.mjs +398 -0
  103. package/dist/chunk-HSGBJPJO.mjs.map +1 -0
  104. package/dist/chunk-I3AUTOMZ.mjs +125 -0
  105. package/dist/chunk-I3AUTOMZ.mjs.map +1 -0
  106. package/dist/chunk-IEI5LD5C.mjs +1161 -0
  107. package/dist/chunk-IEI5LD5C.mjs.map +1 -0
  108. package/dist/chunk-IIPTC2X7.mjs +118 -0
  109. package/dist/chunk-IIPTC2X7.mjs.map +1 -0
  110. package/dist/chunk-J7TLHF2Q.js +4 -0
  111. package/dist/chunk-J7TLHF2Q.js.map +1 -0
  112. package/dist/chunk-JJOWXFXQ.mjs +765 -0
  113. package/dist/chunk-JJOWXFXQ.mjs.map +1 -0
  114. package/dist/chunk-JPTSS2OA.mjs +3 -0
  115. package/dist/chunk-JPTSS2OA.mjs.map +1 -0
  116. package/dist/chunk-KFXXRLTP.js +396 -0
  117. package/dist/chunk-KFXXRLTP.js.map +1 -0
  118. package/dist/chunk-KPRRBSG6.mjs +272 -0
  119. package/dist/chunk-KPRRBSG6.mjs.map +1 -0
  120. package/dist/chunk-NFSBGRDB.mjs +57 -0
  121. package/dist/chunk-NFSBGRDB.mjs.map +1 -0
  122. package/dist/chunk-NGJVCFTM.js +219 -0
  123. package/dist/chunk-NGJVCFTM.js.map +1 -0
  124. package/dist/chunk-NSQ6MZJ6.mjs +728 -0
  125. package/dist/chunk-NSQ6MZJ6.mjs.map +1 -0
  126. package/dist/chunk-NYQYHT76.mjs +296 -0
  127. package/dist/chunk-NYQYHT76.mjs.map +1 -0
  128. package/dist/chunk-OLJJGI5B.js +1193 -0
  129. package/dist/chunk-OLJJGI5B.js.map +1 -0
  130. package/dist/chunk-Q3572X2J.js +292 -0
  131. package/dist/chunk-Q3572X2J.js.map +1 -0
  132. package/dist/chunk-QH7N7D4I.mjs +210 -0
  133. package/dist/chunk-QH7N7D4I.mjs.map +1 -0
  134. package/dist/chunk-R7XUIV25.js +466 -0
  135. package/dist/chunk-R7XUIV25.js.map +1 -0
  136. package/dist/chunk-RFFO4KPM.js +135 -0
  137. package/dist/chunk-RFFO4KPM.js.map +1 -0
  138. package/dist/chunk-RFX7QKA7.mjs +180 -0
  139. package/dist/chunk-RFX7QKA7.mjs.map +1 -0
  140. package/dist/chunk-SN5LFAP3.js +940 -0
  141. package/dist/chunk-SN5LFAP3.js.map +1 -0
  142. package/dist/chunk-T4COXKQ3.js +24 -0
  143. package/dist/chunk-T4COXKQ3.js.map +1 -0
  144. package/dist/chunk-TS54QM27.js +125 -0
  145. package/dist/chunk-TS54QM27.js.map +1 -0
  146. package/dist/chunk-UE2S4PCX.mjs +220 -0
  147. package/dist/chunk-UE2S4PCX.mjs.map +1 -0
  148. package/dist/chunk-UTW3QX2A.mjs +282 -0
  149. package/dist/chunk-UTW3QX2A.mjs.map +1 -0
  150. package/dist/chunk-V74LGMAE.js +1767 -0
  151. package/dist/chunk-V74LGMAE.js.map +1 -0
  152. package/dist/chunk-VIREG536.js +12 -0
  153. package/dist/chunk-VIREG536.js.map +1 -0
  154. package/dist/chunk-VY7M7346.js +4 -0
  155. package/dist/chunk-VY7M7346.js.map +1 -0
  156. package/dist/chunk-W3TJOO7H.mjs +319 -0
  157. package/dist/chunk-W3TJOO7H.mjs.map +1 -0
  158. package/dist/chunk-WIUOB36M.js +54 -0
  159. package/dist/chunk-WIUOB36M.js.map +1 -0
  160. package/dist/chunk-WJGLM4CY.js +291 -0
  161. package/dist/chunk-WJGLM4CY.js.map +1 -0
  162. package/dist/chunk-WNURH5OO.mjs +453 -0
  163. package/dist/chunk-WNURH5OO.mjs.map +1 -0
  164. package/dist/chunk-X25TNRSD.mjs +364 -0
  165. package/dist/chunk-X25TNRSD.mjs.map +1 -0
  166. package/dist/chunk-Y3GT7ETK.js +108 -0
  167. package/dist/chunk-Y3GT7ETK.js.map +1 -0
  168. package/dist/chunk-Z4FRNOF6.mjs +115 -0
  169. package/dist/chunk-Z4FRNOF6.mjs.map +1 -0
  170. package/dist/chunk-ZMYLD3BN.js +166 -0
  171. package/dist/chunk-ZMYLD3BN.js.map +1 -0
  172. package/dist/chunk-ZP2KV6EX.js +815 -0
  173. package/dist/chunk-ZP2KV6EX.js.map +1 -0
  174. package/dist/chunk-ZVKXFELU.js +366 -0
  175. package/dist/chunk-ZVKXFELU.js.map +1 -0
  176. package/dist/elements/Accordion/Accordion.d.ts +139 -0
  177. package/dist/elements/Accordion/Accordion.d.ts.map +1 -0
  178. package/dist/elements/Accordion/Accordion.types.d.ts +143 -0
  179. package/dist/elements/Accordion/Accordion.types.d.ts.map +1 -0
  180. package/dist/elements/Accordion/index.d.ts +13 -0
  181. package/dist/elements/Accordion/index.d.ts.map +1 -0
  182. package/dist/elements/Accordion/index.js +78 -0
  183. package/dist/elements/Accordion/index.js.map +1 -0
  184. package/dist/elements/Accordion/index.mjs +5 -0
  185. package/dist/elements/Accordion/index.mjs.map +1 -0
  186. package/dist/elements/Avatar/Avatar.d.ts +51 -0
  187. package/dist/elements/Avatar/Avatar.d.ts.map +1 -0
  188. package/dist/elements/Avatar/Avatar.types.d.ts +145 -0
  189. package/dist/elements/Avatar/Avatar.types.d.ts.map +1 -0
  190. package/dist/elements/Avatar/AvatarGroup.d.ts +32 -0
  191. package/dist/elements/Avatar/AvatarGroup.d.ts.map +1 -0
  192. package/dist/elements/Avatar/index.d.ts +11 -0
  193. package/dist/elements/Avatar/index.d.ts.map +1 -0
  194. package/dist/elements/Avatar/index.js +54 -0
  195. package/dist/elements/Avatar/index.js.map +1 -0
  196. package/dist/elements/Avatar/index.mjs +5 -0
  197. package/dist/elements/Avatar/index.mjs.map +1 -0
  198. package/dist/elements/Badge/Badge.d.ts +39 -0
  199. package/dist/elements/Badge/Badge.d.ts.map +1 -0
  200. package/dist/elements/Badge/Badge.types.d.ts +76 -0
  201. package/dist/elements/Badge/Badge.types.d.ts.map +1 -0
  202. package/dist/elements/Badge/index.d.ts +18 -0
  203. package/dist/elements/Badge/index.d.ts.map +1 -0
  204. package/dist/elements/Badge/index.js +43 -0
  205. package/dist/elements/Badge/index.js.map +1 -0
  206. package/dist/elements/Badge/index.mjs +6 -0
  207. package/dist/elements/Badge/index.mjs.map +1 -0
  208. package/dist/elements/Breadcrumbs/Breadcrumbs.d.ts +91 -0
  209. package/dist/elements/Breadcrumbs/Breadcrumbs.d.ts.map +1 -0
  210. package/dist/elements/Breadcrumbs/Breadcrumbs.types.d.ts +114 -0
  211. package/dist/elements/Breadcrumbs/Breadcrumbs.types.d.ts.map +1 -0
  212. package/dist/elements/Breadcrumbs/index.d.ts +14 -0
  213. package/dist/elements/Breadcrumbs/index.d.ts.map +1 -0
  214. package/dist/elements/Breadcrumbs/index.js +54 -0
  215. package/dist/elements/Breadcrumbs/index.js.map +1 -0
  216. package/dist/elements/Breadcrumbs/index.mjs +9 -0
  217. package/dist/elements/Breadcrumbs/index.mjs.map +1 -0
  218. package/dist/elements/Button/Button.d.ts +92 -0
  219. package/dist/elements/Button/Button.d.ts.map +1 -0
  220. package/dist/elements/Button/Button.types.d.ts +54 -0
  221. package/dist/elements/Button/Button.types.d.ts.map +1 -0
  222. package/dist/elements/Button/index.d.ts +18 -0
  223. package/dist/elements/Button/index.d.ts.map +1 -0
  224. package/dist/elements/Button/index.js +27 -0
  225. package/dist/elements/Button/index.js.map +1 -0
  226. package/dist/elements/Button/index.mjs +6 -0
  227. package/dist/elements/Button/index.mjs.map +1 -0
  228. package/dist/elements/ButtonGroup/ButtonGroup.d.ts +53 -0
  229. package/dist/elements/ButtonGroup/ButtonGroup.d.ts.map +1 -0
  230. package/dist/elements/ButtonGroup/ButtonGroup.types.d.ts +98 -0
  231. package/dist/elements/ButtonGroup/ButtonGroup.types.d.ts.map +1 -0
  232. package/dist/elements/ButtonGroup/ButtonGroup.utils.d.ts +60 -0
  233. package/dist/elements/ButtonGroup/ButtonGroup.utils.d.ts.map +1 -0
  234. package/dist/elements/ButtonGroup/ButtonGroup.variants.d.ts +39 -0
  235. package/dist/elements/ButtonGroup/ButtonGroup.variants.d.ts.map +1 -0
  236. package/dist/elements/ButtonGroup/ButtonGroupContext.d.ts +42 -0
  237. package/dist/elements/ButtonGroup/ButtonGroupContext.d.ts.map +1 -0
  238. package/dist/elements/ButtonGroup/index.d.ts +35 -0
  239. package/dist/elements/ButtonGroup/index.d.ts.map +1 -0
  240. package/dist/elements/ButtonGroup/index.js +66 -0
  241. package/dist/elements/ButtonGroup/index.js.map +1 -0
  242. package/dist/elements/ButtonGroup/index.mjs +5 -0
  243. package/dist/elements/ButtonGroup/index.mjs.map +1 -0
  244. package/dist/elements/Card/Card.d.ts +104 -0
  245. package/dist/elements/Card/Card.d.ts.map +1 -0
  246. package/dist/elements/Card/Card.types.d.ts +227 -0
  247. package/dist/elements/Card/Card.types.d.ts.map +1 -0
  248. package/dist/elements/Card/index.d.ts +38 -0
  249. package/dist/elements/Card/index.d.ts.map +1 -0
  250. package/dist/elements/Card/index.js +85 -0
  251. package/dist/elements/Card/index.js.map +1 -0
  252. package/dist/elements/Card/index.mjs +8 -0
  253. package/dist/elements/Card/index.mjs.map +1 -0
  254. package/dist/elements/Carousel/Carousel.d.ts +13 -0
  255. package/dist/elements/Carousel/Carousel.d.ts.map +1 -0
  256. package/dist/elements/Carousel/Carousel.types.d.ts +65 -0
  257. package/dist/elements/Carousel/Carousel.types.d.ts.map +1 -0
  258. package/dist/elements/Carousel/LazyCarousel.d.ts +46 -0
  259. package/dist/elements/Carousel/LazyCarousel.d.ts.map +1 -0
  260. package/dist/elements/Carousel/index.d.ts +5 -0
  261. package/dist/elements/Carousel/index.d.ts.map +1 -0
  262. package/dist/elements/Carousel/index.js +23 -0
  263. package/dist/elements/Carousel/index.js.map +1 -0
  264. package/dist/elements/Carousel/index.mjs +10 -0
  265. package/dist/elements/Carousel/index.mjs.map +1 -0
  266. package/dist/elements/Chart/Chart.d.ts +44 -0
  267. package/dist/elements/Chart/Chart.d.ts.map +1 -0
  268. package/dist/elements/Chart/Chart.types.d.ts +254 -0
  269. package/dist/elements/Chart/Chart.types.d.ts.map +1 -0
  270. package/dist/elements/Chart/ChartAnnouncer.d.ts +24 -0
  271. package/dist/elements/Chart/ChartAnnouncer.d.ts.map +1 -0
  272. package/dist/elements/Chart/ChartAxis.d.ts +42 -0
  273. package/dist/elements/Chart/ChartAxis.d.ts.map +1 -0
  274. package/dist/elements/Chart/ChartBarSeries.d.ts +54 -0
  275. package/dist/elements/Chart/ChartBarSeries.d.ts.map +1 -0
  276. package/dist/elements/Chart/ChartContext.d.ts +46 -0
  277. package/dist/elements/Chart/ChartContext.d.ts.map +1 -0
  278. package/dist/elements/Chart/ChartDataPoint.d.ts +56 -0
  279. package/dist/elements/Chart/ChartDataPoint.d.ts.map +1 -0
  280. package/dist/elements/Chart/ChartDataTable.d.ts +35 -0
  281. package/dist/elements/Chart/ChartDataTable.d.ts.map +1 -0
  282. package/dist/elements/Chart/ChartGrid.d.ts +32 -0
  283. package/dist/elements/Chart/ChartGrid.d.ts.map +1 -0
  284. package/dist/elements/Chart/ChartLegend.d.ts +32 -0
  285. package/dist/elements/Chart/ChartLegend.d.ts.map +1 -0
  286. package/dist/elements/Chart/ChartLineSeries.d.ts +52 -0
  287. package/dist/elements/Chart/ChartLineSeries.d.ts.map +1 -0
  288. package/dist/elements/Chart/ChartSVG.d.ts +62 -0
  289. package/dist/elements/Chart/ChartSVG.d.ts.map +1 -0
  290. package/dist/elements/Chart/ChartTooltip.d.ts +45 -0
  291. package/dist/elements/Chart/ChartTooltip.d.ts.map +1 -0
  292. package/dist/elements/Chart/chart.constants.d.ts +108 -0
  293. package/dist/elements/Chart/chart.constants.d.ts.map +1 -0
  294. package/dist/elements/Chart/chart.variants.d.ts +45 -0
  295. package/dist/elements/Chart/chart.variants.d.ts.map +1 -0
  296. package/dist/elements/Chart/index.d.ts +12 -0
  297. package/dist/elements/Chart/index.d.ts.map +1 -0
  298. package/dist/elements/Chart/index.js +47 -0
  299. package/dist/elements/Chart/index.js.map +1 -0
  300. package/dist/elements/Chart/index.mjs +6 -0
  301. package/dist/elements/Chart/index.mjs.map +1 -0
  302. package/dist/elements/Chart/useChartDimensions.d.ts +18 -0
  303. package/dist/elements/Chart/useChartDimensions.d.ts.map +1 -0
  304. package/dist/elements/Chart/useChartKeyboard.d.ts +42 -0
  305. package/dist/elements/Chart/useChartKeyboard.d.ts.map +1 -0
  306. package/dist/elements/Chart/useRovingTabIndex.d.ts +46 -0
  307. package/dist/elements/Chart/useRovingTabIndex.d.ts.map +1 -0
  308. package/dist/elements/Checkbox/Checkbox.d.ts +94 -0
  309. package/dist/elements/Checkbox/Checkbox.d.ts.map +1 -0
  310. package/dist/elements/Checkbox/Checkbox.types.d.ts +82 -0
  311. package/dist/elements/Checkbox/Checkbox.types.d.ts.map +1 -0
  312. package/dist/elements/Checkbox/index.d.ts +7 -0
  313. package/dist/elements/Checkbox/index.d.ts.map +1 -0
  314. package/dist/elements/Checkbox/index.js +47 -0
  315. package/dist/elements/Checkbox/index.js.map +1 -0
  316. package/dist/elements/Checkbox/index.mjs +6 -0
  317. package/dist/elements/Checkbox/index.mjs.map +1 -0
  318. package/dist/elements/CheckboxGroup/CheckboxGroup.d.ts +130 -0
  319. package/dist/elements/CheckboxGroup/CheckboxGroup.d.ts.map +1 -0
  320. package/dist/elements/CheckboxGroup/CheckboxGroup.types.d.ts +142 -0
  321. package/dist/elements/CheckboxGroup/CheckboxGroup.types.d.ts.map +1 -0
  322. package/dist/elements/CheckboxGroup/index.d.ts +10 -0
  323. package/dist/elements/CheckboxGroup/index.d.ts.map +1 -0
  324. package/dist/elements/CheckboxGroup/index.js +71 -0
  325. package/dist/elements/CheckboxGroup/index.js.map +1 -0
  326. package/dist/elements/CheckboxGroup/index.mjs +6 -0
  327. package/dist/elements/CheckboxGroup/index.mjs.map +1 -0
  328. package/dist/elements/DatePicker/Calendar.d.ts +16 -0
  329. package/dist/elements/DatePicker/Calendar.d.ts.map +1 -0
  330. package/dist/elements/DatePicker/DateField.d.ts +13 -0
  331. package/dist/elements/DatePicker/DateField.d.ts.map +1 -0
  332. package/dist/elements/DatePicker/DatePicker.d.ts +16 -0
  333. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -0
  334. package/dist/elements/DatePicker/DatePicker.types.d.ts +390 -0
  335. package/dist/elements/DatePicker/DatePicker.types.d.ts.map +1 -0
  336. package/dist/elements/DatePicker/DatePicker.variants.d.ts +42 -0
  337. package/dist/elements/DatePicker/DatePicker.variants.d.ts.map +1 -0
  338. package/dist/elements/DatePicker/DateRangePicker.d.ts +13 -0
  339. package/dist/elements/DatePicker/DateRangePicker.d.ts.map +1 -0
  340. package/dist/elements/DatePicker/index.d.ts +14 -0
  341. package/dist/elements/DatePicker/index.d.ts.map +1 -0
  342. package/dist/elements/DatePicker/index.js +123 -0
  343. package/dist/elements/DatePicker/index.js.map +1 -0
  344. package/dist/elements/DatePicker/index.mjs +6 -0
  345. package/dist/elements/DatePicker/index.mjs.map +1 -0
  346. package/dist/elements/Dropdown/Dropdown.d.ts +197 -0
  347. package/dist/elements/Dropdown/Dropdown.d.ts.map +1 -0
  348. package/dist/elements/Dropdown/Dropdown.types.d.ts +175 -0
  349. package/dist/elements/Dropdown/Dropdown.types.d.ts.map +1 -0
  350. package/dist/elements/Dropdown/index.d.ts +12 -0
  351. package/dist/elements/Dropdown/index.d.ts.map +1 -0
  352. package/dist/elements/Dropdown/index.js +41 -0
  353. package/dist/elements/Dropdown/index.js.map +1 -0
  354. package/dist/elements/Dropdown/index.mjs +4 -0
  355. package/dist/elements/Dropdown/index.mjs.map +1 -0
  356. package/dist/elements/FileField/FileField.d.ts +46 -0
  357. package/dist/elements/FileField/FileField.d.ts.map +1 -0
  358. package/dist/elements/FileField/FileField.types.d.ts +99 -0
  359. package/dist/elements/FileField/FileField.types.d.ts.map +1 -0
  360. package/dist/elements/FileField/FileField.variants.d.ts +49 -0
  361. package/dist/elements/FileField/FileField.variants.d.ts.map +1 -0
  362. package/dist/elements/FileField/FilePreview.d.ts +27 -0
  363. package/dist/elements/FileField/FilePreview.d.ts.map +1 -0
  364. package/dist/elements/FileField/FileProgress.d.ts +35 -0
  365. package/dist/elements/FileField/FileProgress.d.ts.map +1 -0
  366. package/dist/elements/FileField/FileProgress.variants.d.ts +55 -0
  367. package/dist/elements/FileField/FileProgress.variants.d.ts.map +1 -0
  368. package/dist/elements/FileField/index.d.ts +41 -0
  369. package/dist/elements/FileField/index.d.ts.map +1 -0
  370. package/dist/elements/FileField/index.js +138 -0
  371. package/dist/elements/FileField/index.js.map +1 -0
  372. package/dist/elements/FileField/index.mjs +9 -0
  373. package/dist/elements/FileField/index.mjs.map +1 -0
  374. package/dist/elements/FileField/useFilePreview.d.ts +46 -0
  375. package/dist/elements/FileField/useFilePreview.d.ts.map +1 -0
  376. package/dist/elements/FileField/utils.d.ts +134 -0
  377. package/dist/elements/FileField/utils.d.ts.map +1 -0
  378. package/dist/elements/FormLayout/FormLayout.d.ts +51 -0
  379. package/dist/elements/FormLayout/FormLayout.d.ts.map +1 -0
  380. package/dist/elements/FormLayout/FormLayout.types.d.ts +66 -0
  381. package/dist/elements/FormLayout/FormLayout.types.d.ts.map +1 -0
  382. package/dist/elements/FormLayout/index.d.ts +3 -0
  383. package/dist/elements/FormLayout/index.d.ts.map +1 -0
  384. package/dist/elements/FormLayout/index.js +17 -0
  385. package/dist/elements/FormLayout/index.js.map +1 -0
  386. package/dist/elements/FormLayout/index.mjs +4 -0
  387. package/dist/elements/FormLayout/index.mjs.map +1 -0
  388. package/dist/elements/Modal/Modal.d.ts +168 -0
  389. package/dist/elements/Modal/Modal.d.ts.map +1 -0
  390. package/dist/elements/Modal/Modal.types.d.ts +265 -0
  391. package/dist/elements/Modal/Modal.types.d.ts.map +1 -0
  392. package/dist/elements/Modal/index.d.ts +14 -0
  393. package/dist/elements/Modal/index.d.ts.map +1 -0
  394. package/dist/elements/Modal/index.js +52 -0
  395. package/dist/elements/Modal/index.js.map +1 -0
  396. package/dist/elements/Modal/index.mjs +3 -0
  397. package/dist/elements/Modal/index.mjs.map +1 -0
  398. package/dist/elements/NumberField/NumberField.d.ts +43 -0
  399. package/dist/elements/NumberField/NumberField.d.ts.map +1 -0
  400. package/dist/elements/NumberField/NumberField.types.d.ts +112 -0
  401. package/dist/elements/NumberField/NumberField.types.d.ts.map +1 -0
  402. package/dist/elements/NumberField/NumberField.variants.d.ts +82 -0
  403. package/dist/elements/NumberField/NumberField.variants.d.ts.map +1 -0
  404. package/dist/elements/NumberField/index.d.ts +25 -0
  405. package/dist/elements/NumberField/index.d.ts.map +1 -0
  406. package/dist/elements/NumberField/index.js +57 -0
  407. package/dist/elements/NumberField/index.js.map +1 -0
  408. package/dist/elements/NumberField/index.mjs +8 -0
  409. package/dist/elements/NumberField/index.mjs.map +1 -0
  410. package/dist/elements/OTPInput/OTPInput.d.ts +105 -0
  411. package/dist/elements/OTPInput/OTPInput.d.ts.map +1 -0
  412. package/dist/elements/OTPInput/OTPInput.styles.d.ts +83 -0
  413. package/dist/elements/OTPInput/OTPInput.styles.d.ts.map +1 -0
  414. package/dist/elements/OTPInput/OTPInput.types.d.ts +189 -0
  415. package/dist/elements/OTPInput/OTPInput.types.d.ts.map +1 -0
  416. package/dist/elements/OTPInput/components/OTPDigit.d.ts +51 -0
  417. package/dist/elements/OTPInput/components/OTPDigit.d.ts.map +1 -0
  418. package/dist/elements/OTPInput/hooks/useOTPInput.d.ts +36 -0
  419. package/dist/elements/OTPInput/hooks/useOTPInput.d.ts.map +1 -0
  420. package/dist/elements/OTPInput/hooks/useOTPKeyboard.d.ts +59 -0
  421. package/dist/elements/OTPInput/hooks/useOTPKeyboard.d.ts.map +1 -0
  422. package/dist/elements/OTPInput/index.d.ts +27 -0
  423. package/dist/elements/OTPInput/index.d.ts.map +1 -0
  424. package/dist/elements/OTPInput/index.js +13 -0
  425. package/dist/elements/OTPInput/index.js.map +1 -0
  426. package/dist/elements/OTPInput/index.mjs +4 -0
  427. package/dist/elements/OTPInput/index.mjs.map +1 -0
  428. package/dist/elements/Panel/Panel.d.ts +111 -0
  429. package/dist/elements/Panel/Panel.d.ts.map +1 -0
  430. package/dist/elements/Panel/Panel.types.d.ts +243 -0
  431. package/dist/elements/Panel/Panel.types.d.ts.map +1 -0
  432. package/dist/elements/Panel/index.d.ts +4 -0
  433. package/dist/elements/Panel/index.d.ts.map +1 -0
  434. package/dist/elements/Panel/index.js +33 -0
  435. package/dist/elements/Panel/index.js.map +1 -0
  436. package/dist/elements/Panel/index.mjs +4 -0
  437. package/dist/elements/Panel/index.mjs.map +1 -0
  438. package/dist/elements/Progress/Progress.d.ts +44 -0
  439. package/dist/elements/Progress/Progress.d.ts.map +1 -0
  440. package/dist/elements/Progress/Progress.types.d.ts +64 -0
  441. package/dist/elements/Progress/Progress.types.d.ts.map +1 -0
  442. package/dist/elements/Progress/index.d.ts +11 -0
  443. package/dist/elements/Progress/index.d.ts.map +1 -0
  444. package/dist/elements/Progress/index.js +30 -0
  445. package/dist/elements/Progress/index.js.map +1 -0
  446. package/dist/elements/Progress/index.mjs +5 -0
  447. package/dist/elements/Progress/index.mjs.map +1 -0
  448. package/dist/elements/RadioGroup/RadioGroup.d.ts +110 -0
  449. package/dist/elements/RadioGroup/RadioGroup.d.ts.map +1 -0
  450. package/dist/elements/RadioGroup/RadioGroup.types.d.ts +143 -0
  451. package/dist/elements/RadioGroup/RadioGroup.types.d.ts.map +1 -0
  452. package/dist/elements/RadioGroup/index.d.ts +10 -0
  453. package/dist/elements/RadioGroup/index.d.ts.map +1 -0
  454. package/dist/elements/RadioGroup/index.js +47 -0
  455. package/dist/elements/RadioGroup/index.js.map +1 -0
  456. package/dist/elements/RadioGroup/index.mjs +6 -0
  457. package/dist/elements/RadioGroup/index.mjs.map +1 -0
  458. package/dist/elements/Resizable/Resizable.types.d.ts +188 -0
  459. package/dist/elements/Resizable/Resizable.types.d.ts.map +1 -0
  460. package/dist/elements/Resizable/components/ResizableHandle.d.ts +28 -0
  461. package/dist/elements/Resizable/components/ResizableHandle.d.ts.map +1 -0
  462. package/dist/elements/Resizable/components/ResizablePanel.d.ts +24 -0
  463. package/dist/elements/Resizable/components/ResizablePanel.d.ts.map +1 -0
  464. package/dist/elements/Resizable/components/ResizablePanelGroup.d.ts +26 -0
  465. package/dist/elements/Resizable/components/ResizablePanelGroup.d.ts.map +1 -0
  466. package/dist/elements/Resizable/components/ResizablePopover.d.ts +45 -0
  467. package/dist/elements/Resizable/components/ResizablePopover.d.ts.map +1 -0
  468. package/dist/elements/Resizable/hooks/useResizable.d.ts +50 -0
  469. package/dist/elements/Resizable/hooks/useResizable.d.ts.map +1 -0
  470. package/dist/elements/Resizable/hooks/useResizableContext.d.ts +36 -0
  471. package/dist/elements/Resizable/hooks/useResizableContext.d.ts.map +1 -0
  472. package/dist/elements/Resizable/index.d.ts +37 -0
  473. package/dist/elements/Resizable/index.d.ts.map +1 -0
  474. package/dist/elements/Resizable/index.js +65 -0
  475. package/dist/elements/Resizable/index.js.map +1 -0
  476. package/dist/elements/Resizable/index.mjs +8 -0
  477. package/dist/elements/Resizable/index.mjs.map +1 -0
  478. package/dist/elements/Select/Select.d.ts +184 -0
  479. package/dist/elements/Select/Select.d.ts.map +1 -0
  480. package/dist/elements/Select/Select.types.d.ts +166 -0
  481. package/dist/elements/Select/Select.types.d.ts.map +1 -0
  482. package/dist/elements/Select/index.d.ts +35 -0
  483. package/dist/elements/Select/index.d.ts.map +1 -0
  484. package/dist/elements/Select/index.js +33 -0
  485. package/dist/elements/Select/index.js.map +1 -0
  486. package/dist/elements/Select/index.mjs +4 -0
  487. package/dist/elements/Select/index.mjs.map +1 -0
  488. package/dist/elements/Skeleton/Skeleton.d.ts +31 -0
  489. package/dist/elements/Skeleton/Skeleton.d.ts.map +1 -0
  490. package/dist/elements/Skeleton/Skeleton.types.d.ts +36 -0
  491. package/dist/elements/Skeleton/Skeleton.types.d.ts.map +1 -0
  492. package/dist/elements/Skeleton/index.d.ts +11 -0
  493. package/dist/elements/Skeleton/index.d.ts.map +1 -0
  494. package/dist/elements/Skeleton/index.js +22 -0
  495. package/dist/elements/Skeleton/index.js.map +1 -0
  496. package/dist/elements/Skeleton/index.mjs +5 -0
  497. package/dist/elements/Skeleton/index.mjs.map +1 -0
  498. package/dist/elements/Switch/Switch.d.ts +39 -0
  499. package/dist/elements/Switch/Switch.d.ts.map +1 -0
  500. package/dist/elements/Switch/Switch.types.d.ts +53 -0
  501. package/dist/elements/Switch/Switch.types.d.ts.map +1 -0
  502. package/dist/elements/Switch/index.d.ts +8 -0
  503. package/dist/elements/Switch/index.d.ts.map +1 -0
  504. package/dist/elements/Switch/index.js +49 -0
  505. package/dist/elements/Switch/index.js.map +1 -0
  506. package/dist/elements/Switch/index.mjs +31 -0
  507. package/dist/elements/Switch/index.mjs.map +1 -0
  508. package/dist/elements/Table/Table.d.ts +123 -0
  509. package/dist/elements/Table/Table.d.ts.map +1 -0
  510. package/dist/elements/Table/Table.types.d.ts +356 -0
  511. package/dist/elements/Table/Table.types.d.ts.map +1 -0
  512. package/dist/elements/Table/index.d.ts +5 -0
  513. package/dist/elements/Table/index.d.ts.map +1 -0
  514. package/dist/elements/Table/index.js +76 -0
  515. package/dist/elements/Table/index.js.map +1 -0
  516. package/dist/elements/Table/index.mjs +7 -0
  517. package/dist/elements/Table/index.mjs.map +1 -0
  518. package/dist/elements/Tabs/Tabs.d.ts +129 -0
  519. package/dist/elements/Tabs/Tabs.d.ts.map +1 -0
  520. package/dist/elements/Tabs/Tabs.types.d.ts +179 -0
  521. package/dist/elements/Tabs/Tabs.types.d.ts.map +1 -0
  522. package/dist/elements/Tabs/index.d.ts +12 -0
  523. package/dist/elements/Tabs/index.d.ts.map +1 -0
  524. package/dist/elements/Tabs/index.js +74 -0
  525. package/dist/elements/Tabs/index.js.map +1 -0
  526. package/dist/elements/Tabs/index.mjs +5 -0
  527. package/dist/elements/Tabs/index.mjs.map +1 -0
  528. package/dist/elements/TextField/TextField.d.ts +155 -0
  529. package/dist/elements/TextField/TextField.d.ts.map +1 -0
  530. package/dist/elements/TextField/TextField.types.d.ts +258 -0
  531. package/dist/elements/TextField/TextField.types.d.ts.map +1 -0
  532. package/dist/elements/TextField/index.css +23 -0
  533. package/dist/elements/TextField/index.css.map +1 -0
  534. package/dist/elements/TextField/index.d.ts +13 -0
  535. package/dist/elements/TextField/index.d.ts.map +1 -0
  536. package/dist/elements/TextField/index.js +260 -0
  537. package/dist/elements/TextField/index.js.map +1 -0
  538. package/dist/elements/TextField/index.mjs +207 -0
  539. package/dist/elements/TextField/index.mjs.map +1 -0
  540. package/dist/elements/TimeField/TimeField.d.ts +34 -0
  541. package/dist/elements/TimeField/TimeField.d.ts.map +1 -0
  542. package/dist/elements/TimeField/TimeField.types.d.ts +151 -0
  543. package/dist/elements/TimeField/TimeField.types.d.ts.map +1 -0
  544. package/dist/elements/TimeField/index.d.ts +24 -0
  545. package/dist/elements/TimeField/index.d.ts.map +1 -0
  546. package/dist/elements/TimeField/index.js +45 -0
  547. package/dist/elements/TimeField/index.js.map +1 -0
  548. package/dist/elements/TimeField/index.mjs +4 -0
  549. package/dist/elements/TimeField/index.mjs.map +1 -0
  550. package/dist/elements/Toast/Toast.d.ts +105 -0
  551. package/dist/elements/Toast/Toast.d.ts.map +1 -0
  552. package/dist/elements/Toast/Toast.types.d.ts +209 -0
  553. package/dist/elements/Toast/Toast.types.d.ts.map +1 -0
  554. package/dist/elements/Toast/ToastProvider.d.ts +37 -0
  555. package/dist/elements/Toast/ToastProvider.d.ts.map +1 -0
  556. package/dist/elements/Toast/Toaster.d.ts +18 -0
  557. package/dist/elements/Toast/Toaster.d.ts.map +1 -0
  558. package/dist/elements/Toast/index.d.ts +27 -0
  559. package/dist/elements/Toast/index.d.ts.map +1 -0
  560. package/dist/elements/Toast/index.js +60 -0
  561. package/dist/elements/Toast/index.js.map +1 -0
  562. package/dist/elements/Toast/index.mjs +7 -0
  563. package/dist/elements/Toast/index.mjs.map +1 -0
  564. package/dist/elements/Tooltip/Tooltip.d.ts +108 -0
  565. package/dist/elements/Tooltip/Tooltip.d.ts.map +1 -0
  566. package/dist/elements/Tooltip/Tooltip.types.d.ts +135 -0
  567. package/dist/elements/Tooltip/Tooltip.types.d.ts.map +1 -0
  568. package/dist/elements/Tooltip/index.d.ts +11 -0
  569. package/dist/elements/Tooltip/index.d.ts.map +1 -0
  570. package/dist/elements/Tooltip/index.js +59 -0
  571. package/dist/elements/Tooltip/index.js.map +1 -0
  572. package/dist/elements/Tooltip/index.mjs +6 -0
  573. package/dist/elements/Tooltip/index.mjs.map +1 -0
  574. package/dist/elements/index.css +23 -0
  575. package/dist/elements/index.css.map +1 -0
  576. package/dist/elements/index.d.ts +42 -0
  577. package/dist/elements/index.d.ts.map +1 -0
  578. package/dist/elements/index.js +839 -0
  579. package/dist/elements/index.js.map +1 -0
  580. package/dist/elements/index.mjs +42 -0
  581. package/dist/elements/index.mjs.map +1 -0
  582. package/dist/index.css +23 -0
  583. package/dist/index.css.map +1 -0
  584. package/dist/index.d.ts +4 -0
  585. package/dist/index.d.ts.map +1 -0
  586. package/dist/index.js +865 -0
  587. package/dist/index.js.map +1 -0
  588. package/dist/index.mjs +44 -0
  589. package/dist/index.mjs.map +1 -0
  590. package/dist/schemas/BaseComponentProps.d.ts +25 -0
  591. package/dist/schemas/BaseComponentProps.d.ts.map +1 -0
  592. package/dist/schemas/RegistryItem.d.ts +55 -0
  593. package/dist/schemas/RegistryItem.d.ts.map +1 -0
  594. package/dist/schemas/index.d.ts +3 -0
  595. package/dist/schemas/index.d.ts.map +1 -0
  596. package/dist/schemas/index.js +29 -0
  597. package/dist/schemas/index.js.map +1 -0
  598. package/dist/schemas/index.mjs +4 -0
  599. package/dist/schemas/index.mjs.map +1 -0
  600. package/dist/styles/defaults.css +174 -0
  601. package/dist/styles/index.d.ts +7 -0
  602. package/dist/styles/index.d.ts.map +1 -0
  603. package/dist/styles/index.js +153 -0
  604. package/dist/styles/index.js.map +1 -0
  605. package/dist/styles/index.mjs +4 -0
  606. package/dist/styles/index.mjs.map +1 -0
  607. package/dist/styles/interaction-states.d.ts +96 -0
  608. package/dist/styles/interaction-states.d.ts.map +1 -0
  609. package/dist/styles/shared-variants.d.ts +120 -0
  610. package/dist/styles/shared-variants.d.ts.map +1 -0
  611. package/dist/styles/tokens.css +89 -0
  612. package/dist/utils/cn.d.ts +13 -0
  613. package/dist/utils/cn.d.ts.map +1 -0
  614. package/dist/utils/index.d.ts +2 -0
  615. package/dist/utils/index.d.ts.map +1 -0
  616. package/dist/utils/index.js +13 -0
  617. package/dist/utils/index.js.map +1 -0
  618. package/dist/utils/index.mjs +4 -0
  619. package/dist/utils/index.mjs.map +1 -0
  620. package/package.json +228 -0
  621. package/src/elements/Accordion/Accordion.stories.tsx +793 -0
  622. package/src/elements/Avatar/Avatar.stories.tsx +408 -0
  623. package/src/elements/Badge/Badge.stories.tsx +509 -0
  624. package/src/elements/Breadcrumbs/Breadcrumbs.stories.tsx +623 -0
  625. package/src/elements/Button/Button.stories.tsx +670 -0
  626. package/src/elements/ButtonGroup/ButtonGroup.stories.tsx +658 -0
  627. package/src/elements/Card/Card.stories.tsx +570 -0
  628. package/src/elements/Carousel/Carousel.stories.tsx +597 -0
  629. package/src/elements/Chart/Chart.stories.tsx +616 -0
  630. package/src/elements/Checkbox/Checkbox.stories.tsx +514 -0
  631. package/src/elements/CheckboxGroup/CheckboxGroup.stories.tsx +1514 -0
  632. package/src/elements/DatePicker/DatePicker.stories.tsx +341 -0
  633. package/src/elements/Dropdown/Dropdown.stories.tsx +397 -0
  634. package/src/elements/FileField/FileField.stories.tsx +1021 -0
  635. package/src/elements/FileField/FileProgress.stories.tsx +359 -0
  636. package/src/elements/FormLayout/FormLayout.stories.tsx +637 -0
  637. package/src/elements/Modal/Modal.stories.tsx +640 -0
  638. package/src/elements/NumberField/NumberField.stories.tsx +678 -0
  639. package/src/elements/OTPInput/OTPInput.stories.tsx +404 -0
  640. package/src/elements/Panel/Panel.stories.tsx +769 -0
  641. package/src/elements/Progress/Progress.stories.tsx +668 -0
  642. package/src/elements/RadioGroup/RadioGroup.stories.tsx +1153 -0
  643. package/src/elements/Resizable/Resizable.stories.tsx +374 -0
  644. package/src/elements/Select/Select.stories.tsx +362 -0
  645. package/src/elements/Skeleton/Skeleton.stories.tsx +284 -0
  646. package/src/elements/Switch/Switch.stories.tsx +441 -0
  647. package/src/elements/Table/Table.stories.tsx +790 -0
  648. package/src/elements/Tabs/Tabs.stories.tsx +661 -0
  649. package/src/elements/TextField/TextField.stories.tsx +1878 -0
  650. package/src/elements/TimeField/TimeField.stories.tsx +671 -0
  651. package/src/elements/Toast/Toast.stories.tsx +971 -0
  652. package/src/elements/Tooltip/Tooltip.stories.tsx +748 -0
  653. package/tailwind.config.js +10 -0
  654. package/tailwind.config.v3.js +10 -0
@@ -0,0 +1,926 @@
1
+ import { NumberField } from './chunk-A3YUJA6W.mjs';
2
+ import { Button as Button$1 } from './chunk-BDXKKMBZ.mjs';
3
+ import { cn } from './chunk-E2KQFV3O.mjs';
4
+ import { createContext, forwardRef, useImperativeHandle, useRef, useState, useEffect, useCallback, useContext } from 'react';
5
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
+ import { z } from 'zod';
7
+ import { cva } from 'class-variance-authority';
8
+ import { X, GripVertical, GripHorizontal } from 'lucide-react';
9
+ import { DialogTrigger, Button, Popover, Dialog } from 'react-aria-components';
10
+
11
+ var ResizableContext = createContext(
12
+ null
13
+ );
14
+ ResizableContext.displayName = "ResizableContext";
15
+ function useResizableContext() {
16
+ const context = useContext(ResizableContext);
17
+ if (!context) {
18
+ throw new Error(
19
+ "useResizableContext must be used within a ResizablePanelGroup. Make sure ResizablePanel and ResizableHandle are children of ResizablePanelGroup."
20
+ );
21
+ }
22
+ return context;
23
+ }
24
+ function useResizableProvider({
25
+ direction,
26
+ groupLabel,
27
+ sizes: controlledSizes,
28
+ onSizesChange
29
+ }) {
30
+ const [internalSizes, setInternalSizes] = useState([]);
31
+ const [panels, setPanels] = useState([]);
32
+ const containerRef = useRef(null);
33
+ const liveRegionRef = useRef(null);
34
+ const announceTimeoutRef = useRef(null);
35
+ const sizesInitializedRef = useRef(false);
36
+ const isControlled = controlledSizes !== void 0;
37
+ const sizes = isControlled ? controlledSizes : internalSizes;
38
+ const setSizes = useCallback(
39
+ (newSizes) => {
40
+ if (isControlled) {
41
+ onSizesChange?.(newSizes);
42
+ } else {
43
+ setInternalSizes(newSizes);
44
+ }
45
+ },
46
+ [isControlled, onSizesChange]
47
+ );
48
+ const registerPanel = useCallback((index, info) => {
49
+ setPanels((prev) => {
50
+ const newPanels = [...prev];
51
+ newPanels[index] = info;
52
+ return newPanels;
53
+ });
54
+ }, []);
55
+ const unregisterPanel = useCallback((index) => {
56
+ setPanels((prev) => {
57
+ const newPanels = [...prev];
58
+ delete newPanels[index];
59
+ return newPanels.filter(Boolean);
60
+ });
61
+ }, []);
62
+ useEffect(() => {
63
+ if (isControlled || sizesInitializedRef.current) return;
64
+ const registeredPanels = panels.filter(Boolean);
65
+ const panelCount = registeredPanels.length;
66
+ if (panelCount < 2) return;
67
+ const needsInit = sizes.length < panelCount || sizes.some((s) => s === void 0);
68
+ if (needsInit) {
69
+ const newSizes = [];
70
+ const equalSize = 100 / panelCount;
71
+ for (let i = 0; i < panelCount; i++) {
72
+ newSizes[i] = equalSize;
73
+ }
74
+ sizesInitializedRef.current = true;
75
+ setInternalSizes(newSizes);
76
+ }
77
+ }, [panels, sizes, isControlled]);
78
+ useEffect(() => {
79
+ return () => {
80
+ if (announceTimeoutRef.current) {
81
+ clearTimeout(announceTimeoutRef.current);
82
+ }
83
+ if (liveRegionRef.current) {
84
+ document.body.removeChild(liveRegionRef.current);
85
+ liveRegionRef.current = null;
86
+ }
87
+ };
88
+ }, []);
89
+ const announce = useCallback((message) => {
90
+ if (!liveRegionRef.current) {
91
+ const liveRegion = document.createElement("div");
92
+ liveRegion.setAttribute("aria-live", "polite");
93
+ liveRegion.setAttribute("aria-atomic", "true");
94
+ liveRegion.className = "sr-only";
95
+ liveRegion.style.cssText = "position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;";
96
+ document.body.appendChild(liveRegion);
97
+ liveRegionRef.current = liveRegion;
98
+ }
99
+ liveRegionRef.current.textContent = message;
100
+ if (announceTimeoutRef.current) {
101
+ clearTimeout(announceTimeoutRef.current);
102
+ }
103
+ announceTimeoutRef.current = setTimeout(() => {
104
+ if (liveRegionRef.current) {
105
+ liveRegionRef.current.textContent = "";
106
+ }
107
+ }, 1e3);
108
+ }, []);
109
+ return {
110
+ direction,
111
+ groupLabel,
112
+ sizes,
113
+ setSizes,
114
+ panels,
115
+ registerPanel,
116
+ unregisterPanel,
117
+ announce,
118
+ containerRef
119
+ };
120
+ }
121
+ var ResizablePanelGroup = forwardRef(function ResizablePanelGroup2({ direction, groupLabel, sizes, onSizesChange, className, children }, ref) {
122
+ const contextValue = useResizableProvider({
123
+ direction,
124
+ groupLabel,
125
+ sizes,
126
+ onSizesChange
127
+ });
128
+ useImperativeHandle(
129
+ ref,
130
+ () => contextValue.containerRef.current,
131
+ [contextValue.containerRef]
132
+ );
133
+ return /* @__PURE__ */ jsx(ResizableContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
134
+ "div",
135
+ {
136
+ ref: contextValue.containerRef,
137
+ role: "group",
138
+ "aria-label": `${groupLabel}, ${direction}`,
139
+ "data-direction": direction,
140
+ className: cn(
141
+ "flex h-full w-full",
142
+ direction === "horizontal" ? "flex-row" : "flex-col",
143
+ className
144
+ ),
145
+ children
146
+ }
147
+ ) });
148
+ });
149
+ ResizablePanelGroup.displayName = "ResizablePanelGroup";
150
+ var DEFAULT_MIN_SIZE = 10;
151
+ var DEFAULT_MAX_SIZE = 90;
152
+ var LONG_PRESS_THRESHOLD = 300;
153
+ var ResizePresetSchema = z.object({
154
+ label: z.string().min(1),
155
+ sizes: z.array(z.number().min(0).max(100))
156
+ });
157
+ var ResizablePanelGroupPropsSchema = z.object({
158
+ /** Layout direction */
159
+ direction: z.enum(["horizontal", "vertical"]),
160
+ /** REQUIRED: Label for screen reader identification of this group */
161
+ groupLabel: z.string().min(1),
162
+ /** Controlled mode: current sizes as percentages */
163
+ sizes: z.array(z.number().min(0).max(100)).optional(),
164
+ /** Callback when sizes change */
165
+ onSizesChange: z.function().optional(),
166
+ /** Additional CSS classes */
167
+ className: z.string().optional(),
168
+ /** Panel children */
169
+ children: z.custom()
170
+ });
171
+ var ResizablePanelPropsSchema = z.object({
172
+ /** REQUIRED: Name for screen reader identification */
173
+ name: z.string().min(1),
174
+ /** Default size as percentage (auto-distributes equally if omitted) */
175
+ defaultSize: z.number().min(0).max(100).optional(),
176
+ /** Minimum size as percentage */
177
+ minSize: z.number().min(0).max(100).optional().default(DEFAULT_MIN_SIZE),
178
+ /** Maximum size as percentage */
179
+ maxSize: z.number().min(0).max(100).optional().default(DEFAULT_MAX_SIZE),
180
+ /** Whether panel can collapse to 0% */
181
+ collapsible: z.boolean().optional().default(false),
182
+ /** Callback when panel collapses */
183
+ onCollapse: z.function().optional(),
184
+ /** Callback when panel expands from collapsed */
185
+ onExpand: z.function().optional(),
186
+ /** Callback when panel resizes */
187
+ onResize: z.function().optional(),
188
+ /** Additional CSS classes */
189
+ className: z.string().optional(),
190
+ /** Panel content */
191
+ children: z.custom()
192
+ });
193
+ var ResizableHandlePropsSchema = z.object({
194
+ /** Whether to show the visual grip indicator */
195
+ withHandle: z.boolean().optional().default(true),
196
+ /** Size presets for quick adjustment */
197
+ presets: z.array(ResizePresetSchema).optional(),
198
+ /** Whether the handle is disabled */
199
+ disabled: z.boolean().optional().default(false),
200
+ /** Additional CSS classes */
201
+ className: z.string().optional()
202
+ });
203
+ var resizableHandleVariants = cva(
204
+ [
205
+ // Base styles - 44px touch target
206
+ "relative flex items-center justify-center",
207
+ "shrink-0",
208
+ "bg-transparent",
209
+ "transition-colors duration-150",
210
+ // Focus styles
211
+ "focus-visible:outline-none focus-visible:ring-2",
212
+ "focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2",
213
+ // Touch target padding for accessibility
214
+ "touch-none select-none"
215
+ ],
216
+ {
217
+ variants: {
218
+ direction: {
219
+ horizontal: [
220
+ "w-3 min-w-[12px]",
221
+ "cursor-col-resize",
222
+ "hover:bg-[var(--accent)]/50",
223
+ // Ensure 44px touch target via padding
224
+ "before:absolute before:inset-y-0 before:-inset-x-4",
225
+ "before:min-w-[44px]"
226
+ ],
227
+ vertical: [
228
+ "h-3 min-h-[12px]",
229
+ "cursor-row-resize",
230
+ "hover:bg-[var(--accent)]/50",
231
+ // Ensure 44px touch target via padding
232
+ "before:absolute before:inset-x-0 before:-inset-y-4",
233
+ "before:min-h-[44px]"
234
+ ]
235
+ },
236
+ disabled: {
237
+ true: "cursor-not-allowed opacity-50 pointer-events-none",
238
+ false: ""
239
+ },
240
+ isDragging: {
241
+ true: "bg-[var(--accent)]",
242
+ false: ""
243
+ }
244
+ },
245
+ defaultVariants: {
246
+ direction: "horizontal",
247
+ disabled: false,
248
+ isDragging: false
249
+ }
250
+ }
251
+ );
252
+ var resizableGripVariants = cva(
253
+ [
254
+ "flex items-center justify-center",
255
+ "rounded-full",
256
+ "bg-[var(--border)]",
257
+ "text-[var(--menu-muted)]"
258
+ ],
259
+ {
260
+ variants: {
261
+ direction: {
262
+ horizontal: "h-8 w-1",
263
+ vertical: "h-1 w-8"
264
+ }
265
+ },
266
+ defaultVariants: {
267
+ direction: "horizontal"
268
+ }
269
+ }
270
+ );
271
+ var ResizablePanel = forwardRef(
272
+ function ResizablePanel2({
273
+ name,
274
+ defaultSize: _defaultSize,
275
+ minSize = DEFAULT_MIN_SIZE,
276
+ maxSize = DEFAULT_MAX_SIZE,
277
+ collapsible = false,
278
+ onCollapse,
279
+ onExpand,
280
+ onResize,
281
+ className,
282
+ children
283
+ }, ref) {
284
+ const { sizes, registerPanel, unregisterPanel, containerRef } = useResizableContext();
285
+ const internalRef = useRef(null);
286
+ const [panelIndex, setPanelIndex] = useState(-1);
287
+ const prevSizeRef = useRef(null);
288
+ const isRegisteredRef = useRef(false);
289
+ const registeredIndexRef = useRef(-1);
290
+ useEffect(() => {
291
+ const panel = internalRef.current;
292
+ const container = containerRef.current;
293
+ if (!panel || !container) return;
294
+ const allPanels = container.querySelectorAll("[data-resizable-panel]");
295
+ let foundIndex = -1;
296
+ for (let i = 0; i < allPanels.length; i++) {
297
+ if (allPanels[i] === panel) {
298
+ foundIndex = i;
299
+ break;
300
+ }
301
+ }
302
+ if (foundIndex === -1) return;
303
+ if (panelIndex !== foundIndex) {
304
+ setPanelIndex(foundIndex);
305
+ }
306
+ if (!isRegisteredRef.current) {
307
+ isRegisteredRef.current = true;
308
+ registeredIndexRef.current = foundIndex;
309
+ registerPanel(foundIndex, {
310
+ name,
311
+ minSize,
312
+ maxSize,
313
+ collapsible
314
+ });
315
+ }
316
+ return () => {
317
+ if (isRegisteredRef.current) {
318
+ unregisterPanel(registeredIndexRef.current);
319
+ isRegisteredRef.current = false;
320
+ }
321
+ };
322
+ }, [containerRef, registerPanel, unregisterPanel, name, minSize, maxSize, collapsible, panelIndex]);
323
+ const currentSize = panelIndex >= 0 ? sizes[panelIndex] ?? 50 : 50;
324
+ useEffect(() => {
325
+ if (prevSizeRef.current === null) {
326
+ prevSizeRef.current = currentSize;
327
+ return;
328
+ }
329
+ const wasCollapsed = prevSizeRef.current === 0;
330
+ const isCollapsed = currentSize === 0;
331
+ if (!wasCollapsed && isCollapsed && onCollapse) {
332
+ onCollapse();
333
+ } else if (wasCollapsed && !isCollapsed && onExpand) {
334
+ onExpand();
335
+ }
336
+ if (onResize && prevSizeRef.current !== currentSize) {
337
+ onResize(currentSize);
338
+ }
339
+ prevSizeRef.current = currentSize;
340
+ }, [currentSize, onCollapse, onExpand, onResize]);
341
+ return /* @__PURE__ */ jsx(
342
+ "div",
343
+ {
344
+ ref: (node) => {
345
+ internalRef.current = node;
346
+ if (typeof ref === "function") {
347
+ ref(node);
348
+ } else if (ref) {
349
+ ref.current = node;
350
+ }
351
+ },
352
+ role: "region",
353
+ "aria-label": name,
354
+ "data-resizable-panel": "",
355
+ "data-panel-name": name,
356
+ "data-panel-index": panelIndex,
357
+ "data-collapsed": currentSize === 0,
358
+ style: {
359
+ flexBasis: `${currentSize}%`,
360
+ flexGrow: 0,
361
+ flexShrink: 0,
362
+ overflow: "hidden"
363
+ },
364
+ className: cn("relative", className),
365
+ children
366
+ }
367
+ );
368
+ }
369
+ );
370
+ ResizablePanel.displayName = "ResizablePanel";
371
+ function clampSize(size, min, max) {
372
+ return Math.max(min, Math.min(max, size));
373
+ }
374
+ function calculateNewSizes(sizes, panels, leftIndex, rightIndex, delta) {
375
+ const newSizes = [...sizes];
376
+ const leftPanel = panels[leftIndex];
377
+ const rightPanel = panels[rightIndex];
378
+ if (!leftPanel || !rightPanel) return sizes;
379
+ const leftSize = sizes[leftIndex] ?? 50;
380
+ const rightSize = sizes[rightIndex] ?? 50;
381
+ let newLeftSize = leftSize + delta;
382
+ let newRightSize = rightSize - delta;
383
+ const leftMin = leftPanel.collapsible ? 0 : leftPanel.minSize;
384
+ const leftMax = leftPanel.maxSize;
385
+ const rightMin = rightPanel.collapsible ? 0 : rightPanel.minSize;
386
+ const rightMax = rightPanel.maxSize;
387
+ newLeftSize = clampSize(newLeftSize, leftMin, leftMax);
388
+ newRightSize = leftSize + rightSize - newLeftSize;
389
+ newRightSize = clampSize(newRightSize, rightMin, rightMax);
390
+ newLeftSize = leftSize + rightSize - newRightSize;
391
+ newSizes[leftIndex] = newLeftSize;
392
+ newSizes[rightIndex] = newRightSize;
393
+ return newSizes;
394
+ }
395
+ function useResizable({
396
+ direction,
397
+ sizes,
398
+ setSizes,
399
+ panels,
400
+ containerRef,
401
+ leftPanelIndex,
402
+ rightPanelIndex,
403
+ disabled = false,
404
+ announce,
405
+ groupLabel,
406
+ onOpenPopover
407
+ }) {
408
+ const [isDragging, setIsDragging] = useState(false);
409
+ const dragStartRef = useRef(null);
410
+ const longPressTimerRef = useRef(null);
411
+ const pointerDownTimeRef = useRef(0);
412
+ const wasLongPressRef = useRef(false);
413
+ const panelsRef = useRef(panels);
414
+ const sizesRef = useRef(sizes);
415
+ const setSizesRef = useRef(setSizes);
416
+ const handlePointerMoveRef = useRef(() => {
417
+ });
418
+ const handlePointerUpRef = useRef(() => {
419
+ });
420
+ useEffect(() => {
421
+ panelsRef.current = panels;
422
+ sizesRef.current = sizes;
423
+ setSizesRef.current = setSizes;
424
+ }, [panels, sizes, setSizes]);
425
+ const getContainerSize = useCallback(() => {
426
+ const container = containerRef.current;
427
+ if (!container) return 0;
428
+ return direction === "horizontal" ? container.offsetWidth : container.offsetHeight;
429
+ }, [containerRef, direction]);
430
+ const pixelsToPercent = useCallback(
431
+ (pixels) => {
432
+ const containerSize = getContainerSize();
433
+ if (containerSize === 0) return 0;
434
+ return pixels / containerSize * 100;
435
+ },
436
+ [getContainerSize]
437
+ );
438
+ const onPointerMove = useCallback((e) => {
439
+ handlePointerMoveRef.current(e);
440
+ }, []);
441
+ const onPointerUp = useCallback(() => {
442
+ handlePointerUpRef.current();
443
+ }, []);
444
+ const handlePointerMove = useCallback(
445
+ (event) => {
446
+ if (!dragStartRef.current || disabled) return;
447
+ const position = direction === "horizontal" ? event.clientX : event.clientY;
448
+ const delta = position - dragStartRef.current.position;
449
+ const percentDelta = pixelsToPercent(delta);
450
+ const newSizes = calculateNewSizes(
451
+ dragStartRef.current.sizes,
452
+ panelsRef.current,
453
+ leftPanelIndex,
454
+ rightPanelIndex,
455
+ percentDelta
456
+ );
457
+ setSizesRef.current(newSizes);
458
+ },
459
+ [
460
+ direction,
461
+ disabled,
462
+ leftPanelIndex,
463
+ pixelsToPercent,
464
+ rightPanelIndex
465
+ ]
466
+ );
467
+ const handlePointerUp = useCallback(() => {
468
+ if (longPressTimerRef.current) {
469
+ clearTimeout(longPressTimerRef.current);
470
+ longPressTimerRef.current = null;
471
+ }
472
+ const duration = Date.now() - pointerDownTimeRef.current;
473
+ const wasTap = duration < LONG_PRESS_THRESHOLD && !wasLongPressRef.current;
474
+ if (wasTap && onOpenPopover && !disabled) {
475
+ onOpenPopover();
476
+ }
477
+ if (isDragging) {
478
+ setIsDragging(false);
479
+ const leftPanel = panelsRef.current[leftPanelIndex];
480
+ const newSize = Math.round(sizesRef.current[leftPanelIndex] ?? 50);
481
+ if (announce && leftPanel && groupLabel) {
482
+ announce(
483
+ `${leftPanel.name} in ${groupLabel} resized to ${newSize} percent`
484
+ );
485
+ }
486
+ }
487
+ dragStartRef.current = null;
488
+ wasLongPressRef.current = false;
489
+ document.removeEventListener("pointermove", onPointerMove);
490
+ document.removeEventListener("pointerup", onPointerUp);
491
+ document.removeEventListener("pointercancel", onPointerUp);
492
+ document.body.style.cursor = "";
493
+ document.body.style.userSelect = "";
494
+ }, [
495
+ announce,
496
+ disabled,
497
+ groupLabel,
498
+ isDragging,
499
+ leftPanelIndex,
500
+ onOpenPopover,
501
+ onPointerMove,
502
+ onPointerUp
503
+ ]);
504
+ useEffect(() => {
505
+ handlePointerMoveRef.current = handlePointerMove;
506
+ handlePointerUpRef.current = handlePointerUp;
507
+ });
508
+ const handlePointerDown = useCallback(
509
+ (event) => {
510
+ if (disabled) return;
511
+ event.preventDefault();
512
+ const position = direction === "horizontal" ? event.clientX : event.clientY;
513
+ pointerDownTimeRef.current = Date.now();
514
+ wasLongPressRef.current = false;
515
+ dragStartRef.current = {
516
+ position,
517
+ sizes: [...sizes],
518
+ containerSize: getContainerSize()
519
+ };
520
+ longPressTimerRef.current = setTimeout(() => {
521
+ wasLongPressRef.current = true;
522
+ setIsDragging(true);
523
+ document.body.style.cursor = direction === "horizontal" ? "col-resize" : "row-resize";
524
+ document.body.style.userSelect = "none";
525
+ }, LONG_PRESS_THRESHOLD);
526
+ document.addEventListener("pointermove", onPointerMove);
527
+ document.addEventListener("pointerup", onPointerUp);
528
+ document.addEventListener("pointercancel", onPointerUp);
529
+ if (event.pointerType === "mouse") {
530
+ if (longPressTimerRef.current) {
531
+ clearTimeout(longPressTimerRef.current);
532
+ longPressTimerRef.current = null;
533
+ }
534
+ wasLongPressRef.current = true;
535
+ setIsDragging(true);
536
+ document.body.style.cursor = direction === "horizontal" ? "col-resize" : "row-resize";
537
+ document.body.style.userSelect = "none";
538
+ }
539
+ },
540
+ [
541
+ direction,
542
+ disabled,
543
+ getContainerSize,
544
+ onPointerMove,
545
+ onPointerUp,
546
+ sizes
547
+ ]
548
+ );
549
+ const handleKeyDown = useCallback(
550
+ (event) => {
551
+ if (disabled) return;
552
+ const step = event.shiftKey ? 10 : 1;
553
+ let delta = 0;
554
+ switch (event.key) {
555
+ case "ArrowLeft":
556
+ case "ArrowUp":
557
+ delta = -step;
558
+ break;
559
+ case "ArrowRight":
560
+ case "ArrowDown":
561
+ delta = step;
562
+ break;
563
+ case "Home": {
564
+ const leftPanel = panels[leftPanelIndex];
565
+ if (leftPanel) {
566
+ const minSize = leftPanel.collapsible ? 0 : leftPanel.minSize;
567
+ delta = minSize - (sizes[leftPanelIndex] ?? 50);
568
+ }
569
+ break;
570
+ }
571
+ case "End": {
572
+ const leftPanel = panels[leftPanelIndex];
573
+ if (leftPanel) {
574
+ delta = leftPanel.maxSize - (sizes[leftPanelIndex] ?? 50);
575
+ }
576
+ break;
577
+ }
578
+ case "Enter":
579
+ case " ":
580
+ event.preventDefault();
581
+ onOpenPopover?.();
582
+ return;
583
+ default:
584
+ return;
585
+ }
586
+ if (delta !== 0) {
587
+ event.preventDefault();
588
+ const newSizes = calculateNewSizes(
589
+ sizes,
590
+ panels,
591
+ leftPanelIndex,
592
+ rightPanelIndex,
593
+ delta
594
+ );
595
+ setSizes(newSizes);
596
+ const leftPanel = panels[leftPanelIndex];
597
+ const newSize = Math.round(newSizes[leftPanelIndex] ?? 50);
598
+ if (announce && leftPanel && groupLabel) {
599
+ announce(
600
+ `${leftPanel.name} in ${groupLabel} resized to ${newSize} percent`
601
+ );
602
+ }
603
+ }
604
+ },
605
+ [
606
+ announce,
607
+ disabled,
608
+ groupLabel,
609
+ leftPanelIndex,
610
+ onOpenPopover,
611
+ panels,
612
+ rightPanelIndex,
613
+ setSizes,
614
+ sizes
615
+ ]
616
+ );
617
+ useEffect(() => {
618
+ const moveHandler = onPointerMove;
619
+ const upHandler = onPointerUp;
620
+ return () => {
621
+ if (longPressTimerRef.current) {
622
+ clearTimeout(longPressTimerRef.current);
623
+ }
624
+ document.removeEventListener("pointermove", moveHandler);
625
+ document.removeEventListener("pointerup", upHandler);
626
+ document.removeEventListener("pointercancel", upHandler);
627
+ };
628
+ }, [onPointerMove, onPointerUp]);
629
+ return {
630
+ isDragging,
631
+ handlePointerDown,
632
+ handleKeyDown
633
+ };
634
+ }
635
+ var ResizablePopover = forwardRef(
636
+ function ResizablePopover2({
637
+ isOpen,
638
+ onOpenChange,
639
+ groupLabel,
640
+ leftPanel,
641
+ rightPanel,
642
+ leftSize,
643
+ rightSize,
644
+ onSizesChange,
645
+ presets,
646
+ triggerRef,
647
+ direction
648
+ }, _ref) {
649
+ const [originalSizes, setOriginalSizes] = useState({ left: leftSize, right: rightSize });
650
+ const wasOpenRef = useRef(false);
651
+ useEffect(() => {
652
+ if (isOpen && !wasOpenRef.current) {
653
+ setOriginalSizes({ left: leftSize, right: rightSize });
654
+ }
655
+ wasOpenRef.current = isOpen;
656
+ }, [isOpen, leftSize, rightSize]);
657
+ const handleLeftChange = useCallback(
658
+ (value) => {
659
+ if (value === null) return;
660
+ const newLeft = Math.max(
661
+ leftPanel.collapsible ? 0 : leftPanel.minSize,
662
+ Math.min(leftPanel.maxSize, value)
663
+ );
664
+ const newRight = 100 - newLeft;
665
+ const rightMin = rightPanel.collapsible ? 0 : rightPanel.minSize;
666
+ const rightMax = rightPanel.maxSize;
667
+ if (newRight < rightMin || newRight > rightMax) {
668
+ return;
669
+ }
670
+ onSizesChange(newLeft, newRight);
671
+ },
672
+ [leftPanel, rightPanel, onSizesChange]
673
+ );
674
+ const handleRightChange = useCallback(
675
+ (value) => {
676
+ if (value === null) return;
677
+ const newRight = Math.max(
678
+ rightPanel.collapsible ? 0 : rightPanel.minSize,
679
+ Math.min(rightPanel.maxSize, value)
680
+ );
681
+ const newLeft = 100 - newRight;
682
+ const leftMin = leftPanel.collapsible ? 0 : leftPanel.minSize;
683
+ const leftMax = leftPanel.maxSize;
684
+ if (newLeft < leftMin || newLeft > leftMax) {
685
+ return;
686
+ }
687
+ onSizesChange(newLeft, newRight);
688
+ },
689
+ [leftPanel, rightPanel, onSizesChange]
690
+ );
691
+ const handlePreset = useCallback(
692
+ (preset) => {
693
+ const leftSize2 = preset.sizes[0];
694
+ const rightSize2 = preset.sizes[1];
695
+ if (leftSize2 !== void 0 && rightSize2 !== void 0) {
696
+ onSizesChange(leftSize2, rightSize2);
697
+ }
698
+ },
699
+ [onSizesChange]
700
+ );
701
+ const handleCancel = useCallback(() => {
702
+ onSizesChange(originalSizes.left, originalSizes.right);
703
+ onOpenChange(false);
704
+ }, [onSizesChange, onOpenChange, originalSizes]);
705
+ const handleClose = useCallback(() => {
706
+ onOpenChange(false);
707
+ }, [onOpenChange]);
708
+ if (!isOpen) return null;
709
+ const placement = direction === "horizontal" ? "bottom" : "right";
710
+ return /* @__PURE__ */ jsxs(DialogTrigger, { isOpen, onOpenChange, children: [
711
+ /* @__PURE__ */ jsx(Button, { className: "sr-only", children: "Open resize controls" }),
712
+ /* @__PURE__ */ jsx(
713
+ Popover,
714
+ {
715
+ triggerRef,
716
+ placement,
717
+ offset: 8,
718
+ className: cn(
719
+ "w-72",
720
+ "rounded-lg border border-[var(--border)]",
721
+ "bg-[var(--popover)] text-[var(--popover-foreground)]",
722
+ "shadow-lg",
723
+ "outline-none",
724
+ "animate-in fade-in-0 zoom-in-95",
725
+ "data-[exiting]:animate-out data-[exiting]:fade-out-0 data-[exiting]:zoom-out-95"
726
+ ),
727
+ children: /* @__PURE__ */ jsxs(Dialog, { className: "outline-none", children: [
728
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between border-b border-[var(--border)] px-4 py-3", children: [
729
+ /* @__PURE__ */ jsxs("h3", { className: "text-sm font-medium", children: [
730
+ "Resize: ",
731
+ groupLabel
732
+ ] }),
733
+ /* @__PURE__ */ jsx(
734
+ Button,
735
+ {
736
+ onPress: handleClose,
737
+ className: cn(
738
+ "inline-flex items-center justify-center rounded-md",
739
+ "min-h-[44px] min-w-[44px]",
740
+ "text-[var(--menu-muted)]",
741
+ "hover:bg-[var(--accent)] hover:text-[var(--accent-foreground)]",
742
+ "focus-visible:outline-none focus-visible:ring-2",
743
+ "focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2"
744
+ ),
745
+ "aria-label": "Close",
746
+ children: /* @__PURE__ */ jsx(X, { className: "h-4 w-4" })
747
+ }
748
+ )
749
+ ] }),
750
+ /* @__PURE__ */ jsxs("div", { className: "space-y-4 px-4 py-4", children: [
751
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
752
+ NumberField,
753
+ {
754
+ label: `${leftPanel.name} (%)`,
755
+ value: Math.round(leftSize),
756
+ onChange: handleLeftChange,
757
+ minValue: leftPanel.collapsible ? 0 : leftPanel.minSize,
758
+ maxValue: leftPanel.maxSize,
759
+ step: 1,
760
+ stepperLayout: "sides"
761
+ }
762
+ ) }),
763
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
764
+ NumberField,
765
+ {
766
+ label: `${rightPanel.name} (%)`,
767
+ value: Math.round(rightSize),
768
+ onChange: handleRightChange,
769
+ minValue: rightPanel.collapsible ? 0 : rightPanel.minSize,
770
+ maxValue: rightPanel.maxSize,
771
+ step: 1,
772
+ stepperLayout: "sides"
773
+ }
774
+ ) }),
775
+ presets && presets.length > 0 && /* @__PURE__ */ jsxs("div", { className: "border-t border-[var(--border)] pt-4", children: [
776
+ /* @__PURE__ */ jsx("div", { className: "mb-2 text-xs font-medium text-[var(--menu-muted)]", children: "Presets" }),
777
+ /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: presets.map((preset, index) => /* @__PURE__ */ jsx(
778
+ Button$1,
779
+ {
780
+ variant: "outline",
781
+ size: "sm",
782
+ onPress: () => handlePreset(preset),
783
+ children: preset.label
784
+ },
785
+ index
786
+ )) })
787
+ ] })
788
+ ] }),
789
+ /* @__PURE__ */ jsx("div", { className: "flex justify-end border-t border-[var(--border)] px-4 py-3", children: /* @__PURE__ */ jsx(Button$1, { variant: "ghost", size: "sm", onPress: handleCancel, children: "Cancel" }) })
790
+ ] })
791
+ }
792
+ )
793
+ ] });
794
+ }
795
+ );
796
+ ResizablePopover.displayName = "ResizablePopover";
797
+ var ResizableHandle = forwardRef(
798
+ function ResizableHandle2({ withHandle = true, presets, disabled = false, className }, ref) {
799
+ const {
800
+ direction,
801
+ groupLabel,
802
+ sizes,
803
+ setSizes,
804
+ panels,
805
+ announce,
806
+ containerRef
807
+ } = useResizableContext();
808
+ const internalRef = useRef(null);
809
+ const handleRef = ref || internalRef;
810
+ const [handleIndex, setHandleIndex] = useState(0);
811
+ useEffect(() => {
812
+ const handle = handleRef.current;
813
+ const container = containerRef.current;
814
+ if (!handle || !container) return;
815
+ const handles = container.querySelectorAll('[role="slider"]');
816
+ let index = 0;
817
+ handles.forEach((h, i) => {
818
+ if (h === handle) {
819
+ index = i;
820
+ }
821
+ });
822
+ setHandleIndex(index);
823
+ }, [containerRef, handleRef]);
824
+ const leftPanelIndex = handleIndex;
825
+ const rightPanelIndex = handleIndex + 1;
826
+ const leftPanel = panels[leftPanelIndex];
827
+ const rightPanel = panels[rightPanelIndex];
828
+ const leftSize = sizes[leftPanelIndex] ?? 50;
829
+ const rightSize = sizes[rightPanelIndex] ?? 50;
830
+ const [isPopoverOpen, setIsPopoverOpen] = useState(false);
831
+ const handlePopoverSizesChange = useCallback(
832
+ (newLeftSize, newRightSize) => {
833
+ const newSizes = [...sizes];
834
+ newSizes[leftPanelIndex] = newLeftSize;
835
+ newSizes[rightPanelIndex] = newRightSize;
836
+ setSizes(newSizes);
837
+ },
838
+ [sizes, setSizes, leftPanelIndex, rightPanelIndex]
839
+ );
840
+ const { isDragging, handlePointerDown, handleKeyDown } = useResizable({
841
+ direction,
842
+ sizes,
843
+ setSizes,
844
+ panels,
845
+ containerRef,
846
+ leftPanelIndex,
847
+ rightPanelIndex,
848
+ disabled,
849
+ announce,
850
+ groupLabel,
851
+ onOpenPopover: () => setIsPopoverOpen(true)
852
+ });
853
+ const ariaLabel = leftPanel && rightPanel ? `Resize handle between ${leftPanel.name} and ${rightPanel.name} in ${groupLabel}` : `Resize handle in ${groupLabel}`;
854
+ const GripIcon = direction === "horizontal" ? GripVertical : GripHorizontal;
855
+ const leftPanelInfo = leftPanel ?? {
856
+ name: "Panel 1",
857
+ minSize: DEFAULT_MIN_SIZE,
858
+ maxSize: DEFAULT_MAX_SIZE,
859
+ collapsible: false
860
+ };
861
+ const rightPanelInfo = rightPanel ?? {
862
+ name: "Panel 2",
863
+ minSize: DEFAULT_MIN_SIZE,
864
+ maxSize: DEFAULT_MAX_SIZE,
865
+ collapsible: false
866
+ };
867
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
868
+ /* @__PURE__ */ jsx(
869
+ "div",
870
+ {
871
+ ref: handleRef,
872
+ role: "slider",
873
+ tabIndex: disabled ? -1 : 0,
874
+ "aria-label": ariaLabel,
875
+ "aria-valuenow": Math.round(leftSize),
876
+ "aria-valuemin": leftPanel?.collapsible ? 0 : leftPanel?.minSize ?? 0,
877
+ "aria-valuemax": leftPanel?.maxSize ?? 100,
878
+ "aria-orientation": direction,
879
+ "aria-disabled": disabled,
880
+ "data-direction": direction,
881
+ "data-dragging": isDragging,
882
+ "data-disabled": disabled,
883
+ onPointerDown: handlePointerDown,
884
+ onKeyDown: handleKeyDown,
885
+ className: cn(
886
+ resizableHandleVariants({
887
+ direction,
888
+ disabled,
889
+ isDragging
890
+ }),
891
+ className
892
+ ),
893
+ children: withHandle && /* @__PURE__ */ jsx(
894
+ "div",
895
+ {
896
+ className: cn(resizableGripVariants({ direction })),
897
+ "aria-hidden": "true",
898
+ children: /* @__PURE__ */ jsx(GripIcon, { className: "h-4 w-4" })
899
+ }
900
+ )
901
+ }
902
+ ),
903
+ /* @__PURE__ */ jsx(
904
+ ResizablePopover,
905
+ {
906
+ isOpen: isPopoverOpen,
907
+ onOpenChange: setIsPopoverOpen,
908
+ groupLabel,
909
+ leftPanel: leftPanelInfo,
910
+ rightPanel: rightPanelInfo,
911
+ leftSize,
912
+ rightSize,
913
+ onSizesChange: handlePopoverSizesChange,
914
+ presets,
915
+ triggerRef: handleRef,
916
+ direction
917
+ }
918
+ )
919
+ ] });
920
+ }
921
+ );
922
+ ResizableHandle.displayName = "ResizableHandle";
923
+
924
+ export { DEFAULT_MAX_SIZE, DEFAULT_MIN_SIZE, LONG_PRESS_THRESHOLD, ResizableHandle, ResizableHandlePropsSchema, ResizablePanel, ResizablePanelGroup, ResizablePanelGroupPropsSchema, ResizablePanelPropsSchema, ResizePresetSchema, resizableGripVariants, resizableHandleVariants, useResizableContext };
925
+ //# sourceMappingURL=chunk-EP4WOI5D.mjs.map
926
+ //# sourceMappingURL=chunk-EP4WOI5D.mjs.map