@customafk/lunas-ui 0.2.45 → 0.2.48

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 (614) 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-C32Lwu87.d.cts → alert-CNFuxKp7.d.cts} +5 -5
  4. package/dist/{alert-Cx-dxCP5.d.mts → alert-EH6BsbAj.d.ts} +7 -7
  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-B6WaU_xD.d.mts → badge-Cca0AHjT.d.ts} +6 -6
  10. package/dist/{badge-C-IINKGX.d.cts → badge-D0JnPurs.d.cts} +6 -6
  11. package/dist/{button-BrRUQsVc.d.mts → button-Cr817M3U.d.cts} +5 -5
  12. package/dist/{button-9rG12f55.d.cts → button-DuZy_wDo.d.ts} +6 -6
  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 +3 -3
  60. package/dist/data-display/{statistic.d.mts → statistic.d.ts} +1 -1
  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-CsltUGHB.d.mts → dialog-C48T3MZN.d.cts} +12 -12
  67. package/dist/{dialog-C44AIKLb.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 +26 -26
  74. package/dist/dialogs/detail-dialog/components/{sidebar.d.mts → sidebar.d.ts} +29 -29
  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 +6 -6
  92. package/dist/features/descriptions/{index.d.mts → index.d.ts} +7 -7
  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.d.cts +1 -1
  102. package/dist/features/tanstack-form/{index.d.mts → index.d.ts} +1 -1
  103. package/dist/features/tanstack-form/index.js +1 -0
  104. package/dist/features/text-editor/index.d.cts +1 -1
  105. package/dist/features/text-editor/{index.d.mts → index.d.ts} +1 -1
  106. package/dist/features/text-editor/index.js +1 -0
  107. package/dist/field-DpoKF1nY.js +2 -0
  108. package/dist/field-DpoKF1nY.js.map +1 -0
  109. package/dist/{flex-B6YSJzGe.mjs → flex-CinRrgEy.js} +1 -1
  110. package/dist/flex-CinRrgEy.js.map +1 -0
  111. package/dist/{heading-De4Pn3mZ.mjs → heading-Bz-hSatD.js} +1 -1
  112. package/dist/heading-Bz-hSatD.js.map +1 -0
  113. package/dist/image-BpTuF_1w.js +2 -0
  114. package/dist/image-BpTuF_1w.js.map +1 -0
  115. package/dist/{index-DrmdHOJL.d.mts → index-Bc9X8pLk.d.cts} +6 -6
  116. package/dist/{index-Cm62M0Ft.d.mts → index-BlQGXGqt.d.ts} +1 -1
  117. package/dist/{index-Bpsn3Z_G.d.cts → index-C1O2C-cg.d.ts} +6 -6
  118. package/dist/{index-Cuhf_ZXn.d.cts → index-CgH0tiiC.d.cts} +30 -30
  119. package/dist/{index-ks5jfaQb.d.mts → index-D5u9CKyd.d.cts} +305 -305
  120. package/dist/{index-DgHXQffp.d.mts → index-DFUF27Yy.d.ts} +31 -31
  121. package/dist/{index-D8d60P7q.d.cts → index-Ilj04YNO.d.ts} +305 -305
  122. package/dist/index.d.cts +8 -8
  123. package/dist/{index.d.mts → index.d.ts} +92 -92
  124. package/dist/index.js +1 -0
  125. package/dist/{input-hFHi7RiN.d.mts → input-B_gst0eJ.d.cts} +6 -6
  126. package/dist/{input-ff6sQNN4.d.cts → input-BkHdaXGY.d.ts} +6 -6
  127. package/dist/{input-NJP2wQOm.mjs → input-DAfP6LZ7.js} +1 -1
  128. package/dist/input-DAfP6LZ7.js.map +1 -0
  129. package/dist/{label-CUCpwS5D.mjs → label-B8cAG2kc.js} +1 -1
  130. package/dist/label-B8cAG2kc.js.map +1 -0
  131. package/dist/layouts/cms-layout/index.d.ts +2 -0
  132. package/dist/layouts/cms-layout/index.js +1 -0
  133. package/dist/layouts/flex.d.cts +3 -3
  134. package/dist/layouts/{flex.d.mts → flex.d.ts} +6 -6
  135. package/dist/layouts/flex.js +1 -0
  136. package/dist/layouts/{grid.d.mts → grid.d.ts} +1 -1
  137. package/dist/layouts/{grid.mjs → grid.js} +1 -1
  138. package/dist/layouts/grid.js.map +1 -0
  139. package/dist/layouts/payment-layout/{index.d.mts → index.d.ts} +1 -1
  140. package/dist/layouts/payment-layout/index.js +1 -0
  141. package/dist/pages/FeatureDeveloping.d.cts +2 -2
  142. package/dist/pages/{FeatureDeveloping.d.mts → FeatureDeveloping.d.ts} +3 -3
  143. package/dist/pages/FeatureDeveloping.js +2 -0
  144. package/dist/pages/FeatureDeveloping.js.map +1 -0
  145. package/dist/pages/FeatureFixing.d.cts +2 -2
  146. package/dist/pages/{FeatureFixing.d.mts → FeatureFixing.d.ts} +3 -3
  147. package/dist/pages/FeatureFixing.js +2 -0
  148. package/dist/pages/FeatureFixing.js.map +1 -0
  149. package/dist/pages/LoginPage.d.cts +2 -2
  150. package/dist/pages/{LoginPage.d.mts → LoginPage.d.ts} +3 -3
  151. package/dist/pages/LoginPage.js +2 -0
  152. package/dist/pages/LoginPage.js.map +1 -0
  153. package/dist/pages/NotAuthorized.d.cts +2 -2
  154. package/dist/pages/{NotAuthorized.d.mts → NotAuthorized.d.ts} +3 -3
  155. package/dist/pages/NotAuthorized.js +2 -0
  156. package/dist/pages/NotAuthorized.js.map +1 -0
  157. package/dist/pages/NotFound.d.cts +2 -2
  158. package/dist/pages/{NotFound.d.mts → NotFound.d.ts} +3 -3
  159. package/dist/pages/NotFound.js +2 -0
  160. package/dist/pages/NotFound.js.map +1 -0
  161. package/dist/pages/RegisterPage.d.cts +2 -2
  162. package/dist/pages/{RegisterPage.d.mts → RegisterPage.d.ts} +3 -3
  163. package/dist/pages/RegisterPage.js +2 -0
  164. package/dist/pages/RegisterPage.js.map +1 -0
  165. package/dist/pages/VerifyEmailPage.d.cts +2 -2
  166. package/dist/pages/{VerifyEmailPage.d.mts → VerifyEmailPage.d.ts} +3 -3
  167. package/dist/pages/VerifyEmailPage.js +2 -0
  168. package/dist/pages/VerifyEmailPage.js.map +1 -0
  169. package/dist/{paragraph-DYLaQtTV.mjs → paragraph-Cc13ZI4d.js} +1 -1
  170. package/dist/paragraph-Cc13ZI4d.js.map +1 -0
  171. package/dist/payment-layout-giaGvs8T.js +2 -0
  172. package/dist/payment-layout-giaGvs8T.js.map +1 -0
  173. package/dist/popover-6233wU1s.js +2 -0
  174. package/dist/popover-6233wU1s.js.map +1 -0
  175. package/dist/{progress-CLeM0e7Z.mjs → progress-AYknlEgK.js} +1 -1
  176. package/dist/progress-AYknlEgK.js.map +1 -0
  177. package/dist/{radio-group-Y9bhdr55.mjs → radio-group-ImoBjpqZ.js} +1 -1
  178. package/dist/radio-group-ImoBjpqZ.js.map +1 -0
  179. package/dist/{resizable-CpCaSCFB.mjs → resizable-C-M-mu6b.js} +1 -1
  180. package/dist/resizable-C-M-mu6b.js.map +1 -0
  181. package/dist/search-modal-b2AE5WEW.js +2 -0
  182. package/dist/search-modal-b2AE5WEW.js.map +1 -0
  183. package/dist/{select-LlPCZFSF.mjs → select-CryLzZA0.js} +1 -1
  184. package/dist/select-CryLzZA0.js.map +1 -0
  185. package/dist/{separator-D3Gmkxzq.mjs → separator-BM8hA4DP.js} +1 -1
  186. package/dist/separator-BM8hA4DP.js.map +1 -0
  187. package/dist/{sheet-BFlIfNaA.mjs → sheet-DGXXYgWB.js} +1 -1
  188. package/dist/sheet-DGXXYgWB.js.map +1 -0
  189. package/dist/sidebar-BDrsbzo5.js +2 -0
  190. package/dist/sidebar-BDrsbzo5.js.map +1 -0
  191. package/dist/{skeleton-C51IdOfK.mjs → skeleton-DlRDNM97.js} +1 -1
  192. package/dist/skeleton-DlRDNM97.js.map +1 -0
  193. package/dist/{spinner-eClTgHjk.mjs → spinner-C1eamx3w.js} +1 -1
  194. package/dist/spinner-C1eamx3w.js.map +1 -0
  195. package/dist/{statistic-cwLwcukn.mjs → statistic-CYMqAYNc.js} +1 -1
  196. package/dist/statistic-CYMqAYNc.js.map +1 -0
  197. package/dist/{switch-BP7EPatj.mjs → switch-BLHmdRq2.js} +1 -1
  198. package/dist/switch-BLHmdRq2.js.map +1 -0
  199. package/dist/systems/{google.d.mts → google.d.ts} +1 -1
  200. package/dist/systems/{google.mjs → google.js} +1 -1
  201. package/dist/systems/google.js.map +1 -0
  202. package/dist/tables-DWQytYNm.js +4 -0
  203. package/dist/tables-DWQytYNm.js.map +1 -0
  204. package/dist/tanstack-form-CCDV-3Ml.js +12 -0
  205. package/dist/tanstack-form-CCDV-3Ml.js.map +1 -0
  206. package/dist/text-editor-WbS7pJJs.js +2 -0
  207. package/dist/text-editor-WbS7pJJs.js.map +1 -0
  208. package/dist/{textarea-7HDXcaK9.mjs → textarea-Bp6VvhiA.js} +1 -1
  209. package/dist/textarea-Bp6VvhiA.js.map +1 -0
  210. package/dist/{tooltip-Dxl5Wa8i.mjs → tooltip-CVIl6Hln.js} +1 -1
  211. package/dist/tooltip-CVIl6Hln.js.map +1 -0
  212. package/dist/{types-YLu40dXY.d.mts → types-BVSfF-1o.d.ts} +1 -1
  213. package/dist/{types-B5nyTWtO.mjs → types-BZqffRVJ.js} +1 -1
  214. package/dist/types-BZqffRVJ.js.map +1 -0
  215. package/dist/typography/paragraph.d.cts +5 -5
  216. package/dist/typography/{paragraph.d.mts → paragraph.d.ts} +6 -6
  217. package/dist/typography/paragraph.js +1 -0
  218. package/dist/typography/{title.d.mts → title.d.ts} +1 -1
  219. package/dist/typography/{title.mjs → title.js} +1 -1
  220. package/dist/typography/title.js.map +1 -0
  221. package/dist/ui/alert-dialog.d.cts +12 -12
  222. package/dist/ui/{alert-dialog.d.mts → alert-dialog.d.ts} +13 -13
  223. package/dist/ui/alert-dialog.js +2 -0
  224. package/dist/ui/alert-dialog.js.map +1 -0
  225. package/dist/ui/alert.d.cts +1 -1
  226. package/dist/ui/{alert.d.mts → alert.d.ts} +1 -1
  227. package/dist/ui/alert.js +1 -0
  228. package/dist/ui/aspect-ratio.d.cts +2 -2
  229. package/dist/ui/{aspect-ratio.d.mts → aspect-ratio.d.ts} +3 -3
  230. package/dist/ui/{aspect-ratio.mjs → aspect-ratio.js} +1 -1
  231. package/dist/ui/aspect-ratio.js.map +1 -0
  232. package/dist/ui/avatar.d.cts +4 -4
  233. package/dist/ui/{avatar.d.mts → avatar.d.ts} +5 -5
  234. package/dist/ui/avatar.js +1 -0
  235. package/dist/ui/badge.d.cts +1 -1
  236. package/dist/ui/badge.d.ts +2 -0
  237. package/dist/ui/badge.js +1 -0
  238. package/dist/ui/breadcrumb.d.cts +8 -8
  239. package/dist/ui/{breadcrumb.d.mts → breadcrumb.d.ts} +9 -9
  240. package/dist/ui/breadcrumb.js +2 -0
  241. package/dist/ui/breadcrumb.js.map +1 -0
  242. package/dist/ui/button-group.d.cts +6 -6
  243. package/dist/ui/{button-group.d.mts → button-group.d.ts} +6 -6
  244. package/dist/ui/button-group.js +2 -0
  245. package/dist/ui/button-group.js.map +1 -0
  246. package/dist/ui/button.d.cts +1 -1
  247. package/dist/ui/button.d.ts +2 -0
  248. package/dist/ui/button.js +1 -0
  249. package/dist/ui/buttons/{add-new.d.mts → add-new.d.ts} +1 -1
  250. package/dist/ui/buttons/add-new.js +2 -0
  251. package/dist/ui/buttons/add-new.js.map +1 -0
  252. package/dist/ui/buttons/{edit.d.mts → edit.d.ts} +1 -1
  253. package/dist/ui/buttons/edit.js +2 -0
  254. package/dist/ui/buttons/edit.js.map +1 -0
  255. package/dist/ui/buttons/{refresh.d.mts → refresh.d.ts} +1 -1
  256. package/dist/ui/buttons/refresh.js +2 -0
  257. package/dist/ui/buttons/refresh.js.map +1 -0
  258. package/dist/ui/buttons/{trash.d.mts → trash.d.ts} +1 -1
  259. package/dist/ui/buttons/trash.js +2 -0
  260. package/dist/ui/buttons/trash.js.map +1 -0
  261. package/dist/ui/buttons/{upload-image.d.mts → upload-image.d.ts} +1 -1
  262. package/dist/ui/buttons/upload-image.js +2 -0
  263. package/dist/ui/buttons/upload-image.js.map +1 -0
  264. package/dist/ui/calendar.d.cts +4 -4
  265. package/dist/ui/{calendar.d.mts → calendar.d.ts} +5 -5
  266. package/dist/ui/calendar.js +1 -0
  267. package/dist/ui/card.d.cts +8 -8
  268. package/dist/ui/{card.d.mts → card.d.ts} +9 -9
  269. package/dist/ui/card.js +2 -0
  270. package/dist/ui/card.js.map +1 -0
  271. package/dist/ui/carousel.d.cts +7 -7
  272. package/dist/ui/{carousel.d.mts → carousel.d.ts} +8 -8
  273. package/dist/ui/carousel.js +2 -0
  274. package/dist/ui/carousel.js.map +1 -0
  275. package/dist/ui/checkbox.d.cts +2 -2
  276. package/dist/ui/{checkbox.d.mts → checkbox.d.ts} +3 -3
  277. package/dist/ui/checkbox.js +1 -0
  278. package/dist/ui/collapsible.d.cts +4 -4
  279. package/dist/ui/{collapsible.d.mts → collapsible.d.ts} +5 -5
  280. package/dist/ui/{collapsible.mjs → collapsible.js} +1 -1
  281. package/dist/ui/collapsible.js.map +1 -0
  282. package/dist/ui/command.d.cts +11 -11
  283. package/dist/ui/{command.d.mts → command.d.ts} +12 -12
  284. package/dist/ui/command.js +1 -0
  285. package/dist/ui/context-menu.d.cts +16 -16
  286. package/dist/ui/{context-menu.d.mts → context-menu.d.ts} +17 -17
  287. package/dist/ui/{context-menu.mjs → context-menu.js} +1 -1
  288. package/dist/ui/context-menu.js.map +1 -0
  289. package/dist/ui/dialog.d.cts +1 -1
  290. package/dist/ui/{dialog.d.mts → dialog.d.ts} +1 -1
  291. package/dist/ui/dialog.js +1 -0
  292. package/dist/ui/drawer.d.cts +11 -11
  293. package/dist/ui/{drawer.d.mts → drawer.d.ts} +12 -12
  294. package/dist/ui/drawer.js +1 -0
  295. package/dist/ui/dropdown-menu.d.cts +16 -16
  296. package/dist/ui/{dropdown-menu.d.mts → dropdown-menu.d.ts} +17 -17
  297. package/dist/ui/dropdown-menu.js +1 -0
  298. package/dist/ui/empty.d.cts +9 -9
  299. package/dist/ui/{empty.d.mts → empty.d.ts} +10 -10
  300. package/dist/ui/{empty.mjs → empty.js} +1 -1
  301. package/dist/ui/empty.js.map +1 -0
  302. package/dist/ui/field.d.cts +23 -23
  303. package/dist/ui/field.d.ts +65 -0
  304. package/dist/ui/field.js +1 -0
  305. package/dist/ui/file-uploader.d.cts +2 -2
  306. package/dist/ui/{file-uploader.d.mts → file-uploader.d.ts} +3 -3
  307. package/dist/ui/file-uploader.js +3 -0
  308. package/dist/ui/file-uploader.js.map +1 -0
  309. package/dist/ui/form.d.cts +10 -10
  310. package/dist/ui/{form.d.mts → form.d.ts} +11 -11
  311. package/dist/ui/form.js +2 -0
  312. package/dist/ui/form.js.map +1 -0
  313. package/dist/ui/hover-card.d.cts +4 -4
  314. package/dist/ui/{hover-card.d.mts → hover-card.d.ts} +5 -5
  315. package/dist/ui/{hover-card.mjs → hover-card.js} +1 -1
  316. package/dist/ui/hover-card.js.map +1 -0
  317. package/dist/ui/{image.d.mts → image.d.ts} +1 -1
  318. package/dist/ui/image.js +1 -0
  319. package/dist/ui/input-otp.d.cts +5 -5
  320. package/dist/ui/{input-otp.d.mts → input-otp.d.ts} +6 -6
  321. package/dist/ui/{input-otp.mjs → input-otp.js} +1 -1
  322. package/dist/ui/input-otp.js.map +1 -0
  323. package/dist/ui/input.d.cts +1 -1
  324. package/dist/ui/input.d.ts +2 -0
  325. package/dist/ui/input.js +1 -0
  326. package/dist/ui/inputs/search-input.d.cts +3 -3
  327. package/dist/ui/inputs/{search-input.d.mts → search-input.d.ts} +4 -4
  328. package/dist/ui/inputs/search-input.js +2 -0
  329. package/dist/ui/inputs/search-input.js.map +1 -0
  330. package/dist/ui/item.d.cts +14 -14
  331. package/dist/ui/{item.d.mts → item.d.ts} +13 -13
  332. package/dist/ui/item.js +2 -0
  333. package/dist/ui/item.js.map +1 -0
  334. package/dist/ui/label.d.cts +2 -2
  335. package/dist/ui/{label.d.mts → label.d.ts} +3 -3
  336. package/dist/ui/label.js +1 -0
  337. package/dist/ui/menubar.d.cts +17 -17
  338. package/dist/ui/{menubar.d.mts → menubar.d.ts} +18 -18
  339. package/dist/ui/{menubar.mjs → menubar.js} +1 -1
  340. package/dist/ui/menubar.js.map +1 -0
  341. package/dist/ui/multi-select.d.cts +2 -2
  342. package/dist/ui/{multi-select.d.mts → multi-select.d.ts} +5 -5
  343. package/dist/ui/multi-select.js +2 -0
  344. package/dist/ui/multi-select.js.map +1 -0
  345. package/dist/ui/navigation-menu.d.cts +9 -9
  346. package/dist/ui/{navigation-menu.d.mts → navigation-menu.d.ts} +12 -12
  347. package/dist/ui/{navigation-menu.mjs → navigation-menu.js} +1 -1
  348. package/dist/ui/navigation-menu.js.map +1 -0
  349. package/dist/ui/pagination.d.cts +9 -9
  350. package/dist/ui/{pagination.d.mts → pagination.d.ts} +10 -10
  351. package/dist/ui/pagination.js +2 -0
  352. package/dist/ui/pagination.js.map +1 -0
  353. package/dist/ui/popover.d.cts +6 -6
  354. package/dist/ui/{popover.d.mts → popover.d.ts} +7 -7
  355. package/dist/ui/popover.js +1 -0
  356. package/dist/ui/progress.d.cts +2 -2
  357. package/dist/ui/{progress.d.mts → progress.d.ts} +3 -3
  358. package/dist/ui/progress.js +1 -0
  359. package/dist/ui/radio-group.d.cts +3 -3
  360. package/dist/ui/{radio-group.d.mts → radio-group.d.ts} +4 -4
  361. package/dist/ui/radio-group.js +1 -0
  362. package/dist/ui/resizable.d.cts +9 -9
  363. package/dist/ui/{resizable.d.mts → resizable.d.ts} +10 -10
  364. package/dist/ui/resizable.js +1 -0
  365. package/dist/ui/scroll-area.d.cts +5 -5
  366. package/dist/ui/{scroll-area.d.mts → scroll-area.d.ts} +6 -6
  367. package/dist/ui/{scroll-area.mjs → scroll-area.js} +1 -1
  368. package/dist/ui/scroll-area.js.map +1 -0
  369. package/dist/ui/select.d.cts +9 -9
  370. package/dist/ui/{select.d.mts → select.d.ts} +10 -10
  371. package/dist/ui/select.js +1 -0
  372. package/dist/ui/separator.d.cts +2 -2
  373. package/dist/ui/{separator.d.mts → separator.d.ts} +3 -3
  374. package/dist/ui/separator.js +1 -0
  375. package/dist/ui/sheet.d.cts +9 -9
  376. package/dist/ui/{sheet.d.mts → sheet.d.ts} +10 -10
  377. package/dist/ui/sheet.js +1 -0
  378. package/dist/ui/skeleton.d.cts +2 -2
  379. package/dist/ui/{skeleton.d.mts → skeleton.d.ts} +3 -3
  380. package/dist/ui/skeleton.js +1 -0
  381. package/dist/ui/slider.d.cts +2 -2
  382. package/dist/ui/{slider.d.mts → slider.d.ts} +3 -3
  383. package/dist/ui/{slider.mjs → slider.js} +1 -1
  384. package/dist/ui/slider.js.map +1 -0
  385. package/dist/ui/sonner.d.cts +2 -2
  386. package/dist/ui/{sonner.d.mts → sonner.d.ts} +3 -3
  387. package/dist/ui/{sonner.mjs → sonner.js} +1 -1
  388. package/dist/ui/sonner.js.map +1 -0
  389. package/dist/ui/spinner.d.cts +2 -2
  390. package/dist/ui/{spinner.d.mts → spinner.d.ts} +3 -3
  391. package/dist/ui/spinner.js +1 -0
  392. package/dist/ui/switch.d.cts +2 -2
  393. package/dist/ui/{switch.d.mts → switch.d.ts} +3 -3
  394. package/dist/ui/switch.js +1 -0
  395. package/dist/ui/table.d.cts +17 -17
  396. package/dist/ui/{table.d.mts → table.d.ts} +18 -18
  397. package/dist/ui/{table.mjs → table.js} +1 -1
  398. package/dist/ui/table.js.map +1 -0
  399. package/dist/ui/tabs.d.cts +5 -5
  400. package/dist/ui/{tabs.d.mts → tabs.d.ts} +6 -6
  401. package/dist/ui/{tabs.mjs → tabs.js} +1 -1
  402. package/dist/ui/tabs.js.map +1 -0
  403. package/dist/ui/textarea.d.cts +2 -2
  404. package/dist/ui/{textarea.d.mts → textarea.d.ts} +3 -3
  405. package/dist/ui/textarea.js +1 -0
  406. package/dist/ui/toggle-group.d.cts +3 -3
  407. package/dist/ui/{toggle-group.d.mts → toggle-group.d.ts} +5 -5
  408. package/dist/ui/toggle-group.js +2 -0
  409. package/dist/ui/toggle-group.js.map +1 -0
  410. package/dist/ui/toggle.d.cts +4 -4
  411. package/dist/ui/{toggle.d.mts → toggle.d.ts} +5 -5
  412. package/dist/ui/{toggle.mjs → toggle.js} +1 -1
  413. package/dist/ui/toggle.js.map +1 -0
  414. package/dist/ui/tooltip.d.cts +5 -5
  415. package/dist/ui/{tooltip.d.mts → tooltip.d.ts} +6 -6
  416. package/dist/ui/tooltip.js +1 -0
  417. package/dist/user-BSpgswEC.js +2 -0
  418. package/dist/user-BSpgswEC.js.map +1 -0
  419. package/package.json +97 -97
  420. package/dist/alert-BbvPwf2x.mjs.map +0 -1
  421. package/dist/avatar-fltdRVsJ.mjs.map +0 -1
  422. package/dist/badge-CDGBGq8X.mjs.map +0 -1
  423. package/dist/button-CCVJTHBI.mjs +0 -2
  424. package/dist/button-CCVJTHBI.mjs.map +0 -1
  425. package/dist/button.variants-DkMqWB8G.mjs.map +0 -1
  426. package/dist/calendar-R866yyd1.mjs +0 -2
  427. package/dist/calendar-R866yyd1.mjs.map +0 -1
  428. package/dist/cards/grid-product-card.mjs +0 -2
  429. package/dist/cards/grid-product-card.mjs.map +0 -1
  430. package/dist/cards/product-card.mjs +0 -2
  431. package/dist/cards/product-card.mjs.map +0 -1
  432. package/dist/cards/simple-card.mjs +0 -2
  433. package/dist/cards/simple-card.mjs.map +0 -1
  434. package/dist/checkbox-Cat3i08X.mjs.map +0 -1
  435. package/dist/close-_UHFeiLS.mjs.map +0 -1
  436. package/dist/cms-layout-DkCR1AfG.mjs +0 -2
  437. package/dist/cms-layout-DkCR1AfG.mjs.map +0 -1
  438. package/dist/command-D6_CSbwJ.mjs +0 -2
  439. package/dist/command-D6_CSbwJ.mjs.map +0 -1
  440. package/dist/data-display/country.mjs +0 -2
  441. package/dist/data-display/country.mjs.map +0 -1
  442. package/dist/data-display/data-list.mjs.map +0 -1
  443. package/dist/data-display/date-tooltip.mjs +0 -2
  444. package/dist/data-display/date-tooltip.mjs.map +0 -1
  445. package/dist/data-display/date.mjs +0 -1
  446. package/dist/data-display/empty.mjs.map +0 -1
  447. package/dist/data-display/name.mjs +0 -2
  448. package/dist/data-display/name.mjs.map +0 -1
  449. package/dist/data-display/phone-number.mjs +0 -2
  450. package/dist/data-display/phone-number.mjs.map +0 -1
  451. package/dist/data-display/role-badge.mjs +0 -2
  452. package/dist/data-display/role-badge.mjs.map +0 -1
  453. package/dist/data-display/statistic.mjs +0 -1
  454. package/dist/data-display/user.mjs +0 -1
  455. package/dist/date-fY3sUcLp.mjs.map +0 -1
  456. package/dist/dialog-CLDnvNH_.mjs +0 -2
  457. package/dist/dialog-CLDnvNH_.mjs.map +0 -1
  458. package/dist/dialogs/confirm-dialog.mjs +0 -2
  459. package/dist/dialogs/confirm-dialog.mjs.map +0 -1
  460. package/dist/dialogs/detail-dialog/components/sidebar.mjs +0 -1
  461. package/dist/dialogs/detail-dialog/index.mjs +0 -2
  462. package/dist/dialogs/detail-dialog/index.mjs.map +0 -1
  463. package/dist/dialogs/error-dialog.mjs +0 -2
  464. package/dist/dialogs/error-dialog.mjs.map +0 -1
  465. package/dist/dialogs/loading-dialog.mjs +0 -2
  466. package/dist/dialogs/loading-dialog.mjs.map +0 -1
  467. package/dist/dist-DVrfqn8H.mjs.map +0 -1
  468. package/dist/drawer-CMD7JWH8.mjs.map +0 -1
  469. package/dist/dropdown-menu-BWhiVsEf.mjs.map +0 -1
  470. package/dist/features/descriptions/index.mjs +0 -2
  471. package/dist/features/descriptions/index.mjs.map +0 -1
  472. package/dist/features/search-modal/index.mjs +0 -1
  473. package/dist/features/tables/index.mjs +0 -1
  474. package/dist/features/tanstack-form/index.mjs +0 -1
  475. package/dist/features/text-editor/index.mjs +0 -1
  476. package/dist/field-dYemS0hQ.mjs +0 -2
  477. package/dist/field-dYemS0hQ.mjs.map +0 -1
  478. package/dist/flex-B6YSJzGe.mjs.map +0 -1
  479. package/dist/heading-De4Pn3mZ.mjs.map +0 -1
  480. package/dist/image-D7OZ13Ib.mjs +0 -2
  481. package/dist/image-D7OZ13Ib.mjs.map +0 -1
  482. package/dist/index.mjs +0 -1
  483. package/dist/input-NJP2wQOm.mjs.map +0 -1
  484. package/dist/label-CUCpwS5D.mjs.map +0 -1
  485. package/dist/layouts/cms-layout/index.d.mts +0 -2
  486. package/dist/layouts/cms-layout/index.mjs +0 -1
  487. package/dist/layouts/flex.mjs +0 -1
  488. package/dist/layouts/grid.mjs.map +0 -1
  489. package/dist/layouts/payment-layout/index.mjs +0 -1
  490. package/dist/pages/FeatureDeveloping.mjs +0 -2
  491. package/dist/pages/FeatureDeveloping.mjs.map +0 -1
  492. package/dist/pages/FeatureFixing.mjs +0 -2
  493. package/dist/pages/FeatureFixing.mjs.map +0 -1
  494. package/dist/pages/LoginPage.mjs +0 -2
  495. package/dist/pages/LoginPage.mjs.map +0 -1
  496. package/dist/pages/NotAuthorized.mjs +0 -2
  497. package/dist/pages/NotAuthorized.mjs.map +0 -1
  498. package/dist/pages/NotFound.mjs +0 -2
  499. package/dist/pages/NotFound.mjs.map +0 -1
  500. package/dist/pages/RegisterPage.mjs +0 -2
  501. package/dist/pages/RegisterPage.mjs.map +0 -1
  502. package/dist/pages/VerifyEmailPage.mjs +0 -2
  503. package/dist/pages/VerifyEmailPage.mjs.map +0 -1
  504. package/dist/paragraph-DYLaQtTV.mjs.map +0 -1
  505. package/dist/payment-layout-DrQ0kZPX.mjs +0 -2
  506. package/dist/payment-layout-DrQ0kZPX.mjs.map +0 -1
  507. package/dist/popover-C8rcemA3.mjs +0 -2
  508. package/dist/popover-C8rcemA3.mjs.map +0 -1
  509. package/dist/progress-CLeM0e7Z.mjs.map +0 -1
  510. package/dist/radio-group-Y9bhdr55.mjs.map +0 -1
  511. package/dist/resizable-CpCaSCFB.mjs.map +0 -1
  512. package/dist/search-modal-Bn-GOOCy.mjs +0 -2
  513. package/dist/search-modal-Bn-GOOCy.mjs.map +0 -1
  514. package/dist/select-LlPCZFSF.mjs.map +0 -1
  515. package/dist/separator-D3Gmkxzq.mjs.map +0 -1
  516. package/dist/sheet-BFlIfNaA.mjs.map +0 -1
  517. package/dist/sidebar-ChtCyu-n.mjs +0 -2
  518. package/dist/sidebar-ChtCyu-n.mjs.map +0 -1
  519. package/dist/skeleton-C51IdOfK.mjs.map +0 -1
  520. package/dist/spinner-eClTgHjk.mjs.map +0 -1
  521. package/dist/statistic-cwLwcukn.mjs.map +0 -1
  522. package/dist/switch-BP7EPatj.mjs.map +0 -1
  523. package/dist/systems/google.mjs.map +0 -1
  524. package/dist/tables-CFrsk2lM.mjs +0 -4
  525. package/dist/tables-CFrsk2lM.mjs.map +0 -1
  526. package/dist/tanstack-form-C_pyibTQ.mjs +0 -12
  527. package/dist/tanstack-form-C_pyibTQ.mjs.map +0 -1
  528. package/dist/text-editor-5mA7XyaI.mjs +0 -2
  529. package/dist/text-editor-5mA7XyaI.mjs.map +0 -1
  530. package/dist/textarea-7HDXcaK9.mjs.map +0 -1
  531. package/dist/tooltip-Dxl5Wa8i.mjs.map +0 -1
  532. package/dist/types-B5nyTWtO.mjs.map +0 -1
  533. package/dist/typography/paragraph.mjs +0 -1
  534. package/dist/typography/title.mjs.map +0 -1
  535. package/dist/ui/alert-dialog.mjs +0 -2
  536. package/dist/ui/alert-dialog.mjs.map +0 -1
  537. package/dist/ui/alert.mjs +0 -1
  538. package/dist/ui/aspect-ratio.mjs.map +0 -1
  539. package/dist/ui/avatar.mjs +0 -1
  540. package/dist/ui/badge.d.mts +0 -2
  541. package/dist/ui/badge.mjs +0 -1
  542. package/dist/ui/breadcrumb.mjs +0 -2
  543. package/dist/ui/breadcrumb.mjs.map +0 -1
  544. package/dist/ui/button-group.mjs +0 -2
  545. package/dist/ui/button-group.mjs.map +0 -1
  546. package/dist/ui/button.d.mts +0 -2
  547. package/dist/ui/button.mjs +0 -1
  548. package/dist/ui/buttons/add-new.mjs +0 -2
  549. package/dist/ui/buttons/add-new.mjs.map +0 -1
  550. package/dist/ui/buttons/edit.mjs +0 -2
  551. package/dist/ui/buttons/edit.mjs.map +0 -1
  552. package/dist/ui/buttons/refresh.mjs +0 -2
  553. package/dist/ui/buttons/refresh.mjs.map +0 -1
  554. package/dist/ui/buttons/trash.mjs +0 -2
  555. package/dist/ui/buttons/trash.mjs.map +0 -1
  556. package/dist/ui/buttons/upload-image.mjs +0 -2
  557. package/dist/ui/buttons/upload-image.mjs.map +0 -1
  558. package/dist/ui/calendar.mjs +0 -1
  559. package/dist/ui/card.mjs +0 -2
  560. package/dist/ui/card.mjs.map +0 -1
  561. package/dist/ui/carousel.mjs +0 -2
  562. package/dist/ui/carousel.mjs.map +0 -1
  563. package/dist/ui/checkbox.mjs +0 -1
  564. package/dist/ui/collapsible.mjs.map +0 -1
  565. package/dist/ui/command.mjs +0 -1
  566. package/dist/ui/context-menu.mjs.map +0 -1
  567. package/dist/ui/dialog.mjs +0 -1
  568. package/dist/ui/drawer.mjs +0 -1
  569. package/dist/ui/dropdown-menu.mjs +0 -1
  570. package/dist/ui/empty.mjs.map +0 -1
  571. package/dist/ui/field.d.mts +0 -65
  572. package/dist/ui/field.mjs +0 -1
  573. package/dist/ui/file-uploader.mjs +0 -3
  574. package/dist/ui/file-uploader.mjs.map +0 -1
  575. package/dist/ui/form.mjs +0 -2
  576. package/dist/ui/form.mjs.map +0 -1
  577. package/dist/ui/hover-card.mjs.map +0 -1
  578. package/dist/ui/image.mjs +0 -1
  579. package/dist/ui/input-otp.mjs.map +0 -1
  580. package/dist/ui/input.d.mts +0 -2
  581. package/dist/ui/input.mjs +0 -1
  582. package/dist/ui/inputs/search-input.mjs +0 -2
  583. package/dist/ui/inputs/search-input.mjs.map +0 -1
  584. package/dist/ui/item.mjs +0 -2
  585. package/dist/ui/item.mjs.map +0 -1
  586. package/dist/ui/label.mjs +0 -1
  587. package/dist/ui/menubar.mjs.map +0 -1
  588. package/dist/ui/multi-select.mjs +0 -2
  589. package/dist/ui/multi-select.mjs.map +0 -1
  590. package/dist/ui/navigation-menu.mjs.map +0 -1
  591. package/dist/ui/pagination.mjs +0 -2
  592. package/dist/ui/pagination.mjs.map +0 -1
  593. package/dist/ui/popover.mjs +0 -1
  594. package/dist/ui/progress.mjs +0 -1
  595. package/dist/ui/radio-group.mjs +0 -1
  596. package/dist/ui/resizable.mjs +0 -1
  597. package/dist/ui/scroll-area.mjs.map +0 -1
  598. package/dist/ui/select.mjs +0 -1
  599. package/dist/ui/separator.mjs +0 -1
  600. package/dist/ui/sheet.mjs +0 -1
  601. package/dist/ui/skeleton.mjs +0 -1
  602. package/dist/ui/slider.mjs.map +0 -1
  603. package/dist/ui/sonner.mjs.map +0 -1
  604. package/dist/ui/spinner.mjs +0 -1
  605. package/dist/ui/switch.mjs +0 -1
  606. package/dist/ui/table.mjs.map +0 -1
  607. package/dist/ui/tabs.mjs.map +0 -1
  608. package/dist/ui/textarea.mjs +0 -1
  609. package/dist/ui/toggle-group.mjs +0 -2
  610. package/dist/ui/toggle-group.mjs.map +0 -1
  611. package/dist/ui/toggle.mjs.map +0 -1
  612. package/dist/ui/tooltip.mjs +0 -1
  613. package/dist/user-DtZy4P9d.mjs +0 -2
  614. package/dist/user-DtZy4P9d.mjs.map +0 -1
@@ -1,2 +1,2 @@
1
1
  import{AlertCircle as e,AlertTriangle as t,CheckCircle as n,Info as r,X as i}from"lucide-react";import{useMemo as a}from"react";import{cn as o}from"@customafk/react-toolkit/utils";import{cva as s}from"class-variance-authority";import{jsx as c,jsxs as l}from"react/jsx-runtime";const u=s([`relative grid w-full items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm`,`grid-cols-[0_1fr]`,`has-[>svg]:grid-cols-[24px_1fr] has-[>svg]:gap-x-3`,`[&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current`,`transition-colors duration-150`],{variants:{variant:{default:`bg-card text-text-positive-strong border-border`,destructive:`bg-danger-bg-subtle text-danger-intense border-danger-border-subtle [&>svg]:text-danger *:data-[slot=alert-description]:text-danger-strong`,warning:`bg-warning-bg-subtle text-warning-intense border-warning-border-subtle [&>svg]:text-warning *:data-[slot=alert-description]:text-warning-strong`,success:`bg-success-bg-subtle text-success-intense border-success-border-subtle [&>svg]:text-success *:data-[slot=alert-description]:text-success-strong`,info:`bg-info-bg-subtle text-info-intense border-info-border-subtle [&>svg]:text-info *:data-[slot=alert-description]:text-info-strong`}},defaultVariants:{variant:`default`}});function d({className:s,variant:d,children:f,icon:p,dismissible:m,onDismiss:h,...g}){let _=a(()=>{if(!p)switch(d){case`destructive`:return c(e,{});case`warning`:return c(t,{});case`success`:return c(n,{});case`info`:return c(r,{});default:return null}return p},[p,d]);return l(`div`,{"data-slot":`alert`,role:`alert`,"data-variant":d,className:o(u({variant:d}),s),...g,children:[_,f,m&&c(`button`,{type:`button`,onClick:h,"aria-label":`Close alert`,className:`absolute top-2 right-2 size-6 rounded-md p-1 opacity-70 transition-opacity duration-100 hover:opacity-100`,"data-slot":`alert-close`,children:c(i,{size:16})})]})}function f({className:e,...t}){return c(`div`,{"data-slot":`alert-title`,className:o(`col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight`,e),...t})}function p({className:e,...t}){return c(`div`,{"data-slot":`alert-description`,className:o(`text-text-positive-weak col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed`,e),...t})}export{p as n,f as r,d as t};
2
- //# sourceMappingURL=alert-BbvPwf2x.mjs.map
2
+ //# sourceMappingURL=alert-BzBDfGk2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-BzBDfGk2.js","names":[],"sources":["../packages/components/ui/alert-variants.ts","../packages/components/ui/alert.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\n/**\n * Alert component variants for styling using class-variance-authority\n */\nexport const alertVariants = cva(\n [\n 'relative grid w-full items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm',\n 'grid-cols-[0_1fr]',\n 'has-[>svg]:grid-cols-[24px_1fr] has-[>svg]:gap-x-3',\n '[&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current',\n 'transition-colors duration-150',\n ],\n {\n variants: {\n variant: {\n default: 'bg-card text-text-positive-strong border-border',\n destructive:\n 'bg-danger-bg-subtle text-danger-intense border-danger-border-subtle [&>svg]:text-danger *:data-[slot=alert-description]:text-danger-strong',\n warning:\n 'bg-warning-bg-subtle text-warning-intense border-warning-border-subtle [&>svg]:text-warning *:data-[slot=alert-description]:text-warning-strong',\n success:\n 'bg-success-bg-subtle text-success-intense border-success-border-subtle [&>svg]:text-success *:data-[slot=alert-description]:text-success-strong',\n info: 'bg-info-bg-subtle text-info-intense border-info-border-subtle [&>svg]:text-info *:data-[slot=alert-description]:text-info-strong',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type AlertVariantProps = VariantProps<typeof alertVariants>;\n","'use client';\n\nimport { useMemo } from 'react';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { AlertCircle, AlertTriangle, CheckCircle, Info, X } from 'lucide-react';\n\nimport { type AlertVariantProps, alertVariants } from './alert-variants';\n\n/**\n * Props for the Alert component.\n */\nexport interface AlertProps extends React.HTMLAttributes<HTMLDivElement>, Omit<AlertVariantProps, 'className'> {\n /**\n * Optional icon to display in the alert; defaults to a variant-appropriate icon when omitted.\n */\n icon?: React.ReactNode;\n /**\n * Whether the alert can be dismissed by the user.\n */\n dismissible?: boolean;\n /**\n * Callback invoked when the dismiss button is clicked.\n */\n onDismiss?: () => void;\n}\n\n/**\n * Displays a contextual feedback message with optional icon, title, description, and dismiss button.\n *\n * @example\n * ```tsx\n * import { Alert, AlertTitle, AlertDescription } from '@customafk/lunas-ui/ui/alert';\n *\n * <Alert variant=\"success\" dismissible onDismiss={() => setOpen(false)}>\n * <AlertTitle>Saved successfully</AlertTitle>\n * <AlertDescription>Your changes have been saved.</AlertDescription>\n * </Alert>\n * ```\n */\nfunction Alert({ className, variant, children, icon, dismissible, onDismiss, ...props }: AlertProps) {\n // Default icons based on variant\n const defaultIcon = useMemo(() => {\n if (!icon) {\n switch (variant) {\n case 'destructive':\n return <AlertCircle />;\n case 'warning':\n return <AlertTriangle />;\n case 'success':\n return <CheckCircle />;\n case 'info':\n return <Info />;\n default:\n return null;\n }\n }\n return icon;\n }, [icon, variant]);\n\n return (\n <div data-slot=\"alert\" role=\"alert\" data-variant={variant} className={cn(alertVariants({ variant }), className)} {...props}>\n {defaultIcon}\n {children}\n {dismissible && (\n <button\n type=\"button\"\n onClick={onDismiss}\n aria-label=\"Close alert\"\n className=\"absolute top-2 right-2 size-6 rounded-md p-1 opacity-70 transition-opacity duration-100 hover:opacity-100\"\n data-slot=\"alert-close\"\n >\n <X size={16} />\n </button>\n )}\n </div>\n );\n}\n\n/**\n * Props for the AlertTitle component.\n */\nexport interface AlertTitleProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Title text or elements to display.\n */\n children: React.ReactNode;\n}\n\n/**\n * Renders the bold title line inside an Alert.\n */\nfunction AlertTitle({ className, ...props }: AlertTitleProps) {\n return <div data-slot=\"alert-title\" className={cn('col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight', className)} {...props} />;\n}\n\n/**\n * Props for the AlertDescription component.\n */\nexport interface AlertDescriptionProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Descriptive text or elements displayed below the title.\n */\n children: React.ReactNode;\n}\n\n/**\n * Renders the supporting body text inside an Alert.\n */\nfunction AlertDescription({ className, ...props }: AlertDescriptionProps) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn('text-text-positive-weak col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed', className)}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertDescription, AlertTitle };\n"],"mappings":"qRAKA,MAAa,EAAgB,EAC3B,CACE,iFACA,oBACA,qDACA,8DACA,iCACD,CACD,CACE,SAAU,CACR,QAAS,CACP,QAAS,kDACT,YACE,6IACF,QACE,kJACF,QACE,kJACF,KAAM,mIACP,CACF,CACD,gBAAiB,CACf,QAAS,UACV,CACF,CACF,CCUD,SAAS,EAAM,CAAE,YAAW,UAAS,WAAU,OAAM,cAAa,YAAW,GAAG,GAAqB,CAEnG,IAAM,EAAc,MAAc,CAChC,GAAI,CAAC,EACH,OAAQ,EAAR,CACE,IAAK,cACH,OAAO,EAAC,EAAA,EAAA,CAAc,CACxB,IAAK,UACH,OAAO,EAAC,EAAA,EAAA,CAAgB,CAC1B,IAAK,UACH,OAAO,EAAC,EAAA,EAAA,CAAc,CACxB,IAAK,OACH,OAAO,EAAC,EAAA,EAAA,CAAO,CACjB,QACE,OAAO,KAGb,OAAO,GACN,CAAC,EAAM,EAAQ,CAAC,CAEnB,OACE,EAAC,MAAA,CAAI,YAAU,QAAQ,KAAK,QAAQ,eAAc,EAAS,UAAW,EAAG,EAAc,CAAE,UAAS,CAAC,CAAE,EAAU,CAAE,GAAI,YAClH,EACA,EACA,GACC,EAAC,SAAA,CACC,KAAK,SACL,QAAS,EACT,aAAW,cACX,UAAU,4GACV,YAAU,uBAEV,EAAC,EAAA,CAAE,KAAM,GAAA,CAAM,EACR,GAEP,CAiBV,SAAS,EAAW,CAAE,YAAW,GAAG,GAA0B,CAC5D,OAAO,EAAC,MAAA,CAAI,YAAU,cAAc,UAAW,EAAG,8DAA+D,EAAU,CAAE,GAAI,GAAS,CAgB5I,SAAS,EAAiB,CAAE,YAAW,GAAG,GAAgC,CACxE,OACE,EAAC,MAAA,CACC,YAAU,oBACV,UAAW,EAAG,mGAAoG,EAAU,CAC5H,GAAI,GACJ"}
@@ -1,4 +1,4 @@
1
- import * as react35 from "react";
1
+ import * as react52 from "react";
2
2
  import * as class_variance_authority_types12 from "class-variance-authority/types";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
 
@@ -50,7 +50,7 @@ declare function Alert({
50
50
  dismissible,
51
51
  onDismiss,
52
52
  ...props
53
- }: AlertProps): react35.JSX.Element;
53
+ }: AlertProps): react52.JSX.Element;
54
54
  /**
55
55
  * Props for the AlertTitle component.
56
56
  */
@@ -66,7 +66,7 @@ interface AlertTitleProps extends React.HTMLAttributes<HTMLDivElement> {
66
66
  declare function AlertTitle({
67
67
  className,
68
68
  ...props
69
- }: AlertTitleProps): react35.JSX.Element;
69
+ }: AlertTitleProps): react52.JSX.Element;
70
70
  /**
71
71
  * Props for the AlertDescription component.
72
72
  */
@@ -82,7 +82,7 @@ interface AlertDescriptionProps extends React.HTMLAttributes<HTMLDivElement> {
82
82
  declare function AlertDescription({
83
83
  className,
84
84
  ...props
85
- }: AlertDescriptionProps): react35.JSX.Element;
85
+ }: AlertDescriptionProps): react52.JSX.Element;
86
86
  //#endregion
87
87
  export { AlertTitle as a, AlertProps as i, AlertDescription as n, AlertTitleProps as o, AlertDescriptionProps as r, Alert as t };
88
- //# sourceMappingURL=alert-C32Lwu87.d.cts.map
88
+ //# sourceMappingURL=alert-CNFuxKp7.d.cts.map
@@ -1,6 +1,6 @@
1
- import * as react42 from "react";
1
+ import * as react230 from "react";
2
2
  import { VariantProps } from "class-variance-authority";
3
- import * as class_variance_authority_types12 from "class-variance-authority/types";
3
+ import * as class_variance_authority_types14 from "class-variance-authority/types";
4
4
 
5
5
  //#region packages/components/ui/alert-variants.d.ts
6
6
  /**
@@ -8,7 +8,7 @@ import * as class_variance_authority_types12 from "class-variance-authority/type
8
8
  */
9
9
  declare const alertVariants: (props?: ({
10
10
  variant?: "default" | "info" | "success" | "warning" | "destructive" | null | undefined;
11
- } & class_variance_authority_types12.ClassProp) | undefined) => string;
11
+ } & class_variance_authority_types14.ClassProp) | undefined) => string;
12
12
  type AlertVariantProps = VariantProps<typeof alertVariants>;
13
13
  //#endregion
14
14
  //#region packages/components/ui/alert.d.ts
@@ -50,7 +50,7 @@ declare function Alert({
50
50
  dismissible,
51
51
  onDismiss,
52
52
  ...props
53
- }: AlertProps): react42.JSX.Element;
53
+ }: AlertProps): react230.JSX.Element;
54
54
  /**
55
55
  * Props for the AlertTitle component.
56
56
  */
@@ -66,7 +66,7 @@ interface AlertTitleProps extends React.HTMLAttributes<HTMLDivElement> {
66
66
  declare function AlertTitle({
67
67
  className,
68
68
  ...props
69
- }: AlertTitleProps): react42.JSX.Element;
69
+ }: AlertTitleProps): react230.JSX.Element;
70
70
  /**
71
71
  * Props for the AlertDescription component.
72
72
  */
@@ -82,7 +82,7 @@ interface AlertDescriptionProps extends React.HTMLAttributes<HTMLDivElement> {
82
82
  declare function AlertDescription({
83
83
  className,
84
84
  ...props
85
- }: AlertDescriptionProps): react42.JSX.Element;
85
+ }: AlertDescriptionProps): react230.JSX.Element;
86
86
  //#endregion
87
87
  export { AlertTitle as a, AlertProps as i, AlertDescription as n, AlertTitleProps as o, AlertDescriptionProps as r, Alert as t };
88
- //# sourceMappingURL=alert-Cx-dxCP5.d.mts.map
88
+ //# sourceMappingURL=alert-EH6BsbAj.d.ts.map
@@ -1,2 +1,2 @@
1
1
  import{cn as e}from"@customafk/react-toolkit/utils";import{jsx as t}from"react/jsx-runtime";import{Avatar as n}from"radix-ui";function r({className:r,...i}){return t(n.Root,{"data-slot":`avatar`,className:e(`relative flex size-8 shrink-0 overflow-hidden rounded-full`,r),...i})}function i({className:r,...i}){return t(n.Image,{"data-slot":`avatar-image`,className:e(`aspect-square size-full`,r),...i})}function a({className:r,...i}){return t(n.Fallback,{"data-slot":`avatar-fallback`,className:e(`bg-muted flex size-full items-center justify-center rounded-full`,r),...i})}export{a as n,i as r,r as t};
2
- //# sourceMappingURL=avatar-fltdRVsJ.mjs.map
2
+ //# sourceMappingURL=avatar-Hpj8lmux.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar-Hpj8lmux.js","names":["Avatar","AvatarPrimitive"],"sources":["../packages/components/ui/avatar.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Avatar as AvatarPrimitive } from 'radix-ui';\n\n/**\n * Circular user avatar built on Radix UI's Avatar primitives, falling back to initials or an icon when the image fails to load.\n *\n * @example\n * ```tsx\n * import { Avatar, AvatarImage, AvatarFallback } from '@customafk/lunas-ui/ui/avatar';\n *\n * <Avatar>\n * <AvatarImage src=\"https://example.com/avatar.jpg\" alt=\"Jane Doe\" />\n * <AvatarFallback>JD</AvatarFallback>\n * </Avatar>\n * ```\n */\nfunction Avatar({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return <AvatarPrimitive.Root data-slot=\"avatar\" className={cn('relative flex size-8 shrink-0 overflow-hidden rounded-full', className)} {...props} />;\n}\n\n/** The avatar photo; hidden automatically by Radix UI when the image fails to load, revealing `AvatarFallback`. */\nfunction AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return <AvatarPrimitive.Image data-slot=\"avatar-image\" className={cn('aspect-square size-full', className)} {...props} />;\n}\n\n/** Fallback content (e.g. initials) displayed inside the avatar when the image is unavailable or still loading. */\nfunction AvatarFallback({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn('bg-muted flex size-full items-center justify-center rounded-full', className)}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarFallback, AvatarImage };\n"],"mappings":"8HAkBA,SAASA,EAAO,CAAE,YAAW,GAAG,GAA4D,CAC1F,OAAO,EAACC,EAAgB,KAAA,CAAK,YAAU,SAAS,UAAW,EAAG,6DAA8D,EAAU,CAAE,GAAI,GAAS,CAIvJ,SAAS,EAAY,CAAE,YAAW,GAAG,GAA6D,CAChG,OAAO,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,UAAW,EAAG,0BAA2B,EAAU,CAAE,GAAI,GAAS,CAI3H,SAAS,EAAe,CAAE,YAAW,GAAG,GAAgE,CACtG,OACE,EAACA,EAAgB,SAAA,CACf,YAAU,kBACV,UAAW,EAAG,mEAAoE,EAAU,CAC5F,GAAI,GACJ"}
@@ -1,2 +1,2 @@
1
1
  import{cn as e}from"@customafk/react-toolkit/utils";import{cva as t}from"class-variance-authority";import{jsx as n}from"react/jsx-runtime";const r=t(`inline-flex items-center justify-center font-medium transition-colors duration-150 focus:ring-2 focus:ring-offset-2 focus:outline-hidden focus:ring-ring forced-colors:outline`,{variants:{variant:{solid:`shadow-btn`,soft:``,outline:`bg-transparent border`},color:{primary:``,secondary:``,muted:``,accent:``,info:``,success:``,warning:``,danger:``},size:{xs:`text-[10px]/3 px-1.5 py-0.5 gap-1`,sm:`text-xs px-2 py-0.5 gap-1`,md:`text-sm px-2.5 py-0.5 gap-1.5`,lg:`text-base px-3 py-1 gap-1.5`,xl:`text-lg px-3.5 py-1 gap-1.5`},pill:{true:`rounded-full`,false:`rounded-sm`}},defaultVariants:{variant:`solid`,color:`primary`,size:`md`,pill:!0},compoundVariants:[{variant:`solid`,color:`primary`,className:`bg-primary text-primary-foreground`},{variant:`solid`,color:`secondary`,className:`bg-secondary text-secondary-foreground`},{variant:`solid`,color:`muted`,className:`bg-muted text-text-negative`},{variant:`solid`,color:`accent`,className:`bg-accent text-text-negative`},{variant:`solid`,color:`info`,className:`bg-info text-info-foreground`},{variant:`solid`,color:`success`,className:`bg-success text-success-foreground`},{variant:`solid`,color:`warning`,className:`bg-warning text-warning-foreground`},{variant:`solid`,color:`danger`,className:`bg-danger text-danger-foreground`},{variant:`soft`,color:`primary`,className:`bg-primary-bg-subtle text-primary-intense`},{variant:`soft`,color:`secondary`,className:`bg-secondary-bg-subtle text-secondary-intense`},{variant:`soft`,color:`muted`,className:`bg-muted-bg-subtle text-muted-intense`},{variant:`soft`,color:`accent`,className:`bg-accent-bg-subtle text-accent-intense`},{variant:`soft`,color:`info`,className:`bg-info-bg-subtle text-info-intense`},{variant:`soft`,color:`success`,className:`bg-success-bg-subtle text-success-intense`},{variant:`soft`,color:`warning`,className:`bg-warning-bg-subtle text-warning-intense`},{variant:`soft`,color:`danger`,className:`bg-danger-bg-subtle text-danger-intense`},{variant:`outline`,color:`primary`,className:`border-primary text-primary`},{variant:`outline`,color:`secondary`,className:`border-secondary text-secondary`},{variant:`outline`,color:`muted`,className:`border-muted text-muted`},{variant:`outline`,color:`accent`,className:`border-accent text-accent`},{variant:`outline`,color:`info`,className:`border-info text-info`},{variant:`outline`,color:`success`,className:`border-success text-success`},{variant:`outline`,color:`warning`,className:`border-warning text-warning`},{variant:`outline`,color:`danger`,className:`border-danger text-danger`}]});function i({className:t,variant:i,color:a,size:o,pill:s,...c}){return n(`span`,{className:e(r({variant:i,color:a,pill:s,size:o}),t),...c})}export{r as n,i as t};
2
- //# sourceMappingURL=badge-CDGBGq8X.mjs.map
2
+ //# sourceMappingURL=badge-CRpRXSuO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge-CRpRXSuO.js","names":[],"sources":["../packages/components/ui/badge.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nconst badgeVariants = cva(\n 'inline-flex items-center justify-center font-medium transition-colors duration-150 focus:ring-2 focus:ring-offset-2 focus:outline-hidden focus:ring-ring forced-colors:outline',\n {\n variants: {\n variant: {\n solid: 'shadow-btn',\n soft: '',\n outline: 'bg-transparent border',\n },\n color: {\n primary: '',\n secondary: '',\n muted: '',\n accent: '',\n info: '',\n success: '',\n warning: '',\n danger: '',\n },\n size: {\n xs: 'text-[10px]/3 px-1.5 py-0.5 gap-1',\n sm: 'text-xs px-2 py-0.5 gap-1',\n md: 'text-sm px-2.5 py-0.5 gap-1.5',\n lg: 'text-base px-3 py-1 gap-1.5',\n xl: 'text-lg px-3.5 py-1 gap-1.5',\n },\n pill: {\n true: 'rounded-full',\n false: 'rounded-sm',\n },\n },\n defaultVariants: {\n variant: 'solid',\n color: 'primary',\n size: 'md',\n pill: true,\n },\n compoundVariants: [\n // solid\n { variant: 'solid', color: 'primary', className: 'bg-primary text-primary-foreground' },\n { variant: 'solid', color: 'secondary', className: 'bg-secondary text-secondary-foreground' },\n { variant: 'solid', color: 'muted', className: 'bg-muted text-text-negative' },\n { variant: 'solid', color: 'accent', className: 'bg-accent text-text-negative' },\n { variant: 'solid', color: 'info', className: 'bg-info text-info-foreground' },\n { variant: 'solid', color: 'success', className: 'bg-success text-success-foreground' },\n { variant: 'solid', color: 'warning', className: 'bg-warning text-warning-foreground' },\n { variant: 'solid', color: 'danger', className: 'bg-danger text-danger-foreground' },\n // soft\n { variant: 'soft', color: 'primary', className: 'bg-primary-bg-subtle text-primary-intense' },\n { variant: 'soft', color: 'secondary', className: 'bg-secondary-bg-subtle text-secondary-intense' },\n { variant: 'soft', color: 'muted', className: 'bg-muted-bg-subtle text-muted-intense' },\n { variant: 'soft', color: 'accent', className: 'bg-accent-bg-subtle text-accent-intense' },\n { variant: 'soft', color: 'info', className: 'bg-info-bg-subtle text-info-intense' },\n { variant: 'soft', color: 'success', className: 'bg-success-bg-subtle text-success-intense' },\n { variant: 'soft', color: 'warning', className: 'bg-warning-bg-subtle text-warning-intense' },\n { variant: 'soft', color: 'danger', className: 'bg-danger-bg-subtle text-danger-intense' },\n // outline\n { variant: 'outline', color: 'primary', className: 'border-primary text-primary' },\n { variant: 'outline', color: 'secondary', className: 'border-secondary text-secondary' },\n { variant: 'outline', color: 'muted', className: 'border-muted text-muted' },\n { variant: 'outline', color: 'accent', className: 'border-accent text-accent' },\n { variant: 'outline', color: 'info', className: 'border-info text-info' },\n { variant: 'outline', color: 'success', className: 'border-success text-success' },\n { variant: 'outline', color: 'warning', className: 'border-warning text-warning' },\n { variant: 'outline', color: 'danger', className: 'border-danger text-danger' },\n ],\n }\n);\n\n/**\n * Props for the `Badge` component.\n *\n * @property variant - Visual fill style — `'solid'` (filled, default), `'soft'` (tinted background), or `'outline'` (border only).\n * @property color - Semantic color token — `'primary'` | `'secondary'` | `'muted'` | `'accent'` | `'info'` | `'success'` | `'warning'` | `'danger'`. Defaults to `'primary'`.\n * @property size - Badge size — `'xs'` | `'sm'` | `'md'` (default) | `'lg'` | `'xl'`.\n * @property pill - When `true` (default), renders with fully rounded corners (`rounded-full`); when `false`, uses `rounded-sm`.\n */\nexport type BadgeProps = VariantProps<typeof badgeVariants> & React.ComponentPropsWithoutRef<'span'>;\n\n/**\n * Inline status label rendered as a `<span>` with CVA-driven variant, color, size, and shape options.\n *\n * @example\n * ```tsx\n * import { Badge } from '@customafk/lunas-ui/ui/badge';\n *\n * <Badge variant=\"soft\" color=\"success\" size=\"sm\">Active</Badge>\n * <Badge variant=\"outline\" color=\"danger\">Overdue</Badge>\n * ```\n */\nfunction Badge({ className, variant, color, size, pill, ...props }: BadgeProps) {\n return <span className={cn(badgeVariants({ variant, color, pill, size }), className)} {...props} />;\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport { Badge, badgeVariants };\n"],"mappings":"2IAMA,MAAM,EAAgB,EACpB,iLACA,CACE,SAAU,CACR,QAAS,CACP,MAAO,aACP,KAAM,GACN,QAAS,wBACV,CACD,MAAO,CACL,QAAS,GACT,UAAW,GACX,MAAO,GACP,OAAQ,GACR,KAAM,GACN,QAAS,GACT,QAAS,GACT,OAAQ,GACT,CACD,KAAM,CACJ,GAAI,oCACJ,GAAI,4BACJ,GAAI,gCACJ,GAAI,8BACJ,GAAI,8BACL,CACD,KAAM,CACJ,KAAM,eACN,MAAO,aACR,CACF,CACD,gBAAiB,CACf,QAAS,QACT,MAAO,UACP,KAAM,KACN,KAAM,GACP,CACD,iBAAkB,CAEhB,CAAE,QAAS,QAAS,MAAO,UAAW,UAAW,qCAAsC,CACvF,CAAE,QAAS,QAAS,MAAO,YAAa,UAAW,yCAA0C,CAC7F,CAAE,QAAS,QAAS,MAAO,QAAS,UAAW,8BAA+B,CAC9E,CAAE,QAAS,QAAS,MAAO,SAAU,UAAW,+BAAgC,CAChF,CAAE,QAAS,QAAS,MAAO,OAAQ,UAAW,+BAAgC,CAC9E,CAAE,QAAS,QAAS,MAAO,UAAW,UAAW,qCAAsC,CACvF,CAAE,QAAS,QAAS,MAAO,UAAW,UAAW,qCAAsC,CACvF,CAAE,QAAS,QAAS,MAAO,SAAU,UAAW,mCAAoC,CAEpF,CAAE,QAAS,OAAQ,MAAO,UAAW,UAAW,4CAA6C,CAC7F,CAAE,QAAS,OAAQ,MAAO,YAAa,UAAW,gDAAiD,CACnG,CAAE,QAAS,OAAQ,MAAO,QAAS,UAAW,wCAAyC,CACvF,CAAE,QAAS,OAAQ,MAAO,SAAU,UAAW,0CAA2C,CAC1F,CAAE,QAAS,OAAQ,MAAO,OAAQ,UAAW,sCAAuC,CACpF,CAAE,QAAS,OAAQ,MAAO,UAAW,UAAW,4CAA6C,CAC7F,CAAE,QAAS,OAAQ,MAAO,UAAW,UAAW,4CAA6C,CAC7F,CAAE,QAAS,OAAQ,MAAO,SAAU,UAAW,0CAA2C,CAE1F,CAAE,QAAS,UAAW,MAAO,UAAW,UAAW,8BAA+B,CAClF,CAAE,QAAS,UAAW,MAAO,YAAa,UAAW,kCAAmC,CACxF,CAAE,QAAS,UAAW,MAAO,QAAS,UAAW,0BAA2B,CAC5E,CAAE,QAAS,UAAW,MAAO,SAAU,UAAW,4BAA6B,CAC/E,CAAE,QAAS,UAAW,MAAO,OAAQ,UAAW,wBAAyB,CACzE,CAAE,QAAS,UAAW,MAAO,UAAW,UAAW,8BAA+B,CAClF,CAAE,QAAS,UAAW,MAAO,UAAW,UAAW,8BAA+B,CAClF,CAAE,QAAS,UAAW,MAAO,SAAU,UAAW,4BAA6B,CAChF,CACF,CACF,CAuBD,SAAS,EAAM,CAAE,YAAW,UAAS,QAAO,OAAM,OAAM,GAAG,GAAqB,CAC9E,OAAO,EAAC,OAAA,CAAK,UAAW,EAAG,EAAc,CAAE,UAAS,QAAO,OAAM,OAAM,CAAC,CAAE,EAAU,CAAE,GAAI,GAAS"}
@@ -1,14 +1,14 @@
1
- import * as react47 from "react";
1
+ import * as react87 from "react";
2
2
  import { VariantProps } from "class-variance-authority";
3
- import * as class_variance_authority_types4 from "class-variance-authority/types";
3
+ import * as class_variance_authority_types2 from "class-variance-authority/types";
4
4
 
5
5
  //#region packages/components/ui/badge.d.ts
6
6
  declare const badgeVariants: (props?: ({
7
7
  variant?: "outline" | "solid" | "soft" | null | undefined;
8
- color?: "muted" | "primary" | "secondary" | "accent" | "info" | "success" | "warning" | "danger" | null | undefined;
8
+ color?: "primary" | "secondary" | "muted" | "accent" | "info" | "success" | "warning" | "danger" | null | undefined;
9
9
  size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
10
10
  pill?: boolean | null | undefined;
11
- } & class_variance_authority_types4.ClassProp) | undefined) => string;
11
+ } & class_variance_authority_types2.ClassProp) | undefined) => string;
12
12
  /**
13
13
  * Props for the `Badge` component.
14
14
  *
@@ -36,7 +36,7 @@ declare function Badge({
36
36
  size,
37
37
  pill,
38
38
  ...props
39
- }: BadgeProps): react47.JSX.Element;
39
+ }: BadgeProps): react87.JSX.Element;
40
40
  //#endregion
41
41
  export { BadgeProps as n, badgeVariants as r, Badge as t };
42
- //# sourceMappingURL=badge-B6WaU_xD.d.mts.map
42
+ //# sourceMappingURL=badge-Cca0AHjT.d.ts.map
@@ -1,14 +1,14 @@
1
- import * as react54 from "react";
2
- import * as class_variance_authority_types3 from "class-variance-authority/types";
1
+ import * as react23 from "react";
2
+ import * as class_variance_authority_types2 from "class-variance-authority/types";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
 
5
5
  //#region packages/components/ui/badge.d.ts
6
6
  declare const badgeVariants: (props?: ({
7
7
  variant?: "outline" | "solid" | "soft" | null | undefined;
8
- color?: "muted" | "primary" | "secondary" | "accent" | "info" | "success" | "warning" | "danger" | null | undefined;
8
+ color?: "primary" | "secondary" | "muted" | "accent" | "info" | "success" | "warning" | "danger" | null | undefined;
9
9
  size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
10
10
  pill?: boolean | null | undefined;
11
- } & class_variance_authority_types3.ClassProp) | undefined) => string;
11
+ } & class_variance_authority_types2.ClassProp) | undefined) => string;
12
12
  /**
13
13
  * Props for the `Badge` component.
14
14
  *
@@ -36,7 +36,7 @@ declare function Badge({
36
36
  size,
37
37
  pill,
38
38
  ...props
39
- }: BadgeProps): react54.JSX.Element;
39
+ }: BadgeProps): react23.JSX.Element;
40
40
  //#endregion
41
41
  export { BadgeProps as n, badgeVariants as r, Badge as t };
42
- //# sourceMappingURL=badge-C-IINKGX.d.cts.map
42
+ //# sourceMappingURL=badge-D0JnPurs.d.cts.map
@@ -1,6 +1,6 @@
1
- import * as react38 from "react";
2
- import { VariantProps } from "class-variance-authority";
1
+ import * as react22 from "react";
3
2
  import * as class_variance_authority_types13 from "class-variance-authority/types";
3
+ import { VariantProps } from "class-variance-authority";
4
4
 
5
5
  //#region packages/components/ui/button.variants.d.ts
6
6
 
@@ -9,7 +9,7 @@ import * as class_variance_authority_types13 from "class-variance-authority/type
9
9
  */
10
10
  declare const buttonVariants: (props?: ({
11
11
  variant?: "default" | "outline" | "link" | "soft" | "ghost" | "subtle" | null | undefined;
12
- color?: "muted" | "primary" | "secondary" | "info" | "success" | "warning" | "danger" | "important" | null | undefined;
12
+ color?: "primary" | "secondary" | "muted" | "info" | "success" | "warning" | "danger" | "important" | null | undefined;
13
13
  size?: "xs" | "sm" | "md" | "lg" | "xl" | "default" | "icon" | null | undefined;
14
14
  } & class_variance_authority_types13.ClassProp) | undefined) => string;
15
15
  type ButtonVariantProps = VariantProps<typeof buttonVariants>;
@@ -168,7 +168,7 @@ declare function Button({
168
168
  type,
169
169
  innerClassName,
170
170
  ...props
171
- }: ButtonProps): react38.JSX.Element;
171
+ }: ButtonProps): react22.JSX.Element;
172
172
  //#endregion
173
173
  export { ButtonProps as n, Button as t };
174
- //# sourceMappingURL=button-BrRUQsVc.d.mts.map
174
+ //# sourceMappingURL=button-Cr817M3U.d.cts.map
@@ -1,6 +1,6 @@
1
- import * as react55 from "react";
2
- import * as class_variance_authority_types19 from "class-variance-authority/types";
1
+ import * as react130 from "react";
3
2
  import { VariantProps } from "class-variance-authority";
3
+ import * as class_variance_authority_types12 from "class-variance-authority/types";
4
4
 
5
5
  //#region packages/components/ui/button.variants.d.ts
6
6
 
@@ -9,9 +9,9 @@ import { VariantProps } from "class-variance-authority";
9
9
  */
10
10
  declare const buttonVariants: (props?: ({
11
11
  variant?: "default" | "outline" | "link" | "soft" | "ghost" | "subtle" | null | undefined;
12
- color?: "muted" | "primary" | "secondary" | "info" | "success" | "warning" | "danger" | "important" | null | undefined;
12
+ color?: "primary" | "secondary" | "muted" | "info" | "success" | "warning" | "danger" | "important" | null | undefined;
13
13
  size?: "xs" | "sm" | "md" | "lg" | "xl" | "default" | "icon" | null | undefined;
14
- } & class_variance_authority_types19.ClassProp) | undefined) => string;
14
+ } & class_variance_authority_types12.ClassProp) | undefined) => string;
15
15
  type ButtonVariantProps = VariantProps<typeof buttonVariants>;
16
16
  //#endregion
17
17
  //#region packages/components/ui/button.d.ts
@@ -168,7 +168,7 @@ declare function Button({
168
168
  type,
169
169
  innerClassName,
170
170
  ...props
171
- }: ButtonProps): react55.JSX.Element;
171
+ }: ButtonProps): react130.JSX.Element;
172
172
  //#endregion
173
173
  export { ButtonProps as n, Button as t };
174
- //# sourceMappingURL=button-9rG12f55.d.cts.map
174
+ //# sourceMappingURL=button-DuZy_wDo.d.ts.map
@@ -0,0 +1,2 @@
1
+ import{n as e,t}from"./dist-EPxjIRJp.js";import{n,t as r}from"./button.variants-CoSpd71B.js";import{Loader2Icon as i}from"lucide-react";import{cn as a}from"@customafk/react-toolkit/utils";import{jsx as o,jsxs as s}from"react/jsx-runtime";function c({className:c,variant:l,size:u=`default`,color:d,asChild:f=!1,isLoading:p=!1,children:m,disabled:h,type:g=`button`,innerClassName:_,...v}){let y=f?t:`button`,b=h||p;return s(y,{...f?void 0:{type:g,disabled:b},"data-slot":`button`,"data-state":p?`loading`:void 0,"aria-disabled":b?!0:void 0,"aria-busy":p?!0:void 0,className:a(n({variant:l,size:u,color:d,className:c})),...v,children:[p&&s(`div`,{className:r({variant:l,color:d}),children:[o(i,{size:16,className:`animate-spin`}),o(`span`,{className:`sr-only`,children:`Loading`})]}),f?o(e,{children:m}):o(`div`,{className:a(`inline-flex items-center justify-center gap-x-1`,p&&`invisible pointer-events-none`,_),children:m})]})}export{c as t};
2
+ //# sourceMappingURL=button-LMMbL-uH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-LMMbL-uH.js","names":[],"sources":["../packages/components/ui/button.tsx"],"sourcesContent":["'use client';\n\nimport { Loader2Icon } from 'lucide-react';\nimport { Slot, Slottable } from '@radix-ui/react-slot';\nimport { cn } from '@customafk/react-toolkit/utils';\nimport { type ButtonVariantProps, buttonLoadingVariant, buttonVariants } from './button.variants';\n\n/**\n * Props for the {@link Button} component.\n *\n * Extends all native `<button>` attributes except `color`, which is\n * re-declared as a semantic design-token via {@link ButtonVariantProps}.\n *\n * @see {@link https://www.radix-ui.com/primitives/docs/utilities/slot} Radix Slot (asChild pattern)\n */\nexport interface ButtonProps extends Omit<React.ComponentProps<'button'>, 'color'> {\n /**\n * When `true`, renders children through Radix's `<Slot>` primitive,\n * merging all button props directly onto the child element.\n *\n * Use this to swap the rendered HTML element while keeping button styling\n * (e.g. render a Next.js `<Link>` that looks like a button).\n *\n * @default false\n * @example\n * ```tsx\n * <Button asChild variant=\"ghost\">\n * <Link href=\"/dashboard\">Go to Dashboard</Link>\n * </Button>\n * ```\n */\n asChild?: boolean;\n\n /**\n * When `true`, shows an animated `Loader2` spinner overlay and sets\n * `aria-busy=\"true\"`. The button is implicitly disabled while loading —\n * no separate `disabled` prop is needed for loading states.\n *\n * @default false\n */\n isLoading?: boolean;\n\n /**\n * Visual style variant of the button.\n *\n * | Value | Description |\n * |---|---|\n * | `\"default\"` | Filled surface — primary call-to-action (default) |\n * | `\"outline\"` | Transparent background with a visible border |\n * | `\"ghost\"` | No background or border — minimal footprint |\n * | `\"link\"` | Styled as an underlined hyperlink |\n * | `\"icon\"` | Square, padding-free — icon-only buttons |\n * | `\"destructive\"` | Red-toned filled surface for danger actions |\n *\n * @default \"default\"\n */\n variant?: ButtonVariantProps['variant'];\n\n /**\n * Semantic color token applied to the button's surface and text.\n *\n * | Value | Usage |\n * |---|---|\n * | `\"primary\"` | Brand primary (default) |\n * | `\"success\"` | Confirmation / save actions |\n * | `\"danger\"` | Destructive / delete actions |\n * | `\"warning\"` | Cautionary / irreversible actions |\n * | `\"muted\"` | Secondary / low-emphasis actions |\n *\n * @default \"primary\"\n */\n color?: ButtonVariantProps['color'];\n\n /**\n * Controls height, horizontal padding, and font size.\n *\n * | Value | Height |\n * |---|---|\n * | `\"sm\"` | 32 px |\n * | `\"default\"` | 36 px |\n * | `\"lg\"` | 40 px |\n * | `\"icon\"` | 36 × 36 px (square) |\n *\n * @default \"default\"\n */\n size?: ButtonVariantProps['size'];\n\n /**\n * Additional class names applied to the inner `<div>` that wraps `children`.\n * Use this to style the children's flex container without overriding the\n * button's outer layout or focus-ring classes.\n */\n innerClassName?: string;\n}\n\n/**\n * Primary interactive button component for `@customafk/lunas-ui`.\n *\n * Built on Radix UI's `<Slot>` primitive. Supports multiple visual variants,\n * semantic color tokens, a built-in loading state with full accessibility\n * attributes, and polymorphic rendering via `asChild`. All native `<button>`\n * attributes are forwarded to the underlying element.\n *\n * **Import:** `import { Button } from '@customafk/lunas-ui/ui/button'`\n *\n * @example Basic usage\n * ```tsx\n * import { Button } from '@customafk/lunas-ui/ui/button';\n *\n * export function SaveAction() {\n * return <Button color=\"primary\">Save changes</Button>;\n * }\n * ```\n *\n * @example Async loading state\n * ```tsx\n * import { Button } from '@customafk/lunas-ui/ui/button';\n *\n * export function SubmitButton({ isPending }: { isPending: boolean }) {\n * return (\n * <Button type=\"submit\" isLoading={isPending}>\n * Submit\n * </Button>\n * );\n * }\n * ```\n *\n * @example Destructive outline button\n * ```tsx\n * import { Button } from '@customafk/lunas-ui/ui/button';\n *\n * export function DeleteButton({ onDelete }: { onDelete: () => void }) {\n * return (\n * <Button variant=\"outline\" color=\"danger\" onClick={onDelete}>\n * Delete account\n * </Button>\n * );\n * }\n * ```\n *\n * @example Polymorphic — render as Next.js Link\n * ```tsx\n * import { Button } from '@customafk/lunas-ui/ui/button';\n * import Link from 'next/link';\n *\n * export function NavLink() {\n * return (\n * <Button asChild variant=\"ghost\" size=\"sm\">\n * <Link href=\"/settings\">Settings</Link>\n * </Button>\n * );\n * }\n * ```\n */\nfunction Button({\n className,\n variant,\n size = 'default',\n color,\n asChild = false,\n isLoading = false,\n children,\n disabled,\n type = 'button',\n innerClassName,\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot : 'button';\n const isDisabled = disabled || isLoading;\n\n return (\n <Comp\n {...(!asChild ? { type, disabled: isDisabled } : undefined)}\n data-slot=\"button\"\n data-state={isLoading ? 'loading' : undefined}\n aria-disabled={isDisabled ? true : undefined}\n aria-busy={isLoading ? true : undefined}\n className={cn(\n buttonVariants({\n variant,\n size,\n color,\n className,\n })\n )}\n {...props}\n >\n {isLoading && (\n <div className={buttonLoadingVariant({ variant, color })}>\n <Loader2Icon size={16} className=\"animate-spin\" />\n <span className=\"sr-only\">Loading</span>\n </div>\n )}\n {asChild ? (\n <Slottable>{children}</Slottable>\n ) : (\n <div className={cn('inline-flex items-center justify-center gap-x-1', isLoading && 'invisible pointer-events-none', innerClassName)}>{children}</div>\n )}\n </Comp>\n );\n}\n\nexport { Button };\n"],"mappings":"8OA0JA,SAAS,EAAO,CACd,YACA,UACA,OAAO,UACP,QACA,UAAU,GACV,YAAY,GACZ,WACA,WACA,OAAO,SACP,iBACA,GAAG,GACW,CACd,IAAM,EAAO,EAAU,EAAO,SACxB,EAAa,GAAY,EAE/B,OACE,EAAC,EAAA,CACC,GAAM,EAA2C,IAAA,GAAjC,CAAE,OAAM,SAAU,EAAY,CAC9C,YAAU,SACV,aAAY,EAAY,UAAY,IAAA,GACpC,gBAAe,EAAa,GAAO,IAAA,GACnC,YAAW,EAAY,GAAO,IAAA,GAC9B,UAAW,EACT,EAAe,CACb,UACA,OACA,QACA,YACD,CAAC,CACH,CACD,GAAI,YAEH,GACC,EAAC,MAAA,CAAI,UAAW,EAAqB,CAAE,UAAS,QAAO,CAAC,WACtD,EAAC,EAAA,CAAY,KAAM,GAAI,UAAU,gBAAiB,CAClD,EAAC,OAAA,CAAK,UAAU,mBAAU,WAAc,CAAA,EACpC,CAEP,EACC,EAAC,EAAA,CAAW,WAAA,CAAqB,CAEjC,EAAC,MAAA,CAAI,UAAW,EAAG,kDAAmD,GAAa,gCAAiC,EAAe,CAAG,YAAe,CAAA,EAElJ"}
@@ -1,2 +1,2 @@
1
1
  import{cva as e}from"class-variance-authority";const t=e([`pointer-events-none absolute inset-0 z-10 flex cursor-default items-center justify-center rounded-sm`],{variants:{variant:{default:``,outline:``,soft:``,subtle:``,ghost:``,link:``},color:{primary:``,secondary:``,muted:``,success:``,important:``,info:``,warning:``,danger:``}},compoundVariants:[{variant:`default`,color:`primary`,className:`bg-primary-weak`},{variant:`default`,color:`secondary`,className:`bg-secondary-weak`},{variant:`default`,color:`muted`,className:`bg-muted-weak`},{variant:`default`,color:`success`,className:`bg-success-weak`},{variant:`default`,color:`important`,className:`bg-important-weak`},{variant:`default`,color:`info`,className:`bg-info-weak`},{variant:`default`,color:`warning`,className:`bg-warning-weak`},{variant:`default`,color:`danger`,className:`bg-danger-weak`},{variant:`outline`,color:`primary`,className:`bg-card outline-1 outline-primary-weak`},{variant:`outline`,color:`secondary`,className:`bg-card outline-1 outline-secondary-weak`},{variant:`outline`,color:`muted`,className:`bg-card outline-1 outline-muted-weak`},{variant:`outline`,color:`success`,className:`bg-card outline-1 outline-success-weak`},{variant:`outline`,color:`important`,className:`bg-card outline-1 outline-important-weak`},{variant:`outline`,color:`info`,className:`bg-card outline-1 outline-info-weak`},{variant:`outline`,color:`warning`,className:`bg-card outline-1 outline-warning-weak`},{variant:`outline`,color:`danger`,className:`bg-card outline-1 outline-danger-weak`},{variant:`soft`,color:`primary`,className:`bg-primary-bg-subtle`},{variant:`soft`,color:`secondary`,className:`bg-secondary-bg-subtle`},{variant:`soft`,color:`muted`,className:`bg-muted-bg-subtle`},{variant:`soft`,color:`success`,className:`bg-success-bg-subtle`},{variant:`soft`,color:`important`,className:`bg-important-bg-subtle`},{variant:`soft`,color:`info`,className:`bg-info-bg-subtle`},{variant:`soft`,color:`warning`,className:`bg-warning-bg-subtle`},{variant:`soft`,color:`danger`,className:`bg-danger-bg-subtle`},{variant:`subtle`,color:`primary`,className:`bg-primary-bg-subtle outline-1 outline-primary-weak`},{variant:`subtle`,color:`secondary`,className:`bg-secondary-bg-subtle outline-1 outline-secondary-weak`},{variant:`subtle`,color:`muted`,className:`bg-muted-bg-subtle outline-1 outline-border-weak`},{variant:`subtle`,color:`success`,className:`bg-success-bg-subtle outline-1 outline-success-weak`},{variant:`subtle`,color:`important`,className:`bg-important-bg-subtle outline-1 outline-important-weak`},{variant:`subtle`,color:`info`,className:`bg-info-bg-subtle outline-1 outline-info-weak`},{variant:`subtle`,color:`warning`,className:`bg-warning-bg-subtle outline-1 outline-warning-weak`},{variant:`subtle`,color:`danger`,className:`bg-danger-bg-subtle outline-1 outline-danger-weak`},{variant:`ghost`,color:`primary`,className:`bg-primary-bg-subtle`},{variant:`ghost`,color:`secondary`,className:`bg-secondary-bg-subtle`},{variant:`ghost`,color:`muted`,className:`bg-muted-bg-subtle`},{variant:`ghost`,color:`success`,className:`bg-success-bg-subtle`},{variant:`ghost`,color:`important`,className:`bg-important-bg-subtle`},{variant:`ghost`,color:`info`,className:`bg-info-bg-subtle`},{variant:`ghost`,color:`warning`,className:`bg-warning-bg-subtle`},{variant:`ghost`,color:`danger`,className:`bg-danger-bg-subtle`}]}),n=e([`relative cursor-pointer rounded-sm transition-[color,background-color,border-color,box-shadow,opacity] duration-150 ease-in-out`,`whitespace-normal`,`inline-flex items-center justify-center`,`[&_svg]:pointer-events-none`,`[&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,`disabled:pointer-events-none disabled:cursor-default disabled:opacity-60`,`data-[state=loading]:pointer-events-none data-[state=loading]:cursor-default`],{variants:{variant:{default:`border border-transparent outline-none shadow-btn`,outline:`border bg-card outline-none`,soft:`outline-none outline-0`,subtle:`border border-transparent outline-1 -outline-offset-1`,ghost:`border border-transparent outline-none`,link:`border border-transparent outline-none`},color:{primary:``,secondary:``,muted:``,success:``,important:``,info:``,warning:``,danger:``},size:{default:`px-2.5 py-1.5 font-medium text-sm leading-5`,xs:`px-2 py-1 font-medium text-xs leading-4`,sm:`px-2.5 py-1.5 font-medium text-xs leading-4`,md:`px-2.5 py-1.5 font-medium text-sm leading-5`,lg:`px-3 py-2 font-medium text-sm leading-5`,xl:`px-3 py-2 font-medium text-base leading-6`,icon:`size-8`}},defaultVariants:{variant:`default`,color:`primary`,size:`default`},compoundVariants:[{variant:`default`,color:`primary`,className:`bg-primary text-primary-foreground hover:bg-primary-strong focus:ring-2 focus:ring-primary focus:ring-offset-2`},{variant:`default`,color:`secondary`,className:`bg-secondary text-secondary-foreground hover:bg-secondary-strong focus:ring-2 focus:ring-secondary focus:ring-offset-2`},{variant:`default`,color:`muted`,className:`bg-muted text-text-negative hover:opacity-80 focus:ring-2 focus:ring-muted focus:ring-offset-2`},{variant:`default`,color:`success`,className:`bg-success text-success-foreground hover:bg-success-strong focus:ring-2 focus:ring-success focus:ring-offset-2`},{variant:`default`,color:`important`,className:`bg-important text-text-negative hover:opacity-80 focus:ring-2 focus:ring-important focus:ring-offset-2`},{variant:`default`,color:`info`,className:`bg-info text-info-foreground hover:bg-info-strong focus:ring-2 focus:ring-info focus:ring-offset-2`},{variant:`default`,color:`warning`,className:`bg-warning text-warning-foreground hover:bg-warning-strong focus:ring-2 focus:ring-warning focus:ring-offset-2`},{variant:`default`,color:`danger`,className:`bg-danger text-danger-foreground hover:bg-danger-strong focus:ring-2 focus:ring-danger focus:ring-offset-2`},{variant:`outline`,color:`primary`,className:`border-primary text-primary hover:bg-primary-bg-subtle focus:border-primary-strong focus:ring-2 focus:ring-primary-weak`},{variant:`outline`,color:`secondary`,className:`border-secondary text-secondary hover:bg-secondary-muted focus:border-secondary focus:ring-2 focus:ring-secondary-weak`},{variant:`outline`,color:`muted`,className:`border-muted-weak text-muted hover:bg-muted-muted focus:border-muted-weak focus:ring-2 focus:ring-muted-weak`},{variant:`outline`,color:`success`,className:`border-success text-success hover:bg-success-muted focus:border-success-strong focus:ring-2 focus:ring-success-weak`},{variant:`outline`,color:`important`,className:`border-important text-important hover:bg-important-muted focus:border-important-strong focus:ring-2 focus:ring-important-weak`},{variant:`outline`,color:`info`,className:`border-info text-info hover:bg-info-muted focus:border-info-strong focus:ring-2 focus:ring-info-weak`},{variant:`outline`,color:`warning`,className:`border-warning text-warning hover:bg-warning-muted focus:border-warning-strong focus:ring-2 focus:ring-warning-weak`},{variant:`outline`,color:`danger`,className:`border-danger text-danger hover:bg-danger-muted focus:border-danger-strong focus:ring-2 focus:ring-danger-weak`},{variant:`soft`,color:`primary`,className:`bg-primary-bg-subtle text-primary hover:bg-primary-muted hover:text-primary-strong focus:bg-primary-weak`},{variant:`soft`,color:`secondary`,className:`bg-secondary-bg-subtle text-secondary hover:bg-secondary-muted hover:text-secondary-strong focus:bg-secondary-weak`},{variant:`soft`,color:`muted`,className:`bg-muted-bg-subtle text-muted hover:bg-muted-muted hover:text-muted-strong focus:bg-muted-weak`},{variant:`soft`,color:`success`,className:`bg-success-bg-subtle text-success hover:bg-success-muted hover:text-success-strong focus:bg-success-weak`},{variant:`soft`,color:`important`,className:`bg-important-bg-subtle text-important hover:bg-important-muted hover:text-important-strong focus:bg-important-weak`},{variant:`soft`,color:`info`,className:`bg-info-bg-subtle text-info hover:bg-info-muted hover:text-info-strong focus:bg-info-weak`},{variant:`soft`,color:`warning`,className:`bg-warning-bg-subtle text-warning hover:bg-warning-muted hover:text-warning-strong focus:bg-warning-weak`},{variant:`soft`,color:`danger`,className:`bg-danger-bg-subtle text-danger hover:bg-danger-muted hover:text-danger-strong focus:bg-danger-weak`},{variant:`subtle`,color:`primary`,className:`bg-primary-bg-subtle text-primary outline-primary hover:bg-primary-bg-subtle focus:outline-2 focus:outline-primary`},{variant:`subtle`,color:`secondary`,className:`bg-secondary-bg-subtle text-secondary outline-secondary hover:bg-secondary-bg-subtle focus:outline-2 focus:outline-secondary`},{variant:`subtle`,color:`muted`,className:`bg-muted-bg-subtle text-muted outline-border hover:bg-muted-bg-subtle focus:outline-2 focus:outline-border`},{variant:`subtle`,color:`success`,className:`bg-success-bg-subtle text-success outline-success hover:bg-success-bg-subtle focus:outline-2 focus:outline-success`},{variant:`subtle`,color:`important`,className:`bg-important-bg-subtle text-important outline-important hover:bg-important-bg-subtle focus:outline-2 focus:outline-important`},{variant:`subtle`,color:`info`,className:`bg-info-bg-subtle text-info outline-info hover:bg-info-bg-subtle focus:outline-2 focus:outline-info`},{variant:`subtle`,color:`warning`,className:`bg-warning-bg-subtle text-warning outline-warning hover:bg-warning-bg-subtle focus:outline-2 focus:outline-warning`},{variant:`subtle`,color:`danger`,className:`bg-danger-bg-subtle text-danger outline-danger hover:bg-danger-bg-subtle focus:outline-2 focus:outline-danger`},{variant:`ghost`,color:`primary`,className:`text-primary hover:bg-primary-bg-subtle focus:bg-primary-muted`},{variant:`ghost`,color:`secondary`,className:`text-text-positive-weak hover:bg-secondary-bg-subtle focus:bg-secondary-muted`},{variant:`ghost`,color:`muted`,className:`text-text-positive-weak hover:bg-muted-bg-subtle focus:bg-muted-muted`},{variant:`ghost`,color:`success`,className:`text-success hover:bg-success-bg-subtle focus:bg-success-muted`},{variant:`ghost`,color:`important`,className:`text-important hover:bg-important-bg-subtle focus:bg-important-muted`},{variant:`ghost`,color:`info`,className:`text-info hover:bg-info-bg-subtle focus:bg-info-muted`},{variant:`ghost`,color:`warning`,className:`text-warning hover:bg-warning-bg-subtle focus:bg-warning-muted`},{variant:`ghost`,color:`danger`,className:`text-danger hover:bg-danger-bg-subtle focus:bg-danger-muted`},{variant:`link`,color:`primary`,className:`text-primary focus:ring-2 focus:ring-primary focus:ring-offset-2`},{variant:`link`,color:`secondary`,className:`text-secondary focus:ring-2 focus:ring-secondary focus:ring-offset-2`},{variant:`link`,color:`muted`,className:`text-muted focus:ring-2 focus:ring-muted focus:ring-offset-2`},{variant:`link`,color:`success`,className:`text-success focus:ring-2 focus:ring-success focus:ring-offset-2`},{variant:`link`,color:`important`,className:`text-important focus:ring-2 focus:ring-important focus:ring-offset-2`},{variant:`link`,color:`info`,className:`text-info focus:ring-2 focus:ring-info focus:ring-offset-2`},{variant:`link`,color:`warning`,className:`text-warning focus:ring-2 focus:ring-warning focus:ring-offset-2`},{variant:`link`,color:`danger`,className:`text-danger focus:ring-2 focus:ring-danger focus:ring-offset-2`}]});export{n,t};
2
- //# sourceMappingURL=button.variants-DkMqWB8G.mjs.map
2
+ //# sourceMappingURL=button.variants-CoSpd71B.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.variants-CoSpd71B.js","names":[],"sources":["../packages/components/ui/button.variants.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const buttonLoadingVariant = cva(['pointer-events-none absolute inset-0 z-10 flex cursor-default items-center justify-center rounded-sm'], {\n variants: {\n variant: {\n default: '',\n outline: '',\n soft: '',\n subtle: '',\n ghost: '',\n link: '',\n },\n color: {\n primary: '',\n secondary: '',\n muted: '',\n success: '',\n important: '',\n info: '',\n warning: '',\n danger: '',\n },\n },\n compoundVariants: [\n {\n variant: 'default',\n color: 'primary',\n className: 'bg-primary-weak',\n },\n {\n variant: 'default',\n color: 'secondary',\n className: 'bg-secondary-weak',\n },\n { variant: 'default', color: 'muted', className: 'bg-muted-weak' },\n {\n variant: 'default',\n color: 'success',\n className: 'bg-success-weak',\n },\n {\n variant: 'default',\n color: 'important',\n className: 'bg-important-weak',\n },\n {\n variant: 'default',\n color: 'info',\n className: 'bg-info-weak',\n },\n {\n variant: 'default',\n color: 'warning',\n className: 'bg-warning-weak',\n },\n {\n variant: 'default',\n color: 'danger',\n className: 'bg-danger-weak',\n },\n {\n variant: 'outline',\n color: 'primary',\n className: 'bg-card outline-1 outline-primary-weak',\n },\n {\n variant: 'outline',\n color: 'secondary',\n className: 'bg-card outline-1 outline-secondary-weak',\n },\n {\n variant: 'outline',\n color: 'muted',\n className: 'bg-card outline-1 outline-muted-weak',\n },\n {\n variant: 'outline',\n color: 'success',\n className: 'bg-card outline-1 outline-success-weak',\n },\n {\n variant: 'outline',\n color: 'important',\n className: 'bg-card outline-1 outline-important-weak',\n },\n {\n variant: 'outline',\n color: 'info',\n className: 'bg-card outline-1 outline-info-weak',\n },\n {\n variant: 'outline',\n color: 'warning',\n className: 'bg-card outline-1 outline-warning-weak',\n },\n {\n variant: 'outline',\n color: 'danger',\n className: 'bg-card outline-1 outline-danger-weak',\n },\n {\n variant: 'soft',\n color: 'primary',\n className: 'bg-primary-bg-subtle',\n },\n {\n variant: 'soft',\n color: 'secondary',\n className: 'bg-secondary-bg-subtle',\n },\n {\n variant: 'soft',\n color: 'muted',\n className: 'bg-muted-bg-subtle',\n },\n {\n variant: 'soft',\n color: 'success',\n className: 'bg-success-bg-subtle',\n },\n {\n variant: 'soft',\n color: 'important',\n className: 'bg-important-bg-subtle',\n },\n {\n variant: 'soft',\n color: 'info',\n className: 'bg-info-bg-subtle',\n },\n {\n variant: 'soft',\n color: 'warning',\n className: 'bg-warning-bg-subtle',\n },\n {\n variant: 'soft',\n color: 'danger',\n className: 'bg-danger-bg-subtle',\n },\n {\n variant: 'subtle',\n color: 'primary',\n className: 'bg-primary-bg-subtle outline-1 outline-primary-weak',\n },\n {\n variant: 'subtle',\n color: 'secondary',\n className: 'bg-secondary-bg-subtle outline-1 outline-secondary-weak',\n },\n {\n variant: 'subtle',\n color: 'muted',\n className: 'bg-muted-bg-subtle outline-1 outline-border-weak',\n },\n {\n variant: 'subtle',\n color: 'success',\n className: 'bg-success-bg-subtle outline-1 outline-success-weak',\n },\n {\n variant: 'subtle',\n color: 'important',\n className: 'bg-important-bg-subtle outline-1 outline-important-weak',\n },\n {\n variant: 'subtle',\n color: 'info',\n className: 'bg-info-bg-subtle outline-1 outline-info-weak',\n },\n {\n variant: 'subtle',\n color: 'warning',\n className: 'bg-warning-bg-subtle outline-1 outline-warning-weak',\n },\n {\n variant: 'subtle',\n color: 'danger',\n className: 'bg-danger-bg-subtle outline-1 outline-danger-weak',\n },\n {\n variant: 'ghost',\n color: 'primary',\n className: 'bg-primary-bg-subtle',\n },\n {\n variant: 'ghost',\n color: 'secondary',\n className: 'bg-secondary-bg-subtle',\n },\n {\n variant: 'ghost',\n color: 'muted',\n className: 'bg-muted-bg-subtle',\n },\n {\n variant: 'ghost',\n color: 'success',\n className: 'bg-success-bg-subtle',\n },\n {\n variant: 'ghost',\n color: 'important',\n className: 'bg-important-bg-subtle',\n },\n {\n variant: 'ghost',\n color: 'info',\n className: 'bg-info-bg-subtle',\n },\n {\n variant: 'ghost',\n color: 'warning',\n className: 'bg-warning-bg-subtle',\n },\n {\n variant: 'ghost',\n color: 'danger',\n className: 'bg-danger-bg-subtle',\n },\n ],\n});\n\n/**\n * Button variants definition for styling using class-variance-authority\n */\nexport const buttonVariants = cva(\n [\n 'relative cursor-pointer rounded-sm transition-[color,background-color,border-color,box-shadow,opacity] duration-150 ease-in-out',\n 'whitespace-normal',\n 'inline-flex items-center justify-center',\n '[&_svg]:pointer-events-none',\n '[&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n 'disabled:pointer-events-none disabled:cursor-default disabled:opacity-60',\n 'data-[state=loading]:pointer-events-none data-[state=loading]:cursor-default',\n ],\n {\n variants: {\n variant: {\n default: 'border border-transparent outline-none shadow-btn',\n outline: 'border bg-card outline-none',\n soft: 'outline-none outline-0',\n subtle: 'border border-transparent outline-1 -outline-offset-1',\n ghost: 'border border-transparent outline-none',\n link: 'border border-transparent outline-none',\n },\n color: {\n primary: '',\n secondary: '',\n muted: '',\n success: '',\n important: '',\n info: '',\n warning: '',\n danger: '',\n },\n size: {\n default: 'px-2.5 py-1.5 font-medium text-sm leading-5',\n xs: 'px-2 py-1 font-medium text-xs leading-4',\n sm: 'px-2.5 py-1.5 font-medium text-xs leading-4',\n md: 'px-2.5 py-1.5 font-medium text-sm leading-5',\n lg: 'px-3 py-2 font-medium text-sm leading-5',\n xl: 'px-3 py-2 font-medium text-base leading-6',\n icon: 'size-8',\n },\n },\n defaultVariants: {\n variant: 'default',\n color: 'primary',\n size: 'default',\n },\n compoundVariants: [\n {\n variant: 'default',\n color: 'primary',\n className: 'bg-primary text-primary-foreground hover:bg-primary-strong focus:ring-2 focus:ring-primary focus:ring-offset-2',\n },\n {\n variant: 'default',\n color: 'secondary',\n className: 'bg-secondary text-secondary-foreground hover:bg-secondary-strong focus:ring-2 focus:ring-secondary focus:ring-offset-2',\n },\n {\n variant: 'default',\n color: 'muted',\n className: 'bg-muted text-text-negative hover:opacity-80 focus:ring-2 focus:ring-muted focus:ring-offset-2',\n },\n {\n variant: 'default',\n color: 'success',\n className: 'bg-success text-success-foreground hover:bg-success-strong focus:ring-2 focus:ring-success focus:ring-offset-2',\n },\n {\n variant: 'default',\n color: 'important',\n className: 'bg-important text-text-negative hover:opacity-80 focus:ring-2 focus:ring-important focus:ring-offset-2',\n },\n {\n variant: 'default',\n color: 'info',\n className: 'bg-info text-info-foreground hover:bg-info-strong focus:ring-2 focus:ring-info focus:ring-offset-2',\n },\n {\n variant: 'default',\n color: 'warning',\n className: 'bg-warning text-warning-foreground hover:bg-warning-strong focus:ring-2 focus:ring-warning focus:ring-offset-2',\n },\n {\n variant: 'default',\n color: 'danger',\n className: 'bg-danger text-danger-foreground hover:bg-danger-strong focus:ring-2 focus:ring-danger focus:ring-offset-2',\n },\n {\n variant: 'outline',\n color: 'primary',\n className: 'border-primary text-primary hover:bg-primary-bg-subtle focus:border-primary-strong focus:ring-2 focus:ring-primary-weak',\n },\n {\n variant: 'outline',\n color: 'secondary',\n className: 'border-secondary text-secondary hover:bg-secondary-muted focus:border-secondary focus:ring-2 focus:ring-secondary-weak',\n },\n {\n variant: 'outline',\n color: 'muted',\n className: 'border-muted-weak text-muted hover:bg-muted-muted focus:border-muted-weak focus:ring-2 focus:ring-muted-weak',\n },\n {\n variant: 'outline',\n color: 'success',\n className: 'border-success text-success hover:bg-success-muted focus:border-success-strong focus:ring-2 focus:ring-success-weak',\n },\n {\n variant: 'outline',\n color: 'important',\n className: 'border-important text-important hover:bg-important-muted focus:border-important-strong focus:ring-2 focus:ring-important-weak',\n },\n {\n variant: 'outline',\n color: 'info',\n className: 'border-info text-info hover:bg-info-muted focus:border-info-strong focus:ring-2 focus:ring-info-weak',\n },\n {\n variant: 'outline',\n color: 'warning',\n className: 'border-warning text-warning hover:bg-warning-muted focus:border-warning-strong focus:ring-2 focus:ring-warning-weak',\n },\n {\n variant: 'outline',\n color: 'danger',\n className: 'border-danger text-danger hover:bg-danger-muted focus:border-danger-strong focus:ring-2 focus:ring-danger-weak',\n },\n {\n variant: 'soft',\n color: 'primary',\n className: 'bg-primary-bg-subtle text-primary hover:bg-primary-muted hover:text-primary-strong focus:bg-primary-weak',\n },\n {\n variant: 'soft',\n color: 'secondary',\n className: 'bg-secondary-bg-subtle text-secondary hover:bg-secondary-muted hover:text-secondary-strong focus:bg-secondary-weak',\n },\n {\n variant: 'soft',\n color: 'muted',\n className: 'bg-muted-bg-subtle text-muted hover:bg-muted-muted hover:text-muted-strong focus:bg-muted-weak',\n },\n {\n variant: 'soft',\n color: 'success',\n className: 'bg-success-bg-subtle text-success hover:bg-success-muted hover:text-success-strong focus:bg-success-weak',\n },\n {\n variant: 'soft',\n color: 'important',\n className: 'bg-important-bg-subtle text-important hover:bg-important-muted hover:text-important-strong focus:bg-important-weak',\n },\n {\n variant: 'soft',\n color: 'info',\n className: 'bg-info-bg-subtle text-info hover:bg-info-muted hover:text-info-strong focus:bg-info-weak',\n },\n {\n variant: 'soft',\n color: 'warning',\n className: 'bg-warning-bg-subtle text-warning hover:bg-warning-muted hover:text-warning-strong focus:bg-warning-weak',\n },\n {\n variant: 'soft',\n color: 'danger',\n className: 'bg-danger-bg-subtle text-danger hover:bg-danger-muted hover:text-danger-strong focus:bg-danger-weak',\n },\n {\n variant: 'subtle',\n color: 'primary',\n className: 'bg-primary-bg-subtle text-primary outline-primary hover:bg-primary-bg-subtle focus:outline-2 focus:outline-primary',\n },\n {\n variant: 'subtle',\n color: 'secondary',\n className: 'bg-secondary-bg-subtle text-secondary outline-secondary hover:bg-secondary-bg-subtle focus:outline-2 focus:outline-secondary',\n },\n {\n variant: 'subtle',\n color: 'muted',\n className: 'bg-muted-bg-subtle text-muted outline-border hover:bg-muted-bg-subtle focus:outline-2 focus:outline-border',\n },\n {\n variant: 'subtle',\n color: 'success',\n className: 'bg-success-bg-subtle text-success outline-success hover:bg-success-bg-subtle focus:outline-2 focus:outline-success',\n },\n {\n variant: 'subtle',\n color: 'important',\n className: 'bg-important-bg-subtle text-important outline-important hover:bg-important-bg-subtle focus:outline-2 focus:outline-important',\n },\n {\n variant: 'subtle',\n color: 'info',\n className: 'bg-info-bg-subtle text-info outline-info hover:bg-info-bg-subtle focus:outline-2 focus:outline-info',\n },\n {\n variant: 'subtle',\n color: 'warning',\n className: 'bg-warning-bg-subtle text-warning outline-warning hover:bg-warning-bg-subtle focus:outline-2 focus:outline-warning',\n },\n {\n variant: 'subtle',\n color: 'danger',\n className: 'bg-danger-bg-subtle text-danger outline-danger hover:bg-danger-bg-subtle focus:outline-2 focus:outline-danger',\n },\n {\n variant: 'ghost',\n color: 'primary',\n className: 'text-primary hover:bg-primary-bg-subtle focus:bg-primary-muted',\n },\n {\n variant: 'ghost',\n color: 'secondary',\n className: 'text-text-positive-weak hover:bg-secondary-bg-subtle focus:bg-secondary-muted',\n },\n {\n variant: 'ghost',\n color: 'muted',\n className: 'text-text-positive-weak hover:bg-muted-bg-subtle focus:bg-muted-muted',\n },\n {\n variant: 'ghost',\n color: 'success',\n className: 'text-success hover:bg-success-bg-subtle focus:bg-success-muted',\n },\n {\n variant: 'ghost',\n color: 'important',\n className: 'text-important hover:bg-important-bg-subtle focus:bg-important-muted',\n },\n {\n variant: 'ghost',\n color: 'info',\n className: 'text-info hover:bg-info-bg-subtle focus:bg-info-muted',\n },\n {\n variant: 'ghost',\n color: 'warning',\n className: 'text-warning hover:bg-warning-bg-subtle focus:bg-warning-muted',\n },\n {\n variant: 'ghost',\n color: 'danger',\n className: 'text-danger hover:bg-danger-bg-subtle focus:bg-danger-muted',\n },\n {\n variant: 'link',\n color: 'primary',\n className: 'text-primary focus:ring-2 focus:ring-primary focus:ring-offset-2',\n },\n {\n variant: 'link',\n color: 'secondary',\n className: 'text-secondary focus:ring-2 focus:ring-secondary focus:ring-offset-2',\n },\n {\n variant: 'link',\n color: 'muted',\n className: 'text-muted focus:ring-2 focus:ring-muted focus:ring-offset-2',\n },\n {\n variant: 'link',\n color: 'success',\n className: 'text-success focus:ring-2 focus:ring-success focus:ring-offset-2',\n },\n {\n variant: 'link',\n color: 'important',\n className: 'text-important focus:ring-2 focus:ring-important focus:ring-offset-2',\n },\n {\n variant: 'link',\n color: 'info',\n className: 'text-info focus:ring-2 focus:ring-info focus:ring-offset-2',\n },\n {\n variant: 'link',\n color: 'warning',\n className: 'text-warning focus:ring-2 focus:ring-warning focus:ring-offset-2',\n },\n {\n variant: 'link',\n color: 'danger',\n className: 'text-danger focus:ring-2 focus:ring-danger focus:ring-offset-2',\n },\n ],\n }\n);\n\nexport type ButtonVariantProps = VariantProps<typeof buttonVariants>;\n"],"mappings":"+CAEA,MAAa,EAAuB,EAAI,CAAC,uGAAuG,CAAE,CAChJ,SAAU,CACR,QAAS,CACP,QAAS,GACT,QAAS,GACT,KAAM,GACN,OAAQ,GACR,MAAO,GACP,KAAM,GACP,CACD,MAAO,CACL,QAAS,GACT,UAAW,GACX,MAAO,GACP,QAAS,GACT,UAAW,GACX,KAAM,GACN,QAAS,GACT,OAAQ,GACT,CACF,CACD,iBAAkB,CAChB,CACE,QAAS,UACT,MAAO,UACP,UAAW,kBACZ,CACD,CACE,QAAS,UACT,MAAO,YACP,UAAW,oBACZ,CACD,CAAE,QAAS,UAAW,MAAO,QAAS,UAAW,gBAAiB,CAClE,CACE,QAAS,UACT,MAAO,UACP,UAAW,kBACZ,CACD,CACE,QAAS,UACT,MAAO,YACP,UAAW,oBACZ,CACD,CACE,QAAS,UACT,MAAO,OACP,UAAW,eACZ,CACD,CACE,QAAS,UACT,MAAO,UACP,UAAW,kBACZ,CACD,CACE,QAAS,UACT,MAAO,SACP,UAAW,iBACZ,CACD,CACE,QAAS,UACT,MAAO,UACP,UAAW,yCACZ,CACD,CACE,QAAS,UACT,MAAO,YACP,UAAW,2CACZ,CACD,CACE,QAAS,UACT,MAAO,QACP,UAAW,uCACZ,CACD,CACE,QAAS,UACT,MAAO,UACP,UAAW,yCACZ,CACD,CACE,QAAS,UACT,MAAO,YACP,UAAW,2CACZ,CACD,CACE,QAAS,UACT,MAAO,OACP,UAAW,sCACZ,CACD,CACE,QAAS,UACT,MAAO,UACP,UAAW,yCACZ,CACD,CACE,QAAS,UACT,MAAO,SACP,UAAW,wCACZ,CACD,CACE,QAAS,OACT,MAAO,UACP,UAAW,uBACZ,CACD,CACE,QAAS,OACT,MAAO,YACP,UAAW,yBACZ,CACD,CACE,QAAS,OACT,MAAO,QACP,UAAW,qBACZ,CACD,CACE,QAAS,OACT,MAAO,UACP,UAAW,uBACZ,CACD,CACE,QAAS,OACT,MAAO,YACP,UAAW,yBACZ,CACD,CACE,QAAS,OACT,MAAO,OACP,UAAW,oBACZ,CACD,CACE,QAAS,OACT,MAAO,UACP,UAAW,uBACZ,CACD,CACE,QAAS,OACT,MAAO,SACP,UAAW,sBACZ,CACD,CACE,QAAS,SACT,MAAO,UACP,UAAW,sDACZ,CACD,CACE,QAAS,SACT,MAAO,YACP,UAAW,0DACZ,CACD,CACE,QAAS,SACT,MAAO,QACP,UAAW,mDACZ,CACD,CACE,QAAS,SACT,MAAO,UACP,UAAW,sDACZ,CACD,CACE,QAAS,SACT,MAAO,YACP,UAAW,0DACZ,CACD,CACE,QAAS,SACT,MAAO,OACP,UAAW,gDACZ,CACD,CACE,QAAS,SACT,MAAO,UACP,UAAW,sDACZ,CACD,CACE,QAAS,SACT,MAAO,SACP,UAAW,oDACZ,CACD,CACE,QAAS,QACT,MAAO,UACP,UAAW,uBACZ,CACD,CACE,QAAS,QACT,MAAO,YACP,UAAW,yBACZ,CACD,CACE,QAAS,QACT,MAAO,QACP,UAAW,qBACZ,CACD,CACE,QAAS,QACT,MAAO,UACP,UAAW,uBACZ,CACD,CACE,QAAS,QACT,MAAO,YACP,UAAW,yBACZ,CACD,CACE,QAAS,QACT,MAAO,OACP,UAAW,oBACZ,CACD,CACE,QAAS,QACT,MAAO,UACP,UAAW,uBACZ,CACD,CACE,QAAS,QACT,MAAO,SACP,UAAW,sBACZ,CACF,CACF,CAAC,CAKW,EAAiB,EAC5B,CACE,kIACA,oBACA,0CACA,8BACA,mBACA,uCACA,2EACA,+EACD,CACD,CACE,SAAU,CACR,QAAS,CACP,QAAS,oDACT,QAAS,8BACT,KAAM,yBACN,OAAQ,wDACR,MAAO,yCACP,KAAM,yCACP,CACD,MAAO,CACL,QAAS,GACT,UAAW,GACX,MAAO,GACP,QAAS,GACT,UAAW,GACX,KAAM,GACN,QAAS,GACT,OAAQ,GACT,CACD,KAAM,CACJ,QAAS,8CACT,GAAI,0CACJ,GAAI,8CACJ,GAAI,8CACJ,GAAI,0CACJ,GAAI,4CACJ,KAAM,SACP,CACF,CACD,gBAAiB,CACf,QAAS,UACT,MAAO,UACP,KAAM,UACP,CACD,iBAAkB,CAChB,CACE,QAAS,UACT,MAAO,UACP,UAAW,iHACZ,CACD,CACE,QAAS,UACT,MAAO,YACP,UAAW,yHACZ,CACD,CACE,QAAS,UACT,MAAO,QACP,UAAW,iGACZ,CACD,CACE,QAAS,UACT,MAAO,UACP,UAAW,iHACZ,CACD,CACE,QAAS,UACT,MAAO,YACP,UAAW,yGACZ,CACD,CACE,QAAS,UACT,MAAO,OACP,UAAW,qGACZ,CACD,CACE,QAAS,UACT,MAAO,UACP,UAAW,iHACZ,CACD,CACE,QAAS,UACT,MAAO,SACP,UAAW,6GACZ,CACD,CACE,QAAS,UACT,MAAO,UACP,UAAW,0HACZ,CACD,CACE,QAAS,UACT,MAAO,YACP,UAAW,yHACZ,CACD,CACE,QAAS,UACT,MAAO,QACP,UAAW,+GACZ,CACD,CACE,QAAS,UACT,MAAO,UACP,UAAW,sHACZ,CACD,CACE,QAAS,UACT,MAAO,YACP,UAAW,gIACZ,CACD,CACE,QAAS,UACT,MAAO,OACP,UAAW,uGACZ,CACD,CACE,QAAS,UACT,MAAO,UACP,UAAW,sHACZ,CACD,CACE,QAAS,UACT,MAAO,SACP,UAAW,iHACZ,CACD,CACE,QAAS,OACT,MAAO,UACP,UAAW,2GACZ,CACD,CACE,QAAS,OACT,MAAO,YACP,UAAW,qHACZ,CACD,CACE,QAAS,OACT,MAAO,QACP,UAAW,iGACZ,CACD,CACE,QAAS,OACT,MAAO,UACP,UAAW,2GACZ,CACD,CACE,QAAS,OACT,MAAO,YACP,UAAW,qHACZ,CACD,CACE,QAAS,OACT,MAAO,OACP,UAAW,4FACZ,CACD,CACE,QAAS,OACT,MAAO,UACP,UAAW,2GACZ,CACD,CACE,QAAS,OACT,MAAO,SACP,UAAW,sGACZ,CACD,CACE,QAAS,SACT,MAAO,UACP,UAAW,qHACZ,CACD,CACE,QAAS,SACT,MAAO,YACP,UAAW,+HACZ,CACD,CACE,QAAS,SACT,MAAO,QACP,UAAW,6GACZ,CACD,CACE,QAAS,SACT,MAAO,UACP,UAAW,qHACZ,CACD,CACE,QAAS,SACT,MAAO,YACP,UAAW,+HACZ,CACD,CACE,QAAS,SACT,MAAO,OACP,UAAW,sGACZ,CACD,CACE,QAAS,SACT,MAAO,UACP,UAAW,qHACZ,CACD,CACE,QAAS,SACT,MAAO,SACP,UAAW,gHACZ,CACD,CACE,QAAS,QACT,MAAO,UACP,UAAW,iEACZ,CACD,CACE,QAAS,QACT,MAAO,YACP,UAAW,gFACZ,CACD,CACE,QAAS,QACT,MAAO,QACP,UAAW,wEACZ,CACD,CACE,QAAS,QACT,MAAO,UACP,UAAW,iEACZ,CACD,CACE,QAAS,QACT,MAAO,YACP,UAAW,uEACZ,CACD,CACE,QAAS,QACT,MAAO,OACP,UAAW,wDACZ,CACD,CACE,QAAS,QACT,MAAO,UACP,UAAW,iEACZ,CACD,CACE,QAAS,QACT,MAAO,SACP,UAAW,8DACZ,CACD,CACE,QAAS,OACT,MAAO,UACP,UAAW,mEACZ,CACD,CACE,QAAS,OACT,MAAO,YACP,UAAW,uEACZ,CACD,CACE,QAAS,OACT,MAAO,QACP,UAAW,+DACZ,CACD,CACE,QAAS,OACT,MAAO,UACP,UAAW,mEACZ,CACD,CACE,QAAS,OACT,MAAO,YACP,UAAW,uEACZ,CACD,CACE,QAAS,OACT,MAAO,OACP,UAAW,6DACZ,CACD,CACE,QAAS,OACT,MAAO,UACP,UAAW,mEACZ,CACD,CACE,QAAS,OACT,MAAO,SACP,UAAW,iEACZ,CACF,CACF,CACF"}
@@ -0,0 +1,2 @@
1
+ import{n as e}from"./button.variants-CoSpd71B.js";import{t}from"./button-LMMbL-uH.js";import{ChevronDownIcon as n,ChevronLeftIcon as r,ChevronRightIcon as i}from"lucide-react";import{useEffect as a,useRef as o}from"react";import{cn as s}from"@customafk/react-toolkit/utils";import{jsx as c}from"react/jsx-runtime";import{DayPicker as l,getDefaultClassNames as u}from"react-day-picker";const d=({rootRef:e,className:t,...n})=>c(`div`,{"data-slot":`calendar`,ref:e,className:s(t),...n}),f=e=>e.orientation===`left`?c(r,{size:16,className:e.className,...e}):e.orientation===`right`?c(i,{size:16,className:e.className,...e}):c(n,{size:16,className:e.className,...e}),p=({className:e,day:n,modifiers:r,color:i,...l})=>{let d=u(),f=o(null);return a(()=>{r.focused&&f.current?.focus()},[r.focused]),c(t,{ref:f,variant:`ghost`,color:`muted`,"data-day":n.date.toLocaleDateString(),"data-selected-single":r.selected&&!r.range_start&&!r.range_end&&!r.range_middle,"data-range-start":r.range_start,"data-range-end":r.range_end,"data-range-middle":r.range_middle,className:s(`flex aspect-square size-9 flex-col rounded font-normal text-sm tabular-nums leading-none`,`data-[selected-single=true]:bg-primary`,`data-[selected-single=true]:text-white`,`data-[range-middle=true]:bg-muted-muted`,`data-[range-middle=true]:text-text-positive`,`data-[range-start=true]:bg-primary-muted`,`data-[range-start=true]:text-text-positive-strong`,`data-[range-end=true]:bg-primary`,`data-[range-end=true]:text-text-positive-strong`,`group-data-[focused=true]/day:border-primary-strong`,`group-data-[focused=true]/day:relative`,`group-data-[focused=true]/day:z-10`,`data-[range-end=true]:rounded`,`data-[range-end=true]:rounded-r`,`data-[range-middle=true]:rounded-none`,`data-[range-start=true]:rounded`,`data-[range-start=true]:rounded-l`,`[&>span]:text-xs [&>span]:opacity-70`,d.day,e),...l})},m=({children:e,...t})=>c(`td`,{...t,children:c(`div`,{className:`flex size-(--cell-size) items-center justify-center text-center`,children:e})});function h({className:t,classNames:n,showOutsideDays:r=!0,captionLayout:i=`label`,buttonVariant:a=`ghost`,formatters:o,components:h,...g}){let _=u();return c(l,{showOutsideDays:r,className:s(`group/calendar bg-background p-3`,`[--cell-size:--spacing(8)]`,`in-data-[slot=card-content]:bg-transparent`,`in-data-[slot=popover-content]:bg-transparent`,String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,t),captionLayout:i,formatters:{formatMonthDropdown:e=>e.toLocaleString(`default`,{month:`short`}),...o},classNames:{root:s(_.root),months:s(`flex gap-4 flex-col md:flex-row relative`,_.months),month:s(`flex flex-col w-full gap-4`,_.month),nav:s(`flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between`,_.nav),button_previous:s(e({variant:`outline`,color:`muted`}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,_.button_previous),button_next:s(e({variant:`outline`,color:`muted`}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,_.button_next),month_caption:s(`flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)`,_.month_caption),dropdowns:s(`w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5`,_.dropdowns),dropdown_root:s(`relative has-focus:border-primary-strong border border-border-weak shadow-xs has-focus:ring-primary-weak has-focus:ring-[3px] rounded`,_.dropdown_root),dropdown:s(`absolute inset-0 opacity-0`,_.dropdown),caption_label:s(`select-none font-medium`,i===`label`&&`text-sm`,i!==`label`&&`rounded shadow-xs px-2 flex items-center gap-0.5 text-sm h-8 [&>svg]:text-text-positive [&>svg]:size-3.5`,_.caption_label),table:`w-full border-collapse`,weekdays:s(`flex`,_.weekdays),weekday:s(`text-text-positive rounded flex-1 font-normal text-[0.8rem] select-none`,_.weekday),week:s(`flex w-full mt-2`,_.week),week_number_header:s(`select-none w-(--cell-size)`,_.week_number_header),week_number:s(`text-[0.8rem] select-none text-text-positive`,_.week_number),day:s(`relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l [&:last-child[data-selected=true]_button]:rounded-r group/day aspect-square select-none`,_.day),range_start:s(`rounded-l bg-muted-muted`,_.range_start),range_middle:s(`rounded-none`,_.range_middle),range_end:s(`rounded-r bg-muted-muted`,_.range_end),today:s(`bg-muted-muted text-text-positive rounded data-[selected=true]:rounded-none`,_.today),outside:s(`[&>button]:text-text-positive-muted aria-selected:text-text-positive`),disabled:s(`bg-muted-muted text-text-positive opacity-50`,_.disabled),hidden:s(`invisible`,_.hidden),...n},components:{Root:d,Chevron:f,DayButton:p,WeekNumber:m,...h},...g})}export{p as n,h as t};
2
+ //# sourceMappingURL=calendar-DzPt7b6k.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-DzPt7b6k.js","names":[],"sources":["../packages/components/ui/calendar.tsx"],"sourcesContent":["'use client';\nimport { type HTMLAttributes, type ThHTMLAttributes, useEffect, useRef } from 'react';\n\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { buttonVariants } from '@/components/ui/button.variants';\n\nimport { type CalendarWeek, type CustomComponents, type DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker';\n\nconst CalendarRoot = ({\n rootRef,\n className,\n ...props\n}: {\n rootRef?: React.Ref<HTMLDivElement>;\n} & HTMLAttributes<HTMLDivElement>) => {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />;\n};\n\nconst CalendarChevron = (props: { className?: string; size?: number; disabled?: boolean; orientation?: 'up' | 'down' | 'left' | 'right' }) => {\n if (props.orientation === 'left') {\n return <ChevronLeftIcon size={16} className={props.className} {...props} />;\n }\n\n if (props.orientation === 'right') {\n return <ChevronRightIcon size={16} className={props.className} {...props} />;\n }\n\n return <ChevronDownIcon size={16} className={props.className} {...props} />;\n};\n\nconst CalendarDayButton = ({ className, day, modifiers, color: _, ...props }: React.ComponentProps<typeof DayButton>) => {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = useRef<HTMLButtonElement>(null);\n useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n color=\"muted\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle}\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'flex aspect-square size-9 flex-col rounded font-normal text-sm tabular-nums leading-none',\n 'data-[selected-single=true]:bg-primary',\n 'data-[selected-single=true]:text-white',\n 'data-[range-middle=true]:bg-muted-muted',\n 'data-[range-middle=true]:text-text-positive',\n 'data-[range-start=true]:bg-primary-muted',\n 'data-[range-start=true]:text-text-positive-strong',\n 'data-[range-end=true]:bg-primary',\n 'data-[range-end=true]:text-text-positive-strong',\n 'group-data-[focused=true]/day:border-primary-strong',\n 'group-data-[focused=true]/day:relative',\n 'group-data-[focused=true]/day:z-10',\n 'data-[range-end=true]:rounded',\n 'data-[range-end=true]:rounded-r',\n 'data-[range-middle=true]:rounded-none',\n 'data-[range-start=true]:rounded',\n 'data-[range-start=true]:rounded-l',\n '[&>span]:text-xs [&>span]:opacity-70',\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n );\n};\n\nconst CalendarWeekNumber = ({\n children,\n ...props\n}: {\n week: CalendarWeek;\n} & ThHTMLAttributes<HTMLTableCellElement>) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">{children}</div>\n </td>\n );\n};\n\n/**\n * A fully styled date-picker calendar built on top of react-day-picker, supporting single, range, and multiple selection modes.\n *\n * @example\n * ```tsx\n * import { Calendar } from '@customafk/lunas-ui/ui/calendar';\n *\n * const [date, setDate] = React.useState<Date>();\n *\n * <Calendar\n * mode=\"single\"\n * selected={date}\n * onSelect={setDate}\n * captionLayout=\"dropdown\"\n * />\n * ```\n */\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'label',\n buttonVariant = 'ghost',\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n /** Variant applied to the previous/next navigation buttons. */\n buttonVariant?: React.ComponentProps<typeof Button>['variant'];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n 'group/calendar bg-background p-3',\n '[--cell-size:--spacing(8)]',\n 'in-data-[slot=card-content]:bg-transparent',\n 'in-data-[slot=popover-content]:bg-transparent',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: date => date.toLocaleString('default', { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn(defaultClassNames.root),\n months: cn('flex gap-4 flex-col md:flex-row relative', defaultClassNames.months),\n month: cn('flex flex-col w-full gap-4', defaultClassNames.month),\n nav: cn('flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between', defaultClassNames.nav),\n button_previous: cn(\n buttonVariants({ variant: 'outline', color: 'muted' }),\n 'size-(--cell-size) aria-disabled:opacity-50 p-0 select-none',\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: 'outline', color: 'muted' }),\n 'size-(--cell-size) aria-disabled:opacity-50 p-0 select-none',\n defaultClassNames.button_next\n ),\n month_caption: cn('flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)', defaultClassNames.month_caption),\n dropdowns: cn('w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5', defaultClassNames.dropdowns),\n dropdown_root: cn(\n 'relative has-focus:border-primary-strong border border-border-weak shadow-xs has-focus:ring-primary-weak has-focus:ring-[3px] rounded',\n defaultClassNames.dropdown_root\n ),\n dropdown: cn('absolute inset-0 opacity-0', defaultClassNames.dropdown),\n caption_label: cn(\n 'select-none font-medium',\n captionLayout === 'label' && 'text-sm',\n captionLayout !== 'label' && 'rounded shadow-xs px-2 flex items-center gap-0.5 text-sm h-8 [&>svg]:text-text-positive [&>svg]:size-3.5',\n defaultClassNames.caption_label\n ),\n table: 'w-full border-collapse',\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn('text-text-positive rounded flex-1 font-normal text-[0.8rem] select-none', defaultClassNames.weekday),\n week: cn('flex w-full mt-2', defaultClassNames.week),\n week_number_header: cn('select-none w-(--cell-size)', defaultClassNames.week_number_header),\n week_number: cn('text-[0.8rem] select-none text-text-positive', defaultClassNames.week_number),\n day: cn(\n 'relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l [&:last-child[data-selected=true]_button]:rounded-r group/day aspect-square select-none',\n defaultClassNames.day\n ),\n range_start: cn('rounded-l bg-muted-muted', defaultClassNames.range_start),\n range_middle: cn('rounded-none', defaultClassNames.range_middle),\n range_end: cn('rounded-r bg-muted-muted', defaultClassNames.range_end),\n today: cn('bg-muted-muted text-text-positive rounded data-[selected=true]:rounded-none', defaultClassNames.today),\n outside: cn('[&>button]:text-text-positive-muted aria-selected:text-text-positive'),\n disabled: cn('bg-muted-muted text-text-positive opacity-50', defaultClassNames.disabled),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: CalendarRoot as CustomComponents['Root'],\n Chevron: CalendarChevron as CustomComponents['Chevron'],\n DayButton: CalendarDayButton as CustomComponents['DayButton'],\n WeekNumber: CalendarWeekNumber as CustomComponents['WeekNumber'],\n ...components,\n }}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n"],"mappings":"iYAYA,MAAM,GAAgB,CACpB,UACA,YACA,GAAG,KAII,EAAC,MAAA,CAAI,YAAU,WAAW,IAAK,EAAS,UAAW,EAAG,EAAU,CAAE,GAAI,GAAS,CAGlF,EAAmB,GACnB,EAAM,cAAgB,OACjB,EAAC,EAAA,CAAgB,KAAM,GAAI,UAAW,EAAM,UAAW,GAAI,GAAS,CAGzE,EAAM,cAAgB,QACjB,EAAC,EAAA,CAAiB,KAAM,GAAI,UAAW,EAAM,UAAW,GAAI,GAAS,CAGvE,EAAC,EAAA,CAAgB,KAAM,GAAI,UAAW,EAAM,UAAW,GAAI,GAAS,CAGvE,GAAqB,CAAE,YAAW,MAAK,YAAW,MAAO,EAAG,GAAG,KAAoD,CACvH,IAAM,EAAoB,GAAsB,CAE1C,EAAM,EAA0B,KAAK,CAK3C,OAJA,MAAgB,CACV,EAAU,SAAS,EAAI,SAAS,OAAO,EAC1C,CAAC,EAAU,QAAQ,CAAC,CAGrB,EAAC,EAAA,CACM,MACL,QAAQ,QACR,MAAM,QACN,WAAU,EAAI,KAAK,oBAAoB,CACvC,uBAAsB,EAAU,UAAY,CAAC,EAAU,aAAe,CAAC,EAAU,WAAa,CAAC,EAAU,aACzG,mBAAkB,EAAU,YAC5B,iBAAgB,EAAU,UAC1B,oBAAmB,EAAU,aAC7B,UAAW,EACT,2FACA,yCACA,yCACA,0CACA,8CACA,2CACA,oDACA,mCACA,kDACA,sDACA,yCACA,qCACA,gCACA,kCACA,wCACA,kCACA,oCACA,uCACA,EAAkB,IAClB,EACD,CACD,GAAI,GACJ,EAIA,GAAsB,CAC1B,WACA,GAAG,KAKD,EAAC,KAAA,CAAG,GAAI,WACN,EAAC,MAAA,CAAI,UAAU,kEAAmE,YAAe,EAC9F,CAqBT,SAAS,EAAS,CAChB,YACA,aACA,kBAAkB,GAClB,gBAAgB,QAChB,gBAAgB,QAChB,aACA,aACA,GAAG,GAIF,CACD,IAAM,EAAoB,GAAsB,CAEhD,OACE,EAAC,EAAA,CACkB,kBACjB,UAAW,EACT,mCACA,6BACA,6CACA,gDACA,OAAO,GAAG,4CACV,OAAO,GAAG,gDACV,EACD,CACc,gBACf,WAAY,CACV,oBAAqB,GAAQ,EAAK,eAAe,UAAW,CAAE,MAAO,QAAS,CAAC,CAC/E,GAAG,EACJ,CACD,WAAY,CACV,KAAM,EAAG,EAAkB,KAAK,CAChC,OAAQ,EAAG,2CAA4C,EAAkB,OAAO,CAChF,MAAO,EAAG,6BAA8B,EAAkB,MAAM,CAChE,IAAK,EAAG,0EAA2E,EAAkB,IAAI,CACzG,gBAAiB,EACf,EAAe,CAAE,QAAS,UAAW,MAAO,QAAS,CAAC,CACtD,8DACA,EAAkB,gBACnB,CACD,YAAa,EACX,EAAe,CAAE,QAAS,UAAW,MAAO,QAAS,CAAC,CACtD,8DACA,EAAkB,YACnB,CACD,cAAe,EAAG,2EAA4E,EAAkB,cAAc,CAC9H,UAAW,EAAG,sFAAuF,EAAkB,UAAU,CACjI,cAAe,EACb,wIACA,EAAkB,cACnB,CACD,SAAU,EAAG,6BAA8B,EAAkB,SAAS,CACtE,cAAe,EACb,0BACA,IAAkB,SAAW,UAC7B,IAAkB,SAAW,2GAC7B,EAAkB,cACnB,CACD,MAAO,yBACP,SAAU,EAAG,OAAQ,EAAkB,SAAS,CAChD,QAAS,EAAG,0EAA2E,EAAkB,QAAQ,CACjH,KAAM,EAAG,mBAAoB,EAAkB,KAAK,CACpD,mBAAoB,EAAG,8BAA+B,EAAkB,mBAAmB,CAC3F,YAAa,EAAG,+CAAgD,EAAkB,YAAY,CAC9F,IAAK,EACH,sLACA,EAAkB,IACnB,CACD,YAAa,EAAG,2BAA4B,EAAkB,YAAY,CAC1E,aAAc,EAAG,eAAgB,EAAkB,aAAa,CAChE,UAAW,EAAG,2BAA4B,EAAkB,UAAU,CACtE,MAAO,EAAG,8EAA+E,EAAkB,MAAM,CACjH,QAAS,EAAG,uEAAuE,CACnF,SAAU,EAAG,+CAAgD,EAAkB,SAAS,CACxF,OAAQ,EAAG,YAAa,EAAkB,OAAO,CACjD,GAAG,EACJ,CACD,WAAY,CACV,KAAM,EACN,QAAS,EACT,UAAW,EACX,WAAY,EACZ,GAAG,EACJ,CACD,GAAI,GACJ"}
@@ -34,4 +34,4 @@ type Props = {
34
34
  declare const GridProductCard: React.FC<Props>;
35
35
  //#endregion
36
36
  export { GridProductCard };
37
- //# sourceMappingURL=grid-product-card.d.mts.map
37
+ //# sourceMappingURL=grid-product-card.d.ts.map
@@ -0,0 +1,2 @@
1
+ import"../button.variants-CoSpd71B.js";import{t as e}from"../button-LMMbL-uH.js";import"../heading-Bz-hSatD.js";import"../paragraph-Cc13ZI4d.js";import{Card as t}from"../ui/card.js";import"../skeleton-DlRDNM97.js";import{t as n}from"../image-BpTuF_1w.js";import{HeartIcon as r,ShoppingCartIcon as i}from"lucide-react";import{jsx as a,jsxs as o}from"react/jsx-runtime";const s=({name:s,thumbnail:c,price:l})=>o(t,{className:`h-36 w-full flex-row gap-4 p-2 pr-4`,children:[a(n,{className:`aspect-square h-full flex-0`,src:c}),o(`div`,{className:`flex flex-1 flex-col gap-y-1`,children:[a(`p`,{className:`line-clamp-2 h-10 font-semibold text-sm text-text-positive`,children:s}),o(`p`,{className:`font-bold text-base text-success`,children:[l.toLocaleString(`vi-VN`),a(`small`,{className:`ml-0.5`,children:`VND`})]}),o(`div`,{className:`mb-3 flex flex-1 items-end justify-end gap-x-1`,children:[a(e,{size:`icon`,variant:`outline`,color:`muted`,className:`size-9`,children:a(r,{})}),o(e,{className:`max-w-52 max-sm:size-9 sm:flex-1`,children:[a(i,{}),a(`p`,{className:`sr-only sm:not-sr-only`,children:`Thêm vào giỏ`})]})]})]})]});export{s as GridProductCard};
2
+ //# sourceMappingURL=grid-product-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-product-card.js","names":["GridProductCard: React.FC<Props>","Image"],"sources":["../../packages/components/cards/grid-product-card.tsx"],"sourcesContent":["import { HeartIcon, ShoppingCartIcon } from 'lucide-react';\n\nimport { Button } from '../ui/button';\nimport { Card } from '../ui/card';\nimport { Image } from '../ui/image';\n\ntype Props = {\n /** Unique identifier for the product. */\n id: string;\n /** URL-friendly slug for the product. */\n slug: string;\n /** Display name of the product shown on the card. */\n name: string;\n /** URL of the product's thumbnail image. */\n thumbnail: string;\n /** Regular price of the product in VND. */\n price: number;\n /** Optional sale / discounted price in VND. */\n salePrice?: number;\n /** Optional sale discount percentage (0–100). */\n salePercentage?: number;\n};\n\n/**\n * A horizontal (grid-row) product card displaying a thumbnail, name, price, and add-to-cart / favourite actions.\n *\n * @example\n * ```tsx\n * import { GridProductCard } from '@customafk/lunas-ui/cards/grid-product-card';\n *\n * <GridProductCard\n * id=\"prod-1\"\n * slug=\"awesome-widget\"\n * name=\"Awesome Widget\"\n * thumbnail=\"/images/widget.png\"\n * price={299000}\n * />\n * ```\n */\nexport const GridProductCard: React.FC<Props> = ({ name, thumbnail, price }) => {\n return (\n <Card className=\"h-36 w-full flex-row gap-4 p-2 pr-4\">\n <Image className=\"aspect-square h-full flex-0\" src={thumbnail} />\n <div className=\"flex flex-1 flex-col gap-y-1\">\n <p className=\"line-clamp-2 h-10 font-semibold text-sm text-text-positive\">{name}</p>\n <p className=\"font-bold text-base text-success\">\n {price.toLocaleString('vi-VN')}\n <small className=\"ml-0.5\">VND</small>\n </p>\n <div className=\"mb-3 flex flex-1 items-end justify-end gap-x-1\">\n <Button size=\"icon\" variant=\"outline\" color=\"muted\" className=\"size-9\">\n <HeartIcon />\n </Button>\n <Button className=\"max-w-52 max-sm:size-9 sm:flex-1\">\n <ShoppingCartIcon />\n <p className=\"sr-only sm:not-sr-only\">Thêm vào giỏ</p>\n </Button>\n </div>\n </div>\n </Card>\n );\n};\n"],"mappings":"gXAuCA,MAAaA,GAAoC,CAAE,OAAM,YAAW,WAEhE,EAAC,EAAA,CAAK,UAAU,gDACd,EAACC,EAAAA,CAAM,UAAU,8BAA8B,IAAK,GAAa,CACjE,EAAC,MAAA,CAAI,UAAU,yCACb,EAAC,IAAA,CAAE,UAAU,sEAA8D,GAAS,CACpF,EAAC,IAAA,CAAE,UAAU,6CACV,EAAM,eAAe,QAAQ,CAC9B,EAAC,QAAA,CAAM,UAAU,kBAAS,OAAW,CAAA,EACnC,CACJ,EAAC,MAAA,CAAI,UAAU,2DACb,EAAC,EAAA,CAAO,KAAK,OAAO,QAAQ,UAAU,MAAM,QAAQ,UAAU,kBAC5D,EAAC,EAAA,EAAA,CAAY,EACN,CACT,EAAC,EAAA,CAAO,UAAU,6CAChB,EAAC,EAAA,EAAA,CAAmB,CACpB,EAAC,IAAA,CAAE,UAAU,kCAAyB,gBAAgB,CAAA,EAC/C,CAAA,EACL,GACF,CAAA,EACD"}
@@ -34,4 +34,4 @@ type Props = {
34
34
  declare const ProductCard: React.FC<Props>;
35
35
  //#endregion
36
36
  export { ProductCard };
37
- //# sourceMappingURL=product-card.d.mts.map
37
+ //# sourceMappingURL=product-card.d.ts.map
@@ -0,0 +1,2 @@
1
+ import"../button.variants-CoSpd71B.js";import{t as e}from"../button-LMMbL-uH.js";import"../heading-Bz-hSatD.js";import"../paragraph-Cc13ZI4d.js";import{Card as t}from"../ui/card.js";import"../skeleton-DlRDNM97.js";import{t as n}from"../image-BpTuF_1w.js";import{HeartIcon as r,ShoppingCartIcon as i}from"lucide-react";import{jsx as a,jsxs as o}from"react/jsx-runtime";const s=({name:s,thumbnail:c,price:l})=>o(t,{className:`size-full gap-y-2 p-2 pb-4`,children:[a(n,{src:c,className:`aspect-square`}),o(`div`,{className:`flex flex-col gap-y-1`,children:[a(`p`,{className:`line-clamp-2 h-10 text-sm font-semibold`,children:s}),o(`p`,{className:`text-success text-base font-bold`,children:[l.toLocaleString(`vi-VN`),a(`small`,{className:`ml-0.5`,children:`VND`})]}),o(`div`,{className:`mt-1 flex gap-x-1`,children:[o(e,{className:`flex-1`,children:[a(i,{}),`Thêm vào giỏ`]}),a(e,{size:`icon`,variant:`outline`,color:`muted`,className:`size-9`,children:a(r,{})})]})]})]});export{s as ProductCard};
2
+ //# sourceMappingURL=product-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-card.js","names":["ProductCard: React.FC<Props>","Image"],"sources":["../../packages/components/cards/product-card.tsx"],"sourcesContent":["import { HeartIcon, ShoppingCartIcon } from 'lucide-react';\n\nimport { Button } from '../ui/button';\nimport { Card } from '../ui/card';\nimport { Image } from '../ui/image';\n\ntype Props = {\n /** Unique identifier for the product. */\n id: string;\n /** URL-friendly slug for the product. */\n slug: string;\n /** Display name of the product shown on the card. */\n name: string;\n /** URL of the product's thumbnail image. */\n thumbnail: string;\n /** Regular price of the product in VND. */\n price: number;\n /** Optional sale / discounted price in VND. */\n salePrice?: number;\n /** Optional sale discount percentage (0–100). */\n salePercentage?: number;\n};\n\n/**\n * A vertical product card displaying a thumbnail, name, price, and add-to-cart / favourite actions.\n *\n * @example\n * ```tsx\n * import { ProductCard } from '@customafk/lunas-ui/cards/product-card';\n *\n * <ProductCard\n * id=\"prod-1\"\n * slug=\"awesome-widget\"\n * name=\"Awesome Widget\"\n * thumbnail=\"/images/widget.png\"\n * price={299000}\n * />\n * ```\n */\nexport const ProductCard: React.FC<Props> = ({ name, thumbnail, price }) => {\n return (\n <Card className=\"size-full gap-y-2 p-2 pb-4\">\n <Image src={thumbnail} className=\"aspect-square\" />\n <div className=\"flex flex-col gap-y-1\">\n <p className=\"line-clamp-2 h-10 text-sm font-semibold\">{name}</p>\n <p className=\"text-success text-base font-bold\">\n {price.toLocaleString('vi-VN')}\n <small className=\"ml-0.5\">VND</small>\n </p>\n <div className=\"mt-1 flex gap-x-1\">\n <Button className=\"flex-1\">\n <ShoppingCartIcon />\n Thêm vào giỏ\n </Button>\n <Button size=\"icon\" variant=\"outline\" color=\"muted\" className=\"size-9\">\n <HeartIcon />\n </Button>\n </div>\n </div>\n </Card>\n );\n};\n"],"mappings":"gXAuCA,MAAaA,GAAgC,CAAE,OAAM,YAAW,WAE5D,EAAC,EAAA,CAAK,UAAU,uCACd,EAACC,EAAAA,CAAM,IAAK,EAAW,UAAU,iBAAkB,CACnD,EAAC,MAAA,CAAI,UAAU,kCACb,EAAC,IAAA,CAAE,UAAU,mDAA2C,GAAS,CACjE,EAAC,IAAA,CAAE,UAAU,6CACV,EAAM,eAAe,QAAQ,CAC9B,EAAC,QAAA,CAAM,UAAU,kBAAS,OAAW,CAAA,EACnC,CACJ,EAAC,MAAA,CAAI,UAAU,8BACb,EAAC,EAAA,CAAO,UAAU,mBAChB,EAAC,EAAA,EAAA,CAAmB,CAAA,eAAA,EAEb,CACT,EAAC,EAAA,CAAO,KAAK,OAAO,QAAQ,UAAU,MAAM,QAAQ,UAAU,kBAC5D,EAAC,EAAA,EAAA,CAAY,EACN,CAAA,EACL,GACF,CAAA,EACD"}
@@ -32,4 +32,4 @@ declare const SimpleCard: ({
32
32
  }: React.PropsWithChildren<Props>) => react0.JSX.Element;
33
33
  //#endregion
34
34
  export { SimpleCard };
35
- //# sourceMappingURL=simple-card.d.mts.map
35
+ //# sourceMappingURL=simple-card.d.ts.map
@@ -0,0 +1,2 @@
1
+ "use client";import"../heading-Bz-hSatD.js";import"../paragraph-Cc13ZI4d.js";import{Card as e,CardAction as t,CardContent as n,CardDescription as r,CardFooter as i,CardHeader as a,CardTitle as o}from"../ui/card.js";import{jsx as s,jsxs as c}from"react/jsx-runtime";const l=({title:l,description:u,action:d,footer:f,children:p})=>c(e,{children:[c(a,{children:[s(o,{children:l}),s(r,{children:u}),d&&s(t,{children:d})]}),s(n,{children:p}),f&&s(i,{children:f})]});export{l as SimpleCard};
2
+ //# sourceMappingURL=simple-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-card.js","names":[],"sources":["../../packages/components/cards/simple-card.tsx"],"sourcesContent":["'use client';\nimport { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '../ui/card';\n\ntype Props = {\n /** The card's heading text displayed in the header. */\n title: string;\n /** Optional subtitle or description shown below the title. */\n description?: string;\n /** Optional node rendered as a card action (e.g. a button) in the header. */\n action?: React.ReactNode;\n /** Optional node rendered inside the card footer. */\n footer?: React.ReactNode;\n};\n\n/**\n * A general-purpose card with a header, optional description, action slot, content area, and footer.\n *\n * @example\n * ```tsx\n * import { SimpleCard } from '@customafk/lunas-ui/cards/simple-card';\n *\n * <SimpleCard title=\"Summary\" description=\"Overview of results\">\n * <p>Card body content goes here.</p>\n * </SimpleCard>\n * ```\n */\nexport const SimpleCard = ({ title, description, action, footer, children }: React.PropsWithChildren<Props>) => {\n return (\n <Card>\n <CardHeader>\n <CardTitle>{title}</CardTitle>\n <CardDescription>{description}</CardDescription>\n {action && <CardAction>{action}</CardAction>}\n </CardHeader>\n <CardContent>{children}</CardContent>\n {footer && <CardFooter>{footer}</CardFooter>}\n </Card>\n );\n};\n"],"mappings":"yQA0BA,MAAa,GAAc,CAAE,QAAO,cAAa,SAAQ,SAAQ,cAE7D,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,CAAA,SAAW,EAAA,CAAkB,CAC9B,EAAC,EAAA,CAAA,SAAiB,EAAA,CAA8B,CAC/C,GAAU,EAAC,EAAA,CAAA,SAAY,EAAA,CAAoB,GACjC,CACb,EAAC,EAAA,CAAa,WAAA,CAAuB,CACpC,GAAU,EAAC,EAAA,CAAA,SAAY,EAAA,CAAoB,GACvC"}
@@ -1,2 +1,2 @@
1
1
  import{CheckIcon as e}from"lucide-react";import{cn as t}from"@customafk/react-toolkit/utils";import{jsx as n}from"react/jsx-runtime";import{Checkbox as r}from"radix-ui";function i({className:i,...a}){return n(r.Root,{"data-slot":`checkbox`,className:t(`peer border-border`,`size-4 shrink-0 cursor-pointer rounded border shadow-xs outline-none transition-all`,`disabled:cursor-not-allowed disabled:opacity-50`,`focus-visible:border-primary-strong`,`focus-visible:ring-3`,`focus-visible:ring-primary-weak`,`aria-invalid:border-danger aria-invalid:ring-danger-weak`,`aria-readonly:bg-muted-muted`,`aria-readonly:pointer-events-none`,`data-[state=checked]:aria-readonly:bg-muted-muted`,`data-[state=checked]:aria-readonly:border-border`,`data-[state=checked]:aria-readonly:text-text-positive-strong`,`data-[state=checked]:bg-primary`,`data-[state=checked]:border-primary-strong`,`data-[state=checked]:text-text-negative-strong`,i),...a,children:n(r.Indicator,{"data-slot":`checkbox-indicator`,className:`flex items-center justify-center text-current transition-none`,children:n(e,{size:14})})})}export{i as t};
2
- //# sourceMappingURL=checkbox-Cat3i08X.mjs.map
2
+ //# sourceMappingURL=checkbox-DLGDoU-1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-DLGDoU-1.js","names":["Checkbox","CheckboxPrimitive"],"sources":["../packages/components/ui/checkbox.tsx"],"sourcesContent":["'use client';\n\nimport { CheckIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Checkbox as CheckboxPrimitive } from 'radix-ui';\n\n/**\n * Accessible checkbox input built on Radix UI's Checkbox primitive with checked, indeterminate, focus, invalid, and read-only states.\n *\n * @example\n * ```tsx\n * import { Checkbox } from '@customafk/lunas-ui/ui/checkbox';\n * import { Label } from '@customafk/lunas-ui/ui/label';\n *\n * <div className=\"flex items-center gap-2\">\n * <Checkbox id=\"terms\" />\n * <Label htmlFor=\"terms\">Accept terms and conditions</Label>\n * </div>\n * ```\n */\nfunction Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n 'peer border-border',\n 'size-4 shrink-0 cursor-pointer rounded border shadow-xs outline-none transition-all',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n 'focus-visible:border-primary-strong',\n 'focus-visible:ring-3',\n 'focus-visible:ring-primary-weak',\n 'aria-invalid:border-danger aria-invalid:ring-danger-weak',\n 'aria-readonly:bg-muted-muted',\n 'aria-readonly:pointer-events-none',\n 'data-[state=checked]:aria-readonly:bg-muted-muted',\n 'data-[state=checked]:aria-readonly:border-border',\n 'data-[state=checked]:aria-readonly:text-text-positive-strong',\n 'data-[state=checked]:bg-primary',\n 'data-[state=checked]:border-primary-strong',\n 'data-[state=checked]:text-text-negative-strong',\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator data-slot=\"checkbox-indicator\" className=\"flex items-center justify-center text-current transition-none\">\n <CheckIcon size={14} />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"],"mappings":"yKAsBA,SAASA,EAAS,CAAE,YAAW,GAAG,GAA8D,CAC9F,OACE,EAACC,EAAkB,KAAA,CACjB,YAAU,WACV,UAAW,EACT,qBACA,sFACA,kDACA,sCACA,uBACA,kCACA,2DACA,+BACA,oCACA,oDACA,mDACA,+DACA,kCACA,6CACA,iDACA,EACD,CACD,GAAI,WAEJ,EAACA,EAAkB,UAAA,CAAU,YAAU,qBAAqB,UAAU,yEACpE,EAAC,EAAA,CAAU,KAAM,GAAA,CAAM,EACK,EACP"}
@@ -1,2 +1,2 @@
1
1
  import{XIcon as e}from"lucide-react";import{cn as t}from"@customafk/react-toolkit/utils";import{jsx as n}from"react/jsx-runtime";const r=({className:r,...i})=>n(`button`,{className:t(`flex cursor-pointer items-center justify-center rounded-[100px] p-2 text-text-positive-weak transition-colors hover:bg-muted-muted hover:text-text-positive active:bg-muted-weak active:text-text-positive-strong disabled:pointer-events-none disabled:opacity-60`,r),...i,children:n(e,{size:24})});export{r as t};
2
- //# sourceMappingURL=close-_UHFeiLS.mjs.map
2
+ //# sourceMappingURL=close-C0PdZGxr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"close-C0PdZGxr.js","names":["CloseButton: React.FC<React.ComponentProps<'button'>>"],"sources":["../packages/components/ui/buttons/close.tsx"],"sourcesContent":["import { XIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nexport const CloseButton: React.FC<React.ComponentProps<'button'>> = ({ className, ...props }) => {\n return (\n <button\n className={cn(\n 'flex cursor-pointer items-center justify-center rounded-[100px] p-2 text-text-positive-weak transition-colors hover:bg-muted-muted hover:text-text-positive active:bg-muted-weak active:text-text-positive-strong disabled:pointer-events-none disabled:opacity-60',\n className\n )}\n {...props}\n >\n <XIcon size={24} />\n </button>\n );\n};\n"],"mappings":"iIAIA,MAAaA,GAAyD,CAAE,YAAW,GAAG,KAElF,EAAC,SAAA,CACC,UAAW,EACT,qQACA,EACD,CACD,GAAI,WAEJ,EAAC,EAAA,CAAM,KAAM,GAAA,CAAM,EACZ"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./dist-EPxjIRJp.js";import{t}from"./button-LMMbL-uH.js";import{i as n,n as r,r as i,t as a}from"./tooltip-CVIl6Hln.js";import{n as o,r as s,t as c}from"./avatar-Hpj8lmux.js";import{t as l}from"./separator-BM8hA4DP.js";import{i as u,o as d,r as f,s as p,t as m}from"./sheet-DGXXYgWB.js";import{a as h,h as g,i as _,r as v,t as y,u as b}from"./dropdown-menu-DeHCVyby.js";import{t as x}from"./input-DAfP6LZ7.js";import{EarthIcon as S,LogOutIcon as C,MenuIcon as w,ShoppingCartIcon as T,UserRoundIcon as E}from"lucide-react";import{createContext as D,memo as O,useCallback as k,useContext as ee,useEffect as te,useMemo as ne,useState as A}from"react";import{cn as j}from"@customafk/react-toolkit/utils";import{cva as M}from"class-variance-authority";import{Fragment as N,jsx as P,jsxs as F}from"react/jsx-runtime";import{colorHashLight as I}from"@customafk/react-toolkit/color-hash";import{useIsMobile as re}from"@customafk/react-toolkit/hooks/useMobile";const L=D(null);function R(){let e=ee(L);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function ie({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:a,children:o,...s}){let c=re(),[l,u]=A(!1),[d,f]=A(e),p=t??d,m=k(e=>{let t=typeof e==`function`?e(p):e;n?n(t):f(t),document.cookie=`sidebar_state=${t}; path=/; max-age=604800`},[n,p]),h=k(()=>c?u(e=>!e):m(e=>!e),[c,m]);te(()=>{let e=e=>{e.key===`b`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),h())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[h]);let g=p?`expanded`:`collapsed`,_=ne(()=>({state:g,open:p,setOpen:m,isMobile:c,openMobile:l,setOpenMobile:u,toggleSidebar:h}),[g,p,m,c,l,h]);return P(L.Provider,{value:_,children:P(i,{delayDuration:0,children:P(`section`,{"data-slot":`layout-wrapper`,style:{"--sidebar-width":`16rem`,"--sidebar-width-icon":`3rem`,...a},className:j(`relative group/sidebar-wrapper flex h-dvh bg-sidebar`,r),...s,children:o})})})}const z=O(({side:e=`left`,variant:n=`sidebar`,collapsible:r=`offcanvas`,className:i,children:a,...o})=>{let{isMobile:s,state:c,openMobile:l,setOpenMobile:h,toggleSidebar:g}=R(),_=k(e=>{g(),e.preventDefault(),e.stopPropagation()},[g]);return r===`none`?P(`aside`,{"data-slot":`sidebar`,className:j(`flex w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground`,i),...o,children:a}):s?P(m,{open:l,onOpenChange:h,...o,children:F(f,{"data-sidebar":`sidebar`,"data-slot":`sidebar`,"data-mobile":`true`,style:{"--sidebar-width":`18rem`},side:e,className:`w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground sm:max-w-3xs [&>button]:hidden`,children:[F(d,{className:`sr-only`,children:[P(p,{children:`Sidebar`}),P(u,{children:`Displays the mobile sidebar.`})]}),F(`div`,{className:`flex size-full flex-col`,children:[F(`div`,{className:`flex flex-0 items-center gap-x-2 border-b border-border-weak p-2 pr-4`,children:[F(t,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,color:`muted`,size:`icon`,className:j(`size-10 rounded-full`,i),onClick:_,children:[P(w,{className:`size-6!`}),P(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]}),P(`div`,{className:`ml-2 flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground`,children:P(T,{size:20})}),F(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[P(`span`,{className:`truncate font-medium`,children:`Lunas Store`}),P(`span`,{className:`truncate text-xs`,children:`Established 2023`})]})]}),P(`div`,{className:`flex flex-1 flex-col p-2`,children:a})]})]})}):F(`aside`,{className:`group peer hidden bg-card text-sidebar-foreground md:block`,"data-state":c,"data-collapsible":c===`collapsed`?r:``,"data-variant":n,"data-side":e,"data-slot":`sidebar`,children:[P(`div`,{"data-slot":`sidebar-gap`,className:j(`bg-transparent`,`transition-[width] duration-200 ease-linear`,`h-(--header-height) sm:h-[calc(var(--header-height)+0.5rem)]`,`w-(--sidebar-width)`,`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`)}),P(`div`,{"data-slot":`sidebar-container`,className:j(`hidden md:flex shadow-nav`,`fixed left-0 inset-y-0 p-2`,`top-[calc(var(--header-height)+0.5rem)] z-10`,`w-(--sidebar-width)`,`transition-all duration-200 ease-linear`,`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`,i),...o,children:P(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:`relative flex size-full flex-col`,children:a})})]})});z.displayName=`CMSLayoutSidebar`;const B=O(({className:e,children:t,...n})=>F(`main`,{"data-slot":`sidebar-inset`,className:j(`relative flex w-full flex-1 flex-col`,e),...n,children:[P(`div`,{className:`h-(--header-height) sm:h-[calc(var(--header-height)+0.5rem)]`}),P(`div`,{className:`relative flex-1 size-full overflow-auto`,children:t})]}));B.displayName=`CMSLayoutMain`;const V=O(({className:e,...t})=>P(x,{"data-slot":`sidebar-input`,"data-sidebar":`input`,className:j(`h-8 w-full bg-background shadow-none`,e),...t}));V.displayName=`SidebarInput`;const H=O(({className:e,...t})=>P(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:j(`flex flex-col gap-2 p-2`,e),...t}));H.displayName=`SidebarHeader`;const U=O(({className:e,...t})=>P(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:j(`flex flex-col gap-2`,e),...t}));U.displayName=`SidebarFooter`;const W=O(({className:e,...t})=>P(l,{"data-slot":`sidebar-separator`,"data-sidebar":`separator`,className:j(`mx-2 w-auto bg-sidebar-border`,e),...t}));W.displayName=`SidebarSeparator`;const G=O(({className:e,...t})=>P(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:j(`flex flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,e),...t}));G.displayName=`SidebarContent`;const K=O(({className:e,...t})=>P(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:j(`relative flex w-full flex-col`,e),...t}));K.displayName=`SidebarGroup`;const q=O(({className:t,asChild:n=!1,...r})=>P(n?e:`div`,{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:j(`flex h-8 shrink-0 items-center rounded-md px-2 font-medium text-sidebar-foreground/70 text-xs outline-hidden ring-sidebar-ring transition-[margin,opacity,color] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0`,`group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0`,t),...r}));q.displayName=`SidebarGroupLabel`;const J=O(({className:e,...t})=>P(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:j(`w-full text-sm`,e),...t}));J.displayName=`SidebarGroupContent`;const Y=O(({className:e,...t})=>P(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:j(`flex w-full min-w-0 flex-col gap-1`,e),...t}));Y.displayName=`SidebarMenu`;const X=O(({className:e,...t})=>P(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:j(`group/menu-item relative`,e),...t}));X.displayName=`SidebarMenuItem`;const ae=M([`peer/menu-button`,`cursor-pointer`,`flex w-full items-center gap-2`,`overflow-hidden rounded-md p-2 outline-hidden`,`truncate text-left font-normal`,`transition-[color,background-color,width,height,padding]`,`active:bg-sidebar-accent active:text-sidebar-accent-foreground`,`disabled:pointer-events-none disabled:opacity-50`,`group-has-data-[sidebar=menu-action]/menu-item:pr-8`,`aria-disabled:pointer-events-none aria-disabled:opacity-50`,`data-[active=true]:bg-sidebar-primary-muted data-[active=true]:text-sidebar-primary`,`data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground`,`group-data-[collapsible=icon]:size-12! group-data-[collapsible=icon]:p-3! group-data-[collapsible=icon]:gap-3!`,`[&>svg]:size-6 [&>svg]:shrink-0`,`[&>span:last-child]:truncate`],{variants:{variant:{default:`hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-10 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}}),Z=O(({asChild:t=!1,isActive:i=!1,variant:o=`default`,size:s=`default`,tooltip:c,className:l,...u})=>{let d=t?e:`button`,{isMobile:f,state:p}=R(),m=k(e=>{u.onClick?.(),e.preventDefault(),e.stopPropagation()},[u.onClick]),h=P(d,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":s,"data-active":i,className:j(ae({variant:o,size:s}),l),onClick:m,...u});return c?(typeof c==`string`&&(c={children:c}),F(a,{children:[P(n,{asChild:!0,children:h}),P(r,{side:`right`,align:`center`,hidden:p!==`collapsed`||f,...c})]})):h});Z.displayName=`SidebarMenuButton`;const oe=({i18nText:e,onChangeToEnLocale:n,onChangeToViLocale:r,user:i,onLogout:a,logoutLabel:l=`Log out`})=>{let{toggleSidebar:u}=R(),d=k(e=>{e.preventDefault(),e.stopPropagation(),u()},[u]),f=k(e=>{e.preventDefault(),e.stopPropagation(),n?.()},[n]),p=k(e=>{e.preventDefault(),e.stopPropagation(),r?.()},[r]),m=i?I.hex(i.name):void 0;return F(`header`,{"data-slot":`cms-layout-header`,className:j(`bg-card`,`h-(--header-height)`,`sm:h-[calc(var(--header-height)+0.5rem)] sm:px-4 sm:pr-6`,`absolute inset-x-0 top-0 z-20 gap-2 px-2 pr-4.5`,`flex items-center shadow-nav`,`transition-[height] ease-linear`),children:[F(t,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,color:`muted`,size:`icon`,className:`size-10 rounded-full transition-all hover:text-text-positive`,onClick:d,children:[P(w,{className:`size-6!`}),P(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]}),F(`div`,{className:`flex flex-1 gap-x-2 sm:ml-2.5`,children:[P(`div`,{className:`flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground`,children:P(T,{size:20})}),F(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[P(`span`,{className:`truncate font-medium`,children:`Lunas Enterprise`}),P(`span`,{className:`truncate text-xs`,children:`Established 2025`})]})]}),F(`div`,{className:`flex items-center gap-1`,children:[i&&F(y,{children:[P(g,{asChild:!0,children:F(t,{variant:`ghost`,color:`muted`,className:`h-9 gap-2.5 rounded-full px-2 transition-all`,children:[F(c,{className:`size-7 shrink-0`,children:[P(s,{src:i.avatarUrl,alt:i.name}),P(o,{style:{backgroundColor:m},children:P(E,{size:14,className:`text-white`})})]}),F(`div`,{className:`hidden flex-col items-start sm:flex`,children:[P(`span`,{className:`max-w-36 truncate text-xs font-semibold leading-tight text-text-positive`,children:i.name}),i.email&&P(`span`,{className:`max-w-36 truncate text-xs leading-tight text-text-positive-weak`,children:i.email})]})]})}),F(v,{align:`end`,className:`w-60`,children:[F(`div`,{className:`flex flex-col items-center gap-2 px-4 py-4 text-center`,children:[F(c,{className:`size-12`,children:[P(s,{src:i.avatarUrl,alt:i.name}),P(o,{style:{backgroundColor:m},children:P(E,{size:22,className:`text-white`})})]}),F(`div`,{className:`flex min-w-0 w-full flex-col items-center gap-0.5`,children:[P(`p`,{className:`truncate text-sm font-semibold text-text-positive`,children:i.name}),i.email&&P(`p`,{className:`truncate text-xs text-text-positive-weak`,children:i.email}),i.role&&P(`span`,{className:`mt-1 w-fit rounded-sm border border-border bg-secondary-muted px-2 py-0.5 text-xs font-medium text-text-positive-weak`,children:i.role})]})]}),a&&F(N,{children:[P(b,{}),P(_,{children:F(h,{className:`text-danger focus:text-danger`,onClick:a,children:[P(C,{className:`size-4`}),l]})})]})]})]}),i&&(n||r)&&P(`div`,{className:`mx-1 h-5 w-px bg-border`}),(n||r)&&F(y,{children:[P(g,{asChild:!0,children:F(t,{"data-slot":`locale-trigger`,variant:`ghost`,color:`muted`,className:`gap-x-1 rounded-full transition-all hover:text-text-positive`,children:[P(S,{className:`size-6!`}),e]})}),P(v,{align:`end`,children:F(_,{children:[P(h,{onClick:f,children:`EN - English`}),P(h,{onClick:p,children:`VI - Vietnamese`})]})})]})]})]})},Q=O(({id:e,label:t,icon:n,activeNavItemId:r,onClick:i})=>P(X,{children:F(Z,{isActive:e===r,onClick:i,children:[n,t]})}));Q.displayName=`SidebarContentGroupItem`;const $=O(({id:e,label:t,children:n})=>F(K,{children:[P(q,{children:t}),P(J,{children:P(Y,{children:n})})]}));$.displayName=`SidebarContentGroup`;const se=({i18nText:e,activeNavItemId:t,sidebar:n,children:r,onChangeToEnLocale:i,onChangeToViLocale:a,onLogout:o,logoutLabel:s=`Log out`,copyright:c=`Copyright © ${new Date().getFullYear()}, Lunas.`,user:l})=>{let u=n?.groupcontent??[];return F(ie,{children:[P(oe,{i18nText:e,onChangeToEnLocale:i,onChangeToViLocale:a,user:l,onLogout:o,logoutLabel:s}),F(z,{variant:`inset`,collapsible:`icon`,children:[P(G,{children:u.map(e=>P($,{id:e.id,label:e.label,children:e.items.map(e=>P(Q,{id:e.id,activeNavItemId:t,label:e.label,icon:e.icon,onClick:e.onClick},e.id))},e.id))}),P(U,{children:F(Y,{children:[P(X,{children:F(Z,{className:`border border-border`,onClick:o,children:[P(C,{className:`text-text-positive-weak`}),s]})}),P(X,{className:`mt-2 border-t border-t-border`,children:P(`p`,{className:`pt-2 text-center text-xs text-text-positive-subtle`,children:c})})]})})]}),P(B,{children:r})]})};export{se as t};
2
+ //# sourceMappingURL=cms-layout-tPwrgJZc.js.map