@sito/dashboard 0.0.43 → 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.
Files changed (26) hide show
  1. package/dist/components/Badge/Badge.d.ts +2 -0
  2. package/dist/components/Badge/index.d.ts +2 -0
  3. package/dist/components/Badge/types.d.ts +4 -0
  4. package/dist/components/Chip/types.d.ts +2 -8
  5. package/dist/components/Table/components/Filters/ActiveFilters/ActiveFilters.d.ts +2 -0
  6. package/dist/components/Table/components/Filters/ActiveFilters/RangeChip.d.ts +2 -0
  7. package/dist/components/Table/components/Filters/ActiveFilters/index.d.ts +1 -0
  8. package/dist/components/Table/components/Filters/ActiveFilters/types.d.ts +10 -0
  9. package/dist/components/Table/components/Filters/FilterDropdown/FilterDropdown.d.ts +2 -0
  10. package/dist/components/Table/components/{FilterPopup → Filters/FilterDropdown}/index.d.ts +1 -1
  11. package/dist/components/Table/components/Filters/FilterDropdown/types.d.ts +18 -0
  12. package/dist/components/Table/components/{FilterPopup → Filters/FilterDropdown}/utils.d.ts +1 -1
  13. package/dist/components/Table/components/Filters/index.d.ts +2 -0
  14. package/dist/components/Table/components/TableHeader/TableHeader.d.ts +3 -0
  15. package/dist/components/Table/components/TableHeader/index.d.ts +2 -0
  16. package/dist/components/Table/components/TableHeader/types.d.ts +11 -0
  17. package/dist/components/Table/components/index.d.ts +2 -1
  18. package/dist/components/Table/types.d.ts +3 -8
  19. package/dist/components/index.d.ts +1 -0
  20. package/dist/dashboard.cjs +1 -1
  21. package/dist/dashboard.js +536 -481
  22. package/dist/main.css +1 -1
  23. package/dist/providers/TableOptions/types.d.ts +2 -0
  24. package/package.json +1 -1
  25. package/dist/components/Table/components/FilterPopup/FilterPopup.d.ts +0 -2
  26. package/dist/components/Table/components/FilterPopup/types.d.ts +0 -7
@@ -0,0 +1,2 @@
1
+ import { BadgePropsType } from './types';
2
+ export declare const Badge: (props: BadgePropsType) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export * from './Badge';
2
+ export * from './types';
@@ -0,0 +1,4 @@
1
+ export type BadgePropsType = {
2
+ count: number;
3
+ className?: string;
4
+ };
@@ -1,12 +1,6 @@
1
- import { MouseEventHandler } from 'react';
2
- export declare enum ChipVariant {
3
- empty = "empty",
4
- outlined = "outlined",
5
- default = "default"
6
- }
1
+ import { MouseEventHandler, ReactNode } from 'react';
7
2
  export type ChipPropsType = {
8
- variant?: ChipVariant;
9
- label?: string;
3
+ label?: string | ReactNode;
10
4
  onDelete?: MouseEventHandler<HTMLElement>;
11
5
  className?: string;
12
6
  spanClassName?: string;
@@ -0,0 +1,2 @@
1
+ import { ActiveFiltersPropsType } from './types';
2
+ export declare const ActiveFilters: (props: ActiveFiltersPropsType) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { RangeChipPropsType } from './types';
2
+ export declare const RangeChip: <T extends unknown>(props: RangeChipPropsType<T>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './ActiveFilters';
@@ -0,0 +1,10 @@
1
+ import { FilterType } from '../../../../../lib';
2
+ export type RangeChipPropsType<T> = {
3
+ start: T;
4
+ end: T;
5
+ label: string;
6
+ onClearFilter: (key: string) => void;
7
+ };
8
+ export type ActiveFiltersPropsType = {
9
+ filtersDefinition: FilterType[];
10
+ };
@@ -0,0 +1,2 @@
1
+ import { FilterDropdownPropsType } from './types';
2
+ export declare const FilterDropdown: (props: FilterDropdownPropsType) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,3 @@
1
- export * from './FilterPopup';
1
+ export * from './FilterDropdown';
2
2
  export * from './types';
3
3
  export * from './utils';
@@ -0,0 +1,18 @@
1
+ import { ReactNode } from 'react';
2
+ import { FilterType } from '../../../../../lib';
3
+ export type FilterDropdownPropsType = {
4
+ filters?: FilterType[];
5
+ options?: FilterOptions;
6
+ show: boolean;
7
+ handleShow: (value: boolean) => void;
8
+ };
9
+ export type FilterOptions = {
10
+ button: {
11
+ icon?: ReactNode | string;
12
+ hide?: boolean;
13
+ };
14
+ dropdown?: {
15
+ opened: boolean;
16
+ setOpened: (value: boolean) => void;
17
+ };
18
+ };
@@ -1,3 +1,3 @@
1
1
  import { ReactNode } from 'react';
2
- import { WidgetFilterProps } from '../../../../lib';
2
+ import { WidgetFilterProps } from '../../../../../lib';
3
3
  export declare const renderFilterComponent: (filter: WidgetFilterProps) => ReactNode;
@@ -0,0 +1,2 @@
1
+ export * from './ActiveFilters';
2
+ export * from './FilterDropdown';
@@ -0,0 +1,3 @@
1
+ import { BaseDto } from '../../../../lib';
2
+ import { TableHeaderPropsType } from './types';
3
+ export declare const TableHeader: <TRow extends BaseDto>(props: TableHeaderPropsType<TRow>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export * from './TableHeader';
2
+ export * from './types';
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ import { ColumnType } from '../types';
3
+ import { BaseDto } from '../../../../lib';
4
+ import { FilterOptions } from '../Filters/FilterDropdown';
5
+ export type TableHeaderPropsType<TRow extends BaseDto> = {
6
+ title?: string;
7
+ isLoading?: boolean;
8
+ toolbar?: ReactNode;
9
+ columns?: ColumnType<TRow>[];
10
+ filterOptions?: FilterOptions;
11
+ };
@@ -1,6 +1,7 @@
1
1
  export * from './Columns';
2
2
  export * from './Empty';
3
3
  export * from './Footer';
4
- export * from './FilterPopup';
4
+ export * from './Filters/FilterDropdown';
5
+ export * from './TableHeader';
5
6
  export * from './Rows';
6
7
  export * from './types';
@@ -1,6 +1,5 @@
1
- import { ReactNode } from 'react';
2
1
  import { BaseDto, SortOrder } from '../../lib';
3
- import { ColumnType } from './components';
2
+ import { TableHeaderPropsType } from './components';
4
3
  export type Action<TRow extends BaseDto> = {
5
4
  id: string;
6
5
  onClick: (entity: TRow) => void;
@@ -9,16 +8,12 @@ export type Action<TRow extends BaseDto> = {
9
8
  disabled?: boolean;
10
9
  hidden?: boolean;
11
10
  };
12
- export type TablePropsType<TRow extends BaseDto> = {
11
+ export interface TablePropsType<TRow extends BaseDto> extends TableHeaderPropsType<TRow> {
13
12
  entity: string;
14
- title?: string;
15
13
  data: TRow[];
16
- isLoading?: boolean;
17
14
  actions?: (row: TRow) => Action<TRow>[];
18
- columns?: ColumnType<TRow>[];
19
15
  contentClassName?: string;
20
16
  className?: string;
21
17
  softDeleteProperty?: keyof TRow;
22
- toolbar?: ReactNode;
23
18
  onSort?: (prop: string, sortOrder: SortOrder) => void;
24
- };
19
+ }
@@ -4,3 +4,4 @@ export * from './Loading';
4
4
  export * from './Table';
5
5
  export * from './Tooltip';
6
6
  export * from './Chip';
7
+ export * from './Badge';
@@ -1 +1 @@
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 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:"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 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:"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 A(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 B=t=>{switch(t){case"error":return"input-error";case"good":return"input-good";default:return"input-normal"}},D=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:u="",helperText:i="",helperTextClassName:g="",placeholder:d="",label:p="",name:b="",id:x="",state:h=L.default,children:v,...j}=t;return e.jsxs("div",{className:`select-input-container ${l}`,children:[e.jsx("select",{...j,id:x,ref:n,name:b,value:r,onChange:s,className:`select-input ${B(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:b,className:`select-input-label ${D(h)} ${u}`,children:p}),v,e.jsx("p",{className:`select-input-helper-text ${I(h)} ${g}`,children:h!=="error"&&h!=="good"?d:i})]})});const M=o.forwardRef(function(t,n){const{children:r,state:s=L.default,label:a="",containerClassName:l="",inputClassName:c="",labelClassName:u="",helperText:i="",helperTextClassName:g="",value:d="",...p}=t;return e.jsxs("div",{className:`text-input-container ${l}`,children:[e.jsx("input",{ref:n,value:d,className:`text-input ${B(s)} peer ${c} ${d?"has-value":""} ${p.placeholder?"has-placeholder":""}`,...p}),!!a&&e.jsxs("label",{htmlFor:p.name,className:`text-input-label ${D(s)} ${u}`,children:[a,p.required?" *":""]}),r,!!i&&e.jsx("p",{className:`text-input-helper-text ${I(s)} ${g}`,children:i})]})});const K=o.forwardRef(function(t,n){const{checked:r,onChange:s,state:a=L.default,name:l="",id:c="",type:u="text",label:i="",containerClassName:g="",inputClassName:d="",labelClassName:p="",helperText:b="",helperTextClassName:x="",...h}=t;return e.jsxs("label",{className:`input-check-container ${g}`,children:[e.jsx("input",{id:c,ref:n,name:l,type:"checkbox",checked:r,onChange:s,className:`input-check ${d}`,...h}),e.jsx("span",{className:`input-check-label ${p}`,children:i})]})});const Q=o.forwardRef(function(t,n){const{state:r,value:s,onChange:a,options:l=[],name:c="",id:u="",label:i="",containerClassName:g="",inputContainerClassName:d="",helperText:p="",placeholder:b="",multiple:x=!1,...h}=t,[v,j]=o.useState(""),[C,f]=o.useState(!1),w=l.filter(m=>{const N=String(m.value).toLowerCase().includes(v==null?void 0:v.toLowerCase());return s&&s.length?s!=null&&s.some?!(s!=null&&s.some(_=>_.id===m.id)):(s==null?void 0:s.id)!==m.id:N}),E=o.useRef(null);o.useEffect(()=>{const m=T=>{E.current&&!E.current.contains(T.target)&&f(!1)},N=T=>{T.key==="Escape"&&f(!1)};return document.addEventListener("mousedown",m),document.addEventListener("keydown",N),()=>{document.removeEventListener("mousedown",m),document.removeEventListener("keydown",N)}},[]);const z=m=>{j(m.target.value)},U=o.useCallback(m=>{j(""),m?x?Array.isArray(s)&&s.length?a([...s,m]):a([m]):a(m):a(null),f(!1)},[x,a,s]),xe=o.useCallback(m=>{const N=s.filter((T,_)=>_!==m);N.length?a(N):a(null)},[a,s]);return e.jsxs("div",{className:`autocomplete-input-container ${g}`,ref:E,children:[e.jsx(M,{state:r,name:c,id:u,value:!x&&s?s.value??s.name:v,onChange:z,placeholder:b,helperText:p,onFocus:()=>f(!0),label:i,containerClassName:`autocomplete-text-input ${d}`,ref:n,...h,children:!x&&s&&e.jsx("button",{type:"button",className:"autocomplete-delete-button",onClick:m=>{U(),m.stopPropagation()},children:e.jsx(A,{})})}),C&&e.jsx("ul",{className:"autocomplete-suggestions-container",children:w.map(m=>e.jsx("li",{className:"autocomplete-suggestion-item hover:bg-primary/20",onClick:N=>{U(m),N.stopPropagation()},children:m.value??m.name},m.id??m.value??m.name))}),x&&Array.isArray(s)&&s.length?e.jsx("ul",{className:"autocomplete-value-container",children:s.map((m,N)=>e.jsx("li",{children:e.jsx(me,{label:String(m.value??m.name),onDelete:T=>{xe(N),T.stopPropagation()}})},m.id??m.value??m.name))}):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 k=()=>{const t=o.useContext(Y);if(t===void 0)throw new Error("translationContext must be used within a Provider");return t};var $=(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))($||{}),F=(t=>(t.ASC="ASC",t.DESC="DESC",t))(F||{});const ve=[20,50,100],Z=o.createContext({}),ge=t=>{const{children:n}=t,[r,s]=o.useState(0),[a,l]=o.useState(20),[c,u]=o.useState(0),[i,g]=o.useState("id"),[d,p]=o.useState(F.DESC),[b,x]=o.useState({}),h=o.useCallback((C,f)=>{let w=d;if(i===C)switch(d){case F.ASC:w=F.DESC;break;default:w=F.ASC;break}g(C),p(w),f&&f(C,w)},[i,d]),v=o.useCallback(C=>{const f=Object.entries(C).reduce((w,[E,z])=>(z&&typeof z.value<"u"&&(w[E]=z.value),w),{});x(f)},[]),j={onSort:h,total:r,setTotal:s,sortingBy:i,setSortingBy:g,sortingOrder:d,setSortingOrder:p,pageSize:a,pageSizes:ve,setPageSize:l,currentPage:c,setCurrentPage:u,filters:b,onFilterApply:v};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})},O=()=>{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}=k(),{entity:r="",columns:s=[],hasAction:a=!0,onSortCallback:l}=t,{onSort:c,sortingOrder:u,sortingBy:i}=P(),g=o.useMemo(()=>{var d;return(d=s.sort((p,b)=>(b.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:[g.map(d=>{var p,b,x,h,v,j,C,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:`${i===d.id?"table-headers-sort-on":"table-headers-sort"}`,children:u===F.ASC?((b=(p=d.sortOptions)==null?void 0:p.icons)==null?void 0:b.asc)??e.jsx(q,{className:((h=(x=d.sortOptions)==null?void 0:x.icons)==null?void 0:h.className)??"table-headers-sort-indicator"}):((j=(v=d.sortOptions)==null?void 0:v.icons)==null?void 0:j.desc)??e.jsx(W,{className:((f=(C=d.sortOptions)==null?void 0:C.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 re(){const{t}=k();return e.jsx("div",{className:"table-empty",children:e.jsx("p",{children:t("_accessibility:components.table.empty")})})}const le=()=>{const{t}=k(),{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(V,{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(J,{className:"w-2.5"})})]})},oe=()=>{const{t}=k(),{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}=k(),{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 je(){const{t}=k(),{total:n,pageSize:r,currentPage:s,setCurrentPage:a}=P(),l=o.useMemo(()=>{const c=Math.ceil(n/r);return Array.from({length:c},(u,i)=>({id:i,value:i+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(je,{}),e.jsx(ce,{}),e.jsx(oe,{}),e.jsx(le,{})]})}function Ce(t){const{propertyName:n,options:r,label:s}=t,{currentFilters:a,setCurrentFilters:l}=O(),c=o.useMemo(()=>{var i;return((i=a[n])==null?void 0:i.value)??r[0]},[a]),u=o.useCallback(i=>{l({type:y.update,toUpdate:{[n]:{value:i.target.value}}})},[]);return e.jsx(R,{value:c,label:s,options:r,helperTextClassName:"hidden",containerClassName:"options-widget-container",onChange:u})}const fe=t=>{const{propertyName:n,label:r}=t,{currentFilters:s,setCurrentFilters:a}=O(),l=o.useMemo(()=>{var u;return((u=s[n])==null?void 0:u.value)??""},[s]),c=o.useCallback(u=>{a({type:y.update,toUpdate:{[n]:{value:u.target.value}}})},[]);return e.jsx(M,{value:l??"",label:r,onChange:c,containerClassName:"input-widget-container",helperTextClassName:""})},Ne=t=>{const{propertyName:n,label:r}=t,{currentFilters:s,setCurrentFilters:a}=O(),l=o.useMemo(()=>{var u;return((u=s[n])==null?void 0:u.value)??""},[s]),c=o.useCallback(u=>{a({type:y.update,toUpdate:{[n]:{value:u.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}=O(),u=o.useMemo(()=>l[n]??s[0],[l]),i=o.useCallback(g=>{c({type:y.update,toUpdate:{[n]:{value:g}}})},[a]);return e.jsx(Q,{value:u==null?void 0:u.value,label:r,options:s,multiple:a,helperTextClassName:"hidden",containerClassName:"options-widget-container",onChange:i})}const H=t=>{var p,b,x,h;const{propertyName:n,label:r,inputType:s}=t,{t:a}=k(),{currentFilters:l,setCurrentFilters:c}=O(),u=o.useRef(null),i=o.useRef(null),g=o.useCallback(v=>{var j;c({type:y.update,toUpdate:{[n]:{value:{end:((j=i==null?void 0:i.current)==null?void 0:j.value)??null,start:v.target.value}}}})},[]),d=o.useCallback(v=>{var j;c({type:y.update,toUpdate:{[n]:{value:{start:((j=u==null?void 0:u.current)==null?void 0:j.value)??null,end:v.target.value}}}})},[]);return e.jsxs("div",{className:"relative",children:[e.jsx("p",{className:"text-input-label input-widget-label input-label-normal",children:r}),e.jsxs("div",{className:"range-widget-row",children:[e.jsx(M,{value:((b=(p=l[n])==null?void 0:p.value)==null?void 0:b.start)??"",placeholder:a("_accessibility:components.table.filters.range.start"),type:s,ref:u,onChange:g,containerClassName:"input-widget-container",helperTextClassName:""}),e.jsx(M,{value:((h=(x=l[n])==null?void 0:x.value)==null?void 0:h.end)??"",placeholder:a("_accessibility:components.table.filters.range.end"),type:s,ref:i,onChange:d,containerClassName:"input-widget-container",helperTextClassName:""})]})]})},ue=t=>{switch(t.type){case $.text:return e.jsx(fe,{...t});case $.number:return e.jsx(H,{...t,inputType:"number"});case $.date:return e.jsx(H,{...t,inputType:"date"});case $.select:return e.jsx(Ce,{...t});case $.autocomplete:return e.jsx(ye,{...t});case $.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:u}=P(),{currentFilters:i,setCurrentFilters:g}=O(),{t:d}=k(),p=o.useRef(null),b=o.useRef(null);return o.useEffect(()=>{const x=({target:h})=>{var v,j;b.current&&(!a||(v=b.current)!=null&&v.contains(h)||(j=p==null?void 0:p.current)!=null&&j.contains(h)||l(!1))};return document.addEventListener("click",x),()=>document.removeEventListener("click",x)}),o.useEffect(()=>{const x=h=>{!a||h.code!=="Escape"||l(!1)};return document.addEventListener("keydown",x),()=>document.removeEventListener("keydown",x)}),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(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:b,children:[e.jsx("div",{className:"filter-title",children:d("_accessibility:buttons.filters")}),e.jsx("ul",{className:"filter-container",children:r.map(x=>e.jsx("li",{className:"filter-container-item",children:ue(x)},x.propertyName))}),e.jsx("div",{className:"filter-footer",children:e.jsxs("ul",{className:"filter-buttons-row",children:[e.jsx("li",{children:e.jsx("button",{onClick:()=>g({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(i)},onBlur:()=>l(!1),children:d("_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,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[r]?"deleted-class":""}`,children:[l==null?void 0:l.map((i,g)=>e.jsx("td",{className:`table-row-cell ${g===0?"basic":""} ${i.className??""}`,children:i.renderBody?i.renderBody(c[i.key],c):we(c[i.key])},i.key)),a?e.jsx("td",{children:e.jsx("div",{className:"table-row-cell-action",children:(u=a(c).filter(i=>!i.hidden))==null?void 0:u.map(i=>e.jsx(he,{content:i.tooltip,children:e.jsx("button",{onClick:()=>i.onClick(c),children:i.icon})},i.id))})}):null]},c.id)})};function Se(t){const{title:n="",data:r,onSort:s,entity:a="",isLoading:l=!1,actions:c,columns:u=[],contentClassName:i="",className:g="",toolbar:d=e.jsx(e.Fragment,{}),softDeleteProperty:p="deleted"}=t,b=o.useMemo(()=>u?u.sort((h,v)=>(v.pos??0)-(h.pos??0)).filter(h=>!!h.filterOptions).map(h=>{var v;return{...h.filterOptions,label:((v=h.filterOptions)==null?void 0:v.label)??h.label,propertyName:h.key}}):[],[u]),x=o.useMemo(()=>!(r!=null&&r.length),[r]);return e.jsx(ne,{children:e.jsxs("div",{className:`${g} 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,!!b&&!!b.length&&e.jsx(de,{filters:b})]})]}),l?e.jsx(X,{className:"table-loading"}):e.jsx(e.Fragment,{children:x?e.jsx(re,{}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:`${i} table-body`,children:e.jsxs("table",{className:"table-content",children:[e.jsx(ae,{entity:a,columns:u,onSortCallback:s,hasAction:!!c}),e.jsx("tbody",{children:e.jsx(pe,{data:r,actions:c,columns:u,softDeleteProperty:p})})]})}),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]),u=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(A,{className:u})}):null]})}exports.AutocompleteInput=Q;exports.CheckInput=K;exports.ChevronDown=W;exports.ChevronLeft=V;exports.ChevronRight=J;exports.ChevronUp=q;exports.Chip=me;exports.ChipVariant=S;exports.Close=A;exports.Columns=ae;exports.CountOfTotal=oe;exports.Empty=re;exports.FilterPopup=de;exports.FilterTypes=$;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=F;exports.State=L;exports.Table=Se;exports.TableOptionsProvider=ge;exports.TextInput=M;exports.Tooltip=he;exports.TranslationProvider=be;exports.filtersReducer=te;exports.helperTextStateClassName=I;exports.initializer=ee;exports.inputStateClassName=B;exports.labelStateClassName=D;exports.renderFilterComponent=ue;exports.useFilters=O;exports.useTableOptions=P;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;