@inkandswitch/patchwork-pkg-base 0.0.90 → 0.0.91
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/module-settings-url +1 -1
- package/package.json +1 -1
- package/packages/sideboard/dist/{chunk-F2PUIS4B.js → chunk-MC4Y7PGQ.js} +2 -2
- package/packages/sideboard/dist/{document-list-panel-6IHXAUVQ.js → document-list-panel-4PFAKODT.js} +2 -2
- package/packages/sideboard/dist/index.js +1 -1
- package/packages/sideboard/dist/item-menu-VIMMKF26.js +2 -0
- package/packages/sideboard/dist/item-menu-VIMMKF26.js.map +7 -0
- package/packages/sideboard/dist/sideboard/sideboard.js +1 -1
- package/plugin-registry-url +1 -1
- package/packages/sideboard/dist/item-menu-7ZNKM77G.js +0 -2
- package/packages/sideboard/dist/item-menu-7ZNKM77G.js.map +0 -7
- /package/packages/sideboard/dist/{chunk-F2PUIS4B.js.map → chunk-MC4Y7PGQ.js.map} +0 -0
- /package/packages/sideboard/dist/{document-list-panel-6IHXAUVQ.js.map → document-list-panel-4PFAKODT.js.map} +0 -0
package/module-settings-url
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
automerge:
|
|
1
|
+
automerge:ZCGyQ1ZxypuHothSscKn48FiUKt
|
package/package.json
CHANGED
|
@@ -11,5 +11,5 @@ import{a as $e,b as de,c as Pe,d as Ce}from"./chunk-TPAJEUW4.js";import{a as C,b
|
|
|
11
11
|
pointer-events: none;
|
|
12
12
|
color: var(--document-list-primary-line);
|
|
13
13
|
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
|
14
|
-
`;let i=n?" (copy)":"";return s.textContent=e===1?t+i:`${e} items${i}`,document.body.appendChild(s),setTimeout(()=>s.remove(),0),s}import{getImportableUrlFromAutomergeUrl as Ct}from"@inkandswitch/patchwork-filesystem";var Nt={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",avif:"image/avif",bmp:"image/bmp",tiff:"image/tiff",svg:"image/svg+xml",pdf:"application/pdf",mp4:"video/mp4",webm:"video/webm",mov:"video/quicktime",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",txt:"text/plain",md:"text/markdown",csv:"text/csv",json:"application/json",html:"text/html",zip:"application/zip"};function tt(e){let t=e.includes(".")?e.split(".").pop().toLowerCase():"";return t?Nt[t]:void 0}function rt(e){let t=null,n=!1;return{prefetch(){n||e.type!=="file"||(n=!0,e.repo.find(e.url).then(s=>{let i=s?.doc();if(!i)return;let c=String(i.name??e.name??"file"),l=i.extension?`.${String(i.extension).replace(/^\.+/,"")}`:"",g=l&&!c.endsWith(l)?`${c}${l}`:c;t={mime:String(i.mimeType||tt(g)||"application/octet-stream"),filename:g}}).catch(()=>{}))},addTo(s){if(e.type!=="file")return;let i=t?.filename??e.name,c=t?.mime??tt(i)??"application/octet-stream";try{let l=new URL(Ct(e.url),location.origin).href;s.setData("DownloadURL",`${c}:${i}:${l}`)}catch{}}}}function te(e,t){let n,s=!1;return{start(){return n||s?!1:(n=setTimeout(()=>{n=void 0,s=!0,t()},e),!0)},stop(){clearTimeout(n),n=void 0,s=!1}}}function Kt(e){for(let t=e.parentElement;t;t=t.parentElement){let n=getComputedStyle(t).overflowY;if((n==="auto"||n==="scroll")&&t.scrollHeight>t.clientHeight)return t}return document.scrollingElement??document.body}function Ot(e){let t=Kt(e),n=t.getBoundingClientRect(),s=t.querySelectorAll('.document-list-item[aria-selected="true"]');for(let i of s){let c=i.getBoundingClientRect();if(c.top>=n.top&&c.bottom<=n.bottom)return!0}return!1}function nt(e){Ot(e)||e.scrollIntoViewIfNeeded?.()}var Bt=qt('<div role=treeitem tabindex=-1 aria-haspopup=menu class="popmenu__trigger document-list-item"draggable=true>'),Xt=1500;function W(e){let t,n=()=>e.type==="folder",s=()=>(e.parentFolderHandle??e.rootFolderHandle).url,i=rt(e);zt(o=>(e.pressed&&!o&&t&&nt(t),e.pressed));let c=()=>({id:e.id,type:e.type,url:e.url,name:e.name,source:e.element.toolId}),l=te(Xt,()=>{t?.removeAttribute("data-dnd-springload"),e.openWith()});function g(){n()||S.has(e.id)||l.start()&&t?.setAttribute("data-dnd-springload","")}function u(){l.stop(),t?.removeAttribute("data-dnd-springload")}ot(u);function a(o,d){Ae({x:o,y:d,element:t,id:e.id,url:e.url,name:e.name,type:e.type,openWith:e.openWith,startRenaming:e.startRenaming,remove:e.remove,createInside:e.createInside})}let f,v=()=>clearTimeout(f);ot(v);function m(){H(),e.openWith()}return(()=>{var o=Bt();o.$$keydown=r=>{if(r.target!==t)return;let h=!(r.altKey||r.shiftKey||r.metaKey||r.ctrlKey);if(h&&(r.key==="Enter"||r.key===" ")){r.preventDefault(),m();return}if(h&&n()&&e.onToggleExpand&&(r.key==="ArrowRight"&&!e.isExpanded||r.key==="ArrowLeft"&&e.isExpanded)){r.preventDefault(),e.onToggleExpand();return}if(r.key=="Enter"&&r.ctrlKey&&!(r.altKey||r.shiftKey||r.metaKey)){r.preventDefault(),r.stopPropagation();let p=t.getBoundingClientRect();a(p.x+10,p.y+p.height-10)}},ue(o,"dblclick",r=>{r.target.closest("input")||e.startRenaming()}),ue(o,"click",r=>{r.ctrlKey||r.metaKey||r.target.closest(".document-list-folder__toggle, .create-new-button, input")||m()}),o.$$mousedown=r=>{i.prefetch(),r.ctrlKey||r.metaKey?(S.has(e.id)?Z(e.id):k(e.id,c()),r.preventDefault(),r.stopPropagation(),r.stopImmediatePropagation()):S.has(e.id)||H()},o.addEventListener("drop",r=>{r.preventDefault(),r.stopPropagation(),u(),R(r,{repo:e.repo,rootFolderHandle:e.rootFolderHandle,element:e.element,expand:e.expand})}),o.addEventListener("dragleave",r=>{let h=r.relatedTarget;(!h||!t.contains(h))&&(u(),T())}),o.addEventListener("dragover",r=>{r.preventDefault(),r.dataTransfer.dropEffect=_()?"copy":"move";let h=t.getBoundingClientRect(),p;if(n()){let y=(r.clientY-h.top)/h.height;p=y<.25?"above":y>.75?"below":"inside"}else p=Re(r.clientY,t)?"above":"below";p!=="inside"&&r.stopPropagation(),I(G({id:e.id,url:e.url,parentUrl:s(),index:e.itemIndex??0},p)),g()}),o.addEventListener("dragend",()=>{u(),T(),Ue(),H(),K(!1),Q(null),X(!1)}),o.addEventListener("drag",r=>{r.altKey!==_()&&K(r.altKey)}),o.addEventListener("dragstart",r=>{v(),et(r,c(),e.element,i)}),o.addEventListener("pointercancel",v),o.$$pointerup=v,o.$$pointerdown=r=>{(r.pointerType==="touch"||r.pointerType==="pen")&&(f=setTimeout(()=>a(r.clientX,r.clientY),700))},ue(o,"contextmenu",r=>{r.preventDefault(),r.stopPropagation(),a(r.clientX,r.clientY)});var d=t;return typeof d=="function"?Yt(d,o):t=o,Vt(o,()=>e.children),Wt(r=>{var h=e["aria-label"],p=e.pressed?"true":void 0,y=n()?!!e.isExpanded:void 0,w=e.id,D=s(),x=e.itemIndex,$=e.url,M=e.type;return h!==r.e&&A(o,"aria-label",r.e=h),p!==r.t&&A(o,"aria-selected",r.t=p),y!==r.a&&A(o,"aria-expanded",r.a=y),w!==r.o&&A(o,"data-dnd-item",r.o=w),D!==r.i&&A(o,"data-dnd-parent",r.i=D),x!==r.n&&A(o,"data-dnd-index",r.n=x),$!==r.s&&A(o,"data-doc-url",r.s=$),M!==r.h&&A(o,"data-doc-type",r.h=M),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),o})()}jt(["pointerdown","pointerup","mousedown","keydown"]);import{template as it}from"solid-js/web";import{delegateEvents as Jt}from"solid-js/web";import{insert as Gt}from"solid-js/web";import{createComponent as me}from"solid-js/web";import{effect as Qt}from"solid-js/web";import{use as Zt}from"solid-js/web";import{createSelector as rr,createSignal as nr,Match as at,Switch as or}from"solid-js";var er=it("<form style=display:contents><input autofocus class=document-list-item__name>"),tr=it("<span class=document-list-item__name>");function re(e){let t=rr(Te),[n,s]=nr(e.name),i=!1;function c(l,g){if(i)return;i=!0,l&&e.rename(n()??"");let u=g?.closest('[role="treeitem"]');t(e.id)&&L(""),u?.focus()}return me(or,{get children(){return[me(at,{get when(){return t(e.id)},get children(){var l=er(),g=l.firstChild;return l.addEventListener("submit",u=>{u.preventDefault(),c(!0,u.currentTarget.querySelector("input"))}),g.$$input=u=>s(u.target.value),g.$$keydown=u=>{(u.key=="Escape"||u.key=="g"&&u.ctrlKey)&&(u.preventDefault(),u.stopPropagation(),c(!1,u.currentTarget))},g.addEventListener("blur",()=>c(!0)),Zt(u=>{i=!1,s(e.name),setTimeout(()=>{u.focus(),u.select()},80)},g),Qt(()=>g.value=n()),l}}),me(at,{get when(){return!t(e.id)},get children(){var l=tr();return Gt(l,()=>e.name),l}})]}})}Jt(["keydown","input"]);import{template as dt}from"solid-js/web";import{insert as ar}from"solid-js/web";import{createComponent as ir}from"solid-js/web";import{setStyleProperty as fe}from"solid-js/web";import{effect as st}from"solid-js/web";import{For as dr}from"solid-js";var ct=dt('<div class="document-list-item document-list-item--loading"aria-hidden=true><span class=document-list-item__skeleton>'),lr=dt('<div class=document-list__loading aria-busy=true aria-label="Loading documents">');function ne(e){return(()=>{var t=ct();return st(n=>fe(t,"--depth",e.depth??0)),t})()}var lt=["11rem","7rem","9.5rem","6rem","10rem","8rem"];function ge(e){let t=()=>Array.from({length:e.count??5},(n,s)=>s);return(()=>{var n=lr();return ar(n,ir(dr,{get each(){return t()},children:s=>(()=>{var i=ct(),c=i.firstChild;return st(l=>{var g=e.depth??0,u=lt[s%lt.length];return g!==l.e&&fe(i,"--depth",l.e=g),u!==l.t&&fe(c,"width",l.t=u),l},{e:void 0,t:void 0}),i})()})),n})()}var ur=gt("<span aria-hidden=true class=document-list-folder__toggle>"),mr=gt("<div class=document-list-folder role=none><div role=group class=document-list-folder__contents>");function we(e){let[t,n]=fr(!1),[s,i]=B(()=>e.url,e);ye(()=>{i.latest&&j(i.latest)});let c=new Set(e.visitedFolders??[]);c.add(e.url);let l=()=>e.depth??1,g=()=>({"--depth":l()+1}),u=()=>({"--depth":l()});ye(m=>(!m&&e.filter&&z(e.filter,s()?.title??e.name)&&n(!0),e.filter)),ye(()=>{Fe().has(e.url)&&n(!0)});let a=te(1e3,()=>n(!0));gr(a.stop);function f(m){i()?.change(d=>mt(d,["title"],m));let o=e.itemIndex;e.parentFolderHandle?.change(d=>{o!=null&&d.docs[o]?.url===e.url&&mt(d,["docs",o,"name"],m)})}async function v(m){let o=i();if(!o)return;let d=await Pe(e.repo,m),r=0;o.change(h=>{h.docs.push(d),r=h.docs.length-1}),e.clearFilter(),n(!0),e.open(d),L(o.url+"/"+r)}return(()=>{var m=mr(),o=m.firstChild;return m.addEventListener("drop",d=>{d.preventDefault(),d.stopPropagation(),a.stop(),R(d,{repo:e.repo,rootFolderHandle:e.rootFolderHandle,element:e.element,expand:()=>n(!0)})}),m.addEventListener("dragleave",d=>{let r=d.relatedTarget;(!r||!d.currentTarget.contains(r))&&(a.stop(),T())}),m.addEventListener("dragover",d=>{d.preventDefault(),d.stopPropagation(),d.dataTransfer.dropEffect=_()?"copy":"move";let r=d.target.closest(".document-list-item");r||I(G({id:e.url,url:e.url,parentUrl:e.parentFolderHandle?.url??e.url,index:e.itemIndex??0},"inside")),r?.getAttribute("data-dnd-item")===e.url&&!t()&&a.start()}),he(m,F(W,{get"aria-label"(){return s()?.title??e.name??""},startRenaming:()=>{L(e.url)},get remove(){return e.removeFromParent},get id(){return e.url},get url(){return e.url},get name(){return s()?.title??e.name??""},get pressed(){return e.isSelected(e.url)},type:"folder",get element(){return e.element},get repo(){return e.repo},get rootFolderHandle(){return e.rootFolderHandle},get parentFolderHandle(){return e.parentFolderHandle},get itemIndex(){return e.itemIndex},get isExpanded(){return t()},onToggleExpand:()=>n(d=>!d),expand:()=>n(!0),createInside:v,openWith:d=>{e.open({url:e.url,toolId:d,title:s()?.title??e.name,type:"folder"})},get children(){return[(()=>{var d=ur();return cr(d,"click",r=>{r.stopImmediatePropagation(),n(h=>!h)}),he(d,F(ft,{get when(){return t()},get fallback(){return F(de,{})},get children(){return F(de,{style:{rotate:"90deg"}})}})),d})(),F(re,{get name(){return s()?.title??e.name},get id(){return e.url},rename:f})]}}),o),he(o,F(ft,{get when(){return t()||!!e.filter},get children(){return F(pr,{get fallback(){return F(ne,{get depth(){return l()+1}})},get children(){return F(oe,{get docs(){return s()?.docs},get repo(){return e.repo},get depth(){return l()+1},get handle(){return i.latest},get open(){return e.open},get isSelected(){return e.isSelected},visitedFolders:c,get element(){return e.element},get rootFolderHandle(){return e.rootFolderHandle},get filter(){return e.filter},get clearFilter(){return e.clearFilter}})}})}})),sr(d=>{var r=l(),h=u(),p=e.url,y=!t()&&!e.filter,w=l(),D=g();return r!==d.e&&pe(m,"data-depth",d.e=r),d.t=ut(m,h,d.t),p!==d.a&&pe(m,"data-dnd-container",d.a=p),y!==d.o&&o.classList.toggle("document-list-folder__contents--hidden",d.o=y),w!==d.i&&pe(o,"data-depth",d.i=w),d.n=ut(o,D,d.n),d},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),m})()}var yr=xe('<div class="document-list__item document-list__item--visible">'),wr=xe("<div class=document-list__item>"),vr=xe('<div class=document-list-folder__circular-ref style="padding-left:calc(var(--depth) * 1rem)"><span> (i contain myself eventually)'),Lr=_r(()=>import("./create-new-menu-XURDQMPO.js").then(e=>({default:e.NewDocPlaceholder}))),bt=40,Ar=8;function oe(e){let t=e.visitedFolders??new Set,[n,s]=Er(bt);wt(()=>{let a=e.docs?.length??0;if(Dt(n)>=a)return;let f=requestAnimationFrame(function v(){let m=performance.now(),o=Dt(n);do s(o+=bt);while(o<a&&performance.now()-m<Ar);o<a&&(f=requestAnimationFrame(v))});De(()=>cancelAnimationFrame(f))});let i=xr(()=>{let a=e.docs??[];return a.length>n()?a.slice(0,n()):a});function c(a){e.handle.change(f=>Dr(f.docs,a))}let l=()=>!!e.handle&&C()?.containerUrl===e.handle.url,g=a=>{let f=C();if(!f)return;let v=f.index;N(null),e.handle.change(m=>m.docs.splice(v,0,a)),e.open(a),L(e.handle.url+"/"+v)},u=()=>(()=>{var a=yr();return ve(a,b(Lr,{get repo(){return e.repo},onCreate:g,onDismiss:()=>N(null),get clearFilter(){return e.clearFilter}})),a})();return[b(Sr,{get each(){return i()},children:(a,f)=>{let v=()=>!e.filter.length||z(e.filter,a.name),m=()=>c(f()),o=()=>e.handle.url+"/"+f();De(Ve(e.element,a.url));let d=r=>{e.handle.change(p=>{ht(p,["docs",f(),"name"],r)});let h=yt("patchwork:datatype");e.repo.find(a.url).then(async p=>{let{"@patchwork":y}=p.doc();if(y){let w=h.get(y.type);w&&(await h.load(w.id),p.change(D=>w.module.setTitle?.(D,r)))}})};return wt(()=>{if(!e.isSelected(a.url))return;let r=!1,h;e.repo.find(a.url).then(async p=>{if(r)return;let y=yt("patchwork:datatype");async function w(){let x=p.doc();if(!x)return;let $=x["@patchwork"];if(!$?.type)return;let M=y.get($.type);if(!M||(await y.load(M.id),r)||!br(M))return;let P=M.module.getTitle(x);if(!P)return;e.handle.doc()?.docs?.[f()]?.name!==P&&e.handle.change(Y=>{ht(Y,["docs",f(),"name"],P)}),$.title!==P&&p.change(Y=>{Y["@patchwork"]&&(Y["@patchwork"].title=P)})}if(await w(),r)return;let D=()=>w();p.on("change",D),h=()=>p.off("change",D)}),De(()=>{r=!0,h?.()})}),[b(be,{get when(){return pt(()=>!!l())()&&C().index===f()},get children(){return u()}}),(()=>{var r=wr();return ve(r,b(Tr,{get fallback(){return b(ne,{get depth(){return e.depth}})},get children(){return b(Fr,{get children(){return[b(vt,{get when(){return a.type=="folder"},get children(){return b(be,{get when(){return!t.has(a.url)},get fallback(){return(()=>{var h=vr(),p=h.firstChild,y=p.firstChild;return ve(p,()=>a.name,y),h})()},get children(){return b(we,{get url(){return a.url},get depth(){return e.depth},get repo(){return e.repo},removeFromParent:m,get parentFolderHandle(){return e.handle},get itemIndex(){return f()},get open(){return e.open},get name(){return a.name},get isSelected(){return e.isSelected},visitedFolders:t,get element(){return e.element},get rootFolderHandle(){return e.rootFolderHandle},get filter(){return e.filter},get clearFilter(){return e.clearFilter}})}})}}),b(vt,{get when(){return a.type!="folder"},get children(){return b(W,{get"aria-label"(){return a.name},get url(){return a.url},get name(){return a.name},get id(){return o()},startRenaming:()=>L(o()),remove:m,get pressed(){return e.isSelected(a.url)},get type(){return a.type},get element(){return e.element},get repo(){return e.repo},get rootFolderHandle(){return e.rootFolderHandle},get parentFolderHandle(){return e.handle},get itemIndex(){return f()},openWith:h=>e.open({url:a.url,toolId:h,title:a.name,type:a.type}),get children(){return b(re,{get name(){return a.name},get id(){return o()},rename:d})}})}})]}})}})),hr(h=>{var p=!!v(),y=!v();return p!==h.e&&r.classList.toggle("document-list__item--visible",h.e=p),y!==h.t&&r.classList.toggle("document-list__item--invisible",h.t=y),h},{e:void 0,t:void 0}),r})()]}}),b(be,{get when(){return pt(()=>!!l())()&&C().index>=(e.docs?.length??0)},get children(){return u()}})]}import{createEffect as Io,createSignal as $r,onCleanup as Mr,onMount as kr}from"solid-js";import{createStore as Ro,reconcile as Po}from"solid-js/store";import*as Ee from"@inkandswitch/patchwork-providers";function Hr(e){return typeof e=="function"?e():e}function xt(e,t,n){let[s,i]=$r(n);return kr(()=>{let c=Hr(e);if(!c)return;let l=Ee.subscribe(c,t,i);Mr(l)}),s}function Et(e){let t=0,n=0,s=!1,i=new Set,c=new Set;function l(f){return{id:f.getAttribute("data-dnd-item"),url:f.getAttribute("data-doc-url"),type:f.getAttribute("data-doc-type")??"",name:(f.textContent??"").trim(),source:e.source()}}function g(f){let v=f.clientX-t,m=f.clientY-n;if(!s){if(Math.hypot(v,m)<5)return;s=!0}f.preventDefault();let o=Math.min(t,f.clientX),d=Math.min(n,f.clientY),r=Math.max(t,f.clientX),h=Math.max(n,f.clientY),p=e.container();if(!p)return;let y=new Set;for(let w of p.querySelectorAll("[data-dnd-item]")){if(w.offsetParent===null)continue;let D=w.getAttribute("data-dnd-item");if(!D||i.has(D))continue;let x=w.getBoundingClientRect();x.right<o||x.left>r||x.bottom<d||x.top>h||(y.add(D),S.has(D)||k(D,l(w)))}for(let w of c)y.has(w)||Z(w);c=y}function u(){window.removeEventListener("mousemove",g,!0),window.removeEventListener("mouseup",u,!0),s=!1,c=new Set,i=new Set}function a(f){f.button!==0||!(f.metaKey||f.ctrlKey)||f.target.closest(".document-list__toolbar")||(t=f.clientX,n=f.clientY,s=!1,c=new Set,i=new Set(S.keys()),window.addEventListener("mousemove",g,!0),window.addEventListener("mouseup",u,!0))}return{onMouseDown:a}}function St(e){let t='[role="treeitem"]',n=null,s=m=>m.offsetParent!==null,i=()=>[...e.querySelectorAll(t)].filter(s);function c(m){n!==m&&(n&&(n.tabIndex=-1),m.tabIndex=0,n=m)}function l(m){m&&(c(m),m.focus())}function g(){if(n?.isConnected&&s(n)&&n.tabIndex===0)return;n?.isConnected&&(n.tabIndex=-1),n=null;let m=i(),o=m.find(d=>d.getAttribute("aria-selected")==="true")??m[0];o&&c(o)}function u(m){let o=m.parentElement?.closest('[role="group"]');return!o||!e.contains(o)?null:o.parentElement?.querySelector(`:scope > ${t}`)}function a(m){if(m.defaultPrevented||m.altKey||m.ctrlKey||m.metaKey)return;let o=m.target;if(o.closest("input, textarea"))return;let d=o.closest(t);if(!d||!e.contains(d))return;let r=i(),h=r.indexOf(d),p;switch(m.key){case"ArrowDown":p=r[h+1];break;case"ArrowUp":p=r[h-1];break;case"Home":p=r[0];break;case"End":p=r[r.length-1];break;case"ArrowRight":if(d.getAttribute("aria-expanded")!=="true")return;p=r[h+1],p&&u(p)!==d&&(p=null);break;case"ArrowLeft":p=u(d);break;default:return}m.preventDefault(),l(p)}function f(m){let o=m.target.closest(t);o&&e.contains(o)&&o===m.target&&c(o)}let v=new MutationObserver(g);return v.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["class","aria-selected"]}),e.addEventListener("keydown",a),e.addEventListener("focusin",f),g(),()=>{v.disconnect(),e.removeEventListener("keydown",a),e.removeEventListener("focusin",f)}}var Pr=Ft("<p class=document-list__error role=alert>"),Cr=Ft('<aside class=document-list><nav class="document-list__doclist document-list-widget"role=tree aria-multiselectable=true><div class=document-list__toolbar><div class=document-list__filter-container><input name=filter class=document-list__filter placeholder="Filter by title">'),Vr=qr(()=>import("./item-menu-7ZNKM77G.js").then(e=>({default:e.ItemMenu})));function Yr(e){let[t,n]=B(()=>e.folderUrl,{repo:e.repo}),[s,i]=Or(""),c=()=>n.state==="ready"||n.state==="refreshing";Tt(()=>{n.latest&&j(n.latest)});let l=xt(e.element,{type:"patchwork:selected-doc"},[]),g=Nr(()=>new Set(l())),u=Kr(g,(o,d)=>d.has(o));Tt(()=>{if(!c())return;let o=l();if(!o.length){ae(new Set);return}if(o.every(r=>Ye(e.element,r)))return;let d=!1;Be(e.repo,e.folderUrl,o).then(r=>{d||ae(r)}),Se(()=>{d=!0})});function a(o){e.element.dispatchEvent(Ne(o))}let f,v=Et({container:()=>f,source:()=>e.element.toolId??""}),m=o=>{f=o,o.addEventListener("mousedown",v.onMouseDown,!0),Se(()=>o.removeEventListener("mousedown",v.onMouseDown,!0)),Se(St(o))};return(()=>{var o=Cr(),d=o.firstChild,r=d.firstChild,h=r.firstChild,p=h.firstChild;return d.addEventListener("drop",y=>{y.preventDefault();let w=n.latest;w&&R(y,{repo:e.repo,rootFolderHandle:w,element:e.element})}),d.addEventListener("dragleave",y=>{let w=y.relatedTarget;(!w||!y.currentTarget.contains(w))&&T()}),d.addEventListener("dragover",y=>{let w=y.dataTransfer?.types.includes("Files");if(!w&&!ze(y.dataTransfer)&&!J(y))return;y.preventDefault(),y.dataTransfer.dropEffect=w||_()?"copy":"move";let D=n.latest;D&&I(Me(D.url,D.doc()?.docs?.length??0))}),Rr(m,d),V(r,E(Ce,{square:!0,draggable:!0,clearFilter:()=>i(""),changeFolder:y=>n()?.change(y),get repo(){return e.repo},open:a}),h),V(h,E($e,{}),p),p.$$input=y=>i(y.target.value.toLowerCase()),V(d,E(_e,{get when(){return c()},get fallback(){return E(ge,{depth:0})},get children(){return[E(jr,{get fallback(){return E(ge,{depth:0})},get children(){return E(oe,{depth:0,get repo(){return e.repo},get docs(){return t()?.docs},get handle(){return n.latest},open:a,isSelected:u,get element(){return e.element},get rootFolderHandle(){return n.latest},get filter(){return s()},clearFilter:()=>i("")})}}),E(_e,{get when(){return Le()},get children(){return E(Vr,{get repo(){return e.repo},get rootFolderHandle(){return n.latest},get element(){return e.element}})}})]}}),null),V(d,E(_e,{get when(){return ie()?.element===e.element},get children(){var y=Pr();return V(y,()=>ie().message),y}}),null),_t(()=>Ur(d,"data-dnd-container",e.folderUrl)),_t(()=>p.value=s()),o})()}function ma(e,t){return Wr(()=>E(Yr,{folderUrl:e,get repo(){return t.repo},element:t}),t)}Ir(["input"]);export{ge as a,Yr as b,ma as c};
|
|
15
|
-
//# sourceMappingURL=chunk-
|
|
14
|
+
`;let i=n?" (copy)":"";return s.textContent=e===1?t+i:`${e} items${i}`,document.body.appendChild(s),setTimeout(()=>s.remove(),0),s}import{getImportableUrlFromAutomergeUrl as Ct}from"@inkandswitch/patchwork-filesystem";var Nt={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",avif:"image/avif",bmp:"image/bmp",tiff:"image/tiff",svg:"image/svg+xml",pdf:"application/pdf",mp4:"video/mp4",webm:"video/webm",mov:"video/quicktime",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",txt:"text/plain",md:"text/markdown",csv:"text/csv",json:"application/json",html:"text/html",zip:"application/zip"};function tt(e){let t=e.includes(".")?e.split(".").pop().toLowerCase():"";return t?Nt[t]:void 0}function rt(e){let t=null,n=!1;return{prefetch(){n||e.type!=="file"||(n=!0,e.repo.find(e.url).then(s=>{let i=s?.doc();if(!i)return;let c=String(i.name??e.name??"file"),l=i.extension?`.${String(i.extension).replace(/^\.+/,"")}`:"",g=l&&!c.endsWith(l)?`${c}${l}`:c;t={mime:String(i.mimeType||tt(g)||"application/octet-stream"),filename:g}}).catch(()=>{}))},addTo(s){if(e.type!=="file")return;let i=t?.filename??e.name,c=t?.mime??tt(i)??"application/octet-stream";try{let l=new URL(Ct(e.url),location.origin).href;s.setData("DownloadURL",`${c}:${i}:${l}`)}catch{}}}}function te(e,t){let n,s=!1;return{start(){return n||s?!1:(n=setTimeout(()=>{n=void 0,s=!0,t()},e),!0)},stop(){clearTimeout(n),n=void 0,s=!1}}}function Kt(e){for(let t=e.parentElement;t;t=t.parentElement){let n=getComputedStyle(t).overflowY;if((n==="auto"||n==="scroll")&&t.scrollHeight>t.clientHeight)return t}return document.scrollingElement??document.body}function Ot(e){let t=Kt(e),n=t.getBoundingClientRect(),s=t.querySelectorAll('.document-list-item[aria-selected="true"]');for(let i of s){let c=i.getBoundingClientRect();if(c.top>=n.top&&c.bottom<=n.bottom)return!0}return!1}function nt(e){Ot(e)||e.scrollIntoViewIfNeeded?.()}var Bt=qt('<div role=treeitem tabindex=-1 aria-haspopup=menu class="popmenu__trigger document-list-item"draggable=true>'),Xt=1500;function W(e){let t,n=()=>e.type==="folder",s=()=>(e.parentFolderHandle??e.rootFolderHandle).url,i=rt(e);zt(o=>(e.pressed&&!o&&t&&nt(t),e.pressed));let c=()=>({id:e.id,type:e.type,url:e.url,name:e.name,source:e.element.toolId}),l=te(Xt,()=>{t?.removeAttribute("data-dnd-springload"),e.openWith()});function g(){n()||S.has(e.id)||l.start()&&t?.setAttribute("data-dnd-springload","")}function u(){l.stop(),t?.removeAttribute("data-dnd-springload")}ot(u);function a(o,d){Ae({x:o,y:d,element:t,id:e.id,url:e.url,name:e.name,type:e.type,openWith:e.openWith,startRenaming:e.startRenaming,remove:e.remove,createInside:e.createInside})}let f,v=()=>clearTimeout(f);ot(v);function m(){H(),e.openWith()}return(()=>{var o=Bt();o.$$keydown=r=>{if(r.target!==t)return;let h=!(r.altKey||r.shiftKey||r.metaKey||r.ctrlKey);if(h&&(r.key==="Enter"||r.key===" ")){r.preventDefault(),m();return}if(h&&n()&&e.onToggleExpand&&(r.key==="ArrowRight"&&!e.isExpanded||r.key==="ArrowLeft"&&e.isExpanded)){r.preventDefault(),e.onToggleExpand();return}if(r.key=="Enter"&&r.ctrlKey&&!(r.altKey||r.shiftKey||r.metaKey)){r.preventDefault(),r.stopPropagation();let p=t.getBoundingClientRect();a(p.x+10,p.y+p.height-10)}},ue(o,"dblclick",r=>{r.target.closest("input")||e.startRenaming()}),ue(o,"click",r=>{r.ctrlKey||r.metaKey||r.target.closest(".document-list-folder__toggle, .create-new-button, input")||m()}),o.$$mousedown=r=>{i.prefetch(),r.ctrlKey||r.metaKey?(S.has(e.id)?Z(e.id):k(e.id,c()),r.preventDefault(),r.stopPropagation(),r.stopImmediatePropagation()):S.has(e.id)||H()},o.addEventListener("drop",r=>{r.preventDefault(),r.stopPropagation(),u(),R(r,{repo:e.repo,rootFolderHandle:e.rootFolderHandle,element:e.element,expand:e.expand})}),o.addEventListener("dragleave",r=>{let h=r.relatedTarget;(!h||!t.contains(h))&&(u(),T())}),o.addEventListener("dragover",r=>{r.preventDefault(),r.dataTransfer.dropEffect=_()?"copy":"move";let h=t.getBoundingClientRect(),p;if(n()){let y=(r.clientY-h.top)/h.height;p=y<.25?"above":y>.75?"below":"inside"}else p=Re(r.clientY,t)?"above":"below";p!=="inside"&&r.stopPropagation(),I(G({id:e.id,url:e.url,parentUrl:s(),index:e.itemIndex??0},p)),g()}),o.addEventListener("dragend",()=>{u(),T(),Ue(),H(),K(!1),Q(null),X(!1)}),o.addEventListener("drag",r=>{r.altKey!==_()&&K(r.altKey)}),o.addEventListener("dragstart",r=>{v(),et(r,c(),e.element,i)}),o.addEventListener("pointercancel",v),o.$$pointerup=v,o.$$pointerdown=r=>{(r.pointerType==="touch"||r.pointerType==="pen")&&(f=setTimeout(()=>a(r.clientX,r.clientY),700))},ue(o,"contextmenu",r=>{r.preventDefault(),r.stopPropagation(),a(r.clientX,r.clientY)});var d=t;return typeof d=="function"?Yt(d,o):t=o,Vt(o,()=>e.children),Wt(r=>{var h=e["aria-label"],p=e.pressed?"true":void 0,y=n()?!!e.isExpanded:void 0,w=e.id,D=s(),x=e.itemIndex,$=e.url,M=e.type;return h!==r.e&&A(o,"aria-label",r.e=h),p!==r.t&&A(o,"aria-selected",r.t=p),y!==r.a&&A(o,"aria-expanded",r.a=y),w!==r.o&&A(o,"data-dnd-item",r.o=w),D!==r.i&&A(o,"data-dnd-parent",r.i=D),x!==r.n&&A(o,"data-dnd-index",r.n=x),$!==r.s&&A(o,"data-doc-url",r.s=$),M!==r.h&&A(o,"data-doc-type",r.h=M),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),o})()}jt(["pointerdown","pointerup","mousedown","keydown"]);import{template as it}from"solid-js/web";import{delegateEvents as Jt}from"solid-js/web";import{insert as Gt}from"solid-js/web";import{createComponent as me}from"solid-js/web";import{effect as Qt}from"solid-js/web";import{use as Zt}from"solid-js/web";import{createSelector as rr,createSignal as nr,Match as at,Switch as or}from"solid-js";var er=it("<form style=display:contents><input autofocus class=document-list-item__name>"),tr=it("<span class=document-list-item__name>");function re(e){let t=rr(Te),[n,s]=nr(e.name),i=!1;function c(l,g){if(i)return;i=!0,l&&e.rename(n()??"");let u=g?.closest('[role="treeitem"]');t(e.id)&&L(""),u?.focus()}return me(or,{get children(){return[me(at,{get when(){return t(e.id)},get children(){var l=er(),g=l.firstChild;return l.addEventListener("submit",u=>{u.preventDefault(),c(!0,u.currentTarget.querySelector("input"))}),g.$$input=u=>s(u.target.value),g.$$keydown=u=>{(u.key=="Escape"||u.key=="g"&&u.ctrlKey)&&(u.preventDefault(),u.stopPropagation(),c(!1,u.currentTarget))},g.addEventListener("blur",()=>c(!0)),Zt(u=>{i=!1,s(e.name),setTimeout(()=>{u.focus(),u.select()},80)},g),Qt(()=>g.value=n()),l}}),me(at,{get when(){return!t(e.id)},get children(){var l=tr();return Gt(l,()=>e.name),l}})]}})}Jt(["keydown","input"]);import{template as dt}from"solid-js/web";import{insert as ar}from"solid-js/web";import{createComponent as ir}from"solid-js/web";import{setStyleProperty as fe}from"solid-js/web";import{effect as st}from"solid-js/web";import{For as dr}from"solid-js";var ct=dt('<div class="document-list-item document-list-item--loading"aria-hidden=true><span class=document-list-item__skeleton>'),lr=dt('<div class=document-list__loading aria-busy=true aria-label="Loading documents">');function ne(e){return(()=>{var t=ct();return st(n=>fe(t,"--depth",e.depth??0)),t})()}var lt=["11rem","7rem","9.5rem","6rem","10rem","8rem"];function ge(e){let t=()=>Array.from({length:e.count??5},(n,s)=>s);return(()=>{var n=lr();return ar(n,ir(dr,{get each(){return t()},children:s=>(()=>{var i=ct(),c=i.firstChild;return st(l=>{var g=e.depth??0,u=lt[s%lt.length];return g!==l.e&&fe(i,"--depth",l.e=g),u!==l.t&&fe(c,"width",l.t=u),l},{e:void 0,t:void 0}),i})()})),n})()}var ur=gt("<span aria-hidden=true class=document-list-folder__toggle>"),mr=gt("<div class=document-list-folder role=none><div role=group class=document-list-folder__contents>");function we(e){let[t,n]=fr(!1),[s,i]=B(()=>e.url,e);ye(()=>{i.latest&&j(i.latest)});let c=new Set(e.visitedFolders??[]);c.add(e.url);let l=()=>e.depth??1,g=()=>({"--depth":l()+1}),u=()=>({"--depth":l()});ye(m=>(!m&&e.filter&&z(e.filter,s()?.title??e.name)&&n(!0),e.filter)),ye(()=>{Fe().has(e.url)&&n(!0)});let a=te(1e3,()=>n(!0));gr(a.stop);function f(m){i()?.change(d=>mt(d,["title"],m));let o=e.itemIndex;e.parentFolderHandle?.change(d=>{o!=null&&d.docs[o]?.url===e.url&&mt(d,["docs",o,"name"],m)})}async function v(m){let o=i();if(!o)return;let d=await Pe(e.repo,m),r=0;o.change(h=>{h.docs.push(d),r=h.docs.length-1}),e.clearFilter(),n(!0),e.open(d),L(o.url+"/"+r)}return(()=>{var m=mr(),o=m.firstChild;return m.addEventListener("drop",d=>{d.preventDefault(),d.stopPropagation(),a.stop(),R(d,{repo:e.repo,rootFolderHandle:e.rootFolderHandle,element:e.element,expand:()=>n(!0)})}),m.addEventListener("dragleave",d=>{let r=d.relatedTarget;(!r||!d.currentTarget.contains(r))&&(a.stop(),T())}),m.addEventListener("dragover",d=>{d.preventDefault(),d.stopPropagation(),d.dataTransfer.dropEffect=_()?"copy":"move";let r=d.target.closest(".document-list-item");r||I(G({id:e.url,url:e.url,parentUrl:e.parentFolderHandle?.url??e.url,index:e.itemIndex??0},"inside")),r?.getAttribute("data-dnd-item")===e.url&&!t()&&a.start()}),he(m,F(W,{get"aria-label"(){return s()?.title??e.name??""},startRenaming:()=>{L(e.url)},get remove(){return e.removeFromParent},get id(){return e.url},get url(){return e.url},get name(){return s()?.title??e.name??""},get pressed(){return e.isSelected(e.url)},type:"folder",get element(){return e.element},get repo(){return e.repo},get rootFolderHandle(){return e.rootFolderHandle},get parentFolderHandle(){return e.parentFolderHandle},get itemIndex(){return e.itemIndex},get isExpanded(){return t()},onToggleExpand:()=>n(d=>!d),expand:()=>n(!0),createInside:v,openWith:d=>{e.open({url:e.url,toolId:d,title:s()?.title??e.name,type:"folder"})},get children(){return[(()=>{var d=ur();return cr(d,"click",r=>{r.stopImmediatePropagation(),n(h=>!h)}),he(d,F(ft,{get when(){return t()},get fallback(){return F(de,{})},get children(){return F(de,{style:{rotate:"90deg"}})}})),d})(),F(re,{get name(){return s()?.title??e.name},get id(){return e.url},rename:f})]}}),o),he(o,F(ft,{get when(){return t()||!!e.filter},get children(){return F(pr,{get fallback(){return F(ne,{get depth(){return l()+1}})},get children(){return F(oe,{get docs(){return s()?.docs},get repo(){return e.repo},get depth(){return l()+1},get handle(){return i.latest},get open(){return e.open},get isSelected(){return e.isSelected},visitedFolders:c,get element(){return e.element},get rootFolderHandle(){return e.rootFolderHandle},get filter(){return e.filter},get clearFilter(){return e.clearFilter}})}})}})),sr(d=>{var r=l(),h=u(),p=e.url,y=!t()&&!e.filter,w=l(),D=g();return r!==d.e&&pe(m,"data-depth",d.e=r),d.t=ut(m,h,d.t),p!==d.a&&pe(m,"data-dnd-container",d.a=p),y!==d.o&&o.classList.toggle("document-list-folder__contents--hidden",d.o=y),w!==d.i&&pe(o,"data-depth",d.i=w),d.n=ut(o,D,d.n),d},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),m})()}var yr=xe('<div class="document-list__item document-list__item--visible">'),wr=xe("<div class=document-list__item>"),vr=xe('<div class=document-list-folder__circular-ref style="padding-left:calc(var(--depth) * 1rem)"><span> (i contain myself eventually)'),Lr=_r(()=>import("./create-new-menu-XURDQMPO.js").then(e=>({default:e.NewDocPlaceholder}))),bt=40,Ar=8;function oe(e){let t=e.visitedFolders??new Set,[n,s]=Er(bt);wt(()=>{let a=e.docs?.length??0;if(Dt(n)>=a)return;let f=requestAnimationFrame(function v(){let m=performance.now(),o=Dt(n);do s(o+=bt);while(o<a&&performance.now()-m<Ar);o<a&&(f=requestAnimationFrame(v))});De(()=>cancelAnimationFrame(f))});let i=xr(()=>{let a=e.docs??[];return a.length>n()?a.slice(0,n()):a});function c(a){e.handle.change(f=>Dr(f.docs,a))}let l=()=>!!e.handle&&C()?.containerUrl===e.handle.url,g=a=>{let f=C();if(!f)return;let v=f.index;N(null),e.handle.change(m=>m.docs.splice(v,0,a)),e.open(a),L(e.handle.url+"/"+v)},u=()=>(()=>{var a=yr();return ve(a,b(Lr,{get repo(){return e.repo},onCreate:g,onDismiss:()=>N(null),get clearFilter(){return e.clearFilter}})),a})();return[b(Sr,{get each(){return i()},children:(a,f)=>{let v=()=>!e.filter.length||z(e.filter,a.name),m=()=>c(f()),o=()=>e.handle.url+"/"+f();De(Ve(e.element,a.url));let d=r=>{e.handle.change(p=>{ht(p,["docs",f(),"name"],r)});let h=yt("patchwork:datatype");e.repo.find(a.url).then(async p=>{let{"@patchwork":y}=p.doc();if(y){let w=h.get(y.type);w&&(await h.load(w.id),p.change(D=>w.module.setTitle?.(D,r)))}})};return wt(()=>{if(!e.isSelected(a.url))return;let r=!1,h;e.repo.find(a.url).then(async p=>{if(r)return;let y=yt("patchwork:datatype");async function w(){let x=p.doc();if(!x)return;let $=x["@patchwork"];if(!$?.type)return;let M=y.get($.type);if(!M||(await y.load(M.id),r)||!br(M))return;let P=M.module.getTitle(x);if(!P)return;e.handle.doc()?.docs?.[f()]?.name!==P&&e.handle.change(Y=>{ht(Y,["docs",f(),"name"],P)}),$.title!==P&&p.change(Y=>{Y["@patchwork"]&&(Y["@patchwork"].title=P)})}if(await w(),r)return;let D=()=>w();p.on("change",D),h=()=>p.off("change",D)}),De(()=>{r=!0,h?.()})}),[b(be,{get when(){return pt(()=>!!l())()&&C().index===f()},get children(){return u()}}),(()=>{var r=wr();return ve(r,b(Tr,{get fallback(){return b(ne,{get depth(){return e.depth}})},get children(){return b(Fr,{get children(){return[b(vt,{get when(){return a.type=="folder"},get children(){return b(be,{get when(){return!t.has(a.url)},get fallback(){return(()=>{var h=vr(),p=h.firstChild,y=p.firstChild;return ve(p,()=>a.name,y),h})()},get children(){return b(we,{get url(){return a.url},get depth(){return e.depth},get repo(){return e.repo},removeFromParent:m,get parentFolderHandle(){return e.handle},get itemIndex(){return f()},get open(){return e.open},get name(){return a.name},get isSelected(){return e.isSelected},visitedFolders:t,get element(){return e.element},get rootFolderHandle(){return e.rootFolderHandle},get filter(){return e.filter},get clearFilter(){return e.clearFilter}})}})}}),b(vt,{get when(){return a.type!="folder"},get children(){return b(W,{get"aria-label"(){return a.name},get url(){return a.url},get name(){return a.name},get id(){return o()},startRenaming:()=>L(o()),remove:m,get pressed(){return e.isSelected(a.url)},get type(){return a.type},get element(){return e.element},get repo(){return e.repo},get rootFolderHandle(){return e.rootFolderHandle},get parentFolderHandle(){return e.handle},get itemIndex(){return f()},openWith:h=>e.open({url:a.url,toolId:h,title:a.name,type:a.type}),get children(){return b(re,{get name(){return a.name},get id(){return o()},rename:d})}})}})]}})}})),hr(h=>{var p=!!v(),y=!v();return p!==h.e&&r.classList.toggle("document-list__item--visible",h.e=p),y!==h.t&&r.classList.toggle("document-list__item--invisible",h.t=y),h},{e:void 0,t:void 0}),r})()]}}),b(be,{get when(){return pt(()=>!!l())()&&C().index>=(e.docs?.length??0)},get children(){return u()}})]}import{createEffect as Io,createSignal as $r,onCleanup as Mr,onMount as kr}from"solid-js";import{createStore as Ro,reconcile as Po}from"solid-js/store";import*as Ee from"@inkandswitch/patchwork-providers";function Hr(e){return typeof e=="function"?e():e}function xt(e,t,n){let[s,i]=$r(n);return kr(()=>{let c=Hr(e);if(!c)return;let l=Ee.subscribe(c,t,i);Mr(l)}),s}function Et(e){let t=0,n=0,s=!1,i=new Set,c=new Set;function l(f){return{id:f.getAttribute("data-dnd-item"),url:f.getAttribute("data-doc-url"),type:f.getAttribute("data-doc-type")??"",name:(f.textContent??"").trim(),source:e.source()}}function g(f){let v=f.clientX-t,m=f.clientY-n;if(!s){if(Math.hypot(v,m)<5)return;s=!0}f.preventDefault();let o=Math.min(t,f.clientX),d=Math.min(n,f.clientY),r=Math.max(t,f.clientX),h=Math.max(n,f.clientY),p=e.container();if(!p)return;let y=new Set;for(let w of p.querySelectorAll("[data-dnd-item]")){if(w.offsetParent===null)continue;let D=w.getAttribute("data-dnd-item");if(!D||i.has(D))continue;let x=w.getBoundingClientRect();x.right<o||x.left>r||x.bottom<d||x.top>h||(y.add(D),S.has(D)||k(D,l(w)))}for(let w of c)y.has(w)||Z(w);c=y}function u(){window.removeEventListener("mousemove",g,!0),window.removeEventListener("mouseup",u,!0),s=!1,c=new Set,i=new Set}function a(f){f.button!==0||!(f.metaKey||f.ctrlKey)||f.target.closest(".document-list__toolbar")||(t=f.clientX,n=f.clientY,s=!1,c=new Set,i=new Set(S.keys()),window.addEventListener("mousemove",g,!0),window.addEventListener("mouseup",u,!0))}return{onMouseDown:a}}function St(e){let t='[role="treeitem"]',n=null,s=m=>m.offsetParent!==null,i=()=>[...e.querySelectorAll(t)].filter(s);function c(m){n!==m&&(n&&(n.tabIndex=-1),m.tabIndex=0,n=m)}function l(m){m&&(c(m),m.focus())}function g(){if(n?.isConnected&&s(n)&&n.tabIndex===0)return;n?.isConnected&&(n.tabIndex=-1),n=null;let m=i(),o=m.find(d=>d.getAttribute("aria-selected")==="true")??m[0];o&&c(o)}function u(m){let o=m.parentElement?.closest('[role="group"]');return!o||!e.contains(o)?null:o.parentElement?.querySelector(`:scope > ${t}`)}function a(m){if(m.defaultPrevented||m.altKey||m.ctrlKey||m.metaKey)return;let o=m.target;if(o.closest("input, textarea"))return;let d=o.closest(t);if(!d||!e.contains(d))return;let r=i(),h=r.indexOf(d),p;switch(m.key){case"ArrowDown":p=r[h+1];break;case"ArrowUp":p=r[h-1];break;case"Home":p=r[0];break;case"End":p=r[r.length-1];break;case"ArrowRight":if(d.getAttribute("aria-expanded")!=="true")return;p=r[h+1],p&&u(p)!==d&&(p=null);break;case"ArrowLeft":p=u(d);break;default:return}m.preventDefault(),l(p)}function f(m){let o=m.target.closest(t);o&&e.contains(o)&&o===m.target&&c(o)}let v=new MutationObserver(g);return v.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["class","aria-selected"]}),e.addEventListener("keydown",a),e.addEventListener("focusin",f),g(),()=>{v.disconnect(),e.removeEventListener("keydown",a),e.removeEventListener("focusin",f)}}var Pr=Ft("<p class=document-list__error role=alert>"),Cr=Ft('<aside class=document-list><nav class="document-list__doclist document-list-widget"role=tree aria-multiselectable=true><div class=document-list__toolbar><div class=document-list__filter-container><input name=filter class=document-list__filter placeholder="Filter by title">'),Vr=qr(()=>import("./item-menu-VIMMKF26.js").then(e=>({default:e.ItemMenu})));function Yr(e){let[t,n]=B(()=>e.folderUrl,{repo:e.repo}),[s,i]=Or(""),c=()=>n.state==="ready"||n.state==="refreshing";Tt(()=>{n.latest&&j(n.latest)});let l=xt(e.element,{type:"patchwork:selected-doc"},[]),g=Nr(()=>new Set(l())),u=Kr(g,(o,d)=>d.has(o));Tt(()=>{if(!c())return;let o=l();if(!o.length){ae(new Set);return}if(o.every(r=>Ye(e.element,r)))return;let d=!1;Be(e.repo,e.folderUrl,o).then(r=>{d||ae(r)}),Se(()=>{d=!0})});function a(o){e.element.dispatchEvent(Ne(o))}let f,v=Et({container:()=>f,source:()=>e.element.toolId??""}),m=o=>{f=o,o.addEventListener("mousedown",v.onMouseDown,!0),Se(()=>o.removeEventListener("mousedown",v.onMouseDown,!0)),Se(St(o))};return(()=>{var o=Cr(),d=o.firstChild,r=d.firstChild,h=r.firstChild,p=h.firstChild;return d.addEventListener("drop",y=>{y.preventDefault();let w=n.latest;w&&R(y,{repo:e.repo,rootFolderHandle:w,element:e.element})}),d.addEventListener("dragleave",y=>{let w=y.relatedTarget;(!w||!y.currentTarget.contains(w))&&T()}),d.addEventListener("dragover",y=>{let w=y.dataTransfer?.types.includes("Files");if(!w&&!ze(y.dataTransfer)&&!J(y))return;y.preventDefault(),y.dataTransfer.dropEffect=w||_()?"copy":"move";let D=n.latest;D&&I(Me(D.url,D.doc()?.docs?.length??0))}),Rr(m,d),V(r,E(Ce,{square:!0,draggable:!0,clearFilter:()=>i(""),changeFolder:y=>n()?.change(y),get repo(){return e.repo},open:a}),h),V(h,E($e,{}),p),p.$$input=y=>i(y.target.value.toLowerCase()),V(d,E(_e,{get when(){return c()},get fallback(){return E(ge,{depth:0})},get children(){return[E(jr,{get fallback(){return E(ge,{depth:0})},get children(){return E(oe,{depth:0,get repo(){return e.repo},get docs(){return t()?.docs},get handle(){return n.latest},open:a,isSelected:u,get element(){return e.element},get rootFolderHandle(){return n.latest},get filter(){return s()},clearFilter:()=>i("")})}}),E(_e,{get when(){return Le()},get children(){return E(Vr,{get repo(){return e.repo},get rootFolderHandle(){return n.latest},get element(){return e.element}})}})]}}),null),V(d,E(_e,{get when(){return ie()?.element===e.element},get children(){var y=Pr();return V(y,()=>ie().message),y}}),null),_t(()=>Ur(d,"data-dnd-container",e.folderUrl)),_t(()=>p.value=s()),o})()}function ma(e,t){return Wr(()=>E(Yr,{folderUrl:e,get repo(){return t.repo},element:t}),t)}Ir(["input"]);export{ge as a,Yr as b,ma as c};
|
|
15
|
+
//# sourceMappingURL=chunk-MC4Y7PGQ.js.map
|
package/packages/sideboard/dist/{document-list-panel-6IHXAUVQ.js → document-list-panel-4PFAKODT.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as a,c as b}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=document-list-panel-
|
|
1
|
+
import{b as a,c as b}from"./chunk-MC4Y7PGQ.js";import"./chunk-TPAJEUW4.js";import"./chunk-RZPTJTVZ.js";import"./chunk-YZ573CYO.js";import"./chunk-FEMULUBJ.js";import"./chunk-TCL6SLDB.js";import"./chunk-FW4363Y4.js";export{a as DocumentListPanel,b as renderDocumentListPanel};
|
|
2
|
+
//# sourceMappingURL=document-list-panel-4PFAKODT.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./chunk-FW4363Y4.js";async function n(){let e=new URL("./index.css",import.meta.url);return(await fetch(e)).text()}function r(e){let t="sideboard-styles",o=document.head.querySelector(`#${t}`)??document.createElement("style");Object.assign(o,{textContent:e,id:t}),document.head.append(o)}var a={id:"chee/document-list",type:"patchwork:tool",name:"Document List",supportedDatatypes:["folder"],icon:"FolderOpen",unlisted:!0,async load(){let[{renderDocumentListPanel:e},t]=await Promise.all([import("./document-list-panel-
|
|
1
|
+
import"./chunk-FW4363Y4.js";async function n(){let e=new URL("./index.css",import.meta.url);return(await fetch(e)).text()}function r(e){let t="sideboard-styles",o=document.head.querySelector(`#${t}`)??document.createElement("style");Object.assign(o,{textContent:e,id:t}),document.head.append(o)}var a={id:"chee/document-list",type:"patchwork:tool",name:"Document List",supportedDatatypes:["folder"],icon:"FolderOpen",unlisted:!0,async load(){let[{renderDocumentListPanel:e},t]=await Promise.all([import("./document-list-panel-4PFAKODT.js"),n()]);return(o,i)=>(r(t),e(o.url,i))}},c=[a,Object.assign({},a,{id:"folder-tree-view",name:"Folder Tree View",icon:"Tree",unlisted:!1}),{id:"chee/account-bar",type:"patchwork:tool",name:"Account Bar",supportedDatatypes:["account"],icon:"UserCircle",unlisted:!0,async load(){let[{renderAccountBar:e},t]=await Promise.all([import("./account-bar-JHI3FZZT.js"),n()]);return(o,i)=>(r(t),e(o,i))}},{id:"chee/sideboard",type:"patchwork:tool",tags:["sidebar-account"],name:"Sideboard",supportedDatatypes:["account"],icon:"FolderOpen",unlisted:!0,async load(){let[{renderSideboard:e},t]=await Promise.all([import("./sideboard/sideboard.js"),n()]);return(o,i)=>(r(t),e(o,i))}}];export{c as plugins};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as f,b as w,c as v,d as o,e as a}from"./chunk-6LWWNFKU.js";import{h as m,i as g,o as S}from"./chunk-RZPTJTVZ.js";import{m as c,p}from"./chunk-YZ573CYO.js";import"./chunk-TCL6SLDB.js";import"./chunk-FW4363Y4.js";import{memo as $}from"solid-js/web";import{createComponent as e}from"solid-js/web";import{For as d,Show as u}from"solid-js";import{parseAutomergeUrl as I}from"@automerge/automerge-repo/slim";function A(l){let n=()=>{let r=m();return r&&l.element.contains(r.element)?r:null};function i(r){m()===r&&g(null),r.element.isConnected&&r.element.focus({preventScroll:!0})}return e(u,{get when(){return n()},keyed:!0,children:r=>e(v,{get anchor(){return{x:r.x,y:r.y}},placement:"right-start",onClose:()=>i(r),get children(){return e(T,{target:r,get repo(){return l.repo},get rootFolderHandle(){return l.rootFolderHandle}})}})})}function T(l){let n=l.target,i=w(n.type),r=f(t=>!t.unlisted),h=()=>c.has(n.id)&&c.size>1,s=()=>`${location.protocol}//${location.host}/#doc=${I(n.url).documentId}`;async function b(){if(!h()){n.remove();return}let t=[...c.values()].map(y=>y.url);confirm(`Remove ${t.length} items from the sidebar?`)&&(p(),await S(l.repo,l.rootFolderHandle,t))}return[e(u,{get when(){return n.createInside},get children(){return e(a,{label:"Create",get children(){return e(d,{each:r,children:t=>e(o,{onSelect:()=>n.createInside(t),get children(){return t.name}})})}})}}),e(u,{get when(){return i.length},get children(){return e(a,{label:"Open with...",get children(){return e(d,{each:i,children:t=>e(o,{onSelect:()=>n.openWith(t.id),get children(){return t.name}})})}})}}),e(a,{label:"Copy",get children(){return[e(o,{onSelect:()=>navigator.clipboard.writeText(n.url),children:"Automerge url"}),e(o,{onSelect:()=>navigator.clipboard.writeText(s()),children:"Patchwork url"}),e(u,{get when(){return i.length},get children(){return e(a,{label:"Patchwork url with...",get children(){return e(d,{each:i,children:t=>e(o,{onSelect:()=>navigator.clipboard.writeText(`${s()}&tool=${t.id}`),get children(){return t.name}})})}})}})]}}),e(o,{onSelect:()=>n.startRenaming(),children:"Rename"}),e(o,{onSelect:b,get children(){return $(()=>!!h())()?`Remove ${c.size} items`:"Remove"}})]}export{A as ItemMenu};
|
|
2
|
+
//# sourceMappingURL=item-menu-VIMMKF26.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/sideboard/document-list/item-menu.tsx"],
|
|
4
|
+
"sourcesContent": ["import { memo as _$memo } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\nimport { Menu, MenuItem, SubMenu } from \"../popmenu.tsx\";\nimport { For, Show } from \"solid-js\";\nimport { parseAutomergeUrl } from \"@automerge/automerge-repo/slim\";\nimport { useSupportedToolsForType, useFilteredDatatypes } from \"../lib/solid-plugins\";\nimport { dragstack, clearDragstack } from \"../dnd/dnd.ts\";\nimport { removeItemsByUrl } from \"../dnd/operations.ts\";\nimport { menuTarget, setMenuTarget } from \"../state.ts\";\nexport function ItemMenu(props) {\n const target = () => {\n const t = menuTarget();\n return t && props.element.contains(t.element) ? t : null;\n };\n function close(t) {\n if (menuTarget() === t) setMenuTarget(null);\n if (t.element.isConnected) t.element.focus({\n preventScroll: true\n });\n }\n return _$createComponent(Show, {\n get when() {\n return target();\n },\n keyed: true,\n children: t => _$createComponent(Menu, {\n get anchor() {\n return {\n x: t.x,\n y: t.y\n };\n },\n placement: \"right-start\",\n onClose: () => close(t),\n get children() {\n return _$createComponent(MenuItems, {\n target: t,\n get repo() {\n return props.repo;\n },\n get rootFolderHandle() {\n return props.rootFolderHandle;\n }\n });\n }\n })\n });\n}\nfunction MenuItems(props) {\n const t = props.target;\n const tools = useSupportedToolsForType(t.type);\n const datatypes = useFilteredDatatypes(item => !item.unlisted);\n const multi = () => dragstack.has(t.id) && dragstack.size > 1;\n const patchworkUrl = () => `${location.protocol}//${location.host}/#doc=${parseAutomergeUrl(t.url).documentId}`;\n async function handleRemove() {\n if (!multi()) {\n t.remove();\n return;\n }\n const urls = [...dragstack.values()].map(item => item.url);\n if (!confirm(`Remove ${urls.length} items from the sidebar?`)) return;\n clearDragstack();\n await removeItemsByUrl(props.repo, props.rootFolderHandle, urls);\n }\n return [_$createComponent(Show, {\n get when() {\n return t.createInside;\n },\n get children() {\n return _$createComponent(SubMenu, {\n label: \"Create\",\n get children() {\n return _$createComponent(For, {\n each: datatypes,\n children: datatype => _$createComponent(MenuItem, {\n onSelect: () => t.createInside(datatype),\n get children() {\n return datatype.name;\n }\n })\n });\n }\n });\n }\n }), _$createComponent(Show, {\n get when() {\n return tools.length;\n },\n get children() {\n return _$createComponent(SubMenu, {\n label: \"Open with...\",\n get children() {\n return _$createComponent(For, {\n each: tools,\n children: tool => _$createComponent(MenuItem, {\n onSelect: () => t.openWith(tool.id),\n get children() {\n return tool.name;\n }\n })\n });\n }\n });\n }\n }), _$createComponent(SubMenu, {\n label: \"Copy\",\n get children() {\n return [_$createComponent(MenuItem, {\n onSelect: () => navigator.clipboard.writeText(t.url),\n children: \"Automerge url\"\n }), _$createComponent(MenuItem, {\n onSelect: () => navigator.clipboard.writeText(patchworkUrl()),\n children: \"Patchwork url\"\n }), _$createComponent(Show, {\n get when() {\n return tools.length;\n },\n get children() {\n return _$createComponent(SubMenu, {\n label: \"Patchwork url with...\",\n get children() {\n return _$createComponent(For, {\n each: tools,\n children: tool => _$createComponent(MenuItem, {\n onSelect: () => navigator.clipboard.writeText(`${patchworkUrl()}&tool=${tool.id}`),\n get children() {\n return tool.name;\n }\n })\n });\n }\n });\n }\n })];\n }\n }), _$createComponent(MenuItem, {\n onSelect: () => t.startRenaming(),\n children: \"Rename\"\n }), _$createComponent(MenuItem, {\n onSelect: handleRemove,\n get children() {\n return _$memo(() => !!multi())() ? `Remove ${dragstack.size} items` : \"Remove\";\n }\n })];\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["_$memo", "_$createComponent", "For", "Show", "parseAutomergeUrl", "ItemMenu", "props", "target", "t", "menuTarget", "close", "setMenuTarget", "_$createComponent", "Show", "Menu", "MenuItems", "tools", "useSupportedToolsForType", "datatypes", "useFilteredDatatypes", "item", "multi", "dragstack", "patchworkUrl", "parseAutomergeUrl", "handleRemove", "urls", "clearDragstack", "removeItemsByUrl", "SubMenu", "For", "datatype", "MenuItem", "tool", "_$memo"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as i,b as a}from"../chunk-
|
|
1
|
+
import{a as i,b as a}from"../chunk-MC4Y7PGQ.js";import"../chunk-TPAJEUW4.js";import"../chunk-RZPTJTVZ.js";import"../chunk-YZ573CYO.js";import{a as d}from"../chunk-25X3B3RC.js";import{a as m}from"../chunk-FEMULUBJ.js";import"../chunk-TCL6SLDB.js";import"../chunk-FW4363Y4.js";import{template as u}from"solid-js/web";import{insert as n}from"solid-js/web";import{createComponent as t}from"solid-js/web";import{Show as p}from"solid-js";import{render as g}from"solid-js/web";var s=u("<div class=sideboard>"),f=u('<aside class=document-list><nav class="document-list__doclist document-list-widget">');function _(e){let r=m(e.handle);return(()=>{var o=s();return n(o,t(p,{get when(){return r.rootFolderUrl},get fallback(){return(()=>{var l=f(),c=l.firstChild;return n(c,t(i,{depth:0})),l})()},get children(){return t(a,{get folderUrl(){return r.rootFolderUrl},get repo(){return e.repo},get element(){return e.element}})}}),null),n(o,t(d,{get handle(){return e.handle},get repo(){return e.repo},get element(){return e.element}}),null),o})()}function x(e,r){return g(()=>t(_,{handle:e,get repo(){return r.repo},element:r}),r)}export{_ as Sideboard,x as renderSideboard};
|
|
2
2
|
//# sourceMappingURL=sideboard.js.map
|
package/plugin-registry-url
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
automerge:
|
|
1
|
+
automerge:4PPRUM66unN42nH7E8Yk6XFLu3Kv
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as f,b as w,c as v,d as o,e as a}from"./chunk-6LWWNFKU.js";import{h as s,i as g,o as S}from"./chunk-RZPTJTVZ.js";import{m as i,p}from"./chunk-YZ573CYO.js";import"./chunk-TCL6SLDB.js";import"./chunk-FW4363Y4.js";import{memo as $}from"solid-js/web";import{createComponent as e}from"solid-js/web";import{For as m,Show as u}from"solid-js";import{parseAutomergeUrl as I}from"@automerge/automerge-repo/slim";function A(l){let t=()=>{let n=s();return n&&l.element.contains(n.element)?n:null};function c(){let n=t();n&&(g(null),n.element.focus({preventScroll:!0}))}return e(u,{get when(){return t()},keyed:!0,children:n=>e(v,{get anchor(){return{x:n.x,y:n.y}},placement:"right-start",onClose:c,get children(){return e(T,{target:n,get repo(){return l.repo},get rootFolderHandle(){return l.rootFolderHandle}})}})})}function T(l){let t=l.target,c=w(t.type),n=f(r=>!r.unlisted),d=()=>i.has(t.id)&&i.size>1,h=()=>`${location.protocol}//${location.host}/#doc=${I(t.url).documentId}`;async function b(){if(!d()){t.remove();return}let r=[...i.values()].map(y=>y.url);confirm(`Remove ${r.length} items from the sidebar?`)&&(p(),await S(l.repo,l.rootFolderHandle,r))}return[e(u,{get when(){return t.createInside},get children(){return e(a,{label:"Create",get children(){return e(m,{each:n,children:r=>e(o,{onSelect:()=>t.createInside(r),get children(){return r.name}})})}})}}),e(u,{get when(){return c.length},get children(){return e(a,{label:"Open with...",get children(){return e(m,{each:c,children:r=>e(o,{onSelect:()=>t.openWith(r.id),get children(){return r.name}})})}})}}),e(a,{label:"Copy",get children(){return[e(o,{onSelect:()=>navigator.clipboard.writeText(t.url),children:"Automerge url"}),e(o,{onSelect:()=>navigator.clipboard.writeText(h()),children:"Patchwork url"}),e(u,{get when(){return c.length},get children(){return e(a,{label:"Patchwork url with...",get children(){return e(m,{each:c,children:r=>e(o,{onSelect:()=>navigator.clipboard.writeText(`${h()}&tool=${r.id}`),get children(){return r.name}})})}})}})]}}),e(o,{onSelect:()=>t.startRenaming(),children:"Rename"}),e(o,{onSelect:b,get children(){return $(()=>!!d())()?`Remove ${i.size} items`:"Remove"}})]}export{A as ItemMenu};
|
|
2
|
-
//# sourceMappingURL=item-menu-7ZNKM77G.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/sideboard/document-list/item-menu.tsx"],
|
|
4
|
-
"sourcesContent": ["import { memo as _$memo } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\nimport { Menu, MenuItem, SubMenu } from \"../popmenu.tsx\";\nimport { For, Show } from \"solid-js\";\nimport { parseAutomergeUrl } from \"@automerge/automerge-repo/slim\";\nimport { useSupportedToolsForType, useFilteredDatatypes } from \"../lib/solid-plugins\";\nimport { dragstack, clearDragstack } from \"../dnd/dnd.ts\";\nimport { removeItemsByUrl } from \"../dnd/operations.ts\";\nimport { menuTarget, setMenuTarget } from \"../state.ts\";\nexport function ItemMenu(props) {\n const target = () => {\n const t = menuTarget();\n return t && props.element.contains(t.element) ? t : null;\n };\n function close() {\n const t = target();\n if (!t) return;\n setMenuTarget(null);\n t.element.focus({\n preventScroll: true\n });\n }\n return _$createComponent(Show, {\n get when() {\n return target();\n },\n keyed: true,\n children: t => _$createComponent(Menu, {\n get anchor() {\n return {\n x: t.x,\n y: t.y\n };\n },\n placement: \"right-start\",\n onClose: close,\n get children() {\n return _$createComponent(MenuItems, {\n target: t,\n get repo() {\n return props.repo;\n },\n get rootFolderHandle() {\n return props.rootFolderHandle;\n }\n });\n }\n })\n });\n}\nfunction MenuItems(props) {\n const t = props.target;\n const tools = useSupportedToolsForType(t.type);\n const datatypes = useFilteredDatatypes(item => !item.unlisted);\n const multi = () => dragstack.has(t.id) && dragstack.size > 1;\n const patchworkUrl = () => `${location.protocol}//${location.host}/#doc=${parseAutomergeUrl(t.url).documentId}`;\n async function handleRemove() {\n if (!multi()) {\n t.remove();\n return;\n }\n const urls = [...dragstack.values()].map(item => item.url);\n if (!confirm(`Remove ${urls.length} items from the sidebar?`)) return;\n clearDragstack();\n await removeItemsByUrl(props.repo, props.rootFolderHandle, urls);\n }\n return [_$createComponent(Show, {\n get when() {\n return t.createInside;\n },\n get children() {\n return _$createComponent(SubMenu, {\n label: \"Create\",\n get children() {\n return _$createComponent(For, {\n each: datatypes,\n children: datatype => _$createComponent(MenuItem, {\n onSelect: () => t.createInside(datatype),\n get children() {\n return datatype.name;\n }\n })\n });\n }\n });\n }\n }), _$createComponent(Show, {\n get when() {\n return tools.length;\n },\n get children() {\n return _$createComponent(SubMenu, {\n label: \"Open with...\",\n get children() {\n return _$createComponent(For, {\n each: tools,\n children: tool => _$createComponent(MenuItem, {\n onSelect: () => t.openWith(tool.id),\n get children() {\n return tool.name;\n }\n })\n });\n }\n });\n }\n }), _$createComponent(SubMenu, {\n label: \"Copy\",\n get children() {\n return [_$createComponent(MenuItem, {\n onSelect: () => navigator.clipboard.writeText(t.url),\n children: \"Automerge url\"\n }), _$createComponent(MenuItem, {\n onSelect: () => navigator.clipboard.writeText(patchworkUrl()),\n children: \"Patchwork url\"\n }), _$createComponent(Show, {\n get when() {\n return tools.length;\n },\n get children() {\n return _$createComponent(SubMenu, {\n label: \"Patchwork url with...\",\n get children() {\n return _$createComponent(For, {\n each: tools,\n children: tool => _$createComponent(MenuItem, {\n onSelect: () => navigator.clipboard.writeText(`${patchworkUrl()}&tool=${tool.id}`),\n get children() {\n return tool.name;\n }\n })\n });\n }\n });\n }\n })];\n }\n }), _$createComponent(MenuItem, {\n onSelect: () => t.startRenaming(),\n children: \"Rename\"\n }), _$createComponent(MenuItem, {\n onSelect: handleRemove,\n get children() {\n return _$memo(() => !!multi())() ? `Remove ${dragstack.size} items` : \"Remove\";\n }\n })];\n}"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["_$memo", "_$createComponent", "For", "Show", "parseAutomergeUrl", "ItemMenu", "props", "target", "t", "menuTarget", "close", "setMenuTarget", "_$createComponent", "Show", "Menu", "MenuItems", "tools", "useSupportedToolsForType", "datatypes", "useFilteredDatatypes", "item", "multi", "dragstack", "patchworkUrl", "parseAutomergeUrl", "handleRemove", "urls", "clearDragstack", "removeItemsByUrl", "SubMenu", "For", "datatype", "MenuItem", "tool", "_$memo"]
|
|
7
|
-
}
|
|
File without changes
|
|
File without changes
|