@inkandswitch/patchwork-pkg-base 0.0.65 → 0.0.67

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.
Files changed (60) hide show
  1. package/module-settings-url +1 -0
  2. package/package.json +2 -1
  3. package/packages/codemirror-markdown/example.js +1 -2
  4. package/packages/drafts/dist/assets/{DraftOverlayProvider-VYKlzOy1.js → DraftOverlayProvider-D2vIz7hy.js} +2 -3
  5. package/packages/drafts/dist/assets/{DraftOverlayProvider-VYKlzOy1.js.map → DraftOverlayProvider-D2vIz7hy.js.map} +1 -1
  6. package/packages/drafts/dist/assets/{DraftStateProvider-DX8b_RgQ.js → DraftStateProvider-Bhz0S4c1.js} +212 -87
  7. package/packages/drafts/dist/assets/DraftStateProvider-Bhz0S4c1.js.map +1 -0
  8. package/packages/drafts/dist/assets/{draft-docs-Bi8K1y3a.js → draft-docs-DyJ2l14d.js} +108 -99
  9. package/packages/drafts/dist/assets/draft-docs-DyJ2l14d.js.map +1 -0
  10. package/packages/drafts/dist/assets/{main-EEciTwbZ.js → main-CG9HOCai.js} +14 -10
  11. package/packages/drafts/dist/assets/main-CG9HOCai.js.map +1 -0
  12. package/packages/drafts/dist/index.js +9 -9
  13. package/packages/drafts/package.json +5 -5
  14. package/packages/sideboard/dist/{chunk-KHS2XJKP.js → chunk-6POQCUBB.js} +3 -3
  15. package/packages/sideboard/dist/{chunk-TXFTRSLY.js → chunk-DS3QVJZT.js} +3 -3
  16. package/packages/sideboard/dist/chunk-DS3QVJZT.js.map +7 -0
  17. package/packages/sideboard/dist/{create-new-menu-EU5KJJ3R.js → create-new-menu-VA4ELRJ6.js} +2 -2
  18. package/packages/sideboard/dist/document-list-panel-GHYN6JR5.js +2 -0
  19. package/packages/sideboard/dist/index.js +1 -1
  20. package/packages/sideboard/dist/sideboard/sideboard.js +1 -1
  21. package/packages/tldraw4/dist/{chunk-IKZWERSR.js → chunk-G3PMV62Z.js} +1 -3
  22. package/packages/tldraw4/dist/{chunk-7CJQMVDI.js → chunk-PMHAL5YM.js} +4 -4
  23. package/packages/tldraw4/dist/datatype.js +2 -2
  24. package/packages/tldraw4/dist/main.js +1 -1
  25. package/packages/tldraw4/dist/{sanitizeSvg-OOYBXUQ2.js → sanitizeSvg-NCGPTJ3E.js} +2 -2
  26. package/packages/tldraw4/dist/tool.js +450 -5675
  27. package/packages/tldraw4/dist/tool.js.map +4 -4
  28. package/packages/tldraw4/package.json +0 -1
  29. package/packages/tldraw5/dist/{chunk-GKLJTYCF.js → chunk-DO47QRII.js} +1 -3
  30. package/packages/tldraw5/dist/{chunk-4JN3PIR7.js → chunk-FTKY6DDS.js} +3 -3
  31. package/packages/tldraw5/dist/{chunk-JDHJ334K.js → chunk-SZI4VCOI.js} +4 -4
  32. package/packages/tldraw5/dist/datatype.js +3 -3
  33. package/packages/tldraw5/dist/main.js +1 -1
  34. package/packages/tldraw5/dist/{sanitizeSvg-3EKLLIYO.js → sanitizeSvg-J7F3MQGT.js} +2 -2
  35. package/packages/tldraw5/dist/{script-VW3AAU5T.js → script-4RKE5JKT.js} +3 -3
  36. package/packages/tldraw5/dist/script-4RKE5JKT.js.map +7 -0
  37. package/packages/tldraw5/dist/{tldr-archive-WERHN3T4.js → tldr-archive-5X7EMHWZ.js} +3 -3
  38. package/packages/tldraw5/dist/tool.js +293 -1543
  39. package/packages/tldraw5/dist/tool.js.map +4 -4
  40. package/packages/tldraw5/package.json +0 -1
  41. package/plugin-registry-url +1 -0
  42. package/packages/drafts/dist/assets/DraftStateProvider-DX8b_RgQ.js.map +0 -1
  43. package/packages/drafts/dist/assets/draft-docs-Bi8K1y3a.js.map +0 -1
  44. package/packages/drafts/dist/assets/index-FKZtof6Z.js +0 -67
  45. package/packages/drafts/dist/assets/index-FKZtof6Z.js.map +0 -1
  46. package/packages/drafts/dist/assets/main-EEciTwbZ.js.map +0 -1
  47. package/packages/sideboard/dist/chunk-TXFTRSLY.js.map +0 -7
  48. package/packages/sideboard/dist/document-list-panel-WDIVYTZU.js +0 -2
  49. package/packages/tldraw5/dist/script-VW3AAU5T.js.map +0 -7
  50. /package/packages/sideboard/dist/{chunk-KHS2XJKP.js.map → chunk-6POQCUBB.js.map} +0 -0
  51. /package/packages/sideboard/dist/{create-new-menu-EU5KJJ3R.js.map → create-new-menu-VA4ELRJ6.js.map} +0 -0
  52. /package/packages/sideboard/dist/{document-list-panel-WDIVYTZU.js.map → document-list-panel-GHYN6JR5.js.map} +0 -0
  53. /package/packages/tldraw4/dist/{chunk-IKZWERSR.js.map → chunk-G3PMV62Z.js.map} +0 -0
  54. /package/packages/tldraw4/dist/{chunk-7CJQMVDI.js.map → chunk-PMHAL5YM.js.map} +0 -0
  55. /package/packages/tldraw4/dist/{sanitizeSvg-OOYBXUQ2.js.map → sanitizeSvg-NCGPTJ3E.js.map} +0 -0
  56. /package/packages/tldraw5/dist/{chunk-GKLJTYCF.js.map → chunk-DO47QRII.js.map} +0 -0
  57. /package/packages/tldraw5/dist/{chunk-4JN3PIR7.js.map → chunk-FTKY6DDS.js.map} +0 -0
  58. /package/packages/tldraw5/dist/{chunk-JDHJ334K.js.map → chunk-SZI4VCOI.js.map} +0 -0
  59. /package/packages/tldraw5/dist/{sanitizeSvg-3EKLLIYO.js.map → sanitizeSvg-J7F3MQGT.js.map} +0 -0
  60. /package/packages/tldraw5/dist/{tldr-archive-WERHN3T4.js.map → tldr-archive-5X7EMHWZ.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/DraftStateProvider-DX8b_RgQ.js","./assets/index-FKZtof6Z.js","./assets/clone-policy-CIdEhg7W.js","./assets/draft-docs-Bi8K1y3a.js","./assets/DraftOverlayProvider-VYKlzOy1.js","./assets/main-EEciTwbZ.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/DraftStateProvider-Bhz0S4c1.js","./assets/clone-policy-CIdEhg7W.js","./assets/draft-docs-DyJ2l14d.js","./assets/DraftOverlayProvider-D2vIz7hy.js","./assets/main-CG9HOCai.js"])))=>i.map(i=>d[i]);
2
2
  const scriptRel = "modulepreload";
3
3
  const assetsURL = function(dep, importerUrl) {
4
4
  return new URL(dep, importerUrl).href;
@@ -70,9 +70,9 @@ const plugins = [
70
70
  name: "Draft State Provider",
71
71
  async load() {
72
72
  const { DraftStateProvider } = await __vitePreload(async () => {
73
- const { DraftStateProvider: DraftStateProvider2 } = await import("./assets/DraftStateProvider-DX8b_RgQ.js");
73
+ const { DraftStateProvider: DraftStateProvider2 } = await import("./assets/DraftStateProvider-Bhz0S4c1.js");
74
74
  return { DraftStateProvider: DraftStateProvider2 };
75
- }, true ? __vite__mapDeps([0,1,2,3]) : void 0, import.meta.url);
75
+ }, true ? __vite__mapDeps([0,1,2]) : void 0, import.meta.url);
76
76
  return DraftStateProvider;
77
77
  }
78
78
  },
@@ -82,9 +82,9 @@ const plugins = [
82
82
  name: "Draft Overlay Provider",
83
83
  async load() {
84
84
  const { DraftOverlayProvider } = await __vitePreload(async () => {
85
- const { DraftOverlayProvider: DraftOverlayProvider2 } = await import("./assets/DraftOverlayProvider-VYKlzOy1.js");
85
+ const { DraftOverlayProvider: DraftOverlayProvider2 } = await import("./assets/DraftOverlayProvider-D2vIz7hy.js");
86
86
  return { DraftOverlayProvider: DraftOverlayProvider2 };
87
- }, true ? __vite__mapDeps([4,1,2]) : void 0, import.meta.url);
87
+ }, true ? __vite__mapDeps([3,1]) : void 0, import.meta.url);
88
88
  return DraftOverlayProvider;
89
89
  }
90
90
  },
@@ -110,9 +110,9 @@ const plugins = [
110
110
  supportedDatatypes: ["account"],
111
111
  async load() {
112
112
  const { renderDraftsSidebar } = await __vitePreload(async () => {
113
- const { renderDraftsSidebar: renderDraftsSidebar2 } = await import("./assets/main-EEciTwbZ.js");
113
+ const { renderDraftsSidebar: renderDraftsSidebar2 } = await import("./assets/main-CG9HOCai.js");
114
114
  return { renderDraftsSidebar: renderDraftsSidebar2 };
115
- }, true ? __vite__mapDeps([5,1,3]) : void 0, import.meta.url);
115
+ }, true ? __vite__mapDeps([4,2]) : void 0, import.meta.url);
116
116
  return renderDraftsSidebar;
117
117
  }
118
118
  },
@@ -126,9 +126,9 @@ const plugins = [
126
126
  tags: ["context-tool"],
127
127
  async load() {
128
128
  const { renderDraftsSidebar } = await __vitePreload(async () => {
129
- const { renderDraftsSidebar: renderDraftsSidebar2 } = await import("./assets/main-EEciTwbZ.js");
129
+ const { renderDraftsSidebar: renderDraftsSidebar2 } = await import("./assets/main-CG9HOCai.js");
130
130
  return { renderDraftsSidebar: renderDraftsSidebar2 };
131
- }, true ? __vite__mapDeps([5,1,3]) : void 0, import.meta.url);
131
+ }, true ? __vite__mapDeps([4,2]) : void 0, import.meta.url);
132
132
  return (element) => renderDraftsSidebar(null, element);
133
133
  }
134
134
  }
@@ -15,16 +15,16 @@
15
15
  "dependencies": {
16
16
  "@automerge/automerge": "3.3.0-fragments.1",
17
17
  "@automerge/automerge-repo": "2.6.0-subduction.47",
18
- "@inkandswitch/patchwork-elements": "1.0.0",
19
- "@inkandswitch/patchwork-plugins": "^0.0.11",
20
- "@inkandswitch/patchwork-providers": "0.5.1",
21
- "@inkandswitch/patchwork-providers-solid": "0.2.7",
18
+ "@inkandswitch/patchwork-elements": "^6.0.2",
19
+ "@inkandswitch/patchwork-plugins": "^1.2.5",
20
+ "@inkandswitch/patchwork-providers": "^0.5.2",
21
+ "@inkandswitch/patchwork-providers-solid": "^0.2.8",
22
22
  "solid-automerge": "^2.0.1",
23
23
  "solid-js": "^1.9.14"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@eslint/js": "^9.39.5",
27
- "@inkandswitch/patchwork-bootloader": "^0.2.8",
27
+ "@inkandswitch/patchwork-bootloader": "^0.7.2",
28
28
  "@typescript-eslint/parser": "^8.66.0",
29
29
  "eslint": "^9.39.5",
30
30
  "globals": "^16.5.0",
@@ -1,4 +1,4 @@
1
- import{a as Te,b as ae,c as Ie,d as Ae}from"./chunk-TXFTRSLY.js";import{a as B,b as A,c as J,d as _e,e as U,f as ve,g as oe,h as be,i as Fe,j as T,k as H}from"./chunk-NO6SJFVH.js";import{b as ie,c as L,d as G,g as N,h as Q,i as le,j as R,k as $,l as V,m as Z,n as Y,o as $e,p as Ee,q as Se,r as P,s as ee}from"./chunk-ZQBDNEEV.js";import{b as z,c as Le}from"./chunk-LJ5XCENG.js";import{template as ir}from"solid-js/web";import{delegateEvents as lr}from"solid-js/web";import{insert as xe}from"solid-js/web";import{effect as rt}from"solid-js/web";import{createComponent as k}from"solid-js/web";import{use as dr}from"solid-js/web";import{createEffect as cr,createMemo as ur,createSelector as mr,createSignal as nt,lazy as fr,onCleanup as ot,Show as at,Suspense as gr}from"solid-js";import{render as hr}from"solid-js/web";async function de(e,o,i,m,g){if(g.has(o))return!1;let u=new Set(g);u.add(o);let s;try{s=(await e.find(o)).doc()}catch{return!1}if(!s?.docs)return!1;let h=s.docs.some(l=>i.has(l.url));return(await Promise.all(s.docs.filter(l=>l.type==="folder").map(l=>de(e,l.url,i,m,u)))).some(Boolean)&&(h=!0),h&&m.add(o),h}import{template as we}from"solid-js/web";import{effect as qt}from"solid-js/web";import{memo as We}from"solid-js/web";import{insert as pe}from"solid-js/web";import{createComponent as E}from"solid-js/web";import{deleteAt as Wt,updateText as je}from"@automerge/automerge-repo/slim";import{getRegistry as Xe,isLoadedPlugin as jt}from"@inkandswitch/patchwork-plugins";import{createEffect as ze,createMemo as Xt,createSignal as zt,For as Jt,lazy as Gt,Match as Je,onCleanup as Ge,Show as ye,Suspense as Qt,Switch as Zt,untrack as Qe}from"solid-js";import{template as Ye}from"solid-js/web";import{style as Oe}from"solid-js/web";import{setAttribute as X}from"solid-js/web";import{effect as qe}from"solid-js/web";import{insert as ge}from"solid-js/web";import{createComponent as M}from"solid-js/web";import{addEventListener as Ct}from"solid-js/web";import"solid-js/web";import{updateText as Rt}from"@automerge/automerge-repo/slim";async function K(e,o,i,m,g){for(let u of Array.from(e))try{let s=await u.arrayBuffer(),h=new Uint8Array(s),y=u.name.split("."),l=y.length>1?y.pop():"",c=y.join("."),D=await i.create2({"@patchwork":{type:"file"},content:h,extension:l,mimeType:u.type||"application/octet-stream",name:c}),x=m==="above"?g:m==="below"?g+1:0;o.change(_=>{_.docs.splice(x,0,{url:D.url,name:u.name,type:"file"})}),T("FileDrop: Created file document:",u.name,D.url)}catch(s){T("FileDrop: Failed to create file document:",s)}}import{createEffect as Be,createSignal as Ht,onCleanup as Kt,Show as Ve,Suspense as Ot}from"solid-js";import{template as st}from"solid-js/web";import{delegateEvents as ct}from"solid-js/web";import{setAttribute as W}from"solid-js/web";import{effect as ut}from"solid-js/web";import{insert as mt}from"solid-js/web";import{addEventListener as ce}from"solid-js/web";import{use as ft}from"solid-js/web";import{createEffect as ht,createSignal as pt,onCleanup as Pe}from"solid-js";import{parseAutomergeUrl as yt}from"@automerge/automerge-repo/slim";import{getImportableUrlFromAutomergeUrl as wt}from"@inkandswitch/patchwork-filesystem";import{isValidAutomergeUrl as se}from"@automerge/automerge-repo/slim";var lt=["text/x-patchwork-dnd","text/x-patchwork-urls","text/uri-list","text/plain"];function ke(e){return!!(e&&lt.some(o=>e.types.includes(o)))}function dt(e){let o=e.trim();if(se(o))return o;let i=o.match(/#doc=([^&\s]+)/)?.[1];return i&&se(`automerge:${i}`)?`automerge:${i}`:null}function O(e){let o=e.dataTransfer;if(!o)return null;let i=o.getData("text/x-patchwork-dnd");if(i)try{let s=JSON.parse(i);if(Array.isArray(s?.items)&&s.items.length>0)return{source:s.source??"",items:s.items}}catch{}let m=o.getData("text/x-patchwork-urls");if(m)try{let s=JSON.parse(m),h=(Array.isArray(s)?s:[]).filter(y=>se(y)).map(y=>({url:y}));if(h.length>0)return{source:"",items:h}}catch{}let u=(o.getData("text/uri-list")||o.getData("text/plain")).split(/\r?\n/).map(dt).filter(s=>s!==null).map(s=>({url:s}));return u.length>0?{source:"",items:u}:null}var gt=st('<button draggable aria-haspopup=menu class="popmenu__trigger document-list-item"role=treeitem>'),Dt={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 Me(e){let o=e.includes(".")?e.split(".").pop().toLowerCase():"";return o?Dt[o]:void 0}function xt(e){for(let o=e.parentElement;o;o=o.parentElement){let i=getComputedStyle(o).overflowY;if((i==="auto"||i==="scroll")&&o.scrollHeight>o.clientHeight)return o}return document.scrollingElement??document.body}function _t(e){let o=xt(e),i=o.getBoundingClientRect(),m=o.querySelectorAll('.document-list-item[aria-selected="true"]');for(let g of m){let u=g.getBoundingClientRect();if(u.top>=i.top&&u.bottom<=i.bottom)return!0}return!1}function j(e){let o,[i,m]=pt(null),g=!1;function u(){g||e.type!=="file"||(g=!0,e.repo.find(e.url).then(r=>{let d=r?.doc();if(!d)return;let t=String(d.name??e.name??"file"),n=d.extension?`.${String(d.extension).replace(/^\.+/,"")}`:"",a=n&&!t.endsWith(n)?`${t}${n}`:t,f=String(d.mimeType||Me(a)||"application/octet-stream");m({mime:f,filename:a})}).catch(()=>{}))}ht(r=>(e.pressed&&!r&&o&&!_t(o)&&o.scrollIntoViewIfNeeded?.(),e.pressed));let s=()=>({id:e.id,type:e.type,url:e.url,name:e.name,source:e.element.toolId}),h=1500,y=null,l=!1;function c(r){e.type==="folder"||$.has(e.id)||y||l||(r.setAttribute("data-dnd-springload",""),y=setTimeout(()=>{y=null,l=!0,r.removeAttribute("data-dnd-springload"),e.openWith()},h))}function D(){y&&(clearTimeout(y),y=null),l=!1,o?.removeAttribute("data-dnd-springload")}Pe(D);function x(r,d){Fe({x:r,y:d,element:o,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 _,S=()=>clearTimeout(_);Pe(S);async function p(r,d,t){if(T("Item drop handler called for:",d,t),r.dataTransfer?.files&&r.dataTransfer.files.length>0){let w=t==="inside"&&e.type==="folder"?await e.repo.find(e.url):e.parentFolderHandle??e.rootFolderHandle;await K(r.dataTransfer.files,w,e.repo,t,t==="inside"?0:e.itemIndex??0);return}let n=O(r);if(!n){T("No dnd data in drop event. types:",r.dataTransfer?.types);return}let{source:a,items:f}=n;T("Drop data:",{source:a,items:f,targetId:d,position:t}),H({draggedIds:f.map(w=>w.id),draggedUrls:f.map(w=>w.url),draggedItems:f,targetId:d,position:t,sourceToolId:a,copyMode:L()},e.repo,e.rootFolderHandle,R(e.element))}return(()=>{var r=gt();r.$$keydown=t=>{if(t.key==="ArrowDown"||t.key==="ArrowUp"){t.preventDefault();let n=t.currentTarget,a=Array.from(document.querySelectorAll("[data-dnd-item]")).filter(w=>w.offsetParent!==null),f=a.indexOf(n);t.key==="ArrowDown"&&f<a.length-1?a[f+1]?.focus():t.key==="ArrowUp"&&f>0&&a[f-1]?.focus();return}if(e.type==="folder"&&e.onToggleExpand){if(t.key==="ArrowRight"&&!e.isExpanded){t.preventDefault(),e.onToggleExpand();return}else if(t.key==="ArrowLeft"&&e.isExpanded){t.preventDefault(),e.onToggleExpand();return}}if(t.key=="Enter"&&t.ctrlKey&&!(+t.altKey|+t.shiftKey|+t.metaKey)){t.preventDefault(),t.stopImmediatePropagation(),t.stopPropagation();let n=o.getBoundingClientRect();x(n.x+10,n.y+n.height-10)}},ce(r,"dblclick",()=>{e.startRenaming()}),ce(r,"click",t=>{t.ctrlKey||t.metaKey||t.target.closest(".document-list-folder__toggle, .create-new-button")||(Y(),e.openWith())}),r.$$mousedown=t=>{u(),t.ctrlKey||t.metaKey?($.has(e.id)?Z(e.id):V(e.id,s()),t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation()):$.has(e.id)||Y()},r.addEventListener("drop",t=>{D();let n=Q();if(console.log("[DnD] Item ondrop event fired",e.id,"type:",e.type,"target:",n),e.type==="folder"&&n?.position==="inside"){if(t.preventDefault(),t.stopPropagation(),N(t)){A({containerUrl:e.url,index:0}),P();return}p(t,n.id,"inside"),P();return}if(T("Item handling drop itself"),t.preventDefault(),t.stopPropagation(),!n){T("No drop target set");return}if(N(t)){if(e.parentFolderHandle&&e.itemIndex!=null){let a=n.position==="above"?e.itemIndex:e.itemIndex+1;A({containerUrl:e.parentFolderHandle.url,index:a})}P();return}p(t,n.id,n.position),P()}),r.addEventListener("dragleave",t=>{let n=t.relatedTarget;(!n||!t.currentTarget.contains(n))&&(D(),P())}),r.addEventListener("dragover",t=>{t.preventDefault(),t.dataTransfer.dropEffect=L()?"copy":"move";let n;if(e.type==="folder"){let a=t.currentTarget.getBoundingClientRect(),w=(t.clientY-a.top)/a.height;w<.25?n="above":w>.75?n="below":n="inside",n!=="inside"&&t.stopPropagation()}else n=Se(t.clientY,t.currentTarget)?"above":"below",t.stopPropagation();ee({id:e.id,position:n}),c(t.currentTarget)}),r.addEventListener("dragend",()=>{D(),Ee(),Y(),G(!1),le(null),ie(!1)}),r.addEventListener("drag",t=>{t.altKey!==L()&&G(t.altKey)}),r.addEventListener("dragstart",t=>{S(),$.has(e.id)||(Y(),V(e.id,s()));let n=$.values(),a=[],f=[];G(t.altKey),t.dataTransfer.effectAllowed="all";for(let I of n)a.push(I.url),f.push(I.id);let w=a.map(I=>location.protocol+"//"+location.host+`/#doc=${yt(I).documentId}`).join(`\r
1
+ import{a as Te,b as ae,c as Ie,d as Ae}from"./chunk-DS3QVJZT.js";import{a as B,b as A,c as J,d as _e,e as U,f as ve,g as oe,h as be,i as Fe,j as T,k as H}from"./chunk-NO6SJFVH.js";import{b as ie,c as L,d as G,g as N,h as Q,i as le,j as R,k as $,l as V,m as Z,n as Y,o as $e,p as Ee,q as Se,r as P,s as ee}from"./chunk-ZQBDNEEV.js";import{b as z,c as Le}from"./chunk-LJ5XCENG.js";import{template as ir}from"solid-js/web";import{delegateEvents as lr}from"solid-js/web";import{insert as xe}from"solid-js/web";import{effect as rt}from"solid-js/web";import{createComponent as k}from"solid-js/web";import{use as dr}from"solid-js/web";import{createEffect as cr,createMemo as ur,createSelector as mr,createSignal as nt,lazy as fr,onCleanup as ot,Show as at,Suspense as gr}from"solid-js";import{render as hr}from"solid-js/web";async function de(e,o,i,m,g){if(g.has(o))return!1;let u=new Set(g);u.add(o);let s;try{s=(await e.find(o)).doc()}catch{return!1}if(!s?.docs)return!1;let h=s.docs.some(l=>i.has(l.url));return(await Promise.all(s.docs.filter(l=>l.type==="folder").map(l=>de(e,l.url,i,m,u)))).some(Boolean)&&(h=!0),h&&m.add(o),h}import{template as we}from"solid-js/web";import{effect as qt}from"solid-js/web";import{memo as We}from"solid-js/web";import{insert as pe}from"solid-js/web";import{createComponent as E}from"solid-js/web";import{deleteAt as Wt,updateText as je}from"@automerge/automerge-repo/slim";import{getRegistry as Xe,isLoadedPlugin as jt}from"@inkandswitch/patchwork-plugins";import{createEffect as ze,createMemo as Xt,createSignal as zt,For as Jt,lazy as Gt,Match as Je,onCleanup as Ge,Show as ye,Suspense as Qt,Switch as Zt,untrack as Qe}from"solid-js";import{template as Ye}from"solid-js/web";import{style as Oe}from"solid-js/web";import{setAttribute as X}from"solid-js/web";import{effect as qe}from"solid-js/web";import{insert as ge}from"solid-js/web";import{createComponent as M}from"solid-js/web";import{addEventListener as Ct}from"solid-js/web";import"solid-js/web";import{updateText as Rt}from"@automerge/automerge-repo/slim";async function K(e,o,i,m,g){for(let u of Array.from(e))try{let s=await u.arrayBuffer(),h=new Uint8Array(s),y=u.name.split("."),l=y.length>1?y.pop():"",c=y.join("."),D=await i.create2({"@patchwork":{type:"file"},content:h,extension:l,mimeType:u.type||"application/octet-stream",name:c}),x=m==="above"?g:m==="below"?g+1:0;o.change(_=>{_.docs.splice(x,0,{url:D.url,name:u.name,type:"file"})}),T("FileDrop: Created file document:",u.name,D.url)}catch(s){T("FileDrop: Failed to create file document:",s)}}import{createEffect as Be,createSignal as Ht,onCleanup as Kt,Show as Ve,Suspense as Ot}from"solid-js";import{template as st}from"solid-js/web";import{delegateEvents as ct}from"solid-js/web";import{setAttribute as W}from"solid-js/web";import{effect as ut}from"solid-js/web";import{insert as mt}from"solid-js/web";import{addEventListener as ce}from"solid-js/web";import{use as ft}from"solid-js/web";import{createEffect as ht,createSignal as pt,onCleanup as Pe}from"solid-js";import{parseAutomergeUrl as yt}from"@automerge/automerge-repo/slim";import{getImportableUrlFromAutomergeUrl as wt}from"@inkandswitch/patchwork-filesystem";import{isValidAutomergeUrl as se}from"@automerge/automerge-repo/slim";var lt=["text/x-patchwork-dnd","text/x-patchwork-urls","text/uri-list","text/plain"];function ke(e){return!!(e&&lt.some(o=>e.types.includes(o)))}function dt(e){let o=e.trim();if(se(o))return o;let i=o.match(/#doc=([^&\s]+)/)?.[1];return i&&se(`automerge:${i}`)?`automerge:${i}`:null}function O(e){let o=e.dataTransfer;if(!o)return null;let i=o.getData("text/x-patchwork-dnd");if(i)try{let s=JSON.parse(i);if(Array.isArray(s?.items)&&s.items.length>0)return{source:s.source??"",items:s.items}}catch{}let m=o.getData("text/x-patchwork-urls");if(m)try{let s=JSON.parse(m),h=(Array.isArray(s)?s:[]).filter(y=>se(y)).map(y=>({url:y}));if(h.length>0)return{source:"",items:h}}catch{}let u=(o.getData("text/uri-list")||o.getData("text/plain")).split(/\r?\n/).map(dt).filter(s=>s!==null).map(s=>({url:s}));return u.length>0?{source:"",items:u}:null}var gt=st('<button draggable aria-haspopup=menu class="popmenu__trigger document-list-item"role=treeitem>'),Dt={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 Me(e){let o=e.includes(".")?e.split(".").pop().toLowerCase():"";return o?Dt[o]:void 0}function xt(e){for(let o=e.parentElement;o;o=o.parentElement){let i=getComputedStyle(o).overflowY;if((i==="auto"||i==="scroll")&&o.scrollHeight>o.clientHeight)return o}return document.scrollingElement??document.body}function _t(e){let o=xt(e),i=o.getBoundingClientRect(),m=o.querySelectorAll('.document-list-item[aria-selected="true"]');for(let g of m){let u=g.getBoundingClientRect();if(u.top>=i.top&&u.bottom<=i.bottom)return!0}return!1}function j(e){let o,[i,m]=pt(null),g=!1;function u(){g||e.type!=="file"||(g=!0,e.repo.find(e.url).then(r=>{let d=r?.doc();if(!d)return;let t=String(d.name??e.name??"file"),n=d.extension?`.${String(d.extension).replace(/^\.+/,"")}`:"",a=n&&!t.endsWith(n)?`${t}${n}`:t,f=String(d.mimeType||Me(a)||"application/octet-stream");m({mime:f,filename:a})}).catch(()=>{}))}ht(r=>(e.pressed&&!r&&o&&!_t(o)&&o.scrollIntoViewIfNeeded?.(),e.pressed));let s=()=>({id:e.id,type:e.type,url:e.url,name:e.name,source:e.element.toolId}),h=1500,y=null,l=!1;function c(r){e.type==="folder"||$.has(e.id)||y||l||(r.setAttribute("data-dnd-springload",""),y=setTimeout(()=>{y=null,l=!0,r.removeAttribute("data-dnd-springload"),e.openWith()},h))}function D(){y&&(clearTimeout(y),y=null),l=!1,o?.removeAttribute("data-dnd-springload")}Pe(D);function x(r,d){Fe({x:r,y:d,element:o,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 _,S=()=>clearTimeout(_);Pe(S);async function p(r,d,t){if(T("Item drop handler called for:",d,t),r.dataTransfer?.files&&r.dataTransfer.files.length>0){let w=t==="inside"&&e.type==="folder"?await e.repo.find(e.url):e.parentFolderHandle??e.rootFolderHandle;await K(r.dataTransfer.files,w,e.repo,t,t==="inside"?0:e.itemIndex??0);return}let n=O(r);if(!n){T("No dnd data in drop event. types:",r.dataTransfer?.types);return}let{source:a,items:f}=n;T("Drop data:",{source:a,items:f,targetId:d,position:t}),H({draggedIds:f.map(w=>w.id),draggedUrls:f.map(w=>w.url),draggedItems:f,targetId:d,position:t,sourceToolId:a,copyMode:L()},e.repo,e.rootFolderHandle,R(e.element))}return(()=>{var r=gt();r.$$keydown=t=>{if(t.key==="ArrowDown"||t.key==="ArrowUp"){t.preventDefault();let n=t.currentTarget,a=Array.from(document.querySelectorAll("[data-dnd-item]")).filter(w=>w.offsetParent!==null),f=a.indexOf(n);t.key==="ArrowDown"&&f<a.length-1?a[f+1]?.focus():t.key==="ArrowUp"&&f>0&&a[f-1]?.focus();return}if(e.type==="folder"&&e.onToggleExpand){if(t.key==="ArrowRight"&&!e.isExpanded){t.preventDefault(),e.onToggleExpand();return}else if(t.key==="ArrowLeft"&&e.isExpanded){t.preventDefault(),e.onToggleExpand();return}}if(t.key=="Enter"&&t.ctrlKey&&!(+t.altKey|+t.shiftKey|+t.metaKey)){t.preventDefault(),t.stopImmediatePropagation(),t.stopPropagation();let n=o.getBoundingClientRect();x(n.x+10,n.y+n.height-10)}},ce(r,"dblclick",()=>{e.startRenaming()}),ce(r,"click",t=>{t.ctrlKey||t.metaKey||t.target.closest(".document-list-folder__toggle, .create-new-button")||(Y(),e.openWith())}),r.$$mousedown=t=>{u(),t.ctrlKey||t.metaKey?($.has(e.id)?Z(e.id):V(e.id,s()),t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation()):$.has(e.id)||Y()},r.addEventListener("drop",t=>{D();let n=Q();if(console.log("[DnD] Item ondrop event fired",e.id,"type:",e.type,"target:",n),e.type==="folder"&&n?.position==="inside"){if(t.preventDefault(),t.stopPropagation(),N(t)){A({containerUrl:e.url,index:0}),P();return}p(t,n.id,"inside"),P();return}if(T("Item handling drop itself"),t.preventDefault(),t.stopPropagation(),!n){T("No drop target set");return}if(N(t)){if(e.parentFolderHandle&&e.itemIndex!=null){let a=n.position==="above"?e.itemIndex:e.itemIndex+1;A({containerUrl:e.parentFolderHandle.url,index:a})}P();return}p(t,n.id,n.position),P()}),r.addEventListener("dragleave",t=>{let n=t.relatedTarget;(!n||!t.currentTarget.contains(n))&&(D(),P())}),r.addEventListener("dragover",t=>{t.preventDefault(),t.dataTransfer.dropEffect=L()?"copy":"move";let n;if(e.type==="folder"){let a=t.currentTarget.getBoundingClientRect(),w=(t.clientY-a.top)/a.height;w<.25?n="above":w>.75?n="below":n="inside",n!=="inside"&&t.stopPropagation()}else n=Se(t.clientY,t.currentTarget)?"above":"below",t.stopPropagation();ee({id:e.id,position:n}),c(t.currentTarget)}),r.addEventListener("dragend",()=>{D(),Ee(),Y(),G(!1),le(null),ie(!1)}),r.addEventListener("drag",t=>{t.altKey!==L()&&G(t.altKey)}),r.addEventListener("dragstart",t=>{S(),$.has(e.id)||(Y(),V(e.id,s()));let n=$.values(),a=[],f=[];G(t.altKey),t.dataTransfer.effectAllowed="all";for(let I of n)a.push(I.url),f.push(I.id);let w=a.map(I=>location.protocol+"//"+location.host+`/#doc=${yt(I).documentId}`).join(`\r
2
2
  `)+`\r
3
3
  `;if(t.dataTransfer?.items.add(w,"text/uri-list"),t.dataTransfer?.items.add(JSON.stringify(f),"text/x-sideboard-ids"),t.dataTransfer?.items.add(JSON.stringify(a),"text/x-patchwork-urls"),t.dataTransfer?.items.add(JSON.stringify({source:e.element.toolId,items:[...$.values()]}),"text/x-patchwork-dnd"),$.size===1&&e.type==="file"){let I=i(),b=I?.filename??e.name,q=I?.mime??Me(b)??"application/octet-stream";try{let it=new URL(wt(e.url),location.origin).href;t.dataTransfer?.setData("DownloadURL",`${q}:${b}:${it}`)}catch{}}let v=document.createElement("div");v.style.cssText=`
4
4
  position: absolute;
@@ -11,5 +11,5 @@ import{a as Te,b as ae,c as Ie,d as Ae}from"./chunk-TXFTRSLY.js";import{a as B,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 F=$.size,C=t.altKey?" (copy)":"";v.textContent=F===1?e.name+C:`${F} items${C}`,document.body.appendChild(v),t.dataTransfer.setDragImage(v,10,10),setTimeout(()=>v.remove(),0),$e([...$.keys()]),le(e.element),ie(!0)}),r.addEventListener("pointercancel",S),r.$$pointerup=S,r.$$pointerdown=t=>{(t.pointerType==="touch"||t.pointerType==="pen")&&(_=setTimeout(()=>x(t.clientX,t.clientY),700))},ce(r,"contextmenu",t=>{t.preventDefault(),t.stopPropagation(),x(t.clientX,t.clientY)});var d=o;return typeof d=="function"?ft(d,r):o=r,mt(r,()=>e.children),ut(t=>{var n=e.id,a=e.url,f=e.type,w=e["aria-label"],v=e.pressed?"true":void 0;return n!==t.e&&W(r,"data-dnd-item",t.e=n),a!==t.t&&W(r,"data-doc-url",t.t=a),f!==t.a&&W(r,"data-doc-type",t.a=f),w!==t.o&&W(r,"aria-label",t.o=w),v!==t.i&&W(r,"aria-selected",t.i=v),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),r})()}ct(["pointerdown","pointerup","mousedown","keydown"]);import{template as Ue}from"solid-js/web";import{delegateEvents as vt}from"solid-js/web";import{insert as bt}from"solid-js/web";import{createComponent as ue}from"solid-js/web";import{effect as Ft}from"solid-js/web";import{use as Tt}from"solid-js/web";import{createSelector as St,createSignal as It,Match as Ce,Switch as At}from"solid-js";var $t=Ue("<form style=display:contents><input autofocus class=document-list-item__name>"),Et=Ue("<span class=document-list-item__name>");function te(e){let o=St(_e),[i,m]=It(e.name);function g(){e.rename(i()??""),o(e.id)&&U("")}return ue(At,{get children(){return[ue(Ce,{get when(){return o(e.id)},get children(){var u=$t(),s=u.firstChild;return u.addEventListener("submit",h=>{h.preventDefault(),g()}),s.$$input=h=>m(h.target.value),s.$$keydown=h=>{(h.key=="Escape"||h.key=="g"&&h.ctrlKey)&&g()},s.addEventListener("blur",g),Tt(h=>{m(e.name),setTimeout(()=>{h.focus(),h.select()},80)},s),Ft(()=>s.value=i()),u}}),ue(Ce,{get when(){return!o(e.id)},get children(){var u=Et();return bt(u,()=>e.name),u}})]}})}vt(["keydown","input"]);import{template as Re}from"solid-js/web";import{insert as Lt}from"solid-js/web";import{createComponent as kt}from"solid-js/web";import{setStyleProperty as me}from"solid-js/web";import{effect as He}from"solid-js/web";import{For as Mt}from"solid-js";var Ke=Re('<div class="document-list-item document-list-item--loading"aria-hidden=true><span class=document-list-item__skeleton>'),Pt=Re('<div class=document-list__loading aria-busy=true aria-label="Loading documents">');function re(e){return(()=>{var o=Ke();return He(i=>me(o,"--depth",e.depth??0)),o})()}var Ne=["11rem","7rem","9.5rem","6rem","10rem","8rem"];function fe(e){let o=()=>Array.from({length:e.count??5},(i,m)=>m);return(()=>{var i=Pt();return Lt(i,kt(Mt,{get each(){return o()},children:m=>(()=>{var g=Ke(),u=g.firstChild;return He(s=>{var h=e.depth??0,y=Ne[m%Ne.length];return h!==s.e&&me(g,"--depth",s.e=h),y!==s.t&&me(u,"width",s.t=y),s},{e:void 0,t:void 0}),g})()})),i})()}var Ut=Ye("<button class=document-list-folder__toggle>"),Nt=Ye("<div class=document-list-folder role=group><div class=document-list-folder__contents>");function he(e){let[o,i]=Ht(!1),[m,g]=z(()=>e.url,e),u=new Set(e.visitedFolders??[]);u.add(e.url);let s=()=>e.depth??1,h=()=>({"--depth":s()+1}),y=()=>({"--depth":s()});Be(r=>(!r&&e.filter&&J(e.filter,m()?.title??e.name)&&i(!0),e.filter)),Be(()=>{ve().has(e.url)&&i(!0)});let l=null,c=!1;function D(){l||c||(l=setTimeout(()=>{i(r=>!r),c=!0,l=null},1e3))}function x(){l&&(clearTimeout(l),l=null),c=!1}Kt(x);function _(r){g()?.change(d=>Rt(d,["title"],r))}async function S(r){let d=g();if(!d)return;let t=await Ie(e.repo,r),n=0;d.change(a=>{a.docs.push(t),n=a.docs.length-1}),e.clearFilter(),i(!0),e.open(t),U(d.url+"/"+n)}async function p(r){if(T("Folder drop handler called for:",e.url),r.dataTransfer?.files&&r.dataTransfer.files.length>0){await K(r.dataTransfer.files,g(),e.repo,"inside",0);return}let d=O(r);if(!d){T("No dnd data in drop event. types:",r.dataTransfer?.types);return}let{source:t,items:n}=d;T("Drop data:",{source:t,items:n,folderUrl:e.url}),H({draggedIds:n.map(a=>a.id),draggedUrls:n.map(a=>a.url),draggedItems:n,targetId:e.url,position:"inside",sourceToolId:t,copyMode:L()},e.repo,e.rootFolderHandle,R(e.element))}return(()=>{var r=Nt(),d=r.firstChild;return r.addEventListener("drop",t=>{if(x(),T("Folder ondrop event fired",e.url),t.preventDefault(),t.stopPropagation(),Q()?.position==="inside")if(N(t)){let a=g();a&&(i(!0),A({containerUrl:a.url,index:0}))}else p(t);P()}),r.addEventListener("dragleave",t=>{let n=t.relatedTarget;(!n||!t.currentTarget.contains(n))&&(x(),P())}),r.addEventListener("dragover",t=>{t.preventDefault(),t.stopPropagation();let n=L()?"copy":"move";t.dataTransfer.dropEffect=n,t.target.closest(".document-list-item")||ee({id:e.url,position:"inside"}),t.target.closest(".document-list-item")?.getAttribute("data-dnd-item")===e.url&&D()}),ge(r,M(j,{get"aria-label"(){return m()?.title??e.name??""},startRenaming:()=>{U(e.url)},get remove(){return e.removeFromParent},get id(){return e.url},get url(){return e.url},get name(){return m()?.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 o()},onToggleExpand:()=>i(t=>!t),createInside:S,openWith:t=>{e.open({url:e.url,toolId:t,title:m()?.title??e.name,type:"folder"})},get children(){return[(()=>{var t=Ut();return Ct(t,"click",n=>{n.stopImmediatePropagation(),i(a=>!a)}),ge(t,M(Ve,{get when(){return o()},get fallback(){return M(ae,{})},get children(){return M(ae,{style:{rotate:"90deg"}})}})),qe(()=>X(t,"aria-label",(o()?"collapse":"expand")+" "+(m()?.title??e.name))),t})(),M(te,{get name(){return m()?.title??e.name},get id(){return e.url},rename:_})]}}),d),ge(d,M(Ve,{get when(){return o()||!!e.filter},get children(){return M(Ot,{get fallback(){return M(re,{get depth(){return s()+1}})},get children(){return M(ne,{get docs(){return m()?.docs},get repo(){return e.repo},get depth(){return s()+1},get handle(){return g.latest},get open(){return e.open},get isSelected(){return e.isSelected},visitedFolders:u,get element(){return e.element},get rootFolderHandle(){return e.rootFolderHandle},get filter(){return e.filter},get clearFilter(){return e.clearFilter}})}})}})),qe(t=>{var n=s(),a=y(),f=o(),w=e.url,v=!o()&&!e.filter,F=s(),C=h();return n!==t.e&&X(r,"data-depth",t.e=n),t.t=Oe(r,a,t.t),f!==t.a&&X(r,"aria-expanded",t.a=f),w!==t.o&&X(r,"data-dnd-container",t.o=w),v!==t.i&&d.classList.toggle("document-list-folder__contents--hidden",t.i=v),F!==t.n&&X(d,"data-depth",t.n=F),t.s=Oe(d,C,t.s),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),r})()}var Bt=we('<div class="document-list__item document-list__item--visible">'),Vt=we("<div class=document-list__item>"),Yt=we('<div class=document-list-folder__circular-ref style="padding-left:calc(var(--depth) * 1rem)"><span> (i contain myself eventually)'),er=Gt(()=>import("./create-new-menu-EU5KJJ3R.js").then(e=>({default:e.NewDocPlaceholder}))),Ze=40,tr=8;function ne(e){let o=e.visitedFolders??new Set,[i,m]=zt(Ze);ze(()=>{let l=e.docs?.length??0;if(Qe(i)>=l)return;let c=requestAnimationFrame(function D(){let x=performance.now(),_=Qe(i);do m(_+=Ze);while(_<l&&performance.now()-x<tr);_<l&&(c=requestAnimationFrame(D))});Ge(()=>cancelAnimationFrame(c))});let g=Xt(()=>{let l=e.docs??[];return l.length>i()?l.slice(0,i()):l});function u(l){e.handle.change(c=>Wt(c.docs,l))}let s=()=>!!e.handle&&B()?.containerUrl===e.handle.url,h=l=>{let c=B();if(!c)return;let D=c.index;A(null),e.handle.change(x=>x.docs.splice(D,0,l)),e.open(l),U(e.handle.url+"/"+D)},y=()=>(()=>{var l=Bt();return pe(l,E(er,{get repo(){return e.repo},onCreate:h,onDismiss:()=>A(null),get clearFilter(){return e.clearFilter}})),l})();return[E(Jt,{get each(){return g()},children:(l,c)=>{let D=()=>!e.filter.length||J(e.filter,l.name),x=()=>u(c()),_=()=>e.handle.url+"/"+c(),S=p=>{e.handle.change(d=>{je(d,["docs",c(),"name"],p)});let r=Xe("patchwork:datatype");e.repo.find(l.url).then(async d=>{let{"@patchwork":t}=d.doc();if(t){let n=r.get(t.type);n&&(await r.load(n.id),d.change(a=>n.module.setTitle?.(a,p)))}})};return ze(()=>{if(!e.isSelected(l.url))return;let p=!1,r;e.repo.find(l.url).then(async d=>{if(p)return;let t=Xe("patchwork:datatype");async function n(){let f=d.doc();if(!f)return;let w=f["@patchwork"];if(!w?.type)return;let v=t.get(w.type);if(!v||(await t.load(v.id),p)||!jt(v))return;let F=v.module.getTitle(f);if(!F)return;e.handle.doc()?.docs?.[c()]?.name!==F&&e.handle.change(b=>{je(b,["docs",c(),"name"],F)}),w.title!==F&&d.change(b=>{b["@patchwork"]&&(b["@patchwork"].title=F)})}if(await n(),p)return;let a=()=>n();d.on("change",a),r=()=>d.off("change",a)}),Ge(()=>{p=!0,r?.()})}),[E(ye,{get when(){return We(()=>!!s())()&&B().index===c()},get children(){return y()}}),(()=>{var p=Vt();return pe(p,E(Qt,{get fallback(){return E(re,{get depth(){return e.depth}})},get children(){return E(Zt,{get children(){return[E(Je,{get when(){return l.type=="folder"},get children(){return E(ye,{get when(){return!o.has(l.url)},get fallback(){return(()=>{var r=Yt(),d=r.firstChild,t=d.firstChild;return pe(d,()=>l.name,t),r})()},get children(){return E(he,{get url(){return l.url},get depth(){return e.depth},get repo(){return e.repo},removeFromParent:x,get parentFolderHandle(){return e.handle},get itemIndex(){return c()},get open(){return e.open},get name(){return l.name},get isSelected(){return e.isSelected},visitedFolders:o,get element(){return e.element},get rootFolderHandle(){return e.rootFolderHandle},get filter(){return e.filter},get clearFilter(){return e.clearFilter}})}})}}),E(Je,{get when(){return l.type!="folder"},get children(){return E(j,{get"aria-label"(){return l.name},get url(){return l.url},get name(){return l.name},get id(){return _()},startRenaming:()=>U(_()),remove:x,get pressed(){return e.isSelected(l.url)},get type(){return l.type},get element(){return e.element},get repo(){return e.repo},get rootFolderHandle(){return e.rootFolderHandle},get parentFolderHandle(){return e.handle},get itemIndex(){return c()},openWith:r=>e.open({url:l.url,toolId:r,title:l.name,type:l.type}),get children(){return E(te,{get name(){return l.name},get id(){return _()},rename:S})}})}})]}})}})),qt(r=>{var d=!!D(),t=!D();return d!==r.e&&p.classList.toggle("document-list__item--visible",r.e=d),t!==r.t&&p.classList.toggle("document-list__item--invisible",r.t=t),r},{e:void 0,t:void 0}),p})()]}}),E(ye,{get when(){return We(()=>!!s())()&&B().index>=(e.docs?.length??0)},get children(){return y()}})]}import{createEffect as Bn,createSignal as rr,onCleanup as nr,onMount as or}from"solid-js";import{createStore as Yn,reconcile as Wn}from"solid-js/store";import*as De from"@inkandswitch/patchwork-providers";function ar(e){return typeof e=="function"?e():e}function et(e,o,i){let[m,g]=rr(i);return or(()=>{let u=ar(e);if(!u)return;let s=De.subscribe(u,o,g);nr(s)}),m}function tt(e){let o=0,i=0,m=!1,g=new Set,u=new Set;function s(c){return{id:c.getAttribute("data-dnd-item"),url:c.getAttribute("data-doc-url"),type:c.getAttribute("data-doc-type")??"",name:(c.textContent??"").trim(),source:e.source()}}function h(c){let D=c.clientX-o,x=c.clientY-i;if(!m){if(Math.hypot(D,x)<5)return;m=!0}c.preventDefault();let _=Math.min(o,c.clientX),S=Math.min(i,c.clientY),p=Math.max(o,c.clientX),r=Math.max(i,c.clientY),d=e.container();if(!d)return;let t=new Set;for(let n of d.querySelectorAll("[data-dnd-item]")){if(n.offsetParent===null)continue;let a=n.getAttribute("data-dnd-item");if(!a||g.has(a))continue;let f=n.getBoundingClientRect();f.right<_||f.left>p||f.bottom<S||f.top>r||(t.add(a),$.has(a)||V(a,s(n)))}for(let n of u)t.has(n)||Z(n);u=t}function y(){window.removeEventListener("mousemove",h,!0),window.removeEventListener("mouseup",y,!0),m=!1,u=new Set,g=new Set}function l(c){c.button!==0||!(c.metaKey||c.ctrlKey)||c.target.closest(".document-list__toolbar")||(o=c.clientX,i=c.clientY,m=!1,u=new Set,g=new Set($.keys()),window.addEventListener("mousemove",h,!0),window.addEventListener("mouseup",y,!0))}return{onMouseDown:l}}var sr=ir('<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">'),pr=fr(()=>import("./item-menu-N2ATUOK3.js").then(e=>({default:e.ItemMenu})));function yr(e){let[o,i]=z(()=>e.folderUrl,{repo:e.repo}),[m,g]=nt(""),u=()=>i.state==="ready"||i.state==="refreshing",s=et(e.element,{type:"patchwork:selected-doc"},[]),h=ur(()=>new Set(s())),y=mr(h,(p,r)=>r.has(p));cr(()=>{if(!u())return;let p=s();if(!p.length){oe(new Set);return}let r=!1,d=new Set;de(e.repo,e.folderUrl,new Set(p),d,new Set).then(()=>{r||oe(d)}),ot(()=>{r=!0})});function l(p){e.element.dispatchEvent(Le(p))}let[c,D]=nt(!1),x,_=tt({container:()=>x,source:()=>e.element.toolId??""}),S=p=>{x=p,p.addEventListener("mousedown",_.onMouseDown,!0),ot(()=>p.removeEventListener("mousedown",_.onMouseDown,!0))};return(()=>{var p=sr(),r=p.firstChild,d=r.firstChild,t=d.firstChild,n=t.firstChild;return r.addEventListener("drop",a=>{if(a.preventDefault(),D(!1),N(a)){let b=i();if(b){let q=b.doc()?.docs?.length??0;A({containerUrl:b.url,index:q})}return}let f=a.dataTransfer?.files;if(f&&f.length>0&&i()){let q=i().doc()?.docs?.length||0;K(f,i(),e.repo,"inside",q);return}let w=O(a);if(!w||!i())return;let{source:v,items:F}=w,C=i().url,I=i().doc()?.docs?.length??0;H({draggedIds:F.map(b=>b.id),draggedUrls:F.map(b=>b.url),draggedItems:F,targetId:I>0?`${C}/${I-1}`:C,position:I>0?"below":"inside",sourceToolId:v,copyMode:L()},e.repo,i.latest,R(e.element))}),r.addEventListener("dragleave",a=>{let f=a.relatedTarget;(!f||!a.currentTarget.contains(f))&&D(!1)}),r.addEventListener("dragover",a=>{if(a.dataTransfer?.types.includes("Files")){a.preventDefault(),a.dataTransfer.dropEffect="copy",D(!0);return}(ke(a.dataTransfer)||N(a))&&(a.preventDefault(),a.dataTransfer.dropEffect=L()?"copy":"move")}),dr(S,r),xe(d,k(Ae,{square:!0,draggable:!0,clearFilter:()=>g(""),changeFolder:a=>i()?.change(a),get repo(){return e.repo},open:l}),t),xe(t,k(Te,{}),n),n.$$input=a=>g(a.target.value.toLowerCase()),xe(r,k(at,{get when(){return u()},get fallback(){return k(fe,{depth:0})},get children(){return[k(gr,{get fallback(){return k(fe,{depth:0})},get children(){return k(ne,{depth:0,get repo(){return e.repo},get docs(){return o()?.docs},get handle(){return i.latest},open:l,isSelected:y,get element(){return e.element},get rootFolderHandle(){return i.latest},get filter(){return m()},clearFilter:()=>g("")})}}),k(at,{get when(){return be()},get children(){return k(pr,{get repo(){return e.repo},get rootFolderHandle(){return i.latest},get element(){return e.element}})}})]}}),null),rt(()=>r.classList.toggle("document-list__doclist--drag-over",!!c())),rt(()=>n.value=m()),p})()}function xo(e,o){return hr(()=>k(yr,{folderUrl:e,get repo(){return o.repo},element:o}),o)}lr(["input"]);export{fe as a,yr as b,xo as c};
15
- //# sourceMappingURL=chunk-KHS2XJKP.js.map
14
+ `;let F=$.size,C=t.altKey?" (copy)":"";v.textContent=F===1?e.name+C:`${F} items${C}`,document.body.appendChild(v),t.dataTransfer.setDragImage(v,10,10),setTimeout(()=>v.remove(),0),$e([...$.keys()]),le(e.element),ie(!0)}),r.addEventListener("pointercancel",S),r.$$pointerup=S,r.$$pointerdown=t=>{(t.pointerType==="touch"||t.pointerType==="pen")&&(_=setTimeout(()=>x(t.clientX,t.clientY),700))},ce(r,"contextmenu",t=>{t.preventDefault(),t.stopPropagation(),x(t.clientX,t.clientY)});var d=o;return typeof d=="function"?ft(d,r):o=r,mt(r,()=>e.children),ut(t=>{var n=e.id,a=e.url,f=e.type,w=e["aria-label"],v=e.pressed?"true":void 0;return n!==t.e&&W(r,"data-dnd-item",t.e=n),a!==t.t&&W(r,"data-doc-url",t.t=a),f!==t.a&&W(r,"data-doc-type",t.a=f),w!==t.o&&W(r,"aria-label",t.o=w),v!==t.i&&W(r,"aria-selected",t.i=v),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),r})()}ct(["pointerdown","pointerup","mousedown","keydown"]);import{template as Ue}from"solid-js/web";import{delegateEvents as vt}from"solid-js/web";import{insert as bt}from"solid-js/web";import{createComponent as ue}from"solid-js/web";import{effect as Ft}from"solid-js/web";import{use as Tt}from"solid-js/web";import{createSelector as St,createSignal as It,Match as Ce,Switch as At}from"solid-js";var $t=Ue("<form style=display:contents><input autofocus class=document-list-item__name>"),Et=Ue("<span class=document-list-item__name>");function te(e){let o=St(_e),[i,m]=It(e.name);function g(){e.rename(i()??""),o(e.id)&&U("")}return ue(At,{get children(){return[ue(Ce,{get when(){return o(e.id)},get children(){var u=$t(),s=u.firstChild;return u.addEventListener("submit",h=>{h.preventDefault(),g()}),s.$$input=h=>m(h.target.value),s.$$keydown=h=>{(h.key=="Escape"||h.key=="g"&&h.ctrlKey)&&g()},s.addEventListener("blur",g),Tt(h=>{m(e.name),setTimeout(()=>{h.focus(),h.select()},80)},s),Ft(()=>s.value=i()),u}}),ue(Ce,{get when(){return!o(e.id)},get children(){var u=Et();return bt(u,()=>e.name),u}})]}})}vt(["keydown","input"]);import{template as Re}from"solid-js/web";import{insert as Lt}from"solid-js/web";import{createComponent as kt}from"solid-js/web";import{setStyleProperty as me}from"solid-js/web";import{effect as He}from"solid-js/web";import{For as Mt}from"solid-js";var Ke=Re('<div class="document-list-item document-list-item--loading"aria-hidden=true><span class=document-list-item__skeleton>'),Pt=Re('<div class=document-list__loading aria-busy=true aria-label="Loading documents">');function re(e){return(()=>{var o=Ke();return He(i=>me(o,"--depth",e.depth??0)),o})()}var Ne=["11rem","7rem","9.5rem","6rem","10rem","8rem"];function fe(e){let o=()=>Array.from({length:e.count??5},(i,m)=>m);return(()=>{var i=Pt();return Lt(i,kt(Mt,{get each(){return o()},children:m=>(()=>{var g=Ke(),u=g.firstChild;return He(s=>{var h=e.depth??0,y=Ne[m%Ne.length];return h!==s.e&&me(g,"--depth",s.e=h),y!==s.t&&me(u,"width",s.t=y),s},{e:void 0,t:void 0}),g})()})),i})()}var Ut=Ye("<button class=document-list-folder__toggle>"),Nt=Ye("<div class=document-list-folder role=group><div class=document-list-folder__contents>");function he(e){let[o,i]=Ht(!1),[m,g]=z(()=>e.url,e),u=new Set(e.visitedFolders??[]);u.add(e.url);let s=()=>e.depth??1,h=()=>({"--depth":s()+1}),y=()=>({"--depth":s()});Be(r=>(!r&&e.filter&&J(e.filter,m()?.title??e.name)&&i(!0),e.filter)),Be(()=>{ve().has(e.url)&&i(!0)});let l=null,c=!1;function D(){l||c||(l=setTimeout(()=>{i(r=>!r),c=!0,l=null},1e3))}function x(){l&&(clearTimeout(l),l=null),c=!1}Kt(x);function _(r){g()?.change(d=>Rt(d,["title"],r))}async function S(r){let d=g();if(!d)return;let t=await Ie(e.repo,r),n=0;d.change(a=>{a.docs.push(t),n=a.docs.length-1}),e.clearFilter(),i(!0),e.open(t),U(d.url+"/"+n)}async function p(r){if(T("Folder drop handler called for:",e.url),r.dataTransfer?.files&&r.dataTransfer.files.length>0){await K(r.dataTransfer.files,g(),e.repo,"inside",0);return}let d=O(r);if(!d){T("No dnd data in drop event. types:",r.dataTransfer?.types);return}let{source:t,items:n}=d;T("Drop data:",{source:t,items:n,folderUrl:e.url}),H({draggedIds:n.map(a=>a.id),draggedUrls:n.map(a=>a.url),draggedItems:n,targetId:e.url,position:"inside",sourceToolId:t,copyMode:L()},e.repo,e.rootFolderHandle,R(e.element))}return(()=>{var r=Nt(),d=r.firstChild;return r.addEventListener("drop",t=>{if(x(),T("Folder ondrop event fired",e.url),t.preventDefault(),t.stopPropagation(),Q()?.position==="inside")if(N(t)){let a=g();a&&(i(!0),A({containerUrl:a.url,index:0}))}else p(t);P()}),r.addEventListener("dragleave",t=>{let n=t.relatedTarget;(!n||!t.currentTarget.contains(n))&&(x(),P())}),r.addEventListener("dragover",t=>{t.preventDefault(),t.stopPropagation();let n=L()?"copy":"move";t.dataTransfer.dropEffect=n,t.target.closest(".document-list-item")||ee({id:e.url,position:"inside"}),t.target.closest(".document-list-item")?.getAttribute("data-dnd-item")===e.url&&D()}),ge(r,M(j,{get"aria-label"(){return m()?.title??e.name??""},startRenaming:()=>{U(e.url)},get remove(){return e.removeFromParent},get id(){return e.url},get url(){return e.url},get name(){return m()?.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 o()},onToggleExpand:()=>i(t=>!t),createInside:S,openWith:t=>{e.open({url:e.url,toolId:t,title:m()?.title??e.name,type:"folder"})},get children(){return[(()=>{var t=Ut();return Ct(t,"click",n=>{n.stopImmediatePropagation(),i(a=>!a)}),ge(t,M(Ve,{get when(){return o()},get fallback(){return M(ae,{})},get children(){return M(ae,{style:{rotate:"90deg"}})}})),qe(()=>X(t,"aria-label",(o()?"collapse":"expand")+" "+(m()?.title??e.name))),t})(),M(te,{get name(){return m()?.title??e.name},get id(){return e.url},rename:_})]}}),d),ge(d,M(Ve,{get when(){return o()||!!e.filter},get children(){return M(Ot,{get fallback(){return M(re,{get depth(){return s()+1}})},get children(){return M(ne,{get docs(){return m()?.docs},get repo(){return e.repo},get depth(){return s()+1},get handle(){return g.latest},get open(){return e.open},get isSelected(){return e.isSelected},visitedFolders:u,get element(){return e.element},get rootFolderHandle(){return e.rootFolderHandle},get filter(){return e.filter},get clearFilter(){return e.clearFilter}})}})}})),qe(t=>{var n=s(),a=y(),f=o(),w=e.url,v=!o()&&!e.filter,F=s(),C=h();return n!==t.e&&X(r,"data-depth",t.e=n),t.t=Oe(r,a,t.t),f!==t.a&&X(r,"aria-expanded",t.a=f),w!==t.o&&X(r,"data-dnd-container",t.o=w),v!==t.i&&d.classList.toggle("document-list-folder__contents--hidden",t.i=v),F!==t.n&&X(d,"data-depth",t.n=F),t.s=Oe(d,C,t.s),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),r})()}var Bt=we('<div class="document-list__item document-list__item--visible">'),Vt=we("<div class=document-list__item>"),Yt=we('<div class=document-list-folder__circular-ref style="padding-left:calc(var(--depth) * 1rem)"><span> (i contain myself eventually)'),er=Gt(()=>import("./create-new-menu-VA4ELRJ6.js").then(e=>({default:e.NewDocPlaceholder}))),Ze=40,tr=8;function ne(e){let o=e.visitedFolders??new Set,[i,m]=zt(Ze);ze(()=>{let l=e.docs?.length??0;if(Qe(i)>=l)return;let c=requestAnimationFrame(function D(){let x=performance.now(),_=Qe(i);do m(_+=Ze);while(_<l&&performance.now()-x<tr);_<l&&(c=requestAnimationFrame(D))});Ge(()=>cancelAnimationFrame(c))});let g=Xt(()=>{let l=e.docs??[];return l.length>i()?l.slice(0,i()):l});function u(l){e.handle.change(c=>Wt(c.docs,l))}let s=()=>!!e.handle&&B()?.containerUrl===e.handle.url,h=l=>{let c=B();if(!c)return;let D=c.index;A(null),e.handle.change(x=>x.docs.splice(D,0,l)),e.open(l),U(e.handle.url+"/"+D)},y=()=>(()=>{var l=Bt();return pe(l,E(er,{get repo(){return e.repo},onCreate:h,onDismiss:()=>A(null),get clearFilter(){return e.clearFilter}})),l})();return[E(Jt,{get each(){return g()},children:(l,c)=>{let D=()=>!e.filter.length||J(e.filter,l.name),x=()=>u(c()),_=()=>e.handle.url+"/"+c(),S=p=>{e.handle.change(d=>{je(d,["docs",c(),"name"],p)});let r=Xe("patchwork:datatype");e.repo.find(l.url).then(async d=>{let{"@patchwork":t}=d.doc();if(t){let n=r.get(t.type);n&&(await r.load(n.id),d.change(a=>n.module.setTitle?.(a,p)))}})};return ze(()=>{if(!e.isSelected(l.url))return;let p=!1,r;e.repo.find(l.url).then(async d=>{if(p)return;let t=Xe("patchwork:datatype");async function n(){let f=d.doc();if(!f)return;let w=f["@patchwork"];if(!w?.type)return;let v=t.get(w.type);if(!v||(await t.load(v.id),p)||!jt(v))return;let F=v.module.getTitle(f);if(!F)return;e.handle.doc()?.docs?.[c()]?.name!==F&&e.handle.change(b=>{je(b,["docs",c(),"name"],F)}),w.title!==F&&d.change(b=>{b["@patchwork"]&&(b["@patchwork"].title=F)})}if(await n(),p)return;let a=()=>n();d.on("change",a),r=()=>d.off("change",a)}),Ge(()=>{p=!0,r?.()})}),[E(ye,{get when(){return We(()=>!!s())()&&B().index===c()},get children(){return y()}}),(()=>{var p=Vt();return pe(p,E(Qt,{get fallback(){return E(re,{get depth(){return e.depth}})},get children(){return E(Zt,{get children(){return[E(Je,{get when(){return l.type=="folder"},get children(){return E(ye,{get when(){return!o.has(l.url)},get fallback(){return(()=>{var r=Yt(),d=r.firstChild,t=d.firstChild;return pe(d,()=>l.name,t),r})()},get children(){return E(he,{get url(){return l.url},get depth(){return e.depth},get repo(){return e.repo},removeFromParent:x,get parentFolderHandle(){return e.handle},get itemIndex(){return c()},get open(){return e.open},get name(){return l.name},get isSelected(){return e.isSelected},visitedFolders:o,get element(){return e.element},get rootFolderHandle(){return e.rootFolderHandle},get filter(){return e.filter},get clearFilter(){return e.clearFilter}})}})}}),E(Je,{get when(){return l.type!="folder"},get children(){return E(j,{get"aria-label"(){return l.name},get url(){return l.url},get name(){return l.name},get id(){return _()},startRenaming:()=>U(_()),remove:x,get pressed(){return e.isSelected(l.url)},get type(){return l.type},get element(){return e.element},get repo(){return e.repo},get rootFolderHandle(){return e.rootFolderHandle},get parentFolderHandle(){return e.handle},get itemIndex(){return c()},openWith:r=>e.open({url:l.url,toolId:r,title:l.name,type:l.type}),get children(){return E(te,{get name(){return l.name},get id(){return _()},rename:S})}})}})]}})}})),qt(r=>{var d=!!D(),t=!D();return d!==r.e&&p.classList.toggle("document-list__item--visible",r.e=d),t!==r.t&&p.classList.toggle("document-list__item--invisible",r.t=t),r},{e:void 0,t:void 0}),p})()]}}),E(ye,{get when(){return We(()=>!!s())()&&B().index>=(e.docs?.length??0)},get children(){return y()}})]}import{createEffect as Bn,createSignal as rr,onCleanup as nr,onMount as or}from"solid-js";import{createStore as Yn,reconcile as Wn}from"solid-js/store";import*as De from"@inkandswitch/patchwork-providers";function ar(e){return typeof e=="function"?e():e}function et(e,o,i){let[m,g]=rr(i);return or(()=>{let u=ar(e);if(!u)return;let s=De.subscribe(u,o,g);nr(s)}),m}function tt(e){let o=0,i=0,m=!1,g=new Set,u=new Set;function s(c){return{id:c.getAttribute("data-dnd-item"),url:c.getAttribute("data-doc-url"),type:c.getAttribute("data-doc-type")??"",name:(c.textContent??"").trim(),source:e.source()}}function h(c){let D=c.clientX-o,x=c.clientY-i;if(!m){if(Math.hypot(D,x)<5)return;m=!0}c.preventDefault();let _=Math.min(o,c.clientX),S=Math.min(i,c.clientY),p=Math.max(o,c.clientX),r=Math.max(i,c.clientY),d=e.container();if(!d)return;let t=new Set;for(let n of d.querySelectorAll("[data-dnd-item]")){if(n.offsetParent===null)continue;let a=n.getAttribute("data-dnd-item");if(!a||g.has(a))continue;let f=n.getBoundingClientRect();f.right<_||f.left>p||f.bottom<S||f.top>r||(t.add(a),$.has(a)||V(a,s(n)))}for(let n of u)t.has(n)||Z(n);u=t}function y(){window.removeEventListener("mousemove",h,!0),window.removeEventListener("mouseup",y,!0),m=!1,u=new Set,g=new Set}function l(c){c.button!==0||!(c.metaKey||c.ctrlKey)||c.target.closest(".document-list__toolbar")||(o=c.clientX,i=c.clientY,m=!1,u=new Set,g=new Set($.keys()),window.addEventListener("mousemove",h,!0),window.addEventListener("mouseup",y,!0))}return{onMouseDown:l}}var sr=ir('<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">'),pr=fr(()=>import("./item-menu-N2ATUOK3.js").then(e=>({default:e.ItemMenu})));function yr(e){let[o,i]=z(()=>e.folderUrl,{repo:e.repo}),[m,g]=nt(""),u=()=>i.state==="ready"||i.state==="refreshing",s=et(e.element,{type:"patchwork:selected-doc"},[]),h=ur(()=>new Set(s())),y=mr(h,(p,r)=>r.has(p));cr(()=>{if(!u())return;let p=s();if(!p.length){oe(new Set);return}let r=!1,d=new Set;de(e.repo,e.folderUrl,new Set(p),d,new Set).then(()=>{r||oe(d)}),ot(()=>{r=!0})});function l(p){e.element.dispatchEvent(Le(p))}let[c,D]=nt(!1),x,_=tt({container:()=>x,source:()=>e.element.toolId??""}),S=p=>{x=p,p.addEventListener("mousedown",_.onMouseDown,!0),ot(()=>p.removeEventListener("mousedown",_.onMouseDown,!0))};return(()=>{var p=sr(),r=p.firstChild,d=r.firstChild,t=d.firstChild,n=t.firstChild;return r.addEventListener("drop",a=>{if(a.preventDefault(),D(!1),N(a)){let b=i();if(b){let q=b.doc()?.docs?.length??0;A({containerUrl:b.url,index:q})}return}let f=a.dataTransfer?.files;if(f&&f.length>0&&i()){let q=i().doc()?.docs?.length||0;K(f,i(),e.repo,"inside",q);return}let w=O(a);if(!w||!i())return;let{source:v,items:F}=w,C=i().url,I=i().doc()?.docs?.length??0;H({draggedIds:F.map(b=>b.id),draggedUrls:F.map(b=>b.url),draggedItems:F,targetId:I>0?`${C}/${I-1}`:C,position:I>0?"below":"inside",sourceToolId:v,copyMode:L()},e.repo,i.latest,R(e.element))}),r.addEventListener("dragleave",a=>{let f=a.relatedTarget;(!f||!a.currentTarget.contains(f))&&D(!1)}),r.addEventListener("dragover",a=>{if(a.dataTransfer?.types.includes("Files")){a.preventDefault(),a.dataTransfer.dropEffect="copy",D(!0);return}(ke(a.dataTransfer)||N(a))&&(a.preventDefault(),a.dataTransfer.dropEffect=L()?"copy":"move")}),dr(S,r),xe(d,k(Ae,{square:!0,draggable:!0,clearFilter:()=>g(""),changeFolder:a=>i()?.change(a),get repo(){return e.repo},open:l}),t),xe(t,k(Te,{}),n),n.$$input=a=>g(a.target.value.toLowerCase()),xe(r,k(at,{get when(){return u()},get fallback(){return k(fe,{depth:0})},get children(){return[k(gr,{get fallback(){return k(fe,{depth:0})},get children(){return k(ne,{depth:0,get repo(){return e.repo},get docs(){return o()?.docs},get handle(){return i.latest},open:l,isSelected:y,get element(){return e.element},get rootFolderHandle(){return i.latest},get filter(){return m()},clearFilter:()=>g("")})}}),k(at,{get when(){return be()},get children(){return k(pr,{get repo(){return e.repo},get rootFolderHandle(){return i.latest},get element(){return e.element}})}})]}}),null),rt(()=>r.classList.toggle("document-list__doclist--drag-over",!!c())),rt(()=>n.value=m()),p})()}function xo(e,o){return hr(()=>k(yr,{folderUrl:e,get repo(){return o.repo},element:o}),o)}lr(["input"]);export{fe as a,yr as b,xo as c};
15
+ //# sourceMappingURL=chunk-6POQCUBB.js.map
@@ -1,4 +1,4 @@
1
- import{a as g,e as v,f as d,r as _}from"./chunk-ZQBDNEEV.js";import{template as m}from"solid-js/web";import{spread as k}from"solid-js/web";var D=m('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class=search-icon><path d="m21 21-4.34-4.34"></path><circle cx=11 cy=11 r=8>');var N=m('<svg xmlns=http://www.w3.org/2000/svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="new-doc-icon icon"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M9 15h6"></path><path d="M12 18v-6">'),E=m('<svg xmlns=http://www.w3.org/2000/svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d="m9 18 6-6-6-6">');function Y(){return D()}function b(e){return(()=>{var r=N();return k(r,e,!0,!0),r})()}function Z(e){return(()=>{var r=E();return k(r,e,!0,!0),r})()}import{template as C}from"solid-js/web";import{delegateEvents as M}from"solid-js/web";import{setAttribute as T}from"solid-js/web";import{effect as L}from"solid-js/web";import{insert as f}from"solid-js/web";import{createComponent as l}from"solid-js/web";import{addEventListener as x}from"solid-js/web";import{use as S}from"solid-js/web";import{isValidAutomergeUrl as F}from"@automerge/automerge-repo/slim";import{createDocOfDatatype2 as I,getRegistry as P,isLoadablePlugin as j,isLoadedPlugin as U}from"@inkandswitch/patchwork-plugins";import{createSignal as q,lazy as O,Show as $}from"solid-js";var A=C("<span class=create-new-button__text>Create new"),B=C('<div class=create-new-button-anchor><button type=button class=create-new-button aria-label="create new">');async function z(e,r){if(j(r)&&await P("patchwork:datatype").load(r.id),!U(r))throw new Error("plugin not loaded after loading");let o=await I(r,e),s=o.doc();return{name:r.module.getTitle(s),type:r.id,url:o.url}}var H=O(()=>import("./create-new-menu-EU5KJJ3R.js").then(e=>({default:e.CreateNewMenu})));function R(e){let[r,o]=q(!1);async function s(n){let t=await z(e.repo,n);e.changeFolder(a=>{a.docs.push(t)}),e.clearFilter(),e.open(t),o(!1)}async function h(n){let t=n.trim();if(!F(t))return;let a=await g(e.repo,t);e.changeFolder(i=>{i.docs.push(a)}),e.clearFilter(),e.open(a),o(!1)}let c=0;function y(n){o(!1),d(!0),n.dataTransfer.setData(v,"1"),n.dataTransfer.effectAllowed="all";let t=document.createElement("div");t.style.cssText=`
1
+ import{a as g,e as v,f as d,r as _}from"./chunk-ZQBDNEEV.js";import{template as m}from"solid-js/web";import{spread as k}from"solid-js/web";var y=m('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class=search-icon><path d="m21 21-4.34-4.34"></path><circle cx=11 cy=11 r=8>');var N=m('<svg xmlns=http://www.w3.org/2000/svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="new-doc-icon icon"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M9 15h6"></path><path d="M12 18v-6">'),E=m('<svg xmlns=http://www.w3.org/2000/svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d="m9 18 6-6-6-6">');function Y(){return y()}function b(e){return(()=>{var r=N();return k(r,e,!0,!0),r})()}function Z(e){return(()=>{var r=E();return k(r,e,!0,!0),r})()}import{template as C}from"solid-js/web";import{delegateEvents as M}from"solid-js/web";import{setAttribute as T}from"solid-js/web";import{effect as L}from"solid-js/web";import{insert as f}from"solid-js/web";import{createComponent as l}from"solid-js/web";import{addEventListener as x}from"solid-js/web";import{use as S}from"solid-js/web";import{isValidAutomergeUrl as F}from"@automerge/automerge-repo/slim";import{createDocOfDatatype2 as I,getRegistry as P,isLoadablePlugin as j,isLoadedPlugin as U}from"@inkandswitch/patchwork-plugins";import{createSignal as q,lazy as O,Show as $}from"solid-js";var A=C("<span class=create-new-button__text>Create new"),B=C('<div class=create-new-button-anchor><button type=button class=create-new-button aria-label="create new">');async function z(e,r){if(j(r)&&(r=await P("patchwork:datatype").load(r.id)??r),!U(r))throw new Error("plugin not loaded after loading");let o=await I(r,e),s=o.doc();return{name:r.module.getTitle(s),type:r.id,url:o.url}}var H=O(()=>import("./create-new-menu-VA4ELRJ6.js").then(e=>({default:e.CreateNewMenu})));function R(e){let[r,o]=q(!1);async function s(n){let t=await z(e.repo,n);e.changeFolder(a=>{a.docs.push(t)}),e.clearFilter(),e.open(t),o(!1)}async function h(n){let t=n.trim();if(!F(t))return;let a=await g(e.repo,t);e.changeFolder(i=>{i.docs.push(a)}),e.clearFilter(),e.open(a),o(!1)}let c=0;function D(n){o(!1),d(!0),n.dataTransfer.setData(v,"1"),n.dataTransfer.effectAllowed="all";let t=document.createElement("div");t.style.cssText=`
2
2
  position: absolute;
3
3
  top: -1000px;
4
4
  background: var(--document-list-primary);
@@ -9,5 +9,5 @@ import{a as g,e as v,f as d,r as _}from"./chunk-ZQBDNEEV.js";import{template as
9
9
  pointer-events: none;
10
10
  color: var(--document-list-primary-line);
11
11
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
12
- `,t.textContent="new doc",document.body.appendChild(t),n.dataTransfer.setDragImage(t,10,10),setTimeout(()=>t.remove(),0)}let u;return(()=>{var n=B(),t=n.firstChild,a=u;return typeof a=="function"?S(a,n):u=n,x(t,"dragend",()=>{d(!1),_()}),x(t,"dragstart",e.draggable?y:void 0),t.$$click=()=>{performance.now()-c>200&&o(!0)},f(t,l(b,{class:"create-new-button__icon"}),null),f(t,l($,{get when(){return!e.square},get children(){return[" ",A()]}}),null),f(n,l($,{get when(){return r()},get children(){return l(H,{get anchor(){return u.getBoundingClientRect()},onClose:()=>{o(!1),c=performance.now()},onPickDatatype:s,onSubmitUrl:h})}}),null),L(i=>{var p=!!e.square,w=e.draggable;return p!==i.e&&t.classList.toggle("create-new-button--square",i.e=p),w!==i.t&&T(t,"draggable",i.t=w),i},{e:void 0,t:void 0}),n})()}M(["click"]);export{Y as a,Z as b,z as c,R as d};
13
- //# sourceMappingURL=chunk-TXFTRSLY.js.map
12
+ `,t.textContent="new doc",document.body.appendChild(t),n.dataTransfer.setDragImage(t,10,10),setTimeout(()=>t.remove(),0)}let u;return(()=>{var n=B(),t=n.firstChild,a=u;return typeof a=="function"?S(a,n):u=n,x(t,"dragend",()=>{d(!1),_()}),x(t,"dragstart",e.draggable?D:void 0),t.$$click=()=>{performance.now()-c>200&&o(!0)},f(t,l(b,{class:"create-new-button__icon"}),null),f(t,l($,{get when(){return!e.square},get children(){return[" ",A()]}}),null),f(n,l($,{get when(){return r()},get children(){return l(H,{get anchor(){return u.getBoundingClientRect()},onClose:()=>{o(!1),c=performance.now()},onPickDatatype:s,onSubmitUrl:h})}}),null),L(i=>{var p=!!e.square,w=e.draggable;return p!==i.e&&t.classList.toggle("create-new-button--square",i.e=p),w!==i.t&&T(t,"draggable",i.t=w),i},{e:void 0,t:void 0}),n})()}M(["click"]);export{Y as a,Z as b,z as c,R as d};
13
+ //# sourceMappingURL=chunk-DS3QVJZT.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/sideboard/icons.tsx", "../src/sideboard/create-new.tsx"],
4
+ "sourcesContent": ["import { template as _$template } from \"solid-js/web\";\nimport { spread as _$spread } from \"solid-js/web\";\nvar _tmpl$ = /*#__PURE__*/_$template(`<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox=\"0 0 24 24\"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class=search-icon><path d=\"m21 21-4.34-4.34\"></path><circle cx=11 cy=11 r=8>`),\n _tmpl$2 = /*#__PURE__*/_$template(`<svg xmlns=http://www.w3.org/2000/svg width=16 height=16 viewBox=\"0 0 24 24\"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class=\"plus-icon icon\"><path d=\"M5 12h14\"></path><path d=\"M12 5v14\">`),\n _tmpl$3 = /*#__PURE__*/_$template(`<svg xmlns=http://www.w3.org/2000/svg width=16 height=16 viewBox=\"0 0 24 24\"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class=\"new-doc-icon icon\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"></path><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"></path><path d=\"M9 15h6\"></path><path d=\"M12 18v-6\">`),\n _tmpl$4 = /*#__PURE__*/_$template(`<svg xmlns=http://www.w3.org/2000/svg width=16 height=16 viewBox=\"0 0 24 24\"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d=\"m9 18 6-6-6-6\">`);\nexport function SearchIcon() {\n return _tmpl$();\n}\nexport function PlusIcon(props) {\n return (() => {\n var _el$2 = _tmpl$2();\n _$spread(_el$2, props, true, true);\n return _el$2;\n })();\n}\nexport function NewDocIcon(props) {\n return (() => {\n var _el$3 = _tmpl$3();\n _$spread(_el$3, props, true, true);\n return _el$3;\n })();\n}\nexport function Chevron(props) {\n return (() => {\n var _el$4 = _tmpl$4();\n _$spread(_el$4, props, true, true);\n return _el$4;\n })();\n}", "import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { setAttribute as _$setAttribute } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\nimport { addEventListener as _$addEventListener } from \"solid-js/web\";\nimport { use as _$use } from \"solid-js/web\";\nvar _tmpl$ = /*#__PURE__*/_$template(`<span class=create-new-button__text>Create new`),\n _tmpl$2 = /*#__PURE__*/_$template(`<div class=create-new-button-anchor><button type=button class=create-new-button aria-label=\"create new\">`);\nimport { isValidAutomergeUrl } from \"@automerge/automerge-repo/slim\";\nimport { createDocOfDatatype2, getRegistry, isLoadablePlugin, isLoadedPlugin } from \"@inkandswitch/patchwork-plugins\";\nimport { createSignal, lazy, Show } from \"solid-js\";\nimport { NewDocIcon } from \"./icons.tsx\";\nimport { docLinkFromUrl } from \"./lib/doc-link.ts\";\nimport { NEW_DOC_DND_TYPE, setNewDocDragging, clearDropTarget } from \"./dnd/dnd.ts\";\nexport async function createNew(repo, datatype) {\n if (isLoadablePlugin(datatype)) {\n const registry = getRegistry(\"patchwork:datatype\");\n datatype = (await registry.load(datatype.id)) ?? datatype;\n }\n if (!isLoadedPlugin(datatype)) {\n throw new Error(\"plugin not loaded after loading\");\n }\n const docHandle = await createDocOfDatatype2(datatype, repo);\n const doc = docHandle.doc();\n const name = datatype.module.getTitle(doc);\n return {\n name,\n type: datatype.id,\n url: docHandle.url\n };\n}\nconst CreateNewMenu = lazy(() => import(\"./create-new-menu.tsx\").then(m => ({\n default: m.CreateNewMenu\n})));\nexport default function CreateNew(props) {\n const [open, setOpen] = createSignal(false);\n async function selectDatatype(datatype) {\n const freshy = await createNew(props.repo, datatype);\n props.changeFolder(doc => {\n doc.docs.push(freshy);\n });\n props.clearFilter();\n props.open(freshy);\n setOpen(false);\n }\n async function handleUrlSubmit(url) {\n const trimmed = url.trim();\n if (!isValidAutomergeUrl(trimmed)) return;\n const docLink = await docLinkFromUrl(props.repo, trimmed);\n props.changeFolder(doc => {\n doc.docs.push(docLink);\n });\n props.clearFilter();\n props.open(docLink);\n setOpen(false);\n }\n let lastCloseAt = 0;\n function handleDragStart(event) {\n setOpen(false);\n setNewDocDragging(true);\n event.dataTransfer.setData(NEW_DOC_DND_TYPE, \"1\");\n event.dataTransfer.effectAllowed = \"all\";\n const preview = document.createElement(\"div\");\n preview.style.cssText = `\n position: absolute;\n top: -1000px;\n background: var(--document-list-primary);\n padding: 0.5rem 0.75rem;\n border-radius: var(--document-list-radius);\n font-family: inherit;\n font-size: 0.9rem;\n pointer-events: none;\n color: var(--document-list-primary-line);\n box-shadow: 0 2px 8px rgba(0,0,0,0.1);\n `;\n preview.textContent = \"new doc\";\n document.body.appendChild(preview);\n event.dataTransfer.setDragImage(preview, 10, 10);\n setTimeout(() => preview.remove(), 0);\n }\n let anchor;\n return (() => {\n var _el$ = _tmpl$2(),\n _el$2 = _el$.firstChild;\n var _ref$ = anchor;\n typeof _ref$ === \"function\" ? _$use(_ref$, _el$) : anchor = _el$;\n _$addEventListener(_el$2, \"dragend\", () => {\n setNewDocDragging(false);\n clearDropTarget();\n });\n _$addEventListener(_el$2, \"dragstart\", props.draggable ? handleDragStart : void 0);\n _el$2.$$click = () => {\n if (performance.now() - lastCloseAt > 200) setOpen(true);\n };\n _$insert(_el$2, _$createComponent(NewDocIcon, {\n \"class\": \"create-new-button__icon\"\n }), null);\n _$insert(_el$2, _$createComponent(Show, {\n get when() {\n return !props.square;\n },\n get children() {\n return [\" \", _tmpl$()];\n }\n }), null);\n _$insert(_el$, _$createComponent(Show, {\n get when() {\n return open();\n },\n get children() {\n return _$createComponent(CreateNewMenu, {\n get anchor() {\n return anchor.getBoundingClientRect();\n },\n onClose: () => {\n setOpen(false);\n lastCloseAt = performance.now();\n },\n onPickDatatype: selectDatatype,\n onSubmitUrl: handleUrlSubmit\n });\n }\n }), null);\n _$effect(_p$ => {\n var _v$ = !!props.square,\n _v$2 = props.draggable;\n _v$ !== _p$.e && _el$2.classList.toggle(\"create-new-button--square\", _p$.e = _v$);\n _v$2 !== _p$.t && _$setAttribute(_el$2, \"draggable\", _p$.t = _v$2);\n return _p$;\n }, {\n e: undefined,\n t: undefined\n });\n return _el$;\n })();\n}\n_$delegateEvents([\"click\"]);"],
5
+ "mappings": "6DAAA,OAAS,YAAYA,MAAkB,eACvC,OAAS,UAAUC,MAAgB,eACnC,IAAIC,EAAsBF,EAAW,kPAAkP,EAAvR,IAEEG,EAAuBC,EAAW,kWAAkW,EACpYC,EAAuBD,EAAW,8LAA8L,EAC3N,SAASE,GAAa,CAC3B,OAAOC,EAAO,CAChB,CAQO,SAASC,EAAWC,EAAO,CAChC,OAAQ,IAAM,CACZ,IAAIC,EAAQC,EAAQ,EACpB,OAAAC,EAASF,EAAOD,EAAO,GAAM,EAAI,EAC1BC,CACT,GAAG,CACL,CACO,SAASG,EAAQJ,EAAO,CAC7B,OAAQ,IAAM,CACZ,IAAIK,EAAQC,EAAQ,EACpB,OAAAH,EAASE,EAAOL,EAAO,GAAM,EAAI,EAC1BK,CACT,GAAG,CACL,CC7BA,OAAS,YAAYE,MAAkB,eACvC,OAAS,kBAAkBC,MAAwB,eACnD,OAAS,gBAAgBC,MAAsB,eAC/C,OAAS,UAAUC,MAAgB,eACnC,OAAS,UAAUC,MAAgB,eACnC,OAAS,mBAAmBC,MAAyB,eACrD,OAAS,oBAAoBC,MAA0B,eACvD,OAAS,OAAOC,MAAa,eAG7B,OAAS,uBAAAC,MAA2B,iCACpC,OAAS,wBAAAC,EAAsB,eAAAC,EAAa,oBAAAC,EAAkB,kBAAAC,MAAsB,kCACpF,OAAS,gBAAAC,EAAc,QAAAC,EAAM,QAAAC,MAAY,WAJzC,IAAIC,EAAsBC,EAAW,gDAAgD,EACnFC,EAAuBD,EAAW,0GAA0G,EAO9I,eAAsBE,EAAUC,EAAMC,EAAU,CAK9C,GAJIC,EAAiBD,CAAQ,IAE3BA,EAAY,MADKE,EAAY,oBAAoB,EACtB,KAAKF,EAAS,EAAE,GAAMA,GAE/C,CAACG,EAAeH,CAAQ,EAC1B,MAAM,IAAI,MAAM,iCAAiC,EAEnD,IAAMI,EAAY,MAAMC,EAAqBL,EAAUD,CAAI,EACrDO,EAAMF,EAAU,IAAI,EAE1B,MAAO,CACL,KAFWJ,EAAS,OAAO,SAASM,CAAG,EAGvC,KAAMN,EAAS,GACf,IAAKI,EAAU,GACjB,CACF,CACA,IAAMG,EAAgBC,EAAK,IAAM,OAAO,+BAAuB,EAAE,KAAKC,IAAM,CAC1E,QAASA,EAAE,aACb,EAAE,CAAC,EACY,SAARC,EAA2BC,EAAO,CACvC,GAAM,CAACC,EAAMC,CAAO,EAAIC,EAAa,EAAK,EAC1C,eAAeC,EAAef,EAAU,CACtC,IAAMgB,EAAS,MAAMlB,EAAUa,EAAM,KAAMX,CAAQ,EACnDW,EAAM,aAAaL,GAAO,CACxBA,EAAI,KAAK,KAAKU,CAAM,CACtB,CAAC,EACDL,EAAM,YAAY,EAClBA,EAAM,KAAKK,CAAM,EACjBH,EAAQ,EAAK,CACf,CACA,eAAeI,EAAgBC,EAAK,CAClC,IAAMC,EAAUD,EAAI,KAAK,EACzB,GAAI,CAACE,EAAoBD,CAAO,EAAG,OACnC,IAAME,EAAU,MAAMC,EAAeX,EAAM,KAAMQ,CAAO,EACxDR,EAAM,aAAaL,GAAO,CACxBA,EAAI,KAAK,KAAKe,CAAO,CACvB,CAAC,EACDV,EAAM,YAAY,EAClBA,EAAM,KAAKU,CAAO,EAClBR,EAAQ,EAAK,CACf,CACA,IAAIU,EAAc,EAClB,SAASC,EAAgBC,EAAO,CAC9BZ,EAAQ,EAAK,EACba,EAAkB,EAAI,EACtBD,EAAM,aAAa,QAAQE,EAAkB,GAAG,EAChDF,EAAM,aAAa,cAAgB,MACnC,IAAMG,EAAU,SAAS,cAAc,KAAK,EAC5CA,EAAQ,MAAM,QAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAYxBA,EAAQ,YAAc,UACtB,SAAS,KAAK,YAAYA,CAAO,EACjCH,EAAM,aAAa,aAAaG,EAAS,GAAI,EAAE,EAC/C,WAAW,IAAMA,EAAQ,OAAO,EAAG,CAAC,CACtC,CACA,IAAIC,EACJ,OAAQ,IAAM,CACZ,IAAIC,EAAOjC,EAAQ,EACjBkC,EAAQD,EAAK,WACXE,EAAQH,EACZ,cAAOG,GAAU,WAAaC,EAAMD,EAAOF,CAAI,EAAID,EAASC,EAC5DI,EAAmBH,EAAO,UAAW,IAAM,CACzCL,EAAkB,EAAK,EACvBS,EAAgB,CAClB,CAAC,EACDD,EAAmBH,EAAO,YAAapB,EAAM,UAAYa,EAAkB,MAAM,EACjFO,EAAM,QAAU,IAAM,CAChB,YAAY,IAAI,EAAIR,EAAc,KAAKV,EAAQ,EAAI,CACzD,EACAuB,EAASL,EAAOM,EAAkBC,EAAY,CAC5C,MAAS,yBACX,CAAC,EAAG,IAAI,EACRF,EAASL,EAAOM,EAAkBE,EAAM,CACtC,IAAI,MAAO,CACT,MAAO,CAAC5B,EAAM,MAChB,EACA,IAAI,UAAW,CACb,MAAO,CAAC,IAAKhB,EAAO,CAAC,CACvB,CACF,CAAC,EAAG,IAAI,EACRyC,EAASN,EAAMO,EAAkBE,EAAM,CACrC,IAAI,MAAO,CACT,OAAO3B,EAAK,CACd,EACA,IAAI,UAAW,CACb,OAAOyB,EAAkB9B,EAAe,CACtC,IAAI,QAAS,CACX,OAAOsB,EAAO,sBAAsB,CACtC,EACA,QAAS,IAAM,CACbhB,EAAQ,EAAK,EACbU,EAAc,YAAY,IAAI,CAChC,EACA,eAAgBR,EAChB,YAAaE,CACf,CAAC,CACH,CACF,CAAC,EAAG,IAAI,EACRuB,EAASC,GAAO,CACd,IAAIC,EAAM,CAAC,CAAC/B,EAAM,OAChBgC,EAAOhC,EAAM,UACf,OAAA+B,IAAQD,EAAI,GAAKV,EAAM,UAAU,OAAO,4BAA6BU,EAAI,EAAIC,CAAG,EAChFC,IAASF,EAAI,GAAKG,EAAeb,EAAO,YAAaU,EAAI,EAAIE,CAAI,EAC1DF,CACT,EAAG,CACD,EAAG,OACH,EAAG,MACL,CAAC,EACMX,CACT,GAAG,CACL,CACAe,EAAiB,CAAC,OAAO,CAAC",
6
+ "names": ["_$template", "_$spread", "_tmpl$", "_tmpl$3", "_$template", "_tmpl$4", "SearchIcon", "_tmpl$", "NewDocIcon", "props", "_el$3", "_tmpl$3", "_$spread", "Chevron", "_el$4", "_tmpl$4", "_$template", "_$delegateEvents", "_$setAttribute", "_$effect", "_$insert", "_$createComponent", "_$addEventListener", "_$use", "isValidAutomergeUrl", "createDocOfDatatype2", "getRegistry", "isLoadablePlugin", "isLoadedPlugin", "createSignal", "lazy", "Show", "_tmpl$", "_$template", "_tmpl$2", "createNew", "repo", "datatype", "isLoadablePlugin", "getRegistry", "isLoadedPlugin", "docHandle", "createDocOfDatatype2", "doc", "CreateNewMenu", "lazy", "m", "CreateNew", "props", "open", "setOpen", "createSignal", "selectDatatype", "freshy", "handleUrlSubmit", "url", "trimmed", "isValidAutomergeUrl", "docLink", "docLinkFromUrl", "lastCloseAt", "handleDragStart", "event", "setNewDocDragging", "NEW_DOC_DND_TYPE", "preview", "anchor", "_el$", "_el$2", "_ref$", "_$use", "_$addEventListener", "clearDropTarget", "_$insert", "_$createComponent", "NewDocIcon", "Show", "_$effect", "_p$", "_v$", "_v$2", "_$setAttribute", "_$delegateEvents"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as _,c as d,d as g}from"./chunk-6LWWNFKU.js";import{c as y}from"./chunk-TXFTRSLY.js";import{a as h}from"./chunk-ZQBDNEEV.js";import"./chunk-FW4363Y4.js";import{template as D}from"solid-js/web";import{delegateEvents as U}from"solid-js/web";import{createComponent as c}from"solid-js/web";import{use as v}from"solid-js/web";import{effect as P}from"solid-js/web";import{isValidAutomergeUrl as p}from"@automerge/automerge-repo/slim";import{createSignal as w,For as x,Show as L}from"solid-js";var S=D('<div class=create-new-filter><input class=create-new-filter__input placeholder="Filter or paste automerge url\u2026">'),b=D('<div class="document-list-item document-list-placeholder"><span class=document-list-item__name>New document');function k(t){let s=_(o=>!o.unlisted),[l,m]=w(""),[a,r]=w(0),u=()=>p(l().trim()),f=()=>{let o=l().toLowerCase();return[...o?s.filter(e=>e.name.toLowerCase().includes(o)):s].sort((e,i)=>e.name.localeCompare(i.name))},C=()=>(u()?1:0)+f().length;function $(){let o=a();if(u()){if(o===0){t.onSubmitUrl(l());return}let n=f()[o-1];n&&t.onPickDatatype(n)}else{let n=f()[o];n&&t.onPickDatatype(n)}}return[(()=>{var o=S(),n=o.firstChild;return v(e=>{requestAnimationFrame(()=>e.focus())},n),n.addEventListener("paste",e=>{let i=e.clipboardData?.getData("text/plain")??"";p(i.trim())&&(e.preventDefault(),m(i.trim()),r(0))}),n.$$keydown=e=>{if(e.key==="Enter")e.preventDefault(),$();else if(e.key==="ArrowDown")e.preventDefault(),r(i=>Math.min(i+1,C()-1));else if(e.key==="ArrowUp")e.preventDefault(),r(i=>Math.max(i-1,0));else if(e.key==="Escape")return;e.stopPropagation()},n.$$input=e=>{m(e.target.value),r(0)},P(()=>n.value=l()),o})(),c(L,{get when(){return u()},get children(){return c(g,{get classList(){return{"popmenu__item--highlighted":a()===0}},onSelect:()=>t.onSubmitUrl(l()),onPointerMove:()=>r(0),children:"Add by URL"})}}),c(x,{get each(){return f()},children:(o,n)=>c(g,{get classList(){return{"popmenu__item--highlighted":a()===n()+(u()?1:0)}},onSelect:()=>t.onPickDatatype(o),onPointerMove:()=>r(n()+(u()?1:0)),get children(){return o.name}})})]}function V(t){return c(d,{get anchor(){return t.anchor},class:"popmenu__content create-new-menu__content",autofocus:!1,get onClose(){return t.onClose},get children(){return c(k,{get onPickDatatype(){return t.onPickDatatype},get onSubmitUrl(){return t.onSubmitUrl}})}})}function j(t){let s;async function l(a){let r=await y(t.repo,a);t.clearFilter(),t.onCreate(r)}async function m(a){let r=a.trim();if(!p(r))return;let u=await h(t.repo,r);t.clearFilter(),t.onCreate(u)}return[(()=>{var a=b(),r=s;return typeof r=="function"?v(r,a):s=a,a})(),c(d,{get anchor(){return s.getBoundingClientRect()},class:"popmenu__content create-new-menu__content",autofocus:!1,get onClose(){return t.onDismiss},get children(){return c(k,{onPickDatatype:l,onSubmitUrl:m})}})]}U(["input","keydown"]);export{V as CreateNewMenu,j as NewDocPlaceholder};
2
- //# sourceMappingURL=create-new-menu-EU5KJJ3R.js.map
1
+ import{a as _,c as d,d as g}from"./chunk-6LWWNFKU.js";import{c as y}from"./chunk-DS3QVJZT.js";import{a as h}from"./chunk-ZQBDNEEV.js";import"./chunk-FW4363Y4.js";import{template as D}from"solid-js/web";import{delegateEvents as U}from"solid-js/web";import{createComponent as c}from"solid-js/web";import{use as v}from"solid-js/web";import{effect as P}from"solid-js/web";import{isValidAutomergeUrl as p}from"@automerge/automerge-repo/slim";import{createSignal as w,For as x,Show as L}from"solid-js";var S=D('<div class=create-new-filter><input class=create-new-filter__input placeholder="Filter or paste automerge url\u2026">'),b=D('<div class="document-list-item document-list-placeholder"><span class=document-list-item__name>New document');function k(t){let s=_(o=>!o.unlisted),[l,m]=w(""),[a,r]=w(0),u=()=>p(l().trim()),f=()=>{let o=l().toLowerCase();return[...o?s.filter(e=>e.name.toLowerCase().includes(o)):s].sort((e,i)=>e.name.localeCompare(i.name))},C=()=>(u()?1:0)+f().length;function $(){let o=a();if(u()){if(o===0){t.onSubmitUrl(l());return}let n=f()[o-1];n&&t.onPickDatatype(n)}else{let n=f()[o];n&&t.onPickDatatype(n)}}return[(()=>{var o=S(),n=o.firstChild;return v(e=>{requestAnimationFrame(()=>e.focus())},n),n.addEventListener("paste",e=>{let i=e.clipboardData?.getData("text/plain")??"";p(i.trim())&&(e.preventDefault(),m(i.trim()),r(0))}),n.$$keydown=e=>{if(e.key==="Enter")e.preventDefault(),$();else if(e.key==="ArrowDown")e.preventDefault(),r(i=>Math.min(i+1,C()-1));else if(e.key==="ArrowUp")e.preventDefault(),r(i=>Math.max(i-1,0));else if(e.key==="Escape")return;e.stopPropagation()},n.$$input=e=>{m(e.target.value),r(0)},P(()=>n.value=l()),o})(),c(L,{get when(){return u()},get children(){return c(g,{get classList(){return{"popmenu__item--highlighted":a()===0}},onSelect:()=>t.onSubmitUrl(l()),onPointerMove:()=>r(0),children:"Add by URL"})}}),c(x,{get each(){return f()},children:(o,n)=>c(g,{get classList(){return{"popmenu__item--highlighted":a()===n()+(u()?1:0)}},onSelect:()=>t.onPickDatatype(o),onPointerMove:()=>r(n()+(u()?1:0)),get children(){return o.name}})})]}function V(t){return c(d,{get anchor(){return t.anchor},class:"popmenu__content create-new-menu__content",autofocus:!1,get onClose(){return t.onClose},get children(){return c(k,{get onPickDatatype(){return t.onPickDatatype},get onSubmitUrl(){return t.onSubmitUrl}})}})}function j(t){let s;async function l(a){let r=await y(t.repo,a);t.clearFilter(),t.onCreate(r)}async function m(a){let r=a.trim();if(!p(r))return;let u=await h(t.repo,r);t.clearFilter(),t.onCreate(u)}return[(()=>{var a=b(),r=s;return typeof r=="function"?v(r,a):s=a,a})(),c(d,{get anchor(){return s.getBoundingClientRect()},class:"popmenu__content create-new-menu__content",autofocus:!1,get onClose(){return t.onDismiss},get children(){return c(k,{onPickDatatype:l,onSubmitUrl:m})}})]}U(["input","keydown"]);export{V as CreateNewMenu,j as NewDocPlaceholder};
2
+ //# sourceMappingURL=create-new-menu-VA4ELRJ6.js.map
@@ -0,0 +1,2 @@
1
+ import{b as a,c as b}from"./chunk-6POQCUBB.js";import"./chunk-DS3QVJZT.js";import"./chunk-NO6SJFVH.js";import"./chunk-ZQBDNEEV.js";import"./chunk-LJ5XCENG.js";import"./chunk-TCL6SLDB.js";import"./chunk-FW4363Y4.js";export{a as DocumentListPanel,b as renderDocumentListPanel};
2
+ //# sourceMappingURL=document-list-panel-GHYN6JR5.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-WDIVYTZU.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-KGTVEYOE.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};
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-GHYN6JR5.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-KGTVEYOE.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
@@ -1,2 +1,2 @@
1
- import{a as i,b as a}from"../chunk-KHS2XJKP.js";import"../chunk-TXFTRSLY.js";import"../chunk-NO6SJFVH.js";import"../chunk-ZQBDNEEV.js";import{a as d}from"../chunk-V62KH27A.js";import{a as m}from"../chunk-LJ5XCENG.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};
1
+ import{a as i,b as a}from"../chunk-6POQCUBB.js";import"../chunk-DS3QVJZT.js";import"../chunk-NO6SJFVH.js";import"../chunk-ZQBDNEEV.js";import{a as d}from"../chunk-V62KH27A.js";import{a as m}from"../chunk-LJ5XCENG.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
@@ -19,7 +19,6 @@ var __copyProps = (to, from, except, desc) => {
19
19
  }
20
20
  return to;
21
21
  };
22
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
23
22
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
24
23
  // If the importer is in node compatibility mode or this is not an ESM
25
24
  // file that has been converted to a CommonJS file using a Babel-
@@ -32,7 +31,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
32
31
  export {
33
32
  __commonJS,
34
33
  __export,
35
- __reExport,
36
34
  __toESM
37
35
  };
38
- //# sourceMappingURL=chunk-IKZWERSR.js.map
36
+ //# sourceMappingURL=chunk-G3PMV62Z.js.map
@@ -2,7 +2,7 @@ import {
2
2
  __commonJS,
3
3
  __export,
4
4
  __toESM
5
- } from "./chunk-IKZWERSR.js";
5
+ } from "./chunk-G3PMV62Z.js";
6
6
 
7
7
  // node_modules/.pnpm/lodash.isequal@4.5.0/node_modules/lodash.isequal/index.js
8
8
  var require_lodash = __commonJS({
@@ -95631,7 +95631,7 @@ async function defaultHandleExternalUrlAsset(editor, { url }, { toasts, msg: msg
95631
95631
  };
95632
95632
  }
95633
95633
  async function defaultHandleExternalSvgTextContent(editor, { point, text }) {
95634
- const { sanitizeSvg: sanitizeSvg2 } = await import("./sanitizeSvg-OOYBXUQ2.js");
95634
+ const { sanitizeSvg: sanitizeSvg2 } = await import("./sanitizeSvg-NCGPTJ3E.js");
95635
95635
  text = sanitizeSvg2(text);
95636
95636
  if (!text) return;
95637
95637
  const position = point ?? (editor.inputs.getShiftKey() ? editor.inputs.getCurrentPagePoint() : editor.getViewportPageBounds().center);
@@ -95973,7 +95973,7 @@ async function maybeSanitizeSvgFile(file) {
95973
95973
  if (file.type !== "image/svg+xml") return file;
95974
95974
  try {
95975
95975
  const text = await file.text();
95976
- const { sanitizeSvg: sanitizeSvg2 } = await import("./sanitizeSvg-OOYBXUQ2.js");
95976
+ const { sanitizeSvg: sanitizeSvg2 } = await import("./sanitizeSvg-NCGPTJ3E.js");
95977
95977
  const sanitized = sanitizeSvg2(text);
95978
95978
  if (!sanitized) return null;
95979
95979
  return new File([sanitized], file.name, { type: file.type, lastModified: file.lastModified });
@@ -138852,4 +138852,4 @@ tldraw/dist-esm/lib/shapes/shared/PathBuilder.mjs:
138852
138852
  * https://github.com/adobe-webplatform/Snap.svg/blob/c8e483c9694517e24b282f8f59f985629f4994ce/dist/snap.svg.js#L5786
138853
138853
  *)
138854
138854
  */
138855
- //# sourceMappingURL=chunk-7CJQMVDI.js.map
138855
+ //# sourceMappingURL=chunk-PMHAL5YM.js.map
@@ -2,9 +2,9 @@ import {
2
2
  createTLStore,
3
3
  defaultShapeUtils,
4
4
  tldrawValueToAutomergeValue
5
- } from "./chunk-7CJQMVDI.js";
5
+ } from "./chunk-PMHAL5YM.js";
6
6
  import "./chunk-HLPPAGU3.js";
7
- import "./chunk-IKZWERSR.js";
7
+ import "./chunk-G3PMV62Z.js";
8
8
 
9
9
  // src/datatype.ts
10
10
  var pageKey = "page:page";
@@ -1,4 +1,4 @@
1
- import "./chunk-IKZWERSR.js";
1
+ import "./chunk-G3PMV62Z.js";
2
2
 
3
3
  // src/main.ts
4
4
  function addStyles(textContent, element = document.head) {
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  sanitizeSvg
3
3
  } from "./chunk-HLPPAGU3.js";
4
- import "./chunk-IKZWERSR.js";
4
+ import "./chunk-G3PMV62Z.js";
5
5
  export {
6
6
  sanitizeSvg
7
7
  };
8
- //# sourceMappingURL=sanitizeSvg-OOYBXUQ2.js.map
8
+ //# sourceMappingURL=sanitizeSvg-NCGPTJ3E.js.map