@sito/dashboard 0.0.44 → 0.0.45
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/components/Badge/Badge.d.ts +2 -0
- package/dist/components/Badge/index.d.ts +2 -0
- package/dist/components/Badge/types.d.ts +4 -0
- package/dist/components/Table/components/Filters/ActiveFilters/ActiveFilters.d.ts +2 -0
- package/dist/components/Table/components/Filters/ActiveFilters/RangeChip.d.ts +2 -0
- package/dist/components/Table/components/Filters/ActiveFilters/index.d.ts +1 -0
- package/dist/components/Table/components/Filters/ActiveFilters/types.d.ts +10 -0
- package/dist/components/Table/components/Filters/FilterDropdown/FilterDropdown.d.ts +2 -0
- package/dist/components/Table/components/{FilterPopup → Filters/FilterDropdown}/index.d.ts +1 -1
- package/dist/components/Table/components/{FilterPopup → Filters/FilterDropdown}/types.d.ts +4 -2
- package/dist/components/Table/components/{FilterPopup → Filters/FilterDropdown}/utils.d.ts +1 -1
- package/dist/components/Table/components/Filters/index.d.ts +2 -0
- package/dist/components/Table/components/TableHeader/types.d.ts +1 -1
- package/dist/components/Table/components/index.d.ts +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/dashboard.cjs +1 -1
- package/dist/dashboard.js +554 -499
- package/dist/main.css +1 -1
- package/dist/providers/TableOptions/types.d.ts +2 -0
- package/package.json +1 -1
- package/dist/components/Table/components/FilterPopup/FilterPopup.d.ts +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ActiveFilters';
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import { FilterType } from '
|
|
3
|
-
export type
|
|
2
|
+
import { FilterType } from '../../../../../lib';
|
|
3
|
+
export type FilterDropdownPropsType = {
|
|
4
4
|
filters?: FilterType[];
|
|
5
5
|
options?: FilterOptions;
|
|
6
|
+
show: boolean;
|
|
7
|
+
handleShow: (value: boolean) => void;
|
|
6
8
|
};
|
|
7
9
|
export type FilterOptions = {
|
|
8
10
|
button: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { ColumnType } from '../types';
|
|
3
3
|
import { BaseDto } from '../../../../lib';
|
|
4
|
-
import { FilterOptions } from '../
|
|
4
|
+
import { FilterOptions } from '../Filters/FilterDropdown';
|
|
5
5
|
export type TableHeaderPropsType<TRow extends BaseDto> = {
|
|
6
6
|
title?: string;
|
|
7
7
|
isLoading?: boolean;
|
package/dist/dashboard.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var Se=require("./main.css");Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("react");function H(t){const{className:n=""}=t;return e.jsx("svg",{className:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"currentColor",children:e.jsx("path",{d:"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"})})}function W(t){const{className:n=""}=t;return e.jsx("svg",{className:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"currentColor",children:e.jsx("path",{d:"M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z"})})}function q(t){const{className:n=""}=t;return e.jsx("svg",{className:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 320 512",fill:"currentColor",children:e.jsx("path",{d:"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"})})}function J(t){const{className:n=""}=t;return e.jsx("svg",{className:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 320 512",fill:"currentColor",children:e.jsx("path",{d:"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"})})}const V=t=>{const{className:n=""}=t;return e.jsx("svg",{className:n,viewBox:"0 0 16 16",children:e.jsx("path",{d:"M9 15H7a1 1 0 010-2h2a1 1 0 010 2zM11 11H5a1 1 0 010-2h6a1 1 0 010 2zM13 7H3a1 1 0 010-2h10a1 1 0 010 2zM15 3H1a1 1 0 010-2h14a1 1 0 010 2z"})})};function _(t){const{className:n=""}=t;return e.jsx("svg",{className:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512",fill:"currentColor",children:e.jsx("path",{d:"M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"})})}var L=(t=>(t.error="error",t.good="good",t.default="default",t))(L||{});const A=t=>{switch(t){case"error":return"input-error";case"good":return"input-good";default:return"input-normal"}},B=t=>{switch(t){case"error":return"input-label-error";case"good":return"input-label-good";default:return"input-label-normal"}},D=t=>{switch(t){case"error":return"input-helper-text-error";case"good":return"input-helper-text-good";default:return"input-helper-text-normal"}};const M=i.forwardRef(function(t,n){const{value:a,onChange:s,options:r,containerClassName:o="",inputClassName:c="",labelClassName:u="",helperText:l="",helperTextClassName:m="",placeholder:p="",label:h="",name:v="",id:C="",state:j=L.default,children:g,...d}=t;return e.jsxs("div",{className:`select-input-container ${o}`,children:[e.jsx("select",{...d,id:C,ref:n,name:v,value:a,onChange:s,className:`select-input ${A(j)} peer ${c}`,children:r==null?void 0:r.map(x=>e.jsx("option",{value:x.id,children:x.value??x.name??x.id},x.id))}),e.jsx("label",{htmlFor:v,className:`select-input-label ${B(j)} ${u}`,children:h}),g,e.jsx("p",{className:`select-input-helper-text ${D(j)} ${m}`,children:j!=="error"&&j!=="good"?p:l})]})});const z=i.forwardRef(function(t,n){const{children:a,state:s=L.default,label:r="",containerClassName:o="",inputClassName:c="",labelClassName:u="",helperText:l="",helperTextClassName:m="",value:p="",...h}=t;return e.jsxs("div",{className:`text-input-container ${o}`,children:[e.jsx("input",{ref:n,value:p,className:`text-input ${A(s)} peer ${c} ${p?"has-value":""} ${h.placeholder?"has-placeholder":""}`,...h}),!!r&&e.jsxs("label",{htmlFor:h.name,className:`text-input-label ${B(s)} ${u}`,children:[r,h.required?" *":""]}),a,!!l&&e.jsx("p",{className:`text-input-helper-text ${D(s)} ${m}`,children:l})]})});const G=i.forwardRef(function(t,n){const{checked:a,onChange:s,state:r=L.default,name:o="",id:c="",type:u="text",label:l="",containerClassName:m="",inputClassName:p="",labelClassName:h="",helperText:v="",helperTextClassName:C="",...j}=t;return e.jsxs("label",{className:`input-check-container ${m}`,children:[e.jsx("input",{id:c,ref:n,name:o,type:"checkbox",checked:a,onChange:s,className:`input-check ${p}`,...j}),e.jsx("span",{className:`input-check-label ${h}`,children:l})]})});const K=i.forwardRef(function(t,n){const{state:a,value:s,onChange:r,options:o=[],name:c="",id:u="",label:l="",containerClassName:m="",inputContainerClassName:p="",helperText:h="",placeholder:v="",multiple:C=!1,...j}=t,[g,d]=i.useState(""),[x,N]=i.useState(!1),f=o.filter(b=>{const w=String(b.value).toLowerCase().includes(g==null?void 0:g.toLowerCase());return s&&s.length?s!=null&&s.some?!(s!=null&&s.some(R=>R.id===b.id)):(s==null?void 0:s.id)!==b.id:w}),F=i.useRef(null);i.useEffect(()=>{const b=P=>{F.current&&!F.current.contains(P.target)&&N(!1)},w=P=>{P.key==="Escape"&&N(!1)};return document.addEventListener("mousedown",b),document.addEventListener("keydown",w),()=>{document.removeEventListener("mousedown",b),document.removeEventListener("keydown",w)}},[]);const E=b=>{d(b.target.value)},I=i.useCallback(b=>{d(""),b?C?Array.isArray(s)&&s.length?r([...s,b]):r([b]):r(b):r(null),N(!1)},[C,r,s]),xe=i.useCallback(b=>{const w=s.filter((P,R)=>R!==b);w.length?r(w):r(null)},[r,s]);return e.jsxs("div",{className:`autocomplete-input-container ${m}`,ref:F,children:[e.jsx(z,{state:a,name:c,id:u,value:!C&&s?s.value??s.name:g,onChange:E,placeholder:v,helperText:h,onFocus:()=>N(!0),label:l,containerClassName:`autocomplete-text-input ${p}`,ref:n,...j,children:!C&&s&&e.jsx("button",{type:"button",className:"autocomplete-delete-button",onClick:b=>{I(),b.stopPropagation()},children:e.jsx(_,{})})}),x&&e.jsx("ul",{className:"autocomplete-suggestions-container",children:f.map(b=>e.jsx("li",{className:"autocomplete-suggestion-item",onClick:w=>{I(b),w.stopPropagation()},children:b.value??b.name},b.id??b.value??b.name))}),C&&Array.isArray(s)&&s.length?e.jsx("ul",{className:"autocomplete-value-container",children:s.map((b,w)=>e.jsx("li",{children:e.jsx(me,{label:String(b.value??b.name),onDelete:P=>{xe(w),P.stopPropagation()}})},b.id??b.value??b.name))}):null]})});function Q(t){const{color:n="stroke-blue-800",className:a="",loaderClass:s="",strokeWidth:r="4",...o}=t;return e.jsx("div",{...o,className:`loading ${a}`,children:e.jsx("div",{className:"loader-container",children:e.jsx("div",{className:`loader ${s}`,children:e.jsx("svg",{className:"circular",viewBox:"25 25 50 50",children:e.jsx("circle",{className:`path ${n}`,cx:"50",cy:"50",r:"20",fill:"none",strokeWidth:r,strokeMiterlimit:"10"})})})})})}const X=i.createContext({});function be(t){const{children:n,t:a}=t;return e.jsx(X.Provider,{value:{t:a},children:n})}const k=()=>{const t=i.useContext(X);if(t===void 0)throw new Error("translationContext must be used within a Provider");return t};var S=(t=>(t[t.text=0]="text",t[t.number=1]="number",t[t.select=2]="select",t[t.autocomplete=3]="autocomplete",t[t.date=4]="date",t[t.check=5]="check",t))(S||{}),T=(t=>(t.ASC="ASC",t.DESC="DESC",t))(T||{});const je=[20,50,100],Y=i.createContext({}),Ce=t=>{const{children:n}=t,[a,s]=i.useState(0),[r,o]=i.useState(20),[c,u]=i.useState(0),[l,m]=i.useState("id"),[p,h]=i.useState(T.DESC),[v,C]=i.useState({}),j=i.useCallback((x,N)=>{let f=p;if(l===x)switch(p){case T.ASC:f=T.DESC;break;default:f=T.ASC;break}m(x),h(f),N&&N(x,f)},[l,p]),g=i.useCallback(x=>{const N=Object.entries(x).reduce((f,[F,E])=>(E&&typeof E.value<"u"&&(f[F]=E.value),f),{});C(N)},[]),d={onSort:j,total:a,setTotal:s,sortingBy:l,setSortingBy:m,sortingOrder:p,setSortingOrder:h,pageSize:r,pageSizes:je,setPageSize:o,currentPage:c,setCurrentPage:u,filters:v,onFilterApply:g};return e.jsx(Y.Provider,{value:d,children:n})},$=()=>{const t=i.useContext(Y);if(t===void 0)throw new Error("tableOptionsContext must be used within a Provider");return t};var y=(t=>(t[t.update=0]="update",t[t.reset=1]="reset",t))(y||{});const Z=t=>{if(t){const n={},a=Object.keys(t);return a==null||a.forEach(s=>{n[s]={value:t[s]}}),n}return{}};function ee(t,n){const{type:a}=n;switch(a){case y.reset:{const{filters:s}=n,r={};return s==null||s.forEach(({propertyName:o,defaultValue:c})=>{r[o]={value:c}}),{...t,...r}}case y.update:{const{toUpdate:s}=n;return{...t,...s}}default:return t}}const te=i.createContext({}),se=t=>{const{children:n}=t,{filters:a}=$(),[s,r]=i.useReducer(ee,Z(a)),o={currentFilters:s,setCurrentFilters:r};return e.jsx(te.Provider,{value:o,children:n})},O=()=>{const t=i.useContext(te);if(t===void 0)throw new Error("tableOptionsContext must be used within a Provider");return t};function ne(t){const{t:n}=k(),{entity:a="",columns:s=[],hasAction:r=!0,onSortCallback:o}=t,{onSort:c,sortingOrder:u,sortingBy:l}=$(),m=i.useMemo(()=>{var p;return(p=s.sort((h,v)=>(v.pos??0)-(h.pos??0)).filter(h=>h.display!=="none"))==null?void 0:p.map(h=>({id:h.key,label:h.label,className:h.className??"",sortable:h.sortable??!0,sortOptions:h.sortOptions}))},[s,a,n]);return e.jsx("thead",{className:"table-headers-row",children:e.jsxs("tr",{children:[m.map(p=>{var h,v,C,j,g,d,x,N;return e.jsx("th",{scope:"col",className:`table-headers-column ${p.className}`,children:e.jsxs("button",{disabled:!p.sortable,onClick:()=>c(p.id,o),className:"table-headers-cell",children:[e.jsx("span",{className:"table-headers-label",children:p.label}),p.sortable&&e.jsx("span",{className:`${l===p.id?"table-headers-sort-on":"table-headers-sort"}`,children:u===T.ASC?((v=(h=p.sortOptions)==null?void 0:h.icons)==null?void 0:v.asc)??e.jsx(W,{className:((j=(C=p.sortOptions)==null?void 0:C.icons)==null?void 0:j.className)??"table-headers-sort-indicator"}):((d=(g=p.sortOptions)==null?void 0:g.icons)==null?void 0:d.desc)??e.jsx(H,{className:((N=(x=p.sortOptions)==null?void 0:x.icons)==null?void 0:N.className)??"table-headers-sort-indicator"})})]})},p.id)}),r&&e.jsx("th",{scope:"col",className:"table-headers-action",children:n("_accessibility:labels.actions")})]})})}function ae(){const{t}=k();return e.jsx("div",{className:"table-empty",children:e.jsx("p",{children:t("_accessibility:components.table.empty")})})}const re=()=>{const{t}=k(),{total:n,pageSize:a,currentPage:s,setCurrentPage:r}=$();return e.jsxs("div",{className:"table-navigation-pages",children:[e.jsx("button",{className:"table-navigation-buttons",disabled:s===0,"aria-label":t("_accessibility:buttons.previous"),name:t("_accessibility:buttons.previous"),onClick:()=>r(s-1),children:e.jsx(J,{className:"w-2.5"})}),e.jsx("button",{disabled:Math.floor(n/((s+1)*a))===0,className:"table-navigation-buttons",name:t("_accessibility:buttons.next"),"aria-label":t("_accessibility:buttons.next"),onClick:()=>r(s+1),children:e.jsx(q,{className:"w-2.5"})})]})},le=()=>{const{t}=k(),{total:n,pageSize:a,pageSizes:s,currentPage:r}=$(),o=(r+1)*a>n?n:(r+1)*a;return e.jsxs("div",{className:"table-navigation-sizes",children:[s[0]<n&&e.jsx(e.Fragment,{children:e.jsxs("p",{children:[r*a+1," - ",o," ",t("_accessibility:components.table.of")]})}),e.jsx("p",{children:n})]})};function oe(){const{t}=k(),{pageSizes:n,pageSize:a,setPageSize:s}=$(),r=i.useMemo(()=>n==null?void 0:n.map(o=>({id:o,value:o})),[n]);return e.jsxs("div",{className:"page-size",children:[e.jsx("p",{children:t("_accessibility:components.table.pageSizes")}),e.jsx(M,{value:a,options:r,inputClassName:"page-size-input",containerClassName:"page-size-input-container",helperTextClassName:"hidden",onChange:o=>s(Number(o.target.value))})]})}function ve(){const{t}=k(),{total:n,pageSize:a,currentPage:s,setCurrentPage:r}=$(),o=i.useMemo(()=>{const c=Math.ceil(n/a);return Array.from({length:c},(u,l)=>({id:l,value:l+1}))},[n,a]);return e.jsxs("div",{className:"jump-to-page",children:[e.jsx("p",{children:t("_accessibility:components.table.jumpToPage")}),e.jsx(M,{value:s,options:o,inputClassName:"jump-to-page-input",containerClassName:"jump-to-page-input-container",helperTextClassName:"hidden",onChange:c=>r(Number(c.target.value))})]})}function ce(){return e.jsxs("div",{className:"table-footer",children:[e.jsx(ve,{}),e.jsx(oe,{}),e.jsx(le,{}),e.jsx(re,{})]})}function ge(t){const{propertyName:n,options:a,label:s}=t,{currentFilters:r,setCurrentFilters:o}=O(),c=i.useMemo(()=>{var l;return((l=r[n])==null?void 0:l.value)??a[0]},[r]),u=i.useCallback(l=>{o({type:y.update,toUpdate:{[n]:{value:l.target.value}}})},[]);return e.jsx(M,{value:c,label:s,options:a,helperTextClassName:"hidden",containerClassName:"options-widget-container",onChange:u})}const Ne=t=>{const{propertyName:n,label:a}=t,{currentFilters:s,setCurrentFilters:r}=O(),o=i.useMemo(()=>{var u;return((u=s[n])==null?void 0:u.value)??""},[s]),c=i.useCallback(u=>{r({type:y.update,toUpdate:{[n]:{value:u.target.value}}})},[]);return e.jsx(z,{value:o??"",label:a,onChange:c,containerClassName:"input-widget-container",helperTextClassName:""})},fe=t=>{const{propertyName:n,label:a}=t,{currentFilters:s,setCurrentFilters:r}=O(),o=i.useMemo(()=>{var u;return((u=s[n])==null?void 0:u.value)??""},[s]),c=i.useCallback(u=>{r({type:y.update,toUpdate:{[n]:{value:u.target.checked}}})},[]);return e.jsx(G,{label:a,checked:o??!1,onChange:c})};function we(t){const{propertyName:n,label:a,options:s,multiple:r=!0}=t,{currentFilters:o,setCurrentFilters:c}=O(),u=i.useMemo(()=>o[n]??s[0],[o]),l=i.useCallback(m=>{c({type:y.update,toUpdate:{[n]:{value:m}}})},[r]);return e.jsx(K,{value:u==null?void 0:u.value,label:a,options:s,multiple:r,helperTextClassName:"hidden",containerClassName:"options-widget-container",onChange:l})}const U=t=>{var h,v,C,j;const{propertyName:n,label:a,inputType:s}=t,{t:r}=k(),{currentFilters:o,setCurrentFilters:c}=O(),u=i.useRef(null),l=i.useRef(null),m=i.useCallback(g=>{var d;c({type:y.update,toUpdate:{[n]:{value:{end:((d=l==null?void 0:l.current)==null?void 0:d.value)??null,start:g.target.value}}}})},[]),p=i.useCallback(g=>{var d;c({type:y.update,toUpdate:{[n]:{value:{start:((d=u==null?void 0:u.current)==null?void 0:d.value)??null,end:g.target.value}}}})},[]);return e.jsxs("div",{className:"range-widget-container",children:[e.jsx("p",{className:"text-input-label input-widget-label input-label-normal",children:a}),e.jsxs("div",{className:"range-widget-row",children:[e.jsx(z,{value:((v=(h=o[n])==null?void 0:h.value)==null?void 0:v.start)??"",placeholder:r("_accessibility:components.table.filters.range.start"),type:s,ref:u,onChange:m,containerClassName:"input-widget-container",helperTextClassName:""}),e.jsx(z,{value:((j=(C=o[n])==null?void 0:C.value)==null?void 0:j.end)??"",placeholder:r("_accessibility:components.table.filters.range.end"),type:s,ref:l,onChange:p,containerClassName:"input-widget-container",helperTextClassName:""})]})]})},ie=t=>{switch(t.type){case S.text:return e.jsx(Ne,{...t});case S.number:return e.jsx(U,{...t,inputType:"number"});case S.date:return e.jsx(U,{...t,inputType:"date"});case S.select:return e.jsx(ge,{...t});case S.autocomplete:return e.jsx(we,{...t});case S.check:return e.jsx(fe,{...t})}return e.jsx(e.Fragment,{})};const ue=t=>{var v,C,j,g;const{filters:n=[],options:a}=t,[s,r]=i.useState(!1),{onFilterApply:o,filters:c}=$(),{currentFilters:u,setCurrentFilters:l}=O(),{t:m}=k(),p=i.useRef(null),h=i.useRef(null);return i.useEffect(()=>{const d=({target:x})=>{var N,f;h.current&&(!s||(N=h.current)!=null&&N.contains(x)||(f=p==null?void 0:p.current)!=null&&f.contains(x)||r(!1))};return document.addEventListener("click",d),()=>document.removeEventListener("click",d)}),i.useEffect(()=>{const d=x=>{!s||x.code!=="Escape"||r(!1)};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)}),e.jsxs("div",{className:"filter-dropdown-main",children:[((v=a==null?void 0:a.button)==null?void 0:v.hide)!==!0&&e.jsxs("button",{ref:p,className:"filter-dropdown-button normal filter-dropdown-trigger","aria-haspopup":"true",onClick:()=>{var d,x,N;return((N=(d=a==null?void 0:a.dropdown)==null?void 0:d.setOpened)==null?void 0:N.call(d,!((x=a==null?void 0:a.dropdown)!=null&&x.opened)))??r(!s)},"aria-expanded":((C=a==null?void 0:a.dropdown)==null?void 0:C.opened)??s,children:[e.jsx("span",{className:"sr-only",children:m("_accessibility:buttons.filters")}),e.jsx("wbr",{}),((j=a==null?void 0:a.button)==null?void 0:j.icon)??e.jsx(V,{className:"filter-dropdown-trigger-icon"})]}),e.jsx("div",{className:`filter-dropdown-backdrop ${(g=a==null?void 0:a.dropdown)!=null&&g.opened||s?"opened":"closed"}`,children:e.jsxs("div",{className:"filter-popup",children:[e.jsx("div",{className:"filter-title",children:m("_accessibility:buttons.filters")}),e.jsx("ul",{className:"filter-container",children:n.map(d=>e.jsx("li",{className:"filter-container-item",children:ie(d)},d.propertyName))}),e.jsx("div",{className:"filter-footer",children:e.jsxs("ul",{className:"filter-buttons-row",children:[e.jsx("li",{children:e.jsx("button",{onClick:()=>l({type:y.reset,filters:n}),className:"filter-dropdown-button small filter-dropdown-cancel",children:m("_accessibility:buttons.clear")})}),e.jsx("li",{children:e.jsx("button",{className:"filter-dropdown-button small filter-dropdown-submit",onClick:()=>{var d,x;((x=(d=a==null?void 0:a.dropdown)==null?void 0:d.setOpened)==null?void 0:x.call(d,!1))??r(!1),o(u)},onBlur:()=>{var d,x;return((x=(d=a==null?void 0:a.dropdown)==null?void 0:d.setOpened)==null?void 0:x.call(d,!1))??r(!1)},children:m("_accessibility:buttons.applyFilters")})})]})})]})})]})},de=t=>{var u;const{columns:n,title:a,isLoading:s,toolbar:r,filterOptions:o}=t,c=i.useMemo(()=>n?n.sort((l,m)=>(m.pos??0)-(l.pos??0)).filter(l=>!!l.filterOptions).map(l=>{var m;return{...l.filterOptions,label:((m=l.filterOptions)==null?void 0:m.label)??l.label,propertyName:l.key}}):[],[n]);return e.jsxs("div",{className:`table-header ${a&&(r||!((u=o==null?void 0:o.button)!=null&&u.hide))?"two":"one"}`,children:[a&&e.jsx("h1",{className:"table-header-title",children:a}),s?null:e.jsxs("div",{className:"table-header-right",children:[r,!!c&&!!c.length&&e.jsx(ue,{filters:c,options:o})]})]})},ye=t=>t,pe=t=>{const{columns:n,softDeleteProperty:a="deleted",data:s,actions:r}=t,o=i.useMemo(()=>n.sort((c,u)=>(u.pos??0)-(c.pos??0)).filter(c=>c.display!=="none"),[n]);return s==null?void 0:s.map(c=>{var u;return e.jsxs("tr",{className:`table-row ${c[a]?"deleted-class":""}`,children:[o==null?void 0:o.map((l,m)=>e.jsx("td",{className:`table-row-cell ${m===0?"basic":""} ${l.className??""}`,children:l.renderBody?l.renderBody(c[l.key],c):ye(c[l.key])},l.key)),r?e.jsx("td",{children:e.jsx("div",{className:"table-row-cell-action",children:(u=r(c).filter(l=>!l.hidden))==null?void 0:u.map(l=>e.jsx(he,{content:l.tooltip,children:e.jsx("button",{onClick:()=>l.onClick(c),children:l.icon})},l.id))})}):null]},c.id)})};function ke(t){const{data:n,onSort:a,entity:s="",isLoading:r=!1,actions:o,columns:c=[],contentClassName:u="",className:l="",softDeleteProperty:m="deleted",...p}=t,h=i.useMemo(()=>!(n!=null&&n.length),[n]);return e.jsx(se,{children:e.jsxs("div",{className:`${l} table-main`,children:[e.jsx(de,{columns:c,isLoading:r,...p}),r?e.jsx(Q,{className:"table-loading"}):e.jsx(e.Fragment,{children:h?e.jsx(ae,{}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:`${u} table-body`,children:e.jsxs("table",{className:"table-content",children:[e.jsx(ne,{entity:s,columns:c,onSortCallback:a,hasAction:!!o}),e.jsx("tbody",{children:e.jsx(pe,{data:n,actions:o,columns:c,softDeleteProperty:m})})]})}),e.jsx(ce,{})]})})]})})}function he(t){const{content:n,children:a}=t;return e.jsxs("div",{className:"tooltip-container",children:[a,e.jsx("div",{className:"tooltip-text",children:n})]})}function me(t){const{label:n,onDelete:a,className:s="",spanClassName:r=""}=t;return e.jsxs("div",{className:`chip-main ${s}`,children:[e.jsx("span",{className:r,children:n}),a?e.jsx("button",{type:"button",className:"chip-delete-button",onClick:a,children:e.jsx(_,{})}):null]})}exports.AutocompleteInput=K;exports.CheckInput=G;exports.ChevronDown=H;exports.ChevronLeft=J;exports.ChevronRight=q;exports.ChevronUp=W;exports.Chip=me;exports.Close=_;exports.Columns=ne;exports.CountOfTotal=le;exports.Empty=ae;exports.FilterPopup=ue;exports.FilterTypes=S;exports.Filters=V;exports.FiltersActions=y;exports.FiltersProvider=se;exports.Footer=ce;exports.Loading=Q;exports.Navigation=re;exports.PageSize=oe;exports.Rows=pe;exports.SelectInput=M;exports.SortOrder=T;exports.State=L;exports.Table=ke;exports.TableHeader=de;exports.TableOptionsProvider=Ce;exports.TextInput=z;exports.Tooltip=he;exports.TranslationProvider=be;exports.filtersReducer=ee;exports.helperTextStateClassName=D;exports.initializer=Z;exports.inputStateClassName=A;exports.labelStateClassName=B;exports.renderFilterComponent=ie;exports.useFilters=O;exports.useTableOptions=$;exports.useTranslation=k;
|
|
1
|
+
var Te=require("./main.css");Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("react");function q(t){const{className:n=""}=t;return e.jsx("svg",{className:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"currentColor",children:e.jsx("path",{d:"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"})})}function J(t){const{className:n=""}=t;return e.jsx("svg",{className:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"currentColor",children:e.jsx("path",{d:"M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z"})})}function V(t){const{className:n=""}=t;return e.jsx("svg",{className:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 320 512",fill:"currentColor",children:e.jsx("path",{d:"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"})})}function G(t){const{className:n=""}=t;return e.jsx("svg",{className:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 320 512",fill:"currentColor",children:e.jsx("path",{d:"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"})})}const K=t=>{const{className:n=""}=t;return e.jsx("svg",{className:n,viewBox:"0 0 16 16",children:e.jsx("path",{d:"M9 15H7a1 1 0 010-2h2a1 1 0 010 2zM11 11H5a1 1 0 010-2h6a1 1 0 010 2zM13 7H3a1 1 0 010-2h10a1 1 0 010 2zM15 3H1a1 1 0 010-2h14a1 1 0 010 2z"})})};function B(t){const{className:n=""}=t;return e.jsx("svg",{className:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512",fill:"currentColor",children:e.jsx("path",{d:"M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"})})}var O=(t=>(t.error="error",t.good="good",t.default="default",t))(O||{});const I=t=>{switch(t){case"error":return"input-error";case"good":return"input-good";default:return"input-normal"}},U=t=>{switch(t){case"error":return"input-label-error";case"good":return"input-label-good";default:return"input-label-normal"}},H=t=>{switch(t){case"error":return"input-helper-text-error";case"good":return"input-helper-text-good";default:return"input-helper-text-normal"}};const R=c.forwardRef(function(t,n){const{value:l,onChange:s,options:r,containerClassName:a="",inputClassName:o="",labelClassName:u="",helperText:i="",helperTextClassName:x="",placeholder:p="",label:d="",name:b="",id:j="",state:g=O.default,children:N,...h}=t;return e.jsxs("div",{className:`select-input-container ${a}`,children:[e.jsx("select",{...h,id:j,ref:n,name:b,value:l,onChange:s,className:`select-input ${I(g)} peer ${o}`,children:r==null?void 0:r.map(C=>e.jsx("option",{value:C.id,children:C.value??C.name??C.id},C.id))}),e.jsx("label",{htmlFor:b,className:`select-input-label ${U(g)} ${u}`,children:d}),N,e.jsx("p",{className:`select-input-helper-text ${H(g)} ${x}`,children:g!=="error"&&g!=="good"?p:i})]})});const L=c.forwardRef(function(t,n){const{children:l,state:s=O.default,label:r="",containerClassName:a="",inputClassName:o="",labelClassName:u="",helperText:i="",helperTextClassName:x="",value:p="",...d}=t;return e.jsxs("div",{className:`text-input-container ${a}`,children:[e.jsx("input",{ref:n,value:p,className:`text-input ${I(s)} peer ${o} ${p?"has-value":""} ${d.placeholder?"has-placeholder":""}`,...d}),!!r&&e.jsxs("label",{htmlFor:d.name,className:`text-input-label ${U(s)} ${u}`,children:[r,d.required?" *":""]}),l,!!i&&e.jsx("p",{className:`text-input-helper-text ${H(s)} ${x}`,children:i})]})});const Q=c.forwardRef(function(t,n){const{checked:l,onChange:s,state:r=O.default,name:a="",id:o="",type:u="text",label:i="",containerClassName:x="",inputClassName:p="",labelClassName:d="",helperText:b="",helperTextClassName:j="",...g}=t;return e.jsxs("label",{className:`input-check-container ${x}`,children:[e.jsx("input",{id:o,ref:n,name:a,type:"checkbox",checked:l,onChange:s,className:`input-check ${p}`,...g}),e.jsx("span",{className:`input-check-label ${d}`,children:i})]})});const X=c.forwardRef(function(t,n){const{state:l,value:s,onChange:r,options:a=[],name:o="",id:u="",label:i="",containerClassName:x="",inputContainerClassName:p="",helperText:d="",placeholder:b="",multiple:j=!1,...g}=t,[N,h]=c.useState(""),[C,v]=c.useState(!1),$=a.filter(m=>{const f=String(m.value).toLowerCase().includes(N==null?void 0:N.toLowerCase());return s&&s.length?s!=null&&s.some?!(s!=null&&s.some(A=>A.id===m.id)):(s==null?void 0:s.id)!==m.id:f}),F=c.useRef(null);c.useEffect(()=>{const m=P=>{F.current&&!F.current.contains(P.target)&&v(!1)},f=P=>{P.key==="Escape"&&v(!1)};return document.addEventListener("mousedown",m),document.addEventListener("keydown",f),()=>{document.removeEventListener("mousedown",m),document.removeEventListener("keydown",f)}},[]);const k=m=>{h(m.target.value)},D=c.useCallback(m=>{h(""),m?j?Array.isArray(s)&&s.length?r([...s,m]):r([m]):r(m):r(null),v(!1)},[j,r,s]),z=c.useCallback(m=>{const f=s.filter((P,A)=>A!==m);f.length?r(f):r(null)},[r,s]);return e.jsxs("div",{className:`autocomplete-input-container ${x}`,ref:F,children:[e.jsx(L,{state:l,name:o,id:u,value:!j&&s?s.value??s.name:N,onChange:k,placeholder:b,helperText:d,onFocus:()=>v(!0),label:i,containerClassName:`autocomplete-text-input ${p}`,ref:n,...g,children:!j&&s&&e.jsx("button",{type:"button",className:"autocomplete-delete-button",onClick:m=>{D(),m.stopPropagation()},children:e.jsx(B,{})})}),C&&e.jsx("ul",{className:"autocomplete-suggestions-container",children:$.map(m=>e.jsx("li",{className:"autocomplete-suggestion-item",onClick:f=>{D(m),f.stopPropagation()},children:m.value??m.name},m.id??m.value??m.name))}),j&&Array.isArray(s)&&s.length?e.jsx("ul",{className:"autocomplete-value-container",children:s.map((m,f)=>e.jsx("li",{children:e.jsx(_,{label:String(m.value??m.name),onDelete:P=>{z(f),P.stopPropagation()}})},m.id??m.value??m.name))}):null]})});function Y(t){const{color:n="stroke-blue-800",className:l="",loaderClass:s="",strokeWidth:r="4",...a}=t;return e.jsx("div",{...a,className:`loading ${l}`,children:e.jsx("div",{className:"loader-container",children:e.jsx("div",{className:`loader ${s}`,children:e.jsx("svg",{className:"circular",viewBox:"25 25 50 50",children:e.jsx("circle",{className:`path ${n}`,cx:"50",cy:"50",r:"20",fill:"none",strokeWidth:r,strokeMiterlimit:"10"})})})})})}const Z=c.createContext({});function je(t){const{children:n,t:l}=t;return e.jsx(Z.Provider,{value:{t:l},children:n})}const y=()=>{const t=c.useContext(Z);if(t===void 0)throw new Error("translationContext must be used within a Provider");return t};var T=(t=>(t[t.text=0]="text",t[t.number=1]="number",t[t.select=2]="select",t[t.autocomplete=3]="autocomplete",t[t.date=4]="date",t[t.check=5]="check",t))(T||{}),E=(t=>(t.ASC="ASC",t.DESC="DESC",t))(E||{});const Ce=[20,50,100],ee=c.createContext({}),ge=t=>{const{children:n}=t,[l,s]=c.useState(0),[r,a]=c.useState(20),[o,u]=c.useState(0),[i,x]=c.useState("id"),[p,d]=c.useState(E.DESC),[b,j]=c.useState({}),g=c.useCallback(($,F)=>{let k=p;if(i===$)switch(p){case E.ASC:k=E.DESC;break;default:k=E.ASC;break}x($),d(k),F&&F($,k)},[i,p]),N=c.useCallback($=>{const F=Object.entries($).reduce((k,[D,z])=>(z&&typeof z.value<"u"&&(k[D]=z.value),k),{});j(F)},[]),h=c.useCallback($=>{console.log($),j({})},[]),C=c.useMemo(()=>Object.keys(b).length,[b]),v={onSort:g,total:l,setTotal:s,sortingBy:i,setSortingBy:x,sortingOrder:p,setSortingOrder:d,pageSize:r,pageSizes:Ce,setPageSize:a,currentPage:o,setCurrentPage:u,filters:b,onFilterApply:N,clearFilters:h,countOfFilters:C};return e.jsx(ee.Provider,{value:v,children:n})},S=()=>{const t=c.useContext(ee);if(t===void 0)throw new Error("tableOptionsContext must be used within a Provider");return t};var w=(t=>(t[t.update=0]="update",t[t.reset=1]="reset",t))(w||{});const te=t=>{if(t){const n={},l=Object.keys(t);return l==null||l.forEach(s=>{n[s]={value:t[s]}}),n}return{}};function se(t,n){const{type:l}=n;switch(l){case w.reset:return{};case w.update:{const{toUpdate:s}=n;return{...t,...s}}default:return t}}const ne=c.createContext({}),ae=t=>{const{children:n}=t,{filters:l}=S(),[s,r]=c.useReducer(se,te(l)),a={currentFilters:s,setCurrentFilters:r};return e.jsx(ne.Provider,{value:a,children:n})},M=()=>{const t=c.useContext(ne);if(t===void 0)throw new Error("tableOptionsContext must be used within a Provider");return t};function re(t){const{t:n}=y(),{entity:l="",columns:s=[],hasAction:r=!0,onSortCallback:a}=t,{onSort:o,sortingOrder:u,sortingBy:i}=S(),x=c.useMemo(()=>{var p;return(p=s.sort((d,b)=>(b.pos??0)-(d.pos??0)).filter(d=>d.display!=="none"))==null?void 0:p.map(d=>({id:d.key,label:d.label,className:d.className??"",sortable:d.sortable??!0,sortOptions:d.sortOptions}))},[s,l,n]);return e.jsx("thead",{className:"table-headers-row",children:e.jsxs("tr",{children:[x.map(p=>{var d,b,j,g,N,h,C,v;return e.jsx("th",{scope:"col",className:`table-headers-column ${p.className}`,children:e.jsxs("button",{disabled:!p.sortable,onClick:()=>o(p.id,a),className:"table-headers-cell",children:[e.jsx("span",{className:"table-headers-label",children:p.label}),p.sortable&&e.jsx("span",{className:`${i===p.id?"table-headers-sort-on":"table-headers-sort"}`,children:u===E.ASC?((b=(d=p.sortOptions)==null?void 0:d.icons)==null?void 0:b.asc)??e.jsx(J,{className:((g=(j=p.sortOptions)==null?void 0:j.icons)==null?void 0:g.className)??"table-headers-sort-indicator"}):((h=(N=p.sortOptions)==null?void 0:N.icons)==null?void 0:h.desc)??e.jsx(q,{className:((v=(C=p.sortOptions)==null?void 0:C.icons)==null?void 0:v.className)??"table-headers-sort-indicator"})})]})},p.id)}),r&&e.jsx("th",{scope:"col",className:"table-headers-action",children:n("_accessibility:labels.actions")})]})})}function le(){const{t}=y();return e.jsx("div",{className:"table-empty",children:e.jsx("p",{children:t("_accessibility:components.table.empty")})})}const oe=()=>{const{t}=y(),{total:n,pageSize:l,currentPage:s,setCurrentPage:r}=S();return e.jsxs("div",{className:"table-navigation-pages",children:[e.jsx("button",{className:"table-navigation-buttons",disabled:s===0,"aria-label":t("_accessibility:buttons.previous"),name:t("_accessibility:buttons.previous"),onClick:()=>r(s-1),children:e.jsx(G,{className:"w-2.5"})}),e.jsx("button",{disabled:Math.floor(n/((s+1)*l))===0,className:"table-navigation-buttons",name:t("_accessibility:buttons.next"),"aria-label":t("_accessibility:buttons.next"),onClick:()=>r(s+1),children:e.jsx(V,{className:"w-2.5"})})]})},ce=()=>{const{t}=y(),{total:n,pageSize:l,pageSizes:s,currentPage:r}=S(),a=(r+1)*l>n?n:(r+1)*l;return e.jsxs("div",{className:"table-navigation-sizes",children:[s[0]<n&&e.jsx(e.Fragment,{children:e.jsxs("p",{children:[r*l+1," - ",a," ",t("_accessibility:components.table.of")]})}),e.jsx("p",{children:n})]})};function ie(){const{t}=y(),{pageSizes:n,pageSize:l,setPageSize:s}=S(),r=c.useMemo(()=>n==null?void 0:n.map(a=>({id:a,value:a})),[n]);return e.jsxs("div",{className:"page-size",children:[e.jsx("p",{children:t("_accessibility:components.table.pageSizes")}),e.jsx(R,{value:l,options:r,inputClassName:"page-size-input",containerClassName:"page-size-input-container",helperTextClassName:"hidden",onChange:a=>s(Number(a.target.value))})]})}function Ne(){const{t}=y(),{total:n,pageSize:l,currentPage:s,setCurrentPage:r}=S(),a=c.useMemo(()=>{const o=Math.ceil(n/l);return Array.from({length:o},(u,i)=>({id:i,value:i+1}))},[n,l]);return e.jsxs("div",{className:"jump-to-page",children:[e.jsx("p",{children:t("_accessibility:components.table.jumpToPage")}),e.jsx(R,{value:s,options:a,inputClassName:"jump-to-page-input",containerClassName:"jump-to-page-input-container",helperTextClassName:"hidden",onChange:o=>r(Number(o.target.value))})]})}function ue(){return e.jsxs("div",{className:"table-footer",children:[e.jsx(Ne,{}),e.jsx(ie,{}),e.jsx(ce,{}),e.jsx(oe,{})]})}function ve(t){const{propertyName:n,options:l,label:s}=t,{currentFilters:r,setCurrentFilters:a}=M(),o=c.useMemo(()=>{var i;return((i=r[n])==null?void 0:i.value)??l[0]},[r]),u=c.useCallback(i=>{a({type:w.update,toUpdate:{[n]:{value:i.target.value}}})},[]);return e.jsx(R,{value:o,label:s,options:l,helperTextClassName:"hidden",containerClassName:"options-widget-container",onChange:u})}const fe=t=>{const{propertyName:n,label:l}=t,{currentFilters:s,setCurrentFilters:r}=M(),a=c.useMemo(()=>{var u;return((u=s[n])==null?void 0:u.value)??""},[s]),o=c.useCallback(u=>{r({type:w.update,toUpdate:{[n]:{value:u.target.value}}})},[]);return e.jsx(L,{value:a??"",label:l,onChange:o,containerClassName:"input-widget-container",helperTextClassName:""})},we=t=>{const{propertyName:n,label:l}=t,{currentFilters:s,setCurrentFilters:r}=M(),a=c.useMemo(()=>{var u;return((u=s[n])==null?void 0:u.value)??""},[s]),o=c.useCallback(u=>{r({type:w.update,toUpdate:{[n]:{value:u.target.checked}}})},[]);return e.jsx(Q,{label:l,checked:a??!1,onChange:o})};function ye(t){const{propertyName:n,label:l,options:s,multiple:r=!0}=t,{currentFilters:a,setCurrentFilters:o}=M(),u=c.useMemo(()=>a[n]??s[0],[a]),i=c.useCallback(x=>{o({type:w.update,toUpdate:{[n]:{value:x}}})},[r]);return e.jsx(X,{value:u==null?void 0:u.value,label:l,options:s,multiple:r,helperTextClassName:"hidden",containerClassName:"options-widget-container",onChange:i})}const W=t=>{var d,b,j,g;const{propertyName:n,label:l,inputType:s}=t,{t:r}=y(),{currentFilters:a,setCurrentFilters:o}=M(),u=c.useRef(null),i=c.useRef(null),x=c.useCallback(N=>{var h;o({type:w.update,toUpdate:{[n]:{value:{end:((h=i==null?void 0:i.current)==null?void 0:h.value)??null,start:N.target.value}}}})},[]),p=c.useCallback(N=>{var h;o({type:w.update,toUpdate:{[n]:{value:{start:((h=u==null?void 0:u.current)==null?void 0:h.value)??null,end:N.target.value}}}})},[]);return e.jsxs("div",{className:"range-widget-container",children:[e.jsx("p",{className:"text-input-label input-widget-label input-label-normal",children:l}),e.jsxs("div",{className:"range-widget-row",children:[e.jsx(L,{value:((b=(d=a[n])==null?void 0:d.value)==null?void 0:b.start)??"",placeholder:r("_accessibility:components.table.filters.range.start"),type:s,ref:u,onChange:x,containerClassName:"input-widget-container",helperTextClassName:""}),e.jsx(L,{value:((g=(j=a[n])==null?void 0:j.value)==null?void 0:g.end)??"",placeholder:r("_accessibility:components.table.filters.range.end"),type:s,ref:i,onChange:p,containerClassName:"input-widget-container",helperTextClassName:""})]})]})},de=t=>{switch(t.type){case T.text:return e.jsx(fe,{...t});case T.number:return e.jsx(W,{...t,inputType:"number"});case T.date:return e.jsx(W,{...t,inputType:"date"});case T.select:return e.jsx(ve,{...t});case T.autocomplete:return e.jsx(ye,{...t});case T.check:return e.jsx(we,{...t})}return e.jsx(e.Fragment,{})};const pe=t=>{const{filters:n=[],options:l,show:s,handleShow:r}=t,{onFilterApply:a,filters:o}=S(),{currentFilters:u,setCurrentFilters:i}=M(),{t:x}=y(),p=c.useRef(null);return c.useEffect(()=>{const d=({target:b})=>{var j;p.current&&(!s||(j=p.current)!=null&&j.contains(b)||r(!1))};return document.addEventListener("click",d),()=>document.removeEventListener("click",d)}),c.useEffect(()=>{const d=b=>{!s||b.code!=="Escape"||r(!1)};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)}),e.jsx("div",{className:`filter-dropdown-backdrop ${s?"opened":"closed"}`,children:e.jsxs("div",{className:"filter-popup",children:[e.jsx("div",{className:"filter-title",children:x("_accessibility:buttons.filters")}),e.jsx("ul",{className:"filter-container",children:n.map(d=>e.jsx("li",{className:"filter-container-item",children:de(d)},d.propertyName))}),e.jsx("div",{className:"filter-footer",children:e.jsxs("ul",{className:"filter-buttons-row",children:[e.jsx("li",{children:e.jsx("button",{onClick:()=>i({type:w.reset,filters:n}),className:"filter-dropdown-button small filter-dropdown-cancel",children:x("_accessibility:buttons.clear")})}),e.jsx("li",{children:e.jsx("button",{className:"filter-dropdown-button small filter-dropdown-submit",onClick:()=>{r(!1),a(u)},onBlur:()=>r(!1),children:x("_accessibility:buttons.applyFilters")})})]})})]})})},Se=t=>{const{end:n,start:l,label:s,onClearFilter:r}=t;return e.jsx(_,{label:`${s}: ${l||"♾️"} - ${n||"♾️"}`,onDelete:()=>r(s)})};const $e=t=>{const{filtersDefinition:n}=t,l=c.useMemo(()=>{const o={};return n.forEach(u=>{o[u.propertyName]=u.label??u.propertyName}),o},[n]),{filters:s,clearFilters:r}=S(),a=c.useMemo(()=>(Object.keys(s).map(o=>console.log(s[o])),Object.keys(s)),[s]);return e.jsx("ul",{className:"active-filters-main",children:a==null?void 0:a.map(o=>{var u;return e.jsx("li",{children:s[o].end||s[o].start?e.jsx(Se,{label:l[o],start:s[o].start,end:s[o].end,onClearFilter:r}):e.jsx(_,{label:`${l[o]}: ${((u=s[o])==null?void 0:u.value)??s[o]}`,onDelete:()=>r(o)})},o)})})},he=t=>{var j,g,N;const{columns:n,title:l,isLoading:s,toolbar:r,filterOptions:a}=t,{countOfFilters:o}=S(),{t:u}=y(),i=c.useMemo(()=>n?n.sort((h,C)=>(C.pos??0)-(h.pos??0)).filter(h=>!!h.filterOptions).map(h=>{var C;return{...h.filterOptions,label:((C=h.filterOptions)==null?void 0:C.label)??h.label,propertyName:h.key}}):[],[n]),[x,p]=c.useState(!1),d=c.useCallback(h=>{var C,v;((v=(C=a==null?void 0:a.dropdown)==null?void 0:C.setOpened)==null?void 0:v.call(C,h??!1))??p(h??!1)},[a,x]),b=c.useMemo(()=>{var h;return((h=a==null?void 0:a.dropdown)==null?void 0:h.opened)??x},[a,x]);return e.jsxs("div",{className:`table-header ${l&&(r||!((j=a==null?void 0:a.button)!=null&&j.hide))?"two":"one"}`,children:[e.jsxs("div",{children:[l&&e.jsx("h1",{className:"table-header-title",children:l}),s?null:e.jsxs("div",{className:"table-header-right",children:[r,((g=a==null?void 0:a.button)==null?void 0:g.hide)!==!0&&e.jsxs("button",{className:"filter-dropdown-button normal filter-dropdown-trigger","aria-haspopup":"true",onClick:()=>{var h;return d(((h=a==null?void 0:a.dropdown)==null?void 0:h.opened)??!x)},"aria-expanded":b,children:[e.jsx(be,{count:o,className:`${o>0?"show":"hide"} `}),e.jsx("span",{className:"sr-only",children:u("_accessibility:buttons.filters")}),e.jsx("wbr",{}),((N=a==null?void 0:a.button)==null?void 0:N.icon)??e.jsx(K,{className:"filter-dropdown-trigger-icon"})]})]})]}),e.jsx($e,{filtersDefinition:i}),!!i&&!!i.length&&e.jsx(pe,{filters:i,show:b,handleShow:d,options:a})]})},ke=t=>t,me=t=>{const{columns:n,softDeleteProperty:l="deleted",data:s,actions:r}=t,a=c.useMemo(()=>n.sort((o,u)=>(u.pos??0)-(o.pos??0)).filter(o=>o.display!=="none"),[n]);return s==null?void 0:s.map(o=>{var u;return e.jsxs("tr",{className:`table-row ${o[l]?"deleted-class":""}`,children:[a==null?void 0:a.map((i,x)=>e.jsx("td",{className:`table-row-cell ${x===0?"basic":""} ${i.className??""}`,children:i.renderBody?i.renderBody(o[i.key],o):ke(o[i.key])},i.key)),r?e.jsx("td",{children:e.jsx("div",{className:"table-row-cell-action",children:(u=r(o).filter(i=>!i.hidden))==null?void 0:u.map(i=>e.jsx(xe,{content:i.tooltip,children:e.jsx("button",{onClick:()=>i.onClick(o),children:i.icon})},i.id))})}):null]},o.id)})};function Fe(t){const{data:n,onSort:l,entity:s="",isLoading:r=!1,actions:a,columns:o=[],contentClassName:u="",className:i="",softDeleteProperty:x="deleted",...p}=t,d=c.useMemo(()=>!(n!=null&&n.length),[n]);return e.jsx(ae,{children:e.jsxs("div",{className:`${i} table-main`,children:[e.jsx(he,{columns:o,isLoading:r,...p}),r?e.jsx(Y,{className:"table-loading"}):e.jsx(e.Fragment,{children:d?e.jsx(le,{}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:`${u} table-body`,children:e.jsxs("table",{className:"table-content",children:[e.jsx(re,{entity:s,columns:o,onSortCallback:l,hasAction:!!a}),e.jsx("tbody",{children:e.jsx(me,{data:n,actions:a,columns:o,softDeleteProperty:x})})]})}),e.jsx(ue,{})]})})]})})}function xe(t){const{content:n,children:l}=t;return e.jsxs("div",{className:"tooltip-container",children:[l,e.jsx("div",{className:"tooltip-text",children:n})]})}function _(t){const{label:n,onDelete:l,className:s="",spanClassName:r=""}=t;return e.jsxs("div",{className:`chip-main ${s}`,children:[e.jsx("span",{className:r,children:n}),l?e.jsx("button",{type:"button",className:"chip-delete-button",onClick:l,children:e.jsx(B,{})}):null]})}const be=t=>{const{count:n,className:l=""}=t,s=c.useRef(null);return c.useEffect(()=>{var r,a;(r=s.current)!=null&&r.parentNode&&(((a=s.current)==null?void 0:a.parentNode).style.position="relative")},[s]),e.jsx("span",{ref:s,className:`${l} badge-main`,children:n})};exports.AutocompleteInput=X;exports.Badge=be;exports.CheckInput=Q;exports.ChevronDown=q;exports.ChevronLeft=G;exports.ChevronRight=V;exports.ChevronUp=J;exports.Chip=_;exports.Close=B;exports.Columns=re;exports.CountOfTotal=ce;exports.Empty=le;exports.FilterDropdown=pe;exports.FilterTypes=T;exports.Filters=K;exports.FiltersActions=w;exports.FiltersProvider=ae;exports.Footer=ue;exports.Loading=Y;exports.Navigation=oe;exports.PageSize=ie;exports.Rows=me;exports.SelectInput=R;exports.SortOrder=E;exports.State=O;exports.Table=Fe;exports.TableHeader=he;exports.TableOptionsProvider=ge;exports.TextInput=L;exports.Tooltip=xe;exports.TranslationProvider=je;exports.filtersReducer=se;exports.helperTextStateClassName=H;exports.initializer=te;exports.inputStateClassName=I;exports.labelStateClassName=U;exports.renderFilterComponent=de;exports.useFilters=M;exports.useTableOptions=S;exports.useTranslation=y;
|