@customafk/lunas-ui 0.2.44 → 0.2.47

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 (620) hide show
  1. package/dist/{alert-BbvPwf2x.mjs → alert-BzBDfGk2.js} +1 -1
  2. package/dist/alert-BzBDfGk2.js.map +1 -0
  3. package/dist/{alert-B02cVKWp.d.cts → alert-CNFuxKp7.d.cts} +6 -6
  4. package/dist/{alert-DHSm8bMn.d.mts → alert-EH6BsbAj.d.ts} +8 -8
  5. package/dist/{avatar-fltdRVsJ.mjs → avatar-Hpj8lmux.js} +1 -1
  6. package/dist/avatar-Hpj8lmux.js.map +1 -0
  7. package/dist/{badge-CDGBGq8X.mjs → badge-CRpRXSuO.js} +1 -1
  8. package/dist/badge-CRpRXSuO.js.map +1 -0
  9. package/dist/{badge-BxSbkHQL.d.mts → badge-Cca0AHjT.d.ts} +7 -7
  10. package/dist/{badge-zrAIDd-9.d.cts → badge-D0JnPurs.d.cts} +7 -7
  11. package/dist/{button-D3d7M90P.d.mts → button-Cr817M3U.d.cts} +6 -6
  12. package/dist/{button-D3QvCdr6.d.cts → button-DuZy_wDo.d.ts} +7 -7
  13. package/dist/button-LMMbL-uH.js +2 -0
  14. package/dist/button-LMMbL-uH.js.map +1 -0
  15. package/dist/{button.variants-DkMqWB8G.mjs → button.variants-CoSpd71B.js} +1 -1
  16. package/dist/button.variants-CoSpd71B.js.map +1 -0
  17. package/dist/calendar-DzPt7b6k.js +2 -0
  18. package/dist/calendar-DzPt7b6k.js.map +1 -0
  19. package/dist/cards/{grid-product-card.d.mts → grid-product-card.d.ts} +1 -1
  20. package/dist/cards/grid-product-card.js +2 -0
  21. package/dist/cards/grid-product-card.js.map +1 -0
  22. package/dist/cards/{product-card.d.mts → product-card.d.ts} +1 -1
  23. package/dist/cards/product-card.js +2 -0
  24. package/dist/cards/product-card.js.map +1 -0
  25. package/dist/cards/{simple-card.d.mts → simple-card.d.ts} +1 -1
  26. package/dist/cards/simple-card.js +2 -0
  27. package/dist/cards/simple-card.js.map +1 -0
  28. package/dist/{checkbox-Cat3i08X.mjs → checkbox-DLGDoU-1.js} +1 -1
  29. package/dist/checkbox-DLGDoU-1.js.map +1 -0
  30. package/dist/{close-_UHFeiLS.mjs → close-C0PdZGxr.js} +1 -1
  31. package/dist/close-C0PdZGxr.js.map +1 -0
  32. package/dist/cms-layout-tPwrgJZc.js +2 -0
  33. package/dist/cms-layout-tPwrgJZc.js.map +1 -0
  34. package/dist/command-2gUejA6g.js +2 -0
  35. package/dist/command-2gUejA6g.js.map +1 -0
  36. package/dist/data-display/{country.d.mts → country.d.ts} +2 -2
  37. package/dist/data-display/country.js +2 -0
  38. package/dist/data-display/country.js.map +1 -0
  39. package/dist/data-display/{data-list.d.mts → data-list.d.ts} +1 -1
  40. package/dist/data-display/{data-list.mjs → data-list.js} +1 -1
  41. package/dist/data-display/data-list.js.map +1 -0
  42. package/dist/data-display/{date-tooltip.d.mts → date-tooltip.d.ts} +1 -1
  43. package/dist/data-display/date-tooltip.js +2 -0
  44. package/dist/data-display/date-tooltip.js.map +1 -0
  45. package/dist/data-display/{date.d.mts → date.d.ts} +1 -1
  46. package/dist/data-display/date.js +1 -0
  47. package/dist/data-display/{empty.d.mts → empty.d.ts} +1 -1
  48. package/dist/data-display/{empty.mjs → empty.js} +1 -1
  49. package/dist/data-display/empty.js.map +1 -0
  50. package/dist/data-display/{name.d.mts → name.d.ts} +1 -1
  51. package/dist/data-display/name.js +2 -0
  52. package/dist/data-display/name.js.map +1 -0
  53. package/dist/data-display/{phone-number.d.mts → phone-number.d.ts} +1 -1
  54. package/dist/data-display/phone-number.js +2 -0
  55. package/dist/data-display/phone-number.js.map +1 -0
  56. package/dist/data-display/{role-badge.d.mts → role-badge.d.ts} +2 -2
  57. package/dist/data-display/role-badge.js +2 -0
  58. package/dist/data-display/role-badge.js.map +1 -0
  59. package/dist/data-display/statistic.d.cts +1 -1
  60. package/dist/data-display/{statistic.d.mts → statistic.d.ts} +7 -7
  61. package/dist/data-display/statistic.js +1 -0
  62. package/dist/data-display/{user.d.mts → user.d.ts} +1 -1
  63. package/dist/data-display/user.js +1 -0
  64. package/dist/{date-fY3sUcLp.mjs → date-BIqCFM1Z.js} +1 -1
  65. package/dist/date-BIqCFM1Z.js.map +1 -0
  66. package/dist/{dialog-Bd5cOZia.d.mts → dialog-C48T3MZN.d.cts} +12 -12
  67. package/dist/{dialog-DEmYNufN.d.cts → dialog-CQygxUtj.d.ts} +12 -12
  68. package/dist/dialog-CmutQ3rp.js +2 -0
  69. package/dist/dialog-CmutQ3rp.js.map +1 -0
  70. package/dist/dialogs/{confirm-dialog.d.mts → confirm-dialog.d.ts} +1 -1
  71. package/dist/dialogs/confirm-dialog.js +2 -0
  72. package/dist/dialogs/confirm-dialog.js.map +1 -0
  73. package/dist/dialogs/detail-dialog/components/sidebar.d.cts +27 -27
  74. package/dist/dialogs/detail-dialog/components/{sidebar.d.mts → sidebar.d.ts} +30 -30
  75. package/dist/dialogs/detail-dialog/components/sidebar.js +1 -0
  76. package/dist/dialogs/detail-dialog/{index.d.mts → index.d.ts} +1 -1
  77. package/dist/dialogs/detail-dialog/index.js +2 -0
  78. package/dist/dialogs/detail-dialog/index.js.map +1 -0
  79. package/dist/dialogs/{error-dialog.d.mts → error-dialog.d.ts} +1 -1
  80. package/dist/dialogs/error-dialog.js +2 -0
  81. package/dist/dialogs/error-dialog.js.map +1 -0
  82. package/dist/dialogs/{loading-dialog.d.mts → loading-dialog.d.ts} +1 -1
  83. package/dist/dialogs/loading-dialog.js +2 -0
  84. package/dist/dialogs/loading-dialog.js.map +1 -0
  85. package/dist/{dist-DVrfqn8H.mjs → dist-EPxjIRJp.js} +1 -1
  86. package/dist/dist-EPxjIRJp.js.map +1 -0
  87. package/dist/{drawer-CMD7JWH8.mjs → drawer-B3qXaN5p.js} +1 -1
  88. package/dist/drawer-B3qXaN5p.js.map +1 -0
  89. package/dist/{dropdown-menu-BWhiVsEf.mjs → dropdown-menu-DeHCVyby.js} +1 -1
  90. package/dist/dropdown-menu-DeHCVyby.js.map +1 -0
  91. package/dist/features/descriptions/index.d.cts +4 -4
  92. package/dist/features/descriptions/{index.d.mts → index.d.ts} +8 -8
  93. package/dist/features/descriptions/index.js +2 -0
  94. package/dist/features/descriptions/index.js.map +1 -0
  95. package/dist/features/search-modal/index.d.cts +2 -2
  96. package/dist/features/search-modal/{index.d.mts → index.d.ts} +3 -3
  97. package/dist/features/search-modal/index.js +1 -0
  98. package/dist/features/tables/index.d.cts +1 -1
  99. package/dist/features/tables/{index.d.mts → index.d.ts} +2 -2
  100. package/dist/features/tables/index.js +1 -0
  101. package/dist/features/tanstack-form/index.cjs +1 -1
  102. package/dist/features/tanstack-form/index.d.cts +2 -2
  103. package/dist/features/tanstack-form/index.d.ts +2 -0
  104. package/dist/features/tanstack-form/index.js +1 -0
  105. package/dist/features/text-editor/index.d.cts +1 -1
  106. package/dist/features/text-editor/{index.d.mts → index.d.ts} +1 -1
  107. package/dist/features/text-editor/index.js +1 -0
  108. package/dist/field-DpoKF1nY.js +2 -0
  109. package/dist/field-DpoKF1nY.js.map +1 -0
  110. package/dist/{flex-B6YSJzGe.mjs → flex-CinRrgEy.js} +1 -1
  111. package/dist/flex-CinRrgEy.js.map +1 -0
  112. package/dist/{heading-De4Pn3mZ.mjs → heading-Bz-hSatD.js} +1 -1
  113. package/dist/heading-Bz-hSatD.js.map +1 -0
  114. package/dist/image-BpTuF_1w.js +2 -0
  115. package/dist/image-BpTuF_1w.js.map +1 -0
  116. package/dist/{index-CiG1i12w.d.cts → index-Bc9X8pLk.d.cts} +7 -7
  117. package/dist/{index-Cm62M0Ft.d.mts → index-BlQGXGqt.d.ts} +1 -1
  118. package/dist/{index-DNozPoRR.d.mts → index-C1O2C-cg.d.ts} +7 -7
  119. package/dist/{index-BhiLHeUb.d.cts → index-CgH0tiiC.d.cts} +30 -30
  120. package/dist/{index-DSciiDhn.d.cts → index-D5u9CKyd.d.cts} +309 -950
  121. package/dist/{index-DriviV-i.d.mts → index-DFUF27Yy.d.ts} +31 -31
  122. package/dist/{index-Cl_7tlH_.d.mts → index-Ilj04YNO.d.ts} +309 -950
  123. package/dist/index.cjs +1 -1
  124. package/dist/index.d.cts +9 -9
  125. package/dist/index.d.ts +93 -0
  126. package/dist/index.js +1 -0
  127. package/dist/{input-BtuZm0BQ.d.mts → input-B_gst0eJ.d.cts} +7 -7
  128. package/dist/{input-CD4zf7t1.d.cts → input-BkHdaXGY.d.ts} +7 -7
  129. package/dist/{input-NJP2wQOm.mjs → input-DAfP6LZ7.js} +1 -1
  130. package/dist/input-DAfP6LZ7.js.map +1 -0
  131. package/dist/{label-CUCpwS5D.mjs → label-B8cAG2kc.js} +1 -1
  132. package/dist/label-B8cAG2kc.js.map +1 -0
  133. package/dist/layouts/cms-layout/index.d.ts +2 -0
  134. package/dist/layouts/cms-layout/index.js +1 -0
  135. package/dist/layouts/flex.d.cts +4 -4
  136. package/dist/layouts/{flex.d.mts → flex.d.ts} +5 -5
  137. package/dist/layouts/flex.js +1 -0
  138. package/dist/layouts/{grid.d.mts → grid.d.ts} +1 -1
  139. package/dist/layouts/{grid.mjs → grid.js} +1 -1
  140. package/dist/layouts/grid.js.map +1 -0
  141. package/dist/layouts/payment-layout/{index.d.mts → index.d.ts} +1 -1
  142. package/dist/layouts/payment-layout/index.js +1 -0
  143. package/dist/pages/FeatureDeveloping.d.cts +2 -2
  144. package/dist/pages/{FeatureDeveloping.d.mts → FeatureDeveloping.d.ts} +3 -3
  145. package/dist/pages/FeatureDeveloping.js +2 -0
  146. package/dist/pages/FeatureDeveloping.js.map +1 -0
  147. package/dist/pages/FeatureFixing.d.cts +2 -2
  148. package/dist/pages/{FeatureFixing.d.mts → FeatureFixing.d.ts} +3 -3
  149. package/dist/pages/FeatureFixing.js +2 -0
  150. package/dist/pages/FeatureFixing.js.map +1 -0
  151. package/dist/pages/LoginPage.d.cts +2 -2
  152. package/dist/pages/{LoginPage.d.mts → LoginPage.d.ts} +3 -3
  153. package/dist/pages/LoginPage.js +2 -0
  154. package/dist/pages/LoginPage.js.map +1 -0
  155. package/dist/pages/NotAuthorized.d.cts +2 -2
  156. package/dist/pages/{NotAuthorized.d.mts → NotAuthorized.d.ts} +3 -3
  157. package/dist/pages/NotAuthorized.js +2 -0
  158. package/dist/pages/NotAuthorized.js.map +1 -0
  159. package/dist/pages/NotFound.d.cts +2 -2
  160. package/dist/pages/{NotFound.d.mts → NotFound.d.ts} +3 -3
  161. package/dist/pages/NotFound.js +2 -0
  162. package/dist/pages/NotFound.js.map +1 -0
  163. package/dist/pages/RegisterPage.d.cts +2 -2
  164. package/dist/pages/{RegisterPage.d.mts → RegisterPage.d.ts} +3 -3
  165. package/dist/pages/RegisterPage.js +2 -0
  166. package/dist/pages/RegisterPage.js.map +1 -0
  167. package/dist/pages/VerifyEmailPage.d.cts +2 -2
  168. package/dist/pages/{VerifyEmailPage.d.mts → VerifyEmailPage.d.ts} +3 -3
  169. package/dist/pages/VerifyEmailPage.js +2 -0
  170. package/dist/pages/VerifyEmailPage.js.map +1 -0
  171. package/dist/{paragraph-DYLaQtTV.mjs → paragraph-Cc13ZI4d.js} +1 -1
  172. package/dist/paragraph-Cc13ZI4d.js.map +1 -0
  173. package/dist/payment-layout-giaGvs8T.js +2 -0
  174. package/dist/payment-layout-giaGvs8T.js.map +1 -0
  175. package/dist/popover-6233wU1s.js +2 -0
  176. package/dist/popover-6233wU1s.js.map +1 -0
  177. package/dist/{progress-CLeM0e7Z.mjs → progress-AYknlEgK.js} +1 -1
  178. package/dist/progress-AYknlEgK.js.map +1 -0
  179. package/dist/{radio-group-Y9bhdr55.mjs → radio-group-ImoBjpqZ.js} +1 -1
  180. package/dist/radio-group-ImoBjpqZ.js.map +1 -0
  181. package/dist/{resizable-CpCaSCFB.mjs → resizable-C-M-mu6b.js} +1 -1
  182. package/dist/resizable-C-M-mu6b.js.map +1 -0
  183. package/dist/search-modal-b2AE5WEW.js +2 -0
  184. package/dist/search-modal-b2AE5WEW.js.map +1 -0
  185. package/dist/{select-LlPCZFSF.mjs → select-CryLzZA0.js} +1 -1
  186. package/dist/select-CryLzZA0.js.map +1 -0
  187. package/dist/{separator-D3Gmkxzq.mjs → separator-BM8hA4DP.js} +1 -1
  188. package/dist/separator-BM8hA4DP.js.map +1 -0
  189. package/dist/{sheet-BFlIfNaA.mjs → sheet-DGXXYgWB.js} +1 -1
  190. package/dist/sheet-DGXXYgWB.js.map +1 -0
  191. package/dist/sidebar-BDrsbzo5.js +2 -0
  192. package/dist/sidebar-BDrsbzo5.js.map +1 -0
  193. package/dist/{skeleton-C51IdOfK.mjs → skeleton-DlRDNM97.js} +1 -1
  194. package/dist/skeleton-DlRDNM97.js.map +1 -0
  195. package/dist/{spinner-eClTgHjk.mjs → spinner-C1eamx3w.js} +1 -1
  196. package/dist/spinner-C1eamx3w.js.map +1 -0
  197. package/dist/{statistic-cwLwcukn.mjs → statistic-CYMqAYNc.js} +1 -1
  198. package/dist/statistic-CYMqAYNc.js.map +1 -0
  199. package/dist/{switch-BP7EPatj.mjs → switch-BLHmdRq2.js} +1 -1
  200. package/dist/switch-BLHmdRq2.js.map +1 -0
  201. package/dist/systems/{google.d.mts → google.d.ts} +1 -1
  202. package/dist/systems/{google.mjs → google.js} +1 -1
  203. package/dist/systems/google.js.map +1 -0
  204. package/dist/tables-DWQytYNm.js +4 -0
  205. package/dist/tables-DWQytYNm.js.map +1 -0
  206. package/dist/tanstack-form-CCDV-3Ml.js +12 -0
  207. package/dist/tanstack-form-CCDV-3Ml.js.map +1 -0
  208. package/dist/{tanstack-form-DatI41wz.cjs → tanstack-form-DoI86Ezs.cjs} +2 -2
  209. package/dist/{tanstack-form-DatI41wz.cjs.map → tanstack-form-DoI86Ezs.cjs.map} +1 -1
  210. package/dist/text-editor-WbS7pJJs.js +2 -0
  211. package/dist/text-editor-WbS7pJJs.js.map +1 -0
  212. package/dist/{textarea-7HDXcaK9.mjs → textarea-Bp6VvhiA.js} +1 -1
  213. package/dist/textarea-Bp6VvhiA.js.map +1 -0
  214. package/dist/{tooltip-Dxl5Wa8i.mjs → tooltip-CVIl6Hln.js} +1 -1
  215. package/dist/tooltip-CVIl6Hln.js.map +1 -0
  216. package/dist/{types-YLu40dXY.d.mts → types-BVSfF-1o.d.ts} +1 -1
  217. package/dist/{types-B5nyTWtO.mjs → types-BZqffRVJ.js} +1 -1
  218. package/dist/types-BZqffRVJ.js.map +1 -0
  219. package/dist/typography/paragraph.d.cts +5 -5
  220. package/dist/typography/{paragraph.d.mts → paragraph.d.ts} +6 -6
  221. package/dist/typography/paragraph.js +1 -0
  222. package/dist/typography/{title.d.mts → title.d.ts} +1 -1
  223. package/dist/typography/{title.mjs → title.js} +1 -1
  224. package/dist/typography/title.js.map +1 -0
  225. package/dist/ui/alert-dialog.d.cts +12 -12
  226. package/dist/ui/{alert-dialog.d.mts → alert-dialog.d.ts} +13 -13
  227. package/dist/ui/alert-dialog.js +2 -0
  228. package/dist/ui/alert-dialog.js.map +1 -0
  229. package/dist/ui/alert.d.cts +1 -1
  230. package/dist/ui/{alert.d.mts → alert.d.ts} +1 -1
  231. package/dist/ui/alert.js +1 -0
  232. package/dist/ui/aspect-ratio.d.cts +2 -2
  233. package/dist/ui/{aspect-ratio.d.mts → aspect-ratio.d.ts} +3 -3
  234. package/dist/ui/{aspect-ratio.mjs → aspect-ratio.js} +1 -1
  235. package/dist/ui/aspect-ratio.js.map +1 -0
  236. package/dist/ui/avatar.d.cts +4 -4
  237. package/dist/ui/{avatar.d.mts → avatar.d.ts} +5 -5
  238. package/dist/ui/avatar.js +1 -0
  239. package/dist/ui/badge.d.cts +1 -1
  240. package/dist/ui/badge.d.ts +2 -0
  241. package/dist/ui/badge.js +1 -0
  242. package/dist/ui/breadcrumb.d.cts +8 -8
  243. package/dist/ui/{breadcrumb.d.mts → breadcrumb.d.ts} +9 -9
  244. package/dist/ui/breadcrumb.js +2 -0
  245. package/dist/ui/breadcrumb.js.map +1 -0
  246. package/dist/ui/button-group.d.cts +6 -6
  247. package/dist/ui/{button-group.d.mts → button-group.d.ts} +8 -8
  248. package/dist/ui/button-group.js +2 -0
  249. package/dist/ui/button-group.js.map +1 -0
  250. package/dist/ui/button.d.cts +1 -1
  251. package/dist/ui/button.d.ts +2 -0
  252. package/dist/ui/button.js +1 -0
  253. package/dist/ui/buttons/{add-new.d.mts → add-new.d.ts} +1 -1
  254. package/dist/ui/buttons/add-new.js +2 -0
  255. package/dist/ui/buttons/add-new.js.map +1 -0
  256. package/dist/ui/buttons/{edit.d.mts → edit.d.ts} +1 -1
  257. package/dist/ui/buttons/edit.js +2 -0
  258. package/dist/ui/buttons/edit.js.map +1 -0
  259. package/dist/ui/buttons/{refresh.d.mts → refresh.d.ts} +1 -1
  260. package/dist/ui/buttons/refresh.js +2 -0
  261. package/dist/ui/buttons/refresh.js.map +1 -0
  262. package/dist/ui/buttons/{trash.d.mts → trash.d.ts} +1 -1
  263. package/dist/ui/buttons/trash.js +2 -0
  264. package/dist/ui/buttons/trash.js.map +1 -0
  265. package/dist/ui/buttons/{upload-image.d.mts → upload-image.d.ts} +1 -1
  266. package/dist/ui/buttons/upload-image.js +2 -0
  267. package/dist/ui/buttons/upload-image.js.map +1 -0
  268. package/dist/ui/calendar.d.cts +4 -4
  269. package/dist/ui/{calendar.d.mts → calendar.d.ts} +5 -5
  270. package/dist/ui/calendar.js +1 -0
  271. package/dist/ui/card.d.cts +8 -8
  272. package/dist/ui/{card.d.mts → card.d.ts} +9 -9
  273. package/dist/ui/card.js +2 -0
  274. package/dist/ui/card.js.map +1 -0
  275. package/dist/ui/carousel.d.cts +7 -7
  276. package/dist/ui/{carousel.d.mts → carousel.d.ts} +8 -8
  277. package/dist/ui/carousel.js +2 -0
  278. package/dist/ui/carousel.js.map +1 -0
  279. package/dist/ui/checkbox.d.cts +2 -2
  280. package/dist/ui/{checkbox.d.mts → checkbox.d.ts} +3 -3
  281. package/dist/ui/checkbox.js +1 -0
  282. package/dist/ui/collapsible.d.cts +4 -4
  283. package/dist/ui/{collapsible.d.mts → collapsible.d.ts} +5 -5
  284. package/dist/ui/{collapsible.mjs → collapsible.js} +1 -1
  285. package/dist/ui/collapsible.js.map +1 -0
  286. package/dist/ui/command.d.cts +11 -11
  287. package/dist/ui/{command.d.mts → command.d.ts} +12 -12
  288. package/dist/ui/command.js +1 -0
  289. package/dist/ui/context-menu.d.cts +16 -16
  290. package/dist/ui/{context-menu.d.mts → context-menu.d.ts} +17 -17
  291. package/dist/ui/{context-menu.mjs → context-menu.js} +1 -1
  292. package/dist/ui/context-menu.js.map +1 -0
  293. package/dist/ui/dialog.d.cts +1 -1
  294. package/dist/ui/{dialog.d.mts → dialog.d.ts} +1 -1
  295. package/dist/ui/dialog.js +1 -0
  296. package/dist/ui/drawer.d.cts +11 -11
  297. package/dist/ui/{drawer.d.mts → drawer.d.ts} +12 -12
  298. package/dist/ui/drawer.js +1 -0
  299. package/dist/ui/dropdown-menu.d.cts +16 -16
  300. package/dist/ui/{dropdown-menu.d.mts → dropdown-menu.d.ts} +17 -17
  301. package/dist/ui/dropdown-menu.js +1 -0
  302. package/dist/ui/empty.d.cts +9 -9
  303. package/dist/ui/{empty.d.mts → empty.d.ts} +10 -10
  304. package/dist/ui/{empty.mjs → empty.js} +1 -1
  305. package/dist/ui/empty.js.map +1 -0
  306. package/dist/ui/field.d.cts +23 -23
  307. package/dist/ui/field.d.ts +65 -0
  308. package/dist/ui/field.js +1 -0
  309. package/dist/ui/file-uploader.d.cts +2 -2
  310. package/dist/ui/{file-uploader.d.mts → file-uploader.d.ts} +3 -3
  311. package/dist/ui/file-uploader.js +3 -0
  312. package/dist/ui/file-uploader.js.map +1 -0
  313. package/dist/ui/form.d.cts +10 -10
  314. package/dist/ui/{form.d.mts → form.d.ts} +11 -11
  315. package/dist/ui/form.js +2 -0
  316. package/dist/ui/form.js.map +1 -0
  317. package/dist/ui/hover-card.d.cts +4 -4
  318. package/dist/ui/{hover-card.d.mts → hover-card.d.ts} +5 -5
  319. package/dist/ui/{hover-card.mjs → hover-card.js} +1 -1
  320. package/dist/ui/hover-card.js.map +1 -0
  321. package/dist/ui/{image.d.mts → image.d.ts} +1 -1
  322. package/dist/ui/image.js +1 -0
  323. package/dist/ui/input-otp.d.cts +5 -5
  324. package/dist/ui/{input-otp.d.mts → input-otp.d.ts} +6 -6
  325. package/dist/ui/{input-otp.mjs → input-otp.js} +1 -1
  326. package/dist/ui/input-otp.js.map +1 -0
  327. package/dist/ui/input.d.cts +1 -1
  328. package/dist/ui/input.d.ts +2 -0
  329. package/dist/ui/input.js +1 -0
  330. package/dist/ui/inputs/search-input.d.cts +3 -3
  331. package/dist/ui/inputs/{search-input.d.mts → search-input.d.ts} +4 -4
  332. package/dist/ui/inputs/search-input.js +2 -0
  333. package/dist/ui/inputs/search-input.js.map +1 -0
  334. package/dist/ui/item.d.cts +16 -16
  335. package/dist/ui/{item.d.mts → item.d.ts} +18 -18
  336. package/dist/ui/item.js +2 -0
  337. package/dist/ui/item.js.map +1 -0
  338. package/dist/ui/label.d.cts +2 -2
  339. package/dist/ui/{label.d.mts → label.d.ts} +3 -3
  340. package/dist/ui/label.js +1 -0
  341. package/dist/ui/menubar.d.cts +17 -17
  342. package/dist/ui/{menubar.d.mts → menubar.d.ts} +18 -18
  343. package/dist/ui/{menubar.mjs → menubar.js} +1 -1
  344. package/dist/ui/menubar.js.map +1 -0
  345. package/dist/ui/multi-select.d.cts +2 -2
  346. package/dist/ui/{multi-select.d.mts → multi-select.d.ts} +5 -5
  347. package/dist/ui/multi-select.js +2 -0
  348. package/dist/ui/multi-select.js.map +1 -0
  349. package/dist/ui/navigation-menu.d.cts +11 -11
  350. package/dist/ui/{navigation-menu.d.mts → navigation-menu.d.ts} +12 -12
  351. package/dist/ui/{navigation-menu.mjs → navigation-menu.js} +1 -1
  352. package/dist/ui/navigation-menu.js.map +1 -0
  353. package/dist/ui/pagination.d.cts +9 -9
  354. package/dist/ui/{pagination.d.mts → pagination.d.ts} +10 -10
  355. package/dist/ui/pagination.js +2 -0
  356. package/dist/ui/pagination.js.map +1 -0
  357. package/dist/ui/popover.d.cts +6 -6
  358. package/dist/ui/{popover.d.mts → popover.d.ts} +7 -7
  359. package/dist/ui/popover.js +1 -0
  360. package/dist/ui/progress.d.cts +2 -2
  361. package/dist/ui/{progress.d.mts → progress.d.ts} +3 -3
  362. package/dist/ui/progress.js +1 -0
  363. package/dist/ui/radio-group.d.cts +3 -3
  364. package/dist/ui/{radio-group.d.mts → radio-group.d.ts} +4 -4
  365. package/dist/ui/radio-group.js +1 -0
  366. package/dist/ui/resizable.d.cts +9 -9
  367. package/dist/ui/{resizable.d.mts → resizable.d.ts} +10 -10
  368. package/dist/ui/resizable.js +1 -0
  369. package/dist/ui/scroll-area.d.cts +5 -5
  370. package/dist/ui/{scroll-area.d.mts → scroll-area.d.ts} +6 -6
  371. package/dist/ui/{scroll-area.mjs → scroll-area.js} +1 -1
  372. package/dist/ui/scroll-area.js.map +1 -0
  373. package/dist/ui/select.d.cts +9 -9
  374. package/dist/ui/{select.d.mts → select.d.ts} +10 -10
  375. package/dist/ui/select.js +1 -0
  376. package/dist/ui/separator.d.cts +2 -2
  377. package/dist/ui/{separator.d.mts → separator.d.ts} +3 -3
  378. package/dist/ui/separator.js +1 -0
  379. package/dist/ui/sheet.d.cts +9 -9
  380. package/dist/ui/{sheet.d.mts → sheet.d.ts} +10 -10
  381. package/dist/ui/sheet.js +1 -0
  382. package/dist/ui/skeleton.d.cts +2 -2
  383. package/dist/ui/{skeleton.d.mts → skeleton.d.ts} +3 -3
  384. package/dist/ui/skeleton.js +1 -0
  385. package/dist/ui/slider.d.cts +2 -2
  386. package/dist/ui/{slider.d.mts → slider.d.ts} +3 -3
  387. package/dist/ui/{slider.mjs → slider.js} +1 -1
  388. package/dist/ui/slider.js.map +1 -0
  389. package/dist/ui/sonner.d.cts +2 -2
  390. package/dist/ui/{sonner.d.mts → sonner.d.ts} +3 -3
  391. package/dist/ui/{sonner.mjs → sonner.js} +1 -1
  392. package/dist/ui/sonner.js.map +1 -0
  393. package/dist/ui/spinner.d.cts +2 -2
  394. package/dist/ui/{spinner.d.mts → spinner.d.ts} +3 -3
  395. package/dist/ui/spinner.js +1 -0
  396. package/dist/ui/switch.d.cts +2 -2
  397. package/dist/ui/{switch.d.mts → switch.d.ts} +3 -3
  398. package/dist/ui/switch.js +1 -0
  399. package/dist/ui/table.d.cts +17 -17
  400. package/dist/ui/{table.d.mts → table.d.ts} +18 -18
  401. package/dist/ui/{table.mjs → table.js} +1 -1
  402. package/dist/ui/table.js.map +1 -0
  403. package/dist/ui/tabs.d.cts +5 -5
  404. package/dist/ui/{tabs.d.mts → tabs.d.ts} +6 -6
  405. package/dist/ui/{tabs.mjs → tabs.js} +1 -1
  406. package/dist/ui/tabs.js.map +1 -0
  407. package/dist/ui/textarea.d.cts +2 -2
  408. package/dist/ui/{textarea.d.mts → textarea.d.ts} +3 -3
  409. package/dist/ui/textarea.js +1 -0
  410. package/dist/ui/toggle-group.d.cts +3 -3
  411. package/dist/ui/{toggle-group.d.mts → toggle-group.d.ts} +5 -5
  412. package/dist/ui/toggle-group.js +2 -0
  413. package/dist/ui/toggle-group.js.map +1 -0
  414. package/dist/ui/toggle.d.cts +5 -5
  415. package/dist/ui/{toggle.d.mts → toggle.d.ts} +4 -4
  416. package/dist/ui/{toggle.mjs → toggle.js} +1 -1
  417. package/dist/ui/toggle.js.map +1 -0
  418. package/dist/ui/tooltip.d.cts +5 -5
  419. package/dist/ui/{tooltip.d.mts → tooltip.d.ts} +6 -6
  420. package/dist/ui/tooltip.js +1 -0
  421. package/dist/user-BSpgswEC.js +2 -0
  422. package/dist/user-BSpgswEC.js.map +1 -0
  423. package/package.json +97 -97
  424. package/dist/alert-BbvPwf2x.mjs.map +0 -1
  425. package/dist/avatar-fltdRVsJ.mjs.map +0 -1
  426. package/dist/badge-CDGBGq8X.mjs.map +0 -1
  427. package/dist/button-CCVJTHBI.mjs +0 -2
  428. package/dist/button-CCVJTHBI.mjs.map +0 -1
  429. package/dist/button.variants-DkMqWB8G.mjs.map +0 -1
  430. package/dist/calendar-R866yyd1.mjs +0 -2
  431. package/dist/calendar-R866yyd1.mjs.map +0 -1
  432. package/dist/cards/grid-product-card.mjs +0 -2
  433. package/dist/cards/grid-product-card.mjs.map +0 -1
  434. package/dist/cards/product-card.mjs +0 -2
  435. package/dist/cards/product-card.mjs.map +0 -1
  436. package/dist/cards/simple-card.mjs +0 -2
  437. package/dist/cards/simple-card.mjs.map +0 -1
  438. package/dist/checkbox-Cat3i08X.mjs.map +0 -1
  439. package/dist/close-_UHFeiLS.mjs.map +0 -1
  440. package/dist/cms-layout-DkCR1AfG.mjs +0 -2
  441. package/dist/cms-layout-DkCR1AfG.mjs.map +0 -1
  442. package/dist/command-D6_CSbwJ.mjs +0 -2
  443. package/dist/command-D6_CSbwJ.mjs.map +0 -1
  444. package/dist/data-display/country.mjs +0 -2
  445. package/dist/data-display/country.mjs.map +0 -1
  446. package/dist/data-display/data-list.mjs.map +0 -1
  447. package/dist/data-display/date-tooltip.mjs +0 -2
  448. package/dist/data-display/date-tooltip.mjs.map +0 -1
  449. package/dist/data-display/date.mjs +0 -1
  450. package/dist/data-display/empty.mjs.map +0 -1
  451. package/dist/data-display/name.mjs +0 -2
  452. package/dist/data-display/name.mjs.map +0 -1
  453. package/dist/data-display/phone-number.mjs +0 -2
  454. package/dist/data-display/phone-number.mjs.map +0 -1
  455. package/dist/data-display/role-badge.mjs +0 -2
  456. package/dist/data-display/role-badge.mjs.map +0 -1
  457. package/dist/data-display/statistic.mjs +0 -1
  458. package/dist/data-display/user.mjs +0 -1
  459. package/dist/date-fY3sUcLp.mjs.map +0 -1
  460. package/dist/dialog-CLDnvNH_.mjs +0 -2
  461. package/dist/dialog-CLDnvNH_.mjs.map +0 -1
  462. package/dist/dialogs/confirm-dialog.mjs +0 -2
  463. package/dist/dialogs/confirm-dialog.mjs.map +0 -1
  464. package/dist/dialogs/detail-dialog/components/sidebar.mjs +0 -1
  465. package/dist/dialogs/detail-dialog/index.mjs +0 -2
  466. package/dist/dialogs/detail-dialog/index.mjs.map +0 -1
  467. package/dist/dialogs/error-dialog.mjs +0 -2
  468. package/dist/dialogs/error-dialog.mjs.map +0 -1
  469. package/dist/dialogs/loading-dialog.mjs +0 -2
  470. package/dist/dialogs/loading-dialog.mjs.map +0 -1
  471. package/dist/dist-DVrfqn8H.mjs.map +0 -1
  472. package/dist/drawer-CMD7JWH8.mjs.map +0 -1
  473. package/dist/dropdown-menu-BWhiVsEf.mjs.map +0 -1
  474. package/dist/features/descriptions/index.mjs +0 -2
  475. package/dist/features/descriptions/index.mjs.map +0 -1
  476. package/dist/features/search-modal/index.mjs +0 -1
  477. package/dist/features/tables/index.mjs +0 -1
  478. package/dist/features/tanstack-form/index.d.mts +0 -2
  479. package/dist/features/tanstack-form/index.mjs +0 -1
  480. package/dist/features/text-editor/index.mjs +0 -1
  481. package/dist/field-dYemS0hQ.mjs +0 -2
  482. package/dist/field-dYemS0hQ.mjs.map +0 -1
  483. package/dist/flex-B6YSJzGe.mjs.map +0 -1
  484. package/dist/heading-De4Pn3mZ.mjs.map +0 -1
  485. package/dist/image-D7OZ13Ib.mjs +0 -2
  486. package/dist/image-D7OZ13Ib.mjs.map +0 -1
  487. package/dist/index.d.mts +0 -93
  488. package/dist/index.mjs +0 -1
  489. package/dist/input-NJP2wQOm.mjs.map +0 -1
  490. package/dist/label-CUCpwS5D.mjs.map +0 -1
  491. package/dist/layouts/cms-layout/index.d.mts +0 -2
  492. package/dist/layouts/cms-layout/index.mjs +0 -1
  493. package/dist/layouts/flex.mjs +0 -1
  494. package/dist/layouts/grid.mjs.map +0 -1
  495. package/dist/layouts/payment-layout/index.mjs +0 -1
  496. package/dist/pages/FeatureDeveloping.mjs +0 -2
  497. package/dist/pages/FeatureDeveloping.mjs.map +0 -1
  498. package/dist/pages/FeatureFixing.mjs +0 -2
  499. package/dist/pages/FeatureFixing.mjs.map +0 -1
  500. package/dist/pages/LoginPage.mjs +0 -2
  501. package/dist/pages/LoginPage.mjs.map +0 -1
  502. package/dist/pages/NotAuthorized.mjs +0 -2
  503. package/dist/pages/NotAuthorized.mjs.map +0 -1
  504. package/dist/pages/NotFound.mjs +0 -2
  505. package/dist/pages/NotFound.mjs.map +0 -1
  506. package/dist/pages/RegisterPage.mjs +0 -2
  507. package/dist/pages/RegisterPage.mjs.map +0 -1
  508. package/dist/pages/VerifyEmailPage.mjs +0 -2
  509. package/dist/pages/VerifyEmailPage.mjs.map +0 -1
  510. package/dist/paragraph-DYLaQtTV.mjs.map +0 -1
  511. package/dist/payment-layout-DrQ0kZPX.mjs +0 -2
  512. package/dist/payment-layout-DrQ0kZPX.mjs.map +0 -1
  513. package/dist/popover-C8rcemA3.mjs +0 -2
  514. package/dist/popover-C8rcemA3.mjs.map +0 -1
  515. package/dist/progress-CLeM0e7Z.mjs.map +0 -1
  516. package/dist/radio-group-Y9bhdr55.mjs.map +0 -1
  517. package/dist/resizable-CpCaSCFB.mjs.map +0 -1
  518. package/dist/search-modal-Bn-GOOCy.mjs +0 -2
  519. package/dist/search-modal-Bn-GOOCy.mjs.map +0 -1
  520. package/dist/select-LlPCZFSF.mjs.map +0 -1
  521. package/dist/separator-D3Gmkxzq.mjs.map +0 -1
  522. package/dist/sheet-BFlIfNaA.mjs.map +0 -1
  523. package/dist/sidebar-ChtCyu-n.mjs +0 -2
  524. package/dist/sidebar-ChtCyu-n.mjs.map +0 -1
  525. package/dist/skeleton-C51IdOfK.mjs.map +0 -1
  526. package/dist/spinner-eClTgHjk.mjs.map +0 -1
  527. package/dist/statistic-cwLwcukn.mjs.map +0 -1
  528. package/dist/switch-BP7EPatj.mjs.map +0 -1
  529. package/dist/systems/google.mjs.map +0 -1
  530. package/dist/tables-CFrsk2lM.mjs +0 -4
  531. package/dist/tables-CFrsk2lM.mjs.map +0 -1
  532. package/dist/tanstack-form-DT1TqIDl.mjs +0 -12
  533. package/dist/tanstack-form-DT1TqIDl.mjs.map +0 -1
  534. package/dist/text-editor-5mA7XyaI.mjs +0 -2
  535. package/dist/text-editor-5mA7XyaI.mjs.map +0 -1
  536. package/dist/textarea-7HDXcaK9.mjs.map +0 -1
  537. package/dist/tooltip-Dxl5Wa8i.mjs.map +0 -1
  538. package/dist/types-B5nyTWtO.mjs.map +0 -1
  539. package/dist/typography/paragraph.mjs +0 -1
  540. package/dist/typography/title.mjs.map +0 -1
  541. package/dist/ui/alert-dialog.mjs +0 -2
  542. package/dist/ui/alert-dialog.mjs.map +0 -1
  543. package/dist/ui/alert.mjs +0 -1
  544. package/dist/ui/aspect-ratio.mjs.map +0 -1
  545. package/dist/ui/avatar.mjs +0 -1
  546. package/dist/ui/badge.d.mts +0 -2
  547. package/dist/ui/badge.mjs +0 -1
  548. package/dist/ui/breadcrumb.mjs +0 -2
  549. package/dist/ui/breadcrumb.mjs.map +0 -1
  550. package/dist/ui/button-group.mjs +0 -2
  551. package/dist/ui/button-group.mjs.map +0 -1
  552. package/dist/ui/button.d.mts +0 -2
  553. package/dist/ui/button.mjs +0 -1
  554. package/dist/ui/buttons/add-new.mjs +0 -2
  555. package/dist/ui/buttons/add-new.mjs.map +0 -1
  556. package/dist/ui/buttons/edit.mjs +0 -2
  557. package/dist/ui/buttons/edit.mjs.map +0 -1
  558. package/dist/ui/buttons/refresh.mjs +0 -2
  559. package/dist/ui/buttons/refresh.mjs.map +0 -1
  560. package/dist/ui/buttons/trash.mjs +0 -2
  561. package/dist/ui/buttons/trash.mjs.map +0 -1
  562. package/dist/ui/buttons/upload-image.mjs +0 -2
  563. package/dist/ui/buttons/upload-image.mjs.map +0 -1
  564. package/dist/ui/calendar.mjs +0 -1
  565. package/dist/ui/card.mjs +0 -2
  566. package/dist/ui/card.mjs.map +0 -1
  567. package/dist/ui/carousel.mjs +0 -2
  568. package/dist/ui/carousel.mjs.map +0 -1
  569. package/dist/ui/checkbox.mjs +0 -1
  570. package/dist/ui/collapsible.mjs.map +0 -1
  571. package/dist/ui/command.mjs +0 -1
  572. package/dist/ui/context-menu.mjs.map +0 -1
  573. package/dist/ui/dialog.mjs +0 -1
  574. package/dist/ui/drawer.mjs +0 -1
  575. package/dist/ui/dropdown-menu.mjs +0 -1
  576. package/dist/ui/empty.mjs.map +0 -1
  577. package/dist/ui/field.d.mts +0 -65
  578. package/dist/ui/field.mjs +0 -1
  579. package/dist/ui/file-uploader.mjs +0 -3
  580. package/dist/ui/file-uploader.mjs.map +0 -1
  581. package/dist/ui/form.mjs +0 -2
  582. package/dist/ui/form.mjs.map +0 -1
  583. package/dist/ui/hover-card.mjs.map +0 -1
  584. package/dist/ui/image.mjs +0 -1
  585. package/dist/ui/input-otp.mjs.map +0 -1
  586. package/dist/ui/input.d.mts +0 -2
  587. package/dist/ui/input.mjs +0 -1
  588. package/dist/ui/inputs/search-input.mjs +0 -2
  589. package/dist/ui/inputs/search-input.mjs.map +0 -1
  590. package/dist/ui/item.mjs +0 -2
  591. package/dist/ui/item.mjs.map +0 -1
  592. package/dist/ui/label.mjs +0 -1
  593. package/dist/ui/menubar.mjs.map +0 -1
  594. package/dist/ui/multi-select.mjs +0 -2
  595. package/dist/ui/multi-select.mjs.map +0 -1
  596. package/dist/ui/navigation-menu.mjs.map +0 -1
  597. package/dist/ui/pagination.mjs +0 -2
  598. package/dist/ui/pagination.mjs.map +0 -1
  599. package/dist/ui/popover.mjs +0 -1
  600. package/dist/ui/progress.mjs +0 -1
  601. package/dist/ui/radio-group.mjs +0 -1
  602. package/dist/ui/resizable.mjs +0 -1
  603. package/dist/ui/scroll-area.mjs.map +0 -1
  604. package/dist/ui/select.mjs +0 -1
  605. package/dist/ui/separator.mjs +0 -1
  606. package/dist/ui/sheet.mjs +0 -1
  607. package/dist/ui/skeleton.mjs +0 -1
  608. package/dist/ui/slider.mjs.map +0 -1
  609. package/dist/ui/sonner.mjs.map +0 -1
  610. package/dist/ui/spinner.mjs +0 -1
  611. package/dist/ui/switch.mjs +0 -1
  612. package/dist/ui/table.mjs.map +0 -1
  613. package/dist/ui/tabs.mjs.map +0 -1
  614. package/dist/ui/textarea.mjs +0 -1
  615. package/dist/ui/toggle-group.mjs +0 -2
  616. package/dist/ui/toggle-group.mjs.map +0 -1
  617. package/dist/ui/toggle.mjs.map +0 -1
  618. package/dist/ui/tooltip.mjs +0 -1
  619. package/dist/user-DtZy4P9d.mjs +0 -2
  620. package/dist/user-DtZy4P9d.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"dist-DVrfqn8H.mjs","names":["use"],"sources":["../node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../node_modules/@radix-ui/react-slot/dist/index.mjs"],"sourcesContent":["// src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n let { children, ...slotProps } = props;\n let slottableElement = null;\n let hasSlottable = false;\n const newChildren = [];\n if (isLazyComponent(children) && typeof use === \"function\") {\n children = use(children._payload);\n }\n React.Children.forEach(children, (maybeSlottable) => {\n if (isSlottable(maybeSlottable)) {\n hasSlottable = true;\n const slottable = maybeSlottable;\n let child = \"child\" in slottable.props ? slottable.props.child : slottable.props.children;\n if (isLazyComponent(child) && typeof use === \"function\") {\n child = use(child._payload);\n }\n slottableElement = getSlottableElementFromSlottable(slottable, child);\n newChildren.push(slottableElement?.props?.children);\n } else {\n newChildren.push(maybeSlottable);\n }\n });\n if (slottableElement) {\n slottableElement = React.cloneElement(slottableElement, void 0, newChildren);\n } else if (\n // A `Slottable` was found but it didn't resolve to a single element (e.g.\n // it wrapped multiple elements, text, or a render-prop `child` that\n // wasn't an element). Don't fall back to treating the `Slottable` wrapper\n // itself as the slot target — throw a descriptive error below instead.\n !hasSlottable && React.Children.count(children) === 1 && React.isValidElement(children)\n ) {\n slottableElement = children;\n }\n const slottableElementRef = slottableElement ? getElementRef(slottableElement) : void 0;\n const composedRef = useComposedRefs(forwardedRef, slottableElementRef);\n if (!slottableElement) {\n if (children || children === 0) {\n throw new Error(\n hasSlottable ? createSlottableError(ownerName) : createSlotError(ownerName)\n );\n }\n return children;\n }\n const mergedProps = mergeProps(slotProps, slottableElement.props ?? {});\n if (slottableElement.type !== React.Fragment) {\n mergedProps.ref = forwardedRef ? composedRef : slottableElementRef;\n }\n return React.cloneElement(slottableElement, mergedProps);\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\nvar SLOTTABLE_IDENTIFIER = Symbol.for(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = (props) => \"child\" in props ? props.children(props.child) : props.children;\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nvar getSlottableElementFromSlottable = (slottable, child) => {\n if (\"child\" in slottable.props) {\n const child2 = slottable.props.child;\n if (!React.isValidElement(child2)) return null;\n return React.cloneElement(child2, void 0, slottable.props.children(child2.props.children));\n }\n return React.isValidElement(child) ? child : null;\n};\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nvar REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nfunction isLazyComponent(element) {\n return element != null && typeof element === \"object\" && \"$$typeof\" in element && element.$$typeof === REACT_LAZY_TYPE && \"_payload\" in element && isPromiseLike(element._payload);\n}\nfunction isPromiseLike(value) {\n return typeof value === \"object\" && value !== null && \"then\" in value;\n}\nvar createSlotError = (ownerName) => {\n return `${ownerName} failed to slot onto its children. Expected a single React element child or \\`Slottable\\`.`;\n};\nvar createSlottableError = (ownerName) => {\n return `${ownerName} failed to slot onto its \\`Slottable\\`. Expected \\`Slottable\\` to receive a single React element child.`;\n};\nvar use = React[\" use \".trim().toString()];\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"drawer-CMD7JWH8.mjs","names":["Drawer","DrawerPrimitive"],"sources":["../packages/components/ui/drawer.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Drawer as DrawerPrimitive } from 'vaul';\n\n/**\n * Root provider for the Drawer — a vaul-powered slide-in panel supporting top, bottom, left, and right directions.\n *\n * @example\n * ```tsx\n * import { Drawer, DrawerTrigger, DrawerContent, DrawerHeader, DrawerTitle, DrawerDescription } from '@customafk/lunas-ui/ui/drawer';\n *\n * <Drawer>\n * <DrawerTrigger>Open Drawer</DrawerTrigger>\n * <DrawerContent>\n * <DrawerHeader>\n * <DrawerTitle>Confirm action</DrawerTitle>\n * <DrawerDescription>This action cannot be undone.</DrawerDescription>\n * </DrawerHeader>\n * </DrawerContent>\n * </Drawer>\n * ```\n */\nfunction Drawer({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Root>) {\n return <DrawerPrimitive.Root data-slot=\"drawer\" {...props} />;\n}\n\n/** Element that opens the Drawer when activated. */\nfunction DrawerTrigger({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Trigger>) {\n return <DrawerPrimitive.Trigger data-slot=\"drawer-trigger\" {...props} />;\n}\n\n/** Portals Drawer content outside the current DOM tree. */\nfunction DrawerPortal({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Portal>) {\n return <DrawerPrimitive.Portal data-slot=\"drawer-portal\" {...props} />;\n}\n\n/** Button that programmatically closes the Drawer. */\nfunction DrawerClose({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Close>) {\n return <DrawerPrimitive.Close data-slot=\"drawer-close\" {...props} />;\n}\n\n/** Dimmed backdrop rendered behind the Drawer panel. */\nfunction DrawerOverlay({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Overlay>) {\n return (\n <DrawerPrimitive.Overlay\n data-slot=\"drawer-overlay\"\n className={cn(\n 'fixed inset-0 z-50 bg-black/50',\n 'data-[state=open]:animate-in',\n 'data-[state=closed]:animate-out',\n 'data-[state=open]:fade-in-0',\n 'data-[state=closed]:fade-out-0',\n className\n )}\n {...props}\n />\n );\n}\n\n/** The main Drawer panel; automatically positions itself based on the direction set on the root. */\nfunction DrawerContent({ className, children, ...props }: React.ComponentProps<typeof DrawerPrimitive.Content>) {\n return (\n <DrawerPortal data-slot=\"drawer-portal\">\n <DrawerOverlay />\n <DrawerPrimitive.Content\n data-slot=\"drawer-content\"\n className={cn(\n 'group/drawer-content bg-background shadow-card fixed z-50 flex h-auto flex-col',\n\n 'data-[vaul-drawer-direction=top]:inset-x-0',\n 'data-[vaul-drawer-direction=top]:top-0',\n 'data-[vaul-drawer-direction=top]:mb-24',\n 'data-[vaul-drawer-direction=top]:max-h-[80vh]',\n 'data-[vaul-drawer-direction=top]:rounded-b-lg',\n\n 'data-[vaul-drawer-direction=bottom]:inset-x-0',\n 'data-[vaul-drawer-direction=bottom]:bottom-0',\n 'data-[vaul-drawer-direction=bottom]:mt-24',\n 'data-[vaul-drawer-direction=bottom]:max-h-[80vh]',\n 'data-[vaul-drawer-direction=bottom]:rounded-t-lg',\n\n 'data-[vaul-drawer-direction=right]:inset-y-0',\n 'data-[vaul-drawer-direction=right]:right-0',\n 'data-[vaul-drawer-direction=right]:w-3/4',\n 'data-[vaul-drawer-direction=right]:sm:max-w-sm',\n\n 'data-[vaul-drawer-direction=left]:inset-y-0',\n 'data-[vaul-drawer-direction=left]:left-0',\n 'data-[vaul-drawer-direction=left]:w-3/4',\n 'data-[vaul-drawer-direction=left]:sm:max-w-sm',\n className\n )}\n {...props}\n >\n <div className=\"bg-border-weak mx-auto mt-4 hidden h-2 w-25 shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block\" />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n );\n}\n\n/** Padded header section at the top of the Drawer for the title and description. */\nfunction DrawerHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"drawer-header\"\n className={cn(\n 'flex flex-col gap-0.5 p-4',\n 'md:gap-1.5 md:text-left',\n 'group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center',\n 'group-data-[vaul-drawer-direction=top]/drawer-content:text-center',\n className\n )}\n {...props}\n />\n );\n}\n\n/** Footer section pinned to the bottom of the Drawer, typically used for action buttons. */\nfunction DrawerFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"drawer-footer\" className={cn('mt-auto flex flex-col gap-2 p-4', className)} {...props} />;\n}\n\n/** Accessible title element for the Drawer, announced by screen readers on open. */\nfunction DrawerTitle({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Title>) {\n return <DrawerPrimitive.Title data-slot=\"drawer-title\" className={cn('text-text-positive font-semibold', className)} {...props} />;\n}\n\n/** Accessible description element for the Drawer, providing supplemental context to the title. */\nfunction DrawerDescription({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Description>) {\n return <DrawerPrimitive.Description data-slot=\"drawer-description\" className={cn('text-text-positive-weak text-sm', className)} {...props} />;\n}\n\nexport { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };\n"],"mappings":"oIAuBA,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,+BACA,kCACA,8BACA,iCACA,EACD,CACD,GAAI,GACJ,CAKN,SAAS,EAAc,CAAE,YAAW,WAAU,GAAG,GAA+D,CAC9G,OACE,EAAC,EAAA,CAAa,YAAU,0BACtB,EAAC,EAAA,EAAA,CAAgB,CACjB,EAACA,EAAgB,QAAA,CACf,YAAU,iBACV,UAAW,EACT,iFAEA,6CACA,yCACA,yCACA,gDACA,gDAEA,gDACA,+CACA,4CACA,mDACA,mDAEA,+CACA,6CACA,2CACA,iDAEA,8CACA,2CACA,0CACA,gDACA,EACD,CACD,GAAI,YAEJ,EAAC,MAAA,CAAI,UAAU,mIAAA,CAAqI,CACnJ,EAAA,EACuB,CAAA,EACb,CAKnB,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OACE,EAAC,MAAA,CACC,YAAU,gBACV,UAAW,EACT,4BACA,0BACA,uEACA,oEACA,EACD,CACD,GAAI,GACJ,CAKN,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OAAO,EAAC,MAAA,CAAI,YAAU,gBAAgB,UAAW,EAAG,kCAAmC,EAAU,CAAE,GAAI,GAAS,CAIlH,SAAS,EAAY,CAAE,YAAW,GAAG,GAA6D,CAChG,OAAO,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,UAAW,EAAG,mCAAoC,EAAU,CAAE,GAAI,GAAS,CAIpI,SAAS,EAAkB,CAAE,YAAW,GAAG,GAAmE,CAC5G,OAAO,EAACA,EAAgB,YAAA,CAAY,YAAU,qBAAqB,UAAW,EAAG,kCAAmC,EAAU,CAAE,GAAI,GAAS"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown-menu-BWhiVsEf.mjs","names":["DropdownMenu","DropdownMenuPrimitive"],"sources":["../packages/components/ui/dropdown-menu.tsx"],"sourcesContent":["'use client';\n\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';\n\n/**\n * Root provider for the DropdownMenu — wraps all sub-components and controls open state.\n *\n * @example\n * ```tsx\n * import {\n * DropdownMenu, DropdownMenuTrigger, DropdownMenuContent,\n * DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator,\n * } from '@customafk/lunas-ui/ui/dropdown-menu';\n *\n * <DropdownMenu>\n * <DropdownMenuTrigger>Options</DropdownMenuTrigger>\n * <DropdownMenuContent>\n * <DropdownMenuLabel>My Account</DropdownMenuLabel>\n * <DropdownMenuSeparator />\n * <DropdownMenuItem>Profile</DropdownMenuItem>\n * <DropdownMenuItem variant=\"destructive\">Delete</DropdownMenuItem>\n * </DropdownMenuContent>\n * </DropdownMenu>\n * ```\n */\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\n/** Portals DropdownMenu content outside the current DOM hierarchy. */\nfunction DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\n/** Element that opens the DropdownMenu when activated. */\nfunction DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\n/** Animated floating panel that contains the dropdown items. */\nfunction DropdownMenuContent({ className, sideOffset = 4, align = 'start', ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n align={align}\n className={cn(\n 'bg-popover text-text-positive',\n 'z-50 min-w-32',\n 'overflow-y-auto overflow-x-hidden',\n 'rounded-md p-1.5 shadow-dropdown',\n 'max-h-(--radix-dropdown-menu-content-available-height)',\n 'origin-(--radix-dropdown-menu-content-transform-origin)',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\n/** Groups related DropdownMenuItems under a shared logical section. */\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\n/**\n * A single clickable row inside a DropdownMenuContent.\n *\n * @param inset - When true, adds left padding to align with items that have icons.\n * @param variant - Visual style: `'default'` or `'destructive'`.\n */\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-inset:pl-8',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n 'data-[variant=destructive]:text-danger',\n 'data-[variant=destructive]:focus:bg-danger-muted data-[variant=destructive]:focus:text-danger-strong',\n 'data-[variant=destructive]:*:[svg]:text-danger!',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-text-positive-weak\",\n className\n )}\n {...props}\n />\n );\n}\n\n/** A checkable menu item that displays a checkmark when selected. */\nfunction DropdownMenuCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\n/** Groups DropdownMenuRadioItems so only one can be selected at a time. */\nfunction DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\n/** A radio-button menu item; shows a filled circle when selected. */\nfunction DropdownMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\n/**\n * Non-interactive label used to describe a group of items.\n *\n * @param inset - When true, adds left padding to align with inset items.\n */\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn('px-2 py-1.5 font-medium text-sm text-text-positive-weak data-inset:pl-8', className)}\n {...props}\n />\n );\n}\n\n/** Horizontal dividing line between groups of dropdown items. */\nfunction DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return <DropdownMenuPrimitive.Separator data-slot=\"dropdown-menu-separator\" className={cn('-mx-1 my-1 h-px bg-border-weak', className)} {...props} />;\n}\n\n/** Displays a keyboard shortcut hint aligned to the right of a menu item. */\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return <span data-slot=\"dropdown-menu-shortcut\" className={cn('ml-auto text-xs text-text-positive-muted tracking-widest', className)} {...props} />;\n}\n\n/** Root container for a nested sub-menu inside a DropdownMenu. */\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\n/**\n * Menu item that reveals a nested DropdownMenuSubContent on hover or activation.\n *\n * @param inset - When true, adds left padding to align with inset items.\n */\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n 'flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-[state=open]:bg-muted-muted data-[state=open]:text-text-positive-strong',\n 'data-inset:pl-8',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\n/** Floating panel that contains the items of a nested sub-menu. */\nfunction DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'bg-popover text-text-positive',\n 'z-50 min-w-32',\n 'overflow-y-auto overflow-x-hidden',\n 'origin-(--radix-dropdown-menu-content-transform-origin) rounded-md p-1.5 shadow-dropdown',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n"],"mappings":"6NA6BA,SAASA,EAAa,CAAE,GAAG,GAAkE,CAC3F,OAAO,EAACC,EAAsB,KAAA,CAAK,YAAU,gBAAgB,GAAI,GAAS,CAI5E,SAAS,EAAmB,CAAE,GAAG,GAAoE,CACnG,OAAO,EAACA,EAAsB,OAAA,CAAO,YAAU,uBAAuB,GAAI,GAAS,CAIrF,SAAS,EAAoB,CAAE,GAAG,GAAqE,CACrG,OAAO,EAACA,EAAsB,QAAA,CAAQ,YAAU,wBAAwB,GAAI,GAAS,CAIvF,SAAS,EAAoB,CAAE,YAAW,aAAa,EAAG,QAAQ,QAAS,GAAG,GAAqE,CACjJ,OACE,EAACA,EAAsB,OAAA,CAAA,SACrB,EAACA,EAAsB,QAAA,CACrB,YAAU,wBACE,aACL,QACP,UAAW,EACT,gCACA,gBACA,oCACA,mCACA,yDACA,0DACA,wFACA,iGACA,yCACA,yCACA,yCACA,yCACA,EACD,CACD,GAAI,GACJ,CAAA,CAC2B,CAKnC,SAAS,EAAkB,CAAE,GAAG,GAAmE,CACjG,OAAO,EAACA,EAAsB,MAAA,CAAM,YAAU,sBAAsB,GAAI,GAAS,CASnF,SAAS,EAAiB,CACxB,YACA,QACA,UAAU,UACV,GAAG,GAIF,CACD,OACE,EAACA,EAAsB,KAAA,CACrB,YAAU,qBACV,aAAY,EACZ,eAAc,EACd,UAAW,EACT,8HACA,uDACA,kBACA,6DACA,yCACA,uGACA,kDACA,+CACA,uCACA,wDACA,EACD,CACD,GAAI,GACJ,CAKN,SAAS,EAAyB,CAAE,YAAW,WAAU,UAAS,GAAG,GAA0E,CAC7I,OACE,EAACA,EAAsB,aAAA,CACrB,YAAU,8BACV,UAAW,EACT,mIACA,uDACA,6DACA,+CACA,uCACA,EACD,CACQ,UACT,GAAI,YAEJ,EAAC,OAAA,CAAK,UAAU,yFACd,EAACA,EAAsB,cAAA,CAAA,SACrB,EAAC,EAAA,CAAU,KAAM,GAAA,CAAM,CAAA,CACa,EACjC,CACN,EAAA,EACkC,CAKzC,SAAS,EAAuB,CAAE,GAAG,GAAwE,CAC3G,OAAO,EAACA,EAAsB,WAAA,CAAW,YAAU,4BAA4B,GAAI,GAAS,CAI9F,SAAS,EAAsB,CAAE,YAAW,WAAU,GAAG,GAAuE,CAC9H,OACE,EAACA,EAAsB,UAAA,CACrB,YAAU,2BACV,UAAW,EACT,mIACA,uDACA,6DACA,+CACA,uCACA,EACD,CACD,GAAI,YAEJ,EAAC,OAAA,CAAK,UAAU,yFACd,EAACA,EAAsB,cAAA,CAAA,SACrB,EAAC,EAAA,CAAW,UAAU,sBAAA,CAAwB,CAAA,CACV,EACjC,CACN,EAAA,EAC+B,CAStC,SAAS,EAAkB,CACzB,YACA,QACA,GAAG,GAGF,CACD,OACE,EAACA,EAAsB,MAAA,CACrB,YAAU,sBACV,aAAY,EACZ,UAAW,EAAG,0EAA2E,EAAU,CACnG,GAAI,GACJ,CAKN,SAAS,EAAsB,CAAE,YAAW,GAAG,GAAuE,CACpH,OAAO,EAACA,EAAsB,UAAA,CAAU,YAAU,0BAA0B,UAAW,EAAG,iCAAkC,EAAU,CAAE,GAAI,GAAS,CAIvJ,SAAS,EAAqB,CAAE,YAAW,GAAG,GAAuC,CACnF,OAAO,EAAC,OAAA,CAAK,YAAU,yBAAyB,UAAW,EAAG,2DAA4D,EAAU,CAAE,GAAI,GAAS,CAIrJ,SAAS,EAAgB,CAAE,GAAG,GAAiE,CAC7F,OAAO,EAACA,EAAsB,IAAA,CAAI,YAAU,oBAAoB,GAAI,GAAS,CAQ/E,SAAS,EAAuB,CAC9B,YACA,QACA,WACA,GAAG,GAGF,CACD,OACE,EAACA,EAAsB,WAAA,CACrB,YAAU,4BACV,aAAY,EACZ,UAAW,EACT,qHACA,uDACA,+EACA,kBACA,+CACA,uCACA,EACD,CACD,GAAI,YAEH,EACD,EAAC,EAAA,CAAiB,UAAU,iBAAA,CAAmB,CAAA,EACd,CAKvC,SAAS,EAAuB,CAAE,YAAW,GAAG,GAAwE,CACtH,OACE,EAACA,EAAsB,WAAA,CACrB,YAAU,4BACV,UAAW,EACT,gCACA,gBACA,oCACA,2FACA,wFACA,iGACA,yCACA,yCACA,yCACA,yCACA,EACD,CACD,GAAI,GACJ"}
@@ -1,2 +0,0 @@
1
- "use client";import{t as e}from"../../paragraph-DYLaQtTV.mjs";import"../../skeleton-C51IdOfK.mjs";import{t}from"../../image-D7OZ13Ib.mjs";import"../../flex-B6YSJzGe.mjs";import{t as n}from"../../date-fY3sUcLp.mjs";import{t as r}from"../../badge-CDGBGq8X.mjs";import{i,n as a,r as o,t as s}from"../../tooltip-Dxl5Wa8i.mjs";import"../../avatar-fltdRVsJ.mjs";import{t as c}from"../../user-DtZy4P9d.mjs";import{CheckIcon as l,CopyIcon as u,ExternalLinkIcon as d,LinkIcon as f}from"lucide-react";import{createContext as p,memo as m,useCallback as h,useContext as g,useMemo as _,useState as v}from"react";import{cn as y}from"@customafk/react-toolkit/utils";import{cva as b}from"class-variance-authority";import{jsx as x,jsxs as S}from"react/jsx-runtime";const C=()=>x(`span`,{"data-slot":`description-empty`,"aria-label":`Empty value`,className:`select-none font-medium text-sm text-text-positive-muted`,children:`—`}),w=({label:e,color:t=`secondary`,variant:n=`soft`,size:i=`sm`})=>e?x(r,{"data-slot":`description-badge`,color:t,variant:n,size:i,children:e}):x(C,{}),T=({value:e,trueLabel:t=`Yes`,falseLabel:n=`No`})=>e==null?x(C,{}):x(r,{"data-slot":`description-boolean`,variant:`soft`,color:e?`success`:`danger`,size:`sm`,children:e?t:n}),E=({value:e,truncate:t=!0})=>{let[n,r]=v(!1),i=h(async()=>{e&&(await navigator.clipboard.writeText(e),r(!0),setTimeout(()=>r(!1),1500))},[e]);return e?S(`button`,{type:`button`,"data-slot":`description-copy`,onClick:i,className:y(`group inline-flex max-w-full cursor-pointer items-center gap-1.5 rounded-sm border border-border-weak bg-secondary-muted px-2 py-0.5 font-mono text-xs text-text-positive-weak transition-[border-color,color,box-shadow] hover:border-border hover:text-text-positive hover:shadow-xs`,t&&`min-w-0`),children:[x(`span`,{className:y(`tabular-nums`,t&&`truncate`),children:e}),n?x(l,{size:12,className:`shrink-0 text-success`}):x(u,{size:12,className:`shrink-0 opacity-50 group-hover:opacity-100`})]}):x(C,{})},D=({date:e})=>e==null?x(C,{}):x(o,{children:S(s,{children:[x(i,{asChild:!0,children:x(n,{"data-slot":`description-date`,date:e,format:`medium`,className:`cursor-help`})}),x(a,{children:x(n,{date:e,format:`full`,showTime:!0,className:`text-xs font-medium`})})]})}),O=({images:e})=>{if(!e?.length)return x(C,{});let n=e.length===1;return x(`div`,{"data-slot":`description-images`,className:`flex flex-wrap gap-4`,children:e.map(e=>x(`div`,{className:n?`group relative size-42 overflow-hidden rounded-sm border border-border shadow-xs transition-shadow hover:shadow-card`:`group relative size-16 overflow-hidden rounded-lg border border-border shadow-xs transition-shadow hover:shadow-card`,children:x(t,{src:e.src,alt:e.alt,width:`100%`,height:`100%`,className:`transition-transform duration-200 group-hover:scale-105`})},e.id))})},k=({href:e,label:t,external:n=!0,className:r})=>e?S(`a`,{"data-slot":`description-link`,href:e,target:n?`_blank`:void 0,rel:n?`noopener noreferrer`:void 0,className:y(`inline-flex max-w-full items-center gap-1 text-sm text-primary underline decoration-dashed underline-offset-2 transition-colors hover:text-primary-strong hover:decoration-solid`,r),children:[!n&&x(f,{size:12,className:`shrink-0 opacity-70`}),x(`span`,{className:`truncate`,children:t??e}),n&&x(d,{size:12,className:`shrink-0 opacity-70`})]}):x(C,{}),A=({content:t})=>t==null?x(C,{}):S(s,{children:[x(i,{asChild:!0,children:x(e,{"data-slot":`description-longtext`,variant:`sm`,className:`line-clamp-2 cursor-pointer whitespace-pre-line break-all text-start text-sm hover:text-text-positive transition-colors`,children:t})}),x(a,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:S(`div`,{className:`flex flex-col gap-y-2`,children:[x(`p`,{className:`whitespace-pre-line text-wrap break-keep`,children:t}),S(`p`,{className:`w-full text-end text-text-positive-subtle`,children:[t.toString().length,` chars`]})]})})]}),j=({name:t})=>t?S(s,{children:[x(i,{asChild:!0,children:x(e,{"data-slot":`description-name`,variant:`sm`,className:`line-clamp-2 w-full cursor-pointer truncate hover:text-text-positive transition-colors`,children:t})}),x(a,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:S(`div`,{className:`flex flex-col gap-y-2`,children:[x(`p`,{className:`whitespace-pre-line text-wrap break-keep`,children:t}),S(`p`,{className:`w-full text-end text-text-positive-subtle`,children:[t.length,` chars`]})]})})]}):x(C,{}),M=({value:t})=>S(s,{children:[x(i,{"data-slot":`description-phone`,children:x(e,{variant:`sm`,className:`tabular-nums transition-colors`,children:t.replace(/(\d{3})(\d{3})(\d{4})/,`($1) $2-$3`)})}),x(a,{align:`start`,children:x(`p`,{className:`tabular-nums`,children:t.slice(1).replace(/(\d{2})(\d{3})(\d{4})/,`(00) (+84) ($1) $2-$3`)})})]}),N=(e,t,n)=>{let r=10**t;switch(n){case`floor`:return Math.floor(e*r)/r;case`ceil`:return Math.ceil(e*r)/r;default:return Math.round(e*r)/r}},P=b(`inline-flex items-center gap-1 font-number tabular-nums transition-colors`,{variants:{size:{xs:`text-xs`,sm:`text-sm`,md:`text-base`,lg:`text-lg`,xl:`text-xl`},trend:{neutral:`text-text-positive`,up:`text-success`,down:`text-danger`}},defaultVariants:{size:`sm`,trend:`neutral`}}),F=m(({decimalSeparator:e=`.`,groupSeparator:t=`,`,prefix:n,suffix:r,precision:i,roundingMode:a=`round`,showTrailingZeros:o=!1,size:s=`sm`,trend:c=`neutral`,value:l=0,className:u})=>{let d=_(()=>{let e={};return typeof i==`number`&&i>=0&&(o&&(e.minimumFractionDigits=i),e.maximumFractionDigits=i),e},[i,o]),f=h(e=>{let t=e;return typeof i==`number`&&i>=0&&(t=N(e,i,a)),t.toLocaleString(`en-US`,d)},[a,d,i]),p=_(()=>{if(typeof l==`number`)return Number.isNaN(l)||!Number.isFinite(l)?`N/A`:f(l);if(typeof l==`string`){let e=l.trim();if(!e)return`N/A`;let t=Number(e);return Number.isNaN(t)||!Number.isFinite(t)?`N/A`:f(t)}return`N/A`},[l,f]),m=_(()=>e===`.`&&t===`,`?p:p.replace(/,/g,t).replace(/\./g,e),[p,e,t]);return m===`0`||m===`N/A`||!m?x(C,{}):S(`div`,{"data-slot":`description-statistic`,className:y(P({size:s,trend:c}),u),children:[n&&x(`span`,{"data-slot":`description-statistic-prefix`,children:n}),x(`p`,{"data-slot":`description-statistic-value`,children:m}),r&&x(`span`,{"data-slot":`description-statistic-suffix`,children:r})]})});F.displayName=`DescriptionStatistic`;const I={primary:`bg-primary`,secondary:`bg-secondary`,muted:`bg-muted`,accent:`bg-accent`,info:`bg-info`,success:`bg-success`,warning:`bg-warning`,danger:`bg-danger`},L=({label:e,color:t=`info`,dot:n=!0})=>e?S(r,{"data-slot":`description-status`,variant:`soft`,color:t,size:`sm`,className:`gap-1.5`,children:[n&&x(`span`,{className:y(`inline-block size-1.5 shrink-0 rounded-full`,I[t])}),e]}):x(C,{}),R=({tags:e,max:t=5,color:n=`secondary`,variant:i=`soft`})=>{if(!e?.length)return x(C,{});let a=e.slice(0,t),o=e.length-a.length;return S(`div`,{"data-slot":`description-tag-list`,className:`flex flex-wrap gap-1`,children:[a.map((e,t)=>x(r,{variant:i,color:n,size:`sm`,children:e},t)),o>0&&S(r,{variant:`outline`,color:`muted`,size:`sm`,children:[`+`,o]})]})},z=({uuid:e,username:t,email:n})=>!e||!t||!n?x(C,{}):x(c,{uuid:e,username:t,email:n}),B=p(!1),V=({label:e,labelColSpan:t=3,orientation:n=`horizontal`,action:r,children:i})=>n===`vertical`?S(`div`,{"data-slot":`description-item`,className:`flex flex-col border-b border-b-border last:border-b-0`,children:[S(`div`,{"data-slot":`description-item-label`,className:`flex items-center justify-between border-b border-b-border bg-secondary-muted py-2 pr-2 pl-4 text-sm font-medium text-text-positive-weak`,children:[x(`span`,{children:e}),r&&x(`div`,{className:`shrink-0`,children:r})]}),x(`div`,{"data-slot":`description-item-value`,className:`flex flex-wrap items-center gap-2 py-3 pr-2 pl-4 text-sm text-text-positive`,children:i})]}):S(`div`,{"data-slot":`description-item`,style:{display:`grid`,gridTemplateColumns:`repeat(12, minmax(0, 1fr))`},className:`grid border-b border-b-border last:border-b-0`,children:[S(`div`,{"data-slot":`description-item-label`,style:{gridColumn:`span ${t} / span ${t}`},className:`flex min-w-full items-center justify-between overflow-x-hidden text-wrap break-all border-r border-r-border bg-secondary-muted py-3 pr-2 pl-4 text-sm font-medium text-text-positive-weak tabular-nums`,children:[x(`span`,{children:e}),r&&x(`div`,{className:`shrink-0 pr-1`,children:r})]}),x(`div`,{"data-slot":`description-item-value`,style:{gridColumn:`span ${12-t} / span ${12-t}`},className:`flex flex-wrap items-center gap-2 py-3 pr-2 pl-4 text-sm text-text-positive`,children:i})]}),H=({title:e,description:t,extra:n,className:r})=>S(`div`,{"data-slot":`description-header`,className:y(`sticky top-0 z-10 flex items-center justify-between gap-4 border-b border-b-border bg-card px-4 py-3`,r),children:[S(`div`,{className:`flex flex-col gap-0.5`,children:[x(`p`,{className:`text-sm font-semibold text-text-positive`,children:e}),t&&x(`p`,{className:`text-xs text-text-positive-muted`,children:t})]}),n&&x(`div`,{className:`shrink-0`,children:n})]}),U=({title:e,className:t})=>S(`div`,{"data-slot":`description-section`,className:y(`flex items-center gap-3 border-b border-b-border px-4 py-2.5`,t),children:[e&&x(`p`,{className:`shrink-0 text-xs font-semibold uppercase tracking-widest text-text-positive-muted`,children:e}),x(`div`,{className:`h-px flex-1 bg-border`})]}),W=({rows:e})=>S(`div`,{"data-slot":`description-loading`,className:`animate-pulse`,children:[S(`div`,{className:`flex items-center justify-between border-b border-b-border px-4 py-3`,children:[S(`div`,{className:`flex flex-col gap-1.5`,children:[x(`div`,{className:`h-3.5 w-36 rounded bg-border`}),x(`div`,{className:`h-2.5 w-24 rounded bg-border-weak`})]}),x(`div`,{className:`h-5 w-16 rounded bg-border-weak`})]}),Array.from({length:e}).map((e,t)=>S(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(12, minmax(0, 1fr))`},className:`grid border-b border-b-border last:border-b-0`,children:[x(`div`,{style:{gridColumn:`span 3 / span 3`},className:`flex items-center border-r border-r-border bg-secondary-muted py-3 pl-4 pr-2`,children:x(`div`,{className:`h-3 w-20 rounded bg-border`})}),x(`div`,{style:{gridColumn:`span 9 / span 9`},className:`flex items-center py-3 pl-4 pr-2`,children:x(`div`,{className:`h-3 w-28 rounded bg-border-weak`})})]},t))]}),G=({children:e,className:t,nested:n=!1,loading:r=!1,loadingRows:i=4})=>{let a=g(B);return x(`div`,{"data-slot":`description`,className:y(`relative flex flex-col bg-card`,a?`border-b border-b-border last:border-b-0`:n?`w-full overflow-hidden rounded-md border border-border`:`size-full overflow-y-auto rounded-lg border border-border shadow-card ring-1 ring-border-weak`,t),children:r?x(W,{rows:i}):e})},K=({children:e,className:t})=>x(B.Provider,{value:!0,children:x(`div`,{"data-slot":`description-group`,className:y(`relative size-full overflow-y-auto rounded-lg border border-border bg-card shadow-card ring-1 ring-border-weak`,t),children:e})});export{G as Description,w as DescriptionBadge,T as DescriptionBoolean,E as DescriptionCopy,D as DescriptionDate,C as DescriptionEmpty,K as DescriptionGroup,H as DescriptionHeader,O as DescriptionImages,V as DescriptionItem,k as DescriptionLink,A as DescriptionLongText,j as DescriptionName,M as DescriptionNumberPhone,U as DescriptionSection,F as DescriptionStatistic,L as DescriptionStatus,R as DescriptionTagList,z as DescriptionUser};
2
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","names":["DescriptionEmpty: React.FC","DescriptionBadge: React.FC<DescriptionBadgeProps>","DescriptionBoolean: React.FC<DescriptionBooleanProps>","DescriptionCopy: React.FC<DescriptionCopyProps>","DescriptionDate: React.FC<DescriptionDateProps>","DescriptionImages: React.FC<{\n images?: Array<ImageItem> | null | undefined;\n}>","Image","DescriptionLink: React.FC<DescriptionLinkProps>","DescriptionLongText: React.FC<{ content: string | null | undefined | number }>","DescriptionName: React.FC<{\n name?: string | null | undefined;\n}>","DescriptionNumberPhone: React.FC<{ value: string }>","options: Intl.NumberFormatOptions","dotColorMap: Record<StatusColor, string>","DescriptionStatus: React.FC<DescriptionStatusProps>","DescriptionTagList: React.FC<DescriptionTagListProps>","DescriptionUser: React.FC<DescriptionUserProps>","DescriptionItem: React.FC<\n React.PropsWithChildren<{\n /** Text displayed in the label column. */\n label: string;\n /**\n * Number of grid columns (out of 12) allocated to the label in horizontal orientation.\n * @default 3\n */\n labelColSpan?: number;\n /**\n * Layout direction of the label/value pair.\n * - `'horizontal'` — label and value are side by side.\n * - `'vertical'` — label sits above the value.\n * @default 'horizontal'\n */\n orientation?: 'horizontal' | 'vertical';\n /** Optional node rendered in the top-right corner of the label area (e.g. an edit action). */\n action?: React.ReactNode;\n }>\n>","DescriptionHeader: React.FC<{\n /** Primary heading text. */\n title: string;\n /** Optional secondary text rendered below the title in a smaller, muted style. */\n description?: string;\n /** Optional node rendered on the right side of the header (e.g. action buttons). */\n extra?: React.ReactNode;\n /** Additional CSS class names applied to the header wrapper. */\n className?: string;\n}>","DescriptionSection: React.FC<{\n /** Optional section label rendered as uppercase small-caps text beside the divider line. */\n title?: string;\n /** Additional CSS class names applied to the section wrapper. */\n className?: string;\n}>","DescriptionLoadingSkeleton: React.FC<{ rows: number }>","Description: React.FC<\n React.PropsWithChildren<{\n /** Additional CSS class names applied to the root wrapper element. */\n className?: string;\n /** Strips the outer card shadow/ring and adapts sizing for embedding inside another Description. */\n nested?: boolean;\n /** Replaces children with animated skeleton rows while data is loading. */\n loading?: boolean;\n /** Number of skeleton rows shown when `loading` is true. @default 4 */\n loadingRows?: number;\n }>\n>","DescriptionGroup: React.FC<\n React.PropsWithChildren<{\n /** Additional CSS class names applied to the group wrapper. */\n className?: string;\n }>\n>"],"sources":["../../../packages/components/features/descriptions/components/empty.tsx","../../../packages/components/features/descriptions/components/badge.tsx","../../../packages/components/features/descriptions/components/boolean.tsx","../../../packages/components/features/descriptions/components/copy.tsx","../../../packages/components/features/descriptions/components/date.tsx","../../../packages/components/features/descriptions/components/images.tsx","../../../packages/components/features/descriptions/components/link.tsx","../../../packages/components/features/descriptions/components/longtext.tsx","../../../packages/components/features/descriptions/components/name.tsx","../../../packages/components/features/descriptions/components/number-phone.tsx","../../../packages/components/features/descriptions/components/statistic.tsx","../../../packages/components/features/descriptions/components/status.tsx","../../../packages/components/features/descriptions/components/tag-list.tsx","../../../packages/components/features/descriptions/components/user.tsx","../../../packages/components/features/descriptions/index.tsx"],"sourcesContent":["'use client';\n\nexport const DescriptionEmpty: React.FC = () => {\n return (\n <span data-slot=\"description-empty\" aria-label=\"Empty value\" className=\"select-none font-medium text-sm text-text-positive-muted\">\n —\n </span>\n );\n};\n","'use client';\n\nimport { Badge } from '@/components/ui/badge';\nimport type { BadgeProps } from '@/components/ui/badge';\n\nimport { DescriptionEmpty } from './empty';\n\ntype DescriptionBadgeProps = {\n label: string | number | null | undefined;\n color?: BadgeProps['color'];\n variant?: BadgeProps['variant'];\n size?: BadgeProps['size'];\n};\n\nexport const DescriptionBadge: React.FC<DescriptionBadgeProps> = ({ label, color = 'secondary', variant = 'soft', size = 'sm' }) => {\n if (!label) return <DescriptionEmpty />;\n return (\n <Badge data-slot=\"description-badge\" color={color} variant={variant} size={size}>\n {label}\n </Badge>\n );\n};\n","'use client';\n\nimport { Badge } from '@/components/ui/badge';\n\nimport { DescriptionEmpty } from './empty';\n\ntype DescriptionBooleanProps = {\n value: boolean | null | undefined;\n trueLabel?: string;\n falseLabel?: string;\n};\n\nexport const DescriptionBoolean: React.FC<DescriptionBooleanProps> = ({ value, trueLabel = 'Yes', falseLabel = 'No' }) => {\n if (value == null) return <DescriptionEmpty />;\n return (\n <Badge data-slot=\"description-boolean\" variant=\"soft\" color={value ? 'success' : 'danger'} size=\"sm\">\n {value ? trueLabel : falseLabel}\n </Badge>\n );\n};\n","'use client';\n\nimport { useCallback, useState } from 'react';\nimport { CheckIcon, CopyIcon } from 'lucide-react';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { DescriptionEmpty } from './empty';\n\ntype DescriptionCopyProps = {\n value: string | null | undefined;\n truncate?: boolean;\n};\n\nexport const DescriptionCopy: React.FC<DescriptionCopyProps> = ({ value, truncate = true }) => {\n const [copied, setCopied] = useState(false);\n\n const handleCopy = useCallback(async () => {\n if (!value) return;\n await navigator.clipboard.writeText(value);\n setCopied(true);\n setTimeout(() => setCopied(false), 1500);\n }, [value]);\n\n if (!value) return <DescriptionEmpty />;\n\n return (\n <button\n type=\"button\"\n data-slot=\"description-copy\"\n onClick={handleCopy}\n className={cn(\n 'group inline-flex max-w-full cursor-pointer items-center gap-1.5 rounded-sm border border-border-weak bg-secondary-muted px-2 py-0.5 font-mono text-xs text-text-positive-weak transition-[border-color,color,box-shadow] hover:border-border hover:text-text-positive hover:shadow-xs',\n truncate && 'min-w-0'\n )}\n >\n <span className={cn('tabular-nums', truncate && 'truncate')}>{value}</span>\n {copied ? <CheckIcon size={12} className=\"shrink-0 text-success\" /> : <CopyIcon size={12} className=\"shrink-0 opacity-50 group-hover:opacity-100\" />}\n </button>\n );\n};\n","'use client';\n\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';\nimport { DateDisplay } from '@/components/data-display/date';\n\nimport { DescriptionEmpty } from './empty';\n\ntype DescriptionDateProps = {\n date: Date | string | number | null | undefined;\n};\n\nexport const DescriptionDate: React.FC<DescriptionDateProps> = ({ date }) => {\n if (date == null) return <DescriptionEmpty />;\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <DateDisplay data-slot=\"description-date\" date={date} format=\"medium\" className=\"cursor-help\" />\n </TooltipTrigger>\n <TooltipContent>\n <DateDisplay date={date} format=\"full\" showTime className=\"text-xs font-medium\" />\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n};\n","'use client';\n\nimport { Image } from '@/components/ui/image';\n\nimport { DescriptionEmpty } from './empty';\n\ntype ImageItem = { id: string; src: string; alt: string };\n\nexport const DescriptionImages: React.FC<{\n images?: Array<ImageItem> | null | undefined;\n}> = ({ images }) => {\n if (!images?.length) return <DescriptionEmpty />;\n\n const isSingle = images.length === 1;\n\n return (\n <div data-slot=\"description-images\" className=\"flex flex-wrap gap-4\">\n {images.map(image => (\n <div\n key={image.id}\n className={\n isSingle\n ? 'group relative size-42 overflow-hidden rounded-sm border border-border shadow-xs transition-shadow hover:shadow-card'\n : 'group relative size-16 overflow-hidden rounded-lg border border-border shadow-xs transition-shadow hover:shadow-card'\n }\n >\n <Image src={image.src} alt={image.alt} width=\"100%\" height=\"100%\" className=\"transition-transform duration-200 group-hover:scale-105\" />\n </div>\n ))}\n </div>\n );\n};\n","'use client';\n\nimport { ExternalLinkIcon, LinkIcon } from 'lucide-react';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { DescriptionEmpty } from './empty';\n\ntype DescriptionLinkProps = {\n href: string | null | undefined;\n label?: string;\n external?: boolean;\n className?: string;\n};\n\nexport const DescriptionLink: React.FC<DescriptionLinkProps> = ({ href, label, external = true, className }) => {\n if (!href) return <DescriptionEmpty />;\n\n return (\n <a\n data-slot=\"description-link\"\n href={href}\n target={external ? '_blank' : undefined}\n rel={external ? 'noopener noreferrer' : undefined}\n className={cn(\n 'inline-flex max-w-full items-center gap-1 text-sm text-primary underline decoration-dashed underline-offset-2 transition-colors hover:text-primary-strong hover:decoration-solid',\n className\n )}\n >\n {!external && <LinkIcon size={12} className=\"shrink-0 opacity-70\" />}\n <span className=\"truncate\">{label ?? href}</span>\n {external && <ExternalLinkIcon size={12} className=\"shrink-0 opacity-70\" />}\n </a>\n );\n};\n","'use client';\n\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\nimport { Paragraph } from '@/components/typography/paragraph';\n\nimport { DescriptionEmpty } from './empty';\n\nexport const DescriptionLongText: React.FC<{ content: string | null | undefined | number }> = ({ content }) => {\n if (content == null) return <DescriptionEmpty />;\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <Paragraph\n data-slot=\"description-longtext\"\n variant=\"sm\"\n className=\"line-clamp-2 cursor-pointer whitespace-pre-line break-all text-start text-sm hover:text-text-positive transition-colors\"\n >\n {content}\n </Paragraph>\n </TooltipTrigger>\n <TooltipContent align=\"start\" className=\"h-fit min-w-48 max-w-80 pt-4\">\n <div className=\"flex flex-col gap-y-2\">\n <p className=\"whitespace-pre-line text-wrap break-keep\">{content}</p>\n <p className=\"w-full text-end text-text-positive-subtle\">{content.toString().length} chars</p>\n </div>\n </TooltipContent>\n </Tooltip>\n );\n};\n","'use client';\n\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\nimport { Paragraph } from '@/components/typography/paragraph';\n\nimport { DescriptionEmpty } from './empty';\n\nexport const DescriptionName: React.FC<{\n name?: string | null | undefined;\n}> = ({ name }) => {\n if (!name) return <DescriptionEmpty />;\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <Paragraph data-slot=\"description-name\" variant=\"sm\" className=\"line-clamp-2 w-full cursor-pointer truncate hover:text-text-positive transition-colors\">\n {name}\n </Paragraph>\n </TooltipTrigger>\n <TooltipContent align=\"start\" className=\"h-fit min-w-48 max-w-80 pt-4\">\n <div className=\"flex flex-col gap-y-2\">\n <p className=\"whitespace-pre-line text-wrap break-keep\">{name}</p>\n <p className=\"w-full text-end text-text-positive-subtle\">{name.length} chars</p>\n </div>\n </TooltipContent>\n </Tooltip>\n );\n};\n","'use client';\n\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\nimport { Paragraph } from '@/components/typography/paragraph';\n\nexport const DescriptionNumberPhone: React.FC<{ value: string }> = ({ value }) => {\n return (\n <Tooltip>\n <TooltipTrigger data-slot=\"description-phone\">\n <Paragraph variant=\"sm\" className=\"tabular-nums transition-colors\">\n {value.replace(/(\\d{3})(\\d{3})(\\d{4})/, '($1) $2-$3')}\n </Paragraph>\n </TooltipTrigger>\n <TooltipContent align=\"start\">\n <p className=\"tabular-nums\">{value.slice(1).replace(/(\\d{2})(\\d{3})(\\d{4})/, '(00) (+84) ($1) $2-$3')}</p>\n </TooltipContent>\n </Tooltip>\n );\n};\n","'use client';\n\nimport { memo, useCallback, useMemo } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { DescriptionEmpty } from './empty';\n\nconst applyRounding = (num: number, precisionValue: number, roundingMode?: 'round' | 'floor' | 'ceil') => {\n const multiplier = 10 ** precisionValue;\n switch (roundingMode) {\n case 'floor':\n return Math.floor(num * multiplier) / multiplier;\n case 'ceil':\n return Math.ceil(num * multiplier) / multiplier;\n default:\n return Math.round(num * multiplier) / multiplier;\n }\n};\n\nconst descriptionStatisticVariants = cva('inline-flex items-center gap-1 font-number tabular-nums transition-colors', {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n xl: 'text-xl',\n },\n trend: {\n neutral: 'text-text-positive',\n up: 'text-success',\n down: 'text-danger',\n },\n },\n defaultVariants: {\n size: 'sm',\n trend: 'neutral',\n },\n});\n\nexport type DescriptionStatisticProps = VariantProps<typeof descriptionStatisticVariants> & {\n decimalSeparator?: string;\n groupSeparator?: string;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n precision?: number;\n roundingMode?: 'round' | 'floor' | 'ceil';\n showTrailingZeros?: boolean;\n value: number | string | null | undefined;\n className?: string;\n};\n\nexport const DescriptionStatistic = memo(\n ({\n decimalSeparator = '.',\n groupSeparator = ',',\n prefix: Prefix,\n suffix: Suffix,\n precision,\n roundingMode = 'round',\n showTrailingZeros = false,\n size = 'sm',\n trend = 'neutral',\n value = 0,\n className,\n }: DescriptionStatisticProps) => {\n const formatOptions = useMemo((): Intl.NumberFormatOptions => {\n const options: Intl.NumberFormatOptions = {};\n if (typeof precision === 'number' && precision >= 0) {\n if (showTrailingZeros) {\n options.minimumFractionDigits = precision;\n options.maximumFractionDigits = precision;\n } else {\n options.maximumFractionDigits = precision;\n }\n }\n return options;\n }, [precision, showTrailingZeros]);\n\n const formatNumber = useCallback(\n (num: number): string => {\n let processedNum = num;\n if (typeof precision === 'number' && precision >= 0) {\n processedNum = applyRounding(num, precision, roundingMode);\n }\n return processedNum.toLocaleString('en-US', formatOptions);\n },\n [roundingMode, formatOptions, precision]\n );\n\n const processedValue = useMemo((): string => {\n if (typeof value === 'number') {\n if (Number.isNaN(value) || !Number.isFinite(value)) return 'N/A';\n return formatNumber(value);\n }\n if (typeof value === 'string') {\n const trimmedValue = value.trim();\n if (!trimmedValue) return 'N/A';\n const numValue = Number(trimmedValue);\n if (Number.isNaN(numValue) || !Number.isFinite(numValue)) return 'N/A';\n return formatNumber(numValue);\n }\n return 'N/A';\n }, [value, formatNumber]);\n\n const finalFormattedValue = useMemo((): string => {\n if (decimalSeparator === '.' && groupSeparator === ',') return processedValue;\n return processedValue.replace(/,/g, groupSeparator).replace(/\\./g, decimalSeparator);\n }, [processedValue, decimalSeparator, groupSeparator]);\n\n if (finalFormattedValue === '0' || finalFormattedValue === 'N/A' || !finalFormattedValue) {\n return <DescriptionEmpty />;\n }\n\n return (\n <div data-slot=\"description-statistic\" className={cn(descriptionStatisticVariants({ size, trend }), className)}>\n {Prefix && <span data-slot=\"description-statistic-prefix\">{Prefix}</span>}\n <p data-slot=\"description-statistic-value\">{finalFormattedValue}</p>\n {Suffix && <span data-slot=\"description-statistic-suffix\">{Suffix}</span>}\n </div>\n );\n }\n);\nDescriptionStatistic.displayName = 'DescriptionStatistic';\n","'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Badge } from '@/components/ui/badge';\nimport type { BadgeProps } from '@/components/ui/badge';\n\nimport { DescriptionEmpty } from './empty';\n\ntype StatusColor = NonNullable<BadgeProps['color']>;\n\nconst dotColorMap: Record<StatusColor, string> = {\n primary: 'bg-primary',\n secondary: 'bg-secondary',\n muted: 'bg-muted',\n accent: 'bg-accent',\n info: 'bg-info',\n success: 'bg-success',\n warning: 'bg-warning',\n danger: 'bg-danger',\n};\n\ntype DescriptionStatusProps = {\n label: string | null | undefined;\n color?: StatusColor;\n dot?: boolean;\n};\n\nexport const DescriptionStatus: React.FC<DescriptionStatusProps> = ({ label, color = 'info', dot = true }) => {\n if (!label) return <DescriptionEmpty />;\n return (\n <Badge data-slot=\"description-status\" variant=\"soft\" color={color} size=\"sm\" className=\"gap-1.5\">\n {dot && <span className={cn('inline-block size-1.5 shrink-0 rounded-full', dotColorMap[color])} />}\n {label}\n </Badge>\n );\n};\n","'use client';\n\nimport { Badge } from '@/components/ui/badge';\nimport type { BadgeProps } from '@/components/ui/badge';\n\nimport { DescriptionEmpty } from './empty';\n\ntype DescriptionTagListProps = {\n tags: Array<string | number> | null | undefined;\n max?: number;\n color?: BadgeProps['color'];\n variant?: BadgeProps['variant'];\n};\n\nexport const DescriptionTagList: React.FC<DescriptionTagListProps> = ({ tags, max = 5, color = 'secondary', variant = 'soft' }) => {\n if (!tags?.length) return <DescriptionEmpty />;\n\n const visible = tags.slice(0, max);\n const overflow = tags.length - visible.length;\n\n return (\n <div data-slot=\"description-tag-list\" className=\"flex flex-wrap gap-1\">\n {visible.map((tag, i) => (\n // biome-ignore lint/suspicious/noArrayIndexKey: static display list\n <Badge key={i} variant={variant} color={color} size=\"sm\">\n {tag}\n </Badge>\n ))}\n {overflow > 0 && (\n <Badge variant=\"outline\" color=\"muted\" size=\"sm\">\n +{overflow}\n </Badge>\n )}\n </div>\n );\n};\n","'use client';\n\nimport { UserDataDisplay } from '@/components/data-display/user';\n\nimport { DescriptionEmpty } from './empty';\n\ntype DescriptionUserProps = {\n uuid?: string | null;\n username?: string | null;\n email?: string | null;\n};\n\nexport const DescriptionUser: React.FC<DescriptionUserProps> = ({ uuid, username, email }) => {\n if (!uuid || !username || !email) return <DescriptionEmpty />;\n return <UserDataDisplay uuid={uuid} username={username} email={email} />;\n};\n","'use client';\n\nimport { createContext, useContext } from 'react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nexport * from './components';\n\nconst DescriptionGroupContext = createContext(false);\n\n/**\n * A single labeled row within a {@link Description} container, supporting both horizontal (side-by-side label/value) and vertical (stacked) layouts.\n *\n * @example\n * import { Description, DescriptionItem } from '@customafk/lunas-ui/features/descriptions';\n *\n * <Description>\n * <DescriptionItem label=\"Full name\">John Doe</DescriptionItem>\n * <DescriptionItem label=\"Email\" orientation=\"vertical\">john@example.com</DescriptionItem>\n * </Description>\n */\nexport const DescriptionItem: React.FC<\n React.PropsWithChildren<{\n /** Text displayed in the label column. */\n label: string;\n /**\n * Number of grid columns (out of 12) allocated to the label in horizontal orientation.\n * @default 3\n */\n labelColSpan?: number;\n /**\n * Layout direction of the label/value pair.\n * - `'horizontal'` — label and value are side by side.\n * - `'vertical'` — label sits above the value.\n * @default 'horizontal'\n */\n orientation?: 'horizontal' | 'vertical';\n /** Optional node rendered in the top-right corner of the label area (e.g. an edit action). */\n action?: React.ReactNode;\n }>\n> = ({ label, labelColSpan = 3, orientation = 'horizontal', action, children }) => {\n if (orientation === 'vertical') {\n return (\n <div data-slot=\"description-item\" className=\"flex flex-col border-b border-b-border last:border-b-0\">\n <div\n data-slot=\"description-item-label\"\n className=\"flex items-center justify-between border-b border-b-border bg-secondary-muted py-2 pr-2 pl-4 text-sm font-medium text-text-positive-weak\"\n >\n <span>{label}</span>\n {action && <div className=\"shrink-0\">{action}</div>}\n </div>\n <div data-slot=\"description-item-value\" className=\"flex flex-wrap items-center gap-2 py-3 pr-2 pl-4 text-sm text-text-positive\">\n {children}\n </div>\n </div>\n );\n }\n\n return (\n <div\n data-slot=\"description-item\"\n style={{ display: 'grid', gridTemplateColumns: 'repeat(12, minmax(0, 1fr))' }}\n className=\"grid border-b border-b-border last:border-b-0\"\n >\n <div\n data-slot=\"description-item-label\"\n style={{ gridColumn: `span ${labelColSpan} / span ${labelColSpan}` }}\n className=\"flex min-w-full items-center justify-between overflow-x-hidden text-wrap break-all border-r border-r-border bg-secondary-muted py-3 pr-2 pl-4 text-sm font-medium text-text-positive-weak tabular-nums\"\n >\n <span>{label}</span>\n {action && <div className=\"shrink-0 pr-1\">{action}</div>}\n </div>\n <div\n data-slot=\"description-item-value\"\n style={{ gridColumn: `span ${12 - labelColSpan} / span ${12 - labelColSpan}` }}\n className=\"flex flex-wrap items-center gap-2 py-3 pr-2 pl-4 text-sm text-text-positive\"\n >\n {children}\n </div>\n </div>\n );\n};\n\n/**\n * A header bar for a {@link Description} block, showing a title, an optional subtitle, and an optional trailing action area.\n *\n * @example\n * import { Description, DescriptionHeader } from '@customafk/lunas-ui/features/descriptions';\n *\n * <Description>\n * <DescriptionHeader title=\"User details\" description=\"Read-only overview\" extra={<EditBtn />} />\n * </Description>\n */\nexport const DescriptionHeader: React.FC<{\n /** Primary heading text. */\n title: string;\n /** Optional secondary text rendered below the title in a smaller, muted style. */\n description?: string;\n /** Optional node rendered on the right side of the header (e.g. action buttons). */\n extra?: React.ReactNode;\n /** Additional CSS class names applied to the header wrapper. */\n className?: string;\n}> = ({ title, description, extra, className }) => {\n return (\n <div\n data-slot=\"description-header\"\n className={cn('sticky top-0 z-10 flex items-center justify-between gap-4 border-b border-b-border bg-card px-4 py-3', className)}\n >\n <div className=\"flex flex-col gap-0.5\">\n <p className=\"text-sm font-semibold text-text-positive\">{title}</p>\n {description && <p className=\"text-xs text-text-positive-muted\">{description}</p>}\n </div>\n {extra && <div className=\"shrink-0\">{extra}</div>}\n </div>\n );\n};\n\n/**\n * A visual section divider inside a {@link Description} container that optionally displays a section title with a decorative horizontal rule.\n *\n * @example\n * import { Description, DescriptionSection, DescriptionItem } from '@customafk/lunas-ui/features/descriptions';\n *\n * <Description>\n * <DescriptionSection title=\"Contact\" />\n * <DescriptionItem label=\"Email\">john@example.com</DescriptionItem>\n * </Description>\n */\nexport const DescriptionSection: React.FC<{\n /** Optional section label rendered as uppercase small-caps text beside the divider line. */\n title?: string;\n /** Additional CSS class names applied to the section wrapper. */\n className?: string;\n}> = ({ title, className }) => {\n return (\n <div data-slot=\"description-section\" className={cn('flex items-center gap-3 border-b border-b-border px-4 py-2.5', className)}>\n {title && <p className=\"shrink-0 text-xs font-semibold uppercase tracking-widest text-text-positive-muted\">{title}</p>}\n <div className=\"h-px flex-1 bg-border\" />\n </div>\n );\n};\n\nconst DescriptionLoadingSkeleton: React.FC<{ rows: number }> = ({ rows }) => (\n <div data-slot=\"description-loading\" className=\"animate-pulse\">\n <div className=\"flex items-center justify-between border-b border-b-border px-4 py-3\">\n <div className=\"flex flex-col gap-1.5\">\n <div className=\"h-3.5 w-36 rounded bg-border\" />\n <div className=\"h-2.5 w-24 rounded bg-border-weak\" />\n </div>\n <div className=\"h-5 w-16 rounded bg-border-weak\" />\n </div>\n {Array.from({ length: rows }).map((_, i) => (\n <div key={i} style={{ display: 'grid', gridTemplateColumns: 'repeat(12, minmax(0, 1fr))' }} className=\"grid border-b border-b-border last:border-b-0\">\n <div style={{ gridColumn: 'span 3 / span 3' }} className=\"flex items-center border-r border-r-border bg-secondary-muted py-3 pl-4 pr-2\">\n <div className=\"h-3 w-20 rounded bg-border\" />\n </div>\n <div style={{ gridColumn: 'span 9 / span 9' }} className=\"flex items-center py-3 pl-4 pr-2\">\n <div className=\"h-3 w-28 rounded bg-border-weak\" />\n </div>\n </div>\n ))}\n </div>\n);\n\n/**\n * Root container for a description block — a bordered, rounded card that groups {@link DescriptionHeader}, {@link DescriptionSection}, and {@link DescriptionItem} elements.\n *\n * Set `nested` when embedding one `Description` inside another (removes the outer card shadow/ring and constrains sizing).\n * Set `loading` to replace content with animated skeleton rows while data is being fetched.\n *\n * @example\n * import { Description, DescriptionHeader, DescriptionItem } from '@customafk/lunas-ui/features/descriptions';\n *\n * <Description>\n * <DescriptionHeader title=\"Order #1234\" />\n * <DescriptionItem label=\"Status\">Shipped</DescriptionItem>\n * <DescriptionItem label=\"Total\">$99.00</DescriptionItem>\n * </Description>\n */\nexport const Description: React.FC<\n React.PropsWithChildren<{\n /** Additional CSS class names applied to the root wrapper element. */\n className?: string;\n /** Strips the outer card shadow/ring and adapts sizing for embedding inside another Description. */\n nested?: boolean;\n /** Replaces children with animated skeleton rows while data is loading. */\n loading?: boolean;\n /** Number of skeleton rows shown when `loading` is true. @default 4 */\n loadingRows?: number;\n }>\n> = ({ children, className, nested = false, loading = false, loadingRows = 4 }) => {\n const inGroup = useContext(DescriptionGroupContext);\n\n return (\n <div\n data-slot=\"description\"\n className={cn(\n 'relative flex flex-col bg-card',\n inGroup\n ? 'border-b border-b-border last:border-b-0'\n : nested\n ? 'w-full overflow-hidden rounded-md border border-border'\n : 'size-full overflow-y-auto rounded-lg border border-border shadow-card ring-1 ring-border-weak',\n className\n )}\n >\n {loading ? <DescriptionLoadingSkeleton rows={loadingRows} /> : children}\n </div>\n );\n};\n\n/**\n * A scrollable container that groups multiple {@link Description} blocks and makes each\n * {@link DescriptionHeader} sticky. As you scroll, the next section header stacks above\n * (pushes out) the previous one — standard CSS sticky behaviour within a single scroll context.\n *\n * @example\n * import { DescriptionGroup, Description, DescriptionHeader, DescriptionItem } from '@customafk/lunas-ui/features/descriptions';\n *\n * <DescriptionGroup>\n * <Description>\n * <DescriptionHeader title=\"Personal info\" />\n * <DescriptionItem label=\"Name\">John Doe</DescriptionItem>\n * </Description>\n * <Description>\n * <DescriptionHeader title=\"Contact\" />\n * <DescriptionItem label=\"Email\">john@example.com</DescriptionItem>\n * </Description>\n * </DescriptionGroup>\n */\nexport const DescriptionGroup: React.FC<\n React.PropsWithChildren<{\n /** Additional CSS class names applied to the group wrapper. */\n className?: string;\n }>\n> = ({ children, className }) => {\n return (\n <DescriptionGroupContext.Provider value={true}>\n <div\n data-slot=\"description-group\"\n className={cn('relative size-full overflow-y-auto rounded-lg border border-border bg-card shadow-card ring-1 ring-border-weak', className)}\n >\n {children}\n </div>\n </DescriptionGroupContext.Provider>\n );\n};\n"],"mappings":"4uBAEA,MAAaA,MAET,EAAC,OAAA,CAAK,YAAU,oBAAoB,aAAW,cAAc,UAAU,oEAA2D,KAE3H,CCQEC,GAAqD,CAAE,QAAO,QAAQ,YAAa,UAAU,OAAQ,OAAO,QAClH,EAEH,EAAC,EAAA,CAAM,YAAU,oBAA2B,QAAgB,UAAe,gBACxE,GACK,CAJS,EAAC,EAAA,EAAA,CAAmB,CCH5BC,GAAyD,CAAE,QAAO,YAAY,MAAO,aAAa,QACzG,GAAS,KAAa,EAAC,EAAA,EAAA,CAAmB,CAE5C,EAAC,EAAA,CAAM,YAAU,sBAAsB,QAAQ,OAAO,MAAO,EAAQ,UAAY,SAAU,KAAK,cAC7F,EAAQ,EAAY,GACf,CCJCC,GAAmD,CAAE,QAAO,WAAW,MAAW,CAC7F,GAAM,CAAC,EAAQ,GAAa,EAAS,GAAM,CAErC,EAAa,EAAY,SAAY,CACpC,IACL,MAAM,UAAU,UAAU,UAAU,EAAM,CAC1C,EAAU,GAAK,CACf,eAAiB,EAAU,GAAM,CAAE,KAAK,GACvC,CAAC,EAAM,CAAC,CAIX,OAFK,EAGH,EAAC,SAAA,CACC,KAAK,SACL,YAAU,mBACV,QAAS,EACT,UAAW,EACT,yRACA,GAAY,UACb,WAED,EAAC,OAAA,CAAK,UAAW,EAAG,eAAgB,GAAY,WAAW,UAAG,GAAa,CAC1E,EAAS,EAAC,EAAA,CAAU,KAAM,GAAI,UAAU,yBAA0B,CAAG,EAAC,EAAA,CAAS,KAAM,GAAI,UAAU,+CAAgD,CAAA,EAC7I,CAdQ,EAAC,EAAA,EAAA,CAAmB,ECZ5BC,GAAmD,CAAE,UAC5D,GAAQ,KAAa,EAAC,EAAA,EAAA,CAAmB,CAE3C,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,CAAe,QAAA,YACd,EAAC,EAAA,CAAY,YAAU,mBAAyB,OAAM,OAAO,SAAS,UAAU,eAAgB,EACjF,CACjB,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAAkB,OAAM,OAAO,OAAO,SAAA,GAAS,UAAU,uBAAwB,CAAA,CACnE,CAAA,CAAA,CACT,CAAA,CACM,CCfTC,GAEP,CAAE,YAAa,CACnB,GAAI,CAAC,GAAQ,OAAQ,OAAO,EAAC,EAAA,EAAA,CAAmB,CAEhD,IAAM,EAAW,EAAO,SAAW,EAEnC,OACE,EAAC,MAAA,CAAI,YAAU,qBAAqB,UAAU,gCAC3C,EAAO,IAAI,GACV,EAAC,MAAA,CAEC,UACE,EACI,uHACA,gIAGN,EAACC,EAAAA,CAAM,IAAK,EAAM,IAAK,IAAK,EAAM,IAAK,MAAM,OAAO,OAAO,OAAO,UAAU,2DAA4D,EAPnI,EAAM,GAQP,CACN,EACE,ECfGC,GAAmD,CAAE,OAAM,QAAO,WAAW,GAAM,eACzF,EAGH,EAAC,IAAA,CACC,YAAU,mBACJ,OACN,OAAQ,EAAW,SAAW,IAAA,GAC9B,IAAK,EAAW,sBAAwB,IAAA,GACxC,UAAW,EACT,mLACA,EACD,WAEA,CAAC,GAAY,EAAC,EAAA,CAAS,KAAM,GAAI,UAAU,uBAAwB,CACpE,EAAC,OAAA,CAAK,UAAU,oBAAY,GAAS,GAAY,CAChD,GAAY,EAAC,EAAA,CAAiB,KAAM,GAAI,UAAU,uBAAwB,GACzE,CAhBY,EAAC,EAAA,EAAA,CAAmB,CCR3BC,GAAkF,CAAE,aAC3F,GAAW,KAAa,EAAC,EAAA,EAAA,CAAmB,CAE9C,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,CAAe,QAAA,YACd,EAAC,EAAA,CACC,YAAU,uBACV,QAAQ,KACR,UAAU,mIAET,GACS,EACG,CACjB,EAAC,EAAA,CAAe,MAAM,QAAQ,UAAU,wCACtC,EAAC,MAAA,CAAI,UAAU,kCACb,EAAC,IAAA,CAAE,UAAU,oDAA4C,GAAY,CACrE,EAAC,IAAA,CAAE,UAAU,sDAA6C,EAAQ,UAAU,CAAC,OAAO,SAAA,EAAU,CAAA,EAC1F,EACS,CAAA,CAAA,CACT,CCnBDC,GAEP,CAAE,UACD,EAEH,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,CAAe,QAAA,YACd,EAAC,EAAA,CAAU,YAAU,mBAAmB,QAAQ,KAAK,UAAU,kGAC5D,GACS,EACG,CACjB,EAAC,EAAA,CAAe,MAAM,QAAQ,UAAU,wCACtC,EAAC,MAAA,CAAI,UAAU,kCACb,EAAC,IAAA,CAAE,UAAU,oDAA4C,GAAS,CAClE,EAAC,IAAA,CAAE,UAAU,sDAA6C,EAAK,OAAO,SAAA,EAAU,CAAA,EAC5E,EACS,CAAA,CAAA,CACT,CAdM,EAAC,EAAA,EAAA,CAAmB,CCL3BC,GAAuD,CAAE,WAElE,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,CAAe,YAAU,6BACxB,EAAC,EAAA,CAAU,QAAQ,KAAK,UAAU,0CAC/B,EAAM,QAAQ,wBAAyB,aAAa,EAC3C,EACG,CACjB,EAAC,EAAA,CAAe,MAAM,iBACpB,EAAC,IAAA,CAAE,UAAU,wBAAgB,EAAM,MAAM,EAAE,CAAC,QAAQ,wBAAyB,wBAAwB,EAAK,EAC3F,CAAA,CAAA,CACT,CCRR,GAAiB,EAAa,EAAwB,IAA8C,CACxG,IAAM,EAAa,IAAM,EACzB,OAAQ,EAAR,CACE,IAAK,QACH,OAAO,KAAK,MAAM,EAAM,EAAW,CAAG,EACxC,IAAK,OACH,OAAO,KAAK,KAAK,EAAM,EAAW,CAAG,EACvC,QACE,OAAO,KAAK,MAAM,EAAM,EAAW,CAAG,IAItC,EAA+B,EAAI,4EAA6E,CACpH,SAAU,CACR,KAAM,CACJ,GAAI,UACJ,GAAI,UACJ,GAAI,YACJ,GAAI,UACJ,GAAI,UACL,CACD,MAAO,CACL,QAAS,qBACT,GAAI,eACJ,KAAM,cACP,CACF,CACD,gBAAiB,CACf,KAAM,KACN,MAAO,UACR,CACF,CAAC,CAcW,EAAuB,GACjC,CACC,mBAAmB,IACnB,iBAAiB,IACjB,OAAQ,EACR,OAAQ,EACR,YACA,eAAe,QACf,oBAAoB,GACpB,OAAO,KACP,QAAQ,UACR,QAAQ,EACR,eAC+B,CAC/B,IAAM,EAAgB,MAAwC,CAC5D,IAAMC,EAAoC,EAAE,CAS5C,OARI,OAAO,GAAc,UAAY,GAAa,IAC5C,IACF,EAAQ,sBAAwB,GAGhC,EAAQ,sBAAwB,GAG7B,GACN,CAAC,EAAW,EAAkB,CAAC,CAE5B,EAAe,EAClB,GAAwB,CACvB,IAAI,EAAe,EAInB,OAHI,OAAO,GAAc,UAAY,GAAa,IAChD,EAAe,EAAc,EAAK,EAAW,EAAa,EAErD,EAAa,eAAe,QAAS,EAAc,EAE5D,CAAC,EAAc,EAAe,EAAU,CACzC,CAEK,EAAiB,MAAsB,CAC3C,GAAI,OAAO,GAAU,SAEnB,OADI,OAAO,MAAM,EAAM,EAAI,CAAC,OAAO,SAAS,EAAM,CAAS,MACpD,EAAa,EAAM,CAE5B,GAAI,OAAO,GAAU,SAAU,CAC7B,IAAM,EAAe,EAAM,MAAM,CACjC,GAAI,CAAC,EAAc,MAAO,MAC1B,IAAM,EAAW,OAAO,EAAa,CAErC,OADI,OAAO,MAAM,EAAS,EAAI,CAAC,OAAO,SAAS,EAAS,CAAS,MAC1D,EAAa,EAAS,CAE/B,MAAO,OACN,CAAC,EAAO,EAAa,CAAC,CAEnB,EAAsB,MACtB,IAAqB,KAAO,IAAmB,IAAY,EACxD,EAAe,QAAQ,KAAM,EAAe,CAAC,QAAQ,MAAO,EAAiB,CACnF,CAAC,EAAgB,EAAkB,EAAe,CAAC,CAMtD,OAJI,IAAwB,KAAO,IAAwB,OAAS,CAAC,EAC5D,EAAC,EAAA,EAAA,CAAmB,CAI3B,EAAC,MAAA,CAAI,YAAU,wBAAwB,UAAW,EAAG,EAA6B,CAAE,OAAM,QAAO,CAAC,CAAE,EAAU,WAC3G,GAAU,EAAC,OAAA,CAAK,YAAU,wCAAgC,GAAc,CACzE,EAAC,IAAA,CAAE,YAAU,uCAA+B,GAAwB,CACnE,GAAU,EAAC,OAAA,CAAK,YAAU,wCAAgC,GAAc,GACrE,EAGX,CACD,EAAqB,YAAc,uBCjHnC,MAAMC,EAA2C,CAC/C,QAAS,aACT,UAAW,eACX,MAAO,WACP,OAAQ,YACR,KAAM,UACN,QAAS,aACT,QAAS,aACT,OAAQ,YACT,CAQYC,GAAuD,CAAE,QAAO,QAAQ,OAAQ,MAAM,MAC5F,EAEH,EAAC,EAAA,CAAM,YAAU,qBAAqB,QAAQ,OAAc,QAAO,KAAK,KAAK,UAAU,oBACpF,GAAO,EAAC,OAAA,CAAK,UAAW,EAAG,8CAA+C,EAAY,GAAO,CAAA,CAAI,CACjG,EAAA,EACK,CALS,EAAC,EAAA,EAAA,CAAmB,CCf5BC,GAAyD,CAAE,OAAM,MAAM,EAAG,QAAQ,YAAa,UAAU,UAAa,CACjI,GAAI,CAAC,GAAM,OAAQ,OAAO,EAAC,EAAA,EAAA,CAAmB,CAE9C,IAAM,EAAU,EAAK,MAAM,EAAG,EAAI,CAC5B,EAAW,EAAK,OAAS,EAAQ,OAEvC,OACE,EAAC,MAAA,CAAI,YAAU,uBAAuB,UAAU,iCAC7C,EAAQ,KAAK,EAAK,IAEjB,EAAC,EAAA,CAAuB,UAAgB,QAAO,KAAK,cACjD,GADS,EAEJ,CACR,CACD,EAAW,GACV,EAAC,EAAA,CAAM,QAAQ,UAAU,MAAM,QAAQ,KAAK,eAAK,IAC7C,EAAA,EACI,CAAA,EAEN,ECrBGC,GAAmD,CAAE,OAAM,WAAU,WAC5E,CAAC,GAAQ,CAAC,GAAY,CAAC,EAAc,EAAC,EAAA,EAAA,CAAmB,CACtD,EAAC,EAAA,CAAsB,OAAgB,WAAiB,SAAS,CCNpE,EAA0B,EAAc,GAAM,CAavCC,GAmBR,CAAE,QAAO,eAAe,EAAG,cAAc,aAAc,SAAQ,cAC9D,IAAgB,WAEhB,EAAC,MAAA,CAAI,YAAU,mBAAmB,UAAU,mEAC1C,EAAC,MAAA,CACC,YAAU,yBACV,UAAU,qJAEV,EAAC,OAAA,CAAA,SAAM,EAAA,CAAa,CACnB,GAAU,EAAC,MAAA,CAAI,UAAU,oBAAY,GAAa,CAAA,EAC/C,CACN,EAAC,MAAA,CAAI,YAAU,yBAAyB,UAAU,8EAC/C,YACG,CAAA,EACF,CAKR,EAAC,MAAA,CACC,YAAU,mBACV,MAAO,CAAE,QAAS,OAAQ,oBAAqB,6BAA8B,CAC7E,UAAU,0DAEV,EAAC,MAAA,CACC,YAAU,yBACV,MAAO,CAAE,WAAY,QAAQ,EAAa,UAAU,IAAgB,CACpE,UAAU,mNAEV,EAAC,OAAA,CAAA,SAAM,EAAA,CAAa,CACnB,GAAU,EAAC,MAAA,CAAI,UAAU,yBAAiB,GAAa,CAAA,EACpD,CACN,EAAC,MAAA,CACC,YAAU,yBACV,MAAO,CAAE,WAAY,QAAQ,GAAK,EAAa,UAAU,GAAK,IAAgB,CAC9E,UAAU,8EAET,YACG,CAAA,EACF,CAcGC,GASP,CAAE,QAAO,cAAa,QAAO,eAE/B,EAAC,MAAA,CACC,YAAU,qBACV,UAAW,EAAG,uGAAwG,EAAU,WAEhI,EAAC,MAAA,CAAI,UAAU,kCACb,EAAC,IAAA,CAAE,UAAU,oDAA4C,GAAU,CAClE,GAAe,EAAC,IAAA,CAAE,UAAU,4CAAoC,GAAgB,CAAA,EAC7E,CACL,GAAS,EAAC,MAAA,CAAI,UAAU,oBAAY,GAAY,CAAA,EAC7C,CAeGC,GAKP,CAAE,QAAO,eAEX,EAAC,MAAA,CAAI,YAAU,sBAAsB,UAAW,EAAG,+DAAgE,EAAU,WAC1H,GAAS,EAAC,IAAA,CAAE,UAAU,6FAAqF,GAAU,CACtH,EAAC,MAAA,CAAI,UAAU,wBAAA,CAA0B,CAAA,EACrC,CAIJC,GAA0D,CAAE,UAChE,EAAC,MAAA,CAAI,YAAU,sBAAsB,UAAU,0BAC7C,EAAC,MAAA,CAAI,UAAU,iFACb,EAAC,MAAA,CAAI,UAAU,kCACb,EAAC,MAAA,CAAI,UAAU,+BAAA,CAAiC,CAChD,EAAC,MAAA,CAAI,UAAU,oCAAA,CAAsC,CAAA,EACjD,CACN,EAAC,MAAA,CAAI,UAAU,kCAAA,CAAoC,CAAA,EAC/C,CACL,MAAM,KAAK,CAAE,OAAQ,EAAM,CAAC,CAAC,KAAK,EAAG,IACpC,EAAC,MAAA,CAAY,MAAO,CAAE,QAAS,OAAQ,oBAAqB,6BAA8B,CAAE,UAAU,0DACpG,EAAC,MAAA,CAAI,MAAO,CAAE,WAAY,kBAAmB,CAAE,UAAU,wFACvD,EAAC,MAAA,CAAI,UAAU,6BAAA,CAA+B,EAC1C,CACN,EAAC,MAAA,CAAI,MAAO,CAAE,WAAY,kBAAmB,CAAE,UAAU,4CACvD,EAAC,MAAA,CAAI,UAAU,kCAAA,CAAoC,EAC/C,CAAA,EANE,EAOJ,CACN,CAAA,EACE,CAkBKC,GAWR,CAAE,WAAU,YAAW,SAAS,GAAO,UAAU,GAAO,cAAc,KAAQ,CACjF,IAAM,EAAU,EAAW,EAAwB,CAEnD,OACE,EAAC,MAAA,CACC,YAAU,cACV,UAAW,EACT,iCACA,EACI,2CACA,EACE,yDACA,gGACN,EACD,UAEA,EAAU,EAAC,EAAA,CAA2B,KAAM,EAAA,CAAe,CAAG,GAC3D,EAuBGC,GAKR,CAAE,WAAU,eAEb,EAAC,EAAwB,SAAA,CAAS,MAAO,YACvC,EAAC,MAAA,CACC,YAAU,oBACV,UAAW,EAAG,iHAAkH,EAAU,CAEzI,YACG,EAC2B"}
@@ -1 +0,0 @@
1
- import"../../heading-De4Pn3mZ.mjs";import"../../paragraph-DYLaQtTV.mjs";import"../../close-_UHFeiLS.mjs";import"../../dialog-CLDnvNH_.mjs";import"../../command-D6_CSbwJ.mjs";import{t as e}from"../../search-modal-Bn-GOOCy.mjs";export{e as SearchModal};
@@ -1 +0,0 @@
1
- import"../../button.variants-DkMqWB8G.mjs";import"../../button-CCVJTHBI.mjs";import"../../paragraph-DYLaQtTV.mjs";import"../../flex-B6YSJzGe.mjs";import"../../date-fY3sUcLp.mjs";import"../../badge-CDGBGq8X.mjs";import"../../tooltip-Dxl5Wa8i.mjs";import"../../statistic-cwLwcukn.mjs";import"../../avatar-fltdRVsJ.mjs";import"../../separator-D3Gmkxzq.mjs";import"../../close-_UHFeiLS.mjs";import{A as e,B as t,C as n,D as r,E as i,F as a,H as o,I as s,L as c,M as l,N as u,O as d,P as f,R as p,S as m,T as h,V as g,_,a as v,b as y,c as b,d as x,f as S,g as C,h as w,i as T,j as E,k as D,l as O,m as k,n as A,o as j,p as M,r as N,s as P,t as F,u as I,v as L,w as R,x as z,y as B,z as V}from"../../tables-CFrsk2lM.mjs";import"../../dropdown-menu-BWhiVsEf.mjs";import"../../progress-CLeM0e7Z.mjs";import"../../checkbox-Cat3i08X.mjs";import"../../spinner-eClTgHjk.mjs";import"../../resizable-CpCaSCFB.mjs";import"../../input-NJP2wQOm.mjs";import"../../label-CUCpwS5D.mjs";import"../../popover-C8rcemA3.mjs";import"../../select-LlPCZFSF.mjs";export{P as UITableAnalysisPanel,o as UITableAvatarNameDisplay,g as UITableBadgeDisplay,h as UITableBody,t as UITableBooleanDisplay,R as UITableCell,n as UITableCellActions,m as UITableCellSelect,b as UITableContainer,V as UITableCurrencyDisplay,p as UITableDateDisplay,c as UITableDescriptionDisplay,s as UITableEmailDisplay,z as UITableEmptyDisplay,j as UITableFilter,y as UITableFooter,B as UITableFooterRow,L as UITableHead,C as UITableHeadCell,_ as UITableHeadCellOption,w as UITableHeadCellSelect,k as UITableHeadRow,M as UITableInnerTable,S as UITableInnerWrapper,a as UITableListDisplay,x as UITableLoadMore,f as UITableMoreButton,u as UITableNameDisplay,l as UITablePermalink,E as UITablePhoneNumberDisplay,e as UITableProgressDisplay,v as UITableProvider,D as UITableRemoveButton,I as UITableRow,d as UITableStatisticDisplay,r as UITableStatusDisplay,T as UITableSummaryBar,F as UITableTooltip,A as UITableTooltipActions,N as UITableTooltipFilter,i as UITableUserDataDisplay,O as UITableWrapper};
@@ -1,2 +0,0 @@
1
- import { $ as ArrayHeaderRow, A as TextEditorField, B as ComboboxField, C as TanStackPopoverForm, Ct as TextFieldValue, D as TanStackCardForm, E as TanStackContainerForm, F as RadioGroupField, G as SimplePasswordField, H as SimpleTextField, I as PasswordField, J as SimpleRadioGroupField, K as SimpleNumberField, L as NumberField, M as TextField, N as SwitchField, O as TanStackActionsForm, P as SelectField, Q as ArrayCol, R as EmailField, S as TanStackSectionForm, St as TextFieldProps, T as TanStackDialogForm, U as SimpleTextareaField, V as CheckboxField, W as SimpleSelectField, X as SimpleComboboxField, Y as SimpleDateField, Z as SimpleBooleanField, _ as FieldSet, _t as SelectFieldProps, a as withTanStackForm, at as DateFieldProps, b as CancelButton, bt as SwitchFieldProps, c as FieldContent, ct as FieldOrientation, d as FieldError, dt as MultiSelectFieldValue, et as SimpleArrayField, f as FieldGroup, ft as NumberFieldProps, g as FieldSeparator, gt as RadioOption, h as FieldNote, ht as RadioGroupFieldProps, i as withTanStackFieldGroup, it as ComboboxFieldProps, j as TextareaField, k as TanStackActionSubmit, l as FieldContentMain, lt as FieldRounding, m as FieldLegend, mt as PasswordFieldProps, n as useTanStackForm, nt as BooleanFieldValue, o as SubmitButton, ot as DateFieldValue, p as FieldLabel, pt as NumberFieldValue, q as SimpleEmailField, r as useTanStackFormContext, rt as CheckboxFieldProps, s as Field, st as EmailFieldProps, t as useTanStackFieldContext, tt as AnyFieldProps, u as FieldDescription, ut as FieldType, v as FieldTitle, vt as SelectOption, w as TanStackFieldGroup, wt as TextareaFieldProps, x as TanStackTitleField, xt as TextEditorFieldProps, y as FieldTooltip, yt as SimpleTextFieldProps, z as DateField } from "../../index-Cl_7tlH_.mjs";
2
- export { AnyFieldProps, ArrayCol, ArrayHeaderRow, BooleanFieldValue, CancelButton, CheckboxField, CheckboxFieldProps, ComboboxField, ComboboxFieldProps, DateField, DateFieldProps, DateFieldValue, EmailField, EmailFieldProps, Field, FieldContent, FieldContentMain, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldNote, FieldOrientation, FieldRounding, FieldSeparator, FieldSet, FieldTitle, FieldTooltip, FieldType, MultiSelectFieldValue, NumberField, NumberFieldProps, NumberFieldValue, PasswordField, PasswordFieldProps, RadioGroupField, RadioGroupFieldProps, RadioOption, SelectField, SelectFieldProps, SelectOption, SimpleArrayField, SimpleBooleanField, SimpleComboboxField, SimpleDateField, SimpleEmailField, SimpleNumberField, SimplePasswordField, SimpleRadioGroupField, SimpleSelectField, SimpleTextField, SimpleTextFieldProps, SimpleTextareaField, SubmitButton, SwitchField, SwitchFieldProps, TanStackActionSubmit, TanStackActionsForm, TanStackCardForm, TanStackContainerForm, TanStackDialogForm, TanStackFieldGroup, TanStackPopoverForm, TanStackSectionForm, TanStackTitleField, TextEditorField, TextEditorFieldProps, TextField, TextFieldProps, TextFieldValue, TextareaField, TextareaFieldProps, useTanStackFieldContext, useTanStackForm, useTanStackFormContext, withTanStackFieldGroup, withTanStackForm };
@@ -1 +0,0 @@
1
- import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,G as s,H as c,I as l,J as u,K as d,L as f,M as p,N as m,O as h,P as g,Q as _,R as v,S as y,T as b,U as x,V as S,W as C,X as w,Y as T,Z as E,_ as D,a as O,b as k,c as A,d as j,et as M,f as N,g as P,h as F,i as I,j as L,k as R,l as z,m as B,n as V,o as H,p as U,q as W,r as G,s as K,t as q,u as J,v as Y,w as X,x as Z,y as Q,z as $}from"../../tanstack-form-DT1TqIDl.mjs";import"../../button.variants-DkMqWB8G.mjs";import"../../button-CCVJTHBI.mjs";import"../../heading-De4Pn3mZ.mjs";import"../../paragraph-DYLaQtTV.mjs";import"../../tooltip-Dxl5Wa8i.mjs";import"../../separator-D3Gmkxzq.mjs";import"../../close-_UHFeiLS.mjs";import"../../dialog-CLDnvNH_.mjs";import"../../command-D6_CSbwJ.mjs";import"../../dropdown-menu-BWhiVsEf.mjs";import"../../checkbox-Cat3i08X.mjs";import"../../input-NJP2wQOm.mjs";import"../../label-CUCpwS5D.mjs";import"../../popover-C8rcemA3.mjs";import"../../select-LlPCZFSF.mjs";import"../../switch-BP7EPatj.mjs";import"../../drawer-CMD7JWH8.mjs";import"../../calendar-R866yyd1.mjs";import"../../radio-group-Y9bhdr55.mjs";import"../../textarea-7HDXcaK9.mjs";import"../../text-editor-5mA7XyaI.mjs";export{_ as ArrayCol,e as ArrayHeaderRow,N as CancelButton,h as CheckboxField,i as ComboboxField,a as DateField,b as EmailField,$ as Field,n as FieldContent,S as FieldContentMain,c as FieldDescription,x as FieldError,C as FieldGroup,s as FieldLabel,d as FieldLegend,W as FieldNote,u as FieldSeparator,T as FieldSet,w as FieldTitle,E as FieldTooltip,X as NumberField,r as PasswordField,y as RadioGroupField,Z as SelectField,M as SimpleArrayField,v as SimpleBooleanField,f as SimpleComboboxField,l as SimpleDateField,g as SimpleEmailField,m as SimpleNumberField,p as SimplePasswordField,o as SimpleRadioGroupField,L as SimpleSelectField,R as SimpleTextField,t as SimpleTextareaField,j as SubmitButton,k as SwitchField,P as TanStackActionSubmit,F as TanStackActionsForm,B as TanStackCardForm,U as TanStackContainerForm,J as TanStackDialogForm,z as TanStackFieldGroup,A as TanStackPopoverForm,K as TanStackSectionForm,H as TanStackTitleField,D as TextEditorField,Q as TextField,Y as TextareaField,q as useTanStackFieldContext,V as useTanStackForm,G as useTanStackFormContext,I as withTanStackFieldGroup,O as withTanStackForm};
@@ -1 +0,0 @@
1
- "use client";import"../../close-_UHFeiLS.mjs";import"../../dropdown-menu-BWhiVsEf.mjs";import"../../popover-C8rcemA3.mjs";import{n as e,r as t,t as n}from"../../text-editor-5mA7XyaI.mjs";export{t as LinkDialog,n as TextEditor,e as TextEditorToolbar};
@@ -1,2 +0,0 @@
1
- import{t as e}from"./separator-D3Gmkxzq.mjs";import{t}from"./label-CUCpwS5D.mjs";import{BanIcon as n}from"lucide-react";import{memo as r,useMemo as i}from"react";import{cn as a}from"@customafk/react-toolkit/utils";import{cva as o}from"class-variance-authority";import{jsx as s,jsxs as c}from"react/jsx-runtime";const l=r(({className:e,...t})=>s(`fieldset`,{"data-slot":`field-set`,className:a(`flex flex-col gap-6`,`has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3`,e),...t}));l.displayName=`FieldSet`;const u=r(({className:e,variant:t=`legend`,...n})=>s(`legend`,{"data-slot":`field-legend`,"data-variant":t,className:a(`mb-3 font-medium`,`data-[variant=legend]:text-base`,`data-[variant=label]:text-sm`,e),...n}));u.displayName=`FieldLegend`;const d=r(({className:e,...t})=>s(`div`,{"data-slot":`field-group`,className:a(`group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4`,e),...t}));d.displayName=`FieldGroup`;const f=o(`group/field flex w-full gap-3 data-[invalid=true]:text-destructive`,{variants:{orientation:{vertical:[`flex-col *:w-full [&>.sr-only]:w-auto`],horizontal:[`flex-row items-center`,`*:data-[slot=field-label]:flex-auto`,`has-[>[data-slot=field-content]]:items-start`,`has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`],responsive:[`flex-col *:w-full [&>.sr-only]:w-auto`,`@md/field-group:flex-row`,`@md/field-group:items-center`,`@md/field-group:*:w-auto`,`@md/field-group:*:data-[slot=field-label]:flex-auto`,`@md/field-group:has-[>[data-slot=field-content]]:items-start`,`@md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`]}},defaultVariants:{orientation:`vertical`}}),p=r(({className:e,orientation:t=`vertical`,...n})=>s(`div`,{"data-slot":`field`,"data-orientation":t,className:a(f({orientation:t}),e),...n}));p.displayName=`Field`;const m=r(({className:e,...t})=>s(`div`,{"data-slot":`field-content`,className:a(`group/field-content flex basis-2/5 flex-col gap-1.5 leading-snug`,e),...t}));m.displayName=`FieldContent`;const h=r(({className:e,...n})=>s(t,{"data-slot":`field-label`,className:a(`group/field-label peer/field-label flex w-fit gap-2 leading-snug`,`group-data-[disabled=true]/field:opacity-50`,`has-[>[data-slot=field]]:w-full`,`has-[>[data-slot=field]]:flex-col`,`has-[>[data-slot=field]]:rounded-md`,`has-[>[data-slot=field]]:border`,`*:data-[slot=field]:p-4`,`has-data-[state=checked]:bg-primary/5`,`has-data-[state=checked]:border-primary`,e),...n}));h.displayName=`FieldLabel`;const g=r(({className:e,...t})=>s(`div`,{"data-slot":`field-label`,className:a(`flex w-fit items-center gap-2 font-medium text-sm leading-snug group-data-[disabled=true]/field:opacity-50`,e),...t}));g.displayName=`FieldTitle`;const _=r(({className:e,...t})=>s(`p`,{"data-slot":`field-description`,className:a(`text-text-positive-weak text-sm leading-normal font-normal group-has-data-[orientation=horizontal]/field:text-balance`,`last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5`,`[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4`,e),...t}));_.displayName=`FieldDescription`;const v=r(({children:t,className:n,...r})=>c(`div`,{"data-slot":`field-separator`,"data-content":!!t,className:a(`relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2`,n),...r,children:[s(e,{className:`absolute inset-0 top-1/2`}),t&&s(`span`,{className:`relative mx-auto block w-fit bg-background px-2 text-text-positive-weak`,"data-slot":`field-separator-content`,children:t})]}));v.displayName=`FieldSeparator`;const y=r(({className:e,children:t,errors:r,...o})=>{let l=i(()=>t||(r?r?.length===1&&r[0]?.message?c(`div`,{className:`flex flex-row items-center justify-start gap-x-0.5`,children:[s(n,{size:14}),s(`p`,{children:r[0].message})]}):s(`ul`,{className:`ml-4 flex list-disc flex-col gap-1`,children:r.map(e=>typeof e==`string`?s(`li`,{children:e},e):e?.message?s(`li`,{children:e.message},e.message):null)}):null),[t,r]);return l?s(`div`,{role:`alert`,"data-slot":`field-error`,className:a(`w-full font-normal text-danger text-xs`,e),...o,children:l}):null});y.displayName=`FieldError`;export{d as a,v as c,y as i,l,m as n,h as o,_ as r,u as s,p as t,g as u};
2
- //# sourceMappingURL=field-dYemS0hQ.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"field-dYemS0hQ.mjs","names":[],"sources":["../packages/components/ui/field.tsx"],"sourcesContent":["'use client';\n\nimport { memo, useMemo } from 'react';\n\nimport { BanIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Label } from '@/components/ui/label';\nimport { Separator } from '@/components/ui/separator';\n\nconst FieldSet = memo(({ className, ...props }: React.ComponentProps<'fieldset'>) => {\n return (\n <fieldset\n data-slot=\"field-set\"\n className={cn('flex flex-col gap-6', 'has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3', className)}\n {...props}\n />\n );\n});\nFieldSet.displayName = 'FieldSet';\n\nconst FieldLegend = memo(({ className, variant = 'legend', ...props }: React.ComponentProps<'legend'> & { variant?: 'legend' | 'label' }) => {\n return (\n <legend\n data-slot=\"field-legend\"\n data-variant={variant}\n className={cn('mb-3 font-medium', 'data-[variant=legend]:text-base', 'data-[variant=label]:text-sm', className)}\n {...props}\n />\n );\n});\nFieldLegend.displayName = 'FieldLegend';\n\nconst FieldGroup = memo(({ className, ...props }: React.ComponentProps<'div'>) => {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\n 'group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4',\n className\n )}\n {...props}\n />\n );\n});\nFieldGroup.displayName = 'FieldGroup';\n\nconst fieldVariants = cva('group/field flex w-full gap-3 data-[invalid=true]:text-destructive', {\n variants: {\n orientation: {\n vertical: ['flex-col *:w-full [&>.sr-only]:w-auto'],\n horizontal: [\n 'flex-row items-center',\n '*:data-[slot=field-label]:flex-auto',\n 'has-[>[data-slot=field-content]]:items-start',\n 'has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px',\n ],\n responsive: [\n 'flex-col *:w-full [&>.sr-only]:w-auto',\n '@md/field-group:flex-row',\n '@md/field-group:items-center',\n '@md/field-group:*:w-auto',\n '@md/field-group:*:data-[slot=field-label]:flex-auto',\n '@md/field-group:has-[>[data-slot=field-content]]:items-start',\n '@md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px',\n ],\n },\n },\n defaultVariants: {\n orientation: 'vertical',\n },\n});\n\nconst Field = memo(({ className, orientation = 'vertical', ...props }: React.ComponentProps<'div'> & VariantProps<typeof fieldVariants>) => {\n return <div data-slot=\"field\" data-orientation={orientation} className={cn(fieldVariants({ orientation }), className)} {...props} />;\n});\nField.displayName = 'Field';\n\nconst FieldContent = memo(({ className, ...props }: React.ComponentProps<'div'>) => {\n return <div data-slot=\"field-content\" className={cn('group/field-content flex basis-2/5 flex-col gap-1.5 leading-snug', className)} {...props} />;\n});\nFieldContent.displayName = 'FieldContent';\n\nconst FieldLabel = memo(({ className, ...props }: React.ComponentProps<typeof Label>) => {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n 'group/field-label peer/field-label flex w-fit gap-2 leading-snug',\n 'group-data-[disabled=true]/field:opacity-50',\n 'has-[>[data-slot=field]]:w-full',\n 'has-[>[data-slot=field]]:flex-col',\n 'has-[>[data-slot=field]]:rounded-md',\n 'has-[>[data-slot=field]]:border',\n '*:data-[slot=field]:p-4',\n 'has-data-[state=checked]:bg-primary/5',\n 'has-data-[state=checked]:border-primary',\n className\n )}\n {...props}\n />\n );\n});\nFieldLabel.displayName = 'FieldLabel';\n\nconst FieldTitle = memo(({ className, ...props }: React.ComponentProps<'div'>) => {\n return (\n <div\n data-slot=\"field-label\"\n className={cn('flex w-fit items-center gap-2 font-medium text-sm leading-snug group-data-[disabled=true]/field:opacity-50', className)}\n {...props}\n />\n );\n});\nFieldTitle.displayName = 'FieldTitle';\n\nconst FieldDescription = memo(({ className, ...props }: React.ComponentProps<'p'>) => {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\n 'text-text-positive-weak text-sm leading-normal font-normal group-has-data-[orientation=horizontal]/field:text-balance',\n 'last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5',\n '[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4',\n className\n )}\n {...props}\n />\n );\n});\nFieldDescription.displayName = 'FieldDescription';\n\nconst FieldSeparator = memo(\n ({\n children,\n className,\n ...props\n }: React.ComponentProps<'div'> & {\n children?: React.ReactNode;\n }) => {\n return (\n <div\n data-slot=\"field-separator\"\n data-content={!!children}\n className={cn('relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2', className)}\n {...props}\n >\n <Separator className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span className=\"relative mx-auto block w-fit bg-background px-2 text-text-positive-weak\" data-slot=\"field-separator-content\">\n {children}\n </span>\n )}\n </div>\n );\n }\n);\nFieldSeparator.displayName = 'FieldSeparator';\n\nconst FieldError = memo(\n ({\n className,\n children,\n errors,\n ...props\n }: React.ComponentProps<'div'> & {\n errors?: Array<{ message?: string } | undefined>;\n }) => {\n const content = useMemo(() => {\n if (children) {\n return children;\n }\n\n if (!errors) {\n return null;\n }\n\n if (errors?.length === 1 && errors[0]?.message) {\n return (\n <div className=\"flex flex-row items-center justify-start gap-x-0.5\">\n <BanIcon size={14} />\n <p>{errors[0].message}</p>\n </div>\n );\n }\n\n return (\n <ul className=\"ml-4 flex list-disc flex-col gap-1\">\n {errors.map(error => {\n if (typeof error === 'string') return <li key={error}>{error}</li>;\n if (!error?.message) return null;\n return <li key={error.message}>{error.message}</li>;\n })}\n </ul>\n );\n }, [children, errors]);\n\n if (!content) {\n return null;\n }\n\n return (\n <div role=\"alert\" data-slot=\"field-error\" className={cn('w-full font-normal text-danger text-xs', className)} {...props}>\n {content}\n </div>\n );\n }\n);\nFieldError.displayName = 'FieldError';\n\nexport { Field, FieldLabel, FieldDescription, FieldError, FieldGroup, FieldLegend, FieldSeparator, FieldSet, FieldContent, FieldTitle };\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"flex-B6YSJzGe.mjs","names":[],"sources":["../packages/components/layouts/flex.tsx"],"sourcesContent":["'use client';\nimport { memo } from 'react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nconst flexVariants = cva(['relative flex', 'text-sm'], {\n variants: {\n vertical: {\n true: 'flex-col',\n false: 'flex-row',\n },\n width: {\n full: 'w-full',\n auto: 'w-auto',\n fit: 'w-fit',\n screen: 'w-screen',\n min: 'w-min',\n max: 'w-max',\n null: '',\n },\n wrap: {\n true: 'flex-wrap',\n false: 'flex-nowrap',\n },\n margin: {\n sm: 'm-2',\n md: 'm-4',\n lg: 'm-6',\n xl: 'm-8',\n none: 'm-0',\n },\n padding: {\n sm: 'p-2',\n md: 'p-4',\n lg: 'p-6',\n xl: 'p-8',\n none: 'p-0',\n },\n gap: {\n xs: 'gap-1',\n sm: 'gap-2',\n md: 'gap-4',\n lg: 'gap-6',\n xl: 'gap-8',\n none: 'gap-0',\n },\n justify: {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n around: 'justify-around',\n evenly: 'justify-evenly',\n stretch: 'justify-stretch',\n },\n align: {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n baseline: 'items-baseline',\n stretch: 'items-stretch',\n },\n },\n defaultVariants: {\n vertical: false,\n wrap: true,\n width: 'fit',\n margin: 'none',\n padding: 'sm',\n gap: 'xs',\n justify: 'start',\n align: 'center',\n },\n});\n\ntype Props = {\n /** Additional Tailwind classes merged on top of the variant-generated classes. */\n className?: string;\n /**\n * Stacks children vertically (`flex-col`) when `true`, horizontally (`flex-row`) when `false`.\n * @default false\n */\n vertical?: boolean;\n /**\n * Controls the width of the flex container.\n * - `'full'` — `w-full`\n * - `'auto'` — `w-auto`\n * - `'fit'` — `w-fit` (default)\n * - `'screen'` — `w-screen`\n * - `'min'` — `w-min`\n * - `'max'` — `w-max`\n * - `'null'` — no width utility applied\n * @default 'fit'\n */\n width?: 'full' | 'auto' | 'fit' | 'screen' | 'min' | 'max' | 'null';\n /**\n * Allows children to wrap onto multiple lines when `true`.\n * @default true\n */\n wrap?: boolean;\n /**\n * Uniform margin applied to the container.\n * - `'none'` — `m-0` (default)\n * - `'sm'` — `m-2`\n * - `'md'` — `m-4`\n * - `'lg'` — `m-6`\n * - `'xl'` — `m-8`\n * @default 'none'\n */\n margin?: 'sm' | 'md' | 'lg' | 'xl' | 'none';\n /**\n * Uniform padding applied to the container.\n * - `'none'` — `p-0`\n * - `'sm'` — `p-2` (default)\n * - `'md'` — `p-4`\n * - `'lg'` — `p-6`\n * - `'xl'` — `p-8`\n * @default 'sm'\n */\n padding?: 'sm' | 'md' | 'lg' | 'xl' | 'none';\n /**\n * Gap between child elements.\n * - `'none'` — `gap-0`\n * - `'xs'` — `gap-1` (default)\n * - `'sm'` — `gap-2`\n * - `'md'` — `gap-4`\n * - `'lg'` — `gap-6`\n * - `'xl'` — `gap-8`\n * @default 'xs'\n */\n gap?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'none';\n /**\n * Justification of children along the main axis (`justify-content`).\n * @default 'start'\n */\n justify?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly' | 'stretch';\n /**\n * Alignment of children along the cross axis (`align-items`).\n * @default 'center'\n */\n align?: 'start' | 'center' | 'end' | 'baseline' | 'stretch';\n} & VariantProps<typeof flexVariants>;\n\n/**\n * A flexible, variant-driven flex container built on CVA and TailwindCSS.\n *\n * @example\n * ```tsx\n * import { Flex } from '@customafk/lunas-ui/layouts/flex';\n *\n * // Horizontal row with centered children and a medium gap\n * <Flex gap=\"md\" justify=\"between\" align=\"center\">\n * <span>Left</span>\n * <span>Right</span>\n * </Flex>\n *\n * // Vertical stack that fills parent width\n * <Flex vertical width=\"full\" gap=\"sm\" padding=\"md\">\n * <p>First item</p>\n * <p>Second item</p>\n * </Flex>\n * ```\n */\nexport const Flex = memo(({ vertical, wrap, width, margin, padding, gap, justify, align, className, children }: React.PropsWithChildren<Props>) => {\n return (\n <div\n className={cn(\n flexVariants({\n vertical,\n width,\n wrap,\n margin,\n padding,\n gap,\n justify,\n align,\n className,\n })\n )}\n >\n {children}\n </div>\n );\n});\nFlex.displayName = 'Flex';\n"],"mappings":"wKAOA,MAAM,EAAe,EAAI,CAAC,gBAAiB,UAAU,CAAE,CACrD,SAAU,CACR,SAAU,CACR,KAAM,WACN,MAAO,WACR,CACD,MAAO,CACL,KAAM,SACN,KAAM,SACN,IAAK,QACL,OAAQ,WACR,IAAK,QACL,IAAK,QACL,KAAM,GACP,CACD,KAAM,CACJ,KAAM,YACN,MAAO,cACR,CACD,OAAQ,CACN,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,KAAM,MACP,CACD,QAAS,CACP,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,KAAM,MACP,CACD,IAAK,CACH,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,KAAM,QACP,CACD,QAAS,CACP,MAAO,gBACP,OAAQ,iBACR,IAAK,cACL,QAAS,kBACT,OAAQ,iBACR,OAAQ,iBACR,QAAS,kBACV,CACD,MAAO,CACL,MAAO,cACP,OAAQ,eACR,IAAK,YACL,SAAU,iBACV,QAAS,gBACV,CACF,CACD,gBAAiB,CACf,SAAU,GACV,KAAM,GACN,MAAO,MACP,OAAQ,OACR,QAAS,KACT,IAAK,KACL,QAAS,QACT,MAAO,SACR,CACF,CAAC,CA0FW,EAAO,GAAM,CAAE,WAAU,OAAM,QAAO,SAAQ,UAAS,MAAK,UAAS,QAAO,YAAW,cAEhG,EAAC,MAAA,CACC,UAAW,EACT,EAAa,CACX,WACA,QACA,OACA,SACA,UACA,MACA,UACA,QACA,YACD,CAAC,CACH,CAEA,YACG,CAER,CACF,EAAK,YAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"heading-De4Pn3mZ.mjs","names":[],"sources":["../packages/components/typography/heading.tsx"],"sourcesContent":["'use client';\n\nimport type { ElementType, ReactNode } from 'react';\nimport { cn } from '@customafk/react-toolkit/utils';\nimport { cva } from 'class-variance-authority';\n\ntype HeadingLevel = 'h1' | 'h2' | 'h3' | 'h4' | 'h5';\n\nexport type HeadingProps = {\n level?: HeadingLevel;\n className?: string;\n children?: ReactNode;\n as?: ElementType;\n};\n\nexport const headingVariants = cva('scroll-m-20 text-start text-balance text-text-positive-strong tracking-tight transition-colors', {\n variants: {\n level: {\n h1: 'text-3xl leading-tight font-bold md:text-4xl',\n h2: 'text-2xl leading-tight font-semibold md:text-3xl',\n h3: 'text-xl leading-snug font-semibold md:text-2xl',\n h4: 'text-lg leading-snug font-semibold md:text-xl',\n h5: 'text-base leading-normal font-semibold md:text-lg',\n },\n },\n defaultVariants: {\n level: 'h2',\n },\n});\n\nexport const Heading = ({ level = 'h3', className, as, children }: HeadingProps) => {\n const Component = as || level;\n\n return (\n <Component data-slot=\"heading\" className={cn(headingVariants({ level }), className)}>\n {children}\n </Component>\n );\n};\n"],"mappings":"2IAeA,MAAa,EAAkB,EAAI,iGAAkG,CACnI,SAAU,CACR,MAAO,CACL,GAAI,+CACJ,GAAI,mDACJ,GAAI,iDACJ,GAAI,gDACJ,GAAI,oDACL,CACF,CACD,gBAAiB,CACf,MAAO,KACR,CACF,CAAC"}
@@ -1,2 +0,0 @@
1
- import{t as e}from"./skeleton-C51IdOfK.mjs";import{AlertCircleIcon as t}from"lucide-react";import{useCallback as n,useRef as r,useState as i}from"react";import{cn as a}from"@customafk/react-toolkit/utils";import{jsx as o,jsxs as s}from"react/jsx-runtime";const c=({src:c,alt:l,width:u,height:d,maxRetries:f=3,retryDelay:p=500,className:m,imageClassName:h,onClick:g})=>{let _=r(null),[v,y]=i(c),[b,x]=i(0),[S,C]=i(!1),[w,T]=i(!1),E=n(()=>{C(!0)},[]),D=n(()=>{if(b<f){T(!1);let e=b+1;x(e),setTimeout(()=>{y(c+`?retry=${Date.now()}&attempt=${e}`)},p*e);return}T(!0),C(!0),y(c)},[f,b,p,c]);return w?o(`div`,{style:{width:u,height:d},className:a(`@container relative inline-block`,m),children:s(`div`,{className:`flex size-full flex-col items-center justify-center gap-y-2 rounded bg-danger-muted shadow-card`,children:[o(t,{className:`@max-[52px]:size-6 size-8 text-danger`}),o(`span`,{className:`@max-[96px]:sr-only text-center text-danger-weak text-xs`,children:`Image failed to load`})]})}):s(`div`,{style:{width:u,height:d},className:a(`relative flex items-center justify-center overflow-hidden rounded`,m),onClick:g,children:[!S&&o(e,{className:`absolute inset-0 flex size-full animate-pulse items-center justify-center`}),o(`img`,{src:v,className:`absolute inset-0 z-0 size-full scale-110 object-cover blur-xl brightness-60`}),o(`img`,{id:v,ref:_,src:v,alt:l,loading:`lazy`,className:a(`relative h-6/5 w-auto object-cover shadow-card transition-opacity duration-300`,S&&`opacity-100`,!S&&`pointer-events-none opacity-0`,h),onLoad:E,onError:D})]})};export{c as t};
2
- //# sourceMappingURL=image-D7OZ13Ib.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-D7OZ13Ib.mjs","names":["Image: React.FC<Props>"],"sources":["../packages/components/ui/image.tsx"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\nimport { AlertCircleIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Skeleton } from './skeleton';\n\n/** Props for the Image component. */\ntype Props = {\n /** URL of the image to display. */\n src?: string;\n /** Accessible alt text for the image. */\n alt?: string;\n /** Width of the image container (number treated as pixels). */\n width?: number | string;\n /** Height of the image container (number treated as pixels). */\n height?: number | string;\n /** Maximum number of retry attempts on load failure before showing an error state. @default 3 */\n maxRetries?: number;\n /** Base delay in milliseconds between retry attempts (multiplied by the attempt count). @default 500 */\n retryDelay?: number;\n /** Class name applied to the outer container div. */\n className?: string;\n /** Class name applied to the `<img>` element. */\n imageClassName?: string;\n /** Click handler for the image container. */\n onClick?: () => void;\n};\n\n/**\n * A lazy-loading image with an automatic retry mechanism, a blurred background placeholder, a skeleton loader, and an error fallback.\n *\n * @example\n * ```tsx\n * import { Image } from '@customafk/lunas-ui/ui/image';\n *\n * <Image src=\"/hero.jpg\" alt=\"Hero\" width={400} height={300} maxRetries={3} />\n * ```\n */\nexport const Image: React.FC<Props> = ({ src, alt, width, height, maxRetries = 3, retryDelay = 500, className, imageClassName, onClick }) => {\n const imageRef = useRef<HTMLImageElement>(null);\n const [currentSrc, setCurrentSrc] = useState<string | undefined>(src);\n const [retryCount, setRetryCount] = useState<number>(0);\n const [isLoaded, setIsLoaded] = useState<boolean>(false);\n const [hasError, setHasError] = useState<boolean>(false);\n\n const handleLoad = useCallback(() => {\n setIsLoaded(true);\n }, []);\n\n const handleError = useCallback(() => {\n if (retryCount < maxRetries) {\n // imageRef.current?.style.setProperty('display', 'none')\n setHasError(false);\n const newRetryCount = retryCount + 1;\n setRetryCount(newRetryCount);\n\n // Retry with exponential backoff and cache busting\n setTimeout(() => {\n const cacheBuster = `?retry=${Date.now()}&attempt=${newRetryCount}`;\n setCurrentSrc(src + cacheBuster);\n }, retryDelay * newRetryCount);\n return;\n }\n\n setHasError(true);\n setIsLoaded(true);\n setCurrentSrc(src);\n }, [maxRetries, retryCount, retryDelay, src]);\n\n if (hasError) {\n return (\n <div style={{ width, height }} className={cn('@container relative inline-block', className)}>\n <div className=\"flex size-full flex-col items-center justify-center gap-y-2 rounded bg-danger-muted shadow-card\">\n <AlertCircleIcon className=\"@max-[52px]:size-6 size-8 text-danger\" />\n <span className=\"@max-[96px]:sr-only text-center text-danger-weak text-xs\">Image failed to load</span>\n </div>\n </div>\n );\n }\n\n return (\n <div style={{ width, height }} className={cn('relative flex items-center justify-center overflow-hidden rounded', className)} onClick={onClick}>\n {!isLoaded && <Skeleton className=\"absolute inset-0 flex size-full animate-pulse items-center justify-center\" />}\n <img src={currentSrc} className=\"absolute inset-0 z-0 size-full scale-110 object-cover blur-xl brightness-60\" />\n <img\n id={currentSrc}\n ref={imageRef}\n src={currentSrc}\n alt={alt}\n loading=\"lazy\"\n className={cn(\n 'relative h-6/5 w-auto object-cover shadow-card transition-opacity duration-300',\n isLoaded && 'opacity-100',\n !isLoaded && 'pointer-events-none opacity-0',\n imageClassName\n )}\n onLoad={handleLoad}\n onError={handleError}\n />\n </div>\n );\n};\n"],"mappings":"+PAwCA,MAAaA,GAA0B,CAAE,MAAK,MAAK,QAAO,SAAQ,aAAa,EAAG,aAAa,IAAK,YAAW,iBAAgB,aAAc,CAC3I,IAAM,EAAW,EAAyB,KAAK,CACzC,CAAC,EAAY,GAAiB,EAA6B,EAAI,CAC/D,CAAC,EAAY,GAAiB,EAAiB,EAAE,CACjD,CAAC,EAAU,GAAe,EAAkB,GAAM,CAClD,CAAC,EAAU,GAAe,EAAkB,GAAM,CAElD,EAAa,MAAkB,CACnC,EAAY,GAAK,EAChB,EAAE,CAAC,CAEA,EAAc,MAAkB,CACpC,GAAI,EAAa,EAAY,CAE3B,EAAY,GAAM,CAClB,IAAM,EAAgB,EAAa,EACnC,EAAc,EAAc,CAG5B,eAAiB,CAEf,EAAc,EADM,UAAU,KAAK,KAAK,CAAC,WAAW,IACpB,EAC/B,EAAa,EAAc,CAC9B,OAGF,EAAY,GAAK,CACjB,EAAY,GAAK,CACjB,EAAc,EAAI,EACjB,CAAC,EAAY,EAAY,EAAY,EAAI,CAAC,CAa7C,OAXI,EAEA,EAAC,MAAA,CAAI,MAAO,CAAE,QAAO,SAAQ,CAAE,UAAW,EAAG,mCAAoC,EAAU,UACzF,EAAC,MAAA,CAAI,UAAU,4GACb,EAAC,EAAA,CAAgB,UAAU,wCAAA,CAA0C,CACrE,EAAC,OAAA,CAAK,UAAU,oEAA2D,wBAA2B,CAAA,EAClG,EACF,CAKR,EAAC,MAAA,CAAI,MAAO,CAAE,QAAO,SAAQ,CAAE,UAAW,EAAG,oEAAqE,EAAU,CAAW,oBACpI,CAAC,GAAY,EAAC,EAAA,CAAS,UAAU,4EAAA,CAA8E,CAChH,EAAC,MAAA,CAAI,IAAK,EAAY,UAAU,+EAAgF,CAChH,EAAC,MAAA,CACC,GAAI,EACJ,IAAK,EACL,IAAK,EACA,MACL,QAAQ,OACR,UAAW,EACT,iFACA,GAAY,cACZ,CAAC,GAAY,gCACb,EACD,CACD,OAAQ,EACR,QAAS,GACT,GACE"}
package/dist/index.d.mts DELETED
@@ -1,93 +0,0 @@
1
- import { GridProductCard } from "./cards/grid-product-card.mjs";
2
- import { ProductCard } from "./cards/product-card.mjs";
3
- import { SimpleCard } from "./cards/simple-card.mjs";
4
- import { CountryDisplay } from "./data-display/country.mjs";
5
- import { DataList, DataListItem } from "./data-display/data-list.mjs";
6
- import { DateTooltip } from "./data-display/date-tooltip.mjs";
7
- import { DateDisplay } from "./data-display/date.mjs";
8
- import { EmptyDisplay } from "./data-display/empty.mjs";
9
- import { NameDisplay } from "./data-display/name.mjs";
10
- import { PhoneNumberDisplay } from "./data-display/phone-number.mjs";
11
- import { RoleBadge } from "./data-display/role-badge.mjs";
12
- import { Statistic, StatisticProps } from "./data-display/statistic.mjs";
13
- import { UserDataDisplay } from "./data-display/user.mjs";
14
- import { ConfirmDialog, ConfirmDialogProps } from "./dialogs/confirm-dialog.mjs";
15
- import { n as ButtonProps, t as Button } from "./button-D3d7M90P.mjs";
16
- import { Separator } from "./ui/separator.mjs";
17
- import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./ui/tooltip.mjs";
18
- import { DetailDialog, DetailDialogProps } from "./dialogs/detail-dialog/index.mjs";
19
- import { ErrorDialog, ErrorDialogProps } from "./dialogs/error-dialog.mjs";
20
- import { LoadingDialog, LoadingDialogProps } from "./dialogs/loading-dialog.mjs";
21
- import { n as BadgeProps, r as badgeVariants, t as Badge } from "./badge-BxSbkHQL.mjs";
22
- import { Description, DescriptionBadge, DescriptionBoolean, DescriptionCopy, DescriptionDate, DescriptionEmpty, DescriptionHeader, DescriptionImages, DescriptionItem, DescriptionLink, DescriptionLongText, DescriptionName, DescriptionNumberPhone, DescriptionSection, DescriptionStatistic, DescriptionStatisticProps, DescriptionStatus, DescriptionTagList, DescriptionUser } from "./features/descriptions/index.mjs";
23
- import { SearchModal } from "./features/search-modal/index.mjs";
24
- import { $ as TUITableColumn, A as CsvCell, At as UITableBadgeDisplay, B as TTableAnalysisContext, C as UITableCellActions, Ct as UITableMoreButton, D as BooleanFilterValue, Dt as UITableDateDisplay, E as ActiveFilter, Et as UITableDescriptionDisplay, F as FilterValue, G as TTableInnerTableContext, H as TTableContext, I as NumberFilterValue, J as TTableVirtualizerContext, K as TTableInnerWrapperContext, L as RowData, M as FilterDefinition, N as FilterOption, O as ColumnAggregation, Ot as UITableCurrencyDisplay, P as FilterType, Q as TUITableCellSelect, R as SingleTagFilterValue, S as UITableCellSelect, St as UITableNameDisplay, T as UITableBody, Tt as UITableEmailDisplay, U as TTableFilterContext, V as TTableBodyContext, W as TTableHeadRowContext, X as TUITableCell, Y as TUITableBody, Z as TUITableCellActions, _ as UITableHeadCell, _t as UITableStatisticDisplay, a as UITableProvider, at as TUITableHeadCellSelect, b as UITableFooter, bt as UITablePhoneNumberDisplay, c as UITableContainer, ct as TUITableInnerWrapper, d as UITableLoadMore, dt as TUITableWrapper, et as TUITableEmptyDisplay, f as UITableInnerWrapper, ft as TableProviderProps, g as UITableHeadCellOption, gt as UITableStatusDisplay, h as UITableHeadCellSelect, ht as UITableUserDataDisplay, i as UITableSummaryBar, it as TUITableHeadCellOption, j as DateRangeFilterValue, jt as UITableAvatarNameDisplay, k as ColumnAggregationType, kt as UITableBooleanDisplay, l as UITableWrapper, lt as TUITableLoadMore, m as UITableHeadRow, mt as TextFilterValue, n as UITableTooltipActions, nt as TUITableHead, o as UITableFilter, ot as TUITableHeadRow, p as UITableInnerTable, pt as TagFilterValue, q as TTableRowContext, r as UITableTooltipFilter, rt as TUITableHeadCell, s as UITableAnalysisPanel, st as TUITableInnerTable, t as UITableTooltip, tt as TUITableFooter, u as UITableRow, ut as TUITableRow, v as UITableHead, vt as UITableRemoveButton, w as UITableCell, wt as UITableListDisplay, x as UITableEmptyDisplay, xt as UITablePermalink, y as UITableFooterRow, yt as UITableProgressDisplay, z as SummaryItem } from "./index-DriviV-i.mjs";
25
- import { n as InputVariantProps, t as Input } from "./input-BtuZm0BQ.mjs";
26
- import { $ as ArrayHeaderRow, A as TextEditorField, B as ComboboxField, C as TanStackPopoverForm, Ct as TextFieldValue, D as TanStackCardForm, E as TanStackContainerForm, F as RadioGroupField, G as SimplePasswordField, H as SimpleTextField, I as PasswordField, J as SimpleRadioGroupField, K as SimpleNumberField, L as NumberField, M as TextField, N as SwitchField, O as TanStackActionsForm, P as SelectField, Q as ArrayCol, R as EmailField, S as TanStackSectionForm, St as TextFieldProps, T as TanStackDialogForm, U as SimpleTextareaField, V as CheckboxField, W as SimpleSelectField, X as SimpleComboboxField, Y as SimpleDateField, Z as SimpleBooleanField, _ as FieldSet, _t as SelectFieldProps, a as withTanStackForm, at as DateFieldProps, b as CancelButton, bt as SwitchFieldProps, c as FieldContent, ct as FieldOrientation, d as FieldError, dt as MultiSelectFieldValue, et as SimpleArrayField, f as FieldGroup, ft as NumberFieldProps, g as FieldSeparator, gt as RadioOption, h as FieldNote, ht as RadioGroupFieldProps, i as withTanStackFieldGroup, it as ComboboxFieldProps, j as TextareaField, k as TanStackActionSubmit, l as FieldContentMain, lt as FieldRounding, m as FieldLegend, mt as PasswordFieldProps, n as useTanStackForm, nt as BooleanFieldValue, o as SubmitButton, ot as DateFieldValue, p as FieldLabel, pt as NumberFieldValue, q as SimpleEmailField, r as useTanStackFormContext, rt as CheckboxFieldProps, s as Field, st as EmailFieldProps, t as useTanStackFieldContext, tt as AnyFieldProps, u as FieldDescription, ut as FieldType, v as FieldTitle, vt as SelectOption, w as TanStackFieldGroup, wt as TextareaFieldProps, x as TanStackTitleField, xt as TextEditorFieldProps, y as FieldTooltip, yt as SimpleTextFieldProps, z as DateField } from "./index-Cl_7tlH_.mjs";
27
- import { i as TextEditorProps, n as TextEditorToolbarProps, r as TextEditor, t as TextEditorToolbar } from "./index-DNozPoRR.mjs";
28
- import { n as CMSLayoutProps, r as CMSLayoutUser, t as CMSLayout } from "./index-Cm62M0Ft.mjs";
29
- import { PaymentLayout, PaymentLayoutUser } from "./layouts/payment-layout/index.mjs";
30
- import { Flex } from "./layouts/flex.mjs";
31
- import { Grid } from "./layouts/grid.mjs";
32
- import { FeatureDeveloping } from "./pages/FeatureDeveloping.mjs";
33
- import { FeatureFixing } from "./pages/FeatureFixing.mjs";
34
- import { NotAuthorized } from "./pages/NotAuthorized.mjs";
35
- import { NotFound, NotFoundProps } from "./pages/NotFound.mjs";
36
- import { LoginPage, LoginPageProps } from "./pages/LoginPage.mjs";
37
- import { RegisterPage, RegisterPageProps } from "./pages/RegisterPage.mjs";
38
- import { VerifyEmailPage, VerifyEmailPageProps } from "./pages/VerifyEmailPage.mjs";
39
- import { Google } from "./systems/google.mjs";
40
- import { Paragraph, ParagraphProps, paragraphVariants } from "./typography/paragraph.mjs";
41
- import { Title, TitleProps } from "./typography/title.mjs";
42
- import { AddNewBtn } from "./ui/buttons/add-new.mjs";
43
- import { EditBtn } from "./ui/buttons/edit.mjs";
44
- import { RefreshBtn } from "./ui/buttons/refresh.mjs";
45
- import { TrashBtn } from "./ui/buttons/trash.mjs";
46
- import { UploadImageBtn } from "./ui/buttons/upload-image.mjs";
47
- import { SearchInput } from "./ui/inputs/search-input.mjs";
48
- import { a as AlertTitle, i as AlertProps, n as AlertDescription, o as AlertTitleProps, r as AlertDescriptionProps, t as Alert } from "./alert-DHSm8bMn.mjs";
49
- import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger } from "./ui/alert-dialog.mjs";
50
- import { AspectRatio } from "./ui/aspect-ratio.mjs";
51
- import { Avatar, AvatarFallback, AvatarImage } from "./ui/avatar.mjs";
52
- import { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from "./ui/breadcrumb.mjs";
53
- import { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants } from "./ui/button-group.mjs";
54
- import { Calendar, CalendarDayButton } from "./ui/calendar.mjs";
55
- import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "./ui/card.mjs";
56
- import { Carousel, CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious } from "./ui/carousel.mjs";
57
- import { Checkbox } from "./ui/checkbox.mjs";
58
- import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "./ui/collapsible.mjs";
59
- import { a as DialogFooter, c as DialogPortal, i as DialogDescription, l as DialogTitle, n as DialogClose, o as DialogHeader, r as DialogContent, s as DialogOverlay, t as Dialog, u as DialogTrigger } from "./dialog-Bd5cOZia.mjs";
60
- import { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from "./ui/command.mjs";
61
- import { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger } from "./ui/context-menu.mjs";
62
- import { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger } from "./ui/drawer.mjs";
63
- import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from "./ui/dropdown-menu.mjs";
64
- import { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle } from "./ui/empty.mjs";
65
- import { FileUploader } from "./ui/file-uploader.mjs";
66
- import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField } from "./ui/form.mjs";
67
- import { HoverCard, HoverCardContent, HoverCardTrigger } from "./ui/hover-card.mjs";
68
- import { Image } from "./ui/image.mjs";
69
- import { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot } from "./ui/input-otp.mjs";
70
- import { Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle } from "./ui/item.mjs";
71
- import { Label } from "./ui/label.mjs";
72
- import { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger } from "./ui/menubar.mjs";
73
- import { MultipleSelector, MultipleSelectorRef, Option, useDebounce } from "./ui/multi-select.mjs";
74
- import { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuTriggerStyle } from "./ui/navigation-menu.mjs";
75
- import { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious } from "./ui/pagination.mjs";
76
- import { Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger } from "./ui/popover.mjs";
77
- import { Progress } from "./ui/progress.mjs";
78
- import { RadioGroup, RadioGroupItem } from "./ui/radio-group.mjs";
79
- import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from "./ui/resizable.mjs";
80
- import { ScrollArea, ScrollBar } from "./ui/scroll-area.mjs";
81
- import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue } from "./ui/select.mjs";
82
- import { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger } from "./ui/sheet.mjs";
83
- import { Skeleton } from "./ui/skeleton.mjs";
84
- import { Slider } from "./ui/slider.mjs";
85
- import { Toaster, toast } from "./ui/sonner.mjs";
86
- import { Spinner } from "./ui/spinner.mjs";
87
- import { Switch } from "./ui/switch.mjs";
88
- import { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from "./ui/table.mjs";
89
- import { Tabs, TabsContent, TabsList, TabsTrigger } from "./ui/tabs.mjs";
90
- import { Textarea } from "./ui/textarea.mjs";
91
- import { Toggle, toggleVariants } from "./ui/toggle.mjs";
92
- import { ToggleGroup, ToggleGroupItem } from "./ui/toggle-group.mjs";
93
- export { ActiveFilter, AddNewBtn, Alert, AlertDescription, AlertDescriptionProps, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertProps, AlertTitle, AlertTitleProps, AnyFieldProps, ArrayCol, ArrayHeaderRow, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, BooleanFieldValue, BooleanFilterValue, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, type ButtonProps, CMSLayout, CMSLayoutProps, CMSLayoutUser, Calendar, CalendarDayButton, CancelButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, Checkbox, CheckboxField, CheckboxFieldProps, Collapsible, CollapsibleContent, CollapsibleTrigger, ColumnAggregation, ColumnAggregationType, ComboboxField, ComboboxFieldProps, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ConfirmDialog, type ConfirmDialogProps, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CountryDisplay, CsvCell, DataList, DataListItem, DateDisplay, DateField, DateFieldProps, DateFieldValue, DateRangeFilterValue, DateTooltip, Description, DescriptionBadge, DescriptionBoolean, DescriptionCopy, DescriptionDate, DescriptionEmpty, DescriptionHeader, DescriptionImages, DescriptionItem, DescriptionLink, DescriptionLongText, DescriptionName, DescriptionNumberPhone, DescriptionSection, DescriptionStatistic, DescriptionStatisticProps, DescriptionStatus, DescriptionTagList, DescriptionUser, DetailDialog, type DetailDialogProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EditBtn, EmailField, EmailFieldProps, Empty, EmptyContent, EmptyDescription, EmptyDisplay, EmptyHeader, EmptyMedia, EmptyTitle, ErrorDialog, type ErrorDialogProps, FeatureDeveloping, FeatureFixing, Field, FieldContent, FieldContentMain, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldNote, FieldOrientation, FieldRounding, FieldSeparator, FieldSet, FieldTitle, FieldTooltip, FieldType, FileUploader, FilterDefinition, FilterOption, FilterType, FilterValue, Flex, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Google, Grid, GridProductCard, HoverCard, HoverCardContent, HoverCardTrigger, Image, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputVariantProps, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Label, LoadingDialog, type LoadingDialogProps, LoginPage, type LoginPageProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MultiSelectFieldValue, MultipleSelector, MultipleSelectorRef, NameDisplay, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotAuthorized, NotFound, type NotFoundProps, NumberField, NumberFieldProps, NumberFieldValue, NumberFilterValue, Option, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Paragraph, type ParagraphProps, PasswordField, PasswordFieldProps, PaymentLayout, PaymentLayoutUser, PhoneNumberDisplay, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger, ProductCard, Progress, RadioGroup, RadioGroupField, RadioGroupFieldProps, RadioGroupItem, RadioOption, RefreshBtn, RegisterPage, type RegisterPageProps, ResizableHandle, ResizablePanel, ResizablePanelGroup, RoleBadge, RowData, ScrollArea, ScrollBar, SearchInput, SearchModal, Select, SelectContent, SelectField, SelectFieldProps, SelectGroup, SelectItem, SelectLabel, SelectOption, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, SimpleArrayField, SimpleBooleanField, SimpleCard, SimpleComboboxField, SimpleDateField, SimpleEmailField, SimpleNumberField, SimplePasswordField, SimpleRadioGroupField, SimpleSelectField, SimpleTextField, SimpleTextFieldProps, SimpleTextareaField, SingleTagFilterValue, Skeleton, Slider, Spinner, Statistic, type StatisticProps, SubmitButton, SummaryItem, Switch, SwitchField, SwitchFieldProps, TTableAnalysisContext, TTableBodyContext, TTableContext, TTableFilterContext, TTableHeadRowContext, TTableInnerTableContext, TTableInnerWrapperContext, TTableRowContext, TTableVirtualizerContext, TUITableBody, TUITableCell, TUITableCellActions, TUITableCellSelect, TUITableColumn, TUITableEmptyDisplay, TUITableFooter, TUITableHead, TUITableHeadCell, TUITableHeadCellOption, TUITableHeadCellSelect, TUITableHeadRow, TUITableInnerTable, TUITableInnerWrapper, TUITableLoadMore, TUITableRow, TUITableWrapper, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableProviderProps, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagFilterValue, TanStackActionSubmit, TanStackActionsForm, TanStackCardForm, TanStackContainerForm, TanStackDialogForm, TanStackFieldGroup, TanStackPopoverForm, TanStackSectionForm, TanStackTitleField, TextEditor, TextEditorField, TextEditorFieldProps, type TextEditorProps, TextEditorToolbar, type TextEditorToolbarProps, TextField, TextFieldProps, TextFieldValue, TextFilterValue, Textarea, TextareaField, TextareaFieldProps, Title, type TitleProps, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TrashBtn, UITableAnalysisPanel, UITableAvatarNameDisplay, UITableBadgeDisplay, UITableBody, UITableBooleanDisplay, UITableCell, UITableCellActions, UITableCellSelect, UITableContainer, UITableCurrencyDisplay, UITableDateDisplay, UITableDescriptionDisplay, UITableEmailDisplay, UITableEmptyDisplay, UITableFilter, UITableFooter, UITableFooterRow, UITableHead, UITableHeadCell, UITableHeadCellOption, UITableHeadCellSelect, UITableHeadRow, UITableInnerTable, UITableInnerWrapper, UITableListDisplay, UITableLoadMore, UITableMoreButton, UITableNameDisplay, UITablePermalink, UITablePhoneNumberDisplay, UITableProgressDisplay, UITableProvider, UITableRemoveButton, UITableRow, UITableStatisticDisplay, UITableStatusDisplay, UITableSummaryBar, UITableTooltip, UITableTooltipActions, UITableTooltipFilter, UITableUserDataDisplay, UITableWrapper, UploadImageBtn, UserDataDisplay, VerifyEmailPage, type VerifyEmailPageProps, badgeVariants, buttonGroupVariants, navigationMenuTriggerStyle, paragraphVariants, toast, toggleVariants, useDebounce, useFormField, useTanStackFieldContext, useTanStackForm, useTanStackFormContext, withTanStackFieldGroup, withTanStackForm };
package/dist/index.mjs DELETED
@@ -1 +0,0 @@
1
- import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,G as s,H as c,I as l,J as u,K as d,L as f,M as p,N as m,O as h,P as g,Q as _,R as v,S as y,T as b,U as x,V as S,W as C,X as w,Y as T,Z as E,_ as D,a as O,b as k,c as A,d as j,et as M,f as N,g as P,h as F,i as I,j as L,k as R,l as z,m as B,n as V,o as H,p as U,q as W,r as G,s as K,t as q,u as J,v as Y,w as X,x as Z,y as Q,z as $}from"./tanstack-form-DT1TqIDl.mjs";import"./button.variants-DkMqWB8G.mjs";import{t as ee}from"./button-CCVJTHBI.mjs";import"./heading-De4Pn3mZ.mjs";import{n as te,t as ne}from"./paragraph-DYLaQtTV.mjs";import{Card as re,CardAction as ie,CardContent as ae,CardDescription as oe,CardFooter as se,CardHeader as ce,CardTitle as le}from"./ui/card.mjs";import{t as ue}from"./skeleton-C51IdOfK.mjs";import{t as de}from"./image-D7OZ13Ib.mjs";import{GridProductCard as fe}from"./cards/grid-product-card.mjs";import{ProductCard as pe}from"./cards/product-card.mjs";import{SimpleCard as me}from"./cards/simple-card.mjs";import{t as he}from"./flex-B6YSJzGe.mjs";import{CountryDisplay as ge}from"./data-display/country.mjs";import{DataList as _e,DataListItem as ve}from"./data-display/data-list.mjs";import{t as ye}from"./date-fY3sUcLp.mjs";import{n as be,t as xe}from"./badge-CDGBGq8X.mjs";import{i as Se,n as Ce,r as we,t as Te}from"./tooltip-Dxl5Wa8i.mjs";import{DateTooltip as Ee}from"./data-display/date-tooltip.mjs";import{EmptyDisplay as De}from"./data-display/empty.mjs";import{NameDisplay as Oe}from"./data-display/name.mjs";import{PhoneNumberDisplay as ke}from"./data-display/phone-number.mjs";import{RoleBadge as Ae}from"./data-display/role-badge.mjs";import{t as je}from"./statistic-cwLwcukn.mjs";import{n as Me,r as Ne,t as Pe}from"./avatar-fltdRVsJ.mjs";import{t as Fe}from"./user-DtZy4P9d.mjs";import{AlertDialog as Ie,AlertDialogAction as Le,AlertDialogCancel as Re,AlertDialogContent as ze,AlertDialogDescription as Be,AlertDialogFooter as Ve,AlertDialogHeader as He,AlertDialogOverlay as Ue,AlertDialogPortal as We,AlertDialogTitle as Ge,AlertDialogTrigger as Ke}from"./ui/alert-dialog.mjs";import{ConfirmDialog as qe}from"./dialogs/confirm-dialog.mjs";import{Title as Je}from"./typography/title.mjs";import{t as Ye}from"./separator-D3Gmkxzq.mjs";import{a as Xe,c as Ze,i as Qe,n as $e,o as et,r as tt,s as nt,t as rt}from"./sheet-BFlIfNaA.mjs";import"./sidebar-ChtCyu-n.mjs";import{DetailDialog as it}from"./dialogs/detail-dialog/index.mjs";import{ErrorDialog as at}from"./dialogs/error-dialog.mjs";import"./close-_UHFeiLS.mjs";import{a as ot,c as st,i as ct,l as lt,n as ut,o as dt,r as ft,s as pt,t as mt,u as ht}from"./dialog-CLDnvNH_.mjs";import{LoadingDialog as gt}from"./dialogs/loading-dialog.mjs";import{Description as _t,DescriptionBadge as vt,DescriptionBoolean as yt,DescriptionCopy as bt,DescriptionDate as xt,DescriptionEmpty as St,DescriptionHeader as Ct,DescriptionImages as wt,DescriptionItem as Tt,DescriptionLink as Et,DescriptionLongText as Dt,DescriptionName as Ot,DescriptionNumberPhone as kt,DescriptionSection as At,DescriptionStatistic as jt,DescriptionStatus as Mt,DescriptionTagList as Nt,DescriptionUser as Pt}from"./features/descriptions/index.mjs";import{a as Ft,c as It,i as Lt,l as Rt,n as zt,o as Bt,r as Vt,s as Ht,t as Ut}from"./command-D6_CSbwJ.mjs";import{t as Wt}from"./search-modal-Bn-GOOCy.mjs";import{A as Gt,B as Kt,C as qt,D as Jt,E as Yt,F as Xt,H as Zt,I as Qt,L as $t,M as en,N as tn,O as nn,P as rn,R as an,S as on,T as sn,V as cn,_ as ln,a as un,b as dn,c as fn,d as pn,f as mn,g as hn,h as gn,i as _n,j as vn,k as yn,l as bn,m as xn,n as Sn,o as Cn,p as wn,r as Tn,s as En,t as Dn,u as On,v as kn,w as An,x as jn,y as Mn,z as Nn}from"./tables-CFrsk2lM.mjs";import{a as Pn,c as Fn,d as In,f as Ln,h as Rn,i as zn,l as Bn,m as Vn,n as Hn,o as Un,p as Wn,r as Gn,s as Kn,t as qn,u as Jn}from"./dropdown-menu-BWhiVsEf.mjs";import{t as Yn}from"./progress-CLeM0e7Z.mjs";import{t as Xn}from"./checkbox-Cat3i08X.mjs";import{t as Zn}from"./spinner-eClTgHjk.mjs";import{n as Qn,r as $n,t as er}from"./resizable-CpCaSCFB.mjs";import{t as tr}from"./input-NJP2wQOm.mjs";import{t as nr}from"./label-CUCpwS5D.mjs";import{a as rr,i as ir,n as ar,r as or,t as sr}from"./popover-C8rcemA3.mjs";import{a as cr,c as lr,i as ur,n as dr,o as fr,r as pr,s as mr,t as hr}from"./select-LlPCZFSF.mjs";import{t as gr}from"./switch-BP7EPatj.mjs";import{a as _r,c as vr,i as yr,l as br,n as xr,o as Sr,r as Cr,s as wr,t as Tr,u as Er}from"./drawer-CMD7JWH8.mjs";import{n as Dr,t as Or}from"./calendar-R866yyd1.mjs";import{n as kr,t as Ar}from"./radio-group-Y9bhdr55.mjs";import{t as jr}from"./textarea-7HDXcaK9.mjs";import{n as Mr,t as Nr}from"./text-editor-5mA7XyaI.mjs";import{t as Pr}from"./cms-layout-DkCR1AfG.mjs";import{t as Fr}from"./payment-layout-DrQ0kZPX.mjs";import{Grid as Ir}from"./layouts/grid.mjs";import{FeatureDeveloping as Lr}from"./pages/FeatureDeveloping.mjs";import{FeatureFixing as Rr}from"./pages/FeatureFixing.mjs";import{NotAuthorized as zr}from"./pages/NotAuthorized.mjs";import{NotFound as Br}from"./pages/NotFound.mjs";import{n as Vr,r as Hr,t as Ur}from"./alert-BbvPwf2x.mjs";import{LoginPage as Wr}from"./pages/LoginPage.mjs";import{RegisterPage as Gr}from"./pages/RegisterPage.mjs";import{InputOTP as Kr,InputOTPGroup as qr,InputOTPSeparator as Jr,InputOTPSlot as Yr}from"./ui/input-otp.mjs";import{VerifyEmailPage as Xr}from"./pages/VerifyEmailPage.mjs";import{Google as Zr}from"./systems/google.mjs";import{AddNewBtn as Qr}from"./ui/buttons/add-new.mjs";import{EditBtn as $r}from"./ui/buttons/edit.mjs";import{RefreshBtn as ei}from"./ui/buttons/refresh.mjs";import{TrashBtn as ti}from"./ui/buttons/trash.mjs";import{UploadImageBtn as ni}from"./ui/buttons/upload-image.mjs";import{SearchInput as ri}from"./ui/inputs/search-input.mjs";import{AspectRatio as ii}from"./ui/aspect-ratio.mjs";import{Breadcrumb as ai,BreadcrumbEllipsis as oi,BreadcrumbItem as si,BreadcrumbLink as ci,BreadcrumbList as li,BreadcrumbPage as ui,BreadcrumbSeparator as di}from"./ui/breadcrumb.mjs";import{ButtonGroup as fi,ButtonGroupSeparator as pi,ButtonGroupText as mi,buttonGroupVariants as hi}from"./ui/button-group.mjs";import{Carousel as gi,CarouselContent as _i,CarouselItem as vi,CarouselNext as yi,CarouselPrevious as bi}from"./ui/carousel.mjs";import{Collapsible as xi,CollapsibleContent as Si,CollapsibleTrigger as Ci}from"./ui/collapsible.mjs";import{ContextMenu as wi,ContextMenuCheckboxItem as Ti,ContextMenuContent as Ei,ContextMenuGroup as Di,ContextMenuItem as Oi,ContextMenuLabel as ki,ContextMenuPortal as Ai,ContextMenuRadioGroup as ji,ContextMenuRadioItem as Mi,ContextMenuSeparator as Ni,ContextMenuShortcut as Pi,ContextMenuSub as Fi,ContextMenuSubContent as Ii,ContextMenuSubTrigger as Li,ContextMenuTrigger as Ri}from"./ui/context-menu.mjs";import{Empty as zi,EmptyContent as Bi,EmptyDescription as Vi,EmptyHeader as Hi,EmptyMedia as Ui,EmptyTitle as Wi}from"./ui/empty.mjs";import{FileUploader as Gi}from"./ui/file-uploader.mjs";import"./field-dYemS0hQ.mjs";import{Form as Ki,FormControl as qi,FormDescription as Ji,FormField as Yi,FormItem as Xi,FormLabel as Zi,FormMessage as Qi,useFormField as $i}from"./ui/form.mjs";import{HoverCard as ea,HoverCardContent as ta,HoverCardTrigger as na}from"./ui/hover-card.mjs";import{Item as ra,ItemActions as ia,ItemContent as aa,ItemDescription as oa,ItemFooter as sa,ItemGroup as ca,ItemHeader as la,ItemMedia as ua,ItemSeparator as da,ItemTitle as fa}from"./ui/item.mjs";import{Menubar as pa,MenubarCheckboxItem as ma,MenubarContent as ha,MenubarGroup as ga,MenubarItem as _a,MenubarLabel as va,MenubarMenu as ya,MenubarPortal as ba,MenubarRadioGroup as xa,MenubarRadioItem as Sa,MenubarSeparator as Ca,MenubarShortcut as wa,MenubarSub as Ta,MenubarSubContent as Ea,MenubarSubTrigger as Da,MenubarTrigger as Oa}from"./ui/menubar.mjs";import{MultipleSelector as ka,useDebounce as Aa}from"./ui/multi-select.mjs";import{NavigationMenu as ja,NavigationMenuContent as Ma,NavigationMenuIndicator as Na,NavigationMenuItem as Pa,NavigationMenuLink as Fa,NavigationMenuList as Ia,NavigationMenuTrigger as La,NavigationMenuViewport as Ra,navigationMenuTriggerStyle as za}from"./ui/navigation-menu.mjs";import{Pagination as Ba,PaginationContent as Va,PaginationEllipsis as Ha,PaginationItem as Ua,PaginationLink as Wa,PaginationNext as Ga,PaginationPrevious as Ka}from"./ui/pagination.mjs";import{ScrollArea as qa,ScrollBar as Ja}from"./ui/scroll-area.mjs";import{Slider as Ya}from"./ui/slider.mjs";import{Toaster as Xa,toast as Za}from"./ui/sonner.mjs";import{Table as Qa,TableBody as $a,TableCaption as eo,TableCell as to,TableFooter as no,TableHead as ro,TableHeader as io,TableRow as ao}from"./ui/table.mjs";import{Tabs as oo,TabsContent as so,TabsList as co,TabsTrigger as lo}from"./ui/tabs.mjs";import{Toggle as uo,toggleVariants as fo}from"./ui/toggle.mjs";import{ToggleGroup as po,ToggleGroupItem as mo}from"./ui/toggle-group.mjs";export{Qr as AddNewBtn,Ur as Alert,Vr as AlertDescription,Ie as AlertDialog,Le as AlertDialogAction,Re as AlertDialogCancel,ze as AlertDialogContent,Be as AlertDialogDescription,Ve as AlertDialogFooter,He as AlertDialogHeader,Ue as AlertDialogOverlay,We as AlertDialogPortal,Ge as AlertDialogTitle,Ke as AlertDialogTrigger,Hr as AlertTitle,_ as ArrayCol,e as ArrayHeaderRow,ii as AspectRatio,Pe as Avatar,Me as AvatarFallback,Ne as AvatarImage,xe as Badge,ai as Breadcrumb,oi as BreadcrumbEllipsis,si as BreadcrumbItem,ci as BreadcrumbLink,li as BreadcrumbList,ui as BreadcrumbPage,di as BreadcrumbSeparator,ee as Button,fi as ButtonGroup,pi as ButtonGroupSeparator,mi as ButtonGroupText,Pr as CMSLayout,Or as Calendar,Dr as CalendarDayButton,N as CancelButton,re as Card,ie as CardAction,ae as CardContent,oe as CardDescription,se as CardFooter,ce as CardHeader,le as CardTitle,gi as Carousel,_i as CarouselContent,vi as CarouselItem,yi as CarouselNext,bi as CarouselPrevious,Xn as Checkbox,h as CheckboxField,xi as Collapsible,Si as CollapsibleContent,Ci as CollapsibleTrigger,i as ComboboxField,Ut as Command,zt as CommandDialog,Vt as CommandEmpty,Lt as CommandGroup,Ft as CommandInput,Bt as CommandItem,Ht as CommandList,It as CommandSeparator,Rt as CommandShortcut,qe as ConfirmDialog,wi as ContextMenu,Ti as ContextMenuCheckboxItem,Ei as ContextMenuContent,Di as ContextMenuGroup,Oi as ContextMenuItem,ki as ContextMenuLabel,Ai as ContextMenuPortal,ji as ContextMenuRadioGroup,Mi as ContextMenuRadioItem,Ni as ContextMenuSeparator,Pi as ContextMenuShortcut,Fi as ContextMenuSub,Ii as ContextMenuSubContent,Li as ContextMenuSubTrigger,Ri as ContextMenuTrigger,ge as CountryDisplay,_e as DataList,ve as DataListItem,ye as DateDisplay,a as DateField,Ee as DateTooltip,_t as Description,vt as DescriptionBadge,yt as DescriptionBoolean,bt as DescriptionCopy,xt as DescriptionDate,St as DescriptionEmpty,Ct as DescriptionHeader,wt as DescriptionImages,Tt as DescriptionItem,Et as DescriptionLink,Dt as DescriptionLongText,Ot as DescriptionName,kt as DescriptionNumberPhone,At as DescriptionSection,jt as DescriptionStatistic,Mt as DescriptionStatus,Nt as DescriptionTagList,Pt as DescriptionUser,it as DetailDialog,mt as Dialog,ut as DialogClose,ft as DialogContent,ct as DialogDescription,ot as DialogFooter,dt as DialogHeader,pt as DialogOverlay,st as DialogPortal,lt as DialogTitle,ht as DialogTrigger,Tr as Drawer,xr as DrawerClose,Cr as DrawerContent,yr as DrawerDescription,_r as DrawerFooter,Sr as DrawerHeader,wr as DrawerOverlay,vr as DrawerPortal,br as DrawerTitle,Er as DrawerTrigger,qn as DropdownMenu,Hn as DropdownMenuCheckboxItem,Gn as DropdownMenuContent,zn as DropdownMenuGroup,Pn as DropdownMenuItem,Un as DropdownMenuLabel,Kn as DropdownMenuPortal,Fn as DropdownMenuRadioGroup,Bn as DropdownMenuRadioItem,Jn as DropdownMenuSeparator,In as DropdownMenuShortcut,Ln as DropdownMenuSub,Wn as DropdownMenuSubContent,Vn as DropdownMenuSubTrigger,Rn as DropdownMenuTrigger,$r as EditBtn,b as EmailField,zi as Empty,Bi as EmptyContent,Vi as EmptyDescription,De as EmptyDisplay,Hi as EmptyHeader,Ui as EmptyMedia,Wi as EmptyTitle,at as ErrorDialog,Lr as FeatureDeveloping,Rr as FeatureFixing,$ as Field,n as FieldContent,S as FieldContentMain,c as FieldDescription,x as FieldError,C as FieldGroup,s as FieldLabel,d as FieldLegend,W as FieldNote,u as FieldSeparator,T as FieldSet,w as FieldTitle,E as FieldTooltip,Gi as FileUploader,he as Flex,Ki as Form,qi as FormControl,Ji as FormDescription,Yi as FormField,Xi as FormItem,Zi as FormLabel,Qi as FormMessage,Zr as Google,Ir as Grid,fe as GridProductCard,ea as HoverCard,ta as HoverCardContent,na as HoverCardTrigger,de as Image,tr as Input,Kr as InputOTP,qr as InputOTPGroup,Jr as InputOTPSeparator,Yr as InputOTPSlot,ra as Item,ia as ItemActions,aa as ItemContent,oa as ItemDescription,sa as ItemFooter,ca as ItemGroup,la as ItemHeader,ua as ItemMedia,da as ItemSeparator,fa as ItemTitle,nr as Label,gt as LoadingDialog,Wr as LoginPage,pa as Menubar,ma as MenubarCheckboxItem,ha as MenubarContent,ga as MenubarGroup,_a as MenubarItem,va as MenubarLabel,ya as MenubarMenu,ba as MenubarPortal,xa as MenubarRadioGroup,Sa as MenubarRadioItem,Ca as MenubarSeparator,wa as MenubarShortcut,Ta as MenubarSub,Ea as MenubarSubContent,Da as MenubarSubTrigger,Oa as MenubarTrigger,ka as MultipleSelector,Oe as NameDisplay,ja as NavigationMenu,Ma as NavigationMenuContent,Na as NavigationMenuIndicator,Pa as NavigationMenuItem,Fa as NavigationMenuLink,Ia as NavigationMenuList,La as NavigationMenuTrigger,Ra as NavigationMenuViewport,zr as NotAuthorized,Br as NotFound,X as NumberField,Ba as Pagination,Va as PaginationContent,Ha as PaginationEllipsis,Ua as PaginationItem,Wa as PaginationLink,Ga as PaginationNext,Ka as PaginationPrevious,ne as Paragraph,r as PasswordField,Fr as PaymentLayout,ke as PhoneNumberDisplay,sr as Popover,ar as PopoverAnchor,or as PopoverClose,ir as PopoverContent,rr as PopoverTrigger,pe as ProductCard,Yn as Progress,Ar as RadioGroup,y as RadioGroupField,kr as RadioGroupItem,ei as RefreshBtn,Gr as RegisterPage,er as ResizableHandle,Qn as ResizablePanel,$n as ResizablePanelGroup,Ae as RoleBadge,qa as ScrollArea,Ja as ScrollBar,ri as SearchInput,Wt as SearchModal,hr as Select,dr as SelectContent,Z as SelectField,pr as SelectGroup,ur as SelectItem,cr as SelectLabel,fr as SelectSeparator,mr as SelectTrigger,lr as SelectValue,Ye as Separator,rt as Sheet,$e as SheetClose,tt as SheetContent,Qe as SheetDescription,Xe as SheetFooter,et as SheetHeader,nt as SheetTitle,Ze as SheetTrigger,M as SimpleArrayField,v as SimpleBooleanField,me as SimpleCard,f as SimpleComboboxField,l as SimpleDateField,g as SimpleEmailField,m as SimpleNumberField,p as SimplePasswordField,o as SimpleRadioGroupField,L as SimpleSelectField,R as SimpleTextField,t as SimpleTextareaField,ue as Skeleton,Ya as Slider,Zn as Spinner,je as Statistic,j as SubmitButton,gr as Switch,k as SwitchField,Qa as Table,$a as TableBody,eo as TableCaption,to as TableCell,no as TableFooter,ro as TableHead,io as TableHeader,ao as TableRow,oo as Tabs,so as TabsContent,co as TabsList,lo as TabsTrigger,P as TanStackActionSubmit,F as TanStackActionsForm,B as TanStackCardForm,U as TanStackContainerForm,J as TanStackDialogForm,z as TanStackFieldGroup,A as TanStackPopoverForm,K as TanStackSectionForm,H as TanStackTitleField,Nr as TextEditor,D as TextEditorField,Mr as TextEditorToolbar,Q as TextField,jr as Textarea,Y as TextareaField,Je as Title,Xa as Toaster,uo as Toggle,po as ToggleGroup,mo as ToggleGroupItem,Te as Tooltip,Ce as TooltipContent,we as TooltipProvider,Se as TooltipTrigger,ti as TrashBtn,En as UITableAnalysisPanel,Zt as UITableAvatarNameDisplay,cn as UITableBadgeDisplay,sn as UITableBody,Kt as UITableBooleanDisplay,An as UITableCell,qt as UITableCellActions,on as UITableCellSelect,fn as UITableContainer,Nn as UITableCurrencyDisplay,an as UITableDateDisplay,$t as UITableDescriptionDisplay,Qt as UITableEmailDisplay,jn as UITableEmptyDisplay,Cn as UITableFilter,dn as UITableFooter,Mn as UITableFooterRow,kn as UITableHead,hn as UITableHeadCell,ln as UITableHeadCellOption,gn as UITableHeadCellSelect,xn as UITableHeadRow,wn as UITableInnerTable,mn as UITableInnerWrapper,Xt as UITableListDisplay,pn as UITableLoadMore,rn as UITableMoreButton,tn as UITableNameDisplay,en as UITablePermalink,vn as UITablePhoneNumberDisplay,Gt as UITableProgressDisplay,un as UITableProvider,yn as UITableRemoveButton,On as UITableRow,nn as UITableStatisticDisplay,Jt as UITableStatusDisplay,_n as UITableSummaryBar,Dn as UITableTooltip,Sn as UITableTooltipActions,Tn as UITableTooltipFilter,Yt as UITableUserDataDisplay,bn as UITableWrapper,ni as UploadImageBtn,Fe as UserDataDisplay,Xr as VerifyEmailPage,be as badgeVariants,hi as buttonGroupVariants,za as navigationMenuTriggerStyle,te as paragraphVariants,Za as toast,fo as toggleVariants,Aa as useDebounce,$i as useFormField,q as useTanStackFieldContext,V as useTanStackForm,G as useTanStackFormContext,I as withTanStackFieldGroup,O as withTanStackForm};
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-NJP2wQOm.mjs","names":[],"sources":["../packages/components/ui/input.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useCallback } from 'react';\n\n/** CVA variant definitions for the `Input` component — controls sizing and visual style. */\nexport const inputVariants = cva(\n [\n 'w-full rounded font-normal text-text-positive caret-primary transition-all tabular-nums',\n 'placeholder:text-text-positive-muted',\n 'disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',\n 'read-only:pointer-events-none read-only:bg-muted-muted read-only:placeholder:text-text-positive-weak',\n ],\n {\n variants: {\n variant: {\n outline: [\n 'outline-1 outline-border -outline-offset-1 bg-transparent shadow-input',\n 'focus-visible:outline-primary-strong',\n 'focus-visible:ring-4',\n 'focus-visible:ring-primary-weak',\n 'aria-invalid:outline-danger',\n 'aria-invalid:ring-danger-weak',\n 'aria-invalid:bg-danger-bg-subtle',\n 'aria-invalid:focus-visible:outline-danger-strong',\n 'aria-invalid:focus-visible:ring-4',\n 'aria-invalid:placeholder:text-text-positive-weak',\n ],\n ghost: '',\n none: '',\n soft: '',\n subtle: '',\n },\n size: {\n xs: 'px-2 py-1 text-xs leading-4',\n sm: 'px-2.5 py-1.5 text-xs leading-4',\n md: 'px-2.5 py-2 text-sm leading-5',\n lg: 'px-3 py-2 text-sm leading-5',\n xl: 'px-3 py-2 text-base leading-6',\n },\n },\n defaultVariants: {\n variant: 'outline',\n size: 'md',\n },\n }\n);\n\nexport type InputVariantProps = VariantProps<typeof inputVariants>;\n\n/**\n * Styled text input field built on the native `<input>` element with CVA-driven size and variant tokens.\n *\n * @example\n * ```tsx\n * import { Input } from '@customafk/lunas-ui/ui/input';\n *\n * <Input\n * placeholder=\"Enter your name\"\n * variant=\"outline\"\n * size=\"md\"\n * onValueChange={(value) => console.log(value)}\n * />\n * ```\n */\nfunction Input({\n className,\n variant,\n size,\n onChange,\n onValueChange,\n ...props\n}: Omit<React.ComponentProps<'input'>, 'size'> & {\n /** Visual style of the input border — `'outline'` (default), `'ghost'`, `'none'`, `'soft'`, or `'subtle'`. */\n variant?: InputVariantProps['variant'];\n /** Controls padding and font size — `'xs'` | `'sm'` | `'md'` (default) | `'lg'` | `'xl'`. */\n size?: InputVariantProps['size'];\n /** Convenience callback that receives the raw string value on every change, bypassing the synthetic event. */\n onValueChange?: (value: string) => void;\n}) {\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(e);\n onValueChange?.(e.target.value);\n },\n [onChange, onValueChange]\n );\n return <input data-slot=\"input\" className={inputVariants({ variant, size, className })} {...props} onChange={handleChange} />;\n}\n\nexport { Input };\n"],"mappings":"2HAMA,MAAa,EAAgB,EAC3B,CACE,0FACA,uCACA,+EACA,uGACD,CACD,CACE,SAAU,CACR,QAAS,CACP,QAAS,CACP,yEACA,uCACA,uBACA,kCACA,8BACA,gCACA,mCACA,mDACA,oCACA,mDACD,CACD,MAAO,GACP,KAAM,GACN,KAAM,GACN,OAAQ,GACT,CACD,KAAM,CACJ,GAAI,8BACJ,GAAI,kCACJ,GAAI,gCACJ,GAAI,8BACJ,GAAI,gCACL,CACF,CACD,gBAAiB,CACf,QAAS,UACT,KAAM,KACP,CACF,CACF,CAmBD,SAAS,EAAM,CACb,YACA,UACA,OACA,WACA,gBACA,GAAG,GAQF,CACD,IAAM,EAAe,EAClB,GAA2C,CAC1C,IAAW,EAAE,CACb,IAAgB,EAAE,OAAO,MAAM,EAEjC,CAAC,EAAU,EAAc,CAC1B,CACD,OAAO,EAAC,QAAA,CAAM,YAAU,QAAQ,UAAW,EAAc,CAAE,UAAS,OAAM,YAAW,CAAC,CAAE,GAAI,EAAO,SAAU,GAAgB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"label-CUCpwS5D.mjs","names":["Label","LabelPrimitive"],"sources":["../packages/components/ui/label.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Label as LabelPrimitive } from 'radix-ui';\n\n/**\n * Accessible form label built on Radix UI's `Label.Root`, with styles for disabled and peer-disabled states.\n *\n * @example\n * ```tsx\n * import { Label } from '@customafk/lunas-ui/ui/label';\n * import { Input } from '@customafk/lunas-ui/ui/input';\n *\n * <Label htmlFor=\"email\">Email address</Label>\n * <Input id=\"email\" type=\"email\" placeholder=\"you@example.com\" />\n * ```\n */\nfunction Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n 'text-text-positive',\n 'flex items-center gap-2',\n 'select-none font-medium text-sm/6 leading-none',\n 'group-data-[disabled=true]:pointer-events-none',\n 'group-data-[disabled=true]:opacity-50',\n 'peer-disabled:cursor-not-allowed',\n 'peer-disabled:opacity-50',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Label };\n"],"mappings":"6HAkBA,SAASA,EAAM,CAAE,YAAW,GAAG,GAA2D,CACxF,OACE,EAACC,EAAe,KAAA,CACd,YAAU,QACV,UAAW,EACT,qBACA,0BACA,iDACA,iDACA,wCACA,mCACA,2BACA,EACD,CACD,GAAI,GACJ"}
@@ -1,2 +0,0 @@
1
- import { n as CMSLayoutProps, r as CMSLayoutUser, t as CMSLayout } from "../../index-Cm62M0Ft.mjs";
2
- export { CMSLayout, CMSLayoutProps, CMSLayoutUser };
@@ -1 +0,0 @@
1
- "use client";import"../../button.variants-DkMqWB8G.mjs";import"../../button-CCVJTHBI.mjs";import"../../skeleton-C51IdOfK.mjs";import"../../tooltip-Dxl5Wa8i.mjs";import"../../avatar-fltdRVsJ.mjs";import"../../separator-D3Gmkxzq.mjs";import"../../sheet-BFlIfNaA.mjs";import"../../dropdown-menu-BWhiVsEf.mjs";import"../../input-NJP2wQOm.mjs";import{t as e}from"../../cms-layout-DkCR1AfG.mjs";export{e as CMSLayout};
@@ -1 +0,0 @@
1
- "use client";import{t as e}from"../flex-B6YSJzGe.mjs";export{e as Flex};
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid.mjs","names":["Grid: React.FC<React.PropsWithChildren>"],"sources":["../../packages/components/layouts/grid.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\n/**\n * A responsive, container-query-driven grid that automatically adjusts column count based on available width.\n *\n * @example\n * ```tsx\n * import { Grid } from '@customafk/lunas-ui/layouts/grid';\n *\n * <Grid>\n * <Card />\n * <Card />\n * <Card />\n * </Grid>\n * ```\n */\nexport const Grid: React.FC<React.PropsWithChildren> = ({ children }) => {\n return (\n <div className=\"@container size-full\">\n <div\n className={cn(\n 'grid grid-cols-1 gap-4',\n '@3xs:grid-cols-1',\n '@2xs:grid-cols-1',\n '@xs:grid-cols-1',\n '@sm:grid-cols-1',\n '@md:grid-cols-2',\n '@lg:grid-cols-2',\n '@xl:grid-cols-2',\n '@2xl:grid-cols-2',\n '@3xl:grid-cols-3',\n '@4xl:grid-cols-3',\n '@5xl:grid-cols-4',\n '@6xl:grid-cols-4',\n '@7xl:grid-cols-5',\n '@8xl:grid-cols-6',\n '@9xl:grid-cols-7',\n '@10xl:grid-cols-8'\n )}\n >\n {children}\n </div>\n </div>\n );\n};\n"],"mappings":"yGAkBA,MAAaA,GAA2C,CAAE,cAEtD,EAAC,MAAA,CAAI,UAAU,gCACb,EAAC,MAAA,CACC,UAAW,EACT,yBACA,mBACA,mBACA,kBACA,kBACA,kBACA,kBACA,kBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,oBACD,CAEA,YACG,EACF"}
@@ -1 +0,0 @@
1
- import"../../button.variants-DkMqWB8G.mjs";import"../../button-CCVJTHBI.mjs";import"../../paragraph-DYLaQtTV.mjs";import"../../skeleton-C51IdOfK.mjs";import"../../flex-B6YSJzGe.mjs";import"../../tooltip-Dxl5Wa8i.mjs";import"../../avatar-fltdRVsJ.mjs";import"../../separator-D3Gmkxzq.mjs";import"../../sheet-BFlIfNaA.mjs";import"../../dropdown-menu-BWhiVsEf.mjs";import"../../input-NJP2wQOm.mjs";import{t as e}from"../../payment-layout-DrQ0kZPX.mjs";export{e as PaymentLayout};
@@ -1,2 +0,0 @@
1
- import"../button.variants-DkMqWB8G.mjs";import{t as e}from"../button-CCVJTHBI.mjs";import{Construction as t}from"lucide-react";import{cn as n}from"@customafk/react-toolkit/utils";import{jsx as r,jsxs as i}from"react/jsx-runtime";const a=({title:a=`Tính năng đang phát triển`,subtitle:o=`Chúng tôi đang phát triển tính năng này. Vui lòng quay lại sau.`,buttonText:s=`Quay lại`,onButtonClick:c=()=>window.history.back(),className:l,iconClassName:u})=>i(`div`,{className:n(`flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full`,l),children:[i(`div`,{className:`flex flex-col items-center gap-2`,children:[r(t,{className:n(`size-16 sm:size-24 text-yellow-500`,u)}),r(`div`,{className:`text-3xl sm:text-5xl font-bold text-yellow-500`})]}),r(`h1`,{className:`text-xl sm:text-2xl font-semibold mt-2`,children:a}),r(`p`,{className:`text-muted-foreground max-w-md text-sm sm:text-base`,children:o}),r(e,{onClick:c,variant:`default`,className:`mt-2`,size:`sm`,children:s})]});var o=a;export{a as FeatureDeveloping,o as default};
2
- //# sourceMappingURL=FeatureDeveloping.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeatureDeveloping.mjs","names":[],"sources":["../../packages/components/pages/FeatureDeveloping.tsx"],"sourcesContent":["import { Construction } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '../ui/button';\n\nexport interface FeatureDevelopingProps {\n /** Main heading shown beneath the construction icon. Defaults to `'Tính năng đang phát triển'`. */\n title?: string;\n /** Supporting text shown below the title. Defaults to a Vietnamese message asking the user to check back later. */\n subtitle?: string;\n /** Label for the action button. Defaults to `'Quay lại'`. */\n buttonText?: string;\n /** Handler called when the action button is clicked. Defaults to `window.history.back()`. */\n onButtonClick?: () => void;\n /** Additional class names applied to the root container element. */\n className?: string;\n /** Additional class names applied to the `Construction` icon. */\n iconClassName?: string;\n}\n\n/**\n * Full-page placeholder displayed when a feature is still under active development.\n *\n * @example\n * ```tsx\n * import { FeatureDeveloping } from '@customafk/lunas-ui/pages/FeatureDeveloping';\n *\n * <FeatureDeveloping\n * title=\"Coming Soon\"\n * subtitle=\"This feature is not ready yet.\"\n * buttonText=\"Go Back\"\n * onButtonClick={() => router.back()}\n * />\n * ```\n */\nexport const FeatureDeveloping = ({\n title = 'Tính năng đang phát triển',\n subtitle = 'Chúng tôi đang phát triển tính năng này. Vui lòng quay lại sau.',\n buttonText = 'Quay lại',\n onButtonClick = () => window.history.back(),\n className,\n iconClassName,\n}: FeatureDevelopingProps) => {\n return (\n <div className={cn('flex flex-col items-center justify-center min-h-[50vh] gap-4 sm:gap-6 py-8 sm:py-10 px-4 text-center w-full', className)}>\n <div className=\"flex flex-col items-center gap-2\">\n <Construction className={cn('size-16 sm:size-24 text-yellow-500', iconClassName)} />\n <div className=\"text-3xl sm:text-5xl font-bold text-yellow-500\">{/* This text shows the feature is in development */}</div>\n </div>\n\n <h1 className=\"text-xl sm:text-2xl font-semibold mt-2\">{title}</h1>\n\n <p className=\"text-muted-foreground max-w-md text-sm sm:text-base\">{subtitle}</p>\n\n <Button onClick={onButtonClick} variant=\"default\" className=\"mt-2\" size=\"sm\">\n {buttonText}\n </Button>\n </div>\n );\n};\n\nexport default FeatureDeveloping;\n"],"mappings":"qOAoCA,MAAa,GAAqB,CAChC,QAAQ,4BACR,WAAW,kEACX,aAAa,WACb,oBAAsB,OAAO,QAAQ,MAAM,CAC3C,YACA,mBAGE,EAAC,MAAA,CAAI,UAAW,EAAG,8GAA+G,EAAU,WAC1I,EAAC,MAAA,CAAI,UAAU,6CACb,EAAC,EAAA,CAAa,UAAW,EAAG,qCAAsC,EAAc,CAAA,CAAI,CACpF,EAAC,MAAA,CAAI,UAAU,iDAAA,CAA4G,CAAA,EACvH,CAEN,EAAC,KAAA,CAAG,UAAU,kDAA0C,GAAW,CAEnE,EAAC,IAAA,CAAE,UAAU,+DAAuD,GAAa,CAEjF,EAAC,EAAA,CAAO,QAAS,EAAe,QAAQ,UAAU,UAAU,OAAO,KAAK,cACrE,GACM,GACL,CAIV,IAAA,EAAe"}