ivt 0.7.3 → 0.7.5
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 -15
- package/dist/accordion/index.mjs.map +1 -1
- package/dist/accordion-table/index.mjs +26 -28
- package/dist/accordion-table/index.mjs.map +1 -1
- package/dist/alert/index.mjs +3 -3
- package/dist/alert-dialog/index.mjs +15 -17
- package/dist/alert-dialog/index.mjs.map +1 -1
- package/dist/aspect-ratio/index.mjs +42 -3
- package/dist/aspect-ratio/index.mjs.map +1 -1
- package/dist/auto-complete-multi-select/index.mjs +31 -33
- package/dist/auto-complete-multi-select/index.mjs.map +1 -1
- package/dist/avatar/index.mjs +130 -8
- package/dist/avatar/index.mjs.map +1 -1
- package/dist/badge/index.mjs +3 -3
- package/dist/base/index.d.ts +31 -9
- package/dist/base/index.mjs +79 -164
- package/dist/base/index.mjs.map +1 -1
- package/dist/breadcrumb/index.mjs +5 -5
- package/dist/button/index.d.ts +1 -1
- package/dist/button/index.mjs +3 -3
- package/dist/button-group/index.d.ts +3 -2
- package/dist/button-group/index.mjs +3 -4
- package/dist/button-group/index.mjs.map +1 -1
- 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 +2869 -1282
- package/dist/chart/index.mjs.map +1 -1
- package/dist/checkbox/index.mjs +12 -14
- package/dist/checkbox/index.mjs.map +1 -1
- package/dist/chunks/AutoComplete-BpwnFm_u.mjs +106 -0
- package/dist/chunks/AutoComplete-BpwnFm_u.mjs.map +1 -0
- package/dist/chunks/{CalendarRange-C6BJ_i8D.mjs → CalendarRange-BGP7p-ma.mjs} +8 -8
- package/dist/chunks/{CalendarRange-C6BJ_i8D.mjs.map → CalendarRange-BGP7p-ma.mjs.map} +1 -1
- package/dist/chunks/{ComboboxField-DFqOZmlN.mjs → ComboboxField-CzJlHHXv.mjs} +9 -9
- package/dist/chunks/{ComboboxField-DFqOZmlN.mjs.map → ComboboxField-CzJlHHXv.mjs.map} +1 -1
- package/dist/chunks/{Container-BFnURH_3.mjs → Container-77E_UFi2.mjs} +2 -2
- package/dist/chunks/{Container-BFnURH_3.mjs.map → Container-77E_UFi2.mjs.map} +1 -1
- package/dist/chunks/{DeleteConfirmationModal-3tgFcxyU.mjs → DeleteConfirmationModal-DQK05Srx.mjs} +4 -4
- package/dist/chunks/{DeleteConfirmationModal-3tgFcxyU.mjs.map → DeleteConfirmationModal-DQK05Srx.mjs.map} +1 -1
- package/dist/chunks/{ListItem-Dhdqegoz.mjs → ListItem-B0_5JcsU.mjs} +4 -4
- package/dist/chunks/{ListItem-Dhdqegoz.mjs.map → ListItem-B0_5JcsU.mjs.map} +1 -1
- package/dist/chunks/{TooltipIndicator-tYIvoK3x.mjs → TooltipIndicator-Db1poSJI.mjs} +4 -4
- package/dist/chunks/{TooltipIndicator-tYIvoK3x.mjs.map → TooltipIndicator-Db1poSJI.mjs.map} +1 -1
- package/dist/chunks/{_commonjsHelpers-CDajFLDm.mjs → _commonjsHelpers-DkfSKqYE.mjs} +1 -1
- package/dist/chunks/_commonjsHelpers-DkfSKqYE.mjs.map +1 -0
- package/dist/chunks/{accordion-Dig0Vyew.mjs → accordion-DSn7k_RQ.mjs} +9 -11
- package/dist/chunks/{accordion-Dig0Vyew.mjs.map → accordion-DSn7k_RQ.mjs.map} +1 -1
- package/dist/chunks/{alert-CtNiMMMm.mjs → alert-aP6n7wtq.mjs} +2 -2
- package/dist/chunks/{alert-CtNiMMMm.mjs.map → alert-aP6n7wtq.mjs.map} +1 -1
- package/dist/chunks/{badge-CMepcgQ2.mjs → badge-CsUuqHNu.mjs} +2 -2
- package/dist/chunks/{badge-CMepcgQ2.mjs.map → badge-CsUuqHNu.mjs.map} +1 -1
- package/dist/chunks/{bundle-mjs-ByJyReDu.mjs → bundle-mjs-BRbxNcQb.mjs} +228 -154
- package/dist/chunks/bundle-mjs-BRbxNcQb.mjs.map +1 -0
- package/dist/chunks/{button-DHQrVlqk.mjs → button-BW9I4XWU.mjs} +2 -2
- package/dist/chunks/{button-DHQrVlqk.mjs.map → button-BW9I4XWU.mjs.map} +1 -1
- package/dist/chunks/button-C8IZYeQz.d.ts +16 -0
- package/dist/chunks/{calendar-DtKpXGXO.mjs → calendar-C549VT55.mjs} +1181 -797
- package/dist/chunks/calendar-C549VT55.mjs.map +1 -0
- package/dist/chunks/{calendar-days-5V8H0_Qn.mjs → calendar-days-BSzlDBsi.mjs} +2 -2
- package/dist/chunks/{calendar-days-5V8H0_Qn.mjs.map → calendar-days-BSzlDBsi.mjs.map} +1 -1
- package/dist/chunks/{card-DgO3JDtX.mjs → card-Dqm2EuWU.mjs} +2 -2
- package/dist/chunks/{card-DgO3JDtX.mjs.map → card-Dqm2EuWU.mjs.map} +1 -1
- package/dist/chunks/{check-yo43z6YO.mjs → check-CKdwsuVA.mjs} +2 -2
- package/dist/chunks/{check-yo43z6YO.mjs.map → check-CKdwsuVA.mjs.map} +1 -1
- package/dist/chunks/{checkbox-B3xoUcaP.mjs → checkbox-CvaPsjy3.mjs} +9 -11
- package/dist/chunks/{checkbox-B3xoUcaP.mjs.map → checkbox-CvaPsjy3.mjs.map} +1 -1
- package/dist/chunks/{chevron-down-gO34wzc7.mjs → chevron-down-o7NUBnJ4.mjs} +2 -2
- package/dist/chunks/{chevron-down-gO34wzc7.mjs.map → chevron-down-o7NUBnJ4.mjs.map} +1 -1
- package/dist/chunks/{chevron-left-DGlHB7Nw.mjs → chevron-left-BZ8X7kLy.mjs} +2 -2
- package/dist/chunks/{chevron-left-DGlHB7Nw.mjs.map → chevron-left-BZ8X7kLy.mjs.map} +1 -1
- package/dist/chunks/{chevron-right-B6bwFEdI.mjs → chevron-right-jAScR3zY.mjs} +2 -2
- package/dist/chunks/{chevron-right-B6bwFEdI.mjs.map → chevron-right-jAScR3zY.mjs.map} +1 -1
- package/dist/chunks/{chevrons-up-down-StzXyb6Z.mjs → chevrons-up-down-BSIPdamI.mjs} +2 -2
- package/dist/chunks/{chevrons-up-down-StzXyb6Z.mjs.map → chevrons-up-down-BSIPdamI.mjs.map} +1 -1
- package/dist/chunks/{command-BUHV178P.mjs → command-B29vdoVO.mjs} +8 -8
- package/dist/chunks/{command-BUHV178P.mjs.map → command-B29vdoVO.mjs.map} +1 -1
- package/dist/chunks/{createLucideIcon-BrIj5xiA.mjs → createLucideIcon-CkP7424r.mjs} +1 -1
- package/dist/chunks/{createLucideIcon-BrIj5xiA.mjs.map → createLucideIcon-CkP7424r.mjs.map} +1 -1
- package/dist/chunks/{date-re6oTh_O.mjs → date-Y_hKMQVr.mjs} +2 -2
- package/dist/chunks/{date-re6oTh_O.mjs.map → date-Y_hKMQVr.mjs.map} +1 -1
- package/dist/chunks/{dialog-CsH0QGEc.mjs → dialog-BhaHMQnG.mjs} +4 -4
- package/dist/chunks/{dialog-CsH0QGEc.mjs.map → dialog-BhaHMQnG.mjs.map} +1 -1
- package/dist/chunks/{ellipsis-BED2L1d7.mjs → ellipsis-DHAz8TrI.mjs} +2 -2
- package/dist/chunks/{ellipsis-BED2L1d7.mjs.map → ellipsis-DHAz8TrI.mjs.map} +1 -1
- package/dist/chunks/{form-B4-N-eE1.mjs → form-BAxhKbgh.mjs} +299 -150
- package/dist/chunks/form-BAxhKbgh.mjs.map +1 -0
- package/dist/chunks/{format-C24_9AKp.mjs → format-CR4Q6BSq.mjs} +1 -1
- package/dist/chunks/{format-C24_9AKp.mjs.map → format-CR4Q6BSq.mjs.map} +1 -1
- package/dist/chunks/{format-numbers-CksgR7yb.mjs → format-numbers-CWj9Vf7x.mjs} +2 -6
- package/dist/chunks/format-numbers-CWj9Vf7x.mjs.map +1 -0
- package/dist/chunks/{hover-card-Dke495v-.mjs → hover-card-DVmQc78n.mjs} +9 -11
- package/dist/chunks/{hover-card-Dke495v-.mjs.map → hover-card-DVmQc78n.mjs.map} +1 -1
- package/dist/chunks/{index-DIkcxop-.mjs → index-4pJ77hyF.mjs} +1 -1
- package/dist/chunks/{index-DIkcxop-.mjs.map → index-4pJ77hyF.mjs.map} +1 -1
- package/dist/chunks/{index-BrOFvz7z.mjs → index-BN17NQCv.mjs} +1 -1
- package/dist/chunks/{index-BrOFvz7z.mjs.map → index-BN17NQCv.mjs.map} +1 -1
- package/dist/chunks/{index-DmwGzaYt.mjs → index-Bt1elORc.mjs} +9 -11
- package/dist/chunks/{index-DmwGzaYt.mjs.map → index-Bt1elORc.mjs.map} +1 -1
- package/dist/chunks/{index-DHpiwknP.mjs → index-CByz7d8q.mjs} +3 -3
- package/dist/chunks/{index-DHpiwknP.mjs.map → index-CByz7d8q.mjs.map} +1 -1
- package/dist/chunks/{index-BElPX9xn.mjs → index-CS2Lzoed.mjs} +7 -9
- package/dist/chunks/{index-BElPX9xn.mjs.map → index-CS2Lzoed.mjs.map} +1 -1
- package/dist/chunks/{index-C8cUOEOO.mjs → index-CVjOpozG.mjs} +38 -2
- package/dist/chunks/index-CVjOpozG.mjs.map +1 -0
- package/dist/chunks/{index-C-ZwjB4k.mjs → index-Cs9A0tpU.mjs} +1 -1
- package/dist/chunks/{index-C-ZwjB4k.mjs.map → index-Cs9A0tpU.mjs.map} +1 -1
- package/dist/chunks/{index-Bn9j4jd_.mjs → index-Ct610FOk.mjs} +2 -2
- package/dist/chunks/{index-Bn9j4jd_.mjs.map → index-Ct610FOk.mjs.map} +1 -1
- package/dist/chunks/{index-D7mBTwC1.mjs → index-CvVBB5ll.mjs} +4 -5
- package/dist/chunks/{index-D7mBTwC1.mjs.map → index-CvVBB5ll.mjs.map} +1 -1
- package/dist/chunks/{index-7SNyMh-j.mjs → index-D1CSAowX.mjs} +13 -15
- package/dist/chunks/{index-7SNyMh-j.mjs.map → index-D1CSAowX.mjs.map} +1 -1
- package/dist/chunks/{index-DmLyVVSA.mjs → index-D2DYiX9D.mjs} +2 -2
- package/dist/chunks/{index-DmLyVVSA.mjs.map → index-D2DYiX9D.mjs.map} +1 -1
- package/dist/chunks/{index-CFaMr67I.mjs → index-D8mA4n7w.mjs} +1 -1
- package/dist/chunks/{index-CFaMr67I.mjs.map → index-D8mA4n7w.mjs.map} +1 -1
- package/dist/chunks/{index-rXTYYoI9.mjs → index-DCDDoDjL.mjs} +6 -7
- package/dist/chunks/{index-rXTYYoI9.mjs.map → index-DCDDoDjL.mjs.map} +1 -1
- package/dist/chunks/{index-BKxnMSY9.mjs → index-DLqxy-dg.mjs} +12 -2
- package/dist/chunks/index-DLqxy-dg.mjs.map +1 -0
- package/dist/chunks/{index-DLAC_TU-.mjs → index-DNMhNzeD.mjs} +7 -9
- package/dist/chunks/{index-DLAC_TU-.mjs.map → index-DNMhNzeD.mjs.map} +1 -1
- package/dist/chunks/{index-BXScVxAr.mjs → index-DQD35Ges.mjs} +3 -3
- package/dist/chunks/{index-BXScVxAr.mjs.map → index-DQD35Ges.mjs.map} +1 -1
- package/dist/chunks/{index-DjiiXdCh.mjs → index-D_Q4NGnO.mjs} +1 -1
- package/dist/chunks/{index-DjiiXdCh.mjs.map → index-D_Q4NGnO.mjs.map} +1 -1
- package/dist/chunks/{index-BP00_xoF.mjs → index-D_e6adwb.mjs} +12 -5
- package/dist/chunks/index-D_e6adwb.mjs.map +1 -0
- package/dist/chunks/{index-B8RPmvRI.mjs → index-DhI6OG_H.mjs} +2 -2
- package/dist/chunks/{index-B8RPmvRI.mjs.map → index-DhI6OG_H.mjs.map} +1 -1
- package/dist/chunks/{index-DY9hLs8O.mjs → index-Dp_0m03a.mjs} +2 -2
- package/dist/chunks/{index-DY9hLs8O.mjs.map → index-Dp_0m03a.mjs.map} +1 -1
- package/dist/chunks/{index-VN9qcZ4P.mjs → index-oX_tk439.mjs} +1 -1
- package/dist/chunks/{index-VN9qcZ4P.mjs.map → index-oX_tk439.mjs.map} +1 -1
- package/dist/chunks/index.module-Df4mRjmZ.mjs +73 -0
- package/dist/chunks/index.module-Df4mRjmZ.mjs.map +1 -0
- package/dist/chunks/{input-Beaky41D.mjs → input-YpoAHnXb.mjs} +2 -2
- package/dist/chunks/{input-Beaky41D.mjs.map → input-YpoAHnXb.mjs.map} +1 -1
- package/dist/chunks/input-otp-BKqdZwNx.mjs +455 -0
- package/dist/chunks/input-otp-BKqdZwNx.mjs.map +1 -0
- package/dist/chunks/{label-n_pPs58q.mjs → label-D5s6d0et.mjs} +44 -3
- package/dist/chunks/label-D5s6d0et.mjs.map +1 -0
- package/dist/chunks/{loader-circle-CEDL1CbD.mjs → loader-circle-C7StEOZI.mjs} +2 -2
- package/dist/chunks/{loader-circle-CEDL1CbD.mjs.map → loader-circle-C7StEOZI.mjs.map} +1 -1
- package/dist/chunks/{menubar-C8VLP8-v.mjs → menubar-ySifmjAG.mjs} +11 -13
- package/dist/chunks/{menubar-C8VLP8-v.mjs.map → menubar-ySifmjAG.mjs.map} +1 -1
- package/dist/chunks/{multi-select-fLsOx7-e.mjs → multi-select-BsnRMfg7.mjs} +13 -13
- package/dist/chunks/{multi-select-fLsOx7-e.mjs.map → multi-select-BsnRMfg7.mjs.map} +1 -1
- package/dist/chunks/{pagination-iwqbmQ5Q.mjs → pagination-CV6N_Qu_.mjs} +6 -6
- package/dist/chunks/{pagination-iwqbmQ5Q.mjs.map → pagination-CV6N_Qu_.mjs.map} +1 -1
- package/dist/chunks/{popover-Cpht2GgQ.mjs → popover-D3JC54Y3.mjs} +11 -13
- package/dist/chunks/{popover-Cpht2GgQ.mjs.map → popover-D3JC54Y3.mjs.map} +1 -1
- package/dist/chunks/progress-D_Enl4tV.mjs +223 -0
- package/dist/chunks/progress-D_Enl4tV.mjs.map +1 -0
- package/dist/chunks/radio-group-yF1QEewC.mjs +258 -0
- package/dist/chunks/radio-group-yF1QEewC.mjs.map +1 -0
- package/dist/chunks/{react-number-format.es-CcgVtYyo.mjs → react-number-format.es-C3uDZhRo.mjs} +1 -1
- package/dist/chunks/{react-number-format.es-CcgVtYyo.mjs.map → react-number-format.es-C3uDZhRo.mjs.map} +1 -1
- package/dist/chunks/{scroll-area-DuO1U-ha.mjs → scroll-area-CdGRe--S.mjs} +9 -11
- package/dist/chunks/{scroll-area-DuO1U-ha.mjs.map → scroll-area-CdGRe--S.mjs.map} +1 -1
- package/dist/chunks/{select-D5DzfQ8s.mjs → select-B8JYuJE5.mjs} +5 -5
- package/dist/chunks/{select-D5DzfQ8s.mjs.map → select-B8JYuJE5.mjs.map} +1 -1
- package/dist/chunks/{separator-DHnqygnd.mjs → separator-sWF5eZgM.mjs} +44 -3
- package/dist/chunks/separator-sWF5eZgM.mjs.map +1 -0
- package/dist/chunks/{sheet-CXvwS4r9.mjs → sheet-D-4XWzUo.mjs} +4 -4
- package/dist/chunks/{sheet-CXvwS4r9.mjs.map → sheet-D-4XWzUo.mjs.map} +1 -1
- package/dist/chunks/{skeleton-CuuvHTlE.mjs → skeleton-CQlSHSfr.mjs} +2 -2
- package/dist/chunks/{skeleton-CuuvHTlE.mjs.map → skeleton-CQlSHSfr.mjs.map} +1 -1
- package/dist/chunks/slider-CaliGouI.mjs +588 -0
- package/dist/chunks/slider-CaliGouI.mjs.map +1 -0
- package/dist/chunks/{sortable-Dc-PXgOX.mjs → sortable-BoTUMXD0.mjs} +3 -3
- package/dist/chunks/{sortable-Dc-PXgOX.mjs.map → sortable-BoTUMXD0.mjs.map} +1 -1
- package/dist/chunks/styles-C5sFcbz4.mjs +6 -0
- package/dist/chunks/styles-C5sFcbz4.mjs.map +1 -0
- package/dist/chunks/switch-szutUcvb.mjs +138 -0
- package/dist/chunks/switch-szutUcvb.mjs.map +1 -0
- package/dist/chunks/{table-CsRWNDTp.mjs → table-wwce3IsC.mjs} +2 -2
- package/dist/chunks/{table-CsRWNDTp.mjs.map → table-wwce3IsC.mjs.map} +1 -1
- package/dist/chunks/{tabs-Bw6ByWDS.mjs → tabs-BDPMoWeJ.mjs} +9 -10
- package/dist/chunks/{tabs-Bw6ByWDS.mjs.map → tabs-BDPMoWeJ.mjs.map} +1 -1
- package/dist/chunks/{textarea-C7CkvJ9p.mjs → textarea-DYBOxg35.mjs} +2 -2
- package/dist/chunks/{textarea-C7CkvJ9p.mjs.map → textarea-DYBOxg35.mjs.map} +1 -1
- package/dist/chunks/toast-S15TT7Q2.mjs +702 -0
- package/dist/chunks/toast-S15TT7Q2.mjs.map +1 -0
- package/dist/chunks/{toggle-BRsNuICy.mjs → toggle-GXtKRhvr.mjs} +4 -5
- package/dist/chunks/{toggle-BRsNuICy.mjs.map → toggle-GXtKRhvr.mjs.map} +1 -1
- package/dist/chunks/{tooltip-DXG_UtcS.mjs → tooltip-z43eMlPO.mjs} +11 -13
- package/dist/chunks/{tooltip-DXG_UtcS.mjs.map → tooltip-z43eMlPO.mjs.map} +1 -1
- package/dist/chunks/{trash-2-DSHxuneu.mjs → trash-2-CZE_1bXY.mjs} +2 -2
- package/dist/chunks/{trash-2-DSHxuneu.mjs.map → trash-2-CZE_1bXY.mjs.map} +1 -1
- package/dist/chunks/{triangle-alert-8sDAvjNW.mjs → triangle-alert-BeczCtiG.mjs} +2 -2
- package/dist/chunks/{triangle-alert-8sDAvjNW.mjs.map → triangle-alert-BeczCtiG.mjs.map} +1 -1
- package/dist/chunks/{tslib.es6-WVUvgLYj.mjs → tslib.es6-B20VGjW7.mjs} +1 -1
- package/dist/chunks/{tslib.es6-WVUvgLYj.mjs.map → tslib.es6-B20VGjW7.mjs.map} +1 -1
- package/dist/chunks/use-toast-C3gJQZ0s.mjs +137 -0
- package/dist/chunks/use-toast-C3gJQZ0s.mjs.map +1 -0
- package/dist/chunks/{utils-BqIRZT53.mjs → utils-uOfHPBdi.mjs} +2 -2
- package/dist/chunks/{utils-BqIRZT53.mjs.map → utils-uOfHPBdi.mjs.map} +1 -1
- package/dist/chunks/{wand-sparkles-BjK8VloB.mjs → wand-sparkles-COk3z6HL.mjs} +2 -2
- package/dist/chunks/{wand-sparkles-BjK8VloB.mjs.map → wand-sparkles-COk3z6HL.mjs.map} +1 -1
- package/dist/chunks/{x-D7oIZ9hK.mjs → x-D5HL_X5m.mjs} +2 -2
- package/dist/chunks/{x-D7oIZ9hK.mjs.map → x-D5HL_X5m.mjs.map} +1 -1
- package/dist/collapsible/index.mjs +8 -10
- package/dist/collapsible/index.mjs.map +1 -1
- package/dist/combobox/index.mjs +25 -27
- package/dist/combobox/index.mjs.map +1 -1
- package/dist/command/index.d.ts +7 -7
- package/dist/command/index.mjs +19 -21
- package/dist/command/index.mjs.map +1 -1
- package/dist/context-menu/index.mjs +21 -23
- package/dist/context-menu/index.mjs.map +1 -1
- package/dist/dash/index.mjs +25 -26
- package/dist/dash/index.mjs.map +1 -1
- package/dist/data-table/index.mjs +33 -35
- package/dist/data-table/index.mjs.map +1 -1
- package/dist/date-picker/index.d.ts +22 -7
- package/dist/date-picker/index.mjs +26 -28
- package/dist/date-picker/index.mjs.map +1 -1
- package/dist/dialog/index.mjs +18 -20
- package/dist/dialog/index.mjs.map +1 -1
- package/dist/drawer/index.mjs +15 -17
- package/dist/drawer/index.mjs.map +1 -1
- package/dist/dropdown-menu/index.mjs +21 -23
- package/dist/dropdown-menu/index.mjs.map +1 -1
- package/dist/dropzone/index.mjs +19 -133
- package/dist/dropzone/index.mjs.map +1 -1
- package/dist/editable-table/index.mjs +18 -20
- package/dist/editable-table/index.mjs.map +1 -1
- package/dist/empty/index.mjs +2 -2
- package/dist/field/index.d.ts +3 -2
- package/dist/field/index.mjs +4 -5
- package/dist/field/index.mjs.map +1 -1
- package/dist/form/index.mjs +4 -5
- package/dist/form/index.mjs.map +1 -1
- package/dist/form-fields/index.mjs +27 -29
- package/dist/form-fields/index.mjs.map +1 -1
- package/dist/form-layout/index.d.ts +86 -0
- package/dist/form-layout/index.mjs +535 -0
- package/dist/form-layout/index.mjs.map +1 -0
- package/dist/hover-card/index.mjs +14 -16
- package/dist/hover-card/index.mjs.map +1 -1
- package/dist/icon/index.mjs +1 -1
- package/dist/index.css +1 -1
- package/dist/input/index.mjs +3 -3
- package/dist/input-group/index.d.ts +1 -1
- package/dist/input-group/index.mjs +5 -5
- package/dist/input-otp/index.mjs +5 -455
- package/dist/input-otp/index.mjs.map +1 -1
- package/dist/item/index.d.ts +4 -2
- package/dist/item/index.mjs +3 -4
- package/dist/item/index.mjs.map +1 -1
- package/dist/kbd/index.mjs +2 -2
- package/dist/label/index.mjs +3 -4
- package/dist/label/index.mjs.map +1 -1
- package/dist/layout/index.mjs +22 -24
- package/dist/layout/index.mjs.map +1 -1
- package/dist/menubar/index.mjs +22 -24
- package/dist/menubar/index.mjs.map +1 -1
- package/dist/multi-input-list/index.mjs +28 -30
- package/dist/multi-input-list/index.mjs.map +1 -1
- package/dist/multi-select/index.mjs +32 -34
- package/dist/multi-select/index.mjs.map +1 -1
- package/dist/navigation-menu/index.mjs +15 -17
- package/dist/navigation-menu/index.mjs.map +1 -1
- package/dist/pagination/index.d.ts +1 -1
- package/dist/pagination/index.mjs +8 -8
- package/dist/popover/index.mjs +17 -19
- package/dist/popover/index.mjs.map +1 -1
- package/dist/progress/index.mjs +3 -5
- package/dist/progress/index.mjs.map +1 -1
- package/dist/radio-group/index.mjs +18 -264
- package/dist/radio-group/index.mjs.map +1 -1
- package/dist/resizable/index.mjs +3 -3
- package/dist/scroll-area/index.mjs +10 -12
- package/dist/scroll-area/index.mjs.map +1 -1
- package/dist/select/index.mjs +6 -6
- package/dist/separator/index.mjs +3 -4
- package/dist/separator/index.mjs.map +1 -1
- package/dist/shared/index.d.ts +13 -3
- package/dist/shared/index.mjs +6 -6
- package/dist/shared/index.mjs.map +1 -1
- package/dist/sheet/index.d.ts +7 -7
- package/dist/sheet/index.mjs +18 -20
- package/dist/sheet/index.mjs.map +1 -1
- package/dist/sidebar/index.d.ts +17 -4
- package/dist/sidebar/index.mjs +26 -28
- package/dist/sidebar/index.mjs.map +1 -1
- package/dist/skeleton/index.mjs +3 -3
- package/dist/skeleton-component/index.mjs +4 -4
- package/dist/slider/index.mjs +14 -591
- package/dist/slider/index.mjs.map +1 -1
- package/dist/sortable/index.d.ts +12 -3
- package/dist/sortable/index.mjs +4 -4
- package/dist/spinner/index.mjs +4 -4
- package/dist/switch/index.mjs +11 -141
- package/dist/switch/index.mjs.map +1 -1
- package/dist/table/index.mjs +3 -3
- package/dist/table-filter/index.d.ts +8 -3
- package/dist/table-filter/index.mjs +53 -54
- package/dist/table-filter/index.mjs.map +1 -1
- package/dist/tabs/index.mjs +14 -16
- package/dist/tabs/index.mjs.map +1 -1
- package/dist/textarea/index.mjs +3 -3
- package/dist/toast/index.mjs +19 -705
- package/dist/toast/index.mjs.map +1 -1
- package/dist/toaster/index.d.ts +5 -0
- package/dist/toaster/index.mjs +34 -0
- package/dist/toaster/index.mjs.map +1 -0
- package/dist/toggle/index.mjs +6 -7
- package/dist/toggle/index.mjs.map +1 -1
- package/dist/toggle-group/index.mjs +11 -13
- package/dist/toggle-group/index.mjs.map +1 -1
- package/dist/tooltip/index.mjs +16 -18
- package/dist/tooltip/index.mjs.map +1 -1
- package/package.json +10 -2
- package/dist/chunks/_commonjsHelpers-CDajFLDm.mjs.map +0 -1
- package/dist/chunks/bundle-mjs-ByJyReDu.mjs.map +0 -1
- package/dist/chunks/calendar-DtKpXGXO.mjs.map +0 -1
- package/dist/chunks/form-B4-N-eE1.mjs.map +0 -1
- package/dist/chunks/format-numbers-CksgR7yb.mjs.map +0 -1
- package/dist/chunks/index-5s6ltgHF.mjs +0 -40
- package/dist/chunks/index-5s6ltgHF.mjs.map +0 -1
- package/dist/chunks/index-BKxnMSY9.mjs.map +0 -1
- package/dist/chunks/index-BP00_xoF.mjs.map +0 -1
- package/dist/chunks/index-C8cUOEOO.mjs.map +0 -1
- package/dist/chunks/index-DUoETH03.mjs +0 -12
- package/dist/chunks/index-DUoETH03.mjs.map +0 -1
- package/dist/chunks/index.module-acmtZqFz.mjs +0 -68
- package/dist/chunks/index.module-acmtZqFz.mjs.map +0 -1
- package/dist/chunks/label-n_pPs58q.mjs.map +0 -1
- package/dist/chunks/progress-CZnyHYXZ.mjs +0 -99
- package/dist/chunks/progress-CZnyHYXZ.mjs.map +0 -1
- package/dist/chunks/separator-DHnqygnd.mjs.map +0 -1
- package/dist/icon.svg +0 -7
- package/dist/index.cjs.js +0 -1
- package/dist/index.es.js +0 -1
- package/dist/ivt.css +0 -1
- package/dist/ivt.png +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../node_modules/lucide-react/dist/esm/icons/arrow-down.js","../../node_modules/lucide-react/dist/esm/icons/arrow-up.js","../../node_modules/@tanstack/react-table/build/lib/index.mjs","../../src/components/default/data-table/DataTablePagination.tsx","../../src/components/default/data-table/DataTablePaginationSkeleton.tsx","../../src/components/default/data-table/DataTableRowSkeleton.tsx","../../src/components/default/data-table/DataTableMainFrame.tsx","../../src/utils/treeReorder.ts","../../src/components/default/data-table/DataTableMainFrameSortable.tsx","../../src/components/default/data-table/DataTableSearch.tsx","../../src/components/default/data-table/DataTableSkeleton.tsx","../../src/components/default/data-table/DataTableStatus.tsx","../../src/components/default/data-table/DataTableViewOptions.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.479.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }],\n [\"path\", { d: \"m19 12-7 7-7-7\", key: \"1idqje\" }]\n];\nconst ArrowDown = createLucideIcon(\"ArrowDown\", __iconNode);\n\nexport { __iconNode, ArrowDown as default };\n//# sourceMappingURL=arrow-down.js.map\n","/**\n * @license lucide-react v0.479.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m5 12 7-7 7 7\", key: \"hav0vg\" }],\n [\"path\", { d: \"M12 19V5\", key: \"x0mq9r\" }]\n];\nconst ArrowUp = createLucideIcon(\"ArrowUp\", __iconNode);\n\nexport { __iconNode, ArrowUp as default };\n//# sourceMappingURL=arrow-up.js.map\n","/**\n * react-table\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport * as React from 'react';\nimport { createTable } from '@tanstack/table-core';\nexport * from '@tanstack/table-core';\n\n//\n\n/**\n * If rendering headers, cells, or footers with custom markup, use flexRender instead of `cell.getValue()` or `cell.renderValue()`.\n */\nfunction flexRender(Comp, props) {\n return !Comp ? null : isReactComponent(Comp) ? /*#__PURE__*/React.createElement(Comp, props) : Comp;\n}\nfunction isReactComponent(component) {\n return isClassComponent(component) || typeof component === 'function' || isExoticComponent(component);\n}\nfunction isClassComponent(component) {\n return typeof component === 'function' && (() => {\n const proto = Object.getPrototypeOf(component);\n return proto.prototype && proto.prototype.isReactComponent;\n })();\n}\nfunction isExoticComponent(component) {\n return typeof component === 'object' && typeof component.$$typeof === 'symbol' && ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description);\n}\nfunction useReactTable(options) {\n // Compose in the generic options to the user options\n const resolvedOptions = {\n state: {},\n // Dummy state\n onStateChange: () => {},\n // noop\n renderFallbackValue: null,\n ...options\n };\n\n // Create a new table and store it in state\n const [tableRef] = React.useState(() => ({\n current: createTable(resolvedOptions)\n }));\n\n // By default, manage table state here using the table's initial state\n const [state, setState] = React.useState(() => tableRef.current.initialState);\n\n // Compose the default state above with any user state. This will allow the user\n // to only control a subset of the state if desired.\n tableRef.current.setOptions(prev => ({\n ...prev,\n ...options,\n state: {\n ...state,\n ...options.state\n },\n // Similarly, we'll maintain both our internal state and any user-provided\n // state.\n onStateChange: updater => {\n setState(updater);\n options.onStateChange == null || options.onStateChange(updater);\n }\n }));\n return tableRef.current;\n}\n\nexport { flexRender, useReactTable };\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\nimport type { Table } from \"@tanstack/react-table\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { Button } from \"@/components/ui/button\";\nimport { PaginationEllipsis, PaginationItem } from \"@/components/ui/pagination\";\nimport {\n\tSelect,\n\tSelectContent,\n\tSelectItem,\n\tSelectTrigger,\n\tSelectValue,\n} from \"@/components/ui/select\";\n\ninterface DataTablePaginationProps<TData> {\n\ttable: Table<TData>;\n\tpageSizeOptions?: number[];\n\tdataLabel?: string;\n\tinfoExtraLabel?: React.ReactNode;\n\tshowPaginationControls?: boolean;\n\tshowDataLabel?: boolean;\n\tfooterAction?: React.ReactNode;\n\tmaxVisualRows?: number;\n}\n\nexport function DataTablePagination<TData>({\n\ttable,\n\tpageSizeOptions = [20, 30, 50, 100, 200],\n\tdataLabel = \"Fundos\",\n\tinfoExtraLabel,\n\tshowPaginationControls = true,\n\tshowDataLabel = true,\n\tfooterAction,\n\tmaxVisualRows,\n}: DataTablePaginationProps<TData>) {\n\tconst pageSize = pageSizeOptions[0];\n\tconst currentPage = table.getState().pagination.pageIndex + 1;\n\tconst rowCount = table.getRowCount();\n\tconst totalPageCount = Math.ceil(rowCount / table.getState().pagination.pageSize);\n\n\tconst renderPageNumbers = () => {\n\t\tconst items: React.ReactNode[] = [];\n\t\tconst maxVisiblePages = 3;\n\n\t\tif (totalPageCount <= maxVisiblePages) {\n\t\t\tfor (let i = 1; i <= totalPageCount; i++) {\n\t\t\t\titems.push(\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant={currentPage === i ? \"outline\" : \"ghost\"}\n\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\tonClick={() => table.setPageIndex(i - 1)}\n\t\t\t\t\t\tclassName=\"size-9\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{i}\n\t\t\t\t\t</Button>,\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\titems.push(\n\t\t\t\t<Button\n\t\t\t\t\tvariant={currentPage === 1 ? \"outline\" : \"ghost\"}\n\t\t\t\t\tkey={1}\n\t\t\t\t\tonClick={() => table.setPageIndex(0)}\n\t\t\t\t\tclassName=\"size-9\"\n\t\t\t\t>\n\t\t\t\t\t1\n\t\t\t\t</Button>,\n\t\t\t);\n\n\t\t\tconst start = Math.max(2, Math.min(currentPage, totalPageCount - (maxVisiblePages - 1)));\n\t\t\tconst end = Math.min(totalPageCount - 1, start + maxVisiblePages - 2);\n\n\t\t\tif (start > 2) {\n\t\t\t\titems.push(\n\t\t\t\t\t<PaginationItem key=\"ellipsis-start\" className=\"list-none\">\n\t\t\t\t\t\t<PaginationEllipsis />\n\t\t\t\t\t</PaginationItem>,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tfor (let i = start; i <= end; i++) {\n\t\t\t\titems.push(\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant={currentPage === i ? \"outline\" : \"ghost\"}\n\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\tonClick={() => table.setPageIndex(i - 1)}\n\t\t\t\t\t\tclassName=\"size-9\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{i}\n\t\t\t\t\t</Button>,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (end < totalPageCount - 1) {\n\t\t\t\titems.push(\n\t\t\t\t\t<PaginationItem key=\"ellipsis-end\" className=\"list-none\">\n\t\t\t\t\t\t<PaginationEllipsis />\n\t\t\t\t\t</PaginationItem>,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\titems.push(\n\t\t\t\t<Button\n\t\t\t\t\tvariant={currentPage === totalPageCount ? \"outline\" : \"ghost\"}\n\t\t\t\t\tkey={totalPageCount}\n\t\t\t\t\tonClick={() => table.setPageIndex(totalPageCount - 1)}\n\t\t\t\t>\n\t\t\t\t\t{totalPageCount}\n\t\t\t\t</Button>,\n\t\t\t);\n\t\t}\n\n\t\treturn items;\n\t};\n\n\tif (!showPaginationControls && !showDataLabel) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"mt-4 flex flex-wrap items-center justify-between gap-2\">\n\t\t\t{showDataLabel && (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"text-muted-foreground flex items-center gap-4 text-sm\">\n\t\t\t\t\t\t<p className=\"ml-2\">\n\t\t\t\t\t\t\tMostrando{\" \"}\n\t\t\t\t\t\t\t{(maxVisualRows\n\t\t\t\t\t\t\t\t? Math.min(table.getRowModel().rows.length, maxVisualRows)\n\t\t\t\t\t\t\t\t: table.getRowModel().rows.length\n\t\t\t\t\t\t\t).toLocaleString()}{\" \"}\n\t\t\t\t\t\t\tde {rowCount} {dataLabel}. {infoExtraLabel && infoExtraLabel}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div>{footerAction && <div>{footerAction}</div>}</div>\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t{showPaginationControls && (\n\t\t\t\t<div className=\"flex flex-wrap items-center justify-between gap-2 gap-y-4 ml-auto\">\n\t\t\t\t\t<Select\n\t\t\t\t\t\tvalue={String(table.getState().pagination.pageSize) || String(pageSize)}\n\t\t\t\t\t\tonValueChange={(value) => table.setPageSize(Number(value))}\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectTrigger className=\"w-fit\">\n\t\t\t\t\t\t\t<SelectValue\n\t\t\t\t\t\t\t\tplaceholder={`Mostrar ${table.getState().pagination.pageSize || pageSize}`}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t{rowCount && (rowCount === 0 || rowCount < pageSize) ? (\n\t\t\t\t\t\t\t\t<SelectItem value={String(pageSize)}>Mostrar {pageSize}</SelectItem>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tpageSizeOptions.map((pageSize) => (\n\t\t\t\t\t\t\t\t\t<SelectItem key={pageSize} value={String(pageSize)}>\n\t\t\t\t\t\t\t\t\t\tMostrar {pageSize}\n\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t</Select>\n\n\t\t\t\t\t<div className=\"flex flex-wrap gap-2 gap-y-4\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tonClick={() => table.previousPage()}\n\t\t\t\t\t\t\tdisabled={!table.getCanPreviousPage()}\n\t\t\t\t\t\t\taria-label=\"Ir para página anterior\"\n\t\t\t\t\t\t\tclassName=\"gap-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronLeftIcon className=\"size-4\" />\n\t\t\t\t\t\t\tAnterior\n\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t<div className=\"flex gap-2\">{renderPageNumbers()}</div>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tonClick={() => table.nextPage()}\n\t\t\t\t\t\t\tdisabled={!table.getCanNextPage()}\n\t\t\t\t\t\t\taria-label=\"Ir para próxima página\"\n\t\t\t\t\t\t\tclassName=\"gap-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tPróximo\n\t\t\t\t\t\t\t<ChevronRightIcon className=\"size-4\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n","import React from \"react\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { cn } from \"@/lib/utils\";\n\nexport const DataTablePaginationSkeleton: React.FC = ({ className }: { className?: string }) => {\n\treturn (\n\t\t<div className=\"mt-4 flex flex-wrap items-center justify-between gap-2\">\n\t\t\t<Skeleton className={cn(\"h-5 w-40\", className)} />\n\t\t\t<div className=\"flex flex-wrap items-center justify-between gap-2 gap-y-4\">\n\t\t\t\t<Skeleton className={cn(\"h-10 w-28\", className)} />\n\t\t\t\t<Skeleton className={cn(\"h-9 w-[16rem]\", className)} />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import React from \"react\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { TableCell, TableRow } from \"@/components/ui/table\";\n\ninterface DataTableRowSkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n\tcolumnCount: number;\n\trowCount?: number;\n\tcellWidths?: string[];\n\tshrinkZero?: boolean;\n}\n\nexport function DataTableRowSkeleton(props: DataTableRowSkeletonProps) {\n\tconst { columnCount, rowCount = 8, cellWidths = [\"auto\"], shrinkZero = false } = props;\n\n\treturn (\n\t\t<>\n\t\t\t{Array.from({ length: rowCount }).map((_, i) => (\n\t\t\t\t<TableRow key={`row-${String(i)}`} className=\"hover:bg-transparent\">\n\t\t\t\t\t{Array.from({ length: columnCount }).map((_, j) => (\n\t\t\t\t\t\t<TableCell\n\t\t\t\t\t\t\tkey={`cell-${String(i)}-${j}`}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\twidth: cellWidths[j],\n\t\t\t\t\t\t\t\tminWidth: shrinkZero ? cellWidths[j] : \"auto\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Skeleton className=\"h-6 w-full\" />\n\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t))}\n\t\t\t\t</TableRow>\n\t\t\t))}\n\t\t</>\n\t);\n}\n","\"use client\";\n\nimport { CaretSortIcon } from \"@radix-ui/react-icons\";\nimport type { ColumnDef, Row, Table as TableType } from \"@tanstack/react-table\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { ArrowDownIcon, ArrowUpIcon } from \"lucide-react\";\nimport React from \"react\";\nimport {\n\tTable,\n\tTableBody,\n\tTableCell,\n\tTableHead,\n\tTableHeader,\n\tTableRow,\n} from \"@/components/ui/table\";\nimport { cn } from \"@/lib/utils\";\nimport { DataTablePagination } from \"./DataTablePagination\";\nimport { DataTablePaginationSkeleton } from \"./DataTablePaginationSkeleton\";\nimport { DataTableRowSkeleton } from \"./DataTableRowSkeleton\";\n\ninterface DataTableViewOptionsProps<TData, TValue> {\n\ttable: TableType<TData>;\n\tcolumns: ColumnDef<TData, TValue>[];\n\tsetQueryParams?: React.Dispatch<React.SetStateAction<ListParams>>;\n\tisLoadingTable?: boolean;\n\tdataLabel: string;\n\tactionColumns?: string[];\n\tmessageEmpty?: React.ReactNode;\n\tdividingColumnKey?: string[];\n\tloadingContent?: React.ReactNode;\n\tpageSizeOptions?: number[];\n\tclassName?: string;\n\tisScrollable?: boolean;\n\tscrollMaxHeightClass?: string;\n\tfixedHeader?: boolean;\n\tshowPagination?: boolean;\n\trenderTooltip?: (row: Row<TData>, rowContent: React.ReactNode) => React.ReactNode;\n\trenderSubComponent?: (props: { row: Row<TData> }) => React.ReactNode;\n\tinfoExtraLabel?: React.ReactNode;\n\tshowDataLabel?: boolean;\n\tfooterAction?: React.ReactNode;\n\tmaxVisualRows?: number;\n}\n\ninterface ListParams {\n\t[propName: string]: string | string[];\n}\n\nexport const DataTableMainFrame = <TData, TValue>({\n\ttable,\n\tcolumns,\n\tisLoadingTable,\n\tloadingContent,\n\tsetQueryParams,\n\tdataLabel,\n\tactionColumns = [],\n\tmessageEmpty = <>Sem resultados</>,\n\tdividingColumnKey,\n\tpageSizeOptions,\n\tclassName,\n\tscrollMaxHeightClass = \"sm:max-h-[calc(100vh-300px)]\",\n\tisScrollable = false,\n\tfixedHeader = false,\n\tshowPagination = true,\n\tshowDataLabel = true,\n\trenderTooltip,\n\trenderSubComponent,\n\tinfoExtraLabel,\n\tfooterAction,\n\tmaxVisualRows,\n}: DataTableViewOptionsProps<TData, TValue>) => {\n\tconst currentPage = Number(table.getState().pagination.pageIndex).toString();\n\tconst pageSize = Number(table.getState().pagination.pageSize).toString();\n\tconst sorting = table.getState().sorting;\n\n\tReact.useEffect(() => {\n\t\tif (!setQueryParams) return;\n\t\tconst sortingParams = { sortingBy: \"\", order: \"\" };\n\t\tif (sorting.length > 0) {\n\t\t\tsortingParams.sortingBy = sorting[0].id;\n\t\t\tsortingParams.order = sorting[0].desc ? \"DESC\" : \"ASC\";\n\t\t}\n\t\tsetQueryParams((prev) => ({\n\t\t\t...prev,\n\t\t\tpageSize,\n\t\t\tpage: currentPage,\n\t\t\t...sortingParams,\n\t\t}));\n\t}, [currentPage, pageSize, setQueryParams, sorting]);\n\n\tconst renderTableBodyContent = () => {\n\t\tif (isLoadingTable && !loadingContent) {\n\t\t\treturn <DataTableRowSkeleton columnCount={table.getAllColumns().length} />;\n\t\t}\n\n\t\tif (isLoadingTable && loadingContent) {\n\t\t\treturn (\n\t\t\t\t<TableCell colSpan={columns.length} className=\"h-24 text-center\">\n\t\t\t\t\t{loadingContent}\n\t\t\t\t</TableCell>\n\t\t\t);\n\t\t}\n\n\t\tif (table.getRowModel().rows.length === 0) {\n\t\t\treturn (\n\t\t\t\t<TableRow>\n\t\t\t\t\t<TableCell colSpan={columns.length} className=\"h-24 text-center\">\n\t\t\t\t\t\t<span className=\"inline-block max-w-120 text-wrap wrap-break-word\">{messageEmpty}</span>\n\t\t\t\t\t</TableCell>\n\t\t\t\t</TableRow>\n\t\t\t);\n\t\t}\n\n\t\tconst rows = table.getRowModel().rows;\n\t\tconst rowsToRender = maxVisualRows ? rows.slice(0, maxVisualRows) : rows;\n\n\t\treturn rowsToRender.map((row: Row<TData>, index) => {\n\t\t\t// Se estivermos usando renderSubComponent (modo Master-Detail),\n\t\t\t// ignoramos as sub-linhas no loop principal para não duplicá-las\n\t\t\tif (renderSubComponent && row.depth > 0) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst rowKey = row.id ?? String(index);\n\n\t\t\tconst rowContent = row.getVisibleCells().map((cell) => {\n\t\t\t\tconst content = flexRender(cell.column.columnDef.cell, cell.getContext());\n\t\t\t\treturn (\n\t\t\t\t\t<TableCell\n\t\t\t\t\t\tkey={cell.id}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\"p-2\",\n\t\t\t\t\t\t\tdividingColumnKey?.includes(cell.column.id) && \"border-r\",\n\t\t\t\t\t\t\tcell.column.columnDef.meta?.className,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</TableCell>\n\t\t\t\t);\n\t\t\t});\n\n\t\t\tconst rowWithTooltip = renderTooltip ? (\n\t\t\t\trenderTooltip(row, rowContent)\n\t\t\t) : (\n\t\t\t\t<TableRow\n\t\t\t\t\tkey={rowKey}\n\t\t\t\t\tdata-state={row.getIsSelected() && \"selected\"}\n\t\t\t\t\tclassName={cn(\"even:bg-body/50\")}\n\t\t\t\t>\n\t\t\t\t\t{rowContent}\n\t\t\t\t</TableRow>\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<React.Fragment key={rowKey}>\n\t\t\t\t\t{rowWithTooltip}\n\t\t\t\t\t{row.getIsExpanded() && renderSubComponent && (\n\t\t\t\t\t\t<TableRow className={cn(\"even:bg-body/50\")}>\n\t\t\t\t\t\t\t<TableCell colSpan={row.getVisibleCells().length}>\n\t\t\t\t\t\t\t\t{renderSubComponent({ row })}\n\t\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t\t</TableRow>\n\t\t\t\t\t)}\n\t\t\t\t</React.Fragment>\n\t\t\t);\n\t\t});\n\t};\n\n\tconst shouldForceMinHeight = table.getRowModel().rows.length > 1 || isLoadingTable;\n\n\tconst tableContent = (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"bg-background mx-1 h-full w-full rounded-md border whitespace-nowrap\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"relative w-full overflow-auto\",\n\t\t\t\t\tshouldForceMinHeight && \"force-min-height\",\n\t\t\t\t\tisScrollable && scrollMaxHeightClass && scrollMaxHeightClass,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<Table>\n\t\t\t\t\t<TableHeader\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\tfixedHeader && \"bg-background sticky top-0 z-10 shadow-[0_1px_0_hsl(240_6%_90%)]\",\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{table.getHeaderGroups().map((headerGroup) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<TableRow key={headerGroup.id}>\n\t\t\t\t\t\t\t\t\t{headerGroup.headers.map((header) => {\n\t\t\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\t\t\tcolumn: { id },\n\t\t\t\t\t\t\t\t\t\t} = header;\n\n\t\t\t\t\t\t\t\t\t\tconst isActionsColumn = [\"actions\", ...actionColumns].includes(id);\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<TableHead\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\tdividingColumnKey?.includes(id) ? \"border-r\" : \"\",\n\t\t\t\t\t\t\t\t\t\t\t\t\theader.column.columnDef.meta?.className,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"static\",\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\tkey={header.id}\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{header.isPlaceholder ? null : (\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\t{...{\n\t\t\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\t\t!isActionsColumn && header.column.getCanSort()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"flex w-fit items-center justify-start cursor-pointer gap-1 font-medium\"\n\t\t\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\theader.column.columnDef.meta?.headerClassName,\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\tonClick: !isActionsColumn\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? header.column.getToggleSortingHandler()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\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\t\t{flexRender(header.column.columnDef.header, header.getContext())}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(!isActionsColumn &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theader.column.getCanSort() &&\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\tasc: <ArrowDownIcon className=\"h-3.5 w-3.5\" />,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdesc: <ArrowUpIcon className=\"h-3.5 w-3.5\" />,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse: <CaretSortIcon className=\"h-4 w-4\" />,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}[header.column.getIsSorted() as string]) ?? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowDownIcon className=\"h-3.5 w-3.5\" />\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</div>\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</TableHead>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</TableRow>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</TableHeader>\n\n\t\t\t\t\t<TableBody>{renderTableBodyContent()}</TableBody>\n\t\t\t\t</Table>\n\t\t\t</div>\n\t\t</div>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{tableContent}\n\t\t\t{isScrollable ? null : isLoadingTable ? (\n\t\t\t\t<DataTablePaginationSkeleton />\n\t\t\t) : (\n\t\t\t\t<DataTablePagination\n\t\t\t\t\ttable={table}\n\t\t\t\t\tdataLabel={dataLabel}\n\t\t\t\t\tpageSizeOptions={pageSizeOptions}\n\t\t\t\t\tinfoExtraLabel={infoExtraLabel}\n\t\t\t\t\tshowPaginationControls={showPagination}\n\t\t\t\t\tshowDataLabel={showDataLabel}\n\t\t\t\t\tfooterAction={footerAction}\n\t\t\t\t\tmaxVisualRows={maxVisualRows}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n};\n","// Utils para manipular árvores de forma imutável\n/** biome-ignore-all lint/suspicious/noExplicitAny: <any> */\n\nexport interface TreeItem {\n\tid: string | number;\n\tsubRows?: TreeItem[];\n\t[key: string]: any;\n}\n\nexport type TreeData<T> = T & {\n\tid: string | number;\n\tsubRows?: TreeData<T>[];\n};\n\nexport interface FindResult {\n\tpath: (number | string)[];\n\tnode: TreeItem;\n}\n\n// Encontra um item e retorna caminho + referência\nexport function findItemPath(\n\ttree: TreeItem[],\n\tid: string | number,\n\tpath: (number | string)[] = [],\n): FindResult | null {\n\tfor (let i = 0; i < tree.length; i++) {\n\t\tconst node = tree[i];\n\n\t\t// Encontrou o item\n\t\tif (node.id === id) {\n\t\t\treturn { path: [...path, i], node };\n\t\t}\n\n\t\t// Recursão em subRows\n\t\tif (Array.isArray(node.subRows) && node.subRows.length > 0) {\n\t\t\tconst result = findItemPath(node.subRows, id, [...path, i, \"subRows\"]);\n\t\t\tif (result) return result;\n\t\t}\n\t}\n\n\treturn null;\n}\n\n// Copia profunda (para não mutar)\nexport function clone<T>(obj: T): T {\n\treturn JSON.parse(JSON.stringify(obj));\n}\n\nexport function removeAtPath(tree: TreeItem[], path: (number | string)[]): TreeItem {\n\tlet ref: any = tree;\n\n\tfor (let i = 0; i < path.length - 1; i++) {\n\t\tref = ref[path[i]];\n\t}\n\n\tconst index = path[path.length - 1] as number;\n\tconst removed = ref.splice(index, 1)[0];\n\treturn removed;\n}\n\nexport function insertAtPath(tree: TreeItem[], path: (number | string)[], item: TreeItem): void {\n\tlet ref: any = tree;\n\n\tfor (let i = 0; i < path.length - 1; i++) {\n\t\tref = ref[path[i]];\n\t}\n\n\tconst index = path[path.length - 1] as number;\n\tref.splice(index, 0, item);\n}\n\nexport function toTreeItems<T extends { subRows?: T[] }>(\n\trows: T[],\n\tgetId: (item: T) => string | number,\n): TreeItem[] {\n\treturn rows.map((item) => ({\n\t\t...item,\n\t\tid: getId(item),\n\t\tsubRows: item.subRows ? toTreeItems(item.subRows, getId) : [],\n\t}));\n}\n","import { DragEndEvent, DragStartEvent } from \"@dnd-kit/core\";\nimport { CaretSortIcon } from \"@radix-ui/react-icons\";\nimport type { ColumnDef, Row, Table as TableType } from \"@tanstack/react-table\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { ArrowDownIcon, ArrowUpIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { Sortable, SortableItem } from \"@/components/ui/sortable\";\nimport {\n\tTable,\n\tTableBody,\n\tTableCell,\n\tTableHead,\n\tTableHeader,\n\tTableRow,\n} from \"@/components/ui/table\";\nimport { cn } from \"@/lib/utils\";\nimport { findItemPath, insertAtPath, removeAtPath, TreeData } from \"@/utils/treeReorder\";\nimport { DataTablePagination } from \"./DataTablePagination\";\nimport { DataTablePaginationSkeleton } from \"./DataTablePaginationSkeleton\";\nimport { DataTableRowSkeleton } from \"./DataTableRowSkeleton\";\n\ninterface DataTableViewOptionsProps<TData, TValue> {\n\ttable: TableType<TData>;\n\tcolumns: ColumnDef<TData, TValue>[];\n\tsetQueryParams?: React.Dispatch<React.SetStateAction<ListParams>>;\n\tisLoadingTable?: boolean;\n\tdataLabel: string;\n\tactionColumns?: string[];\n\tdata: TData[];\n\tonDataChange?: (newData: TData[]) => void;\n\tmessageEmpty?: React.ReactNode;\n\trowKey: keyof TData | Array<keyof TData> | ((row: TData) => string | number);\n\tdividingColumnKey?: string[];\n\tloadingContent?: React.ReactNode;\n\tpageSizeOptions?: number[];\n\tclassName?: string;\n\tisScrollable?: boolean;\n\tscrollMaxHeightClass?: string;\n\tfixedHeader?: boolean;\n\tshowPagination?: boolean;\n\trenderTooltip?: (row: Row<TData>, rowContent: React.ReactNode) => React.ReactNode;\n\tinfoExtraLabel?: React.ReactNode;\n\tshowDataLabel?: boolean;\n\tfooterAction?: React.ReactNode;\n\t// Sortable props\n\tsortableValue?: TreeData<TData>[];\n\tsortableOnValueChange?: (items: TreeData<TData>[]) => void;\n\tsortableOnDragStart?: (event: DragStartEvent) => void;\n\tsortableOnDragEnd?: (event: DragEndEvent) => void;\n\tmaxVisualRows?: number;\n}\n\ntype RowData = {\n\t// biome-ignore lint/suspicious/noExplicitAny: <any>\n\t[key: string]: any;\n};\n\ninterface ListParams {\n\t[propName: string]: string | string[];\n}\n\nconst getRowKey = <TData extends RowData>(\n\trow: TData,\n\trowKey: keyof TData | Array<keyof TData> | ((row: TData) => string | number),\n): string | number => {\n\tif (typeof rowKey === \"function\") {\n\t\treturn rowKey(row);\n\t}\n\n\tif (Array.isArray(rowKey)) {\n\t\tfor (const key of rowKey) {\n\t\t\tif (row[key] !== undefined && row[key] !== null) {\n\t\t\t\treturn row[key] as string | number;\n\t\t\t}\n\t\t}\n\t\treturn \"\";\n\t}\n\n\treturn row[rowKey] as string | number;\n};\n\nexport const DataTableMainFrameSortable = <TData extends RowData, TValue>({\n\ttable,\n\tcolumns,\n\tisLoadingTable,\n\tloadingContent,\n\tsetQueryParams,\n\tdataLabel,\n\tactionColumns = [],\n\tdata,\n\tmessageEmpty = <>Sem resultados</>,\n\tonDataChange,\n\trowKey,\n\tdividingColumnKey,\n\tpageSizeOptions,\n\tclassName,\n\tscrollMaxHeightClass = \"sm:max-h-[calc(100vh-300px)]\",\n\tisScrollable = false,\n\tfixedHeader = false,\n\tshowPagination = true,\n\tshowDataLabel = true,\n\trenderTooltip,\n\tinfoExtraLabel,\n\tfooterAction,\n\n\tsortableValue: propValue,\n\tsortableOnValueChange: propOnValueChange,\n\tsortableOnDragStart: propOnDragStart,\n\tsortableOnDragEnd: propOnDragEnd,\n\tmaxVisualRows,\n}: DataTableViewOptionsProps<TData, TValue>) => {\n\tconst currentPage = Number(table.getState().pagination.pageIndex).toString();\n\tconst pageSize = Number(table.getState().pagination.pageSize).toString();\n\tconst sorting = table.getState().sorting;\n\n\tconst [newData, setNewData] = React.useState<TData[]>(data);\n\n\tconst handleValueChange = (updatedData: TData[]) => {\n\t\tsetNewData(updatedData);\n\n\t\tif (onDataChange) {\n\t\t\tonDataChange(updatedData);\n\t\t}\n\t};\n\n\tReact.useEffect(() => {\n\t\tsetNewData(data);\n\t}, [data]);\n\n\tReact.useEffect(() => {\n\t\tif (!setQueryParams) return;\n\t\tconst sortingParams = { sortingBy: \"\", order: \"\" };\n\t\tif (sorting.length > 0) {\n\t\t\tsortingParams.sortingBy = sorting[0].id;\n\t\t\tsortingParams.order = sorting[0].desc ? \"DESC\" : \"ASC\";\n\t\t}\n\t\tsetQueryParams((prev) => ({\n\t\t\t...prev,\n\t\t\tpageSize,\n\t\t\tpage: currentPage,\n\t\t\t...sortingParams,\n\t\t}));\n\t}, [currentPage, pageSize, setQueryParams, sorting]);\n\n\tconst renderTableBodyContent = () => {\n\t\tif (isLoadingTable && !loadingContent) {\n\t\t\treturn <DataTableRowSkeleton columnCount={table.getAllColumns().length} />;\n\t\t}\n\n\t\tif (isLoadingTable && loadingContent) {\n\t\t\treturn (\n\t\t\t\t<TableCell colSpan={columns.length} className=\"h-24 text-center\">\n\t\t\t\t\t{loadingContent}\n\t\t\t\t</TableCell>\n\t\t\t);\n\t\t}\n\n\t\tif (table.getRowModel().rows.length === 0) {\n\t\t\treturn (\n\t\t\t\t<TableRow>\n\t\t\t\t\t<TableCell colSpan={columns.length} className=\"h-24 text-center\">\n\t\t\t\t\t\t<span className=\"inline-block max-w-120 text-wrap wrap-break-word\">{messageEmpty}</span>\n\t\t\t\t\t</TableCell>\n\t\t\t\t</TableRow>\n\t\t\t);\n\t\t}\n\n\t\tconst rows = table.getRowModel().rows;\n\t\tconst rowsToRender = maxVisualRows ? rows.slice(0, maxVisualRows) : rows;\n\n\t\treturn rowsToRender.map((row: Row<TData>) => {\n\t\t\tconst rowData = row.original;\n\t\t\tconst key = getRowKey(rowData, rowKey);\n\n\t\t\tconst rowContent = row.getVisibleCells().map((cell) => (\n\t\t\t\t<TableCell\n\t\t\t\t\tkey={cell.id}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"p-2 py-1\",\n\t\t\t\t\t\tdividingColumnKey?.includes(cell.column.id) && \"border-r\",\n\t\t\t\t\t\tcell.column.columnDef.meta?.className,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{flexRender(cell.column.columnDef.cell, cell.getContext())}\n\t\t\t\t</TableCell>\n\t\t\t));\n\n\t\t\tconst baseRow = (\n\t\t\t\t<TableRow data-state={row.getIsSelected() && \"selected\"} className={cn(\"even:bg-body/50\")}>\n\t\t\t\t\t{rowContent}\n\t\t\t\t</TableRow>\n\t\t\t);\n\n\t\t\tconst wrappedRow = renderTooltip ? renderTooltip(row, rowContent) : baseRow;\n\n\t\t\treturn (\n\t\t\t\t<SortableItem key={row.id} value={key} asChild>\n\t\t\t\t\t{wrappedRow}\n\t\t\t\t</SortableItem>\n\t\t\t);\n\t\t});\n\t};\n\n\tconst [activeId, setActiveId] = React.useState<string | null>(null);\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: <useMemo>\n\tconst siblings = React.useMemo(() => {\n\t\tif (!activeId)\n\t\t\treturn table.getRowModel().rows.map((row) => ({\n\t\t\t\t...row.original,\n\t\t\t\tid: getRowKey(row.original, rowKey),\n\t\t\t}));\n\n\t\tconst activeRow = table\n\t\t\t.getRowModel()\n\t\t\t.rows.find((row) => getRowKey(row.original, rowKey) === activeId);\n\t\tif (!activeRow) return [];\n\n\t\tconst parentId = activeRow.parentId;\n\n\t\treturn table\n\t\t\t.getRowModel()\n\t\t\t.rows.filter((row) => row.parentId === parentId)\n\t\t\t.map((row) => ({\n\t\t\t\t...row.original,\n\t\t\t\tid: getRowKey(row.original, rowKey),\n\t\t\t}));\n\t}, [activeId, table.getRowModel().rows, rowKey]);\n\n\tconst internalHandleDragStart = (event: DragStartEvent) => {\n\t\tsetActiveId(event.active.id as string);\n\t};\n\n\tconst internalHandleDragEnd = (event: DragEndEvent) => {\n\t\tsetActiveId(null);\n\t\tconst { active, over } = event;\n\t\tif (!active || !over) return;\n\n\t\tconst sourceId = active.id;\n\t\tconst targetId = over.id;\n\t\tif (sourceId === targetId) return;\n\n\t\tconst tree: TreeData<TData>[] = newData.map((item) => ({\n\t\t\t...item,\n\t\t\tid: getRowKey(item, rowKey),\n\t\t}));\n\n\t\tconst source = findItemPath(tree, sourceId);\n\t\tconst target = findItemPath(tree, targetId);\n\n\t\tif (!source || !target) return;\n\n\t\t// -----------------------------\n\t\t// 🔒 1. TRAVAR MOVIMENTAÇÃO ENTRE NÍVEIS DIFERENTES\n\t\t// -----------------------------\n\n\t\tconst sourcePath = source.path;\n\t\tconst targetPath = target.path;\n\n\t\t// Pega o \"caminho do pai\" (remove o último índice, que é o índice do item em si)\n\t\tconst sourceParentPath = sourcePath.slice(0, -1);\n\t\tconst targetParentPath = targetPath.slice(0, -1);\n\n\t\t// Compara se os arrays são iguais (mesmo tamanho e mesmos valores)\n\t\tconst isSameParent =\n\t\t\tsourceParentPath.length === targetParentPath.length &&\n\t\t\tsourceParentPath.every((val, index) => val === targetParentPath[index]);\n\n\t\tif (!isSameParent) {\n\t\t\treturn;\n\t\t}\n\n\t\t// -----------------------------\n\t\t// 🔄 2. MOVIMENTO PERMITIDO → REORDENAR\n\t\t// -----------------------------\n\n\t\tconst removedItem = removeAtPath(tree, sourcePath);\n\n\t\tconst destPath = [...targetPath];\n\t\tdestPath[destPath.length - 1] = targetPath[targetPath.length - 1];\n\n\t\tinsertAtPath(tree, destPath, removedItem);\n\n\t\thandleValueChange(tree);\n\t};\n\n\tconst shouldForceMinHeight = table.getRowModel().rows.length > 1 || isLoadingTable;\n\n\tconst finalValue =\n\t\tpropValue ??\n\t\t(maxVisualRows\n\t\t\t? table.getRowModel().rows.slice(0, maxVisualRows)\n\t\t\t: table.getRowModel().rows\n\t\t).map((row) => ({\n\t\t\t...row.original,\n\t\t\tid: getRowKey(row.original, rowKey),\n\t\t}));\n\n\tconst finalOnValueChange = propOnValueChange ?? handleValueChange;\n\tconst finalOnDragStart = propOnDragStart ?? internalHandleDragStart;\n\tconst finalOnDragEnd = propOnDragEnd ?? internalHandleDragEnd;\n\n\treturn (\n\t\t<>\n\t\t\t<Sortable<TreeData<TData>>\n\t\t\t\tvalue={finalValue}\n\t\t\t\tcontextItems={siblings}\n\t\t\t\tonValueChange={finalOnValueChange}\n\t\t\t\tonDragStart={finalOnDragStart}\n\t\t\t\tonDragEnd={finalOnDragEnd}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"bg-background mx-1 h-full w-full rounded-md border whitespace-nowrap\",\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\"relative w-full overflow-auto\",\n\t\t\t\t\t\t\tshouldForceMinHeight && \"force-min-height\",\n\t\t\t\t\t\t\tisScrollable && scrollMaxHeightClass && scrollMaxHeightClass,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Table>\n\t\t\t\t\t\t\t<TableHeader\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\tfixedHeader && \"bg-background sticky top-0 z-10 shadow-[0_1px_0_hsl(240_6%_90%)]\",\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{table.getHeaderGroups().map((headerGroup) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<TableRow key={headerGroup.id}>\n\t\t\t\t\t\t\t\t\t\t\t{headerGroup.headers.map((header) => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: { id },\n\t\t\t\t\t\t\t\t\t\t\t\t} = header;\n\n\t\t\t\t\t\t\t\t\t\t\t\tconst isActionsColumn = [\"actions\", ...actionColumns].includes(id);\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<TableHead\n\t\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\tdividingColumnKey?.includes(id) ? \"border-r\" : \"\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theader.column.columnDef.meta?.className,\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\tkey={header.id}\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{header.isPlaceholder ? null : (\n\t\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\t\t{...{\n\t\t\t\t\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\t\t\t\t!isActionsColumn && header.column.getCanSort()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"flex w-fit items-center justify-start cursor-pointer gap-1 font-medium\"\n\t\t\t\t\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\t\t\theader.column.columnDef.meta?.headerClassName,\n\t\t\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\t\tonClick: !isActionsColumn\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? header.column.getToggleSortingHandler()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\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>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{flexRender(header.column.columnDef.header, header.getContext())}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(!isActionsColumn &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theader.column.getCanSort() &&\n\t\t\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\t\t\tasc: <ArrowDownIcon className=\"h-3.5 w-3.5\" />,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdesc: <ArrowUpIcon className=\"h-3.5 w-3.5\" />,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse: <CaretSortIcon className=\"h-4 w-4\" />,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}[header.column.getIsSorted() as string]) ?? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowDownIcon className=\"h-3.5 w-3.5\" />\n\t\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</div>\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</TableHead>\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</TableRow>\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</TableHeader>\n\n\t\t\t\t\t\t\t<TableBody>{renderTableBodyContent()}</TableBody>\n\t\t\t\t\t\t</Table>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Sortable>\n\n\t\t\t{isScrollable ? null : isLoadingTable ? (\n\t\t\t\t<DataTablePaginationSkeleton />\n\t\t\t) : (\n\t\t\t\t<DataTablePagination\n\t\t\t\t\ttable={table}\n\t\t\t\t\tdataLabel={dataLabel}\n\t\t\t\t\tpageSizeOptions={pageSizeOptions}\n\t\t\t\t\tinfoExtraLabel={infoExtraLabel}\n\t\t\t\t\tshowPaginationControls={showPagination}\n\t\t\t\t\tshowDataLabel={showDataLabel}\n\t\t\t\t\tfooterAction={footerAction}\n\t\t\t\t\tmaxVisualRows={maxVisualRows}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n};\n","\"use client\";\n\nimport type { Table } from \"@tanstack/react-table\";\nimport { SearchIcon } from \"lucide-react\";\nimport { Input } from \"@/components/ui/input\";\n\ninterface DataTableSearchProps<TData> {\n\ttable: Table<TData>;\n\tkeySearch: string;\n\tplaceholder: string;\n}\n\nexport function DataTableSearch<TData>({\n\ttable,\n\tkeySearch,\n\tplaceholder,\n}: DataTableSearchProps<TData>) {\n\treturn (\n\t\t<div className=\"relative w-full max-w-sm\">\n\t\t\t<SearchIcon className=\"text-muted-foreground absolute top-3 left-3 h-4 w-4\" />\n\t\t\t<Input\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tvalue={(table.getColumn(keySearch)?.getFilterValue() as string) ?? \"\"}\n\t\t\t\tonChange={(event) => table.getColumn(keySearch)?.setFilterValue(event.target.value)}\n\t\t\t\tclassName=\"w-full pl-8 xl:w-80\"\n\t\t\t/>\n\t\t</div>\n\t);\n}\n","import React from \"react\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport {\n\tTable,\n\tTableBody,\n\tTableCell,\n\tTableHead,\n\tTableHeader,\n\tTableRow,\n} from \"@/components/ui/table\";\nimport { cn } from \"@/lib/utils\";\n\ninterface DataTableSkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n\t/**\n\t * The number of columns in the table.\n\t * @type number\n\t */\n\tcolumnCount: number;\n\n\t/**\n\t * The number of rows in the table.\n\t * @default 10\n\t * @type number | undefined\n\t */\n\trowCount?: number;\n\n\t/**\n\t * The number of searchable columns in the table.\n\t * @default 0\n\t * @type number | undefined\n\t */\n\tsearchableColumnCount?: number;\n\n\t/**\n\t * The number of filterable columns in the table.\n\t * @default 0\n\t * @type number | undefined\n\t */\n\tfilterableColumnCount?: number;\n\n\t/**\n\t * Flag to show the table view options.\n\t * @default undefined\n\t * @type boolean | undefined\n\t */\n\tshowViewOptions?: boolean;\n\n\t/**\n\t * The width of each cell in the table.\n\t * The length of the array should be equal to the columnCount.\n\t * Any valid CSS width value is accepted.\n\t * @default [\"auto\"]\n\t * @type string[] | undefined\n\t */\n\tcellWidths?: string[];\n\n\t/**\n\t * Flag to show the pagination bar.\n\t * @default true\n\t * @type boolean | undefined\n\t */\n\twithPagination?: boolean;\n\n\t/**\n\t * Flag to prevent the table cells from shrinking.\n\t * @default false\n\t * @type boolean | undefined\n\t */\n\tshrinkZero?: boolean;\n}\n\nexport function DataTableSkeleton(props: DataTableSkeletonProps) {\n\tconst {\n\t\tcolumnCount,\n\t\trowCount = 10,\n\t\tsearchableColumnCount = 0,\n\t\tfilterableColumnCount = 0,\n\t\tshowViewOptions = true,\n\t\tcellWidths = [\"auto\"],\n\t\twithPagination = true,\n\t\tshrinkZero = false,\n\t\tclassName,\n\t\t...skeletonProps\n\t} = props;\n\n\treturn (\n\t\t<div className={cn(\"w-full space-y-2.5 overflow-auto\", className)} {...skeletonProps}>\n\t\t\t<div className=\"flex w-full items-center justify-between space-x-2 overflow-auto p-1\">\n\t\t\t\t<div className=\"flex flex-1 items-center space-x-2\">\n\t\t\t\t\t{searchableColumnCount > 0\n\t\t\t\t\t\t? Array.from({ length: searchableColumnCount }).map((_, i) => (\n\t\t\t\t\t\t\t\t<Skeleton key={`${String(i)}`} className=\"h-7 w-40 lg:w-60\" />\n\t\t\t\t\t\t\t))\n\t\t\t\t\t\t: null}\n\t\t\t\t\t{filterableColumnCount > 0\n\t\t\t\t\t\t? Array.from({ length: filterableColumnCount }).map((_, i) => (\n\t\t\t\t\t\t\t\t<Skeleton key={`${String(i)}`} className=\"h-7 w-[4.5rem] border-dashed\" />\n\t\t\t\t\t\t\t))\n\t\t\t\t\t\t: null}\n\t\t\t\t</div>\n\t\t\t\t{showViewOptions ? <Skeleton className=\"ml-auto hidden h-7 w-[4.5rem] lg:flex\" /> : null}\n\t\t\t</div>\n\t\t\t<div className=\"rounded-md border\">\n\t\t\t\t<Table>\n\t\t\t\t\t<TableHeader>\n\t\t\t\t\t\t{Array.from({ length: 1 }).map((_, i) => (\n\t\t\t\t\t\t\t<TableRow key={`${String(i)}`} className=\"hover:bg-transparent\">\n\t\t\t\t\t\t\t\t{Array.from({ length: columnCount }).map((_, j) => (\n\t\t\t\t\t\t\t\t\t<TableHead\n\t\t\t\t\t\t\t\t\t\tkey={`${String(j)}`}\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\twidth: cellWidths[j],\n\t\t\t\t\t\t\t\t\t\t\tminWidth: shrinkZero ? cellWidths[j] : \"auto\",\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Skeleton className=\"h-6 w-full\" />\n\t\t\t\t\t\t\t\t\t</TableHead>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</TableRow>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</TableHeader>\n\t\t\t\t\t<TableBody>\n\t\t\t\t\t\t{Array.from({ length: rowCount }).map((_, i) => (\n\t\t\t\t\t\t\t<TableRow key={`${String(i)}`} className=\"hover:bg-transparent\">\n\t\t\t\t\t\t\t\t{Array.from({ length: columnCount }).map((_, j) => (\n\t\t\t\t\t\t\t\t\t<TableCell\n\t\t\t\t\t\t\t\t\t\tkey={`${String(j)}`}\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\twidth: cellWidths[j],\n\t\t\t\t\t\t\t\t\t\t\tminWidth: shrinkZero ? cellWidths[j] : \"auto\",\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Skeleton className=\"h-6 w-full\" />\n\t\t\t\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</TableRow>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</TableBody>\n\t\t\t\t</Table>\n\t\t\t</div>\n\t\t\t{withPagination ? (\n\t\t\t\t<div className=\"flex w-full items-center justify-between gap-4 overflow-auto p-1 sm:gap-8\">\n\t\t\t\t\t<Skeleton className=\"h-7 w-40 shrink-0\" />\n\t\t\t\t\t<div className=\"flex items-center gap-4 sm:gap-6 lg:gap-8\">\n\t\t\t\t\t\t<div className=\"flex items-center space-x-2\">\n\t\t\t\t\t\t\t<Skeleton className=\"h-7 w-24\" />\n\t\t\t\t\t\t\t<Skeleton className=\"h-7 w-[4.5rem]\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex items-center justify-center text-sm font-medium\">\n\t\t\t\t\t\t\t<Skeleton className=\"h-7 w-20\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex items-center space-x-2\">\n\t\t\t\t\t\t\t<Skeleton className=\"hidden size-7 lg:block\" />\n\t\t\t\t\t\t\t<Skeleton className=\"size-7\" />\n\t\t\t\t\t\t\t<Skeleton className=\"size-7\" />\n\t\t\t\t\t\t\t<Skeleton className=\"hidden size-7 lg:block\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</div>\n\t);\n}\n","\"use client\";\n\nimport type { Table } from \"@tanstack/react-table\";\nimport { ChevronDownIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n\tCommand,\n\tCommandEmpty,\n\tCommandInput,\n\tCommandItem,\n\tCommandList,\n} from \"@/components/ui/command\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { cn } from \"@/lib/utils\";\n\ninterface DataTableStatusProps<TData, TEnum> {\n\ttable: Table<TData>;\n\tuniqueStatusValues: TEnum[];\n\trenderStatusMessage(status: TEnum): string;\n\tclassName?: string;\n}\n\nexport function DataTableStatus<TData, TEnum>({\n\ttable,\n\tuniqueStatusValues,\n\trenderStatusMessage,\n\tclassName,\n}: DataTableStatusProps<TData, TEnum>) {\n\tconst triggerRef = React.useRef<HTMLButtonElement>(null);\n\n\tconst currentFilter = table.getColumn(\"status\")?.getFilterValue() as TEnum | undefined;\n\n\treturn (\n\t\t<Popover modal>\n\t\t\t<PopoverTrigger asChild>\n\t\t\t\t<Button\n\t\t\t\t\tref={triggerRef}\n\t\t\t\t\taria-label=\"Filtre por status\"\n\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"border-input text-muted-foreground ring-offset-background placeholder:text-muted-foreground hover:text-muted-foreground focus:ring-ring flex h-10 w-full max-w-60 items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm hover:bg-inherit focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50\",\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{currentFilter ? renderStatusMessage(currentFilter) : \"Todos os status\"}\n\t\t\t\t\t<ChevronDownIcon className=\"h-4 w-4\" />\n\t\t\t\t</Button>\n\t\t\t</PopoverTrigger>\n\t\t\t<PopoverContent\n\t\t\t\talign=\"end\"\n\t\t\t\tclassName=\"w-44 p-0\"\n\t\t\t\tonCloseAutoFocus={() => triggerRef.current?.focus()}\n\t\t\t>\n\t\t\t\t<Command>\n\t\t\t\t\t<CommandInput placeholder=\"Pesquisar status...\" />\n\t\t\t\t\t<CommandList>\n\t\t\t\t\t\t<CommandEmpty>Nenhum status encontrado.</CommandEmpty>\n\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\tkey=\"all\"\n\t\t\t\t\t\t\tonSelect={() => table.getColumn(\"status\")?.setFilterValue(undefined)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"truncate\">Todos os status</span>\n\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t{uniqueStatusValues.map((item) => {\n\t\t\t\t\t\t\tif (!item) return null;\n\n\t\t\t\t\t\t\tconst statusMessage = renderStatusMessage(item as TEnum);\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\tkey={`${String(item)}`}\n\t\t\t\t\t\t\t\t\tonSelect={() => table.getColumn(\"status\")?.setFilterValue(item)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className=\"truncate\">{statusMessage}</span>\n\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</CommandList>\n\t\t\t\t</Command>\n\t\t\t</PopoverContent>\n\t\t</Popover>\n\t);\n}\n","\"use client\";\n\nimport type { Table } from \"@tanstack/react-table\";\nimport { Check, ChevronDownIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n\tCommand,\n\tCommandEmpty,\n\tCommandGroup,\n\tCommandInput,\n\tCommandItem,\n\tCommandList,\n} from \"@/components/ui/command\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { cn } from \"@/lib/utils\";\n\ninterface DataTableViewOptionsProps<TData> {\n\ttable: Table<TData>;\n\ttransformColumnName?: (id: string) => string;\n\tdisabled?: boolean;\n}\n\nexport function DataTableViewOptions<TData>({\n\ttable,\n\ttransformColumnName,\n\tdisabled,\n}: DataTableViewOptionsProps<TData>) {\n\tconst triggerRef = React.useRef<HTMLButtonElement>(null);\n\n\treturn (\n\t\t<Popover modal>\n\t\t\t<PopoverTrigger asChild>\n\t\t\t\t<Button\n\t\t\t\t\tref={triggerRef}\n\t\t\t\t\taria-label=\"Toggle columns\"\n\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\tclassName=\"text-muted-foreground hover:text-muted-foreground w-full max-w-[12.5rem] items-center justify-between bg-inherit px-3 py-2 hover:bg-inherit\"\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t>\n\t\t\t\t\tColunas\n\t\t\t\t\t<ChevronDownIcon className=\"h-4 w-4\" />\n\t\t\t\t</Button>\n\t\t\t</PopoverTrigger>\n\t\t\t<PopoverContent\n\t\t\t\talign=\"end\"\n\t\t\t\tclassName=\"w-44 p-0\"\n\t\t\t\tonCloseAutoFocus={() => triggerRef.current?.focus()}\n\t\t\t>\n\t\t\t\t<Command>\n\t\t\t\t\t<CommandInput placeholder=\"Pesquisar colunas...\" />\n\t\t\t\t\t<CommandList>\n\t\t\t\t\t\t<CommandEmpty>Nenhuma coluna encontrada.</CommandEmpty>\n\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t{table\n\t\t\t\t\t\t\t\t.getAllColumns()\n\t\t\t\t\t\t\t\t.filter((column) => typeof column.accessorFn !== \"undefined\" && column.getCanHide())\n\t\t\t\t\t\t\t\t.map((column) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\t\tkey={column.id}\n\t\t\t\t\t\t\t\t\t\t\tonSelect={() => column.toggleVisibility(!column.getIsVisible())}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t{transformColumnName ? transformColumnName(column.id) : column.id}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t<Check\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\"ml-auto size-4 shrink-0\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn.getIsVisible() ? \"opacity-100\" : \"opacity-0\",\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</CommandItem>\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</CommandGroup>\n\t\t\t\t\t</CommandList>\n\t\t\t\t</Command>\n\t\t\t</PopoverContent>\n\t\t</Popover>\n\t);\n}\n"],"names":["__iconNode","flexRender","Comp","props","isReactComponent","React","createElement","component","isClassComponent","isExoticComponent","proto","Object","getPrototypeOf","prototype","$$typeof","includes","description","DataTablePagination","table","pageSizeOptions","dataLabel","infoExtraLabel","showPaginationControls","showDataLabel","footerAction","maxVisualRows","pageSize","currentPage","getState","pagination","pageIndex","rowCount","getRowCount","totalPageCount","Math","ceil","renderPageNumbers","items","maxVisiblePages","i","push","Button","variant","key","onClick","setPageIndex","className","start","max","min","end","PaginationItem","PaginationEllipsis","div","p","getRowModel","rows","length","toLocaleString","Select","value","String","onValueChange","setPageSize","Number","SelectTrigger","SelectValue","placeholder","SelectContent","SelectItem","map","previousPage","disabled","getCanPreviousPage","aria-label","ChevronLeftIcon","nextPage","getCanNextPage","ChevronRightIcon","DataTablePaginationSkeleton","Skeleton","cn","DataTableRowSkeleton","columnCount","cellWidths","shrinkZero","Array","from","_","TableRow","j","TableCell","style","width","minWidth","DataTableMainFrame","columns","isLoadingTable","loadingContent","setQueryParams","actionColumns","messageEmpty","dividingColumnKey","scrollMaxHeightClass","isScrollable","fixedHeader","showPagination","renderTooltip","renderSubComponent","toString","sorting","useEffect","sortingParams","sortingBy","order","id","desc","prev","page","renderTableBodyContent","getAllColumns","colSpan","span","rowsToRender","slice","row","index","depth","rowKey","rowContent","getVisibleCells","cell","content","column","columnDef","getContext","meta","rowWithTooltip","data-state","getIsSelected","Fragment","getIsExpanded","shouldForceMinHeight","tableContent","Table","TableHeader","getHeaderGroups","headerGroup","headers","header","isActionsColumn","TableHead","isPlaceholder","getCanSort","headerClassName","getToggleSortingHandler","undefined","asc","ArrowDownIcon","ArrowUpIcon","false","CaretSortIcon","getIsSorted","TableBody","findItemPath","tree","path","node","isArray","subRows","result","removeAtPath","ref","removed","splice","insertAtPath","item","getRowKey","DataTableMainFrameSortable","data","onDataChange","sortableValue","propValue","sortableOnValueChange","propOnValueChange","sortableOnDragStart","propOnDragStart","sortableOnDragEnd","propOnDragEnd","newData","setNewData","useState","handleValueChange","updatedData","rowData","original","baseRow","wrappedRow","SortableItem","asChild","activeId","setActiveId","siblings","useMemo","activeRow","find","parentId","filter","internalHandleDragStart","event","active","internalHandleDragEnd","over","sourceId","targetId","source","target","sourcePath","targetPath","sourceParentPath","targetParentPath","isSameParent","every","val","removedItem","destPath","finalValue","finalOnValueChange","finalOnDragStart","finalOnDragEnd","Sortable","contextItems","onDragStart","onDragEnd","DataTableSearch","keySearch","SearchIcon","Input","getColumn","getFilterValue","onChange","setFilterValue","DataTableSkeleton","searchableColumnCount","filterableColumnCount","showViewOptions","withPagination","skeletonProps","DataTableStatus","uniqueStatusValues","renderStatusMessage","triggerRef","useRef","currentFilter","Popover","modal","PopoverTrigger","ChevronDownIcon","PopoverContent","align","onCloseAutoFocus","current","focus","Command","CommandInput","CommandList","CommandEmpty","CommandItem","onSelect","statusMessage","DataTableViewOptions","transformColumnName","CommandGroup","accessorFn","getCanHide","toggleVisibility","getIsVisible","Check"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../node_modules/lucide-react/dist/esm/icons/arrow-down.js","../../node_modules/lucide-react/dist/esm/icons/arrow-up.js","../../node_modules/@tanstack/react-table/build/lib/index.mjs","../../src/components/default/data-table/DataTablePagination.tsx","../../src/components/default/data-table/DataTablePaginationSkeleton.tsx","../../src/components/default/data-table/DataTableRowSkeleton.tsx","../../src/components/default/data-table/DataTableMainFrame.tsx","../../src/utils/treeReorder.ts","../../src/components/default/data-table/DataTableMainFrameSortable.tsx","../../src/components/default/data-table/DataTableSearch.tsx","../../src/components/default/data-table/DataTableSkeleton.tsx","../../src/components/default/data-table/DataTableStatus.tsx","../../src/components/default/data-table/DataTableViewOptions.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.479.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }],\n [\"path\", { d: \"m19 12-7 7-7-7\", key: \"1idqje\" }]\n];\nconst ArrowDown = createLucideIcon(\"ArrowDown\", __iconNode);\n\nexport { __iconNode, ArrowDown as default };\n//# sourceMappingURL=arrow-down.js.map\n","/**\n * @license lucide-react v0.479.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m5 12 7-7 7 7\", key: \"hav0vg\" }],\n [\"path\", { d: \"M12 19V5\", key: \"x0mq9r\" }]\n];\nconst ArrowUp = createLucideIcon(\"ArrowUp\", __iconNode);\n\nexport { __iconNode, ArrowUp as default };\n//# sourceMappingURL=arrow-up.js.map\n","/**\n * react-table\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport * as React from 'react';\nimport { createTable } from '@tanstack/table-core';\nexport * from '@tanstack/table-core';\n\n//\n\n/**\n * If rendering headers, cells, or footers with custom markup, use flexRender instead of `cell.getValue()` or `cell.renderValue()`.\n */\nfunction flexRender(Comp, props) {\n return !Comp ? null : isReactComponent(Comp) ? /*#__PURE__*/React.createElement(Comp, props) : Comp;\n}\nfunction isReactComponent(component) {\n return isClassComponent(component) || typeof component === 'function' || isExoticComponent(component);\n}\nfunction isClassComponent(component) {\n return typeof component === 'function' && (() => {\n const proto = Object.getPrototypeOf(component);\n return proto.prototype && proto.prototype.isReactComponent;\n })();\n}\nfunction isExoticComponent(component) {\n return typeof component === 'object' && typeof component.$$typeof === 'symbol' && ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description);\n}\nfunction useReactTable(options) {\n // Compose in the generic options to the user options\n const resolvedOptions = {\n state: {},\n // Dummy state\n onStateChange: () => {},\n // noop\n renderFallbackValue: null,\n ...options\n };\n\n // Create a new table and store it in state\n const [tableRef] = React.useState(() => ({\n current: createTable(resolvedOptions)\n }));\n\n // By default, manage table state here using the table's initial state\n const [state, setState] = React.useState(() => tableRef.current.initialState);\n\n // Compose the default state above with any user state. This will allow the user\n // to only control a subset of the state if desired.\n tableRef.current.setOptions(prev => ({\n ...prev,\n ...options,\n state: {\n ...state,\n ...options.state\n },\n // Similarly, we'll maintain both our internal state and any user-provided\n // state.\n onStateChange: updater => {\n setState(updater);\n options.onStateChange == null || options.onStateChange(updater);\n }\n }));\n return tableRef.current;\n}\n\nexport { flexRender, useReactTable };\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\nimport type { Table } from \"@tanstack/react-table\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { Button } from \"@/components/ui/button\";\nimport { PaginationEllipsis, PaginationItem } from \"@/components/ui/pagination\";\nimport {\n\tSelect,\n\tSelectContent,\n\tSelectItem,\n\tSelectTrigger,\n\tSelectValue,\n} from \"@/components/ui/select\";\n\ninterface DataTablePaginationProps<TData> {\n\ttable: Table<TData>;\n\tpageSizeOptions?: number[];\n\tdataLabel?: string;\n\tinfoExtraLabel?: React.ReactNode;\n\tshowPaginationControls?: boolean;\n\tshowDataLabel?: boolean;\n\tfooterAction?: React.ReactNode;\n\tmaxVisualRows?: number;\n}\n\nexport function DataTablePagination<TData>({\n\ttable,\n\tpageSizeOptions = [20, 30, 50, 100, 200],\n\tdataLabel = \"Fundos\",\n\tinfoExtraLabel,\n\tshowPaginationControls = true,\n\tshowDataLabel = true,\n\tfooterAction,\n\tmaxVisualRows,\n}: DataTablePaginationProps<TData>) {\n\tconst pageSize = pageSizeOptions[0];\n\tconst currentPage = table.getState().pagination.pageIndex + 1;\n\tconst rowCount = table.getRowCount();\n\tconst totalPageCount = Math.ceil(rowCount / table.getState().pagination.pageSize);\n\n\tconst renderPageNumbers = () => {\n\t\tconst items: React.ReactNode[] = [];\n\t\tconst maxVisiblePages = 3;\n\n\t\tif (totalPageCount <= maxVisiblePages) {\n\t\t\tfor (let i = 1; i <= totalPageCount; i++) {\n\t\t\t\titems.push(\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant={currentPage === i ? \"outline\" : \"ghost\"}\n\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\tonClick={() => table.setPageIndex(i - 1)}\n\t\t\t\t\t\tclassName=\"size-9\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{i}\n\t\t\t\t\t</Button>,\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\titems.push(\n\t\t\t\t<Button\n\t\t\t\t\tvariant={currentPage === 1 ? \"outline\" : \"ghost\"}\n\t\t\t\t\tkey={1}\n\t\t\t\t\tonClick={() => table.setPageIndex(0)}\n\t\t\t\t\tclassName=\"size-9\"\n\t\t\t\t>\n\t\t\t\t\t1\n\t\t\t\t</Button>,\n\t\t\t);\n\n\t\t\tconst start = Math.max(2, Math.min(currentPage, totalPageCount - (maxVisiblePages - 1)));\n\t\t\tconst end = Math.min(totalPageCount - 1, start + maxVisiblePages - 2);\n\n\t\t\tif (start > 2) {\n\t\t\t\titems.push(\n\t\t\t\t\t<PaginationItem key=\"ellipsis-start\" className=\"list-none\">\n\t\t\t\t\t\t<PaginationEllipsis />\n\t\t\t\t\t</PaginationItem>,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tfor (let i = start; i <= end; i++) {\n\t\t\t\titems.push(\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant={currentPage === i ? \"outline\" : \"ghost\"}\n\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\tonClick={() => table.setPageIndex(i - 1)}\n\t\t\t\t\t\tclassName=\"size-9\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{i}\n\t\t\t\t\t</Button>,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (end < totalPageCount - 1) {\n\t\t\t\titems.push(\n\t\t\t\t\t<PaginationItem key=\"ellipsis-end\" className=\"list-none\">\n\t\t\t\t\t\t<PaginationEllipsis />\n\t\t\t\t\t</PaginationItem>,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\titems.push(\n\t\t\t\t<Button\n\t\t\t\t\tvariant={currentPage === totalPageCount ? \"outline\" : \"ghost\"}\n\t\t\t\t\tkey={totalPageCount}\n\t\t\t\t\tonClick={() => table.setPageIndex(totalPageCount - 1)}\n\t\t\t\t>\n\t\t\t\t\t{totalPageCount}\n\t\t\t\t</Button>,\n\t\t\t);\n\t\t}\n\n\t\treturn items;\n\t};\n\n\tif (!showPaginationControls && !showDataLabel) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"mt-4 flex flex-wrap items-center justify-between gap-2\">\n\t\t\t{showDataLabel && (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"text-muted-foreground flex items-center gap-4 text-sm\">\n\t\t\t\t\t\t<p className=\"ml-2\">\n\t\t\t\t\t\t\tMostrando{\" \"}\n\t\t\t\t\t\t\t{(maxVisualRows\n\t\t\t\t\t\t\t\t? Math.min(table.getRowModel().rows.length, maxVisualRows)\n\t\t\t\t\t\t\t\t: table.getRowModel().rows.length\n\t\t\t\t\t\t\t).toLocaleString()}{\" \"}\n\t\t\t\t\t\t\tde {rowCount} {dataLabel}. {infoExtraLabel && infoExtraLabel}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div>{footerAction && <div>{footerAction}</div>}</div>\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t{showPaginationControls && (\n\t\t\t\t<div className=\"flex flex-wrap items-center justify-between gap-2 gap-y-4 ml-auto\">\n\t\t\t\t\t<Select\n\t\t\t\t\t\tvalue={String(table.getState().pagination.pageSize) || String(pageSize)}\n\t\t\t\t\t\tonValueChange={(value) => table.setPageSize(Number(value))}\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectTrigger className=\"w-fit\">\n\t\t\t\t\t\t\t<SelectValue\n\t\t\t\t\t\t\t\tplaceholder={`Mostrar ${table.getState().pagination.pageSize || pageSize}`}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t{rowCount && (rowCount === 0 || rowCount < pageSize) ? (\n\t\t\t\t\t\t\t\t<SelectItem value={String(pageSize)}>Mostrar {pageSize}</SelectItem>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tpageSizeOptions.map((pageSize) => (\n\t\t\t\t\t\t\t\t\t<SelectItem key={pageSize} value={String(pageSize)}>\n\t\t\t\t\t\t\t\t\t\tMostrar {pageSize}\n\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t</Select>\n\n\t\t\t\t\t<div className=\"flex flex-wrap gap-2 gap-y-4\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tonClick={() => table.previousPage()}\n\t\t\t\t\t\t\tdisabled={!table.getCanPreviousPage()}\n\t\t\t\t\t\t\taria-label=\"Ir para página anterior\"\n\t\t\t\t\t\t\tclassName=\"gap-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronLeftIcon className=\"size-4\" />\n\t\t\t\t\t\t\tAnterior\n\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t<div className=\"flex gap-2\">{renderPageNumbers()}</div>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tonClick={() => table.nextPage()}\n\t\t\t\t\t\t\tdisabled={!table.getCanNextPage()}\n\t\t\t\t\t\t\taria-label=\"Ir para próxima página\"\n\t\t\t\t\t\t\tclassName=\"gap-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tPróximo\n\t\t\t\t\t\t\t<ChevronRightIcon className=\"size-4\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n","import React from \"react\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { cn } from \"@/lib/utils\";\n\nexport const DataTablePaginationSkeleton: React.FC = ({ className }: { className?: string }) => {\n\treturn (\n\t\t<div className=\"mt-4 flex flex-wrap items-center justify-between gap-2\">\n\t\t\t<Skeleton className={cn(\"h-5 w-40\", className)} />\n\t\t\t<div className=\"flex flex-wrap items-center justify-between gap-2 gap-y-4\">\n\t\t\t\t<Skeleton className={cn(\"h-10 w-28\", className)} />\n\t\t\t\t<Skeleton className={cn(\"h-9 w-[16rem]\", className)} />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import React from \"react\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { TableCell, TableRow } from \"@/components/ui/table\";\n\ninterface DataTableRowSkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n\tcolumnCount: number;\n\trowCount?: number;\n\tcellWidths?: string[];\n\tshrinkZero?: boolean;\n}\n\nexport function DataTableRowSkeleton(props: DataTableRowSkeletonProps) {\n\tconst { columnCount, rowCount = 8, cellWidths = [\"auto\"], shrinkZero = false } = props;\n\n\treturn (\n\t\t<>\n\t\t\t{Array.from({ length: rowCount }).map((_, i) => (\n\t\t\t\t<TableRow key={`row-${String(i)}`} className=\"hover:bg-transparent\">\n\t\t\t\t\t{Array.from({ length: columnCount }).map((_, j) => (\n\t\t\t\t\t\t<TableCell\n\t\t\t\t\t\t\tkey={`cell-${String(i)}-${j}`}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\twidth: cellWidths[j],\n\t\t\t\t\t\t\t\tminWidth: shrinkZero ? cellWidths[j] : \"auto\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Skeleton className=\"h-6 w-full\" />\n\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t))}\n\t\t\t\t</TableRow>\n\t\t\t))}\n\t\t</>\n\t);\n}\n","\"use client\";\n\nimport { CaretSortIcon } from \"@radix-ui/react-icons\";\nimport type { ColumnDef, Row, Table as TableType } from \"@tanstack/react-table\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { ArrowDownIcon, ArrowUpIcon } from \"lucide-react\";\nimport React from \"react\";\nimport {\n\tTable,\n\tTableBody,\n\tTableCell,\n\tTableHead,\n\tTableHeader,\n\tTableRow,\n} from \"@/components/ui/table\";\nimport { cn } from \"@/lib/utils\";\nimport { DataTablePagination } from \"./DataTablePagination\";\nimport { DataTablePaginationSkeleton } from \"./DataTablePaginationSkeleton\";\nimport { DataTableRowSkeleton } from \"./DataTableRowSkeleton\";\n\ninterface DataTableViewOptionsProps<TData, TValue> {\n\ttable: TableType<TData>;\n\tcolumns: ColumnDef<TData, TValue>[];\n\tsetQueryParams?: React.Dispatch<React.SetStateAction<ListParams>>;\n\tisLoadingTable?: boolean;\n\tdataLabel: string;\n\tactionColumns?: string[];\n\tmessageEmpty?: React.ReactNode;\n\tdividingColumnKey?: string[];\n\tloadingContent?: React.ReactNode;\n\tpageSizeOptions?: number[];\n\tclassName?: string;\n\tisScrollable?: boolean;\n\tscrollMaxHeightClass?: string;\n\tfixedHeader?: boolean;\n\tshowPagination?: boolean;\n\trenderTooltip?: (row: Row<TData>, rowContent: React.ReactNode) => React.ReactNode;\n\trenderSubComponent?: (props: { row: Row<TData> }) => React.ReactNode;\n\tinfoExtraLabel?: React.ReactNode;\n\tshowDataLabel?: boolean;\n\tfooterAction?: React.ReactNode;\n\tmaxVisualRows?: number;\n}\n\ninterface ListParams {\n\t[propName: string]: string | string[];\n}\n\nexport const DataTableMainFrame = <TData, TValue>({\n\ttable,\n\tcolumns,\n\tisLoadingTable,\n\tloadingContent,\n\tsetQueryParams,\n\tdataLabel,\n\tactionColumns = [],\n\tmessageEmpty = <>Sem resultados</>,\n\tdividingColumnKey,\n\tpageSizeOptions,\n\tclassName,\n\tscrollMaxHeightClass = \"sm:max-h-[calc(100vh-300px)]\",\n\tisScrollable = false,\n\tfixedHeader = false,\n\tshowPagination = true,\n\tshowDataLabel = true,\n\trenderTooltip,\n\trenderSubComponent,\n\tinfoExtraLabel,\n\tfooterAction,\n\tmaxVisualRows,\n}: DataTableViewOptionsProps<TData, TValue>) => {\n\tconst currentPage = Number(table.getState().pagination.pageIndex).toString();\n\tconst pageSize = Number(table.getState().pagination.pageSize).toString();\n\tconst sorting = table.getState().sorting;\n\n\tReact.useEffect(() => {\n\t\tif (!setQueryParams) return;\n\t\tconst sortingParams = { sortingBy: \"\", order: \"\" };\n\t\tif (sorting.length > 0) {\n\t\t\tsortingParams.sortingBy = sorting[0].id;\n\t\t\tsortingParams.order = sorting[0].desc ? \"DESC\" : \"ASC\";\n\t\t}\n\t\tsetQueryParams((prev) => ({\n\t\t\t...prev,\n\t\t\tpageSize,\n\t\t\tpage: currentPage,\n\t\t\t...sortingParams,\n\t\t}));\n\t}, [currentPage, pageSize, setQueryParams, sorting]);\n\n\tconst renderTableBodyContent = () => {\n\t\tif (isLoadingTable && !loadingContent) {\n\t\t\treturn <DataTableRowSkeleton columnCount={table.getAllColumns().length} />;\n\t\t}\n\n\t\tif (isLoadingTable && loadingContent) {\n\t\t\treturn (\n\t\t\t\t<TableCell colSpan={columns.length} className=\"h-24 text-center\">\n\t\t\t\t\t{loadingContent}\n\t\t\t\t</TableCell>\n\t\t\t);\n\t\t}\n\n\t\tif (table.getRowModel().rows.length === 0) {\n\t\t\treturn (\n\t\t\t\t<TableRow>\n\t\t\t\t\t<TableCell colSpan={columns.length} className=\"h-24 text-center\">\n\t\t\t\t\t\t<span className=\"inline-block max-w-120 text-wrap wrap-break-word\">{messageEmpty}</span>\n\t\t\t\t\t</TableCell>\n\t\t\t\t</TableRow>\n\t\t\t);\n\t\t}\n\n\t\tconst rows = table.getRowModel().rows;\n\t\tconst rowsToRender = maxVisualRows ? rows.slice(0, maxVisualRows) : rows;\n\n\t\treturn rowsToRender.map((row: Row<TData>, index) => {\n\t\t\t// Se estivermos usando renderSubComponent (modo Master-Detail),\n\t\t\t// ignoramos as sub-linhas no loop principal para não duplicá-las\n\t\t\tif (renderSubComponent && row.depth > 0) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst rowKey = row.id ?? String(index);\n\n\t\t\tconst rowContent = row.getVisibleCells().map((cell) => {\n\t\t\t\tconst content = flexRender(cell.column.columnDef.cell, cell.getContext());\n\t\t\t\treturn (\n\t\t\t\t\t<TableCell\n\t\t\t\t\t\tkey={cell.id}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\"p-2\",\n\t\t\t\t\t\t\tdividingColumnKey?.includes(cell.column.id) && \"border-r\",\n\t\t\t\t\t\t\tcell.column.columnDef.meta?.className,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</TableCell>\n\t\t\t\t);\n\t\t\t});\n\n\t\t\tconst rowWithTooltip = renderTooltip ? (\n\t\t\t\trenderTooltip(row, rowContent)\n\t\t\t) : (\n\t\t\t\t<TableRow\n\t\t\t\t\tkey={rowKey}\n\t\t\t\t\tdata-state={row.getIsSelected() && \"selected\"}\n\t\t\t\t\tclassName={cn(\"even:bg-body/50\")}\n\t\t\t\t>\n\t\t\t\t\t{rowContent}\n\t\t\t\t</TableRow>\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<React.Fragment key={rowKey}>\n\t\t\t\t\t{rowWithTooltip}\n\t\t\t\t\t{row.getIsExpanded() && renderSubComponent && (\n\t\t\t\t\t\t<TableRow className={cn(\"even:bg-body/50\")}>\n\t\t\t\t\t\t\t<TableCell colSpan={row.getVisibleCells().length}>\n\t\t\t\t\t\t\t\t{renderSubComponent({ row })}\n\t\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t\t</TableRow>\n\t\t\t\t\t)}\n\t\t\t\t</React.Fragment>\n\t\t\t);\n\t\t});\n\t};\n\n\tconst shouldForceMinHeight = table.getRowModel().rows.length > 1 || isLoadingTable;\n\n\tconst tableContent = (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"bg-background mx-1 h-full w-full rounded-md border whitespace-nowrap\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"relative w-full overflow-auto\",\n\t\t\t\t\tshouldForceMinHeight && \"force-min-height\",\n\t\t\t\t\tisScrollable && scrollMaxHeightClass && scrollMaxHeightClass,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<Table>\n\t\t\t\t\t<TableHeader\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\tfixedHeader && \"bg-background sticky top-0 z-10 shadow-[0_1px_0_hsl(240_6%_90%)]\",\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{table.getHeaderGroups().map((headerGroup) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<TableRow key={headerGroup.id}>\n\t\t\t\t\t\t\t\t\t{headerGroup.headers.map((header) => {\n\t\t\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\t\t\tcolumn: { id },\n\t\t\t\t\t\t\t\t\t\t} = header;\n\n\t\t\t\t\t\t\t\t\t\tconst isActionsColumn = [\"actions\", ...actionColumns].includes(id);\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<TableHead\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\tdividingColumnKey?.includes(id) ? \"border-r\" : \"\",\n\t\t\t\t\t\t\t\t\t\t\t\t\theader.column.columnDef.meta?.className,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"static\",\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\tkey={header.id}\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{header.isPlaceholder ? null : (\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\t{...{\n\t\t\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\t\t!isActionsColumn && header.column.getCanSort()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"flex w-fit items-center justify-start cursor-pointer gap-1 font-medium\"\n\t\t\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\theader.column.columnDef.meta?.headerClassName,\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\tonClick: !isActionsColumn\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? header.column.getToggleSortingHandler()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\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\t\t{flexRender(header.column.columnDef.header, header.getContext())}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(!isActionsColumn &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theader.column.getCanSort() &&\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\tasc: <ArrowDownIcon className=\"h-3.5 w-3.5\" />,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdesc: <ArrowUpIcon className=\"h-3.5 w-3.5\" />,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse: <CaretSortIcon className=\"h-4 w-4\" />,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}[header.column.getIsSorted() as string]) ?? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowDownIcon className=\"h-3.5 w-3.5\" />\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</div>\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</TableHead>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</TableRow>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</TableHeader>\n\n\t\t\t\t\t<TableBody>{renderTableBodyContent()}</TableBody>\n\t\t\t\t</Table>\n\t\t\t</div>\n\t\t</div>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{tableContent}\n\t\t\t{isScrollable ? null : isLoadingTable ? (\n\t\t\t\t<DataTablePaginationSkeleton />\n\t\t\t) : (\n\t\t\t\t<DataTablePagination\n\t\t\t\t\ttable={table}\n\t\t\t\t\tdataLabel={dataLabel}\n\t\t\t\t\tpageSizeOptions={pageSizeOptions}\n\t\t\t\t\tinfoExtraLabel={infoExtraLabel}\n\t\t\t\t\tshowPaginationControls={showPagination}\n\t\t\t\t\tshowDataLabel={showDataLabel}\n\t\t\t\t\tfooterAction={footerAction}\n\t\t\t\t\tmaxVisualRows={maxVisualRows}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n};\n","// Utils para manipular árvores de forma imutável\n/** biome-ignore-all lint/suspicious/noExplicitAny: <any> */\n\nexport interface TreeItem {\n\tid: string | number;\n\tsubRows?: TreeItem[];\n\t[key: string]: any;\n}\n\nexport type TreeData<T> = T & {\n\tid: string | number;\n\tsubRows?: TreeData<T>[];\n};\n\nexport interface FindResult {\n\tpath: (number | string)[];\n\tnode: TreeItem;\n}\n\n// Encontra um item e retorna caminho + referência\nexport function findItemPath(\n\ttree: TreeItem[],\n\tid: string | number,\n\tpath: (number | string)[] = [],\n): FindResult | null {\n\tfor (let i = 0; i < tree.length; i++) {\n\t\tconst node = tree[i];\n\n\t\t// Encontrou o item\n\t\tif (node.id === id) {\n\t\t\treturn { path: [...path, i], node };\n\t\t}\n\n\t\t// Recursão em subRows\n\t\tif (Array.isArray(node.subRows) && node.subRows.length > 0) {\n\t\t\tconst result = findItemPath(node.subRows, id, [...path, i, \"subRows\"]);\n\t\t\tif (result) return result;\n\t\t}\n\t}\n\n\treturn null;\n}\n\n// Copia profunda (para não mutar)\nexport function clone<T>(obj: T): T {\n\treturn JSON.parse(JSON.stringify(obj));\n}\n\nexport function removeAtPath(tree: TreeItem[], path: (number | string)[]): TreeItem {\n\tlet ref: any = tree;\n\n\tfor (let i = 0; i < path.length - 1; i++) {\n\t\tref = ref[path[i]];\n\t}\n\n\tconst index = path[path.length - 1] as number;\n\tconst removed = ref.splice(index, 1)[0];\n\treturn removed;\n}\n\nexport function insertAtPath(tree: TreeItem[], path: (number | string)[], item: TreeItem): void {\n\tlet ref: any = tree;\n\n\tfor (let i = 0; i < path.length - 1; i++) {\n\t\tref = ref[path[i]];\n\t}\n\n\tconst index = path[path.length - 1] as number;\n\tref.splice(index, 0, item);\n}\n\nexport function toTreeItems<T extends { subRows?: T[] }>(\n\trows: T[],\n\tgetId: (item: T) => string | number,\n): TreeItem[] {\n\treturn rows.map((item) => ({\n\t\t...item,\n\t\tid: getId(item),\n\t\tsubRows: item.subRows ? toTreeItems(item.subRows, getId) : [],\n\t}));\n}\n","import { DragEndEvent, DragStartEvent } from \"@dnd-kit/core\";\nimport { CaretSortIcon } from \"@radix-ui/react-icons\";\nimport type { ColumnDef, Row, Table as TableType } from \"@tanstack/react-table\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { ArrowDownIcon, ArrowUpIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { Sortable, SortableItem } from \"@/components/ui/sortable\";\nimport {\n\tTable,\n\tTableBody,\n\tTableCell,\n\tTableHead,\n\tTableHeader,\n\tTableRow,\n} from \"@/components/ui/table\";\nimport { cn } from \"@/lib/utils\";\nimport { findItemPath, insertAtPath, removeAtPath, TreeData } from \"@/utils/treeReorder\";\nimport { DataTablePagination } from \"./DataTablePagination\";\nimport { DataTablePaginationSkeleton } from \"./DataTablePaginationSkeleton\";\nimport { DataTableRowSkeleton } from \"./DataTableRowSkeleton\";\n\ninterface DataTableViewOptionsProps<TData, TValue> {\n\ttable: TableType<TData>;\n\tcolumns: ColumnDef<TData, TValue>[];\n\tsetQueryParams?: React.Dispatch<React.SetStateAction<ListParams>>;\n\tisLoadingTable?: boolean;\n\tdataLabel: string;\n\tactionColumns?: string[];\n\tdata: TData[];\n\tonDataChange?: (newData: TData[]) => void;\n\tmessageEmpty?: React.ReactNode;\n\trowKey: keyof TData | Array<keyof TData> | ((row: TData) => string | number);\n\tdividingColumnKey?: string[];\n\tloadingContent?: React.ReactNode;\n\tpageSizeOptions?: number[];\n\tclassName?: string;\n\tisScrollable?: boolean;\n\tscrollMaxHeightClass?: string;\n\tfixedHeader?: boolean;\n\tshowPagination?: boolean;\n\trenderTooltip?: (row: Row<TData>, rowContent: React.ReactNode) => React.ReactNode;\n\tinfoExtraLabel?: React.ReactNode;\n\tshowDataLabel?: boolean;\n\tfooterAction?: React.ReactNode;\n\t// Sortable props\n\tsortableValue?: TreeData<TData>[];\n\tsortableOnValueChange?: (items: TreeData<TData>[]) => void;\n\tsortableOnDragStart?: (event: DragStartEvent) => void;\n\tsortableOnDragEnd?: (event: DragEndEvent) => void;\n\tmaxVisualRows?: number;\n}\n\ntype RowData = {\n\t// biome-ignore lint/suspicious/noExplicitAny: <any>\n\t[key: string]: any;\n};\n\ninterface ListParams {\n\t[propName: string]: string | string[];\n}\n\nconst getRowKey = <TData extends RowData>(\n\trow: TData,\n\trowKey: keyof TData | Array<keyof TData> | ((row: TData) => string | number),\n): string | number => {\n\tif (typeof rowKey === \"function\") {\n\t\treturn rowKey(row);\n\t}\n\n\tif (Array.isArray(rowKey)) {\n\t\tfor (const key of rowKey) {\n\t\t\tif (row[key] !== undefined && row[key] !== null) {\n\t\t\t\treturn row[key] as string | number;\n\t\t\t}\n\t\t}\n\t\treturn \"\";\n\t}\n\n\treturn row[rowKey] as string | number;\n};\n\nexport const DataTableMainFrameSortable = <TData extends RowData, TValue>({\n\ttable,\n\tcolumns,\n\tisLoadingTable,\n\tloadingContent,\n\tsetQueryParams,\n\tdataLabel,\n\tactionColumns = [],\n\tdata,\n\tmessageEmpty = <>Sem resultados</>,\n\tonDataChange,\n\trowKey,\n\tdividingColumnKey,\n\tpageSizeOptions,\n\tclassName,\n\tscrollMaxHeightClass = \"sm:max-h-[calc(100vh-300px)]\",\n\tisScrollable = false,\n\tfixedHeader = false,\n\tshowPagination = true,\n\tshowDataLabel = true,\n\trenderTooltip,\n\tinfoExtraLabel,\n\tfooterAction,\n\n\tsortableValue: propValue,\n\tsortableOnValueChange: propOnValueChange,\n\tsortableOnDragStart: propOnDragStart,\n\tsortableOnDragEnd: propOnDragEnd,\n\tmaxVisualRows,\n}: DataTableViewOptionsProps<TData, TValue>) => {\n\tconst currentPage = Number(table.getState().pagination.pageIndex).toString();\n\tconst pageSize = Number(table.getState().pagination.pageSize).toString();\n\tconst sorting = table.getState().sorting;\n\n\tconst [newData, setNewData] = React.useState<TData[]>(data);\n\n\tconst handleValueChange = (updatedData: TData[]) => {\n\t\tsetNewData(updatedData);\n\n\t\tif (onDataChange) {\n\t\t\tonDataChange(updatedData);\n\t\t}\n\t};\n\n\tReact.useEffect(() => {\n\t\tsetNewData(data);\n\t}, [data]);\n\n\tReact.useEffect(() => {\n\t\tif (!setQueryParams) return;\n\t\tconst sortingParams = { sortingBy: \"\", order: \"\" };\n\t\tif (sorting.length > 0) {\n\t\t\tsortingParams.sortingBy = sorting[0].id;\n\t\t\tsortingParams.order = sorting[0].desc ? \"DESC\" : \"ASC\";\n\t\t}\n\t\tsetQueryParams((prev) => ({\n\t\t\t...prev,\n\t\t\tpageSize,\n\t\t\tpage: currentPage,\n\t\t\t...sortingParams,\n\t\t}));\n\t}, [currentPage, pageSize, setQueryParams, sorting]);\n\n\tconst renderTableBodyContent = () => {\n\t\tif (isLoadingTable && !loadingContent) {\n\t\t\treturn <DataTableRowSkeleton columnCount={table.getAllColumns().length} />;\n\t\t}\n\n\t\tif (isLoadingTable && loadingContent) {\n\t\t\treturn (\n\t\t\t\t<TableCell colSpan={columns.length} className=\"h-24 text-center\">\n\t\t\t\t\t{loadingContent}\n\t\t\t\t</TableCell>\n\t\t\t);\n\t\t}\n\n\t\tif (table.getRowModel().rows.length === 0) {\n\t\t\treturn (\n\t\t\t\t<TableRow>\n\t\t\t\t\t<TableCell colSpan={columns.length} className=\"h-24 text-center\">\n\t\t\t\t\t\t<span className=\"inline-block max-w-120 text-wrap wrap-break-word\">{messageEmpty}</span>\n\t\t\t\t\t</TableCell>\n\t\t\t\t</TableRow>\n\t\t\t);\n\t\t}\n\n\t\tconst rows = table.getRowModel().rows;\n\t\tconst rowsToRender = maxVisualRows ? rows.slice(0, maxVisualRows) : rows;\n\n\t\treturn rowsToRender.map((row: Row<TData>) => {\n\t\t\tconst rowData = row.original;\n\t\t\tconst key = getRowKey(rowData, rowKey);\n\n\t\t\tconst rowContent = row.getVisibleCells().map((cell) => (\n\t\t\t\t<TableCell\n\t\t\t\t\tkey={cell.id}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"p-2 py-1\",\n\t\t\t\t\t\tdividingColumnKey?.includes(cell.column.id) && \"border-r\",\n\t\t\t\t\t\tcell.column.columnDef.meta?.className,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{flexRender(cell.column.columnDef.cell, cell.getContext())}\n\t\t\t\t</TableCell>\n\t\t\t));\n\n\t\t\tconst baseRow = (\n\t\t\t\t<TableRow data-state={row.getIsSelected() && \"selected\"} className={cn(\"even:bg-body/50\")}>\n\t\t\t\t\t{rowContent}\n\t\t\t\t</TableRow>\n\t\t\t);\n\n\t\t\tconst wrappedRow = renderTooltip ? renderTooltip(row, rowContent) : baseRow;\n\n\t\t\treturn (\n\t\t\t\t<SortableItem key={row.id} value={key} asChild>\n\t\t\t\t\t{wrappedRow}\n\t\t\t\t</SortableItem>\n\t\t\t);\n\t\t});\n\t};\n\n\tconst [activeId, setActiveId] = React.useState<string | null>(null);\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: <useMemo>\n\tconst siblings = React.useMemo(() => {\n\t\tif (!activeId)\n\t\t\treturn table.getRowModel().rows.map((row) => ({\n\t\t\t\t...row.original,\n\t\t\t\tid: getRowKey(row.original, rowKey),\n\t\t\t}));\n\n\t\tconst activeRow = table\n\t\t\t.getRowModel()\n\t\t\t.rows.find((row) => getRowKey(row.original, rowKey) === activeId);\n\t\tif (!activeRow) return [];\n\n\t\tconst parentId = activeRow.parentId;\n\n\t\treturn table\n\t\t\t.getRowModel()\n\t\t\t.rows.filter((row) => row.parentId === parentId)\n\t\t\t.map((row) => ({\n\t\t\t\t...row.original,\n\t\t\t\tid: getRowKey(row.original, rowKey),\n\t\t\t}));\n\t}, [activeId, table.getRowModel().rows, rowKey]);\n\n\tconst internalHandleDragStart = (event: DragStartEvent) => {\n\t\tsetActiveId(event.active.id as string);\n\t};\n\n\tconst internalHandleDragEnd = (event: DragEndEvent) => {\n\t\tsetActiveId(null);\n\t\tconst { active, over } = event;\n\t\tif (!active || !over) return;\n\n\t\tconst sourceId = active.id;\n\t\tconst targetId = over.id;\n\t\tif (sourceId === targetId) return;\n\n\t\tconst tree: TreeData<TData>[] = newData.map((item) => ({\n\t\t\t...item,\n\t\t\tid: getRowKey(item, rowKey),\n\t\t}));\n\n\t\tconst source = findItemPath(tree, sourceId);\n\t\tconst target = findItemPath(tree, targetId);\n\n\t\tif (!source || !target) return;\n\n\t\t// -----------------------------\n\t\t// 🔒 1. TRAVAR MOVIMENTAÇÃO ENTRE NÍVEIS DIFERENTES\n\t\t// -----------------------------\n\n\t\tconst sourcePath = source.path;\n\t\tconst targetPath = target.path;\n\n\t\t// Pega o \"caminho do pai\" (remove o último índice, que é o índice do item em si)\n\t\tconst sourceParentPath = sourcePath.slice(0, -1);\n\t\tconst targetParentPath = targetPath.slice(0, -1);\n\n\t\t// Compara se os arrays são iguais (mesmo tamanho e mesmos valores)\n\t\tconst isSameParent =\n\t\t\tsourceParentPath.length === targetParentPath.length &&\n\t\t\tsourceParentPath.every((val, index) => val === targetParentPath[index]);\n\n\t\tif (!isSameParent) {\n\t\t\treturn;\n\t\t}\n\n\t\t// -----------------------------\n\t\t// 🔄 2. MOVIMENTO PERMITIDO → REORDENAR\n\t\t// -----------------------------\n\n\t\tconst removedItem = removeAtPath(tree, sourcePath);\n\n\t\tconst destPath = [...targetPath];\n\t\tdestPath[destPath.length - 1] = targetPath[targetPath.length - 1];\n\n\t\tinsertAtPath(tree, destPath, removedItem);\n\n\t\thandleValueChange(tree);\n\t};\n\n\tconst shouldForceMinHeight = table.getRowModel().rows.length > 1 || isLoadingTable;\n\n\tconst finalValue =\n\t\tpropValue ??\n\t\t(maxVisualRows\n\t\t\t? table.getRowModel().rows.slice(0, maxVisualRows)\n\t\t\t: table.getRowModel().rows\n\t\t).map((row) => ({\n\t\t\t...row.original,\n\t\t\tid: getRowKey(row.original, rowKey),\n\t\t}));\n\n\tconst finalOnValueChange = propOnValueChange ?? handleValueChange;\n\tconst finalOnDragStart = propOnDragStart ?? internalHandleDragStart;\n\tconst finalOnDragEnd = propOnDragEnd ?? internalHandleDragEnd;\n\n\treturn (\n\t\t<>\n\t\t\t<Sortable<TreeData<TData>>\n\t\t\t\tvalue={finalValue}\n\t\t\t\tcontextItems={siblings}\n\t\t\t\tonValueChange={finalOnValueChange}\n\t\t\t\tonDragStart={finalOnDragStart}\n\t\t\t\tonDragEnd={finalOnDragEnd}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"bg-background mx-1 h-full w-full rounded-md border whitespace-nowrap\",\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\"relative w-full overflow-auto\",\n\t\t\t\t\t\t\tshouldForceMinHeight && \"force-min-height\",\n\t\t\t\t\t\t\tisScrollable && scrollMaxHeightClass && scrollMaxHeightClass,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Table>\n\t\t\t\t\t\t\t<TableHeader\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\tfixedHeader && \"bg-background sticky top-0 z-10 shadow-[0_1px_0_hsl(240_6%_90%)]\",\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{table.getHeaderGroups().map((headerGroup) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<TableRow key={headerGroup.id}>\n\t\t\t\t\t\t\t\t\t\t\t{headerGroup.headers.map((header) => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: { id },\n\t\t\t\t\t\t\t\t\t\t\t\t} = header;\n\n\t\t\t\t\t\t\t\t\t\t\t\tconst isActionsColumn = [\"actions\", ...actionColumns].includes(id);\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<TableHead\n\t\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\tdividingColumnKey?.includes(id) ? \"border-r\" : \"\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theader.column.columnDef.meta?.className,\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\tkey={header.id}\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{header.isPlaceholder ? null : (\n\t\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\t\t{...{\n\t\t\t\t\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\t\t\t\t!isActionsColumn && header.column.getCanSort()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"flex w-fit items-center justify-start cursor-pointer gap-1 font-medium\"\n\t\t\t\t\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\t\t\theader.column.columnDef.meta?.headerClassName,\n\t\t\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\t\tonClick: !isActionsColumn\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? header.column.getToggleSortingHandler()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\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>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{flexRender(header.column.columnDef.header, header.getContext())}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(!isActionsColumn &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theader.column.getCanSort() &&\n\t\t\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\t\t\tasc: <ArrowDownIcon className=\"h-3.5 w-3.5\" />,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdesc: <ArrowUpIcon className=\"h-3.5 w-3.5\" />,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse: <CaretSortIcon className=\"h-4 w-4\" />,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}[header.column.getIsSorted() as string]) ?? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowDownIcon className=\"h-3.5 w-3.5\" />\n\t\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</div>\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</TableHead>\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</TableRow>\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</TableHeader>\n\n\t\t\t\t\t\t\t<TableBody>{renderTableBodyContent()}</TableBody>\n\t\t\t\t\t\t</Table>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Sortable>\n\n\t\t\t{isScrollable ? null : isLoadingTable ? (\n\t\t\t\t<DataTablePaginationSkeleton />\n\t\t\t) : (\n\t\t\t\t<DataTablePagination\n\t\t\t\t\ttable={table}\n\t\t\t\t\tdataLabel={dataLabel}\n\t\t\t\t\tpageSizeOptions={pageSizeOptions}\n\t\t\t\t\tinfoExtraLabel={infoExtraLabel}\n\t\t\t\t\tshowPaginationControls={showPagination}\n\t\t\t\t\tshowDataLabel={showDataLabel}\n\t\t\t\t\tfooterAction={footerAction}\n\t\t\t\t\tmaxVisualRows={maxVisualRows}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n};\n","\"use client\";\n\nimport type { Table } from \"@tanstack/react-table\";\nimport { SearchIcon } from \"lucide-react\";\nimport { Input } from \"@/components/ui/input\";\n\ninterface DataTableSearchProps<TData> {\n\ttable: Table<TData>;\n\tkeySearch: string;\n\tplaceholder: string;\n}\n\nexport function DataTableSearch<TData>({\n\ttable,\n\tkeySearch,\n\tplaceholder,\n}: DataTableSearchProps<TData>) {\n\treturn (\n\t\t<div className=\"relative w-full max-w-sm\">\n\t\t\t<SearchIcon className=\"text-muted-foreground absolute top-3 left-3 h-4 w-4\" />\n\t\t\t<Input\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tvalue={(table.getColumn(keySearch)?.getFilterValue() as string) ?? \"\"}\n\t\t\t\tonChange={(event) => table.getColumn(keySearch)?.setFilterValue(event.target.value)}\n\t\t\t\tclassName=\"w-full pl-8 xl:w-80\"\n\t\t\t/>\n\t\t</div>\n\t);\n}\n","import React from \"react\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport {\n\tTable,\n\tTableBody,\n\tTableCell,\n\tTableHead,\n\tTableHeader,\n\tTableRow,\n} from \"@/components/ui/table\";\nimport { cn } from \"@/lib/utils\";\n\ninterface DataTableSkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n\t/**\n\t * The number of columns in the table.\n\t * @type number\n\t */\n\tcolumnCount: number;\n\n\t/**\n\t * The number of rows in the table.\n\t * @default 10\n\t * @type number | undefined\n\t */\n\trowCount?: number;\n\n\t/**\n\t * The number of searchable columns in the table.\n\t * @default 0\n\t * @type number | undefined\n\t */\n\tsearchableColumnCount?: number;\n\n\t/**\n\t * The number of filterable columns in the table.\n\t * @default 0\n\t * @type number | undefined\n\t */\n\tfilterableColumnCount?: number;\n\n\t/**\n\t * Flag to show the table view options.\n\t * @default undefined\n\t * @type boolean | undefined\n\t */\n\tshowViewOptions?: boolean;\n\n\t/**\n\t * The width of each cell in the table.\n\t * The length of the array should be equal to the columnCount.\n\t * Any valid CSS width value is accepted.\n\t * @default [\"auto\"]\n\t * @type string[] | undefined\n\t */\n\tcellWidths?: string[];\n\n\t/**\n\t * Flag to show the pagination bar.\n\t * @default true\n\t * @type boolean | undefined\n\t */\n\twithPagination?: boolean;\n\n\t/**\n\t * Flag to prevent the table cells from shrinking.\n\t * @default false\n\t * @type boolean | undefined\n\t */\n\tshrinkZero?: boolean;\n}\n\nexport function DataTableSkeleton(props: DataTableSkeletonProps) {\n\tconst {\n\t\tcolumnCount,\n\t\trowCount = 10,\n\t\tsearchableColumnCount = 0,\n\t\tfilterableColumnCount = 0,\n\t\tshowViewOptions = true,\n\t\tcellWidths = [\"auto\"],\n\t\twithPagination = true,\n\t\tshrinkZero = false,\n\t\tclassName,\n\t\t...skeletonProps\n\t} = props;\n\n\treturn (\n\t\t<div className={cn(\"w-full space-y-2.5 overflow-auto\", className)} {...skeletonProps}>\n\t\t\t<div className=\"flex w-full items-center justify-between space-x-2 overflow-auto p-1\">\n\t\t\t\t<div className=\"flex flex-1 items-center space-x-2\">\n\t\t\t\t\t{searchableColumnCount > 0\n\t\t\t\t\t\t? Array.from({ length: searchableColumnCount }).map((_, i) => (\n\t\t\t\t\t\t\t\t<Skeleton key={`${String(i)}`} className=\"h-7 w-40 lg:w-60\" />\n\t\t\t\t\t\t\t))\n\t\t\t\t\t\t: null}\n\t\t\t\t\t{filterableColumnCount > 0\n\t\t\t\t\t\t? Array.from({ length: filterableColumnCount }).map((_, i) => (\n\t\t\t\t\t\t\t\t<Skeleton key={`${String(i)}`} className=\"h-7 w-[4.5rem] border-dashed\" />\n\t\t\t\t\t\t\t))\n\t\t\t\t\t\t: null}\n\t\t\t\t</div>\n\t\t\t\t{showViewOptions ? <Skeleton className=\"ml-auto hidden h-7 w-[4.5rem] lg:flex\" /> : null}\n\t\t\t</div>\n\t\t\t<div className=\"rounded-md border\">\n\t\t\t\t<Table>\n\t\t\t\t\t<TableHeader>\n\t\t\t\t\t\t{Array.from({ length: 1 }).map((_, i) => (\n\t\t\t\t\t\t\t<TableRow key={`${String(i)}`} className=\"hover:bg-transparent\">\n\t\t\t\t\t\t\t\t{Array.from({ length: columnCount }).map((_, j) => (\n\t\t\t\t\t\t\t\t\t<TableHead\n\t\t\t\t\t\t\t\t\t\tkey={`${String(j)}`}\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\twidth: cellWidths[j],\n\t\t\t\t\t\t\t\t\t\t\tminWidth: shrinkZero ? cellWidths[j] : \"auto\",\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Skeleton className=\"h-6 w-full\" />\n\t\t\t\t\t\t\t\t\t</TableHead>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</TableRow>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</TableHeader>\n\t\t\t\t\t<TableBody>\n\t\t\t\t\t\t{Array.from({ length: rowCount }).map((_, i) => (\n\t\t\t\t\t\t\t<TableRow key={`${String(i)}`} className=\"hover:bg-transparent\">\n\t\t\t\t\t\t\t\t{Array.from({ length: columnCount }).map((_, j) => (\n\t\t\t\t\t\t\t\t\t<TableCell\n\t\t\t\t\t\t\t\t\t\tkey={`${String(j)}`}\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\twidth: cellWidths[j],\n\t\t\t\t\t\t\t\t\t\t\tminWidth: shrinkZero ? cellWidths[j] : \"auto\",\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Skeleton className=\"h-6 w-full\" />\n\t\t\t\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</TableRow>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</TableBody>\n\t\t\t\t</Table>\n\t\t\t</div>\n\t\t\t{withPagination ? (\n\t\t\t\t<div className=\"flex w-full items-center justify-between gap-4 overflow-auto p-1 sm:gap-8\">\n\t\t\t\t\t<Skeleton className=\"h-7 w-40 shrink-0\" />\n\t\t\t\t\t<div className=\"flex items-center gap-4 sm:gap-6 lg:gap-8\">\n\t\t\t\t\t\t<div className=\"flex items-center space-x-2\">\n\t\t\t\t\t\t\t<Skeleton className=\"h-7 w-24\" />\n\t\t\t\t\t\t\t<Skeleton className=\"h-7 w-[4.5rem]\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex items-center justify-center text-sm font-medium\">\n\t\t\t\t\t\t\t<Skeleton className=\"h-7 w-20\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex items-center space-x-2\">\n\t\t\t\t\t\t\t<Skeleton className=\"hidden size-7 lg:block\" />\n\t\t\t\t\t\t\t<Skeleton className=\"size-7\" />\n\t\t\t\t\t\t\t<Skeleton className=\"size-7\" />\n\t\t\t\t\t\t\t<Skeleton className=\"hidden size-7 lg:block\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</div>\n\t);\n}\n","\"use client\";\n\nimport type { Table } from \"@tanstack/react-table\";\nimport { ChevronDownIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n\tCommand,\n\tCommandEmpty,\n\tCommandInput,\n\tCommandItem,\n\tCommandList,\n} from \"@/components/ui/command\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { cn } from \"@/lib/utils\";\n\ninterface DataTableStatusProps<TData, TEnum> {\n\ttable: Table<TData>;\n\tuniqueStatusValues: TEnum[];\n\trenderStatusMessage(status: TEnum): string;\n\tclassName?: string;\n}\n\nexport function DataTableStatus<TData, TEnum>({\n\ttable,\n\tuniqueStatusValues,\n\trenderStatusMessage,\n\tclassName,\n}: DataTableStatusProps<TData, TEnum>) {\n\tconst triggerRef = React.useRef<HTMLButtonElement>(null);\n\n\tconst currentFilter = table.getColumn(\"status\")?.getFilterValue() as TEnum | undefined;\n\n\treturn (\n\t\t<Popover modal>\n\t\t\t<PopoverTrigger asChild>\n\t\t\t\t<Button\n\t\t\t\t\tref={triggerRef}\n\t\t\t\t\taria-label=\"Filtre por status\"\n\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"border-input text-muted-foreground ring-offset-background placeholder:text-muted-foreground hover:text-muted-foreground focus:ring-ring flex h-10 w-full max-w-60 items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm hover:bg-inherit focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50\",\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{currentFilter ? renderStatusMessage(currentFilter) : \"Todos os status\"}\n\t\t\t\t\t<ChevronDownIcon className=\"h-4 w-4\" />\n\t\t\t\t</Button>\n\t\t\t</PopoverTrigger>\n\t\t\t<PopoverContent\n\t\t\t\talign=\"end\"\n\t\t\t\tclassName=\"w-44 p-0\"\n\t\t\t\tonCloseAutoFocus={() => triggerRef.current?.focus()}\n\t\t\t>\n\t\t\t\t<Command>\n\t\t\t\t\t<CommandInput placeholder=\"Pesquisar status...\" />\n\t\t\t\t\t<CommandList>\n\t\t\t\t\t\t<CommandEmpty>Nenhum status encontrado.</CommandEmpty>\n\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\tkey=\"all\"\n\t\t\t\t\t\t\tonSelect={() => table.getColumn(\"status\")?.setFilterValue(undefined)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"truncate\">Todos os status</span>\n\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t{uniqueStatusValues.map((item) => {\n\t\t\t\t\t\t\tif (!item) return null;\n\n\t\t\t\t\t\t\tconst statusMessage = renderStatusMessage(item as TEnum);\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\tkey={`${String(item)}`}\n\t\t\t\t\t\t\t\t\tonSelect={() => table.getColumn(\"status\")?.setFilterValue(item)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className=\"truncate\">{statusMessage}</span>\n\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</CommandList>\n\t\t\t\t</Command>\n\t\t\t</PopoverContent>\n\t\t</Popover>\n\t);\n}\n","\"use client\";\n\nimport type { Table } from \"@tanstack/react-table\";\nimport { Check, ChevronDownIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n\tCommand,\n\tCommandEmpty,\n\tCommandGroup,\n\tCommandInput,\n\tCommandItem,\n\tCommandList,\n} from \"@/components/ui/command\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { cn } from \"@/lib/utils\";\n\ninterface DataTableViewOptionsProps<TData> {\n\ttable: Table<TData>;\n\ttransformColumnName?: (id: string) => string;\n\tdisabled?: boolean;\n}\n\nexport function DataTableViewOptions<TData>({\n\ttable,\n\ttransformColumnName,\n\tdisabled,\n}: DataTableViewOptionsProps<TData>) {\n\tconst triggerRef = React.useRef<HTMLButtonElement>(null);\n\n\treturn (\n\t\t<Popover modal>\n\t\t\t<PopoverTrigger asChild>\n\t\t\t\t<Button\n\t\t\t\t\tref={triggerRef}\n\t\t\t\t\taria-label=\"Toggle columns\"\n\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\tclassName=\"text-muted-foreground hover:text-muted-foreground w-full max-w-[12.5rem] items-center justify-between bg-inherit px-3 py-2 hover:bg-inherit\"\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t>\n\t\t\t\t\tColunas\n\t\t\t\t\t<ChevronDownIcon className=\"h-4 w-4\" />\n\t\t\t\t</Button>\n\t\t\t</PopoverTrigger>\n\t\t\t<PopoverContent\n\t\t\t\talign=\"end\"\n\t\t\t\tclassName=\"w-44 p-0\"\n\t\t\t\tonCloseAutoFocus={() => triggerRef.current?.focus()}\n\t\t\t>\n\t\t\t\t<Command>\n\t\t\t\t\t<CommandInput placeholder=\"Pesquisar colunas...\" />\n\t\t\t\t\t<CommandList>\n\t\t\t\t\t\t<CommandEmpty>Nenhuma coluna encontrada.</CommandEmpty>\n\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t{table\n\t\t\t\t\t\t\t\t.getAllColumns()\n\t\t\t\t\t\t\t\t.filter((column) => typeof column.accessorFn !== \"undefined\" && column.getCanHide())\n\t\t\t\t\t\t\t\t.map((column) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\t\tkey={column.id}\n\t\t\t\t\t\t\t\t\t\t\tonSelect={() => column.toggleVisibility(!column.getIsVisible())}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t{transformColumnName ? transformColumnName(column.id) : column.id}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t<Check\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\"ml-auto size-4 shrink-0\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn.getIsVisible() ? \"opacity-100\" : \"opacity-0\",\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</CommandItem>\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</CommandGroup>\n\t\t\t\t\t</CommandList>\n\t\t\t\t</Command>\n\t\t\t</PopoverContent>\n\t\t</Popover>\n\t);\n}\n"],"names":["__iconNode","flexRender","Comp","props","isReactComponent","React","createElement","component","isClassComponent","isExoticComponent","proto","Object","getPrototypeOf","prototype","$$typeof","includes","description","DataTablePagination","table","pageSizeOptions","dataLabel","infoExtraLabel","showPaginationControls","showDataLabel","footerAction","maxVisualRows","pageSize","currentPage","getState","pagination","pageIndex","rowCount","getRowCount","totalPageCount","Math","ceil","renderPageNumbers","items","maxVisiblePages","i","push","Button","variant","key","onClick","setPageIndex","className","start","max","min","end","PaginationItem","PaginationEllipsis","div","p","getRowModel","rows","length","toLocaleString","Select","value","String","onValueChange","setPageSize","Number","SelectTrigger","SelectValue","placeholder","SelectContent","SelectItem","map","previousPage","disabled","getCanPreviousPage","aria-label","ChevronLeftIcon","nextPage","getCanNextPage","ChevronRightIcon","DataTablePaginationSkeleton","Skeleton","cn","DataTableRowSkeleton","columnCount","cellWidths","shrinkZero","Array","from","_","TableRow","j","TableCell","style","width","minWidth","DataTableMainFrame","columns","isLoadingTable","loadingContent","setQueryParams","actionColumns","messageEmpty","dividingColumnKey","scrollMaxHeightClass","isScrollable","fixedHeader","showPagination","renderTooltip","renderSubComponent","toString","sorting","useEffect","sortingParams","sortingBy","order","id","desc","prev","page","renderTableBodyContent","getAllColumns","colSpan","span","rowsToRender","slice","row","index","depth","rowKey","rowContent","getVisibleCells","cell","content","column","columnDef","getContext","meta","rowWithTooltip","data-state","getIsSelected","Fragment","getIsExpanded","shouldForceMinHeight","tableContent","Table","TableHeader","getHeaderGroups","headerGroup","headers","header","isActionsColumn","TableHead","isPlaceholder","getCanSort","headerClassName","getToggleSortingHandler","undefined","asc","ArrowDownIcon","ArrowUpIcon","false","CaretSortIcon","getIsSorted","TableBody","findItemPath","tree","path","node","isArray","subRows","result","removeAtPath","ref","removed","splice","insertAtPath","item","getRowKey","DataTableMainFrameSortable","data","onDataChange","sortableValue","propValue","sortableOnValueChange","propOnValueChange","sortableOnDragStart","propOnDragStart","sortableOnDragEnd","propOnDragEnd","newData","setNewData","useState","handleValueChange","updatedData","rowData","original","baseRow","wrappedRow","SortableItem","asChild","activeId","setActiveId","siblings","useMemo","activeRow","find","parentId","filter","internalHandleDragStart","event","active","internalHandleDragEnd","over","sourceId","targetId","source","target","sourcePath","targetPath","sourceParentPath","targetParentPath","isSameParent","every","val","removedItem","destPath","finalValue","finalOnValueChange","finalOnDragStart","finalOnDragEnd","Sortable","contextItems","onDragStart","onDragEnd","DataTableSearch","keySearch","SearchIcon","Input","getColumn","getFilterValue","onChange","setFilterValue","DataTableSkeleton","searchableColumnCount","filterableColumnCount","showViewOptions","withPagination","skeletonProps","DataTableStatus","uniqueStatusValues","renderStatusMessage","triggerRef","useRef","currentFilter","Popover","modal","PopoverTrigger","ChevronDownIcon","PopoverContent","align","onCloseAutoFocus","current","focus","Command","CommandInput","CommandList","CommandEmpty","CommandItem","onSelect","statusMessage","DataTableViewOptions","transformColumnName","CommandGroup","accessorFn","getCanHide","toggleVisibility","getIsVisible","Check"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
@@ -1,12 +1,27 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
2
3
|
import React__default from 'react';
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import '
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
5
|
+
import { VariantProps } from 'class-variance-authority';
|
|
6
|
+
import { DayPicker } from 'react-day-picker';
|
|
7
|
+
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
8
|
+
|
|
9
|
+
declare const buttonVariants: (props?: ({
|
|
10
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | "selection" | "upload" | "ghost" | "link" | "table" | null | undefined;
|
|
11
|
+
size?: "default" | "sm" | "lg" | "icon" | "normal" | "icon-sm" | "icon-lg" | null | undefined;
|
|
12
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
13
|
+
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
14
|
+
asChild?: boolean;
|
|
15
|
+
isAction?: boolean;
|
|
16
|
+
subtle?: boolean;
|
|
17
|
+
}
|
|
18
|
+
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
19
|
+
|
|
20
|
+
declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, formatters, components, fromYear, toYear, ...props }: React.ComponentProps<typeof DayPicker> & {
|
|
21
|
+
buttonVariant?: React.ComponentProps<typeof Button>["variant"];
|
|
22
|
+
}): react_jsx_runtime.JSX.Element;
|
|
23
|
+
|
|
24
|
+
declare function Popover({ ...props }: React__default.ComponentProps<typeof PopoverPrimitive.Root>): react_jsx_runtime.JSX.Element;
|
|
10
25
|
|
|
11
26
|
interface DatePickerProps extends Omit<React__default.ComponentProps<typeof Calendar>, "mode" | "selected" | "onSelect"> {
|
|
12
27
|
/** Data selecionada (pode ser Date ou string parseável) */
|
|
@@ -1,35 +1,33 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
|
-
import { c as cn } from '../chunks/utils-
|
|
3
|
-
import { t as tryParseDate, p as ptBR } from '../chunks/date-
|
|
4
|
-
import { C as CalendarDays } from '../chunks/calendar-days-
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import '../chunks/bundle-mjs-
|
|
10
|
-
import '../chunks/createLucideIcon-
|
|
11
|
-
import '../chunks/
|
|
12
|
-
import '../chunks/
|
|
13
|
-
import '../chunks/
|
|
14
|
-
import '
|
|
15
|
-
import '../chunks/index-D7mBTwC1.mjs';
|
|
16
|
-
import '../chunks/index-BKxnMSY9.mjs';
|
|
2
|
+
import { c as cn } from '../chunks/utils-uOfHPBdi.mjs';
|
|
3
|
+
import { t as tryParseDate, p as ptBR } from '../chunks/date-Y_hKMQVr.mjs';
|
|
4
|
+
import { C as CalendarDays } from '../chunks/calendar-days-BSzlDBsi.mjs';
|
|
5
|
+
import { C as Calendar } from '../chunks/calendar-C549VT55.mjs';
|
|
6
|
+
import { P as Popover, a as PopoverTrigger, b as PopoverContent } from '../chunks/popover-D3JC54Y3.mjs';
|
|
7
|
+
import { B as Button } from '../chunks/button-BW9I4XWU.mjs';
|
|
8
|
+
import { f as format } from '../chunks/format-CR4Q6BSq.mjs';
|
|
9
|
+
import '../chunks/bundle-mjs-BRbxNcQb.mjs';
|
|
10
|
+
import '../chunks/createLucideIcon-CkP7424r.mjs';
|
|
11
|
+
import '../chunks/chevron-left-BZ8X7kLy.mjs';
|
|
12
|
+
import '../chunks/chevron-right-jAScR3zY.mjs';
|
|
13
|
+
import '../chunks/chevron-down-o7NUBnJ4.mjs';
|
|
14
|
+
import '../chunks/index-DLqxy-dg.mjs';
|
|
17
15
|
import 'react-dom';
|
|
18
16
|
import '@radix-ui/react-slot';
|
|
19
|
-
import '
|
|
20
|
-
import '../chunks/index-
|
|
21
|
-
import '../chunks/
|
|
22
|
-
import '../chunks/index-
|
|
23
|
-
import '../chunks/index-
|
|
24
|
-
import '../chunks/
|
|
25
|
-
import '../chunks/index-
|
|
26
|
-
import '../chunks/index-
|
|
27
|
-
import '../chunks/index-
|
|
28
|
-
import '../chunks/index-
|
|
17
|
+
import 'react/jsx-runtime';
|
|
18
|
+
import '../chunks/index-CVjOpozG.mjs';
|
|
19
|
+
import '../chunks/index-CvVBB5ll.mjs';
|
|
20
|
+
import '../chunks/index-Cs9A0tpU.mjs';
|
|
21
|
+
import '../chunks/index-D_e6adwb.mjs';
|
|
22
|
+
import '../chunks/tslib.es6-B20VGjW7.mjs';
|
|
23
|
+
import '../chunks/index-Dp_0m03a.mjs';
|
|
24
|
+
import '../chunks/index-4pJ77hyF.mjs';
|
|
25
|
+
import '../chunks/index-DCDDoDjL.mjs';
|
|
26
|
+
import '../chunks/index-DhI6OG_H.mjs';
|
|
27
|
+
import '../chunks/index-DQD35Ges.mjs';
|
|
28
|
+
import '../chunks/index-CByz7d8q.mjs';
|
|
29
|
+
import '../chunks/index-D2DYiX9D.mjs';
|
|
29
30
|
import 'class-variance-authority';
|
|
30
|
-
import '../chunks/chevron-left-DGlHB7Nw.mjs';
|
|
31
|
-
import '../chunks/chevron-right-B6bwFEdI.mjs';
|
|
32
|
-
import '../chunks/chevron-down-gO34wzc7.mjs';
|
|
33
31
|
|
|
34
32
|
function DatePicker({ date, setDate, placeholder = "Selecione uma data", id = "date-picker", buttonProps, popoverProps, popoverContentClassName, className, disabled, defaultMonth, ...props }) {
|
|
35
33
|
const validDate = tryParseDate(date);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/components/ui/date-picker/date-picker.tsx"],"sourcesContent":["\"use client\";\n\nimport { format } from \"date-fns\";\nimport { ptBR } from \"date-fns/locale\";\nimport { CalendarDaysIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { Button, type ButtonProps } from \"@/components/ui/button\";\nimport { Calendar } from \"@/components/ui/calendar\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { cn } from \"@/lib/utils\";\nimport { tryParseDate } from \"@/utils/date\";\n\nexport interface DatePickerProps\n\textends Omit<React.ComponentProps<typeof Calendar>, \"mode\" | \"selected\" | \"onSelect\"> {\n\t/** Data selecionada (pode ser Date ou string parseável) */\n\tdate: Date | string | undefined;\n\n\t/** Função chamada ao selecionar uma data */\n\tsetDate: (date: Date | undefined) => void;\n\n\t/** Texto exibido quando não há data selecionada */\n\tplaceholder?: string;\n\n\t/** ID opcional do botão */\n\tid?: string;\n\n\t/** Props extras para o botão */\n\tbuttonProps?: ButtonProps;\n\n\t/** Props extras para o popover */\n\tpopoverProps?: React.ComponentProps<typeof Popover>;\n\n\t/** Classe extra para o conteúdo do popover */\n\tpopoverContentClassName?: string;\n\n\t/** Classe extra para o botão */\n\tclassName?: string;\n\n\t/**\n\t * Permite desabilitar datas específicas (igual ao Calendar do shadcn)\n\t * Pode ser um boolean, ou uma função que recebe a data e retorna boolean\n\t */\n\tdisabled?: boolean | ((date: Date) => boolean);\n\n\t/**\n\t * Mês padrão a ser mostrado (caso nenhuma data esteja selecionada)\n\t * Por padrão, será o mês atual.\n\t */\n\tdefaultMonth?: Date;\n}\n\nexport function DatePicker({\n\tdate,\n\tsetDate,\n\tplaceholder = \"Selecione uma data\",\n\tid = \"date-picker\",\n\tbuttonProps,\n\tpopoverProps,\n\tpopoverContentClassName,\n\tclassName,\n\tdisabled,\n\tdefaultMonth,\n\t...props\n}: DatePickerProps) {\n\tconst validDate = tryParseDate(date);\n\n\treturn (\n\t\t<Popover {...popoverProps}>\n\t\t\t<PopoverTrigger asChild>\n\t\t\t\t<Button\n\t\t\t\t\tid={id}\n\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"hover:text-foreground justify-start text-left font-normal\",\n\t\t\t\t\t\t!validDate && \"text-muted-foreground hover:text-muted-foreground\",\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\tdisabled={typeof disabled === \"boolean\" ? disabled : undefined}\n\t\t\t\t\t{...buttonProps}\n\t\t\t\t>\n\t\t\t\t\t<CalendarDaysIcon className=\"size-4\" />\n\t\t\t\t\t{validDate ? format(validDate, \"P\", { locale: ptBR }) : <span>{placeholder}</span>}\n\t\t\t\t</Button>\n\t\t\t</PopoverTrigger>\n\n\t\t\t<PopoverContent className={cn(\"w-auto p-0\", popoverContentClassName)} align=\"start\">\n\t\t\t\t<Calendar\n\t\t\t\t\tautoFocus\n\t\t\t\t\tcaptionLayout=\"dropdown\"\n\t\t\t\t\tselected={validDate}\n\t\t\t\t\tonSelect={setDate}\n\t\t\t\t\tlocale={ptBR}\n\t\t\t\t\tnumberOfMonths={1}\n\t\t\t\t\tfromYear={2010}\n\t\t\t\t\ttoYear={2040}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tdefaultMonth={validDate ?? defaultMonth ?? new Date()}\n\t\t\t\t\t{...props}\n\t\t\t\t\tmode=\"single\"\n\t\t\t\t/>\n\t\t\t</PopoverContent>\n\t\t</Popover>\n\t);\n}\n"],"names":["DatePicker","date","setDate","placeholder","id","buttonProps","popoverProps","popoverContentClassName","className","disabled","defaultMonth","props","validDate","tryParseDate","React","Popover","PopoverTrigger","asChild","Button","variant","cn","undefined","CalendarDaysIcon","format","locale","ptBR","span","PopoverContent","align","Calendar","autoFocus","captionLayout","selected","onSelect","numberOfMonths","fromYear","toYear","Date","mode"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/components/ui/date-picker/date-picker.tsx"],"sourcesContent":["\"use client\";\n\nimport { format } from \"date-fns\";\nimport { ptBR } from \"date-fns/locale\";\nimport { CalendarDaysIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { Button, type ButtonProps } from \"@/components/ui/button\";\nimport { Calendar } from \"@/components/ui/calendar\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { cn } from \"@/lib/utils\";\nimport { tryParseDate } from \"@/utils/date\";\n\nexport interface DatePickerProps\n\textends Omit<React.ComponentProps<typeof Calendar>, \"mode\" | \"selected\" | \"onSelect\"> {\n\t/** Data selecionada (pode ser Date ou string parseável) */\n\tdate: Date | string | undefined;\n\n\t/** Função chamada ao selecionar uma data */\n\tsetDate: (date: Date | undefined) => void;\n\n\t/** Texto exibido quando não há data selecionada */\n\tplaceholder?: string;\n\n\t/** ID opcional do botão */\n\tid?: string;\n\n\t/** Props extras para o botão */\n\tbuttonProps?: ButtonProps;\n\n\t/** Props extras para o popover */\n\tpopoverProps?: React.ComponentProps<typeof Popover>;\n\n\t/** Classe extra para o conteúdo do popover */\n\tpopoverContentClassName?: string;\n\n\t/** Classe extra para o botão */\n\tclassName?: string;\n\n\t/**\n\t * Permite desabilitar datas específicas (igual ao Calendar do shadcn)\n\t * Pode ser um boolean, ou uma função que recebe a data e retorna boolean\n\t */\n\tdisabled?: boolean | ((date: Date) => boolean);\n\n\t/**\n\t * Mês padrão a ser mostrado (caso nenhuma data esteja selecionada)\n\t * Por padrão, será o mês atual.\n\t */\n\tdefaultMonth?: Date;\n}\n\nexport function DatePicker({\n\tdate,\n\tsetDate,\n\tplaceholder = \"Selecione uma data\",\n\tid = \"date-picker\",\n\tbuttonProps,\n\tpopoverProps,\n\tpopoverContentClassName,\n\tclassName,\n\tdisabled,\n\tdefaultMonth,\n\t...props\n}: DatePickerProps) {\n\tconst validDate = tryParseDate(date);\n\n\treturn (\n\t\t<Popover {...popoverProps}>\n\t\t\t<PopoverTrigger asChild>\n\t\t\t\t<Button\n\t\t\t\t\tid={id}\n\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"hover:text-foreground justify-start text-left font-normal\",\n\t\t\t\t\t\t!validDate && \"text-muted-foreground hover:text-muted-foreground\",\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\tdisabled={typeof disabled === \"boolean\" ? disabled : undefined}\n\t\t\t\t\t{...buttonProps}\n\t\t\t\t>\n\t\t\t\t\t<CalendarDaysIcon className=\"size-4\" />\n\t\t\t\t\t{validDate ? format(validDate, \"P\", { locale: ptBR }) : <span>{placeholder}</span>}\n\t\t\t\t</Button>\n\t\t\t</PopoverTrigger>\n\n\t\t\t<PopoverContent className={cn(\"w-auto p-0\", popoverContentClassName)} align=\"start\">\n\t\t\t\t<Calendar\n\t\t\t\t\tautoFocus\n\t\t\t\t\tcaptionLayout=\"dropdown\"\n\t\t\t\t\tselected={validDate}\n\t\t\t\t\tonSelect={setDate}\n\t\t\t\t\tlocale={ptBR}\n\t\t\t\t\tnumberOfMonths={1}\n\t\t\t\t\tfromYear={2010}\n\t\t\t\t\ttoYear={2040}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tdefaultMonth={validDate ?? defaultMonth ?? new Date()}\n\t\t\t\t\t{...props}\n\t\t\t\t\tmode=\"single\"\n\t\t\t\t/>\n\t\t\t</PopoverContent>\n\t\t</Popover>\n\t);\n}\n"],"names":["DatePicker","date","setDate","placeholder","id","buttonProps","popoverProps","popoverContentClassName","className","disabled","defaultMonth","props","validDate","tryParseDate","React","Popover","PopoverTrigger","asChild","Button","variant","cn","undefined","CalendarDaysIcon","format","locale","ptBR","span","PopoverContent","align","Calendar","autoFocus","captionLayout","selected","onSelect","numberOfMonths","fromYear","toYear","Date","mode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDO,SAASA,UAAAA,CAAW,EAC1BC,IAAI,EACJC,OAAO,EACPC,WAAAA,GAAc,oBAAoB,EAClCC,EAAAA,GAAK,aAAa,EAClBC,WAAW,EACXC,YAAY,EACZC,uBAAuB,EACvBC,SAAS,EACTC,QAAQ,EACRC,YAAY,EACZ,GAAGC,KAAAA,EACc,EAAA;AACjB,IAAA,MAAMC,YAAYC,YAAAA,CAAaZ,IAAAA,CAAAA;IAE/B,qBACCa,cAAA,CAAA,aAAA,CAACC,OAAAA,EAAYT,YAAAA,gBACZQ,cAAA,CAAA,aAAA,CAACE,cAAAA,EAAAA;QAAeC,OAAAA,EAAAA;qBACfH,cAAA,CAAA,aAAA,CAACI,MAAAA,EAAAA;QACAd,EAAAA,EAAIA,EAAAA;QACJe,OAAAA,EAAQ,SAAA;AACRX,QAAAA,SAAAA,EAAWY,EAAAA,CACV,2DAAA,EACA,CAACR,SAAAA,IAAa,mDAAA,EACdJ,SAAAA,CAAAA;QAEDC,QAAAA,EAAU,OAAOA,QAAAA,KAAa,SAAA,GAAYA,QAAAA,GAAWY,SAAAA;AACpD,QAAA,GAAGhB;qBAEJS,cAAA,CAAA,aAAA,CAACQ,YAAAA,EAAAA;QAAiBd,SAAAA,EAAU;QAC3BI,SAAAA,GAAYW,MAAAA,CAAOX,WAAW,GAAA,EAAK;QAAEY,MAAAA,EAAQC;KAAK,CAAA,iBAAKX,cAAA,CAAA,aAAA,CAACY,MAAAA,EAAAA,IAAAA,EAAMvB,WAAAA,CAAAA,CAAAA,CAAAA,gBAIjEW,cAAA,CAAA,aAAA,CAACa,cAAAA,EAAAA;AAAenB,QAAAA,SAAAA,EAAWY,GAAG,YAAA,EAAcb,uBAAAA,CAAAA;QAA0BqB,KAAAA,EAAM;qBAC3Ed,cAAA,CAAA,aAAA,CAACe,QAAAA,EAAAA;QACAC,SAAAA,EAAAA,IAAAA;QACAC,aAAAA,EAAc,UAAA;QACdC,QAAAA,EAAUpB,SAAAA;QACVqB,QAAAA,EAAU/B,OAAAA;QACVsB,MAAAA,EAAQC,IAAAA;QACRS,cAAAA,EAAgB,CAAA;QAChBC,QAAAA,EAAU,IAAA;QACVC,MAAAA,EAAQ,IAAA;QACR3B,QAAAA,EAAUA,QAAAA;QACVC,YAAAA,EAAcE,SAAAA,IAAaF,gBAAgB,IAAI2B,IAAAA,EAAAA;AAC9C,QAAA,GAAG1B,KAAK;QACT2B,IAAAA,EAAK;;AAKV;;;;"}
|