@customafk/lunas-ui 0.2.4 → 0.2.6

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 (753) hide show
  1. package/README.md +39 -9
  2. package/ai-docs.md +419 -0
  3. package/dist/alert-5MxGtf3j.d.mts +88 -0
  4. package/dist/alert-DIC1_ymv.cjs +2 -0
  5. package/dist/alert-DIC1_ymv.cjs.map +1 -0
  6. package/dist/alert-DwdUOFaC.d.cts +88 -0
  7. package/dist/alert-VP3giy31.mjs +2 -0
  8. package/dist/alert-VP3giy31.mjs.map +1 -0
  9. package/dist/avatar-CTS9-raY.cjs +2 -0
  10. package/dist/avatar-CTS9-raY.cjs.map +1 -0
  11. package/dist/avatar-DbxqvCjT.mjs +2 -0
  12. package/dist/avatar-DbxqvCjT.mjs.map +1 -0
  13. package/dist/badge-B8bw2UEY.mjs +2 -0
  14. package/dist/badge-B8bw2UEY.mjs.map +1 -0
  15. package/dist/badge-BFTGDsBm.d.cts +42 -0
  16. package/dist/badge-sL8O2yfv.d.mts +42 -0
  17. package/dist/badge-uQ0pIZbQ.cjs +2 -0
  18. package/dist/badge-uQ0pIZbQ.cjs.map +1 -0
  19. package/dist/button-BlQb81It.d.mts +174 -0
  20. package/dist/button-C6ybzxxj.mjs +2 -0
  21. package/dist/button-C6ybzxxj.mjs.map +1 -0
  22. package/dist/button-CEOQ3-82.d.cts +174 -0
  23. package/dist/button-CwDT3m4m.cjs +2 -0
  24. package/dist/button-CwDT3m4m.cjs.map +1 -0
  25. package/dist/button.variants-DeCyas1F.mjs +2 -0
  26. package/dist/button.variants-DeCyas1F.mjs.map +1 -0
  27. package/dist/button.variants-tnhb123u.cjs +2 -0
  28. package/dist/button.variants-tnhb123u.cjs.map +1 -0
  29. package/dist/{calendar-CG-WMM8e.cjs → calendar-CyAPpT2m.cjs} +2 -2
  30. package/dist/calendar-CyAPpT2m.cjs.map +1 -0
  31. package/dist/calendar-JKxWM6AF.mjs +2 -0
  32. package/dist/calendar-JKxWM6AF.mjs.map +1 -0
  33. package/dist/cards/grid-product-card.cjs +1 -1
  34. package/dist/cards/grid-product-card.cjs.map +1 -1
  35. package/dist/cards/grid-product-card.d.cts +23 -0
  36. package/dist/cards/grid-product-card.d.mts +23 -0
  37. package/dist/cards/grid-product-card.mjs +1 -1
  38. package/dist/cards/grid-product-card.mjs.map +1 -1
  39. package/dist/cards/product-card.cjs +1 -1
  40. package/dist/cards/product-card.cjs.map +1 -1
  41. package/dist/cards/product-card.d.cts +23 -0
  42. package/dist/cards/product-card.d.mts +23 -0
  43. package/dist/cards/product-card.mjs +1 -1
  44. package/dist/cards/product-card.mjs.map +1 -1
  45. package/dist/cards/simple-card.cjs +1 -1
  46. package/dist/cards/simple-card.cjs.map +1 -1
  47. package/dist/cards/simple-card.d.cts +16 -0
  48. package/dist/cards/simple-card.d.mts +16 -0
  49. package/dist/cards/simple-card.mjs +1 -1
  50. package/dist/cards/simple-card.mjs.map +1 -1
  51. package/dist/{checkbox-Bg2FiuQw.mjs → checkbox-DJEdYOjA.mjs} +2 -2
  52. package/dist/checkbox-DJEdYOjA.mjs.map +1 -0
  53. package/dist/{checkbox-C0fSWwmD.cjs → checkbox-RZrRNYP2.cjs} +2 -2
  54. package/dist/checkbox-RZrRNYP2.cjs.map +1 -0
  55. package/dist/close-BU0kWRVo.mjs +2 -0
  56. package/dist/{close-DfuHB7kq.mjs.map → close-BU0kWRVo.mjs.map} +1 -1
  57. package/dist/close-DXk_H3Gt.cjs +2 -0
  58. package/dist/{close-D_Ge7gnP.cjs.map → close-DXk_H3Gt.cjs.map} +1 -1
  59. package/dist/cms-layout-Dc4moos1.cjs +2 -0
  60. package/dist/cms-layout-Dc4moos1.cjs.map +1 -0
  61. package/dist/cms-layout-HfnOQS16.mjs +2 -0
  62. package/dist/cms-layout-HfnOQS16.mjs.map +1 -0
  63. package/dist/{command-_zpTaaIk.cjs → command-SHd-d_o0.cjs} +2 -2
  64. package/dist/command-SHd-d_o0.cjs.map +1 -0
  65. package/dist/{command-DhBTNTqz.mjs → command-bpcnKEbR.mjs} +2 -2
  66. package/dist/command-bpcnKEbR.mjs.map +1 -0
  67. package/dist/data-display/country.cjs +1 -1
  68. package/dist/data-display/country.cjs.map +1 -1
  69. package/dist/data-display/country.d.cts +15 -3
  70. package/dist/data-display/country.d.mts +15 -3
  71. package/dist/data-display/country.mjs +1 -1
  72. package/dist/data-display/country.mjs.map +1 -1
  73. package/dist/data-display/data-list.cjs +1 -1
  74. package/dist/data-display/data-list.cjs.map +1 -1
  75. package/dist/data-display/data-list.d.cts +31 -2
  76. package/dist/data-display/data-list.d.mts +31 -2
  77. package/dist/data-display/data-list.mjs +1 -1
  78. package/dist/data-display/data-list.mjs.map +1 -1
  79. package/dist/data-display/date-tooltip.cjs +1 -1
  80. package/dist/data-display/date-tooltip.cjs.map +1 -1
  81. package/dist/data-display/date-tooltip.d.cts +13 -2
  82. package/dist/data-display/date-tooltip.d.mts +13 -2
  83. package/dist/data-display/date-tooltip.mjs +1 -1
  84. package/dist/data-display/date-tooltip.mjs.map +1 -1
  85. package/dist/data-display/date.cjs +1 -1
  86. package/dist/data-display/date.d.cts +28 -2
  87. package/dist/data-display/date.d.mts +28 -2
  88. package/dist/data-display/date.mjs +1 -1
  89. package/dist/data-display/empty.cjs +1 -1
  90. package/dist/data-display/empty.cjs.map +1 -1
  91. package/dist/data-display/empty.d.cts +17 -3
  92. package/dist/data-display/empty.d.mts +17 -3
  93. package/dist/data-display/empty.mjs +1 -1
  94. package/dist/data-display/empty.mjs.map +1 -1
  95. package/dist/data-display/name.cjs +1 -1
  96. package/dist/data-display/name.cjs.map +1 -1
  97. package/dist/data-display/name.d.cts +12 -1
  98. package/dist/data-display/name.d.mts +12 -1
  99. package/dist/data-display/name.mjs +1 -1
  100. package/dist/data-display/name.mjs.map +1 -1
  101. package/dist/data-display/phone-number.cjs +1 -1
  102. package/dist/data-display/phone-number.cjs.map +1 -1
  103. package/dist/data-display/phone-number.d.cts +14 -2
  104. package/dist/data-display/phone-number.d.mts +14 -2
  105. package/dist/data-display/phone-number.mjs +1 -1
  106. package/dist/data-display/phone-number.mjs.map +1 -1
  107. package/dist/data-display/role-badge.cjs +1 -1
  108. package/dist/data-display/role-badge.cjs.map +1 -1
  109. package/dist/data-display/role-badge.d.cts +15 -3
  110. package/dist/data-display/role-badge.d.mts +15 -3
  111. package/dist/data-display/role-badge.mjs +1 -1
  112. package/dist/data-display/role-badge.mjs.map +1 -1
  113. package/dist/data-display/statistic.cjs +1 -1
  114. package/dist/data-display/statistic.cjs.map +1 -1
  115. package/dist/data-display/statistic.d.cts +35 -6
  116. package/dist/data-display/statistic.d.mts +35 -6
  117. package/dist/data-display/statistic.mjs +1 -1
  118. package/dist/data-display/statistic.mjs.map +1 -1
  119. package/dist/data-display/user.cjs +1 -2
  120. package/dist/data-display/user.d.cts +14 -1
  121. package/dist/data-display/user.d.mts +14 -1
  122. package/dist/data-display/user.mjs +1 -2
  123. package/dist/date-CVz9xdCg.mjs +2 -0
  124. package/dist/date-CVz9xdCg.mjs.map +1 -0
  125. package/dist/date-a3RI5Pwo.cjs +2 -0
  126. package/dist/date-a3RI5Pwo.cjs.map +1 -0
  127. package/dist/dialog-Bah7jLoO.d.cts +90 -0
  128. package/dist/dialog-BchwY6-N.mjs +2 -0
  129. package/dist/dialog-BchwY6-N.mjs.map +1 -0
  130. package/dist/dialog-DSg5IKmb.d.mts +90 -0
  131. package/dist/dialog-o_68LQXd.cjs +2 -0
  132. package/dist/dialog-o_68LQXd.cjs.map +1 -0
  133. package/dist/dialogs/confirm-dialog.cjs +1 -1
  134. package/dist/dialogs/confirm-dialog.cjs.map +1 -1
  135. package/dist/dialogs/confirm-dialog.d.cts +129 -3
  136. package/dist/dialogs/confirm-dialog.d.mts +129 -3
  137. package/dist/dialogs/confirm-dialog.mjs +1 -1
  138. package/dist/dialogs/confirm-dialog.mjs.map +1 -1
  139. package/dist/dialogs/detail-dialog/components/sidebar.cjs +1 -2
  140. package/dist/dialogs/detail-dialog/components/sidebar.d.cts +71 -24
  141. package/dist/dialogs/detail-dialog/components/sidebar.d.mts +71 -24
  142. package/dist/dialogs/detail-dialog/components/sidebar.mjs +1 -2
  143. package/dist/dialogs/detail-dialog/index.cjs +1 -1
  144. package/dist/dialogs/detail-dialog/index.cjs.map +1 -1
  145. package/dist/dialogs/detail-dialog/index.d.cts +37 -8
  146. package/dist/dialogs/detail-dialog/index.d.mts +37 -8
  147. package/dist/dialogs/detail-dialog/index.mjs +1 -1
  148. package/dist/dialogs/detail-dialog/index.mjs.map +1 -1
  149. package/dist/dialogs/error-dialog.cjs +1 -1
  150. package/dist/dialogs/error-dialog.cjs.map +1 -1
  151. package/dist/dialogs/error-dialog.d.cts +18 -4
  152. package/dist/dialogs/error-dialog.d.mts +18 -4
  153. package/dist/dialogs/error-dialog.mjs +1 -1
  154. package/dist/dialogs/error-dialog.mjs.map +1 -1
  155. package/dist/dialogs/loading-dialog.cjs +1 -1
  156. package/dist/dialogs/loading-dialog.cjs.map +1 -1
  157. package/dist/dialogs/loading-dialog.d.cts +15 -3
  158. package/dist/dialogs/loading-dialog.d.mts +15 -3
  159. package/dist/dialogs/loading-dialog.mjs +1 -1
  160. package/dist/dialogs/loading-dialog.mjs.map +1 -1
  161. package/dist/{dist-CvmzZ_6C.mjs → dist-CIN9T2FB.mjs} +1 -1
  162. package/dist/{dist-CvmzZ_6C.mjs.map → dist-CIN9T2FB.mjs.map} +1 -1
  163. package/dist/{dist-BudM04oj.cjs → dist-Dh8WwRa8.cjs} +1 -1
  164. package/dist/{dist-BudM04oj.cjs.map → dist-Dh8WwRa8.cjs.map} +1 -1
  165. package/dist/dropdown-menu-Ct9BLGfa.cjs +2 -0
  166. package/dist/dropdown-menu-Ct9BLGfa.cjs.map +1 -0
  167. package/dist/dropdown-menu-DWSfXhHo.mjs +2 -0
  168. package/dist/dropdown-menu-DWSfXhHo.mjs.map +1 -0
  169. package/dist/features/descriptions/index.cjs +1 -1
  170. package/dist/features/descriptions/index.cjs.map +1 -1
  171. package/dist/features/descriptions/index.d.cts +158 -19
  172. package/dist/features/descriptions/index.d.mts +158 -19
  173. package/dist/features/descriptions/index.mjs +1 -1
  174. package/dist/features/descriptions/index.mjs.map +1 -1
  175. package/dist/features/search-modal/index.cjs +1 -2
  176. package/dist/features/search-modal/index.d.cts +12 -2
  177. package/dist/features/search-modal/index.d.mts +12 -2
  178. package/dist/features/search-modal/index.mjs +1 -2
  179. package/dist/features/tables/index.cjs +1 -2
  180. package/dist/features/tables/index.d.cts +746 -24
  181. package/dist/features/tables/index.d.mts +742 -20
  182. package/dist/features/tables/index.mjs +1 -2
  183. package/dist/features/tanstack-form/index.cjs +1 -2
  184. package/dist/features/tanstack-form/index.d.cts +2 -1786
  185. package/dist/features/tanstack-form/index.d.mts +2 -1786
  186. package/dist/features/tanstack-form/index.mjs +1 -2
  187. package/dist/field-CXVnw75a.mjs +2 -0
  188. package/dist/field-CXVnw75a.mjs.map +1 -0
  189. package/dist/field-CppNvoxV.cjs +2 -0
  190. package/dist/field-CppNvoxV.cjs.map +1 -0
  191. package/dist/{flex-BP8sTi70.mjs → flex-BLMTj7Ev.mjs} +2 -2
  192. package/dist/flex-BLMTj7Ev.mjs.map +1 -0
  193. package/dist/{flex-twCgWyx1.cjs → flex-BbbogTsZ.cjs} +2 -2
  194. package/dist/flex-BbbogTsZ.cjs.map +1 -0
  195. package/dist/heading-AKz5ewy-.cjs +2 -0
  196. package/dist/heading-AKz5ewy-.cjs.map +1 -0
  197. package/dist/heading-DN67djxs.mjs +2 -0
  198. package/dist/heading-DN67djxs.mjs.map +1 -0
  199. package/dist/{image-DuFv8sPr.cjs → image-B1Dm5LWk.cjs} +2 -2
  200. package/dist/image-B1Dm5LWk.cjs.map +1 -0
  201. package/dist/{image-CS_Q0WA7.mjs → image-BlzrSaoE.mjs} +2 -2
  202. package/dist/image-BlzrSaoE.mjs.map +1 -0
  203. package/dist/index-D4shnfqM.d.cts +2030 -0
  204. package/dist/index-Dktb6D35.d.mts +2030 -0
  205. package/dist/index.cjs +1 -0
  206. package/dist/index.d.cts +90 -0
  207. package/dist/index.d.mts +90 -0
  208. package/dist/index.mjs +1 -0
  209. package/dist/{input-DBtIgQB6.mjs → input-Cd0G5y-9.mjs} +2 -2
  210. package/dist/input-Cd0G5y-9.mjs.map +1 -0
  211. package/dist/{input-BFWWaN-v.cjs → input-Cl5VkKQh.cjs} +2 -2
  212. package/dist/input-Cl5VkKQh.cjs.map +1 -0
  213. package/dist/input-DAGzv97v.d.mts +44 -0
  214. package/dist/input-DPLvx5x8.d.cts +44 -0
  215. package/dist/{label-BzfsTrVt.cjs → label-DkMTQ3Ch.cjs} +2 -2
  216. package/dist/label-DkMTQ3Ch.cjs.map +1 -0
  217. package/dist/label-OmlGaZ5h.mjs +2 -0
  218. package/dist/label-OmlGaZ5h.mjs.map +1 -0
  219. package/dist/layouts/cms-layout/index.cjs +1 -2
  220. package/dist/layouts/cms-layout/index.d.cts +66 -13
  221. package/dist/layouts/cms-layout/index.d.mts +66 -13
  222. package/dist/layouts/cms-layout/index.mjs +1 -2
  223. package/dist/layouts/flex.cjs +1 -1
  224. package/dist/layouts/flex.d.cts +90 -6
  225. package/dist/layouts/flex.d.mts +93 -9
  226. package/dist/layouts/flex.mjs +1 -1
  227. package/dist/layouts/grid.cjs +1 -1
  228. package/dist/layouts/grid.cjs.map +1 -1
  229. package/dist/layouts/grid.d.cts +14 -0
  230. package/dist/layouts/grid.d.mts +14 -0
  231. package/dist/layouts/grid.mjs +1 -1
  232. package/dist/layouts/grid.mjs.map +1 -1
  233. package/dist/layouts/payment-layout/index.cjs +1 -2
  234. package/dist/layouts/payment-layout/index.d.cts +35 -0
  235. package/dist/layouts/payment-layout/index.d.mts +35 -0
  236. package/dist/layouts/payment-layout/index.mjs +1 -2
  237. package/dist/pages/FeatureDeveloping.cjs +1 -1
  238. package/dist/pages/FeatureDeveloping.cjs.map +1 -1
  239. package/dist/pages/FeatureDeveloping.d.cts +21 -3
  240. package/dist/pages/FeatureDeveloping.d.mts +21 -3
  241. package/dist/pages/FeatureDeveloping.mjs +1 -1
  242. package/dist/pages/FeatureDeveloping.mjs.map +1 -1
  243. package/dist/pages/FeatureFixing.cjs +1 -1
  244. package/dist/pages/FeatureFixing.cjs.map +1 -1
  245. package/dist/pages/FeatureFixing.d.cts +21 -3
  246. package/dist/pages/FeatureFixing.d.mts +21 -3
  247. package/dist/pages/FeatureFixing.mjs +1 -1
  248. package/dist/pages/FeatureFixing.mjs.map +1 -1
  249. package/dist/pages/NotAuthorized.cjs +1 -1
  250. package/dist/pages/NotAuthorized.cjs.map +1 -1
  251. package/dist/pages/NotAuthorized.d.cts +21 -3
  252. package/dist/pages/NotAuthorized.d.mts +21 -3
  253. package/dist/pages/NotAuthorized.mjs +1 -1
  254. package/dist/pages/NotAuthorized.mjs.map +1 -1
  255. package/dist/pages/NotFound.cjs +1 -1
  256. package/dist/pages/NotFound.cjs.map +1 -1
  257. package/dist/pages/NotFound.d.cts +21 -3
  258. package/dist/pages/NotFound.d.mts +21 -3
  259. package/dist/pages/NotFound.mjs +1 -1
  260. package/dist/pages/NotFound.mjs.map +1 -1
  261. package/dist/paragraph-Ch5TvEqL.mjs +2 -0
  262. package/dist/paragraph-Ch5TvEqL.mjs.map +1 -0
  263. package/dist/paragraph-DN85Huc4.cjs +2 -0
  264. package/dist/paragraph-DN85Huc4.cjs.map +1 -0
  265. package/dist/payment-layout-Da29dHJe.cjs +2 -0
  266. package/dist/payment-layout-Da29dHJe.cjs.map +1 -0
  267. package/dist/payment-layout-wN5c7MCM.mjs +2 -0
  268. package/dist/payment-layout-wN5c7MCM.mjs.map +1 -0
  269. package/dist/{popover-DzDrgttC.cjs → popover-AEt-aSy3.cjs} +2 -2
  270. package/dist/popover-AEt-aSy3.cjs.map +1 -0
  271. package/dist/popover-OJXFbqJi.mjs +2 -0
  272. package/dist/popover-OJXFbqJi.mjs.map +1 -0
  273. package/dist/{radio-group-CBhRsUjN.cjs → radio-group-BWLdQw7M.cjs} +2 -2
  274. package/dist/radio-group-BWLdQw7M.cjs.map +1 -0
  275. package/dist/{radio-group-Cem8O6BK.mjs → radio-group-CAgfOr7-.mjs} +2 -2
  276. package/dist/radio-group-CAgfOr7-.mjs.map +1 -0
  277. package/dist/{resizable-mlGS6Zto.cjs → resizable-D6UKwvFa.cjs} +2 -2
  278. package/dist/resizable-D6UKwvFa.cjs.map +1 -0
  279. package/dist/{resizable-DXHfkbaz.mjs → resizable-DWh_mp5P.mjs} +2 -2
  280. package/dist/resizable-DWh_mp5P.mjs.map +1 -0
  281. package/dist/search-modal-BxjKY8I7.mjs +2 -0
  282. package/dist/search-modal-BxjKY8I7.mjs.map +1 -0
  283. package/dist/search-modal-C-jNqQI1.cjs +2 -0
  284. package/dist/search-modal-C-jNqQI1.cjs.map +1 -0
  285. package/dist/{select-2CgwiefV.cjs → select-Py_t2nX1.cjs} +2 -2
  286. package/dist/select-Py_t2nX1.cjs.map +1 -0
  287. package/dist/{select-CivtMKTM.mjs → select-Ze8Fq88G.mjs} +2 -2
  288. package/dist/select-Ze8Fq88G.mjs.map +1 -0
  289. package/dist/separator-BMsbHAVt.mjs +2 -0
  290. package/dist/separator-BMsbHAVt.mjs.map +1 -0
  291. package/dist/{separator-C3ip6sbh.cjs → separator-BwZb12bh.cjs} +2 -2
  292. package/dist/separator-BwZb12bh.cjs.map +1 -0
  293. package/dist/{sheet-5MJRtrfG.cjs → sheet-CaDXTx7n.cjs} +2 -2
  294. package/dist/sheet-CaDXTx7n.cjs.map +1 -0
  295. package/dist/{sheet-oadGRiie.mjs → sheet-DMIqn1iv.mjs} +2 -2
  296. package/dist/sheet-DMIqn1iv.mjs.map +1 -0
  297. package/dist/sidebar-C27_pwLR.cjs +2 -0
  298. package/dist/sidebar-C27_pwLR.cjs.map +1 -0
  299. package/dist/sidebar-meLttL0V.mjs +2 -0
  300. package/dist/sidebar-meLttL0V.mjs.map +1 -0
  301. package/dist/skeleton-BPxcW2yu.mjs +2 -0
  302. package/dist/skeleton-BPxcW2yu.mjs.map +1 -0
  303. package/dist/skeleton-BfMCjXYM.cjs +2 -0
  304. package/dist/skeleton-BfMCjXYM.cjs.map +1 -0
  305. package/dist/spinner-EgMJOaQi.mjs +2 -0
  306. package/dist/spinner-EgMJOaQi.mjs.map +1 -0
  307. package/dist/spinner-MKXqwF9G.cjs +2 -0
  308. package/dist/spinner-MKXqwF9G.cjs.map +1 -0
  309. package/dist/systems/google.cjs.map +1 -1
  310. package/dist/systems/google.d.cts +36 -0
  311. package/dist/systems/google.d.mts +36 -0
  312. package/dist/systems/google.mjs.map +1 -1
  313. package/dist/tables-CmOVrvXM.cjs +2 -0
  314. package/dist/tables-CmOVrvXM.cjs.map +1 -0
  315. package/dist/tables-cBo0_szt.mjs +2 -0
  316. package/dist/tables-cBo0_szt.mjs.map +1 -0
  317. package/dist/tanstack-form-BmV2BXDz.cjs +2 -0
  318. package/dist/tanstack-form-BmV2BXDz.cjs.map +1 -0
  319. package/dist/tanstack-form-CJ43hVb_.mjs +2 -0
  320. package/dist/tanstack-form-CJ43hVb_.mjs.map +1 -0
  321. package/dist/{textarea-COQoSVSc.cjs → textarea-BsgmN4jy.cjs} +2 -2
  322. package/dist/textarea-BsgmN4jy.cjs.map +1 -0
  323. package/dist/{textarea-bLtmb71c.mjs → textarea-CdGSEkZB.mjs} +2 -2
  324. package/dist/textarea-CdGSEkZB.mjs.map +1 -0
  325. package/dist/tooltip-Bj0iOG4s.mjs +2 -0
  326. package/dist/tooltip-Bj0iOG4s.mjs.map +1 -0
  327. package/dist/{tooltip-DC6i1A25.cjs → tooltip-itUmYz9k.cjs} +2 -2
  328. package/dist/tooltip-itUmYz9k.cjs.map +1 -0
  329. package/dist/{types-Bd0JePtp.d.cts → types-B_32Ieia.d.mts} +1 -1
  330. package/dist/{types-BpHcqlOI.d.mts → types-CDYHkcOk.d.cts} +1 -1
  331. package/dist/{types-DBD4LOem.mjs → types-DNphnTW-.mjs} +1 -1
  332. package/dist/{types-DBD4LOem.mjs.map → types-DNphnTW-.mjs.map} +1 -1
  333. package/dist/typography/paragraph.cjs +1 -1
  334. package/dist/typography/paragraph.d.cts +40 -20
  335. package/dist/typography/paragraph.d.mts +40 -20
  336. package/dist/typography/paragraph.mjs +1 -1
  337. package/dist/typography/title.cjs +1 -1
  338. package/dist/typography/title.cjs.map +1 -1
  339. package/dist/typography/title.d.cts +33 -5
  340. package/dist/typography/title.d.mts +33 -5
  341. package/dist/typography/title.mjs +1 -1
  342. package/dist/typography/title.mjs.map +1 -1
  343. package/dist/ui/alert-dialog.cjs +1 -1
  344. package/dist/ui/alert-dialog.cjs.map +1 -1
  345. package/dist/ui/alert-dialog.d.cts +54 -12
  346. package/dist/ui/alert-dialog.d.mts +54 -12
  347. package/dist/ui/alert-dialog.mjs +1 -1
  348. package/dist/ui/alert-dialog.mjs.map +1 -1
  349. package/dist/ui/alert.cjs +1 -2
  350. package/dist/ui/alert.d.cts +2 -69
  351. package/dist/ui/alert.d.mts +2 -69
  352. package/dist/ui/alert.mjs +1 -2
  353. package/dist/ui/aspect-ratio.cjs +1 -1
  354. package/dist/ui/aspect-ratio.cjs.map +1 -1
  355. package/dist/ui/aspect-ratio.d.cts +15 -2
  356. package/dist/ui/aspect-ratio.d.mts +15 -2
  357. package/dist/ui/aspect-ratio.mjs +1 -1
  358. package/dist/ui/aspect-ratio.mjs.map +1 -1
  359. package/dist/ui/avatar.cjs +1 -1
  360. package/dist/ui/avatar.d.cts +20 -4
  361. package/dist/ui/avatar.d.mts +20 -4
  362. package/dist/ui/avatar.mjs +1 -1
  363. package/dist/ui/badge.cjs +1 -1
  364. package/dist/ui/badge.d.cts +2 -21
  365. package/dist/ui/badge.d.mts +2 -21
  366. package/dist/ui/badge.mjs +1 -1
  367. package/dist/ui/breadcrumb.cjs +1 -1
  368. package/dist/ui/breadcrumb.cjs.map +1 -1
  369. package/dist/ui/breadcrumb.d.cts +38 -25
  370. package/dist/ui/breadcrumb.d.mts +38 -25
  371. package/dist/ui/breadcrumb.mjs +1 -1
  372. package/dist/ui/breadcrumb.mjs.map +1 -1
  373. package/dist/ui/button-group.cjs +1 -1
  374. package/dist/ui/button-group.cjs.map +1 -1
  375. package/dist/ui/button-group.d.cts +27 -6
  376. package/dist/ui/button-group.d.mts +27 -6
  377. package/dist/ui/button-group.mjs +1 -1
  378. package/dist/ui/button-group.mjs.map +1 -1
  379. package/dist/ui/button.cjs +1 -1
  380. package/dist/ui/button.d.cts +1 -1
  381. package/dist/ui/button.d.mts +1 -1
  382. package/dist/ui/button.mjs +1 -1
  383. package/dist/ui/buttons/add-new.cjs +1 -1
  384. package/dist/ui/buttons/add-new.cjs.map +1 -1
  385. package/dist/ui/buttons/add-new.d.cts +9 -0
  386. package/dist/ui/buttons/add-new.d.mts +9 -0
  387. package/dist/ui/buttons/add-new.mjs +1 -1
  388. package/dist/ui/buttons/add-new.mjs.map +1 -1
  389. package/dist/ui/buttons/edit.cjs +1 -1
  390. package/dist/ui/buttons/edit.cjs.map +1 -1
  391. package/dist/ui/buttons/edit.d.cts +9 -0
  392. package/dist/ui/buttons/edit.d.mts +9 -0
  393. package/dist/ui/buttons/edit.mjs +1 -1
  394. package/dist/ui/buttons/edit.mjs.map +1 -1
  395. package/dist/ui/buttons/refresh.cjs +1 -1
  396. package/dist/ui/buttons/refresh.cjs.map +1 -1
  397. package/dist/ui/buttons/refresh.d.cts +9 -0
  398. package/dist/ui/buttons/refresh.d.mts +9 -0
  399. package/dist/ui/buttons/refresh.mjs +1 -1
  400. package/dist/ui/buttons/refresh.mjs.map +1 -1
  401. package/dist/ui/buttons/trash.cjs +1 -1
  402. package/dist/ui/buttons/trash.cjs.map +1 -1
  403. package/dist/ui/buttons/trash.d.cts +9 -0
  404. package/dist/ui/buttons/trash.d.mts +9 -0
  405. package/dist/ui/buttons/trash.mjs +1 -1
  406. package/dist/ui/buttons/trash.mjs.map +1 -1
  407. package/dist/ui/buttons/upload-image.cjs +1 -1
  408. package/dist/ui/buttons/upload-image.cjs.map +1 -1
  409. package/dist/ui/buttons/upload-image.d.cts +13 -0
  410. package/dist/ui/buttons/upload-image.d.mts +13 -0
  411. package/dist/ui/buttons/upload-image.mjs +1 -1
  412. package/dist/ui/buttons/upload-image.mjs.map +1 -1
  413. package/dist/ui/calendar.cjs +1 -1
  414. package/dist/ui/calendar.d.cts +22 -4
  415. package/dist/ui/calendar.d.mts +22 -4
  416. package/dist/ui/calendar.mjs +1 -1
  417. package/dist/ui/card.cjs +1 -1
  418. package/dist/ui/card.cjs.map +1 -1
  419. package/dist/ui/card.d.cts +37 -8
  420. package/dist/ui/card.d.mts +37 -8
  421. package/dist/ui/card.mjs +1 -1
  422. package/dist/ui/card.mjs.map +1 -1
  423. package/dist/ui/carousel.cjs +1 -1
  424. package/dist/ui/carousel.cjs.map +1 -1
  425. package/dist/ui/carousel.d.cts +31 -7
  426. package/dist/ui/carousel.d.mts +31 -7
  427. package/dist/ui/carousel.mjs +1 -1
  428. package/dist/ui/carousel.mjs.map +1 -1
  429. package/dist/ui/checkbox.cjs +1 -1
  430. package/dist/ui/checkbox.d.cts +17 -2
  431. package/dist/ui/checkbox.d.mts +17 -2
  432. package/dist/ui/checkbox.mjs +1 -1
  433. package/dist/ui/collapsible.cjs.map +1 -1
  434. package/dist/ui/collapsible.d.cts +22 -4
  435. package/dist/ui/collapsible.d.mts +22 -4
  436. package/dist/ui/collapsible.mjs.map +1 -1
  437. package/dist/ui/command.cjs +1 -1
  438. package/dist/ui/command.d.cts +48 -11
  439. package/dist/ui/command.d.mts +48 -11
  440. package/dist/ui/command.mjs +1 -1
  441. package/dist/ui/context-menu.cjs +1 -1
  442. package/dist/ui/context-menu.cjs.map +1 -1
  443. package/dist/ui/context-menu.d.cts +65 -16
  444. package/dist/ui/context-menu.d.mts +65 -16
  445. package/dist/ui/context-menu.mjs +1 -1
  446. package/dist/ui/context-menu.mjs.map +1 -1
  447. package/dist/ui/dialog.cjs +1 -1
  448. package/dist/ui/dialog.d.cts +1 -1
  449. package/dist/ui/dialog.d.mts +1 -1
  450. package/dist/ui/dialog.mjs +1 -1
  451. package/dist/ui/drawer.cjs +1 -1
  452. package/dist/ui/drawer.cjs.map +1 -1
  453. package/dist/ui/drawer.d.cts +39 -11
  454. package/dist/ui/drawer.d.mts +39 -11
  455. package/dist/ui/drawer.mjs +1 -1
  456. package/dist/ui/drawer.mjs.map +1 -1
  457. package/dist/ui/dropdown-menu.cjs +1 -1
  458. package/dist/ui/dropdown-menu.d.cts +65 -16
  459. package/dist/ui/dropdown-menu.d.mts +65 -16
  460. package/dist/ui/dropdown-menu.mjs +1 -1
  461. package/dist/ui/empty.cjs +1 -1
  462. package/dist/ui/empty.cjs.map +1 -1
  463. package/dist/ui/empty.d.cts +41 -9
  464. package/dist/ui/empty.d.mts +41 -9
  465. package/dist/ui/empty.mjs +1 -1
  466. package/dist/ui/empty.mjs.map +1 -1
  467. package/dist/ui/field.cjs +1 -2
  468. package/dist/ui/field.d.cts +13 -13
  469. package/dist/ui/field.d.mts +24 -24
  470. package/dist/ui/field.mjs +1 -2
  471. package/dist/ui/file-uploader.cjs +2 -2
  472. package/dist/ui/file-uploader.cjs.map +1 -1
  473. package/dist/ui/file-uploader.d.cts +27 -2
  474. package/dist/ui/file-uploader.d.mts +27 -2
  475. package/dist/ui/file-uploader.mjs +2 -2
  476. package/dist/ui/file-uploader.mjs.map +1 -1
  477. package/dist/ui/form.cjs +1 -1
  478. package/dist/ui/form.cjs.map +1 -1
  479. package/dist/ui/form.d.cts +51 -7
  480. package/dist/ui/form.d.mts +55 -11
  481. package/dist/ui/form.mjs +1 -1
  482. package/dist/ui/form.mjs.map +1 -1
  483. package/dist/ui/hover-card.cjs +1 -1
  484. package/dist/ui/hover-card.cjs.map +1 -1
  485. package/dist/ui/hover-card.d.cts +22 -4
  486. package/dist/ui/hover-card.d.mts +22 -4
  487. package/dist/ui/hover-card.mjs +1 -1
  488. package/dist/ui/hover-card.mjs.map +1 -1
  489. package/dist/ui/image.cjs +1 -1
  490. package/dist/ui/image.d.cts +20 -0
  491. package/dist/ui/image.d.mts +20 -0
  492. package/dist/ui/image.mjs +1 -1
  493. package/dist/ui/input-otp.cjs +1 -1
  494. package/dist/ui/input-otp.cjs.map +1 -1
  495. package/dist/ui/input-otp.d.cts +36 -5
  496. package/dist/ui/input-otp.d.mts +36 -5
  497. package/dist/ui/input-otp.mjs +1 -1
  498. package/dist/ui/input-otp.mjs.map +1 -1
  499. package/dist/ui/input.cjs +1 -1
  500. package/dist/ui/input.d.cts +1 -1
  501. package/dist/ui/input.d.mts +1 -1
  502. package/dist/ui/input.mjs +1 -1
  503. package/dist/ui/inputs/search-input.cjs +1 -1
  504. package/dist/ui/inputs/search-input.cjs.map +1 -1
  505. package/dist/ui/inputs/search-input.d.cts +20 -3
  506. package/dist/ui/inputs/search-input.d.mts +20 -3
  507. package/dist/ui/inputs/search-input.mjs +1 -1
  508. package/dist/ui/inputs/search-input.mjs.map +1 -1
  509. package/dist/ui/item.cjs +1 -1
  510. package/dist/ui/item.cjs.map +1 -1
  511. package/dist/ui/item.d.cts +56 -16
  512. package/dist/ui/item.d.mts +56 -16
  513. package/dist/ui/item.mjs +1 -1
  514. package/dist/ui/item.mjs.map +1 -1
  515. package/dist/ui/label.cjs +1 -1
  516. package/dist/ui/label.d.cts +15 -2
  517. package/dist/ui/label.d.mts +15 -2
  518. package/dist/ui/label.mjs +1 -1
  519. package/dist/ui/menubar.cjs +1 -1
  520. package/dist/ui/menubar.cjs.map +1 -1
  521. package/dist/ui/menubar.d.cts +68 -17
  522. package/dist/ui/menubar.d.mts +68 -17
  523. package/dist/ui/menubar.mjs +1 -1
  524. package/dist/ui/menubar.mjs.map +1 -1
  525. package/dist/ui/multi-select.cjs +1 -1
  526. package/dist/ui/multi-select.cjs.map +1 -1
  527. package/dist/ui/multi-select.d.cts +39 -2
  528. package/dist/ui/multi-select.d.mts +40 -3
  529. package/dist/ui/multi-select.mjs +1 -1
  530. package/dist/ui/multi-select.mjs.map +1 -1
  531. package/dist/ui/navigation-menu.cjs +1 -1
  532. package/dist/ui/navigation-menu.cjs.map +1 -1
  533. package/dist/ui/navigation-menu.d.cts +42 -11
  534. package/dist/ui/navigation-menu.d.mts +42 -11
  535. package/dist/ui/navigation-menu.mjs +1 -1
  536. package/dist/ui/navigation-menu.mjs.map +1 -1
  537. package/dist/ui/pagination.cjs +1 -1
  538. package/dist/ui/pagination.cjs.map +1 -1
  539. package/dist/ui/pagination.d.cts +37 -9
  540. package/dist/ui/pagination.d.mts +37 -9
  541. package/dist/ui/pagination.mjs +1 -1
  542. package/dist/ui/pagination.mjs.map +1 -1
  543. package/dist/ui/popover.cjs +1 -1
  544. package/dist/ui/popover.d.cts +32 -6
  545. package/dist/ui/popover.d.mts +32 -6
  546. package/dist/ui/popover.mjs +1 -1
  547. package/dist/ui/progress.cjs +1 -1
  548. package/dist/ui/progress.cjs.map +1 -1
  549. package/dist/ui/progress.d.cts +13 -2
  550. package/dist/ui/progress.d.mts +13 -2
  551. package/dist/ui/progress.mjs +1 -1
  552. package/dist/ui/progress.mjs.map +1 -1
  553. package/dist/ui/radio-group.cjs +1 -1
  554. package/dist/ui/radio-group.d.cts +25 -3
  555. package/dist/ui/radio-group.d.mts +25 -3
  556. package/dist/ui/radio-group.mjs +1 -1
  557. package/dist/ui/resizable.cjs +1 -1
  558. package/dist/ui/resizable.d.cts +29 -9
  559. package/dist/ui/resizable.d.mts +29 -9
  560. package/dist/ui/resizable.mjs +1 -1
  561. package/dist/ui/scroll-area.cjs +1 -1
  562. package/dist/ui/scroll-area.cjs.map +1 -1
  563. package/dist/ui/scroll-area.d.cts +24 -6
  564. package/dist/ui/scroll-area.d.mts +24 -6
  565. package/dist/ui/scroll-area.mjs +1 -1
  566. package/dist/ui/scroll-area.mjs.map +1 -1
  567. package/dist/ui/select.cjs +1 -1
  568. package/dist/ui/select.d.cts +43 -9
  569. package/dist/ui/select.d.mts +43 -9
  570. package/dist/ui/select.mjs +1 -1
  571. package/dist/ui/separator.cjs +1 -1
  572. package/dist/ui/separator.d.cts +23 -2
  573. package/dist/ui/separator.d.mts +23 -2
  574. package/dist/ui/separator.mjs +1 -1
  575. package/dist/ui/sheet.cjs +1 -1
  576. package/dist/ui/sheet.d.cts +38 -9
  577. package/dist/ui/sheet.d.mts +38 -9
  578. package/dist/ui/sheet.mjs +1 -1
  579. package/dist/ui/sidebar.cjs +1 -1
  580. package/dist/ui/sidebar.cjs.map +1 -1
  581. package/dist/ui/sidebar.d.cts +125 -28
  582. package/dist/ui/sidebar.d.mts +123 -26
  583. package/dist/ui/sidebar.mjs +1 -1
  584. package/dist/ui/sidebar.mjs.map +1 -1
  585. package/dist/ui/skeleton.cjs +1 -1
  586. package/dist/ui/skeleton.d.cts +19 -2
  587. package/dist/ui/skeleton.d.mts +19 -2
  588. package/dist/ui/skeleton.mjs +1 -1
  589. package/dist/ui/slider.cjs +1 -1
  590. package/dist/ui/slider.cjs.map +1 -1
  591. package/dist/ui/slider.d.cts +13 -2
  592. package/dist/ui/slider.d.mts +13 -2
  593. package/dist/ui/slider.mjs +1 -1
  594. package/dist/ui/slider.mjs.map +1 -1
  595. package/dist/ui/sonner.cjs +1 -1
  596. package/dist/ui/sonner.cjs.map +1 -1
  597. package/dist/ui/sonner.d.cts +18 -2
  598. package/dist/ui/sonner.d.mts +18 -2
  599. package/dist/ui/sonner.mjs +1 -1
  600. package/dist/ui/sonner.mjs.map +1 -1
  601. package/dist/ui/spinner.cjs +1 -1
  602. package/dist/ui/spinner.d.cts +17 -2
  603. package/dist/ui/spinner.d.mts +17 -2
  604. package/dist/ui/spinner.mjs +1 -1
  605. package/dist/ui/switch.cjs +1 -1
  606. package/dist/ui/switch.cjs.map +1 -1
  607. package/dist/ui/switch.d.cts +17 -2
  608. package/dist/ui/switch.d.mts +17 -2
  609. package/dist/ui/switch.mjs +1 -1
  610. package/dist/ui/switch.mjs.map +1 -1
  611. package/dist/ui/table.cjs +1 -1
  612. package/dist/ui/table.cjs.map +1 -1
  613. package/dist/ui/table.d.cts +44 -9
  614. package/dist/ui/table.d.mts +53 -18
  615. package/dist/ui/table.mjs +1 -1
  616. package/dist/ui/table.mjs.map +1 -1
  617. package/dist/ui/tabs.cjs +1 -1
  618. package/dist/ui/tabs.cjs.map +1 -1
  619. package/dist/ui/tabs.d.cts +26 -5
  620. package/dist/ui/tabs.d.mts +26 -5
  621. package/dist/ui/tabs.mjs +1 -1
  622. package/dist/ui/tabs.mjs.map +1 -1
  623. package/dist/ui/textarea.cjs +1 -1
  624. package/dist/ui/textarea.d.cts +18 -2
  625. package/dist/ui/textarea.d.mts +18 -2
  626. package/dist/ui/textarea.mjs +1 -1
  627. package/dist/ui/toggle-group.cjs +1 -1
  628. package/dist/ui/toggle-group.cjs.map +1 -1
  629. package/dist/ui/toggle-group.d.cts +19 -3
  630. package/dist/ui/toggle-group.d.mts +19 -3
  631. package/dist/ui/toggle-group.mjs +1 -1
  632. package/dist/ui/toggle-group.mjs.map +1 -1
  633. package/dist/ui/toggle.cjs +1 -1
  634. package/dist/ui/toggle.cjs.map +1 -1
  635. package/dist/ui/toggle.d.cts +15 -2
  636. package/dist/ui/toggle.d.mts +17 -4
  637. package/dist/ui/toggle.mjs +1 -1
  638. package/dist/ui/toggle.mjs.map +1 -1
  639. package/dist/ui/tooltip.cjs +1 -1
  640. package/dist/ui/tooltip.d.cts +37 -5
  641. package/dist/ui/tooltip.d.mts +37 -5
  642. package/dist/ui/tooltip.mjs +1 -1
  643. package/dist/user-BEyYLDNK.cjs +2 -0
  644. package/dist/user-BEyYLDNK.cjs.map +1 -0
  645. package/dist/user-DONsffqr.mjs +2 -0
  646. package/dist/user-DONsffqr.mjs.map +1 -0
  647. package/package.json +14 -5
  648. package/styles/theme.css +44 -23
  649. package/dist/avatar-DReNH6rV.mjs +0 -2
  650. package/dist/avatar-DReNH6rV.mjs.map +0 -1
  651. package/dist/avatar-aVxo69zP.cjs +0 -2
  652. package/dist/avatar-aVxo69zP.cjs.map +0 -1
  653. package/dist/badge-B4Fa7-J3.mjs +0 -2
  654. package/dist/badge-B4Fa7-J3.mjs.map +0 -1
  655. package/dist/badge-cvLJyaCA.cjs +0 -2
  656. package/dist/badge-cvLJyaCA.cjs.map +0 -1
  657. package/dist/button-BFcXpjqF.cjs +0 -2
  658. package/dist/button-BFcXpjqF.cjs.map +0 -1
  659. package/dist/button-BQTNG97Y.mjs +0 -2
  660. package/dist/button-BQTNG97Y.mjs.map +0 -1
  661. package/dist/button-BX8Kz9y6.d.cts +0 -59
  662. package/dist/button-Bo4oQsyD.d.mts +0 -59
  663. package/dist/button.variants-CS-Cmarr.cjs +0 -2
  664. package/dist/button.variants-CS-Cmarr.cjs.map +0 -1
  665. package/dist/button.variants-DRWf66hR.mjs +0 -2
  666. package/dist/button.variants-DRWf66hR.mjs.map +0 -1
  667. package/dist/calendar-CG-WMM8e.cjs.map +0 -1
  668. package/dist/calendar-CfOkrubO.mjs +0 -2
  669. package/dist/calendar-CfOkrubO.mjs.map +0 -1
  670. package/dist/checkbox-Bg2FiuQw.mjs.map +0 -1
  671. package/dist/checkbox-C0fSWwmD.cjs.map +0 -1
  672. package/dist/close-D_Ge7gnP.cjs +0 -2
  673. package/dist/close-DfuHB7kq.mjs +0 -2
  674. package/dist/command-DhBTNTqz.mjs.map +0 -1
  675. package/dist/command-_zpTaaIk.cjs.map +0 -1
  676. package/dist/data-display/user.cjs.map +0 -1
  677. package/dist/data-display/user.mjs.map +0 -1
  678. package/dist/date-By93kONr.mjs +0 -2
  679. package/dist/date-By93kONr.mjs.map +0 -1
  680. package/dist/date-em5f7hCx.cjs +0 -2
  681. package/dist/date-em5f7hCx.cjs.map +0 -1
  682. package/dist/dialog-CxELDK98.mjs +0 -2
  683. package/dist/dialog-CxELDK98.mjs.map +0 -1
  684. package/dist/dialog-DjRiV5vR.cjs +0 -2
  685. package/dist/dialog-DjRiV5vR.cjs.map +0 -1
  686. package/dist/dialog-PWeGBpsm.d.mts +0 -47
  687. package/dist/dialog-aSu9xFOW.d.cts +0 -47
  688. package/dist/dialogs/detail-dialog/components/sidebar.cjs.map +0 -1
  689. package/dist/dialogs/detail-dialog/components/sidebar.mjs.map +0 -1
  690. package/dist/dropdown-menu-B8GUTfTp.mjs +0 -2
  691. package/dist/dropdown-menu-B8GUTfTp.mjs.map +0 -1
  692. package/dist/dropdown-menu-BuyuU6uF.cjs +0 -2
  693. package/dist/dropdown-menu-BuyuU6uF.cjs.map +0 -1
  694. package/dist/features/search-modal/index.cjs.map +0 -1
  695. package/dist/features/search-modal/index.mjs.map +0 -1
  696. package/dist/features/tables/index.cjs.map +0 -1
  697. package/dist/features/tables/index.mjs.map +0 -1
  698. package/dist/features/tanstack-form/index.cjs.map +0 -1
  699. package/dist/features/tanstack-form/index.mjs.map +0 -1
  700. package/dist/flex-BP8sTi70.mjs.map +0 -1
  701. package/dist/flex-twCgWyx1.cjs.map +0 -1
  702. package/dist/heading--VmdIi7C.mjs +0 -2
  703. package/dist/heading--VmdIi7C.mjs.map +0 -1
  704. package/dist/heading-BEm5CCSE.cjs +0 -2
  705. package/dist/heading-BEm5CCSE.cjs.map +0 -1
  706. package/dist/image-CS_Q0WA7.mjs.map +0 -1
  707. package/dist/image-DuFv8sPr.cjs.map +0 -1
  708. package/dist/input-BFWWaN-v.cjs.map +0 -1
  709. package/dist/input-BgHvD7zf.d.mts +0 -25
  710. package/dist/input-DBtIgQB6.mjs.map +0 -1
  711. package/dist/input-DhQmoNrK.d.cts +0 -25
  712. package/dist/label-BzfsTrVt.cjs.map +0 -1
  713. package/dist/label-Dqr8nxWi.mjs +0 -2
  714. package/dist/label-Dqr8nxWi.mjs.map +0 -1
  715. package/dist/layouts/cms-layout/index.cjs.map +0 -1
  716. package/dist/layouts/cms-layout/index.mjs.map +0 -1
  717. package/dist/layouts/payment-layout/index.cjs.map +0 -1
  718. package/dist/layouts/payment-layout/index.mjs.map +0 -1
  719. package/dist/paragraph-B72bHMf7.cjs +0 -2
  720. package/dist/paragraph-B72bHMf7.cjs.map +0 -1
  721. package/dist/paragraph-moBSTPmT.mjs +0 -2
  722. package/dist/paragraph-moBSTPmT.mjs.map +0 -1
  723. package/dist/popover-BckwBuuD.mjs +0 -2
  724. package/dist/popover-BckwBuuD.mjs.map +0 -1
  725. package/dist/popover-DzDrgttC.cjs.map +0 -1
  726. package/dist/radio-group-CBhRsUjN.cjs.map +0 -1
  727. package/dist/radio-group-Cem8O6BK.mjs.map +0 -1
  728. package/dist/resizable-DXHfkbaz.mjs.map +0 -1
  729. package/dist/resizable-mlGS6Zto.cjs.map +0 -1
  730. package/dist/select-2CgwiefV.cjs.map +0 -1
  731. package/dist/select-CivtMKTM.mjs.map +0 -1
  732. package/dist/separator-Bf0gymN4.mjs +0 -2
  733. package/dist/separator-Bf0gymN4.mjs.map +0 -1
  734. package/dist/separator-C3ip6sbh.cjs.map +0 -1
  735. package/dist/sheet-5MJRtrfG.cjs.map +0 -1
  736. package/dist/sheet-oadGRiie.mjs.map +0 -1
  737. package/dist/skeleton-Ba6koCVf.mjs +0 -2
  738. package/dist/skeleton-Ba6koCVf.mjs.map +0 -1
  739. package/dist/skeleton-CHympz8k.cjs +0 -2
  740. package/dist/skeleton-CHympz8k.cjs.map +0 -1
  741. package/dist/spinner-Chm_2fLr.cjs +0 -2
  742. package/dist/spinner-Chm_2fLr.cjs.map +0 -1
  743. package/dist/spinner-D1v3Bard.mjs +0 -2
  744. package/dist/spinner-D1v3Bard.mjs.map +0 -1
  745. package/dist/textarea-COQoSVSc.cjs.map +0 -1
  746. package/dist/textarea-bLtmb71c.mjs.map +0 -1
  747. package/dist/tooltip-B3dTcgcc.mjs +0 -2
  748. package/dist/tooltip-B3dTcgcc.mjs.map +0 -1
  749. package/dist/tooltip-DC6i1A25.cjs.map +0 -1
  750. package/dist/ui/alert.cjs.map +0 -1
  751. package/dist/ui/alert.mjs.map +0 -1
  752. package/dist/ui/field.cjs.map +0 -1
  753. package/dist/ui/field.mjs.map +0 -1
@@ -1,16 +1,45 @@
1
1
  //#region packages/components/dialogs/detail-dialog/index.d.ts
2
- declare const DetailDialog: React.FC<React.PropsWithChildren<{
2
+ type DetailDialogSidebar = {
3
+ /** Title shown in the collapsible sidebar header. Defaults to `'Detail Dialog'`. */
4
+ title?: string;
5
+ /** Arbitrary content rendered inside the sidebar scrollable area. */
6
+ content?: React.ReactNode;
7
+ /** Arbitrary content rendered at the bottom of the sidebar footer. */
8
+ footer?: React.ReactNode;
9
+ };
10
+ type DetailDialogProps = {
11
+ /** Controls whether the dialog is open. */
3
12
  open?: boolean;
13
+ /** When `true`, replaces the main content area with a centered loading spinner. */
4
14
  isLoading?: boolean;
15
+ /** Primary title displayed in the dialog header. */
5
16
  title: string;
17
+ /** ISO string, `Date` object, or Unix timestamp shown as a formatted creation date below the title. */
6
18
  createdAt?: string | Date | number | null;
7
- sidebar?: {
8
- title?: string;
9
- content?: React.ReactNode;
10
- footer?: React.ReactNode;
11
- };
19
+ /** Optional sidebar configuration — title, body content, and footer content. */
20
+ sidebar?: DetailDialogSidebar;
21
+ /** Callback invoked when the dialog open state changes. */
12
22
  onOpenChange?: (open: boolean) => void;
13
- }>>;
23
+ };
24
+ /**
25
+ * Full-screen detail dialog with a collapsible sidebar, a header with creation date, and a scrollable content area.
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * import { DetailDialog } from '@customafk/lunas-ui/dialogs/detail-dialog';
30
+ *
31
+ * <DetailDialog
32
+ * open={open}
33
+ * title="Order #1234"
34
+ * createdAt="2024-01-15T09:00:00Z"
35
+ * sidebar={{ title: 'Navigation', content: <nav>...</nav> }}
36
+ * onOpenChange={setOpen}
37
+ * >
38
+ * <p>Detail content goes here.</p>
39
+ * </DetailDialog>
40
+ * ```
41
+ */
42
+ declare const DetailDialog: React.FC<React.PropsWithChildren<DetailDialogProps>>;
14
43
  //#endregion
15
- export { DetailDialog };
44
+ export { DetailDialog, DetailDialogProps };
16
45
  //# sourceMappingURL=index.d.mts.map
@@ -1,2 +1,2 @@
1
- import"../../button.variants-DRWf66hR.mjs";import"../../button-BQTNG97Y.mjs";import"../../skeleton-Ba6koCVf.mjs";import{t as e}from"../../flex-BP8sTi70.mjs";import{t}from"../../date-By93kONr.mjs";import"../../tooltip-B3dTcgcc.mjs";import{Title as n}from"../../typography/title.mjs";import"../../separator-Bf0gymN4.mjs";import"../../sheet-oadGRiie.mjs";import{DetailDialogSidebarContent as r,DetailDialogSidebarFooter as i,DetailDialogSidebarHeader as a,DetailDialogSidebarMenu as o,DetailDialogSidebarMenuButton as s,DetailDialogSidebarMenuItem as c,DetailDialogSidebarTrigger as l,Sidebar as u,SidebarProvider as d}from"./components/sidebar.mjs";import{cn as f}from"@customafk/react-toolkit/utils";import{useCallback as p}from"react";import{jsx as m,jsxs as h}from"react/jsx-runtime";import{CalendarIcon as g,CatIcon as _,XIcon as v}from"lucide-react";import{Dialog as y}from"radix-ui";const b=({open:b,isLoading:x,title:S,createdAt:C,onOpenChange:w,sidebar:T,children:E})=>{let{content:D,footer:O}=T||{},k=p(e=>{e.preventDefault(),e.stopPropagation()},[]);return m(y.Root,{"data-slot":`detail-dialog`,open:b,onOpenChange:w,children:h(y.Portal,{"data-slot":`detail-dialog-portal`,children:[m(y.Overlay,{"data-slot":`detail-dialog-overlay`,className:`data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=open]:animate-in`}),m(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:h(y.Content,{"data-slot":`dialog-content`,className:f(`data-[state=open]:fade-in-0 data-[state=open]:zoom-in-80 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-80`,`data-[state=closed]:animate-out data-[state=open]:animate-in`,`relative z-50 grid`,`gap-4 overflow-hidden rounded-none border-none bg-background p-0 shadow-dialog outline-none duration-200`,`h-full max-h-dvh w-full max-w-svw`,`sm:max-w-lg`,`sm:rounded-lg`,`md:max-h-[calc(100dvh-2rem)]`,`md:max-w-[calc(100svw-2rem)]`),onInteractOutside:k,children:[h(d,{children:[h(u,{collapsible:`icon`,children:[m(a,{children:m(o,{children:m(c,{children:h(s,{size:`lg`,tabIndex:-1,children:[m(`div`,{className:`flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground`,children:m(_,{size:16})}),h(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[m(`span`,{className:`truncate font-medium`,children:T?.title||`Detail Dialog`}),m(`span`,{className:`truncate text-xs`,children:`Lunas Enterprise`})]})]})})})}),m(r,{children:D}),m(i,{children:O})]}),m(`main`,{"data-slot":`detail-dialog-main`,className:`relative h-full flex-1`,children:h(e,{padding:`none`,gap:`none`,vertical:!0,align:`stretch`,className:`absolute inset-0 size-full`,children:[h(`header`,{className:`flex w-full flex-0 items-start gap-x-2.5 border-border-weak border-b bg-card py-2.5 pr-12 pl-2`,children:[m(l,{}),h(e,{vertical:!0,align:`start`,padding:`none`,width:`null`,wrap:!1,className:`flex-1 gap-0`,children:[m(n,{level:5,className:`line-clamp-1 truncate text-wrap`,children:S||`Detail Dialog`}),!!C&&h(e,{padding:`none`,className:`relative items-center text-text-positive-weak`,children:[m(g,{size:12}),m(t,{showTime:!0,showHoliday:!0,date:C,format:`full`})]})]})]}),x?m(e,{justify:`center`,className:`inset-shadow-sm w-full flex-1 bg-muted-muted`,children:m(`div`,{className:`loader`})}):m(`section`,{"data-slot":`detail-dialog-body-loading`,className:`relative inset-shadow-sm flex flex-1 snap-y flex-col gap-0 overflow-y-auto bg-muted-bg-subtle`,children:E})]})})]}),m(y.Close,{"data-slot":`dialog-close`,tabIndex:-1,asChild:!0,className:`absolute top-3 right-3`,children:m(`button`,{className:`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`,children:m(v,{size:24})})})]})})]})})};export{b as DetailDialog};
1
+ "use client";import"../../button.variants-DeCyas1F.mjs";import"../../button-C6ybzxxj.mjs";import"../../skeleton-BPxcW2yu.mjs";import{t as e}from"../../flex-BLMTj7Ev.mjs";import{t}from"../../date-CVz9xdCg.mjs";import"../../tooltip-Bj0iOG4s.mjs";import{Title as n}from"../../typography/title.mjs";import"../../separator-BMsbHAVt.mjs";import"../../sheet-DMIqn1iv.mjs";import{S as r,b as i,c as a,d as o,f as s,n as c,s as l,t as u,y as d}from"../../sidebar-meLttL0V.mjs";import{CalendarIcon as f,CatIcon as p,XIcon as m}from"lucide-react";import{useCallback as h}from"react";import{jsx as g,jsxs as _}from"react/jsx-runtime";import{cn as v}from"@customafk/react-toolkit/utils";import{Dialog as y}from"radix-ui";const b=({open:b,isLoading:x,title:S,createdAt:C,onOpenChange:w,sidebar:T,children:E})=>{let{content:D,footer:O}=T||{},k=h(e=>{e.preventDefault(),e.stopPropagation()},[]);return g(y.Root,{"data-slot":`detail-dialog`,open:b,onOpenChange:w,children:_(y.Portal,{"data-slot":`detail-dialog-portal`,children:[g(y.Overlay,{"data-slot":`detail-dialog-overlay`,className:`fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`}),g(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:_(y.Content,{"data-slot":`dialog-content`,className:v(`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,`data-[state=closed]:zoom-out-80 data-[state=open]:zoom-in-80`,`relative z-50 grid`,`gap-4 overflow-hidden rounded-none border-none bg-background p-0 shadow-dialog outline-none duration-200`,`h-full max-h-dvh w-full max-w-svw`,`sm:rounded-lg`,`sm:max-w-lg`,`md:max-h-[calc(100dvh-2rem)]`,`md:max-w-[calc(100svw-2rem)]`),onInteractOutside:k,children:[_(r,{children:[_(i,{collapsible:`icon`,children:[g(l,{children:g(a,{children:g(s,{children:_(o,{size:`lg`,tabIndex:-1,children:[g(`div`,{className:`flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground`,children:g(p,{size:16})}),_(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[g(`span`,{className:`truncate font-medium`,children:T?.title||`Detail Dialog`}),g(`span`,{className:`truncate text-xs`,children:`Lunas Enterprise`})]})]})})})}),g(u,{children:D}),g(c,{children:O})]}),g(`main`,{"data-slot":`detail-dialog-main`,className:`relative h-full flex-1`,children:_(e,{padding:`none`,gap:`none`,vertical:!0,align:`stretch`,className:`absolute inset-0 size-full`,children:[_(`header`,{className:`flex w-full flex-0 items-start gap-x-2.5 border-b border-border-weak bg-card py-2.5 pr-12 pl-2`,children:[g(d,{}),_(e,{vertical:!0,align:`start`,padding:`none`,width:`null`,wrap:!1,className:`flex-1 gap-0`,children:[g(n,{level:5,className:`line-clamp-1 truncate text-wrap`,children:S||`Detail Dialog`}),!!C&&_(e,{padding:`none`,className:`relative items-center text-text-positive-weak`,children:[g(f,{size:12}),g(t,{showTime:!0,showHoliday:!0,date:C,format:`full`})]})]})]}),x?g(e,{justify:`center`,className:`inset-shadow-sm w-full flex-1 bg-muted-muted`,children:g(`div`,{className:`loader`})}):g(`section`,{"data-slot":`detail-dialog-body`,className:`relative inset-shadow-sm flex flex-1 snap-y flex-col gap-0 overflow-y-auto bg-muted-bg-subtle`,children:E})]})})]}),g(y.Close,{"data-slot":`dialog-close`,tabIndex:-1,asChild:!0,className:`absolute top-3 right-3`,children:g(`button`,{className:`flex cursor-pointer items-center justify-center rounded-full 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`,children:g(m,{size:24})})})]})})]})})};export{b as DetailDialog};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["DetailDialog: React.FC<\n React.PropsWithChildren<{\n open?: boolean;\n isLoading?: boolean;\n\n title: string;\n createdAt?: string | Date | number | null;\n\n sidebar?: {\n title?: string;\n content?: React.ReactNode;\n footer?: React.ReactNode;\n };\n\n onOpenChange?: (open: boolean) => void;\n }>\n>","DialogPrimitive"],"sources":["../../../packages/components/dialogs/detail-dialog/index.tsx"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { CalendarIcon, CatIcon, XIcon } from 'lucide-react';\n\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport { DateDisplay } from '@/components/data-display/date';\nimport { Flex } from '@/components/layouts/flex';\nimport { Title } from '@/components/typography/title';\nimport {\n DetailDialogSidebarContent,\n DetailDialogSidebarFooter,\n DetailDialogSidebarHeader,\n DetailDialogSidebarMenu,\n DetailDialogSidebarMenuButton,\n DetailDialogSidebarMenuItem,\n DetailDialogSidebarTrigger,\n Sidebar,\n SidebarProvider,\n} from './components/sidebar';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nexport const DetailDialog: React.FC<\n React.PropsWithChildren<{\n open?: boolean;\n isLoading?: boolean;\n\n title: string;\n createdAt?: string | Date | number | null;\n\n sidebar?: {\n title?: string;\n content?: React.ReactNode;\n footer?: React.ReactNode;\n };\n\n onOpenChange?: (open: boolean) => void;\n }>\n> = ({ open, isLoading, title, createdAt, onOpenChange, sidebar, children }) => {\n const { content: SidebarContent, footer: SidebarFooter } = sidebar || {};\n const handleInteractOutside = useCallback<NonNullable<React.ComponentProps<typeof DialogPrimitive.Content>['onInteractOutside']>>(event => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n return (\n <DialogPrimitive.Root data-slot=\"detail-dialog\" open={open} onOpenChange={onOpenChange}>\n <DialogPrimitive.Portal data-slot=\"detail-dialog-portal\">\n <DialogPrimitive.Overlay\n data-slot=\"detail-dialog-overlay\"\n className=\"data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=open]:animate-in\"\n />\n <div className=\"fixed inset-0 z-50 flex items-center justify-center\">\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'data-[state=open]:fade-in-0 data-[state=open]:zoom-in-80 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-80',\n 'data-[state=closed]:animate-out data-[state=open]:animate-in',\n 'relative z-50 grid',\n 'gap-4 overflow-hidden rounded-none border-none bg-background p-0 shadow-dialog outline-none duration-200',\n 'h-full max-h-dvh w-full max-w-svw',\n 'sm:max-w-lg',\n 'sm:rounded-lg',\n 'md:max-h-[calc(100dvh-2rem)]',\n 'md:max-w-[calc(100svw-2rem)]'\n )}\n onInteractOutside={handleInteractOutside}\n >\n <SidebarProvider>\n <Sidebar collapsible=\"icon\">\n <DetailDialogSidebarHeader>\n <DetailDialogSidebarMenu>\n <DetailDialogSidebarMenuItem>\n <DetailDialogSidebarMenuButton size=\"lg\" tabIndex={-1}>\n <div className=\"flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground\">\n <CatIcon size={16} />\n </div>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-medium\">{sidebar?.title || 'Detail Dialog'}</span>\n <span className=\"truncate text-xs\">Lunas Enterprise</span>\n </div>\n </DetailDialogSidebarMenuButton>\n </DetailDialogSidebarMenuItem>\n </DetailDialogSidebarMenu>\n </DetailDialogSidebarHeader>\n <DetailDialogSidebarContent>{SidebarContent}</DetailDialogSidebarContent>\n <DetailDialogSidebarFooter>{SidebarFooter}</DetailDialogSidebarFooter>\n </Sidebar>\n\n <main data-slot=\"detail-dialog-main\" className=\"relative h-full flex-1\">\n <Flex padding=\"none\" gap=\"none\" vertical align=\"stretch\" className=\"absolute inset-0 size-full\">\n <header className=\"flex w-full flex-0 items-start gap-x-2.5 border-border-weak border-b bg-card py-2.5 pr-12 pl-2\">\n <DetailDialogSidebarTrigger />\n <Flex vertical align=\"start\" padding=\"none\" width=\"null\" wrap={false} className=\"flex-1 gap-0\">\n <Title level={5} className=\"line-clamp-1 truncate text-wrap\">\n {title || 'Detail Dialog'}\n </Title>\n {!!createdAt && (\n <Flex padding=\"none\" className=\"relative items-center text-text-positive-weak\">\n <CalendarIcon size={12} />\n <DateDisplay showTime showHoliday date={createdAt} format=\"full\" />\n </Flex>\n )}\n </Flex>\n </header>\n {isLoading ? (\n <Flex justify=\"center\" className=\"inset-shadow-sm w-full flex-1 bg-muted-muted\">\n <div className=\"loader\" />\n </Flex>\n ) : (\n <section\n data-slot=\"detail-dialog-body-loading\"\n className=\"relative inset-shadow-sm flex flex-1 snap-y flex-col gap-0 overflow-y-auto bg-muted-bg-subtle\"\n >\n {children}\n </section>\n )}\n </Flex>\n </main>\n </SidebarProvider>\n\n <DialogPrimitive.Close data-slot=\"dialog-close\" tabIndex={-1} asChild className=\"absolute top-3 right-3\">\n <button className=\"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 <XIcon size={24} />\n </button>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </div>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n );\n};\n"],"mappings":"u3BAqBA,MAAaA,GAgBR,CAAE,OAAM,YAAW,QAAO,YAAW,eAAc,UAAS,cAAe,CAC9E,GAAM,CAAE,QAAS,EAAgB,OAAQ,GAAkB,GAAW,EAAE,CAClE,EAAwB,EAAoG,GAAS,CACzI,EAAM,gBAAgB,CACtB,EAAM,iBAAiB,EACtB,EAAE,CAAC,CACN,OACE,EAACC,EAAgB,KAAA,CAAK,YAAU,gBAAsB,OAAoB,wBACxE,EAACA,EAAgB,OAAA,CAAO,YAAU,iCAChC,EAACA,EAAgB,QAAA,CACf,YAAU,wBACV,UAAU,0JACV,CACF,EAAC,MAAA,CAAI,UAAU,+DACb,EAACA,EAAgB,QAAA,CACf,YAAU,iBACV,UAAW,EACT,0HACA,+DACA,qBACA,2GACA,oCACA,cACA,gBACA,+BACA,+BACD,CACD,kBAAmB,YAEnB,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,CAAQ,YAAY,iBACnB,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAA8B,KAAK,KAAK,SAAU,aACjD,EAAC,MAAA,CAAI,UAAU,+HACb,EAAC,EAAA,CAAQ,KAAM,GAAA,CAAM,EACjB,CACN,EAAC,MAAA,CAAI,UAAU,wDACb,EAAC,OAAA,CAAK,UAAU,gCAAwB,GAAS,OAAS,iBAAuB,CACjF,EAAC,OAAA,CAAK,UAAU,4BAAmB,oBAAuB,CAAA,EACtD,CAAA,EACwB,CAAA,CACJ,CAAA,CACN,CAAA,CACA,CAC5B,EAAC,EAAA,CAAA,SAA4B,EAAA,CAA4C,CACzE,EAAC,EAAA,CAAA,SAA2B,EAAA,CAA0C,GAC9D,CAEV,EAAC,OAAA,CAAK,YAAU,qBAAqB,UAAU,kCAC7C,EAAC,EAAA,CAAK,QAAQ,OAAO,IAAI,OAAO,SAAA,GAAS,MAAM,UAAU,UAAU,uCACjE,EAAC,SAAA,CAAO,UAAU,2GAChB,EAAC,EAAA,EAAA,CAA6B,CAC9B,EAAC,EAAA,CAAK,SAAA,GAAS,MAAM,QAAQ,QAAQ,OAAO,MAAM,OAAO,KAAM,GAAO,UAAU,yBAC9E,EAAC,EAAA,CAAM,MAAO,EAAG,UAAU,2CACxB,GAAS,iBACJ,CACP,CAAC,CAAC,GACD,EAAC,EAAA,CAAK,QAAQ,OAAO,UAAU,0DAC7B,EAAC,EAAA,CAAa,KAAM,GAAA,CAAM,CAC1B,EAAC,EAAA,CAAY,SAAA,GAAS,YAAA,GAAY,KAAM,EAAW,OAAO,QAAS,CAAA,EAC9D,CAAA,EAEJ,CAAA,EACA,CACR,EACC,EAAC,EAAA,CAAK,QAAQ,SAAS,UAAU,wDAC/B,EAAC,MAAA,CAAI,UAAU,SAAA,CAAW,EACrB,CAEP,EAAC,UAAA,CACC,YAAU,6BACV,UAAU,gGAET,YACO,CAAA,EAEP,EACF,CAAA,CAAA,CACS,CAElB,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,SAAU,GAAI,QAAA,GAAQ,UAAU,kCAC9E,EAAC,SAAA,CAAO,UAAU,8QAChB,EAAC,EAAA,CAAM,KAAM,GAAA,CAAM,EACZ,EACa,CAAA,EACA,EACtB,CAAA,EACiB,EACJ"}
1
+ {"version":3,"file":"index.mjs","names":["DetailDialog: React.FC<React.PropsWithChildren<DetailDialogProps>>","DialogPrimitive"],"sources":["../../../packages/components/dialogs/detail-dialog/index.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback } from 'react';\n\nimport { CalendarIcon, CatIcon, XIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\nimport { Dialog as DialogPrimitive } from 'radix-ui';\n\nimport { DateDisplay } from '@/components/data-display/date';\nimport { Flex } from '@/components/layouts/flex';\nimport { Title } from '@/components/typography/title';\n\nimport {\n DetailDialogSidebarContent,\n DetailDialogSidebarFooter,\n DetailDialogSidebarHeader,\n DetailDialogSidebarMenu,\n DetailDialogSidebarMenuButton,\n DetailDialogSidebarMenuItem,\n DetailDialogSidebarTrigger,\n Sidebar,\n SidebarProvider,\n} from './components/sidebar';\n\ntype DetailDialogSidebar = {\n /** Title shown in the collapsible sidebar header. Defaults to `'Detail Dialog'`. */\n title?: string;\n /** Arbitrary content rendered inside the sidebar scrollable area. */\n content?: React.ReactNode;\n /** Arbitrary content rendered at the bottom of the sidebar footer. */\n footer?: React.ReactNode;\n};\n\nexport type DetailDialogProps = {\n /** Controls whether the dialog is open. */\n open?: boolean;\n /** When `true`, replaces the main content area with a centered loading spinner. */\n isLoading?: boolean;\n /** Primary title displayed in the dialog header. */\n title: string;\n /** ISO string, `Date` object, or Unix timestamp shown as a formatted creation date below the title. */\n createdAt?: string | Date | number | null;\n /** Optional sidebar configuration — title, body content, and footer content. */\n sidebar?: DetailDialogSidebar;\n /** Callback invoked when the dialog open state changes. */\n onOpenChange?: (open: boolean) => void;\n};\n\n/**\n * Full-screen detail dialog with a collapsible sidebar, a header with creation date, and a scrollable content area.\n *\n * @example\n * ```tsx\n * import { DetailDialog } from '@customafk/lunas-ui/dialogs/detail-dialog';\n *\n * <DetailDialog\n * open={open}\n * title=\"Order #1234\"\n * createdAt=\"2024-01-15T09:00:00Z\"\n * sidebar={{ title: 'Navigation', content: <nav>...</nav> }}\n * onOpenChange={setOpen}\n * >\n * <p>Detail content goes here.</p>\n * </DetailDialog>\n * ```\n */\nexport const DetailDialog: React.FC<React.PropsWithChildren<DetailDialogProps>> = ({ open, isLoading, title, createdAt, onOpenChange, sidebar, children }) => {\n const { content: SidebarContent, footer: SidebarFooter } = sidebar || {};\n\n const handleInteractOutside = useCallback<NonNullable<React.ComponentProps<typeof DialogPrimitive.Content>['onInteractOutside']>>(event => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n return (\n <DialogPrimitive.Root data-slot=\"detail-dialog\" open={open} onOpenChange={onOpenChange}>\n <DialogPrimitive.Portal data-slot=\"detail-dialog-portal\">\n <DialogPrimitive.Overlay\n data-slot=\"detail-dialog-overlay\"\n className=\"fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\"\n />\n <div className=\"fixed inset-0 z-50 flex items-center justify-center\">\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n 'data-[state=closed]:zoom-out-80 data-[state=open]:zoom-in-80',\n 'relative z-50 grid',\n 'gap-4 overflow-hidden rounded-none border-none bg-background p-0 shadow-dialog outline-none duration-200',\n 'h-full max-h-dvh w-full max-w-svw',\n 'sm:rounded-lg',\n 'sm:max-w-lg',\n 'md:max-h-[calc(100dvh-2rem)]',\n 'md:max-w-[calc(100svw-2rem)]'\n )}\n onInteractOutside={handleInteractOutside}\n >\n <SidebarProvider>\n <Sidebar collapsible=\"icon\">\n <DetailDialogSidebarHeader>\n <DetailDialogSidebarMenu>\n <DetailDialogSidebarMenuItem>\n <DetailDialogSidebarMenuButton size=\"lg\" tabIndex={-1}>\n <div className=\"flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground\">\n <CatIcon size={16} />\n </div>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-medium\">{sidebar?.title || 'Detail Dialog'}</span>\n <span className=\"truncate text-xs\">Lunas Enterprise</span>\n </div>\n </DetailDialogSidebarMenuButton>\n </DetailDialogSidebarMenuItem>\n </DetailDialogSidebarMenu>\n </DetailDialogSidebarHeader>\n <DetailDialogSidebarContent>{SidebarContent}</DetailDialogSidebarContent>\n <DetailDialogSidebarFooter>{SidebarFooter}</DetailDialogSidebarFooter>\n </Sidebar>\n\n <main data-slot=\"detail-dialog-main\" className=\"relative h-full flex-1\">\n <Flex padding=\"none\" gap=\"none\" vertical align=\"stretch\" className=\"absolute inset-0 size-full\">\n <header className=\"flex w-full flex-0 items-start gap-x-2.5 border-b border-border-weak bg-card py-2.5 pr-12 pl-2\">\n <DetailDialogSidebarTrigger />\n <Flex vertical align=\"start\" padding=\"none\" width=\"null\" wrap={false} className=\"flex-1 gap-0\">\n <Title level={5} className=\"line-clamp-1 truncate text-wrap\">\n {title || 'Detail Dialog'}\n </Title>\n {!!createdAt && (\n <Flex padding=\"none\" className=\"relative items-center text-text-positive-weak\">\n <CalendarIcon size={12} />\n <DateDisplay showTime showHoliday date={createdAt} format=\"full\" />\n </Flex>\n )}\n </Flex>\n </header>\n {isLoading ? (\n <Flex justify=\"center\" className=\"inset-shadow-sm w-full flex-1 bg-muted-muted\">\n <div className=\"loader\" />\n </Flex>\n ) : (\n <section\n data-slot=\"detail-dialog-body\"\n className=\"relative inset-shadow-sm flex flex-1 snap-y flex-col gap-0 overflow-y-auto bg-muted-bg-subtle\"\n >\n {children}\n </section>\n )}\n </Flex>\n </main>\n </SidebarProvider>\n\n <DialogPrimitive.Close data-slot=\"dialog-close\" tabIndex={-1} asChild className=\"absolute top-3 right-3\">\n <button className=\"flex cursor-pointer items-center justify-center rounded-full 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 <XIcon size={24} />\n </button>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </div>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n );\n};\n"],"mappings":"osBAmEA,MAAaA,GAAsE,CAAE,OAAM,YAAW,QAAO,YAAW,eAAc,UAAS,cAAe,CAC5J,GAAM,CAAE,QAAS,EAAgB,OAAQ,GAAkB,GAAW,EAAE,CAElE,EAAwB,EAAoG,GAAS,CACzI,EAAM,gBAAgB,CACtB,EAAM,iBAAiB,EACtB,EAAE,CAAC,CAEN,OACE,EAACC,EAAgB,KAAA,CAAK,YAAU,gBAAsB,OAAoB,wBACxE,EAACA,EAAgB,OAAA,CAAO,YAAU,iCAChC,EAACA,EAAgB,QAAA,CACf,YAAU,wBACV,UAAU,0JACV,CACF,EAAC,MAAA,CAAI,UAAU,+DACb,EAACA,EAAgB,QAAA,CACf,YAAU,iBACV,UAAW,EACT,+DACA,6DACA,+DACA,qBACA,2GACA,oCACA,gBACA,cACA,+BACA,+BACD,CACD,kBAAmB,YAEnB,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,CAAQ,YAAY,iBACnB,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAA8B,KAAK,KAAK,SAAU,aACjD,EAAC,MAAA,CAAI,UAAU,+HACb,EAAC,EAAA,CAAQ,KAAM,GAAA,CAAM,EACjB,CACN,EAAC,MAAA,CAAI,UAAU,wDACb,EAAC,OAAA,CAAK,UAAU,gCAAwB,GAAS,OAAS,iBAAuB,CACjF,EAAC,OAAA,CAAK,UAAU,4BAAmB,oBAAuB,CAAA,EACtD,CAAA,EACwB,CAAA,CACJ,CAAA,CACN,CAAA,CACA,CAC5B,EAAC,EAAA,CAAA,SAA4B,EAAA,CAA4C,CACzE,EAAC,EAAA,CAAA,SAA2B,EAAA,CAA0C,GAC9D,CAEV,EAAC,OAAA,CAAK,YAAU,qBAAqB,UAAU,kCAC7C,EAAC,EAAA,CAAK,QAAQ,OAAO,IAAI,OAAO,SAAA,GAAS,MAAM,UAAU,UAAU,uCACjE,EAAC,SAAA,CAAO,UAAU,2GAChB,EAAC,EAAA,EAAA,CAA6B,CAC9B,EAAC,EAAA,CAAK,SAAA,GAAS,MAAM,QAAQ,QAAQ,OAAO,MAAM,OAAO,KAAM,GAAO,UAAU,yBAC9E,EAAC,EAAA,CAAM,MAAO,EAAG,UAAU,2CACxB,GAAS,iBACJ,CACP,CAAC,CAAC,GACD,EAAC,EAAA,CAAK,QAAQ,OAAO,UAAU,0DAC7B,EAAC,EAAA,CAAa,KAAM,GAAA,CAAM,CAC1B,EAAC,EAAA,CAAY,SAAA,GAAS,YAAA,GAAY,KAAM,EAAW,OAAO,QAAS,CAAA,EAC9D,CAAA,EAEJ,CAAA,EACA,CACR,EACC,EAAC,EAAA,CAAK,QAAQ,SAAS,UAAU,wDAC/B,EAAC,MAAA,CAAI,UAAU,SAAA,CAAW,EACrB,CAEP,EAAC,UAAA,CACC,YAAU,qBACV,UAAU,gGAET,YACO,CAAA,EAEP,EACF,CAAA,CAAA,CACS,CAElB,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,SAAU,GAAI,QAAA,GAAQ,UAAU,kCAC9E,EAAC,SAAA,CAAO,UAAU,2QAChB,EAAC,EAAA,CAAM,KAAM,GAAA,CAAM,EACZ,EACa,CAAA,EACA,EACtB,CAAA,EACiB,EACJ"}
@@ -1,2 +1,2 @@
1
- const e=require(`../chunk-Bmb41Sf3.cjs`);require(`../heading-BEm5CCSE.cjs`),require(`../paragraph-B72bHMf7.cjs`),require(`../button.variants-CS-Cmarr.cjs`);const t=require(`../ui/alert-dialog.cjs`);let n=require(`react`),r=require(`react/jsx-runtime`),i=require(`lucide-react`);const a=({open:e,title:a,children:o,onOpenChange:s})=>{let c=(0,n.useCallback)(()=>{s?.(!1)},[s]);return(0,r.jsx)(t.AlertDialog,{open:e,onOpenChange:s,children:(0,r.jsxs)(t.AlertDialogContent,{className:`gap-8 p-4 sm:max-w-md`,children:[(0,r.jsx)(t.AlertDialogHeader,{children:(0,r.jsxs)(`div`,{className:`text-destructive flex flex-col items-center`,children:[(0,r.jsx)(i.AlertTriangleIcon,{size:42}),(0,r.jsx)(t.AlertDialogTitle,{className:`text-xl font-medium`,children:a||`An error occurred`})]})}),o,(0,r.jsx)(t.AlertDialogFooter,{children:(0,r.jsx)(t.AlertDialogAction,{className:`w-full sm:w-28`,onClick:c,children:`Close`})})]})})};exports.ErrorDialog=a;
1
+ "use client";const e=require(`../chunk-Bmb41Sf3.cjs`);require(`../button.variants-tnhb123u.cjs`),require(`../heading-AKz5ewy-.cjs`),require(`../paragraph-DN85Huc4.cjs`);const t=require(`../ui/alert-dialog.cjs`);let n=require(`lucide-react`),r=require(`react`),i=require(`react/jsx-runtime`);const a=({open:e,title:a,children:o,onOpenChange:s})=>{let c=(0,r.useCallback)(()=>{s?.(!1)},[s]);return(0,i.jsx)(t.AlertDialog,{open:e,onOpenChange:s,children:(0,i.jsxs)(t.AlertDialogContent,{className:`gap-8 p-4 sm:max-w-md`,children:[(0,i.jsx)(t.AlertDialogHeader,{children:(0,i.jsxs)(`div`,{className:`flex flex-col items-center text-danger`,children:[(0,i.jsx)(n.AlertTriangleIcon,{size:42}),(0,i.jsx)(t.AlertDialogTitle,{className:`text-xl font-medium`,children:a||`An error occurred`})]})}),o,(0,i.jsx)(t.AlertDialogFooter,{children:(0,i.jsx)(t.AlertDialogAction,{className:`w-full sm:w-28`,onClick:c,children:`Close`})})]})})};exports.ErrorDialog=a;
2
2
  //# sourceMappingURL=error-dialog.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-dialog.cjs","names":["ErrorDialog: React.FC<React.PropsWithChildren<Props>>","AlertDialog","AlertDialogContent","AlertDialogHeader","AlertTriangleIcon","AlertDialogTitle","AlertDialogFooter","AlertDialogAction"],"sources":["../../packages/components/dialogs/error-dialog.tsx"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { AlertTriangleIcon } from 'lucide-react';\n\nimport { AlertDialog, AlertDialogAction, AlertDialogContent, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle } from '../ui/alert-dialog';\n\ntype Props = {\n open?: boolean;\n title?: string;\n description?: string;\n onOpenChange?: (open: boolean) => void;\n};\nexport const ErrorDialog: React.FC<React.PropsWithChildren<Props>> = ({ open, title, children, onOpenChange }) => {\n const handleClose = useCallback(() => {\n onOpenChange?.(false);\n }, [onOpenChange]);\n return (\n <AlertDialog open={open} onOpenChange={onOpenChange}>\n <AlertDialogContent className=\"gap-8 p-4 sm:max-w-md\">\n <AlertDialogHeader>\n <div className=\"text-destructive flex flex-col items-center\">\n <AlertTriangleIcon size={42} />\n <AlertDialogTitle className=\"text-xl font-medium\">{title || 'An error occurred'}</AlertDialogTitle>\n </div>\n </AlertDialogHeader>\n {children}\n <AlertDialogFooter>\n <AlertDialogAction className=\"w-full sm:w-28\" onClick={handleClose}>\n Close\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n );\n};\n"],"mappings":"sRAYA,MAAaA,GAAyD,CAAE,OAAM,QAAO,WAAU,kBAAmB,CAChH,IAAM,GAAA,EAAA,EAAA,iBAAgC,CACpC,IAAe,GAAM,EACpB,CAAC,EAAa,CAAC,CAClB,OACE,EAAA,EAAA,KAACC,EAAAA,YAAAA,CAAkB,OAAoB,yBACrC,EAAA,EAAA,MAACC,EAAAA,mBAAAA,CAAmB,UAAU,mCAC5B,EAAA,EAAA,KAACC,EAAAA,kBAAAA,CAAAA,UACC,EAAA,EAAA,MAAC,MAAA,CAAI,UAAU,yDACb,EAAA,EAAA,KAACC,EAAAA,kBAAAA,CAAkB,KAAM,GAAA,CAAM,EAC/B,EAAA,EAAA,KAACC,EAAAA,iBAAAA,CAAiB,UAAU,+BAAuB,GAAS,qBAAuC,CAAA,EAC/F,CAAA,CACY,CACnB,GACD,EAAA,EAAA,KAACC,EAAAA,kBAAAA,CAAAA,UACC,EAAA,EAAA,KAACC,EAAAA,kBAAAA,CAAkB,UAAU,iBAAiB,QAAS,WAAa,SAEhD,CAAA,CACF,GACD,EACT"}
1
+ {"version":3,"file":"error-dialog.cjs","names":["ErrorDialog: React.FC<React.PropsWithChildren<ErrorDialogProps>>","AlertDialog","AlertDialogContent","AlertDialogHeader","AlertTriangleIcon","AlertDialogTitle","AlertDialogFooter","AlertDialogAction"],"sources":["../../packages/components/dialogs/error-dialog.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback } from 'react';\n\nimport { AlertTriangleIcon } from 'lucide-react';\n\nimport { AlertDialog, AlertDialogAction, AlertDialogContent, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle } from '../ui/alert-dialog';\n\nexport type ErrorDialogProps = {\n /** Controls whether the dialog is open. */\n open?: boolean;\n /** Title text displayed inside the dialog header. Defaults to `'An error occurred'`. */\n title?: string;\n /** Callback invoked when the dialog open state changes. */\n onOpenChange?: (open: boolean) => void;\n};\n\n/**\n * Displays a modal alert dialog for communicating error states to the user.\n *\n * @example\n * ```tsx\n * import { ErrorDialog } from '@customafk/lunas-ui/dialogs/error-dialog';\n *\n * <ErrorDialog open={hasError} title=\"Something went wrong\" onOpenChange={setHasError}>\n * <p>Please try again later.</p>\n * </ErrorDialog>\n * ```\n */\nexport const ErrorDialog: React.FC<React.PropsWithChildren<ErrorDialogProps>> = ({ open, title, children, onOpenChange }) => {\n const handleClose = useCallback(() => {\n onOpenChange?.(false);\n }, [onOpenChange]);\n\n return (\n <AlertDialog open={open} onOpenChange={onOpenChange}>\n <AlertDialogContent className=\"gap-8 p-4 sm:max-w-md\">\n <AlertDialogHeader>\n <div className=\"flex flex-col items-center text-danger\">\n <AlertTriangleIcon size={42} />\n <AlertDialogTitle className=\"text-xl font-medium\">{title || 'An error occurred'}</AlertDialogTitle>\n </div>\n </AlertDialogHeader>\n {children}\n <AlertDialogFooter>\n <AlertDialogAction className=\"w-full sm:w-28\" onClick={handleClose}>\n Close\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n );\n};\n"],"mappings":"mSA6BA,MAAaA,GAAoE,CAAE,OAAM,QAAO,WAAU,kBAAmB,CAC3H,IAAM,GAAA,EAAA,EAAA,iBAAgC,CACpC,IAAe,GAAM,EACpB,CAAC,EAAa,CAAC,CAElB,OACE,EAAA,EAAA,KAACC,EAAAA,YAAAA,CAAkB,OAAoB,yBACrC,EAAA,EAAA,MAACC,EAAAA,mBAAAA,CAAmB,UAAU,mCAC5B,EAAA,EAAA,KAACC,EAAAA,kBAAAA,CAAAA,UACC,EAAA,EAAA,MAAC,MAAA,CAAI,UAAU,oDACb,EAAA,EAAA,KAACC,EAAAA,kBAAAA,CAAkB,KAAM,GAAA,CAAM,EAC/B,EAAA,EAAA,KAACC,EAAAA,iBAAAA,CAAiB,UAAU,+BAAuB,GAAS,qBAAuC,CAAA,EAC/F,CAAA,CACY,CACnB,GACD,EAAA,EAAA,KAACC,EAAAA,kBAAAA,CAAAA,UACC,EAAA,EAAA,KAACC,EAAAA,kBAAAA,CAAkB,UAAU,iBAAiB,QAAS,WAAa,SAEhD,CAAA,CACF,GACD,EACT"}
@@ -1,11 +1,25 @@
1
1
  //#region packages/components/dialogs/error-dialog.d.ts
2
- type Props = {
2
+ type ErrorDialogProps = {
3
+ /** Controls whether the dialog is open. */
3
4
  open?: boolean;
5
+ /** Title text displayed inside the dialog header. Defaults to `'An error occurred'`. */
4
6
  title?: string;
5
- description?: string;
7
+ /** Callback invoked when the dialog open state changes. */
6
8
  onOpenChange?: (open: boolean) => void;
7
9
  };
8
- declare const ErrorDialog: React.FC<React.PropsWithChildren<Props>>;
10
+ /**
11
+ * Displays a modal alert dialog for communicating error states to the user.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * import { ErrorDialog } from '@customafk/lunas-ui/dialogs/error-dialog';
16
+ *
17
+ * <ErrorDialog open={hasError} title="Something went wrong" onOpenChange={setHasError}>
18
+ * <p>Please try again later.</p>
19
+ * </ErrorDialog>
20
+ * ```
21
+ */
22
+ declare const ErrorDialog: React.FC<React.PropsWithChildren<ErrorDialogProps>>;
9
23
  //#endregion
10
- export { ErrorDialog };
24
+ export { ErrorDialog, ErrorDialogProps };
11
25
  //# sourceMappingURL=error-dialog.d.cts.map
@@ -1,11 +1,25 @@
1
1
  //#region packages/components/dialogs/error-dialog.d.ts
2
- type Props = {
2
+ type ErrorDialogProps = {
3
+ /** Controls whether the dialog is open. */
3
4
  open?: boolean;
5
+ /** Title text displayed inside the dialog header. Defaults to `'An error occurred'`. */
4
6
  title?: string;
5
- description?: string;
7
+ /** Callback invoked when the dialog open state changes. */
6
8
  onOpenChange?: (open: boolean) => void;
7
9
  };
8
- declare const ErrorDialog: React.FC<React.PropsWithChildren<Props>>;
10
+ /**
11
+ * Displays a modal alert dialog for communicating error states to the user.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * import { ErrorDialog } from '@customafk/lunas-ui/dialogs/error-dialog';
16
+ *
17
+ * <ErrorDialog open={hasError} title="Something went wrong" onOpenChange={setHasError}>
18
+ * <p>Please try again later.</p>
19
+ * </ErrorDialog>
20
+ * ```
21
+ */
22
+ declare const ErrorDialog: React.FC<React.PropsWithChildren<ErrorDialogProps>>;
9
23
  //#endregion
10
- export { ErrorDialog };
24
+ export { ErrorDialog, ErrorDialogProps };
11
25
  //# sourceMappingURL=error-dialog.d.mts.map
@@ -1,2 +1,2 @@
1
- import"../heading--VmdIi7C.mjs";import"../paragraph-moBSTPmT.mjs";import"../button.variants-DRWf66hR.mjs";import{AlertDialog as e,AlertDialogAction as t,AlertDialogContent as n,AlertDialogFooter as r,AlertDialogHeader as i,AlertDialogTitle as a}from"../ui/alert-dialog.mjs";import{useCallback as o}from"react";import{jsx as s,jsxs as c}from"react/jsx-runtime";import{AlertTriangleIcon as l}from"lucide-react";const u=({open:u,title:d,children:f,onOpenChange:p})=>{let m=o(()=>{p?.(!1)},[p]);return s(e,{open:u,onOpenChange:p,children:c(n,{className:`gap-8 p-4 sm:max-w-md`,children:[s(i,{children:c(`div`,{className:`text-destructive flex flex-col items-center`,children:[s(l,{size:42}),s(a,{className:`text-xl font-medium`,children:d||`An error occurred`})]})}),f,s(r,{children:s(t,{className:`w-full sm:w-28`,onClick:m,children:`Close`})})]})})};export{u as ErrorDialog};
1
+ "use client";import"../button.variants-DeCyas1F.mjs";import"../heading-DN67djxs.mjs";import"../paragraph-Ch5TvEqL.mjs";import{AlertDialog as e,AlertDialogAction as t,AlertDialogContent as n,AlertDialogFooter as r,AlertDialogHeader as i,AlertDialogTitle as a}from"../ui/alert-dialog.mjs";import{AlertTriangleIcon as o}from"lucide-react";import{useCallback as s}from"react";import{jsx as c,jsxs as l}from"react/jsx-runtime";const u=({open:u,title:d,children:f,onOpenChange:p})=>{let m=s(()=>{p?.(!1)},[p]);return c(e,{open:u,onOpenChange:p,children:l(n,{className:`gap-8 p-4 sm:max-w-md`,children:[c(i,{children:l(`div`,{className:`flex flex-col items-center text-danger`,children:[c(o,{size:42}),c(a,{className:`text-xl font-medium`,children:d||`An error occurred`})]})}),f,c(r,{children:c(t,{className:`w-full sm:w-28`,onClick:m,children:`Close`})})]})})};export{u as ErrorDialog};
2
2
  //# sourceMappingURL=error-dialog.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-dialog.mjs","names":["ErrorDialog: React.FC<React.PropsWithChildren<Props>>"],"sources":["../../packages/components/dialogs/error-dialog.tsx"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { AlertTriangleIcon } from 'lucide-react';\n\nimport { AlertDialog, AlertDialogAction, AlertDialogContent, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle } from '../ui/alert-dialog';\n\ntype Props = {\n open?: boolean;\n title?: string;\n description?: string;\n onOpenChange?: (open: boolean) => void;\n};\nexport const ErrorDialog: React.FC<React.PropsWithChildren<Props>> = ({ open, title, children, onOpenChange }) => {\n const handleClose = useCallback(() => {\n onOpenChange?.(false);\n }, [onOpenChange]);\n return (\n <AlertDialog open={open} onOpenChange={onOpenChange}>\n <AlertDialogContent className=\"gap-8 p-4 sm:max-w-md\">\n <AlertDialogHeader>\n <div className=\"text-destructive flex flex-col items-center\">\n <AlertTriangleIcon size={42} />\n <AlertDialogTitle className=\"text-xl font-medium\">{title || 'An error occurred'}</AlertDialogTitle>\n </div>\n </AlertDialogHeader>\n {children}\n <AlertDialogFooter>\n <AlertDialogAction className=\"w-full sm:w-28\" onClick={handleClose}>\n Close\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n );\n};\n"],"mappings":"yZAYA,MAAaA,GAAyD,CAAE,OAAM,QAAO,WAAU,kBAAmB,CAChH,IAAM,EAAc,MAAkB,CACpC,IAAe,GAAM,EACpB,CAAC,EAAa,CAAC,CAClB,OACE,EAAC,EAAA,CAAkB,OAAoB,wBACrC,EAAC,EAAA,CAAmB,UAAU,kCAC5B,EAAC,EAAA,CAAA,SACC,EAAC,MAAA,CAAI,UAAU,wDACb,EAAC,EAAA,CAAkB,KAAM,GAAA,CAAM,CAC/B,EAAC,EAAA,CAAiB,UAAU,+BAAuB,GAAS,qBAAuC,CAAA,EAC/F,CAAA,CACY,CACnB,EACD,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAAkB,UAAU,iBAAiB,QAAS,WAAa,SAEhD,CAAA,CACF,GACD,EACT"}
1
+ {"version":3,"file":"error-dialog.mjs","names":["ErrorDialog: React.FC<React.PropsWithChildren<ErrorDialogProps>>"],"sources":["../../packages/components/dialogs/error-dialog.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback } from 'react';\n\nimport { AlertTriangleIcon } from 'lucide-react';\n\nimport { AlertDialog, AlertDialogAction, AlertDialogContent, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle } from '../ui/alert-dialog';\n\nexport type ErrorDialogProps = {\n /** Controls whether the dialog is open. */\n open?: boolean;\n /** Title text displayed inside the dialog header. Defaults to `'An error occurred'`. */\n title?: string;\n /** Callback invoked when the dialog open state changes. */\n onOpenChange?: (open: boolean) => void;\n};\n\n/**\n * Displays a modal alert dialog for communicating error states to the user.\n *\n * @example\n * ```tsx\n * import { ErrorDialog } from '@customafk/lunas-ui/dialogs/error-dialog';\n *\n * <ErrorDialog open={hasError} title=\"Something went wrong\" onOpenChange={setHasError}>\n * <p>Please try again later.</p>\n * </ErrorDialog>\n * ```\n */\nexport const ErrorDialog: React.FC<React.PropsWithChildren<ErrorDialogProps>> = ({ open, title, children, onOpenChange }) => {\n const handleClose = useCallback(() => {\n onOpenChange?.(false);\n }, [onOpenChange]);\n\n return (\n <AlertDialog open={open} onOpenChange={onOpenChange}>\n <AlertDialogContent className=\"gap-8 p-4 sm:max-w-md\">\n <AlertDialogHeader>\n <div className=\"flex flex-col items-center text-danger\">\n <AlertTriangleIcon size={42} />\n <AlertDialogTitle className=\"text-xl font-medium\">{title || 'An error occurred'}</AlertDialogTitle>\n </div>\n </AlertDialogHeader>\n {children}\n <AlertDialogFooter>\n <AlertDialogAction className=\"w-full sm:w-28\" onClick={handleClose}>\n Close\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n );\n};\n"],"mappings":"saA6BA,MAAaA,GAAoE,CAAE,OAAM,QAAO,WAAU,kBAAmB,CAC3H,IAAM,EAAc,MAAkB,CACpC,IAAe,GAAM,EACpB,CAAC,EAAa,CAAC,CAElB,OACE,EAAC,EAAA,CAAkB,OAAoB,wBACrC,EAAC,EAAA,CAAmB,UAAU,kCAC5B,EAAC,EAAA,CAAA,SACC,EAAC,MAAA,CAAI,UAAU,mDACb,EAAC,EAAA,CAAkB,KAAM,GAAA,CAAM,CAC/B,EAAC,EAAA,CAAiB,UAAU,+BAAuB,GAAS,qBAAuC,CAAA,EAC/F,CAAA,CACY,CACnB,EACD,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAAkB,UAAU,iBAAiB,QAAS,WAAa,SAEhD,CAAA,CACF,GACD,EACT"}
@@ -1,2 +1,2 @@
1
- const e=require(`../chunk-Bmb41Sf3.cjs`);require(`../heading-BEm5CCSE.cjs`),require(`../paragraph-B72bHMf7.cjs`),require(`../close-D_Ge7gnP.cjs`);const t=require(`../dialog-DjRiV5vR.cjs`);let n=require(`react/jsx-runtime`);const r=({open:e,onOpenChange:r})=>(0,n.jsx)(t.t,{open:e,onOpenChange:r,children:(0,n.jsxs)(t.r,{showCloseButton:!1,className:`pointer-events-none border-none bg-transparent shadow-none outline-0 [&>div]:bg-transparent`,children:[(0,n.jsx)(t.l,{}),(0,n.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,n.jsx)(`div`,{className:`loader opacity-60`})})]})});exports.LoadingDialog=r;
1
+ "use client";const e=require(`../chunk-Bmb41Sf3.cjs`);require(`../heading-AKz5ewy-.cjs`),require(`../paragraph-DN85Huc4.cjs`),require(`../close-DXk_H3Gt.cjs`);const t=require(`../dialog-o_68LQXd.cjs`);let n=require(`react/jsx-runtime`);const r=({open:e,onOpenChange:r})=>(0,n.jsx)(t.t,{open:e,onOpenChange:r,children:(0,n.jsxs)(t.r,{showCloseButton:!1,className:`pointer-events-none border-none bg-transparent shadow-none outline-none [&>div]:bg-transparent`,children:[(0,n.jsx)(t.l,{}),(0,n.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,n.jsx)(`div`,{className:`loader opacity-60`})})]})});exports.LoadingDialog=r;
2
2
  //# sourceMappingURL=loading-dialog.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"loading-dialog.cjs","names":["LoadingDialog: React.FC<Props>","Dialog","DialogContent","DialogTitle"],"sources":["../../packages/components/dialogs/loading-dialog.tsx"],"sourcesContent":["import { Dialog, DialogContent, DialogTitle } from '../ui/dialog';\n\ntype Props = {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n};\nexport const LoadingDialog: React.FC<Props> = ({ open, onOpenChange }) => {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent showCloseButton={false} className=\"pointer-events-none border-none bg-transparent shadow-none outline-0 [&>div]:bg-transparent\">\n <DialogTitle />\n <div className=\"flex items-center justify-center\">\n <div className=\"loader opacity-60\" />\n </div>\n </DialogContent>\n </Dialog>\n );\n};\n"],"mappings":"+NAMA,MAAaA,GAAkC,CAAE,OAAM,mBAEnD,EAAA,EAAA,KAACC,EAAAA,EAAAA,CAAa,OAAoB,yBAChC,EAAA,EAAA,MAACC,EAAAA,EAAAA,CAAc,gBAAiB,GAAO,UAAU,yGAC/C,EAAA,EAAA,KAACC,EAAAA,EAAAA,EAAAA,CAAc,EACf,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,6CACb,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,oBAAA,CAAsB,EACjC,CAAA,EACQ,EACT"}
1
+ {"version":3,"file":"loading-dialog.cjs","names":["LoadingDialog: React.FC<LoadingDialogProps>","Dialog","DialogContent","DialogTitle"],"sources":["../../packages/components/dialogs/loading-dialog.tsx"],"sourcesContent":["'use client';\n\nimport { Dialog, DialogContent, DialogTitle } from '../ui/dialog';\n\nexport type LoadingDialogProps = {\n /** Controls whether the dialog is open. */\n open?: boolean;\n /** Callback invoked when the dialog open state changes. */\n onOpenChange?: (open: boolean) => void;\n};\n\n/**\n * Displays a transparent, pointer-events-disabled modal overlay with a centered loading spinner.\n *\n * @example\n * ```tsx\n * import { LoadingDialog } from '@customafk/lunas-ui/dialogs/loading-dialog';\n *\n * <LoadingDialog open={isLoading} onOpenChange={setIsLoading} />\n * ```\n */\nexport const LoadingDialog: React.FC<LoadingDialogProps> = ({ open, onOpenChange }) => {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent showCloseButton={false} className=\"pointer-events-none border-none bg-transparent shadow-none outline-none [&>div]:bg-transparent\">\n <DialogTitle />\n <div className=\"flex items-center justify-center\">\n <div className=\"loader opacity-60\" />\n </div>\n </DialogContent>\n </Dialog>\n );\n};\n"],"mappings":"4OAqBA,MAAaA,GAA+C,CAAE,OAAM,mBAEhE,EAAA,EAAA,KAACC,EAAAA,EAAAA,CAAa,OAAoB,yBAChC,EAAA,EAAA,MAACC,EAAAA,EAAAA,CAAc,gBAAiB,GAAO,UAAU,4GAC/C,EAAA,EAAA,KAACC,EAAAA,EAAAA,EAAAA,CAAc,EACf,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,6CACb,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,oBAAA,CAAsB,EACjC,CAAA,EACQ,EACT"}
@@ -1,9 +1,21 @@
1
1
  //#region packages/components/dialogs/loading-dialog.d.ts
2
- type Props = {
2
+ type LoadingDialogProps = {
3
+ /** Controls whether the dialog is open. */
3
4
  open?: boolean;
5
+ /** Callback invoked when the dialog open state changes. */
4
6
  onOpenChange?: (open: boolean) => void;
5
7
  };
6
- declare const LoadingDialog: React.FC<Props>;
8
+ /**
9
+ * Displays a transparent, pointer-events-disabled modal overlay with a centered loading spinner.
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * import { LoadingDialog } from '@customafk/lunas-ui/dialogs/loading-dialog';
14
+ *
15
+ * <LoadingDialog open={isLoading} onOpenChange={setIsLoading} />
16
+ * ```
17
+ */
18
+ declare const LoadingDialog: React.FC<LoadingDialogProps>;
7
19
  //#endregion
8
- export { LoadingDialog };
20
+ export { LoadingDialog, LoadingDialogProps };
9
21
  //# sourceMappingURL=loading-dialog.d.cts.map
@@ -1,9 +1,21 @@
1
1
  //#region packages/components/dialogs/loading-dialog.d.ts
2
- type Props = {
2
+ type LoadingDialogProps = {
3
+ /** Controls whether the dialog is open. */
3
4
  open?: boolean;
5
+ /** Callback invoked when the dialog open state changes. */
4
6
  onOpenChange?: (open: boolean) => void;
5
7
  };
6
- declare const LoadingDialog: React.FC<Props>;
8
+ /**
9
+ * Displays a transparent, pointer-events-disabled modal overlay with a centered loading spinner.
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * import { LoadingDialog } from '@customafk/lunas-ui/dialogs/loading-dialog';
14
+ *
15
+ * <LoadingDialog open={isLoading} onOpenChange={setIsLoading} />
16
+ * ```
17
+ */
18
+ declare const LoadingDialog: React.FC<LoadingDialogProps>;
7
19
  //#endregion
8
- export { LoadingDialog };
20
+ export { LoadingDialog, LoadingDialogProps };
9
21
  //# sourceMappingURL=loading-dialog.d.mts.map
@@ -1,2 +1,2 @@
1
- import"../heading--VmdIi7C.mjs";import"../paragraph-moBSTPmT.mjs";import"../close-DfuHB7kq.mjs";import{l as e,r as t,t as n}from"../dialog-CxELDK98.mjs";import{jsx as r,jsxs as i}from"react/jsx-runtime";const a=({open:a,onOpenChange:o})=>r(n,{open:a,onOpenChange:o,children:i(t,{showCloseButton:!1,className:`pointer-events-none border-none bg-transparent shadow-none outline-0 [&>div]:bg-transparent`,children:[r(e,{}),r(`div`,{className:`flex items-center justify-center`,children:r(`div`,{className:`loader opacity-60`})})]})});export{a as LoadingDialog};
1
+ "use client";import"../heading-DN67djxs.mjs";import"../paragraph-Ch5TvEqL.mjs";import"../close-BU0kWRVo.mjs";import{l as e,r as t,t as n}from"../dialog-BchwY6-N.mjs";import{jsx as r,jsxs as i}from"react/jsx-runtime";const a=({open:a,onOpenChange:o})=>r(n,{open:a,onOpenChange:o,children:i(t,{showCloseButton:!1,className:`pointer-events-none border-none bg-transparent shadow-none outline-none [&>div]:bg-transparent`,children:[r(e,{}),r(`div`,{className:`flex items-center justify-center`,children:r(`div`,{className:`loader opacity-60`})})]})});export{a as LoadingDialog};
2
2
  //# sourceMappingURL=loading-dialog.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"loading-dialog.mjs","names":["LoadingDialog: React.FC<Props>"],"sources":["../../packages/components/dialogs/loading-dialog.tsx"],"sourcesContent":["import { Dialog, DialogContent, DialogTitle } from '../ui/dialog';\n\ntype Props = {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n};\nexport const LoadingDialog: React.FC<Props> = ({ open, onOpenChange }) => {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent showCloseButton={false} className=\"pointer-events-none border-none bg-transparent shadow-none outline-0 [&>div]:bg-transparent\">\n <DialogTitle />\n <div className=\"flex items-center justify-center\">\n <div className=\"loader opacity-60\" />\n </div>\n </DialogContent>\n </Dialog>\n );\n};\n"],"mappings":"2MAMA,MAAaA,GAAkC,CAAE,OAAM,kBAEnD,EAAC,EAAA,CAAa,OAAoB,wBAChC,EAAC,EAAA,CAAc,gBAAiB,GAAO,UAAU,wGAC/C,EAAC,EAAA,EAAA,CAAc,CACf,EAAC,MAAA,CAAI,UAAU,4CACb,EAAC,MAAA,CAAI,UAAU,oBAAA,CAAsB,EACjC,CAAA,EACQ,EACT"}
1
+ {"version":3,"file":"loading-dialog.mjs","names":["LoadingDialog: React.FC<LoadingDialogProps>"],"sources":["../../packages/components/dialogs/loading-dialog.tsx"],"sourcesContent":["'use client';\n\nimport { Dialog, DialogContent, DialogTitle } from '../ui/dialog';\n\nexport type LoadingDialogProps = {\n /** Controls whether the dialog is open. */\n open?: boolean;\n /** Callback invoked when the dialog open state changes. */\n onOpenChange?: (open: boolean) => void;\n};\n\n/**\n * Displays a transparent, pointer-events-disabled modal overlay with a centered loading spinner.\n *\n * @example\n * ```tsx\n * import { LoadingDialog } from '@customafk/lunas-ui/dialogs/loading-dialog';\n *\n * <LoadingDialog open={isLoading} onOpenChange={setIsLoading} />\n * ```\n */\nexport const LoadingDialog: React.FC<LoadingDialogProps> = ({ open, onOpenChange }) => {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent showCloseButton={false} className=\"pointer-events-none border-none bg-transparent shadow-none outline-none [&>div]:bg-transparent\">\n <DialogTitle />\n <div className=\"flex items-center justify-center\">\n <div className=\"loader opacity-60\" />\n </div>\n </DialogContent>\n </Dialog>\n );\n};\n"],"mappings":"wNAqBA,MAAaA,GAA+C,CAAE,OAAM,kBAEhE,EAAC,EAAA,CAAa,OAAoB,wBAChC,EAAC,EAAA,CAAc,gBAAiB,GAAO,UAAU,2GAC/C,EAAC,EAAA,EAAA,CAAc,CACf,EAAC,MAAA,CAAI,UAAU,4CACb,EAAC,MAAA,CAAI,UAAU,oBAAA,CAAsB,EACjC,CAAA,EACQ,EACT"}
@@ -1,2 +1,2 @@
1
1
  import*as e from"react";import{Fragment as t,jsx as n}from"react/jsx-runtime";function r(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function i(...e){return t=>{let n=!1,i=e.map(e=>{let i=r(e,t);return!n&&typeof i==`function`&&(n=!0),i});if(n)return()=>{for(let t=0;t<i.length;t++){let n=i[t];typeof n==`function`?n():r(e[t],null)}}}}function a(t){let r=s(t),i=e.forwardRef((t,i)=>{let{children:a,...o}=t,s=e.Children.toArray(a),c=s.find(l);if(c){let t=c.props.children,a=s.map(n=>n===c?e.Children.count(t)>1?e.Children.only(null):e.isValidElement(t)?t.props.children:null:n);return n(r,{...o,ref:i,children:e.isValidElement(t)?e.cloneElement(t,void 0,a):null})}return n(r,{...o,ref:i,children:a})});return i.displayName=`${t}.Slot`,i}var o=a(`Slot`);function s(t){let n=e.forwardRef((t,n)=>{let{children:r,...a}=t;if(e.isValidElement(r)){let t=d(r),o=u(a,r.props);return r.type!==e.Fragment&&(o.ref=n?i(n,t):t),e.cloneElement(r,o)}return e.Children.count(r)>1?e.Children.only(null):null});return n.displayName=`${t}.SlotClone`,n}var c=Symbol(`radix.slottable`);function l(t){return e.isValidElement(t)&&typeof t.type==`function`&&`__radixId`in t.type&&t.type.__radixId===c}function u(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function d(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}export{o as t};
2
- //# sourceMappingURL=dist-CvmzZ_6C.mjs.map
2
+ //# sourceMappingURL=dist-CIN9T2FB.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dist-CvmzZ_6C.mjs","names":[],"sources":["../node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../node_modules/@radix-ui/react-slot/dist/index.mjs"],"sourcesContent":["// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
1
+ {"version":3,"file":"dist-CIN9T2FB.mjs","names":[],"sources":["../node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../node_modules/@radix-ui/react-slot/dist/index.mjs"],"sourcesContent":["// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  const e=require(`./chunk-Bmb41Sf3.cjs`);let t=require(`react`);t=e.t(t);let n=require(`react/jsx-runtime`);function r(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function i(...e){return t=>{let n=!1,i=e.map(e=>{let i=r(e,t);return!n&&typeof i==`function`&&(n=!0),i});if(n)return()=>{for(let t=0;t<i.length;t++){let n=i[t];typeof n==`function`?n():r(e[t],null)}}}}function a(e){let r=s(e),i=t.forwardRef((e,i)=>{let{children:a,...o}=e,s=t.Children.toArray(a),c=s.find(l);if(c){let e=c.props.children,a=s.map(n=>n===c?t.Children.count(e)>1?t.Children.only(null):t.isValidElement(e)?e.props.children:null:n);return(0,n.jsx)(r,{...o,ref:i,children:t.isValidElement(e)?t.cloneElement(e,void 0,a):null})}return(0,n.jsx)(r,{...o,ref:i,children:a})});return i.displayName=`${e}.Slot`,i}var o=a(`Slot`);function s(e){let n=t.forwardRef((e,n)=>{let{children:r,...a}=e;if(t.isValidElement(r)){let e=d(r),o=u(a,r.props);return r.type!==t.Fragment&&(o.ref=n?i(n,e):e),t.cloneElement(r,o)}return t.Children.count(r)>1?t.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var c=Symbol(`radix.slottable`);function l(e){return t.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===c}function u(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function d(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
2
- //# sourceMappingURL=dist-BudM04oj.cjs.map
2
+ //# sourceMappingURL=dist-Dh8WwRa8.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dist-BudM04oj.cjs","names":["React"],"sources":["../node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../node_modules/@radix-ui/react-slot/dist/index.mjs"],"sourcesContent":["// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
1
+ {"version":3,"file":"dist-Dh8WwRa8.cjs","names":["React"],"sources":["../node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../node_modules/@radix-ui/react-slot/dist/index.mjs"],"sourcesContent":["// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n"],"x_google_ignoreList":[0,1],"mappings":"2GAEA,SAAS,EAAO,EAAK,EAAO,CAC1B,GAAI,OAAO,GAAQ,WACjB,OAAO,EAAI,EAAM,CACR,GAAQ,OACjB,EAAI,QAAU,GAGlB,SAAS,EAAY,GAAG,EAAM,CAC5B,MAAQ,IAAS,CACf,IAAI,EAAa,GACX,EAAW,EAAK,IAAK,GAAQ,CACjC,IAAM,EAAU,EAAO,EAAK,EAAK,CAIjC,MAHI,CAAC,GAAc,OAAO,GAAW,aACnC,EAAa,IAER,GACP,CACF,GAAI,EACF,UAAa,CACX,IAAK,IAAI,EAAI,EAAG,EAAI,EAAS,OAAQ,IAAK,CACxC,IAAM,EAAU,EAAS,GACrB,OAAO,GAAW,WACpB,GAAS,CAET,EAAO,EAAK,GAAI,KAAK,ICrBjC,SAAS,EAAW,EAAW,CAC7B,IAAM,EAA4B,EAAgB,EAAU,CACtD,EAAQA,EAAM,YAAY,EAAO,IAAiB,CACtD,GAAM,CAAE,WAAU,GAAG,GAAc,EAC7B,EAAgBA,EAAM,SAAS,QAAQ,EAAS,CAChD,EAAY,EAAc,KAAK,EAAY,CACjD,GAAI,EAAW,CACb,IAAM,EAAa,EAAU,MAAM,SAC7B,EAAc,EAAc,IAAK,GACjC,IAAU,EACRA,EAAM,SAAS,MAAM,EAAW,CAAG,EAAUA,EAAM,SAAS,KAAK,KAAK,CACnEA,EAAM,eAAe,EAAW,CAAG,EAAW,MAAM,SAAW,KAE/D,EAET,CACF,OAAuB,EAAA,EAAA,KAAI,EAAW,CAAE,GAAG,EAAW,IAAK,EAAc,SAAUA,EAAM,eAAe,EAAW,CAAGA,EAAM,aAAa,EAAY,IAAK,GAAG,EAAY,CAAG,KAAM,CAAC,CAErL,OAAuB,EAAA,EAAA,KAAI,EAAW,CAAE,GAAG,EAAW,IAAK,EAAc,WAAU,CAAC,EACpF,CAEF,MADA,GAAM,YAAc,GAAG,EAAU,OAC1B,EAET,IAAI,EAAuB,EAAW,OAAO,CAE7C,SAAS,EAAgB,EAAW,CAClC,IAAM,EAAYA,EAAM,YAAY,EAAO,IAAiB,CAC1D,GAAM,CAAE,WAAU,GAAG,GAAc,EACnC,GAAIA,EAAM,eAAe,EAAS,CAAE,CAClC,IAAM,EAAc,EAAc,EAAS,CACrC,EAAS,EAAW,EAAW,EAAS,MAAM,CAIpD,OAHI,EAAS,OAASA,EAAM,WAC1B,EAAO,IAAM,EAAe,EAAY,EAAc,EAAY,CAAG,GAEhEA,EAAM,aAAa,EAAU,EAAO,CAE7C,OAAOA,EAAM,SAAS,MAAM,EAAS,CAAG,EAAIA,EAAM,SAAS,KAAK,KAAK,CAAG,MACxE,CAEF,MADA,GAAU,YAAc,GAAG,EAAU,YAC9B,EAET,IAAI,EAAuB,OAAO,kBAAkB,CAWpD,SAAS,EAAY,EAAO,CAC1B,OAAOA,EAAM,eAAe,EAAM,EAAI,OAAO,EAAM,MAAS,YAAc,cAAe,EAAM,MAAQ,EAAM,KAAK,YAAc,EAElI,SAAS,EAAW,EAAW,EAAY,CACzC,IAAM,EAAgB,CAAE,GAAG,EAAY,CACvC,IAAK,IAAM,KAAY,EAAY,CACjC,IAAM,EAAgB,EAAU,GAC1B,EAAiB,EAAW,GAChB,WAAW,KAAK,EAAS,CAErC,GAAiB,EACnB,EAAc,IAAa,GAAG,IAAS,CACrC,IAAM,EAAS,EAAe,GAAG,EAAK,CAEtC,OADA,EAAc,GAAG,EAAK,CACf,GAEA,IACT,EAAc,GAAY,GAEnB,IAAa,QACtB,EAAc,GAAY,CAAE,GAAG,EAAe,GAAG,EAAgB,CACxD,IAAa,cACtB,EAAc,GAAY,CAAC,EAAe,EAAe,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,EAGvF,MAAO,CAAE,GAAG,EAAW,GAAG,EAAe,CAE3C,SAAS,EAAc,EAAS,CAC9B,IAAI,EAAS,OAAO,yBAAyB,EAAQ,MAAO,MAAM,EAAE,IAChE,EAAU,GAAU,mBAAoB,GAAU,EAAO,eAS7D,OARI,EACK,EAAQ,KAEjB,EAAS,OAAO,yBAAyB,EAAS,MAAM,EAAE,IAC1D,EAAU,GAAU,mBAAoB,GAAU,EAAO,eACrD,EACK,EAAQ,MAAM,IAEhB,EAAQ,MAAM,KAAO,EAAQ"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-Bmb41Sf3.cjs`);let t=require(`lucide-react`),n=require(`react/jsx-runtime`),r=require(`@customafk/react-toolkit/utils`),i=require(`radix-ui`);function a({...e}){return(0,n.jsx)(i.DropdownMenu.Root,{"data-slot":`dropdown-menu`,...e})}function o({...e}){return(0,n.jsx)(i.DropdownMenu.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function s({...e}){return(0,n.jsx)(i.DropdownMenu.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function c({className:e,sideOffset:t=4,align:a=`start`,...o}){return(0,n.jsx)(i.DropdownMenu.Portal,{children:(0,n.jsx)(i.DropdownMenu.Content,{"data-slot":`dropdown-menu-content`,sideOffset:t,align:a,className:(0,r.cn)(`bg-popover text-text-positive`,`z-50 min-w-32`,`overflow-y-auto overflow-x-hidden`,`rounded-md p-1.5 shadow-dropdown`,`max-h-(--radix-dropdown-menu-content-available-height)`,`origin-(--radix-dropdown-menu-content-transform-origin)`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,e),...o})})}function l({...e}){return(0,n.jsx)(i.DropdownMenu.Group,{"data-slot":`dropdown-menu-group`,...e})}function u({className:e,inset:t,variant:a=`default`,...o}){return(0,n.jsx)(i.DropdownMenu.Item,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":a,className:(0,r.cn)(`relative flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-inset:pl-8`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`data-[variant=destructive]:text-danger`,`data-[variant=destructive]:focus:bg-danger-muted data-[variant=destructive]:focus:text-danger-strong`,`data-[variant=destructive]:*:[svg]:text-danger!`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,`[&_svg:not([class*='text-'])]:text-text-positive-weak`,e),...o})}function d({className:e,children:a,checked:o,...s}){return(0,n.jsxs)(i.DropdownMenu.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:(0,r.cn)(`relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,e),checked:o,...s,children:[(0,n.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,n.jsx)(i.DropdownMenu.ItemIndicator,{children:(0,n.jsx)(t.CheckIcon,{size:16})})}),a]})}function f({...e}){return(0,n.jsx)(i.DropdownMenu.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function p({className:e,children:a,...o}){return(0,n.jsxs)(i.DropdownMenu.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:(0,r.cn)(`relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,e),...o,children:[(0,n.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,n.jsx)(i.DropdownMenu.ItemIndicator,{children:(0,n.jsx)(t.CircleIcon,{className:`size-2 fill-current`})})}),a]})}function m({className:e,inset:t,...a}){return(0,n.jsx)(i.DropdownMenu.Label,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:(0,r.cn)(`px-2 py-1.5 font-medium text-sm text-text-positive-weak data-inset:pl-8`,e),...a})}function h({className:e,...t}){return(0,n.jsx)(i.DropdownMenu.Separator,{"data-slot":`dropdown-menu-separator`,className:(0,r.cn)(`-mx-1 my-1 h-px bg-border-weak`,e),...t})}function g({className:e,...t}){return(0,n.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:(0,r.cn)(`ml-auto text-xs text-text-positive-muted tracking-widest`,e),...t})}function _({...e}){return(0,n.jsx)(i.DropdownMenu.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function v({className:e,inset:a,children:o,...s}){return(0,n.jsxs)(i.DropdownMenu.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":a,className:(0,r.cn)(`flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-[state=open]:bg-muted-muted data-[state=open]:text-text-positive-strong`,`data-inset:pl-8`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,e),...s,children:[o,(0,n.jsx)(t.ChevronRightIcon,{className:`ml-auto size-4`})]})}function y({className:e,...t}){return(0,n.jsx)(i.DropdownMenu.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:(0,r.cn)(`bg-popover text-text-positive`,`z-50 min-w-32`,`overflow-y-auto overflow-x-hidden`,`origin-(--radix-dropdown-menu-content-transform-origin) rounded-md p-1.5 shadow-dropdown`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,e),...t})}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return h}});
2
+ //# sourceMappingURL=dropdown-menu-Ct9BLGfa.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu-Ct9BLGfa.cjs","names":["DropdownMenuPrimitive","CheckIcon","CircleIcon","ChevronRightIcon"],"sources":["../packages/components/ui/dropdown-menu.tsx"],"sourcesContent":["'use client';\n\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';\n\n/**\n * Root provider for the DropdownMenu — wraps all sub-components and controls open state.\n *\n * @example\n * ```tsx\n * import {\n * DropdownMenu, DropdownMenuTrigger, DropdownMenuContent,\n * DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator,\n * } from '@customafk/lunas-ui/ui/dropdown-menu';\n *\n * <DropdownMenu>\n * <DropdownMenuTrigger>Options</DropdownMenuTrigger>\n * <DropdownMenuContent>\n * <DropdownMenuLabel>My Account</DropdownMenuLabel>\n * <DropdownMenuSeparator />\n * <DropdownMenuItem>Profile</DropdownMenuItem>\n * <DropdownMenuItem variant=\"destructive\">Delete</DropdownMenuItem>\n * </DropdownMenuContent>\n * </DropdownMenu>\n * ```\n */\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\n/** Portals DropdownMenu content outside the current DOM hierarchy. */\nfunction DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\n/** Element that opens the DropdownMenu when activated. */\nfunction DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\n/** Animated floating panel that contains the dropdown items. */\nfunction DropdownMenuContent({ className, sideOffset = 4, align = 'start', ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n align={align}\n className={cn(\n 'bg-popover text-text-positive',\n 'z-50 min-w-32',\n 'overflow-y-auto overflow-x-hidden',\n 'rounded-md p-1.5 shadow-dropdown',\n 'max-h-(--radix-dropdown-menu-content-available-height)',\n 'origin-(--radix-dropdown-menu-content-transform-origin)',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\n/** Groups related DropdownMenuItems under a shared logical section. */\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\n/**\n * A single clickable row inside a DropdownMenuContent.\n *\n * @param inset - When true, adds left padding to align with items that have icons.\n * @param variant - Visual style: `'default'` or `'destructive'`.\n */\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-inset:pl-8',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n 'data-[variant=destructive]:text-danger',\n 'data-[variant=destructive]:focus:bg-danger-muted data-[variant=destructive]:focus:text-danger-strong',\n 'data-[variant=destructive]:*:[svg]:text-danger!',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-text-positive-weak\",\n className\n )}\n {...props}\n />\n );\n}\n\n/** A checkable menu item that displays a checkmark when selected. */\nfunction DropdownMenuCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\n/** Groups DropdownMenuRadioItems so only one can be selected at a time. */\nfunction DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\n/** A radio-button menu item; shows a filled circle when selected. */\nfunction DropdownMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\n/**\n * Non-interactive label used to describe a group of items.\n *\n * @param inset - When true, adds left padding to align with inset items.\n */\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn('px-2 py-1.5 font-medium text-sm text-text-positive-weak data-inset:pl-8', className)}\n {...props}\n />\n );\n}\n\n/** Horizontal dividing line between groups of dropdown items. */\nfunction DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return <DropdownMenuPrimitive.Separator data-slot=\"dropdown-menu-separator\" className={cn('-mx-1 my-1 h-px bg-border-weak', className)} {...props} />;\n}\n\n/** Displays a keyboard shortcut hint aligned to the right of a menu item. */\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return <span data-slot=\"dropdown-menu-shortcut\" className={cn('ml-auto text-xs text-text-positive-muted tracking-widest', className)} {...props} />;\n}\n\n/** Root container for a nested sub-menu inside a DropdownMenu. */\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\n/**\n * Menu item that reveals a nested DropdownMenuSubContent on hover or activation.\n *\n * @param inset - When true, adds left padding to align with inset items.\n */\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n 'flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-[state=open]:bg-muted-muted data-[state=open]:text-text-positive-strong',\n 'data-inset:pl-8',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\n/** Floating panel that contains the items of a nested sub-menu. */\nfunction DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'bg-popover text-text-positive',\n 'z-50 min-w-32',\n 'overflow-y-auto overflow-x-hidden',\n 'origin-(--radix-dropdown-menu-content-transform-origin) rounded-md p-1.5 shadow-dropdown',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{CheckIcon as e,ChevronRightIcon as t,CircleIcon as n}from"lucide-react";import{jsx as r,jsxs as i}from"react/jsx-runtime";import{cn as a}from"@customafk/react-toolkit/utils";import{DropdownMenu as o}from"radix-ui";function s({...e}){return r(o.Root,{"data-slot":`dropdown-menu`,...e})}function c({...e}){return r(o.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function l({...e}){return r(o.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function u({className:e,sideOffset:t=4,align:n=`start`,...i}){return r(o.Portal,{children:r(o.Content,{"data-slot":`dropdown-menu-content`,sideOffset:t,align:n,className:a(`bg-popover text-text-positive`,`z-50 min-w-32`,`overflow-y-auto overflow-x-hidden`,`rounded-md p-1.5 shadow-dropdown`,`max-h-(--radix-dropdown-menu-content-available-height)`,`origin-(--radix-dropdown-menu-content-transform-origin)`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,e),...i})})}function d({...e}){return r(o.Group,{"data-slot":`dropdown-menu-group`,...e})}function f({className:e,inset:t,variant:n=`default`,...i}){return r(o.Item,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:a(`relative flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-inset:pl-8`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`data-[variant=destructive]:text-danger`,`data-[variant=destructive]:focus:bg-danger-muted data-[variant=destructive]:focus:text-danger-strong`,`data-[variant=destructive]:*:[svg]:text-danger!`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,`[&_svg:not([class*='text-'])]:text-text-positive-weak`,e),...i})}function p({className:t,children:n,checked:s,...c}){return i(o.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:a(`relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,t),checked:s,...c,children:[r(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:r(o.ItemIndicator,{children:r(e,{size:16})})}),n]})}function m({...e}){return r(o.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function h({className:e,children:t,...s}){return i(o.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:a(`relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,e),...s,children:[r(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:r(o.ItemIndicator,{children:r(n,{className:`size-2 fill-current`})})}),t]})}function g({className:e,inset:t,...n}){return r(o.Label,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:a(`px-2 py-1.5 font-medium text-sm text-text-positive-weak data-inset:pl-8`,e),...n})}function _({className:e,...t}){return r(o.Separator,{"data-slot":`dropdown-menu-separator`,className:a(`-mx-1 my-1 h-px bg-border-weak`,e),...t})}function v({className:e,...t}){return r(`span`,{"data-slot":`dropdown-menu-shortcut`,className:a(`ml-auto text-xs text-text-positive-muted tracking-widest`,e),...t})}function y({...e}){return r(o.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function b({className:e,inset:n,children:s,...c}){return i(o.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":n,className:a(`flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors`,`focus:bg-muted-muted focus:text-text-positive-strong`,`data-[state=open]:bg-muted-muted data-[state=open]:text-text-positive-strong`,`data-inset:pl-8`,`[&_svg]:pointer-events-none [&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,e),...c,children:[s,r(t,{className:`ml-auto size-4`})]})}function x({className:e,...t}){return r(o.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:a(`bg-popover text-text-positive`,`z-50 min-w-32`,`overflow-y-auto overflow-x-hidden`,`origin-(--radix-dropdown-menu-content-transform-origin) rounded-md p-1.5 shadow-dropdown`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,e),...t})}export{f as a,m as c,v as d,y as f,l as h,d as i,h as l,b as m,p as n,g as o,x as p,u as r,c as s,s as t,_ as u};
2
+ //# sourceMappingURL=dropdown-menu-DWSfXhHo.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu-DWSfXhHo.mjs","names":["DropdownMenu","DropdownMenuPrimitive"],"sources":["../packages/components/ui/dropdown-menu.tsx"],"sourcesContent":["'use client';\n\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';\n\n/**\n * Root provider for the DropdownMenu — wraps all sub-components and controls open state.\n *\n * @example\n * ```tsx\n * import {\n * DropdownMenu, DropdownMenuTrigger, DropdownMenuContent,\n * DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator,\n * } from '@customafk/lunas-ui/ui/dropdown-menu';\n *\n * <DropdownMenu>\n * <DropdownMenuTrigger>Options</DropdownMenuTrigger>\n * <DropdownMenuContent>\n * <DropdownMenuLabel>My Account</DropdownMenuLabel>\n * <DropdownMenuSeparator />\n * <DropdownMenuItem>Profile</DropdownMenuItem>\n * <DropdownMenuItem variant=\"destructive\">Delete</DropdownMenuItem>\n * </DropdownMenuContent>\n * </DropdownMenu>\n * ```\n */\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\n/** Portals DropdownMenu content outside the current DOM hierarchy. */\nfunction DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\n/** Element that opens the DropdownMenu when activated. */\nfunction DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\n/** Animated floating panel that contains the dropdown items. */\nfunction DropdownMenuContent({ className, sideOffset = 4, align = 'start', ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n align={align}\n className={cn(\n 'bg-popover text-text-positive',\n 'z-50 min-w-32',\n 'overflow-y-auto overflow-x-hidden',\n 'rounded-md p-1.5 shadow-dropdown',\n 'max-h-(--radix-dropdown-menu-content-available-height)',\n 'origin-(--radix-dropdown-menu-content-transform-origin)',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\n/** Groups related DropdownMenuItems under a shared logical section. */\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\n/**\n * A single clickable row inside a DropdownMenuContent.\n *\n * @param inset - When true, adds left padding to align with items that have icons.\n * @param variant - Visual style: `'default'` or `'destructive'`.\n */\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-inset:pl-8',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n 'data-[variant=destructive]:text-danger',\n 'data-[variant=destructive]:focus:bg-danger-muted data-[variant=destructive]:focus:text-danger-strong',\n 'data-[variant=destructive]:*:[svg]:text-danger!',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-text-positive-weak\",\n className\n )}\n {...props}\n />\n );\n}\n\n/** A checkable menu item that displays a checkmark when selected. */\nfunction DropdownMenuCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\n/** Groups DropdownMenuRadioItems so only one can be selected at a time. */\nfunction DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\n/** A radio-button menu item; shows a filled circle when selected. */\nfunction DropdownMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2.5 pr-2 pl-8 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\n/**\n * Non-interactive label used to describe a group of items.\n *\n * @param inset - When true, adds left padding to align with inset items.\n */\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn('px-2 py-1.5 font-medium text-sm text-text-positive-weak data-inset:pl-8', className)}\n {...props}\n />\n );\n}\n\n/** Horizontal dividing line between groups of dropdown items. */\nfunction DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return <DropdownMenuPrimitive.Separator data-slot=\"dropdown-menu-separator\" className={cn('-mx-1 my-1 h-px bg-border-weak', className)} {...props} />;\n}\n\n/** Displays a keyboard shortcut hint aligned to the right of a menu item. */\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return <span data-slot=\"dropdown-menu-shortcut\" className={cn('ml-auto text-xs text-text-positive-muted tracking-widest', className)} {...props} />;\n}\n\n/** Root container for a nested sub-menu inside a DropdownMenu. */\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\n/**\n * Menu item that reveals a nested DropdownMenuSubContent on hover or activation.\n *\n * @param inset - When true, adds left padding to align with inset items.\n */\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n 'flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-colors',\n 'focus:bg-muted-muted focus:text-text-positive-strong',\n 'data-[state=open]:bg-muted-muted data-[state=open]:text-text-positive-strong',\n 'data-inset:pl-8',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\n/** Floating panel that contains the items of a nested sub-menu. */\nfunction DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'bg-popover text-text-positive',\n 'z-50 min-w-32',\n 'overflow-y-auto overflow-x-hidden',\n 'origin-(--radix-dropdown-menu-content-transform-origin) rounded-md p-1.5 shadow-dropdown',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n"],"mappings":"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"}