ivt 0.8.6 → 0.8.7

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 (312) hide show
  1. package/dist/accordion/index.mjs +13 -13
  2. package/dist/accordion-table/index.mjs +27 -27
  3. package/dist/alert/index.mjs +3 -3
  4. package/dist/alert-dialog/index.mjs +15 -15
  5. package/dist/auto-complete-multi-select/index.mjs +49 -43
  6. package/dist/auto-complete-multi-select/index.mjs.map +1 -1
  7. package/dist/avatar/index.mjs +5 -5
  8. package/dist/badge/index.mjs +3 -3
  9. package/dist/base/index.d.ts +53 -7
  10. package/dist/base/index.mjs +131 -163
  11. package/dist/base/index.mjs.map +1 -1
  12. package/dist/breadcrumb/index.mjs +5 -5
  13. package/dist/button/index.mjs +3 -3
  14. package/dist/button-group/index.mjs +4 -4
  15. package/dist/calendar/index.mjs +9 -9
  16. package/dist/card/index.mjs +3 -3
  17. package/dist/carousel/index.mjs +4 -4
  18. package/dist/chart/index.mjs +4 -4
  19. package/dist/checkbox/index.mjs +12 -12
  20. package/dist/chunks/ButtonActions-BbAuGm_J.mjs +54 -0
  21. package/dist/chunks/ButtonActions-BbAuGm_J.mjs.map +1 -0
  22. package/dist/chunks/{CalendarPopover-Dk28a8Qn.mjs → CalendarPopover-DNS2oszG.mjs} +62 -33
  23. package/dist/chunks/CalendarPopover-DNS2oszG.mjs.map +1 -0
  24. package/dist/chunks/{CalendarRange-CbhXjWnp.mjs → CalendarRange-BZ-rc5Ns.mjs} +34 -18
  25. package/dist/chunks/CalendarRange-BZ-rc5Ns.mjs.map +1 -0
  26. package/dist/chunks/{ComboboxField-eIBC97OK.mjs → ComboboxField-C5LrSTQf.mjs} +9 -9
  27. package/dist/chunks/{ComboboxField-eIBC97OK.mjs.map → ComboboxField-C5LrSTQf.mjs.map} +1 -1
  28. package/dist/chunks/{Container-DxWW9WTJ.mjs → Container-qhzI-HED.mjs} +2 -2
  29. package/dist/chunks/{Container-DxWW9WTJ.mjs.map → Container-qhzI-HED.mjs.map} +1 -1
  30. package/dist/chunks/{DeleteConfirmationModal-PwsfBFPv.mjs → DeleteConfirmationModal-NPS_J_dT.mjs} +4 -4
  31. package/dist/chunks/{DeleteConfirmationModal-PwsfBFPv.mjs.map → DeleteConfirmationModal-NPS_J_dT.mjs.map} +1 -1
  32. package/dist/chunks/ExportButtons-BtYHz3q3.mjs +364 -0
  33. package/dist/chunks/ExportButtons-BtYHz3q3.mjs.map +1 -0
  34. package/dist/chunks/{GenericTabs-CtJk8qVb.d.ts → GenericTabs-B6Sm4mwD.d.ts} +7 -2
  35. package/dist/chunks/{GenericTabs-CHcF7U9y.mjs → GenericTabs-CqunvZEw.mjs} +9 -8
  36. package/dist/chunks/GenericTabs-CqunvZEw.mjs.map +1 -0
  37. package/dist/chunks/{ListItem-CoWJkU9U.mjs → ListItem-CtUZSq2i.mjs} +6 -6
  38. package/dist/chunks/ListItem-CtUZSq2i.mjs.map +1 -0
  39. package/dist/chunks/ShowSkeleton-DuVLsprm.mjs +72 -0
  40. package/dist/chunks/ShowSkeleton-DuVLsprm.mjs.map +1 -0
  41. package/dist/chunks/ShowSkeleton-enwVHCqE.d.ts +12 -0
  42. package/dist/chunks/StepNavigator-DXnlZUw2.mjs +136 -0
  43. package/dist/chunks/StepNavigator-DXnlZUw2.mjs.map +1 -0
  44. package/dist/chunks/{TooltipIndicator-BHCKFiPx.mjs → TooltipIndicator-o_ekzuQD.mjs} +4 -4
  45. package/dist/chunks/{TooltipIndicator-BHCKFiPx.mjs.map → TooltipIndicator-o_ekzuQD.mjs.map} +1 -1
  46. package/dist/chunks/{_commonjsHelpers-Bx7yLjXw.mjs → _commonjsHelpers-DLsfzCcd.mjs} +1 -1
  47. package/dist/chunks/_commonjsHelpers-DLsfzCcd.mjs.map +1 -0
  48. package/dist/chunks/{accordion-eJ4NoCGZ.mjs → accordion-BcAmhbBS.mjs} +9 -9
  49. package/dist/chunks/{accordion-eJ4NoCGZ.mjs.map → accordion-BcAmhbBS.mjs.map} +1 -1
  50. package/dist/chunks/{alert-DgjSAjJE.mjs → alert-Ciu-8LcJ.mjs} +2 -2
  51. package/dist/chunks/{alert-DgjSAjJE.mjs.map → alert-Ciu-8LcJ.mjs.map} +1 -1
  52. package/dist/chunks/{badge-B6L7PP2k.mjs → badge-ZU62MOiS.mjs} +2 -2
  53. package/dist/chunks/{badge-B6L7PP2k.mjs.map → badge-ZU62MOiS.mjs.map} +1 -1
  54. package/dist/chunks/{bundle-mjs-BUGtC8WI.mjs → bundle-mjs-CXmmFvYo.mjs} +1 -1
  55. package/dist/chunks/{bundle-mjs-BUGtC8WI.mjs.map → bundle-mjs-CXmmFvYo.mjs.map} +1 -1
  56. package/dist/chunks/button-CHGYaAzJ.d.ts +17 -0
  57. package/dist/chunks/{button-ipHWqubg.mjs → button-CZpmCmNo.mjs} +2 -2
  58. package/dist/chunks/{button-ipHWqubg.mjs.map → button-CZpmCmNo.mjs.map} +1 -1
  59. package/dist/chunks/{button-group-1Ufw4ytA.mjs → button-group-ChymO3Hm.mjs} +3 -3
  60. package/dist/chunks/{button-group-1Ufw4ytA.mjs.map → button-group-ChymO3Hm.mjs.map} +1 -1
  61. package/dist/chunks/{calendar-bYikS8Dj.mjs → calendar-CDJv1B--.mjs} +7 -7
  62. package/dist/chunks/{calendar-bYikS8Dj.mjs.map → calendar-CDJv1B--.mjs.map} +1 -1
  63. package/dist/chunks/{calendar-days-CYxfkz0x.mjs → calendar-days-DnYx8d46.mjs} +2 -2
  64. package/dist/chunks/{calendar-days-CYxfkz0x.mjs.map → calendar-days-DnYx8d46.mjs.map} +1 -1
  65. package/dist/chunks/{card-SwKeS_1_.mjs → card-CEohNEru.mjs} +2 -2
  66. package/dist/chunks/{card-SwKeS_1_.mjs.map → card-CEohNEru.mjs.map} +1 -1
  67. package/dist/chunks/{check-BcL3DXZb.mjs → check-Ds358kZc.mjs} +2 -2
  68. package/dist/chunks/{check-BcL3DXZb.mjs.map → check-Ds358kZc.mjs.map} +1 -1
  69. package/dist/chunks/{checkbox-KwWS11aZ.mjs → checkbox-DvxpZsiG.mjs} +9 -9
  70. package/dist/chunks/{checkbox-KwWS11aZ.mjs.map → checkbox-DvxpZsiG.mjs.map} +1 -1
  71. package/dist/chunks/{chevron-down-VVHD7dC4.mjs → chevron-down-CDFTds2-.mjs} +2 -2
  72. package/dist/chunks/{chevron-down-VVHD7dC4.mjs.map → chevron-down-CDFTds2-.mjs.map} +1 -1
  73. package/dist/chunks/{chevron-left-alk1ZJbf.mjs → chevron-left-Baq244Ce.mjs} +2 -2
  74. package/dist/chunks/{chevron-left-alk1ZJbf.mjs.map → chevron-left-Baq244Ce.mjs.map} +1 -1
  75. package/dist/chunks/{chevron-right-C4T232LB.mjs → chevron-right-Dq6zFe5E.mjs} +2 -2
  76. package/dist/chunks/{chevron-right-C4T232LB.mjs.map → chevron-right-Dq6zFe5E.mjs.map} +1 -1
  77. package/dist/chunks/{chevrons-up-down-DOPAGbXb.mjs → chevrons-up-down-CdBVNy4c.mjs} +2 -2
  78. package/dist/chunks/{chevrons-up-down-DOPAGbXb.mjs.map → chevrons-up-down-CdBVNy4c.mjs.map} +1 -1
  79. package/dist/chunks/combobox-D9iqP8Dp.mjs +103 -0
  80. package/dist/chunks/combobox-D9iqP8Dp.mjs.map +1 -0
  81. package/dist/chunks/{command-D6Om1YRG.mjs → command-o67hOCgH.mjs} +10 -10
  82. package/dist/chunks/command-o67hOCgH.mjs.map +1 -0
  83. package/dist/chunks/{createLucideIcon-BxEkCUha.mjs → createLucideIcon-C11Tr46U.mjs} +1 -1
  84. package/dist/chunks/{createLucideIcon-BxEkCUha.mjs.map → createLucideIcon-C11Tr46U.mjs.map} +1 -1
  85. package/dist/chunks/{date-DHdJpggz.mjs → date-Dqmv8Nr4.mjs} +2 -2
  86. package/dist/chunks/{date-DHdJpggz.mjs.map → date-Dqmv8Nr4.mjs.map} +1 -1
  87. package/dist/chunks/{date-picker-CrZsqFq1.mjs → date-picker-BBCtT16G.mjs} +13 -13
  88. package/dist/chunks/date-picker-BBCtT16G.mjs.map +1 -0
  89. package/dist/chunks/{dialog-DBzJ_Uvh.mjs → dialog-DL1cSseU.mjs} +4 -4
  90. package/dist/chunks/{dialog-DBzJ_Uvh.mjs.map → dialog-DL1cSseU.mjs.map} +1 -1
  91. package/dist/chunks/{dropdown-menu-Cl6NFvkg.mjs → dropdown-menu-DnPBut1Q.mjs} +9 -9
  92. package/dist/chunks/{dropdown-menu-Cl6NFvkg.mjs.map → dropdown-menu-DnPBut1Q.mjs.map} +1 -1
  93. package/dist/chunks/{ellipsis-DGGGgQfW.mjs → ellipsis-Cn3R-5sm.mjs} +2 -2
  94. package/dist/chunks/{ellipsis-DGGGgQfW.mjs.map → ellipsis-Cn3R-5sm.mjs.map} +1 -1
  95. package/dist/chunks/{form-DnPCp-Jr.mjs → form-paAECAsZ.mjs} +3 -3
  96. package/dist/chunks/{form-DnPCp-Jr.mjs.map → form-paAECAsZ.mjs.map} +1 -1
  97. package/dist/chunks/{format-DWYRGSuv.mjs → format-8qs-kXlN.mjs} +1 -1
  98. package/dist/chunks/{format-DWYRGSuv.mjs.map → format-8qs-kXlN.mjs.map} +1 -1
  99. package/dist/chunks/{format-numbers-CB_euyLQ.mjs → format-numbers-LmnBEQr0.mjs} +1 -1
  100. package/dist/chunks/{format-numbers-CB_euyLQ.mjs.map → format-numbers-LmnBEQr0.mjs.map} +1 -1
  101. package/dist/chunks/{hover-card-Bl4vbgQb.mjs → hover-card-Bf6OuOg0.mjs} +9 -9
  102. package/dist/chunks/{hover-card-Bl4vbgQb.mjs.map → hover-card-Bf6OuOg0.mjs.map} +1 -1
  103. package/dist/chunks/{index-DHft9BCd.mjs → index-1toTCGyr.mjs} +2 -2
  104. package/dist/chunks/{index-DHft9BCd.mjs.map → index-1toTCGyr.mjs.map} +1 -1
  105. package/dist/chunks/{index-alSGOasi.mjs → index-4NpeUekv.mjs} +4 -4
  106. package/dist/chunks/{index-alSGOasi.mjs.map → index-4NpeUekv.mjs.map} +1 -1
  107. package/dist/chunks/{index-B61q0y1M.mjs → index-B87m6Bfb.mjs} +6 -6
  108. package/dist/chunks/{index-B61q0y1M.mjs.map → index-B87m6Bfb.mjs.map} +1 -1
  109. package/dist/chunks/{index-BcMUIxgo.mjs → index-BJrVyyCQ.mjs} +2 -2
  110. package/dist/chunks/{index-BcMUIxgo.mjs.map → index-BJrVyyCQ.mjs.map} +1 -1
  111. package/dist/chunks/{index-CNvEwoN6.mjs → index-BWXpaxmG.mjs} +7 -7
  112. package/dist/chunks/{index-CNvEwoN6.mjs.map → index-BWXpaxmG.mjs.map} +1 -1
  113. package/dist/chunks/{index-DxIif-Dg.mjs → index-BksCjWh6.mjs} +3 -3
  114. package/dist/chunks/{index-DxIif-Dg.mjs.map → index-BksCjWh6.mjs.map} +1 -1
  115. package/dist/chunks/{index-DVCjbhNa.mjs → index-C8u7IIcP.mjs} +1 -1
  116. package/dist/chunks/{index-DVCjbhNa.mjs.map → index-C8u7IIcP.mjs.map} +1 -1
  117. package/dist/chunks/{index-DhPL9ENz.mjs → index-COfEgTJM.mjs} +1 -1
  118. package/dist/chunks/{index-DhPL9ENz.mjs.map → index-COfEgTJM.mjs.map} +1 -1
  119. package/dist/chunks/{index-B2krUfsE.mjs → index-CaYwp6E6.mjs} +9 -9
  120. package/dist/chunks/{index-B2krUfsE.mjs.map → index-CaYwp6E6.mjs.map} +1 -1
  121. package/dist/chunks/{index-8SOlbV6d.mjs → index-CcmH_f2V.mjs} +1 -1
  122. package/dist/chunks/{index-8SOlbV6d.mjs.map → index-CcmH_f2V.mjs.map} +1 -1
  123. package/dist/chunks/{index-BQoxzJyp.mjs → index-D4jPaBZ2.mjs} +1 -1
  124. package/dist/chunks/{index-BQoxzJyp.mjs.map → index-D4jPaBZ2.mjs.map} +1 -1
  125. package/dist/chunks/{index-Cwb07MWH.mjs → index-DAa5gqEY.mjs} +2 -2
  126. package/dist/chunks/{index-Cwb07MWH.mjs.map → index-DAa5gqEY.mjs.map} +1 -1
  127. package/dist/chunks/{index-Dg_RIZZE.mjs → index-DC-gAYjS.mjs} +1 -1
  128. package/dist/chunks/{index-Dg_RIZZE.mjs.map → index-DC-gAYjS.mjs.map} +1 -1
  129. package/dist/chunks/{index-B2dOt1gw.mjs → index-DIHpzffL.mjs} +7 -7
  130. package/dist/chunks/{index-B2dOt1gw.mjs.map → index-DIHpzffL.mjs.map} +1 -1
  131. package/dist/chunks/{index-Ct3MZwaI.mjs → index-DfeRLazC.mjs} +3 -3
  132. package/dist/chunks/{index-Ct3MZwaI.mjs.map → index-DfeRLazC.mjs.map} +1 -1
  133. package/dist/chunks/{index-DjAgghT8.mjs → index-Dsw02Eup.mjs} +1 -1
  134. package/dist/chunks/{index-DjAgghT8.mjs.map → index-Dsw02Eup.mjs.map} +1 -1
  135. package/dist/chunks/{index-CaMrkKTO.mjs → index-PuN-H-VF.mjs} +1 -1
  136. package/dist/chunks/{index-CaMrkKTO.mjs.map → index-PuN-H-VF.mjs.map} +1 -1
  137. package/dist/chunks/{index-C7fGMq_n.mjs → index-UxWlwQlk.mjs} +1 -1
  138. package/dist/chunks/{index-C7fGMq_n.mjs.map → index-UxWlwQlk.mjs.map} +1 -1
  139. package/dist/chunks/{index-CHk809FF.mjs → index-gX0V59dZ.mjs} +2 -2
  140. package/dist/chunks/{index-CHk809FF.mjs.map → index-gX0V59dZ.mjs.map} +1 -1
  141. package/dist/chunks/{index-uXbHxUHA.mjs → index-z4Hk6sF4.mjs} +5 -5
  142. package/dist/chunks/{index-uXbHxUHA.mjs.map → index-z4Hk6sF4.mjs.map} +1 -1
  143. package/dist/chunks/{index-B0_Ir2TV.mjs → index-zIaBOKQ3.mjs} +13 -13
  144. package/dist/chunks/{index-B0_Ir2TV.mjs.map → index-zIaBOKQ3.mjs.map} +1 -1
  145. package/dist/chunks/{index.module-B0Ca3Gdk.mjs → index.module-Czm-Rcez.mjs} +1 -1
  146. package/dist/chunks/{index.module-B0Ca3Gdk.mjs.map → index.module-Czm-Rcez.mjs.map} +1 -1
  147. package/dist/chunks/{input-DIpq60B2.mjs → input-B-W81Xmi.mjs} +2 -2
  148. package/dist/chunks/{input-DIpq60B2.mjs.map → input-B-W81Xmi.mjs.map} +1 -1
  149. package/dist/chunks/{input-file-DM9pEX8i.mjs → input-file-BH3SMNJ7.mjs} +6 -6
  150. package/dist/chunks/{input-file-DM9pEX8i.mjs.map → input-file-BH3SMNJ7.mjs.map} +1 -1
  151. package/dist/chunks/{input-otp-CtjuBqi3.mjs → input-otp-BNC4E0wv.mjs} +3 -3
  152. package/dist/chunks/{input-otp-CtjuBqi3.mjs.map → input-otp-BNC4E0wv.mjs.map} +1 -1
  153. package/dist/chunks/{label-B9lRzjyu.mjs → label-D0iRy8Wj.mjs} +2 -2
  154. package/dist/chunks/{label-B9lRzjyu.mjs.map → label-D0iRy8Wj.mjs.map} +1 -1
  155. package/dist/chunks/{loader-circle-CV4eu4xA.mjs → loader-circle-BMRpEmW6.mjs} +2 -2
  156. package/dist/chunks/{loader-circle-CV4eu4xA.mjs.map → loader-circle-BMRpEmW6.mjs.map} +1 -1
  157. package/dist/chunks/{menubar-C5dV93NW.mjs → menubar-oWKK9_Ik.mjs} +11 -11
  158. package/dist/chunks/{menubar-C5dV93NW.mjs.map → menubar-oWKK9_Ik.mjs.map} +1 -1
  159. package/dist/chunks/{multi-select-DocC2zjT.mjs → multi-select-ILUAJeKL.mjs} +44 -32
  160. package/dist/chunks/multi-select-ILUAJeKL.mjs.map +1 -0
  161. package/dist/chunks/{pagination-YSeJIiYY.mjs → pagination-Bx_e3scG.mjs} +6 -6
  162. package/dist/chunks/{pagination-YSeJIiYY.mjs.map → pagination-Bx_e3scG.mjs.map} +1 -1
  163. package/dist/chunks/{popover-n7Qp5Vuh.mjs → popover-CdZgcLPo.mjs} +11 -11
  164. package/dist/chunks/{popover-n7Qp5Vuh.mjs.map → popover-CdZgcLPo.mjs.map} +1 -1
  165. package/dist/chunks/{progress-D8ptvurb.mjs → progress-e_BEvMwp.mjs} +2 -2
  166. package/dist/chunks/{progress-D8ptvurb.mjs.map → progress-e_BEvMwp.mjs.map} +1 -1
  167. package/dist/chunks/{radio-group-Cv9s2DCN.mjs → radio-group-BlSUw5ql.mjs} +11 -11
  168. package/dist/chunks/{radio-group-Cv9s2DCN.mjs.map → radio-group-BlSUw5ql.mjs.map} +1 -1
  169. package/dist/chunks/{react-number-format.es-BJ890ESD.mjs → react-number-format.es-HizMU4ab.mjs} +1 -1
  170. package/dist/chunks/{react-number-format.es-BJ890ESD.mjs.map → react-number-format.es-HizMU4ab.mjs.map} +1 -1
  171. package/dist/chunks/{scroll-area-TCq7xsA2.mjs → scroll-area-qiUBme0Q.mjs} +9 -9
  172. package/dist/chunks/{scroll-area-TCq7xsA2.mjs.map → scroll-area-qiUBme0Q.mjs.map} +1 -1
  173. package/dist/chunks/{select-H7CGuPw0.mjs → select-BBatgGtL.mjs} +56 -12
  174. package/dist/chunks/select-BBatgGtL.mjs.map +1 -0
  175. package/dist/chunks/{separator-NkxldVGm.mjs → separator-DYyhdAi6.mjs} +2 -2
  176. package/dist/chunks/{separator-NkxldVGm.mjs.map → separator-DYyhdAi6.mjs.map} +1 -1
  177. package/dist/chunks/{sheet-AxL9T592.mjs → sheet-1Dl0ChJl.mjs} +4 -4
  178. package/dist/chunks/{sheet-AxL9T592.mjs.map → sheet-1Dl0ChJl.mjs.map} +1 -1
  179. package/dist/chunks/{skeleton-CU2Dm8Iw.mjs → skeleton-LDpPNYvq.mjs} +2 -2
  180. package/dist/chunks/{skeleton-CU2Dm8Iw.mjs.map → skeleton-LDpPNYvq.mjs.map} +1 -1
  181. package/dist/chunks/{slider-B3vRKZLc.mjs → slider-D3yx--Ba.mjs} +9 -9
  182. package/dist/chunks/{slider-B3vRKZLc.mjs.map → slider-D3yx--Ba.mjs.map} +1 -1
  183. package/dist/chunks/{sortable-DhQy1UPP.mjs → sortable-CE5SC5JS.mjs} +3 -3
  184. package/dist/chunks/{sortable-DhQy1UPP.mjs.map → sortable-CE5SC5JS.mjs.map} +1 -1
  185. package/dist/chunks/string-DRS4HkY8.mjs +71 -0
  186. package/dist/chunks/string-DRS4HkY8.mjs.map +1 -0
  187. package/dist/chunks/{styles-TJifgkC0.mjs → styles-lQyUmHf7.mjs} +1 -1
  188. package/dist/chunks/{styles-TJifgkC0.mjs.map → styles-lQyUmHf7.mjs.map} +1 -1
  189. package/dist/chunks/{switch-QvQzfy42.mjs → switch-COE1z3YV.mjs} +7 -7
  190. package/dist/chunks/{switch-QvQzfy42.mjs.map → switch-COE1z3YV.mjs.map} +1 -1
  191. package/dist/chunks/{table-DZdgO7NC.mjs → table-BzhSKY4n.mjs} +2 -2
  192. package/dist/chunks/{table-DZdgO7NC.mjs.map → table-BzhSKY4n.mjs.map} +1 -1
  193. package/dist/chunks/{tabs-BWvk4qHQ.mjs → tabs-B5HgsIWx.mjs} +9 -9
  194. package/dist/chunks/{tabs-BWvk4qHQ.mjs.map → tabs-B5HgsIWx.mjs.map} +1 -1
  195. package/dist/chunks/{textarea-DYiDaInd.mjs → textarea-DM2uvcxK.mjs} +2 -2
  196. package/dist/chunks/{textarea-DYiDaInd.mjs.map → textarea-DM2uvcxK.mjs.map} +1 -1
  197. package/dist/chunks/{toast-D0PsIgF9.mjs → toast-DfCz10Et.mjs} +12 -12
  198. package/dist/chunks/{toast-D0PsIgF9.mjs.map → toast-DfCz10Et.mjs.map} +1 -1
  199. package/dist/chunks/{toggle-BKFdE2bV.mjs → toggle-Du3jnh1s.mjs} +4 -4
  200. package/dist/chunks/{toggle-BKFdE2bV.mjs.map → toggle-Du3jnh1s.mjs.map} +1 -1
  201. package/dist/chunks/{tooltip-CAFwKDsn.mjs → tooltip-njN_ok-r.mjs} +11 -11
  202. package/dist/chunks/{tooltip-CAFwKDsn.mjs.map → tooltip-njN_ok-r.mjs.map} +1 -1
  203. package/dist/chunks/{trash-2-yllyHd3d.mjs → trash-2-ab4Di2Bx.mjs} +2 -2
  204. package/dist/chunks/{trash-2-yllyHd3d.mjs.map → trash-2-ab4Di2Bx.mjs.map} +1 -1
  205. package/dist/chunks/{triangle-alert-EAwPzBPO.mjs → triangle-alert-B_tQGpT4.mjs} +2 -2
  206. package/dist/chunks/{triangle-alert-EAwPzBPO.mjs.map → triangle-alert-B_tQGpT4.mjs.map} +1 -1
  207. package/dist/chunks/{tslib.es6-DhTbpVFO.mjs → tslib.es6-Q9puKanr.mjs} +1 -1
  208. package/dist/chunks/{tslib.es6-DhTbpVFO.mjs.map → tslib.es6-Q9puKanr.mjs.map} +1 -1
  209. package/dist/chunks/{upload-lFvmEaEl.mjs → upload-DvgPaJGb.mjs} +2 -2
  210. package/dist/chunks/{upload-lFvmEaEl.mjs.map → upload-DvgPaJGb.mjs.map} +1 -1
  211. package/dist/chunks/{use-toast-Db3wq_Xq.mjs → use-toast-CLJJgfL0.mjs} +1 -1
  212. package/dist/chunks/{use-toast-Db3wq_Xq.mjs.map → use-toast-CLJJgfL0.mjs.map} +1 -1
  213. package/dist/chunks/{utils-CPJ225se.mjs → utils-BDcRwQMd.mjs} +2 -2
  214. package/dist/chunks/{utils-CPJ225se.mjs.map → utils-BDcRwQMd.mjs.map} +1 -1
  215. package/dist/chunks/{wand-sparkles-DgnbuUXs.mjs → wand-sparkles-DqgQle7F.mjs} +2 -2
  216. package/dist/chunks/{wand-sparkles-DgnbuUXs.mjs.map → wand-sparkles-DqgQle7F.mjs.map} +1 -1
  217. package/dist/chunks/{x-C2RTSdrs.mjs → x-B6hDJA_l.mjs} +2 -2
  218. package/dist/chunks/{x-C2RTSdrs.mjs.map → x-B6hDJA_l.mjs.map} +1 -1
  219. package/dist/collapsible/index.mjs +7 -7
  220. package/dist/combobox/index.d.ts +9 -1
  221. package/dist/combobox/index.mjs +30 -155
  222. package/dist/combobox/index.mjs.map +1 -1
  223. package/dist/command/index.mjs +18 -18
  224. package/dist/context-menu/index.mjs +21 -21
  225. package/dist/dash/index.mjs +24 -24
  226. package/dist/data-table/index.d.ts +61 -49
  227. package/dist/data-table/index.mjs +77 -63
  228. package/dist/data-table/index.mjs.map +1 -1
  229. package/dist/date-picker/index.d.ts +7 -2
  230. package/dist/date-picker/index.mjs +27 -27
  231. package/dist/dialog/index.mjs +17 -17
  232. package/dist/drawer/index.mjs +14 -14
  233. package/dist/dropdown-menu/index.mjs +22 -22
  234. package/dist/dropzone/index.mjs +18 -18
  235. package/dist/editable-table/index.mjs +20 -18
  236. package/dist/editable-table/index.mjs.map +1 -1
  237. package/dist/empty/index.mjs +2 -2
  238. package/dist/export/index.d.ts +22 -10
  239. package/dist/export/index.mjs +20525 -31
  240. package/dist/export/index.mjs.map +1 -1
  241. package/dist/field/index.mjs +4 -4
  242. package/dist/form/index.mjs +4 -4
  243. package/dist/form-fields/index.mjs +26 -26
  244. package/dist/form-layout/index.d.ts +82 -10
  245. package/dist/form-layout/index.mjs +199 -97
  246. package/dist/form-layout/index.mjs.map +1 -1
  247. package/dist/hover-card/index.mjs +13 -13
  248. package/dist/icon/index.mjs +1 -1
  249. package/dist/index.css +1 -1
  250. package/dist/input/index.mjs +3 -3
  251. package/dist/input-file/index.mjs +8 -8
  252. package/dist/input-group/index.mjs +5 -5
  253. package/dist/input-otp/index.mjs +4 -4
  254. package/dist/item/index.mjs +3 -3
  255. package/dist/ivt.css +1 -1
  256. package/dist/kbd/index.mjs +2 -2
  257. package/dist/label/index.mjs +3 -3
  258. package/dist/layout/index.d.ts +279 -1
  259. package/dist/layout/index.mjs +259 -23
  260. package/dist/layout/index.mjs.map +1 -1
  261. package/dist/menubar/index.mjs +22 -22
  262. package/dist/multi-input-list/index.mjs +28 -28
  263. package/dist/multi-select/index.d.ts +4 -0
  264. package/dist/multi-select/index.mjs +32 -31
  265. package/dist/multi-select/index.mjs.map +1 -1
  266. package/dist/navigation-menu/index.mjs +15 -15
  267. package/dist/pagination/index.mjs +8 -8
  268. package/dist/popover/index.mjs +16 -16
  269. package/dist/progress/index.mjs +3 -3
  270. package/dist/radio-group/index.mjs +16 -16
  271. package/dist/resizable/index.mjs +3 -3
  272. package/dist/scroll-area/index.mjs +10 -10
  273. package/dist/select/index.d.ts +3 -1
  274. package/dist/select/index.mjs +11 -6
  275. package/dist/select/index.mjs.map +1 -1
  276. package/dist/separator/index.mjs +3 -3
  277. package/dist/shared/index.d.ts +3 -13
  278. package/dist/shared/index.mjs +8 -55
  279. package/dist/shared/index.mjs.map +1 -1
  280. package/dist/sheet/index.mjs +17 -17
  281. package/dist/sidebar/index.mjs +25 -25
  282. package/dist/skeleton/index.mjs +3 -3
  283. package/dist/skeleton-component/index.d.ts +2 -6
  284. package/dist/skeleton-component/index.mjs +6 -72
  285. package/dist/skeleton-component/index.mjs.map +1 -1
  286. package/dist/slider/index.mjs +11 -11
  287. package/dist/sortable/index.mjs +4 -4
  288. package/dist/spinner/index.mjs +4 -4
  289. package/dist/switch/index.mjs +9 -9
  290. package/dist/table/index.mjs +3 -3
  291. package/dist/table-filter/index.d.ts +3 -1
  292. package/dist/table-filter/index.mjs +59 -57
  293. package/dist/table-filter/index.mjs.map +1 -1
  294. package/dist/tabs/index.mjs +12 -12
  295. package/dist/textarea/index.mjs +3 -3
  296. package/dist/toast/index.mjs +14 -14
  297. package/dist/toaster/index.mjs +15 -15
  298. package/dist/toggle/index.mjs +6 -6
  299. package/dist/toggle-group/index.mjs +11 -11
  300. package/dist/tooltip/index.mjs +15 -15
  301. package/package.json +5 -2
  302. package/dist/chunks/CalendarPopover-Dk28a8Qn.mjs.map +0 -1
  303. package/dist/chunks/CalendarRange-CbhXjWnp.mjs.map +0 -1
  304. package/dist/chunks/ExportButtons-D844DWYI.mjs +0 -229
  305. package/dist/chunks/ExportButtons-D844DWYI.mjs.map +0 -1
  306. package/dist/chunks/GenericTabs-CHcF7U9y.mjs.map +0 -1
  307. package/dist/chunks/ListItem-CoWJkU9U.mjs.map +0 -1
  308. package/dist/chunks/_commonjsHelpers-Bx7yLjXw.mjs.map +0 -1
  309. package/dist/chunks/command-D6Om1YRG.mjs.map +0 -1
  310. package/dist/chunks/date-picker-CrZsqFq1.mjs.map +0 -1
  311. package/dist/chunks/multi-select-DocC2zjT.mjs.map +0 -1
  312. package/dist/chunks/select-H7CGuPw0.mjs.map +0 -1
@@ -1,19 +1,19 @@
1
- export { A as Accordion, c as AccordionContent, a as AccordionItem, b as AccordionTrigger } from '../chunks/accordion-eJ4NoCGZ.mjs';
1
+ export { A as Accordion, c as AccordionContent, a as AccordionItem, b as AccordionTrigger } from '../chunks/accordion-BcAmhbBS.mjs';
2
2
  import 'react';
3
- import '../chunks/index-BQoxzJyp.mjs';
3
+ import '../chunks/index-D4jPaBZ2.mjs';
4
4
  import 'react/jsx-runtime';
5
5
  import '@radix-ui/react-collection';
6
- import '../chunks/index-DjAgghT8.mjs';
6
+ import '../chunks/index-Dsw02Eup.mjs';
7
7
  import 'react-dom';
8
8
  import '@radix-ui/react-slot';
9
- import '../chunks/index-DHft9BCd.mjs';
10
- import '../chunks/index-DVCjbhNa.mjs';
11
- import '../chunks/index-CNvEwoN6.mjs';
12
- import '../chunks/index-Ct3MZwaI.mjs';
13
- import '../chunks/index-CHk809FF.mjs';
14
- import '../chunks/index-C7fGMq_n.mjs';
15
- import '../chunks/utils-CPJ225se.mjs';
16
- import '../chunks/bundle-mjs-BUGtC8WI.mjs';
17
- import '../chunks/chevron-down-VVHD7dC4.mjs';
18
- import '../chunks/createLucideIcon-BxEkCUha.mjs';
9
+ import '../chunks/index-1toTCGyr.mjs';
10
+ import '../chunks/index-C8u7IIcP.mjs';
11
+ import '../chunks/index-BWXpaxmG.mjs';
12
+ import '../chunks/index-DfeRLazC.mjs';
13
+ import '../chunks/index-gX0V59dZ.mjs';
14
+ import '../chunks/index-UxWlwQlk.mjs';
15
+ import '../chunks/utils-BDcRwQMd.mjs';
16
+ import '../chunks/bundle-mjs-CXmmFvYo.mjs';
17
+ import '../chunks/chevron-down-CDFTds2-.mjs';
18
+ import '../chunks/createLucideIcon-C11Tr46U.mjs';
19
19
  //# sourceMappingURL=index.mjs.map
@@ -1,34 +1,34 @@
1
1
  import React__default from 'react';
2
- import { c as cn } from '../chunks/utils-CPJ225se.mjs';
3
- import { D as DeleteConfirmationModal } from '../chunks/DeleteConfirmationModal-PwsfBFPv.mjs';
4
- import { c as createLucideIcon } from '../chunks/createLucideIcon-BxEkCUha.mjs';
5
- import { A as Accordion, a as AccordionItem, b as AccordionTrigger, c as AccordionContent } from '../chunks/accordion-eJ4NoCGZ.mjs';
6
- import { B as Badge } from '../chunks/badge-B6L7PP2k.mjs';
7
- import { B as Button } from '../chunks/button-ipHWqubg.mjs';
8
- import '../chunks/bundle-mjs-BUGtC8WI.mjs';
9
- import '../chunks/dialog-DBzJ_Uvh.mjs';
10
- import '../chunks/index-B2krUfsE.mjs';
11
- import '../chunks/index-DjAgghT8.mjs';
12
- import 'react-dom';
13
- import '@radix-ui/react-slot';
2
+ import { c as cn } from '../chunks/utils-BDcRwQMd.mjs';
3
+ import { c as createLucideIcon } from '../chunks/createLucideIcon-C11Tr46U.mjs';
4
+ import { A as Accordion, a as AccordionItem, b as AccordionTrigger, c as AccordionContent } from '../chunks/accordion-BcAmhbBS.mjs';
5
+ import { B as Badge } from '../chunks/badge-ZU62MOiS.mjs';
6
+ import { D as DeleteConfirmationModal } from '../chunks/DeleteConfirmationModal-NPS_J_dT.mjs';
7
+ import { B as Button } from '../chunks/button-CZpmCmNo.mjs';
8
+ import '../chunks/bundle-mjs-CXmmFvYo.mjs';
9
+ import '../chunks/index-D4jPaBZ2.mjs';
14
10
  import 'react/jsx-runtime';
15
- import '../chunks/index-BQoxzJyp.mjs';
16
- import '../chunks/index-CHk809FF.mjs';
17
- import '../chunks/index-DVCjbhNa.mjs';
18
- import '../chunks/index-DHft9BCd.mjs';
19
- import '../chunks/index-alSGOasi.mjs';
20
- import '../chunks/index-Dg_RIZZE.mjs';
21
- import '../chunks/index-uXbHxUHA.mjs';
22
- import '../chunks/tslib.es6-DhTbpVFO.mjs';
23
- import '../chunks/index-DxIif-Dg.mjs';
24
- import '../chunks/index-Ct3MZwaI.mjs';
25
- import '../chunks/x-C2RTSdrs.mjs';
26
- import '../chunks/trash-2-yllyHd3d.mjs';
27
11
  import '@radix-ui/react-collection';
28
- import '../chunks/index-CNvEwoN6.mjs';
29
- import '../chunks/index-C7fGMq_n.mjs';
30
- import '../chunks/chevron-down-VVHD7dC4.mjs';
12
+ import '../chunks/index-Dsw02Eup.mjs';
13
+ import 'react-dom';
14
+ import '@radix-ui/react-slot';
15
+ import '../chunks/index-1toTCGyr.mjs';
16
+ import '../chunks/index-C8u7IIcP.mjs';
17
+ import '../chunks/index-BWXpaxmG.mjs';
18
+ import '../chunks/index-DfeRLazC.mjs';
19
+ import '../chunks/index-gX0V59dZ.mjs';
20
+ import '../chunks/index-UxWlwQlk.mjs';
21
+ import '../chunks/chevron-down-CDFTds2-.mjs';
31
22
  import 'class-variance-authority';
23
+ import '../chunks/dialog-DL1cSseU.mjs';
24
+ import '../chunks/index-CaYwp6E6.mjs';
25
+ import '../chunks/index-4NpeUekv.mjs';
26
+ import '../chunks/index-DC-gAYjS.mjs';
27
+ import '../chunks/index-z4Hk6sF4.mjs';
28
+ import '../chunks/tslib.es6-Q9puKanr.mjs';
29
+ import '../chunks/index-BksCjWh6.mjs';
30
+ import '../chunks/x-B6hDJA_l.mjs';
31
+ import '../chunks/trash-2-ab4Di2Bx.mjs';
32
32
 
33
33
  const __iconNode = [
34
34
  [
@@ -1,6 +1,6 @@
1
- export { A as Alert, b as AlertDescription, a as AlertTitle } from '../chunks/alert-DgjSAjJE.mjs';
1
+ export { A as Alert, b as AlertDescription, a as AlertTitle } from '../chunks/alert-Ciu-8LcJ.mjs';
2
2
  import 'class-variance-authority';
3
3
  import 'react';
4
- import '../chunks/utils-CPJ225se.mjs';
5
- import '../chunks/bundle-mjs-BUGtC8WI.mjs';
4
+ import '../chunks/utils-BDcRwQMd.mjs';
5
+ import '../chunks/bundle-mjs-CXmmFvYo.mjs';
6
6
  //# sourceMappingURL=index.mjs.map
@@ -1,22 +1,22 @@
1
1
  import * as React from 'react';
2
- import { u as useComposedRefs, c as createContextScope } from '../chunks/index-BQoxzJyp.mjs';
3
- import { c as createDialogScope, R as Root, P as Portal, O as Overlay, b as Trigger, W as WarningProvider, a as Content, T as Title, D as Description, C as Close } from '../chunks/index-B2krUfsE.mjs';
4
- import { c as composeEventHandlers } from '../chunks/index-DjAgghT8.mjs';
2
+ import { u as useComposedRefs, c as createContextScope } from '../chunks/index-D4jPaBZ2.mjs';
3
+ import { c as createDialogScope, R as Root, P as Portal, O as Overlay, b as Trigger, W as WarningProvider, a as Content, T as Title, D as Description, C as Close } from '../chunks/index-CaYwp6E6.mjs';
4
+ import { c as composeEventHandlers } from '../chunks/index-Dsw02Eup.mjs';
5
5
  import { createSlottable } from '@radix-ui/react-slot';
6
6
  import { jsx, jsxs } from 'react/jsx-runtime';
7
- import { c as cn } from '../chunks/utils-CPJ225se.mjs';
8
- import { b as buttonVariants } from '../chunks/button-ipHWqubg.mjs';
9
- import '../chunks/index-CHk809FF.mjs';
10
- import '../chunks/index-DVCjbhNa.mjs';
11
- import '../chunks/index-DHft9BCd.mjs';
12
- import '../chunks/index-alSGOasi.mjs';
13
- import '../chunks/index-Dg_RIZZE.mjs';
14
- import '../chunks/index-uXbHxUHA.mjs';
15
- import '../chunks/tslib.es6-DhTbpVFO.mjs';
16
- import '../chunks/index-DxIif-Dg.mjs';
7
+ import { c as cn } from '../chunks/utils-BDcRwQMd.mjs';
8
+ import { b as buttonVariants } from '../chunks/button-CZpmCmNo.mjs';
9
+ import '../chunks/index-gX0V59dZ.mjs';
10
+ import '../chunks/index-C8u7IIcP.mjs';
11
+ import '../chunks/index-1toTCGyr.mjs';
12
+ import '../chunks/index-4NpeUekv.mjs';
13
+ import '../chunks/index-DC-gAYjS.mjs';
14
+ import '../chunks/index-z4Hk6sF4.mjs';
15
+ import '../chunks/tslib.es6-Q9puKanr.mjs';
16
+ import '../chunks/index-BksCjWh6.mjs';
17
17
  import 'react-dom';
18
- import '../chunks/index-Ct3MZwaI.mjs';
19
- import '../chunks/bundle-mjs-BUGtC8WI.mjs';
18
+ import '../chunks/index-DfeRLazC.mjs';
19
+ import '../chunks/bundle-mjs-CXmmFvYo.mjs';
20
20
  import 'class-variance-authority';
21
21
 
22
22
  var ROOT_NAME = "AlertDialog";
@@ -1,39 +1,39 @@
1
1
  import { cva } from 'class-variance-authority';
2
2
  import * as React from 'react';
3
- import { c } from '../chunks/index.module-B0Ca3Gdk.mjs';
4
- import { c as cn } from '../chunks/utils-CPJ225se.mjs';
5
- import { L as Label } from '../chunks/label-B9lRzjyu.mjs';
6
- import { P as Popover, a as PopoverTrigger, b as PopoverContent } from '../chunks/popover-n7Qp5Vuh.mjs';
7
- import { B as Button } from '../chunks/button-ipHWqubg.mjs';
8
- import { B as Badge } from '../chunks/badge-B6L7PP2k.mjs';
9
- import { X } from '../chunks/x-C2RTSdrs.mjs';
10
- import { c as TooltipProvider, T as Tooltip, a as TooltipTrigger, b as TooltipContent } from '../chunks/tooltip-CAFwKDsn.mjs';
11
- import { S as Separator } from '../chunks/separator-NkxldVGm.mjs';
12
- import { C as ChevronsUpDown } from '../chunks/chevrons-up-down-DOPAGbXb.mjs';
13
- import { C as Command, b as CommandInput, c as CommandList, d as CommandEmpty, e as CommandGroup, f as CommandItem, h as CommandSeparator } from '../chunks/command-D6Om1YRG.mjs';
14
- import { C as Check } from '../chunks/check-BcL3DXZb.mjs';
15
- import { W as WandSparkles } from '../chunks/wand-sparkles-DgnbuUXs.mjs';
16
- import '../chunks/bundle-mjs-BUGtC8WI.mjs';
3
+ import { c } from '../chunks/index.module-Czm-Rcez.mjs';
4
+ import { c as cn } from '../chunks/utils-BDcRwQMd.mjs';
5
+ import { L as Label } from '../chunks/label-D0iRy8Wj.mjs';
6
+ import { P as Popover, a as PopoverTrigger, b as PopoverContent } from '../chunks/popover-CdZgcLPo.mjs';
7
+ import { B as Button } from '../chunks/button-CZpmCmNo.mjs';
8
+ import { B as Badge } from '../chunks/badge-ZU62MOiS.mjs';
9
+ import { X } from '../chunks/x-B6hDJA_l.mjs';
10
+ import { c as TooltipProvider, T as Tooltip, a as TooltipTrigger, b as TooltipContent } from '../chunks/tooltip-njN_ok-r.mjs';
11
+ import { S as Separator } from '../chunks/separator-DYyhdAi6.mjs';
12
+ import { C as ChevronsUpDown } from '../chunks/chevrons-up-down-CdBVNy4c.mjs';
13
+ import { C as Command, b as CommandInput, c as CommandList, d as CommandEmpty, e as CommandGroup, f as CommandItem, h as CommandSeparator } from '../chunks/command-o67hOCgH.mjs';
14
+ import { C as Check } from '../chunks/check-Ds358kZc.mjs';
15
+ import { W as WandSparkles } from '../chunks/wand-sparkles-DqgQle7F.mjs';
16
+ import '../chunks/bundle-mjs-CXmmFvYo.mjs';
17
17
  import 'react-dom';
18
18
  import '@radix-ui/react-slot';
19
19
  import 'react/jsx-runtime';
20
- import '../chunks/index-DjAgghT8.mjs';
21
- import '../chunks/index-BQoxzJyp.mjs';
22
- import '../chunks/index-alSGOasi.mjs';
23
- import '../chunks/index-Dg_RIZZE.mjs';
24
- import '../chunks/index-uXbHxUHA.mjs';
25
- import '../chunks/tslib.es6-DhTbpVFO.mjs';
26
- import '../chunks/index-CHk809FF.mjs';
27
- import '../chunks/index-DVCjbhNa.mjs';
28
- import '../chunks/index-B61q0y1M.mjs';
29
- import '../chunks/index-Cwb07MWH.mjs';
30
- import '../chunks/index-DxIif-Dg.mjs';
31
- import '../chunks/index-Ct3MZwaI.mjs';
32
- import '../chunks/index-DHft9BCd.mjs';
33
- import '../chunks/createLucideIcon-BxEkCUha.mjs';
34
- import '../chunks/index-BcMUIxgo.mjs';
35
- import '../chunks/index-B2krUfsE.mjs';
36
- import '../chunks/dialog-DBzJ_Uvh.mjs';
20
+ import '../chunks/index-Dsw02Eup.mjs';
21
+ import '../chunks/index-D4jPaBZ2.mjs';
22
+ import '../chunks/index-4NpeUekv.mjs';
23
+ import '../chunks/index-DC-gAYjS.mjs';
24
+ import '../chunks/index-z4Hk6sF4.mjs';
25
+ import '../chunks/tslib.es6-Q9puKanr.mjs';
26
+ import '../chunks/index-gX0V59dZ.mjs';
27
+ import '../chunks/index-C8u7IIcP.mjs';
28
+ import '../chunks/index-B87m6Bfb.mjs';
29
+ import '../chunks/index-DAa5gqEY.mjs';
30
+ import '../chunks/index-BksCjWh6.mjs';
31
+ import '../chunks/index-DfeRLazC.mjs';
32
+ import '../chunks/index-1toTCGyr.mjs';
33
+ import '../chunks/createLucideIcon-C11Tr46U.mjs';
34
+ import '../chunks/index-BJrVyyCQ.mjs';
35
+ import '../chunks/index-CaYwp6E6.mjs';
36
+ import '../chunks/dialog-DL1cSseU.mjs';
37
37
 
38
38
  /**
39
39
  * Variants for the multi-select component to handle different styles.
@@ -258,13 +258,15 @@ const AutoCompleteMultiSelect = /*#__PURE__*/ React.forwardRef(({ selectedOption
258
258
  }
259
259
  }, IconComponent && /*#__PURE__*/ React.createElement(IconComponent, {
260
260
  className: "mr-2 h-4 w-4"
261
- }), option?.label, /*#__PURE__*/ React.createElement(X, {
262
- className: "ml-2 size-3 cursor-pointer",
261
+ }), option?.label, /*#__PURE__*/ React.createElement("div", {
263
262
  onClick: (event)=>{
264
263
  event.stopPropagation();
265
264
  removeOption(value);
266
- }
267
- }));
265
+ },
266
+ className: "cursor-pointer"
267
+ }, /*#__PURE__*/ React.createElement(X, {
268
+ className: "ml-2 size-3"
269
+ })));
268
270
  }), internalSelected.length > maxCount && /*#__PURE__*/ React.createElement(Badge, {
269
271
  className: cn("text-foreground border-foreground/1 bg-transparent px-1 hover:bg-transparent", isAnimating ? "animate-bounce" : "", multiSelectVariants({
270
272
  variant
@@ -272,21 +274,25 @@ const AutoCompleteMultiSelect = /*#__PURE__*/ React.forwardRef(({ selectedOption
272
274
  style: {
273
275
  animationDuration: `${animation}s`
274
276
  }
275
- }, `+ ${internalSelected.length - maxCount} itens`, /*#__PURE__*/ React.createElement(X, {
276
- className: "ml-2 size-3 cursor-pointer",
277
+ }, `+ ${internalSelected.length - maxCount} itens`, /*#__PURE__*/ React.createElement("div", {
277
278
  onClick: (event)=>{
278
279
  event.stopPropagation();
279
280
  clearExtraOptions();
280
- }
281
- }))), /*#__PURE__*/ React.createElement("div", {
281
+ },
282
+ className: "cursor-pointer"
283
+ }, /*#__PURE__*/ React.createElement(X, {
284
+ className: "ml-2 size-3"
285
+ })))), /*#__PURE__*/ React.createElement("div", {
282
286
  className: "flex items-center justify-between"
283
- }, /*#__PURE__*/ React.createElement(TooltipProvider, null, /*#__PURE__*/ React.createElement(Tooltip, null, /*#__PURE__*/ React.createElement(TooltipTrigger, null, /*#__PURE__*/ React.createElement(X, {
284
- className: "text-muted-foreground h-4 cursor-pointer",
287
+ }, /*#__PURE__*/ React.createElement(TooltipProvider, null, /*#__PURE__*/ React.createElement(Tooltip, null, /*#__PURE__*/ React.createElement(TooltipTrigger, null, /*#__PURE__*/ React.createElement("div", {
285
288
  onClick: (event)=>{
286
289
  event.stopPropagation();
287
290
  handleClear();
288
- }
289
- })), /*#__PURE__*/ React.createElement(TooltipContent, null, /*#__PURE__*/ React.createElement("span", {
291
+ },
292
+ className: "cursor-pointer"
293
+ }, /*#__PURE__*/ React.createElement(X, {
294
+ className: "text-muted-foreground h-4"
295
+ }))), /*#__PURE__*/ React.createElement(TooltipContent, null, /*#__PURE__*/ React.createElement("span", {
290
296
  className: "text-xs"
291
297
  }, "Limpar tudo")))), /*#__PURE__*/ React.createElement(Separator, {
292
298
  orientation: "vertical",
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/components/ui/auto-complete-multi-select/AutoCompleteMultiSelect.tsx"],"sourcesContent":["\"use client\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { CheckIcon, ChevronsUpDown, WandSparkles, XIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { useDebouncedCallback } from \"use-debounce\";\nimport { Badge, type BadgeVariants } from \"@/components/ui/badge\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n\tCommand,\n\tCommandEmpty,\n\tCommandGroup,\n\tCommandInput,\n\tCommandItem,\n\tCommandList,\n\tCommandSeparator,\n} from \"@/components/ui/command\";\nimport { Label } from \"@/components/ui/label\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"@/components/ui/tooltip\";\nimport { cn } from \"@/lib/utils\";\n\n/**\n * Variants for the multi-select component to handle different styles.\n * Uses class-variance-authority (cva) to define different styles based on \"variant\" prop.\n */\nconst multiSelectVariants = cva(\"m-1 transition ease-in-out delay-150 duration-300\", {\n\tvariants: {\n\t\tvariant: {\n\t\t\tdefault: \"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80\",\n\t\t\tsecondary: \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n\t\t\tdestructive:\n\t\t\t\t\"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80\",\n\t\t\tpositive:\n\t\t\t\t\"border-transparent bg-positive text-positive-foreground shadow hover:bg-positive/80\",\n\t\t\twarning: \"border-transparent bg-warning text-warning-foreground shadow hover:bg-warning/80\",\n\t\t\tinfo: \"border-transparent bg-info text-info-foreground shadow hover:bg-info/80\",\n\t\t\toutline: \"text-foreground bg-transparent hover:bg-transparent border\",\n\t\t},\n\t\tsubtle: {\n\t\t\ttrue: \"\",\n\t\t\tfalse: \"\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tvariant: \"default\",\n\t},\n});\n\nexport interface Option {\n\t/** The text to display for the option. */\n\tlabel: string;\n\t/** The unique value associated with the option. */\n\tvalue: string;\n\t/** Optional icon component to display alongside the option. */\n\ticon?: React.ComponentType<{ className?: string }>;\n}\n\n/**\n * Props for AutoCompleteMultiSelectIVT component\n */\ninterface AutoCompleteMultiSelectProps extends VariantProps<typeof multiSelectVariants> {\n\t/**\n\t * An array of currently selected option objects.\n\t * Each option object has a label, value, and an optional icon.\n\t * Optional, defaults to empty array.\n\t */\n\tselectedOptions?: Option[];\n\n\t/**\n\t * Callback function triggered when the selected values change.\n\t * Receives an array of the new selected option objects.\n\t */\n\tonChange: (options: Option[]) => void;\n\n\t/**\n\t * Async function to fetch options based on search term.\n\t * Returns a promise with an array of option objects.\n\t */\n\tfetchOptions: (term: string) => Promise<Option[]>;\n\n\t/**\n\t * Placeholder text to be displayed when no values are selected.\n\t * Optional, defaults to \"Select options\".\n\t */\n\tplaceholder?: string;\n\n\t/**\n\t * Placeholder text for the search input.\n\t * Optional, defaults to \"Buscar...\".\n\t */\n\tsearchPlaceholder?: string;\n\n\t/**\n\t * Message to be displayed when no results are found.\n\t * Optional, defaults to \"Nenhum item encontrado.\".\n\t */\n\tmessageEmpty?: string;\n\n\t/**\n\t * Animation duration in seconds for the visual effects (e.g., bouncing badges).\n\t * Optional, defaults to 0 (no animation).\n\t */\n\tanimation?: number;\n\n\t/**\n\t * Maximum number of items to display. Extra selected items will be summarized.\n\t * Optional, defaults to 3.\n\t */\n\tmaxCount?: number;\n\n\t/**\n\t * The modality of the popover. When set to true, interaction with outside elements\n\t * will be disabled and only popover content will be visible to screen readers.\n\t * Optional, defaults to false.\n\t */\n\tmodalPopover?: boolean;\n\n\t/**\n\t * Additional class names to apply custom styles to the multi-select component.\n\t * Optional, can be used to add custom styles.\n\t */\n\tclassName?: string;\n\n\t/**\n\t * Label for the component.\n\t */\n\tlabel?: string | React.ReactNode;\n\n\t/**\n\t * Description text displayed below the component.\n\t */\n\tdescription?: string;\n\n\t/**\n\t * Whether to use subtle variant styling.\n\t */\n\tsubtle?: boolean;\n\n\t/**\n\t * Whether to focus on select actions.\n\t * Optional, defaults to true.\n\t */\n\tfocusOnSelect?: boolean;\n\n\t/**\n\t * Unique identifier for the component.\n\t */\n\tid?: string;\n\n\t/**\n\t * Callback function triggered when there's an error fetching options.\n\t */\n\tonError?: (error: unknown) => void;\n}\n\nexport const AutoCompleteMultiSelect = React.forwardRef<\n\tHTMLButtonElement,\n\tAutoCompleteMultiSelectProps\n>(\n\t(\n\t\t{\n\t\t\tselectedOptions = [],\n\t\t\tonChange,\n\t\t\tfetchOptions,\n\t\t\tvariant,\n\t\t\tplaceholder = \"Select options\",\n\t\t\tsearchPlaceholder = \"Buscar...\",\n\t\t\tmessageEmpty = \"Nenhum resultado encontrado.\",\n\t\t\tanimation = 0,\n\t\t\tmaxCount = 3,\n\t\t\tmodalPopover = false,\n\t\t\tclassName,\n\t\t\tlabel,\n\t\t\tdescription,\n\t\t\tsubtle = false,\n\t\t\tfocusOnSelect = true,\n\t\t\tid,\n\t\t\tonError,\n\t\t},\n\t\tref,\n\t) => {\n\t\tconst inputRef = React.useRef<HTMLInputElement>(null);\n\t\tconst lastClickedIndexRef = React.useRef<number>(-1);\n\t\tconst isShiftPressedRef = React.useRef<boolean>(false);\n\t\tconst generatedId = React.useId();\n\t\tconst inputId = id || generatedId;\n\n\t\t// Estado interno para resposta imediata\n\t\tconst [internalSelected, setInternalSelected] =\n\t\t\tReact.useState<typeof selectedOptions>(selectedOptions);\n\t\tconst [isPopoverOpen, setIsPopoverOpen] = React.useState(false);\n\t\tconst [isAnimating, setIsAnimating] = React.useState(false);\n\t\tconst [inputValue, setInputValue] = React.useState(\"\");\n\t\tconst [options, setOptions] = React.useState<typeof selectedOptions>([]);\n\t\tconst [loading, setLoading] = React.useState(false);\n\n\t\t// Sincroniza estado interno quando selectedOptions muda (do pai)\n\t\tReact.useEffect(() => {\n\t\t\tsetInternalSelected(selectedOptions);\n\t\t}, [selectedOptions]);\n\n\t\t// Listener global para detectar Shift\n\t\tReact.useEffect(() => {\n\t\t\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t\t\tif (e.key === \"Shift\") {\n\t\t\t\t\tisShiftPressedRef.current = true;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst handleKeyUp = (e: KeyboardEvent) => {\n\t\t\t\tif (e.key === \"Shift\") {\n\t\t\t\t\tisShiftPressedRef.current = false;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\twindow.addEventListener(\"keydown\", handleKeyDown);\n\t\t\twindow.addEventListener(\"keyup\", handleKeyUp);\n\n\t\t\treturn () => {\n\t\t\t\twindow.removeEventListener(\"keydown\", handleKeyDown);\n\t\t\t\twindow.removeEventListener(\"keyup\", handleKeyUp);\n\t\t\t};\n\t\t}, []);\n\n\t\t// Busca assíncrona com debounce (do AutoComplete)\n\t\tconst debouncedFetch = useDebouncedCallback(async (term: string) => {\n\t\t\tif (!term.trim()) {\n\t\t\t\tsetOptions([]);\n\t\t\t\tsetLoading(false);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetLoading(true);\n\t\t\ttry {\n\t\t\t\tconst result = await fetchOptions(term);\n\t\t\t\tsetOptions(result);\n\t\t\t} catch (err) {\n\t\t\t\tif (onError) {\n\t\t\t\t\tonError(err);\n\t\t\t\t}\n\t\t\t\tsetOptions([]);\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t}, 500);\n\n\t\tconst handleInputChange = (value: string) => {\n\t\t\tsetInputValue(value);\n\t\t\tif (value.trim() === \"\") {\n\t\t\t\tsetOptions([]);\n\t\t\t\tsetLoading(false);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetLoading(true);\n\t\t\tdebouncedFetch(value);\n\t\t};\n\n\t\tconst handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n\t\t\tif (event.key === \"Enter\") {\n\t\t\t\tsetIsPopoverOpen(true);\n\t\t\t}\n\t\t};\n\n\t\tconst toggleOption = (option: (typeof internalSelected)[number], index: number) => {\n\t\t\t// Normaliza para string para comparação\n\t\t\tconst optionValueStr = String(option.value);\n\t\t\tconst isSelected = internalSelected.find((o) => String(o.value) === optionValueStr);\n\t\t\tconst newSelectedOptions = isSelected\n\t\t\t\t? internalSelected.filter((value) => String(value.value) !== optionValueStr)\n\t\t\t\t: [...internalSelected, option];\n\n\t\t\t// Atualiza estado interno IMEDIATAMENTE\n\t\t\tsetInternalSelected(newSelectedOptions);\n\n\t\t\t// Notifica o pai\n\t\t\tonChange(newSelectedOptions);\n\n\t\t\t// Armazena o índice do último clique\n\t\t\tlastClickedIndexRef.current = index;\n\t\t};\n\n\t\tconst removeOption = (option: (typeof internalSelected)[number]) => {\n\t\t\t// Normaliza para string para comparação\n\t\t\tconst optionValueStr = String(option.value);\n\t\t\tconst newSelectedOptions = internalSelected.filter(\n\t\t\t\t(value) => String(value.value) !== optionValueStr,\n\t\t\t);\n\t\t\tsetInternalSelected(newSelectedOptions);\n\t\t\tonChange(newSelectedOptions);\n\t\t};\n\n\t\tconst toggleInterval = (index: number) => {\n\t\t\t// Se não houver último clique registrado, apenas seleciona o item atual\n\t\t\tif (lastClickedIndexRef.current === -1 || internalSelected.length < 1) {\n\t\t\t\ttoggleOption(options[index], index);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst lastIndex = lastClickedIndexRef.current;\n\t\t\tconst start = Math.min(lastIndex, index);\n\t\t\tconst end = Math.max(lastIndex, index) + 1;\n\t\t\tconst rangeOptions = options.slice(start, end);\n\t\t\tconst rangeValuesStr = rangeOptions.map((o) => String(o.value));\n\n\t\t\tconst areAllSelected = rangeValuesStr.every((v) =>\n\t\t\t\tinternalSelected.some((opt) => String(opt.value) === v),\n\t\t\t);\n\n\t\t\tif (areAllSelected) {\n\t\t\t\t// Desselecionar todos os itens do intervalo\n\t\t\t\tconst newSelectedOptions = internalSelected.filter(\n\t\t\t\t\t(v) => !rangeValuesStr.includes(String(v.value)),\n\t\t\t\t);\n\t\t\t\tsetInternalSelected(newSelectedOptions);\n\t\t\t\tonChange(newSelectedOptions);\n\t\t\t} else {\n\t\t\t\t// Adicionar todos os itens do intervalo sem duplicados\n\t\t\t\tconst existingValuesStr = new Set(internalSelected.map((opt) => String(opt.value)));\n\t\t\t\tconst newOptions = rangeOptions.filter((opt) => !existingValuesStr.has(String(opt.value)));\n\t\t\t\tconst newSelectedOptions = [...internalSelected, ...newOptions];\n\t\t\t\tsetInternalSelected(newSelectedOptions);\n\t\t\t\tonChange(newSelectedOptions);\n\t\t\t}\n\n\t\t\t// Atualiza o último índice clicado\n\t\t\tlastClickedIndexRef.current = index;\n\t\t};\n\n\t\tconst handleClear = () => {\n\t\t\tsetInternalSelected([]);\n\t\t\tonChange([]);\n\t\t};\n\n\t\tconst handleTogglePopover = () => {\n\t\t\tsetIsPopoverOpen((prev) => !prev);\n\t\t};\n\n\t\tconst clearExtraOptions = () => {\n\t\t\tconst newSelectedOptions = internalSelected.slice(0, maxCount);\n\t\t\tsetInternalSelected(newSelectedOptions);\n\t\t\tonChange(newSelectedOptions);\n\t\t};\n\n\t\tconst toggleAll = () => {\n\t\t\tif (internalSelected.length === options.length) {\n\t\t\t\thandleClear();\n\t\t\t} else {\n\t\t\t\tsetInternalSelected(options);\n\t\t\t\tonChange(options);\n\t\t\t}\n\t\t};\n\n\t\tconst subtleStyles = (variant: BadgeVariants) => {\n\t\t\tif (variant === \"default\") {\n\t\t\t\treturn \"border-transparent bg-accent text-primary hover:bg-accent/80\";\n\t\t\t}\n\t\t\tif (variant === \"destructive\") {\n\t\t\t\treturn \"border-transparent bg-destructive-foreground text-destructive hover:bg-destructive-foreground/80\";\n\t\t\t}\n\t\t\tif (variant === \"positive\") {\n\t\t\t\treturn \"border-transparent bg-positive-foreground text-positive hover:bg-positive-foreground/80\";\n\t\t\t}\n\t\t\tif (variant === \"warning\") {\n\t\t\t\treturn \"border-transparent bg-warning-foreground text-warning hover:bg-warning-foreground/80\";\n\t\t\t}\n\t\t\tif (variant === \"info\") {\n\t\t\t\treturn \"border-transparent bg-info-foreground text-info hover:bg-info-foreground/80\";\n\t\t\t}\n\t\t\treturn \"\";\n\t\t};\n\n\t\tconst finalSubtleStyles = subtleStyles(variant);\n\n\t\treturn (\n\t\t\t<div className=\"font-lato space-y-2\">\n\t\t\t\t{label && (\n\t\t\t\t\t<Label htmlFor={inputId} className=\"text-foreground text-sm font-medium gap-0\">\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</Label>\n\t\t\t\t)}\n\t\t\t\t<Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen} modal={modalPopover}>\n\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tid={inputId}\n\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\tonClick={handleTogglePopover}\n\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\taria-expanded={isPopoverOpen}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\"flex h-auto min-h-9 w-full items-center justify-between rounded-md border bg-inherit px-3 py-2 hover:bg-inherit [&_svg]:pointer-events-auto\",\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{internalSelected.length > 0 ? (\n\t\t\t\t\t\t\t\t<div className=\"flex w-full items-center justify-between\">\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap items-center\">\n\t\t\t\t\t\t\t\t\t\t{internalSelected.slice(0, maxCount).map((value) => {\n\t\t\t\t\t\t\t\t\t\t\tconst option = value;\n\t\t\t\t\t\t\t\t\t\t\tconst IconComponent = option?.icon;\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={value.value}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"px-1\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisAnimating ? \"animate-bounce\" : \"\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmultiSelectVariants({ variant }),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubtle && finalSubtleStyles,\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ animationDuration: `${animation}s` }}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{IconComponent && <IconComponent className=\"mr-2 h-4 w-4\" />}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{option?.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<XIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"ml-2 size-3 cursor-pointer\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tremoveOption(value);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t{internalSelected.length > maxCount && (\n\t\t\t\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"text-foreground border-foreground/1 bg-transparent px-1 hover:bg-transparent\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tisAnimating ? \"animate-bounce\" : \"\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tmultiSelectVariants({ variant }),\n\t\t\t\t\t\t\t\t\t\t\t\t\tsubtle && finalSubtleStyles,\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ animationDuration: `${animation}s` }}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{`+ ${internalSelected.length - maxCount} itens`}\n\t\t\t\t\t\t\t\t\t\t\t\t<XIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"ml-2 size-3 cursor-pointer\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearExtraOptions();\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-between\">\n\t\t\t\t\t\t\t\t\t\t<TooltipProvider>\n\t\t\t\t\t\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\t\t\t\t\t\t<TooltipTrigger>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<XIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"text-muted-foreground h-4 cursor-pointer\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleClear();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</TooltipTrigger>\n\t\t\t\t\t\t\t\t\t\t\t\t<TooltipContent>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs\">Limpar tudo</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</TooltipContent>\n\t\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t\t</TooltipProvider>\n\t\t\t\t\t\t\t\t\t\t<Separator orientation=\"vertical\" className=\"flex h-full min-h-6\" />\n\t\t\t\t\t\t\t\t\t\t<ChevronsUpDown className=\"text-muted-foreground h-4 cursor-pointer\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<div className=\"flex w-full items-center justify-between\">\n\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">{placeholder}</span>\n\t\t\t\t\t\t\t\t\t<ChevronsUpDown className=\"text-muted-foreground h-4 cursor-pointer\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t<PopoverContent\n\t\t\t\t\t\tclassName=\"w-auto p-0\"\n\t\t\t\t\t\talign=\"start\"\n\t\t\t\t\t\tonEscapeKeyDown={() => setIsPopoverOpen(false)}\n\t\t\t\t\t\tonOpenAutoFocus={(e) => {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t// Foca no input sem causar scroll\n\t\t\t\t\t\t\tinputRef.current?.focus({ preventScroll: true });\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Command shouldFilter={false}>\n\t\t\t\t\t\t\t<CommandInput\n\t\t\t\t\t\t\t\tref={inputRef}\n\t\t\t\t\t\t\t\tplaceholder={searchPlaceholder}\n\t\t\t\t\t\t\t\tvalue={inputValue}\n\t\t\t\t\t\t\t\tonValueChange={handleInputChange}\n\t\t\t\t\t\t\t\tonKeyDown={handleInputKeyDown}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<CommandList>\n\t\t\t\t\t\t\t\t<CommandEmpty>\n\t\t\t\t\t\t\t\t\t{loading\n\t\t\t\t\t\t\t\t\t\t? \"Carregando...\"\n\t\t\t\t\t\t\t\t\t\t: inputValue.trim() === \"\"\n\t\t\t\t\t\t\t\t\t\t\t? \"Digite algo para buscar...\"\n\t\t\t\t\t\t\t\t\t\t\t: messageEmpty}\n\t\t\t\t\t\t\t\t</CommandEmpty>\n\t\t\t\t\t\t\t\t{options.length > 0 && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\t\t\tkey=\"all\"\n\t\t\t\t\t\t\t\t\t\t\t\tonSelect={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttoggleAll();\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (focusOnSelect) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinputRef.current?.focus({ preventScroll: true });\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex cursor-pointer items-center justify-between\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<span>(Selecionar tudo)</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinternalSelected.length === options.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"opacity-50 [&_svg]:invisible\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<CheckIcon className=\"text-foreground h-4 w-4\" />\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t\t\t{options.map((option, index) => {\n\t\t\t\t\t\t\t\t\t\t\t\t// Comparação convertendo AMBOS para string\n\t\t\t\t\t\t\t\t\t\t\t\tconst optionValueStr = String(option.value);\n\t\t\t\t\t\t\t\t\t\t\t\tconst isSelected = internalSelected.some(\n\t\t\t\t\t\t\t\t\t\t\t\t\t(opt) => String(opt.value) === optionValueStr,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`${option.value}-${isSelected}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={option.value}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Usa o ref que é atualizado pelos event listeners globais\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst isShiftPressed = isShiftPressedRef.current;\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (isShiftPressed) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttoggleInterval(index);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttoggleOption(option, index);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (focusOnSelect) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Foca sem causar scroll\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinputRef.current?.focus({ preventScroll: true });\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex cursor-pointer items-center justify-between\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.icon && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<option.icon className=\"text-muted-foreground mr-2 h-4 w-4\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{option.label}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className={cn(isSelected ? \"\" : \"opacity-50 [&_svg]:invisible\")}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<CheckIcon className=\"text-foreground h-4 w-4\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t</CommandGroup>\n\t\t\t\t\t\t\t\t\t\t<CommandSeparator />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</CommandList>\n\t\t\t\t\t\t</Command>\n\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t{animation > 0 && internalSelected.length > 0 && (\n\t\t\t\t\t\t<WandSparkles\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\"text-foreground bg-background my-2 h-3 w-3 cursor-pointer\",\n\t\t\t\t\t\t\t\tisAnimating ? \"\" : \"text-muted-foreground\",\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonClick={() => setIsAnimating(!isAnimating)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Popover>\n\t\t\t\t{description && <p className=\"text-muted-foreground text-sm\">{description}</p>}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nAutoCompleteMultiSelect.displayName = \"AutoCompleteMultiSelect\";\n"],"names":["multiSelectVariants","cva","variants","variant","default","secondary","destructive","positive","warning","info","outline","subtle","true","false","defaultVariants","AutoCompleteMultiSelect","React","forwardRef","selectedOptions","onChange","fetchOptions","placeholder","searchPlaceholder","messageEmpty","animation","maxCount","modalPopover","className","label","description","focusOnSelect","id","onError","ref","inputRef","useRef","lastClickedIndexRef","isShiftPressedRef","generatedId","useId","inputId","internalSelected","setInternalSelected","useState","isPopoverOpen","setIsPopoverOpen","isAnimating","setIsAnimating","inputValue","setInputValue","options","setOptions","loading","setLoading","useEffect","handleKeyDown","e","key","current","handleKeyUp","window","addEventListener","removeEventListener","debouncedFetch","useDebouncedCallback","term","trim","result","err","handleInputChange","value","handleInputKeyDown","event","toggleOption","option","index","optionValueStr","String","isSelected","find","o","newSelectedOptions","filter","removeOption","toggleInterval","length","lastIndex","start","Math","min","end","max","rangeOptions","slice","rangeValuesStr","map","areAllSelected","every","v","some","opt","includes","existingValuesStr","Set","newOptions","has","handleClear","handleTogglePopover","prev","clearExtraOptions","toggleAll","subtleStyles","finalSubtleStyles","div","Label","htmlFor","Popover","open","onOpenChange","modal","PopoverTrigger","asChild","Button","onClick","aria-expanded","cn","IconComponent","icon","Badge","style","animationDuration","XIcon","stopPropagation","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","span","Separator","orientation","ChevronsUpDown","PopoverContent","align","onEscapeKeyDown","onOpenAutoFocus","preventDefault","focus","preventScroll","Command","shouldFilter","CommandInput","onValueChange","onKeyDown","CommandList","CommandEmpty","CommandGroup","CommandItem","onSelect","CheckIcon","isShiftPressed","CommandSeparator","WandSparkles","p","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/components/ui/auto-complete-multi-select/AutoCompleteMultiSelect.tsx"],"sourcesContent":["\"use client\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { CheckIcon, ChevronsUpDown, WandSparkles, XIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { useDebouncedCallback } from \"use-debounce\";\nimport { Badge, type BadgeVariants } from \"@/components/ui/badge\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n\tCommand,\n\tCommandEmpty,\n\tCommandGroup,\n\tCommandInput,\n\tCommandItem,\n\tCommandList,\n\tCommandSeparator,\n} from \"@/components/ui/command\";\nimport { Label } from \"@/components/ui/label\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"@/components/ui/tooltip\";\nimport { cn } from \"@/lib/utils\";\n\n/**\n * Variants for the multi-select component to handle different styles.\n * Uses class-variance-authority (cva) to define different styles based on \"variant\" prop.\n */\nconst multiSelectVariants = cva(\"m-1 transition ease-in-out delay-150 duration-300\", {\n\tvariants: {\n\t\tvariant: {\n\t\t\tdefault: \"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80\",\n\t\t\tsecondary: \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n\t\t\tdestructive:\n\t\t\t\t\"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80\",\n\t\t\tpositive:\n\t\t\t\t\"border-transparent bg-positive text-positive-foreground shadow hover:bg-positive/80\",\n\t\t\twarning: \"border-transparent bg-warning text-warning-foreground shadow hover:bg-warning/80\",\n\t\t\tinfo: \"border-transparent bg-info text-info-foreground shadow hover:bg-info/80\",\n\t\t\toutline: \"text-foreground bg-transparent hover:bg-transparent border\",\n\t\t},\n\t\tsubtle: {\n\t\t\ttrue: \"\",\n\t\t\tfalse: \"\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tvariant: \"default\",\n\t},\n});\n\nexport interface Option {\n\t/** The text to display for the option. */\n\tlabel: string;\n\t/** The unique value associated with the option. */\n\tvalue: string;\n\t/** Optional icon component to display alongside the option. */\n\ticon?: React.ComponentType<{ className?: string }>;\n}\n\n/**\n * Props for AutoCompleteMultiSelectIVT component\n */\ninterface AutoCompleteMultiSelectProps extends VariantProps<typeof multiSelectVariants> {\n\t/**\n\t * An array of currently selected option objects.\n\t * Each option object has a label, value, and an optional icon.\n\t * Optional, defaults to empty array.\n\t */\n\tselectedOptions?: Option[];\n\n\t/**\n\t * Callback function triggered when the selected values change.\n\t * Receives an array of the new selected option objects.\n\t */\n\tonChange: (options: Option[]) => void;\n\n\t/**\n\t * Async function to fetch options based on search term.\n\t * Returns a promise with an array of option objects.\n\t */\n\tfetchOptions: (term: string) => Promise<Option[]>;\n\n\t/**\n\t * Placeholder text to be displayed when no values are selected.\n\t * Optional, defaults to \"Select options\".\n\t */\n\tplaceholder?: string;\n\n\t/**\n\t * Placeholder text for the search input.\n\t * Optional, defaults to \"Buscar...\".\n\t */\n\tsearchPlaceholder?: string;\n\n\t/**\n\t * Message to be displayed when no results are found.\n\t * Optional, defaults to \"Nenhum item encontrado.\".\n\t */\n\tmessageEmpty?: string;\n\n\t/**\n\t * Animation duration in seconds for the visual effects (e.g., bouncing badges).\n\t * Optional, defaults to 0 (no animation).\n\t */\n\tanimation?: number;\n\n\t/**\n\t * Maximum number of items to display. Extra selected items will be summarized.\n\t * Optional, defaults to 3.\n\t */\n\tmaxCount?: number;\n\n\t/**\n\t * The modality of the popover. When set to true, interaction with outside elements\n\t * will be disabled and only popover content will be visible to screen readers.\n\t * Optional, defaults to false.\n\t */\n\tmodalPopover?: boolean;\n\n\t/**\n\t * Additional class names to apply custom styles to the multi-select component.\n\t * Optional, can be used to add custom styles.\n\t */\n\tclassName?: string;\n\n\t/**\n\t * Label for the component.\n\t */\n\tlabel?: string | React.ReactNode;\n\n\t/**\n\t * Description text displayed below the component.\n\t */\n\tdescription?: string;\n\n\t/**\n\t * Whether to use subtle variant styling.\n\t */\n\tsubtle?: boolean;\n\n\t/**\n\t * Whether to focus on select actions.\n\t * Optional, defaults to true.\n\t */\n\tfocusOnSelect?: boolean;\n\n\t/**\n\t * Unique identifier for the component.\n\t */\n\tid?: string;\n\n\t/**\n\t * Callback function triggered when there's an error fetching options.\n\t */\n\tonError?: (error: unknown) => void;\n}\n\nexport const AutoCompleteMultiSelect = React.forwardRef<\n\tHTMLButtonElement,\n\tAutoCompleteMultiSelectProps\n>(\n\t(\n\t\t{\n\t\t\tselectedOptions = [],\n\t\t\tonChange,\n\t\t\tfetchOptions,\n\t\t\tvariant,\n\t\t\tplaceholder = \"Select options\",\n\t\t\tsearchPlaceholder = \"Buscar...\",\n\t\t\tmessageEmpty = \"Nenhum resultado encontrado.\",\n\t\t\tanimation = 0,\n\t\t\tmaxCount = 3,\n\t\t\tmodalPopover = false,\n\t\t\tclassName,\n\t\t\tlabel,\n\t\t\tdescription,\n\t\t\tsubtle = false,\n\t\t\tfocusOnSelect = true,\n\t\t\tid,\n\t\t\tonError,\n\t\t},\n\t\tref,\n\t) => {\n\t\tconst inputRef = React.useRef<HTMLInputElement>(null);\n\t\tconst lastClickedIndexRef = React.useRef<number>(-1);\n\t\tconst isShiftPressedRef = React.useRef<boolean>(false);\n\t\tconst generatedId = React.useId();\n\t\tconst inputId = id || generatedId;\n\n\t\t// Estado interno para resposta imediata\n\t\tconst [internalSelected, setInternalSelected] =\n\t\t\tReact.useState<typeof selectedOptions>(selectedOptions);\n\t\tconst [isPopoverOpen, setIsPopoverOpen] = React.useState(false);\n\t\tconst [isAnimating, setIsAnimating] = React.useState(false);\n\t\tconst [inputValue, setInputValue] = React.useState(\"\");\n\t\tconst [options, setOptions] = React.useState<typeof selectedOptions>([]);\n\t\tconst [loading, setLoading] = React.useState(false);\n\n\t\t// Sincroniza estado interno quando selectedOptions muda (do pai)\n\t\tReact.useEffect(() => {\n\t\t\tsetInternalSelected(selectedOptions);\n\t\t}, [selectedOptions]);\n\n\t\t// Listener global para detectar Shift\n\t\tReact.useEffect(() => {\n\t\t\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t\t\tif (e.key === \"Shift\") {\n\t\t\t\t\tisShiftPressedRef.current = true;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst handleKeyUp = (e: KeyboardEvent) => {\n\t\t\t\tif (e.key === \"Shift\") {\n\t\t\t\t\tisShiftPressedRef.current = false;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\twindow.addEventListener(\"keydown\", handleKeyDown);\n\t\t\twindow.addEventListener(\"keyup\", handleKeyUp);\n\n\t\t\treturn () => {\n\t\t\t\twindow.removeEventListener(\"keydown\", handleKeyDown);\n\t\t\t\twindow.removeEventListener(\"keyup\", handleKeyUp);\n\t\t\t};\n\t\t}, []);\n\n\t\t// Busca assíncrona com debounce (do AutoComplete)\n\t\tconst debouncedFetch = useDebouncedCallback(async (term: string) => {\n\t\t\tif (!term.trim()) {\n\t\t\t\tsetOptions([]);\n\t\t\t\tsetLoading(false);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetLoading(true);\n\t\t\ttry {\n\t\t\t\tconst result = await fetchOptions(term);\n\t\t\t\tsetOptions(result);\n\t\t\t} catch (err) {\n\t\t\t\tif (onError) {\n\t\t\t\t\tonError(err);\n\t\t\t\t}\n\t\t\t\tsetOptions([]);\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t}, 500);\n\n\t\tconst handleInputChange = (value: string) => {\n\t\t\tsetInputValue(value);\n\t\t\tif (value.trim() === \"\") {\n\t\t\t\tsetOptions([]);\n\t\t\t\tsetLoading(false);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetLoading(true);\n\t\t\tdebouncedFetch(value);\n\t\t};\n\n\t\tconst handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n\t\t\tif (event.key === \"Enter\") {\n\t\t\t\tsetIsPopoverOpen(true);\n\t\t\t}\n\t\t};\n\n\t\tconst toggleOption = (option: (typeof internalSelected)[number], index: number) => {\n\t\t\t// Normaliza para string para comparação\n\t\t\tconst optionValueStr = String(option.value);\n\t\t\tconst isSelected = internalSelected.find((o) => String(o.value) === optionValueStr);\n\t\t\tconst newSelectedOptions = isSelected\n\t\t\t\t? internalSelected.filter((value) => String(value.value) !== optionValueStr)\n\t\t\t\t: [...internalSelected, option];\n\n\t\t\t// Atualiza estado interno IMEDIATAMENTE\n\t\t\tsetInternalSelected(newSelectedOptions);\n\n\t\t\t// Notifica o pai\n\t\t\tonChange(newSelectedOptions);\n\n\t\t\t// Armazena o índice do último clique\n\t\t\tlastClickedIndexRef.current = index;\n\t\t};\n\n\t\tconst removeOption = (option: (typeof internalSelected)[number]) => {\n\t\t\t// Normaliza para string para comparação\n\t\t\tconst optionValueStr = String(option.value);\n\t\t\tconst newSelectedOptions = internalSelected.filter(\n\t\t\t\t(value) => String(value.value) !== optionValueStr,\n\t\t\t);\n\t\t\tsetInternalSelected(newSelectedOptions);\n\t\t\tonChange(newSelectedOptions);\n\t\t};\n\n\t\tconst toggleInterval = (index: number) => {\n\t\t\t// Se não houver último clique registrado, apenas seleciona o item atual\n\t\t\tif (lastClickedIndexRef.current === -1 || internalSelected.length < 1) {\n\t\t\t\ttoggleOption(options[index], index);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst lastIndex = lastClickedIndexRef.current;\n\t\t\tconst start = Math.min(lastIndex, index);\n\t\t\tconst end = Math.max(lastIndex, index) + 1;\n\t\t\tconst rangeOptions = options.slice(start, end);\n\t\t\tconst rangeValuesStr = rangeOptions.map((o) => String(o.value));\n\n\t\t\tconst areAllSelected = rangeValuesStr.every((v) =>\n\t\t\t\tinternalSelected.some((opt) => String(opt.value) === v),\n\t\t\t);\n\n\t\t\tif (areAllSelected) {\n\t\t\t\t// Desselecionar todos os itens do intervalo\n\t\t\t\tconst newSelectedOptions = internalSelected.filter(\n\t\t\t\t\t(v) => !rangeValuesStr.includes(String(v.value)),\n\t\t\t\t);\n\t\t\t\tsetInternalSelected(newSelectedOptions);\n\t\t\t\tonChange(newSelectedOptions);\n\t\t\t} else {\n\t\t\t\t// Adicionar todos os itens do intervalo sem duplicados\n\t\t\t\tconst existingValuesStr = new Set(internalSelected.map((opt) => String(opt.value)));\n\t\t\t\tconst newOptions = rangeOptions.filter((opt) => !existingValuesStr.has(String(opt.value)));\n\t\t\t\tconst newSelectedOptions = [...internalSelected, ...newOptions];\n\t\t\t\tsetInternalSelected(newSelectedOptions);\n\t\t\t\tonChange(newSelectedOptions);\n\t\t\t}\n\n\t\t\t// Atualiza o último índice clicado\n\t\t\tlastClickedIndexRef.current = index;\n\t\t};\n\n\t\tconst handleClear = () => {\n\t\t\tsetInternalSelected([]);\n\t\t\tonChange([]);\n\t\t};\n\n\t\tconst handleTogglePopover = () => {\n\t\t\tsetIsPopoverOpen((prev) => !prev);\n\t\t};\n\n\t\tconst clearExtraOptions = () => {\n\t\t\tconst newSelectedOptions = internalSelected.slice(0, maxCount);\n\t\t\tsetInternalSelected(newSelectedOptions);\n\t\t\tonChange(newSelectedOptions);\n\t\t};\n\n\t\tconst toggleAll = () => {\n\t\t\tif (internalSelected.length === options.length) {\n\t\t\t\thandleClear();\n\t\t\t} else {\n\t\t\t\tsetInternalSelected(options);\n\t\t\t\tonChange(options);\n\t\t\t}\n\t\t};\n\n\t\tconst subtleStyles = (variant: BadgeVariants) => {\n\t\t\tif (variant === \"default\") {\n\t\t\t\treturn \"border-transparent bg-accent text-primary hover:bg-accent/80\";\n\t\t\t}\n\t\t\tif (variant === \"destructive\") {\n\t\t\t\treturn \"border-transparent bg-destructive-foreground text-destructive hover:bg-destructive-foreground/80\";\n\t\t\t}\n\t\t\tif (variant === \"positive\") {\n\t\t\t\treturn \"border-transparent bg-positive-foreground text-positive hover:bg-positive-foreground/80\";\n\t\t\t}\n\t\t\tif (variant === \"warning\") {\n\t\t\t\treturn \"border-transparent bg-warning-foreground text-warning hover:bg-warning-foreground/80\";\n\t\t\t}\n\t\t\tif (variant === \"info\") {\n\t\t\t\treturn \"border-transparent bg-info-foreground text-info hover:bg-info-foreground/80\";\n\t\t\t}\n\t\t\treturn \"\";\n\t\t};\n\n\t\tconst finalSubtleStyles = subtleStyles(variant);\n\n\t\treturn (\n\t\t\t<div className=\"font-lato space-y-2\">\n\t\t\t\t{label && (\n\t\t\t\t\t<Label htmlFor={inputId} className=\"text-foreground text-sm font-medium gap-0\">\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</Label>\n\t\t\t\t)}\n\t\t\t\t<Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen} modal={modalPopover}>\n\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tid={inputId}\n\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\tonClick={handleTogglePopover}\n\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\taria-expanded={isPopoverOpen}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\"flex h-auto min-h-9 w-full items-center justify-between rounded-md border bg-inherit px-3 py-2 hover:bg-inherit [&_svg]:pointer-events-auto\",\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{internalSelected.length > 0 ? (\n\t\t\t\t\t\t\t\t<div className=\"flex w-full items-center justify-between\">\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap items-center\">\n\t\t\t\t\t\t\t\t\t\t{internalSelected.slice(0, maxCount).map((value) => {\n\t\t\t\t\t\t\t\t\t\t\tconst option = value;\n\t\t\t\t\t\t\t\t\t\t\tconst IconComponent = option?.icon;\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={value.value}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"px-1\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisAnimating ? \"animate-bounce\" : \"\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmultiSelectVariants({ variant }),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubtle && finalSubtleStyles,\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ animationDuration: `${animation}s` }}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{IconComponent && <IconComponent className=\"mr-2 h-4 w-4\" />}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{option?.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{/* biome-ignore lint/a11y/useKeyWithClickEvents: clear button action */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{/* biome-ignore lint/a11y/noStaticElementInteractions: clear button action */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tremoveOption(value);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"cursor-pointer\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<XIcon className=\"ml-2 size-3\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t{internalSelected.length > maxCount && (\n\t\t\t\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"text-foreground border-foreground/1 bg-transparent px-1 hover:bg-transparent\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tisAnimating ? \"animate-bounce\" : \"\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tmultiSelectVariants({ variant }),\n\t\t\t\t\t\t\t\t\t\t\t\t\tsubtle && finalSubtleStyles,\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ animationDuration: `${animation}s` }}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{`+ ${internalSelected.length - maxCount} itens`}\n\t\t\t\t\t\t\t\t\t\t\t\t{/* biome-ignore lint/a11y/useKeyWithClickEvents: clear button action */}\n\t\t\t\t\t\t\t\t\t\t\t\t{/* biome-ignore lint/a11y/noStaticElementInteractions: clear button action */}\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearExtraOptions();\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"cursor-pointer\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<XIcon className=\"ml-2 size-3\" />\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-between\">\n\t\t\t\t\t\t\t\t\t\t<TooltipProvider>\n\t\t\t\t\t\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\t\t\t\t\t\t<TooltipTrigger>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{/* biome-ignore lint/a11y/useKeyWithClickEvents: clear button action */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{/* biome-ignore lint/a11y/noStaticElementInteractions: clear button action */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleClear();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"cursor-pointer\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<XIcon className=\"text-muted-foreground h-4\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</TooltipTrigger>\n\t\t\t\t\t\t\t\t\t\t\t\t<TooltipContent>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs\">Limpar tudo</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</TooltipContent>\n\t\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t\t</TooltipProvider>\n\t\t\t\t\t\t\t\t\t\t<Separator orientation=\"vertical\" className=\"flex h-full min-h-6\" />\n\t\t\t\t\t\t\t\t\t\t<ChevronsUpDown className=\"text-muted-foreground h-4 cursor-pointer\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<div className=\"flex w-full items-center justify-between\">\n\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">{placeholder}</span>\n\t\t\t\t\t\t\t\t\t<ChevronsUpDown className=\"text-muted-foreground h-4 cursor-pointer\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t<PopoverContent\n\t\t\t\t\t\tclassName=\"w-auto p-0\"\n\t\t\t\t\t\talign=\"start\"\n\t\t\t\t\t\tonEscapeKeyDown={() => setIsPopoverOpen(false)}\n\t\t\t\t\t\tonOpenAutoFocus={(e) => {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t// Foca no input sem causar scroll\n\t\t\t\t\t\t\tinputRef.current?.focus({ preventScroll: true });\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Command shouldFilter={false}>\n\t\t\t\t\t\t\t<CommandInput\n\t\t\t\t\t\t\t\tref={inputRef}\n\t\t\t\t\t\t\t\tplaceholder={searchPlaceholder}\n\t\t\t\t\t\t\t\tvalue={inputValue}\n\t\t\t\t\t\t\t\tonValueChange={handleInputChange}\n\t\t\t\t\t\t\t\tonKeyDown={handleInputKeyDown}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<CommandList>\n\t\t\t\t\t\t\t\t<CommandEmpty>\n\t\t\t\t\t\t\t\t\t{loading\n\t\t\t\t\t\t\t\t\t\t? \"Carregando...\"\n\t\t\t\t\t\t\t\t\t\t: inputValue.trim() === \"\"\n\t\t\t\t\t\t\t\t\t\t\t? \"Digite algo para buscar...\"\n\t\t\t\t\t\t\t\t\t\t\t: messageEmpty}\n\t\t\t\t\t\t\t\t</CommandEmpty>\n\t\t\t\t\t\t\t\t{options.length > 0 && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\t\t\tkey=\"all\"\n\t\t\t\t\t\t\t\t\t\t\t\tonSelect={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttoggleAll();\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (focusOnSelect) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinputRef.current?.focus({ preventScroll: true });\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex cursor-pointer items-center justify-between\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<span>(Selecionar tudo)</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinternalSelected.length === options.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"opacity-50 [&_svg]:invisible\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<CheckIcon className=\"text-foreground h-4 w-4\" />\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t\t\t{options.map((option, index) => {\n\t\t\t\t\t\t\t\t\t\t\t\t// Comparação convertendo AMBOS para string\n\t\t\t\t\t\t\t\t\t\t\t\tconst optionValueStr = String(option.value);\n\t\t\t\t\t\t\t\t\t\t\t\tconst isSelected = internalSelected.some(\n\t\t\t\t\t\t\t\t\t\t\t\t\t(opt) => String(opt.value) === optionValueStr,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`${option.value}-${isSelected}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={option.value}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Usa o ref que é atualizado pelos event listeners globais\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst isShiftPressed = isShiftPressedRef.current;\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (isShiftPressed) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttoggleInterval(index);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttoggleOption(option, index);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (focusOnSelect) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Foca sem causar scroll\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinputRef.current?.focus({ preventScroll: true });\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex cursor-pointer items-center justify-between\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.icon && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<option.icon className=\"text-muted-foreground mr-2 h-4 w-4\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{option.label}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className={cn(isSelected ? \"\" : \"opacity-50 [&_svg]:invisible\")}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<CheckIcon className=\"text-foreground h-4 w-4\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t</CommandGroup>\n\t\t\t\t\t\t\t\t\t\t<CommandSeparator />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</CommandList>\n\t\t\t\t\t\t</Command>\n\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t{animation > 0 && internalSelected.length > 0 && (\n\t\t\t\t\t\t<WandSparkles\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\"text-foreground bg-background my-2 h-3 w-3 cursor-pointer\",\n\t\t\t\t\t\t\t\tisAnimating ? \"\" : \"text-muted-foreground\",\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonClick={() => setIsAnimating(!isAnimating)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Popover>\n\t\t\t\t{description && <p className=\"text-muted-foreground text-sm\">{description}</p>}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nAutoCompleteMultiSelect.displayName = \"AutoCompleteMultiSelect\";\n"],"names":["multiSelectVariants","cva","variants","variant","default","secondary","destructive","positive","warning","info","outline","subtle","true","false","defaultVariants","AutoCompleteMultiSelect","React","forwardRef","selectedOptions","onChange","fetchOptions","placeholder","searchPlaceholder","messageEmpty","animation","maxCount","modalPopover","className","label","description","focusOnSelect","id","onError","ref","inputRef","useRef","lastClickedIndexRef","isShiftPressedRef","generatedId","useId","inputId","internalSelected","setInternalSelected","useState","isPopoverOpen","setIsPopoverOpen","isAnimating","setIsAnimating","inputValue","setInputValue","options","setOptions","loading","setLoading","useEffect","handleKeyDown","e","key","current","handleKeyUp","window","addEventListener","removeEventListener","debouncedFetch","useDebouncedCallback","term","trim","result","err","handleInputChange","value","handleInputKeyDown","event","toggleOption","option","index","optionValueStr","String","isSelected","find","o","newSelectedOptions","filter","removeOption","toggleInterval","length","lastIndex","start","Math","min","end","max","rangeOptions","slice","rangeValuesStr","map","areAllSelected","every","v","some","opt","includes","existingValuesStr","Set","newOptions","has","handleClear","handleTogglePopover","prev","clearExtraOptions","toggleAll","subtleStyles","finalSubtleStyles","div","Label","htmlFor","Popover","open","onOpenChange","modal","PopoverTrigger","asChild","Button","onClick","aria-expanded","cn","IconComponent","icon","Badge","style","animationDuration","stopPropagation","XIcon","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","span","Separator","orientation","ChevronsUpDown","PopoverContent","align","onEscapeKeyDown","onOpenAutoFocus","preventDefault","focus","preventScroll","Command","shouldFilter","CommandInput","onValueChange","onKeyDown","CommandList","CommandEmpty","CommandGroup","CommandItem","onSelect","CheckIcon","isShiftPressed","CommandSeparator","WandSparkles","p","displayName"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { u as useCallbackRef } from '../chunks/index-Dg_RIZZE.mjs';
4
- import { u as useLayoutEffect2 } from '../chunks/index-DVCjbhNa.mjs';
3
+ import { u as useCallbackRef } from '../chunks/index-DC-gAYjS.mjs';
4
+ import { u as useLayoutEffect2 } from '../chunks/index-C8u7IIcP.mjs';
5
5
  import 'react-dom';
6
6
  import { createSlot } from '@radix-ui/react-slot';
7
- import { r as requireShim } from '../chunks/index-CaMrkKTO.mjs';
8
- import { c as cn } from '../chunks/utils-CPJ225se.mjs';
9
- import '../chunks/bundle-mjs-BUGtC8WI.mjs';
7
+ import { r as requireShim } from '../chunks/index-PuN-H-VF.mjs';
8
+ import { c as cn } from '../chunks/utils-BDcRwQMd.mjs';
9
+ import '../chunks/bundle-mjs-CXmmFvYo.mjs';
10
10
 
11
11
  // src/create-context.tsx
12
12
  function createContextScope(scopeName, createContextScopeDeps = []) {
@@ -1,7 +1,7 @@
1
- export { B as Badge, b as badgeVariants } from '../chunks/badge-B6L7PP2k.mjs';
1
+ export { B as Badge, b as badgeVariants } from '../chunks/badge-ZU62MOiS.mjs';
2
2
  import '@radix-ui/react-slot';
3
3
  import 'class-variance-authority';
4
4
  import 'react';
5
- import '../chunks/utils-CPJ225se.mjs';
6
- import '../chunks/bundle-mjs-BUGtC8WI.mjs';
5
+ import '../chunks/utils-BDcRwQMd.mjs';
6
+ import '../chunks/bundle-mjs-CXmmFvYo.mjs';
7
7
  //# sourceMappingURL=index.mjs.map
@@ -5,7 +5,16 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
5
5
  import { VariantProps } from 'class-variance-authority';
6
6
  import { DayPicker, DateRange, Matcher } from 'react-day-picker';
7
7
  import * as PopoverPrimitive from '@radix-ui/react-popover';
8
- export { a as GenericTabs, G as GenericTabsProps, T as TabConfig } from '../chunks/GenericTabs-CtJk8qVb.js';
8
+ export { a as GenericTabs, G as GenericTabsProps, T as TabConfig } from '../chunks/GenericTabs-B6Sm4mwD.js';
9
+
10
+ type AlertFutureDateProps = {
11
+ title?: string;
12
+ description?: string;
13
+ icon?: React__default.ReactNode;
14
+ variant?: "default" | "destructive" | "warning";
15
+ className?: string;
16
+ };
17
+ declare function AlertFutureDate({ title, description, icon, variant, className, }: AlertFutureDateProps): react_jsx_runtime.JSX.Element;
9
18
 
10
19
  interface AutoCompleteProps<T> {
11
20
  value: T | null;
@@ -22,8 +31,11 @@ interface AutoCompleteProps<T> {
22
31
  onSelect?: (option: T) => void;
23
32
  className?: string;
24
33
  clearable?: boolean;
34
+ label?: string | React__default.ReactNode;
35
+ description?: string;
36
+ id?: string;
25
37
  }
26
- declare function AutoComplete<T>({ value, onChange, placeholder, searchPlaceholder, open, onOpenChange, disabled, messageEmpty, fetchOptions, getOptionLabel, getOptionKey, onSelect, className, clearable, }: AutoCompleteProps<T>): react_jsx_runtime.JSX.Element;
38
+ declare function AutoComplete<T>({ value, onChange, placeholder, searchPlaceholder, open, onOpenChange, disabled, messageEmpty, fetchOptions, getOptionLabel, getOptionKey, onSelect, className, clearable, label, description, id, }: AutoCompleteProps<T>): react_jsx_runtime.JSX.Element;
27
39
 
28
40
  type BadgeVariants = VariantProps<typeof badgeVariants>["variant"];
29
41
  interface BadgeProps extends React__default.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
@@ -74,7 +86,7 @@ interface CalendarPopoverProps extends Omit<React__default.ComponentProps<typeof
74
86
  /** Data selecionada (pode ser Date ou string parseável) */
75
87
  date: Date | string | undefined | null;
76
88
  /** Função chamada ao selecionar uma data */
77
- setDate: (date: Date | undefined | null) => void;
89
+ setDate: (date: Date | undefined) => void;
78
90
  /** Texto exibido quando não há data selecionada */
79
91
  placeholder?: string;
80
92
  /** ID opcional do botão */
@@ -122,6 +134,11 @@ interface CalendarPopoverProps extends Omit<React__default.ComponentProps<typeof
122
134
  * @default true
123
135
  */
124
136
  disableWeekends?: boolean;
137
+ /**
138
+ * Define se o botão de limpar (X) a data deve ser exibido.
139
+ * @default true
140
+ */
141
+ clearable?: boolean;
125
142
  }
126
143
  declare const CalendarPopover: React__default.FC<CalendarPopoverProps>;
127
144
 
@@ -153,8 +170,29 @@ interface CalendarRangeProps extends Omit<React.ComponentProps<typeof Calendar>,
153
170
  defaultMonth?: Date;
154
171
  /** Exibir opções de intervalos rápidos (Hoje, Esta Semana, etc) */
155
172
  showQuickRanges?: boolean;
173
+ /** Opções de intervalos rápidos personalizadas (substitui as padrão se fornecidas e showQuickRanges for true) */
174
+ quickRanges?: QuickRange[];
175
+ /**
176
+ * Define se o botão de limpar (X) o intervalo deve ser exibido.
177
+ * @default true
178
+ */
179
+ clearable?: boolean;
180
+ }
181
+ interface QuickRange {
182
+ label: string;
183
+ getRange: () => DateRange;
184
+ }
185
+ declare function CalendarRange({ value, onChange, placeholder, id, buttonProps, popoverProps, popoverContentClassName, className, disabled, disabledDateTooltip, showQuickRanges, quickRanges, clearable, ...props }: CalendarRangeProps): react_jsx_runtime.JSX.Element;
186
+
187
+ interface CellValuePercentageProps {
188
+ value: number;
189
+ prevDate?: string | null;
190
+ date?: string | null;
191
+ prevQuote?: number | null;
192
+ quote?: number | null;
193
+ className?: string;
156
194
  }
157
- declare function CalendarRange({ value, onChange, placeholder, id, buttonProps, popoverProps, popoverContentClassName, className, disabled, disabledDateTooltip, showQuickRanges, ...props }: CalendarRangeProps): react_jsx_runtime.JSX.Element;
195
+ declare function CellValuePercentage({ value, prevDate, date, prevQuote, quote, className, }: CellValuePercentageProps): React__default.JSX.Element;
158
196
 
159
197
  interface CollapsibleHelpProps {
160
198
  children?: React__default.ReactNode;
@@ -223,7 +261,7 @@ declare function DeleteConfirmationModal({ onConfirm, title, description, confir
223
261
  type MenuItemConfig = {
224
262
  value: string;
225
263
  label: string;
226
- path: string;
264
+ path?: string;
227
265
  onClick?: () => void;
228
266
  subItems?: {
229
267
  label: string;
@@ -237,6 +275,14 @@ interface GenericHeadingMenubarProps {
237
275
  menuItems: MenuItemConfig[];
238
276
  /** Classes CSS adicionais para o container */
239
277
  className?: string;
278
+ /** Classes CSS adicionais para o Menubar */
279
+ classNameMenubar?: string;
280
+ /** Classes CSS adicionais para o Trigger */
281
+ classNameTrigger?: string;
282
+ /** Classes CSS adicionais para o Content (dropdown) */
283
+ classNameContent?: string;
284
+ /** Classes CSS adicionais para os Itens do dropdown */
285
+ classNameItem?: string;
240
286
  /** Conteúdo adicional a ser renderizado ao lado do menu */
241
287
  children?: React__default.ReactNode;
242
288
  /** Desabilita todos os itens do menu */
@@ -348,5 +394,5 @@ interface TooltipIndicatorProps {
348
394
  }
349
395
  declare const TooltipIndicator: ({ children, className, classNameIcon }: TooltipIndicatorProps) => react_jsx_runtime.JSX.Element;
350
396
 
351
- export { AutoComplete, BadgeListLimited, CalendarPopover, CalendarRange, CollapsibleHelp, ConfirmSave, DeleteConfirmationModal, GenericHeadingMenubar, GenericTable, Header, HoverBadge, RuleFilterBuilder, StepNavigator, TextWrap, TooltipIndicator, normalizeDate };
352
- export type { CalendarPopoverProps, CalendarRangeProps, ColumnConfig, ConfirmSaveRowConfig, DeleteConfirmationModalProps, GenericHeadingMenubarProps, GenericTableProps, MenuItemConfig };
397
+ export { AlertFutureDate, AutoComplete, BadgeListLimited, CalendarPopover, CalendarRange, CellValuePercentage, CollapsibleHelp, ConfirmSave, DeleteConfirmationModal, GenericHeadingMenubar, GenericTable, Header, HoverBadge, RuleFilterBuilder, StepNavigator, TextWrap, TooltipIndicator, normalizeDate };
398
+ export type { AlertFutureDateProps, CalendarPopoverProps, CalendarRangeProps, ColumnConfig, ConfirmSaveRowConfig, DeleteConfirmationModalProps, GenericHeadingMenubarProps, GenericTableProps, MenuItemConfig, QuickRange, StepNavigatorProps };