ivt 0.7.0 → 0.7.2

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 (245) hide show
  1. package/dist/accordion/index.mjs +15 -15
  2. package/dist/accordion-table/index.mjs +27 -27
  3. package/dist/alert/index.mjs +5 -44
  4. package/dist/alert/index.mjs.map +1 -1
  5. package/dist/alert-dialog/index.mjs +17 -17
  6. package/dist/aspect-ratio/index.mjs +1 -1
  7. package/dist/auto-complete-multi-select/index.mjs +33 -33
  8. package/dist/avatar/index.mjs +7 -7
  9. package/dist/badge/index.d.ts +1 -1
  10. package/dist/badge/index.mjs +3 -3
  11. package/dist/base/index.d.ts +121 -2
  12. package/dist/base/index.mjs +240 -51
  13. package/dist/base/index.mjs.map +1 -1
  14. package/dist/breadcrumb/index.mjs +5 -5
  15. package/dist/button/index.d.ts +1 -1
  16. package/dist/button/index.mjs +3 -3
  17. package/dist/button-group/index.mjs +4 -4
  18. package/dist/calendar/index.mjs +9 -9
  19. package/dist/card/index.mjs +3 -3
  20. package/dist/carousel/index.mjs +4 -4
  21. package/dist/chart/index.mjs +4 -4
  22. package/dist/checkbox/index.mjs +14 -14
  23. package/dist/chunks/{CalendarRange-BA-db50F.mjs → CalendarRange-k63hDccF.mjs} +8 -8
  24. package/dist/chunks/{CalendarRange-BA-db50F.mjs.map → CalendarRange-k63hDccF.mjs.map} +1 -1
  25. package/dist/chunks/{ComboboxField-BtmBUUUa.mjs → ComboboxField-5Glf1Ozh.mjs} +9 -9
  26. package/dist/chunks/{ComboboxField-BtmBUUUa.mjs.map → ComboboxField-5Glf1Ozh.mjs.map} +1 -1
  27. package/dist/chunks/{Container-435PicTP.mjs → Container-Cv6NG9kb.mjs} +2 -2
  28. package/dist/chunks/{Container-435PicTP.mjs.map → Container-Cv6NG9kb.mjs.map} +1 -1
  29. package/dist/chunks/{DeleteConfirmationModal-B9Ahb3Mu.mjs → DeleteConfirmationModal-DRseBzq7.mjs} +4 -4
  30. package/dist/chunks/{DeleteConfirmationModal-B9Ahb3Mu.mjs.map → DeleteConfirmationModal-DRseBzq7.mjs.map} +1 -1
  31. package/dist/chunks/{ListItem-CwSloNFZ.mjs → ListItem-eGWDX0GP.mjs} +4 -4
  32. package/dist/chunks/{ListItem-CwSloNFZ.mjs.map → ListItem-eGWDX0GP.mjs.map} +1 -1
  33. package/dist/chunks/{TooltipIndicator-UUTwNh5Y.mjs → TooltipIndicator-BjtHYQzo.mjs} +5 -5
  34. package/dist/chunks/{TooltipIndicator-UUTwNh5Y.mjs.map → TooltipIndicator-BjtHYQzo.mjs.map} +1 -1
  35. package/dist/chunks/{_commonjsHelpers-BMx1TIzK.mjs → _commonjsHelpers-D3vrMN3C.mjs} +1 -1
  36. package/dist/chunks/_commonjsHelpers-D3vrMN3C.mjs.map +1 -0
  37. package/dist/chunks/{accordion-s3aERwYW.mjs → accordion-BsbSmZP2.mjs} +11 -11
  38. package/dist/chunks/{accordion-s3aERwYW.mjs.map → accordion-BsbSmZP2.mjs.map} +1 -1
  39. package/dist/chunks/alert-Cw-E3eta.mjs +44 -0
  40. package/dist/chunks/alert-Cw-E3eta.mjs.map +1 -0
  41. package/dist/chunks/{badge-CSKBGHyC.mjs → badge-DTn1AQbT.mjs} +2 -2
  42. package/dist/chunks/{badge-CSKBGHyC.mjs.map → badge-DTn1AQbT.mjs.map} +1 -1
  43. package/dist/chunks/{bundle-mjs-DsNiaMJS.mjs → bundle-mjs-Lvc-Dri9.mjs} +1 -1
  44. package/dist/chunks/{bundle-mjs-DsNiaMJS.mjs.map → bundle-mjs-Lvc-Dri9.mjs.map} +1 -1
  45. package/dist/chunks/{button-DW1YQJSf.mjs → button-Cve1c7GQ.mjs} +2 -2
  46. package/dist/chunks/{button-DW1YQJSf.mjs.map → button-Cve1c7GQ.mjs.map} +1 -1
  47. package/dist/chunks/{calendar-DrMz_17c.mjs → calendar-BTfcQ69r.mjs} +7 -7
  48. package/dist/chunks/{calendar-DrMz_17c.mjs.map → calendar-BTfcQ69r.mjs.map} +1 -1
  49. package/dist/chunks/{calendar-days-kzxw9us-.mjs → calendar-days-D95Vh8Id.mjs} +2 -2
  50. package/dist/chunks/{calendar-days-kzxw9us-.mjs.map → calendar-days-D95Vh8Id.mjs.map} +1 -1
  51. package/dist/chunks/{card-B_pDGP_4.mjs → card-BCce9vjU.mjs} +2 -2
  52. package/dist/chunks/{card-B_pDGP_4.mjs.map → card-BCce9vjU.mjs.map} +1 -1
  53. package/dist/chunks/{check-Dc1DpMhB.mjs → check-F6R3Zyjv.mjs} +2 -2
  54. package/dist/chunks/{check-Dc1DpMhB.mjs.map → check-F6R3Zyjv.mjs.map} +1 -1
  55. package/dist/chunks/{checkbox-BaYmfSmN.mjs → checkbox-BONbXOR8.mjs} +11 -11
  56. package/dist/chunks/{checkbox-BaYmfSmN.mjs.map → checkbox-BONbXOR8.mjs.map} +1 -1
  57. package/dist/chunks/{chevron-down-BfdFfN5b.mjs → chevron-down-CAAkkaxH.mjs} +2 -2
  58. package/dist/chunks/{chevron-down-BfdFfN5b.mjs.map → chevron-down-CAAkkaxH.mjs.map} +1 -1
  59. package/dist/chunks/{chevron-left-BBpi9Tuc.mjs → chevron-left-D9H1SFsq.mjs} +2 -2
  60. package/dist/chunks/{chevron-left-BBpi9Tuc.mjs.map → chevron-left-D9H1SFsq.mjs.map} +1 -1
  61. package/dist/chunks/{chevron-right-gwqv7hdT.mjs → chevron-right-BBzqWfgU.mjs} +2 -2
  62. package/dist/chunks/{chevron-right-gwqv7hdT.mjs.map → chevron-right-BBzqWfgU.mjs.map} +1 -1
  63. package/dist/chunks/{chevrons-up-down-Dg5q5QQ6.mjs → chevrons-up-down-qNyleCLF.mjs} +2 -2
  64. package/dist/chunks/{chevrons-up-down-Dg5q5QQ6.mjs.map → chevrons-up-down-qNyleCLF.mjs.map} +1 -1
  65. package/dist/chunks/{command-CyjrKgCk.mjs → command-IbA1nxIb.mjs} +8 -8
  66. package/dist/chunks/{command-CyjrKgCk.mjs.map → command-IbA1nxIb.mjs.map} +1 -1
  67. package/dist/chunks/{createLucideIcon-DfHHy_fF.mjs → createLucideIcon-0uwxvfEG.mjs} +1 -1
  68. package/dist/chunks/{createLucideIcon-DfHHy_fF.mjs.map → createLucideIcon-0uwxvfEG.mjs.map} +1 -1
  69. package/dist/chunks/{date-DBD540pc.mjs → date-BBTPAd8S.mjs} +2 -2
  70. package/dist/chunks/{date-DBD540pc.mjs.map → date-BBTPAd8S.mjs.map} +1 -1
  71. package/dist/chunks/{dialog-DdfabDy3.mjs → dialog-B2DUrpTa.mjs} +4 -4
  72. package/dist/chunks/{dialog-DdfabDy3.mjs.map → dialog-B2DUrpTa.mjs.map} +1 -1
  73. package/dist/chunks/{ellipsis-Bc1Luije.mjs → ellipsis-DvX337aw.mjs} +2 -2
  74. package/dist/chunks/{ellipsis-Bc1Luije.mjs.map → ellipsis-DvX337aw.mjs.map} +1 -1
  75. package/dist/chunks/{form-DGcmwo-6.mjs → form-CChLO9RR.mjs} +3 -3
  76. package/dist/chunks/{form-DGcmwo-6.mjs.map → form-CChLO9RR.mjs.map} +1 -1
  77. package/dist/chunks/{format-DfGa0nsw.mjs → format-4Jz4C5tC.mjs} +1 -1
  78. package/dist/chunks/{format-DfGa0nsw.mjs.map → format-4Jz4C5tC.mjs.map} +1 -1
  79. package/dist/chunks/{format-numbers-Cdm34ghV.mjs → format-numbers-BhgU0ZHz.mjs} +1 -1
  80. package/dist/chunks/{format-numbers-Cdm34ghV.mjs.map → format-numbers-BhgU0ZHz.mjs.map} +1 -1
  81. package/dist/chunks/{hover-card-DA5OKIru.mjs → hover-card-DX4d068Z.mjs} +11 -11
  82. package/dist/chunks/{hover-card-DA5OKIru.mjs.map → hover-card-DX4d068Z.mjs.map} +1 -1
  83. package/dist/chunks/{index-0SCeyzsK.mjs → index-6TVIC1_R.mjs} +2 -2
  84. package/dist/chunks/{index-0SCeyzsK.mjs.map → index-6TVIC1_R.mjs.map} +1 -1
  85. package/dist/chunks/{index-CwcOLnJm.mjs → index-BSGOnYAL.mjs} +1 -1
  86. package/dist/chunks/{index-CwcOLnJm.mjs.map → index-BSGOnYAL.mjs.map} +1 -1
  87. package/dist/chunks/{index-DhxU0LEQ.mjs → index-BeWMIyGj.mjs} +1 -1
  88. package/dist/chunks/{index-DhxU0LEQ.mjs.map → index-BeWMIyGj.mjs.map} +1 -1
  89. package/dist/chunks/{index-B50gul4j.mjs → index-Bewwph0a.mjs} +1 -1
  90. package/dist/chunks/{index-B50gul4j.mjs.map → index-Bewwph0a.mjs.map} +1 -1
  91. package/dist/chunks/{index-BnADUzzc.mjs → index-BrfogwJw.mjs} +1 -1
  92. package/dist/chunks/{index-BnADUzzc.mjs.map → index-BrfogwJw.mjs.map} +1 -1
  93. package/dist/chunks/{index-DsZMIujt.mjs → index-Bx0xXTid.mjs} +11 -11
  94. package/dist/chunks/{index-DsZMIujt.mjs.map → index-Bx0xXTid.mjs.map} +1 -1
  95. package/dist/chunks/{index-D43aEpzt.mjs → index-CO3WOWY2.mjs} +9 -9
  96. package/dist/chunks/{index-D43aEpzt.mjs.map → index-CO3WOWY2.mjs.map} +1 -1
  97. package/dist/chunks/{index-mk_bVkL9.mjs → index-CWI00LgK.mjs} +2 -2
  98. package/dist/chunks/{index-mk_bVkL9.mjs.map → index-CWI00LgK.mjs.map} +1 -1
  99. package/dist/chunks/{index-D7dCxTP2.mjs → index-CYpZ8qGv.mjs} +5 -5
  100. package/dist/chunks/{index-D7dCxTP2.mjs.map → index-CYpZ8qGv.mjs.map} +1 -1
  101. package/dist/chunks/{index-BZhmkMVZ.mjs → index-Ch8cepWA.mjs} +3 -3
  102. package/dist/chunks/{index-BZhmkMVZ.mjs.map → index-Ch8cepWA.mjs.map} +1 -1
  103. package/dist/chunks/{index-CPtkkz-Y.mjs → index-CkRZ2gKz.mjs} +1 -1
  104. package/dist/chunks/{index-CPtkkz-Y.mjs.map → index-CkRZ2gKz.mjs.map} +1 -1
  105. package/dist/chunks/{index-DKrv9iMY.mjs → index-CrXpydfv.mjs} +1 -1
  106. package/dist/chunks/{index-DKrv9iMY.mjs.map → index-CrXpydfv.mjs.map} +1 -1
  107. package/dist/chunks/{index-CllA0jgd.mjs → index-D2G_PixC.mjs} +1 -1
  108. package/dist/chunks/{index-CllA0jgd.mjs.map → index-D2G_PixC.mjs.map} +1 -1
  109. package/dist/chunks/{index-CbAYX6tE.mjs → index-D5BJ_0bf.mjs} +1 -1
  110. package/dist/chunks/{index-CbAYX6tE.mjs.map → index-D5BJ_0bf.mjs.map} +1 -1
  111. package/dist/chunks/{index-CtGzvqE-.mjs → index-DCv7HM9c.mjs} +9 -9
  112. package/dist/chunks/{index-CtGzvqE-.mjs.map → index-DCv7HM9c.mjs.map} +1 -1
  113. package/dist/chunks/{index-X3UvAhoa.mjs → index-DR3ok_zE.mjs} +7 -7
  114. package/dist/chunks/{index-X3UvAhoa.mjs.map → index-DR3ok_zE.mjs.map} +1 -1
  115. package/dist/chunks/{index-aPZimpBX.mjs → index-DpW61g8q.mjs} +1 -1
  116. package/dist/chunks/{index-aPZimpBX.mjs.map → index-DpW61g8q.mjs.map} +1 -1
  117. package/dist/chunks/{index-BOVs_g4Q.mjs → index-Dw0VFoXM.mjs} +5 -5
  118. package/dist/chunks/{index-BOVs_g4Q.mjs.map → index-Dw0VFoXM.mjs.map} +1 -1
  119. package/dist/chunks/{index-QBr28_3u.mjs → index-F1Vay3hL.mjs} +2 -2
  120. package/dist/chunks/{index-QBr28_3u.mjs.map → index-F1Vay3hL.mjs.map} +1 -1
  121. package/dist/chunks/{index-DDclWz5f.mjs → index-YaCKvBnb.mjs} +1 -1
  122. package/dist/chunks/{index-DDclWz5f.mjs.map → index-YaCKvBnb.mjs.map} +1 -1
  123. package/dist/chunks/{index-So-nn3e7.mjs → index-cxmuS08t.mjs} +3 -3
  124. package/dist/chunks/{index-So-nn3e7.mjs.map → index-cxmuS08t.mjs.map} +1 -1
  125. package/dist/chunks/{index-DQBXf0Nn.mjs → index-na6H-GCB.mjs} +15 -15
  126. package/dist/chunks/{index-DQBXf0Nn.mjs.map → index-na6H-GCB.mjs.map} +1 -1
  127. package/dist/chunks/{index-6uBK1TEk.mjs → index-utzX5BKz.mjs} +2 -2
  128. package/dist/chunks/{index-6uBK1TEk.mjs.map → index-utzX5BKz.mjs.map} +1 -1
  129. package/dist/chunks/{index.module-B3k6LHMC.mjs → index.module-DOV7zOvH.mjs} +1 -1
  130. package/dist/chunks/{index.module-B3k6LHMC.mjs.map → index.module-DOV7zOvH.mjs.map} +1 -1
  131. package/dist/chunks/{input-DyG0N-65.mjs → input-DA9gkhwB.mjs} +2 -2
  132. package/dist/chunks/{input-DyG0N-65.mjs.map → input-DA9gkhwB.mjs.map} +1 -1
  133. package/dist/chunks/{label-C5b7EsNj.mjs → label-BgC413_9.mjs} +3 -3
  134. package/dist/chunks/{label-C5b7EsNj.mjs.map → label-BgC413_9.mjs.map} +1 -1
  135. package/dist/chunks/{loader-circle-BrgkMgEj.mjs → loader-circle-CmQoMw39.mjs} +2 -2
  136. package/dist/chunks/{loader-circle-BrgkMgEj.mjs.map → loader-circle-CmQoMw39.mjs.map} +1 -1
  137. package/dist/chunks/{menubar-DiHLFmad.mjs → menubar-DU7jMSAY.mjs} +13 -13
  138. package/dist/chunks/{menubar-DiHLFmad.mjs.map → menubar-DU7jMSAY.mjs.map} +1 -1
  139. package/dist/chunks/{multi-select-CfMr2pov.mjs → multi-select-QKfLMC0m.mjs} +13 -13
  140. package/dist/chunks/{multi-select-CfMr2pov.mjs.map → multi-select-QKfLMC0m.mjs.map} +1 -1
  141. package/dist/chunks/{pagination-Cu57jNb0.mjs → pagination-zyJ5vFmL.mjs} +6 -6
  142. package/dist/chunks/{pagination-Cu57jNb0.mjs.map → pagination-zyJ5vFmL.mjs.map} +1 -1
  143. package/dist/chunks/{popover-CpjZYtpI.mjs → popover-RcJ808cy.mjs} +13 -13
  144. package/dist/chunks/{popover-CpjZYtpI.mjs.map → popover-RcJ808cy.mjs.map} +1 -1
  145. package/dist/chunks/{progress-Dgf1ABrX.mjs → progress-BcHalZVV.mjs} +4 -4
  146. package/dist/chunks/{progress-Dgf1ABrX.mjs.map → progress-BcHalZVV.mjs.map} +1 -1
  147. package/dist/chunks/{react-number-format.es-pRV7N_mS.mjs → react-number-format.es-CyaQTuwn.mjs} +1 -1
  148. package/dist/chunks/{react-number-format.es-pRV7N_mS.mjs.map → react-number-format.es-CyaQTuwn.mjs.map} +1 -1
  149. package/dist/chunks/{scroll-area-spod4_Wh.mjs → scroll-area-DUSbQJic.mjs} +11 -11
  150. package/dist/chunks/{scroll-area-spod4_Wh.mjs.map → scroll-area-DUSbQJic.mjs.map} +1 -1
  151. package/dist/chunks/{select-CBh20D2n.mjs → select-DqpIJliN.mjs} +5 -5
  152. package/dist/chunks/{select-CBh20D2n.mjs.map → select-DqpIJliN.mjs.map} +1 -1
  153. package/dist/chunks/{separator-B1xNjDsr.mjs → separator-h4204yqZ.mjs} +3 -3
  154. package/dist/chunks/{separator-B1xNjDsr.mjs.map → separator-h4204yqZ.mjs.map} +1 -1
  155. package/dist/chunks/{sheet-RT3yw-5P.mjs → sheet-ChrvUpAV.mjs} +4 -4
  156. package/dist/chunks/{sheet-RT3yw-5P.mjs.map → sheet-ChrvUpAV.mjs.map} +1 -1
  157. package/dist/chunks/{skeleton-gQmBTQmq.mjs → skeleton-DYRcDQga.mjs} +2 -2
  158. package/dist/chunks/{skeleton-gQmBTQmq.mjs.map → skeleton-DYRcDQga.mjs.map} +1 -1
  159. package/dist/chunks/{sortable-DHhSfpHS.mjs → sortable-B9EKkKQQ.mjs} +3 -3
  160. package/dist/chunks/{sortable-DHhSfpHS.mjs.map → sortable-B9EKkKQQ.mjs.map} +1 -1
  161. package/dist/chunks/{table-DnJSdOoO.mjs → table-Bf_4RiC6.mjs} +2 -2
  162. package/dist/chunks/{table-DnJSdOoO.mjs.map → table-Bf_4RiC6.mjs.map} +1 -1
  163. package/dist/chunks/tabs-BH56W9Uk.mjs +187 -0
  164. package/dist/chunks/tabs-BH56W9Uk.mjs.map +1 -0
  165. package/dist/chunks/{textarea-BODhTsCw.mjs → textarea-D1VTvn_8.mjs} +2 -2
  166. package/dist/chunks/{textarea-BODhTsCw.mjs.map → textarea-D1VTvn_8.mjs.map} +1 -1
  167. package/dist/chunks/{toggle-DwAXXdM8.mjs → toggle-DPn3fWo1.mjs} +5 -5
  168. package/dist/chunks/{toggle-DwAXXdM8.mjs.map → toggle-DPn3fWo1.mjs.map} +1 -1
  169. package/dist/chunks/{tooltip-C8PymYjC.mjs → tooltip-DL6xVJHi.mjs} +13 -13
  170. package/dist/chunks/{tooltip-C8PymYjC.mjs.map → tooltip-DL6xVJHi.mjs.map} +1 -1
  171. package/dist/chunks/{trash-2-DHnJ2JOw.mjs → trash-2-B6-kuqxf.mjs} +2 -2
  172. package/dist/chunks/{trash-2-DHnJ2JOw.mjs.map → trash-2-B6-kuqxf.mjs.map} +1 -1
  173. package/dist/chunks/{triangle-alert-K46ws0FW.mjs → triangle-alert-Gr8soT6b.mjs} +2 -2
  174. package/dist/chunks/{triangle-alert-K46ws0FW.mjs.map → triangle-alert-Gr8soT6b.mjs.map} +1 -1
  175. package/dist/chunks/{tslib.es6-CjQCvxqN.mjs → tslib.es6-Bf7t9JE-.mjs} +1 -1
  176. package/dist/chunks/{tslib.es6-CjQCvxqN.mjs.map → tslib.es6-Bf7t9JE-.mjs.map} +1 -1
  177. package/dist/chunks/{utils-CZzyeare.mjs → utils-BOlqGJrg.mjs} +2 -2
  178. package/dist/chunks/{utils-CZzyeare.mjs.map → utils-BOlqGJrg.mjs.map} +1 -1
  179. package/dist/chunks/{wand-sparkles-BJ4B_5uo.mjs → wand-sparkles-BOLdCXYe.mjs} +2 -2
  180. package/dist/chunks/{wand-sparkles-BJ4B_5uo.mjs.map → wand-sparkles-BOLdCXYe.mjs.map} +1 -1
  181. package/dist/chunks/{x-4VGfZ2jd.mjs → x-DWHixXf6.mjs} +2 -2
  182. package/dist/chunks/{x-4VGfZ2jd.mjs.map → x-DWHixXf6.mjs.map} +1 -1
  183. package/dist/collapsible/index.mjs +9 -9
  184. package/dist/combobox/index.d.ts +5 -1
  185. package/dist/combobox/index.mjs +29 -27
  186. package/dist/combobox/index.mjs.map +1 -1
  187. package/dist/command/index.mjs +20 -20
  188. package/dist/context-menu/index.mjs +23 -23
  189. package/dist/dash/index.mjs +25 -25
  190. package/dist/data-table/index.mjs +35 -35
  191. package/dist/date-picker/index.mjs +27 -27
  192. package/dist/dialog/index.mjs +19 -19
  193. package/dist/drawer/index.mjs +16 -16
  194. package/dist/dropdown-menu/index.mjs +23 -23
  195. package/dist/dropzone/index.mjs +19 -19
  196. package/dist/editable-table/index.mjs +20 -20
  197. package/dist/empty/index.mjs +2 -2
  198. package/dist/field/index.mjs +5 -5
  199. package/dist/form/index.mjs +5 -5
  200. package/dist/form-fields/index.mjs +28 -28
  201. package/dist/hover-card/index.mjs +15 -15
  202. package/dist/icon/index.mjs +1 -1
  203. package/dist/index.css +1 -1
  204. package/dist/input/index.mjs +3 -3
  205. package/dist/input-group/index.mjs +5 -5
  206. package/dist/input-otp/index.mjs +3 -3
  207. package/dist/item/index.mjs +4 -4
  208. package/dist/ivt.css +1 -1
  209. package/dist/kbd/index.mjs +2 -2
  210. package/dist/label/index.mjs +4 -4
  211. package/dist/layout/index.mjs +23 -23
  212. package/dist/menubar/index.mjs +24 -24
  213. package/dist/multi-input-list/index.d.ts +8 -0
  214. package/dist/multi-input-list/index.mjs +185 -75
  215. package/dist/multi-input-list/index.mjs.map +1 -1
  216. package/dist/multi-select/index.mjs +33 -33
  217. package/dist/navigation-menu/index.mjs +17 -17
  218. package/dist/pagination/index.mjs +8 -8
  219. package/dist/popover/index.mjs +18 -18
  220. package/dist/progress/index.mjs +5 -5
  221. package/dist/radio-group/index.mjs +17 -17
  222. package/dist/resizable/index.mjs +3 -3
  223. package/dist/scroll-area/index.mjs +12 -12
  224. package/dist/select/index.mjs +6 -6
  225. package/dist/separator/index.mjs +4 -4
  226. package/dist/shared/index.mjs +5 -5
  227. package/dist/sheet/index.mjs +19 -19
  228. package/dist/sidebar/index.mjs +27 -27
  229. package/dist/skeleton/index.mjs +3 -3
  230. package/dist/skeleton-component/index.mjs +4 -4
  231. package/dist/slider/index.mjs +12 -12
  232. package/dist/sortable/index.mjs +4 -4
  233. package/dist/spinner/index.mjs +4 -4
  234. package/dist/switch/index.mjs +10 -10
  235. package/dist/table/index.mjs +3 -3
  236. package/dist/table-filter/index.mjs +53 -53
  237. package/dist/tabs/index.mjs +16 -190
  238. package/dist/tabs/index.mjs.map +1 -1
  239. package/dist/textarea/index.mjs +3 -3
  240. package/dist/toast/index.mjs +15 -15
  241. package/dist/toggle/index.mjs +7 -7
  242. package/dist/toggle-group/index.mjs +13 -13
  243. package/dist/tooltip/index.mjs +17 -17
  244. package/package.json +470 -470
  245. package/dist/chunks/_commonjsHelpers-BMx1TIzK.mjs.map +0 -1
@@ -1,59 +1,65 @@
1
1
  import React__default from 'react';
2
- import { c } from '../chunks/index.module-B3k6LHMC.mjs';
3
- import { c as cn } from '../chunks/utils-CZzyeare.mjs';
4
- import { P as Popover, a as PopoverTrigger, b as PopoverContent } from '../chunks/popover-CpjZYtpI.mjs';
5
- import { B as Button } from '../chunks/button-DW1YQJSf.mjs';
6
- import { C as ChevronsUpDown } from '../chunks/chevrons-up-down-Dg5q5QQ6.mjs';
7
- import { C as Command, b as CommandInput, d as CommandEmpty, c as CommandList, e as CommandGroup, f as CommandItem } from '../chunks/command-CyjrKgCk.mjs';
8
- import { C as Check } from '../chunks/check-Dc1DpMhB.mjs';
9
- import { B as Badge } from '../chunks/badge-CSKBGHyC.mjs';
10
- import { c as TooltipProvider, T as Tooltip, a as TooltipTrigger, b as TooltipContent } from '../chunks/tooltip-C8PymYjC.mjs';
11
- import { t as tryParseDate, p as ptBR } from '../chunks/date-DBD540pc.mjs';
12
- import { L as LoaderCircle } from '../chunks/loader-circle-BrgkMgEj.mjs';
13
- import { C as CalendarDays } from '../chunks/calendar-days-kzxw9us-.mjs';
14
- import { C as Calendar } from '../chunks/calendar-DrMz_17c.mjs';
15
- import { t as toDate, f as format } from '../chunks/format-DfGa0nsw.mjs';
16
- export { C as CalendarRange } from '../chunks/CalendarRange-BA-db50F.mjs';
17
- import { D as Dialog, i as DialogTrigger, b as DialogContent, e as DialogHeader, h as DialogTitle, c as DialogDescription, d as DialogFooter } from '../chunks/dialog-DdfabDy3.mjs';
18
- import { L as ListItem } from '../chunks/ListItem-CwSloNFZ.mjs';
19
- export { D as DeleteConfirmationModal } from '../chunks/DeleteConfirmationModal-B9Ahb3Mu.mjs';
20
- import { M as Menubar, b as MenubarMenu, c as MenubarTrigger, d as MenubarContent, h as MenubarItem } from '../chunks/menubar-DiHLFmad.mjs';
21
- import { A as Accordion, a as AccordionItem, b as AccordionTrigger, c as AccordionContent } from '../chunks/accordion-s3aERwYW.mjs';
22
- import { t as twMerge } from '../chunks/bundle-mjs-DsNiaMJS.mjs';
23
- import { H as HoverCard, a as HoverCardTrigger, b as HoverCardContent } from '../chunks/hover-card-DA5OKIru.mjs';
24
- export { T as TooltipIndicator } from '../chunks/TooltipIndicator-UUTwNh5Y.mjs';
25
- import '../chunks/index-DhxU0LEQ.mjs';
26
- import '../chunks/index-CbAYX6tE.mjs';
27
- import '../chunks/index-DDclWz5f.mjs';
2
+ import { c } from '../chunks/index.module-DOV7zOvH.mjs';
3
+ import { c as cn } from '../chunks/utils-BOlqGJrg.mjs';
4
+ import { P as Popover, a as PopoverTrigger, b as PopoverContent } from '../chunks/popover-RcJ808cy.mjs';
5
+ import { B as Button } from '../chunks/button-Cve1c7GQ.mjs';
6
+ import { C as ChevronsUpDown } from '../chunks/chevrons-up-down-qNyleCLF.mjs';
7
+ import { C as Command, b as CommandInput, d as CommandEmpty, c as CommandList, e as CommandGroup, f as CommandItem } from '../chunks/command-IbA1nxIb.mjs';
8
+ import { C as Check } from '../chunks/check-F6R3Zyjv.mjs';
9
+ import { B as Badge } from '../chunks/badge-DTn1AQbT.mjs';
10
+ import { c as TooltipProvider, T as Tooltip, a as TooltipTrigger, b as TooltipContent } from '../chunks/tooltip-DL6xVJHi.mjs';
11
+ import { t as tryParseDate, p as ptBR } from '../chunks/date-BBTPAd8S.mjs';
12
+ import { L as LoaderCircle } from '../chunks/loader-circle-CmQoMw39.mjs';
13
+ import { C as CalendarDays } from '../chunks/calendar-days-D95Vh8Id.mjs';
14
+ import { C as Calendar } from '../chunks/calendar-BTfcQ69r.mjs';
15
+ import { t as toDate, f as format } from '../chunks/format-4Jz4C5tC.mjs';
16
+ export { C as CalendarRange } from '../chunks/CalendarRange-k63hDccF.mjs';
17
+ import { A as Alert, a as AlertTitle, b as AlertDescription } from '../chunks/alert-Cw-E3eta.mjs';
18
+ import { I as Info } from '../chunks/TooltipIndicator-BjtHYQzo.mjs';
19
+ export { T as TooltipIndicator } from '../chunks/TooltipIndicator-BjtHYQzo.mjs';
20
+ import { X } from '../chunks/x-DWHixXf6.mjs';
21
+ import { D as Dialog, i as DialogTrigger, b as DialogContent, e as DialogHeader, h as DialogTitle, c as DialogDescription, d as DialogFooter } from '../chunks/dialog-B2DUrpTa.mjs';
22
+ import { L as ListItem } from '../chunks/ListItem-eGWDX0GP.mjs';
23
+ export { D as DeleteConfirmationModal } from '../chunks/DeleteConfirmationModal-DRseBzq7.mjs';
24
+ import { M as Menubar, b as MenubarMenu, c as MenubarTrigger, d as MenubarContent, h as MenubarItem } from '../chunks/menubar-DU7jMSAY.mjs';
25
+ import { T as Table, a as TableHeader, e as TableRow, d as TableHead, b as TableBody, f as TableCell } from '../chunks/table-Bf_4RiC6.mjs';
26
+ import { T as Tabs, a as TabsList, b as TabsTrigger } from '../chunks/tabs-BH56W9Uk.mjs';
27
+ import { S as ScrollArea, a as ScrollBar } from '../chunks/scroll-area-DUSbQJic.mjs';
28
+ import { A as Accordion, a as AccordionItem, b as AccordionTrigger, c as AccordionContent } from '../chunks/accordion-BsbSmZP2.mjs';
29
+ import { t as twMerge } from '../chunks/bundle-mjs-Lvc-Dri9.mjs';
30
+ import { H as HoverCard, a as HoverCardTrigger, b as HoverCardContent } from '../chunks/hover-card-DX4d068Z.mjs';
31
+ import { C as ChevronLeft } from '../chunks/chevron-left-D9H1SFsq.mjs';
32
+ import { C as ChevronRight } from '../chunks/chevron-right-BBzqWfgU.mjs';
33
+ import '../chunks/index-BeWMIyGj.mjs';
34
+ import '../chunks/index-D5BJ_0bf.mjs';
35
+ import '../chunks/index-YaCKvBnb.mjs';
28
36
  import 'react/jsx-runtime';
29
- import '../chunks/index-D7dCxTP2.mjs';
30
- import '../chunks/index-DKrv9iMY.mjs';
37
+ import '../chunks/index-CYpZ8qGv.mjs';
38
+ import '../chunks/index-CrXpydfv.mjs';
31
39
  import 'react-dom';
32
40
  import '@radix-ui/react-slot';
33
- import '../chunks/index-CwcOLnJm.mjs';
34
- import '../chunks/index-BOVs_g4Q.mjs';
35
- import '../chunks/tslib.es6-CjQCvxqN.mjs';
36
- import '../chunks/index-6uBK1TEk.mjs';
37
- import '../chunks/index-BnADUzzc.mjs';
38
- import '../chunks/index-X3UvAhoa.mjs';
39
- import '../chunks/index-QBr28_3u.mjs';
40
- import '../chunks/index-So-nn3e7.mjs';
41
- import '../chunks/index-BZhmkMVZ.mjs';
42
- import '../chunks/index-mk_bVkL9.mjs';
41
+ import '../chunks/index-BSGOnYAL.mjs';
42
+ import '../chunks/index-Dw0VFoXM.mjs';
43
+ import '../chunks/tslib.es6-Bf7t9JE-.mjs';
44
+ import '../chunks/index-utzX5BKz.mjs';
45
+ import '../chunks/index-BrfogwJw.mjs';
46
+ import '../chunks/index-DR3ok_zE.mjs';
47
+ import '../chunks/index-F1Vay3hL.mjs';
48
+ import '../chunks/index-cxmuS08t.mjs';
49
+ import '../chunks/index-Ch8cepWA.mjs';
50
+ import '../chunks/index-CWI00LgK.mjs';
43
51
  import 'class-variance-authority';
44
- import '../chunks/createLucideIcon-DfHHy_fF.mjs';
45
- import '../chunks/index-DsZMIujt.mjs';
46
- import '../chunks/index-0SCeyzsK.mjs';
47
- import '../chunks/chevron-left-BBpi9Tuc.mjs';
48
- import '../chunks/chevron-right-gwqv7hdT.mjs';
49
- import '../chunks/chevron-down-BfdFfN5b.mjs';
50
- import '../chunks/x-4VGfZ2jd.mjs';
51
- import '../chunks/trash-2-DHnJ2JOw.mjs';
52
+ import '../chunks/createLucideIcon-0uwxvfEG.mjs';
53
+ import '../chunks/index-Bx0xXTid.mjs';
54
+ import '../chunks/index-6TVIC1_R.mjs';
55
+ import '../chunks/chevron-down-CAAkkaxH.mjs';
56
+ import '../chunks/trash-2-B6-kuqxf.mjs';
52
57
  import '@radix-ui/react-collection';
53
- import '../chunks/index-CPtkkz-Y.mjs';
54
- import '../chunks/index-DQBXf0Nn.mjs';
55
- import '../chunks/index-D43aEpzt.mjs';
56
- import '../chunks/index-CtGzvqE-.mjs';
58
+ import '../chunks/index-CkRZ2gKz.mjs';
59
+ import '../chunks/index-na6H-GCB.mjs';
60
+ import '../chunks/index-CO3WOWY2.mjs';
61
+ import '../chunks/index-DpW61g8q.mjs';
62
+ import '../chunks/index-DCv7HM9c.mjs';
57
63
 
58
64
  function AutoComplete({ value, onChange, placeholder, searchPlaceholder, open, onOpenChange, disabled, messageEmpty = "Nenhum item encontrado.", fetchOptions, getOptionLabel, getOptionKey, onSelect, className }) {
59
65
  const [options, setOptions] = React__default.useState([]);
@@ -244,6 +250,55 @@ const CalendarPopover = ({ date, setDate, placeholder = "Selecione uma data", id
244
250
  })));
245
251
  };
246
252
 
253
+ /**
254
+ * A simpler CollapsibleHelp component that uses a Popover for the help content.
255
+ * It manages its own open state internally.
256
+ * The trigger is provided as 'children', and the content to show is passed as the 'content' prop.
257
+ *
258
+ * Usage:
259
+ * <CollapsibleHelp
260
+ * content={<p>Help text goes here...</p>}
261
+ * title="Help Section"
262
+ * >
263
+ * <button>Toggle Help</button> // This is your custom trigger
264
+ * </CollapsibleHelp>
265
+ */ function CollapsibleHelp({ children, content, title = "Ajuda", className, label }) {
266
+ const [open, setOpen] = React__default.useState(false);
267
+ return /*#__PURE__*/ React__default.createElement("div", {
268
+ className: cn("flex items-start justify-between gap-2", className)
269
+ }, label && /*#__PURE__*/ React__default.createElement("div", {
270
+ className: "flex-1"
271
+ }, label), /*#__PURE__*/ React__default.createElement(Popover, {
272
+ open: open,
273
+ onOpenChange: setOpen
274
+ }, /*#__PURE__*/ React__default.createElement(PopoverTrigger, {
275
+ asChild: true
276
+ }, children), /*#__PURE__*/ React__default.createElement(PopoverContent, {
277
+ className: "w-100 p-0 border-none bg-transparent shadow-none",
278
+ align: "end",
279
+ side: "bottom"
280
+ }, /*#__PURE__*/ React__default.createElement(Alert, {
281
+ className: "relative border-primary/20 shadow-md bg-popover"
282
+ }, /*#__PURE__*/ React__default.createElement(Info, {
283
+ className: "h-4 w-4 text-primary"
284
+ }), /*#__PURE__*/ React__default.createElement(AlertTitle, {
285
+ className: "text-primary font-medium"
286
+ }, title), /*#__PURE__*/ React__default.createElement(Button, {
287
+ variant: "ghost",
288
+ size: "sm",
289
+ type: "button",
290
+ className: "absolute top-4 right-4 h-6 w-6 p-0 text-muted-foreground hover:text-foreground",
291
+ onClick: (e)=>{
292
+ e.stopPropagation();
293
+ setOpen(false);
294
+ }
295
+ }, /*#__PURE__*/ React__default.createElement(X, {
296
+ className: "h-4 w-4"
297
+ })), /*#__PURE__*/ React__default.createElement(AlertDescription, {
298
+ className: "mt-2 text-sm space-y-3 text-foreground"
299
+ }, content)))));
300
+ }
301
+
247
302
  function ConfirmSave({ onSave, disabled, dialogTitle = "Confirme os dados da predefinição", dialogDescription = "Verifique se os dados estão corretos antes de salvar. Você pode alterá-los a qualquer momento na lista de predefinições.", actionTitle = "Salvar predefinição", children, rows = [], actionVariant = "default" }) {
248
303
  const [open, setOpen] = React__default.useState(false);
249
304
  return /*#__PURE__*/ React__default.createElement(Dialog, {
@@ -348,6 +403,61 @@ function ConfirmSave({ onSave, disabled, dialogTitle = "Confirme os dados da pre
348
403
  }, item.label)))))), children);
349
404
  };
350
405
 
406
+ function GenericTable({ data, columns, renderSeparator, emptyMessage = "Nenhum dado encontrado.", className, keyExtractor }) {
407
+ if (!data || data.length === 0) {
408
+ return /*#__PURE__*/ React__default.createElement("div", {
409
+ className: "text-muted-foreground"
410
+ }, emptyMessage);
411
+ }
412
+ return /*#__PURE__*/ React__default.createElement("div", {
413
+ className: `rounded-md border ${className ?? ""}`
414
+ }, /*#__PURE__*/ React__default.createElement(Table, null, /*#__PURE__*/ React__default.createElement(TableHeader, null, /*#__PURE__*/ React__default.createElement(TableRow, null, columns.map((col, index)=>/*#__PURE__*/ React__default.createElement(TableHead, {
415
+ key: index.toString()
416
+ }, col.header)))), /*#__PURE__*/ React__default.createElement(TableBody, null, data.map((item, index)=>{
417
+ const rowKey = keyExtractor ? keyExtractor(item, index) : index;
418
+ return /*#__PURE__*/ React__default.createElement(React__default.Fragment, {
419
+ key: rowKey
420
+ }, /*#__PURE__*/ React__default.createElement(TableRow, null, columns.map((col, colIndex)=>/*#__PURE__*/ React__default.createElement(TableCell, {
421
+ key: colIndex.toString(),
422
+ className: col.className
423
+ }, col.cell(item)))), renderSeparator?.(index));
424
+ }))));
425
+ }
426
+
427
+ const GenericTabs = ({ tabs, isLoading = false, className, currentPath = "", onNavigate, value: controlledValue, triggerClassName, widthCurrent })=>{
428
+ const activeTab = controlledValue ?? tabs.filter((t)=>{
429
+ const matchString = t.match ?? t.path;
430
+ return matchString && currentPath.includes(matchString);
431
+ }).sort((a, b)=>{
432
+ const lenA = (a.match ?? a.path ?? "").length;
433
+ const lenB = (b.match ?? b.path ?? "").length;
434
+ return lenB - lenA;
435
+ })[0]?.value ?? tabs[0]?.value;
436
+ const handleNavigate = (tab)=>{
437
+ if (tab.disabled || isLoading) return;
438
+ if (onNavigate && tab.path) {
439
+ onNavigate(tab.path);
440
+ }
441
+ };
442
+ return /*#__PURE__*/ React__default.createElement(Tabs, {
443
+ value: activeTab,
444
+ className: className
445
+ }, /*#__PURE__*/ React__default.createElement(ScrollArea, {
446
+ className: "w-full"
447
+ }, /*#__PURE__*/ React__default.createElement(TabsList, {
448
+ className: "flex h-full w-full justify-start gap-2"
449
+ }, tabs.map((tab)=>/*#__PURE__*/ React__default.createElement(TabsTrigger, {
450
+ key: tab.value,
451
+ value: tab.value,
452
+ className: cn("min-w-fit sm:min-w-[180px] w-fit", triggerClassName, widthCurrent && "sm:min-w-fit", tab.className),
453
+ disabled: isLoading || tab.disabled,
454
+ onClick: ()=>handleNavigate(tab),
455
+ type: "button"
456
+ }, tab.label))), /*#__PURE__*/ React__default.createElement(ScrollBar, {
457
+ orientation: "horizontal"
458
+ })));
459
+ };
460
+
351
461
  const Header = ({ title, description, className, classNameDescription, children, defaultValue = "item-1", defaultOpen = false, menu })=>{
352
462
  const [value, setValue] = React__default.useState(defaultOpen ? defaultValue : "");
353
463
  const isOpen = value === defaultValue;
@@ -389,6 +499,85 @@ const HoverBadge = ({ title, description, variant, className, showTitleInDescrip
389
499
  }, description)));
390
500
  };
391
501
 
502
+ function RuleFilterBuilder({ fields, onRemove, onAdd, maxBlocks = 3, isPending = false, instructionContent, renderConnector, renderItem }) {
503
+ // Ensure at least one block exists
504
+ React__default.useEffect(()=>{
505
+ if (fields.length === 0) {
506
+ onAdd();
507
+ }
508
+ }, [
509
+ fields.length,
510
+ onAdd
511
+ ]);
512
+ return /*#__PURE__*/ React__default.createElement("div", {
513
+ className: "space-y-6"
514
+ }, instructionContent && /*#__PURE__*/ React__default.createElement("div", {
515
+ className: "bg-muted/50 p-4 rounded-md border text-sm text-muted-foreground mb-4"
516
+ }, instructionContent), fields.map((fieldItem, index)=>/*#__PURE__*/ React__default.createElement("div", {
517
+ key: fieldItem.id,
518
+ className: "relative"
519
+ }, index > 0 && /*#__PURE__*/ React__default.createElement("div", {
520
+ className: "relative py-4 flex items-center justify-center"
521
+ }, /*#__PURE__*/ React__default.createElement("div", {
522
+ className: "absolute inset-0 flex items-center"
523
+ }, /*#__PURE__*/ React__default.createElement("span", {
524
+ className: "w-full border-t border-border"
525
+ })), /*#__PURE__*/ React__default.createElement("div", {
526
+ className: "relative bg-background px-4"
527
+ }, renderConnector ? renderConnector(index) : null)), /*#__PURE__*/ React__default.createElement("div", {
528
+ className: "border rounded-lg bg-card text-card-foreground shadow-sm overflow-hidden"
529
+ }, /*#__PURE__*/ React__default.createElement("div", {
530
+ className: "bg-muted/30 px-4 py-3 border-b flex items-center justify-between"
531
+ }, /*#__PURE__*/ React__default.createElement("div", {
532
+ className: "font-semibold text-sm flex items-center gap-2"
533
+ }, /*#__PURE__*/ React__default.createElement("span", {
534
+ className: "bg-primary/10 text-primary w-6 h-6 flex items-center justify-center rounded-full text-xs"
535
+ }, index + 1), "Bloco de Seleção ", index + 1), index > 0 && /*#__PURE__*/ React__default.createElement(Button, {
536
+ type: "button",
537
+ variant: "ghost",
538
+ size: "sm",
539
+ onClick: ()=>onRemove(index),
540
+ className: "hover:bg-destructive hover:text-destructive-foreground h-8 w-8 p-0",
541
+ disabled: isPending
542
+ }, /*#__PURE__*/ React__default.createElement(X, {
543
+ className: "h-4 w-4"
544
+ }))), /*#__PURE__*/ React__default.createElement("div", {
545
+ className: "p-4 grid grid-cols-1 md:grid-cols-2 gap-4"
546
+ }, renderItem(index))))), fields.length < maxBlocks && /*#__PURE__*/ React__default.createElement(Button, {
547
+ type: "button",
548
+ variant: "outline",
549
+ className: "w-full border-dashed",
550
+ onClick: onAdd,
551
+ disabled: isPending
552
+ }, /*#__PURE__*/ React__default.createElement("div", {
553
+ className: "flex items-center gap-2"
554
+ }, /*#__PURE__*/ React__default.createElement("span", {
555
+ className: "font-semibold text-lg"
556
+ }, "+"), "Adicionar Bloco de Seleção (Restam ", maxBlocks - fields.length, ")")));
557
+ }
558
+
559
+ const StepNavigator = ({ currentIndex, totalSteps, onPrev, onNext, disabled = false, prevLabel = "Anterior", nextLabel = "Próximo", hideEdgeButtons = true, className })=>{
560
+ const isFirst = currentIndex === 0;
561
+ const isLast = currentIndex === totalSteps - 1;
562
+ return /*#__PURE__*/ React__default.createElement("div", {
563
+ className: cn("flex items-center gap-2", className)
564
+ }, (!hideEdgeButtons || !isFirst) && /*#__PURE__*/ React__default.createElement(Button, {
565
+ type: "button",
566
+ variant: "secondary",
567
+ onClick: onPrev,
568
+ disabled: disabled || isFirst
569
+ }, /*#__PURE__*/ React__default.createElement(ChevronLeft, {
570
+ className: "size-4"
571
+ }), prevLabel), (!hideEdgeButtons || !isLast) && /*#__PURE__*/ React__default.createElement(Button, {
572
+ type: "button",
573
+ variant: "secondary",
574
+ onClick: onNext,
575
+ disabled: disabled || isLast
576
+ }, nextLabel, /*#__PURE__*/ React__default.createElement(ChevronRight, {
577
+ className: "size-4"
578
+ })));
579
+ };
580
+
392
581
  const TextWrap = ({ children, className, ...props })=>{
393
582
  return /*#__PURE__*/ React__default.createElement("div", {
394
583
  className: cn("line-clamp-4 w-full max-w-60 min-w-60 text-wrap break-words 2xl:max-w-[80%]", className),
@@ -396,5 +585,5 @@ const TextWrap = ({ children, className, ...props })=>{
396
585
  }, children);
397
586
  };
398
587
 
399
- export { AutoComplete, BadgeListLimited, CalendarPopover, ConfirmSave, GenericHeadingMenubar, Header, HoverBadge, TextWrap, normalizeDate };
588
+ export { AutoComplete, BadgeListLimited, CalendarPopover, CollapsibleHelp, ConfirmSave, GenericHeadingMenubar, GenericTable, GenericTabs, Header, HoverBadge, RuleFilterBuilder, StepNavigator, TextWrap, normalizeDate };
400
589
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/components/default/base/AutoComplete.tsx","../../src/components/default/base/BadgeListLimited.tsx","../../node_modules/date-fns/isWeekend.js","../../src/components/default/base/CalendarPopover.tsx","../../src/components/default/base/ConfirmSave.tsx","../../src/components/default/base/GenericHeadingMenubar.tsx","../../src/components/default/base/Header.tsx","../../src/components/default/base/HoverBadge.tsx","../../src/components/default/base/TextWrap.tsx"],"sourcesContent":["\"use client\";\n\nimport { CheckIcon, ChevronsUpDown } from \"lucide-react\";\nimport React from \"react\";\nimport { useDebouncedCallback } from \"use-debounce\";\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 AutoCompleteProps<T> {\n\tvalue: T | null;\n\tonChange: (value: T | null) => void;\n\tplaceholder?: string;\n\tsearchPlaceholder?: string;\n\topen: boolean;\n\tonOpenChange: (open: boolean) => void;\n\tdisabled?: boolean;\n\tmessageEmpty?: string;\n\tfetchOptions: (term: string) => Promise<T[]>;\n\tgetOptionLabel: (option: T) => string;\n\tgetOptionKey: (option: T) => string | number;\n\tonSelect?: (option: T) => void;\n\tclassName?: string;\n}\n\nexport function AutoComplete<T>({\n\tvalue,\n\tonChange,\n\tplaceholder,\n\tsearchPlaceholder,\n\topen,\n\tonOpenChange,\n\tdisabled,\n\tmessageEmpty = \"Nenhum item encontrado.\",\n\tfetchOptions,\n\tgetOptionLabel,\n\tgetOptionKey,\n\tonSelect,\n\tclassName,\n}: AutoCompleteProps<T>) {\n\tconst [options, setOptions] = React.useState<T[]>([]);\n\tconst [loading, setLoading] = React.useState(false);\n\tconst [searchTerm, setSearchTerm] = React.useState(\"\");\n\n\tconst sortedOptions = React.useMemo(() => {\n\t\tif (!value) return options;\n\t\treturn [...options].sort((a, b) => {\n\t\t\tif (getOptionLabel(a) === getOptionLabel(value)) return -1;\n\t\t\tif (getOptionLabel(b) === getOptionLabel(value)) return 1;\n\t\t\treturn getOptionLabel(a).localeCompare(getOptionLabel(b));\n\t\t});\n\t}, [options, value, getOptionLabel]);\n\n\tconst debouncedFetch = useDebouncedCallback(async (term: string) => {\n\t\ttry {\n\t\t\tconst result = await fetchOptions(term);\n\t\t\tsetOptions(result);\n\t\t} catch (err) {\n\t\t\tconsole.error(\"Erro ao buscar opções:\", err);\n\t\t\tsetOptions([]);\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t}, 500);\n\n\tconst handleInputChange = (val: string) => {\n\t\tsetSearchTerm(val);\n\n\t\tif (val.trim() === \"\") {\n\t\t\tsetOptions([]);\n\t\t\tsetLoading(false);\n\t\t\treturn;\n\t\t}\n\n\t\tsetLoading(true);\n\t\tdebouncedFetch(val);\n\t};\n\n\tconst handleSelect = (option: T) => {\n\t\tif (onSelect) {\n\t\t\tonSelect(option);\n\t\t} else {\n\t\t\tonChange(option);\n\t\t\tonOpenChange(false);\n\t\t}\n\t};\n\n\treturn (\n\t\t<Popover open={open} onOpenChange={onOpenChange}>\n\t\t\t<PopoverTrigger asChild>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\tclassName={cn(\"flex h-10 w-full items-center justify-between truncate\", className)}\n\t\t\t\t\taria-expanded={open}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t>\n\t\t\t\t\t<span className={cn(\"text-muted-foreground\", value && \"text-foreground\")}>\n\t\t\t\t\t\t{value ? getOptionLabel(value) : placeholder}\n\t\t\t\t\t</span>\n\t\t\t\t\t<ChevronsUpDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n\t\t\t\t</Button>\n\t\t\t</PopoverTrigger>\n\t\t\t<PopoverContent\n\t\t\t\tclassName=\"max-h-[300px] w-[--radix-popover-trigger-width] overflow-auto p-0\"\n\t\t\t\tside=\"bottom\"\n\t\t\t\talign=\"start\"\n\t\t\t>\n\t\t\t\t<Command>\n\t\t\t\t\t<CommandInput\n\t\t\t\t\t\tplaceholder={searchPlaceholder}\n\t\t\t\t\t\tclassName=\"h-9\"\n\t\t\t\t\t\tonValueChange={handleInputChange}\n\t\t\t\t\t/>\n\t\t\t\t\t<CommandEmpty>\n\t\t\t\t\t\t{loading\n\t\t\t\t\t\t\t? \"Carregando...\"\n\t\t\t\t\t\t\t: searchTerm.trim() === \"\"\n\t\t\t\t\t\t\t\t? \"Digite algo para buscar...\"\n\t\t\t\t\t\t\t\t: messageEmpty}\n\t\t\t\t\t</CommandEmpty>\n\t\t\t\t\t<CommandList className=\"max-h-60 overflow-y-auto\">\n\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t{sortedOptions.map((item) => {\n\t\t\t\t\t\t\t\tconst label = getOptionLabel(item);\n\t\t\t\t\t\t\t\tconst key = getOptionKey(item);\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<CommandItem key={key} value={label} onSelect={() => handleSelect(item)}>\n\t\t\t\t\t\t\t\t\t\t{value && getOptionLabel(value) === label && (\n\t\t\t\t\t\t\t\t\t\t\t<CheckIcon className=\"h-4 w-4 opacity-100\" />\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t<span>{label}</span>\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})}\n\t\t\t\t\t\t</CommandGroup>\n\t\t\t\t\t</CommandList>\n\t\t\t\t</Command>\n\t\t\t</PopoverContent>\n\t\t</Popover>\n\t);\n}\n","\"use client\";\n\nimport React from \"react\";\nimport { Badge, type BadgeVariants } from \"@/components/ui/badge\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"@/components/ui/tooltip\";\n\ninterface BadgeListLimitedProps {\n\titems: string[];\n\tmaxVisible?: number;\n\tvariant?: BadgeVariants;\n\tsubtle?: boolean;\n\ttooltipItems?: string[];\n}\n\n/**\n * Componente que exibe uma lista de Badges com limite de itens visíveis.\n * Se houver mais itens do que o limite, exibe um Badge adicional com \"+N\".\n *\n * @param items - Array de strings para exibir como Badges\n * @param maxVisible - Número máximo de Badges visíveis (padrão: 3)\n * @param variant - Variante do Badge (padrão: \"default\")\n * @param subtle - Se o Badge deve ter estilo sutil (padrão: true)\n * @param tooltipItems - Array de strings para exibir no tooltip (opcional). Se fornecido, exibe todos os itens no tooltip, cada um em uma linha.\n */\nexport const BadgeListLimited: React.FC<BadgeListLimitedProps> = ({\n\titems,\n\tmaxVisible = 3,\n\tvariant = \"default\",\n\tsubtle = true,\n\ttooltipItems,\n}) => {\n\tconst visibleItems = items.slice(0, maxVisible);\n\tconst remainingCount = items.length - maxVisible;\n\tconst hasMore = remainingCount > 0;\n\n\tconst hiddenItems = items.slice(maxVisible);\n\tconst itemsToShowInTooltip = tooltipItems || hiddenItems;\n\n\treturn (\n\t\t<div className=\"flex flex-wrap items-center gap-2.5\">\n\t\t\t{visibleItems.map((item) => (\n\t\t\t\t<Badge key={item} variant={variant} subtle={subtle}>\n\t\t\t\t\t{item}\n\t\t\t\t</Badge>\n\t\t\t))}\n\t\t\t{hasMore &&\n\t\t\t\t(itemsToShowInTooltip.length > 0 ? (\n\t\t\t\t\t<TooltipProvider>\n\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\t<TooltipTrigger asChild>\n\t\t\t\t\t\t\t\t<Badge variant={variant} subtle={subtle}>\n\t\t\t\t\t\t\t\t\t+{remainingCount}\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t</TooltipTrigger>\n\t\t\t\t\t\t\t<TooltipContent>\n\t\t\t\t\t\t\t\t<div className=\"flex flex-col gap-1 max-h-[200px] overflow-y-auto text-xs\">\n\t\t\t\t\t\t\t\t\t{itemsToShowInTooltip.map((tooltipItem) => (\n\t\t\t\t\t\t\t\t\t\t<div key={tooltipItem}>{tooltipItem}</div>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</TooltipContent>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</TooltipProvider>\n\t\t\t\t) : (\n\t\t\t\t\t<Badge variant={variant} subtle={subtle}>\n\t\t\t\t\t\t+{remainingCount}\n\t\t\t\t\t</Badge>\n\t\t\t\t))}\n\t\t</div>\n\t);\n};\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link isWeekend} function options.\n */\n\n/**\n * @name isWeekend\n * @category Weekday Helpers\n * @summary Does the given date fall on a weekend?\n *\n * @description\n * Does the given date fall on a weekend? A weekend is either Saturday (`6`) or Sunday (`0`).\n *\n * @param date - The date to check\n * @param options - An object with options\n *\n * @returns The date falls on a weekend\n *\n * @example\n * // Does 5 October 2014 fall on a weekend?\n * const result = isWeekend(new Date(2014, 9, 5))\n * //=> true\n */\nexport function isWeekend(date, options) {\n const day = toDate(date, options?.in).getDay();\n return day === 0 || day === 6;\n}\n\n// Fallback for modularized imports:\nexport default isWeekend;\n","\"use client\";\n\nimport { format, isWeekend } from \"date-fns\";\nimport { ptBR } from \"date-fns/locale\";\nimport { CalendarDaysIcon, LoaderCircleIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { Button, type ButtonProps } from \"@/components/ui/button\";\nimport { Calendar } from \"@/components/ui/calendar\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { cn } from \"@/lib/utils\";\nimport { tryParseDate } from \"@/utils/date\";\n\nexport function normalizeDate(date: Date): string {\n\treturn format(date, \"yyyy-MM-dd\");\n}\n\nexport interface CalendarPopoverProps\n\textends Omit<React.ComponentProps<typeof Calendar>, \"mode\" | \"selected\" | \"onSelect\"> {\n\t/** Data selecionada (pode ser Date ou string parseável) */\n\tdate: Date | string | undefined;\n\n\t/** Função chamada ao selecionar uma data */\n\tsetDate: (date: Date | undefined) => void;\n\n\t/** Texto exibido quando não há data selecionada */\n\tplaceholder?: string;\n\n\t/** ID opcional do botão */\n\tid?: string;\n\n\t/** Props extras para o botão */\n\tbuttonProps?: ButtonProps;\n\n\t/** Props extras para o popover */\n\tpopoverProps?: React.ComponentProps<typeof Popover>;\n\n\t/** Classe extra para o conteúdo do popover */\n\tpopoverContentClassName?: string;\n\n\t/** Classe extra para o botão */\n\tclassName?: string;\n\n\t/**\n\t * Permite desabilitar datas específicas (igual ao Calendar do shadcn)\n\t * Pode ser um boolean, ou uma função que recebe a data e retorna boolean\n\t */\n\tdisabled?: boolean | ((date: Date) => boolean);\n\n\t/**\n\t * Exibe o estado de carregamento geral do componente\n\t * Quando true, mostra o ícone de loading e desabilita a interação\n\t */\n\tisLoading?: boolean;\n\n\t/**\n\t * Exibe o estado de carregamento específico da tabela (caso exista)\n\t * Quando true, impede a seleção de datas no calendário\n\t */\n\tisLoadingTable?: boolean;\n\n\t/**\n\t * Define um conjunto de datas desabilitadas (formato 'yyyy-MM-dd')\n\t * Cada data presente neste Set será bloqueada na seleção do calendário\n\t */\n\tdisabledDates?: Set<string>;\n\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}\n\nexport const CalendarPopover: React.FC<CalendarPopoverProps> = ({\n\tdate,\n\tsetDate,\n\tplaceholder = \"Selecione uma data\",\n\tid = \"calendar-popover\",\n\tbuttonProps,\n\tpopoverProps,\n\tpopoverContentClassName,\n\tclassName,\n\tdisabled,\n\tisLoading,\n\tdisabledDates,\n\tisLoadingTable,\n\t...props\n}) => {\n\tconst validDate = tryParseDate(date);\n\n\treturn (\n\t\t<Popover {...popoverProps}>\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:text-foreground justify-start text-left font-normal\",\n\t\t\t\t\t\t!validDate && \"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={typeof disabled === \"boolean\" ? disabled : undefined}\n\t\t\t\t\t{...buttonProps}\n\t\t\t\t>\n\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<LoaderCircleIcon className=\"size-4 animate-spin\" />\n\t\t\t\t\t\t\t<span>carregando...</span>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<CalendarDaysIcon className=\"size-4\" />\n\t\t\t\t\t\t\t{validDate ? format(validDate, \"P\", { locale: ptBR }) : <span>{placeholder}</span>}\n\t\t\t\t\t\t</>\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<Calendar\n\t\t\t\t\tautoFocus\n\t\t\t\t\tcaptionLayout=\"dropdown\"\n\t\t\t\t\tselected={validDate}\n\t\t\t\t\tonSelect={setDate}\n\t\t\t\t\tlocale={ptBR}\n\t\t\t\t\tnumberOfMonths={1}\n\t\t\t\t\tfromYear={2010}\n\t\t\t\t\ttoYear={2040}\n\t\t\t\t\tdisabled={(currentDate) => {\n\t\t\t\t\t\tif (isLoading || isLoadingTable) return true;\n\n\t\t\t\t\t\tconst normalizedCurrentDate = normalizeDate(currentDate);\n\n\t\t\t\t\t\tconst isHoliday = disabledDates?.has(normalizedCurrentDate);\n\t\t\t\t\t\tconst isWeekendDay = isWeekend(currentDate);\n\t\t\t\t\t\tconst isFutureDate = currentDate > new Date();\n\n\t\t\t\t\t\treturn isHoliday || isWeekendDay || isFutureDate;\n\t\t\t\t\t}}\n\t\t\t\t\tdefaultMonth={validDate ?? props.defaultMonth ?? new Date()}\n\t\t\t\t\t{...props}\n\t\t\t\t\tmode=\"single\"\n\t\t\t\t/>\n\t\t\t</PopoverContent>\n\t\t</Popover>\n\t);\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { BadgeListLimited } from \"@/components/default/base/BadgeListLimited\";\nimport { ListItem } from \"@/components/default/layout\";\nimport type { BadgeVariants } from \"@/components/ui/badge\";\nimport { Button, type ButtonProps } from \"@/components/ui/button\";\nimport {\n\tDialog,\n\tDialogContent,\n\tDialogDescription,\n\tDialogFooter,\n\tDialogHeader,\n\tDialogTitle,\n\tDialogTrigger,\n} from \"@/components/ui/dialog\";\n\nexport interface ConfirmSaveRowConfig {\n\ttitle: string;\n\t// biome-ignore lint/suspicious/noExplicitAny: <Generic value>\n\tvalue: any;\n\ttype: \"text\" | \"badge-limited\" | \"custom\";\n\tbadge?: {\n\t\tvariant?: BadgeVariants;\n\t\tsubtle?: boolean;\n\t\tmaxVisible?: number;\n\t};\n}\n\ninterface ConfirmSaveProps {\n\tonSave: () => void;\n\tdisabled?: boolean;\n\tdialogTitle?: string;\n\tdialogDescription?: string;\n\tactionTitle?: string;\n\tactionVariant?: ButtonProps[\"variant\"];\n\tchildren?: React.ReactNode;\n\trows?: ConfirmSaveRowConfig[];\n}\n\nexport function ConfirmSave({\n\tonSave,\n\tdisabled,\n\tdialogTitle = \"Confirme os dados da predefinição\",\n\tdialogDescription = \"Verifique se os dados estão corretos antes de salvar. Você pode alterá-los a qualquer momento na lista de predefinições.\",\n\tactionTitle = \"Salvar predefinição\",\n\tchildren,\n\trows = [],\n\tactionVariant = \"default\",\n}: ConfirmSaveProps) {\n\tconst [open, setOpen] = React.useState(false);\n\n\treturn (\n\t\t<Dialog open={open} onOpenChange={setOpen}>\n\t\t\t<DialogTrigger asChild>{children}</DialogTrigger>\n\t\t\t<DialogContent className=\"flex max-h-[90vh] max-w-116 flex-col\">\n\t\t\t\t<DialogHeader className=\"text-left\">\n\t\t\t\t\t<DialogTitle className=\"text-xl font-semibold\">{dialogTitle}</DialogTitle>\n\t\t\t\t\t<DialogDescription>{dialogDescription}</DialogDescription>\n\t\t\t\t</DialogHeader>\n\t\t\t\t<div\n\t\t\t\t\tdata-confirm-save-scrollable\n\t\t\t\t\tclassName=\"flex min-h-0 max-w-full flex-1 flex-col overflow-y-auto py-2\"\n\t\t\t\t>\n\t\t\t\t\t{rows.map((row, index) => {\n\t\t\t\t\t\tif (!row.value || (Array.isArray(row.value) && row.value.length === 0)) {\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet content: React.ReactNode;\n\n\t\t\t\t\t\tif (row.type === \"badge-limited\") {\n\t\t\t\t\t\t\tconst items = Array.isArray(row.value) ? row.value : [];\n\t\t\t\t\t\t\tcontent = (\n\t\t\t\t\t\t\t\t<BadgeListLimited\n\t\t\t\t\t\t\t\t\titems={items}\n\t\t\t\t\t\t\t\t\tvariant={row.badge?.variant || \"default\"}\n\t\t\t\t\t\t\t\t\tsubtle={row.badge?.subtle ?? true}\n\t\t\t\t\t\t\t\t\tmaxVisible={row.badge?.maxVisible}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (row.type === \"custom\") {\n\t\t\t\t\t\t\tcontent = row.value;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontent = row.value || \"-\";\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ListItem\n\t\t\t\t\t\t\t\tkey={`${row.title}-${index}`}\n\t\t\t\t\t\t\t\ttitle={row.title}\n\t\t\t\t\t\t\t\tvalue={content}\n\t\t\t\t\t\t\t\tclassName=\"*:text-sm!\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t\t<DialogFooter>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tonSave();\n\t\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant={actionVariant}\n\t\t\t\t\t\tisAction\n\t\t\t\t\t>\n\t\t\t\t\t\t{actionTitle}\n\t\t\t\t\t</Button>\n\t\t\t\t</DialogFooter>\n\t\t\t</DialogContent>\n\t\t</Dialog>\n\t);\n}\n","\"use client\";\n\nimport React from \"react\";\nimport {\n\tMenubar,\n\tMenubarContent,\n\tMenubarItem,\n\tMenubarMenu,\n\tMenubarTrigger,\n} from \"@/components/ui/menubar\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport type MenuItemConfig = {\n\tvalue: string;\n\tlabel: string;\n\tpath: string;\n\tonClick?: () => void;\n\tsubItems?: { label: string; onClick: () => void }[];\n\t/** Função customizada para determinar se o item está ativo */\n\tisActive?: (pathname: string) => boolean;\n};\n\nexport interface GenericHeadingMenubarProps {\n\t/** Configuração dos itens do menu */\n\tmenuItems: MenuItemConfig[];\n\t/** Classes CSS adicionais para o container */\n\tclassName?: string;\n\t/** Conteúdo adicional a ser renderizado ao lado do menu */\n\tchildren?: React.ReactNode;\n\t/** Desabilita todos os itens do menu */\n\tdisabled?: boolean;\n\t/** Função customizada para determinar se um item está ativo (fallback) */\n\tdefaultIsActive?: (menuValue: string, pathname: string) => boolean;\n\t/** Caminho atual da rota (para highlight do ativo). Compatível com Next.js e React Router. */\n\tcurrentPath?: string;\n\t/** Função executada ao solicitar navegação (ex: router.push ou navigate). */\n\tonNavigate?: (path: string) => void;\n}\n\n/**\n * Componente genérico de menubar para navegação entre páginas.\n * Ajustado para ser agnóstico de framework (Next.js ou React puro).\n *\n * @example\n * ```tsx\n * // Exemplo com Next.js\n * const router = useRouter();\n * const pathname = usePathname();\n *\n * <GenericHeadingMenubar\n * menuItems={menuItems}\n * currentPath={pathname}\n * onNavigate={(path) => router.push(path)}\n * />\n * ```\n */\nexport const GenericHeadingMenubar: React.FC<GenericHeadingMenubarProps> = ({\n\tmenuItems,\n\tclassName,\n\tchildren,\n\tdisabled,\n\tdefaultIsActive,\n\tcurrentPath = \"\",\n\tonNavigate,\n}) => {\n\t/**\n\t * Determina se um item do menu está ativo\n\t */\n\tconst isMenuItemActive = (menu: MenuItemConfig): boolean => {\n\t\t// Se o item tem uma função customizada, usa ela\n\t\tif (menu.isActive) {\n\t\t\treturn menu.isActive(currentPath);\n\t\t}\n\n\t\t// Se foi passada uma função padrão, usa ela\n\t\tif (defaultIsActive) {\n\t\t\treturn defaultIsActive(menu.value, currentPath);\n\t\t}\n\n\t\t// Fallback: compara o pathname com o path do menu\n\t\treturn currentPath === menu.path;\n\t};\n\n\t/**\n\t * Handler padrão de clique (navega para o path)\n\t */\n\tconst handleMenuClick = (menu: MenuItemConfig) => {\n\t\tif (menu.onClick) {\n\t\t\tmenu.onClick();\n\t\t} else if (onNavigate) {\n\t\t\tonNavigate(menu.path);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className={cn(\"flex flex-wrap items-center justify-between\", className)}>\n\t\t\t<Menubar>\n\t\t\t\t{menuItems.map((menu) => (\n\t\t\t\t\t<MenubarMenu key={menu.value}>\n\t\t\t\t\t\t<MenubarTrigger\n\t\t\t\t\t\t\tonClick={() => handleMenuClick(menu)}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\"flex items-center gap-1 disabled:opacity-50 aria-disabled:opacity-50\",\n\t\t\t\t\t\t\t\tisMenuItemActive(menu) && \"bg-accent text-accent-foreground\",\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\taria-disabled={disabled}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{menu.label}\n\t\t\t\t\t\t</MenubarTrigger>\n\n\t\t\t\t\t\t{menu.subItems && (\n\t\t\t\t\t\t\t<MenubarContent>\n\t\t\t\t\t\t\t\t{menu.subItems.map((item) => (\n\t\t\t\t\t\t\t\t\t<MenubarItem key={item.label} onClick={item.onClick}>\n\t\t\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t\t\t</MenubarItem>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</MenubarContent>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</MenubarMenu>\n\t\t\t\t))}\n\t\t\t</Menubar>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n","\"use client\";\n\nimport React from \"react\";\nimport {\n\tAccordion,\n\tAccordionContent,\n\tAccordionItem,\n\tAccordionTrigger,\n} from \"@/components/ui/accordion\";\nimport { cn } from \"@/lib/utils\";\n\ninterface HeaderProps {\n\ttitle: string;\n\tdescription: string;\n\tclassName?: string;\n\tclassNameDescription?: string;\n\tchildren?: React.ReactNode;\n\tdefaultValue?: string;\n\tdefaultOpen?: boolean;\n\tmenu?: React.ReactNode;\n}\n\nexport const Header: React.FC<HeaderProps> = ({\n\ttitle,\n\tdescription,\n\tclassName,\n\tclassNameDescription,\n\tchildren,\n\tdefaultValue = \"item-1\",\n\tdefaultOpen = false,\n\tmenu,\n}) => {\n\tconst [value, setValue] = React.useState<string>(defaultOpen ? defaultValue : \"\");\n\n\tconst isOpen = value === defaultValue;\n\n\treturn (\n\t\t<header className={cn(\"text-content-high max-w-5xl px-4 py-1 text-xl\", className)}>\n\t\t\t<Accordion\n\t\t\t\ttype=\"single\"\n\t\t\t\tcollapsible\n\t\t\t\tclassName=\"w-full\"\n\t\t\t\tvalue={value}\n\t\t\t\tonValueChange={setValue}\n\t\t\t>\n\t\t\t\t<AccordionItem className=\"border-b-0\" value={defaultValue}>\n\t\t\t\t\t<AccordionTrigger\n\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\tclassName=\"justify-start gap-2 py-2 text-xl font-bold\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</AccordionTrigger>\n\t\t\t\t\t<AccordionContent className=\"text-content-medium text-base\">\n\t\t\t\t\t\t<p className={cn(\"text-content-medium text-base\", classNameDescription)}>\n\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t{isOpen && menu && <div className=\"my-4 text-foreground\">{menu}</div>}\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</AccordionContent>\n\t\t\t\t</AccordionItem>\n\t\t\t</Accordion>\n\t\t\t{!isOpen && menu && <div className=\"my-4\">{menu}</div>}\n\t\t</header>\n\t);\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { Badge, type BadgeProps } from \"@/components/ui/badge\";\nimport { HoverCard, HoverCardContent, HoverCardTrigger } from \"@/components/ui/hover-card\";\n\ninterface HoverBadgeProps {\n\ttitle: string;\n\tdescription?: string;\n\tvariant: BadgeProps[\"variant\"];\n\tclassName?: string;\n\tshowTitleInDescription?: boolean;\n\tsubtle?: boolean;\n}\n\nexport const HoverBadge: React.FC<HoverBadgeProps> = ({\n\ttitle,\n\tdescription,\n\tvariant,\n\tclassName,\n\tshowTitleInDescription = true,\n\tsubtle = false,\n}) => {\n\treturn (\n\t\t<HoverCard>\n\t\t\t<HoverCardTrigger>\n\t\t\t\t<Badge variant={variant} subtle={subtle}>\n\t\t\t\t\t{title}\n\t\t\t\t</Badge>\n\t\t\t</HoverCardTrigger>\n\t\t\t{description && (\n\t\t\t\t<HoverCardContent className={`${twMerge(\"w-72 space-y-1\", className)}`}>\n\t\t\t\t\t{showTitleInDescription && <span className=\"text-sm font-semibold\">{title}</span>}\n\t\t\t\t\t<p className=\"w-full text-sm text-wrap break-words whitespace-pre-line\">{description}</p>\n\t\t\t\t</HoverCardContent>\n\t\t\t)}\n\t\t</HoverCard>\n\t);\n};\n","import React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\ninterface TextWrapProps extends React.HTMLAttributes<HTMLDivElement> {\n\tchildren: React.ReactNode;\n}\n\nexport const TextWrap: React.FC<TextWrapProps> = ({ children, className, ...props }) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"line-clamp-4 w-full max-w-60 min-w-60 text-wrap break-words 2xl:max-w-[80%]\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n"],"names":["AutoComplete","value","onChange","placeholder","searchPlaceholder","open","onOpenChange","disabled","messageEmpty","fetchOptions","getOptionLabel","getOptionKey","onSelect","className","options","setOptions","React","useState","loading","setLoading","searchTerm","setSearchTerm","sortedOptions","useMemo","sort","a","b","localeCompare","debouncedFetch","useDebouncedCallback","term","result","err","console","error","handleInputChange","val","trim","handleSelect","option","Popover","PopoverTrigger","asChild","Button","variant","cn","aria-expanded","span","ChevronsUpDown","PopoverContent","side","align","Command","CommandInput","onValueChange","CommandEmpty","CommandList","CommandGroup","map","item","label","key","CommandItem","CheckIcon","BadgeListLimited","items","maxVisible","subtle","tooltipItems","visibleItems","slice","remainingCount","length","hasMore","hiddenItems","itemsToShowInTooltip","div","Badge","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","tooltipItem","isWeekend","date","day","toDate","in","getDay","normalizeDate","format","CalendarPopover","setDate","id","buttonProps","popoverProps","popoverContentClassName","isLoading","disabledDates","isLoadingTable","props","validDate","tryParseDate","undefined","LoaderCircleIcon","CalendarDaysIcon","locale","ptBR","Calendar","autoFocus","captionLayout","selected","numberOfMonths","fromYear","toYear","currentDate","normalizedCurrentDate","isHoliday","has","isWeekendDay","isFutureDate","Date","defaultMonth","mode","ConfirmSave","onSave","dialogTitle","dialogDescription","actionTitle","children","rows","actionVariant","setOpen","Dialog","DialogTrigger","DialogContent","DialogHeader","DialogTitle","DialogDescription","data-confirm-save-scrollable","row","index","Array","isArray","content","type","badge","ListItem","title","DialogFooter","onClick","isAction","GenericHeadingMenubar","menuItems","defaultIsActive","currentPath","onNavigate","isMenuItemActive","menu","isActive","path","handleMenuClick","Menubar","MenubarMenu","MenubarTrigger","aria-disabled","subItems","MenubarContent","MenubarItem","Header","description","classNameDescription","defaultValue","defaultOpen","setValue","isOpen","header","Accordion","collapsible","AccordionItem","AccordionTrigger","iconPosition","AccordionContent","p","HoverBadge","showTitleInDescription","HoverCard","HoverCardTrigger","HoverCardContent","twMerge","TextWrap"],"mappings":"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","x_google_ignoreList":[2]}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/components/default/base/AutoComplete.tsx","../../src/components/default/base/BadgeListLimited.tsx","../../node_modules/date-fns/isWeekend.js","../../src/components/default/base/CalendarPopover.tsx","../../src/components/default/base/CollapsibleHelp.tsx","../../src/components/default/base/ConfirmSave.tsx","../../src/components/default/base/GenericHeadingMenubar.tsx","../../src/components/default/base/GenericTable.tsx","../../src/components/default/base/GenericTabs.tsx","../../src/components/default/base/Header.tsx","../../src/components/default/base/HoverBadge.tsx","../../src/components/default/base/RuleFiltersBuilder.tsx","../../src/components/default/base/StepNavigator.tsx","../../src/components/default/base/TextWrap.tsx"],"sourcesContent":["\"use client\";\n\nimport { CheckIcon, ChevronsUpDown } from \"lucide-react\";\nimport React from \"react\";\nimport { useDebouncedCallback } from \"use-debounce\";\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 AutoCompleteProps<T> {\n\tvalue: T | null;\n\tonChange: (value: T | null) => void;\n\tplaceholder?: string;\n\tsearchPlaceholder?: string;\n\topen: boolean;\n\tonOpenChange: (open: boolean) => void;\n\tdisabled?: boolean;\n\tmessageEmpty?: string;\n\tfetchOptions: (term: string) => Promise<T[]>;\n\tgetOptionLabel: (option: T) => string;\n\tgetOptionKey: (option: T) => string | number;\n\tonSelect?: (option: T) => void;\n\tclassName?: string;\n}\n\nexport function AutoComplete<T>({\n\tvalue,\n\tonChange,\n\tplaceholder,\n\tsearchPlaceholder,\n\topen,\n\tonOpenChange,\n\tdisabled,\n\tmessageEmpty = \"Nenhum item encontrado.\",\n\tfetchOptions,\n\tgetOptionLabel,\n\tgetOptionKey,\n\tonSelect,\n\tclassName,\n}: AutoCompleteProps<T>) {\n\tconst [options, setOptions] = React.useState<T[]>([]);\n\tconst [loading, setLoading] = React.useState(false);\n\tconst [searchTerm, setSearchTerm] = React.useState(\"\");\n\n\tconst sortedOptions = React.useMemo(() => {\n\t\tif (!value) return options;\n\t\treturn [...options].sort((a, b) => {\n\t\t\tif (getOptionLabel(a) === getOptionLabel(value)) return -1;\n\t\t\tif (getOptionLabel(b) === getOptionLabel(value)) return 1;\n\t\t\treturn getOptionLabel(a).localeCompare(getOptionLabel(b));\n\t\t});\n\t}, [options, value, getOptionLabel]);\n\n\tconst debouncedFetch = useDebouncedCallback(async (term: string) => {\n\t\ttry {\n\t\t\tconst result = await fetchOptions(term);\n\t\t\tsetOptions(result);\n\t\t} catch (err) {\n\t\t\tconsole.error(\"Erro ao buscar opções:\", err);\n\t\t\tsetOptions([]);\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t}, 500);\n\n\tconst handleInputChange = (val: string) => {\n\t\tsetSearchTerm(val);\n\n\t\tif (val.trim() === \"\") {\n\t\t\tsetOptions([]);\n\t\t\tsetLoading(false);\n\t\t\treturn;\n\t\t}\n\n\t\tsetLoading(true);\n\t\tdebouncedFetch(val);\n\t};\n\n\tconst handleSelect = (option: T) => {\n\t\tif (onSelect) {\n\t\t\tonSelect(option);\n\t\t} else {\n\t\t\tonChange(option);\n\t\t\tonOpenChange(false);\n\t\t}\n\t};\n\n\treturn (\n\t\t<Popover open={open} onOpenChange={onOpenChange}>\n\t\t\t<PopoverTrigger asChild>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\tclassName={cn(\"flex h-10 w-full items-center justify-between truncate\", className)}\n\t\t\t\t\taria-expanded={open}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t>\n\t\t\t\t\t<span className={cn(\"text-muted-foreground\", value && \"text-foreground\")}>\n\t\t\t\t\t\t{value ? getOptionLabel(value) : placeholder}\n\t\t\t\t\t</span>\n\t\t\t\t\t<ChevronsUpDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n\t\t\t\t</Button>\n\t\t\t</PopoverTrigger>\n\t\t\t<PopoverContent\n\t\t\t\tclassName=\"max-h-[300px] w-[--radix-popover-trigger-width] overflow-auto p-0\"\n\t\t\t\tside=\"bottom\"\n\t\t\t\talign=\"start\"\n\t\t\t>\n\t\t\t\t<Command>\n\t\t\t\t\t<CommandInput\n\t\t\t\t\t\tplaceholder={searchPlaceholder}\n\t\t\t\t\t\tclassName=\"h-9\"\n\t\t\t\t\t\tonValueChange={handleInputChange}\n\t\t\t\t\t/>\n\t\t\t\t\t<CommandEmpty>\n\t\t\t\t\t\t{loading\n\t\t\t\t\t\t\t? \"Carregando...\"\n\t\t\t\t\t\t\t: searchTerm.trim() === \"\"\n\t\t\t\t\t\t\t\t? \"Digite algo para buscar...\"\n\t\t\t\t\t\t\t\t: messageEmpty}\n\t\t\t\t\t</CommandEmpty>\n\t\t\t\t\t<CommandList className=\"max-h-60 overflow-y-auto\">\n\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t{sortedOptions.map((item) => {\n\t\t\t\t\t\t\t\tconst label = getOptionLabel(item);\n\t\t\t\t\t\t\t\tconst key = getOptionKey(item);\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<CommandItem key={key} value={label} onSelect={() => handleSelect(item)}>\n\t\t\t\t\t\t\t\t\t\t{value && getOptionLabel(value) === label && (\n\t\t\t\t\t\t\t\t\t\t\t<CheckIcon className=\"h-4 w-4 opacity-100\" />\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t<span>{label}</span>\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})}\n\t\t\t\t\t\t</CommandGroup>\n\t\t\t\t\t</CommandList>\n\t\t\t\t</Command>\n\t\t\t</PopoverContent>\n\t\t</Popover>\n\t);\n}\n","\"use client\";\n\nimport React from \"react\";\nimport { Badge, type BadgeVariants } from \"@/components/ui/badge\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"@/components/ui/tooltip\";\n\ninterface BadgeListLimitedProps {\n\titems: string[];\n\tmaxVisible?: number;\n\tvariant?: BadgeVariants;\n\tsubtle?: boolean;\n\ttooltipItems?: string[];\n}\n\n/**\n * Componente que exibe uma lista de Badges com limite de itens visíveis.\n * Se houver mais itens do que o limite, exibe um Badge adicional com \"+N\".\n *\n * @param items - Array de strings para exibir como Badges\n * @param maxVisible - Número máximo de Badges visíveis (padrão: 3)\n * @param variant - Variante do Badge (padrão: \"default\")\n * @param subtle - Se o Badge deve ter estilo sutil (padrão: true)\n * @param tooltipItems - Array de strings para exibir no tooltip (opcional). Se fornecido, exibe todos os itens no tooltip, cada um em uma linha.\n */\nexport const BadgeListLimited: React.FC<BadgeListLimitedProps> = ({\n\titems,\n\tmaxVisible = 3,\n\tvariant = \"default\",\n\tsubtle = true,\n\ttooltipItems,\n}) => {\n\tconst visibleItems = items.slice(0, maxVisible);\n\tconst remainingCount = items.length - maxVisible;\n\tconst hasMore = remainingCount > 0;\n\n\tconst hiddenItems = items.slice(maxVisible);\n\tconst itemsToShowInTooltip = tooltipItems || hiddenItems;\n\n\treturn (\n\t\t<div className=\"flex flex-wrap items-center gap-2.5\">\n\t\t\t{visibleItems.map((item) => (\n\t\t\t\t<Badge key={item} variant={variant} subtle={subtle}>\n\t\t\t\t\t{item}\n\t\t\t\t</Badge>\n\t\t\t))}\n\t\t\t{hasMore &&\n\t\t\t\t(itemsToShowInTooltip.length > 0 ? (\n\t\t\t\t\t<TooltipProvider>\n\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\t<TooltipTrigger asChild>\n\t\t\t\t\t\t\t\t<Badge variant={variant} subtle={subtle}>\n\t\t\t\t\t\t\t\t\t+{remainingCount}\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t</TooltipTrigger>\n\t\t\t\t\t\t\t<TooltipContent>\n\t\t\t\t\t\t\t\t<div className=\"flex flex-col gap-1 max-h-[200px] overflow-y-auto text-xs\">\n\t\t\t\t\t\t\t\t\t{itemsToShowInTooltip.map((tooltipItem) => (\n\t\t\t\t\t\t\t\t\t\t<div key={tooltipItem}>{tooltipItem}</div>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</TooltipContent>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</TooltipProvider>\n\t\t\t\t) : (\n\t\t\t\t\t<Badge variant={variant} subtle={subtle}>\n\t\t\t\t\t\t+{remainingCount}\n\t\t\t\t\t</Badge>\n\t\t\t\t))}\n\t\t</div>\n\t);\n};\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link isWeekend} function options.\n */\n\n/**\n * @name isWeekend\n * @category Weekday Helpers\n * @summary Does the given date fall on a weekend?\n *\n * @description\n * Does the given date fall on a weekend? A weekend is either Saturday (`6`) or Sunday (`0`).\n *\n * @param date - The date to check\n * @param options - An object with options\n *\n * @returns The date falls on a weekend\n *\n * @example\n * // Does 5 October 2014 fall on a weekend?\n * const result = isWeekend(new Date(2014, 9, 5))\n * //=> true\n */\nexport function isWeekend(date, options) {\n const day = toDate(date, options?.in).getDay();\n return day === 0 || day === 6;\n}\n\n// Fallback for modularized imports:\nexport default isWeekend;\n","\"use client\";\n\nimport { format, isWeekend } from \"date-fns\";\nimport { ptBR } from \"date-fns/locale\";\nimport { CalendarDaysIcon, LoaderCircleIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { Button, type ButtonProps } from \"@/components/ui/button\";\nimport { Calendar } from \"@/components/ui/calendar\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { cn } from \"@/lib/utils\";\nimport { tryParseDate } from \"@/utils/date\";\n\nexport function normalizeDate(date: Date): string {\n\treturn format(date, \"yyyy-MM-dd\");\n}\n\nexport interface CalendarPopoverProps\n\textends Omit<React.ComponentProps<typeof Calendar>, \"mode\" | \"selected\" | \"onSelect\"> {\n\t/** Data selecionada (pode ser Date ou string parseável) */\n\tdate: Date | string | undefined;\n\n\t/** Função chamada ao selecionar uma data */\n\tsetDate: (date: Date | undefined) => void;\n\n\t/** Texto exibido quando não há data selecionada */\n\tplaceholder?: string;\n\n\t/** ID opcional do botão */\n\tid?: string;\n\n\t/** Props extras para o botão */\n\tbuttonProps?: ButtonProps;\n\n\t/** Props extras para o popover */\n\tpopoverProps?: React.ComponentProps<typeof Popover>;\n\n\t/** Classe extra para o conteúdo do popover */\n\tpopoverContentClassName?: string;\n\n\t/** Classe extra para o botão */\n\tclassName?: string;\n\n\t/**\n\t * Permite desabilitar datas específicas (igual ao Calendar do shadcn)\n\t * Pode ser um boolean, ou uma função que recebe a data e retorna boolean\n\t */\n\tdisabled?: boolean | ((date: Date) => boolean);\n\n\t/**\n\t * Exibe o estado de carregamento geral do componente\n\t * Quando true, mostra o ícone de loading e desabilita a interação\n\t */\n\tisLoading?: boolean;\n\n\t/**\n\t * Exibe o estado de carregamento específico da tabela (caso exista)\n\t * Quando true, impede a seleção de datas no calendário\n\t */\n\tisLoadingTable?: boolean;\n\n\t/**\n\t * Define um conjunto de datas desabilitadas (formato 'yyyy-MM-dd')\n\t * Cada data presente neste Set será bloqueada na seleção do calendário\n\t */\n\tdisabledDates?: Set<string>;\n\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}\n\nexport const CalendarPopover: React.FC<CalendarPopoverProps> = ({\n\tdate,\n\tsetDate,\n\tplaceholder = \"Selecione uma data\",\n\tid = \"calendar-popover\",\n\tbuttonProps,\n\tpopoverProps,\n\tpopoverContentClassName,\n\tclassName,\n\tdisabled,\n\tisLoading,\n\tdisabledDates,\n\tisLoadingTable,\n\t...props\n}) => {\n\tconst validDate = tryParseDate(date);\n\n\treturn (\n\t\t<Popover {...popoverProps}>\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:text-foreground justify-start text-left font-normal\",\n\t\t\t\t\t\t!validDate && \"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={typeof disabled === \"boolean\" ? disabled : undefined}\n\t\t\t\t\t{...buttonProps}\n\t\t\t\t>\n\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<LoaderCircleIcon className=\"size-4 animate-spin\" />\n\t\t\t\t\t\t\t<span>carregando...</span>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<CalendarDaysIcon className=\"size-4\" />\n\t\t\t\t\t\t\t{validDate ? format(validDate, \"P\", { locale: ptBR }) : <span>{placeholder}</span>}\n\t\t\t\t\t\t</>\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<Calendar\n\t\t\t\t\tautoFocus\n\t\t\t\t\tcaptionLayout=\"dropdown\"\n\t\t\t\t\tselected={validDate}\n\t\t\t\t\tonSelect={setDate}\n\t\t\t\t\tlocale={ptBR}\n\t\t\t\t\tnumberOfMonths={1}\n\t\t\t\t\tfromYear={2010}\n\t\t\t\t\ttoYear={2040}\n\t\t\t\t\tdisabled={(currentDate) => {\n\t\t\t\t\t\tif (isLoading || isLoadingTable) return true;\n\n\t\t\t\t\t\tconst normalizedCurrentDate = normalizeDate(currentDate);\n\n\t\t\t\t\t\tconst isHoliday = disabledDates?.has(normalizedCurrentDate);\n\t\t\t\t\t\tconst isWeekendDay = isWeekend(currentDate);\n\t\t\t\t\t\tconst isFutureDate = currentDate > new Date();\n\n\t\t\t\t\t\treturn isHoliday || isWeekendDay || isFutureDate;\n\t\t\t\t\t}}\n\t\t\t\t\tdefaultMonth={validDate ?? props.defaultMonth ?? new Date()}\n\t\t\t\t\t{...props}\n\t\t\t\t\tmode=\"single\"\n\t\t\t\t/>\n\t\t\t</PopoverContent>\n\t\t</Popover>\n\t);\n};\n","\"use client\";\n\nimport { Info, X } from \"lucide-react\";\nimport React from \"react\";\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\";\nimport { Button } from \"@/components/ui/button\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { cn } from \"@/lib/utils\";\n\ninterface CollapsibleHelpProps {\n\tchildren?: React.ReactNode;\n\tcontent: React.ReactNode;\n\ttitle?: string;\n\tclassName?: string;\n\tlabel?: React.ReactNode;\n}\n\n/**\n * A simpler CollapsibleHelp component that uses a Popover for the help content.\n * It manages its own open state internally.\n * The trigger is provided as 'children', and the content to show is passed as the 'content' prop.\n *\n * Usage:\n * <CollapsibleHelp\n * content={<p>Help text goes here...</p>}\n * title=\"Help Section\"\n * >\n * <button>Toggle Help</button> // This is your custom trigger\n * </CollapsibleHelp>\n */\nexport function CollapsibleHelp({\n\tchildren,\n\tcontent,\n\ttitle = \"Ajuda\",\n\tclassName,\n\tlabel,\n}: CollapsibleHelpProps) {\n\tconst [open, setOpen] = React.useState(false);\n\n\treturn (\n\t\t<div className={cn(\"flex items-start justify-between gap-2\", className)}>\n\t\t\t{label && <div className=\"flex-1\">{label}</div>}\n\n\t\t\t<Popover open={open} onOpenChange={setOpen}>\n\t\t\t\t<PopoverTrigger asChild>{children}</PopoverTrigger>\n\t\t\t\t<PopoverContent\n\t\t\t\t\tclassName=\"w-100 p-0 border-none bg-transparent shadow-none\"\n\t\t\t\t\talign=\"end\"\n\t\t\t\t\tside=\"bottom\"\n\t\t\t\t>\n\t\t\t\t\t<Alert className=\"relative border-primary/20 shadow-md bg-popover\">\n\t\t\t\t\t\t<Info className=\"h-4 w-4 text-primary\" />\n\t\t\t\t\t\t<AlertTitle className=\"text-primary font-medium\">{title}</AlertTitle>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tclassName=\"absolute top-4 right-4 h-6 w-6 p-0 text-muted-foreground hover:text-foreground\"\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\tsetOpen(false);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<X className=\"h-4 w-4\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<AlertDescription className=\"mt-2 text-sm space-y-3 text-foreground\">\n\t\t\t\t\t\t\t{content}\n\t\t\t\t\t\t</AlertDescription>\n\t\t\t\t\t</Alert>\n\t\t\t\t</PopoverContent>\n\t\t\t</Popover>\n\t\t</div>\n\t);\n}\n","\"use client\";\n\nimport React from \"react\";\nimport { BadgeListLimited } from \"@/components/default/base/BadgeListLimited\";\nimport { ListItem } from \"@/components/default/layout\";\nimport type { BadgeVariants } from \"@/components/ui/badge\";\nimport { Button, type ButtonProps } from \"@/components/ui/button\";\nimport {\n\tDialog,\n\tDialogContent,\n\tDialogDescription,\n\tDialogFooter,\n\tDialogHeader,\n\tDialogTitle,\n\tDialogTrigger,\n} from \"@/components/ui/dialog\";\n\nexport interface ConfirmSaveRowConfig {\n\ttitle: string;\n\t// biome-ignore lint/suspicious/noExplicitAny: <Generic value>\n\tvalue: any;\n\ttype: \"text\" | \"badge-limited\" | \"custom\";\n\tbadge?: {\n\t\tvariant?: BadgeVariants;\n\t\tsubtle?: boolean;\n\t\tmaxVisible?: number;\n\t};\n}\n\ninterface ConfirmSaveProps {\n\tonSave: () => void;\n\tdisabled?: boolean;\n\tdialogTitle?: string;\n\tdialogDescription?: string;\n\tactionTitle?: string;\n\tactionVariant?: ButtonProps[\"variant\"];\n\tchildren?: React.ReactNode;\n\trows?: ConfirmSaveRowConfig[];\n}\n\nexport function ConfirmSave({\n\tonSave,\n\tdisabled,\n\tdialogTitle = \"Confirme os dados da predefinição\",\n\tdialogDescription = \"Verifique se os dados estão corretos antes de salvar. Você pode alterá-los a qualquer momento na lista de predefinições.\",\n\tactionTitle = \"Salvar predefinição\",\n\tchildren,\n\trows = [],\n\tactionVariant = \"default\",\n}: ConfirmSaveProps) {\n\tconst [open, setOpen] = React.useState(false);\n\n\treturn (\n\t\t<Dialog open={open} onOpenChange={setOpen}>\n\t\t\t<DialogTrigger asChild>{children}</DialogTrigger>\n\t\t\t<DialogContent className=\"flex max-h-[90vh] max-w-116 flex-col\">\n\t\t\t\t<DialogHeader className=\"text-left\">\n\t\t\t\t\t<DialogTitle className=\"text-xl font-semibold\">{dialogTitle}</DialogTitle>\n\t\t\t\t\t<DialogDescription>{dialogDescription}</DialogDescription>\n\t\t\t\t</DialogHeader>\n\t\t\t\t<div\n\t\t\t\t\tdata-confirm-save-scrollable\n\t\t\t\t\tclassName=\"flex min-h-0 max-w-full flex-1 flex-col overflow-y-auto py-2\"\n\t\t\t\t>\n\t\t\t\t\t{rows.map((row, index) => {\n\t\t\t\t\t\tif (!row.value || (Array.isArray(row.value) && row.value.length === 0)) {\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet content: React.ReactNode;\n\n\t\t\t\t\t\tif (row.type === \"badge-limited\") {\n\t\t\t\t\t\t\tconst items = Array.isArray(row.value) ? row.value : [];\n\t\t\t\t\t\t\tcontent = (\n\t\t\t\t\t\t\t\t<BadgeListLimited\n\t\t\t\t\t\t\t\t\titems={items}\n\t\t\t\t\t\t\t\t\tvariant={row.badge?.variant || \"default\"}\n\t\t\t\t\t\t\t\t\tsubtle={row.badge?.subtle ?? true}\n\t\t\t\t\t\t\t\t\tmaxVisible={row.badge?.maxVisible}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (row.type === \"custom\") {\n\t\t\t\t\t\t\tcontent = row.value;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontent = row.value || \"-\";\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ListItem\n\t\t\t\t\t\t\t\tkey={`${row.title}-${index}`}\n\t\t\t\t\t\t\t\ttitle={row.title}\n\t\t\t\t\t\t\t\tvalue={content}\n\t\t\t\t\t\t\t\tclassName=\"*:text-sm!\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t\t<DialogFooter>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tonSave();\n\t\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant={actionVariant}\n\t\t\t\t\t\tisAction\n\t\t\t\t\t>\n\t\t\t\t\t\t{actionTitle}\n\t\t\t\t\t</Button>\n\t\t\t\t</DialogFooter>\n\t\t\t</DialogContent>\n\t\t</Dialog>\n\t);\n}\n","\"use client\";\n\nimport React from \"react\";\nimport {\n\tMenubar,\n\tMenubarContent,\n\tMenubarItem,\n\tMenubarMenu,\n\tMenubarTrigger,\n} from \"@/components/ui/menubar\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport type MenuItemConfig = {\n\tvalue: string;\n\tlabel: string;\n\tpath: string;\n\tonClick?: () => void;\n\tsubItems?: { label: string; onClick: () => void }[];\n\t/** Função customizada para determinar se o item está ativo */\n\tisActive?: (pathname: string) => boolean;\n};\n\nexport interface GenericHeadingMenubarProps {\n\t/** Configuração dos itens do menu */\n\tmenuItems: MenuItemConfig[];\n\t/** Classes CSS adicionais para o container */\n\tclassName?: string;\n\t/** Conteúdo adicional a ser renderizado ao lado do menu */\n\tchildren?: React.ReactNode;\n\t/** Desabilita todos os itens do menu */\n\tdisabled?: boolean;\n\t/** Função customizada para determinar se um item está ativo (fallback) */\n\tdefaultIsActive?: (menuValue: string, pathname: string) => boolean;\n\t/** Caminho atual da rota (para highlight do ativo). Compatível com Next.js e React Router. */\n\tcurrentPath?: string;\n\t/** Função executada ao solicitar navegação (ex: router.push ou navigate). */\n\tonNavigate?: (path: string) => void;\n}\n\n/**\n * Componente genérico de menubar para navegação entre páginas.\n * Ajustado para ser agnóstico de framework (Next.js ou React puro).\n *\n * @example\n * ```tsx\n * // Exemplo com Next.js\n * const router = useRouter();\n * const pathname = usePathname();\n *\n * <GenericHeadingMenubar\n * menuItems={menuItems}\n * currentPath={pathname}\n * onNavigate={(path) => router.push(path)}\n * />\n * ```\n */\nexport const GenericHeadingMenubar: React.FC<GenericHeadingMenubarProps> = ({\n\tmenuItems,\n\tclassName,\n\tchildren,\n\tdisabled,\n\tdefaultIsActive,\n\tcurrentPath = \"\",\n\tonNavigate,\n}) => {\n\t/**\n\t * Determina se um item do menu está ativo\n\t */\n\tconst isMenuItemActive = (menu: MenuItemConfig): boolean => {\n\t\t// Se o item tem uma função customizada, usa ela\n\t\tif (menu.isActive) {\n\t\t\treturn menu.isActive(currentPath);\n\t\t}\n\n\t\t// Se foi passada uma função padrão, usa ela\n\t\tif (defaultIsActive) {\n\t\t\treturn defaultIsActive(menu.value, currentPath);\n\t\t}\n\n\t\t// Fallback: compara o pathname com o path do menu\n\t\treturn currentPath === menu.path;\n\t};\n\n\t/**\n\t * Handler padrão de clique (navega para o path)\n\t */\n\tconst handleMenuClick = (menu: MenuItemConfig) => {\n\t\tif (menu.onClick) {\n\t\t\tmenu.onClick();\n\t\t} else if (onNavigate) {\n\t\t\tonNavigate(menu.path);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className={cn(\"flex flex-wrap items-center justify-between\", className)}>\n\t\t\t<Menubar>\n\t\t\t\t{menuItems.map((menu) => (\n\t\t\t\t\t<MenubarMenu key={menu.value}>\n\t\t\t\t\t\t<MenubarTrigger\n\t\t\t\t\t\t\tonClick={() => handleMenuClick(menu)}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\"flex items-center gap-1 disabled:opacity-50 aria-disabled:opacity-50\",\n\t\t\t\t\t\t\t\tisMenuItemActive(menu) && \"bg-accent text-accent-foreground\",\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\taria-disabled={disabled}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{menu.label}\n\t\t\t\t\t\t</MenubarTrigger>\n\n\t\t\t\t\t\t{menu.subItems && (\n\t\t\t\t\t\t\t<MenubarContent>\n\t\t\t\t\t\t\t\t{menu.subItems.map((item) => (\n\t\t\t\t\t\t\t\t\t<MenubarItem key={item.label} onClick={item.onClick}>\n\t\t\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t\t\t</MenubarItem>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</MenubarContent>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</MenubarMenu>\n\t\t\t\t))}\n\t\t\t</Menubar>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n","\"use client\";\n\nimport React from \"react\";\nimport {\n\tTable,\n\tTableBody,\n\tTableCell,\n\tTableHead,\n\tTableHeader,\n\tTableRow,\n} from \"@/components/ui/table\";\n\nexport interface ColumnConfig<T> {\n\theader: string;\n\tcell: (item: T) => React.ReactNode;\n\tclassName?: string;\n}\n\nexport interface GenericTableProps<T> {\n\tdata: T[];\n\tcolumns: ColumnConfig<T>[];\n\trenderSeparator?: (index: number) => React.ReactNode;\n\temptyMessage?: string;\n\tclassName?: string;\n\tkeyExtractor?: (item: T, index: number) => string | number;\n}\n\nexport function GenericTable<T>({\n\tdata,\n\tcolumns,\n\trenderSeparator,\n\temptyMessage = \"Nenhum dado encontrado.\",\n\tclassName,\n\tkeyExtractor,\n}: GenericTableProps<T>) {\n\tif (!data || data.length === 0) {\n\t\treturn <div className=\"text-muted-foreground\">{emptyMessage}</div>;\n\t}\n\n\treturn (\n\t\t<div className={`rounded-md border ${className ?? \"\"}`}>\n\t\t\t<Table>\n\t\t\t\t<TableHeader>\n\t\t\t\t\t<TableRow>\n\t\t\t\t\t\t{columns.map((col, index) => (\n\t\t\t\t\t\t\t<TableHead key={index.toString()}>{col.header}</TableHead>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</TableRow>\n\t\t\t\t</TableHeader>\n\t\t\t\t<TableBody>\n\t\t\t\t\t{data.map((item, index) => {\n\t\t\t\t\t\tconst rowKey = keyExtractor ? keyExtractor(item, index) : index;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<React.Fragment key={rowKey}>\n\t\t\t\t\t\t\t\t<TableRow>\n\t\t\t\t\t\t\t\t\t{columns.map((col, colIndex) => (\n\t\t\t\t\t\t\t\t\t\t<TableCell key={colIndex.toString()} className={col.className}>\n\t\t\t\t\t\t\t\t\t\t\t{col.cell(item)}\n\t\t\t\t\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</TableRow>\n\t\t\t\t\t\t\t\t{renderSeparator?.(index)}\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</TableBody>\n\t\t\t</Table>\n\t\t</div>\n\t);\n}\n","\"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","\"use client\";\n\nimport React from \"react\";\nimport {\n\tAccordion,\n\tAccordionContent,\n\tAccordionItem,\n\tAccordionTrigger,\n} from \"@/components/ui/accordion\";\nimport { cn } from \"@/lib/utils\";\n\ninterface HeaderProps {\n\ttitle: string;\n\tdescription: string;\n\tclassName?: string;\n\tclassNameDescription?: string;\n\tchildren?: React.ReactNode;\n\tdefaultValue?: string;\n\tdefaultOpen?: boolean;\n\tmenu?: React.ReactNode;\n}\n\nexport const Header: React.FC<HeaderProps> = ({\n\ttitle,\n\tdescription,\n\tclassName,\n\tclassNameDescription,\n\tchildren,\n\tdefaultValue = \"item-1\",\n\tdefaultOpen = false,\n\tmenu,\n}) => {\n\tconst [value, setValue] = React.useState<string>(defaultOpen ? defaultValue : \"\");\n\n\tconst isOpen = value === defaultValue;\n\n\treturn (\n\t\t<header className={cn(\"text-content-high max-w-5xl px-4 py-1 text-xl\", className)}>\n\t\t\t<Accordion\n\t\t\t\ttype=\"single\"\n\t\t\t\tcollapsible\n\t\t\t\tclassName=\"w-full\"\n\t\t\t\tvalue={value}\n\t\t\t\tonValueChange={setValue}\n\t\t\t>\n\t\t\t\t<AccordionItem className=\"border-b-0\" value={defaultValue}>\n\t\t\t\t\t<AccordionTrigger\n\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\tclassName=\"justify-start gap-2 py-2 text-xl font-bold\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</AccordionTrigger>\n\t\t\t\t\t<AccordionContent className=\"text-content-medium text-base\">\n\t\t\t\t\t\t<p className={cn(\"text-content-medium text-base\", classNameDescription)}>\n\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t{isOpen && menu && <div className=\"my-4 text-foreground\">{menu}</div>}\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</AccordionContent>\n\t\t\t\t</AccordionItem>\n\t\t\t</Accordion>\n\t\t\t{!isOpen && menu && <div className=\"my-4\">{menu}</div>}\n\t\t</header>\n\t);\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { Badge, type BadgeProps } from \"@/components/ui/badge\";\nimport { HoverCard, HoverCardContent, HoverCardTrigger } from \"@/components/ui/hover-card\";\n\ninterface HoverBadgeProps {\n\ttitle: string;\n\tdescription?: string;\n\tvariant: BadgeProps[\"variant\"];\n\tclassName?: string;\n\tshowTitleInDescription?: boolean;\n\tsubtle?: boolean;\n}\n\nexport const HoverBadge: React.FC<HoverBadgeProps> = ({\n\ttitle,\n\tdescription,\n\tvariant,\n\tclassName,\n\tshowTitleInDescription = true,\n\tsubtle = false,\n}) => {\n\treturn (\n\t\t<HoverCard>\n\t\t\t<HoverCardTrigger>\n\t\t\t\t<Badge variant={variant} subtle={subtle}>\n\t\t\t\t\t{title}\n\t\t\t\t</Badge>\n\t\t\t</HoverCardTrigger>\n\t\t\t{description && (\n\t\t\t\t<HoverCardContent className={`${twMerge(\"w-72 space-y-1\", className)}`}>\n\t\t\t\t\t{showTitleInDescription && <span className=\"text-sm font-semibold\">{title}</span>}\n\t\t\t\t\t<p className=\"w-full text-sm text-wrap break-words whitespace-pre-line\">{description}</p>\n\t\t\t\t</HoverCardContent>\n\t\t\t)}\n\t\t</HoverCard>\n\t);\n};\n","\"use client\";\n\nimport { X } from \"lucide-react\";\nimport React from \"react\";\nimport { Button } from \"@/components/ui/button\";\n\ninterface RuleFilterBuilderProps {\n\t// biome-ignore lint/suspicious/noExplicitAny: <any>\n\tfields: any[];\n\tonRemove: (index: number) => void;\n\tonAdd: () => void;\n\tmaxBlocks?: number;\n\tisPending?: boolean;\n\tinstructionContent?: React.ReactNode;\n\trenderConnector?: (index: number) => React.ReactNode;\n\trenderItem: (index: number) => React.ReactNode;\n}\n\nexport function RuleFilterBuilder({\n\tfields,\n\tonRemove,\n\tonAdd,\n\tmaxBlocks = 3,\n\tisPending = false,\n\tinstructionContent,\n\trenderConnector,\n\trenderItem,\n}: RuleFilterBuilderProps) {\n\t// Ensure at least one block exists\n\tReact.useEffect(() => {\n\t\tif (fields.length === 0) {\n\t\t\tonAdd();\n\t\t}\n\t}, [fields.length, onAdd]);\n\n\treturn (\n\t\t<div className=\"space-y-6\">\n\t\t\t{instructionContent && (\n\t\t\t\t<div className=\"bg-muted/50 p-4 rounded-md border text-sm text-muted-foreground mb-4\">\n\t\t\t\t\t{instructionContent}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{fields.map((fieldItem, index) => (\n\t\t\t\t<div key={fieldItem.id} className=\"relative\">\n\t\t\t\t\t{/* Operator Between Blocks */}\n\t\t\t\t\t{index > 0 && (\n\t\t\t\t\t\t<div className=\"relative py-4 flex items-center justify-center\">\n\t\t\t\t\t\t\t<div className=\"absolute inset-0 flex items-center\">\n\t\t\t\t\t\t\t\t<span className=\"w-full border-t border-border\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"relative bg-background px-4\">\n\t\t\t\t\t\t\t\t{renderConnector ? renderConnector(index) : null}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Filter Block */}\n\t\t\t\t\t<div className=\"border rounded-lg bg-card text-card-foreground shadow-sm overflow-hidden\">\n\t\t\t\t\t\t<div className=\"bg-muted/30 px-4 py-3 border-b flex items-center justify-between\">\n\t\t\t\t\t\t\t<div className=\"font-semibold text-sm flex items-center gap-2\">\n\t\t\t\t\t\t\t\t<span className=\"bg-primary/10 text-primary w-6 h-6 flex items-center justify-center rounded-full text-xs\">\n\t\t\t\t\t\t\t\t\t{index + 1}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\tBloco de Seleção {index + 1}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{index > 0 && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\tonClick={() => onRemove(index)}\n\t\t\t\t\t\t\t\t\tclassName=\"hover:bg-destructive hover:text-destructive-foreground h-8 w-8 p-0\"\n\t\t\t\t\t\t\t\t\tdisabled={isPending}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<X className=\"h-4 w-4\" />\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"p-4 grid grid-cols-1 md:grid-cols-2 gap-4\">{renderItem(index)}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t))}\n\n\t\t\t{fields.length < maxBlocks && (\n\t\t\t\t<Button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\tclassName=\"w-full border-dashed\"\n\t\t\t\t\tonClick={onAdd}\n\t\t\t\t\tdisabled={isPending}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<span className=\"font-semibold text-lg\">+</span>\n\t\t\t\t\t\tAdicionar Bloco de Seleção (Restam {maxBlocks - fields.length})\n\t\t\t\t\t</div>\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n","\"use client\";\n\nimport { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { Button } from \"@/components/ui/button\";\nimport { cn } from \"@/lib/utils\";\n\ninterface StepNavigatorProps {\n\t/** Índice atual do passo */\n\tcurrentIndex: number;\n\t/** Total de passos */\n\ttotalSteps: number;\n\t/** Ação ao clicar em \"Anterior\" */\n\tonPrev: () => void;\n\t/** Ação ao clicar em \"Próximo\" */\n\tonNext: () => void;\n\t/** Desabilita os botões (ex: loading) */\n\tdisabled?: boolean;\n\t/** Personalização opcional dos rótulos */\n\tprevLabel?: string;\n\tnextLabel?: string;\n\t/** Controla se deve ocultar os botões ao chegar nas extremidades */\n\thideEdgeButtons?: boolean;\n\tclassName?: string;\n}\n\nexport const StepNavigator: React.FC<StepNavigatorProps> = ({\n\tcurrentIndex,\n\ttotalSteps,\n\tonPrev,\n\tonNext,\n\tdisabled = false,\n\tprevLabel = \"Anterior\",\n\tnextLabel = \"Próximo\",\n\thideEdgeButtons = true,\n\tclassName,\n}) => {\n\tconst isFirst = currentIndex === 0;\n\tconst isLast = currentIndex === totalSteps - 1;\n\n\treturn (\n\t\t<div className={cn(\"flex items-center gap-2\", className)}>\n\t\t\t{(!hideEdgeButtons || !isFirst) && (\n\t\t\t\t<Button type=\"button\" variant=\"secondary\" onClick={onPrev} disabled={disabled || isFirst}>\n\t\t\t\t\t<ChevronLeftIcon className=\"size-4\" />\n\t\t\t\t\t{prevLabel}\n\t\t\t\t</Button>\n\t\t\t)}\n\n\t\t\t{(!hideEdgeButtons || !isLast) && (\n\t\t\t\t<Button type=\"button\" variant=\"secondary\" onClick={onNext} disabled={disabled || isLast}>\n\t\t\t\t\t{nextLabel}\n\t\t\t\t\t<ChevronRightIcon className=\"size-4\" />\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\ninterface TextWrapProps extends React.HTMLAttributes<HTMLDivElement> {\n\tchildren: React.ReactNode;\n}\n\nexport const TextWrap: React.FC<TextWrapProps> = ({ children, className, ...props }) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"line-clamp-4 w-full max-w-60 min-w-60 text-wrap break-words 2xl:max-w-[80%]\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n"],"names":["AutoComplete","value","onChange","placeholder","searchPlaceholder","open","onOpenChange","disabled","messageEmpty","fetchOptions","getOptionLabel","getOptionKey","onSelect","className","options","setOptions","React","useState","loading","setLoading","searchTerm","setSearchTerm","sortedOptions","useMemo","sort","a","b","localeCompare","debouncedFetch","useDebouncedCallback","term","result","err","console","error","handleInputChange","val","trim","handleSelect","option","Popover","PopoverTrigger","asChild","Button","variant","cn","aria-expanded","span","ChevronsUpDown","PopoverContent","side","align","Command","CommandInput","onValueChange","CommandEmpty","CommandList","CommandGroup","map","item","label","key","CommandItem","CheckIcon","BadgeListLimited","items","maxVisible","subtle","tooltipItems","visibleItems","slice","remainingCount","length","hasMore","hiddenItems","itemsToShowInTooltip","div","Badge","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","tooltipItem","isWeekend","date","day","toDate","in","getDay","normalizeDate","format","CalendarPopover","setDate","id","buttonProps","popoverProps","popoverContentClassName","isLoading","disabledDates","isLoadingTable","props","validDate","tryParseDate","undefined","LoaderCircleIcon","CalendarDaysIcon","locale","ptBR","Calendar","autoFocus","captionLayout","selected","numberOfMonths","fromYear","toYear","currentDate","normalizedCurrentDate","isHoliday","has","isWeekendDay","isFutureDate","Date","defaultMonth","mode","CollapsibleHelp","children","content","title","setOpen","Alert","Info","AlertTitle","size","type","onClick","e","stopPropagation","X","AlertDescription","ConfirmSave","onSave","dialogTitle","dialogDescription","actionTitle","rows","actionVariant","Dialog","DialogTrigger","DialogContent","DialogHeader","DialogTitle","DialogDescription","data-confirm-save-scrollable","row","index","Array","isArray","badge","ListItem","DialogFooter","isAction","GenericHeadingMenubar","menuItems","defaultIsActive","currentPath","onNavigate","isMenuItemActive","menu","isActive","path","handleMenuClick","Menubar","MenubarMenu","MenubarTrigger","aria-disabled","subItems","MenubarContent","MenubarItem","GenericTable","data","columns","renderSeparator","emptyMessage","keyExtractor","Table","TableHeader","TableRow","col","TableHead","toString","header","TableBody","rowKey","Fragment","colIndex","TableCell","cell","GenericTabs","tabs","controlledValue","triggerClassName","widthCurrent","activeTab","filter","t","matchString","match","includes","lenA","lenB","handleNavigate","tab","Tabs","ScrollArea","TabsList","TabsTrigger","ScrollBar","orientation","Header","description","classNameDescription","defaultValue","defaultOpen","setValue","isOpen","Accordion","collapsible","AccordionItem","AccordionTrigger","iconPosition","AccordionContent","p","HoverBadge","showTitleInDescription","HoverCard","HoverCardTrigger","HoverCardContent","twMerge","RuleFilterBuilder","fields","onRemove","onAdd","maxBlocks","isPending","instructionContent","renderConnector","renderItem","useEffect","fieldItem","StepNavigator","currentIndex","totalSteps","onPrev","onNext","prevLabel","nextLabel","hideEdgeButtons","isFirst","isLast","ChevronLeftIcon","ChevronRightIcon","TextWrap"],"mappings":"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","x_google_ignoreList":[2]}
@@ -1,10 +1,10 @@
1
1
  import { Slot } from '@radix-ui/react-slot';
2
2
  import * as React from 'react';
3
- import { c as cn } from '../chunks/utils-CZzyeare.mjs';
4
- import { C as ChevronRight } from '../chunks/chevron-right-gwqv7hdT.mjs';
5
- import { E as Ellipsis } from '../chunks/ellipsis-Bc1Luije.mjs';
6
- import '../chunks/bundle-mjs-DsNiaMJS.mjs';
7
- import '../chunks/createLucideIcon-DfHHy_fF.mjs';
3
+ import { c as cn } from '../chunks/utils-BOlqGJrg.mjs';
4
+ import { C as ChevronRight } from '../chunks/chevron-right-BBzqWfgU.mjs';
5
+ import { E as Ellipsis } from '../chunks/ellipsis-DvX337aw.mjs';
6
+ import '../chunks/bundle-mjs-Lvc-Dri9.mjs';
7
+ import '../chunks/createLucideIcon-0uwxvfEG.mjs';
8
8
 
9
9
  function Breadcrumb({ ...props }) {
10
10
  return /*#__PURE__*/ React.createElement("nav", {
@@ -3,7 +3,7 @@ import { VariantProps } from 'class-variance-authority';
3
3
  import * as React from 'react';
4
4
 
5
5
  declare const buttonVariants: (props?: ({
6
- variant?: "default" | "secondary" | "destructive" | "outline" | "selection" | "upload" | "ghost" | "link" | "table" | null | undefined;
6
+ variant?: "default" | "destructive" | "secondary" | "outline" | "selection" | "upload" | "ghost" | "link" | "table" | null | undefined;
7
7
  size?: "default" | "sm" | "lg" | "icon" | "normal" | "icon-sm" | "icon-lg" | null | undefined;
8
8
  } & class_variance_authority_types.ClassProp) | undefined) => string;
9
9
  interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {