ivt 0.7.4 → 0.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/dist/accordion/index.mjs +13 -13
  2. package/dist/accordion-table/index.mjs +25 -25
  3. package/dist/alert/index.mjs +3 -3
  4. package/dist/alert-dialog/index.mjs +15 -15
  5. package/dist/auto-complete-multi-select/index.mjs +31 -31
  6. package/dist/avatar/index.mjs +5 -5
  7. package/dist/badge/index.mjs +3 -3
  8. package/dist/base/index.d.ts +31 -9
  9. package/dist/base/index.mjs +79 -79
  10. package/dist/base/index.mjs.map +1 -1
  11. package/dist/breadcrumb/index.mjs +5 -5
  12. package/dist/button/index.d.ts +1 -1
  13. package/dist/button/index.mjs +3 -3
  14. package/dist/button-group/index.d.ts +3 -2
  15. package/dist/button-group/index.mjs +3 -3
  16. package/dist/calendar/index.mjs +9 -9
  17. package/dist/card/index.mjs +3 -3
  18. package/dist/carousel/index.mjs +4 -4
  19. package/dist/chart/index.mjs +4 -4
  20. package/dist/checkbox/index.mjs +12 -12
  21. package/dist/chunks/{AutoComplete-qFuwmV53.mjs → AutoComplete-BpwnFm_u.mjs} +23 -12
  22. package/dist/chunks/AutoComplete-BpwnFm_u.mjs.map +1 -0
  23. package/dist/chunks/{CalendarRange-Ce7PiNfq.mjs → CalendarRange-BGP7p-ma.mjs} +8 -8
  24. package/dist/chunks/{CalendarRange-Ce7PiNfq.mjs.map → CalendarRange-BGP7p-ma.mjs.map} +1 -1
  25. package/dist/chunks/{ComboboxField-DaRpRraW.mjs → ComboboxField-CzJlHHXv.mjs} +9 -9
  26. package/dist/chunks/{ComboboxField-DaRpRraW.mjs.map → ComboboxField-CzJlHHXv.mjs.map} +1 -1
  27. package/dist/chunks/{Container-DwaAaEiC.mjs → Container-77E_UFi2.mjs} +2 -2
  28. package/dist/chunks/{Container-DwaAaEiC.mjs.map → Container-77E_UFi2.mjs.map} +1 -1
  29. package/dist/chunks/{DeleteConfirmationModal-BwTbbBAw.mjs → DeleteConfirmationModal-DQK05Srx.mjs} +4 -4
  30. package/dist/chunks/{DeleteConfirmationModal-BwTbbBAw.mjs.map → DeleteConfirmationModal-DQK05Srx.mjs.map} +1 -1
  31. package/dist/chunks/{ListItem-zxS4CZdq.mjs → ListItem-B0_5JcsU.mjs} +4 -4
  32. package/dist/chunks/{ListItem-zxS4CZdq.mjs.map → ListItem-B0_5JcsU.mjs.map} +1 -1
  33. package/dist/chunks/{TooltipIndicator-CwGGAeRz.mjs → TooltipIndicator-Db1poSJI.mjs} +4 -4
  34. package/dist/chunks/{TooltipIndicator-CwGGAeRz.mjs.map → TooltipIndicator-Db1poSJI.mjs.map} +1 -1
  35. package/dist/chunks/{_commonjsHelpers-B2Be7UYW.mjs → _commonjsHelpers-DkfSKqYE.mjs} +1 -1
  36. package/dist/chunks/_commonjsHelpers-DkfSKqYE.mjs.map +1 -0
  37. package/dist/chunks/{accordion-D4JVALAO.mjs → accordion-DSn7k_RQ.mjs} +9 -9
  38. package/dist/chunks/{accordion-D4JVALAO.mjs.map → accordion-DSn7k_RQ.mjs.map} +1 -1
  39. package/dist/chunks/{alert-D-E6nsVK.mjs → alert-aP6n7wtq.mjs} +2 -2
  40. package/dist/chunks/{alert-D-E6nsVK.mjs.map → alert-aP6n7wtq.mjs.map} +1 -1
  41. package/dist/chunks/{badge-C6mkl9yr.mjs → badge-CsUuqHNu.mjs} +2 -2
  42. package/dist/chunks/{badge-C6mkl9yr.mjs.map → badge-CsUuqHNu.mjs.map} +1 -1
  43. package/dist/chunks/{bundle-mjs-B1dpl-bk.mjs → bundle-mjs-BRbxNcQb.mjs} +1 -1
  44. package/dist/chunks/{bundle-mjs-B1dpl-bk.mjs.map → bundle-mjs-BRbxNcQb.mjs.map} +1 -1
  45. package/dist/chunks/{button-DsgJkgEz.mjs → button-BW9I4XWU.mjs} +2 -2
  46. package/dist/chunks/{button-DsgJkgEz.mjs.map → button-BW9I4XWU.mjs.map} +1 -1
  47. package/dist/chunks/button-C8IZYeQz.d.ts +16 -0
  48. package/dist/chunks/{calendar-Co99lCn4.mjs → calendar-C549VT55.mjs} +531 -531
  49. package/dist/chunks/{calendar-Co99lCn4.mjs.map → calendar-C549VT55.mjs.map} +1 -1
  50. package/dist/chunks/{calendar-days-BF4GDmMr.mjs → calendar-days-BSzlDBsi.mjs} +2 -2
  51. package/dist/chunks/{calendar-days-BF4GDmMr.mjs.map → calendar-days-BSzlDBsi.mjs.map} +1 -1
  52. package/dist/chunks/{card-Cuo7NL8y.mjs → card-Dqm2EuWU.mjs} +2 -2
  53. package/dist/chunks/{card-Cuo7NL8y.mjs.map → card-Dqm2EuWU.mjs.map} +1 -1
  54. package/dist/chunks/{check-CzKqQLNR.mjs → check-CKdwsuVA.mjs} +2 -2
  55. package/dist/chunks/{check-CzKqQLNR.mjs.map → check-CKdwsuVA.mjs.map} +1 -1
  56. package/dist/chunks/{checkbox-C7RUdsIS.mjs → checkbox-CvaPsjy3.mjs} +9 -9
  57. package/dist/chunks/{checkbox-C7RUdsIS.mjs.map → checkbox-CvaPsjy3.mjs.map} +1 -1
  58. package/dist/chunks/{chevron-down-CZjN_vyX.mjs → chevron-down-o7NUBnJ4.mjs} +2 -2
  59. package/dist/chunks/{chevron-down-CZjN_vyX.mjs.map → chevron-down-o7NUBnJ4.mjs.map} +1 -1
  60. package/dist/chunks/{chevron-left-BpfBwM4S.mjs → chevron-left-BZ8X7kLy.mjs} +2 -2
  61. package/dist/chunks/{chevron-left-BpfBwM4S.mjs.map → chevron-left-BZ8X7kLy.mjs.map} +1 -1
  62. package/dist/chunks/{chevron-right-uq-O8rwC.mjs → chevron-right-jAScR3zY.mjs} +2 -2
  63. package/dist/chunks/{chevron-right-uq-O8rwC.mjs.map → chevron-right-jAScR3zY.mjs.map} +1 -1
  64. package/dist/chunks/{chevrons-up-down-DKM8h8j_.mjs → chevrons-up-down-BSIPdamI.mjs} +2 -2
  65. package/dist/chunks/{chevrons-up-down-DKM8h8j_.mjs.map → chevrons-up-down-BSIPdamI.mjs.map} +1 -1
  66. package/dist/chunks/{command-CAS791lb.mjs → command-B29vdoVO.mjs} +8 -8
  67. package/dist/chunks/{command-CAS791lb.mjs.map → command-B29vdoVO.mjs.map} +1 -1
  68. package/dist/chunks/{createLucideIcon-xkRZC0aJ.mjs → createLucideIcon-CkP7424r.mjs} +1 -1
  69. package/dist/chunks/{createLucideIcon-xkRZC0aJ.mjs.map → createLucideIcon-CkP7424r.mjs.map} +1 -1
  70. package/dist/chunks/{date-DYEUxjwi.mjs → date-Y_hKMQVr.mjs} +2 -2
  71. package/dist/chunks/{date-DYEUxjwi.mjs.map → date-Y_hKMQVr.mjs.map} +1 -1
  72. package/dist/chunks/{dialog-Dt_M700u.mjs → dialog-BhaHMQnG.mjs} +4 -4
  73. package/dist/chunks/{dialog-Dt_M700u.mjs.map → dialog-BhaHMQnG.mjs.map} +1 -1
  74. package/dist/chunks/{ellipsis-BcRZkfZw.mjs → ellipsis-DHAz8TrI.mjs} +2 -2
  75. package/dist/chunks/{ellipsis-BcRZkfZw.mjs.map → ellipsis-DHAz8TrI.mjs.map} +1 -1
  76. package/dist/chunks/{form-CJnoOgoH.mjs → form-BAxhKbgh.mjs} +3 -3
  77. package/dist/chunks/{form-CJnoOgoH.mjs.map → form-BAxhKbgh.mjs.map} +1 -1
  78. package/dist/chunks/{format-BSPAt__h.mjs → format-CR4Q6BSq.mjs} +1 -1
  79. package/dist/chunks/{format-BSPAt__h.mjs.map → format-CR4Q6BSq.mjs.map} +1 -1
  80. package/dist/chunks/{format-numbers-BpGX211b.mjs → format-numbers-CWj9Vf7x.mjs} +1 -1
  81. package/dist/chunks/{format-numbers-BpGX211b.mjs.map → format-numbers-CWj9Vf7x.mjs.map} +1 -1
  82. package/dist/chunks/{hover-card-DKMcpBnt.mjs → hover-card-DVmQc78n.mjs} +9 -9
  83. package/dist/chunks/{hover-card-DKMcpBnt.mjs.map → hover-card-DVmQc78n.mjs.map} +1 -1
  84. package/dist/chunks/{index-DjoMuta5.mjs → index-4pJ77hyF.mjs} +1 -1
  85. package/dist/chunks/{index-DjoMuta5.mjs.map → index-4pJ77hyF.mjs.map} +1 -1
  86. package/dist/chunks/{index-9921_a2g.mjs → index-BN17NQCv.mjs} +1 -1
  87. package/dist/chunks/{index-9921_a2g.mjs.map → index-BN17NQCv.mjs.map} +1 -1
  88. package/dist/chunks/{index-7wUPkpwA.mjs → index-Bt1elORc.mjs} +9 -9
  89. package/dist/chunks/{index-7wUPkpwA.mjs.map → index-Bt1elORc.mjs.map} +1 -1
  90. package/dist/chunks/{index-CsC-dafu.mjs → index-CByz7d8q.mjs} +3 -3
  91. package/dist/chunks/{index-CsC-dafu.mjs.map → index-CByz7d8q.mjs.map} +1 -1
  92. package/dist/chunks/{index-CvWc6WZ4.mjs → index-CS2Lzoed.mjs} +7 -7
  93. package/dist/chunks/{index-CvWc6WZ4.mjs.map → index-CS2Lzoed.mjs.map} +1 -1
  94. package/dist/chunks/{index-Cm5-jAR7.mjs → index-CVjOpozG.mjs} +1 -1
  95. package/dist/chunks/{index-Cm5-jAR7.mjs.map → index-CVjOpozG.mjs.map} +1 -1
  96. package/dist/chunks/{index-BtdTgi0_.mjs → index-Cs9A0tpU.mjs} +1 -1
  97. package/dist/chunks/{index-BtdTgi0_.mjs.map → index-Cs9A0tpU.mjs.map} +1 -1
  98. package/dist/chunks/{index-0DBJW078.mjs → index-Ct610FOk.mjs} +2 -2
  99. package/dist/chunks/{index-0DBJW078.mjs.map → index-Ct610FOk.mjs.map} +1 -1
  100. package/dist/chunks/{index-DSBOi0JP.mjs → index-CvVBB5ll.mjs} +4 -4
  101. package/dist/chunks/{index-DSBOi0JP.mjs.map → index-CvVBB5ll.mjs.map} +1 -1
  102. package/dist/chunks/{index-B8pOe-bI.mjs → index-D1CSAowX.mjs} +13 -13
  103. package/dist/chunks/{index-B8pOe-bI.mjs.map → index-D1CSAowX.mjs.map} +1 -1
  104. package/dist/chunks/{index-BpZD69GD.mjs → index-D2DYiX9D.mjs} +2 -2
  105. package/dist/chunks/{index-BpZD69GD.mjs.map → index-D2DYiX9D.mjs.map} +1 -1
  106. package/dist/chunks/{index-SJQIKyxi.mjs → index-D8mA4n7w.mjs} +1 -1
  107. package/dist/chunks/{index-SJQIKyxi.mjs.map → index-D8mA4n7w.mjs.map} +1 -1
  108. package/dist/chunks/{index-CuEeN4AG.mjs → index-DCDDoDjL.mjs} +6 -6
  109. package/dist/chunks/{index-CuEeN4AG.mjs.map → index-DCDDoDjL.mjs.map} +1 -1
  110. package/dist/chunks/{index-G8uUqzC7.mjs → index-DLqxy-dg.mjs} +1 -1
  111. package/dist/chunks/{index-G8uUqzC7.mjs.map → index-DLqxy-dg.mjs.map} +1 -1
  112. package/dist/chunks/{index-DaifcY5X.mjs → index-DNMhNzeD.mjs} +7 -7
  113. package/dist/chunks/{index-DaifcY5X.mjs.map → index-DNMhNzeD.mjs.map} +1 -1
  114. package/dist/chunks/{index-zv8c0UAU.mjs → index-DQD35Ges.mjs} +3 -3
  115. package/dist/chunks/{index-zv8c0UAU.mjs.map → index-DQD35Ges.mjs.map} +1 -1
  116. package/dist/chunks/{index-B49Rv10M.mjs → index-D_Q4NGnO.mjs} +1 -1
  117. package/dist/chunks/{index-B49Rv10M.mjs.map → index-D_Q4NGnO.mjs.map} +1 -1
  118. package/dist/chunks/{index-fcmnzZn6.mjs → index-D_e6adwb.mjs} +5 -5
  119. package/dist/chunks/{index-fcmnzZn6.mjs.map → index-D_e6adwb.mjs.map} +1 -1
  120. package/dist/chunks/{index-DWtzT31F.mjs → index-DhI6OG_H.mjs} +2 -2
  121. package/dist/chunks/{index-DWtzT31F.mjs.map → index-DhI6OG_H.mjs.map} +1 -1
  122. package/dist/chunks/{index-Dn87UbZu.mjs → index-Dp_0m03a.mjs} +2 -2
  123. package/dist/chunks/{index-Dn87UbZu.mjs.map → index-Dp_0m03a.mjs.map} +1 -1
  124. package/dist/chunks/{index-B8zlei3I.mjs → index-oX_tk439.mjs} +1 -1
  125. package/dist/chunks/{index-B8zlei3I.mjs.map → index-oX_tk439.mjs.map} +1 -1
  126. package/dist/chunks/{index.module-B_Z75X1e.mjs → index.module-Df4mRjmZ.mjs} +1 -1
  127. package/dist/chunks/{index.module-B_Z75X1e.mjs.map → index.module-Df4mRjmZ.mjs.map} +1 -1
  128. package/dist/chunks/{input-NILUGijL.mjs → input-YpoAHnXb.mjs} +2 -2
  129. package/dist/chunks/{input-NILUGijL.mjs.map → input-YpoAHnXb.mjs.map} +1 -1
  130. package/dist/chunks/{input-otp-b-7MmY2H.mjs → input-otp-BKqdZwNx.mjs} +3 -3
  131. package/dist/chunks/{input-otp-b-7MmY2H.mjs.map → input-otp-BKqdZwNx.mjs.map} +1 -1
  132. package/dist/chunks/{label-81mjh4Q4.mjs → label-D5s6d0et.mjs} +2 -2
  133. package/dist/chunks/{label-81mjh4Q4.mjs.map → label-D5s6d0et.mjs.map} +1 -1
  134. package/dist/chunks/{loader-circle-sGBNpyP3.mjs → loader-circle-C7StEOZI.mjs} +2 -2
  135. package/dist/chunks/{loader-circle-sGBNpyP3.mjs.map → loader-circle-C7StEOZI.mjs.map} +1 -1
  136. package/dist/chunks/{menubar-Dz5biTZv.mjs → menubar-ySifmjAG.mjs} +11 -11
  137. package/dist/chunks/{menubar-Dz5biTZv.mjs.map → menubar-ySifmjAG.mjs.map} +1 -1
  138. package/dist/chunks/{multi-select-DeW-tL6j.mjs → multi-select-BsnRMfg7.mjs} +13 -13
  139. package/dist/chunks/{multi-select-DeW-tL6j.mjs.map → multi-select-BsnRMfg7.mjs.map} +1 -1
  140. package/dist/chunks/{pagination-0W2Kek6Z.mjs → pagination-CV6N_Qu_.mjs} +6 -6
  141. package/dist/chunks/{pagination-0W2Kek6Z.mjs.map → pagination-CV6N_Qu_.mjs.map} +1 -1
  142. package/dist/chunks/{popover-ChoMUAP9.mjs → popover-D3JC54Y3.mjs} +11 -11
  143. package/dist/chunks/{popover-ChoMUAP9.mjs.map → popover-D3JC54Y3.mjs.map} +1 -1
  144. package/dist/chunks/{progress-zrBdDKEV.mjs → progress-D_Enl4tV.mjs} +2 -2
  145. package/dist/chunks/{progress-zrBdDKEV.mjs.map → progress-D_Enl4tV.mjs.map} +1 -1
  146. package/dist/chunks/{radio-group-r3ejuIom.mjs → radio-group-yF1QEewC.mjs} +11 -11
  147. package/dist/chunks/{radio-group-r3ejuIom.mjs.map → radio-group-yF1QEewC.mjs.map} +1 -1
  148. package/dist/chunks/{react-number-format.es-rRpdCutF.mjs → react-number-format.es-C3uDZhRo.mjs} +1 -1
  149. package/dist/chunks/{react-number-format.es-rRpdCutF.mjs.map → react-number-format.es-C3uDZhRo.mjs.map} +1 -1
  150. package/dist/chunks/{scroll-area-DjtXX0pm.mjs → scroll-area-CdGRe--S.mjs} +9 -9
  151. package/dist/chunks/{scroll-area-DjtXX0pm.mjs.map → scroll-area-CdGRe--S.mjs.map} +1 -1
  152. package/dist/chunks/{select-CICQavYx.mjs → select-B8JYuJE5.mjs} +5 -5
  153. package/dist/chunks/{select-CICQavYx.mjs.map → select-B8JYuJE5.mjs.map} +1 -1
  154. package/dist/chunks/{separator-CL28DVoA.mjs → separator-sWF5eZgM.mjs} +2 -2
  155. package/dist/chunks/{separator-CL28DVoA.mjs.map → separator-sWF5eZgM.mjs.map} +1 -1
  156. package/dist/chunks/{sheet-BIN5Bwkz.mjs → sheet-D-4XWzUo.mjs} +4 -4
  157. package/dist/chunks/{sheet-BIN5Bwkz.mjs.map → sheet-D-4XWzUo.mjs.map} +1 -1
  158. package/dist/chunks/{skeleton-DEo09dsp.mjs → skeleton-CQlSHSfr.mjs} +2 -2
  159. package/dist/chunks/{skeleton-DEo09dsp.mjs.map → skeleton-CQlSHSfr.mjs.map} +1 -1
  160. package/dist/chunks/{slider-C_afdOBq.mjs → slider-CaliGouI.mjs} +9 -9
  161. package/dist/chunks/{slider-C_afdOBq.mjs.map → slider-CaliGouI.mjs.map} +1 -1
  162. package/dist/chunks/{sortable-Hz2p-hG_.mjs → sortable-BoTUMXD0.mjs} +3 -3
  163. package/dist/chunks/{sortable-Hz2p-hG_.mjs.map → sortable-BoTUMXD0.mjs.map} +1 -1
  164. package/dist/chunks/{styles-DQr_CtBg.mjs → styles-C5sFcbz4.mjs} +1 -1
  165. package/dist/chunks/{styles-DQr_CtBg.mjs.map → styles-C5sFcbz4.mjs.map} +1 -1
  166. package/dist/chunks/{switch-CoxjUYji.mjs → switch-szutUcvb.mjs} +7 -7
  167. package/dist/chunks/{switch-CoxjUYji.mjs.map → switch-szutUcvb.mjs.map} +1 -1
  168. package/dist/chunks/{table-CaTzvnGO.mjs → table-wwce3IsC.mjs} +2 -2
  169. package/dist/chunks/{table-CaTzvnGO.mjs.map → table-wwce3IsC.mjs.map} +1 -1
  170. package/dist/chunks/{tabs-DbcqE74l.mjs → tabs-BDPMoWeJ.mjs} +9 -9
  171. package/dist/chunks/{tabs-DbcqE74l.mjs.map → tabs-BDPMoWeJ.mjs.map} +1 -1
  172. package/dist/chunks/{textarea-C99bTFre.mjs → textarea-DYBOxg35.mjs} +2 -2
  173. package/dist/chunks/{textarea-C99bTFre.mjs.map → textarea-DYBOxg35.mjs.map} +1 -1
  174. package/dist/chunks/toast-S15TT7Q2.mjs +702 -0
  175. package/dist/chunks/toast-S15TT7Q2.mjs.map +1 -0
  176. package/dist/chunks/{toggle-x7-6JYvP.mjs → toggle-GXtKRhvr.mjs} +4 -4
  177. package/dist/chunks/{toggle-x7-6JYvP.mjs.map → toggle-GXtKRhvr.mjs.map} +1 -1
  178. package/dist/chunks/{tooltip-aCFcTWvT.mjs → tooltip-z43eMlPO.mjs} +11 -11
  179. package/dist/chunks/{tooltip-aCFcTWvT.mjs.map → tooltip-z43eMlPO.mjs.map} +1 -1
  180. package/dist/chunks/{trash-2-BRTBRPsE.mjs → trash-2-CZE_1bXY.mjs} +2 -2
  181. package/dist/chunks/{trash-2-BRTBRPsE.mjs.map → trash-2-CZE_1bXY.mjs.map} +1 -1
  182. package/dist/chunks/{triangle-alert-DEr_0gbo.mjs → triangle-alert-BeczCtiG.mjs} +2 -2
  183. package/dist/chunks/{triangle-alert-DEr_0gbo.mjs.map → triangle-alert-BeczCtiG.mjs.map} +1 -1
  184. package/dist/chunks/{tslib.es6-9fTryOSE.mjs → tslib.es6-B20VGjW7.mjs} +1 -1
  185. package/dist/chunks/{tslib.es6-9fTryOSE.mjs.map → tslib.es6-B20VGjW7.mjs.map} +1 -1
  186. package/dist/chunks/use-toast-C3gJQZ0s.mjs +137 -0
  187. package/dist/chunks/use-toast-C3gJQZ0s.mjs.map +1 -0
  188. package/dist/chunks/{utils-M7D-rn0u.mjs → utils-uOfHPBdi.mjs} +2 -2
  189. package/dist/chunks/{utils-M7D-rn0u.mjs.map → utils-uOfHPBdi.mjs.map} +1 -1
  190. package/dist/chunks/{wand-sparkles-cr6EaHA_.mjs → wand-sparkles-COk3z6HL.mjs} +2 -2
  191. package/dist/chunks/{wand-sparkles-cr6EaHA_.mjs.map → wand-sparkles-COk3z6HL.mjs.map} +1 -1
  192. package/dist/chunks/{x-Heb3hHKJ.mjs → x-D5HL_X5m.mjs} +2 -2
  193. package/dist/chunks/{x-Heb3hHKJ.mjs.map → x-D5HL_X5m.mjs.map} +1 -1
  194. package/dist/collapsible/index.mjs +7 -7
  195. package/dist/combobox/index.mjs +24 -24
  196. package/dist/command/index.d.ts +7 -7
  197. package/dist/command/index.mjs +18 -18
  198. package/dist/context-menu/index.mjs +21 -21
  199. package/dist/dash/index.mjs +24 -24
  200. package/dist/data-table/index.mjs +33 -33
  201. package/dist/date-picker/index.d.ts +22 -7
  202. package/dist/date-picker/index.mjs +25 -25
  203. package/dist/dialog/index.mjs +17 -17
  204. package/dist/drawer/index.mjs +14 -14
  205. package/dist/dropdown-menu/index.mjs +21 -21
  206. package/dist/dropzone/index.mjs +19 -131
  207. package/dist/dropzone/index.mjs.map +1 -1
  208. package/dist/editable-table/index.mjs +18 -18
  209. package/dist/empty/index.mjs +2 -2
  210. package/dist/field/index.d.ts +3 -2
  211. package/dist/field/index.mjs +4 -4
  212. package/dist/form/index.mjs +4 -4
  213. package/dist/form-fields/index.mjs +26 -26
  214. package/dist/form-layout/index.d.ts +1 -0
  215. package/dist/form-layout/index.mjs +69 -56
  216. package/dist/form-layout/index.mjs.map +1 -1
  217. package/dist/hover-card/index.mjs +13 -13
  218. package/dist/icon/index.mjs +1 -1
  219. package/dist/input/index.mjs +3 -3
  220. package/dist/input-group/index.d.ts +1 -1
  221. package/dist/input-group/index.mjs +5 -5
  222. package/dist/input-otp/index.mjs +4 -4
  223. package/dist/item/index.d.ts +4 -2
  224. package/dist/item/index.mjs +3 -3
  225. package/dist/kbd/index.mjs +2 -2
  226. package/dist/label/index.mjs +3 -3
  227. package/dist/layout/index.mjs +21 -21
  228. package/dist/menubar/index.mjs +22 -22
  229. package/dist/multi-input-list/index.mjs +28 -28
  230. package/dist/multi-select/index.mjs +31 -31
  231. package/dist/navigation-menu/index.mjs +15 -15
  232. package/dist/pagination/index.d.ts +1 -1
  233. package/dist/pagination/index.mjs +8 -8
  234. package/dist/popover/index.mjs +16 -16
  235. package/dist/progress/index.mjs +3 -3
  236. package/dist/radio-group/index.mjs +16 -16
  237. package/dist/resizable/index.mjs +3 -3
  238. package/dist/scroll-area/index.mjs +10 -10
  239. package/dist/select/index.mjs +6 -6
  240. package/dist/separator/index.mjs +3 -3
  241. package/dist/shared/index.d.ts +13 -3
  242. package/dist/shared/index.mjs +6 -6
  243. package/dist/shared/index.mjs.map +1 -1
  244. package/dist/sheet/index.d.ts +7 -7
  245. package/dist/sheet/index.mjs +17 -17
  246. package/dist/sidebar/index.d.ts +17 -4
  247. package/dist/sidebar/index.mjs +25 -25
  248. package/dist/skeleton/index.mjs +3 -3
  249. package/dist/skeleton-component/index.mjs +4 -4
  250. package/dist/slider/index.mjs +11 -11
  251. package/dist/sortable/index.d.ts +12 -3
  252. package/dist/sortable/index.mjs +4 -4
  253. package/dist/spinner/index.mjs +4 -4
  254. package/dist/switch/index.mjs +9 -9
  255. package/dist/table/index.mjs +3 -3
  256. package/dist/table-filter/index.d.ts +8 -3
  257. package/dist/table-filter/index.mjs +52 -52
  258. package/dist/tabs/index.mjs +12 -12
  259. package/dist/textarea/index.mjs +3 -3
  260. package/dist/toast/index.mjs +19 -703
  261. package/dist/toast/index.mjs.map +1 -1
  262. package/dist/toaster/index.d.ts +5 -0
  263. package/dist/toaster/index.mjs +34 -0
  264. package/dist/toaster/index.mjs.map +1 -0
  265. package/dist/toggle/index.mjs +6 -6
  266. package/dist/toggle-group/index.mjs +11 -11
  267. package/dist/tooltip/index.mjs +15 -15
  268. package/package.json +5 -2
  269. package/dist/chunks/AutoComplete-qFuwmV53.mjs.map +0 -1
  270. package/dist/chunks/_commonjsHelpers-B2Be7UYW.mjs.map +0 -1
@@ -1,26 +1,26 @@
1
1
  import React__default from 'react';
2
- import { N as NumericFormat } from '../chunks/react-number-format.es-rRpdCutF.mjs';
3
- import { c as cn } from '../chunks/utils-M7D-rn0u.mjs';
4
- import { C as Checkbox } from '../chunks/checkbox-C7RUdsIS.mjs';
5
- import { T as Table, a as TableHeader, e as TableRow, d as TableHead, b as TableBody, f as TableCell } from '../chunks/table-CaTzvnGO.mjs';
6
- import { S as Select, h as SelectTrigger, i as SelectValue, a as SelectContent, c as SelectItem } from '../chunks/select-CICQavYx.mjs';
7
- import { I as Input } from '../chunks/input-NILUGijL.mjs';
8
- import { B as Button } from '../chunks/button-DsgJkgEz.mjs';
9
- import '../chunks/bundle-mjs-B1dpl-bk.mjs';
10
- import '../chunks/index-Cm5-jAR7.mjs';
2
+ import { N as NumericFormat } from '../chunks/react-number-format.es-C3uDZhRo.mjs';
3
+ import { c as cn } from '../chunks/utils-uOfHPBdi.mjs';
4
+ import { C as Checkbox } from '../chunks/checkbox-CvaPsjy3.mjs';
5
+ import { T as Table, a as TableHeader, e as TableRow, d as TableHead, b as TableBody, f as TableCell } from '../chunks/table-wwce3IsC.mjs';
6
+ import { S as Select, h as SelectTrigger, i as SelectValue, a as SelectContent, c as SelectItem } from '../chunks/select-B8JYuJE5.mjs';
7
+ import { I as Input } from '../chunks/input-YpoAHnXb.mjs';
8
+ import { B as Button } from '../chunks/button-BW9I4XWU.mjs';
9
+ import '../chunks/bundle-mjs-BRbxNcQb.mjs';
10
+ import '../chunks/index-CVjOpozG.mjs';
11
11
  import 'react/jsx-runtime';
12
- import '../chunks/index-G8uUqzC7.mjs';
12
+ import '../chunks/index-DLqxy-dg.mjs';
13
13
  import 'react-dom';
14
14
  import '@radix-ui/react-slot';
15
- import '../chunks/index-BpZD69GD.mjs';
16
- import '../chunks/index-DjoMuta5.mjs';
17
- import '../chunks/index-SJQIKyxi.mjs';
18
- import '../chunks/index-DWtzT31F.mjs';
19
- import '../chunks/index-CsC-dafu.mjs';
20
- import '../chunks/check-CzKqQLNR.mjs';
21
- import '../chunks/createLucideIcon-xkRZC0aJ.mjs';
15
+ import '../chunks/index-D2DYiX9D.mjs';
16
+ import '../chunks/index-4pJ77hyF.mjs';
17
+ import '../chunks/index-D8mA4n7w.mjs';
18
+ import '../chunks/index-DhI6OG_H.mjs';
19
+ import '../chunks/index-CByz7d8q.mjs';
20
+ import '../chunks/check-CKdwsuVA.mjs';
21
+ import '../chunks/createLucideIcon-CkP7424r.mjs';
22
22
  import '@radix-ui/react-select';
23
- import '../chunks/chevron-down-CZjN_vyX.mjs';
23
+ import '../chunks/chevron-down-o7NUBnJ4.mjs';
24
24
  import 'class-variance-authority';
25
25
 
26
26
  const styleInput = "border-input file:text-foreground placeholder:text-muted-foreground focus-visible:ring-ring flex h-10 w-full rounded-md border bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm";
@@ -1,7 +1,7 @@
1
1
  import { cva } from 'class-variance-authority';
2
2
  import React__default from 'react';
3
- import { c as cn } from '../chunks/utils-M7D-rn0u.mjs';
4
- import '../chunks/bundle-mjs-B1dpl-bk.mjs';
3
+ import { c as cn } from '../chunks/utils-uOfHPBdi.mjs';
4
+ import '../chunks/bundle-mjs-BRbxNcQb.mjs';
5
5
 
6
6
  function Empty({ className, ...props }) {
7
7
  return /*#__PURE__*/ React__default.createElement("div", {
@@ -2,8 +2,9 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
2
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
3
  import { VariantProps } from 'class-variance-authority';
4
4
  import React__default from 'react';
5
- import { Label } from '../label/index.js';
6
- import '@radix-ui/react-label';
5
+ import * as LabelPrimitive from '@radix-ui/react-label';
6
+
7
+ declare function Label({ className, ...props }: React__default.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime.JSX.Element;
7
8
 
8
9
  declare function FieldSet({ className, ...props }: React__default.ComponentProps<"fieldset">): react_jsx_runtime.JSX.Element;
9
10
  declare function FieldLegend({ className, variant, ...props }: React__default.ComponentProps<"legend"> & {
@@ -1,9 +1,9 @@
1
1
  import { cva } from 'class-variance-authority';
2
2
  import React__default from 'react';
3
- import { c as cn } from '../chunks/utils-M7D-rn0u.mjs';
4
- import { L as Label } from '../chunks/label-81mjh4Q4.mjs';
5
- import { S as Separator } from '../chunks/separator-CL28DVoA.mjs';
6
- import '../chunks/bundle-mjs-B1dpl-bk.mjs';
3
+ import { c as cn } from '../chunks/utils-uOfHPBdi.mjs';
4
+ import { L as Label } from '../chunks/label-D5s6d0et.mjs';
5
+ import { S as Separator } from '../chunks/separator-sWF5eZgM.mjs';
6
+ import '../chunks/bundle-mjs-BRbxNcQb.mjs';
7
7
  import 'react-dom';
8
8
  import '@radix-ui/react-slot';
9
9
  import 'react/jsx-runtime';
@@ -1,9 +1,9 @@
1
- export { F as Form, c as FormControl, d as FormDescription, f as FormField, a as FormItem, b as FormLabel, e as FormMessage, u as useFormField } from '../chunks/form-CJnoOgoH.mjs';
1
+ export { F as Form, c as FormControl, d as FormDescription, f as FormField, a as FormItem, b as FormLabel, e as FormMessage, u as useFormField } from '../chunks/form-BAxhKbgh.mjs';
2
2
  import '@radix-ui/react-slot';
3
3
  import 'react';
4
- import '../chunks/utils-M7D-rn0u.mjs';
5
- import '../chunks/bundle-mjs-B1dpl-bk.mjs';
6
- import '../chunks/label-81mjh4Q4.mjs';
4
+ import '../chunks/utils-uOfHPBdi.mjs';
5
+ import '../chunks/bundle-mjs-BRbxNcQb.mjs';
6
+ import '../chunks/label-D5s6d0et.mjs';
7
7
  import 'react-dom';
8
8
  import 'react/jsx-runtime';
9
9
  //# sourceMappingURL=index.mjs.map
@@ -1,32 +1,32 @@
1
- export { C as ComboboxField } from '../chunks/ComboboxField-DaRpRraW.mjs';
1
+ export { C as ComboboxField } from '../chunks/ComboboxField-CzJlHHXv.mjs';
2
2
  import 'react';
3
- import '../chunks/utils-M7D-rn0u.mjs';
4
- import '../chunks/bundle-mjs-B1dpl-bk.mjs';
5
- import '../chunks/chevrons-up-down-DKM8h8j_.mjs';
6
- import '../chunks/createLucideIcon-xkRZC0aJ.mjs';
7
- import '../chunks/check-CzKqQLNR.mjs';
8
- import '../chunks/x-Heb3hHKJ.mjs';
9
- import '../chunks/popover-ChoMUAP9.mjs';
10
- import '../chunks/index-G8uUqzC7.mjs';
3
+ import '../chunks/utils-uOfHPBdi.mjs';
4
+ import '../chunks/bundle-mjs-BRbxNcQb.mjs';
5
+ import '../chunks/chevrons-up-down-BSIPdamI.mjs';
6
+ import '../chunks/createLucideIcon-CkP7424r.mjs';
7
+ import '../chunks/check-CKdwsuVA.mjs';
8
+ import '../chunks/x-D5HL_X5m.mjs';
9
+ import '../chunks/popover-D3JC54Y3.mjs';
10
+ import '../chunks/index-DLqxy-dg.mjs';
11
11
  import 'react-dom';
12
12
  import '@radix-ui/react-slot';
13
13
  import 'react/jsx-runtime';
14
- import '../chunks/index-Cm5-jAR7.mjs';
15
- import '../chunks/index-DSBOi0JP.mjs';
16
- import '../chunks/index-BtdTgi0_.mjs';
17
- import '../chunks/index-fcmnzZn6.mjs';
18
- import '../chunks/tslib.es6-9fTryOSE.mjs';
19
- import '../chunks/index-Dn87UbZu.mjs';
20
- import '../chunks/index-DjoMuta5.mjs';
21
- import '../chunks/index-CuEeN4AG.mjs';
22
- import '../chunks/index-DWtzT31F.mjs';
23
- import '../chunks/index-zv8c0UAU.mjs';
24
- import '../chunks/index-CsC-dafu.mjs';
25
- import '../chunks/index-BpZD69GD.mjs';
26
- import '../chunks/button-DsgJkgEz.mjs';
14
+ import '../chunks/index-CVjOpozG.mjs';
15
+ import '../chunks/index-CvVBB5ll.mjs';
16
+ import '../chunks/index-Cs9A0tpU.mjs';
17
+ import '../chunks/index-D_e6adwb.mjs';
18
+ import '../chunks/tslib.es6-B20VGjW7.mjs';
19
+ import '../chunks/index-Dp_0m03a.mjs';
20
+ import '../chunks/index-4pJ77hyF.mjs';
21
+ import '../chunks/index-DCDDoDjL.mjs';
22
+ import '../chunks/index-DhI6OG_H.mjs';
23
+ import '../chunks/index-DQD35Ges.mjs';
24
+ import '../chunks/index-CByz7d8q.mjs';
25
+ import '../chunks/index-D2DYiX9D.mjs';
26
+ import '../chunks/button-BW9I4XWU.mjs';
27
27
  import 'class-variance-authority';
28
- import '../chunks/command-CAS791lb.mjs';
29
- import '../chunks/index-7wUPkpwA.mjs';
30
- import '../chunks/dialog-Dt_M700u.mjs';
31
- import '../chunks/badge-C6mkl9yr.mjs';
28
+ import '../chunks/command-B29vdoVO.mjs';
29
+ import '../chunks/index-Bt1elORc.mjs';
30
+ import '../chunks/dialog-BhaHMQnG.mjs';
31
+ import '../chunks/badge-CsUuqHNu.mjs';
32
32
  //# sourceMappingURL=index.mjs.map
@@ -43,6 +43,7 @@ interface FormFieldConfig<T extends FieldValues> {
43
43
  searchPlaceholder?: string;
44
44
  messageEmpty?: string;
45
45
  onChangeCallback?: (option: any, form: UseFormReturn<T>) => void;
46
+ clearable?: boolean;
46
47
  };
47
48
  render?: (props: {
48
49
  field: any;
@@ -1,64 +1,64 @@
1
1
  import * as React from 'react';
2
2
  import { useId, useState, useEffect } from 'react';
3
- import { P as PatternFormat, N as NumericFormat } from '../chunks/react-number-format.es-rRpdCutF.mjs';
4
- import { c as cn } from '../chunks/utils-M7D-rn0u.mjs';
5
- import { f as formatDateToBrazilian, p as ptBR } from '../chunks/date-DYEUxjwi.mjs';
6
- import { f as formatMoney } from '../chunks/format-numbers-BpGX211b.mjs';
7
- import { f as FormField, a as FormItem, b as FormLabel, c as FormControl, d as FormDescription, e as FormMessage, F as Form } from '../chunks/form-CJnoOgoH.mjs';
8
- import { T as Toggle } from '../chunks/toggle-x7-6JYvP.mjs';
9
- import { I as InputOTP, a as InputOTPGroup, b as InputOTPSlot } from '../chunks/input-otp-b-7MmY2H.mjs';
10
- import { S as Slider } from '../chunks/slider-C_afdOBq.mjs';
11
- import { R as RadioGroup, a as RadioGroupItem } from '../chunks/radio-group-r3ejuIom.mjs';
12
- import { S as Switch } from '../chunks/switch-CoxjUYji.mjs';
13
- import { c as createLucideIcon } from '../chunks/createLucideIcon-xkRZC0aJ.mjs';
14
- import { A as AutoComplete } from '../chunks/AutoComplete-qFuwmV53.mjs';
15
- import { L as ListItem } from '../chunks/ListItem-zxS4CZdq.mjs';
16
- import { C as Checkbox } from '../chunks/checkbox-C7RUdsIS.mjs';
17
- import { P as Popover, a as PopoverTrigger, b as PopoverContent } from '../chunks/popover-ChoMUAP9.mjs';
18
- import { B as Button } from '../chunks/button-DsgJkgEz.mjs';
19
- import { f as format } from '../chunks/format-BSPAt__h.mjs';
20
- import { C as Calendar$1 } from '../chunks/calendar-Co99lCn4.mjs';
21
- import { S as Select, h as SelectTrigger, i as SelectValue, a as SelectContent, c as SelectItem } from '../chunks/select-CICQavYx.mjs';
22
- import { I as Input } from '../chunks/input-NILUGijL.mjs';
23
- import { S as Separator } from '../chunks/separator-CL28DVoA.mjs';
24
- import '../chunks/bundle-mjs-B1dpl-bk.mjs';
3
+ import { P as PatternFormat, N as NumericFormat } from '../chunks/react-number-format.es-C3uDZhRo.mjs';
4
+ import { c as cn } from '../chunks/utils-uOfHPBdi.mjs';
5
+ import { f as formatDateToBrazilian, p as ptBR } from '../chunks/date-Y_hKMQVr.mjs';
6
+ import { f as formatMoney } from '../chunks/format-numbers-CWj9Vf7x.mjs';
7
+ import { f as FormField, a as FormItem, b as FormLabel, c as FormControl, d as FormDescription, e as FormMessage, F as Form } from '../chunks/form-BAxhKbgh.mjs';
8
+ import { T as Toggle } from '../chunks/toggle-GXtKRhvr.mjs';
9
+ import { I as InputOTP, a as InputOTPGroup, b as InputOTPSlot } from '../chunks/input-otp-BKqdZwNx.mjs';
10
+ import { S as Slider } from '../chunks/slider-CaliGouI.mjs';
11
+ import { R as RadioGroup, a as RadioGroupItem } from '../chunks/radio-group-yF1QEewC.mjs';
12
+ import { S as Switch } from '../chunks/switch-szutUcvb.mjs';
13
+ import { c as createLucideIcon } from '../chunks/createLucideIcon-CkP7424r.mjs';
14
+ import { A as AutoComplete } from '../chunks/AutoComplete-BpwnFm_u.mjs';
15
+ import { L as ListItem } from '../chunks/ListItem-B0_5JcsU.mjs';
16
+ import { C as Checkbox } from '../chunks/checkbox-CvaPsjy3.mjs';
17
+ import { P as Popover, a as PopoverTrigger, b as PopoverContent } from '../chunks/popover-D3JC54Y3.mjs';
18
+ import { B as Button } from '../chunks/button-BW9I4XWU.mjs';
19
+ import { f as format } from '../chunks/format-CR4Q6BSq.mjs';
20
+ import { C as Calendar$1 } from '../chunks/calendar-C549VT55.mjs';
21
+ import { S as Select, h as SelectTrigger, i as SelectValue, a as SelectContent, c as SelectItem } from '../chunks/select-B8JYuJE5.mjs';
22
+ import { I as Input } from '../chunks/input-YpoAHnXb.mjs';
23
+ import { S as Separator } from '../chunks/separator-sWF5eZgM.mjs';
24
+ import '../chunks/bundle-mjs-BRbxNcQb.mjs';
25
25
  import '@radix-ui/react-slot';
26
- import '../chunks/label-81mjh4Q4.mjs';
26
+ import '../chunks/label-D5s6d0et.mjs';
27
27
  import 'react-dom';
28
28
  import 'react/jsx-runtime';
29
- import '../chunks/index-G8uUqzC7.mjs';
30
- import '../chunks/index-BpZD69GD.mjs';
31
- import '../chunks/index-DjoMuta5.mjs';
29
+ import '../chunks/index-DLqxy-dg.mjs';
30
+ import '../chunks/index-D2DYiX9D.mjs';
31
+ import '../chunks/index-4pJ77hyF.mjs';
32
32
  import 'class-variance-authority';
33
- import '../chunks/index-B8zlei3I.mjs';
34
- import '../chunks/index-Cm5-jAR7.mjs';
35
- import '../chunks/index-B49Rv10M.mjs';
36
- import '../chunks/index-SJQIKyxi.mjs';
37
- import '../chunks/index-DWtzT31F.mjs';
33
+ import '../chunks/index-oX_tk439.mjs';
34
+ import '../chunks/index-CVjOpozG.mjs';
35
+ import '../chunks/index-D_Q4NGnO.mjs';
36
+ import '../chunks/index-D8mA4n7w.mjs';
37
+ import '../chunks/index-DhI6OG_H.mjs';
38
38
  import '@radix-ui/react-collection';
39
- import '../chunks/index-CvWc6WZ4.mjs';
40
- import '../chunks/index-Dn87UbZu.mjs';
41
- import '../chunks/index-BtdTgi0_.mjs';
42
- import '../chunks/index-CsC-dafu.mjs';
43
- import '../chunks/check-CzKqQLNR.mjs';
44
- import '../chunks/index.module-B_Z75X1e.mjs';
45
- import '../chunks/chevrons-up-down-DKM8h8j_.mjs';
46
- import '../chunks/command-CAS791lb.mjs';
47
- import '../chunks/index-7wUPkpwA.mjs';
48
- import '../chunks/index-DSBOi0JP.mjs';
49
- import '../chunks/index-fcmnzZn6.mjs';
50
- import '../chunks/tslib.es6-9fTryOSE.mjs';
51
- import '../chunks/index-zv8c0UAU.mjs';
52
- import '../chunks/dialog-Dt_M700u.mjs';
53
- import '../chunks/x-Heb3hHKJ.mjs';
54
- import '../chunks/TooltipIndicator-CwGGAeRz.mjs';
55
- import '../chunks/tooltip-aCFcTWvT.mjs';
56
- import '../chunks/index-CuEeN4AG.mjs';
57
- import '../chunks/index-0DBJW078.mjs';
58
- import '../chunks/badge-C6mkl9yr.mjs';
59
- import '../chunks/chevron-left-BpfBwM4S.mjs';
60
- import '../chunks/chevron-right-uq-O8rwC.mjs';
61
- import '../chunks/chevron-down-CZjN_vyX.mjs';
39
+ import '../chunks/index-CS2Lzoed.mjs';
40
+ import '../chunks/index-Dp_0m03a.mjs';
41
+ import '../chunks/index-Cs9A0tpU.mjs';
42
+ import '../chunks/index-CByz7d8q.mjs';
43
+ import '../chunks/check-CKdwsuVA.mjs';
44
+ import '../chunks/index.module-Df4mRjmZ.mjs';
45
+ import '../chunks/x-D5HL_X5m.mjs';
46
+ import '../chunks/chevrons-up-down-BSIPdamI.mjs';
47
+ import '../chunks/command-B29vdoVO.mjs';
48
+ import '../chunks/index-Bt1elORc.mjs';
49
+ import '../chunks/index-CvVBB5ll.mjs';
50
+ import '../chunks/index-D_e6adwb.mjs';
51
+ import '../chunks/tslib.es6-B20VGjW7.mjs';
52
+ import '../chunks/index-DQD35Ges.mjs';
53
+ import '../chunks/dialog-BhaHMQnG.mjs';
54
+ import '../chunks/TooltipIndicator-Db1poSJI.mjs';
55
+ import '../chunks/tooltip-z43eMlPO.mjs';
56
+ import '../chunks/index-DCDDoDjL.mjs';
57
+ import '../chunks/index-Ct610FOk.mjs';
58
+ import '../chunks/badge-CsUuqHNu.mjs';
59
+ import '../chunks/chevron-left-BZ8X7kLy.mjs';
60
+ import '../chunks/chevron-right-jAScR3zY.mjs';
61
+ import '../chunks/chevron-down-o7NUBnJ4.mjs';
62
62
  import '@radix-ui/react-select';
63
63
 
64
64
  const __iconNode = [
@@ -197,6 +197,7 @@ function AutocompleteFieldWrapper({ field, form, autocompleteConfig, placeholder
197
197
  messageEmpty: autocompleteConfig.messageEmpty || "Nenhum resultado encontrado...",
198
198
  getOptionLabel: getOptionLabel,
199
199
  getOptionKey: getOptionKey,
200
+ clearable: autocompleteConfig.clearable ?? false,
200
201
  className: "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
201
202
  });
202
203
  }
@@ -310,7 +311,13 @@ function BaseFormField({ config, control, readOnly = false, form }) {
310
311
  thousandSeparator: ".",
311
312
  decimalScale: decimalScale ?? 7,
312
313
  value: field.value ?? "",
313
- onValueChange: (values)=>field.onChange(values.floatValue),
314
+ onValueChange: (values)=>{
315
+ if (values.value === "") {
316
+ field.onChange(null);
317
+ } else {
318
+ field.onChange(values.floatValue);
319
+ }
320
+ },
314
321
  placeholder: placeholder,
315
322
  disabled: disabled
316
323
  });
@@ -321,7 +328,13 @@ function BaseFormField({ config, control, readOnly = false, form }) {
321
328
  thousandSeparator: ".",
322
329
  decimalScale: decimalScale ?? 2,
323
330
  value: field.value ?? "",
324
- onValueChange: (values)=>field.onChange(values.floatValue),
331
+ onValueChange: (values)=>{
332
+ if (values.value === "") {
333
+ field.onChange(null);
334
+ } else {
335
+ field.onChange(values.floatValue);
336
+ }
337
+ },
325
338
  placeholder: placeholder,
326
339
  disabled: disabled,
327
340
  prefix: prefix ?? "R$ "
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../node_modules/lucide-react/dist/esm/icons/calendar.js","../../src/utils/format.ts","../../src/components/default/form-layout/FormLayout.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.479.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M8 2v4\", key: \"1cmpym\" }],\n [\"path\", { d: \"M16 2v4\", key: \"4m81vk\" }],\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"4\", rx: \"2\", key: \"1hopcy\" }],\n [\"path\", { d: \"M3 10h18\", key: \"8toen8\" }]\n];\nconst Calendar = createLucideIcon(\"Calendar\", __iconNode);\n\nexport { __iconNode, Calendar as default };\n//# sourceMappingURL=calendar.js.map\n","import { formatDateToBrazilian } from \"./date\";\nimport { formatMoney } from \"./format-numbers\";\n\n/**\n * Formata uma data para o padrão brasileiro (dd/MM/yyyy)\n * @param date Data a ser formatada (Date, string ou undefined)\n * @returns String formatada ou undefined se não houver valor\n */\nexport function formatDate(date: Date | string | undefined): string | undefined {\n\tif (!date) return undefined;\n\treturn formatDateToBrazilian(date);\n}\n\n/**\n * Formata um CNPJ no padrão brasileiro (##.###.###/####-##)\n * @param cnpj CNPJ a ser formatado (string com ou sem formatação)\n * @returns String formatada ou undefined se não houver valor\n */\nexport function formatCNPJ(cnpj: string | undefined | null): string | undefined {\n\tif (!cnpj) return undefined;\n\n\t// Remove caracteres não numéricos\n\tconst cleaned = cnpj.replace(/\\D/g, \"\");\n\n\t// Verifica se tem 14 dígitos\n\tif (cleaned.length !== 14) {\n\t\t// Se não tiver 14 dígitos, retorna o valor original\n\t\treturn cnpj;\n\t}\n\n\t// Formata: ##.###.###/####-##\n\treturn `${cleaned.slice(0, 2)}.${cleaned.slice(2, 5)}.${cleaned.slice(5, 8)}/${cleaned.slice(8, 12)}-${cleaned.slice(12, 14)}`;\n}\n\n/**\n * Formata um valor numérico como moeda brasileira (R$)\n * @param value Valor numérico a ser formatado\n * @returns String formatada ou undefined se não houver valor\n */\nexport function formatCurrency(value: number | undefined | null): string | undefined {\n\tif (value === null || value === undefined) return undefined;\n\treturn formatMoney({\n\t\tvalue,\n\t\tcurrency: \"BRL\",\n\t\tminimumFractionDigits: 2,\n\t\tmaximumFractionDigits: 2,\n\t});\n}\n","import { format } from \"date-fns\";\nimport { ptBR } from \"date-fns/locale\";\nimport { CalendarIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { useEffect, useId, useState } from \"react\";\nimport {\n\ttype Control,\n\ttype FieldPath,\n\ttype FieldValues,\n\ttype UseFormReturn,\n} from \"react-hook-form\";\nimport { NumericFormat, PatternFormat } from \"react-number-format\";\nimport { AutoComplete } from \"@/components/default/base\";\nimport { ListItem } from \"@/components/default/layout\";\nimport { Button } from \"@/components/ui/button\";\nimport { Calendar } from \"@/components/ui/calendar\";\nimport { Checkbox } from \"@/components/ui/checkbox\";\nimport {\n\tForm,\n\tFormControl,\n\tFormDescription,\n\tFormField,\n\tFormItem,\n\tFormLabel,\n\tFormMessage,\n} from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from \"@/components/ui/input-otp\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { RadioGroup, RadioGroupItem } from \"@/components/ui/radio-group\";\nimport {\n\tSelect,\n\tSelectContent,\n\tSelectItem,\n\tSelectTrigger,\n\tSelectValue,\n} from \"@/components/ui/select\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Slider } from \"@/components/ui/slider\";\nimport { Switch } from \"@/components/ui/switch\";\nimport { Toggle } from \"@/components/ui/toggle\";\nimport { cn } from \"@/lib/utils\";\nimport { formatCNPJ, formatCurrency, formatDate } from \"@/utils/format\";\n\nexport type FormFieldType =\n\t| \"text\"\n\t| \"email\"\n\t| \"url\"\n\t| \"tel\"\n\t| \"textarea\"\n\t| \"number\"\n\t| \"currency\"\n\t| \"pattern\"\n\t| \"select\"\n\t| \"date\"\n\t| \"checkbox\"\n\t| \"switch\"\n\t| \"radio\"\n\t| \"slider\"\n\t| \"otp\"\n\t| \"toggle\"\n\t| \"autocomplete\";\n\nexport interface FormFieldConfig<T extends FieldValues> {\n\tname: FieldPath<T>;\n\tlabel: string;\n\ttype: FormFieldType;\n\tplaceholder?: string;\n\tdescription?: string;\n\trequired?: boolean;\n\tdisabled?: boolean;\n\tcols?: number;\n\tclassName?: string;\n\toptions?: { label: string; value: string | number }[] | string[];\n\n\tdecimalScale?: number;\n\tprefix?: string;\n\tformat?: string;\n\tmask?: string;\n\tradioOptions?: { label: string; value: string }[];\n\totpLength?: number;\n\tsliderRange?: { min: number; max: number; step?: number };\n\tautocompleteConfig?: {\n\t\tfetchOptions: (\n\t\t\tterm: string,\n\t\t) => Promise<Array<{ id: number | string; label: string; [key: string]: any }>>;\n\t\t// biome-ignore lint/suspicious/noExplicitAny: autocomplete option type\n\t\tgetOptionLabel?: (option: any) => string;\n\t\t// biome-ignore lint/suspicious/noExplicitAny: autocomplete option type\n\t\tgetOptionKey?: (option: any) => number | string;\n\t\t// biome-ignore lint/suspicious/noExplicitAny: autocomplete option type\n\t\tgetOptionValue?: (option: any) => any;\n\t\tsearchPlaceholder?: string;\n\t\tmessageEmpty?: string;\n\t\t// biome-ignore lint/suspicious/noExplicitAny: autocomplete option type\n\t\tonChangeCallback?: (option: any, form: UseFormReturn<T>) => void;\n\t};\n\n\t// biome-ignore lint/suspicious/noExplicitAny: react-hook-form field type\n\trender?: (props: { field: any; form: UseFormReturn<T> }) => React.ReactNode;\n}\n\nexport interface FormSectionConfig<T extends FieldValues> {\n\ttitle?: string;\n\tdescription?: string;\n\tfields: FormFieldConfig<T>[];\n}\n\nexport interface BaseFormFieldProps<T extends FieldValues> {\n\tconfig: FormFieldConfig<T>;\n\tcontrol: Control<T>;\n\treadOnly?: boolean;\n\tform?: UseFormReturn<T>;\n}\n\nfunction AutocompleteFieldWrapper<T extends FieldValues>({\n\tfield,\n\tform,\n\tautocompleteConfig,\n\tplaceholder,\n\tdisabled,\n}: {\n\t// biome-ignore lint/suspicious/noExplicitAny: react-hook-form field type\n\tfield: any;\n\tform: UseFormReturn<T>;\n\tautocompleteConfig: NonNullable<FormFieldConfig<T>[\"autocompleteConfig\"]>;\n\tplaceholder?: string;\n\tdisabled?: boolean;\n}) {\n\tconst [open, setOpen] = useState(false);\n\t// biome-ignore lint/suspicious/noExplicitAny: autocomplete option type\n\tconst [selectedOption, setSelectedOption] = useState<any>(null);\n\n\tconst getOptionLabel =\n\t\tautocompleteConfig.getOptionLabel ||\n\t\t// biome-ignore lint/suspicious/noExplicitAny: autocomplete option type\n\t\t((option: any) => option.label || String(option.id));\n\tconst getOptionKey =\n\t\tautocompleteConfig.getOptionKey ||\n\t\t// biome-ignore lint/suspicious/noExplicitAny: autocomplete option type\n\t\t((option: any) => option.id);\n\tconst getOptionValue =\n\t\tautocompleteConfig.getOptionValue ||\n\t\t// biome-ignore lint/suspicious/noExplicitAny: autocomplete option type\n\t\t((option: any) => option.id);\n\n\tuseEffect(() => {\n\t\tif (field.value && autocompleteConfig.fetchOptions) {\n\t\t\tconst searchTerm = typeof field.value === \"string\" ? field.value : \"\";\n\n\t\t\tautocompleteConfig\n\t\t\t\t.fetchOptions(searchTerm)\n\t\t\t\t.then((options) => {\n\t\t\t\t\tlet found = options.find((opt) => getOptionValue(opt) === field.value);\n\n\t\t\t\t\tif (!found && typeof field.value === \"string\") {\n\t\t\t\t\t\tfound = options.find((opt) => {\n\t\t\t\t\t\t\tconst label = getOptionLabel(opt);\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\tlabel === field.value || label.toLowerCase().includes(field.value.toLowerCase())\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!found && typeof field.value === \"number\") {\n\t\t\t\t\t\tfound = options.find((opt) => getOptionKey(opt) === field.value);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (found) {\n\t\t\t\t\t\tsetSelectedOption(found);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetSelectedOption(null);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tsetSelectedOption(null);\n\t\t\t\t});\n\t\t} else {\n\t\t\tsetSelectedOption(null);\n\t\t}\n\t}, [field.value, autocompleteConfig.fetchOptions, getOptionValue, getOptionLabel, getOptionKey]);\n\n\treturn (\n\t\t<AutoComplete\n\t\t\tvalue={selectedOption}\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: autocomplete option type\n\t\t\tonChange={(option: any) => {\n\t\t\t\tconst value = option ? getOptionValue(option) : null;\n\t\t\t\tfield.onChange(value);\n\t\t\t\tsetSelectedOption(option);\n\t\t\t\tif (option && autocompleteConfig.onChangeCallback) {\n\t\t\t\t\tautocompleteConfig.onChangeCallback(option, form);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tplaceholder={placeholder || \"Digite para buscar...\"}\n\t\t\tsearchPlaceholder={autocompleteConfig.searchPlaceholder || \"Buscar...\"}\n\t\t\topen={open}\n\t\t\tonOpenChange={setOpen}\n\t\t\tfetchOptions={autocompleteConfig.fetchOptions}\n\t\t\tdisabled={disabled}\n\t\t\tmessageEmpty={autocompleteConfig.messageEmpty || \"Nenhum resultado encontrado...\"}\n\t\t\tgetOptionLabel={getOptionLabel}\n\t\t\tgetOptionKey={getOptionKey}\n\t\t\tclassName=\"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\"\n\t\t/>\n\t);\n}\n\nexport function BaseFormField<T extends FieldValues>({\n\tconfig,\n\tcontrol,\n\treadOnly = false,\n\tform,\n}: BaseFormFieldProps<T>) {\n\tconst baseId = useId();\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\ttype,\n\t\tplaceholder,\n\t\tdescription,\n\t\trequired,\n\t\toptions,\n\t\tdecimalScale,\n\t\tdisabled,\n\t\tprefix,\n\t\tradioOptions,\n\t\totpLength,\n\t\tsliderRange,\n\t\tformat: patternFormat,\n\t\tmask,\n\t\tautocompleteConfig,\n\t\trender: customRender,\n\t} = config;\n\n\tconst formatReadOnlyValue = (value: unknown, fieldType: FormFieldType): string | undefined => {\n\t\tif (value === null || value === undefined || value === \"\") {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tswitch (fieldType) {\n\t\t\tcase \"date\":\n\t\t\t\treturn formatDate(value as Date | string | undefined);\n\t\t\tcase \"currency\":\n\t\t\t\treturn formatCurrency(value as number);\n\t\t\tcase \"number\":\n\t\t\t\treturn typeof value === \"number\"\n\t\t\t\t\t? value.toLocaleString(\"pt-BR\", {\n\t\t\t\t\t\t\tminimumFractionDigits: decimalScale ?? 0,\n\t\t\t\t\t\t\tmaximumFractionDigits: decimalScale ?? 7,\n\t\t\t\t\t\t})\n\t\t\t\t\t: String(value);\n\t\t\tcase \"pattern\":\n\t\t\t\tif (patternFormat && typeof value === \"string\") {\n\t\t\t\t\tif (patternFormat.includes(\"##.###.###/####-##\")) {\n\t\t\t\t\t\treturn formatCNPJ(value);\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t\treturn String(value);\n\t\t\tcase \"select\":\n\t\t\t\tif (options && options.length > 0) {\n\t\t\t\t\tconst option = options.find((opt) => {\n\t\t\t\t\t\tconst optValue = typeof opt === \"object\" ? opt.value : opt;\n\t\t\t\t\t\treturn String(optValue) === String(value);\n\t\t\t\t\t});\n\t\t\t\t\tif (option) {\n\t\t\t\t\t\treturn typeof option === \"object\" ? option.label : option;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn String(value);\n\t\t\tcase \"checkbox\":\n\t\t\tcase \"switch\":\n\t\t\tcase \"toggle\":\n\t\t\t\treturn value ? \"Sim\" : \"Não\";\n\t\t\tcase \"radio\":\n\t\t\t\tif (radioOptions) {\n\t\t\t\t\tconst option = radioOptions.find((opt) => String(opt.value) === String(value));\n\t\t\t\t\treturn option ? option.label : String(value);\n\t\t\t\t}\n\t\t\t\treturn String(value);\n\t\t\tcase \"slider\":\n\t\t\t\treturn typeof value === \"number\" ? String(value) : undefined;\n\t\t\tdefault:\n\t\t\t\treturn String(value);\n\t\t}\n\t};\n\n\tif (readOnly) {\n\t\treturn (\n\t\t\t<FormField\n\t\t\t\tcontrol={control}\n\t\t\t\tname={name}\n\t\t\t\t// biome-ignore lint/suspicious/noExplicitAny: react-hook-form field type\n\t\t\t\trender={({ field }: any) => (\n\t\t\t\t\t<ListItem title={label} value={formatReadOnlyValue(field.value, type)} />\n\t\t\t\t)}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: react-hook-form field type\n\t\t\trender={({ field }: any) => {\n\t\t\t\tif (customRender && form) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<FormItem\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\ttype === \"checkbox\"\n\t\t\t\t\t\t\t\t\t? \"flex flex-row items-start space-x-3 space-y-0 rounded-md border p-4\"\n\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{type !== \"checkbox\" && type !== \"switch\" && (\n\t\t\t\t\t\t\t\t<FormLabel>\n\t\t\t\t\t\t\t\t\t{label} {required && <span className=\"text-destructive\">*</span>}\n\t\t\t\t\t\t\t\t</FormLabel>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<FormControl>{customRender({ field, form })}</FormControl>\n\t\t\t\t\t\t\t{type !== \"checkbox\" && description && (\n\t\t\t\t\t\t\t\t<FormDescription>{description}</FormDescription>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<FormMessage />\n\t\t\t\t\t\t</FormItem>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<FormItem\n\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\ttype === \"checkbox\"\n\t\t\t\t\t\t\t\t? \"flex flex-row items-start space-x-3 space-y-0 rounded-md border p-4\"\n\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{type !== \"checkbox\" && type !== \"switch\" && (\n\t\t\t\t\t\t\t<FormLabel>\n\t\t\t\t\t\t\t\t{label} {required && <span className=\"text-destructive\">*</span>}\n\t\t\t\t\t\t\t</FormLabel>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t\t{(() => {\n\t\t\t\t\t\t\t\tswitch (type) {\n\t\t\t\t\t\t\t\t\tcase \"text\":\n\t\t\t\t\t\t\t\t\tcase \"email\":\n\t\t\t\t\t\t\t\t\tcase \"url\":\n\t\t\t\t\t\t\t\t\tcase \"tel\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\t\t\t\t\t\ttype={type}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={(field.value as string) || \"\"}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"textarea\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex min-h-20 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\"\n\t\t\t\t\t\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={(field.value as string) || \"\"}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"number\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<NumericFormat\n\t\t\t\t\t\t\t\t\t\t\t\tcustomInput={Input}\n\t\t\t\t\t\t\t\t\t\t\t\tdecimalSeparator=\",\"\n\t\t\t\t\t\t\t\t\t\t\t\tthousandSeparator=\".\"\n\t\t\t\t\t\t\t\t\t\t\t\tdecimalScale={decimalScale ?? 7}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={field.value ?? \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\tonValueChange={(values) => field.onChange(values.floatValue)}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"currency\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<NumericFormat\n\t\t\t\t\t\t\t\t\t\t\t\tcustomInput={Input}\n\t\t\t\t\t\t\t\t\t\t\t\tdecimalSeparator=\",\"\n\t\t\t\t\t\t\t\t\t\t\t\tthousandSeparator=\".\"\n\t\t\t\t\t\t\t\t\t\t\t\tdecimalScale={decimalScale ?? 2}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={field.value ?? \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\tonValueChange={(values) => field.onChange(values.floatValue)}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t\tprefix={prefix ?? \"R$ \"}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"pattern\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<PatternFormat\n\t\t\t\t\t\t\t\t\t\t\t\tcustomInput={Input}\n\t\t\t\t\t\t\t\t\t\t\t\tformat={patternFormat || \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\tmask={mask || \"_\"}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={(field.value as string) || \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\tonValueChange={(values) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(values.value);\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"select\": {\n\t\t\t\t\t\t\t\t\t\tconst selectValue = String(field.value || \"\");\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\t\t\t\t\t\tonValueChange={field.onChange}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={selectValue}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<SelectTrigger className=\"w-full\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<SelectValue placeholder={placeholder || \"Selecione\"} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t\t\t\t\t\t</FormControl>\n\t\t\t\t\t\t\t\t\t\t\t\t<SelectContent className=\"max-h-[300px] overflow-y-auto overflow-x-hidden\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{options?.map((opt) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst val = typeof opt === \"object\" ? String(opt.value) : opt;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst lab = typeof opt === \"object\" ? opt.label : opt;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<SelectItem key={val} value={val}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{lab}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tcase \"date\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<Popover>\n\t\t\t\t\t\t\t\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"w-full justify-start text-left font-normal\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!field.value && \"text-muted-foreground\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<CalendarIcon className=\"mr-2 h-4 w-4\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{field.value ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tformat(new Date(field.value), \"dd/MM/yyyy\", { locale: ptBR })\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{placeholder || \"Selecione\"}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t\t\t\t\t\t\t\t<PopoverContent className=\"w-auto p-0\" align=\"start\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Calendar\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmode=\"single\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselected={field.value ? new Date(field.value) : undefined}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={field.onChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlocale={ptBR}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t\t\t\t\t\t\t</Popover>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"checkbox\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\t\t\t\t\t\tchecked={!!field.value}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonCheckedChange={field.onChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-1 leading-none\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FormLabel>{label}</FormLabel>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{description && <FormDescription>{description}</FormDescription>}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"switch\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-between\">\n\t\t\t\t\t\t\t\t\t\t\t\t<FormLabel>{label}</FormLabel>\n\t\t\t\t\t\t\t\t\t\t\t\t<Switch\n\t\t\t\t\t\t\t\t\t\t\t\t\tchecked={!!field.value}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonCheckedChange={field.onChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"radio\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<RadioGroup\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={String(field.value ?? \"\")}\n\t\t\t\t\t\t\t\t\t\t\t\tonValueChange={field.onChange}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex flex-col gap-2\"\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled ?? false}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{(radioOptions ?? [])?.map((opt) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div key={opt.value} className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<RadioGroupItem value={opt.value} id={`${String(name)}-${opt.value}`} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<label htmlFor={`${String(name)}-${opt.value}`} className=\"text-sm\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{opt.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\t</RadioGroup>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"slider\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={[Number(field.value ?? sliderRange?.min ?? 0)]}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonValueChange={(vals: number[]) => field.onChange(vals[0])}\n\t\t\t\t\t\t\t\t\t\t\t\t\tmin={sliderRange?.min ?? 0}\n\t\t\t\t\t\t\t\t\t\t\t\t\tmax={sliderRange?.max ?? 100}\n\t\t\t\t\t\t\t\t\t\t\t\t\tstep={sliderRange?.step ?? 1}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t{typeof field.value === \"number\" && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground\">Valor: {field.value}</p>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"otp\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<InputOTP\n\t\t\t\t\t\t\t\t\t\t\t\tmaxLength={otpLength ?? 6}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={String(field.value ?? \"\")}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={field.onChange}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<InputOTPGroup>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{Array.from({ length: otpLength ?? 6 }, (_, i) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<InputOTPSlot key={`${baseId}-otp-${i}`} index={i} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\t\t</InputOTPGroup>\n\t\t\t\t\t\t\t\t\t\t\t</InputOTP>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"toggle\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Toggle\n\t\t\t\t\t\t\t\t\t\t\t\t\tpressed={!!field.value}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonPressedChange={(pressed: boolean) => field.onChange(pressed)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t\t\t\t</Toggle>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"autocomplete\": {\n\t\t\t\t\t\t\t\t\t\tif (!autocompleteConfig || !form) {\n\t\t\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<AutocompleteFieldWrapper\n\t\t\t\t\t\t\t\t\t\t\t\tfield={field}\n\t\t\t\t\t\t\t\t\t\t\t\tform={form}\n\t\t\t\t\t\t\t\t\t\t\t\tautocompleteConfig={autocompleteConfig}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})()}\n\t\t\t\t\t\t</FormControl>\n\n\t\t\t\t\t\t{type !== \"checkbox\" && description && <FormDescription>{description}</FormDescription>}\n\t\t\t\t\t\t<FormMessage />\n\t\t\t\t\t</FormItem>\n\t\t\t\t);\n\t\t\t}}\n\t\t/>\n\t);\n}\n\nBaseFormField.displayName = \"BaseFormField\";\n\nexport interface FormLayoutProps<T extends FieldValues> {\n\tform: UseFormReturn<T>;\n\tsections: FormSectionConfig<T>[];\n\tonSubmit?: (values: T) => void;\n\t// biome-ignore lint/suspicious/noExplicitAny: react-hook-form errors type\n\tonError?: (errors: any) => void;\n\tformId?: string;\n\ttitle?: string;\n\tdescription?: string;\n\theaderContent?: React.ReactNode;\n\treadOnly?: boolean;\n\tformRef?: React.RefObject<HTMLFormElement | null>;\n}\n\nexport function FormLayout<T extends FieldValues>({\n\tform,\n\tsections,\n\tonSubmit,\n\tonError,\n\tformId,\n\ttitle,\n\tdescription,\n\theaderContent,\n\treadOnly = false,\n\tformRef,\n}: FormLayoutProps<T>) {\n\tconst getColSpanClass = (cols?: number) => {\n\t\tif (!cols || cols === 1) return \"col-span-12 md:col-span-6 xl:col-span-4\";\n\t\tif (cols === 2) return \"col-span-12 md:col-span-12 xl:col-span-8\";\n\t\tif (cols === 3) return \"col-span-12\";\n\t\tif (cols === 6) return \"col-span-12 2xl:col-span-6\";\n\t\treturn \"col-span-12\";\n\t};\n\n\treturn (\n\t\t<Form {...form}>\n\t\t\t{onSubmit ? (\n\t\t\t\t<form\n\t\t\t\t\tonSubmit={form.handleSubmit(onSubmit, onError)}\n\t\t\t\t\tid={formId}\n\t\t\t\t\tref={formRef as React.RefObject<HTMLFormElement>}\n\t\t\t\t\tclassName=\"space-y-8 relative px-1\"\n\t\t\t\t>\n\t\t\t\t\t{(title || description) && (\n\t\t\t\t\t\t<div className=\"space-y-2 mb-6\">\n\t\t\t\t\t\t\t<div className=\"flex justify-between items-start\">\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t{title && <h2 className=\"text-xl font-semibold tracking-tight\">{title}</h2>}\n\t\t\t\t\t\t\t\t\t{description && <p className=\"text-muted-foreground text-sm\">{description}</p>}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{headerContent}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{sections.map((section, idx) => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={section.title ? `${section.title}-${idx}` : `section-${idx}`}\n\t\t\t\t\t\t\tclassName=\"space-y-4\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{(section.title || section.description) && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t{section.title && <h3>{section.title}</h3>}\n\t\t\t\t\t\t\t\t\t<Separator className=\"flex-1\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t<div className={cn(\"grid grid-cols-12\", readOnly ? \"gap-2\" : \"gap-4\")}>\n\t\t\t\t\t\t\t\t{section.fields.map((config) => (\n\t\t\t\t\t\t\t\t\t<div key={String(config.name)} className={getColSpanClass(config.cols)}>\n\t\t\t\t\t\t\t\t\t\t<BaseFormField\n\t\t\t\t\t\t\t\t\t\t\tconfig={config}\n\t\t\t\t\t\t\t\t\t\t\tcontrol={form.control}\n\t\t\t\t\t\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\t\t\t\t\t\tform={form}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</form>\n\t\t\t) : (\n\t\t\t\t<div id={formId} className=\"space-y-8 relative px-1\">\n\t\t\t\t\t{sections.map((section, idx) => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={section.title ? `${section.title}-${idx}` : `section-${idx}`}\n\t\t\t\t\t\t\tclassName=\"space-y-4\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{(section.title || section.description) && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t{section.title && <h3>{section.title}</h3>}\n\t\t\t\t\t\t\t\t\t<Separator className=\"flex-1\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t<div className={cn(\"grid grid-cols-12\", readOnly ? \"gap-2\" : \"gap-4\")}>\n\t\t\t\t\t\t\t\t{section.fields.map((config) => (\n\t\t\t\t\t\t\t\t\t<div key={String(config.name)} className={getColSpanClass(config.cols)}>\n\t\t\t\t\t\t\t\t\t\t<BaseFormField\n\t\t\t\t\t\t\t\t\t\t\tconfig={config}\n\t\t\t\t\t\t\t\t\t\t\tcontrol={form.control}\n\t\t\t\t\t\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\t\t\t\t\t\tform={form}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</Form>\n\t);\n}\n\nFormLayout.displayName = \"FormLayout\";\n"],"names":["formatDate","date","undefined","formatDateToBrazilian","formatCNPJ","cnpj","cleaned","replace","length","slice","formatCurrency","value","formatMoney","currency","minimumFractionDigits","maximumFractionDigits","AutocompleteFieldWrapper","field","form","autocompleteConfig","placeholder","disabled","open","setOpen","useState","selectedOption","setSelectedOption","getOptionLabel","option","label","String","id","getOptionKey","getOptionValue","useEffect","fetchOptions","searchTerm","then","options","found","find","opt","toLowerCase","includes","catch","AutoComplete","onChange","onChangeCallback","searchPlaceholder","onOpenChange","messageEmpty","className","BaseFormField","config","control","readOnly","baseId","useId","name","type","description","required","decimalScale","prefix","radioOptions","otpLength","sliderRange","format","patternFormat","mask","render","customRender","formatReadOnlyValue","fieldType","toLocaleString","optValue","FormField","ListItem","title","FormItem","FormLabel","span","FormControl","FormDescription","FormMessage","Input","textarea","NumericFormat","customInput","decimalSeparator","thousandSeparator","onValueChange","values","floatValue","PatternFormat","selectValue","Select","SelectTrigger","SelectValue","SelectContent","map","val","lab","SelectItem","key","Popover","PopoverTrigger","asChild","Button","variant","cn","CalendarIcon","Date","locale","ptBR","PopoverContent","align","Calendar","mode","selected","onSelect","Checkbox","checked","onCheckedChange","div","Switch","RadioGroup","RadioGroupItem","htmlFor","Slider","Number","min","vals","max","step","p","InputOTP","maxLength","InputOTPGroup","Array","from","_","i","InputOTPSlot","index","Toggle","pressed","onPressedChange","displayName","FormLayout","sections","onSubmit","onError","formId","headerContent","formRef","getColSpanClass","cols","Form","handleSubmit","ref","h2","section","idx","h3","Separator","fields"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.mjs","sources":["../../node_modules/lucide-react/dist/esm/icons/calendar.js","../../src/utils/format.ts","../../src/components/default/form-layout/FormLayout.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.479.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M8 2v4\", key: \"1cmpym\" }],\n [\"path\", { d: \"M16 2v4\", key: \"4m81vk\" }],\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"4\", rx: \"2\", key: \"1hopcy\" }],\n [\"path\", { d: \"M3 10h18\", key: \"8toen8\" }]\n];\nconst Calendar = createLucideIcon(\"Calendar\", __iconNode);\n\nexport { __iconNode, Calendar as default };\n//# sourceMappingURL=calendar.js.map\n","import { formatDateToBrazilian } from \"./date\";\nimport { formatMoney } from \"./format-numbers\";\n\n/**\n * Formata uma data para o padrão brasileiro (dd/MM/yyyy)\n * @param date Data a ser formatada (Date, string ou undefined)\n * @returns String formatada ou undefined se não houver valor\n */\nexport function formatDate(date: Date | string | undefined): string | undefined {\n\tif (!date) return undefined;\n\treturn formatDateToBrazilian(date);\n}\n\n/**\n * Formata um CNPJ no padrão brasileiro (##.###.###/####-##)\n * @param cnpj CNPJ a ser formatado (string com ou sem formatação)\n * @returns String formatada ou undefined se não houver valor\n */\nexport function formatCNPJ(cnpj: string | undefined | null): string | undefined {\n\tif (!cnpj) return undefined;\n\n\t// Remove caracteres não numéricos\n\tconst cleaned = cnpj.replace(/\\D/g, \"\");\n\n\t// Verifica se tem 14 dígitos\n\tif (cleaned.length !== 14) {\n\t\t// Se não tiver 14 dígitos, retorna o valor original\n\t\treturn cnpj;\n\t}\n\n\t// Formata: ##.###.###/####-##\n\treturn `${cleaned.slice(0, 2)}.${cleaned.slice(2, 5)}.${cleaned.slice(5, 8)}/${cleaned.slice(8, 12)}-${cleaned.slice(12, 14)}`;\n}\n\n/**\n * Formata um valor numérico como moeda brasileira (R$)\n * @param value Valor numérico a ser formatado\n * @returns String formatada ou undefined se não houver valor\n */\nexport function formatCurrency(value: number | undefined | null): string | undefined {\n\tif (value === null || value === undefined) return undefined;\n\treturn formatMoney({\n\t\tvalue,\n\t\tcurrency: \"BRL\",\n\t\tminimumFractionDigits: 2,\n\t\tmaximumFractionDigits: 2,\n\t});\n}\n","import { format } from \"date-fns\";\nimport { ptBR } from \"date-fns/locale\";\nimport { CalendarIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { useEffect, useId, useState } from \"react\";\nimport {\n\ttype Control,\n\ttype FieldPath,\n\ttype FieldValues,\n\ttype UseFormReturn,\n} from \"react-hook-form\";\nimport { NumericFormat, PatternFormat } from \"react-number-format\";\nimport { AutoComplete } from \"@/components/default/base\";\nimport { ListItem } from \"@/components/default/layout\";\nimport { Button } from \"@/components/ui/button\";\nimport { Calendar } from \"@/components/ui/calendar\";\nimport { Checkbox } from \"@/components/ui/checkbox\";\nimport {\n\tForm,\n\tFormControl,\n\tFormDescription,\n\tFormField,\n\tFormItem,\n\tFormLabel,\n\tFormMessage,\n} from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from \"@/components/ui/input-otp\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { RadioGroup, RadioGroupItem } from \"@/components/ui/radio-group\";\nimport {\n\tSelect,\n\tSelectContent,\n\tSelectItem,\n\tSelectTrigger,\n\tSelectValue,\n} from \"@/components/ui/select\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Slider } from \"@/components/ui/slider\";\nimport { Switch } from \"@/components/ui/switch\";\nimport { Toggle } from \"@/components/ui/toggle\";\nimport { cn } from \"@/lib/utils\";\nimport { formatCNPJ, formatCurrency, formatDate } from \"@/utils/format\";\n\nexport type FormFieldType =\n\t| \"text\"\n\t| \"email\"\n\t| \"url\"\n\t| \"tel\"\n\t| \"textarea\"\n\t| \"number\"\n\t| \"currency\"\n\t| \"pattern\"\n\t| \"select\"\n\t| \"date\"\n\t| \"checkbox\"\n\t| \"switch\"\n\t| \"radio\"\n\t| \"slider\"\n\t| \"otp\"\n\t| \"toggle\"\n\t| \"autocomplete\";\n\nexport interface FormFieldConfig<T extends FieldValues> {\n\tname: FieldPath<T>;\n\tlabel: string;\n\ttype: FormFieldType;\n\tplaceholder?: string;\n\tdescription?: string;\n\trequired?: boolean;\n\tdisabled?: boolean;\n\tcols?: number;\n\tclassName?: string;\n\toptions?: { label: string; value: string | number }[] | string[];\n\n\tdecimalScale?: number;\n\tprefix?: string;\n\tformat?: string;\n\tmask?: string;\n\tradioOptions?: { label: string; value: string }[];\n\totpLength?: number;\n\tsliderRange?: { min: number; max: number; step?: number };\n\tautocompleteConfig?: {\n\t\tfetchOptions: (\n\t\t\tterm: string,\n\t\t) => Promise<Array<{ id: number | string; label: string; [key: string]: any }>>;\n\t\t// biome-ignore lint/suspicious/noExplicitAny: autocomplete option type\n\t\tgetOptionLabel?: (option: any) => string;\n\t\t// biome-ignore lint/suspicious/noExplicitAny: autocomplete option type\n\t\tgetOptionKey?: (option: any) => number | string;\n\t\t// biome-ignore lint/suspicious/noExplicitAny: autocomplete option type\n\t\tgetOptionValue?: (option: any) => any;\n\t\tsearchPlaceholder?: string;\n\t\tmessageEmpty?: string;\n\t\t// biome-ignore lint/suspicious/noExplicitAny: autocomplete option type\n\t\tonChangeCallback?: (option: any, form: UseFormReturn<T>) => void;\n\t\tclearable?: boolean;\n\t};\n\n\t// biome-ignore lint/suspicious/noExplicitAny: react-hook-form field type\n\trender?: (props: { field: any; form: UseFormReturn<T> }) => React.ReactNode;\n}\n\nexport interface FormSectionConfig<T extends FieldValues> {\n\ttitle?: string;\n\tdescription?: string;\n\tfields: FormFieldConfig<T>[];\n}\n\nexport interface BaseFormFieldProps<T extends FieldValues> {\n\tconfig: FormFieldConfig<T>;\n\tcontrol: Control<T>;\n\treadOnly?: boolean;\n\tform?: UseFormReturn<T>;\n}\n\nfunction AutocompleteFieldWrapper<T extends FieldValues>({\n\tfield,\n\tform,\n\tautocompleteConfig,\n\tplaceholder,\n\tdisabled,\n}: {\n\t// biome-ignore lint/suspicious/noExplicitAny: react-hook-form field type\n\tfield: any;\n\tform: UseFormReturn<T>;\n\tautocompleteConfig: NonNullable<FormFieldConfig<T>[\"autocompleteConfig\"]>;\n\tplaceholder?: string;\n\tdisabled?: boolean;\n}) {\n\tconst [open, setOpen] = useState(false);\n\t// biome-ignore lint/suspicious/noExplicitAny: autocomplete option type\n\tconst [selectedOption, setSelectedOption] = useState<any>(null);\n\n\tconst getOptionLabel =\n\t\tautocompleteConfig.getOptionLabel ||\n\t\t// biome-ignore lint/suspicious/noExplicitAny: autocomplete option type\n\t\t((option: any) => option.label || String(option.id));\n\tconst getOptionKey =\n\t\tautocompleteConfig.getOptionKey ||\n\t\t// biome-ignore lint/suspicious/noExplicitAny: autocomplete option type\n\t\t((option: any) => option.id);\n\tconst getOptionValue =\n\t\tautocompleteConfig.getOptionValue ||\n\t\t// biome-ignore lint/suspicious/noExplicitAny: autocomplete option type\n\t\t((option: any) => option.id);\n\n\tuseEffect(() => {\n\t\tif (field.value && autocompleteConfig.fetchOptions) {\n\t\t\tconst searchTerm = typeof field.value === \"string\" ? field.value : \"\";\n\n\t\t\tautocompleteConfig\n\t\t\t\t.fetchOptions(searchTerm)\n\t\t\t\t.then((options) => {\n\t\t\t\t\tlet found = options.find((opt) => getOptionValue(opt) === field.value);\n\n\t\t\t\t\tif (!found && typeof field.value === \"string\") {\n\t\t\t\t\t\tfound = options.find((opt) => {\n\t\t\t\t\t\t\tconst label = getOptionLabel(opt);\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\tlabel === field.value || label.toLowerCase().includes(field.value.toLowerCase())\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!found && typeof field.value === \"number\") {\n\t\t\t\t\t\tfound = options.find((opt) => getOptionKey(opt) === field.value);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (found) {\n\t\t\t\t\t\tsetSelectedOption(found);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetSelectedOption(null);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tsetSelectedOption(null);\n\t\t\t\t});\n\t\t} else {\n\t\t\tsetSelectedOption(null);\n\t\t}\n\t}, [field.value, autocompleteConfig.fetchOptions, getOptionValue, getOptionLabel, getOptionKey]);\n\n\treturn (\n\t\t<AutoComplete\n\t\t\tvalue={selectedOption}\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: autocomplete option type\n\t\t\tonChange={(option: any) => {\n\t\t\t\tconst value = option ? getOptionValue(option) : null;\n\t\t\t\tfield.onChange(value);\n\t\t\t\tsetSelectedOption(option);\n\t\t\t\tif (option && autocompleteConfig.onChangeCallback) {\n\t\t\t\t\tautocompleteConfig.onChangeCallback(option, form);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tplaceholder={placeholder || \"Digite para buscar...\"}\n\t\t\tsearchPlaceholder={autocompleteConfig.searchPlaceholder || \"Buscar...\"}\n\t\t\topen={open}\n\t\t\tonOpenChange={setOpen}\n\t\t\tfetchOptions={autocompleteConfig.fetchOptions}\n\t\t\tdisabled={disabled}\n\t\t\tmessageEmpty={autocompleteConfig.messageEmpty || \"Nenhum resultado encontrado...\"}\n\t\t\tgetOptionLabel={getOptionLabel}\n\t\t\tgetOptionKey={getOptionKey}\n\t\t\tclearable={autocompleteConfig.clearable ?? false}\n\t\t\tclassName=\"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\"\n\t\t/>\n\t);\n}\n\nexport function BaseFormField<T extends FieldValues>({\n\tconfig,\n\tcontrol,\n\treadOnly = false,\n\tform,\n}: BaseFormFieldProps<T>) {\n\tconst baseId = useId();\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\ttype,\n\t\tplaceholder,\n\t\tdescription,\n\t\trequired,\n\t\toptions,\n\t\tdecimalScale,\n\t\tdisabled,\n\t\tprefix,\n\t\tradioOptions,\n\t\totpLength,\n\t\tsliderRange,\n\t\tformat: patternFormat,\n\t\tmask,\n\t\tautocompleteConfig,\n\t\trender: customRender,\n\t} = config;\n\n\tconst formatReadOnlyValue = (value: unknown, fieldType: FormFieldType): string | undefined => {\n\t\tif (value === null || value === undefined || value === \"\") {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tswitch (fieldType) {\n\t\t\tcase \"date\":\n\t\t\t\treturn formatDate(value as Date | string | undefined);\n\t\t\tcase \"currency\":\n\t\t\t\treturn formatCurrency(value as number);\n\t\t\tcase \"number\":\n\t\t\t\treturn typeof value === \"number\"\n\t\t\t\t\t? value.toLocaleString(\"pt-BR\", {\n\t\t\t\t\t\t\tminimumFractionDigits: decimalScale ?? 0,\n\t\t\t\t\t\t\tmaximumFractionDigits: decimalScale ?? 7,\n\t\t\t\t\t\t})\n\t\t\t\t\t: String(value);\n\t\t\tcase \"pattern\":\n\t\t\t\tif (patternFormat && typeof value === \"string\") {\n\t\t\t\t\tif (patternFormat.includes(\"##.###.###/####-##\")) {\n\t\t\t\t\t\treturn formatCNPJ(value);\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t\treturn String(value);\n\t\t\tcase \"select\":\n\t\t\t\tif (options && options.length > 0) {\n\t\t\t\t\tconst option = options.find((opt) => {\n\t\t\t\t\t\tconst optValue = typeof opt === \"object\" ? opt.value : opt;\n\t\t\t\t\t\treturn String(optValue) === String(value);\n\t\t\t\t\t});\n\t\t\t\t\tif (option) {\n\t\t\t\t\t\treturn typeof option === \"object\" ? option.label : option;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn String(value);\n\t\t\tcase \"checkbox\":\n\t\t\tcase \"switch\":\n\t\t\tcase \"toggle\":\n\t\t\t\treturn value ? \"Sim\" : \"Não\";\n\t\t\tcase \"radio\":\n\t\t\t\tif (radioOptions) {\n\t\t\t\t\tconst option = radioOptions.find((opt) => String(opt.value) === String(value));\n\t\t\t\t\treturn option ? option.label : String(value);\n\t\t\t\t}\n\t\t\t\treturn String(value);\n\t\t\tcase \"slider\":\n\t\t\t\treturn typeof value === \"number\" ? String(value) : undefined;\n\t\t\tdefault:\n\t\t\t\treturn String(value);\n\t\t}\n\t};\n\n\tif (readOnly) {\n\t\treturn (\n\t\t\t<FormField\n\t\t\t\tcontrol={control}\n\t\t\t\tname={name}\n\t\t\t\t// biome-ignore lint/suspicious/noExplicitAny: react-hook-form field type\n\t\t\t\trender={({ field }: any) => (\n\t\t\t\t\t<ListItem title={label} value={formatReadOnlyValue(field.value, type)} />\n\t\t\t\t)}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: react-hook-form field type\n\t\t\trender={({ field }: any) => {\n\t\t\t\tif (customRender && form) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<FormItem\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\ttype === \"checkbox\"\n\t\t\t\t\t\t\t\t\t? \"flex flex-row items-start space-x-3 space-y-0 rounded-md border p-4\"\n\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{type !== \"checkbox\" && type !== \"switch\" && (\n\t\t\t\t\t\t\t\t<FormLabel>\n\t\t\t\t\t\t\t\t\t{label} {required && <span className=\"text-destructive\">*</span>}\n\t\t\t\t\t\t\t\t</FormLabel>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<FormControl>{customRender({ field, form })}</FormControl>\n\t\t\t\t\t\t\t{type !== \"checkbox\" && description && (\n\t\t\t\t\t\t\t\t<FormDescription>{description}</FormDescription>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<FormMessage />\n\t\t\t\t\t\t</FormItem>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<FormItem\n\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\ttype === \"checkbox\"\n\t\t\t\t\t\t\t\t? \"flex flex-row items-start space-x-3 space-y-0 rounded-md border p-4\"\n\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{type !== \"checkbox\" && type !== \"switch\" && (\n\t\t\t\t\t\t\t<FormLabel>\n\t\t\t\t\t\t\t\t{label} {required && <span className=\"text-destructive\">*</span>}\n\t\t\t\t\t\t\t</FormLabel>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t\t{(() => {\n\t\t\t\t\t\t\t\tswitch (type) {\n\t\t\t\t\t\t\t\t\tcase \"text\":\n\t\t\t\t\t\t\t\t\tcase \"email\":\n\t\t\t\t\t\t\t\t\tcase \"url\":\n\t\t\t\t\t\t\t\t\tcase \"tel\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\t\t\t\t\t\ttype={type}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={(field.value as string) || \"\"}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"textarea\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex min-h-20 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\"\n\t\t\t\t\t\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={(field.value as string) || \"\"}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"number\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<NumericFormat\n\t\t\t\t\t\t\t\t\t\t\t\tcustomInput={Input}\n\t\t\t\t\t\t\t\t\t\t\t\tdecimalSeparator=\",\"\n\t\t\t\t\t\t\t\t\t\t\t\tthousandSeparator=\".\"\n\t\t\t\t\t\t\t\t\t\t\t\tdecimalScale={decimalScale ?? 7}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={field.value ?? \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\tonValueChange={(values) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (values.value === \"\") {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(null);\n\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(values.floatValue);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"currency\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<NumericFormat\n\t\t\t\t\t\t\t\t\t\t\t\tcustomInput={Input}\n\t\t\t\t\t\t\t\t\t\t\t\tdecimalSeparator=\",\"\n\t\t\t\t\t\t\t\t\t\t\t\tthousandSeparator=\".\"\n\t\t\t\t\t\t\t\t\t\t\t\tdecimalScale={decimalScale ?? 2}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={field.value ?? \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\tonValueChange={(values) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (values.value === \"\") {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(null);\n\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(values.floatValue);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t\tprefix={prefix ?? \"R$ \"}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"pattern\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<PatternFormat\n\t\t\t\t\t\t\t\t\t\t\t\tcustomInput={Input}\n\t\t\t\t\t\t\t\t\t\t\t\tformat={patternFormat || \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\tmask={mask || \"_\"}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={(field.value as string) || \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\tonValueChange={(values) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(values.value);\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"select\": {\n\t\t\t\t\t\t\t\t\t\tconst selectValue = String(field.value || \"\");\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\t\t\t\t\t\tonValueChange={field.onChange}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={selectValue}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<SelectTrigger className=\"w-full\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<SelectValue placeholder={placeholder || \"Selecione\"} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t\t\t\t\t\t</FormControl>\n\t\t\t\t\t\t\t\t\t\t\t\t<SelectContent className=\"max-h-[300px] overflow-y-auto overflow-x-hidden\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{options?.map((opt) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst val = typeof opt === \"object\" ? String(opt.value) : opt;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst lab = typeof opt === \"object\" ? opt.label : opt;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<SelectItem key={val} value={val}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{lab}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tcase \"date\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<Popover>\n\t\t\t\t\t\t\t\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"w-full justify-start text-left font-normal\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!field.value && \"text-muted-foreground\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<CalendarIcon className=\"mr-2 h-4 w-4\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{field.value ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tformat(new Date(field.value), \"dd/MM/yyyy\", { locale: ptBR })\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{placeholder || \"Selecione\"}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t\t\t\t\t\t\t\t<PopoverContent className=\"w-auto p-0\" align=\"start\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Calendar\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmode=\"single\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselected={field.value ? new Date(field.value) : undefined}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={field.onChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlocale={ptBR}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t\t\t\t\t\t\t</Popover>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"checkbox\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\t\t\t\t\t\tchecked={!!field.value}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonCheckedChange={field.onChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-1 leading-none\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FormLabel>{label}</FormLabel>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{description && <FormDescription>{description}</FormDescription>}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"switch\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-between\">\n\t\t\t\t\t\t\t\t\t\t\t\t<FormLabel>{label}</FormLabel>\n\t\t\t\t\t\t\t\t\t\t\t\t<Switch\n\t\t\t\t\t\t\t\t\t\t\t\t\tchecked={!!field.value}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonCheckedChange={field.onChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"radio\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<RadioGroup\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={String(field.value ?? \"\")}\n\t\t\t\t\t\t\t\t\t\t\t\tonValueChange={field.onChange}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex flex-col gap-2\"\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled ?? false}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{(radioOptions ?? [])?.map((opt) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div key={opt.value} className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<RadioGroupItem value={opt.value} id={`${String(name)}-${opt.value}`} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<label htmlFor={`${String(name)}-${opt.value}`} className=\"text-sm\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{opt.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\t</RadioGroup>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"slider\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={[Number(field.value ?? sliderRange?.min ?? 0)]}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonValueChange={(vals: number[]) => field.onChange(vals[0])}\n\t\t\t\t\t\t\t\t\t\t\t\t\tmin={sliderRange?.min ?? 0}\n\t\t\t\t\t\t\t\t\t\t\t\t\tmax={sliderRange?.max ?? 100}\n\t\t\t\t\t\t\t\t\t\t\t\t\tstep={sliderRange?.step ?? 1}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t{typeof field.value === \"number\" && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground\">Valor: {field.value}</p>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"otp\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<InputOTP\n\t\t\t\t\t\t\t\t\t\t\t\tmaxLength={otpLength ?? 6}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={String(field.value ?? \"\")}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={field.onChange}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<InputOTPGroup>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{Array.from({ length: otpLength ?? 6 }, (_, i) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<InputOTPSlot key={`${baseId}-otp-${i}`} index={i} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\t\t</InputOTPGroup>\n\t\t\t\t\t\t\t\t\t\t\t</InputOTP>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"toggle\":\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Toggle\n\t\t\t\t\t\t\t\t\t\t\t\t\tpressed={!!field.value}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonPressedChange={(pressed: boolean) => field.onChange(pressed)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t\t\t\t</Toggle>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tcase \"autocomplete\": {\n\t\t\t\t\t\t\t\t\t\tif (!autocompleteConfig || !form) {\n\t\t\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<AutocompleteFieldWrapper\n\t\t\t\t\t\t\t\t\t\t\t\tfield={field}\n\t\t\t\t\t\t\t\t\t\t\t\tform={form}\n\t\t\t\t\t\t\t\t\t\t\t\tautocompleteConfig={autocompleteConfig}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})()}\n\t\t\t\t\t\t</FormControl>\n\n\t\t\t\t\t\t{type !== \"checkbox\" && description && <FormDescription>{description}</FormDescription>}\n\t\t\t\t\t\t<FormMessage />\n\t\t\t\t\t</FormItem>\n\t\t\t\t);\n\t\t\t}}\n\t\t/>\n\t);\n}\n\nBaseFormField.displayName = \"BaseFormField\";\n\nexport interface FormLayoutProps<T extends FieldValues> {\n\tform: UseFormReturn<T>;\n\tsections: FormSectionConfig<T>[];\n\tonSubmit?: (values: T) => void;\n\t// biome-ignore lint/suspicious/noExplicitAny: react-hook-form errors type\n\tonError?: (errors: any) => void;\n\tformId?: string;\n\ttitle?: string;\n\tdescription?: string;\n\theaderContent?: React.ReactNode;\n\treadOnly?: boolean;\n\tformRef?: React.RefObject<HTMLFormElement | null>;\n}\n\nexport function FormLayout<T extends FieldValues>({\n\tform,\n\tsections,\n\tonSubmit,\n\tonError,\n\tformId,\n\ttitle,\n\tdescription,\n\theaderContent,\n\treadOnly = false,\n\tformRef,\n}: FormLayoutProps<T>) {\n\tconst getColSpanClass = (cols?: number) => {\n\t\tif (!cols || cols === 1) return \"col-span-12 md:col-span-6 xl:col-span-4\";\n\t\tif (cols === 2) return \"col-span-12 md:col-span-12 xl:col-span-8\";\n\t\tif (cols === 3) return \"col-span-12\";\n\t\tif (cols === 6) return \"col-span-12 2xl:col-span-6\";\n\t\treturn \"col-span-12\";\n\t};\n\n\treturn (\n\t\t<Form {...form}>\n\t\t\t{onSubmit ? (\n\t\t\t\t<form\n\t\t\t\t\tonSubmit={form.handleSubmit(onSubmit, onError)}\n\t\t\t\t\tid={formId}\n\t\t\t\t\tref={formRef as React.RefObject<HTMLFormElement>}\n\t\t\t\t\tclassName=\"space-y-8 relative px-1\"\n\t\t\t\t>\n\t\t\t\t\t{(title || description) && (\n\t\t\t\t\t\t<div className=\"space-y-2 mb-6\">\n\t\t\t\t\t\t\t<div className=\"flex justify-between items-start\">\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t{title && <h2 className=\"text-xl font-semibold tracking-tight\">{title}</h2>}\n\t\t\t\t\t\t\t\t\t{description && <p className=\"text-muted-foreground text-sm\">{description}</p>}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{headerContent}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{sections.map((section, idx) => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={section.title ? `${section.title}-${idx}` : `section-${idx}`}\n\t\t\t\t\t\t\tclassName=\"space-y-4\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{(section.title || section.description) && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t{section.title && <h3>{section.title}</h3>}\n\t\t\t\t\t\t\t\t\t<Separator className=\"flex-1\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t<div className={cn(\"grid grid-cols-12\", readOnly ? \"gap-2\" : \"gap-4\")}>\n\t\t\t\t\t\t\t\t{section.fields.map((config) => (\n\t\t\t\t\t\t\t\t\t<div key={String(config.name)} className={getColSpanClass(config.cols)}>\n\t\t\t\t\t\t\t\t\t\t<BaseFormField\n\t\t\t\t\t\t\t\t\t\t\tconfig={config}\n\t\t\t\t\t\t\t\t\t\t\tcontrol={form.control}\n\t\t\t\t\t\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\t\t\t\t\t\tform={form}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</form>\n\t\t\t) : (\n\t\t\t\t<div id={formId} className=\"space-y-8 relative px-1\">\n\t\t\t\t\t{sections.map((section, idx) => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={section.title ? `${section.title}-${idx}` : `section-${idx}`}\n\t\t\t\t\t\t\tclassName=\"space-y-4\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{(section.title || section.description) && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t{section.title && <h3>{section.title}</h3>}\n\t\t\t\t\t\t\t\t\t<Separator className=\"flex-1\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t<div className={cn(\"grid grid-cols-12\", readOnly ? \"gap-2\" : \"gap-4\")}>\n\t\t\t\t\t\t\t\t{section.fields.map((config) => (\n\t\t\t\t\t\t\t\t\t<div key={String(config.name)} className={getColSpanClass(config.cols)}>\n\t\t\t\t\t\t\t\t\t\t<BaseFormField\n\t\t\t\t\t\t\t\t\t\t\tconfig={config}\n\t\t\t\t\t\t\t\t\t\t\tcontrol={form.control}\n\t\t\t\t\t\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\t\t\t\t\t\tform={form}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</Form>\n\t);\n}\n\nFormLayout.displayName = \"FormLayout\";\n"],"names":["formatDate","date","undefined","formatDateToBrazilian","formatCNPJ","cnpj","cleaned","replace","length","slice","formatCurrency","value","formatMoney","currency","minimumFractionDigits","maximumFractionDigits","AutocompleteFieldWrapper","field","form","autocompleteConfig","placeholder","disabled","open","setOpen","useState","selectedOption","setSelectedOption","getOptionLabel","option","label","String","id","getOptionKey","getOptionValue","useEffect","fetchOptions","searchTerm","then","options","found","find","opt","toLowerCase","includes","catch","AutoComplete","onChange","onChangeCallback","searchPlaceholder","onOpenChange","messageEmpty","clearable","className","BaseFormField","config","control","readOnly","baseId","useId","name","type","description","required","decimalScale","prefix","radioOptions","otpLength","sliderRange","format","patternFormat","mask","render","customRender","formatReadOnlyValue","fieldType","toLocaleString","optValue","FormField","ListItem","title","FormItem","FormLabel","span","FormControl","FormDescription","FormMessage","Input","textarea","NumericFormat","customInput","decimalSeparator","thousandSeparator","onValueChange","values","floatValue","PatternFormat","selectValue","Select","SelectTrigger","SelectValue","SelectContent","map","val","lab","SelectItem","key","Popover","PopoverTrigger","asChild","Button","variant","cn","CalendarIcon","Date","locale","ptBR","PopoverContent","align","Calendar","mode","selected","onSelect","Checkbox","checked","onCheckedChange","div","Switch","RadioGroup","RadioGroupItem","htmlFor","Slider","Number","min","vals","max","step","p","InputOTP","maxLength","InputOTPGroup","Array","from","_","i","InputOTPSlot","index","Toggle","pressed","onPressedChange","displayName","FormLayout","sections","onSubmit","onError","formId","headerContent","formRef","getColSpanClass","cols","Form","handleSubmit","ref","h2","section","idx","h3","Separator","fields"],"mappings":"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","x_google_ignoreList":[0]}