@kamod-ch/ui 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/LICENSE.md +9 -0
  2. package/README.md +183 -0
  3. package/dist/Accordion-D1PiNspd.d.ts +39 -0
  4. package/dist/AlertDialog-ALB541qy.d.ts +64 -0
  5. package/dist/Button-vQnkiVTI.d.ts +84 -0
  6. package/dist/CalendarDateTimePanel-B3J8OlSc.d.ts +79 -0
  7. package/dist/Carousel-BUB4DVuh.d.ts +48 -0
  8. package/dist/Chart-Ax22S5_N.d.ts +10 -0
  9. package/dist/Checkbox-DBbLYq6Q.d.ts +12 -0
  10. package/dist/Collapsible-CW1hQwqV.d.ts +34 -0
  11. package/dist/ComboboxValue-BGfXgtZt.d.ts +135 -0
  12. package/dist/CommandSeparator-wZRCsqsT.d.ts +47 -0
  13. package/dist/DataTable-zNTTdYVU.d.ts +13 -0
  14. package/dist/DatePicker-AFAYh5Ca.d.ts +20 -0
  15. package/dist/Dialog-BOIteLfe.d.ts +28 -0
  16. package/dist/DialogContent-CK1t4m4e.d.ts +24 -0
  17. package/dist/DialogHeader-CYT7iUDq.d.ts +13 -0
  18. package/dist/DialogTitle-CerJD0oA.d.ts +13 -0
  19. package/dist/Direction-25ZOt0gW.d.ts +24 -0
  20. package/dist/Drawer-B3pZMn5j.d.ts +41 -0
  21. package/dist/Dropdown-CVbWVKok.d.ts +143 -0
  22. package/dist/FieldTitle-aSgThW-B.d.ts +100 -0
  23. package/dist/HoverCard-aVEEtkyO.d.ts +52 -0
  24. package/dist/Input-Cem05el9.d.ts +27 -0
  25. package/dist/Menubar-DwYDW4w2.d.ts +88 -0
  26. package/dist/PopoverTrigger-CH_Kx2mn.d.ts +43 -0
  27. package/dist/Progress-BGij8Hob.d.ts +13 -0
  28. package/dist/RadioGroup-BaElzLwa.d.ts +40 -0
  29. package/dist/ScrollArea-B-vILe3g.d.ts +16 -0
  30. package/dist/Select-B_mNVh70.d.ts +51 -0
  31. package/dist/Separator-DCQYrnpB.d.ts +9 -0
  32. package/dist/Sheet-s0xRF22F.d.ts +29 -0
  33. package/dist/SidebarProvider-IAihmyD7.d.ts +46 -0
  34. package/dist/Slider-BQLMBpYs.d.ts +16 -0
  35. package/dist/Switch-CTTkNdqF.d.ts +31 -0
  36. package/dist/Tabs-CR-thcs6.d.ts +47 -0
  37. package/dist/Textarea-DbKkduOG.d.ts +27 -0
  38. package/dist/ThemeToggle-DfiEM1dZ.d.ts +9 -0
  39. package/dist/Toggle-CseZl7XN.d.ts +49 -0
  40. package/dist/ToggleGroup-UeYHzQe7.d.ts +137 -0
  41. package/dist/Tooltip-Ba3GxE7u.d.ts +40 -0
  42. package/dist/Typography-ccTtE182.d.ts +64 -0
  43. package/dist/chunk-26CRIZXP.js +244 -0
  44. package/dist/chunk-26CRIZXP.js.map +1 -0
  45. package/dist/chunk-2BQ54337.js +282 -0
  46. package/dist/chunk-2BQ54337.js.map +1 -0
  47. package/dist/chunk-2HZCH73K.js +109 -0
  48. package/dist/chunk-2HZCH73K.js.map +1 -0
  49. package/dist/chunk-2KY7P27I.js +64 -0
  50. package/dist/chunk-2KY7P27I.js.map +1 -0
  51. package/dist/chunk-3DNIMQX6.js +78 -0
  52. package/dist/chunk-3DNIMQX6.js.map +1 -0
  53. package/dist/chunk-3KB54OYF.js +81 -0
  54. package/dist/chunk-3KB54OYF.js.map +1 -0
  55. package/dist/chunk-4BJJOHZT.js +477 -0
  56. package/dist/chunk-4BJJOHZT.js.map +1 -0
  57. package/dist/chunk-4IBTERDG.js +9 -0
  58. package/dist/chunk-4IBTERDG.js.map +1 -0
  59. package/dist/chunk-4V3WHQJE.js +510 -0
  60. package/dist/chunk-4V3WHQJE.js.map +1 -0
  61. package/dist/chunk-5FBD2NTR.js +103 -0
  62. package/dist/chunk-5FBD2NTR.js.map +1 -0
  63. package/dist/chunk-5KS2VSX2.js +94 -0
  64. package/dist/chunk-5KS2VSX2.js.map +1 -0
  65. package/dist/chunk-5Q4RBIMZ.js +25 -0
  66. package/dist/chunk-5Q4RBIMZ.js.map +1 -0
  67. package/dist/chunk-67J4KBOW.js +124 -0
  68. package/dist/chunk-67J4KBOW.js.map +1 -0
  69. package/dist/chunk-6BK3PIRX.js +151 -0
  70. package/dist/chunk-6BK3PIRX.js.map +1 -0
  71. package/dist/chunk-6FYSVMH7.js +21 -0
  72. package/dist/chunk-6FYSVMH7.js.map +1 -0
  73. package/dist/chunk-6RASPU5N.js +31 -0
  74. package/dist/chunk-6RASPU5N.js.map +1 -0
  75. package/dist/chunk-7AJT2E2Y.js +624 -0
  76. package/dist/chunk-7AJT2E2Y.js.map +1 -0
  77. package/dist/chunk-7IOAIEIA.js +102 -0
  78. package/dist/chunk-7IOAIEIA.js.map +1 -0
  79. package/dist/chunk-7MITRFPE.js +192 -0
  80. package/dist/chunk-7MITRFPE.js.map +1 -0
  81. package/dist/chunk-BDK7CDEI.js +22 -0
  82. package/dist/chunk-BDK7CDEI.js.map +1 -0
  83. package/dist/chunk-BQP4UA44.js +18 -0
  84. package/dist/chunk-BQP4UA44.js.map +1 -0
  85. package/dist/chunk-BYG2ULS3.js +196 -0
  86. package/dist/chunk-BYG2ULS3.js.map +1 -0
  87. package/dist/chunk-C7WEQOUA.js +26 -0
  88. package/dist/chunk-C7WEQOUA.js.map +1 -0
  89. package/dist/chunk-CLEC2RMU.js +8 -0
  90. package/dist/chunk-CLEC2RMU.js.map +1 -0
  91. package/dist/chunk-CMBERB5B.js +9 -0
  92. package/dist/chunk-CMBERB5B.js.map +1 -0
  93. package/dist/chunk-COPT6I2D.js +122 -0
  94. package/dist/chunk-COPT6I2D.js.map +1 -0
  95. package/dist/chunk-CP55TVOV.js +271 -0
  96. package/dist/chunk-CP55TVOV.js.map +1 -0
  97. package/dist/chunk-D3DQ4ICC.js +25 -0
  98. package/dist/chunk-D3DQ4ICC.js.map +1 -0
  99. package/dist/chunk-ERBGZZ2U.js +26 -0
  100. package/dist/chunk-ERBGZZ2U.js.map +1 -0
  101. package/dist/chunk-FIOKWIJP.js +361 -0
  102. package/dist/chunk-FIOKWIJP.js.map +1 -0
  103. package/dist/chunk-G6TV6TF7.js +95 -0
  104. package/dist/chunk-G6TV6TF7.js.map +1 -0
  105. package/dist/chunk-GGTDJEE2.js +15 -0
  106. package/dist/chunk-GGTDJEE2.js.map +1 -0
  107. package/dist/chunk-GIU6BZTW.js +173 -0
  108. package/dist/chunk-GIU6BZTW.js.map +1 -0
  109. package/dist/chunk-HAAXVB3R.js +34 -0
  110. package/dist/chunk-HAAXVB3R.js.map +1 -0
  111. package/dist/chunk-HTSAUMF5.js +398 -0
  112. package/dist/chunk-HTSAUMF5.js.map +1 -0
  113. package/dist/chunk-IJ4ZRIR4.js +182 -0
  114. package/dist/chunk-IJ4ZRIR4.js.map +1 -0
  115. package/dist/chunk-J4DMQV64.js +340 -0
  116. package/dist/chunk-J4DMQV64.js.map +1 -0
  117. package/dist/chunk-JKXSX67K.js +95 -0
  118. package/dist/chunk-JKXSX67K.js.map +1 -0
  119. package/dist/chunk-JNF7FDJO.js +633 -0
  120. package/dist/chunk-JNF7FDJO.js.map +1 -0
  121. package/dist/chunk-JURNPBSW.js +70 -0
  122. package/dist/chunk-JURNPBSW.js.map +1 -0
  123. package/dist/chunk-LCMPFPBN.js +141 -0
  124. package/dist/chunk-LCMPFPBN.js.map +1 -0
  125. package/dist/chunk-LCWXIQKA.js +36 -0
  126. package/dist/chunk-LCWXIQKA.js.map +1 -0
  127. package/dist/chunk-LFJF3M6M.js +171 -0
  128. package/dist/chunk-LFJF3M6M.js.map +1 -0
  129. package/dist/chunk-MD6HHORY.js +524 -0
  130. package/dist/chunk-MD6HHORY.js.map +1 -0
  131. package/dist/chunk-MJG6UKD4.js +83 -0
  132. package/dist/chunk-MJG6UKD4.js.map +1 -0
  133. package/dist/chunk-MKG3UAP6.js +347 -0
  134. package/dist/chunk-MKG3UAP6.js.map +1 -0
  135. package/dist/chunk-MS2ZNYCJ.js +9 -0
  136. package/dist/chunk-MS2ZNYCJ.js.map +1 -0
  137. package/dist/chunk-NGKQBNZ5.js +29 -0
  138. package/dist/chunk-NGKQBNZ5.js.map +1 -0
  139. package/dist/chunk-NKKMM6CK.js +56 -0
  140. package/dist/chunk-NKKMM6CK.js.map +1 -0
  141. package/dist/chunk-OCLVMKVC.js +110 -0
  142. package/dist/chunk-OCLVMKVC.js.map +1 -0
  143. package/dist/chunk-PFV7YIEP.js +104 -0
  144. package/dist/chunk-PFV7YIEP.js.map +1 -0
  145. package/dist/chunk-PGOCR4LG.js +216 -0
  146. package/dist/chunk-PGOCR4LG.js.map +1 -0
  147. package/dist/chunk-PPYJQNE5.js +159 -0
  148. package/dist/chunk-PPYJQNE5.js.map +1 -0
  149. package/dist/chunk-PU5J5EPY.js +733 -0
  150. package/dist/chunk-PU5J5EPY.js.map +1 -0
  151. package/dist/chunk-PZS2D2QM.js +32 -0
  152. package/dist/chunk-PZS2D2QM.js.map +1 -0
  153. package/dist/chunk-Q5IUIA6B.js +9 -0
  154. package/dist/chunk-Q5IUIA6B.js.map +1 -0
  155. package/dist/chunk-QFDTG2ZJ.js +176 -0
  156. package/dist/chunk-QFDTG2ZJ.js.map +1 -0
  157. package/dist/chunk-QZX3RFIC.js +165 -0
  158. package/dist/chunk-QZX3RFIC.js.map +1 -0
  159. package/dist/chunk-R565SY7K.js +69 -0
  160. package/dist/chunk-R565SY7K.js.map +1 -0
  161. package/dist/chunk-RHNI5UQO.js +455 -0
  162. package/dist/chunk-RHNI5UQO.js.map +1 -0
  163. package/dist/chunk-ROKLAZHC.js +550 -0
  164. package/dist/chunk-ROKLAZHC.js.map +1 -0
  165. package/dist/chunk-RTIFG4XT.js +9 -0
  166. package/dist/chunk-RTIFG4XT.js.map +1 -0
  167. package/dist/chunk-TFLSEEM4.js +88 -0
  168. package/dist/chunk-TFLSEEM4.js.map +1 -0
  169. package/dist/chunk-U2UNWXBC.js +242 -0
  170. package/dist/chunk-U2UNWXBC.js.map +1 -0
  171. package/dist/chunk-UEGIKBX6.js +385 -0
  172. package/dist/chunk-UEGIKBX6.js.map +1 -0
  173. package/dist/chunk-UEXTD7ZB.js +108 -0
  174. package/dist/chunk-UEXTD7ZB.js.map +1 -0
  175. package/dist/chunk-UNWEH4Z6.js +83 -0
  176. package/dist/chunk-UNWEH4Z6.js.map +1 -0
  177. package/dist/chunk-UXWUFNXY.js +8 -0
  178. package/dist/chunk-UXWUFNXY.js.map +1 -0
  179. package/dist/chunk-V2MG5Y5F.js +77 -0
  180. package/dist/chunk-V2MG5Y5F.js.map +1 -0
  181. package/dist/chunk-V63YIVKJ.js +326 -0
  182. package/dist/chunk-V63YIVKJ.js.map +1 -0
  183. package/dist/chunk-WAPRVVDQ.js +9 -0
  184. package/dist/chunk-WAPRVVDQ.js.map +1 -0
  185. package/dist/chunk-X4HPHMYW.js +17 -0
  186. package/dist/chunk-X4HPHMYW.js.map +1 -0
  187. package/dist/chunk-XGFJJ2YB.js +36 -0
  188. package/dist/chunk-XGFJJ2YB.js.map +1 -0
  189. package/dist/chunk-YJGECAOZ.js +18 -0
  190. package/dist/chunk-YJGECAOZ.js.map +1 -0
  191. package/dist/chunk-YTHUHPE5.js +51 -0
  192. package/dist/chunk-YTHUHPE5.js.map +1 -0
  193. package/dist/chunk-YTJRKLUR.js +76 -0
  194. package/dist/chunk-YTJRKLUR.js.map +1 -0
  195. package/dist/chunk-YVALXJRN.js +49 -0
  196. package/dist/chunk-YVALXJRN.js.map +1 -0
  197. package/dist/chunk-YZLPO4B2.js +33 -0
  198. package/dist/chunk-YZLPO4B2.js.map +1 -0
  199. package/dist/chunk-ZHAGKFSO.js +16 -0
  200. package/dist/chunk-ZHAGKFSO.js.map +1 -0
  201. package/dist/chunk-ZM67EKZC.js +135 -0
  202. package/dist/chunk-ZM67EKZC.js.map +1 -0
  203. package/dist/chunk-ZVAW22GX.js +50 -0
  204. package/dist/chunk-ZVAW22GX.js.map +1 -0
  205. package/dist/components/accordion/index.d.ts +12 -0
  206. package/dist/components/accordion/index.js +4 -0
  207. package/dist/components/accordion/index.js.map +1 -0
  208. package/dist/components/alert/index.d.ts +64 -0
  209. package/dist/components/alert/index.js +4 -0
  210. package/dist/components/alert/index.js.map +1 -0
  211. package/dist/components/alert-dialog/index.d.ts +22 -0
  212. package/dist/components/alert-dialog/index.js +9 -0
  213. package/dist/components/alert-dialog/index.js.map +1 -0
  214. package/dist/components/aspect-ratio/index.d.ts +11 -0
  215. package/dist/components/aspect-ratio/index.js +4 -0
  216. package/dist/components/aspect-ratio/index.js.map +1 -0
  217. package/dist/components/avatar/index.d.ts +53 -0
  218. package/dist/components/avatar/index.js +4 -0
  219. package/dist/components/avatar/index.js.map +1 -0
  220. package/dist/components/badge/index.d.ts +175 -0
  221. package/dist/components/badge/index.js +4 -0
  222. package/dist/components/badge/index.js.map +1 -0
  223. package/dist/components/breadcrumb/index.d.ts +38 -0
  224. package/dist/components/breadcrumb/index.js +4 -0
  225. package/dist/components/breadcrumb/index.js.map +1 -0
  226. package/dist/components/button/index.d.ts +72 -0
  227. package/dist/components/button/index.js +5 -0
  228. package/dist/components/button/index.js.map +1 -0
  229. package/dist/components/button-group/index.d.ts +21 -0
  230. package/dist/components/button-group/index.js +4 -0
  231. package/dist/components/button-group/index.js.map +1 -0
  232. package/dist/components/calendar/index.d.ts +7 -0
  233. package/dist/components/calendar/index.js +12 -0
  234. package/dist/components/calendar/index.js.map +1 -0
  235. package/dist/components/card/index.d.ts +80 -0
  236. package/dist/components/card/index.js +3 -0
  237. package/dist/components/card/index.js.map +1 -0
  238. package/dist/components/carousel/index.d.ts +15 -0
  239. package/dist/components/carousel/index.js +5 -0
  240. package/dist/components/carousel/index.js.map +1 -0
  241. package/dist/components/chart/index.d.ts +6 -0
  242. package/dist/components/chart/index.js +4 -0
  243. package/dist/components/chart/index.js.map +1 -0
  244. package/dist/components/checkbox/index.d.ts +7 -0
  245. package/dist/components/checkbox/index.js +4 -0
  246. package/dist/components/checkbox/index.js.map +1 -0
  247. package/dist/components/collapsible/index.d.ts +11 -0
  248. package/dist/components/collapsible/index.js +4 -0
  249. package/dist/components/collapsible/index.js.map +1 -0
  250. package/dist/components/combobox/index.d.ts +13 -0
  251. package/dist/components/combobox/index.js +7 -0
  252. package/dist/components/combobox/index.js.map +1 -0
  253. package/dist/components/command/index.d.ts +21 -0
  254. package/dist/components/command/index.js +10 -0
  255. package/dist/components/command/index.js.map +1 -0
  256. package/dist/components/context-menu/index.d.ts +114 -0
  257. package/dist/components/context-menu/index.js +5 -0
  258. package/dist/components/context-menu/index.js.map +1 -0
  259. package/dist/components/data-table/index.d.ts +6 -0
  260. package/dist/components/data-table/index.js +5 -0
  261. package/dist/components/data-table/index.js.map +1 -0
  262. package/dist/components/date-picker/index.d.ts +7 -0
  263. package/dist/components/date-picker/index.js +8 -0
  264. package/dist/components/date-picker/index.js.map +1 -0
  265. package/dist/components/dialog/index.d.ts +22 -0
  266. package/dist/components/dialog/index.js +8 -0
  267. package/dist/components/dialog/index.js.map +1 -0
  268. package/dist/components/direction/index.d.ts +7 -0
  269. package/dist/components/direction/index.js +4 -0
  270. package/dist/components/direction/index.js.map +1 -0
  271. package/dist/components/drawer/index.d.ts +19 -0
  272. package/dist/components/drawer/index.js +8 -0
  273. package/dist/components/drawer/index.js.map +1 -0
  274. package/dist/components/dropdown/index.d.ts +24 -0
  275. package/dist/components/dropdown/index.js +5 -0
  276. package/dist/components/dropdown/index.js.map +1 -0
  277. package/dist/components/dropzone/index.d.ts +26 -0
  278. package/dist/components/dropzone/index.js +5 -0
  279. package/dist/components/dropzone/index.js.map +1 -0
  280. package/dist/components/empty/index.d.ts +59 -0
  281. package/dist/components/empty/index.js +4 -0
  282. package/dist/components/empty/index.js.map +1 -0
  283. package/dist/components/field/index.d.ts +8 -0
  284. package/dist/components/field/index.js +6 -0
  285. package/dist/components/field/index.js.map +1 -0
  286. package/dist/components/hover-card/index.d.ts +12 -0
  287. package/dist/components/hover-card/index.js +3 -0
  288. package/dist/components/hover-card/index.js.map +1 -0
  289. package/dist/components/image/index.d.ts +6 -0
  290. package/dist/components/image/index.js +4 -0
  291. package/dist/components/image/index.js.map +1 -0
  292. package/dist/components/input/index.d.ts +27 -0
  293. package/dist/components/input/index.js +4 -0
  294. package/dist/components/input/index.js.map +1 -0
  295. package/dist/components/input-group/index.d.ts +132 -0
  296. package/dist/components/input-group/index.js +7 -0
  297. package/dist/components/input-group/index.js.map +1 -0
  298. package/dist/components/input-otp/index.d.ts +39 -0
  299. package/dist/components/input-otp/index.js +4 -0
  300. package/dist/components/input-otp/index.js.map +1 -0
  301. package/dist/components/item/index.d.ts +108 -0
  302. package/dist/components/item/index.js +5 -0
  303. package/dist/components/item/index.js.map +1 -0
  304. package/dist/components/kbd/index.d.ts +31 -0
  305. package/dist/components/kbd/index.js +4 -0
  306. package/dist/components/kbd/index.js.map +1 -0
  307. package/dist/components/label/index.d.ts +49 -0
  308. package/dist/components/label/index.js +4 -0
  309. package/dist/components/label/index.js.map +1 -0
  310. package/dist/components/locale-segment-group/index.d.ts +15 -0
  311. package/dist/components/locale-segment-group/index.js +4 -0
  312. package/dist/components/locale-segment-group/index.js.map +1 -0
  313. package/dist/components/menubar/index.d.ts +23 -0
  314. package/dist/components/menubar/index.js +5 -0
  315. package/dist/components/menubar/index.js.map +1 -0
  316. package/dist/components/native-select/index.d.ts +89 -0
  317. package/dist/components/native-select/index.js +3 -0
  318. package/dist/components/native-select/index.js.map +1 -0
  319. package/dist/components/navigation-menu/index.d.ts +15 -0
  320. package/dist/components/navigation-menu/index.js +5 -0
  321. package/dist/components/navigation-menu/index.js.map +1 -0
  322. package/dist/components/pagination/index.d.ts +44 -0
  323. package/dist/components/pagination/index.js +5 -0
  324. package/dist/components/pagination/index.js.map +1 -0
  325. package/dist/components/popover/index.d.ts +76 -0
  326. package/dist/components/popover/index.js +5 -0
  327. package/dist/components/popover/index.js.map +1 -0
  328. package/dist/components/progress/index.d.ts +6 -0
  329. package/dist/components/progress/index.js +4 -0
  330. package/dist/components/progress/index.js.map +1 -0
  331. package/dist/components/prose/index.d.ts +8 -0
  332. package/dist/components/prose/index.js +4 -0
  333. package/dist/components/prose/index.js.map +1 -0
  334. package/dist/components/radio-group/index.d.ts +11 -0
  335. package/dist/components/radio-group/index.js +5 -0
  336. package/dist/components/radio-group/index.js.map +1 -0
  337. package/dist/components/scroll-area/index.d.ts +11 -0
  338. package/dist/components/scroll-area/index.js +4 -0
  339. package/dist/components/scroll-area/index.js.map +1 -0
  340. package/dist/components/select/index.d.ts +17 -0
  341. package/dist/components/select/index.js +5 -0
  342. package/dist/components/select/index.js.map +1 -0
  343. package/dist/components/selectable-card/index.d.ts +11 -0
  344. package/dist/components/selectable-card/index.js +5 -0
  345. package/dist/components/selectable-card/index.js.map +1 -0
  346. package/dist/components/separator/index.d.ts +24 -0
  347. package/dist/components/separator/index.js +4 -0
  348. package/dist/components/separator/index.js.map +1 -0
  349. package/dist/components/sheet/index.d.ts +20 -0
  350. package/dist/components/sheet/index.js +8 -0
  351. package/dist/components/sheet/index.js.map +1 -0
  352. package/dist/components/sidebar/index.d.ts +16 -0
  353. package/dist/components/sidebar/index.js +3 -0
  354. package/dist/components/sidebar/index.js.map +1 -0
  355. package/dist/components/skeleton/index.d.ts +52 -0
  356. package/dist/components/skeleton/index.js +3 -0
  357. package/dist/components/skeleton/index.js.map +1 -0
  358. package/dist/components/slider/index.d.ts +7 -0
  359. package/dist/components/slider/index.js +4 -0
  360. package/dist/components/slider/index.js.map +1 -0
  361. package/dist/components/sonner/index.d.ts +7 -0
  362. package/dist/components/sonner/index.js +3 -0
  363. package/dist/components/sonner/index.js.map +1 -0
  364. package/dist/components/spinner/index.d.ts +10 -0
  365. package/dist/components/spinner/index.js +4 -0
  366. package/dist/components/spinner/index.js.map +1 -0
  367. package/dist/components/switch/index.d.ts +7 -0
  368. package/dist/components/switch/index.js +4 -0
  369. package/dist/components/switch/index.js.map +1 -0
  370. package/dist/components/table/index.d.ts +45 -0
  371. package/dist/components/table/index.js +5 -0
  372. package/dist/components/table/index.js.map +1 -0
  373. package/dist/components/tabs/index.d.ts +13 -0
  374. package/dist/components/tabs/index.js +5 -0
  375. package/dist/components/tabs/index.js.map +1 -0
  376. package/dist/components/textarea/index.d.ts +27 -0
  377. package/dist/components/textarea/index.js +4 -0
  378. package/dist/components/textarea/index.js.map +1 -0
  379. package/dist/components/theme-toggle/index.d.ts +6 -0
  380. package/dist/components/theme-toggle/index.js +6 -0
  381. package/dist/components/theme-toggle/index.js.map +1 -0
  382. package/dist/components/toast/index.d.ts +27 -0
  383. package/dist/components/toast/index.js +3 -0
  384. package/dist/components/toast/index.js.map +1 -0
  385. package/dist/components/toggle/index.d.ts +7 -0
  386. package/dist/components/toggle/index.js +4 -0
  387. package/dist/components/toggle/index.js.map +1 -0
  388. package/dist/components/toggle-group/index.d.ts +11 -0
  389. package/dist/components/toggle-group/index.js +4 -0
  390. package/dist/components/toggle-group/index.js.map +1 -0
  391. package/dist/components/tooltip/index.d.ts +12 -0
  392. package/dist/components/tooltip/index.js +3 -0
  393. package/dist/components/tooltip/index.js.map +1 -0
  394. package/dist/components/typography/index.d.ts +8 -0
  395. package/dist/components/typography/index.js +4 -0
  396. package/dist/components/typography/index.js.map +1 -0
  397. package/dist/components/video/index.d.ts +8 -0
  398. package/dist/components/video/index.js +4 -0
  399. package/dist/components/video/index.js.map +1 -0
  400. package/dist/index.d.ts +82 -0
  401. package/dist/index.js +83 -0
  402. package/dist/index.js.map +1 -0
  403. package/dist/lib/interactive/index.d.ts +44 -0
  404. package/dist/lib/interactive/index.js +3 -0
  405. package/dist/lib/interactive/index.js.map +1 -0
  406. package/dist/lib/signals/index.d.ts +15 -0
  407. package/dist/lib/signals/index.js +3 -0
  408. package/dist/lib/signals/index.js.map +1 -0
  409. package/dist/lib/utils.d.ts +5 -0
  410. package/dist/lib/utils.js +3 -0
  411. package/dist/lib/utils.js.map +1 -0
  412. package/dist/navigationMenuTriggerStyle-BWnESpon.d.ts +48 -0
  413. package/dist/sonner-store-Dfdxy8ba.d.ts +11 -0
  414. package/dist/theme.css +81 -0
  415. package/package.json +360 -0
package/LICENSE.md ADDED
@@ -0,0 +1,9 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 kamod.ch
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,183 @@
1
+ <p align="center">
2
+ <img src="https://raw.githubusercontent.com/kamod-ch/kamod-ui/main/.github/assets/logo-kamod-ui-dark.svg#gh-light-mode-only" alt="Kamod UI" width="162" />
3
+ <img src="https://raw.githubusercontent.com/kamod-ch/kamod-ui/main/.github/assets/logo-kamod-ui-light.svg#gh-dark-mode-only" alt="Kamod UI" width="162" />
4
+ </p>
5
+
6
+ <h1 align="center">Kamod UI</h1>
7
+
8
+ Lightweight UI components for **Preact** and **Tailwind**: composable primitives you can customize, extend, and ship without a heavy runtime. Open source; source is meant to be read and adapted.
9
+
10
+ <p align="center">
11
+ <a href="https://www.npmjs.com/package/@kamod-ch/ui"><img src="https://img.shields.io/npm/v/@kamod-ch/ui" alt="npm version" /></a>
12
+ <a href="https://github.com/kamod-ch/kamod-ui/actions/workflows/ci.yml"><img src="https://github.com/kamod-ch/kamod-ui/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
13
+ <a href="https://github.com/kamod-ch/kamod-ui/stargazers"><img src="https://img.shields.io/github/stars/kamod-ch/kamod-ui?style=social" alt="GitHub stars" /></a>
14
+ <a href="https://github.com/kamod-ch/kamod-ui/blob/main/LICENSE.md"><img src="https://img.shields.io/github/license/kamod-ch/kamod-ui" alt="license" /></a>
15
+ </p>
16
+
17
+ **[Demo](https://ui.kamod.ch/)** · **[Component docs](https://ui.kamod.ch/docs/button)** · **[npm](https://www.npmjs.com/package/@kamod-ch/ui)** · **[GitHub](https://github.com/kamod-ch/kamod-ui)** · **[Issues](https://github.com/kamod-ch/kamod-ui/issues)**
18
+
19
+ > If Kamod UI saves you time, **[star the repo](https://github.com/kamod-ch/kamod-ui)** — it helps others discover the project.
20
+
21
+ ![hero](https://raw.githubusercontent.com/kamod-ch/kamod-ui/main/.github/assets/kitchen-sink.png)
22
+
23
+ ## Why Kamod UI?
24
+
25
+ Many UI kits are heavier than necessary, overly opinionated, or tied to React. Kamod UI targets a smaller stack instead:
26
+
27
+ - **Preact-first** — tiny runtime and familiar patterns if you already use React-like APIs.
28
+ - **Tailwind-native** — style with utilities instead of a separate theme layer.
29
+ - **Composable** — build UIs from small pieces without extra abstraction.
30
+ - **Practical** — ship only what you need; the codebase stays easy to follow.
31
+
32
+ ## When to use Kamod UI
33
+
34
+ | | Kamod UI | Radix UI / shadcn | Heavy design systems |
35
+ | -------------- | --------------------------------------------- | ----------------------- | ---------------------------- |
36
+ | Preact | Yes | React only | Varies |
37
+ | Tailwind-first | Yes | Partial / yes | Often custom tokens |
38
+ | Bundle weight | Per-component, typically 0.4–10 KB gzip | Larger runtime | Platform overhead |
39
+ | Best for | Preact + Tailwind apps you can read and adapt | React + Tailwind stacks | Org-wide token/CMS platforms |
40
+
41
+ **Choose Kamod UI when** you want Preact, Tailwind CSS v4, composable primitives, and source you can fork or extend without a heavy runtime.
42
+
43
+ **Choose something else when** you need React-only ecosystems (Radix/shadcn), no Tailwind, or a full design-system platform with CMS-driven tokens.
44
+
45
+ ## Quick start
46
+
47
+ ```bash
48
+ pnpm add @kamod-ch/ui preact @preact/signals tailwindcss
49
+ ```
50
+
51
+ ```css
52
+ /* app.css */
53
+ @import "tailwindcss";
54
+ @import "@kamod-ch/ui/theme.css";
55
+ ```
56
+
57
+ ```tsx
58
+ import { Button } from "@kamod-ch/ui";
59
+
60
+ export function App() {
61
+ return <Button>Click me</Button>;
62
+ }
63
+ ```
64
+
65
+ Browse the [live component docs](https://ui.kamod.ch/docs/button) for variants, composition, and RTL examples.
66
+
67
+ ## Using Kamod UI
68
+
69
+ ### Requirements
70
+
71
+ - **Preact** `>= 10.26`
72
+ - **`@preact/signals`** `>= 2.0` (required peer dependency — see below)
73
+ - **Tailwind CSS v4** (v3 is not supported)
74
+ - An ESM-friendly bundler (Vite, Rolldown, esbuild, Next.js, …). Kamod UI is **ESM-only**; it does not ship a CommonJS build.
75
+ - SSR: client components guard `typeof document` / `window` access and re-render safely on the client.
76
+
77
+ ### Install
78
+
79
+ ```bash
80
+ pnpm add @kamod-ch/ui preact @preact/signals
81
+ ```
82
+
83
+ The published library on npm is **[`@kamod-ch/ui`](https://www.npmjs.com/package/@kamod-ch/ui)**. This monorepo root and `apps/demo` are not published. The former package [`@kamod-ui/core`](https://www.npmjs.com/package/@kamod-ui/core) and the unscoped [`kamod-ui`](https://www.npmjs.com/package/kamod-ui) name are legacy — install `@kamod-ch/ui` instead.
84
+
85
+ Import the default theme once so Tailwind compiles component classes and semantic CSS tokens:
86
+
87
+ ```css
88
+ @import "tailwindcss";
89
+ @import "@kamod-ch/ui/theme.css";
90
+ ```
91
+
92
+ ### `@preact/signals`
93
+
94
+ `@preact/signals` is a **required peer dependency** — install it in every app, even when you only use presentational components like `Button`. That keeps a single signal runtime and avoids duplicate instances when you add interactive components later.
95
+
96
+ **In your app code**, you usually do **not** import signals yourself. Components manage open state, selection, and stores internally.
97
+
98
+ **Import signals yourself** when you use Kamod's lower-level helpers:
99
+
100
+ | Use case | Import |
101
+ | ----------------------------------- | -------------------------------------------------------------------------------- |
102
+ | Custom controlled primitives | `@kamod-ch/ui/lib/signals` → `createControllableSignal` |
103
+ | Overlay dismiss / roving focus | `@kamod-ch/ui/lib/interactive` → `createDismissableLayer`, `createRovingFocus` |
104
+ | Advanced toast / sonner integration | `@kamod-ch/ui/toast` or `@kamod-ch/ui/sonner` stores |
105
+
106
+ See the [**Signals** column in the component reference](https://github.com/kamod-ch/kamod-ui/blob/main/.docs/COMPONENTS.md) for which exports use signals internally (direct, indirect via Dialog/Popover, or none).
107
+
108
+ ### Per-component imports (tree-shaking)
109
+
110
+ Both styles are supported:
111
+
112
+ ```ts
113
+ import { Button } from "@kamod-ch/ui"; // root barrel
114
+ import { Button } from "@kamod-ch/ui/button"; // per-component subpath
115
+ ```
116
+
117
+ The package ships a minimal `sideEffects` list (progress indeterminate keyframes and CSS only), so modern bundlers tree-shake the root barrel reliably.
118
+
119
+ ### Component sizes
120
+
121
+ Each `@kamod-ch/ui/<name>` subpath is a separate export. Typical gzip size is **0.4–10 KB** (Kamod JS only; excludes `preact`, `@preact/signals`, and CSS).
122
+
123
+ See **[Component sizes & signals reference](https://github.com/kamod-ch/kamod-ui/blob/main/.docs/COMPONENTS.md)** for all 65 exports with min/gzip sizes and signal usage. Regenerate after core changes:
124
+
125
+ ```bash
126
+ pnpm docs:components
127
+ ```
128
+
129
+ ### Customize the theme
130
+
131
+ Override semantic tokens after importing the default theme:
132
+
133
+ ```css
134
+ @import "tailwindcss";
135
+ @import "@kamod-ch/ui/theme.css";
136
+
137
+ :root {
138
+ --primary: var(--color-fuchsia-700);
139
+ --primary-foreground: var(--color-white);
140
+ --radius: 0.75rem;
141
+ }
142
+
143
+ .dark {
144
+ --primary: var(--color-fuchsia-400);
145
+ --primary-foreground: var(--color-neutral-950);
146
+ }
147
+ ```
148
+
149
+ For full control, copy from [`packages/core/src/theme.css`](https://github.com/kamod-ch/kamod-ui/blob/main/packages/core/src/theme.css) or see the demo's [`foundation.css`](https://github.com/kamod-ch/kamod-ui/blob/main/apps/demo/src/styles/foundation.css) and [`themes.css`](https://github.com/kamod-ch/kamod-ui/blob/main/apps/demo/src/styles/themes.css).
150
+
151
+ ## Documentation
152
+
153
+ **Live demo:** [ui.kamod.ch](https://ui.kamod.ch/) (custom domain; same deploy as [GitHub Pages](https://kamod-ch.github.io/kamod-ui/))
154
+
155
+ Interactive API docs live under `/docs/*` in the demo app (e.g. [`/docs/button`](https://ui.kamod.ch/docs/button)).
156
+
157
+ Run locally from the repo root:
158
+
159
+ ```bash
160
+ pnpm install
161
+ pnpm dev
162
+ ```
163
+
164
+ Open the URL printed in the terminal for the kitchen sink and component docs. Quality gates: `pnpm test`, `pnpm test:e2e`, `pnpm check`.
165
+
166
+ ## Contributing
167
+
168
+ | Workspace | Path | Role |
169
+ | ---------------- | ---------------- | ---------------------------------------- |
170
+ | `@kamod-ch/ui` | `packages/core/` | Published library (65 component exports) |
171
+ | `demo` | `apps/demo/` | Kitchen sink + interactive docs |
172
+
173
+ - Open issues for bugs and ideas; PRs welcome for components, docs, and examples.
174
+ - Key scripts: `pnpm dev`, `pnpm check`, `pnpm fmt`, `pnpm lint`, `pnpm docs:components`
175
+ - Tooling details: [`.docs/interna.md`](https://github.com/kamod-ch/kamod-ui/blob/main/.docs/interna.md)
176
+
177
+ Maintainers: see [`.docs/MAINTAINERS.md`](https://github.com/kamod-ch/kamod-ui/blob/main/.docs/MAINTAINERS.md) for npm release workflow.
178
+
179
+ ## Support
180
+
181
+ - **[Star the repository](https://github.com/kamod-ch/kamod-ui)** — improves visibility in search and community lists.
182
+ - Share the project with others who use Preact or Tailwind.
183
+ - Watch the repo for release notifications (optional).
@@ -0,0 +1,39 @@
1
+ import { JSX, ComponentChildren } from 'preact';
2
+
3
+ type AccordionContentProps = JSX.HTMLAttributes<HTMLDivElement> & {
4
+ forceMount?: boolean;
5
+ /** Grid transition duration, e.g. `400ms` */
6
+ duration?: string;
7
+ /** CSS timing function, e.g. `cubic-bezier(0.4, 0, 0.2, 1)` */
8
+ timingFunction?: string;
9
+ /** Use max-height animation for very tall content to reduce micro-jank. */
10
+ largeContentThreshold?: number;
11
+ children?: ComponentChildren;
12
+ };
13
+ declare const AccordionContent: ({ forceMount, duration, timingFunction, largeContentThreshold, children, class: className, style, ...rest }: AccordionContentProps) => JSX.Element | null;
14
+
15
+ type AccordionTriggerProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {
16
+ hideIndicator?: boolean;
17
+ indicator?: ComponentChildren;
18
+ children?: ComponentChildren;
19
+ };
20
+ declare const AccordionTrigger: ({ hideIndicator, indicator, children, class: className, onClick, ...rest }: AccordionTriggerProps) => JSX.Element;
21
+
22
+ type AccordionItemProps = JSX.HTMLAttributes<HTMLDivElement> & {
23
+ value: string;
24
+ disabled?: boolean;
25
+ children?: ComponentChildren;
26
+ };
27
+ declare const AccordionItem: ({ value, disabled, children, ...rest }: AccordionItemProps) => JSX.Element;
28
+
29
+ type AccordionType = "single" | "multiple";
30
+ type AccordionProps = JSX.HTMLAttributes<HTMLDivElement> & {
31
+ type?: AccordionType;
32
+ /** When `type="single"`, `false` keeps one panel always open (clicking the open trigger does not close it). Default `true` matches common shadcn examples. */
33
+ collapsible?: boolean;
34
+ defaultValue?: string | string[];
35
+ children?: ComponentChildren;
36
+ };
37
+ declare const Accordion: ({ type, collapsible, defaultValue, children, ...rest }: AccordionProps) => JSX.Element;
38
+
39
+ export { Accordion as A, AccordionContent as a, AccordionItem as b, AccordionTrigger as c, type AccordionProps as d, type AccordionItemProps as e, type AccordionTriggerProps as f, type AccordionContentProps as g };
@@ -0,0 +1,64 @@
1
+ import * as preact from 'preact';
2
+ import { ComponentChildren, JSX } from 'preact';
3
+ import { VariantProps } from 'tailwind-variants';
4
+ import { b as button } from './Button-vQnkiVTI.js';
5
+ import { e as DialogCloseProps, d as DialogTriggerProps, c as DialogProps } from './Dialog-BOIteLfe.js';
6
+ import { b as DialogContentProps } from './DialogContent-CK1t4m4e.js';
7
+
8
+ type AlertDialogActionProps = DialogCloseProps & {
9
+ variant?: VariantProps<typeof button>["variant"];
10
+ children?: ComponentChildren;
11
+ };
12
+ declare const AlertDialogAction: ({ variant, class: className, children, ...rest }: AlertDialogActionProps) => preact.JSX.Element;
13
+
14
+ type AlertDialogCancelProps = DialogCloseProps & {
15
+ variant?: VariantProps<typeof button>["variant"];
16
+ children?: ComponentChildren;
17
+ };
18
+ declare const AlertDialogCancel: ({ variant, class: className, children, ...rest }: AlertDialogCancelProps) => preact.JSX.Element;
19
+
20
+ type AlertDialogMediaProps = JSX.HTMLAttributes<HTMLDivElement> & {
21
+ children?: ComponentChildren;
22
+ };
23
+ /** Optional icon or image slot above the title (shadcn AlertDialogMedia pattern). */
24
+ declare const AlertDialogMedia: ({ class: className, children, ...rest }: AlertDialogMediaProps) => JSX.Element;
25
+
26
+ type AlertDialogDescriptionProps = JSX.HTMLAttributes<HTMLParagraphElement> & {
27
+ children?: ComponentChildren;
28
+ };
29
+ declare const AlertDialogDescription: ({ class: className, children, ...rest }: AlertDialogDescriptionProps) => JSX.Element;
30
+
31
+ type AlertDialogTitleProps = JSX.HTMLAttributes<HTMLHeadingElement> & {
32
+ children?: ComponentChildren;
33
+ };
34
+ declare const AlertDialogTitle: ({ class: className, children, ...rest }: AlertDialogTitleProps) => JSX.Element;
35
+
36
+ type AlertDialogFooterProps = JSX.HTMLAttributes<HTMLDivElement> & {
37
+ children?: ComponentChildren;
38
+ };
39
+ declare const AlertDialogFooter: ({ class: className, children, ...rest }: AlertDialogFooterProps) => JSX.Element;
40
+
41
+ type AlertDialogHeaderProps = JSX.HTMLAttributes<HTMLDivElement> & {
42
+ children?: ComponentChildren;
43
+ };
44
+ declare const AlertDialogHeader: ({ class: className, children, ...rest }: AlertDialogHeaderProps) => JSX.Element;
45
+
46
+ type AlertDialogContentSize = "default" | "sm";
47
+ type AlertDialogContentProps = DialogContentProps & {
48
+ /** `sm` — narrower panel (shadcn parity). */
49
+ size?: AlertDialogContentSize;
50
+ children?: ComponentChildren;
51
+ };
52
+ declare const AlertDialogContent: ({ size, class: className, children, ...rest }: AlertDialogContentProps) => preact.JSX.Element;
53
+
54
+ type AlertDialogTriggerProps = DialogTriggerProps & {
55
+ children?: ComponentChildren;
56
+ };
57
+ declare const AlertDialogTrigger: ({ asChild, class: className, children, ...rest }: AlertDialogTriggerProps) => preact.JSX.Element;
58
+
59
+ type AlertDialogProps = DialogProps & {
60
+ children?: ComponentChildren;
61
+ };
62
+ declare const AlertDialog: ({ children, ...rest }: AlertDialogProps) => preact.JSX.Element;
63
+
64
+ export { AlertDialog as A, AlertDialogAction as a, AlertDialogCancel as b, AlertDialogContent as c, AlertDialogDescription as d, AlertDialogFooter as e, AlertDialogHeader as f, AlertDialogMedia as g, AlertDialogTitle as h, AlertDialogTrigger as i, type AlertDialogProps as j, type AlertDialogTriggerProps as k, type AlertDialogContentProps as l, type AlertDialogHeaderProps as m, type AlertDialogFooterProps as n, type AlertDialogTitleProps as o, type AlertDialogDescriptionProps as p, type AlertDialogMediaProps as q, type AlertDialogCancelProps as r, type AlertDialogActionProps as s };
@@ -0,0 +1,84 @@
1
+ import * as preact from 'preact';
2
+ import { ComponentChildren, JSX } from 'preact';
3
+ import * as tailwind_variants from 'tailwind-variants';
4
+ import { VariantProps } from 'tailwind-variants';
5
+
6
+ declare const button: tailwind_variants.TVReturnType<{
7
+ variant: {
8
+ default: string;
9
+ secondary: string;
10
+ inverse: string;
11
+ outline: string;
12
+ ghost: string;
13
+ destructive: string;
14
+ link: string;
15
+ };
16
+ size: {
17
+ xxs: string;
18
+ xs: string;
19
+ sm: string;
20
+ default: string;
21
+ lg: string;
22
+ icon: string;
23
+ "icon-xs": string;
24
+ "icon-sm": string;
25
+ "icon-lg": string;
26
+ };
27
+ }, undefined, string[], {
28
+ variant: {
29
+ default: string;
30
+ secondary: string;
31
+ inverse: string;
32
+ outline: string;
33
+ ghost: string;
34
+ destructive: string;
35
+ link: string;
36
+ };
37
+ size: {
38
+ xxs: string;
39
+ xs: string;
40
+ sm: string;
41
+ default: string;
42
+ lg: string;
43
+ icon: string;
44
+ "icon-xs": string;
45
+ "icon-sm": string;
46
+ "icon-lg": string;
47
+ };
48
+ }, undefined, tailwind_variants.TVReturnType<{
49
+ variant: {
50
+ default: string;
51
+ secondary: string;
52
+ inverse: string;
53
+ outline: string;
54
+ ghost: string;
55
+ destructive: string;
56
+ link: string;
57
+ };
58
+ size: {
59
+ xxs: string;
60
+ xs: string;
61
+ sm: string;
62
+ default: string;
63
+ lg: string;
64
+ icon: string;
65
+ "icon-xs": string;
66
+ "icon-sm": string;
67
+ "icon-lg": string;
68
+ };
69
+ }, undefined, string[], unknown, unknown, undefined>>;
70
+ type CommonProps = VariantProps<typeof button> & {
71
+ class?: string;
72
+ asChild?: boolean;
73
+ children?: ComponentChildren;
74
+ };
75
+ type ButtonAsButton = CommonProps & JSX.ButtonHTMLAttributes<HTMLButtonElement> & {
76
+ href?: undefined;
77
+ };
78
+ type ButtonAsAnchor = CommonProps & JSX.AnchorHTMLAttributes<HTMLAnchorElement> & {
79
+ href: string;
80
+ };
81
+ type ButtonProps = ButtonAsButton | ButtonAsAnchor;
82
+ declare const Button: ({ variant, size, asChild, class: className, children, ...rest }: ButtonProps) => JSX.Element | preact.VNode<{}> | null;
83
+
84
+ export { Button as B, button as b };
@@ -0,0 +1,79 @@
1
+ import { JSX, ComponentChildren } from 'preact';
2
+
3
+ type DateRange = {
4
+ from?: Date;
5
+ to?: Date;
6
+ };
7
+ type CalendarMode = "single" | "range";
8
+ /** `sm`: denser padding, smaller day cells, lighter caption controls (dropdown + nav). */
9
+ type CalendarSize = "default" | "sm";
10
+ type CalendarDisabledProp = ((date: Date) => boolean) | Date[];
11
+ type CalendarProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "onSelect"> & {
12
+ mode?: CalendarMode;
13
+ selected?: Date | DateRange;
14
+ onSelect?: (value: Date | DateRange | undefined) => void;
15
+ /** @deprecated Use `selected` in single mode. */
16
+ value?: Date;
17
+ /** @deprecated Use `onSelect` in single mode. */
18
+ onValueChange?: (next: Date) => void;
19
+ defaultMonth?: Date;
20
+ month?: Date;
21
+ onMonthChange?: (next: Date) => void;
22
+ numberOfMonths?: 1 | 2;
23
+ captionLayout?: "buttons" | "dropdown";
24
+ dir?: "ltr" | "rtl";
25
+ /** Show days from adjacent months. @default true */
26
+ showOutsideDays?: boolean;
27
+ /** Pad to six week rows. @default false */
28
+ fixedWeeks?: boolean;
29
+ disabled?: CalendarDisabledProp;
30
+ /** Extra week-index column (ISO week of row start). @default false */
31
+ showWeekNumber?: boolean;
32
+ /** Named date sets for styling via `modifiersClassNames`. */
33
+ modifiers?: Record<string, Date[]>;
34
+ /** Tailwind / arbitrary classes keyed like `modifiers` (e.g. booked). */
35
+ modifiersClassNames?: Record<string, string>;
36
+ /** BCP 47 locale for captions and weekday labels. */
37
+ locale?: string;
38
+ /** Passed to `Intl` where supported; selection still uses local `Date` (use noon-normalized dates to avoid TZ drift). */
39
+ timeZone?: string;
40
+ /** Extra label under the day number (e.g. prices). Omit or return `undefined` for outside days if desired. */
41
+ dayAddon?: (date: Date, outside: boolean) => ComponentChildren | undefined;
42
+ /** Extra classes for the visible month/year caption text (single-month buttons layout and dual-month titles). */
43
+ captionTitleClass?: string;
44
+ /** If set (length 7, Sunday-first), overrides locale-derived weekday headers. */
45
+ weekdayLabels?: string[];
46
+ /** Decorative left border on the first weekday column (e.g. Su). @default false */
47
+ showWeekdayLeadBorder?: boolean;
48
+ /** Visual density; `sm` fits popovers and tight layouts. @default "default" */
49
+ size?: CalendarSize;
50
+ };
51
+ declare const Calendar: ({ class: className, mode, selected, onSelect, value, onValueChange, defaultMonth, month: monthProp, onMonthChange, numberOfMonths, captionLayout, dir, showOutsideDays, fixedWeeks, disabled, showWeekNumber, modifiers, modifiersClassNames, locale, timeZone, dayAddon, captionTitleClass, weekdayLabels, showWeekdayLeadBorder, size, ...rest }: CalendarProps) => JSX.Element;
52
+
53
+ type CalendarDateTimePanelProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "onSelect"> & Pick<CalendarProps, "defaultMonth" | "month" | "onMonthChange" | "locale" | "disabled" | "dir" | "showOutsideDays" | "captionLayout" | "size"> & {
54
+ /** Selected calendar day (controlled). */
55
+ selected?: Date;
56
+ /** Initial day when uncontrolled. */
57
+ defaultSelected?: Date;
58
+ onSelect?: (date: Date) => void;
59
+ /** `HH:mm` or `HH:mm:ss` for native `input[type=time]`. */
60
+ startTime?: string;
61
+ defaultStartTime?: string;
62
+ onStartTimeChange?: (value: string) => void;
63
+ endTime?: string;
64
+ defaultEndTime?: string;
65
+ onEndTimeChange?: (value: string) => void;
66
+ startTimeLabel?: string;
67
+ endTimeLabel?: string;
68
+ /** Use two-letter weekday headers (Su–Sa). @default true */
69
+ compactWeekdays?: boolean;
70
+ /** Decorative line left of the first weekday; off by default. */
71
+ showWeekdayLeadBorder?: boolean;
72
+ };
73
+ /**
74
+ * Single-month calendar with start/end time fields, styled for a compact “schedule” card (date + time range).
75
+ * Defaults to `size="sm"` on the inner {@link Calendar} for a dense layout; pass `size="default"` for roomier cells.
76
+ */
77
+ declare const CalendarDateTimePanel: ({ class: className, selected, defaultSelected, onSelect, defaultMonth, month, onMonthChange, locale, disabled, dir, showOutsideDays, captionLayout, size, startTime: startTimeProp, defaultStartTime, onStartTimeChange, endTime: endTimeProp, defaultEndTime, onEndTimeChange, startTimeLabel, endTimeLabel, compactWeekdays, showWeekdayLeadBorder, ...rest }: CalendarDateTimePanelProps) => JSX.Element;
78
+
79
+ export { Calendar as C, type DateRange as D, CalendarDateTimePanel as a, type CalendarDateTimePanelProps as b, type CalendarDisabledProp as c, type CalendarMode as d, type CalendarSize as e, type CalendarProps as f };
@@ -0,0 +1,48 @@
1
+ import { JSX, ComponentChildren } from 'preact';
2
+ import { EmblaOptionsType, EmblaCarouselType, EmblaPluginType } from 'embla-carousel';
3
+
4
+ type CarouselAutoplayPauseProps = Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, "size"> & {
5
+ class?: string;
6
+ };
7
+ declare const CarouselAutoplayPause: ({ class: className, onClick, ...rest }: CarouselAutoplayPauseProps) => JSX.Element | null;
8
+
9
+ type CarouselNextProps = Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, "size"> & {
10
+ children?: ComponentChildren;
11
+ };
12
+ declare const CarouselNext: ({ children, class: className, onClick, disabled, ...rest }: CarouselNextProps) => JSX.Element;
13
+
14
+ type CarouselPreviousProps = Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, "size"> & {
15
+ children?: ComponentChildren;
16
+ };
17
+ declare const CarouselPrevious: ({ children, class: className, onClick, disabled, ...rest }: CarouselPreviousProps) => JSX.Element;
18
+
19
+ type CarouselItemProps = JSX.HTMLAttributes<HTMLDivElement> & {
20
+ children?: ComponentChildren;
21
+ };
22
+ declare const CarouselItem: ({ class: className, children, ...rest }: CarouselItemProps) => JSX.Element;
23
+
24
+ type CarouselContentProps = JSX.HTMLAttributes<HTMLDivElement> & {
25
+ children?: ComponentChildren;
26
+ };
27
+ declare const CarouselContent: ({ class: className, children, ...rest }: CarouselContentProps) => JSX.Element;
28
+
29
+ type CarouselApi = EmblaCarouselType;
30
+ type CarouselOrientation = "horizontal" | "vertical";
31
+ type CarouselProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "dir"> & {
32
+ opts?: EmblaOptionsType;
33
+ orientation?: CarouselOrientation;
34
+ setApi?: (api: CarouselApi | null) => void;
35
+ plugins?: EmblaPluginType[];
36
+ /** When `plugins` is omitted, adds `embla-carousel-autoplay`. Ignored if `plugins` is set. */
37
+ autoplay?: boolean | {
38
+ delay?: number;
39
+ stopOnInteraction?: boolean;
40
+ };
41
+ /** Accessible name for the carousel region. */
42
+ label?: string;
43
+ dir?: "ltr" | "rtl";
44
+ children?: ComponentChildren;
45
+ };
46
+ declare const Carousel: ({ opts, orientation, setApi, plugins, autoplay, label, dir, class: className, children, "aria-label": ariaLabel, ...rest }: CarouselProps) => JSX.Element;
47
+
48
+ export { Carousel as C, type CarouselApi as a, CarouselAutoplayPause as b, CarouselContent as c, CarouselItem as d, CarouselNext as e, type CarouselOrientation as f, CarouselPrevious as g, type CarouselProps as h, type CarouselContentProps as i, type CarouselItemProps as j, type CarouselPreviousProps as k, type CarouselNextProps as l, type CarouselAutoplayPauseProps as m };
@@ -0,0 +1,10 @@
1
+ import { JSX, ComponentChildren } from 'preact';
2
+
3
+ type ChartProps = JSX.HTMLAttributes<HTMLDivElement> & {
4
+ title?: string;
5
+ description?: string;
6
+ children?: ComponentChildren;
7
+ };
8
+ declare const Chart: ({ class: className, title, description, children, ...rest }: ChartProps) => JSX.Element;
9
+
10
+ export { Chart as C };
@@ -0,0 +1,12 @@
1
+ import { JSX } from 'preact';
2
+
3
+ type CheckboxCheckedState = boolean | "indeterminate";
4
+ type CheckboxProps = Omit<JSX.InputHTMLAttributes<HTMLInputElement>, "type" | "checked" | "defaultChecked" | "onChange"> & {
5
+ checked?: CheckboxCheckedState;
6
+ defaultChecked?: CheckboxCheckedState;
7
+ onCheckedChange?: (checked: CheckboxCheckedState) => void;
8
+ onChange?: (event: JSX.TargetedEvent<HTMLInputElement>) => void;
9
+ };
10
+ declare const Checkbox: ({ checked: checkedProp, defaultChecked, onCheckedChange, onChange, class: className, disabled, ref: outerRef, id, ...rest }: CheckboxProps) => JSX.Element;
11
+
12
+ export { Checkbox as C, type CheckboxCheckedState as a };
@@ -0,0 +1,34 @@
1
+ import * as preact from 'preact';
2
+ import { JSX, ComponentChildren } from 'preact';
3
+
4
+ type CollapsibleContentProps = JSX.HTMLAttributes<HTMLDivElement> & {
5
+ forceMount?: boolean;
6
+ /** Grid transition duration, e.g. `400ms` */
7
+ duration?: string;
8
+ /** CSS timing function, e.g. `cubic-bezier(0.4, 0, 0.2, 1)` */
9
+ timingFunction?: string;
10
+ /** Use max-height animation for very tall content to reduce micro-jank. */
11
+ largeContentThreshold?: number;
12
+ children?: ComponentChildren;
13
+ };
14
+ declare const CollapsibleContent: ({ forceMount, duration, timingFunction, largeContentThreshold, children, class: className, style, ...rest }: CollapsibleContentProps) => JSX.Element | null;
15
+
16
+ type CollapsibleTriggerProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {
17
+ asChild?: boolean;
18
+ children?: ComponentChildren;
19
+ "data-slot"?: string;
20
+ };
21
+ declare const CollapsibleTrigger: ({ asChild, children, onClick, ref: outerRef, "data-slot": dataSlot, ...rest }: CollapsibleTriggerProps) => JSX.Element | preact.VNode<{}> | null;
22
+
23
+ type CollapsibleProps = JSX.HTMLAttributes<HTMLDivElement> & {
24
+ /** Uncontrolled initial state */
25
+ defaultOpen?: boolean;
26
+ /** Controlled open state */
27
+ open?: boolean;
28
+ /** Called when open state changes (toggle or programmatic) */
29
+ onOpenChange?: (open: boolean) => void;
30
+ children?: ComponentChildren;
31
+ };
32
+ declare const Collapsible: ({ defaultOpen, open: openProp, onOpenChange, children, ...rest }: CollapsibleProps) => JSX.Element;
33
+
34
+ export { Collapsible as C, CollapsibleContent as a, CollapsibleTrigger as b, type CollapsibleProps as c, type CollapsibleTriggerProps as d, type CollapsibleContentProps as e };