@anoki/fse-ui
Version:
FSE UI components library
3 lines (2 loc) • 6.26 kB
JavaScript
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./components/ui/TableMobile/TableMobile.css');const t=require("./index.cjs237.js"),R=require("./index.cjs239.js");;/* empty css */const V=require("react"),q=require("./index.cjs61.js"),D=require("./index.cjs116.js"),z=require("./index.cjs18.js"),v=require("./index.cjs231.js"),A=require("./index.cjs230.js"),B=require("./index.cjs189.js"),U=require("./index.cjs208.js");function C(e){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const l=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(i,o,l.get?l:{enumerable:!0,get:()=>e[o]})}}return i.default=e,Object.freeze(i)}const F=C(V),G=({data:e,columns:i,pagination:o=!0,resultsPerPage:l=5,totalResults:j,initialCurrentPage:_=1,serverSidePagination:c=!1,totalItems:n,hasNextPage:r,hasPreviousPage:E,onNextPage:x,onPreviousPage:p,onPageChange:b,setCurrentPage:a,sortConfig:u=null,onSortChange:L})=>{const[N,y]=V.useState(_),w=d=>{y(d),a==null||a(d)},f=F.useMemo(()=>u?[...e].sort((d,h)=>{const M=d[u.key],T=h[u.key],I=typeof M=="object"&&"firstLine"in M?M.firstLine:M,$=typeof T=="object"&&"firstLine"in T?T.firstLine:T;return I<$?u.direction==="asc"?-1:1:I>$?u.direction==="asc"?1:-1:0}):e,[e,u]),s=c?0:(N-1)*l,k=c?f.length:Math.min(s+l,f.length),m=f.slice(s,k);return t.jsxRuntimeExports.jsxs(q.Col,{className:"w-full h-full",gap:"x16",children:[m.map((d,h)=>t.jsxRuntimeExports.jsx(O,{columns:i,data:d,sortConfig:u,onSortChange:L},h)),o&&t.jsxRuntimeExports.jsx(g,{currentPage:N,totalResults:j||f.length,resultsPerPage:l,setCurrentPage:w,onPageChange:b,serverSide:c,totalItems:n,hasNextPage:r,hasPreviousPage:E,onNextPage:x,onPreviousPage:p,currentResultsPerPage:c?f.length:l,className:"mt-x16"})]})},H=({data:e})=>e.type==="link"&&e.link?t.jsxRuntimeExports.jsx("a",{href:e.link,"aria-label":e.ariaLabel,children:e.label}):t.jsxRuntimeExports.jsx("button",{onClick:e.action,"aria-label":e.ariaLabel,children:e.label}),O=({columns:e,sortConfig:i,data:o,onSortChange:l})=>{const j=n=>{if(!n)return"";if(typeof n=="object"&&"firstLine"in n){const r=n;return`${r.firstLine}${r.secondLine?` ${r.secondLine}`:""}`}return typeof n=="object"&&"label"in n&&"type"in n?t.jsxRuntimeExports.jsx(H,{data:n}):n},_=n=>{switch(n){case"info":return t.jsxRuntimeExports.jsx(U.Info,{});case"download":return t.jsxRuntimeExports.jsx(B.Download,{});default:return n}},c=n=>{if(!l||!i)return;const r=i.key===n&&i.direction==="asc"?"desc":"asc";l(n,r)};return t.jsxRuntimeExports.jsx("div",{className:R.clsx("ui-card-table shadow br-x4 text-slate-28 fs-custom "),children:e.map((n,r)=>{if(!n.key||n.key==="actionData")return t.jsxRuntimeExports.jsx(D.Row,{p:"x16",className:"ui-table-header",justifyContent:"space-between",children:t.jsxRuntimeExports.jsx(q.Col,{justifyContent:"end",gap:"x4",className:"w-full",children:t.jsxRuntimeExports.jsx(D.Row,{justifyContent:"end",className:"table-mobile-actions",children:j(o.actionData)})})},r);const E=o[n.key],x=n,p=(i==null?void 0:i.key)===n.key,b=p?i.direction:null;return t.jsxRuntimeExports.jsx(D.Row,{p:"x16",className:"ui-table-header",justifyContent:"space-between",children:t.jsxRuntimeExports.jsxs(q.Col,{justifyContent:"center",gap:"x4",className:"w-full",children:[t.jsxRuntimeExports.jsx(z.ActionIconText,{justifyContent:"space-between",alignItems:"center",icon:_(x.icon),noIcon:!_(x.icon),textLabel:x.label,iconPosition:x.iconPosition,popupInfo:x.popupInfo,positionPopUp:"left",classNameText:"fw-bold text-slate-28 fs-custom md-fs-6",children:x.sortable&&t.jsxRuntimeExports.jsxs("span",{className:"sort-indicator",onClick:a=>{a.stopPropagation(),c(n.key)},children:[t.jsxRuntimeExports.jsx(v.TriangleUp,{filled:p&&b==="desc",className:R.clsx("sort-indicator__triangle",{active:p&&b==="desc"})}),t.jsxRuntimeExports.jsx(A.TriangleDown,{filled:p&&b==="asc",className:R.clsx("sort-indicator__triangle",{active:p&&b==="asc"})})]})}),t.jsxRuntimeExports.jsx(D.Row,{children:j(E)})]})},r)})})},g=({currentPage:e=1,totalResults:i=0,resultsPerPage:o,setCurrentPage:l,onPageChange:j,className:_,serverSide:c=!1,totalItems:n,hasNextPage:r,hasPreviousPage:E,onNextPage:x,onPreviousPage:p,currentResultsPerPage:b=o})=>{const a=Math.ceil(c?(n||i)/o:i/o),u=s=>{l==null||l(s),j&&j(s)},L=()=>{const s=e+1;c&&x&&x(),u(s)},N=()=>{const s=e-1;c&&p&&p(),u(s)},y=c?!r:e===a,w=c?!E:e===1,f=()=>{const s=[];if(a<=5)for(let m=1;m<=a;m++)s.push(m);else{s.push(1);let m=Math.max(2,e-1),d=Math.min(a-1,e+1);e<=3?d=4:e>=a-2&&(m=a-3),m>2&&s.push("...");for(let h=m;h<=d;h++)s.push(h);d<a-1&&s.push("..."),s.push(a)}return s};return t.jsxRuntimeExports.jsxs("div",{className:R.clsx("pagination-mobile",_),children:[t.jsxRuntimeExports.jsxs("div",{className:"pagination-mobile__info",children:["Stai visualizzando"," ",t.jsxRuntimeExports.jsx("span",{className:"pagination-mobile__info__resultsPerPage",children:c?b:e===a&&i%o!==0?i%o:o})," ","di ",c&&n||i," risultati"]}),t.jsxRuntimeExports.jsxs("div",{className:"pagination-mobile__nav",children:[t.jsxRuntimeExports.jsx("button",{className:R.clsx("pagination-mobile__button",w&&"pagination-mobile__button--disabled"),onClick:N,disabled:w,"aria-label":"Previous page",children:t.jsxRuntimeExports.jsx("svg",{className:"pagination-mobile__button-arrow",viewBox:"0 0 24 24","aria-hidden":"true",role:"presentation",children:t.jsxRuntimeExports.jsx("path",{d:"M15 18l-6-6 6-6"})})}),f().map((s,k)=>s==="..."?t.jsxRuntimeExports.jsx("span",{className:"pagination-mobile__ellipsis",children:"..."},`ellipsis-${k}`):t.jsxRuntimeExports.jsx("button",{className:R.clsx("pagination-mobile__button",e===s&&"pagination-mobile__button--active"),onClick:()=>u(s),disabled:s===e,children:s},s)),t.jsxRuntimeExports.jsx("button",{className:R.clsx("pagination-mobile__button",y&&"pagination-mobile__button--disabled"),onClick:L,disabled:y,"aria-label":"Next page",children:t.jsxRuntimeExports.jsx("svg",{className:"pagination-mobile__button-arrow",viewBox:"0 0 24 24","aria-hidden":"true",role:"presentation",children:t.jsxRuntimeExports.jsx("path",{d:"M9 6l6 6-6 6"})})})]})]})};exports.CardTable=O;exports.TableMobile=G;exports.TableMobilePagination=g;
//# sourceMappingURL=index.cjs130.js.map