ivt 0.8.2 → 0.8.3

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 (272) 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 +3 -52
  9. package/dist/base/index.mjs +57 -90
  10. package/dist/base/index.mjs.map +1 -1
  11. package/dist/breadcrumb/index.mjs +5 -5
  12. package/dist/button/index.mjs +3 -3
  13. package/dist/button-group/index.mjs +7 -47
  14. package/dist/button-group/index.mjs.map +1 -1
  15. package/dist/calendar/index.mjs +9 -9
  16. package/dist/card/index.mjs +3 -3
  17. package/dist/carousel/index.mjs +4 -4
  18. package/dist/chart/index.mjs +4 -4
  19. package/dist/checkbox/index.mjs +12 -12
  20. package/dist/chunks/{CalendarPopover-CgI8fWir.mjs → CalendarPopover-CRB6GXIt.mjs} +14 -14
  21. package/dist/chunks/{CalendarPopover-CgI8fWir.mjs.map → CalendarPopover-CRB6GXIt.mjs.map} +1 -1
  22. package/dist/chunks/{CalendarRange-BXw3oKg2.mjs → CalendarRange-DucTFDzH.mjs} +10 -10
  23. package/dist/chunks/{CalendarRange-BXw3oKg2.mjs.map → CalendarRange-DucTFDzH.mjs.map} +1 -1
  24. package/dist/chunks/{ComboboxField-D0UNK7tu.mjs → ComboboxField-Us4hYexm.mjs} +9 -9
  25. package/dist/chunks/{ComboboxField-D0UNK7tu.mjs.map → ComboboxField-Us4hYexm.mjs.map} +1 -1
  26. package/dist/chunks/{Container-B8xT82ak.mjs → Container-BFAAGDWA.mjs} +2 -2
  27. package/dist/chunks/{Container-B8xT82ak.mjs.map → Container-BFAAGDWA.mjs.map} +1 -1
  28. package/dist/chunks/{DeleteConfirmationModal-DZnfk6jI.mjs → DeleteConfirmationModal-ClGTTktk.mjs} +4 -4
  29. package/dist/chunks/{DeleteConfirmationModal-DZnfk6jI.mjs.map → DeleteConfirmationModal-ClGTTktk.mjs.map} +1 -1
  30. package/dist/chunks/ExportButtons-Ru0nKJJO.mjs +229 -0
  31. package/dist/chunks/ExportButtons-Ru0nKJJO.mjs.map +1 -0
  32. package/dist/chunks/GenericTabs-B42Kfv_U.mjs +41 -0
  33. package/dist/chunks/GenericTabs-B42Kfv_U.mjs.map +1 -0
  34. package/dist/chunks/GenericTabs-CtJk8qVb.d.ts +54 -0
  35. package/dist/chunks/{ListItem-D-9IL02i.mjs → ListItem-Da4Od2ts.mjs} +4 -4
  36. package/dist/chunks/{ListItem-D-9IL02i.mjs.map → ListItem-Da4Od2ts.mjs.map} +1 -1
  37. package/dist/chunks/{TooltipIndicator-CxutRacl.mjs → TooltipIndicator-B9oMD_x3.mjs} +4 -4
  38. package/dist/chunks/{TooltipIndicator-CxutRacl.mjs.map → TooltipIndicator-B9oMD_x3.mjs.map} +1 -1
  39. package/dist/chunks/{_commonjsHelpers-Cvv4G-WK.mjs → _commonjsHelpers-CrMz3UM5.mjs} +1 -1
  40. package/dist/chunks/_commonjsHelpers-CrMz3UM5.mjs.map +1 -0
  41. package/dist/chunks/{accordion-D6RZaWOs.mjs → accordion-BFVct-IT.mjs} +9 -9
  42. package/dist/chunks/{accordion-D6RZaWOs.mjs.map → accordion-BFVct-IT.mjs.map} +1 -1
  43. package/dist/chunks/{alert-DdnxYvWE.mjs → alert-DHxNsPyM.mjs} +2 -2
  44. package/dist/chunks/{alert-DdnxYvWE.mjs.map → alert-DHxNsPyM.mjs.map} +1 -1
  45. package/dist/chunks/{badge-e9FlhbZG.mjs → badge-BUI8RIXy.mjs} +2 -2
  46. package/dist/chunks/{badge-e9FlhbZG.mjs.map → badge-BUI8RIXy.mjs.map} +1 -1
  47. package/dist/chunks/{bundle-mjs-DXRXWAZP.mjs → bundle-mjs-CjTndHqR.mjs} +1 -1
  48. package/dist/chunks/{bundle-mjs-DXRXWAZP.mjs.map → bundle-mjs-CjTndHqR.mjs.map} +1 -1
  49. package/dist/chunks/{button-JvO-Yoz8.mjs → button-BvsCd2vf.mjs} +2 -2
  50. package/dist/chunks/{button-JvO-Yoz8.mjs.map → button-BvsCd2vf.mjs.map} +1 -1
  51. package/dist/chunks/button-group-PrAqXtXn.mjs +47 -0
  52. package/dist/chunks/button-group-PrAqXtXn.mjs.map +1 -0
  53. package/dist/chunks/{calendar-DNpvnGAf.mjs → calendar-LFBK0slp.mjs} +7 -7
  54. package/dist/chunks/{calendar-DNpvnGAf.mjs.map → calendar-LFBK0slp.mjs.map} +1 -1
  55. package/dist/chunks/{calendar-days-BMnJ9l_C.mjs → calendar-days-C3N6HIT-.mjs} +2 -2
  56. package/dist/chunks/{calendar-days-BMnJ9l_C.mjs.map → calendar-days-C3N6HIT-.mjs.map} +1 -1
  57. package/dist/chunks/{card-BtdzqMp4.mjs → card-BoHc9gge.mjs} +2 -2
  58. package/dist/chunks/{card-BtdzqMp4.mjs.map → card-BoHc9gge.mjs.map} +1 -1
  59. package/dist/chunks/{check-DEhwj6Al.mjs → check-VfNn6myv.mjs} +2 -2
  60. package/dist/chunks/{check-DEhwj6Al.mjs.map → check-VfNn6myv.mjs.map} +1 -1
  61. package/dist/chunks/{checkbox-BbHzfxQ9.mjs → checkbox-CgrFFc0p.mjs} +9 -9
  62. package/dist/chunks/{checkbox-BbHzfxQ9.mjs.map → checkbox-CgrFFc0p.mjs.map} +1 -1
  63. package/dist/chunks/{chevron-down-DyDVUUJG.mjs → chevron-down-CD1QpvBA.mjs} +2 -2
  64. package/dist/chunks/{chevron-down-DyDVUUJG.mjs.map → chevron-down-CD1QpvBA.mjs.map} +1 -1
  65. package/dist/chunks/{chevron-left-k6SfavFD.mjs → chevron-left-B7ClEtyW.mjs} +2 -2
  66. package/dist/chunks/{chevron-left-k6SfavFD.mjs.map → chevron-left-B7ClEtyW.mjs.map} +1 -1
  67. package/dist/chunks/{chevron-right-5U1hONwP.mjs → chevron-right-Bb52eown.mjs} +2 -2
  68. package/dist/chunks/{chevron-right-5U1hONwP.mjs.map → chevron-right-Bb52eown.mjs.map} +1 -1
  69. package/dist/chunks/{chevrons-up-down-DnZtt-_l.mjs → chevrons-up-down-C5lu4ULp.mjs} +2 -2
  70. package/dist/chunks/{chevrons-up-down-DnZtt-_l.mjs.map → chevrons-up-down-C5lu4ULp.mjs.map} +1 -1
  71. package/dist/chunks/{command-BDTO2cfw.mjs → command-e20cpPEv.mjs} +8 -8
  72. package/dist/chunks/{command-BDTO2cfw.mjs.map → command-e20cpPEv.mjs.map} +1 -1
  73. package/dist/chunks/{createLucideIcon-2SUCH87i.mjs → createLucideIcon-D3jW_oal.mjs} +1 -1
  74. package/dist/chunks/{createLucideIcon-2SUCH87i.mjs.map → createLucideIcon-D3jW_oal.mjs.map} +1 -1
  75. package/dist/chunks/{date-DrBEm7EU.mjs → date-Dy-Pzcmp.mjs} +2 -2
  76. package/dist/chunks/{date-DrBEm7EU.mjs.map → date-Dy-Pzcmp.mjs.map} +1 -1
  77. package/dist/chunks/{date-picker-Cdfhwwt-.mjs → date-picker-B6SyJ_gl.mjs} +8 -8
  78. package/dist/chunks/{date-picker-Cdfhwwt-.mjs.map → date-picker-B6SyJ_gl.mjs.map} +1 -1
  79. package/dist/chunks/{dialog-CNJ69a9m.mjs → dialog-B20zSjze.mjs} +4 -4
  80. package/dist/chunks/{dialog-CNJ69a9m.mjs.map → dialog-B20zSjze.mjs.map} +1 -1
  81. package/dist/chunks/dropdown-menu-B2ja7qty.mjs +421 -0
  82. package/dist/chunks/dropdown-menu-B2ja7qty.mjs.map +1 -0
  83. package/dist/chunks/{ellipsis-gwVeGior.mjs → ellipsis-C6LF5HVj.mjs} +2 -2
  84. package/dist/chunks/{ellipsis-gwVeGior.mjs.map → ellipsis-C6LF5HVj.mjs.map} +1 -1
  85. package/dist/chunks/export-config-BMsuab-C.d.ts +10 -0
  86. package/dist/chunks/{form-DYI1Fsbh.mjs → form-BrcvX0yc.mjs} +3 -3
  87. package/dist/chunks/{form-DYI1Fsbh.mjs.map → form-BrcvX0yc.mjs.map} +1 -1
  88. package/dist/chunks/{format-H6PbTjCv.mjs → format-CxsCX_YZ.mjs} +1 -1
  89. package/dist/chunks/{format-H6PbTjCv.mjs.map → format-CxsCX_YZ.mjs.map} +1 -1
  90. package/dist/chunks/{format-numbers-CiXD1fpX.mjs → format-numbers-CBSY6ZvL.mjs} +1 -1
  91. package/dist/chunks/{format-numbers-CiXD1fpX.mjs.map → format-numbers-CBSY6ZvL.mjs.map} +1 -1
  92. package/dist/chunks/{hover-card-CKiTCy_x.mjs → hover-card-hPKHSJ81.mjs} +9 -9
  93. package/dist/chunks/{hover-card-CKiTCy_x.mjs.map → hover-card-hPKHSJ81.mjs.map} +1 -1
  94. package/dist/chunks/{index-h2UBbLWX.mjs → index-3TdUvynV.mjs} +1 -1
  95. package/dist/chunks/{index-h2UBbLWX.mjs.map → index-3TdUvynV.mjs.map} +1 -1
  96. package/dist/chunks/{index-CXc2kXqI.mjs → index-B-46hbYc.mjs} +1 -1
  97. package/dist/chunks/{index-CXc2kXqI.mjs.map → index-B-46hbYc.mjs.map} +1 -1
  98. package/dist/chunks/{index-Bfkb7tIT.mjs → index-B46fiGOC.mjs} +9 -9
  99. package/dist/chunks/{index-Bfkb7tIT.mjs.map → index-B46fiGOC.mjs.map} +1 -1
  100. package/dist/chunks/{index-BsMtsLQL.mjs → index-B5fbJZIT.mjs} +2 -2
  101. package/dist/chunks/{index-BsMtsLQL.mjs.map → index-B5fbJZIT.mjs.map} +1 -1
  102. package/dist/chunks/{index-V8A3cYhN.mjs → index-BbPnHdtV.mjs} +5 -5
  103. package/dist/chunks/{index-V8A3cYhN.mjs.map → index-BbPnHdtV.mjs.map} +1 -1
  104. package/dist/chunks/{index-BmVkVcuf.mjs → index-BzAMFivh.mjs} +6 -6
  105. package/dist/chunks/{index-BmVkVcuf.mjs.map → index-BzAMFivh.mjs.map} +1 -1
  106. package/dist/chunks/{index-4V1R6N_e.mjs → index-C5uKwhOD.mjs} +13 -13
  107. package/dist/chunks/{index-4V1R6N_e.mjs.map → index-C5uKwhOD.mjs.map} +1 -1
  108. package/dist/chunks/{index-DNhwaiWj.mjs → index-C__GtYCW.mjs} +1 -1
  109. package/dist/chunks/{index-DNhwaiWj.mjs.map → index-C__GtYCW.mjs.map} +1 -1
  110. package/dist/chunks/{index-blonoBnM.mjs → index-Csf3aM1P.mjs} +1 -1
  111. package/dist/chunks/{index-blonoBnM.mjs.map → index-Csf3aM1P.mjs.map} +1 -1
  112. package/dist/chunks/{index-D1sYR4mD.mjs → index-D4iRNKtb.mjs} +7 -7
  113. package/dist/chunks/{index-D1sYR4mD.mjs.map → index-D4iRNKtb.mjs.map} +1 -1
  114. package/dist/chunks/{index-CHEDvJ0c.mjs → index-DDM8Lpbb.mjs} +2 -2
  115. package/dist/chunks/{index-CHEDvJ0c.mjs.map → index-DDM8Lpbb.mjs.map} +1 -1
  116. package/dist/chunks/{index-B3sVlKu2.mjs → index-DF-3JHwb.mjs} +2 -2
  117. package/dist/chunks/{index-B3sVlKu2.mjs.map → index-DF-3JHwb.mjs.map} +1 -1
  118. package/dist/chunks/{index-BzXwqwOh.mjs → index-DGUU265f.mjs} +3 -3
  119. package/dist/chunks/{index-BzXwqwOh.mjs.map → index-DGUU265f.mjs.map} +1 -1
  120. package/dist/chunks/{index-B-SuNoHt.mjs → index-DIaetExD.mjs} +1 -1
  121. package/dist/chunks/{index-B-SuNoHt.mjs.map → index-DIaetExD.mjs.map} +1 -1
  122. package/dist/chunks/{index-BEqgxQjn.mjs → index-DghbVew_.mjs} +7 -7
  123. package/dist/chunks/{index-BEqgxQjn.mjs.map → index-DghbVew_.mjs.map} +1 -1
  124. package/dist/chunks/{index-C4ARVEo0.mjs → index-Dp_x2nI3.mjs} +1 -1
  125. package/dist/chunks/{index-C4ARVEo0.mjs.map → index-Dp_x2nI3.mjs.map} +1 -1
  126. package/dist/chunks/{index-fXDdsWwE.mjs → index-DslxcA48.mjs} +1 -1
  127. package/dist/chunks/{index-fXDdsWwE.mjs.map → index-DslxcA48.mjs.map} +1 -1
  128. package/dist/chunks/{index-CtjNOkEj.mjs → index-EcI_mW3m.mjs} +4 -4
  129. package/dist/chunks/{index-CtjNOkEj.mjs.map → index-EcI_mW3m.mjs.map} +1 -1
  130. package/dist/chunks/{index-CAcf0UoZ.mjs → index-JZ-FhLOH.mjs} +3 -3
  131. package/dist/chunks/{index-CAcf0UoZ.mjs.map → index-JZ-FhLOH.mjs.map} +1 -1
  132. package/dist/chunks/{index-C7cwDOgB.mjs → index-RaUpQCps.mjs} +1 -1
  133. package/dist/chunks/{index-C7cwDOgB.mjs.map → index-RaUpQCps.mjs.map} +1 -1
  134. package/dist/chunks/{index-De14TLs5.mjs → index-SLs8oClH.mjs} +2 -2
  135. package/dist/chunks/{index-De14TLs5.mjs.map → index-SLs8oClH.mjs.map} +1 -1
  136. package/dist/chunks/{index.module-CEiw3mHu.mjs → index.module-B4lVPYXp.mjs} +1 -1
  137. package/dist/chunks/{index.module-CEiw3mHu.mjs.map → index.module-B4lVPYXp.mjs.map} +1 -1
  138. package/dist/chunks/{input-BDpiQTHt.mjs → input-B4HxPY7D.mjs} +2 -2
  139. package/dist/chunks/{input-BDpiQTHt.mjs.map → input-B4HxPY7D.mjs.map} +1 -1
  140. package/dist/chunks/{input-otp-wwXTyYsk.mjs → input-otp-DfumrHpI.mjs} +3 -3
  141. package/dist/chunks/{input-otp-wwXTyYsk.mjs.map → input-otp-DfumrHpI.mjs.map} +1 -1
  142. package/dist/chunks/{label-ClKli7la.mjs → label-Dxv54YUS.mjs} +2 -2
  143. package/dist/chunks/{label-ClKli7la.mjs.map → label-Dxv54YUS.mjs.map} +1 -1
  144. package/dist/chunks/{loader-circle-BhH2qbA3.mjs → loader-circle-hYdtBTNb.mjs} +2 -2
  145. package/dist/chunks/{loader-circle-BhH2qbA3.mjs.map → loader-circle-hYdtBTNb.mjs.map} +1 -1
  146. package/dist/chunks/{menubar-BvmNZF6Z.mjs → menubar-C76cRAzY.mjs} +11 -11
  147. package/dist/chunks/{menubar-BvmNZF6Z.mjs.map → menubar-C76cRAzY.mjs.map} +1 -1
  148. package/dist/chunks/{multi-select-Cgr2WyAp.mjs → multi-select-B6DLSXK6.mjs} +13 -13
  149. package/dist/chunks/{multi-select-Cgr2WyAp.mjs.map → multi-select-B6DLSXK6.mjs.map} +1 -1
  150. package/dist/chunks/{pagination-BK8E9JDr.mjs → pagination-BF_3NYnD.mjs} +6 -6
  151. package/dist/chunks/{pagination-BK8E9JDr.mjs.map → pagination-BF_3NYnD.mjs.map} +1 -1
  152. package/dist/chunks/{popover-AUqx-39R.mjs → popover--9SMD-cC.mjs} +11 -11
  153. package/dist/chunks/{popover-AUqx-39R.mjs.map → popover--9SMD-cC.mjs.map} +1 -1
  154. package/dist/chunks/{progress-BLQ-EApM.mjs → progress-CwFC70K1.mjs} +2 -2
  155. package/dist/chunks/{progress-BLQ-EApM.mjs.map → progress-CwFC70K1.mjs.map} +1 -1
  156. package/dist/chunks/{radio-group-BWfTdtBY.mjs → radio-group-DhGJL_gc.mjs} +11 -11
  157. package/dist/chunks/{radio-group-BWfTdtBY.mjs.map → radio-group-DhGJL_gc.mjs.map} +1 -1
  158. package/dist/chunks/{react-number-format.es-BMWP6vI5.mjs → react-number-format.es-B11gLKR5.mjs} +1 -1
  159. package/dist/chunks/{react-number-format.es-BMWP6vI5.mjs.map → react-number-format.es-B11gLKR5.mjs.map} +1 -1
  160. package/dist/chunks/{scroll-area-DPDf25-Q.mjs → scroll-area-D0gA5i73.mjs} +9 -9
  161. package/dist/chunks/{scroll-area-DPDf25-Q.mjs.map → scroll-area-D0gA5i73.mjs.map} +1 -1
  162. package/dist/chunks/{select-D-hU3AUX.mjs → select-Cl_ZzI9R.mjs} +5 -5
  163. package/dist/chunks/{select-D-hU3AUX.mjs.map → select-Cl_ZzI9R.mjs.map} +1 -1
  164. package/dist/chunks/{separator-B2OctyXQ.mjs → separator-DohkJ_xb.mjs} +2 -2
  165. package/dist/chunks/{separator-B2OctyXQ.mjs.map → separator-DohkJ_xb.mjs.map} +1 -1
  166. package/dist/chunks/{sheet-A_irLuFu.mjs → sheet-CIlwd3J-.mjs} +4 -4
  167. package/dist/chunks/{sheet-A_irLuFu.mjs.map → sheet-CIlwd3J-.mjs.map} +1 -1
  168. package/dist/chunks/{skeleton-DmyhvRep.mjs → skeleton-ClXnWXNn.mjs} +2 -2
  169. package/dist/chunks/{skeleton-DmyhvRep.mjs.map → skeleton-ClXnWXNn.mjs.map} +1 -1
  170. package/dist/chunks/{slider-By8mIPrb.mjs → slider-D39dP_g8.mjs} +9 -9
  171. package/dist/chunks/{slider-By8mIPrb.mjs.map → slider-D39dP_g8.mjs.map} +1 -1
  172. package/dist/chunks/{sortable-Cv2GNFuR.mjs → sortable-T_IChBln.mjs} +3 -3
  173. package/dist/chunks/{sortable-Cv2GNFuR.mjs.map → sortable-T_IChBln.mjs.map} +1 -1
  174. package/dist/chunks/{switch-Bv_IiUmz.mjs → switch-B3zf2gI8.mjs} +7 -7
  175. package/dist/chunks/{switch-Bv_IiUmz.mjs.map → switch-B3zf2gI8.mjs.map} +1 -1
  176. package/dist/chunks/{table-BKYzxKC_.mjs → table-Bfl280bq.mjs} +2 -2
  177. package/dist/chunks/{table-BKYzxKC_.mjs.map → table-Bfl280bq.mjs.map} +1 -1
  178. package/dist/chunks/{tabs-D7OyGcOA.mjs → tabs-C8FBxYmq.mjs} +9 -9
  179. package/dist/chunks/{tabs-D7OyGcOA.mjs.map → tabs-C8FBxYmq.mjs.map} +1 -1
  180. package/dist/chunks/{textarea-D0G7C_GA.mjs → textarea-W2TtG6RT.mjs} +2 -2
  181. package/dist/chunks/{textarea-D0G7C_GA.mjs.map → textarea-W2TtG6RT.mjs.map} +1 -1
  182. package/dist/chunks/{toast-BC41PBzL.mjs → toast-DPlHqm3b.mjs} +12 -12
  183. package/dist/chunks/{toast-BC41PBzL.mjs.map → toast-DPlHqm3b.mjs.map} +1 -1
  184. package/dist/chunks/{toggle-CO9wXRSM.mjs → toggle-DGw8vPFo.mjs} +4 -4
  185. package/dist/chunks/{toggle-CO9wXRSM.mjs.map → toggle-DGw8vPFo.mjs.map} +1 -1
  186. package/dist/chunks/{tooltip-CNJAStsQ.mjs → tooltip-CI9dbI1p.mjs} +11 -11
  187. package/dist/chunks/{tooltip-CNJAStsQ.mjs.map → tooltip-CI9dbI1p.mjs.map} +1 -1
  188. package/dist/chunks/{trash-2-CJoy_LlU.mjs → trash-2-D8vtZLQJ.mjs} +2 -2
  189. package/dist/chunks/{trash-2-CJoy_LlU.mjs.map → trash-2-D8vtZLQJ.mjs.map} +1 -1
  190. package/dist/chunks/{triangle-alert-DP0g-dj4.mjs → triangle-alert-B-blf7Ow.mjs} +2 -2
  191. package/dist/chunks/{triangle-alert-DP0g-dj4.mjs.map → triangle-alert-B-blf7Ow.mjs.map} +1 -1
  192. package/dist/chunks/{tslib.es6-Crl4X9Q4.mjs → tslib.es6-B32hQ9eG.mjs} +1 -1
  193. package/dist/chunks/{tslib.es6-Crl4X9Q4.mjs.map → tslib.es6-B32hQ9eG.mjs.map} +1 -1
  194. package/dist/chunks/upload-CQFfafJB.mjs +32 -0
  195. package/dist/chunks/upload-CQFfafJB.mjs.map +1 -0
  196. package/dist/chunks/{use-toast-CnY1RKwU.mjs → use-toast-juJ63qRI.mjs} +1 -1
  197. package/dist/chunks/{use-toast-CnY1RKwU.mjs.map → use-toast-juJ63qRI.mjs.map} +1 -1
  198. package/dist/chunks/{utils-B_sWPs4g.mjs → utils-Dws4Ft8U.mjs} +2 -2
  199. package/dist/chunks/{utils-B_sWPs4g.mjs.map → utils-Dws4Ft8U.mjs.map} +1 -1
  200. package/dist/chunks/{wand-sparkles-CVlsOT9w.mjs → wand-sparkles-C3OGp2qM.mjs} +2 -2
  201. package/dist/chunks/{wand-sparkles-CVlsOT9w.mjs.map → wand-sparkles-C3OGp2qM.mjs.map} +1 -1
  202. package/dist/chunks/{x-C7dRzGcQ.mjs → x-CQ0W-nWi.mjs} +2 -2
  203. package/dist/chunks/{x-C7dRzGcQ.mjs.map → x-CQ0W-nWi.mjs.map} +1 -1
  204. package/dist/collapsible/index.mjs +7 -7
  205. package/dist/combobox/index.mjs +24 -24
  206. package/dist/command/index.mjs +18 -18
  207. package/dist/context-menu/index.mjs +21 -21
  208. package/dist/dash/index.mjs +23 -23
  209. package/dist/data-table/index.d.ts +48 -3
  210. package/dist/data-table/index.mjs +105 -37
  211. package/dist/data-table/index.mjs.map +1 -1
  212. package/dist/date-picker/index.mjs +26 -26
  213. package/dist/dialog/index.mjs +17 -17
  214. package/dist/drawer/index.mjs +14 -14
  215. package/dist/dropdown-menu/index.mjs +24 -433
  216. package/dist/dropdown-menu/index.mjs.map +1 -1
  217. package/dist/dropzone/index.mjs +20 -47
  218. package/dist/dropzone/index.mjs.map +1 -1
  219. package/dist/editable-table/index.mjs +18 -18
  220. package/dist/empty/index.mjs +2 -2
  221. package/dist/export/index.d.ts +30 -0
  222. package/dist/export/index.mjs +37 -0
  223. package/dist/export/index.mjs.map +1 -0
  224. package/dist/field/index.mjs +4 -4
  225. package/dist/form/index.mjs +4 -4
  226. package/dist/form-fields/index.mjs +26 -26
  227. package/dist/form-layout/index.mjs +60 -60
  228. package/dist/hover-card/index.mjs +13 -13
  229. package/dist/icon/index.mjs +1 -1
  230. package/dist/index.css +1 -1
  231. package/dist/input/index.mjs +3 -3
  232. package/dist/input-group/index.mjs +5 -5
  233. package/dist/input-otp/index.mjs +4 -4
  234. package/dist/item/index.mjs +3 -3
  235. package/dist/ivt.css +1 -1
  236. package/dist/kbd/index.mjs +2 -2
  237. package/dist/label/index.mjs +3 -3
  238. package/dist/layout/index.mjs +21 -21
  239. package/dist/menubar/index.mjs +22 -22
  240. package/dist/multi-input-list/index.mjs +28 -28
  241. package/dist/multi-select/index.mjs +31 -31
  242. package/dist/navigation-menu/index.mjs +15 -15
  243. package/dist/pagination/index.mjs +8 -8
  244. package/dist/popover/index.mjs +16 -16
  245. package/dist/progress/index.mjs +3 -3
  246. package/dist/radio-group/index.mjs +16 -16
  247. package/dist/resizable/index.mjs +3 -3
  248. package/dist/scroll-area/index.mjs +10 -10
  249. package/dist/select/index.mjs +6 -6
  250. package/dist/separator/index.mjs +3 -3
  251. package/dist/shared/index.d.ts +1 -1
  252. package/dist/shared/index.mjs +5 -5
  253. package/dist/sheet/index.mjs +17 -17
  254. package/dist/sidebar/index.mjs +25 -25
  255. package/dist/skeleton/index.mjs +3 -3
  256. package/dist/skeleton-component/index.mjs +4 -4
  257. package/dist/slider/index.mjs +11 -11
  258. package/dist/sortable/index.mjs +4 -4
  259. package/dist/spinner/index.mjs +4 -4
  260. package/dist/switch/index.mjs +9 -9
  261. package/dist/table/index.mjs +3 -3
  262. package/dist/table-filter/index.d.ts +1 -1
  263. package/dist/table-filter/index.mjs +52 -52
  264. package/dist/tabs/index.mjs +12 -12
  265. package/dist/textarea/index.mjs +3 -3
  266. package/dist/toast/index.mjs +14 -14
  267. package/dist/toaster/index.mjs +15 -15
  268. package/dist/toggle/index.mjs +6 -6
  269. package/dist/toggle-group/index.mjs +11 -11
  270. package/dist/tooltip/index.mjs +15 -15
  271. package/package.json +6 -1
  272. package/dist/chunks/_commonjsHelpers-Cvv4G-WK.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarRange-BXw3oKg2.mjs","sources":["../../node_modules/date-fns/eachDayOfInterval.js","../../node_modules/date-fns/subDays.js","../../node_modules/date-fns/subMonths.js","../../src/components/default/base/CalendarRange.tsx"],"sourcesContent":["import { normalizeInterval } from \"./_lib/normalizeInterval.js\";\nimport { constructFrom } from \"./constructFrom.js\";\n\n/**\n * The {@link eachDayOfInterval} function options.\n */\n\n/**\n * The {@link eachDayOfInterval} function result type. It resolves the proper data type.\n * It uses the first argument date object type, starting from the date argument,\n * then the start interval date, and finally the end interval date. If\n * a context function is passed, it uses the context function return type.\n */\n\n/**\n * @name eachDayOfInterval\n * @category Interval Helpers\n * @summary Return the array of dates within the specified time interval.\n *\n * @description\n * Return the array of dates within the specified time interval.\n *\n * @typeParam IntervalType - Interval type.\n * @typeParam Options - Options type.\n *\n * @param interval - The interval.\n * @param options - An object with options.\n *\n * @returns The array with starts of days from the day of the interval start to the day of the interval end\n *\n * @example\n * // Each day between 6 October 2014 and 10 October 2014:\n * const result = eachDayOfInterval({\n * start: new Date(2014, 9, 6),\n * end: new Date(2014, 9, 10)\n * })\n * //=> [\n * // Mon Oct 06 2014 00:00:00,\n * // Tue Oct 07 2014 00:00:00,\n * // Wed Oct 08 2014 00:00:00,\n * // Thu Oct 09 2014 00:00:00,\n * // Fri Oct 10 2014 00:00:00\n * // ]\n */\nexport function eachDayOfInterval(interval, options) {\n const { start, end } = normalizeInterval(options?.in, interval);\n\n let reversed = +start > +end;\n const endTime = reversed ? +start : +end;\n const date = reversed ? end : start;\n date.setHours(0, 0, 0, 0);\n\n let step = options?.step ?? 1;\n if (!step) return [];\n if (step < 0) {\n step = -step;\n reversed = !reversed;\n }\n\n const dates = [];\n\n while (+date <= endTime) {\n dates.push(constructFrom(start, date));\n date.setDate(date.getDate() + step);\n date.setHours(0, 0, 0, 0);\n }\n\n return reversed ? dates.reverse() : dates;\n}\n\n// Fallback for modularized imports:\nexport default eachDayOfInterval;\n","import { addDays } from \"./addDays.js\";\n\n/**\n * The {@link subDays} function options.\n */\n\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be subtracted.\n * @param options - An object with options\n *\n * @returns The new date with the days subtracted\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * const result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\nexport function subDays(date, amount, options) {\n return addDays(date, -amount, options);\n}\n\n// Fallback for modularized imports:\nexport default subDays;\n","import { addMonths } from \"./addMonths.js\";\n\n/**\n * The subMonths function options.\n */\n\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of months to be subtracted.\n * @param options - An object with options\n *\n * @returns The new date with the months subtracted\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * const result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function subMonths(date, amount, options) {\n return addMonths(date, -amount, options);\n}\n\n// Fallback for modularized imports:\nexport default subMonths;\n","/** biome-ignore-all lint/suspicious/noExplicitAny: <any> */\n\"use client\";\n\nimport {\n\taddMonths,\n\teachDayOfInterval,\n\tendOfMonth,\n\tendOfWeek,\n\tformat,\n\tstartOfMonth,\n\tstartOfWeek,\n\tsubDays,\n\tsubMonths,\n} from \"date-fns\";\nimport { ptBR } from \"date-fns/locale\";\nimport { CalendarDaysIcon, X } from \"lucide-react\";\nimport * as React from \"react\";\nimport {\n\tCalendarDay,\n\ttype DateRange,\n\tdateMatchModifiers,\n\ttype Matcher,\n\tModifiers,\n} from \"react-day-picker\";\nimport { Button, type ButtonProps } from \"@/components/ui/button\";\nimport { Calendar, CalendarDayButton } from \"@/components/ui/calendar\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"@/components/ui/tooltip\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface CalendarRangeProps\n\textends Omit<\n\t\tReact.ComponentProps<typeof Calendar>,\n\t\t\"mode\" | \"selected\" | \"onSelect\" | \"disabled\"\n\t> {\n\t/** Intervalo de datas selecionado (com `from` e `to`) */\n\tvalue: DateRange | null | undefined;\n\t/** Função chamada ao alterar o intervalo de datas selecionado */\n\tonChange: (range: DateRange | null | undefined) => void;\n\n\t/** Texto exibido quando não há intervalo selecionado */\n\tplaceholder?: string;\n\t/** ID opcional do botão */\n\tid?: string;\n\t/** Props extras para o botão */\n\tbuttonProps?: ButtonProps;\n\t/** Props extras para o popover */\n\tpopoverProps?: React.ComponentProps<typeof Popover>;\n\t/** Classe extra para o conteúdo do popover */\n\tpopoverContentClassName?: string;\n\t/** Classe extra para o botão */\n\tclassName?: string;\n\t/** Desabilita o botão e impede a seleção de datas */\n\tdisabled?: Matcher | Matcher[] | boolean;\n\t/** Função para retornar mensagem de tooltip para datas desabilitadas */\n\tdisabledDateTooltip?: (date: Date) => string | undefined;\n\t/**\n\t * Mês padrão a ser mostrado (caso nenhuma data esteja selecionada)\n\t * Por padrão, será o mês atual.\n\t */\n\tdefaultMonth?: Date;\n\t/** Exibir opções de intervalos rápidos (Hoje, Esta Semana, etc) */\n\tshowQuickRanges?: boolean;\n}\n\nconst quickRanges = [\n\t{\n\t\tlabel: \"Hoje\",\n\t\tgetRange: () => ({ from: new Date(), to: new Date() }),\n\t},\n\t{\n\t\tlabel: \"Esta Semana\",\n\t\tgetRange: () => ({\n\t\t\tfrom: startOfWeek(new Date(), { weekStartsOn: 1 }),\n\t\t\tto: endOfWeek(new Date(), { weekStartsOn: 1 }),\n\t\t}),\n\t},\n\t{\n\t\tlabel: \"Últimos 7 dias\",\n\t\tgetRange: () => ({ from: subDays(new Date(), 6), to: new Date() }),\n\t},\n\t{\n\t\tlabel: \"Últimos 14 dias\",\n\t\tgetRange: () => ({ from: subDays(new Date(), 13), to: new Date() }),\n\t},\n\t{\n\t\tlabel: \"Últimos 30 dias\",\n\t\tgetRange: () => ({ from: subDays(new Date(), 29), to: new Date() }),\n\t},\n\t{\n\t\tlabel: \"Mês anterior\",\n\t\tgetRange: () => {\n\t\t\tconst previousMonth = subMonths(new Date(), 1);\n\t\t\treturn {\n\t\t\t\tfrom: startOfMonth(previousMonth),\n\t\t\t\tto: endOfMonth(previousMonth),\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tlabel: \"Este ano\",\n\t\tgetRange: () => {\n\t\t\tconst currentYear = new Date().getFullYear();\n\t\t\treturn {\n\t\t\t\tfrom: new Date(currentYear, 0, 1),\n\t\t\t\tto: new Date(currentYear, 11, 31),\n\t\t\t};\n\t\t},\n\t},\n];\n\nexport function CalendarRange({\n\tvalue,\n\tonChange,\n\tplaceholder = \"Selecione uma data\",\n\tid = \"date\",\n\tbuttonProps,\n\tpopoverProps,\n\tpopoverContentClassName,\n\tclassName,\n\tdisabled,\n\tdisabledDateTooltip,\n\tshowQuickRanges = false,\n\t...props\n}: CalendarRangeProps) {\n\tconst [open, setOpen] = React.useState(false);\n\n\tconst [leftMonth, setLeftMonth] = React.useState<Date>(\n\t\tvalue?.from ?? props.defaultMonth ?? new Date(),\n\t);\n\tconst [rightMonth, setRightMonth] = React.useState<Date>(\n\t\tvalue?.to ?? addMonths(value?.from ?? props.defaultMonth ?? new Date(), 1),\n\t);\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: <useEffect>\n\tReact.useEffect(() => {\n\t\tif (open) {\n\t\t\tconst left = value?.from ?? props.defaultMonth ?? new Date();\n\t\t\tconst right = value?.to ?? addMonths(left, 1);\n\t\t\tsetLeftMonth(left);\n\t\t\tsetRightMonth(right);\n\t\t}\n\t}, [open]);\n\n\tReact.useEffect(() => {\n\t\tif (!open) {\n\t\t\tsetLeftMonth(value?.from ?? props.defaultMonth ?? new Date());\n\t\t\tsetRightMonth(value?.to ?? addMonths(value?.from ?? props.defaultMonth ?? new Date(), 1));\n\t\t}\n\t}, [value?.from, value?.to, open, props.defaultMonth]);\n\n\tconst isButtonDisabled = typeof disabled === \"boolean\" ? disabled : false;\n\tconst isRangeDisabled = (range: DateRange) => {\n\t\tif (!disabled) return false;\n\t\tif (typeof disabled === \"boolean\") return disabled;\n\t\tif (!range.from || !range.to) return false;\n\n\t\tconst days = eachDayOfInterval({ start: range.from, end: range.to });\n\t\treturn days.some((day) => dateMatchModifiers(day, disabled));\n\t};\n\n\tconst applyQuickRange = (range: DateRange) => {\n\t\tif (isRangeDisabled(range)) return;\n\t\tonChange(range);\n\t\tconst baseDate = range.from ?? new Date();\n\t\tsetLeftMonth(baseDate);\n\t\tsetRightMonth(addMonths(baseDate, 1));\n\t};\n\n\tconst DayButtonWrapper = (buttonProps: {\n\t\tday: CalendarDay;\n\t\tmodifiers: Modifiers;\n\t\t[key: string]: any;\n\t}) => {\n\t\tconst { day } = buttonProps;\n\t\tconst date = day.date;\n\t\tconst tooltip = date ? disabledDateTooltip?.(date) : undefined;\n\n\t\tif (tooltip) {\n\t\t\treturn (\n\t\t\t\t<TooltipProvider>\n\t\t\t\t\t<Tooltip delayDuration={300}>\n\t\t\t\t\t\t<TooltipTrigger asChild>\n\t\t\t\t\t\t\t<span className=\"h-full w-full\">\n\t\t\t\t\t\t\t\t<CalendarDayButton {...buttonProps} />\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</TooltipTrigger>\n\t\t\t\t\t\t<TooltipContent className=\"bg-secondary text-xs\">\n\t\t\t\t\t\t\t<p>{tooltip}</p>\n\t\t\t\t\t\t</TooltipContent>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</TooltipProvider>\n\t\t\t);\n\t\t}\n\n\t\treturn <CalendarDayButton {...buttonProps} />;\n\t};\n\n\treturn (\n\t\t<Popover {...popoverProps} open={open} onOpenChange={setOpen}>\n\t\t\t<PopoverTrigger asChild>\n\t\t\t\t<Button\n\t\t\t\t\tid={id}\n\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"hover:foreground justify-between text-left font-normal\",\n\t\t\t\t\t\t!value && \"text-muted-foreground hover:text-muted-foreground\",\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\tdisabled={isButtonDisabled}\n\t\t\t\t\t{...buttonProps}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"flex items-center\">\n\t\t\t\t\t\t<CalendarDaysIcon className=\"mr-2 size-4\" />\n\t\t\t\t\t\t{value?.from ? (\n\t\t\t\t\t\t\tvalue.to ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{format(value.from, \"P\", { locale: ptBR })} -{\" \"}\n\t\t\t\t\t\t\t\t\t{format(value.to, \"P\", { locale: ptBR })}\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tformat(value.from, \"P\", { locale: ptBR })\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span>{placeholder}</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{value?.from && !isButtonDisabled && (\n\t\t\t\t\t\t// biome-ignore lint/a11y/useKeyWithClickEvents: clear button action\n\t\t\t\t\t\t// biome-ignore lint/a11y/noStaticElementInteractions: clear button action\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\tonChange(null);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tclassName=\"cursor-pointer p-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<X className=\"h-4 w-4 opacity-50 hover:opacity-100\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</Button>\n\t\t\t</PopoverTrigger>\n\n\t\t\t<PopoverContent className={cn(\"w-auto p-0\", popoverContentClassName)} align=\"start\">\n\t\t\t\t<div className=\"flex flex-col sm:flex-row\">\n\t\t\t\t\t{showQuickRanges && (\n\t\t\t\t\t\t<div className=\"flex flex-col gap-1 border-r p-2\">\n\t\t\t\t\t\t\t{quickRanges.map((range, index) => {\n\t\t\t\t\t\t\t\tconst dateRange = range.getRange();\n\t\t\t\t\t\t\t\tconst isDisabled = isRangeDisabled(dateRange);\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tkey={range.label}\n\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\"justify-start font-normal\", index % 2 === 0 && \"bg-accent/40\")}\n\t\t\t\t\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\t\t\t\t\tonClick={() => applyQuickRange(dateRange)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{range.label}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<div className=\"flex gap-4 p-3\">\n\t\t\t\t\t\t<Calendar\n\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tautoFocus={false}\n\t\t\t\t\t\t\tcaptionLayout=\"dropdown\"\n\t\t\t\t\t\t\tselected={value ?? undefined}\n\t\t\t\t\t\t\tonSelect={(r) => onChange(r)}\n\t\t\t\t\t\t\tlocale={ptBR}\n\t\t\t\t\t\t\tnumberOfMonths={1}\n\t\t\t\t\t\t\tmonth={leftMonth}\n\t\t\t\t\t\t\tonMonthChange={(m) => setLeftMonth(m)}\n\t\t\t\t\t\t\tmode=\"range\"\n\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\tDayButton: DayButtonWrapper,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tmodifiersClassNames={{\n\t\t\t\t\t\t\t\tdisabled: \"pointer-events-auto opacity-50 hover:bg-transparent\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<Calendar\n\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tautoFocus={false}\n\t\t\t\t\t\t\tcaptionLayout=\"dropdown\"\n\t\t\t\t\t\t\tselected={value ?? undefined}\n\t\t\t\t\t\t\tonSelect={(r) => onChange(r)}\n\t\t\t\t\t\t\tlocale={ptBR}\n\t\t\t\t\t\t\tnumberOfMonths={1}\n\t\t\t\t\t\t\tmonth={rightMonth}\n\t\t\t\t\t\t\tonMonthChange={(m) => setRightMonth(m)}\n\t\t\t\t\t\t\tmode=\"range\"\n\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\tDayButton: DayButtonWrapper,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tmodifiersClassNames={{\n\t\t\t\t\t\t\t\tdisabled: \"pointer-events-auto opacity-50 hover:bg-transparent\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</PopoverContent>\n\t\t</Popover>\n\t);\n}\n"],"names":["eachDayOfInterval","interval","options","start","end","normalizeInterval","in","reversed","endTime","date","setHours","step","dates","push","constructFrom","setDate","getDate","reverse","subDays","amount","addDays","subMonths","addMonths","quickRanges","label","getRange","from","Date","to","startOfWeek","weekStartsOn","endOfWeek","previousMonth","startOfMonth","endOfMonth","currentYear","getFullYear","CalendarRange","value","onChange","placeholder","id","buttonProps","popoverProps","popoverContentClassName","className","disabled","disabledDateTooltip","showQuickRanges","props","open","setOpen","React","useState","leftMonth","setLeftMonth","defaultMonth","rightMonth","setRightMonth","useEffect","left","right","isButtonDisabled","isRangeDisabled","range","days","some","day","dateMatchModifiers","applyQuickRange","baseDate","DayButtonWrapper","tooltip","undefined","TooltipProvider","Tooltip","delayDuration","TooltipTrigger","asChild","span","CalendarDayButton","TooltipContent","p","Popover","onOpenChange","PopoverTrigger","Button","variant","cn","div","CalendarDaysIcon","format","locale","ptBR","onClick","e","stopPropagation","X","PopoverContent","align","map","index","dateRange","isDisabled","key","size","Calendar","autoFocus","captionLayout","selected","onSelect","r","numberOfMonths","month","onMonthChange","m","mode","components","DayButton","modifiersClassNames"],"mappings":";;;;;;;;;;;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCC,IACM,SAASA,iBAAAA,CAAkBC,QAAQ,EAAEC,OAAO,EAAA;IACjD,MAAM,EAAEC,KAAK,EAAEC,GAAG,EAAE,GAAGC,iBAAAA,CAAkBH,SAASI,EAAAA,EAAIL,QAAAA,CAAAA;IAEtD,IAAIM,QAAAA,GAAW,CAACJ,KAAAA,GAAQ,CAACC,GAAAA;AACzB,IAAA,MAAMI,OAAAA,GAAUD,QAAAA,GAAW,CAACJ,KAAAA,GAAQ,CAACC,GAAAA;IACrC,MAAMK,IAAAA,GAAOF,WAAWH,GAAAA,GAAMD,KAAAA;AAC9BM,IAAAA,IAAAA,CAAKC,QAAQ,CAAC,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,CAAA;IAEvB,IAAIC,IAAAA,GAAwB,CAAA;AAO5B,IAAA,MAAMC,QAAQ,EAAE;IAEhB,MAAO,CAACH,QAAQD,OAAAA,CAAS;QACvBI,KAAAA,CAAMC,IAAI,CAACC,aAAAA,CAAcX,KAAAA,EAAOM,IAAAA,CAAAA,CAAAA;AAChCA,QAAAA,IAAAA,CAAKM,OAAO,CAACN,IAAAA,CAAKO,OAAO,EAAA,GAAKL,IAAAA,CAAAA;AAC9BF,QAAAA,IAAAA,CAAKC,QAAQ,CAAC,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,CAAA;AACzB,IAAA;IAEA,OAAOH,QAAAA,GAAWK,KAAAA,CAAMK,OAAO,EAAA,GAAKL,KAAAA;AACtC;;AClEA;;;;;;;;;;;;;;;;;;;;AAsBC,IACM,SAASM,OAAAA,CAAQT,IAAI,EAAEU,MAAM,EAAEjB,OAAO,EAAA;IAC3C,OAAOkB,OAAAA,CAAQX,IAAAA,EAAM,CAACU,MAAAA,EAAQjB,OAAAA,CAAAA;AAChC;;ACzBA;;;;;;;;;;;;;;;;;;;;;;;AAyBC,IACM,SAASmB,SAAAA,CAAUZ,IAAI,EAAEU,MAAM,EAAEjB,OAAO,EAAA;IAC7C,OAAOoB,SAAAA,CAAUb,IAAAA,EAAM,EAACU,EAAQjB,OAAAA,CAAAA;AAClC;;ACmCA,MAAMqB,WAAAA,GAAc;AACnB,IAAA;QACCC,KAAAA,EAAO,MAAA;AACPC,QAAAA,QAAAA,EAAU,KAAO;AAAEC,gBAAAA,IAAAA,EAAM,IAAIC,IAAAA,EAAAA;AAAQC,gBAAAA,EAAAA,EAAI,IAAID,IAAAA;aAAO;AACrD,KAAA;AACA,IAAA;QACCH,KAAAA,EAAO,aAAA;AACPC,QAAAA,QAAAA,EAAU,KAAO;gBAChBC,IAAAA,EAAMG,WAAAA,CAAY,IAAIF,IAAAA,EAAAA,EAAQ;oBAAEG,YAAAA,EAAc;AAAE,iBAAA,CAAA;gBAChDF,EAAAA,EAAIG,SAAAA,CAAU,IAAIJ,IAAAA,EAAAA,EAAQ;oBAAEG,YAAAA,EAAc;AAAE,iBAAA;aAC7C;AACD,KAAA;AACA,IAAA;QACCN,KAAAA,EAAO,gBAAA;AACPC,QAAAA,QAAAA,EAAU,KAAO;gBAAEC,IAAAA,EAAMR,OAAAA,CAAQ,IAAIS,IAAAA,EAAAA,EAAQ,CAAA,CAAA;AAAIC,gBAAAA,EAAAA,EAAI,IAAID,IAAAA;aAAO;AACjE,KAAA;AACA,IAAA;QACCH,KAAAA,EAAO,iBAAA;AACPC,QAAAA,QAAAA,EAAU,KAAO;gBAAEC,IAAAA,EAAMR,OAAAA,CAAQ,IAAIS,IAAAA,EAAAA,EAAQ,EAAA,CAAA;AAAKC,gBAAAA,EAAAA,EAAI,IAAID,IAAAA;aAAO;AAClE,KAAA;AACA,IAAA;QACCH,KAAAA,EAAO,iBAAA;AACPC,QAAAA,QAAAA,EAAU,KAAO;gBAAEC,IAAAA,EAAMR,OAAAA,CAAQ,IAAIS,IAAAA,EAAAA,EAAQ,EAAA,CAAA;AAAKC,gBAAAA,EAAAA,EAAI,IAAID,IAAAA;aAAO;AAClE,KAAA;AACA,IAAA;QACCH,KAAAA,EAAO,cAAA;QACPC,QAAAA,EAAU,IAAA;YACT,MAAMO,aAAAA,GAAgBX,SAAAA,CAAU,IAAIM,IAAAA,EAAQ,CAAA;YAC5C,OAAO;AACND,gBAAAA,IAAAA,EAAMO,YAAAA,CAAaD,aAAAA,CAAAA;AACnBJ,gBAAAA,EAAAA,EAAIM,UAAAA,CAAWF,aAAAA;AAChB,aAAA;AACD,QAAA;AACD,KAAA;AACA,IAAA;QACCR,KAAAA,EAAO,UAAA;QACPC,QAAAA,EAAU,IAAA;YACT,MAAMU,WAAAA,GAAc,IAAIR,IAAAA,EAAAA,CAAOS,WAAW,EAAA;YAC1C,OAAO;gBACNV,IAAAA,EAAM,IAAIC,IAAAA,CAAKQ,WAAAA,EAAa,CAAA,EAAG,CAAA,CAAA;gBAC/BP,EAAAA,EAAI,IAAID,IAAAA,CAAKQ,WAAAA,EAAa,EAAA,EAAI,EAAA;AAC/B,aAAA;AACD,QAAA;AACD;AACA,CAAA;AAEM,SAASE,aAAAA,CAAc,EAC7BC,KAAK,EACLC,QAAQ,EACRC,WAAAA,GAAc,oBAAoB,EAClCC,EAAAA,GAAK,MAAM,EACXC,WAAW,EACXC,YAAY,EACZC,uBAAuB,EACvBC,SAAS,EACTC,QAAQ,EACRC,mBAAmB,EACnBC,eAAAA,GAAkB,KAAK,EACvB,GAAGC,KAAAA,EACiB,EAAA;AACpB,IAAA,MAAM,CAACC,IAAAA,EAAMC,OAAAA,CAAQ,GAAGC,KAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;AAEvC,IAAA,MAAM,CAACC,SAAAA,EAAWC,YAAAA,CAAa,GAAGH,KAAAA,CAAMC,QAAQ,CAC/Cf,KAAAA,EAAOZ,IAAAA,IAAQuB,KAAAA,CAAMO,YAAY,IAAI,IAAI7B,IAAAA,EAAAA,CAAAA;AAE1C,IAAA,MAAM,CAAC8B,UAAAA,EAAYC,aAAAA,CAAc,GAAGN,KAAAA,CAAMC,QAAQ,CACjDf,KAAAA,EAAOV,EAAAA,IAAMN,SAAAA,CAAUgB,OAAOZ,IAAAA,IAAQuB,KAAAA,CAAMO,YAAY,IAAI,IAAI7B,IAAAA,EAAAA,EAAQ,CAAA,CAAA,CAAA;;AAIzEyB,IAAAA,KAAAA,CAAMO,SAAS,CAAC,IAAA;AACf,QAAA,IAAIT,IAAAA,EAAM;AACT,YAAA,MAAMU,OAAOtB,KAAAA,EAAOZ,IAAAA,IAAQuB,KAAAA,CAAMO,YAAY,IAAI,IAAI7B,IAAAA,EAAAA;AACtD,YAAA,MAAMkC,KAAAA,GAAQvB,KAAAA,EAAOV,EAAAA,IAAMN,SAAAA,CAAUsC,IAAAA,EAAM,CAAA,CAAA;YAC3CL,YAAAA,CAAaK,IAAAA,CAAAA;YACbF,aAAAA,CAAcG,KAAAA,CAAAA;AACf,QAAA;IACD,CAAA,EAAG;AAACX,QAAAA;AAAK,KAAA,CAAA;AAETE,IAAAA,KAAAA,CAAMO,SAAS,CAAC,IAAA;AACf,QAAA,IAAI,CAACT,IAAAA,EAAM;AACVK,YAAAA,YAAAA,CAAajB,KAAAA,EAAOZ,IAAAA,IAAQuB,KAAAA,CAAMO,YAAY,IAAI,IAAI7B,IAAAA,EAAAA,CAAAA;YACtD+B,aAAAA,CAAcpB,KAAAA,EAAOV,MAAMN,SAAAA,CAAUgB,KAAAA,EAAOZ,QAAQuB,KAAAA,CAAMO,YAAY,IAAI,IAAI7B,IAAAA,EAAAA,EAAQ,CAAA,CAAA,CAAA;AACvF,QAAA;IACD,CAAA,EAAG;QAACW,KAAAA,EAAOZ,IAAAA;QAAMY,KAAAA,EAAOV,EAAAA;AAAIsB,QAAAA,IAAAA;AAAMD,QAAAA,KAAAA,CAAMO;AAAa,KAAA,CAAA;AAErD,IAAA,MAAMM,gBAAAA,GAAmB,OAAOhB,QAAAA,KAAa,SAAA,GAAYA,QAAAA,GAAW,KAAA;AACpE,IAAA,MAAMiB,kBAAkB,CAACC,KAAAA,GAAAA;QACxB,IAAI,CAAClB,UAAU,OAAO,KAAA;QACtB,IAAI,OAAOA,QAAAA,KAAa,SAAA,EAAW,OAAOA,QAAAA;QAC1C,IAAI,CAACkB,MAAMtC,IAAI,IAAI,CAACsC,KAAAA,CAAMpC,EAAE,EAAE,OAAO,KAAA;AAErC,QAAA,MAAMqC,OAAOjE,iBAAAA,CAAkB;AAAEG,YAAAA,KAAAA,EAAO6D,MAAMtC,IAAI;AAAEtB,YAAAA,GAAAA,EAAK4D,MAAMpC;AAAG,SAAA,CAAA;AAClE,QAAA,OAAOqC,KAAKC,IAAI,CAAC,CAACC,GAAAA,GAAQC,mBAAmBD,GAAAA,EAAKrB,QAAAA,CAAAA,CAAAA;AACnD,IAAA,CAAA;AAEA,IAAA,MAAMuB,kBAAkB,CAACL,KAAAA,GAAAA;AACxB,QAAA,IAAID,gBAAgBC,KAAAA,CAAAA,EAAQ;QAC5BzB,QAAAA,CAASyB,KAAAA,CAAAA;AACT,QAAA,MAAMM,QAAAA,GAAWN,KAAAA,CAAMtC,IAAI,IAAI,IAAIC,IAAAA,EAAAA;QACnC4B,YAAAA,CAAae,QAAAA,CAAAA;AACbZ,QAAAA,aAAAA,CAAcpC,UAAUgD,QAAAA,EAAU,CAAA,CAAA,CAAA;AACnC,IAAA,CAAA;AAEA,IAAA,MAAMC,mBAAmB,CAAC7B,WAAAA,GAAAA;QAKzB,MAAM,EAAEyB,GAAG,EAAE,GAAGzB,WAAAA;QAChB,MAAMjC,IAAAA,GAAO0D,IAAI1D,IAAI;QACrB,MAAM+D,OAAAA,GAAU/D,IAAAA,GAAOsC,mBAAAA,GAAsBtC,IAAAA,CAAAA,GAAQgE,SAAAA;AAErD,QAAA,IAAID,OAAAA,EAAS;YACZ,qBACC,KAAA,CAAA,aAAA,CAACE,qCACA,KAAA,CAAA,aAAA,CAACC,OAAAA,EAAAA;gBAAQC,aAAAA,EAAe;6BACvB,KAAA,CAAA,aAAA,CAACC,cAAAA,EAAAA;gBAAeC,OAAAA,EAAAA;6BACf,KAAA,CAAA,aAAA,CAACC,MAAAA,EAAAA;gBAAKlC,SAAAA,EAAU;6BACf,KAAA,CAAA,aAAA,CAACmC,iBAAAA,EAAsBtC,8BAGzB,KAAA,CAAA,aAAA,CAACuC,cAAAA,EAAAA;gBAAepC,SAAAA,EAAU;AACzB,aAAA,gBAAA,KAAA,CAAA,aAAA,CAACqC,GAAAA,EAAAA,IAAAA,EAAGV,OAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAKT,QAAA;AAEA,QAAA,qBAAO,oBAACQ,iBAAAA,EAAsBtC,WAAAA,CAAAA;AAC/B,IAAA,CAAA;AAEA,IAAA,qBACC,KAAA,CAAA,aAAA,CAACyC,OAAAA,EAAAA;AAAS,QAAA,GAAGxC,YAAY;QAAEO,IAAAA,EAAMA,IAAAA;QAAMkC,YAAAA,EAAcjC;qBACpD,KAAA,CAAA,aAAA,CAACkC,cAAAA,EAAAA;QAAeP,OAAAA,EAAAA;qBACf,KAAA,CAAA,aAAA,CAACQ,MAAAA,EAAAA;QACA7C,EAAAA,EAAIA,EAAAA;QACJ8C,OAAAA,EAAQ,SAAA;AACR1C,QAAAA,SAAAA,EAAW2C,EAAAA,CACV,wDAAA,EACA,CAAClD,KAAAA,IAAS,mDAAA,EACVO,SAAAA,CAAAA;QAEDC,QAAAA,EAAUgB,gBAAAA;AACT,QAAA,GAAGpB;qBAEJ,KAAA,CAAA,aAAA,CAAC+C,KAAAA,EAAAA;QAAI5C,SAAAA,EAAU;qBACd,KAAA,CAAA,aAAA,CAAC6C,YAAAA,EAAAA;QAAiB7C,SAAAA,EAAU;QAC3BP,KAAAA,EAAOZ,IAAAA,GACPY,MAAMV,EAAE,iBACP,0CACE+D,MAAAA,CAAOrD,KAAAA,CAAMZ,IAAI,EAAE,GAAA,EAAK;QAAEkE,MAAAA,EAAQC;AAAK,KAAA,CAAA,EAAG,MAAG,GAAA,EAC7CF,MAAAA,CAAOrD,KAAAA,CAAMV,EAAE,EAAE,GAAA,EAAK;QAAEgE,MAAAA,EAAQC;AAAK,KAAA,CAAA,CAAA,GAGvCF,MAAAA,CAAOrD,KAAAA,CAAMZ,IAAI,EAAE,GAAA,EAAK;QAAEkE,MAAAA,EAAQC;AAAK,KAAA,CAAA,iBAGxC,oBAACd,MAAAA,EAAAA,IAAAA,EAAMvC,WAAAA,CAAAA,CAAAA,EAGRF,OAAOZ,IAAAA,IAAQ,CAACoC;;kBAGhB,KAAA,CAAA,aAAA,CAAC2B,KAAAA,EAAAA;AACAK,QAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACTA,YAAAA,CAAAA,CAAEC,eAAe,EAAA;YACjBzD,QAAAA,CAAS,IAAA,CAAA;AACV,QAAA,CAAA;QACAM,SAAAA,EAAU;qBAEV,KAAA,CAAA,aAAA,CAACoD,CAAAA,EAAAA;QAAEpD,SAAAA,EAAU;yBAMjB,KAAA,CAAA,aAAA,CAACqD,cAAAA,EAAAA;AAAerD,QAAAA,SAAAA,EAAW2C,GAAG,YAAA,EAAc5C,uBAAAA,CAAAA;QAA0BuD,KAAAA,EAAM;qBAC3E,KAAA,CAAA,aAAA,CAACV,KAAAA,EAAAA;QAAI5C,SAAAA,EAAU;AACbG,KAAAA,EAAAA,eAAAA,kBACA,KAAA,CAAA,aAAA,CAACyC,KAAAA,EAAAA;QAAI5C,SAAAA,EAAU;OACbtB,WAAAA,CAAY6E,GAAG,CAAC,CAACpC,KAAAA,EAAOqC,KAAAA,GAAAA;QACxB,MAAMC,SAAAA,GAAYtC,MAAMvC,QAAQ,EAAA;AAChC,QAAA,MAAM8E,aAAaxC,eAAAA,CAAgBuC,SAAAA,CAAAA;AAEnC,QAAA,qBACC,KAAA,CAAA,aAAA,CAAChB,MAAAA,EAAAA;AACAkB,YAAAA,GAAAA,EAAKxC,MAAMxC,KAAK;YAChB+D,OAAAA,EAAQ,OAAA;YACRkB,IAAAA,EAAK,IAAA;AACL5D,YAAAA,SAAAA,EAAW2C,EAAAA,CAAG,2BAAA,EAA6Ba,KAAAA,GAAQ,CAAA,KAAM,CAAA,IAAK,cAAA,CAAA;YAC9DvD,QAAAA,EAAUyD,UAAAA;AACVT,YAAAA,OAAAA,EAAS,IAAMzB,eAAAA,CAAgBiC,SAAAA;AAE9BtC,SAAAA,EAAAA,KAAAA,CAAMxC,KAAK,CAAA;AAGf,IAAA,CAAA,CAAA,CAAA,gBAGF,KAAA,CAAA,aAAA,CAACiE,KAAAA,EAAAA;QAAI5C,SAAAA,EAAU;qBACd,KAAA,CAAA,aAAA,CAAC6D,QAAAA,EAAAA;AACC,QAAA,GAAGzD,KAAK;QACTH,QAAAA,EAAUA,QAAAA;QACV6D,SAAAA,EAAW,KAAA;QACXC,aAAAA,EAAc,UAAA;AACdC,QAAAA,QAAAA,EAAUvE,KAAAA,IAASmC,SAAAA;QACnBqC,QAAAA,EAAU,CAACC,IAAMxE,QAAAA,CAASwE,CAAAA,CAAAA;QAC1BnB,MAAAA,EAAQC,IAAAA;QACRmB,cAAAA,EAAgB,CAAA;QAChBC,KAAAA,EAAO3D,SAAAA;QACP4D,aAAAA,EAAe,CAACC,IAAM5D,YAAAA,CAAa4D,CAAAA,CAAAA;QACnCC,IAAAA,EAAK,OAAA;QACLC,UAAAA,EAAY;YACXC,SAAAA,EAAW/C;AACZ,SAAA;QACAgD,mBAAAA,EAAqB;YACpBzE,QAAAA,EAAU;AACX;sBAGD,KAAA,CAAA,aAAA,CAAC4D,QAAAA,EAAAA;AACC,QAAA,GAAGzD,KAAK;QACTH,QAAAA,EAAUA,QAAAA;QACV6D,SAAAA,EAAW,KAAA;QACXC,aAAAA,EAAc,UAAA;AACdC,QAAAA,QAAAA,EAAUvE,KAAAA,IAASmC,SAAAA;QACnBqC,QAAAA,EAAU,CAACC,IAAMxE,QAAAA,CAASwE,CAAAA,CAAAA;QAC1BnB,MAAAA,EAAQC,IAAAA;QACRmB,cAAAA,EAAgB,CAAA;QAChBC,KAAAA,EAAOxD,UAAAA;QACPyD,aAAAA,EAAe,CAACC,IAAMzD,aAAAA,CAAcyD,CAAAA,CAAAA;QACpCC,IAAAA,EAAK,OAAA;QACLC,UAAAA,EAAY;YACXC,SAAAA,EAAW/C;AACZ,SAAA;QACAgD,mBAAAA,EAAqB;YACpBzE,QAAAA,EAAU;AACX;;AAOP;;;;","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"CalendarRange-DucTFDzH.mjs","sources":["../../node_modules/date-fns/eachDayOfInterval.js","../../node_modules/date-fns/subDays.js","../../node_modules/date-fns/subMonths.js","../../src/components/default/base/CalendarRange.tsx"],"sourcesContent":["import { normalizeInterval } from \"./_lib/normalizeInterval.js\";\nimport { constructFrom } from \"./constructFrom.js\";\n\n/**\n * The {@link eachDayOfInterval} function options.\n */\n\n/**\n * The {@link eachDayOfInterval} function result type. It resolves the proper data type.\n * It uses the first argument date object type, starting from the date argument,\n * then the start interval date, and finally the end interval date. If\n * a context function is passed, it uses the context function return type.\n */\n\n/**\n * @name eachDayOfInterval\n * @category Interval Helpers\n * @summary Return the array of dates within the specified time interval.\n *\n * @description\n * Return the array of dates within the specified time interval.\n *\n * @typeParam IntervalType - Interval type.\n * @typeParam Options - Options type.\n *\n * @param interval - The interval.\n * @param options - An object with options.\n *\n * @returns The array with starts of days from the day of the interval start to the day of the interval end\n *\n * @example\n * // Each day between 6 October 2014 and 10 October 2014:\n * const result = eachDayOfInterval({\n * start: new Date(2014, 9, 6),\n * end: new Date(2014, 9, 10)\n * })\n * //=> [\n * // Mon Oct 06 2014 00:00:00,\n * // Tue Oct 07 2014 00:00:00,\n * // Wed Oct 08 2014 00:00:00,\n * // Thu Oct 09 2014 00:00:00,\n * // Fri Oct 10 2014 00:00:00\n * // ]\n */\nexport function eachDayOfInterval(interval, options) {\n const { start, end } = normalizeInterval(options?.in, interval);\n\n let reversed = +start > +end;\n const endTime = reversed ? +start : +end;\n const date = reversed ? end : start;\n date.setHours(0, 0, 0, 0);\n\n let step = options?.step ?? 1;\n if (!step) return [];\n if (step < 0) {\n step = -step;\n reversed = !reversed;\n }\n\n const dates = [];\n\n while (+date <= endTime) {\n dates.push(constructFrom(start, date));\n date.setDate(date.getDate() + step);\n date.setHours(0, 0, 0, 0);\n }\n\n return reversed ? dates.reverse() : dates;\n}\n\n// Fallback for modularized imports:\nexport default eachDayOfInterval;\n","import { addDays } from \"./addDays.js\";\n\n/**\n * The {@link subDays} function options.\n */\n\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be subtracted.\n * @param options - An object with options\n *\n * @returns The new date with the days subtracted\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * const result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\nexport function subDays(date, amount, options) {\n return addDays(date, -amount, options);\n}\n\n// Fallback for modularized imports:\nexport default subDays;\n","import { addMonths } from \"./addMonths.js\";\n\n/**\n * The subMonths function options.\n */\n\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of months to be subtracted.\n * @param options - An object with options\n *\n * @returns The new date with the months subtracted\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * const result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function subMonths(date, amount, options) {\n return addMonths(date, -amount, options);\n}\n\n// Fallback for modularized imports:\nexport default subMonths;\n","/** biome-ignore-all lint/suspicious/noExplicitAny: <any> */\n\"use client\";\n\nimport {\n\taddMonths,\n\teachDayOfInterval,\n\tendOfMonth,\n\tendOfWeek,\n\tformat,\n\tstartOfMonth,\n\tstartOfWeek,\n\tsubDays,\n\tsubMonths,\n} from \"date-fns\";\nimport { ptBR } from \"date-fns/locale\";\nimport { CalendarDaysIcon, X } from \"lucide-react\";\nimport * as React from \"react\";\nimport {\n\tCalendarDay,\n\ttype DateRange,\n\tdateMatchModifiers,\n\ttype Matcher,\n\tModifiers,\n} from \"react-day-picker\";\nimport { Button, type ButtonProps } from \"@/components/ui/button\";\nimport { Calendar, CalendarDayButton } from \"@/components/ui/calendar\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"@/components/ui/tooltip\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface CalendarRangeProps\n\textends Omit<\n\t\tReact.ComponentProps<typeof Calendar>,\n\t\t\"mode\" | \"selected\" | \"onSelect\" | \"disabled\"\n\t> {\n\t/** Intervalo de datas selecionado (com `from` e `to`) */\n\tvalue: DateRange | null | undefined;\n\t/** Função chamada ao alterar o intervalo de datas selecionado */\n\tonChange: (range: DateRange | null | undefined) => void;\n\n\t/** Texto exibido quando não há intervalo selecionado */\n\tplaceholder?: string;\n\t/** ID opcional do botão */\n\tid?: string;\n\t/** Props extras para o botão */\n\tbuttonProps?: ButtonProps;\n\t/** Props extras para o popover */\n\tpopoverProps?: React.ComponentProps<typeof Popover>;\n\t/** Classe extra para o conteúdo do popover */\n\tpopoverContentClassName?: string;\n\t/** Classe extra para o botão */\n\tclassName?: string;\n\t/** Desabilita o botão e impede a seleção de datas */\n\tdisabled?: Matcher | Matcher[] | boolean;\n\t/** Função para retornar mensagem de tooltip para datas desabilitadas */\n\tdisabledDateTooltip?: (date: Date) => string | undefined;\n\t/**\n\t * Mês padrão a ser mostrado (caso nenhuma data esteja selecionada)\n\t * Por padrão, será o mês atual.\n\t */\n\tdefaultMonth?: Date;\n\t/** Exibir opções de intervalos rápidos (Hoje, Esta Semana, etc) */\n\tshowQuickRanges?: boolean;\n}\n\nconst quickRanges = [\n\t{\n\t\tlabel: \"Hoje\",\n\t\tgetRange: () => ({ from: new Date(), to: new Date() }),\n\t},\n\t{\n\t\tlabel: \"Esta Semana\",\n\t\tgetRange: () => ({\n\t\t\tfrom: startOfWeek(new Date(), { weekStartsOn: 1 }),\n\t\t\tto: endOfWeek(new Date(), { weekStartsOn: 1 }),\n\t\t}),\n\t},\n\t{\n\t\tlabel: \"Últimos 7 dias\",\n\t\tgetRange: () => ({ from: subDays(new Date(), 6), to: new Date() }),\n\t},\n\t{\n\t\tlabel: \"Últimos 14 dias\",\n\t\tgetRange: () => ({ from: subDays(new Date(), 13), to: new Date() }),\n\t},\n\t{\n\t\tlabel: \"Últimos 30 dias\",\n\t\tgetRange: () => ({ from: subDays(new Date(), 29), to: new Date() }),\n\t},\n\t{\n\t\tlabel: \"Mês anterior\",\n\t\tgetRange: () => {\n\t\t\tconst previousMonth = subMonths(new Date(), 1);\n\t\t\treturn {\n\t\t\t\tfrom: startOfMonth(previousMonth),\n\t\t\t\tto: endOfMonth(previousMonth),\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tlabel: \"Este ano\",\n\t\tgetRange: () => {\n\t\t\tconst currentYear = new Date().getFullYear();\n\t\t\treturn {\n\t\t\t\tfrom: new Date(currentYear, 0, 1),\n\t\t\t\tto: new Date(currentYear, 11, 31),\n\t\t\t};\n\t\t},\n\t},\n];\n\nexport function CalendarRange({\n\tvalue,\n\tonChange,\n\tplaceholder = \"Selecione uma data\",\n\tid = \"date\",\n\tbuttonProps,\n\tpopoverProps,\n\tpopoverContentClassName,\n\tclassName,\n\tdisabled,\n\tdisabledDateTooltip,\n\tshowQuickRanges = false,\n\t...props\n}: CalendarRangeProps) {\n\tconst [open, setOpen] = React.useState(false);\n\n\tconst [leftMonth, setLeftMonth] = React.useState<Date>(\n\t\tvalue?.from ?? props.defaultMonth ?? new Date(),\n\t);\n\tconst [rightMonth, setRightMonth] = React.useState<Date>(\n\t\tvalue?.to ?? addMonths(value?.from ?? props.defaultMonth ?? new Date(), 1),\n\t);\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: <useEffect>\n\tReact.useEffect(() => {\n\t\tif (open) {\n\t\t\tconst left = value?.from ?? props.defaultMonth ?? new Date();\n\t\t\tconst right = value?.to ?? addMonths(left, 1);\n\t\t\tsetLeftMonth(left);\n\t\t\tsetRightMonth(right);\n\t\t}\n\t}, [open]);\n\n\tReact.useEffect(() => {\n\t\tif (!open) {\n\t\t\tsetLeftMonth(value?.from ?? props.defaultMonth ?? new Date());\n\t\t\tsetRightMonth(value?.to ?? addMonths(value?.from ?? props.defaultMonth ?? new Date(), 1));\n\t\t}\n\t}, [value?.from, value?.to, open, props.defaultMonth]);\n\n\tconst isButtonDisabled = typeof disabled === \"boolean\" ? disabled : false;\n\tconst isRangeDisabled = (range: DateRange) => {\n\t\tif (!disabled) return false;\n\t\tif (typeof disabled === \"boolean\") return disabled;\n\t\tif (!range.from || !range.to) return false;\n\n\t\tconst days = eachDayOfInterval({ start: range.from, end: range.to });\n\t\treturn days.some((day) => dateMatchModifiers(day, disabled));\n\t};\n\n\tconst applyQuickRange = (range: DateRange) => {\n\t\tif (isRangeDisabled(range)) return;\n\t\tonChange(range);\n\t\tconst baseDate = range.from ?? new Date();\n\t\tsetLeftMonth(baseDate);\n\t\tsetRightMonth(addMonths(baseDate, 1));\n\t};\n\n\tconst DayButtonWrapper = (buttonProps: {\n\t\tday: CalendarDay;\n\t\tmodifiers: Modifiers;\n\t\t[key: string]: any;\n\t}) => {\n\t\tconst { day } = buttonProps;\n\t\tconst date = day.date;\n\t\tconst tooltip = date ? disabledDateTooltip?.(date) : undefined;\n\n\t\tif (tooltip) {\n\t\t\treturn (\n\t\t\t\t<TooltipProvider>\n\t\t\t\t\t<Tooltip delayDuration={300}>\n\t\t\t\t\t\t<TooltipTrigger asChild>\n\t\t\t\t\t\t\t<span className=\"h-full w-full\">\n\t\t\t\t\t\t\t\t<CalendarDayButton {...buttonProps} />\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</TooltipTrigger>\n\t\t\t\t\t\t<TooltipContent className=\"bg-secondary text-xs\">\n\t\t\t\t\t\t\t<p>{tooltip}</p>\n\t\t\t\t\t\t</TooltipContent>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</TooltipProvider>\n\t\t\t);\n\t\t}\n\n\t\treturn <CalendarDayButton {...buttonProps} />;\n\t};\n\n\treturn (\n\t\t<Popover {...popoverProps} open={open} onOpenChange={setOpen}>\n\t\t\t<PopoverTrigger asChild>\n\t\t\t\t<Button\n\t\t\t\t\tid={id}\n\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"hover:foreground justify-between text-left font-normal\",\n\t\t\t\t\t\t!value && \"text-muted-foreground hover:text-muted-foreground\",\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\tdisabled={isButtonDisabled}\n\t\t\t\t\t{...buttonProps}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"flex items-center\">\n\t\t\t\t\t\t<CalendarDaysIcon className=\"mr-2 size-4\" />\n\t\t\t\t\t\t{value?.from ? (\n\t\t\t\t\t\t\tvalue.to ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{format(value.from, \"P\", { locale: ptBR })} -{\" \"}\n\t\t\t\t\t\t\t\t\t{format(value.to, \"P\", { locale: ptBR })}\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tformat(value.from, \"P\", { locale: ptBR })\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span>{placeholder}</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{value?.from && !isButtonDisabled && (\n\t\t\t\t\t\t// biome-ignore lint/a11y/useKeyWithClickEvents: clear button action\n\t\t\t\t\t\t// biome-ignore lint/a11y/noStaticElementInteractions: clear button action\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\tonChange(null);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tclassName=\"cursor-pointer p-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<X className=\"h-4 w-4 opacity-50 hover:opacity-100\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</Button>\n\t\t\t</PopoverTrigger>\n\n\t\t\t<PopoverContent className={cn(\"w-auto p-0\", popoverContentClassName)} align=\"start\">\n\t\t\t\t<div className=\"flex flex-col sm:flex-row\">\n\t\t\t\t\t{showQuickRanges && (\n\t\t\t\t\t\t<div className=\"flex flex-col gap-1 border-r p-2\">\n\t\t\t\t\t\t\t{quickRanges.map((range, index) => {\n\t\t\t\t\t\t\t\tconst dateRange = range.getRange();\n\t\t\t\t\t\t\t\tconst isDisabled = isRangeDisabled(dateRange);\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tkey={range.label}\n\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\"justify-start font-normal\", index % 2 === 0 && \"bg-accent/40\")}\n\t\t\t\t\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\t\t\t\t\tonClick={() => applyQuickRange(dateRange)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{range.label}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<div className=\"flex gap-4 p-3\">\n\t\t\t\t\t\t<Calendar\n\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tautoFocus={false}\n\t\t\t\t\t\t\tcaptionLayout=\"dropdown\"\n\t\t\t\t\t\t\tselected={value ?? undefined}\n\t\t\t\t\t\t\tonSelect={(r) => onChange(r)}\n\t\t\t\t\t\t\tlocale={ptBR}\n\t\t\t\t\t\t\tnumberOfMonths={1}\n\t\t\t\t\t\t\tmonth={leftMonth}\n\t\t\t\t\t\t\tonMonthChange={(m) => setLeftMonth(m)}\n\t\t\t\t\t\t\tmode=\"range\"\n\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\tDayButton: DayButtonWrapper,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tmodifiersClassNames={{\n\t\t\t\t\t\t\t\tdisabled: \"pointer-events-auto opacity-50 hover:bg-transparent\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<Calendar\n\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tautoFocus={false}\n\t\t\t\t\t\t\tcaptionLayout=\"dropdown\"\n\t\t\t\t\t\t\tselected={value ?? undefined}\n\t\t\t\t\t\t\tonSelect={(r) => onChange(r)}\n\t\t\t\t\t\t\tlocale={ptBR}\n\t\t\t\t\t\t\tnumberOfMonths={1}\n\t\t\t\t\t\t\tmonth={rightMonth}\n\t\t\t\t\t\t\tonMonthChange={(m) => setRightMonth(m)}\n\t\t\t\t\t\t\tmode=\"range\"\n\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\tDayButton: DayButtonWrapper,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tmodifiersClassNames={{\n\t\t\t\t\t\t\t\tdisabled: \"pointer-events-auto opacity-50 hover:bg-transparent\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</PopoverContent>\n\t\t</Popover>\n\t);\n}\n"],"names":["eachDayOfInterval","interval","options","start","end","normalizeInterval","in","reversed","endTime","date","setHours","step","dates","push","constructFrom","setDate","getDate","reverse","subDays","amount","addDays","subMonths","addMonths","quickRanges","label","getRange","from","Date","to","startOfWeek","weekStartsOn","endOfWeek","previousMonth","startOfMonth","endOfMonth","currentYear","getFullYear","CalendarRange","value","onChange","placeholder","id","buttonProps","popoverProps","popoverContentClassName","className","disabled","disabledDateTooltip","showQuickRanges","props","open","setOpen","React","useState","leftMonth","setLeftMonth","defaultMonth","rightMonth","setRightMonth","useEffect","left","right","isButtonDisabled","isRangeDisabled","range","days","some","day","dateMatchModifiers","applyQuickRange","baseDate","DayButtonWrapper","tooltip","undefined","TooltipProvider","Tooltip","delayDuration","TooltipTrigger","asChild","span","CalendarDayButton","TooltipContent","p","Popover","onOpenChange","PopoverTrigger","Button","variant","cn","div","CalendarDaysIcon","format","locale","ptBR","onClick","e","stopPropagation","X","PopoverContent","align","map","index","dateRange","isDisabled","key","size","Calendar","autoFocus","captionLayout","selected","onSelect","r","numberOfMonths","month","onMonthChange","m","mode","components","DayButton","modifiersClassNames"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -1,12 +1,12 @@
1
1
  import React__default from 'react';
2
- import { c as cn } from './utils-B_sWPs4g.mjs';
3
- import { C as ChevronsUpDown } from './chevrons-up-down-DnZtt-_l.mjs';
4
- import { C as Check } from './check-DEhwj6Al.mjs';
5
- import { X } from './x-C7dRzGcQ.mjs';
6
- import { P as Popover, a as PopoverTrigger, b as PopoverContent } from './popover-AUqx-39R.mjs';
7
- import { B as Button } from './button-JvO-Yoz8.mjs';
8
- import { C as Command, b as CommandInput, d as CommandEmpty, c as CommandList, e as CommandGroup, f as CommandItem } from './command-BDTO2cfw.mjs';
9
- import { B as Badge } from './badge-e9FlhbZG.mjs';
2
+ import { c as cn } from './utils-Dws4Ft8U.mjs';
3
+ import { C as ChevronsUpDown } from './chevrons-up-down-C5lu4ULp.mjs';
4
+ import { C as Check } from './check-VfNn6myv.mjs';
5
+ import { X } from './x-CQ0W-nWi.mjs';
6
+ import { P as Popover, a as PopoverTrigger, b as PopoverContent } from './popover--9SMD-cC.mjs';
7
+ import { B as Button } from './button-BvsCd2vf.mjs';
8
+ import { C as Command, b as CommandInput, d as CommandEmpty, c as CommandList, e as CommandGroup, f as CommandItem } from './command-e20cpPEv.mjs';
9
+ import { B as Badge } from './badge-BUI8RIXy.mjs';
10
10
 
11
11
  const ComboboxField = ({ items, value, onChange, placeholder, className, classNamePopover })=>{
12
12
  const [open, setOpen] = React__default.useState(false);
@@ -64,4 +64,4 @@ const ComboboxField = ({ items, value, onChange, placeholder, className, classNa
64
64
  };
65
65
 
66
66
  export { ComboboxField as C };
67
- //# sourceMappingURL=ComboboxField-D0UNK7tu.mjs.map
67
+ //# sourceMappingURL=ComboboxField-Us4hYexm.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxField-D0UNK7tu.mjs","sources":["../../src/components/default/form-fields/ComboboxField.tsx"],"sourcesContent":["\"use client\";\n\nimport { Check, ChevronsUpDown, X } from \"lucide-react\";\nimport React from \"react\";\nimport { Badge } from \"@/components/ui/badge\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n\tCommand,\n\tCommandEmpty,\n\tCommandGroup,\n\tCommandInput,\n\tCommandItem,\n\tCommandList,\n} from \"@/components/ui/command\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { cn } from \"@/lib/utils\";\n\ninterface ComboboxFieldProps {\n\titems: string[];\n\tvalue: string[];\n\tonChange: (value: string[]) => void;\n\tplaceholder?: string;\n\tclassName?: string;\n\tclassNamePopover?: string;\n}\n\nexport const ComboboxField: React.FC<ComboboxFieldProps> = ({\n\titems,\n\tvalue,\n\tonChange,\n\tplaceholder,\n\tclassName,\n\tclassNamePopover,\n}) => {\n\tconst [open, setOpen] = React.useState(false);\n\n\tconst toggleValue = (item: string) => {\n\t\tif (value.includes(item)) {\n\t\t\tonChange(value.filter((v) => v !== item));\n\t\t} else {\n\t\t\tonChange([...value, item]);\n\t\t}\n\t};\n\n\tconst uniqueItems = Array.from(new Set(items));\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t<Popover open={open} onOpenChange={setOpen}>\n\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\taria-expanded={open}\n\t\t\t\t\t\tclassName={cn(\"justify-between font-normal\", className)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{value.length > 0 ? `${value.length} selecionado(s)` : (placeholder ?? \"Selecione\")}\n\t\t\t\t\t\t<ChevronsUpDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n\t\t\t\t\t</Button>\n\t\t\t\t</PopoverTrigger>\n\t\t\t\t<PopoverContent className={cn(\"p-0\", classNamePopover)}>\n\t\t\t\t\t<Command>\n\t\t\t\t\t\t<CommandInput placeholder=\"Filtrar...\" />\n\t\t\t\t\t\t<CommandEmpty>Nenhuma opção encontrada.</CommandEmpty>\n\t\t\t\t\t\t<CommandList className=\"max-h-60 overflow-y-auto\">\n\t\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t\t{uniqueItems.map((item) => (\n\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\tkey={item}\n\t\t\t\t\t\t\t\t\t\tvalue={item}\n\t\t\t\t\t\t\t\t\t\tonSelect={() => toggleValue(item)}\n\t\t\t\t\t\t\t\t\t\tclassName=\"cursor-pointer\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Check\n\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\"mr-2 h-4 w-4\",\n\t\t\t\t\t\t\t\t\t\t\t\tvalue.includes(item) ? \"opacity-100\" : \"opacity-0\",\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\t{item}\n\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</CommandGroup>\n\t\t\t\t\t\t</CommandList>\n\t\t\t\t\t</Command>\n\t\t\t\t</PopoverContent>\n\t\t\t</Popover>\n\n\t\t\t{value.length > 0 && (\n\t\t\t\t<div className=\"flex max-h-32 flex-wrap gap-2 overflow-auto\">\n\t\t\t\t\t{value.map((val) => (\n\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\tkey={val}\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tclassName=\"flex h-6 w-fit items-center gap-1 px-2 py-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{val}\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tonClick={() => toggleValue(val)}\n\t\t\t\t\t\t\t\tclassName=\"h-5 w-5 p-0\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<X className=\"size-3\" />\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n"],"names":["ComboboxField","items","value","onChange","placeholder","className","classNamePopover","open","setOpen","React","useState","toggleValue","item","includes","filter","v","uniqueItems","Array","from","Set","div","Popover","onOpenChange","PopoverTrigger","asChild","Button","variant","aria-expanded","cn","length","ChevronsUpDown","PopoverContent","Command","CommandInput","CommandEmpty","CommandList","CommandGroup","map","CommandItem","key","onSelect","Check","val","Badge","size","onClick","X"],"mappings":"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"}
1
+ {"version":3,"file":"ComboboxField-Us4hYexm.mjs","sources":["../../src/components/default/form-fields/ComboboxField.tsx"],"sourcesContent":["\"use client\";\n\nimport { Check, ChevronsUpDown, X } from \"lucide-react\";\nimport React from \"react\";\nimport { Badge } from \"@/components/ui/badge\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n\tCommand,\n\tCommandEmpty,\n\tCommandGroup,\n\tCommandInput,\n\tCommandItem,\n\tCommandList,\n} from \"@/components/ui/command\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { cn } from \"@/lib/utils\";\n\ninterface ComboboxFieldProps {\n\titems: string[];\n\tvalue: string[];\n\tonChange: (value: string[]) => void;\n\tplaceholder?: string;\n\tclassName?: string;\n\tclassNamePopover?: string;\n}\n\nexport const ComboboxField: React.FC<ComboboxFieldProps> = ({\n\titems,\n\tvalue,\n\tonChange,\n\tplaceholder,\n\tclassName,\n\tclassNamePopover,\n}) => {\n\tconst [open, setOpen] = React.useState(false);\n\n\tconst toggleValue = (item: string) => {\n\t\tif (value.includes(item)) {\n\t\t\tonChange(value.filter((v) => v !== item));\n\t\t} else {\n\t\t\tonChange([...value, item]);\n\t\t}\n\t};\n\n\tconst uniqueItems = Array.from(new Set(items));\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t<Popover open={open} onOpenChange={setOpen}>\n\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\taria-expanded={open}\n\t\t\t\t\t\tclassName={cn(\"justify-between font-normal\", className)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{value.length > 0 ? `${value.length} selecionado(s)` : (placeholder ?? \"Selecione\")}\n\t\t\t\t\t\t<ChevronsUpDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n\t\t\t\t\t</Button>\n\t\t\t\t</PopoverTrigger>\n\t\t\t\t<PopoverContent className={cn(\"p-0\", classNamePopover)}>\n\t\t\t\t\t<Command>\n\t\t\t\t\t\t<CommandInput placeholder=\"Filtrar...\" />\n\t\t\t\t\t\t<CommandEmpty>Nenhuma opção encontrada.</CommandEmpty>\n\t\t\t\t\t\t<CommandList className=\"max-h-60 overflow-y-auto\">\n\t\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t\t{uniqueItems.map((item) => (\n\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\tkey={item}\n\t\t\t\t\t\t\t\t\t\tvalue={item}\n\t\t\t\t\t\t\t\t\t\tonSelect={() => toggleValue(item)}\n\t\t\t\t\t\t\t\t\t\tclassName=\"cursor-pointer\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Check\n\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\"mr-2 h-4 w-4\",\n\t\t\t\t\t\t\t\t\t\t\t\tvalue.includes(item) ? \"opacity-100\" : \"opacity-0\",\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\t{item}\n\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</CommandGroup>\n\t\t\t\t\t\t</CommandList>\n\t\t\t\t\t</Command>\n\t\t\t\t</PopoverContent>\n\t\t\t</Popover>\n\n\t\t\t{value.length > 0 && (\n\t\t\t\t<div className=\"flex max-h-32 flex-wrap gap-2 overflow-auto\">\n\t\t\t\t\t{value.map((val) => (\n\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\tkey={val}\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tclassName=\"flex h-6 w-fit items-center gap-1 px-2 py-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{val}\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tonClick={() => toggleValue(val)}\n\t\t\t\t\t\t\t\tclassName=\"h-5 w-5 p-0\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<X className=\"size-3\" />\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n"],"names":["ComboboxField","items","value","onChange","placeholder","className","classNamePopover","open","setOpen","React","useState","toggleValue","item","includes","filter","v","uniqueItems","Array","from","Set","div","Popover","onOpenChange","PopoverTrigger","asChild","Button","variant","aria-expanded","cn","length","ChevronsUpDown","PopoverContent","Command","CommandInput","CommandEmpty","CommandList","CommandGroup","map","CommandItem","key","onSelect","Check","val","Badge","size","onClick","X"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React__default from 'react';
2
- import { c as cn } from './utils-B_sWPs4g.mjs';
2
+ import { c as cn } from './utils-Dws4Ft8U.mjs';
3
3
 
4
4
  const ChildContainer = ({ children, className })=>{
5
5
  return /*#__PURE__*/ React__default.createElement("div", {
@@ -14,4 +14,4 @@ const Container = ({ children, className })=>{
14
14
  };
15
15
 
16
16
  export { Container as C, ChildContainer as a };
17
- //# sourceMappingURL=Container-B8xT82ak.mjs.map
17
+ //# sourceMappingURL=Container-BFAAGDWA.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Container-B8xT82ak.mjs","sources":["../../src/components/default/layout/ChildContainer.tsx","../../src/components/default/layout/Container.tsx"],"sourcesContent":["import React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport const ChildContainer = ({\n\tchildren,\n\tclassName,\n}: {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\"bg-background flex flex-row flex-wrap gap-4 rounded-md px-6 py-6\", className)}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n","import React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport const Container = ({\n\tchildren,\n\tclassName,\n}: {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}) => {\n\treturn <div className={cn(\"bg-body p-4\", className)}>{children}</div>;\n};\n"],"names":["ChildContainer","children","className","React","div","cn","Container"],"mappings":";;;MAGaA,cAAAA,GAAiB,CAAC,EAC9BC,QAAQ,EACRC,SAAS,EAIT,GAAA;AACA,IAAA,qBACCC,cAAA,CAAA,aAAA,CAACC,KAAAA,EAAAA;AACAF,QAAAA,SAAAA,EAAWG,GAAG,kEAAA,EAAoEH,SAAAA;AAEjFD,KAAAA,EAAAA,QAAAA,CAAAA;AAGJ;;MCdaK,SAAAA,GAAY,CAAC,EACzBL,QAAQ,EACRC,SAAS,EAIT,GAAA;AACA,IAAA,qBAAOC,cAAA,CAAA,aAAA,CAACC,KAAAA,EAAAA;AAAIF,QAAAA,SAAAA,EAAWG,GAAG,aAAA,EAAeH,SAAAA;AAAaD,KAAAA,EAAAA,QAAAA,CAAAA;AACvD;;;;"}
1
+ {"version":3,"file":"Container-BFAAGDWA.mjs","sources":["../../src/components/default/layout/ChildContainer.tsx","../../src/components/default/layout/Container.tsx"],"sourcesContent":["import React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport const ChildContainer = ({\n\tchildren,\n\tclassName,\n}: {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\"bg-background flex flex-row flex-wrap gap-4 rounded-md px-6 py-6\", className)}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n","import React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport const Container = ({\n\tchildren,\n\tclassName,\n}: {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}) => {\n\treturn <div className={cn(\"bg-body p-4\", className)}>{children}</div>;\n};\n"],"names":["ChildContainer","children","className","React","div","cn","Container"],"mappings":";;;MAGaA,cAAAA,GAAiB,CAAC,EAC9BC,QAAQ,EACRC,SAAS,EAIT,GAAA;AACA,IAAA,qBACCC,cAAA,CAAA,aAAA,CAACC,KAAAA,EAAAA;AACAF,QAAAA,SAAAA,EAAWG,GAAG,kEAAA,EAAoEH,SAAAA;AAEjFD,KAAAA,EAAAA,QAAAA,CAAAA;AAGJ;;MCdaK,SAAAA,GAAY,CAAC,EACzBL,QAAQ,EACRC,SAAS,EAIT,GAAA;AACA,IAAA,qBAAOC,cAAA,CAAA,aAAA,CAACC,KAAAA,EAAAA;AAAIF,QAAAA,SAAAA,EAAWG,GAAG,aAAA,EAAeH,SAAAA;AAAaD,KAAAA,EAAAA,QAAAA,CAAAA;AACvD;;;;"}
@@ -1,7 +1,7 @@
1
1
  import React__default from 'react';
2
- import { D as Dialog, i as DialogTrigger, b as DialogContent, e as DialogHeader, h as DialogTitle, c as DialogDescription, d as DialogFooter, a as DialogClose } from './dialog-CNJ69a9m.mjs';
3
- import { T as Trash2 } from './trash-2-CJoy_LlU.mjs';
4
- import { B as Button } from './button-JvO-Yoz8.mjs';
2
+ import { D as Dialog, i as DialogTrigger, b as DialogContent, e as DialogHeader, h as DialogTitle, c as DialogDescription, d as DialogFooter, a as DialogClose } from './dialog-B20zSjze.mjs';
3
+ import { T as Trash2 } from './trash-2-D8vtZLQJ.mjs';
4
+ import { B as Button } from './button-BvsCd2vf.mjs';
5
5
 
6
6
  function DeleteConfirmationModal({ onConfirm, title = "Tem certeza que deseja apagar?", description = "Essa ação não pode ser desfeita.", confirmText = "Apagar", cancelText = "Cancelar", disabled = false, children, confirmIcon = Trash2, subtle = false }) {
7
7
  const [isPending, startTransition] = React__default.useTransition();
@@ -43,4 +43,4 @@ function DeleteConfirmationModal({ onConfirm, title = "Tem certeza que deseja ap
43
43
  }
44
44
 
45
45
  export { DeleteConfirmationModal as D };
46
- //# sourceMappingURL=DeleteConfirmationModal-DZnfk6jI.mjs.map
46
+ //# sourceMappingURL=DeleteConfirmationModal-ClGTTktk.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteConfirmationModal-DZnfk6jI.mjs","sources":["../../src/components/default/base/DeleteConfirmationModal.tsx"],"sourcesContent":["\"use client\";\n\nimport { Trash2Icon } from \"lucide-react\";\nimport React from \"react\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n\tDialog,\n\tDialogClose,\n\tDialogContent,\n\tDialogDescription,\n\tDialogFooter,\n\tDialogHeader,\n\tDialogTitle,\n\tDialogTrigger,\n} from \"@/components/ui/dialog\";\n\nexport interface DeleteConfirmationModalProps {\n\tonConfirm: () => Promise<void> | void;\n\ttitle?: string;\n\tdescription?: string;\n\tconfirmText?: string;\n\tcancelText?: string;\n\tdisabled?: boolean;\n\tchildren?: React.ReactNode;\n\t/**\n\t * Ícone a ser exibido no botão de confirmação.\n\t * Se não fornecido, usa Trash2Icon por padrão.\n\t * Se for null, não exibe ícone.\n\t */\n\tconfirmIcon?: React.ComponentType<{ className?: string }> | null;\n\tsubtle?: boolean;\n}\n\nexport function DeleteConfirmationModal({\n\tonConfirm,\n\ttitle = \"Tem certeza que deseja apagar?\",\n\tdescription = \"Essa ação não pode ser desfeita.\",\n\tconfirmText = \"Apagar\",\n\tcancelText = \"Cancelar\",\n\tdisabled = false,\n\tchildren,\n\tconfirmIcon = Trash2Icon,\n\tsubtle = false,\n}: DeleteConfirmationModalProps) {\n\tconst [isPending, startTransition] = React.useTransition();\n\n\tconst handleConfirm = () => {\n\t\tstartTransition(async () => {\n\t\t\tawait onConfirm();\n\t\t});\n\t};\n\n\treturn (\n\t\t<Dialog>\n\t\t\t<DialogTrigger className=\"*:font-lato\" asChild>\n\t\t\t\t{children ? (\n\t\t\t\t\tchildren\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tclassName=\"text-destructive hover:text-destructive w-full items-start justify-start px-2\"\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t{confirmText}\n\t\t\t\t\t</Button>\n\t\t\t\t)}\n\t\t\t</DialogTrigger>\n\t\t\t<DialogContent className=\"*:font-lato max-w-[425px]\">\n\t\t\t\t<DialogHeader className=\"text-left\">\n\t\t\t\t\t<DialogTitle>{title}</DialogTitle>\n\t\t\t\t\t<DialogDescription>{description}</DialogDescription>\n\t\t\t\t</DialogHeader>\n\t\t\t\t<DialogFooter className=\"flex flex-row flex-wrap items-start justify-between sm:justify-between\">\n\t\t\t\t\t<DialogClose asChild>\n\t\t\t\t\t\t<Button variant=\"outline\" disabled={isPending} isAction>\n\t\t\t\t\t\t\t{cancelText}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</DialogClose>\n\t\t\t\t\t<DialogClose asChild>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"destructive\"\n\t\t\t\t\t\t\tonClick={handleConfirm}\n\t\t\t\t\t\t\tdisabled={disabled || isPending}\n\t\t\t\t\t\t\tsubtle={subtle}\n\t\t\t\t\t\t\tisAction\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{confirmIcon && React.createElement(confirmIcon, { className: \"h-4 w-4\" })}\n\t\t\t\t\t\t\t{confirmText}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</DialogClose>\n\t\t\t\t</DialogFooter>\n\t\t\t</DialogContent>\n\t\t</Dialog>\n\t);\n}\n"],"names":["DeleteConfirmationModal","onConfirm","title","description","confirmText","cancelText","disabled","children","confirmIcon","Trash2Icon","subtle","isPending","startTransition","React","useTransition","handleConfirm","Dialog","DialogTrigger","className","asChild","Button","variant","DialogContent","DialogHeader","DialogTitle","DialogDescription","DialogFooter","DialogClose","isAction","onClick","createElement"],"mappings":";;;;;AAiCO,SAASA,uBAAAA,CAAwB,EACvCC,SAAS,EACTC,KAAAA,GAAQ,gCAAgC,EACxCC,WAAAA,GAAc,kCAAkC,EAChDC,WAAAA,GAAc,QAAQ,EACtBC,UAAAA,GAAa,UAAU,EACvBC,QAAAA,GAAW,KAAK,EAChBC,QAAQ,EACRC,WAAAA,GAAcC,MAAU,EACxBC,MAAAA,GAAS,KAAK,EACgB,EAAA;AAC9B,IAAA,MAAM,CAACC,SAAAA,EAAWC,eAAAA,CAAgB,GAAGC,eAAMC,aAAa,EAAA;AAExD,IAAA,MAAMC,aAAAA,GAAgB,IAAA;QACrBH,eAAAA,CAAgB,UAAA;YACf,MAAMX,SAAAA,EAAAA;AACP,QAAA,CAAA,CAAA;AACD,IAAA,CAAA;IAEA,qBACCY,cAAA,CAAA,aAAA,CAACG,4BACAH,cAAA,CAAA,aAAA,CAACI,aAAAA,EAAAA;QAAcC,SAAAA,EAAU,aAAA;QAAcC,OAAAA,EAAAA;AACrCZ,KAAAA,EAAAA,QAAAA,GACAA,yBAEAM,cAAA,CAAA,aAAA,CAACO,MAAAA,EAAAA;QACAC,OAAAA,EAAQ,OAAA;QACRH,SAAAA,EAAU,+EAAA;QACVZ,QAAAA,EAAUA;AAETF,KAAAA,EAAAA,WAAAA,CAAAA,CAAAA,gBAIJS,cAAA,CAAA,aAAA,CAACS,aAAAA,EAAAA;QAAcJ,SAAAA,EAAU;qBACxBL,cAAA,CAAA,aAAA,CAACU,YAAAA,EAAAA;QAAaL,SAAAA,EAAU;AACvB,KAAA,gBAAAL,cAAA,CAAA,aAAA,CAACW,WAAAA,EAAAA,IAAAA,EAAatB,KAAAA,CAAAA,gBACdW,cAAA,CAAA,aAAA,CAACY,iBAAAA,EAAAA,IAAAA,EAAmBtB,6BAErBU,cAAA,CAAA,aAAA,CAACa,YAAAA,EAAAA;QAAaR,SAAAA,EAAU;qBACvBL,cAAA,CAAA,aAAA,CAACc,WAAAA,EAAAA;QAAYR,OAAAA,EAAAA;qBACZN,cAAA,CAAA,aAAA,CAACO,MAAAA,EAAAA;QAAOC,OAAAA,EAAQ,SAAA;QAAUf,QAAAA,EAAUK,SAAAA;QAAWiB,QAAAA,EAAAA;AAC7CvB,KAAAA,EAAAA,UAAAA,CAAAA,CAAAA,gBAGHQ,cAAA,CAAA,aAAA,CAACc,WAAAA,EAAAA;QAAYR,OAAAA,EAAAA;qBACZN,cAAA,CAAA,aAAA,CAACO,MAAAA,EAAAA;QACAC,OAAAA,EAAQ,aAAA;QACRQ,OAAAA,EAASd,aAAAA;AACTT,QAAAA,QAAAA,EAAUA,QAAAA,IAAYK,SAAAA;QACtBD,MAAAA,EAAQA,MAAAA;QACRkB,QAAAA,EAAAA;OAECpB,WAAAA,kBAAeK,cAAAA,CAAMiB,aAAa,CAACtB,WAAAA,EAAa;QAAEU,SAAAA,EAAW;KAAU,CAAA,EACvEd,WAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAOR;;;;"}
1
+ {"version":3,"file":"DeleteConfirmationModal-ClGTTktk.mjs","sources":["../../src/components/default/base/DeleteConfirmationModal.tsx"],"sourcesContent":["\"use client\";\n\nimport { Trash2Icon } from \"lucide-react\";\nimport React from \"react\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n\tDialog,\n\tDialogClose,\n\tDialogContent,\n\tDialogDescription,\n\tDialogFooter,\n\tDialogHeader,\n\tDialogTitle,\n\tDialogTrigger,\n} from \"@/components/ui/dialog\";\n\nexport interface DeleteConfirmationModalProps {\n\tonConfirm: () => Promise<void> | void;\n\ttitle?: string;\n\tdescription?: string;\n\tconfirmText?: string;\n\tcancelText?: string;\n\tdisabled?: boolean;\n\tchildren?: React.ReactNode;\n\t/**\n\t * Ícone a ser exibido no botão de confirmação.\n\t * Se não fornecido, usa Trash2Icon por padrão.\n\t * Se for null, não exibe ícone.\n\t */\n\tconfirmIcon?: React.ComponentType<{ className?: string }> | null;\n\tsubtle?: boolean;\n}\n\nexport function DeleteConfirmationModal({\n\tonConfirm,\n\ttitle = \"Tem certeza que deseja apagar?\",\n\tdescription = \"Essa ação não pode ser desfeita.\",\n\tconfirmText = \"Apagar\",\n\tcancelText = \"Cancelar\",\n\tdisabled = false,\n\tchildren,\n\tconfirmIcon = Trash2Icon,\n\tsubtle = false,\n}: DeleteConfirmationModalProps) {\n\tconst [isPending, startTransition] = React.useTransition();\n\n\tconst handleConfirm = () => {\n\t\tstartTransition(async () => {\n\t\t\tawait onConfirm();\n\t\t});\n\t};\n\n\treturn (\n\t\t<Dialog>\n\t\t\t<DialogTrigger className=\"*:font-lato\" asChild>\n\t\t\t\t{children ? (\n\t\t\t\t\tchildren\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tclassName=\"text-destructive hover:text-destructive w-full items-start justify-start px-2\"\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t{confirmText}\n\t\t\t\t\t</Button>\n\t\t\t\t)}\n\t\t\t</DialogTrigger>\n\t\t\t<DialogContent className=\"*:font-lato max-w-[425px]\">\n\t\t\t\t<DialogHeader className=\"text-left\">\n\t\t\t\t\t<DialogTitle>{title}</DialogTitle>\n\t\t\t\t\t<DialogDescription>{description}</DialogDescription>\n\t\t\t\t</DialogHeader>\n\t\t\t\t<DialogFooter className=\"flex flex-row flex-wrap items-start justify-between sm:justify-between\">\n\t\t\t\t\t<DialogClose asChild>\n\t\t\t\t\t\t<Button variant=\"outline\" disabled={isPending} isAction>\n\t\t\t\t\t\t\t{cancelText}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</DialogClose>\n\t\t\t\t\t<DialogClose asChild>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"destructive\"\n\t\t\t\t\t\t\tonClick={handleConfirm}\n\t\t\t\t\t\t\tdisabled={disabled || isPending}\n\t\t\t\t\t\t\tsubtle={subtle}\n\t\t\t\t\t\t\tisAction\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{confirmIcon && React.createElement(confirmIcon, { className: \"h-4 w-4\" })}\n\t\t\t\t\t\t\t{confirmText}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</DialogClose>\n\t\t\t\t</DialogFooter>\n\t\t\t</DialogContent>\n\t\t</Dialog>\n\t);\n}\n"],"names":["DeleteConfirmationModal","onConfirm","title","description","confirmText","cancelText","disabled","children","confirmIcon","Trash2Icon","subtle","isPending","startTransition","React","useTransition","handleConfirm","Dialog","DialogTrigger","className","asChild","Button","variant","DialogContent","DialogHeader","DialogTitle","DialogDescription","DialogFooter","DialogClose","isAction","onClick","createElement"],"mappings":";;;;;AAiCO,SAASA,uBAAAA,CAAwB,EACvCC,SAAS,EACTC,KAAAA,GAAQ,gCAAgC,EACxCC,WAAAA,GAAc,kCAAkC,EAChDC,WAAAA,GAAc,QAAQ,EACtBC,UAAAA,GAAa,UAAU,EACvBC,QAAAA,GAAW,KAAK,EAChBC,QAAQ,EACRC,WAAAA,GAAcC,MAAU,EACxBC,MAAAA,GAAS,KAAK,EACgB,EAAA;AAC9B,IAAA,MAAM,CAACC,SAAAA,EAAWC,eAAAA,CAAgB,GAAGC,eAAMC,aAAa,EAAA;AAExD,IAAA,MAAMC,aAAAA,GAAgB,IAAA;QACrBH,eAAAA,CAAgB,UAAA;YACf,MAAMX,SAAAA,EAAAA;AACP,QAAA,CAAA,CAAA;AACD,IAAA,CAAA;IAEA,qBACCY,cAAA,CAAA,aAAA,CAACG,4BACAH,cAAA,CAAA,aAAA,CAACI,aAAAA,EAAAA;QAAcC,SAAAA,EAAU,aAAA;QAAcC,OAAAA,EAAAA;AACrCZ,KAAAA,EAAAA,QAAAA,GACAA,yBAEAM,cAAA,CAAA,aAAA,CAACO,MAAAA,EAAAA;QACAC,OAAAA,EAAQ,OAAA;QACRH,SAAAA,EAAU,+EAAA;QACVZ,QAAAA,EAAUA;AAETF,KAAAA,EAAAA,WAAAA,CAAAA,CAAAA,gBAIJS,cAAA,CAAA,aAAA,CAACS,aAAAA,EAAAA;QAAcJ,SAAAA,EAAU;qBACxBL,cAAA,CAAA,aAAA,CAACU,YAAAA,EAAAA;QAAaL,SAAAA,EAAU;AACvB,KAAA,gBAAAL,cAAA,CAAA,aAAA,CAACW,WAAAA,EAAAA,IAAAA,EAAatB,KAAAA,CAAAA,gBACdW,cAAA,CAAA,aAAA,CAACY,iBAAAA,EAAAA,IAAAA,EAAmBtB,6BAErBU,cAAA,CAAA,aAAA,CAACa,YAAAA,EAAAA;QAAaR,SAAAA,EAAU;qBACvBL,cAAA,CAAA,aAAA,CAACc,WAAAA,EAAAA;QAAYR,OAAAA,EAAAA;qBACZN,cAAA,CAAA,aAAA,CAACO,MAAAA,EAAAA;QAAOC,OAAAA,EAAQ,SAAA;QAAUf,QAAAA,EAAUK,SAAAA;QAAWiB,QAAAA,EAAAA;AAC7CvB,KAAAA,EAAAA,UAAAA,CAAAA,CAAAA,gBAGHQ,cAAA,CAAA,aAAA,CAACc,WAAAA,EAAAA;QAAYR,OAAAA,EAAAA;qBACZN,cAAA,CAAA,aAAA,CAACO,MAAAA,EAAAA;QACAC,OAAAA,EAAQ,aAAA;QACRQ,OAAAA,EAASd,aAAAA;AACTT,QAAAA,QAAAA,EAAUA,QAAAA,IAAYK,SAAAA;QACtBD,MAAAA,EAAQA,MAAAA;QACRkB,QAAAA,EAAAA;OAECpB,WAAAA,kBAAeK,cAAAA,CAAMiB,aAAa,CAACtB,WAAAA,EAAa;QAAEU,SAAAA,EAAW;KAAU,CAAA,EACvEd,WAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAOR;;;;"}
@@ -0,0 +1,229 @@
1
+ import React__default from 'react';
2
+ import { f as formatDateToBrazilian } from './date-Dy-Pzcmp.mjs';
3
+ import { c as createLucideIcon } from './createLucideIcon-D3jW_oal.mjs';
4
+ import { B as Button } from './button-BvsCd2vf.mjs';
5
+ import { c as cn } from './utils-Dws4Ft8U.mjs';
6
+ import { B as ButtonGroup } from './button-group-PrAqXtXn.mjs';
7
+ import { D as DropdownMenu, b as DropdownMenuTrigger, c as DropdownMenuContent, f as DropdownMenuItem } from './dropdown-menu-B2ja7qty.mjs';
8
+ import { U as Upload } from './upload-CQFfafJB.mjs';
9
+ import { C as ChevronDown } from './chevron-down-CD1QpvBA.mjs';
10
+
11
+ const __iconNode = [
12
+ [
13
+ "path",
14
+ {
15
+ d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",
16
+ key: "ih7n3h"
17
+ }
18
+ ],
19
+ [
20
+ "polyline",
21
+ {
22
+ points: "7 10 12 15 17 10",
23
+ key: "2ggqvy"
24
+ }
25
+ ],
26
+ [
27
+ "line",
28
+ {
29
+ x1: "12",
30
+ x2: "12",
31
+ y1: "15",
32
+ y2: "3",
33
+ key: "1vk2je"
34
+ }
35
+ ]
36
+ ];
37
+ const Download = createLucideIcon("Download", __iconNode);
38
+
39
+ var q;
40
+ (function(x) {
41
+ x["csv"] = "text/csv";
42
+ x["tsv"] = "text/tab-separated-values";
43
+ x["plain"] = "text/plain";
44
+ })(q || (q = {}));
45
+ var X = (W)=>W, z = (W)=>W, Z = X, _ = X, Y = X, N = X, V = X;
46
+ var h = {
47
+ fieldSeparator: ",",
48
+ decimalSeparator: ".",
49
+ quoteStrings: true,
50
+ quoteCharacter: '"',
51
+ showTitle: false,
52
+ title: "My Generated Report",
53
+ filename: "generated",
54
+ showColumnHeaders: true,
55
+ useTextFile: false,
56
+ fileExtension: "csv",
57
+ mediaType: q.csv,
58
+ useBom: true,
59
+ columnHeaders: [],
60
+ useKeysAsHeaders: false,
61
+ boolDisplay: {
62
+ true: "TRUE",
63
+ false: "FALSE"
64
+ },
65
+ replaceUndefinedWith: ""
66
+ }, F = "\r\n", R = "\uFEFF", G = (W)=>Object.assign({}, h, W);
67
+ class K extends Error {
68
+ constructor(W){
69
+ super(W);
70
+ this.name = "CsvGenerationError";
71
+ }
72
+ }
73
+ class B extends Error {
74
+ constructor(W){
75
+ super(W);
76
+ this.name = "EmptyHeadersError";
77
+ }
78
+ }
79
+ class L extends Error {
80
+ constructor(W){
81
+ super(W);
82
+ this.name = "CsvDownloadEnvironmentError";
83
+ }
84
+ }
85
+ class P extends Error {
86
+ constructor(W){
87
+ super(W);
88
+ this.name = "UnsupportedDataFormatError";
89
+ }
90
+ }
91
+ var s = function(W, $) {
92
+ if ($ == '"' && W.indexOf('"') > -1) return W.replace(/"/g, '""');
93
+ return W;
94
+ }, w = (W)=>typeof W === "object" ? N(W.key) : N(W), y = (W)=>typeof W === "object" ? V(W.displayLabel) : V(W), T = (W, ...$)=>$.reduce((j, x)=>x(j), W), E = (W)=>($)=>W.useBom ? _(z($) + R) : $, M = (W)=>($)=>W.showTitle ? S(_(z($) + W.title))(Y("")) : $, S = (W)=>($)=>_(z(W) + z($) + F), O = (W)=>($, j)=>l(W)(Y(z($) + z(j))), l = (W)=>($)=>X(z($) + W.fieldSeparator), b = (W, $)=>(j)=>{
95
+ if (!W.showColumnHeaders) return j;
96
+ if ($.length < 1) throw new B("Option to show headers but none supplied. Make sure there are keys in your collection or that you've supplied headers through the config options.");
97
+ let x = Y("");
98
+ for(let A = 0; A < $.length; A++){
99
+ const J = y($[A]);
100
+ x = O(W)(x, v(W, z(J)));
101
+ }
102
+ return x = Y(z(x).slice(0, -1)), S(j)(x);
103
+ }, C = (W, $, j)=>(x)=>{
104
+ let A = x;
105
+ for(var J = 0; J < j.length; J++){
106
+ let I = Y("");
107
+ for(let U = 0; U < $.length; U++){
108
+ const H = w($[U]), D = j[J][z(H)];
109
+ I = O(W)(I, v(W, D));
110
+ }
111
+ I = Y(z(I).slice(0, -1)), A = S(A)(I);
112
+ }
113
+ return A;
114
+ }, m = (W)=>+W === W && (!isFinite(W) || Boolean(W % 1)), p = (W, $)=>{
115
+ if (m($)) {
116
+ if (W.decimalSeparator === "locale") return Z($.toLocaleString());
117
+ if (W.decimalSeparator) return Z($.toString().replace(".", W.decimalSeparator));
118
+ }
119
+ return Z($.toString());
120
+ }, Q = (W, $)=>{
121
+ let j = $;
122
+ if (W.quoteStrings || W.fieldSeparator && $.indexOf(W.fieldSeparator) > -1 || W.quoteCharacter && $.indexOf(W.quoteCharacter) > -1 || $.indexOf("\n") > -1 || $.indexOf("\r") > -1) j = W.quoteCharacter + s($, W.quoteCharacter) + W.quoteCharacter;
123
+ return Z(j);
124
+ }, g = (W, $)=>{
125
+ const j = $ ? "true" : "false";
126
+ return Z(W.boolDisplay[j]);
127
+ }, r = (W, $)=>{
128
+ if (typeof $ === "undefined" && W.replaceUndefinedWith !== void 0) return Q(W, W.replaceUndefinedWith + "");
129
+ if ($ === null) return Q(W, "null");
130
+ return Q(W, "");
131
+ }, v = (W, $)=>{
132
+ if (typeof $ === "number") return p(W, $);
133
+ if (typeof $ === "string") return Q(W, $);
134
+ if (typeof $ === "boolean" && W.boolDisplay) return g(W, $);
135
+ if ($ === null || typeof $ === "undefined") return r(W, $);
136
+ throw new P(`
137
+ typeof ${typeof $} isn't supported. Only number, string, boolean, null and undefined are supported.
138
+ Please convert the data in your object to one of those before generating the CSV.
139
+ `);
140
+ };
141
+ var BW = (W)=>($)=>{
142
+ const j = G(W), x = j.useKeysAsHeaders ? Object.keys($[0]) : j.columnHeaders;
143
+ let A = T(_(""), E(j), M(j), b(j, x), C(j, x, $));
144
+ if (z(A).length < 1) throw new K("Output is empty. Is your data formatted correctly?");
145
+ return A;
146
+ }, f = (W)=>($)=>{
147
+ const j = G(W), x = z($), A = j.useTextFile ? "text/plain" : j.mediaType;
148
+ return new Blob([
149
+ x
150
+ ], {
151
+ type: `${A};charset=utf8;`
152
+ });
153
+ }, LW = (W)=>($)=>{
154
+ if (!window) throw new L("Downloading only supported in a browser environment.");
155
+ const j = f(W)($), x = G(W), A = x.useTextFile ? "txt" : x.fileExtension, J = `${x.filename}.${A}`, I = document.createElement("a");
156
+ I.download = J, I.href = URL.createObjectURL(j), I.setAttribute("visibility", "hidden"), document.body.appendChild(I), I.click(), document.body.removeChild(I);
157
+ };
158
+
159
+ function getValueByPath(obj, path) {
160
+ // biome-ignore lint/suspicious/noExplicitAny: <any>
161
+ return path.split(".").reduce((acc, key)=>acc?.[key], obj);
162
+ }
163
+ const ButtonExportCsv = ({ table, disabled, action, fileName, config, text = "Exportar", rowsToExport, sessionDate = new Date() })=>{
164
+ function handleExportData() {
165
+ if (!config) {
166
+ console.warn("props de config não foi passada");
167
+ return;
168
+ }
169
+ const csvConfig = G({
170
+ fieldSeparator: ";",
171
+ decimalSeparator: ",",
172
+ useKeysAsHeaders: true,
173
+ filename: `${fileName ?? config.defaultFileName}-${formatDateToBrazilian(sessionDate, "dd_MM_yyyy")}`
174
+ });
175
+ const dataToExport = rowsToExport ?? table.getFilteredRowModel().rows.map((r)=>r.original);
176
+ const rowData = dataToExport.map((row)=>config.exportableFields.reduce((acc, path)=>{
177
+ const rawValue = getValueByPath(row, path);
178
+ const newKey = config.columnMapping[path] || path;
179
+ const formatter = config.fieldFormatters?.[path];
180
+ const formattedOrRawValue = formatter != null ? formatter(rawValue, row) : rawValue;
181
+ acc[newKey] = formattedOrRawValue == null ? "" : String(formattedOrRawValue);
182
+ return acc;
183
+ }, {}));
184
+ const csv = BW(csvConfig)(rowData);
185
+ LW(csvConfig)(csv);
186
+ }
187
+ return /*#__PURE__*/ React__default.createElement(Button, {
188
+ variant: "secondary",
189
+ size: "sm",
190
+ disabled: table?.getRowCount?.() === 0 || disabled,
191
+ onClick: ()=>action ? action() : handleExportData()
192
+ }, /*#__PURE__*/ React__default.createElement(Download, {
193
+ className: "size-4",
194
+ "aria-hidden": "true"
195
+ }), text);
196
+ };
197
+
198
+ function ExportButtons({ onExportExcel, onExportPdf, excelLabel = "Exportar para Excel", pdfLabel = "Exportar para PDF", buttonLabel = "Exportar", disabledButtons, disabledButtonExcel, disabledButtonPdf }) {
199
+ const [open, setOpen] = React__default.useState(false);
200
+ return /*#__PURE__*/ React__default.createElement(ButtonGroup, null, /*#__PURE__*/ React__default.createElement(DropdownMenu, {
201
+ open: open,
202
+ onOpenChange: setOpen
203
+ }, /*#__PURE__*/ React__default.createElement(DropdownMenuTrigger, {
204
+ disabled: disabledButtons,
205
+ asChild: true
206
+ }, /*#__PURE__*/ React__default.createElement(Button, {
207
+ variant: "secondary",
208
+ className: "flex items-center gap-2",
209
+ "aria-label": "Exportar opções",
210
+ disabled: disabledButtons
211
+ }, /*#__PURE__*/ React__default.createElement(Upload, {
212
+ className: "size-4",
213
+ "aria-hidden": "true"
214
+ }), buttonLabel, /*#__PURE__*/ React__default.createElement(ChevronDown, {
215
+ className: cn("size-4 transition-transform duration-200", open ? "rotate-180" : "rotate-0"),
216
+ "aria-hidden": "true"
217
+ }))), /*#__PURE__*/ React__default.createElement(DropdownMenuContent, {
218
+ className: "w-44"
219
+ }, onExportExcel && /*#__PURE__*/ React__default.createElement(DropdownMenuItem, {
220
+ onClick: onExportExcel,
221
+ disabled: disabledButtonExcel
222
+ }, excelLabel), onExportPdf && /*#__PURE__*/ React__default.createElement(DropdownMenuItem, {
223
+ onClick: onExportPdf,
224
+ disabled: disabledButtonPdf
225
+ }, pdfLabel))));
226
+ }
227
+
228
+ export { ButtonExportCsv as B, ExportButtons as E };
229
+ //# sourceMappingURL=ExportButtons-Ru0nKJJO.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExportButtons-Ru0nKJJO.mjs","sources":["../../node_modules/lucide-react/dist/esm/icons/download.js","../../node_modules/export-to-csv/output/index.js","../../src/components/default/export/ButtonExportCsv.tsx","../../src/components/default/export/ExportButtons.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: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\", key: \"ih7n3h\" }],\n [\"polyline\", { points: \"7 10 12 15 17 10\", key: \"2ggqvy\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"15\", y2: \"3\", key: \"1vk2je\" }]\n];\nconst Download = createLucideIcon(\"Download\", __iconNode);\n\nexport { __iconNode, Download as default };\n//# sourceMappingURL=download.js.map\n","var q;(function(x){x[\"csv\"]=\"text/csv\";x[\"tsv\"]=\"text/tab-separated-values\";x[\"plain\"]=\"text/plain\"})(q||(q={}));var X=(W)=>W,z=(W)=>W,Z=X,_=X,Y=X,N=X,V=X;var h={fieldSeparator:\",\",decimalSeparator:\".\",quoteStrings:!0,quoteCharacter:'\"',showTitle:!1,title:\"My Generated Report\",filename:\"generated\",showColumnHeaders:!0,useTextFile:!1,fileExtension:\"csv\",mediaType:q.csv,useBom:!0,columnHeaders:[],useKeysAsHeaders:!1,boolDisplay:{true:\"TRUE\",false:\"FALSE\"},replaceUndefinedWith:\"\"},F=\"\\r\\n\",R=\"\\uFEFF\",G=(W)=>Object.assign({},h,W);class K extends Error{constructor(W){super(W);this.name=\"CsvGenerationError\"}}class B extends Error{constructor(W){super(W);this.name=\"EmptyHeadersError\"}}class L extends Error{constructor(W){super(W);this.name=\"CsvDownloadEnvironmentError\"}}class P extends Error{constructor(W){super(W);this.name=\"UnsupportedDataFormatError\"}}var s=function(W,$){if($=='\"'&&W.indexOf('\"')>-1)return W.replace(/\"/g,'\"\"');return W},w=(W)=>typeof W===\"object\"?N(W.key):N(W),y=(W)=>typeof W===\"object\"?V(W.displayLabel):V(W),T=(W,...$)=>$.reduce((j,x)=>x(j),W),E=(W)=>($)=>W.useBom?_(z($)+R):$,M=(W)=>($)=>W.showTitle?S(_(z($)+W.title))(Y(\"\")):$,S=(W)=>($)=>_(z(W)+z($)+F),O=(W)=>($,j)=>l(W)(Y(z($)+z(j))),l=(W)=>($)=>X(z($)+W.fieldSeparator),b=(W,$)=>(j)=>{if(!W.showColumnHeaders)return j;if($.length<1)throw new B(\"Option to show headers but none supplied. Make sure there are keys in your collection or that you've supplied headers through the config options.\");let x=Y(\"\");for(let A=0;A<$.length;A++){const J=y($[A]);x=O(W)(x,v(W,z(J)))}return x=Y(z(x).slice(0,-1)),S(j)(x)},C=(W,$,j)=>(x)=>{let A=x;for(var J=0;J<j.length;J++){let I=Y(\"\");for(let U=0;U<$.length;U++){const H=w($[U]),D=j[J][z(H)];I=O(W)(I,v(W,D))}I=Y(z(I).slice(0,-1)),A=S(A)(I)}return A},k=z,m=(W)=>+W===W&&(!isFinite(W)||Boolean(W%1)),p=(W,$)=>{if(m($)){if(W.decimalSeparator===\"locale\")return Z($.toLocaleString());if(W.decimalSeparator)return Z($.toString().replace(\".\",W.decimalSeparator))}return Z($.toString())},Q=(W,$)=>{let j=$;if(W.quoteStrings||W.fieldSeparator&&$.indexOf(W.fieldSeparator)>-1||W.quoteCharacter&&$.indexOf(W.quoteCharacter)>-1||$.indexOf(\"\\n\")>-1||$.indexOf(\"\\r\")>-1)j=W.quoteCharacter+s($,W.quoteCharacter)+W.quoteCharacter;return Z(j)},g=(W,$)=>{const j=$?\"true\":\"false\";return Z(W.boolDisplay[j])},r=(W,$)=>{if(typeof $===\"undefined\"&&W.replaceUndefinedWith!==void 0)return Q(W,W.replaceUndefinedWith+\"\");if($===null)return Q(W,\"null\");return Q(W,\"\")},v=(W,$)=>{if(typeof $===\"number\")return p(W,$);if(typeof $===\"string\")return Q(W,$);if(typeof $===\"boolean\"&&W.boolDisplay)return g(W,$);if($===null||typeof $===\"undefined\")return r(W,$);throw new P(`\n typeof ${typeof $} isn't supported. Only number, string, boolean, null and undefined are supported.\n Please convert the data in your object to one of those before generating the CSV.\n `)};var BW=(W)=>($)=>{const j=G(W),x=j.useKeysAsHeaders?Object.keys($[0]):j.columnHeaders;let A=T(_(\"\"),E(j),M(j),b(j,x),C(j,x,$));if(z(A).length<1)throw new K(\"Output is empty. Is your data formatted correctly?\");return A},f=(W)=>($)=>{const j=G(W),x=z($),A=j.useTextFile?\"text/plain\":j.mediaType;return new Blob([x],{type:`${A};charset=utf8;`})},LW=(W)=>($)=>{if(!window)throw new L(\"Downloading only supported in a browser environment.\");const j=f(W)($),x=G(W),A=x.useTextFile?\"txt\":x.fileExtension,J=`${x.filename}.${A}`,I=document.createElement(\"a\");I.download=J,I.href=URL.createObjectURL(j),I.setAttribute(\"visibility\",\"hidden\"),document.body.appendChild(I),I.click(),document.body.removeChild(I)};export{G as mkConfig,BW as generateCsv,LW as download,k as asString,f as asBlob,q as MediaType};\n","import type { Table } from \"@tanstack/react-table\";\nimport { download, generateCsv, mkConfig } from \"export-to-csv\";\nimport { DownloadIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { Button } from \"@/components/ui/button\";\nimport type { ExportConfig } from \"@/types/export-config\";\nimport { formatDateToBrazilian } from \"@/utils/date\";\n\ninterface ButtonExportCsvProps<TData extends object> {\n\ttable: Table<TData>;\n\tdisabled?: boolean;\n\taction?: () => void;\n\tfileName?: string;\n\tconfig?: ExportConfig<TData>;\n\ttext?: string;\n\trowsToExport?: TData[];\n\tsessionDate?: Date;\n}\n\nfunction getValueByPath<T extends object>(obj: T, path: string): unknown {\n\t// biome-ignore lint/suspicious/noExplicitAny: <any>\n\treturn path.split(\".\").reduce((acc: any, key: string) => acc?.[key], obj);\n}\n\nexport const ButtonExportCsv = <TData extends object>({\n\ttable,\n\tdisabled,\n\taction,\n\tfileName,\n\tconfig,\n\ttext = \"Exportar\",\n\trowsToExport,\n\tsessionDate = new Date(),\n}: ButtonExportCsvProps<TData>): React.ReactElement => {\n\tfunction handleExportData() {\n\t\tif (!config) {\n\t\t\tconsole.warn(\"props de config não foi passada\");\n\t\t\treturn;\n\t\t}\n\n\t\tconst csvConfig = mkConfig({\n\t\t\tfieldSeparator: \";\",\n\t\t\tdecimalSeparator: \",\",\n\t\t\tuseKeysAsHeaders: true,\n\t\t\tfilename: `${fileName ?? config.defaultFileName}-${formatDateToBrazilian(\n\t\t\t\tsessionDate,\n\t\t\t\t\"dd_MM_yyyy\",\n\t\t\t)}`,\n\t\t});\n\n\t\tconst dataToExport = rowsToExport ?? table.getFilteredRowModel().rows.map((r) => r.original);\n\n\t\tconst rowData = dataToExport.map((row) =>\n\t\t\tconfig.exportableFields.reduce(\n\t\t\t\t(acc, path) => {\n\t\t\t\t\tconst rawValue = getValueByPath(row, path);\n\t\t\t\t\tconst newKey = config.columnMapping[path] || path;\n\t\t\t\t\tconst formatter = config.fieldFormatters?.[path];\n\t\t\t\t\tconst formattedOrRawValue = formatter != null ? formatter(rawValue, row) : rawValue;\n\n\t\t\t\t\tacc[newKey] = formattedOrRawValue == null ? \"\" : String(formattedOrRawValue);\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t{} as Record<string, string>,\n\t\t\t),\n\t\t);\n\n\t\tconst csv = generateCsv(csvConfig)(rowData);\n\t\tdownload(csvConfig)(csv);\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tvariant=\"secondary\"\n\t\t\tsize=\"sm\"\n\t\t\tdisabled={table?.getRowCount?.() === 0 || disabled}\n\t\t\tonClick={() => (action ? action() : handleExportData())}\n\t\t>\n\t\t\t<DownloadIcon className=\"size-4\" aria-hidden=\"true\" />\n\t\t\t{text}\n\t\t</Button>\n\t);\n};\n","import { ChevronDownIcon, UploadIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { Button } from \"@/components/ui/button\";\nimport { ButtonGroup } from \"@/components/ui/button-group\";\nimport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuItem,\n\tDropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\";\nimport { cn } from \"@/lib/utils\";\n\ninterface ExportButtonsProps {\n\tonExportExcel?: () => Promise<void> | void;\n\tonExportPdf?: () => Promise<void> | void;\n\texcelLabel?: string;\n\tpdfLabel?: string;\n\tbuttonLabel?: string;\n\tdisabledButtons?: boolean;\n\tdisabledButtonExcel?: boolean;\n\tdisabledButtonPdf?: boolean;\n}\n\nexport function ExportButtons({\n\tonExportExcel,\n\tonExportPdf,\n\texcelLabel = \"Exportar para Excel\",\n\tpdfLabel = \"Exportar para PDF\",\n\tbuttonLabel = \"Exportar\",\n\tdisabledButtons,\n\tdisabledButtonExcel,\n\tdisabledButtonPdf,\n}: ExportButtonsProps) {\n\tconst [open, setOpen] = React.useState(false);\n\n\treturn (\n\t\t<ButtonGroup>\n\t\t\t<DropdownMenu open={open} onOpenChange={setOpen}>\n\t\t\t\t<DropdownMenuTrigger disabled={disabledButtons} asChild>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tclassName=\"flex items-center gap-2\"\n\t\t\t\t\t\taria-label=\"Exportar opções\"\n\t\t\t\t\t\tdisabled={disabledButtons}\n\t\t\t\t\t>\n\t\t\t\t\t\t<UploadIcon className=\"size-4\" aria-hidden=\"true\" />\n\t\t\t\t\t\t{buttonLabel}\n\t\t\t\t\t\t<ChevronDownIcon\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\"size-4 transition-transform duration-200\",\n\t\t\t\t\t\t\t\topen ? \"rotate-180\" : \"rotate-0\",\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Button>\n\t\t\t\t</DropdownMenuTrigger>\n\n\t\t\t\t<DropdownMenuContent className=\"w-44\">\n\t\t\t\t\t{onExportExcel && (\n\t\t\t\t\t\t<DropdownMenuItem onClick={onExportExcel} disabled={disabledButtonExcel}>\n\t\t\t\t\t\t\t{excelLabel}\n\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t)}\n\t\t\t\t\t{onExportPdf && (\n\t\t\t\t\t\t<DropdownMenuItem onClick={onExportPdf} disabled={disabledButtonPdf}>\n\t\t\t\t\t\t\t{pdfLabel}\n\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t)}\n\t\t\t\t</DropdownMenuContent>\n\t\t\t</DropdownMenu>\n\t\t</ButtonGroup>\n\t);\n}\n"],"names":["q","x","X","W","z","Z","_","Y","N","V","h","fieldSeparator","decimalSeparator","quoteStrings","quoteCharacter","showTitle","title","filename","showColumnHeaders","useTextFile","fileExtension","mediaType","csv","useBom","columnHeaders","useKeysAsHeaders","boolDisplay","true","false","replaceUndefinedWith","F","R","G","Object","assign","K","Error","name","B","L","P","s","$","indexOf","replace","w","key","y","displayLabel","T","reduce","j","E","M","S","O","l","b","length","A","J","v","slice","C","I","U","H","D","m","isFinite","Boolean","p","toLocaleString","toString","Q","g","r","BW","keys","f","Blob","type","LW","window","document","createElement","download","href","URL","createObjectURL","setAttribute","body","appendChild","click","removeChild","getValueByPath","obj","path","split","acc","ButtonExportCsv","table","disabled","action","fileName","config","text","rowsToExport","sessionDate","Date","handleExportData","console","warn","csvConfig","mkConfig","defaultFileName","formatDateToBrazilian","dataToExport","getFilteredRowModel","rows","map","original","rowData","row","exportableFields","rawValue","newKey","columnMapping","formatter","fieldFormatters","formattedOrRawValue","String","generateCsv","React","Button","variant","size","getRowCount","onClick","DownloadIcon","className","aria-hidden","ExportButtons","onExportExcel","onExportPdf","excelLabel","pdfLabel","buttonLabel","disabledButtons","disabledButtonExcel","disabledButtonPdf","open","setOpen","useState","ButtonGroup","DropdownMenu","onOpenChange","DropdownMenuTrigger","asChild","aria-label","UploadIcon","ChevronDownIcon","cn","DropdownMenuContent","DropdownMenuItem"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -0,0 +1,41 @@
1
+ import React__default from 'react';
2
+ import { c as cn } from './utils-Dws4Ft8U.mjs';
3
+ import { T as Tabs, a as TabsList, b as TabsTrigger } from './tabs-C8FBxYmq.mjs';
4
+ import { S as ScrollArea, a as ScrollBar } from './scroll-area-D0gA5i73.mjs';
5
+
6
+ const GenericTabs = ({ tabs, isLoading = false, className, currentPath = "", onNavigate, value: controlledValue, triggerClassName, widthCurrent })=>{
7
+ const activeTab = controlledValue ?? tabs.filter((t)=>{
8
+ const matchString = t.match ?? t.path;
9
+ return matchString && currentPath.includes(matchString);
10
+ }).sort((a, b)=>{
11
+ const lenA = (a.match ?? a.path ?? "").length;
12
+ const lenB = (b.match ?? b.path ?? "").length;
13
+ return lenB - lenA;
14
+ })[0]?.value ?? tabs[0]?.value;
15
+ const handleNavigate = (tab)=>{
16
+ if (tab.disabled || isLoading) return;
17
+ if (onNavigate && tab.path) {
18
+ onNavigate(tab.path);
19
+ }
20
+ };
21
+ return /*#__PURE__*/ React__default.createElement(Tabs, {
22
+ value: activeTab,
23
+ className: className
24
+ }, /*#__PURE__*/ React__default.createElement(ScrollArea, {
25
+ className: "w-full"
26
+ }, /*#__PURE__*/ React__default.createElement(TabsList, {
27
+ className: "flex h-full w-full justify-start gap-2"
28
+ }, tabs.map((tab)=>/*#__PURE__*/ React__default.createElement(TabsTrigger, {
29
+ key: tab.value,
30
+ value: tab.value,
31
+ className: cn("min-w-fit sm:min-w-[180px] w-fit", triggerClassName, widthCurrent && "sm:min-w-fit", tab.className),
32
+ disabled: isLoading || tab.disabled,
33
+ onClick: ()=>handleNavigate(tab),
34
+ type: "button"
35
+ }, tab.label))), /*#__PURE__*/ React__default.createElement(ScrollBar, {
36
+ orientation: "horizontal"
37
+ })));
38
+ };
39
+
40
+ export { GenericTabs as G };
41
+ //# sourceMappingURL=GenericTabs-B42Kfv_U.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericTabs-B42Kfv_U.mjs","sources":["../../src/components/default/base/GenericTabs.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { ScrollArea, ScrollBar } from \"@/components/ui/scroll-area\";\nimport { Tabs, TabsList, TabsTrigger } from \"@/components/ui/tabs\";\nimport { cn } from \"@/lib/utils\";\n\nexport type TabConfig = {\n\tvalue: string;\n\tlabel: string;\n\tpath?: string;\n\tmatch?: string;\n\tdisabled?: boolean;\n\tclassName?: string;\n};\n\nexport interface GenericTabsProps {\n\t/**\n\t * Array of tab configurations.\n\t */\n\ttabs: TabConfig[];\n\t/**\n\t * Disables all tabs if true.\n\t */\n\tisLoading?: boolean;\n\t/**\n\t * Custom class name for the container.\n\t */\n\tclassName?: string;\n\t/**\n\t * Current path string used for matching active tab.\n\t * Pass browser URL or current router path here to enable auto-highlighting.\n\t * Makes the component compatible with any router (Next.js, React Router, etc).\n\t */\n\tcurrentPath?: string;\n\t/**\n\t * Callback handler for navigation.\n\t * Called with the tab's path when a tab is clicked.\n\t * Use this to trigger your router's navigation (e.g. router.push, navigate(), etc).\n\t */\n\tonNavigate?: (path: string) => void;\n\t/**\n\t * Optional override for active tab value.\n\t * If provided, the component acts as controlled for the active state display.\n\t */\n\tvalue?: string;\n\t/**\n\t * Custom class name for all tab triggers.\n\t */\n\ttriggerClassName?: string;\n\t/**\n\t * If true, sets the tab width to fit content on small screens (sm:min-w-fit),\n\t * overriding the default fixed width.\n\t */\n\twidthCurrent?: boolean;\n}\n\nexport const GenericTabs: React.FC<GenericTabsProps> = ({\n\ttabs,\n\tisLoading = false,\n\tclassName,\n\tcurrentPath = \"\",\n\tonNavigate,\n\tvalue: controlledValue,\n\ttriggerClassName,\n\twidthCurrent,\n}) => {\n\tconst activeTab =\n\t\tcontrolledValue ??\n\t\ttabs\n\t\t\t.filter((t) => {\n\t\t\t\tconst matchString = t.match ?? t.path;\n\t\t\t\treturn matchString && currentPath.includes(matchString);\n\t\t\t})\n\t\t\t.sort((a, b) => {\n\t\t\t\tconst lenA = (a.match ?? a.path ?? \"\").length;\n\t\t\t\tconst lenB = (b.match ?? b.path ?? \"\").length;\n\t\t\t\treturn lenB - lenA;\n\t\t\t})[0]?.value ??\n\t\ttabs[0]?.value;\n\n\tconst handleNavigate = (tab: TabConfig) => {\n\t\tif (tab.disabled || isLoading) return;\n\n\t\tif (onNavigate && tab.path) {\n\t\t\tonNavigate(tab.path);\n\t\t}\n\t};\n\n\treturn (\n\t\t<Tabs value={activeTab} className={className}>\n\t\t\t<ScrollArea className=\"w-full\">\n\t\t\t\t<TabsList className=\"flex h-full w-full justify-start gap-2\">\n\t\t\t\t\t{tabs.map((tab) => (\n\t\t\t\t\t\t<TabsTrigger\n\t\t\t\t\t\t\tkey={tab.value}\n\t\t\t\t\t\t\tvalue={tab.value}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\"min-w-fit sm:min-w-[180px] w-fit\",\n\t\t\t\t\t\t\t\ttriggerClassName,\n\t\t\t\t\t\t\t\twidthCurrent && \"sm:min-w-fit\",\n\t\t\t\t\t\t\t\ttab.className,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tdisabled={isLoading || tab.disabled}\n\t\t\t\t\t\t\tonClick={() => handleNavigate(tab)}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{tab.label}\n\t\t\t\t\t\t</TabsTrigger>\n\t\t\t\t\t))}\n\t\t\t\t</TabsList>\n\t\t\t\t<ScrollBar orientation=\"horizontal\" />\n\t\t\t</ScrollArea>\n\t\t</Tabs>\n\t);\n};\n"],"names":["GenericTabs","tabs","isLoading","className","currentPath","onNavigate","value","controlledValue","triggerClassName","widthCurrent","activeTab","filter","t","matchString","match","path","includes","sort","a","b","lenA","length","lenB","handleNavigate","tab","disabled","React","Tabs","ScrollArea","TabsList","map","TabsTrigger","key","cn","onClick","type","label","ScrollBar","orientation"],"mappings":";;;;;AAyDO,MAAMA,cAA0C,CAAC,EACvDC,IAAI,EACJC,SAAAA,GAAY,KAAK,EACjBC,SAAS,EACTC,cAAc,EAAE,EAChBC,UAAU,EACVC,KAAAA,EAAOC,eAAe,EACtBC,gBAAgB,EAChBC,YAAY,EACZ,GAAA;AACA,IAAA,MAAMC,SAAAA,GACLH,eAAAA,IACAN,IAAAA,CACEU,MAAM,CAAC,CAACC,CAAAA,GAAAA;AACR,QAAA,MAAMC,WAAAA,GAAcD,CAAAA,CAAEE,KAAK,IAAIF,EAAEG,IAAI;QACrC,OAAOF,WAAAA,IAAeT,WAAAA,CAAYY,QAAQ,CAACH,WAAAA,CAAAA;IAC5C,CAAA,CAAA,CACCI,IAAI,CAAC,CAACC,CAAAA,EAAGC,CAAAA,GAAAA;QACT,MAAMC,IAAAA,GAAO,CAACF,CAAAA,CAAEJ,KAAK,IAAII,CAAAA,CAAEH,IAAI,IAAI,EAAC,EAAGM,MAAM;QAC7C,MAAMC,IAAAA,GAAO,CAACH,CAAAA,CAAEL,KAAK,IAAIK,CAAAA,CAAEJ,IAAI,IAAI,EAAC,EAAGM,MAAM;AAC7C,QAAA,OAAOC,IAAAA,GAAOF,IAAAA;AACf,IAAA,CAAA,CAAE,CAAC,CAAA,CAAE,EAAEd,SACRL,IAAI,CAAC,EAAE,EAAEK,KAAAA;AAEV,IAAA,MAAMiB,iBAAiB,CAACC,GAAAA,GAAAA;QACvB,IAAIA,GAAAA,CAAIC,QAAQ,IAAIvB,SAAAA,EAAW;QAE/B,IAAIG,UAAAA,IAAcmB,GAAAA,CAAIT,IAAI,EAAE;AAC3BV,YAAAA,UAAAA,CAAWmB,IAAIT,IAAI,CAAA;AACpB,QAAA;AACD,IAAA,CAAA;AAEA,IAAA,qBACCW,cAAA,CAAA,aAAA,CAACC,IAAAA,EAAAA;QAAKrB,KAAAA,EAAOI,SAAAA;QAAWP,SAAAA,EAAWA;qBAClCuB,cAAA,CAAA,aAAA,CAACE,UAAAA,EAAAA;QAAWzB,SAAAA,EAAU;qBACrBuB,cAAA,CAAA,aAAA,CAACG,QAAAA,EAAAA;QAAS1B,SAAAA,EAAU;AAClBF,KAAAA,EAAAA,IAAAA,CAAK6B,GAAG,CAAC,CAACN,GAAAA,iBACVE,cAAA,CAAA,aAAA,CAACK,WAAAA,EAAAA;AACAC,YAAAA,GAAAA,EAAKR,IAAIlB,KAAK;AACdA,YAAAA,KAAAA,EAAOkB,IAAIlB,KAAK;AAChBH,YAAAA,SAAAA,EAAW8B,GACV,kCAAA,EACAzB,gBAAAA,EACAC,YAAAA,IAAgB,cAAA,EAChBe,IAAIrB,SAAS,CAAA;YAEdsB,QAAAA,EAAUvB,SAAAA,IAAasB,IAAIC,QAAQ;AACnCS,YAAAA,OAAAA,EAAS,IAAMX,cAAAA,CAAeC,GAAAA,CAAAA;YAC9BW,IAAAA,EAAK;WAEJX,GAAAA,CAAIY,KAAK,mBAIbV,cAAA,CAAA,aAAA,CAACW,SAAAA,EAAAA;QAAUC,WAAAA,EAAY;;AAI3B;;;;"}