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.
- package/dist/accordion/index.mjs +13 -13
- package/dist/accordion-table/index.mjs +27 -27
- package/dist/alert/index.mjs +3 -3
- package/dist/alert-dialog/index.mjs +15 -15
- package/dist/auto-complete-multi-select/index.mjs +49 -43
- package/dist/auto-complete-multi-select/index.mjs.map +1 -1
- package/dist/avatar/index.mjs +5 -5
- package/dist/badge/index.mjs +3 -3
- package/dist/base/index.d.ts +53 -7
- package/dist/base/index.mjs +131 -163
- package/dist/base/index.mjs.map +1 -1
- package/dist/breadcrumb/index.mjs +5 -5
- package/dist/button/index.mjs +3 -3
- package/dist/button-group/index.mjs +4 -4
- package/dist/calendar/index.mjs +9 -9
- package/dist/card/index.mjs +3 -3
- package/dist/carousel/index.mjs +4 -4
- package/dist/chart/index.mjs +4 -4
- package/dist/checkbox/index.mjs +12 -12
- package/dist/chunks/ButtonActions-BbAuGm_J.mjs +54 -0
- package/dist/chunks/ButtonActions-BbAuGm_J.mjs.map +1 -0
- package/dist/chunks/{CalendarPopover-Dk28a8Qn.mjs → CalendarPopover-DNS2oszG.mjs} +62 -33
- package/dist/chunks/CalendarPopover-DNS2oszG.mjs.map +1 -0
- package/dist/chunks/{CalendarRange-CbhXjWnp.mjs → CalendarRange-BZ-rc5Ns.mjs} +34 -18
- package/dist/chunks/CalendarRange-BZ-rc5Ns.mjs.map +1 -0
- package/dist/chunks/{ComboboxField-eIBC97OK.mjs → ComboboxField-C5LrSTQf.mjs} +9 -9
- package/dist/chunks/{ComboboxField-eIBC97OK.mjs.map → ComboboxField-C5LrSTQf.mjs.map} +1 -1
- package/dist/chunks/{Container-DxWW9WTJ.mjs → Container-qhzI-HED.mjs} +2 -2
- package/dist/chunks/{Container-DxWW9WTJ.mjs.map → Container-qhzI-HED.mjs.map} +1 -1
- package/dist/chunks/{DeleteConfirmationModal-PwsfBFPv.mjs → DeleteConfirmationModal-NPS_J_dT.mjs} +4 -4
- package/dist/chunks/{DeleteConfirmationModal-PwsfBFPv.mjs.map → DeleteConfirmationModal-NPS_J_dT.mjs.map} +1 -1
- package/dist/chunks/ExportButtons-BtYHz3q3.mjs +364 -0
- package/dist/chunks/ExportButtons-BtYHz3q3.mjs.map +1 -0
- package/dist/chunks/{GenericTabs-CtJk8qVb.d.ts → GenericTabs-B6Sm4mwD.d.ts} +7 -2
- package/dist/chunks/{GenericTabs-CHcF7U9y.mjs → GenericTabs-CqunvZEw.mjs} +9 -8
- package/dist/chunks/GenericTabs-CqunvZEw.mjs.map +1 -0
- package/dist/chunks/{ListItem-CoWJkU9U.mjs → ListItem-CtUZSq2i.mjs} +6 -6
- package/dist/chunks/ListItem-CtUZSq2i.mjs.map +1 -0
- package/dist/chunks/ShowSkeleton-DuVLsprm.mjs +72 -0
- package/dist/chunks/ShowSkeleton-DuVLsprm.mjs.map +1 -0
- package/dist/chunks/ShowSkeleton-enwVHCqE.d.ts +12 -0
- package/dist/chunks/StepNavigator-DXnlZUw2.mjs +136 -0
- package/dist/chunks/StepNavigator-DXnlZUw2.mjs.map +1 -0
- package/dist/chunks/{TooltipIndicator-BHCKFiPx.mjs → TooltipIndicator-o_ekzuQD.mjs} +4 -4
- package/dist/chunks/{TooltipIndicator-BHCKFiPx.mjs.map → TooltipIndicator-o_ekzuQD.mjs.map} +1 -1
- package/dist/chunks/{_commonjsHelpers-Bx7yLjXw.mjs → _commonjsHelpers-DLsfzCcd.mjs} +1 -1
- package/dist/chunks/_commonjsHelpers-DLsfzCcd.mjs.map +1 -0
- package/dist/chunks/{accordion-eJ4NoCGZ.mjs → accordion-BcAmhbBS.mjs} +9 -9
- package/dist/chunks/{accordion-eJ4NoCGZ.mjs.map → accordion-BcAmhbBS.mjs.map} +1 -1
- package/dist/chunks/{alert-DgjSAjJE.mjs → alert-Ciu-8LcJ.mjs} +2 -2
- package/dist/chunks/{alert-DgjSAjJE.mjs.map → alert-Ciu-8LcJ.mjs.map} +1 -1
- package/dist/chunks/{badge-B6L7PP2k.mjs → badge-ZU62MOiS.mjs} +2 -2
- package/dist/chunks/{badge-B6L7PP2k.mjs.map → badge-ZU62MOiS.mjs.map} +1 -1
- package/dist/chunks/{bundle-mjs-BUGtC8WI.mjs → bundle-mjs-CXmmFvYo.mjs} +1 -1
- package/dist/chunks/{bundle-mjs-BUGtC8WI.mjs.map → bundle-mjs-CXmmFvYo.mjs.map} +1 -1
- package/dist/chunks/button-CHGYaAzJ.d.ts +17 -0
- package/dist/chunks/{button-ipHWqubg.mjs → button-CZpmCmNo.mjs} +2 -2
- package/dist/chunks/{button-ipHWqubg.mjs.map → button-CZpmCmNo.mjs.map} +1 -1
- package/dist/chunks/{button-group-1Ufw4ytA.mjs → button-group-ChymO3Hm.mjs} +3 -3
- package/dist/chunks/{button-group-1Ufw4ytA.mjs.map → button-group-ChymO3Hm.mjs.map} +1 -1
- package/dist/chunks/{calendar-bYikS8Dj.mjs → calendar-CDJv1B--.mjs} +7 -7
- package/dist/chunks/{calendar-bYikS8Dj.mjs.map → calendar-CDJv1B--.mjs.map} +1 -1
- package/dist/chunks/{calendar-days-CYxfkz0x.mjs → calendar-days-DnYx8d46.mjs} +2 -2
- package/dist/chunks/{calendar-days-CYxfkz0x.mjs.map → calendar-days-DnYx8d46.mjs.map} +1 -1
- package/dist/chunks/{card-SwKeS_1_.mjs → card-CEohNEru.mjs} +2 -2
- package/dist/chunks/{card-SwKeS_1_.mjs.map → card-CEohNEru.mjs.map} +1 -1
- package/dist/chunks/{check-BcL3DXZb.mjs → check-Ds358kZc.mjs} +2 -2
- package/dist/chunks/{check-BcL3DXZb.mjs.map → check-Ds358kZc.mjs.map} +1 -1
- package/dist/chunks/{checkbox-KwWS11aZ.mjs → checkbox-DvxpZsiG.mjs} +9 -9
- package/dist/chunks/{checkbox-KwWS11aZ.mjs.map → checkbox-DvxpZsiG.mjs.map} +1 -1
- package/dist/chunks/{chevron-down-VVHD7dC4.mjs → chevron-down-CDFTds2-.mjs} +2 -2
- package/dist/chunks/{chevron-down-VVHD7dC4.mjs.map → chevron-down-CDFTds2-.mjs.map} +1 -1
- package/dist/chunks/{chevron-left-alk1ZJbf.mjs → chevron-left-Baq244Ce.mjs} +2 -2
- package/dist/chunks/{chevron-left-alk1ZJbf.mjs.map → chevron-left-Baq244Ce.mjs.map} +1 -1
- package/dist/chunks/{chevron-right-C4T232LB.mjs → chevron-right-Dq6zFe5E.mjs} +2 -2
- package/dist/chunks/{chevron-right-C4T232LB.mjs.map → chevron-right-Dq6zFe5E.mjs.map} +1 -1
- package/dist/chunks/{chevrons-up-down-DOPAGbXb.mjs → chevrons-up-down-CdBVNy4c.mjs} +2 -2
- package/dist/chunks/{chevrons-up-down-DOPAGbXb.mjs.map → chevrons-up-down-CdBVNy4c.mjs.map} +1 -1
- package/dist/chunks/combobox-D9iqP8Dp.mjs +103 -0
- package/dist/chunks/combobox-D9iqP8Dp.mjs.map +1 -0
- package/dist/chunks/{command-D6Om1YRG.mjs → command-o67hOCgH.mjs} +10 -10
- package/dist/chunks/command-o67hOCgH.mjs.map +1 -0
- package/dist/chunks/{createLucideIcon-BxEkCUha.mjs → createLucideIcon-C11Tr46U.mjs} +1 -1
- package/dist/chunks/{createLucideIcon-BxEkCUha.mjs.map → createLucideIcon-C11Tr46U.mjs.map} +1 -1
- package/dist/chunks/{date-DHdJpggz.mjs → date-Dqmv8Nr4.mjs} +2 -2
- package/dist/chunks/{date-DHdJpggz.mjs.map → date-Dqmv8Nr4.mjs.map} +1 -1
- package/dist/chunks/{date-picker-CrZsqFq1.mjs → date-picker-BBCtT16G.mjs} +13 -13
- package/dist/chunks/date-picker-BBCtT16G.mjs.map +1 -0
- package/dist/chunks/{dialog-DBzJ_Uvh.mjs → dialog-DL1cSseU.mjs} +4 -4
- package/dist/chunks/{dialog-DBzJ_Uvh.mjs.map → dialog-DL1cSseU.mjs.map} +1 -1
- package/dist/chunks/{dropdown-menu-Cl6NFvkg.mjs → dropdown-menu-DnPBut1Q.mjs} +9 -9
- package/dist/chunks/{dropdown-menu-Cl6NFvkg.mjs.map → dropdown-menu-DnPBut1Q.mjs.map} +1 -1
- package/dist/chunks/{ellipsis-DGGGgQfW.mjs → ellipsis-Cn3R-5sm.mjs} +2 -2
- package/dist/chunks/{ellipsis-DGGGgQfW.mjs.map → ellipsis-Cn3R-5sm.mjs.map} +1 -1
- package/dist/chunks/{form-DnPCp-Jr.mjs → form-paAECAsZ.mjs} +3 -3
- package/dist/chunks/{form-DnPCp-Jr.mjs.map → form-paAECAsZ.mjs.map} +1 -1
- package/dist/chunks/{format-DWYRGSuv.mjs → format-8qs-kXlN.mjs} +1 -1
- package/dist/chunks/{format-DWYRGSuv.mjs.map → format-8qs-kXlN.mjs.map} +1 -1
- package/dist/chunks/{format-numbers-CB_euyLQ.mjs → format-numbers-LmnBEQr0.mjs} +1 -1
- package/dist/chunks/{format-numbers-CB_euyLQ.mjs.map → format-numbers-LmnBEQr0.mjs.map} +1 -1
- package/dist/chunks/{hover-card-Bl4vbgQb.mjs → hover-card-Bf6OuOg0.mjs} +9 -9
- package/dist/chunks/{hover-card-Bl4vbgQb.mjs.map → hover-card-Bf6OuOg0.mjs.map} +1 -1
- package/dist/chunks/{index-DHft9BCd.mjs → index-1toTCGyr.mjs} +2 -2
- package/dist/chunks/{index-DHft9BCd.mjs.map → index-1toTCGyr.mjs.map} +1 -1
- package/dist/chunks/{index-alSGOasi.mjs → index-4NpeUekv.mjs} +4 -4
- package/dist/chunks/{index-alSGOasi.mjs.map → index-4NpeUekv.mjs.map} +1 -1
- package/dist/chunks/{index-B61q0y1M.mjs → index-B87m6Bfb.mjs} +6 -6
- package/dist/chunks/{index-B61q0y1M.mjs.map → index-B87m6Bfb.mjs.map} +1 -1
- package/dist/chunks/{index-BcMUIxgo.mjs → index-BJrVyyCQ.mjs} +2 -2
- package/dist/chunks/{index-BcMUIxgo.mjs.map → index-BJrVyyCQ.mjs.map} +1 -1
- package/dist/chunks/{index-CNvEwoN6.mjs → index-BWXpaxmG.mjs} +7 -7
- package/dist/chunks/{index-CNvEwoN6.mjs.map → index-BWXpaxmG.mjs.map} +1 -1
- package/dist/chunks/{index-DxIif-Dg.mjs → index-BksCjWh6.mjs} +3 -3
- package/dist/chunks/{index-DxIif-Dg.mjs.map → index-BksCjWh6.mjs.map} +1 -1
- package/dist/chunks/{index-DVCjbhNa.mjs → index-C8u7IIcP.mjs} +1 -1
- package/dist/chunks/{index-DVCjbhNa.mjs.map → index-C8u7IIcP.mjs.map} +1 -1
- package/dist/chunks/{index-DhPL9ENz.mjs → index-COfEgTJM.mjs} +1 -1
- package/dist/chunks/{index-DhPL9ENz.mjs.map → index-COfEgTJM.mjs.map} +1 -1
- package/dist/chunks/{index-B2krUfsE.mjs → index-CaYwp6E6.mjs} +9 -9
- package/dist/chunks/{index-B2krUfsE.mjs.map → index-CaYwp6E6.mjs.map} +1 -1
- package/dist/chunks/{index-8SOlbV6d.mjs → index-CcmH_f2V.mjs} +1 -1
- package/dist/chunks/{index-8SOlbV6d.mjs.map → index-CcmH_f2V.mjs.map} +1 -1
- package/dist/chunks/{index-BQoxzJyp.mjs → index-D4jPaBZ2.mjs} +1 -1
- package/dist/chunks/{index-BQoxzJyp.mjs.map → index-D4jPaBZ2.mjs.map} +1 -1
- package/dist/chunks/{index-Cwb07MWH.mjs → index-DAa5gqEY.mjs} +2 -2
- package/dist/chunks/{index-Cwb07MWH.mjs.map → index-DAa5gqEY.mjs.map} +1 -1
- package/dist/chunks/{index-Dg_RIZZE.mjs → index-DC-gAYjS.mjs} +1 -1
- package/dist/chunks/{index-Dg_RIZZE.mjs.map → index-DC-gAYjS.mjs.map} +1 -1
- package/dist/chunks/{index-B2dOt1gw.mjs → index-DIHpzffL.mjs} +7 -7
- package/dist/chunks/{index-B2dOt1gw.mjs.map → index-DIHpzffL.mjs.map} +1 -1
- package/dist/chunks/{index-Ct3MZwaI.mjs → index-DfeRLazC.mjs} +3 -3
- package/dist/chunks/{index-Ct3MZwaI.mjs.map → index-DfeRLazC.mjs.map} +1 -1
- package/dist/chunks/{index-DjAgghT8.mjs → index-Dsw02Eup.mjs} +1 -1
- package/dist/chunks/{index-DjAgghT8.mjs.map → index-Dsw02Eup.mjs.map} +1 -1
- package/dist/chunks/{index-CaMrkKTO.mjs → index-PuN-H-VF.mjs} +1 -1
- package/dist/chunks/{index-CaMrkKTO.mjs.map → index-PuN-H-VF.mjs.map} +1 -1
- package/dist/chunks/{index-C7fGMq_n.mjs → index-UxWlwQlk.mjs} +1 -1
- package/dist/chunks/{index-C7fGMq_n.mjs.map → index-UxWlwQlk.mjs.map} +1 -1
- package/dist/chunks/{index-CHk809FF.mjs → index-gX0V59dZ.mjs} +2 -2
- package/dist/chunks/{index-CHk809FF.mjs.map → index-gX0V59dZ.mjs.map} +1 -1
- package/dist/chunks/{index-uXbHxUHA.mjs → index-z4Hk6sF4.mjs} +5 -5
- package/dist/chunks/{index-uXbHxUHA.mjs.map → index-z4Hk6sF4.mjs.map} +1 -1
- package/dist/chunks/{index-B0_Ir2TV.mjs → index-zIaBOKQ3.mjs} +13 -13
- package/dist/chunks/{index-B0_Ir2TV.mjs.map → index-zIaBOKQ3.mjs.map} +1 -1
- package/dist/chunks/{index.module-B0Ca3Gdk.mjs → index.module-Czm-Rcez.mjs} +1 -1
- package/dist/chunks/{index.module-B0Ca3Gdk.mjs.map → index.module-Czm-Rcez.mjs.map} +1 -1
- package/dist/chunks/{input-DIpq60B2.mjs → input-B-W81Xmi.mjs} +2 -2
- package/dist/chunks/{input-DIpq60B2.mjs.map → input-B-W81Xmi.mjs.map} +1 -1
- package/dist/chunks/{input-file-DM9pEX8i.mjs → input-file-BH3SMNJ7.mjs} +6 -6
- package/dist/chunks/{input-file-DM9pEX8i.mjs.map → input-file-BH3SMNJ7.mjs.map} +1 -1
- package/dist/chunks/{input-otp-CtjuBqi3.mjs → input-otp-BNC4E0wv.mjs} +3 -3
- package/dist/chunks/{input-otp-CtjuBqi3.mjs.map → input-otp-BNC4E0wv.mjs.map} +1 -1
- package/dist/chunks/{label-B9lRzjyu.mjs → label-D0iRy8Wj.mjs} +2 -2
- package/dist/chunks/{label-B9lRzjyu.mjs.map → label-D0iRy8Wj.mjs.map} +1 -1
- package/dist/chunks/{loader-circle-CV4eu4xA.mjs → loader-circle-BMRpEmW6.mjs} +2 -2
- package/dist/chunks/{loader-circle-CV4eu4xA.mjs.map → loader-circle-BMRpEmW6.mjs.map} +1 -1
- package/dist/chunks/{menubar-C5dV93NW.mjs → menubar-oWKK9_Ik.mjs} +11 -11
- package/dist/chunks/{menubar-C5dV93NW.mjs.map → menubar-oWKK9_Ik.mjs.map} +1 -1
- package/dist/chunks/{multi-select-DocC2zjT.mjs → multi-select-ILUAJeKL.mjs} +44 -32
- package/dist/chunks/multi-select-ILUAJeKL.mjs.map +1 -0
- package/dist/chunks/{pagination-YSeJIiYY.mjs → pagination-Bx_e3scG.mjs} +6 -6
- package/dist/chunks/{pagination-YSeJIiYY.mjs.map → pagination-Bx_e3scG.mjs.map} +1 -1
- package/dist/chunks/{popover-n7Qp5Vuh.mjs → popover-CdZgcLPo.mjs} +11 -11
- package/dist/chunks/{popover-n7Qp5Vuh.mjs.map → popover-CdZgcLPo.mjs.map} +1 -1
- package/dist/chunks/{progress-D8ptvurb.mjs → progress-e_BEvMwp.mjs} +2 -2
- package/dist/chunks/{progress-D8ptvurb.mjs.map → progress-e_BEvMwp.mjs.map} +1 -1
- package/dist/chunks/{radio-group-Cv9s2DCN.mjs → radio-group-BlSUw5ql.mjs} +11 -11
- package/dist/chunks/{radio-group-Cv9s2DCN.mjs.map → radio-group-BlSUw5ql.mjs.map} +1 -1
- package/dist/chunks/{react-number-format.es-BJ890ESD.mjs → react-number-format.es-HizMU4ab.mjs} +1 -1
- package/dist/chunks/{react-number-format.es-BJ890ESD.mjs.map → react-number-format.es-HizMU4ab.mjs.map} +1 -1
- package/dist/chunks/{scroll-area-TCq7xsA2.mjs → scroll-area-qiUBme0Q.mjs} +9 -9
- package/dist/chunks/{scroll-area-TCq7xsA2.mjs.map → scroll-area-qiUBme0Q.mjs.map} +1 -1
- package/dist/chunks/{select-H7CGuPw0.mjs → select-BBatgGtL.mjs} +56 -12
- package/dist/chunks/select-BBatgGtL.mjs.map +1 -0
- package/dist/chunks/{separator-NkxldVGm.mjs → separator-DYyhdAi6.mjs} +2 -2
- package/dist/chunks/{separator-NkxldVGm.mjs.map → separator-DYyhdAi6.mjs.map} +1 -1
- package/dist/chunks/{sheet-AxL9T592.mjs → sheet-1Dl0ChJl.mjs} +4 -4
- package/dist/chunks/{sheet-AxL9T592.mjs.map → sheet-1Dl0ChJl.mjs.map} +1 -1
- package/dist/chunks/{skeleton-CU2Dm8Iw.mjs → skeleton-LDpPNYvq.mjs} +2 -2
- package/dist/chunks/{skeleton-CU2Dm8Iw.mjs.map → skeleton-LDpPNYvq.mjs.map} +1 -1
- package/dist/chunks/{slider-B3vRKZLc.mjs → slider-D3yx--Ba.mjs} +9 -9
- package/dist/chunks/{slider-B3vRKZLc.mjs.map → slider-D3yx--Ba.mjs.map} +1 -1
- package/dist/chunks/{sortable-DhQy1UPP.mjs → sortable-CE5SC5JS.mjs} +3 -3
- package/dist/chunks/{sortable-DhQy1UPP.mjs.map → sortable-CE5SC5JS.mjs.map} +1 -1
- package/dist/chunks/string-DRS4HkY8.mjs +71 -0
- package/dist/chunks/string-DRS4HkY8.mjs.map +1 -0
- package/dist/chunks/{styles-TJifgkC0.mjs → styles-lQyUmHf7.mjs} +1 -1
- package/dist/chunks/{styles-TJifgkC0.mjs.map → styles-lQyUmHf7.mjs.map} +1 -1
- package/dist/chunks/{switch-QvQzfy42.mjs → switch-COE1z3YV.mjs} +7 -7
- package/dist/chunks/{switch-QvQzfy42.mjs.map → switch-COE1z3YV.mjs.map} +1 -1
- package/dist/chunks/{table-DZdgO7NC.mjs → table-BzhSKY4n.mjs} +2 -2
- package/dist/chunks/{table-DZdgO7NC.mjs.map → table-BzhSKY4n.mjs.map} +1 -1
- package/dist/chunks/{tabs-BWvk4qHQ.mjs → tabs-B5HgsIWx.mjs} +9 -9
- package/dist/chunks/{tabs-BWvk4qHQ.mjs.map → tabs-B5HgsIWx.mjs.map} +1 -1
- package/dist/chunks/{textarea-DYiDaInd.mjs → textarea-DM2uvcxK.mjs} +2 -2
- package/dist/chunks/{textarea-DYiDaInd.mjs.map → textarea-DM2uvcxK.mjs.map} +1 -1
- package/dist/chunks/{toast-D0PsIgF9.mjs → toast-DfCz10Et.mjs} +12 -12
- package/dist/chunks/{toast-D0PsIgF9.mjs.map → toast-DfCz10Et.mjs.map} +1 -1
- package/dist/chunks/{toggle-BKFdE2bV.mjs → toggle-Du3jnh1s.mjs} +4 -4
- package/dist/chunks/{toggle-BKFdE2bV.mjs.map → toggle-Du3jnh1s.mjs.map} +1 -1
- package/dist/chunks/{tooltip-CAFwKDsn.mjs → tooltip-njN_ok-r.mjs} +11 -11
- package/dist/chunks/{tooltip-CAFwKDsn.mjs.map → tooltip-njN_ok-r.mjs.map} +1 -1
- package/dist/chunks/{trash-2-yllyHd3d.mjs → trash-2-ab4Di2Bx.mjs} +2 -2
- package/dist/chunks/{trash-2-yllyHd3d.mjs.map → trash-2-ab4Di2Bx.mjs.map} +1 -1
- package/dist/chunks/{triangle-alert-EAwPzBPO.mjs → triangle-alert-B_tQGpT4.mjs} +2 -2
- package/dist/chunks/{triangle-alert-EAwPzBPO.mjs.map → triangle-alert-B_tQGpT4.mjs.map} +1 -1
- package/dist/chunks/{tslib.es6-DhTbpVFO.mjs → tslib.es6-Q9puKanr.mjs} +1 -1
- package/dist/chunks/{tslib.es6-DhTbpVFO.mjs.map → tslib.es6-Q9puKanr.mjs.map} +1 -1
- package/dist/chunks/{upload-lFvmEaEl.mjs → upload-DvgPaJGb.mjs} +2 -2
- package/dist/chunks/{upload-lFvmEaEl.mjs.map → upload-DvgPaJGb.mjs.map} +1 -1
- package/dist/chunks/{use-toast-Db3wq_Xq.mjs → use-toast-CLJJgfL0.mjs} +1 -1
- package/dist/chunks/{use-toast-Db3wq_Xq.mjs.map → use-toast-CLJJgfL0.mjs.map} +1 -1
- package/dist/chunks/{utils-CPJ225se.mjs → utils-BDcRwQMd.mjs} +2 -2
- package/dist/chunks/{utils-CPJ225se.mjs.map → utils-BDcRwQMd.mjs.map} +1 -1
- package/dist/chunks/{wand-sparkles-DgnbuUXs.mjs → wand-sparkles-DqgQle7F.mjs} +2 -2
- package/dist/chunks/{wand-sparkles-DgnbuUXs.mjs.map → wand-sparkles-DqgQle7F.mjs.map} +1 -1
- package/dist/chunks/{x-C2RTSdrs.mjs → x-B6hDJA_l.mjs} +2 -2
- package/dist/chunks/{x-C2RTSdrs.mjs.map → x-B6hDJA_l.mjs.map} +1 -1
- package/dist/collapsible/index.mjs +7 -7
- package/dist/combobox/index.d.ts +9 -1
- package/dist/combobox/index.mjs +30 -155
- package/dist/combobox/index.mjs.map +1 -1
- package/dist/command/index.mjs +18 -18
- package/dist/context-menu/index.mjs +21 -21
- package/dist/dash/index.mjs +24 -24
- package/dist/data-table/index.d.ts +61 -49
- package/dist/data-table/index.mjs +77 -63
- package/dist/data-table/index.mjs.map +1 -1
- package/dist/date-picker/index.d.ts +7 -2
- package/dist/date-picker/index.mjs +27 -27
- package/dist/dialog/index.mjs +17 -17
- package/dist/drawer/index.mjs +14 -14
- package/dist/dropdown-menu/index.mjs +22 -22
- package/dist/dropzone/index.mjs +18 -18
- package/dist/editable-table/index.mjs +20 -18
- package/dist/editable-table/index.mjs.map +1 -1
- package/dist/empty/index.mjs +2 -2
- package/dist/export/index.d.ts +22 -10
- package/dist/export/index.mjs +20525 -31
- package/dist/export/index.mjs.map +1 -1
- package/dist/field/index.mjs +4 -4
- package/dist/form/index.mjs +4 -4
- package/dist/form-fields/index.mjs +26 -26
- package/dist/form-layout/index.d.ts +82 -10
- package/dist/form-layout/index.mjs +199 -97
- package/dist/form-layout/index.mjs.map +1 -1
- package/dist/hover-card/index.mjs +13 -13
- package/dist/icon/index.mjs +1 -1
- package/dist/index.css +1 -1
- package/dist/input/index.mjs +3 -3
- package/dist/input-file/index.mjs +8 -8
- package/dist/input-group/index.mjs +5 -5
- package/dist/input-otp/index.mjs +4 -4
- package/dist/item/index.mjs +3 -3
- package/dist/ivt.css +1 -1
- package/dist/kbd/index.mjs +2 -2
- package/dist/label/index.mjs +3 -3
- package/dist/layout/index.d.ts +279 -1
- package/dist/layout/index.mjs +259 -23
- package/dist/layout/index.mjs.map +1 -1
- package/dist/menubar/index.mjs +22 -22
- package/dist/multi-input-list/index.mjs +28 -28
- package/dist/multi-select/index.d.ts +4 -0
- package/dist/multi-select/index.mjs +32 -31
- package/dist/multi-select/index.mjs.map +1 -1
- package/dist/navigation-menu/index.mjs +15 -15
- package/dist/pagination/index.mjs +8 -8
- package/dist/popover/index.mjs +16 -16
- package/dist/progress/index.mjs +3 -3
- package/dist/radio-group/index.mjs +16 -16
- package/dist/resizable/index.mjs +3 -3
- package/dist/scroll-area/index.mjs +10 -10
- package/dist/select/index.d.ts +3 -1
- package/dist/select/index.mjs +11 -6
- package/dist/select/index.mjs.map +1 -1
- package/dist/separator/index.mjs +3 -3
- package/dist/shared/index.d.ts +3 -13
- package/dist/shared/index.mjs +8 -55
- package/dist/shared/index.mjs.map +1 -1
- package/dist/sheet/index.mjs +17 -17
- package/dist/sidebar/index.mjs +25 -25
- package/dist/skeleton/index.mjs +3 -3
- package/dist/skeleton-component/index.d.ts +2 -6
- package/dist/skeleton-component/index.mjs +6 -72
- package/dist/skeleton-component/index.mjs.map +1 -1
- package/dist/slider/index.mjs +11 -11
- package/dist/sortable/index.mjs +4 -4
- package/dist/spinner/index.mjs +4 -4
- package/dist/switch/index.mjs +9 -9
- package/dist/table/index.mjs +3 -3
- package/dist/table-filter/index.d.ts +3 -1
- package/dist/table-filter/index.mjs +59 -57
- package/dist/table-filter/index.mjs.map +1 -1
- package/dist/tabs/index.mjs +12 -12
- package/dist/textarea/index.mjs +3 -3
- package/dist/toast/index.mjs +14 -14
- package/dist/toaster/index.mjs +15 -15
- package/dist/toggle/index.mjs +6 -6
- package/dist/toggle-group/index.mjs +11 -11
- package/dist/tooltip/index.mjs +15 -15
- package/package.json +5 -2
- package/dist/chunks/CalendarPopover-Dk28a8Qn.mjs.map +0 -1
- package/dist/chunks/CalendarRange-CbhXjWnp.mjs.map +0 -1
- package/dist/chunks/ExportButtons-D844DWYI.mjs +0 -229
- package/dist/chunks/ExportButtons-D844DWYI.mjs.map +0 -1
- package/dist/chunks/GenericTabs-CHcF7U9y.mjs.map +0 -1
- package/dist/chunks/ListItem-CoWJkU9U.mjs.map +0 -1
- package/dist/chunks/_commonjsHelpers-Bx7yLjXw.mjs.map +0 -1
- package/dist/chunks/command-D6Om1YRG.mjs.map +0 -1
- package/dist/chunks/date-picker-CrZsqFq1.mjs.map +0 -1
- package/dist/chunks/multi-select-DocC2zjT.mjs.map +0 -1
- package/dist/chunks/select-H7CGuPw0.mjs.map +0 -1
package/dist/accordion/index.mjs
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
export { A as Accordion, c as AccordionContent, a as AccordionItem, b as AccordionTrigger } from '../chunks/accordion-
|
|
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-
|
|
3
|
+
import '../chunks/index-D4jPaBZ2.mjs';
|
|
4
4
|
import 'react/jsx-runtime';
|
|
5
5
|
import '@radix-ui/react-collection';
|
|
6
|
-
import '../chunks/index-
|
|
6
|
+
import '../chunks/index-Dsw02Eup.mjs';
|
|
7
7
|
import 'react-dom';
|
|
8
8
|
import '@radix-ui/react-slot';
|
|
9
|
-
import '../chunks/index-
|
|
10
|
-
import '../chunks/index-
|
|
11
|
-
import '../chunks/index-
|
|
12
|
-
import '../chunks/index-
|
|
13
|
-
import '../chunks/index-
|
|
14
|
-
import '../chunks/index-
|
|
15
|
-
import '../chunks/utils-
|
|
16
|
-
import '../chunks/bundle-mjs-
|
|
17
|
-
import '../chunks/chevron-down-
|
|
18
|
-
import '../chunks/createLucideIcon-
|
|
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-
|
|
3
|
-
import {
|
|
4
|
-
import { c as
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { B as Button } from '../chunks/button-
|
|
8
|
-
import '../chunks/bundle-mjs-
|
|
9
|
-
import '../chunks/
|
|
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-
|
|
29
|
-
import '
|
|
30
|
-
import '
|
|
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
|
[
|
package/dist/alert/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { A as Alert, b as AlertDescription, a as AlertTitle } from '../chunks/alert-
|
|
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-
|
|
5
|
-
import '../chunks/bundle-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-
|
|
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-
|
|
4
|
-
import { c as composeEventHandlers } from '../chunks/index-
|
|
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-
|
|
8
|
-
import { b as buttonVariants } from '../chunks/button-
|
|
9
|
-
import '../chunks/index-
|
|
10
|
-
import '../chunks/index-
|
|
11
|
-
import '../chunks/index-
|
|
12
|
-
import '../chunks/index-
|
|
13
|
-
import '../chunks/index-
|
|
14
|
-
import '../chunks/index-
|
|
15
|
-
import '../chunks/tslib.es6-
|
|
16
|
-
import '../chunks/index-
|
|
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-
|
|
19
|
-
import '../chunks/bundle-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-
|
|
4
|
-
import { c as cn } from '../chunks/utils-
|
|
5
|
-
import { L as Label } from '../chunks/label-
|
|
6
|
-
import { P as Popover, a as PopoverTrigger, b as PopoverContent } from '../chunks/popover-
|
|
7
|
-
import { B as Button } from '../chunks/button-
|
|
8
|
-
import { B as Badge } from '../chunks/badge-
|
|
9
|
-
import { X } from '../chunks/x-
|
|
10
|
-
import { c as TooltipProvider, T as Tooltip, a as TooltipTrigger, b as TooltipContent } from '../chunks/tooltip-
|
|
11
|
-
import { S as Separator } from '../chunks/separator-
|
|
12
|
-
import { C as ChevronsUpDown } from '../chunks/chevrons-up-down-
|
|
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-
|
|
14
|
-
import { C as Check } from '../chunks/check-
|
|
15
|
-
import { W as WandSparkles } from '../chunks/wand-sparkles-
|
|
16
|
-
import '../chunks/bundle-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-
|
|
21
|
-
import '../chunks/index-
|
|
22
|
-
import '../chunks/index-
|
|
23
|
-
import '../chunks/index-
|
|
24
|
-
import '../chunks/index-
|
|
25
|
-
import '../chunks/tslib.es6-
|
|
26
|
-
import '../chunks/index-
|
|
27
|
-
import '../chunks/index-
|
|
28
|
-
import '../chunks/index-
|
|
29
|
-
import '../chunks/index-
|
|
30
|
-
import '../chunks/index-
|
|
31
|
-
import '../chunks/index-
|
|
32
|
-
import '../chunks/index-
|
|
33
|
-
import '../chunks/createLucideIcon-
|
|
34
|
-
import '../chunks/index-
|
|
35
|
-
import '../chunks/index-
|
|
36
|
-
import '../chunks/dialog-
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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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"}
|
package/dist/avatar/index.mjs
CHANGED
|
@@ -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-
|
|
4
|
-
import { u as useLayoutEffect2 } from '../chunks/index-
|
|
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-
|
|
8
|
-
import { c as cn } from '../chunks/utils-
|
|
9
|
-
import '../chunks/bundle-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 = []) {
|
package/dist/badge/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { B as Badge, b as badgeVariants } from '../chunks/badge-
|
|
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-
|
|
6
|
-
import '../chunks/bundle-mjs-
|
|
5
|
+
import '../chunks/utils-BDcRwQMd.mjs';
|
|
6
|
+
import '../chunks/bundle-mjs-CXmmFvYo.mjs';
|
|
7
7
|
//# sourceMappingURL=index.mjs.map
|
package/dist/base/index.d.ts
CHANGED
|
@@ -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-
|
|
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
|
|
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
|
|
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
|
|
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 };
|