@customafk/lunas-ui 0.2.65 → 0.2.67

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-BD2QvOth.mjs +2 -0
  32. package/dist/analysis-panel-BD2QvOth.mjs.map +1 -0
  33. package/dist/analysis-panel-UlC7cvO2.cjs +2 -0
  34. package/dist/analysis-panel-UlC7cvO2.cjs.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-Bs0QeCJt.cjs +2 -0
  46. package/dist/badge-display-Bs0QeCJt.cjs.map +1 -0
  47. package/dist/badge-display-Dg5XM66P.mjs +2 -0
  48. package/dist/badge-display-Dg5XM66P.mjs.map +1 -0
  49. package/dist/boolean-display-BnN32_Jd.cjs +2 -0
  50. package/dist/boolean-display-BnN32_Jd.cjs.map +1 -0
  51. package/dist/boolean-display-DVn3UGuZ.mjs +2 -0
  52. package/dist/boolean-display-DVn3UGuZ.mjs.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-CKLQ_lxN.mjs +2 -0
  110. package/dist/currency-display-CKLQ_lxN.mjs.map +1 -0
  111. package/dist/currency-display-CZ6PJAzu.cjs +2 -0
  112. package/dist/currency-display-CZ6PJAzu.cjs.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-BQOVmN7S.cjs +2 -0
  138. package/dist/date-display-BQOVmN7S.cjs.map +1 -0
  139. package/dist/date-display-BrCdJkmq.mjs +2 -0
  140. package/dist/date-display-BrCdJkmq.mjs.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-BQFLzI2g.mjs +2 -0
  148. package/dist/description-display-BQFLzI2g.mjs.map +1 -0
  149. package/dist/description-display-DnDAB3a1.cjs +2 -0
  150. package/dist/description-display-DnDAB3a1.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-D6ZgA_en.cjs +2 -0
  188. package/dist/email-display-D6ZgA_en.cjs.map +1 -0
  189. package/dist/email-display-m745lUts.mjs +2 -0
  190. package/dist/email-display-m745lUts.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-Bb9_Blk3.cjs +2 -0
  228. package/dist/filter-Bb9_Blk3.cjs.map +1 -0
  229. package/dist/filter-CG6wQHRd.mjs +2 -0
  230. package/dist/filter-CG6wQHRd.mjs.map +1 -0
  231. package/dist/flex-bw7U4hXn.d.cts +114 -0
  232. package/dist/flex-bw7U4hXn.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-8Jx6G5nk.mjs +2 -0
  290. package/dist/list-display-8Jx6G5nk.mjs.map +1 -0
  291. package/dist/list-display-BQjNDttz.cjs +2 -0
  292. package/dist/list-display-BQjNDttz.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-BBJoNnRG.mjs +2 -0
  314. package/dist/name-display-BBJoNnRG.mjs.map +1 -0
  315. package/dist/name-display-scAMZdyr.cjs +2 -0
  316. package/dist/name-display-scAMZdyr.cjs.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-B45TkUcr.cjs +2 -0
  390. package/dist/progress-display-B45TkUcr.cjs.map +1 -0
  391. package/dist/progress-display-DvV-YhkE.mjs +2 -0
  392. package/dist/progress-display-DvV-YhkE.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-BHCSCw9Q.cjs +2 -0
  508. package/dist/statistic-BHCSCw9Q.cjs.map +1 -0
  509. package/dist/statistic-DwiUKz02.mjs +2 -0
  510. package/dist/statistic-DwiUKz02.mjs.map +1 -0
  511. package/dist/status-display-BKe0EupF.mjs +2 -0
  512. package/dist/status-display-BKe0EupF.mjs.map +1 -0
  513. package/dist/status-display-BRJX53bQ.cjs +2 -0
  514. package/dist/status-display-BRJX53bQ.cjs.map +1 -0
  515. package/dist/summary-bar-ByYm7uWR.mjs +2 -0
  516. package/dist/summary-bar-ByYm7uWR.mjs.map +1 -0
  517. package/dist/summary-bar-DjdtmsIY.cjs +2 -0
  518. package/dist/summary-bar-DjdtmsIY.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-9d53sH9E.mjs +2 -0
  530. package/dist/tables-9d53sH9E.mjs.map +1 -0
  531. package/dist/tables-B1O9qy-m.cjs +2 -0
  532. package/dist/tables-B1O9qy-m.cjs.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-D4U-RhIu.d.cts +53 -0
  568. package/dist/tooltip-D4U-RhIu.d.mts +53 -0
  569. package/dist/tooltip-DVK6xfZ1.cjs +4 -0
  570. package/dist/tooltip-DVK6xfZ1.cjs.map +1 -0
  571. package/dist/tooltip-lvpW5dMi.mjs +4 -0
  572. package/dist/tooltip-lvpW5dMi.mjs.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,2 +1,2 @@
1
- import{Input as e}from"./ui/input.mjs";import{Label as t}from"./ui/label.mjs";import{G as n}from"./tanstack-form-CM_Hb3JT.mjs";import{FieldError as r}from"./field-BKyUqvzh.mjs";import{AtSignIcon as i}from"lucide-react";import{useCallback as a,useId as o}from"react";import{cn as s}from"@customafk/react-toolkit/utils";import{jsx as c,jsxs as l}from"react/jsx-runtime";import{useStore as u}from"@tanstack/react-form";const d=({label:d,placeholder:f,required:p,maxLength:m,disabled:h})=>{let g=o(),{form:_,name:v,state:y,handleBlur:b,handleChange:x}=n(),S=u(_.store,({isSubmitting:e})=>e),C=y.meta.isTouched&&!y.meta.isValid,w=a(({target:{value:e}})=>{S||m&&e.length>m||x(e||null)},[S,m,x]);return l(`div`,{className:`flex flex-col gap-1.5`,children:[d&&l(t,{htmlFor:g,children:[d,p&&c(`span`,{className:`text-danger-strong`,children:`*`})]}),l(`div`,{className:`relative`,children:[c(e,{id:g,name:v,type:`email`,value:y.value??``,"aria-invalid":C,autoComplete:`email`,placeholder:f,disabled:h||S,className:s(`pl-9`),onBlur:b,onChange:w}),c(`div`,{className:`pointer-events-none absolute inset-y-0 left-0 flex size-9 items-center justify-center text-muted`,children:c(i,{size:14})})]}),C&&c(r,{errors:y.meta.errors})]})};export{d as SimpleEmailField};
2
- //# sourceMappingURL=simple-email-field-rZZIXu7S.mjs.map
1
+ import{G as e}from"./tanstack-form-PC9YNeeo.mjs";import{Input as t}from"./ui/input.mjs";import{Label as n}from"./ui/label.mjs";import{FieldError as r}from"./field-BKyUqvzh.mjs";import{AtSignIcon as i}from"lucide-react";import{useCallback as a,useId as o}from"react";import{cn as s}from"@customafk/react-toolkit/utils";import{jsx as c,jsxs as l}from"react/jsx-runtime";import{useStore as u}from"@tanstack/react-form";const d=({label:d,placeholder:f,required:p,maxLength:m,disabled:h})=>{let g=o(),{form:_,name:v,state:y,handleBlur:b,handleChange:x}=e(),S=u(_.store,({isSubmitting:e})=>e),C=y.meta.isTouched&&!y.meta.isValid,w=a(({target:{value:e}})=>{S||m&&e.length>m||x(e||null)},[S,m,x]);return l(`div`,{className:`flex flex-col gap-1.5`,children:[d&&l(n,{htmlFor:g,children:[d,p&&c(`span`,{className:`text-danger-strong`,children:`*`})]}),l(`div`,{className:`relative`,children:[c(t,{id:g,name:v,type:`email`,value:y.value??``,"aria-invalid":C,autoComplete:`email`,placeholder:f,disabled:h||S,className:s(`pl-9`),onBlur:b,onChange:w}),c(`div`,{className:`pointer-events-none absolute inset-y-0 left-0 flex size-9 items-center justify-center text-muted`,children:c(i,{size:14})})]}),C&&c(r,{errors:y.meta.errors})]})};export{d as SimpleEmailField};
2
+ //# sourceMappingURL=simple-email-field-98w0846B.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-email-field-rZZIXu7S.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-email-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { AtSignIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n maxLength?: number;\n disabled?: boolean;\n};\n\nexport const SimpleEmailField: React.FC<Props> = ({ label, placeholder, required, maxLength, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLInputElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n if (maxLength && value.length > maxLength) return;\n handleChange(value || null);\n },\n [isSubmitting, maxLength, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <div className=\"relative\">\n <Input\n id={id}\n name={name}\n type=\"email\"\n value={state.value ?? ''}\n aria-invalid={_invalid}\n autoComplete=\"email\"\n placeholder={placeholder}\n disabled={disabled || isSubmitting}\n className={cn('pl-9')}\n onBlur={handleBlur}\n onChange={onChange}\n />\n <div className=\"pointer-events-none absolute inset-y-0 left-0 flex size-9 items-center justify-center text-muted\">\n <AtSignIcon size={14} />\n </div>\n </div>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"gaAwBA,MAAa,GAAqC,CAAE,QAAO,cAAa,WAAU,YAAW,cAAe,CAC1G,IAAM,EAAK,EAAM,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiB,EAAuC,EAEzF,EAAe,EAAS,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,EAAW,GACd,CAAE,OAAQ,CAAE,YAAc,CACrB,GACA,GAAa,EAAM,OAAS,GAChC,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,EAAW,CAAY,CACxC,EAEA,OACE,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAO,QAAS,WAAhB,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,IAET,EAAC,MAAD,CAAK,UAAU,oBAAf,CACE,EAAC,EAAD,CACM,KACE,OACN,KAAK,QACL,MAAO,EAAM,OAAS,GACtB,eAAc,EACd,aAAa,QACA,cACb,SAAU,GAAY,EACtB,UAAW,EAAG,MAAM,EACpB,OAAQ,EACE,UACX,CAAA,EACD,EAAC,MAAD,CAAK,UAAU,4GACb,EAAC,EAAD,CAAY,KAAM,EAAK,CAAA,CACpB,CAAA,CACF,IACJ,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
1
+ {"version":3,"file":"simple-email-field-98w0846B.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-email-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { AtSignIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n maxLength?: number;\n disabled?: boolean;\n};\n\nexport const SimpleEmailField: React.FC<Props> = ({ label, placeholder, required, maxLength, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLInputElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n if (maxLength && value.length > maxLength) return;\n handleChange(value || null);\n },\n [isSubmitting, maxLength, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <div className=\"relative\">\n <Input\n id={id}\n name={name}\n type=\"email\"\n value={state.value ?? ''}\n aria-invalid={_invalid}\n autoComplete=\"email\"\n placeholder={placeholder}\n disabled={disabled || isSubmitting}\n className={cn('pl-9')}\n onBlur={handleBlur}\n onChange={onChange}\n />\n <div className=\"pointer-events-none absolute inset-y-0 left-0 flex size-9 items-center justify-center text-muted\">\n <AtSignIcon size={14} />\n </div>\n </div>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"gaAwBA,MAAa,GAAqC,CAAE,QAAO,cAAa,WAAU,YAAW,cAAe,CAC1G,IAAM,EAAK,EAAM,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiB,EAAuC,EAEzF,EAAe,EAAS,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,EAAW,GACd,CAAE,OAAQ,CAAE,YAAc,CACrB,GACA,GAAa,EAAM,OAAS,GAChC,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,EAAW,CAAY,CACxC,EAEA,OACE,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAO,QAAS,WAAhB,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,IAET,EAAC,MAAD,CAAK,UAAU,oBAAf,CACE,EAAC,EAAD,CACM,KACE,OACN,KAAK,QACL,MAAO,EAAM,OAAS,GACtB,eAAc,EACd,aAAa,QACA,cACb,SAAU,GAAY,EACtB,UAAW,EAAG,MAAM,EACpB,OAAQ,EACE,UACX,CAAA,EACD,EAAC,MAAD,CAAK,UAAU,4GACb,EAAC,EAAD,CAAY,KAAM,EAAK,CAAA,CACpB,CAAA,CACF,IACJ,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
@@ -1,2 +1,2 @@
1
- const e=require("./ui/input.cjs"),t=require("./ui/label.cjs"),n=require("./tanstack-form-DS_ZvRl8.cjs"),r=require("./field-BV5twmKA.cjs");let i=require("lucide-react"),a=require("react"),o=require("@customafk/react-toolkit/utils"),s=require("react/jsx-runtime"),c=require("@tanstack/react-form");const l=({label:l,placeholder:u,required:d,maxLength:f,disabled:p})=>{let m=(0,a.useId)(),{form:h,name:g,state:_,handleBlur:v,handleChange:y}=n.G(),b=(0,c.useStore)(h.store,({isSubmitting:e})=>e),x=_.meta.isTouched&&!_.meta.isValid,S=(0,a.useCallback)(({target:{value:e}})=>{b||f&&e.length>f||y(e||null)},[b,f,y]);return(0,s.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[l&&(0,s.jsxs)(t.Label,{htmlFor:m,children:[l,d&&(0,s.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,s.jsxs)(`div`,{className:`relative`,children:[(0,s.jsx)(e.Input,{id:m,name:g,type:`email`,value:_.value??``,"aria-invalid":x,autoComplete:`email`,placeholder:u,disabled:p||b,className:(0,o.cn)(`pl-9`),onBlur:v,onChange:S}),(0,s.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 left-0 flex size-9 items-center justify-center text-muted`,children:(0,s.jsx)(i.AtSignIcon,{size:14})})]}),x&&(0,s.jsx)(r.FieldError,{errors:_.meta.errors})]})};exports.SimpleEmailField=l;
2
- //# sourceMappingURL=simple-email-field-QVUrm8f7.cjs.map
1
+ const e=require("./tanstack-form-CNrZQZhn.cjs"),t=require("./ui/input.cjs"),n=require("./ui/label.cjs"),r=require("./field-BV5twmKA.cjs");let i=require("lucide-react"),a=require("react"),o=require("@customafk/react-toolkit/utils"),s=require("react/jsx-runtime"),c=require("@tanstack/react-form");const l=({label:l,placeholder:u,required:d,maxLength:f,disabled:p})=>{let m=(0,a.useId)(),{form:h,name:g,state:_,handleBlur:v,handleChange:y}=e.G(),b=(0,c.useStore)(h.store,({isSubmitting:e})=>e),x=_.meta.isTouched&&!_.meta.isValid,S=(0,a.useCallback)(({target:{value:e}})=>{b||f&&e.length>f||y(e||null)},[b,f,y]);return(0,s.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[l&&(0,s.jsxs)(n.Label,{htmlFor:m,children:[l,d&&(0,s.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,s.jsxs)(`div`,{className:`relative`,children:[(0,s.jsx)(t.Input,{id:m,name:g,type:`email`,value:_.value??``,"aria-invalid":x,autoComplete:`email`,placeholder:u,disabled:p||b,className:(0,o.cn)(`pl-9`),onBlur:v,onChange:S}),(0,s.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 left-0 flex size-9 items-center justify-center text-muted`,children:(0,s.jsx)(i.AtSignIcon,{size:14})})]}),x&&(0,s.jsx)(r.FieldError,{errors:_.meta.errors})]})};exports.SimpleEmailField=l;
2
+ //# sourceMappingURL=simple-email-field-DYqCWprP.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-email-field-QVUrm8f7.cjs","names":["useTanStackFieldContext","Label","Input","AtSignIcon","FieldError"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-email-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { AtSignIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n maxLength?: number;\n disabled?: boolean;\n};\n\nexport const SimpleEmailField: React.FC<Props> = ({ label, placeholder, required, maxLength, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLInputElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n if (maxLength && value.length > maxLength) return;\n handleChange(value || null);\n },\n [isSubmitting, maxLength, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <div className=\"relative\">\n <Input\n id={id}\n name={name}\n type=\"email\"\n value={state.value ?? ''}\n aria-invalid={_invalid}\n autoComplete=\"email\"\n placeholder={placeholder}\n disabled={disabled || isSubmitting}\n className={cn('pl-9')}\n onBlur={handleBlur}\n onChange={onChange}\n />\n <div className=\"pointer-events-none absolute inset-y-0 left-0 flex size-9 items-center justify-center text-muted\">\n <AtSignIcon size={14} />\n </div>\n </div>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"wSAwBA,MAAa,GAAqC,CAAE,QAAO,cAAa,WAAU,YAAW,cAAe,CAC1G,IAAM,GAAA,EAAA,EAAA,MAAA,CAAW,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiBA,EAAAA,EAAuC,EAEzF,GAAA,EAAA,EAAA,SAAA,CAAwB,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,GAAA,EAAA,EAAA,YAAA,EACH,CAAE,OAAQ,CAAE,YAAc,CACrB,GACA,GAAa,EAAM,OAAS,GAChC,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,EAAW,CAAY,CACxC,EAEA,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,QAAS,WAAhB,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,KAET,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,oBAAf,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,MAAD,CACM,KACE,OACN,KAAK,QACL,MAAO,EAAM,OAAS,GACtB,eAAc,EACd,aAAa,QACA,cACb,SAAU,GAAY,EACtB,WAAA,EAAA,EAAA,GAAA,CAAc,MAAM,EACpB,OAAQ,EACE,UACX,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,6GACb,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,KAAM,EAAK,CAAA,CACpB,CAAA,CACF,IACJ,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
1
+ {"version":3,"file":"simple-email-field-DYqCWprP.cjs","names":["useTanStackFieldContext","Label","Input","AtSignIcon","FieldError"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-email-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { AtSignIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n maxLength?: number;\n disabled?: boolean;\n};\n\nexport const SimpleEmailField: React.FC<Props> = ({ label, placeholder, required, maxLength, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLInputElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n if (maxLength && value.length > maxLength) return;\n handleChange(value || null);\n },\n [isSubmitting, maxLength, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <div className=\"relative\">\n <Input\n id={id}\n name={name}\n type=\"email\"\n value={state.value ?? ''}\n aria-invalid={_invalid}\n autoComplete=\"email\"\n placeholder={placeholder}\n disabled={disabled || isSubmitting}\n className={cn('pl-9')}\n onBlur={handleBlur}\n onChange={onChange}\n />\n <div className=\"pointer-events-none absolute inset-y-0 left-0 flex size-9 items-center justify-center text-muted\">\n <AtSignIcon size={14} />\n </div>\n </div>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"wSAwBA,MAAa,GAAqC,CAAE,QAAO,cAAa,WAAU,YAAW,cAAe,CAC1G,IAAM,GAAA,EAAA,EAAA,MAAA,CAAW,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiBA,EAAAA,EAAuC,EAEzF,GAAA,EAAA,EAAA,SAAA,CAAwB,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,GAAA,EAAA,EAAA,YAAA,EACH,CAAE,OAAQ,CAAE,YAAc,CACrB,GACA,GAAa,EAAM,OAAS,GAChC,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,EAAW,CAAY,CACxC,EAEA,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,QAAS,WAAhB,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,KAET,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,oBAAf,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,MAAD,CACM,KACE,OACN,KAAK,QACL,MAAO,EAAM,OAAS,GACtB,eAAc,EACd,aAAa,QACA,cACb,SAAU,GAAY,EACtB,WAAA,EAAA,EAAA,GAAA,CAAc,MAAM,EACpB,OAAQ,EACE,UACX,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,6GACb,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,KAAM,EAAK,CAAA,CACpB,CAAA,CACF,IACJ,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
@@ -1,2 +1,2 @@
1
- const e=require("./ui/label.cjs"),t=require("./tanstack-form-DS_ZvRl8.cjs"),n=require("./field-BV5twmKA.cjs"),r=require("./number-input-kTh9zzr7.cjs");let i=require("react"),a=require("react/jsx-runtime"),o=require("@tanstack/react-form");const s=({label:s,placeholder:c,required:l,unit:u,allowNegative:d,disabled:f})=>{let p=(0,i.useId)(),{form:m,state:h,handleBlur:g,handleChange:_}=t.G(),v=(0,o.useStore)(m.store,({isSubmitting:e})=>e),y=h.meta.isTouched&&!h.meta.isValid,b=(0,i.useCallback)(e=>{v||_(e)},[v,_]);return(0,a.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[s&&(0,a.jsxs)(e.Label,{htmlFor:p,children:[s,l&&(0,a.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,a.jsx)(r.t,{id:p,value:h.value,placeholder:c,unitText:u,allowNegative:d,disabled:f||v,onBlur:g,onValueChange:b}),y&&(0,a.jsx)(n.FieldError,{errors:h.meta.errors})]})};exports.SimpleNumberField=s;
2
- //# sourceMappingURL=simple-number-field-P9PTwcs4.cjs.map
1
+ const e=require("./tanstack-form-CNrZQZhn.cjs"),t=require("./ui/label.cjs"),n=require("./field-BV5twmKA.cjs"),r=require("./number-input-kTh9zzr7.cjs");let i=require("react"),a=require("react/jsx-runtime"),o=require("@tanstack/react-form");const s=({label:s,placeholder:c,required:l,unit:u,allowNegative:d,disabled:f})=>{let p=(0,i.useId)(),{form:m,state:h,handleBlur:g,handleChange:_}=e.G(),v=(0,o.useStore)(m.store,({isSubmitting:e})=>e),y=h.meta.isTouched&&!h.meta.isValid,b=(0,i.useCallback)(e=>{v||_(e)},[v,_]);return(0,a.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[s&&(0,a.jsxs)(t.Label,{htmlFor:p,children:[s,l&&(0,a.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,a.jsx)(r.t,{id:p,value:h.value,placeholder:c,unitText:u,allowNegative:d,disabled:f||v,onBlur:g,onValueChange:b}),y&&(0,a.jsx)(n.FieldError,{errors:h.meta.errors})]})};exports.SimpleNumberField=s;
2
+ //# sourceMappingURL=simple-number-field-otvv2xq-.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-number-field-P9PTwcs4.cjs","names":["useTanStackFieldContext","Label","NumberInput","FieldError"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-number-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Label } from '@/components/ui/label';\nimport { NumberInput } from '@/components/ui/inputs/number-input';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n unit?: string;\n allowNegative?: boolean;\n disabled?: boolean;\n};\n\nexport const SimpleNumberField: React.FC<Props> = ({ label, placeholder, required, unit, allowNegative, disabled }) => {\n const id = useId();\n const { form, state, handleBlur, handleChange } = useTanStackFieldContext<number | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onValueChange = useCallback(\n (value: number | null) => {\n if (isSubmitting) return;\n handleChange(value);\n },\n [isSubmitting, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <NumberInput\n id={id}\n value={state.value}\n placeholder={placeholder}\n unitText={unit}\n allowNegative={allowNegative}\n disabled={disabled || isSubmitting}\n onBlur={handleBlur}\n onValueChange={onValueChange}\n />\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"+OAqBA,MAAa,GAAsC,CAAE,QAAO,cAAa,WAAU,OAAM,gBAAe,cAAe,CACrH,IAAM,GAAA,EAAA,EAAA,MAAA,CAAW,EACX,CAAE,OAAM,QAAO,aAAY,gBAAiBA,EAAAA,EAAuC,EAEnF,GAAA,EAAA,EAAA,SAAA,CAAwB,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,GAAA,EAAA,EAAA,YAAA,CACH,GAAyB,CACpB,GACJ,EAAa,CAAK,CACpB,EACA,CAAC,EAAc,CAAY,CAC7B,EAEA,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,QAAS,WAAhB,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,KAET,EAAA,EAAA,IAAA,CAACC,EAAAA,EAAD,CACM,KACJ,MAAO,EAAM,MACA,cACb,SAAU,EACK,gBACf,SAAU,GAAY,EACtB,OAAQ,EACO,eAChB,CAAA,EACA,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
1
+ {"version":3,"file":"simple-number-field-otvv2xq-.cjs","names":["useTanStackFieldContext","Label","NumberInput","FieldError"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-number-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Label } from '@/components/ui/label';\nimport { NumberInput } from '@/components/ui/inputs/number-input';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n unit?: string;\n allowNegative?: boolean;\n disabled?: boolean;\n};\n\nexport const SimpleNumberField: React.FC<Props> = ({ label, placeholder, required, unit, allowNegative, disabled }) => {\n const id = useId();\n const { form, state, handleBlur, handleChange } = useTanStackFieldContext<number | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onValueChange = useCallback(\n (value: number | null) => {\n if (isSubmitting) return;\n handleChange(value);\n },\n [isSubmitting, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <NumberInput\n id={id}\n value={state.value}\n placeholder={placeholder}\n unitText={unit}\n allowNegative={allowNegative}\n disabled={disabled || isSubmitting}\n onBlur={handleBlur}\n onValueChange={onValueChange}\n />\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"+OAqBA,MAAa,GAAsC,CAAE,QAAO,cAAa,WAAU,OAAM,gBAAe,cAAe,CACrH,IAAM,GAAA,EAAA,EAAA,MAAA,CAAW,EACX,CAAE,OAAM,QAAO,aAAY,gBAAiBA,EAAAA,EAAuC,EAEnF,GAAA,EAAA,EAAA,SAAA,CAAwB,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,GAAA,EAAA,EAAA,YAAA,CACH,GAAyB,CACpB,GACJ,EAAa,CAAK,CACpB,EACA,CAAC,EAAc,CAAY,CAC7B,EAEA,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,QAAS,WAAhB,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,KAET,EAAA,EAAA,IAAA,CAACC,EAAAA,EAAD,CACM,KACJ,MAAO,EAAM,MACA,cACb,SAAU,EACK,gBACf,SAAU,GAAY,EACtB,OAAQ,EACO,eAChB,CAAA,EACA,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
@@ -1,2 +1,2 @@
1
- import{Label as e}from"./ui/label.mjs";import{G as t}from"./tanstack-form-CM_Hb3JT.mjs";import{FieldError as n}from"./field-BKyUqvzh.mjs";import{t as r}from"./number-input-CqkegUWs.mjs";import{useCallback as i,useId as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";import{useStore as c}from"@tanstack/react-form";const l=({label:l,placeholder:u,required:d,unit:f,allowNegative:p,disabled:m})=>{let h=a(),{form:g,state:_,handleBlur:v,handleChange:y}=t(),b=c(g.store,({isSubmitting:e})=>e),x=_.meta.isTouched&&!_.meta.isValid,S=i(e=>{b||y(e)},[b,y]);return s(`div`,{className:`flex flex-col gap-1.5`,children:[l&&s(e,{htmlFor:h,children:[l,d&&o(`span`,{className:`text-danger-strong`,children:`*`})]}),o(r,{id:h,value:_.value,placeholder:u,unitText:f,allowNegative:p,disabled:m||b,onBlur:v,onValueChange:S}),x&&o(n,{errors:_.meta.errors})]})};export{l as SimpleNumberField};
2
- //# sourceMappingURL=simple-number-field-PJAyAOMO.mjs.map
1
+ import{G as e}from"./tanstack-form-PC9YNeeo.mjs";import{Label as t}from"./ui/label.mjs";import{FieldError as n}from"./field-BKyUqvzh.mjs";import{t as r}from"./number-input-CqkegUWs.mjs";import{useCallback as i,useId as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";import{useStore as c}from"@tanstack/react-form";const l=({label:l,placeholder:u,required:d,unit:f,allowNegative:p,disabled:m})=>{let h=a(),{form:g,state:_,handleBlur:v,handleChange:y}=e(),b=c(g.store,({isSubmitting:e})=>e),x=_.meta.isTouched&&!_.meta.isValid,S=i(e=>{b||y(e)},[b,y]);return s(`div`,{className:`flex flex-col gap-1.5`,children:[l&&s(t,{htmlFor:h,children:[l,d&&o(`span`,{className:`text-danger-strong`,children:`*`})]}),o(r,{id:h,value:_.value,placeholder:u,unitText:f,allowNegative:p,disabled:m||b,onBlur:v,onValueChange:S}),x&&o(n,{errors:_.meta.errors})]})};export{l as SimpleNumberField};
2
+ //# sourceMappingURL=simple-number-field-zF3oqS8d.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-number-field-PJAyAOMO.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-number-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Label } from '@/components/ui/label';\nimport { NumberInput } from '@/components/ui/inputs/number-input';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n unit?: string;\n allowNegative?: boolean;\n disabled?: boolean;\n};\n\nexport const SimpleNumberField: React.FC<Props> = ({ label, placeholder, required, unit, allowNegative, disabled }) => {\n const id = useId();\n const { form, state, handleBlur, handleChange } = useTanStackFieldContext<number | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onValueChange = useCallback(\n (value: number | null) => {\n if (isSubmitting) return;\n handleChange(value);\n },\n [isSubmitting, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <NumberInput\n id={id}\n value={state.value}\n placeholder={placeholder}\n unitText={unit}\n allowNegative={allowNegative}\n disabled={disabled || isSubmitting}\n onBlur={handleBlur}\n onValueChange={onValueChange}\n />\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"2UAqBA,MAAa,GAAsC,CAAE,QAAO,cAAa,WAAU,OAAM,gBAAe,cAAe,CACrH,IAAM,EAAK,EAAM,EACX,CAAE,OAAM,QAAO,aAAY,gBAAiB,EAAuC,EAEnF,EAAe,EAAS,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,EAAgB,EACnB,GAAyB,CACpB,GACJ,EAAa,CAAK,CACpB,EACA,CAAC,EAAc,CAAY,CAC7B,EAEA,OACE,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAO,QAAS,WAAhB,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,IAET,EAAC,EAAD,CACM,KACJ,MAAO,EAAM,MACA,cACb,SAAU,EACK,gBACf,SAAU,GAAY,EACtB,OAAQ,EACO,eAChB,CAAA,EACA,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
1
+ {"version":3,"file":"simple-number-field-zF3oqS8d.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-number-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Label } from '@/components/ui/label';\nimport { NumberInput } from '@/components/ui/inputs/number-input';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n unit?: string;\n allowNegative?: boolean;\n disabled?: boolean;\n};\n\nexport const SimpleNumberField: React.FC<Props> = ({ label, placeholder, required, unit, allowNegative, disabled }) => {\n const id = useId();\n const { form, state, handleBlur, handleChange } = useTanStackFieldContext<number | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onValueChange = useCallback(\n (value: number | null) => {\n if (isSubmitting) return;\n handleChange(value);\n },\n [isSubmitting, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <NumberInput\n id={id}\n value={state.value}\n placeholder={placeholder}\n unitText={unit}\n allowNegative={allowNegative}\n disabled={disabled || isSubmitting}\n onBlur={handleBlur}\n onValueChange={onValueChange}\n />\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"2UAqBA,MAAa,GAAsC,CAAE,QAAO,cAAa,WAAU,OAAM,gBAAe,cAAe,CACrH,IAAM,EAAK,EAAM,EACX,CAAE,OAAM,QAAO,aAAY,gBAAiB,EAAuC,EAEnF,EAAe,EAAS,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,EAAgB,EACnB,GAAyB,CACpB,GACJ,EAAa,CAAK,CACpB,EACA,CAAC,EAAc,CAAY,CAC7B,EAEA,OACE,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAO,QAAS,WAAhB,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,IAET,EAAC,EAAD,CACM,KACJ,MAAO,EAAM,MACA,cACb,SAAU,EACK,gBACf,SAAU,GAAY,EACtB,OAAQ,EACO,eAChB,CAAA,EACA,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
@@ -1,2 +1,2 @@
1
- import{Input as e}from"./ui/input.mjs";import{Label as t}from"./ui/label.mjs";import{G as n}from"./tanstack-form-CM_Hb3JT.mjs";import{FieldError as r}from"./field-BKyUqvzh.mjs";import{EyeIcon as i,EyeOffIcon as a}from"lucide-react";import{useCallback as o,useId as s,useState as c}from"react";import{jsx as l,jsxs as u}from"react/jsx-runtime";import{useStore as d}from"@tanstack/react-form";const f=({label:f,placeholder:p,required:m,disabled:h})=>{let g=s(),{form:_,name:v,state:y,handleBlur:b,handleChange:x}=n(),S=d(_.store,({isSubmitting:e})=>e),[C,w]=c(!1),T=y.meta.isTouched&&!y.meta.isValid,E=o(()=>w(e=>!e),[]),D=o(({target:{value:e}})=>{S||x(e||null)},[S,x]);return u(`div`,{className:`flex flex-col gap-1.5`,children:[f&&u(t,{htmlFor:g,children:[f,m&&l(`span`,{className:`text-danger-strong`,children:`*`})]}),u(`div`,{className:`relative`,children:[l(e,{id:g,name:v,type:C?`text`:`password`,value:y.value??``,"aria-invalid":T,autoComplete:`current-password`,placeholder:p,disabled:h||S,className:`pr-9`,onBlur:b,onChange:D}),l(`button`,{type:`button`,tabIndex:-1,"aria-label":C?`Ẩn mật khẩu`:`Hiện mật khẩu`,"aria-pressed":C,"aria-controls":g,className:`absolute inset-y-0 right-0 flex size-9 items-center justify-center text-muted outline-none transition-colors hover:text-text-positive focus-visible:text-text-positive disabled:pointer-events-none disabled:opacity-50`,disabled:h||S,onClick:E,children:l(C?a:i,{size:16,"aria-hidden":`true`})})]}),T&&l(r,{errors:y.meta.errors})]})};export{f as SimplePasswordField};
2
- //# sourceMappingURL=simple-password-field-BEuFXAsk.mjs.map
1
+ import{G as e}from"./tanstack-form-PC9YNeeo.mjs";import{Input as t}from"./ui/input.mjs";import{Label as n}from"./ui/label.mjs";import{FieldError as r}from"./field-BKyUqvzh.mjs";import{EyeIcon as i,EyeOffIcon as a}from"lucide-react";import{useCallback as o,useId as s,useState as c}from"react";import{jsx as l,jsxs as u}from"react/jsx-runtime";import{useStore as d}from"@tanstack/react-form";const f=({label:f,placeholder:p,required:m,disabled:h})=>{let g=s(),{form:_,name:v,state:y,handleBlur:b,handleChange:x}=e(),S=d(_.store,({isSubmitting:e})=>e),[C,w]=c(!1),T=y.meta.isTouched&&!y.meta.isValid,E=o(()=>w(e=>!e),[]),D=o(({target:{value:e}})=>{S||x(e||null)},[S,x]);return u(`div`,{className:`flex flex-col gap-1.5`,children:[f&&u(n,{htmlFor:g,children:[f,m&&l(`span`,{className:`text-danger-strong`,children:`*`})]}),u(`div`,{className:`relative`,children:[l(t,{id:g,name:v,type:C?`text`:`password`,value:y.value??``,"aria-invalid":T,autoComplete:`current-password`,placeholder:p,disabled:h||S,className:`pr-9`,onBlur:b,onChange:D}),l(`button`,{type:`button`,tabIndex:-1,"aria-label":C?`Ẩn mật khẩu`:`Hiện mật khẩu`,"aria-pressed":C,"aria-controls":g,className:`absolute inset-y-0 right-0 flex size-9 items-center justify-center text-muted outline-none transition-colors hover:text-text-positive focus-visible:text-text-positive disabled:pointer-events-none disabled:opacity-50`,disabled:h||S,onClick:E,children:l(C?a:i,{size:16,"aria-hidden":`true`})})]}),T&&l(r,{errors:y.meta.errors})]})};export{f as SimplePasswordField};
2
+ //# sourceMappingURL=simple-password-field-CuC10c70.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-password-field-BEuFXAsk.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-password-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId, useState } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { EyeIcon, EyeOffIcon } from 'lucide-react';\n\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n disabled?: boolean;\n};\n\nexport const SimplePasswordField: React.FC<Props> = ({ label, placeholder, required, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const [isVisible, setIsVisible] = useState(false);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const toggleVisibility = useCallback(() => setIsVisible(prev => !prev), []);\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLInputElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n handleChange(value || null);\n },\n [isSubmitting, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <div className=\"relative\">\n <Input\n id={id}\n name={name}\n type={isVisible ? 'text' : 'password'}\n value={state.value ?? ''}\n aria-invalid={_invalid}\n autoComplete=\"current-password\"\n placeholder={placeholder}\n disabled={disabled || isSubmitting}\n className=\"pr-9\"\n onBlur={handleBlur}\n onChange={onChange}\n />\n <button\n type=\"button\"\n tabIndex={-1}\n aria-label={isVisible ? 'Ẩn mật khẩu' : 'Hiện mật khẩu'}\n aria-pressed={isVisible}\n aria-controls={id}\n className=\"absolute inset-y-0 right-0 flex size-9 items-center justify-center text-muted outline-none transition-colors hover:text-text-positive focus-visible:text-text-positive disabled:pointer-events-none disabled:opacity-50\"\n disabled={disabled || isSubmitting}\n onClick={toggleVisibility}\n >\n {isVisible ? <EyeOffIcon size={16} aria-hidden=\"true\" /> : <EyeIcon size={16} aria-hidden=\"true\" />}\n </button>\n </div>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"uYAqBA,MAAa,GAAwC,CAAE,QAAO,cAAa,WAAU,cAAe,CAClG,IAAM,EAAK,EAAM,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiB,EAAuC,EAEzF,EAAe,EAAS,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,CAAC,EAAW,GAAgB,EAAS,EAAK,EAE1C,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,EAAmB,MAAkB,EAAa,GAAQ,CAAC,CAAI,EAAG,CAAC,CAAC,EAEpE,EAAW,GACd,CAAE,OAAQ,CAAE,YAAc,CACrB,GACJ,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,CAAY,CAC7B,EAEA,OACE,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAO,QAAS,WAAhB,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,IAET,EAAC,MAAD,CAAK,UAAU,oBAAf,CACE,EAAC,EAAD,CACM,KACE,OACN,KAAM,EAAY,OAAS,WAC3B,MAAO,EAAM,OAAS,GACtB,eAAc,EACd,aAAa,mBACA,cACb,SAAU,GAAY,EACtB,UAAU,OACV,OAAQ,EACE,UACX,CAAA,EACD,EAAC,SAAD,CACE,KAAK,SACL,SAAU,GACV,aAAY,EAAY,cAAgB,gBACxC,eAAc,EACd,gBAAe,EACf,UAAU,0NACV,SAAU,GAAY,EACtB,QAAS,WAEI,EAAZ,EAAa,EAA8C,EAA/C,CAAY,KAAM,GAAI,cAAY,MAAQ,CAA2C,CAC5F,CAAA,CACL,IACJ,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
1
+ {"version":3,"file":"simple-password-field-CuC10c70.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-password-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId, useState } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { EyeIcon, EyeOffIcon } from 'lucide-react';\n\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n disabled?: boolean;\n};\n\nexport const SimplePasswordField: React.FC<Props> = ({ label, placeholder, required, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const [isVisible, setIsVisible] = useState(false);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const toggleVisibility = useCallback(() => setIsVisible(prev => !prev), []);\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLInputElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n handleChange(value || null);\n },\n [isSubmitting, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <div className=\"relative\">\n <Input\n id={id}\n name={name}\n type={isVisible ? 'text' : 'password'}\n value={state.value ?? ''}\n aria-invalid={_invalid}\n autoComplete=\"current-password\"\n placeholder={placeholder}\n disabled={disabled || isSubmitting}\n className=\"pr-9\"\n onBlur={handleBlur}\n onChange={onChange}\n />\n <button\n type=\"button\"\n tabIndex={-1}\n aria-label={isVisible ? 'Ẩn mật khẩu' : 'Hiện mật khẩu'}\n aria-pressed={isVisible}\n aria-controls={id}\n className=\"absolute inset-y-0 right-0 flex size-9 items-center justify-center text-muted outline-none transition-colors hover:text-text-positive focus-visible:text-text-positive disabled:pointer-events-none disabled:opacity-50\"\n disabled={disabled || isSubmitting}\n onClick={toggleVisibility}\n >\n {isVisible ? <EyeOffIcon size={16} aria-hidden=\"true\" /> : <EyeIcon size={16} aria-hidden=\"true\" />}\n </button>\n </div>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"uYAqBA,MAAa,GAAwC,CAAE,QAAO,cAAa,WAAU,cAAe,CAClG,IAAM,EAAK,EAAM,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiB,EAAuC,EAEzF,EAAe,EAAS,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,CAAC,EAAW,GAAgB,EAAS,EAAK,EAE1C,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,EAAmB,MAAkB,EAAa,GAAQ,CAAC,CAAI,EAAG,CAAC,CAAC,EAEpE,EAAW,GACd,CAAE,OAAQ,CAAE,YAAc,CACrB,GACJ,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,CAAY,CAC7B,EAEA,OACE,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAO,QAAS,WAAhB,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,IAET,EAAC,MAAD,CAAK,UAAU,oBAAf,CACE,EAAC,EAAD,CACM,KACE,OACN,KAAM,EAAY,OAAS,WAC3B,MAAO,EAAM,OAAS,GACtB,eAAc,EACd,aAAa,mBACA,cACb,SAAU,GAAY,EACtB,UAAU,OACV,OAAQ,EACE,UACX,CAAA,EACD,EAAC,SAAD,CACE,KAAK,SACL,SAAU,GACV,aAAY,EAAY,cAAgB,gBACxC,eAAc,EACd,gBAAe,EACf,UAAU,0NACV,SAAU,GAAY,EACtB,QAAS,WAEI,EAAZ,EAAa,EAA8C,EAA/C,CAAY,KAAM,GAAI,cAAY,MAAQ,CAA2C,CAC5F,CAAA,CACL,IACJ,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
@@ -1,2 +1,2 @@
1
- const e=require("./ui/input.cjs"),t=require("./ui/label.cjs"),n=require("./tanstack-form-DS_ZvRl8.cjs"),r=require("./field-BV5twmKA.cjs");let i=require("lucide-react"),a=require("react"),o=require("react/jsx-runtime"),s=require("@tanstack/react-form");const c=({label:c,placeholder:l,required:u,disabled:d})=>{let f=(0,a.useId)(),{form:p,name:m,state:h,handleBlur:g,handleChange:_}=n.G(),v=(0,s.useStore)(p.store,({isSubmitting:e})=>e),[y,b]=(0,a.useState)(!1),x=h.meta.isTouched&&!h.meta.isValid,S=(0,a.useCallback)(()=>b(e=>!e),[]),C=(0,a.useCallback)(({target:{value:e}})=>{v||_(e||null)},[v,_]);return(0,o.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[c&&(0,o.jsxs)(t.Label,{htmlFor:f,children:[c,u&&(0,o.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,o.jsxs)(`div`,{className:`relative`,children:[(0,o.jsx)(e.Input,{id:f,name:m,type:y?`text`:`password`,value:h.value??``,"aria-invalid":x,autoComplete:`current-password`,placeholder:l,disabled:d||v,className:`pr-9`,onBlur:g,onChange:C}),(0,o.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-label":y?`Ẩn mật khẩu`:`Hiện mật khẩu`,"aria-pressed":y,"aria-controls":f,className:`absolute inset-y-0 right-0 flex size-9 items-center justify-center text-muted outline-none transition-colors hover:text-text-positive focus-visible:text-text-positive disabled:pointer-events-none disabled:opacity-50`,disabled:d||v,onClick:S,children:y?(0,o.jsx)(i.EyeOffIcon,{size:16,"aria-hidden":`true`}):(0,o.jsx)(i.EyeIcon,{size:16,"aria-hidden":`true`})})]}),x&&(0,o.jsx)(r.FieldError,{errors:h.meta.errors})]})};exports.SimplePasswordField=c;
2
- //# sourceMappingURL=simple-password-field-BW6YkfSP.cjs.map
1
+ const e=require("./tanstack-form-CNrZQZhn.cjs"),t=require("./ui/input.cjs"),n=require("./ui/label.cjs"),r=require("./field-BV5twmKA.cjs");let i=require("lucide-react"),a=require("react"),o=require("react/jsx-runtime"),s=require("@tanstack/react-form");const c=({label:c,placeholder:l,required:u,disabled:d})=>{let f=(0,a.useId)(),{form:p,name:m,state:h,handleBlur:g,handleChange:_}=e.G(),v=(0,s.useStore)(p.store,({isSubmitting:e})=>e),[y,b]=(0,a.useState)(!1),x=h.meta.isTouched&&!h.meta.isValid,S=(0,a.useCallback)(()=>b(e=>!e),[]),C=(0,a.useCallback)(({target:{value:e}})=>{v||_(e||null)},[v,_]);return(0,o.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[c&&(0,o.jsxs)(n.Label,{htmlFor:f,children:[c,u&&(0,o.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,o.jsxs)(`div`,{className:`relative`,children:[(0,o.jsx)(t.Input,{id:f,name:m,type:y?`text`:`password`,value:h.value??``,"aria-invalid":x,autoComplete:`current-password`,placeholder:l,disabled:d||v,className:`pr-9`,onBlur:g,onChange:C}),(0,o.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-label":y?`Ẩn mật khẩu`:`Hiện mật khẩu`,"aria-pressed":y,"aria-controls":f,className:`absolute inset-y-0 right-0 flex size-9 items-center justify-center text-muted outline-none transition-colors hover:text-text-positive focus-visible:text-text-positive disabled:pointer-events-none disabled:opacity-50`,disabled:d||v,onClick:S,children:y?(0,o.jsx)(i.EyeOffIcon,{size:16,"aria-hidden":`true`}):(0,o.jsx)(i.EyeIcon,{size:16,"aria-hidden":`true`})})]}),x&&(0,o.jsx)(r.FieldError,{errors:h.meta.errors})]})};exports.SimplePasswordField=c;
2
+ //# sourceMappingURL=simple-password-field-D2UMmghM.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-password-field-BW6YkfSP.cjs","names":["useTanStackFieldContext","Label","Input","EyeOffIcon","EyeIcon","FieldError"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-password-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId, useState } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { EyeIcon, EyeOffIcon } from 'lucide-react';\n\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n disabled?: boolean;\n};\n\nexport const SimplePasswordField: React.FC<Props> = ({ label, placeholder, required, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const [isVisible, setIsVisible] = useState(false);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const toggleVisibility = useCallback(() => setIsVisible(prev => !prev), []);\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLInputElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n handleChange(value || null);\n },\n [isSubmitting, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <div className=\"relative\">\n <Input\n id={id}\n name={name}\n type={isVisible ? 'text' : 'password'}\n value={state.value ?? ''}\n aria-invalid={_invalid}\n autoComplete=\"current-password\"\n placeholder={placeholder}\n disabled={disabled || isSubmitting}\n className=\"pr-9\"\n onBlur={handleBlur}\n onChange={onChange}\n />\n <button\n type=\"button\"\n tabIndex={-1}\n aria-label={isVisible ? 'Ẩn mật khẩu' : 'Hiện mật khẩu'}\n aria-pressed={isVisible}\n aria-controls={id}\n className=\"absolute inset-y-0 right-0 flex size-9 items-center justify-center text-muted outline-none transition-colors hover:text-text-positive focus-visible:text-text-positive disabled:pointer-events-none disabled:opacity-50\"\n disabled={disabled || isSubmitting}\n onClick={toggleVisibility}\n >\n {isVisible ? <EyeOffIcon size={16} aria-hidden=\"true\" /> : <EyeIcon size={16} aria-hidden=\"true\" />}\n </button>\n </div>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"4PAqBA,MAAa,GAAwC,CAAE,QAAO,cAAa,WAAU,cAAe,CAClG,IAAM,GAAA,EAAA,EAAA,MAAA,CAAW,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiBA,EAAAA,EAAuC,EAEzF,GAAA,EAAA,EAAA,SAAA,CAAwB,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,CAAC,EAAW,IAAA,EAAA,EAAA,SAAA,CAAyB,EAAK,EAE1C,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,GAAA,EAAA,EAAA,YAAA,KAAqC,EAAa,GAAQ,CAAC,CAAI,EAAG,CAAC,CAAC,EAEpE,GAAA,EAAA,EAAA,YAAA,EACH,CAAE,OAAQ,CAAE,YAAc,CACrB,GACJ,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,CAAY,CAC7B,EAEA,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,QAAS,WAAhB,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,KAET,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,oBAAf,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,MAAD,CACM,KACE,OACN,KAAM,EAAY,OAAS,WAC3B,MAAO,EAAM,OAAS,GACtB,eAAc,EACd,aAAa,mBACA,cACb,SAAU,GAAY,EACtB,UAAU,OACV,OAAQ,EACE,UACX,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,SAAD,CACE,KAAK,SACL,SAAU,GACV,aAAY,EAAY,cAAgB,gBACxC,eAAc,EACd,gBAAe,EACf,UAAU,0NACV,SAAU,GAAY,EACtB,QAAS,WAER,GAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,KAAM,GAAI,cAAY,MAAQ,CAAA,GAAI,EAAA,EAAA,IAAA,CAACC,EAAAA,QAAD,CAAS,KAAM,GAAI,cAAY,MAAQ,CAAA,CAC5F,CAAA,CACL,IACJ,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
1
+ {"version":3,"file":"simple-password-field-D2UMmghM.cjs","names":["useTanStackFieldContext","Label","Input","EyeOffIcon","EyeIcon","FieldError"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-password-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId, useState } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { EyeIcon, EyeOffIcon } from 'lucide-react';\n\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n disabled?: boolean;\n};\n\nexport const SimplePasswordField: React.FC<Props> = ({ label, placeholder, required, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const [isVisible, setIsVisible] = useState(false);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const toggleVisibility = useCallback(() => setIsVisible(prev => !prev), []);\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLInputElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n handleChange(value || null);\n },\n [isSubmitting, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <div className=\"relative\">\n <Input\n id={id}\n name={name}\n type={isVisible ? 'text' : 'password'}\n value={state.value ?? ''}\n aria-invalid={_invalid}\n autoComplete=\"current-password\"\n placeholder={placeholder}\n disabled={disabled || isSubmitting}\n className=\"pr-9\"\n onBlur={handleBlur}\n onChange={onChange}\n />\n <button\n type=\"button\"\n tabIndex={-1}\n aria-label={isVisible ? 'Ẩn mật khẩu' : 'Hiện mật khẩu'}\n aria-pressed={isVisible}\n aria-controls={id}\n className=\"absolute inset-y-0 right-0 flex size-9 items-center justify-center text-muted outline-none transition-colors hover:text-text-positive focus-visible:text-text-positive disabled:pointer-events-none disabled:opacity-50\"\n disabled={disabled || isSubmitting}\n onClick={toggleVisibility}\n >\n {isVisible ? <EyeOffIcon size={16} aria-hidden=\"true\" /> : <EyeIcon size={16} aria-hidden=\"true\" />}\n </button>\n </div>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"4PAqBA,MAAa,GAAwC,CAAE,QAAO,cAAa,WAAU,cAAe,CAClG,IAAM,GAAA,EAAA,EAAA,MAAA,CAAW,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiBA,EAAAA,EAAuC,EAEzF,GAAA,EAAA,EAAA,SAAA,CAAwB,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,CAAC,EAAW,IAAA,EAAA,EAAA,SAAA,CAAyB,EAAK,EAE1C,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,GAAA,EAAA,EAAA,YAAA,KAAqC,EAAa,GAAQ,CAAC,CAAI,EAAG,CAAC,CAAC,EAEpE,GAAA,EAAA,EAAA,YAAA,EACH,CAAE,OAAQ,CAAE,YAAc,CACrB,GACJ,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,CAAY,CAC7B,EAEA,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,QAAS,WAAhB,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,KAET,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,oBAAf,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,MAAD,CACM,KACE,OACN,KAAM,EAAY,OAAS,WAC3B,MAAO,EAAM,OAAS,GACtB,eAAc,EACd,aAAa,mBACA,cACb,SAAU,GAAY,EACtB,UAAU,OACV,OAAQ,EACE,UACX,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,SAAD,CACE,KAAK,SACL,SAAU,GACV,aAAY,EAAY,cAAgB,gBACxC,eAAc,EACd,gBAAe,EACf,UAAU,0NACV,SAAU,GAAY,EACtB,QAAS,WAER,GAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,KAAM,GAAI,cAAY,MAAQ,CAAA,GAAI,EAAA,EAAA,IAAA,CAACC,EAAAA,QAAD,CAAS,KAAM,GAAI,cAAY,MAAQ,CAAA,CAC5F,CAAA,CACL,IACJ,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
@@ -1,2 +1,2 @@
1
- const e=require("./ui/label.cjs"),t=require("./tanstack-form-DS_ZvRl8.cjs"),n=require("./ui/radio-group.cjs"),r=require("./field-BV5twmKA.cjs");let i=require("react/jsx-runtime"),a=require("@tanstack/react-form");const o=({label:o,required:s,disabled:c,options:l,orientation:u=`vertical`})=>{let{form:d,name:f,state:p,handleBlur:m,handleChange:h}=t.G(),g=(0,a.useStore)(d.store,({isSubmitting:e})=>e),_=p.meta.isTouched&&!p.meta.isValid,v=c||g;return(0,i.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[o&&(0,i.jsxs)(e.Label,{children:[o,s&&(0,i.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,i.jsx)(n.RadioGroup,{name:f,value:p.value??``,disabled:v,"aria-invalid":_,className:u===`horizontal`?`flex flex-row flex-wrap gap-x-4 gap-y-2`:`flex flex-col gap-2`,onValueChange:h,onBlur:m,children:l.map(t=>(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,i.jsx)(n.RadioGroupItem,{id:`${f}-${t.value}`,value:t.value}),(0,i.jsx)(e.Label,{htmlFor:`${f}-${t.value}`,className:`cursor-pointer font-normal`,children:t.label})]},t.value))}),_&&(0,i.jsx)(r.FieldError,{errors:p.meta.errors})]})};exports.SimpleRadioGroupField=o;
2
- //# sourceMappingURL=simple-radio-group-field-BtQHJpOz.cjs.map
1
+ const e=require("./tanstack-form-CNrZQZhn.cjs"),t=require("./ui/label.cjs"),n=require("./ui/radio-group.cjs"),r=require("./field-BV5twmKA.cjs");let i=require("react/jsx-runtime"),a=require("@tanstack/react-form");const o=({label:o,required:s,disabled:c,options:l,orientation:u=`vertical`})=>{let{form:d,name:f,state:p,handleBlur:m,handleChange:h}=e.G(),g=(0,a.useStore)(d.store,({isSubmitting:e})=>e),_=p.meta.isTouched&&!p.meta.isValid,v=c||g;return(0,i.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[o&&(0,i.jsxs)(t.Label,{children:[o,s&&(0,i.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,i.jsx)(n.RadioGroup,{name:f,value:p.value??``,disabled:v,"aria-invalid":_,className:u===`horizontal`?`flex flex-row flex-wrap gap-x-4 gap-y-2`:`flex flex-col gap-2`,onValueChange:h,onBlur:m,children:l.map(e=>(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,i.jsx)(n.RadioGroupItem,{id:`${f}-${e.value}`,value:e.value}),(0,i.jsx)(t.Label,{htmlFor:`${f}-${e.value}`,className:`cursor-pointer font-normal`,children:e.label})]},e.value))}),_&&(0,i.jsx)(r.FieldError,{errors:p.meta.errors})]})};exports.SimpleRadioGroupField=o;
2
+ //# sourceMappingURL=simple-radio-group-field-C2DDfIUs.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-radio-group-field-BtQHJpOz.cjs","names":["useTanStackFieldContext","Label","RadioGroup","RadioGroupItem","FieldError"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-radio-group-field.tsx"],"sourcesContent":["'use client';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Label } from '@/components/ui/label';\nimport { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n required?: boolean;\n disabled?: boolean;\n options: Array<{ value: string; label: string }>;\n orientation?: 'horizontal' | 'vertical';\n};\n\nexport const SimpleRadioGroupField: React.FC<Props> = ({ label, required, disabled, options, orientation = 'vertical' }) => {\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n const isDisabled = disabled || isSubmitting;\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <RadioGroup\n name={name}\n value={state.value ?? ''}\n disabled={isDisabled}\n aria-invalid={_invalid}\n className={orientation === 'horizontal' ? 'flex flex-row flex-wrap gap-x-4 gap-y-2' : 'flex flex-col gap-2'}\n onValueChange={handleChange}\n onBlur={handleBlur}\n >\n {options.map(option => (\n <div key={option.value} className=\"flex items-center gap-2\">\n <RadioGroupItem id={`${name}-${option.value}`} value={option.value} />\n <Label htmlFor={`${name}-${option.value}`} className=\"cursor-pointer font-normal\">\n {option.label}\n </Label>\n </div>\n ))}\n </RadioGroup>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"qNAkBA,MAAa,GAA0C,CAAE,QAAO,WAAU,WAAU,UAAS,cAAc,cAAiB,CAC1H,GAAM,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiBA,EAAAA,EAAuC,EAEzF,GAAA,EAAA,EAAA,SAAA,CAAwB,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAC/C,EAAa,GAAY,EAE/B,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAA,SAAA,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,CAAA,CAAA,GAET,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CACQ,OACN,MAAO,EAAM,OAAS,GACtB,SAAU,EACV,eAAc,EACd,UAAW,IAAgB,aAAe,0CAA4C,sBACtF,cAAe,EACf,OAAQ,WAEP,EAAQ,IAAI,IACX,EAAA,EAAA,KAAA,CAAC,MAAD,CAAwB,UAAU,mCAAlC,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CAAgB,GAAI,GAAG,EAAK,GAAG,EAAO,QAAS,MAAO,EAAO,KAAQ,CAAA,GACrE,EAAA,EAAA,IAAA,CAACF,EAAAA,MAAD,CAAO,QAAS,GAAG,EAAK,GAAG,EAAO,QAAS,UAAU,sCAClD,EAAO,KACH,CAAA,CACJ,GALK,EAAO,KAKZ,CACN,CACS,CAAA,EACX,IAAY,EAAA,EAAA,IAAA,CAACG,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
1
+ {"version":3,"file":"simple-radio-group-field-C2DDfIUs.cjs","names":["useTanStackFieldContext","Label","RadioGroup","RadioGroupItem","FieldError"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-radio-group-field.tsx"],"sourcesContent":["'use client';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Label } from '@/components/ui/label';\nimport { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n required?: boolean;\n disabled?: boolean;\n options: Array<{ value: string; label: string }>;\n orientation?: 'horizontal' | 'vertical';\n};\n\nexport const SimpleRadioGroupField: React.FC<Props> = ({ label, required, disabled, options, orientation = 'vertical' }) => {\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n const isDisabled = disabled || isSubmitting;\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <RadioGroup\n name={name}\n value={state.value ?? ''}\n disabled={isDisabled}\n aria-invalid={_invalid}\n className={orientation === 'horizontal' ? 'flex flex-row flex-wrap gap-x-4 gap-y-2' : 'flex flex-col gap-2'}\n onValueChange={handleChange}\n onBlur={handleBlur}\n >\n {options.map(option => (\n <div key={option.value} className=\"flex items-center gap-2\">\n <RadioGroupItem id={`${name}-${option.value}`} value={option.value} />\n <Label htmlFor={`${name}-${option.value}`} className=\"cursor-pointer font-normal\">\n {option.label}\n </Label>\n </div>\n ))}\n </RadioGroup>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"qNAkBA,MAAa,GAA0C,CAAE,QAAO,WAAU,WAAU,UAAS,cAAc,cAAiB,CAC1H,GAAM,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiBA,EAAAA,EAAuC,EAEzF,GAAA,EAAA,EAAA,SAAA,CAAwB,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAC/C,EAAa,GAAY,EAE/B,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAA,SAAA,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,CAAA,CAAA,GAET,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CACQ,OACN,MAAO,EAAM,OAAS,GACtB,SAAU,EACV,eAAc,EACd,UAAW,IAAgB,aAAe,0CAA4C,sBACtF,cAAe,EACf,OAAQ,WAEP,EAAQ,IAAI,IACX,EAAA,EAAA,KAAA,CAAC,MAAD,CAAwB,UAAU,mCAAlC,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CAAgB,GAAI,GAAG,EAAK,GAAG,EAAO,QAAS,MAAO,EAAO,KAAQ,CAAA,GACrE,EAAA,EAAA,IAAA,CAACF,EAAAA,MAAD,CAAO,QAAS,GAAG,EAAK,GAAG,EAAO,QAAS,UAAU,sCAClD,EAAO,KACH,CAAA,CACJ,GALK,EAAO,KAKZ,CACN,CACS,CAAA,EACX,IAAY,EAAA,EAAA,IAAA,CAACG,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
@@ -1,2 +1,2 @@
1
- import{Label as e}from"./ui/label.mjs";import{G as t}from"./tanstack-form-CM_Hb3JT.mjs";import{RadioGroup as n,RadioGroupItem as r}from"./ui/radio-group.mjs";import{FieldError as i}from"./field-BKyUqvzh.mjs";import{jsx as a,jsxs as o}from"react/jsx-runtime";import{useStore as s}from"@tanstack/react-form";const c=({label:c,required:l,disabled:u,options:d,orientation:f=`vertical`})=>{let{form:p,name:m,state:h,handleBlur:g,handleChange:_}=t(),v=s(p.store,({isSubmitting:e})=>e),y=h.meta.isTouched&&!h.meta.isValid,b=u||v;return o(`div`,{className:`flex flex-col gap-1.5`,children:[c&&o(e,{children:[c,l&&a(`span`,{className:`text-danger-strong`,children:`*`})]}),a(n,{name:m,value:h.value??``,disabled:b,"aria-invalid":y,className:f===`horizontal`?`flex flex-row flex-wrap gap-x-4 gap-y-2`:`flex flex-col gap-2`,onValueChange:_,onBlur:g,children:d.map(t=>o(`div`,{className:`flex items-center gap-2`,children:[a(r,{id:`${m}-${t.value}`,value:t.value}),a(e,{htmlFor:`${m}-${t.value}`,className:`cursor-pointer font-normal`,children:t.label})]},t.value))}),y&&a(i,{errors:h.meta.errors})]})};export{c as SimpleRadioGroupField};
2
- //# sourceMappingURL=simple-radio-group-field-DiYQfgts.mjs.map
1
+ import{G as e}from"./tanstack-form-PC9YNeeo.mjs";import{Label as t}from"./ui/label.mjs";import{RadioGroup as n,RadioGroupItem as r}from"./ui/radio-group.mjs";import{FieldError as i}from"./field-BKyUqvzh.mjs";import{jsx as a,jsxs as o}from"react/jsx-runtime";import{useStore as s}from"@tanstack/react-form";const c=({label:c,required:l,disabled:u,options:d,orientation:f=`vertical`})=>{let{form:p,name:m,state:h,handleBlur:g,handleChange:_}=e(),v=s(p.store,({isSubmitting:e})=>e),y=h.meta.isTouched&&!h.meta.isValid,b=u||v;return o(`div`,{className:`flex flex-col gap-1.5`,children:[c&&o(t,{children:[c,l&&a(`span`,{className:`text-danger-strong`,children:`*`})]}),a(n,{name:m,value:h.value??``,disabled:b,"aria-invalid":y,className:f===`horizontal`?`flex flex-row flex-wrap gap-x-4 gap-y-2`:`flex flex-col gap-2`,onValueChange:_,onBlur:g,children:d.map(e=>o(`div`,{className:`flex items-center gap-2`,children:[a(r,{id:`${m}-${e.value}`,value:e.value}),a(t,{htmlFor:`${m}-${e.value}`,className:`cursor-pointer font-normal`,children:e.label})]},e.value))}),y&&a(i,{errors:h.meta.errors})]})};export{c as SimpleRadioGroupField};
2
+ //# sourceMappingURL=simple-radio-group-field-CfziNlLf.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-radio-group-field-DiYQfgts.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-radio-group-field.tsx"],"sourcesContent":["'use client';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Label } from '@/components/ui/label';\nimport { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n required?: boolean;\n disabled?: boolean;\n options: Array<{ value: string; label: string }>;\n orientation?: 'horizontal' | 'vertical';\n};\n\nexport const SimpleRadioGroupField: React.FC<Props> = ({ label, required, disabled, options, orientation = 'vertical' }) => {\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n const isDisabled = disabled || isSubmitting;\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <RadioGroup\n name={name}\n value={state.value ?? ''}\n disabled={isDisabled}\n aria-invalid={_invalid}\n className={orientation === 'horizontal' ? 'flex flex-row flex-wrap gap-x-4 gap-y-2' : 'flex flex-col gap-2'}\n onValueChange={handleChange}\n onBlur={handleBlur}\n >\n {options.map(option => (\n <div key={option.value} className=\"flex items-center gap-2\">\n <RadioGroupItem id={`${name}-${option.value}`} value={option.value} />\n <Label htmlFor={`${name}-${option.value}`} className=\"cursor-pointer font-normal\">\n {option.label}\n </Label>\n </div>\n ))}\n </RadioGroup>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"kTAkBA,MAAa,GAA0C,CAAE,QAAO,WAAU,WAAU,UAAS,cAAc,cAAiB,CAC1H,GAAM,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiB,EAAuC,EAEzF,EAAe,EAAS,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAC/C,EAAa,GAAY,EAE/B,OACE,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAA,SAAA,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,CAAA,CAAA,EAET,EAAC,EAAD,CACQ,OACN,MAAO,EAAM,OAAS,GACtB,SAAU,EACV,eAAc,EACd,UAAW,IAAgB,aAAe,0CAA4C,sBACtF,cAAe,EACf,OAAQ,WAEP,EAAQ,IAAI,GACX,EAAC,MAAD,CAAwB,UAAU,mCAAlC,CACE,EAAC,EAAD,CAAgB,GAAI,GAAG,EAAK,GAAG,EAAO,QAAS,MAAO,EAAO,KAAQ,CAAA,EACrE,EAAC,EAAD,CAAO,QAAS,GAAG,EAAK,GAAG,EAAO,QAAS,UAAU,sCAClD,EAAO,KACH,CAAA,CACJ,GALK,EAAO,KAKZ,CACN,CACS,CAAA,EACX,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
1
+ {"version":3,"file":"simple-radio-group-field-CfziNlLf.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-radio-group-field.tsx"],"sourcesContent":["'use client';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Label } from '@/components/ui/label';\nimport { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n required?: boolean;\n disabled?: boolean;\n options: Array<{ value: string; label: string }>;\n orientation?: 'horizontal' | 'vertical';\n};\n\nexport const SimpleRadioGroupField: React.FC<Props> = ({ label, required, disabled, options, orientation = 'vertical' }) => {\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n const isDisabled = disabled || isSubmitting;\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <RadioGroup\n name={name}\n value={state.value ?? ''}\n disabled={isDisabled}\n aria-invalid={_invalid}\n className={orientation === 'horizontal' ? 'flex flex-row flex-wrap gap-x-4 gap-y-2' : 'flex flex-col gap-2'}\n onValueChange={handleChange}\n onBlur={handleBlur}\n >\n {options.map(option => (\n <div key={option.value} className=\"flex items-center gap-2\">\n <RadioGroupItem id={`${name}-${option.value}`} value={option.value} />\n <Label htmlFor={`${name}-${option.value}`} className=\"cursor-pointer font-normal\">\n {option.label}\n </Label>\n </div>\n ))}\n </RadioGroup>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"kTAkBA,MAAa,GAA0C,CAAE,QAAO,WAAU,WAAU,UAAS,cAAc,cAAiB,CAC1H,GAAM,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiB,EAAuC,EAEzF,EAAe,EAAS,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAC/C,EAAa,GAAY,EAE/B,OACE,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAA,SAAA,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,CAAA,CAAA,EAET,EAAC,EAAD,CACQ,OACN,MAAO,EAAM,OAAS,GACtB,SAAU,EACV,eAAc,EACd,UAAW,IAAgB,aAAe,0CAA4C,sBACtF,cAAe,EACf,OAAQ,WAEP,EAAQ,IAAI,GACX,EAAC,MAAD,CAAwB,UAAU,mCAAlC,CACE,EAAC,EAAD,CAAgB,GAAI,GAAG,EAAK,GAAG,EAAO,QAAS,MAAO,EAAO,KAAQ,CAAA,EACrE,EAAC,EAAD,CAAO,QAAS,GAAG,EAAK,GAAG,EAAO,QAAS,UAAU,sCAClD,EAAO,KACH,CAAA,CACJ,GALK,EAAO,KAKZ,CACN,CACS,CAAA,EACX,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
@@ -1,2 +1,2 @@
1
- const e=require("./ui/button.cjs"),t=require("./ui/label.cjs"),n=require("./ui/select.cjs"),r=require("./tanstack-form-DS_ZvRl8.cjs"),i=require("./ui/drawer.cjs"),a=require("./field-BV5twmKA.cjs");let o=require("lucide-react"),s=require("react"),c=require("@customafk/react-toolkit/utils"),l=require("react/jsx-runtime"),u=require("@customafk/react-toolkit/hooks/useMobile");const d=({label:d,placeholder:f,required:p,options:m})=>{let h=(0,s.useId)(),{state:g,handleBlur:_,handleChange:v}=r.G(),y=(0,u.useIsMobile)(),[b,x]=(0,s.useState)(!1),S=g.meta.isTouched&&!g.meta.isValid,C=m.find(e=>e.value===g.value)?.label;return y?(0,l.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[d&&(0,l.jsxs)(t.Label,{htmlFor:h,children:[d,p&&(0,l.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,l.jsx)(e.Button,{id:h,type:`button`,variant:`outline`,color:`muted`,className:(0,c.cn)(`w-full justify-start font-normal outline-1 outline-border -outline-offset-1`,!g.value&&`text-text-positive-muted`,S&&`outline-danger bg-danger-bg-subtle`),"aria-invalid":S,onBlur:_,onClick:()=>x(!0),children:C??(0,l.jsx)(`span`,{className:`text-text-positive-muted`,children:f})}),(0,l.jsx)(i.Drawer,{open:b,onOpenChange:x,direction:`bottom`,children:(0,l.jsxs)(i.DrawerContent,{children:[(0,l.jsx)(i.DrawerHeader,{children:(0,l.jsx)(i.DrawerTitle,{children:d??f??`Select an option`})}),(0,l.jsx)(`div`,{className:`flex flex-col overflow-y-auto pb-safe-bottom`,children:m.length>0?m.map(e=>(0,l.jsx)(i.DrawerClose,{asChild:!0,children:(0,l.jsx)(`button`,{type:`button`,className:(0,c.cn)(`flex w-full items-center px-4 py-3 text-left text-sm transition-colors`,`hover:bg-muted-muted active:bg-muted-muted`,g.value===e.value&&`bg-primary-bg-subtle font-medium text-primary`),onClick:()=>{v(e.value),x(!1)},children:e.label})},e.value)):(0,l.jsxs)(`div`,{className:`flex items-center justify-center gap-x-2 px-4 py-8 text-center text-sm text-text-positive-weak`,children:[(0,l.jsx)(o.PackagePlusIcon,{strokeWidth:1}),`No options available`]})})]})}),S&&(0,l.jsx)(a.FieldError,{errors:g.meta.errors})]}):(0,l.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[d&&(0,l.jsxs)(t.Label,{htmlFor:h,children:[d,p&&(0,l.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,l.jsxs)(n.Select,{value:g.value??``,onValueChange:v,children:[(0,l.jsx)(n.SelectTrigger,{id:h,"aria-invalid":S?`true`:void 0,onBlur:_,children:(0,l.jsx)(n.SelectValue,{placeholder:f})}),(0,l.jsx)(n.SelectContent,{children:m.length>0?m.map(e=>(0,l.jsx)(n.SelectItem,{value:e.value,children:e.label},e.value)):(0,l.jsxs)(`div`,{className:`flex items-center justify-center gap-x-2 rounded border border-border bg-muted-muted px-4 py-6.5 text-center text-sm text-text-positive-weak`,children:[(0,l.jsx)(o.PackagePlusIcon,{strokeWidth:1}),`No options available`]})})]}),S&&(0,l.jsx)(a.FieldError,{errors:g.meta.errors})]})};exports.SimpleSelectField=d;
2
- //# sourceMappingURL=simple-select-field--zJMLBUY.cjs.map
1
+ const e=require("./ui/button.cjs"),t=require("./tanstack-form-CNrZQZhn.cjs"),n=require("./ui/label.cjs"),r=require("./ui/drawer.cjs"),i=require("./ui/select.cjs"),a=require("./field-BV5twmKA.cjs");let o=require("lucide-react"),s=require("react"),c=require("@customafk/react-toolkit/utils"),l=require("react/jsx-runtime"),u=require("@customafk/react-toolkit/hooks/useMobile");const d=({label:d,placeholder:f,required:p,options:m})=>{let h=(0,s.useId)(),{state:g,handleBlur:_,handleChange:v}=t.G(),y=(0,u.useIsMobile)(),[b,x]=(0,s.useState)(!1),S=g.meta.isTouched&&!g.meta.isValid,C=m.find(e=>e.value===g.value)?.label;return y?(0,l.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[d&&(0,l.jsxs)(n.Label,{htmlFor:h,children:[d,p&&(0,l.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,l.jsx)(e.Button,{id:h,type:`button`,variant:`outline`,color:`muted`,className:(0,c.cn)(`w-full justify-start font-normal outline-1 outline-border -outline-offset-1`,!g.value&&`text-text-positive-muted`,S&&`outline-danger bg-danger-bg-subtle`),"aria-invalid":S,onBlur:_,onClick:()=>x(!0),children:C??(0,l.jsx)(`span`,{className:`text-text-positive-muted`,children:f})}),(0,l.jsx)(r.Drawer,{open:b,onOpenChange:x,direction:`bottom`,children:(0,l.jsxs)(r.DrawerContent,{children:[(0,l.jsx)(r.DrawerHeader,{children:(0,l.jsx)(r.DrawerTitle,{children:d??f??`Select an option`})}),(0,l.jsx)(`div`,{className:`flex flex-col overflow-y-auto pb-safe-bottom`,children:m.length>0?m.map(e=>(0,l.jsx)(r.DrawerClose,{asChild:!0,children:(0,l.jsx)(`button`,{type:`button`,className:(0,c.cn)(`flex w-full items-center px-4 py-3 text-left text-sm transition-colors`,`hover:bg-muted-muted active:bg-muted-muted`,g.value===e.value&&`bg-primary-bg-subtle font-medium text-primary`),onClick:()=>{v(e.value),x(!1)},children:e.label})},e.value)):(0,l.jsxs)(`div`,{className:`flex items-center justify-center gap-x-2 px-4 py-8 text-center text-sm text-text-positive-weak`,children:[(0,l.jsx)(o.PackagePlusIcon,{strokeWidth:1}),`No options available`]})})]})}),S&&(0,l.jsx)(a.FieldError,{errors:g.meta.errors})]}):(0,l.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[d&&(0,l.jsxs)(n.Label,{htmlFor:h,children:[d,p&&(0,l.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,l.jsxs)(i.Select,{value:g.value??``,onValueChange:v,children:[(0,l.jsx)(i.SelectTrigger,{id:h,"aria-invalid":S?`true`:void 0,onBlur:_,children:(0,l.jsx)(i.SelectValue,{placeholder:f})}),(0,l.jsx)(i.SelectContent,{children:m.length>0?m.map(e=>(0,l.jsx)(i.SelectItem,{value:e.value,children:e.label},e.value)):(0,l.jsxs)(`div`,{className:`flex items-center justify-center gap-x-2 rounded border border-border bg-muted-muted px-4 py-6.5 text-center text-sm text-text-positive-weak`,children:[(0,l.jsx)(o.PackagePlusIcon,{strokeWidth:1}),`No options available`]})})]}),S&&(0,l.jsx)(a.FieldError,{errors:g.meta.errors})]})};exports.SimpleSelectField=d;
2
+ //# sourceMappingURL=simple-select-field-CeNnXUHN.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-select-field--zJMLBUY.cjs","names":["useTanStackFieldContext","Label","Button","Drawer","DrawerContent","DrawerHeader","DrawerTitle","DrawerClose","PackagePlusIcon","FieldError","Select","SelectTrigger","SelectValue","SelectContent","SelectItem"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-select-field.tsx"],"sourcesContent":["'use client';\n\nimport { useId, useState } from 'react';\n\nimport { PackagePlusIcon } from 'lucide-react';\n\nimport { useIsMobile } from '@customafk/react-toolkit/hooks/useMobile';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { Drawer, DrawerClose, DrawerContent, DrawerHeader, DrawerTitle } from '@/components/ui/drawer';\nimport { Label } from '@/components/ui/label';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n options: Array<{ value: string; label: string }>;\n};\n\nexport const SimpleSelectField: React.FC<Props> = ({ label, placeholder, required, options }) => {\n const id = useId();\n const { state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n const isMobile = useIsMobile();\n const [drawerOpen, setDrawerOpen] = useState(false);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n const selectedLabel = options.find(o => o.value === state.value)?.label;\n\n if (isMobile) {\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Button\n id={id}\n type=\"button\"\n variant=\"outline\"\n color=\"muted\"\n className={cn(\n 'w-full justify-start font-normal outline-1 outline-border -outline-offset-1',\n !state.value && 'text-text-positive-muted',\n _invalid && 'outline-danger bg-danger-bg-subtle'\n )}\n aria-invalid={_invalid}\n onBlur={handleBlur}\n onClick={() => setDrawerOpen(true)}\n >\n {selectedLabel ?? <span className=\"text-text-positive-muted\">{placeholder}</span>}\n </Button>\n\n <Drawer open={drawerOpen} onOpenChange={setDrawerOpen} direction=\"bottom\">\n <DrawerContent>\n <DrawerHeader>\n <DrawerTitle>{label ?? placeholder ?? 'Select an option'}</DrawerTitle>\n </DrawerHeader>\n <div className=\"flex flex-col overflow-y-auto pb-safe-bottom\">\n {options.length > 0 ? (\n options.map(option => (\n <DrawerClose key={option.value} asChild>\n <button\n type=\"button\"\n className={cn(\n 'flex w-full items-center px-4 py-3 text-left text-sm transition-colors',\n 'hover:bg-muted-muted active:bg-muted-muted',\n state.value === option.value && 'bg-primary-bg-subtle font-medium text-primary'\n )}\n onClick={() => {\n handleChange(option.value);\n setDrawerOpen(false);\n }}\n >\n {option.label}\n </button>\n </DrawerClose>\n ))\n ) : (\n <div className=\"flex items-center justify-center gap-x-2 px-4 py-8 text-center text-sm text-text-positive-weak\">\n <PackagePlusIcon strokeWidth={1} />\n No options available\n </div>\n )}\n </div>\n </DrawerContent>\n </Drawer>\n\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Select value={state.value ?? ''} onValueChange={handleChange}>\n <SelectTrigger id={id} aria-invalid={_invalid ? 'true' : undefined} onBlur={handleBlur}>\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent>\n {options.length > 0 ? (\n options.map(option => (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))\n ) : (\n <div className=\"flex items-center justify-center gap-x-2 rounded border border-border bg-muted-muted px-4 py-6.5 text-center text-sm text-text-positive-weak\">\n <PackagePlusIcon strokeWidth={1} />\n No options available\n </div>\n )}\n </SelectContent>\n </Select>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"uXAwBA,MAAa,GAAsC,CAAE,QAAO,cAAa,WAAU,aAAc,CAC/F,IAAM,GAAA,EAAA,EAAA,MAAA,CAAW,EACX,CAAE,QAAO,aAAY,gBAAiBA,EAAAA,EAAuC,EAC7E,GAAA,EAAA,EAAA,YAAA,CAAuB,EACvB,CAAC,EAAY,IAAA,EAAA,EAAA,SAAA,CAA0B,EAAK,EAE5C,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAC/C,EAAgB,EAAQ,KAAK,GAAK,EAAE,QAAU,EAAM,KAAK,CAAC,EAAE,MAoElE,OAlEI,GAEA,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,QAAS,WAAhB,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,KAET,EAAA,EAAA,IAAA,CAACC,EAAAA,OAAD,CACM,KACJ,KAAK,SACL,QAAQ,UACR,MAAM,QACN,WAAA,EAAA,EAAA,GAAA,CACE,8EACA,CAAC,EAAM,OAAS,2BAChB,GAAY,oCACd,EACA,eAAc,EACd,OAAQ,EACR,YAAe,EAAc,EAAI,WAEhC,IAAiB,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,oCAA4B,CAAkB,CAAA,CAC1E,CAAA,GAER,EAAA,EAAA,IAAA,CAACC,EAAAA,OAAD,CAAQ,KAAM,EAAY,aAAc,EAAe,UAAU,mBAC/D,EAAA,EAAA,KAAA,CAACC,EAAAA,cAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,aAAD,CAAA,UACE,EAAA,EAAA,IAAA,CAACC,EAAAA,YAAD,CAAA,SAAc,GAAS,GAAe,kBAAgC,CAAA,CAC1D,CAAA,GACd,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,wDACZ,EAAQ,OAAS,EAChB,EAAQ,IAAI,IACV,EAAA,EAAA,IAAA,CAACC,EAAAA,YAAD,CAAgC,QAAA,aAC9B,EAAA,EAAA,IAAA,CAAC,SAAD,CACE,KAAK,SACL,WAAA,EAAA,EAAA,GAAA,CACE,yEACA,6CACA,EAAM,QAAU,EAAO,OAAS,+CAClC,EACA,YAAe,CACb,EAAa,EAAO,KAAK,EACzB,EAAc,EAAK,CACrB,WAEC,EAAO,KACF,CAAA,CACG,EAfK,EAAO,KAeZ,CACd,GAED,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,0GAAf,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,gBAAD,CAAiB,YAAa,CAAI,CAAA,EAAC,sBAEhC,GAEJ,CAAA,CACQ,CAAA,CAAA,CACT,CAAA,EAEP,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,KAKP,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,CACG,IACC,EAAA,EAAA,KAAA,CAACR,EAAAA,MAAD,CAAO,QAAS,WAAhB,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,KAET,EAAA,EAAA,KAAA,CAACS,EAAAA,OAAD,CAAQ,MAAO,EAAM,OAAS,GAAI,cAAe,WAAjD,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,cAAD,CAAmB,KAAI,eAAc,EAAW,OAAS,IAAA,GAAW,OAAQ,YAC1E,EAAA,EAAA,IAAA,CAACC,EAAAA,YAAD,CAA0B,aAAc,CAAA,CAC3B,CAAA,GACf,EAAA,EAAA,IAAA,CAACC,EAAAA,cAAD,CAAA,SACG,EAAQ,OAAS,EAChB,EAAQ,IAAI,IACV,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAA+B,MAAO,EAAO,eAC1C,EAAO,KACE,EAFK,EAAO,KAEZ,CACb,GAED,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,wJAAf,EACE,EAAA,EAAA,IAAA,CAACN,EAAAA,gBAAD,CAAiB,YAAa,CAAI,CAAA,EAAC,sBAEhC,GAEM,CAAA,CACT,IACP,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
1
+ {"version":3,"file":"simple-select-field-CeNnXUHN.cjs","names":["useTanStackFieldContext","Label","Button","Drawer","DrawerContent","DrawerHeader","DrawerTitle","DrawerClose","PackagePlusIcon","FieldError","Select","SelectTrigger","SelectValue","SelectContent","SelectItem"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-select-field.tsx"],"sourcesContent":["'use client';\n\nimport { useId, useState } from 'react';\n\nimport { PackagePlusIcon } from 'lucide-react';\n\nimport { useIsMobile } from '@customafk/react-toolkit/hooks/useMobile';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { Drawer, DrawerClose, DrawerContent, DrawerHeader, DrawerTitle } from '@/components/ui/drawer';\nimport { Label } from '@/components/ui/label';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n options: Array<{ value: string; label: string }>;\n};\n\nexport const SimpleSelectField: React.FC<Props> = ({ label, placeholder, required, options }) => {\n const id = useId();\n const { state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n const isMobile = useIsMobile();\n const [drawerOpen, setDrawerOpen] = useState(false);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n const selectedLabel = options.find(o => o.value === state.value)?.label;\n\n if (isMobile) {\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Button\n id={id}\n type=\"button\"\n variant=\"outline\"\n color=\"muted\"\n className={cn(\n 'w-full justify-start font-normal outline-1 outline-border -outline-offset-1',\n !state.value && 'text-text-positive-muted',\n _invalid && 'outline-danger bg-danger-bg-subtle'\n )}\n aria-invalid={_invalid}\n onBlur={handleBlur}\n onClick={() => setDrawerOpen(true)}\n >\n {selectedLabel ?? <span className=\"text-text-positive-muted\">{placeholder}</span>}\n </Button>\n\n <Drawer open={drawerOpen} onOpenChange={setDrawerOpen} direction=\"bottom\">\n <DrawerContent>\n <DrawerHeader>\n <DrawerTitle>{label ?? placeholder ?? 'Select an option'}</DrawerTitle>\n </DrawerHeader>\n <div className=\"flex flex-col overflow-y-auto pb-safe-bottom\">\n {options.length > 0 ? (\n options.map(option => (\n <DrawerClose key={option.value} asChild>\n <button\n type=\"button\"\n className={cn(\n 'flex w-full items-center px-4 py-3 text-left text-sm transition-colors',\n 'hover:bg-muted-muted active:bg-muted-muted',\n state.value === option.value && 'bg-primary-bg-subtle font-medium text-primary'\n )}\n onClick={() => {\n handleChange(option.value);\n setDrawerOpen(false);\n }}\n >\n {option.label}\n </button>\n </DrawerClose>\n ))\n ) : (\n <div className=\"flex items-center justify-center gap-x-2 px-4 py-8 text-center text-sm text-text-positive-weak\">\n <PackagePlusIcon strokeWidth={1} />\n No options available\n </div>\n )}\n </div>\n </DrawerContent>\n </Drawer>\n\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Select value={state.value ?? ''} onValueChange={handleChange}>\n <SelectTrigger id={id} aria-invalid={_invalid ? 'true' : undefined} onBlur={handleBlur}>\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent>\n {options.length > 0 ? (\n options.map(option => (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))\n ) : (\n <div className=\"flex items-center justify-center gap-x-2 rounded border border-border bg-muted-muted px-4 py-6.5 text-center text-sm text-text-positive-weak\">\n <PackagePlusIcon strokeWidth={1} />\n No options available\n </div>\n )}\n </SelectContent>\n </Select>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"uXAwBA,MAAa,GAAsC,CAAE,QAAO,cAAa,WAAU,aAAc,CAC/F,IAAM,GAAA,EAAA,EAAA,MAAA,CAAW,EACX,CAAE,QAAO,aAAY,gBAAiBA,EAAAA,EAAuC,EAC7E,GAAA,EAAA,EAAA,YAAA,CAAuB,EACvB,CAAC,EAAY,IAAA,EAAA,EAAA,SAAA,CAA0B,EAAK,EAE5C,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAC/C,EAAgB,EAAQ,KAAK,GAAK,EAAE,QAAU,EAAM,KAAK,CAAC,EAAE,MAoElE,OAlEI,GAEA,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,QAAS,WAAhB,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,KAET,EAAA,EAAA,IAAA,CAACC,EAAAA,OAAD,CACM,KACJ,KAAK,SACL,QAAQ,UACR,MAAM,QACN,WAAA,EAAA,EAAA,GAAA,CACE,8EACA,CAAC,EAAM,OAAS,2BAChB,GAAY,oCACd,EACA,eAAc,EACd,OAAQ,EACR,YAAe,EAAc,EAAI,WAEhC,IAAiB,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,oCAA4B,CAAkB,CAAA,CAC1E,CAAA,GAER,EAAA,EAAA,IAAA,CAACC,EAAAA,OAAD,CAAQ,KAAM,EAAY,aAAc,EAAe,UAAU,mBAC/D,EAAA,EAAA,KAAA,CAACC,EAAAA,cAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,aAAD,CAAA,UACE,EAAA,EAAA,IAAA,CAACC,EAAAA,YAAD,CAAA,SAAc,GAAS,GAAe,kBAAgC,CAAA,CAC1D,CAAA,GACd,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,wDACZ,EAAQ,OAAS,EAChB,EAAQ,IAAI,IACV,EAAA,EAAA,IAAA,CAACC,EAAAA,YAAD,CAAgC,QAAA,aAC9B,EAAA,EAAA,IAAA,CAAC,SAAD,CACE,KAAK,SACL,WAAA,EAAA,EAAA,GAAA,CACE,yEACA,6CACA,EAAM,QAAU,EAAO,OAAS,+CAClC,EACA,YAAe,CACb,EAAa,EAAO,KAAK,EACzB,EAAc,EAAK,CACrB,WAEC,EAAO,KACF,CAAA,CACG,EAfK,EAAO,KAeZ,CACd,GAED,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,0GAAf,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,gBAAD,CAAiB,YAAa,CAAI,CAAA,EAAC,sBAEhC,GAEJ,CAAA,CACQ,CAAA,CAAA,CACT,CAAA,EAEP,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,KAKP,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,CACG,IACC,EAAA,EAAA,KAAA,CAACR,EAAAA,MAAD,CAAO,QAAS,WAAhB,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,KAET,EAAA,EAAA,KAAA,CAACS,EAAAA,OAAD,CAAQ,MAAO,EAAM,OAAS,GAAI,cAAe,WAAjD,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,cAAD,CAAmB,KAAI,eAAc,EAAW,OAAS,IAAA,GAAW,OAAQ,YAC1E,EAAA,EAAA,IAAA,CAACC,EAAAA,YAAD,CAA0B,aAAc,CAAA,CAC3B,CAAA,GACf,EAAA,EAAA,IAAA,CAACC,EAAAA,cAAD,CAAA,SACG,EAAQ,OAAS,EAChB,EAAQ,IAAI,IACV,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAA+B,MAAO,EAAO,eAC1C,EAAO,KACE,EAFK,EAAO,KAEZ,CACb,GAED,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,wJAAf,EACE,EAAA,EAAA,IAAA,CAACN,EAAAA,gBAAD,CAAiB,YAAa,CAAI,CAAA,EAAC,sBAEhC,GAEM,CAAA,CACT,IACP,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
@@ -1,2 +1,2 @@
1
- import{Button as e}from"./ui/button.mjs";import{Label as t}from"./ui/label.mjs";import{Select as n,SelectContent as r,SelectItem as i,SelectTrigger as a,SelectValue as o}from"./ui/select.mjs";import{G as s}from"./tanstack-form-CM_Hb3JT.mjs";import{Drawer as c,DrawerClose as l,DrawerContent as u,DrawerHeader as d,DrawerTitle as f}from"./ui/drawer.mjs";import{FieldError as p}from"./field-BKyUqvzh.mjs";import{PackagePlusIcon as m}from"lucide-react";import{useId as h,useState as g}from"react";import{cn as _}from"@customafk/react-toolkit/utils";import{jsx as v,jsxs as y}from"react/jsx-runtime";import{useIsMobile as b}from"@customafk/react-toolkit/hooks/useMobile";const x=({label:x,placeholder:S,required:C,options:w})=>{let T=h(),{state:E,handleBlur:D,handleChange:O}=s(),k=b(),[A,j]=g(!1),M=E.meta.isTouched&&!E.meta.isValid,N=w.find(e=>e.value===E.value)?.label;return k?y(`div`,{className:`flex flex-col gap-1.5`,children:[x&&y(t,{htmlFor:T,children:[x,C&&v(`span`,{className:`text-danger-strong`,children:`*`})]}),v(e,{id:T,type:`button`,variant:`outline`,color:`muted`,className:_(`w-full justify-start font-normal outline-1 outline-border -outline-offset-1`,!E.value&&`text-text-positive-muted`,M&&`outline-danger bg-danger-bg-subtle`),"aria-invalid":M,onBlur:D,onClick:()=>j(!0),children:N??v(`span`,{className:`text-text-positive-muted`,children:S})}),v(c,{open:A,onOpenChange:j,direction:`bottom`,children:y(u,{children:[v(d,{children:v(f,{children:x??S??`Select an option`})}),v(`div`,{className:`flex flex-col overflow-y-auto pb-safe-bottom`,children:w.length>0?w.map(e=>v(l,{asChild:!0,children:v(`button`,{type:`button`,className:_(`flex w-full items-center px-4 py-3 text-left text-sm transition-colors`,`hover:bg-muted-muted active:bg-muted-muted`,E.value===e.value&&`bg-primary-bg-subtle font-medium text-primary`),onClick:()=>{O(e.value),j(!1)},children:e.label})},e.value)):y(`div`,{className:`flex items-center justify-center gap-x-2 px-4 py-8 text-center text-sm text-text-positive-weak`,children:[v(m,{strokeWidth:1}),`No options available`]})})]})}),M&&v(p,{errors:E.meta.errors})]}):y(`div`,{className:`flex flex-col gap-1.5`,children:[x&&y(t,{htmlFor:T,children:[x,C&&v(`span`,{className:`text-danger-strong`,children:`*`})]}),y(n,{value:E.value??``,onValueChange:O,children:[v(a,{id:T,"aria-invalid":M?`true`:void 0,onBlur:D,children:v(o,{placeholder:S})}),v(r,{children:w.length>0?w.map(e=>v(i,{value:e.value,children:e.label},e.value)):y(`div`,{className:`flex items-center justify-center gap-x-2 rounded border border-border bg-muted-muted px-4 py-6.5 text-center text-sm text-text-positive-weak`,children:[v(m,{strokeWidth:1}),`No options available`]})})]}),M&&v(p,{errors:E.meta.errors})]})};export{x as SimpleSelectField};
2
- //# sourceMappingURL=simple-select-field-Df4DLsbi.mjs.map
1
+ import{Button as e}from"./ui/button.mjs";import{G as t}from"./tanstack-form-PC9YNeeo.mjs";import{Label as n}from"./ui/label.mjs";import{Drawer as r,DrawerClose as i,DrawerContent as a,DrawerHeader as o,DrawerTitle as s}from"./ui/drawer.mjs";import{Select as c,SelectContent as l,SelectItem as u,SelectTrigger as d,SelectValue as f}from"./ui/select.mjs";import{FieldError as p}from"./field-BKyUqvzh.mjs";import{PackagePlusIcon as m}from"lucide-react";import{useId as h,useState as g}from"react";import{cn as _}from"@customafk/react-toolkit/utils";import{jsx as v,jsxs as y}from"react/jsx-runtime";import{useIsMobile as b}from"@customafk/react-toolkit/hooks/useMobile";const x=({label:x,placeholder:S,required:C,options:w})=>{let T=h(),{state:E,handleBlur:D,handleChange:O}=t(),k=b(),[A,j]=g(!1),M=E.meta.isTouched&&!E.meta.isValid,N=w.find(e=>e.value===E.value)?.label;return k?y(`div`,{className:`flex flex-col gap-1.5`,children:[x&&y(n,{htmlFor:T,children:[x,C&&v(`span`,{className:`text-danger-strong`,children:`*`})]}),v(e,{id:T,type:`button`,variant:`outline`,color:`muted`,className:_(`w-full justify-start font-normal outline-1 outline-border -outline-offset-1`,!E.value&&`text-text-positive-muted`,M&&`outline-danger bg-danger-bg-subtle`),"aria-invalid":M,onBlur:D,onClick:()=>j(!0),children:N??v(`span`,{className:`text-text-positive-muted`,children:S})}),v(r,{open:A,onOpenChange:j,direction:`bottom`,children:y(a,{children:[v(o,{children:v(s,{children:x??S??`Select an option`})}),v(`div`,{className:`flex flex-col overflow-y-auto pb-safe-bottom`,children:w.length>0?w.map(e=>v(i,{asChild:!0,children:v(`button`,{type:`button`,className:_(`flex w-full items-center px-4 py-3 text-left text-sm transition-colors`,`hover:bg-muted-muted active:bg-muted-muted`,E.value===e.value&&`bg-primary-bg-subtle font-medium text-primary`),onClick:()=>{O(e.value),j(!1)},children:e.label})},e.value)):y(`div`,{className:`flex items-center justify-center gap-x-2 px-4 py-8 text-center text-sm text-text-positive-weak`,children:[v(m,{strokeWidth:1}),`No options available`]})})]})}),M&&v(p,{errors:E.meta.errors})]}):y(`div`,{className:`flex flex-col gap-1.5`,children:[x&&y(n,{htmlFor:T,children:[x,C&&v(`span`,{className:`text-danger-strong`,children:`*`})]}),y(c,{value:E.value??``,onValueChange:O,children:[v(d,{id:T,"aria-invalid":M?`true`:void 0,onBlur:D,children:v(f,{placeholder:S})}),v(l,{children:w.length>0?w.map(e=>v(u,{value:e.value,children:e.label},e.value)):y(`div`,{className:`flex items-center justify-center gap-x-2 rounded border border-border bg-muted-muted px-4 py-6.5 text-center text-sm text-text-positive-weak`,children:[v(m,{strokeWidth:1}),`No options available`]})})]}),M&&v(p,{errors:E.meta.errors})]})};export{x as SimpleSelectField};
2
+ //# sourceMappingURL=simple-select-field-DIaxhi1-.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-select-field-Df4DLsbi.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-select-field.tsx"],"sourcesContent":["'use client';\n\nimport { useId, useState } from 'react';\n\nimport { PackagePlusIcon } from 'lucide-react';\n\nimport { useIsMobile } from '@customafk/react-toolkit/hooks/useMobile';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { Drawer, DrawerClose, DrawerContent, DrawerHeader, DrawerTitle } from '@/components/ui/drawer';\nimport { Label } from '@/components/ui/label';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n options: Array<{ value: string; label: string }>;\n};\n\nexport const SimpleSelectField: React.FC<Props> = ({ label, placeholder, required, options }) => {\n const id = useId();\n const { state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n const isMobile = useIsMobile();\n const [drawerOpen, setDrawerOpen] = useState(false);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n const selectedLabel = options.find(o => o.value === state.value)?.label;\n\n if (isMobile) {\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Button\n id={id}\n type=\"button\"\n variant=\"outline\"\n color=\"muted\"\n className={cn(\n 'w-full justify-start font-normal outline-1 outline-border -outline-offset-1',\n !state.value && 'text-text-positive-muted',\n _invalid && 'outline-danger bg-danger-bg-subtle'\n )}\n aria-invalid={_invalid}\n onBlur={handleBlur}\n onClick={() => setDrawerOpen(true)}\n >\n {selectedLabel ?? <span className=\"text-text-positive-muted\">{placeholder}</span>}\n </Button>\n\n <Drawer open={drawerOpen} onOpenChange={setDrawerOpen} direction=\"bottom\">\n <DrawerContent>\n <DrawerHeader>\n <DrawerTitle>{label ?? placeholder ?? 'Select an option'}</DrawerTitle>\n </DrawerHeader>\n <div className=\"flex flex-col overflow-y-auto pb-safe-bottom\">\n {options.length > 0 ? (\n options.map(option => (\n <DrawerClose key={option.value} asChild>\n <button\n type=\"button\"\n className={cn(\n 'flex w-full items-center px-4 py-3 text-left text-sm transition-colors',\n 'hover:bg-muted-muted active:bg-muted-muted',\n state.value === option.value && 'bg-primary-bg-subtle font-medium text-primary'\n )}\n onClick={() => {\n handleChange(option.value);\n setDrawerOpen(false);\n }}\n >\n {option.label}\n </button>\n </DrawerClose>\n ))\n ) : (\n <div className=\"flex items-center justify-center gap-x-2 px-4 py-8 text-center text-sm text-text-positive-weak\">\n <PackagePlusIcon strokeWidth={1} />\n No options available\n </div>\n )}\n </div>\n </DrawerContent>\n </Drawer>\n\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Select value={state.value ?? ''} onValueChange={handleChange}>\n <SelectTrigger id={id} aria-invalid={_invalid ? 'true' : undefined} onBlur={handleBlur}>\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent>\n {options.length > 0 ? (\n options.map(option => (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))\n ) : (\n <div className=\"flex items-center justify-center gap-x-2 rounded border border-border bg-muted-muted px-4 py-6.5 text-center text-sm text-text-positive-weak\">\n <PackagePlusIcon strokeWidth={1} />\n No options available\n </div>\n )}\n </SelectContent>\n </Select>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"2pBAwBA,MAAa,GAAsC,CAAE,QAAO,cAAa,WAAU,aAAc,CAC/F,IAAM,EAAK,EAAM,EACX,CAAE,QAAO,aAAY,gBAAiB,EAAuC,EAC7E,EAAW,EAAY,EACvB,CAAC,EAAY,GAAiB,EAAS,EAAK,EAE5C,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAC/C,EAAgB,EAAQ,KAAK,GAAK,EAAE,QAAU,EAAM,KAAK,CAAC,EAAE,MAoElE,OAlEI,EAEA,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAO,QAAS,WAAhB,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,IAET,EAAC,EAAD,CACM,KACJ,KAAK,SACL,QAAQ,UACR,MAAM,QACN,UAAW,EACT,8EACA,CAAC,EAAM,OAAS,2BAChB,GAAY,oCACd,EACA,eAAc,EACd,OAAQ,EACR,YAAe,EAAc,EAAI,WAEhC,GAAiB,EAAC,OAAD,CAAM,UAAU,oCAA4B,CAAkB,CAAA,CAC1E,CAAA,EAER,EAAC,EAAD,CAAQ,KAAM,EAAY,aAAc,EAAe,UAAU,kBAC/D,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAA,SACE,EAAC,EAAD,CAAA,SAAc,GAAS,GAAe,kBAAgC,CAAA,CAC1D,CAAA,EACd,EAAC,MAAD,CAAK,UAAU,wDACZ,EAAQ,OAAS,EAChB,EAAQ,IAAI,GACV,EAAC,EAAD,CAAgC,QAAA,YAC9B,EAAC,SAAD,CACE,KAAK,SACL,UAAW,EACT,yEACA,6CACA,EAAM,QAAU,EAAO,OAAS,+CAClC,EACA,YAAe,CACb,EAAa,EAAO,KAAK,EACzB,EAAc,EAAK,CACrB,WAEC,EAAO,KACF,CAAA,CACG,EAfK,EAAO,KAeZ,CACd,EAED,EAAC,MAAD,CAAK,UAAU,0GAAf,CACE,EAAC,EAAD,CAAiB,YAAa,CAAI,CAAA,EAAC,sBAEhC,GAEJ,CAAA,CACQ,CAAA,CAAA,CACT,CAAA,EAEP,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,IAKP,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAO,QAAS,WAAhB,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,IAET,EAAC,EAAD,CAAQ,MAAO,EAAM,OAAS,GAAI,cAAe,WAAjD,CACE,EAAC,EAAD,CAAmB,KAAI,eAAc,EAAW,OAAS,IAAA,GAAW,OAAQ,WAC1E,EAAC,EAAD,CAA0B,aAAc,CAAA,CAC3B,CAAA,EACf,EAAC,EAAD,CAAA,SACG,EAAQ,OAAS,EAChB,EAAQ,IAAI,GACV,EAAC,EAAD,CAA+B,MAAO,EAAO,eAC1C,EAAO,KACE,EAFK,EAAO,KAEZ,CACb,EAED,EAAC,MAAD,CAAK,UAAU,wJAAf,CACE,EAAC,EAAD,CAAiB,YAAa,CAAI,CAAA,EAAC,sBAEhC,GAEM,CAAA,CACT,IACP,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
1
+ {"version":3,"file":"simple-select-field-DIaxhi1-.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-select-field.tsx"],"sourcesContent":["'use client';\n\nimport { useId, useState } from 'react';\n\nimport { PackagePlusIcon } from 'lucide-react';\n\nimport { useIsMobile } from '@customafk/react-toolkit/hooks/useMobile';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { Drawer, DrawerClose, DrawerContent, DrawerHeader, DrawerTitle } from '@/components/ui/drawer';\nimport { Label } from '@/components/ui/label';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n options: Array<{ value: string; label: string }>;\n};\n\nexport const SimpleSelectField: React.FC<Props> = ({ label, placeholder, required, options }) => {\n const id = useId();\n const { state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n const isMobile = useIsMobile();\n const [drawerOpen, setDrawerOpen] = useState(false);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n const selectedLabel = options.find(o => o.value === state.value)?.label;\n\n if (isMobile) {\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Button\n id={id}\n type=\"button\"\n variant=\"outline\"\n color=\"muted\"\n className={cn(\n 'w-full justify-start font-normal outline-1 outline-border -outline-offset-1',\n !state.value && 'text-text-positive-muted',\n _invalid && 'outline-danger bg-danger-bg-subtle'\n )}\n aria-invalid={_invalid}\n onBlur={handleBlur}\n onClick={() => setDrawerOpen(true)}\n >\n {selectedLabel ?? <span className=\"text-text-positive-muted\">{placeholder}</span>}\n </Button>\n\n <Drawer open={drawerOpen} onOpenChange={setDrawerOpen} direction=\"bottom\">\n <DrawerContent>\n <DrawerHeader>\n <DrawerTitle>{label ?? placeholder ?? 'Select an option'}</DrawerTitle>\n </DrawerHeader>\n <div className=\"flex flex-col overflow-y-auto pb-safe-bottom\">\n {options.length > 0 ? (\n options.map(option => (\n <DrawerClose key={option.value} asChild>\n <button\n type=\"button\"\n className={cn(\n 'flex w-full items-center px-4 py-3 text-left text-sm transition-colors',\n 'hover:bg-muted-muted active:bg-muted-muted',\n state.value === option.value && 'bg-primary-bg-subtle font-medium text-primary'\n )}\n onClick={() => {\n handleChange(option.value);\n setDrawerOpen(false);\n }}\n >\n {option.label}\n </button>\n </DrawerClose>\n ))\n ) : (\n <div className=\"flex items-center justify-center gap-x-2 px-4 py-8 text-center text-sm text-text-positive-weak\">\n <PackagePlusIcon strokeWidth={1} />\n No options available\n </div>\n )}\n </div>\n </DrawerContent>\n </Drawer>\n\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Select value={state.value ?? ''} onValueChange={handleChange}>\n <SelectTrigger id={id} aria-invalid={_invalid ? 'true' : undefined} onBlur={handleBlur}>\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent>\n {options.length > 0 ? (\n options.map(option => (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))\n ) : (\n <div className=\"flex items-center justify-center gap-x-2 rounded border border-border bg-muted-muted px-4 py-6.5 text-center text-sm text-text-positive-weak\">\n <PackagePlusIcon strokeWidth={1} />\n No options available\n </div>\n )}\n </SelectContent>\n </Select>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"2pBAwBA,MAAa,GAAsC,CAAE,QAAO,cAAa,WAAU,aAAc,CAC/F,IAAM,EAAK,EAAM,EACX,CAAE,QAAO,aAAY,gBAAiB,EAAuC,EAC7E,EAAW,EAAY,EACvB,CAAC,EAAY,GAAiB,EAAS,EAAK,EAE5C,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAC/C,EAAgB,EAAQ,KAAK,GAAK,EAAE,QAAU,EAAM,KAAK,CAAC,EAAE,MAoElE,OAlEI,EAEA,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAO,QAAS,WAAhB,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,IAET,EAAC,EAAD,CACM,KACJ,KAAK,SACL,QAAQ,UACR,MAAM,QACN,UAAW,EACT,8EACA,CAAC,EAAM,OAAS,2BAChB,GAAY,oCACd,EACA,eAAc,EACd,OAAQ,EACR,YAAe,EAAc,EAAI,WAEhC,GAAiB,EAAC,OAAD,CAAM,UAAU,oCAA4B,CAAkB,CAAA,CAC1E,CAAA,EAER,EAAC,EAAD,CAAQ,KAAM,EAAY,aAAc,EAAe,UAAU,kBAC/D,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAA,SACE,EAAC,EAAD,CAAA,SAAc,GAAS,GAAe,kBAAgC,CAAA,CAC1D,CAAA,EACd,EAAC,MAAD,CAAK,UAAU,wDACZ,EAAQ,OAAS,EAChB,EAAQ,IAAI,GACV,EAAC,EAAD,CAAgC,QAAA,YAC9B,EAAC,SAAD,CACE,KAAK,SACL,UAAW,EACT,yEACA,6CACA,EAAM,QAAU,EAAO,OAAS,+CAClC,EACA,YAAe,CACb,EAAa,EAAO,KAAK,EACzB,EAAc,EAAK,CACrB,WAEC,EAAO,KACF,CAAA,CACG,EAfK,EAAO,KAeZ,CACd,EAED,EAAC,MAAD,CAAK,UAAU,0GAAf,CACE,EAAC,EAAD,CAAiB,YAAa,CAAI,CAAA,EAAC,sBAEhC,GAEJ,CAAA,CACQ,CAAA,CAAA,CACT,CAAA,EAEP,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,IAKP,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAO,QAAS,WAAhB,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,IAET,EAAC,EAAD,CAAQ,MAAO,EAAM,OAAS,GAAI,cAAe,WAAjD,CACE,EAAC,EAAD,CAAmB,KAAI,eAAc,EAAW,OAAS,IAAA,GAAW,OAAQ,WAC1E,EAAC,EAAD,CAA0B,aAAc,CAAA,CAC3B,CAAA,EACf,EAAC,EAAD,CAAA,SACG,EAAQ,OAAS,EAChB,EAAQ,IAAI,GACV,EAAC,EAAD,CAA+B,MAAO,EAAO,eAC1C,EAAO,KACE,EAFK,EAAO,KAEZ,CACb,EAED,EAAC,MAAD,CAAK,UAAU,wJAAf,CACE,EAAC,EAAD,CAAiB,YAAa,CAAI,CAAA,EAAC,sBAEhC,GAEM,CAAA,CACT,IACP,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
@@ -1,2 +1,2 @@
1
- import{Input as e}from"./ui/input.mjs";import{Label as t}from"./ui/label.mjs";import{G as n}from"./tanstack-form-CM_Hb3JT.mjs";import{FieldError as r}from"./field-BKyUqvzh.mjs";import{useCallback as i,useId as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";import{useStore as c}from"@tanstack/react-form";const l=({label:l,placeholder:u,required:d,maxLength:f,disabled:p})=>{let m=a(),{form:h,name:g,state:_,handleBlur:v,handleChange:y}=n(),b=c(h.store,({isSubmitting:e})=>e),x=_.meta.isTouched&&!_.meta.isValid,S=i(({target:{value:e}})=>{b||f&&e.length>f||y(e||null)},[b,f,y]);return s(`div`,{className:`flex flex-col gap-1.5`,children:[l&&s(t,{htmlFor:m,children:[l,d&&o(`span`,{className:`text-danger-strong`,children:`*`})]}),o(e,{id:m,name:g,value:_.value??``,"aria-invalid":x,placeholder:u,autoComplete:`off`,disabled:p||b,onBlur:v,onChange:S}),x&&o(r,{errors:_.meta.errors})]})};export{l as SimpleTextField};
2
- //# sourceMappingURL=simple-text-field-zAfkmlhc.mjs.map
1
+ import{G as e}from"./tanstack-form-PC9YNeeo.mjs";import{Input as t}from"./ui/input.mjs";import{Label as n}from"./ui/label.mjs";import{FieldError as r}from"./field-BKyUqvzh.mjs";import{useCallback as i,useId as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";import{useStore as c}from"@tanstack/react-form";const l=({label:l,placeholder:u,required:d,maxLength:f,disabled:p})=>{let m=a(),{form:h,name:g,state:_,handleBlur:v,handleChange:y}=e(),b=c(h.store,({isSubmitting:e})=>e),x=_.meta.isTouched&&!_.meta.isValid,S=i(({target:{value:e}})=>{b||f&&e.length>f||y(e||null)},[b,f,y]);return s(`div`,{className:`flex flex-col gap-1.5`,children:[l&&s(n,{htmlFor:m,children:[l,d&&o(`span`,{className:`text-danger-strong`,children:`*`})]}),o(t,{id:m,name:g,value:_.value??``,"aria-invalid":x,placeholder:u,autoComplete:`off`,disabled:p||b,onBlur:v,onChange:S}),x&&o(r,{errors:_.meta.errors})]})};export{l as SimpleTextField};
2
+ //# sourceMappingURL=simple-text-field-D8jyznSd.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-text-field-zAfkmlhc.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-text-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\nimport type { SimpleTextFieldProps as Props } from '../../types';\n\nexport const SimpleTextField: React.FC<Props> = ({ label, placeholder, required, maxLength, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLInputElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n if (maxLength && value.length > maxLength) return;\n handleChange(value || null);\n },\n [isSubmitting, maxLength, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Input\n id={id}\n name={name}\n value={state.value ?? ''}\n aria-invalid={_invalid}\n placeholder={placeholder}\n autoComplete=\"off\"\n disabled={disabled || isSubmitting}\n onBlur={handleBlur}\n onChange={onChange}\n />\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"kUAcA,MAAa,GAAoC,CAAE,QAAO,cAAa,WAAU,YAAW,cAAe,CACzG,IAAM,EAAK,EAAM,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiB,EAAuC,EAEzF,EAAe,EAAS,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,EAAW,GACd,CAAE,OAAQ,CAAE,YAAc,CACrB,GACA,GAAa,EAAM,OAAS,GAChC,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,EAAW,CAAY,CACxC,EAEA,OACE,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAO,QAAS,WAAhB,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,IAET,EAAC,EAAD,CACM,KACE,OACN,MAAO,EAAM,OAAS,GACtB,eAAc,EACD,cACb,aAAa,MACb,SAAU,GAAY,EACtB,OAAQ,EACE,UACX,CAAA,EACA,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
1
+ {"version":3,"file":"simple-text-field-D8jyznSd.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-text-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\nimport type { SimpleTextFieldProps as Props } from '../../types';\n\nexport const SimpleTextField: React.FC<Props> = ({ label, placeholder, required, maxLength, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLInputElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n if (maxLength && value.length > maxLength) return;\n handleChange(value || null);\n },\n [isSubmitting, maxLength, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Input\n id={id}\n name={name}\n value={state.value ?? ''}\n aria-invalid={_invalid}\n placeholder={placeholder}\n autoComplete=\"off\"\n disabled={disabled || isSubmitting}\n onBlur={handleBlur}\n onChange={onChange}\n />\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"kUAcA,MAAa,GAAoC,CAAE,QAAO,cAAa,WAAU,YAAW,cAAe,CACzG,IAAM,EAAK,EAAM,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiB,EAAuC,EAEzF,EAAe,EAAS,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,EAAW,GACd,CAAE,OAAQ,CAAE,YAAc,CACrB,GACA,GAAa,EAAM,OAAS,GAChC,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,EAAW,CAAY,CACxC,EAEA,OACE,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAO,QAAS,WAAhB,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,IAET,EAAC,EAAD,CACM,KACE,OACN,MAAO,EAAM,OAAS,GACtB,eAAc,EACD,cACb,aAAa,MACb,SAAU,GAAY,EACtB,OAAQ,EACE,UACX,CAAA,EACA,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
@@ -1,2 +1,2 @@
1
- const e=require("./ui/input.cjs"),t=require("./ui/label.cjs"),n=require("./tanstack-form-DS_ZvRl8.cjs"),r=require("./field-BV5twmKA.cjs");let i=require("react"),a=require("react/jsx-runtime"),o=require("@tanstack/react-form");const s=({label:s,placeholder:c,required:l,maxLength:u,disabled:d})=>{let f=(0,i.useId)(),{form:p,name:m,state:h,handleBlur:g,handleChange:_}=n.G(),v=(0,o.useStore)(p.store,({isSubmitting:e})=>e),y=h.meta.isTouched&&!h.meta.isValid,b=(0,i.useCallback)(({target:{value:e}})=>{v||u&&e.length>u||_(e||null)},[v,u,_]);return(0,a.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[s&&(0,a.jsxs)(t.Label,{htmlFor:f,children:[s,l&&(0,a.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,a.jsx)(e.Input,{id:f,name:m,value:h.value??``,"aria-invalid":y,placeholder:c,autoComplete:`off`,disabled:d||v,onBlur:g,onChange:b}),y&&(0,a.jsx)(r.FieldError,{errors:h.meta.errors})]})};exports.SimpleTextField=s;
2
- //# sourceMappingURL=simple-text-field-DVkuHrhF.cjs.map
1
+ const e=require("./tanstack-form-CNrZQZhn.cjs"),t=require("./ui/input.cjs"),n=require("./ui/label.cjs"),r=require("./field-BV5twmKA.cjs");let i=require("react"),a=require("react/jsx-runtime"),o=require("@tanstack/react-form");const s=({label:s,placeholder:c,required:l,maxLength:u,disabled:d})=>{let f=(0,i.useId)(),{form:p,name:m,state:h,handleBlur:g,handleChange:_}=e.G(),v=(0,o.useStore)(p.store,({isSubmitting:e})=>e),y=h.meta.isTouched&&!h.meta.isValid,b=(0,i.useCallback)(({target:{value:e}})=>{v||u&&e.length>u||_(e||null)},[v,u,_]);return(0,a.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[s&&(0,a.jsxs)(n.Label,{htmlFor:f,children:[s,l&&(0,a.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,a.jsx)(t.Input,{id:f,name:m,value:h.value??``,"aria-invalid":y,placeholder:c,autoComplete:`off`,disabled:d||v,onBlur:g,onChange:b}),y&&(0,a.jsx)(r.FieldError,{errors:h.meta.errors})]})};exports.SimpleTextField=s;
2
+ //# sourceMappingURL=simple-text-field-LYWVIAfQ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-text-field-DVkuHrhF.cjs","names":["useTanStackFieldContext","Label","Input","FieldError"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-text-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\nimport type { SimpleTextFieldProps as Props } from '../../types';\n\nexport const SimpleTextField: React.FC<Props> = ({ label, placeholder, required, maxLength, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLInputElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n if (maxLength && value.length > maxLength) return;\n handleChange(value || null);\n },\n [isSubmitting, maxLength, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Input\n id={id}\n name={name}\n value={state.value ?? ''}\n aria-invalid={_invalid}\n placeholder={placeholder}\n autoComplete=\"off\"\n disabled={disabled || isSubmitting}\n onBlur={handleBlur}\n onChange={onChange}\n />\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"kOAcA,MAAa,GAAoC,CAAE,QAAO,cAAa,WAAU,YAAW,cAAe,CACzG,IAAM,GAAA,EAAA,EAAA,MAAA,CAAW,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiBA,EAAAA,EAAuC,EAEzF,GAAA,EAAA,EAAA,SAAA,CAAwB,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,GAAA,EAAA,EAAA,YAAA,EACH,CAAE,OAAQ,CAAE,YAAc,CACrB,GACA,GAAa,EAAM,OAAS,GAChC,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,EAAW,CAAY,CACxC,EAEA,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,QAAS,WAAhB,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,KAET,EAAA,EAAA,IAAA,CAACC,EAAAA,MAAD,CACM,KACE,OACN,MAAO,EAAM,OAAS,GACtB,eAAc,EACD,cACb,aAAa,MACb,SAAU,GAAY,EACtB,OAAQ,EACE,UACX,CAAA,EACA,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
1
+ {"version":3,"file":"simple-text-field-LYWVIAfQ.cjs","names":["useTanStackFieldContext","Label","Input","FieldError"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-text-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\nimport type { SimpleTextFieldProps as Props } from '../../types';\n\nexport const SimpleTextField: React.FC<Props> = ({ label, placeholder, required, maxLength, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLInputElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n if (maxLength && value.length > maxLength) return;\n handleChange(value || null);\n },\n [isSubmitting, maxLength, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Input\n id={id}\n name={name}\n value={state.value ?? ''}\n aria-invalid={_invalid}\n placeholder={placeholder}\n autoComplete=\"off\"\n disabled={disabled || isSubmitting}\n onBlur={handleBlur}\n onChange={onChange}\n />\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"kOAcA,MAAa,GAAoC,CAAE,QAAO,cAAa,WAAU,YAAW,cAAe,CACzG,IAAM,GAAA,EAAA,EAAA,MAAA,CAAW,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiBA,EAAAA,EAAuC,EAEzF,GAAA,EAAA,EAAA,SAAA,CAAwB,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,GAAA,EAAA,EAAA,YAAA,EACH,CAAE,OAAQ,CAAE,YAAc,CACrB,GACA,GAAa,EAAM,OAAS,GAChC,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,EAAW,CAAY,CACxC,EAEA,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,QAAS,WAAhB,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,KAET,EAAA,EAAA,IAAA,CAACC,EAAAA,MAAD,CACM,KACE,OACN,MAAO,EAAM,OAAS,GACtB,eAAc,EACD,cACb,aAAa,MACb,SAAU,GAAY,EACtB,OAAQ,EACE,UACX,CAAA,EACA,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
@@ -1,2 +1,2 @@
1
- const e=require("./ui/label.cjs"),t=require("./tanstack-form-DS_ZvRl8.cjs"),n=require("./ui/textarea.cjs"),r=require("./field-BV5twmKA.cjs");let i=require("react"),a=require("react/jsx-runtime"),o=require("@tanstack/react-form");const s=({label:s,placeholder:c,required:l,maxLength:u,rows:d,disabled:f})=>{let p=(0,i.useId)(),{form:m,name:h,state:g,handleBlur:_,handleChange:v}=t.G(),y=(0,o.useStore)(m.store,({isSubmitting:e})=>e),b=g.meta.isTouched&&!g.meta.isValid,x=(0,i.useCallback)(({target:{value:e}})=>{y||u&&e.length>u||v(e||null)},[y,u,v]);return(0,a.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[s&&(0,a.jsxs)(e.Label,{htmlFor:p,children:[s,l&&(0,a.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,a.jsx)(n.Textarea,{id:p,name:h,value:g.value??``,"aria-invalid":b,placeholder:c,rows:d,disabled:f||y,onBlur:_,onChange:x}),b&&(0,a.jsx)(r.FieldError,{errors:g.meta.errors})]})};exports.SimpleTextareaField=s;
2
- //# sourceMappingURL=simple-textarea-field-BaMK0feA.cjs.map
1
+ const e=require("./tanstack-form-CNrZQZhn.cjs"),t=require("./ui/label.cjs"),n=require("./ui/textarea.cjs"),r=require("./field-BV5twmKA.cjs");let i=require("react"),a=require("react/jsx-runtime"),o=require("@tanstack/react-form");const s=({label:s,placeholder:c,required:l,maxLength:u,rows:d,disabled:f})=>{let p=(0,i.useId)(),{form:m,name:h,state:g,handleBlur:_,handleChange:v}=e.G(),y=(0,o.useStore)(m.store,({isSubmitting:e})=>e),b=g.meta.isTouched&&!g.meta.isValid,x=(0,i.useCallback)(({target:{value:e}})=>{y||u&&e.length>u||v(e||null)},[y,u,v]);return(0,a.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[s&&(0,a.jsxs)(t.Label,{htmlFor:p,children:[s,l&&(0,a.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,a.jsx)(n.Textarea,{id:p,name:h,value:g.value??``,"aria-invalid":b,placeholder:c,rows:d,disabled:f||y,onBlur:_,onChange:x}),b&&(0,a.jsx)(r.FieldError,{errors:g.meta.errors})]})};exports.SimpleTextareaField=s;
2
+ //# sourceMappingURL=simple-textarea-field-DcEvaizE.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-textarea-field-BaMK0feA.cjs","names":["useTanStackFieldContext","Label","Textarea","FieldError"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-textarea-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Textarea } from '@/components/ui/textarea';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n maxLength?: number;\n rows?: number;\n disabled?: boolean;\n};\n\nexport const SimpleTextareaField: React.FC<Props> = ({ label, placeholder, required, maxLength, rows, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLTextAreaElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n if (maxLength && value.length > maxLength) return;\n handleChange(value || null);\n },\n [isSubmitting, maxLength, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Textarea\n id={id}\n name={name}\n value={state.value ?? ''}\n aria-invalid={_invalid}\n placeholder={placeholder}\n rows={rows}\n disabled={disabled || isSubmitting}\n onBlur={handleBlur}\n onChange={onChange}\n />\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"qOAqBA,MAAa,GAAwC,CAAE,QAAO,cAAa,WAAU,YAAW,OAAM,cAAe,CACnH,IAAM,GAAA,EAAA,EAAA,MAAA,CAAW,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiBA,EAAAA,EAAuC,EAEzF,GAAA,EAAA,EAAA,SAAA,CAAwB,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,GAAA,EAAA,EAAA,YAAA,EACH,CAAE,OAAQ,CAAE,YAAc,CACrB,GACA,GAAa,EAAM,OAAS,GAChC,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,EAAW,CAAY,CACxC,EAEA,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,QAAS,WAAhB,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,KAET,EAAA,EAAA,IAAA,CAACC,EAAAA,SAAD,CACM,KACE,OACN,MAAO,EAAM,OAAS,GACtB,eAAc,EACD,cACP,OACN,SAAU,GAAY,EACtB,OAAQ,EACE,UACX,CAAA,EACA,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
1
+ {"version":3,"file":"simple-textarea-field-DcEvaizE.cjs","names":["useTanStackFieldContext","Label","Textarea","FieldError"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-textarea-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Textarea } from '@/components/ui/textarea';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n maxLength?: number;\n rows?: number;\n disabled?: boolean;\n};\n\nexport const SimpleTextareaField: React.FC<Props> = ({ label, placeholder, required, maxLength, rows, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLTextAreaElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n if (maxLength && value.length > maxLength) return;\n handleChange(value || null);\n },\n [isSubmitting, maxLength, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Textarea\n id={id}\n name={name}\n value={state.value ?? ''}\n aria-invalid={_invalid}\n placeholder={placeholder}\n rows={rows}\n disabled={disabled || isSubmitting}\n onBlur={handleBlur}\n onChange={onChange}\n />\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"qOAqBA,MAAa,GAAwC,CAAE,QAAO,cAAa,WAAU,YAAW,OAAM,cAAe,CACnH,IAAM,GAAA,EAAA,EAAA,MAAA,CAAW,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiBA,EAAAA,EAAuC,EAEzF,GAAA,EAAA,EAAA,SAAA,CAAwB,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,GAAA,EAAA,EAAA,YAAA,EACH,CAAE,OAAQ,CAAE,YAAc,CACrB,GACA,GAAa,EAAM,OAAS,GAChC,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,EAAW,CAAY,CACxC,EAEA,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,QAAS,WAAhB,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,KAET,EAAA,EAAA,IAAA,CAACC,EAAAA,SAAD,CACM,KACE,OACN,MAAO,EAAM,OAAS,GACtB,eAAc,EACD,cACP,OACN,SAAU,GAAY,EACtB,OAAQ,EACE,UACX,CAAA,EACA,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
@@ -1,2 +1,2 @@
1
- import{Label as e}from"./ui/label.mjs";import{G as t}from"./tanstack-form-CM_Hb3JT.mjs";import{Textarea as n}from"./ui/textarea.mjs";import{FieldError as r}from"./field-BKyUqvzh.mjs";import{useCallback as i,useId as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";import{useStore as c}from"@tanstack/react-form";const l=({label:l,placeholder:u,required:d,maxLength:f,rows:p,disabled:m})=>{let h=a(),{form:g,name:_,state:v,handleBlur:y,handleChange:b}=t(),x=c(g.store,({isSubmitting:e})=>e),S=v.meta.isTouched&&!v.meta.isValid,C=i(({target:{value:e}})=>{x||f&&e.length>f||b(e||null)},[x,f,b]);return s(`div`,{className:`flex flex-col gap-1.5`,children:[l&&s(e,{htmlFor:h,children:[l,d&&o(`span`,{className:`text-danger-strong`,children:`*`})]}),o(n,{id:h,name:_,value:v.value??``,"aria-invalid":S,placeholder:u,rows:p,disabled:m||x,onBlur:y,onChange:C}),S&&o(r,{errors:v.meta.errors})]})};export{l as SimpleTextareaField};
2
- //# sourceMappingURL=simple-textarea-field-q9DeFByl.mjs.map
1
+ import{G as e}from"./tanstack-form-PC9YNeeo.mjs";import{Label as t}from"./ui/label.mjs";import{Textarea as n}from"./ui/textarea.mjs";import{FieldError as r}from"./field-BKyUqvzh.mjs";import{useCallback as i,useId as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";import{useStore as c}from"@tanstack/react-form";const l=({label:l,placeholder:u,required:d,maxLength:f,rows:p,disabled:m})=>{let h=a(),{form:g,name:_,state:v,handleBlur:y,handleChange:b}=e(),x=c(g.store,({isSubmitting:e})=>e),S=v.meta.isTouched&&!v.meta.isValid,C=i(({target:{value:e}})=>{x||f&&e.length>f||b(e||null)},[x,f,b]);return s(`div`,{className:`flex flex-col gap-1.5`,children:[l&&s(t,{htmlFor:h,children:[l,d&&o(`span`,{className:`text-danger-strong`,children:`*`})]}),o(n,{id:h,name:_,value:v.value??``,"aria-invalid":S,placeholder:u,rows:p,disabled:m||x,onBlur:y,onChange:C}),S&&o(r,{errors:v.meta.errors})]})};export{l as SimpleTextareaField};
2
+ //# sourceMappingURL=simple-textarea-field-p9qX_n7m.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-textarea-field-q9DeFByl.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-textarea-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Textarea } from '@/components/ui/textarea';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n maxLength?: number;\n rows?: number;\n disabled?: boolean;\n};\n\nexport const SimpleTextareaField: React.FC<Props> = ({ label, placeholder, required, maxLength, rows, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLTextAreaElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n if (maxLength && value.length > maxLength) return;\n handleChange(value || null);\n },\n [isSubmitting, maxLength, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Textarea\n id={id}\n name={name}\n value={state.value ?? ''}\n aria-invalid={_invalid}\n placeholder={placeholder}\n rows={rows}\n disabled={disabled || isSubmitting}\n onBlur={handleBlur}\n onChange={onChange}\n />\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"wUAqBA,MAAa,GAAwC,CAAE,QAAO,cAAa,WAAU,YAAW,OAAM,cAAe,CACnH,IAAM,EAAK,EAAM,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiB,EAAuC,EAEzF,EAAe,EAAS,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,EAAW,GACd,CAAE,OAAQ,CAAE,YAAc,CACrB,GACA,GAAa,EAAM,OAAS,GAChC,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,EAAW,CAAY,CACxC,EAEA,OACE,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAO,QAAS,WAAhB,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,IAET,EAAC,EAAD,CACM,KACE,OACN,MAAO,EAAM,OAAS,GACtB,eAAc,EACD,cACP,OACN,SAAU,GAAY,EACtB,OAAQ,EACE,UACX,CAAA,EACA,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
1
+ {"version":3,"file":"simple-textarea-field-p9qX_n7m.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-textarea-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Textarea } from '@/components/ui/textarea';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n maxLength?: number;\n rows?: number;\n disabled?: boolean;\n};\n\nexport const SimpleTextareaField: React.FC<Props> = ({ label, placeholder, required, maxLength, rows, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLTextAreaElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n if (maxLength && value.length > maxLength) return;\n handleChange(value || null);\n },\n [isSubmitting, maxLength, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Textarea\n id={id}\n name={name}\n value={state.value ?? ''}\n aria-invalid={_invalid}\n placeholder={placeholder}\n rows={rows}\n disabled={disabled || isSubmitting}\n onBlur={handleBlur}\n onChange={onChange}\n />\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"wUAqBA,MAAa,GAAwC,CAAE,QAAO,cAAa,WAAU,YAAW,OAAM,cAAe,CACnH,IAAM,EAAK,EAAM,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiB,EAAuC,EAEzF,EAAe,EAAS,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,EAAW,GACd,CAAE,OAAQ,CAAE,YAAc,CACrB,GACA,GAAa,EAAM,OAAS,GAChC,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,EAAW,CAAY,CACxC,EAEA,OACE,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAO,QAAS,WAAhB,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,IAET,EAAC,EAAD,CACM,KACE,OACN,MAAO,EAAM,OAAS,GACtB,eAAc,EACD,cACP,OACN,SAAU,GAAY,EACtB,OAAQ,EACE,UACX,CAAA,EACA,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
@@ -0,0 +1,24 @@
1
+ //#region packages/components/ui/skeleton.d.ts
2
+ /**
3
+ * Animated pulse placeholder used to indicate loading state for text, images, or other UI elements.
4
+ *
5
+ * @example
6
+ * ```tsx
7
+ * import { Skeleton } from '@customafk/lunas-ui/ui/skeleton';
8
+ *
9
+ * <div className="flex items-center gap-4">
10
+ * <Skeleton className="size-10 rounded-full" />
11
+ * <div className="space-y-2">
12
+ * <Skeleton className="h-4 w-40" />
13
+ * <Skeleton className="h-4 w-24" />
14
+ * </div>
15
+ * </div>
16
+ * ```
17
+ */
18
+ declare function Skeleton({
19
+ className,
20
+ ...props
21
+ }: React.ComponentProps<'div'>): import("react").JSX.Element;
22
+ //#endregion
23
+ export { Skeleton as t };
24
+ //# sourceMappingURL=skeleton-Ct4sYEKk.d.cts.map
@@ -0,0 +1,24 @@
1
+ //#region packages/components/ui/skeleton.d.ts
2
+ /**
3
+ * Animated pulse placeholder used to indicate loading state for text, images, or other UI elements.
4
+ *
5
+ * @example
6
+ * ```tsx
7
+ * import { Skeleton } from '@customafk/lunas-ui/ui/skeleton';
8
+ *
9
+ * <div className="flex items-center gap-4">
10
+ * <Skeleton className="size-10 rounded-full" />
11
+ * <div className="space-y-2">
12
+ * <Skeleton className="h-4 w-40" />
13
+ * <Skeleton className="h-4 w-24" />
14
+ * </div>
15
+ * </div>
16
+ * ```
17
+ */
18
+ declare function Skeleton({
19
+ className,
20
+ ...props
21
+ }: React.ComponentProps<'div'>): import("react").JSX.Element;
22
+ //#endregion
23
+ export { Skeleton as t };
24
+ //# sourceMappingURL=skeleton-Ct4sYEKk.d.mts.map
@@ -0,0 +1,24 @@
1
+ import { Slider } from "radix-ui";
2
+
3
+ //#region packages/components/ui/slider.d.ts
4
+ /**
5
+ * An accessible range slider supporting single-thumb, multi-thumb, and vertical orientations.
6
+ *
7
+ * @example
8
+ * ```tsx
9
+ * import { Slider } from '@customafk/lunas-ui/ui/slider';
10
+ *
11
+ * <Slider defaultValue={[40]} min={0} max={100} step={5} />
12
+ * ```
13
+ */
14
+ declare function Slider$1({
15
+ className,
16
+ defaultValue,
17
+ value,
18
+ min,
19
+ max,
20
+ ...props
21
+ }: React.ComponentProps<typeof Slider.Root>): import("react").JSX.Element;
22
+ //#endregion
23
+ export { Slider$1 as t };
24
+ //# sourceMappingURL=slider-DwR1MhR8.d.cts.map