@customafk/lunas-ui 0.2.65 → 0.2.66

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 (725) hide show
  1. package/dist/FeatureDeveloping-zuTTDIh_.d.cts +41 -0
  2. package/dist/FeatureDeveloping-zuTTDIh_.d.mts +41 -0
  3. package/dist/FeatureFixing-DYQlgHPk.d.cts +41 -0
  4. package/dist/FeatureFixing-DYQlgHPk.d.mts +41 -0
  5. package/dist/LoginPage-vMXvwtxf.d.cts +53 -0
  6. package/dist/LoginPage-vMXvwtxf.d.mts +53 -0
  7. package/dist/NotAuthorized-CZIQ6EaA.d.cts +41 -0
  8. package/dist/NotAuthorized-CZIQ6EaA.d.mts +41 -0
  9. package/dist/NotFound-CRSKxhV8.d.cts +41 -0
  10. package/dist/NotFound-CRSKxhV8.d.mts +41 -0
  11. package/dist/RegisterPage-BBtpEzvL.d.cts +50 -0
  12. package/dist/RegisterPage-BBtpEzvL.d.mts +50 -0
  13. package/dist/VerifyEmailPage-CsmIeYLu.d.cts +62 -0
  14. package/dist/VerifyEmailPage-CsmIeYLu.d.mts +62 -0
  15. package/dist/{action-submit-3kZ7JOop.cjs → action-submit-42PxGLsR.cjs} +2 -2
  16. package/dist/{action-submit-3kZ7JOop.cjs.map → action-submit-42PxGLsR.cjs.map} +1 -1
  17. package/dist/{action-submit-Dg5GvYz5.mjs → action-submit-SviPJW3i.mjs} +2 -2
  18. package/dist/{action-submit-Dg5GvYz5.mjs.map → action-submit-SviPJW3i.mjs.map} +1 -1
  19. package/dist/{actions-form-CE_enCgE.cjs → actions-form-Bo46j_dH.cjs} +2 -2
  20. package/dist/{actions-form-CE_enCgE.cjs.map → actions-form-Bo46j_dH.cjs.map} +1 -1
  21. package/dist/{actions-form-BL_B81Vg.mjs → actions-form-QdAsKwcQ.mjs} +2 -2
  22. package/dist/{actions-form-BL_B81Vg.mjs.map → actions-form-QdAsKwcQ.mjs.map} +1 -1
  23. package/dist/activity-heatmap-chart-DufvFndI.mjs +2 -0
  24. package/dist/activity-heatmap-chart-DufvFndI.mjs.map +1 -0
  25. package/dist/activity-heatmap-chart-gDcvIAK_.cjs +2 -0
  26. package/dist/activity-heatmap-chart-gDcvIAK_.cjs.map +1 -0
  27. package/dist/add-new-DkBwXh0Q.d.cts +16 -0
  28. package/dist/add-new-DkBwXh0Q.d.mts +16 -0
  29. package/dist/alert-dialog-Cdhz7jSj.d.cts +88 -0
  30. package/dist/alert-dialog-Cdhz7jSj.d.mts +88 -0
  31. package/dist/analysis-panel-DzsZKA9l.cjs +2 -0
  32. package/dist/analysis-panel-DzsZKA9l.cjs.map +1 -0
  33. package/dist/analysis-panel-ikcRtzG9.mjs +2 -0
  34. package/dist/analysis-panel-ikcRtzG9.mjs.map +1 -0
  35. package/dist/aspect-ratio-huscluwJ.d.cts +22 -0
  36. package/dist/aspect-ratio-huscluwJ.d.mts +22 -0
  37. package/dist/avatar-BpeFwSkQ.d.cts +33 -0
  38. package/dist/avatar-BpeFwSkQ.d.mts +33 -0
  39. package/dist/avatar-name-display-BrpnTqa_.mjs +2 -0
  40. package/dist/avatar-name-display-BrpnTqa_.mjs.map +1 -0
  41. package/dist/avatar-name-display-CLi1DJUs.cjs +2 -0
  42. package/dist/avatar-name-display-CLi1DJUs.cjs.map +1 -0
  43. package/dist/{badge-D0InQSvM.d.cts → badge-MRT40pxM.d.cts} +3 -3
  44. package/dist/{badge-D0InQSvM.d.mts → badge-MRT40pxM.d.mts} +3 -3
  45. package/dist/badge-display-9WXwgQgH.cjs +2 -0
  46. package/dist/badge-display-9WXwgQgH.cjs.map +1 -0
  47. package/dist/badge-display-Dx-dITLB.mjs +2 -0
  48. package/dist/badge-display-Dx-dITLB.mjs.map +1 -0
  49. package/dist/boolean-display-OVCtvzI1.mjs +2 -0
  50. package/dist/boolean-display-OVCtvzI1.mjs.map +1 -0
  51. package/dist/boolean-display-pmzYS-ND.cjs +2 -0
  52. package/dist/boolean-display-pmzYS-ND.cjs.map +1 -0
  53. package/dist/breadcrumb-CSpScKZm.d.cts +69 -0
  54. package/dist/breadcrumb-CSpScKZm.d.mts +69 -0
  55. package/dist/{button-DIqm3YRo.d.cts → button-Bk4Y6_9I.d.cts} +3 -3
  56. package/dist/{button-DIqm3YRo.d.mts → button-Bk4Y6_9I.d.mts} +3 -3
  57. package/dist/button-group-Cd5m5G3p.d.mts +48 -0
  58. package/dist/button-group-CiKhLVCg.d.cts +48 -0
  59. package/dist/calendar-DPKt7D3w.d.mts +43 -0
  60. package/dist/calendar-stv2bJv0.d.cts +43 -0
  61. package/dist/candlestick-chart-CiBiCU3y.mjs +2 -0
  62. package/dist/candlestick-chart-CiBiCU3y.mjs.map +1 -0
  63. package/dist/candlestick-chart-CqmRkfXj.cjs +2 -0
  64. package/dist/candlestick-chart-CqmRkfXj.cjs.map +1 -0
  65. package/dist/card-DOnx7RKz.d.cts +60 -0
  66. package/dist/card-DOnx7RKz.d.mts +60 -0
  67. package/dist/cards/grid-product-card.d.cts +2 -30
  68. package/dist/cards/grid-product-card.d.mts +2 -30
  69. package/dist/cards/product-card.d.cts +2 -30
  70. package/dist/cards/product-card.d.mts +2 -30
  71. package/dist/cards/simple-card.d.cts +2 -29
  72. package/dist/cards/simple-card.d.mts +2 -29
  73. package/dist/carousel-CV3IZ96x.d.mts +70 -0
  74. package/dist/carousel-c2XuzmYN.d.cts +70 -0
  75. package/dist/chart-sYFksFMk.d.cts +80 -0
  76. package/dist/chart-sYFksFMk.d.mts +80 -0
  77. package/dist/checkbox-XfLNnG0S.d.cts +24 -0
  78. package/dist/checkbox-XfLNnG0S.d.mts +24 -0
  79. package/dist/{checkbox-field-DdeohRmi.cjs → checkbox-field-B1vCz-Wf.cjs} +2 -2
  80. package/dist/{checkbox-field-DdeohRmi.cjs.map → checkbox-field-B1vCz-Wf.cjs.map} +1 -1
  81. package/dist/{checkbox-field-CRcfuDu1.mjs → checkbox-field-FqCe38_D.mjs} +2 -2
  82. package/dist/{checkbox-field-CRcfuDu1.mjs.map → checkbox-field-FqCe38_D.mjs.map} +1 -1
  83. package/dist/{cms-layout-SubgSF72.cjs → cms-layout-CGGJqbr0.cjs} +2 -2
  84. package/dist/{cms-layout-SubgSF72.cjs.map → cms-layout-CGGJqbr0.cjs.map} +1 -1
  85. package/dist/{cms-layout-CuF5ahpj.mjs → cms-layout-ePySxIQN.mjs} +2 -2
  86. package/dist/{cms-layout-CuF5ahpj.mjs.map → cms-layout-ePySxIQN.mjs.map} +1 -1
  87. package/dist/collapsible-liIHmFuw.d.cts +32 -0
  88. package/dist/collapsible-liIHmFuw.d.mts +32 -0
  89. package/dist/combobox-field-D6fiCcvU.mjs +2 -0
  90. package/dist/{combobox-field-BGChwajc.mjs.map → combobox-field-D6fiCcvU.mjs.map} +1 -1
  91. package/dist/{combobox-field-D9NdSih1.cjs → combobox-field-DLpH6J9H.cjs} +2 -2
  92. package/dist/{combobox-field-D9NdSih1.cjs.map → combobox-field-DLpH6J9H.cjs.map} +1 -1
  93. package/dist/command-Bb6SneVI.d.mts +87 -0
  94. package/dist/command-CHSJVU9o.d.cts +87 -0
  95. package/dist/confirm-dialog-B8Vu0z8S.d.cts +142 -0
  96. package/dist/confirm-dialog-B8Vu0z8S.d.mts +142 -0
  97. package/dist/context-menu-BOlGSuep.d.cts +123 -0
  98. package/dist/context-menu-BOlGSuep.d.mts +123 -0
  99. package/dist/conversion-funnel-chart-CW_zDfKS.mjs +2 -0
  100. package/dist/conversion-funnel-chart-CW_zDfKS.mjs.map +1 -0
  101. package/dist/conversion-funnel-chart-r2m2QbiQ.cjs +2 -0
  102. package/dist/conversion-funnel-chart-r2m2QbiQ.cjs.map +1 -0
  103. package/dist/correlation-scatter-chart-Djtt7NU7.mjs +2 -0
  104. package/dist/correlation-scatter-chart-Djtt7NU7.mjs.map +1 -0
  105. package/dist/correlation-scatter-chart-HF48YUIB.cjs +2 -0
  106. package/dist/correlation-scatter-chart-HF48YUIB.cjs.map +1 -0
  107. package/dist/country-C8QijcHF.d.mts +21 -0
  108. package/dist/country-CJIaO0I7.d.cts +21 -0
  109. package/dist/currency-display-B91H66HM.cjs +2 -0
  110. package/dist/currency-display-B91H66HM.cjs.map +1 -0
  111. package/dist/currency-display-BN1i8jnU.mjs +2 -0
  112. package/dist/currency-display-BN1i8jnU.mjs.map +1 -0
  113. package/dist/data-display/country.d.cts +2 -21
  114. package/dist/data-display/country.d.mts +2 -21
  115. package/dist/data-display/data-list.d.cts +2 -38
  116. package/dist/data-display/data-list.d.mts +2 -38
  117. package/dist/data-display/date-tooltip.d.cts +2 -18
  118. package/dist/data-display/date-tooltip.d.mts +2 -18
  119. package/dist/data-display/date.d.cts +2 -39
  120. package/dist/data-display/date.d.mts +2 -39
  121. package/dist/data-display/empty.d.cts +2 -19
  122. package/dist/data-display/empty.d.mts +2 -19
  123. package/dist/data-display/name.d.cts +2 -18
  124. package/dist/data-display/name.d.mts +2 -18
  125. package/dist/data-display/phone-number.d.cts +2 -18
  126. package/dist/data-display/phone-number.d.mts +2 -18
  127. package/dist/data-display/role-badge.d.cts +2 -21
  128. package/dist/data-display/role-badge.d.mts +2 -21
  129. package/dist/data-display/statistic.d.cts +2 -45
  130. package/dist/data-display/statistic.d.mts +2 -45
  131. package/dist/data-display/user.d.cts +2 -20
  132. package/dist/data-display/user.d.mts +2 -20
  133. package/dist/data-list-Cg510z2m.d.cts +38 -0
  134. package/dist/data-list-Cg510z2m.d.mts +38 -0
  135. package/dist/date-KANPBbN4.d.cts +39 -0
  136. package/dist/date-KANPBbN4.d.mts +39 -0
  137. package/dist/date-display-BWtvWDHK.mjs +2 -0
  138. package/dist/date-display-BWtvWDHK.mjs.map +1 -0
  139. package/dist/date-display-odcC9NcB.cjs +2 -0
  140. package/dist/date-display-odcC9NcB.cjs.map +1 -0
  141. package/dist/{date-field-Dm4ki1HS.mjs → date-field-Cxbrc0Vl.mjs} +2 -2
  142. package/dist/{date-field-Dm4ki1HS.mjs.map → date-field-Cxbrc0Vl.mjs.map} +1 -1
  143. package/dist/{date-field-BqAX4M_h.cjs → date-field-RvEB9F1r.cjs} +2 -2
  144. package/dist/{date-field-BqAX4M_h.cjs.map → date-field-RvEB9F1r.cjs.map} +1 -1
  145. package/dist/date-tooltip-DptxGOj_.d.cts +18 -0
  146. package/dist/date-tooltip-DptxGOj_.d.mts +18 -0
  147. package/dist/description-display-BubAcFan.mjs +2 -0
  148. package/dist/description-display-BubAcFan.mjs.map +1 -0
  149. package/dist/description-display-CKe0j3q-.cjs +2 -0
  150. package/dist/description-display-CKe0j3q-.cjs.map +1 -0
  151. package/dist/{dialog-form-ClWBZbUN.mjs → dialog-form-C0W5C0u9.mjs} +2 -2
  152. package/dist/{dialog-form-ClWBZbUN.mjs.map → dialog-form-C0W5C0u9.mjs.map} +1 -1
  153. package/dist/{dialog-form-DN-NlQFO.cjs → dialog-form-CkNCwzWG.cjs} +2 -2
  154. package/dist/{dialog-form-DN-NlQFO.cjs.map → dialog-form-CkNCwzWG.cjs.map} +1 -1
  155. package/dist/dialogs/confirm-dialog.d.cts +2 -142
  156. package/dist/dialogs/confirm-dialog.d.mts +2 -142
  157. package/dist/dialogs/detail-dialog/components/sidebar.cjs +1 -1
  158. package/dist/dialogs/detail-dialog/components/sidebar.cjs.map +1 -1
  159. package/dist/dialogs/detail-dialog/components/sidebar.d.cts +50 -38
  160. package/dist/dialogs/detail-dialog/components/sidebar.d.mts +50 -38
  161. package/dist/dialogs/detail-dialog/components/sidebar.mjs +1 -1
  162. package/dist/dialogs/detail-dialog/components/sidebar.mjs.map +1 -1
  163. package/dist/dialogs/detail-dialog/index.cjs +1 -1
  164. package/dist/dialogs/detail-dialog/index.cjs.map +1 -1
  165. package/dist/dialogs/detail-dialog/index.d.cts +2 -36
  166. package/dist/dialogs/detail-dialog/index.d.mts +2 -36
  167. package/dist/dialogs/detail-dialog/index.mjs +1 -1
  168. package/dist/dialogs/detail-dialog/index.mjs.map +1 -1
  169. package/dist/dialogs/error-dialog.d.cts +2 -22
  170. package/dist/dialogs/error-dialog.d.mts +2 -22
  171. package/dist/dialogs/loading-dialog.d.cts +2 -19
  172. package/dist/dialogs/loading-dialog.d.mts +2 -19
  173. package/dist/donut-chart-CsPPKy0G.cjs +2 -0
  174. package/dist/donut-chart-CsPPKy0G.cjs.map +1 -0
  175. package/dist/donut-chart-eKZjuzW0.mjs +2 -0
  176. package/dist/donut-chart-eKZjuzW0.mjs.map +1 -0
  177. package/dist/drawer-Dwx99ff3.d.cts +70 -0
  178. package/dist/drawer-Dwx99ff3.d.mts +70 -0
  179. package/dist/dropdown-menu-CcMccVns.d.cts +125 -0
  180. package/dist/dropdown-menu-CcMccVns.d.mts +125 -0
  181. package/dist/edit-button-0_FLZoT3.cjs +2 -0
  182. package/dist/edit-button-0_FLZoT3.cjs.map +1 -0
  183. package/dist/edit-button-DmMFMzG0.mjs +2 -0
  184. package/dist/edit-button-DmMFMzG0.mjs.map +1 -0
  185. package/dist/edit-qfS5kOtM.d.cts +16 -0
  186. package/dist/edit-qfS5kOtM.d.mts +16 -0
  187. package/dist/email-display-BLt60GQ1.cjs +2 -0
  188. package/dist/email-display-BLt60GQ1.cjs.map +1 -0
  189. package/dist/email-display-CMme47S9.mjs +2 -0
  190. package/dist/email-display-CMme47S9.mjs.map +1 -0
  191. package/dist/{email-field-lDd9ouFN.cjs → email-field-BErx3liY.cjs} +2 -2
  192. package/dist/{email-field-lDd9ouFN.cjs.map → email-field-BErx3liY.cjs.map} +1 -1
  193. package/dist/{email-field-DZNR_JbT.mjs → email-field-BtcdBWL4.mjs} +2 -2
  194. package/dist/{email-field-DZNR_JbT.mjs.map → email-field-BtcdBWL4.mjs.map} +1 -1
  195. package/dist/empty-CaNJjp05.d.cts +65 -0
  196. package/dist/empty-CaNJjp05.d.mts +65 -0
  197. package/dist/empty-ClQptIZH.d.cts +19 -0
  198. package/dist/empty-ClQptIZH.d.mts +19 -0
  199. package/dist/error-dialog-D4jOPhmw.d.cts +22 -0
  200. package/dist/error-dialog-D4jOPhmw.d.mts +22 -0
  201. package/dist/features/charts/index.cjs +1 -1
  202. package/dist/features/charts/index.cjs.map +1 -1
  203. package/dist/features/charts/index.d.cts +2 -904
  204. package/dist/features/charts/index.d.mts +2 -904
  205. package/dist/features/charts/index.mjs +1 -1
  206. package/dist/features/charts/index.mjs.map +1 -1
  207. package/dist/features/descriptions/index.cjs +1 -1
  208. package/dist/features/descriptions/index.cjs.map +1 -1
  209. package/dist/features/descriptions/index.d.cts +2 -231
  210. package/dist/features/descriptions/index.d.mts +2 -231
  211. package/dist/features/descriptions/index.mjs +1 -1
  212. package/dist/features/descriptions/index.mjs.map +1 -1
  213. package/dist/features/search-modal/index.d.cts +2 -14
  214. package/dist/features/search-modal/index.d.mts +2 -14
  215. package/dist/features/tables/index.cjs +1 -1
  216. package/dist/features/tables/index.d.cts +2 -2
  217. package/dist/features/tables/index.d.mts +2 -2
  218. package/dist/features/tables/index.mjs +1 -1
  219. package/dist/features/tanstack-form/index.cjs +1 -1
  220. package/dist/features/tanstack-form/index.mjs +1 -1
  221. package/dist/features/text-editor/index.cjs +1 -1
  222. package/dist/features/text-editor/index.d.cts +1 -1
  223. package/dist/features/text-editor/index.d.mts +1 -1
  224. package/dist/features/text-editor/index.mjs +1 -1
  225. package/dist/file-uploader-U64lH0zG.d.cts +101 -0
  226. package/dist/file-uploader-U64lH0zG.d.mts +101 -0
  227. package/dist/filter-CMzD5h0M.mjs +2 -0
  228. package/dist/filter-CMzD5h0M.mjs.map +1 -0
  229. package/dist/filter-Cmg6SHMu.cjs +2 -0
  230. package/dist/filter-Cmg6SHMu.cjs.map +1 -0
  231. package/dist/flex-CT71VV-I.d.cts +114 -0
  232. package/dist/flex-CT71VV-I.d.mts +114 -0
  233. package/dist/form-CMP15S4r.d.cts +109 -0
  234. package/dist/form-CMP15S4r.d.mts +109 -0
  235. package/dist/gain-loss-bar-chart-Dz1oAj8H.mjs +2 -0
  236. package/dist/gain-loss-bar-chart-Dz1oAj8H.mjs.map +1 -0
  237. package/dist/gain-loss-bar-chart-FUzN7DxF.cjs +2 -0
  238. package/dist/gain-loss-bar-chart-FUzN7DxF.cjs.map +1 -0
  239. package/dist/google-Bl-jBW8L.d.cts +48 -0
  240. package/dist/google-Bl-jBW8L.d.mts +48 -0
  241. package/dist/grid-i7Oz2Izf.d.cts +19 -0
  242. package/dist/grid-i7Oz2Izf.d.mts +19 -0
  243. package/dist/grid-product-card-bpADqDOQ.d.cts +30 -0
  244. package/dist/grid-product-card-bpADqDOQ.d.mts +30 -0
  245. package/dist/hover-card-Prwm-0Q4.d.cts +35 -0
  246. package/dist/hover-card-Prwm-0Q4.d.mts +35 -0
  247. package/dist/image-Cln0r7Eb.d.cts +27 -0
  248. package/dist/image-Cln0r7Eb.d.mts +27 -0
  249. package/dist/{index-C4isgHWG.d.cts → index-BRE7tL8d.d.cts} +121 -500
  250. package/dist/index-C2HFO3a9.d.mts +231 -0
  251. package/dist/index-C9eXmnvk.d.cts +36 -0
  252. package/dist/index-C9eXmnvk.d.mts +36 -0
  253. package/dist/index-CBntsHIg.d.cts +520 -0
  254. package/dist/index-CBntsHIg.d.mts +520 -0
  255. package/dist/{index-DOaKN0wJ.d.mts → index-D9bKlLiM.d.cts} +2 -22
  256. package/dist/{index-DOaKN0wJ.d.cts → index-D9bKlLiM.d.mts} +2 -22
  257. package/dist/index-DJiiPHPf.d.cts +59 -0
  258. package/dist/index-DJiiPHPf.d.mts +59 -0
  259. package/dist/index-DtIL69PB.d.cts +14 -0
  260. package/dist/index-DtIL69PB.d.mts +14 -0
  261. package/dist/{index-C8W56XKm.d.mts → index-DvoLzsh0.d.mts} +121 -500
  262. package/dist/index-fZChR7MS.d.cts +231 -0
  263. package/dist/index.cjs +1 -1
  264. package/dist/index.d.cts +91 -91
  265. package/dist/index.d.mts +91 -91
  266. package/dist/index.mjs +1 -1
  267. package/dist/indexed-performance-line-chart-CT79KOM6.cjs +2 -0
  268. package/dist/indexed-performance-line-chart-CT79KOM6.cjs.map +1 -0
  269. package/dist/indexed-performance-line-chart-D7F-rIMv.mjs +2 -0
  270. package/dist/indexed-performance-line-chart-D7F-rIMv.mjs.map +1 -0
  271. package/dist/{input-go3H4EQz.d.cts → input-BieGEIDf.d.cts} +2 -2
  272. package/dist/{input-go3H4EQz.d.mts → input-BieGEIDf.d.mts} +2 -2
  273. package/dist/input-otp-6hJfhBHX.d.cts +56 -0
  274. package/dist/input-otp-6hJfhBHX.d.mts +56 -0
  275. package/dist/item-DTR2f2CX.d.cts +99 -0
  276. package/dist/item-cIhkI3ZI.d.mts +99 -0
  277. package/dist/label-DPG_GY7h.d.cts +22 -0
  278. package/dist/label-DPG_GY7h.d.mts +22 -0
  279. package/dist/layouts/cms-layout/index.cjs +1 -1
  280. package/dist/layouts/cms-layout/index.mjs +1 -1
  281. package/dist/layouts/flex.d.cts +2 -114
  282. package/dist/layouts/flex.d.mts +2 -114
  283. package/dist/layouts/grid.d.cts +2 -19
  284. package/dist/layouts/grid.d.mts +2 -19
  285. package/dist/layouts/payment-layout/index.cjs +1 -1
  286. package/dist/layouts/payment-layout/index.d.cts +2 -59
  287. package/dist/layouts/payment-layout/index.d.mts +2 -59
  288. package/dist/layouts/payment-layout/index.mjs +1 -1
  289. package/dist/list-display-BuRCso6J.mjs +2 -0
  290. package/dist/list-display-BuRCso6J.mjs.map +1 -0
  291. package/dist/list-display-DEU6yFa9.cjs +2 -0
  292. package/dist/list-display-DEU6yFa9.cjs.map +1 -0
  293. package/dist/loading-dialog-C73EJx9s.d.cts +19 -0
  294. package/dist/loading-dialog-C73EJx9s.d.mts +19 -0
  295. package/dist/menubar-CFrn3S96.d.cts +133 -0
  296. package/dist/menubar-CFrn3S96.d.mts +133 -0
  297. package/dist/metric-radar-chart-6LTGQHsL.mjs +2 -0
  298. package/dist/metric-radar-chart-6LTGQHsL.mjs.map +1 -0
  299. package/dist/metric-radar-chart-DwgbXgJX.cjs +2 -0
  300. package/dist/metric-radar-chart-DwgbXgJX.cjs.map +1 -0
  301. package/dist/mirrored-bar-chart-BT7AYPJB.mjs +2 -0
  302. package/dist/mirrored-bar-chart-BT7AYPJB.mjs.map +1 -0
  303. package/dist/mirrored-bar-chart-BwjtExjh.cjs +2 -0
  304. package/dist/mirrored-bar-chart-BwjtExjh.cjs.map +1 -0
  305. package/dist/more-button-BKBcXz6E.mjs +2 -0
  306. package/dist/more-button-BKBcXz6E.mjs.map +1 -0
  307. package/dist/more-button-RYvZgYiu.cjs +2 -0
  308. package/dist/more-button-RYvZgYiu.cjs.map +1 -0
  309. package/dist/multi-select-BbiKgAYs.d.cts +116 -0
  310. package/dist/multi-select-BoBHt_Z9.d.mts +116 -0
  311. package/dist/name-7aoM5rAW.d.cts +18 -0
  312. package/dist/name-7aoM5rAW.d.mts +18 -0
  313. package/dist/name-display-B6X52ip_.cjs +2 -0
  314. package/dist/name-display-B6X52ip_.cjs.map +1 -0
  315. package/dist/name-display-DXMZ8Lug.mjs +2 -0
  316. package/dist/name-display-DXMZ8Lug.mjs.map +1 -0
  317. package/dist/navigation-menu-B1BY9Zll.d.cts +73 -0
  318. package/dist/navigation-menu-B1BY9Zll.d.mts +73 -0
  319. package/dist/{number-field-Baj9Yhiv.mjs → number-field-BjVjf6s4.mjs} +2 -2
  320. package/dist/{number-field-Baj9Yhiv.mjs.map → number-field-BjVjf6s4.mjs.map} +1 -1
  321. package/dist/{number-field-BqeSbMvE.cjs → number-field-DmKh7bbY.cjs} +2 -2
  322. package/dist/{number-field-BqeSbMvE.cjs.map → number-field-DmKh7bbY.cjs.map} +1 -1
  323. package/dist/orders-bar-chart-9RmtP6In.cjs +2 -0
  324. package/dist/orders-bar-chart-9RmtP6In.cjs.map +1 -0
  325. package/dist/orders-bar-chart-DQhJGmwY.mjs +2 -0
  326. package/dist/orders-bar-chart-DQhJGmwY.mjs.map +1 -0
  327. package/dist/pages/FeatureDeveloping.d.cts +2 -41
  328. package/dist/pages/FeatureDeveloping.d.mts +2 -41
  329. package/dist/pages/FeatureFixing.d.cts +2 -41
  330. package/dist/pages/FeatureFixing.d.mts +2 -41
  331. package/dist/pages/LoginPage.cjs +1 -1
  332. package/dist/pages/LoginPage.cjs.map +1 -1
  333. package/dist/pages/LoginPage.d.cts +2 -53
  334. package/dist/pages/LoginPage.d.mts +2 -53
  335. package/dist/pages/LoginPage.mjs +1 -1
  336. package/dist/pages/LoginPage.mjs.map +1 -1
  337. package/dist/pages/NotAuthorized.d.cts +2 -41
  338. package/dist/pages/NotAuthorized.d.mts +2 -41
  339. package/dist/pages/NotFound.d.cts +2 -41
  340. package/dist/pages/NotFound.d.mts +2 -41
  341. package/dist/pages/RegisterPage.cjs +1 -1
  342. package/dist/pages/RegisterPage.cjs.map +1 -1
  343. package/dist/pages/RegisterPage.d.cts +2 -50
  344. package/dist/pages/RegisterPage.d.mts +2 -50
  345. package/dist/pages/RegisterPage.mjs +1 -1
  346. package/dist/pages/RegisterPage.mjs.map +1 -1
  347. package/dist/pages/VerifyEmailPage.d.cts +2 -62
  348. package/dist/pages/VerifyEmailPage.d.mts +2 -62
  349. package/dist/pagination-B2fyP0J2.d.cts +64 -0
  350. package/dist/pagination-DY0PBCnI.d.mts +64 -0
  351. package/dist/paragraph-BTmvVS1S.d.mts +46 -0
  352. package/dist/paragraph-DbYYv0A0.d.cts +46 -0
  353. package/dist/{password-field-fzpU42sV.mjs → password-field-C5FsQUa8.mjs} +2 -2
  354. package/dist/{password-field-fzpU42sV.mjs.map → password-field-C5FsQUa8.mjs.map} +1 -1
  355. package/dist/{password-field-Cq0S949S.cjs → password-field-gHYDiXWY.cjs} +2 -2
  356. package/dist/{password-field-Cq0S949S.cjs.map → password-field-gHYDiXWY.cjs.map} +1 -1
  357. package/dist/payment-layout-Cb-Q8KD2.cjs +2 -0
  358. package/dist/{payment-layout-BLrXT-oc.cjs.map → payment-layout-Cb-Q8KD2.cjs.map} +1 -1
  359. package/dist/{payment-layout-Dsz6wYT1.mjs → payment-layout-DS5CEH1h.mjs} +2 -2
  360. package/dist/{payment-layout-Dsz6wYT1.mjs.map → payment-layout-DS5CEH1h.mjs.map} +1 -1
  361. package/dist/permalink-CZ3g9daG.mjs +2 -0
  362. package/dist/permalink-CZ3g9daG.mjs.map +1 -0
  363. package/dist/permalink-DeeEKhfc.cjs +2 -0
  364. package/dist/permalink-DeeEKhfc.cjs.map +1 -0
  365. package/dist/phone-number-6b_pkGI1.d.cts +18 -0
  366. package/dist/phone-number-6b_pkGI1.d.mts +18 -0
  367. package/dist/phone-number-C43z68gT.mjs +2 -0
  368. package/dist/phone-number-C43z68gT.mjs.map +1 -0
  369. package/dist/phone-number-DhThJwd6.cjs +2 -0
  370. package/dist/phone-number-DhThJwd6.cjs.map +1 -0
  371. package/dist/popover-CdOCi0xg.d.cts +50 -0
  372. package/dist/popover-CdOCi0xg.d.mts +50 -0
  373. package/dist/{popover-form-DNbBGWVF.mjs → popover-form-B2taDBAh.mjs} +2 -2
  374. package/dist/{popover-form-DNbBGWVF.mjs.map → popover-form-B2taDBAh.mjs.map} +1 -1
  375. package/dist/{popover-form-KLmew1Vd.cjs → popover-form-_hQQpfAB.cjs} +2 -2
  376. package/dist/{popover-form-KLmew1Vd.cjs.map → popover-form-_hQQpfAB.cjs.map} +1 -1
  377. package/dist/portfolio-allocation-treemap-Bn0X4wb6.cjs +2 -0
  378. package/dist/portfolio-allocation-treemap-Bn0X4wb6.cjs.map +1 -0
  379. package/dist/portfolio-allocation-treemap-Cb9Kidrl.mjs +2 -0
  380. package/dist/portfolio-allocation-treemap-Cb9Kidrl.mjs.map +1 -0
  381. package/dist/price-range-area-chart-BW6RQb_9.cjs +2 -0
  382. package/dist/price-range-area-chart-BW6RQb_9.cjs.map +1 -0
  383. package/dist/price-range-area-chart-Dy01mhWJ.mjs +2 -0
  384. package/dist/price-range-area-chart-Dy01mhWJ.mjs.map +1 -0
  385. package/dist/product-card-CvXLXbpV.d.cts +30 -0
  386. package/dist/product-card-CvXLXbpV.d.mts +30 -0
  387. package/dist/progress-Bp-5keO8.d.cts +21 -0
  388. package/dist/progress-Bp-5keO8.d.mts +21 -0
  389. package/dist/progress-display-Bp0xVhln.cjs +2 -0
  390. package/dist/progress-display-Bp0xVhln.cjs.map +1 -0
  391. package/dist/progress-display-DYj7vAe9.mjs +2 -0
  392. package/dist/progress-display-DYj7vAe9.mjs.map +1 -0
  393. package/dist/{radio-group-field-DjzD3i-f.cjs → radio-group-field-McpjpLW-.cjs} +2 -2
  394. package/dist/{radio-group-field-DjzD3i-f.cjs.map → radio-group-field-McpjpLW-.cjs.map} +1 -1
  395. package/dist/{radio-group-field-Ps8yHpnH.mjs → radio-group-field-ZqMrf9Dx.mjs} +2 -2
  396. package/dist/{radio-group-field-Ps8yHpnH.mjs.map → radio-group-field-ZqMrf9Dx.mjs.map} +1 -1
  397. package/dist/radio-group-ycQQrPGn.d.cts +35 -0
  398. package/dist/radio-group-ycQQrPGn.d.mts +35 -0
  399. package/dist/refresh-BiyrZAXL.d.cts +16 -0
  400. package/dist/refresh-BiyrZAXL.d.mts +16 -0
  401. package/dist/remove-button-B3qFw-M5.cjs +2 -0
  402. package/dist/remove-button-B3qFw-M5.cjs.map +1 -0
  403. package/dist/remove-button-Db5oSj4h.mjs +2 -0
  404. package/dist/remove-button-Db5oSj4h.mjs.map +1 -0
  405. package/dist/{resizable-BLfxHCf4.d.cts → resizable-CAyWR1At.d.cts} +2 -2
  406. package/dist/{resizable-BLfxHCf4.d.mts → resizable-CAyWR1At.d.mts} +2 -2
  407. package/dist/revenue-area-chart-BwzeTRzD.mjs +2 -0
  408. package/dist/revenue-area-chart-BwzeTRzD.mjs.map +1 -0
  409. package/dist/revenue-area-chart-w2FZCl_7.cjs +2 -0
  410. package/dist/revenue-area-chart-w2FZCl_7.cjs.map +1 -0
  411. package/dist/revenue-orders-composed-chart-BttOWYGt.cjs +2 -0
  412. package/dist/revenue-orders-composed-chart-BttOWYGt.cjs.map +1 -0
  413. package/dist/revenue-orders-composed-chart-DwkbWZSX.mjs +2 -0
  414. package/dist/revenue-orders-composed-chart-DwkbWZSX.mjs.map +1 -0
  415. package/dist/role-badge-Bl4Rimpk.d.mts +21 -0
  416. package/dist/role-badge-IdZW0tsN.d.cts +21 -0
  417. package/dist/sales-target-radial-chart-BFLxBT2m.mjs +2 -0
  418. package/dist/sales-target-radial-chart-BFLxBT2m.mjs.map +1 -0
  419. package/dist/sales-target-radial-chart-BoxSk7hW.cjs +2 -0
  420. package/dist/sales-target-radial-chart-BoxSk7hW.cjs.map +1 -0
  421. package/dist/sankey-flow-chart-CDUqIRMZ.cjs +2 -0
  422. package/dist/sankey-flow-chart-CDUqIRMZ.cjs.map +1 -0
  423. package/dist/sankey-flow-chart-bQ3Dffet.mjs +2 -0
  424. package/dist/sankey-flow-chart-bQ3Dffet.mjs.map +1 -0
  425. package/dist/scroll-area-PbkqIAaH.d.cts +35 -0
  426. package/dist/scroll-area-PbkqIAaH.d.mts +35 -0
  427. package/dist/search-input-Bq4enQzR.d.cts +27 -0
  428. package/dist/search-input-D51_mAY-.d.mts +27 -0
  429. package/dist/select-B5j4WvPM.d.cts +74 -0
  430. package/dist/select-B5j4WvPM.d.mts +74 -0
  431. package/dist/{select-field-B4eU65OI.cjs → select-field-DG8sQ5iN.cjs} +2 -2
  432. package/dist/{select-field-B4eU65OI.cjs.map → select-field-DG8sQ5iN.cjs.map} +1 -1
  433. package/dist/{select-field-D6Dw-Jwg.mjs → select-field-Kq5iQCRQ.mjs} +2 -2
  434. package/dist/{select-field-D6Dw-Jwg.mjs.map → select-field-Kq5iQCRQ.mjs.map} +1 -1
  435. package/dist/separator-D6_fMJtM.d.cts +32 -0
  436. package/dist/separator-D6_fMJtM.d.mts +32 -0
  437. package/dist/sheet-cHLLSvvt.d.cts +66 -0
  438. package/dist/sheet-cHLLSvvt.d.mts +66 -0
  439. package/dist/sidebar-core-Bh0dZXsm.mjs +2 -0
  440. package/dist/sidebar-core-Bh0dZXsm.mjs.map +1 -0
  441. package/dist/sidebar-core-DQE6ymo4.cjs +2 -0
  442. package/dist/sidebar-core-DQE6ymo4.cjs.map +1 -0
  443. package/dist/{simple-array-field-Bcs2pHdp.cjs → simple-array-field-4paKpxXk.cjs} +2 -2
  444. package/dist/{simple-array-field-Bcs2pHdp.cjs.map → simple-array-field-4paKpxXk.cjs.map} +1 -1
  445. package/dist/{simple-array-field-9oZ-Smzp.mjs → simple-array-field-C5XdemXa.mjs} +2 -2
  446. package/dist/{simple-array-field-9oZ-Smzp.mjs.map → simple-array-field-C5XdemXa.mjs.map} +1 -1
  447. package/dist/{simple-boolean-field-C-qq6Vlt.cjs → simple-boolean-field-B9T_fHk9.cjs} +2 -2
  448. package/dist/{simple-boolean-field-C-qq6Vlt.cjs.map → simple-boolean-field-B9T_fHk9.cjs.map} +1 -1
  449. package/dist/{simple-boolean-field-CkJUMxNU.mjs → simple-boolean-field-DpJ-fSQk.mjs} +2 -2
  450. package/dist/{simple-boolean-field-CkJUMxNU.mjs.map → simple-boolean-field-DpJ-fSQk.mjs.map} +1 -1
  451. package/dist/simple-card-6P377r4A.d.cts +29 -0
  452. package/dist/simple-card-6P377r4A.d.mts +29 -0
  453. package/dist/{simple-combobox-field-5dfMd49B.mjs → simple-combobox-field-Ch4SBHCH.mjs} +2 -2
  454. package/dist/{simple-combobox-field-5dfMd49B.mjs.map → simple-combobox-field-Ch4SBHCH.mjs.map} +1 -1
  455. package/dist/{simple-combobox-field-BtmQGEo5.cjs → simple-combobox-field-ChMKk7xp.cjs} +2 -2
  456. package/dist/{simple-combobox-field-BtmQGEo5.cjs.map → simple-combobox-field-ChMKk7xp.cjs.map} +1 -1
  457. package/dist/{simple-date-field-LVfNhVJi.cjs → simple-date-field-BGGlsHzG.cjs} +2 -2
  458. package/dist/{simple-date-field-LVfNhVJi.cjs.map → simple-date-field-BGGlsHzG.cjs.map} +1 -1
  459. package/dist/{simple-date-field-BXoLb496.mjs → simple-date-field-CVKqIrEs.mjs} +2 -2
  460. package/dist/{simple-date-field-BXoLb496.mjs.map → simple-date-field-CVKqIrEs.mjs.map} +1 -1
  461. package/dist/{simple-email-field-rZZIXu7S.mjs → simple-email-field-98w0846B.mjs} +2 -2
  462. package/dist/{simple-email-field-rZZIXu7S.mjs.map → simple-email-field-98w0846B.mjs.map} +1 -1
  463. package/dist/{simple-email-field-QVUrm8f7.cjs → simple-email-field-DYqCWprP.cjs} +2 -2
  464. package/dist/{simple-email-field-QVUrm8f7.cjs.map → simple-email-field-DYqCWprP.cjs.map} +1 -1
  465. package/dist/{simple-number-field-P9PTwcs4.cjs → simple-number-field-otvv2xq-.cjs} +2 -2
  466. package/dist/{simple-number-field-P9PTwcs4.cjs.map → simple-number-field-otvv2xq-.cjs.map} +1 -1
  467. package/dist/{simple-number-field-PJAyAOMO.mjs → simple-number-field-zF3oqS8d.mjs} +2 -2
  468. package/dist/{simple-number-field-PJAyAOMO.mjs.map → simple-number-field-zF3oqS8d.mjs.map} +1 -1
  469. package/dist/{simple-password-field-BEuFXAsk.mjs → simple-password-field-CuC10c70.mjs} +2 -2
  470. package/dist/{simple-password-field-BEuFXAsk.mjs.map → simple-password-field-CuC10c70.mjs.map} +1 -1
  471. package/dist/{simple-password-field-BW6YkfSP.cjs → simple-password-field-D2UMmghM.cjs} +2 -2
  472. package/dist/{simple-password-field-BW6YkfSP.cjs.map → simple-password-field-D2UMmghM.cjs.map} +1 -1
  473. package/dist/{simple-radio-group-field-BtQHJpOz.cjs → simple-radio-group-field-C2DDfIUs.cjs} +2 -2
  474. package/dist/{simple-radio-group-field-BtQHJpOz.cjs.map → simple-radio-group-field-C2DDfIUs.cjs.map} +1 -1
  475. package/dist/{simple-radio-group-field-DiYQfgts.mjs → simple-radio-group-field-CfziNlLf.mjs} +2 -2
  476. package/dist/{simple-radio-group-field-DiYQfgts.mjs.map → simple-radio-group-field-CfziNlLf.mjs.map} +1 -1
  477. package/dist/{simple-select-field--zJMLBUY.cjs → simple-select-field-CeNnXUHN.cjs} +2 -2
  478. package/dist/{simple-select-field--zJMLBUY.cjs.map → simple-select-field-CeNnXUHN.cjs.map} +1 -1
  479. package/dist/{simple-select-field-Df4DLsbi.mjs → simple-select-field-DIaxhi1-.mjs} +2 -2
  480. package/dist/{simple-select-field-Df4DLsbi.mjs.map → simple-select-field-DIaxhi1-.mjs.map} +1 -1
  481. package/dist/{simple-text-field-zAfkmlhc.mjs → simple-text-field-D8jyznSd.mjs} +2 -2
  482. package/dist/{simple-text-field-zAfkmlhc.mjs.map → simple-text-field-D8jyznSd.mjs.map} +1 -1
  483. package/dist/{simple-text-field-DVkuHrhF.cjs → simple-text-field-LYWVIAfQ.cjs} +2 -2
  484. package/dist/{simple-text-field-DVkuHrhF.cjs.map → simple-text-field-LYWVIAfQ.cjs.map} +1 -1
  485. package/dist/{simple-textarea-field-BaMK0feA.cjs → simple-textarea-field-DcEvaizE.cjs} +2 -2
  486. package/dist/{simple-textarea-field-BaMK0feA.cjs.map → simple-textarea-field-DcEvaizE.cjs.map} +1 -1
  487. package/dist/{simple-textarea-field-q9DeFByl.mjs → simple-textarea-field-p9qX_n7m.mjs} +2 -2
  488. package/dist/{simple-textarea-field-q9DeFByl.mjs.map → simple-textarea-field-p9qX_n7m.mjs.map} +1 -1
  489. package/dist/skeleton-Ct4sYEKk.d.cts +24 -0
  490. package/dist/skeleton-Ct4sYEKk.d.mts +24 -0
  491. package/dist/slider-DwR1MhR8.d.cts +24 -0
  492. package/dist/slider-DwR1MhR8.d.mts +24 -0
  493. package/dist/sonner-B6LxJMYT.d.mts +22 -0
  494. package/dist/sonner-BcNgR0GP.d.cts +22 -0
  495. package/dist/sparkline-chart-TbGzakUl.mjs +2 -0
  496. package/dist/sparkline-chart-TbGzakUl.mjs.map +1 -0
  497. package/dist/sparkline-chart-sPqaJHep.cjs +2 -0
  498. package/dist/sparkline-chart-sPqaJHep.cjs.map +1 -0
  499. package/dist/spinner-CXuqcoB5.d.cts +22 -0
  500. package/dist/spinner-CXuqcoB5.d.mts +22 -0
  501. package/dist/stacked-area-chart-DyxY96_l.cjs +2 -0
  502. package/dist/stacked-area-chart-DyxY96_l.cjs.map +1 -0
  503. package/dist/stacked-area-chart-UIWIxTmq.mjs +2 -0
  504. package/dist/stacked-area-chart-UIWIxTmq.mjs.map +1 -0
  505. package/dist/statistic-8zBJMdRa.d.cts +45 -0
  506. package/dist/statistic-8zBJMdRa.d.mts +45 -0
  507. package/dist/statistic-BUGIRhL9.cjs +2 -0
  508. package/dist/statistic-BUGIRhL9.cjs.map +1 -0
  509. package/dist/statistic-Ug9Zgi3N.mjs +2 -0
  510. package/dist/statistic-Ug9Zgi3N.mjs.map +1 -0
  511. package/dist/status-display-B-6KKttX.mjs +2 -0
  512. package/dist/status-display-B-6KKttX.mjs.map +1 -0
  513. package/dist/status-display-DkI9UwAu.cjs +2 -0
  514. package/dist/status-display-DkI9UwAu.cjs.map +1 -0
  515. package/dist/summary-bar-CZHeAORf.mjs +2 -0
  516. package/dist/summary-bar-CZHeAORf.mjs.map +1 -0
  517. package/dist/summary-bar-DTFVpBZn.cjs +2 -0
  518. package/dist/summary-bar-DTFVpBZn.cjs.map +1 -0
  519. package/dist/switch-9v4AYqJb.d.cts +24 -0
  520. package/dist/switch-9v4AYqJb.d.mts +24 -0
  521. package/dist/{switch-field-B8HVvc2f.mjs → switch-field-CIoNsRWN.mjs} +2 -2
  522. package/dist/{switch-field-B8HVvc2f.mjs.map → switch-field-CIoNsRWN.mjs.map} +1 -1
  523. package/dist/{switch-field-C1uNuuku.cjs → switch-field-n6a5SaEM.cjs} +2 -2
  524. package/dist/{switch-field-C1uNuuku.cjs.map → switch-field-n6a5SaEM.cjs.map} +1 -1
  525. package/dist/systems/google.d.cts +2 -48
  526. package/dist/systems/google.d.mts +2 -48
  527. package/dist/table-Dg2D0v87.d.cts +70 -0
  528. package/dist/table-Dg2D0v87.d.mts +70 -0
  529. package/dist/tables-7aC9WFs9.cjs +2 -0
  530. package/dist/tables-7aC9WFs9.cjs.map +1 -0
  531. package/dist/tables-UikqnT9q.mjs +2 -0
  532. package/dist/tables-UikqnT9q.mjs.map +1 -0
  533. package/dist/tabs-CJ6qZcFU.d.cts +42 -0
  534. package/dist/tabs-CJ6qZcFU.d.mts +42 -0
  535. package/dist/tanstack-form-CNrZQZhn.cjs +2 -0
  536. package/dist/tanstack-form-CNrZQZhn.cjs.map +1 -0
  537. package/dist/tanstack-form-PC9YNeeo.mjs +2 -0
  538. package/dist/tanstack-form-PC9YNeeo.mjs.map +1 -0
  539. package/dist/text-editor-BYE2-G5K.mjs +2 -0
  540. package/dist/text-editor-BYE2-G5K.mjs.map +1 -0
  541. package/dist/text-editor-CfQk5dIx.cjs +2 -0
  542. package/dist/text-editor-CfQk5dIx.cjs.map +1 -0
  543. package/dist/{text-editor-field-CcsR48Jw.mjs → text-editor-field-fso-sw29.mjs} +2 -2
  544. package/dist/{text-editor-field-CcsR48Jw.mjs.map → text-editor-field-fso-sw29.mjs.map} +1 -1
  545. package/dist/{text-editor-field-BBDgCPuc.cjs → text-editor-field-gas5r-xy.cjs} +2 -2
  546. package/dist/{text-editor-field-BBDgCPuc.cjs.map → text-editor-field-gas5r-xy.cjs.map} +1 -1
  547. package/dist/{text-field-qhiYvQKt.mjs → text-field-B67oTV62.mjs} +2 -2
  548. package/dist/{text-field-qhiYvQKt.mjs.map → text-field-B67oTV62.mjs.map} +1 -1
  549. package/dist/{text-field-BhC_ik5w.cjs → text-field-BMo-8rsq.cjs} +2 -2
  550. package/dist/{text-field-BhC_ik5w.cjs.map → text-field-BMo-8rsq.cjs.map} +1 -1
  551. package/dist/textarea-C8ZIZh-y.d.cts +26 -0
  552. package/dist/textarea-C8ZIZh-y.d.mts +26 -0
  553. package/dist/{textarea-field-C-7ZoUMz.cjs → textarea-field-BUGcITwp.cjs} +2 -2
  554. package/dist/{textarea-field-C-7ZoUMz.cjs.map → textarea-field-BUGcITwp.cjs.map} +1 -1
  555. package/dist/{textarea-field-DqDciVSB.mjs → textarea-field-D70rGYIk.mjs} +2 -2
  556. package/dist/{textarea-field-DqDciVSB.mjs.map → textarea-field-D70rGYIk.mjs.map} +1 -1
  557. package/dist/title-BT9guhSU.d.cts +41 -0
  558. package/dist/title-BT9guhSU.d.mts +41 -0
  559. package/dist/toggle-Bh4EazxT.d.cts +30 -0
  560. package/dist/toggle-Bh4EazxT.d.mts +30 -0
  561. package/dist/toggle-button-DNLtfjJC.mjs +2 -0
  562. package/dist/toggle-button-DNLtfjJC.mjs.map +1 -0
  563. package/dist/toggle-button-Dq78v8cH.cjs +2 -0
  564. package/dist/toggle-button-Dq78v8cH.cjs.map +1 -0
  565. package/dist/toggle-group-BpqkL1ds.d.cts +37 -0
  566. package/dist/toggle-group-DzNE38v5.d.mts +37 -0
  567. package/dist/tooltip-B-yLj6pe.mjs +4 -0
  568. package/dist/tooltip-B-yLj6pe.mjs.map +1 -0
  569. package/dist/tooltip-D4U-RhIu.d.cts +53 -0
  570. package/dist/tooltip-D4U-RhIu.d.mts +53 -0
  571. package/dist/tooltip-octglTPf.cjs +4 -0
  572. package/dist/tooltip-octglTPf.cjs.map +1 -0
  573. package/dist/top-products-bar-chart-5EJFSkeo.cjs +2 -0
  574. package/dist/top-products-bar-chart-5EJFSkeo.cjs.map +1 -0
  575. package/dist/top-products-bar-chart-CKYaOGWT.mjs +2 -0
  576. package/dist/top-products-bar-chart-CKYaOGWT.mjs.map +1 -0
  577. package/dist/trash-BfWSqlL4.d.cts +16 -0
  578. package/dist/trash-BfWSqlL4.d.mts +16 -0
  579. package/dist/typography/paragraph.d.cts +2 -46
  580. package/dist/typography/paragraph.d.mts +2 -46
  581. package/dist/typography/title.d.cts +2 -41
  582. package/dist/typography/title.d.mts +2 -41
  583. package/dist/ui/alert-dialog.d.cts +2 -88
  584. package/dist/ui/alert-dialog.d.mts +2 -88
  585. package/dist/ui/aspect-ratio.d.cts +2 -22
  586. package/dist/ui/aspect-ratio.d.mts +2 -22
  587. package/dist/ui/avatar.d.cts +2 -33
  588. package/dist/ui/avatar.d.mts +2 -33
  589. package/dist/ui/badge.d.cts +1 -1
  590. package/dist/ui/badge.d.mts +1 -1
  591. package/dist/ui/breadcrumb.d.cts +2 -69
  592. package/dist/ui/breadcrumb.d.mts +2 -69
  593. package/dist/ui/button-group.d.cts +2 -48
  594. package/dist/ui/button-group.d.mts +2 -48
  595. package/dist/ui/button.d.cts +1 -1
  596. package/dist/ui/button.d.mts +1 -1
  597. package/dist/ui/buttons/add-new.d.cts +2 -16
  598. package/dist/ui/buttons/add-new.d.mts +2 -16
  599. package/dist/ui/buttons/edit.d.cts +2 -16
  600. package/dist/ui/buttons/edit.d.mts +2 -16
  601. package/dist/ui/buttons/refresh.d.cts +2 -16
  602. package/dist/ui/buttons/refresh.d.mts +2 -16
  603. package/dist/ui/buttons/trash.d.cts +2 -16
  604. package/dist/ui/buttons/trash.d.mts +2 -16
  605. package/dist/ui/buttons/upload-image.d.cts +2 -23
  606. package/dist/ui/buttons/upload-image.d.mts +2 -23
  607. package/dist/ui/calendar.d.cts +2 -43
  608. package/dist/ui/calendar.d.mts +2 -43
  609. package/dist/ui/card.d.cts +2 -60
  610. package/dist/ui/card.d.mts +2 -60
  611. package/dist/ui/carousel.d.cts +2 -70
  612. package/dist/ui/carousel.d.mts +2 -70
  613. package/dist/ui/chart.d.cts +2 -80
  614. package/dist/ui/chart.d.mts +2 -80
  615. package/dist/ui/checkbox.d.cts +2 -24
  616. package/dist/ui/checkbox.d.mts +2 -24
  617. package/dist/ui/collapsible.d.cts +2 -32
  618. package/dist/ui/collapsible.d.mts +2 -32
  619. package/dist/ui/command.d.cts +2 -87
  620. package/dist/ui/command.d.mts +2 -87
  621. package/dist/ui/context-menu.d.cts +2 -123
  622. package/dist/ui/context-menu.d.mts +2 -123
  623. package/dist/ui/drawer.d.cts +2 -70
  624. package/dist/ui/drawer.d.mts +2 -70
  625. package/dist/ui/dropdown-menu.d.cts +2 -125
  626. package/dist/ui/dropdown-menu.d.mts +2 -125
  627. package/dist/ui/empty.d.cts +2 -65
  628. package/dist/ui/empty.d.mts +2 -65
  629. package/dist/ui/field.d.cts +1 -1
  630. package/dist/ui/field.d.mts +1 -1
  631. package/dist/ui/file-uploader.d.cts +2 -101
  632. package/dist/ui/file-uploader.d.mts +2 -101
  633. package/dist/ui/form.d.cts +2 -109
  634. package/dist/ui/form.d.mts +2 -109
  635. package/dist/ui/hover-card.d.cts +2 -35
  636. package/dist/ui/hover-card.d.mts +2 -35
  637. package/dist/ui/image.d.cts +2 -27
  638. package/dist/ui/image.d.mts +2 -27
  639. package/dist/ui/input-otp.d.cts +2 -56
  640. package/dist/ui/input-otp.d.mts +2 -56
  641. package/dist/ui/input.d.cts +1 -1
  642. package/dist/ui/input.d.mts +1 -1
  643. package/dist/ui/inputs/search-input.d.cts +2 -27
  644. package/dist/ui/inputs/search-input.d.mts +2 -27
  645. package/dist/ui/item.d.cts +2 -99
  646. package/dist/ui/item.d.mts +2 -99
  647. package/dist/ui/label.d.cts +2 -22
  648. package/dist/ui/label.d.mts +2 -22
  649. package/dist/ui/menubar.d.cts +2 -133
  650. package/dist/ui/menubar.d.mts +2 -133
  651. package/dist/ui/multi-select.d.cts +2 -116
  652. package/dist/ui/multi-select.d.mts +2 -116
  653. package/dist/ui/navigation-menu.d.cts +2 -73
  654. package/dist/ui/navigation-menu.d.mts +2 -73
  655. package/dist/ui/pagination.d.cts +2 -64
  656. package/dist/ui/pagination.d.mts +2 -64
  657. package/dist/ui/popover.d.cts +2 -50
  658. package/dist/ui/popover.d.mts +2 -50
  659. package/dist/ui/progress.d.cts +2 -21
  660. package/dist/ui/progress.d.mts +2 -21
  661. package/dist/ui/radio-group.d.cts +2 -35
  662. package/dist/ui/radio-group.d.mts +2 -35
  663. package/dist/ui/resizable.d.cts +1 -1
  664. package/dist/ui/resizable.d.mts +1 -1
  665. package/dist/ui/scroll-area.d.cts +2 -35
  666. package/dist/ui/scroll-area.d.mts +2 -35
  667. package/dist/ui/select.d.cts +2 -74
  668. package/dist/ui/select.d.mts +2 -74
  669. package/dist/ui/separator.d.cts +2 -32
  670. package/dist/ui/separator.d.mts +2 -32
  671. package/dist/ui/sheet.d.cts +2 -66
  672. package/dist/ui/sheet.d.mts +2 -66
  673. package/dist/ui/skeleton.d.cts +2 -24
  674. package/dist/ui/skeleton.d.mts +2 -24
  675. package/dist/ui/slider.d.cts +2 -24
  676. package/dist/ui/slider.d.mts +2 -24
  677. package/dist/ui/sonner.d.cts +2 -22
  678. package/dist/ui/sonner.d.mts +2 -22
  679. package/dist/ui/spinner.d.cts +2 -22
  680. package/dist/ui/spinner.d.mts +2 -22
  681. package/dist/ui/switch.d.cts +2 -24
  682. package/dist/ui/switch.d.mts +2 -24
  683. package/dist/ui/table.d.cts +2 -70
  684. package/dist/ui/table.d.mts +2 -70
  685. package/dist/ui/tabs.d.cts +2 -42
  686. package/dist/ui/tabs.d.mts +2 -42
  687. package/dist/ui/textarea.d.cts +2 -26
  688. package/dist/ui/textarea.d.mts +2 -26
  689. package/dist/ui/toggle-group.d.cts +2 -37
  690. package/dist/ui/toggle-group.d.mts +2 -37
  691. package/dist/ui/toggle.d.cts +2 -30
  692. package/dist/ui/toggle.d.mts +2 -30
  693. package/dist/ui/tooltip.d.cts +2 -53
  694. package/dist/ui/tooltip.d.mts +2 -53
  695. package/dist/upload-image-D4VZU3IA.d.cts +23 -0
  696. package/dist/upload-image-D4VZU3IA.d.mts +23 -0
  697. package/dist/user-BymzvsYp.mjs +2 -0
  698. package/dist/user-BymzvsYp.mjs.map +1 -0
  699. package/dist/user-CvesQf42.d.cts +20 -0
  700. package/dist/user-CvesQf42.d.mts +20 -0
  701. package/dist/user-Dn53Fu5q.cjs +2 -0
  702. package/dist/user-Dn53Fu5q.cjs.map +1 -0
  703. package/dist/volume-bar-chart-BRpC_8-X.mjs +2 -0
  704. package/dist/volume-bar-chart-BRpC_8-X.mjs.map +1 -0
  705. package/dist/volume-bar-chart-CRxZPZIn.cjs +2 -0
  706. package/dist/volume-bar-chart-CRxZPZIn.cjs.map +1 -0
  707. package/dist/waterfall-chart-CTB2f5eh.cjs +2 -0
  708. package/dist/waterfall-chart-CTB2f5eh.cjs.map +1 -0
  709. package/dist/waterfall-chart-DwetaJFJ.mjs +2 -0
  710. package/dist/waterfall-chart-DwetaJFJ.mjs.map +1 -0
  711. package/package.json +1 -1
  712. package/dist/combobox-field-BGChwajc.mjs +0 -2
  713. package/dist/payment-layout-BLrXT-oc.cjs +0 -2
  714. package/dist/tables-B0Jl8Osc.cjs +0 -4
  715. package/dist/tables-B0Jl8Osc.cjs.map +0 -1
  716. package/dist/tables-Cylalxey.mjs +0 -4
  717. package/dist/tables-Cylalxey.mjs.map +0 -1
  718. package/dist/tanstack-form-CM_Hb3JT.mjs +0 -2
  719. package/dist/tanstack-form-CM_Hb3JT.mjs.map +0 -1
  720. package/dist/tanstack-form-DS_ZvRl8.cjs +0 -2
  721. package/dist/tanstack-form-DS_ZvRl8.cjs.map +0 -1
  722. package/dist/text-editor-BQtIXOpM.mjs +0 -2
  723. package/dist/text-editor-BQtIXOpM.mjs.map +0 -1
  724. package/dist/text-editor-DJYQXXtP.cjs +0 -2
  725. package/dist/text-editor-DJYQXXtP.cjs.map +0 -1
@@ -1,45 +1,2 @@
1
- import { VariantProps } from "class-variance-authority";
2
-
3
- //#region packages/components/data-display/statistic.d.ts
4
- declare const statisticVariants: (props?: ({
5
- size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
6
- trend?: "neutral" | "up" | "down" | null | undefined;
7
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
- type StatisticProps = VariantProps<typeof statisticVariants> & {
9
- /** Character used to separate the decimal part. Defaults to `'.'`. */decimalSeparator?: string; /** Character used to separate thousands groups. Defaults to `','`. */
10
- groupSeparator?: string; /** Optional node rendered before the numeric value (e.g. a currency symbol). */
11
- prefix?: React.ReactNode; /** Optional node rendered after the numeric value (e.g. a unit label). */
12
- suffix?: React.ReactNode; /** Number of decimal digits to display; omit to show all significant digits. */
13
- precision?: number; /** Rounding strategy applied before formatting. Defaults to `'round'`. */
14
- roundingMode?: 'round' | 'floor' | 'ceil'; /** When `true`, pads the decimal part with trailing zeros up to `precision`. Defaults to `false`. */
15
- showTrailingZeros?: boolean; /** The numeric (or numeric-string) value to format and display. */
16
- value: number | string; /** Additional CSS classes applied to the wrapper element. */
17
- className?: string; /** Colour trend indicator: `'neutral'` (default), `'up'` (green), or `'down'` (red). */
18
- trend?: 'neutral' | 'up' | 'down';
19
- };
20
- /**
21
- * A memoised numeric display component with locale-aware formatting, optional prefix/suffix, trend colouring, and configurable rounding.
22
- *
23
- * @example
24
- * ```tsx
25
- * import { Statistic } from '@customafk/lunas-ui/data-display/statistic';
26
- *
27
- * <Statistic value={1234567.89} precision={2} prefix="$" trend="up" size="lg" />
28
- * ```
29
- */
30
- declare const Statistic: import("react").MemoExoticComponent<({
31
- decimalSeparator,
32
- groupSeparator,
33
- prefix: Prefix,
34
- suffix: Suffix,
35
- precision,
36
- roundingMode,
37
- showTrailingZeros,
38
- size,
39
- trend,
40
- value,
41
- className
42
- }: StatisticProps) => import("react").JSX.Element>;
43
- //#endregion
44
- export { Statistic, StatisticProps };
45
- //# sourceMappingURL=statistic.d.mts.map
1
+ import { n as StatisticProps, t as Statistic } from "../statistic-8zBJMdRa.mjs";
2
+ export { Statistic, StatisticProps };
@@ -1,20 +1,2 @@
1
- //#region packages/components/data-display/user.d.ts
2
- type UserDataDisplayProps = {
3
- /** Unique identifier used to deterministically generate the avatar background colour. */uuid: string; /** Display name rendered as the primary line of the user card. */
4
- username: string; /** Email address rendered as the secondary, muted line below the username. */
5
- email: string;
6
- };
7
- /**
8
- * Displays a user identity card with a colour-hashed avatar, username, and email address.
9
- *
10
- * @example
11
- * ```tsx
12
- * import { UserDataDisplay } from '@customafk/lunas-ui/data-display/user';
13
- *
14
- * <UserDataDisplay uuid="abc-123" username="Nguyễn Văn An" email="an@example.com" />
15
- * ```
16
- */
17
- declare const UserDataDisplay: React.FC<UserDataDisplayProps>;
18
- //#endregion
19
- export { UserDataDisplay };
20
- //# sourceMappingURL=user.d.cts.map
1
+ import { t as UserDataDisplay } from "../user-CvesQf42.cjs";
2
+ export { UserDataDisplay };
@@ -1,20 +1,2 @@
1
- //#region packages/components/data-display/user.d.ts
2
- type UserDataDisplayProps = {
3
- /** Unique identifier used to deterministically generate the avatar background colour. */uuid: string; /** Display name rendered as the primary line of the user card. */
4
- username: string; /** Email address rendered as the secondary, muted line below the username. */
5
- email: string;
6
- };
7
- /**
8
- * Displays a user identity card with a colour-hashed avatar, username, and email address.
9
- *
10
- * @example
11
- * ```tsx
12
- * import { UserDataDisplay } from '@customafk/lunas-ui/data-display/user';
13
- *
14
- * <UserDataDisplay uuid="abc-123" username="Nguyễn Văn An" email="an@example.com" />
15
- * ```
16
- */
17
- declare const UserDataDisplay: React.FC<UserDataDisplayProps>;
18
- //#endregion
19
- export { UserDataDisplay };
20
- //# sourceMappingURL=user.d.mts.map
1
+ import { t as UserDataDisplay } from "../user-CvesQf42.mjs";
2
+ export { UserDataDisplay };
@@ -0,0 +1,38 @@
1
+ //#region packages/components/data-display/data-list.d.ts
2
+ type DataListProps = {
3
+ /** Additional CSS classes applied to the wrapping container. */className?: string;
4
+ };
5
+ /**
6
+ * A vertical container that stacks `DataListItem` rows with consistent spacing.
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * import { DataList, DataListItem } from '@customafk/lunas-ui/data-display/data-list';
11
+ *
12
+ * <DataList>
13
+ * <DataListItem label="Status" value="Active" />
14
+ * <DataListItem label="Created" value="2024-01-15" />
15
+ * </DataList>
16
+ * ```
17
+ */
18
+ declare const DataList: React.FC<React.PropsWithChildren<DataListProps>>;
19
+ type DataListItemProps = {
20
+ /** Descriptive label shown to the left of (or above, on mobile) the value. */label: string; /** The value to display; accepts strings, numbers, or arbitrary React nodes. */
21
+ value: string | number | React.ReactNode; /** Minimum width applied to the label column. Defaults to `'120px'`. */
22
+ minLabelWidth?: string; /** Additional CSS classes applied to the row container. */
23
+ className?: string;
24
+ };
25
+ /**
26
+ * A single label–value row inside a `DataList`, responsive to mobile (stacks vertically) and desktop (inline) layouts.
27
+ *
28
+ * @example
29
+ * ```tsx
30
+ * import { DataListItem } from '@customafk/lunas-ui/data-display/data-list';
31
+ *
32
+ * <DataListItem label="Email" value="user@example.com" />
33
+ * ```
34
+ */
35
+ declare const DataListItem: React.FC<DataListItemProps>;
36
+ //#endregion
37
+ export { DataListItem as n, DataList as t };
38
+ //# sourceMappingURL=data-list-Cg510z2m.d.cts.map
@@ -0,0 +1,38 @@
1
+ //#region packages/components/data-display/data-list.d.ts
2
+ type DataListProps = {
3
+ /** Additional CSS classes applied to the wrapping container. */className?: string;
4
+ };
5
+ /**
6
+ * A vertical container that stacks `DataListItem` rows with consistent spacing.
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * import { DataList, DataListItem } from '@customafk/lunas-ui/data-display/data-list';
11
+ *
12
+ * <DataList>
13
+ * <DataListItem label="Status" value="Active" />
14
+ * <DataListItem label="Created" value="2024-01-15" />
15
+ * </DataList>
16
+ * ```
17
+ */
18
+ declare const DataList: React.FC<React.PropsWithChildren<DataListProps>>;
19
+ type DataListItemProps = {
20
+ /** Descriptive label shown to the left of (or above, on mobile) the value. */label: string; /** The value to display; accepts strings, numbers, or arbitrary React nodes. */
21
+ value: string | number | React.ReactNode; /** Minimum width applied to the label column. Defaults to `'120px'`. */
22
+ minLabelWidth?: string; /** Additional CSS classes applied to the row container. */
23
+ className?: string;
24
+ };
25
+ /**
26
+ * A single label–value row inside a `DataList`, responsive to mobile (stacks vertically) and desktop (inline) layouts.
27
+ *
28
+ * @example
29
+ * ```tsx
30
+ * import { DataListItem } from '@customafk/lunas-ui/data-display/data-list';
31
+ *
32
+ * <DataListItem label="Email" value="user@example.com" />
33
+ * ```
34
+ */
35
+ declare const DataListItem: React.FC<DataListItemProps>;
36
+ //#endregion
37
+ export { DataListItem as n, DataList as t };
38
+ //# sourceMappingURL=data-list-Cg510z2m.d.mts.map
@@ -0,0 +1,39 @@
1
+ //#region packages/components/data-display/date.d.ts
2
+ interface DateDisplayProps {
3
+ /** The date value to display; accepts a `Date` object, an ISO string, or a Unix timestamp (ms). */
4
+ date: Date | string | number;
5
+ /**
6
+ * Controls how the date is formatted.
7
+ * - `'short'` — `15/03/24`
8
+ * - `'medium'` — `15/03/2024` (default)
9
+ * - `'long'` — `15 tháng 3, 2024`
10
+ * - `'full'` — `Thứ Sáu, ngày 15 tháng 3 năm 2024`
11
+ * - `'relative'` — `2 giờ trước`
12
+ * - `'datetime'` — `15/03/2024 14:30`
13
+ * - `'time'` — `14:30`
14
+ * - `'smart'` — auto-selects the most human-readable format based on recency
15
+ */
16
+ format?: 'short' | 'medium' | 'long' | 'full' | 'relative' | 'datetime' | 'time' | 'smart';
17
+ /** When `true`, appends any recognised Vietnamese public holiday name to the formatted date. Defaults to `false`. */
18
+ showHoliday?: boolean;
19
+ /** When `true`, appends the time component to the formatted output. Defaults to `false`. */
20
+ showTime?: boolean;
21
+ /** Additional CSS classes applied to the `<time>` element. */
22
+ className?: string;
23
+ /** Custom HTML `title` attribute; defaults to the full ISO datetime string. */
24
+ title?: string;
25
+ }
26
+ /**
27
+ * Renders a formatted date using Vietnamese locale conventions inside a semantic `<time>` element.
28
+ *
29
+ * @example
30
+ * ```tsx
31
+ * import { DateDisplay } from '@customafk/lunas-ui/data-display/date';
32
+ *
33
+ * <DateDisplay date="2024-03-15T14:30:00Z" format="medium" showTime />
34
+ * ```
35
+ */
36
+ declare const DateDisplay: React.FC<DateDisplayProps>;
37
+ //#endregion
38
+ export { DateDisplay as t };
39
+ //# sourceMappingURL=date-KANPBbN4.d.cts.map
@@ -0,0 +1,39 @@
1
+ //#region packages/components/data-display/date.d.ts
2
+ interface DateDisplayProps {
3
+ /** The date value to display; accepts a `Date` object, an ISO string, or a Unix timestamp (ms). */
4
+ date: Date | string | number;
5
+ /**
6
+ * Controls how the date is formatted.
7
+ * - `'short'` — `15/03/24`
8
+ * - `'medium'` — `15/03/2024` (default)
9
+ * - `'long'` — `15 tháng 3, 2024`
10
+ * - `'full'` — `Thứ Sáu, ngày 15 tháng 3 năm 2024`
11
+ * - `'relative'` — `2 giờ trước`
12
+ * - `'datetime'` — `15/03/2024 14:30`
13
+ * - `'time'` — `14:30`
14
+ * - `'smart'` — auto-selects the most human-readable format based on recency
15
+ */
16
+ format?: 'short' | 'medium' | 'long' | 'full' | 'relative' | 'datetime' | 'time' | 'smart';
17
+ /** When `true`, appends any recognised Vietnamese public holiday name to the formatted date. Defaults to `false`. */
18
+ showHoliday?: boolean;
19
+ /** When `true`, appends the time component to the formatted output. Defaults to `false`. */
20
+ showTime?: boolean;
21
+ /** Additional CSS classes applied to the `<time>` element. */
22
+ className?: string;
23
+ /** Custom HTML `title` attribute; defaults to the full ISO datetime string. */
24
+ title?: string;
25
+ }
26
+ /**
27
+ * Renders a formatted date using Vietnamese locale conventions inside a semantic `<time>` element.
28
+ *
29
+ * @example
30
+ * ```tsx
31
+ * import { DateDisplay } from '@customafk/lunas-ui/data-display/date';
32
+ *
33
+ * <DateDisplay date="2024-03-15T14:30:00Z" format="medium" showTime />
34
+ * ```
35
+ */
36
+ declare const DateDisplay: React.FC<DateDisplayProps>;
37
+ //#endregion
38
+ export { DateDisplay as t };
39
+ //# sourceMappingURL=date-KANPBbN4.d.mts.map
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./date-Nsz0Pewe.mjs";import{Badge as t}from"./ui/badge.mjs";import{Tooltip as n,TooltipContent as r,TooltipProvider as i,TooltipTrigger as a}from"./ui/tooltip.mjs";import{Y as o}from"./tables-UikqnT9q.mjs";import{jsx as s,jsxs as c}from"react/jsx-runtime";const l=({date:l})=>l==null?s(o,{}):s(i,{children:c(n,{children:[s(a,{asChild:!0,children:s(t,{className:`h-fit`,children:s(e,{date:l,format:`medium`,className:`font-normal text-white`})})}),s(r,{className:`rounded px-2`,children:s(e,{date:l,format:`full`,showTime:!0,className:`font-medium text-text-negative text-xs`})})]})});export{l as UITableDateDisplay};
2
+ //# sourceMappingURL=date-display-BWtvWDHK.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-display-BWtvWDHK.mjs","names":[],"sources":["../packages/components/features/tables/components/atoms/date-display.tsx"],"sourcesContent":["import { Badge } from '@/components/ui/badge';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { DateDisplay } from '@/components/data-display/date';\nimport { UITableEmpty } from './empty';\n\n/** Props for the {@link UITableDateDisplay} component. */\ntype Props = {\n /** The date value to format and display; `null`/`undefined` renders an empty state. */\n date: Date | string | number | null | undefined;\n};\n\n/**\n * Displays a date as a compact badge in a table cell with a tooltip that shows\n * the full date and time on hover; renders {@link UITableEmpty} when `date` is\n * `null` or `undefined`.\n *\n * @example\n * import { UITableDateDisplay } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableDateDisplay date={new Date('2024-06-15T10:30:00Z')} />\n */\nexport const UITableDateDisplay: React.FC<Props> = ({ date }) => {\n if (typeof date === 'undefined' || date === null) return <UITableEmpty />;\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Badge className=\"h-fit\">\n <DateDisplay date={date} format=\"medium\" className=\"font-normal text-white\" />\n </Badge>\n </TooltipTrigger>\n <TooltipContent className=\"rounded px-2\">\n <DateDisplay date={date} format=\"full\" showTime className=\"font-medium text-text-negative text-xs\" />\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n};\n"],"mappings":"mRAsBA,MAAa,GAAuC,CAAE,UACzC,GAAiC,KAAa,EAAC,EAAD,CAAe,CAAA,EAEtE,EAAC,EAAD,CAAA,SACE,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAgB,QAAA,YACd,EAAC,EAAD,CAAO,UAAU,iBACf,EAAC,EAAD,CAAmB,OAAM,OAAO,SAAS,UAAU,wBAA0B,CAAA,CACxE,CAAA,CACO,CAAA,EAChB,EAAC,EAAD,CAAgB,UAAU,wBACxB,EAAC,EAAD,CAAmB,OAAM,OAAO,OAAO,SAAA,GAAS,UAAU,wCAA0C,CAAA,CACtF,CAAA,CACT,CAAA,CAAA,CACM,CAAA"}
@@ -0,0 +1,2 @@
1
+ const e=require("./date-B3cozmfV.cjs"),t=require("./ui/badge.cjs"),n=require("./ui/tooltip.cjs"),r=require("./tables-7aC9WFs9.cjs");let i=require("react/jsx-runtime");const a=({date:a})=>a==null?(0,i.jsx)(r.Y,{}):(0,i.jsx)(n.TooltipProvider,{children:(0,i.jsxs)(n.Tooltip,{children:[(0,i.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,i.jsx)(t.Badge,{className:`h-fit`,children:(0,i.jsx)(e.t,{date:a,format:`medium`,className:`font-normal text-white`})})}),(0,i.jsx)(n.TooltipContent,{className:`rounded px-2`,children:(0,i.jsx)(e.t,{date:a,format:`full`,showTime:!0,className:`font-medium text-text-negative text-xs`})})]})});exports.UITableDateDisplay=a;
2
+ //# sourceMappingURL=date-display-odcC9NcB.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-display-odcC9NcB.cjs","names":["UITableEmpty","TooltipProvider","Tooltip","TooltipTrigger","Badge","DateDisplay","TooltipContent"],"sources":["../packages/components/features/tables/components/atoms/date-display.tsx"],"sourcesContent":["import { Badge } from '@/components/ui/badge';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { DateDisplay } from '@/components/data-display/date';\nimport { UITableEmpty } from './empty';\n\n/** Props for the {@link UITableDateDisplay} component. */\ntype Props = {\n /** The date value to format and display; `null`/`undefined` renders an empty state. */\n date: Date | string | number | null | undefined;\n};\n\n/**\n * Displays a date as a compact badge in a table cell with a tooltip that shows\n * the full date and time on hover; renders {@link UITableEmpty} when `date` is\n * `null` or `undefined`.\n *\n * @example\n * import { UITableDateDisplay } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableDateDisplay date={new Date('2024-06-15T10:30:00Z')} />\n */\nexport const UITableDateDisplay: React.FC<Props> = ({ date }) => {\n if (typeof date === 'undefined' || date === null) return <UITableEmpty />;\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Badge className=\"h-fit\">\n <DateDisplay date={date} format=\"medium\" className=\"font-normal text-white\" />\n </Badge>\n </TooltipTrigger>\n <TooltipContent className=\"rounded px-2\">\n <DateDisplay date={date} format=\"full\" showTime className=\"font-medium text-text-negative text-xs\" />\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n};\n"],"mappings":"uKAsBA,MAAa,GAAuC,CAAE,UACzC,GAAiC,MAAa,EAAA,EAAA,IAAA,CAACA,EAAAA,EAAD,CAAe,CAAA,GAEtE,EAAA,EAAA,IAAA,CAACC,EAAAA,gBAAD,CAAA,UACE,EAAA,EAAA,KAAA,CAACC,EAAAA,QAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CAAgB,QAAA,aACd,EAAA,EAAA,IAAA,CAACC,EAAAA,MAAD,CAAO,UAAU,kBACf,EAAA,EAAA,IAAA,CAACC,EAAAA,EAAD,CAAmB,OAAM,OAAO,SAAS,UAAU,wBAA0B,CAAA,CACxE,CAAA,CACO,CAAA,GAChB,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CAAgB,UAAU,yBACxB,EAAA,EAAA,IAAA,CAACD,EAAAA,EAAD,CAAmB,OAAM,OAAO,OAAO,SAAA,GAAS,UAAU,wCAA0C,CAAA,CACtF,CAAA,CACT,CAAA,CAAA,CACM,CAAA"}
@@ -1,2 +1,2 @@
1
- import{Button as e}from"./ui/button.mjs";import{Popover as t,PopoverContent as n,PopoverTrigger as r}from"./ui/popover.mjs";import{G as i}from"./tanstack-form-CM_Hb3JT.mjs";import{Calendar as a}from"./ui/calendar.mjs";import{Field as o,FieldContent as s,FieldContentMain as c,FieldDescription as l,FieldError as u,FieldGroup as d,FieldLabel as f,FieldNote as p,FieldSeparator as m,FieldTooltip as h}from"./field-BKyUqvzh.mjs";import{CalendarDaysIcon as g}from"lucide-react";import{memo as _,useId as v,useState as y}from"react";import{cn as b}from"@customafk/react-toolkit/utils";import{jsx as x,jsxs as S}from"react/jsx-runtime";import{endOfToday as C,endOfTomorrow as w,endOfYesterday as T,format as E,lastDayOfMonth as D,startOfMonth as O,subDays as k}from"@customafk/react-toolkit/date-fns";import{useStore as A}from"@tanstack/react-form";const j=_(({label:_,description:j,placeholder:M,orientation:N=`responsive`,tooltip:P,helperText:F,showErrorMessage:I=!0,required:L=!1,disabled:R=!1,minDate:z,maxDate:B})=>{let V=v(),H=i(),[U,W]=y(!1),G=A(H.form.store,({isSubmitting:e})=>e),K=R||G,q=H.state.meta.isDirty||H.state.meta.isTouched,J=q&&!H.state.meta.isValid,Y=L&&H.state.value===null,X=e=>{H.handleChange(e),W(!1)};return S(d,{className:`px-4`,children:[S(o,{orientation:N,"data-invalid":J,children:[S(s,{children:[S(f,{htmlFor:H.name,"aria-required":Y,children:[_,P&&x(h,{tooltip:P})]}),x(l,{children:j})]}),x(c,{className:`flex flex-col space-y-1`,children:S(`div`,{className:`flex w-full flex-col`,children:[S(t,{open:U,onOpenChange:e=>{W(e),e||H.handleBlur()},children:[x(r,{asChild:!0,children:S(e,{variant:`outline`,color:`muted`,size:`lg`,disabled:K,"aria-invalid":J?!0:void 0,"aria-describedby":V,className:b(`flex items-center justify-between rounded font-normal outline-border`,`hover:bg-transparent`,`focus:outline-1 focus:outline-primary-strong focus:ring-4 focus:ring-primary-weak`,`data-[state=open]:outline-1 data-[state=open]:outline-primary-strong data-[state=open]:ring-4 data-[state=open]:ring-primary-weak`,H.state.value===null&&`text-text-positive-muted`,J&&`outline-danger bg-danger-bg-subtle ring-4 ring-danger-weak`),children:[x(`p`,{children:H.state.value===null?M??`Select date`:E(H.state.value,`PPPP`)}),x(g,{strokeWidth:1})]})}),S(n,{align:`start`,side:`bottom`,className:`flex w-fit min-w-0 overflow-y-auto rounded p-0`,children:[S(`div`,{className:`flex h-full flex-col space-y-2 border-r border-r-border p-2 [&>button]:justify-start [&>button]:text-sm`,children:[x(e,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>X(C()),children:`Hôm nay`}),x(e,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>X(w()),children:`Ngày mai`}),x(e,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>X(T()),children:`Hôm qua`}),x(e,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>X(k(C(),3)),children:`3 ngày qua`}),x(e,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>X(k(C(),7)),children:`7 ngày qua`}),x(e,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>X(k(C(),30)),children:`30 ngày qua`}),x(e,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>X(O(C())),children:`Tháng này`}),x(e,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>X(D(C())),children:`Tháng trước`})]}),x(`div`,{className:`flex flex-1 flex-col`,children:x(`div`,{className:`min-w-73 border-b border-b-border p-2`,children:x(a,{mode:`single`,selected:H.state.value??void 0,hidden:{before:z??new Date(1900,0,1),after:B??new Date(2100,11,31)},onSelect:e=>{e&&X(e)}})})})]})]}),q&&I&&x(u,{id:V,className:`mt-1`,errors:H.state.meta.errors}),x(p,{isShow:!!F,children:F})]})})]}),x(m,{})]})});j.displayName=`DateField`;export{j as DateField};
2
- //# sourceMappingURL=date-field-Dm4ki1HS.mjs.map
1
+ import{Button as e}from"./ui/button.mjs";import{G as t}from"./tanstack-form-PC9YNeeo.mjs";import{Popover as n,PopoverContent as r,PopoverTrigger as i}from"./ui/popover.mjs";import{Calendar as a}from"./ui/calendar.mjs";import{Field as o,FieldContent as s,FieldContentMain as c,FieldDescription as l,FieldError as u,FieldGroup as d,FieldLabel as f,FieldNote as p,FieldSeparator as m,FieldTooltip as h}from"./field-BKyUqvzh.mjs";import{CalendarDaysIcon as g}from"lucide-react";import{memo as _,useId as v,useState as y}from"react";import{cn as b}from"@customafk/react-toolkit/utils";import{jsx as x,jsxs as S}from"react/jsx-runtime";import{endOfToday as C,endOfTomorrow as w,endOfYesterday as T,format as E,lastDayOfMonth as D,startOfMonth as O,subDays as k}from"@customafk/react-toolkit/date-fns";import{useStore as A}from"@tanstack/react-form";const j=_(({label:_,description:j,placeholder:M,orientation:N=`responsive`,tooltip:P,helperText:F,showErrorMessage:I=!0,required:L=!1,disabled:R=!1,minDate:z,maxDate:B})=>{let V=v(),H=t(),[U,W]=y(!1),G=A(H.form.store,({isSubmitting:e})=>e),K=R||G,q=H.state.meta.isDirty||H.state.meta.isTouched,J=q&&!H.state.meta.isValid,Y=L&&H.state.value===null,X=e=>{H.handleChange(e),W(!1)};return S(d,{className:`px-4`,children:[S(o,{orientation:N,"data-invalid":J,children:[S(s,{children:[S(f,{htmlFor:H.name,"aria-required":Y,children:[_,P&&x(h,{tooltip:P})]}),x(l,{children:j})]}),x(c,{className:`flex flex-col space-y-1`,children:S(`div`,{className:`flex w-full flex-col`,children:[S(n,{open:U,onOpenChange:e=>{W(e),e||H.handleBlur()},children:[x(i,{asChild:!0,children:S(e,{variant:`outline`,color:`muted`,size:`lg`,disabled:K,"aria-invalid":J?!0:void 0,"aria-describedby":V,className:b(`flex items-center justify-between rounded font-normal outline-border`,`hover:bg-transparent`,`focus:outline-1 focus:outline-primary-strong focus:ring-4 focus:ring-primary-weak`,`data-[state=open]:outline-1 data-[state=open]:outline-primary-strong data-[state=open]:ring-4 data-[state=open]:ring-primary-weak`,H.state.value===null&&`text-text-positive-muted`,J&&`outline-danger bg-danger-bg-subtle ring-4 ring-danger-weak`),children:[x(`p`,{children:H.state.value===null?M??`Select date`:E(H.state.value,`PPPP`)}),x(g,{strokeWidth:1})]})}),S(r,{align:`start`,side:`bottom`,className:`flex w-fit min-w-0 overflow-y-auto rounded p-0`,children:[S(`div`,{className:`flex h-full flex-col space-y-2 border-r border-r-border p-2 [&>button]:justify-start [&>button]:text-sm`,children:[x(e,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>X(C()),children:`Hôm nay`}),x(e,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>X(w()),children:`Ngày mai`}),x(e,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>X(T()),children:`Hôm qua`}),x(e,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>X(k(C(),3)),children:`3 ngày qua`}),x(e,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>X(k(C(),7)),children:`7 ngày qua`}),x(e,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>X(k(C(),30)),children:`30 ngày qua`}),x(e,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>X(O(C())),children:`Tháng này`}),x(e,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>X(D(C())),children:`Tháng trước`})]}),x(`div`,{className:`flex flex-1 flex-col`,children:x(`div`,{className:`min-w-73 border-b border-b-border p-2`,children:x(a,{mode:`single`,selected:H.state.value??void 0,hidden:{before:z??new Date(1900,0,1),after:B??new Date(2100,11,31)},onSelect:e=>{e&&X(e)}})})})]})]}),q&&I&&x(u,{id:V,className:`mt-1`,errors:H.state.meta.errors}),x(p,{isShow:!!F,children:F})]})})]}),x(m,{})]})});j.displayName=`DateField`;export{j as DateField};
2
+ //# sourceMappingURL=date-field-Cxbrc0Vl.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-field-Dm4ki1HS.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/fields/date-field.tsx"],"sourcesContent":["'use client';\n\nimport { memo, useId, useState } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { CalendarDaysIcon } from 'lucide-react';\n\nimport { endOfToday, endOfTomorrow, endOfYesterday, format, lastDayOfMonth, startOfMonth, subDays } from '@customafk/react-toolkit/date-fns';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { Calendar } from '@/components/ui/calendar';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport {\n Field,\n FieldContent,\n FieldContentMain,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLabel,\n FieldNote,\n FieldSeparator,\n FieldTooltip,\n} from '../ui/field';\n\nimport type { DateFieldProps as Props } from '../../types';\n\nexport const DateField = memo<Props>(\n ({\n label,\n description,\n placeholder,\n orientation = 'responsive',\n tooltip,\n helperText,\n showErrorMessage = true,\n required = false,\n disabled = false,\n minDate,\n maxDate,\n }) => {\n const errorId = useId();\n const field = useTanStackFieldContext<Date | null>();\n const [popoverOpen, setPopoverOpen] = useState(false);\n\n const isSubmitting = useStore(field.form.store, ({ isSubmitting }) => isSubmitting);\n const isDisabled = disabled || isSubmitting;\n\n const _touched = field.state.meta.isDirty || field.state.meta.isTouched;\n const _isInvalid = _touched && !field.state.meta.isValid;\n const _isEmpty = required && field.state.value === null;\n\n const handleSelect = (date: Date) => {\n field.handleChange(date);\n setPopoverOpen(false);\n };\n\n return (\n <FieldGroup className=\"px-4\">\n <Field orientation={orientation} data-invalid={_isInvalid}>\n <FieldContent>\n <FieldLabel htmlFor={field.name} aria-required={_isEmpty}>\n {label}\n {tooltip && <FieldTooltip tooltip={tooltip} />}\n </FieldLabel>\n <FieldDescription>{description}</FieldDescription>\n </FieldContent>\n\n <FieldContentMain className=\"flex flex-col space-y-1\">\n <div className=\"flex w-full flex-col\">\n <Popover\n open={popoverOpen}\n onOpenChange={open => {\n setPopoverOpen(open);\n if (!open) field.handleBlur();\n }}\n >\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n color=\"muted\"\n size=\"lg\"\n disabled={isDisabled}\n aria-invalid={_isInvalid ? true : undefined}\n aria-describedby={errorId}\n className={cn(\n 'flex items-center justify-between rounded font-normal outline-border',\n 'hover:bg-transparent',\n 'focus:outline-1 focus:outline-primary-strong focus:ring-4 focus:ring-primary-weak',\n 'data-[state=open]:outline-1 data-[state=open]:outline-primary-strong data-[state=open]:ring-4 data-[state=open]:ring-primary-weak',\n field.state.value === null && 'text-text-positive-muted',\n _isInvalid && 'outline-danger bg-danger-bg-subtle ring-4 ring-danger-weak'\n )}\n >\n <p>{field.state.value === null ? (placeholder ?? 'Select date') : format(field.state.value, 'PPPP')}</p>\n <CalendarDaysIcon strokeWidth={1} />\n </Button>\n </PopoverTrigger>\n\n <PopoverContent align=\"start\" side=\"bottom\" className=\"flex w-fit min-w-0 overflow-y-auto rounded p-0\">\n <div className=\"flex h-full flex-col space-y-2 border-r border-r-border p-2 [&>button]:justify-start [&>button]:text-sm\">\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(endOfToday())}>\n Hôm nay\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(endOfTomorrow())}>\n Ngày mai\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(endOfYesterday())}>\n Hôm qua\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(subDays(endOfToday(), 3))}>\n 3 ngày qua\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(subDays(endOfToday(), 7))}>\n 7 ngày qua\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(subDays(endOfToday(), 30))}>\n 30 ngày qua\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(startOfMonth(endOfToday()))}>\n Tháng này\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(lastDayOfMonth(endOfToday()))}>\n Tháng trước\n </Button>\n </div>\n <div className=\"flex flex-1 flex-col\">\n <div className=\"min-w-73 border-b border-b-border p-2\">\n <Calendar\n mode=\"single\"\n selected={field.state.value ?? undefined}\n hidden={{\n before: minDate ?? new Date(1900, 0, 1),\n after: maxDate ?? new Date(2100, 11, 31),\n }}\n onSelect={date => {\n if (!date) return;\n handleSelect(date);\n }}\n />\n </div>\n </div>\n </PopoverContent>\n </Popover>\n\n {_touched && showErrorMessage && <FieldError id={errorId} className=\"mt-1\" errors={field.state.meta.errors} />}\n <FieldNote isShow={!!helperText}>{helperText}</FieldNote>\n </div>\n </FieldContentMain>\n </Field>\n <FieldSeparator />\n </FieldGroup>\n );\n }\n);\n\nDateField.displayName = 'DateField';\n"],"mappings":"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"}
1
+ {"version":3,"file":"date-field-Cxbrc0Vl.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/fields/date-field.tsx"],"sourcesContent":["'use client';\n\nimport { memo, useId, useState } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { CalendarDaysIcon } from 'lucide-react';\n\nimport { endOfToday, endOfTomorrow, endOfYesterday, format, lastDayOfMonth, startOfMonth, subDays } from '@customafk/react-toolkit/date-fns';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { Calendar } from '@/components/ui/calendar';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport {\n Field,\n FieldContent,\n FieldContentMain,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLabel,\n FieldNote,\n FieldSeparator,\n FieldTooltip,\n} from '../ui/field';\n\nimport type { DateFieldProps as Props } from '../../types';\n\nexport const DateField = memo<Props>(\n ({\n label,\n description,\n placeholder,\n orientation = 'responsive',\n tooltip,\n helperText,\n showErrorMessage = true,\n required = false,\n disabled = false,\n minDate,\n maxDate,\n }) => {\n const errorId = useId();\n const field = useTanStackFieldContext<Date | null>();\n const [popoverOpen, setPopoverOpen] = useState(false);\n\n const isSubmitting = useStore(field.form.store, ({ isSubmitting }) => isSubmitting);\n const isDisabled = disabled || isSubmitting;\n\n const _touched = field.state.meta.isDirty || field.state.meta.isTouched;\n const _isInvalid = _touched && !field.state.meta.isValid;\n const _isEmpty = required && field.state.value === null;\n\n const handleSelect = (date: Date) => {\n field.handleChange(date);\n setPopoverOpen(false);\n };\n\n return (\n <FieldGroup className=\"px-4\">\n <Field orientation={orientation} data-invalid={_isInvalid}>\n <FieldContent>\n <FieldLabel htmlFor={field.name} aria-required={_isEmpty}>\n {label}\n {tooltip && <FieldTooltip tooltip={tooltip} />}\n </FieldLabel>\n <FieldDescription>{description}</FieldDescription>\n </FieldContent>\n\n <FieldContentMain className=\"flex flex-col space-y-1\">\n <div className=\"flex w-full flex-col\">\n <Popover\n open={popoverOpen}\n onOpenChange={open => {\n setPopoverOpen(open);\n if (!open) field.handleBlur();\n }}\n >\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n color=\"muted\"\n size=\"lg\"\n disabled={isDisabled}\n aria-invalid={_isInvalid ? true : undefined}\n aria-describedby={errorId}\n className={cn(\n 'flex items-center justify-between rounded font-normal outline-border',\n 'hover:bg-transparent',\n 'focus:outline-1 focus:outline-primary-strong focus:ring-4 focus:ring-primary-weak',\n 'data-[state=open]:outline-1 data-[state=open]:outline-primary-strong data-[state=open]:ring-4 data-[state=open]:ring-primary-weak',\n field.state.value === null && 'text-text-positive-muted',\n _isInvalid && 'outline-danger bg-danger-bg-subtle ring-4 ring-danger-weak'\n )}\n >\n <p>{field.state.value === null ? (placeholder ?? 'Select date') : format(field.state.value, 'PPPP')}</p>\n <CalendarDaysIcon strokeWidth={1} />\n </Button>\n </PopoverTrigger>\n\n <PopoverContent align=\"start\" side=\"bottom\" className=\"flex w-fit min-w-0 overflow-y-auto rounded p-0\">\n <div className=\"flex h-full flex-col space-y-2 border-r border-r-border p-2 [&>button]:justify-start [&>button]:text-sm\">\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(endOfToday())}>\n Hôm nay\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(endOfTomorrow())}>\n Ngày mai\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(endOfYesterday())}>\n Hôm qua\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(subDays(endOfToday(), 3))}>\n 3 ngày qua\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(subDays(endOfToday(), 7))}>\n 7 ngày qua\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(subDays(endOfToday(), 30))}>\n 30 ngày qua\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(startOfMonth(endOfToday()))}>\n Tháng này\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(lastDayOfMonth(endOfToday()))}>\n Tháng trước\n </Button>\n </div>\n <div className=\"flex flex-1 flex-col\">\n <div className=\"min-w-73 border-b border-b-border p-2\">\n <Calendar\n mode=\"single\"\n selected={field.state.value ?? undefined}\n hidden={{\n before: minDate ?? new Date(1900, 0, 1),\n after: maxDate ?? new Date(2100, 11, 31),\n }}\n onSelect={date => {\n if (!date) return;\n handleSelect(date);\n }}\n />\n </div>\n </div>\n </PopoverContent>\n </Popover>\n\n {_touched && showErrorMessage && <FieldError id={errorId} className=\"mt-1\" errors={field.state.meta.errors} />}\n <FieldNote isShow={!!helperText}>{helperText}</FieldNote>\n </div>\n </FieldContentMain>\n </Field>\n <FieldSeparator />\n </FieldGroup>\n );\n }\n);\n\nDateField.displayName = 'DateField';\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- const e=require("./ui/button.cjs"),t=require("./ui/popover.cjs"),n=require("./tanstack-form-DS_ZvRl8.cjs"),r=require("./ui/calendar.cjs"),i=require("./field-BV5twmKA.cjs");let a=require("lucide-react"),o=require("react"),s=require("@customafk/react-toolkit/utils"),c=require("react/jsx-runtime"),l=require("@customafk/react-toolkit/date-fns"),u=require("@tanstack/react-form");const d=(0,o.memo)(({label:d,description:f,placeholder:p,orientation:m=`responsive`,tooltip:h,helperText:g,showErrorMessage:_=!0,required:v=!1,disabled:y=!1,minDate:b,maxDate:x})=>{let S=(0,o.useId)(),C=n.G(),[w,T]=(0,o.useState)(!1),E=(0,u.useStore)(C.form.store,({isSubmitting:e})=>e),D=y||E,O=C.state.meta.isDirty||C.state.meta.isTouched,k=O&&!C.state.meta.isValid,A=v&&C.state.value===null,j=e=>{C.handleChange(e),T(!1)};return(0,c.jsxs)(i.FieldGroup,{className:`px-4`,children:[(0,c.jsxs)(i.Field,{orientation:m,"data-invalid":k,children:[(0,c.jsxs)(i.FieldContent,{children:[(0,c.jsxs)(i.FieldLabel,{htmlFor:C.name,"aria-required":A,children:[d,h&&(0,c.jsx)(i.FieldTooltip,{tooltip:h})]}),(0,c.jsx)(i.FieldDescription,{children:f})]}),(0,c.jsx)(i.FieldContentMain,{className:`flex flex-col space-y-1`,children:(0,c.jsxs)(`div`,{className:`flex w-full flex-col`,children:[(0,c.jsxs)(t.Popover,{open:w,onOpenChange:e=>{T(e),e||C.handleBlur()},children:[(0,c.jsx)(t.PopoverTrigger,{asChild:!0,children:(0,c.jsxs)(e.Button,{variant:`outline`,color:`muted`,size:`lg`,disabled:D,"aria-invalid":k?!0:void 0,"aria-describedby":S,className:(0,s.cn)(`flex items-center justify-between rounded font-normal outline-border`,`hover:bg-transparent`,`focus:outline-1 focus:outline-primary-strong focus:ring-4 focus:ring-primary-weak`,`data-[state=open]:outline-1 data-[state=open]:outline-primary-strong data-[state=open]:ring-4 data-[state=open]:ring-primary-weak`,C.state.value===null&&`text-text-positive-muted`,k&&`outline-danger bg-danger-bg-subtle ring-4 ring-danger-weak`),children:[(0,c.jsx)(`p`,{children:C.state.value===null?p??`Select date`:(0,l.format)(C.state.value,`PPPP`)}),(0,c.jsx)(a.CalendarDaysIcon,{strokeWidth:1})]})}),(0,c.jsxs)(t.PopoverContent,{align:`start`,side:`bottom`,className:`flex w-fit min-w-0 overflow-y-auto rounded p-0`,children:[(0,c.jsxs)(`div`,{className:`flex h-full flex-col space-y-2 border-r border-r-border p-2 [&>button]:justify-start [&>button]:text-sm`,children:[(0,c.jsx)(e.Button,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>j((0,l.endOfToday)()),children:`Hôm nay`}),(0,c.jsx)(e.Button,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>j((0,l.endOfTomorrow)()),children:`Ngày mai`}),(0,c.jsx)(e.Button,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>j((0,l.endOfYesterday)()),children:`Hôm qua`}),(0,c.jsx)(e.Button,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>j((0,l.subDays)((0,l.endOfToday)(),3)),children:`3 ngày qua`}),(0,c.jsx)(e.Button,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>j((0,l.subDays)((0,l.endOfToday)(),7)),children:`7 ngày qua`}),(0,c.jsx)(e.Button,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>j((0,l.subDays)((0,l.endOfToday)(),30)),children:`30 ngày qua`}),(0,c.jsx)(e.Button,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>j((0,l.startOfMonth)((0,l.endOfToday)())),children:`Tháng này`}),(0,c.jsx)(e.Button,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>j((0,l.lastDayOfMonth)((0,l.endOfToday)())),children:`Tháng trước`})]}),(0,c.jsx)(`div`,{className:`flex flex-1 flex-col`,children:(0,c.jsx)(`div`,{className:`min-w-73 border-b border-b-border p-2`,children:(0,c.jsx)(r.Calendar,{mode:`single`,selected:C.state.value??void 0,hidden:{before:b??new Date(1900,0,1),after:x??new Date(2100,11,31)},onSelect:e=>{e&&j(e)}})})})]})]}),O&&_&&(0,c.jsx)(i.FieldError,{id:S,className:`mt-1`,errors:C.state.meta.errors}),(0,c.jsx)(i.FieldNote,{isShow:!!g,children:g})]})})]}),(0,c.jsx)(i.FieldSeparator,{})]})});d.displayName=`DateField`,exports.DateField=d;
2
- //# sourceMappingURL=date-field-BqAX4M_h.cjs.map
1
+ const e=require("./ui/button.cjs"),t=require("./tanstack-form-CNrZQZhn.cjs"),n=require("./ui/popover.cjs"),r=require("./ui/calendar.cjs"),i=require("./field-BV5twmKA.cjs");let a=require("lucide-react"),o=require("react"),s=require("@customafk/react-toolkit/utils"),c=require("react/jsx-runtime"),l=require("@customafk/react-toolkit/date-fns"),u=require("@tanstack/react-form");const d=(0,o.memo)(({label:d,description:f,placeholder:p,orientation:m=`responsive`,tooltip:h,helperText:g,showErrorMessage:_=!0,required:v=!1,disabled:y=!1,minDate:b,maxDate:x})=>{let S=(0,o.useId)(),C=t.G(),[w,T]=(0,o.useState)(!1),E=(0,u.useStore)(C.form.store,({isSubmitting:e})=>e),D=y||E,O=C.state.meta.isDirty||C.state.meta.isTouched,k=O&&!C.state.meta.isValid,A=v&&C.state.value===null,j=e=>{C.handleChange(e),T(!1)};return(0,c.jsxs)(i.FieldGroup,{className:`px-4`,children:[(0,c.jsxs)(i.Field,{orientation:m,"data-invalid":k,children:[(0,c.jsxs)(i.FieldContent,{children:[(0,c.jsxs)(i.FieldLabel,{htmlFor:C.name,"aria-required":A,children:[d,h&&(0,c.jsx)(i.FieldTooltip,{tooltip:h})]}),(0,c.jsx)(i.FieldDescription,{children:f})]}),(0,c.jsx)(i.FieldContentMain,{className:`flex flex-col space-y-1`,children:(0,c.jsxs)(`div`,{className:`flex w-full flex-col`,children:[(0,c.jsxs)(n.Popover,{open:w,onOpenChange:e=>{T(e),e||C.handleBlur()},children:[(0,c.jsx)(n.PopoverTrigger,{asChild:!0,children:(0,c.jsxs)(e.Button,{variant:`outline`,color:`muted`,size:`lg`,disabled:D,"aria-invalid":k?!0:void 0,"aria-describedby":S,className:(0,s.cn)(`flex items-center justify-between rounded font-normal outline-border`,`hover:bg-transparent`,`focus:outline-1 focus:outline-primary-strong focus:ring-4 focus:ring-primary-weak`,`data-[state=open]:outline-1 data-[state=open]:outline-primary-strong data-[state=open]:ring-4 data-[state=open]:ring-primary-weak`,C.state.value===null&&`text-text-positive-muted`,k&&`outline-danger bg-danger-bg-subtle ring-4 ring-danger-weak`),children:[(0,c.jsx)(`p`,{children:C.state.value===null?p??`Select date`:(0,l.format)(C.state.value,`PPPP`)}),(0,c.jsx)(a.CalendarDaysIcon,{strokeWidth:1})]})}),(0,c.jsxs)(n.PopoverContent,{align:`start`,side:`bottom`,className:`flex w-fit min-w-0 overflow-y-auto rounded p-0`,children:[(0,c.jsxs)(`div`,{className:`flex h-full flex-col space-y-2 border-r border-r-border p-2 [&>button]:justify-start [&>button]:text-sm`,children:[(0,c.jsx)(e.Button,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>j((0,l.endOfToday)()),children:`Hôm nay`}),(0,c.jsx)(e.Button,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>j((0,l.endOfTomorrow)()),children:`Ngày mai`}),(0,c.jsx)(e.Button,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>j((0,l.endOfYesterday)()),children:`Hôm qua`}),(0,c.jsx)(e.Button,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>j((0,l.subDays)((0,l.endOfToday)(),3)),children:`3 ngày qua`}),(0,c.jsx)(e.Button,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>j((0,l.subDays)((0,l.endOfToday)(),7)),children:`7 ngày qua`}),(0,c.jsx)(e.Button,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>j((0,l.subDays)((0,l.endOfToday)(),30)),children:`30 ngày qua`}),(0,c.jsx)(e.Button,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>j((0,l.startOfMonth)((0,l.endOfToday)())),children:`Tháng này`}),(0,c.jsx)(e.Button,{variant:`ghost`,color:`muted`,className:`w-32`,onClick:()=>j((0,l.lastDayOfMonth)((0,l.endOfToday)())),children:`Tháng trước`})]}),(0,c.jsx)(`div`,{className:`flex flex-1 flex-col`,children:(0,c.jsx)(`div`,{className:`min-w-73 border-b border-b-border p-2`,children:(0,c.jsx)(r.Calendar,{mode:`single`,selected:C.state.value??void 0,hidden:{before:b??new Date(1900,0,1),after:x??new Date(2100,11,31)},onSelect:e=>{e&&j(e)}})})})]})]}),O&&_&&(0,c.jsx)(i.FieldError,{id:S,className:`mt-1`,errors:C.state.meta.errors}),(0,c.jsx)(i.FieldNote,{isShow:!!g,children:g})]})})]}),(0,c.jsx)(i.FieldSeparator,{})]})});d.displayName=`DateField`,exports.DateField=d;
2
+ //# sourceMappingURL=date-field-RvEB9F1r.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-field-BqAX4M_h.cjs","names":["useTanStackFieldContext","FieldGroup","Field","FieldContent","FieldLabel","FieldTooltip","FieldDescription","FieldContentMain","Popover","PopoverTrigger","Button","CalendarDaysIcon","PopoverContent","Calendar","FieldError","FieldNote","FieldSeparator"],"sources":["../packages/components/features/tanstack-form/components/fields/date-field.tsx"],"sourcesContent":["'use client';\n\nimport { memo, useId, useState } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { CalendarDaysIcon } from 'lucide-react';\n\nimport { endOfToday, endOfTomorrow, endOfYesterday, format, lastDayOfMonth, startOfMonth, subDays } from '@customafk/react-toolkit/date-fns';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { Calendar } from '@/components/ui/calendar';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport {\n Field,\n FieldContent,\n FieldContentMain,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLabel,\n FieldNote,\n FieldSeparator,\n FieldTooltip,\n} from '../ui/field';\n\nimport type { DateFieldProps as Props } from '../../types';\n\nexport const DateField = memo<Props>(\n ({\n label,\n description,\n placeholder,\n orientation = 'responsive',\n tooltip,\n helperText,\n showErrorMessage = true,\n required = false,\n disabled = false,\n minDate,\n maxDate,\n }) => {\n const errorId = useId();\n const field = useTanStackFieldContext<Date | null>();\n const [popoverOpen, setPopoverOpen] = useState(false);\n\n const isSubmitting = useStore(field.form.store, ({ isSubmitting }) => isSubmitting);\n const isDisabled = disabled || isSubmitting;\n\n const _touched = field.state.meta.isDirty || field.state.meta.isTouched;\n const _isInvalid = _touched && !field.state.meta.isValid;\n const _isEmpty = required && field.state.value === null;\n\n const handleSelect = (date: Date) => {\n field.handleChange(date);\n setPopoverOpen(false);\n };\n\n return (\n <FieldGroup className=\"px-4\">\n <Field orientation={orientation} data-invalid={_isInvalid}>\n <FieldContent>\n <FieldLabel htmlFor={field.name} aria-required={_isEmpty}>\n {label}\n {tooltip && <FieldTooltip tooltip={tooltip} />}\n </FieldLabel>\n <FieldDescription>{description}</FieldDescription>\n </FieldContent>\n\n <FieldContentMain className=\"flex flex-col space-y-1\">\n <div className=\"flex w-full flex-col\">\n <Popover\n open={popoverOpen}\n onOpenChange={open => {\n setPopoverOpen(open);\n if (!open) field.handleBlur();\n }}\n >\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n color=\"muted\"\n size=\"lg\"\n disabled={isDisabled}\n aria-invalid={_isInvalid ? true : undefined}\n aria-describedby={errorId}\n className={cn(\n 'flex items-center justify-between rounded font-normal outline-border',\n 'hover:bg-transparent',\n 'focus:outline-1 focus:outline-primary-strong focus:ring-4 focus:ring-primary-weak',\n 'data-[state=open]:outline-1 data-[state=open]:outline-primary-strong data-[state=open]:ring-4 data-[state=open]:ring-primary-weak',\n field.state.value === null && 'text-text-positive-muted',\n _isInvalid && 'outline-danger bg-danger-bg-subtle ring-4 ring-danger-weak'\n )}\n >\n <p>{field.state.value === null ? (placeholder ?? 'Select date') : format(field.state.value, 'PPPP')}</p>\n <CalendarDaysIcon strokeWidth={1} />\n </Button>\n </PopoverTrigger>\n\n <PopoverContent align=\"start\" side=\"bottom\" className=\"flex w-fit min-w-0 overflow-y-auto rounded p-0\">\n <div className=\"flex h-full flex-col space-y-2 border-r border-r-border p-2 [&>button]:justify-start [&>button]:text-sm\">\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(endOfToday())}>\n Hôm nay\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(endOfTomorrow())}>\n Ngày mai\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(endOfYesterday())}>\n Hôm qua\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(subDays(endOfToday(), 3))}>\n 3 ngày qua\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(subDays(endOfToday(), 7))}>\n 7 ngày qua\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(subDays(endOfToday(), 30))}>\n 30 ngày qua\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(startOfMonth(endOfToday()))}>\n Tháng này\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(lastDayOfMonth(endOfToday()))}>\n Tháng trước\n </Button>\n </div>\n <div className=\"flex flex-1 flex-col\">\n <div className=\"min-w-73 border-b border-b-border p-2\">\n <Calendar\n mode=\"single\"\n selected={field.state.value ?? undefined}\n hidden={{\n before: minDate ?? new Date(1900, 0, 1),\n after: maxDate ?? new Date(2100, 11, 31),\n }}\n onSelect={date => {\n if (!date) return;\n handleSelect(date);\n }}\n />\n </div>\n </div>\n </PopoverContent>\n </Popover>\n\n {_touched && showErrorMessage && <FieldError id={errorId} className=\"mt-1\" errors={field.state.meta.errors} />}\n <FieldNote isShow={!!helperText}>{helperText}</FieldNote>\n </div>\n </FieldContentMain>\n </Field>\n <FieldSeparator />\n </FieldGroup>\n );\n }\n);\n\nDateField.displayName = 'DateField';\n"],"mappings":"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"}
1
+ {"version":3,"file":"date-field-RvEB9F1r.cjs","names":["useTanStackFieldContext","FieldGroup","Field","FieldContent","FieldLabel","FieldTooltip","FieldDescription","FieldContentMain","Popover","PopoverTrigger","Button","CalendarDaysIcon","PopoverContent","Calendar","FieldError","FieldNote","FieldSeparator"],"sources":["../packages/components/features/tanstack-form/components/fields/date-field.tsx"],"sourcesContent":["'use client';\n\nimport { memo, useId, useState } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { CalendarDaysIcon } from 'lucide-react';\n\nimport { endOfToday, endOfTomorrow, endOfYesterday, format, lastDayOfMonth, startOfMonth, subDays } from '@customafk/react-toolkit/date-fns';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { Calendar } from '@/components/ui/calendar';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport {\n Field,\n FieldContent,\n FieldContentMain,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLabel,\n FieldNote,\n FieldSeparator,\n FieldTooltip,\n} from '../ui/field';\n\nimport type { DateFieldProps as Props } from '../../types';\n\nexport const DateField = memo<Props>(\n ({\n label,\n description,\n placeholder,\n orientation = 'responsive',\n tooltip,\n helperText,\n showErrorMessage = true,\n required = false,\n disabled = false,\n minDate,\n maxDate,\n }) => {\n const errorId = useId();\n const field = useTanStackFieldContext<Date | null>();\n const [popoverOpen, setPopoverOpen] = useState(false);\n\n const isSubmitting = useStore(field.form.store, ({ isSubmitting }) => isSubmitting);\n const isDisabled = disabled || isSubmitting;\n\n const _touched = field.state.meta.isDirty || field.state.meta.isTouched;\n const _isInvalid = _touched && !field.state.meta.isValid;\n const _isEmpty = required && field.state.value === null;\n\n const handleSelect = (date: Date) => {\n field.handleChange(date);\n setPopoverOpen(false);\n };\n\n return (\n <FieldGroup className=\"px-4\">\n <Field orientation={orientation} data-invalid={_isInvalid}>\n <FieldContent>\n <FieldLabel htmlFor={field.name} aria-required={_isEmpty}>\n {label}\n {tooltip && <FieldTooltip tooltip={tooltip} />}\n </FieldLabel>\n <FieldDescription>{description}</FieldDescription>\n </FieldContent>\n\n <FieldContentMain className=\"flex flex-col space-y-1\">\n <div className=\"flex w-full flex-col\">\n <Popover\n open={popoverOpen}\n onOpenChange={open => {\n setPopoverOpen(open);\n if (!open) field.handleBlur();\n }}\n >\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n color=\"muted\"\n size=\"lg\"\n disabled={isDisabled}\n aria-invalid={_isInvalid ? true : undefined}\n aria-describedby={errorId}\n className={cn(\n 'flex items-center justify-between rounded font-normal outline-border',\n 'hover:bg-transparent',\n 'focus:outline-1 focus:outline-primary-strong focus:ring-4 focus:ring-primary-weak',\n 'data-[state=open]:outline-1 data-[state=open]:outline-primary-strong data-[state=open]:ring-4 data-[state=open]:ring-primary-weak',\n field.state.value === null && 'text-text-positive-muted',\n _isInvalid && 'outline-danger bg-danger-bg-subtle ring-4 ring-danger-weak'\n )}\n >\n <p>{field.state.value === null ? (placeholder ?? 'Select date') : format(field.state.value, 'PPPP')}</p>\n <CalendarDaysIcon strokeWidth={1} />\n </Button>\n </PopoverTrigger>\n\n <PopoverContent align=\"start\" side=\"bottom\" className=\"flex w-fit min-w-0 overflow-y-auto rounded p-0\">\n <div className=\"flex h-full flex-col space-y-2 border-r border-r-border p-2 [&>button]:justify-start [&>button]:text-sm\">\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(endOfToday())}>\n Hôm nay\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(endOfTomorrow())}>\n Ngày mai\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(endOfYesterday())}>\n Hôm qua\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(subDays(endOfToday(), 3))}>\n 3 ngày qua\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(subDays(endOfToday(), 7))}>\n 7 ngày qua\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(subDays(endOfToday(), 30))}>\n 30 ngày qua\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(startOfMonth(endOfToday()))}>\n Tháng này\n </Button>\n <Button variant=\"ghost\" color=\"muted\" className=\"w-32\" onClick={() => handleSelect(lastDayOfMonth(endOfToday()))}>\n Tháng trước\n </Button>\n </div>\n <div className=\"flex flex-1 flex-col\">\n <div className=\"min-w-73 border-b border-b-border p-2\">\n <Calendar\n mode=\"single\"\n selected={field.state.value ?? undefined}\n hidden={{\n before: minDate ?? new Date(1900, 0, 1),\n after: maxDate ?? new Date(2100, 11, 31),\n }}\n onSelect={date => {\n if (!date) return;\n handleSelect(date);\n }}\n />\n </div>\n </div>\n </PopoverContent>\n </Popover>\n\n {_touched && showErrorMessage && <FieldError id={errorId} className=\"mt-1\" errors={field.state.meta.errors} />}\n <FieldNote isShow={!!helperText}>{helperText}</FieldNote>\n </div>\n </FieldContentMain>\n </Field>\n <FieldSeparator />\n </FieldGroup>\n );\n }\n);\n\nDateField.displayName = 'DateField';\n"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ //#region packages/components/data-display/date-tooltip.d.ts
2
+ type DateTooltipProps = {
3
+ /** The date value to display; accepts a `Date` object, an ISO string, or a Unix timestamp (ms). */date: Date | string | number;
4
+ };
5
+ /**
6
+ * Displays a date as a badge; hovering reveals a tooltip with the full Vietnamese weekday and time.
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * import { DateTooltip } from '@customafk/lunas-ui/data-display/date-tooltip';
11
+ *
12
+ * <DateTooltip date="2024-03-15T14:30:00Z" />
13
+ * ```
14
+ */
15
+ declare const DateTooltip: React.FC<DateTooltipProps>;
16
+ //#endregion
17
+ export { DateTooltip as t };
18
+ //# sourceMappingURL=date-tooltip-DptxGOj_.d.cts.map
@@ -0,0 +1,18 @@
1
+ //#region packages/components/data-display/date-tooltip.d.ts
2
+ type DateTooltipProps = {
3
+ /** The date value to display; accepts a `Date` object, an ISO string, or a Unix timestamp (ms). */date: Date | string | number;
4
+ };
5
+ /**
6
+ * Displays a date as a badge; hovering reveals a tooltip with the full Vietnamese weekday and time.
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * import { DateTooltip } from '@customafk/lunas-ui/data-display/date-tooltip';
11
+ *
12
+ * <DateTooltip date="2024-03-15T14:30:00Z" />
13
+ * ```
14
+ */
15
+ declare const DateTooltip: React.FC<DateTooltipProps>;
16
+ //#endregion
17
+ export { DateTooltip as t };
18
+ //# sourceMappingURL=date-tooltip-DptxGOj_.d.mts.map
@@ -0,0 +1,2 @@
1
+ import{Paragraph as e}from"./typography/paragraph.mjs";import{Tooltip as t,TooltipContent as n,TooltipTrigger as r}from"./ui/tooltip.mjs";import{Y as i}from"./tables-UikqnT9q.mjs";import{jsx as a,jsxs as o}from"react/jsx-runtime";const s=({content:s})=>s==null?a(i,{}):o(t,{children:[a(r,{children:a(e,{variant:`sm`,className:`line-clamp-2 whitespace-pre-line break-all`,children:s})}),a(n,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:o(`div`,{className:`flex flex-col gap-y-2`,children:[a(e,{variant:`xs`,className:`whitespace-pre-line text-wrap break-keep text-text-negative-weak`,children:s}),o(`p`,{className:`w-full text-end`,children:[s.toString().length,` chars`]})]})})]});export{s as UITableDescriptionDisplay};
2
+ //# sourceMappingURL=description-display-BubAcFan.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"description-display-BubAcFan.mjs","names":[],"sources":["../packages/components/features/tables/components/atoms/description-display.tsx"],"sourcesContent":["import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { UITableEmpty } from './empty';\nimport { Paragraph } from '@/components/typography/paragraph';\n\n/**\n * Renders a two-line-clamped description in a table cell with a tooltip that\n * reveals the full text and its character count; falls back to\n * {@link UITableEmpty} when `content` is `null` or `undefined`.\n *\n * @example\n * import { UITableDescriptionDisplay } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableDescriptionDisplay content=\"A detailed description of this record.\" />\n */\nexport const UITableDescriptionDisplay: React.FC<{\n /** The text or numeric value to display; `null`/`undefined` renders an empty state. */\n content: string | null | undefined | number;\n}> = ({ content }) => {\n if (content === undefined || content === null) {\n return <UITableEmpty />;\n }\n return (\n <Tooltip>\n <TooltipTrigger>\n <Paragraph variant=\"sm\" className=\"line-clamp-2 whitespace-pre-line break-all\">\n {content}\n </Paragraph>\n </TooltipTrigger>\n <TooltipContent align=\"start\" className=\"h-fit min-w-48 max-w-80 pt-4\">\n <div className=\"flex flex-col gap-y-2\">\n <Paragraph variant=\"xs\" className=\"whitespace-pre-line text-wrap break-keep text-text-negative-weak\">\n {content}\n </Paragraph>\n <p className=\"w-full text-end\">{content.toString().length} chars</p>\n </div>\n </TooltipContent>\n </Tooltip>\n );\n};\n"],"mappings":"sOAeA,MAAa,GAGP,CAAE,aACF,GAAqC,KAChC,EAAC,EAAD,CAAe,CAAA,EAGtB,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAA,SACE,EAAC,EAAD,CAAW,QAAQ,KAAK,UAAU,sDAC/B,CACQ,CAAA,CACG,CAAA,EAChB,EAAC,EAAD,CAAgB,MAAM,QAAQ,UAAU,wCACtC,EAAC,MAAD,CAAK,UAAU,iCAAf,CACE,EAAC,EAAD,CAAW,QAAQ,KAAK,UAAU,4EAC/B,CACQ,CAAA,EACX,EAAC,IAAD,CAAG,UAAU,2BAAb,CAAgC,EAAQ,SAAS,CAAC,CAAC,OAAO,QAAS,GAChE,GACS,CAAA,CACT,CAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ const e=require("./typography/paragraph.cjs"),t=require("./ui/tooltip.cjs"),n=require("./tables-7aC9WFs9.cjs");let r=require("react/jsx-runtime");const i=({content:i})=>i==null?(0,r.jsx)(n.Y,{}):(0,r.jsxs)(t.Tooltip,{children:[(0,r.jsx)(t.TooltipTrigger,{children:(0,r.jsx)(e.Paragraph,{variant:`sm`,className:`line-clamp-2 whitespace-pre-line break-all`,children:i})}),(0,r.jsx)(t.TooltipContent,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:(0,r.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[(0,r.jsx)(e.Paragraph,{variant:`xs`,className:`whitespace-pre-line text-wrap break-keep text-text-negative-weak`,children:i}),(0,r.jsxs)(`p`,{className:`w-full text-end`,children:[i.toString().length,` chars`]})]})})]});exports.UITableDescriptionDisplay=i;
2
+ //# sourceMappingURL=description-display-CKe0j3q-.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"description-display-CKe0j3q-.cjs","names":["UITableEmpty","Tooltip","TooltipTrigger","Paragraph","TooltipContent"],"sources":["../packages/components/features/tables/components/atoms/description-display.tsx"],"sourcesContent":["import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { UITableEmpty } from './empty';\nimport { Paragraph } from '@/components/typography/paragraph';\n\n/**\n * Renders a two-line-clamped description in a table cell with a tooltip that\n * reveals the full text and its character count; falls back to\n * {@link UITableEmpty} when `content` is `null` or `undefined`.\n *\n * @example\n * import { UITableDescriptionDisplay } from '@customafk/lunas-ui/features/tables';\n *\n * <UITableDescriptionDisplay content=\"A detailed description of this record.\" />\n */\nexport const UITableDescriptionDisplay: React.FC<{\n /** The text or numeric value to display; `null`/`undefined` renders an empty state. */\n content: string | null | undefined | number;\n}> = ({ content }) => {\n if (content === undefined || content === null) {\n return <UITableEmpty />;\n }\n return (\n <Tooltip>\n <TooltipTrigger>\n <Paragraph variant=\"sm\" className=\"line-clamp-2 whitespace-pre-line break-all\">\n {content}\n </Paragraph>\n </TooltipTrigger>\n <TooltipContent align=\"start\" className=\"h-fit min-w-48 max-w-80 pt-4\">\n <div className=\"flex flex-col gap-y-2\">\n <Paragraph variant=\"xs\" className=\"whitespace-pre-line text-wrap break-keep text-text-negative-weak\">\n {content}\n </Paragraph>\n <p className=\"w-full text-end\">{content.toString().length} chars</p>\n </div>\n </TooltipContent>\n </Tooltip>\n );\n};\n"],"mappings":"kJAeA,MAAa,GAGP,CAAE,aACF,GAAqC,MAChC,EAAA,EAAA,IAAA,CAACA,EAAAA,EAAD,CAAe,CAAA,GAGtB,EAAA,EAAA,KAAA,CAACC,EAAAA,QAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CAAA,UACE,EAAA,EAAA,IAAA,CAACC,EAAAA,UAAD,CAAW,QAAQ,KAAK,UAAU,sDAC/B,CACQ,CAAA,CACG,CAAA,GAChB,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CAAgB,MAAM,QAAQ,UAAU,yCACtC,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,EACE,EAAA,EAAA,IAAA,CAACD,EAAAA,UAAD,CAAW,QAAQ,KAAK,UAAU,4EAC/B,CACQ,CAAA,GACX,EAAA,EAAA,KAAA,CAAC,IAAD,CAAG,UAAU,2BAAb,CAAgC,EAAQ,SAAS,CAAC,CAAC,OAAO,QAAS,GAChE,GACS,CAAA,CACT,CAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- import{Separator as e}from"./ui/separator.mjs";import{Dialog as t,DialogContent as n,DialogOverlay as r,DialogPortal as i,DialogTitle as a}from"./ui/dialog.mjs";import{K as o}from"./tanstack-form-CM_Hb3JT.mjs";import{n as s,t as c}from"./submit-button-CGBaPzE9.mjs";import{useCallback as l}from"react";import{cn as u}from"@customafk/react-toolkit/utils";import{jsx as d,jsxs as f}from"react/jsx-runtime";const p=({title:p,submitText:m,width:h,maxWidth:g,className:_,open:v,onOpenChange:y,children:b})=>{let x=o(),S=l(e=>{e||x.reset(),y?.(e)},[x.reset,y]);return d(t,{open:v,onOpenChange:S,children:f(i,{"data-slot":`dialog-portal`,children:[d(r,{}),f(n,{style:{"--width":h,"--max-width":g},className:u(`flex size-full max-h-dvh max-w-dvw flex-col gap-0 overflow-y-auto rounded-none p-0 shadow-dialog sm:h-auto sm:max-h-[85dvh] sm:max-w-5xl sm:rounded-md`,h&&`sm:w-(--width)`,g&&`sm:max-w-(--max-width)`,_),onOpenAutoFocus:e=>{e.preventDefault()},onInteractOutside:e=>{e.preventDefault()},children:[d(`div`,{"data-slot":`dialog-header`,className:`flex items-center justify-center gap-2 px-6 py-5 text-center sm:text-left`,children:d(a,{"data-slot":`dialog-title`,className:`font-semibold text-lg tracking-tight`,children:p})}),d(e,{}),d(`div`,{"data-slot":`dialog-content`,className:`relative flex flex-col overflow-y-auto p-0 pt-4 max-sm:flex-1 sm:p-4`,children:b}),d(e,{}),f(`div`,{"data-slot":`dialog-footer`,className:`flex flex-col-reverse items-center justify-end gap-2 px-6 py-4 sm:flex-row max-sm:[&>button]:w-full`,children:[d(x.Subscribe,{selector:e=>({disabled:e.isSubmitting}),children:({disabled:e})=>d(s,{disabled:e,onClick:()=>{x.reset(),S(!1)}})}),d(x.Subscribe,{selector:e=>({isSubmitting:e.isSubmitting,disabled:e.isPristine||!e.isValid||e.isValidating||e.isSubmitting||!e.canSubmit}),children:({isSubmitting:e,disabled:t})=>d(c,{isSubmitting:e,disabled:t,submitText:m,onClick:()=>x.handleSubmit()})})]})]})]})})};export{p as TanStackDialogForm};
2
- //# sourceMappingURL=dialog-form-ClWBZbUN.mjs.map
1
+ import{Dialog as e,DialogContent as t,DialogOverlay as n,DialogPortal as r,DialogTitle as i}from"./ui/dialog.mjs";import{K as a}from"./tanstack-form-PC9YNeeo.mjs";import{Separator as o}from"./ui/separator.mjs";import{n as s,t as c}from"./submit-button-CGBaPzE9.mjs";import{useCallback as l}from"react";import{cn as u}from"@customafk/react-toolkit/utils";import{jsx as d,jsxs as f}from"react/jsx-runtime";const p=({title:p,submitText:m,width:h,maxWidth:g,className:_,open:v,onOpenChange:y,children:b})=>{let x=a(),S=l(e=>{e||x.reset(),y?.(e)},[x.reset,y]);return d(e,{open:v,onOpenChange:S,children:f(r,{"data-slot":`dialog-portal`,children:[d(n,{}),f(t,{style:{"--width":h,"--max-width":g},className:u(`flex size-full max-h-dvh max-w-dvw flex-col gap-0 overflow-y-auto rounded-none p-0 shadow-dialog sm:h-auto sm:max-h-[85dvh] sm:max-w-5xl sm:rounded-md`,h&&`sm:w-(--width)`,g&&`sm:max-w-(--max-width)`,_),onOpenAutoFocus:e=>{e.preventDefault()},onInteractOutside:e=>{e.preventDefault()},children:[d(`div`,{"data-slot":`dialog-header`,className:`flex items-center justify-center gap-2 px-6 py-5 text-center sm:text-left`,children:d(i,{"data-slot":`dialog-title`,className:`font-semibold text-lg tracking-tight`,children:p})}),d(o,{}),d(`div`,{"data-slot":`dialog-content`,className:`relative flex flex-col overflow-y-auto p-0 pt-4 max-sm:flex-1 sm:p-4`,children:b}),d(o,{}),f(`div`,{"data-slot":`dialog-footer`,className:`flex flex-col-reverse items-center justify-end gap-2 px-6 py-4 sm:flex-row max-sm:[&>button]:w-full`,children:[d(x.Subscribe,{selector:e=>({disabled:e.isSubmitting}),children:({disabled:e})=>d(s,{disabled:e,onClick:()=>{x.reset(),S(!1)}})}),d(x.Subscribe,{selector:e=>({isSubmitting:e.isSubmitting,disabled:e.isPristine||!e.isValid||e.isValidating||e.isSubmitting||!e.canSubmit}),children:({isSubmitting:e,disabled:t})=>d(c,{isSubmitting:e,disabled:t,submitText:m,onClick:()=>x.handleSubmit()})})]})]})]})})};export{p as TanStackDialogForm};
2
+ //# sourceMappingURL=dialog-form-C0W5C0u9.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog-form-ClWBZbUN.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/forms/dialog-form.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback } from 'react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Dialog, DialogContent, DialogOverlay, DialogPortal, DialogTitle } from '@/components/ui/dialog';\nimport { Separator } from '@/components/ui/separator';\n\nimport { useTanStackFormContext } from '../form-context';\nimport { CancelButton } from '../ui/cancel-button';\nimport { SubmitButton } from '../ui/submit-button';\n\n/**\n * Renders a modal dialog that wraps a TanStack Form with a title, scrollable content area, and built-in submit/cancel actions.\n *\n * @example\n * import { TanStackDialogForm } from '@customafk/lunas-ui/features/tanstack-form';\n *\n * <TanStackDialogForm\n * title=\"Create User\"\n * submitText=\"Create\"\n * className=\"max-w-lg\"\n * open={isOpen}\n * onOpenChange={setIsOpen}\n * >\n * <NameField />\n * <EmailField />\n * </TanStackDialogForm>\n */\nexport const TanStackDialogForm: React.FC<\n React.PropsWithChildren<{\n /** Heading text displayed in the dialog title bar. */\n title: string;\n /** Custom label for the submit button. Defaults to the `SubmitButton` component's built-in label when omitted. */\n submitText?: string;\n /** Optional fixed width for the dialog content area, as a pixel number (e.g. `600`) or any CSS string (e.g. `'50%'`, `'40rem'`). Omit to let the dialog size itself based on content. */\n width?: number | string;\n /** Optional fixed max-width for the dialog content area, as a pixel number (e.g. `600`) or any CSS string (e.g. `'50%'`, `'40rem'`). Omit to let the dialog size itself based on content and viewport. */\n maxWidth?: number | string;\n /** Optional additional class name(s) to apply to the dialog content container. */\n className?: string;\n /** Controlled open state of the dialog. */\n open?: boolean;\n /** Callback fired when the dialog open state changes; the form is reset on close. */\n onOpenChange?: (open: boolean) => void;\n }>\n> = ({ title, submitText, width, maxWidth, className, open, onOpenChange, children }) => {\n const form = useTanStackFormContext();\n\n const handleOpenChange = useCallback(\n (open: boolean) => {\n if (!open) form.reset();\n onOpenChange?.(open);\n },\n [form.reset, onOpenChange]\n );\n\n return (\n <Dialog open={open} onOpenChange={handleOpenChange}>\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogContent\n style={\n {\n '--width': width,\n '--max-width': maxWidth,\n } as React.CSSProperties\n }\n className={cn(\n 'flex size-full max-h-dvh max-w-dvw flex-col gap-0 overflow-y-auto rounded-none p-0 shadow-dialog sm:h-auto sm:max-h-[85dvh] sm:max-w-5xl sm:rounded-md',\n width && `sm:w-(--width)`,\n maxWidth && `sm:max-w-(--max-width)`,\n className\n )}\n onOpenAutoFocus={event => {\n // Prevents focus from shifting to the content when the dialog opens, which can cause layout shift if the content includes autofocusable elements.\n event.preventDefault();\n }}\n onInteractOutside={event => {\n // Prevents the dialog from closing when clicking outside, since the form may have unsaved changes.\n event.preventDefault();\n }}\n >\n <div data-slot=\"dialog-header\" className=\"flex items-center justify-center gap-2 px-6 py-5 text-center sm:text-left\">\n <DialogTitle data-slot=\"dialog-title\" className=\"font-semibold text-lg tracking-tight\">\n {title}\n </DialogTitle>\n </div>\n <Separator />\n <div data-slot=\"dialog-content\" className=\"relative flex flex-col overflow-y-auto p-0 pt-4 max-sm:flex-1 sm:p-4\">\n {children}\n </div>\n <Separator />\n <div data-slot=\"dialog-footer\" className=\"flex flex-col-reverse items-center justify-end gap-2 px-6 py-4 sm:flex-row max-sm:[&>button]:w-full\">\n <form.Subscribe\n selector={state => ({ disabled: state.isSubmitting })}\n children={({ disabled }) => (\n <CancelButton\n disabled={disabled}\n onClick={() => {\n form.reset();\n handleOpenChange(false);\n }}\n />\n )}\n />\n <form.Subscribe\n selector={state => ({\n isSubmitting: state.isSubmitting,\n disabled: state.isPristine || !state.isValid || state.isValidating || state.isSubmitting || !state.canSubmit,\n })}\n children={({ isSubmitting, disabled }) => (\n <SubmitButton isSubmitting={isSubmitting} disabled={disabled} submitText={submitText} onClick={() => form.handleSubmit()} />\n )}\n />\n </div>\n </DialogContent>\n </DialogPortal>\n </Dialog>\n );\n};\n"],"mappings":"oZA8BA,MAAa,GAiBR,CAAE,QAAO,aAAY,QAAO,WAAU,YAAW,OAAM,eAAc,cAAe,CACvF,IAAM,EAAO,EAAuB,EAE9B,EAAmB,EACtB,GAAkB,CACZ,GAAM,EAAK,MAAM,EACtB,IAAe,CAAI,CACrB,EACA,CAAC,EAAK,MAAO,CAAY,CAC3B,EAEA,OACE,EAAC,EAAD,CAAc,OAAM,aAAc,WAChC,EAAC,EAAD,CAAc,YAAU,yBAAxB,CACE,EAAC,EAAD,CAAgB,CAAA,EAChB,EAAC,EAAD,CACE,MACE,CACE,UAAW,EACX,cAAe,CACjB,EAEF,UAAW,EACT,yJACA,GAAS,iBACT,GAAY,yBACZ,CACF,EACA,gBAAiB,GAAS,CAExB,EAAM,eAAe,CACvB,EACA,kBAAmB,GAAS,CAE1B,EAAM,eAAe,CACvB,WApBF,CAsBE,EAAC,MAAD,CAAK,YAAU,gBAAgB,UAAU,qFACvC,EAAC,EAAD,CAAa,YAAU,eAAe,UAAU,gDAC7C,CACU,CAAA,CACV,CAAA,EACL,EAAC,EAAD,CAAY,CAAA,EACZ,EAAC,MAAD,CAAK,YAAU,iBAAiB,UAAU,uEACvC,UACE,CAAA,EACL,EAAC,EAAD,CAAY,CAAA,EACZ,EAAC,MAAD,CAAK,YAAU,gBAAgB,UAAU,+GAAzC,CACE,EAAC,EAAK,UAAN,CACE,SAAU,IAAU,CAAE,SAAU,EAAM,YAAa,GACnD,UAAW,CAAE,cACX,EAAC,EAAD,CACY,WACV,YAAe,CACb,EAAK,MAAM,EACX,EAAiB,EAAK,CACxB,CACD,CAAA,CAEJ,CAAA,EACD,EAAC,EAAK,UAAN,CACE,SAAU,IAAU,CAClB,aAAc,EAAM,aACpB,SAAU,EAAM,YAAc,CAAC,EAAM,SAAW,EAAM,cAAgB,EAAM,cAAgB,CAAC,EAAM,SACrG,GACA,UAAW,CAAE,eAAc,cACzB,EAAC,EAAD,CAA4B,eAAwB,WAAsB,aAAY,YAAe,EAAK,aAAa,CAAI,CAAA,CAE9H,CAAA,CACE,GACQ,GACH,GACR,CAAA,CAEZ"}
1
+ {"version":3,"file":"dialog-form-C0W5C0u9.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/forms/dialog-form.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback } from 'react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Dialog, DialogContent, DialogOverlay, DialogPortal, DialogTitle } from '@/components/ui/dialog';\nimport { Separator } from '@/components/ui/separator';\n\nimport { useTanStackFormContext } from '../form-context';\nimport { CancelButton } from '../ui/cancel-button';\nimport { SubmitButton } from '../ui/submit-button';\n\n/**\n * Renders a modal dialog that wraps a TanStack Form with a title, scrollable content area, and built-in submit/cancel actions.\n *\n * @example\n * import { TanStackDialogForm } from '@customafk/lunas-ui/features/tanstack-form';\n *\n * <TanStackDialogForm\n * title=\"Create User\"\n * submitText=\"Create\"\n * className=\"max-w-lg\"\n * open={isOpen}\n * onOpenChange={setIsOpen}\n * >\n * <NameField />\n * <EmailField />\n * </TanStackDialogForm>\n */\nexport const TanStackDialogForm: React.FC<\n React.PropsWithChildren<{\n /** Heading text displayed in the dialog title bar. */\n title: string;\n /** Custom label for the submit button. Defaults to the `SubmitButton` component's built-in label when omitted. */\n submitText?: string;\n /** Optional fixed width for the dialog content area, as a pixel number (e.g. `600`) or any CSS string (e.g. `'50%'`, `'40rem'`). Omit to let the dialog size itself based on content. */\n width?: number | string;\n /** Optional fixed max-width for the dialog content area, as a pixel number (e.g. `600`) or any CSS string (e.g. `'50%'`, `'40rem'`). Omit to let the dialog size itself based on content and viewport. */\n maxWidth?: number | string;\n /** Optional additional class name(s) to apply to the dialog content container. */\n className?: string;\n /** Controlled open state of the dialog. */\n open?: boolean;\n /** Callback fired when the dialog open state changes; the form is reset on close. */\n onOpenChange?: (open: boolean) => void;\n }>\n> = ({ title, submitText, width, maxWidth, className, open, onOpenChange, children }) => {\n const form = useTanStackFormContext();\n\n const handleOpenChange = useCallback(\n (open: boolean) => {\n if (!open) form.reset();\n onOpenChange?.(open);\n },\n [form.reset, onOpenChange]\n );\n\n return (\n <Dialog open={open} onOpenChange={handleOpenChange}>\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogContent\n style={\n {\n '--width': width,\n '--max-width': maxWidth,\n } as React.CSSProperties\n }\n className={cn(\n 'flex size-full max-h-dvh max-w-dvw flex-col gap-0 overflow-y-auto rounded-none p-0 shadow-dialog sm:h-auto sm:max-h-[85dvh] sm:max-w-5xl sm:rounded-md',\n width && `sm:w-(--width)`,\n maxWidth && `sm:max-w-(--max-width)`,\n className\n )}\n onOpenAutoFocus={event => {\n // Prevents focus from shifting to the content when the dialog opens, which can cause layout shift if the content includes autofocusable elements.\n event.preventDefault();\n }}\n onInteractOutside={event => {\n // Prevents the dialog from closing when clicking outside, since the form may have unsaved changes.\n event.preventDefault();\n }}\n >\n <div data-slot=\"dialog-header\" className=\"flex items-center justify-center gap-2 px-6 py-5 text-center sm:text-left\">\n <DialogTitle data-slot=\"dialog-title\" className=\"font-semibold text-lg tracking-tight\">\n {title}\n </DialogTitle>\n </div>\n <Separator />\n <div data-slot=\"dialog-content\" className=\"relative flex flex-col overflow-y-auto p-0 pt-4 max-sm:flex-1 sm:p-4\">\n {children}\n </div>\n <Separator />\n <div data-slot=\"dialog-footer\" className=\"flex flex-col-reverse items-center justify-end gap-2 px-6 py-4 sm:flex-row max-sm:[&>button]:w-full\">\n <form.Subscribe\n selector={state => ({ disabled: state.isSubmitting })}\n children={({ disabled }) => (\n <CancelButton\n disabled={disabled}\n onClick={() => {\n form.reset();\n handleOpenChange(false);\n }}\n />\n )}\n />\n <form.Subscribe\n selector={state => ({\n isSubmitting: state.isSubmitting,\n disabled: state.isPristine || !state.isValid || state.isValidating || state.isSubmitting || !state.canSubmit,\n })}\n children={({ isSubmitting, disabled }) => (\n <SubmitButton isSubmitting={isSubmitting} disabled={disabled} submitText={submitText} onClick={() => form.handleSubmit()} />\n )}\n />\n </div>\n </DialogContent>\n </DialogPortal>\n </Dialog>\n );\n};\n"],"mappings":"oZA8BA,MAAa,GAiBR,CAAE,QAAO,aAAY,QAAO,WAAU,YAAW,OAAM,eAAc,cAAe,CACvF,IAAM,EAAO,EAAuB,EAE9B,EAAmB,EACtB,GAAkB,CACZ,GAAM,EAAK,MAAM,EACtB,IAAe,CAAI,CACrB,EACA,CAAC,EAAK,MAAO,CAAY,CAC3B,EAEA,OACE,EAAC,EAAD,CAAc,OAAM,aAAc,WAChC,EAAC,EAAD,CAAc,YAAU,yBAAxB,CACE,EAAC,EAAD,CAAgB,CAAA,EAChB,EAAC,EAAD,CACE,MACE,CACE,UAAW,EACX,cAAe,CACjB,EAEF,UAAW,EACT,yJACA,GAAS,iBACT,GAAY,yBACZ,CACF,EACA,gBAAiB,GAAS,CAExB,EAAM,eAAe,CACvB,EACA,kBAAmB,GAAS,CAE1B,EAAM,eAAe,CACvB,WApBF,CAsBE,EAAC,MAAD,CAAK,YAAU,gBAAgB,UAAU,qFACvC,EAAC,EAAD,CAAa,YAAU,eAAe,UAAU,gDAC7C,CACU,CAAA,CACV,CAAA,EACL,EAAC,EAAD,CAAY,CAAA,EACZ,EAAC,MAAD,CAAK,YAAU,iBAAiB,UAAU,uEACvC,UACE,CAAA,EACL,EAAC,EAAD,CAAY,CAAA,EACZ,EAAC,MAAD,CAAK,YAAU,gBAAgB,UAAU,+GAAzC,CACE,EAAC,EAAK,UAAN,CACE,SAAU,IAAU,CAAE,SAAU,EAAM,YAAa,GACnD,UAAW,CAAE,cACX,EAAC,EAAD,CACY,WACV,YAAe,CACb,EAAK,MAAM,EACX,EAAiB,EAAK,CACxB,CACD,CAAA,CAEJ,CAAA,EACD,EAAC,EAAK,UAAN,CACE,SAAU,IAAU,CAClB,aAAc,EAAM,aACpB,SAAU,EAAM,YAAc,CAAC,EAAM,SAAW,EAAM,cAAgB,EAAM,cAAgB,CAAC,EAAM,SACrG,GACA,UAAW,CAAE,eAAc,cACzB,EAAC,EAAD,CAA4B,eAAwB,WAAsB,aAAY,YAAe,EAAK,aAAa,CAAI,CAAA,CAE9H,CAAA,CACE,GACQ,GACH,GACR,CAAA,CAEZ"}
@@ -1,2 +1,2 @@
1
- const e=require("./ui/separator.cjs"),t=require("./ui/dialog.cjs"),n=require("./tanstack-form-DS_ZvRl8.cjs"),r=require("./submit-button-CvINfld5.cjs");let i=require("react"),a=require("@customafk/react-toolkit/utils"),o=require("react/jsx-runtime");const s=({title:s,submitText:c,width:l,maxWidth:u,className:d,open:f,onOpenChange:p,children:m})=>{let h=n.K(),g=(0,i.useCallback)(e=>{e||h.reset(),p?.(e)},[h.reset,p]);return(0,o.jsx)(t.Dialog,{open:f,onOpenChange:g,children:(0,o.jsxs)(t.DialogPortal,{"data-slot":`dialog-portal`,children:[(0,o.jsx)(t.DialogOverlay,{}),(0,o.jsxs)(t.DialogContent,{style:{"--width":l,"--max-width":u},className:(0,a.cn)(`flex size-full max-h-dvh max-w-dvw flex-col gap-0 overflow-y-auto rounded-none p-0 shadow-dialog sm:h-auto sm:max-h-[85dvh] sm:max-w-5xl sm:rounded-md`,l&&`sm:w-(--width)`,u&&`sm:max-w-(--max-width)`,d),onOpenAutoFocus:e=>{e.preventDefault()},onInteractOutside:e=>{e.preventDefault()},children:[(0,o.jsx)(`div`,{"data-slot":`dialog-header`,className:`flex items-center justify-center gap-2 px-6 py-5 text-center sm:text-left`,children:(0,o.jsx)(t.DialogTitle,{"data-slot":`dialog-title`,className:`font-semibold text-lg tracking-tight`,children:s})}),(0,o.jsx)(e.Separator,{}),(0,o.jsx)(`div`,{"data-slot":`dialog-content`,className:`relative flex flex-col overflow-y-auto p-0 pt-4 max-sm:flex-1 sm:p-4`,children:m}),(0,o.jsx)(e.Separator,{}),(0,o.jsxs)(`div`,{"data-slot":`dialog-footer`,className:`flex flex-col-reverse items-center justify-end gap-2 px-6 py-4 sm:flex-row max-sm:[&>button]:w-full`,children:[(0,o.jsx)(h.Subscribe,{selector:e=>({disabled:e.isSubmitting}),children:({disabled:e})=>(0,o.jsx)(r.n,{disabled:e,onClick:()=>{h.reset(),g(!1)}})}),(0,o.jsx)(h.Subscribe,{selector:e=>({isSubmitting:e.isSubmitting,disabled:e.isPristine||!e.isValid||e.isValidating||e.isSubmitting||!e.canSubmit}),children:({isSubmitting:e,disabled:t})=>(0,o.jsx)(r.t,{isSubmitting:e,disabled:t,submitText:c,onClick:()=>h.handleSubmit()})})]})]})]})})};exports.TanStackDialogForm=s;
2
- //# sourceMappingURL=dialog-form-DN-NlQFO.cjs.map
1
+ const e=require("./ui/dialog.cjs"),t=require("./tanstack-form-CNrZQZhn.cjs"),n=require("./ui/separator.cjs"),r=require("./submit-button-CvINfld5.cjs");let i=require("react"),a=require("@customafk/react-toolkit/utils"),o=require("react/jsx-runtime");const s=({title:s,submitText:c,width:l,maxWidth:u,className:d,open:f,onOpenChange:p,children:m})=>{let h=t.K(),g=(0,i.useCallback)(e=>{e||h.reset(),p?.(e)},[h.reset,p]);return(0,o.jsx)(e.Dialog,{open:f,onOpenChange:g,children:(0,o.jsxs)(e.DialogPortal,{"data-slot":`dialog-portal`,children:[(0,o.jsx)(e.DialogOverlay,{}),(0,o.jsxs)(e.DialogContent,{style:{"--width":l,"--max-width":u},className:(0,a.cn)(`flex size-full max-h-dvh max-w-dvw flex-col gap-0 overflow-y-auto rounded-none p-0 shadow-dialog sm:h-auto sm:max-h-[85dvh] sm:max-w-5xl sm:rounded-md`,l&&`sm:w-(--width)`,u&&`sm:max-w-(--max-width)`,d),onOpenAutoFocus:e=>{e.preventDefault()},onInteractOutside:e=>{e.preventDefault()},children:[(0,o.jsx)(`div`,{"data-slot":`dialog-header`,className:`flex items-center justify-center gap-2 px-6 py-5 text-center sm:text-left`,children:(0,o.jsx)(e.DialogTitle,{"data-slot":`dialog-title`,className:`font-semibold text-lg tracking-tight`,children:s})}),(0,o.jsx)(n.Separator,{}),(0,o.jsx)(`div`,{"data-slot":`dialog-content`,className:`relative flex flex-col overflow-y-auto p-0 pt-4 max-sm:flex-1 sm:p-4`,children:m}),(0,o.jsx)(n.Separator,{}),(0,o.jsxs)(`div`,{"data-slot":`dialog-footer`,className:`flex flex-col-reverse items-center justify-end gap-2 px-6 py-4 sm:flex-row max-sm:[&>button]:w-full`,children:[(0,o.jsx)(h.Subscribe,{selector:e=>({disabled:e.isSubmitting}),children:({disabled:e})=>(0,o.jsx)(r.n,{disabled:e,onClick:()=>{h.reset(),g(!1)}})}),(0,o.jsx)(h.Subscribe,{selector:e=>({isSubmitting:e.isSubmitting,disabled:e.isPristine||!e.isValid||e.isValidating||e.isSubmitting||!e.canSubmit}),children:({isSubmitting:e,disabled:t})=>(0,o.jsx)(r.t,{isSubmitting:e,disabled:t,submitText:c,onClick:()=>h.handleSubmit()})})]})]})]})})};exports.TanStackDialogForm=s;
2
+ //# sourceMappingURL=dialog-form-CkNCwzWG.cjs.map