ivt 0.3.9 → 0.4.1
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 +14 -14
- package/dist/alert/index.mjs +3 -3
- package/dist/alert/index.mjs.map +1 -1
- package/dist/alert-dialog/index.mjs +16 -16
- package/dist/avatar/index.mjs +7 -7
- package/dist/badge/index.mjs +3 -3
- package/dist/base/index.mjs +40 -83
- package/dist/base/index.mjs.map +1 -1
- package/dist/button/index.mjs +3 -3
- package/dist/calendar/index.mjs +8 -8
- package/dist/card/index.mjs +2 -2
- package/dist/chart/index.mjs +4 -4
- package/dist/checkbox/index.mjs +13 -13
- package/dist/chunks/{Container-DFItu8wc.mjs → Container-BhsPNSgW.mjs} +2 -2
- package/dist/chunks/{Container-DFItu8wc.mjs.map → Container-BhsPNSgW.mjs.map} +1 -1
- package/dist/chunks/{_commonjsHelpers-IQl0ZsnK.mjs → _commonjsHelpers-BtOreX-b.mjs} +1 -1
- package/dist/chunks/_commonjsHelpers-BtOreX-b.mjs.map +1 -0
- package/dist/chunks/{accordion-CM7_PSEq.mjs → accordion-FKwRvn_a.mjs} +12 -12
- package/dist/chunks/{accordion-CM7_PSEq.mjs.map → accordion-FKwRvn_a.mjs.map} +1 -1
- package/dist/chunks/{badge-RZLQMJWn.mjs → badge-DzVxlllF.mjs} +2 -2
- package/dist/chunks/{badge-RZLQMJWn.mjs.map → badge-DzVxlllF.mjs.map} +1 -1
- package/dist/chunks/{bundle-mjs-BkZXOJMC.mjs → bundle-mjs-D0K4-KX0.mjs} +1 -1
- package/dist/chunks/{bundle-mjs-BkZXOJMC.mjs.map → bundle-mjs-D0K4-KX0.mjs.map} +1 -1
- package/dist/chunks/{button-MTqj7m8r.mjs → button-Dl5Rb0Lw.mjs} +2 -2
- package/dist/chunks/{button-MTqj7m8r.mjs.map → button-Dl5Rb0Lw.mjs.map} +1 -1
- package/dist/chunks/{calendar-Bid4PjbX.mjs → calendar-Bm63Ye8h.mjs} +6 -6
- package/dist/chunks/{calendar-Bid4PjbX.mjs.map → calendar-Bm63Ye8h.mjs.map} +1 -1
- package/dist/chunks/{check-C25RVNBP.mjs → check-DUJ-JZcd.mjs} +2 -2
- package/dist/chunks/{check-C25RVNBP.mjs.map → check-DUJ-JZcd.mjs.map} +1 -1
- package/dist/chunks/{chevron-down-BEXDBSKm.mjs → chevron-down-BqSTmXx1.mjs} +2 -2
- package/dist/chunks/{chevron-down-BEXDBSKm.mjs.map → chevron-down-BqSTmXx1.mjs.map} +1 -1
- package/dist/chunks/{chevron-left-d2bBj6yX.mjs → chevron-left-uebK-G_V.mjs} +2 -2
- package/dist/chunks/{chevron-left-d2bBj6yX.mjs.map → chevron-left-uebK-G_V.mjs.map} +1 -1
- package/dist/chunks/{chevron-right-CpVnhh76.mjs → chevron-right-CDfPd3x1.mjs} +2 -2
- package/dist/chunks/{chevron-right-CpVnhh76.mjs.map → chevron-right-CDfPd3x1.mjs.map} +1 -1
- package/dist/chunks/{chevrons-up-down-DwpBecBF.mjs → chevrons-up-down-CZrJvV6J.mjs} +2 -2
- package/dist/chunks/{chevrons-up-down-DwpBecBF.mjs.map → chevrons-up-down-CZrJvV6J.mjs.map} +1 -1
- package/dist/chunks/{circle-Bf3pZ7Ac.mjs → circle-DrW7EQQK.mjs} +2 -2
- package/dist/chunks/{circle-Bf3pZ7Ac.mjs.map → circle-DrW7EQQK.mjs.map} +1 -1
- package/dist/chunks/{command-C1dRdITk.mjs → command-Bi2ooC_p.mjs} +8 -8
- package/dist/chunks/{command-C1dRdITk.mjs.map → command-Bi2ooC_p.mjs.map} +1 -1
- package/dist/chunks/{createLucideIcon-Bip32ChC.mjs → createLucideIcon-BpSWR54C.mjs} +1 -1
- package/dist/chunks/{createLucideIcon-Bip32ChC.mjs.map → createLucideIcon-BpSWR54C.mjs.map} +1 -1
- package/dist/chunks/{dialog-DZiHeHUy.mjs → dialog-D5Qeya8Q.mjs} +4 -4
- package/dist/chunks/{dialog-DZiHeHUy.mjs.map → dialog-D5Qeya8Q.mjs.map} +1 -1
- package/dist/chunks/{hover-card-C95yXDlh.mjs → hover-card-BcF-suhz.mjs} +10 -10
- package/dist/chunks/{hover-card-C95yXDlh.mjs.map → hover-card-BcF-suhz.mjs.map} +1 -1
- package/dist/chunks/{index-B8tiK3zJ.mjs → index-97PG0Cbo.mjs} +2 -2
- package/dist/chunks/{index-B8tiK3zJ.mjs.map → index-97PG0Cbo.mjs.map} +1 -1
- package/dist/chunks/{index-BaQCpv_N.mjs → index-B6ENJ__H.mjs} +2 -2
- package/dist/chunks/{index-BaQCpv_N.mjs.map → index-B6ENJ__H.mjs.map} +1 -1
- package/dist/chunks/{index-sfZRT6q3.mjs → index-BGOKemCE.mjs} +1 -1
- package/dist/chunks/{index-sfZRT6q3.mjs.map → index-BGOKemCE.mjs.map} +1 -1
- package/dist/chunks/{index-C74wXIIB.mjs → index-BIFoUOn6.mjs} +1 -1
- package/dist/chunks/{index-C74wXIIB.mjs.map → index-BIFoUOn6.mjs.map} +1 -1
- package/dist/chunks/{index-DOUd2pQE.mjs → index-BS9lVFMQ.mjs} +9 -9
- package/dist/chunks/{index-DOUd2pQE.mjs.map → index-BS9lVFMQ.mjs.map} +1 -1
- package/dist/chunks/{index-CSubRD-W.mjs → index-BUNkNBhK.mjs} +1 -1
- package/dist/chunks/{index-CSubRD-W.mjs.map → index-BUNkNBhK.mjs.map} +1 -1
- package/dist/chunks/{index-Chj6QWnX.mjs → index-BeuJnwFO.mjs} +1 -1
- package/dist/chunks/{index-Chj6QWnX.mjs.map → index-BeuJnwFO.mjs.map} +1 -1
- package/dist/chunks/{index-QAHCpRNw.mjs → index-CUAv4Jz5.mjs} +3 -3
- package/dist/chunks/{index-QAHCpRNw.mjs.map → index-CUAv4Jz5.mjs.map} +1 -1
- package/dist/chunks/{index-c7BHRPFb.mjs → index-CcZrbIv1.mjs} +2 -2
- package/dist/chunks/{index-c7BHRPFb.mjs.map → index-CcZrbIv1.mjs.map} +1 -1
- package/dist/chunks/{index-DyGJSaZO.mjs → index-Ceqe84R2.mjs} +13 -13
- package/dist/chunks/{index-DyGJSaZO.mjs.map → index-Ceqe84R2.mjs.map} +1 -1
- package/dist/chunks/{index-DQwrCpsn.mjs → index-CoKfhuoL.mjs} +2 -2
- package/dist/chunks/{index-DQwrCpsn.mjs.map → index-CoKfhuoL.mjs.map} +1 -1
- package/dist/chunks/{index-CgAZjSfA.mjs → index-DTx49HIA.mjs} +1 -1
- package/dist/chunks/{index-CgAZjSfA.mjs.map → index-DTx49HIA.mjs.map} +1 -1
- package/dist/chunks/{index-f1PdfTBK.mjs → index-DqJmde4u.mjs} +1 -1
- package/dist/chunks/{index-f1PdfTBK.mjs.map → index-DqJmde4u.mjs.map} +1 -1
- package/dist/chunks/{index-DxphvCvz.mjs → index-DqztxHyR.mjs} +5 -5
- package/dist/chunks/{index-DxphvCvz.mjs.map → index-DqztxHyR.mjs.map} +1 -1
- package/dist/chunks/{index-D3BFA2TP.mjs → index-JMjRxu7T.mjs} +7 -7
- package/dist/chunks/{index-D3BFA2TP.mjs.map → index-JMjRxu7T.mjs.map} +1 -1
- package/dist/chunks/{index-BcZFsnCI.mjs → index-RGwKnoP4.mjs} +10 -10
- package/dist/chunks/{index-BcZFsnCI.mjs.map → index-RGwKnoP4.mjs.map} +1 -1
- package/dist/chunks/{index-BXtsLVFu.mjs → index-VorkVCIe.mjs} +1 -1
- package/dist/chunks/{index-BXtsLVFu.mjs.map → index-VorkVCIe.mjs.map} +1 -1
- package/dist/chunks/{index-DXukcEhu.mjs → index-_Gdtaz3a.mjs} +1 -1
- package/dist/chunks/{index-DXukcEhu.mjs.map → index-_Gdtaz3a.mjs.map} +1 -1
- package/dist/chunks/{index-BlRNXe2-.mjs → index-igZ4A5I3.mjs} +1 -1
- package/dist/chunks/{index-BlRNXe2-.mjs.map → index-igZ4A5I3.mjs.map} +1 -1
- package/dist/chunks/{index-DISugVlG.mjs → index-mHmRta-i.mjs} +6 -6
- package/dist/chunks/{index-DISugVlG.mjs.map → index-mHmRta-i.mjs.map} +1 -1
- package/dist/chunks/{input-DG00am-W.mjs → input-BP_3o6gL.mjs} +2 -2
- package/dist/chunks/{input-DG00am-W.mjs.map → input-BP_3o6gL.mjs.map} +1 -1
- package/dist/chunks/{label-DDIPUljp.mjs → label-CXPyCRGF.mjs} +3 -3
- package/dist/chunks/{label-DDIPUljp.mjs.map → label-CXPyCRGF.mjs.map} +1 -1
- package/dist/chunks/{pagination-Kb6X7THL.mjs → pagination-DJQCnH25.mjs} +6 -6
- package/dist/chunks/{pagination-Kb6X7THL.mjs.map → pagination-DJQCnH25.mjs.map} +1 -1
- package/dist/chunks/{popover-BVyZ9Ldq.mjs → popover-DfjABHN9.mjs} +12 -12
- package/dist/chunks/{popover-BVyZ9Ldq.mjs.map → popover-DfjABHN9.mjs.map} +1 -1
- package/dist/chunks/{progress-D-jhf0AM.mjs → progress-CukWMmcJ.mjs} +4 -4
- package/dist/chunks/{progress-D-jhf0AM.mjs.map → progress-CukWMmcJ.mjs.map} +1 -1
- package/dist/chunks/{scroll-area-p24yQc1h.mjs → scroll-area-DQvv5Upb.mjs} +10 -10
- package/dist/chunks/{scroll-area-p24yQc1h.mjs.map → scroll-area-DQvv5Upb.mjs.map} +1 -1
- package/dist/chunks/{select-CCiwqZPn.mjs → select-BQO8S7P_.mjs} +5 -5
- package/dist/chunks/{select-CCiwqZPn.mjs.map → select-BQO8S7P_.mjs.map} +1 -1
- package/dist/chunks/{separator-JE15lmQV.mjs → separator-C9XvcQ1o.mjs} +3 -3
- package/dist/chunks/{separator-JE15lmQV.mjs.map → separator-C9XvcQ1o.mjs.map} +1 -1
- package/dist/chunks/{skeleton-Dbi_dW42.mjs → skeleton-JCGBkZ7Q.mjs} +2 -2
- package/dist/chunks/{skeleton-Dbi_dW42.mjs.map → skeleton-JCGBkZ7Q.mjs.map} +1 -1
- package/dist/chunks/{sortable-05Gk6S1e.mjs → sortable-BXL7WDzb.mjs} +3 -3
- package/dist/chunks/{sortable-05Gk6S1e.mjs.map → sortable-BXL7WDzb.mjs.map} +1 -1
- package/dist/chunks/{table-CCweRE0E.mjs → table-DxFe69fn.mjs} +2 -2
- package/dist/chunks/{table-CCweRE0E.mjs.map → table-DxFe69fn.mjs.map} +1 -1
- package/dist/chunks/{toggle-ChHZWCgW.mjs → toggle-cggaE8Fs.mjs} +5 -5
- package/dist/chunks/{toggle-ChHZWCgW.mjs.map → toggle-cggaE8Fs.mjs.map} +1 -1
- package/dist/chunks/{tooltip-BwTp6ztg.mjs → tooltip-D4qtFpaU.mjs} +12 -12
- package/dist/chunks/{tooltip-BwTp6ztg.mjs.map → tooltip-D4qtFpaU.mjs.map} +1 -1
- package/dist/chunks/trash-2-DQ16GRLq.mjs +49 -0
- package/dist/chunks/trash-2-DQ16GRLq.mjs.map +1 -0
- package/dist/chunks/{tslib.es6-22QBpw4W.mjs → tslib.es6-DSEJL8OK.mjs} +1 -1
- package/dist/chunks/{tslib.es6-22QBpw4W.mjs.map → tslib.es6-DSEJL8OK.mjs.map} +1 -1
- package/dist/chunks/{utils-CFolTJhN.mjs → utils-kUwZG7YS.mjs} +2 -2
- package/dist/chunks/{utils-CFolTJhN.mjs.map → utils-kUwZG7YS.mjs.map} +1 -1
- package/dist/chunks/{x-DrppD-_x.mjs → x-BEVqxDqw.mjs} +2 -2
- package/dist/chunks/{x-DrppD-_x.mjs.map → x-BEVqxDqw.mjs.map} +1 -1
- package/dist/combobox/index.mjs +25 -25
- package/dist/command/index.mjs +19 -19
- package/dist/data-table/index.d.ts +2 -1
- package/dist/data-table/index.mjs +36 -35
- package/dist/data-table/index.mjs.map +1 -1
- package/dist/dialog/index.mjs +18 -18
- package/dist/dropdown-menu/index.mjs +32 -32
- package/dist/dropdown-menu/index.mjs.map +1 -1
- package/dist/dropzone/index.mjs +17 -17
- package/dist/form/index.mjs +4 -4
- package/dist/hover-card/index.mjs +14 -14
- package/dist/icon/index.mjs +1 -1
- package/dist/index.css +1 -1
- package/dist/input/index.mjs +3 -3
- package/dist/ivt.css +1 -1
- package/dist/label/index.mjs +4 -4
- package/dist/layout/index.mjs +6 -6
- package/dist/layout/index.mjs.map +1 -1
- package/dist/menubar/index.mjs +34 -34
- package/dist/menubar/index.mjs.map +1 -1
- package/dist/multi-select/index.mjs +29 -29
- package/dist/pagination/index.mjs +7 -7
- package/dist/popover/index.mjs +17 -17
- package/dist/progress/index.mjs +5 -5
- package/dist/radio-group/index.mjs +17 -17
- package/dist/scroll-area/index.mjs +11 -11
- package/dist/select/index.mjs +6 -6
- package/dist/separator/index.mjs +4 -4
- package/dist/shared/index.d.ts +10 -0
- package/dist/shared/index.mjs +58 -0
- package/dist/shared/index.mjs.map +1 -0
- package/dist/sheet/index.mjs +24 -24
- package/dist/sheet/index.mjs.map +1 -1
- package/dist/skeleton/index.mjs +3 -3
- package/dist/skeleton-component/index.mjs +4 -4
- package/dist/sortable/index.mjs +4 -4
- package/dist/table/index.mjs +3 -3
- package/dist/tabs/index.mjs +13 -13
- package/dist/textarea/index.mjs +2 -2
- package/dist/toast/index.mjs +14 -14
- package/dist/toggle/index.mjs +7 -7
- package/dist/toggle-group/index.mjs +13 -13
- package/dist/tooltip/index.mjs +16 -16
- package/package.json +6 -1
- package/dist/chunks/_commonjsHelpers-IQl0ZsnK.mjs.map +0 -1
package/dist/combobox/index.mjs
CHANGED
@@ -1,33 +1,33 @@
|
|
1
1
|
import * as React from 'react';
|
2
|
-
import { c as cn } from '../chunks/utils-
|
3
|
-
import { C as ChevronsUpDown } from '../chunks/chevrons-up-down-
|
4
|
-
import { C as Check } from '../chunks/check-
|
5
|
-
import { P as Popover, a as PopoverTrigger, b as PopoverContent } from '../chunks/popover-
|
6
|
-
import { B as Button } from '../chunks/button-
|
7
|
-
import { C as Command, b as CommandInput, c as CommandList, d as CommandEmpty, e as CommandGroup, f as CommandItem } from '../chunks/command-
|
8
|
-
import '../chunks/bundle-mjs-
|
9
|
-
import '../chunks/createLucideIcon-
|
10
|
-
import '../chunks/index-
|
11
|
-
import '../chunks/index-
|
12
|
-
import '../chunks/index-
|
2
|
+
import { c as cn } from '../chunks/utils-kUwZG7YS.mjs';
|
3
|
+
import { C as ChevronsUpDown } from '../chunks/chevrons-up-down-CZrJvV6J.mjs';
|
4
|
+
import { C as Check } from '../chunks/check-DUJ-JZcd.mjs';
|
5
|
+
import { P as Popover, a as PopoverTrigger, b as PopoverContent } from '../chunks/popover-DfjABHN9.mjs';
|
6
|
+
import { B as Button } from '../chunks/button-Dl5Rb0Lw.mjs';
|
7
|
+
import { C as Command, b as CommandInput, c as CommandList, d as CommandEmpty, e as CommandGroup, f as CommandItem } from '../chunks/command-Bi2ooC_p.mjs';
|
8
|
+
import '../chunks/bundle-mjs-D0K4-KX0.mjs';
|
9
|
+
import '../chunks/createLucideIcon-BpSWR54C.mjs';
|
10
|
+
import '../chunks/index-_Gdtaz3a.mjs';
|
11
|
+
import '../chunks/index-BIFoUOn6.mjs';
|
12
|
+
import '../chunks/index-igZ4A5I3.mjs';
|
13
13
|
import 'react/jsx-runtime';
|
14
|
-
import '../chunks/index-
|
15
|
-
import '../chunks/index-
|
14
|
+
import '../chunks/index-mHmRta-i.mjs';
|
15
|
+
import '../chunks/index-VorkVCIe.mjs';
|
16
16
|
import 'react-dom';
|
17
17
|
import '@radix-ui/react-slot';
|
18
|
-
import '../chunks/index-
|
19
|
-
import '../chunks/index-
|
20
|
-
import '../chunks/index-
|
21
|
-
import '../chunks/tslib.es6-
|
22
|
-
import '../chunks/index-
|
23
|
-
import '../chunks/index-
|
24
|
-
import '../chunks/index-
|
25
|
-
import '../chunks/index-
|
26
|
-
import '../chunks/index-
|
18
|
+
import '../chunks/index-DTx49HIA.mjs';
|
19
|
+
import '../chunks/index-BGOKemCE.mjs';
|
20
|
+
import '../chunks/index-DqztxHyR.mjs';
|
21
|
+
import '../chunks/tslib.es6-DSEJL8OK.mjs';
|
22
|
+
import '../chunks/index-97PG0Cbo.mjs';
|
23
|
+
import '../chunks/index-JMjRxu7T.mjs';
|
24
|
+
import '../chunks/index-CcZrbIv1.mjs';
|
25
|
+
import '../chunks/index-CUAv4Jz5.mjs';
|
26
|
+
import '../chunks/index-CoKfhuoL.mjs';
|
27
27
|
import 'class-variance-authority';
|
28
|
-
import '../chunks/index-
|
29
|
-
import '../chunks/dialog-
|
30
|
-
import '../chunks/x-
|
28
|
+
import '../chunks/index-RGwKnoP4.mjs';
|
29
|
+
import '../chunks/dialog-D5Qeya8Q.mjs';
|
30
|
+
import '../chunks/x-BEVqxDqw.mjs';
|
31
31
|
|
32
32
|
function Combobox({ items, value, onValueChange, placeholder = "Select item...", searchPlaceholder = "Search item...", emptyMessage = "No item found.", widthClassName = "w-fit", className, groupHeading }) {
|
33
33
|
const [open, setOpen] = React.useState(false);
|
package/dist/command/index.mjs
CHANGED
@@ -1,24 +1,24 @@
|
|
1
|
-
export { C as Command, a as CommandDialog, d as CommandEmpty, e as CommandGroup, b as CommandInput, f as CommandItem, c as CommandList, h as CommandSeparator, g as CommandShortcut } from '../chunks/command-
|
2
|
-
import '../chunks/utils-
|
3
|
-
import '../chunks/bundle-mjs-
|
4
|
-
import '../chunks/index-
|
1
|
+
export { C as Command, a as CommandDialog, d as CommandEmpty, e as CommandGroup, b as CommandInput, f as CommandItem, c as CommandList, h as CommandSeparator, g as CommandShortcut } from '../chunks/command-Bi2ooC_p.mjs';
|
2
|
+
import '../chunks/utils-kUwZG7YS.mjs';
|
3
|
+
import '../chunks/bundle-mjs-D0K4-KX0.mjs';
|
4
|
+
import '../chunks/index-RGwKnoP4.mjs';
|
5
5
|
import 'react';
|
6
|
-
import '../chunks/index-
|
7
|
-
import '../chunks/index-
|
8
|
-
import '../chunks/index-
|
6
|
+
import '../chunks/index-_Gdtaz3a.mjs';
|
7
|
+
import '../chunks/index-BIFoUOn6.mjs';
|
8
|
+
import '../chunks/index-igZ4A5I3.mjs';
|
9
9
|
import 'react/jsx-runtime';
|
10
|
-
import '../chunks/index-
|
11
|
-
import '../chunks/index-
|
12
|
-
import '../chunks/index-
|
13
|
-
import '../chunks/index-
|
14
|
-
import '../chunks/index-
|
10
|
+
import '../chunks/index-97PG0Cbo.mjs';
|
11
|
+
import '../chunks/index-BGOKemCE.mjs';
|
12
|
+
import '../chunks/index-CoKfhuoL.mjs';
|
13
|
+
import '../chunks/index-mHmRta-i.mjs';
|
14
|
+
import '../chunks/index-VorkVCIe.mjs';
|
15
15
|
import 'react-dom';
|
16
16
|
import '@radix-ui/react-slot';
|
17
|
-
import '../chunks/index-
|
18
|
-
import '../chunks/index-
|
19
|
-
import '../chunks/tslib.es6-
|
20
|
-
import '../chunks/index-
|
21
|
-
import '../chunks/dialog-
|
22
|
-
import '../chunks/x-
|
23
|
-
import '../chunks/createLucideIcon-
|
17
|
+
import '../chunks/index-DTx49HIA.mjs';
|
18
|
+
import '../chunks/index-DqztxHyR.mjs';
|
19
|
+
import '../chunks/tslib.es6-DSEJL8OK.mjs';
|
20
|
+
import '../chunks/index-CUAv4Jz5.mjs';
|
21
|
+
import '../chunks/dialog-D5Qeya8Q.mjs';
|
22
|
+
import '../chunks/x-BEVqxDqw.mjs';
|
23
|
+
import '../chunks/createLucideIcon-BpSWR54C.mjs';
|
24
24
|
//# sourceMappingURL=index.mjs.map
|
@@ -5,8 +5,9 @@ import React__default from 'react';
|
|
5
5
|
interface DataTableViewOptionsProps$2<TData> {
|
6
6
|
table: Table<TData>;
|
7
7
|
transformColumnName?: (id: string) => string;
|
8
|
+
disabled?: boolean;
|
8
9
|
}
|
9
|
-
declare function DataTableViewOptions<TData>({ table, transformColumnName, }: DataTableViewOptionsProps$2<TData>): react_jsx_runtime.JSX.Element;
|
10
|
+
declare function DataTableViewOptions<TData>({ table, transformColumnName, disabled, }: DataTableViewOptionsProps$2<TData>): react_jsx_runtime.JSX.Element;
|
10
11
|
|
11
12
|
interface DataTableSearchProps<TData> {
|
12
13
|
table: Table<TData>;
|
@@ -1,42 +1,42 @@
|
|
1
1
|
import * as React$1 from 'react';
|
2
2
|
import React__default, { forwardRef, createElement } from 'react';
|
3
|
-
import { c as cn } from '../chunks/utils-
|
4
|
-
import { C as ChevronDown } from '../chunks/chevron-down-
|
5
|
-
import { C as Check } from '../chunks/check-
|
6
|
-
import { P as Popover, a as PopoverTrigger, b as PopoverContent } from '../chunks/popover-
|
7
|
-
import { B as Button } from '../chunks/button-
|
8
|
-
import { C as Command, b as CommandInput, c as CommandList, d as CommandEmpty, e as CommandGroup, f as CommandItem, S as Search } from '../chunks/command-
|
9
|
-
import { I as Input } from '../chunks/input-
|
10
|
-
import { S as Select, h as SelectTrigger, i as SelectValue, a as SelectContent, c as SelectItem } from '../chunks/select-
|
11
|
-
import { C as ChevronLeft } from '../chunks/chevron-left-
|
12
|
-
import { C as ChevronRight } from '../chunks/chevron-right-
|
13
|
-
import { c as PaginationItem, f as PaginationEllipsis } from '../chunks/pagination-
|
14
|
-
import { S as Skeleton } from '../chunks/skeleton-
|
15
|
-
import { e as TableRow, f as TableCell, T as Table, a as TableHeader, d as TableHead, b as TableBody } from '../chunks/table-
|
16
|
-
import { c as createLucideIcon } from '../chunks/createLucideIcon-
|
17
|
-
import { S as Sortable, b as SortableItem } from '../chunks/sortable-
|
18
|
-
import '../chunks/bundle-mjs-
|
19
|
-
import '../chunks/index-
|
20
|
-
import '../chunks/index-
|
21
|
-
import '../chunks/index-
|
3
|
+
import { c as cn } from '../chunks/utils-kUwZG7YS.mjs';
|
4
|
+
import { C as ChevronDown } from '../chunks/chevron-down-BqSTmXx1.mjs';
|
5
|
+
import { C as Check } from '../chunks/check-DUJ-JZcd.mjs';
|
6
|
+
import { P as Popover, a as PopoverTrigger, b as PopoverContent } from '../chunks/popover-DfjABHN9.mjs';
|
7
|
+
import { B as Button } from '../chunks/button-Dl5Rb0Lw.mjs';
|
8
|
+
import { C as Command, b as CommandInput, c as CommandList, d as CommandEmpty, e as CommandGroup, f as CommandItem, S as Search } from '../chunks/command-Bi2ooC_p.mjs';
|
9
|
+
import { I as Input } from '../chunks/input-BP_3o6gL.mjs';
|
10
|
+
import { S as Select, h as SelectTrigger, i as SelectValue, a as SelectContent, c as SelectItem } from '../chunks/select-BQO8S7P_.mjs';
|
11
|
+
import { C as ChevronLeft } from '../chunks/chevron-left-uebK-G_V.mjs';
|
12
|
+
import { C as ChevronRight } from '../chunks/chevron-right-CDfPd3x1.mjs';
|
13
|
+
import { c as PaginationItem, f as PaginationEllipsis } from '../chunks/pagination-DJQCnH25.mjs';
|
14
|
+
import { S as Skeleton } from '../chunks/skeleton-JCGBkZ7Q.mjs';
|
15
|
+
import { e as TableRow, f as TableCell, T as Table, a as TableHeader, d as TableHead, b as TableBody } from '../chunks/table-DxFe69fn.mjs';
|
16
|
+
import { c as createLucideIcon } from '../chunks/createLucideIcon-BpSWR54C.mjs';
|
17
|
+
import { S as Sortable, b as SortableItem } from '../chunks/sortable-BXL7WDzb.mjs';
|
18
|
+
import '../chunks/bundle-mjs-D0K4-KX0.mjs';
|
19
|
+
import '../chunks/index-_Gdtaz3a.mjs';
|
20
|
+
import '../chunks/index-BIFoUOn6.mjs';
|
21
|
+
import '../chunks/index-igZ4A5I3.mjs';
|
22
22
|
import 'react/jsx-runtime';
|
23
|
-
import '../chunks/index-
|
24
|
-
import '../chunks/index-
|
23
|
+
import '../chunks/index-mHmRta-i.mjs';
|
24
|
+
import '../chunks/index-VorkVCIe.mjs';
|
25
25
|
import 'react-dom';
|
26
26
|
import '@radix-ui/react-slot';
|
27
|
-
import '../chunks/index-
|
28
|
-
import '../chunks/index-
|
29
|
-
import '../chunks/index-
|
30
|
-
import '../chunks/tslib.es6-
|
31
|
-
import '../chunks/index-
|
32
|
-
import '../chunks/index-
|
33
|
-
import '../chunks/index-
|
34
|
-
import '../chunks/index-
|
35
|
-
import '../chunks/index-
|
27
|
+
import '../chunks/index-DTx49HIA.mjs';
|
28
|
+
import '../chunks/index-BGOKemCE.mjs';
|
29
|
+
import '../chunks/index-DqztxHyR.mjs';
|
30
|
+
import '../chunks/tslib.es6-DSEJL8OK.mjs';
|
31
|
+
import '../chunks/index-97PG0Cbo.mjs';
|
32
|
+
import '../chunks/index-JMjRxu7T.mjs';
|
33
|
+
import '../chunks/index-CcZrbIv1.mjs';
|
34
|
+
import '../chunks/index-CUAv4Jz5.mjs';
|
35
|
+
import '../chunks/index-CoKfhuoL.mjs';
|
36
36
|
import 'class-variance-authority';
|
37
|
-
import '../chunks/index-
|
38
|
-
import '../chunks/dialog-
|
39
|
-
import '../chunks/x-
|
37
|
+
import '../chunks/index-RGwKnoP4.mjs';
|
38
|
+
import '../chunks/dialog-D5Qeya8Q.mjs';
|
39
|
+
import '../chunks/x-BEVqxDqw.mjs';
|
40
40
|
import '@radix-ui/react-select';
|
41
41
|
|
42
42
|
const __iconNode$1 = [
|
@@ -75,7 +75,7 @@ const __iconNode = [
|
|
75
75
|
];
|
76
76
|
const ArrowUp = createLucideIcon("ArrowUp", __iconNode);
|
77
77
|
|
78
|
-
function DataTableViewOptions({ table, transformColumnName }) {
|
78
|
+
function DataTableViewOptions({ table, transformColumnName, disabled }) {
|
79
79
|
const triggerRef = React$1.useRef(null);
|
80
80
|
return /*#__PURE__*/ React$1.createElement(Popover, {
|
81
81
|
modal: true
|
@@ -85,7 +85,8 @@ function DataTableViewOptions({ table, transformColumnName }) {
|
|
85
85
|
ref: triggerRef,
|
86
86
|
"aria-label": "Toggle columns",
|
87
87
|
variant: "outline",
|
88
|
-
className: "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"
|
88
|
+
className: "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",
|
89
|
+
disabled: disabled
|
89
90
|
}, "Colunas", /*#__PURE__*/ React$1.createElement(ChevronDown, {
|
90
91
|
className: "h-4 w-4"
|
91
92
|
}))), /*#__PURE__*/ React$1.createElement(PopoverContent, {
|
@@ -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","../../src/components/default/data-table/DataTableViewOptions.tsx","../../src/components/default/data-table/DataTableSearch.tsx","../../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/components/default/data-table/DataTableSkeleton.tsx","../../src/components/default/data-table/DataTableStatus.tsx","../../src/components/default/data-table/DataTableMainFrameSortable.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","import 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}\n\nexport function DataTableViewOptions<TData>({\n\ttable,\n\ttransformColumnName,\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>\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","import { Input } from \"@/components/ui/input\";\nimport type { Table } from \"@tanstack/react-table\";\nimport { SearchIcon } from \"lucide-react\";\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","/**\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","import type { Table } from \"@tanstack/react-table\";\n\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\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\";\nimport React from \"react\";\ninterface DataTablePaginationProps<TData> {\n\ttable: Table<TData>;\n\tpageSizeOptions?: number[];\n\tdataLabel?: string;\n}\n\nexport function DataTablePagination<TData>({\n\ttable,\n\tpageSizeOptions = [20, 30, 50, 100, 200],\n\tdataLabel = \"Fundos\",\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\treturn (\n\t\t<div className=\"mt-4 flex flex-wrap items-center justify-between gap-2\">\n\t\t\t<div className=\"text-muted-foreground flex gap-1 text-sm\">\n\t\t\t\t<p className=\"ml-2\">\n\t\t\t\t\tMostrando {table.getRowModel().rows.length.toLocaleString()} de {rowCount} {dataLabel}.\n\t\t\t\t</p>\n\t\t\t</div>\n\n\t\t\t<div className=\"flex flex-wrap items-center justify-between gap-2 gap-y-4\">\n\t\t\t\t<Select\n\t\t\t\t\tvalue={String(table.getState().pagination.pageSize) || String(pageSize)}\n\t\t\t\t\tonValueChange={(value) => table.setPageSize(Number(value))}\n\t\t\t\t>\n\t\t\t\t\t<SelectTrigger className=\"w-fit\">\n\t\t\t\t\t\t<SelectValue\n\t\t\t\t\t\t\tplaceholder={`Mostrar ${table.getState().pagination.pageSize || pageSize}`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t{rowCount && (rowCount === 0 || rowCount < pageSize) ? (\n\t\t\t\t\t\t\t<SelectItem value={String(pageSize)}>Mostrar {pageSize}</SelectItem>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{pageSizeOptions.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)}\n\t\t\t\t\t</SelectContent>\n\t\t\t\t</Select>\n\n\t\t\t\t<div className=\"flex flex-wrap gap-2 gap-y-4\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tonClick={() => table.previousPage()}\n\t\t\t\t\t\tdisabled={!table.getCanPreviousPage()}\n\t\t\t\t\t\taria-label=\"Ir para página anterior\"\n\t\t\t\t\t\tclassName=\"gap-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChevronLeftIcon className=\"size-4\" />\n\t\t\t\t\t\tAnterior\n\t\t\t\t\t</Button>\n\n\t\t\t\t\t<div className=\"flex gap-2\">{renderPageNumbers()}</div>\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tonClick={() => table.nextPage()}\n\t\t\t\t\t\tdisabled={!table.getCanNextPage()}\n\t\t\t\t\t\taria-label=\"Ir para próxima página\"\n\t\t\t\t\t\tclassName=\"gap-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\tPróximo\n\t\t\t\t\t\t<ChevronRightIcon className=\"size-4\" />\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","import { Skeleton } from \"@/components/ui/skeleton\";\nimport { cn } from \"@/lib/utils\";\nimport React from \"react\";\n\nexport const DataTablePaginationSkeleton: React.FC = ({\n\tclassName,\n}: {\n\tclassName?: string;\n}) => {\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 { Skeleton } from \"@/components/ui/skeleton\";\nimport { TableCell, TableRow } from \"@/components/ui/table\";\nimport React from \"react\";\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","import {\n\tTable,\n\tTableBody,\n\tTableCell,\n\tTableHead,\n\tTableHeader,\n\tTableRow,\n} from \"@/components/ui/table\";\nimport { cn } from \"@/lib/utils\";\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 { 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}\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}: 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-[30rem] text-wrap break-words\">{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\treturn table.getRowModel().rows.map((row: Row<TData>, index) => {\n\t\t\tconst rowKey = row.id ?? String(index);\n\n\t\t\treturn (\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=\"even:bg-body/50\"\n\t\t\t\t>\n\t\t\t\t\t{/* biome-ignore lint/suspicious/noExplicitAny: <explanation> */}\n\t\t\t\t\t{row.getVisibleCells().map((cell: any) => (\n\t\t\t\t\t\t<TableCell\n\t\t\t\t\t\t\tkey={cell.id}\n\t\t\t\t\t\t\tclassName={cn(\"p-2 py-1\", dividingColumnKey?.includes(cell.column.id) && \"border-r\")}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{flexRender(cell.column.columnDef.cell, cell.getContext())}\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\tconst shouldForceMinHeight = table.getRowModel().rows.length > 1 || isLoadingTable;\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"bg-background mx-1 h-full w-full rounded-md border whitespace-nowrap\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"relative w-full overflow-auto\",\n\t\t\t\t\t\tshouldForceMinHeight && \"force-min-height\",\n\t\t\t\t\t\tisScrollable && scrollMaxHeightClass && scrollMaxHeightClass,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<Table>\n\t\t\t\t\t\t<TableHeader\n\t\t\t\t\t\t\tclassName={cn(\n\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)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{table.getHeaderGroups().map((headerGroup) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<TableRow key={headerGroup.id}>\n\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\tconst {\n\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} = header;\n\n\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\treturn (\n\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\tclassName={cn(\n\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\"static\",\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\tkey={header.id}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{header.isPlaceholder ? null : (\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\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:\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\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)}\n\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);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</TableRow>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</TableHeader>\n\n\t\t\t\t\t\t<TableBody>{renderTableBodyContent()}</TableBody>\n\t\t\t\t\t</Table>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{isScrollable || !showPagination ? 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/>\n\t\t\t)}\n\t\t</>\n\t);\n};\n","import { 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\";\nimport React from \"react\";\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","import { 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\";\nimport type { Table } from \"@tanstack/react-table\";\nimport { ChevronDownIcon } from \"lucide-react\";\nimport React from \"react\";\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","import { 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 { 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 { 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}\n\ntype RowData = {\n\t// biome-ignore lint/suspicious/noExplicitAny: <explanation>\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}: 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\t\tonDataChange?.(updatedData);\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-[30rem] text-wrap break-words\">{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\treturn table.getRowModel().rows.map((row: Row<TData>) => {\n\t\t\tconst rowData = row.original;\n\t\t\tconst key = getRowKey(rowData, rowKey);\n\n\t\t\treturn (\n\t\t\t\t<SortableItem key={row.id} value={key} asChild>\n\t\t\t\t\t<TableRow data-state={row.getIsSelected() && \"selected\"} className=\"even:bg-body/50\">\n\t\t\t\t\t\t{/* biome-ignore lint/suspicious/noExplicitAny: <explanation> */}\n\t\t\t\t\t\t{row.getVisibleCells().map((cell: any) => (\n\t\t\t\t\t\t\t<TableCell\n\t\t\t\t\t\t\t\tkey={cell.id}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"p-2 py-1\",\n\t\t\t\t\t\t\t\t\tdividingColumnKey?.includes(cell.column.id) && \"border-r\",\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{flexRender(cell.column.columnDef.cell, cell.getContext())}\n\t\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</TableRow>\n\t\t\t\t</SortableItem>\n\t\t\t);\n\t\t});\n\t};\n\n\tconst shouldForceMinHeight = table.getRowModel().rows.length > 1 || isLoadingTable;\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"bg-background mx-1 h-full w-full rounded-md border whitespace-nowrap\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"relative w-full overflow-auto\",\n\t\t\t\t\t\tshouldForceMinHeight && \"force-min-height\",\n\t\t\t\t\t\tisScrollable && scrollMaxHeightClass && scrollMaxHeightClass,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<Table>\n\t\t\t\t\t\t<TableHeader\n\t\t\t\t\t\t\tclassName={cn(\n\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)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{table.getHeaderGroups().map((headerGroup) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<TableRow key={headerGroup.id}>\n\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\tconst {\n\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} = header;\n\n\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\treturn (\n\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\tclassName={dividingColumnKey?.includes(id) ? \"border-r\" : \"\"}\n\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>\n\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<>\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:\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\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)}\n\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);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</TableRow>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</TableHeader>\n\n\t\t\t\t\t\t<TableBody>\n\t\t\t\t\t\t\t<Sortable\n\t\t\t\t\t\t\t\tvalue={newData.map((item) => ({\n\t\t\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t\t\t\tid: getRowKey(item, rowKey),\n\t\t\t\t\t\t\t\t}))}\n\t\t\t\t\t\t\t\tonValueChange={handleValueChange}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{renderTableBodyContent()}\n\t\t\t\t\t\t\t</Sortable>\n\t\t\t\t\t\t</TableBody>\n\t\t\t\t\t</Table>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{isScrollable || !showPagination ? 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/>\n\t\t\t)}\n\t\t</>\n\t);\n};\n"],"names":["__iconNode","DataTableViewOptions","table","transformColumnName","triggerRef","React","useRef","Popover","modal","PopoverTrigger","asChild","Button","ref","aria-label","variant","className","ChevronDownIcon","PopoverContent","align","onCloseAutoFocus","current","focus","Command","CommandInput","placeholder","CommandList","CommandEmpty","CommandGroup","getAllColumns","filter","column","accessorFn","getCanHide","map","CommandItem","key","id","onSelect","toggleVisibility","getIsVisible","span","Check","cn","DataTableSearch","keySearch","div","SearchIcon","Input","value","getColumn","getFilterValue","onChange","event","setFilterValue","target","flexRender","Comp","props","isReactComponent","createElement","component","isClassComponent","isExoticComponent","proto","Object","getPrototypeOf","prototype","$$typeof","includes","description","DataTablePagination","pageSizeOptions","dataLabel","pageSize","currentPage","getState","pagination","pageIndex","rowCount","getRowCount","totalPageCount","Math","ceil","renderPageNumbers","items","maxVisiblePages","i","push","onClick","setPageIndex","start","max","min","end","PaginationItem","PaginationEllipsis","p","getRowModel","rows","length","toLocaleString","Select","String","onValueChange","setPageSize","Number","SelectTrigger","SelectValue","SelectContent","SelectItem","previousPage","disabled","getCanPreviousPage","ChevronLeftIcon","nextPage","getCanNextPage","ChevronRightIcon","DataTablePaginationSkeleton","Skeleton","DataTableRowSkeleton","columnCount","cellWidths","shrinkZero","Array","from","_","TableRow","j","TableCell","style","width","minWidth","DataTableMainFrame","columns","isLoadingTable","loadingContent","setQueryParams","actionColumns","messageEmpty","dividingColumnKey","scrollMaxHeightClass","isScrollable","fixedHeader","showPagination","toString","sorting","useEffect","sortingParams","sortingBy","order","desc","prev","page","renderTableBodyContent","colSpan","row","index","rowKey","data-state","getIsSelected","getVisibleCells","cell","columnDef","getContext","shouldForceMinHeight","Table","TableHeader","getHeaderGroups","headerGroup","headers","header","isActionsColumn","TableHead","isPlaceholder","getCanSort","getToggleSortingHandler","undefined","asc","ArrowDownIcon","ArrowUpIcon","false","CaretSortIcon","getIsSorted","TableBody","DataTableSkeleton","searchableColumnCount","filterableColumnCount","showViewOptions","withPagination","skeletonProps","DataTableStatus","uniqueStatusValues","renderStatusMessage","currentFilter","item","statusMessage","getRowKey","isArray","DataTableMainFrameSortable","data","onDataChange","newData","setNewData","useState","handleValueChange","updatedData","rowData","original","SortableItem","Sortable"],"mappings":"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","x_google_ignoreList":[0,1,4]}
|
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","../../src/components/default/data-table/DataTableViewOptions.tsx","../../src/components/default/data-table/DataTableSearch.tsx","../../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/components/default/data-table/DataTableSkeleton.tsx","../../src/components/default/data-table/DataTableStatus.tsx","../../src/components/default/data-table/DataTableMainFrameSortable.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","import 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","import { Input } from \"@/components/ui/input\";\nimport type { Table } from \"@tanstack/react-table\";\nimport { SearchIcon } from \"lucide-react\";\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","/**\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","import type { Table } from \"@tanstack/react-table\";\n\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\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\";\nimport React from \"react\";\ninterface DataTablePaginationProps<TData> {\n\ttable: Table<TData>;\n\tpageSizeOptions?: number[];\n\tdataLabel?: string;\n}\n\nexport function DataTablePagination<TData>({\n\ttable,\n\tpageSizeOptions = [20, 30, 50, 100, 200],\n\tdataLabel = \"Fundos\",\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\treturn (\n\t\t<div className=\"mt-4 flex flex-wrap items-center justify-between gap-2\">\n\t\t\t<div className=\"text-muted-foreground flex gap-1 text-sm\">\n\t\t\t\t<p className=\"ml-2\">\n\t\t\t\t\tMostrando {table.getRowModel().rows.length.toLocaleString()} de {rowCount} {dataLabel}.\n\t\t\t\t</p>\n\t\t\t</div>\n\n\t\t\t<div className=\"flex flex-wrap items-center justify-between gap-2 gap-y-4\">\n\t\t\t\t<Select\n\t\t\t\t\tvalue={String(table.getState().pagination.pageSize) || String(pageSize)}\n\t\t\t\t\tonValueChange={(value) => table.setPageSize(Number(value))}\n\t\t\t\t>\n\t\t\t\t\t<SelectTrigger className=\"w-fit\">\n\t\t\t\t\t\t<SelectValue\n\t\t\t\t\t\t\tplaceholder={`Mostrar ${table.getState().pagination.pageSize || pageSize}`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t{rowCount && (rowCount === 0 || rowCount < pageSize) ? (\n\t\t\t\t\t\t\t<SelectItem value={String(pageSize)}>Mostrar {pageSize}</SelectItem>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{pageSizeOptions.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)}\n\t\t\t\t\t</SelectContent>\n\t\t\t\t</Select>\n\n\t\t\t\t<div className=\"flex flex-wrap gap-2 gap-y-4\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tonClick={() => table.previousPage()}\n\t\t\t\t\t\tdisabled={!table.getCanPreviousPage()}\n\t\t\t\t\t\taria-label=\"Ir para página anterior\"\n\t\t\t\t\t\tclassName=\"gap-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChevronLeftIcon className=\"size-4\" />\n\t\t\t\t\t\tAnterior\n\t\t\t\t\t</Button>\n\n\t\t\t\t\t<div className=\"flex gap-2\">{renderPageNumbers()}</div>\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tonClick={() => table.nextPage()}\n\t\t\t\t\t\tdisabled={!table.getCanNextPage()}\n\t\t\t\t\t\taria-label=\"Ir para próxima página\"\n\t\t\t\t\t\tclassName=\"gap-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\tPróximo\n\t\t\t\t\t\t<ChevronRightIcon className=\"size-4\" />\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","import { Skeleton } from \"@/components/ui/skeleton\";\nimport { cn } from \"@/lib/utils\";\nimport React from \"react\";\n\nexport const DataTablePaginationSkeleton: React.FC = ({\n\tclassName,\n}: {\n\tclassName?: string;\n}) => {\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 { Skeleton } from \"@/components/ui/skeleton\";\nimport { TableCell, TableRow } from \"@/components/ui/table\";\nimport React from \"react\";\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","import {\n\tTable,\n\tTableBody,\n\tTableCell,\n\tTableHead,\n\tTableHeader,\n\tTableRow,\n} from \"@/components/ui/table\";\nimport { cn } from \"@/lib/utils\";\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 { 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}\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}: 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-[30rem] text-wrap break-words\">{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\treturn table.getRowModel().rows.map((row: Row<TData>, index) => {\n\t\t\tconst rowKey = row.id ?? String(index);\n\n\t\t\treturn (\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=\"even:bg-body/50\"\n\t\t\t\t>\n\t\t\t\t\t{/* biome-ignore lint/suspicious/noExplicitAny: <explanation> */}\n\t\t\t\t\t{row.getVisibleCells().map((cell: any) => (\n\t\t\t\t\t\t<TableCell\n\t\t\t\t\t\t\tkey={cell.id}\n\t\t\t\t\t\t\tclassName={cn(\"p-2 py-1\", dividingColumnKey?.includes(cell.column.id) && \"border-r\")}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{flexRender(cell.column.columnDef.cell, cell.getContext())}\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\tconst shouldForceMinHeight = table.getRowModel().rows.length > 1 || isLoadingTable;\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"bg-background mx-1 h-full w-full rounded-md border whitespace-nowrap\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"relative w-full overflow-auto\",\n\t\t\t\t\t\tshouldForceMinHeight && \"force-min-height\",\n\t\t\t\t\t\tisScrollable && scrollMaxHeightClass && scrollMaxHeightClass,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<Table>\n\t\t\t\t\t\t<TableHeader\n\t\t\t\t\t\t\tclassName={cn(\n\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)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{table.getHeaderGroups().map((headerGroup) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<TableRow key={headerGroup.id}>\n\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\tconst {\n\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} = header;\n\n\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\treturn (\n\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\tclassName={cn(\n\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\"static\",\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\tkey={header.id}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{header.isPlaceholder ? null : (\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\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:\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\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)}\n\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);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</TableRow>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</TableHeader>\n\n\t\t\t\t\t\t<TableBody>{renderTableBodyContent()}</TableBody>\n\t\t\t\t\t</Table>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{isScrollable || !showPagination ? 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/>\n\t\t\t)}\n\t\t</>\n\t);\n};\n","import { 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\";\nimport React from \"react\";\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","import { 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\";\nimport type { Table } from \"@tanstack/react-table\";\nimport { ChevronDownIcon } from \"lucide-react\";\nimport React from \"react\";\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","import { 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 { 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 { 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}\n\ntype RowData = {\n\t// biome-ignore lint/suspicious/noExplicitAny: <explanation>\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}: 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\t\tonDataChange?.(updatedData);\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-[30rem] text-wrap break-words\">{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\treturn table.getRowModel().rows.map((row: Row<TData>) => {\n\t\t\tconst rowData = row.original;\n\t\t\tconst key = getRowKey(rowData, rowKey);\n\n\t\t\treturn (\n\t\t\t\t<SortableItem key={row.id} value={key} asChild>\n\t\t\t\t\t<TableRow data-state={row.getIsSelected() && \"selected\"} className=\"even:bg-body/50\">\n\t\t\t\t\t\t{/* biome-ignore lint/suspicious/noExplicitAny: <explanation> */}\n\t\t\t\t\t\t{row.getVisibleCells().map((cell: any) => (\n\t\t\t\t\t\t\t<TableCell\n\t\t\t\t\t\t\t\tkey={cell.id}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"p-2 py-1\",\n\t\t\t\t\t\t\t\t\tdividingColumnKey?.includes(cell.column.id) && \"border-r\",\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{flexRender(cell.column.columnDef.cell, cell.getContext())}\n\t\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</TableRow>\n\t\t\t\t</SortableItem>\n\t\t\t);\n\t\t});\n\t};\n\n\tconst shouldForceMinHeight = table.getRowModel().rows.length > 1 || isLoadingTable;\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"bg-background mx-1 h-full w-full rounded-md border whitespace-nowrap\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"relative w-full overflow-auto\",\n\t\t\t\t\t\tshouldForceMinHeight && \"force-min-height\",\n\t\t\t\t\t\tisScrollable && scrollMaxHeightClass && scrollMaxHeightClass,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<Table>\n\t\t\t\t\t\t<TableHeader\n\t\t\t\t\t\t\tclassName={cn(\n\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)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{table.getHeaderGroups().map((headerGroup) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<TableRow key={headerGroup.id}>\n\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\tconst {\n\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} = header;\n\n\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\treturn (\n\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\tclassName={dividingColumnKey?.includes(id) ? \"border-r\" : \"\"}\n\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>\n\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<>\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:\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\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)}\n\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);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</TableRow>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</TableHeader>\n\n\t\t\t\t\t\t<TableBody>\n\t\t\t\t\t\t\t<Sortable\n\t\t\t\t\t\t\t\tvalue={newData.map((item) => ({\n\t\t\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t\t\t\tid: getRowKey(item, rowKey),\n\t\t\t\t\t\t\t\t}))}\n\t\t\t\t\t\t\t\tonValueChange={handleValueChange}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{renderTableBodyContent()}\n\t\t\t\t\t\t\t</Sortable>\n\t\t\t\t\t\t</TableBody>\n\t\t\t\t\t</Table>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{isScrollable || !showPagination ? 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/>\n\t\t\t)}\n\t\t</>\n\t);\n};\n"],"names":["__iconNode","DataTableViewOptions","table","transformColumnName","disabled","triggerRef","React","useRef","Popover","modal","PopoverTrigger","asChild","Button","ref","aria-label","variant","className","ChevronDownIcon","PopoverContent","align","onCloseAutoFocus","current","focus","Command","CommandInput","placeholder","CommandList","CommandEmpty","CommandGroup","getAllColumns","filter","column","accessorFn","getCanHide","map","CommandItem","key","id","onSelect","toggleVisibility","getIsVisible","span","Check","cn","DataTableSearch","keySearch","div","SearchIcon","Input","value","getColumn","getFilterValue","onChange","event","setFilterValue","target","flexRender","Comp","props","isReactComponent","createElement","component","isClassComponent","isExoticComponent","proto","Object","getPrototypeOf","prototype","$$typeof","includes","description","DataTablePagination","pageSizeOptions","dataLabel","pageSize","currentPage","getState","pagination","pageIndex","rowCount","getRowCount","totalPageCount","Math","ceil","renderPageNumbers","items","maxVisiblePages","i","push","onClick","setPageIndex","start","max","min","end","PaginationItem","PaginationEllipsis","p","getRowModel","rows","length","toLocaleString","Select","String","onValueChange","setPageSize","Number","SelectTrigger","SelectValue","SelectContent","SelectItem","previousPage","getCanPreviousPage","ChevronLeftIcon","nextPage","getCanNextPage","ChevronRightIcon","DataTablePaginationSkeleton","Skeleton","DataTableRowSkeleton","columnCount","cellWidths","shrinkZero","Array","from","_","TableRow","j","TableCell","style","width","minWidth","DataTableMainFrame","columns","isLoadingTable","loadingContent","setQueryParams","actionColumns","messageEmpty","dividingColumnKey","scrollMaxHeightClass","isScrollable","fixedHeader","showPagination","toString","sorting","useEffect","sortingParams","sortingBy","order","desc","prev","page","renderTableBodyContent","colSpan","row","index","rowKey","data-state","getIsSelected","getVisibleCells","cell","columnDef","getContext","shouldForceMinHeight","Table","TableHeader","getHeaderGroups","headerGroup","headers","header","isActionsColumn","TableHead","isPlaceholder","getCanSort","getToggleSortingHandler","undefined","asc","ArrowDownIcon","ArrowUpIcon","false","CaretSortIcon","getIsSorted","TableBody","DataTableSkeleton","searchableColumnCount","filterableColumnCount","showViewOptions","withPagination","skeletonProps","DataTableStatus","uniqueStatusValues","renderStatusMessage","currentFilter","item","statusMessage","getRowKey","isArray","DataTableMainFrameSortable","data","onDataChange","newData","setNewData","useState","handleValueChange","updatedData","rowData","original","SortableItem","Sortable"],"mappings":"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","x_google_ignoreList":[0,1,4]}
|