UNPKG

@lanaco/lnc-react-ui

Version:

React component library

17 lines (15 loc) 3.38 kB
"use strict";const w=require("react/jsx-runtime"),g=require("react"),ne=require("./emotion-styled.browser.esm-DwHBgTPn.cjs"),te=require("./ActionsToolbar.cjs"),ce=require("./Pagination.cjs"),d=require("./utils-BK6B_Y9X.cjs"),le=require("./Table.cjs"),re=require("./breakpoints-CcVm-gVm.cjs"),ie=ne.styled.div` & .table-view-pagination-lnc { padding: 0 0.625rem; } & .table-view-toolbar-lnc { margin: 0 0.625rem; } @media ${re.down("S")} { & .table-view-pagination-lnc, & .table-view-toolbar-lnc { margin: 0 0.5rem; padding: 0 0.5rem; } } `,y=g.forwardRef((E,T)=>{const{tableProps:e={},paginationProps:n={},actionsToolbarProps:v={},rowsSingleSelect:N=!0,rowsMultiSelect:C=!1,showCreate:D=!0,enableCreate:k=!0,showEdit:q,enableEditOnSelection:x,showDelete:A=!0,enableDeleteOnSelection:O=!0,showCopy:b=!0,enableCopyOnSelection:j=!0,customActions:I,pagination:L=!0,readOnly:S=!1,actionsDropdownZIndex:_=null,actionsDropdownPlacement:B=null,actionDropdownProps:V,onCreate:f=()=>{},onEdit:G=()=>{},onDelete:M=()=>{},onDetails:W=()=>{},onCopy:Z=()=>{},onPageChange:$=()=>{},color:a="primary",size:s="small",children:u,onChangeRowsSelection:m=()=>{},...F}=E,t={...v,showCreate:D,enableCreate:k,showCopy:b,enableCopyOnSelection:j,showEdit:q,enableEditOnSelection:x,showDelete:A,enableDeleteOnSelection:O,customActions:I,readOnly:S},[i,h]=g.useState([]),c=g.useRef([]),H=(l,r)=>{var o;r?(C||N)&&(c.current=C?[...c.current,l]:[l],m(c==null?void 0:c.current),h(c==null?void 0:c.current)):(c.current=C?(o=c==null?void 0:c.current)==null?void 0:o.filter(z=>z!=l):[],m==null||m(c==null?void 0:c.current),h(c==null?void 0:c.current))},J=(l,r)=>{var o,z;((o=l.target)==null?void 0:o.type)!=="checkbox"&&((z=l.target)==null?void 0:z.className)!=="checkmark"&&(e!=null&&e.onRowClick&&e.onRowClick(l,r),K(r,l))},K=(l,r)=>{W(l,r)},Q=l=>{f(l)},U=l=>{Z(i,l)},X=l=>{G(i,l),c.current=[],h([]),m([])},Y=l=>{M(i,l),c.current=[],h([]),m([])},R=l=>{$(l)},p=()=>d.renderCustomElement(d.getCustomRender("ACTIONS_TOOLBAR",u),{...t,size:t!=null&&t.size?t.size:s,color:t!=null&&t.color?t.color:a,className:"table-view-toolbar-lnc "+(t==null?void 0:t.className)},u)||w.jsx(te,{...t,className:"table-view-toolbar-lnc "+(t==null?void 0:t.className),size:t!=null&&t.size?t.size:s,color:t!=null&&t.color?t.color:a,selectedRowsLength:i!=null&&i.length?i.length:0,onCreate:Q,onCopy:U,onEdit:X,onDelete:Y,actionsDropdownZIndex:_,actionDropdownProps:V,actionsDropdownPlacement:B,selectedRows:c==null?void 0:c.current}),P=()=>d.renderCustomElement(d.getCustomRender("TABLE",u),{...e,size:e!=null&&e.size?e.size:s,color:e!=null&&e.color?e.color:a,className:"table-view-pagination-lnc "+(e==null?void 0:e.className)},u)||w.jsx(le.default,{size:e!=null&&e.size?e.size:s,color:e!=null&&e.color?e.color:a,EnableSelection:(N||C)&&S==!1,onSelectRow:(l,r,o)=>H(r,!o),SelectedData:i,onRowClick:(l,r)=>J(l,r),...e}),ee=()=>d.renderCustomElement(d.getCustomRender("PAGINATION",u),{...n,size:n!=null&&n.size?n.size:s,color:n!=null&&n.color?n.color:a,className:"table-view-pagination-lnc "+(n==null?void 0:n.className)},u)||w.jsx(ce,{...n,size:n!=null&&n.size?n.size:s,color:n!=null&&n.color?n.color:a,className:"table-view-pagination-lnc "+(n==null?void 0:n.className),onPageChange:R});return w.jsxs(ie,{ref:T,...F,children:[p(),P(),L==!0&&ee()]})});y.displayName="TABLE_VIEW";module.exports=y;