@womp/kookie-ui 0.7.0 → 0.8.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 (464) hide show
  1. package/components.css +538 -493
  2. package/dist/cjs/components/_internal/base-menu.utils.js +1 -1
  3. package/dist/cjs/components/_internal/base-menu.utils.js.map +3 -3
  4. package/dist/cjs/components/_internal/menu-context.js +1 -1
  5. package/dist/cjs/components/_internal/menu-context.js.map +3 -3
  6. package/dist/cjs/components/_internal/shell-bottom.d.ts +6 -7
  7. package/dist/cjs/components/_internal/shell-bottom.d.ts.map +1 -1
  8. package/dist/cjs/components/_internal/shell-bottom.js +1 -1
  9. package/dist/cjs/components/_internal/shell-bottom.js.map +4 -4
  10. package/dist/cjs/components/_internal/shell-handles.d.ts +9 -0
  11. package/dist/cjs/components/_internal/shell-handles.d.ts.map +1 -1
  12. package/dist/cjs/components/_internal/shell-handles.js +1 -1
  13. package/dist/cjs/components/_internal/shell-handles.js.map +3 -3
  14. package/dist/cjs/components/_internal/shell-inspector.d.ts +4 -6
  15. package/dist/cjs/components/_internal/shell-inspector.d.ts.map +1 -1
  16. package/dist/cjs/components/_internal/shell-inspector.js +1 -1
  17. package/dist/cjs/components/_internal/shell-inspector.js.map +4 -4
  18. package/dist/cjs/components/_internal/shell-pane.d.ts +70 -0
  19. package/dist/cjs/components/_internal/shell-pane.d.ts.map +1 -0
  20. package/dist/cjs/components/_internal/shell-pane.js +2 -0
  21. package/dist/cjs/components/_internal/shell-pane.js.map +7 -0
  22. package/dist/cjs/components/_internal/shell-resizable.d.ts +48 -0
  23. package/dist/cjs/components/_internal/shell-resizable.d.ts.map +1 -0
  24. package/dist/cjs/components/_internal/shell-resizable.js +2 -0
  25. package/dist/cjs/components/_internal/shell-resizable.js.map +7 -0
  26. package/dist/cjs/components/_internal/shell-resize.d.ts +11 -3
  27. package/dist/cjs/components/_internal/shell-resize.d.ts.map +1 -1
  28. package/dist/cjs/components/_internal/shell-resize.js +1 -1
  29. package/dist/cjs/components/_internal/shell-resize.js.map +2 -2
  30. package/dist/cjs/components/_internal/shell-rest.d.ts +27 -0
  31. package/dist/cjs/components/_internal/shell-rest.d.ts.map +1 -0
  32. package/dist/cjs/components/_internal/shell-rest.js +2 -0
  33. package/dist/cjs/components/_internal/shell-rest.js.map +7 -0
  34. package/dist/cjs/components/_internal/shell-sidebar.d.ts +7 -12
  35. package/dist/cjs/components/_internal/shell-sidebar.d.ts.map +1 -1
  36. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  37. package/dist/cjs/components/_internal/shell-sidebar.js.map +4 -4
  38. package/dist/cjs/components/_internal/shell-store.d.ts +99 -0
  39. package/dist/cjs/components/_internal/shell-store.d.ts.map +1 -0
  40. package/dist/cjs/components/_internal/shell-store.js +2 -0
  41. package/dist/cjs/components/_internal/shell-store.js.map +7 -0
  42. package/dist/cjs/components/context-menu.js +1 -1
  43. package/dist/cjs/components/context-menu.js.map +3 -3
  44. package/dist/cjs/components/dropdown-menu.js +1 -1
  45. package/dist/cjs/components/dropdown-menu.js.map +3 -3
  46. package/dist/cjs/components/index.js +5 -5
  47. package/dist/cjs/components/index.js.map +4 -4
  48. package/dist/cjs/components/schemas/index.js +1 -1
  49. package/dist/cjs/components/schemas/index.js.map +3 -3
  50. package/dist/cjs/components/schemas/shell.schema.d.ts +277 -229
  51. package/dist/cjs/components/schemas/shell.schema.d.ts.map +1 -1
  52. package/dist/cjs/components/schemas/shell.schema.js +1 -1
  53. package/dist/cjs/components/schemas/shell.schema.js.map +3 -3
  54. package/dist/cjs/components/shell.context.d.ts +25 -114
  55. package/dist/cjs/components/shell.context.d.ts.map +1 -1
  56. package/dist/cjs/components/shell.context.js +1 -1
  57. package/dist/cjs/components/shell.context.js.map +4 -4
  58. package/dist/cjs/components/shell.d.ts +42 -21
  59. package/dist/cjs/components/shell.d.ts.map +1 -1
  60. package/dist/cjs/components/shell.hooks.d.ts +7 -23
  61. package/dist/cjs/components/shell.hooks.d.ts.map +1 -1
  62. package/dist/cjs/components/shell.hooks.js +1 -1
  63. package/dist/cjs/components/shell.hooks.js.map +4 -4
  64. package/dist/cjs/components/shell.js +1 -1
  65. package/dist/cjs/components/shell.js.map +4 -4
  66. package/dist/cjs/components/shell.types.d.ts +19 -2
  67. package/dist/cjs/components/shell.types.d.ts.map +1 -1
  68. package/dist/cjs/components/shell.types.js +1 -1
  69. package/dist/cjs/components/shell.types.js.map +3 -3
  70. package/dist/cjs/components/sidebar.js.map +3 -3
  71. package/dist/cjs/hooks/use-breakpoint.d.ts +5 -0
  72. package/dist/cjs/hooks/use-breakpoint.d.ts.map +1 -1
  73. package/dist/cjs/hooks/use-breakpoint.js +1 -1
  74. package/dist/cjs/hooks/use-breakpoint.js.map +3 -3
  75. package/dist/cjs/index.js +5 -5
  76. package/dist/cjs/index.js.map +4 -4
  77. package/dist/esm/{chunk-HJU4I34X.js → chunk-25X75TI7.js} +2 -2
  78. package/dist/esm/{chunk-4XKK32M4.js → chunk-26I257HE.js} +2 -2
  79. package/dist/esm/chunk-2EQWBT2S.js +2 -0
  80. package/dist/esm/chunk-2EQWBT2S.js.map +7 -0
  81. package/dist/esm/{chunk-GLERJXVS.js → chunk-2Q7BJ7YG.js} +2 -2
  82. package/dist/esm/{chunk-CJ27XP5Z.js → chunk-3AOFY2B4.js} +2 -2
  83. package/dist/esm/chunk-3J6AUDID.js +2 -0
  84. package/dist/esm/chunk-3J6AUDID.js.map +7 -0
  85. package/dist/esm/{chunk-7EWFBWBS.js → chunk-3PTSRBVY.js} +2 -2
  86. package/dist/esm/chunk-3XSB7YIM.js +2 -0
  87. package/dist/esm/{chunk-FMBECDL4.js.map → chunk-3XSB7YIM.js.map} +3 -3
  88. package/dist/esm/{chunk-O2U6RJTB.js → chunk-44JZYS7A.js} +2 -2
  89. package/dist/esm/{chunk-CTA5ODAO.js → chunk-4WU2WKUJ.js} +2 -2
  90. package/dist/esm/{chunk-KZWNGWIM.js → chunk-5M7STAH3.js} +2 -2
  91. package/dist/esm/{chunk-5WRCK4R7.js → chunk-5TAHT6VC.js} +2 -2
  92. package/dist/esm/{chunk-RNTCHVFI.js → chunk-6J6YX2VX.js} +2 -2
  93. package/dist/esm/{chunk-AGSSWWFI.js → chunk-7FKKGUHK.js} +2 -2
  94. package/dist/esm/{chunk-WHFJ4JUN.js → chunk-7NYODT3Z.js} +2 -2
  95. package/dist/esm/{chunk-NVDXXGVW.js → chunk-7PMMYHZV.js} +2 -2
  96. package/dist/esm/chunk-A2XVR7GL.js +2 -0
  97. package/dist/esm/chunk-A2XVR7GL.js.map +7 -0
  98. package/dist/esm/chunk-ADXZNG4F.js +2 -0
  99. package/dist/esm/chunk-ADXZNG4F.js.map +7 -0
  100. package/dist/esm/chunk-AGNIFHOE.js +2 -0
  101. package/dist/esm/chunk-AGNIFHOE.js.map +7 -0
  102. package/dist/esm/{chunk-KJUDZCYK.js → chunk-AIHQ3MVK.js} +2 -2
  103. package/dist/esm/{chunk-UBOOUDS4.js → chunk-AO32NT75.js} +2 -2
  104. package/dist/esm/chunk-BZZXXZ3O.js +2 -0
  105. package/dist/esm/chunk-BZZXXZ3O.js.map +7 -0
  106. package/dist/esm/{chunk-JDGJSNWT.js → chunk-C5RVO3C3.js} +2 -2
  107. package/dist/esm/{chunk-IHK3H2OM.js → chunk-CBNTPHYK.js} +2 -2
  108. package/dist/esm/{chunk-BBJUB52V.js → chunk-CRBOJ7N7.js} +2 -2
  109. package/dist/esm/{chunk-VHECAEUP.js → chunk-DCIQHXAR.js} +2 -2
  110. package/dist/esm/{chunk-43A5GUSI.js → chunk-EHBAK3LQ.js} +2 -2
  111. package/dist/esm/{chunk-K3UAS7RW.js → chunk-F3AXE27Q.js} +2 -2
  112. package/dist/esm/{chunk-KFR3CK24.js → chunk-FB3PD4Z3.js} +2 -2
  113. package/dist/esm/{chunk-MCPRXVKZ.js → chunk-FEAOFF77.js} +2 -2
  114. package/dist/esm/{chunk-VZSQATP6.js → chunk-G4YKBAZT.js} +2 -2
  115. package/dist/esm/{chunk-ECXGQQJB.js → chunk-GDAKJS64.js} +2 -2
  116. package/dist/esm/{chunk-VR7ZAFYN.js → chunk-GGSJXOKR.js} +2 -2
  117. package/dist/esm/chunk-GM7KMQDI.js +2 -0
  118. package/dist/esm/chunk-GMHA5CFH.js +2 -0
  119. package/dist/esm/chunk-GMHA5CFH.js.map +7 -0
  120. package/dist/esm/{chunk-CESYMTJQ.js → chunk-H4GR4262.js} +2 -2
  121. package/dist/esm/{chunk-WXQIIKWV.js → chunk-HBIF43PT.js} +2 -2
  122. package/dist/esm/chunk-HCNO7PX6.js +2 -0
  123. package/dist/esm/chunk-HCNO7PX6.js.map +7 -0
  124. package/dist/esm/{chunk-2264DHUW.js → chunk-HMSSFU6I.js} +2 -2
  125. package/dist/esm/chunk-HWQ3NTJP.js +2 -0
  126. package/dist/esm/chunk-HWQ3NTJP.js.map +7 -0
  127. package/dist/esm/{chunk-S5C5YRBS.js → chunk-IDUVJJYG.js} +2 -2
  128. package/dist/esm/{chunk-CIYF56YS.js → chunk-IK3MQHA5.js} +2 -2
  129. package/dist/esm/{chunk-CKMMUHKE.js → chunk-JDEBKA56.js} +2 -2
  130. package/dist/esm/{chunk-E67CIG6A.js → chunk-JDWCQ2XP.js} +2 -2
  131. package/dist/esm/{chunk-L3BWTV7I.js → chunk-JQSZF3E2.js} +2 -2
  132. package/dist/esm/{chunk-MEO7MJMQ.js → chunk-JQW4XYBS.js} +2 -2
  133. package/dist/esm/{chunk-KMPE7TJ6.js → chunk-JRFZ535T.js} +2 -2
  134. package/dist/esm/{chunk-CDG5WH4U.js → chunk-KEEPKI2X.js} +2 -2
  135. package/dist/esm/{chunk-GAV3NHYL.js → chunk-KV4SZP3F.js} +2 -2
  136. package/dist/esm/{chunk-FG7XM7KJ.js → chunk-LJCUPAOI.js} +2 -2
  137. package/dist/esm/{chunk-N4GTDLRD.js → chunk-MBCQA7UZ.js} +2 -2
  138. package/dist/esm/chunk-MM5IHQFM.js +2 -0
  139. package/dist/esm/{chunk-Y5RCH23Z.js → chunk-NQXRWBQM.js} +2 -2
  140. package/dist/esm/{chunk-CSKZZOI2.js → chunk-NTNMJX5M.js} +2 -2
  141. package/dist/esm/{chunk-V27ZAN3E.js → chunk-NV3P2CKH.js} +2 -2
  142. package/dist/esm/{chunk-4ME6O27S.js → chunk-O4CSXNST.js} +2 -2
  143. package/dist/esm/chunk-ODCVOXEV.js +2 -0
  144. package/dist/esm/{chunk-W2FOBR5Q.js → chunk-OEEF6KJG.js} +2 -2
  145. package/dist/esm/{chunk-ABSKRHVM.js → chunk-OJSOX3AX.js} +2 -2
  146. package/dist/esm/{chunk-JGLAE5G7.js → chunk-OQU2SKLN.js} +2 -2
  147. package/dist/esm/{chunk-PZ7OYATT.js → chunk-OTKQN2KY.js} +2 -2
  148. package/dist/esm/{chunk-QWVU2TW4.js → chunk-P27KV2LS.js} +2 -2
  149. package/dist/esm/{chunk-JUY7CBSL.js → chunk-PBFSBHBS.js} +2 -2
  150. package/dist/esm/{chunk-DSJY5RI3.js → chunk-PDUHBDFC.js} +2 -2
  151. package/dist/esm/{chunk-MTOLKA6S.js → chunk-POG3YABW.js} +2 -2
  152. package/dist/esm/chunk-PYHEBG5I.js +2 -0
  153. package/dist/esm/chunk-PYHEBG5I.js.map +7 -0
  154. package/dist/esm/{chunk-GO7OHBHW.js → chunk-PYXMGEO7.js} +2 -2
  155. package/dist/esm/{chunk-VNH7BJOA.js → chunk-QEGEUD4D.js} +2 -2
  156. package/dist/esm/chunk-QEL55MLF.js +2 -0
  157. package/dist/esm/{chunk-MS5J4MF6.js → chunk-QJVAS7AK.js} +2 -2
  158. package/dist/esm/chunk-ROSWI2CL.js +2 -0
  159. package/dist/esm/chunk-ROSWI2CL.js.map +7 -0
  160. package/dist/esm/{chunk-KCWESYMR.js → chunk-RY67WG3O.js} +2 -2
  161. package/dist/esm/{chunk-IFM4EMZB.js → chunk-TLGXIWAS.js} +2 -2
  162. package/dist/esm/{chunk-6FLLFCBU.js → chunk-UBSLEGQZ.js} +2 -2
  163. package/dist/esm/{chunk-VBI3AWPT.js → chunk-UNWPH3SO.js} +2 -2
  164. package/dist/esm/chunk-V5ZSDDVZ.js +2 -0
  165. package/dist/esm/chunk-V5ZSDDVZ.js.map +7 -0
  166. package/dist/esm/{chunk-X7V3V3W4.js → chunk-VTIL55SR.js} +2 -2
  167. package/dist/esm/{chunk-ALWNS44Q.js → chunk-W2LD2YE6.js} +2 -2
  168. package/dist/esm/{chunk-2I7QRVJ5.js → chunk-WGWUEU4K.js} +2 -2
  169. package/dist/esm/{chunk-EPTYNVCU.js → chunk-WIDJYVZF.js} +2 -2
  170. package/dist/esm/{chunk-OLAWVEAI.js → chunk-WJBOOAIO.js} +2 -2
  171. package/dist/esm/{chunk-7FC7HF76.js → chunk-WQCB7KSH.js} +2 -2
  172. package/dist/esm/{chunk-YBSRX63K.js → chunk-WZFVTC7P.js} +2 -2
  173. package/dist/esm/chunk-XDDKT4NF.js +2 -0
  174. package/dist/esm/{chunk-KFA53SVQ.js → chunk-YA5DF67M.js} +2 -2
  175. package/dist/esm/chunk-YA5DF67M.js.map +7 -0
  176. package/dist/esm/chunk-YAQBIO2B.js +2 -0
  177. package/dist/esm/chunk-YAQBIO2B.js.map +7 -0
  178. package/dist/esm/{chunk-OFUNVHZ5.js → chunk-YG66IRW4.js} +2 -2
  179. package/dist/esm/{chunk-WGYUWEQV.js → chunk-YVSM2LGS.js} +2 -2
  180. package/dist/esm/{chunk-4NTGF22C.js → chunk-Z7AZNMNX.js} +2 -2
  181. package/dist/esm/chunk-ZJ33QP5N.js +2 -0
  182. package/dist/esm/{chunk-OGXZHAQL.js → chunk-ZW26J2SA.js} +2 -2
  183. package/dist/esm/components/_internal/base-button.js +1 -1
  184. package/dist/esm/components/_internal/base-menu.utils.js +1 -1
  185. package/dist/esm/components/_internal/menu-context.js +1 -1
  186. package/dist/esm/components/_internal/shell-bottom.d.ts +6 -7
  187. package/dist/esm/components/_internal/shell-bottom.d.ts.map +1 -1
  188. package/dist/esm/components/_internal/shell-bottom.js +1 -1
  189. package/dist/esm/components/_internal/shell-handles.d.ts +9 -0
  190. package/dist/esm/components/_internal/shell-handles.d.ts.map +1 -1
  191. package/dist/esm/components/_internal/shell-handles.js +1 -1
  192. package/dist/esm/components/_internal/shell-inspector.d.ts +4 -6
  193. package/dist/esm/components/_internal/shell-inspector.d.ts.map +1 -1
  194. package/dist/esm/components/_internal/shell-inspector.js +1 -1
  195. package/dist/esm/components/_internal/shell-pane.d.ts +70 -0
  196. package/dist/esm/components/_internal/shell-pane.d.ts.map +1 -0
  197. package/dist/esm/components/_internal/shell-pane.js +2 -0
  198. package/dist/esm/components/_internal/shell-resizable.d.ts +48 -0
  199. package/dist/esm/components/_internal/shell-resizable.d.ts.map +1 -0
  200. package/dist/esm/components/_internal/shell-resizable.js +2 -0
  201. package/dist/esm/components/_internal/shell-resizable.js.map +7 -0
  202. package/dist/esm/components/_internal/shell-resize.d.ts +11 -3
  203. package/dist/esm/components/_internal/shell-resize.d.ts.map +1 -1
  204. package/dist/esm/components/_internal/shell-resize.js +1 -1
  205. package/dist/esm/components/_internal/shell-rest.d.ts +27 -0
  206. package/dist/esm/components/_internal/shell-rest.d.ts.map +1 -0
  207. package/dist/esm/components/_internal/shell-rest.js +2 -0
  208. package/dist/esm/components/_internal/shell-rest.js.map +7 -0
  209. package/dist/esm/components/_internal/shell-sidebar.d.ts +7 -12
  210. package/dist/esm/components/_internal/shell-sidebar.d.ts.map +1 -1
  211. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  212. package/dist/esm/components/_internal/shell-store.d.ts +99 -0
  213. package/dist/esm/components/_internal/shell-store.d.ts.map +1 -0
  214. package/dist/esm/components/_internal/shell-store.js +2 -0
  215. package/dist/esm/components/_internal/shell-store.js.map +7 -0
  216. package/dist/esm/components/accordion.js +1 -1
  217. package/dist/esm/components/alert-dialog.js +1 -1
  218. package/dist/esm/components/avatar.js +1 -1
  219. package/dist/esm/components/badge.js +1 -1
  220. package/dist/esm/components/blockquote.js +1 -1
  221. package/dist/esm/components/blockquote.props.js +1 -1
  222. package/dist/esm/components/box.js +1 -1
  223. package/dist/esm/components/button.js +1 -1
  224. package/dist/esm/components/callout.js +1 -1
  225. package/dist/esm/components/card.js +1 -1
  226. package/dist/esm/components/chatbar.js +1 -1
  227. package/dist/esm/components/checkbox-cards.js +1 -1
  228. package/dist/esm/components/checkbox-group.js +1 -1
  229. package/dist/esm/components/checkbox.js +1 -1
  230. package/dist/esm/components/code.js +1 -1
  231. package/dist/esm/components/code.props.js +1 -1
  232. package/dist/esm/components/combobox.js +1 -1
  233. package/dist/esm/components/container.js +1 -1
  234. package/dist/esm/components/context-menu.js +1 -1
  235. package/dist/esm/components/data-list.js +1 -1
  236. package/dist/esm/components/dialog.js +1 -1
  237. package/dist/esm/components/dropdown-menu.js +1 -1
  238. package/dist/esm/components/em.js +1 -1
  239. package/dist/esm/components/em.props.js +1 -1
  240. package/dist/esm/components/flex.js +1 -1
  241. package/dist/esm/components/grid.js +1 -1
  242. package/dist/esm/components/heading.js +1 -1
  243. package/dist/esm/components/heading.props.js +1 -1
  244. package/dist/esm/components/hover-card.js +1 -1
  245. package/dist/esm/components/icon-button.js +1 -1
  246. package/dist/esm/components/image.js +1 -1
  247. package/dist/esm/components/index.js +1 -1
  248. package/dist/esm/components/inset.js +1 -1
  249. package/dist/esm/components/kbd.js +1 -1
  250. package/dist/esm/components/link.js +1 -1
  251. package/dist/esm/components/link.props.js +1 -1
  252. package/dist/esm/components/navbar.js +1 -1
  253. package/dist/esm/components/popover.js +1 -1
  254. package/dist/esm/components/progress.js +1 -1
  255. package/dist/esm/components/quote.js +1 -1
  256. package/dist/esm/components/quote.props.js +1 -1
  257. package/dist/esm/components/radio-cards.js +1 -1
  258. package/dist/esm/components/radio-group.js +1 -1
  259. package/dist/esm/components/radio.js +1 -1
  260. package/dist/esm/components/schemas/index.js +1 -1
  261. package/dist/esm/components/schemas/shell.schema.d.ts +277 -229
  262. package/dist/esm/components/schemas/shell.schema.d.ts.map +1 -1
  263. package/dist/esm/components/schemas/shell.schema.js +1 -1
  264. package/dist/esm/components/scroll-area.js +1 -1
  265. package/dist/esm/components/section.js +1 -1
  266. package/dist/esm/components/segmented-control.js +1 -1
  267. package/dist/esm/components/select.js +1 -1
  268. package/dist/esm/components/separator.js +1 -1
  269. package/dist/esm/components/sheet.js +1 -1
  270. package/dist/esm/components/shell.context.d.ts +25 -114
  271. package/dist/esm/components/shell.context.d.ts.map +1 -1
  272. package/dist/esm/components/shell.context.js +1 -1
  273. package/dist/esm/components/shell.d.ts +42 -21
  274. package/dist/esm/components/shell.d.ts.map +1 -1
  275. package/dist/esm/components/shell.hooks.d.ts +7 -23
  276. package/dist/esm/components/shell.hooks.d.ts.map +1 -1
  277. package/dist/esm/components/shell.hooks.js +1 -1
  278. package/dist/esm/components/shell.js +1 -1
  279. package/dist/esm/components/shell.types.d.ts +19 -2
  280. package/dist/esm/components/shell.types.d.ts.map +1 -1
  281. package/dist/esm/components/shell.types.js +1 -1
  282. package/dist/esm/components/sidebar.js +1 -1
  283. package/dist/esm/components/skeleton.js +1 -1
  284. package/dist/esm/components/slider.js +1 -1
  285. package/dist/esm/components/spinner.js +1 -1
  286. package/dist/esm/components/strong.js +1 -1
  287. package/dist/esm/components/strong.props.js +1 -1
  288. package/dist/esm/components/switch.js +1 -1
  289. package/dist/esm/components/tab-nav.js +1 -1
  290. package/dist/esm/components/table.js +1 -1
  291. package/dist/esm/components/tabs.js +1 -1
  292. package/dist/esm/components/text-area.js +1 -1
  293. package/dist/esm/components/text-field.js +1 -1
  294. package/dist/esm/components/text.js +1 -1
  295. package/dist/esm/components/text.props.js +1 -1
  296. package/dist/esm/components/theme-panel.js +1 -1
  297. package/dist/esm/components/toggle-button.js +1 -1
  298. package/dist/esm/components/toggle-icon-button.js +1 -1
  299. package/dist/esm/components/toolbar.js +1 -1
  300. package/dist/esm/components/tooltip.js +1 -1
  301. package/dist/esm/components/user-card.js +1 -1
  302. package/dist/esm/components/virtual-menu.js +1 -1
  303. package/dist/esm/helpers/extract-props.js +1 -1
  304. package/dist/esm/helpers/get-margin-styles.js +1 -1
  305. package/dist/esm/helpers/get-responsive-styles.js +1 -1
  306. package/dist/esm/helpers/index.js +1 -1
  307. package/dist/esm/hooks/index.js +1 -1
  308. package/dist/esm/hooks/use-breakpoint.d.ts +5 -0
  309. package/dist/esm/hooks/use-breakpoint.d.ts.map +1 -1
  310. package/dist/esm/hooks/use-breakpoint.js +1 -1
  311. package/dist/esm/index.js +1 -1
  312. package/dist/esm/props/index.js +1 -1
  313. package/package.json +7 -2
  314. package/schemas/index.json +1655 -0
  315. package/schemas/shell-bottom.d.ts +2 -0
  316. package/schemas/shell-bottom.json +180 -76
  317. package/schemas/shell-content.d.ts +2 -0
  318. package/schemas/shell-content.json +11 -5
  319. package/schemas/shell-handle.d.ts +2 -0
  320. package/schemas/shell-handle.json +7 -5
  321. package/schemas/shell-header.d.ts +2 -0
  322. package/schemas/shell-header.json +9 -10
  323. package/schemas/shell-inspector.d.ts +2 -0
  324. package/schemas/shell-inspector.json +183 -79
  325. package/schemas/shell-panel.d.ts +2 -0
  326. package/schemas/shell-panel.json +180 -76
  327. package/schemas/shell-rail.d.ts +2 -0
  328. package/schemas/shell-rail.json +137 -64
  329. package/schemas/shell-root.d.ts +2 -0
  330. package/schemas/shell-root.json +11 -9
  331. package/schemas/shell-sidebar.d.ts +2 -0
  332. package/schemas/shell-sidebar.json +274 -85
  333. package/schemas/shell-trigger.d.ts +2 -0
  334. package/schemas/shell-trigger.json +29 -17
  335. package/src/components/_internal/shell-bottom.tsx +92 -361
  336. package/src/components/_internal/shell-handles.tsx +193 -108
  337. package/src/components/_internal/shell-inspector.tsx +93 -360
  338. package/src/components/_internal/shell-pane.tsx +283 -0
  339. package/src/components/_internal/shell-resizable.tsx +263 -0
  340. package/src/components/_internal/shell-resize.tsx +11 -3
  341. package/src/components/_internal/shell-rest.ts +45 -0
  342. package/src/components/_internal/shell-sidebar.tsx +130 -441
  343. package/src/components/_internal/shell-store.tsx +204 -0
  344. package/src/components/schemas/shell.schema.ts +162 -153
  345. package/src/components/shell.context.tsx +112 -124
  346. package/src/components/shell.css +637 -496
  347. package/src/components/shell.hooks.ts +12 -170
  348. package/src/components/shell.tsx +566 -1497
  349. package/src/components/shell.types.ts +22 -2
  350. package/src/hooks/use-breakpoint.ts +9 -0
  351. package/styles.css +538 -493
  352. package/dist/cjs/components/_internal/shell-prop-helpers.d.ts +0 -7
  353. package/dist/cjs/components/_internal/shell-prop-helpers.d.ts.map +0 -1
  354. package/dist/cjs/components/_internal/shell-prop-helpers.js +0 -2
  355. package/dist/cjs/components/_internal/shell-prop-helpers.js.map +0 -7
  356. package/dist/esm/chunk-2SZZ75RJ.js +0 -2
  357. package/dist/esm/chunk-2SZZ75RJ.js.map +0 -7
  358. package/dist/esm/chunk-4JQZUQY7.js +0 -2
  359. package/dist/esm/chunk-5LXFJMFB.js +0 -2
  360. package/dist/esm/chunk-5LXFJMFB.js.map +0 -7
  361. package/dist/esm/chunk-CECQNGUL.js +0 -2
  362. package/dist/esm/chunk-CECQNGUL.js.map +0 -7
  363. package/dist/esm/chunk-CEIK5U6C.js +0 -2
  364. package/dist/esm/chunk-CEIK5U6C.js.map +0 -7
  365. package/dist/esm/chunk-EE2IH2GL.js +0 -2
  366. package/dist/esm/chunk-EE2IH2GL.js.map +0 -7
  367. package/dist/esm/chunk-FMBECDL4.js +0 -2
  368. package/dist/esm/chunk-HSAG7C53.js +0 -2
  369. package/dist/esm/chunk-JJKQ7CGI.js +0 -2
  370. package/dist/esm/chunk-KFA53SVQ.js.map +0 -7
  371. package/dist/esm/chunk-KRDP5SQ7.js +0 -2
  372. package/dist/esm/chunk-KRDP5SQ7.js.map +0 -7
  373. package/dist/esm/chunk-M6DJRFJZ.js +0 -2
  374. package/dist/esm/chunk-M6DJRFJZ.js.map +0 -7
  375. package/dist/esm/chunk-MCQCG6AS.js +0 -2
  376. package/dist/esm/chunk-NIQT45PJ.js +0 -2
  377. package/dist/esm/chunk-NNO7M466.js +0 -2
  378. package/dist/esm/chunk-NNO7M466.js.map +0 -7
  379. package/dist/esm/chunk-SNHEJU2S.js +0 -2
  380. package/dist/esm/chunk-SNHEJU2S.js.map +0 -7
  381. package/dist/esm/chunk-TLWTUKKL.js +0 -2
  382. package/dist/esm/chunk-TLWTUKKL.js.map +0 -7
  383. package/dist/esm/chunk-XI5YXUCK.js +0 -2
  384. package/dist/esm/components/_internal/shell-prop-helpers.d.ts +0 -7
  385. package/dist/esm/components/_internal/shell-prop-helpers.d.ts.map +0 -1
  386. package/dist/esm/components/_internal/shell-prop-helpers.js +0 -2
  387. package/src/components/_internal/shell-prop-helpers.ts +0 -54
  388. /package/dist/esm/{chunk-HJU4I34X.js.map → chunk-25X75TI7.js.map} +0 -0
  389. /package/dist/esm/{chunk-4XKK32M4.js.map → chunk-26I257HE.js.map} +0 -0
  390. /package/dist/esm/{chunk-GLERJXVS.js.map → chunk-2Q7BJ7YG.js.map} +0 -0
  391. /package/dist/esm/{chunk-CJ27XP5Z.js.map → chunk-3AOFY2B4.js.map} +0 -0
  392. /package/dist/esm/{chunk-7EWFBWBS.js.map → chunk-3PTSRBVY.js.map} +0 -0
  393. /package/dist/esm/{chunk-O2U6RJTB.js.map → chunk-44JZYS7A.js.map} +0 -0
  394. /package/dist/esm/{chunk-CTA5ODAO.js.map → chunk-4WU2WKUJ.js.map} +0 -0
  395. /package/dist/esm/{chunk-KZWNGWIM.js.map → chunk-5M7STAH3.js.map} +0 -0
  396. /package/dist/esm/{chunk-5WRCK4R7.js.map → chunk-5TAHT6VC.js.map} +0 -0
  397. /package/dist/esm/{chunk-RNTCHVFI.js.map → chunk-6J6YX2VX.js.map} +0 -0
  398. /package/dist/esm/{chunk-AGSSWWFI.js.map → chunk-7FKKGUHK.js.map} +0 -0
  399. /package/dist/esm/{chunk-WHFJ4JUN.js.map → chunk-7NYODT3Z.js.map} +0 -0
  400. /package/dist/esm/{chunk-NVDXXGVW.js.map → chunk-7PMMYHZV.js.map} +0 -0
  401. /package/dist/esm/{chunk-KJUDZCYK.js.map → chunk-AIHQ3MVK.js.map} +0 -0
  402. /package/dist/esm/{chunk-UBOOUDS4.js.map → chunk-AO32NT75.js.map} +0 -0
  403. /package/dist/esm/{chunk-JDGJSNWT.js.map → chunk-C5RVO3C3.js.map} +0 -0
  404. /package/dist/esm/{chunk-IHK3H2OM.js.map → chunk-CBNTPHYK.js.map} +0 -0
  405. /package/dist/esm/{chunk-BBJUB52V.js.map → chunk-CRBOJ7N7.js.map} +0 -0
  406. /package/dist/esm/{chunk-VHECAEUP.js.map → chunk-DCIQHXAR.js.map} +0 -0
  407. /package/dist/esm/{chunk-43A5GUSI.js.map → chunk-EHBAK3LQ.js.map} +0 -0
  408. /package/dist/esm/{chunk-K3UAS7RW.js.map → chunk-F3AXE27Q.js.map} +0 -0
  409. /package/dist/esm/{chunk-KFR3CK24.js.map → chunk-FB3PD4Z3.js.map} +0 -0
  410. /package/dist/esm/{chunk-MCPRXVKZ.js.map → chunk-FEAOFF77.js.map} +0 -0
  411. /package/dist/esm/{chunk-VZSQATP6.js.map → chunk-G4YKBAZT.js.map} +0 -0
  412. /package/dist/esm/{chunk-ECXGQQJB.js.map → chunk-GDAKJS64.js.map} +0 -0
  413. /package/dist/esm/{chunk-VR7ZAFYN.js.map → chunk-GGSJXOKR.js.map} +0 -0
  414. /package/dist/esm/{chunk-4JQZUQY7.js.map → chunk-GM7KMQDI.js.map} +0 -0
  415. /package/dist/esm/{chunk-CESYMTJQ.js.map → chunk-H4GR4262.js.map} +0 -0
  416. /package/dist/esm/{chunk-WXQIIKWV.js.map → chunk-HBIF43PT.js.map} +0 -0
  417. /package/dist/esm/{chunk-2264DHUW.js.map → chunk-HMSSFU6I.js.map} +0 -0
  418. /package/dist/esm/{chunk-S5C5YRBS.js.map → chunk-IDUVJJYG.js.map} +0 -0
  419. /package/dist/esm/{chunk-CIYF56YS.js.map → chunk-IK3MQHA5.js.map} +0 -0
  420. /package/dist/esm/{chunk-CKMMUHKE.js.map → chunk-JDEBKA56.js.map} +0 -0
  421. /package/dist/esm/{chunk-E67CIG6A.js.map → chunk-JDWCQ2XP.js.map} +0 -0
  422. /package/dist/esm/{chunk-L3BWTV7I.js.map → chunk-JQSZF3E2.js.map} +0 -0
  423. /package/dist/esm/{chunk-MEO7MJMQ.js.map → chunk-JQW4XYBS.js.map} +0 -0
  424. /package/dist/esm/{chunk-KMPE7TJ6.js.map → chunk-JRFZ535T.js.map} +0 -0
  425. /package/dist/esm/{chunk-CDG5WH4U.js.map → chunk-KEEPKI2X.js.map} +0 -0
  426. /package/dist/esm/{chunk-GAV3NHYL.js.map → chunk-KV4SZP3F.js.map} +0 -0
  427. /package/dist/esm/{chunk-FG7XM7KJ.js.map → chunk-LJCUPAOI.js.map} +0 -0
  428. /package/dist/esm/{chunk-N4GTDLRD.js.map → chunk-MBCQA7UZ.js.map} +0 -0
  429. /package/dist/esm/{chunk-JJKQ7CGI.js.map → chunk-MM5IHQFM.js.map} +0 -0
  430. /package/dist/esm/{chunk-Y5RCH23Z.js.map → chunk-NQXRWBQM.js.map} +0 -0
  431. /package/dist/esm/{chunk-CSKZZOI2.js.map → chunk-NTNMJX5M.js.map} +0 -0
  432. /package/dist/esm/{chunk-V27ZAN3E.js.map → chunk-NV3P2CKH.js.map} +0 -0
  433. /package/dist/esm/{chunk-4ME6O27S.js.map → chunk-O4CSXNST.js.map} +0 -0
  434. /package/dist/esm/{chunk-HSAG7C53.js.map → chunk-ODCVOXEV.js.map} +0 -0
  435. /package/dist/esm/{chunk-W2FOBR5Q.js.map → chunk-OEEF6KJG.js.map} +0 -0
  436. /package/dist/esm/{chunk-ABSKRHVM.js.map → chunk-OJSOX3AX.js.map} +0 -0
  437. /package/dist/esm/{chunk-JGLAE5G7.js.map → chunk-OQU2SKLN.js.map} +0 -0
  438. /package/dist/esm/{chunk-PZ7OYATT.js.map → chunk-OTKQN2KY.js.map} +0 -0
  439. /package/dist/esm/{chunk-QWVU2TW4.js.map → chunk-P27KV2LS.js.map} +0 -0
  440. /package/dist/esm/{chunk-JUY7CBSL.js.map → chunk-PBFSBHBS.js.map} +0 -0
  441. /package/dist/esm/{chunk-DSJY5RI3.js.map → chunk-PDUHBDFC.js.map} +0 -0
  442. /package/dist/esm/{chunk-MTOLKA6S.js.map → chunk-POG3YABW.js.map} +0 -0
  443. /package/dist/esm/{chunk-GO7OHBHW.js.map → chunk-PYXMGEO7.js.map} +0 -0
  444. /package/dist/esm/{chunk-VNH7BJOA.js.map → chunk-QEGEUD4D.js.map} +0 -0
  445. /package/dist/esm/{chunk-MCQCG6AS.js.map → chunk-QEL55MLF.js.map} +0 -0
  446. /package/dist/esm/{chunk-MS5J4MF6.js.map → chunk-QJVAS7AK.js.map} +0 -0
  447. /package/dist/esm/{chunk-KCWESYMR.js.map → chunk-RY67WG3O.js.map} +0 -0
  448. /package/dist/esm/{chunk-IFM4EMZB.js.map → chunk-TLGXIWAS.js.map} +0 -0
  449. /package/dist/esm/{chunk-6FLLFCBU.js.map → chunk-UBSLEGQZ.js.map} +0 -0
  450. /package/dist/esm/{chunk-VBI3AWPT.js.map → chunk-UNWPH3SO.js.map} +0 -0
  451. /package/dist/esm/{chunk-X7V3V3W4.js.map → chunk-VTIL55SR.js.map} +0 -0
  452. /package/dist/esm/{chunk-ALWNS44Q.js.map → chunk-W2LD2YE6.js.map} +0 -0
  453. /package/dist/esm/{chunk-2I7QRVJ5.js.map → chunk-WGWUEU4K.js.map} +0 -0
  454. /package/dist/esm/{chunk-EPTYNVCU.js.map → chunk-WIDJYVZF.js.map} +0 -0
  455. /package/dist/esm/{chunk-OLAWVEAI.js.map → chunk-WJBOOAIO.js.map} +0 -0
  456. /package/dist/esm/{chunk-7FC7HF76.js.map → chunk-WQCB7KSH.js.map} +0 -0
  457. /package/dist/esm/{chunk-YBSRX63K.js.map → chunk-WZFVTC7P.js.map} +0 -0
  458. /package/dist/esm/{chunk-XI5YXUCK.js.map → chunk-XDDKT4NF.js.map} +0 -0
  459. /package/dist/esm/{chunk-OFUNVHZ5.js.map → chunk-YG66IRW4.js.map} +0 -0
  460. /package/dist/esm/{chunk-WGYUWEQV.js.map → chunk-YVSM2LGS.js.map} +0 -0
  461. /package/dist/esm/{chunk-4NTGF22C.js.map → chunk-Z7AZNMNX.js.map} +0 -0
  462. /package/dist/esm/{chunk-NIQT45PJ.js.map → chunk-ZJ33QP5N.js.map} +0 -0
  463. /package/dist/esm/{chunk-OGXZHAQL.js.map → chunk-ZW26J2SA.js.map} +0 -0
  464. /package/dist/esm/components/_internal/{shell-prop-helpers.js.map → shell-pane.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";var g=Object.defineProperty;var G=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var Q=Object.prototype.hasOwnProperty;var X=(t,i)=>{for(var u in i)g(t,u,{get:i[u],enumerable:!0})},Y=(t,i,u,S)=>{if(i&&typeof i=="object"||typeof i=="function")for(let c of J(i))!Q.call(t,c)&&c!==u&&g(t,c,{get:()=>i[c],enumerable:!(S=G(i,c))||S.enumerable});return t};var $=t=>Y(g({},"__esModule",{value:!0}),t);var ie={};X(ie,{BaseButtonSchema:()=>s,ButtonSchema:()=>b,IconButtonSchema:()=>x,ShellBottomSchema:()=>E,ShellContentSchema:()=>N,ShellHandleSchema:()=>j,ShellHeaderSchema:()=>T,ShellInspectorSchema:()=>D,ShellPanelSchema:()=>k,ShellRailSchema:()=>A,ShellRootSchema:()=>C,ShellSidebarSchema:()=>M,ShellTriggerSchema:()=>H,ToggleButtonSchema:()=>B,ToggleIconButtonSchema:()=>w,parseBaseButtonProps:()=>P,parseButtonProps:()=>y,parseIconButtonProps:()=>v,parseProps:()=>re,parseShellBottomProps:()=>q,parseShellContentProps:()=>K,parseShellHandleProps:()=>Z,parseShellHeaderProps:()=>V,parseShellInspectorProps:()=>L,parseShellPanelProps:()=>W,parseShellRailProps:()=>_,parseShellRootProps:()=>O,parseShellSidebarProps:()=>F,parseShellTriggerProps:()=>U,parseToggleButtonProps:()=>z,parseToggleIconButtonProps:()=>I});module.exports=$(ie);var n=require("zod"),s=n.z.object({as:n.z.string().optional().describe("HTML element type to render as"),asChild:n.z.boolean().optional().describe("Merge props with child element instead of rendering wrapper"),size:n.z.union([n.z.enum(["1","2","3","4"]),n.z.object({initial:n.z.enum(["1","2","3","4"]).optional(),sm:n.z.enum(["1","2","3","4"]).optional(),md:n.z.enum(["1","2","3","4"]).optional(),lg:n.z.enum(["1","2","3","4"]).optional(),xl:n.z.enum(["1","2","3","4"]).optional()})]).default("2").describe("Button size for responsive design and interface density"),variant:n.z.enum(["classic","solid","soft","surface","outline","ghost","override"]).default("solid").describe("Visual variant that determines the button's appearance and context"),color:n.z.enum(["tomato","red","ruby","crimson","pink","plum","purple","violet","iris","indigo","blue","cyan","teal","jade","green","grass","brown","orange","sky","mint","lime","yellow","amber","gold","bronze","gray"]).optional().describe("Accent color for the button"),radius:n.z.enum(["none","small","medium","large","full"]).optional().describe("Border radius for the button"),loading:n.z.boolean().optional().default(!1).describe("Loading state that shows a spinner and disables interaction"),fullWidth:n.z.boolean().optional().default(!1).describe("Full width mode that expands the button to fill its container"),material:n.z.enum(["solid","translucent"]).optional().describe("Material type for visual rendering and depth effects"),panelBackground:n.z.enum(["solid","translucent"]).optional().describe("Panel background type (deprecated - use material instead)"),flush:n.z.boolean().optional().default(!1).describe("Flush mode that removes visual padding for seamless text integration"),disabled:n.z.boolean().optional().default(!1).describe("Disabled state"),type:n.z.enum(["button","submit","reset"]).optional().describe("Type attribute for form buttons"),className:n.z.string().optional().describe("Additional CSS class name"),style:n.z.record(n.z.string(),n.z.union([n.z.string(),n.z.number()])).optional().describe("Inline styles"),onClick:n.z.function().optional().describe("Click handler"),onFocus:n.z.function().optional().describe("Focus handler"),onBlur:n.z.function().optional().describe("Blur handler"),onMouseEnter:n.z.function().optional().describe("Mouse enter handler"),onMouseLeave:n.z.function().optional().describe("Mouse leave handler"),onKeyDown:n.z.function().optional().describe("Key down handler"),onKeyUp:n.z.function().optional().describe("Key up handler"),onSubmit:n.z.function().optional().describe("Form submission handler"),tabIndex:n.z.number().optional().describe("Tab index for keyboard navigation"),"aria-label":n.z.string().optional().describe("ARIA label for accessibility"),"aria-labelledby":n.z.string().optional().describe("ARIA labelled by reference"),"aria-describedby":n.z.string().optional().describe("ARIA described by reference"),"aria-expanded":n.z.boolean().optional().describe("ARIA expanded state"),"aria-pressed":n.z.boolean().optional().describe("ARIA pressed state"),"aria-current":n.z.union([n.z.boolean(),n.z.enum(["page","step","location","date","time"])]).optional().describe("ARIA current state"),"aria-controls":n.z.string().optional().describe("ARIA controls reference"),"aria-owns":n.z.string().optional().describe("ARIA owns reference"),"data-*":n.z.record(n.z.string(),n.z.string()).optional().describe("Data attributes"),id:n.z.string().optional().describe("ID attribute"),title:n.z.string().optional().describe("Title attribute for tooltip"),role:n.z.string().optional().describe("Role attribute"),children:n.z.any().optional().describe("Children elements")}).strict();function P(t){return t}var o=require("zod");var b=s.extend({tooltip:o.z.string().optional().describe("Content to display in the tooltip on hover/focus"),tooltipSide:o.z.enum(["top","right","bottom","left"]).optional().default("top").describe("Side of the button where the tooltip should appear"),tooltipAlign:o.z.enum(["start","center","end"]).optional().default("center").describe("Alignment of the tooltip relative to the button"),tooltipDelayDuration:o.z.number().optional().describe("Delay before showing the tooltip (in milliseconds)"),tooltipDisableHoverableContent:o.z.boolean().optional().default(!1).describe("Whether to disable hoverable content behavior"),overrideStyles:o.z.object({normal:o.z.object({color:o.z.string().optional(),background:o.z.string().optional(),backgroundColor:o.z.string().optional(),boxShadow:o.z.string().optional(),filter:o.z.string().optional(),outline:o.z.string().optional(),outlineOffset:o.z.string().optional(),opacity:o.z.union([o.z.string(),o.z.number()]).optional()}).optional(),hover:o.z.object({color:o.z.string().optional(),background:o.z.string().optional(),backgroundColor:o.z.string().optional(),boxShadow:o.z.string().optional(),filter:o.z.string().optional(),outline:o.z.string().optional(),outlineOffset:o.z.string().optional(),opacity:o.z.union([o.z.string(),o.z.number()]).optional()}).optional(),active:o.z.object({color:o.z.string().optional(),background:o.z.string().optional(),backgroundColor:o.z.string().optional(),boxShadow:o.z.string().optional(),filter:o.z.string().optional(),outline:o.z.string().optional(),outlineOffset:o.z.string().optional(),opacity:o.z.union([o.z.string(),o.z.number()]).optional()}).optional(),pressed:o.z.object({color:o.z.string().optional(),background:o.z.string().optional(),backgroundColor:o.z.string().optional(),boxShadow:o.z.string().optional(),filter:o.z.string().optional(),outline:o.z.string().optional(),outlineOffset:o.z.string().optional(),opacity:o.z.union([o.z.string(),o.z.number()]).optional()}).optional(),open:o.z.object({color:o.z.string().optional(),background:o.z.string().optional(),backgroundColor:o.z.string().optional(),boxShadow:o.z.string().optional(),filter:o.z.string().optional(),outline:o.z.string().optional(),outlineOffset:o.z.string().optional(),opacity:o.z.union([o.z.string(),o.z.number()]).optional()}).optional(),disabled:o.z.object({color:o.z.string().optional(),background:o.z.string().optional(),backgroundColor:o.z.string().optional(),boxShadow:o.z.string().optional(),filter:o.z.string().optional(),outline:o.z.string().optional(),outlineOffset:o.z.string().optional(),opacity:o.z.union([o.z.string(),o.z.number()]).optional()}).optional(),focus:o.z.object({outline:o.z.string().optional(),outlineOffset:o.z.string().optional()}).optional()}).optional().describe("Override styles for different interaction states")}).strict();function y(t){return t}var a=require("zod");var x=s.extend({tooltip:a.z.string().optional().describe("Content to display in the tooltip on hover/focus"),tooltipSide:a.z.enum(["top","right","bottom","left"]).optional().default("top").describe("Side of the button where the tooltip should appear"),tooltipAlign:a.z.enum(["start","center","end"]).optional().default("center").describe("Alignment of the tooltip relative to the button"),tooltipDelayDuration:a.z.number().optional().describe("Delay before showing the tooltip (in milliseconds)"),tooltipDisableHoverableContent:a.z.boolean().optional().default(!1).describe("Whether to disable hoverable content behavior"),"aria-label":a.z.string().optional().describe("ARIA label for accessibility"),"aria-labelledby":a.z.string().optional().describe("ARIA labelled by reference"),children:a.z.any().optional().describe("Children elements (required for accessibility if no aria-label)")}).refine(t=>t["aria-label"]||t["aria-labelledby"]||t.children,{message:"IconButton must have either 'aria-label', 'aria-labelledby', or 'children' for accessibility",path:["aria-label","aria-labelledby","children"]});function v(t){return t}var h=require("zod");var B=b.extend({pressed:h.z.boolean().optional().describe("Controlled pressed state"),onPressedChange:h.z.function().optional().describe("Callback when pressed state changes"),defaultPressed:h.z.boolean().optional().describe("Default pressed state for uncontrolled usage")}).refine(t=>!(t.pressed!==void 0&&t.onPressedChange===void 0),{message:"When using controlled mode (pressed prop), onPressedChange must also be provided",path:["onPressedChange"]}).refine(t=>!(t.pressed!==void 0&&t.defaultPressed!==void 0),{message:"Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together",path:["pressed","defaultPressed"]});function z(t){return t}var r=require("zod");var w=s.extend({tooltip:r.z.string().optional().describe("Content to display in the tooltip on hover/focus"),tooltipSide:r.z.enum(["top","right","bottom","left"]).optional().default("top").describe("Side of the button where the tooltip should appear"),tooltipAlign:r.z.enum(["start","center","end"]).optional().default("center").describe("Alignment of the tooltip relative to the button"),tooltipDelayDuration:r.z.number().optional().describe("Delay before showing the tooltip (in milliseconds)"),tooltipDisableHoverableContent:r.z.boolean().optional().default(!1).describe("Whether to disable hoverable content behavior"),"aria-label":r.z.string().optional().describe("ARIA label for accessibility"),"aria-labelledby":r.z.string().optional().describe("ARIA labelled by reference"),children:r.z.any().optional().describe("Children elements (required for accessibility if no aria-label)"),pressed:r.z.boolean().optional().describe("Controlled pressed state"),onPressedChange:r.z.function().optional().describe("Callback when pressed state changes"),defaultPressed:r.z.boolean().optional().describe("Default pressed state for uncontrolled usage")}).refine(t=>t["aria-label"]||t["aria-labelledby"]||t.children,{message:"ToggleIconButton must have either 'aria-label', 'aria-labelledby', or 'children' for accessibility",path:["aria-label","aria-labelledby","children"]}).refine(t=>!(t.pressed!==void 0&&t.onPressedChange===void 0),{message:"When using controlled mode (pressed prop), onPressedChange must also be provided",path:["onPressedChange"]}).refine(t=>!(t.pressed!==void 0&&t.defaultPressed!==void 0),{message:"Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together",path:["pressed","defaultPressed"]});function I(t){return t}var e=require("zod"),l=e.z.enum(["expanded","collapsed"]).describe("Pane state mode"),p=e.z.enum(["collapsed","thin","expanded"]).describe("Sidebar state mode"),d=e.z.enum(["fixed","overlay","stacked"]).describe("Presentation mode"),fe=e.z.enum(["initial","xs","sm","md","lg","xl"]).describe("Responsive breakpoint"),ee=e.z.enum(["left","rail","panel","sidebar","inspector","bottom"]).describe("Pane target"),oe=e.z.enum(["toggle","expand","collapse"]).describe("Trigger action"),R=e.z.union([l,e.z.object({initial:l.optional(),xs:l.optional(),sm:l.optional(),md:l.optional(),lg:l.optional(),xl:l.optional()})]).describe("Responsive pane mode configuration"),te=e.z.union([p,e.z.object({initial:p.optional(),xs:p.optional(),sm:p.optional(),md:p.optional(),lg:p.optional(),xl:p.optional()})]).describe("Responsive sidebar mode configuration"),m=e.z.union([d,e.z.object({initial:d.optional(),xs:d.optional(),sm:d.optional(),md:d.optional(),lg:d.optional(),xl:d.optional()})]).describe("Responsive presentation configuration"),ne=e.z.object({load:e.z.function({output:e.z.union([e.z.number(),e.z.promise(e.z.number()),e.z.undefined()])}).optional(),save:e.z.function({input:[e.z.number()],output:e.z.union([e.z.void(),e.z.promise(e.z.void())])}).optional()}).describe("Size persistence adapter"),f=e.z.object({presentation:m.optional(),mode:l.optional(),defaultMode:R.optional(),onModeChange:e.z.function({input:[l],output:e.z.void()}).optional(),expandedSize:e.z.number().optional(),minSize:e.z.number().optional(),maxSize:e.z.number().optional(),resizable:e.z.boolean().optional(),collapsible:e.z.boolean().optional(),onExpand:e.z.function({output:e.z.void()}).optional(),onCollapse:e.z.function({output:e.z.void()}).optional(),onResize:e.z.function({input:[e.z.number()],output:e.z.void()}).optional(),resizer:e.z.any().optional(),onResizeStart:e.z.function({input:[e.z.number()],output:e.z.void()}).optional(),onResizeEnd:e.z.function({input:[e.z.number()],output:e.z.void()}).optional(),snapPoints:e.z.array(e.z.number()).optional(),snapTolerance:e.z.number().optional(),collapseThreshold:e.z.number().optional(),paneId:e.z.string().optional(),persistence:ne.optional(),className:e.z.string().optional(),style:e.z.record(e.z.string(),e.z.union([e.z.string(),e.z.number()])).optional(),children:e.z.any().optional()}).strict(),C=e.z.object({height:e.z.union([e.z.literal("full"),e.z.literal("auto"),e.z.string(),e.z.number()]).default("full").describe("Height of the shell container"),className:e.z.string().optional().describe("Additional CSS class name"),style:e.z.record(e.z.string(),e.z.union([e.z.string(),e.z.number()])).optional().describe("Inline styles"),children:e.z.any().optional().describe("Shell components")}).strict(),T=e.z.object({height:e.z.union([e.z.string(),e.z.number()]).default(64).describe("Height of the header"),className:e.z.string().optional().describe("Additional CSS class name"),style:e.z.record(e.z.string(),e.z.union([e.z.string(),e.z.number()])).optional().describe("Inline styles"),children:e.z.any().optional().describe("Header content")}).strict(),A=e.z.object({presentation:m.optional(),mode:l.optional(),defaultMode:R.optional(),onModeChange:e.z.function({input:[l],output:e.z.void()}).optional(),expandedSize:e.z.number().default(64).describe("Default width in pixels"),collapsible:e.z.boolean().optional(),onExpand:e.z.function({output:e.z.void()}).optional(),onCollapse:e.z.function({output:e.z.void()}).optional(),className:e.z.string().optional().describe("Additional CSS class name"),style:e.z.record(e.z.string(),e.z.union([e.z.string(),e.z.number()])).optional().describe("Inline styles"),children:e.z.any().optional().describe("Rail content")}).strict(),k=f.extend({expandedSize:e.z.number().default(288).describe("Default width in pixels"),minSize:e.z.number().default(200).describe("Minimum width when resizing"),maxSize:e.z.number().default(800).describe("Maximum width when resizing"),resizable:e.z.boolean().default(!1).describe("Whether the panel can be resized"),collapsible:e.z.boolean().default(!0).describe("Whether the panel can be collapsed via resize handle")}).strict(),M=f.extend({mode:p.optional(),defaultMode:te.default("expanded").describe("Initial sidebar mode"),expandedSize:e.z.number().default(288).describe("Default width in pixels"),minSize:e.z.number().default(200).describe("Minimum width when resizing"),maxSize:e.z.number().default(400).describe("Maximum width when resizing"),thinSize:e.z.number().default(64).describe("Width in thin mode"),toggleModes:e.z.enum(["both","single"]).optional().describe("Available modes in toggle sequence"),resizable:e.z.boolean().default(!1).describe("Whether the sidebar can be resized"),collapsible:e.z.boolean().default(!0).describe("Whether the sidebar can be collapsed via resize handle")}).strict(),N=e.z.object({className:e.z.string().optional().describe("Additional CSS class name"),style:e.z.record(e.z.string(),e.z.union([e.z.string(),e.z.number()])).optional().describe("Inline styles"),children:e.z.any().optional().describe("Main content")}).strict(),D=f.extend({presentation:m.default({initial:"overlay",lg:"fixed"}).describe("Presentation mode"),expandedSize:e.z.number().default(320).describe("Default width in pixels"),minSize:e.z.number().default(200).describe("Minimum width when resizing"),maxSize:e.z.number().default(500).describe("Maximum width when resizing"),resizable:e.z.boolean().default(!1).describe("Whether the inspector can be resized"),collapsible:e.z.boolean().default(!0).describe("Whether the inspector can be collapsed via resize handle")}).strict(),E=f.extend({presentation:m.default("fixed").describe("Presentation mode"),expandedSize:e.z.number().default(200).describe("Default height in pixels"),minSize:e.z.number().default(100).describe("Minimum height when resizing"),maxSize:e.z.number().default(400).describe("Maximum height when resizing"),resizable:e.z.boolean().default(!1).describe("Whether the bottom panel can be resized"),collapsible:e.z.boolean().default(!0).describe("Whether the bottom panel can be collapsed via resize handle")}).strict(),H=e.z.object({target:ee.describe("Which pane to control"),action:oe.default("toggle").describe("Action to perform"),peekOnHover:e.z.boolean().default(!1).describe("Whether to show peek preview on hover when collapsed"),className:e.z.string().optional().describe("Additional CSS class name"),style:e.z.record(e.z.string(),e.z.union([e.z.string(),e.z.number()])).optional().describe("Inline styles"),children:e.z.any().optional().describe("Trigger content"),onClick:e.z.function().optional().describe("Click handler"),onMouseEnter:e.z.function().optional().describe("Mouse enter handler"),onMouseLeave:e.z.function().optional().describe("Mouse leave handler"),"aria-label":e.z.string().optional().describe("ARIA label for accessibility"),"aria-labelledby":e.z.string().optional().describe("ARIA labelled by reference"),"aria-describedby":e.z.string().optional().describe("ARIA described by reference")}).strict(),j=e.z.object({className:e.z.string().optional().describe("Additional CSS class name"),style:e.z.record(e.z.string(),e.z.union([e.z.string(),e.z.number()])).optional().describe("Inline styles"),children:e.z.any().optional().describe("Handle content")}).strict();function O(t){return t}function V(t){return t}function _(t){return t}function W(t){return t}function F(t){return t}function K(t){return t}function L(t){return t}function q(t){return t}function U(t){return t}function Z(t){return t}var Se=require("zod");function re(t,i){return i}
1
+ "use strict";var S=Object.defineProperty;var Y=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames;var ee=Object.prototype.hasOwnProperty;var oe=(t,i)=>{for(var u in i)S(t,u,{get:i[u],enumerable:!0})},te=(t,i,u,y)=>{if(i&&typeof i=="object"||typeof i=="function")for(let d of $(i))!ee.call(t,d)&&d!==u&&S(t,d,{get:()=>i[d],enumerable:!(y=Y(i,d))||y.enumerable});return t};var ne=t=>te(S({},"__esModule",{value:!0}),t);var ce={};oe(ce,{BaseButtonSchema:()=>s,ButtonSchema:()=>h,IconButtonSchema:()=>z,ShellBottomSchema:()=>V,ShellContentSchema:()=>O,ShellHandleSchema:()=>_,ShellHeaderSchema:()=>N,ShellInspectorSchema:()=>H,ShellPanelSchema:()=>E,ShellRailSchema:()=>M,ShellRootSchema:()=>D,ShellSidebarSchema:()=>j,ShellTriggerSchema:()=>W,ToggleButtonSchema:()=>w,ToggleIconButtonSchema:()=>C,parseBaseButtonProps:()=>x,parseButtonProps:()=>v,parseIconButtonProps:()=>B,parseProps:()=>de,parseShellBottomProps:()=>J,parseShellContentProps:()=>Z,parseShellHandleProps:()=>X,parseShellHeaderProps:()=>F,parseShellInspectorProps:()=>G,parseShellPanelProps:()=>U,parseShellRailProps:()=>K,parseShellRootProps:()=>L,parseShellSidebarProps:()=>q,parseShellTriggerProps:()=>Q,parseToggleButtonProps:()=>T,parseToggleIconButtonProps:()=>R});module.exports=ne(ce);var n=require("zod"),s=n.z.object({as:n.z.string().optional().describe("HTML element type to render as"),asChild:n.z.boolean().optional().describe("Merge props with child element instead of rendering wrapper"),size:n.z.union([n.z.enum(["1","2","3","4"]),n.z.object({initial:n.z.enum(["1","2","3","4"]).optional(),sm:n.z.enum(["1","2","3","4"]).optional(),md:n.z.enum(["1","2","3","4"]).optional(),lg:n.z.enum(["1","2","3","4"]).optional(),xl:n.z.enum(["1","2","3","4"]).optional()})]).default("2").describe("Button size for responsive design and interface density"),variant:n.z.enum(["classic","solid","soft","surface","outline","ghost","override"]).default("solid").describe("Visual variant that determines the button's appearance and context"),color:n.z.enum(["tomato","red","ruby","crimson","pink","plum","purple","violet","iris","indigo","blue","cyan","teal","jade","green","grass","brown","orange","sky","mint","lime","yellow","amber","gold","bronze","gray"]).optional().describe("Accent color for the button"),radius:n.z.enum(["none","small","medium","large","full"]).optional().describe("Border radius for the button"),loading:n.z.boolean().optional().default(!1).describe("Loading state that shows a spinner and disables interaction"),fullWidth:n.z.boolean().optional().default(!1).describe("Full width mode that expands the button to fill its container"),material:n.z.enum(["solid","translucent"]).optional().describe("Material type for visual rendering and depth effects"),panelBackground:n.z.enum(["solid","translucent"]).optional().describe("Panel background type (deprecated - use material instead)"),flush:n.z.boolean().optional().default(!1).describe("Flush mode that removes visual padding for seamless text integration"),disabled:n.z.boolean().optional().default(!1).describe("Disabled state"),type:n.z.enum(["button","submit","reset"]).optional().describe("Type attribute for form buttons"),className:n.z.string().optional().describe("Additional CSS class name"),style:n.z.record(n.z.string(),n.z.union([n.z.string(),n.z.number()])).optional().describe("Inline styles"),onClick:n.z.function().optional().describe("Click handler"),onFocus:n.z.function().optional().describe("Focus handler"),onBlur:n.z.function().optional().describe("Blur handler"),onMouseEnter:n.z.function().optional().describe("Mouse enter handler"),onMouseLeave:n.z.function().optional().describe("Mouse leave handler"),onKeyDown:n.z.function().optional().describe("Key down handler"),onKeyUp:n.z.function().optional().describe("Key up handler"),onSubmit:n.z.function().optional().describe("Form submission handler"),tabIndex:n.z.number().optional().describe("Tab index for keyboard navigation"),"aria-label":n.z.string().optional().describe("ARIA label for accessibility"),"aria-labelledby":n.z.string().optional().describe("ARIA labelled by reference"),"aria-describedby":n.z.string().optional().describe("ARIA described by reference"),"aria-expanded":n.z.boolean().optional().describe("ARIA expanded state"),"aria-pressed":n.z.boolean().optional().describe("ARIA pressed state"),"aria-current":n.z.union([n.z.boolean(),n.z.enum(["page","step","location","date","time"])]).optional().describe("ARIA current state"),"aria-controls":n.z.string().optional().describe("ARIA controls reference"),"aria-owns":n.z.string().optional().describe("ARIA owns reference"),"data-*":n.z.record(n.z.string(),n.z.string()).optional().describe("Data attributes"),id:n.z.string().optional().describe("ID attribute"),title:n.z.string().optional().describe("Title attribute for tooltip"),role:n.z.string().optional().describe("Role attribute"),children:n.z.any().optional().describe("Children elements")}).strict();function x(t){return t}var o=require("zod");var h=s.extend({tooltip:o.z.string().optional().describe("Content to display in the tooltip on hover/focus"),tooltipSide:o.z.enum(["top","right","bottom","left"]).optional().default("top").describe("Side of the button where the tooltip should appear"),tooltipAlign:o.z.enum(["start","center","end"]).optional().default("center").describe("Alignment of the tooltip relative to the button"),tooltipDelayDuration:o.z.number().optional().describe("Delay before showing the tooltip (in milliseconds)"),tooltipDisableHoverableContent:o.z.boolean().optional().default(!1).describe("Whether to disable hoverable content behavior"),overrideStyles:o.z.object({normal:o.z.object({color:o.z.string().optional(),background:o.z.string().optional(),backgroundColor:o.z.string().optional(),boxShadow:o.z.string().optional(),filter:o.z.string().optional(),outline:o.z.string().optional(),outlineOffset:o.z.string().optional(),opacity:o.z.union([o.z.string(),o.z.number()]).optional()}).optional(),hover:o.z.object({color:o.z.string().optional(),background:o.z.string().optional(),backgroundColor:o.z.string().optional(),boxShadow:o.z.string().optional(),filter:o.z.string().optional(),outline:o.z.string().optional(),outlineOffset:o.z.string().optional(),opacity:o.z.union([o.z.string(),o.z.number()]).optional()}).optional(),active:o.z.object({color:o.z.string().optional(),background:o.z.string().optional(),backgroundColor:o.z.string().optional(),boxShadow:o.z.string().optional(),filter:o.z.string().optional(),outline:o.z.string().optional(),outlineOffset:o.z.string().optional(),opacity:o.z.union([o.z.string(),o.z.number()]).optional()}).optional(),pressed:o.z.object({color:o.z.string().optional(),background:o.z.string().optional(),backgroundColor:o.z.string().optional(),boxShadow:o.z.string().optional(),filter:o.z.string().optional(),outline:o.z.string().optional(),outlineOffset:o.z.string().optional(),opacity:o.z.union([o.z.string(),o.z.number()]).optional()}).optional(),open:o.z.object({color:o.z.string().optional(),background:o.z.string().optional(),backgroundColor:o.z.string().optional(),boxShadow:o.z.string().optional(),filter:o.z.string().optional(),outline:o.z.string().optional(),outlineOffset:o.z.string().optional(),opacity:o.z.union([o.z.string(),o.z.number()]).optional()}).optional(),disabled:o.z.object({color:o.z.string().optional(),background:o.z.string().optional(),backgroundColor:o.z.string().optional(),boxShadow:o.z.string().optional(),filter:o.z.string().optional(),outline:o.z.string().optional(),outlineOffset:o.z.string().optional(),opacity:o.z.union([o.z.string(),o.z.number()]).optional()}).optional(),focus:o.z.object({outline:o.z.string().optional(),outlineOffset:o.z.string().optional()}).optional()}).optional().describe("Override styles for different interaction states")}).strict();function v(t){return t}var a=require("zod");var z=s.extend({tooltip:a.z.string().optional().describe("Content to display in the tooltip on hover/focus"),tooltipSide:a.z.enum(["top","right","bottom","left"]).optional().default("top").describe("Side of the button where the tooltip should appear"),tooltipAlign:a.z.enum(["start","center","end"]).optional().default("center").describe("Alignment of the tooltip relative to the button"),tooltipDelayDuration:a.z.number().optional().describe("Delay before showing the tooltip (in milliseconds)"),tooltipDisableHoverableContent:a.z.boolean().optional().default(!1).describe("Whether to disable hoverable content behavior"),"aria-label":a.z.string().optional().describe("ARIA label for accessibility"),"aria-labelledby":a.z.string().optional().describe("ARIA labelled by reference"),children:a.z.any().optional().describe("Children elements (required for accessibility if no aria-label)")}).refine(t=>t["aria-label"]||t["aria-labelledby"]||t.children,{message:"IconButton must have either 'aria-label', 'aria-labelledby', or 'children' for accessibility",path:["aria-label","aria-labelledby","children"]});function B(t){return t}var b=require("zod");var w=h.extend({pressed:b.z.boolean().optional().describe("Controlled pressed state"),onPressedChange:b.z.function().optional().describe("Callback when pressed state changes"),defaultPressed:b.z.boolean().optional().describe("Default pressed state for uncontrolled usage")}).refine(t=>!(t.pressed!==void 0&&t.onPressedChange===void 0),{message:"When using controlled mode (pressed prop), onPressedChange must also be provided",path:["onPressedChange"]}).refine(t=>!(t.pressed!==void 0&&t.defaultPressed!==void 0),{message:"Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together",path:["pressed","defaultPressed"]});function T(t){return t}var r=require("zod");var C=s.extend({tooltip:r.z.string().optional().describe("Content to display in the tooltip on hover/focus"),tooltipSide:r.z.enum(["top","right","bottom","left"]).optional().default("top").describe("Side of the button where the tooltip should appear"),tooltipAlign:r.z.enum(["start","center","end"]).optional().default("center").describe("Alignment of the tooltip relative to the button"),tooltipDelayDuration:r.z.number().optional().describe("Delay before showing the tooltip (in milliseconds)"),tooltipDisableHoverableContent:r.z.boolean().optional().default(!1).describe("Whether to disable hoverable content behavior"),"aria-label":r.z.string().optional().describe("ARIA label for accessibility"),"aria-labelledby":r.z.string().optional().describe("ARIA labelled by reference"),children:r.z.any().optional().describe("Children elements (required for accessibility if no aria-label)"),pressed:r.z.boolean().optional().describe("Controlled pressed state"),onPressedChange:r.z.function().optional().describe("Callback when pressed state changes"),defaultPressed:r.z.boolean().optional().describe("Default pressed state for uncontrolled usage")}).refine(t=>t["aria-label"]||t["aria-labelledby"]||t.children,{message:"ToggleIconButton must have either 'aria-label', 'aria-labelledby', or 'children' for accessibility",path:["aria-label","aria-labelledby","children"]}).refine(t=>!(t.pressed!==void 0&&t.onPressedChange===void 0),{message:"When using controlled mode (pressed prop), onPressedChange must also be provided",path:["onPressedChange"]}).refine(t=>!(t.pressed!==void 0&&t.defaultPressed!==void 0),{message:"Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together",path:["pressed","defaultPressed"]});function R(t){return t}var e=require("zod"),re=e.z.enum(["expanded","collapsed"]).describe("Pane state mode"),P=e.z.enum(["collapsed","thin","expanded"]).describe("Sidebar state"),ie=e.z.enum(["fixed","overlay","stacked"]).describe("Presentation mode"),ve=e.z.enum(["initial","xs","sm","md","lg","xl"]).describe("Responsive breakpoint"),ae=e.z.enum(["left","rail","panel","sidebar","inspector","bottom"]).describe("Pane target. `left` is deprecated: use `rail`."),se=e.z.enum(["toggle","expand","collapse"]).describe("Trigger action"),I=e.z.enum(["toggle","dismiss"]).describe("Why the state changed: `toggle` for a trigger or the resize handle, `dismiss` for Escape or the scrim"),le=e.z.enum(["init","resize","controlled"]).describe("Why the size changed");function m(t){return e.z.union([t,e.z.object({initial:t.optional(),xs:t.optional(),sm:t.optional(),md:t.optional(),lg:t.optional(),xl:t.optional()})])}var ze=m(re).describe("Responsive pane mode configuration"),A=m(P).describe("Responsive sidebar state"),l=m(ie).describe("Responsive presentation configuration"),k=m(e.z.boolean()).describe("Responsive open state"),pe=e.z.object({load:e.z.function({output:e.z.union([e.z.number(),e.z.promise(e.z.number()),e.z.undefined()])}).optional(),save:e.z.function({input:[e.z.number()],output:e.z.union([e.z.void(),e.z.promise(e.z.void())])}).optional()}).describe("Deprecated, removed in 1.0. Keep the size in your own state with `size`/`onSizeChange`."),p=e.z.record(e.z.string(),e.z.union([e.z.string(),e.z.number()])).optional().describe("Inline styles"),f={open:e.z.union([e.z.boolean(),k]).optional().describe("The open state, when controlled. A responsive object is deprecated."),defaultOpen:e.z.union([e.z.boolean(),k]).optional().describe("The starting state. A responsive object leaves the pane untouched, with that object as the answer at each breakpoint."),onOpenChange:e.z.function({input:[e.z.boolean(),e.z.object({reason:I})],output:e.z.void()}).optional().describe("Called when a user opens or closes the pane. Never called on mount or on a resize.")},c={id:e.z.string().optional().describe("The pane id. A Trigger points `aria-controls` at it."),presentation:l.optional(),expandedSize:e.z.number().optional(),inset:e.z.boolean().optional().describe("Lifts the pane off the frame and paints the backdrop behind it"),onExpand:e.z.function({output:e.z.void()}).optional().describe("Deprecated: use `onOpenChange`"),onCollapse:e.z.function({output:e.z.void()}).optional().describe("Deprecated: use `onOpenChange`"),className:e.z.string().optional().describe("Additional CSS class name"),style:p,children:e.z.any().optional()},g={minSize:e.z.number().optional(),maxSize:e.z.number().optional().describe("The largest size. A drag also stops before the handle leaves the frame."),resizable:e.z.boolean().optional(),collapsible:e.z.boolean().optional().describe("A double-click on the handle closes the pane"),size:e.z.union([e.z.number(),e.z.string()]).optional().describe("The size, when controlled"),defaultSize:e.z.union([e.z.number(),e.z.string()]).optional().describe("The starting size"),onSizeChange:e.z.function({input:[e.z.number(),e.z.object({reason:le})],output:e.z.void()}).optional(),sizeUpdate:e.z.enum(["throttle","debounce"]).optional().describe("Rate-limits onSizeChange across repeated resize ends, such as key presses on the handle. A drag calls it once, when the drag ends; use onResize for live sizes."),sizeUpdateMs:e.z.number().optional(),onResize:e.z.function({input:[e.z.number()],output:e.z.void()}).optional().describe("Called during a drag, at most once per animation frame"),onResizeStart:e.z.function({input:[e.z.number()],output:e.z.void()}).optional(),onResizeEnd:e.z.function({input:[e.z.number()],output:e.z.void()}).optional(),snapPoints:e.z.array(e.z.number()).optional().describe("Deprecated, removed in 1.0"),snapTolerance:e.z.number().optional().describe("Deprecated, removed in 1.0"),collapseThreshold:e.z.number().optional().describe("Deprecated, removed in 1.0"),paneId:e.z.string().optional().describe("Deprecated, removed in 1.0"),persistence:pe.optional()},D=e.z.object({height:e.z.union([e.z.literal("full"),e.z.literal("auto"),e.z.string(),e.z.number()]).default("full").describe("Height of the frame. `full` is 100dvh, with 100vh where dvh is not supported."),className:e.z.string().optional().describe("Additional CSS class name"),style:p,children:e.z.any().optional().describe("The Shell parts, and anything else, rendered in order")}).strict(),N=e.z.object({height:e.z.number().default(64).describe("Height of the header, in pixels"),className:e.z.string().optional().describe("Additional CSS class name"),style:p,children:e.z.any().optional().describe("Header content")}).strict(),M=e.z.object({...c,...f,presentation:l.default("fixed").describe("Presentation mode"),expandedSize:e.z.number().default(64).describe("Width in pixels"),collapsible:e.z.boolean().optional()}).strict(),E=e.z.object({...c,...f,...g,presentation:l.optional().describe("Presentation mode. With no value the panel follows the Rail's."),expandedSize:e.z.number().default(288).describe("Open width in pixels"),minSize:e.z.number().default(100).describe("Minimum width when resizing"),maxSize:e.z.number().default(800).describe("Maximum width when resizing"),resizable:e.z.boolean().default(!1).describe("Whether the panel can be resized"),collapsible:e.z.boolean().default(!0).describe("Whether a double-click on the handle closes the panel")}).strict(),j=e.z.object({...c,...g,state:e.z.union([P,A]).optional().describe("The state, when controlled. A responsive object is deprecated."),defaultState:A.optional().describe("The starting state. With no value the sidebar is open where it is in the frame and closed where it is an overlay."),onStateChange:e.z.function({input:[P,e.z.object({reason:I})],output:e.z.void()}).optional().describe("Called when a user changes the state. Never called on mount or on a resize."),presentation:l.default({initial:"overlay",sm:"fixed"}).describe("Presentation mode"),expandedSize:e.z.number().default(288).describe("Open width in pixels"),minSize:e.z.number().default(200).describe("Minimum width when resizing"),maxSize:e.z.number().default(400).describe("Maximum width when resizing"),thinSize:e.z.number().default(64).describe("Width in the thin state"),toggleModes:e.z.enum(["both","single"]).default("both").describe("`both` goes collapsed, thin, expanded; `single` goes between collapsed and one open state"),resizable:e.z.boolean().default(!1).describe("Whether the sidebar can be resized"),collapsible:e.z.boolean().default(!0).describe("Whether a double-click on the handle closes the sidebar")}).strict(),O=e.z.object({inset:e.z.boolean().optional().describe("Lifts the pane off the frame and paints the backdrop behind it"),className:e.z.string().optional().describe("Additional CSS class name"),style:p,children:e.z.any().optional().describe("Main content")}).strict(),H=e.z.object({...c,...f,...g,presentation:l.default({initial:"overlay",sm:"fixed"}).describe("Presentation mode"),expandedSize:e.z.number().default(320).describe("Open width in pixels"),minSize:e.z.number().default(200).describe("Minimum width when resizing"),maxSize:e.z.number().default(500).describe("Maximum width when resizing"),resizable:e.z.boolean().default(!1).describe("Whether the inspector can be resized"),collapsible:e.z.boolean().default(!0).describe("Whether a double-click on the handle closes the inspector")}).strict(),V=e.z.object({...c,...f,...g,presentation:l.default("fixed").describe("Presentation mode"),expandedSize:e.z.number().default(200).describe("Open height in pixels"),minSize:e.z.number().default(100).describe("Minimum height when resizing"),maxSize:e.z.number().default(400).describe("Maximum height when resizing"),resizable:e.z.boolean().default(!1).describe("Whether the bottom panel can be resized"),collapsible:e.z.boolean().default(!0).describe("Whether a double-click on the handle closes the panel")}).strict(),W=e.z.object({target:ae.describe("Which pane to drive"),action:se.default("toggle").describe("Action to perform"),peekOnHover:e.z.boolean().default(!1).describe("Deprecated, removed in 1.0. Shows a preview of a closed pane on hover."),type:e.z.enum(["button","submit","reset"]).default("button").describe("The button type"),className:e.z.string().optional().describe("Additional CSS class name"),style:p,children:e.z.any().optional().describe("Trigger content"),onClick:e.z.function().optional().describe("Runs before the trigger acts. Call `event.preventDefault()` to cancel it."),onMouseEnter:e.z.function().optional().describe("Mouse enter handler"),onMouseLeave:e.z.function().optional().describe("Mouse leave handler"),"aria-label":e.z.string().optional().describe("ARIA label for accessibility"),"aria-labelledby":e.z.string().optional().describe("ARIA labelled by reference"),"aria-describedby":e.z.string().optional().describe("ARIA described by reference")}).strict(),_=e.z.object({className:e.z.string().optional().describe("Additional CSS class name"),style:p,children:e.z.any().optional().describe("Handle content")}).strict();function L(t){return t}function F(t){return t}function K(t){return t}function U(t){return t}function q(t){return t}function Z(t){return t}function G(t){return t}function J(t){return t}function Q(t){return t}function X(t){return t}var we=require("zod");function de(t,i){return i}
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/schemas/index.ts", "../../../../src/components/schemas/base-button.schema.ts", "../../../../src/components/schemas/button.schema.ts", "../../../../src/components/schemas/icon-button.schema.ts", "../../../../src/components/schemas/toggle-button.schema.ts", "../../../../src/components/schemas/toggle-icon-button.schema.ts", "../../../../src/components/schemas/shell.schema.ts"],
4
- "sourcesContent": ["/**\n * Button component schemas - Single source of truth for all button-related components\n *\n * This module exports Zod schemas for all button components, providing:\n * - Type-safe prop validation\n * - Machine-readable JSON schema generation\n * - Development-time prop validation\n * - Consistent API across all button variants\n *\n * @example\n * ```tsx\n * import { ButtonSchema, parseButtonProps } from './schemas';\n *\n * // Type-safe prop validation\n * const props = ButtonSchema.parse({ variant: 'solid', size: '2' });\n *\n * // Development-time validation\n * const validatedProps = parseButtonProps(userProps);\n * ```\n */\n\n// Base schemas\nexport { BaseButtonSchema, parseBaseButtonProps } from './base-button.schema.js';\nexport type { BaseButtonProps } from './base-button.schema.js';\n\n// Button schemas\nexport { ButtonSchema, parseButtonProps } from './button.schema.js';\nexport type { ButtonProps } from './button.schema.js';\n\n// IconButton schemas\nexport { IconButtonSchema, parseIconButtonProps } from './icon-button.schema.js';\nexport type { IconButtonProps } from './icon-button.schema.js';\n\n// ToggleButton schemas\nexport { ToggleButtonSchema, parseToggleButtonProps } from './toggle-button.schema.js';\nexport type { ToggleButtonProps } from './toggle-button.schema.js';\n\n// ToggleIconButton schemas\nexport { ToggleIconButtonSchema, parseToggleIconButtonProps } from './toggle-icon-button.schema.js';\nexport type { ToggleIconButtonProps } from './toggle-icon-button.schema.js';\n\n// Shell schemas\nexport {\n ShellRootSchema,\n ShellHeaderSchema,\n ShellRailSchema,\n ShellPanelSchema,\n ShellSidebarSchema,\n ShellContentSchema,\n ShellInspectorSchema,\n ShellBottomSchema,\n ShellTriggerSchema,\n ShellHandleSchema,\n parseShellRootProps,\n parseShellHeaderProps,\n parseShellRailProps,\n parseShellPanelProps,\n parseShellSidebarProps,\n parseShellContentProps,\n parseShellInspectorProps,\n parseShellBottomProps,\n parseShellTriggerProps,\n parseShellHandleProps,\n} from './shell.schema.js';\nexport type {\n ShellRootProps,\n ShellHeaderProps,\n ShellRailProps,\n ShellPanelProps,\n ShellSidebarProps,\n ShellContentProps,\n ShellInspectorProps,\n ShellBottomProps,\n ShellTriggerProps,\n ShellHandleProps,\n PaneMode,\n SidebarMode,\n PresentationValue,\n Breakpoint,\n PaneTarget,\n TriggerAction,\n ResponsiveMode,\n ResponsiveSidebarMode,\n ResponsivePresentation,\n PaneSizePersistence,\n} from './shell.schema.js';\n\n/**\n * Generic parseProps helper for development-time validation\n *\n * This function provides a type-safe way to validate props in development mode.\n * It should only be used in development as it adds runtime overhead.\n *\n * @param schema - Zod schema to validate against\n * @param props - Props to validate\n * @returns Validated and normalized props\n *\n * @example\n * ```tsx\n * import { parseProps } from './schemas';\n * import { ButtonSchema } from './schemas';\n *\n * // In development, this will validate props and show helpful errors\n * const validatedProps = parseProps(ButtonSchema, userProps);\n * ```\n */\nexport function parseProps<T>(schema: z.ZodSchema<T>, props: unknown): T {\n if (process.env.NODE_ENV === 'development') {\n return schema.parse(props);\n }\n return props as T;\n}\n\nimport { z } from 'zod';\n", "import { z } from 'zod';\n\n/**\n * BaseButton Zod schema - Single source of truth for all button component props\n *\n * This schema defines the core button functionality used by Button, IconButton,\n * ToggleButton, and ToggleIconButton components. It ensures consistency across\n * the design system and provides machine-readable validation.\n *\n * @example\n * ```tsx\n * // Basic validation\n * const props = BaseButtonSchema.parse({ size: '2', variant: 'solid' });\n *\n * // With responsive props\n * const responsiveProps = BaseButtonSchema.parse({\n * size: { initial: '1', sm: '2', md: '3' },\n * variant: 'solid'\n * });\n * ```\n */\nexport const BaseButtonSchema = z\n .object({\n /**\n * Polymorphic rendering - render as different HTML elements\n * @default 'button'\n */\n as: z.string().optional().describe('HTML element type to render as'),\n\n /**\n * Use asChild to merge props with child element\n * @default false\n */\n asChild: z\n .boolean()\n .optional()\n .describe('Merge props with child element instead of rendering wrapper'),\n\n /**\n * Button size for responsive design and interface density\n * Supports responsive objects: { initial: '1', sm: '2', md: '3', lg: '4' }\n * @default '2'\n */\n size: z\n .union([\n z.enum(['1', '2', '3', '4']),\n z.object({\n initial: z.enum(['1', '2', '3', '4']).optional(),\n sm: z.enum(['1', '2', '3', '4']).optional(),\n md: z.enum(['1', '2', '3', '4']).optional(),\n lg: z.enum(['1', '2', '3', '4']).optional(),\n xl: z.enum(['1', '2', '3', '4']).optional(),\n }),\n ])\n .default('2')\n .describe('Button size for responsive design and interface density'),\n\n /**\n * Visual variant that determines the button's appearance and context\n * @default 'solid'\n */\n variant: z\n .enum(['classic', 'solid', 'soft', 'surface', 'outline', 'ghost', 'override'])\n .default('solid')\n .describe(\"Visual variant that determines the button's appearance and context\"),\n\n /**\n * Accent color for the button\n */\n color: z\n .enum([\n 'tomato',\n 'red',\n 'ruby',\n 'crimson',\n 'pink',\n 'plum',\n 'purple',\n 'violet',\n 'iris',\n 'indigo',\n 'blue',\n 'cyan',\n 'teal',\n 'jade',\n 'green',\n 'grass',\n 'brown',\n 'orange',\n 'sky',\n 'mint',\n 'lime',\n 'yellow',\n 'amber',\n 'gold',\n 'bronze',\n 'gray',\n ])\n .optional()\n .describe('Accent color for the button'),\n\n /**\n * Border radius for the button\n */\n radius: z\n .enum(['none', 'small', 'medium', 'large', 'full'])\n .optional()\n .describe('Border radius for the button'),\n\n /**\n * Loading state that shows a spinner and disables interaction\n * Automatically sets disabled=true and provides accessibility announcements\n * @default false\n */\n loading: z\n .boolean()\n .optional()\n .default(false)\n .describe('Loading state that shows a spinner and disables interaction'),\n\n /**\n * Full width mode that expands the button to fill its container\n * Useful for mobile layouts and form submissions\n * @default false\n */\n fullWidth: z\n .boolean()\n .optional()\n .default(false)\n .describe('Full width mode that expands the button to fill its container'),\n\n /**\n * Material type for visual rendering and depth effects\n * Controls how the button renders its visual elements\n */\n material: z\n .enum(['solid', 'translucent'])\n .optional()\n .describe('Material type for visual rendering and depth effects'),\n\n /**\n * Panel background type (deprecated)\n * @deprecated Use `material` prop instead. This prop will be removed in a future version.\n */\n panelBackground: z\n .enum(['solid', 'translucent'])\n .optional()\n .describe('Panel background type (deprecated - use material instead)'),\n\n /**\n * Flush mode that removes visual padding for seamless text integration\n * Only effective with ghost variant\n * @default false\n */\n flush: z\n .boolean()\n .optional()\n .default(false)\n .describe('Flush mode that removes visual padding for seamless text integration'),\n\n /**\n * Disabled state\n * @default false\n */\n disabled: z.boolean().optional().default(false).describe('Disabled state'),\n\n /**\n * Type attribute for form buttons\n * @default 'button'\n */\n type: z\n .enum(['button', 'submit', 'reset'])\n .optional()\n .describe('Type attribute for form buttons'),\n\n /**\n * Additional CSS class name\n */\n className: z.string().optional().describe('Additional CSS class name'),\n\n /**\n * Inline styles\n */\n style: z\n .record(z.string(), z.union([z.string(), z.number()]))\n .optional()\n .describe('Inline styles'),\n\n /**\n * Click handler\n */\n onClick: z.function().optional().describe('Click handler'),\n\n /**\n * Focus handler\n */\n onFocus: z.function().optional().describe('Focus handler'),\n\n /**\n * Blur handler\n */\n onBlur: z.function().optional().describe('Blur handler'),\n\n /**\n * Mouse enter handler\n */\n onMouseEnter: z.function().optional().describe('Mouse enter handler'),\n\n /**\n * Mouse leave handler\n */\n onMouseLeave: z.function().optional().describe('Mouse leave handler'),\n\n /**\n * Key down handler\n */\n onKeyDown: z.function().optional().describe('Key down handler'),\n\n /**\n * Key up handler\n */\n onKeyUp: z.function().optional().describe('Key up handler'),\n\n /**\n * Form submission handler\n */\n onSubmit: z.function().optional().describe('Form submission handler'),\n\n /**\n * Tab index for keyboard navigation\n */\n tabIndex: z.number().optional().describe('Tab index for keyboard navigation'),\n\n /**\n * ARIA label for accessibility\n */\n 'aria-label': z.string().optional().describe('ARIA label for accessibility'),\n\n /**\n * ARIA labelled by reference\n */\n 'aria-labelledby': z.string().optional().describe('ARIA labelled by reference'),\n\n /**\n * ARIA described by reference\n */\n 'aria-describedby': z.string().optional().describe('ARIA described by reference'),\n\n /**\n * ARIA expanded state\n */\n 'aria-expanded': z.boolean().optional().describe('ARIA expanded state'),\n\n /**\n * ARIA pressed state\n */\n 'aria-pressed': z.boolean().optional().describe('ARIA pressed state'),\n\n /**\n * ARIA current state\n */\n 'aria-current': z\n .union([z.boolean(), z.enum(['page', 'step', 'location', 'date', 'time'])])\n .optional()\n .describe('ARIA current state'),\n\n /**\n * ARIA controls reference\n */\n 'aria-controls': z.string().optional().describe('ARIA controls reference'),\n\n /**\n * ARIA owns reference\n */\n 'aria-owns': z.string().optional().describe('ARIA owns reference'),\n\n /**\n * Data attributes\n */\n 'data-*': z.record(z.string(), z.string()).optional().describe('Data attributes'),\n\n /**\n * ID attribute\n */\n id: z.string().optional().describe('ID attribute'),\n\n /**\n * Title attribute for tooltip\n */\n title: z.string().optional().describe('Title attribute for tooltip'),\n\n /**\n * Role attribute\n */\n role: z.string().optional().describe('Role attribute'),\n\n /**\n * Children elements\n */\n children: z.any().optional().describe('Children elements'),\n })\n .strict();\n\n/**\n * Type derived from BaseButton Zod schema\n * This ensures type safety and consistency with the schema\n */\nexport type BaseButtonProps = z.infer<typeof BaseButtonSchema>;\n\n/**\n * Development-only helper to validate and normalize props\n * This function should only be used in development mode\n *\n * @param props - Props to validate and normalize\n * @returns Validated and normalized props\n *\n * @example\n * ```tsx\n * // In development, this will validate props and show helpful errors\n * const validatedProps = parseBaseButtonProps({ size: 'invalid', variant: 'solid' });\n * // Throws: \"Invalid enum value. Expected '1' | '2' | '3' | '4', received 'invalid'\"\n * ```\n */\nexport function parseBaseButtonProps(props: unknown): BaseButtonProps {\n if (process.env.NODE_ENV === 'development') {\n return BaseButtonSchema.parse(props);\n }\n return props as BaseButtonProps;\n}\n", "import { z } from 'zod';\nimport { BaseButtonSchema } from './base-button.schema.js';\n\n/**\n * Button Zod schema - Single source of truth for Button component props\n *\n * The Button component is the primary interactive element in the Kookie User Interface.\n * It provides six visual variants, four sizes, comprehensive color options, and built-in\n * tooltip support. The component automatically handles icon sizing, supports responsive\n * layouts, and provides accessibility compliance out of the box.\n *\n * @example\n * ```tsx\n * // Basic button validation\n * const props = ButtonSchema.parse({ variant: 'solid', size: '2' });\n *\n * // Button with tooltip\n * const tooltipProps = ButtonSchema.parse({\n * tooltip: 'Save your progress',\n * tooltipSide: 'top'\n * });\n *\n * // Polymorphic button as link\n * const linkProps = ButtonSchema.parse({\n * as: 'a',\n * href: '/dashboard',\n * children: 'Go to Dashboard'\n * });\n * ```\n */\nexport const ButtonSchema = BaseButtonSchema.extend({\n /**\n * Content to display in the tooltip on hover/focus\n */\n tooltip: z.string().optional().describe('Content to display in the tooltip on hover/focus'),\n\n /**\n * Side of the button where the tooltip should appear\n * @default 'top'\n */\n tooltipSide: z\n .enum(['top', 'right', 'bottom', 'left'])\n .optional()\n .default('top')\n .describe('Side of the button where the tooltip should appear'),\n\n /**\n * Alignment of the tooltip relative to the button\n * @default 'center'\n */\n tooltipAlign: z\n .enum(['start', 'center', 'end'])\n .optional()\n .default('center')\n .describe('Alignment of the tooltip relative to the button'),\n\n /**\n * Delay before showing the tooltip (in milliseconds)\n */\n tooltipDelayDuration: z\n .number()\n .optional()\n .describe('Delay before showing the tooltip (in milliseconds)'),\n\n /**\n * Whether to disable hoverable content behavior\n * @default false\n */\n tooltipDisableHoverableContent: z\n .boolean()\n .optional()\n .default(false)\n .describe('Whether to disable hoverable content behavior'),\n\n /**\n * Override styles for different interaction states\n */\n overrideStyles: z\n .object({\n /** Default/idle state styles */\n normal: z\n .object({\n color: z.string().optional(),\n background: z.string().optional(),\n backgroundColor: z.string().optional(),\n boxShadow: z.string().optional(),\n filter: z.string().optional(),\n outline: z.string().optional(),\n outlineOffset: z.string().optional(),\n opacity: z.union([z.string(), z.number()]).optional(),\n })\n .optional(),\n /** Hover state styles */\n hover: z\n .object({\n color: z.string().optional(),\n background: z.string().optional(),\n backgroundColor: z.string().optional(),\n boxShadow: z.string().optional(),\n filter: z.string().optional(),\n outline: z.string().optional(),\n outlineOffset: z.string().optional(),\n opacity: z.union([z.string(), z.number()]).optional(),\n })\n .optional(),\n /** Active (mouse down) state styles */\n active: z\n .object({\n color: z.string().optional(),\n background: z.string().optional(),\n backgroundColor: z.string().optional(),\n boxShadow: z.string().optional(),\n filter: z.string().optional(),\n outline: z.string().optional(),\n outlineOffset: z.string().optional(),\n opacity: z.union([z.string(), z.number()]).optional(),\n })\n .optional(),\n /** Toggle pressed state styles (data-state=\"on\") */\n pressed: z\n .object({\n color: z.string().optional(),\n background: z.string().optional(),\n backgroundColor: z.string().optional(),\n boxShadow: z.string().optional(),\n filter: z.string().optional(),\n outline: z.string().optional(),\n outlineOffset: z.string().optional(),\n opacity: z.union([z.string(), z.number()]).optional(),\n })\n .optional(),\n /** Open state styles (e.g., when used as a trigger) */\n open: z\n .object({\n color: z.string().optional(),\n background: z.string().optional(),\n backgroundColor: z.string().optional(),\n boxShadow: z.string().optional(),\n filter: z.string().optional(),\n outline: z.string().optional(),\n outlineOffset: z.string().optional(),\n opacity: z.union([z.string(), z.number()]).optional(),\n })\n .optional(),\n /** Disabled state styles */\n disabled: z\n .object({\n color: z.string().optional(),\n background: z.string().optional(),\n backgroundColor: z.string().optional(),\n boxShadow: z.string().optional(),\n filter: z.string().optional(),\n outline: z.string().optional(),\n outlineOffset: z.string().optional(),\n opacity: z.union([z.string(), z.number()]).optional(),\n })\n .optional(),\n /** Focus-visible outline styles */\n focus: z\n .object({\n outline: z.string().optional(),\n outlineOffset: z.string().optional(),\n })\n .optional(),\n })\n .optional()\n .describe('Override styles for different interaction states'),\n}).strict();\n\n/**\n * Type derived from Button Zod schema\n * This ensures type safety and consistency with the schema\n */\nexport type ButtonProps = z.infer<typeof ButtonSchema>;\n\n/**\n * Development-only helper to validate and normalize Button props\n * This function should only be used in development mode\n *\n * @param props - Props to validate and normalize\n * @returns Validated and normalized props\n *\n * @example\n * ```tsx\n * // In development, this will validate props and show helpful errors\n * const validatedProps = parseButtonProps({\n * variant: 'invalid',\n * tooltipSide: 'invalid'\n * });\n * // Throws validation errors for invalid enum values\n * ```\n */\nexport function parseButtonProps(props: unknown): ButtonProps {\n if (process.env.NODE_ENV === 'development') {\n return ButtonSchema.parse(props);\n }\n return props as ButtonProps;\n}\n", "import { z } from 'zod';\nimport { BaseButtonSchema } from './base-button.schema.js';\n\n/**\n * IconButton Zod schema - Single source of truth for IconButton component props\n *\n * IconButton is a specialized button component designed for icon-only interactions.\n * It requires proper accessibility attributes to meet WCAG guidelines and provides\n * comprehensive tooltip support for better user experience.\n *\n * Key features:\n * - Required accessibility attributes (aria-label, aria-labelledby, or children)\n * - Tooltip support for better UX\n * - Inherits all BaseButton functionality\n * - Optimized for icon-only interactions\n *\n * @example\n * ```tsx\n * // Basic icon button with aria-label\n * const props = IconButtonSchema.parse({\n * 'aria-label': 'Close dialog',\n * variant: 'ghost'\n * });\n *\n * // Icon button with tooltip\n * const tooltipProps = IconButtonSchema.parse({\n * 'aria-label': 'Settings',\n * tooltip: 'Open settings menu',\n * tooltipSide: 'right'\n * });\n *\n * // Icon button with children (fallback accessibility)\n * const childrenProps = IconButtonSchema.parse({\n * children: <SettingsIcon />,\n * variant: 'soft'\n * });\n * ```\n */\nexport const IconButtonSchema = BaseButtonSchema.extend({\n /**\n * Content to display in the tooltip on hover/focus\n */\n tooltip: z.string().optional().describe('Content to display in the tooltip on hover/focus'),\n\n /**\n * Side of the button where the tooltip should appear\n * @default 'top'\n */\n tooltipSide: z\n .enum(['top', 'right', 'bottom', 'left'])\n .optional()\n .default('top')\n .describe('Side of the button where the tooltip should appear'),\n\n /**\n * Alignment of the tooltip relative to the button\n * @default 'center'\n */\n tooltipAlign: z\n .enum(['start', 'center', 'end'])\n .optional()\n .default('center')\n .describe('Alignment of the tooltip relative to the button'),\n\n /**\n * Delay before showing the tooltip (in milliseconds)\n */\n tooltipDelayDuration: z\n .number()\n .optional()\n .describe('Delay before showing the tooltip (in milliseconds)'),\n\n /**\n * Whether to disable hoverable content behavior\n * @default false\n */\n tooltipDisableHoverableContent: z\n .boolean()\n .optional()\n .default(false)\n .describe('Whether to disable hoverable content behavior'),\n\n /**\n * ARIA label for accessibility (required if no aria-labelledby or children)\n * Icon buttons must have an accessible name to meet WCAG guidelines\n */\n 'aria-label': z.string().optional().describe('ARIA label for accessibility'),\n\n /**\n * ARIA labelled by reference (required if no aria-label or children)\n * Icon buttons must have an accessible name to meet WCAG guidelines\n */\n 'aria-labelledby': z.string().optional().describe('ARIA labelled by reference'),\n\n /**\n * Children elements (required if no aria-label or aria-labelledby)\n * Icon buttons must have an accessible name to meet WCAG guidelines\n */\n children: z\n .any()\n .optional()\n .describe('Children elements (required for accessibility if no aria-label)'),\n}).refine((data) => data['aria-label'] || data['aria-labelledby'] || data.children, {\n message:\n \"IconButton must have either 'aria-label', 'aria-labelledby', or 'children' for accessibility\",\n path: ['aria-label', 'aria-labelledby', 'children'],\n});\n\n/**\n * Type derived from IconButton Zod schema\n * This ensures type safety and consistency with the schema\n */\nexport type IconButtonProps = z.infer<typeof IconButtonSchema>;\n\n/**\n * Development-only helper to validate and normalize IconButton props\n * This function should only be used in development mode\n *\n * @param props - Props to validate and normalize\n * @returns Validated and normalized props\n *\n * @example\n * ```tsx\n * // In development, this will validate props and show helpful errors\n * const validatedProps = parseIconButtonProps({\n * variant: 'ghost'\n * // Missing accessibility - will throw error\n * });\n * // Throws: \"IconButton must have either 'aria-label', 'aria-labelledby', or 'children' for accessibility\"\n *\n * const validProps = parseIconButtonProps({\n * 'aria-label': 'Close',\n * variant: 'ghost'\n * });\n * ```\n */\nexport function parseIconButtonProps(props: unknown): IconButtonProps {\n if (process.env.NODE_ENV === 'development') {\n return IconButtonSchema.parse(props);\n }\n return props as IconButtonProps;\n}\n", "import { z } from 'zod';\nimport { ButtonSchema } from './button.schema.js';\n\n/**\n * ToggleButton Zod schema - Single source of truth for ToggleButton component props\n *\n * ToggleButton extends Button with toggle functionality using Radix UI's Toggle primitive.\n * It provides proper accessibility announcements, controlled/uncontrolled state management,\n * and seamless integration with the existing Button component.\n *\n * Key features:\n * - Controlled and uncontrolled state management\n * - Live accessibility announcements for screen readers\n * - Automatic state validation and warnings\n * - Seamless integration with Button props and styling\n * - Proper ARIA attributes for toggle functionality\n *\n * @example\n * ```tsx\n * // Uncontrolled toggle button\n * const props = ToggleButtonSchema.parse({\n * defaultPressed: false,\n * variant: 'outline'\n * });\n *\n * // Controlled toggle button\n * const controlledProps = ToggleButtonSchema.parse({\n * pressed: true,\n * onPressedChange: (pressed) => console.log(pressed),\n * variant: 'soft'\n * });\n *\n * // Toggle button with tooltip\n * const tooltipProps = ToggleButtonSchema.parse({\n * defaultPressed: false,\n * tooltip: 'Toggle dark mode',\n * children: 'Dark Mode'\n * });\n * ```\n */\nexport const ToggleButtonSchema = ButtonSchema.extend({\n /**\n * Controlled pressed state\n * When provided, the component is controlled and the pressed state is managed externally\n */\n pressed: z.boolean().optional().describe('Controlled pressed state'),\n\n /**\n * Callback when pressed state changes\n * Called with the new pressed state when the toggle is activated\n */\n onPressedChange: z.function().optional().describe('Callback when pressed state changes'),\n\n /**\n * Default pressed state for uncontrolled usage\n * Used as the initial pressed state when the component is uncontrolled\n */\n defaultPressed: z.boolean().optional().describe('Default pressed state for uncontrolled usage'),\n})\n .refine(\n (data) => {\n // If pressed is provided, onPressedChange should also be provided for controlled usage\n if (data.pressed !== undefined && data.onPressedChange === undefined) {\n return false;\n }\n return true;\n },\n {\n message: 'When using controlled mode (pressed prop), onPressedChange must also be provided',\n path: ['onPressedChange'],\n },\n )\n .refine(\n (data) => {\n // Cannot have both controlled and uncontrolled props\n if (data.pressed !== undefined && data.defaultPressed !== undefined) {\n return false;\n }\n return true;\n },\n {\n message:\n 'Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together',\n path: ['pressed', 'defaultPressed'],\n },\n );\n\n/**\n * Type derived from ToggleButton Zod schema\n * This ensures type safety and consistency with the schema\n */\nexport type ToggleButtonProps = z.infer<typeof ToggleButtonSchema>;\n\n/**\n * Development-only helper to validate and normalize ToggleButton props\n * This function should only be used in development mode\n *\n * @param props - Props to validate and normalize\n * @returns Validated and normalized props\n *\n * @example\n * ```tsx\n * // In development, this will validate props and show helpful errors\n * const invalidProps = parseToggleButtonProps({\n * pressed: true,\n * defaultPressed: false\n * // Missing onPressedChange and conflicting controlled/uncontrolled\n * });\n * // Throws: \"Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together\"\n *\n * const validProps = parseToggleButtonProps({\n * pressed: true,\n * onPressedChange: (pressed) => setPressed(pressed)\n * });\n * ```\n */\nexport function parseToggleButtonProps(props: unknown): ToggleButtonProps {\n if (process.env.NODE_ENV === 'development') {\n return ToggleButtonSchema.parse(props);\n }\n return props as ToggleButtonProps;\n}\n", "import { z } from 'zod';\nimport { BaseButtonSchema } from './base-button.schema.js';\n\n/**\n * ToggleIconButton Zod schema - Single source of truth for ToggleIconButton component props\n *\n * ToggleIconButton extends IconButton with toggle functionality using Radix UI's Toggle primitive.\n * It provides proper accessibility announcements, controlled/uncontrolled state management,\n * and seamless integration with the existing IconButton component.\n *\n * Key features:\n * - Required accessibility attributes (aria-label, aria-labelledby, or children)\n * - Controlled and uncontrolled state management\n * - Live accessibility announcements for screen readers\n * - Tooltip support for better UX\n * - Proper ARIA attributes for toggle functionality\n *\n * @example\n * ```tsx\n * // Uncontrolled toggle icon button\n * const props = ToggleIconButtonSchema.parse({\n * 'aria-label': 'Toggle sidebar',\n * defaultPressed: false,\n * variant: 'ghost'\n * });\n *\n * // Controlled toggle icon button\n * const controlledProps = ToggleIconButtonSchema.parse({\n * 'aria-label': 'Toggle dark mode',\n * pressed: true,\n * onPressedChange: (pressed) => setDarkMode(pressed),\n * variant: 'soft'\n * });\n *\n * // Toggle icon button with tooltip\n * const tooltipProps = ToggleIconButtonSchema.parse({\n * 'aria-label': 'Toggle notifications',\n * defaultPressed: false,\n * tooltip: 'Toggle notification settings',\n * tooltipSide: 'right'\n * });\n * ```\n */\nexport const ToggleIconButtonSchema = BaseButtonSchema.extend({\n /**\n * Content to display in the tooltip on hover/focus\n */\n tooltip: z.string().optional().describe('Content to display in the tooltip on hover/focus'),\n\n /**\n * Side of the button where the tooltip should appear\n * @default 'top'\n */\n tooltipSide: z\n .enum(['top', 'right', 'bottom', 'left'])\n .optional()\n .default('top')\n .describe('Side of the button where the tooltip should appear'),\n\n /**\n * Alignment of the tooltip relative to the button\n * @default 'center'\n */\n tooltipAlign: z\n .enum(['start', 'center', 'end'])\n .optional()\n .default('center')\n .describe('Alignment of the tooltip relative to the button'),\n\n /**\n * Delay before showing the tooltip (in milliseconds)\n */\n tooltipDelayDuration: z\n .number()\n .optional()\n .describe('Delay before showing the tooltip (in milliseconds)'),\n\n /**\n * Whether to disable hoverable content behavior\n * @default false\n */\n tooltipDisableHoverableContent: z\n .boolean()\n .optional()\n .default(false)\n .describe('Whether to disable hoverable content behavior'),\n\n /**\n * ARIA label for accessibility (required if no aria-labelledby or children)\n * Icon buttons must have an accessible name to meet WCAG guidelines\n */\n 'aria-label': z.string().optional().describe('ARIA label for accessibility'),\n\n /**\n * ARIA labelled by reference (required if no aria-label or children)\n * Icon buttons must have an accessible name to meet WCAG guidelines\n */\n 'aria-labelledby': z.string().optional().describe('ARIA labelled by reference'),\n\n /**\n * Children elements (required if no aria-label or aria-labelledby)\n * Icon buttons must have an accessible name to meet WCAG guidelines\n */\n children: z\n .any()\n .optional()\n .describe('Children elements (required for accessibility if no aria-label)'),\n\n /**\n * Controlled pressed state\n * When provided, the component is controlled and the pressed state is managed externally\n */\n pressed: z.boolean().optional().describe('Controlled pressed state'),\n\n /**\n * Callback when pressed state changes\n * Called with the new pressed state when the toggle is activated\n */\n onPressedChange: z.function().optional().describe('Callback when pressed state changes'),\n\n /**\n * Default pressed state for uncontrolled usage\n * Used as the initial pressed state when the component is uncontrolled\n */\n defaultPressed: z.boolean().optional().describe('Default pressed state for uncontrolled usage'),\n})\n .refine((data: any) => data['aria-label'] || data['aria-labelledby'] || data.children, {\n message:\n \"ToggleIconButton must have either 'aria-label', 'aria-labelledby', or 'children' for accessibility\",\n path: ['aria-label', 'aria-labelledby', 'children'],\n })\n .refine(\n (data: any) => {\n // If pressed is provided, onPressedChange should also be provided for controlled usage\n if (data.pressed !== undefined && data.onPressedChange === undefined) {\n return false;\n }\n return true;\n },\n {\n message: 'When using controlled mode (pressed prop), onPressedChange must also be provided',\n path: ['onPressedChange'],\n },\n )\n .refine(\n (data: any) => {\n // Cannot have both controlled and uncontrolled props\n if (data.pressed !== undefined && data.defaultPressed !== undefined) {\n return false;\n }\n return true;\n },\n {\n message:\n 'Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together',\n path: ['pressed', 'defaultPressed'],\n },\n );\n\n/**\n * Type derived from ToggleIconButton Zod schema\n * This ensures type safety and consistency with the schema\n */\nexport type ToggleIconButtonProps = z.infer<typeof ToggleIconButtonSchema>;\n\n/**\n * Development-only helper to validate and normalize ToggleIconButton props\n * This function should only be used in development mode\n *\n * @param props - Props to validate and normalize\n * @returns Validated and normalized props\n *\n * @example\n * ```tsx\n * // In development, this will validate props and show helpful errors\n * const invalidProps = parseToggleIconButtonProps({\n * pressed: true,\n * defaultPressed: false\n * // Missing onPressedChange, conflicting controlled/uncontrolled, and missing accessibility\n * });\n * // Throws multiple validation errors\n *\n * const validProps = parseToggleIconButtonProps({\n * 'aria-label': 'Toggle menu',\n * pressed: true,\n * onPressedChange: (pressed) => setMenuOpen(pressed)\n * });\n * ```\n */\nexport function parseToggleIconButtonProps(props: unknown): ToggleIconButtonProps {\n if (process.env.NODE_ENV === 'development') {\n return ToggleIconButtonSchema.parse(props);\n }\n return props as ToggleIconButtonProps;\n}\n", "import { z } from 'zod';\n\n/**\n * Shell Zod schema - Single source of truth for Shell component props\n *\n * The Shell component is a layout engine that provides structural patterns for building\n * application interfaces. It manages layout state, composition rules, and responsive\n * behavior across seven core slots.\n *\n * @example\n * ```tsx\n * // Basic shell validation\n * const props = ShellRootSchema.parse({ height: 'full' });\n *\n * // Shell with responsive sidebar\n * const sidebarProps = ShellSidebarSchema.parse({\n * defaultMode: { initial: 'collapsed', md: 'expanded' },\n * presentation: { initial: 'overlay', lg: 'fixed' }\n * });\n * ```\n */\n\n// Common types\nconst PaneModeSchema = z.enum(['expanded', 'collapsed']).describe('Pane state mode');\nconst SidebarModeSchema = z.enum(['collapsed', 'thin', 'expanded']).describe('Sidebar state mode');\nconst PresentationValueSchema = z.enum(['fixed', 'overlay', 'stacked']).describe('Presentation mode');\nconst _BreakpointSchema = z.enum(['initial', 'xs', 'sm', 'md', 'lg', 'xl']).describe('Responsive breakpoint');\nconst PaneTargetSchema = z.enum(['left', 'rail', 'panel', 'sidebar', 'inspector', 'bottom']).describe('Pane target');\nconst TriggerActionSchema = z.enum(['toggle', 'expand', 'collapse']).describe('Trigger action');\n\n// Responsive schemas\nconst ResponsiveModeSchema = z\n .union([\n PaneModeSchema,\n z.object({\n initial: PaneModeSchema.optional(),\n xs: PaneModeSchema.optional(),\n sm: PaneModeSchema.optional(),\n md: PaneModeSchema.optional(),\n lg: PaneModeSchema.optional(),\n xl: PaneModeSchema.optional(),\n }),\n ])\n .describe('Responsive pane mode configuration');\n\nconst ResponsiveSidebarModeSchema = z\n .union([\n SidebarModeSchema,\n z.object({\n initial: SidebarModeSchema.optional(),\n xs: SidebarModeSchema.optional(),\n sm: SidebarModeSchema.optional(),\n md: SidebarModeSchema.optional(),\n lg: SidebarModeSchema.optional(),\n xl: SidebarModeSchema.optional(),\n }),\n ])\n .describe('Responsive sidebar mode configuration');\n\nconst ResponsivePresentationSchema = z\n .union([\n PresentationValueSchema,\n z.object({\n initial: PresentationValueSchema.optional(),\n xs: PresentationValueSchema.optional(),\n sm: PresentationValueSchema.optional(),\n md: PresentationValueSchema.optional(),\n lg: PresentationValueSchema.optional(),\n xl: PresentationValueSchema.optional(),\n }),\n ])\n .describe('Responsive presentation configuration');\n\n// Size persistence adapter\nconst PaneSizePersistenceSchema = z\n .object({\n load: z.function({ output: z.union([z.number(), z.promise(z.number()), z.undefined()]) }).optional(),\n save: z.function({ input: [z.number()], output: z.union([z.void(), z.promise(z.void())]) }).optional(),\n })\n .describe('Size persistence adapter');\n\n// Common pane props\nconst PanePropsSchema = z\n .object({\n presentation: ResponsivePresentationSchema.optional(),\n mode: PaneModeSchema.optional(),\n defaultMode: ResponsiveModeSchema.optional(),\n onModeChange: z.function({ input: [PaneModeSchema], output: z.void() }).optional(),\n expandedSize: z.number().optional(),\n minSize: z.number().optional(),\n maxSize: z.number().optional(),\n resizable: z.boolean().optional(),\n collapsible: z.boolean().optional(),\n onExpand: z.function({ output: z.void() }).optional(),\n onCollapse: z.function({ output: z.void() }).optional(),\n onResize: z.function({ input: [z.number()], output: z.void() }).optional(),\n resizer: z.any().optional(),\n onResizeStart: z.function({ input: [z.number()], output: z.void() }).optional(),\n onResizeEnd: z.function({ input: [z.number()], output: z.void() }).optional(),\n snapPoints: z.array(z.number()).optional(),\n snapTolerance: z.number().optional(),\n collapseThreshold: z.number().optional(),\n paneId: z.string().optional(),\n persistence: PaneSizePersistenceSchema.optional(),\n className: z.string().optional(),\n style: z.record(z.string(), z.union([z.string(), z.number()])).optional(),\n children: z.any().optional(),\n })\n .strict();\n\n/**\n * Shell.Root component schema\n */\nexport const ShellRootSchema = z\n .object({\n height: z\n .union([z.literal('full'), z.literal('auto'), z.string(), z.number()])\n .default('full')\n .describe('Height of the shell container'),\n className: z.string().optional().describe('Additional CSS class name'),\n style: z\n .record(z.string(), z.union([z.string(), z.number()]))\n .optional()\n .describe('Inline styles'),\n children: z.any().optional().describe('Shell components'),\n })\n .strict();\n\n/**\n * Shell.Header component schema\n */\nexport const ShellHeaderSchema = z\n .object({\n height: z.union([z.string(), z.number()]).default(64).describe('Height of the header'),\n className: z.string().optional().describe('Additional CSS class name'),\n style: z\n .record(z.string(), z.union([z.string(), z.number()]))\n .optional()\n .describe('Inline styles'),\n children: z.any().optional().describe('Header content'),\n })\n .strict();\n\n/**\n * Shell.Rail component schema\n */\nexport const ShellRailSchema = z\n .object({\n presentation: ResponsivePresentationSchema.optional(),\n mode: PaneModeSchema.optional(),\n defaultMode: ResponsiveModeSchema.optional(),\n onModeChange: z.function({ input: [PaneModeSchema], output: z.void() }).optional(),\n expandedSize: z.number().default(64).describe('Default width in pixels'),\n collapsible: z.boolean().optional(),\n onExpand: z.function({ output: z.void() }).optional(),\n onCollapse: z.function({ output: z.void() }).optional(),\n className: z.string().optional().describe('Additional CSS class name'),\n style: z\n .record(z.string(), z.union([z.string(), z.number()]))\n .optional()\n .describe('Inline styles'),\n children: z.any().optional().describe('Rail content'),\n })\n .strict();\n\n/**\n * Shell.Panel component schema\n */\nexport const ShellPanelSchema = PanePropsSchema.extend({\n expandedSize: z.number().default(288).describe('Default width in pixels'),\n minSize: z.number().default(200).describe('Minimum width when resizing'),\n maxSize: z.number().default(800).describe('Maximum width when resizing'),\n resizable: z.boolean().default(false).describe('Whether the panel can be resized'),\n collapsible: z.boolean().default(true).describe('Whether the panel can be collapsed via resize handle'),\n}).strict();\n\n/**\n * Shell.Sidebar component schema\n */\nexport const ShellSidebarSchema = PanePropsSchema.extend({\n mode: SidebarModeSchema.optional(),\n defaultMode: ResponsiveSidebarModeSchema.default('expanded').describe('Initial sidebar mode'),\n expandedSize: z.number().default(288).describe('Default width in pixels'),\n minSize: z.number().default(200).describe('Minimum width when resizing'),\n maxSize: z.number().default(400).describe('Maximum width when resizing'),\n thinSize: z.number().default(64).describe('Width in thin mode'),\n toggleModes: z.enum(['both', 'single']).optional().describe('Available modes in toggle sequence'),\n resizable: z.boolean().default(false).describe('Whether the sidebar can be resized'),\n collapsible: z.boolean().default(true).describe('Whether the sidebar can be collapsed via resize handle'),\n}).strict();\n\n/**\n * Shell.Content component schema\n */\nexport const ShellContentSchema = z\n .object({\n className: z.string().optional().describe('Additional CSS class name'),\n style: z\n .record(z.string(), z.union([z.string(), z.number()]))\n .optional()\n .describe('Inline styles'),\n children: z.any().optional().describe('Main content'),\n })\n .strict();\n\n/**\n * Shell.Inspector component schema\n */\nexport const ShellInspectorSchema = PanePropsSchema.extend({\n presentation: ResponsivePresentationSchema.default({ initial: 'overlay', lg: 'fixed' }).describe('Presentation mode'),\n expandedSize: z.number().default(320).describe('Default width in pixels'),\n minSize: z.number().default(200).describe('Minimum width when resizing'),\n maxSize: z.number().default(500).describe('Maximum width when resizing'),\n resizable: z.boolean().default(false).describe('Whether the inspector can be resized'),\n collapsible: z.boolean().default(true).describe('Whether the inspector can be collapsed via resize handle'),\n}).strict();\n\n/**\n * Shell.Bottom component schema\n */\nexport const ShellBottomSchema = PanePropsSchema.extend({\n presentation: ResponsivePresentationSchema.default('fixed').describe('Presentation mode'),\n expandedSize: z.number().default(200).describe('Default height in pixels'),\n minSize: z.number().default(100).describe('Minimum height when resizing'),\n maxSize: z.number().default(400).describe('Maximum height when resizing'),\n resizable: z.boolean().default(false).describe('Whether the bottom panel can be resized'),\n collapsible: z.boolean().default(true).describe('Whether the bottom panel can be collapsed via resize handle'),\n}).strict();\n\n/**\n * Shell.Trigger component schema\n */\nexport const ShellTriggerSchema = z\n .object({\n target: PaneTargetSchema.describe('Which pane to control'),\n action: TriggerActionSchema.default('toggle').describe('Action to perform'),\n peekOnHover: z.boolean().default(false).describe('Whether to show peek preview on hover when collapsed'),\n className: z.string().optional().describe('Additional CSS class name'),\n style: z\n .record(z.string(), z.union([z.string(), z.number()]))\n .optional()\n .describe('Inline styles'),\n children: z.any().optional().describe('Trigger content'),\n onClick: z.function().optional().describe('Click handler'),\n onMouseEnter: z.function().optional().describe('Mouse enter handler'),\n onMouseLeave: z.function().optional().describe('Mouse leave handler'),\n 'aria-label': z.string().optional().describe('ARIA label for accessibility'),\n 'aria-labelledby': z.string().optional().describe('ARIA labelled by reference'),\n 'aria-describedby': z.string().optional().describe('ARIA described by reference'),\n })\n .strict();\n\n/**\n * Shell.Handle component schema (for resize handles)\n */\nexport const ShellHandleSchema = z\n .object({\n className: z.string().optional().describe('Additional CSS class name'),\n style: z\n .record(z.string(), z.union([z.string(), z.number()]))\n .optional()\n .describe('Inline styles'),\n children: z.any().optional().describe('Handle content'),\n })\n .strict();\n\n// Type exports\nexport type ShellRootProps = z.infer<typeof ShellRootSchema>;\nexport type ShellHeaderProps = z.infer<typeof ShellHeaderSchema>;\nexport type ShellRailProps = z.infer<typeof ShellRailSchema>;\nexport type ShellPanelProps = z.infer<typeof ShellPanelSchema>;\nexport type ShellSidebarProps = z.infer<typeof ShellSidebarSchema>;\nexport type ShellContentProps = z.infer<typeof ShellContentSchema>;\nexport type ShellInspectorProps = z.infer<typeof ShellInspectorSchema>;\nexport type ShellBottomProps = z.infer<typeof ShellBottomSchema>;\nexport type ShellTriggerProps = z.infer<typeof ShellTriggerSchema>;\nexport type ShellHandleProps = z.infer<typeof ShellHandleSchema>;\n\n// Common type exports\nexport type PaneMode = z.infer<typeof PaneModeSchema>;\nexport type SidebarMode = z.infer<typeof SidebarModeSchema>;\nexport type PresentationValue = z.infer<typeof PresentationValueSchema>;\nexport type Breakpoint = z.infer<typeof _BreakpointSchema>;\nexport type PaneTarget = z.infer<typeof PaneTargetSchema>;\nexport type TriggerAction = z.infer<typeof TriggerActionSchema>;\nexport type ResponsiveMode = z.infer<typeof ResponsiveModeSchema>;\nexport type ResponsiveSidebarMode = z.infer<typeof ResponsiveSidebarModeSchema>;\nexport type ResponsivePresentation = z.infer<typeof ResponsivePresentationSchema>;\nexport type PaneSizePersistence = z.infer<typeof PaneSizePersistenceSchema>;\n\n/**\n * Development-only helper to validate and normalize Shell props\n * This function should only be used in development mode\n *\n * @param props - Props to validate and normalize\n * @returns Validated and normalized props\n *\n * @example\n * ```tsx\n * // In development, this will validate props and show helpful errors\n * const validatedProps = parseShellRootProps({ height: 'invalid' });\n * // Throws validation errors for invalid values\n * ```\n */\nexport function parseShellRootProps(props: unknown): ShellRootProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellRootSchema.parse(props);\n }\n return props as ShellRootProps;\n}\n\nexport function parseShellHeaderProps(props: unknown): ShellHeaderProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellHeaderSchema.parse(props);\n }\n return props as ShellHeaderProps;\n}\n\nexport function parseShellRailProps(props: unknown): ShellRailProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellRailSchema.parse(props);\n }\n return props as ShellRailProps;\n}\n\nexport function parseShellPanelProps(props: unknown): ShellPanelProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellPanelSchema.parse(props);\n }\n return props as ShellPanelProps;\n}\n\nexport function parseShellSidebarProps(props: unknown): ShellSidebarProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellSidebarSchema.parse(props);\n }\n return props as ShellSidebarProps;\n}\n\nexport function parseShellContentProps(props: unknown): ShellContentProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellContentSchema.parse(props);\n }\n return props as ShellContentProps;\n}\n\nexport function parseShellInspectorProps(props: unknown): ShellInspectorProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellInspectorSchema.parse(props);\n }\n return props as ShellInspectorProps;\n}\n\nexport function parseShellBottomProps(props: unknown): ShellBottomProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellBottomSchema.parse(props);\n }\n return props as ShellBottomProps;\n}\n\nexport function parseShellTriggerProps(props: unknown): ShellTriggerProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellTriggerSchema.parse(props);\n }\n return props as ShellTriggerProps;\n}\n\nexport function parseShellHandleProps(props: unknown): ShellHandleProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellHandleSchema.parse(props);\n }\n return props as ShellHandleProps;\n}\n"],
5
- "mappings": "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",
6
- "names": ["schemas_exports", "__export", "BaseButtonSchema", "ButtonSchema", "IconButtonSchema", "ShellBottomSchema", "ShellContentSchema", "ShellHandleSchema", "ShellHeaderSchema", "ShellInspectorSchema", "ShellPanelSchema", "ShellRailSchema", "ShellRootSchema", "ShellSidebarSchema", "ShellTriggerSchema", "ToggleButtonSchema", "ToggleIconButtonSchema", "parseBaseButtonProps", "parseButtonProps", "parseIconButtonProps", "parseProps", "parseShellBottomProps", "parseShellContentProps", "parseShellHandleProps", "parseShellHeaderProps", "parseShellInspectorProps", "parseShellPanelProps", "parseShellRailProps", "parseShellRootProps", "parseShellSidebarProps", "parseShellTriggerProps", "parseToggleButtonProps", "parseToggleIconButtonProps", "__toCommonJS", "import_zod", "BaseButtonSchema", "parseBaseButtonProps", "props", "import_zod", "ButtonSchema", "BaseButtonSchema", "parseButtonProps", "props", "import_zod", "IconButtonSchema", "BaseButtonSchema", "data", "parseIconButtonProps", "props", "import_zod", "ToggleButtonSchema", "ButtonSchema", "data", "parseToggleButtonProps", "props", "import_zod", "ToggleIconButtonSchema", "BaseButtonSchema", "data", "parseToggleIconButtonProps", "props", "import_zod", "PaneModeSchema", "SidebarModeSchema", "PresentationValueSchema", "_BreakpointSchema", "PaneTargetSchema", "TriggerActionSchema", "ResponsiveModeSchema", "ResponsiveSidebarModeSchema", "ResponsivePresentationSchema", "PaneSizePersistenceSchema", "PanePropsSchema", "ShellRootSchema", "ShellHeaderSchema", "ShellRailSchema", "ShellPanelSchema", "ShellSidebarSchema", "ShellContentSchema", "ShellInspectorSchema", "ShellBottomSchema", "ShellTriggerSchema", "ShellHandleSchema", "parseShellRootProps", "props", "parseShellHeaderProps", "parseShellRailProps", "parseShellPanelProps", "parseShellSidebarProps", "parseShellContentProps", "parseShellInspectorProps", "parseShellBottomProps", "parseShellTriggerProps", "parseShellHandleProps", "import_zod", "parseProps", "schema", "props"]
4
+ "sourcesContent": ["/**\n * Button component schemas - Single source of truth for all button-related components\n *\n * This module exports Zod schemas for all button components, providing:\n * - Type-safe prop validation\n * - Machine-readable JSON schema generation\n * - Development-time prop validation\n * - Consistent API across all button variants\n *\n * @example\n * ```tsx\n * import { ButtonSchema, parseButtonProps } from './schemas';\n *\n * // Type-safe prop validation\n * const props = ButtonSchema.parse({ variant: 'solid', size: '2' });\n *\n * // Development-time validation\n * const validatedProps = parseButtonProps(userProps);\n * ```\n */\n\n// Base schemas\nexport { BaseButtonSchema, parseBaseButtonProps } from './base-button.schema.js';\nexport type { BaseButtonProps } from './base-button.schema.js';\n\n// Button schemas\nexport { ButtonSchema, parseButtonProps } from './button.schema.js';\nexport type { ButtonProps } from './button.schema.js';\n\n// IconButton schemas\nexport { IconButtonSchema, parseIconButtonProps } from './icon-button.schema.js';\nexport type { IconButtonProps } from './icon-button.schema.js';\n\n// ToggleButton schemas\nexport { ToggleButtonSchema, parseToggleButtonProps } from './toggle-button.schema.js';\nexport type { ToggleButtonProps } from './toggle-button.schema.js';\n\n// ToggleIconButton schemas\nexport { ToggleIconButtonSchema, parseToggleIconButtonProps } from './toggle-icon-button.schema.js';\nexport type { ToggleIconButtonProps } from './toggle-icon-button.schema.js';\n\n// Shell schemas\nexport {\n ShellRootSchema,\n ShellHeaderSchema,\n ShellRailSchema,\n ShellPanelSchema,\n ShellSidebarSchema,\n ShellContentSchema,\n ShellInspectorSchema,\n ShellBottomSchema,\n ShellTriggerSchema,\n ShellHandleSchema,\n parseShellRootProps,\n parseShellHeaderProps,\n parseShellRailProps,\n parseShellPanelProps,\n parseShellSidebarProps,\n parseShellContentProps,\n parseShellInspectorProps,\n parseShellBottomProps,\n parseShellTriggerProps,\n parseShellHandleProps,\n} from './shell.schema.js';\nexport type {\n ShellRootProps,\n ShellHeaderProps,\n ShellRailProps,\n ShellPanelProps,\n ShellSidebarProps,\n ShellContentProps,\n ShellInspectorProps,\n ShellBottomProps,\n ShellTriggerProps,\n ShellHandleProps,\n PaneMode,\n SidebarMode,\n PresentationValue,\n Breakpoint,\n PaneTarget,\n TriggerAction,\n ResponsiveMode,\n ResponsiveSidebarMode,\n ResponsivePresentation,\n PaneSizePersistence,\n} from './shell.schema.js';\n\n/**\n * Generic parseProps helper for development-time validation\n *\n * This function provides a type-safe way to validate props in development mode.\n * It should only be used in development as it adds runtime overhead.\n *\n * @param schema - Zod schema to validate against\n * @param props - Props to validate\n * @returns Validated and normalized props\n *\n * @example\n * ```tsx\n * import { parseProps } from './schemas';\n * import { ButtonSchema } from './schemas';\n *\n * // In development, this will validate props and show helpful errors\n * const validatedProps = parseProps(ButtonSchema, userProps);\n * ```\n */\nexport function parseProps<T>(schema: z.ZodSchema<T>, props: unknown): T {\n if (process.env.NODE_ENV === 'development') {\n return schema.parse(props);\n }\n return props as T;\n}\n\nimport { z } from 'zod';\n", "import { z } from 'zod';\n\n/**\n * BaseButton Zod schema - Single source of truth for all button component props\n *\n * This schema defines the core button functionality used by Button, IconButton,\n * ToggleButton, and ToggleIconButton components. It ensures consistency across\n * the design system and provides machine-readable validation.\n *\n * @example\n * ```tsx\n * // Basic validation\n * const props = BaseButtonSchema.parse({ size: '2', variant: 'solid' });\n *\n * // With responsive props\n * const responsiveProps = BaseButtonSchema.parse({\n * size: { initial: '1', sm: '2', md: '3' },\n * variant: 'solid'\n * });\n * ```\n */\nexport const BaseButtonSchema = z\n .object({\n /**\n * Polymorphic rendering - render as different HTML elements\n * @default 'button'\n */\n as: z.string().optional().describe('HTML element type to render as'),\n\n /**\n * Use asChild to merge props with child element\n * @default false\n */\n asChild: z\n .boolean()\n .optional()\n .describe('Merge props with child element instead of rendering wrapper'),\n\n /**\n * Button size for responsive design and interface density\n * Supports responsive objects: { initial: '1', sm: '2', md: '3', lg: '4' }\n * @default '2'\n */\n size: z\n .union([\n z.enum(['1', '2', '3', '4']),\n z.object({\n initial: z.enum(['1', '2', '3', '4']).optional(),\n sm: z.enum(['1', '2', '3', '4']).optional(),\n md: z.enum(['1', '2', '3', '4']).optional(),\n lg: z.enum(['1', '2', '3', '4']).optional(),\n xl: z.enum(['1', '2', '3', '4']).optional(),\n }),\n ])\n .default('2')\n .describe('Button size for responsive design and interface density'),\n\n /**\n * Visual variant that determines the button's appearance and context\n * @default 'solid'\n */\n variant: z\n .enum(['classic', 'solid', 'soft', 'surface', 'outline', 'ghost', 'override'])\n .default('solid')\n .describe(\"Visual variant that determines the button's appearance and context\"),\n\n /**\n * Accent color for the button\n */\n color: z\n .enum([\n 'tomato',\n 'red',\n 'ruby',\n 'crimson',\n 'pink',\n 'plum',\n 'purple',\n 'violet',\n 'iris',\n 'indigo',\n 'blue',\n 'cyan',\n 'teal',\n 'jade',\n 'green',\n 'grass',\n 'brown',\n 'orange',\n 'sky',\n 'mint',\n 'lime',\n 'yellow',\n 'amber',\n 'gold',\n 'bronze',\n 'gray',\n ])\n .optional()\n .describe('Accent color for the button'),\n\n /**\n * Border radius for the button\n */\n radius: z\n .enum(['none', 'small', 'medium', 'large', 'full'])\n .optional()\n .describe('Border radius for the button'),\n\n /**\n * Loading state that shows a spinner and disables interaction\n * Automatically sets disabled=true and provides accessibility announcements\n * @default false\n */\n loading: z\n .boolean()\n .optional()\n .default(false)\n .describe('Loading state that shows a spinner and disables interaction'),\n\n /**\n * Full width mode that expands the button to fill its container\n * Useful for mobile layouts and form submissions\n * @default false\n */\n fullWidth: z\n .boolean()\n .optional()\n .default(false)\n .describe('Full width mode that expands the button to fill its container'),\n\n /**\n * Material type for visual rendering and depth effects\n * Controls how the button renders its visual elements\n */\n material: z\n .enum(['solid', 'translucent'])\n .optional()\n .describe('Material type for visual rendering and depth effects'),\n\n /**\n * Panel background type (deprecated)\n * @deprecated Use `material` prop instead. This prop will be removed in a future version.\n */\n panelBackground: z\n .enum(['solid', 'translucent'])\n .optional()\n .describe('Panel background type (deprecated - use material instead)'),\n\n /**\n * Flush mode that removes visual padding for seamless text integration\n * Only effective with ghost variant\n * @default false\n */\n flush: z\n .boolean()\n .optional()\n .default(false)\n .describe('Flush mode that removes visual padding for seamless text integration'),\n\n /**\n * Disabled state\n * @default false\n */\n disabled: z.boolean().optional().default(false).describe('Disabled state'),\n\n /**\n * Type attribute for form buttons\n * @default 'button'\n */\n type: z\n .enum(['button', 'submit', 'reset'])\n .optional()\n .describe('Type attribute for form buttons'),\n\n /**\n * Additional CSS class name\n */\n className: z.string().optional().describe('Additional CSS class name'),\n\n /**\n * Inline styles\n */\n style: z\n .record(z.string(), z.union([z.string(), z.number()]))\n .optional()\n .describe('Inline styles'),\n\n /**\n * Click handler\n */\n onClick: z.function().optional().describe('Click handler'),\n\n /**\n * Focus handler\n */\n onFocus: z.function().optional().describe('Focus handler'),\n\n /**\n * Blur handler\n */\n onBlur: z.function().optional().describe('Blur handler'),\n\n /**\n * Mouse enter handler\n */\n onMouseEnter: z.function().optional().describe('Mouse enter handler'),\n\n /**\n * Mouse leave handler\n */\n onMouseLeave: z.function().optional().describe('Mouse leave handler'),\n\n /**\n * Key down handler\n */\n onKeyDown: z.function().optional().describe('Key down handler'),\n\n /**\n * Key up handler\n */\n onKeyUp: z.function().optional().describe('Key up handler'),\n\n /**\n * Form submission handler\n */\n onSubmit: z.function().optional().describe('Form submission handler'),\n\n /**\n * Tab index for keyboard navigation\n */\n tabIndex: z.number().optional().describe('Tab index for keyboard navigation'),\n\n /**\n * ARIA label for accessibility\n */\n 'aria-label': z.string().optional().describe('ARIA label for accessibility'),\n\n /**\n * ARIA labelled by reference\n */\n 'aria-labelledby': z.string().optional().describe('ARIA labelled by reference'),\n\n /**\n * ARIA described by reference\n */\n 'aria-describedby': z.string().optional().describe('ARIA described by reference'),\n\n /**\n * ARIA expanded state\n */\n 'aria-expanded': z.boolean().optional().describe('ARIA expanded state'),\n\n /**\n * ARIA pressed state\n */\n 'aria-pressed': z.boolean().optional().describe('ARIA pressed state'),\n\n /**\n * ARIA current state\n */\n 'aria-current': z\n .union([z.boolean(), z.enum(['page', 'step', 'location', 'date', 'time'])])\n .optional()\n .describe('ARIA current state'),\n\n /**\n * ARIA controls reference\n */\n 'aria-controls': z.string().optional().describe('ARIA controls reference'),\n\n /**\n * ARIA owns reference\n */\n 'aria-owns': z.string().optional().describe('ARIA owns reference'),\n\n /**\n * Data attributes\n */\n 'data-*': z.record(z.string(), z.string()).optional().describe('Data attributes'),\n\n /**\n * ID attribute\n */\n id: z.string().optional().describe('ID attribute'),\n\n /**\n * Title attribute for tooltip\n */\n title: z.string().optional().describe('Title attribute for tooltip'),\n\n /**\n * Role attribute\n */\n role: z.string().optional().describe('Role attribute'),\n\n /**\n * Children elements\n */\n children: z.any().optional().describe('Children elements'),\n })\n .strict();\n\n/**\n * Type derived from BaseButton Zod schema\n * This ensures type safety and consistency with the schema\n */\nexport type BaseButtonProps = z.infer<typeof BaseButtonSchema>;\n\n/**\n * Development-only helper to validate and normalize props\n * This function should only be used in development mode\n *\n * @param props - Props to validate and normalize\n * @returns Validated and normalized props\n *\n * @example\n * ```tsx\n * // In development, this will validate props and show helpful errors\n * const validatedProps = parseBaseButtonProps({ size: 'invalid', variant: 'solid' });\n * // Throws: \"Invalid enum value. Expected '1' | '2' | '3' | '4', received 'invalid'\"\n * ```\n */\nexport function parseBaseButtonProps(props: unknown): BaseButtonProps {\n if (process.env.NODE_ENV === 'development') {\n return BaseButtonSchema.parse(props);\n }\n return props as BaseButtonProps;\n}\n", "import { z } from 'zod';\nimport { BaseButtonSchema } from './base-button.schema.js';\n\n/**\n * Button Zod schema - Single source of truth for Button component props\n *\n * The Button component is the primary interactive element in the Kookie User Interface.\n * It provides six visual variants, four sizes, comprehensive color options, and built-in\n * tooltip support. The component automatically handles icon sizing, supports responsive\n * layouts, and provides accessibility compliance out of the box.\n *\n * @example\n * ```tsx\n * // Basic button validation\n * const props = ButtonSchema.parse({ variant: 'solid', size: '2' });\n *\n * // Button with tooltip\n * const tooltipProps = ButtonSchema.parse({\n * tooltip: 'Save your progress',\n * tooltipSide: 'top'\n * });\n *\n * // Polymorphic button as link\n * const linkProps = ButtonSchema.parse({\n * as: 'a',\n * href: '/dashboard',\n * children: 'Go to Dashboard'\n * });\n * ```\n */\nexport const ButtonSchema = BaseButtonSchema.extend({\n /**\n * Content to display in the tooltip on hover/focus\n */\n tooltip: z.string().optional().describe('Content to display in the tooltip on hover/focus'),\n\n /**\n * Side of the button where the tooltip should appear\n * @default 'top'\n */\n tooltipSide: z\n .enum(['top', 'right', 'bottom', 'left'])\n .optional()\n .default('top')\n .describe('Side of the button where the tooltip should appear'),\n\n /**\n * Alignment of the tooltip relative to the button\n * @default 'center'\n */\n tooltipAlign: z\n .enum(['start', 'center', 'end'])\n .optional()\n .default('center')\n .describe('Alignment of the tooltip relative to the button'),\n\n /**\n * Delay before showing the tooltip (in milliseconds)\n */\n tooltipDelayDuration: z\n .number()\n .optional()\n .describe('Delay before showing the tooltip (in milliseconds)'),\n\n /**\n * Whether to disable hoverable content behavior\n * @default false\n */\n tooltipDisableHoverableContent: z\n .boolean()\n .optional()\n .default(false)\n .describe('Whether to disable hoverable content behavior'),\n\n /**\n * Override styles for different interaction states\n */\n overrideStyles: z\n .object({\n /** Default/idle state styles */\n normal: z\n .object({\n color: z.string().optional(),\n background: z.string().optional(),\n backgroundColor: z.string().optional(),\n boxShadow: z.string().optional(),\n filter: z.string().optional(),\n outline: z.string().optional(),\n outlineOffset: z.string().optional(),\n opacity: z.union([z.string(), z.number()]).optional(),\n })\n .optional(),\n /** Hover state styles */\n hover: z\n .object({\n color: z.string().optional(),\n background: z.string().optional(),\n backgroundColor: z.string().optional(),\n boxShadow: z.string().optional(),\n filter: z.string().optional(),\n outline: z.string().optional(),\n outlineOffset: z.string().optional(),\n opacity: z.union([z.string(), z.number()]).optional(),\n })\n .optional(),\n /** Active (mouse down) state styles */\n active: z\n .object({\n color: z.string().optional(),\n background: z.string().optional(),\n backgroundColor: z.string().optional(),\n boxShadow: z.string().optional(),\n filter: z.string().optional(),\n outline: z.string().optional(),\n outlineOffset: z.string().optional(),\n opacity: z.union([z.string(), z.number()]).optional(),\n })\n .optional(),\n /** Toggle pressed state styles (data-state=\"on\") */\n pressed: z\n .object({\n color: z.string().optional(),\n background: z.string().optional(),\n backgroundColor: z.string().optional(),\n boxShadow: z.string().optional(),\n filter: z.string().optional(),\n outline: z.string().optional(),\n outlineOffset: z.string().optional(),\n opacity: z.union([z.string(), z.number()]).optional(),\n })\n .optional(),\n /** Open state styles (e.g., when used as a trigger) */\n open: z\n .object({\n color: z.string().optional(),\n background: z.string().optional(),\n backgroundColor: z.string().optional(),\n boxShadow: z.string().optional(),\n filter: z.string().optional(),\n outline: z.string().optional(),\n outlineOffset: z.string().optional(),\n opacity: z.union([z.string(), z.number()]).optional(),\n })\n .optional(),\n /** Disabled state styles */\n disabled: z\n .object({\n color: z.string().optional(),\n background: z.string().optional(),\n backgroundColor: z.string().optional(),\n boxShadow: z.string().optional(),\n filter: z.string().optional(),\n outline: z.string().optional(),\n outlineOffset: z.string().optional(),\n opacity: z.union([z.string(), z.number()]).optional(),\n })\n .optional(),\n /** Focus-visible outline styles */\n focus: z\n .object({\n outline: z.string().optional(),\n outlineOffset: z.string().optional(),\n })\n .optional(),\n })\n .optional()\n .describe('Override styles for different interaction states'),\n}).strict();\n\n/**\n * Type derived from Button Zod schema\n * This ensures type safety and consistency with the schema\n */\nexport type ButtonProps = z.infer<typeof ButtonSchema>;\n\n/**\n * Development-only helper to validate and normalize Button props\n * This function should only be used in development mode\n *\n * @param props - Props to validate and normalize\n * @returns Validated and normalized props\n *\n * @example\n * ```tsx\n * // In development, this will validate props and show helpful errors\n * const validatedProps = parseButtonProps({\n * variant: 'invalid',\n * tooltipSide: 'invalid'\n * });\n * // Throws validation errors for invalid enum values\n * ```\n */\nexport function parseButtonProps(props: unknown): ButtonProps {\n if (process.env.NODE_ENV === 'development') {\n return ButtonSchema.parse(props);\n }\n return props as ButtonProps;\n}\n", "import { z } from 'zod';\nimport { BaseButtonSchema } from './base-button.schema.js';\n\n/**\n * IconButton Zod schema - Single source of truth for IconButton component props\n *\n * IconButton is a specialized button component designed for icon-only interactions.\n * It requires proper accessibility attributes to meet WCAG guidelines and provides\n * comprehensive tooltip support for better user experience.\n *\n * Key features:\n * - Required accessibility attributes (aria-label, aria-labelledby, or children)\n * - Tooltip support for better UX\n * - Inherits all BaseButton functionality\n * - Optimized for icon-only interactions\n *\n * @example\n * ```tsx\n * // Basic icon button with aria-label\n * const props = IconButtonSchema.parse({\n * 'aria-label': 'Close dialog',\n * variant: 'ghost'\n * });\n *\n * // Icon button with tooltip\n * const tooltipProps = IconButtonSchema.parse({\n * 'aria-label': 'Settings',\n * tooltip: 'Open settings menu',\n * tooltipSide: 'right'\n * });\n *\n * // Icon button with children (fallback accessibility)\n * const childrenProps = IconButtonSchema.parse({\n * children: <SettingsIcon />,\n * variant: 'soft'\n * });\n * ```\n */\nexport const IconButtonSchema = BaseButtonSchema.extend({\n /**\n * Content to display in the tooltip on hover/focus\n */\n tooltip: z.string().optional().describe('Content to display in the tooltip on hover/focus'),\n\n /**\n * Side of the button where the tooltip should appear\n * @default 'top'\n */\n tooltipSide: z\n .enum(['top', 'right', 'bottom', 'left'])\n .optional()\n .default('top')\n .describe('Side of the button where the tooltip should appear'),\n\n /**\n * Alignment of the tooltip relative to the button\n * @default 'center'\n */\n tooltipAlign: z\n .enum(['start', 'center', 'end'])\n .optional()\n .default('center')\n .describe('Alignment of the tooltip relative to the button'),\n\n /**\n * Delay before showing the tooltip (in milliseconds)\n */\n tooltipDelayDuration: z\n .number()\n .optional()\n .describe('Delay before showing the tooltip (in milliseconds)'),\n\n /**\n * Whether to disable hoverable content behavior\n * @default false\n */\n tooltipDisableHoverableContent: z\n .boolean()\n .optional()\n .default(false)\n .describe('Whether to disable hoverable content behavior'),\n\n /**\n * ARIA label for accessibility (required if no aria-labelledby or children)\n * Icon buttons must have an accessible name to meet WCAG guidelines\n */\n 'aria-label': z.string().optional().describe('ARIA label for accessibility'),\n\n /**\n * ARIA labelled by reference (required if no aria-label or children)\n * Icon buttons must have an accessible name to meet WCAG guidelines\n */\n 'aria-labelledby': z.string().optional().describe('ARIA labelled by reference'),\n\n /**\n * Children elements (required if no aria-label or aria-labelledby)\n * Icon buttons must have an accessible name to meet WCAG guidelines\n */\n children: z\n .any()\n .optional()\n .describe('Children elements (required for accessibility if no aria-label)'),\n}).refine((data) => data['aria-label'] || data['aria-labelledby'] || data.children, {\n message:\n \"IconButton must have either 'aria-label', 'aria-labelledby', or 'children' for accessibility\",\n path: ['aria-label', 'aria-labelledby', 'children'],\n});\n\n/**\n * Type derived from IconButton Zod schema\n * This ensures type safety and consistency with the schema\n */\nexport type IconButtonProps = z.infer<typeof IconButtonSchema>;\n\n/**\n * Development-only helper to validate and normalize IconButton props\n * This function should only be used in development mode\n *\n * @param props - Props to validate and normalize\n * @returns Validated and normalized props\n *\n * @example\n * ```tsx\n * // In development, this will validate props and show helpful errors\n * const validatedProps = parseIconButtonProps({\n * variant: 'ghost'\n * // Missing accessibility - will throw error\n * });\n * // Throws: \"IconButton must have either 'aria-label', 'aria-labelledby', or 'children' for accessibility\"\n *\n * const validProps = parseIconButtonProps({\n * 'aria-label': 'Close',\n * variant: 'ghost'\n * });\n * ```\n */\nexport function parseIconButtonProps(props: unknown): IconButtonProps {\n if (process.env.NODE_ENV === 'development') {\n return IconButtonSchema.parse(props);\n }\n return props as IconButtonProps;\n}\n", "import { z } from 'zod';\nimport { ButtonSchema } from './button.schema.js';\n\n/**\n * ToggleButton Zod schema - Single source of truth for ToggleButton component props\n *\n * ToggleButton extends Button with toggle functionality using Radix UI's Toggle primitive.\n * It provides proper accessibility announcements, controlled/uncontrolled state management,\n * and seamless integration with the existing Button component.\n *\n * Key features:\n * - Controlled and uncontrolled state management\n * - Live accessibility announcements for screen readers\n * - Automatic state validation and warnings\n * - Seamless integration with Button props and styling\n * - Proper ARIA attributes for toggle functionality\n *\n * @example\n * ```tsx\n * // Uncontrolled toggle button\n * const props = ToggleButtonSchema.parse({\n * defaultPressed: false,\n * variant: 'outline'\n * });\n *\n * // Controlled toggle button\n * const controlledProps = ToggleButtonSchema.parse({\n * pressed: true,\n * onPressedChange: (pressed) => console.log(pressed),\n * variant: 'soft'\n * });\n *\n * // Toggle button with tooltip\n * const tooltipProps = ToggleButtonSchema.parse({\n * defaultPressed: false,\n * tooltip: 'Toggle dark mode',\n * children: 'Dark Mode'\n * });\n * ```\n */\nexport const ToggleButtonSchema = ButtonSchema.extend({\n /**\n * Controlled pressed state\n * When provided, the component is controlled and the pressed state is managed externally\n */\n pressed: z.boolean().optional().describe('Controlled pressed state'),\n\n /**\n * Callback when pressed state changes\n * Called with the new pressed state when the toggle is activated\n */\n onPressedChange: z.function().optional().describe('Callback when pressed state changes'),\n\n /**\n * Default pressed state for uncontrolled usage\n * Used as the initial pressed state when the component is uncontrolled\n */\n defaultPressed: z.boolean().optional().describe('Default pressed state for uncontrolled usage'),\n})\n .refine(\n (data) => {\n // If pressed is provided, onPressedChange should also be provided for controlled usage\n if (data.pressed !== undefined && data.onPressedChange === undefined) {\n return false;\n }\n return true;\n },\n {\n message: 'When using controlled mode (pressed prop), onPressedChange must also be provided',\n path: ['onPressedChange'],\n },\n )\n .refine(\n (data) => {\n // Cannot have both controlled and uncontrolled props\n if (data.pressed !== undefined && data.defaultPressed !== undefined) {\n return false;\n }\n return true;\n },\n {\n message:\n 'Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together',\n path: ['pressed', 'defaultPressed'],\n },\n );\n\n/**\n * Type derived from ToggleButton Zod schema\n * This ensures type safety and consistency with the schema\n */\nexport type ToggleButtonProps = z.infer<typeof ToggleButtonSchema>;\n\n/**\n * Development-only helper to validate and normalize ToggleButton props\n * This function should only be used in development mode\n *\n * @param props - Props to validate and normalize\n * @returns Validated and normalized props\n *\n * @example\n * ```tsx\n * // In development, this will validate props and show helpful errors\n * const invalidProps = parseToggleButtonProps({\n * pressed: true,\n * defaultPressed: false\n * // Missing onPressedChange and conflicting controlled/uncontrolled\n * });\n * // Throws: \"Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together\"\n *\n * const validProps = parseToggleButtonProps({\n * pressed: true,\n * onPressedChange: (pressed) => setPressed(pressed)\n * });\n * ```\n */\nexport function parseToggleButtonProps(props: unknown): ToggleButtonProps {\n if (process.env.NODE_ENV === 'development') {\n return ToggleButtonSchema.parse(props);\n }\n return props as ToggleButtonProps;\n}\n", "import { z } from 'zod';\nimport { BaseButtonSchema } from './base-button.schema.js';\n\n/**\n * ToggleIconButton Zod schema - Single source of truth for ToggleIconButton component props\n *\n * ToggleIconButton extends IconButton with toggle functionality using Radix UI's Toggle primitive.\n * It provides proper accessibility announcements, controlled/uncontrolled state management,\n * and seamless integration with the existing IconButton component.\n *\n * Key features:\n * - Required accessibility attributes (aria-label, aria-labelledby, or children)\n * - Controlled and uncontrolled state management\n * - Live accessibility announcements for screen readers\n * - Tooltip support for better UX\n * - Proper ARIA attributes for toggle functionality\n *\n * @example\n * ```tsx\n * // Uncontrolled toggle icon button\n * const props = ToggleIconButtonSchema.parse({\n * 'aria-label': 'Toggle sidebar',\n * defaultPressed: false,\n * variant: 'ghost'\n * });\n *\n * // Controlled toggle icon button\n * const controlledProps = ToggleIconButtonSchema.parse({\n * 'aria-label': 'Toggle dark mode',\n * pressed: true,\n * onPressedChange: (pressed) => setDarkMode(pressed),\n * variant: 'soft'\n * });\n *\n * // Toggle icon button with tooltip\n * const tooltipProps = ToggleIconButtonSchema.parse({\n * 'aria-label': 'Toggle notifications',\n * defaultPressed: false,\n * tooltip: 'Toggle notification settings',\n * tooltipSide: 'right'\n * });\n * ```\n */\nexport const ToggleIconButtonSchema = BaseButtonSchema.extend({\n /**\n * Content to display in the tooltip on hover/focus\n */\n tooltip: z.string().optional().describe('Content to display in the tooltip on hover/focus'),\n\n /**\n * Side of the button where the tooltip should appear\n * @default 'top'\n */\n tooltipSide: z\n .enum(['top', 'right', 'bottom', 'left'])\n .optional()\n .default('top')\n .describe('Side of the button where the tooltip should appear'),\n\n /**\n * Alignment of the tooltip relative to the button\n * @default 'center'\n */\n tooltipAlign: z\n .enum(['start', 'center', 'end'])\n .optional()\n .default('center')\n .describe('Alignment of the tooltip relative to the button'),\n\n /**\n * Delay before showing the tooltip (in milliseconds)\n */\n tooltipDelayDuration: z\n .number()\n .optional()\n .describe('Delay before showing the tooltip (in milliseconds)'),\n\n /**\n * Whether to disable hoverable content behavior\n * @default false\n */\n tooltipDisableHoverableContent: z\n .boolean()\n .optional()\n .default(false)\n .describe('Whether to disable hoverable content behavior'),\n\n /**\n * ARIA label for accessibility (required if no aria-labelledby or children)\n * Icon buttons must have an accessible name to meet WCAG guidelines\n */\n 'aria-label': z.string().optional().describe('ARIA label for accessibility'),\n\n /**\n * ARIA labelled by reference (required if no aria-label or children)\n * Icon buttons must have an accessible name to meet WCAG guidelines\n */\n 'aria-labelledby': z.string().optional().describe('ARIA labelled by reference'),\n\n /**\n * Children elements (required if no aria-label or aria-labelledby)\n * Icon buttons must have an accessible name to meet WCAG guidelines\n */\n children: z\n .any()\n .optional()\n .describe('Children elements (required for accessibility if no aria-label)'),\n\n /**\n * Controlled pressed state\n * When provided, the component is controlled and the pressed state is managed externally\n */\n pressed: z.boolean().optional().describe('Controlled pressed state'),\n\n /**\n * Callback when pressed state changes\n * Called with the new pressed state when the toggle is activated\n */\n onPressedChange: z.function().optional().describe('Callback when pressed state changes'),\n\n /**\n * Default pressed state for uncontrolled usage\n * Used as the initial pressed state when the component is uncontrolled\n */\n defaultPressed: z.boolean().optional().describe('Default pressed state for uncontrolled usage'),\n})\n .refine((data: any) => data['aria-label'] || data['aria-labelledby'] || data.children, {\n message:\n \"ToggleIconButton must have either 'aria-label', 'aria-labelledby', or 'children' for accessibility\",\n path: ['aria-label', 'aria-labelledby', 'children'],\n })\n .refine(\n (data: any) => {\n // If pressed is provided, onPressedChange should also be provided for controlled usage\n if (data.pressed !== undefined && data.onPressedChange === undefined) {\n return false;\n }\n return true;\n },\n {\n message: 'When using controlled mode (pressed prop), onPressedChange must also be provided',\n path: ['onPressedChange'],\n },\n )\n .refine(\n (data: any) => {\n // Cannot have both controlled and uncontrolled props\n if (data.pressed !== undefined && data.defaultPressed !== undefined) {\n return false;\n }\n return true;\n },\n {\n message:\n 'Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together',\n path: ['pressed', 'defaultPressed'],\n },\n );\n\n/**\n * Type derived from ToggleIconButton Zod schema\n * This ensures type safety and consistency with the schema\n */\nexport type ToggleIconButtonProps = z.infer<typeof ToggleIconButtonSchema>;\n\n/**\n * Development-only helper to validate and normalize ToggleIconButton props\n * This function should only be used in development mode\n *\n * @param props - Props to validate and normalize\n * @returns Validated and normalized props\n *\n * @example\n * ```tsx\n * // In development, this will validate props and show helpful errors\n * const invalidProps = parseToggleIconButtonProps({\n * pressed: true,\n * defaultPressed: false\n * // Missing onPressedChange, conflicting controlled/uncontrolled, and missing accessibility\n * });\n * // Throws multiple validation errors\n *\n * const validProps = parseToggleIconButtonProps({\n * 'aria-label': 'Toggle menu',\n * pressed: true,\n * onPressedChange: (pressed) => setMenuOpen(pressed)\n * });\n * ```\n */\nexport function parseToggleIconButtonProps(props: unknown): ToggleIconButtonProps {\n if (process.env.NODE_ENV === 'development') {\n return ToggleIconButtonSchema.parse(props);\n }\n return props as ToggleIconButtonProps;\n}\n", "import { z } from 'zod';\n\n/**\n * Shell Zod schema: the Shell's props, for tools that read a schema\n * (editors, assistants, documentation).\n *\n * Shell is the frame of an application. Each pane holds its own open state;\n * a pane nobody has touched follows the window, and the stylesheet resolves\n * it at each breakpoint. Callbacks report user actions only.\n *\n * @example\n * ```tsx\n * const props = ShellRootSchema.parse({ height: 'full' });\n *\n * const sidebarProps = ShellSidebarSchema.parse({\n * defaultState: { initial: 'collapsed', md: 'expanded' },\n * presentation: { initial: 'overlay', sm: 'fixed' },\n * });\n * ```\n */\n\n// Common types\nconst PaneModeSchema = z.enum(['expanded', 'collapsed']).describe('Pane state mode');\nconst SidebarModeSchema = z.enum(['collapsed', 'thin', 'expanded']).describe('Sidebar state');\nconst PresentationValueSchema = z.enum(['fixed', 'overlay', 'stacked']).describe('Presentation mode');\nconst _BreakpointSchema = z.enum(['initial', 'xs', 'sm', 'md', 'lg', 'xl']).describe('Responsive breakpoint');\nconst PaneTargetSchema = z.enum(['left', 'rail', 'panel', 'sidebar', 'inspector', 'bottom']).describe('Pane target. `left` is deprecated: use `rail`.');\nconst TriggerActionSchema = z.enum(['toggle', 'expand', 'collapse']).describe('Trigger action');\nconst OpenChangeReasonSchema = z.enum(['toggle', 'dismiss']).describe('Why the state changed: `toggle` for a trigger or the resize handle, `dismiss` for Escape or the scrim');\nconst SizeChangeReasonSchema = z.enum(['init', 'resize', 'controlled']).describe('Why the size changed');\n\nfunction responsive<T extends z.ZodTypeAny>(value: T) {\n return z.union([\n value,\n z.object({\n initial: value.optional(),\n xs: value.optional(),\n sm: value.optional(),\n md: value.optional(),\n lg: value.optional(),\n xl: value.optional(),\n }),\n ]);\n}\n\n// Responsive schemas\nconst _ResponsiveModeSchema = responsive(PaneModeSchema).describe('Responsive pane mode configuration');\nconst ResponsiveSidebarModeSchema = responsive(SidebarModeSchema).describe('Responsive sidebar state');\nconst ResponsivePresentationSchema = responsive(PresentationValueSchema).describe('Responsive presentation configuration');\nconst ResponsiveOpenSchema = responsive(z.boolean()).describe('Responsive open state');\n\n// Size persistence adapter (deprecated)\nconst PaneSizePersistenceSchema = z\n .object({\n load: z.function({ output: z.union([z.number(), z.promise(z.number()), z.undefined()]) }).optional(),\n save: z.function({ input: [z.number()], output: z.union([z.void(), z.promise(z.void())]) }).optional(),\n })\n .describe('Deprecated, removed in 1.0. Keep the size in your own state with `size`/`onSizeChange`.');\n\nconst StyleSchema = z\n .record(z.string(), z.union([z.string(), z.number()]))\n .optional()\n .describe('Inline styles');\n\nconst OpenPropsSchema = {\n open: z.union([z.boolean(), ResponsiveOpenSchema]).optional().describe('The open state, when controlled. A responsive object is deprecated.'),\n defaultOpen: z\n .union([z.boolean(), ResponsiveOpenSchema])\n .optional()\n .describe('The starting state. A responsive object leaves the pane untouched, with that object as the answer at each breakpoint.'),\n onOpenChange: z\n .function({ input: [z.boolean(), z.object({ reason: OpenChangeReasonSchema })], output: z.void() })\n .optional()\n .describe('Called when a user opens or closes the pane. Never called on mount or on a resize.'),\n};\n\n// Props shared by every pane\nconst PaneBaseShape = {\n id: z.string().optional().describe('The pane id. A Trigger points `aria-controls` at it.'),\n presentation: ResponsivePresentationSchema.optional(),\n expandedSize: z.number().optional(),\n inset: z.boolean().optional().describe('Lifts the pane off the frame and paints the backdrop behind it'),\n onExpand: z.function({ output: z.void() }).optional().describe('Deprecated: use `onOpenChange`'),\n onCollapse: z.function({ output: z.void() }).optional().describe('Deprecated: use `onOpenChange`'),\n className: z.string().optional().describe('Additional CSS class name'),\n style: StyleSchema,\n children: z.any().optional(),\n};\n\n// Props of a pane that resizes\nconst ResizeShape = {\n minSize: z.number().optional(),\n maxSize: z.number().optional().describe('The largest size. A drag also stops before the handle leaves the frame.'),\n resizable: z.boolean().optional(),\n collapsible: z.boolean().optional().describe('A double-click on the handle closes the pane'),\n size: z.union([z.number(), z.string()]).optional().describe('The size, when controlled'),\n defaultSize: z.union([z.number(), z.string()]).optional().describe('The starting size'),\n onSizeChange: z.function({ input: [z.number(), z.object({ reason: SizeChangeReasonSchema })], output: z.void() }).optional(),\n sizeUpdate: z\n .enum(['throttle', 'debounce'])\n .optional()\n .describe('Rate-limits onSizeChange across repeated resize ends, such as key presses on the handle. A drag calls it once, when the drag ends; use onResize for live sizes.'),\n sizeUpdateMs: z.number().optional(),\n onResize: z\n .function({ input: [z.number()], output: z.void() })\n .optional()\n .describe('Called during a drag, at most once per animation frame'),\n onResizeStart: z.function({ input: [z.number()], output: z.void() }).optional(),\n onResizeEnd: z.function({ input: [z.number()], output: z.void() }).optional(),\n snapPoints: z.array(z.number()).optional().describe('Deprecated, removed in 1.0'),\n snapTolerance: z.number().optional().describe('Deprecated, removed in 1.0'),\n collapseThreshold: z.number().optional().describe('Deprecated, removed in 1.0'),\n paneId: z.string().optional().describe('Deprecated, removed in 1.0'),\n persistence: PaneSizePersistenceSchema.optional(),\n};\n\n/**\n * Shell.Root component schema\n */\nexport const ShellRootSchema = z\n .object({\n height: z\n .union([z.literal('full'), z.literal('auto'), z.string(), z.number()])\n .default('full')\n .describe('Height of the frame. `full` is 100dvh, with 100vh where dvh is not supported.'),\n className: z.string().optional().describe('Additional CSS class name'),\n style: StyleSchema,\n children: z.any().optional().describe('The Shell parts, and anything else, rendered in order'),\n })\n .strict();\n\n/**\n * Shell.Header component schema\n */\nexport const ShellHeaderSchema = z\n .object({\n height: z.number().default(64).describe('Height of the header, in pixels'),\n className: z.string().optional().describe('Additional CSS class name'),\n style: StyleSchema,\n children: z.any().optional().describe('Header content'),\n })\n .strict();\n\n/**\n * Shell.Rail component schema\n */\nexport const ShellRailSchema = z\n .object({\n ...PaneBaseShape,\n ...OpenPropsSchema,\n presentation: ResponsivePresentationSchema.default('fixed').describe('Presentation mode'),\n expandedSize: z.number().default(64).describe('Width in pixels'),\n collapsible: z.boolean().optional(),\n })\n .strict();\n\n/**\n * Shell.Panel component schema\n */\nexport const ShellPanelSchema = z\n .object({\n ...PaneBaseShape,\n ...OpenPropsSchema,\n ...ResizeShape,\n presentation: ResponsivePresentationSchema.optional().describe(\"Presentation mode. With no value the panel follows the Rail's.\"),\n expandedSize: z.number().default(288).describe('Open width in pixels'),\n minSize: z.number().default(100).describe('Minimum width when resizing'),\n maxSize: z.number().default(800).describe('Maximum width when resizing'),\n resizable: z.boolean().default(false).describe('Whether the panel can be resized'),\n collapsible: z.boolean().default(true).describe('Whether a double-click on the handle closes the panel'),\n })\n .strict();\n\n/**\n * Shell.Sidebar component schema\n */\nexport const ShellSidebarSchema = z\n .object({\n ...PaneBaseShape,\n ...ResizeShape,\n state: z.union([SidebarModeSchema, ResponsiveSidebarModeSchema]).optional().describe('The state, when controlled. A responsive object is deprecated.'),\n defaultState: ResponsiveSidebarModeSchema.optional().describe('The starting state. With no value the sidebar is open where it is in the frame and closed where it is an overlay.'),\n onStateChange: z\n .function({ input: [SidebarModeSchema, z.object({ reason: OpenChangeReasonSchema })], output: z.void() })\n .optional()\n .describe('Called when a user changes the state. Never called on mount or on a resize.'),\n presentation: ResponsivePresentationSchema.default({ initial: 'overlay', sm: 'fixed' }).describe('Presentation mode'),\n expandedSize: z.number().default(288).describe('Open width in pixels'),\n minSize: z.number().default(200).describe('Minimum width when resizing'),\n maxSize: z.number().default(400).describe('Maximum width when resizing'),\n thinSize: z.number().default(64).describe('Width in the thin state'),\n toggleModes: z.enum(['both', 'single']).default('both').describe('`both` goes collapsed, thin, expanded; `single` goes between collapsed and one open state'),\n resizable: z.boolean().default(false).describe('Whether the sidebar can be resized'),\n collapsible: z.boolean().default(true).describe('Whether a double-click on the handle closes the sidebar'),\n })\n .strict();\n\n/**\n * Shell.Content component schema\n */\nexport const ShellContentSchema = z\n .object({\n inset: z.boolean().optional().describe('Lifts the pane off the frame and paints the backdrop behind it'),\n className: z.string().optional().describe('Additional CSS class name'),\n style: StyleSchema,\n children: z.any().optional().describe('Main content'),\n })\n .strict();\n\n/**\n * Shell.Inspector component schema\n */\nexport const ShellInspectorSchema = z\n .object({\n ...PaneBaseShape,\n ...OpenPropsSchema,\n ...ResizeShape,\n presentation: ResponsivePresentationSchema.default({ initial: 'overlay', sm: 'fixed' }).describe('Presentation mode'),\n expandedSize: z.number().default(320).describe('Open width in pixels'),\n minSize: z.number().default(200).describe('Minimum width when resizing'),\n maxSize: z.number().default(500).describe('Maximum width when resizing'),\n resizable: z.boolean().default(false).describe('Whether the inspector can be resized'),\n collapsible: z.boolean().default(true).describe('Whether a double-click on the handle closes the inspector'),\n })\n .strict();\n\n/**\n * Shell.Bottom component schema\n */\nexport const ShellBottomSchema = z\n .object({\n ...PaneBaseShape,\n ...OpenPropsSchema,\n ...ResizeShape,\n presentation: ResponsivePresentationSchema.default('fixed').describe('Presentation mode'),\n expandedSize: z.number().default(200).describe('Open height in pixels'),\n minSize: z.number().default(100).describe('Minimum height when resizing'),\n maxSize: z.number().default(400).describe('Maximum height when resizing'),\n resizable: z.boolean().default(false).describe('Whether the bottom panel can be resized'),\n collapsible: z.boolean().default(true).describe('Whether a double-click on the handle closes the panel'),\n })\n .strict();\n\n/**\n * Shell.Trigger component schema\n */\nexport const ShellTriggerSchema = z\n .object({\n target: PaneTargetSchema.describe('Which pane to drive'),\n action: TriggerActionSchema.default('toggle').describe('Action to perform'),\n peekOnHover: z.boolean().default(false).describe('Deprecated, removed in 1.0. Shows a preview of a closed pane on hover.'),\n type: z.enum(['button', 'submit', 'reset']).default('button').describe('The button type'),\n className: z.string().optional().describe('Additional CSS class name'),\n style: StyleSchema,\n children: z.any().optional().describe('Trigger content'),\n onClick: z.function().optional().describe('Runs before the trigger acts. Call `event.preventDefault()` to cancel it.'),\n onMouseEnter: z.function().optional().describe('Mouse enter handler'),\n onMouseLeave: z.function().optional().describe('Mouse leave handler'),\n 'aria-label': z.string().optional().describe('ARIA label for accessibility'),\n 'aria-labelledby': z.string().optional().describe('ARIA labelled by reference'),\n 'aria-describedby': z.string().optional().describe('ARIA described by reference'),\n })\n .strict();\n\n/**\n * Shell.Handle component schema (for resize handles)\n */\nexport const ShellHandleSchema = z\n .object({\n className: z.string().optional().describe('Additional CSS class name'),\n style: StyleSchema,\n children: z.any().optional().describe('Handle content'),\n })\n .strict();\n\n// Type exports\nexport type ShellRootProps = z.infer<typeof ShellRootSchema>;\nexport type ShellHeaderProps = z.infer<typeof ShellHeaderSchema>;\nexport type ShellRailProps = z.infer<typeof ShellRailSchema>;\nexport type ShellPanelProps = z.infer<typeof ShellPanelSchema>;\nexport type ShellSidebarProps = z.infer<typeof ShellSidebarSchema>;\nexport type ShellContentProps = z.infer<typeof ShellContentSchema>;\nexport type ShellInspectorProps = z.infer<typeof ShellInspectorSchema>;\nexport type ShellBottomProps = z.infer<typeof ShellBottomSchema>;\nexport type ShellTriggerProps = z.infer<typeof ShellTriggerSchema>;\nexport type ShellHandleProps = z.infer<typeof ShellHandleSchema>;\n\n// Common type exports\nexport type PaneMode = z.infer<typeof PaneModeSchema>;\nexport type SidebarMode = z.infer<typeof SidebarModeSchema>;\nexport type PresentationValue = z.infer<typeof PresentationValueSchema>;\nexport type Breakpoint = z.infer<typeof _BreakpointSchema>;\nexport type PaneTarget = z.infer<typeof PaneTargetSchema>;\nexport type TriggerAction = z.infer<typeof TriggerActionSchema>;\nexport type ResponsiveMode = z.infer<typeof _ResponsiveModeSchema>;\nexport type ResponsiveSidebarMode = z.infer<typeof ResponsiveSidebarModeSchema>;\nexport type ResponsivePresentation = z.infer<typeof ResponsivePresentationSchema>;\nexport type PaneSizePersistence = z.infer<typeof PaneSizePersistenceSchema>;\n\n/**\n * Development-only helper to validate and normalize Shell props\n * This function should only be used in development mode\n *\n * @param props - Props to validate and normalize\n * @returns Validated and normalized props\n *\n * @example\n * ```tsx\n * // In development, this will validate props and show helpful errors\n * const validatedProps = parseShellRootProps({ height: 'invalid' });\n * // Throws validation errors for invalid values\n * ```\n */\nexport function parseShellRootProps(props: unknown): ShellRootProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellRootSchema.parse(props);\n }\n return props as ShellRootProps;\n}\n\nexport function parseShellHeaderProps(props: unknown): ShellHeaderProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellHeaderSchema.parse(props);\n }\n return props as ShellHeaderProps;\n}\n\nexport function parseShellRailProps(props: unknown): ShellRailProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellRailSchema.parse(props);\n }\n return props as ShellRailProps;\n}\n\nexport function parseShellPanelProps(props: unknown): ShellPanelProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellPanelSchema.parse(props);\n }\n return props as ShellPanelProps;\n}\n\nexport function parseShellSidebarProps(props: unknown): ShellSidebarProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellSidebarSchema.parse(props);\n }\n return props as ShellSidebarProps;\n}\n\nexport function parseShellContentProps(props: unknown): ShellContentProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellContentSchema.parse(props);\n }\n return props as ShellContentProps;\n}\n\nexport function parseShellInspectorProps(props: unknown): ShellInspectorProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellInspectorSchema.parse(props);\n }\n return props as ShellInspectorProps;\n}\n\nexport function parseShellBottomProps(props: unknown): ShellBottomProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellBottomSchema.parse(props);\n }\n return props as ShellBottomProps;\n}\n\nexport function parseShellTriggerProps(props: unknown): ShellTriggerProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellTriggerSchema.parse(props);\n }\n return props as ShellTriggerProps;\n}\n\nexport function parseShellHandleProps(props: unknown): ShellHandleProps {\n if (process.env.NODE_ENV === 'development') {\n return ShellHandleSchema.parse(props);\n }\n return props as ShellHandleProps;\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["schemas_exports", "__export", "BaseButtonSchema", "ButtonSchema", "IconButtonSchema", "ShellBottomSchema", "ShellContentSchema", "ShellHandleSchema", "ShellHeaderSchema", "ShellInspectorSchema", "ShellPanelSchema", "ShellRailSchema", "ShellRootSchema", "ShellSidebarSchema", "ShellTriggerSchema", "ToggleButtonSchema", "ToggleIconButtonSchema", "parseBaseButtonProps", "parseButtonProps", "parseIconButtonProps", "parseProps", "parseShellBottomProps", "parseShellContentProps", "parseShellHandleProps", "parseShellHeaderProps", "parseShellInspectorProps", "parseShellPanelProps", "parseShellRailProps", "parseShellRootProps", "parseShellSidebarProps", "parseShellTriggerProps", "parseToggleButtonProps", "parseToggleIconButtonProps", "__toCommonJS", "import_zod", "BaseButtonSchema", "parseBaseButtonProps", "props", "import_zod", "ButtonSchema", "BaseButtonSchema", "parseButtonProps", "props", "import_zod", "IconButtonSchema", "BaseButtonSchema", "data", "parseIconButtonProps", "props", "import_zod", "ToggleButtonSchema", "ButtonSchema", "data", "parseToggleButtonProps", "props", "import_zod", "ToggleIconButtonSchema", "BaseButtonSchema", "data", "parseToggleIconButtonProps", "props", "import_zod", "PaneModeSchema", "SidebarModeSchema", "PresentationValueSchema", "_BreakpointSchema", "PaneTargetSchema", "TriggerActionSchema", "OpenChangeReasonSchema", "SizeChangeReasonSchema", "responsive", "value", "_ResponsiveModeSchema", "ResponsiveSidebarModeSchema", "ResponsivePresentationSchema", "ResponsiveOpenSchema", "PaneSizePersistenceSchema", "StyleSchema", "OpenPropsSchema", "PaneBaseShape", "ResizeShape", "ShellRootSchema", "ShellHeaderSchema", "ShellRailSchema", "ShellPanelSchema", "ShellSidebarSchema", "ShellContentSchema", "ShellInspectorSchema", "ShellBottomSchema", "ShellTriggerSchema", "ShellHandleSchema", "parseShellRootProps", "props", "parseShellHeaderProps", "parseShellRailProps", "parseShellPanelProps", "parseShellSidebarProps", "parseShellContentProps", "parseShellInspectorProps", "parseShellBottomProps", "parseShellTriggerProps", "parseShellHandleProps", "import_zod", "parseProps", "schema", "props"]
7
7
  }