@nexusui/components
Version:
These are custom components specially-developed for NexusUI applications. They will make your life easier by giving you out-of-the-box implementations for various high-level UI elements that you can drop directly into your application.
3 lines (2 loc) • 2.4 kB
JavaScript
"use client";
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),a=require("react"),r=require("@mui/material/IconButton"),o=require("@mui/material/Tooltip"),t=require("@mui/material/SvgIcon"),l=require("@mui/material/Box"),i=require("@mui/material/Chip"),s=require("@mui/icons-material/OpenInFull"),d=require("@mui/icons-material/ContentCopy"),n=require("@mui/material/Snackbar"),u=require("./CodeToolBar.style.js"),c=require("../types.js");function p(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var x=p(r),m=p(o),b=p(t),j=p(l),h=p(i),C=p(s),f=p(d),y=p(n);const g=a=>e.jsx(m.default,{slotProps:{popper:{sx:{zIndex:e=>e.zIndex.appBar-1}}},...a});exports.CodeToolBar=r=>{const{codeOpen:o,language:t="tsx",showPreview:l,code:i,onCodeOpenChange:s,onOpenInSandbox:d,t:n}=r,[p,m]=a.useState(!1),[v,q]=a.useState(void 0),L=n(o?"hideFullSource":"showFullSource"),z=c.SupportCodeLanguages[t];return e.jsxs(e.Fragment,{children:[e.jsxs(j.default,{className:"NexusCodeToolBar-root",sx:u.styles.root,"aria-label":"codeToolbarLabel","data-testid":"Code-toolbar",children:[e.jsx(h.default,{label:z,color:"primary"}),e.jsxs(j.default,{children:[e.jsx(g,{title:n("codesandbox"),placement:"bottom",children:e.jsx(x.default,{"aria-label":n("codesandbox"),size:"large",onClick:d,color:"primary","data-testid":"Code-toolbar-codesandbox",children:e.jsx(b.default,{viewBox:"0 0 1024 1024",children:e.jsx("path",{d:"M755 140.3l0.5-0.3h0.3L512 0 268.3 140h-0.3l0.8 0.4L68.6 256v512L512 1024l443.4-256V256L755 140.3z m-30 506.4v171.2L548 920.1V534.7L883.4 341v215.7l-158.4 90z m-584.4-90.6V340.8L476 534.4v385.7L300 818.5V646.7l-159.4-90.6zM511.7 280l171.1-98.3 166.3 96-336.9 194.5-337-194.6 165.7-95.7L511.7 280z"})})})}),e.jsx(g,{title:n("copySource"),placement:"bottom",children:e.jsx(x.default,{size:"large",color:"primary",onClick:async()=>{try{await navigator.clipboard.writeText(i),q(n("sourceCopied")),m(!0)}catch(e){}},"data-testid":"Code-toolbar-copy","aria-label":"Copy",children:e.jsx(f.default,{})})}),e.jsx(g,{title:L,placement:"bottom",children:e.jsx("span",{role:"navigation",children:e.jsx(x.default,{size:"large",onClick:()=>{s()},disabled:!l,color:"primary","data-testid":"Code-toolbar-expand","aria-label":L,children:e.jsx(C.default,{})})})})]})]}),e.jsx(y.default,{open:p,autoHideDuration:3e3,onClose:()=>{m(!1)},message:v})]})};