@alwith/module-editor 0.1.0-rc.13 → 0.1.0-rc.14
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.
- package/README.md +6 -0
- package/dist/chunk-0m07f1rf.js +2 -0
- package/dist/chunk-68dtjjm4.js +2 -0
- package/dist/chunk-6nvrc7p7.js +9 -0
- package/dist/chunk-7zewhyx6.js +2 -0
- package/dist/chunk-83qapya5.js +3 -0
- package/dist/chunk-9mb4nnsc.js +2 -0
- package/dist/chunk-b1xr49tw.js +2 -0
- package/dist/chunk-b5q2ys0a.js +2 -0
- package/dist/chunk-bh9vgt8q.js +2 -0
- package/dist/chunk-czgs93zj.js +3 -0
- package/dist/chunk-dr1ebnb1.js +2 -0
- package/dist/chunk-e5hxq2gn.js +2 -0
- package/dist/chunk-gq1eh0tx.js +2 -0
- package/dist/chunk-jdjcp0ak.js +4 -0
- package/dist/chunk-nn5x2ear.js +2 -0
- package/dist/chunk-qanrx7j1.js +2 -0
- package/dist/chunk-qt0cfrrv.js +2 -0
- package/dist/chunk-s6jrc7pq.js +2 -0
- package/dist/chunk-sq7vxhx3.js +2 -0
- package/dist/chunk-yhtn3t0e.js +2 -0
- package/dist/core.js +1 -8
- package/dist/index.d.ts +8 -8
- package/dist/index.js +1 -1
- package/dist/monaco.d.ts +2 -2
- package/dist/monaco.js +1 -1
- package/dist/new-tab.d.ts +2 -2
- package/dist/new-tab.js +1 -1
- package/dist/preview-source-mode-toggle.js +1 -1
- package/dist/previews/excel-data.js +1 -3
- package/dist/previews/excel-navigation.js +1 -1
- package/dist/previews/excel.d.ts +1 -1
- package/dist/previews/excel.js +2 -1
- package/dist/previews/html-resources.d.ts +1 -1
- package/dist/previews/html-resources.js +1 -2
- package/dist/previews/html-session.d.ts +1 -1
- package/dist/previews/html-session.js +1 -1
- package/dist/previews/html.d.ts +1 -1
- package/dist/previews/html.js +2 -1
- package/dist/previews/index.d.ts +3 -3
- package/dist/previews/index.js +2 -1
- package/dist/previews/markdown-outline.d.ts +1 -1
- package/dist/previews/markdown-outline.js +2 -1
- package/dist/previews/markdown-readonly.d.ts +1 -1
- package/dist/previews/markdown-readonly.js +2 -2
- package/dist/previews/markdown.d.ts +1 -1
- package/dist/previews/markdown.js +2 -1
- package/dist/previews/media-types.js +1 -1
- package/dist/previews/media.d.ts +1 -1
- package/dist/previews/media.js +2 -1
- package/dist/previews/pdf-controls.js +1 -1
- package/dist/previews/pdf.d.ts +1 -1
- package/dist/previews/pdf.js +2 -1
- package/dist/previews/shared.d.ts +1 -1
- package/dist/previews/shared.js +2 -1
- package/dist/previews/tiff.d.ts +1 -1
- package/dist/previews/tiff.js +2 -1
- package/dist/previews/word.d.ts +1 -1
- package/dist/previews/word.js +2 -1
- package/dist/quick-start-assets.js +1 -1
- package/dist/quick-start-data.js +1 -1
- package/dist/quick-start-icons.js +1 -1
- package/dist/workspace-assets.js +1 -1
- package/dist/workspace-tabs.d.ts +2 -2
- package/dist/workspace-tabs.js +1 -1
- package/dist/workspace.d.ts +1 -1
- package/dist/workspace.js +1 -1
- package/package.json +21 -21
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function S(E,h){let l=E.querySelector(".x-spreadsheet-bottombar"),n=l?.querySelector(".x-spreadsheet-menu");if(!l||!n)throw Error("Spreadsheet navigation is missing");let o=document.createElement("button");o.type="button",o.className="excel-sheet-nav-button excel-sheet-nav-button-left",o.setAttribute("aria-label",h.previousSheet),o.textContent="‹";let s=document.createElement("button");s.type="button",s.className="excel-sheet-nav-button excel-sheet-nav-button-right",s.setAttribute("aria-label",h.nextSheet),s.textContent="›";let a=()=>Math.max(n.scrollWidth-n.clientWidth,0),g=(t)=>Math.min(Math.max(t,0),a()),u=()=>[...n.querySelectorAll(":scope > li")].map((t)=>t).filter((t)=>t.offsetWidth>0).map((t)=>{let e=t.offsetLeft,r=e+t.offsetWidth;return{left:e,right:r}}).toSorted((t,e)=>t.left-e.left),c=(t)=>{let e=Math.round(g(t));n.scrollTo({left:e,behavior:"smooth"})},i=()=>{let t=n.scrollLeft,e=a();o.disabled=t<=1,s.disabled=t>=e-1},v=()=>{let t=a()>1;return o.hidden=!t,s.hidden=!t,l.classList.toggle("excel-bottom-nav-enabled",t),t},f=1,m=()=>{let t=n.scrollLeft,e=u();if(e.length===0){c(t-160);return}let r=[...e].toReversed().find((d)=>d.left<t-f)??e[0];c(r.left)},b=()=>{let t=n.scrollLeft,e=t+n.clientWidth,r=u();if(r.length===0){c(t+160);return}let d=r.find((p)=>p.right>e+f)??r.at(-1);c(d.right-n.clientWidth)};o.addEventListener("click",m),s.addEventListener("click",b),n.addEventListener("scroll",i,{passive:!0}),l.append(o,s),v(),i();let L=new ResizeObserver(()=>{v(),i()});return L.observe(n),()=>{o.removeEventListener("click",m),s.removeEventListener("click",b),n.removeEventListener("scroll",i),L.disconnect(),o.remove(),s.remove(),l.classList.remove("excel-bottom-nav-enabled")}}
|
|
2
|
+
export{S};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var P="default-src 'none'; img-src blob: data:; media-src blob: data:; font-src blob: data:; style-src 'unsafe-inline' blob:; script-src 'unsafe-inline' blob: data:; connect-src 'none'; frame-src 'none'; object-src 'none'; form-action 'none'; base-uri 'none'";async function u(C,m,g,E,T){let b=()=>{T?.throwIfAborted()};b();let A=new Map,L=0,S=0,R=0,h=async(e,a,s)=>{let t=[...e.matchAll(a)],r=await Promise.allSettled(t.map(s));b();let n=r.find((o)=>o.status==="rejected");if(n)throw n.reason;let c=r.map((o)=>{if(o.status!=="fulfilled")throw o.reason;return o.value}),i="",d=0;for(let o=0;o<t.length;o++){let f=t[o];i+=e.slice(d,f.index)+c[o],d=f.index+f[0].length}return i+e.slice(d)},w=async(e,a,s=new Set)=>{b();let t=a.trim();if(!t||t.startsWith("#"))return t;if(/^data:/i.test(t))return t;if(/^https:\/\//i.test(t)&&g.allowRemoteResources)return t;if(/^(?:[a-z][a-z\d+.-]*:|\/\/)/i.test(t))throw Error(`Remote or privileged preview resource is blocked: ${t}`);let r=`${e}\x00${t}`;if(s.has(r))throw Error(`Circular preview resource: ${t}`);let n=A.get(r);if(n)return n;if(++L>256||s.size>12)throw Error("HTML preview exceeds its resource limit");let c=await g.resolveResource(e,t);if(b(),S+=c.bytes.byteLength,S>67108864)throw Error("HTML preview resources exceed 64 MiB");let i=c.bytes,d=new Set(s).add(r);if(/text\/css/i.test(c.mimeType)||/\.css(?:[?#]|$)/i.test(t))i=new TextEncoder().encode(await v(new TextDecoder().decode(i),c.path,d));let o=/javascript/i.test(c.mimeType)||/\.(?:m?js)(?:[?#]|$)/i.test(t);if(o){let y=new TextDecoder().decode(i),p=await j(y,c.path,d);i=new TextEncoder().encode(p)}if(b(),R+=i.byteLength,R>67108864)throw Error("Generated HTML preview resources exceed 64 MiB");let f;if(o){let y="";for(let p=0;p<i.length;p+=8192)y+=String.fromCharCode(...i.subarray(p,p+8192));f=`data:text/javascript;base64,${btoa(y)}`}else f=URL.createObjectURL(new Blob([new Uint8Array(i).buffer],{type:c.mimeType})),E.add(f);return A.set(r,f),f},j=async(e,a,s)=>h(e,/\b((?:import|export)\s+(?:[^;\n]*?\s+from\s*)?|import\s*\(\s*)(["'])([^"']+)\2/g,async(t)=>`${t[1]}${t[2]}${await w(a,t[3],s)}${t[2]}`),v=async(e,a,s)=>{let t=await h(e,/@import\s+(["'])([^"']+)\1/g,async(r)=>`@import "${await w(a,r[2],s)}"`);return h(t,/url\(\s*(["']?)([^"')]+)\1\s*\)/g,async(r)=>{if(/^blob:/i.test(r[2]))return r[0];return`url("${await w(a,r[2],s)}")`})},l=new DOMParser().parseFromString(C,"text/html");for(let e of l.querySelectorAll("base,iframe,frame,object,embed,meta[http-equiv]"))e.remove();for(let e of l.querySelectorAll("link"))if(!e.rel.toLowerCase().split(/\s+/).includes("stylesheet"))e.remove();for(let e of l.querySelectorAll("[src],[poster],[href],[srcset],[style]")){for(let t of["src","poster","href"]){let r=e.getAttribute(t);if(r===null)continue;if(t==="href"&&e.tagName!=="LINK"){e.removeAttribute(t);continue}e.setAttribute(t,await w(m,r))}let a=e.getAttribute("srcset");if(a!==null&&!/^\s*data:/i.test(a)){let t=await Promise.allSettled(a.split(",").map(async(n)=>{let[c,...i]=n.trim().split(/\s+/);return[await w(m,c),...i].join(" ")})),r=t.find((n)=>n.status==="rejected");if(r)throw r.reason;e.setAttribute("srcset",t.map((n)=>{if(n.status!=="fulfilled")throw n.reason;return n.value}).join(", "))}let s=e.getAttribute("style");if(s!==null)e.setAttribute("style",await v(s,m,new Set))}for(let e of l.querySelectorAll("style"))e.textContent=await v(e.textContent||"",m,new Set);for(let e of l.querySelectorAll("script:not([src])"))e.textContent=await j(e.textContent||"",m,new Set);for(let e of l.querySelectorAll("form"))e.removeAttribute("action"),e.removeAttribute("target");let x=l.createElement("meta");return x.httpEquiv="Content-Security-Policy",x.content=g.allowRemoteResources?"default-src 'none'; img-src blob: data:; media-src blob: data:; font-src blob: data:; style-src 'unsafe-inline' blob:; script-src 'unsafe-inline' blob: data:; connect-src 'none'; frame-src 'none'; object-src 'none'; form-action 'none'; base-uri 'none'".replace("img-src blob: data:","img-src blob: data: https:").replace("media-src blob: data:","media-src blob: data: https:").replace("font-src blob: data:","font-src blob: data: https:").replace("style-src 'unsafe-inline' blob:","style-src 'unsafe-inline' blob: https:").replace("script-src 'unsafe-inline' blob: data:","script-src 'unsafe-inline' blob: data: https:"):"default-src 'none'; img-src blob: data:; media-src blob: data:; font-src blob: data:; style-src 'unsafe-inline' blob:; script-src 'unsafe-inline' blob: data:; connect-src 'none'; frame-src 'none'; object-src 'none'; form-action 'none'; base-uri 'none'",l.head.prepend(x),`<!doctype html>
|
|
2
|
+
${l.documentElement.outerHTML}`}
|
|
3
|
+
export{P,u};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{basename as X}from"@alwith/module-fs/core";import{Button as A}from"@base-ui/react/button";import{ContextMenu as l}from"@base-ui/react/context-menu";import{File as D,Plus as H,X as Y}from"lucide-react";import{useEffect as S,useRef as E,useSyncExternalStore as R}from"react";import{jsxDEV as o}from"react/jsx-dev-runtime";function h({workspace:i,editor:b,labels:s,prefix:M,leading:L,trailing:v,newTabIcon:W,renderFileIcon:q,onCopyPath:N,onReveal:T,onError:B}){let a=R(i.subscribe,i.getSnapshot,i.getSnapshot),P=R(b.subscribe,b.getSnapshot,b.getSnapshot).documents,c=E(null),g=E(null),C=E(!1),u=(t)=>{t().catch(B)};return S(()=>{let t=c.current;if(!t)return;let d=(r)=>{if(r.ctrlKey||r.metaKey||t.scrollWidth<=t.clientWidth)return;let p=Math.abs(r.deltaX)>Math.abs(r.deltaY)?r.deltaX:r.deltaY;t.scrollLeft+=p*(r.deltaMode===1?16:r.deltaMode===2?t.clientWidth:1),r.preventDefault()};return t.addEventListener("wheel",d,{passive:!1}),()=>t.removeEventListener("wheel",d)},[]),S(()=>{c.current?.querySelector('[aria-selected="true"]')?.scrollIntoView({block:"nearest",inline:"nearest"})},[a.activeId]),o("div",{className:"alwith-workspace-tabbar","data-empty":a.tabs.length===0,children:[L,o("div",{className:"alwith-workspace-tab-scroll",ref:c,children:[o("div",{role:"tablist",className:"alwith-workspace-tablist",children:a.tabs.map((t,d)=>{let r=P.find((e)=>e.id===t.id);if(t.kind==="file"&&!r)throw Error(`Missing tab document: ${t.id}`);let p=r?X(r.path):s.newTab,w=t.id===a.activeId,y=()=>u(()=>i.requestClose(t.id));return o(l.Root,{children:[o(l.Trigger,{className:"alwith-workspace-tab","data-tab-id":t.id,"data-active":w,"data-dirty":Boolean(r?.dirty),"data-transient":r?!r.pinned:!1,"data-divider":d>0&&!w&&a.tabs[d-1].id!==a.activeId,role:"tab","aria-label":`${p}${r?.dirty?" •":""}`,id:`${M}-tab-${t.id}`,"aria-controls":`${M}-panel-${t.id}`,"aria-selected":w,tabIndex:w?0:-1,onClick:()=>{if(C.current){C.current=!1;return}i.activate(t.id)},onDoubleClick:()=>{if(r)b.pin(r.id)},onKeyDown:(e)=>{if(e.key==="Enter"||e.key===" "){e.preventDefault(),i.activate(t.id);return}if(e.key==="Delete"){e.preventDefault(),y();return}let n=e.key==="ArrowRight"?1:e.key==="ArrowLeft"?-1:0,m=e.key==="Home"?0:e.key==="End"?a.tabs.length-1:n?(d+n+a.tabs.length)%a.tabs.length:null;if(m===null)return;e.preventDefault();let k=a.tabs[m];i.activate(k.id),globalThis.document.getElementById(`${M}-tab-${k.id}`)?.focus()},title:r?.path??p,onPointerDown:(e)=>{if(e.button!==0)return;C.current=!1,g.current={id:t.id,x:e.clientX,y:e.clientY,moved:!1,before:null}},onPointerMove:(e)=>{let n=g.current;if(n?.id!==t.id)return;if(!n.moved&&Math.hypot(e.clientX-n.x,e.clientY-n.y)<5)return;e.currentTarget.setPointerCapture(e.pointerId),n.moved=!0,e.currentTarget.dataset.dragging="true";let m=[...c.current.querySelectorAll("[data-tab-id]")].filter((f)=>f.dataset.tabId!==t.id),k=getComputedStyle(e.currentTarget).direction==="rtl";n.before=m.find((f)=>{let I=f.getBoundingClientRect();return k?e.clientX>I.left+I.width/2:e.clientX<I.left+I.width/2})?.dataset.tabId??null;for(let f of m)f.dataset.dropBefore=String(f.dataset.tabId===n.before);let x=c.current.getBoundingClientRect();if(e.clientX>x.right-24)c.current.scrollLeft+=12;if(e.clientX<x.left+24)c.current.scrollLeft-=12},onPointerUp:(e)=>{let n=g.current;if(n?.id!==t.id)return;if(n.moved)i.reorder(t.id,n.before),C.current=!0;if(g.current=null,delete e.currentTarget.dataset.dragging,c.current?.querySelectorAll("[data-drop-before]").forEach((m)=>{delete m.dataset.dropBefore}),e.currentTarget.hasPointerCapture(e.pointerId))e.currentTarget.releasePointerCapture(e.pointerId)},onPointerCancel:(e)=>{g.current=null,delete e.currentTarget.dataset.dragging,c.current?.querySelectorAll("[data-drop-before]").forEach((n)=>{delete n.dataset.dropBefore})},onAuxClick:(e)=>{if(e.button===1)e.preventDefault(),y()},children:[o("span",{className:"alwith-workspace-tab-content",children:[o("span",{className:"alwith-workspace-tab-icon","aria-hidden":"true",children:r?q?.(r)??o(D,{},void 0,!1,void 0,this):W??o(D,{},void 0,!1,void 0,this)},void 0,!1,void 0,this),o("span",{className:"alwith-workspace-tab-title",children:p},void 0,!1,void 0,this)]},void 0,!0,void 0,this),o("span",{className:"alwith-workspace-tab-close","aria-hidden":"true",title:`${s.close} ${p}`,onPointerDown:(e)=>e.stopPropagation(),onClick:(e)=>{e.stopPropagation(),y()},children:o(Y,{"aria-hidden":"true"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),o(l.Portal,{children:o(l.Positioner,{children:o(l.Popup,{className:"alwith-editor-menu",children:[o(l.Item,{className:"alwith-editor-menu-item",onClick:y,children:s.close},void 0,!1,void 0,this),a.tabs.length>1&&o(l.Item,{className:"alwith-editor-menu-item",onClick:()=>u(()=>i.requestCloseMany(a.tabs.filter((e)=>e.id!==t.id).map((e)=>e.id))),children:s.closeOthers},void 0,!1,void 0,this),d<a.tabs.length-1&&o(l.Item,{className:"alwith-editor-menu-item",onClick:()=>u(()=>i.requestCloseMany(a.tabs.slice(d+1).map((e)=>e.id))),children:s.closeRight},void 0,!1,void 0,this),o(l.Item,{className:"alwith-editor-menu-item",onClick:()=>u(()=>i.requestCloseMany(a.tabs.filter((e)=>!P.find((n)=>n.id===e.id)?.dirty).map((e)=>e.id))),children:s.closeSaved},void 0,!1,void 0,this),o(l.Item,{className:"alwith-editor-menu-item",onClick:()=>u(()=>i.requestCloseMany(a.tabs.map((e)=>e.id))),children:s.closeAll},void 0,!1,void 0,this),r&&(T??N)&&o(l.Separator,{className:"alwith-editor-menu-separator"},void 0,!1,void 0,this),r&&T&&o(l.Item,{className:"alwith-editor-menu-item",onClick:()=>u(()=>T(r)),children:s.reveal},void 0,!1,void 0,this),r&&N&&o(l.Item,{className:"alwith-editor-menu-item",onClick:()=>u(()=>N(r)),children:s.copyPath},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},t.id,!0,void 0,this)})},void 0,!1,void 0,this),o(A,{className:"alwith-workspace-new-tab","aria-label":s.newTab,title:`${s.newTab} (${typeof navigator<"u"&&navigator.platform.includes("Mac")?"⌘":"Ctrl+"}T)`,onClick:()=>i.openNewTab(),children:o(H,{},void 0,!1,void 0,this)},void 0,!1,void 0,this),o("div",{className:"alwith-workspace-tab-space"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),v]},void 0,!0,void 0,this)}
|
|
2
|
+
export{h};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{u}from"./chunk-czgs93zj.js";async function y(t,e,o,s){if(s.throwIfAborted(),o.htmlPreview){let r=o.htmlIntegration?.transform(t,e)??t,i=await o.htmlPreview.open(e,r);if(s.aborted)await i.dispose(),s.throwIfAborted();return{src:i.url,sandbox:"allow-scripts allow-same-origin allow-forms allow-modals allow-popups allow-downloads",dispose:()=>i.dispose()}}let n=new Set,a=()=>Promise.try(()=>{for(let r of n)URL.revokeObjectURL(r)});try{let r=await u(t,e,o,n,s);return{srcDoc:o.htmlIntegration?.transform(r,e)??r,sandbox:"allow-scripts",dispose:a}}catch(r){throw await a(),r}}
|
|
2
|
+
export{y};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function d(r,c){let h=r.getSnapshot(),u=h.documents,l=c?c.tabs.flatMap((e)=>{if(e.kind==="new")return[{id:crypto.randomUUID(),kind:"new"}];let n=u.find((i)=>i.path===e.path);return n?[{id:n.id,kind:"file"}]:[]}):u.map((e)=>({id:e.id,kind:"file"}));for(let e of u)if(!l.some((n)=>n.id===e.id))l.push({id:e.id,kind:"file"});if(!c&&l.length===0)l.push({id:crypto.randomUUID(),kind:"new"});let m=c?.activeIndex==null?void 0:c.tabs[c.activeIndex],w=m?.kind==="file"?u.find((e)=>e.path===m.path)?.id:m?.kind==="new"?l[c.tabs.slice(0,c.activeIndex).filter((e)=>e.kind==="new"||u.some((n)=>n.path===e.path)).length]?.id:void 0,t={tabs:l,activeId:w??h.activeId??l[0]?.id??null},b=new Set,I=0,p=[];function f(){for(let e of b)e()}function v(e){let n=t.tabs.find((i)=>i.id===e);if(!n)throw Error(`Unknown workspace tab: ${e}`);return n}function E(e){let n=h;h=e;let i=t.tabs.filter((s)=>s.kind==="new"||e.documents.some((k)=>k.id===s.id));for(let s of e.documents){if(i.some((k)=>k.id===s.id))continue;if(i.at(-1)?.kind==="new")i=i.slice(0,-1);i=[...i,{id:s.id,kind:"file"}]}let o=e.selectionRevision===void 0?n.activeId!==e.activeId||n!==e&&n.documents===e.documents:e.selectionRevision!==n.selectionRevision,a=!I&&o&&e.activeId!==null?e.activeId:i.some((s)=>s.id===t.activeId)?t.activeId:i[Math.min(t.tabs.findIndex((s)=>s.id===t.activeId),i.length-1)]?.id??null;if(a===t.activeId&&i.length===t.tabs.length&&i.every((s,k)=>s===t.tabs[k]))return;t={tabs:i,activeId:a},f()}let y=r.subscribe(()=>E(r.getSnapshot())),g={getSnapshot:()=>t,subscribe(e){return b.add(e),()=>{b.delete(e)}},openNewTab(){let e=crypto.randomUUID();return t={tabs:[...t.tabs,{id:e,kind:"new"}],activeId:e},f(),e},activate(e){let n=v(e);if(t={...t,activeId:e},n.kind==="file")r.activate(e);f()},reorder(e,n){let i=v(e);if(n===e)return;if(n!==null)v(n);let o=t.tabs.filter((a)=>a.id!==e);o.splice(n===null?o.length:o.findIndex((a)=>a.id===n),0,i),t={...t,tabs:o},f()},async requestClose(e){if(v(e).kind==="file"){let i=r.getSnapshot().documents.find((o)=>o.id===e);if(!i)throw Error(`Missing workspace document: ${e}`);I++;try{if(!await r.requestClose(e))return!1;if(p.unshift(i.path),p.length>20)p.pop()}finally{I--}}else{let i=t.tabs.findIndex((a)=>a.id===e),o=t.tabs.filter((a)=>a.id!==e);t={tabs:o,activeId:t.activeId===e?o[Math.min(i,o.length-1)]?.id??null:t.activeId},f()}if(t.activeId!==null)g.activate(t.activeId);return!0},async requestCloseMany(e){for(let n of[...new Set(e)])if(t.tabs.some((i)=>i.id===n)&&!await g.requestClose(n))return!1;return!0},async reopenClosed(){let e=p[0];if(e===void 0)return;let n=await r.open(e);r.pin(n.id),p.shift()},serialize(){return{tabs:t.tabs.map((e)=>{if(e.kind==="new")return{kind:"new"};let n=r.getSnapshot().documents.find((i)=>i.id===e.id);if(!n)throw Error(`Missing workspace document: ${e.id}`);return{kind:"file",path:n.path}}),activeIndex:t.activeId===null?null:t.tabs.findIndex((e)=>e.id===t.activeId)}},dispose(){y(),b.clear()}};if(t.activeId!==null&&v(t.activeId).kind==="file")r.activate(t.activeId);return g}
|
|
2
|
+
export{d};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import*as p from"xlsx";function n(r){return r.SheetNames.map((t)=>{let s=r.Sheets[t];if(!s)throw Error(`Worksheet data missing: ${t}`);let e=s["!ref"]?p.utils.decode_range(s["!ref"]):null,h={len:e?e.e.r+1:0};for(let i of Object.keys(s)){if(i.startsWith("!"))continue;let l=s[i];if(!l)continue;let{r:a,c}=p.utils.decode_cell(i),d=h[a]??={cells:{}};d.cells[c]={text:p.utils.format_cell(l)}}return{name:t,rows:h,cols:{len:Math.max(26,e?e.e.c+1:0)},merges:[]}})}function b(r,t,s){if(r.length===0)return r;if(s.measureText(r).width<=t)return r;let e="...";if(s.measureText(e).width>=t)return e;let i=0,l=r.length,a="";while(i<=l){let c=Math.floor((i+l)/2),d=r.slice(0,c)+e;if(s.measureText(d).width<=t){a=d,i=c+1;continue}l=c-1}return a||e}function o(r){if(!r)return;let t=r?.sheet?.table?.draw;if(!t)return;let s=t.text;if(s.__excelEllipsisPatched)return;let e=s.bind(t),h=(i,l,a,c=!0)=>{if(c)return e(i,l,a,c);let d=String(i);if(d.length===0)return e(i,l,a,c);let w=l.innerWidth();if(w<=0)return e(i,l,a,c);let u=t.ctx,f=a?.font,m=f?.italic?"italic ":"",S=f?.bold?"bold ":"",g=f?.size||10,x=f?.name||"Helvetica";u.save(),u.font=`${m}${S}${g}px ${x}`;let T=d.split(`
|
|
2
|
+
`).map((X)=>b(X,w,u)).join(`
|
|
3
|
+
`);return u.restore(),e(T,l,a,c)};h.__excelEllipsisPatched=!0,t.text=h}
|
|
4
|
+
export{n,b,o};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var E="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik01MC42NDYgNDYuMzc4NUw0MS4wNjczIDM4LjkyMDNDNDAuNjEyNiAzOC41NjU5IDM5Ljk2NTcgMzguNjAxIDM5LjU1MjMgMzkuMDAyTDMzLjQ0NTggNDQuOTE4M0MzMi43NTY1IDQ1LjU4NTkgMzEuNjMyMiA0NC44OTI1IDMxLjkxOTUgNDMuOTc2OUwzMy45MTE5IDM3LjYxOTNDMzQuMTczMyAzNi43ODQzIDMzLjQ0ODkgMzUuOTcyIDMyLjU4OTEgMzYuMTM4NEwyMy4wMTY1IDM4LjMwMTNDMjIuMDAzOCAzOC40OTY2IDIxLjQ3OTkgMzcuMTM5NyAyMi4zNTkzIDM2LjYwMzRMMzIuNTExNiAzMS42NDgyQzMzLjIzNSAzMS4yMDY5IDMzLjI1NDYgMzAuMTY0MiAzMi41NDg4IDI5LjY5NzFMMjUuNTg5OCAyNS45MDU0QzI0Ljc0MjQgMjUuMzQ0MyAyNS4yODkgMjQuMDI1NyAyNi4yODQyIDI0LjIyNzJMMzMuMzc5NyAyNS43MDE5QzM0LjExNjUgMjUuODUwNyAzNC43OTc1IDI1LjI2ODkgMzQuNzY0NSAyNC41MTc2TDM0LjQ4MzQgMTguMDk0OUMzNC40NDEgMTcuMTM0OCAzNS43MDkgMTYuNzU0NSAzNi4yMDE5IDE3LjU4MDJMMzkuMDc5IDIyLjQwMDFDMzkuNTA4OSAyMy4xMjA0IDQwLjUzOTIgMjMuMTU3NiA0MS4wMTk3IDIyLjQ3MDRMNDcuNDQyNCAxMy4yODEyQzQ3Ljk0MzYgMTIuNTY0IDQ5LjA2OSAxMi44NzkyIDQ5LjEyMzggMTMuNzUzNUw0Ny41NjU0IDI0Ljc1MDFDNDcuNTk0MyAyNS4yMDQ4IDQ3Ljg4NjggMjUuNjAwNiA0OC4zMTM2IDI1Ljc2MDhMNTkuNDAzMiAyNy45MTEzQzYwLjI4MDYgMjguMjQxIDYwLjE2OSAyOS41MTYyIDU5LjI0NzIgMjkuNjg2N0w0OC43Nzk3IDMyLjc5OTRDNDguMDAzNiAzMi45NDMgNDcuNTQyNyAzMy43NTAxIDQ3LjgxMzQgMzQuNDkyMUw1Mi4wODM1IDQ1LjMzMTdDNTIuNDAyOCA0Ni4yMDM5IDUxLjM3OTggNDYuOTQ5IDUwLjY0NiA0Ni4zNzg1WiIgZmlsbD0iI0M1QjhGRCIvPgo8cGF0aCBkPSJNNjQuMjUwMyA1NC43MTc5QzY0LjI1MDMgNTQuNzE3OSA2Mi4yMDYyIDU5LjI3ODQgNTkuMjEzNSA1Ny4xMDJDNTYuMjE5NiA1NC45MjU2IDYwLjQzNSA0Ni41OTIxIDY0LjE2MzUgNDguNDc3MUM2OC4wNTIzIDUwLjQ0MTYgNjcuOTQ4OSA1NC4wNTg2IDY0LjAyMiA2My41NjZDNjAuMjkxMyA3Mi41OTgxIDQ3LjYwODIgNzEuMTAwNyA0Ni4zNTM2IDcwLjk1NkM0Ni4zMDA5IDcwLjk0OTggNDYuMjQ3MSA3MC45NDY3IDQ2LjE5MzQgNzAuOTQ0NkM0NC4yMzMgNzAuODkwOSA0Mi4yNTQgNzAuNDY1MSA0MC40NjMxIDY5LjkwODFDMzYuMzgwMSA2OC42MzcgMzMuNjE4OCA2NC44MzQgMzMuNjY5NCA2MC41NTg4TDMxLjU2NDMgMzYuNjM0MUMzMS41NzQ3IDM1LjgwODQgMzIuMDQ5IDMzLjkyMzQgMzQuNTE3OCAzMy40ODQyQzM2LjU0MTMgMzMuMTU0NiAzNy42NDA4IDM1LjMzNCAzNy42NDA4IDM1LjMzNEw0MC40NiA0MC45MzQxQzQxLjE4MzQgNDEuOTY3NiA0My4wMzQzIDQyLjMyNDEgNDQuMDQwOCA0MS4yMjg3QzQ4LjMxODEgMzYuNTc3MiA1OC4zMzgyIDI2Ljg3OTYgNjEuOTMwMyAyOS4xOTI0QzY2LjYzNTUgMzIuNTgxIDU1LjU3MDcgNDIuMDY0NyA1NS41NzA3IDQyLjA2NDciIHN0cm9rZT0iIzNGM0QzRCIgc3Ryb2tlLXdpZHRoPSIxLjI2MDgiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CjxwYXRoIGQ9Ik01Ny40ODE5IDQ0LjUzMjJDNTcuNDgxOSA0NC41MzIyIDU0Ljk5NzYgMzguMTUyOSA0OS44NDUgNDQuMDk0QzQ0LjY5MjMgNTAuMDM1MSA0NS4yNjY5IDU5LjQyMjcgNTEuNTI5NSA1NS4xMDUxIiBzdHJva2U9IiMzRjNEM0QiIHN0cm9rZS13aWR0aD0iMS4yNjA4IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8cGF0aCBkPSJNNTguMTM4MSA1Ni4zNzE1QzU4LjEzODEgNTYuMzcxNSA0OS44MjMyIDYzLjA0NzQgNTIuOTQ1MiA0OS44MzcyQzU0Ljg5NDIgNDMuMDQ0NiA2Mi41NjEyIDQyLjI2MzMgNjIuMTg5MSA0OC4zMDk4IiBzdHJva2U9IiMzRjNEM0QiIHN0cm9rZS13aWR0aD0iMS4yNjA4IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8cGF0aCBkPSJNMzguNTk0MSA1Mi4yNTI0QzM5LjA4NTUgNTIuMjUyNCAzOS40ODM5IDUxLjg1NDEgMzkuNDgzOSA1MS4zNjI2QzM5LjQ4MzkgNTAuODcxMiAzOS4wODU1IDUwLjQ3MjkgMzguNTk0MSA1MC40NzI5QzM4LjEwMjcgNTAuNDcyOSAzNy43MDQzIDUwLjg3MTIgMzcuNzA0MyA1MS4zNjI2QzM3LjcwNDMgNTEuODU0MSAzOC4xMDI3IDUyLjI1MjQgMzguNTk0MSA1Mi4yNTI0WiIgZmlsbD0iIzNGM0QzRCIvPgo8cGF0aCBkPSJNNDIuMDE0IDUzLjE1MjFDNDIuNTA1NCA1My4xNTIxIDQyLjkwMzggNTIuNzUzOCA0Mi45MDM4IDUyLjI2MjRDNDIuOTAzOCA1MS43NzEgNDIuNTA1NCA1MS4zNzI2IDQyLjAxNCA1MS4zNzI2QzQxLjUyMjYgNTEuMzcyNiA0MS4xMjQzIDUxLjc3MSA0MS4xMjQzIDUyLjI2MjRDNDEuMTI0MyA1Mi43NTM4IDQxLjUyMjYgNTMuMTUyMSA0Mi4wMTQgNTMuMTUyMVoiIGZpbGw9IiMzRjNEM0QiLz4KPHBhdGggZD0iTTM2LjA3NjggNTIuODYyOUMzNi4wNzY4IDUyLjg2MjkgMzcuOTA3IDU3LjkyOTcgNDMuMzMyNCA1NS41Mzc0IiBzdHJva2U9IiMzRjNEM0QiIHN0cm9rZS13aWR0aD0iMS4yNjA2OCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPHBhdGggZD0iTTg5LjM3NDEgNjMuOTM4NkM4OS42MTE4IDY0LjU0NzMgODkuNTI5MSA2NS4yMzQ1IDg5LjE1NCA2NS43Njg4TDc2LjUyNzcgODMuNzIxM0M3NS45MzY1IDg0LjUwNDcgNzUuMDkxMiA4NS4yNDI1IDc0LjE1MDggODQuOTYxNEM2MC41MTc5IDgwLjg5MjkgNDQuNjk1MyA4MS42MzY5IDM4Ljg2MTYgODIuMzg4MkMzNi45NTcgODIuNjMzMSAzNS4wMjQ1IDgyLjI1MDggMzMuMzU1NSA4MS4zMDIxQzIzLjQyNjUgNzUuNjU4NiAxNS43MzE2IDcyLjc1NjcgMTIuNDg1NyA3MS42NTMxQzExLjQ2ODggNzEuMzA2OSAxMC41NDE4IDcwLjUzMjggMTAuNDkyMiA2OS40NjAxTDEwLjUzNjYgNjUuMzUxM0MxMi4wMjc4IDY2LjYxNTEgMTguNDgzNiA2OC4wMDQxIDE4LjQ4MzYgNjguMDA0MUwyNS44OTAxIDcxLjgzN0MyNS44OTAxIDcxLjgzNyAzMC44NTA1IDc4LjE0MDkgMzUuODM5OSA3OC40MjYxQzQwLjgyODIgNzguNzEwMyA0MS43MzM1IDc4LjM1NjkgNDEuNzMzNSA3OC4zNTY5QzUyLjY4OTggNzUuOTI2MyA3MC41MTgzIDc5LjIzNzMgNzQuODM5MSA4MC4xMDk1TDc2LjY3MDMgNzkuNDkyNkw4OC44MjUzIDYyLjUzNjJMODkuMzc0MSA2My45Mzg2WiIgZmlsbD0iI0M1QjhGRCIvPgo8cGF0aCBkPSJNNjYuMjAwNyA1OC43MTFDNzQuNjI4MiA1Ni45MzQ2IDgyLjM1NzEgNTkuMTUyMyA4Ni44NjM5IDYwLjQ4NTRDODguNTIwNCA2MC45NzUyIDg5LjE4MjkgNjIuOTY1NiA4OC4xNDc0IDY0LjM0OTRMNzcuMjE1OSA3OC45NjA5Qzc2LjU4NDUgNzkuODA1MiA3NS40ODggODAuMTY2OSA3NC40ODI1IDc5Ljg0ODZDNjMuOTY1NCA3Ni41MTU4IDQ3LjQ4MjMgNzcuODI4MiAzOS4yMTI5IDc4LjU3NTRDMzYuNTMwMiA3OC44MTgyIDMzLjg0MjMgNzguMTg3OSAzMS41NDM5IDc2Ljc4NTVDMjYuNzI0MSA3My43OTg5IDI0LjE0MDUgNjguNDI1MiAxMy4wODI5IDY2LjY2ODNDMTAuNDk5NCA2Ni41NjUgOS43NzU5OSA2NC43MDQ4IDExLjQyOTUgNjMuMzYxNEMyMi4yODA0IDU1LjE5NzQgMzEuNDM3NSA1My40ODcxIDMxLjQzNzUgNTMuNDg3MUMzMS40Mzc1IDUzLjQ4NzEgMzEuODE2OCA1My4zOTgyIDMyLjQ2MDYgNTMuMjg5NyIgc3Ryb2tlPSIjM0YzRDNEIiBzdHJva2Utd2lkdGg9IjEuMjYwOCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTEwLjgwNDIgNzEuMTA3NUMxMC44MDQyIDcxLjEwNzUgMTcuNTY2OSA3MC44NTY0IDMyLjYwOTMgODEuMjM1QzM0LjUzNTYgODIuMjA4NSAzNi43NjY4IDgzLjAxMjUgMzguOTEzMiA4Mi43ODUxQzQ1LjY4OTMgODIuMDY2OSA2MS4wMjUzIDgwLjEyMiA3NC41MjY5IDg1LjEwODMiIHN0cm9rZT0iIzNGM0QzRCIgc3Ryb2tlLXdpZHRoPSIxLjI2MDgiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CjxwYXRoIGQ9Ik0zNy4xMDQ2IDc1LjQyNzhMNDMuNDYyMiA3MS4wNzkyIiBzdHJva2U9IiMzRjNEM0QiIHN0cm9rZS13aWR0aD0iMS4yNjA4IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTAuODA0MiA3MS4xMTA0QzEwLjgwNDIgNzEuMTEwNCAxNi4yODEzIDcxLjExMDQgMzIuNjA5MyA4MS4yMzc5QzM0LjUzNTYgODIuMjExNCAzNi43NjY4IDgzLjAxNTQgMzguOTEzMiA4Mi43ODgxIiBzdHJva2U9IiMzRjNEM0QiIHN0cm9rZS13aWR0aD0iMS4yNjA4IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD0AAAAmCAYAAAB3c5OxAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAzVJREFUeAHVmVtS6kAQhjvhAI+HJcADtzfYAa7g6ArEFehZgbCCw1mBuAJ1BbIDfaOAB7IDeYXi4t/WYEHMZW5O8KuyiJNMkn+6p7tn4pEB4/G47Pv+Mw7LCt2CQqHQrlQqC9kO0+n03263u5G93vO8Qa1W+xt33icDcPNzUhPMlJfLZVelg4pgmeuNROPmr6QBvOMPZYiR6GazOYK1R6QIBqvDU4Mywkg0s91un0gDWLtLGWEsulgsDkmPa8oIY9EchXVcHJTg4h3KAGPRgnvSQER/51gRnc/nH/EjnXf3QPTlfD4vkWOsiGYXR0TWsXZptVp1yDG23JvT0CNpAGs7D2jWRHPOJg0X55zt2sWtiRb8Jw1Uy1JTrIpGoTIiDVyXpVZFm5SlWEm1yBG23Vu7LIVwZzlbWrSsJX5CWSolmldEsMSdzMroJ5SlUqJzudwtflr4vSM5TrosTRUNt+7Cyl0+5oAzmUwu0/qcelmaKFq49W2oeZDm5qdelsaK5hGP2fT7aE8TrluWuiBSNAvGiCftcvIu6EOSK2qWpUG9Xv/2wfoimi0oBKelqBaue0mxuFJZqhn1I0l6L+/wH87FcMsHUtzHRkFyBssGEQ/uiCkihbjPKNyO4LkjdYKoQYS+p0/REHyNhh4OtaInxPWq1Wo/3I77PnPUl7gFu3Yl6oSm6DgW/mw264gXG5CmYAZW6uHl5vg7D7VLlaV4vtYKTYOSv16vOS2VyRIQeRS8ZMtSl9HexxwaslvhZftkAFuKv1GF56RMWcrno2LCd/EZvfHQHh7exmFAaiw4ADUajZu4j3JprrvZbLTKVl2OUha+9L2yAJIXzpG7HRVxD4EH8PmknD0ih3zJ0+xm7KawetrHudhUFSapLMVzhi5dm4msyPgl4XIXFG9xacF74gIV501yjJd0Unx0f6HjVLYQLh2QIkhnb6F7xebmUD+beTp5lSWEXR22wTJ9A3c8Cmg2y04VUtfTYgHw4Zo8/xClB6QJ+h+5uOuovUdq5wSBja3N89wol3N2OLBukBb1D1DekEgg+CVzFQc2lKpnNqIsBu4KcaIl0pgUiCEXvJWEfr/JEPaudwlPpOcVnMnUAAAAAElFTkSuQmCC";
|
|
2
|
+
export{E,s};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxDEV as r}from"react/jsx-dev-runtime";var h={viewBox:"0 0 100 110",fill:"none",stroke:"currentColor",strokeWidth:4,strokeLinecap:"round",strokeLinejoin:"round"};function L(d){return r("svg",{...h,...d,children:[r("path",{d:"M 50 12 A 10 10 0 0 1 67 19 A 10 10 0 0 1 74 36 A 10 10 0 0 1 67 53 A 10 10 0 0 1 50 60 A 10 10 0 0 1 33 53 A 10 10 0 0 1 26 36 A 10 10 0 0 1 33 19 A 10 10 0 0 1 50 12 Z"},void 0,!1,void 0,this),r("path",{d:"M 34 24 Q 40 28 46 24",strokeWidth:"2.5"},void 0,!1,void 0,this),r("path",{d:"M 54 20 Q 60 24 66 20",strokeWidth:"2.5"},void 0,!1,void 0,this),r("path",{d:"M 30 36 Q 36 40 42 36",strokeWidth:"2.5"},void 0,!1,void 0,this),r("path",{d:"M 58 36 Q 64 40 70 36",strokeWidth:"2.5"},void 0,!1,void 0,this),r("path",{d:"M 42 30 Q 48 34 54 30",strokeWidth:"2.5"},void 0,!1,void 0,this),r("path",{d:"M 42 48 Q 48 52 54 48",strokeWidth:"2.5"},void 0,!1,void 0,this),r("path",{d:"M 46 60 L 46 84 L 54 84 L 54 60"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function e(d){return r("svg",{...h,...d,children:[r("path",{d:"M34 40 Q36 18 45 30 Q50 14 55 30 Q64 18 66 40 Q66 56 50 61 Q34 56 34 40 Z"},void 0,!1,void 0,this),r("path",{d:"M45 30 Q45 42 47 50",strokeWidth:"1.5"},void 0,!1,void 0,this),r("path",{d:"M55 30 Q55 42 53 50",strokeWidth:"1.5"},void 0,!1,void 0,this),r("path",{d:"M50 61 Q47 75 52 88 Q55 100 49 108"},void 0,!1,void 0,this),r("path",{d:"M50 82 Q38 78 26 83 Q36 89 51 85"},void 0,!1,void 0,this),r("path",{d:"M51 96 Q62 94 72 98 Q64 102 52 99"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function O(d){return r("svg",{...h,...d,children:[r("path",{d:"M32 78 L38 100 L62 100 L68 78"},void 0,!1,void 0,this),r("path",{d:"M28 78 L72 78"},void 0,!1,void 0,this),r("path",{d:"M34 88 L66 88",strokeWidth:"1.5"},void 0,!1,void 0,this),r("path",{d:"M40 78 L40 36 Q40 22 50 22 Q60 22 60 36 L60 78"},void 0,!1,void 0,this),r("path",{d:"M40 54 L26 54 Q18 54 18 44 L18 34 Q18 26 26 26"},void 0,!1,void 0,this),r("path",{d:"M60 42 L74 42 Q82 42 82 32 L82 22 Q82 14 74 14"},void 0,!1,void 0,this),r("path",{d:"M40 32 L36 30",strokeWidth:"1.5"},void 0,!1,void 0,this),r("path",{d:"M40 48 L36 46",strokeWidth:"1.5"},void 0,!1,void 0,this),r("path",{d:"M40 68 L36 66",strokeWidth:"1.5"},void 0,!1,void 0,this),r("path",{d:"M60 36 L64 34",strokeWidth:"1.5"},void 0,!1,void 0,this),r("path",{d:"M60 60 L64 58",strokeWidth:"1.5"},void 0,!1,void 0,this),r("path",{d:"M60 72 L64 70",strokeWidth:"1.5"},void 0,!1,void 0,this),r("path",{d:"M22 38 L19 36",strokeWidth:"1.5"},void 0,!1,void 0,this),r("path",{d:"M28 50 L26 52",strokeWidth:"1.5"},void 0,!1,void 0,this),r("path",{d:"M78 26 L80 24",strokeWidth:"1.5"},void 0,!1,void 0,this),r("path",{d:"M78 38 L80 40",strokeWidth:"1.5"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function t(d){return r("svg",{...h,...d,children:[r("path",{d:"M14 50 Q14 22 42 22 Q70 22 70 50 Q56 56 42 56 Q28 56 14 50 Z"},void 0,!1,void 0,this),r("path",{d:"M30 56 Q28 76 30 92 L54 92 Q56 76 54 56"},void 0,!1,void 0,this),r("ellipse",{cx:"28",cy:"38",rx:"4",ry:"3"},void 0,!1,void 0,this),r("ellipse",{cx:"48",cy:"32",rx:"3",ry:"2.5"},void 0,!1,void 0,this),r("ellipse",{cx:"58",cy:"44",rx:"3",ry:"2.5"},void 0,!1,void 0,this),r("path",{d:"M62 80 Q62 65 76 65 Q90 65 90 80 Q84 83 76 83 Q68 83 62 80 Z"},void 0,!1,void 0,this),r("path",{d:"M71 83 Q70 93 71 100 L82 100 Q83 93 82 83"},void 0,!1,void 0,this),r("ellipse",{cx:"76",cy:"73",rx:"2",ry:"1.5"},void 0,!1,void 0,this),r("path",{d:"M4 102 Q50 98 96 102",strokeWidth:"1.5"},void 0,!1,void 0,this),r("path",{d:"M8 102 L8 94",strokeWidth:"1.5"},void 0,!1,void 0,this),r("path",{d:"M6 102 L6 96",strokeWidth:"1.5"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function c(d){return r("svg",{...h,...d,children:[r("path",{d:"M30 108 Q32 80 30 50"},void 0,!1,void 0,this),r("path",{d:"M30 78 Q18 74 8 78 Q18 84 32 80"},void 0,!1,void 0,this),r("circle",{cx:"30",cy:"42",r:"5.5"},void 0,!1,void 0,this),r("g",{strokeWidth:"1.7",children:[r("path",{d:"M30 42 L30 14"},void 0,!1,void 0,this),r("path",{d:"M27 14 L33 14"},void 0,!1,void 0,this),r("path",{d:"M30 42 L12 22"},void 0,!1,void 0,this),r("path",{d:"M10 24 L14 20"},void 0,!1,void 0,this),r("path",{d:"M30 42 L48 22"},void 0,!1,void 0,this),r("path",{d:"M46 20 L50 24"},void 0,!1,void 0,this),r("path",{d:"M30 42 L6 42"},void 0,!1,void 0,this),r("path",{d:"M6 39 L6 45"},void 0,!1,void 0,this),r("path",{d:"M30 42 L54 42"},void 0,!1,void 0,this),r("path",{d:"M54 39 L54 45"},void 0,!1,void 0,this),r("path",{d:"M30 42 L12 62"},void 0,!1,void 0,this),r("path",{d:"M10 60 L14 64"},void 0,!1,void 0,this),r("path",{d:"M30 42 L48 62"},void 0,!1,void 0,this),r("path",{d:"M46 64 L50 60"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),r("g",{strokeWidth:"1.7",children:[r("path",{d:"M68 28 L68 12"},void 0,!1,void 0,this),r("path",{d:"M65 12 L71 12"},void 0,!1,void 0,this),r("path",{d:"M82 42 L82 26"},void 0,!1,void 0,this),r("path",{d:"M79 26 L85 26"},void 0,!1,void 0,this),r("path",{d:"M90 18 L90 4"},void 0,!1,void 0,this),r("path",{d:"M87 4 L93 4"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function Q(d){return r("svg",{...h,...d,children:[r("path",{d:"M14 80 Q50 72 86 80"},void 0,!1,void 0,this),r("path",{d:"M8 92 Q50 88 92 92",strokeWidth:"1.5"},void 0,!1,void 0,this),r("circle",{cx:"22",cy:"86",r:"1.5",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this),r("circle",{cx:"40",cy:"85",r:"1.5",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this),r("circle",{cx:"60",cy:"85",r:"1.5",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this),r("circle",{cx:"78",cy:"86",r:"1.5",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this),r("path",{d:"M50 80 Q52 60 50 32"},void 0,!1,void 0,this),r("path",{d:"M50 56 Q30 50 18 28 Q40 28 51 46"},void 0,!1,void 0,this),r("path",{d:"M50 56 Q38 48 28 38",strokeWidth:"1.5"},void 0,!1,void 0,this),r("path",{d:"M50 46 Q70 40 82 18 Q60 18 50 36"},void 0,!1,void 0,this),r("path",{d:"M50 46 Q62 38 72 28",strokeWidth:"1.5"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function x(d){return r("svg",{...h,...d,children:[r("path",{d:"M50 14 Q28 14 20 34 Q20 56 36 66 Q50 72 64 66 Q80 56 80 34 Q72 14 50 14 Z"},void 0,!1,void 0,this),r("path",{d:"M50 24 Q34 26 28 38 Q28 56 40 62 Q50 65 60 62 Q72 56 72 38 Q66 26 50 24"},void 0,!1,void 0,this),r("path",{d:"M50 34 Q40 36 38 44 Q38 54 46 56 Q54 56 60 50 Q60 40 50 34"},void 0,!1,void 0,this),r("path",{d:"M44 44 Q44 40 50 40 Q56 41 56 46 Q54 50 50 50 Q47 49 48 47"},void 0,!1,void 0,this),r("path",{d:"M50 72 Q48 86 50 102"},void 0,!1,void 0,this),r("path",{d:"M50 88 Q62 86 70 90 Q62 94 50 91"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function U(d){return r("svg",{...h,...d,children:[r("path",{d:"M50 105 Q48 80 50 50 Q50 30 50 10"},void 0,!1,void 0,this),r("circle",{cx:"50",cy:"14",r:"3.5"},void 0,!1,void 0,this),r("circle",{cx:"44",cy:"22",r:"3"},void 0,!1,void 0,this),r("circle",{cx:"56",cy:"22",r:"3"},void 0,!1,void 0,this),r("circle",{cx:"42",cy:"32",r:"3"},void 0,!1,void 0,this),r("circle",{cx:"50",cy:"32",r:"3"},void 0,!1,void 0,this),r("circle",{cx:"58",cy:"32",r:"3"},void 0,!1,void 0,this),r("circle",{cx:"40",cy:"42",r:"3"},void 0,!1,void 0,this),r("circle",{cx:"50",cy:"44",r:"3"},void 0,!1,void 0,this),r("circle",{cx:"60",cy:"42",r:"3"},void 0,!1,void 0,this),r("path",{d:"M50 65 Q36 60 24 66 Q36 72 51 68"},void 0,!1,void 0,this),r("path",{d:"M50 82 Q64 78 76 84 Q64 88 50 85"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}
|
|
2
|
+
export{L,e,O,t,c,Q,x,U};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var g={businessOwner:["strategyPlanning","pitchDecks","financialReports","competitiveAnalysis","infoOrganizing","justExploring"],productManager:["prds","prototyping","competitiveAnalysis","roadmapPlanning","userResearch","justExploring"],developer:["frontendDesign","vibeCoding","debugging","codeReview","justExploring"],dataAnalyst:["dashboards","trendReports","dataVisualization","deskResearch","dataModeling","justExploring"],marketer:["marketingPlans","socialContent","userResearch","adCreatives","dataAnalysis","justExploring"],investor:["portfolioTracking","dealMemos","financialAnalysis","industryAnalysis","trendReports","dueDiligence","justExploring"],designer:["prototyping","frontendDesign","brandAsset","uiComponent","mockups","justExploring"],other:["strategyPlanning","pitchDecks","vibeCoding","frontendDesign","financialAnalysis","socialContent","dataAnalysis","dataVisualization","justExploring"]};
|
|
2
|
+
export{g};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{T}from"./chunk-b5q2ys0a.js";import{basename as Q}from"@alwith/module-fs/core";import{Button as L}from"@base-ui/react/button";import{ContextMenu as p}from"@base-ui/react/context-menu";import{Menu as H}from"@base-ui/react/menu";import{Component as se,Suspense as le,useCallback as de,useEffect as _,useEffectEvent as ce,useId as ue,useMemo as oe,useRef as q,useState as O,useSyncExternalStore as me}from"react";import{jsxDEV as t,Fragment as re}from"react/jsx-dev-runtime";var Y={empty:"Select a file to open",save:"Save",saveAs:"Save as",saving:"Saving…",close:"Close",edit:"Edit",preview:"Preview",reload:"Reload",changed:"This file changed on disk. Reload before saving.",unsupported:"No preview is available for this file.",openExternal:"Open externally"},l={closeOthers:"Close others",closeRight:"Close to the right",closeSaved:"Close saved",closeAll:"Close all",copyPath:"Copy path",reveal:"Reveal in file tree"};class ne extends se{state={error:null};static getDerivedStateFromError(r){return{error:r instanceof Error?r.message:String(r)}}componentDidCatch(r){this.props.onError(r)}componentDidUpdate(r){if(r.resetKey!==this.props.resetKey&&this.state.error!==null)this.setState({error:null})}render(){return this.state.error===null?this.props.children:t("div",{className:"alwith-editor-empty",role:"alert",children:[this.props.label,t("br",{},void 0,!1,void 0,this),this.state.error]},void 0,!0,void 0,this)}}function pe({provider:r,document:n,context:k}){return r.render(n,k)}function R({renderShortcutHint:r,controller:n,tabBar:k,contentOverride:h,tabLabels:y,rootPath:E,onRevealPath:K,onReveal:P,onCopyPath:N,compactToolbar:W=!1,actionsLabel:D="More actions",labels:a=Y,previews:M=[],renderTextEditor:X,requestSaveAs:S,onOpenExternal:z,readOnly:f=!1,sourceReadOnly:x=!1,onError:C}){let s=me(n.subscribe,n.getSnapshot,n.getSnapshot),i=s.documents.find((e)=>e.id===s.activeId),F=q(null),m=ue(),c=q(null),d={...l,...y};_(()=>{let e=F.current;if(!e)return;let g=(o)=>{if(o.ctrlKey||o.metaKey||e.scrollWidth<=e.clientWidth)return;let b=Math.abs(o.deltaX)>Math.abs(o.deltaY)?o.deltaX:o.deltaY,I=o.deltaMode===1?b*16:o.deltaMode===2?b*e.clientWidth:b,V=e.scrollLeft;if(e.scrollLeft+=I,V!==e.scrollLeft)o.preventDefault()};return e.addEventListener("wheel",g,{passive:!1}),()=>e.removeEventListener("wheel",g)},[]),_(()=>{F.current?.querySelector('[aria-selected="true"]')?.scrollIntoView({block:"nearest",inline:"nearest"})},[s.activeId]);let[w,U]=O({}),B=i?.id,[v,j]=O(null),ae=de((e)=>{if(!B)return;j((g)=>e===null?g?.id===B?null:g:{id:B,node:e})},[B]);function u(e){e().catch(C)}let Z=i?.status==="loaded"?M.find((e)=>e.supports(i)):void 0,J=i?w[i.id]??(Z?"preview":"edit"):"edit",ee=f||J==="edit"&&x;function te(e,g,o=!1,b){let I=W?t(H.Item,{className:"alwith-editor-menu-item",disabled:o,onClick:g,children:e},void 0,!1,void 0,this):t(L,{type:"button",disabled:o,onClick:g,children:e},void 0,!1,void 0,this);return b&&r?r(b,e,I):I}function ie(){if(!i)return null;return t(re,{children:[i.kind==="text"&&te(i.saving?a.saving:a.save,()=>u(()=>n.save(i.id)),ee||i.locked||i.status!=="loaded"||!i.dirty||i.saving,"save"),z&&te(a.openExternal,()=>u(()=>z(i))),S&&i.kind==="text"&&te(a.saveAs,()=>u(async()=>{let e=await S(i);if(e!==null)await n.saveAs(i.id,e)}),ee||i.locked||i.status!=="loaded"||i.saving)]},void 0,!0,void 0,this)}return t("section",{className:"alwith-editor",onKeyDown:(e)=>{if((e.metaKey||e.ctrlKey)&&e.key.toLowerCase()==="s"&&i&&!h){if(e.preventDefault(),!ee&&!i.locked&&i.status==="loaded")u(()=>n.save(i.id))}},children:[k?k(m):t("div",{className:"alwith-editor-tabs",role:"tablist",ref:F,onDragOver:(e)=>{if(c.current)e.preventDefault()},onDrop:(e)=>{if(!c.current)return;e.preventDefault(),n.reorder(c.current,null),c.current=null},children:s.documents.map((e,g)=>t(p.Root,{children:[t(p.Trigger,{className:"alwith-editor-tab","data-active":e.id===s.activeId,"data-transient":!e.pinned,draggable:!0,onDragStart:(o)=>{c.current=e.id,o.dataTransfer.effectAllowed="move",o.dataTransfer.setData("text/plain",e.path)},onDragEnd:()=>{c.current=null},onDragOver:(o)=>{if(c.current)o.preventDefault()},onDrop:(o)=>{if(!c.current)return;o.preventDefault(),o.stopPropagation();let b=o.currentTarget.getBoundingClientRect(),I=o.clientX<b.left+b.width/2?e.id:s.documents[g+1]?.id??null;n.reorder(c.current,I),c.current=null},children:[t(L,{type:"button",role:"tab",id:`${m}-tab-${e.id}`,"aria-controls":`${m}-panel-${e.id}`,"aria-selected":e.id===s.activeId,tabIndex:e.id===s.activeId?0:-1,title:e.path,onClick:()=>n.activate(e.id),onDoubleClick:()=>n.pin(e.id),onKeyDown:(o)=>{let b=o.key==="ArrowRight"?1:o.key==="ArrowLeft"?-1:0,I=o.key==="Home"?0:o.key==="End"?s.documents.length-1:b?(g+b+s.documents.length)%s.documents.length:null;if(I===null)return;o.preventDefault();let V=s.documents[I];if(V)n.activate(V.id),globalThis.document.getElementById(`${m}-tab-${V.id}`)?.focus()},children:[Q(e.path),e.dirty?" •":""]},void 0,!0,void 0,this),t(L,{type:"button","aria-label":`${a.close} ${Q(e.path)}`,onClick:()=>u(()=>n.requestClose(e.id)),children:"×"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),t(p.Portal,{children:t(p.Positioner,{children:t(p.Popup,{className:"alwith-editor-menu",children:[t(p.Item,{className:"alwith-editor-menu-item",onClick:()=>u(()=>n.requestClose(e.id)),children:a.close},void 0,!1,void 0,this),t(p.Item,{className:"alwith-editor-menu-item",disabled:s.documents.length<2,onClick:()=>u(()=>n.requestCloseMany(s.documents.filter((o)=>o.id!==e.id).map((o)=>o.id))),children:d.closeOthers},void 0,!1,void 0,this),t(p.Item,{className:"alwith-editor-menu-item",disabled:g===s.documents.length-1,onClick:()=>u(()=>n.requestCloseMany(s.documents.slice(g+1).map((o)=>o.id))),children:d.closeRight},void 0,!1,void 0,this),t(p.Item,{className:"alwith-editor-menu-item",disabled:!s.documents.some((o)=>!o.dirty),onClick:()=>u(()=>n.requestCloseMany(s.documents.filter((o)=>!o.dirty).map((o)=>o.id))),children:d.closeSaved},void 0,!1,void 0,this),t(p.Item,{className:"alwith-editor-menu-item",onClick:()=>u(()=>n.requestCloseMany(s.documents.map((o)=>o.id))),children:d.closeAll},void 0,!1,void 0,this),N&&t(p.Item,{className:"alwith-editor-menu-item",onClick:()=>u(()=>N(e)),children:d.copyPath},void 0,!1,void 0,this),P&&t(p.Item,{className:"alwith-editor-menu-item",onClick:()=>u(()=>P(e)),children:d.reveal},void 0,!1,void 0,this),t(p.Separator,{className:"alwith-editor-menu-separator"},void 0,!1,void 0,this),e.kind==="text"&&t(p.Item,{className:"alwith-editor-menu-item",disabled:f||x||e.locked||e.status!=="loaded"||!e.dirty||e.saving,onClick:()=>u(()=>n.save(e.id)),children:e.saving?a.saving:a.save},void 0,!1,void 0,this),S&&e.kind==="text"&&t(p.Item,{className:"alwith-editor-menu-item",disabled:f||x||e.locked||e.status!=="loaded"||e.saving,onClick:()=>u(async()=>{let o=await S(e);if(o!==null)await n.saveAs(e.id,o)}),children:a.saveAs},void 0,!1,void 0,this),z&&t(p.Item,{className:"alwith-editor-menu-item",onClick:()=>u(()=>z(e)),children:a.openExternal},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},e.id,!0,void 0,this))},void 0,!1,void 0,this),h?h(m):i?t(re,{children:[t("div",{className:"alwith-editor-toolbar",children:[t(ge,{path:i.path,rootPath:E,onRevealPath:K,onError:C},void 0,!1,void 0,this),t("div",{className:"alwith-editor-toolbar-actions",children:[J==="preview"&&v?.id===i.id&&v.node,Z&&i.kind==="text"&&t(T,{mode:J,preview:a.preview,source:a.source??"Source",label:a.viewMode??"View mode",onModeChange:(e)=>U((g)=>({...g,[i.id]:e}))},void 0,!1,void 0,this),W?Z&&i.kind==="text"?null:t(H.Root,{children:[t(H.Trigger,{"aria-label":D,title:D,children:"⋯"},void 0,!1,void 0,this),t(H.Portal,{children:t(H.Positioner,{sideOffset:4,children:t(H.Popup,{className:"alwith-editor-menu",children:ie()},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):ie()]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),i.externalChange&&t("div",{className:"alwith-editor-notice",role:"status",children:[a.changed,t(L,{type:"button",onClick:()=>u(()=>n.reload(i.id)),children:a.reload},void 0,!1,void 0,this)]},void 0,!0,void 0,this),t("div",{className:"alwith-editor-content",role:"tabpanel",id:`${m}-panel-${i.id}`,"aria-labelledby":`${m}-tab-${i.id}`,children:i.status==="error"?t("div",{className:"alwith-editor-empty",role:"alert",children:[t("p",{children:a.loadFailed??"Unable to load file"},void 0,!1,void 0,this),t("p",{children:i.loadError},void 0,!1,void 0,this),t(L,{onClick:()=>u(()=>n.ensureLoaded(i.id)),children:a.retry??"Retry"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):i.status!=="loaded"?t("div",{className:"alwith-editor-empty",role:"status","aria-busy":"true",children:a.loading??"Loading…"},void 0,!1,void 0,this):Z&&(J==="preview"||i.kind==="binary")?t(ne,{resetKey:i.version,label:a.unsupported,onError:C,children:t(le,{fallback:t("div",{"aria-busy":"true"},void 0,!1,void 0,this),children:t(pe,{provider:Z,document:i,context:{setToolbarActions:ae,readOnly:f||i.locked,onChange:(e)=>n.update(i.id,e),onSave:()=>u(()=>n.save(i.id)),onError:C}},void 0,!1,void 0,this)},void 0,!1,void 0,this)},`${i.id}:${Z.id}`,!1,void 0,this):i.kind==="text"?X?X({document:i,readOnly:f||x||i.locked,onChange:(e)=>n.update(i.id,e),onSave:()=>{if(!f&&!x&&!i.locked)u(()=>n.save(i.id))}}):t("textarea",{"aria-label":Q(i.path),className:"alwith-editor-text",spellCheck:!1,readOnly:f||x||i.locked,value:i.text,onChange:(e)=>n.update(i.id,e.target.value)},void 0,!1,void 0,this):t("div",{className:"alwith-editor-empty",children:a.unsupported},void 0,!1,void 0,this)},i.id,!1,void 0,this)]},void 0,!0,void 0,this):t("div",{className:"alwith-editor-empty",children:a.empty},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function ge({path:r,rootPath:n,onRevealPath:k,onError:h}){let y=n?.replace(/\/$/,""),K=(y&&r.startsWith(`${y}/`)?r.slice(y.length+1):r).split("/").filter(Boolean),P=y&&r.startsWith(`${y}/`)?y:r.startsWith("/")?"":void 0;return t("nav",{className:"alwith-editor-breadcrumbs","aria-label":"File path",title:r,children:K.map((N,W)=>{P=P===void 0?N:`${P}/${N}`;let D=P;return t("span",{children:[W>0&&t("span",{"aria-hidden":"true",className:"alwith-editor-breadcrumb-separator",children:"›"},void 0,!1,void 0,this),k?t(L,{type:"button",onClick:()=>{k(D).catch(h)},children:N},void 0,!1,void 0,this):N]},D,!0,void 0,this)})},void 0,!1,void 0,this)}var he={failed:"Unable to display this image",zoomIn:"Zoom in",zoomOut:"Zoom out",resetZoom:"Reset zoom"};function A({document:r,labels:n,onError:k}){let h={...he,...n},y=oe(()=>/\.svg$/i.test(r.path)&&r.kind==="text"?new TextEncoder().encode(r.text):r.bytes,[r.text,r.bytes,r.path,r.kind]),E=oe(()=>({bytes:y,path:r.path,id:r.id,version:r.version}),[y,r.path,r.id,r.version]),[K,P]=O(null),[N,W]=O(null),D=K?.source===E?K.url:null,a=N===E,[M,X]=O(1),[S,z]=O({width:0,height:0}),f=q(null),x=q(null),C=q(1);function s(m,c){let d=Math.min(4,Math.max(0.25,m)),w=f.current,U=x.current?.getBoundingClientRect(),B=w?.getBoundingClientRect(),v=w&&U&&B?{x:c?.x??B.left+w.clientWidth/2,y:c?.y??B.top+w.clientHeight/2,imageX:0,imageY:0}:null;if(v&&U)v.imageX=(v.x-U.left)/C.current,v.imageY=(v.y-U.top)/C.current;if(C.current=d,X(d),v&&w)requestAnimationFrame(()=>{let j=x.current?.getBoundingClientRect();if(!j)return;w.scrollLeft+=j.left+v.imageX*d-v.x,w.scrollTop+=j.top+v.imageY*d-v.y})}let i=q(s);i.current=s,_(()=>{let m=f.current;if(!m)return;let c=(d)=>{if(!d.ctrlKey&&!d.metaKey)return;d.preventDefault(),i.current(C.current*Math.exp(-d.deltaY*0.002),{x:d.clientX,y:d.clientY})};return m.addEventListener("wheel",c,{passive:!1}),()=>m.removeEventListener("wheel",c)},[]);let F=ce(()=>r.path);return _(()=>{let m=F().split(".").pop()?.toLowerCase(),c=m==="svg"?"image/svg+xml":m==="ico"?"image/x-icon":void 0,d=URL.createObjectURL(new Blob([new Uint8Array(E.bytes)],{type:c}));return P({source:E,url:d}),W(null),z({width:0,height:0}),X(1),C.current=1,()=>URL.revokeObjectURL(d)},[E]),t("div",{className:"alwith-editor-image-preview",children:[t("div",{className:"alwith-editor-image-controls",children:[t(L,{"aria-label":h.zoomOut,title:h.zoomOut,disabled:a||M<=0.25,onClick:()=>s(M/1.25),children:"−"},void 0,!1,void 0,this),t(L,{"aria-label":h.resetZoom,title:h.resetZoom,disabled:a,onClick:()=>s(1),children:[Math.round(M*100),"%"]},void 0,!0,void 0,this),t(L,{"aria-label":h.zoomIn,title:h.zoomIn,disabled:a||M>=4,onClick:()=>s(M*1.25),children:"+"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),t("div",{className:"alwith-editor-image-viewport",ref:f,onDoubleClick:()=>s(1),children:a?t("div",{className:"alwith-editor-empty",role:"alert",children:h.failed},void 0,!1,void 0,this):D&&t("div",{className:"alwith-editor-image-canvas",children:t("img",{ref:x,className:"alwith-editor-image",src:D,alt:Q(r.path),style:S.width?{width:S.width*M,height:S.height*M}:void 0,onLoad:(m)=>{let c=f.current,d=m.currentTarget,w=c?Math.min(1,(c.clientWidth-40)/d.naturalWidth,(c.clientHeight-40)/d.naturalHeight):1;z({width:d.naturalWidth*Math.max(0.01,w),height:d.naturalHeight*Math.max(0.01,w)})},onError:()=>{W(E),k?.(Error(`Unable to decode image: ${r.path}`))}},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var G={id:"image",supports:(r)=>/\.(png|jpe?g|webp|gif|bmp|avif|svg|ico)$/i.test(r.path),render:(r,n)=>t(A,{document:r,onError:n.onError},void 0,!1,void 0,this)};
|
|
2
|
+
export{Y,l,R,A,G};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var d={mp3:"audio/mpeg",mp4:"video/mp4",m4a:"audio/mp4",m4v:"video/x-m4v",aac:"audio/aac",wav:"audio/wav",wave:"audio/wav",ogg:"audio/ogg",oga:"audio/ogg",ogv:"video/ogg",webm:"video/webm",mov:"video/quicktime",flac:"audio/flac",opus:"audio/opus",aiff:"audio/aiff",aif:"audio/aiff"};function i(o){let e=o.split(".").at(-1).toLowerCase(),a=d[e];if(!a)throw Error(`Unsupported media preview: ${o}`);return a}
|
|
2
|
+
export{i};
|
package/dist/core.js
CHANGED
|
@@ -1,8 +1 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`};let h=p.includes(`\r
|
|
3
|
-
`)?`\r
|
|
4
|
-
`:`
|
|
5
|
-
`;return{kind:"text",text:p,encoding:a,bom:f>0,eol:h}}catch(p){if(!(p instanceof TypeError))throw p;return{kind:"binary",text:"",encoding:a,bom:f>0,eol:`
|
|
6
|
-
`}}}function j(d){let a=d.eol===`\r
|
|
7
|
-
`?d.text.replaceAll(/(?<!\r)\n/g,`\r
|
|
8
|
-
`):d.text;if(d.encoding==="utf-8"){let r=new TextEncoder().encode(a);if(!d.bom)return r;let w=new Uint8Array(r.length+3);return w.set([239,187,191]),w.set(r,3),w}let f=d.bom?2:0,p=new Uint8Array(a.length*2+f),h=new DataView(p.buffer),g=d.encoding==="utf-16le";if(d.bom)h.setUint16(0,65279,g);for(let r=0;r<a.length;r++)h.setUint16(f+r*2,a.charCodeAt(r),g);return p}function O(d){let{fs:a,confirmClose:f,reportError:p}=d,h=d.maxFileBytes??16777216,g=d.maxCleanDocuments??12,r={documents:[],activeId:null,selectionRevision:0},w=!1,E=new Set,b=new Map,k=new Map,R=new Map,z=0;function m(){for(let e of E)e()}function c(e){let n=r.documents.find((t)=>t.id===e);if(!n)throw Error(`Unknown document: ${e}`);return n}function C(e,n){let t=e.status==="loaded"?e.text!==n.text||e.bytes.length!==n.bytes.length||e.bytes.some((o,s)=>o!==n.bytes[s]):e.version!==n.version;return e.contentRevision+(t?1:0)}function u(e,n){r={...r,documents:r.documents.map((t)=>t.id===e?{...t,...n}:t)},m()}function v(){let e=r.documents.filter((t)=>t.status==="loaded"&&!t.dirty&&!t.saving&&!t.locked).toSorted((t,o)=>R.get(t.id)-R.get(o.id)),n=e.length-Math.max(1,g);for(let t of e){if(n<=0)break;if(t.id===r.activeId)continue;u(t.id,{status:"deferred",text:"",savedText:"",bytes:new Uint8Array,loadError:null}),n--}}function F(e){if(w)return Promise.reject(Error("Editor is disposed"));let n=c(e),t=k.get(e);if(t)return t;if(n.status==="loaded")return Promise.resolve();u(e,{status:"loading",loadError:null});let o=a.transaction(async()=>{try{let s=await y(c(e).path);if(w)throw Error("Editor was disposed while loading");let i=r.documents.find((l)=>l.id===e);if(!i)return;u(e,{...s,id:e,path:i.path,pinned:i.pinned,contentRevision:C(i,s),locked:i.locked,saving:i.saving}),v()}catch(s){if(!w&&r.documents.some((i)=>i.id===e))u(e,{status:"error",loadError:s instanceof Error?s.message:String(s)});throw s}});return k.set(e,o),o.then(()=>k.delete(e),()=>k.delete(e)),o}function M(e,n=!0){if(c(e),R.set(e,++z),r={...r,activeId:e,selectionRevision:(r.selectionRevision??0)+(n?1:0)},m(),v(),c(e).status!=="loaded")F(e).catch(p)}function U(e){let n=r.documents.findIndex((o)=>o.id===e),t=r.documents.filter((o)=>o.id!==e);if(r={...r,documents:t,activeId:r.activeId===e?t.length===0?null:t[Math.min(n,t.length-1)].id:r.activeId},R.delete(e),m(),r.activeId!==null)M(r.activeId,!1)}async function y(e){let n=await a.stat(e);if(n?.kind!=="file")throw Error("File is unavailable");if(n.size>h)throw Error(`File exceeds the ${Math.round(h/1024/1024)} MiB limit`);let t=await a.readFile(e),o=await a.stat(e);if(o?.version!==n.version)throw Error("File changed while opening; reopen it");let s=V(t);if(/\.(pdf|docx?|xlsx?|pptx?|zip|gz|tar|7z|rar|mp[34]|wav|ogg|webm|mov|exe|dll|wasm)$/i.test(e))s.kind="binary",s.text="";return{...s,id:crypto.randomUUID(),path:e,bytes:t,savedText:s.text,version:o.version,dirty:!1,saving:!1,locked:!1,externalChange:!1,status:"loaded",loadError:null,pinned:!1,contentRevision:0}}async function I(e,n,t){if(c(e).locked)throw Error("Document is locked by a file operation");if(c(e).status!=="loaded"){u(e,{status:"loading",loadError:null});try{let l=await y(c(e).path),T=c(e);u(e,{...l,id:e,pinned:T.pinned,contentRevision:C(T,l)})}catch(l){throw u(e,{status:"error",loadError:l instanceof Error?l.message:String(l)}),l}}let o=c(e);if(o.locked)throw Error("Document is locked by a file operation");if(o.kind!=="text")throw Error("Binary documents cannot be saved as text");if(!o.dirty&&t===void 0){v();return}let s=t===void 0?o.path:A(t),i=j(o);u(e,{saving:!0});try{await n.writeFile(s,i,t===void 0?{mode:"replace",expectedVersion:o.version}:{mode:"create"});let l=await n.stat(s);if(!l)throw Error("Saved file is no longer available");u(e,{path:s,version:l.version,savedText:o.text,dirty:c(e).text!==o.text,bytes:i,externalChange:!1})}finally{u(e,{saving:!1}),v()}}async function D(e,n,t){let o=c(e);if(!o.dirty)return!0;let s=await f(o,n);if(s==="cancel")return!1;if(s==="save")if(t)await I(e,t);else await S.save(e);let i=c(e);return i.contentRevision===o.contentRevision&&(s!=="save"||!i.dirty)}let P=a.subscribe((e)=>{if(e.type==="move")r={...r,documents:r.documents.map((n)=>({...n,path:q(n.path,e.path,e.to)}))},m();else if(e.type==="remove"){for(let n of r.documents)if(x(e.path,n.path))U(n.id)}else{let n=e.type==="change"?e.paths:[e.path];a.transaction(async()=>{for(let t of r.documents){if(!n.some((i)=>x(i,t.path)))continue;let o=await a.stat(t.path),s=r.documents.find((i)=>i.id===t.id);if(!s||s.saving||o!==null&&o.version===s.version)continue;if(s.dirty||o===null)u(s.id,{externalChange:!0});else if(s.status!=="loaded")u(s.id,{version:o.version,externalChange:!1,contentRevision:s.contentRevision+1});else{let i=await y(s.path),l=r.documents.find((T)=>T.id===s.id);if(!l)continue;if(l.text!==s.text||l.dirty)u(l.id,{externalChange:!0});else u(s.id,{...i,id:s.id,pinned:l.pinned,contentRevision:C(l,i)})}}}).catch(p)}}),B=a.beforeMutation(async(e,n)=>{if(!await S.prepareMutation(e,n))return!1;if(e.type!=="remove")return!0;let t=new Set(r.documents.filter((o)=>x(e.path,o.path)).map((o)=>o.id));return r={...r,documents:r.documents.map((o)=>t.has(o.id)?{...o,locked:!0}:o)},m(),{allow:!0,release(){r={...r,documents:r.documents.map((o)=>t.has(o.id)?{...o,locked:!1}:o)},m()}}}),S={getSnapshot:()=>r,subscribe(e){return E.add(e),()=>{E.delete(e)}},async open(e){if(w)throw Error("Editor is disposed");let n=A(e),t=r.documents.find((i)=>i.path===n);if(t)return M(t.id),await F(t.id),c(t.id);let o=b.get(n);if(o)return o;let s=a.transaction(async()=>{let i=await y(n);if(w)throw Error("Editor was disposed while opening");return r={...r,documents:[...r.documents,i]},M(i.id),i});b.set(n,s);try{return await s}finally{b.delete(n)}},activate:M,ensureLoaded:F,pin(e){c(e),u(e,{pinned:!0})},reorder(e,n){let t=c(e);if(n===e)return;if(n!==null)c(n);let o=r.documents.filter((i)=>i.id!==e),s=n===null?o.length:o.findIndex((i)=>i.id===n);o.splice(s,0,t),r={...r,documents:o},m()},async requestCloseMany(e){for(let n of[...new Set(e)]){if(!r.documents.some((t)=>t.id===n))continue;if(!await S.requestClose(n))return!1}return!0},update(e,n){let t=c(e);if(t.status!=="loaded")throw Error("Document content is not loaded");if(t.kind!=="text")throw Error("Document is read-only");if(t.locked)throw Error("Document is locked by a file operation");u(e,{text:n,dirty:n!==t.savedText,pinned:!0,contentRevision:t.contentRevision+(n!==t.text?1:0)}),v()},async save(e){await a.transaction((n)=>I(e,n))},async saveAs(e,n){await a.transaction((t)=>I(e,t,n))},async reload(e){return a.transaction(async(n)=>{if(!await D(e,"reload",n))return!1;let t=c(e),o=await y(t.path);if(c(e).contentRevision!==t.contentRevision)return!1;return u(e,{...o,id:e,pinned:t.pinned,contentRevision:C(t,o)}),v(),!0})},async requestClose(e){return a.transaction(async(n)=>{if(c(e).locked||c(e).saving)return!1;if(!await D(e,"close",n))return!1;return U(e),!0})},async prepareMutation(e,n){if(e.type!=="remove")return!0;let t=r.documents.filter((s)=>x(e.path,s.path)),o=new Map;for(let s of t){let i=c(s.id);if(!await D(s.id,"delete",n))return!1;o.set(s.id,i.contentRevision)}return r.documents.filter((s)=>x(e.path,s.path)).every((s)=>o.get(s.id)===s.contentRevision)},async prepareShutdown(){return a.transaction(async(e)=>{let n=new Map;for(let t of r.documents){let o=c(t.id);if(!await D(t.id,"shutdown",e))return!1;n.set(t.id,o.contentRevision)}return r.documents.every((t)=>n.get(t.id)===t.contentRevision)})},dispose(){w=!0,P(),B(),E.clear(),b.clear()}};return S}export{O as createEditorController,V as decodeText,j as encodeText};
|
|
1
|
+
import{a,w,m}from"./chunk-6nvrc7p7.js";export{m as createEditorController,a as decodeText,w as encodeText};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
|
-
import type { EditorShortcutRenderer } from "./shortcut-hint
|
|
3
|
-
export type { EditorShortcutRenderer } from "./shortcut-hint
|
|
4
|
-
import type { EditorController, EditorDocument } from "./core
|
|
5
|
-
export * from "./core
|
|
6
|
-
export * from "./workspace
|
|
7
|
-
export * from "./workspace-tabs
|
|
2
|
+
import type { EditorShortcutRenderer } from "./shortcut-hint";
|
|
3
|
+
export type { EditorShortcutRenderer } from "./shortcut-hint";
|
|
4
|
+
import type { EditorController, EditorDocument } from "./core";
|
|
5
|
+
export * from "./core";
|
|
6
|
+
export * from "./workspace";
|
|
7
|
+
export * from "./workspace-tabs";
|
|
8
8
|
export interface TextEditorProps {
|
|
9
9
|
document: EditorDocument;
|
|
10
10
|
onChange: (text: string) => void;
|
|
@@ -85,5 +85,5 @@ export declare function ImagePreview({ document, labels: overrides, onError }: {
|
|
|
85
85
|
onError?: (error: unknown) => void;
|
|
86
86
|
}): ReactNode;
|
|
87
87
|
export declare const imagePreview: PreviewProvider;
|
|
88
|
-
export * from "./new-tab
|
|
89
|
-
export { quickStartAssets } from "./quick-start-assets
|
|
88
|
+
export * from "./new-tab";
|
|
89
|
+
export { quickStartAssets } from "./quick-start-assets";
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as i,jsxs as h,Fragment as Q}from"react/jsx-runtime";import{basename as H}from"@alwith/module-fs/core";import{Button as L}from"@base-ui/react/button";import{ContextMenu as m}from"@base-ui/react/context-menu";import{Menu as U}from"@base-ui/react/menu";import{Component as ie,Suspense as ae,useCallback as re,useEffect as _,useEffectEvent as ne,useId as se,useMemo as O,useRef as B,useState as j,useSyncExternalStore as le}from"react";import{PreviewSourceModeToggle as oe}from"./preview-source-mode-toggle.js";export*from"./core.js";export*from"./workspace.js";export*from"./workspace-tabs.js";export*from"./new-tab.js";import{quickStartAssets as Se}from"./quick-start-assets.js";var de={empty:"Select a file to open",save:"Save",saveAs:"Save as",saving:"Saving…",close:"Close",edit:"Edit",preview:"Preview",reload:"Reload",changed:"This file changed on disk. Reload before saving.",unsupported:"No preview is available for this file.",openExternal:"Open externally"},ce={closeOthers:"Close others",closeRight:"Close to the right",closeSaved:"Close saved",closeAll:"Close all",copyPath:"Copy path",reveal:"Reveal in file tree"};class ee extends ie{state={error:null};static getDerivedStateFromError(r){return{error:r instanceof Error?r.message:String(r)}}componentDidCatch(r){this.props.onError(r)}componentDidUpdate(r){if(r.resetKey!==this.props.resetKey&&this.state.error!==null)this.setState({error:null})}render(){return this.state.error===null?this.props.children:h("div",{className:"alwith-editor-empty",role:"alert",children:[this.props.label,i("br",{}),this.state.error]})}}function ue({provider:r,document:n,context:x}){return r.render(n,x)}function Ce({renderShortcutHint:r,controller:n,tabBar:x,contentOverride:f,tabLabels:y,rootPath:N,onRevealPath:T,onReveal:I,onCopyPath:D,compactToolbar:A=!1,actionsLabel:S="More actions",labels:s=de,previews:E=[],renderTextEditor:F,requestSaveAs:P,onOpenExternal:z,readOnly:v=!1,sourceReadOnly:k=!1,onError:C}){let l=le(n.subscribe,n.getSnapshot,n.getSnapshot),t=l.documents.find((e)=>e.id===l.activeId),Z=B(null),u=se(),d=B(null),o={...ce,...y};_(()=>{let e=Z.current;if(!e)return;let p=(a)=>{if(a.ctrlKey||a.metaKey||e.scrollWidth<=e.clientWidth)return;let b=Math.abs(a.deltaX)>Math.abs(a.deltaY)?a.deltaX:a.deltaY,M=a.deltaMode===1?b*16:a.deltaMode===2?b*e.clientWidth:b,Y=e.scrollLeft;if(e.scrollLeft+=M,Y!==e.scrollLeft)a.preventDefault()};return e.addEventListener("wheel",p,{passive:!1}),()=>e.removeEventListener("wheel",p)},[]),_(()=>{Z.current?.querySelector('[aria-selected="true"]')?.scrollIntoView({block:"nearest",inline:"nearest"})},[l.activeId]);let[w,K]=j({}),R=t?.id,[g,X]=j(null),te=re((e)=>{if(!R)return;X((p)=>e===null?p?.id===R?null:p:{id:R,node:e})},[R]);function c(e){e().catch(C)}let W=t?.status==="loaded"?E.find((e)=>e.supports(t)):void 0,q=t?w[t.id]??(W?"preview":"edit"):"edit",V=v||q==="edit"&&k;function G(e,p,a=!1,b){let M=A?i(U.Item,{className:"alwith-editor-menu-item",disabled:a,onClick:p,children:e}):i(L,{type:"button",disabled:a,onClick:p,children:e});return b&&r?r(b,e,M):M}function J(){if(!t)return null;return h(Q,{children:[t.kind==="text"&&G(t.saving?s.saving:s.save,()=>c(()=>n.save(t.id)),V||t.locked||t.status!=="loaded"||!t.dirty||t.saving,"save"),z&&G(s.openExternal,()=>c(()=>z(t))),P&&t.kind==="text"&&G(s.saveAs,()=>c(async()=>{let e=await P(t);if(e!==null)await n.saveAs(t.id,e)}),V||t.locked||t.status!=="loaded"||t.saving)]})}return h("section",{className:"alwith-editor",onKeyDown:(e)=>{if((e.metaKey||e.ctrlKey)&&e.key.toLowerCase()==="s"&&t&&!f){if(e.preventDefault(),!V&&!t.locked&&t.status==="loaded")c(()=>n.save(t.id))}},children:[x?x(u):i("div",{className:"alwith-editor-tabs",role:"tablist",ref:Z,onDragOver:(e)=>{if(d.current)e.preventDefault()},onDrop:(e)=>{if(!d.current)return;e.preventDefault(),n.reorder(d.current,null),d.current=null},children:l.documents.map((e,p)=>h(m.Root,{children:[h(m.Trigger,{className:"alwith-editor-tab","data-active":e.id===l.activeId,"data-transient":!e.pinned,draggable:!0,onDragStart:(a)=>{d.current=e.id,a.dataTransfer.effectAllowed="move",a.dataTransfer.setData("text/plain",e.path)},onDragEnd:()=>{d.current=null},onDragOver:(a)=>{if(d.current)a.preventDefault()},onDrop:(a)=>{if(!d.current)return;a.preventDefault(),a.stopPropagation();let b=a.currentTarget.getBoundingClientRect(),M=a.clientX<b.left+b.width/2?e.id:l.documents[p+1]?.id??null;n.reorder(d.current,M),d.current=null},children:[h(L,{type:"button",role:"tab",id:`${u}-tab-${e.id}`,"aria-controls":`${u}-panel-${e.id}`,"aria-selected":e.id===l.activeId,tabIndex:e.id===l.activeId?0:-1,title:e.path,onClick:()=>n.activate(e.id),onDoubleClick:()=>n.pin(e.id),onKeyDown:(a)=>{let b=a.key==="ArrowRight"?1:a.key==="ArrowLeft"?-1:0,M=a.key==="Home"?0:a.key==="End"?l.documents.length-1:b?(p+b+l.documents.length)%l.documents.length:null;if(M===null)return;a.preventDefault();let Y=l.documents[M];if(Y)n.activate(Y.id),globalThis.document.getElementById(`${u}-tab-${Y.id}`)?.focus()},children:[H(e.path),e.dirty?" •":""]}),i(L,{type:"button","aria-label":`${s.close} ${H(e.path)}`,onClick:()=>c(()=>n.requestClose(e.id)),children:"×"})]}),i(m.Portal,{children:i(m.Positioner,{children:h(m.Popup,{className:"alwith-editor-menu",children:[i(m.Item,{className:"alwith-editor-menu-item",onClick:()=>c(()=>n.requestClose(e.id)),children:s.close}),i(m.Item,{className:"alwith-editor-menu-item",disabled:l.documents.length<2,onClick:()=>c(()=>n.requestCloseMany(l.documents.filter((a)=>a.id!==e.id).map((a)=>a.id))),children:o.closeOthers}),i(m.Item,{className:"alwith-editor-menu-item",disabled:p===l.documents.length-1,onClick:()=>c(()=>n.requestCloseMany(l.documents.slice(p+1).map((a)=>a.id))),children:o.closeRight}),i(m.Item,{className:"alwith-editor-menu-item",disabled:!l.documents.some((a)=>!a.dirty),onClick:()=>c(()=>n.requestCloseMany(l.documents.filter((a)=>!a.dirty).map((a)=>a.id))),children:o.closeSaved}),i(m.Item,{className:"alwith-editor-menu-item",onClick:()=>c(()=>n.requestCloseMany(l.documents.map((a)=>a.id))),children:o.closeAll}),D&&i(m.Item,{className:"alwith-editor-menu-item",onClick:()=>c(()=>D(e)),children:o.copyPath}),I&&i(m.Item,{className:"alwith-editor-menu-item",onClick:()=>c(()=>I(e)),children:o.reveal}),i(m.Separator,{className:"alwith-editor-menu-separator"}),e.kind==="text"&&i(m.Item,{className:"alwith-editor-menu-item",disabled:v||k||e.locked||e.status!=="loaded"||!e.dirty||e.saving,onClick:()=>c(()=>n.save(e.id)),children:e.saving?s.saving:s.save}),P&&e.kind==="text"&&i(m.Item,{className:"alwith-editor-menu-item",disabled:v||k||e.locked||e.status!=="loaded"||e.saving,onClick:()=>c(async()=>{let a=await P(e);if(a!==null)await n.saveAs(e.id,a)}),children:s.saveAs}),z&&i(m.Item,{className:"alwith-editor-menu-item",onClick:()=>c(()=>z(e)),children:s.openExternal})]})})})]},e.id))}),f?f(u):t?h(Q,{children:[h("div",{className:"alwith-editor-toolbar",children:[i(he,{path:t.path,rootPath:N,onRevealPath:T,onError:C}),h("div",{className:"alwith-editor-toolbar-actions",children:[q==="preview"&&g?.id===t.id&&g.node,W&&t.kind==="text"&&i(oe,{mode:q,preview:s.preview,source:s.source??"Source",label:s.viewMode??"View mode",onModeChange:(e)=>K((p)=>({...p,[t.id]:e}))}),A?W&&t.kind==="text"?null:h(U.Root,{children:[i(U.Trigger,{"aria-label":S,title:S,children:"⋯"}),i(U.Portal,{children:i(U.Positioner,{sideOffset:4,children:i(U.Popup,{className:"alwith-editor-menu",children:J()})})})]}):J()]})]}),t.externalChange&&h("div",{className:"alwith-editor-notice",role:"status",children:[s.changed,i(L,{type:"button",onClick:()=>c(()=>n.reload(t.id)),children:s.reload})]}),i("div",{className:"alwith-editor-content",role:"tabpanel",id:`${u}-panel-${t.id}`,"aria-labelledby":`${u}-tab-${t.id}`,children:t.status==="error"?h("div",{className:"alwith-editor-empty",role:"alert",children:[i("p",{children:s.loadFailed??"Unable to load file"}),i("p",{children:t.loadError}),i(L,{onClick:()=>c(()=>n.ensureLoaded(t.id)),children:s.retry??"Retry"})]}):t.status!=="loaded"?i("div",{className:"alwith-editor-empty",role:"status","aria-busy":"true",children:s.loading??"Loading…"}):W&&(q==="preview"||t.kind==="binary")?i(ee,{resetKey:t.version,label:s.unsupported,onError:C,children:i(ae,{fallback:i("div",{"aria-busy":"true"}),children:i(ue,{provider:W,document:t,context:{setToolbarActions:te,readOnly:v||t.locked,onChange:(e)=>n.update(t.id,e),onSave:()=>c(()=>n.save(t.id)),onError:C}})})},`${t.id}:${W.id}`):t.kind==="text"?F?F({document:t,readOnly:v||k||t.locked,onChange:(e)=>n.update(t.id,e),onSave:()=>{if(!v&&!k&&!t.locked)c(()=>n.save(t.id))}}):i("textarea",{"aria-label":H(t.path),className:"alwith-editor-text",spellCheck:!1,readOnly:v||k||t.locked,value:t.text,onChange:(e)=>n.update(t.id,e.target.value)}):i("div",{className:"alwith-editor-empty",children:s.unsupported})},t.id)]}):i("div",{className:"alwith-editor-empty",children:s.empty})]})}function he({path:r,rootPath:n,onRevealPath:x,onError:f}){let y=n?.replace(/\/$/,""),T=(y&&r.startsWith(`${y}/`)?r.slice(y.length+1):r).split("/").filter(Boolean),I=y&&r.startsWith(`${y}/`)?y:r.startsWith("/")?"":void 0;return i("nav",{className:"alwith-editor-breadcrumbs","aria-label":"File path",title:r,children:T.map((D,A)=>{I=I===void 0?D:`${I}/${D}`;let S=I;return h("span",{children:[A>0&&i("span",{"aria-hidden":"true",className:"alwith-editor-breadcrumb-separator",children:"›"}),x?i(L,{type:"button",onClick:()=>{x(S).catch(f)},children:D}):D]},S)})})}var me={failed:"Unable to display this image",zoomIn:"Zoom in",zoomOut:"Zoom out",resetZoom:"Reset zoom"};function pe({document:r,labels:n,onError:x}){let f={...me,...n},y=O(()=>/\.svg$/i.test(r.path)&&r.kind==="text"?new TextEncoder().encode(r.text):r.bytes,[r.text,r.bytes,r.path,r.kind]),N=O(()=>({bytes:y,path:r.path,id:r.id,version:r.version}),[y,r.path,r.id,r.version]),[T,I]=j(null),[D,A]=j(null),S=T?.source===N?T.url:null,s=D===N,[E,F]=j(1),[P,z]=j({width:0,height:0}),v=B(null),k=B(null),C=B(1);function l(u,d){let o=Math.min(4,Math.max(0.25,u)),w=v.current,K=k.current?.getBoundingClientRect(),R=w?.getBoundingClientRect(),g=w&&K&&R?{x:d?.x??R.left+w.clientWidth/2,y:d?.y??R.top+w.clientHeight/2,imageX:0,imageY:0}:null;if(g&&K)g.imageX=(g.x-K.left)/C.current,g.imageY=(g.y-K.top)/C.current;if(C.current=o,F(o),g&&w)requestAnimationFrame(()=>{let X=k.current?.getBoundingClientRect();if(!X)return;w.scrollLeft+=X.left+g.imageX*o-g.x,w.scrollTop+=X.top+g.imageY*o-g.y})}let t=B(l);t.current=l,_(()=>{let u=v.current;if(!u)return;let d=(o)=>{if(!o.ctrlKey&&!o.metaKey)return;o.preventDefault(),t.current(C.current*Math.exp(-o.deltaY*0.002),{x:o.clientX,y:o.clientY})};return u.addEventListener("wheel",d,{passive:!1}),()=>u.removeEventListener("wheel",d)},[]);let Z=ne(()=>r.path);return _(()=>{let u=Z().split(".").pop()?.toLowerCase(),d=u==="svg"?"image/svg+xml":u==="ico"?"image/x-icon":void 0,o=URL.createObjectURL(new Blob([new Uint8Array(N.bytes)],{type:d}));return I({source:N,url:o}),A(null),z({width:0,height:0}),F(1),C.current=1,()=>URL.revokeObjectURL(o)},[N]),h("div",{className:"alwith-editor-image-preview",children:[h("div",{className:"alwith-editor-image-controls",children:[i(L,{"aria-label":f.zoomOut,title:f.zoomOut,disabled:s||E<=0.25,onClick:()=>l(E/1.25),children:"−"}),h(L,{"aria-label":f.resetZoom,title:f.resetZoom,disabled:s,onClick:()=>l(1),children:[Math.round(E*100),"%"]}),i(L,{"aria-label":f.zoomIn,title:f.zoomIn,disabled:s||E>=4,onClick:()=>l(E*1.25),children:"+"})]}),i("div",{className:"alwith-editor-image-viewport",ref:v,onDoubleClick:()=>l(1),children:s?i("div",{className:"alwith-editor-empty",role:"alert",children:f.failed}):S&&i("div",{className:"alwith-editor-image-canvas",children:i("img",{ref:k,className:"alwith-editor-image",src:S,alt:H(r.path),style:P.width?{width:P.width*E,height:P.height*E}:void 0,onLoad:(u)=>{let d=v.current,o=u.currentTarget,w=d?Math.min(1,(d.clientWidth-40)/o.naturalWidth,(d.clientHeight-40)/o.naturalHeight):1;z({width:o.naturalWidth*Math.max(0.01,w),height:o.naturalHeight*Math.max(0.01,w)})},onError:()=>{A(N),x?.(Error(`Unable to decode image: ${r.path}`))}})})})]})}var xe={id:"image",supports:(r)=>/\.(png|jpe?g|webp|gif|bmp|avif|svg|ico)$/i.test(r.path),render:(r,n)=>i(pe,{document:r,onError:n.onError})};export{Ce as EditorWorkbench,pe as ImagePreview,de as defaultEditorLabels,ce as defaultEditorTabLabels,xe as imagePreview,Se as quickStartAssets};
|
|
1
|
+
import{Y,l,R,A,G}from"./chunk-sq7vxhx3.js";import{d}from"./chunk-gq1eh0tx.js";import"./chunk-b5q2ys0a.js";import{a,w,m}from"./chunk-6nvrc7p7.js";import{p}from"./chunk-b1xr49tw.js";import{h}from"./chunk-dr1ebnb1.js";import{f,v}from"./chunk-68dtjjm4.js";import"./chunk-qanrx7j1.js";import"./chunk-qt0cfrrv.js";import{s}from"./chunk-nn5x2ear.js";export{R as EditorWorkbench,A as ImagePreview,f as NewTabPage,v as QuickStart,h as WorkspaceTabs,m as createEditorController,d as createEditorWorkspace,a as decodeText,Y as defaultEditorLabels,l as defaultEditorTabLabels,w as encodeText,G as imagePreview,p as quickStartAssets,s as workspaceLogo};
|
package/dist/monaco.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type * as Monaco from "monaco-editor";
|
|
2
2
|
import { type ReactNode } from "react";
|
|
3
|
-
import type { EditorController } from "./core
|
|
4
|
-
import type { TextEditorProps } from "./index
|
|
3
|
+
import type { EditorController } from "./core";
|
|
4
|
+
import type { TextEditorProps } from "./index";
|
|
5
5
|
export type MonacoAction = "find" | "replace" | "goto-line" | "undo" | "redo";
|
|
6
6
|
export type MonacoEditorProps = TextEditorProps & {
|
|
7
7
|
theme: "light" | "dark";
|
package/dist/monaco.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{useEffect as m,useRef as g}from"react";import{jsxDEV as S}from"react/jsx-dev-runtime";function I(c,M){let h=new WeakSet,s=new Map,l=new Map,i=null,p=M.subscribe(()=>{let e=M.getSnapshot().documents;for(let[n,o]of s)if(e.find((a)=>a.id===n)?.status!=="loaded"){if(i?.getModel()===o){let a=i.saveViewState();if(a)l.set(n,a);i.setModel(null)}o.dispose(),s.delete(n)}for(let n of l.keys())if(!e.some((o)=>o.id===n))l.delete(n)});function v(e){let n=g(null),o=g(e),u=g(null),a=g(!1);return o.current=e,m(()=>{if(!n.current)throw Error("Monaco container is missing");let{document:t}=o.current;if(t.status!=="loaded")throw Error("Monaco document content is not loaded");let r=s.get(t.id);if(!r){let f=t.path.split("/").at(-1),w=c.languages.getLanguages().find((y)=>y.filenames?.includes(f)||y.extensions?.some((x)=>f.endsWith(x)));r=c.editor.createModel(t.text,w?w.id:"plaintext",c.Uri.parse(`alwith-document:///${t.id}/${encodeURIComponent(f)}`)),s.set(t.id,r)}let d=c.editor.create(n.current,{automaticLayout:!0,minimap:{enabled:!1},fontSize:13,lineHeight:22,padding:{top:16},scrollBeyondLastLine:!1,wordWrap:"on",...o.current.options,model:r,readOnly:o.current.readOnly,theme:o.current.theme==="dark"?"vs-dark":"vs"});u.current=d,i=d;let E=l.get(t.id);if(E)d.restoreViewState(E);let C=r.onDidChangeContent(()=>{if(!a.current&&!r.isDisposed())o.current.onChange(r.getValue())});return d.addCommand(c.KeyMod.CtrlCmd|c.KeyCode.KeyS,()=>{if(!o.current.readOnly)o.current.onSave()}),()=>{let f=d.saveViewState();if(f&&s.has(t.id))l.set(t.id,f);if(C.dispose(),d.dispose(),u.current=null,i===d)i=null}},[e.document.id]),m(()=>{let t=s.get(e.document.id);if(t&&t.getValue()!==e.document.text){a.current=!0;try{t.setValue(e.document.text)}finally{a.current=!1}}},[e.document.id,e.document.text]),m(()=>{if(!e.position||h.has(e.position))return;let t=u.current;if(!t)throw Error("No Monaco editor is mounted");let r=t.getModel();if(!r)throw Error("Monaco model is missing");let d=r.validatePosition(e.position);t.setPosition(d),t.revealPositionInCenter(d),h.add(e.position)},[e.document.id,e.position]),m(()=>{if(u.current)u.current.updateOptions({...e.options,readOnly:e.readOnly});c.editor.setTheme(e.theme==="dark"?"vs-dark":"vs")},[e.readOnly,e.theme,e.options]),S("div",{ref:n,style:{height:"100%",minHeight:160}},void 0,!1,void 0,this)}return{Editor:v,async runAction(e){if(!i)throw Error("No Monaco editor is mounted");let n={find:"actions.find",replace:"editor.action.startFindReplaceAction","goto-line":"editor.action.gotoLine",undo:"undo",redo:"redo"};if(i.focus(),e==="undo"||e==="redo")i.trigger("alwith",n[e],null);else{let o=i.getAction(n[e]);if(!o)throw Error(`Monaco action is unavailable: ${e}`);await o.run()}},dispose(){p();for(let e of s.values())e.dispose();s.clear(),l.clear()}}}export{I as createMonacoEngine};
|
package/dist/new-tab.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
|
-
import { type QuickStartRole } from "./quick-start-data
|
|
3
|
-
import { workspaceLogo } from "./workspace-assets
|
|
2
|
+
import { type QuickStartRole } from "./quick-start-data";
|
|
3
|
+
import { workspaceLogo } from "./workspace-assets";
|
|
4
4
|
export { workspaceLogo };
|
|
5
5
|
export type { QuickStartRole };
|
|
6
6
|
export declare function NewTabPage({ title, link, onTutorial }: {
|
package/dist/new-tab.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{f,v}from"./chunk-68dtjjm4.js";import"./chunk-qanrx7j1.js";import"./chunk-qt0cfrrv.js";import{s}from"./chunk-nn5x2ear.js";export{f as NewTabPage,v as QuickStart,s as workspaceLogo};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{T}from"./chunk-b5q2ys0a.js";export{T as PreviewSourceModeToggle};
|
|
@@ -1,3 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
`).map((T)=>X(T,a,f)).join(`
|
|
3
|
-
`);return f.restore(),e(S,r,c,o)};u.__excelEllipsisPatched=!0,t.text=u}export{E as patchSpreadsheetTextOverflow,X as truncateTextWithEllipsis,_ as workbookSheets};
|
|
1
|
+
import{n,b,o}from"../chunk-jdjcp0ak.js";export{o as patchSpreadsheetTextOverflow,b as truncateTextWithEllipsis,n as workbookSheets};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import{S}from"../chunk-bh9vgt8q.js";export{S as installSheetNavigation};
|
package/dist/previews/excel.d.ts
CHANGED
package/dist/previews/excel.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{n,o}from"../chunk-jdjcp0ak.js";import{S}from"../chunk-bh9vgt8q.js";import"../chunk-czgs93zj.js";import{j,M}from"../chunk-9mb4nnsc.js";import{D,N}from"../chunk-0m07f1rf.js";j(import.meta.url,["ewq910t8","jdjcp0ak","bh9vgt8q","czgs93zj","9mb4nnsc","0m07f1rf","rpk588j2","x6e3x53v","g5mn8gma","ft3hwgj5","pm5mxznh","pc0wr96w","b5q2ys0a","6nvrc7p7","gq1eh0tx","dr1ebnb1","qt0cfrrv","qanrx7j1","nn5x2ear","68dtjjm4","b1xr49tw","sq7vxhx3","e5hxq2gn","s6jrc7pq","yhtn3t0e","7zewhyx6","83qapya5"],[["./excel.js",1,2,3,4,5],["../chunk-jdjcp0ak.js"],["../chunk-bh9vgt8q.js"],["../chunk-czgs93zj.js"],["../chunk-9mb4nnsc.js"],["../chunk-0m07f1rf.js",4],["./tiff.js",12,13,14,15,16,17,18,19,20,21,3,4,5],["./html.js",3,22,4,5],["./word.js",3,4,5],["./pdf.js",3,4,23,5],["./media.js",3,4,24,5],["./markdown.js",3,4,25,5,26],["../chunk-b5q2ys0a.js"],["../chunk-6nvrc7p7.js"],["../chunk-gq1eh0tx.js"],["../chunk-dr1ebnb1.js"],["../chunk-qt0cfrrv.js"],["../chunk-qanrx7j1.js"],["../chunk-nn5x2ear.js"],["../chunk-68dtjjm4.js",16,17,18],["../chunk-b1xr49tw.js"],["../chunk-sq7vxhx3.js",12],["../chunk-e5hxq2gn.js",3],["../chunk-s6jrc7pq.js"],["../chunk-yhtn3t0e.js"],["../chunk-7zewhyx6.js",4],["../chunk-83qapya5.js",4,25,5]],0);
|
|
2
|
+
import{useEffect as x,useEffectEvent as F,useRef as A,useState as O}from"react";import H from"x-data-spreadsheet";import*as P from"xlsx";import"x-data-spreadsheet/dist/xspreadsheet.css";import{jsxDEV as p}from"react/jsx-dev-runtime";function R({document:s,context:m,host:l}){let[a,E]=O(null),[w,f]=O(null),b=A(null),c=A({context:m,host:l});c.current={context:m,host:l};let k=F((e,r)=>l.parseSpreadsheet?.(e,r));return x(()=>{f(null),E(null);let e=!1,r=new AbortController,d=/\.csv$/i.test(s.path)&&s.kind==="text"?new TextEncoder().encode(s.text):new Uint8Array(s.bytes);return(k(d,r.signal)??Promise.resolve().then(()=>P.read(d,{type:"array",cellHTML:!1,cellFormula:!1,cellStyles:!1}))).then((t)=>{if(!e)E(n(t))}).catch((t)=>{if(!e)f(N(t)),c.current.context.onError(t)}),()=>{e=!0,r.abort()}},[s.bytes,s.text,s.path,s.kind,l.parseSpreadsheet]),x(()=>{if(!a?.length)return;let e=b.current;if(!e)throw Error("Spreadsheet container is missing");let r=null,d=null,v=null,t=null,y=[],g=Reflect.get(window,"addEventListener"),T=(i,u,h)=>{y.push({type:i,listener:u,options:h}),g.call(window,i,u,h)},L=()=>{if(d?.(),v?.disconnect(),t!==null)cancelAnimationFrame(t);for(let{type:i,listener:u,options:h}of y)window.removeEventListener(i,u,h);e.replaceChildren(),r=null};try{window.addEventListener=T;try{r=new H(e,{mode:"read",showToolbar:!1,showContextmenu:!1,showBottomBar:!0,view:{height:()=>e.clientHeight||300,width:()=>e.clientWidth||320}})}finally{window.addEventListener=g}o(r),r.loadData(a),d=S(e,{previousSheet:M(c.current.host,"previousSheet"),nextSheet:M(c.current.host,"nextSheet")}),v=new ResizeObserver(()=>{if(t!==null)cancelAnimationFrame(t);t=requestAnimationFrame(()=>{t=null,r?.sheet.reload()})}),v.observe(e)}catch(i){L(),f(N(i)),c.current.context.onError(i)}return L},[a]),p("div",{className:"alwith-preview-excel excel-preview-wrapper",children:[p(D,{error:w},void 0,!1,void 0,this),!w&&!a&&p("div",{className:"alwith-preview-status",role:"status",children:M(l,"loading")},void 0,!1,void 0,this),!w&&a?.length===0&&p("div",{className:"alwith-preview-status",children:M(l,"emptySheet")},void 0,!1,void 0,this),p("div",{ref:b,className:"x-spreadsheet-container"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}export{R as default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { PreviewHost } from "./index
|
|
1
|
+
import type { PreviewHost } from "./index";
|
|
2
2
|
export declare const previewCsp = "default-src 'none'; img-src blob: data:; media-src blob: data:; font-src blob: data:; style-src 'unsafe-inline' blob:; script-src 'unsafe-inline' blob: data:; connect-src 'none'; frame-src 'none'; object-src 'none'; form-action 'none'; base-uri 'none'";
|
|
3
3
|
export declare function prepareHtmlPreview(text: string, path: string, host: PreviewHost, urls: Set<string>, signal?: AbortSignal): Promise<string>;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
${l.documentElement.outerHTML}`}export{M as prepareHtmlPreview,q as previewCsp};
|
|
1
|
+
import{P,u}from"../chunk-czgs93zj.js";export{u as prepareHtmlPreview,P as previewCsp};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{y}from"../chunk-e5hxq2gn.js";import"../chunk-czgs93zj.js";export{y as openHtmlPreview};
|
package/dist/previews/html.d.ts
CHANGED
package/dist/previews/html.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import"../chunk-czgs93zj.js";import{y}from"../chunk-e5hxq2gn.js";import{j}from"../chunk-9mb4nnsc.js";import{D,N}from"../chunk-0m07f1rf.js";j(import.meta.url,["x6e3x53v","czgs93zj","e5hxq2gn","9mb4nnsc","0m07f1rf","rpk588j2","g5mn8gma","ft3hwgj5","pm5mxznh","pc0wr96w","ewq910t8","b5q2ys0a","6nvrc7p7","gq1eh0tx","dr1ebnb1","qt0cfrrv","qanrx7j1","nn5x2ear","68dtjjm4","b1xr49tw","sq7vxhx3","s6jrc7pq","yhtn3t0e","7zewhyx6","83qapya5","jdjcp0ak","bh9vgt8q"],[["./html.js",1,2,3,4],["../chunk-czgs93zj.js"],["../chunk-e5hxq2gn.js",1],["../chunk-9mb4nnsc.js"],["../chunk-0m07f1rf.js",3],["./tiff.js",11,12,13,14,15,16,17,18,19,20,1,3,4],["./word.js",1,3,4],["./pdf.js",1,3,21,4],["./media.js",1,3,22,4],["./markdown.js",1,3,23,4,24],["./excel.js",25,26,1,3,4],["../chunk-b5q2ys0a.js"],["../chunk-6nvrc7p7.js"],["../chunk-gq1eh0tx.js"],["../chunk-dr1ebnb1.js"],["../chunk-qt0cfrrv.js"],["../chunk-qanrx7j1.js"],["../chunk-nn5x2ear.js"],["../chunk-68dtjjm4.js",15,16,17],["../chunk-b1xr49tw.js"],["../chunk-sq7vxhx3.js",11],["../chunk-s6jrc7pq.js"],["../chunk-yhtn3t0e.js"],["../chunk-7zewhyx6.js",3],["../chunk-83qapya5.js",3,23,4],["../chunk-jdjcp0ak.js"],["../chunk-bh9vgt8q.js"]],0);
|
|
2
|
+
import{useEffect as d,useEffectEvent as x,useRef as g,useState as l}from"react";import{jsxDEV as c}from"react/jsx-dev-runtime";function k({document:o,context:w,host:n}){let f=g(null),[i,m]=l(null),[b,u]=l(null),[h,E]=l(0),[a,v]=l(1),p=n.htmlPreview?o.savedText:o.text,s=x((t)=>w.onError(t));return d(()=>{let t,e=new AbortController;return m(null),u(null),y(p,o.path,n,e.signal).then(async(r)=>{if(e.signal.aborted)await r.dispose();else t=r,m(r)}).catch((r)=>{if(!e.signal.aborted)u(N(r));if(!e.signal.aborted||!(r instanceof Error&&r.name==="AbortError"))s(r)}),()=>{if(e.abort(),t)t.dispose().catch(s)}},[p,o.path,n,h]),d(()=>{if(!n.htmlPreview)return;let t=!1,e;return n.htmlPreview.subscribe(o.path,()=>{if(!t)E((r)=>r+1)},(r)=>s(r)).then((r)=>{if(t)r();else e=r}).catch(s),()=>{t=!0,e?.()}},[o.path,n]),d(()=>{let t=(e)=>{if(!e.metaKey&&!e.ctrlKey||e.altKey)return;let r=e.key==="+"||e.key==="="||e.code==="Equal"||e.code==="NumpadAdd"?0.1:e.key==="-"||e.code==="Minus"||e.code==="NumpadSubtract"?-0.1:0;if(!r)return;e.preventDefault(),v((P)=>Number(Math.max(0.3,Math.min(3,P+r)).toFixed(2)))};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[]),c("div",{className:"alwith-preview-html",style:{overflow:"hidden"},children:[c(D,{error:b},void 0,!1,void 0,this),n.htmlIntegration?.render(f),i&&c("iframe",{ref:f,title:o.path.split("/").at(-1),sandbox:i.sandbox,referrerPolicy:"no-referrer",src:i.src,srcDoc:i.srcDoc,style:{flex:"none",transform:`scale(${a})`,transformOrigin:"left top",width:`${100/a}%`,height:`${100/a}%`}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}export{k as default};
|
package/dist/previews/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Editor } from "@milkdown/core";
|
|
2
2
|
import { type ReactNode } from "react";
|
|
3
3
|
import type { WorkBook } from "xlsx";
|
|
4
|
-
import type { EditorDocument } from "../core
|
|
5
|
-
import type { ImagePreviewLabels, PreviewProvider } from "../index
|
|
4
|
+
import type { EditorDocument } from "../core";
|
|
5
|
+
import type { ImagePreviewLabels, PreviewProvider } from "../index";
|
|
6
6
|
export type SpreadsheetWorkbook = WorkBook;
|
|
7
7
|
export interface PreviewLabels {
|
|
8
8
|
previousSheet: string;
|
|
@@ -80,4 +80,4 @@ export interface PreviewProps {
|
|
|
80
80
|
host: PreviewHost;
|
|
81
81
|
}
|
|
82
82
|
export declare function createPreviewProviders(host: PreviewHost): PreviewProvider[];
|
|
83
|
-
export { prepareHtmlPreview, previewCsp } from "./html-resources
|
|
83
|
+
export { prepareHtmlPreview, previewCsp } from "./html-resources";
|
package/dist/previews/index.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{j,Z,M,V}from"../chunk-9mb4nnsc.js";import{P,u}from"../chunk-czgs93zj.js";j(import.meta.url,["a0xh1f6r","9mb4nnsc","czgs93zj","rpk588j2","x6e3x53v","g5mn8gma","ft3hwgj5","pm5mxznh","pc0wr96w","ewq910t8","b5q2ys0a","6nvrc7p7","gq1eh0tx","dr1ebnb1","qt0cfrrv","qanrx7j1","nn5x2ear","68dtjjm4","b1xr49tw","sq7vxhx3","0m07f1rf","e5hxq2gn","s6jrc7pq","yhtn3t0e","7zewhyx6","83qapya5","jdjcp0ak","bh9vgt8q"],[["./index.js",1,2],["../chunk-9mb4nnsc.js"],["../chunk-czgs93zj.js"],["./tiff.js",10,11,12,13,14,15,16,17,18,19,2,1,20],["./html.js",2,21,1,20],["./word.js",2,1,20],["./pdf.js",2,1,22,20],["./media.js",2,1,23,20],["./markdown.js",2,1,24,20,25],["./excel.js",26,27,2,1,20],["../chunk-b5q2ys0a.js"],["../chunk-6nvrc7p7.js"],["../chunk-gq1eh0tx.js"],["../chunk-dr1ebnb1.js"],["../chunk-qt0cfrrv.js"],["../chunk-qanrx7j1.js"],["../chunk-nn5x2ear.js"],["../chunk-68dtjjm4.js",14,15,16],["../chunk-b1xr49tw.js"],["../chunk-sq7vxhx3.js",10],["../chunk-0m07f1rf.js",1],["../chunk-e5hxq2gn.js",2],["../chunk-s6jrc7pq.js"],["../chunk-yhtn3t0e.js"],["../chunk-7zewhyx6.js",1],["../chunk-83qapya5.js",1,24,20],["../chunk-jdjcp0ak.js"],["../chunk-bh9vgt8q.js"]],0);
|
|
2
|
+
export{V as createPreviewProviders,Z as defaultPreviewLabels,u as prepareHtmlPreview,P as previewCsp,M as previewLabel};
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{z}from"../chunk-7zewhyx6.js";import{j}from"../chunk-9mb4nnsc.js";import"../chunk-czgs93zj.js";j(import.meta.url,["jckkkcfm","7zewhyx6","9mb4nnsc","czgs93zj","rpk588j2","x6e3x53v","g5mn8gma","ft3hwgj5","pm5mxznh","pc0wr96w","ewq910t8","b5q2ys0a","6nvrc7p7","gq1eh0tx","dr1ebnb1","qt0cfrrv","qanrx7j1","nn5x2ear","68dtjjm4","b1xr49tw","sq7vxhx3","0m07f1rf","e5hxq2gn","s6jrc7pq","yhtn3t0e","83qapya5","jdjcp0ak","bh9vgt8q"],[["./markdown-outline.js",1,2,3],["../chunk-7zewhyx6.js",2],["../chunk-9mb4nnsc.js"],["../chunk-czgs93zj.js"],["./tiff.js",11,12,13,14,15,16,17,18,19,20,3,2,21],["./html.js",3,22,2,21],["./word.js",3,2,21],["./pdf.js",3,2,23,21],["./media.js",3,2,24,21],["./markdown.js",3,2,1,21,25],["./excel.js",26,27,3,2,21],["../chunk-b5q2ys0a.js"],["../chunk-6nvrc7p7.js"],["../chunk-gq1eh0tx.js"],["../chunk-dr1ebnb1.js"],["../chunk-qt0cfrrv.js"],["../chunk-qanrx7j1.js"],["../chunk-nn5x2ear.js"],["../chunk-68dtjjm4.js",15,16,17],["../chunk-b1xr49tw.js"],["../chunk-sq7vxhx3.js",11],["../chunk-0m07f1rf.js",2],["../chunk-e5hxq2gn.js",3],["../chunk-s6jrc7pq.js"],["../chunk-yhtn3t0e.js"],["../chunk-83qapya5.js",2,1,21],["../chunk-jdjcp0ak.js"],["../chunk-bh9vgt8q.js"]],0);
|
|
2
|
+
export{z as MarkdownOutline};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
|
|
1
|
+
import{r}from"../chunk-83qapya5.js";import"../chunk-7zewhyx6.js";import"../chunk-0m07f1rf.js";import{j}from"../chunk-9mb4nnsc.js";import"../chunk-czgs93zj.js";j(import.meta.url,["egkgae4k","83qapya5","7zewhyx6","0m07f1rf","9mb4nnsc","czgs93zj","rpk588j2","x6e3x53v","g5mn8gma","ft3hwgj5","pm5mxznh","pc0wr96w","ewq910t8","b5q2ys0a","6nvrc7p7","gq1eh0tx","dr1ebnb1","qt0cfrrv","qanrx7j1","nn5x2ear","68dtjjm4","b1xr49tw","sq7vxhx3","e5hxq2gn","s6jrc7pq","yhtn3t0e","jdjcp0ak","bh9vgt8q"],[["./markdown-readonly.js",1,2,3,4,5],["../chunk-83qapya5.js",4,2,3],["../chunk-7zewhyx6.js",4],["../chunk-0m07f1rf.js",4],["../chunk-9mb4nnsc.js"],["../chunk-czgs93zj.js"],["./tiff.js",13,14,15,16,17,18,19,20,21,22,5,4,3],["./html.js",5,23,4,3],["./word.js",5,4,3],["./pdf.js",5,4,24,3],["./media.js",5,4,25,3],["./markdown.js",5,4,2,3,1],["./excel.js",26,27,5,4,3],["../chunk-b5q2ys0a.js"],["../chunk-6nvrc7p7.js"],["../chunk-gq1eh0tx.js"],["../chunk-dr1ebnb1.js"],["../chunk-qt0cfrrv.js"],["../chunk-qanrx7j1.js"],["../chunk-nn5x2ear.js"],["../chunk-68dtjjm4.js",17,18,19],["../chunk-b1xr49tw.js"],["../chunk-sq7vxhx3.js",13],["../chunk-e5hxq2gn.js",5],["../chunk-s6jrc7pq.js"],["../chunk-yhtn3t0e.js"],["../chunk-jdjcp0ak.js"],["../chunk-bh9vgt8q.js"]],0);
|
|
2
|
+
export{r as MarkdownReadonly};
|