ivt 0.6.8 → 0.7.0

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 (237) hide show
  1. package/dist/accordion/index.mjs +15 -15
  2. package/dist/accordion-table/index.mjs +27 -27
  3. package/dist/alert/index.mjs +2 -2
  4. package/dist/alert-dialog/index.mjs +17 -17
  5. package/dist/aspect-ratio/index.mjs +1 -1
  6. package/dist/auto-complete-multi-select/index.d.ts +4 -3
  7. package/dist/auto-complete-multi-select/index.mjs +36 -36
  8. package/dist/auto-complete-multi-select/index.mjs.map +1 -1
  9. package/dist/avatar/index.mjs +7 -7
  10. package/dist/badge/index.mjs +3 -3
  11. package/dist/base/index.d.ts +10 -2
  12. package/dist/base/index.mjs +50 -50
  13. package/dist/breadcrumb/index.mjs +5 -5
  14. package/dist/button/index.mjs +3 -3
  15. package/dist/button-group/index.mjs +4 -4
  16. package/dist/calendar/index.mjs +9 -9
  17. package/dist/card/index.mjs +3 -3
  18. package/dist/carousel/index.mjs +4 -4
  19. package/dist/chart/index.mjs +4 -4
  20. package/dist/checkbox/index.mjs +14 -14
  21. package/dist/chunks/{CalendarRange-DinEz7Bu.mjs → CalendarRange-BA-db50F.mjs} +8 -8
  22. package/dist/chunks/{CalendarRange-DinEz7Bu.mjs.map → CalendarRange-BA-db50F.mjs.map} +1 -1
  23. package/dist/chunks/{ComboboxField-DFhG2o8Q.mjs → ComboboxField-BtmBUUUa.mjs} +9 -9
  24. package/dist/chunks/{ComboboxField-DFhG2o8Q.mjs.map → ComboboxField-BtmBUUUa.mjs.map} +1 -1
  25. package/dist/chunks/{Container-BFn84LrW.mjs → Container-435PicTP.mjs} +2 -2
  26. package/dist/chunks/{Container-BFn84LrW.mjs.map → Container-435PicTP.mjs.map} +1 -1
  27. package/dist/chunks/{DeleteConfirmationModal-COywnQdI.mjs → DeleteConfirmationModal-B9Ahb3Mu.mjs} +6 -6
  28. package/dist/chunks/DeleteConfirmationModal-B9Ahb3Mu.mjs.map +1 -0
  29. package/dist/chunks/{ListItem-DhlGqvBa.mjs → ListItem-CwSloNFZ.mjs} +4 -4
  30. package/dist/chunks/{ListItem-DhlGqvBa.mjs.map → ListItem-CwSloNFZ.mjs.map} +1 -1
  31. package/dist/chunks/{TooltipIndicator-BqQlRbIh.mjs → TooltipIndicator-UUTwNh5Y.mjs} +4 -4
  32. package/dist/chunks/{TooltipIndicator-BqQlRbIh.mjs.map → TooltipIndicator-UUTwNh5Y.mjs.map} +1 -1
  33. package/dist/chunks/{_commonjsHelpers-zXRxA_Z_.mjs → _commonjsHelpers-BMx1TIzK.mjs} +1 -1
  34. package/dist/chunks/_commonjsHelpers-BMx1TIzK.mjs.map +1 -0
  35. package/dist/chunks/{accordion-ChA6nm2v.mjs → accordion-s3aERwYW.mjs} +11 -11
  36. package/dist/chunks/{accordion-ChA6nm2v.mjs.map → accordion-s3aERwYW.mjs.map} +1 -1
  37. package/dist/chunks/{badge-CZ5_5z6L.mjs → badge-CSKBGHyC.mjs} +2 -2
  38. package/dist/chunks/{badge-CZ5_5z6L.mjs.map → badge-CSKBGHyC.mjs.map} +1 -1
  39. package/dist/chunks/{bundle-mjs-CaEEedsA.mjs → bundle-mjs-DsNiaMJS.mjs} +1 -1
  40. package/dist/chunks/{bundle-mjs-CaEEedsA.mjs.map → bundle-mjs-DsNiaMJS.mjs.map} +1 -1
  41. package/dist/chunks/{button-BrCoykyb.mjs → button-DW1YQJSf.mjs} +2 -2
  42. package/dist/chunks/{button-BrCoykyb.mjs.map → button-DW1YQJSf.mjs.map} +1 -1
  43. package/dist/chunks/{calendar-C8Mepf-u.mjs → calendar-DrMz_17c.mjs} +7 -7
  44. package/dist/chunks/{calendar-C8Mepf-u.mjs.map → calendar-DrMz_17c.mjs.map} +1 -1
  45. package/dist/chunks/{calendar-days-DquGCG3-.mjs → calendar-days-kzxw9us-.mjs} +2 -2
  46. package/dist/chunks/{calendar-days-DquGCG3-.mjs.map → calendar-days-kzxw9us-.mjs.map} +1 -1
  47. package/dist/chunks/{card-KP_kMe8R.mjs → card-B_pDGP_4.mjs} +2 -2
  48. package/dist/chunks/{card-KP_kMe8R.mjs.map → card-B_pDGP_4.mjs.map} +1 -1
  49. package/dist/chunks/{check-C_LwI9KH.mjs → check-Dc1DpMhB.mjs} +2 -2
  50. package/dist/chunks/{check-C_LwI9KH.mjs.map → check-Dc1DpMhB.mjs.map} +1 -1
  51. package/dist/chunks/{checkbox-Bv39fyuN.mjs → checkbox-BaYmfSmN.mjs} +11 -11
  52. package/dist/chunks/{checkbox-Bv39fyuN.mjs.map → checkbox-BaYmfSmN.mjs.map} +1 -1
  53. package/dist/chunks/{chevron-down-D2i2UyYP.mjs → chevron-down-BfdFfN5b.mjs} +2 -2
  54. package/dist/chunks/{chevron-down-D2i2UyYP.mjs.map → chevron-down-BfdFfN5b.mjs.map} +1 -1
  55. package/dist/chunks/{chevron-left-BbfoPbuR.mjs → chevron-left-BBpi9Tuc.mjs} +2 -2
  56. package/dist/chunks/{chevron-left-BbfoPbuR.mjs.map → chevron-left-BBpi9Tuc.mjs.map} +1 -1
  57. package/dist/chunks/{chevron-right-DFRHRqTX.mjs → chevron-right-gwqv7hdT.mjs} +2 -2
  58. package/dist/chunks/{chevron-right-DFRHRqTX.mjs.map → chevron-right-gwqv7hdT.mjs.map} +1 -1
  59. package/dist/chunks/{chevrons-up-down-DSPpUp87.mjs → chevrons-up-down-Dg5q5QQ6.mjs} +2 -2
  60. package/dist/chunks/{chevrons-up-down-DSPpUp87.mjs.map → chevrons-up-down-Dg5q5QQ6.mjs.map} +1 -1
  61. package/dist/chunks/{command-Bm6lmqaD.mjs → command-CyjrKgCk.mjs} +8 -8
  62. package/dist/chunks/{command-Bm6lmqaD.mjs.map → command-CyjrKgCk.mjs.map} +1 -1
  63. package/dist/chunks/{createLucideIcon-BskRIXUQ.mjs → createLucideIcon-DfHHy_fF.mjs} +1 -1
  64. package/dist/chunks/{createLucideIcon-BskRIXUQ.mjs.map → createLucideIcon-DfHHy_fF.mjs.map} +1 -1
  65. package/dist/chunks/{date-DHnqvn4D.mjs → date-DBD540pc.mjs} +2 -2
  66. package/dist/chunks/{date-DHnqvn4D.mjs.map → date-DBD540pc.mjs.map} +1 -1
  67. package/dist/chunks/{dialog-CJHIAZTE.mjs → dialog-DdfabDy3.mjs} +4 -4
  68. package/dist/chunks/{dialog-CJHIAZTE.mjs.map → dialog-DdfabDy3.mjs.map} +1 -1
  69. package/dist/chunks/{ellipsis-D6Uved1a.mjs → ellipsis-Bc1Luije.mjs} +2 -2
  70. package/dist/chunks/{ellipsis-D6Uved1a.mjs.map → ellipsis-Bc1Luije.mjs.map} +1 -1
  71. package/dist/chunks/{form-CCVv5YFB.mjs → form-DGcmwo-6.mjs} +3 -3
  72. package/dist/chunks/{form-CCVv5YFB.mjs.map → form-DGcmwo-6.mjs.map} +1 -1
  73. package/dist/chunks/{format-Bt8khlQQ.mjs → format-DfGa0nsw.mjs} +1 -1
  74. package/dist/chunks/{format-Bt8khlQQ.mjs.map → format-DfGa0nsw.mjs.map} +1 -1
  75. package/dist/chunks/{format-numbers-JNwpv2ZY.mjs → format-numbers-Cdm34ghV.mjs} +1 -1
  76. package/dist/chunks/{format-numbers-JNwpv2ZY.mjs.map → format-numbers-Cdm34ghV.mjs.map} +1 -1
  77. package/dist/chunks/{hover-card-m57bFK9J.mjs → hover-card-DA5OKIru.mjs} +11 -11
  78. package/dist/chunks/{hover-card-m57bFK9J.mjs.map → hover-card-DA5OKIru.mjs.map} +1 -1
  79. package/dist/chunks/{index-yx3icX6K.mjs → index-0SCeyzsK.mjs} +2 -2
  80. package/dist/chunks/{index-yx3icX6K.mjs.map → index-0SCeyzsK.mjs.map} +1 -1
  81. package/dist/chunks/{index-CakOZHO3.mjs → index-6uBK1TEk.mjs} +2 -2
  82. package/dist/chunks/{index-CakOZHO3.mjs.map → index-6uBK1TEk.mjs.map} +1 -1
  83. package/dist/chunks/{index-BZW8t8v3.mjs → index-B50gul4j.mjs} +1 -1
  84. package/dist/chunks/{index-BZW8t8v3.mjs.map → index-B50gul4j.mjs.map} +1 -1
  85. package/dist/chunks/{index-DYd-Du-R.mjs → index-BOVs_g4Q.mjs} +5 -5
  86. package/dist/chunks/{index-DYd-Du-R.mjs.map → index-BOVs_g4Q.mjs.map} +1 -1
  87. package/dist/chunks/{index-BTJfHGTc.mjs → index-BZhmkMVZ.mjs} +3 -3
  88. package/dist/chunks/{index-BTJfHGTc.mjs.map → index-BZhmkMVZ.mjs.map} +1 -1
  89. package/dist/chunks/{index-CdVMPbm9.mjs → index-BnADUzzc.mjs} +1 -1
  90. package/dist/chunks/{index-CdVMPbm9.mjs.map → index-BnADUzzc.mjs.map} +1 -1
  91. package/dist/chunks/{index-CDrmAWkg.mjs → index-CPtkkz-Y.mjs} +1 -1
  92. package/dist/chunks/{index-CDrmAWkg.mjs.map → index-CPtkkz-Y.mjs.map} +1 -1
  93. package/dist/chunks/{index-ByMLqUYL.mjs → index-CbAYX6tE.mjs} +1 -1
  94. package/dist/chunks/{index-ByMLqUYL.mjs.map → index-CbAYX6tE.mjs.map} +1 -1
  95. package/dist/chunks/{index-VHai0Y8m.mjs → index-CllA0jgd.mjs} +1 -1
  96. package/dist/chunks/{index-VHai0Y8m.mjs.map → index-CllA0jgd.mjs.map} +1 -1
  97. package/dist/chunks/{index-CIptCfJf.mjs → index-CtGzvqE-.mjs} +9 -9
  98. package/dist/chunks/{index-CIptCfJf.mjs.map → index-CtGzvqE-.mjs.map} +1 -1
  99. package/dist/chunks/{index-Def6vQu2.mjs → index-CwcOLnJm.mjs} +1 -1
  100. package/dist/chunks/{index-Def6vQu2.mjs.map → index-CwcOLnJm.mjs.map} +1 -1
  101. package/dist/chunks/{index-CXwTZrpH.mjs → index-D43aEpzt.mjs} +9 -9
  102. package/dist/chunks/{index-CXwTZrpH.mjs.map → index-D43aEpzt.mjs.map} +1 -1
  103. package/dist/chunks/{index-BVSvPx6q.mjs → index-D7dCxTP2.mjs} +5 -5
  104. package/dist/chunks/{index-BVSvPx6q.mjs.map → index-D7dCxTP2.mjs.map} +1 -1
  105. package/dist/chunks/{index-CriKvahc.mjs → index-DDclWz5f.mjs} +1 -1
  106. package/dist/chunks/{index-CriKvahc.mjs.map → index-DDclWz5f.mjs.map} +1 -1
  107. package/dist/chunks/{index-BtVAcGzW.mjs → index-DKrv9iMY.mjs} +1 -1
  108. package/dist/chunks/{index-BtVAcGzW.mjs.map → index-DKrv9iMY.mjs.map} +1 -1
  109. package/dist/chunks/{index-3VUh2xvo.mjs → index-DQBXf0Nn.mjs} +15 -15
  110. package/dist/chunks/{index-3VUh2xvo.mjs.map → index-DQBXf0Nn.mjs.map} +1 -1
  111. package/dist/chunks/{index-BIkaCdbt.mjs → index-DhxU0LEQ.mjs} +1 -1
  112. package/dist/chunks/{index-BIkaCdbt.mjs.map → index-DhxU0LEQ.mjs.map} +1 -1
  113. package/dist/chunks/{index-BludQSPL.mjs → index-DsZMIujt.mjs} +11 -11
  114. package/dist/chunks/{index-BludQSPL.mjs.map → index-DsZMIujt.mjs.map} +1 -1
  115. package/dist/chunks/{index-C-hJOAC4.mjs → index-QBr28_3u.mjs} +2 -2
  116. package/dist/chunks/{index-C-hJOAC4.mjs.map → index-QBr28_3u.mjs.map} +1 -1
  117. package/dist/chunks/{index-NRqjdxxl.mjs → index-So-nn3e7.mjs} +3 -3
  118. package/dist/chunks/{index-NRqjdxxl.mjs.map → index-So-nn3e7.mjs.map} +1 -1
  119. package/dist/chunks/{index-DT5qQT8O.mjs → index-X3UvAhoa.mjs} +7 -7
  120. package/dist/chunks/{index-DT5qQT8O.mjs.map → index-X3UvAhoa.mjs.map} +1 -1
  121. package/dist/chunks/{index-Dnjw87dU.mjs → index-aPZimpBX.mjs} +1 -1
  122. package/dist/chunks/{index-Dnjw87dU.mjs.map → index-aPZimpBX.mjs.map} +1 -1
  123. package/dist/chunks/{index-RuFdJyXd.mjs → index-mk_bVkL9.mjs} +2 -2
  124. package/dist/chunks/{index-RuFdJyXd.mjs.map → index-mk_bVkL9.mjs.map} +1 -1
  125. package/dist/chunks/{index.module-Dje-TJtr.mjs → index.module-B3k6LHMC.mjs} +1 -1
  126. package/dist/chunks/{index.module-Dje-TJtr.mjs.map → index.module-B3k6LHMC.mjs.map} +1 -1
  127. package/dist/chunks/{input-BXFw-uDs.mjs → input-DyG0N-65.mjs} +2 -2
  128. package/dist/chunks/{input-BXFw-uDs.mjs.map → input-DyG0N-65.mjs.map} +1 -1
  129. package/dist/chunks/{label-OLMS5GpP.mjs → label-C5b7EsNj.mjs} +3 -3
  130. package/dist/chunks/{label-OLMS5GpP.mjs.map → label-C5b7EsNj.mjs.map} +1 -1
  131. package/dist/chunks/{loader-circle-qs0-1aBs.mjs → loader-circle-BrgkMgEj.mjs} +2 -2
  132. package/dist/chunks/{loader-circle-qs0-1aBs.mjs.map → loader-circle-BrgkMgEj.mjs.map} +1 -1
  133. package/dist/chunks/{menubar-BeoTHJNg.mjs → menubar-DiHLFmad.mjs} +13 -13
  134. package/dist/chunks/{menubar-BeoTHJNg.mjs.map → menubar-DiHLFmad.mjs.map} +1 -1
  135. package/dist/chunks/{multi-select-DeyQIgRQ.mjs → multi-select-CfMr2pov.mjs} +13 -13
  136. package/dist/chunks/{multi-select-DeyQIgRQ.mjs.map → multi-select-CfMr2pov.mjs.map} +1 -1
  137. package/dist/chunks/{pagination-DGqPj_OR.mjs → pagination-Cu57jNb0.mjs} +6 -6
  138. package/dist/chunks/{pagination-DGqPj_OR.mjs.map → pagination-Cu57jNb0.mjs.map} +1 -1
  139. package/dist/chunks/{popover-B-pugAWE.mjs → popover-CpjZYtpI.mjs} +13 -13
  140. package/dist/chunks/{popover-B-pugAWE.mjs.map → popover-CpjZYtpI.mjs.map} +1 -1
  141. package/dist/chunks/{progress-CIWtoDXC.mjs → progress-Dgf1ABrX.mjs} +4 -4
  142. package/dist/chunks/{progress-CIWtoDXC.mjs.map → progress-Dgf1ABrX.mjs.map} +1 -1
  143. package/dist/chunks/{react-number-format.es-5vtSY4fc.mjs → react-number-format.es-pRV7N_mS.mjs} +1 -1
  144. package/dist/chunks/{react-number-format.es-5vtSY4fc.mjs.map → react-number-format.es-pRV7N_mS.mjs.map} +1 -1
  145. package/dist/chunks/{scroll-area-Bc0xKKEb.mjs → scroll-area-spod4_Wh.mjs} +11 -11
  146. package/dist/chunks/{scroll-area-Bc0xKKEb.mjs.map → scroll-area-spod4_Wh.mjs.map} +1 -1
  147. package/dist/chunks/{select-C9_DK-uy.mjs → select-CBh20D2n.mjs} +5 -5
  148. package/dist/chunks/{select-C9_DK-uy.mjs.map → select-CBh20D2n.mjs.map} +1 -1
  149. package/dist/chunks/{separator-DzTcIFS-.mjs → separator-B1xNjDsr.mjs} +3 -3
  150. package/dist/chunks/{separator-DzTcIFS-.mjs.map → separator-B1xNjDsr.mjs.map} +1 -1
  151. package/dist/chunks/{sheet-sKogV_u3.mjs → sheet-RT3yw-5P.mjs} +4 -4
  152. package/dist/chunks/{sheet-sKogV_u3.mjs.map → sheet-RT3yw-5P.mjs.map} +1 -1
  153. package/dist/chunks/{skeleton-BaRL_Ts6.mjs → skeleton-gQmBTQmq.mjs} +2 -2
  154. package/dist/chunks/{skeleton-BaRL_Ts6.mjs.map → skeleton-gQmBTQmq.mjs.map} +1 -1
  155. package/dist/chunks/{sortable-D_qI1HNr.mjs → sortable-DHhSfpHS.mjs} +3 -3
  156. package/dist/chunks/{sortable-D_qI1HNr.mjs.map → sortable-DHhSfpHS.mjs.map} +1 -1
  157. package/dist/chunks/{table-7QA4HaS9.mjs → table-DnJSdOoO.mjs} +2 -2
  158. package/dist/chunks/{table-7QA4HaS9.mjs.map → table-DnJSdOoO.mjs.map} +1 -1
  159. package/dist/chunks/{textarea-CoBkaQTT.mjs → textarea-BODhTsCw.mjs} +2 -2
  160. package/dist/chunks/{textarea-CoBkaQTT.mjs.map → textarea-BODhTsCw.mjs.map} +1 -1
  161. package/dist/chunks/{toggle-Cm9KzcXh.mjs → toggle-DwAXXdM8.mjs} +5 -5
  162. package/dist/chunks/{toggle-Cm9KzcXh.mjs.map → toggle-DwAXXdM8.mjs.map} +1 -1
  163. package/dist/chunks/{tooltip-CFESkRps.mjs → tooltip-C8PymYjC.mjs} +13 -13
  164. package/dist/chunks/{tooltip-CFESkRps.mjs.map → tooltip-C8PymYjC.mjs.map} +1 -1
  165. package/dist/chunks/{trash-2-CYhUZbRO.mjs → trash-2-DHnJ2JOw.mjs} +2 -2
  166. package/dist/chunks/{trash-2-CYhUZbRO.mjs.map → trash-2-DHnJ2JOw.mjs.map} +1 -1
  167. package/dist/chunks/{triangle-alert-CuubY64-.mjs → triangle-alert-K46ws0FW.mjs} +2 -2
  168. package/dist/chunks/{triangle-alert-CuubY64-.mjs.map → triangle-alert-K46ws0FW.mjs.map} +1 -1
  169. package/dist/chunks/{tslib.es6-BCWqvfaj.mjs → tslib.es6-CjQCvxqN.mjs} +1 -1
  170. package/dist/chunks/{tslib.es6-BCWqvfaj.mjs.map → tslib.es6-CjQCvxqN.mjs.map} +1 -1
  171. package/dist/chunks/{utils-CRpax_Oz.mjs → utils-CZzyeare.mjs} +2 -2
  172. package/dist/chunks/{utils-CRpax_Oz.mjs.map → utils-CZzyeare.mjs.map} +1 -1
  173. package/dist/chunks/{wand-sparkles-Co-ADBz0.mjs → wand-sparkles-BJ4B_5uo.mjs} +2 -2
  174. package/dist/chunks/{wand-sparkles-Co-ADBz0.mjs.map → wand-sparkles-BJ4B_5uo.mjs.map} +1 -1
  175. package/dist/chunks/{x-BEzQN-Vv.mjs → x-4VGfZ2jd.mjs} +2 -2
  176. package/dist/chunks/{x-BEzQN-Vv.mjs.map → x-4VGfZ2jd.mjs.map} +1 -1
  177. package/dist/collapsible/index.mjs +9 -9
  178. package/dist/combobox/index.mjs +26 -26
  179. package/dist/command/index.mjs +20 -20
  180. package/dist/context-menu/index.mjs +23 -23
  181. package/dist/dash/index.mjs +25 -25
  182. package/dist/data-table/index.mjs +35 -35
  183. package/dist/date-picker/index.mjs +27 -27
  184. package/dist/dialog/index.mjs +19 -19
  185. package/dist/drawer/index.mjs +16 -16
  186. package/dist/dropdown-menu/index.mjs +23 -23
  187. package/dist/dropzone/index.mjs +18 -18
  188. package/dist/editable-table/index.mjs +20 -20
  189. package/dist/empty/index.mjs +2 -2
  190. package/dist/field/index.mjs +5 -5
  191. package/dist/form/index.mjs +5 -5
  192. package/dist/form-fields/index.mjs +28 -28
  193. package/dist/hover-card/index.mjs +15 -15
  194. package/dist/icon/index.mjs +1 -1
  195. package/dist/index.css +1 -1
  196. package/dist/input/index.mjs +3 -3
  197. package/dist/input-group/index.mjs +5 -5
  198. package/dist/input-otp/index.mjs +3 -3
  199. package/dist/item/index.mjs +4 -4
  200. package/dist/ivt.css +1 -1
  201. package/dist/kbd/index.mjs +2 -2
  202. package/dist/label/index.mjs +4 -4
  203. package/dist/layout/index.mjs +23 -23
  204. package/dist/menubar/index.mjs +24 -24
  205. package/dist/multi-input-list/index.mjs +29 -29
  206. package/dist/multi-select/index.mjs +33 -33
  207. package/dist/navigation-menu/index.mjs +17 -17
  208. package/dist/pagination/index.mjs +8 -8
  209. package/dist/popover/index.mjs +18 -18
  210. package/dist/progress/index.mjs +5 -5
  211. package/dist/radio-group/index.mjs +17 -17
  212. package/dist/resizable/index.mjs +3 -3
  213. package/dist/scroll-area/index.mjs +12 -12
  214. package/dist/select/index.mjs +6 -6
  215. package/dist/separator/index.mjs +4 -4
  216. package/dist/shared/index.mjs +5 -5
  217. package/dist/sheet/index.mjs +19 -19
  218. package/dist/sidebar/index.mjs +27 -27
  219. package/dist/skeleton/index.mjs +3 -3
  220. package/dist/skeleton-component/index.mjs +4 -4
  221. package/dist/slider/index.mjs +12 -12
  222. package/dist/sortable/index.mjs +4 -4
  223. package/dist/spinner/index.mjs +4 -4
  224. package/dist/switch/index.mjs +10 -10
  225. package/dist/table/index.mjs +3 -3
  226. package/dist/table-filter/index.d.ts +7 -1
  227. package/dist/table-filter/index.mjs +95 -65
  228. package/dist/table-filter/index.mjs.map +1 -1
  229. package/dist/tabs/index.mjs +13 -13
  230. package/dist/textarea/index.mjs +3 -3
  231. package/dist/toast/index.mjs +15 -15
  232. package/dist/toggle/index.mjs +7 -7
  233. package/dist/toggle-group/index.mjs +13 -13
  234. package/dist/tooltip/index.mjs +17 -17
  235. package/package.json +5 -1
  236. package/dist/chunks/DeleteConfirmationModal-COywnQdI.mjs.map +0 -1
  237. package/dist/chunks/_commonjsHelpers-zXRxA_Z_.mjs.map +0 -1
@@ -1,21 +1,21 @@
1
- export { A as Accordion, c as AccordionContent, a as AccordionItem, b as AccordionTrigger } from '../chunks/accordion-ChA6nm2v.mjs';
1
+ export { A as Accordion, c as AccordionContent, a as AccordionItem, b as AccordionTrigger } from '../chunks/accordion-s3aERwYW.mjs';
2
2
  import 'react';
3
- import '../chunks/index-CriKvahc.mjs';
3
+ import '../chunks/index-DDclWz5f.mjs';
4
4
  import 'react/jsx-runtime';
5
5
  import '@radix-ui/react-collection';
6
- import '../chunks/index-ByMLqUYL.mjs';
7
- import '../chunks/index-BIkaCdbt.mjs';
8
- import '../chunks/index-RuFdJyXd.mjs';
9
- import '../chunks/index-CdVMPbm9.mjs';
10
- import '../chunks/index-BtVAcGzW.mjs';
6
+ import '../chunks/index-CbAYX6tE.mjs';
7
+ import '../chunks/index-DhxU0LEQ.mjs';
8
+ import '../chunks/index-mk_bVkL9.mjs';
9
+ import '../chunks/index-BnADUzzc.mjs';
10
+ import '../chunks/index-DKrv9iMY.mjs';
11
11
  import 'react-dom';
12
12
  import '@radix-ui/react-slot';
13
- import '../chunks/index-CIptCfJf.mjs';
14
- import '../chunks/index-BTJfHGTc.mjs';
15
- import '../chunks/index-CakOZHO3.mjs';
16
- import '../chunks/index-CDrmAWkg.mjs';
17
- import '../chunks/utils-CRpax_Oz.mjs';
18
- import '../chunks/bundle-mjs-CaEEedsA.mjs';
19
- import '../chunks/chevron-down-D2i2UyYP.mjs';
20
- import '../chunks/createLucideIcon-BskRIXUQ.mjs';
13
+ import '../chunks/index-CtGzvqE-.mjs';
14
+ import '../chunks/index-BZhmkMVZ.mjs';
15
+ import '../chunks/index-6uBK1TEk.mjs';
16
+ import '../chunks/index-CPtkkz-Y.mjs';
17
+ import '../chunks/utils-CZzyeare.mjs';
18
+ import '../chunks/bundle-mjs-DsNiaMJS.mjs';
19
+ import '../chunks/chevron-down-BfdFfN5b.mjs';
20
+ import '../chunks/createLucideIcon-DfHHy_fF.mjs';
21
21
  //# sourceMappingURL=index.mjs.map
@@ -1,35 +1,35 @@
1
1
  import React__default from 'react';
2
- import { c as cn } from '../chunks/utils-CRpax_Oz.mjs';
3
- import { D as DeleteConfirmationModal } from '../chunks/DeleteConfirmationModal-COywnQdI.mjs';
4
- import { c as createLucideIcon } from '../chunks/createLucideIcon-BskRIXUQ.mjs';
5
- import { A as Accordion, a as AccordionItem, b as AccordionTrigger, c as AccordionContent } from '../chunks/accordion-ChA6nm2v.mjs';
6
- import { B as Badge } from '../chunks/badge-CZ5_5z6L.mjs';
7
- import { B as Button } from '../chunks/button-BrCoykyb.mjs';
8
- import '../chunks/bundle-mjs-CaEEedsA.mjs';
9
- import '../chunks/dialog-CJHIAZTE.mjs';
10
- import '../chunks/index-BludQSPL.mjs';
11
- import '../chunks/index-BIkaCdbt.mjs';
12
- import '../chunks/index-ByMLqUYL.mjs';
13
- import '../chunks/index-CriKvahc.mjs';
2
+ import { c as cn } from '../chunks/utils-CZzyeare.mjs';
3
+ import { D as DeleteConfirmationModal } from '../chunks/DeleteConfirmationModal-B9Ahb3Mu.mjs';
4
+ import { c as createLucideIcon } from '../chunks/createLucideIcon-DfHHy_fF.mjs';
5
+ import { A as Accordion, a as AccordionItem, b as AccordionTrigger, c as AccordionContent } from '../chunks/accordion-s3aERwYW.mjs';
6
+ import { B as Badge } from '../chunks/badge-CSKBGHyC.mjs';
7
+ import { B as Button } from '../chunks/button-DW1YQJSf.mjs';
8
+ import '../chunks/bundle-mjs-DsNiaMJS.mjs';
9
+ import '../chunks/dialog-DdfabDy3.mjs';
10
+ import '../chunks/index-DsZMIujt.mjs';
11
+ import '../chunks/index-DhxU0LEQ.mjs';
12
+ import '../chunks/index-CbAYX6tE.mjs';
13
+ import '../chunks/index-DDclWz5f.mjs';
14
14
  import 'react/jsx-runtime';
15
- import '../chunks/index-CakOZHO3.mjs';
16
- import '../chunks/index-CdVMPbm9.mjs';
17
- import '../chunks/index-RuFdJyXd.mjs';
18
- import '../chunks/index-BVSvPx6q.mjs';
19
- import '../chunks/index-BtVAcGzW.mjs';
15
+ import '../chunks/index-6uBK1TEk.mjs';
16
+ import '../chunks/index-BnADUzzc.mjs';
17
+ import '../chunks/index-mk_bVkL9.mjs';
18
+ import '../chunks/index-D7dCxTP2.mjs';
19
+ import '../chunks/index-DKrv9iMY.mjs';
20
20
  import 'react-dom';
21
21
  import '@radix-ui/react-slot';
22
- import '../chunks/index-Def6vQu2.mjs';
23
- import '../chunks/index-DYd-Du-R.mjs';
24
- import '../chunks/tslib.es6-BCWqvfaj.mjs';
25
- import '../chunks/index-NRqjdxxl.mjs';
26
- import '../chunks/index-BTJfHGTc.mjs';
27
- import '../chunks/x-BEzQN-Vv.mjs';
28
- import '../chunks/trash-2-CYhUZbRO.mjs';
22
+ import '../chunks/index-CwcOLnJm.mjs';
23
+ import '../chunks/index-BOVs_g4Q.mjs';
24
+ import '../chunks/tslib.es6-CjQCvxqN.mjs';
25
+ import '../chunks/index-So-nn3e7.mjs';
26
+ import '../chunks/index-BZhmkMVZ.mjs';
27
+ import '../chunks/x-4VGfZ2jd.mjs';
28
+ import '../chunks/trash-2-DHnJ2JOw.mjs';
29
29
  import '@radix-ui/react-collection';
30
- import '../chunks/index-CIptCfJf.mjs';
31
- import '../chunks/index-CDrmAWkg.mjs';
32
- import '../chunks/chevron-down-D2i2UyYP.mjs';
30
+ import '../chunks/index-CtGzvqE-.mjs';
31
+ import '../chunks/index-CPtkkz-Y.mjs';
32
+ import '../chunks/chevron-down-BfdFfN5b.mjs';
33
33
  import 'class-variance-authority';
34
34
 
35
35
  const __iconNode = [
@@ -1,7 +1,7 @@
1
1
  import { cva } from 'class-variance-authority';
2
2
  import React__default from 'react';
3
- import { c as cn } from '../chunks/utils-CRpax_Oz.mjs';
4
- import '../chunks/bundle-mjs-CaEEedsA.mjs';
3
+ import { c as cn } from '../chunks/utils-CZzyeare.mjs';
4
+ import '../chunks/bundle-mjs-DsNiaMJS.mjs';
5
5
 
6
6
  const alertVariants = cva("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current", {
7
7
  variants: {
@@ -1,24 +1,24 @@
1
1
  import * as React from 'react';
2
- import { c as createContextScope } from '../chunks/index-CriKvahc.mjs';
3
- import { u as useComposedRefs } from '../chunks/index-ByMLqUYL.mjs';
4
- 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-BludQSPL.mjs';
5
- import { c as composeEventHandlers } from '../chunks/index-BIkaCdbt.mjs';
2
+ import { c as createContextScope } from '../chunks/index-DDclWz5f.mjs';
3
+ import { u as useComposedRefs } from '../chunks/index-CbAYX6tE.mjs';
4
+ 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-DsZMIujt.mjs';
5
+ import { c as composeEventHandlers } from '../chunks/index-DhxU0LEQ.mjs';
6
6
  import { createSlottable } from '@radix-ui/react-slot';
7
7
  import { jsx, jsxs } from 'react/jsx-runtime';
8
- import { c as cn } from '../chunks/utils-CRpax_Oz.mjs';
9
- import { b as buttonVariants } from '../chunks/button-BrCoykyb.mjs';
10
- import '../chunks/index-CakOZHO3.mjs';
11
- import '../chunks/index-CdVMPbm9.mjs';
12
- import '../chunks/index-RuFdJyXd.mjs';
13
- import '../chunks/index-BVSvPx6q.mjs';
14
- import '../chunks/index-BtVAcGzW.mjs';
8
+ import { c as cn } from '../chunks/utils-CZzyeare.mjs';
9
+ import { b as buttonVariants } from '../chunks/button-DW1YQJSf.mjs';
10
+ import '../chunks/index-6uBK1TEk.mjs';
11
+ import '../chunks/index-BnADUzzc.mjs';
12
+ import '../chunks/index-mk_bVkL9.mjs';
13
+ import '../chunks/index-D7dCxTP2.mjs';
14
+ import '../chunks/index-DKrv9iMY.mjs';
15
15
  import 'react-dom';
16
- import '../chunks/index-Def6vQu2.mjs';
17
- import '../chunks/index-DYd-Du-R.mjs';
18
- import '../chunks/tslib.es6-BCWqvfaj.mjs';
19
- import '../chunks/index-NRqjdxxl.mjs';
20
- import '../chunks/index-BTJfHGTc.mjs';
21
- import '../chunks/bundle-mjs-CaEEedsA.mjs';
16
+ import '../chunks/index-CwcOLnJm.mjs';
17
+ import '../chunks/index-BOVs_g4Q.mjs';
18
+ import '../chunks/tslib.es6-CjQCvxqN.mjs';
19
+ import '../chunks/index-So-nn3e7.mjs';
20
+ import '../chunks/index-BZhmkMVZ.mjs';
21
+ import '../chunks/bundle-mjs-DsNiaMJS.mjs';
22
22
  import 'class-variance-authority';
23
23
 
24
24
  var ROOT_NAME = "AlertDialog";
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { P as Primitive } from '../chunks/index-BtVAcGzW.mjs';
2
+ import { P as Primitive } from '../chunks/index-DKrv9iMY.mjs';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
  import 'react-dom';
5
5
  import '@radix-ui/react-slot';
@@ -27,18 +27,19 @@ interface AutoCompleteMultiSelectProps extends VariantProps<typeof multiSelectVa
27
27
  /**
28
28
  * An array of currently selected option objects.
29
29
  * Each option object has a label, value, and an optional icon.
30
+ * Optional, defaults to empty array.
30
31
  */
31
- selectedOptions: Option[];
32
+ selectedOptions?: Option[];
32
33
  /**
33
34
  * Callback function triggered when the selected values change.
34
35
  * Receives an array of the new selected option objects.
35
36
  */
36
- onChange: (options: AutoCompleteMultiSelectProps["selectedOptions"]) => void;
37
+ onChange: (options: Option[]) => void;
37
38
  /**
38
39
  * Async function to fetch options based on search term.
39
40
  * Returns a promise with an array of option objects.
40
41
  */
41
- fetchOptions: (term: string) => Promise<AutoCompleteMultiSelectProps["selectedOptions"]>;
42
+ fetchOptions: (term: string) => Promise<Option[]>;
42
43
  /**
43
44
  * Placeholder text to be displayed when no values are selected.
44
45
  * Optional, defaults to "Select options".
@@ -1,41 +1,41 @@
1
1
  import { cva } from 'class-variance-authority';
2
2
  import * as React from 'react';
3
- import { c } from '../chunks/index.module-Dje-TJtr.mjs';
4
- import { c as cn } from '../chunks/utils-CRpax_Oz.mjs';
5
- import { X } from '../chunks/x-BEzQN-Vv.mjs';
6
- import { C as ChevronsUpDown } from '../chunks/chevrons-up-down-DSPpUp87.mjs';
7
- import { C as Check } from '../chunks/check-C_LwI9KH.mjs';
8
- import { W as WandSparkles } from '../chunks/wand-sparkles-Co-ADBz0.mjs';
9
- import { L as Label } from '../chunks/label-OLMS5GpP.mjs';
10
- import { P as Popover, a as PopoverTrigger, b as PopoverContent } from '../chunks/popover-B-pugAWE.mjs';
11
- import { B as Button } from '../chunks/button-BrCoykyb.mjs';
12
- import { B as Badge } from '../chunks/badge-CZ5_5z6L.mjs';
13
- import { c as TooltipProvider, T as Tooltip, a as TooltipTrigger, b as TooltipContent } from '../chunks/tooltip-CFESkRps.mjs';
14
- import { S as Separator } from '../chunks/separator-DzTcIFS-.mjs';
15
- 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-Bm6lmqaD.mjs';
16
- import '../chunks/bundle-mjs-CaEEedsA.mjs';
17
- import '../chunks/createLucideIcon-BskRIXUQ.mjs';
18
- import '../chunks/index-BtVAcGzW.mjs';
3
+ import { c } from '../chunks/index.module-B3k6LHMC.mjs';
4
+ import { c as cn } from '../chunks/utils-CZzyeare.mjs';
5
+ import { X } from '../chunks/x-4VGfZ2jd.mjs';
6
+ import { C as ChevronsUpDown } from '../chunks/chevrons-up-down-Dg5q5QQ6.mjs';
7
+ import { C as Check } from '../chunks/check-Dc1DpMhB.mjs';
8
+ import { W as WandSparkles } from '../chunks/wand-sparkles-BJ4B_5uo.mjs';
9
+ import { L as Label } from '../chunks/label-C5b7EsNj.mjs';
10
+ import { P as Popover, a as PopoverTrigger, b as PopoverContent } from '../chunks/popover-CpjZYtpI.mjs';
11
+ import { B as Button } from '../chunks/button-DW1YQJSf.mjs';
12
+ import { B as Badge } from '../chunks/badge-CSKBGHyC.mjs';
13
+ import { c as TooltipProvider, T as Tooltip, a as TooltipTrigger, b as TooltipContent } from '../chunks/tooltip-C8PymYjC.mjs';
14
+ import { S as Separator } from '../chunks/separator-B1xNjDsr.mjs';
15
+ 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-CyjrKgCk.mjs';
16
+ import '../chunks/bundle-mjs-DsNiaMJS.mjs';
17
+ import '../chunks/createLucideIcon-DfHHy_fF.mjs';
18
+ import '../chunks/index-DKrv9iMY.mjs';
19
19
  import 'react-dom';
20
20
  import '@radix-ui/react-slot';
21
21
  import 'react/jsx-runtime';
22
- import '../chunks/index-BIkaCdbt.mjs';
23
- import '../chunks/index-ByMLqUYL.mjs';
24
- import '../chunks/index-CriKvahc.mjs';
25
- import '../chunks/index-BVSvPx6q.mjs';
26
- import '../chunks/index-Def6vQu2.mjs';
27
- import '../chunks/index-DYd-Du-R.mjs';
28
- import '../chunks/tslib.es6-BCWqvfaj.mjs';
29
- import '../chunks/index-CakOZHO3.mjs';
30
- import '../chunks/index-CdVMPbm9.mjs';
31
- import '../chunks/index-DT5qQT8O.mjs';
32
- import '../chunks/index-C-hJOAC4.mjs';
33
- import '../chunks/index-NRqjdxxl.mjs';
34
- import '../chunks/index-BTJfHGTc.mjs';
35
- import '../chunks/index-RuFdJyXd.mjs';
36
- import '../chunks/index-yx3icX6K.mjs';
37
- import '../chunks/index-BludQSPL.mjs';
38
- import '../chunks/dialog-CJHIAZTE.mjs';
22
+ import '../chunks/index-DhxU0LEQ.mjs';
23
+ import '../chunks/index-CbAYX6tE.mjs';
24
+ import '../chunks/index-DDclWz5f.mjs';
25
+ import '../chunks/index-D7dCxTP2.mjs';
26
+ import '../chunks/index-CwcOLnJm.mjs';
27
+ import '../chunks/index-BOVs_g4Q.mjs';
28
+ import '../chunks/tslib.es6-CjQCvxqN.mjs';
29
+ import '../chunks/index-6uBK1TEk.mjs';
30
+ import '../chunks/index-BnADUzzc.mjs';
31
+ import '../chunks/index-X3UvAhoa.mjs';
32
+ import '../chunks/index-QBr28_3u.mjs';
33
+ import '../chunks/index-So-nn3e7.mjs';
34
+ import '../chunks/index-BZhmkMVZ.mjs';
35
+ import '../chunks/index-mk_bVkL9.mjs';
36
+ import '../chunks/index-0SCeyzsK.mjs';
37
+ import '../chunks/index-DsZMIujt.mjs';
38
+ import '../chunks/dialog-DdfabDy3.mjs';
39
39
 
40
40
  /**
41
41
  * Variants for the multi-select component to handle different styles.
@@ -60,14 +60,14 @@ import '../chunks/dialog-CJHIAZTE.mjs';
60
60
  variant: "default"
61
61
  }
62
62
  });
63
- const AutoCompleteMultiSelect = /*#__PURE__*/ React.forwardRef(({ selectedOptions, onChange, fetchOptions, variant, placeholder = "Select options", searchPlaceholder = "Buscar...", messageEmpty = "Nenhum resultado encontrado.", animation = 0, maxCount = 3, modalPopover = false, className, label, description, subtle = false, focusOnSelect = true, id, onError }, ref)=>{
63
+ const AutoCompleteMultiSelect = /*#__PURE__*/ React.forwardRef(({ selectedOptions = [], onChange, fetchOptions, variant, placeholder = "Select options", searchPlaceholder = "Buscar...", messageEmpty = "Nenhum resultado encontrado.", animation = 0, maxCount = 3, modalPopover = false, className, label, description, subtle = false, focusOnSelect = true, id, onError }, ref)=>{
64
64
  const inputRef = React.useRef(null);
65
65
  const lastClickedIndexRef = React.useRef(-1);
66
66
  const isShiftPressedRef = React.useRef(false);
67
67
  const generatedId = React.useId();
68
68
  const inputId = id || generatedId;
69
69
  // Estado interno para resposta imediata
70
- const [internalSelected, setInternalSelected] = React.useState(selectedOptions || []);
70
+ const [internalSelected, setInternalSelected] = React.useState(selectedOptions);
71
71
  const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);
72
72
  const [isAnimating, setIsAnimating] = React.useState(false);
73
73
  const [inputValue, setInputValue] = React.useState("");
@@ -75,7 +75,7 @@ const AutoCompleteMultiSelect = /*#__PURE__*/ React.forwardRef(({ selectedOption
75
75
  const [loading, setLoading] = React.useState(false);
76
76
  // Sincroniza estado interno quando selectedOptions muda (do pai)
77
77
  React.useEffect(()=>{
78
- setInternalSelected(selectedOptions || []);
78
+ setInternalSelected(selectedOptions);
79
79
  }, [
80
80
  selectedOptions
81
81
  ]);
@@ -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 */\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: AutoCompleteMultiSelectProps[\"selectedOptions\"]) => 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<AutoCompleteMultiSelectProps[\"selectedOptions\"]>;\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] = React.useState<typeof selectedOptions>(\n\t\t\tselectedOptions || [],\n\t\t);\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-4 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 gap-1\">\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-4 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 gap-1\">\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,14 +1,14 @@
1
1
  import * as React from 'react';
2
- import { c as createContextScope } from '../chunks/index-CriKvahc.mjs';
3
- import { u as useCallbackRef } from '../chunks/index-Def6vQu2.mjs';
4
- import { u as useLayoutEffect2 } from '../chunks/index-CdVMPbm9.mjs';
5
- import { P as Primitive } from '../chunks/index-BtVAcGzW.mjs';
6
- import { r as requireShim } from '../chunks/index-BZW8t8v3.mjs';
2
+ import { c as createContextScope } from '../chunks/index-DDclWz5f.mjs';
3
+ import { u as useCallbackRef } from '../chunks/index-CwcOLnJm.mjs';
4
+ import { u as useLayoutEffect2 } from '../chunks/index-BnADUzzc.mjs';
5
+ import { P as Primitive } from '../chunks/index-DKrv9iMY.mjs';
6
+ import { r as requireShim } from '../chunks/index-B50gul4j.mjs';
7
7
  import { jsx } from 'react/jsx-runtime';
8
- import { c as cn } from '../chunks/utils-CRpax_Oz.mjs';
8
+ import { c as cn } from '../chunks/utils-CZzyeare.mjs';
9
9
  import 'react-dom';
10
10
  import '@radix-ui/react-slot';
11
- import '../chunks/bundle-mjs-CaEEedsA.mjs';
11
+ import '../chunks/bundle-mjs-DsNiaMJS.mjs';
12
12
 
13
13
  var shimExports = requireShim();
14
14
 
@@ -1,7 +1,7 @@
1
- export { B as Badge, b as badgeVariants } from '../chunks/badge-CZ5_5z6L.mjs';
1
+ export { B as Badge, b as badgeVariants } from '../chunks/badge-CSKBGHyC.mjs';
2
2
  import '@radix-ui/react-slot';
3
3
  import 'class-variance-authority';
4
4
  import 'react';
5
- import '../chunks/utils-CRpax_Oz.mjs';
6
- import '../chunks/bundle-mjs-CaEEedsA.mjs';
5
+ import '../chunks/utils-CZzyeare.mjs';
6
+ import '../chunks/bundle-mjs-DsNiaMJS.mjs';
7
7
  //# sourceMappingURL=index.mjs.map
@@ -149,8 +149,16 @@ interface DeleteConfirmationModalProps {
149
149
  cancelText?: string;
150
150
  disabled?: boolean;
151
151
  children?: React__default.ReactNode;
152
+ /**
153
+ * Ícone a ser exibido no botão de confirmação.
154
+ * Se não fornecido, usa Trash2Icon por padrão.
155
+ * Se for null, não exibe ícone.
156
+ */
157
+ confirmIcon?: React__default.ComponentType<{
158
+ className?: string;
159
+ }> | null;
152
160
  }
153
- declare function DeleteConfirmationModal({ onConfirm, title, description, confirmText, cancelText, disabled, children, }: DeleteConfirmationModalProps): react_jsx_runtime.JSX.Element;
161
+ declare function DeleteConfirmationModal({ onConfirm, title, description, confirmText, cancelText, disabled, children, confirmIcon, }: DeleteConfirmationModalProps): react_jsx_runtime.JSX.Element;
154
162
 
155
163
  type MenuItemConfig = {
156
164
  value: string;
@@ -234,4 +242,4 @@ interface TooltipIndicatorProps {
234
242
  declare const TooltipIndicator: ({ children, className, classNameIcon }: TooltipIndicatorProps) => react_jsx_runtime.JSX.Element;
235
243
 
236
244
  export { AutoComplete, BadgeListLimited, CalendarPopover, CalendarRange, ConfirmSave, DeleteConfirmationModal, GenericHeadingMenubar, Header, HoverBadge, TextWrap, TooltipIndicator, normalizeDate };
237
- export type { CalendarPopoverProps, CalendarRangeProps, ConfirmSaveRowConfig, GenericHeadingMenubarProps, MenuItemConfig };
245
+ export type { CalendarPopoverProps, CalendarRangeProps, ConfirmSaveRowConfig, DeleteConfirmationModalProps, GenericHeadingMenubarProps, MenuItemConfig };