@sito/dashboard 0.0.35 → 0.0.38
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/Form/AutocompleteInput/types.d.ts +2 -1
- package/dist/components/Form/SelectInput/types.d.ts +1 -1
- package/dist/components/Form/TextInput/types.d.ts +1 -1
- package/dist/components/Form/types.d.ts +0 -1
- package/dist/components/Table/components/Widgets/RangeWidget.d.ts +2 -0
- package/dist/components/Table/components/Widgets/index.d.ts +0 -2
- package/dist/components/Table/components/Widgets/types.d.ts +4 -4
- package/dist/dashboard.cjs +1 -1
- package/dist/dashboard.js +388 -375
- package/dist/lib/filters.d.ts +5 -10
- package/dist/main.css +1 -1
- package/package.json +1 -1
- package/dist/components/Table/components/Widgets/DateWidget.d.ts +0 -2
- package/dist/components/Table/components/Widgets/NumberWidget.d.ts +0 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TextInputPropsType, Option } from '../..';
|
|
2
|
-
export interface AutocompleteInputPropsType extends TextInputPropsType {
|
|
2
|
+
export interface AutocompleteInputPropsType extends Omit<TextInputPropsType, "onChange"> {
|
|
3
|
+
onChange: (value: Option | Option[] | null) => void;
|
|
3
4
|
multiple?: boolean;
|
|
4
5
|
inputContainerClassName?: string;
|
|
5
6
|
options: Option[];
|
|
@@ -5,6 +5,6 @@ export type Option = {
|
|
|
5
5
|
value?: number | string;
|
|
6
6
|
name?: string;
|
|
7
7
|
};
|
|
8
|
-
export interface SelectInputPropsType extends Omit<HTMLProps<HTMLSelectElement>, "value"
|
|
8
|
+
export interface SelectInputPropsType extends Omit<HTMLProps<HTMLSelectElement>, "value">, BaseInputPropsType {
|
|
9
9
|
options: Option[];
|
|
10
10
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HTMLProps, ReactNode } from 'react';
|
|
2
2
|
import { BaseInputPropsType } from '../types';
|
|
3
|
-
export interface TextInputPropsType extends Omit<HTMLProps<HTMLInputElement>, "value"
|
|
3
|
+
export interface TextInputPropsType extends Omit<HTMLProps<HTMLInputElement>, "value">, BaseInputPropsType {
|
|
4
4
|
children?: ReactNode;
|
|
5
5
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HTMLInputTypeAttribute } from 'react';
|
|
2
|
+
import { AutocompleteFilterType, CheckFilterType, RangeFilterType, SelectFilterType, TextFilterType } from '../../../../lib';
|
|
2
3
|
export interface SelectWidgetPropsType extends SelectFilterType {
|
|
3
4
|
}
|
|
4
|
-
export interface
|
|
5
|
+
export interface RangeWidgetPropsType<T> extends RangeFilterType<T> {
|
|
6
|
+
inputType: HTMLInputTypeAttribute;
|
|
5
7
|
}
|
|
6
8
|
export interface AutocompleteWidgetPropsType extends AutocompleteFilterType {
|
|
7
9
|
multiple?: boolean;
|
|
@@ -10,5 +12,3 @@ export interface CheckWidgetPropsType extends CheckFilterType {
|
|
|
10
12
|
}
|
|
11
13
|
export interface TextWidgetPropsType extends TextFilterType {
|
|
12
14
|
}
|
|
13
|
-
export interface NumberWidgetPropsType extends NumberFilterType {
|
|
14
|
-
}
|
package/dist/dashboard.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var $e=require("./main.css");Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("react");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 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 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 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 z=(t=>(t.error="error",t.good="good",t.default="default",t))(z||{});const D=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"}},I=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=o.forwardRef(function(t,n){const{value:r,onChange:s,options:a,containerClassName:l="",inputClassName:c="",labelClassName:i="",helperText:u="",helperTextClassName:x="",placeholder:d="",label:p="",name:C="",id:h="",state:m=z.default,...g}=t;return o.useEffect(()=>{var v;(!r||r==="")&&(a!=null&&a.length)&&s({target:{value:(v=a[0])==null?void 0:v.id}})},[s,a,r]),e.jsxs("div",{className:`select-input-container ${l}`,children:[e.jsx("select",{...g,id:h,ref:n,name:C,value:r,onChange:s,className:`select-input ${D(m)} peer ${c}`,children:a==null?void 0:a.map(v=>e.jsx("option",{value:v.id,children:v.value??v.name??v.id},v.id))}),e.jsx("label",{htmlFor:C,className:`select-input-label ${B(m)} ${i}`,children:p}),e.jsx("p",{className:`select-input-helper-text ${I(m)} ${x}`,children:m!=="error"&&m!=="good"?d:u})]})});const L=o.forwardRef(function(t,n){const{children:r,value:s,onChange:a,state:l=z.default,name:c="",id:i="",type:u="text",label:x="",required:d=!1,placeholder:p="",containerClassName:C="",inputClassName:h="",labelClassName:m="",helperText:g="",helperTextClassName:v="",...j}=t;return e.jsxs("div",{className:`text-input-container ${C}`,children:[e.jsx("input",{ref:n,type:u,name:c,id:i,className:`text-input ${D(l)} peer ${h}`,placeholder:"",required:d,value:s,onChange:a,...j}),e.jsxs("label",{htmlFor:c,className:`text-input-label ${B(l)} ${m}`,children:[x,d?" *":""]}),r,e.jsx("p",{className:`text-input-helper-text ${I(l)} ${v}`,children:l!=="error"&&l!=="good"?p:g})]})});const G=o.forwardRef(function(t,n){const{checked:r,onChange:s,state:a=z.default,name:l="",id:c="",type:i="text",label:u="",containerClassName:x="",inputClassName:d="",labelClassName:p="",helperText:C="",helperTextClassName:h="",...m}=t;return e.jsxs("label",{className:`input-check-container ${x}`,children:[e.jsx("input",{id:c,ref:n,name:l,type:"checkbox",checked:r,onChange:s,className:`input-check ${d}`,...m}),e.jsx("span",{className:`input-check-label ${p}`,children:u})]})});const K=o.forwardRef(function(t,n){const{state:r,value:s,onChange:a,options:l=[],name:c="",id:i="",label:u="",containerClassName:x="",inputContainerClassName:d="",helperText:p="",placeholder:C="",multiple:h=!1,...m}=t,[g,v]=o.useState(""),[j,f]=o.useState(!1),w=l.filter(b=>{const N=String(b.value).toLowerCase().includes(g==null?void 0:g.toLowerCase());return s&&s.length?s!=null&&s.some?!(s!=null&&s.some(A=>A.id===b.id)):(s==null?void 0:s.id)!==b.id:N}),E=o.useRef(null);o.useEffect(()=>{const b=O=>{E.current&&!E.current.contains(O.target)&&f(!1)},N=O=>{O.key==="Escape"&&f(!1)};return document.addEventListener("mousedown",b),document.addEventListener("keydown",N),()=>{document.removeEventListener("mousedown",b),document.removeEventListener("keydown",N)}},[]);const M=b=>{v(b.target.value)},U=o.useCallback(b=>{v(""),b?h?Array.isArray(s)&&s.length?a([...s,b]):a([b]):a(b):a(null),f(!1)},[h,a,s]),he=o.useCallback(b=>{const N=s.filter((O,A)=>A!==b);N.length?a(N):a(null)},[a,s]);return e.jsxs("div",{className:`autocomplete-input-container ${x}`,ref:E,children:[e.jsx(L,{state:r,name:c,id:i,value:!h&&s?s:g,onChange:M,placeholder:C,helperText:p,onFocus:()=>f(!0),label:u,containerClassName:`autocomplete-text-input ${d}`,ref:n,...m,children:!h&&s&&e.jsx("button",{type:"button",className:"autocomplete-delete-button",onClick:b=>{U(),b.stopPropagation()},children:e.jsx(_,{})})}),j&&e.jsx("ul",{className:"autocomplete-suggestions-container",children:w.map(b=>e.jsx("li",{className:"autocomplete-suggestion-item hover:bg-primary/20",onClick:N=>{U(b),N.stopPropagation()},children:b.value},b.id))}),h&&Array.isArray(s)&&s.length?e.jsx("ul",{className:"autocomplete-value-container",children:s.map((b,N)=>e.jsx("li",{children:e.jsx(me,{label:String(b.value),onDelete:O=>{he(N),O.stopPropagation()}})},b.value))}):null]})});function Q(t){const{color:n="stroke-blue-800",loaderClass:r,strokeWidth:s="4",...a}=t;return e.jsx("div",{...a,className:`loading ${a.className}`,children:e.jsx("div",{className:"loader-container",children:e.jsx("div",{className:`loader ${r}`,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:s,strokeMiterlimit:"10"})})})})})}const X=o.createContext({});function xe(t){const{children:n,t:r}=t;return e.jsx(X.Provider,{value:{t:r},children:n})}const $=()=>{const t=o.useContext(X);if(t===void 0)throw new Error("translationContext must be used within a Provider");return t};var k=(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))(k||{}),T=(t=>(t.ASC="ASC",t.DESC="DESC",t))(T||{});const be=[20,50,100],Y=o.createContext({}),ge=t=>{const{children:n}=t,[r,s]=o.useState(0),[a,l]=o.useState(20),[c,i]=o.useState(0),[u,x]=o.useState("id"),[d,p]=o.useState(T.DESC),[C,h]=o.useState({}),m=o.useCallback((j,f)=>{let w=d;if(u===j)switch(d){case T.ASC:w=T.DESC;break;default:w=T.ASC;break}x(j),p(w),f&&f(j,w)},[u,d]),g=o.useCallback(j=>{const f=Object.entries(j).reduce((w,[E,M])=>(M&&typeof M.value<"u"&&(w[E]=M.value),w),{});h(f)},[]),v={onSort:m,total:r,setTotal:s,sortingBy:u,setSortingBy:x,sortingOrder:d,setSortingOrder:p,pageSize:a,pageSizes:be,setPageSize:l,currentPage:c,setCurrentPage:i,filters:C,onFilterApply:g};return e.jsx(Y.Provider,{value:v,children:n})},P=()=>{const t=o.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=>{const n={},r=Object.keys(t);return r==null||r.forEach(s=>{n[s]={value:t[s]}}),n};function ee(t,n){const{type:r}=n;switch(r){case y.reset:{const{filters:s}=n,a={};return s==null||s.forEach(({propertyName:l,defaultValue:c})=>{a[l]={value:c}}),{...t,...a}}case y.update:{const{toUpdate:s}=n;return{...t,...s}}default:return t}}const te=o.createContext({}),se=t=>{const{children:n}=t,{filters:r}=P(),[s,a]=o.useReducer(ee,Z(r)),l={currentFilters:s,setCurrentFilters:a};return e.jsx(te.Provider,{value:l,children:n})},F=()=>{const t=o.useContext(te);if(t===void 0)throw new Error("tableOptionsContext must be used within a Provider");return t};function ne(t){const{t:n}=$(),{entity:r="",columns:s=[],hasAction:a=!0,onSortCallback:l}=t,{onSort:c,sortingOrder:i,sortingBy:u}=P(),x=o.useMemo(()=>{var d;return(d=s.sort((p,C)=>(C.pos??0)-(p.pos??0)).filter(p=>p.display!=="none"))==null?void 0:d.map(p=>({id:p.key,label:p.label,className:p.className??"",sortable:p.sortable??!0,sortOptions:p.sortOptions}))},[s,r,n]);return e.jsx("thead",{className:"table-headers-row",children:e.jsxs("tr",{children:[x.map(d=>{var p,C,h,m,g,v,j,f;return e.jsx("th",{scope:"col",className:`table-headers-column ${d.className}`,children:e.jsxs("button",{disabled:!d.sortable,onClick:()=>c(d.id,l),className:"table-headers-cell",children:[e.jsx("span",{className:"table-headers-label",children:d.label}),d.sortable&&e.jsx("span",{className:`${u===d.id?"table-headers-sort-on":"table-headers-sort"}`,children:i===T.ASC?((C=(p=d.sortOptions)==null?void 0:p.icons)==null?void 0:C.asc)??e.jsx(H,{className:((m=(h=d.sortOptions)==null?void 0:h.icons)==null?void 0:m.className)??"table-headers-sort-indicator"}):((v=(g=d.sortOptions)==null?void 0:g.icons)==null?void 0:v.desc)??e.jsx(W,{className:((f=(j=d.sortOptions)==null?void 0:j.icons)==null?void 0:f.className)??"table-headers-sort-indicator"})})]})},d.id)}),a&&e.jsx("th",{scope:"col",className:"table-headers-action",children:n("_accessibility:labels.actions")})]})})}function ae(){const{t}=$();return e.jsx("div",{className:"table-empty",children:e.jsx("p",{children:t("_accessibility:components.table.empty")})})}const re=()=>{const{t}=$(),{total:n,pageSize:r,currentPage:s,setCurrentPage:a}=P();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:()=>a(s-1),children:e.jsx(J,{className:"w-2.5"})}),e.jsx("button",{disabled:Math.floor(n/((s+1)*r))===0,className:"table-navigation-buttons",name:t("_accessibility:buttons.next"),"aria-label":t("_accessibility:buttons.next"),onClick:()=>a(s+1),children:e.jsx(q,{className:"w-2.5"})})]})},le=()=>{const{t}=$(),{total:n,pageSize:r,pageSizes:s,currentPage:a}=P(),l=(a+1)*r>n?n:(a+1)*r;return e.jsxs("div",{className:"table-navigation-sizes",children:[s[0]<n&&e.jsx(e.Fragment,{children:e.jsxs("p",{children:[a*r+1," - ",l," ",t("_accessibility:components.table.of")]})}),e.jsx("p",{children:n})]})};function oe(){const{t}=$(),{pageSizes:n,pageSize:r,setPageSize:s}=P(),a=o.useMemo(()=>n==null?void 0:n.map(l=>({id:l,value:l})),[n]);return e.jsxs("div",{className:"page-size",children:[e.jsx("p",{children:t("_accessibility:components.table.pageSizes")}),e.jsx(R,{value:r,options:a,inputClassName:"page-size-input",containerClassName:"page-size-input-container",helperTextClassName:"hidden",onChange:l=>s(l.target.value)})]})}function ve(){const{t}=$(),{total:n,pageSize:r,currentPage:s,setCurrentPage:a}=P(),l=o.useMemo(()=>{const c=Math.ceil(n/r);return Array.from({length:c},(i,u)=>({id:u,value:u+1}))},[n,r]);return e.jsxs("div",{className:"jump-to-page",children:[e.jsx("p",{children:t("_accessibility:components.table.jumpToPage")}),e.jsx(R,{value:s,options:l,inputClassName:"jump-to-page-input",containerClassName:"jump-to-page-input-container",helperTextClassName:"hidden",onChange:c=>a(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 Ce(t){const{propertyName:n,options:r,label:s}=t,{currentFilters:a,setCurrentFilters:l}=F(),c=o.useMemo(()=>{var u;return((u=a[n])==null?void 0:u.value)??r[0]},[a]),i=o.useCallback(u=>{l({type:y.update,toUpdate:{[n]:{value:u.target.value}}})},[]);return e.jsx(R,{value:c,label:s,options:r,helperTextClassName:"hidden",containerClassName:"options-widget-container",onChange:i})}const je=t=>{const{propertyName:n,label:r}=t,{currentFilters:s,setCurrentFilters:a}=F(),l=o.useMemo(()=>{var i;return((i=s[n])==null?void 0:i.value)??""},[s]),c=o.useCallback(i=>{a({type:y.update,toUpdate:{[n]:{value:i.target.value}}})},[]);return e.jsx(L,{value:l??"",label:r,onChange:c,containerClassName:"input-widget-container",helperTextClassName:""})},fe=t=>{const{propertyName:n,label:r,min:s,max:a}=t,{currentFilters:l,setCurrentFilters:c}=F(),i=o.useMemo(()=>{var x;return((x=l[n])==null?void 0:x.value)??""},[l]),u=o.useCallback(x=>{c({type:y.update,toUpdate:{[n]:{value:x.target.value}}})},[i]);return e.jsx(L,{value:i??"",min:s,max:a,type:"number",label:r,containerClassName:"input-widget-container",onChange:u,helperTextClassName:""})},Ne=t=>{const{propertyName:n,label:r}=t,{currentFilters:s,setCurrentFilters:a}=F(),l=o.useMemo(()=>{var i;return((i=s[n])==null?void 0:i.value)??""},[s]),c=o.useCallback(i=>{a({type:y.update,toUpdate:{[n]:{value:i.target.checked}}})},[]);return e.jsx(G,{label:r,checked:l??!1,onChange:c})};function ye(t){const{propertyName:n,label:r,options:s,multiple:a=!0}=t,{currentFilters:l,setCurrentFilters:c}=F(),i=o.useMemo(()=>l[n]??s[0],[l]),u=o.useCallback(x=>{c({type:y.update,toUpdate:{[n]:{value:x}}})},[a]);return e.jsx(K,{value:i==null?void 0:i.value,label:r,options:s,multiple:a,helperTextClassName:"hidden",containerClassName:"options-widget-container",onChange:u})}const we=t=>{const{propertyName:n,label:r}=t,{currentFilters:s,setCurrentFilters:a}=F(),l=o.useMemo(()=>{var i,u;return(i=s[n])!=null&&i.value?new Date(String((u=s[n])==null?void 0:u.value)).toISOString().slice(0,10):""},[s]),c=o.useCallback(i=>{a({type:y.update,toUpdate:{[n]:{value:i.target.value}}})},[]);return e.jsx(L,{value:l??"",label:r,type:"date",onChange:c,containerClassName:"input-widget-container",helperTextClassName:""})},ie=t=>{switch(t.type){case k.text:return e.jsx(je,{...t});case k.number:return e.jsx(fe,{...t});case k.select:return e.jsx(Ce,{...t});case k.autocomplete:return e.jsx(ye,{...t});case k.date:return e.jsx(we,{...t});case k.check:return e.jsx(Ne,{...t})}return e.jsx(e.Fragment,{})};const ue=t=>{const{align:n="right",filters:r=[],icon:s}=t,[a,l]=o.useState(!1),{onFilterApply:c,filters:i}=P(),{currentFilters:u,setCurrentFilters:x}=F(),{t:d}=$(),p=o.useRef(null),C=o.useRef(null);return o.useEffect(()=>{const h=({target:m})=>{var g,v;C.current&&(!a||(g=C.current)!=null&&g.contains(m)||(v=p==null?void 0:p.current)!=null&&v.contains(m)||l(!1))};return document.addEventListener("click",h),()=>document.removeEventListener("click",h)}),o.useEffect(()=>{const h=m=>{!a||m.code!=="Escape"||l(!1)};return document.addEventListener("keydown",h),()=>document.removeEventListener("keydown",h)}),e.jsxs("div",{className:"filter-dropdown-main",children:[e.jsxs("button",{ref:p,className:"filter-dropdown-button normal filter-dropdown-trigger","aria-haspopup":"true",onClick:()=>l(!a),"aria-expanded":a,children:[e.jsx("span",{className:"sr-only",children:d("_accessibility:buttons.filters")}),e.jsx("wbr",{}),s??e.jsx(V,{className:"filter-dropdown-trigger-icon"})]}),e.jsx("div",{className:`filter-dropdown-transition ${a?"opened":"closed"} ${n==="right"?"right":"left"}`,children:e.jsxs("div",{ref:C,children:[e.jsx("div",{className:"filter-title",children:d("_accessibility:buttons.filters")}),e.jsx("ul",{className:"filter-container",children:r.map(h=>e.jsx("li",{className:"filter-container-item",children:ie(h)},h.propertyName))}),e.jsx("div",{className:"filter-footer",children:e.jsxs("ul",{className:"filter-buttons-row",children:[e.jsx("li",{children:e.jsx("button",{onClick:()=>x({type:y.reset,filters:r}),className:"filter-dropdown-button small filter-dropdown-cancel",children:d("_accessibility:buttons.clear")})}),e.jsx("li",{children:e.jsx("button",{className:"filter-dropdown-button small filter-dropdown-submit bg-primary hover:bg-light-primary",onClick:()=>{l(!1),c(u)},onBlur:()=>l(!1),children:d("_accessibility:buttons.applyFilters")})})]})})]})})]})},Se=t=>t,de=t=>{const{columns:n,softDeleteProperty:r="deleted",data:s,actions:a}=t,l=o.useMemo(()=>n.sort((c,i)=>(i.pos??0)-(c.pos??0)).filter(c=>c.display!=="none"),[n]);return s==null?void 0:s.map(c=>{var i;return e.jsxs("tr",{className:`table-row ${c[r]?"deleted-class":""}`,children:[l==null?void 0:l.map((u,x)=>e.jsx("td",{className:`table-row-cell ${x===0?"basic":""} ${u.className??""}`,children:u.renderBody?u.renderBody(c[u.key],c):Se(c[u.key])},u.key)),a?e.jsx("td",{children:e.jsx("div",{className:"table-row-cell-action",children:(i=a(c).filter(u=>!u.hidden))==null?void 0:i.map(u=>e.jsx(pe,{content:u.tooltip,children:e.jsx("button",{onClick:()=>u.onClick(c),children:u.icon})},u.id))})}):null]},c.id)})};function ke(t){const{title:n="",data:r,onSort:s,entity:a="",isLoading:l=!1,actions:c,columns:i=[],contentClassName:u="",className:x="",toolbar:d=e.jsx(e.Fragment,{}),softDeleteProperty:p="deleted"}=t,C=o.useMemo(()=>i?i.sort((m,g)=>(g.pos??0)-(m.pos??0)).filter(m=>!!m.filterOptions).map(m=>{var g;return{...m.filterOptions,label:((g=m.filterOptions)==null?void 0:g.label)??m.label,propertyName:m.key}}):[],[i]),h=o.useMemo(()=>!(r!=null&&r.length),[r]);return e.jsx(se,{children:e.jsxs("div",{className:`${x} table-main`,children:[e.jsxs("div",{className:"table-header",children:[e.jsx("h1",{className:"table-header-title",children:n}),l?null:e.jsxs("div",{className:"table-header-right",children:[d,e.jsx(ue,{filters:C})]})]}),l?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:a,columns:i,onSortCallback:s,hasAction:!!c}),e.jsx("tbody",{children:e.jsx(de,{data:r,actions:c,columns:i,softDeleteProperty:p})})]})}),e.jsx(ce,{})]})})]})})}function pe(t){const{content:n,children:r}=t;return e.jsxs("div",{className:"tooltip-container",children:[r,e.jsx("div",{className:"tooltip-text",children:n})]})}var S=(t=>(t.empty="empty",t.outlined="outlined",t.default="default",t))(S||{});function me(t){const{label:n,onDelete:r,className:s="",spanClassName:a="",variant:l=S.default}=t,c=o.useMemo(()=>{switch(l){case S.empty:return"text-primary bg-transparent";case S.outlined:return"border border-primary";case S.default:default:return"text-white bg-primary"}},[l]),i=o.useMemo(()=>{switch(l){case S.empty:case S.outlined:return"chip-delete-button-svg";case S.default:default:return"filled-chip-delete-button-svg"}},[l]);return e.jsxs("div",{className:`chip-main ${c} ${s}`,children:[e.jsx("span",{className:a,children:n}),r?e.jsx("button",{type:"button",className:"chip-delete-button",onClick:r,children:e.jsx(_,{className:i})}):null]})}exports.AutocompleteInput=K;exports.CheckInput=G;exports.ChevronDown=W;exports.ChevronLeft=J;exports.ChevronRight=q;exports.ChevronUp=H;exports.Chip=me;exports.ChipVariant=S;exports.Close=_;exports.Columns=ne;exports.CountOfTotal=le;exports.Empty=ae;exports.FilterPopup=ue;exports.FilterTypes=k;exports.Filters=V;exports.FiltersActions=y;exports.FiltersProvider=se;exports.Footer=ce;exports.Loading=Q;exports.Navigation=re;exports.PageSize=oe;exports.Rows=de;exports.SelectInput=R;exports.SortOrder=T;exports.State=z;exports.Table=ke;exports.TableOptionsProvider=ge;exports.TextInput=L;exports.Tooltip=pe;exports.TranslationProvider=xe;exports.filtersReducer=ee;exports.helperTextStateClassName=I;exports.initializer=Z;exports.inputStateClassName=D;exports.labelStateClassName=B;exports.renderFilterComponent=ie;exports.useFilters=F;exports.useTableOptions=P;exports.useTranslation=$;
|
|
1
|
+
var ke=require("./main.css");Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("react");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 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 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 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 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 G=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 D=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"}},I=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=o.forwardRef(function(t,n){const{value:r,onChange:s,options:a,containerClassName:l="",inputClassName:c="",labelClassName:i="",helperText:u="",helperTextClassName:v="",placeholder:p="",label:m="",name:x="",id:d="",state:h=L.default,children:b,...j}=t;return e.jsxs("div",{className:`select-input-container ${l}`,children:[e.jsx("select",{...j,id:d,ref:n,name:x,value:r,onChange:s,className:`select-input ${D(h)} peer ${c}`,children:a==null?void 0:a.map(C=>e.jsx("option",{value:C.id,children:C.value??C.name??C.id},C.id))}),e.jsx("label",{htmlFor:x,className:`select-input-label ${B(h)} ${i}`,children:m}),b,e.jsx("p",{className:`select-input-helper-text ${I(h)} ${v}`,children:h!=="error"&&h!=="good"?p:u})]})});const z=o.forwardRef(function(t,n){const{children:r,value:s,onChange:a,state:l=L.default,name:c="",id:i="",type:u="text",label:v="",required:p=!1,placeholder:m="",containerClassName:x="",inputClassName:d="",labelClassName:h="",helperText:b="",helperTextClassName:j="",...C}=t;return e.jsxs("div",{className:`text-input-container ${x}`,children:[e.jsx("input",{ref:n,type:u,name:c,id:i,className:`text-input ${D(l)} peer ${d}`,placeholder:"",required:p,value:s,onChange:a,...C}),e.jsxs("label",{htmlFor:c,className:`text-input-label ${B(l)} ${h}`,children:[v,p?" *":""]}),r,e.jsx("p",{className:`text-input-helper-text ${I(l)} ${j}`,children:l!=="error"&&l!=="good"?m:b})]})});const K=o.forwardRef(function(t,n){const{checked:r,onChange:s,state:a=L.default,name:l="",id:c="",type:i="text",label:u="",containerClassName:v="",inputClassName:p="",labelClassName:m="",helperText:x="",helperTextClassName:d="",...h}=t;return e.jsxs("label",{className:`input-check-container ${v}`,children:[e.jsx("input",{id:c,ref:n,name:l,type:"checkbox",checked:r,onChange:s,className:`input-check ${p}`,...h}),e.jsx("span",{className:`input-check-label ${m}`,children:u})]})});const Q=o.forwardRef(function(t,n){const{state:r,value:s,onChange:a,options:l=[],name:c="",id:i="",label:u="",containerClassName:v="",inputContainerClassName:p="",helperText:m="",placeholder:x="",multiple:d=!1,...h}=t,[b,j]=o.useState(""),[C,f]=o.useState(!1),w=l.filter(g=>{const N=String(g.value).toLowerCase().includes(b==null?void 0:b.toLowerCase());return s&&s.length?s!=null&&s.some?!(s!=null&&s.some(A=>A.id===g.id)):(s==null?void 0:s.id)!==g.id:N}),E=o.useRef(null);o.useEffect(()=>{const g=F=>{E.current&&!E.current.contains(F.target)&&f(!1)},N=F=>{F.key==="Escape"&&f(!1)};return document.addEventListener("mousedown",g),document.addEventListener("keydown",N),()=>{document.removeEventListener("mousedown",g),document.removeEventListener("keydown",N)}},[]);const M=g=>{j(g.target.value)},U=o.useCallback(g=>{j(""),g?d?Array.isArray(s)&&s.length?a([...s,g]):a([g]):a(g):a(null),f(!1)},[d,a,s]),xe=o.useCallback(g=>{const N=s.filter((F,A)=>A!==g);N.length?a(N):a(null)},[a,s]);return e.jsxs("div",{className:`autocomplete-input-container ${v}`,ref:E,children:[e.jsx(z,{state:r,name:c,id:i,value:!d&&s?s:b,onChange:M,placeholder:x,helperText:m,onFocus:()=>f(!0),label:u,containerClassName:`autocomplete-text-input ${p}`,ref:n,...h,children:!d&&s&&e.jsx("button",{type:"button",className:"autocomplete-delete-button",onClick:g=>{U(),g.stopPropagation()},children:e.jsx(_,{})})}),C&&e.jsx("ul",{className:"autocomplete-suggestions-container",children:w.map(g=>e.jsx("li",{className:"autocomplete-suggestion-item hover:bg-primary/20",onClick:N=>{U(g),N.stopPropagation()},children:g.value},g.id))}),d&&Array.isArray(s)&&s.length?e.jsx("ul",{className:"autocomplete-value-container",children:s.map((g,N)=>e.jsx("li",{children:e.jsx(me,{label:String(g.value),onDelete:F=>{xe(N),F.stopPropagation()}})},g.value))}):null]})});function X(t){const{color:n="stroke-blue-800",className:r="",loaderClass:s="",strokeWidth:a="4",...l}=t;return e.jsx("div",{...l,className:`loading ${r}`,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:a,strokeMiterlimit:"10"})})})})})}const Y=o.createContext({});function be(t){const{children:n,t:r}=t;return e.jsx(Y.Provider,{value:{t:r},children:n})}const $=()=>{const t=o.useContext(Y);if(t===void 0)throw new Error("translationContext must be used within a Provider");return t};var k=(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))(k||{}),O=(t=>(t.ASC="ASC",t.DESC="DESC",t))(O||{});const ge=[20,50,100],Z=o.createContext({}),ve=t=>{const{children:n}=t,[r,s]=o.useState(0),[a,l]=o.useState(20),[c,i]=o.useState(0),[u,v]=o.useState("id"),[p,m]=o.useState(O.DESC),[x,d]=o.useState({}),h=o.useCallback((C,f)=>{let w=p;if(u===C)switch(p){case O.ASC:w=O.DESC;break;default:w=O.ASC;break}v(C),m(w),f&&f(C,w)},[u,p]),b=o.useCallback(C=>{const f=Object.entries(C).reduce((w,[E,M])=>(M&&typeof M.value<"u"&&(w[E]=M.value),w),{});d(f)},[]),j={onSort:h,total:r,setTotal:s,sortingBy:u,setSortingBy:v,sortingOrder:p,setSortingOrder:m,pageSize:a,pageSizes:ge,setPageSize:l,currentPage:c,setCurrentPage:i,filters:x,onFilterApply:b};return e.jsx(Z.Provider,{value:j,children:n})},P=()=>{const t=o.useContext(Z);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 ee=t=>{if(t){const n={},r=Object.keys(t);return r==null||r.forEach(s=>{n[s]={value:t[s]}}),n}return{}};function te(t,n){const{type:r}=n;switch(r){case y.reset:{const{filters:s}=n,a={};return s==null||s.forEach(({propertyName:l,defaultValue:c})=>{a[l]={value:c}}),{...t,...a}}case y.update:{const{toUpdate:s}=n;return{...t,...s}}default:return t}}const se=o.createContext({}),ne=t=>{const{children:n}=t,{filters:r}=P(),[s,a]=o.useReducer(te,ee(r)),l={currentFilters:s,setCurrentFilters:a};return e.jsx(se.Provider,{value:l,children:n})},T=()=>{const t=o.useContext(se);if(t===void 0)throw new Error("tableOptionsContext must be used within a Provider");return t};function ae(t){const{t:n}=$(),{entity:r="",columns:s=[],hasAction:a=!0,onSortCallback:l}=t,{onSort:c,sortingOrder:i,sortingBy:u}=P(),v=o.useMemo(()=>{var p;return(p=s.sort((m,x)=>(x.pos??0)-(m.pos??0)).filter(m=>m.display!=="none"))==null?void 0:p.map(m=>({id:m.key,label:m.label,className:m.className??"",sortable:m.sortable??!0,sortOptions:m.sortOptions}))},[s,r,n]);return e.jsx("thead",{className:"table-headers-row",children:e.jsxs("tr",{children:[v.map(p=>{var m,x,d,h,b,j,C,f;return e.jsx("th",{scope:"col",className:`table-headers-column ${p.className}`,children:e.jsxs("button",{disabled:!p.sortable,onClick:()=>c(p.id,l),className:"table-headers-cell",children:[e.jsx("span",{className:"table-headers-label",children:p.label}),p.sortable&&e.jsx("span",{className:`${u===p.id?"table-headers-sort-on":"table-headers-sort"}`,children:i===O.ASC?((x=(m=p.sortOptions)==null?void 0:m.icons)==null?void 0:x.asc)??e.jsx(q,{className:((h=(d=p.sortOptions)==null?void 0:d.icons)==null?void 0:h.className)??"table-headers-sort-indicator"}):((j=(b=p.sortOptions)==null?void 0:b.icons)==null?void 0:j.desc)??e.jsx(W,{className:((f=(C=p.sortOptions)==null?void 0:C.icons)==null?void 0:f.className)??"table-headers-sort-indicator"})})]})},p.id)}),a&&e.jsx("th",{scope:"col",className:"table-headers-action",children:n("_accessibility:labels.actions")})]})})}function re(){const{t}=$();return e.jsx("div",{className:"table-empty",children:e.jsx("p",{children:t("_accessibility:components.table.empty")})})}const le=()=>{const{t}=$(),{total:n,pageSize:r,currentPage:s,setCurrentPage:a}=P();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:()=>a(s-1),children:e.jsx(J,{className:"w-2.5"})}),e.jsx("button",{disabled:Math.floor(n/((s+1)*r))===0,className:"table-navigation-buttons",name:t("_accessibility:buttons.next"),"aria-label":t("_accessibility:buttons.next"),onClick:()=>a(s+1),children:e.jsx(V,{className:"w-2.5"})})]})},oe=()=>{const{t}=$(),{total:n,pageSize:r,pageSizes:s,currentPage:a}=P(),l=(a+1)*r>n?n:(a+1)*r;return e.jsxs("div",{className:"table-navigation-sizes",children:[s[0]<n&&e.jsx(e.Fragment,{children:e.jsxs("p",{children:[a*r+1," - ",l," ",t("_accessibility:components.table.of")]})}),e.jsx("p",{children:n})]})};function ce(){const{t}=$(),{pageSizes:n,pageSize:r,setPageSize:s}=P(),a=o.useMemo(()=>n==null?void 0:n.map(l=>({id:l,value:l})),[n]);return e.jsxs("div",{className:"page-size",children:[e.jsx("p",{children:t("_accessibility:components.table.pageSizes")}),e.jsx(R,{value:r,options:a,inputClassName:"page-size-input",containerClassName:"page-size-input-container",helperTextClassName:"hidden",onChange:l=>s(Number(l.target.value))})]})}function Ce(){const{t}=$(),{total:n,pageSize:r,currentPage:s,setCurrentPage:a}=P(),l=o.useMemo(()=>{const c=Math.ceil(n/r);return Array.from({length:c},(i,u)=>({id:u,value:u+1}))},[n,r]);return e.jsxs("div",{className:"jump-to-page",children:[e.jsx("p",{children:t("_accessibility:components.table.jumpToPage")}),e.jsx(R,{value:s,options:l,inputClassName:"jump-to-page-input",containerClassName:"jump-to-page-input-container",helperTextClassName:"hidden",onChange:c=>a(Number(c.target.value))})]})}function ie(){return e.jsxs("div",{className:"table-footer",children:[e.jsx(Ce,{}),e.jsx(ce,{}),e.jsx(oe,{}),e.jsx(le,{})]})}function je(t){const{propertyName:n,options:r,label:s}=t,{currentFilters:a,setCurrentFilters:l}=T(),c=o.useMemo(()=>{var u;return((u=a[n])==null?void 0:u.value)??r[0]},[a]),i=o.useCallback(u=>{l({type:y.update,toUpdate:{[n]:{value:u.target.value}}})},[]);return e.jsx(R,{value:c,label:s,options:r,helperTextClassName:"hidden",containerClassName:"options-widget-container",onChange:i})}const fe=t=>{const{propertyName:n,label:r}=t,{currentFilters:s,setCurrentFilters:a}=T(),l=o.useMemo(()=>{var i;return((i=s[n])==null?void 0:i.value)??""},[s]),c=o.useCallback(i=>{a({type:y.update,toUpdate:{[n]:{value:i.target.value}}})},[]);return e.jsx(z,{value:l??"",label:r,onChange:c,containerClassName:"input-widget-container",helperTextClassName:""})},Ne=t=>{const{propertyName:n,label:r}=t,{currentFilters:s,setCurrentFilters:a}=T(),l=o.useMemo(()=>{var i;return((i=s[n])==null?void 0:i.value)??""},[s]),c=o.useCallback(i=>{a({type:y.update,toUpdate:{[n]:{value:i.target.checked}}})},[]);return e.jsx(K,{label:r,checked:l??!1,onChange:c})};function ye(t){const{propertyName:n,label:r,options:s,multiple:a=!0}=t,{currentFilters:l,setCurrentFilters:c}=T(),i=o.useMemo(()=>l[n]??s[0],[l]),u=o.useCallback(v=>{c({type:y.update,toUpdate:{[n]:{value:v}}})},[a]);return e.jsx(Q,{value:i==null?void 0:i.value,label:r,options:s,multiple:a,helperTextClassName:"hidden",containerClassName:"options-widget-container",onChange:u})}const H=t=>{const{propertyName:n,label:r,inputType:s}=t,{currentFilters:a,setCurrentFilters:l}=T(),c=o.useRef(null),i=o.useRef(null),u=o.useMemo(()=>{var d,h,b;const x=(h=(d=a[n])==null?void 0:d.value)==null?void 0:h.start;return x?s==="date"?new Date(String(x)).toISOString().slice(0,10):(b=a[n])==null?void 0:b.value:""},[a]),v=o.useMemo(()=>{var d,h,b;const x=(h=(d=a[n])==null?void 0:d.value)==null?void 0:h.end;return x?s==="date"?new Date(String(x)).toISOString().slice(0,10):(b=a[n])==null?void 0:b.value:""},[a]),p=o.useCallback(x=>{var d;l({type:y.update,toUpdate:{[n]:{value:{end:((d=i==null?void 0:i.current)==null?void 0:d.value)??null,start:x.target.value}}}})},[]),m=o.useCallback(x=>{var d;l({type:y.update,toUpdate:{[n]:{value:{start:((d=c==null?void 0:c.current)==null?void 0:d.value)??null,end:x.target.value}}}})},[]);return e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsx(z,{value:u??"",label:r,type:s,ref:c,onChange:p,containerClassName:"input-widget-container",helperTextClassName:""}),e.jsx(z,{value:v??"",label:r,type:s,ref:i,onChange:m,containerClassName:"input-widget-container",helperTextClassName:""})]})},ue=t=>{switch(t.type){case k.text:return e.jsx(fe,{...t});case k.number:return e.jsx(H,{...t});case k.date:return e.jsx(H,{...t});case k.select:return e.jsx(je,{...t});case k.autocomplete:return e.jsx(ye,{...t});case k.check:return e.jsx(Ne,{...t})}return e.jsx(e.Fragment,{})};const de=t=>{const{align:n="right",filters:r=[],icon:s}=t,[a,l]=o.useState(!1),{onFilterApply:c,filters:i}=P(),{currentFilters:u,setCurrentFilters:v}=T(),{t:p}=$(),m=o.useRef(null),x=o.useRef(null);return o.useEffect(()=>{const d=({target:h})=>{var b,j;x.current&&(!a||(b=x.current)!=null&&b.contains(h)||(j=m==null?void 0:m.current)!=null&&j.contains(h)||l(!1))};return document.addEventListener("click",d),()=>document.removeEventListener("click",d)}),o.useEffect(()=>{const d=h=>{!a||h.code!=="Escape"||l(!1)};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)}),e.jsxs("div",{className:"filter-dropdown-main",children:[e.jsxs("button",{ref:m,className:"filter-dropdown-button normal filter-dropdown-trigger","aria-haspopup":"true",onClick:()=>l(!a),"aria-expanded":a,children:[e.jsx("span",{className:"sr-only",children:p("_accessibility:buttons.filters")}),e.jsx("wbr",{}),s??e.jsx(G,{className:"filter-dropdown-trigger-icon"})]}),e.jsx("div",{className:`filter-dropdown-transition ${a?"opened":"closed"} ${n==="right"?"right":"left"}`,children:e.jsxs("div",{ref:x,children:[e.jsx("div",{className:"filter-title",children:p("_accessibility:buttons.filters")}),e.jsx("ul",{className:"filter-container",children:r.map(d=>e.jsx("li",{className:"filter-container-item",children:ue(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:()=>v({type:y.reset,filters:r}),className:"filter-dropdown-button small filter-dropdown-cancel",children:p("_accessibility:buttons.clear")})}),e.jsx("li",{children:e.jsx("button",{className:"filter-dropdown-button small filter-dropdown-submit bg-primary hover:bg-light-primary",onClick:()=>{l(!1),c(u)},onBlur:()=>l(!1),children:p("_accessibility:buttons.applyFilters")})})]})})]})})]})},we=t=>t,pe=t=>{const{columns:n,softDeleteProperty:r="deleted",data:s,actions:a}=t,l=o.useMemo(()=>n.sort((c,i)=>(i.pos??0)-(c.pos??0)).filter(c=>c.display!=="none"),[n]);return s==null?void 0:s.map(c=>{var i;return e.jsxs("tr",{className:`table-row ${c[r]?"deleted-class":""}`,children:[l==null?void 0:l.map((u,v)=>e.jsx("td",{className:`table-row-cell ${v===0?"basic":""} ${u.className??""}`,children:u.renderBody?u.renderBody(c[u.key],c):we(c[u.key])},u.key)),a?e.jsx("td",{children:e.jsx("div",{className:"table-row-cell-action",children:(i=a(c).filter(u=>!u.hidden))==null?void 0:i.map(u=>e.jsx(he,{content:u.tooltip,children:e.jsx("button",{onClick:()=>u.onClick(c),children:u.icon})},u.id))})}):null]},c.id)})};function Se(t){const{title:n="",data:r,onSort:s,entity:a="",isLoading:l=!1,actions:c,columns:i=[],contentClassName:u="",className:v="",toolbar:p=e.jsx(e.Fragment,{}),softDeleteProperty:m="deleted"}=t,x=o.useMemo(()=>i?i.sort((h,b)=>(b.pos??0)-(h.pos??0)).filter(h=>!!h.filterOptions).map(h=>{var b;return{...h.filterOptions,label:((b=h.filterOptions)==null?void 0:b.label)??h.label,propertyName:h.key}}):[],[i]),d=o.useMemo(()=>!(r!=null&&r.length),[r]);return e.jsx(ne,{children:e.jsxs("div",{className:`${v} table-main`,children:[e.jsxs("div",{className:"table-header",children:[e.jsx("h1",{className:"table-header-title",children:n}),l?null:e.jsxs("div",{className:"table-header-right",children:[p,!!x&&!!x.length&&e.jsx(de,{filters:x})]})]}),l?e.jsx(X,{className:"table-loading"}):e.jsx(e.Fragment,{children:d?e.jsx(re,{}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:`${u} table-body`,children:e.jsxs("table",{className:"table-content",children:[e.jsx(ae,{entity:a,columns:i,onSortCallback:s,hasAction:!!c}),e.jsx("tbody",{children:e.jsx(pe,{data:r,actions:c,columns:i,softDeleteProperty:m})})]})}),e.jsx(ie,{})]})})]})})}function he(t){const{content:n,children:r}=t;return e.jsxs("div",{className:"tooltip-container",children:[r,e.jsx("div",{className:"tooltip-text",children:n})]})}var S=(t=>(t.empty="empty",t.outlined="outlined",t.default="default",t))(S||{});function me(t){const{label:n,onDelete:r,className:s="",spanClassName:a="",variant:l=S.default}=t,c=o.useMemo(()=>{switch(l){case S.empty:return"text-primary bg-transparent";case S.outlined:return"border border-primary";case S.default:default:return"text-white bg-primary"}},[l]),i=o.useMemo(()=>{switch(l){case S.empty:case S.outlined:return"chip-delete-button-svg";case S.default:default:return"filled-chip-delete-button-svg"}},[l]);return e.jsxs("div",{className:`chip-main ${c} ${s}`,children:[e.jsx("span",{className:a,children:n}),r?e.jsx("button",{type:"button",className:"chip-delete-button",onClick:r,children:e.jsx(_,{className:i})}):null]})}exports.AutocompleteInput=Q;exports.CheckInput=K;exports.ChevronDown=W;exports.ChevronLeft=J;exports.ChevronRight=V;exports.ChevronUp=q;exports.Chip=me;exports.ChipVariant=S;exports.Close=_;exports.Columns=ae;exports.CountOfTotal=oe;exports.Empty=re;exports.FilterPopup=de;exports.FilterTypes=k;exports.Filters=G;exports.FiltersActions=y;exports.FiltersProvider=ne;exports.Footer=ie;exports.Loading=X;exports.Navigation=le;exports.PageSize=ce;exports.Rows=pe;exports.SelectInput=R;exports.SortOrder=O;exports.State=L;exports.Table=Se;exports.TableOptionsProvider=ve;exports.TextInput=z;exports.Tooltip=he;exports.TranslationProvider=be;exports.filtersReducer=te;exports.helperTextStateClassName=I;exports.initializer=ee;exports.inputStateClassName=D;exports.labelStateClassName=B;exports.renderFilterComponent=ue;exports.useFilters=T;exports.useTableOptions=P;exports.useTranslation=$;
|