@pickaxeproject/react 3.10.1 → 3.10.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_tslib.js"),o=require("react/jsx-runtime"),t=require("react"),n=require("../hooks/useArtifactContext.js"),r=require("../../../../../hooks/pickaxe/usePickaxeContext.js"),a=require("../../Scroll/hooks/useScroll.js"),i=require("../hooks/useArtifact.js"),l=require("react-to-print"),s=require("../../../common/PickaxeMarkdown/index.js"),c=require("../../../common/PickaxeMarkdown/Renderer.js"),d=require("react-syntax-highlighter"),p=require("../../../../../common/docx/index.js"),u=require("file-saver"),m=require("../../Scroll/ScrollLockView.js"),x=require("../../../../Icons/x.svg.js"),f=require("../../../../Icons/save.svg.js"),v=require("../../../../Icons/expand.svg.js"),g=require("../../../../Icons/shrink.svg.js"),y=require("../../../common/PickaxeCopyButton.js"),h=require("../../../../Core/ScrollArea.js"),b=require("../../../../Core/TipContainer.js"),j=require("../MermaidRenderer.js"),w=require("./SaveMenu.js"),C=require("./ViewOptions.js"),k=require("csv-to-markdown-table"),F=require("../../../../../common/cn.js");function T(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var A=T(u),O=T(k);const S="development"===process.env.NODE_ENV?"http://localhost:3007":"https://user-content.pickaxe.co";exports.default=u=>{var k,T,D,q;const{artifacts:E,currentPopupType:N,currentArtifact:M,setCurrentArtifact:B}=n.useArtifactContext(),{onLoadArtifact:_}=i.useArtifact(),{styles:P,colors:R,translations:z}=r.usePickaxeContext(),[$,L]=t.useState("code"),W=t.useRef(),H=t.useRef(null),I=t.useRef(null),V=l.useReactToPrint({contentRef:W}),{scrollContainerRef:X,scrollStartSession:G,scrollToBottom:J,scrollEndSession:K}=a.useScroll({auto:"code"===$}),Q=null!==(T=null===(k=u.styling)||void 0===k?void 0:k.styles)&&void 0!==T?T:P,U=null!==(q=null===(D=u.styling)||void 0===D?void 0:D.colors)&&void 0!==q?q:R,Y=t.useMemo((()=>{var e,o,t,n,r;if(!u.artifact&&!M)return null;const a=null!==(o=null===(e=u.artifact)||void 0===e?void 0:e.id)&&void 0!==o?o:null==M?void 0:M.id,i=null!==(n=null===(t=u.artifact)||void 0===t?void 0:t.version)&&void 0!==n?n:null==M?void 0:M.version;return null!==(r=E.find((e=>e.id===a&&e.version===i)))&&void 0!==r?r:null}),[M,E,u.artifact]),Z=t.useMemo((()=>Y&&"text/csv"===Y.type?O.default(Y.content,",",!0):null),[Y]),ee=t.useMemo((()=>(U.secondaryText||"").toLowerCase().startsWith("#ffffff")),[null==U?void 0:U.secondaryText]),oe=t.useMemo((()=>{const e=u.artifact&&(null==M?void 0:M.id)===u.artifact.id&&(null==M?void 0:M.version)===u.artifact.version;return"inline"===u.type&&("inline-form"===N?!!M:e)}),[M,N,u.type,u.artifact]);t.useEffect((()=>{e.__awaiter(void 0,void 0,void 0,(function*(){"inline"===u.type&&u.artifact&&(E.some((e=>u.artifact&&e.id===u.artifact.id&&e.version===u.artifact.version))||_({id:u.artifact.id,version:u.artifact.version}))}))}),[E,u.type,u.artifact]),t.useEffect((()=>{if("application/vnd.pxe.code"===(null==Y?void 0:Y.type)&&L("code"),"finished"!==(null==Y?void 0:Y.status))return L("code"),G(),void J();K(),"application/vnd.pxe.code"!==Y.type&&L("render")}),[null==Y?void 0:Y.status,null==Y?void 0:Y.type]),t.useEffect((()=>{var e;!I.current||"text/html"!==(null==Y?void 0:Y.type)&&"application/vnd.pxe.react"!==(null==Y?void 0:Y.type)||null===(e=I.current.contentWindow)||void 0===e||e.postMessage({type:"text/html"===Y.type?"HTML_CODE":"REACT_CODE",content:Y.content},S)}),[null==Y?void 0:Y.content,null==Y?void 0:Y.type]);const te=()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(!Y)return;const e=$;"code"===e&&(L("render"),yield new Promise((e=>setTimeout(e,50)))),V(),"code"===e&&L(e)})),ne=()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(!Y)return;const e=yield p.convertMarkdownToDocx(Y.content);p.downloadDocx(e,`${Y.title}.docx`)})),re=o=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(!Y)return;let t={mimeType:"text/plain",extension:".txt"};switch(o){case"text/markdown":t={mimeType:"text/markdown",extension:".md"};break;case"text/html":t={mimeType:"text/html",extension:".html"};break;case"text/csv":t={mimeType:"text/csv",extension:".csv"};break;case"image/svg+xml":case"application/vnd.pxe.mermaid":t={mimeType:"image/svg+xml",extension:".svg"};break;case"application/vnd.pxe.code":t={mimeType:`application/${Y.programmingLanguage||"text"};charset=utf-8`,extension:`.${Y.programmingLanguage||"txt"}`};break;case"application/vnd.pxe.react":t={mimeType:"text/typescript",extension:".tsx"};break;default:t={mimeType:"text/plain",extension:".txt"}}let n=null;if("application/vnd.pxe.mermaid"===Y.type){const o=$;"code"===o&&(L("render"),yield new Promise((e=>setTimeout(e,50))));const t=null===(e=H.current)||void 0===e?void 0:e.querySelector("svg");t&&(n=(new XMLSerializer).serializeToString(t)),"code"===o&&L(o)}const r=new Blob([null!=n?n:Y.content],{type:t.mimeType});A.default(r,`${Y.title}${t.extension}`)}));return Y?o.jsxs("div",Object.assign({className:F.default("pxe-artifact-renderer flex flex-col","inline"===u.type&&!oe&&"min-h-[320px] mb-6",u.className),style:Object.assign(Object.assign({backgroundColor:U.secondary,color:U.secondaryText},"auto"!==N&&{borderRadius:Q.cornerRadius}),u.style)},{children:[o.jsxs("div",Object.assign({className:"flex items-center gap-6 justify-between p-4 shadow-sm"},{children:[o.jsxs("div",Object.assign({className:"pxe-artifact-create-header flex items-center gap-4 truncate"},{children:[(oe||!N.startsWith("inline"))&&o.jsx(C.default,{type:Y.type,view:$,colors:U,onChange:L}),o.jsx("p",Object.assign({className:"font-semilight truncate text-xl"},{children:Y.title}))]})),o.jsxs("div",Object.assign({className:"flex items-center gap-3"},{children:[(oe||!N.startsWith("inline"))&&o.jsx(w.default,Object.assign({variant:"anchor",className:"px-3 py-1.5 shrink-0",data:Y,colors:U,onDownload:re,onSaveAsPDF:te,onSaveAsDOCX:ne},{children:o.jsx("span",Object.assign({className:"shrink-0 font-semibold text-sm select-none"},{children:(null==z?void 0:z["save-as"])||"Save as"}))})),o.jsx("button",Object.assign({style:{color:U.secondaryText},onClick:()=>{"inline"!==u.type||!u.artifact||oe?B(null):B({id:u.artifact.id,version:u.artifact.version})}},{children:"inline"===u.type?oe?o.jsx(g.default,{className:"w-6 h-6 shrink-0"}):o.jsx(v.default,{className:"w-6 h-6 shrink-0"}):o.jsx(x.default,{className:"w-6 h-6 shrink-0"})}))]}))]})),o.jsx("div",Object.assign({className:"flex flex-col flex-grow @container/pickaxe-artifact"},{children:o.jsxs(h.default,Object.assign({ref:X,innerClassName:"flex-grow w-full"},{children:["render"===$&&"application/vnd.pxe.code"!==Y.type?o.jsx("div",Object.assign({ref:W,className:F.default("p-4 pb-6 flex-grow flex flex-col","application/vnd.pxe.react"===Y.type&&"p-0","text/html"===Y.type&&"p-0","text/csv"===Y.type&&"p-0")},{children:"text/markdown"===Y.type||"text/csv"===Y.type||"image/svg+xml"===Y.type?o.jsx(s.PickaxeMarkdown,Object.assign({theme:Q.theme,colors:U},{children:o.jsx(c.PickaxeMarkdownRenderer,{value:null!=Z?Z:Y.content,className:F.default("px-6 @[767px]/pickaxe-artifact:px-11 mx-auto w-full","text/csv"===Y.type&&"px-4 @[767px]/pickaxe-artifact:px-4 mx-0"),style:{flex:1}})})):"application/vnd.pxe.mermaid"===Y.type?o.jsx(j.default,{ref:H,id:`mermaid-${Y.id}-${Y.version}`,data:Y.content}):"text/html"===Y.type||"application/vnd.pxe.react"===Y.type?o.jsx("iframe",Object.assign({ref:I,title:Y.title,src:`${S}/${"text/html"===Y.type?"html":"react"}?theme=${ee?"dark":"light"}`,style:{width:"100%",flex:1,border:"none",backgroundColor:null==U?void 0:U.secondary},loading:"lazy",allow:"fullscreen; camera; microphone; gyroscope; accelerometer; geolocation; clipboard-write; autoplay",sandbox:"allow-scripts allow-same-origin allow-forms allow-downloads allow-popups-to-escape-sandbox allow-pointer-lock allow-popups allow-modals allow-orientation-lock allow-presentation",onLoad:e=>{const o=e.target;setTimeout((()=>{var e;try{null===(e=o.contentWindow)||void 0===e||e.postMessage({type:"text/html"===Y.type?"HTML_CODE":"REACT_CODE",content:Y.content},S)}catch(e){console.error("Error sending message to iframe:",e)}}),100),J()}},{children:"Iframe is not supported, please view this artifact in a browser that supports it."})):null})):o.jsx(d.Prism,Object.assign({PreTag:"div",language:"text/markdown"===Y.type?"markdown":"text/html"===Y.type||"image/svg+xml"===Y.type?"xml":"application/vnd.pxe.react"===Y.type?"typescript":Y.programmingLanguage,showLineNumbers:!0,customStyle:{margin:0,flex:1},style:Object.assign({'code[class*="language-"]':Object.assign(Object.assign({color:null==U?void 0:U.secondaryText},ee&&{textShadow:"0 1px rgba(0, 0, 0, 0.3)"}),{fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"}),'pre[class*="language-"]':Object.assign(Object.assign({color:null==U?void 0:U.secondaryText},ee&&{textShadow:"0 1px rgba(0, 0, 0, 0.3)"}),{fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",borderRadius:"0.3em",minWidth:0,paddingLeft:"1em",paddingRight:"1em",paddingBottom:"2em",background:null==U?void 0:U.secondary}),':not(pre) > code[class*="language-"]':{background:null==U?void 0:U.secondary,padding:".1em",borderRadius:".3em"},comment:{color:"#7C7C7C"},prolog:{color:"#7C7C7C"},doctype:{color:"#7C7C7C"},cdata:{color:"#7C7C7C"},punctuation:{color:"#c5c8c6"},".namespace":{opacity:".7"},property:{color:"#96CBFE"},keyword:{color:"#96CBFE"},tag:{color:"#96CBFE"},"class-name":{color:"#FFFFB6"},boolean:{color:"#99CC99"},constant:{color:"#99CC99"},symbol:{color:"#f92672"},deleted:{color:"#f92672"},number:{color:"#FF73FD"},selector:{color:"#A8FF60"},"attr-name":{color:"#A8FF60"},string:{color:"#A8FF60"},char:{color:"#A8FF60"},builtin:{color:"#A8FF60"},inserted:{color:"#A8FF60"},variable:{color:"#C6C5FE"},operator:{color:"#EDEDED"},entity:{color:"#FFFFB6",cursor:"help"},url:{color:"#96CBFE"},".language-css .token.string":{color:"#87C38A"},".style .token.string":{color:"#87C38A"},atrule:{color:"#F9EE98"},"attr-value":{color:"#F9EE98"},function:{color:"#DAD085"},regex:{color:"#E9C062"},important:{color:null==U?void 0:U.secondaryText,fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}},!ee&&{comment:{color:"#7D8B99"},prolog:{color:"#7D8B99"},doctype:{color:"#7D8B99"},cdata:{color:"#7D8B99"},punctuation:{color:"#4D4D4C"},property:{color:"#4078F2"},keyword:{color:"#8959A8"},tag:{color:"#8959A8"},"class-name":{color:"#D75F00"},boolean:{color:"#0086B3"},constant:{color:"#0086B3"},symbol:{color:"#990055"},deleted:{color:"#990000"},number:{color:"#005CC5"},selector:{color:"#63A35C"},"attr-name":{color:"#63A35C"},string:{color:"#50A14F"},char:{color:"#50A14F"},builtin:{color:"#50A14F"},inserted:{color:"#50A14F"},variable:{color:"#A626A4"},operator:{color:"#4D4D4C"},entity:{color:"#E45649",cursor:"help"},url:{color:"#4078F2"},".language-css .token.string":{color:"#50A14F"},".style .token.string":{color:"#50A14F"},atrule:{color:"#C18401"},"attr-value":{color:"#986801"},function:{color:"#005CC5"},regex:{color:"#D16969"},important:{color:null==U?void 0:U.secondaryText,fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}})},{children:Y.content})),o.jsx(m.default,{})]}))})),"inline"===u.type&&!oe&&o.jsxs("div",Object.assign({className:"flex items-center gap-4 p-4 pt-6"},{children:[o.jsx(b.default,Object.assign({id:`artifact-copy-${Y.id}-${Y.version}`,tip:(null==z?void 0:z.copy)||"Copy",style:{padding:"0.25rem 0.5rem",backgroundColor:U.secondary,color:U.secondaryText,fontSize:"12px"},align:"bottom"},{children:o.jsx(y.default,{color:U.secondaryText,text:Y.content,className:"opacity-100",iconClassName:"w-5 h-5"})})),o.jsx(b.default,Object.assign({id:`artifact-save-${Y.id}-${Y.version}`,tip:(null==z?void 0:z.save)||"Save",style:{padding:"0.25rem 0.5rem",backgroundColor:U.secondary,color:U.secondaryText,fontSize:"12px"},align:"bottom"},{children:o.jsx(w.default,Object.assign({data:Y,colors:U,onDownload:re,onSaveAsPDF:te,onSaveAsDOCX:ne},{children:o.jsx("button",Object.assign({style:{color:U.secondaryText}},{children:o.jsx(f.default,{className:"w-5 h-5 shrink-0"})}))}))}))]}))]})):null};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_tslib.js"),o=require("react/jsx-runtime"),t=require("react"),n=require("../hooks/useArtifactContext.js"),r=require("../../../../../hooks/pickaxe/usePickaxeContext.js"),a=require("../../Scroll/hooks/useScroll.js"),i=require("../hooks/useArtifact.js"),l=require("react-to-print"),s=require("../../../common/PickaxeMarkdown/index.js"),c=require("../../../common/PickaxeMarkdown/Renderer.js"),d=require("react-syntax-highlighter"),p=require("../../../../../common/docx/index.js"),u=require("file-saver"),m=require("../../Scroll/ScrollLockView.js"),x=require("../../../../Icons/x.svg.js"),f=require("../../../../Icons/save.svg.js"),v=require("../../../../Icons/expand.svg.js"),g=require("../../../../Icons/shrink.svg.js"),y=require("../../../common/PickaxeCopyButton.js"),h=require("../../../../Core/ScrollArea.js"),b=require("../../../../Core/TipContainer.js"),j=require("../MermaidRenderer.js"),w=require("./SaveMenu.js"),C=require("./ViewOptions.js"),k=require("csv-to-markdown-table"),F=require("../../../../../common/cn.js");function T(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var A=T(u),O=T(k);const S="development"===process.env.NODE_ENV?"http://localhost:3007":"https://user-content.pickaxe.co";exports.default=u=>{var k,T,D,q;const{artifacts:E,currentPopupType:N,currentArtifact:M,setCurrentArtifact:B}=n.useArtifactContext(),{onLoadArtifact:_}=i.useArtifact(),{styles:P,colors:R,translations:$}=r.usePickaxeContext(),[z,L]=t.useState("code"),W=t.useRef(),H=t.useRef(null),I=t.useRef(null),V=l.useReactToPrint({contentRef:W}),{scrollContainerRef:X,scrollStartSession:G,scrollToBottom:J,scrollEndSession:K}=a.useScroll({auto:"code"===z}),Q=null!==(T=null===(k=u.styling)||void 0===k?void 0:k.styles)&&void 0!==T?T:P,U=null!==(q=null===(D=u.styling)||void 0===D?void 0:D.colors)&&void 0!==q?q:R,Y=t.useMemo((()=>{var e,o,t,n,r;if(!u.artifact&&!M)return null;const a=null!==(o=null===(e=u.artifact)||void 0===e?void 0:e.id)&&void 0!==o?o:null==M?void 0:M.id,i=null!==(n=null===(t=u.artifact)||void 0===t?void 0:t.version)&&void 0!==n?n:null==M?void 0:M.version;return null!==(r=E.find((e=>e.id===a&&e.version===i)))&&void 0!==r?r:null}),[M,E,u.artifact]),Z=t.useMemo((()=>Y&&"text/csv"===Y.type?O.default(Y.content,",",!0):null),[Y]),ee=t.useMemo((()=>(U.secondaryText||"").toLowerCase().startsWith("#ffffff")),[null==U?void 0:U.secondaryText]),oe=t.useMemo((()=>{const e=u.artifact&&(null==M?void 0:M.id)===u.artifact.id&&(null==M?void 0:M.version)===u.artifact.version;return"inline"===u.type&&("inline-form"===N?!!M:e)}),[M,N,u.type,u.artifact]);t.useEffect((()=>{e.__awaiter(void 0,void 0,void 0,(function*(){"inline"===u.type&&u.artifact&&(E.some((e=>u.artifact&&e.id===u.artifact.id&&e.version===u.artifact.version))||_({id:u.artifact.id,version:u.artifact.version}))}))}),[E,u.type,u.artifact]),t.useEffect((()=>{if("application/vnd.pxe.code"===(null==Y?void 0:Y.type)&&L("code"),"finished"!==(null==Y?void 0:Y.status))return L("code"),G(),void J();K(),"application/vnd.pxe.code"!==Y.type&&L("render")}),[null==Y?void 0:Y.status,null==Y?void 0:Y.type]),t.useEffect((()=>{var e;!I.current||"text/html"!==(null==Y?void 0:Y.type)&&"application/vnd.pxe.react"!==(null==Y?void 0:Y.type)||null===(e=I.current.contentWindow)||void 0===e||e.postMessage({type:"text/html"===Y.type?"HTML_CODE":"REACT_CODE",content:Y.content},S)}),[null==Y?void 0:Y.content,null==Y?void 0:Y.type]);const te=()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(!Y)return;const e=z;"code"===e&&(L("render"),yield new Promise((e=>setTimeout(e,50)))),V(),"code"===e&&L(e)})),ne=()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(!Y)return;const e=yield p.convertMarkdownToDocx(Y.content);p.downloadDocx(e,`${Y.title}.docx`)})),re=o=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(!Y)return;let t={mimeType:"text/plain",extension:".txt"};switch(o){case"text/markdown":t={mimeType:"text/markdown",extension:".md"};break;case"text/html":t={mimeType:"text/html",extension:".html"};break;case"text/csv":t={mimeType:"text/csv",extension:".csv"};break;case"image/svg+xml":case"application/vnd.pxe.mermaid":t={mimeType:"image/svg+xml",extension:".svg"};break;case"application/vnd.pxe.code":t={mimeType:`application/${Y.programmingLanguage||"text"};charset=utf-8`,extension:`.${Y.programmingLanguage||"txt"}`};break;case"application/vnd.pxe.react":t={mimeType:"text/typescript",extension:".tsx"};break;default:t={mimeType:"text/plain",extension:".txt"}}let n=null;if("application/vnd.pxe.mermaid"===Y.type){const o=z;"code"===o&&(L("render"),yield new Promise((e=>setTimeout(e,50))));const t=null===(e=H.current)||void 0===e?void 0:e.querySelector("svg");t&&(n=(new XMLSerializer).serializeToString(t)),"code"===o&&L(o)}const r=new Blob([null!=n?n:Y.content],{type:t.mimeType});A.default(r,`${Y.title}${t.extension}`)}));return Y?o.jsxs("div",Object.assign({className:F.default("pxe-artifact-renderer flex flex-col","inline"===u.type&&!oe&&"min-h-[320px] mb-6",u.className),style:Object.assign(Object.assign({backgroundColor:U.secondary,color:U.secondaryText},"auto"!==N&&{borderRadius:Q.cornerRadius}),u.style)},{children:[o.jsxs("div",Object.assign({className:"flex items-center gap-6 justify-between p-4 shadow-sm"},{children:[o.jsxs("div",Object.assign({className:"pxe-artifact-create-header flex items-center gap-4 truncate"},{children:[(oe||!N.startsWith("inline"))&&o.jsx(C.default,{type:Y.type,view:z,colors:U,onChange:L}),o.jsx("p",Object.assign({className:"font-semilight truncate text-xl"},{children:Y.title}))]})),o.jsxs("div",Object.assign({className:"flex items-center gap-3"},{children:[(oe||!N.startsWith("inline"))&&o.jsx(w.default,Object.assign({variant:"anchor",className:"px-3 py-1.5 shrink-0",data:Y,colors:U,onDownload:re,onSaveAsPDF:te,onSaveAsDOCX:ne},{children:o.jsx("span",Object.assign({className:"shrink-0 font-semibold text-sm select-none"},{children:(null==$?void 0:$["save-as"])||"Save as"}))})),o.jsx("button",Object.assign({style:{color:U.secondaryText},onClick:()=>{"inline"!==u.type||!u.artifact||oe?B(null):B({id:u.artifact.id,version:u.artifact.version})}},{children:"inline"===u.type?oe?o.jsx(g.default,{className:"w-6 h-6 shrink-0"}):o.jsx(v.default,{className:"w-6 h-6 shrink-0"}):o.jsx(x.default,{className:"w-6 h-6 shrink-0"})}))]}))]})),o.jsx("div",Object.assign({className:"flex flex-col flex-grow @container/pickaxe-artifact"},{children:o.jsxs(h.default,Object.assign({ref:X,innerClassName:"flex-grow w-full"},{children:["render"===z&&"application/vnd.pxe.code"!==Y.type?o.jsx("div",Object.assign({ref:W,className:F.default("p-4 pb-6 flex-grow flex flex-col","application/vnd.pxe.react"===Y.type&&"p-0","text/html"===Y.type&&"p-0","text/csv"===Y.type&&"p-0")},{children:"text/markdown"===Y.type||"text/csv"===Y.type||"image/svg+xml"===Y.type?o.jsx(s.PickaxeMarkdown,Object.assign({theme:Q.theme,colors:U},{children:o.jsx(c.PickaxeMarkdownRenderer,{value:null!=Z?Z:Y.content,className:F.default("px-6 @[767px]/pickaxe-artifact:px-11 mx-auto w-full","text/csv"===Y.type&&"px-4 @[767px]/pickaxe-artifact:px-4 mx-0"),style:{flex:1}})})):"application/vnd.pxe.mermaid"===Y.type?o.jsx(j.default,{ref:H,id:`mermaid-${Y.id}-${Y.version}`,data:Y.content}):"text/html"===Y.type||"application/vnd.pxe.react"===Y.type?o.jsx("iframe",Object.assign({ref:I,title:Y.title,src:`${S}/${"text/html"===Y.type?"html":"react"}?theme=${ee?"dark":"light"}&bg=${U.secondary}&accent=${U.accent}`,style:{width:"100%",flex:1,border:"none",backgroundColor:null==U?void 0:U.secondary},loading:"lazy",allow:"fullscreen; camera; microphone; gyroscope; accelerometer; geolocation; clipboard-write; autoplay",sandbox:"allow-scripts allow-same-origin allow-forms allow-downloads allow-popups-to-escape-sandbox allow-pointer-lock allow-popups allow-modals allow-orientation-lock allow-presentation",onLoad:e=>{const o=e.target;setTimeout((()=>{var e;try{null===(e=o.contentWindow)||void 0===e||e.postMessage({type:"text/html"===Y.type?"HTML_CODE":"REACT_CODE",content:Y.content},S)}catch(e){console.error("Error sending message to iframe:",e)}}),100),J()}},{children:"Iframe is not supported, please view this artifact in a browser that supports it."})):null})):o.jsx(d.Prism,Object.assign({PreTag:"div",language:"text/markdown"===Y.type?"markdown":"text/html"===Y.type||"image/svg+xml"===Y.type?"xml":"application/vnd.pxe.react"===Y.type?"typescript":Y.programmingLanguage,showLineNumbers:!0,customStyle:{margin:0,flex:1},style:Object.assign({'code[class*="language-"]':Object.assign(Object.assign({color:null==U?void 0:U.secondaryText},ee&&{textShadow:"0 1px rgba(0, 0, 0, 0.3)"}),{fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"}),'pre[class*="language-"]':Object.assign(Object.assign({color:null==U?void 0:U.secondaryText},ee&&{textShadow:"0 1px rgba(0, 0, 0, 0.3)"}),{fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",borderRadius:"0.3em",minWidth:0,paddingLeft:"1em",paddingRight:"1em",paddingBottom:"2em",background:null==U?void 0:U.secondary}),':not(pre) > code[class*="language-"]':{background:null==U?void 0:U.secondary,padding:".1em",borderRadius:".3em"},comment:{color:"#7C7C7C"},prolog:{color:"#7C7C7C"},doctype:{color:"#7C7C7C"},cdata:{color:"#7C7C7C"},punctuation:{color:"#c5c8c6"},".namespace":{opacity:".7"},property:{color:"#96CBFE"},keyword:{color:"#96CBFE"},tag:{color:"#96CBFE"},"class-name":{color:"#FFFFB6"},boolean:{color:"#99CC99"},constant:{color:"#99CC99"},symbol:{color:"#f92672"},deleted:{color:"#f92672"},number:{color:"#FF73FD"},selector:{color:"#A8FF60"},"attr-name":{color:"#A8FF60"},string:{color:"#A8FF60"},char:{color:"#A8FF60"},builtin:{color:"#A8FF60"},inserted:{color:"#A8FF60"},variable:{color:"#C6C5FE"},operator:{color:"#EDEDED"},entity:{color:"#FFFFB6",cursor:"help"},url:{color:"#96CBFE"},".language-css .token.string":{color:"#87C38A"},".style .token.string":{color:"#87C38A"},atrule:{color:"#F9EE98"},"attr-value":{color:"#F9EE98"},function:{color:"#DAD085"},regex:{color:"#E9C062"},important:{color:null==U?void 0:U.secondaryText,fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}},!ee&&{comment:{color:"#7D8B99"},prolog:{color:"#7D8B99"},doctype:{color:"#7D8B99"},cdata:{color:"#7D8B99"},punctuation:{color:"#4D4D4C"},property:{color:"#4078F2"},keyword:{color:"#8959A8"},tag:{color:"#8959A8"},"class-name":{color:"#D75F00"},boolean:{color:"#0086B3"},constant:{color:"#0086B3"},symbol:{color:"#990055"},deleted:{color:"#990000"},number:{color:"#005CC5"},selector:{color:"#63A35C"},"attr-name":{color:"#63A35C"},string:{color:"#50A14F"},char:{color:"#50A14F"},builtin:{color:"#50A14F"},inserted:{color:"#50A14F"},variable:{color:"#A626A4"},operator:{color:"#4D4D4C"},entity:{color:"#E45649",cursor:"help"},url:{color:"#4078F2"},".language-css .token.string":{color:"#50A14F"},".style .token.string":{color:"#50A14F"},atrule:{color:"#C18401"},"attr-value":{color:"#986801"},function:{color:"#005CC5"},regex:{color:"#D16969"},important:{color:null==U?void 0:U.secondaryText,fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}})},{children:Y.content})),o.jsx(m.default,{})]}))})),"inline"===u.type&&!oe&&o.jsxs("div",Object.assign({className:"flex items-center gap-4 p-4 pt-6"},{children:[o.jsx(b.default,Object.assign({id:`artifact-copy-${Y.id}-${Y.version}`,tip:(null==$?void 0:$.copy)||"Copy",style:{padding:"0.25rem 0.5rem",backgroundColor:U.secondary,color:U.secondaryText,fontSize:"12px"},align:"bottom"},{children:o.jsx(y.default,{color:U.secondaryText,text:Y.content,className:"opacity-100",iconClassName:"w-5 h-5"})})),o.jsx(b.default,Object.assign({id:`artifact-save-${Y.id}-${Y.version}`,tip:(null==$?void 0:$.save)||"Save",style:{padding:"0.25rem 0.5rem",backgroundColor:U.secondary,color:U.secondaryText,fontSize:"12px"},align:"bottom"},{children:o.jsx(w.default,Object.assign({data:Y,colors:U,onDownload:re,onSaveAsPDF:te,onSaveAsDOCX:ne},{children:o.jsx("button",Object.assign({style:{color:U.secondaryText}},{children:o.jsx(f.default,{className:"w-5 h-5 shrink-0"})}))}))}))]}))]})):null};
|
|
@@ -2,7 +2,7 @@ import type { PickaxeQuestion } from "./form";
|
|
|
2
2
|
export type PickaxeImageOrText = "text" | "image";
|
|
3
3
|
export type PickaxePrivacySetting = "public" | "unlisted" | "private" | "deleted";
|
|
4
4
|
export type PickaxeCloneable = "true" | "false";
|
|
5
|
-
export type PickaxeDocumentUploadType = "ownerupload" | "enduserupload" | "enduserupload-
|
|
5
|
+
export type PickaxeDocumentUploadType = "ownerupload" | "enduserupload" | "enduserupload-user";
|
|
6
6
|
export type PickaxeModel = "gpt-3.5-turbo" | "gpt-4-1106-preview" | "mistral-small" | "gpt-5" | "gpt-5-mini" | "gpt-5-nano" | "gpt-4.1" | "gpt-4.1-mini" | "gpt-4.1-nano" | "gpt-4o-mini" | "gpt-4o" | "gpt-4" | "o3-mini" | "o1" | "deepseek-chat" | "mistral-large-latest" | "claude-3-opus-20240229" | "claude-3-5-sonnet-20240620" | "claude-3-7-sonnet-20250219" | "llama-3-uncensored";
|
|
7
7
|
export type Pickaxe = {
|
|
8
8
|
_id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as e}from"../../../../../_virtual/_tslib.js";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{useState as n,useRef as r,useMemo as i,useEffect as a}from"react";import{useArtifactContext as l}from"../hooks/useArtifactContext.js";import{usePickaxeContext as c}from"../../../../../hooks/pickaxe/usePickaxeContext.js";import{useScroll as s}from"../../Scroll/hooks/useScroll.js";import{useArtifact as d}from"../hooks/useArtifact.js";import{useReactToPrint as p}from"react-to-print";import{PickaxeMarkdown as m}from"../../../common/PickaxeMarkdown/index.js";import{PickaxeMarkdownRenderer as u}from"../../../common/PickaxeMarkdown/Renderer.js";import{Prism as v}from"react-syntax-highlighter";import{convertMarkdownToDocx as f,downloadDocx as g}from"../../../../../common/docx/index.js";import x from"file-saver";import y from"../../Scroll/ScrollLockView.js";import h from"../../../../Icons/x.svg.js";import b from"../../../../Icons/save.svg.js";import C from"../../../../Icons/expand.svg.js";import w from"../../../../Icons/shrink.svg.js";import k from"../../../common/PickaxeCopyButton.js";import j from"../../../../Core/ScrollArea.js";import F from"../../../../Core/TipContainer.js";import T from"../MermaidRenderer.js";import O from"./SaveMenu.js";import A from"./ViewOptions.js";import S from"csv-to-markdown-table";import D from"../../../../../common/cn.js";const E="development"===process.env.NODE_ENV?"http://localhost:3007":"https://user-content.pickaxe.co",N=N=>{var B,z,M,$;const{artifacts:L,currentPopupType:W,currentArtifact:R,setCurrentArtifact:H}=l(),{onLoadArtifact:P}=d(),{styles:I,colors:_,translations:V}=c(),[X,q]=n("code"),G=r(),J=r(null),K=r(null),Q=p({contentRef:G}),{scrollContainerRef:U,scrollStartSession:Y,scrollToBottom:Z,scrollEndSession:ee}=s({auto:"code"===X}),oe=null!==(z=null===(B=N.styling)||void 0===B?void 0:B.styles)&&void 0!==z?z:I,te=null!==($=null===(M=N.styling)||void 0===M?void 0:M.colors)&&void 0!==$?$:_,ne=i((()=>{var e,o,t,n,r;if(!N.artifact&&!R)return null;const i=null!==(o=null===(e=N.artifact)||void 0===e?void 0:e.id)&&void 0!==o?o:null==R?void 0:R.id,a=null!==(n=null===(t=N.artifact)||void 0===t?void 0:t.version)&&void 0!==n?n:null==R?void 0:R.version;return null!==(r=L.find((e=>e.id===i&&e.version===a)))&&void 0!==r?r:null}),[R,L,N.artifact]),re=i((()=>ne&&"text/csv"===ne.type?S(ne.content,",",!0):null),[ne]),ie=i((()=>(te.secondaryText||"").toLowerCase().startsWith("#ffffff")),[null==te?void 0:te.secondaryText]),ae=i((()=>{const e=N.artifact&&(null==R?void 0:R.id)===N.artifact.id&&(null==R?void 0:R.version)===N.artifact.version;return"inline"===N.type&&("inline-form"===W?!!R:e)}),[R,W,N.type,N.artifact]);a((()=>{e(void 0,void 0,void 0,(function*(){"inline"===N.type&&N.artifact&&(L.some((e=>N.artifact&&e.id===N.artifact.id&&e.version===N.artifact.version))||P({id:N.artifact.id,version:N.artifact.version}))}))}),[L,N.type,N.artifact]),a((()=>{if("application/vnd.pxe.code"===(null==ne?void 0:ne.type)&&q("code"),"finished"!==(null==ne?void 0:ne.status))return q("code"),Y(),void Z();ee(),"application/vnd.pxe.code"!==ne.type&&q("render")}),[null==ne?void 0:ne.status,null==ne?void 0:ne.type]),a((()=>{var e;!K.current||"text/html"!==(null==ne?void 0:ne.type)&&"application/vnd.pxe.react"!==(null==ne?void 0:ne.type)||null===(e=K.current.contentWindow)||void 0===e||e.postMessage({type:"text/html"===ne.type?"HTML_CODE":"REACT_CODE",content:ne.content},E)}),[null==ne?void 0:ne.content,null==ne?void 0:ne.type]);const le=()=>e(void 0,void 0,void 0,(function*(){if(!ne)return;const e=X;"code"===e&&(q("render"),yield new Promise((e=>setTimeout(e,50)))),Q(),"code"===e&&q(e)})),ce=()=>e(void 0,void 0,void 0,(function*(){if(!ne)return;const e=yield f(ne.content);g(e,`${ne.title}.docx`)})),se=o=>e(void 0,void 0,void 0,(function*(){var e;if(!ne)return;let t={mimeType:"text/plain",extension:".txt"};switch(o){case"text/markdown":t={mimeType:"text/markdown",extension:".md"};break;case"text/html":t={mimeType:"text/html",extension:".html"};break;case"text/csv":t={mimeType:"text/csv",extension:".csv"};break;case"image/svg+xml":case"application/vnd.pxe.mermaid":t={mimeType:"image/svg+xml",extension:".svg"};break;case"application/vnd.pxe.code":t={mimeType:`application/${ne.programmingLanguage||"text"};charset=utf-8`,extension:`.${ne.programmingLanguage||"txt"}`};break;case"application/vnd.pxe.react":t={mimeType:"text/typescript",extension:".tsx"};break;default:t={mimeType:"text/plain",extension:".txt"}}let n=null;if("application/vnd.pxe.mermaid"===ne.type){const o=X;"code"===o&&(q("render"),yield new Promise((e=>setTimeout(e,50))));const t=null===(e=J.current)||void 0===e?void 0:e.querySelector("svg");t&&(n=(new XMLSerializer).serializeToString(t)),"code"===o&&q(o)}const r=new Blob([null!=n?n:ne.content],{type:t.mimeType});x(r,`${ne.title}${t.extension}`)}));return ne?o("div",Object.assign({className:D("pxe-artifact-renderer flex flex-col","inline"===N.type&&!ae&&"min-h-[320px] mb-6",N.className),style:Object.assign(Object.assign({backgroundColor:te.secondary,color:te.secondaryText},"auto"!==W&&{borderRadius:oe.cornerRadius}),N.style)},{children:[o("div",Object.assign({className:"flex items-center gap-6 justify-between p-4 shadow-sm"},{children:[o("div",Object.assign({className:"pxe-artifact-create-header flex items-center gap-4 truncate"},{children:[(ae||!W.startsWith("inline"))&&t(A,{type:ne.type,view:X,colors:te,onChange:q}),t("p",Object.assign({className:"font-semilight truncate text-xl"},{children:ne.title}))]})),o("div",Object.assign({className:"flex items-center gap-3"},{children:[(ae||!W.startsWith("inline"))&&t(O,Object.assign({variant:"anchor",className:"px-3 py-1.5 shrink-0",data:ne,colors:te,onDownload:se,onSaveAsPDF:le,onSaveAsDOCX:ce},{children:t("span",Object.assign({className:"shrink-0 font-semibold text-sm select-none"},{children:(null==V?void 0:V["save-as"])||"Save as"}))})),t("button",Object.assign({style:{color:te.secondaryText},onClick:()=>{"inline"!==N.type||!N.artifact||ae?H(null):H({id:N.artifact.id,version:N.artifact.version})}},{children:"inline"===N.type?t(ae?w:C,{className:"w-6 h-6 shrink-0"}):t(h,{className:"w-6 h-6 shrink-0"})}))]}))]})),t("div",Object.assign({className:"flex flex-col flex-grow @container/pickaxe-artifact"},{children:o(j,Object.assign({ref:U,innerClassName:"flex-grow w-full"},{children:["render"===X&&"application/vnd.pxe.code"!==ne.type?t("div",Object.assign({ref:G,className:D("p-4 pb-6 flex-grow flex flex-col","application/vnd.pxe.react"===ne.type&&"p-0","text/html"===ne.type&&"p-0","text/csv"===ne.type&&"p-0")},{children:"text/markdown"===ne.type||"text/csv"===ne.type||"image/svg+xml"===ne.type?t(m,Object.assign({theme:oe.theme,colors:te},{children:t(u,{value:null!=re?re:ne.content,className:D("px-6 @[767px]/pickaxe-artifact:px-11 mx-auto w-full","text/csv"===ne.type&&"px-4 @[767px]/pickaxe-artifact:px-4 mx-0"),style:{flex:1}})})):"application/vnd.pxe.mermaid"===ne.type?t(T,{ref:J,id:`mermaid-${ne.id}-${ne.version}`,data:ne.content}):"text/html"===ne.type||"application/vnd.pxe.react"===ne.type?t("iframe",Object.assign({ref:K,title:ne.title,src:`${E}/${"text/html"===ne.type?"html":"react"}?theme=${ie?"dark":"light"}`,style:{width:"100%",flex:1,border:"none",backgroundColor:null==te?void 0:te.secondary},loading:"lazy",allow:"fullscreen; camera; microphone; gyroscope; accelerometer; geolocation; clipboard-write; autoplay",sandbox:"allow-scripts allow-same-origin allow-forms allow-downloads allow-popups-to-escape-sandbox allow-pointer-lock allow-popups allow-modals allow-orientation-lock allow-presentation",onLoad:e=>{const o=e.target;setTimeout((()=>{var e;try{null===(e=o.contentWindow)||void 0===e||e.postMessage({type:"text/html"===ne.type?"HTML_CODE":"REACT_CODE",content:ne.content},E)}catch(e){console.error("Error sending message to iframe:",e)}}),100),Z()}},{children:"Iframe is not supported, please view this artifact in a browser that supports it."})):null})):t(v,Object.assign({PreTag:"div",language:"text/markdown"===ne.type?"markdown":"text/html"===ne.type||"image/svg+xml"===ne.type?"xml":"application/vnd.pxe.react"===ne.type?"typescript":ne.programmingLanguage,showLineNumbers:!0,customStyle:{margin:0,flex:1},style:Object.assign({'code[class*="language-"]':Object.assign(Object.assign({color:null==te?void 0:te.secondaryText},ie&&{textShadow:"0 1px rgba(0, 0, 0, 0.3)"}),{fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"}),'pre[class*="language-"]':Object.assign(Object.assign({color:null==te?void 0:te.secondaryText},ie&&{textShadow:"0 1px rgba(0, 0, 0, 0.3)"}),{fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",borderRadius:"0.3em",minWidth:0,paddingLeft:"1em",paddingRight:"1em",paddingBottom:"2em",background:null==te?void 0:te.secondary}),':not(pre) > code[class*="language-"]':{background:null==te?void 0:te.secondary,padding:".1em",borderRadius:".3em"},comment:{color:"#7C7C7C"},prolog:{color:"#7C7C7C"},doctype:{color:"#7C7C7C"},cdata:{color:"#7C7C7C"},punctuation:{color:"#c5c8c6"},".namespace":{opacity:".7"},property:{color:"#96CBFE"},keyword:{color:"#96CBFE"},tag:{color:"#96CBFE"},"class-name":{color:"#FFFFB6"},boolean:{color:"#99CC99"},constant:{color:"#99CC99"},symbol:{color:"#f92672"},deleted:{color:"#f92672"},number:{color:"#FF73FD"},selector:{color:"#A8FF60"},"attr-name":{color:"#A8FF60"},string:{color:"#A8FF60"},char:{color:"#A8FF60"},builtin:{color:"#A8FF60"},inserted:{color:"#A8FF60"},variable:{color:"#C6C5FE"},operator:{color:"#EDEDED"},entity:{color:"#FFFFB6",cursor:"help"},url:{color:"#96CBFE"},".language-css .token.string":{color:"#87C38A"},".style .token.string":{color:"#87C38A"},atrule:{color:"#F9EE98"},"attr-value":{color:"#F9EE98"},function:{color:"#DAD085"},regex:{color:"#E9C062"},important:{color:null==te?void 0:te.secondaryText,fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}},!ie&&{comment:{color:"#7D8B99"},prolog:{color:"#7D8B99"},doctype:{color:"#7D8B99"},cdata:{color:"#7D8B99"},punctuation:{color:"#4D4D4C"},property:{color:"#4078F2"},keyword:{color:"#8959A8"},tag:{color:"#8959A8"},"class-name":{color:"#D75F00"},boolean:{color:"#0086B3"},constant:{color:"#0086B3"},symbol:{color:"#990055"},deleted:{color:"#990000"},number:{color:"#005CC5"},selector:{color:"#63A35C"},"attr-name":{color:"#63A35C"},string:{color:"#50A14F"},char:{color:"#50A14F"},builtin:{color:"#50A14F"},inserted:{color:"#50A14F"},variable:{color:"#A626A4"},operator:{color:"#4D4D4C"},entity:{color:"#E45649",cursor:"help"},url:{color:"#4078F2"},".language-css .token.string":{color:"#50A14F"},".style .token.string":{color:"#50A14F"},atrule:{color:"#C18401"},"attr-value":{color:"#986801"},function:{color:"#005CC5"},regex:{color:"#D16969"},important:{color:null==te?void 0:te.secondaryText,fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}})},{children:ne.content})),t(y,{})]}))})),"inline"===N.type&&!ae&&o("div",Object.assign({className:"flex items-center gap-4 p-4 pt-6"},{children:[t(F,Object.assign({id:`artifact-copy-${ne.id}-${ne.version}`,tip:(null==V?void 0:V.copy)||"Copy",style:{padding:"0.25rem 0.5rem",backgroundColor:te.secondary,color:te.secondaryText,fontSize:"12px"},align:"bottom"},{children:t(k,{color:te.secondaryText,text:ne.content,className:"opacity-100",iconClassName:"w-5 h-5"})})),t(F,Object.assign({id:`artifact-save-${ne.id}-${ne.version}`,tip:(null==V?void 0:V.save)||"Save",style:{padding:"0.25rem 0.5rem",backgroundColor:te.secondary,color:te.secondaryText,fontSize:"12px"},align:"bottom"},{children:t(O,Object.assign({data:ne,colors:te,onDownload:se,onSaveAsPDF:le,onSaveAsDOCX:ce},{children:t("button",Object.assign({style:{color:te.secondaryText}},{children:t(b,{className:"w-5 h-5 shrink-0"})}))}))}))]}))]})):null};export{N as default};
|
|
1
|
+
import{__awaiter as e}from"../../../../../_virtual/_tslib.js";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{useState as n,useRef as r,useMemo as i,useEffect as a}from"react";import{useArtifactContext as l}from"../hooks/useArtifactContext.js";import{usePickaxeContext as c}from"../../../../../hooks/pickaxe/usePickaxeContext.js";import{useScroll as s}from"../../Scroll/hooks/useScroll.js";import{useArtifact as d}from"../hooks/useArtifact.js";import{useReactToPrint as p}from"react-to-print";import{PickaxeMarkdown as m}from"../../../common/PickaxeMarkdown/index.js";import{PickaxeMarkdownRenderer as u}from"../../../common/PickaxeMarkdown/Renderer.js";import{Prism as v}from"react-syntax-highlighter";import{convertMarkdownToDocx as f,downloadDocx as g}from"../../../../../common/docx/index.js";import x from"file-saver";import y from"../../Scroll/ScrollLockView.js";import h from"../../../../Icons/x.svg.js";import b from"../../../../Icons/save.svg.js";import C from"../../../../Icons/expand.svg.js";import w from"../../../../Icons/shrink.svg.js";import k from"../../../common/PickaxeCopyButton.js";import j from"../../../../Core/ScrollArea.js";import F from"../../../../Core/TipContainer.js";import T from"../MermaidRenderer.js";import O from"./SaveMenu.js";import A from"./ViewOptions.js";import S from"csv-to-markdown-table";import D from"../../../../../common/cn.js";const E="development"===process.env.NODE_ENV?"http://localhost:3007":"https://user-content.pickaxe.co",N=N=>{var B,$,z,M;const{artifacts:L,currentPopupType:W,currentArtifact:R,setCurrentArtifact:H}=l(),{onLoadArtifact:P}=d(),{styles:I,colors:_,translations:V}=c(),[X,q]=n("code"),G=r(),J=r(null),K=r(null),Q=p({contentRef:G}),{scrollContainerRef:U,scrollStartSession:Y,scrollToBottom:Z,scrollEndSession:ee}=s({auto:"code"===X}),oe=null!==($=null===(B=N.styling)||void 0===B?void 0:B.styles)&&void 0!==$?$:I,te=null!==(M=null===(z=N.styling)||void 0===z?void 0:z.colors)&&void 0!==M?M:_,ne=i((()=>{var e,o,t,n,r;if(!N.artifact&&!R)return null;const i=null!==(o=null===(e=N.artifact)||void 0===e?void 0:e.id)&&void 0!==o?o:null==R?void 0:R.id,a=null!==(n=null===(t=N.artifact)||void 0===t?void 0:t.version)&&void 0!==n?n:null==R?void 0:R.version;return null!==(r=L.find((e=>e.id===i&&e.version===a)))&&void 0!==r?r:null}),[R,L,N.artifact]),re=i((()=>ne&&"text/csv"===ne.type?S(ne.content,",",!0):null),[ne]),ie=i((()=>(te.secondaryText||"").toLowerCase().startsWith("#ffffff")),[null==te?void 0:te.secondaryText]),ae=i((()=>{const e=N.artifact&&(null==R?void 0:R.id)===N.artifact.id&&(null==R?void 0:R.version)===N.artifact.version;return"inline"===N.type&&("inline-form"===W?!!R:e)}),[R,W,N.type,N.artifact]);a((()=>{e(void 0,void 0,void 0,(function*(){"inline"===N.type&&N.artifact&&(L.some((e=>N.artifact&&e.id===N.artifact.id&&e.version===N.artifact.version))||P({id:N.artifact.id,version:N.artifact.version}))}))}),[L,N.type,N.artifact]),a((()=>{if("application/vnd.pxe.code"===(null==ne?void 0:ne.type)&&q("code"),"finished"!==(null==ne?void 0:ne.status))return q("code"),Y(),void Z();ee(),"application/vnd.pxe.code"!==ne.type&&q("render")}),[null==ne?void 0:ne.status,null==ne?void 0:ne.type]),a((()=>{var e;!K.current||"text/html"!==(null==ne?void 0:ne.type)&&"application/vnd.pxe.react"!==(null==ne?void 0:ne.type)||null===(e=K.current.contentWindow)||void 0===e||e.postMessage({type:"text/html"===ne.type?"HTML_CODE":"REACT_CODE",content:ne.content},E)}),[null==ne?void 0:ne.content,null==ne?void 0:ne.type]);const le=()=>e(void 0,void 0,void 0,(function*(){if(!ne)return;const e=X;"code"===e&&(q("render"),yield new Promise((e=>setTimeout(e,50)))),Q(),"code"===e&&q(e)})),ce=()=>e(void 0,void 0,void 0,(function*(){if(!ne)return;const e=yield f(ne.content);g(e,`${ne.title}.docx`)})),se=o=>e(void 0,void 0,void 0,(function*(){var e;if(!ne)return;let t={mimeType:"text/plain",extension:".txt"};switch(o){case"text/markdown":t={mimeType:"text/markdown",extension:".md"};break;case"text/html":t={mimeType:"text/html",extension:".html"};break;case"text/csv":t={mimeType:"text/csv",extension:".csv"};break;case"image/svg+xml":case"application/vnd.pxe.mermaid":t={mimeType:"image/svg+xml",extension:".svg"};break;case"application/vnd.pxe.code":t={mimeType:`application/${ne.programmingLanguage||"text"};charset=utf-8`,extension:`.${ne.programmingLanguage||"txt"}`};break;case"application/vnd.pxe.react":t={mimeType:"text/typescript",extension:".tsx"};break;default:t={mimeType:"text/plain",extension:".txt"}}let n=null;if("application/vnd.pxe.mermaid"===ne.type){const o=X;"code"===o&&(q("render"),yield new Promise((e=>setTimeout(e,50))));const t=null===(e=J.current)||void 0===e?void 0:e.querySelector("svg");t&&(n=(new XMLSerializer).serializeToString(t)),"code"===o&&q(o)}const r=new Blob([null!=n?n:ne.content],{type:t.mimeType});x(r,`${ne.title}${t.extension}`)}));return ne?o("div",Object.assign({className:D("pxe-artifact-renderer flex flex-col","inline"===N.type&&!ae&&"min-h-[320px] mb-6",N.className),style:Object.assign(Object.assign({backgroundColor:te.secondary,color:te.secondaryText},"auto"!==W&&{borderRadius:oe.cornerRadius}),N.style)},{children:[o("div",Object.assign({className:"flex items-center gap-6 justify-between p-4 shadow-sm"},{children:[o("div",Object.assign({className:"pxe-artifact-create-header flex items-center gap-4 truncate"},{children:[(ae||!W.startsWith("inline"))&&t(A,{type:ne.type,view:X,colors:te,onChange:q}),t("p",Object.assign({className:"font-semilight truncate text-xl"},{children:ne.title}))]})),o("div",Object.assign({className:"flex items-center gap-3"},{children:[(ae||!W.startsWith("inline"))&&t(O,Object.assign({variant:"anchor",className:"px-3 py-1.5 shrink-0",data:ne,colors:te,onDownload:se,onSaveAsPDF:le,onSaveAsDOCX:ce},{children:t("span",Object.assign({className:"shrink-0 font-semibold text-sm select-none"},{children:(null==V?void 0:V["save-as"])||"Save as"}))})),t("button",Object.assign({style:{color:te.secondaryText},onClick:()=>{"inline"!==N.type||!N.artifact||ae?H(null):H({id:N.artifact.id,version:N.artifact.version})}},{children:"inline"===N.type?t(ae?w:C,{className:"w-6 h-6 shrink-0"}):t(h,{className:"w-6 h-6 shrink-0"})}))]}))]})),t("div",Object.assign({className:"flex flex-col flex-grow @container/pickaxe-artifact"},{children:o(j,Object.assign({ref:U,innerClassName:"flex-grow w-full"},{children:["render"===X&&"application/vnd.pxe.code"!==ne.type?t("div",Object.assign({ref:G,className:D("p-4 pb-6 flex-grow flex flex-col","application/vnd.pxe.react"===ne.type&&"p-0","text/html"===ne.type&&"p-0","text/csv"===ne.type&&"p-0")},{children:"text/markdown"===ne.type||"text/csv"===ne.type||"image/svg+xml"===ne.type?t(m,Object.assign({theme:oe.theme,colors:te},{children:t(u,{value:null!=re?re:ne.content,className:D("px-6 @[767px]/pickaxe-artifact:px-11 mx-auto w-full","text/csv"===ne.type&&"px-4 @[767px]/pickaxe-artifact:px-4 mx-0"),style:{flex:1}})})):"application/vnd.pxe.mermaid"===ne.type?t(T,{ref:J,id:`mermaid-${ne.id}-${ne.version}`,data:ne.content}):"text/html"===ne.type||"application/vnd.pxe.react"===ne.type?t("iframe",Object.assign({ref:K,title:ne.title,src:`${E}/${"text/html"===ne.type?"html":"react"}?theme=${ie?"dark":"light"}&bg=${te.secondary}&accent=${te.accent}`,style:{width:"100%",flex:1,border:"none",backgroundColor:null==te?void 0:te.secondary},loading:"lazy",allow:"fullscreen; camera; microphone; gyroscope; accelerometer; geolocation; clipboard-write; autoplay",sandbox:"allow-scripts allow-same-origin allow-forms allow-downloads allow-popups-to-escape-sandbox allow-pointer-lock allow-popups allow-modals allow-orientation-lock allow-presentation",onLoad:e=>{const o=e.target;setTimeout((()=>{var e;try{null===(e=o.contentWindow)||void 0===e||e.postMessage({type:"text/html"===ne.type?"HTML_CODE":"REACT_CODE",content:ne.content},E)}catch(e){console.error("Error sending message to iframe:",e)}}),100),Z()}},{children:"Iframe is not supported, please view this artifact in a browser that supports it."})):null})):t(v,Object.assign({PreTag:"div",language:"text/markdown"===ne.type?"markdown":"text/html"===ne.type||"image/svg+xml"===ne.type?"xml":"application/vnd.pxe.react"===ne.type?"typescript":ne.programmingLanguage,showLineNumbers:!0,customStyle:{margin:0,flex:1},style:Object.assign({'code[class*="language-"]':Object.assign(Object.assign({color:null==te?void 0:te.secondaryText},ie&&{textShadow:"0 1px rgba(0, 0, 0, 0.3)"}),{fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"}),'pre[class*="language-"]':Object.assign(Object.assign({color:null==te?void 0:te.secondaryText},ie&&{textShadow:"0 1px rgba(0, 0, 0, 0.3)"}),{fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",borderRadius:"0.3em",minWidth:0,paddingLeft:"1em",paddingRight:"1em",paddingBottom:"2em",background:null==te?void 0:te.secondary}),':not(pre) > code[class*="language-"]':{background:null==te?void 0:te.secondary,padding:".1em",borderRadius:".3em"},comment:{color:"#7C7C7C"},prolog:{color:"#7C7C7C"},doctype:{color:"#7C7C7C"},cdata:{color:"#7C7C7C"},punctuation:{color:"#c5c8c6"},".namespace":{opacity:".7"},property:{color:"#96CBFE"},keyword:{color:"#96CBFE"},tag:{color:"#96CBFE"},"class-name":{color:"#FFFFB6"},boolean:{color:"#99CC99"},constant:{color:"#99CC99"},symbol:{color:"#f92672"},deleted:{color:"#f92672"},number:{color:"#FF73FD"},selector:{color:"#A8FF60"},"attr-name":{color:"#A8FF60"},string:{color:"#A8FF60"},char:{color:"#A8FF60"},builtin:{color:"#A8FF60"},inserted:{color:"#A8FF60"},variable:{color:"#C6C5FE"},operator:{color:"#EDEDED"},entity:{color:"#FFFFB6",cursor:"help"},url:{color:"#96CBFE"},".language-css .token.string":{color:"#87C38A"},".style .token.string":{color:"#87C38A"},atrule:{color:"#F9EE98"},"attr-value":{color:"#F9EE98"},function:{color:"#DAD085"},regex:{color:"#E9C062"},important:{color:null==te?void 0:te.secondaryText,fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}},!ie&&{comment:{color:"#7D8B99"},prolog:{color:"#7D8B99"},doctype:{color:"#7D8B99"},cdata:{color:"#7D8B99"},punctuation:{color:"#4D4D4C"},property:{color:"#4078F2"},keyword:{color:"#8959A8"},tag:{color:"#8959A8"},"class-name":{color:"#D75F00"},boolean:{color:"#0086B3"},constant:{color:"#0086B3"},symbol:{color:"#990055"},deleted:{color:"#990000"},number:{color:"#005CC5"},selector:{color:"#63A35C"},"attr-name":{color:"#63A35C"},string:{color:"#50A14F"},char:{color:"#50A14F"},builtin:{color:"#50A14F"},inserted:{color:"#50A14F"},variable:{color:"#A626A4"},operator:{color:"#4D4D4C"},entity:{color:"#E45649",cursor:"help"},url:{color:"#4078F2"},".language-css .token.string":{color:"#50A14F"},".style .token.string":{color:"#50A14F"},atrule:{color:"#C18401"},"attr-value":{color:"#986801"},function:{color:"#005CC5"},regex:{color:"#D16969"},important:{color:null==te?void 0:te.secondaryText,fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}})},{children:ne.content})),t(y,{})]}))})),"inline"===N.type&&!ae&&o("div",Object.assign({className:"flex items-center gap-4 p-4 pt-6"},{children:[t(F,Object.assign({id:`artifact-copy-${ne.id}-${ne.version}`,tip:(null==V?void 0:V.copy)||"Copy",style:{padding:"0.25rem 0.5rem",backgroundColor:te.secondary,color:te.secondaryText,fontSize:"12px"},align:"bottom"},{children:t(k,{color:te.secondaryText,text:ne.content,className:"opacity-100",iconClassName:"w-5 h-5"})})),t(F,Object.assign({id:`artifact-save-${ne.id}-${ne.version}`,tip:(null==V?void 0:V.save)||"Save",style:{padding:"0.25rem 0.5rem",backgroundColor:te.secondary,color:te.secondaryText,fontSize:"12px"},align:"bottom"},{children:t(O,Object.assign({data:ne,colors:te,onDownload:se,onSaveAsPDF:le,onSaveAsDOCX:ce},{children:t("button",Object.assign({style:{color:te.secondaryText}},{children:t(b,{className:"w-5 h-5 shrink-0"})}))}))}))]}))]})):null};export{N as default};
|
|
@@ -2,7 +2,7 @@ import type { PickaxeQuestion } from "./form";
|
|
|
2
2
|
export type PickaxeImageOrText = "text" | "image";
|
|
3
3
|
export type PickaxePrivacySetting = "public" | "unlisted" | "private" | "deleted";
|
|
4
4
|
export type PickaxeCloneable = "true" | "false";
|
|
5
|
-
export type PickaxeDocumentUploadType = "ownerupload" | "enduserupload" | "enduserupload-
|
|
5
|
+
export type PickaxeDocumentUploadType = "ownerupload" | "enduserupload" | "enduserupload-user";
|
|
6
6
|
export type PickaxeModel = "gpt-3.5-turbo" | "gpt-4-1106-preview" | "mistral-small" | "gpt-5" | "gpt-5-mini" | "gpt-5-nano" | "gpt-4.1" | "gpt-4.1-mini" | "gpt-4.1-nano" | "gpt-4o-mini" | "gpt-4o" | "gpt-4" | "o3-mini" | "o1" | "deepseek-chat" | "mistral-large-latest" | "claude-3-opus-20240229" | "claude-3-5-sonnet-20240620" | "claude-3-7-sonnet-20250219" | "llama-3-uncensored";
|
|
7
7
|
export type Pickaxe = {
|
|
8
8
|
_id: string;
|