@customafk/lunas-ui 0.1.0 → 0.1.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 (1076) hide show
  1. package/dist/add-new-CJdX6unn.js +2 -0
  2. package/dist/add-new-CJdX6unn.js.map +1 -0
  3. package/dist/add-new-DIT9Jyap.cjs +2 -0
  4. package/dist/add-new-DIT9Jyap.cjs.map +1 -0
  5. package/dist/alert-dialog-BlGvvaB2.cjs +2 -0
  6. package/dist/alert-dialog-BlGvvaB2.cjs.map +1 -0
  7. package/dist/alert-dialog-CEQsuXqU.js +2 -0
  8. package/dist/alert-dialog-CEQsuXqU.js.map +1 -0
  9. package/dist/avatar-aVxo69zP.cjs +2 -0
  10. package/dist/avatar-aVxo69zP.cjs.map +1 -0
  11. package/dist/avatar-tDyHgFSE.js +2 -0
  12. package/dist/avatar-tDyHgFSE.js.map +1 -0
  13. package/dist/badge-CsDmp3ys.cjs +2 -0
  14. package/dist/badge-CsDmp3ys.cjs.map +1 -0
  15. package/dist/badge-D_B2LoLK.js +2 -0
  16. package/dist/badge-D_B2LoLK.js.map +1 -0
  17. package/dist/button-BSQjtXgG.cjs +2 -0
  18. package/dist/button-BSQjtXgG.cjs.map +1 -0
  19. package/dist/button-BbkiANe7.d.cts +57 -0
  20. package/dist/button-JfBXhS8S.d.ts +57 -0
  21. package/dist/button-ZBnX9IoC.js +2 -0
  22. package/dist/button-ZBnX9IoC.js.map +1 -0
  23. package/dist/button.variants-D-o2smvP.js +2 -0
  24. package/dist/button.variants-D-o2smvP.js.map +1 -0
  25. package/dist/button.variants-D1vkzrn1.cjs +2 -0
  26. package/dist/button.variants-D1vkzrn1.cjs.map +1 -0
  27. package/dist/calendar-C24Sq5nU.cjs +2 -0
  28. package/dist/calendar-C24Sq5nU.cjs.map +1 -0
  29. package/dist/calendar-oeosoy2_.js +2 -0
  30. package/dist/calendar-oeosoy2_.js.map +1 -0
  31. package/dist/card-BTXXktN5.cjs +2 -0
  32. package/dist/card-BTXXktN5.cjs.map +1 -0
  33. package/dist/card-Ck4l6oKk.js +2 -0
  34. package/dist/card-Ck4l6oKk.js.map +1 -0
  35. package/dist/cards/grid-product-card-B5Frm__6.d.ts +14 -0
  36. package/dist/cards/grid-product-card-ByoooSvb.d.cts +14 -0
  37. package/dist/cards/grid-product-card.cjs +1 -1
  38. package/dist/cards/grid-product-card.cjs.map +1 -1
  39. package/dist/cards/grid-product-card.js +1 -1
  40. package/dist/cards/product-card-BfYUMXyG.d.cts +14 -0
  41. package/dist/cards/product-card-PDm2RvPF.d.ts +14 -0
  42. package/dist/cards/product-card.cjs +1 -1
  43. package/dist/cards/product-card.cjs.map +1 -1
  44. package/dist/cards/product-card.js +1 -1
  45. package/dist/cards/simple-card-CVRBXeN9.d.cts +19 -0
  46. package/dist/cards/simple-card-DKnjINAk.d.ts +19 -0
  47. package/dist/cards/simple-card.cjs +1 -1
  48. package/dist/cards/simple-card.cjs.map +1 -1
  49. package/dist/cards/simple-card.js +1 -1
  50. package/dist/command-B2WOEAng.cjs +2 -0
  51. package/dist/command-B2WOEAng.cjs.map +1 -0
  52. package/dist/command-BCjoeG8s.js +2 -0
  53. package/dist/command-BCjoeG8s.js.map +1 -0
  54. package/dist/command-DZxI4Pa6.d.cts +52 -0
  55. package/dist/command-DyyFZbxT.d.ts +52 -0
  56. package/dist/data-display/country-BYHNk6tk.d.cts +10 -0
  57. package/dist/data-display/country-_GXKX4g8.d.ts +10 -0
  58. package/dist/data-display/country.cjs +1 -1
  59. package/dist/data-display/country.cjs.map +1 -1
  60. package/dist/data-display/country.js +1 -1
  61. package/dist/data-display/data-list-CspR0F32.d.ts +14 -0
  62. package/dist/data-display/data-list-DBOj-HTO.d.cts +14 -0
  63. package/dist/data-display/data-list.cjs +1 -1
  64. package/dist/data-display/data-list.cjs.map +1 -1
  65. package/dist/data-display/data-list.js +1 -1
  66. package/dist/data-display/date-8KQZC2cQ.d.ts +13 -0
  67. package/dist/data-display/date-KuD1OzYN.d.cts +13 -0
  68. package/dist/data-display/date-tooltip-BHkZwZMS.d.cts +8 -0
  69. package/dist/data-display/date-tooltip-pm6R94-T.d.ts +8 -0
  70. package/dist/data-display/date-tooltip.cjs +1 -1
  71. package/dist/data-display/date-tooltip.cjs.map +1 -1
  72. package/dist/data-display/date-tooltip.js +1 -1
  73. package/dist/data-display/date.cjs +1 -1
  74. package/dist/data-display/date.js +1 -1
  75. package/dist/data-display/empty-D3bUdh01.d.cts +7 -0
  76. package/dist/data-display/empty-DjeAODSS.d.ts +7 -0
  77. package/dist/data-display/empty.cjs +1 -1
  78. package/dist/data-display/empty.cjs.map +1 -1
  79. package/dist/data-display/empty.js +1 -1
  80. package/dist/data-display/name-Bib8Pvu6.d.cts +8 -0
  81. package/dist/data-display/name-D0yG82YJ.d.ts +8 -0
  82. package/dist/data-display/name.cjs +1 -1
  83. package/dist/data-display/name.cjs.map +1 -1
  84. package/dist/data-display/name.js +1 -1
  85. package/dist/data-display/phone-number-BctT7tH8.d.cts +7 -0
  86. package/dist/data-display/phone-number-DXwmaiFN.d.ts +7 -0
  87. package/dist/data-display/phone-number.cjs +1 -1
  88. package/dist/data-display/phone-number.cjs.map +1 -1
  89. package/dist/data-display/phone-number.js +1 -1
  90. package/dist/data-display/role-badge-B5xfIlWd.d.ts +10 -0
  91. package/dist/data-display/role-badge-C78jhIvm.d.cts +10 -0
  92. package/dist/data-display/role-badge.cjs +1 -1
  93. package/dist/data-display/role-badge.cjs.map +1 -1
  94. package/dist/data-display/role-badge.js +1 -1
  95. package/dist/data-display/statistic-BLbOY2yr.d.cts +29 -0
  96. package/dist/data-display/statistic-MqEF3ivy.d.ts +29 -0
  97. package/dist/data-display/statistic.cjs +1 -1
  98. package/dist/data-display/statistic.cjs.map +1 -1
  99. package/dist/data-display/statistic.js +1 -1
  100. package/dist/data-display/user-DkUbJkrj.d.ts +10 -0
  101. package/dist/data-display/user-hrG7NvFN.d.cts +10 -0
  102. package/dist/data-display/user.cjs +1 -1
  103. package/dist/data-display/user.cjs.map +1 -1
  104. package/dist/data-display/user.js +1 -1
  105. package/dist/date-CbkR0dCB.js +2 -0
  106. package/dist/date-CbkR0dCB.js.map +1 -0
  107. package/dist/date-Dz80x-53.cjs +2 -0
  108. package/dist/date-Dz80x-53.cjs.map +1 -0
  109. package/dist/dialog-BCTtbzAr.d.cts +47 -0
  110. package/dist/dialog-BXrkkvSS.js +2 -0
  111. package/dist/dialog-BXrkkvSS.js.map +1 -0
  112. package/dist/dialog-BZSD5ydg.cjs +2 -0
  113. package/dist/dialog-BZSD5ydg.cjs.map +1 -0
  114. package/dist/dialog-D_8kRwFp.d.ts +47 -0
  115. package/dist/dialogs/confirm-dialog-BrOSNnfe.d.cts +13 -0
  116. package/dist/dialogs/confirm-dialog-CzoZOt80.d.ts +13 -0
  117. package/dist/dialogs/confirm-dialog.cjs +1 -1
  118. package/dist/dialogs/confirm-dialog.cjs.map +1 -1
  119. package/dist/dialogs/confirm-dialog.js +1 -1
  120. package/dist/dialogs/detail-dialog/component/sidebar-CgDFEUVc.d.cts +166 -0
  121. package/dist/dialogs/detail-dialog/component/sidebar-CnKcGoh8.d.ts +166 -0
  122. package/dist/dialogs/detail-dialog/component/sidebar.cjs +1 -1
  123. package/dist/dialogs/detail-dialog/component/sidebar.js +1 -1
  124. package/dist/dialogs/detail-dialog/index-DUv0SyRJ.d.cts +15 -0
  125. package/dist/dialogs/detail-dialog/index-OXNNdo2B.d.ts +15 -0
  126. package/dist/dialogs/detail-dialog/index.cjs +1 -1
  127. package/dist/dialogs/detail-dialog/index.cjs.map +1 -1
  128. package/dist/dialogs/detail-dialog/index.js +1 -1
  129. package/dist/dialogs/error-dialog-BuNrr8ic.d.ts +11 -0
  130. package/dist/dialogs/error-dialog-C-8wDD4X.d.cts +11 -0
  131. package/dist/dialogs/error-dialog.cjs +1 -1
  132. package/dist/dialogs/error-dialog.js +1 -1
  133. package/dist/dialogs/form-dialog-BTxTvOiO.d.ts +36 -0
  134. package/dist/dialogs/form-dialog-CDcPTYVv.d.cts +36 -0
  135. package/dist/dialogs/form-dialog.cjs +1 -1
  136. package/dist/dialogs/form-dialog.cjs.map +1 -1
  137. package/dist/dialogs/form-dialog.js +1 -1
  138. package/dist/dialogs/loading-dialog-CbQWABfw.d.cts +9 -0
  139. package/dist/dialogs/loading-dialog-DhOGwwTu.d.ts +9 -0
  140. package/dist/dialogs/loading-dialog.cjs +1 -1
  141. package/dist/dialogs/loading-dialog.cjs.map +1 -1
  142. package/dist/dialogs/loading-dialog.js +1 -1
  143. package/dist/dist--0WptDez.js +2 -0
  144. package/dist/dist--0WptDez.js.map +1 -0
  145. package/dist/dist-Dh8WwRa8.cjs +2 -0
  146. package/dist/dist-Dh8WwRa8.cjs.map +1 -0
  147. package/dist/drawer-DNrra8fs.js +2 -0
  148. package/dist/drawer-DNrra8fs.js.map +1 -0
  149. package/dist/drawer-y-Yrqskp.cjs +2 -0
  150. package/dist/drawer-y-Yrqskp.cjs.map +1 -0
  151. package/dist/dropdown-menu-B9JJkec-.cjs +2 -0
  152. package/dist/dropdown-menu-B9JJkec-.cjs.map +1 -0
  153. package/dist/dropdown-menu-qHCOowOI.js +2 -0
  154. package/dist/dropdown-menu-qHCOowOI.js.map +1 -0
  155. package/dist/error-dialog-BHrA5oTT.cjs +2 -0
  156. package/dist/error-dialog-BHrA5oTT.cjs.map +1 -0
  157. package/dist/error-dialog-CfTV_hxv.js +2 -0
  158. package/dist/error-dialog-CfTV_hxv.js.map +1 -0
  159. package/dist/features/search-modal/index-C3jjlFbY.d.ts +7 -0
  160. package/dist/features/search-modal/index-Ceax4rcS.d.cts +7 -0
  161. package/dist/features/search-modal/index.cjs +1 -1
  162. package/dist/features/search-modal/index.cjs.map +1 -1
  163. package/dist/features/search-modal/index.js +1 -1
  164. package/dist/field-CBs15wFj.js +2 -0
  165. package/dist/field-CBs15wFj.js.map +1 -0
  166. package/dist/field-Cjpwx_6d.cjs +2 -0
  167. package/dist/field-Cjpwx_6d.cjs.map +1 -0
  168. package/dist/flex-CKdTJVZS.cjs +2 -0
  169. package/dist/flex-CKdTJVZS.cjs.map +1 -0
  170. package/dist/flex-R1TY6P_u.js +2 -0
  171. package/dist/flex-R1TY6P_u.js.map +1 -0
  172. package/dist/form-D1gfOYhk.cjs +2 -0
  173. package/dist/form-D1gfOYhk.cjs.map +1 -0
  174. package/dist/form-aAvu-cMF.js +2 -0
  175. package/dist/form-aAvu-cMF.js.map +1 -0
  176. package/dist/form-wrapper-BAQkwR6l.js +2 -0
  177. package/dist/form-wrapper-BAQkwR6l.js.map +1 -0
  178. package/dist/form-wrapper-CcH5-e90.cjs +2 -0
  179. package/dist/form-wrapper-CcH5-e90.cjs.map +1 -0
  180. package/dist/forms/combobox-field-BMFt4IYT.d.cts +28 -0
  181. package/dist/forms/combobox-field-CPUDwYjw.d.ts +28 -0
  182. package/dist/forms/combobox-field.cjs +1 -1
  183. package/dist/forms/combobox-field.cjs.map +1 -1
  184. package/dist/forms/combobox-field.js +1 -1
  185. package/dist/forms/date-field-BdP2mANh.d.ts +22 -0
  186. package/dist/forms/date-field-CdVOQ9Sn.d.cts +22 -0
  187. package/dist/forms/date-field.cjs +1 -1
  188. package/dist/forms/date-field.cjs.map +1 -1
  189. package/dist/forms/date-field.js +1 -1
  190. package/dist/forms/form-wrapper-BQlEb0dl.d.cts +28 -0
  191. package/dist/forms/form-wrapper-BxMo-LP1.d.ts +28 -0
  192. package/dist/forms/form-wrapper.cjs +1 -1
  193. package/dist/forms/form-wrapper.js +1 -1
  194. package/dist/forms/multi-select-field-Dx0dwgxN.d.cts +32 -0
  195. package/dist/forms/multi-select-field-t7XeuooG.d.ts +32 -0
  196. package/dist/forms/multi-select-field.cjs +1 -1
  197. package/dist/forms/multi-select-field.cjs.map +1 -1
  198. package/dist/forms/multi-select-field.js +1 -1
  199. package/dist/forms/number-field-DkOWlpDv.d.ts +30 -0
  200. package/dist/forms/number-field-Pqzrj0fp.d.cts +30 -0
  201. package/dist/forms/number-field.cjs +1 -1
  202. package/dist/forms/number-field.cjs.map +1 -1
  203. package/dist/forms/number-field.js +1 -1
  204. package/dist/forms/password-field-BD3H-sdP.d.cts +23 -0
  205. package/dist/forms/password-field-CcbDtBXK.d.ts +23 -0
  206. package/dist/forms/password-field.cjs +1 -1
  207. package/dist/forms/password-field.cjs.map +1 -1
  208. package/dist/forms/password-field.js +1 -1
  209. package/dist/forms/password-field.js.map +1 -1
  210. package/dist/forms/select-field-BxaHAx1t.d.ts +33 -0
  211. package/dist/forms/select-field-COMb69g6.d.cts +33 -0
  212. package/dist/forms/select-field.cjs +1 -1
  213. package/dist/forms/select-field.cjs.map +1 -1
  214. package/dist/forms/select-field.js +1 -1
  215. package/dist/forms/select-field.js.map +1 -1
  216. package/dist/forms/switch-field-Bh2u8Nik.d.ts +21 -0
  217. package/dist/forms/switch-field-DI0hFw7z.d.cts +21 -0
  218. package/dist/forms/switch-field.cjs +1 -1
  219. package/dist/forms/switch-field.cjs.map +1 -1
  220. package/dist/forms/switch-field.js +1 -1
  221. package/dist/forms/text-field-CVNbUPh7.d.cts +33 -0
  222. package/dist/forms/text-field-hpJxKUAP.d.ts +33 -0
  223. package/dist/forms/text-field.cjs +1 -1
  224. package/dist/forms/text-field.cjs.map +1 -1
  225. package/dist/forms/text-field.js +1 -1
  226. package/dist/forms/text-field.js.map +1 -1
  227. package/dist/forms/textarea-field-CybxNS3T.d.ts +27 -0
  228. package/dist/forms/textarea-field-RD8o07Um.d.cts +27 -0
  229. package/dist/forms/textarea-field.cjs +1 -1
  230. package/dist/forms/textarea-field.cjs.map +1 -1
  231. package/dist/forms/textarea-field.js +1 -1
  232. package/dist/image-CEpDTwsN.js +2 -0
  233. package/dist/image-CEpDTwsN.js.map +1 -0
  234. package/dist/image-Dq0ZoOjj.cjs +2 -0
  235. package/dist/image-Dq0ZoOjj.cjs.map +1 -0
  236. package/dist/input-C_Q32lFA.js +2 -0
  237. package/dist/input-C_Q32lFA.js.map +1 -0
  238. package/dist/input-D-FBvWmB.d.cts +27 -0
  239. package/dist/input-D2bPk-nW.cjs +2 -0
  240. package/dist/input-D2bPk-nW.cjs.map +1 -0
  241. package/dist/input-DuCwdqWK.d.ts +27 -0
  242. package/dist/label-BfRn3Qql.d.ts +11 -0
  243. package/dist/label-CmFPDdEq.d.cts +11 -0
  244. package/dist/label-D2Kl-Q_-.cjs +2 -0
  245. package/dist/label-D2Kl-Q_-.cjs.map +1 -0
  246. package/dist/label-pQFhmWzJ.js +2 -0
  247. package/dist/label-pQFhmWzJ.js.map +1 -0
  248. package/dist/layouts/app-layout/index-Bcb8Nu3F.d.cts +183 -0
  249. package/dist/layouts/app-layout/index-DZRYPxjz.d.ts +183 -0
  250. package/dist/layouts/app-layout/index.cjs +1 -1
  251. package/dist/layouts/app-layout/index.cjs.map +1 -1
  252. package/dist/layouts/app-layout/index.js +1 -1
  253. package/dist/layouts/app-layout/index.js.map +1 -1
  254. package/dist/layouts/flex-BvwZ8su7.d.ts +34 -0
  255. package/dist/layouts/flex-JNIrQtt3.d.cts +34 -0
  256. package/dist/layouts/flex.cjs +1 -1
  257. package/dist/layouts/flex.js +1 -1
  258. package/dist/layouts/grid-By7Mu7V3.d.cts +5 -0
  259. package/dist/layouts/grid-Dtbwq2B1.d.ts +5 -0
  260. package/dist/layouts/grid.cjs +1 -1
  261. package/dist/layouts/grid.cjs.map +1 -1
  262. package/dist/layouts/service-layout/index-BwMRbGpa.d.cts +132 -0
  263. package/dist/layouts/service-layout/index-CqHU1RtD.d.ts +133 -0
  264. package/dist/layouts/service-layout/index.cjs +1 -1
  265. package/dist/layouts/service-layout/index.cjs.map +1 -1
  266. package/dist/layouts/service-layout/index.js +1 -1
  267. package/dist/layouts/service-layout/index.js.map +1 -1
  268. package/dist/multi-select-D4OhB1ZU.js +2 -0
  269. package/dist/multi-select-D4OhB1ZU.js.map +1 -0
  270. package/dist/multi-select-watyeXb-.cjs +2 -0
  271. package/dist/multi-select-watyeXb-.cjs.map +1 -0
  272. package/dist/number-input-DIUM0vxv.cjs +2 -0
  273. package/dist/number-input-DIUM0vxv.cjs.map +1 -0
  274. package/dist/number-input-DcqwSq0c.js +2 -0
  275. package/dist/number-input-DcqwSq0c.js.map +1 -0
  276. package/dist/pages/FeatureDeveloping-BijWv6j-.d.cts +25 -0
  277. package/dist/pages/FeatureDeveloping-E9iRPoBN.d.ts +25 -0
  278. package/dist/pages/FeatureDeveloping.cjs +1 -1
  279. package/dist/pages/FeatureDeveloping.cjs.map +1 -1
  280. package/dist/pages/FeatureDeveloping.js +1 -1
  281. package/dist/pages/FeatureFixing-DmSdxGWn.d.ts +25 -0
  282. package/dist/pages/FeatureFixing-Dzwhnb7v.d.cts +25 -0
  283. package/dist/pages/FeatureFixing.cjs +1 -1
  284. package/dist/pages/FeatureFixing.cjs.map +1 -1
  285. package/dist/pages/FeatureFixing.js +1 -1
  286. package/dist/pages/NotAuthorized-Br-WL8xt.d.ts +25 -0
  287. package/dist/pages/NotAuthorized-CLVM_Pk4.d.cts +25 -0
  288. package/dist/pages/NotAuthorized.cjs +1 -1
  289. package/dist/pages/NotAuthorized.cjs.map +1 -1
  290. package/dist/pages/NotAuthorized.js +1 -1
  291. package/dist/pages/NotFound-Dnk8YYjS.d.cts +25 -0
  292. package/dist/pages/NotFound-QoHzegW0.d.ts +25 -0
  293. package/dist/pages/NotFound.cjs +1 -1
  294. package/dist/pages/NotFound.cjs.map +1 -1
  295. package/dist/pages/NotFound.js +1 -1
  296. package/dist/paragraph-DK9X31Fr.cjs +2 -0
  297. package/dist/paragraph-DK9X31Fr.cjs.map +1 -0
  298. package/dist/paragraph-eZ-12KwF.js +2 -0
  299. package/dist/paragraph-eZ-12KwF.js.map +1 -0
  300. package/dist/popover-Bn3M2SCp.cjs +2 -0
  301. package/dist/popover-Bn3M2SCp.cjs.map +1 -0
  302. package/dist/popover-Bx80nsDv.js +2 -0
  303. package/dist/popover-Bx80nsDv.js.map +1 -0
  304. package/dist/products/add-cart-button-Bwrc_fze.d.cts +48 -0
  305. package/dist/products/add-cart-button-DLWyva1x.d.ts +48 -0
  306. package/dist/products/add-cart-button.cjs +1 -1
  307. package/dist/products/add-cart-button.cjs.map +1 -1
  308. package/dist/products/add-cart-button.js +1 -1
  309. package/dist/products/product-loading-page-Ctt1379M.d.cts +9 -0
  310. package/dist/products/product-loading-page-LDF6Lha5.d.ts +9 -0
  311. package/dist/products/product-loading-page.cjs +1 -1
  312. package/dist/products/product-loading-page.cjs.map +1 -1
  313. package/dist/products/product-loading-page.js +1 -1
  314. package/dist/products/product-quantity-control-BRHt_pHO.d.ts +50 -0
  315. package/dist/products/product-quantity-control-DCZvHHyS.d.cts +50 -0
  316. package/dist/products/product-quantity-control.cjs +1 -1
  317. package/dist/products/product-quantity-control.cjs.map +1 -1
  318. package/dist/products/product-quantity-control.js +1 -1
  319. package/dist/progress-BvFZ5L8e.cjs +2 -0
  320. package/dist/progress-BvFZ5L8e.cjs.map +1 -0
  321. package/dist/progress-qP8KLube.js +2 -0
  322. package/dist/progress-qP8KLube.js.map +1 -0
  323. package/dist/radio-group-CvZi9_lP.js +2 -0
  324. package/dist/radio-group-CvZi9_lP.js.map +1 -0
  325. package/dist/radio-group-DUdeuruf.cjs +2 -0
  326. package/dist/radio-group-DUdeuruf.cjs.map +1 -0
  327. package/dist/refresh-BeyJ1P13.cjs +2 -0
  328. package/dist/refresh-BeyJ1P13.cjs.map +1 -0
  329. package/dist/refresh-OzE8Rb0x.js +2 -0
  330. package/dist/refresh-OzE8Rb0x.js.map +1 -0
  331. package/dist/scroll-area-CySh6HoN.cjs +2 -0
  332. package/dist/scroll-area-CySh6HoN.cjs.map +1 -0
  333. package/dist/scroll-area-QDEzN1IP.js +2 -0
  334. package/dist/scroll-area-QDEzN1IP.js.map +1 -0
  335. package/dist/search-input-Cmmd1e6l.js +2 -0
  336. package/dist/search-input-Cmmd1e6l.js.map +1 -0
  337. package/dist/search-input-TjDtryHg.cjs +2 -0
  338. package/dist/search-input-TjDtryHg.cjs.map +1 -0
  339. package/dist/select-C3ZceYuJ.js +2 -0
  340. package/dist/select-C3ZceYuJ.js.map +1 -0
  341. package/dist/select-ZQ1jEKyy.cjs +2 -0
  342. package/dist/select-ZQ1jEKyy.cjs.map +1 -0
  343. package/dist/separator-BiWVSkav.d.cts +13 -0
  344. package/dist/separator-C5n1VZdA.d.ts +13 -0
  345. package/dist/separator-D3CGKwyf.cjs +2 -0
  346. package/dist/separator-D3CGKwyf.cjs.map +1 -0
  347. package/dist/separator-udZphpLE.js +2 -0
  348. package/dist/separator-udZphpLE.js.map +1 -0
  349. package/dist/sheet-BN9i47xq.js +2 -0
  350. package/dist/sheet-BN9i47xq.js.map +1 -0
  351. package/dist/sheet-jjZlJ8ub.cjs +2 -0
  352. package/dist/sheet-jjZlJ8ub.cjs.map +1 -0
  353. package/dist/sidebar-CK1oTTs9.cjs +2 -0
  354. package/dist/sidebar-CK1oTTs9.cjs.map +1 -0
  355. package/dist/sidebar-Q_b7EMDf.js +2 -0
  356. package/dist/sidebar-Q_b7EMDf.js.map +1 -0
  357. package/dist/skeleton-C4suljHP.cjs +2 -0
  358. package/dist/skeleton-C4suljHP.cjs.map +1 -0
  359. package/dist/skeleton-CDtN_I2p.js +2 -0
  360. package/dist/skeleton-CDtN_I2p.js.map +1 -0
  361. package/dist/switch-CF9mKsGi.cjs +2 -0
  362. package/dist/switch-CF9mKsGi.cjs.map +1 -0
  363. package/dist/switch-DY634XAU.js +2 -0
  364. package/dist/switch-DY634XAU.js.map +1 -0
  365. package/dist/systems/google-CNaq5f21.d.ts +17 -0
  366. package/dist/systems/google-D1FcGbWQ.d.cts +17 -0
  367. package/dist/systems/google.cjs +1 -1
  368. package/dist/systems/google.cjs.map +1 -1
  369. package/dist/table/index-BHYQJuIu.d.ts +31 -0
  370. package/dist/table/index-C3CzG1Js.d.cts +31 -0
  371. package/dist/table/index.cjs +1 -1
  372. package/dist/table/index.cjs.map +1 -1
  373. package/dist/table/index.js +1 -1
  374. package/dist/table/index.js.map +1 -1
  375. package/dist/table-_gxbUUnS.cjs +2 -0
  376. package/dist/table-_gxbUUnS.cjs.map +1 -0
  377. package/dist/table-sl_SP-Hu.js +2 -0
  378. package/dist/table-sl_SP-Hu.js.map +1 -0
  379. package/dist/tabs-B304bCae.cjs +2 -0
  380. package/dist/tabs-B304bCae.cjs.map +1 -0
  381. package/dist/tabs-Bf5HmaR0.js +2 -0
  382. package/dist/tabs-Bf5HmaR0.js.map +1 -0
  383. package/dist/tanstack-form/index-BFQmxDFT.d.ts +105 -0
  384. package/dist/tanstack-form/index-rXRY6-uR.d.cts +105 -0
  385. package/dist/tanstack-form/index.cjs +1 -1
  386. package/dist/tanstack-form/index.cjs.map +1 -1
  387. package/dist/tanstack-form/index.js +1 -1
  388. package/dist/tanstack-form/index.js.map +1 -1
  389. package/dist/textarea-CGM_TA39.js +2 -0
  390. package/dist/textarea-CGM_TA39.js.map +1 -0
  391. package/dist/textarea-isVIS6NP.cjs +2 -0
  392. package/dist/textarea-isVIS6NP.cjs.map +1 -0
  393. package/dist/title-B8K5-HgX.js +2 -0
  394. package/dist/title-B8K5-HgX.js.map +1 -0
  395. package/dist/title-DEHZP3em.cjs +2 -0
  396. package/dist/title-DEHZP3em.cjs.map +1 -0
  397. package/dist/toggle-ByrhIIse.d.cts +19 -0
  398. package/dist/toggle-BzWSt1Ml.js +2 -0
  399. package/dist/toggle-BzWSt1Ml.js.map +1 -0
  400. package/dist/toggle-Ct5lXANx.d.ts +19 -0
  401. package/dist/toggle-CvwbDli7.cjs +2 -0
  402. package/dist/toggle-CvwbDli7.cjs.map +1 -0
  403. package/dist/tooltip-T_bqZKJO.d.cts +23 -0
  404. package/dist/tooltip-Zq1AHrju.d.ts +23 -0
  405. package/dist/tooltip-ceiBtqIu.js +2 -0
  406. package/dist/tooltip-ceiBtqIu.js.map +1 -0
  407. package/dist/tooltip-zYWazsY5.cjs +2 -0
  408. package/dist/tooltip-zYWazsY5.cjs.map +1 -0
  409. package/dist/types-BgCPfa9k.cjs +2 -0
  410. package/dist/types-BgCPfa9k.cjs.map +1 -0
  411. package/dist/types-Cs9ZDj_X.d.ts +23 -0
  412. package/dist/types-DzqAikVI.d.cts +23 -0
  413. package/dist/types-hKBsaFz_.js +2 -0
  414. package/dist/types-hKBsaFz_.js.map +1 -0
  415. package/dist/typography/paragraph-B-HIojCt.d.ts +16 -0
  416. package/dist/typography/paragraph-ZQaopG1m.d.cts +16 -0
  417. package/dist/typography/paragraph.cjs +1 -1
  418. package/dist/typography/paragraph.js +1 -1
  419. package/dist/typography/title-BcPzTkhN.d.ts +16 -0
  420. package/dist/typography/title-BkROeF91.d.cts +16 -0
  421. package/dist/typography/title.cjs +1 -1
  422. package/dist/typography/title.js +1 -1
  423. package/dist/ui/alert-BjLlLbKA.d.ts +69 -0
  424. package/dist/ui/alert-C6Flqdmd.d.cts +69 -0
  425. package/dist/ui/alert-dialog-BWC2oh0L.d.cts +48 -0
  426. package/dist/ui/alert-dialog-CHJKfkFv.d.ts +48 -0
  427. package/dist/ui/alert-dialog.cjs +1 -1
  428. package/dist/ui/alert-dialog.js +1 -1
  429. package/dist/ui/alert.cjs +1 -1
  430. package/dist/ui/alert.cjs.map +1 -1
  431. package/dist/ui/alert.js +1 -1
  432. package/dist/ui/aspect-ratio-COocBO3U.d.cts +11 -0
  433. package/dist/ui/aspect-ratio-XXFA4iGf.d.ts +11 -0
  434. package/dist/ui/aspect-ratio.cjs +1 -1
  435. package/dist/ui/aspect-ratio.cjs.map +1 -1
  436. package/dist/ui/avatar-BoBmEuwG.d.ts +19 -0
  437. package/dist/ui/avatar-CI41m6Kz.d.cts +19 -0
  438. package/dist/ui/avatar.cjs +1 -1
  439. package/dist/ui/avatar.js +1 -1
  440. package/dist/ui/badge-B31Y0rPm.d.cts +21 -0
  441. package/dist/ui/badge-BHwUT_A9.d.ts +21 -0
  442. package/dist/ui/badge.cjs +1 -1
  443. package/dist/ui/badge.js +1 -1
  444. package/dist/ui/breadcrumb-BuQ6UXex.d.ts +59 -0
  445. package/dist/ui/breadcrumb-DeEwAnPG.d.cts +59 -0
  446. package/dist/ui/breadcrumb.cjs +1 -1
  447. package/dist/ui/breadcrumb.cjs.map +1 -1
  448. package/dist/ui/breadcrumb.js +1 -1
  449. package/dist/ui/button-Bjy1SkXh.d.cts +2 -0
  450. package/dist/ui/button-ClfZJDWI.d.ts +2 -0
  451. package/dist/ui/button-group-8r6t_SNQ.d.cts +29 -0
  452. package/dist/ui/button-group-D7G1n3xn.d.ts +29 -0
  453. package/dist/ui/button-group.cjs +1 -1
  454. package/dist/ui/button-group.cjs.map +1 -1
  455. package/dist/ui/button-group.js +1 -1
  456. package/dist/ui/button-group.js.map +1 -1
  457. package/dist/ui/button.cjs +1 -1
  458. package/dist/ui/button.js +1 -1
  459. package/dist/ui/buttons/add-new-CfzBs6gq.d.ts +8 -0
  460. package/dist/ui/buttons/add-new-D9-Jr8c4.d.cts +8 -0
  461. package/dist/ui/buttons/add-new.cjs +1 -1
  462. package/dist/ui/buttons/add-new.js +1 -1
  463. package/dist/ui/buttons/edit-D-F5TXGT.d.ts +8 -0
  464. package/dist/ui/buttons/edit-Dq_gpd-N.d.cts +8 -0
  465. package/dist/ui/buttons/edit.cjs +1 -1
  466. package/dist/ui/buttons/edit.cjs.map +1 -1
  467. package/dist/ui/buttons/edit.js +1 -1
  468. package/dist/ui/buttons/refresh-BDZtp0q0.d.cts +8 -0
  469. package/dist/ui/buttons/refresh-DGGaCTEs.d.ts +8 -0
  470. package/dist/ui/buttons/refresh.cjs +1 -1
  471. package/dist/ui/buttons/refresh.js +1 -1
  472. package/dist/ui/buttons/trash-CKtCS2E3.d.cts +8 -0
  473. package/dist/ui/buttons/trash-FI_wppX3.d.ts +8 -0
  474. package/dist/ui/buttons/trash.cjs +1 -1
  475. package/dist/ui/buttons/trash.cjs.map +1 -1
  476. package/dist/ui/buttons/trash.js +1 -1
  477. package/dist/ui/buttons/upload-image-CroZz-TA.d.ts +11 -0
  478. package/dist/ui/buttons/upload-image-DhOzs8WM.d.cts +11 -0
  479. package/dist/ui/buttons/upload-image.cjs +1 -1
  480. package/dist/ui/buttons/upload-image.cjs.map +1 -1
  481. package/dist/ui/buttons/upload-image.js +1 -1
  482. package/dist/ui/calendar-0lTJmr8_.d.cts +27 -0
  483. package/dist/ui/calendar-C3C98Nm8.d.ts +27 -0
  484. package/dist/ui/calendar.cjs +1 -1
  485. package/dist/ui/calendar.js +1 -1
  486. package/dist/ui/card-0tRpxZZP.d.ts +34 -0
  487. package/dist/ui/card-BrD4YXjy.d.cts +34 -0
  488. package/dist/ui/card.cjs +1 -1
  489. package/dist/ui/card.js +1 -1
  490. package/dist/ui/carousel-Btr75JsU.d.cts +47 -0
  491. package/dist/ui/carousel-CYli7-cf.d.ts +47 -0
  492. package/dist/ui/carousel.cjs +1 -1
  493. package/dist/ui/carousel.cjs.map +1 -1
  494. package/dist/ui/carousel.js +1 -1
  495. package/dist/ui/carousel.js.map +1 -1
  496. package/dist/ui/collapsible-DL_Fh7jy.d.ts +16 -0
  497. package/dist/ui/collapsible-dnGgBuFx.d.cts +16 -0
  498. package/dist/ui/collapsible.cjs +1 -1
  499. package/dist/ui/collapsible.cjs.map +1 -1
  500. package/dist/ui/command-DBsQW8Z7.d.cts +3 -0
  501. package/dist/ui/command-DvI5D-Ta.d.ts +3 -0
  502. package/dist/ui/command.cjs +1 -1
  503. package/dist/ui/command.js +1 -1
  504. package/dist/ui/context-menu-B4EXocMZ.d.cts +76 -0
  505. package/dist/ui/context-menu-DJ4Y6eZ8.d.ts +76 -0
  506. package/dist/ui/context-menu.cjs +1 -1
  507. package/dist/ui/context-menu.cjs.map +1 -1
  508. package/dist/ui/dialog-B9CzYmbo.d.ts +2 -0
  509. package/dist/ui/dialog-Dmn4xP_m.d.cts +2 -0
  510. package/dist/ui/dialog.cjs +1 -1
  511. package/dist/ui/dialog.js +1 -1
  512. package/dist/ui/drawer-DJBwS-M8.d.ts +44 -0
  513. package/dist/ui/drawer-QFZMLI2L.d.cts +44 -0
  514. package/dist/ui/drawer.cjs +1 -1
  515. package/dist/ui/drawer.js +1 -1
  516. package/dist/ui/dropdown-menu-BfrzYekI.d.cts +78 -0
  517. package/dist/ui/dropdown-menu-DjSEdEwx.d.ts +78 -0
  518. package/dist/ui/dropdown-menu.cjs +1 -1
  519. package/dist/ui/dropdown-menu.js +1 -1
  520. package/dist/ui/empty-CmUxd-zz.d.ts +36 -0
  521. package/dist/ui/empty-D_Ow4-VQ.d.cts +36 -0
  522. package/dist/ui/empty.cjs +1 -1
  523. package/dist/ui/empty.cjs.map +1 -1
  524. package/dist/ui/field-BVccL957.d.ts +66 -0
  525. package/dist/ui/field-Di7GMFb3.d.cts +66 -0
  526. package/dist/ui/field.cjs +1 -1
  527. package/dist/ui/field.js +1 -1
  528. package/dist/ui/file-uploader-Bw35N40m.d.ts +78 -0
  529. package/dist/ui/file-uploader-ZqGyDsj0.d.cts +78 -0
  530. package/dist/ui/file-uploader.cjs +2 -2
  531. package/dist/ui/file-uploader.cjs.map +1 -1
  532. package/dist/ui/file-uploader.js +2 -2
  533. package/dist/ui/form-BHN5xtW2.d.cts +50 -0
  534. package/dist/ui/form-Dg08kxTD.d.ts +50 -0
  535. package/dist/ui/form.cjs +1 -1
  536. package/dist/ui/form.js +1 -1
  537. package/dist/ui/hover-card-BeoLU8AF.d.ts +19 -0
  538. package/dist/ui/hover-card-joO9kbQV.d.cts +19 -0
  539. package/dist/ui/hover-card.cjs +1 -1
  540. package/dist/ui/hover-card.cjs.map +1 -1
  541. package/dist/ui/image-D3gH7LbY.d.cts +16 -0
  542. package/dist/ui/image-J2Hmt4R2.d.ts +16 -0
  543. package/dist/ui/image.cjs +1 -1
  544. package/dist/ui/image.js +1 -1
  545. package/dist/ui/input-CG7BqtL1.d.cts +2 -0
  546. package/dist/ui/input-Colppqyv.d.ts +2 -0
  547. package/dist/ui/input-otp-w8P-munP.d.ts +28 -0
  548. package/dist/ui/input-otp-wRYJjvht.d.cts +28 -0
  549. package/dist/ui/input-otp.cjs +1 -1
  550. package/dist/ui/input-otp.cjs.map +1 -1
  551. package/dist/ui/input-otp.js +1 -1
  552. package/dist/ui/input-otp.js.map +1 -1
  553. package/dist/ui/input.cjs +1 -1
  554. package/dist/ui/input.js +1 -1
  555. package/dist/ui/inputs/search-input-CpvQaftt.d.cts +12 -0
  556. package/dist/ui/inputs/search-input-D1rLAMyv.d.ts +12 -0
  557. package/dist/ui/inputs/search-input.cjs +1 -1
  558. package/dist/ui/inputs/search-input.js +1 -1
  559. package/dist/ui/item-D3Zk2d1q.d.ts +62 -0
  560. package/dist/ui/item-DYmymukh.d.cts +62 -0
  561. package/dist/ui/item.cjs +1 -1
  562. package/dist/ui/item.cjs.map +1 -1
  563. package/dist/ui/item.js +1 -1
  564. package/dist/ui/label-BsqCYYUw.d.ts +2 -0
  565. package/dist/ui/label-DM1U4RcW.d.cts +2 -0
  566. package/dist/ui/label.cjs +1 -1
  567. package/dist/ui/label.js +1 -1
  568. package/dist/ui/menubar-CH6MGVkS.d.ts +84 -0
  569. package/dist/ui/menubar-DWzPCozQ.d.cts +84 -0
  570. package/dist/ui/menubar.cjs +1 -1
  571. package/dist/ui/menubar.cjs.map +1 -1
  572. package/dist/ui/multi-select-BkPlT2m0.d.cts +81 -0
  573. package/dist/ui/multi-select-Csyoq6lc.d.ts +81 -0
  574. package/dist/ui/multi-select.cjs +1 -1
  575. package/dist/ui/multi-select.js +1 -1
  576. package/dist/ui/navigation-menu-CDXlALDv.d.ts +46 -0
  577. package/dist/ui/navigation-menu-feKRnqCj.d.cts +46 -0
  578. package/dist/ui/navigation-menu.cjs +1 -1
  579. package/dist/ui/navigation-menu.cjs.map +1 -1
  580. package/dist/ui/pagination-CsrOJ4eD.d.ts +39 -0
  581. package/dist/ui/pagination-cHxqH5v6.d.cts +39 -0
  582. package/dist/ui/pagination.cjs +1 -1
  583. package/dist/ui/pagination.cjs.map +1 -1
  584. package/dist/ui/pagination.js +1 -1
  585. package/dist/ui/pagination.js.map +1 -1
  586. package/dist/ui/popover-CC72eT_y.d.cts +22 -0
  587. package/dist/ui/popover-DlDj6bvI.d.ts +22 -0
  588. package/dist/ui/popover.cjs +1 -1
  589. package/dist/ui/popover.js +1 -1
  590. package/dist/ui/progress-Bpj6Bppj.d.cts +12 -0
  591. package/dist/ui/progress-Bx6BAoTC.d.ts +12 -0
  592. package/dist/ui/progress.cjs +1 -1
  593. package/dist/ui/progress.js +1 -1
  594. package/dist/ui/radio-group-CUZWLc-C.d.ts +15 -0
  595. package/dist/ui/radio-group-DWm8I6-R.d.cts +15 -0
  596. package/dist/ui/radio-group.cjs +1 -1
  597. package/dist/ui/radio-group.js +1 -1
  598. package/dist/ui/resizable-BWICBwit.d.ts +21 -0
  599. package/dist/ui/resizable-BslB0x4d.d.cts +21 -0
  600. package/dist/ui/resizable.cjs +1 -1
  601. package/dist/ui/resizable.cjs.map +1 -1
  602. package/dist/ui/resizable.js +1 -1
  603. package/dist/ui/resizable.js.map +1 -1
  604. package/dist/ui/scroll-area-B0yxKYGQ.d.ts +20 -0
  605. package/dist/ui/scroll-area-D5dStYkO.d.cts +20 -0
  606. package/dist/ui/scroll-area.cjs +1 -1
  607. package/dist/ui/scroll-area.js +1 -1
  608. package/dist/ui/select-C5u5ohZw.d.ts +51 -0
  609. package/dist/ui/select-ql7U8taD.d.cts +51 -0
  610. package/dist/ui/select.cjs +1 -1
  611. package/dist/ui/select.js +1 -1
  612. package/dist/ui/separator-BnVnFHkj.d.cts +2 -0
  613. package/dist/ui/separator-BoriHqoB.d.ts +2 -0
  614. package/dist/ui/separator.cjs +1 -1
  615. package/dist/ui/separator.js +1 -1
  616. package/dist/ui/sheet-Bwm5GbAL.d.cts +40 -0
  617. package/dist/ui/sheet-Dyq_celC.d.ts +40 -0
  618. package/dist/ui/sheet.cjs +1 -1
  619. package/dist/ui/sheet.js +1 -1
  620. package/dist/ui/sidebar-CJB6QJDH.d.ts +167 -0
  621. package/dist/ui/sidebar-Mmo4_iZk.d.cts +167 -0
  622. package/dist/ui/sidebar.cjs +1 -1
  623. package/dist/ui/sidebar.cjs.map +1 -1
  624. package/dist/ui/sidebar.js +1 -1
  625. package/dist/ui/sidebar.js.map +1 -1
  626. package/dist/ui/skeleton-CMHr3Niy.d.ts +10 -0
  627. package/dist/ui/skeleton-Dp0hvzjp.d.cts +10 -0
  628. package/dist/ui/skeleton.cjs +1 -1
  629. package/dist/ui/skeleton.js +1 -1
  630. package/dist/ui/slider-BFAY3uLF.d.ts +15 -0
  631. package/dist/ui/slider-DIaLtDWB.d.cts +15 -0
  632. package/dist/ui/slider.cjs +1 -1
  633. package/dist/ui/slider.cjs.map +1 -1
  634. package/dist/ui/slider.js +1 -1
  635. package/dist/ui/sonner-4SacS79f.d.cts +7 -0
  636. package/dist/ui/sonner-CQrtdGp-.d.ts +7 -0
  637. package/dist/ui/sonner.cjs +1 -1
  638. package/dist/ui/sonner.cjs.map +1 -1
  639. package/dist/ui/spinner-CgY4RNLL.d.cts +10 -0
  640. package/dist/ui/spinner-DDKoiWFW.d.ts +10 -0
  641. package/dist/ui/spinner.cjs +1 -1
  642. package/dist/ui/spinner.cjs.map +1 -1
  643. package/dist/ui/switch-GnZapvE8.d.cts +11 -0
  644. package/dist/ui/switch-QHfG4xL1.d.ts +11 -0
  645. package/dist/ui/switch.cjs +1 -1
  646. package/dist/ui/switch.js +1 -1
  647. package/dist/ui/table-CeWLApyv.d.ts +39 -0
  648. package/dist/ui/table-P66zfe5g.d.cts +39 -0
  649. package/dist/ui/table.cjs +1 -1
  650. package/dist/ui/table.js +1 -1
  651. package/dist/ui/tabs-Ba1llYpk.d.ts +23 -0
  652. package/dist/ui/tabs-DTNhUoJT.d.cts +23 -0
  653. package/dist/ui/tabs.cjs +1 -1
  654. package/dist/ui/tabs.js +1 -1
  655. package/dist/ui/textarea-C0BuTmdJ.d.ts +14 -0
  656. package/dist/ui/textarea-Lxs8H-hn.d.cts +14 -0
  657. package/dist/ui/textarea.cjs +1 -1
  658. package/dist/ui/textarea.js +1 -1
  659. package/dist/ui/toggle-BtGKbTVi.d.cts +2 -0
  660. package/dist/ui/toggle-CJXHmt1o.d.ts +2 -0
  661. package/dist/ui/toggle-group-BTF55Wfp.d.cts +23 -0
  662. package/dist/ui/toggle-group-CE2djXp1.d.ts +23 -0
  663. package/dist/ui/toggle-group.cjs +1 -1
  664. package/dist/ui/toggle-group.cjs.map +1 -1
  665. package/dist/ui/toggle-group.js +1 -1
  666. package/dist/ui/toggle-group.js.map +1 -1
  667. package/dist/ui/toggle.cjs +1 -1
  668. package/dist/ui/toggle.js +1 -1
  669. package/dist/ui/tooltip-BsI2jc5a.d.cts +2 -0
  670. package/dist/ui/tooltip-C-TQBAqW.d.ts +2 -0
  671. package/dist/ui/tooltip.cjs +1 -1
  672. package/dist/ui/tooltip.js +1 -1
  673. package/package.json +15 -10
  674. package/styles/base.css +0 -3
  675. package/styles/theme.css +25 -13
  676. package/dist/add-new-Ba_59G-R.cjs +0 -2
  677. package/dist/add-new-Ba_59G-R.cjs.map +0 -1
  678. package/dist/add-new-D1tUIn0B.js +0 -2
  679. package/dist/add-new-D1tUIn0B.js.map +0 -1
  680. package/dist/alert-dialog-Cblv2aDd.js +0 -2
  681. package/dist/alert-dialog-Cblv2aDd.js.map +0 -1
  682. package/dist/alert-dialog-G8BofEhu.cjs +0 -2
  683. package/dist/alert-dialog-G8BofEhu.cjs.map +0 -1
  684. package/dist/avatar-COzsr2Pm.js +0 -2
  685. package/dist/avatar-COzsr2Pm.js.map +0 -1
  686. package/dist/avatar-CssLCe-L.cjs +0 -2
  687. package/dist/avatar-CssLCe-L.cjs.map +0 -1
  688. package/dist/badge-MFLqzjPS.cjs +0 -2
  689. package/dist/badge-MFLqzjPS.cjs.map +0 -1
  690. package/dist/badge-Zf7wUKPD.js +0 -2
  691. package/dist/badge-Zf7wUKPD.js.map +0 -1
  692. package/dist/button-BKgDCyHZ.cjs +0 -2
  693. package/dist/button-BKgDCyHZ.cjs.map +0 -1
  694. package/dist/button-DT2zgZfZ.d.cts +0 -56
  695. package/dist/button-dQ8MuLKP.js +0 -2
  696. package/dist/button-dQ8MuLKP.js.map +0 -1
  697. package/dist/button-tUVN-gcp.d.ts +0 -56
  698. package/dist/button-variants-BebiEdiS.cjs +0 -2
  699. package/dist/button-variants-BebiEdiS.cjs.map +0 -1
  700. package/dist/button-variants-D1PJJEST.js +0 -2
  701. package/dist/button-variants-D1PJJEST.js.map +0 -1
  702. package/dist/calendar-BuO7PEUW.js +0 -2
  703. package/dist/calendar-BuO7PEUW.js.map +0 -1
  704. package/dist/calendar-CIpIXTqX.cjs +0 -2
  705. package/dist/calendar-CIpIXTqX.cjs.map +0 -1
  706. package/dist/card-k3r3Jp5I.js +0 -2
  707. package/dist/card-k3r3Jp5I.js.map +0 -1
  708. package/dist/card-yhGgMiTX.cjs +0 -2
  709. package/dist/card-yhGgMiTX.cjs.map +0 -1
  710. package/dist/cards/grid-product-card.d.cts +0 -14
  711. package/dist/cards/grid-product-card.d.ts +0 -14
  712. package/dist/cards/product-card.d.cts +0 -14
  713. package/dist/cards/product-card.d.ts +0 -14
  714. package/dist/cards/simple-card.d.cts +0 -19
  715. package/dist/cards/simple-card.d.ts +0 -19
  716. package/dist/command-D6cWtNo8.js +0 -2
  717. package/dist/command-D6cWtNo8.js.map +0 -1
  718. package/dist/command-DCPdMqqD.d.cts +0 -52
  719. package/dist/command-Dg7FupyW.cjs +0 -2
  720. package/dist/command-Dg7FupyW.cjs.map +0 -1
  721. package/dist/command-sBi1Usig.d.ts +0 -52
  722. package/dist/data-display/country.d.cts +0 -10
  723. package/dist/data-display/country.d.ts +0 -10
  724. package/dist/data-display/data-list.d.cts +0 -14
  725. package/dist/data-display/data-list.d.ts +0 -14
  726. package/dist/data-display/date-tooltip.d.cts +0 -8
  727. package/dist/data-display/date-tooltip.d.ts +0 -8
  728. package/dist/data-display/date.d.cts +0 -13
  729. package/dist/data-display/date.d.ts +0 -13
  730. package/dist/data-display/empty.d.cts +0 -7
  731. package/dist/data-display/empty.d.ts +0 -7
  732. package/dist/data-display/name.d.cts +0 -8
  733. package/dist/data-display/name.d.ts +0 -8
  734. package/dist/data-display/phone-number.d.cts +0 -7
  735. package/dist/data-display/phone-number.d.ts +0 -7
  736. package/dist/data-display/role-badge.d.cts +0 -10
  737. package/dist/data-display/role-badge.d.ts +0 -10
  738. package/dist/data-display/statistic.d.cts +0 -29
  739. package/dist/data-display/statistic.d.ts +0 -29
  740. package/dist/data-display/user.d.cts +0 -10
  741. package/dist/data-display/user.d.ts +0 -10
  742. package/dist/date-CbZskk0Z.js +0 -2
  743. package/dist/date-CbZskk0Z.js.map +0 -1
  744. package/dist/date-DfUDZmkO.cjs +0 -2
  745. package/dist/date-DfUDZmkO.cjs.map +0 -1
  746. package/dist/dialog-BZrI1ggR.cjs +0 -2
  747. package/dist/dialog-BZrI1ggR.cjs.map +0 -1
  748. package/dist/dialog-BbHuA_eL.d.ts +0 -47
  749. package/dist/dialog-CTvVeLHn.js +0 -2
  750. package/dist/dialog-CTvVeLHn.js.map +0 -1
  751. package/dist/dialog-DCW403Nj.d.cts +0 -47
  752. package/dist/dialogs/confirm-dialog.d.cts +0 -13
  753. package/dist/dialogs/confirm-dialog.d.ts +0 -13
  754. package/dist/dialogs/detail-dialog/component/sidebar.d.cts +0 -166
  755. package/dist/dialogs/detail-dialog/component/sidebar.d.ts +0 -166
  756. package/dist/dialogs/detail-dialog/index.d.cts +0 -15
  757. package/dist/dialogs/detail-dialog/index.d.ts +0 -15
  758. package/dist/dialogs/error-dialog.d.cts +0 -11
  759. package/dist/dialogs/error-dialog.d.ts +0 -11
  760. package/dist/dialogs/form-dialog.d.cts +0 -36
  761. package/dist/dialogs/form-dialog.d.ts +0 -36
  762. package/dist/dialogs/loading-dialog.d.cts +0 -9
  763. package/dist/dialogs/loading-dialog.d.ts +0 -9
  764. package/dist/dist-B3j6PslN.js +0 -2
  765. package/dist/dist-B3j6PslN.js.map +0 -1
  766. package/dist/dist-BdSAGFCS.cjs +0 -2
  767. package/dist/dist-BdSAGFCS.cjs.map +0 -1
  768. package/dist/drawer-DDSRH_My.js +0 -2
  769. package/dist/drawer-DDSRH_My.js.map +0 -1
  770. package/dist/drawer-_nQPABFp.cjs +0 -2
  771. package/dist/drawer-_nQPABFp.cjs.map +0 -1
  772. package/dist/dropdown-menu-CgEElTMR.cjs +0 -2
  773. package/dist/dropdown-menu-CgEElTMR.cjs.map +0 -1
  774. package/dist/dropdown-menu-Ss59zGaT.js +0 -2
  775. package/dist/dropdown-menu-Ss59zGaT.js.map +0 -1
  776. package/dist/error-dialog-BLypwC7k.js +0 -2
  777. package/dist/error-dialog-BLypwC7k.js.map +0 -1
  778. package/dist/error-dialog-Ccnb31SP.cjs +0 -2
  779. package/dist/error-dialog-Ccnb31SP.cjs.map +0 -1
  780. package/dist/features/search-modal/index.d.cts +0 -7
  781. package/dist/features/search-modal/index.d.ts +0 -7
  782. package/dist/field-QnC1I0hN.js +0 -2
  783. package/dist/field-QnC1I0hN.js.map +0 -1
  784. package/dist/field-fedFAcLt.cjs +0 -2
  785. package/dist/field-fedFAcLt.cjs.map +0 -1
  786. package/dist/flex-CARSrVMd.cjs +0 -2
  787. package/dist/flex-CARSrVMd.cjs.map +0 -1
  788. package/dist/flex-D5a9wval.js +0 -2
  789. package/dist/flex-D5a9wval.js.map +0 -1
  790. package/dist/form-CQcAxI-L.cjs +0 -2
  791. package/dist/form-CQcAxI-L.cjs.map +0 -1
  792. package/dist/form-CoqTElrC.js +0 -2
  793. package/dist/form-CoqTElrC.js.map +0 -1
  794. package/dist/form-wrapper-DHxY8rOJ.js +0 -2
  795. package/dist/form-wrapper-DHxY8rOJ.js.map +0 -1
  796. package/dist/form-wrapper-DoVXVU1Q.cjs +0 -2
  797. package/dist/form-wrapper-DoVXVU1Q.cjs.map +0 -1
  798. package/dist/forms/combobox-field.d.cts +0 -28
  799. package/dist/forms/combobox-field.d.ts +0 -28
  800. package/dist/forms/date-field.d.cts +0 -22
  801. package/dist/forms/date-field.d.ts +0 -22
  802. package/dist/forms/form-wrapper.d.cts +0 -28
  803. package/dist/forms/form-wrapper.d.ts +0 -28
  804. package/dist/forms/multi-select-field.d.cts +0 -32
  805. package/dist/forms/multi-select-field.d.ts +0 -32
  806. package/dist/forms/number-field.d.cts +0 -30
  807. package/dist/forms/number-field.d.ts +0 -30
  808. package/dist/forms/password-field.d.cts +0 -23
  809. package/dist/forms/password-field.d.ts +0 -23
  810. package/dist/forms/select-field.d.cts +0 -33
  811. package/dist/forms/select-field.d.ts +0 -33
  812. package/dist/forms/switch-field.d.cts +0 -21
  813. package/dist/forms/switch-field.d.ts +0 -21
  814. package/dist/forms/text-field.d.cts +0 -33
  815. package/dist/forms/text-field.d.ts +0 -33
  816. package/dist/forms/textarea-field.d.cts +0 -27
  817. package/dist/forms/textarea-field.d.ts +0 -27
  818. package/dist/image-DQ3Kw6Yx.js +0 -2
  819. package/dist/image-DQ3Kw6Yx.js.map +0 -1
  820. package/dist/image-lnojols3.cjs +0 -2
  821. package/dist/image-lnojols3.cjs.map +0 -1
  822. package/dist/input-C2puAk5o.js +0 -2
  823. package/dist/input-C2puAk5o.js.map +0 -1
  824. package/dist/input-CGlr-f2P.d.cts +0 -14
  825. package/dist/input-DFwfYrJY.cjs +0 -2
  826. package/dist/input-DFwfYrJY.cjs.map +0 -1
  827. package/dist/input-RFRYqH64.d.ts +0 -14
  828. package/dist/label-BVizk4r8.d.cts +0 -11
  829. package/dist/label-C81VuIr1.cjs +0 -2
  830. package/dist/label-C81VuIr1.cjs.map +0 -1
  831. package/dist/label-DUDKi2Z9.d.ts +0 -11
  832. package/dist/label-DeTp9ffC.js +0 -2
  833. package/dist/label-DeTp9ffC.js.map +0 -1
  834. package/dist/layouts/app-layout/index.d.cts +0 -183
  835. package/dist/layouts/app-layout/index.d.ts +0 -183
  836. package/dist/layouts/flex.d.cts +0 -34
  837. package/dist/layouts/flex.d.ts +0 -34
  838. package/dist/layouts/grid.d.cts +0 -5
  839. package/dist/layouts/grid.d.ts +0 -5
  840. package/dist/layouts/service-layout/index.d.cts +0 -132
  841. package/dist/layouts/service-layout/index.d.ts +0 -133
  842. package/dist/multi-select-Bc2t1mVU.cjs +0 -2
  843. package/dist/multi-select-Bc2t1mVU.cjs.map +0 -1
  844. package/dist/multi-select-DaAjkqhs.js +0 -2
  845. package/dist/multi-select-DaAjkqhs.js.map +0 -1
  846. package/dist/number-input-B784T23t.cjs +0 -2
  847. package/dist/number-input-B784T23t.cjs.map +0 -1
  848. package/dist/number-input-DtqX-30b.js +0 -2
  849. package/dist/number-input-DtqX-30b.js.map +0 -1
  850. package/dist/pages/FeatureDeveloping.d.cts +0 -25
  851. package/dist/pages/FeatureDeveloping.d.ts +0 -25
  852. package/dist/pages/FeatureFixing.d.cts +0 -25
  853. package/dist/pages/FeatureFixing.d.ts +0 -25
  854. package/dist/pages/NotAuthorized.d.cts +0 -25
  855. package/dist/pages/NotAuthorized.d.ts +0 -25
  856. package/dist/pages/NotFound.d.cts +0 -25
  857. package/dist/pages/NotFound.d.ts +0 -25
  858. package/dist/paragraph-2PTh7dL2.js +0 -2
  859. package/dist/paragraph-2PTh7dL2.js.map +0 -1
  860. package/dist/paragraph-Dh4JbICu.cjs +0 -2
  861. package/dist/paragraph-Dh4JbICu.cjs.map +0 -1
  862. package/dist/popover-Dltz23Kw.cjs +0 -2
  863. package/dist/popover-Dltz23Kw.cjs.map +0 -1
  864. package/dist/popover-cPnAg-IR.js +0 -2
  865. package/dist/popover-cPnAg-IR.js.map +0 -1
  866. package/dist/products/add-cart-button.d.cts +0 -48
  867. package/dist/products/add-cart-button.d.ts +0 -48
  868. package/dist/products/product-loading-page.d.cts +0 -9
  869. package/dist/products/product-loading-page.d.ts +0 -9
  870. package/dist/products/product-quantity-control.d.cts +0 -50
  871. package/dist/products/product-quantity-control.d.ts +0 -50
  872. package/dist/progress-DCp82kC-.cjs +0 -2
  873. package/dist/progress-DCp82kC-.cjs.map +0 -1
  874. package/dist/progress-Dn3ldoTC.js +0 -2
  875. package/dist/progress-Dn3ldoTC.js.map +0 -1
  876. package/dist/radio-group-CSeHO3gt.cjs +0 -2
  877. package/dist/radio-group-CSeHO3gt.cjs.map +0 -1
  878. package/dist/radio-group-wOobSXHt.js +0 -2
  879. package/dist/radio-group-wOobSXHt.js.map +0 -1
  880. package/dist/refresh-C15w-Kg_.js +0 -2
  881. package/dist/refresh-C15w-Kg_.js.map +0 -1
  882. package/dist/refresh-CiSphj7K.cjs +0 -2
  883. package/dist/refresh-CiSphj7K.cjs.map +0 -1
  884. package/dist/scroll-area-D5UB0gnG.cjs +0 -2
  885. package/dist/scroll-area-D5UB0gnG.cjs.map +0 -1
  886. package/dist/scroll-area-DBeg-tf-.js +0 -2
  887. package/dist/scroll-area-DBeg-tf-.js.map +0 -1
  888. package/dist/search-input-CDYFkB98.cjs +0 -2
  889. package/dist/search-input-CDYFkB98.cjs.map +0 -1
  890. package/dist/search-input-Dd0DOaRa.js +0 -2
  891. package/dist/search-input-Dd0DOaRa.js.map +0 -1
  892. package/dist/select-DJvNdB9Q.cjs +0 -2
  893. package/dist/select-DJvNdB9Q.cjs.map +0 -1
  894. package/dist/select-DjTMDfuU.js +0 -2
  895. package/dist/select-DjTMDfuU.js.map +0 -1
  896. package/dist/separator-B7MG0WfW.d.ts +0 -13
  897. package/dist/separator-DSfwqts2.cjs +0 -2
  898. package/dist/separator-DSfwqts2.cjs.map +0 -1
  899. package/dist/separator-DlKvRb97.d.cts +0 -13
  900. package/dist/separator-aMl6UNM2.js +0 -2
  901. package/dist/separator-aMl6UNM2.js.map +0 -1
  902. package/dist/sheet-CLSacdwr.cjs +0 -2
  903. package/dist/sheet-CLSacdwr.cjs.map +0 -1
  904. package/dist/sheet-wjVzFJqN.js +0 -2
  905. package/dist/sheet-wjVzFJqN.js.map +0 -1
  906. package/dist/sidebar-CKSP_wGV.js +0 -2
  907. package/dist/sidebar-CKSP_wGV.js.map +0 -1
  908. package/dist/sidebar-DTYxSTwf.cjs +0 -2
  909. package/dist/sidebar-DTYxSTwf.cjs.map +0 -1
  910. package/dist/skeleton-DO7Vt-7f.js +0 -2
  911. package/dist/skeleton-DO7Vt-7f.js.map +0 -1
  912. package/dist/skeleton-DYa_q0Y4.cjs +0 -2
  913. package/dist/skeleton-DYa_q0Y4.cjs.map +0 -1
  914. package/dist/switch-BRuGLl7r.cjs +0 -2
  915. package/dist/switch-BRuGLl7r.cjs.map +0 -1
  916. package/dist/switch-CAoADrTz.js +0 -2
  917. package/dist/switch-CAoADrTz.js.map +0 -1
  918. package/dist/systems/google.d.cts +0 -17
  919. package/dist/systems/google.d.ts +0 -17
  920. package/dist/table/index.d.cts +0 -31
  921. package/dist/table/index.d.ts +0 -31
  922. package/dist/table-Bl3LHfHq.js +0 -2
  923. package/dist/table-Bl3LHfHq.js.map +0 -1
  924. package/dist/table-Dum42k1g.cjs +0 -2
  925. package/dist/table-Dum42k1g.cjs.map +0 -1
  926. package/dist/tabs-26dKvx13.js +0 -2
  927. package/dist/tabs-26dKvx13.js.map +0 -1
  928. package/dist/tabs-rwqYbtaq.cjs +0 -2
  929. package/dist/tabs-rwqYbtaq.cjs.map +0 -1
  930. package/dist/tanstack-form/index.d.cts +0 -102
  931. package/dist/tanstack-form/index.d.ts +0 -102
  932. package/dist/textarea-BAMdq0nK.cjs +0 -2
  933. package/dist/textarea-BAMdq0nK.cjs.map +0 -1
  934. package/dist/textarea-BK5x2TXt.js +0 -2
  935. package/dist/textarea-BK5x2TXt.js.map +0 -1
  936. package/dist/title-Cu1t_swa.cjs +0 -2
  937. package/dist/title-Cu1t_swa.cjs.map +0 -1
  938. package/dist/title-DvBBkY-n.js +0 -2
  939. package/dist/title-DvBBkY-n.js.map +0 -1
  940. package/dist/toggle-B4tN-0IO.cjs +0 -2
  941. package/dist/toggle-B4tN-0IO.cjs.map +0 -1
  942. package/dist/toggle-BFGMDMh6.js +0 -2
  943. package/dist/toggle-BFGMDMh6.js.map +0 -1
  944. package/dist/toggle-Bqn-nyu3.d.ts +0 -19
  945. package/dist/toggle-DUz2tdav.d.cts +0 -19
  946. package/dist/tooltip-Ci4vGJVw.js +0 -2
  947. package/dist/tooltip-Ci4vGJVw.js.map +0 -1
  948. package/dist/tooltip-Co_tM-og.d.cts +0 -23
  949. package/dist/tooltip-GiGkjS_8.cjs +0 -2
  950. package/dist/tooltip-GiGkjS_8.cjs.map +0 -1
  951. package/dist/tooltip-hKG8rdNt.d.ts +0 -23
  952. package/dist/types-Bj7gD8ok.d.cts +0 -23
  953. package/dist/types-CObxqW8D.cjs +0 -2
  954. package/dist/types-CObxqW8D.cjs.map +0 -1
  955. package/dist/types-DEjoJE8O.d.ts +0 -23
  956. package/dist/types-EAOZr1BK.js +0 -2
  957. package/dist/types-EAOZr1BK.js.map +0 -1
  958. package/dist/typography/paragraph.d.cts +0 -16
  959. package/dist/typography/paragraph.d.ts +0 -16
  960. package/dist/typography/title.d.cts +0 -16
  961. package/dist/typography/title.d.ts +0 -16
  962. package/dist/ui/alert-dialog.d.cts +0 -48
  963. package/dist/ui/alert-dialog.d.ts +0 -48
  964. package/dist/ui/alert.d.cts +0 -69
  965. package/dist/ui/alert.d.ts +0 -69
  966. package/dist/ui/aspect-ratio.d.cts +0 -11
  967. package/dist/ui/aspect-ratio.d.ts +0 -11
  968. package/dist/ui/avatar.d.cts +0 -19
  969. package/dist/ui/avatar.d.ts +0 -19
  970. package/dist/ui/badge.d.cts +0 -21
  971. package/dist/ui/badge.d.ts +0 -21
  972. package/dist/ui/breadcrumb.d.cts +0 -59
  973. package/dist/ui/breadcrumb.d.ts +0 -59
  974. package/dist/ui/button-group.d.cts +0 -29
  975. package/dist/ui/button-group.d.ts +0 -29
  976. package/dist/ui/button.d.cts +0 -2
  977. package/dist/ui/button.d.ts +0 -2
  978. package/dist/ui/buttons/add-new.d.cts +0 -8
  979. package/dist/ui/buttons/add-new.d.ts +0 -8
  980. package/dist/ui/buttons/edit.d.cts +0 -8
  981. package/dist/ui/buttons/edit.d.ts +0 -8
  982. package/dist/ui/buttons/refresh.d.cts +0 -8
  983. package/dist/ui/buttons/refresh.d.ts +0 -8
  984. package/dist/ui/buttons/trash.d.cts +0 -8
  985. package/dist/ui/buttons/trash.d.ts +0 -8
  986. package/dist/ui/buttons/upload-image.d.cts +0 -11
  987. package/dist/ui/buttons/upload-image.d.ts +0 -11
  988. package/dist/ui/calendar.d.cts +0 -27
  989. package/dist/ui/calendar.d.ts +0 -27
  990. package/dist/ui/card.d.cts +0 -34
  991. package/dist/ui/card.d.ts +0 -34
  992. package/dist/ui/carousel.d.cts +0 -47
  993. package/dist/ui/carousel.d.ts +0 -47
  994. package/dist/ui/collapsible.d.cts +0 -16
  995. package/dist/ui/collapsible.d.ts +0 -16
  996. package/dist/ui/command.d.cts +0 -3
  997. package/dist/ui/command.d.ts +0 -3
  998. package/dist/ui/context-menu.d.cts +0 -76
  999. package/dist/ui/context-menu.d.ts +0 -76
  1000. package/dist/ui/dialog.d.cts +0 -2
  1001. package/dist/ui/dialog.d.ts +0 -2
  1002. package/dist/ui/drawer.d.cts +0 -44
  1003. package/dist/ui/drawer.d.ts +0 -44
  1004. package/dist/ui/dropdown-menu.d.cts +0 -78
  1005. package/dist/ui/dropdown-menu.d.ts +0 -78
  1006. package/dist/ui/empty.d.cts +0 -36
  1007. package/dist/ui/empty.d.ts +0 -36
  1008. package/dist/ui/field.d.cts +0 -66
  1009. package/dist/ui/field.d.ts +0 -66
  1010. package/dist/ui/file-uploader.d.cts +0 -78
  1011. package/dist/ui/file-uploader.d.ts +0 -78
  1012. package/dist/ui/form.d.cts +0 -50
  1013. package/dist/ui/form.d.ts +0 -50
  1014. package/dist/ui/hover-card.d.cts +0 -19
  1015. package/dist/ui/hover-card.d.ts +0 -19
  1016. package/dist/ui/image.d.cts +0 -16
  1017. package/dist/ui/image.d.ts +0 -16
  1018. package/dist/ui/input-otp.d.cts +0 -28
  1019. package/dist/ui/input-otp.d.ts +0 -28
  1020. package/dist/ui/input.d.cts +0 -2
  1021. package/dist/ui/input.d.ts +0 -2
  1022. package/dist/ui/inputs/search-input.d.cts +0 -12
  1023. package/dist/ui/inputs/search-input.d.ts +0 -12
  1024. package/dist/ui/item.d.cts +0 -62
  1025. package/dist/ui/item.d.ts +0 -62
  1026. package/dist/ui/label.d.cts +0 -2
  1027. package/dist/ui/label.d.ts +0 -2
  1028. package/dist/ui/menubar.d.cts +0 -84
  1029. package/dist/ui/menubar.d.ts +0 -84
  1030. package/dist/ui/multi-select.d.cts +0 -81
  1031. package/dist/ui/multi-select.d.ts +0 -81
  1032. package/dist/ui/navigation-menu.d.cts +0 -46
  1033. package/dist/ui/navigation-menu.d.ts +0 -46
  1034. package/dist/ui/pagination.d.cts +0 -39
  1035. package/dist/ui/pagination.d.ts +0 -39
  1036. package/dist/ui/popover.d.cts +0 -22
  1037. package/dist/ui/popover.d.ts +0 -22
  1038. package/dist/ui/progress.d.cts +0 -12
  1039. package/dist/ui/progress.d.ts +0 -12
  1040. package/dist/ui/radio-group.d.cts +0 -15
  1041. package/dist/ui/radio-group.d.ts +0 -15
  1042. package/dist/ui/resizable.d.cts +0 -21
  1043. package/dist/ui/resizable.d.ts +0 -21
  1044. package/dist/ui/scroll-area.d.cts +0 -20
  1045. package/dist/ui/scroll-area.d.ts +0 -20
  1046. package/dist/ui/select.d.cts +0 -51
  1047. package/dist/ui/select.d.ts +0 -51
  1048. package/dist/ui/separator.d.cts +0 -2
  1049. package/dist/ui/separator.d.ts +0 -2
  1050. package/dist/ui/sheet.d.cts +0 -40
  1051. package/dist/ui/sheet.d.ts +0 -40
  1052. package/dist/ui/sidebar.d.cts +0 -167
  1053. package/dist/ui/sidebar.d.ts +0 -167
  1054. package/dist/ui/skeleton.d.cts +0 -10
  1055. package/dist/ui/skeleton.d.ts +0 -10
  1056. package/dist/ui/slider.d.cts +0 -15
  1057. package/dist/ui/slider.d.ts +0 -15
  1058. package/dist/ui/sonner.d.cts +0 -7
  1059. package/dist/ui/sonner.d.ts +0 -7
  1060. package/dist/ui/spinner.d.cts +0 -10
  1061. package/dist/ui/spinner.d.ts +0 -10
  1062. package/dist/ui/switch.d.cts +0 -11
  1063. package/dist/ui/switch.d.ts +0 -11
  1064. package/dist/ui/table.d.cts +0 -39
  1065. package/dist/ui/table.d.ts +0 -39
  1066. package/dist/ui/tabs.d.cts +0 -23
  1067. package/dist/ui/tabs.d.ts +0 -23
  1068. package/dist/ui/textarea.d.cts +0 -14
  1069. package/dist/ui/textarea.d.ts +0 -14
  1070. package/dist/ui/toggle-group.d.cts +0 -23
  1071. package/dist/ui/toggle-group.d.ts +0 -23
  1072. package/dist/ui/toggle.d.cts +0 -2
  1073. package/dist/ui/toggle.d.ts +0 -2
  1074. package/dist/ui/tooltip.d.cts +0 -2
  1075. package/dist/ui/tooltip.d.ts +0 -2
  1076. /package/dist/{chunk-DjWAcSYV.cjs → chunk-Bmb41Sf3.cjs} +0 -0
@@ -0,0 +1,66 @@
1
+ import { t as Label } from "../label-CmFPDdEq.cjs";
2
+ import * as react_jsx_runtime123 from "react/jsx-runtime";
3
+ import * as react33 from "react";
4
+ import * as class_variance_authority_types5 from "class-variance-authority/types";
5
+ import { VariantProps } from "class-variance-authority";
6
+
7
+ //#region packages/components/ui/field.d.ts
8
+ declare const FieldSet: react33.MemoExoticComponent<({
9
+ className,
10
+ ...props
11
+ }: React.ComponentProps<"fieldset">) => react_jsx_runtime123.JSX.Element>;
12
+ declare const FieldLegend: react33.MemoExoticComponent<({
13
+ className,
14
+ variant,
15
+ ...props
16
+ }: React.ComponentProps<"legend"> & {
17
+ variant?: "legend" | "label";
18
+ }) => react_jsx_runtime123.JSX.Element>;
19
+ declare const FieldGroup: react33.MemoExoticComponent<({
20
+ className,
21
+ ...props
22
+ }: React.ComponentProps<"div">) => react_jsx_runtime123.JSX.Element>;
23
+ declare const fieldVariants: (props?: ({
24
+ orientation?: "vertical" | "horizontal" | "responsive" | null | undefined;
25
+ } & class_variance_authority_types5.ClassProp) | undefined) => string;
26
+ declare const Field: react33.MemoExoticComponent<({
27
+ className,
28
+ orientation,
29
+ ...props
30
+ }: React.ComponentProps<"div"> & VariantProps<typeof fieldVariants>) => react_jsx_runtime123.JSX.Element>;
31
+ declare const FieldContent: react33.MemoExoticComponent<({
32
+ className,
33
+ ...props
34
+ }: React.ComponentProps<"div">) => react_jsx_runtime123.JSX.Element>;
35
+ declare const FieldLabel: react33.MemoExoticComponent<({
36
+ className,
37
+ ...props
38
+ }: React.ComponentProps<typeof Label>) => react_jsx_runtime123.JSX.Element>;
39
+ declare const FieldTitle: react33.MemoExoticComponent<({
40
+ className,
41
+ ...props
42
+ }: React.ComponentProps<"div">) => react_jsx_runtime123.JSX.Element>;
43
+ declare const FieldDescription: react33.MemoExoticComponent<({
44
+ className,
45
+ ...props
46
+ }: React.ComponentProps<"p">) => react_jsx_runtime123.JSX.Element>;
47
+ declare const FieldSeparator: react33.MemoExoticComponent<({
48
+ children,
49
+ className,
50
+ ...props
51
+ }: React.ComponentProps<"div"> & {
52
+ children?: React.ReactNode;
53
+ }) => react_jsx_runtime123.JSX.Element>;
54
+ declare const FieldError: react33.MemoExoticComponent<({
55
+ className,
56
+ children,
57
+ errors,
58
+ ...props
59
+ }: React.ComponentProps<"div"> & {
60
+ errors?: Array<{
61
+ message?: string;
62
+ } | undefined>;
63
+ }) => react_jsx_runtime123.JSX.Element | null>;
64
+ //#endregion
65
+ export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle };
66
+ //# sourceMappingURL=field-Di7GMFb3.d.cts.map
package/dist/ui/field.cjs CHANGED
@@ -1 +1 @@
1
- "use client";require(`../label-C81VuIr1.cjs`),require(`../separator-DSfwqts2.cjs`);const e=require(`../field-fedFAcLt.cjs`);exports.Field=e.t,exports.FieldContent=e.n,exports.FieldDescription=e.r,exports.FieldError=e.i,exports.FieldGroup=e.a,exports.FieldLabel=e.o,exports.FieldLegend=e.s,exports.FieldSeparator=e.c,exports.FieldSet=e.l,exports.FieldTitle=e.u;
1
+ "use client";require(`../label-D2Kl-Q_-.cjs`),require(`../separator-D3CGKwyf.cjs`);const e=require(`../field-Cjpwx_6d.cjs`);exports.Field=e.t,exports.FieldContent=e.n,exports.FieldDescription=e.r,exports.FieldError=e.i,exports.FieldGroup=e.a,exports.FieldLabel=e.o,exports.FieldLegend=e.s,exports.FieldSeparator=e.c,exports.FieldSet=e.l,exports.FieldTitle=e.u;
package/dist/ui/field.js CHANGED
@@ -1 +1 @@
1
- "use client";import"../label-DeTp9ffC.js";import"../separator-aMl6UNM2.js";import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"../field-QnC1I0hN.js";export{c as Field,i as FieldContent,o as FieldDescription,n as FieldError,e as FieldGroup,a as FieldLabel,s as FieldLegend,t as FieldSeparator,r as FieldSet,l as FieldTitle};
1
+ "use client";import"../label-pQFhmWzJ.js";import"../separator-udZphpLE.js";import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"../field-CBs15wFj.js";export{c as Field,i as FieldContent,o as FieldDescription,n as FieldError,e as FieldGroup,a as FieldLabel,s as FieldLegend,t as FieldSeparator,r as FieldSet,l as FieldTitle};
@@ -0,0 +1,78 @@
1
+ import * as react_jsx_runtime122 from "react/jsx-runtime";
2
+ import { DropzoneProps } from "react-dropzone";
3
+
4
+ //#region packages/components/ui/file-uploader.d.ts
5
+ interface FileUploaderProps extends React.HTMLAttributes<HTMLDivElement> {
6
+ /**
7
+ * Value of the uploader.
8
+ * @type File[]
9
+ * @default undefined
10
+ * @example value={files}
11
+ */
12
+ value?: File[];
13
+ /**
14
+ * Function to be called when the value changes.
15
+ * @type (files: File[]) => void
16
+ * @default undefined
17
+ * @example onValueChange={(files) => setFiles(files)}
18
+ */
19
+ onValueChange?: (files: File[]) => void;
20
+ /**
21
+ * Function to be called when files are uploaded.
22
+ * @type (files: File[]) => Promise<void>
23
+ * @default undefined
24
+ * @example onUpload={(files) => uploadFiles(files)}
25
+ */
26
+ onUpload?: (files: File[]) => Promise<void>;
27
+ /**
28
+ * Progress of the uploaded files.
29
+ * @type Record<string, number> | undefined
30
+ * @default undefined
31
+ * @example progresses={{ "file1.png": 50 }}
32
+ */
33
+ progresses?: Record<string, number>;
34
+ /**
35
+ * Accepted file types for the uploader.
36
+ * @type { [key: string]: string[]}
37
+ * @default
38
+ * ```ts
39
+ * { "image/*": [] }
40
+ * ```
41
+ * @example accept={["image/png", "image/jpeg"]}
42
+ */
43
+ accept?: DropzoneProps['accept'];
44
+ /**
45
+ * Maximum file size for the uploader.
46
+ * @type number | undefined
47
+ * @default 1024 * 1024 * 2 // 2MB
48
+ * @example maxSize={1024 * 1024 * 2} // 2MB
49
+ */
50
+ maxSize?: DropzoneProps['maxSize'];
51
+ /**
52
+ * Maximum number of files for the uploader.
53
+ * @type number | undefined
54
+ * @default 1
55
+ * @example maxFileCount={4}
56
+ */
57
+ maxFileCount?: DropzoneProps['maxFiles'];
58
+ /**
59
+ * Whether the uploader should accept multiple files.
60
+ * @type boolean
61
+ * @default false
62
+ * @example multiple
63
+ */
64
+ multiple?: boolean;
65
+ /**
66
+ * Whether the uploader is disabled.
67
+ * @type boolean
68
+ * @default false
69
+ * @example disabled
70
+ */
71
+ disabled?: boolean;
72
+ showText?: boolean;
73
+ iconSize?: number;
74
+ }
75
+ declare function FileUploader(props: FileUploaderProps): react_jsx_runtime122.JSX.Element;
76
+ //#endregion
77
+ export { FileUploader };
78
+ //# sourceMappingURL=file-uploader-Bw35N40m.d.ts.map
@@ -0,0 +1,78 @@
1
+ import * as react_jsx_runtime56 from "react/jsx-runtime";
2
+ import { DropzoneProps } from "react-dropzone";
3
+
4
+ //#region packages/components/ui/file-uploader.d.ts
5
+ interface FileUploaderProps extends React.HTMLAttributes<HTMLDivElement> {
6
+ /**
7
+ * Value of the uploader.
8
+ * @type File[]
9
+ * @default undefined
10
+ * @example value={files}
11
+ */
12
+ value?: File[];
13
+ /**
14
+ * Function to be called when the value changes.
15
+ * @type (files: File[]) => void
16
+ * @default undefined
17
+ * @example onValueChange={(files) => setFiles(files)}
18
+ */
19
+ onValueChange?: (files: File[]) => void;
20
+ /**
21
+ * Function to be called when files are uploaded.
22
+ * @type (files: File[]) => Promise<void>
23
+ * @default undefined
24
+ * @example onUpload={(files) => uploadFiles(files)}
25
+ */
26
+ onUpload?: (files: File[]) => Promise<void>;
27
+ /**
28
+ * Progress of the uploaded files.
29
+ * @type Record<string, number> | undefined
30
+ * @default undefined
31
+ * @example progresses={{ "file1.png": 50 }}
32
+ */
33
+ progresses?: Record<string, number>;
34
+ /**
35
+ * Accepted file types for the uploader.
36
+ * @type { [key: string]: string[]}
37
+ * @default
38
+ * ```ts
39
+ * { "image/*": [] }
40
+ * ```
41
+ * @example accept={["image/png", "image/jpeg"]}
42
+ */
43
+ accept?: DropzoneProps['accept'];
44
+ /**
45
+ * Maximum file size for the uploader.
46
+ * @type number | undefined
47
+ * @default 1024 * 1024 * 2 // 2MB
48
+ * @example maxSize={1024 * 1024 * 2} // 2MB
49
+ */
50
+ maxSize?: DropzoneProps['maxSize'];
51
+ /**
52
+ * Maximum number of files for the uploader.
53
+ * @type number | undefined
54
+ * @default 1
55
+ * @example maxFileCount={4}
56
+ */
57
+ maxFileCount?: DropzoneProps['maxFiles'];
58
+ /**
59
+ * Whether the uploader should accept multiple files.
60
+ * @type boolean
61
+ * @default false
62
+ * @example multiple
63
+ */
64
+ multiple?: boolean;
65
+ /**
66
+ * Whether the uploader is disabled.
67
+ * @type boolean
68
+ * @default false
69
+ * @example disabled
70
+ */
71
+ disabled?: boolean;
72
+ showText?: boolean;
73
+ iconSize?: number;
74
+ }
75
+ declare function FileUploader(props: FileUploaderProps): react_jsx_runtime56.JSX.Element;
76
+ //#endregion
77
+ export { FileUploader };
78
+ //# sourceMappingURL=file-uploader-ZqGyDsj0.d.cts.map
@@ -1,3 +1,3 @@
1
- "use client";const e=require(`../chunk-DjWAcSYV.cjs`);require(`../dist-BdSAGFCS.cjs`),require(`../button-variants-BebiEdiS.cjs`);const t=require(`../button-BKgDCyHZ.cjs`),n=require(`../progress-DCp82kC-.cjs`);let r=require(`lucide-react`);r=e.t(r);let i=require(`@customafk/react-toolkit/utils`);i=e.t(i);let a=require(`react`);a=e.t(a);let o=require(`react/jsx-runtime`);o=e.t(o);let s=require(`react-dropzone`);s=e.t(s);let c=require(`@customafk/react-toolkit/hooks/useControllableState`);c=e.t(c);let l=require(`sonner`);l=e.t(l);function u(e){let{value:t,onValueChange:n,onUpload:u,progresses:p,accept:m={"image/*":[]},maxSize:h=1024*1024*2,maxFileCount:g=1,multiple:_=!1,disabled:v=!1,showText:y=!0,iconSize:b,className:x,...S}=e,[C,w]=(0,c.useControllableState)({prop:t,onChange:n}),T=(0,a.useCallback)((e,t)=>{if(!_&&g===1&&e.length>1){l.toast.error(`Cannot upload more than 1 file at a time`);return}if((C?.length??0)+e.length>g){l.toast.error(`Cannot upload more than ${g} files`);return}let n=e.map(e=>Object.assign(e,{preview:URL.createObjectURL(e)})),r=C?[...C,...n]:n;if(w(r),t.length>0&&t.forEach(({file:e})=>{l.toast.error(`File ${e.name} was rejected`)}),u&&r.length>0&&r.length<=g){let e=r.length>0?`${r.length} files`:`file`;u(r).then(()=>{w([]),(0,l.toast)(`${e} uploaded`)})}},[C,g,_,u,w]);function E(e){if(!C)return;f(C[e])&&URL.revokeObjectURL(C[e].preview);let t=C.filter((t,n)=>n!==e);w(t),n?.(t)}(0,a.useEffect)(()=>()=>{C&&C.forEach(e=>{f(e)&&URL.revokeObjectURL(e.preview)})},[]);let D=v||(C?.length??0)>=g;return(0,o.jsxs)(`div`,{className:`relative flex w-full flex-col gap-6`,children:[(0,o.jsx)(s.default,{onDrop:T,accept:m,maxSize:h,maxFiles:g,multiple:g>1||_,disabled:D,children:({getRootProps:e,getInputProps:t,isDragActive:n})=>(0,o.jsxs)(`div`,{...e(),className:(0,i.cn)(`group`,`border-border-weak`,`hover:bg-border-weak/20`,`relative grid h-52 w-full cursor-pointer place-items-center rounded-lg border-2 border-dashed px-5 py-2.5 text-center transition`,`ring-offset-background`,`focus-visible:ring-primary-weak`,`focus-visible:ring-2`,`focus-visible:ring-offset-2`,`focus-visible:outline-hidden`,n&&`border-border-primary-strong bg-border-weak/40`,D&&`pointer-events-none opacity-60`,x),...S,children:[(0,o.jsx)(`input`,{...t()}),n?(0,o.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-4 sm:px-5`,children:[(0,o.jsx)(`div`,{className:`rounded-full border border-dashed p-3`,children:(0,o.jsx)(r.Upload,{className:`text-text-positive-muted size-7`,"aria-hidden":`true`})}),(0,o.jsx)(`p`,{className:`text-text-positive-muted font-medium`,children:`Drop the files here`})]}):(0,o.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-4 sm:px-5`,children:[(0,o.jsx)(`div`,{className:`rounded-full border border-dashed p-3`,children:(0,o.jsx)(r.Upload,{size:b||24,className:`text-muted-foreground`,"aria-hidden":`true`})}),y&&(0,o.jsxs)(`div`,{className:`flex flex-col gap-px`,children:[(0,o.jsxs)(`p`,{className:`text-text-positive-weak text-xs font-medium`,children:[`Drag `,`'n'`,` drop files here, or click to select files`]}),(0,o.jsxs)(`p`,{className:`text-text-positive-muted text-xs`,children:[`You can upload`,g>1?` ${g===1/0?`multiple`:g}
2
- files (up to ${(0,i.formatBytes)(h)} each)`:` a file with ${(0,i.formatBytes)(h)}`]})]})]})]})}),C?.length?(0,o.jsxs)(`div`,{className:`h-fit w-full overflow-y-auto`,children:[(0,o.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2.5`,children:[(0,o.jsxs)(`div`,{className:`text-text-positive-weak flex items-center gap-1`,children:[(0,o.jsx)(r.Image,{size:16,"aria-hidden":`true`}),(0,o.jsxs)(`p`,{className:`text-sm`,children:[`Ảnh đã tải lên (`,C.length,`)`]})]}),(0,o.jsxs)(`button`,{className:`hover:text-text-positive text-text-positive-muted flex cursor-pointer items-center gap-1 transition-colors duration-200`,onClick:()=>{C&&(C.forEach(e=>{f(e)&&URL.revokeObjectURL(e.preview)}),w([]),n?.([]))},children:[(0,o.jsx)(r.Trash2,{size:16,"aria-hidden":`true`}),(0,o.jsx)(`p`,{className:`text-sm`,children:`Xóa tất cả`})]})]}),(0,o.jsx)(`div`,{className:`flex flex-col gap-2.5`,children:C?.map((e,t)=>(0,o.jsx)(d,{file:e,onRemove:()=>E(t),progress:p?.[e.name]},t))})]}):null]})}function d({file:e,progress:a,onRemove:s}){return(0,o.jsxs)(`div`,{className:`border-border-weak hover:border-border relative flex items-center gap-4 rounded-md border py-2 pr-3 pl-2 shadow-xs transition-colors`,children:[(0,o.jsxs)(`div`,{className:`flex flex-1 gap-2.5`,children:[f(e)?(0,o.jsx)(p,{file:e}):null,(0,o.jsxs)(`div`,{className:`flex w-full flex-col gap-2`,children:[(0,o.jsxs)(`div`,{className:`flex flex-col gap-y-0.5`,children:[(0,o.jsx)(`p`,{className:`text-text-positive line-clamp-1 text-sm`,children:e.name}),(0,o.jsx)(`p`,{className:`text-text-positive-muted text-xs`,children:(0,i.formatBytes)(e.size)})]}),a?(0,o.jsx)(n.t,{value:a}):null]})]}),(0,o.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,o.jsxs)(t.t,{type:`button`,variant:`ghost`,color:`secondary`,size:`icon`,className:`size-7`,onClick:s,children:[(0,o.jsx)(r.Trash2,{size:16,className:`text-text-positive-muted`,"aria-hidden":`true`}),(0,o.jsx)(`span`,{className:`sr-only`,children:`Remove file`})]})})]})}function f(e){return`preview`in e&&typeof e.preview==`string`}function p({file:e}){return e.type.startsWith(`image/`)?(0,o.jsx)(`img`,{src:e.preview,className:`border-border aspect-square size-10 shrink-0 rounded border object-cover object-top shadow-sm`}):(0,o.jsx)(r.FileText,{className:`text-text-positive-muted size-10 border`,"aria-hidden":`true`})}exports.FileUploader=u;
1
+ "use client";const e=require(`../chunk-Bmb41Sf3.cjs`);require(`../dist-Dh8WwRa8.cjs`),require(`../button.variants-D1vkzrn1.cjs`);const t=require(`../button-BSQjtXgG.cjs`),n=require(`../progress-BvFZ5L8e.cjs`);let r=require(`lucide-react`),i=require(`react`),a=require(`@customafk/react-toolkit/utils`),o=require(`react/jsx-runtime`),s=require(`react-dropzone`);s=e.t(s);let c=require(`@customafk/react-toolkit/hooks/useControllableState`),l=require(`sonner`);function u(e){let{value:t,onValueChange:n,onUpload:u,progresses:p,accept:m={"image/*":[]},maxSize:h=1024*1024*2,maxFileCount:g=1,multiple:_=!1,disabled:v=!1,showText:y=!0,iconSize:b,className:x,...S}=e,[C,w]=(0,c.useControllableState)({prop:t,onChange:n}),T=(0,i.useCallback)((e,t)=>{if(!_&&g===1&&e.length>1){l.toast.error(`Cannot upload more than 1 file at a time`);return}if((C?.length??0)+e.length>g){l.toast.error(`Cannot upload more than ${g} files`);return}let n=e.map(e=>Object.assign(e,{preview:URL.createObjectURL(e)})),r=C?[...C,...n]:n;if(w(r),t.length>0&&t.forEach(({file:e})=>{l.toast.error(`File ${e.name} was rejected`)}),u&&r.length>0&&r.length<=g){let e=r.length>0?`${r.length} files`:`file`;u(r).then(()=>{w([]),(0,l.toast)(`${e} uploaded`)})}},[C,g,_,u,w]);function E(e){if(!C)return;f(C[e])&&URL.revokeObjectURL(C[e].preview);let t=C.filter((t,n)=>n!==e);w(t),n?.(t)}(0,i.useEffect)(()=>()=>{C&&C.forEach(e=>{f(e)&&URL.revokeObjectURL(e.preview)})},[]);let D=v||(C?.length??0)>=g;return(0,o.jsxs)(`div`,{className:`relative flex w-full flex-col gap-6`,children:[(0,o.jsx)(s.default,{onDrop:T,accept:m,maxSize:h,maxFiles:g,multiple:g>1||_,disabled:D,children:({getRootProps:e,getInputProps:t,isDragActive:n})=>(0,o.jsxs)(`div`,{...e(),className:(0,a.cn)(`group`,`border-border-weak`,`hover:bg-border-weak/20`,`relative grid h-52 w-full cursor-pointer place-items-center rounded-lg border-2 border-dashed px-5 py-2.5 text-center transition`,`ring-offset-background`,`focus-visible:ring-primary-weak`,`focus-visible:ring-2`,`focus-visible:ring-offset-2`,`focus-visible:outline-hidden`,n&&`border-border-primary-strong bg-border-weak/40`,D&&`pointer-events-none opacity-60`,x),...S,children:[(0,o.jsx)(`input`,{...t()}),n?(0,o.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-4 sm:px-5`,children:[(0,o.jsx)(`div`,{className:`rounded-full border border-dashed p-3`,children:(0,o.jsx)(r.Upload,{className:`text-text-positive-muted size-7`,"aria-hidden":`true`})}),(0,o.jsx)(`p`,{className:`text-text-positive-muted font-medium`,children:`Drop the files here`})]}):(0,o.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-4 sm:px-5`,children:[(0,o.jsx)(`div`,{className:`rounded-full border border-dashed p-3`,children:(0,o.jsx)(r.Upload,{size:b||24,className:`text-muted-foreground`,"aria-hidden":`true`})}),y&&(0,o.jsxs)(`div`,{className:`flex flex-col gap-px`,children:[(0,o.jsxs)(`p`,{className:`text-text-positive-weak text-xs font-medium`,children:[`Drag `,`'n'`,` drop files here, or click to select files`]}),(0,o.jsxs)(`p`,{className:`text-text-positive-muted text-xs`,children:[`You can upload`,g>1?` ${g===1/0?`multiple`:g}
2
+ files (up to ${(0,a.formatBytes)(h)} each)`:` a file with ${(0,a.formatBytes)(h)}`]})]})]})]})}),C?.length?(0,o.jsxs)(`div`,{className:`h-fit w-full overflow-y-auto`,children:[(0,o.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2.5`,children:[(0,o.jsxs)(`div`,{className:`text-text-positive-weak flex items-center gap-1`,children:[(0,o.jsx)(r.Image,{size:16,"aria-hidden":`true`}),(0,o.jsxs)(`p`,{className:`text-sm`,children:[`Ảnh đã tải lên (`,C.length,`)`]})]}),(0,o.jsxs)(`button`,{className:`hover:text-text-positive text-text-positive-muted flex cursor-pointer items-center gap-1 transition-colors duration-200`,onClick:()=>{C&&(C.forEach(e=>{f(e)&&URL.revokeObjectURL(e.preview)}),w([]),n?.([]))},children:[(0,o.jsx)(r.Trash2,{size:16,"aria-hidden":`true`}),(0,o.jsx)(`p`,{className:`text-sm`,children:`Xóa tất cả`})]})]}),(0,o.jsx)(`div`,{className:`flex flex-col gap-2.5`,children:C?.map((e,t)=>(0,o.jsx)(d,{file:e,onRemove:()=>E(t),progress:p?.[e.name]},t))})]}):null]})}function d({file:e,progress:i,onRemove:s}){return(0,o.jsxs)(`div`,{className:`border-border-weak hover:border-border relative flex items-center gap-4 rounded-md border py-2 pr-3 pl-2 shadow-xs transition-colors`,children:[(0,o.jsxs)(`div`,{className:`flex flex-1 gap-2.5`,children:[f(e)?(0,o.jsx)(p,{file:e}):null,(0,o.jsxs)(`div`,{className:`flex w-full flex-col gap-2`,children:[(0,o.jsxs)(`div`,{className:`flex flex-col gap-y-0.5`,children:[(0,o.jsx)(`p`,{className:`text-text-positive line-clamp-1 text-sm`,children:e.name}),(0,o.jsx)(`p`,{className:`text-text-positive-muted text-xs`,children:(0,a.formatBytes)(e.size)})]}),i?(0,o.jsx)(n.t,{value:i}):null]})]}),(0,o.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,o.jsxs)(t.t,{type:`button`,variant:`ghost`,color:`secondary`,size:`icon`,className:`size-7`,onClick:s,children:[(0,o.jsx)(r.Trash2,{size:16,className:`text-text-positive-muted`,"aria-hidden":`true`}),(0,o.jsx)(`span`,{className:`sr-only`,children:`Remove file`})]})})]})}function f(e){return`preview`in e&&typeof e.preview==`string`}function p({file:e}){return e.type.startsWith(`image/`)?(0,o.jsx)(`img`,{src:e.preview,className:`border-border aspect-square size-10 shrink-0 rounded border object-cover object-top shadow-sm`}):(0,o.jsx)(r.FileText,{className:`text-text-positive-muted size-10 border`,"aria-hidden":`true`})}exports.FileUploader=u;
3
3
  //# sourceMappingURL=file-uploader.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-uploader.cjs","names":["Dropzone","Upload","Image","Trash2","Progress","Button","FileText"],"sources":["../../packages/components/ui/file-uploader.tsx"],"sourcesContent":["'use client';\nimport { useCallback, useEffect } from 'react';\nimport Dropzone, { type DropzoneProps, type FileRejection } from 'react-dropzone';\nimport { useControllableState } from '@customafk/react-toolkit/hooks/useControllableState';\nimport { cn, formatBytes } from '@customafk/react-toolkit/utils';\n\nimport { FileText, Image, Trash2, Upload } from 'lucide-react';\nimport { toast } from 'sonner';\n\nimport { Button } from '@/components/ui/button';\nimport { Progress } from '@/components/ui/progress';\n\ninterface FileUploaderProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Value of the uploader.\n * @type File[]\n * @default undefined\n * @example value={files}\n */\n value?: File[];\n\n /**\n * Function to be called when the value changes.\n * @type (files: File[]) => void\n * @default undefined\n * @example onValueChange={(files) => setFiles(files)}\n */\n onValueChange?: (files: File[]) => void;\n\n /**\n * Function to be called when files are uploaded.\n * @type (files: File[]) => Promise<void>\n * @default undefined\n * @example onUpload={(files) => uploadFiles(files)}\n */\n onUpload?: (files: File[]) => Promise<void>;\n\n /**\n * Progress of the uploaded files.\n * @type Record<string, number> | undefined\n * @default undefined\n * @example progresses={{ \"file1.png\": 50 }}\n */\n progresses?: Record<string, number>;\n\n /**\n * Accepted file types for the uploader.\n * @type { [key: string]: string[]}\n * @default\n * ```ts\n * { \"image/*\": [] }\n * ```\n * @example accept={[\"image/png\", \"image/jpeg\"]}\n */\n accept?: DropzoneProps['accept'];\n\n /**\n * Maximum file size for the uploader.\n * @type number | undefined\n * @default 1024 * 1024 * 2 // 2MB\n * @example maxSize={1024 * 1024 * 2} // 2MB\n */\n maxSize?: DropzoneProps['maxSize'];\n\n /**\n * Maximum number of files for the uploader.\n * @type number | undefined\n * @default 1\n * @example maxFileCount={4}\n */\n maxFileCount?: DropzoneProps['maxFiles'];\n\n /**\n * Whether the uploader should accept multiple files.\n * @type boolean\n * @default false\n * @example multiple\n */\n multiple?: boolean;\n\n /**\n * Whether the uploader is disabled.\n * @type boolean\n * @default false\n * @example disabled\n */\n disabled?: boolean;\n\n showText?: boolean;\n iconSize?: number;\n}\n\nexport function FileUploader(props: FileUploaderProps) {\n const {\n value: valueProp,\n onValueChange,\n onUpload,\n progresses,\n accept = {\n 'image/*': [],\n },\n maxSize = 1024 * 1024 * 2,\n maxFileCount = 1,\n multiple = false,\n disabled = false,\n showText = true,\n iconSize,\n className,\n ...dropzoneProps\n } = props;\n\n const [files, setFiles] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n });\n\n const onDrop = useCallback(\n (acceptedFiles: File[], rejectedFiles: FileRejection[]) => {\n if (!multiple && maxFileCount === 1 && acceptedFiles.length > 1) {\n toast.error('Cannot upload more than 1 file at a time');\n\n return;\n }\n\n if ((files?.length ?? 0) + acceptedFiles.length > maxFileCount) {\n toast.error(`Cannot upload more than ${maxFileCount} files`);\n return;\n }\n\n const newFiles = acceptedFiles.map(file =>\n Object.assign(file, {\n preview: URL.createObjectURL(file),\n })\n );\n\n const updatedFiles = files ? [...files, ...newFiles] : newFiles;\n\n setFiles(updatedFiles);\n\n if (rejectedFiles.length > 0) {\n rejectedFiles.forEach(({ file }) => {\n toast.error(`File ${file.name} was rejected`);\n });\n }\n\n if (onUpload && updatedFiles.length > 0 && updatedFiles.length <= maxFileCount) {\n const target = updatedFiles.length > 0 ? `${updatedFiles.length} files` : `file`;\n\n onUpload(updatedFiles).then(() => {\n setFiles([]);\n toast(`${target} uploaded`);\n });\n }\n },\n\n [files, maxFileCount, multiple, onUpload, setFiles]\n );\n\n function onRemove(index: number) {\n if (!files) return;\n\n if (isFileWithPreview(files[index])) {\n URL.revokeObjectURL(files[index].preview);\n }\n\n const newFiles = files.filter((_, i) => i !== index);\n setFiles(newFiles);\n onValueChange?.(newFiles);\n }\n\n // Revoke preview url when component unmounts\n useEffect(() => {\n return () => {\n if (!files) return;\n files.forEach(file => {\n if (isFileWithPreview(file)) {\n URL.revokeObjectURL(file.preview);\n }\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const isDisabled = disabled || (files?.length ?? 0) >= maxFileCount;\n\n return (\n <div className=\"relative flex w-full flex-col gap-6\">\n <Dropzone onDrop={onDrop} accept={accept} maxSize={maxSize} maxFiles={maxFileCount} multiple={maxFileCount > 1 || multiple} disabled={isDisabled}>\n {({ getRootProps, getInputProps, isDragActive }) => (\n <div\n {...getRootProps()}\n className={cn(\n 'group',\n 'border-border-weak',\n 'hover:bg-border-weak/20',\n 'relative grid h-52 w-full cursor-pointer place-items-center rounded-lg border-2 border-dashed px-5 py-2.5 text-center transition',\n 'ring-offset-background',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:ring-2',\n 'focus-visible:ring-offset-2',\n 'focus-visible:outline-hidden',\n isDragActive && 'border-border-primary-strong bg-border-weak/40',\n isDisabled && 'pointer-events-none opacity-60',\n className\n )}\n {...dropzoneProps}\n >\n <input {...getInputProps()} />\n {isDragActive ? (\n <div className=\"flex flex-col items-center justify-center gap-4 sm:px-5\">\n <div className=\"rounded-full border border-dashed p-3\">\n <Upload className=\"text-text-positive-muted size-7\" aria-hidden=\"true\" />\n </div>\n <p className=\"text-text-positive-muted font-medium\">Drop the files here</p>\n </div>\n ) : (\n <div className=\"flex flex-col items-center justify-center gap-4 sm:px-5\">\n <div className=\"rounded-full border border-dashed p-3\">\n <Upload size={iconSize || 24} className=\"text-muted-foreground\" aria-hidden=\"true\" />\n </div>\n {showText && (\n <div className=\"flex flex-col gap-px\">\n <p className=\"text-text-positive-weak text-xs font-medium\">Drag {`'n'`} drop files here, or click to select files</p>\n <p className=\"text-text-positive-muted text-xs\">\n You can upload\n {maxFileCount > 1\n ? ` ${maxFileCount === Infinity ? 'multiple' : maxFileCount}\n files (up to ${formatBytes(maxSize)} each)`\n : ` a file with ${formatBytes(maxSize)}`}\n </p>\n </div>\n )}\n </div>\n )}\n </div>\n )}\n </Dropzone>\n {files?.length ? (\n <div className=\"h-fit w-full overflow-y-auto\">\n <div className=\"flex items-center justify-between px-3 py-2.5\">\n <div className=\"text-text-positive-weak flex items-center gap-1\">\n <Image size={16} aria-hidden=\"true\" />\n <p className=\"text-sm\">Ảnh đã tải lên ({files.length})</p>\n </div>\n <button\n className=\"hover:text-text-positive text-text-positive-muted flex cursor-pointer items-center gap-1 transition-colors duration-200\"\n onClick={() => {\n if (!files) return;\n files.forEach(file => {\n if (!isFileWithPreview(file)) return;\n URL.revokeObjectURL(file.preview);\n });\n setFiles([]);\n onValueChange?.([]);\n }}\n >\n <Trash2 size={16} aria-hidden=\"true\" />\n <p className=\"text-sm\">Xóa tất cả</p>\n </button>\n </div>\n <div className=\"flex flex-col gap-2.5\">\n {files?.map((file, index) => (\n <FileCard key={index} file={file} onRemove={() => onRemove(index)} progress={progresses?.[file.name]} />\n ))}\n </div>\n </div>\n ) : null}\n </div>\n );\n}\n\ninterface FileCardProps {\n file: File;\n onRemove: () => void;\n progress?: number;\n}\n\nfunction FileCard({ file, progress, onRemove }: FileCardProps) {\n return (\n <div className=\"border-border-weak hover:border-border relative flex items-center gap-4 rounded-md border py-2 pr-3 pl-2 shadow-xs transition-colors\">\n <div className=\"flex flex-1 gap-2.5\">\n {isFileWithPreview(file) ? <FilePreview file={file} /> : null}\n <div className=\"flex w-full flex-col gap-2\">\n <div className=\"flex flex-col gap-y-0.5\">\n <p className=\"text-text-positive line-clamp-1 text-sm\">{file.name}</p>\n <p className=\"text-text-positive-muted text-xs\">{formatBytes(file.size)}</p>\n </div>\n {progress ? <Progress value={progress} /> : null}\n </div>\n </div>\n <div className=\"flex items-center gap-2\">\n <Button type=\"button\" variant=\"ghost\" color=\"secondary\" size=\"icon\" className=\"size-7\" onClick={onRemove}>\n <Trash2 size={16} className=\"text-text-positive-muted\" aria-hidden=\"true\" />\n <span className=\"sr-only\">Remove file</span>\n </Button>\n </div>\n </div>\n );\n}\n\nfunction isFileWithPreview(file: File): file is File & { preview: string } {\n return 'preview' in file && typeof file.preview === 'string';\n}\n\ninterface FilePreviewProps {\n file: File & { preview: string };\n}\n\nfunction FilePreview({ file }: FilePreviewProps) {\n if (file.type.startsWith('image/')) {\n return <img src={file.preview} className=\"border-border aspect-square size-10 shrink-0 rounded border object-cover object-top shadow-sm\" />;\n }\n\n return <FileText className=\"text-text-positive-muted size-10 border\" aria-hidden=\"true\" />;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"file-uploader.cjs","names":["Dropzone","Upload","Image","Trash2","Progress","Button","FileText"],"sources":["../../packages/components/ui/file-uploader.tsx"],"sourcesContent":["'use client';\nimport { useCallback, useEffect } from 'react';\nimport Dropzone, { type DropzoneProps, type FileRejection } from 'react-dropzone';\nimport { useControllableState } from '@customafk/react-toolkit/hooks/useControllableState';\nimport { cn, formatBytes } from '@customafk/react-toolkit/utils';\n\nimport { FileText, Image, Trash2, Upload } from 'lucide-react';\nimport { toast } from 'sonner';\n\nimport { Button } from '@/components/ui/button';\nimport { Progress } from '@/components/ui/progress';\n\ninterface FileUploaderProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Value of the uploader.\n * @type File[]\n * @default undefined\n * @example value={files}\n */\n value?: File[];\n\n /**\n * Function to be called when the value changes.\n * @type (files: File[]) => void\n * @default undefined\n * @example onValueChange={(files) => setFiles(files)}\n */\n onValueChange?: (files: File[]) => void;\n\n /**\n * Function to be called when files are uploaded.\n * @type (files: File[]) => Promise<void>\n * @default undefined\n * @example onUpload={(files) => uploadFiles(files)}\n */\n onUpload?: (files: File[]) => Promise<void>;\n\n /**\n * Progress of the uploaded files.\n * @type Record<string, number> | undefined\n * @default undefined\n * @example progresses={{ \"file1.png\": 50 }}\n */\n progresses?: Record<string, number>;\n\n /**\n * Accepted file types for the uploader.\n * @type { [key: string]: string[]}\n * @default\n * ```ts\n * { \"image/*\": [] }\n * ```\n * @example accept={[\"image/png\", \"image/jpeg\"]}\n */\n accept?: DropzoneProps['accept'];\n\n /**\n * Maximum file size for the uploader.\n * @type number | undefined\n * @default 1024 * 1024 * 2 // 2MB\n * @example maxSize={1024 * 1024 * 2} // 2MB\n */\n maxSize?: DropzoneProps['maxSize'];\n\n /**\n * Maximum number of files for the uploader.\n * @type number | undefined\n * @default 1\n * @example maxFileCount={4}\n */\n maxFileCount?: DropzoneProps['maxFiles'];\n\n /**\n * Whether the uploader should accept multiple files.\n * @type boolean\n * @default false\n * @example multiple\n */\n multiple?: boolean;\n\n /**\n * Whether the uploader is disabled.\n * @type boolean\n * @default false\n * @example disabled\n */\n disabled?: boolean;\n\n showText?: boolean;\n iconSize?: number;\n}\n\nexport function FileUploader(props: FileUploaderProps) {\n const {\n value: valueProp,\n onValueChange,\n onUpload,\n progresses,\n accept = {\n 'image/*': [],\n },\n maxSize = 1024 * 1024 * 2,\n maxFileCount = 1,\n multiple = false,\n disabled = false,\n showText = true,\n iconSize,\n className,\n ...dropzoneProps\n } = props;\n\n const [files, setFiles] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n });\n\n const onDrop = useCallback(\n (acceptedFiles: File[], rejectedFiles: FileRejection[]) => {\n if (!multiple && maxFileCount === 1 && acceptedFiles.length > 1) {\n toast.error('Cannot upload more than 1 file at a time');\n\n return;\n }\n\n if ((files?.length ?? 0) + acceptedFiles.length > maxFileCount) {\n toast.error(`Cannot upload more than ${maxFileCount} files`);\n return;\n }\n\n const newFiles = acceptedFiles.map(file =>\n Object.assign(file, {\n preview: URL.createObjectURL(file),\n })\n );\n\n const updatedFiles = files ? [...files, ...newFiles] : newFiles;\n\n setFiles(updatedFiles);\n\n if (rejectedFiles.length > 0) {\n rejectedFiles.forEach(({ file }) => {\n toast.error(`File ${file.name} was rejected`);\n });\n }\n\n if (onUpload && updatedFiles.length > 0 && updatedFiles.length <= maxFileCount) {\n const target = updatedFiles.length > 0 ? `${updatedFiles.length} files` : `file`;\n\n onUpload(updatedFiles).then(() => {\n setFiles([]);\n toast(`${target} uploaded`);\n });\n }\n },\n\n [files, maxFileCount, multiple, onUpload, setFiles]\n );\n\n function onRemove(index: number) {\n if (!files) return;\n\n if (isFileWithPreview(files[index])) {\n URL.revokeObjectURL(files[index].preview);\n }\n\n const newFiles = files.filter((_, i) => i !== index);\n setFiles(newFiles);\n onValueChange?.(newFiles);\n }\n\n // Revoke preview url when component unmounts\n useEffect(() => {\n return () => {\n if (!files) return;\n files.forEach(file => {\n if (isFileWithPreview(file)) {\n URL.revokeObjectURL(file.preview);\n }\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const isDisabled = disabled || (files?.length ?? 0) >= maxFileCount;\n\n return (\n <div className=\"relative flex w-full flex-col gap-6\">\n <Dropzone onDrop={onDrop} accept={accept} maxSize={maxSize} maxFiles={maxFileCount} multiple={maxFileCount > 1 || multiple} disabled={isDisabled}>\n {({ getRootProps, getInputProps, isDragActive }) => (\n <div\n {...getRootProps()}\n className={cn(\n 'group',\n 'border-border-weak',\n 'hover:bg-border-weak/20',\n 'relative grid h-52 w-full cursor-pointer place-items-center rounded-lg border-2 border-dashed px-5 py-2.5 text-center transition',\n 'ring-offset-background',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:ring-2',\n 'focus-visible:ring-offset-2',\n 'focus-visible:outline-hidden',\n isDragActive && 'border-border-primary-strong bg-border-weak/40',\n isDisabled && 'pointer-events-none opacity-60',\n className\n )}\n {...dropzoneProps}\n >\n <input {...getInputProps()} />\n {isDragActive ? (\n <div className=\"flex flex-col items-center justify-center gap-4 sm:px-5\">\n <div className=\"rounded-full border border-dashed p-3\">\n <Upload className=\"text-text-positive-muted size-7\" aria-hidden=\"true\" />\n </div>\n <p className=\"text-text-positive-muted font-medium\">Drop the files here</p>\n </div>\n ) : (\n <div className=\"flex flex-col items-center justify-center gap-4 sm:px-5\">\n <div className=\"rounded-full border border-dashed p-3\">\n <Upload size={iconSize || 24} className=\"text-muted-foreground\" aria-hidden=\"true\" />\n </div>\n {showText && (\n <div className=\"flex flex-col gap-px\">\n <p className=\"text-text-positive-weak text-xs font-medium\">Drag {`'n'`} drop files here, or click to select files</p>\n <p className=\"text-text-positive-muted text-xs\">\n You can upload\n {maxFileCount > 1\n ? ` ${maxFileCount === Infinity ? 'multiple' : maxFileCount}\n files (up to ${formatBytes(maxSize)} each)`\n : ` a file with ${formatBytes(maxSize)}`}\n </p>\n </div>\n )}\n </div>\n )}\n </div>\n )}\n </Dropzone>\n {files?.length ? (\n <div className=\"h-fit w-full overflow-y-auto\">\n <div className=\"flex items-center justify-between px-3 py-2.5\">\n <div className=\"text-text-positive-weak flex items-center gap-1\">\n <Image size={16} aria-hidden=\"true\" />\n <p className=\"text-sm\">Ảnh đã tải lên ({files.length})</p>\n </div>\n <button\n className=\"hover:text-text-positive text-text-positive-muted flex cursor-pointer items-center gap-1 transition-colors duration-200\"\n onClick={() => {\n if (!files) return;\n files.forEach(file => {\n if (!isFileWithPreview(file)) return;\n URL.revokeObjectURL(file.preview);\n });\n setFiles([]);\n onValueChange?.([]);\n }}\n >\n <Trash2 size={16} aria-hidden=\"true\" />\n <p className=\"text-sm\">Xóa tất cả</p>\n </button>\n </div>\n <div className=\"flex flex-col gap-2.5\">\n {files?.map((file, index) => (\n <FileCard key={index} file={file} onRemove={() => onRemove(index)} progress={progresses?.[file.name]} />\n ))}\n </div>\n </div>\n ) : null}\n </div>\n );\n}\n\ninterface FileCardProps {\n file: File;\n onRemove: () => void;\n progress?: number;\n}\n\nfunction FileCard({ file, progress, onRemove }: FileCardProps) {\n return (\n <div className=\"border-border-weak hover:border-border relative flex items-center gap-4 rounded-md border py-2 pr-3 pl-2 shadow-xs transition-colors\">\n <div className=\"flex flex-1 gap-2.5\">\n {isFileWithPreview(file) ? <FilePreview file={file} /> : null}\n <div className=\"flex w-full flex-col gap-2\">\n <div className=\"flex flex-col gap-y-0.5\">\n <p className=\"text-text-positive line-clamp-1 text-sm\">{file.name}</p>\n <p className=\"text-text-positive-muted text-xs\">{formatBytes(file.size)}</p>\n </div>\n {progress ? <Progress value={progress} /> : null}\n </div>\n </div>\n <div className=\"flex items-center gap-2\">\n <Button type=\"button\" variant=\"ghost\" color=\"secondary\" size=\"icon\" className=\"size-7\" onClick={onRemove}>\n <Trash2 size={16} className=\"text-text-positive-muted\" aria-hidden=\"true\" />\n <span className=\"sr-only\">Remove file</span>\n </Button>\n </div>\n </div>\n );\n}\n\nfunction isFileWithPreview(file: File): file is File & { preview: string } {\n return 'preview' in file && typeof file.preview === 'string';\n}\n\ninterface FilePreviewProps {\n file: File & { preview: string };\n}\n\nfunction FilePreview({ file }: FilePreviewProps) {\n if (file.type.startsWith('image/')) {\n return <img src={file.preview} className=\"border-border aspect-square size-10 shrink-0 rounded border object-cover object-top shadow-sm\" />;\n }\n\n return <FileText className=\"text-text-positive-muted size-10 border\" aria-hidden=\"true\" />;\n}\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- "use client";import"../dist-B3j6PslN.js";import"../button-variants-D1PJJEST.js";import{t as e}from"../button-dQ8MuLKP.js";import{t}from"../progress-Dn3ldoTC.js";import{FileText as n,Image as r,Trash2 as i,Upload as a}from"lucide-react";import{cn as o,formatBytes as s}from"@customafk/react-toolkit/utils";import{useCallback as c,useEffect as l}from"react";import{jsx as u,jsxs as d}from"react/jsx-runtime";import f from"react-dropzone";import{useControllableState as p}from"@customafk/react-toolkit/hooks/useControllableState";import{toast as m}from"sonner";function h(e){let{value:t,onValueChange:n,onUpload:h,progresses:v,accept:y={"image/*":[]},maxSize:b=1024*1024*2,maxFileCount:x=1,multiple:S=!1,disabled:C=!1,showText:w=!0,iconSize:T,className:E,...D}=e,[O,k]=p({prop:t,onChange:n}),A=c((e,t)=>{if(!S&&x===1&&e.length>1){m.error(`Cannot upload more than 1 file at a time`);return}if((O?.length??0)+e.length>x){m.error(`Cannot upload more than ${x} files`);return}let n=e.map(e=>Object.assign(e,{preview:URL.createObjectURL(e)})),r=O?[...O,...n]:n;if(k(r),t.length>0&&t.forEach(({file:e})=>{m.error(`File ${e.name} was rejected`)}),h&&r.length>0&&r.length<=x){let e=r.length>0?`${r.length} files`:`file`;h(r).then(()=>{k([]),m(`${e} uploaded`)})}},[O,x,S,h,k]);function j(e){if(!O)return;_(O[e])&&URL.revokeObjectURL(O[e].preview);let t=O.filter((t,n)=>n!==e);k(t),n?.(t)}l(()=>()=>{O&&O.forEach(e=>{_(e)&&URL.revokeObjectURL(e.preview)})},[]);let M=C||(O?.length??0)>=x;return d(`div`,{className:`relative flex w-full flex-col gap-6`,children:[u(f,{onDrop:A,accept:y,maxSize:b,maxFiles:x,multiple:x>1||S,disabled:M,children:({getRootProps:e,getInputProps:t,isDragActive:n})=>d(`div`,{...e(),className:o(`group`,`border-border-weak`,`hover:bg-border-weak/20`,`relative grid h-52 w-full cursor-pointer place-items-center rounded-lg border-2 border-dashed px-5 py-2.5 text-center transition`,`ring-offset-background`,`focus-visible:ring-primary-weak`,`focus-visible:ring-2`,`focus-visible:ring-offset-2`,`focus-visible:outline-hidden`,n&&`border-border-primary-strong bg-border-weak/40`,M&&`pointer-events-none opacity-60`,E),...D,children:[u(`input`,{...t()}),n?d(`div`,{className:`flex flex-col items-center justify-center gap-4 sm:px-5`,children:[u(`div`,{className:`rounded-full border border-dashed p-3`,children:u(a,{className:`text-text-positive-muted size-7`,"aria-hidden":`true`})}),u(`p`,{className:`text-text-positive-muted font-medium`,children:`Drop the files here`})]}):d(`div`,{className:`flex flex-col items-center justify-center gap-4 sm:px-5`,children:[u(`div`,{className:`rounded-full border border-dashed p-3`,children:u(a,{size:T||24,className:`text-muted-foreground`,"aria-hidden":`true`})}),w&&d(`div`,{className:`flex flex-col gap-px`,children:[d(`p`,{className:`text-text-positive-weak text-xs font-medium`,children:[`Drag `,`'n'`,` drop files here, or click to select files`]}),d(`p`,{className:`text-text-positive-muted text-xs`,children:[`You can upload`,x>1?` ${x===1/0?`multiple`:x}
2
- files (up to ${s(b)} each)`:` a file with ${s(b)}`]})]})]})]})}),O?.length?d(`div`,{className:`h-fit w-full overflow-y-auto`,children:[d(`div`,{className:`flex items-center justify-between px-3 py-2.5`,children:[d(`div`,{className:`text-text-positive-weak flex items-center gap-1`,children:[u(r,{size:16,"aria-hidden":`true`}),d(`p`,{className:`text-sm`,children:[`Ảnh đã tải lên (`,O.length,`)`]})]}),d(`button`,{className:`hover:text-text-positive text-text-positive-muted flex cursor-pointer items-center gap-1 transition-colors duration-200`,onClick:()=>{O&&(O.forEach(e=>{_(e)&&URL.revokeObjectURL(e.preview)}),k([]),n?.([]))},children:[u(i,{size:16,"aria-hidden":`true`}),u(`p`,{className:`text-sm`,children:`Xóa tất cả`})]})]}),u(`div`,{className:`flex flex-col gap-2.5`,children:O?.map((e,t)=>u(g,{file:e,onRemove:()=>j(t),progress:v?.[e.name]},t))})]}):null]})}function g({file:n,progress:r,onRemove:a}){return d(`div`,{className:`border-border-weak hover:border-border relative flex items-center gap-4 rounded-md border py-2 pr-3 pl-2 shadow-xs transition-colors`,children:[d(`div`,{className:`flex flex-1 gap-2.5`,children:[_(n)?u(v,{file:n}):null,d(`div`,{className:`flex w-full flex-col gap-2`,children:[d(`div`,{className:`flex flex-col gap-y-0.5`,children:[u(`p`,{className:`text-text-positive line-clamp-1 text-sm`,children:n.name}),u(`p`,{className:`text-text-positive-muted text-xs`,children:s(n.size)})]}),r?u(t,{value:r}):null]})]}),u(`div`,{className:`flex items-center gap-2`,children:d(e,{type:`button`,variant:`ghost`,color:`secondary`,size:`icon`,className:`size-7`,onClick:a,children:[u(i,{size:16,className:`text-text-positive-muted`,"aria-hidden":`true`}),u(`span`,{className:`sr-only`,children:`Remove file`})]})})]})}function _(e){return`preview`in e&&typeof e.preview==`string`}function v({file:e}){return e.type.startsWith(`image/`)?u(`img`,{src:e.preview,className:`border-border aspect-square size-10 shrink-0 rounded border object-cover object-top shadow-sm`}):u(n,{className:`text-text-positive-muted size-10 border`,"aria-hidden":`true`})}export{h as FileUploader};
1
+ "use client";import"../dist--0WptDez.js";import"../button.variants-D-o2smvP.js";import{t as e}from"../button-ZBnX9IoC.js";import{t}from"../progress-qP8KLube.js";import{FileText as n,Image as r,Trash2 as i,Upload as a}from"lucide-react";import{useCallback as o,useEffect as s}from"react";import{cn as c,formatBytes as l}from"@customafk/react-toolkit/utils";import{jsx as u,jsxs as d}from"react/jsx-runtime";import f from"react-dropzone";import{useControllableState as p}from"@customafk/react-toolkit/hooks/useControllableState";import{toast as m}from"sonner";function h(e){let{value:t,onValueChange:n,onUpload:h,progresses:v,accept:y={"image/*":[]},maxSize:b=1024*1024*2,maxFileCount:x=1,multiple:S=!1,disabled:C=!1,showText:w=!0,iconSize:T,className:E,...D}=e,[O,k]=p({prop:t,onChange:n}),A=o((e,t)=>{if(!S&&x===1&&e.length>1){m.error(`Cannot upload more than 1 file at a time`);return}if((O?.length??0)+e.length>x){m.error(`Cannot upload more than ${x} files`);return}let n=e.map(e=>Object.assign(e,{preview:URL.createObjectURL(e)})),r=O?[...O,...n]:n;if(k(r),t.length>0&&t.forEach(({file:e})=>{m.error(`File ${e.name} was rejected`)}),h&&r.length>0&&r.length<=x){let e=r.length>0?`${r.length} files`:`file`;h(r).then(()=>{k([]),m(`${e} uploaded`)})}},[O,x,S,h,k]);function j(e){if(!O)return;_(O[e])&&URL.revokeObjectURL(O[e].preview);let t=O.filter((t,n)=>n!==e);k(t),n?.(t)}s(()=>()=>{O&&O.forEach(e=>{_(e)&&URL.revokeObjectURL(e.preview)})},[]);let M=C||(O?.length??0)>=x;return d(`div`,{className:`relative flex w-full flex-col gap-6`,children:[u(f,{onDrop:A,accept:y,maxSize:b,maxFiles:x,multiple:x>1||S,disabled:M,children:({getRootProps:e,getInputProps:t,isDragActive:n})=>d(`div`,{...e(),className:c(`group`,`border-border-weak`,`hover:bg-border-weak/20`,`relative grid h-52 w-full cursor-pointer place-items-center rounded-lg border-2 border-dashed px-5 py-2.5 text-center transition`,`ring-offset-background`,`focus-visible:ring-primary-weak`,`focus-visible:ring-2`,`focus-visible:ring-offset-2`,`focus-visible:outline-hidden`,n&&`border-border-primary-strong bg-border-weak/40`,M&&`pointer-events-none opacity-60`,E),...D,children:[u(`input`,{...t()}),n?d(`div`,{className:`flex flex-col items-center justify-center gap-4 sm:px-5`,children:[u(`div`,{className:`rounded-full border border-dashed p-3`,children:u(a,{className:`text-text-positive-muted size-7`,"aria-hidden":`true`})}),u(`p`,{className:`text-text-positive-muted font-medium`,children:`Drop the files here`})]}):d(`div`,{className:`flex flex-col items-center justify-center gap-4 sm:px-5`,children:[u(`div`,{className:`rounded-full border border-dashed p-3`,children:u(a,{size:T||24,className:`text-muted-foreground`,"aria-hidden":`true`})}),w&&d(`div`,{className:`flex flex-col gap-px`,children:[d(`p`,{className:`text-text-positive-weak text-xs font-medium`,children:[`Drag `,`'n'`,` drop files here, or click to select files`]}),d(`p`,{className:`text-text-positive-muted text-xs`,children:[`You can upload`,x>1?` ${x===1/0?`multiple`:x}
2
+ files (up to ${l(b)} each)`:` a file with ${l(b)}`]})]})]})]})}),O?.length?d(`div`,{className:`h-fit w-full overflow-y-auto`,children:[d(`div`,{className:`flex items-center justify-between px-3 py-2.5`,children:[d(`div`,{className:`text-text-positive-weak flex items-center gap-1`,children:[u(r,{size:16,"aria-hidden":`true`}),d(`p`,{className:`text-sm`,children:[`Ảnh đã tải lên (`,O.length,`)`]})]}),d(`button`,{className:`hover:text-text-positive text-text-positive-muted flex cursor-pointer items-center gap-1 transition-colors duration-200`,onClick:()=>{O&&(O.forEach(e=>{_(e)&&URL.revokeObjectURL(e.preview)}),k([]),n?.([]))},children:[u(i,{size:16,"aria-hidden":`true`}),u(`p`,{className:`text-sm`,children:`Xóa tất cả`})]})]}),u(`div`,{className:`flex flex-col gap-2.5`,children:O?.map((e,t)=>u(g,{file:e,onRemove:()=>j(t),progress:v?.[e.name]},t))})]}):null]})}function g({file:n,progress:r,onRemove:a}){return d(`div`,{className:`border-border-weak hover:border-border relative flex items-center gap-4 rounded-md border py-2 pr-3 pl-2 shadow-xs transition-colors`,children:[d(`div`,{className:`flex flex-1 gap-2.5`,children:[_(n)?u(v,{file:n}):null,d(`div`,{className:`flex w-full flex-col gap-2`,children:[d(`div`,{className:`flex flex-col gap-y-0.5`,children:[u(`p`,{className:`text-text-positive line-clamp-1 text-sm`,children:n.name}),u(`p`,{className:`text-text-positive-muted text-xs`,children:l(n.size)})]}),r?u(t,{value:r}):null]})]}),u(`div`,{className:`flex items-center gap-2`,children:d(e,{type:`button`,variant:`ghost`,color:`secondary`,size:`icon`,className:`size-7`,onClick:a,children:[u(i,{size:16,className:`text-text-positive-muted`,"aria-hidden":`true`}),u(`span`,{className:`sr-only`,children:`Remove file`})]})})]})}function _(e){return`preview`in e&&typeof e.preview==`string`}function v({file:e}){return e.type.startsWith(`image/`)?u(`img`,{src:e.preview,className:`border-border aspect-square size-10 shrink-0 rounded border object-cover object-top shadow-sm`}):u(n,{className:`text-text-positive-muted size-10 border`,"aria-hidden":`true`})}export{h as FileUploader};
3
3
  //# sourceMappingURL=file-uploader.js.map
@@ -0,0 +1,50 @@
1
+ import * as react_jsx_runtime102 from "react/jsx-runtime";
2
+ import * as react28 from "react";
3
+ import { Label, Slot } from "radix-ui";
4
+ import * as react_hook_form0 from "react-hook-form";
5
+ import { ControllerProps, FieldPath, FieldValues } from "react-hook-form";
6
+
7
+ //#region packages/components/ui/form.d.ts
8
+ declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: react_hook_form0.FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React.JSX.Element;
9
+ declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({
10
+ ...props
11
+ }: ControllerProps<TFieldValues, TName>) => react_jsx_runtime102.JSX.Element;
12
+ declare const useFormField: () => {
13
+ invalid: boolean;
14
+ isDirty: boolean;
15
+ isTouched: boolean;
16
+ isValidating: boolean;
17
+ error?: react_hook_form0.FieldError;
18
+ id: string;
19
+ control: react_hook_form0.Control<FieldValues, any, FieldValues>;
20
+ resetField: react_hook_form0.UseFormResetField<FieldValues>;
21
+ name: string;
22
+ formItemId: string;
23
+ formDescriptionId: string;
24
+ formMessageId: string;
25
+ };
26
+ declare const FormItem: react28.MemoExoticComponent<({
27
+ className,
28
+ orientation,
29
+ ...props
30
+ }: React.ComponentProps<"div"> & {
31
+ orientation?: "vertical" | "horizontal" | "responsive";
32
+ }) => react_jsx_runtime102.JSX.Element>;
33
+ declare const FormLabel: react28.MemoExoticComponent<({
34
+ ...props
35
+ }: React.ComponentProps<typeof Label.Root>) => react_jsx_runtime102.JSX.Element>;
36
+ declare const FormControl: react28.MemoExoticComponent<({
37
+ ...props
38
+ }: React.ComponentProps<typeof Slot.Slot>) => react_jsx_runtime102.JSX.Element>;
39
+ declare function FormDescription({
40
+ className,
41
+ ...props
42
+ }: React.ComponentProps<'p'>): react_jsx_runtime102.JSX.Element;
43
+ declare function FormMessage({
44
+ className,
45
+ children,
46
+ ...props
47
+ }: React.ComponentProps<'p'>): react_jsx_runtime102.JSX.Element;
48
+ //#endregion
49
+ export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField };
50
+ //# sourceMappingURL=form-BHN5xtW2.d.cts.map
@@ -0,0 +1,50 @@
1
+ import * as react36 from "react";
2
+ import * as react_jsx_runtime175 from "react/jsx-runtime";
3
+ import { Label, Slot } from "radix-ui";
4
+ import * as react_hook_form0 from "react-hook-form";
5
+ import { ControllerProps, FieldPath, FieldValues } from "react-hook-form";
6
+
7
+ //#region packages/components/ui/form.d.ts
8
+ declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: react_hook_form0.FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React.JSX.Element;
9
+ declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({
10
+ ...props
11
+ }: ControllerProps<TFieldValues, TName>) => react_jsx_runtime175.JSX.Element;
12
+ declare const useFormField: () => {
13
+ invalid: boolean;
14
+ isDirty: boolean;
15
+ isTouched: boolean;
16
+ isValidating: boolean;
17
+ error?: react_hook_form0.FieldError;
18
+ id: string;
19
+ control: react_hook_form0.Control<FieldValues, any, FieldValues>;
20
+ resetField: react_hook_form0.UseFormResetField<FieldValues>;
21
+ name: string;
22
+ formItemId: string;
23
+ formDescriptionId: string;
24
+ formMessageId: string;
25
+ };
26
+ declare const FormItem: react36.MemoExoticComponent<({
27
+ className,
28
+ orientation,
29
+ ...props
30
+ }: React.ComponentProps<"div"> & {
31
+ orientation?: "vertical" | "horizontal" | "responsive";
32
+ }) => react_jsx_runtime175.JSX.Element>;
33
+ declare const FormLabel: react36.MemoExoticComponent<({
34
+ ...props
35
+ }: React.ComponentProps<typeof Label.Root>) => react_jsx_runtime175.JSX.Element>;
36
+ declare const FormControl: react36.MemoExoticComponent<({
37
+ ...props
38
+ }: React.ComponentProps<typeof Slot.Slot>) => react_jsx_runtime175.JSX.Element>;
39
+ declare function FormDescription({
40
+ className,
41
+ ...props
42
+ }: React.ComponentProps<'p'>): react_jsx_runtime175.JSX.Element;
43
+ declare function FormMessage({
44
+ className,
45
+ children,
46
+ ...props
47
+ }: React.ComponentProps<'p'>): react_jsx_runtime175.JSX.Element;
48
+ //#endregion
49
+ export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField };
50
+ //# sourceMappingURL=form-Dg08kxTD.d.ts.map
package/dist/ui/form.cjs CHANGED
@@ -1 +1 @@
1
- "use client";require(`../label-C81VuIr1.cjs`),require(`../separator-DSfwqts2.cjs`),require(`../field-fedFAcLt.cjs`);const e=require(`../form-CQcAxI-L.cjs`);exports.Form=e.t,exports.FormControl=e.n,exports.FormDescription=e.r,exports.FormField=e.i,exports.FormItem=e.a,exports.FormLabel=e.o,exports.FormMessage=e.s,exports.useFormField=e.c;
1
+ "use client";require(`../label-D2Kl-Q_-.cjs`),require(`../separator-D3CGKwyf.cjs`),require(`../field-Cjpwx_6d.cjs`);const e=require(`../form-D1gfOYhk.cjs`);exports.Form=e.t,exports.FormControl=e.n,exports.FormDescription=e.r,exports.FormField=e.i,exports.FormItem=e.a,exports.FormLabel=e.o,exports.FormMessage=e.s,exports.useFormField=e.c;
package/dist/ui/form.js CHANGED
@@ -1 +1 @@
1
- "use client";import"../label-DeTp9ffC.js";import"../separator-aMl6UNM2.js";import"../field-QnC1I0hN.js";import{a as e,c as t,i as n,n as r,o as i,r as a,s as o,t as s}from"../form-CoqTElrC.js";export{s as Form,r as FormControl,a as FormDescription,n as FormField,e as FormItem,i as FormLabel,o as FormMessage,t as useFormField};
1
+ "use client";import"../label-pQFhmWzJ.js";import"../separator-udZphpLE.js";import"../field-CBs15wFj.js";import{a as e,c as t,i as n,n as r,o as i,r as a,s as o,t as s}from"../form-aAvu-cMF.js";export{s as Form,r as FormControl,a as FormDescription,n as FormField,e as FormItem,i as FormLabel,o as FormMessage,t as useFormField};
@@ -0,0 +1,19 @@
1
+ import * as react_jsx_runtime111 from "react/jsx-runtime";
2
+ import { HoverCard as HoverCard$1 } from "radix-ui";
3
+
4
+ //#region packages/components/ui/hover-card.d.ts
5
+ declare function HoverCard({
6
+ ...props
7
+ }: React.ComponentProps<typeof HoverCard$1.Root>): react_jsx_runtime111.JSX.Element;
8
+ declare function HoverCardTrigger({
9
+ ...props
10
+ }: React.ComponentProps<typeof HoverCard$1.Trigger>): react_jsx_runtime111.JSX.Element;
11
+ declare function HoverCardContent({
12
+ className,
13
+ align,
14
+ sideOffset,
15
+ ...props
16
+ }: React.ComponentProps<typeof HoverCard$1.Content>): react_jsx_runtime111.JSX.Element;
17
+ //#endregion
18
+ export { HoverCard, HoverCardContent, HoverCardTrigger };
19
+ //# sourceMappingURL=hover-card-BeoLU8AF.d.ts.map
@@ -0,0 +1,19 @@
1
+ import * as react_jsx_runtime151 from "react/jsx-runtime";
2
+ import { HoverCard as HoverCard$1 } from "radix-ui";
3
+
4
+ //#region packages/components/ui/hover-card.d.ts
5
+ declare function HoverCard({
6
+ ...props
7
+ }: React.ComponentProps<typeof HoverCard$1.Root>): react_jsx_runtime151.JSX.Element;
8
+ declare function HoverCardTrigger({
9
+ ...props
10
+ }: React.ComponentProps<typeof HoverCard$1.Trigger>): react_jsx_runtime151.JSX.Element;
11
+ declare function HoverCardContent({
12
+ className,
13
+ align,
14
+ sideOffset,
15
+ ...props
16
+ }: React.ComponentProps<typeof HoverCard$1.Content>): react_jsx_runtime151.JSX.Element;
17
+ //#endregion
18
+ export { HoverCard, HoverCardContent, HoverCardTrigger };
19
+ //# sourceMappingURL=hover-card-joO9kbQV.d.cts.map
@@ -1,2 +1,2 @@
1
- "use client";const e=require(`../chunk-DjWAcSYV.cjs`);let t=require(`@customafk/react-toolkit/utils`);t=e.t(t);let n=require(`react/jsx-runtime`);n=e.t(n);let r=require(`radix-ui`);r=e.t(r);function i({...e}){return(0,n.jsx)(r.HoverCard.Root,{"data-slot":`hover-card`,...e})}function a({...e}){return(0,n.jsx)(r.HoverCard.Trigger,{"data-slot":`hover-card-trigger`,...e})}function o({className:e,align:i=`center`,sideOffset:a=4,...o}){return(0,n.jsx)(r.HoverCard.Portal,{"data-slot":`hover-card-portal`,children:(0,n.jsx)(r.HoverCard.Content,{"data-slot":`hover-card-content`,align:i,sideOffset:a,className:(0,t.cn)(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden`,e),...o})})}exports.HoverCard=i,exports.HoverCardContent=o,exports.HoverCardTrigger=a;
1
+ "use client";const e=require(`../chunk-Bmb41Sf3.cjs`);let t=require(`@customafk/react-toolkit/utils`),n=require(`react/jsx-runtime`),r=require(`radix-ui`);function i({...e}){return(0,n.jsx)(r.HoverCard.Root,{"data-slot":`hover-card`,...e})}function a({...e}){return(0,n.jsx)(r.HoverCard.Trigger,{"data-slot":`hover-card-trigger`,...e})}function o({className:e,align:i=`center`,sideOffset:a=4,...o}){return(0,n.jsx)(r.HoverCard.Portal,{"data-slot":`hover-card-portal`,children:(0,n.jsx)(r.HoverCard.Content,{"data-slot":`hover-card-content`,align:i,sideOffset:a,className:(0,t.cn)(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden`,e),...o})})}exports.HoverCard=i,exports.HoverCardContent=o,exports.HoverCardTrigger=a;
2
2
  //# sourceMappingURL=hover-card.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"hover-card.cjs","names":["HoverCardPrimitive"],"sources":["../../packages/components/ui/hover-card.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { HoverCard as HoverCardPrimitive } from 'radix-ui';\n\nfunction HoverCard({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Root>) {\n return <HoverCardPrimitive.Root data-slot=\"hover-card\" {...props} />;\n}\n\nfunction HoverCardTrigger({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Trigger>) {\n return <HoverCardPrimitive.Trigger data-slot=\"hover-card-trigger\" {...props} />;\n}\n\nfunction HoverCardContent({ className, align = 'center', sideOffset = 4, ...props }: React.ComponentProps<typeof HoverCardPrimitive.Content>) {\n return (\n <HoverCardPrimitive.Portal data-slot=\"hover-card-portal\">\n <HoverCardPrimitive.Content\n data-slot=\"hover-card-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden',\n className\n )}\n {...props}\n />\n </HoverCardPrimitive.Portal>\n );\n}\n\nexport { HoverCard, HoverCardContent, HoverCardTrigger };\n"],"mappings":"8LAKA,SAAS,EAAU,CAAE,GAAG,GAA+D,CACrF,OAAO,EAAA,EAAA,KAACA,EAAAA,UAAmB,KAAA,CAAK,YAAU,aAAa,GAAI,GAAS,CAGtE,SAAS,EAAiB,CAAE,GAAG,GAAkE,CAC/F,OAAO,EAAA,EAAA,KAACA,EAAAA,UAAmB,QAAA,CAAQ,YAAU,qBAAqB,GAAI,GAAS,CAGjF,SAAS,EAAiB,CAAE,YAAW,QAAQ,SAAU,aAAa,EAAG,GAAG,GAAkE,CAC5I,OACE,EAAA,EAAA,KAACA,EAAAA,UAAmB,OAAA,CAAO,YAAU,8BACnC,EAAA,EAAA,KAACA,EAAAA,UAAmB,QAAA,CAClB,YAAU,qBACH,QACK,aACZ,WAAA,EAAA,EAAA,IACE,oeACA,EACD,CACD,GAAI,GACJ,EACwB"}
1
+ {"version":3,"file":"hover-card.cjs","names":["HoverCardPrimitive"],"sources":["../../packages/components/ui/hover-card.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { HoverCard as HoverCardPrimitive } from 'radix-ui';\n\nfunction HoverCard({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Root>) {\n return <HoverCardPrimitive.Root data-slot=\"hover-card\" {...props} />;\n}\n\nfunction HoverCardTrigger({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Trigger>) {\n return <HoverCardPrimitive.Trigger data-slot=\"hover-card-trigger\" {...props} />;\n}\n\nfunction HoverCardContent({ className, align = 'center', sideOffset = 4, ...props }: React.ComponentProps<typeof HoverCardPrimitive.Content>) {\n return (\n <HoverCardPrimitive.Portal data-slot=\"hover-card-portal\">\n <HoverCardPrimitive.Content\n data-slot=\"hover-card-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden',\n className\n )}\n {...props}\n />\n </HoverCardPrimitive.Portal>\n );\n}\n\nexport { HoverCard, HoverCardContent, HoverCardTrigger };\n"],"mappings":"2JAKA,SAAS,EAAU,CAAE,GAAG,GAA+D,CACrF,OAAO,EAAA,EAAA,KAACA,EAAAA,UAAmB,KAAA,CAAK,YAAU,aAAa,GAAI,GAAS,CAGtE,SAAS,EAAiB,CAAE,GAAG,GAAkE,CAC/F,OAAO,EAAA,EAAA,KAACA,EAAAA,UAAmB,QAAA,CAAQ,YAAU,qBAAqB,GAAI,GAAS,CAGjF,SAAS,EAAiB,CAAE,YAAW,QAAQ,SAAU,aAAa,EAAG,GAAG,GAAkE,CAC5I,OACE,EAAA,EAAA,KAACA,EAAAA,UAAmB,OAAA,CAAO,YAAU,8BACnC,EAAA,EAAA,KAACA,EAAAA,UAAmB,QAAA,CAClB,YAAU,qBACH,QACK,aACZ,WAAA,EAAA,EAAA,IACE,oeACA,EACD,CACD,GAAI,GACJ,EACwB"}
@@ -0,0 +1,16 @@
1
+ //#region packages/components/ui/image.d.ts
2
+ type Props = {
3
+ src?: string;
4
+ alt?: string;
5
+ width?: number | string;
6
+ height?: number | string;
7
+ maxRetries?: number;
8
+ retryDelay?: number;
9
+ className?: string;
10
+ imageClassName?: string;
11
+ onClick?: () => void;
12
+ };
13
+ declare const Image: React.FC<Props>;
14
+ //#endregion
15
+ export { Image };
16
+ //# sourceMappingURL=image-D3gH7LbY.d.cts.map
@@ -0,0 +1,16 @@
1
+ //#region packages/components/ui/image.d.ts
2
+ type Props = {
3
+ src?: string;
4
+ alt?: string;
5
+ width?: number | string;
6
+ height?: number | string;
7
+ maxRetries?: number;
8
+ retryDelay?: number;
9
+ className?: string;
10
+ imageClassName?: string;
11
+ onClick?: () => void;
12
+ };
13
+ declare const Image: React.FC<Props>;
14
+ //#endregion
15
+ export { Image };
16
+ //# sourceMappingURL=image-J2Hmt4R2.d.ts.map
package/dist/ui/image.cjs CHANGED
@@ -1 +1 @@
1
- require(`../skeleton-DYa_q0Y4.cjs`);const e=require(`../image-lnojols3.cjs`);exports.Image=e.t;
1
+ require(`../skeleton-C4suljHP.cjs`);const e=require(`../image-Dq0ZoOjj.cjs`);exports.Image=e.t;
package/dist/ui/image.js CHANGED
@@ -1 +1 @@
1
- import"../skeleton-DO7Vt-7f.js";import{t as e}from"../image-DQ3Kw6Yx.js";export{e as Image};
1
+ import"../skeleton-CDtN_I2p.js";import{t as e}from"../image-CEpDTwsN.js";export{e as Image};
@@ -0,0 +1,2 @@
1
+ import { t as Input } from "../input-D-FBvWmB.cjs";
2
+ export { Input };
@@ -0,0 +1,2 @@
1
+ import { t as Input } from "../input-DuCwdqWK.js";
2
+ export { Input };
@@ -0,0 +1,28 @@
1
+ import * as react_jsx_runtime106 from "react/jsx-runtime";
2
+ import { OTPInput } from "input-otp";
3
+
4
+ //#region packages/components/ui/input-otp.d.ts
5
+ declare function InputOTP({
6
+ className,
7
+ containerClassName,
8
+ ...props
9
+ }: React.ComponentProps<typeof OTPInput> & {
10
+ containerClassName?: string;
11
+ }): react_jsx_runtime106.JSX.Element;
12
+ declare function InputOTPGroup({
13
+ className,
14
+ ...props
15
+ }: React.ComponentProps<'div'>): react_jsx_runtime106.JSX.Element;
16
+ declare function InputOTPSlot({
17
+ index,
18
+ className,
19
+ ...props
20
+ }: React.ComponentProps<'div'> & {
21
+ index: number;
22
+ }): react_jsx_runtime106.JSX.Element;
23
+ declare function InputOTPSeparator({
24
+ ...props
25
+ }: React.ComponentProps<'div'>): react_jsx_runtime106.JSX.Element;
26
+ //#endregion
27
+ export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot };
28
+ //# sourceMappingURL=input-otp-w8P-munP.d.ts.map