@customafk/lunas-ui 0.2.40 → 0.2.42

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 (644) hide show
  1. package/dist/{alert-BztgYPpW.d.cts → alert-BVsYpWFX.d.cts} +5 -5
  2. package/dist/{alert-BzBDfGk2.js → alert-D5VmhFT9.js} +2 -2
  3. package/dist/{alert-BzBDfGk2.js.map → alert-D5VmhFT9.js.map} +1 -1
  4. package/dist/{alert-DFvMshuq.d.ts → alert-DXmXDeGs.d.ts} +5 -5
  5. package/dist/{alert-B2PaDJp6.cjs → alert-JwECRZfz.cjs} +2 -2
  6. package/dist/{alert-B2PaDJp6.cjs.map → alert-JwECRZfz.cjs.map} +1 -1
  7. package/dist/{button-DloFFxkz.d.ts → button-BBfGvggN.d.ts} +3 -3
  8. package/dist/{button-CRSezlCi.d.cts → button-BEjRVw6s.d.cts} +3 -3
  9. package/dist/{button.variants-CoSpd71B.js → button.variants-BruXd4VM.js} +1 -1
  10. package/dist/{button.variants-CoSpd71B.js.map → button.variants-BruXd4VM.js.map} +1 -1
  11. package/dist/{button.variants-4kw6plrv.cjs → button.variants-DgVFNsVc.cjs} +2 -2
  12. package/dist/{button.variants-4kw6plrv.cjs.map → button.variants-DgVFNsVc.cjs.map} +1 -1
  13. package/dist/cards/grid-product-card.cjs +1 -1
  14. package/dist/cards/grid-product-card.cjs.map +1 -1
  15. package/dist/cards/grid-product-card.js +1 -1
  16. package/dist/cards/grid-product-card.js.map +1 -1
  17. package/dist/cards/product-card.cjs +1 -1
  18. package/dist/cards/product-card.cjs.map +1 -1
  19. package/dist/cards/product-card.js +1 -1
  20. package/dist/cards/product-card.js.map +1 -1
  21. package/dist/cards/simple-card.cjs +1 -1
  22. package/dist/cards/simple-card.d.ts +2 -2
  23. package/dist/cards/simple-card.js +1 -1
  24. package/dist/chunk-Bmb41Sf3.cjs +1 -0
  25. package/dist/{close-Dlo1bI8x.cjs → close-Dflkky9q.cjs} +2 -2
  26. package/dist/{close-Dlo1bI8x.cjs.map → close-Dflkky9q.cjs.map} +1 -1
  27. package/dist/{close-C0PdZGxr.js → close-DrkwaVXK.js} +1 -1
  28. package/dist/{close-C0PdZGxr.js.map → close-DrkwaVXK.js.map} +1 -1
  29. package/dist/cms-layout-B8maJRLp.cjs +2 -0
  30. package/dist/{cms-layout-BCH4NroR.cjs.map → cms-layout-B8maJRLp.cjs.map} +1 -1
  31. package/dist/cms-layout-CLeGdpMb.js +2 -0
  32. package/dist/{cms-layout-tPwrgJZc.js.map → cms-layout-CLeGdpMb.js.map} +1 -1
  33. package/dist/data-display/country.cjs +1 -1
  34. package/dist/data-display/country.cjs.map +1 -1
  35. package/dist/data-display/country.d.cts +1 -1
  36. package/dist/data-display/country.d.ts +1 -1
  37. package/dist/data-display/country.js +1 -1
  38. package/dist/data-display/country.js.map +1 -1
  39. package/dist/data-display/data-list.cjs +1 -1
  40. package/dist/data-display/date-tooltip.cjs +1 -1
  41. package/dist/data-display/date-tooltip.cjs.map +1 -1
  42. package/dist/data-display/date-tooltip.js +1 -1
  43. package/dist/data-display/date-tooltip.js.map +1 -1
  44. package/dist/data-display/date.cjs +2 -1
  45. package/dist/data-display/date.cjs.map +1 -0
  46. package/dist/data-display/date.js +2 -1
  47. package/dist/data-display/date.js.map +1 -0
  48. package/dist/data-display/empty.cjs +1 -1
  49. package/dist/data-display/name.cjs +1 -1
  50. package/dist/data-display/name.cjs.map +1 -1
  51. package/dist/data-display/name.js +1 -1
  52. package/dist/data-display/name.js.map +1 -1
  53. package/dist/data-display/phone-number.cjs +1 -1
  54. package/dist/data-display/phone-number.cjs.map +1 -1
  55. package/dist/data-display/phone-number.js +1 -1
  56. package/dist/data-display/phone-number.js.map +1 -1
  57. package/dist/data-display/role-badge.cjs +1 -1
  58. package/dist/data-display/role-badge.cjs.map +1 -1
  59. package/dist/data-display/role-badge.d.cts +1 -1
  60. package/dist/data-display/role-badge.d.ts +1 -1
  61. package/dist/data-display/role-badge.js +1 -1
  62. package/dist/data-display/role-badge.js.map +1 -1
  63. package/dist/data-display/statistic.cjs +2 -1
  64. package/dist/data-display/statistic.cjs.map +1 -0
  65. package/dist/data-display/statistic.d.cts +3 -3
  66. package/dist/data-display/statistic.d.ts +3 -3
  67. package/dist/data-display/statistic.js +2 -1
  68. package/dist/data-display/statistic.js.map +1 -0
  69. package/dist/data-display/user.cjs +2 -1
  70. package/dist/data-display/user.cjs.map +1 -0
  71. package/dist/data-display/user.js +2 -1
  72. package/dist/data-display/user.js.map +1 -0
  73. package/dist/dialogs/confirm-dialog.cjs +1 -1
  74. package/dist/dialogs/confirm-dialog.js +1 -1
  75. package/dist/dialogs/detail-dialog/components/sidebar.cjs +1 -1
  76. package/dist/dialogs/detail-dialog/components/sidebar.d.cts +26 -26
  77. package/dist/dialogs/detail-dialog/components/sidebar.d.ts +26 -26
  78. package/dist/dialogs/detail-dialog/components/sidebar.js +1 -1
  79. package/dist/dialogs/detail-dialog/index.cjs +1 -1
  80. package/dist/dialogs/detail-dialog/index.cjs.map +1 -1
  81. package/dist/dialogs/detail-dialog/index.js +1 -1
  82. package/dist/dialogs/detail-dialog/index.js.map +1 -1
  83. package/dist/dialogs/error-dialog.cjs +1 -1
  84. package/dist/dialogs/error-dialog.js +1 -1
  85. package/dist/dialogs/loading-dialog.cjs +1 -1
  86. package/dist/dialogs/loading-dialog.cjs.map +1 -1
  87. package/dist/dialogs/loading-dialog.js +1 -1
  88. package/dist/dialogs/loading-dialog.js.map +1 -1
  89. package/dist/features/descriptions/index.cjs +1 -1
  90. package/dist/features/descriptions/index.cjs.map +1 -1
  91. package/dist/features/descriptions/index.d.cts +3 -3
  92. package/dist/features/descriptions/index.d.ts +4 -4
  93. package/dist/features/descriptions/index.js +1 -1
  94. package/dist/features/descriptions/index.js.map +1 -1
  95. package/dist/features/search-modal/index.cjs +1 -1
  96. package/dist/features/search-modal/index.d.cts +2 -2
  97. package/dist/features/search-modal/index.d.ts +2 -2
  98. package/dist/features/search-modal/index.js +1 -1
  99. package/dist/features/tables/index.cjs +1 -1
  100. package/dist/features/tables/index.d.cts +1 -1
  101. package/dist/features/tables/index.d.ts +1 -2
  102. package/dist/features/tables/index.js +1 -1
  103. package/dist/features/tanstack-form/index.cjs +1 -1
  104. package/dist/features/tanstack-form/index.d.cts +1 -1
  105. package/dist/features/tanstack-form/index.d.ts +1 -1
  106. package/dist/features/tanstack-form/index.js +1 -1
  107. package/dist/features/text-editor/index.cjs +1 -1
  108. package/dist/features/text-editor/index.d.cts +1 -1
  109. package/dist/features/text-editor/index.d.ts +1 -1
  110. package/dist/features/text-editor/index.js +1 -1
  111. package/dist/field-0gaEKxov.cjs +2 -0
  112. package/dist/{field-BrlETeXX.cjs.map → field-0gaEKxov.cjs.map} +1 -1
  113. package/dist/field-DG-kX3HU.js +2 -0
  114. package/dist/{field-DpoKF1nY.js.map → field-DG-kX3HU.js.map} +1 -1
  115. package/dist/{flex-DmWmOBn5.cjs → flex-BAfCk_in.cjs} +2 -2
  116. package/dist/{flex-DmWmOBn5.cjs.map → flex-BAfCk_in.cjs.map} +1 -1
  117. package/dist/{flex-CinRrgEy.js → flex-D_XtSjf4.js} +2 -2
  118. package/dist/{flex-CinRrgEy.js.map → flex-D_XtSjf4.js.map} +1 -1
  119. package/dist/{heading-tGTqk3pA.cjs → heading-BX7ZVnVg.cjs} +2 -2
  120. package/dist/{heading-tGTqk3pA.cjs.map → heading-BX7ZVnVg.cjs.map} +1 -1
  121. package/dist/{heading-Bz-hSatD.js → heading-Bw3eo6IT.js} +1 -1
  122. package/dist/{heading-Bz-hSatD.js.map → heading-Bw3eo6IT.js.map} +1 -1
  123. package/dist/{index-FIl1Am8j.d.cts → index--eHW_BCk.d.ts} +7 -7
  124. package/dist/{index-BlQGXGqt.d.ts → index-C257sc-c.d.ts} +1 -1
  125. package/dist/{index-DSciiDhn.d.cts → index-C4ZFmaZm.d.cts} +326 -326
  126. package/dist/{index-BX_ZHO1J.d.cts → index-DWEpRM8i.d.cts} +31 -31
  127. package/dist/{index-B3NschgB.d.ts → index-DnQeeNHV.d.ts} +3 -3
  128. package/dist/{index-0jdHH3H_.d.ts → index-_MFRCXuJ.d.cts} +2 -2
  129. package/dist/{index-KO98y6L0.d.cts → index-rNI5ia8r.d.cts} +1 -1
  130. package/dist/{index-DZVn4x4Q.d.ts → index-rZ2RtGJp.d.ts} +2 -2
  131. package/dist/index.cjs +1 -1
  132. package/dist/index.d.cts +11 -11
  133. package/dist/index.d.ts +11 -11
  134. package/dist/index.js +1 -1
  135. package/dist/layouts/cms-layout/index.cjs +1 -1
  136. package/dist/layouts/cms-layout/index.d.cts +1 -1
  137. package/dist/layouts/cms-layout/index.d.ts +1 -1
  138. package/dist/layouts/cms-layout/index.js +1 -1
  139. package/dist/layouts/flex.cjs +1 -1
  140. package/dist/layouts/flex.d.cts +5 -5
  141. package/dist/layouts/flex.d.ts +3 -3
  142. package/dist/layouts/flex.js +1 -1
  143. package/dist/layouts/grid.cjs +1 -1
  144. package/dist/layouts/payment-layout/index.cjs +1 -1
  145. package/dist/layouts/payment-layout/index.js +1 -1
  146. package/dist/pages/FeatureDeveloping.cjs +1 -1
  147. package/dist/pages/FeatureDeveloping.cjs.map +1 -1
  148. package/dist/pages/FeatureDeveloping.d.cts +2 -2
  149. package/dist/pages/FeatureDeveloping.d.ts +2 -2
  150. package/dist/pages/FeatureDeveloping.js +1 -1
  151. package/dist/pages/FeatureDeveloping.js.map +1 -1
  152. package/dist/pages/FeatureFixing.cjs +1 -1
  153. package/dist/pages/FeatureFixing.cjs.map +1 -1
  154. package/dist/pages/FeatureFixing.d.cts +2 -2
  155. package/dist/pages/FeatureFixing.d.ts +2 -2
  156. package/dist/pages/FeatureFixing.js +1 -1
  157. package/dist/pages/FeatureFixing.js.map +1 -1
  158. package/dist/pages/LoginPage.cjs +1 -1
  159. package/dist/pages/LoginPage.cjs.map +1 -1
  160. package/dist/pages/LoginPage.d.cts +2 -2
  161. package/dist/pages/LoginPage.d.ts +2 -2
  162. package/dist/pages/LoginPage.js +1 -1
  163. package/dist/pages/LoginPage.js.map +1 -1
  164. package/dist/pages/NotAuthorized.cjs +1 -1
  165. package/dist/pages/NotAuthorized.cjs.map +1 -1
  166. package/dist/pages/NotAuthorized.d.ts +2 -2
  167. package/dist/pages/NotAuthorized.js +1 -1
  168. package/dist/pages/NotAuthorized.js.map +1 -1
  169. package/dist/pages/NotFound.cjs +1 -1
  170. package/dist/pages/NotFound.cjs.map +1 -1
  171. package/dist/pages/NotFound.d.cts +2 -2
  172. package/dist/pages/NotFound.d.ts +2 -2
  173. package/dist/pages/NotFound.js +1 -1
  174. package/dist/pages/NotFound.js.map +1 -1
  175. package/dist/pages/RegisterPage.cjs +1 -1
  176. package/dist/pages/RegisterPage.cjs.map +1 -1
  177. package/dist/pages/RegisterPage.d.cts +2 -2
  178. package/dist/pages/RegisterPage.d.ts +2 -2
  179. package/dist/pages/RegisterPage.js +1 -1
  180. package/dist/pages/RegisterPage.js.map +1 -1
  181. package/dist/pages/VerifyEmailPage.cjs +1 -1
  182. package/dist/pages/VerifyEmailPage.cjs.map +1 -1
  183. package/dist/pages/VerifyEmailPage.d.cts +2 -2
  184. package/dist/pages/VerifyEmailPage.d.ts +2 -2
  185. package/dist/pages/VerifyEmailPage.js +1 -1
  186. package/dist/pages/VerifyEmailPage.js.map +1 -1
  187. package/dist/{paragraph-DvTZvbzw.cjs → paragraph-D0x3Jc6W.cjs} +2 -2
  188. package/dist/{paragraph-DvTZvbzw.cjs.map → paragraph-D0x3Jc6W.cjs.map} +1 -1
  189. package/dist/{paragraph-Cc13ZI4d.js → paragraph-ESjXXqHU.js} +1 -1
  190. package/dist/{paragraph-Cc13ZI4d.js.map → paragraph-ESjXXqHU.js.map} +1 -1
  191. package/dist/payment-layout-CksJbGsl.js +2 -0
  192. package/dist/{payment-layout-giaGvs8T.js.map → payment-layout-CksJbGsl.js.map} +1 -1
  193. package/dist/payment-layout-O7TNw2Cr.cjs +2 -0
  194. package/dist/{payment-layout-DyILfyVG.cjs.map → payment-layout-O7TNw2Cr.cjs.map} +1 -1
  195. package/dist/search-modal-Db8Xp2L4.cjs +2 -0
  196. package/dist/{search-modal-B-pzGcfP.cjs.map → search-modal-Db8Xp2L4.cjs.map} +1 -1
  197. package/dist/search-modal-DdonKbwA.js +2 -0
  198. package/dist/{search-modal-b2AE5WEW.js.map → search-modal-DdonKbwA.js.map} +1 -1
  199. package/dist/sidebar-BCuXtop_.js +2 -0
  200. package/dist/sidebar-BCuXtop_.js.map +1 -0
  201. package/dist/sidebar-CQZlWCK4.cjs +2 -0
  202. package/dist/{sidebar-D5J2gcTw.cjs.map → sidebar-CQZlWCK4.cjs.map} +1 -1
  203. package/dist/{skeleton-DlRDNM97.js → skeleton-DAcbjBGp.js} +1 -1
  204. package/dist/{skeleton-DlRDNM97.js.map → skeleton-DAcbjBGp.js.map} +1 -1
  205. package/dist/{skeleton-CX1USu1w.cjs → skeleton-oQFT4xR2.cjs} +2 -2
  206. package/dist/{skeleton-CX1USu1w.cjs.map → skeleton-oQFT4xR2.cjs.map} +1 -1
  207. package/dist/systems/google.cjs +1 -1
  208. package/dist/systems/google.js +1 -1
  209. package/dist/tables-DbwtCMRI.js +4 -0
  210. package/dist/{tables-DWQytYNm.js.map → tables-DbwtCMRI.js.map} +1 -1
  211. package/dist/tables-DgZbLZQP.cjs +4 -0
  212. package/dist/{tables-CPKHe3k-.cjs.map → tables-DgZbLZQP.cjs.map} +1 -1
  213. package/dist/tanstack-form-C3SGhsmN.cjs +2 -0
  214. package/dist/tanstack-form-C3SGhsmN.cjs.map +1 -0
  215. package/dist/tanstack-form-Ds_Zjt20.js +2 -0
  216. package/dist/tanstack-form-Ds_Zjt20.js.map +1 -0
  217. package/dist/text-editor-DhTxCxvH.cjs +2 -0
  218. package/dist/{text-editor-CvJN3nSL.cjs.map → text-editor-DhTxCxvH.cjs.map} +1 -1
  219. package/dist/text-editor-DwisU9_U.js +2 -0
  220. package/dist/{text-editor-WbS7pJJs.js.map → text-editor-DwisU9_U.js.map} +1 -1
  221. package/dist/typography/paragraph.cjs +1 -1
  222. package/dist/typography/paragraph.d.cts +4 -4
  223. package/dist/typography/paragraph.d.ts +3 -3
  224. package/dist/typography/paragraph.js +1 -1
  225. package/dist/typography/title.cjs +1 -1
  226. package/dist/ui/alert-dialog.cjs +1 -1
  227. package/dist/ui/alert-dialog.d.cts +12 -12
  228. package/dist/ui/alert-dialog.d.ts +12 -12
  229. package/dist/ui/alert-dialog.js +1 -1
  230. package/dist/ui/alert.cjs +1 -1
  231. package/dist/ui/alert.d.cts +1 -1
  232. package/dist/ui/alert.d.ts +1 -1
  233. package/dist/ui/alert.js +1 -1
  234. package/dist/ui/aspect-ratio.cjs +1 -1
  235. package/dist/ui/aspect-ratio.d.cts +2 -2
  236. package/dist/ui/aspect-ratio.d.ts +2 -2
  237. package/dist/ui/avatar.cjs +2 -1
  238. package/dist/ui/avatar.cjs.map +1 -0
  239. package/dist/ui/avatar.d.cts +4 -4
  240. package/dist/ui/avatar.d.ts +4 -4
  241. package/dist/ui/avatar.js +2 -1
  242. package/dist/ui/avatar.js.map +1 -0
  243. package/dist/ui/badge.cjs +2 -1
  244. package/dist/ui/badge.cjs.map +1 -0
  245. package/dist/ui/badge.d.cts +42 -2
  246. package/dist/ui/badge.d.ts +42 -2
  247. package/dist/ui/badge.js +2 -1
  248. package/dist/ui/badge.js.map +1 -0
  249. package/dist/ui/breadcrumb.cjs +1 -1
  250. package/dist/ui/breadcrumb.cjs.map +1 -1
  251. package/dist/ui/breadcrumb.d.cts +8 -8
  252. package/dist/ui/breadcrumb.d.ts +8 -8
  253. package/dist/ui/breadcrumb.js +1 -1
  254. package/dist/ui/breadcrumb.js.map +1 -1
  255. package/dist/ui/button-group.cjs +1 -1
  256. package/dist/ui/button-group.cjs.map +1 -1
  257. package/dist/ui/button-group.d.cts +7 -7
  258. package/dist/ui/button-group.d.ts +7 -7
  259. package/dist/ui/button-group.js +1 -1
  260. package/dist/ui/button-group.js.map +1 -1
  261. package/dist/ui/button.cjs +2 -1
  262. package/dist/ui/button.cjs.map +1 -0
  263. package/dist/ui/button.d.cts +1 -1
  264. package/dist/ui/button.d.ts +1 -1
  265. package/dist/ui/button.js +2 -1
  266. package/dist/ui/button.js.map +1 -0
  267. package/dist/ui/buttons/add-new.cjs +1 -1
  268. package/dist/ui/buttons/add-new.cjs.map +1 -1
  269. package/dist/ui/buttons/add-new.js +1 -1
  270. package/dist/ui/buttons/add-new.js.map +1 -1
  271. package/dist/ui/buttons/edit.cjs +1 -1
  272. package/dist/ui/buttons/edit.cjs.map +1 -1
  273. package/dist/ui/buttons/edit.js +1 -1
  274. package/dist/ui/buttons/edit.js.map +1 -1
  275. package/dist/ui/buttons/refresh.cjs +1 -1
  276. package/dist/ui/buttons/refresh.cjs.map +1 -1
  277. package/dist/ui/buttons/refresh.js +1 -1
  278. package/dist/ui/buttons/refresh.js.map +1 -1
  279. package/dist/ui/buttons/trash.cjs +1 -1
  280. package/dist/ui/buttons/trash.cjs.map +1 -1
  281. package/dist/ui/buttons/trash.js +1 -1
  282. package/dist/ui/buttons/trash.js.map +1 -1
  283. package/dist/ui/buttons/upload-image.cjs +1 -1
  284. package/dist/ui/buttons/upload-image.cjs.map +1 -1
  285. package/dist/ui/buttons/upload-image.js +1 -1
  286. package/dist/ui/buttons/upload-image.js.map +1 -1
  287. package/dist/ui/calendar.cjs +2 -1
  288. package/dist/ui/calendar.cjs.map +1 -0
  289. package/dist/ui/calendar.d.cts +4 -4
  290. package/dist/ui/calendar.d.ts +4 -4
  291. package/dist/ui/calendar.js +2 -1
  292. package/dist/ui/calendar.js.map +1 -0
  293. package/dist/ui/card.cjs +1 -1
  294. package/dist/ui/card.d.cts +8 -8
  295. package/dist/ui/card.d.ts +8 -8
  296. package/dist/ui/card.js +1 -1
  297. package/dist/ui/carousel.cjs +1 -1
  298. package/dist/ui/carousel.cjs.map +1 -1
  299. package/dist/ui/carousel.d.cts +7 -7
  300. package/dist/ui/carousel.d.ts +7 -7
  301. package/dist/ui/carousel.js +1 -1
  302. package/dist/ui/carousel.js.map +1 -1
  303. package/dist/ui/checkbox.cjs +2 -1
  304. package/dist/ui/checkbox.cjs.map +1 -0
  305. package/dist/ui/checkbox.d.cts +2 -2
  306. package/dist/ui/checkbox.js +2 -1
  307. package/dist/ui/checkbox.js.map +1 -0
  308. package/dist/ui/collapsible.cjs +1 -1
  309. package/dist/ui/collapsible.d.cts +4 -4
  310. package/dist/ui/command.cjs +2 -1
  311. package/dist/ui/command.cjs.map +1 -0
  312. package/dist/ui/command.d.cts +11 -11
  313. package/dist/ui/command.d.ts +11 -11
  314. package/dist/ui/command.js +2 -1
  315. package/dist/ui/command.js.map +1 -0
  316. package/dist/ui/context-menu.cjs +1 -1
  317. package/dist/ui/context-menu.d.cts +16 -16
  318. package/dist/ui/context-menu.d.ts +16 -16
  319. package/dist/ui/dialog.cjs +2 -1
  320. package/dist/ui/dialog.cjs.map +1 -0
  321. package/dist/ui/dialog.d.cts +90 -2
  322. package/dist/ui/dialog.d.ts +90 -2
  323. package/dist/ui/dialog.js +2 -1
  324. package/dist/ui/dialog.js.map +1 -0
  325. package/dist/ui/drawer.cjs +2 -1
  326. package/dist/ui/drawer.cjs.map +1 -0
  327. package/dist/ui/drawer.d.cts +11 -11
  328. package/dist/ui/drawer.d.ts +11 -11
  329. package/dist/ui/drawer.js +2 -1
  330. package/dist/ui/drawer.js.map +1 -0
  331. package/dist/ui/dropdown-menu.cjs +2 -1
  332. package/dist/ui/dropdown-menu.cjs.map +1 -0
  333. package/dist/ui/dropdown-menu.d.cts +16 -16
  334. package/dist/ui/dropdown-menu.d.ts +16 -16
  335. package/dist/ui/dropdown-menu.js +2 -1
  336. package/dist/ui/dropdown-menu.js.map +1 -0
  337. package/dist/ui/empty.cjs +1 -1
  338. package/dist/ui/empty.d.cts +9 -9
  339. package/dist/ui/empty.d.ts +7 -7
  340. package/dist/ui/field.cjs +1 -1
  341. package/dist/ui/field.d.cts +24 -24
  342. package/dist/ui/field.d.ts +24 -24
  343. package/dist/ui/field.js +1 -1
  344. package/dist/ui/file-uploader.cjs +2 -2
  345. package/dist/ui/file-uploader.cjs.map +1 -1
  346. package/dist/ui/file-uploader.d.cts +2 -2
  347. package/dist/ui/file-uploader.d.ts +2 -2
  348. package/dist/ui/file-uploader.js +2 -2
  349. package/dist/ui/file-uploader.js.map +1 -1
  350. package/dist/ui/form.cjs +1 -1
  351. package/dist/ui/form.cjs.map +1 -1
  352. package/dist/ui/form.d.cts +10 -10
  353. package/dist/ui/form.d.ts +10 -10
  354. package/dist/ui/form.js +1 -1
  355. package/dist/ui/form.js.map +1 -1
  356. package/dist/ui/hover-card.cjs +1 -1
  357. package/dist/ui/hover-card.d.cts +4 -4
  358. package/dist/ui/hover-card.d.ts +4 -4
  359. package/dist/ui/image.cjs +2 -1
  360. package/dist/ui/image.cjs.map +1 -0
  361. package/dist/ui/image.js +2 -1
  362. package/dist/ui/image.js.map +1 -0
  363. package/dist/ui/input-otp.cjs +1 -1
  364. package/dist/ui/input-otp.d.cts +5 -5
  365. package/dist/ui/input-otp.d.ts +5 -5
  366. package/dist/ui/input-otp.js +1 -1
  367. package/dist/ui/input.cjs +2 -1
  368. package/dist/ui/input.cjs.map +1 -0
  369. package/dist/ui/input.d.cts +44 -2
  370. package/dist/ui/input.d.ts +44 -2
  371. package/dist/ui/input.js +2 -1
  372. package/dist/ui/input.js.map +1 -0
  373. package/dist/ui/inputs/search-input.cjs +1 -1
  374. package/dist/ui/inputs/search-input.cjs.map +1 -1
  375. package/dist/ui/inputs/search-input.d.cts +3 -3
  376. package/dist/ui/inputs/search-input.d.ts +3 -3
  377. package/dist/ui/inputs/search-input.js +1 -1
  378. package/dist/ui/inputs/search-input.js.map +1 -1
  379. package/dist/ui/item.cjs +1 -1
  380. package/dist/ui/item.cjs.map +1 -1
  381. package/dist/ui/item.d.cts +15 -15
  382. package/dist/ui/item.d.ts +15 -15
  383. package/dist/ui/item.js +1 -1
  384. package/dist/ui/item.js.map +1 -1
  385. package/dist/ui/label.cjs +2 -1
  386. package/dist/ui/label.cjs.map +1 -0
  387. package/dist/ui/label.d.cts +2 -2
  388. package/dist/ui/label.d.ts +2 -2
  389. package/dist/ui/label.js +2 -1
  390. package/dist/ui/label.js.map +1 -0
  391. package/dist/ui/menubar.cjs +1 -1
  392. package/dist/ui/menubar.d.cts +17 -17
  393. package/dist/ui/menubar.d.ts +17 -17
  394. package/dist/ui/multi-select.cjs +1 -1
  395. package/dist/ui/multi-select.cjs.map +1 -1
  396. package/dist/ui/multi-select.d.cts +3 -3
  397. package/dist/ui/multi-select.d.ts +6 -7
  398. package/dist/ui/multi-select.js +1 -1
  399. package/dist/ui/multi-select.js.map +1 -1
  400. package/dist/ui/navigation-menu.cjs +1 -1
  401. package/dist/ui/navigation-menu.d.cts +9 -9
  402. package/dist/ui/navigation-menu.d.ts +9 -9
  403. package/dist/ui/pagination.cjs +1 -1
  404. package/dist/ui/pagination.d.cts +9 -9
  405. package/dist/ui/pagination.d.ts +9 -9
  406. package/dist/ui/pagination.js +1 -1
  407. package/dist/ui/popover.cjs +2 -1
  408. package/dist/ui/popover.cjs.map +1 -0
  409. package/dist/ui/popover.d.cts +6 -6
  410. package/dist/ui/popover.d.ts +6 -6
  411. package/dist/ui/popover.js +2 -1
  412. package/dist/ui/popover.js.map +1 -0
  413. package/dist/ui/progress.cjs +2 -1
  414. package/dist/ui/progress.cjs.map +1 -0
  415. package/dist/ui/progress.d.cts +2 -2
  416. package/dist/ui/progress.d.ts +2 -2
  417. package/dist/ui/progress.js +2 -1
  418. package/dist/ui/progress.js.map +1 -0
  419. package/dist/ui/radio-group.cjs +2 -1
  420. package/dist/ui/radio-group.cjs.map +1 -0
  421. package/dist/ui/radio-group.d.cts +3 -3
  422. package/dist/ui/radio-group.d.ts +3 -3
  423. package/dist/ui/radio-group.js +2 -1
  424. package/dist/ui/radio-group.js.map +1 -0
  425. package/dist/ui/resizable.cjs +2 -1
  426. package/dist/ui/resizable.cjs.map +1 -0
  427. package/dist/ui/resizable.d.cts +9 -9
  428. package/dist/ui/resizable.d.ts +9 -9
  429. package/dist/ui/resizable.js +2 -1
  430. package/dist/ui/resizable.js.map +1 -0
  431. package/dist/ui/scroll-area.cjs +1 -1
  432. package/dist/ui/scroll-area.d.cts +5 -5
  433. package/dist/ui/scroll-area.d.ts +5 -5
  434. package/dist/ui/scroll-area.js +1 -1
  435. package/dist/ui/select.cjs +2 -1
  436. package/dist/ui/select.cjs.map +1 -0
  437. package/dist/ui/select.d.cts +9 -9
  438. package/dist/ui/select.d.ts +9 -9
  439. package/dist/ui/select.js +2 -1
  440. package/dist/ui/select.js.map +1 -0
  441. package/dist/ui/separator.cjs +2 -1
  442. package/dist/ui/separator.cjs.map +1 -0
  443. package/dist/ui/separator.d.cts +2 -2
  444. package/dist/ui/separator.d.ts +2 -2
  445. package/dist/ui/separator.js +2 -1
  446. package/dist/ui/separator.js.map +1 -0
  447. package/dist/ui/sheet.cjs +2 -1
  448. package/dist/ui/sheet.cjs.map +1 -0
  449. package/dist/ui/sheet.d.cts +9 -9
  450. package/dist/ui/sheet.d.ts +9 -9
  451. package/dist/ui/sheet.js +2 -1
  452. package/dist/ui/sheet.js.map +1 -0
  453. package/dist/ui/skeleton.cjs +1 -1
  454. package/dist/ui/skeleton.d.cts +2 -2
  455. package/dist/ui/skeleton.d.ts +2 -2
  456. package/dist/ui/skeleton.js +1 -1
  457. package/dist/ui/slider.cjs +1 -1
  458. package/dist/ui/slider.d.cts +2 -2
  459. package/dist/ui/slider.d.ts +2 -2
  460. package/dist/ui/slider.js +1 -1
  461. package/dist/ui/sonner.cjs +1 -1
  462. package/dist/ui/sonner.d.cts +2 -2
  463. package/dist/ui/sonner.d.ts +2 -2
  464. package/dist/ui/spinner.cjs +2 -1
  465. package/dist/ui/spinner.cjs.map +1 -0
  466. package/dist/ui/spinner.d.cts +2 -2
  467. package/dist/ui/spinner.d.ts +2 -2
  468. package/dist/ui/spinner.js +2 -1
  469. package/dist/ui/spinner.js.map +1 -0
  470. package/dist/ui/switch.cjs +2 -1
  471. package/dist/ui/switch.cjs.map +1 -0
  472. package/dist/ui/switch.d.cts +2 -2
  473. package/dist/ui/switch.d.ts +2 -2
  474. package/dist/ui/switch.js +2 -1
  475. package/dist/ui/switch.js.map +1 -0
  476. package/dist/ui/table.cjs +1 -1
  477. package/dist/ui/table.d.cts +17 -17
  478. package/dist/ui/table.d.ts +17 -17
  479. package/dist/ui/table.js +1 -1
  480. package/dist/ui/tabs.cjs +1 -1
  481. package/dist/ui/tabs.d.cts +5 -5
  482. package/dist/ui/tabs.d.ts +5 -5
  483. package/dist/ui/textarea.cjs +2 -1
  484. package/dist/ui/textarea.cjs.map +1 -0
  485. package/dist/ui/textarea.d.cts +2 -2
  486. package/dist/ui/textarea.d.ts +2 -2
  487. package/dist/ui/textarea.js +2 -1
  488. package/dist/ui/textarea.js.map +1 -0
  489. package/dist/ui/toggle-group.cjs +1 -1
  490. package/dist/ui/toggle-group.cjs.map +1 -1
  491. package/dist/ui/toggle-group.d.cts +4 -4
  492. package/dist/ui/toggle-group.d.ts +4 -4
  493. package/dist/ui/toggle-group.js +1 -1
  494. package/dist/ui/toggle-group.js.map +1 -1
  495. package/dist/ui/toggle.cjs +1 -1
  496. package/dist/ui/toggle.d.cts +4 -4
  497. package/dist/ui/toggle.d.ts +4 -4
  498. package/dist/ui/tooltip.cjs +2 -1
  499. package/dist/ui/tooltip.cjs.map +1 -0
  500. package/dist/ui/tooltip.d.cts +5 -5
  501. package/dist/ui/tooltip.d.ts +5 -5
  502. package/dist/ui/tooltip.js +2 -1
  503. package/dist/ui/tooltip.js.map +1 -0
  504. package/package.json +1 -1
  505. package/dist/avatar-Hpj8lmux.js +0 -2
  506. package/dist/avatar-Hpj8lmux.js.map +0 -1
  507. package/dist/avatar-TyOphzGo.cjs +0 -2
  508. package/dist/avatar-TyOphzGo.cjs.map +0 -1
  509. package/dist/badge-BvKBYsIh.d.ts +0 -42
  510. package/dist/badge-CRpRXSuO.js +0 -2
  511. package/dist/badge-CRpRXSuO.js.map +0 -1
  512. package/dist/badge-KW7xu5Ca.cjs +0 -2
  513. package/dist/badge-KW7xu5Ca.cjs.map +0 -1
  514. package/dist/badge-Y-DJHIVI.d.cts +0 -42
  515. package/dist/button-C--DAN1D.cjs +0 -2
  516. package/dist/button-C--DAN1D.cjs.map +0 -1
  517. package/dist/button-LMMbL-uH.js +0 -2
  518. package/dist/button-LMMbL-uH.js.map +0 -1
  519. package/dist/calendar-4weBDnXz.cjs +0 -2
  520. package/dist/calendar-4weBDnXz.cjs.map +0 -1
  521. package/dist/calendar-DzPt7b6k.js +0 -2
  522. package/dist/calendar-DzPt7b6k.js.map +0 -1
  523. package/dist/checkbox-DLGDoU-1.js +0 -2
  524. package/dist/checkbox-DLGDoU-1.js.map +0 -1
  525. package/dist/checkbox-Dsq-MSbH.cjs +0 -2
  526. package/dist/checkbox-Dsq-MSbH.cjs.map +0 -1
  527. package/dist/chunk-350yNsax.cjs +0 -1
  528. package/dist/cms-layout-BCH4NroR.cjs +0 -2
  529. package/dist/cms-layout-tPwrgJZc.js +0 -2
  530. package/dist/command-2gUejA6g.js +0 -2
  531. package/dist/command-2gUejA6g.js.map +0 -1
  532. package/dist/command-CsP8a1Un.cjs +0 -2
  533. package/dist/command-CsP8a1Un.cjs.map +0 -1
  534. package/dist/date-BIqCFM1Z.js +0 -2
  535. package/dist/date-BIqCFM1Z.js.map +0 -1
  536. package/dist/date-D4NVl6C9.cjs +0 -2
  537. package/dist/date-D4NVl6C9.cjs.map +0 -1
  538. package/dist/dialog-BXkm3_Bk.d.ts +0 -90
  539. package/dist/dialog-BigPrWIj.cjs +0 -2
  540. package/dist/dialog-BigPrWIj.cjs.map +0 -1
  541. package/dist/dialog-CmutQ3rp.js +0 -2
  542. package/dist/dialog-CmutQ3rp.js.map +0 -1
  543. package/dist/dialog-DAl7wicp.d.cts +0 -90
  544. package/dist/dist-Cx5ufCdr.cjs +0 -2
  545. package/dist/dist-Cx5ufCdr.cjs.map +0 -1
  546. package/dist/dist-EPxjIRJp.js +0 -2
  547. package/dist/dist-EPxjIRJp.js.map +0 -1
  548. package/dist/drawer-B3qXaN5p.js +0 -2
  549. package/dist/drawer-B3qXaN5p.js.map +0 -1
  550. package/dist/drawer-BB8BZzDG.cjs +0 -2
  551. package/dist/drawer-BB8BZzDG.cjs.map +0 -1
  552. package/dist/dropdown-menu-CVh520yG.cjs +0 -2
  553. package/dist/dropdown-menu-CVh520yG.cjs.map +0 -1
  554. package/dist/dropdown-menu-DeHCVyby.js +0 -2
  555. package/dist/dropdown-menu-DeHCVyby.js.map +0 -1
  556. package/dist/field-BrlETeXX.cjs +0 -2
  557. package/dist/field-DpoKF1nY.js +0 -2
  558. package/dist/image-BpTuF_1w.js +0 -2
  559. package/dist/image-BpTuF_1w.js.map +0 -1
  560. package/dist/image-W_Yb0xTB.cjs +0 -2
  561. package/dist/image-W_Yb0xTB.cjs.map +0 -1
  562. package/dist/input-BBxY18n7.d.ts +0 -44
  563. package/dist/input-D59Pfu7U.d.cts +0 -44
  564. package/dist/input-DAfP6LZ7.js +0 -2
  565. package/dist/input-DAfP6LZ7.js.map +0 -1
  566. package/dist/input-WJ0DLHTR.cjs +0 -2
  567. package/dist/input-WJ0DLHTR.cjs.map +0 -1
  568. package/dist/label-B8cAG2kc.js +0 -2
  569. package/dist/label-B8cAG2kc.js.map +0 -1
  570. package/dist/label-CC6fXVbC.cjs +0 -2
  571. package/dist/label-CC6fXVbC.cjs.map +0 -1
  572. package/dist/payment-layout-DyILfyVG.cjs +0 -2
  573. package/dist/payment-layout-giaGvs8T.js +0 -2
  574. package/dist/popover-6233wU1s.js +0 -2
  575. package/dist/popover-6233wU1s.js.map +0 -1
  576. package/dist/popover-DBsC8Ltp.cjs +0 -2
  577. package/dist/popover-DBsC8Ltp.cjs.map +0 -1
  578. package/dist/progress-AYknlEgK.js +0 -2
  579. package/dist/progress-AYknlEgK.js.map +0 -1
  580. package/dist/progress-gvBqNiHp.cjs +0 -2
  581. package/dist/progress-gvBqNiHp.cjs.map +0 -1
  582. package/dist/radio-group-ImoBjpqZ.js +0 -2
  583. package/dist/radio-group-ImoBjpqZ.js.map +0 -1
  584. package/dist/radio-group-_TdMkv8w.cjs +0 -2
  585. package/dist/radio-group-_TdMkv8w.cjs.map +0 -1
  586. package/dist/resizable-C-M-mu6b.js +0 -2
  587. package/dist/resizable-C-M-mu6b.js.map +0 -1
  588. package/dist/resizable-sgpaHAb8.cjs +0 -2
  589. package/dist/resizable-sgpaHAb8.cjs.map +0 -1
  590. package/dist/search-modal-B-pzGcfP.cjs +0 -2
  591. package/dist/search-modal-b2AE5WEW.js +0 -2
  592. package/dist/select-CWLQHh8x.cjs +0 -2
  593. package/dist/select-CWLQHh8x.cjs.map +0 -1
  594. package/dist/select-CryLzZA0.js +0 -2
  595. package/dist/select-CryLzZA0.js.map +0 -1
  596. package/dist/separator-BM8hA4DP.js +0 -2
  597. package/dist/separator-BM8hA4DP.js.map +0 -1
  598. package/dist/separator-KuymG9g0.cjs +0 -2
  599. package/dist/separator-KuymG9g0.cjs.map +0 -1
  600. package/dist/sheet-CvKSi0UC.cjs +0 -2
  601. package/dist/sheet-CvKSi0UC.cjs.map +0 -1
  602. package/dist/sheet-DGXXYgWB.js +0 -2
  603. package/dist/sheet-DGXXYgWB.js.map +0 -1
  604. package/dist/sidebar-BDrsbzo5.js +0 -2
  605. package/dist/sidebar-BDrsbzo5.js.map +0 -1
  606. package/dist/sidebar-D5J2gcTw.cjs +0 -2
  607. package/dist/spinner-C1eamx3w.js +0 -2
  608. package/dist/spinner-C1eamx3w.js.map +0 -1
  609. package/dist/spinner-CFxorYEt.cjs +0 -2
  610. package/dist/spinner-CFxorYEt.cjs.map +0 -1
  611. package/dist/statistic-CYMqAYNc.js +0 -2
  612. package/dist/statistic-CYMqAYNc.js.map +0 -1
  613. package/dist/statistic-DDXilD7q.cjs +0 -2
  614. package/dist/statistic-DDXilD7q.cjs.map +0 -1
  615. package/dist/switch-BLHmdRq2.js +0 -2
  616. package/dist/switch-BLHmdRq2.js.map +0 -1
  617. package/dist/switch-DVfOV7wP.cjs +0 -2
  618. package/dist/switch-DVfOV7wP.cjs.map +0 -1
  619. package/dist/tables-CPKHe3k-.cjs +0 -4
  620. package/dist/tables-DWQytYNm.js +0 -4
  621. package/dist/tanstack-form-DatI41wz.cjs +0 -12
  622. package/dist/tanstack-form-DatI41wz.cjs.map +0 -1
  623. package/dist/tanstack-form-YVdm9V01.js +0 -12
  624. package/dist/tanstack-form-YVdm9V01.js.map +0 -1
  625. package/dist/text-editor-CvJN3nSL.cjs +0 -2
  626. package/dist/text-editor-WbS7pJJs.js +0 -2
  627. package/dist/textarea-Bp6VvhiA.js +0 -2
  628. package/dist/textarea-Bp6VvhiA.js.map +0 -1
  629. package/dist/textarea-Cc9CF8wD.cjs +0 -2
  630. package/dist/textarea-Cc9CF8wD.cjs.map +0 -1
  631. package/dist/tooltip-CBdoIzoM.cjs +0 -2
  632. package/dist/tooltip-CBdoIzoM.cjs.map +0 -1
  633. package/dist/tooltip-CVIl6Hln.js +0 -2
  634. package/dist/tooltip-CVIl6Hln.js.map +0 -1
  635. package/dist/types-BD1t0Bj8.cjs +0 -2
  636. package/dist/types-BD1t0Bj8.cjs.map +0 -1
  637. package/dist/types-BVSfF-1o.d.ts +0 -24
  638. package/dist/types-BZqffRVJ.js +0 -2
  639. package/dist/types-BZqffRVJ.js.map +0 -1
  640. package/dist/types-Cc_mLRAn.d.cts +0 -24
  641. package/dist/user-BSpgswEC.js +0 -2
  642. package/dist/user-BSpgswEC.js.map +0 -1
  643. package/dist/user-ii4FBhO1.cjs +0 -2
  644. package/dist/user-ii4FBhO1.cjs.map +0 -1
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,G as s,H as c,I as l,J as u,K as d,L as f,M as p,N as m,O as h,P as g,Q as _,R as v,S as y,T as b,U as x,V as S,W as C,X as w,Y as T,Z as E,_ as D,a as O,b as k,c as A,d as j,et as M,f as N,g as P,h as F,i as I,j as L,k as R,l as z,m as B,n as V,o as H,p as U,q as W,r as G,s as K,t as q,u as J,v as Y,w as X,x as Z,y as Q,z as $}from"./tanstack-form-YVdm9V01.js";import"./button.variants-CoSpd71B.js";import{t as ee}from"./button-LMMbL-uH.js";import"./heading-Bz-hSatD.js";import{n as te,t as ne}from"./paragraph-Cc13ZI4d.js";import{Card as re,CardAction as ie,CardContent as ae,CardDescription as oe,CardFooter as se,CardHeader as ce,CardTitle as le}from"./ui/card.js";import{t as ue}from"./skeleton-DlRDNM97.js";import{t as de}from"./image-BpTuF_1w.js";import{GridProductCard as fe}from"./cards/grid-product-card.js";import{ProductCard as pe}from"./cards/product-card.js";import{SimpleCard as me}from"./cards/simple-card.js";import{t as he}from"./flex-CinRrgEy.js";import{CountryDisplay as ge}from"./data-display/country.js";import{DataList as _e,DataListItem as ve}from"./data-display/data-list.js";import{t as ye}from"./date-BIqCFM1Z.js";import{n as be,t as xe}from"./badge-CRpRXSuO.js";import{i as Se,n as Ce,r as we,t as Te}from"./tooltip-CVIl6Hln.js";import{DateTooltip as Ee}from"./data-display/date-tooltip.js";import{EmptyDisplay as De}from"./data-display/empty.js";import{NameDisplay as Oe}from"./data-display/name.js";import{PhoneNumberDisplay as ke}from"./data-display/phone-number.js";import{RoleBadge as Ae}from"./data-display/role-badge.js";import{t as je}from"./statistic-CYMqAYNc.js";import{n as Me,r as Ne,t as Pe}from"./avatar-Hpj8lmux.js";import{t as Fe}from"./user-BSpgswEC.js";import{AlertDialog as Ie,AlertDialogAction as Le,AlertDialogCancel as Re,AlertDialogContent as ze,AlertDialogDescription as Be,AlertDialogFooter as Ve,AlertDialogHeader as He,AlertDialogOverlay as Ue,AlertDialogPortal as We,AlertDialogTitle as Ge,AlertDialogTrigger as Ke}from"./ui/alert-dialog.js";import{ConfirmDialog as qe}from"./dialogs/confirm-dialog.js";import{Title as Je}from"./typography/title.js";import{t as Ye}from"./separator-BM8hA4DP.js";import{a as Xe,c as Ze,i as Qe,n as $e,o as et,r as tt,s as nt,t as rt}from"./sheet-DGXXYgWB.js";import"./sidebar-BDrsbzo5.js";import{DetailDialog as it}from"./dialogs/detail-dialog/index.js";import{ErrorDialog as at}from"./dialogs/error-dialog.js";import"./close-C0PdZGxr.js";import{a as ot,c as st,i as ct,l as lt,n as ut,o as dt,r as ft,s as pt,t as mt,u as ht}from"./dialog-CmutQ3rp.js";import{LoadingDialog as gt}from"./dialogs/loading-dialog.js";import{Description as _t,DescriptionBadge as vt,DescriptionBoolean as yt,DescriptionCopy as bt,DescriptionDate as xt,DescriptionEmpty as St,DescriptionHeader as Ct,DescriptionImages as wt,DescriptionItem as Tt,DescriptionLink as Et,DescriptionLongText as Dt,DescriptionName as Ot,DescriptionNumberPhone as kt,DescriptionSection as At,DescriptionStatistic as jt,DescriptionStatus as Mt,DescriptionTagList as Nt,DescriptionUser as Pt}from"./features/descriptions/index.js";import{a as Ft,c as It,i as Lt,l as Rt,n as zt,o as Bt,r as Vt,s as Ht,t as Ut}from"./command-2gUejA6g.js";import{t as Wt}from"./search-modal-b2AE5WEW.js";import{A as Gt,B as Kt,C as qt,D as Jt,E as Yt,F as Xt,H as Zt,I as Qt,L as $t,M as en,N as tn,O as nn,P as rn,R as an,S as on,T as sn,V as cn,_ as ln,a as un,b as dn,c as fn,d as pn,f as mn,g as hn,h as gn,i as _n,j as vn,k as yn,l as bn,m as xn,n as Sn,o as Cn,p as wn,r as Tn,s as En,t as Dn,u as On,v as kn,w as An,x as jn,y as Mn,z as Nn}from"./tables-DWQytYNm.js";import{a as Pn,c as Fn,d as In,f as Ln,h as Rn,i as zn,l as Bn,m as Vn,n as Hn,o as Un,p as Wn,r as Gn,s as Kn,t as qn,u as Jn}from"./dropdown-menu-DeHCVyby.js";import{t as Yn}from"./progress-AYknlEgK.js";import{t as Xn}from"./checkbox-DLGDoU-1.js";import{t as Zn}from"./spinner-C1eamx3w.js";import{n as Qn,r as $n,t as er}from"./resizable-C-M-mu6b.js";import{t as tr}from"./input-DAfP6LZ7.js";import{t as nr}from"./label-B8cAG2kc.js";import{a as rr,i as ir,n as ar,r as or,t as sr}from"./popover-6233wU1s.js";import{a as cr,c as lr,i as ur,n as dr,o as fr,r as pr,s as mr,t as hr}from"./select-CryLzZA0.js";import{t as gr}from"./switch-BLHmdRq2.js";import{a as _r,c as vr,i as yr,l as br,n as xr,o as Sr,r as Cr,s as wr,t as Tr,u as Er}from"./drawer-B3qXaN5p.js";import{n as Dr,t as Or}from"./calendar-DzPt7b6k.js";import{n as kr,t as Ar}from"./radio-group-ImoBjpqZ.js";import{t as jr}from"./textarea-Bp6VvhiA.js";import{n as Mr,t as Nr}from"./text-editor-WbS7pJJs.js";import{t as Pr}from"./cms-layout-tPwrgJZc.js";import{t as Fr}from"./payment-layout-giaGvs8T.js";import{Grid as Ir}from"./layouts/grid.js";import{FeatureDeveloping as Lr}from"./pages/FeatureDeveloping.js";import{FeatureFixing as Rr}from"./pages/FeatureFixing.js";import{NotAuthorized as zr}from"./pages/NotAuthorized.js";import{NotFound as Br}from"./pages/NotFound.js";import{n as Vr,r as Hr,t as Ur}from"./alert-BzBDfGk2.js";import{LoginPage as Wr}from"./pages/LoginPage.js";import{RegisterPage as Gr}from"./pages/RegisterPage.js";import{InputOTP as Kr,InputOTPGroup as qr,InputOTPSeparator as Jr,InputOTPSlot as Yr}from"./ui/input-otp.js";import{VerifyEmailPage as Xr}from"./pages/VerifyEmailPage.js";import{Google as Zr}from"./systems/google.js";import{AddNewBtn as Qr}from"./ui/buttons/add-new.js";import{EditBtn as $r}from"./ui/buttons/edit.js";import{RefreshBtn as ei}from"./ui/buttons/refresh.js";import{TrashBtn as ti}from"./ui/buttons/trash.js";import{UploadImageBtn as ni}from"./ui/buttons/upload-image.js";import{SearchInput as ri}from"./ui/inputs/search-input.js";import{AspectRatio as ii}from"./ui/aspect-ratio.js";import{Breadcrumb as ai,BreadcrumbEllipsis as oi,BreadcrumbItem as si,BreadcrumbLink as ci,BreadcrumbList as li,BreadcrumbPage as ui,BreadcrumbSeparator as di}from"./ui/breadcrumb.js";import{ButtonGroup as fi,ButtonGroupSeparator as pi,ButtonGroupText as mi,buttonGroupVariants as hi}from"./ui/button-group.js";import{Carousel as gi,CarouselContent as _i,CarouselItem as vi,CarouselNext as yi,CarouselPrevious as bi}from"./ui/carousel.js";import{Collapsible as xi,CollapsibleContent as Si,CollapsibleTrigger as Ci}from"./ui/collapsible.js";import{ContextMenu as wi,ContextMenuCheckboxItem as Ti,ContextMenuContent as Ei,ContextMenuGroup as Di,ContextMenuItem as Oi,ContextMenuLabel as ki,ContextMenuPortal as Ai,ContextMenuRadioGroup as ji,ContextMenuRadioItem as Mi,ContextMenuSeparator as Ni,ContextMenuShortcut as Pi,ContextMenuSub as Fi,ContextMenuSubContent as Ii,ContextMenuSubTrigger as Li,ContextMenuTrigger as Ri}from"./ui/context-menu.js";import{Empty as zi,EmptyContent as Bi,EmptyDescription as Vi,EmptyHeader as Hi,EmptyMedia as Ui,EmptyTitle as Wi}from"./ui/empty.js";import{FileUploader as Gi}from"./ui/file-uploader.js";import"./field-DpoKF1nY.js";import{Form as Ki,FormControl as qi,FormDescription as Ji,FormField as Yi,FormItem as Xi,FormLabel as Zi,FormMessage as Qi,useFormField as $i}from"./ui/form.js";import{HoverCard as ea,HoverCardContent as ta,HoverCardTrigger as na}from"./ui/hover-card.js";import{Item as ra,ItemActions as ia,ItemContent as aa,ItemDescription as oa,ItemFooter as sa,ItemGroup as ca,ItemHeader as la,ItemMedia as ua,ItemSeparator as da,ItemTitle as fa}from"./ui/item.js";import{Menubar as pa,MenubarCheckboxItem as ma,MenubarContent as ha,MenubarGroup as ga,MenubarItem as _a,MenubarLabel as va,MenubarMenu as ya,MenubarPortal as ba,MenubarRadioGroup as xa,MenubarRadioItem as Sa,MenubarSeparator as Ca,MenubarShortcut as wa,MenubarSub as Ta,MenubarSubContent as Ea,MenubarSubTrigger as Da,MenubarTrigger as Oa}from"./ui/menubar.js";import{MultipleSelector as ka,useDebounce as Aa}from"./ui/multi-select.js";import{NavigationMenu as ja,NavigationMenuContent as Ma,NavigationMenuIndicator as Na,NavigationMenuItem as Pa,NavigationMenuLink as Fa,NavigationMenuList as Ia,NavigationMenuTrigger as La,NavigationMenuViewport as Ra,navigationMenuTriggerStyle as za}from"./ui/navigation-menu.js";import{Pagination as Ba,PaginationContent as Va,PaginationEllipsis as Ha,PaginationItem as Ua,PaginationLink as Wa,PaginationNext as Ga,PaginationPrevious as Ka}from"./ui/pagination.js";import{ScrollArea as qa,ScrollBar as Ja}from"./ui/scroll-area.js";import{Slider as Ya}from"./ui/slider.js";import{Toaster as Xa,toast as Za}from"./ui/sonner.js";import{Table as Qa,TableBody as $a,TableCaption as eo,TableCell as to,TableFooter as no,TableHead as ro,TableHeader as io,TableRow as ao}from"./ui/table.js";import{Tabs as oo,TabsContent as so,TabsList as co,TabsTrigger as lo}from"./ui/tabs.js";import{Toggle as uo,toggleVariants as fo}from"./ui/toggle.js";import{ToggleGroup as po,ToggleGroupItem as mo}from"./ui/toggle-group.js";export{Qr as AddNewBtn,Ur as Alert,Vr as AlertDescription,Ie as AlertDialog,Le as AlertDialogAction,Re as AlertDialogCancel,ze as AlertDialogContent,Be as AlertDialogDescription,Ve as AlertDialogFooter,He as AlertDialogHeader,Ue as AlertDialogOverlay,We as AlertDialogPortal,Ge as AlertDialogTitle,Ke as AlertDialogTrigger,Hr as AlertTitle,_ as ArrayCol,e as ArrayHeaderRow,ii as AspectRatio,Pe as Avatar,Me as AvatarFallback,Ne as AvatarImage,xe as Badge,ai as Breadcrumb,oi as BreadcrumbEllipsis,si as BreadcrumbItem,ci as BreadcrumbLink,li as BreadcrumbList,ui as BreadcrumbPage,di as BreadcrumbSeparator,ee as Button,fi as ButtonGroup,pi as ButtonGroupSeparator,mi as ButtonGroupText,Pr as CMSLayout,Or as Calendar,Dr as CalendarDayButton,N as CancelButton,re as Card,ie as CardAction,ae as CardContent,oe as CardDescription,se as CardFooter,ce as CardHeader,le as CardTitle,gi as Carousel,_i as CarouselContent,vi as CarouselItem,yi as CarouselNext,bi as CarouselPrevious,Xn as Checkbox,h as CheckboxField,xi as Collapsible,Si as CollapsibleContent,Ci as CollapsibleTrigger,i as ComboboxField,Ut as Command,zt as CommandDialog,Vt as CommandEmpty,Lt as CommandGroup,Ft as CommandInput,Bt as CommandItem,Ht as CommandList,It as CommandSeparator,Rt as CommandShortcut,qe as ConfirmDialog,wi as ContextMenu,Ti as ContextMenuCheckboxItem,Ei as ContextMenuContent,Di as ContextMenuGroup,Oi as ContextMenuItem,ki as ContextMenuLabel,Ai as ContextMenuPortal,ji as ContextMenuRadioGroup,Mi as ContextMenuRadioItem,Ni as ContextMenuSeparator,Pi as ContextMenuShortcut,Fi as ContextMenuSub,Ii as ContextMenuSubContent,Li as ContextMenuSubTrigger,Ri as ContextMenuTrigger,ge as CountryDisplay,_e as DataList,ve as DataListItem,ye as DateDisplay,a as DateField,Ee as DateTooltip,_t as Description,vt as DescriptionBadge,yt as DescriptionBoolean,bt as DescriptionCopy,xt as DescriptionDate,St as DescriptionEmpty,Ct as DescriptionHeader,wt as DescriptionImages,Tt as DescriptionItem,Et as DescriptionLink,Dt as DescriptionLongText,Ot as DescriptionName,kt as DescriptionNumberPhone,At as DescriptionSection,jt as DescriptionStatistic,Mt as DescriptionStatus,Nt as DescriptionTagList,Pt as DescriptionUser,it as DetailDialog,mt as Dialog,ut as DialogClose,ft as DialogContent,ct as DialogDescription,ot as DialogFooter,dt as DialogHeader,pt as DialogOverlay,st as DialogPortal,lt as DialogTitle,ht as DialogTrigger,Tr as Drawer,xr as DrawerClose,Cr as DrawerContent,yr as DrawerDescription,_r as DrawerFooter,Sr as DrawerHeader,wr as DrawerOverlay,vr as DrawerPortal,br as DrawerTitle,Er as DrawerTrigger,qn as DropdownMenu,Hn as DropdownMenuCheckboxItem,Gn as DropdownMenuContent,zn as DropdownMenuGroup,Pn as DropdownMenuItem,Un as DropdownMenuLabel,Kn as DropdownMenuPortal,Fn as DropdownMenuRadioGroup,Bn as DropdownMenuRadioItem,Jn as DropdownMenuSeparator,In as DropdownMenuShortcut,Ln as DropdownMenuSub,Wn as DropdownMenuSubContent,Vn as DropdownMenuSubTrigger,Rn as DropdownMenuTrigger,$r as EditBtn,b as EmailField,zi as Empty,Bi as EmptyContent,Vi as EmptyDescription,De as EmptyDisplay,Hi as EmptyHeader,Ui as EmptyMedia,Wi as EmptyTitle,at as ErrorDialog,Lr as FeatureDeveloping,Rr as FeatureFixing,$ as Field,n as FieldContent,S as FieldContentMain,c as FieldDescription,x as FieldError,C as FieldGroup,s as FieldLabel,d as FieldLegend,W as FieldNote,u as FieldSeparator,T as FieldSet,w as FieldTitle,E as FieldTooltip,Gi as FileUploader,he as Flex,Ki as Form,qi as FormControl,Ji as FormDescription,Yi as FormField,Xi as FormItem,Zi as FormLabel,Qi as FormMessage,Zr as Google,Ir as Grid,fe as GridProductCard,ea as HoverCard,ta as HoverCardContent,na as HoverCardTrigger,de as Image,tr as Input,Kr as InputOTP,qr as InputOTPGroup,Jr as InputOTPSeparator,Yr as InputOTPSlot,ra as Item,ia as ItemActions,aa as ItemContent,oa as ItemDescription,sa as ItemFooter,ca as ItemGroup,la as ItemHeader,ua as ItemMedia,da as ItemSeparator,fa as ItemTitle,nr as Label,gt as LoadingDialog,Wr as LoginPage,pa as Menubar,ma as MenubarCheckboxItem,ha as MenubarContent,ga as MenubarGroup,_a as MenubarItem,va as MenubarLabel,ya as MenubarMenu,ba as MenubarPortal,xa as MenubarRadioGroup,Sa as MenubarRadioItem,Ca as MenubarSeparator,wa as MenubarShortcut,Ta as MenubarSub,Ea as MenubarSubContent,Da as MenubarSubTrigger,Oa as MenubarTrigger,ka as MultipleSelector,Oe as NameDisplay,ja as NavigationMenu,Ma as NavigationMenuContent,Na as NavigationMenuIndicator,Pa as NavigationMenuItem,Fa as NavigationMenuLink,Ia as NavigationMenuList,La as NavigationMenuTrigger,Ra as NavigationMenuViewport,zr as NotAuthorized,Br as NotFound,X as NumberField,Ba as Pagination,Va as PaginationContent,Ha as PaginationEllipsis,Ua as PaginationItem,Wa as PaginationLink,Ga as PaginationNext,Ka as PaginationPrevious,ne as Paragraph,r as PasswordField,Fr as PaymentLayout,ke as PhoneNumberDisplay,sr as Popover,ar as PopoverAnchor,or as PopoverClose,ir as PopoverContent,rr as PopoverTrigger,pe as ProductCard,Yn as Progress,Ar as RadioGroup,y as RadioGroupField,kr as RadioGroupItem,ei as RefreshBtn,Gr as RegisterPage,er as ResizableHandle,Qn as ResizablePanel,$n as ResizablePanelGroup,Ae as RoleBadge,qa as ScrollArea,Ja as ScrollBar,ri as SearchInput,Wt as SearchModal,hr as Select,dr as SelectContent,Z as SelectField,pr as SelectGroup,ur as SelectItem,cr as SelectLabel,fr as SelectSeparator,mr as SelectTrigger,lr as SelectValue,Ye as Separator,rt as Sheet,$e as SheetClose,tt as SheetContent,Qe as SheetDescription,Xe as SheetFooter,et as SheetHeader,nt as SheetTitle,Ze as SheetTrigger,M as SimpleArrayField,v as SimpleBooleanField,me as SimpleCard,f as SimpleComboboxField,l as SimpleDateField,g as SimpleEmailField,m as SimpleNumberField,p as SimplePasswordField,o as SimpleRadioGroupField,L as SimpleSelectField,R as SimpleTextField,t as SimpleTextareaField,ue as Skeleton,Ya as Slider,Zn as Spinner,je as Statistic,j as SubmitButton,gr as Switch,k as SwitchField,Qa as Table,$a as TableBody,eo as TableCaption,to as TableCell,no as TableFooter,ro as TableHead,io as TableHeader,ao as TableRow,oo as Tabs,so as TabsContent,co as TabsList,lo as TabsTrigger,P as TanStackActionSubmit,F as TanStackActionsForm,B as TanStackCardForm,U as TanStackContainerForm,J as TanStackDialogForm,z as TanStackFieldGroup,A as TanStackPopoverForm,K as TanStackSectionForm,H as TanStackTitleField,Nr as TextEditor,D as TextEditorField,Mr as TextEditorToolbar,Q as TextField,jr as Textarea,Y as TextareaField,Je as Title,Xa as Toaster,uo as Toggle,po as ToggleGroup,mo as ToggleGroupItem,Te as Tooltip,Ce as TooltipContent,we as TooltipProvider,Se as TooltipTrigger,ti as TrashBtn,En as UITableAnalysisPanel,Zt as UITableAvatarNameDisplay,cn as UITableBadgeDisplay,sn as UITableBody,Kt as UITableBooleanDisplay,An as UITableCell,qt as UITableCellActions,on as UITableCellSelect,fn as UITableContainer,Nn as UITableCurrencyDisplay,an as UITableDateDisplay,$t as UITableDescriptionDisplay,Qt as UITableEmailDisplay,jn as UITableEmptyDisplay,Cn as UITableFilter,dn as UITableFooter,Mn as UITableFooterRow,kn as UITableHead,hn as UITableHeadCell,ln as UITableHeadCellOption,gn as UITableHeadCellSelect,xn as UITableHeadRow,wn as UITableInnerTable,mn as UITableInnerWrapper,Xt as UITableListDisplay,pn as UITableLoadMore,rn as UITableMoreButton,tn as UITableNameDisplay,en as UITablePermalink,vn as UITablePhoneNumberDisplay,Gt as UITableProgressDisplay,un as UITableProvider,yn as UITableRemoveButton,On as UITableRow,nn as UITableStatisticDisplay,Jt as UITableStatusDisplay,_n as UITableSummaryBar,Dn as UITableTooltip,Sn as UITableTooltipActions,Tn as UITableTooltipFilter,Yt as UITableUserDataDisplay,bn as UITableWrapper,ni as UploadImageBtn,Fe as UserDataDisplay,Xr as VerifyEmailPage,be as badgeVariants,hi as buttonGroupVariants,za as navigationMenuTriggerStyle,te as paragraphVariants,Za as toast,fo as toggleVariants,Aa as useDebounce,$i as useFormField,q as useTanStackFieldContext,V as useTanStackForm,G as useTanStackFormContext,I as withTanStackFieldGroup,O as withTanStackForm};
1
+ import"./button.variants-BruXd4VM.js";import{Button as e}from"./ui/button.js";import"./heading-Bw3eo6IT.js";import{n as t,t as n}from"./paragraph-ESjXXqHU.js";import{Card as r,CardAction as i,CardContent as a,CardDescription as o,CardFooter as s,CardHeader as c,CardTitle as l}from"./ui/card.js";import{t as u}from"./skeleton-DAcbjBGp.js";import{Image as d}from"./ui/image.js";import{GridProductCard as f}from"./cards/grid-product-card.js";import{ProductCard as p}from"./cards/product-card.js";import{SimpleCard as m}from"./cards/simple-card.js";import{t as h}from"./flex-D_XtSjf4.js";import{CountryDisplay as g}from"./data-display/country.js";import{DataList as _,DataListItem as v}from"./data-display/data-list.js";import{DateDisplay as y}from"./data-display/date.js";import{DateTooltip as b}from"./data-display/date-tooltip.js";import{EmptyDisplay as x}from"./data-display/empty.js";import{Tooltip as S,TooltipContent as C,TooltipProvider as w,TooltipTrigger as T}from"./ui/tooltip.js";import{NameDisplay as E}from"./data-display/name.js";import{PhoneNumberDisplay as D}from"./data-display/phone-number.js";import{Badge as O,badgeVariants as k}from"./ui/badge.js";import{RoleBadge as A}from"./data-display/role-badge.js";import{Statistic as j}from"./data-display/statistic.js";import{Avatar as M,AvatarFallback as N,AvatarImage as P}from"./ui/avatar.js";import{UserDataDisplay as F}from"./data-display/user.js";import{AlertDialog as I,AlertDialogAction as L,AlertDialogCancel as R,AlertDialogContent as z,AlertDialogDescription as B,AlertDialogFooter as V,AlertDialogHeader as H,AlertDialogOverlay as U,AlertDialogPortal as W,AlertDialogTitle as G,AlertDialogTrigger as K}from"./ui/alert-dialog.js";import{ConfirmDialog as q}from"./dialogs/confirm-dialog.js";import"./sidebar-BCuXtop_.js";import{DetailDialog as J}from"./dialogs/detail-dialog/index.js";import{ErrorDialog as Y}from"./dialogs/error-dialog.js";import"./close-DrkwaVXK.js";import{Dialog as X,DialogClose as Z,DialogContent as Q,DialogDescription as $,DialogFooter as ee,DialogHeader as te,DialogOverlay as ne,DialogPortal as re,DialogTitle as ie,DialogTrigger as ae}from"./ui/dialog.js";import{LoadingDialog as oe}from"./dialogs/loading-dialog.js";import{Description as se,DescriptionBadge as ce,DescriptionBoolean as le,DescriptionCopy as ue,DescriptionDate as de,DescriptionEmpty as fe,DescriptionHeader as pe,DescriptionImages as me,DescriptionItem as he,DescriptionLink as ge,DescriptionLongText as _e,DescriptionName as ve,DescriptionNumberPhone as ye,DescriptionSection as be,DescriptionStatistic as xe,DescriptionStatus as Se,DescriptionTagList as Ce,DescriptionUser as we}from"./features/descriptions/index.js";import{t as Te}from"./search-modal-DdonKbwA.js";import{A as Ee,B as De,C as Oe,D as ke,E as Ae,F as je,H as Me,I as Ne,L as Pe,M as Fe,N as Ie,O as Le,P as Re,R as ze,S as Be,T as Ve,V as He,_ as Ue,a as We,b as Ge,c as Ke,d as qe,f as Je,g as Ye,h as Xe,i as Ze,j as Qe,k as $e,l as et,m as tt,n as nt,o as rt,p as it,r as at,s as ot,t as st,u as ct,v as lt,w as ut,x as dt,y as ft,z as pt}from"./tables-DbwtCMRI.js";import{$ as mt,A as ht,B as gt,C as _t,D as vt,E as yt,F as bt,G as xt,H as St,I as Ct,J as wt,K as Tt,L as Et,M as Dt,N as Ot,O as kt,P as At,Q as jt,R as Mt,S as Nt,T as Pt,U as Ft,V as It,W as Lt,X as Rt,Y as zt,Z as Bt,_ as Vt,a as Ht,b as Ut,c as Wt,d as Gt,et as Kt,f as qt,g as Jt,h as Yt,i as Xt,j as Zt,k as Qt,l as $t,m as en,n as tn,o as nn,p as rn,q as an,r as on,s as sn,t as cn,u as ln,v as un,w as dn,x as fn,y as pn,z as mn}from"./tanstack-form-Ds_Zjt20.js";import{n as hn,t as gn}from"./text-editor-DwisU9_U.js";import{t as _n}from"./cms-layout-CLeGdpMb.js";import{t as vn}from"./payment-layout-CksJbGsl.js";import{Grid as yn}from"./layouts/grid.js";import{FeatureDeveloping as bn}from"./pages/FeatureDeveloping.js";import{FeatureFixing as xn}from"./pages/FeatureFixing.js";import{NotAuthorized as Sn}from"./pages/NotAuthorized.js";import{NotFound as Cn}from"./pages/NotFound.js";import{n as wn,r as Tn,t as En}from"./alert-D5VmhFT9.js";import{Input as Dn}from"./ui/input.js";import{Label as On}from"./ui/label.js";import{LoginPage as kn}from"./pages/LoginPage.js";import{RegisterPage as An}from"./pages/RegisterPage.js";import{InputOTP as jn,InputOTPGroup as Mn,InputOTPSeparator as Nn,InputOTPSlot as Pn}from"./ui/input-otp.js";import{VerifyEmailPage as Fn}from"./pages/VerifyEmailPage.js";import{Google as In}from"./systems/google.js";import{Title as Ln}from"./typography/title.js";import{AddNewBtn as Rn}from"./ui/buttons/add-new.js";import{EditBtn as zn}from"./ui/buttons/edit.js";import{RefreshBtn as Bn}from"./ui/buttons/refresh.js";import{TrashBtn as Vn}from"./ui/buttons/trash.js";import{UploadImageBtn as Hn}from"./ui/buttons/upload-image.js";import{SearchInput as Un}from"./ui/inputs/search-input.js";import{AspectRatio as Wn}from"./ui/aspect-ratio.js";import{Breadcrumb as Gn,BreadcrumbEllipsis as Kn,BreadcrumbItem as qn,BreadcrumbLink as Jn,BreadcrumbList as Yn,BreadcrumbPage as Xn,BreadcrumbSeparator as Zn}from"./ui/breadcrumb.js";import{ButtonGroup as Qn,ButtonGroupSeparator as $n,ButtonGroupText as er,buttonGroupVariants as tr}from"./ui/button-group.js";import{Calendar as nr,CalendarDayButton as rr}from"./ui/calendar.js";import{Carousel as ir,CarouselContent as ar,CarouselItem as or,CarouselNext as sr,CarouselPrevious as cr}from"./ui/carousel.js";import{Checkbox as lr}from"./ui/checkbox.js";import{Collapsible as ur,CollapsibleContent as dr,CollapsibleTrigger as fr}from"./ui/collapsible.js";import{Command as pr,CommandDialog as mr,CommandEmpty as hr,CommandGroup as gr,CommandInput as _r,CommandItem as vr,CommandList as yr,CommandSeparator as br,CommandShortcut as xr}from"./ui/command.js";import{ContextMenu as Sr,ContextMenuCheckboxItem as Cr,ContextMenuContent as wr,ContextMenuGroup as Tr,ContextMenuItem as Er,ContextMenuLabel as Dr,ContextMenuPortal as Or,ContextMenuRadioGroup as kr,ContextMenuRadioItem as Ar,ContextMenuSeparator as jr,ContextMenuShortcut as Mr,ContextMenuSub as Nr,ContextMenuSubContent as Pr,ContextMenuSubTrigger as Fr,ContextMenuTrigger as Ir}from"./ui/context-menu.js";import{Drawer as Lr,DrawerClose as Rr,DrawerContent as zr,DrawerDescription as Br,DrawerFooter as Vr,DrawerHeader as Hr,DrawerOverlay as Ur,DrawerPortal as Wr,DrawerTitle as Gr,DrawerTrigger as Kr}from"./ui/drawer.js";import{DropdownMenu as qr,DropdownMenuCheckboxItem as Jr,DropdownMenuContent as Yr,DropdownMenuGroup as Xr,DropdownMenuItem as Zr,DropdownMenuLabel as Qr,DropdownMenuPortal as $r,DropdownMenuRadioGroup as ei,DropdownMenuRadioItem as ti,DropdownMenuSeparator as ni,DropdownMenuShortcut as ri,DropdownMenuSub as ii,DropdownMenuSubContent as ai,DropdownMenuSubTrigger as oi,DropdownMenuTrigger as si}from"./ui/dropdown-menu.js";import{Empty as ci,EmptyContent as li,EmptyDescription as ui,EmptyHeader as di,EmptyMedia as fi,EmptyTitle as pi}from"./ui/empty.js";import{FileUploader as mi}from"./ui/file-uploader.js";import"./field-DG-kX3HU.js";import{Form as hi,FormControl as gi,FormDescription as _i,FormField as vi,FormItem as yi,FormLabel as bi,FormMessage as xi,useFormField as Si}from"./ui/form.js";import{HoverCard as Ci,HoverCardContent as wi,HoverCardTrigger as Ti}from"./ui/hover-card.js";import{Item as Ei,ItemActions as Di,ItemContent as Oi,ItemDescription as ki,ItemFooter as Ai,ItemGroup as ji,ItemHeader as Mi,ItemMedia as Ni,ItemSeparator as Pi,ItemTitle as Fi}from"./ui/item.js";import{Menubar as Ii,MenubarCheckboxItem as Li,MenubarContent as Ri,MenubarGroup as zi,MenubarItem as Bi,MenubarLabel as Vi,MenubarMenu as Hi,MenubarPortal as Ui,MenubarRadioGroup as Wi,MenubarRadioItem as Gi,MenubarSeparator as Ki,MenubarShortcut as qi,MenubarSub as Ji,MenubarSubContent as Yi,MenubarSubTrigger as Xi,MenubarTrigger as Zi}from"./ui/menubar.js";import{MultipleSelector as Qi,useDebounce as $i}from"./ui/multi-select.js";import{NavigationMenu as ea,NavigationMenuContent as ta,NavigationMenuIndicator as na,NavigationMenuItem as ra,NavigationMenuLink as ia,NavigationMenuList as aa,NavigationMenuTrigger as oa,NavigationMenuViewport as sa,navigationMenuTriggerStyle as ca}from"./ui/navigation-menu.js";import{Pagination as la,PaginationContent as ua,PaginationEllipsis as da,PaginationItem as fa,PaginationLink as pa,PaginationNext as ma,PaginationPrevious as ha}from"./ui/pagination.js";import{Popover as ga,PopoverAnchor as _a,PopoverClose as va,PopoverContent as ya,PopoverTrigger as ba}from"./ui/popover.js";import{Progress as xa}from"./ui/progress.js";import{RadioGroup as Sa,RadioGroupItem as Ca}from"./ui/radio-group.js";import{ResizableHandle as wa,ResizablePanel as Ta,ResizablePanelGroup as Ea}from"./ui/resizable.js";import{ScrollArea as Da,ScrollBar as Oa}from"./ui/scroll-area.js";import{Select as ka,SelectContent as Aa,SelectGroup as ja,SelectItem as Ma,SelectLabel as Na,SelectSeparator as Pa,SelectTrigger as Fa,SelectValue as Ia}from"./ui/select.js";import{Separator as La}from"./ui/separator.js";import{Sheet as Ra,SheetClose as za,SheetContent as Ba,SheetDescription as Va,SheetFooter as Ha,SheetHeader as Ua,SheetTitle as Wa,SheetTrigger as Ga}from"./ui/sheet.js";import{Slider as Ka}from"./ui/slider.js";import{Toaster as qa,toast as Ja}from"./ui/sonner.js";import{Spinner as Ya}from"./ui/spinner.js";import{Switch as Xa}from"./ui/switch.js";import{Table as Za,TableBody as Qa,TableCaption as $a,TableCell as eo,TableFooter as to,TableHead as no,TableHeader as ro,TableRow as io}from"./ui/table.js";import{Tabs as ao,TabsContent as oo,TabsList as so,TabsTrigger as co}from"./ui/tabs.js";import{Textarea as lo}from"./ui/textarea.js";import{Toggle as uo,toggleVariants as fo}from"./ui/toggle.js";import{ToggleGroup as po,ToggleGroupItem as mo}from"./ui/toggle-group.js";export{Rn as AddNewBtn,En as Alert,wn as AlertDescription,I as AlertDialog,L as AlertDialogAction,R as AlertDialogCancel,z as AlertDialogContent,B as AlertDialogDescription,V as AlertDialogFooter,H as AlertDialogHeader,U as AlertDialogOverlay,W as AlertDialogPortal,G as AlertDialogTitle,K as AlertDialogTrigger,Tn as AlertTitle,jt as ArrayCol,mt as ArrayHeaderRow,Wn as AspectRatio,M as Avatar,N as AvatarFallback,P as AvatarImage,O as Badge,Gn as Breadcrumb,Kn as BreadcrumbEllipsis,qn as BreadcrumbItem,Jn as BreadcrumbLink,Yn as BreadcrumbList,Xn as BreadcrumbPage,Zn as BreadcrumbSeparator,e as Button,Qn as ButtonGroup,$n as ButtonGroupSeparator,er as ButtonGroupText,_n as CMSLayout,nr as Calendar,rr as CalendarDayButton,qt as CancelButton,r as Card,i as CardAction,a as CardContent,o as CardDescription,s as CardFooter,c as CardHeader,l as CardTitle,ir as Carousel,ar as CarouselContent,or as CarouselItem,sr as CarouselNext,cr as CarouselPrevious,lr as Checkbox,kt as CheckboxField,ur as Collapsible,dr as CollapsibleContent,fr as CollapsibleTrigger,vt as ComboboxField,pr as Command,mr as CommandDialog,hr as CommandEmpty,gr as CommandGroup,_r as CommandInput,vr as CommandItem,yr as CommandList,br as CommandSeparator,xr as CommandShortcut,q as ConfirmDialog,Sr as ContextMenu,Cr as ContextMenuCheckboxItem,wr as ContextMenuContent,Tr as ContextMenuGroup,Er as ContextMenuItem,Dr as ContextMenuLabel,Or as ContextMenuPortal,kr as ContextMenuRadioGroup,Ar as ContextMenuRadioItem,jr as ContextMenuSeparator,Mr as ContextMenuShortcut,Nr as ContextMenuSub,Pr as ContextMenuSubContent,Fr as ContextMenuSubTrigger,Ir as ContextMenuTrigger,g as CountryDisplay,_ as DataList,v as DataListItem,y as DateDisplay,yt as DateField,b as DateTooltip,se as Description,ce as DescriptionBadge,le as DescriptionBoolean,ue as DescriptionCopy,de as DescriptionDate,fe as DescriptionEmpty,pe as DescriptionHeader,me as DescriptionImages,he as DescriptionItem,ge as DescriptionLink,_e as DescriptionLongText,ve as DescriptionName,ye as DescriptionNumberPhone,be as DescriptionSection,xe as DescriptionStatistic,Se as DescriptionStatus,Ce as DescriptionTagList,we as DescriptionUser,J as DetailDialog,X as Dialog,Z as DialogClose,Q as DialogContent,$ as DialogDescription,ee as DialogFooter,te as DialogHeader,ne as DialogOverlay,re as DialogPortal,ie as DialogTitle,ae as DialogTrigger,Lr as Drawer,Rr as DrawerClose,zr as DrawerContent,Br as DrawerDescription,Vr as DrawerFooter,Hr as DrawerHeader,Ur as DrawerOverlay,Wr as DrawerPortal,Gr as DrawerTitle,Kr as DrawerTrigger,qr as DropdownMenu,Jr as DropdownMenuCheckboxItem,Yr as DropdownMenuContent,Xr as DropdownMenuGroup,Zr as DropdownMenuItem,Qr as DropdownMenuLabel,$r as DropdownMenuPortal,ei as DropdownMenuRadioGroup,ti as DropdownMenuRadioItem,ni as DropdownMenuSeparator,ri as DropdownMenuShortcut,ii as DropdownMenuSub,ai as DropdownMenuSubContent,oi as DropdownMenuSubTrigger,si as DropdownMenuTrigger,zn as EditBtn,Pt as EmailField,ci as Empty,li as EmptyContent,ui as EmptyDescription,x as EmptyDisplay,di as EmptyHeader,fi as EmptyMedia,pi as EmptyTitle,Y as ErrorDialog,bn as FeatureDeveloping,xn as FeatureFixing,mn as Field,gt as FieldContent,It as FieldContentMain,St as FieldDescription,Ft as FieldError,Lt as FieldGroup,xt as FieldLabel,Tt as FieldLegend,an as FieldNote,wt as FieldSeparator,zt as FieldSet,Rt as FieldTitle,Bt as FieldTooltip,mi as FileUploader,h as Flex,hi as Form,gi as FormControl,_i as FormDescription,vi as FormField,yi as FormItem,bi as FormLabel,xi as FormMessage,In as Google,yn as Grid,f as GridProductCard,Ci as HoverCard,wi as HoverCardContent,Ti as HoverCardTrigger,d as Image,Dn as Input,jn as InputOTP,Mn as InputOTPGroup,Nn as InputOTPSeparator,Pn as InputOTPSlot,Ei as Item,Di as ItemActions,Oi as ItemContent,ki as ItemDescription,Ai as ItemFooter,ji as ItemGroup,Mi as ItemHeader,Ni as ItemMedia,Pi as ItemSeparator,Fi as ItemTitle,On as Label,oe as LoadingDialog,kn as LoginPage,Ii as Menubar,Li as MenubarCheckboxItem,Ri as MenubarContent,zi as MenubarGroup,Bi as MenubarItem,Vi as MenubarLabel,Hi as MenubarMenu,Ui as MenubarPortal,Wi as MenubarRadioGroup,Gi as MenubarRadioItem,Ki as MenubarSeparator,qi as MenubarShortcut,Ji as MenubarSub,Yi as MenubarSubContent,Xi as MenubarSubTrigger,Zi as MenubarTrigger,Qi as MultipleSelector,E as NameDisplay,ea as NavigationMenu,ta as NavigationMenuContent,na as NavigationMenuIndicator,ra as NavigationMenuItem,ia as NavigationMenuLink,aa as NavigationMenuList,oa as NavigationMenuTrigger,sa as NavigationMenuViewport,Sn as NotAuthorized,Cn as NotFound,dn as NumberField,la as Pagination,ua as PaginationContent,da as PaginationEllipsis,fa as PaginationItem,pa as PaginationLink,ma as PaginationNext,ha as PaginationPrevious,n as Paragraph,_t as PasswordField,vn as PaymentLayout,D as PhoneNumberDisplay,ga as Popover,_a as PopoverAnchor,va as PopoverClose,ya as PopoverContent,ba as PopoverTrigger,p as ProductCard,xa as Progress,Sa as RadioGroup,Nt as RadioGroupField,Ca as RadioGroupItem,Bn as RefreshBtn,An as RegisterPage,wa as ResizableHandle,Ta as ResizablePanel,Ea as ResizablePanelGroup,A as RoleBadge,Da as ScrollArea,Oa as ScrollBar,Un as SearchInput,Te as SearchModal,ka as Select,Aa as SelectContent,fn as SelectField,ja as SelectGroup,Ma as SelectItem,Na as SelectLabel,Pa as SelectSeparator,Fa as SelectTrigger,Ia as SelectValue,La as Separator,Ra as Sheet,za as SheetClose,Ba as SheetContent,Va as SheetDescription,Ha as SheetFooter,Ua as SheetHeader,Wa as SheetTitle,Ga as SheetTrigger,Kt as SimpleArrayField,Mt as SimpleBooleanField,m as SimpleCard,Et as SimpleComboboxField,Ct as SimpleDateField,At as SimpleEmailField,Ot as SimpleNumberField,Dt as SimplePasswordField,bt as SimpleRadioGroupField,Zt as SimpleSelectField,Qt as SimpleTextField,ht as SimpleTextareaField,u as Skeleton,Ka as Slider,Ya as Spinner,j as Statistic,Gt as SubmitButton,Xa as Switch,Ut as SwitchField,Za as Table,Qa as TableBody,$a as TableCaption,eo as TableCell,to as TableFooter,no as TableHead,ro as TableHeader,io as TableRow,ao as Tabs,oo as TabsContent,so as TabsList,co as TabsTrigger,Jt as TanStackActionSubmit,Yt as TanStackActionsForm,en as TanStackCardForm,rn as TanStackContainerForm,ln as TanStackDialogForm,$t as TanStackFieldGroup,Wt as TanStackPopoverForm,sn as TanStackSectionForm,nn as TanStackTitleField,gn as TextEditor,Vt as TextEditorField,hn as TextEditorToolbar,pn as TextField,lo as Textarea,un as TextareaField,Ln as Title,qa as Toaster,uo as Toggle,po as ToggleGroup,mo as ToggleGroupItem,S as Tooltip,C as TooltipContent,w as TooltipProvider,T as TooltipTrigger,Vn as TrashBtn,ot as UITableAnalysisPanel,Me as UITableAvatarNameDisplay,He as UITableBadgeDisplay,Ve as UITableBody,De as UITableBooleanDisplay,ut as UITableCell,Oe as UITableCellActions,Be as UITableCellSelect,Ke as UITableContainer,pt as UITableCurrencyDisplay,ze as UITableDateDisplay,Pe as UITableDescriptionDisplay,Ne as UITableEmailDisplay,dt as UITableEmptyDisplay,rt as UITableFilter,Ge as UITableFooter,ft as UITableFooterRow,lt as UITableHead,Ye as UITableHeadCell,Ue as UITableHeadCellOption,Xe as UITableHeadCellSelect,tt as UITableHeadRow,it as UITableInnerTable,Je as UITableInnerWrapper,je as UITableListDisplay,qe as UITableLoadMore,Re as UITableMoreButton,Ie as UITableNameDisplay,Fe as UITablePermalink,Qe as UITablePhoneNumberDisplay,Ee as UITableProgressDisplay,We as UITableProvider,$e as UITableRemoveButton,ct as UITableRow,Le as UITableStatisticDisplay,ke as UITableStatusDisplay,Ze as UITableSummaryBar,st as UITableTooltip,nt as UITableTooltipActions,at as UITableTooltipFilter,Ae as UITableUserDataDisplay,et as UITableWrapper,Hn as UploadImageBtn,F as UserDataDisplay,Fn as VerifyEmailPage,k as badgeVariants,tr as buttonGroupVariants,ca as navigationMenuTriggerStyle,t as paragraphVariants,Ja as toast,fo as toggleVariants,$i as useDebounce,Si as useFormField,cn as useTanStackFieldContext,tn as useTanStackForm,on as useTanStackFormContext,Xt as withTanStackFieldGroup,Ht as withTanStackForm};
@@ -1 +1 @@
1
- "use client";require(`../../button.variants-4kw6plrv.cjs`),require(`../../button-C--DAN1D.cjs`),require(`../../skeleton-CX1USu1w.cjs`),require(`../../tooltip-CBdoIzoM.cjs`),require(`../../avatar-TyOphzGo.cjs`),require(`../../separator-KuymG9g0.cjs`),require(`../../sheet-CvKSi0UC.cjs`),require(`../../dropdown-menu-CVh520yG.cjs`),require(`../../input-WJ0DLHTR.cjs`);const e=require(`../../cms-layout-BCH4NroR.cjs`);exports.CMSLayout=e.t;
1
+ "use client";const e=require(`../../cms-layout-B8maJRLp.cjs`);exports.CMSLayout=e.t;
@@ -1,2 +1,2 @@
1
- import { n as CMSLayoutProps, r as CMSLayoutUser, t as CMSLayout } from "../../index-KO98y6L0.cjs";
1
+ import { n as CMSLayoutProps, r as CMSLayoutUser, t as CMSLayout } from "../../index-rNI5ia8r.cjs";
2
2
  export { CMSLayout, CMSLayoutProps, CMSLayoutUser };
@@ -1,2 +1,2 @@
1
- import { n as CMSLayoutProps, r as CMSLayoutUser, t as CMSLayout } from "../../index-BlQGXGqt.js";
1
+ import { n as CMSLayoutProps, r as CMSLayoutUser, t as CMSLayout } from "../../index-C257sc-c.js";
2
2
  export { CMSLayout, CMSLayoutProps, CMSLayoutUser };
@@ -1 +1 @@
1
- "use client";import"../../button.variants-CoSpd71B.js";import"../../button-LMMbL-uH.js";import"../../skeleton-DlRDNM97.js";import"../../tooltip-CVIl6Hln.js";import"../../avatar-Hpj8lmux.js";import"../../separator-BM8hA4DP.js";import"../../sheet-DGXXYgWB.js";import"../../dropdown-menu-DeHCVyby.js";import"../../input-DAfP6LZ7.js";import{t as e}from"../../cms-layout-tPwrgJZc.js";export{e as CMSLayout};
1
+ "use client";import{t as e}from"../../cms-layout-CLeGdpMb.js";export{e as CMSLayout};
@@ -1 +1 @@
1
- "use client";const e=require(`../flex-DmWmOBn5.cjs`);exports.Flex=e.t;
1
+ "use client";const e=require(`../flex-BAfCk_in.cjs`);exports.Flex=e.t;
@@ -1,5 +1,5 @@
1
- import * as react25 from "react";
2
- import * as class_variance_authority_types1 from "class-variance-authority/types";
1
+ import * as react149 from "react";
2
+ import * as class_variance_authority_types5 from "class-variance-authority/types";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
 
5
5
  //#region packages/components/layouts/flex.d.ts
@@ -12,7 +12,7 @@ declare const flexVariants: (props?: ({
12
12
  gap?: "xs" | "sm" | "md" | "lg" | "xl" | "none" | null | undefined;
13
13
  justify?: "start" | "center" | "end" | "between" | "around" | "evenly" | "stretch" | null | undefined;
14
14
  align?: "start" | "center" | "end" | "stretch" | "baseline" | null | undefined;
15
- } & class_variance_authority_types1.ClassProp) | undefined) => string;
15
+ } & class_variance_authority_types5.ClassProp) | undefined) => string;
16
16
  type Props = {
17
17
  /** Additional Tailwind classes merged on top of the variant-generated classes. */
18
18
  className?: string;
@@ -100,7 +100,7 @@ type Props = {
100
100
  * </Flex>
101
101
  * ```
102
102
  */
103
- declare const Flex: react25.MemoExoticComponent<({
103
+ declare const Flex: react149.MemoExoticComponent<({
104
104
  vertical,
105
105
  wrap,
106
106
  width,
@@ -111,7 +111,7 @@ declare const Flex: react25.MemoExoticComponent<({
111
111
  align,
112
112
  className,
113
113
  children
114
- }: React.PropsWithChildren<Props>) => react25.JSX.Element>;
114
+ }: React.PropsWithChildren<Props>) => react149.JSX.Element>;
115
115
  //#endregion
116
116
  export { Flex };
117
117
  //# sourceMappingURL=flex.d.cts.map
@@ -1,5 +1,5 @@
1
- import * as react25 from "react";
2
1
  import { VariantProps } from "class-variance-authority";
2
+ import * as react29 from "react";
3
3
  import * as class_variance_authority_types1 from "class-variance-authority/types";
4
4
 
5
5
  //#region packages/components/layouts/flex.d.ts
@@ -100,7 +100,7 @@ type Props = {
100
100
  * </Flex>
101
101
  * ```
102
102
  */
103
- declare const Flex: react25.MemoExoticComponent<({
103
+ declare const Flex: react29.MemoExoticComponent<({
104
104
  vertical,
105
105
  wrap,
106
106
  width,
@@ -111,7 +111,7 @@ declare const Flex: react25.MemoExoticComponent<({
111
111
  align,
112
112
  className,
113
113
  children
114
- }: React.PropsWithChildren<Props>) => react25.JSX.Element>;
114
+ }: React.PropsWithChildren<Props>) => react29.JSX.Element>;
115
115
  //#endregion
116
116
  export { Flex };
117
117
  //# sourceMappingURL=flex.d.ts.map
@@ -1 +1 @@
1
- "use client";import{t as e}from"../flex-CinRrgEy.js";export{e as Flex};
1
+ "use client";import{t as e}from"../flex-D_XtSjf4.js";export{e as Flex};
@@ -1,2 +1,2 @@
1
- "use client";const e=require(`../chunk-350yNsax.cjs`);let t=require(`@customafk/react-toolkit/utils`),n=require(`react/jsx-runtime`);const r=({children:e})=>(0,n.jsx)(`div`,{className:`@container size-full`,children:(0,n.jsx)(`div`,{className:(0,t.cn)(`grid grid-cols-1 gap-4`,`@3xs:grid-cols-1`,`@2xs:grid-cols-1`,`@xs:grid-cols-1`,`@sm:grid-cols-1`,`@md:grid-cols-2`,`@lg:grid-cols-2`,`@xl:grid-cols-2`,`@2xl:grid-cols-2`,`@3xl:grid-cols-3`,`@4xl:grid-cols-3`,`@5xl:grid-cols-4`,`@6xl:grid-cols-4`,`@7xl:grid-cols-5`,`@8xl:grid-cols-6`,`@9xl:grid-cols-7`,`@10xl:grid-cols-8`),children:e})});exports.Grid=r;
1
+ "use client";const e=require(`../chunk-Bmb41Sf3.cjs`);let t=require(`@customafk/react-toolkit/utils`),n=require(`react/jsx-runtime`);const r=({children:e})=>(0,n.jsx)(`div`,{className:`@container size-full`,children:(0,n.jsx)(`div`,{className:(0,t.cn)(`grid grid-cols-1 gap-4`,`@3xs:grid-cols-1`,`@2xs:grid-cols-1`,`@xs:grid-cols-1`,`@sm:grid-cols-1`,`@md:grid-cols-2`,`@lg:grid-cols-2`,`@xl:grid-cols-2`,`@2xl:grid-cols-2`,`@3xl:grid-cols-3`,`@4xl:grid-cols-3`,`@5xl:grid-cols-4`,`@6xl:grid-cols-4`,`@7xl:grid-cols-5`,`@8xl:grid-cols-6`,`@9xl:grid-cols-7`,`@10xl:grid-cols-8`),children:e})});exports.Grid=r;
2
2
  //# sourceMappingURL=grid.cjs.map
@@ -1 +1 @@
1
- require(`../../button.variants-4kw6plrv.cjs`),require(`../../button-C--DAN1D.cjs`),require(`../../paragraph-DvTZvbzw.cjs`),require(`../../skeleton-CX1USu1w.cjs`),require(`../../flex-DmWmOBn5.cjs`),require(`../../tooltip-CBdoIzoM.cjs`),require(`../../avatar-TyOphzGo.cjs`),require(`../../separator-KuymG9g0.cjs`),require(`../../sheet-CvKSi0UC.cjs`),require(`../../dropdown-menu-CVh520yG.cjs`),require(`../../input-WJ0DLHTR.cjs`);const e=require(`../../payment-layout-DyILfyVG.cjs`);exports.PaymentLayout=e.t;
1
+ require(`../../flex-BAfCk_in.cjs`);const e=require(`../../payment-layout-O7TNw2Cr.cjs`);exports.PaymentLayout=e.t;
@@ -1 +1 @@
1
- import"../../button.variants-CoSpd71B.js";import"../../button-LMMbL-uH.js";import"../../paragraph-Cc13ZI4d.js";import"../../skeleton-DlRDNM97.js";import"../../flex-CinRrgEy.js";import"../../tooltip-CVIl6Hln.js";import"../../avatar-Hpj8lmux.js";import"../../separator-BM8hA4DP.js";import"../../sheet-DGXXYgWB.js";import"../../dropdown-menu-DeHCVyby.js";import"../../input-DAfP6LZ7.js";import{t as e}from"../../payment-layout-giaGvs8T.js";export{e as PaymentLayout};
1
+ import"../../flex-D_XtSjf4.js";import{t as e}from"../../payment-layout-CksJbGsl.js";export{e as PaymentLayout};
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../chunk-350yNsax.cjs`);require(`../button.variants-4kw6plrv.cjs`);const t=require(`../button-C--DAN1D.cjs`);let n=require(`lucide-react`),r=require(`@customafk/react-toolkit/utils`),i=require(`react/jsx-runtime`);const a=({title:e=`Tính năng đang phát triển`,subtitle:a=`Chúng tôi đang phát triển tính năng này. Vui lòng quay lại sau.`,buttonText:o=`Quay lại`,onButtonClick:s=()=>window.history.back(),className:c,iconClassName:l})=>(0,i.jsxs)(`div`,{className:(0,r.cn)(`flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full`,c),children:[(0,i.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,i.jsx)(n.Construction,{className:(0,r.cn)(`size-16 sm:size-24 text-yellow-500`,l)}),(0,i.jsx)(`div`,{className:`text-3xl sm:text-5xl font-bold text-yellow-500`})]}),(0,i.jsx)(`h1`,{className:`text-xl sm:text-2xl font-semibold mt-2`,children:e}),(0,i.jsx)(`p`,{className:`text-muted-foreground max-w-md text-sm sm:text-base`,children:a}),(0,i.jsx)(t.t,{onClick:s,variant:`default`,className:`mt-2`,size:`sm`,children:o})]});var o=a;exports.FeatureDeveloping=a,exports.default=o;
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../chunk-Bmb41Sf3.cjs`);require(`../button.variants-DgVFNsVc.cjs`);const t=require(`../ui/button.cjs`);let n=require(`lucide-react`),r=require(`@customafk/react-toolkit/utils`),i=require(`react/jsx-runtime`);const a=({title:e=`Tính năng đang phát triển`,subtitle:a=`Chúng tôi đang phát triển tính năng này. Vui lòng quay lại sau.`,buttonText:o=`Quay lại`,onButtonClick:s=()=>window.history.back(),className:c,iconClassName:l})=>(0,i.jsxs)(`div`,{className:(0,r.cn)(`flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full`,c),children:[(0,i.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,i.jsx)(n.Construction,{className:(0,r.cn)(`size-16 sm:size-24 text-yellow-500`,l)}),(0,i.jsx)(`div`,{className:`text-3xl sm:text-5xl font-bold text-yellow-500`})]}),(0,i.jsx)(`h1`,{className:`text-xl sm:text-2xl font-semibold mt-2`,children:e}),(0,i.jsx)(`p`,{className:`text-muted-foreground max-w-md text-sm sm:text-base`,children:a}),(0,i.jsx)(t.Button,{onClick:s,variant:`default`,className:`mt-2`,size:`sm`,children:o})]});var o=a;exports.FeatureDeveloping=a,exports.default=o;
2
2
  //# sourceMappingURL=FeatureDeveloping.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureDeveloping.cjs","names":["Construction","Button"],"sources":["../../packages/components/pages/FeatureDeveloping.tsx"],"sourcesContent":["import { Construction } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '../ui/button';\n\nexport interface FeatureDevelopingProps {\n /** Main heading shown beneath the construction icon. Defaults to `'Tính năng đang phát triển'`. */\n title?: string;\n /** Supporting text shown below the title. Defaults to a Vietnamese message asking the user to check back later. */\n subtitle?: string;\n /** Label for the action button. Defaults to `'Quay lại'`. */\n buttonText?: string;\n /** Handler called when the action button is clicked. Defaults to `window.history.back()`. */\n onButtonClick?: () => void;\n /** Additional class names applied to the root container element. */\n className?: string;\n /** Additional class names applied to the `Construction` icon. */\n iconClassName?: string;\n}\n\n/**\n * Full-page placeholder displayed when a feature is still under active development.\n *\n * @example\n * ```tsx\n * import { FeatureDeveloping } from '@customafk/lunas-ui/pages/FeatureDeveloping';\n *\n * <FeatureDeveloping\n * title=\"Coming Soon\"\n * subtitle=\"This feature is not ready yet.\"\n * buttonText=\"Go Back\"\n * onButtonClick={() => router.back()}\n * />\n * ```\n */\nexport const FeatureDeveloping = ({\n title = 'Tính năng đang phát triển',\n subtitle = 'Chúng tôi đang phát triển tính năng này. Vui lòng quay lại sau.',\n buttonText = 'Quay lại',\n onButtonClick = () => window.history.back(),\n className,\n iconClassName,\n}: FeatureDevelopingProps) => {\n return (\n <div className={cn('flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full', className)}>\n <div className=\"flex flex-col items-center gap-2\">\n <Construction className={cn('size-16 sm:size-24 text-yellow-500', iconClassName)} />\n <div className=\"text-3xl sm:text-5xl font-bold text-yellow-500\">{/* This text shows the feature is in development */}</div>\n </div>\n\n <h1 className=\"text-xl sm:text-2xl font-semibold mt-2\">{title}</h1>\n\n <p className=\"text-muted-foreground max-w-md text-sm sm:text-base\">{subtitle}</p>\n\n <Button onClick={onButtonClick} variant=\"default\" className=\"mt-2\" size=\"sm\">\n {buttonText}\n </Button>\n </div>\n );\n};\n\nexport default FeatureDeveloping;\n"],"mappings":"8RAoCA,MAAa,GAAqB,CAChC,QAAQ,4BACR,WAAW,kEACX,aAAa,WACb,oBAAsB,OAAO,QAAQ,MAAM,CAC3C,YACA,oBAGE,EAAA,EAAA,MAAC,MAAA,CAAI,WAAA,EAAA,EAAA,IAAc,8GAA+G,EAAU,YAC1I,EAAA,EAAA,MAAC,MAAA,CAAI,UAAU,8CACb,EAAA,EAAA,KAACA,EAAAA,aAAAA,CAAa,WAAA,EAAA,EAAA,IAAc,qCAAsC,EAAc,CAAA,CAAI,EACpF,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,iDAAA,CAA4G,CAAA,EACvH,EAEN,EAAA,EAAA,KAAC,KAAA,CAAG,UAAU,kDAA0C,GAAW,EAEnE,EAAA,EAAA,KAAC,IAAA,CAAE,UAAU,+DAAuD,GAAa,EAEjF,EAAA,EAAA,KAACC,EAAAA,EAAAA,CAAO,QAAS,EAAe,QAAQ,UAAU,UAAU,OAAO,KAAK,cACrE,GACM,GACL,CAIV,IAAA,EAAe"}
1
+ {"version":3,"file":"FeatureDeveloping.cjs","names":["Construction","Button"],"sources":["../../packages/components/pages/FeatureDeveloping.tsx"],"sourcesContent":["import { Construction } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '../ui/button';\n\nexport interface FeatureDevelopingProps {\n /** Main heading shown beneath the construction icon. Defaults to `'Tính năng đang phát triển'`. */\n title?: string;\n /** Supporting text shown below the title. Defaults to a Vietnamese message asking the user to check back later. */\n subtitle?: string;\n /** Label for the action button. Defaults to `'Quay lại'`. */\n buttonText?: string;\n /** Handler called when the action button is clicked. Defaults to `window.history.back()`. */\n onButtonClick?: () => void;\n /** Additional class names applied to the root container element. */\n className?: string;\n /** Additional class names applied to the `Construction` icon. */\n iconClassName?: string;\n}\n\n/**\n * Full-page placeholder displayed when a feature is still under active development.\n *\n * @example\n * ```tsx\n * import { FeatureDeveloping } from '@customafk/lunas-ui/pages/FeatureDeveloping';\n *\n * <FeatureDeveloping\n * title=\"Coming Soon\"\n * subtitle=\"This feature is not ready yet.\"\n * buttonText=\"Go Back\"\n * onButtonClick={() => router.back()}\n * />\n * ```\n */\nexport const FeatureDeveloping = ({\n title = 'Tính năng đang phát triển',\n subtitle = 'Chúng tôi đang phát triển tính năng này. Vui lòng quay lại sau.',\n buttonText = 'Quay lại',\n onButtonClick = () => window.history.back(),\n className,\n iconClassName,\n}: FeatureDevelopingProps) => {\n return (\n <div className={cn('flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full', className)}>\n <div className=\"flex flex-col items-center gap-2\">\n <Construction className={cn('size-16 sm:size-24 text-yellow-500', iconClassName)} />\n <div className=\"text-3xl sm:text-5xl font-bold text-yellow-500\">{/* This text shows the feature is in development */}</div>\n </div>\n\n <h1 className=\"text-xl sm:text-2xl font-semibold mt-2\">{title}</h1>\n\n <p className=\"text-muted-foreground max-w-md text-sm sm:text-base\">{subtitle}</p>\n\n <Button onClick={onButtonClick} variant=\"default\" className=\"mt-2\" size=\"sm\">\n {buttonText}\n </Button>\n </div>\n );\n};\n\nexport default FeatureDeveloping;\n"],"mappings":"wRAoCA,MAAa,GAAqB,CAChC,QAAQ,4BACR,WAAW,kEACX,aAAa,WACb,oBAAsB,OAAO,QAAQ,MAAM,CAC3C,YACA,oBAGE,EAAA,EAAA,MAAC,MAAA,CAAI,WAAA,EAAA,EAAA,IAAc,8GAA+G,EAAU,YAC1I,EAAA,EAAA,MAAC,MAAA,CAAI,UAAU,8CACb,EAAA,EAAA,KAACA,EAAAA,aAAAA,CAAa,WAAA,EAAA,EAAA,IAAc,qCAAsC,EAAc,CAAA,CAAI,EACpF,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,iDAAA,CAA4G,CAAA,EACvH,EAEN,EAAA,EAAA,KAAC,KAAA,CAAG,UAAU,kDAA0C,GAAW,EAEnE,EAAA,EAAA,KAAC,IAAA,CAAE,UAAU,+DAAuD,GAAa,EAEjF,EAAA,EAAA,KAACC,EAAAA,OAAAA,CAAO,QAAS,EAAe,QAAQ,UAAU,UAAU,OAAO,KAAK,cACrE,GACM,GACL,CAIV,IAAA,EAAe"}
@@ -1,4 +1,4 @@
1
- import * as react27 from "react";
1
+ import * as react30 from "react";
2
2
 
3
3
  //#region packages/components/pages/FeatureDeveloping.d.ts
4
4
  interface FeatureDevelopingProps {
@@ -37,7 +37,7 @@ declare const FeatureDeveloping: ({
37
37
  onButtonClick,
38
38
  className,
39
39
  iconClassName
40
- }: FeatureDevelopingProps) => react27.JSX.Element;
40
+ }: FeatureDevelopingProps) => react30.JSX.Element;
41
41
  //#endregion
42
42
  export { FeatureDeveloping, FeatureDeveloping as default, FeatureDevelopingProps };
43
43
  //# sourceMappingURL=FeatureDeveloping.d.cts.map
@@ -1,4 +1,4 @@
1
- import * as react28 from "react";
1
+ import * as react32 from "react";
2
2
 
3
3
  //#region packages/components/pages/FeatureDeveloping.d.ts
4
4
  interface FeatureDevelopingProps {
@@ -37,7 +37,7 @@ declare const FeatureDeveloping: ({
37
37
  onButtonClick,
38
38
  className,
39
39
  iconClassName
40
- }: FeatureDevelopingProps) => react28.JSX.Element;
40
+ }: FeatureDevelopingProps) => react32.JSX.Element;
41
41
  //#endregion
42
42
  export { FeatureDeveloping, FeatureDeveloping as default, FeatureDevelopingProps };
43
43
  //# sourceMappingURL=FeatureDeveloping.d.ts.map
@@ -1,2 +1,2 @@
1
- import"../button.variants-CoSpd71B.js";import{t as e}from"../button-LMMbL-uH.js";import{Construction as t}from"lucide-react";import{cn as n}from"@customafk/react-toolkit/utils";import{jsx as r,jsxs as i}from"react/jsx-runtime";const a=({title:a=`Tính năng đang phát triển`,subtitle:o=`Chúng tôi đang phát triển tính năng này. Vui lòng quay lại sau.`,buttonText:s=`Quay lại`,onButtonClick:c=()=>window.history.back(),className:l,iconClassName:u})=>i(`div`,{className:n(`flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full`,l),children:[i(`div`,{className:`flex flex-col items-center gap-2`,children:[r(t,{className:n(`size-16 sm:size-24 text-yellow-500`,u)}),r(`div`,{className:`text-3xl sm:text-5xl font-bold text-yellow-500`})]}),r(`h1`,{className:`text-xl sm:text-2xl font-semibold mt-2`,children:a}),r(`p`,{className:`text-muted-foreground max-w-md text-sm sm:text-base`,children:o}),r(e,{onClick:c,variant:`default`,className:`mt-2`,size:`sm`,children:s})]});var o=a;export{a as FeatureDeveloping,o as default};
1
+ import"../button.variants-BruXd4VM.js";import{Button as e}from"../ui/button.js";import{Construction as t}from"lucide-react";import{cn as n}from"@customafk/react-toolkit/utils";import{jsx as r,jsxs as i}from"react/jsx-runtime";const a=({title:a=`Tính năng đang phát triển`,subtitle:o=`Chúng tôi đang phát triển tính năng này. Vui lòng quay lại sau.`,buttonText:s=`Quay lại`,onButtonClick:c=()=>window.history.back(),className:l,iconClassName:u})=>i(`div`,{className:n(`flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full`,l),children:[i(`div`,{className:`flex flex-col items-center gap-2`,children:[r(t,{className:n(`size-16 sm:size-24 text-yellow-500`,u)}),r(`div`,{className:`text-3xl sm:text-5xl font-bold text-yellow-500`})]}),r(`h1`,{className:`text-xl sm:text-2xl font-semibold mt-2`,children:a}),r(`p`,{className:`text-muted-foreground max-w-md text-sm sm:text-base`,children:o}),r(e,{onClick:c,variant:`default`,className:`mt-2`,size:`sm`,children:s})]});var o=a;export{a as FeatureDeveloping,o as default};
2
2
  //# sourceMappingURL=FeatureDeveloping.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureDeveloping.js","names":[],"sources":["../../packages/components/pages/FeatureDeveloping.tsx"],"sourcesContent":["import { Construction } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '../ui/button';\n\nexport interface FeatureDevelopingProps {\n /** Main heading shown beneath the construction icon. Defaults to `'Tính năng đang phát triển'`. */\n title?: string;\n /** Supporting text shown below the title. Defaults to a Vietnamese message asking the user to check back later. */\n subtitle?: string;\n /** Label for the action button. Defaults to `'Quay lại'`. */\n buttonText?: string;\n /** Handler called when the action button is clicked. Defaults to `window.history.back()`. */\n onButtonClick?: () => void;\n /** Additional class names applied to the root container element. */\n className?: string;\n /** Additional class names applied to the `Construction` icon. */\n iconClassName?: string;\n}\n\n/**\n * Full-page placeholder displayed when a feature is still under active development.\n *\n * @example\n * ```tsx\n * import { FeatureDeveloping } from '@customafk/lunas-ui/pages/FeatureDeveloping';\n *\n * <FeatureDeveloping\n * title=\"Coming Soon\"\n * subtitle=\"This feature is not ready yet.\"\n * buttonText=\"Go Back\"\n * onButtonClick={() => router.back()}\n * />\n * ```\n */\nexport const FeatureDeveloping = ({\n title = 'Tính năng đang phát triển',\n subtitle = 'Chúng tôi đang phát triển tính năng này. Vui lòng quay lại sau.',\n buttonText = 'Quay lại',\n onButtonClick = () => window.history.back(),\n className,\n iconClassName,\n}: FeatureDevelopingProps) => {\n return (\n <div className={cn('flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full', className)}>\n <div className=\"flex flex-col items-center gap-2\">\n <Construction className={cn('size-16 sm:size-24 text-yellow-500', iconClassName)} />\n <div className=\"text-3xl sm:text-5xl font-bold text-yellow-500\">{/* This text shows the feature is in development */}</div>\n </div>\n\n <h1 className=\"text-xl sm:text-2xl font-semibold mt-2\">{title}</h1>\n\n <p className=\"text-muted-foreground max-w-md text-sm sm:text-base\">{subtitle}</p>\n\n <Button onClick={onButtonClick} variant=\"default\" className=\"mt-2\" size=\"sm\">\n {buttonText}\n </Button>\n </div>\n );\n};\n\nexport default FeatureDeveloping;\n"],"mappings":"mOAoCA,MAAa,GAAqB,CAChC,QAAQ,4BACR,WAAW,kEACX,aAAa,WACb,oBAAsB,OAAO,QAAQ,MAAM,CAC3C,YACA,mBAGE,EAAC,MAAA,CAAI,UAAW,EAAG,8GAA+G,EAAU,WAC1I,EAAC,MAAA,CAAI,UAAU,6CACb,EAAC,EAAA,CAAa,UAAW,EAAG,qCAAsC,EAAc,CAAA,CAAI,CACpF,EAAC,MAAA,CAAI,UAAU,iDAAA,CAA4G,CAAA,EACvH,CAEN,EAAC,KAAA,CAAG,UAAU,kDAA0C,GAAW,CAEnE,EAAC,IAAA,CAAE,UAAU,+DAAuD,GAAa,CAEjF,EAAC,EAAA,CAAO,QAAS,EAAe,QAAQ,UAAU,UAAU,OAAO,KAAK,cACrE,GACM,GACL,CAIV,IAAA,EAAe"}
1
+ {"version":3,"file":"FeatureDeveloping.js","names":[],"sources":["../../packages/components/pages/FeatureDeveloping.tsx"],"sourcesContent":["import { Construction } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '../ui/button';\n\nexport interface FeatureDevelopingProps {\n /** Main heading shown beneath the construction icon. Defaults to `'Tính năng đang phát triển'`. */\n title?: string;\n /** Supporting text shown below the title. Defaults to a Vietnamese message asking the user to check back later. */\n subtitle?: string;\n /** Label for the action button. Defaults to `'Quay lại'`. */\n buttonText?: string;\n /** Handler called when the action button is clicked. Defaults to `window.history.back()`. */\n onButtonClick?: () => void;\n /** Additional class names applied to the root container element. */\n className?: string;\n /** Additional class names applied to the `Construction` icon. */\n iconClassName?: string;\n}\n\n/**\n * Full-page placeholder displayed when a feature is still under active development.\n *\n * @example\n * ```tsx\n * import { FeatureDeveloping } from '@customafk/lunas-ui/pages/FeatureDeveloping';\n *\n * <FeatureDeveloping\n * title=\"Coming Soon\"\n * subtitle=\"This feature is not ready yet.\"\n * buttonText=\"Go Back\"\n * onButtonClick={() => router.back()}\n * />\n * ```\n */\nexport const FeatureDeveloping = ({\n title = 'Tính năng đang phát triển',\n subtitle = 'Chúng tôi đang phát triển tính năng này. Vui lòng quay lại sau.',\n buttonText = 'Quay lại',\n onButtonClick = () => window.history.back(),\n className,\n iconClassName,\n}: FeatureDevelopingProps) => {\n return (\n <div className={cn('flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full', className)}>\n <div className=\"flex flex-col items-center gap-2\">\n <Construction className={cn('size-16 sm:size-24 text-yellow-500', iconClassName)} />\n <div className=\"text-3xl sm:text-5xl font-bold text-yellow-500\">{/* This text shows the feature is in development */}</div>\n </div>\n\n <h1 className=\"text-xl sm:text-2xl font-semibold mt-2\">{title}</h1>\n\n <p className=\"text-muted-foreground max-w-md text-sm sm:text-base\">{subtitle}</p>\n\n <Button onClick={onButtonClick} variant=\"default\" className=\"mt-2\" size=\"sm\">\n {buttonText}\n </Button>\n </div>\n );\n};\n\nexport default FeatureDeveloping;\n"],"mappings":"kOAoCA,MAAa,GAAqB,CAChC,QAAQ,4BACR,WAAW,kEACX,aAAa,WACb,oBAAsB,OAAO,QAAQ,MAAM,CAC3C,YACA,mBAGE,EAAC,MAAA,CAAI,UAAW,EAAG,8GAA+G,EAAU,WAC1I,EAAC,MAAA,CAAI,UAAU,6CACb,EAAC,EAAA,CAAa,UAAW,EAAG,qCAAsC,EAAc,CAAA,CAAI,CACpF,EAAC,MAAA,CAAI,UAAU,iDAAA,CAA4G,CAAA,EACvH,CAEN,EAAC,KAAA,CAAG,UAAU,kDAA0C,GAAW,CAEnE,EAAC,IAAA,CAAE,UAAU,+DAAuD,GAAa,CAEjF,EAAC,EAAA,CAAO,QAAS,EAAe,QAAQ,UAAU,UAAU,OAAO,KAAK,cACrE,GACM,GACL,CAIV,IAAA,EAAe"}
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../chunk-350yNsax.cjs`);require(`../button.variants-4kw6plrv.cjs`);const t=require(`../button-C--DAN1D.cjs`);let n=require(`lucide-react`),r=require(`@customafk/react-toolkit/utils`),i=require(`react/jsx-runtime`);const a=({title:e=`Tính năng đang bảo trì`,subtitle:a=`Chúng tôi đang khắc phục vấn đề với tính năng này. Vui lòng quay lại sau.`,buttonText:o=`Quay lại`,onButtonClick:s=()=>window.history.back(),className:c,iconClassName:l})=>(0,i.jsxs)(`div`,{className:(0,r.cn)(`flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full`,c),children:[(0,i.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,i.jsx)(n.Wrench,{className:(0,r.cn)(`size-16 sm:size-24 text-orange-500`,l)}),(0,i.jsx)(`div`,{className:`text-3xl sm:text-5xl font-bold text-orange-500`})]}),(0,i.jsx)(`h1`,{className:`text-xl sm:text-2xl font-semibold mt-2`,children:e}),(0,i.jsx)(`p`,{className:`text-muted-foreground max-w-md text-sm sm:text-base`,children:a}),(0,i.jsx)(t.t,{onClick:s,variant:`default`,className:`mt-2`,size:`sm`,children:o})]});var o=a;exports.FeatureFixing=a,exports.default=o;
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../chunk-Bmb41Sf3.cjs`);require(`../button.variants-DgVFNsVc.cjs`);const t=require(`../ui/button.cjs`);let n=require(`lucide-react`),r=require(`@customafk/react-toolkit/utils`),i=require(`react/jsx-runtime`);const a=({title:e=`Tính năng đang bảo trì`,subtitle:a=`Chúng tôi đang khắc phục vấn đề với tính năng này. Vui lòng quay lại sau.`,buttonText:o=`Quay lại`,onButtonClick:s=()=>window.history.back(),className:c,iconClassName:l})=>(0,i.jsxs)(`div`,{className:(0,r.cn)(`flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full`,c),children:[(0,i.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,i.jsx)(n.Wrench,{className:(0,r.cn)(`size-16 sm:size-24 text-orange-500`,l)}),(0,i.jsx)(`div`,{className:`text-3xl sm:text-5xl font-bold text-orange-500`})]}),(0,i.jsx)(`h1`,{className:`text-xl sm:text-2xl font-semibold mt-2`,children:e}),(0,i.jsx)(`p`,{className:`text-muted-foreground max-w-md text-sm sm:text-base`,children:a}),(0,i.jsx)(t.Button,{onClick:s,variant:`default`,className:`mt-2`,size:`sm`,children:o})]});var o=a;exports.FeatureFixing=a,exports.default=o;
2
2
  //# sourceMappingURL=FeatureFixing.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureFixing.cjs","names":["Wrench","Button"],"sources":["../../packages/components/pages/FeatureFixing.tsx"],"sourcesContent":["import { Button } from '../ui/button';\nimport { cn } from '@customafk/react-toolkit/utils';\nimport { Wrench } from 'lucide-react';\n\nexport interface FeatureFixingProps {\n /** Main heading shown beneath the wrench icon. Defaults to `'Tính năng đang bảo trì'`. */\n title?: string;\n /** Supporting text shown below the title. Defaults to a Vietnamese maintenance message. */\n subtitle?: string;\n /** Label for the action button. Defaults to `'Quay lại'`. */\n buttonText?: string;\n /** Handler called when the action button is clicked. Defaults to `window.history.back()`. */\n onButtonClick?: () => void;\n /** Additional class names applied to the root container element. */\n className?: string;\n /** Additional class names applied to the `Wrench` icon. */\n iconClassName?: string;\n}\n\n/**\n * Full-page placeholder displayed when a feature is temporarily unavailable due to maintenance or bug fixes.\n *\n * @example\n * ```tsx\n * import { FeatureFixing } from '@customafk/lunas-ui/pages/FeatureFixing';\n *\n * <FeatureFixing\n * title=\"Under Maintenance\"\n * subtitle=\"We are fixing an issue. Please check back later.\"\n * buttonText=\"Go Back\"\n * onButtonClick={() => router.back()}\n * />\n * ```\n */\nexport const FeatureFixing = ({\n title = 'Tính năng đang bảo trì',\n subtitle = 'Chúng tôi đang khắc phục vấn đề với tính năng này. Vui lòng quay lại sau.',\n buttonText = 'Quay lại',\n onButtonClick = () => window.history.back(),\n className,\n iconClassName,\n}: FeatureFixingProps) => {\n return (\n <div className={cn('flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full', className)}>\n <div className=\"flex flex-col items-center gap-2\">\n <Wrench className={cn('size-16 sm:size-24 text-orange-500', iconClassName)} />\n <div className=\"text-3xl sm:text-5xl font-bold text-orange-500\">{/* This text indicates the feature is being fixed */}</div>\n </div>\n\n <h1 className=\"text-xl sm:text-2xl font-semibold mt-2\">{title}</h1>\n\n <p className=\"text-muted-foreground max-w-md text-sm sm:text-base\">{subtitle}</p>\n\n <Button onClick={onButtonClick} variant=\"default\" className=\"mt-2\" size=\"sm\">\n {buttonText}\n </Button>\n </div>\n );\n};\n\nexport default FeatureFixing;\n"],"mappings":"8RAkCA,MAAa,GAAiB,CAC5B,QAAQ,yBACR,WAAW,4EACX,aAAa,WACb,oBAAsB,OAAO,QAAQ,MAAM,CAC3C,YACA,oBAGE,EAAA,EAAA,MAAC,MAAA,CAAI,WAAA,EAAA,EAAA,IAAc,8GAA+G,EAAU,YAC1I,EAAA,EAAA,MAAC,MAAA,CAAI,UAAU,8CACb,EAAA,EAAA,KAACA,EAAAA,OAAAA,CAAO,WAAA,EAAA,EAAA,IAAc,qCAAsC,EAAc,CAAA,CAAI,EAC9E,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,iDAAA,CAA6G,CAAA,EACxH,EAEN,EAAA,EAAA,KAAC,KAAA,CAAG,UAAU,kDAA0C,GAAW,EAEnE,EAAA,EAAA,KAAC,IAAA,CAAE,UAAU,+DAAuD,GAAa,EAEjF,EAAA,EAAA,KAACC,EAAAA,EAAAA,CAAO,QAAS,EAAe,QAAQ,UAAU,UAAU,OAAO,KAAK,cACrE,GACM,GACL,CAIV,IAAA,EAAe"}
1
+ {"version":3,"file":"FeatureFixing.cjs","names":["Wrench","Button"],"sources":["../../packages/components/pages/FeatureFixing.tsx"],"sourcesContent":["import { Button } from '../ui/button';\nimport { cn } from '@customafk/react-toolkit/utils';\nimport { Wrench } from 'lucide-react';\n\nexport interface FeatureFixingProps {\n /** Main heading shown beneath the wrench icon. Defaults to `'Tính năng đang bảo trì'`. */\n title?: string;\n /** Supporting text shown below the title. Defaults to a Vietnamese maintenance message. */\n subtitle?: string;\n /** Label for the action button. Defaults to `'Quay lại'`. */\n buttonText?: string;\n /** Handler called when the action button is clicked. Defaults to `window.history.back()`. */\n onButtonClick?: () => void;\n /** Additional class names applied to the root container element. */\n className?: string;\n /** Additional class names applied to the `Wrench` icon. */\n iconClassName?: string;\n}\n\n/**\n * Full-page placeholder displayed when a feature is temporarily unavailable due to maintenance or bug fixes.\n *\n * @example\n * ```tsx\n * import { FeatureFixing } from '@customafk/lunas-ui/pages/FeatureFixing';\n *\n * <FeatureFixing\n * title=\"Under Maintenance\"\n * subtitle=\"We are fixing an issue. Please check back later.\"\n * buttonText=\"Go Back\"\n * onButtonClick={() => router.back()}\n * />\n * ```\n */\nexport const FeatureFixing = ({\n title = 'Tính năng đang bảo trì',\n subtitle = 'Chúng tôi đang khắc phục vấn đề với tính năng này. Vui lòng quay lại sau.',\n buttonText = 'Quay lại',\n onButtonClick = () => window.history.back(),\n className,\n iconClassName,\n}: FeatureFixingProps) => {\n return (\n <div className={cn('flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full', className)}>\n <div className=\"flex flex-col items-center gap-2\">\n <Wrench className={cn('size-16 sm:size-24 text-orange-500', iconClassName)} />\n <div className=\"text-3xl sm:text-5xl font-bold text-orange-500\">{/* This text indicates the feature is being fixed */}</div>\n </div>\n\n <h1 className=\"text-xl sm:text-2xl font-semibold mt-2\">{title}</h1>\n\n <p className=\"text-muted-foreground max-w-md text-sm sm:text-base\">{subtitle}</p>\n\n <Button onClick={onButtonClick} variant=\"default\" className=\"mt-2\" size=\"sm\">\n {buttonText}\n </Button>\n </div>\n );\n};\n\nexport default FeatureFixing;\n"],"mappings":"wRAkCA,MAAa,GAAiB,CAC5B,QAAQ,yBACR,WAAW,4EACX,aAAa,WACb,oBAAsB,OAAO,QAAQ,MAAM,CAC3C,YACA,oBAGE,EAAA,EAAA,MAAC,MAAA,CAAI,WAAA,EAAA,EAAA,IAAc,8GAA+G,EAAU,YAC1I,EAAA,EAAA,MAAC,MAAA,CAAI,UAAU,8CACb,EAAA,EAAA,KAACA,EAAAA,OAAAA,CAAO,WAAA,EAAA,EAAA,IAAc,qCAAsC,EAAc,CAAA,CAAI,EAC9E,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,iDAAA,CAA6G,CAAA,EACxH,EAEN,EAAA,EAAA,KAAC,KAAA,CAAG,UAAU,kDAA0C,GAAW,EAEnE,EAAA,EAAA,KAAC,IAAA,CAAE,UAAU,+DAAuD,GAAa,EAEjF,EAAA,EAAA,KAACC,EAAAA,OAAAA,CAAO,QAAS,EAAe,QAAQ,UAAU,UAAU,OAAO,KAAK,cACrE,GACM,GACL,CAIV,IAAA,EAAe"}
@@ -1,4 +1,4 @@
1
- import * as react24 from "react";
1
+ import * as react31 from "react";
2
2
 
3
3
  //#region packages/components/pages/FeatureFixing.d.ts
4
4
  interface FeatureFixingProps {
@@ -37,7 +37,7 @@ declare const FeatureFixing: ({
37
37
  onButtonClick,
38
38
  className,
39
39
  iconClassName
40
- }: FeatureFixingProps) => react24.JSX.Element;
40
+ }: FeatureFixingProps) => react31.JSX.Element;
41
41
  //#endregion
42
42
  export { FeatureFixing, FeatureFixing as default, FeatureFixingProps };
43
43
  //# sourceMappingURL=FeatureFixing.d.cts.map
@@ -1,4 +1,4 @@
1
- import * as react27 from "react";
1
+ import * as react31 from "react";
2
2
 
3
3
  //#region packages/components/pages/FeatureFixing.d.ts
4
4
  interface FeatureFixingProps {
@@ -37,7 +37,7 @@ declare const FeatureFixing: ({
37
37
  onButtonClick,
38
38
  className,
39
39
  iconClassName
40
- }: FeatureFixingProps) => react27.JSX.Element;
40
+ }: FeatureFixingProps) => react31.JSX.Element;
41
41
  //#endregion
42
42
  export { FeatureFixing, FeatureFixing as default, FeatureFixingProps };
43
43
  //# sourceMappingURL=FeatureFixing.d.ts.map
@@ -1,2 +1,2 @@
1
- import"../button.variants-CoSpd71B.js";import{t as e}from"../button-LMMbL-uH.js";import{Wrench as t}from"lucide-react";import{cn as n}from"@customafk/react-toolkit/utils";import{jsx as r,jsxs as i}from"react/jsx-runtime";const a=({title:a=`Tính năng đang bảo trì`,subtitle:o=`Chúng tôi đang khắc phục vấn đề với tính năng này. Vui lòng quay lại sau.`,buttonText:s=`Quay lại`,onButtonClick:c=()=>window.history.back(),className:l,iconClassName:u})=>i(`div`,{className:n(`flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full`,l),children:[i(`div`,{className:`flex flex-col items-center gap-2`,children:[r(t,{className:n(`size-16 sm:size-24 text-orange-500`,u)}),r(`div`,{className:`text-3xl sm:text-5xl font-bold text-orange-500`})]}),r(`h1`,{className:`text-xl sm:text-2xl font-semibold mt-2`,children:a}),r(`p`,{className:`text-muted-foreground max-w-md text-sm sm:text-base`,children:o}),r(e,{onClick:c,variant:`default`,className:`mt-2`,size:`sm`,children:s})]});var o=a;export{a as FeatureFixing,o as default};
1
+ import"../button.variants-BruXd4VM.js";import{Button as e}from"../ui/button.js";import{Wrench as t}from"lucide-react";import{cn as n}from"@customafk/react-toolkit/utils";import{jsx as r,jsxs as i}from"react/jsx-runtime";const a=({title:a=`Tính năng đang bảo trì`,subtitle:o=`Chúng tôi đang khắc phục vấn đề với tính năng này. Vui lòng quay lại sau.`,buttonText:s=`Quay lại`,onButtonClick:c=()=>window.history.back(),className:l,iconClassName:u})=>i(`div`,{className:n(`flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full`,l),children:[i(`div`,{className:`flex flex-col items-center gap-2`,children:[r(t,{className:n(`size-16 sm:size-24 text-orange-500`,u)}),r(`div`,{className:`text-3xl sm:text-5xl font-bold text-orange-500`})]}),r(`h1`,{className:`text-xl sm:text-2xl font-semibold mt-2`,children:a}),r(`p`,{className:`text-muted-foreground max-w-md text-sm sm:text-base`,children:o}),r(e,{onClick:c,variant:`default`,className:`mt-2`,size:`sm`,children:s})]});var o=a;export{a as FeatureFixing,o as default};
2
2
  //# sourceMappingURL=FeatureFixing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureFixing.js","names":[],"sources":["../../packages/components/pages/FeatureFixing.tsx"],"sourcesContent":["import { Button } from '../ui/button';\nimport { cn } from '@customafk/react-toolkit/utils';\nimport { Wrench } from 'lucide-react';\n\nexport interface FeatureFixingProps {\n /** Main heading shown beneath the wrench icon. Defaults to `'Tính năng đang bảo trì'`. */\n title?: string;\n /** Supporting text shown below the title. Defaults to a Vietnamese maintenance message. */\n subtitle?: string;\n /** Label for the action button. Defaults to `'Quay lại'`. */\n buttonText?: string;\n /** Handler called when the action button is clicked. Defaults to `window.history.back()`. */\n onButtonClick?: () => void;\n /** Additional class names applied to the root container element. */\n className?: string;\n /** Additional class names applied to the `Wrench` icon. */\n iconClassName?: string;\n}\n\n/**\n * Full-page placeholder displayed when a feature is temporarily unavailable due to maintenance or bug fixes.\n *\n * @example\n * ```tsx\n * import { FeatureFixing } from '@customafk/lunas-ui/pages/FeatureFixing';\n *\n * <FeatureFixing\n * title=\"Under Maintenance\"\n * subtitle=\"We are fixing an issue. Please check back later.\"\n * buttonText=\"Go Back\"\n * onButtonClick={() => router.back()}\n * />\n * ```\n */\nexport const FeatureFixing = ({\n title = 'Tính năng đang bảo trì',\n subtitle = 'Chúng tôi đang khắc phục vấn đề với tính năng này. Vui lòng quay lại sau.',\n buttonText = 'Quay lại',\n onButtonClick = () => window.history.back(),\n className,\n iconClassName,\n}: FeatureFixingProps) => {\n return (\n <div className={cn('flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full', className)}>\n <div className=\"flex flex-col items-center gap-2\">\n <Wrench className={cn('size-16 sm:size-24 text-orange-500', iconClassName)} />\n <div className=\"text-3xl sm:text-5xl font-bold text-orange-500\">{/* This text indicates the feature is being fixed */}</div>\n </div>\n\n <h1 className=\"text-xl sm:text-2xl font-semibold mt-2\">{title}</h1>\n\n <p className=\"text-muted-foreground max-w-md text-sm sm:text-base\">{subtitle}</p>\n\n <Button onClick={onButtonClick} variant=\"default\" className=\"mt-2\" size=\"sm\">\n {buttonText}\n </Button>\n </div>\n );\n};\n\nexport default FeatureFixing;\n"],"mappings":"6NAkCA,MAAa,GAAiB,CAC5B,QAAQ,yBACR,WAAW,4EACX,aAAa,WACb,oBAAsB,OAAO,QAAQ,MAAM,CAC3C,YACA,mBAGE,EAAC,MAAA,CAAI,UAAW,EAAG,8GAA+G,EAAU,WAC1I,EAAC,MAAA,CAAI,UAAU,6CACb,EAAC,EAAA,CAAO,UAAW,EAAG,qCAAsC,EAAc,CAAA,CAAI,CAC9E,EAAC,MAAA,CAAI,UAAU,iDAAA,CAA6G,CAAA,EACxH,CAEN,EAAC,KAAA,CAAG,UAAU,kDAA0C,GAAW,CAEnE,EAAC,IAAA,CAAE,UAAU,+DAAuD,GAAa,CAEjF,EAAC,EAAA,CAAO,QAAS,EAAe,QAAQ,UAAU,UAAU,OAAO,KAAK,cACrE,GACM,GACL,CAIV,IAAA,EAAe"}
1
+ {"version":3,"file":"FeatureFixing.js","names":[],"sources":["../../packages/components/pages/FeatureFixing.tsx"],"sourcesContent":["import { Button } from '../ui/button';\nimport { cn } from '@customafk/react-toolkit/utils';\nimport { Wrench } from 'lucide-react';\n\nexport interface FeatureFixingProps {\n /** Main heading shown beneath the wrench icon. Defaults to `'Tính năng đang bảo trì'`. */\n title?: string;\n /** Supporting text shown below the title. Defaults to a Vietnamese maintenance message. */\n subtitle?: string;\n /** Label for the action button. Defaults to `'Quay lại'`. */\n buttonText?: string;\n /** Handler called when the action button is clicked. Defaults to `window.history.back()`. */\n onButtonClick?: () => void;\n /** Additional class names applied to the root container element. */\n className?: string;\n /** Additional class names applied to the `Wrench` icon. */\n iconClassName?: string;\n}\n\n/**\n * Full-page placeholder displayed when a feature is temporarily unavailable due to maintenance or bug fixes.\n *\n * @example\n * ```tsx\n * import { FeatureFixing } from '@customafk/lunas-ui/pages/FeatureFixing';\n *\n * <FeatureFixing\n * title=\"Under Maintenance\"\n * subtitle=\"We are fixing an issue. Please check back later.\"\n * buttonText=\"Go Back\"\n * onButtonClick={() => router.back()}\n * />\n * ```\n */\nexport const FeatureFixing = ({\n title = 'Tính năng đang bảo trì',\n subtitle = 'Chúng tôi đang khắc phục vấn đề với tính năng này. Vui lòng quay lại sau.',\n buttonText = 'Quay lại',\n onButtonClick = () => window.history.back(),\n className,\n iconClassName,\n}: FeatureFixingProps) => {\n return (\n <div className={cn('flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full', className)}>\n <div className=\"flex flex-col items-center gap-2\">\n <Wrench className={cn('size-16 sm:size-24 text-orange-500', iconClassName)} />\n <div className=\"text-3xl sm:text-5xl font-bold text-orange-500\">{/* This text indicates the feature is being fixed */}</div>\n </div>\n\n <h1 className=\"text-xl sm:text-2xl font-semibold mt-2\">{title}</h1>\n\n <p className=\"text-muted-foreground max-w-md text-sm sm:text-base\">{subtitle}</p>\n\n <Button onClick={onButtonClick} variant=\"default\" className=\"mt-2\" size=\"sm\">\n {buttonText}\n </Button>\n </div>\n );\n};\n\nexport default FeatureFixing;\n"],"mappings":"4NAkCA,MAAa,GAAiB,CAC5B,QAAQ,yBACR,WAAW,4EACX,aAAa,WACb,oBAAsB,OAAO,QAAQ,MAAM,CAC3C,YACA,mBAGE,EAAC,MAAA,CAAI,UAAW,EAAG,8GAA+G,EAAU,WAC1I,EAAC,MAAA,CAAI,UAAU,6CACb,EAAC,EAAA,CAAO,UAAW,EAAG,qCAAsC,EAAc,CAAA,CAAI,CAC9E,EAAC,MAAA,CAAI,UAAU,iDAAA,CAA6G,CAAA,EACxH,CAEN,EAAC,KAAA,CAAG,UAAU,kDAA0C,GAAW,CAEnE,EAAC,IAAA,CAAE,UAAU,+DAAuD,GAAa,CAEjF,EAAC,EAAA,CAAO,QAAS,EAAe,QAAQ,UAAU,UAAU,OAAO,KAAK,cACrE,GACM,GACL,CAIV,IAAA,EAAe"}
@@ -1,2 +1,2 @@
1
- "use client";const e=require(`../chunk-350yNsax.cjs`);require(`../button.variants-4kw6plrv.cjs`);const t=require(`../button-C--DAN1D.cjs`);require(`../heading-tGTqk3pA.cjs`),require(`../paragraph-DvTZvbzw.cjs`),require(`../close-Dlo1bI8x.cjs`);const n=require(`../dialog-BigPrWIj.cjs`),r=require(`../input-WJ0DLHTR.cjs`),i=require(`../label-CC6fXVbC.cjs`),a=require(`../alert-B2PaDJp6.cjs`);let o=require(`lucide-react`),s=require(`react`),c=require(`react/jsx-runtime`),l=require(`zod`);const u=l.z.object({email:l.z.string().min(1,`Vui lòng nhập email`).email(`Email không hợp lệ`),password:l.z.string().min(1,`Vui lòng nhập mật khẩu`)}),d=({open:e,onOpenChange:l,onLogin:d,onForgotPassword:f,onRegister:p,isLoading:m=!1,errorMessage:h,title:g=`Đăng nhập`,subtitle:_=`Nhập thông tin để tiếp tục`})=>{let v=(0,s.useId)(),y=(0,s.useId)(),[b,x]=(0,s.useState)(``),[S,C]=(0,s.useState)(``),[w,T]=(0,s.useState)(!1),[E,D]=(0,s.useState)({});return(0,c.jsx)(n.t,{open:e,onOpenChange:l,children:(0,c.jsxs)(n.r,{className:`max-sm:data-[state=open]:slide-in-from-bottom max-sm:data-[state=open]:zoom-in-100 max-sm:data-[state=closed]:slide-out-to-bottom max-sm:data-[state=closed]:zoom-out-100 max-sm:top-auto max-sm:right-0 max-sm:bottom-0 max-sm:left-0 max-sm:max-w-full max-sm:translate-x-0 max-sm:translate-y-0 max-sm:rounded-b-none sm:max-w-sm`,children:[(0,c.jsxs)(n.o,{children:[(0,c.jsx)(n.l,{children:g}),(0,c.jsx)(n.i,{children:_})]}),(0,c.jsxs)(`form`,{onSubmit:async e=>{e.preventDefault();let t=u.safeParse({email:b,password:S});if(!t.success){let e=t.error.flatten().fieldErrors;D({email:e.email?.[0],password:e.password?.[0]});return}D({}),await d(b,S)},noValidate:!0,className:`flex flex-col gap-4`,children:[h&&(0,c.jsx)(a.t,{variant:`destructive`,children:(0,c.jsx)(a.n,{children:h})}),(0,c.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,c.jsx)(i.t,{htmlFor:v,children:`Email`}),(0,c.jsx)(r.t,{id:v,type:`email`,autoComplete:`email`,placeholder:`you@example.com`,value:b,onChange:e=>x(e.target.value),"aria-invalid":!!E.email,disabled:m}),E.email&&(0,c.jsx)(`p`,{className:`text-destructive text-xs`,children:E.email})]}),(0,c.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,c.jsx)(i.t,{htmlFor:y,children:`Mật khẩu`}),f&&(0,c.jsx)(t.t,{type:`button`,variant:`link`,size:`sm`,className:`h-auto p-0 text-xs`,onClick:f,children:`Quên mật khẩu?`})]}),(0,c.jsxs)(`div`,{className:`relative`,children:[(0,c.jsx)(r.t,{id:y,type:w?`text`:`password`,autoComplete:`current-password`,placeholder:`••••••••`,value:S,onChange:e=>C(e.target.value),"aria-invalid":!!E.password,disabled:m,className:`pr-10`}),(0,c.jsx)(`button`,{type:`button`,className:`absolute inset-y-0 right-0 flex items-center px-3 text-muted-foreground hover:text-foreground`,onMouseDown:e=>{e.preventDefault(),T(e=>!e)},"aria-label":w?`Ẩn mật khẩu`:`Hiện mật khẩu`,children:w?(0,c.jsx)(o.EyeOff,{size:16}):(0,c.jsx)(o.Eye,{size:16})})]}),E.password&&(0,c.jsx)(`p`,{className:`text-destructive text-xs`,children:E.password})]}),(0,c.jsx)(t.t,{type:`submit`,isLoading:m,className:`w-full`,children:`Đăng nhập`}),(0,c.jsx)(t.t,{type:`button`,variant:`outline`,className:`w-full`,disabled:m,onClick:()=>l(!1),children:`Đóng hộp thoại`})]}),p&&(0,c.jsxs)(`div`,{className:`flex justify-center gap-1 text-muted-foreground text-sm`,children:[(0,c.jsx)(`span`,{children:`Chưa có tài khoản?`}),(0,c.jsx)(t.t,{variant:`link`,size:`sm`,className:`h-auto p-0`,onClick:p,children:`Đăng ký`})]})]})})};exports.LoginPage=d;
1
+ "use client";const e=require(`../chunk-Bmb41Sf3.cjs`);require(`../button.variants-DgVFNsVc.cjs`);const t=require(`../ui/button.cjs`);require(`../heading-BX7ZVnVg.cjs`),require(`../paragraph-D0x3Jc6W.cjs`),require(`../close-Dflkky9q.cjs`);const n=require(`../ui/dialog.cjs`),r=require(`../alert-JwECRZfz.cjs`),i=require(`../ui/input.cjs`),a=require(`../ui/label.cjs`);let o=require(`lucide-react`),s=require(`react/jsx-runtime`),c=require(`react`),l=require(`zod`);const u=l.z.object({email:l.z.string().min(1,`Vui lòng nhập email`).email(`Email không hợp lệ`),password:l.z.string().min(1,`Vui lòng nhập mật khẩu`)}),d=({open:e,onOpenChange:l,onLogin:d,onForgotPassword:f,onRegister:p,isLoading:m=!1,errorMessage:h,title:g=`Đăng nhập`,subtitle:_=`Nhập thông tin để tiếp tục`})=>{let v=(0,c.useId)(),y=(0,c.useId)(),[b,x]=(0,c.useState)(``),[S,C]=(0,c.useState)(``),[w,T]=(0,c.useState)(!1),[E,D]=(0,c.useState)({});return(0,s.jsx)(n.Dialog,{open:e,onOpenChange:l,children:(0,s.jsxs)(n.DialogContent,{className:`max-sm:data-[state=open]:slide-in-from-bottom max-sm:data-[state=open]:zoom-in-100 max-sm:data-[state=closed]:slide-out-to-bottom max-sm:data-[state=closed]:zoom-out-100 max-sm:top-auto max-sm:right-0 max-sm:bottom-0 max-sm:left-0 max-sm:max-w-full max-sm:translate-x-0 max-sm:translate-y-0 max-sm:rounded-b-none sm:max-w-sm`,children:[(0,s.jsxs)(n.DialogHeader,{children:[(0,s.jsx)(n.DialogTitle,{children:g}),(0,s.jsx)(n.DialogDescription,{children:_})]}),(0,s.jsxs)(`form`,{onSubmit:async e=>{e.preventDefault();let t=u.safeParse({email:b,password:S});if(!t.success){let e=t.error.flatten().fieldErrors;D({email:e.email?.[0],password:e.password?.[0]});return}D({}),await d(b,S)},noValidate:!0,className:`flex flex-col gap-4`,children:[h&&(0,s.jsx)(r.t,{variant:`destructive`,children:(0,s.jsx)(r.n,{children:h})}),(0,s.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,s.jsx)(a.Label,{htmlFor:v,children:`Email`}),(0,s.jsx)(i.Input,{id:v,type:`email`,autoComplete:`email`,placeholder:`you@example.com`,value:b,onChange:e=>x(e.target.value),"aria-invalid":!!E.email,disabled:m}),E.email&&(0,s.jsx)(`p`,{className:`text-destructive text-xs`,children:E.email})]}),(0,s.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,s.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,s.jsx)(a.Label,{htmlFor:y,children:`Mật khẩu`}),f&&(0,s.jsx)(t.Button,{type:`button`,variant:`link`,size:`sm`,className:`h-auto p-0 text-xs`,onClick:f,children:`Quên mật khẩu?`})]}),(0,s.jsxs)(`div`,{className:`relative`,children:[(0,s.jsx)(i.Input,{id:y,type:w?`text`:`password`,autoComplete:`current-password`,placeholder:`••••••••`,value:S,onChange:e=>C(e.target.value),"aria-invalid":!!E.password,disabled:m,className:`pr-10`}),(0,s.jsx)(`button`,{type:`button`,className:`absolute inset-y-0 right-0 flex items-center px-3 text-muted-foreground hover:text-foreground`,onMouseDown:e=>{e.preventDefault(),T(e=>!e)},"aria-label":w?`Ẩn mật khẩu`:`Hiện mật khẩu`,children:w?(0,s.jsx)(o.EyeOff,{size:16}):(0,s.jsx)(o.Eye,{size:16})})]}),E.password&&(0,s.jsx)(`p`,{className:`text-destructive text-xs`,children:E.password})]}),(0,s.jsx)(t.Button,{type:`submit`,isLoading:m,className:`w-full`,children:`Đăng nhập`}),(0,s.jsx)(t.Button,{type:`button`,variant:`outline`,className:`w-full`,disabled:m,onClick:()=>l(!1),children:`Đóng hộp thoại`})]}),p&&(0,s.jsxs)(`div`,{className:`flex justify-center gap-1 text-muted-foreground text-sm`,children:[(0,s.jsx)(`span`,{children:`Chưa có tài khoản?`}),(0,s.jsx)(t.Button,{variant:`link`,size:`sm`,className:`h-auto p-0`,onClick:p,children:`Đăng ký`})]})]})})};exports.LoginPage=d;
2
2
  //# sourceMappingURL=LoginPage.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginPage.cjs","names":["z","Dialog","DialogContent","DialogHeader","DialogTitle","DialogDescription","Alert","AlertDescription","Label","Input","Button","EyeOff","Eye"],"sources":["../../packages/components/pages/LoginPage.tsx"],"sourcesContent":["'use client';\n\nimport { useId, useState } from 'react';\n\nimport { Eye, EyeOff } from 'lucide-react';\nimport { z } from 'zod';\n\nimport { Alert, AlertDescription } from '../ui/alert';\nimport { Button } from '../ui/button';\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from '../ui/dialog';\nimport { Input } from '../ui/input';\nimport { Label } from '../ui/label';\n\nexport interface LoginPageProps {\n /** Controls whether the dialog is open */\n open: boolean;\n /** Called when the dialog open state changes */\n onOpenChange: (open: boolean) => void;\n /** Called when the user submits login credentials */\n onLogin: (email: string, password: string) => Promise<void> | void;\n /** Called when the \"Quên mật khẩu?\" link is clicked */\n onForgotPassword?: () => void;\n /** Called when the \"Đăng ký\" link is clicked */\n onRegister?: () => void;\n /** Disables the form and shows a spinner on the submit button */\n isLoading?: boolean;\n /** Server-side error message rendered in a destructive Alert */\n errorMessage?: string;\n /** Dialog heading. Default: \"Đăng nhập\" */\n title?: string;\n /** Dialog subheading. Default: \"Nhập thông tin để tiếp tục\" */\n subtitle?: string;\n}\n\nconst loginSchema = z.object({\n email: z.string().min(1, 'Vui lòng nhập email').email('Email không hợp lệ'),\n password: z.string().min(1, 'Vui lòng nhập mật khẩu'),\n});\n\n/**\n * Modal login dialog for the client authentication flow.\n *\n * @example\n * ```tsx\n * import { LoginPage } from '@customafk/lunas-ui/pages/LoginPage';\n *\n * <LoginPage\n * open={open}\n * onOpenChange={setOpen}\n * onLogin={async (email, password) => {\n * await authService.login(email, password);\n * setOpen(false);\n * }}\n * onRegister={() => { setOpen(false); setRegisterOpen(true); }}\n * />\n * ```\n */\nexport const LoginPage = ({\n open,\n onOpenChange,\n onLogin,\n onForgotPassword,\n onRegister,\n isLoading = false,\n errorMessage,\n title = 'Đăng nhập',\n subtitle = 'Nhập thông tin để tiếp tục',\n}: LoginPageProps) => {\n const emailId = useId();\n const passwordId = useId();\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const [showPassword, setShowPassword] = useState(false);\n const [fieldErrors, setFieldErrors] = useState<{ email?: string; password?: string }>({});\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n const result = loginSchema.safeParse({ email, password });\n if (!result.success) {\n const errors = result.error.flatten().fieldErrors;\n setFieldErrors({ email: errors.email?.[0], password: errors.password?.[0] });\n return;\n }\n setFieldErrors({});\n await onLogin(email, password);\n };\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent className=\"max-sm:data-[state=open]:slide-in-from-bottom max-sm:data-[state=open]:zoom-in-100 max-sm:data-[state=closed]:slide-out-to-bottom max-sm:data-[state=closed]:zoom-out-100 max-sm:top-auto max-sm:right-0 max-sm:bottom-0 max-sm:left-0 max-sm:max-w-full max-sm:translate-x-0 max-sm:translate-y-0 max-sm:rounded-b-none sm:max-w-sm\">\n <DialogHeader>\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{subtitle}</DialogDescription>\n </DialogHeader>\n\n <form onSubmit={handleSubmit} noValidate className=\"flex flex-col gap-4\">\n {errorMessage && (\n <Alert variant=\"destructive\">\n <AlertDescription>{errorMessage}</AlertDescription>\n </Alert>\n )}\n\n <div className=\"flex flex-col gap-1.5\">\n <Label htmlFor={emailId}>Email</Label>\n <Input\n id={emailId}\n type=\"email\"\n autoComplete=\"email\"\n placeholder=\"you@example.com\"\n value={email}\n onChange={e => setEmail(e.target.value)}\n aria-invalid={!!fieldErrors.email}\n disabled={isLoading}\n />\n {fieldErrors.email && <p className=\"text-destructive text-xs\">{fieldErrors.email}</p>}\n </div>\n\n <div className=\"flex flex-col gap-1.5\">\n <div className=\"flex items-center justify-between\">\n <Label htmlFor={passwordId}>Mật khẩu</Label>\n {onForgotPassword && (\n <Button type=\"button\" variant=\"link\" size=\"sm\" className=\"h-auto p-0 text-xs\" onClick={onForgotPassword}>\n Quên mật khẩu?\n </Button>\n )}\n </div>\n <div className=\"relative\">\n <Input\n id={passwordId}\n type={showPassword ? 'text' : 'password'}\n autoComplete=\"current-password\"\n placeholder=\"••••••••\"\n value={password}\n onChange={e => setPassword(e.target.value)}\n aria-invalid={!!fieldErrors.password}\n disabled={isLoading}\n className=\"pr-10\"\n />\n <button\n type=\"button\"\n className=\"absolute inset-y-0 right-0 flex items-center px-3 text-muted-foreground hover:text-foreground\"\n onMouseDown={e => {\n e.preventDefault();\n setShowPassword(v => !v);\n }}\n aria-label={showPassword ? 'Ẩn mật khẩu' : 'Hiện mật khẩu'}\n >\n {showPassword ? <EyeOff size={16} /> : <Eye size={16} />}\n </button>\n </div>\n {fieldErrors.password && <p className=\"text-destructive text-xs\">{fieldErrors.password}</p>}\n </div>\n\n <Button type=\"submit\" isLoading={isLoading} className=\"w-full\">\n Đăng nhập\n </Button>\n <Button type=\"button\" variant=\"outline\" className=\"w-full\" disabled={isLoading} onClick={() => onOpenChange(false)}>\n Đóng hộp thoại\n </Button>\n </form>\n\n {onRegister && (\n <div className=\"flex justify-center gap-1 text-muted-foreground text-sm\">\n <span>Chưa có tài khoản?</span>\n <Button variant=\"link\" size=\"sm\" className=\"h-auto p-0\" onClick={onRegister}>\n Đăng ký\n </Button>\n </div>\n )}\n </DialogContent>\n </Dialog>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"LoginPage.cjs","names":["z","Dialog","DialogContent","DialogHeader","DialogTitle","DialogDescription","Alert","AlertDescription","Label","Input","Button","EyeOff","Eye"],"sources":["../../packages/components/pages/LoginPage.tsx"],"sourcesContent":["'use client';\n\nimport { useId, useState } from 'react';\n\nimport { Eye, EyeOff } from 'lucide-react';\nimport { z } from 'zod';\n\nimport { Alert, AlertDescription } from '../ui/alert';\nimport { Button } from '../ui/button';\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from '../ui/dialog';\nimport { Input } from '../ui/input';\nimport { Label } from '../ui/label';\n\nexport interface LoginPageProps {\n /** Controls whether the dialog is open */\n open: boolean;\n /** Called when the dialog open state changes */\n onOpenChange: (open: boolean) => void;\n /** Called when the user submits login credentials */\n onLogin: (email: string, password: string) => Promise<void> | void;\n /** Called when the \"Quên mật khẩu?\" link is clicked */\n onForgotPassword?: () => void;\n /** Called when the \"Đăng ký\" link is clicked */\n onRegister?: () => void;\n /** Disables the form and shows a spinner on the submit button */\n isLoading?: boolean;\n /** Server-side error message rendered in a destructive Alert */\n errorMessage?: string;\n /** Dialog heading. Default: \"Đăng nhập\" */\n title?: string;\n /** Dialog subheading. Default: \"Nhập thông tin để tiếp tục\" */\n subtitle?: string;\n}\n\nconst loginSchema = z.object({\n email: z.string().min(1, 'Vui lòng nhập email').email('Email không hợp lệ'),\n password: z.string().min(1, 'Vui lòng nhập mật khẩu'),\n});\n\n/**\n * Modal login dialog for the client authentication flow.\n *\n * @example\n * ```tsx\n * import { LoginPage } from '@customafk/lunas-ui/pages/LoginPage';\n *\n * <LoginPage\n * open={open}\n * onOpenChange={setOpen}\n * onLogin={async (email, password) => {\n * await authService.login(email, password);\n * setOpen(false);\n * }}\n * onRegister={() => { setOpen(false); setRegisterOpen(true); }}\n * />\n * ```\n */\nexport const LoginPage = ({\n open,\n onOpenChange,\n onLogin,\n onForgotPassword,\n onRegister,\n isLoading = false,\n errorMessage,\n title = 'Đăng nhập',\n subtitle = 'Nhập thông tin để tiếp tục',\n}: LoginPageProps) => {\n const emailId = useId();\n const passwordId = useId();\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const [showPassword, setShowPassword] = useState(false);\n const [fieldErrors, setFieldErrors] = useState<{ email?: string; password?: string }>({});\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n const result = loginSchema.safeParse({ email, password });\n if (!result.success) {\n const errors = result.error.flatten().fieldErrors;\n setFieldErrors({ email: errors.email?.[0], password: errors.password?.[0] });\n return;\n }\n setFieldErrors({});\n await onLogin(email, password);\n };\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent className=\"max-sm:data-[state=open]:slide-in-from-bottom max-sm:data-[state=open]:zoom-in-100 max-sm:data-[state=closed]:slide-out-to-bottom max-sm:data-[state=closed]:zoom-out-100 max-sm:top-auto max-sm:right-0 max-sm:bottom-0 max-sm:left-0 max-sm:max-w-full max-sm:translate-x-0 max-sm:translate-y-0 max-sm:rounded-b-none sm:max-w-sm\">\n <DialogHeader>\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{subtitle}</DialogDescription>\n </DialogHeader>\n\n <form onSubmit={handleSubmit} noValidate className=\"flex flex-col gap-4\">\n {errorMessage && (\n <Alert variant=\"destructive\">\n <AlertDescription>{errorMessage}</AlertDescription>\n </Alert>\n )}\n\n <div className=\"flex flex-col gap-1.5\">\n <Label htmlFor={emailId}>Email</Label>\n <Input\n id={emailId}\n type=\"email\"\n autoComplete=\"email\"\n placeholder=\"you@example.com\"\n value={email}\n onChange={e => setEmail(e.target.value)}\n aria-invalid={!!fieldErrors.email}\n disabled={isLoading}\n />\n {fieldErrors.email && <p className=\"text-destructive text-xs\">{fieldErrors.email}</p>}\n </div>\n\n <div className=\"flex flex-col gap-1.5\">\n <div className=\"flex items-center justify-between\">\n <Label htmlFor={passwordId}>Mật khẩu</Label>\n {onForgotPassword && (\n <Button type=\"button\" variant=\"link\" size=\"sm\" className=\"h-auto p-0 text-xs\" onClick={onForgotPassword}>\n Quên mật khẩu?\n </Button>\n )}\n </div>\n <div className=\"relative\">\n <Input\n id={passwordId}\n type={showPassword ? 'text' : 'password'}\n autoComplete=\"current-password\"\n placeholder=\"••••••••\"\n value={password}\n onChange={e => setPassword(e.target.value)}\n aria-invalid={!!fieldErrors.password}\n disabled={isLoading}\n className=\"pr-10\"\n />\n <button\n type=\"button\"\n className=\"absolute inset-y-0 right-0 flex items-center px-3 text-muted-foreground hover:text-foreground\"\n onMouseDown={e => {\n e.preventDefault();\n setShowPassword(v => !v);\n }}\n aria-label={showPassword ? 'Ẩn mật khẩu' : 'Hiện mật khẩu'}\n >\n {showPassword ? <EyeOff size={16} /> : <Eye size={16} />}\n </button>\n </div>\n {fieldErrors.password && <p className=\"text-destructive text-xs\">{fieldErrors.password}</p>}\n </div>\n\n <Button type=\"submit\" isLoading={isLoading} className=\"w-full\">\n Đăng nhập\n </Button>\n <Button type=\"button\" variant=\"outline\" className=\"w-full\" disabled={isLoading} onClick={() => onOpenChange(false)}>\n Đóng hộp thoại\n </Button>\n </form>\n\n {onRegister && (\n <div className=\"flex justify-center gap-1 text-muted-foreground text-sm\">\n <span>Chưa có tài khoản?</span>\n <Button variant=\"link\" size=\"sm\" className=\"h-auto p-0\" onClick={onRegister}>\n Đăng ký\n </Button>\n </div>\n )}\n </DialogContent>\n </Dialog>\n );\n};\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import * as react33 from "react";
1
+ import * as react3 from "react";
2
2
 
3
3
  //#region packages/components/pages/LoginPage.d.ts
4
4
  interface LoginPageProps {
@@ -49,7 +49,7 @@ declare const LoginPage: ({
49
49
  errorMessage,
50
50
  title,
51
51
  subtitle
52
- }: LoginPageProps) => react33.JSX.Element;
52
+ }: LoginPageProps) => react3.JSX.Element;
53
53
  //#endregion
54
54
  export { LoginPage, LoginPageProps };
55
55
  //# sourceMappingURL=LoginPage.d.cts.map
@@ -1,4 +1,4 @@
1
- import * as react183 from "react";
1
+ import * as react35 from "react";
2
2
 
3
3
  //#region packages/components/pages/LoginPage.d.ts
4
4
  interface LoginPageProps {
@@ -49,7 +49,7 @@ declare const LoginPage: ({
49
49
  errorMessage,
50
50
  title,
51
51
  subtitle
52
- }: LoginPageProps) => react183.JSX.Element;
52
+ }: LoginPageProps) => react35.JSX.Element;
53
53
  //#endregion
54
54
  export { LoginPage, LoginPageProps };
55
55
  //# sourceMappingURL=LoginPage.d.ts.map
@@ -1,2 +1,2 @@
1
- "use client";import"../button.variants-CoSpd71B.js";import{t as e}from"../button-LMMbL-uH.js";import"../heading-Bz-hSatD.js";import"../paragraph-Cc13ZI4d.js";import"../close-C0PdZGxr.js";import{i as t,l as n,o as r,r as i,t as a}from"../dialog-CmutQ3rp.js";import{t as o}from"../input-DAfP6LZ7.js";import{t as s}from"../label-B8cAG2kc.js";import{n as c,t as l}from"../alert-BzBDfGk2.js";import{Eye as u,EyeOff as d}from"lucide-react";import{useId as f,useState as p}from"react";import{jsx as m,jsxs as h}from"react/jsx-runtime";import{z as g}from"zod";const _=g.object({email:g.string().min(1,`Vui lòng nhập email`).email(`Email không hợp lệ`),password:g.string().min(1,`Vui lòng nhập mật khẩu`)}),v=({open:g,onOpenChange:v,onLogin:y,onForgotPassword:b,onRegister:x,isLoading:S=!1,errorMessage:C,title:w=`Đăng nhập`,subtitle:T=`Nhập thông tin để tiếp tục`})=>{let E=f(),D=f(),[O,k]=p(``),[A,j]=p(``),[M,N]=p(!1),[P,F]=p({});return m(a,{open:g,onOpenChange:v,children:h(i,{className:`max-sm:data-[state=open]:slide-in-from-bottom max-sm:data-[state=open]:zoom-in-100 max-sm:data-[state=closed]:slide-out-to-bottom max-sm:data-[state=closed]:zoom-out-100 max-sm:top-auto max-sm:right-0 max-sm:bottom-0 max-sm:left-0 max-sm:max-w-full max-sm:translate-x-0 max-sm:translate-y-0 max-sm:rounded-b-none sm:max-w-sm`,children:[h(r,{children:[m(n,{children:w}),m(t,{children:T})]}),h(`form`,{onSubmit:async e=>{e.preventDefault();let t=_.safeParse({email:O,password:A});if(!t.success){let e=t.error.flatten().fieldErrors;F({email:e.email?.[0],password:e.password?.[0]});return}F({}),await y(O,A)},noValidate:!0,className:`flex flex-col gap-4`,children:[C&&m(l,{variant:`destructive`,children:m(c,{children:C})}),h(`div`,{className:`flex flex-col gap-1.5`,children:[m(s,{htmlFor:E,children:`Email`}),m(o,{id:E,type:`email`,autoComplete:`email`,placeholder:`you@example.com`,value:O,onChange:e=>k(e.target.value),"aria-invalid":!!P.email,disabled:S}),P.email&&m(`p`,{className:`text-destructive text-xs`,children:P.email})]}),h(`div`,{className:`flex flex-col gap-1.5`,children:[h(`div`,{className:`flex items-center justify-between`,children:[m(s,{htmlFor:D,children:`Mật khẩu`}),b&&m(e,{type:`button`,variant:`link`,size:`sm`,className:`h-auto p-0 text-xs`,onClick:b,children:`Quên mật khẩu?`})]}),h(`div`,{className:`relative`,children:[m(o,{id:D,type:M?`text`:`password`,autoComplete:`current-password`,placeholder:`••••••••`,value:A,onChange:e=>j(e.target.value),"aria-invalid":!!P.password,disabled:S,className:`pr-10`}),m(`button`,{type:`button`,className:`absolute inset-y-0 right-0 flex items-center px-3 text-muted-foreground hover:text-foreground`,onMouseDown:e=>{e.preventDefault(),N(e=>!e)},"aria-label":M?`Ẩn mật khẩu`:`Hiện mật khẩu`,children:m(M?d:u,{size:16})})]}),P.password&&m(`p`,{className:`text-destructive text-xs`,children:P.password})]}),m(e,{type:`submit`,isLoading:S,className:`w-full`,children:`Đăng nhập`}),m(e,{type:`button`,variant:`outline`,className:`w-full`,disabled:S,onClick:()=>v(!1),children:`Đóng hộp thoại`})]}),x&&h(`div`,{className:`flex justify-center gap-1 text-muted-foreground text-sm`,children:[m(`span`,{children:`Chưa có tài khoản?`}),m(e,{variant:`link`,size:`sm`,className:`h-auto p-0`,onClick:x,children:`Đăng ký`})]})]})})};export{v as LoginPage};
1
+ "use client";import"../button.variants-BruXd4VM.js";import{Button as e}from"../ui/button.js";import"../heading-Bw3eo6IT.js";import"../paragraph-ESjXXqHU.js";import"../close-DrkwaVXK.js";import{Dialog as t,DialogContent as n,DialogDescription as r,DialogHeader as i,DialogTitle as a}from"../ui/dialog.js";import{n as o,t as s}from"../alert-D5VmhFT9.js";import{Input as c}from"../ui/input.js";import{Label as l}from"../ui/label.js";import{Eye as u,EyeOff as d}from"lucide-react";import{jsx as f,jsxs as p}from"react/jsx-runtime";import{useId as m,useState as h}from"react";import{z as g}from"zod";const _=g.object({email:g.string().min(1,`Vui lòng nhập email`).email(`Email không hợp lệ`),password:g.string().min(1,`Vui lòng nhập mật khẩu`)}),v=({open:g,onOpenChange:v,onLogin:y,onForgotPassword:b,onRegister:x,isLoading:S=!1,errorMessage:C,title:w=`Đăng nhập`,subtitle:T=`Nhập thông tin để tiếp tục`})=>{let E=m(),D=m(),[O,k]=h(``),[A,j]=h(``),[M,N]=h(!1),[P,F]=h({});return f(t,{open:g,onOpenChange:v,children:p(n,{className:`max-sm:data-[state=open]:slide-in-from-bottom max-sm:data-[state=open]:zoom-in-100 max-sm:data-[state=closed]:slide-out-to-bottom max-sm:data-[state=closed]:zoom-out-100 max-sm:top-auto max-sm:right-0 max-sm:bottom-0 max-sm:left-0 max-sm:max-w-full max-sm:translate-x-0 max-sm:translate-y-0 max-sm:rounded-b-none sm:max-w-sm`,children:[p(i,{children:[f(a,{children:w}),f(r,{children:T})]}),p(`form`,{onSubmit:async e=>{e.preventDefault();let t=_.safeParse({email:O,password:A});if(!t.success){let e=t.error.flatten().fieldErrors;F({email:e.email?.[0],password:e.password?.[0]});return}F({}),await y(O,A)},noValidate:!0,className:`flex flex-col gap-4`,children:[C&&f(s,{variant:`destructive`,children:f(o,{children:C})}),p(`div`,{className:`flex flex-col gap-1.5`,children:[f(l,{htmlFor:E,children:`Email`}),f(c,{id:E,type:`email`,autoComplete:`email`,placeholder:`you@example.com`,value:O,onChange:e=>k(e.target.value),"aria-invalid":!!P.email,disabled:S}),P.email&&f(`p`,{className:`text-destructive text-xs`,children:P.email})]}),p(`div`,{className:`flex flex-col gap-1.5`,children:[p(`div`,{className:`flex items-center justify-between`,children:[f(l,{htmlFor:D,children:`Mật khẩu`}),b&&f(e,{type:`button`,variant:`link`,size:`sm`,className:`h-auto p-0 text-xs`,onClick:b,children:`Quên mật khẩu?`})]}),p(`div`,{className:`relative`,children:[f(c,{id:D,type:M?`text`:`password`,autoComplete:`current-password`,placeholder:`••••••••`,value:A,onChange:e=>j(e.target.value),"aria-invalid":!!P.password,disabled:S,className:`pr-10`}),f(`button`,{type:`button`,className:`absolute inset-y-0 right-0 flex items-center px-3 text-muted-foreground hover:text-foreground`,onMouseDown:e=>{e.preventDefault(),N(e=>!e)},"aria-label":M?`Ẩn mật khẩu`:`Hiện mật khẩu`,children:f(M?d:u,{size:16})})]}),P.password&&f(`p`,{className:`text-destructive text-xs`,children:P.password})]}),f(e,{type:`submit`,isLoading:S,className:`w-full`,children:`Đăng nhập`}),f(e,{type:`button`,variant:`outline`,className:`w-full`,disabled:S,onClick:()=>v(!1),children:`Đóng hộp thoại`})]}),x&&p(`div`,{className:`flex justify-center gap-1 text-muted-foreground text-sm`,children:[f(`span`,{children:`Chưa có tài khoản?`}),f(e,{variant:`link`,size:`sm`,className:`h-auto p-0`,onClick:x,children:`Đăng ký`})]})]})})};export{v as LoginPage};
2
2
  //# sourceMappingURL=LoginPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginPage.js","names":[],"sources":["../../packages/components/pages/LoginPage.tsx"],"sourcesContent":["'use client';\n\nimport { useId, useState } from 'react';\n\nimport { Eye, EyeOff } from 'lucide-react';\nimport { z } from 'zod';\n\nimport { Alert, AlertDescription } from '../ui/alert';\nimport { Button } from '../ui/button';\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from '../ui/dialog';\nimport { Input } from '../ui/input';\nimport { Label } from '../ui/label';\n\nexport interface LoginPageProps {\n /** Controls whether the dialog is open */\n open: boolean;\n /** Called when the dialog open state changes */\n onOpenChange: (open: boolean) => void;\n /** Called when the user submits login credentials */\n onLogin: (email: string, password: string) => Promise<void> | void;\n /** Called when the \"Quên mật khẩu?\" link is clicked */\n onForgotPassword?: () => void;\n /** Called when the \"Đăng ký\" link is clicked */\n onRegister?: () => void;\n /** Disables the form and shows a spinner on the submit button */\n isLoading?: boolean;\n /** Server-side error message rendered in a destructive Alert */\n errorMessage?: string;\n /** Dialog heading. Default: \"Đăng nhập\" */\n title?: string;\n /** Dialog subheading. Default: \"Nhập thông tin để tiếp tục\" */\n subtitle?: string;\n}\n\nconst loginSchema = z.object({\n email: z.string().min(1, 'Vui lòng nhập email').email('Email không hợp lệ'),\n password: z.string().min(1, 'Vui lòng nhập mật khẩu'),\n});\n\n/**\n * Modal login dialog for the client authentication flow.\n *\n * @example\n * ```tsx\n * import { LoginPage } from '@customafk/lunas-ui/pages/LoginPage';\n *\n * <LoginPage\n * open={open}\n * onOpenChange={setOpen}\n * onLogin={async (email, password) => {\n * await authService.login(email, password);\n * setOpen(false);\n * }}\n * onRegister={() => { setOpen(false); setRegisterOpen(true); }}\n * />\n * ```\n */\nexport const LoginPage = ({\n open,\n onOpenChange,\n onLogin,\n onForgotPassword,\n onRegister,\n isLoading = false,\n errorMessage,\n title = 'Đăng nhập',\n subtitle = 'Nhập thông tin để tiếp tục',\n}: LoginPageProps) => {\n const emailId = useId();\n const passwordId = useId();\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const [showPassword, setShowPassword] = useState(false);\n const [fieldErrors, setFieldErrors] = useState<{ email?: string; password?: string }>({});\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n const result = loginSchema.safeParse({ email, password });\n if (!result.success) {\n const errors = result.error.flatten().fieldErrors;\n setFieldErrors({ email: errors.email?.[0], password: errors.password?.[0] });\n return;\n }\n setFieldErrors({});\n await onLogin(email, password);\n };\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent className=\"max-sm:data-[state=open]:slide-in-from-bottom max-sm:data-[state=open]:zoom-in-100 max-sm:data-[state=closed]:slide-out-to-bottom max-sm:data-[state=closed]:zoom-out-100 max-sm:top-auto max-sm:right-0 max-sm:bottom-0 max-sm:left-0 max-sm:max-w-full max-sm:translate-x-0 max-sm:translate-y-0 max-sm:rounded-b-none sm:max-w-sm\">\n <DialogHeader>\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{subtitle}</DialogDescription>\n </DialogHeader>\n\n <form onSubmit={handleSubmit} noValidate className=\"flex flex-col gap-4\">\n {errorMessage && (\n <Alert variant=\"destructive\">\n <AlertDescription>{errorMessage}</AlertDescription>\n </Alert>\n )}\n\n <div className=\"flex flex-col gap-1.5\">\n <Label htmlFor={emailId}>Email</Label>\n <Input\n id={emailId}\n type=\"email\"\n autoComplete=\"email\"\n placeholder=\"you@example.com\"\n value={email}\n onChange={e => setEmail(e.target.value)}\n aria-invalid={!!fieldErrors.email}\n disabled={isLoading}\n />\n {fieldErrors.email && <p className=\"text-destructive text-xs\">{fieldErrors.email}</p>}\n </div>\n\n <div className=\"flex flex-col gap-1.5\">\n <div className=\"flex items-center justify-between\">\n <Label htmlFor={passwordId}>Mật khẩu</Label>\n {onForgotPassword && (\n <Button type=\"button\" variant=\"link\" size=\"sm\" className=\"h-auto p-0 text-xs\" onClick={onForgotPassword}>\n Quên mật khẩu?\n </Button>\n )}\n </div>\n <div className=\"relative\">\n <Input\n id={passwordId}\n type={showPassword ? 'text' : 'password'}\n autoComplete=\"current-password\"\n placeholder=\"••••••••\"\n value={password}\n onChange={e => setPassword(e.target.value)}\n aria-invalid={!!fieldErrors.password}\n disabled={isLoading}\n className=\"pr-10\"\n />\n <button\n type=\"button\"\n className=\"absolute inset-y-0 right-0 flex items-center px-3 text-muted-foreground hover:text-foreground\"\n onMouseDown={e => {\n e.preventDefault();\n setShowPassword(v => !v);\n }}\n aria-label={showPassword ? 'Ẩn mật khẩu' : 'Hiện mật khẩu'}\n >\n {showPassword ? <EyeOff size={16} /> : <Eye size={16} />}\n </button>\n </div>\n {fieldErrors.password && <p className=\"text-destructive text-xs\">{fieldErrors.password}</p>}\n </div>\n\n <Button type=\"submit\" isLoading={isLoading} className=\"w-full\">\n Đăng nhập\n </Button>\n <Button type=\"button\" variant=\"outline\" className=\"w-full\" disabled={isLoading} onClick={() => onOpenChange(false)}>\n Đóng hộp thoại\n </Button>\n </form>\n\n {onRegister && (\n <div className=\"flex justify-center gap-1 text-muted-foreground text-sm\">\n <span>Chưa có tài khoản?</span>\n <Button variant=\"link\" size=\"sm\" className=\"h-auto p-0\" onClick={onRegister}>\n Đăng ký\n </Button>\n </div>\n )}\n </DialogContent>\n </Dialog>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"LoginPage.js","names":[],"sources":["../../packages/components/pages/LoginPage.tsx"],"sourcesContent":["'use client';\n\nimport { useId, useState } from 'react';\n\nimport { Eye, EyeOff } from 'lucide-react';\nimport { z } from 'zod';\n\nimport { Alert, AlertDescription } from '../ui/alert';\nimport { Button } from '../ui/button';\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from '../ui/dialog';\nimport { Input } from '../ui/input';\nimport { Label } from '../ui/label';\n\nexport interface LoginPageProps {\n /** Controls whether the dialog is open */\n open: boolean;\n /** Called when the dialog open state changes */\n onOpenChange: (open: boolean) => void;\n /** Called when the user submits login credentials */\n onLogin: (email: string, password: string) => Promise<void> | void;\n /** Called when the \"Quên mật khẩu?\" link is clicked */\n onForgotPassword?: () => void;\n /** Called when the \"Đăng ký\" link is clicked */\n onRegister?: () => void;\n /** Disables the form and shows a spinner on the submit button */\n isLoading?: boolean;\n /** Server-side error message rendered in a destructive Alert */\n errorMessage?: string;\n /** Dialog heading. Default: \"Đăng nhập\" */\n title?: string;\n /** Dialog subheading. Default: \"Nhập thông tin để tiếp tục\" */\n subtitle?: string;\n}\n\nconst loginSchema = z.object({\n email: z.string().min(1, 'Vui lòng nhập email').email('Email không hợp lệ'),\n password: z.string().min(1, 'Vui lòng nhập mật khẩu'),\n});\n\n/**\n * Modal login dialog for the client authentication flow.\n *\n * @example\n * ```tsx\n * import { LoginPage } from '@customafk/lunas-ui/pages/LoginPage';\n *\n * <LoginPage\n * open={open}\n * onOpenChange={setOpen}\n * onLogin={async (email, password) => {\n * await authService.login(email, password);\n * setOpen(false);\n * }}\n * onRegister={() => { setOpen(false); setRegisterOpen(true); }}\n * />\n * ```\n */\nexport const LoginPage = ({\n open,\n onOpenChange,\n onLogin,\n onForgotPassword,\n onRegister,\n isLoading = false,\n errorMessage,\n title = 'Đăng nhập',\n subtitle = 'Nhập thông tin để tiếp tục',\n}: LoginPageProps) => {\n const emailId = useId();\n const passwordId = useId();\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const [showPassword, setShowPassword] = useState(false);\n const [fieldErrors, setFieldErrors] = useState<{ email?: string; password?: string }>({});\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n const result = loginSchema.safeParse({ email, password });\n if (!result.success) {\n const errors = result.error.flatten().fieldErrors;\n setFieldErrors({ email: errors.email?.[0], password: errors.password?.[0] });\n return;\n }\n setFieldErrors({});\n await onLogin(email, password);\n };\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent className=\"max-sm:data-[state=open]:slide-in-from-bottom max-sm:data-[state=open]:zoom-in-100 max-sm:data-[state=closed]:slide-out-to-bottom max-sm:data-[state=closed]:zoom-out-100 max-sm:top-auto max-sm:right-0 max-sm:bottom-0 max-sm:left-0 max-sm:max-w-full max-sm:translate-x-0 max-sm:translate-y-0 max-sm:rounded-b-none sm:max-w-sm\">\n <DialogHeader>\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{subtitle}</DialogDescription>\n </DialogHeader>\n\n <form onSubmit={handleSubmit} noValidate className=\"flex flex-col gap-4\">\n {errorMessage && (\n <Alert variant=\"destructive\">\n <AlertDescription>{errorMessage}</AlertDescription>\n </Alert>\n )}\n\n <div className=\"flex flex-col gap-1.5\">\n <Label htmlFor={emailId}>Email</Label>\n <Input\n id={emailId}\n type=\"email\"\n autoComplete=\"email\"\n placeholder=\"you@example.com\"\n value={email}\n onChange={e => setEmail(e.target.value)}\n aria-invalid={!!fieldErrors.email}\n disabled={isLoading}\n />\n {fieldErrors.email && <p className=\"text-destructive text-xs\">{fieldErrors.email}</p>}\n </div>\n\n <div className=\"flex flex-col gap-1.5\">\n <div className=\"flex items-center justify-between\">\n <Label htmlFor={passwordId}>Mật khẩu</Label>\n {onForgotPassword && (\n <Button type=\"button\" variant=\"link\" size=\"sm\" className=\"h-auto p-0 text-xs\" onClick={onForgotPassword}>\n Quên mật khẩu?\n </Button>\n )}\n </div>\n <div className=\"relative\">\n <Input\n id={passwordId}\n type={showPassword ? 'text' : 'password'}\n autoComplete=\"current-password\"\n placeholder=\"••••••••\"\n value={password}\n onChange={e => setPassword(e.target.value)}\n aria-invalid={!!fieldErrors.password}\n disabled={isLoading}\n className=\"pr-10\"\n />\n <button\n type=\"button\"\n className=\"absolute inset-y-0 right-0 flex items-center px-3 text-muted-foreground hover:text-foreground\"\n onMouseDown={e => {\n e.preventDefault();\n setShowPassword(v => !v);\n }}\n aria-label={showPassword ? 'Ẩn mật khẩu' : 'Hiện mật khẩu'}\n >\n {showPassword ? <EyeOff size={16} /> : <Eye size={16} />}\n </button>\n </div>\n {fieldErrors.password && <p className=\"text-destructive text-xs\">{fieldErrors.password}</p>}\n </div>\n\n <Button type=\"submit\" isLoading={isLoading} className=\"w-full\">\n Đăng nhập\n </Button>\n <Button type=\"button\" variant=\"outline\" className=\"w-full\" disabled={isLoading} onClick={() => onOpenChange(false)}>\n Đóng hộp thoại\n </Button>\n </form>\n\n {onRegister && (\n <div className=\"flex justify-center gap-1 text-muted-foreground text-sm\">\n <span>Chưa có tài khoản?</span>\n <Button variant=\"link\" size=\"sm\" className=\"h-auto p-0\" onClick={onRegister}>\n Đăng ký\n </Button>\n </div>\n )}\n </DialogContent>\n </Dialog>\n );\n};\n"],"mappings":"mlBAkCA,MAAM,EAAc,EAAE,OAAO,CAC3B,MAAO,EAAE,QAAQ,CAAC,IAAI,EAAG,sBAAsB,CAAC,MAAM,qBAAqB,CAC3E,SAAU,EAAE,QAAQ,CAAC,IAAI,EAAG,yBAAyB,CACtD,CAAC,CAoBW,GAAa,CACxB,OACA,eACA,UACA,mBACA,aACA,YAAY,GACZ,eACA,QAAQ,YACR,WAAW,gCACS,CACpB,IAAM,EAAU,GAAO,CACjB,EAAa,GAAO,CACpB,CAAC,EAAO,GAAY,EAAS,GAAG,CAChC,CAAC,EAAU,GAAe,EAAS,GAAG,CACtC,CAAC,EAAc,GAAmB,EAAS,GAAM,CACjD,CAAC,EAAa,GAAkB,EAAgD,EAAE,CAAC,CAczF,OACE,EAAC,EAAA,CAAa,OAAoB,wBAChC,EAAC,EAAA,CAAc,UAAU,iVACvB,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,CAAA,SAAa,EAAA,CAAoB,CAClC,EAAC,EAAA,CAAA,SAAmB,EAAA,CAA6B,CAAA,CAAA,CACpC,CAEf,EAAC,OAAA,CAAK,SApBS,KAAO,IAAwC,CAClE,EAAE,gBAAgB,CAClB,IAAM,EAAS,EAAY,UAAU,CAAE,QAAO,WAAU,CAAC,CACzD,GAAI,CAAC,EAAO,QAAS,CACnB,IAAM,EAAS,EAAO,MAAM,SAAS,CAAC,YACtC,EAAe,CAAE,MAAO,EAAO,QAAQ,GAAI,SAAU,EAAO,WAAW,GAAI,CAAC,CAC5E,OAEF,EAAe,EAAE,CAAC,CAClB,MAAM,EAAQ,EAAO,EAAS,EAWI,WAAA,GAAW,UAAU,gCAChD,GACC,EAAC,EAAA,CAAM,QAAQ,uBACb,EAAC,EAAA,CAAA,SAAkB,EAAA,CAAgC,EAC7C,CAGV,EAAC,MAAA,CAAI,UAAU,kCACb,EAAC,EAAA,CAAM,QAAS,WAAS,SAAa,CACtC,EAAC,EAAA,CACC,GAAI,EACJ,KAAK,QACL,aAAa,QACb,YAAY,kBACZ,MAAO,EACP,SAAU,GAAK,EAAS,EAAE,OAAO,MAAM,CACvC,eAAc,CAAC,CAAC,EAAY,MAC5B,SAAU,GACV,CACD,EAAY,OAAS,EAAC,IAAA,CAAE,UAAU,oCAA4B,EAAY,OAAU,GACjF,CAEN,EAAC,MAAA,CAAI,UAAU,kCACb,EAAC,MAAA,CAAI,UAAU,8CACb,EAAC,EAAA,CAAM,QAAS,WAAY,YAAgB,CAC3C,GACC,EAAC,EAAA,CAAO,KAAK,SAAS,QAAQ,OAAO,KAAK,KAAK,UAAU,qBAAqB,QAAS,WAAkB,kBAEhG,CAAA,EAEP,CACN,EAAC,MAAA,CAAI,UAAU,qBACb,EAAC,EAAA,CACC,GAAI,EACJ,KAAM,EAAe,OAAS,WAC9B,aAAa,mBACb,YAAY,WACZ,MAAO,EACP,SAAU,GAAK,EAAY,EAAE,OAAO,MAAM,CAC1C,eAAc,CAAC,CAAC,EAAY,SAC5B,SAAU,EACV,UAAU,SACV,CACF,EAAC,SAAA,CACC,KAAK,SACL,UAAU,gGACV,YAAa,GAAK,CAChB,EAAE,gBAAgB,CAClB,EAAgB,GAAK,CAAC,EAAE,EAE1B,aAAY,EAAe,cAAgB,yBAE3B,EAAf,EAAgB,EAAuB,EAAvB,CAAO,KAAM,GAAA,CAA0B,EACjD,CAAA,EACL,CACL,EAAY,UAAY,EAAC,IAAA,CAAE,UAAU,oCAA4B,EAAY,UAAa,GACvF,CAEN,EAAC,EAAA,CAAO,KAAK,SAAoB,YAAW,UAAU,kBAAS,aAEtD,CACT,EAAC,EAAA,CAAO,KAAK,SAAS,QAAQ,UAAU,UAAU,SAAS,SAAU,EAAW,YAAe,EAAa,GAAM,UAAE,kBAE3G,GACJ,CAEN,GACC,EAAC,MAAA,CAAI,UAAU,oEACb,EAAC,OAAA,CAAA,SAAK,qBAAA,CAAyB,CAC/B,EAAC,EAAA,CAAO,QAAQ,OAAO,KAAK,KAAK,UAAU,aAAa,QAAS,WAAY,WAEpE,CAAA,EACL,GAEM,EACT"}
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../chunk-350yNsax.cjs`);require(`../button.variants-4kw6plrv.cjs`);const t=require(`../button-C--DAN1D.cjs`);let n=require(`lucide-react`),r=require(`@customafk/react-toolkit/utils`),i=require(`react/jsx-runtime`);const a=({title:e=`Quyền truy cập bị từ chối`,subtitle:a=`Xin lỗi, bạn không có quyền truy cập vào trang này.`,buttonText:o=`Quay lại`,onButtonClick:s=()=>window.history.back(),className:c,iconClassName:l})=>(0,i.jsxs)(`div`,{className:(0,r.cn)(`flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full`,c),children:[(0,i.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,i.jsx)(n.ShieldAlert,{className:(0,r.cn)(`size-16 sm:size-24 text-primary`,l)}),(0,i.jsx)(`div`,{className:`text-4xl sm:text-6xl font-bold text-primary`,children:`403`})]}),(0,i.jsx)(`h1`,{className:`text-xl sm:text-2xl font-semibold mt-2`,children:e}),(0,i.jsx)(`p`,{className:`text-muted-foreground max-w-md text-sm sm:text-base`,children:a}),(0,i.jsx)(t.t,{onClick:s,variant:`default`,className:`mt-2`,size:`sm`,children:o})]});var o=a;exports.NotAuthorized=a,exports.default=o;
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../chunk-Bmb41Sf3.cjs`);require(`../button.variants-DgVFNsVc.cjs`);const t=require(`../ui/button.cjs`);let n=require(`lucide-react`),r=require(`@customafk/react-toolkit/utils`),i=require(`react/jsx-runtime`);const a=({title:e=`Quyền truy cập bị từ chối`,subtitle:a=`Xin lỗi, bạn không có quyền truy cập vào trang này.`,buttonText:o=`Quay lại`,onButtonClick:s=()=>window.history.back(),className:c,iconClassName:l})=>(0,i.jsxs)(`div`,{className:(0,r.cn)(`flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full`,c),children:[(0,i.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,i.jsx)(n.ShieldAlert,{className:(0,r.cn)(`size-16 sm:size-24 text-primary`,l)}),(0,i.jsx)(`div`,{className:`text-4xl sm:text-6xl font-bold text-primary`,children:`403`})]}),(0,i.jsx)(`h1`,{className:`text-xl sm:text-2xl font-semibold mt-2`,children:e}),(0,i.jsx)(`p`,{className:`text-muted-foreground max-w-md text-sm sm:text-base`,children:a}),(0,i.jsx)(t.Button,{onClick:s,variant:`default`,className:`mt-2`,size:`sm`,children:o})]});var o=a;exports.NotAuthorized=a,exports.default=o;
2
2
  //# sourceMappingURL=NotAuthorized.cjs.map