@womp/kookie-ui 0.34.1 → 0.35.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 (371) hide show
  1. package/README.md +1 -1
  2. package/components.css +20 -7
  3. package/dist/cjs/components/_internal/pane-chrome.d.ts +1 -2
  4. package/dist/cjs/components/_internal/pane-chrome.d.ts.map +1 -1
  5. package/dist/cjs/components/_internal/pane-chrome.js.map +2 -2
  6. package/dist/cjs/components/_internal/shell-bottom.js +1 -1
  7. package/dist/cjs/components/_internal/shell-bottom.js.map +3 -3
  8. package/dist/cjs/components/_internal/shell-handles.d.ts.map +1 -1
  9. package/dist/cjs/components/_internal/shell-handles.js +1 -1
  10. package/dist/cjs/components/_internal/shell-handles.js.map +3 -3
  11. package/dist/cjs/components/_internal/shell-inspector.js +1 -1
  12. package/dist/cjs/components/_internal/shell-inspector.js.map +3 -3
  13. package/dist/cjs/components/_internal/shell-resizable.d.ts.map +1 -1
  14. package/dist/cjs/components/_internal/shell-resizable.js +1 -1
  15. package/dist/cjs/components/_internal/shell-resizable.js.map +3 -3
  16. package/dist/cjs/components/_internal/shell-resize.d.ts +2 -0
  17. package/dist/cjs/components/_internal/shell-resize.d.ts.map +1 -1
  18. package/dist/cjs/components/_internal/shell-resize.js.map +2 -2
  19. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  20. package/dist/cjs/components/_internal/shell-sidebar.js.map +3 -3
  21. package/dist/cjs/components/avatar.d.ts.map +1 -1
  22. package/dist/cjs/components/avatar.js +1 -1
  23. package/dist/cjs/components/avatar.js.map +2 -2
  24. package/dist/cjs/components/button.js +1 -1
  25. package/dist/cjs/components/button.js.map +3 -3
  26. package/dist/cjs/components/chatbar.d.ts.map +1 -1
  27. package/dist/cjs/components/chatbar.js +1 -1
  28. package/dist/cjs/components/chatbar.js.map +3 -3
  29. package/dist/cjs/components/combobox.d.ts +16 -0
  30. package/dist/cjs/components/combobox.d.ts.map +1 -1
  31. package/dist/cjs/components/combobox.js +1 -1
  32. package/dist/cjs/components/combobox.js.map +2 -2
  33. package/dist/cjs/components/index.js +2 -2
  34. package/dist/cjs/components/index.js.map +3 -3
  35. package/dist/cjs/components/message-scroller.js +1 -1
  36. package/dist/cjs/components/message-scroller.js.map +3 -3
  37. package/dist/cjs/components/navbar.d.ts.map +1 -1
  38. package/dist/cjs/components/navbar.js +1 -1
  39. package/dist/cjs/components/navbar.js.map +3 -3
  40. package/dist/cjs/components/navigator.js +1 -1
  41. package/dist/cjs/components/navigator.js.map +3 -3
  42. package/dist/cjs/components/notice.js +1 -1
  43. package/dist/cjs/components/notice.js.map +3 -3
  44. package/dist/cjs/components/schemas/base-button.schema.d.ts +7 -0
  45. package/dist/cjs/components/schemas/base-button.schema.d.ts.map +1 -1
  46. package/dist/cjs/components/schemas/base-button.schema.js +1 -1
  47. package/dist/cjs/components/schemas/base-button.schema.js.map +2 -2
  48. package/dist/cjs/components/schemas/button.schema.d.ts +14 -0
  49. package/dist/cjs/components/schemas/button.schema.d.ts.map +1 -1
  50. package/dist/cjs/components/schemas/button.schema.js +1 -1
  51. package/dist/cjs/components/schemas/button.schema.js.map +2 -2
  52. package/dist/cjs/components/schemas/index.js +1 -1
  53. package/dist/cjs/components/schemas/index.js.map +2 -2
  54. package/dist/cjs/components/schemas/shell.schema.d.ts +7 -6
  55. package/dist/cjs/components/schemas/shell.schema.d.ts.map +1 -1
  56. package/dist/cjs/components/schemas/shell.schema.js +1 -1
  57. package/dist/cjs/components/schemas/shell.schema.js.map +2 -2
  58. package/dist/cjs/components/schemas/toggle.schema.d.ts +83 -77
  59. package/dist/cjs/components/schemas/toggle.schema.d.ts.map +1 -1
  60. package/dist/cjs/components/schemas/toggle.schema.js +1 -1
  61. package/dist/cjs/components/schemas/toggle.schema.js.map +2 -2
  62. package/dist/cjs/components/segmented-control.d.ts.map +1 -1
  63. package/dist/cjs/components/segmented-control.js +1 -1
  64. package/dist/cjs/components/segmented-control.js.map +3 -3
  65. package/dist/cjs/components/select.js +1 -1
  66. package/dist/cjs/components/select.js.map +2 -2
  67. package/dist/cjs/components/sheet.d.ts +2 -2
  68. package/dist/cjs/components/sheet.js.map +1 -1
  69. package/dist/cjs/components/shell.context.js.map +1 -1
  70. package/dist/cjs/components/shell.js +1 -1
  71. package/dist/cjs/components/shell.js.map +3 -3
  72. package/dist/cjs/components/sidebar.d.ts +1 -1
  73. package/dist/cjs/components/sidebar.d.ts.map +1 -1
  74. package/dist/cjs/components/sidebar.js +1 -1
  75. package/dist/cjs/components/sidebar.js.map +3 -3
  76. package/dist/cjs/components/table.d.ts.map +1 -1
  77. package/dist/cjs/components/table.js +1 -1
  78. package/dist/cjs/components/table.js.map +3 -3
  79. package/dist/cjs/components/toggle.js +1 -1
  80. package/dist/cjs/components/toggle.js.map +3 -3
  81. package/dist/cjs/components/toolbar.js +1 -1
  82. package/dist/cjs/components/toolbar.js.map +3 -3
  83. package/dist/cjs/components/virtual-menu.d.ts.map +1 -1
  84. package/dist/cjs/components/virtual-menu.js +1 -1
  85. package/dist/cjs/components/virtual-menu.js.map +3 -3
  86. package/dist/cjs/helpers/index.d.ts +0 -1
  87. package/dist/cjs/helpers/index.d.ts.map +1 -1
  88. package/dist/cjs/helpers/index.js +2 -2
  89. package/dist/cjs/helpers/index.js.map +4 -4
  90. package/dist/cjs/hooks/index.d.ts +0 -2
  91. package/dist/cjs/hooks/index.d.ts.map +1 -1
  92. package/dist/cjs/hooks/index.js +3 -11
  93. package/dist/cjs/hooks/index.js.map +4 -4
  94. package/dist/cjs/index.js +3 -11
  95. package/dist/cjs/index.js.map +4 -4
  96. package/dist/cjs/props/index.d.ts +6 -1
  97. package/dist/cjs/props/index.d.ts.map +1 -1
  98. package/dist/cjs/props/index.js +1 -1
  99. package/dist/cjs/props/index.js.map +4 -4
  100. package/dist/esm/chunk-25FNCKUM.js +2 -0
  101. package/dist/esm/chunk-25FNCKUM.js.map +7 -0
  102. package/dist/esm/{chunk-KDJM4NQQ.js → chunk-2WFN4D52.js} +2 -2
  103. package/dist/esm/chunk-4OJRLS5N.js +3 -0
  104. package/dist/esm/chunk-4OJRLS5N.js.map +7 -0
  105. package/dist/esm/chunk-4TTRPCGG.js +3 -0
  106. package/dist/esm/{chunk-QKCNGEX4.js.map → chunk-4TTRPCGG.js.map} +3 -3
  107. package/dist/esm/chunk-4X64QOAR.js +3 -0
  108. package/dist/esm/chunk-4X64QOAR.js.map +7 -0
  109. package/dist/esm/{chunk-L7PRLW6A.js → chunk-5APRBJRR.js} +2 -2
  110. package/dist/esm/{chunk-L7PRLW6A.js.map → chunk-5APRBJRR.js.map} +2 -2
  111. package/dist/esm/chunk-7HD5LS3M.js +3 -0
  112. package/dist/esm/chunk-7HD5LS3M.js.map +7 -0
  113. package/dist/esm/chunk-7ZOGH5NT.js +2 -0
  114. package/dist/esm/chunk-7ZOGH5NT.js.map +7 -0
  115. package/dist/esm/chunk-BJA75XKG.js +2 -0
  116. package/dist/esm/chunk-BJA75XKG.js.map +7 -0
  117. package/dist/esm/{chunk-NO2JCJWI.js → chunk-BJVXB3PN.js} +2 -2
  118. package/dist/esm/{chunk-BR6Z2CAE.js → chunk-C6VGCYFQ.js} +2 -2
  119. package/dist/esm/chunk-EZYXYLR2.js +2 -0
  120. package/dist/esm/chunk-EZYXYLR2.js.map +7 -0
  121. package/dist/esm/chunk-FTNZWAPB.js +3 -0
  122. package/dist/esm/{chunk-7QBNXNEN.js.map → chunk-FTNZWAPB.js.map} +3 -3
  123. package/dist/esm/{chunk-ZLGOZKB3.js → chunk-FYZXC7AL.js} +2 -2
  124. package/dist/esm/{chunk-XD676L6S.js → chunk-HQT32HQ6.js} +2 -2
  125. package/dist/esm/{chunk-XKYPJTRN.js → chunk-I5TPDYJO.js} +2 -2
  126. package/dist/esm/chunk-I77CYEBT.js +2 -0
  127. package/dist/esm/chunk-I77CYEBT.js.map +7 -0
  128. package/dist/esm/{chunk-API4DAPY.js → chunk-J7MIXG6M.js} +1 -1
  129. package/dist/esm/chunk-J7MIXG6M.js.map +7 -0
  130. package/dist/esm/{chunk-UMQOTGJC.js → chunk-M26LLCQC.js} +2 -2
  131. package/dist/esm/{chunk-WN3WMFAM.js → chunk-MLHS2GWL.js} +2 -2
  132. package/dist/esm/chunk-MPLBIPJ6.js +3 -0
  133. package/dist/esm/chunk-MPLBIPJ6.js.map +7 -0
  134. package/dist/esm/{chunk-WEBNIUEX.js → chunk-MXEOE4LA.js} +1 -1
  135. package/dist/esm/chunk-MXEOE4LA.js.map +7 -0
  136. package/dist/esm/chunk-OGVKMDO7.js +3 -0
  137. package/dist/esm/chunk-OGVKMDO7.js.map +7 -0
  138. package/dist/esm/{chunk-ODHCDJ3Y.js → chunk-PMXIQ5B4.js} +1 -1
  139. package/dist/esm/chunk-PMXIQ5B4.js.map +7 -0
  140. package/dist/esm/{chunk-LG5DPQ46.js → chunk-R4DMVTM3.js} +2 -2
  141. package/dist/esm/{chunk-LG5DPQ46.js.map → chunk-R4DMVTM3.js.map} +3 -3
  142. package/dist/esm/chunk-S6SEWECR.js +3 -0
  143. package/dist/esm/{chunk-5VYQDA5S.js.map → chunk-S6SEWECR.js.map} +3 -3
  144. package/dist/esm/{chunk-7YXHLU4C.js → chunk-TANYRHGP.js} +2 -2
  145. package/dist/esm/{chunk-INGT6DB6.js → chunk-TS4QCDSI.js} +1 -1
  146. package/dist/esm/chunk-TS4QCDSI.js.map +7 -0
  147. package/dist/esm/chunk-VRWZLGR7.js +2 -0
  148. package/dist/esm/chunk-X4PWBFOT.js +3 -0
  149. package/dist/esm/chunk-X4PWBFOT.js.map +7 -0
  150. package/dist/esm/chunk-XFMAA4MD.js +3 -0
  151. package/dist/esm/chunk-XFMAA4MD.js.map +7 -0
  152. package/dist/esm/chunk-XGV7KNSE.js +3 -0
  153. package/dist/esm/chunk-XGV7KNSE.js.map +7 -0
  154. package/dist/esm/chunk-XOAOSRTH.js +3 -0
  155. package/dist/esm/chunk-XOAOSRTH.js.map +7 -0
  156. package/dist/esm/{chunk-YOTTLPJ3.js → chunk-Y5ITMKC6.js} +2 -2
  157. package/dist/esm/chunk-YLPCYCYA.js +3 -0
  158. package/dist/esm/chunk-YLPCYCYA.js.map +7 -0
  159. package/dist/esm/components/_internal/pane-chrome.d.ts +1 -2
  160. package/dist/esm/components/_internal/pane-chrome.d.ts.map +1 -1
  161. package/dist/esm/components/_internal/pane-chrome.js +1 -1
  162. package/dist/esm/components/_internal/shell-bottom.js +1 -1
  163. package/dist/esm/components/_internal/shell-handles.d.ts.map +1 -1
  164. package/dist/esm/components/_internal/shell-handles.js +1 -1
  165. package/dist/esm/components/_internal/shell-inspector.js +1 -1
  166. package/dist/esm/components/_internal/shell-resizable.d.ts.map +1 -1
  167. package/dist/esm/components/_internal/shell-resizable.js +1 -1
  168. package/dist/esm/components/_internal/shell-resize.d.ts +2 -0
  169. package/dist/esm/components/_internal/shell-resize.d.ts.map +1 -1
  170. package/dist/esm/components/_internal/shell-resize.js +1 -1
  171. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  172. package/dist/esm/components/accordion.props.js +1 -1
  173. package/dist/esm/components/accordion.props.js.map +4 -4
  174. package/dist/esm/components/avatar.d.ts.map +1 -1
  175. package/dist/esm/components/avatar.js +1 -1
  176. package/dist/esm/components/button.js +1 -1
  177. package/dist/esm/components/chatbar.d.ts.map +1 -1
  178. package/dist/esm/components/chatbar.js +1 -1
  179. package/dist/esm/components/combobox.d.ts +16 -0
  180. package/dist/esm/components/combobox.d.ts.map +1 -1
  181. package/dist/esm/components/combobox.js +1 -1
  182. package/dist/esm/components/combobox.props.js +1 -1
  183. package/dist/esm/components/combobox.props.js.map +4 -4
  184. package/dist/esm/components/image.props.js +1 -1
  185. package/dist/esm/components/image.props.js.map +4 -4
  186. package/dist/esm/components/index.js +1 -1
  187. package/dist/esm/components/message-scroller.js +1 -1
  188. package/dist/esm/components/navbar.d.ts.map +1 -1
  189. package/dist/esm/components/navbar.js +1 -1
  190. package/dist/esm/components/navbar.props.js +1 -1
  191. package/dist/esm/components/navbar.props.js.map +4 -4
  192. package/dist/esm/components/navigator.js +1 -1
  193. package/dist/esm/components/notice.js +1 -1
  194. package/dist/esm/components/schemas/base-button.schema.d.ts +7 -0
  195. package/dist/esm/components/schemas/base-button.schema.d.ts.map +1 -1
  196. package/dist/esm/components/schemas/base-button.schema.js +1 -1
  197. package/dist/esm/components/schemas/button.schema.d.ts +14 -0
  198. package/dist/esm/components/schemas/button.schema.d.ts.map +1 -1
  199. package/dist/esm/components/schemas/button.schema.js +1 -1
  200. package/dist/esm/components/schemas/index.js +1 -1
  201. package/dist/esm/components/schemas/shell.schema.d.ts +7 -6
  202. package/dist/esm/components/schemas/shell.schema.d.ts.map +1 -1
  203. package/dist/esm/components/schemas/shell.schema.js +1 -1
  204. package/dist/esm/components/schemas/toggle.schema.d.ts +83 -77
  205. package/dist/esm/components/schemas/toggle.schema.d.ts.map +1 -1
  206. package/dist/esm/components/schemas/toggle.schema.js +1 -1
  207. package/dist/esm/components/segmented-control.d.ts.map +1 -1
  208. package/dist/esm/components/segmented-control.js +1 -1
  209. package/dist/esm/components/select.js +1 -1
  210. package/dist/esm/components/sheet.d.ts +2 -2
  211. package/dist/esm/components/sheet.js +1 -1
  212. package/dist/esm/components/shell.context.js +1 -1
  213. package/dist/esm/components/shell.js +1 -1
  214. package/dist/esm/components/sidebar.d.ts +1 -1
  215. package/dist/esm/components/sidebar.d.ts.map +1 -1
  216. package/dist/esm/components/sidebar.js +1 -1
  217. package/dist/esm/components/table.d.ts.map +1 -1
  218. package/dist/esm/components/table.js +1 -1
  219. package/dist/esm/components/toggle.js +1 -1
  220. package/dist/esm/components/toolbar.js +1 -1
  221. package/dist/esm/components/toolbar.props.js +1 -1
  222. package/dist/esm/components/toolbar.props.js.map +4 -4
  223. package/dist/esm/components/virtual-menu.d.ts.map +1 -1
  224. package/dist/esm/components/virtual-menu.js +1 -1
  225. package/dist/esm/helpers/index.d.ts +0 -1
  226. package/dist/esm/helpers/index.d.ts.map +1 -1
  227. package/dist/esm/helpers/index.js +1 -1
  228. package/dist/esm/helpers/index.js.map +2 -2
  229. package/dist/esm/hooks/index.d.ts +0 -2
  230. package/dist/esm/hooks/index.d.ts.map +1 -1
  231. package/dist/esm/hooks/index.js +1 -1
  232. package/dist/esm/index.js +1 -1
  233. package/dist/esm/props/index.d.ts +6 -1
  234. package/dist/esm/props/index.d.ts.map +1 -1
  235. package/dist/esm/props/index.js +1 -1
  236. package/layout/utilities.css +810 -0
  237. package/layout.css +810 -0
  238. package/package.json +3 -4
  239. package/schemas/base-button.json +13 -0
  240. package/schemas/button.json +13 -0
  241. package/schemas/index.json +51 -12
  242. package/schemas/shell-bottom.json +2 -2
  243. package/schemas/shell-content.json +2 -2
  244. package/schemas/shell-header.json +4 -0
  245. package/schemas/shell-inspector.json +2 -2
  246. package/schemas/shell-panel.json +2 -2
  247. package/schemas/shell-rail.json +2 -2
  248. package/schemas/shell-sidebar.json +2 -2
  249. package/schemas/toggle.json +9 -0
  250. package/src/components/_internal/base-checkbox.css +0 -2
  251. package/src/components/_internal/base-dialog.css +1 -1
  252. package/src/components/_internal/base-sidebar-menu.css +0 -3
  253. package/src/components/_internal/base-sidebar.css +0 -2
  254. package/src/components/_internal/base-tab-list.css +0 -1
  255. package/src/components/_internal/pane-chrome.tsx +2 -3
  256. package/src/components/_internal/shell-handles.tsx +3 -0
  257. package/src/components/_internal/shell-resizable.tsx +9 -0
  258. package/src/components/_internal/shell-resize.tsx +2 -0
  259. package/src/components/accordion.css +0 -1
  260. package/src/components/avatar.tsx +3 -1
  261. package/src/components/button.tsx +1 -1
  262. package/src/components/chatbar.css +0 -2
  263. package/src/components/chatbar.tsx +2 -1
  264. package/src/components/combobox.tsx +2 -3
  265. package/src/components/navbar.tsx +3 -4
  266. package/src/components/navigator.css +4 -4
  267. package/src/components/notice.css +1 -1
  268. package/src/components/schemas/base-button.schema.ts +7 -0
  269. package/src/components/schemas/shell.schema.ts +3 -2
  270. package/src/components/schemas/toggle.schema.ts +2 -1
  271. package/src/components/segmented-control.css +13 -3
  272. package/src/components/segmented-control.tsx +10 -2
  273. package/src/components/select.tsx +2 -2
  274. package/src/components/sheet.tsx +2 -2
  275. package/src/components/shell.context.tsx +1 -1
  276. package/src/components/sidebar.css +2 -7
  277. package/src/components/sidebar.tsx +1 -1
  278. package/src/components/table.tsx +4 -1
  279. package/src/components/text-area.css +0 -1
  280. package/src/components/text-field.css +2 -2
  281. package/src/components/virtual-menu.css +0 -1
  282. package/src/components/virtual-menu.tsx +8 -1
  283. package/src/helpers/index.ts +0 -1
  284. package/src/hooks/index.ts +0 -2
  285. package/src/props/index.ts +6 -1
  286. package/src/styles/utilities/inset.css +135 -0
  287. package/styles.css +830 -7
  288. package/utilities.css +810 -0
  289. package/dist/cjs/helpers/map-prop-values.d.ts +0 -4
  290. package/dist/cjs/helpers/map-prop-values.d.ts.map +0 -1
  291. package/dist/cjs/helpers/map-prop-values.js +0 -2
  292. package/dist/cjs/helpers/map-prop-values.js.map +0 -7
  293. package/dist/cjs/hooks/use-live-announcer.d.ts +0 -6
  294. package/dist/cjs/hooks/use-live-announcer.d.ts.map +0 -1
  295. package/dist/cjs/hooks/use-live-announcer.js +0 -11
  296. package/dist/cjs/hooks/use-live-announcer.js.map +0 -7
  297. package/dist/cjs/hooks/use-toggle-state.d.ts +0 -37
  298. package/dist/cjs/hooks/use-toggle-state.d.ts.map +0 -1
  299. package/dist/cjs/hooks/use-toggle-state.js +0 -11
  300. package/dist/cjs/hooks/use-toggle-state.js.map +0 -7
  301. package/dist/cjs/props/shadow.props.d.ts +0 -24
  302. package/dist/cjs/props/shadow.props.d.ts.map +0 -1
  303. package/dist/cjs/props/shadow.props.js +0 -2
  304. package/dist/cjs/props/shadow.props.js.map +0 -7
  305. package/dist/esm/chunk-3QWGSRYC.js +0 -3
  306. package/dist/esm/chunk-3QWGSRYC.js.map +0 -7
  307. package/dist/esm/chunk-5KQCG7AV.js +0 -3
  308. package/dist/esm/chunk-5KQCG7AV.js.map +0 -7
  309. package/dist/esm/chunk-5VYQDA5S.js +0 -3
  310. package/dist/esm/chunk-677CX2QF.js +0 -2
  311. package/dist/esm/chunk-677CX2QF.js.map +0 -7
  312. package/dist/esm/chunk-7QBNXNEN.js +0 -3
  313. package/dist/esm/chunk-API4DAPY.js.map +0 -7
  314. package/dist/esm/chunk-AYKOOEZR.js +0 -2
  315. package/dist/esm/chunk-BQOFHLDP.js +0 -3
  316. package/dist/esm/chunk-BQOFHLDP.js.map +0 -7
  317. package/dist/esm/chunk-CZ24FOFS.js +0 -3
  318. package/dist/esm/chunk-CZ24FOFS.js.map +0 -7
  319. package/dist/esm/chunk-EERKYRYI.js +0 -3
  320. package/dist/esm/chunk-EERKYRYI.js.map +0 -7
  321. package/dist/esm/chunk-HZYE46V2.js +0 -2
  322. package/dist/esm/chunk-HZYE46V2.js.map +0 -7
  323. package/dist/esm/chunk-IN2WND4B.js +0 -3
  324. package/dist/esm/chunk-IN2WND4B.js.map +0 -7
  325. package/dist/esm/chunk-INGT6DB6.js.map +0 -7
  326. package/dist/esm/chunk-J6B7UCZN.js +0 -3
  327. package/dist/esm/chunk-J6B7UCZN.js.map +0 -7
  328. package/dist/esm/chunk-JQMWNI62.js +0 -3
  329. package/dist/esm/chunk-JQMWNI62.js.map +0 -7
  330. package/dist/esm/chunk-ODHCDJ3Y.js.map +0 -7
  331. package/dist/esm/chunk-QKCNGEX4.js +0 -3
  332. package/dist/esm/chunk-RIHTVZVJ.js +0 -3
  333. package/dist/esm/chunk-RIHTVZVJ.js.map +0 -7
  334. package/dist/esm/chunk-TMINGBSQ.js +0 -3
  335. package/dist/esm/chunk-TMINGBSQ.js.map +0 -7
  336. package/dist/esm/chunk-WEBNIUEX.js.map +0 -7
  337. package/dist/esm/chunk-WTP2KIK3.js +0 -11
  338. package/dist/esm/chunk-WTP2KIK3.js.map +0 -7
  339. package/dist/esm/chunk-XF6Z5NKE.js +0 -3
  340. package/dist/esm/chunk-XF6Z5NKE.js.map +0 -7
  341. package/dist/esm/helpers/map-prop-values.d.ts +0 -4
  342. package/dist/esm/helpers/map-prop-values.d.ts.map +0 -1
  343. package/dist/esm/helpers/map-prop-values.js +0 -2
  344. package/dist/esm/helpers/map-prop-values.js.map +0 -7
  345. package/dist/esm/hooks/use-live-announcer.d.ts +0 -6
  346. package/dist/esm/hooks/use-live-announcer.d.ts.map +0 -1
  347. package/dist/esm/hooks/use-live-announcer.js +0 -3
  348. package/dist/esm/hooks/use-live-announcer.js.map +0 -7
  349. package/dist/esm/hooks/use-toggle-state.d.ts +0 -37
  350. package/dist/esm/hooks/use-toggle-state.d.ts.map +0 -1
  351. package/dist/esm/hooks/use-toggle-state.js +0 -3
  352. package/dist/esm/hooks/use-toggle-state.js.map +0 -7
  353. package/dist/esm/props/shadow.props.d.ts +0 -24
  354. package/dist/esm/props/shadow.props.d.ts.map +0 -1
  355. package/dist/esm/props/shadow.props.js +0 -2
  356. package/dist/esm/props/shadow.props.js.map +0 -7
  357. package/src/helpers/map-prop-values.ts +0 -17
  358. package/src/hooks/use-live-announcer.ts +0 -79
  359. package/src/hooks/use-toggle-state.ts +0 -72
  360. package/src/props/shadow.props.ts +0 -30
  361. /package/dist/esm/{chunk-KDJM4NQQ.js.map → chunk-2WFN4D52.js.map} +0 -0
  362. /package/dist/esm/{chunk-NO2JCJWI.js.map → chunk-BJVXB3PN.js.map} +0 -0
  363. /package/dist/esm/{chunk-BR6Z2CAE.js.map → chunk-C6VGCYFQ.js.map} +0 -0
  364. /package/dist/esm/{chunk-ZLGOZKB3.js.map → chunk-FYZXC7AL.js.map} +0 -0
  365. /package/dist/esm/{chunk-XD676L6S.js.map → chunk-HQT32HQ6.js.map} +0 -0
  366. /package/dist/esm/{chunk-XKYPJTRN.js.map → chunk-I5TPDYJO.js.map} +0 -0
  367. /package/dist/esm/{chunk-UMQOTGJC.js.map → chunk-M26LLCQC.js.map} +0 -0
  368. /package/dist/esm/{chunk-WN3WMFAM.js.map → chunk-MLHS2GWL.js.map} +0 -0
  369. /package/dist/esm/{chunk-7YXHLU4C.js.map → chunk-TANYRHGP.js.map} +0 -0
  370. /package/dist/esm/{chunk-AYKOOEZR.js.map → chunk-VRWZLGR7.js.map} +0 -0
  371. /package/dist/esm/{chunk-YOTTLPJ3.js.map → chunk-Y5ITMKC6.js.map} +0 -0
@@ -33,6 +33,12 @@ export declare const BaseButtonSchema: z.ZodObject<{
33
33
  3: "3";
34
34
  4: "4";
35
35
  }>>;
36
+ xs: z.ZodOptional<z.ZodEnum<{
37
+ 1: "1";
38
+ 2: "2";
39
+ 3: "3";
40
+ 4: "4";
41
+ }>>;
36
42
  sm: z.ZodOptional<z.ZodEnum<{
37
43
  1: "1";
38
44
  2: "2";
@@ -103,6 +109,7 @@ export declare const BaseButtonSchema: z.ZodObject<{
103
109
  }>>;
104
110
  loading: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
105
111
  disabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
112
+ done: z.ZodOptional<z.ZodBoolean>;
106
113
  type: z.ZodOptional<z.ZodEnum<{
107
114
  button: "button";
108
115
  submit: "submit";
@@ -1 +1 @@
1
- {"version":3,"file":"base-button.schema.d.ts","sourceRoot":"","sources":["../../../../src/components/schemas/base-button.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAgPlB,CAAC;AAEZ;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAKpE"}
1
+ {"version":3,"file":"base-button.schema.d.ts","sourceRoot":"","sources":["../../../../src/components/schemas/base-button.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuPlB,CAAC;AAEZ;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAKpE"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use strict";var r=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var c=(n,o)=>{for(var i in o)r(n,i,{get:o[i],enumerable:!0})},b=(n,o,i,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of l(o))!d.call(n,t)&&t!==i&&r(n,t,{get:()=>o[t],enumerable:!(a=s(o,t))||a.enumerable});return n};var p=n=>b(r({},"__esModule",{value:!0}),n);var f={};c(f,{BaseButtonSchema:()=>u,parseBaseButtonProps:()=>m});module.exports=p(f);var e=require("zod"),u=e.z.object({as:e.z.string().optional().describe("HTML element type to render as"),asChild:e.z.boolean().optional().describe("Merge props with child element instead of rendering wrapper"),size:e.z.union([e.z.enum(["1","2","3","4"]),e.z.object({initial:e.z.enum(["1","2","3","4"]).optional(),sm:e.z.enum(["1","2","3","4"]).optional(),md:e.z.enum(["1","2","3","4"]).optional(),lg:e.z.enum(["1","2","3","4"]).optional(),xl:e.z.enum(["1","2","3","4"]).optional()})]).default("2").describe("Button size for responsive design and interface density"),variant:e.z.enum(["raised","solid","soft","surface","outline","ghost"]).default("solid").describe("Visual variant that determines the button's appearance and context"),color:e.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:e.z.enum(["none","small","medium","large","full"]).optional().describe("Border radius for the button"),loading:e.z.boolean().optional().default(!1).describe("Loading state that shows a spinner and disables interaction"),disabled:e.z.boolean().optional().default(!1).describe("Disabled state"),type:e.z.enum(["button","submit","reset"]).optional().describe("Type attribute for form buttons"),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"),onClick:e.z.function().optional().describe("Click handler"),onFocus:e.z.function().optional().describe("Focus handler"),onBlur:e.z.function().optional().describe("Blur handler"),onMouseEnter:e.z.function().optional().describe("Mouse enter handler"),onMouseLeave:e.z.function().optional().describe("Mouse leave handler"),onKeyDown:e.z.function().optional().describe("Key down handler"),onKeyUp:e.z.function().optional().describe("Key up handler"),onSubmit:e.z.function().optional().describe("Form submission handler"),tabIndex:e.z.number().optional().describe("Tab index for keyboard navigation"),"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"),"aria-expanded":e.z.boolean().optional().describe("ARIA expanded state"),"aria-pressed":e.z.boolean().optional().describe("ARIA pressed state"),"aria-current":e.z.union([e.z.boolean(),e.z.enum(["page","step","location","date","time"])]).optional().describe("ARIA current state"),"aria-controls":e.z.string().optional().describe("ARIA controls reference"),"aria-owns":e.z.string().optional().describe("ARIA owns reference"),"data-*":e.z.record(e.z.string(),e.z.string()).optional().describe("Data attributes"),id:e.z.string().optional().describe("ID attribute"),title:e.z.string().optional().describe("Title attribute for tooltip"),role:e.z.string().optional().describe("Role attribute"),children:e.z.any().optional().describe("Children elements")}).strict();function m(n){return n}
2
+ "use strict";var a=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var c=(o,n)=>{for(var i in n)a(o,i,{get:n[i],enumerable:!0})},b=(o,n,i,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of l(n))!d.call(o,t)&&t!==i&&a(o,t,{get:()=>n[t],enumerable:!(r=s(n,t))||r.enumerable});return o};var p=o=>b(a({},"__esModule",{value:!0}),o);var f={};c(f,{BaseButtonSchema:()=>u,parseBaseButtonProps:()=>m});module.exports=p(f);var e=require("zod"),u=e.z.object({as:e.z.string().optional().describe("HTML element type to render as"),asChild:e.z.boolean().optional().describe("Merge props with child element instead of rendering wrapper"),size:e.z.union([e.z.enum(["1","2","3","4"]),e.z.object({initial:e.z.enum(["1","2","3","4"]).optional(),xs:e.z.enum(["1","2","3","4"]).optional(),sm:e.z.enum(["1","2","3","4"]).optional(),md:e.z.enum(["1","2","3","4"]).optional(),lg:e.z.enum(["1","2","3","4"]).optional(),xl:e.z.enum(["1","2","3","4"]).optional()})]).default("2").describe("Button size for responsive design and interface density"),variant:e.z.enum(["raised","solid","soft","surface","outline","ghost"]).default("solid").describe("Visual variant that determines the button's appearance and context"),color:e.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:e.z.enum(["none","small","medium","large","full"]).optional().describe("Border radius for the button"),loading:e.z.boolean().optional().default(!1).describe("Loading state that shows a spinner and disables interaction"),disabled:e.z.boolean().optional().default(!1).describe("Disabled state"),done:e.z.boolean().optional().describe("Shows a tick in place of the icon to say the action finished"),type:e.z.enum(["button","submit","reset"]).optional().describe("Type attribute for form buttons"),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"),onClick:e.z.function().optional().describe("Click handler"),onFocus:e.z.function().optional().describe("Focus handler"),onBlur:e.z.function().optional().describe("Blur handler"),onMouseEnter:e.z.function().optional().describe("Mouse enter handler"),onMouseLeave:e.z.function().optional().describe("Mouse leave handler"),onKeyDown:e.z.function().optional().describe("Key down handler"),onKeyUp:e.z.function().optional().describe("Key up handler"),onSubmit:e.z.function().optional().describe("Form submission handler"),tabIndex:e.z.number().optional().describe("Tab index for keyboard navigation"),"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"),"aria-expanded":e.z.boolean().optional().describe("ARIA expanded state"),"aria-pressed":e.z.boolean().optional().describe("ARIA pressed state"),"aria-current":e.z.union([e.z.boolean(),e.z.enum(["page","step","location","date","time"])]).optional().describe("ARIA current state"),"aria-controls":e.z.string().optional().describe("ARIA controls reference"),"aria-owns":e.z.string().optional().describe("ARIA owns reference"),"data-*":e.z.record(e.z.string(),e.z.string()).optional().describe("Data attributes"),id:e.z.string().optional().describe("ID attribute"),title:e.z.string().optional().describe("Title attribute for tooltip"),role:e.z.string().optional().describe("Role attribute"),children:e.z.any().optional().describe("Children elements")}).strict();function m(o){return o}
3
3
  //# sourceMappingURL=base-button.schema.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/schemas/base-button.schema.ts"],
4
- "sourcesContent": ["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 the Button and Toggle\n * 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(['raised', 'solid', 'soft', 'surface', 'outline', 'ghost'])\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 * 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"],
5
- "mappings": "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",
4
+ "sourcesContent": ["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 the Button and Toggle\n * 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 xs: 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(['raised', 'solid', 'soft', 'surface', 'outline', 'ghost'])\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 * Disabled state\n * @default false\n */\n disabled: z.boolean().optional().default(false).describe('Disabled state'),\n\n /**\n * Shows a tick in place of the icon to say the action finished\n * @default false\n */\n done: z.boolean().optional().describe('Shows a tick in place of the icon to say the action finished'),\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"],
5
+ "mappings": "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",
6
6
  "names": ["base_button_schema_exports", "__export", "BaseButtonSchema", "parseBaseButtonProps", "__toCommonJS", "import_zod", "props"]
7
7
  }
@@ -45,6 +45,12 @@ export declare const ButtonObjectSchema: z.ZodObject<{
45
45
  3: "3";
46
46
  4: "4";
47
47
  }>>;
48
+ xs: z.ZodOptional<z.ZodEnum<{
49
+ 1: "1";
50
+ 2: "2";
51
+ 3: "3";
52
+ 4: "4";
53
+ }>>;
48
54
  sm: z.ZodOptional<z.ZodEnum<{
49
55
  1: "1";
50
56
  2: "2";
@@ -115,6 +121,7 @@ export declare const ButtonObjectSchema: z.ZodObject<{
115
121
  }>>;
116
122
  loading: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
117
123
  disabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
124
+ done: z.ZodOptional<z.ZodBoolean>;
118
125
  type: z.ZodOptional<z.ZodEnum<{
119
126
  button: "button";
120
127
  submit: "submit";
@@ -187,6 +194,12 @@ export declare const ButtonSchema: z.ZodObject<{
187
194
  3: "3";
188
195
  4: "4";
189
196
  }>>;
197
+ xs: z.ZodOptional<z.ZodEnum<{
198
+ 1: "1";
199
+ 2: "2";
200
+ 3: "3";
201
+ 4: "4";
202
+ }>>;
190
203
  sm: z.ZodOptional<z.ZodEnum<{
191
204
  1: "1";
192
205
  2: "2";
@@ -257,6 +270,7 @@ export declare const ButtonSchema: z.ZodObject<{
257
270
  }>>;
258
271
  loading: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
259
272
  disabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
273
+ done: z.ZodOptional<z.ZodBoolean>;
260
274
  type: z.ZodOptional<z.ZodEnum<{
261
275
  button: "button";
262
276
  submit: "submit";
@@ -1 +1 @@
1
- {"version":3,"file":"button.schema.d.ts","sourceRoot":"","sources":["../../../../src/components/schemas/button.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0DpB,CAAC;AAEZ,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAMxB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAK5D"}
1
+ {"version":3,"file":"button.schema.d.ts","sourceRoot":"","sources":["../../../../src/components/schemas/button.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0DpB,CAAC;AAEZ,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAMxB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAK5D"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use strict";var r=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var b=(o,t)=>{for(var a in t)r(o,a,{get:t[a],enumerable:!0})},m=(o,t,a,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of c(t))!u.call(o,i)&&i!==a&&r(o,i,{get:()=>t[i],enumerable:!(l=p(t,i))||l.enumerable});return o};var f=o=>m(r({},"__esModule",{value:!0}),o);var y={};b(y,{ButtonObjectSchema:()=>d,ButtonSchema:()=>h,parseButtonProps:()=>g});module.exports=f(y);var n=require("zod");var e=require("zod"),s=e.z.object({as:e.z.string().optional().describe("HTML element type to render as"),asChild:e.z.boolean().optional().describe("Merge props with child element instead of rendering wrapper"),size:e.z.union([e.z.enum(["1","2","3","4"]),e.z.object({initial:e.z.enum(["1","2","3","4"]).optional(),sm:e.z.enum(["1","2","3","4"]).optional(),md:e.z.enum(["1","2","3","4"]).optional(),lg:e.z.enum(["1","2","3","4"]).optional(),xl:e.z.enum(["1","2","3","4"]).optional()})]).default("2").describe("Button size for responsive design and interface density"),variant:e.z.enum(["raised","solid","soft","surface","outline","ghost"]).default("solid").describe("Visual variant that determines the button's appearance and context"),color:e.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:e.z.enum(["none","small","medium","large","full"]).optional().describe("Border radius for the button"),loading:e.z.boolean().optional().default(!1).describe("Loading state that shows a spinner and disables interaction"),disabled:e.z.boolean().optional().default(!1).describe("Disabled state"),type:e.z.enum(["button","submit","reset"]).optional().describe("Type attribute for form buttons"),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"),onClick:e.z.function().optional().describe("Click handler"),onFocus:e.z.function().optional().describe("Focus handler"),onBlur:e.z.function().optional().describe("Blur handler"),onMouseEnter:e.z.function().optional().describe("Mouse enter handler"),onMouseLeave:e.z.function().optional().describe("Mouse leave handler"),onKeyDown:e.z.function().optional().describe("Key down handler"),onKeyUp:e.z.function().optional().describe("Key up handler"),onSubmit:e.z.function().optional().describe("Form submission handler"),tabIndex:e.z.number().optional().describe("Tab index for keyboard navigation"),"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"),"aria-expanded":e.z.boolean().optional().describe("ARIA expanded state"),"aria-pressed":e.z.boolean().optional().describe("ARIA pressed state"),"aria-current":e.z.union([e.z.boolean(),e.z.enum(["page","step","location","date","time"])]).optional().describe("ARIA current state"),"aria-controls":e.z.string().optional().describe("ARIA controls reference"),"aria-owns":e.z.string().optional().describe("ARIA owns reference"),"data-*":e.z.record(e.z.string(),e.z.string()).optional().describe("Data attributes"),id:e.z.string().optional().describe("ID attribute"),title:e.z.string().optional().describe("Title attribute for tooltip"),role:e.z.string().optional().describe("Role attribute"),children:e.z.any().optional().describe("Children elements")}).strict();var d=s.extend({tooltip:n.z.string().optional().describe("Content to display in the tooltip on hover/focus"),tooltipSide:n.z.enum(["top","right","bottom","left"]).optional().default("top").describe("Side of the button where the tooltip should appear"),emphasis:n.z.enum(["loud","medium","quiet"]).optional().describe("The button's rank: loud (solid), medium (raised) or quiet (ghost). Not with variant."),iconOnly:n.z.boolean().optional().default(!1).describe("Square button holding only an icon; needs aria-label"),fullWidth:n.z.boolean().optional().default(!1).describe("Expands the button to fill its container"),tooltipAlign:n.z.enum(["start","center","end"]).optional().default("center").describe("Alignment of the tooltip relative to the button"),tooltipDelayDuration:n.z.number().optional().describe("Delay before showing the tooltip (in milliseconds)"),tooltipDisableHoverableContent:n.z.boolean().optional().default(!1).describe("Whether to disable hoverable content behavior")}).strict(),h=d.refine(o=>!o.iconOnly||!!(o["aria-label"]||o["aria-labelledby"]),{message:"An iconOnly Button must have either 'aria-label' or 'aria-labelledby' for accessibility",path:["aria-label"]});function g(o){return o}
2
+ "use strict";var r=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var b=(o,t)=>{for(var a in t)r(o,a,{get:t[a],enumerable:!0})},m=(o,t,a,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of c(t))!u.call(o,i)&&i!==a&&r(o,i,{get:()=>t[i],enumerable:!(s=p(t,i))||s.enumerable});return o};var f=o=>m(r({},"__esModule",{value:!0}),o);var y={};b(y,{ButtonObjectSchema:()=>d,ButtonSchema:()=>h,parseButtonProps:()=>g});module.exports=f(y);var n=require("zod");var e=require("zod"),l=e.z.object({as:e.z.string().optional().describe("HTML element type to render as"),asChild:e.z.boolean().optional().describe("Merge props with child element instead of rendering wrapper"),size:e.z.union([e.z.enum(["1","2","3","4"]),e.z.object({initial:e.z.enum(["1","2","3","4"]).optional(),xs:e.z.enum(["1","2","3","4"]).optional(),sm:e.z.enum(["1","2","3","4"]).optional(),md:e.z.enum(["1","2","3","4"]).optional(),lg:e.z.enum(["1","2","3","4"]).optional(),xl:e.z.enum(["1","2","3","4"]).optional()})]).default("2").describe("Button size for responsive design and interface density"),variant:e.z.enum(["raised","solid","soft","surface","outline","ghost"]).default("solid").describe("Visual variant that determines the button's appearance and context"),color:e.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:e.z.enum(["none","small","medium","large","full"]).optional().describe("Border radius for the button"),loading:e.z.boolean().optional().default(!1).describe("Loading state that shows a spinner and disables interaction"),disabled:e.z.boolean().optional().default(!1).describe("Disabled state"),done:e.z.boolean().optional().describe("Shows a tick in place of the icon to say the action finished"),type:e.z.enum(["button","submit","reset"]).optional().describe("Type attribute for form buttons"),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"),onClick:e.z.function().optional().describe("Click handler"),onFocus:e.z.function().optional().describe("Focus handler"),onBlur:e.z.function().optional().describe("Blur handler"),onMouseEnter:e.z.function().optional().describe("Mouse enter handler"),onMouseLeave:e.z.function().optional().describe("Mouse leave handler"),onKeyDown:e.z.function().optional().describe("Key down handler"),onKeyUp:e.z.function().optional().describe("Key up handler"),onSubmit:e.z.function().optional().describe("Form submission handler"),tabIndex:e.z.number().optional().describe("Tab index for keyboard navigation"),"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"),"aria-expanded":e.z.boolean().optional().describe("ARIA expanded state"),"aria-pressed":e.z.boolean().optional().describe("ARIA pressed state"),"aria-current":e.z.union([e.z.boolean(),e.z.enum(["page","step","location","date","time"])]).optional().describe("ARIA current state"),"aria-controls":e.z.string().optional().describe("ARIA controls reference"),"aria-owns":e.z.string().optional().describe("ARIA owns reference"),"data-*":e.z.record(e.z.string(),e.z.string()).optional().describe("Data attributes"),id:e.z.string().optional().describe("ID attribute"),title:e.z.string().optional().describe("Title attribute for tooltip"),role:e.z.string().optional().describe("Role attribute"),children:e.z.any().optional().describe("Children elements")}).strict();var d=l.extend({tooltip:n.z.string().optional().describe("Content to display in the tooltip on hover/focus"),tooltipSide:n.z.enum(["top","right","bottom","left"]).optional().default("top").describe("Side of the button where the tooltip should appear"),emphasis:n.z.enum(["loud","medium","quiet"]).optional().describe("The button's rank: loud (solid), medium (raised) or quiet (ghost). Not with variant."),iconOnly:n.z.boolean().optional().default(!1).describe("Square button holding only an icon; needs aria-label"),fullWidth:n.z.boolean().optional().default(!1).describe("Expands the button to fill its container"),tooltipAlign:n.z.enum(["start","center","end"]).optional().default("center").describe("Alignment of the tooltip relative to the button"),tooltipDelayDuration:n.z.number().optional().describe("Delay before showing the tooltip (in milliseconds)"),tooltipDisableHoverableContent:n.z.boolean().optional().default(!1).describe("Whether to disable hoverable content behavior")}).strict(),h=d.refine(o=>!o.iconOnly||!!(o["aria-label"]||o["aria-labelledby"]),{message:"An iconOnly Button must have either 'aria-label' or 'aria-labelledby' for accessibility",path:["aria-label"]});function g(o){return o}
3
3
  //# sourceMappingURL=button.schema.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/schemas/button.schema.ts", "../../../../src/components/schemas/base-button.schema.ts"],
4
- "sourcesContent": ["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 */\n/**\n * Button's own fields, before the rules that span fields. Toggle extends this, since a\n * refined schema cannot be extended.\n */\nexport const ButtonObjectSchema = 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 * The button's rank: loud is solid, medium is raised, quiet is ghost. Pass this or `variant`, not both.\n */\n emphasis: z.enum(['loud', 'medium', 'quiet']).optional().describe(\"The button's rank: loud (solid), medium (raised) or quiet (ghost). Not with variant.\"),\n\n /**\n * A square button holding only an icon. Needs an accessible name.\n */\n iconOnly: z.boolean().optional().default(false).describe('Square button holding only an icon; needs aria-label'),\n\n /**\n * Expands the button to fill its container. Ignored when iconOnly is set.\n */\n fullWidth: z.boolean().optional().default(false).describe('Expands the button to fill its container'),\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}).strict();\n\nexport const ButtonSchema = ButtonObjectSchema.refine(\n (data) => !data.iconOnly || Boolean(data['aria-label'] || data['aria-labelledby']),\n {\n message: \"An iconOnly Button must have either 'aria-label' or 'aria-labelledby' for accessibility\",\n path: ['aria-label'],\n },\n);\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';\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 the Button and Toggle\n * 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(['raised', 'solid', 'soft', 'surface', 'outline', 'ghost'])\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 * 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"],
5
- "mappings": "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",
4
+ "sourcesContent": ["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 */\n/**\n * Button's own fields, before the rules that span fields. Toggle extends this, since a\n * refined schema cannot be extended.\n */\nexport const ButtonObjectSchema = 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 * The button's rank: loud is solid, medium is raised, quiet is ghost. Pass this or `variant`, not both.\n */\n emphasis: z.enum(['loud', 'medium', 'quiet']).optional().describe(\"The button's rank: loud (solid), medium (raised) or quiet (ghost). Not with variant.\"),\n\n /**\n * A square button holding only an icon. Needs an accessible name.\n */\n iconOnly: z.boolean().optional().default(false).describe('Square button holding only an icon; needs aria-label'),\n\n /**\n * Expands the button to fill its container. Ignored when iconOnly is set.\n */\n fullWidth: z.boolean().optional().default(false).describe('Expands the button to fill its container'),\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}).strict();\n\nexport const ButtonSchema = ButtonObjectSchema.refine(\n (data) => !data.iconOnly || Boolean(data['aria-label'] || data['aria-labelledby']),\n {\n message: \"An iconOnly Button must have either 'aria-label' or 'aria-labelledby' for accessibility\",\n path: ['aria-label'],\n },\n);\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';\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 the Button and Toggle\n * 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 xs: 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(['raised', 'solid', 'soft', 'surface', 'outline', 'ghost'])\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 * Disabled state\n * @default false\n */\n disabled: z.boolean().optional().default(false).describe('Disabled state'),\n\n /**\n * Shows a tick in place of the icon to say the action finished\n * @default false\n */\n done: z.boolean().optional().describe('Shows a tick in place of the icon to say the action finished'),\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"],
5
+ "mappings": "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",
6
6
  "names": ["button_schema_exports", "__export", "ButtonObjectSchema", "ButtonSchema", "parseButtonProps", "__toCommonJS", "import_zod", "import_zod", "BaseButtonSchema", "ButtonObjectSchema", "BaseButtonSchema", "ButtonSchema", "data", "parseButtonProps", "props"]
7
7
  }
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use strict";var m=Object.defineProperty;var Z=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var J=Object.prototype.hasOwnProperty;var Q=(o,n)=>{for(var p in n)m(o,p,{get:n[p],enumerable:!0})},X=(o,n,p,g)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of G(n))!J.call(o,s)&&s!==p&&m(o,s,{get:()=>n[s],enumerable:!(g=Z(n,s))||g.enumerable});return o};var Y=o=>X(m({},"__esModule",{value:!0}),o);var ae={};Q(ae,{BaseButtonSchema:()=>d,ButtonSchema:()=>y,ShellBottomSchema:()=>O,ShellContentSchema:()=>M,ShellHandleSchema:()=>j,ShellHeaderSchema:()=>A,ShellInspectorSchema:()=>E,ShellPanelSchema:()=>k,ShellRailSchema:()=>C,ShellRootSchema:()=>T,ShellSidebarSchema:()=>N,ShellTriggerSchema:()=>D,ToggleSchema:()=>v,parseBaseButtonProps:()=>P,parseButtonProps:()=>x,parseProps:()=>ie,parseShellBottomProps:()=>F,parseShellContentProps:()=>L,parseShellHandleProps:()=>U,parseShellHeaderProps:()=>I,parseShellInspectorProps:()=>K,parseShellPanelProps:()=>_,parseShellRailProps:()=>V,parseShellRootProps:()=>H,parseShellSidebarProps:()=>W,parseShellTriggerProps:()=>q,parseToggleProps:()=>z});module.exports=Y(ae);var t=require("zod"),d=t.z.object({as:t.z.string().optional().describe("HTML element type to render as"),asChild:t.z.boolean().optional().describe("Merge props with child element instead of rendering wrapper"),size:t.z.union([t.z.enum(["1","2","3","4"]),t.z.object({initial:t.z.enum(["1","2","3","4"]).optional(),sm:t.z.enum(["1","2","3","4"]).optional(),md:t.z.enum(["1","2","3","4"]).optional(),lg:t.z.enum(["1","2","3","4"]).optional(),xl:t.z.enum(["1","2","3","4"]).optional()})]).default("2").describe("Button size for responsive design and interface density"),variant:t.z.enum(["raised","solid","soft","surface","outline","ghost"]).default("solid").describe("Visual variant that determines the button's appearance and context"),color:t.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:t.z.enum(["none","small","medium","large","full"]).optional().describe("Border radius for the button"),loading:t.z.boolean().optional().default(!1).describe("Loading state that shows a spinner and disables interaction"),disabled:t.z.boolean().optional().default(!1).describe("Disabled state"),type:t.z.enum(["button","submit","reset"]).optional().describe("Type attribute for form buttons"),className:t.z.string().optional().describe("Additional CSS class name"),style:t.z.record(t.z.string(),t.z.union([t.z.string(),t.z.number()])).optional().describe("Inline styles"),onClick:t.z.function().optional().describe("Click handler"),onFocus:t.z.function().optional().describe("Focus handler"),onBlur:t.z.function().optional().describe("Blur handler"),onMouseEnter:t.z.function().optional().describe("Mouse enter handler"),onMouseLeave:t.z.function().optional().describe("Mouse leave handler"),onKeyDown:t.z.function().optional().describe("Key down handler"),onKeyUp:t.z.function().optional().describe("Key up handler"),onSubmit:t.z.function().optional().describe("Form submission handler"),tabIndex:t.z.number().optional().describe("Tab index for keyboard navigation"),"aria-label":t.z.string().optional().describe("ARIA label for accessibility"),"aria-labelledby":t.z.string().optional().describe("ARIA labelled by reference"),"aria-describedby":t.z.string().optional().describe("ARIA described by reference"),"aria-expanded":t.z.boolean().optional().describe("ARIA expanded state"),"aria-pressed":t.z.boolean().optional().describe("ARIA pressed state"),"aria-current":t.z.union([t.z.boolean(),t.z.enum(["page","step","location","date","time"])]).optional().describe("ARIA current state"),"aria-controls":t.z.string().optional().describe("ARIA controls reference"),"aria-owns":t.z.string().optional().describe("ARIA owns reference"),"data-*":t.z.record(t.z.string(),t.z.string()).optional().describe("Data attributes"),id:t.z.string().optional().describe("ID attribute"),title:t.z.string().optional().describe("Title attribute for tooltip"),role:t.z.string().optional().describe("Role attribute"),children:t.z.any().optional().describe("Children elements")}).strict();function P(o){return o}var r=require("zod");var f=d.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"),emphasis:r.z.enum(["loud","medium","quiet"]).optional().describe("The button's rank: loud (solid), medium (raised) or quiet (ghost). Not with variant."),iconOnly:r.z.boolean().optional().default(!1).describe("Square button holding only an icon; needs aria-label"),fullWidth:r.z.boolean().optional().default(!1).describe("Expands the button to fill its container"),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")}).strict(),y=f.refine(o=>!o.iconOnly||!!(o["aria-label"]||o["aria-labelledby"]),{message:"An iconOnly Button must have either 'aria-label' or 'aria-labelledby' for accessibility",path:["aria-label"]});function x(o){return o}var c=require("zod");var v=f.extend({pressed:c.z.boolean().optional().describe("Controlled pressed state"),onPressedChange:c.z.function().optional().describe("Callback when pressed state changes"),defaultPressed:c.z.boolean().optional().describe("Default pressed state for uncontrolled usage")}).refine(o=>!o.iconOnly||!!(o["aria-label"]||o["aria-labelledby"]),{message:"An iconOnly Toggle must have either 'aria-label' or 'aria-labelledby' for accessibility",path:["aria-label"]}).refine(o=>!(o.pressed!==void 0&&o.onPressedChange===void 0),{message:"When using controlled mode (pressed prop), onPressedChange must also be provided",path:["onPressedChange"]}).refine(o=>!(o.pressed!==void 0&&o.defaultPressed!==void 0),{message:"Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together",path:["pressed","defaultPressed"]});function z(o){return o}var e=require("zod"),$=e.z.enum(["expanded","collapsed"]).describe("Pane state mode"),S=e.z.enum(["collapsed","expanded"]).describe("Sidebar state"),ee=e.z.enum(["fixed","overlay","stacked"]).describe("Presentation mode"),ue=e.z.enum(["initial","xs","sm","md","lg","xl"]).describe("Responsive breakpoint"),oe=e.z.enum(["left","rail","panel","sidebar","inspector","bottom"]).describe("Pane target. `left` is deprecated: use `rail`."),te=e.z.enum(["toggle","expand","collapse"]).describe("Trigger action"),B=e.z.enum(["toggle","dismiss"]).describe("Why the state changed: `toggle` for a trigger or the resize handle, `dismiss` for Escape or the scrim"),ne=e.z.enum(["init","resize","controlled"]).describe("Why the size changed");function h(o){return e.z.union([o,e.z.object({initial:o.optional(),xs:o.optional(),sm:o.optional(),md:o.optional(),lg:o.optional(),xl:o.optional()})])}var be=h($).describe("Responsive pane mode configuration"),w=h(S).describe("Responsive sidebar state"),i=h(ee).describe("Responsive presentation configuration"),R=h(e.z.boolean()).describe("Responsive open state"),re=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`."),a=e.z.record(e.z.string(),e.z.union([e.z.string(),e.z.number()])).optional().describe("Inline styles"),u={open:e.z.union([e.z.boolean(),R]).optional().describe("The open state, when controlled. A responsive object is deprecated."),defaultOpen:e.z.union([e.z.boolean(),R]).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:B})],output:e.z.void()}).optional().describe("Called when a user opens or closes the pane. Never called on mount or on a resize.")},l={id:e.z.string().optional().describe("The pane id. A Trigger points `aria-controls` at it."),presentation:i.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:a,children:e.z.any().optional()},b={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:ne})],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:re.optional()},T=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 the window: 100dvh, with 100vh where dvh is not supported, and on a narrow touch screen the page scrolls. Any value other than `full` or `auto` makes the Shell contained."),contained:e.z.boolean().default(!1).describe("Fills the parent instead of the window and always scrolls inside itself. An explicit `height` implies it."),size:e.z.enum(["1","2","3"]).default("2").describe("Index of the pane chrome and the Sidebar rows in it"),className:e.z.string().optional().describe("Additional CSS class name"),style:a,children:e.z.any().optional().describe("The Shell parts, and anything else, rendered in order")}).strict(),A=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:a,children:e.z.any().optional().describe("Header content")}).strict(),C=e.z.object({...l,...u,presentation:i.default("fixed").describe("Presentation mode"),expandedSize:e.z.number().default(64).describe("Width in pixels"),collapsible:e.z.boolean().optional()}).strict(),k=e.z.object({...l,...u,...b,presentation:i.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(),N=e.z.object({...l,...b,state:e.z.union([S,w]).optional().describe("The state, when controlled. A responsive object is deprecated."),defaultState:w.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:[S,e.z.object({reason:B})],output:e.z.void()}).optional().describe("Called when a user changes the state. Never called on mount or on a resize."),presentation:i.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"),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(),M=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:a,children:e.z.any().optional().describe("Main content")}).strict(),E=e.z.object({...l,...u,...b,presentation:i.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(),O=e.z.object({...l,...u,...b,presentation:i.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(),D=e.z.object({target:oe.describe("Which pane to drive"),action:te.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:a,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(),j=e.z.object({className:e.z.string().optional().describe("Additional CSS class name"),style:a,children:e.z.any().optional().describe("Handle content")}).strict();function H(o){return o}function I(o){return o}function V(o){return o}function _(o){return o}function W(o){return o}function L(o){return o}function K(o){return o}function F(o){return o}function q(o){return o}function U(o){return o}var fe=require("zod");function ie(o,n){return n}
2
+ "use strict";var m=Object.defineProperty;var Z=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var J=Object.prototype.hasOwnProperty;var Q=(o,n)=>{for(var p in n)m(o,p,{get:n[p],enumerable:!0})},X=(o,n,p,g)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of G(n))!J.call(o,s)&&s!==p&&m(o,s,{get:()=>n[s],enumerable:!(g=Z(n,s))||g.enumerable});return o};var Y=o=>X(m({},"__esModule",{value:!0}),o);var ie={};Q(ie,{BaseButtonSchema:()=>d,ButtonSchema:()=>y,ShellBottomSchema:()=>E,ShellContentSchema:()=>M,ShellHandleSchema:()=>j,ShellHeaderSchema:()=>A,ShellInspectorSchema:()=>D,ShellPanelSchema:()=>k,ShellRailSchema:()=>C,ShellRootSchema:()=>T,ShellSidebarSchema:()=>N,ShellTriggerSchema:()=>O,ToggleSchema:()=>v,parseBaseButtonProps:()=>P,parseButtonProps:()=>x,parseProps:()=>ae,parseShellBottomProps:()=>L,parseShellContentProps:()=>K,parseShellHandleProps:()=>U,parseShellHeaderProps:()=>I,parseShellInspectorProps:()=>F,parseShellPanelProps:()=>V,parseShellRailProps:()=>W,parseShellRootProps:()=>H,parseShellSidebarProps:()=>_,parseShellTriggerProps:()=>q,parseToggleProps:()=>z});module.exports=Y(ie);var t=require("zod"),d=t.z.object({as:t.z.string().optional().describe("HTML element type to render as"),asChild:t.z.boolean().optional().describe("Merge props with child element instead of rendering wrapper"),size:t.z.union([t.z.enum(["1","2","3","4"]),t.z.object({initial:t.z.enum(["1","2","3","4"]).optional(),xs:t.z.enum(["1","2","3","4"]).optional(),sm:t.z.enum(["1","2","3","4"]).optional(),md:t.z.enum(["1","2","3","4"]).optional(),lg:t.z.enum(["1","2","3","4"]).optional(),xl:t.z.enum(["1","2","3","4"]).optional()})]).default("2").describe("Button size for responsive design and interface density"),variant:t.z.enum(["raised","solid","soft","surface","outline","ghost"]).default("solid").describe("Visual variant that determines the button's appearance and context"),color:t.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:t.z.enum(["none","small","medium","large","full"]).optional().describe("Border radius for the button"),loading:t.z.boolean().optional().default(!1).describe("Loading state that shows a spinner and disables interaction"),disabled:t.z.boolean().optional().default(!1).describe("Disabled state"),done:t.z.boolean().optional().describe("Shows a tick in place of the icon to say the action finished"),type:t.z.enum(["button","submit","reset"]).optional().describe("Type attribute for form buttons"),className:t.z.string().optional().describe("Additional CSS class name"),style:t.z.record(t.z.string(),t.z.union([t.z.string(),t.z.number()])).optional().describe("Inline styles"),onClick:t.z.function().optional().describe("Click handler"),onFocus:t.z.function().optional().describe("Focus handler"),onBlur:t.z.function().optional().describe("Blur handler"),onMouseEnter:t.z.function().optional().describe("Mouse enter handler"),onMouseLeave:t.z.function().optional().describe("Mouse leave handler"),onKeyDown:t.z.function().optional().describe("Key down handler"),onKeyUp:t.z.function().optional().describe("Key up handler"),onSubmit:t.z.function().optional().describe("Form submission handler"),tabIndex:t.z.number().optional().describe("Tab index for keyboard navigation"),"aria-label":t.z.string().optional().describe("ARIA label for accessibility"),"aria-labelledby":t.z.string().optional().describe("ARIA labelled by reference"),"aria-describedby":t.z.string().optional().describe("ARIA described by reference"),"aria-expanded":t.z.boolean().optional().describe("ARIA expanded state"),"aria-pressed":t.z.boolean().optional().describe("ARIA pressed state"),"aria-current":t.z.union([t.z.boolean(),t.z.enum(["page","step","location","date","time"])]).optional().describe("ARIA current state"),"aria-controls":t.z.string().optional().describe("ARIA controls reference"),"aria-owns":t.z.string().optional().describe("ARIA owns reference"),"data-*":t.z.record(t.z.string(),t.z.string()).optional().describe("Data attributes"),id:t.z.string().optional().describe("ID attribute"),title:t.z.string().optional().describe("Title attribute for tooltip"),role:t.z.string().optional().describe("Role attribute"),children:t.z.any().optional().describe("Children elements")}).strict();function P(o){return o}var r=require("zod");var f=d.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"),emphasis:r.z.enum(["loud","medium","quiet"]).optional().describe("The button's rank: loud (solid), medium (raised) or quiet (ghost). Not with variant."),iconOnly:r.z.boolean().optional().default(!1).describe("Square button holding only an icon; needs aria-label"),fullWidth:r.z.boolean().optional().default(!1).describe("Expands the button to fill its container"),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")}).strict(),y=f.refine(o=>!o.iconOnly||!!(o["aria-label"]||o["aria-labelledby"]),{message:"An iconOnly Button must have either 'aria-label' or 'aria-labelledby' for accessibility",path:["aria-label"]});function x(o){return o}var c=require("zod");var v=f.omit({done:!0}).extend({pressed:c.z.boolean().optional().describe("Controlled pressed state"),onPressedChange:c.z.function().optional().describe("Callback when pressed state changes"),defaultPressed:c.z.boolean().optional().describe("Default pressed state for uncontrolled usage")}).refine(o=>!o.iconOnly||!!(o["aria-label"]||o["aria-labelledby"]),{message:"An iconOnly Toggle must have either 'aria-label' or 'aria-labelledby' for accessibility",path:["aria-label"]}).refine(o=>!(o.pressed!==void 0&&o.onPressedChange===void 0),{message:"When using controlled mode (pressed prop), onPressedChange must also be provided",path:["onPressedChange"]}).refine(o=>!(o.pressed!==void 0&&o.defaultPressed!==void 0),{message:"Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together",path:["pressed","defaultPressed"]});function z(o){return o}var e=require("zod"),$=e.z.enum(["expanded","collapsed"]).describe("Pane state mode"),S=e.z.enum(["collapsed","expanded"]).describe("Sidebar state"),ee=e.z.enum(["fixed","overlay","stacked"]).describe("Presentation mode"),ue=e.z.enum(["initial","xs","sm","md","lg","xl"]).describe("Responsive breakpoint"),oe=e.z.enum(["left","rail","panel","sidebar","inspector","bottom"]).describe("Pane target. `left` is deprecated: use `rail`."),te=e.z.enum(["toggle","expand","collapse"]).describe("Trigger action"),B=e.z.enum(["toggle","dismiss"]).describe("Why the state changed: `toggle` for a trigger or the resize handle, `dismiss` for Escape or the scrim"),ne=e.z.enum(["init","resize","controlled"]).describe("Why the size changed");function h(o){return e.z.union([o,e.z.object({initial:o.optional(),xs:o.optional(),sm:o.optional(),md:o.optional(),lg:o.optional(),xl:o.optional()})])}var be=h($).describe("Responsive pane mode configuration"),w=h(S).describe("Responsive sidebar state"),a=h(ee).describe("Responsive presentation configuration"),R=h(e.z.boolean()).describe("Responsive open state"),re=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`."),i=e.z.record(e.z.string(),e.z.union([e.z.string(),e.z.number()])).optional().describe("Inline styles"),u={open:e.z.union([e.z.boolean(),R]).optional().describe("The open state, when controlled. A responsive object is deprecated."),defaultOpen:e.z.union([e.z.boolean(),R]).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:B})],output:e.z.void()}).optional().describe("Called when a user opens or closes the pane. Never called on mount or on a resize.")},l={id:e.z.string().optional().describe("The pane id. A Trigger points `aria-controls` at it."),presentation:a.optional(),expandedSize:e.z.number().optional(),flush:e.z.boolean().optional().describe("Whether the pane joins the app frame. Defaults to true. `false` pulls it off the frame as a card."),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:i,children:e.z.any().optional()},b={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:ne})],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:re.optional()},T=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 the window: 100dvh, with 100vh where dvh is not supported, and on a narrow touch screen the page scrolls. Any value other than `full` or `auto` makes the Shell contained."),contained:e.z.boolean().default(!1).describe("Fills the parent instead of the window and always scrolls inside itself. An explicit `height` implies it."),size:e.z.enum(["1","2","3"]).default("2").describe("Index of the pane chrome and the Sidebar rows in it"),className:e.z.string().optional().describe("Additional CSS class name"),style:i,children:e.z.any().optional().describe("The Shell parts, and anything else, rendered in order")}).strict(),A=e.z.object({height:e.z.number().default(64).describe("Height of the header, in pixels"),flush:e.z.boolean().optional().describe("Whether the header joins the app frame. Defaults to true. `false` makes it a card off the frame."),className:e.z.string().optional().describe("Additional CSS class name"),style:i,children:e.z.any().optional().describe("Header content")}).strict(),C=e.z.object({...l,...u,presentation:a.default("fixed").describe("Presentation mode"),expandedSize:e.z.number().default(64).describe("Width in pixels"),collapsible:e.z.boolean().optional()}).strict(),k=e.z.object({...l,...u,...b,presentation:a.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(),N=e.z.object({...l,...b,state:e.z.union([S,w]).optional().describe("The state, when controlled. A responsive object is deprecated."),defaultState:w.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:[S,e.z.object({reason:B})],output:e.z.void()}).optional().describe("Called when a user changes the state. Never called on mount or on a resize."),presentation:a.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"),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(),M=e.z.object({flush:e.z.boolean().optional().describe("Whether the work area joins the app frame. Defaults to true. `false` makes it a card on the Shell background."),className:e.z.string().optional().describe("Additional CSS class name"),style:i,children:e.z.any().optional().describe("Main content")}).strict(),D=e.z.object({...l,...u,...b,presentation:a.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(),E=e.z.object({...l,...u,...b,presentation:a.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(),O=e.z.object({target:oe.describe("Which pane to drive"),action:te.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:i,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(),j=e.z.object({className:e.z.string().optional().describe("Additional CSS class name"),style:i,children:e.z.any().optional().describe("Handle content")}).strict();function H(o){return o}function I(o){return o}function W(o){return o}function V(o){return o}function _(o){return o}function K(o){return o}function F(o){return o}function L(o){return o}function q(o){return o}function U(o){return o}var fe=require("zod");function ae(o,n){return n}
3
3
  //# sourceMappingURL=index.js.map