ivt 0.3.3 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accordion/index.mjs +19 -1
- package/dist/accordion/index.mjs.map +1 -1
- package/dist/alert/index.mjs +43 -1
- package/dist/alert/index.mjs.map +1 -1
- package/dist/alert-dialog/index.mjs +260 -1
- package/dist/alert-dialog/index.mjs.map +1 -1
- package/dist/avatar/index.mjs +164 -1
- package/dist/avatar/index.mjs.map +1 -1
- package/dist/badge/index.mjs +6 -1
- package/dist/badge/index.mjs.map +1 -1
- package/dist/base/index.mjs +760 -1
- package/dist/base/index.mjs.map +1 -1
- package/dist/button/index.mjs +6 -1
- package/dist/button/index.mjs.map +1 -1
- package/dist/calendar/index.mjs +11 -1
- package/dist/calendar/index.mjs.map +1 -1
- package/dist/card/index.mjs +55 -1
- package/dist/card/index.mjs.map +1 -1
- package/dist/chart/index.mjs +16696 -1
- package/dist/chart/index.mjs.map +1 -1
- package/dist/checkbox/index.mjs +223 -1
- package/dist/checkbox/index.mjs.map +1 -1
- package/dist/chunks/_commonjsHelpers-DKISyIRi.mjs +6 -0
- package/dist/chunks/_commonjsHelpers-DKISyIRi.mjs.map +1 -0
- package/dist/chunks/accordion-CK9Ucbko.mjs +455 -0
- package/dist/chunks/{accordion-CdshDFZC.mjs.map → accordion-CK9Ucbko.mjs.map} +1 -1
- package/dist/chunks/badge-CT_hmjd2.mjs +57 -0
- package/dist/chunks/{badge-BYqshEmA.mjs.map → badge-CT_hmjd2.mjs.map} +1 -1
- package/dist/chunks/bundle-mjs-CS-QKnOm.mjs +4491 -0
- package/dist/chunks/{bundle-mjs-9BXytT_r.mjs.map → bundle-mjs-CS-QKnOm.mjs.map} +1 -1
- package/dist/chunks/button-BHeYV17S.mjs +47 -0
- package/dist/chunks/{button-DrFZXJ7z.mjs.map → button-BHeYV17S.mjs.map} +1 -1
- package/dist/chunks/calendar-CU6HdJET.mjs +7106 -0
- package/dist/chunks/calendar-CU6HdJET.mjs.map +1 -0
- package/dist/chunks/check-B3pXhibW.mjs +15 -0
- package/dist/chunks/{check-CimnOyD7.mjs.map → check-B3pXhibW.mjs.map} +1 -1
- package/dist/chunks/chevron-down-BV5gvmUW.mjs +15 -0
- package/dist/chunks/{chevron-down-D3fvbjxE.mjs.map → chevron-down-BV5gvmUW.mjs.map} +1 -1
- package/dist/chunks/chevron-left-BjGcH2KQ.mjs +15 -0
- package/dist/chunks/{chevron-left-CrN7DlXg.mjs.map → chevron-left-BjGcH2KQ.mjs.map} +1 -1
- package/dist/chunks/chevron-right-DmZu0xvo.mjs +15 -0
- package/dist/chunks/{chevron-right-BMSCuDGK.mjs.map → chevron-right-DmZu0xvo.mjs.map} +1 -1
- package/dist/chunks/chevrons-up-down-COuCmfU7.mjs +22 -0
- package/dist/chunks/{chevrons-up-down-DBgvRkZm.mjs.map → chevrons-up-down-COuCmfU7.mjs.map} +1 -1
- package/dist/chunks/circle-BKsPjIbw.mjs +17 -0
- package/dist/chunks/{circle-CGqt18Bd.mjs.map → circle-BKsPjIbw.mjs.map} +1 -1
- package/dist/chunks/command-CUWr3X1X.mjs +611 -0
- package/dist/chunks/command-CUWr3X1X.mjs.map +1 -0
- package/dist/chunks/createLucideIcon-BSP_Jxu-.mjs +60 -0
- package/dist/chunks/{createLucideIcon-L-tld2uc.mjs.map → createLucideIcon-BSP_Jxu-.mjs.map} +1 -1
- package/dist/chunks/dialog-zZCazow7.mjs +80 -0
- package/dist/chunks/{dialog-36eqHzT3.mjs.map → dialog-zZCazow7.mjs.map} +1 -1
- package/dist/chunks/hover-card-C6WPsacG.mjs +274 -0
- package/dist/chunks/{hover-card-Cnd58du6.mjs.map → hover-card-C6WPsacG.mjs.map} +1 -1
- package/dist/chunks/index-3XcV7C7l.mjs +324 -0
- package/dist/chunks/{index-DUNcuWJE.mjs.map → index-3XcV7C7l.mjs.map} +1 -1
- package/dist/chunks/index-B1VVz0MP.mjs +266 -0
- package/dist/chunks/index-B1VVz0MP.mjs.map +1 -0
- package/dist/chunks/index-BFDafXar.mjs +2370 -0
- package/dist/chunks/index-BFDafXar.mjs.map +1 -0
- package/dist/chunks/index-BF_TaONY.mjs +859 -0
- package/dist/chunks/{index-DZHMFdr0.mjs.map → index-BF_TaONY.mjs.map} +1 -1
- package/dist/chunks/index-BOOPeiVs.mjs +34 -0
- package/dist/chunks/{index-D2sZp5OP.mjs.map → index-BOOPeiVs.mjs.map} +1 -1
- package/dist/chunks/index-BYijxgZz.mjs +12 -0
- package/dist/chunks/index-BYijxgZz.mjs.map +1 -0
- package/dist/chunks/index-BZyzz9k8.mjs +40 -0
- package/dist/chunks/index-BZyzz9k8.mjs.map +1 -0
- package/dist/chunks/index-Bgiaprdv.mjs +7 -0
- package/dist/chunks/{index-CLtWFQL5.mjs.map → index-Bgiaprdv.mjs.map} +1 -1
- package/dist/chunks/index-Bl6nVRXe.mjs +110 -0
- package/dist/chunks/{index-CCcl327A.mjs.map → index-Bl6nVRXe.mjs.map} +1 -1
- package/dist/chunks/index-BwQDLVf8.mjs +151 -0
- package/dist/chunks/index-BwQDLVf8.mjs.map +1 -0
- package/dist/chunks/index-CHyZo-Tj.mjs +1210 -0
- package/dist/chunks/index-CHyZo-Tj.mjs.map +1 -0
- package/dist/chunks/index-CZ7Wntp7.mjs +21 -0
- package/dist/chunks/index-CZ7Wntp7.mjs.map +1 -0
- package/dist/chunks/index-D1yPZAOL.mjs +13 -0
- package/dist/chunks/{index-CXszXOf_.mjs.map → index-D1yPZAOL.mjs.map} +1 -1
- package/dist/chunks/index-DIBl7n6R.mjs +145 -0
- package/dist/chunks/index-DIBl7n6R.mjs.map +1 -0
- package/dist/chunks/index-DRk0bB4A.mjs +216 -0
- package/dist/chunks/{index-LvOFIVGz.mjs.map → index-DRk0bB4A.mjs.map} +1 -1
- package/dist/chunks/index-DUFr75Kc.mjs +77 -0
- package/dist/chunks/{index-CybgQKpz.mjs.map → index-DUFr75Kc.mjs.map} +1 -1
- package/dist/chunks/index-DrnQ43fz.mjs +18 -0
- package/dist/chunks/{index-CRxQlsb9.mjs.map → index-DrnQ43fz.mjs.map} +1 -1
- package/dist/chunks/index-Dulm0stf.mjs +12 -0
- package/dist/chunks/{index-CU_y1XAz.mjs.map → index-Dulm0stf.mjs.map} +1 -1
- package/dist/chunks/index-fWnSEyU5.mjs +50 -0
- package/dist/chunks/{index-w9bxia3O.mjs.map → index-fWnSEyU5.mjs.map} +1 -1
- package/dist/chunks/index-tNc5GmLL.mjs +51 -0
- package/dist/chunks/{index-vmPXTidH.mjs.map → index-tNc5GmLL.mjs.map} +1 -1
- package/dist/chunks/input-D9-FhnGc.mjs +14 -0
- package/dist/chunks/{input-85UFztMJ.mjs.map → input-D9-FhnGc.mjs.map} +1 -1
- package/dist/chunks/label-CiJcd2F9.mjs +32 -0
- package/dist/chunks/{label-CICFzZIt.mjs.map → label-CiJcd2F9.mjs.map} +1 -1
- package/dist/chunks/pagination-SOhqOW7I.mjs +106 -0
- package/dist/chunks/{pagination-CReDQes6.mjs.map → pagination-SOhqOW7I.mjs.map} +1 -1
- package/dist/chunks/popover-WlYXFyUl.mjs +308 -0
- package/dist/chunks/{popover-Cn2ZTvKd.mjs.map → popover-WlYXFyUl.mjs.map} +1 -1
- package/dist/chunks/progress-DdBZJTQG.mjs +99 -0
- package/dist/chunks/{progress-CSxQH6-f.mjs.map → progress-DdBZJTQG.mjs.map} +1 -1
- package/dist/chunks/scroll-area-B2wNbBRR.mjs +791 -0
- package/dist/chunks/scroll-area-B2wNbBRR.mjs.map +1 -0
- package/dist/chunks/select-COGYOg3A.mjs +104 -0
- package/dist/chunks/{select-BR6_N_Yo.mjs.map → select-COGYOg3A.mjs.map} +1 -1
- package/dist/chunks/separator-D6Y96f4g.mjs +48 -0
- package/dist/chunks/{separator-BB6-E9Z1.mjs.map → separator-D6Y96f4g.mjs.map} +1 -1
- package/dist/chunks/skeleton-CRfBAk8U.mjs +13 -0
- package/dist/chunks/{skeleton-XPWWiaac.mjs.map → skeleton-CRfBAk8U.mjs.map} +1 -1
- package/dist/chunks/sortable-tiuZWf3S.mjs +4221 -0
- package/dist/chunks/sortable-tiuZWf3S.mjs.map +1 -0
- package/dist/chunks/table-BlTF56Yn.mjs +62 -0
- package/dist/chunks/{table-LQIHzPHi.mjs.map → table-BlTF56Yn.mjs.map} +1 -1
- package/dist/chunks/toggle-D5tCYA7L.mjs +65 -0
- package/dist/chunks/{toggle-Co72WXGd.mjs.map → toggle-D5tCYA7L.mjs.map} +1 -1
- package/dist/chunks/tooltip-BpTMPR5Q.mjs +596 -0
- package/dist/chunks/{tooltip-qX2HjdJP.mjs.map → tooltip-BpTMPR5Q.mjs.map} +1 -1
- package/dist/chunks/tslib.es6-O3UsmxNe.mjs +61 -0
- package/dist/chunks/{tslib.es6-cMGqxriw.mjs.map → tslib.es6-O3UsmxNe.mjs.map} +1 -1
- package/dist/chunks/utils-tbIgc9YG.mjs +42 -0
- package/dist/chunks/utils-tbIgc9YG.mjs.map +1 -0
- package/dist/chunks/x-5oL4uC6I.mjs +22 -0
- package/dist/chunks/{x-BNLl0E-E.mjs.map → x-5oL4uC6I.mjs.map} +1 -1
- package/dist/combobox/index.mjs +65 -1
- package/dist/combobox/index.mjs.map +1 -1
- package/dist/command/index.mjs +23 -1
- package/dist/command/index.mjs.map +1 -1
- package/dist/data-table/index.mjs +673 -1
- package/dist/data-table/index.mjs.map +1 -1
- package/dist/dialog/index.mjs +22 -1
- package/dist/dialog/index.mjs.map +1 -1
- package/dist/dropdown-menu/index.mjs +438 -1
- package/dist/dropdown-menu/index.mjs.map +1 -1
- package/dist/dropzone/index.mjs +7839 -1
- package/dist/dropzone/index.mjs.map +1 -1
- package/dist/form/index.mjs +649 -1
- package/dist/form/index.mjs.map +1 -1
- package/dist/hover-card/index.mjs +18 -1
- package/dist/hover-card/index.mjs.map +1 -1
- package/dist/icon/index.mjs +317 -1
- package/dist/icon/index.mjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/input/index.mjs +4 -1
- package/dist/input/index.mjs.map +1 -1
- package/dist/ivt.css +1 -1
- package/dist/label/index.mjs +8 -1
- package/dist/label/index.mjs.map +1 -1
- package/dist/menubar/index.mjs +583 -1
- package/dist/menubar/index.mjs.map +1 -1
- package/dist/multi-select/index.mjs +297 -1
- package/dist/multi-select/index.mjs.map +1 -1
- package/dist/pagination/index.mjs +10 -1
- package/dist/pagination/index.mjs.map +1 -1
- package/dist/popover/index.mjs +21 -1
- package/dist/popover/index.mjs.map +1 -1
- package/dist/progress/index.mjs +9 -1
- package/dist/progress/index.mjs.map +1 -1
- package/dist/radio-group/index.mjs +267 -1
- package/dist/radio-group/index.mjs.map +1 -1
- package/dist/scroll-area/index.mjs +15 -1
- package/dist/scroll-area/index.mjs.map +1 -1
- package/dist/select/index.mjs +8 -1
- package/dist/select/index.mjs.map +1 -1
- package/dist/separator/index.mjs +8 -1
- package/dist/separator/index.mjs.map +1 -1
- package/dist/sheet/index.mjs +96 -1
- package/dist/sheet/index.mjs.map +1 -1
- package/dist/skeleton/index.mjs +4 -1
- package/dist/skeleton/index.mjs.map +1 -1
- package/dist/sonner/index.mjs +1140 -1
- package/dist/sonner/index.mjs.map +1 -1
- package/dist/sortable/index.mjs +8 -1
- package/dist/sortable/index.mjs.map +1 -1
- package/dist/table/index.mjs +4 -1
- package/dist/table/index.mjs.map +1 -1
- package/dist/tabs/index.mjs +193 -1
- package/dist/tabs/index.mjs.map +1 -1
- package/dist/textarea/index.mjs +13 -1
- package/dist/textarea/index.mjs.map +1 -1
- package/dist/toast/index.mjs +705 -1
- package/dist/toast/index.mjs.map +1 -1
- package/dist/toggle/index.mjs +12 -1
- package/dist/toggle/index.mjs.map +1 -1
- package/dist/toggle-group/index.mjs +219 -1
- package/dist/toggle-group/index.mjs.map +1 -1
- package/dist/tooltip/index.mjs +20 -1
- package/dist/tooltip/index.mjs.map +1 -1
- package/package.json +6 -5
- package/dist/chunks/_commonjsHelpers-6qLFzZa5.mjs +0 -2
- package/dist/chunks/_commonjsHelpers-6qLFzZa5.mjs.map +0 -1
- package/dist/chunks/accordion-CdshDFZC.mjs +0 -2
- package/dist/chunks/badge-BYqshEmA.mjs +0 -2
- package/dist/chunks/bundle-mjs-9BXytT_r.mjs +0 -2
- package/dist/chunks/button-DrFZXJ7z.mjs +0 -2
- package/dist/chunks/calendar-BY6t8wdJ.mjs +0 -2
- package/dist/chunks/calendar-BY6t8wdJ.mjs.map +0 -1
- package/dist/chunks/check-CimnOyD7.mjs +0 -2
- package/dist/chunks/chevron-down-D3fvbjxE.mjs +0 -2
- package/dist/chunks/chevron-left-CrN7DlXg.mjs +0 -2
- package/dist/chunks/chevron-right-BMSCuDGK.mjs +0 -2
- package/dist/chunks/chevrons-up-down-DBgvRkZm.mjs +0 -2
- package/dist/chunks/circle-CGqt18Bd.mjs +0 -2
- package/dist/chunks/command-C6ON-ciq.mjs +0 -2
- package/dist/chunks/command-C6ON-ciq.mjs.map +0 -1
- package/dist/chunks/createLucideIcon-L-tld2uc.mjs +0 -2
- package/dist/chunks/dialog-36eqHzT3.mjs +0 -2
- package/dist/chunks/hover-card-Cnd58du6.mjs +0 -2
- package/dist/chunks/index-B4QsDzeM.mjs +0 -2
- package/dist/chunks/index-B4QsDzeM.mjs.map +0 -1
- package/dist/chunks/index-BdpYc58_.mjs +0 -2
- package/dist/chunks/index-BdpYc58_.mjs.map +0 -1
- package/dist/chunks/index-CCcl327A.mjs +0 -2
- package/dist/chunks/index-CLtWFQL5.mjs +0 -2
- package/dist/chunks/index-COvW87ew.mjs +0 -2
- package/dist/chunks/index-COvW87ew.mjs.map +0 -1
- package/dist/chunks/index-CRxQlsb9.mjs +0 -2
- package/dist/chunks/index-CU_y1XAz.mjs +0 -2
- package/dist/chunks/index-CXszXOf_.mjs +0 -2
- package/dist/chunks/index-CdJCOoFA.mjs +0 -2
- package/dist/chunks/index-CdJCOoFA.mjs.map +0 -1
- package/dist/chunks/index-Cpq7N5Ej.mjs +0 -2
- package/dist/chunks/index-Cpq7N5Ej.mjs.map +0 -1
- package/dist/chunks/index-CybgQKpz.mjs +0 -2
- package/dist/chunks/index-D2sZp5OP.mjs +0 -2
- package/dist/chunks/index-DOyt-JEx.mjs +0 -2
- package/dist/chunks/index-DOyt-JEx.mjs.map +0 -1
- package/dist/chunks/index-DUNcuWJE.mjs +0 -2
- package/dist/chunks/index-DZHMFdr0.mjs +0 -2
- package/dist/chunks/index-LvOFIVGz.mjs +0 -2
- package/dist/chunks/index-lvPXnk5F.mjs +0 -2
- package/dist/chunks/index-lvPXnk5F.mjs.map +0 -1
- package/dist/chunks/index-vmPXTidH.mjs +0 -2
- package/dist/chunks/index-w9bxia3O.mjs +0 -2
- package/dist/chunks/index-xew3kygQ.mjs +0 -2
- package/dist/chunks/index-xew3kygQ.mjs.map +0 -1
- package/dist/chunks/input-85UFztMJ.mjs +0 -2
- package/dist/chunks/label-CICFzZIt.mjs +0 -2
- package/dist/chunks/pagination-CReDQes6.mjs +0 -2
- package/dist/chunks/popover-Cn2ZTvKd.mjs +0 -2
- package/dist/chunks/progress-CSxQH6-f.mjs +0 -2
- package/dist/chunks/scroll-area-CvCz7cL_.mjs +0 -2
- package/dist/chunks/scroll-area-CvCz7cL_.mjs.map +0 -1
- package/dist/chunks/select-BR6_N_Yo.mjs +0 -2
- package/dist/chunks/separator-BB6-E9Z1.mjs +0 -2
- package/dist/chunks/skeleton-XPWWiaac.mjs +0 -2
- package/dist/chunks/sortable-CqPFGn8Q.mjs +0 -2
- package/dist/chunks/sortable-CqPFGn8Q.mjs.map +0 -1
- package/dist/chunks/table-LQIHzPHi.mjs +0 -2
- package/dist/chunks/toggle-Co72WXGd.mjs +0 -2
- package/dist/chunks/tooltip-qX2HjdJP.mjs +0 -2
- package/dist/chunks/tslib.es6-cMGqxriw.mjs +0 -2
- package/dist/chunks/utils-BctauAA9.mjs +0 -2
- package/dist/chunks/utils-BctauAA9.mjs.map +0 -1
- package/dist/chunks/x-BNLl0E-E.mjs +0 -2
@@ -1,2 +1,674 @@
|
|
1
|
-
import*as e from"react";import t,{forwardRef as a,createElement as l}from"react";import{c as n}from"../chunks/utils-BctauAA9.mjs";import{C as r}from"../chunks/chevron-down-D3fvbjxE.mjs";import{C as s}from"../chunks/check-CimnOyD7.mjs";import{P as m,a as c,b as o}from"../chunks/popover-Cn2ZTvKd.mjs";import{B as i}from"../chunks/button-DrFZXJ7z.mjs";import{C as u,b as d,c as g,d as p,e as h,f,S as E}from"../chunks/command-C6ON-ciq.mjs";import{I as w}from"../chunks/input-85UFztMJ.mjs";import{S as x,h as N,i as b,a as y,c as k}from"../chunks/select-BR6_N_Yo.mjs";import{C as v}from"../chunks/chevron-left-CrN7DlXg.mjs";import{C}from"../chunks/chevron-right-BMSCuDGK.mjs";import{c as S,f as j}from"../chunks/pagination-CReDQes6.mjs";import{S as z}from"../chunks/skeleton-XPWWiaac.mjs";import{e as M,f as P,T as A,a as F,d as I,b as L}from"../chunks/table-LQIHzPHi.mjs";import{c as R}from"../chunks/createLucideIcon-L-tld2uc.mjs";import{S as V,b as $}from"../chunks/sortable-CqPFGn8Q.mjs";import"../chunks/bundle-mjs-9BXytT_r.mjs";import"../chunks/index-CdJCOoFA.mjs";import"../chunks/index-COvW87ew.mjs";import"../chunks/index-CCcl327A.mjs";import"react/jsx-runtime";import"../chunks/index-xew3kygQ.mjs";import"../chunks/index-w9bxia3O.mjs";import"react-dom";import"@radix-ui/react-slot";import"../chunks/index-CXszXOf_.mjs";import"../chunks/index-CLtWFQL5.mjs";import"../chunks/index-lvPXnk5F.mjs";import"../chunks/tslib.es6-cMGqxriw.mjs";import"../chunks/index-CRxQlsb9.mjs";import"../chunks/index-DOyt-JEx.mjs";import"../chunks/index-vmPXTidH.mjs";import"../chunks/index-BdpYc58_.mjs";import"../chunks/index-CybgQKpz.mjs";import"class-variance-authority";import"../chunks/index-DUNcuWJE.mjs";import"../chunks/dialog-36eqHzT3.mjs";import"../chunks/x-BNLl0E-E.mjs";import"@radix-ui/react-select";const O=R("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),_=R("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);function D({table:t,transformColumnName:a}){const l=e.useRef(null);return e.createElement(m,{modal:!0},e.createElement(c,{asChild:!0},e.createElement(i,{ref:l,"aria-label":"Toggle columns",variant:"outline",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"},"Colunas",e.createElement(r,{className:"h-4 w-4"}))),e.createElement(o,{align:"end",className:"w-44 p-0",onCloseAutoFocus:()=>l.current?.focus()},e.createElement(u,null,e.createElement(d,{placeholder:"Pesquisar colunas..."}),e.createElement(g,null,e.createElement(p,null,"Nenhuma coluna encontrada."),e.createElement(h,null,t.getAllColumns().filter(e=>void 0!==e.accessorFn&&e.getCanHide()).map(t=>e.createElement(f,{key:t.id,onSelect:()=>t.toggleVisibility(!t.getIsVisible())},e.createElement("span",{className:"truncate"},a?a(t.id):t.id),e.createElement(s,{className:n("ml-auto size-4 shrink-0",t.getIsVisible()?"opacity-100":"opacity-0")}))))))))}function H({table:e,keySearch:t,placeholder:a}){return React.createElement("div",{className:"relative w-full max-w-sm"},React.createElement(E,{className:"text-muted-foreground absolute top-3 left-3 h-4 w-4"}),React.createElement(w,{placeholder:a,value:e.getColumn(t)?.getFilterValue()??"",onChange:a=>e.getColumn(t)?.setFilterValue(a.target.value),className:"w-full pl-8 xl:w-80"}))}var T=["color"],B=a(function(e,t){var a=e.color,n=void 0===a?"currentColor":a,r=function(e,t){if(null==e)return{};var a,l,n={},r=Object.keys(e);for(l=0;l<r.length;l++)a=r[l],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,T);return l("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:t}),l("path",{d:"M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z",fill:n,fillRule:"evenodd",clipRule:"evenodd"}))});function q(t,a){return t?function(e){return"function"==typeof e&&(()=>{const t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}(l=t)||"function"==typeof l||function(e){return"object"==typeof e&&"symbol"==typeof e.$$typeof&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}(l)?e.createElement(t,a):t:null;var l}function W({table:e,pageSizeOptions:a=[20,30,50,100,200],dataLabel:l="Fundos"}){const n=a[0],r=e.getState().pagination.pageIndex+1,s=e.getRowCount(),m=Math.ceil(s/e.getState().pagination.pageSize);return t.createElement("div",{className:"mt-4 flex flex-wrap items-center justify-between gap-2"},t.createElement("div",{className:"text-muted-foreground flex gap-1 text-sm"},t.createElement("p",{className:"ml-2"},"Mostrando ",e.getRowModel().rows.length.toLocaleString()," de ",s," ",l,".")),t.createElement("div",{className:"flex flex-wrap items-center justify-between gap-2 gap-y-4"},t.createElement(x,{value:String(e.getState().pagination.pageSize)||String(n),onValueChange:t=>e.setPageSize(Number(t))},t.createElement(N,{className:"w-fit"},t.createElement(b,{placeholder:`Mostrar ${e.getState().pagination.pageSize||n}`})),t.createElement(y,null,s&&(0===s||s<n)?t.createElement(k,{value:String(n)},"Mostrar ",n):t.createElement(t.Fragment,null,a.map(e=>t.createElement(k,{key:e,value:String(e)},"Mostrar ",e))))),t.createElement("div",{className:"flex flex-wrap gap-2 gap-y-4"},t.createElement(i,{variant:"ghost",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),"aria-label":"Ir para página anterior",className:"gap-1"},t.createElement(v,{className:"size-4"}),"Anterior"),t.createElement("div",{className:"flex gap-2"},(()=>{const a=[];if(m<=3)for(let l=1;l<=m;l++)a.push(t.createElement(i,{variant:r===l?"outline":"ghost",key:l,onClick:()=>e.setPageIndex(l-1),className:"size-9"},l));else{a.push(t.createElement(i,{variant:1===r?"outline":"ghost",key:1,onClick:()=>e.setPageIndex(0),className:"size-9"},"1"));const l=Math.max(2,Math.min(r,m-2)),n=Math.min(m-1,l+3-2);l>2&&a.push(t.createElement(S,{key:"ellipsis-start",className:"list-none"},t.createElement(j,null)));for(let s=l;s<=n;s++)a.push(t.createElement(i,{variant:r===s?"outline":"ghost",key:s,onClick:()=>e.setPageIndex(s-1),className:"size-9"},s));n<m-1&&a.push(t.createElement(S,{key:"ellipsis-end",className:"list-none"},t.createElement(j,null))),a.push(t.createElement(i,{variant:r===m?"outline":"ghost",key:m,onClick:()=>e.setPageIndex(m-1)},m))}return a})()),t.createElement(i,{variant:"ghost",onClick:()=>e.nextPage(),disabled:!e.getCanNextPage(),"aria-label":"Ir para próxima página",className:"gap-1"},"Próximo",t.createElement(C,{className:"size-4"})))))}const Z=({className:e})=>t.createElement("div",{className:"mt-4 flex flex-wrap items-center justify-between gap-2"},t.createElement(z,{className:n("h-5 w-40",e)}),t.createElement("div",{className:"flex flex-wrap items-center justify-between gap-2 gap-y-4"},t.createElement(z,{className:n("h-10 w-28",e)}),t.createElement(z,{className:n("h-9 w-[16rem]",e)})));function K(e){const{columnCount:a,rowCount:l=8,cellWidths:n=["auto"],shrinkZero:r=!1}=e;return t.createElement(t.Fragment,null,Array.from({length:l}).map((e,l)=>t.createElement(M,{key:`row-${String(l)}`,className:"hover:bg-transparent"},Array.from({length:a}).map((e,a)=>t.createElement(P,{key:`cell-${String(l)}-${a}`,style:{width:n[a],minWidth:r?n[a]:"auto"}},t.createElement(z,{className:"h-6 w-full"}))))))}const G=({table:e,columns:a,isLoadingTable:l,loadingContent:r,setQueryParams:s,dataLabel:m,actionColumns:c=[],messageEmpty:o=t.createElement(t.Fragment,null,"Sem resultados"),dividingColumnKey:i,pageSizeOptions:u,className:d,scrollMaxHeightClass:g="sm:max-h-[calc(100vh-300px)]",isScrollable:p=!1,fixedHeader:h=!1,showPagination:f=!0})=>{const E=Number(e.getState().pagination.pageIndex).toString(),w=Number(e.getState().pagination.pageSize).toString(),x=e.getState().sorting;t.useEffect(()=>{if(!s)return;const e={sortingBy:"",order:""};x.length>0&&(e.sortingBy=x[0].id,e.order=x[0].desc?"DESC":"ASC"),s(t=>({...t,pageSize:w,page:E,...e}))},[E,w,s,x]);const N=e.getRowModel().rows.length>1||l;return t.createElement(t.Fragment,null,t.createElement("div",{className:n("bg-background mx-1 h-full w-full rounded-md border whitespace-nowrap",d)},t.createElement("div",{className:n("relative w-full overflow-auto",N&&"force-min-height",p&&g&&g)},t.createElement(A,null,t.createElement(F,{className:n(h&&"bg-background sticky top-0 z-10 shadow-[0_1px_0_hsl(240_6%_90%)]")},e.getHeaderGroups().map(e=>t.createElement(M,{key:e.id},e.headers.map(e=>{const{column:{id:a}}=e,l=["actions",...c].includes(a);return t.createElement(I,{className:n(i?.includes(a)?"border-r":"","static"),key:e.id},e.isPlaceholder?null:t.createElement(t.Fragment,null,t.createElement("div",{className:!l&&e.column.getCanSort()?"flex w-fit items-center justify-start cursor-pointer gap-1 font-medium":"",onClick:l?void 0:e.column.getToggleSortingHandler()},q(e.column.columnDef.header,e.getContext()),(!l&&e.column.getCanSort()&&{asc:t.createElement(O,{className:"h-3.5 w-3.5"}),desc:t.createElement(_,{className:"h-3.5 w-3.5"}),false:t.createElement(B,{className:"h-4 w-4"})}[e.column.getIsSorted()])??t.createElement(O,{className:"h-3.5 w-3.5"}))))})))),t.createElement(L,null,l&&!r?t.createElement(K,{columnCount:e.getAllColumns().length}):l&&r?t.createElement(P,{colSpan:a.length,className:"h-24 text-center"},r):0===e.getRowModel().rows.length?t.createElement(M,null,t.createElement(P,{colSpan:a.length,className:"h-24 text-center"},t.createElement("span",{className:"inline-block max-w-[30rem] text-wrap break-words"},o))):e.getRowModel().rows.map((e,a)=>{const l=e.id??String(a);return t.createElement(M,{key:l,"data-state":e.getIsSelected()&&"selected",className:"even:bg-body/50"},e.getVisibleCells().map(e=>t.createElement(P,{key:e.id,className:n("p-2 py-1",i?.includes(e.column.id)&&"border-r")},q(e.column.columnDef.cell,e.getContext()))))}))))),p||!f?null:l?t.createElement(Z,null):t.createElement(W,{table:e,dataLabel:m,pageSizeOptions:u}))};function Q(e){const{columnCount:a,rowCount:l=10,searchableColumnCount:r=0,filterableColumnCount:s=0,showViewOptions:m=!0,cellWidths:c=["auto"],withPagination:o=!0,shrinkZero:i=!1,className:u,...d}=e;return t.createElement("div",{className:n("w-full space-y-2.5 overflow-auto",u),...d},t.createElement("div",{className:"flex w-full items-center justify-between space-x-2 overflow-auto p-1"},t.createElement("div",{className:"flex flex-1 items-center space-x-2"},r>0?Array.from({length:r}).map((e,a)=>t.createElement(z,{key:`${String(a)}`,className:"h-7 w-40 lg:w-60"})):null,s>0?Array.from({length:s}).map((e,a)=>t.createElement(z,{key:`${String(a)}`,className:"h-7 w-[4.5rem] border-dashed"})):null),m?t.createElement(z,{className:"ml-auto hidden h-7 w-[4.5rem] lg:flex"}):null),t.createElement("div",{className:"rounded-md border"},t.createElement(A,null,t.createElement(F,null,Array.from({length:1}).map((e,l)=>t.createElement(M,{key:`${String(l)}`,className:"hover:bg-transparent"},Array.from({length:a}).map((e,a)=>t.createElement(I,{key:`${String(a)}`,style:{width:c[a],minWidth:i?c[a]:"auto"}},t.createElement(z,{className:"h-6 w-full"})))))),t.createElement(L,null,Array.from({length:l}).map((e,l)=>t.createElement(M,{key:`${String(l)}`,className:"hover:bg-transparent"},Array.from({length:a}).map((e,a)=>t.createElement(P,{key:`${String(a)}`,style:{width:c[a],minWidth:i?c[a]:"auto"}},t.createElement(z,{className:"h-6 w-full"})))))))),o?t.createElement("div",{className:"flex w-full items-center justify-between gap-4 overflow-auto p-1 sm:gap-8"},t.createElement(z,{className:"h-7 w-40 shrink-0"}),t.createElement("div",{className:"flex items-center gap-4 sm:gap-6 lg:gap-8"},t.createElement("div",{className:"flex items-center space-x-2"},t.createElement(z,{className:"h-7 w-24"}),t.createElement(z,{className:"h-7 w-[4.5rem]"})),t.createElement("div",{className:"flex items-center justify-center text-sm font-medium"},t.createElement(z,{className:"h-7 w-20"})),t.createElement("div",{className:"flex items-center space-x-2"},t.createElement(z,{className:"hidden size-7 lg:block"}),t.createElement(z,{className:"size-7"}),t.createElement(z,{className:"size-7"}),t.createElement(z,{className:"hidden size-7 lg:block"})))):null)}function U({table:e,uniqueStatusValues:a,renderStatusMessage:l,className:s}){const h=t.useRef(null),E=e.getColumn("status")?.getFilterValue();return t.createElement(m,{modal:!0},t.createElement(c,{asChild:!0},t.createElement(i,{ref:h,"aria-label":"Filtre por status",variant:"outline",className:n("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",s)},E?l(E):"Todos os status",t.createElement(r,{className:"h-4 w-4"}))),t.createElement(o,{align:"end",className:"w-44 p-0",onCloseAutoFocus:()=>h.current?.focus()},t.createElement(u,null,t.createElement(d,{placeholder:"Pesquisar status..."}),t.createElement(g,null,t.createElement(p,null,"Nenhum status encontrado."),t.createElement(f,{key:"all",onSelect:()=>e.getColumn("status")?.setFilterValue(void 0)},t.createElement("span",{className:"truncate"},"Todos os status")),a.map(a=>{if(!a)return null;const n=l(a);return t.createElement(f,{key:`${String(a)}`,onSelect:()=>e.getColumn("status")?.setFilterValue(a)},t.createElement("span",{className:"truncate"},n))})))))}const J=(e,t)=>{if("function"==typeof t)return t(e);if(Array.isArray(t)){for(const a of t)if(void 0!==e[a]&&null!==e[a])return e[a];return""}return e[t]},X=({table:e,columns:a,isLoadingTable:l,loadingContent:r,setQueryParams:s,dataLabel:m,actionColumns:c=[],data:o,messageEmpty:i=t.createElement(t.Fragment,null,"Sem resultados"),onDataChange:u,rowKey:d,dividingColumnKey:g,pageSizeOptions:p,className:h,scrollMaxHeightClass:f="sm:max-h-[calc(100vh-300px)]",isScrollable:E=!1,fixedHeader:w=!1,showPagination:x=!0})=>{const N=Number(e.getState().pagination.pageIndex).toString(),b=Number(e.getState().pagination.pageSize).toString(),y=e.getState().sorting,[k,v]=t.useState(o);t.useEffect(()=>{v(o)},[o]),t.useEffect(()=>{if(!s)return;const e={sortingBy:"",order:""};y.length>0&&(e.sortingBy=y[0].id,e.order=y[0].desc?"DESC":"ASC"),s(t=>({...t,pageSize:b,page:N,...e}))},[N,b,s,y]);const C=e.getRowModel().rows.length>1||l;return t.createElement(t.Fragment,null,t.createElement("div",{className:n("bg-background mx-1 h-full w-full rounded-md border whitespace-nowrap",h)},t.createElement("div",{className:n("relative w-full overflow-auto",C&&"force-min-height",E&&f&&f)},t.createElement(A,null,t.createElement(F,{className:n(w&&"bg-background sticky top-0 z-10 shadow-[0_1px_0_hsl(240_6%_90%)]")},e.getHeaderGroups().map(e=>t.createElement(M,{key:e.id},e.headers.map(e=>{const{column:{id:a}}=e,l=["actions",...c].includes(a);return t.createElement(I,{className:g?.includes(a)?"border-r":"",key:e.id},e.isPlaceholder?null:t.createElement(t.Fragment,null,t.createElement("div",{className:!l&&e.column.getCanSort()?"flex w-fit items-center justify-start cursor-pointer gap-1 font-medium":"",onClick:l?void 0:e.column.getToggleSortingHandler()},q(e.column.columnDef.header,e.getContext()),(!l&&e.column.getCanSort()&&{asc:t.createElement(O,{className:"h-3.5 w-3.5"}),desc:t.createElement(_,{className:"h-3.5 w-3.5"}),false:t.createElement(B,{className:"h-4 w-4"})}[e.column.getIsSorted()])??t.createElement(O,{className:"h-3.5 w-3.5"}))))})))),t.createElement(L,null,t.createElement(V,{value:k.map(e=>({...e,id:J(e,d)})),onValueChange:e=>{v(e),u?.(e)}},l&&!r?t.createElement(K,{columnCount:e.getAllColumns().length}):l&&r?t.createElement(P,{colSpan:a.length,className:"h-24 text-center"},r):0===e.getRowModel().rows.length?t.createElement(M,null,t.createElement(P,{colSpan:a.length,className:"h-24 text-center"},t.createElement("span",{className:"inline-block max-w-[30rem] text-wrap break-words"},i))):e.getRowModel().rows.map(e=>{const a=e.original,l=J(a,d);return t.createElement($,{key:e.id,value:l,asChild:!0},t.createElement(M,{"data-state":e.getIsSelected()&&"selected",className:"even:bg-body/50"},e.getVisibleCells().map(e=>t.createElement(P,{key:e.id,className:n("p-2 py-1",g?.includes(e.column.id)&&"border-r")},q(e.column.columnDef.cell,e.getContext())))))})))))),E||!x?null:l?t.createElement(Z,null):t.createElement(W,{table:e,dataLabel:m,pageSizeOptions:p}))};export{G as DataTableMainFrame,X as DataTableMainFrameSortable,W as DataTablePagination,Z as DataTablePaginationSkeleton,K as DataTableRowSkeleton,H as DataTableSearch,Q as DataTableSkeleton,U as DataTableStatus,D as DataTableViewOptions};
|
1
|
+
import * as React$1 from 'react';
|
2
|
+
import React__default, { forwardRef, createElement } from 'react';
|
3
|
+
import { c as cn } from '../chunks/utils-tbIgc9YG.mjs';
|
4
|
+
import { C as ChevronDown } from '../chunks/chevron-down-BV5gvmUW.mjs';
|
5
|
+
import { C as Check } from '../chunks/check-B3pXhibW.mjs';
|
6
|
+
import { P as Popover, a as PopoverTrigger, b as PopoverContent } from '../chunks/popover-WlYXFyUl.mjs';
|
7
|
+
import { B as Button } from '../chunks/button-BHeYV17S.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-CUWr3X1X.mjs';
|
9
|
+
import { I as Input } from '../chunks/input-D9-FhnGc.mjs';
|
10
|
+
import { S as Select, h as SelectTrigger, i as SelectValue, a as SelectContent, c as SelectItem } from '../chunks/select-COGYOg3A.mjs';
|
11
|
+
import { C as ChevronLeft } from '../chunks/chevron-left-BjGcH2KQ.mjs';
|
12
|
+
import { C as ChevronRight } from '../chunks/chevron-right-DmZu0xvo.mjs';
|
13
|
+
import { c as PaginationItem, f as PaginationEllipsis } from '../chunks/pagination-SOhqOW7I.mjs';
|
14
|
+
import { S as Skeleton } from '../chunks/skeleton-CRfBAk8U.mjs';
|
15
|
+
import { e as TableRow, f as TableCell, T as Table, a as TableHeader, d as TableHead, b as TableBody } from '../chunks/table-BlTF56Yn.mjs';
|
16
|
+
import { c as createLucideIcon } from '../chunks/createLucideIcon-BSP_Jxu-.mjs';
|
17
|
+
import { S as Sortable, b as SortableItem } from '../chunks/sortable-tiuZWf3S.mjs';
|
18
|
+
import '../chunks/bundle-mjs-CS-QKnOm.mjs';
|
19
|
+
import '../chunks/index-BYijxgZz.mjs';
|
20
|
+
import '../chunks/index-BZyzz9k8.mjs';
|
21
|
+
import '../chunks/index-Bl6nVRXe.mjs';
|
22
|
+
import 'react/jsx-runtime';
|
23
|
+
import '../chunks/index-B1VVz0MP.mjs';
|
24
|
+
import '../chunks/index-fWnSEyU5.mjs';
|
25
|
+
import 'react-dom';
|
26
|
+
import '@radix-ui/react-slot';
|
27
|
+
import '../chunks/index-D1yPZAOL.mjs';
|
28
|
+
import '../chunks/index-Bgiaprdv.mjs';
|
29
|
+
import '../chunks/index-CHyZo-Tj.mjs';
|
30
|
+
import '../chunks/tslib.es6-O3UsmxNe.mjs';
|
31
|
+
import '../chunks/index-DrnQ43fz.mjs';
|
32
|
+
import '../chunks/index-BFDafXar.mjs';
|
33
|
+
import '../chunks/index-tNc5GmLL.mjs';
|
34
|
+
import '../chunks/index-DIBl7n6R.mjs';
|
35
|
+
import '../chunks/index-DUFr75Kc.mjs';
|
36
|
+
import 'class-variance-authority';
|
37
|
+
import '../chunks/index-3XcV7C7l.mjs';
|
38
|
+
import '../chunks/dialog-zZCazow7.mjs';
|
39
|
+
import '../chunks/x-5oL4uC6I.mjs';
|
40
|
+
import '@radix-ui/react-select';
|
41
|
+
|
42
|
+
const __iconNode$1 = [
|
43
|
+
[
|
44
|
+
"path",
|
45
|
+
{
|
46
|
+
d: "M12 5v14",
|
47
|
+
key: "s699le"
|
48
|
+
}
|
49
|
+
],
|
50
|
+
[
|
51
|
+
"path",
|
52
|
+
{
|
53
|
+
d: "m19 12-7 7-7-7",
|
54
|
+
key: "1idqje"
|
55
|
+
}
|
56
|
+
]
|
57
|
+
];
|
58
|
+
const ArrowDown = createLucideIcon("ArrowDown", __iconNode$1);
|
59
|
+
|
60
|
+
const __iconNode = [
|
61
|
+
[
|
62
|
+
"path",
|
63
|
+
{
|
64
|
+
d: "m5 12 7-7 7 7",
|
65
|
+
key: "hav0vg"
|
66
|
+
}
|
67
|
+
],
|
68
|
+
[
|
69
|
+
"path",
|
70
|
+
{
|
71
|
+
d: "M12 19V5",
|
72
|
+
key: "x0mq9r"
|
73
|
+
}
|
74
|
+
]
|
75
|
+
];
|
76
|
+
const ArrowUp = createLucideIcon("ArrowUp", __iconNode);
|
77
|
+
|
78
|
+
function DataTableViewOptions({ table, transformColumnName }) {
|
79
|
+
const triggerRef = React$1.useRef(null);
|
80
|
+
return /*#__PURE__*/ React$1.createElement(Popover, {
|
81
|
+
modal: true
|
82
|
+
}, /*#__PURE__*/ React$1.createElement(PopoverTrigger, {
|
83
|
+
asChild: true
|
84
|
+
}, /*#__PURE__*/ React$1.createElement(Button, {
|
85
|
+
ref: triggerRef,
|
86
|
+
"aria-label": "Toggle columns",
|
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"
|
89
|
+
}, "Colunas", /*#__PURE__*/ React$1.createElement(ChevronDown, {
|
90
|
+
className: "h-4 w-4"
|
91
|
+
}))), /*#__PURE__*/ React$1.createElement(PopoverContent, {
|
92
|
+
align: "end",
|
93
|
+
className: "w-44 p-0",
|
94
|
+
onCloseAutoFocus: ()=>triggerRef.current?.focus()
|
95
|
+
}, /*#__PURE__*/ React$1.createElement(Command, null, /*#__PURE__*/ React$1.createElement(CommandInput, {
|
96
|
+
placeholder: "Pesquisar colunas..."
|
97
|
+
}), /*#__PURE__*/ React$1.createElement(CommandList, null, /*#__PURE__*/ React$1.createElement(CommandEmpty, null, "Nenhuma coluna encontrada."), /*#__PURE__*/ React$1.createElement(CommandGroup, null, table.getAllColumns().filter((column)=>typeof column.accessorFn !== "undefined" && column.getCanHide()).map((column)=>{
|
98
|
+
return /*#__PURE__*/ React$1.createElement(CommandItem, {
|
99
|
+
key: column.id,
|
100
|
+
onSelect: ()=>column.toggleVisibility(!column.getIsVisible())
|
101
|
+
}, /*#__PURE__*/ React$1.createElement("span", {
|
102
|
+
className: "truncate"
|
103
|
+
}, transformColumnName ? transformColumnName(column.id) : column.id), /*#__PURE__*/ React$1.createElement(Check, {
|
104
|
+
className: cn("ml-auto size-4 shrink-0", column.getIsVisible() ? "opacity-100" : "opacity-0")
|
105
|
+
}));
|
106
|
+
}))))));
|
107
|
+
}
|
108
|
+
|
109
|
+
function DataTableSearch({ table, keySearch, placeholder }) {
|
110
|
+
return /*#__PURE__*/ React.createElement("div", {
|
111
|
+
className: "relative w-full max-w-sm"
|
112
|
+
}, /*#__PURE__*/ React.createElement(Search, {
|
113
|
+
className: "text-muted-foreground absolute top-3 left-3 h-4 w-4"
|
114
|
+
}), /*#__PURE__*/ React.createElement(Input, {
|
115
|
+
placeholder: placeholder,
|
116
|
+
value: table.getColumn(keySearch)?.getFilterValue() ?? "",
|
117
|
+
onChange: (event)=>table.getColumn(keySearch)?.setFilterValue(event.target.value),
|
118
|
+
className: "w-full pl-8 xl:w-80"
|
119
|
+
}));
|
120
|
+
}
|
121
|
+
|
122
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
123
|
+
if (source == null) return {};
|
124
|
+
var target = {};
|
125
|
+
var sourceKeys = Object.keys(source);
|
126
|
+
var key, i;
|
127
|
+
for(i = 0; i < sourceKeys.length; i++){
|
128
|
+
key = sourceKeys[i];
|
129
|
+
if (excluded.indexOf(key) >= 0) continue;
|
130
|
+
target[key] = source[key];
|
131
|
+
}
|
132
|
+
return target;
|
133
|
+
}
|
134
|
+
var _excluded$Q = [
|
135
|
+
"color"
|
136
|
+
];
|
137
|
+
var CaretSortIcon = /*#__PURE__*/ forwardRef(function(_ref, forwardedRef) {
|
138
|
+
var _ref$color = _ref.color, color = _ref$color === void 0 ? 'currentColor' : _ref$color, props = _objectWithoutPropertiesLoose(_ref, _excluded$Q);
|
139
|
+
return createElement("svg", Object.assign({
|
140
|
+
width: "15",
|
141
|
+
height: "15",
|
142
|
+
viewBox: "0 0 15 15",
|
143
|
+
fill: "none",
|
144
|
+
xmlns: "http://www.w3.org/2000/svg"
|
145
|
+
}, props, {
|
146
|
+
ref: forwardedRef
|
147
|
+
}), createElement("path", {
|
148
|
+
d: "M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z",
|
149
|
+
fill: color,
|
150
|
+
fillRule: "evenodd",
|
151
|
+
clipRule: "evenodd"
|
152
|
+
}));
|
153
|
+
});
|
154
|
+
|
155
|
+
//
|
156
|
+
/**
|
157
|
+
* If rendering headers, cells, or footers with custom markup, use flexRender instead of `cell.getValue()` or `cell.renderValue()`.
|
158
|
+
*/ function flexRender(Comp, props) {
|
159
|
+
return !Comp ? null : isReactComponent(Comp) ? /*#__PURE__*/ React$1.createElement(Comp, props) : Comp;
|
160
|
+
}
|
161
|
+
function isReactComponent(component) {
|
162
|
+
return isClassComponent(component) || typeof component === 'function' || isExoticComponent(component);
|
163
|
+
}
|
164
|
+
function isClassComponent(component) {
|
165
|
+
return typeof component === 'function' && (()=>{
|
166
|
+
const proto = Object.getPrototypeOf(component);
|
167
|
+
return proto.prototype && proto.prototype.isReactComponent;
|
168
|
+
})();
|
169
|
+
}
|
170
|
+
function isExoticComponent(component) {
|
171
|
+
return typeof component === 'object' && typeof component.$$typeof === 'symbol' && [
|
172
|
+
'react.memo',
|
173
|
+
'react.forward_ref'
|
174
|
+
].includes(component.$$typeof.description);
|
175
|
+
}
|
176
|
+
|
177
|
+
function DataTablePagination({ table, pageSizeOptions = [
|
178
|
+
20,
|
179
|
+
30,
|
180
|
+
50,
|
181
|
+
100,
|
182
|
+
200
|
183
|
+
], dataLabel = "Fundos" }) {
|
184
|
+
const pageSize = pageSizeOptions[0];
|
185
|
+
const currentPage = table.getState().pagination.pageIndex + 1;
|
186
|
+
const rowCount = table.getRowCount();
|
187
|
+
const totalPageCount = Math.ceil(rowCount / table.getState().pagination.pageSize);
|
188
|
+
const renderPageNumbers = ()=>{
|
189
|
+
const items = [];
|
190
|
+
const maxVisiblePages = 3;
|
191
|
+
if (totalPageCount <= maxVisiblePages) {
|
192
|
+
for(let i = 1; i <= totalPageCount; i++){
|
193
|
+
items.push(/*#__PURE__*/ React__default.createElement(Button, {
|
194
|
+
variant: currentPage === i ? "outline" : "ghost",
|
195
|
+
key: i,
|
196
|
+
onClick: ()=>table.setPageIndex(i - 1),
|
197
|
+
className: "size-9"
|
198
|
+
}, i));
|
199
|
+
}
|
200
|
+
} else {
|
201
|
+
items.push(/*#__PURE__*/ React__default.createElement(Button, {
|
202
|
+
variant: currentPage === 1 ? "outline" : "ghost",
|
203
|
+
key: 1,
|
204
|
+
onClick: ()=>table.setPageIndex(0),
|
205
|
+
className: "size-9"
|
206
|
+
}, "1"));
|
207
|
+
const start = Math.max(2, Math.min(currentPage, totalPageCount - (maxVisiblePages - 1)));
|
208
|
+
const end = Math.min(totalPageCount - 1, start + maxVisiblePages - 2);
|
209
|
+
if (start > 2) {
|
210
|
+
items.push(/*#__PURE__*/ React__default.createElement(PaginationItem, {
|
211
|
+
key: "ellipsis-start",
|
212
|
+
className: "list-none"
|
213
|
+
}, /*#__PURE__*/ React__default.createElement(PaginationEllipsis, null)));
|
214
|
+
}
|
215
|
+
for(let i = start; i <= end; i++){
|
216
|
+
items.push(/*#__PURE__*/ React__default.createElement(Button, {
|
217
|
+
variant: currentPage === i ? "outline" : "ghost",
|
218
|
+
key: i,
|
219
|
+
onClick: ()=>table.setPageIndex(i - 1),
|
220
|
+
className: "size-9"
|
221
|
+
}, i));
|
222
|
+
}
|
223
|
+
if (end < totalPageCount - 1) {
|
224
|
+
items.push(/*#__PURE__*/ React__default.createElement(PaginationItem, {
|
225
|
+
key: "ellipsis-end",
|
226
|
+
className: "list-none"
|
227
|
+
}, /*#__PURE__*/ React__default.createElement(PaginationEllipsis, null)));
|
228
|
+
}
|
229
|
+
items.push(/*#__PURE__*/ React__default.createElement(Button, {
|
230
|
+
variant: currentPage === totalPageCount ? "outline" : "ghost",
|
231
|
+
key: totalPageCount,
|
232
|
+
onClick: ()=>table.setPageIndex(totalPageCount - 1)
|
233
|
+
}, totalPageCount));
|
234
|
+
}
|
235
|
+
return items;
|
236
|
+
};
|
237
|
+
return /*#__PURE__*/ React__default.createElement("div", {
|
238
|
+
className: "mt-4 flex flex-wrap items-center justify-between gap-2"
|
239
|
+
}, /*#__PURE__*/ React__default.createElement("div", {
|
240
|
+
className: "text-muted-foreground flex gap-1 text-sm"
|
241
|
+
}, /*#__PURE__*/ React__default.createElement("p", {
|
242
|
+
className: "ml-2"
|
243
|
+
}, "Mostrando ", table.getRowModel().rows.length.toLocaleString(), " de ", rowCount, " ", dataLabel, ".")), /*#__PURE__*/ React__default.createElement("div", {
|
244
|
+
className: "flex flex-wrap items-center justify-between gap-2 gap-y-4"
|
245
|
+
}, /*#__PURE__*/ React__default.createElement(Select, {
|
246
|
+
value: String(table.getState().pagination.pageSize) || String(pageSize),
|
247
|
+
onValueChange: (value)=>table.setPageSize(Number(value))
|
248
|
+
}, /*#__PURE__*/ React__default.createElement(SelectTrigger, {
|
249
|
+
className: "w-fit"
|
250
|
+
}, /*#__PURE__*/ React__default.createElement(SelectValue, {
|
251
|
+
placeholder: `Mostrar ${table.getState().pagination.pageSize || pageSize}`
|
252
|
+
})), /*#__PURE__*/ React__default.createElement(SelectContent, null, rowCount && (rowCount === 0 || rowCount < pageSize) ? /*#__PURE__*/ React__default.createElement(SelectItem, {
|
253
|
+
value: String(pageSize)
|
254
|
+
}, "Mostrar ", pageSize) : /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, pageSizeOptions.map((pageSize)=>/*#__PURE__*/ React__default.createElement(SelectItem, {
|
255
|
+
key: pageSize,
|
256
|
+
value: String(pageSize)
|
257
|
+
}, "Mostrar ", pageSize))))), /*#__PURE__*/ React__default.createElement("div", {
|
258
|
+
className: "flex flex-wrap gap-2 gap-y-4"
|
259
|
+
}, /*#__PURE__*/ React__default.createElement(Button, {
|
260
|
+
variant: "ghost",
|
261
|
+
onClick: ()=>table.previousPage(),
|
262
|
+
disabled: !table.getCanPreviousPage(),
|
263
|
+
"aria-label": "Ir para página anterior",
|
264
|
+
className: "gap-1"
|
265
|
+
}, /*#__PURE__*/ React__default.createElement(ChevronLeft, {
|
266
|
+
className: "size-4"
|
267
|
+
}), "Anterior"), /*#__PURE__*/ React__default.createElement("div", {
|
268
|
+
className: "flex gap-2"
|
269
|
+
}, renderPageNumbers()), /*#__PURE__*/ React__default.createElement(Button, {
|
270
|
+
variant: "ghost",
|
271
|
+
onClick: ()=>table.nextPage(),
|
272
|
+
disabled: !table.getCanNextPage(),
|
273
|
+
"aria-label": "Ir para próxima página",
|
274
|
+
className: "gap-1"
|
275
|
+
}, "Próximo", /*#__PURE__*/ React__default.createElement(ChevronRight, {
|
276
|
+
className: "size-4"
|
277
|
+
})))));
|
278
|
+
}
|
279
|
+
|
280
|
+
const DataTablePaginationSkeleton = ({ className })=>{
|
281
|
+
return /*#__PURE__*/ React__default.createElement("div", {
|
282
|
+
className: "mt-4 flex flex-wrap items-center justify-between gap-2"
|
283
|
+
}, /*#__PURE__*/ React__default.createElement(Skeleton, {
|
284
|
+
className: cn("h-5 w-40", className)
|
285
|
+
}), /*#__PURE__*/ React__default.createElement("div", {
|
286
|
+
className: "flex flex-wrap items-center justify-between gap-2 gap-y-4"
|
287
|
+
}, /*#__PURE__*/ React__default.createElement(Skeleton, {
|
288
|
+
className: cn("h-10 w-28", className)
|
289
|
+
}), /*#__PURE__*/ React__default.createElement(Skeleton, {
|
290
|
+
className: cn("h-9 w-[16rem]", className)
|
291
|
+
})));
|
292
|
+
};
|
293
|
+
|
294
|
+
function DataTableRowSkeleton(props) {
|
295
|
+
const { columnCount, rowCount = 8, cellWidths = [
|
296
|
+
"auto"
|
297
|
+
], shrinkZero = false } = props;
|
298
|
+
return /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, Array.from({
|
299
|
+
length: rowCount
|
300
|
+
}).map((_, i)=>/*#__PURE__*/ React__default.createElement(TableRow, {
|
301
|
+
key: `row-${String(i)}`,
|
302
|
+
className: "hover:bg-transparent"
|
303
|
+
}, Array.from({
|
304
|
+
length: columnCount
|
305
|
+
}).map((_, j)=>/*#__PURE__*/ React__default.createElement(TableCell, {
|
306
|
+
key: `cell-${String(i)}-${j}`,
|
307
|
+
style: {
|
308
|
+
width: cellWidths[j],
|
309
|
+
minWidth: shrinkZero ? cellWidths[j] : "auto"
|
310
|
+
}
|
311
|
+
}, /*#__PURE__*/ React__default.createElement(Skeleton, {
|
312
|
+
className: "h-6 w-full"
|
313
|
+
}))))));
|
314
|
+
}
|
315
|
+
|
316
|
+
const DataTableMainFrame = ({ table, columns, isLoadingTable, loadingContent, setQueryParams, dataLabel, actionColumns = [], messageEmpty = /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, "Sem resultados"), dividingColumnKey, pageSizeOptions, className, scrollMaxHeightClass = "sm:max-h-[calc(100vh-300px)]", isScrollable = false, fixedHeader = false, showPagination = true })=>{
|
317
|
+
const currentPage = Number(table.getState().pagination.pageIndex).toString();
|
318
|
+
const pageSize = Number(table.getState().pagination.pageSize).toString();
|
319
|
+
const sorting = table.getState().sorting;
|
320
|
+
React__default.useEffect(()=>{
|
321
|
+
if (!setQueryParams) return;
|
322
|
+
const sortingParams = {
|
323
|
+
sortingBy: "",
|
324
|
+
order: ""
|
325
|
+
};
|
326
|
+
if (sorting.length > 0) {
|
327
|
+
sortingParams.sortingBy = sorting[0].id;
|
328
|
+
sortingParams.order = sorting[0].desc ? "DESC" : "ASC";
|
329
|
+
}
|
330
|
+
setQueryParams((prev)=>({
|
331
|
+
...prev,
|
332
|
+
pageSize,
|
333
|
+
page: currentPage,
|
334
|
+
...sortingParams
|
335
|
+
}));
|
336
|
+
}, [
|
337
|
+
currentPage,
|
338
|
+
pageSize,
|
339
|
+
setQueryParams,
|
340
|
+
sorting
|
341
|
+
]);
|
342
|
+
const renderTableBodyContent = ()=>{
|
343
|
+
if (isLoadingTable && !loadingContent) {
|
344
|
+
return /*#__PURE__*/ React__default.createElement(DataTableRowSkeleton, {
|
345
|
+
columnCount: table.getAllColumns().length
|
346
|
+
});
|
347
|
+
}
|
348
|
+
if (isLoadingTable && loadingContent) {
|
349
|
+
return /*#__PURE__*/ React__default.createElement(TableCell, {
|
350
|
+
colSpan: columns.length,
|
351
|
+
className: "h-24 text-center"
|
352
|
+
}, loadingContent);
|
353
|
+
}
|
354
|
+
if (table.getRowModel().rows.length === 0) {
|
355
|
+
return /*#__PURE__*/ React__default.createElement(TableRow, null, /*#__PURE__*/ React__default.createElement(TableCell, {
|
356
|
+
colSpan: columns.length,
|
357
|
+
className: "h-24 text-center"
|
358
|
+
}, /*#__PURE__*/ React__default.createElement("span", {
|
359
|
+
className: "inline-block max-w-[30rem] text-wrap break-words"
|
360
|
+
}, messageEmpty)));
|
361
|
+
}
|
362
|
+
return table.getRowModel().rows.map((row, index)=>{
|
363
|
+
const rowKey = row.id ?? String(index);
|
364
|
+
return /*#__PURE__*/ React__default.createElement(TableRow, {
|
365
|
+
key: rowKey,
|
366
|
+
"data-state": row.getIsSelected() && "selected",
|
367
|
+
className: "even:bg-body/50"
|
368
|
+
}, row.getVisibleCells().map((cell)=>/*#__PURE__*/ React__default.createElement(TableCell, {
|
369
|
+
key: cell.id,
|
370
|
+
className: cn("p-2 py-1", dividingColumnKey?.includes(cell.column.id) && "border-r")
|
371
|
+
}, flexRender(cell.column.columnDef.cell, cell.getContext()))));
|
372
|
+
});
|
373
|
+
};
|
374
|
+
const shouldForceMinHeight = table.getRowModel().rows.length > 1 || isLoadingTable;
|
375
|
+
return /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, /*#__PURE__*/ React__default.createElement("div", {
|
376
|
+
className: cn("bg-background mx-1 h-full w-full rounded-md border whitespace-nowrap", className)
|
377
|
+
}, /*#__PURE__*/ React__default.createElement("div", {
|
378
|
+
className: cn("relative w-full overflow-auto", shouldForceMinHeight && "force-min-height", isScrollable && scrollMaxHeightClass && scrollMaxHeightClass)
|
379
|
+
}, /*#__PURE__*/ React__default.createElement(Table, null, /*#__PURE__*/ React__default.createElement(TableHeader, {
|
380
|
+
className: cn(fixedHeader && "bg-background sticky top-0 z-10 shadow-[0_1px_0_hsl(240_6%_90%)]")
|
381
|
+
}, table.getHeaderGroups().map((headerGroup)=>{
|
382
|
+
return /*#__PURE__*/ React__default.createElement(TableRow, {
|
383
|
+
key: headerGroup.id
|
384
|
+
}, headerGroup.headers.map((header)=>{
|
385
|
+
const { column: { id } } = header;
|
386
|
+
const isActionsColumn = [
|
387
|
+
"actions",
|
388
|
+
...actionColumns
|
389
|
+
].includes(id);
|
390
|
+
return /*#__PURE__*/ React__default.createElement(TableHead, {
|
391
|
+
className: cn(dividingColumnKey?.includes(id) ? "border-r" : "", "static"),
|
392
|
+
key: header.id
|
393
|
+
}, header.isPlaceholder ? null : /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, /*#__PURE__*/ React__default.createElement("div", {
|
394
|
+
className: !isActionsColumn && header.column.getCanSort() ? "flex w-fit items-center justify-start cursor-pointer gap-1 font-medium" : "",
|
395
|
+
onClick: !isActionsColumn ? header.column.getToggleSortingHandler() : undefined
|
396
|
+
}, flexRender(header.column.columnDef.header, header.getContext()), (!isActionsColumn && header.column.getCanSort() && ({
|
397
|
+
asc: /*#__PURE__*/ React__default.createElement(ArrowDown, {
|
398
|
+
className: "h-3.5 w-3.5"
|
399
|
+
}),
|
400
|
+
desc: /*#__PURE__*/ React__default.createElement(ArrowUp, {
|
401
|
+
className: "h-3.5 w-3.5"
|
402
|
+
}),
|
403
|
+
false: /*#__PURE__*/ React__default.createElement(CaretSortIcon, {
|
404
|
+
className: "h-4 w-4"
|
405
|
+
})
|
406
|
+
})[header.column.getIsSorted()]) ?? /*#__PURE__*/ React__default.createElement(ArrowDown, {
|
407
|
+
className: "h-3.5 w-3.5"
|
408
|
+
}))));
|
409
|
+
}));
|
410
|
+
})), /*#__PURE__*/ React__default.createElement(TableBody, null, renderTableBodyContent())))), isScrollable || !showPagination ? null : isLoadingTable ? /*#__PURE__*/ React__default.createElement(DataTablePaginationSkeleton, null) : /*#__PURE__*/ React__default.createElement(DataTablePagination, {
|
411
|
+
table: table,
|
412
|
+
dataLabel: dataLabel,
|
413
|
+
pageSizeOptions: pageSizeOptions
|
414
|
+
}));
|
415
|
+
};
|
416
|
+
|
417
|
+
function DataTableSkeleton(props) {
|
418
|
+
const { columnCount, rowCount = 10, searchableColumnCount = 0, filterableColumnCount = 0, showViewOptions = true, cellWidths = [
|
419
|
+
"auto"
|
420
|
+
], withPagination = true, shrinkZero = false, className, ...skeletonProps } = props;
|
421
|
+
return /*#__PURE__*/ React__default.createElement("div", {
|
422
|
+
className: cn("w-full space-y-2.5 overflow-auto", className),
|
423
|
+
...skeletonProps
|
424
|
+
}, /*#__PURE__*/ React__default.createElement("div", {
|
425
|
+
className: "flex w-full items-center justify-between space-x-2 overflow-auto p-1"
|
426
|
+
}, /*#__PURE__*/ React__default.createElement("div", {
|
427
|
+
className: "flex flex-1 items-center space-x-2"
|
428
|
+
}, searchableColumnCount > 0 ? Array.from({
|
429
|
+
length: searchableColumnCount
|
430
|
+
}).map((_, i)=>/*#__PURE__*/ React__default.createElement(Skeleton, {
|
431
|
+
key: `${String(i)}`,
|
432
|
+
className: "h-7 w-40 lg:w-60"
|
433
|
+
})) : null, filterableColumnCount > 0 ? Array.from({
|
434
|
+
length: filterableColumnCount
|
435
|
+
}).map((_, i)=>/*#__PURE__*/ React__default.createElement(Skeleton, {
|
436
|
+
key: `${String(i)}`,
|
437
|
+
className: "h-7 w-[4.5rem] border-dashed"
|
438
|
+
})) : null), showViewOptions ? /*#__PURE__*/ React__default.createElement(Skeleton, {
|
439
|
+
className: "ml-auto hidden h-7 w-[4.5rem] lg:flex"
|
440
|
+
}) : null), /*#__PURE__*/ React__default.createElement("div", {
|
441
|
+
className: "rounded-md border"
|
442
|
+
}, /*#__PURE__*/ React__default.createElement(Table, null, /*#__PURE__*/ React__default.createElement(TableHeader, null, Array.from({
|
443
|
+
length: 1
|
444
|
+
}).map((_, i)=>/*#__PURE__*/ React__default.createElement(TableRow, {
|
445
|
+
key: `${String(i)}`,
|
446
|
+
className: "hover:bg-transparent"
|
447
|
+
}, Array.from({
|
448
|
+
length: columnCount
|
449
|
+
}).map((_, j)=>/*#__PURE__*/ React__default.createElement(TableHead, {
|
450
|
+
key: `${String(j)}`,
|
451
|
+
style: {
|
452
|
+
width: cellWidths[j],
|
453
|
+
minWidth: shrinkZero ? cellWidths[j] : "auto"
|
454
|
+
}
|
455
|
+
}, /*#__PURE__*/ React__default.createElement(Skeleton, {
|
456
|
+
className: "h-6 w-full"
|
457
|
+
})))))), /*#__PURE__*/ React__default.createElement(TableBody, null, Array.from({
|
458
|
+
length: rowCount
|
459
|
+
}).map((_, i)=>/*#__PURE__*/ React__default.createElement(TableRow, {
|
460
|
+
key: `${String(i)}`,
|
461
|
+
className: "hover:bg-transparent"
|
462
|
+
}, Array.from({
|
463
|
+
length: columnCount
|
464
|
+
}).map((_, j)=>/*#__PURE__*/ React__default.createElement(TableCell, {
|
465
|
+
key: `${String(j)}`,
|
466
|
+
style: {
|
467
|
+
width: cellWidths[j],
|
468
|
+
minWidth: shrinkZero ? cellWidths[j] : "auto"
|
469
|
+
}
|
470
|
+
}, /*#__PURE__*/ React__default.createElement(Skeleton, {
|
471
|
+
className: "h-6 w-full"
|
472
|
+
})))))))), withPagination ? /*#__PURE__*/ React__default.createElement("div", {
|
473
|
+
className: "flex w-full items-center justify-between gap-4 overflow-auto p-1 sm:gap-8"
|
474
|
+
}, /*#__PURE__*/ React__default.createElement(Skeleton, {
|
475
|
+
className: "h-7 w-40 shrink-0"
|
476
|
+
}), /*#__PURE__*/ React__default.createElement("div", {
|
477
|
+
className: "flex items-center gap-4 sm:gap-6 lg:gap-8"
|
478
|
+
}, /*#__PURE__*/ React__default.createElement("div", {
|
479
|
+
className: "flex items-center space-x-2"
|
480
|
+
}, /*#__PURE__*/ React__default.createElement(Skeleton, {
|
481
|
+
className: "h-7 w-24"
|
482
|
+
}), /*#__PURE__*/ React__default.createElement(Skeleton, {
|
483
|
+
className: "h-7 w-[4.5rem]"
|
484
|
+
})), /*#__PURE__*/ React__default.createElement("div", {
|
485
|
+
className: "flex items-center justify-center text-sm font-medium"
|
486
|
+
}, /*#__PURE__*/ React__default.createElement(Skeleton, {
|
487
|
+
className: "h-7 w-20"
|
488
|
+
})), /*#__PURE__*/ React__default.createElement("div", {
|
489
|
+
className: "flex items-center space-x-2"
|
490
|
+
}, /*#__PURE__*/ React__default.createElement(Skeleton, {
|
491
|
+
className: "hidden size-7 lg:block"
|
492
|
+
}), /*#__PURE__*/ React__default.createElement(Skeleton, {
|
493
|
+
className: "size-7"
|
494
|
+
}), /*#__PURE__*/ React__default.createElement(Skeleton, {
|
495
|
+
className: "size-7"
|
496
|
+
}), /*#__PURE__*/ React__default.createElement(Skeleton, {
|
497
|
+
className: "hidden size-7 lg:block"
|
498
|
+
})))) : null);
|
499
|
+
}
|
500
|
+
|
501
|
+
function DataTableStatus({ table, uniqueStatusValues, renderStatusMessage, className }) {
|
502
|
+
const triggerRef = React__default.useRef(null);
|
503
|
+
const currentFilter = table.getColumn("status")?.getFilterValue();
|
504
|
+
return /*#__PURE__*/ React__default.createElement(Popover, {
|
505
|
+
modal: true
|
506
|
+
}, /*#__PURE__*/ React__default.createElement(PopoverTrigger, {
|
507
|
+
asChild: true
|
508
|
+
}, /*#__PURE__*/ React__default.createElement(Button, {
|
509
|
+
ref: triggerRef,
|
510
|
+
"aria-label": "Filtre por status",
|
511
|
+
variant: "outline",
|
512
|
+
className: cn("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", className)
|
513
|
+
}, currentFilter ? renderStatusMessage(currentFilter) : "Todos os status", /*#__PURE__*/ React__default.createElement(ChevronDown, {
|
514
|
+
className: "h-4 w-4"
|
515
|
+
}))), /*#__PURE__*/ React__default.createElement(PopoverContent, {
|
516
|
+
align: "end",
|
517
|
+
className: "w-44 p-0",
|
518
|
+
onCloseAutoFocus: ()=>triggerRef.current?.focus()
|
519
|
+
}, /*#__PURE__*/ React__default.createElement(Command, null, /*#__PURE__*/ React__default.createElement(CommandInput, {
|
520
|
+
placeholder: "Pesquisar status..."
|
521
|
+
}), /*#__PURE__*/ React__default.createElement(CommandList, null, /*#__PURE__*/ React__default.createElement(CommandEmpty, null, "Nenhum status encontrado."), /*#__PURE__*/ React__default.createElement(CommandItem, {
|
522
|
+
key: "all",
|
523
|
+
onSelect: ()=>table.getColumn("status")?.setFilterValue(undefined)
|
524
|
+
}, /*#__PURE__*/ React__default.createElement("span", {
|
525
|
+
className: "truncate"
|
526
|
+
}, "Todos os status")), uniqueStatusValues.map((item)=>{
|
527
|
+
if (!item) return null;
|
528
|
+
const statusMessage = renderStatusMessage(item);
|
529
|
+
return /*#__PURE__*/ React__default.createElement(CommandItem, {
|
530
|
+
key: `${String(item)}`,
|
531
|
+
onSelect: ()=>table.getColumn("status")?.setFilterValue(item)
|
532
|
+
}, /*#__PURE__*/ React__default.createElement("span", {
|
533
|
+
className: "truncate"
|
534
|
+
}, statusMessage));
|
535
|
+
})))));
|
536
|
+
}
|
537
|
+
|
538
|
+
const getRowKey = (row, rowKey)=>{
|
539
|
+
if (typeof rowKey === "function") {
|
540
|
+
return rowKey(row);
|
541
|
+
}
|
542
|
+
if (Array.isArray(rowKey)) {
|
543
|
+
for (const key of rowKey){
|
544
|
+
if (row[key] !== undefined && row[key] !== null) {
|
545
|
+
return row[key];
|
546
|
+
}
|
547
|
+
}
|
548
|
+
return "";
|
549
|
+
}
|
550
|
+
return row[rowKey];
|
551
|
+
};
|
552
|
+
const DataTableMainFrameSortable = ({ table, columns, isLoadingTable, loadingContent, setQueryParams, dataLabel, actionColumns = [], data, messageEmpty = /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, "Sem resultados"), onDataChange, rowKey, dividingColumnKey, pageSizeOptions, className, scrollMaxHeightClass = "sm:max-h-[calc(100vh-300px)]", isScrollable = false, fixedHeader = false, showPagination = true })=>{
|
553
|
+
const currentPage = Number(table.getState().pagination.pageIndex).toString();
|
554
|
+
const pageSize = Number(table.getState().pagination.pageSize).toString();
|
555
|
+
const sorting = table.getState().sorting;
|
556
|
+
const [newData, setNewData] = React__default.useState(data);
|
557
|
+
const handleValueChange = (updatedData)=>{
|
558
|
+
setNewData(updatedData);
|
559
|
+
onDataChange?.(updatedData);
|
560
|
+
};
|
561
|
+
React__default.useEffect(()=>{
|
562
|
+
setNewData(data);
|
563
|
+
}, [
|
564
|
+
data
|
565
|
+
]);
|
566
|
+
React__default.useEffect(()=>{
|
567
|
+
if (!setQueryParams) return;
|
568
|
+
const sortingParams = {
|
569
|
+
sortingBy: "",
|
570
|
+
order: ""
|
571
|
+
};
|
572
|
+
if (sorting.length > 0) {
|
573
|
+
sortingParams.sortingBy = sorting[0].id;
|
574
|
+
sortingParams.order = sorting[0].desc ? "DESC" : "ASC";
|
575
|
+
}
|
576
|
+
setQueryParams((prev)=>({
|
577
|
+
...prev,
|
578
|
+
pageSize,
|
579
|
+
page: currentPage,
|
580
|
+
...sortingParams
|
581
|
+
}));
|
582
|
+
}, [
|
583
|
+
currentPage,
|
584
|
+
pageSize,
|
585
|
+
setQueryParams,
|
586
|
+
sorting
|
587
|
+
]);
|
588
|
+
const renderTableBodyContent = ()=>{
|
589
|
+
if (isLoadingTable && !loadingContent) {
|
590
|
+
return /*#__PURE__*/ React__default.createElement(DataTableRowSkeleton, {
|
591
|
+
columnCount: table.getAllColumns().length
|
592
|
+
});
|
593
|
+
}
|
594
|
+
if (isLoadingTable && loadingContent) {
|
595
|
+
return /*#__PURE__*/ React__default.createElement(TableCell, {
|
596
|
+
colSpan: columns.length,
|
597
|
+
className: "h-24 text-center"
|
598
|
+
}, loadingContent);
|
599
|
+
}
|
600
|
+
if (table.getRowModel().rows.length === 0) {
|
601
|
+
return /*#__PURE__*/ React__default.createElement(TableRow, null, /*#__PURE__*/ React__default.createElement(TableCell, {
|
602
|
+
colSpan: columns.length,
|
603
|
+
className: "h-24 text-center"
|
604
|
+
}, /*#__PURE__*/ React__default.createElement("span", {
|
605
|
+
className: "inline-block max-w-[30rem] text-wrap break-words"
|
606
|
+
}, messageEmpty)));
|
607
|
+
}
|
608
|
+
return table.getRowModel().rows.map((row)=>{
|
609
|
+
const rowData = row.original;
|
610
|
+
const key = getRowKey(rowData, rowKey);
|
611
|
+
return /*#__PURE__*/ React__default.createElement(SortableItem, {
|
612
|
+
key: row.id,
|
613
|
+
value: key,
|
614
|
+
asChild: true
|
615
|
+
}, /*#__PURE__*/ React__default.createElement(TableRow, {
|
616
|
+
"data-state": row.getIsSelected() && "selected",
|
617
|
+
className: "even:bg-body/50"
|
618
|
+
}, row.getVisibleCells().map((cell)=>/*#__PURE__*/ React__default.createElement(TableCell, {
|
619
|
+
key: cell.id,
|
620
|
+
className: cn("p-2 py-1", dividingColumnKey?.includes(cell.column.id) && "border-r")
|
621
|
+
}, flexRender(cell.column.columnDef.cell, cell.getContext())))));
|
622
|
+
});
|
623
|
+
};
|
624
|
+
const shouldForceMinHeight = table.getRowModel().rows.length > 1 || isLoadingTable;
|
625
|
+
return /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, /*#__PURE__*/ React__default.createElement("div", {
|
626
|
+
className: cn("bg-background mx-1 h-full w-full rounded-md border whitespace-nowrap", className)
|
627
|
+
}, /*#__PURE__*/ React__default.createElement("div", {
|
628
|
+
className: cn("relative w-full overflow-auto", shouldForceMinHeight && "force-min-height", isScrollable && scrollMaxHeightClass && scrollMaxHeightClass)
|
629
|
+
}, /*#__PURE__*/ React__default.createElement(Table, null, /*#__PURE__*/ React__default.createElement(TableHeader, {
|
630
|
+
className: cn(fixedHeader && "bg-background sticky top-0 z-10 shadow-[0_1px_0_hsl(240_6%_90%)]")
|
631
|
+
}, table.getHeaderGroups().map((headerGroup)=>{
|
632
|
+
return /*#__PURE__*/ React__default.createElement(TableRow, {
|
633
|
+
key: headerGroup.id
|
634
|
+
}, headerGroup.headers.map((header)=>{
|
635
|
+
const { column: { id } } = header;
|
636
|
+
const isActionsColumn = [
|
637
|
+
"actions",
|
638
|
+
...actionColumns
|
639
|
+
].includes(id);
|
640
|
+
return /*#__PURE__*/ React__default.createElement(TableHead, {
|
641
|
+
className: dividingColumnKey?.includes(id) ? "border-r" : "",
|
642
|
+
key: header.id
|
643
|
+
}, header.isPlaceholder ? null : /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, /*#__PURE__*/ React__default.createElement("div", {
|
644
|
+
className: !isActionsColumn && header.column.getCanSort() ? "flex w-fit items-center justify-start cursor-pointer gap-1 font-medium" : "",
|
645
|
+
onClick: !isActionsColumn ? header.column.getToggleSortingHandler() : undefined
|
646
|
+
}, flexRender(header.column.columnDef.header, header.getContext()), (!isActionsColumn && header.column.getCanSort() && ({
|
647
|
+
asc: /*#__PURE__*/ React__default.createElement(ArrowDown, {
|
648
|
+
className: "h-3.5 w-3.5"
|
649
|
+
}),
|
650
|
+
desc: /*#__PURE__*/ React__default.createElement(ArrowUp, {
|
651
|
+
className: "h-3.5 w-3.5"
|
652
|
+
}),
|
653
|
+
false: /*#__PURE__*/ React__default.createElement(CaretSortIcon, {
|
654
|
+
className: "h-4 w-4"
|
655
|
+
})
|
656
|
+
})[header.column.getIsSorted()]) ?? /*#__PURE__*/ React__default.createElement(ArrowDown, {
|
657
|
+
className: "h-3.5 w-3.5"
|
658
|
+
}))));
|
659
|
+
}));
|
660
|
+
})), /*#__PURE__*/ React__default.createElement(TableBody, null, /*#__PURE__*/ React__default.createElement(Sortable, {
|
661
|
+
value: newData.map((item)=>({
|
662
|
+
...item,
|
663
|
+
id: getRowKey(item, rowKey)
|
664
|
+
})),
|
665
|
+
onValueChange: handleValueChange
|
666
|
+
}, renderTableBodyContent()))))), isScrollable || !showPagination ? null : isLoadingTable ? /*#__PURE__*/ React__default.createElement(DataTablePaginationSkeleton, null) : /*#__PURE__*/ React__default.createElement(DataTablePagination, {
|
667
|
+
table: table,
|
668
|
+
dataLabel: dataLabel,
|
669
|
+
pageSizeOptions: pageSizeOptions
|
670
|
+
}));
|
671
|
+
};
|
672
|
+
|
673
|
+
export { DataTableMainFrame, DataTableMainFrameSortable, DataTablePagination, DataTablePaginationSkeleton, DataTableRowSkeleton, DataTableSearch, DataTableSkeleton, DataTableStatus, DataTableViewOptions };
|
2
674
|
//# sourceMappingURL=index.mjs.map
|