@customafk/lunas-ui 0.2.41 → 0.2.43

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 (1008) hide show
  1. package/dist/alert-2JBj0aPL.d.mts +88 -0
  2. package/dist/alert-B2PaDJp6.cjs +2 -0
  3. package/dist/alert-B2PaDJp6.cjs.map +1 -0
  4. package/dist/alert-BbvPwf2x.mjs +2 -0
  5. package/dist/alert-BbvPwf2x.mjs.map +1 -0
  6. package/dist/alert-Cm6RAKdp.d.cts +88 -0
  7. package/dist/avatar-TyOphzGo.cjs +2 -0
  8. package/dist/avatar-TyOphzGo.cjs.map +1 -0
  9. package/dist/avatar-fltdRVsJ.mjs +2 -0
  10. package/dist/avatar-fltdRVsJ.mjs.map +1 -0
  11. package/dist/badge-CDGBGq8X.mjs +2 -0
  12. package/dist/badge-CDGBGq8X.mjs.map +1 -0
  13. package/dist/badge-CnR78VnH.d.mts +42 -0
  14. package/dist/badge-KW7xu5Ca.cjs +2 -0
  15. package/dist/badge-KW7xu5Ca.cjs.map +1 -0
  16. package/dist/badge-ic9HOAa7.d.cts +42 -0
  17. package/dist/button--eH0xdF-.d.mts +174 -0
  18. package/dist/button-C--DAN1D.cjs +2 -0
  19. package/dist/button-C--DAN1D.cjs.map +1 -0
  20. package/dist/button-CCVJTHBI.mjs +2 -0
  21. package/dist/button-CCVJTHBI.mjs.map +1 -0
  22. package/dist/button-DserH5cQ.d.cts +174 -0
  23. package/dist/button.variants-4kw6plrv.cjs +2 -0
  24. package/dist/button.variants-4kw6plrv.cjs.map +1 -0
  25. package/dist/button.variants-DkMqWB8G.mjs +2 -0
  26. package/dist/button.variants-DkMqWB8G.mjs.map +1 -0
  27. package/dist/calendar-4weBDnXz.cjs +2 -0
  28. package/dist/calendar-4weBDnXz.cjs.map +1 -0
  29. package/dist/calendar-R866yyd1.mjs +2 -0
  30. package/dist/calendar-R866yyd1.mjs.map +1 -0
  31. package/dist/cards/grid-product-card.cjs +1 -1
  32. package/dist/cards/grid-product-card.cjs.map +1 -1
  33. package/dist/cards/grid-product-card.d.mts +37 -0
  34. package/dist/cards/grid-product-card.mjs +2 -0
  35. package/dist/cards/grid-product-card.mjs.map +1 -0
  36. package/dist/cards/product-card.cjs +1 -1
  37. package/dist/cards/product-card.cjs.map +1 -1
  38. package/dist/cards/product-card.d.mts +37 -0
  39. package/dist/cards/product-card.mjs +2 -0
  40. package/dist/cards/product-card.mjs.map +1 -0
  41. package/dist/cards/simple-card.cjs +1 -1
  42. package/dist/cards/simple-card.d.mts +35 -0
  43. package/dist/cards/simple-card.mjs +2 -0
  44. package/dist/cards/simple-card.mjs.map +1 -0
  45. package/dist/checkbox-Cat3i08X.mjs +2 -0
  46. package/dist/checkbox-Cat3i08X.mjs.map +1 -0
  47. package/dist/checkbox-Dsq-MSbH.cjs +2 -0
  48. package/dist/checkbox-Dsq-MSbH.cjs.map +1 -0
  49. package/dist/chunk-350yNsax.cjs +1 -0
  50. package/dist/close-Dlo1bI8x.cjs +2 -0
  51. package/dist/close-Dlo1bI8x.cjs.map +1 -0
  52. package/dist/close-_UHFeiLS.mjs +2 -0
  53. package/dist/close-_UHFeiLS.mjs.map +1 -0
  54. package/dist/cms-layout-BCH4NroR.cjs +2 -0
  55. package/dist/cms-layout-BCH4NroR.cjs.map +1 -0
  56. package/dist/cms-layout-DkCR1AfG.mjs +2 -0
  57. package/dist/cms-layout-DkCR1AfG.mjs.map +1 -0
  58. package/dist/command-CsP8a1Un.cjs +2 -0
  59. package/dist/command-CsP8a1Un.cjs.map +1 -0
  60. package/dist/command-D6_CSbwJ.mjs +2 -0
  61. package/dist/command-D6_CSbwJ.mjs.map +1 -0
  62. package/dist/data-display/country.cjs +1 -1
  63. package/dist/data-display/country.cjs.map +1 -1
  64. package/dist/data-display/country.d.cts +1 -1
  65. package/dist/data-display/country.d.mts +22 -0
  66. package/dist/data-display/country.mjs +2 -0
  67. package/dist/data-display/country.mjs.map +1 -0
  68. package/dist/data-display/data-list.cjs +1 -1
  69. package/dist/data-display/data-list.d.mts +43 -0
  70. package/dist/data-display/data-list.mjs +2 -0
  71. package/dist/data-display/data-list.mjs.map +1 -0
  72. package/dist/data-display/date-tooltip.cjs +1 -1
  73. package/dist/data-display/date-tooltip.cjs.map +1 -1
  74. package/dist/data-display/date-tooltip.d.mts +19 -0
  75. package/dist/data-display/date-tooltip.mjs +2 -0
  76. package/dist/data-display/date-tooltip.mjs.map +1 -0
  77. package/dist/data-display/date.cjs +1 -2
  78. package/dist/data-display/date.d.mts +39 -0
  79. package/dist/data-display/date.mjs +1 -0
  80. package/dist/data-display/empty.cjs +1 -1
  81. package/dist/data-display/empty.d.mts +21 -0
  82. package/dist/data-display/empty.mjs +2 -0
  83. package/dist/data-display/empty.mjs.map +1 -0
  84. package/dist/data-display/name.cjs +1 -1
  85. package/dist/data-display/name.cjs.map +1 -1
  86. package/dist/data-display/name.d.mts +19 -0
  87. package/dist/data-display/name.mjs +2 -0
  88. package/dist/data-display/name.mjs.map +1 -0
  89. package/dist/data-display/phone-number.cjs +1 -1
  90. package/dist/data-display/phone-number.cjs.map +1 -1
  91. package/dist/data-display/phone-number.d.mts +19 -0
  92. package/dist/data-display/phone-number.mjs +2 -0
  93. package/dist/data-display/phone-number.mjs.map +1 -0
  94. package/dist/data-display/role-badge.cjs +1 -1
  95. package/dist/data-display/role-badge.cjs.map +1 -1
  96. package/dist/data-display/role-badge.d.cts +1 -1
  97. package/dist/data-display/role-badge.d.mts +22 -0
  98. package/dist/data-display/role-badge.mjs +2 -0
  99. package/dist/data-display/role-badge.mjs.map +1 -0
  100. package/dist/data-display/statistic.cjs +1 -2
  101. package/dist/data-display/statistic.d.cts +3 -3
  102. package/dist/data-display/statistic.d.mts +57 -0
  103. package/dist/data-display/statistic.mjs +1 -0
  104. package/dist/data-display/user.cjs +1 -2
  105. package/dist/data-display/user.d.mts +23 -0
  106. package/dist/data-display/user.mjs +1 -0
  107. package/dist/date-D4NVl6C9.cjs +2 -0
  108. package/dist/date-D4NVl6C9.cjs.map +1 -0
  109. package/dist/date-fY3sUcLp.mjs +2 -0
  110. package/dist/date-fY3sUcLp.mjs.map +1 -0
  111. package/dist/dialog-BigPrWIj.cjs +2 -0
  112. package/dist/dialog-BigPrWIj.cjs.map +1 -0
  113. package/dist/dialog-CLDnvNH_.mjs +2 -0
  114. package/dist/dialog-CLDnvNH_.mjs.map +1 -0
  115. package/dist/dialog-CYHT9WNs.d.cts +90 -0
  116. package/dist/dialog-pWSVE0gd.d.mts +90 -0
  117. package/dist/dialogs/confirm-dialog.cjs +1 -1
  118. package/dist/dialogs/confirm-dialog.d.mts +142 -0
  119. package/dist/dialogs/confirm-dialog.mjs +2 -0
  120. package/dist/dialogs/confirm-dialog.mjs.map +1 -0
  121. package/dist/dialogs/detail-dialog/components/sidebar.cjs +1 -1
  122. package/dist/dialogs/detail-dialog/components/sidebar.d.cts +26 -26
  123. package/dist/dialogs/detail-dialog/components/sidebar.d.mts +209 -0
  124. package/dist/dialogs/detail-dialog/components/sidebar.mjs +1 -0
  125. package/dist/dialogs/detail-dialog/index.cjs +1 -1
  126. package/dist/dialogs/detail-dialog/index.cjs.map +1 -1
  127. package/dist/dialogs/detail-dialog/index.d.mts +45 -0
  128. package/dist/dialogs/detail-dialog/index.mjs +2 -0
  129. package/dist/dialogs/detail-dialog/index.mjs.map +1 -0
  130. package/dist/dialogs/error-dialog.cjs +1 -1
  131. package/dist/dialogs/error-dialog.d.mts +25 -0
  132. package/dist/dialogs/error-dialog.mjs +2 -0
  133. package/dist/dialogs/error-dialog.mjs.map +1 -0
  134. package/dist/dialogs/loading-dialog.cjs +1 -1
  135. package/dist/dialogs/loading-dialog.cjs.map +1 -1
  136. package/dist/dialogs/loading-dialog.d.mts +21 -0
  137. package/dist/dialogs/loading-dialog.mjs +2 -0
  138. package/dist/dialogs/loading-dialog.mjs.map +1 -0
  139. package/dist/dist-Cx5ufCdr.cjs +2 -0
  140. package/dist/dist-Cx5ufCdr.cjs.map +1 -0
  141. package/dist/dist-DVrfqn8H.mjs +2 -0
  142. package/dist/dist-DVrfqn8H.mjs.map +1 -0
  143. package/dist/drawer-BB8BZzDG.cjs +2 -0
  144. package/dist/drawer-BB8BZzDG.cjs.map +1 -0
  145. package/dist/drawer-CMD7JWH8.mjs +2 -0
  146. package/dist/drawer-CMD7JWH8.mjs.map +1 -0
  147. package/dist/dropdown-menu-BWhiVsEf.mjs +2 -0
  148. package/dist/dropdown-menu-BWhiVsEf.mjs.map +1 -0
  149. package/dist/dropdown-menu-CVh520yG.cjs +2 -0
  150. package/dist/dropdown-menu-CVh520yG.cjs.map +1 -0
  151. package/dist/features/descriptions/index.cjs +1 -1
  152. package/dist/features/descriptions/index.cjs.map +1 -1
  153. package/dist/features/descriptions/index.d.cts +3 -3
  154. package/dist/features/descriptions/index.d.mts +246 -0
  155. package/dist/features/descriptions/index.mjs +2 -0
  156. package/dist/features/descriptions/index.mjs.map +1 -0
  157. package/dist/features/search-modal/index.cjs +1 -1
  158. package/dist/features/search-modal/index.d.cts +2 -2
  159. package/dist/features/search-modal/index.d.mts +17 -0
  160. package/dist/features/search-modal/index.mjs +1 -0
  161. package/dist/features/tables/index.cjs +1 -1
  162. package/dist/features/tables/index.d.cts +1 -1
  163. package/dist/features/tables/index.d.mts +3 -0
  164. package/dist/features/tables/index.mjs +1 -0
  165. package/dist/features/tanstack-form/index.cjs +1 -1
  166. package/dist/features/tanstack-form/index.d.cts +1 -1
  167. package/dist/features/tanstack-form/index.d.mts +2 -0
  168. package/dist/features/tanstack-form/index.mjs +1 -0
  169. package/dist/features/text-editor/index.cjs +1 -1
  170. package/dist/features/text-editor/index.d.cts +1 -1
  171. package/dist/features/text-editor/index.d.mts +2 -0
  172. package/dist/features/text-editor/index.mjs +1 -0
  173. package/dist/field-BrlETeXX.cjs +2 -0
  174. package/dist/field-BrlETeXX.cjs.map +1 -0
  175. package/dist/field-dYemS0hQ.mjs +2 -0
  176. package/dist/field-dYemS0hQ.mjs.map +1 -0
  177. package/dist/flex-B6YSJzGe.mjs +2 -0
  178. package/dist/flex-B6YSJzGe.mjs.map +1 -0
  179. package/dist/flex-DmWmOBn5.cjs +2 -0
  180. package/dist/flex-DmWmOBn5.cjs.map +1 -0
  181. package/dist/heading-De4Pn3mZ.mjs +2 -0
  182. package/dist/heading-De4Pn3mZ.mjs.map +1 -0
  183. package/dist/heading-tGTqk3pA.cjs +2 -0
  184. package/dist/heading-tGTqk3pA.cjs.map +1 -0
  185. package/dist/image-D7OZ13Ib.mjs +2 -0
  186. package/dist/image-D7OZ13Ib.mjs.map +1 -0
  187. package/dist/image-W_Yb0xTB.cjs +2 -0
  188. package/dist/image-W_Yb0xTB.cjs.map +1 -0
  189. package/dist/index-BsWsCPh8.d.cts +1093 -0
  190. package/dist/index-CMqwTAAq.d.mts +2348 -0
  191. package/dist/index-Cm62M0Ft.d.mts +90 -0
  192. package/dist/index-DSciiDhn.d.cts +2348 -0
  193. package/dist/index-DXU6DwLg.d.mts +1093 -0
  194. package/dist/index-DiW-62hY.d.mts +85 -0
  195. package/dist/index-FIl1Am8j.d.cts +85 -0
  196. package/dist/index-KO98y6L0.d.cts +90 -0
  197. package/dist/index.cjs +1 -1
  198. package/dist/index.d.cts +11 -11
  199. package/dist/index.d.mts +93 -0
  200. package/dist/index.mjs +1 -0
  201. package/dist/input-B_ucx08i.d.cts +44 -0
  202. package/dist/input-Drm_rLe2.d.mts +44 -0
  203. package/dist/input-NJP2wQOm.mjs +2 -0
  204. package/dist/input-NJP2wQOm.mjs.map +1 -0
  205. package/dist/input-WJ0DLHTR.cjs +2 -0
  206. package/dist/input-WJ0DLHTR.cjs.map +1 -0
  207. package/dist/label-CC6fXVbC.cjs +2 -0
  208. package/dist/label-CC6fXVbC.cjs.map +1 -0
  209. package/dist/label-CUCpwS5D.mjs +2 -0
  210. package/dist/label-CUCpwS5D.mjs.map +1 -0
  211. package/dist/layouts/cms-layout/index.cjs +1 -1
  212. package/dist/layouts/cms-layout/index.d.cts +1 -1
  213. package/dist/layouts/cms-layout/index.d.mts +2 -0
  214. package/dist/layouts/cms-layout/index.mjs +1 -0
  215. package/dist/layouts/flex.cjs +1 -1
  216. package/dist/layouts/flex.d.cts +5 -5
  217. package/dist/layouts/flex.d.mts +117 -0
  218. package/dist/layouts/flex.mjs +1 -0
  219. package/dist/layouts/grid.cjs +1 -1
  220. package/dist/layouts/grid.d.mts +19 -0
  221. package/dist/layouts/grid.mjs +2 -0
  222. package/dist/layouts/grid.mjs.map +1 -0
  223. package/dist/layouts/payment-layout/index.cjs +1 -1
  224. package/dist/layouts/payment-layout/index.d.mts +74 -0
  225. package/dist/layouts/payment-layout/index.mjs +1 -0
  226. package/dist/pages/FeatureDeveloping.cjs +1 -1
  227. package/dist/pages/FeatureDeveloping.cjs.map +1 -1
  228. package/dist/pages/FeatureDeveloping.d.cts +2 -2
  229. package/dist/pages/FeatureDeveloping.d.mts +43 -0
  230. package/dist/pages/FeatureDeveloping.mjs +2 -0
  231. package/dist/pages/FeatureDeveloping.mjs.map +1 -0
  232. package/dist/pages/FeatureFixing.cjs +1 -1
  233. package/dist/pages/FeatureFixing.cjs.map +1 -1
  234. package/dist/pages/FeatureFixing.d.cts +2 -2
  235. package/dist/pages/FeatureFixing.d.mts +43 -0
  236. package/dist/pages/FeatureFixing.mjs +2 -0
  237. package/dist/pages/FeatureFixing.mjs.map +1 -0
  238. package/dist/pages/LoginPage.cjs +1 -1
  239. package/dist/pages/LoginPage.cjs.map +1 -1
  240. package/dist/pages/LoginPage.d.cts +2 -2
  241. package/dist/pages/LoginPage.d.mts +55 -0
  242. package/dist/pages/LoginPage.mjs +2 -0
  243. package/dist/pages/LoginPage.mjs.map +1 -0
  244. package/dist/pages/NotAuthorized.cjs +1 -1
  245. package/dist/pages/NotAuthorized.cjs.map +1 -1
  246. package/dist/pages/NotAuthorized.d.cts +2 -2
  247. package/dist/pages/NotAuthorized.d.mts +43 -0
  248. package/dist/pages/NotAuthorized.mjs +2 -0
  249. package/dist/pages/NotAuthorized.mjs.map +1 -0
  250. package/dist/pages/NotFound.cjs +1 -1
  251. package/dist/pages/NotFound.cjs.map +1 -1
  252. package/dist/pages/NotFound.d.cts +2 -2
  253. package/dist/pages/NotFound.d.mts +43 -0
  254. package/dist/pages/NotFound.mjs +2 -0
  255. package/dist/pages/NotFound.mjs.map +1 -0
  256. package/dist/pages/RegisterPage.cjs +1 -1
  257. package/dist/pages/RegisterPage.cjs.map +1 -1
  258. package/dist/pages/RegisterPage.d.cts +2 -2
  259. package/dist/pages/RegisterPage.d.mts +52 -0
  260. package/dist/pages/RegisterPage.mjs +2 -0
  261. package/dist/pages/RegisterPage.mjs.map +1 -0
  262. package/dist/pages/VerifyEmailPage.cjs +1 -1
  263. package/dist/pages/VerifyEmailPage.cjs.map +1 -1
  264. package/dist/pages/VerifyEmailPage.d.cts +2 -2
  265. package/dist/pages/VerifyEmailPage.d.mts +64 -0
  266. package/dist/pages/VerifyEmailPage.mjs +2 -0
  267. package/dist/pages/VerifyEmailPage.mjs.map +1 -0
  268. package/dist/paragraph-DYLaQtTV.mjs +2 -0
  269. package/dist/paragraph-DYLaQtTV.mjs.map +1 -0
  270. package/dist/paragraph-DvTZvbzw.cjs +2 -0
  271. package/dist/paragraph-DvTZvbzw.cjs.map +1 -0
  272. package/dist/payment-layout-DrQ0kZPX.mjs +2 -0
  273. package/dist/payment-layout-DrQ0kZPX.mjs.map +1 -0
  274. package/dist/payment-layout-DyILfyVG.cjs +2 -0
  275. package/dist/payment-layout-DyILfyVG.cjs.map +1 -0
  276. package/dist/popover-C8rcemA3.mjs +2 -0
  277. package/dist/popover-C8rcemA3.mjs.map +1 -0
  278. package/dist/popover-DBsC8Ltp.cjs +2 -0
  279. package/dist/popover-DBsC8Ltp.cjs.map +1 -0
  280. package/dist/progress-CLeM0e7Z.mjs +2 -0
  281. package/dist/progress-CLeM0e7Z.mjs.map +1 -0
  282. package/dist/progress-gvBqNiHp.cjs +2 -0
  283. package/dist/progress-gvBqNiHp.cjs.map +1 -0
  284. package/dist/radio-group-Y9bhdr55.mjs +2 -0
  285. package/dist/radio-group-Y9bhdr55.mjs.map +1 -0
  286. package/dist/radio-group-_TdMkv8w.cjs +2 -0
  287. package/dist/radio-group-_TdMkv8w.cjs.map +1 -0
  288. package/dist/resizable-CpCaSCFB.mjs +2 -0
  289. package/dist/resizable-CpCaSCFB.mjs.map +1 -0
  290. package/dist/resizable-sgpaHAb8.cjs +2 -0
  291. package/dist/resizable-sgpaHAb8.cjs.map +1 -0
  292. package/dist/search-modal-B-pzGcfP.cjs +2 -0
  293. package/dist/search-modal-B-pzGcfP.cjs.map +1 -0
  294. package/dist/search-modal-Bn-GOOCy.mjs +2 -0
  295. package/dist/search-modal-Bn-GOOCy.mjs.map +1 -0
  296. package/dist/select-CWLQHh8x.cjs +2 -0
  297. package/dist/select-CWLQHh8x.cjs.map +1 -0
  298. package/dist/select-LlPCZFSF.mjs +2 -0
  299. package/dist/select-LlPCZFSF.mjs.map +1 -0
  300. package/dist/separator-D3Gmkxzq.mjs +2 -0
  301. package/dist/separator-D3Gmkxzq.mjs.map +1 -0
  302. package/dist/separator-KuymG9g0.cjs +2 -0
  303. package/dist/separator-KuymG9g0.cjs.map +1 -0
  304. package/dist/sheet-BFlIfNaA.mjs +2 -0
  305. package/dist/sheet-BFlIfNaA.mjs.map +1 -0
  306. package/dist/sheet-CvKSi0UC.cjs +2 -0
  307. package/dist/sheet-CvKSi0UC.cjs.map +1 -0
  308. package/dist/sidebar-ChtCyu-n.mjs +2 -0
  309. package/dist/sidebar-ChtCyu-n.mjs.map +1 -0
  310. package/dist/sidebar-D5J2gcTw.cjs +2 -0
  311. package/dist/sidebar-D5J2gcTw.cjs.map +1 -0
  312. package/dist/skeleton-C51IdOfK.mjs +2 -0
  313. package/dist/skeleton-C51IdOfK.mjs.map +1 -0
  314. package/dist/skeleton-CX1USu1w.cjs +2 -0
  315. package/dist/skeleton-CX1USu1w.cjs.map +1 -0
  316. package/dist/spinner-CFxorYEt.cjs +2 -0
  317. package/dist/spinner-CFxorYEt.cjs.map +1 -0
  318. package/dist/spinner-eClTgHjk.mjs +2 -0
  319. package/dist/spinner-eClTgHjk.mjs.map +1 -0
  320. package/dist/statistic-DDXilD7q.cjs +2 -0
  321. package/dist/statistic-DDXilD7q.cjs.map +1 -0
  322. package/dist/statistic-cwLwcukn.mjs +2 -0
  323. package/dist/statistic-cwLwcukn.mjs.map +1 -0
  324. package/dist/switch-BP7EPatj.mjs +2 -0
  325. package/dist/switch-BP7EPatj.mjs.map +1 -0
  326. package/dist/switch-DVfOV7wP.cjs +2 -0
  327. package/dist/switch-DVfOV7wP.cjs.map +1 -0
  328. package/dist/systems/google.cjs +1 -1
  329. package/dist/systems/google.d.mts +53 -0
  330. package/dist/systems/google.mjs +2 -0
  331. package/dist/systems/google.mjs.map +1 -0
  332. package/dist/tables-CFrsk2lM.mjs +4 -0
  333. package/dist/tables-CFrsk2lM.mjs.map +1 -0
  334. package/dist/tables-CPKHe3k-.cjs +4 -0
  335. package/dist/tables-CPKHe3k-.cjs.map +1 -0
  336. package/dist/tanstack-form-DT1TqIDl.mjs +12 -0
  337. package/dist/tanstack-form-DT1TqIDl.mjs.map +1 -0
  338. package/dist/tanstack-form-DatI41wz.cjs +12 -0
  339. package/dist/tanstack-form-DatI41wz.cjs.map +1 -0
  340. package/dist/text-editor-5mA7XyaI.mjs +2 -0
  341. package/dist/text-editor-5mA7XyaI.mjs.map +1 -0
  342. package/dist/text-editor-CvJN3nSL.cjs +2 -0
  343. package/dist/text-editor-CvJN3nSL.cjs.map +1 -0
  344. package/dist/textarea-7HDXcaK9.mjs +2 -0
  345. package/dist/textarea-7HDXcaK9.mjs.map +1 -0
  346. package/dist/textarea-Cc9CF8wD.cjs +2 -0
  347. package/dist/textarea-Cc9CF8wD.cjs.map +1 -0
  348. package/dist/tooltip-CBdoIzoM.cjs +2 -0
  349. package/dist/tooltip-CBdoIzoM.cjs.map +1 -0
  350. package/dist/tooltip-Dxl5Wa8i.mjs +2 -0
  351. package/dist/tooltip-Dxl5Wa8i.mjs.map +1 -0
  352. package/dist/types-B5nyTWtO.mjs +2 -0
  353. package/dist/types-B5nyTWtO.mjs.map +1 -0
  354. package/dist/types-BD1t0Bj8.cjs +2 -0
  355. package/dist/types-BD1t0Bj8.cjs.map +1 -0
  356. package/dist/types-Cc_mLRAn.d.cts +24 -0
  357. package/dist/types-YLu40dXY.d.mts +24 -0
  358. package/dist/typography/paragraph.cjs +1 -1
  359. package/dist/typography/paragraph.d.cts +4 -4
  360. package/dist/typography/paragraph.d.mts +48 -0
  361. package/dist/typography/paragraph.mjs +1 -0
  362. package/dist/typography/title.cjs +1 -1
  363. package/dist/typography/title.d.mts +43 -0
  364. package/dist/typography/title.mjs +2 -0
  365. package/dist/typography/title.mjs.map +1 -0
  366. package/dist/ui/alert-dialog.cjs +1 -1
  367. package/dist/ui/alert-dialog.d.cts +12 -12
  368. package/dist/ui/alert-dialog.d.mts +90 -0
  369. package/dist/ui/alert-dialog.mjs +2 -0
  370. package/dist/ui/alert-dialog.mjs.map +1 -0
  371. package/dist/ui/alert.cjs +1 -1
  372. package/dist/ui/alert.d.cts +1 -1
  373. package/dist/ui/alert.d.mts +2 -0
  374. package/dist/ui/alert.mjs +1 -0
  375. package/dist/ui/aspect-ratio.cjs +1 -1
  376. package/dist/ui/aspect-ratio.d.cts +2 -2
  377. package/dist/ui/aspect-ratio.d.mts +24 -0
  378. package/dist/ui/aspect-ratio.mjs +2 -0
  379. package/dist/ui/aspect-ratio.mjs.map +1 -0
  380. package/dist/ui/avatar.cjs +1 -2
  381. package/dist/ui/avatar.d.cts +4 -4
  382. package/dist/ui/avatar.d.mts +35 -0
  383. package/dist/ui/avatar.mjs +1 -0
  384. package/dist/ui/badge.cjs +1 -2
  385. package/dist/ui/badge.d.cts +2 -42
  386. package/dist/ui/badge.d.mts +2 -0
  387. package/dist/ui/badge.mjs +1 -0
  388. package/dist/ui/breadcrumb.cjs +1 -1
  389. package/dist/ui/breadcrumb.cjs.map +1 -1
  390. package/dist/ui/breadcrumb.d.cts +8 -8
  391. package/dist/ui/breadcrumb.d.mts +72 -0
  392. package/dist/ui/breadcrumb.mjs +2 -0
  393. package/dist/ui/breadcrumb.mjs.map +1 -0
  394. package/dist/ui/button-group.cjs +1 -1
  395. package/dist/ui/button-group.cjs.map +1 -1
  396. package/dist/ui/button-group.d.cts +7 -7
  397. package/dist/ui/button-group.d.mts +50 -0
  398. package/dist/ui/button-group.mjs +2 -0
  399. package/dist/ui/button-group.mjs.map +1 -0
  400. package/dist/ui/button.cjs +1 -2
  401. package/dist/ui/button.d.cts +1 -1
  402. package/dist/ui/button.d.mts +2 -0
  403. package/dist/ui/button.mjs +1 -0
  404. package/dist/ui/buttons/add-new.cjs +1 -1
  405. package/dist/ui/buttons/add-new.cjs.map +1 -1
  406. package/dist/ui/buttons/add-new.d.mts +17 -0
  407. package/dist/ui/buttons/add-new.mjs +2 -0
  408. package/dist/ui/buttons/add-new.mjs.map +1 -0
  409. package/dist/ui/buttons/edit.cjs +1 -1
  410. package/dist/ui/buttons/edit.cjs.map +1 -1
  411. package/dist/ui/buttons/edit.d.mts +17 -0
  412. package/dist/ui/buttons/edit.mjs +2 -0
  413. package/dist/ui/buttons/edit.mjs.map +1 -0
  414. package/dist/ui/buttons/refresh.cjs +1 -1
  415. package/dist/ui/buttons/refresh.cjs.map +1 -1
  416. package/dist/ui/buttons/refresh.d.mts +17 -0
  417. package/dist/ui/buttons/refresh.mjs +2 -0
  418. package/dist/ui/buttons/refresh.mjs.map +1 -0
  419. package/dist/ui/buttons/trash.cjs +1 -1
  420. package/dist/ui/buttons/trash.cjs.map +1 -1
  421. package/dist/ui/buttons/trash.d.mts +17 -0
  422. package/dist/ui/buttons/trash.mjs +2 -0
  423. package/dist/ui/buttons/trash.mjs.map +1 -0
  424. package/dist/ui/buttons/upload-image.cjs +1 -1
  425. package/dist/ui/buttons/upload-image.cjs.map +1 -1
  426. package/dist/ui/buttons/upload-image.d.mts +24 -0
  427. package/dist/ui/buttons/upload-image.mjs +2 -0
  428. package/dist/ui/buttons/upload-image.mjs.map +1 -0
  429. package/dist/ui/calendar.cjs +1 -2
  430. package/dist/ui/calendar.d.cts +4 -4
  431. package/dist/ui/calendar.d.mts +45 -0
  432. package/dist/ui/calendar.mjs +1 -0
  433. package/dist/ui/card.cjs +1 -1
  434. package/dist/ui/card.d.cts +8 -8
  435. package/dist/ui/card.d.mts +63 -0
  436. package/dist/ui/card.mjs +2 -0
  437. package/dist/ui/card.mjs.map +1 -0
  438. package/dist/ui/carousel.cjs +1 -1
  439. package/dist/ui/carousel.cjs.map +1 -1
  440. package/dist/ui/carousel.d.cts +7 -7
  441. package/dist/ui/carousel.d.mts +71 -0
  442. package/dist/ui/carousel.mjs +2 -0
  443. package/dist/ui/carousel.mjs.map +1 -0
  444. package/dist/ui/checkbox.cjs +1 -2
  445. package/dist/ui/checkbox.d.cts +2 -2
  446. package/dist/ui/checkbox.d.mts +26 -0
  447. package/dist/ui/checkbox.mjs +1 -0
  448. package/dist/ui/collapsible.cjs +1 -1
  449. package/dist/ui/collapsible.d.cts +4 -4
  450. package/dist/ui/collapsible.d.mts +34 -0
  451. package/dist/ui/collapsible.mjs +2 -0
  452. package/dist/ui/collapsible.mjs.map +1 -0
  453. package/dist/ui/command.cjs +1 -2
  454. package/dist/ui/command.d.cts +11 -11
  455. package/dist/ui/command.d.mts +89 -0
  456. package/dist/ui/command.mjs +1 -0
  457. package/dist/ui/context-menu.cjs +1 -1
  458. package/dist/ui/context-menu.d.cts +16 -16
  459. package/dist/ui/context-menu.d.mts +125 -0
  460. package/dist/ui/context-menu.mjs +2 -0
  461. package/dist/ui/context-menu.mjs.map +1 -0
  462. package/dist/ui/dialog.cjs +1 -2
  463. package/dist/ui/dialog.d.cts +2 -90
  464. package/dist/ui/dialog.d.mts +2 -0
  465. package/dist/ui/dialog.mjs +1 -0
  466. package/dist/ui/drawer.cjs +1 -2
  467. package/dist/ui/drawer.d.cts +11 -11
  468. package/dist/ui/drawer.d.mts +72 -0
  469. package/dist/ui/drawer.mjs +1 -0
  470. package/dist/ui/dropdown-menu.cjs +1 -2
  471. package/dist/ui/dropdown-menu.d.cts +16 -16
  472. package/dist/ui/dropdown-menu.d.mts +127 -0
  473. package/dist/ui/dropdown-menu.mjs +1 -0
  474. package/dist/ui/empty.cjs +1 -1
  475. package/dist/ui/empty.d.cts +9 -9
  476. package/dist/ui/empty.d.mts +68 -0
  477. package/dist/ui/empty.mjs +2 -0
  478. package/dist/ui/empty.mjs.map +1 -0
  479. package/dist/ui/field.cjs +1 -1
  480. package/dist/ui/field.d.cts +22 -22
  481. package/dist/ui/field.d.mts +65 -0
  482. package/dist/ui/field.mjs +1 -0
  483. package/dist/ui/file-uploader.cjs +2 -2
  484. package/dist/ui/file-uploader.cjs.map +1 -1
  485. package/dist/ui/file-uploader.d.cts +2 -2
  486. package/dist/ui/file-uploader.d.mts +103 -0
  487. package/dist/ui/file-uploader.mjs +3 -0
  488. package/dist/ui/file-uploader.mjs.map +1 -0
  489. package/dist/ui/form.cjs +1 -1
  490. package/dist/ui/form.cjs.map +1 -1
  491. package/dist/ui/form.d.cts +10 -10
  492. package/dist/ui/form.d.mts +112 -0
  493. package/dist/ui/form.mjs +2 -0
  494. package/dist/ui/form.mjs.map +1 -0
  495. package/dist/ui/hover-card.cjs +1 -1
  496. package/dist/ui/hover-card.d.cts +4 -4
  497. package/dist/ui/hover-card.d.mts +37 -0
  498. package/dist/ui/hover-card.mjs +2 -0
  499. package/dist/ui/hover-card.mjs.map +1 -0
  500. package/dist/ui/image.cjs +1 -2
  501. package/dist/ui/image.d.mts +36 -0
  502. package/dist/ui/image.mjs +1 -0
  503. package/dist/ui/input-otp.cjs +1 -1
  504. package/dist/ui/input-otp.d.cts +5 -5
  505. package/dist/ui/input-otp.d.mts +59 -0
  506. package/dist/ui/input-otp.mjs +2 -0
  507. package/dist/ui/input-otp.mjs.map +1 -0
  508. package/dist/ui/input.cjs +1 -2
  509. package/dist/ui/input.d.cts +2 -44
  510. package/dist/ui/input.d.mts +2 -0
  511. package/dist/ui/input.mjs +1 -0
  512. package/dist/ui/inputs/search-input.cjs +1 -1
  513. package/dist/ui/inputs/search-input.cjs.map +1 -1
  514. package/dist/ui/inputs/search-input.d.cts +3 -3
  515. package/dist/ui/inputs/search-input.d.mts +29 -0
  516. package/dist/ui/inputs/search-input.mjs +2 -0
  517. package/dist/ui/inputs/search-input.mjs.map +1 -0
  518. package/dist/ui/item.cjs +1 -1
  519. package/dist/ui/item.cjs.map +1 -1
  520. package/dist/ui/item.d.cts +15 -15
  521. package/dist/ui/item.d.mts +102 -0
  522. package/dist/ui/item.mjs +2 -0
  523. package/dist/ui/item.mjs.map +1 -0
  524. package/dist/ui/label.cjs +1 -2
  525. package/dist/ui/label.d.cts +2 -2
  526. package/dist/ui/label.d.mts +24 -0
  527. package/dist/ui/label.mjs +1 -0
  528. package/dist/ui/menubar.cjs +1 -1
  529. package/dist/ui/menubar.d.cts +17 -17
  530. package/dist/ui/menubar.d.mts +135 -0
  531. package/dist/ui/menubar.mjs +2 -0
  532. package/dist/ui/menubar.mjs.map +1 -0
  533. package/dist/ui/multi-select.cjs +1 -1
  534. package/dist/ui/multi-select.cjs.map +1 -1
  535. package/dist/ui/multi-select.d.cts +3 -3
  536. package/dist/ui/multi-select.d.mts +118 -0
  537. package/dist/ui/multi-select.mjs +2 -0
  538. package/dist/ui/multi-select.mjs.map +1 -0
  539. package/dist/ui/navigation-menu.cjs +1 -1
  540. package/dist/ui/navigation-menu.d.cts +11 -11
  541. package/dist/ui/navigation-menu.d.mts +77 -0
  542. package/dist/ui/navigation-menu.mjs +2 -0
  543. package/dist/ui/navigation-menu.mjs.map +1 -0
  544. package/dist/ui/pagination.cjs +1 -1
  545. package/dist/ui/pagination.d.cts +9 -9
  546. package/dist/ui/pagination.d.mts +67 -0
  547. package/dist/ui/pagination.mjs +2 -0
  548. package/dist/ui/pagination.mjs.map +1 -0
  549. package/dist/ui/popover.cjs +1 -2
  550. package/dist/ui/popover.d.cts +6 -6
  551. package/dist/ui/popover.d.mts +52 -0
  552. package/dist/ui/popover.mjs +1 -0
  553. package/dist/ui/progress.cjs +1 -2
  554. package/dist/ui/progress.d.cts +2 -2
  555. package/dist/ui/progress.d.mts +23 -0
  556. package/dist/ui/progress.mjs +1 -0
  557. package/dist/ui/radio-group.cjs +1 -2
  558. package/dist/ui/radio-group.d.cts +3 -3
  559. package/dist/ui/radio-group.d.mts +37 -0
  560. package/dist/ui/radio-group.mjs +1 -0
  561. package/dist/ui/resizable.cjs +1 -2
  562. package/dist/ui/resizable.d.cts +9 -9
  563. package/dist/ui/resizable.d.mts +63 -0
  564. package/dist/ui/resizable.mjs +1 -0
  565. package/dist/ui/scroll-area.cjs +1 -1
  566. package/dist/ui/scroll-area.d.cts +5 -5
  567. package/dist/ui/scroll-area.d.mts +37 -0
  568. package/dist/ui/scroll-area.mjs +2 -0
  569. package/dist/ui/scroll-area.mjs.map +1 -0
  570. package/dist/ui/select.cjs +1 -2
  571. package/dist/ui/select.d.cts +9 -9
  572. package/dist/ui/select.d.mts +77 -0
  573. package/dist/ui/select.mjs +1 -0
  574. package/dist/ui/separator.cjs +1 -2
  575. package/dist/ui/separator.d.cts +2 -2
  576. package/dist/ui/separator.d.mts +34 -0
  577. package/dist/ui/separator.mjs +1 -0
  578. package/dist/ui/sheet.cjs +1 -2
  579. package/dist/ui/sheet.d.cts +9 -9
  580. package/dist/ui/sheet.d.mts +69 -0
  581. package/dist/ui/sheet.mjs +1 -0
  582. package/dist/ui/skeleton.cjs +1 -1
  583. package/dist/ui/skeleton.d.cts +2 -2
  584. package/dist/ui/skeleton.d.mts +27 -0
  585. package/dist/ui/skeleton.mjs +1 -0
  586. package/dist/ui/slider.cjs +1 -1
  587. package/dist/ui/slider.d.cts +2 -2
  588. package/dist/ui/slider.d.mts +26 -0
  589. package/dist/ui/slider.mjs +2 -0
  590. package/dist/ui/slider.mjs.map +1 -0
  591. package/dist/ui/sonner.cjs +1 -1
  592. package/dist/ui/sonner.d.cts +2 -2
  593. package/dist/ui/sonner.d.mts +24 -0
  594. package/dist/ui/sonner.mjs +2 -0
  595. package/dist/ui/sonner.mjs.map +1 -0
  596. package/dist/ui/spinner.cjs +1 -2
  597. package/dist/ui/spinner.d.cts +2 -2
  598. package/dist/ui/spinner.d.mts +25 -0
  599. package/dist/ui/spinner.mjs +1 -0
  600. package/dist/ui/switch.cjs +1 -2
  601. package/dist/ui/switch.d.cts +2 -2
  602. package/dist/ui/switch.d.mts +26 -0
  603. package/dist/ui/switch.mjs +1 -0
  604. package/dist/ui/table.cjs +1 -1
  605. package/dist/ui/table.d.cts +17 -17
  606. package/dist/ui/table.d.mts +73 -0
  607. package/dist/ui/table.mjs +2 -0
  608. package/dist/ui/table.mjs.map +1 -0
  609. package/dist/ui/tabs.cjs +1 -1
  610. package/dist/ui/tabs.d.cts +5 -5
  611. package/dist/ui/tabs.d.mts +44 -0
  612. package/dist/ui/tabs.mjs +2 -0
  613. package/dist/ui/tabs.mjs.map +1 -0
  614. package/dist/ui/textarea.cjs +1 -2
  615. package/dist/ui/textarea.d.cts +2 -2
  616. package/dist/ui/textarea.d.mts +30 -0
  617. package/dist/ui/textarea.mjs +1 -0
  618. package/dist/ui/toggle-group.cjs +1 -1
  619. package/dist/ui/toggle-group.cjs.map +1 -1
  620. package/dist/ui/toggle-group.d.cts +4 -4
  621. package/dist/ui/toggle-group.d.mts +39 -0
  622. package/dist/ui/toggle-group.mjs +2 -0
  623. package/dist/ui/toggle-group.mjs.map +1 -0
  624. package/dist/ui/toggle.cjs +1 -1
  625. package/dist/ui/toggle.d.cts +4 -4
  626. package/dist/ui/toggle.d.mts +32 -0
  627. package/dist/ui/toggle.mjs +2 -0
  628. package/dist/ui/toggle.mjs.map +1 -0
  629. package/dist/ui/tooltip.cjs +1 -2
  630. package/dist/ui/tooltip.d.cts +5 -5
  631. package/dist/ui/tooltip.d.mts +55 -0
  632. package/dist/ui/tooltip.mjs +1 -0
  633. package/dist/user-DtZy4P9d.mjs +2 -0
  634. package/dist/user-DtZy4P9d.mjs.map +1 -0
  635. package/dist/user-ii4FBhO1.cjs +2 -0
  636. package/dist/user-ii4FBhO1.cjs.map +1 -0
  637. package/package.json +100 -100
  638. package/dist/alert-BVsYpWFX.d.cts +0 -88
  639. package/dist/alert-D5VmhFT9.js +0 -2
  640. package/dist/alert-D5VmhFT9.js.map +0 -1
  641. package/dist/alert-DXmXDeGs.d.ts +0 -88
  642. package/dist/alert-JwECRZfz.cjs +0 -2
  643. package/dist/alert-JwECRZfz.cjs.map +0 -1
  644. package/dist/button-BBfGvggN.d.ts +0 -174
  645. package/dist/button-BEjRVw6s.d.cts +0 -174
  646. package/dist/button.variants-BruXd4VM.js +0 -2
  647. package/dist/button.variants-BruXd4VM.js.map +0 -1
  648. package/dist/button.variants-DgVFNsVc.cjs +0 -2
  649. package/dist/button.variants-DgVFNsVc.cjs.map +0 -1
  650. package/dist/cards/grid-product-card.d.ts +0 -37
  651. package/dist/cards/grid-product-card.js +0 -2
  652. package/dist/cards/grid-product-card.js.map +0 -1
  653. package/dist/cards/product-card.d.ts +0 -37
  654. package/dist/cards/product-card.js +0 -2
  655. package/dist/cards/product-card.js.map +0 -1
  656. package/dist/cards/simple-card.d.ts +0 -35
  657. package/dist/cards/simple-card.js +0 -2
  658. package/dist/cards/simple-card.js.map +0 -1
  659. package/dist/chunk-Bmb41Sf3.cjs +0 -1
  660. package/dist/close-Dflkky9q.cjs +0 -2
  661. package/dist/close-Dflkky9q.cjs.map +0 -1
  662. package/dist/close-DrkwaVXK.js +0 -2
  663. package/dist/close-DrkwaVXK.js.map +0 -1
  664. package/dist/cms-layout-B8maJRLp.cjs +0 -2
  665. package/dist/cms-layout-B8maJRLp.cjs.map +0 -1
  666. package/dist/cms-layout-CLeGdpMb.js +0 -2
  667. package/dist/cms-layout-CLeGdpMb.js.map +0 -1
  668. package/dist/data-display/country.d.ts +0 -22
  669. package/dist/data-display/country.js +0 -2
  670. package/dist/data-display/country.js.map +0 -1
  671. package/dist/data-display/data-list.d.ts +0 -43
  672. package/dist/data-display/data-list.js +0 -2
  673. package/dist/data-display/data-list.js.map +0 -1
  674. package/dist/data-display/date-tooltip.d.ts +0 -19
  675. package/dist/data-display/date-tooltip.js +0 -2
  676. package/dist/data-display/date-tooltip.js.map +0 -1
  677. package/dist/data-display/date.cjs.map +0 -1
  678. package/dist/data-display/date.d.ts +0 -39
  679. package/dist/data-display/date.js +0 -2
  680. package/dist/data-display/date.js.map +0 -1
  681. package/dist/data-display/empty.d.ts +0 -21
  682. package/dist/data-display/empty.js +0 -2
  683. package/dist/data-display/empty.js.map +0 -1
  684. package/dist/data-display/name.d.ts +0 -19
  685. package/dist/data-display/name.js +0 -2
  686. package/dist/data-display/name.js.map +0 -1
  687. package/dist/data-display/phone-number.d.ts +0 -19
  688. package/dist/data-display/phone-number.js +0 -2
  689. package/dist/data-display/phone-number.js.map +0 -1
  690. package/dist/data-display/role-badge.d.ts +0 -22
  691. package/dist/data-display/role-badge.js +0 -2
  692. package/dist/data-display/role-badge.js.map +0 -1
  693. package/dist/data-display/statistic.cjs.map +0 -1
  694. package/dist/data-display/statistic.d.ts +0 -57
  695. package/dist/data-display/statistic.js +0 -2
  696. package/dist/data-display/statistic.js.map +0 -1
  697. package/dist/data-display/user.cjs.map +0 -1
  698. package/dist/data-display/user.d.ts +0 -23
  699. package/dist/data-display/user.js +0 -2
  700. package/dist/data-display/user.js.map +0 -1
  701. package/dist/dialogs/confirm-dialog.d.ts +0 -142
  702. package/dist/dialogs/confirm-dialog.js +0 -2
  703. package/dist/dialogs/confirm-dialog.js.map +0 -1
  704. package/dist/dialogs/detail-dialog/components/sidebar.d.ts +0 -209
  705. package/dist/dialogs/detail-dialog/components/sidebar.js +0 -1
  706. package/dist/dialogs/detail-dialog/index.d.ts +0 -45
  707. package/dist/dialogs/detail-dialog/index.js +0 -2
  708. package/dist/dialogs/detail-dialog/index.js.map +0 -1
  709. package/dist/dialogs/error-dialog.d.ts +0 -25
  710. package/dist/dialogs/error-dialog.js +0 -2
  711. package/dist/dialogs/error-dialog.js.map +0 -1
  712. package/dist/dialogs/loading-dialog.d.ts +0 -21
  713. package/dist/dialogs/loading-dialog.js +0 -2
  714. package/dist/dialogs/loading-dialog.js.map +0 -1
  715. package/dist/features/descriptions/index.d.ts +0 -246
  716. package/dist/features/descriptions/index.js +0 -2
  717. package/dist/features/descriptions/index.js.map +0 -1
  718. package/dist/features/search-modal/index.d.ts +0 -17
  719. package/dist/features/search-modal/index.js +0 -1
  720. package/dist/features/tables/index.d.ts +0 -2
  721. package/dist/features/tables/index.js +0 -1
  722. package/dist/features/tanstack-form/index.d.ts +0 -2
  723. package/dist/features/tanstack-form/index.js +0 -1
  724. package/dist/features/text-editor/index.d.ts +0 -2
  725. package/dist/features/text-editor/index.js +0 -1
  726. package/dist/field-0gaEKxov.cjs +0 -2
  727. package/dist/field-0gaEKxov.cjs.map +0 -1
  728. package/dist/field-DG-kX3HU.js +0 -2
  729. package/dist/field-DG-kX3HU.js.map +0 -1
  730. package/dist/flex-BAfCk_in.cjs +0 -2
  731. package/dist/flex-BAfCk_in.cjs.map +0 -1
  732. package/dist/flex-D_XtSjf4.js +0 -2
  733. package/dist/flex-D_XtSjf4.js.map +0 -1
  734. package/dist/heading-BX7ZVnVg.cjs +0 -2
  735. package/dist/heading-BX7ZVnVg.cjs.map +0 -1
  736. package/dist/heading-Bw3eo6IT.js +0 -2
  737. package/dist/heading-Bw3eo6IT.js.map +0 -1
  738. package/dist/index--eHW_BCk.d.ts +0 -85
  739. package/dist/index-C257sc-c.d.ts +0 -90
  740. package/dist/index-C4ZFmaZm.d.cts +0 -2348
  741. package/dist/index-DWEpRM8i.d.cts +0 -1093
  742. package/dist/index-DnQeeNHV.d.ts +0 -1093
  743. package/dist/index-_MFRCXuJ.d.cts +0 -85
  744. package/dist/index-rNI5ia8r.d.cts +0 -90
  745. package/dist/index-rZ2RtGJp.d.ts +0 -2348
  746. package/dist/index.d.ts +0 -93
  747. package/dist/index.js +0 -1
  748. package/dist/layouts/cms-layout/index.d.ts +0 -2
  749. package/dist/layouts/cms-layout/index.js +0 -1
  750. package/dist/layouts/flex.d.ts +0 -117
  751. package/dist/layouts/flex.js +0 -1
  752. package/dist/layouts/grid.d.ts +0 -19
  753. package/dist/layouts/grid.js +0 -2
  754. package/dist/layouts/grid.js.map +0 -1
  755. package/dist/layouts/payment-layout/index.d.ts +0 -74
  756. package/dist/layouts/payment-layout/index.js +0 -1
  757. package/dist/pages/FeatureDeveloping.d.ts +0 -43
  758. package/dist/pages/FeatureDeveloping.js +0 -2
  759. package/dist/pages/FeatureDeveloping.js.map +0 -1
  760. package/dist/pages/FeatureFixing.d.ts +0 -43
  761. package/dist/pages/FeatureFixing.js +0 -2
  762. package/dist/pages/FeatureFixing.js.map +0 -1
  763. package/dist/pages/LoginPage.d.ts +0 -55
  764. package/dist/pages/LoginPage.js +0 -2
  765. package/dist/pages/LoginPage.js.map +0 -1
  766. package/dist/pages/NotAuthorized.d.ts +0 -43
  767. package/dist/pages/NotAuthorized.js +0 -2
  768. package/dist/pages/NotAuthorized.js.map +0 -1
  769. package/dist/pages/NotFound.d.ts +0 -43
  770. package/dist/pages/NotFound.js +0 -2
  771. package/dist/pages/NotFound.js.map +0 -1
  772. package/dist/pages/RegisterPage.d.ts +0 -52
  773. package/dist/pages/RegisterPage.js +0 -2
  774. package/dist/pages/RegisterPage.js.map +0 -1
  775. package/dist/pages/VerifyEmailPage.d.ts +0 -64
  776. package/dist/pages/VerifyEmailPage.js +0 -2
  777. package/dist/pages/VerifyEmailPage.js.map +0 -1
  778. package/dist/paragraph-D0x3Jc6W.cjs +0 -2
  779. package/dist/paragraph-D0x3Jc6W.cjs.map +0 -1
  780. package/dist/paragraph-ESjXXqHU.js +0 -2
  781. package/dist/paragraph-ESjXXqHU.js.map +0 -1
  782. package/dist/payment-layout-CksJbGsl.js +0 -2
  783. package/dist/payment-layout-CksJbGsl.js.map +0 -1
  784. package/dist/payment-layout-O7TNw2Cr.cjs +0 -2
  785. package/dist/payment-layout-O7TNw2Cr.cjs.map +0 -1
  786. package/dist/search-modal-Db8Xp2L4.cjs +0 -2
  787. package/dist/search-modal-Db8Xp2L4.cjs.map +0 -1
  788. package/dist/search-modal-DdonKbwA.js +0 -2
  789. package/dist/search-modal-DdonKbwA.js.map +0 -1
  790. package/dist/sidebar-BCuXtop_.js +0 -2
  791. package/dist/sidebar-BCuXtop_.js.map +0 -1
  792. package/dist/sidebar-CQZlWCK4.cjs +0 -2
  793. package/dist/sidebar-CQZlWCK4.cjs.map +0 -1
  794. package/dist/skeleton-DAcbjBGp.js +0 -2
  795. package/dist/skeleton-DAcbjBGp.js.map +0 -1
  796. package/dist/skeleton-oQFT4xR2.cjs +0 -2
  797. package/dist/skeleton-oQFT4xR2.cjs.map +0 -1
  798. package/dist/systems/google.d.ts +0 -53
  799. package/dist/systems/google.js +0 -2
  800. package/dist/systems/google.js.map +0 -1
  801. package/dist/tables-DbwtCMRI.js +0 -4
  802. package/dist/tables-DbwtCMRI.js.map +0 -1
  803. package/dist/tables-DgZbLZQP.cjs +0 -4
  804. package/dist/tables-DgZbLZQP.cjs.map +0 -1
  805. package/dist/tanstack-form-C3SGhsmN.cjs +0 -2
  806. package/dist/tanstack-form-C3SGhsmN.cjs.map +0 -1
  807. package/dist/tanstack-form-Ds_Zjt20.js +0 -2
  808. package/dist/tanstack-form-Ds_Zjt20.js.map +0 -1
  809. package/dist/text-editor-DhTxCxvH.cjs +0 -2
  810. package/dist/text-editor-DhTxCxvH.cjs.map +0 -1
  811. package/dist/text-editor-DwisU9_U.js +0 -2
  812. package/dist/text-editor-DwisU9_U.js.map +0 -1
  813. package/dist/typography/paragraph.d.ts +0 -48
  814. package/dist/typography/paragraph.js +0 -1
  815. package/dist/typography/title.d.ts +0 -43
  816. package/dist/typography/title.js +0 -2
  817. package/dist/typography/title.js.map +0 -1
  818. package/dist/ui/alert-dialog.d.ts +0 -90
  819. package/dist/ui/alert-dialog.js +0 -2
  820. package/dist/ui/alert-dialog.js.map +0 -1
  821. package/dist/ui/alert.d.ts +0 -2
  822. package/dist/ui/alert.js +0 -1
  823. package/dist/ui/aspect-ratio.d.ts +0 -24
  824. package/dist/ui/aspect-ratio.js +0 -2
  825. package/dist/ui/aspect-ratio.js.map +0 -1
  826. package/dist/ui/avatar.cjs.map +0 -1
  827. package/dist/ui/avatar.d.ts +0 -35
  828. package/dist/ui/avatar.js +0 -2
  829. package/dist/ui/avatar.js.map +0 -1
  830. package/dist/ui/badge.cjs.map +0 -1
  831. package/dist/ui/badge.d.ts +0 -42
  832. package/dist/ui/badge.js +0 -2
  833. package/dist/ui/badge.js.map +0 -1
  834. package/dist/ui/breadcrumb.d.ts +0 -72
  835. package/dist/ui/breadcrumb.js +0 -2
  836. package/dist/ui/breadcrumb.js.map +0 -1
  837. package/dist/ui/button-group.d.ts +0 -50
  838. package/dist/ui/button-group.js +0 -2
  839. package/dist/ui/button-group.js.map +0 -1
  840. package/dist/ui/button.cjs.map +0 -1
  841. package/dist/ui/button.d.ts +0 -2
  842. package/dist/ui/button.js +0 -2
  843. package/dist/ui/button.js.map +0 -1
  844. package/dist/ui/buttons/add-new.d.ts +0 -17
  845. package/dist/ui/buttons/add-new.js +0 -2
  846. package/dist/ui/buttons/add-new.js.map +0 -1
  847. package/dist/ui/buttons/edit.d.ts +0 -17
  848. package/dist/ui/buttons/edit.js +0 -2
  849. package/dist/ui/buttons/edit.js.map +0 -1
  850. package/dist/ui/buttons/refresh.d.ts +0 -17
  851. package/dist/ui/buttons/refresh.js +0 -2
  852. package/dist/ui/buttons/refresh.js.map +0 -1
  853. package/dist/ui/buttons/trash.d.ts +0 -17
  854. package/dist/ui/buttons/trash.js +0 -2
  855. package/dist/ui/buttons/trash.js.map +0 -1
  856. package/dist/ui/buttons/upload-image.d.ts +0 -24
  857. package/dist/ui/buttons/upload-image.js +0 -2
  858. package/dist/ui/buttons/upload-image.js.map +0 -1
  859. package/dist/ui/calendar.cjs.map +0 -1
  860. package/dist/ui/calendar.d.ts +0 -45
  861. package/dist/ui/calendar.js +0 -2
  862. package/dist/ui/calendar.js.map +0 -1
  863. package/dist/ui/card.d.ts +0 -63
  864. package/dist/ui/card.js +0 -2
  865. package/dist/ui/card.js.map +0 -1
  866. package/dist/ui/carousel.d.ts +0 -71
  867. package/dist/ui/carousel.js +0 -2
  868. package/dist/ui/carousel.js.map +0 -1
  869. package/dist/ui/checkbox.cjs.map +0 -1
  870. package/dist/ui/checkbox.d.ts +0 -26
  871. package/dist/ui/checkbox.js +0 -2
  872. package/dist/ui/checkbox.js.map +0 -1
  873. package/dist/ui/collapsible.d.ts +0 -34
  874. package/dist/ui/collapsible.js +0 -2
  875. package/dist/ui/collapsible.js.map +0 -1
  876. package/dist/ui/command.cjs.map +0 -1
  877. package/dist/ui/command.d.ts +0 -89
  878. package/dist/ui/command.js +0 -2
  879. package/dist/ui/command.js.map +0 -1
  880. package/dist/ui/context-menu.d.ts +0 -125
  881. package/dist/ui/context-menu.js +0 -2
  882. package/dist/ui/context-menu.js.map +0 -1
  883. package/dist/ui/dialog.cjs.map +0 -1
  884. package/dist/ui/dialog.d.ts +0 -90
  885. package/dist/ui/dialog.js +0 -2
  886. package/dist/ui/dialog.js.map +0 -1
  887. package/dist/ui/drawer.cjs.map +0 -1
  888. package/dist/ui/drawer.d.ts +0 -72
  889. package/dist/ui/drawer.js +0 -2
  890. package/dist/ui/drawer.js.map +0 -1
  891. package/dist/ui/dropdown-menu.cjs.map +0 -1
  892. package/dist/ui/dropdown-menu.d.ts +0 -127
  893. package/dist/ui/dropdown-menu.js +0 -2
  894. package/dist/ui/dropdown-menu.js.map +0 -1
  895. package/dist/ui/empty.d.ts +0 -68
  896. package/dist/ui/empty.js +0 -2
  897. package/dist/ui/empty.js.map +0 -1
  898. package/dist/ui/field.d.ts +0 -65
  899. package/dist/ui/field.js +0 -1
  900. package/dist/ui/file-uploader.d.ts +0 -103
  901. package/dist/ui/file-uploader.js +0 -3
  902. package/dist/ui/file-uploader.js.map +0 -1
  903. package/dist/ui/form.d.ts +0 -112
  904. package/dist/ui/form.js +0 -2
  905. package/dist/ui/form.js.map +0 -1
  906. package/dist/ui/hover-card.d.ts +0 -37
  907. package/dist/ui/hover-card.js +0 -2
  908. package/dist/ui/hover-card.js.map +0 -1
  909. package/dist/ui/image.cjs.map +0 -1
  910. package/dist/ui/image.d.ts +0 -36
  911. package/dist/ui/image.js +0 -2
  912. package/dist/ui/image.js.map +0 -1
  913. package/dist/ui/input-otp.d.ts +0 -59
  914. package/dist/ui/input-otp.js +0 -2
  915. package/dist/ui/input-otp.js.map +0 -1
  916. package/dist/ui/input.cjs.map +0 -1
  917. package/dist/ui/input.d.ts +0 -44
  918. package/dist/ui/input.js +0 -2
  919. package/dist/ui/input.js.map +0 -1
  920. package/dist/ui/inputs/search-input.d.ts +0 -29
  921. package/dist/ui/inputs/search-input.js +0 -2
  922. package/dist/ui/inputs/search-input.js.map +0 -1
  923. package/dist/ui/item.d.ts +0 -102
  924. package/dist/ui/item.js +0 -2
  925. package/dist/ui/item.js.map +0 -1
  926. package/dist/ui/label.cjs.map +0 -1
  927. package/dist/ui/label.d.ts +0 -24
  928. package/dist/ui/label.js +0 -2
  929. package/dist/ui/label.js.map +0 -1
  930. package/dist/ui/menubar.d.ts +0 -135
  931. package/dist/ui/menubar.js +0 -2
  932. package/dist/ui/menubar.js.map +0 -1
  933. package/dist/ui/multi-select.d.ts +0 -117
  934. package/dist/ui/multi-select.js +0 -2
  935. package/dist/ui/multi-select.js.map +0 -1
  936. package/dist/ui/navigation-menu.d.ts +0 -77
  937. package/dist/ui/navigation-menu.js +0 -2
  938. package/dist/ui/navigation-menu.js.map +0 -1
  939. package/dist/ui/pagination.d.ts +0 -67
  940. package/dist/ui/pagination.js +0 -2
  941. package/dist/ui/pagination.js.map +0 -1
  942. package/dist/ui/popover.cjs.map +0 -1
  943. package/dist/ui/popover.d.ts +0 -52
  944. package/dist/ui/popover.js +0 -2
  945. package/dist/ui/popover.js.map +0 -1
  946. package/dist/ui/progress.cjs.map +0 -1
  947. package/dist/ui/progress.d.ts +0 -23
  948. package/dist/ui/progress.js +0 -2
  949. package/dist/ui/progress.js.map +0 -1
  950. package/dist/ui/radio-group.cjs.map +0 -1
  951. package/dist/ui/radio-group.d.ts +0 -37
  952. package/dist/ui/radio-group.js +0 -2
  953. package/dist/ui/radio-group.js.map +0 -1
  954. package/dist/ui/resizable.cjs.map +0 -1
  955. package/dist/ui/resizable.d.ts +0 -63
  956. package/dist/ui/resizable.js +0 -2
  957. package/dist/ui/resizable.js.map +0 -1
  958. package/dist/ui/scroll-area.d.ts +0 -37
  959. package/dist/ui/scroll-area.js +0 -2
  960. package/dist/ui/scroll-area.js.map +0 -1
  961. package/dist/ui/select.cjs.map +0 -1
  962. package/dist/ui/select.d.ts +0 -77
  963. package/dist/ui/select.js +0 -2
  964. package/dist/ui/select.js.map +0 -1
  965. package/dist/ui/separator.cjs.map +0 -1
  966. package/dist/ui/separator.d.ts +0 -34
  967. package/dist/ui/separator.js +0 -2
  968. package/dist/ui/separator.js.map +0 -1
  969. package/dist/ui/sheet.cjs.map +0 -1
  970. package/dist/ui/sheet.d.ts +0 -69
  971. package/dist/ui/sheet.js +0 -2
  972. package/dist/ui/sheet.js.map +0 -1
  973. package/dist/ui/skeleton.d.ts +0 -27
  974. package/dist/ui/skeleton.js +0 -1
  975. package/dist/ui/slider.d.ts +0 -26
  976. package/dist/ui/slider.js +0 -2
  977. package/dist/ui/slider.js.map +0 -1
  978. package/dist/ui/sonner.d.ts +0 -24
  979. package/dist/ui/sonner.js +0 -2
  980. package/dist/ui/sonner.js.map +0 -1
  981. package/dist/ui/spinner.cjs.map +0 -1
  982. package/dist/ui/spinner.d.ts +0 -25
  983. package/dist/ui/spinner.js +0 -2
  984. package/dist/ui/spinner.js.map +0 -1
  985. package/dist/ui/switch.cjs.map +0 -1
  986. package/dist/ui/switch.d.ts +0 -26
  987. package/dist/ui/switch.js +0 -2
  988. package/dist/ui/switch.js.map +0 -1
  989. package/dist/ui/table.d.ts +0 -73
  990. package/dist/ui/table.js +0 -2
  991. package/dist/ui/table.js.map +0 -1
  992. package/dist/ui/tabs.d.ts +0 -44
  993. package/dist/ui/tabs.js +0 -2
  994. package/dist/ui/tabs.js.map +0 -1
  995. package/dist/ui/textarea.cjs.map +0 -1
  996. package/dist/ui/textarea.d.ts +0 -30
  997. package/dist/ui/textarea.js +0 -2
  998. package/dist/ui/textarea.js.map +0 -1
  999. package/dist/ui/toggle-group.d.ts +0 -39
  1000. package/dist/ui/toggle-group.js +0 -2
  1001. package/dist/ui/toggle-group.js.map +0 -1
  1002. package/dist/ui/toggle.d.ts +0 -32
  1003. package/dist/ui/toggle.js +0 -2
  1004. package/dist/ui/toggle.js.map +0 -1
  1005. package/dist/ui/tooltip.cjs.map +0 -1
  1006. package/dist/ui/tooltip.d.ts +0 -55
  1007. package/dist/ui/tooltip.js +0 -2
  1008. package/dist/ui/tooltip.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-fY3sUcLp.mjs","names":["DateDisplay: React.FC<DateDisplayProps>"],"sources":["../packages/constants.tsx","../packages/components/data-display/date.tsx"],"sourcesContent":["// Vietnamese locale configuration\nexport const vietnameseLocale = {\n weekdays: ['Chủ Nhật', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy'],\n weekdaysShort: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'],\n months: ['Tháng 01', 'Tháng 02', 'Tháng 03', 'Tháng 04', 'Tháng 05', 'Tháng 06', 'Tháng 07', 'Tháng 08', 'Tháng 09', 'Tháng 10', 'Tháng 11', 'Tháng 12'],\n monthsShort: ['T1', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7', 'T8', 'T9', 'T10', 'T11', 'T12'],\n};\n\n// Vietnamese holidays\nexport const vietnameseHolidays = {\n '01-01': 'Tết Dương lịch',\n '03-08': 'Quốc tế Phụ nữ',\n '04-30': 'Ngày Giải phóng miền Nam',\n '05-01': 'Quốc tế Lao động',\n '09-02': 'Quốc khánh',\n '10-20': 'Ngày Phụ nữ Việt Nam',\n '11-20': 'Ngày Nhà giáo Việt Nam',\n};\n\n// Time Constants in milliseconds, seconds, and minutes\nexport const TIME_IN_MS = Object.freeze({\n SECOND: 1000,\n MINUTE: 60 * 1000,\n HOUR: 60 * 60 * 1000,\n DAY: 24 * 60 * 60 * 1000,\n WEEK: 7 * 24 * 60 * 60 * 1000,\n MONTH: 30 * 24 * 60 * 60 * 1000, // Approximation for month length = 30 days\n YEAR: 365 * 24 * 60 * 60 * 1000,\n});\n\nexport const TIME_IN_SECONDS = Object.freeze({\n MINUTE: 60,\n HOUR: 60 * 60,\n DAY: 24 * 60 * 60,\n WEEK: 7 * 24 * 60 * 60,\n MONTH: 30 * 24 * 60 * 60,\n YEAR: 365 * 24 * 60 * 60,\n});\n\nexport const TIME_IN_MINUTES = Object.freeze({\n HOUR: 60,\n DAY: 24 * 60,\n WEEK: 7 * 24 * 60,\n MONTH: 30 * 24 * 60,\n});\n","'use client';\n\nimport { useCallback, useMemo } from 'react';\n\nimport { format, isThisMonth, isThisWeek, isThisYear, isToday, isTomorrow, isValid, isYesterday, parseISO } from '@customafk/react-toolkit/date-fns';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { TIME_IN_SECONDS, vietnameseHolidays, vietnameseLocale } from '@/constants';\n\ninterface DateDisplayProps {\n /** The date value to display; accepts a `Date` object, an ISO string, or a Unix timestamp (ms). */\n date: Date | string | number;\n /**\n * Controls how the date is formatted.\n * - `'short'` — `15/03/24`\n * - `'medium'` — `15/03/2024` (default)\n * - `'long'` — `15 tháng 3, 2024`\n * - `'full'` — `Thứ Sáu, ngày 15 tháng 3 năm 2024`\n * - `'relative'` — `2 giờ trước`\n * - `'datetime'` — `15/03/2024 14:30`\n * - `'time'` — `14:30`\n * - `'smart'` — auto-selects the most human-readable format based on recency\n */\n format?:\n | 'short' // 15/03/24\n | 'medium' // 15/03/2024\n | 'long' // 15 tháng 3, 2024\n | 'full' // Thứ Sáu, ngày 15 tháng 3 năm 2024\n | 'relative' // 2 giờ trước\n | 'datetime' // 15/03/2024 14:30\n | 'time' // 14:30\n | 'smart'; // auto-selects format based on recency\n /** When `true`, appends any recognised Vietnamese public holiday name to the formatted date. Defaults to `false`. */\n showHoliday?: boolean;\n /** When `true`, appends the time component to the formatted output. Defaults to `false`. */\n showTime?: boolean;\n /** Additional CSS classes applied to the `<time>` element. */\n className?: string;\n /** Custom HTML `title` attribute; defaults to the full ISO datetime string. */\n title?: string;\n}\n\n/**\n * Renders a formatted date using Vietnamese locale conventions inside a semantic `<time>` element.\n *\n * @example\n * ```tsx\n * import { DateDisplay } from '@customafk/lunas-ui/data-display/date';\n *\n * <DateDisplay date=\"2024-03-15T14:30:00Z\" format=\"medium\" showTime />\n * ```\n */\nexport const DateDisplay: React.FC<DateDisplayProps> = ({\n date,\n format: formatType = 'medium',\n showHoliday = false,\n showTime = false,\n className = '',\n title,\n}) => {\n const parsedDate = useMemo(() => {\n try {\n if (date instanceof Date) return isValid(date) ? date : null;\n if (typeof date === 'string') {\n const parsed = parseISO(date);\n return isValid(parsed) ? parsed : new Date(date);\n }\n if (typeof date === 'number') {\n const parsed = new Date(date);\n return isValid(parsed) ? parsed : null;\n }\n return null;\n } catch {\n return null;\n }\n }, [date]);\n\n const formatRelativeTime = useCallback((d: Date): string => {\n const diffInSeconds = Math.floor((Date.now() - d.getTime()) / 1000);\n if (diffInSeconds < 60) return 'Vừa xong';\n if (diffInSeconds < 3600) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.MINUTE)} phút trước`;\n if (diffInSeconds < 86400) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.HOUR)} giờ trước`;\n if (diffInSeconds < 604800) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.DAY)} ngày trước`;\n if (diffInSeconds < 2592000) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.WEEK)} tuần trước`;\n if (diffInSeconds < 31536000) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.MONTH)} tháng trước`;\n return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.YEAR)} năm trước`;\n }, []);\n\n const getVietnameseWeekday = useCallback((d: Date, short = false): string => {\n return short ? vietnameseLocale.weekdaysShort[d.getDay()] : vietnameseLocale.weekdays[d.getDay()];\n }, []);\n\n const getVietnameseMonth = useCallback((d: Date, short = false): string => {\n return short ? vietnameseLocale.monthsShort[d.getMonth()] : vietnameseLocale.months[d.getMonth()];\n }, []);\n\n const getHoliday = useCallback((d: Date): string | null => {\n const monthDay = format(d, 'MM-dd') as keyof typeof vietnameseHolidays;\n return vietnameseHolidays[monthDay] || null;\n }, []);\n\n const getSmartFormat = useCallback(\n (d: Date): string => {\n if (isToday(d)) return showTime ? `Hôm nay ${format(d, 'HH:mm')}` : 'Hôm nay';\n if (isYesterday(d)) return showTime ? `Hôm qua ${format(d, 'HH:mm')}` : 'Hôm qua';\n if (isTomorrow(d)) return showTime ? `Ngày mai ${format(d, 'HH:mm')}` : 'Ngày mai';\n if (isThisWeek(d)) {\n const weekday = getVietnameseWeekday(d);\n return showTime ? `${weekday} ${format(d, 'HH:mm')}` : weekday;\n }\n if (isThisMonth(d)) {\n const day = format(d, 'd');\n return showTime ? `${day}/${format(d, 'M')} ${format(d, 'HH:mm')}` : `${day}/${format(d, 'M')}`;\n }\n if (isThisYear(d)) return showTime ? format(d, 'd/M HH:mm') : format(d, 'd/M');\n return showTime ? format(d, 'd/M/yyyy HH:mm') : format(d, 'd/M/yyyy');\n },\n [getVietnameseWeekday, showTime]\n );\n\n const formatDate = useCallback(\n (d: Date, type: string): string => {\n const timeStr = showTime ? format(d, ', HH:mm:ss') : '';\n switch (type) {\n case 'short':\n return format(d, 'd/M/yy') + timeStr;\n case 'medium':\n return format(d, 'dd/MM/yyyy') + timeStr;\n case 'long':\n return `${format(d, 'd')} ${getVietnameseMonth(d)} ${format(d, 'yyyy')}` + timeStr;\n case 'full':\n return `${getVietnameseWeekday(d)}, ngày ${format(d, 'd')} ${getVietnameseMonth(d)} năm ${format(d, 'yyyy')}` + timeStr;\n case 'relative':\n return formatRelativeTime(d);\n case 'datetime':\n return format(d, 'd/M/yyyy HH:mm');\n case 'time':\n return format(d, 'HH:mm');\n case 'smart':\n return getSmartFormat(d);\n default:\n return format(d, 'd/M/yyyy') + timeStr;\n }\n },\n [getSmartFormat, getVietnameseMonth, getVietnameseWeekday, formatRelativeTime, showTime]\n );\n\n if (!parsedDate) {\n return <span className={cn('text-sm text-text-positive-subtle', className)}>--/--/----</span>;\n }\n\n const formattedDate = formatDate(parsedDate, formatType);\n const holiday = showHoliday ? getHoliday(parsedDate) : null;\n const displayText = holiday ? `${formattedDate} (${holiday})` : formattedDate;\n const tooltipTitle = title || format(parsedDate, 'EEEE, d MMMM yyyy HH:mm:ss');\n\n return (\n <time\n data-slot=\"date-display\"\n dateTime={parsedDate.toISOString()}\n className={cn('tabular-nums text-xs text-text-positive-weak transition-colors', className)}\n title={tooltipTitle}\n >\n {displayText}\n </time>\n );\n};\n"],"mappings":"kUACA,MAAa,EAAmB,CAC9B,SAAU,CAAC,WAAY,UAAW,SAAU,SAAU,UAAW,UAAW,UAAU,CACtF,cAAe,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAK,CACzD,OAAQ,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAW,CACxJ,YAAa,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAM,CACzF,CAGY,EAAqB,CAChC,QAAS,iBACT,QAAS,iBACT,QAAS,2BACT,QAAS,mBACT,QAAS,aACT,QAAS,uBACT,QAAS,yBACV,CAGyB,OAAO,OAAO,CACtC,OAAQ,IACR,OAAQ,GAAK,IACb,KAAM,KAAU,IAChB,IAAK,KAAU,GAAK,IACpB,KAAM,MAAc,GAAK,IACzB,MAAO,IAAU,GAAK,GAAK,IAC3B,KAAM,IAAM,GAAK,GAAK,GAAK,IAC5B,CAAC,CAEF,MAAa,EAAkB,OAAO,OAAO,CAC3C,OAAQ,GACR,KAAM,KACN,IAAK,KAAU,GACf,KAAM,MAAc,GACpB,MAAO,IAAU,GAAK,GACtB,KAAM,IAAM,GAAK,GAAK,GACvB,CAAC,CAE6B,OAAO,OAAO,CAC3C,KAAM,GACN,IAAK,KACL,KAAM,MACN,MAAO,IAAU,GAClB,CAAC,CCQF,MAAaA,GAA2C,CACtD,OACA,OAAQ,EAAa,SACrB,cAAc,GACd,WAAW,GACX,YAAY,GACZ,WACI,CACJ,IAAM,EAAa,MAAc,CAC/B,GAAI,CACF,GAAI,aAAgB,KAAM,OAAO,EAAQ,EAAK,CAAG,EAAO,KACxD,GAAI,OAAO,GAAS,SAAU,CAC5B,IAAM,EAAS,EAAS,EAAK,CAC7B,OAAO,EAAQ,EAAO,CAAG,EAAS,IAAI,KAAK,EAAK,CAElD,GAAI,OAAO,GAAS,SAAU,CAC5B,IAAM,EAAS,IAAI,KAAK,EAAK,CAC7B,OAAO,EAAQ,EAAO,CAAG,EAAS,KAEpC,OAAO,UACD,CACN,OAAO,OAER,CAAC,EAAK,CAAC,CAEJ,EAAqB,EAAa,GAAoB,CAC1D,IAAM,EAAgB,KAAK,OAAO,KAAK,KAAK,CAAG,EAAE,SAAS,EAAI,IAAK,CAOnE,OANI,EAAgB,GAAW,WAC3B,EAAgB,KAAa,GAAG,KAAK,MAAM,EAAgB,EAAgB,OAAO,CAAC,aACnF,EAAgB,MAAc,GAAG,KAAK,MAAM,EAAgB,EAAgB,KAAK,CAAC,YAClF,EAAgB,OAAe,GAAG,KAAK,MAAM,EAAgB,EAAgB,IAAI,CAAC,aAClF,EAAgB,OAAgB,GAAG,KAAK,MAAM,EAAgB,EAAgB,KAAK,CAAC,aACpF,EAAgB,QAAiB,GAAG,KAAK,MAAM,EAAgB,EAAgB,MAAM,CAAC,cACnF,GAAG,KAAK,MAAM,EAAgB,EAAgB,KAAK,CAAC,aAC1D,EAAE,CAAC,CAEA,EAAuB,GAAa,EAAS,EAAQ,KAClD,EAAQ,EAAiB,cAAc,EAAE,QAAQ,EAAI,EAAiB,SAAS,EAAE,QAAQ,EAC/F,EAAE,CAAC,CAEA,EAAqB,GAAa,EAAS,EAAQ,KAChD,EAAQ,EAAiB,YAAY,EAAE,UAAU,EAAI,EAAiB,OAAO,EAAE,UAAU,EAC/F,EAAE,CAAC,CAEA,EAAa,EAAa,GAEvB,EADU,EAAO,EAAG,QAAQ,GACI,KACtC,EAAE,CAAC,CAEA,EAAiB,EACpB,GAAoB,CACnB,GAAI,EAAQ,EAAE,CAAE,OAAO,EAAW,WAAW,EAAO,EAAG,QAAQ,GAAK,UACpE,GAAI,EAAY,EAAE,CAAE,OAAO,EAAW,WAAW,EAAO,EAAG,QAAQ,GAAK,UACxE,GAAI,EAAW,EAAE,CAAE,OAAO,EAAW,YAAY,EAAO,EAAG,QAAQ,GAAK,WACxE,GAAI,EAAW,EAAE,CAAE,CACjB,IAAM,EAAU,EAAqB,EAAE,CACvC,OAAO,EAAW,GAAG,EAAQ,GAAG,EAAO,EAAG,QAAQ,GAAK,EAEzD,GAAI,EAAY,EAAE,CAAE,CAClB,IAAM,EAAM,EAAO,EAAG,IAAI,CAC1B,OAAO,EAAW,GAAG,EAAI,GAAG,EAAO,EAAG,IAAI,CAAC,GAAG,EAAO,EAAG,QAAQ,GAAK,GAAG,EAAI,GAAG,EAAO,EAAG,IAAI,GAG/F,OADI,EAAW,EAAE,CAAS,EAAW,EAAO,EAAG,YAAY,CAAG,EAAO,EAAG,MAAM,CACvE,EAAW,EAAO,EAAG,iBAAiB,CAAG,EAAO,EAAG,WAAW,EAEvE,CAAC,EAAsB,EAAS,CACjC,CAEK,EAAa,GAChB,EAAS,IAAyB,CACjC,IAAM,EAAU,EAAW,EAAO,EAAG,aAAa,CAAG,GACrD,OAAQ,EAAR,CACE,IAAK,QACH,OAAO,EAAO,EAAG,SAAS,CAAG,EAC/B,IAAK,SACH,OAAO,EAAO,EAAG,aAAa,CAAG,EACnC,IAAK,OACH,MAAO,GAAG,EAAO,EAAG,IAAI,CAAC,GAAG,EAAmB,EAAE,CAAC,GAAG,EAAO,EAAG,OAAO,GAAK,EAC7E,IAAK,OACH,MAAO,GAAG,EAAqB,EAAE,CAAC,SAAS,EAAO,EAAG,IAAI,CAAC,GAAG,EAAmB,EAAE,CAAC,OAAO,EAAO,EAAG,OAAO,GAAK,EAClH,IAAK,WACH,OAAO,EAAmB,EAAE,CAC9B,IAAK,WACH,OAAO,EAAO,EAAG,iBAAiB,CACpC,IAAK,OACH,OAAO,EAAO,EAAG,QAAQ,CAC3B,IAAK,QACH,OAAO,EAAe,EAAE,CAC1B,QACE,OAAO,EAAO,EAAG,WAAW,CAAG,IAGrC,CAAC,EAAgB,EAAoB,EAAsB,EAAoB,EAAS,CACzF,CAED,GAAI,CAAC,EACH,OAAO,EAAC,OAAA,CAAK,UAAW,EAAG,oCAAqC,EAAU,UAAE,cAAiB,CAG/F,IAAM,EAAgB,EAAW,EAAY,EAAW,CAClD,EAAU,EAAc,EAAW,EAAW,CAAG,KACjD,EAAc,EAAU,GAAG,EAAc,IAAI,EAAQ,GAAK,EAC1D,EAAe,GAAS,EAAO,EAAY,6BAA6B,CAE9E,OACE,EAAC,OAAA,CACC,YAAU,eACV,SAAU,EAAW,aAAa,CAClC,UAAW,EAAG,iEAAkE,EAAU,CAC1F,MAAO,WAEN,GACI"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-350yNsax.cjs`),t=require(`./heading-tGTqk3pA.cjs`),n=require(`./paragraph-DvTZvbzw.cjs`),r=require(`./close-Dlo1bI8x.cjs`);let i=require(`@customafk/react-toolkit/utils`),a=require(`react/jsx-runtime`),o=require(`radix-ui`);function s({...e}){return(0,a.jsx)(o.Dialog.Root,{"data-slot":`dialog`,...e})}function c({...e}){return(0,a.jsx)(o.Dialog.Trigger,{"data-slot":`dialog-trigger`,...e})}function l({...e}){return(0,a.jsx)(o.Dialog.Portal,{"data-slot":`dialog-portal`,...e})}function u({...e}){return(0,a.jsx)(o.Dialog.Close,{"data-slot":`dialog-close`,...e})}function d({className:e,...t}){return(0,a.jsx)(o.Dialog.Overlay,{"data-slot":`dialog-overlay`,className:(0,i.cn)(`fixed inset-0 z-50 bg-black/50`,`data-[state=open]:fade-in-0 data-[state=open]:animate-in`,`data-[state=closed]:fade-out-0 data-[state=closed]:animate-out`,e),...t})}function f({className:e,children:t,showCloseButton:n=!0,...s}){return(0,a.jsxs)(l,{children:[(0,a.jsx)(d,{}),(0,a.jsxs)(o.Dialog.Content,{"data-slot":`dialog-content`,className:(0,i.cn)(`fixed top-1/2 left-1/2 z-50 -translate-x-1/2 -translate-y-1/2`,`grid w-full max-w-[calc(100%-2rem)] bg-background`,`max-h-[85dvh] gap-4 rounded-2xl p-6 shadow-dialog outline-none duration-400`,`sm:max-w-lg`,`data-[state=open]:fade-in-0 data-[state=open]:zoom-in-80 data-[state=open]:animate-in`,`data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-80 data-[state=closed]:animate-out`,e),onOpenAutoFocus:e=>{e.preventDefault()},...s,children:[t,n&&(0,a.jsx)(o.Dialog.Close,{"data-slot":`dialog-close`,tabIndex:-1,asChild:!0,className:`absolute top-3 right-3`,children:(0,a.jsx)(r.t,{})})]})]})}function p({className:e,...t}){return(0,a.jsx)(`div`,{"data-slot":`dialog-header`,className:(0,i.cn)(`flex flex-col gap-2 text-center sm:text-left`,e),...t})}function m({className:e,...t}){return(0,a.jsx)(`div`,{"data-slot":`dialog-footer`,className:(0,i.cn)(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...t})}function h({className:e,...n}){return(0,a.jsx)(o.Dialog.Title,{"data-slot":`dialog-title`,className:(0,i.cn)(t.t({level:`h3`}),e),...n})}function g({className:e,...t}){return(0,a.jsx)(o.Dialog.Description,{"data-slot":`dialog-description`,className:(0,i.cn)(n.n({variant:`muted`}),e),...t})}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return c}});
2
+ //# sourceMappingURL=dialog-BigPrWIj.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog-BigPrWIj.cjs","names":["DialogPrimitive","CloseButton","headingVariants","paragraphVariants"],"sources":["../packages/components/ui/dialog.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport { headingVariants } from '../typography/heading';\nimport { paragraphVariants } from '../typography/paragraph';\nimport { CloseButton } from './buttons/close';\n\n/**\n * Accessible modal dialog built on Radix UI's Dialog primitives with animated overlay, close button, and responsive sizing.\n *\n * @example\n * ```tsx\n * import {\n * Dialog, DialogTrigger, DialogContent,\n * DialogHeader, DialogTitle, DialogDescription, DialogFooter,\n * } from '@customafk/lunas-ui/ui/dialog';\n * import { Button } from '@customafk/lunas-ui/ui/button';\n *\n * <Dialog>\n * <DialogTrigger asChild>\n * <Button>Open dialog</Button>\n * </DialogTrigger>\n * <DialogContent>\n * <DialogHeader>\n * <DialogTitle>Confirm action</DialogTitle>\n * <DialogDescription>This cannot be undone.</DialogDescription>\n * </DialogHeader>\n * <DialogFooter>\n * <Button variant=\"outline\">Cancel</Button>\n * <Button>Confirm</Button>\n * </DialogFooter>\n * </DialogContent>\n * </Dialog>\n * ```\n */\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\n/** Element that opens the dialog when clicked; typically wrapped with `asChild` around a `Button`. */\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\n/** Renders dialog overlay and content into a portal outside the normal React tree. */\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\n/** Button that closes the dialog; can be composed with `asChild` to use a custom element. */\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\n/** Semi-transparent backdrop rendered behind the dialog panel with fade-in/out animation. */\nfunction DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'fixed inset-0 z-50 bg-black/50',\n 'data-[state=open]:fade-in-0 data-[state=open]:animate-in',\n 'data-[state=closed]:fade-out-0 data-[state=closed]:animate-out',\n className\n )}\n {...props}\n />\n );\n}\n\n/**\n * Animated dialog panel centred on screen; includes `DialogOverlay` and an optional close button.\n *\n * @param showCloseButton - When `true` (default), renders a `CloseButton` in the top-right corner.\n */\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n /** When `true` (default), renders an `×` close button fixed to the top-right corner of the panel. */\n showCloseButton?: boolean;\n}) {\n return (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'fixed top-1/2 left-1/2 z-50 -translate-x-1/2 -translate-y-1/2',\n 'grid w-full max-w-[calc(100%-2rem)] bg-background',\n 'max-h-[85dvh] gap-4 rounded-2xl p-6 shadow-dialog outline-none duration-400',\n 'sm:max-w-lg',\n 'data-[state=open]:fade-in-0 data-[state=open]:zoom-in-80 data-[state=open]:animate-in',\n 'data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-80 data-[state=closed]:animate-out',\n className\n )}\n onOpenAutoFocus={event => {\n // Prevents focus from shifting to the content when the dialog opens, which can cause layout shift if the content includes autofocusable elements.\n event.preventDefault();\n }}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close data-slot=\"dialog-close\" tabIndex={-1} asChild className=\"absolute top-3 right-3\">\n <CloseButton />\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\n/** Layout wrapper for the dialog title and description, stacked vertically with left alignment on wider screens. */\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"dialog-header\" className={cn('flex flex-col gap-2 text-center sm:text-left', className)} {...props} />;\n}\n\n/** Layout wrapper for dialog action buttons, stacked on mobile and right-aligned in a row on wider screens. */\nfunction DialogFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"dialog-footer\" className={cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', className)} {...props} />;\n}\n\n/** Accessible heading for the dialog panel, styled with the h3 heading variant and announced by screen readers. */\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return <DialogPrimitive.Title data-slot=\"dialog-title\" className={cn(headingVariants({ level: 'h3' }), className)} {...props} />;\n}\n\n/** Muted supporting text that describes the dialog's purpose; read by screen readers alongside the title. */\nfunction DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return <DialogPrimitive.Description data-slot=\"dialog-description\" className={cn(paragraphVariants({ variant: 'muted' }), className)} {...props} />;\n}\n\nexport { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };\n"],"mappings":"yPAqCA,SAAS,EAAO,CAAE,GAAG,GAA4D,CAC/E,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,KAAA,CAAK,YAAU,SAAS,GAAI,GAAS,CAI/D,SAAS,EAAc,CAAE,GAAG,GAA+D,CACzF,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,QAAA,CAAQ,YAAU,iBAAiB,GAAI,GAAS,CAI1E,SAAS,EAAa,CAAE,GAAG,GAA8D,CACvF,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,OAAA,CAAO,YAAU,gBAAgB,GAAI,GAAS,CAIxE,SAAS,EAAY,CAAE,GAAG,GAA6D,CACrF,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,MAAA,CAAM,YAAU,eAAe,GAAI,GAAS,CAItE,SAAS,EAAc,CAAE,YAAW,GAAG,GAA+D,CACpG,OACE,EAAA,EAAA,KAACA,EAAAA,OAAgB,QAAA,CACf,YAAU,iBACV,WAAA,EAAA,EAAA,IACE,iCACA,2DACA,iEACA,EACD,CACD,GAAI,GACJ,CASN,SAAS,EAAc,CACrB,YACA,WACA,kBAAkB,GAClB,GAAG,GAIF,CACD,OACE,EAAA,EAAA,MAAC,EAAA,CAAA,SAAA,EACC,EAAA,EAAA,KAAC,EAAA,EAAA,CAAgB,EACjB,EAAA,EAAA,MAACA,EAAAA,OAAgB,QAAA,CACf,YAAU,iBACV,WAAA,EAAA,EAAA,IACE,gEACA,oDACA,8EACA,cACA,wFACA,iGACA,EACD,CACD,gBAAiB,GAAS,CAExB,EAAM,gBAAgB,EAExB,GAAI,YAEH,EACA,IACC,EAAA,EAAA,KAACA,EAAAA,OAAgB,MAAA,CAAM,YAAU,eAAe,SAAU,GAAI,QAAA,GAAQ,UAAU,mCAC9E,EAAA,EAAA,KAACC,EAAAA,EAAAA,EAAAA,CAAc,EACO,CAAA,EAEF,CAAA,CAAA,CACb,CAKnB,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OAAO,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,gBAAgB,WAAA,EAAA,EAAA,IAAc,+CAAgD,EAAU,CAAE,GAAI,GAAS,CAI/H,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OAAO,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,gBAAgB,WAAA,EAAA,EAAA,IAAc,yDAA0D,EAAU,CAAE,GAAI,GAAS,CAIzI,SAAS,EAAY,CAAE,YAAW,GAAG,GAA6D,CAChG,OAAO,EAAA,EAAA,KAACD,EAAAA,OAAgB,MAAA,CAAM,YAAU,eAAe,WAAA,EAAA,EAAA,IAAcE,EAAAA,EAAgB,CAAE,MAAO,KAAM,CAAC,CAAE,EAAU,CAAE,GAAI,GAAS,CAIlI,SAAS,EAAkB,CAAE,YAAW,GAAG,GAAmE,CAC5G,OAAO,EAAA,EAAA,KAACF,EAAAA,OAAgB,YAAA,CAAY,YAAU,qBAAqB,WAAA,EAAA,EAAA,IAAcG,EAAAA,EAAkB,CAAE,QAAS,QAAS,CAAC,CAAE,EAAU,CAAE,GAAI,GAAS"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./heading-De4Pn3mZ.mjs";import{n as t}from"./paragraph-DYLaQtTV.mjs";import{t as n}from"./close-_UHFeiLS.mjs";import{cn as r}from"@customafk/react-toolkit/utils";import{jsx as i,jsxs as a}from"react/jsx-runtime";import{Dialog as o}from"radix-ui";function s({...e}){return i(o.Root,{"data-slot":`dialog`,...e})}function c({...e}){return i(o.Trigger,{"data-slot":`dialog-trigger`,...e})}function l({...e}){return i(o.Portal,{"data-slot":`dialog-portal`,...e})}function u({...e}){return i(o.Close,{"data-slot":`dialog-close`,...e})}function d({className:e,...t}){return i(o.Overlay,{"data-slot":`dialog-overlay`,className:r(`fixed inset-0 z-50 bg-black/50`,`data-[state=open]:fade-in-0 data-[state=open]:animate-in`,`data-[state=closed]:fade-out-0 data-[state=closed]:animate-out`,e),...t})}function f({className:e,children:t,showCloseButton:s=!0,...c}){return a(l,{children:[i(d,{}),a(o.Content,{"data-slot":`dialog-content`,className:r(`fixed top-1/2 left-1/2 z-50 -translate-x-1/2 -translate-y-1/2`,`grid w-full max-w-[calc(100%-2rem)] bg-background`,`max-h-[85dvh] gap-4 rounded-2xl p-6 shadow-dialog outline-none duration-400`,`sm:max-w-lg`,`data-[state=open]:fade-in-0 data-[state=open]:zoom-in-80 data-[state=open]:animate-in`,`data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-80 data-[state=closed]:animate-out`,e),onOpenAutoFocus:e=>{e.preventDefault()},...c,children:[t,s&&i(o.Close,{"data-slot":`dialog-close`,tabIndex:-1,asChild:!0,className:`absolute top-3 right-3`,children:i(n,{})})]})]})}function p({className:e,...t}){return i(`div`,{"data-slot":`dialog-header`,className:r(`flex flex-col gap-2 text-center sm:text-left`,e),...t})}function m({className:e,...t}){return i(`div`,{"data-slot":`dialog-footer`,className:r(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...t})}function h({className:t,...n}){return i(o.Title,{"data-slot":`dialog-title`,className:r(e({level:`h3`}),t),...n})}function g({className:e,...n}){return i(o.Description,{"data-slot":`dialog-description`,className:r(t({variant:`muted`}),e),...n})}export{m as a,l as c,g as i,h as l,u as n,p as o,f as r,d as s,s as t,c as u};
2
+ //# sourceMappingURL=dialog-CLDnvNH_.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog-CLDnvNH_.mjs","names":["Dialog","DialogPrimitive"],"sources":["../packages/components/ui/dialog.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport { headingVariants } from '../typography/heading';\nimport { paragraphVariants } from '../typography/paragraph';\nimport { CloseButton } from './buttons/close';\n\n/**\n * Accessible modal dialog built on Radix UI's Dialog primitives with animated overlay, close button, and responsive sizing.\n *\n * @example\n * ```tsx\n * import {\n * Dialog, DialogTrigger, DialogContent,\n * DialogHeader, DialogTitle, DialogDescription, DialogFooter,\n * } from '@customafk/lunas-ui/ui/dialog';\n * import { Button } from '@customafk/lunas-ui/ui/button';\n *\n * <Dialog>\n * <DialogTrigger asChild>\n * <Button>Open dialog</Button>\n * </DialogTrigger>\n * <DialogContent>\n * <DialogHeader>\n * <DialogTitle>Confirm action</DialogTitle>\n * <DialogDescription>This cannot be undone.</DialogDescription>\n * </DialogHeader>\n * <DialogFooter>\n * <Button variant=\"outline\">Cancel</Button>\n * <Button>Confirm</Button>\n * </DialogFooter>\n * </DialogContent>\n * </Dialog>\n * ```\n */\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\n/** Element that opens the dialog when clicked; typically wrapped with `asChild` around a `Button`. */\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\n/** Renders dialog overlay and content into a portal outside the normal React tree. */\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\n/** Button that closes the dialog; can be composed with `asChild` to use a custom element. */\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\n/** Semi-transparent backdrop rendered behind the dialog panel with fade-in/out animation. */\nfunction DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'fixed inset-0 z-50 bg-black/50',\n 'data-[state=open]:fade-in-0 data-[state=open]:animate-in',\n 'data-[state=closed]:fade-out-0 data-[state=closed]:animate-out',\n className\n )}\n {...props}\n />\n );\n}\n\n/**\n * Animated dialog panel centred on screen; includes `DialogOverlay` and an optional close button.\n *\n * @param showCloseButton - When `true` (default), renders a `CloseButton` in the top-right corner.\n */\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n /** When `true` (default), renders an `×` close button fixed to the top-right corner of the panel. */\n showCloseButton?: boolean;\n}) {\n return (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'fixed top-1/2 left-1/2 z-50 -translate-x-1/2 -translate-y-1/2',\n 'grid w-full max-w-[calc(100%-2rem)] bg-background',\n 'max-h-[85dvh] gap-4 rounded-2xl p-6 shadow-dialog outline-none duration-400',\n 'sm:max-w-lg',\n 'data-[state=open]:fade-in-0 data-[state=open]:zoom-in-80 data-[state=open]:animate-in',\n 'data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-80 data-[state=closed]:animate-out',\n className\n )}\n onOpenAutoFocus={event => {\n // Prevents focus from shifting to the content when the dialog opens, which can cause layout shift if the content includes autofocusable elements.\n event.preventDefault();\n }}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close data-slot=\"dialog-close\" tabIndex={-1} asChild className=\"absolute top-3 right-3\">\n <CloseButton />\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\n/** Layout wrapper for the dialog title and description, stacked vertically with left alignment on wider screens. */\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"dialog-header\" className={cn('flex flex-col gap-2 text-center sm:text-left', className)} {...props} />;\n}\n\n/** Layout wrapper for dialog action buttons, stacked on mobile and right-aligned in a row on wider screens. */\nfunction DialogFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"dialog-footer\" className={cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', className)} {...props} />;\n}\n\n/** Accessible heading for the dialog panel, styled with the h3 heading variant and announced by screen readers. */\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return <DialogPrimitive.Title data-slot=\"dialog-title\" className={cn(headingVariants({ level: 'h3' }), className)} {...props} />;\n}\n\n/** Muted supporting text that describes the dialog's purpose; read by screen readers alongside the title. */\nfunction DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return <DialogPrimitive.Description data-slot=\"dialog-description\" className={cn(paragraphVariants({ variant: 'muted' }), className)} {...props} />;\n}\n\nexport { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };\n"],"mappings":"yQAqCA,SAASA,EAAO,CAAE,GAAG,GAA4D,CAC/E,OAAO,EAACC,EAAgB,KAAA,CAAK,YAAU,SAAS,GAAI,GAAS,CAI/D,SAAS,EAAc,CAAE,GAAG,GAA+D,CACzF,OAAO,EAACA,EAAgB,QAAA,CAAQ,YAAU,iBAAiB,GAAI,GAAS,CAI1E,SAAS,EAAa,CAAE,GAAG,GAA8D,CACvF,OAAO,EAACA,EAAgB,OAAA,CAAO,YAAU,gBAAgB,GAAI,GAAS,CAIxE,SAAS,EAAY,CAAE,GAAG,GAA6D,CACrF,OAAO,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,GAAI,GAAS,CAItE,SAAS,EAAc,CAAE,YAAW,GAAG,GAA+D,CACpG,OACE,EAACA,EAAgB,QAAA,CACf,YAAU,iBACV,UAAW,EACT,iCACA,2DACA,iEACA,EACD,CACD,GAAI,GACJ,CASN,SAAS,EAAc,CACrB,YACA,WACA,kBAAkB,GAClB,GAAG,GAIF,CACD,OACE,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,EAAA,CAAgB,CACjB,EAACA,EAAgB,QAAA,CACf,YAAU,iBACV,UAAW,EACT,gEACA,oDACA,8EACA,cACA,wFACA,iGACA,EACD,CACD,gBAAiB,GAAS,CAExB,EAAM,gBAAgB,EAExB,GAAI,YAEH,EACA,GACC,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,SAAU,GAAI,QAAA,GAAQ,UAAU,kCAC9E,EAAC,EAAA,EAAA,CAAc,EACO,CAAA,EAEF,CAAA,CAAA,CACb,CAKnB,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OAAO,EAAC,MAAA,CAAI,YAAU,gBAAgB,UAAW,EAAG,+CAAgD,EAAU,CAAE,GAAI,GAAS,CAI/H,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OAAO,EAAC,MAAA,CAAI,YAAU,gBAAgB,UAAW,EAAG,yDAA0D,EAAU,CAAE,GAAI,GAAS,CAIzI,SAAS,EAAY,CAAE,YAAW,GAAG,GAA6D,CAChG,OAAO,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,UAAW,EAAG,EAAgB,CAAE,MAAO,KAAM,CAAC,CAAE,EAAU,CAAE,GAAI,GAAS,CAIlI,SAAS,EAAkB,CAAE,YAAW,GAAG,GAAmE,CAC5G,OAAO,EAACA,EAAgB,YAAA,CAAY,YAAU,qBAAqB,UAAW,EAAG,EAAkB,CAAE,QAAS,QAAS,CAAC,CAAE,EAAU,CAAE,GAAI,GAAS"}
@@ -0,0 +1,90 @@
1
+ import * as react87 from "react";
2
+ import { Dialog } from "radix-ui";
3
+
4
+ //#region packages/components/ui/dialog.d.ts
5
+
6
+ /**
7
+ * Accessible modal dialog built on Radix UI's Dialog primitives with animated overlay, close button, and responsive sizing.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * import {
12
+ * Dialog, DialogTrigger, DialogContent,
13
+ * DialogHeader, DialogTitle, DialogDescription, DialogFooter,
14
+ * } from '@customafk/lunas-ui/ui/dialog';
15
+ * import { Button } from '@customafk/lunas-ui/ui/button';
16
+ *
17
+ * <Dialog>
18
+ * <DialogTrigger asChild>
19
+ * <Button>Open dialog</Button>
20
+ * </DialogTrigger>
21
+ * <DialogContent>
22
+ * <DialogHeader>
23
+ * <DialogTitle>Confirm action</DialogTitle>
24
+ * <DialogDescription>This cannot be undone.</DialogDescription>
25
+ * </DialogHeader>
26
+ * <DialogFooter>
27
+ * <Button variant="outline">Cancel</Button>
28
+ * <Button>Confirm</Button>
29
+ * </DialogFooter>
30
+ * </DialogContent>
31
+ * </Dialog>
32
+ * ```
33
+ */
34
+ declare function Dialog$1({
35
+ ...props
36
+ }: React.ComponentProps<typeof Dialog.Root>): react87.JSX.Element;
37
+ /** Element that opens the dialog when clicked; typically wrapped with `asChild` around a `Button`. */
38
+ declare function DialogTrigger({
39
+ ...props
40
+ }: React.ComponentProps<typeof Dialog.Trigger>): react87.JSX.Element;
41
+ /** Renders dialog overlay and content into a portal outside the normal React tree. */
42
+ declare function DialogPortal({
43
+ ...props
44
+ }: React.ComponentProps<typeof Dialog.Portal>): react87.JSX.Element;
45
+ /** Button that closes the dialog; can be composed with `asChild` to use a custom element. */
46
+ declare function DialogClose({
47
+ ...props
48
+ }: React.ComponentProps<typeof Dialog.Close>): react87.JSX.Element;
49
+ /** Semi-transparent backdrop rendered behind the dialog panel with fade-in/out animation. */
50
+ declare function DialogOverlay({
51
+ className,
52
+ ...props
53
+ }: React.ComponentProps<typeof Dialog.Overlay>): react87.JSX.Element;
54
+ /**
55
+ * Animated dialog panel centred on screen; includes `DialogOverlay` and an optional close button.
56
+ *
57
+ * @param showCloseButton - When `true` (default), renders a `CloseButton` in the top-right corner.
58
+ */
59
+ declare function DialogContent({
60
+ className,
61
+ children,
62
+ showCloseButton,
63
+ ...props
64
+ }: React.ComponentProps<typeof Dialog.Content> & {
65
+ /** When `true` (default), renders an `×` close button fixed to the top-right corner of the panel. */
66
+ showCloseButton?: boolean;
67
+ }): react87.JSX.Element;
68
+ /** Layout wrapper for the dialog title and description, stacked vertically with left alignment on wider screens. */
69
+ declare function DialogHeader({
70
+ className,
71
+ ...props
72
+ }: React.ComponentProps<'div'>): react87.JSX.Element;
73
+ /** Layout wrapper for dialog action buttons, stacked on mobile and right-aligned in a row on wider screens. */
74
+ declare function DialogFooter({
75
+ className,
76
+ ...props
77
+ }: React.ComponentProps<'div'>): react87.JSX.Element;
78
+ /** Accessible heading for the dialog panel, styled with the h3 heading variant and announced by screen readers. */
79
+ declare function DialogTitle({
80
+ className,
81
+ ...props
82
+ }: React.ComponentProps<typeof Dialog.Title>): react87.JSX.Element;
83
+ /** Muted supporting text that describes the dialog's purpose; read by screen readers alongside the title. */
84
+ declare function DialogDescription({
85
+ className,
86
+ ...props
87
+ }: React.ComponentProps<typeof Dialog.Description>): react87.JSX.Element;
88
+ //#endregion
89
+ export { DialogFooter as a, DialogPortal as c, DialogDescription as i, DialogTitle as l, DialogClose as n, DialogHeader as o, DialogContent as r, DialogOverlay as s, Dialog$1 as t, DialogTrigger as u };
90
+ //# sourceMappingURL=dialog-CYHT9WNs.d.cts.map
@@ -0,0 +1,90 @@
1
+ import * as react81 from "react";
2
+ import { Dialog } from "radix-ui";
3
+
4
+ //#region packages/components/ui/dialog.d.ts
5
+
6
+ /**
7
+ * Accessible modal dialog built on Radix UI's Dialog primitives with animated overlay, close button, and responsive sizing.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * import {
12
+ * Dialog, DialogTrigger, DialogContent,
13
+ * DialogHeader, DialogTitle, DialogDescription, DialogFooter,
14
+ * } from '@customafk/lunas-ui/ui/dialog';
15
+ * import { Button } from '@customafk/lunas-ui/ui/button';
16
+ *
17
+ * <Dialog>
18
+ * <DialogTrigger asChild>
19
+ * <Button>Open dialog</Button>
20
+ * </DialogTrigger>
21
+ * <DialogContent>
22
+ * <DialogHeader>
23
+ * <DialogTitle>Confirm action</DialogTitle>
24
+ * <DialogDescription>This cannot be undone.</DialogDescription>
25
+ * </DialogHeader>
26
+ * <DialogFooter>
27
+ * <Button variant="outline">Cancel</Button>
28
+ * <Button>Confirm</Button>
29
+ * </DialogFooter>
30
+ * </DialogContent>
31
+ * </Dialog>
32
+ * ```
33
+ */
34
+ declare function Dialog$1({
35
+ ...props
36
+ }: React.ComponentProps<typeof Dialog.Root>): react81.JSX.Element;
37
+ /** Element that opens the dialog when clicked; typically wrapped with `asChild` around a `Button`. */
38
+ declare function DialogTrigger({
39
+ ...props
40
+ }: React.ComponentProps<typeof Dialog.Trigger>): react81.JSX.Element;
41
+ /** Renders dialog overlay and content into a portal outside the normal React tree. */
42
+ declare function DialogPortal({
43
+ ...props
44
+ }: React.ComponentProps<typeof Dialog.Portal>): react81.JSX.Element;
45
+ /** Button that closes the dialog; can be composed with `asChild` to use a custom element. */
46
+ declare function DialogClose({
47
+ ...props
48
+ }: React.ComponentProps<typeof Dialog.Close>): react81.JSX.Element;
49
+ /** Semi-transparent backdrop rendered behind the dialog panel with fade-in/out animation. */
50
+ declare function DialogOverlay({
51
+ className,
52
+ ...props
53
+ }: React.ComponentProps<typeof Dialog.Overlay>): react81.JSX.Element;
54
+ /**
55
+ * Animated dialog panel centred on screen; includes `DialogOverlay` and an optional close button.
56
+ *
57
+ * @param showCloseButton - When `true` (default), renders a `CloseButton` in the top-right corner.
58
+ */
59
+ declare function DialogContent({
60
+ className,
61
+ children,
62
+ showCloseButton,
63
+ ...props
64
+ }: React.ComponentProps<typeof Dialog.Content> & {
65
+ /** When `true` (default), renders an `×` close button fixed to the top-right corner of the panel. */
66
+ showCloseButton?: boolean;
67
+ }): react81.JSX.Element;
68
+ /** Layout wrapper for the dialog title and description, stacked vertically with left alignment on wider screens. */
69
+ declare function DialogHeader({
70
+ className,
71
+ ...props
72
+ }: React.ComponentProps<'div'>): react81.JSX.Element;
73
+ /** Layout wrapper for dialog action buttons, stacked on mobile and right-aligned in a row on wider screens. */
74
+ declare function DialogFooter({
75
+ className,
76
+ ...props
77
+ }: React.ComponentProps<'div'>): react81.JSX.Element;
78
+ /** Accessible heading for the dialog panel, styled with the h3 heading variant and announced by screen readers. */
79
+ declare function DialogTitle({
80
+ className,
81
+ ...props
82
+ }: React.ComponentProps<typeof Dialog.Title>): react81.JSX.Element;
83
+ /** Muted supporting text that describes the dialog's purpose; read by screen readers alongside the title. */
84
+ declare function DialogDescription({
85
+ className,
86
+ ...props
87
+ }: React.ComponentProps<typeof Dialog.Description>): react81.JSX.Element;
88
+ //#endregion
89
+ export { DialogFooter as a, DialogPortal as c, DialogDescription as i, DialogTitle as l, DialogClose as n, DialogHeader as o, DialogContent as r, DialogOverlay as s, Dialog$1 as t, DialogTrigger as u };
90
+ //# sourceMappingURL=dialog-pWSVE0gd.d.mts.map
@@ -1,2 +1,2 @@
1
- "use client";const e=require(`../chunk-Bmb41Sf3.cjs`);require(`../button.variants-DgVFNsVc.cjs`),require(`../heading-BX7ZVnVg.cjs`),require(`../paragraph-D0x3Jc6W.cjs`);const t=require(`../ui/alert-dialog.cjs`);let n=require(`lucide-react`),r=require(`react/jsx-runtime`),i=require(`react`);const a=({open:e,isLoading:a=!1,title:o,description:s,cancelText:c=`Cancel`,submitText:l=`Confirm`,descriptionClassName:u,onOpenChange:d,onConfirm:f})=>{let p=(0,i.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),f?.()},[f]);return(0,r.jsx)(t.AlertDialog,{open:e,onOpenChange:d,children:(0,r.jsxs)(t.AlertDialogContent,{className:`p-4 pb-5`,children:[(0,r.jsxs)(t.AlertDialogHeader,{className:`gap-2`,children:[(0,r.jsxs)(t.AlertDialogTitle,{className:`inline-flex items-center gap-x-1`,children:[(0,r.jsx)(n.TriangleAlert,{size:20}),(0,r.jsx)(`p`,{children:o})]}),(0,r.jsx)(t.AlertDialogDescription,{className:u,children:s})]}),(0,r.jsxs)(t.AlertDialogFooter,{children:[(0,r.jsx)(t.AlertDialogCancel,{children:c}),(0,r.jsx)(t.AlertDialogAction,{type:`button`,className:`min-h-9 w-full md:w-24`,onClick:p,children:a?(0,r.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,r.jsx)(`div`,{className:`loader-spinner text-text-positive-weak`})}):l})]})]})})};exports.ConfirmDialog=a;
1
+ "use client";const e=require(`../chunk-350yNsax.cjs`);require(`../button.variants-4kw6plrv.cjs`),require(`../heading-tGTqk3pA.cjs`),require(`../paragraph-DvTZvbzw.cjs`);const t=require(`../ui/alert-dialog.cjs`);let n=require(`lucide-react`),r=require(`react`),i=require(`react/jsx-runtime`);const a=({open:e,isLoading:a=!1,title:o,description:s,cancelText:c=`Cancel`,submitText:l=`Confirm`,descriptionClassName:u,onOpenChange:d,onConfirm:f})=>{let p=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),f?.()},[f]);return(0,i.jsx)(t.AlertDialog,{open:e,onOpenChange:d,children:(0,i.jsxs)(t.AlertDialogContent,{className:`p-4 pb-5`,children:[(0,i.jsxs)(t.AlertDialogHeader,{className:`gap-2`,children:[(0,i.jsxs)(t.AlertDialogTitle,{className:`inline-flex items-center gap-x-1`,children:[(0,i.jsx)(n.TriangleAlert,{size:20}),(0,i.jsx)(`p`,{children:o})]}),(0,i.jsx)(t.AlertDialogDescription,{className:u,children:s})]}),(0,i.jsxs)(t.AlertDialogFooter,{children:[(0,i.jsx)(t.AlertDialogCancel,{children:c}),(0,i.jsx)(t.AlertDialogAction,{type:`button`,className:`min-h-9 w-full md:w-24`,onClick:p,children:a?(0,i.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,i.jsx)(`div`,{className:`loader-spinner text-text-positive-weak`})}):l})]})]})})};exports.ConfirmDialog=a;
2
2
  //# sourceMappingURL=confirm-dialog.cjs.map
@@ -0,0 +1,142 @@
1
+ //#region packages/components/dialogs/confirm-dialog.d.ts
2
+ /**
3
+ * Props for the {@link ConfirmDialog} component.
4
+ */
5
+ type ConfirmDialogProps = {
6
+ /**
7
+ * Controls whether the dialog is currently open.
8
+ * This is a **controlled** prop — pair it with `onOpenChange` to manage state.
9
+ */
10
+ open?: boolean;
11
+ /**
12
+ * When `true`, shows an animated spinner inside the confirm button and
13
+ * prevents double-submission. Typically bound to a mutation's pending state.
14
+ *
15
+ * @default false
16
+ */
17
+ isLoading?: boolean;
18
+ /**
19
+ * The dialog heading text. Keep it short and action-oriented,
20
+ * e.g. `"Delete user?"` or `"Unsaved changes"`.
21
+ */
22
+ title: string;
23
+ /**
24
+ * Body copy explaining what will happen if the user confirms.
25
+ * For irreversible actions, state explicitly that the action cannot be undone.
26
+ */
27
+ description: string;
28
+ /**
29
+ * Label for the cancel / dismiss button.
30
+ *
31
+ * @default "Cancel"
32
+ */
33
+ cancelText?: string;
34
+ /**
35
+ * Label for the confirm / submit button.
36
+ *
37
+ * @default "Confirm"
38
+ */
39
+ submitText?: string;
40
+ /**
41
+ * Additional class names applied to the `AlertDialogDescription` element.
42
+ * Useful for overriding text color or font size for specific contexts.
43
+ */
44
+ descriptionClassName?: string;
45
+ /**
46
+ * Callback fired when the dialog open state changes.
47
+ * Required to implement controlled open / close behavior.
48
+ *
49
+ * @param open - `true` when opening, `false` when closing.
50
+ */
51
+ onOpenChange?: (open: boolean) => void;
52
+ /**
53
+ * Async-safe callback fired when the user clicks the confirm button.
54
+ * Supports both synchronous and `Promise`-returning functions.
55
+ *
56
+ * The dialog does **not** auto-close after `onConfirm` resolves — the caller
57
+ * is responsible for setting `open` to `false` once the operation completes.
58
+ *
59
+ * @example
60
+ * ```tsx
61
+ * onConfirm={async () => {
62
+ * await deleteUser(userId);
63
+ * setOpen(false);
64
+ * }}
65
+ * ```
66
+ */
67
+ onConfirm?: () => Promise<void> | void;
68
+ };
69
+ /**
70
+ * A controlled confirmation dialog for destructive or irreversible actions.
71
+ *
72
+ * Built on Radix UI's `AlertDialog` primitive. Renders a warning icon, title,
73
+ * description, and Cancel / Confirm buttons. The confirm button supports an
74
+ * async loading state to prevent double-submission.
75
+ *
76
+ * **Import:** `import { ConfirmDialog } from '@customafk/lunas-ui/dialogs/confirm-dialog'`
77
+ *
78
+ * @example Delete confirmation with React state
79
+ * ```tsx
80
+ * import { useState } from 'react';
81
+ * import { Button } from '@customafk/lunas-ui/ui/button';
82
+ * import { ConfirmDialog } from '@customafk/lunas-ui/dialogs/confirm-dialog';
83
+ *
84
+ * export function DeleteUserButton({ userId }: { userId: string }) {
85
+ * const [open, setOpen] = useState(false);
86
+ * const [isPending, setIsPending] = useState(false);
87
+ *
88
+ * const handleDelete = async () => {
89
+ * setIsPending(true);
90
+ * try {
91
+ * await deleteUser(userId);
92
+ * setOpen(false);
93
+ * } finally {
94
+ * setIsPending(false);
95
+ * }
96
+ * };
97
+ *
98
+ * return (
99
+ * <>
100
+ * <Button variant="outline" color="danger" onClick={() => setOpen(true)}>
101
+ * Delete user
102
+ * </Button>
103
+ * <ConfirmDialog
104
+ * open={open}
105
+ * title="Delete user?"
106
+ * description="This action is permanent and cannot be undone."
107
+ * submitText="Yes, delete"
108
+ * isLoading={isPending}
109
+ * onOpenChange={setOpen}
110
+ * onConfirm={handleDelete}
111
+ * />
112
+ * </>
113
+ * );
114
+ * }
115
+ * ```
116
+ *
117
+ * @example With TanStack Query mutation
118
+ * ```tsx
119
+ * import { ConfirmDialog } from '@customafk/lunas-ui/dialogs/confirm-dialog';
120
+ * import { useMutation } from '@tanstack/react-query';
121
+ *
122
+ * export function ArchiveDialog({ open, onOpenChange, id }: Props) {
123
+ * const { mutateAsync, isPending } = useMutation({ mutationFn: archiveItem });
124
+ *
125
+ * return (
126
+ * <ConfirmDialog
127
+ * open={open}
128
+ * title="Archive item?"
129
+ * description="The item will be hidden but can be restored later."
130
+ * submitText="Archive"
131
+ * isLoading={isPending}
132
+ * onOpenChange={onOpenChange}
133
+ * onConfirm={() => mutateAsync(id).then(() => onOpenChange(false))}
134
+ * />
135
+ * );
136
+ * }
137
+ * ```
138
+ */
139
+ declare const ConfirmDialog: React.FC<ConfirmDialogProps>;
140
+ //#endregion
141
+ export { ConfirmDialog, ConfirmDialogProps };
142
+ //# sourceMappingURL=confirm-dialog.d.mts.map
@@ -0,0 +1,2 @@
1
+ "use client";import"../button.variants-DkMqWB8G.mjs";import"../heading-De4Pn3mZ.mjs";import"../paragraph-DYLaQtTV.mjs";import{AlertDialog as e,AlertDialogAction as t,AlertDialogCancel as n,AlertDialogContent as r,AlertDialogDescription as i,AlertDialogFooter as a,AlertDialogHeader as o,AlertDialogTitle as s}from"../ui/alert-dialog.mjs";import{TriangleAlert as c}from"lucide-react";import{useCallback as l}from"react";import{jsx as u,jsxs as d}from"react/jsx-runtime";const f=({open:f,isLoading:p=!1,title:m,description:h,cancelText:g=`Cancel`,submitText:_=`Confirm`,descriptionClassName:v,onOpenChange:y,onConfirm:b})=>{let x=l(e=>{e.preventDefault(),e.stopPropagation(),b?.()},[b]);return u(e,{open:f,onOpenChange:y,children:d(r,{className:`p-4 pb-5`,children:[d(o,{className:`gap-2`,children:[d(s,{className:`inline-flex items-center gap-x-1`,children:[u(c,{size:20}),u(`p`,{children:m})]}),u(i,{className:v,children:h})]}),d(a,{children:[u(n,{children:g}),u(t,{type:`button`,className:`min-h-9 w-full md:w-24`,onClick:x,children:p?u(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:u(`div`,{className:`loader-spinner text-text-positive-weak`})}):_})]})]})})};export{f as ConfirmDialog};
2
+ //# sourceMappingURL=confirm-dialog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm-dialog.mjs","names":["ConfirmDialog: React.FC<ConfirmDialogProps>"],"sources":["../../packages/components/dialogs/confirm-dialog.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback } from 'react';\n\nimport { TriangleAlert } from 'lucide-react';\n\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n} from '../ui/alert-dialog';\n\n/**\n * Props for the {@link ConfirmDialog} component.\n */\nexport type ConfirmDialogProps = {\n /**\n * Controls whether the dialog is currently open.\n * This is a **controlled** prop — pair it with `onOpenChange` to manage state.\n */\n open?: boolean;\n\n /**\n * When `true`, shows an animated spinner inside the confirm button and\n * prevents double-submission. Typically bound to a mutation's pending state.\n *\n * @default false\n */\n isLoading?: boolean;\n\n /**\n * The dialog heading text. Keep it short and action-oriented,\n * e.g. `\"Delete user?\"` or `\"Unsaved changes\"`.\n */\n title: string;\n\n /**\n * Body copy explaining what will happen if the user confirms.\n * For irreversible actions, state explicitly that the action cannot be undone.\n */\n description: string;\n\n /**\n * Label for the cancel / dismiss button.\n *\n * @default \"Cancel\"\n */\n cancelText?: string;\n\n /**\n * Label for the confirm / submit button.\n *\n * @default \"Confirm\"\n */\n submitText?: string;\n\n /**\n * Additional class names applied to the `AlertDialogDescription` element.\n * Useful for overriding text color or font size for specific contexts.\n */\n descriptionClassName?: string;\n\n /**\n * Callback fired when the dialog open state changes.\n * Required to implement controlled open / close behavior.\n *\n * @param open - `true` when opening, `false` when closing.\n */\n onOpenChange?: (open: boolean) => void;\n\n /**\n * Async-safe callback fired when the user clicks the confirm button.\n * Supports both synchronous and `Promise`-returning functions.\n *\n * The dialog does **not** auto-close after `onConfirm` resolves — the caller\n * is responsible for setting `open` to `false` once the operation completes.\n *\n * @example\n * ```tsx\n * onConfirm={async () => {\n * await deleteUser(userId);\n * setOpen(false);\n * }}\n * ```\n */\n onConfirm?: () => Promise<void> | void;\n};\n\n/**\n * A controlled confirmation dialog for destructive or irreversible actions.\n *\n * Built on Radix UI's `AlertDialog` primitive. Renders a warning icon, title,\n * description, and Cancel / Confirm buttons. The confirm button supports an\n * async loading state to prevent double-submission.\n *\n * **Import:** `import { ConfirmDialog } from '@customafk/lunas-ui/dialogs/confirm-dialog'`\n *\n * @example Delete confirmation with React state\n * ```tsx\n * import { useState } from 'react';\n * import { Button } from '@customafk/lunas-ui/ui/button';\n * import { ConfirmDialog } from '@customafk/lunas-ui/dialogs/confirm-dialog';\n *\n * export function DeleteUserButton({ userId }: { userId: string }) {\n * const [open, setOpen] = useState(false);\n * const [isPending, setIsPending] = useState(false);\n *\n * const handleDelete = async () => {\n * setIsPending(true);\n * try {\n * await deleteUser(userId);\n * setOpen(false);\n * } finally {\n * setIsPending(false);\n * }\n * };\n *\n * return (\n * <>\n * <Button variant=\"outline\" color=\"danger\" onClick={() => setOpen(true)}>\n * Delete user\n * </Button>\n * <ConfirmDialog\n * open={open}\n * title=\"Delete user?\"\n * description=\"This action is permanent and cannot be undone.\"\n * submitText=\"Yes, delete\"\n * isLoading={isPending}\n * onOpenChange={setOpen}\n * onConfirm={handleDelete}\n * />\n * </>\n * );\n * }\n * ```\n *\n * @example With TanStack Query mutation\n * ```tsx\n * import { ConfirmDialog } from '@customafk/lunas-ui/dialogs/confirm-dialog';\n * import { useMutation } from '@tanstack/react-query';\n *\n * export function ArchiveDialog({ open, onOpenChange, id }: Props) {\n * const { mutateAsync, isPending } = useMutation({ mutationFn: archiveItem });\n *\n * return (\n * <ConfirmDialog\n * open={open}\n * title=\"Archive item?\"\n * description=\"The item will be hidden but can be restored later.\"\n * submitText=\"Archive\"\n * isLoading={isPending}\n * onOpenChange={onOpenChange}\n * onConfirm={() => mutateAsync(id).then(() => onOpenChange(false))}\n * />\n * );\n * }\n * ```\n */\nexport const ConfirmDialog: React.FC<ConfirmDialogProps> = ({\n open,\n isLoading = false,\n title,\n description,\n cancelText = 'Cancel',\n submitText = 'Confirm',\n descriptionClassName,\n onOpenChange,\n onConfirm,\n}) => {\n const handleConfirm = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n onConfirm?.();\n },\n [onConfirm]\n );\n\n return (\n <AlertDialog open={open} onOpenChange={onOpenChange}>\n <AlertDialogContent className=\"p-4 pb-5\">\n <AlertDialogHeader className=\"gap-2\">\n <AlertDialogTitle className=\"inline-flex items-center gap-x-1\">\n <TriangleAlert size={20} />\n <p>{title}</p>\n </AlertDialogTitle>\n <AlertDialogDescription className={descriptionClassName}>{description}</AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>{cancelText}</AlertDialogCancel>\n <AlertDialogAction type=\"button\" className=\"min-h-9 w-full md:w-24\" onClick={handleConfirm}>\n {isLoading ? (\n <div className=\"absolute inset-0 flex items-center justify-center\">\n <div className=\"loader-spinner text-text-positive-weak\" />\n </div>\n ) : (\n submitText\n )}\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n );\n};\n"],"mappings":"qdAmKA,MAAaA,GAA+C,CAC1D,OACA,YAAY,GACZ,QACA,cACA,aAAa,SACb,aAAa,UACb,uBACA,eACA,eACI,CACJ,IAAM,EAAgB,EACnB,GAAwB,CACvB,EAAE,gBAAgB,CAClB,EAAE,iBAAiB,CACnB,KAAa,EAEf,CAAC,EAAU,CACZ,CAED,OACE,EAAC,EAAA,CAAkB,OAAoB,wBACrC,EAAC,EAAA,CAAmB,UAAU,qBAC5B,EAAC,EAAA,CAAkB,UAAU,kBAC3B,EAAC,EAAA,CAAiB,UAAU,6CAC1B,EAAC,EAAA,CAAc,KAAM,GAAA,CAAM,CAC3B,EAAC,IAAA,CAAA,SAAG,EAAA,CAAU,CAAA,EACG,CACnB,EAAC,EAAA,CAAuB,UAAW,WAAuB,GAAqC,CAAA,EAC7E,CACpB,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,CAAA,SAAmB,EAAA,CAA+B,CACnD,EAAC,EAAA,CAAkB,KAAK,SAAS,UAAU,yBAAyB,QAAS,WAC1E,EACC,EAAC,MAAA,CAAI,UAAU,6DACb,EAAC,MAAA,CAAI,UAAU,yCAAA,CAA2C,EACtD,CAEN,GAEgB,CAAA,CAAA,CACF,CAAA,EACD,EACT"}
@@ -1 +1 @@
1
- "use client";const e=require(`../../../sidebar-CQZlWCK4.cjs`);exports.DetailDialogSidebarContent=e.t,exports.DetailDialogSidebarFooter=e.n,exports.DetailDialogSidebarGroup=e.r,exports.DetailDialogSidebarGroupAction=e.i,exports.DetailDialogSidebarGroupContent=e.a,exports.DetailDialogSidebarGroupLabel=e.o,exports.DetailDialogSidebarHeader=e.s,exports.DetailDialogSidebarMenu=e.c,exports.DetailDialogSidebarMenuAction=e.l,exports.DetailDialogSidebarMenuBadge=e.u,exports.DetailDialogSidebarMenuButton=e.d,exports.DetailDialogSidebarMenuItem=e.f,exports.DetailDialogSidebarMenuSkeleton=e.p,exports.DetailDialogSidebarMenuSub=e.m,exports.DetailDialogSidebarMenuSubButton=e.h,exports.DetailDialogSidebarMenuSubItem=e.g,exports.DetailDialogSidebarRail=e._,exports.DetailDialogSidebarSeparator=e.v,exports.DetailDialogSidebarTrigger=e.y,exports.Sidebar=e.b,exports.SidebarInset=e.x,exports.SidebarProvider=e.S,exports.useSidebar=e.C;
1
+ "use client";require(`../../../button.variants-4kw6plrv.cjs`),require(`../../../button-C--DAN1D.cjs`),require(`../../../skeleton-CX1USu1w.cjs`),require(`../../../tooltip-CBdoIzoM.cjs`),require(`../../../separator-KuymG9g0.cjs`),require(`../../../sheet-CvKSi0UC.cjs`);const e=require(`../../../sidebar-D5J2gcTw.cjs`);exports.DetailDialogSidebarContent=e.t,exports.DetailDialogSidebarFooter=e.n,exports.DetailDialogSidebarGroup=e.r,exports.DetailDialogSidebarGroupAction=e.i,exports.DetailDialogSidebarGroupContent=e.a,exports.DetailDialogSidebarGroupLabel=e.o,exports.DetailDialogSidebarHeader=e.s,exports.DetailDialogSidebarMenu=e.c,exports.DetailDialogSidebarMenuAction=e.l,exports.DetailDialogSidebarMenuBadge=e.u,exports.DetailDialogSidebarMenuButton=e.d,exports.DetailDialogSidebarMenuItem=e.f,exports.DetailDialogSidebarMenuSkeleton=e.p,exports.DetailDialogSidebarMenuSub=e.m,exports.DetailDialogSidebarMenuSubButton=e.h,exports.DetailDialogSidebarMenuSubItem=e.g,exports.DetailDialogSidebarRail=e._,exports.DetailDialogSidebarSeparator=e.v,exports.DetailDialogSidebarTrigger=e.y,exports.Sidebar=e.b,exports.SidebarInset=e.x,exports.SidebarProvider=e.S,exports.useSidebar=e.C;
@@ -1,9 +1,9 @@
1
- import * as react4 from "react";
1
+ import { t as Button } from "../../../button-DserH5cQ.cjs";
2
+ import { Separator } from "../../../ui/separator.cjs";
3
+ import { TooltipContent } from "../../../ui/tooltip.cjs";
4
+ import * as react2 from "react";
2
5
  import * as class_variance_authority_types0 from "class-variance-authority/types";
3
6
  import { VariantProps } from "class-variance-authority";
4
- import { Button } from "@/components/ui/button";
5
- import { Separator } from "@/components/ui/separator";
6
- import { TooltipContent } from "@/components/ui/tooltip";
7
7
 
8
8
  //#region packages/components/dialogs/detail-dialog/components/sidebar.d.ts
9
9
  type SidebarContextProps = {
@@ -50,7 +50,7 @@ declare function SidebarProvider({
50
50
  open?: boolean;
51
51
  /** Callback fired when the open state changes in controlled mode. */
52
52
  onOpenChange?: (open: boolean) => void;
53
- }): react4.JSX.Element;
53
+ }): react2.JSX.Element;
54
54
  /**
55
55
  * Responsive sidebar container that supports desktop icon-collapse and a mobile Sheet overlay.
56
56
  *
@@ -77,7 +77,7 @@ declare function Sidebar({
77
77
  variant?: 'sidebar' | 'floating' | 'inset';
78
78
  /** Collapse behaviour — slides off-canvas, shrinks to icon strip, or stays fixed. Defaults to `'offcanvas'`. */
79
79
  collapsible?: 'offcanvas' | 'icon' | 'none';
80
- }): react4.JSX.Element;
80
+ }): react2.JSX.Element;
81
81
  /**
82
82
  * Icon button that toggles the detail-dialog sidebar open or collapsed.
83
83
  *
@@ -92,62 +92,62 @@ declare function DetailDialogSidebarTrigger({
92
92
  className,
93
93
  onClick,
94
94
  ...props
95
- }: React.ComponentProps<typeof Button>): react4.JSX.Element;
95
+ }: React.ComponentProps<typeof Button>): react2.JSX.Element;
96
96
  declare function DetailDialogSidebarRail({
97
97
  className,
98
98
  ...props
99
- }: React.ComponentProps<'button'>): react4.JSX.Element;
99
+ }: React.ComponentProps<'button'>): react2.JSX.Element;
100
100
  declare function SidebarInset({
101
101
  className,
102
102
  ...props
103
- }: React.ComponentProps<'main'>): react4.JSX.Element;
103
+ }: React.ComponentProps<'main'>): react2.JSX.Element;
104
104
  declare function DetailDialogSidebarHeader({
105
105
  className,
106
106
  ...props
107
- }: React.ComponentProps<'div'>): react4.JSX.Element;
107
+ }: React.ComponentProps<'div'>): react2.JSX.Element;
108
108
  declare function DetailDialogSidebarFooter({
109
109
  className,
110
110
  children,
111
111
  ...props
112
- }: React.ComponentProps<'div'>): react4.JSX.Element;
112
+ }: React.ComponentProps<'div'>): react2.JSX.Element;
113
113
  declare function DetailDialogSidebarSeparator({
114
114
  className,
115
115
  ...props
116
- }: React.ComponentProps<typeof Separator>): react4.JSX.Element;
116
+ }: React.ComponentProps<typeof Separator>): react2.JSX.Element;
117
117
  declare function DetailDialogSidebarContent({
118
118
  className,
119
119
  ...props
120
- }: React.ComponentProps<'div'>): react4.JSX.Element;
120
+ }: React.ComponentProps<'div'>): react2.JSX.Element;
121
121
  declare function DetailDialogSidebarGroup({
122
122
  className,
123
123
  ...props
124
- }: React.ComponentProps<'div'>): react4.JSX.Element;
124
+ }: React.ComponentProps<'div'>): react2.JSX.Element;
125
125
  declare function DetailDialogSidebarGroupLabel({
126
126
  className,
127
127
  asChild,
128
128
  ...props
129
129
  }: React.ComponentProps<'div'> & {
130
130
  asChild?: boolean;
131
- }): react4.JSX.Element;
131
+ }): react2.JSX.Element;
132
132
  declare function DetailDialogSidebarGroupAction({
133
133
  className,
134
134
  asChild,
135
135
  ...props
136
136
  }: React.ComponentProps<'button'> & {
137
137
  asChild?: boolean;
138
- }): react4.JSX.Element;
138
+ }): react2.JSX.Element;
139
139
  declare function DetailDialogSidebarGroupContent({
140
140
  className,
141
141
  ...props
142
- }: React.ComponentProps<'div'>): react4.JSX.Element;
142
+ }: React.ComponentProps<'div'>): react2.JSX.Element;
143
143
  declare function DetailDialogSidebarMenu({
144
144
  className,
145
145
  ...props
146
- }: React.ComponentProps<'ul'>): react4.JSX.Element;
146
+ }: React.ComponentProps<'ul'>): react2.JSX.Element;
147
147
  declare function DetailDialogSidebarMenuItem({
148
148
  className,
149
149
  ...props
150
- }: React.ComponentProps<'li'>): react4.JSX.Element;
150
+ }: React.ComponentProps<'li'>): react2.JSX.Element;
151
151
  declare const sidebarMenuButtonVariants: (props?: ({
152
152
  variant?: "default" | "outline" | null | undefined;
153
153
  size?: "sm" | "lg" | "default" | null | undefined;
@@ -164,7 +164,7 @@ declare function DetailDialogSidebarMenuButton({
164
164
  asChild?: boolean;
165
165
  isActive?: boolean;
166
166
  tooltip?: string | React.ComponentProps<typeof TooltipContent>;
167
- } & VariantProps<typeof sidebarMenuButtonVariants>): react4.JSX.Element;
167
+ } & VariantProps<typeof sidebarMenuButtonVariants>): react2.JSX.Element;
168
168
  declare function DetailDialogSidebarMenuAction({
169
169
  className,
170
170
  asChild,
@@ -173,26 +173,26 @@ declare function DetailDialogSidebarMenuAction({
173
173
  }: React.ComponentProps<'button'> & {
174
174
  asChild?: boolean;
175
175
  showOnHover?: boolean;
176
- }): react4.JSX.Element;
176
+ }): react2.JSX.Element;
177
177
  declare function DetailDialogSidebarMenuBadge({
178
178
  className,
179
179
  ...props
180
- }: React.ComponentProps<'div'>): react4.JSX.Element;
180
+ }: React.ComponentProps<'div'>): react2.JSX.Element;
181
181
  declare function DetailDialogSidebarMenuSkeleton({
182
182
  className,
183
183
  showIcon,
184
184
  ...props
185
185
  }: React.ComponentProps<'div'> & {
186
186
  showIcon?: boolean;
187
- }): react4.JSX.Element;
187
+ }): react2.JSX.Element;
188
188
  declare function DetailDialogSidebarMenuSub({
189
189
  className,
190
190
  ...props
191
- }: React.ComponentProps<'ul'>): react4.JSX.Element;
191
+ }: React.ComponentProps<'ul'>): react2.JSX.Element;
192
192
  declare function DetailDialogSidebarMenuSubItem({
193
193
  className,
194
194
  ...props
195
- }: React.ComponentProps<'li'>): react4.JSX.Element;
195
+ }: React.ComponentProps<'li'>): react2.JSX.Element;
196
196
  declare function DetailDialogSidebarMenuSubButton({
197
197
  asChild,
198
198
  size,
@@ -203,7 +203,7 @@ declare function DetailDialogSidebarMenuSubButton({
203
203
  asChild?: boolean;
204
204
  size?: 'sm' | 'md';
205
205
  isActive?: boolean;
206
- }): react4.JSX.Element;
206
+ }): react2.JSX.Element;
207
207
  //#endregion
208
208
  export { DetailDialogSidebarContent, DetailDialogSidebarFooter, DetailDialogSidebarGroup, DetailDialogSidebarGroupAction, DetailDialogSidebarGroupContent, DetailDialogSidebarGroupLabel, DetailDialogSidebarHeader, DetailDialogSidebarMenu, DetailDialogSidebarMenuAction, DetailDialogSidebarMenuBadge, DetailDialogSidebarMenuButton, DetailDialogSidebarMenuItem, DetailDialogSidebarMenuSkeleton, DetailDialogSidebarMenuSub, DetailDialogSidebarMenuSubButton, DetailDialogSidebarMenuSubItem, DetailDialogSidebarRail, DetailDialogSidebarSeparator, DetailDialogSidebarTrigger, Sidebar, SidebarInset, SidebarProvider, useSidebar };
209
209
  //# sourceMappingURL=sidebar.d.cts.map