@lanaco/lnc-react-ui
Version:
React component library
30 lines (28 loc) • 2.64 kB
JavaScript
"use strict";const e=require("react/jsx-runtime"),B=require("react"),L=require("./emotion-styled.browser.esm-DwHBgTPn.cjs"),V=require("./DropdownMenu.cjs"),s=require("./DropdownItem.cjs"),M=require("./Separator.cjs"),c=require("./Button.cjs"),p=require("./utils-BK6B_Y9X.cjs"),Z=require("./ThemeProvider.cjs"),F=require("./breakpoints-CcVm-gVm.cjs"),G=L.styled.div`
display: flex;
align-items: center;
border-radius: 8px;
padding: 6px;
margin-bottom: 12px;
font-weight: 700;
font-size: 0.875rem;
color: rgba(15, 23, 42, 100%);
background-color: ${t=>p.getColorRgbaValue(t.theme,"Toolbar",t.color,"enabled","background","backgroundOpacity")};
border: ${t=>`1px solid ${p.getColorRgbaValue(t.theme,"Toolbar",t.color,"enabled","border","borderOpacity")}`};
gap: 6px;
justify-content: space-between;
flex-wrap: wrap;
& > div {
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
@media ${F.down("S")} {
gap: 4px;
padding: 4px;
margin-bottom: 8px;
& > div {
gap: 0.25rem;
}
}
`,b=B.forwardRef((t,u)=>{const{showCreate:x=!0,enableCreate:m=!0,createText:d="Create new item",showEdit:w=!0,enableEditOnSelection:g=!0,editText:y="Edit",showDelete:h=!0,enableDeleteOnSelection:f=!0,deleteText:C="Delete",showCopy:T=!0,enableCopyOnSelection:j=!0,copyText:O="Copy",actionsText:q="Actions",customActions:a,selectedRowsLength:n=0,readOnly:r=!1,actionDropdownProps:S,actionsDropdownZIndex:k,actionsDropdownPlacement:D,onCreate:v=()=>{},onEdit:R=()=>{},onDelete:I=()=>{},onCopy:N=()=>{},className:$="",style:A={},color:l="primary",size:i="small",selectedRows:E,...z}=t,{theme:P}=Z.useTheme();return e.jsxs(G,{ref:u,theme:P,color:l,className:`lnc-table-view-actions-toolbar ${$}`,style:A,...z,children:[e.jsx("div",{children:x&&r==!1&&e.jsx(c,{leadingIcon:"plus",btnType:"outline",type:"button",color:l,size:i,title:d,disabled:!m,onClick:v,text:d})}),e.jsx("div",{children:e.jsxs(V,{className:"lnc-table-view-actions-toolbar-dropdown",color:l,size:i,zIndex:k,placement:D,...S,control:e.jsx(c,{text:q,btnType:"outline",trailingIcon:"angle-down",color:l,size:i,type:"button"}),children:[T&&r==!1&&e.jsx(s,{icon:"copy",disabled:!(j&&n>0),onClick:N,children:O}),w&&r==!1&&e.jsx(s,{icon:"pen",disabled:!(g&&n>0),onClick:R,children:y}),h&&r==!1&&e.jsx(s,{icon:"trash",disabled:!(f&&n>0),onClick:I,children:C}),e.jsx(M,{}),a==null?void 0:a.map((o,_)=>{if((o==null?void 0:o.show)!=!1)return e.jsx(s,{icon:o.icon,disabled:!(o.enableOnSelection==!0&&n>0||o.enable==!0&&o.enableOnSelection==!1),onClick:()=>{o.onAction(E)},children:o.name},_)})]})})]})});b.displayName="ACTIONS_TOOLBAR";module.exports=b;