@inkandswitch/patchwork-pkg-base 0.0.110 → 0.0.112

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 (96) hide show
  1. package/module-settings-url +1 -1
  2. package/package.json +1 -1
  3. package/packages/account/dist/{AccountPicker-DCX77HQI.js → AccountPicker-L3IHAMPQ.js} +25 -18
  4. package/packages/account/dist/AccountPicker-L3IHAMPQ.js.map +7 -0
  5. package/packages/account/dist/index.js +1 -1
  6. package/packages/account/package.json +1 -1
  7. package/packages/account-history/dist/assets/{HistoryRecorder-_3PrVW6n.js → HistoryRecorder-mRdg9-Sa.js} +2 -3
  8. package/packages/account-history/dist/assets/HistoryRecorder-mRdg9-Sa.js.map +1 -0
  9. package/packages/account-history/dist/assets/{HistoryViewer-BmG0rAfK.js → HistoryViewer-yhYv3jqn.js} +2 -2
  10. package/packages/account-history/dist/assets/{HistoryViewer-BmG0rAfK.js.map → HistoryViewer-yhYv3jqn.js.map} +1 -1
  11. package/packages/account-history/dist/assets/{NotebookViewer-DZ_ZQU5x.js → NotebookViewer-CLhIU0hN.js} +2 -2
  12. package/packages/account-history/dist/assets/{NotebookViewer-DZ_ZQU5x.js.map → NotebookViewer-CLhIU0hN.js.map} +1 -1
  13. package/packages/account-history/dist/assets/{context-wyGzlZK-.js → context-CgDNOWHV.js} +1 -4
  14. package/packages/account-history/dist/assets/{context-wyGzlZK-.js.map → context-CgDNOWHV.js.map} +1 -1
  15. package/packages/account-history/dist/assets/{index-DYqbrbYW.js → index-Bx2CKRPA.js} +5 -5
  16. package/packages/account-history/dist/assets/{index-DYqbrbYW.js.map → index-Bx2CKRPA.js.map} +1 -1
  17. package/packages/account-history/dist/index.js +1 -1
  18. package/packages/account-history/package.json +1 -1
  19. package/packages/chat/dist/{ChatRoot-1d-658Rr.js → ChatRoot-Ly8PORLd.js} +704 -696
  20. package/packages/chat/dist/{context-tool-iP64Oz6H.js → context-tool-DHIbdY80.js} +2 -2
  21. package/packages/chat/dist/{index-Dm_2jZcu.js → index-fGaJgJ-s.js} +3 -3
  22. package/packages/chat/dist/index.js +1 -1
  23. package/packages/chat/dist/{tool-BmNd5mrj.js → tool-CpslbjKC.js} +1 -1
  24. package/packages/chat/package.json +1 -1
  25. package/packages/codemirror-base/dist/tool.js +1 -1
  26. package/packages/codemirror-base/dist/tool.js.map +1 -1
  27. package/packages/codemirror-base/package.json +1 -1
  28. package/packages/comments-view/dist/assets/{main-wSSvAVfi.js → main-IR1Yfgas.js} +14 -7
  29. package/packages/comments-view/dist/assets/main-IR1Yfgas.js.map +1 -0
  30. package/packages/comments-view/dist/index.js +3 -3
  31. package/packages/comments-view/package.json +1 -1
  32. package/packages/drafts/dist/assets/main-CG9HOCai.js.map +1 -1
  33. package/packages/drafts/package.json +1 -1
  34. package/packages/file/dist/index.js +1 -1
  35. package/packages/file/dist/{tool-Bt8I8T2-.js → tool-DMegb4Cw.js} +814 -806
  36. package/packages/file/dist/tool-DMegb4Cw.js.map +1 -0
  37. package/packages/file/dist/{typescript-language-server-Db4173Y5.js → typescript-language-server-Cx5RlH3z.js} +2 -2
  38. package/packages/file/dist/{typescript-language-server-Db4173Y5.js.map → typescript-language-server-Cx5RlH3z.js.map} +1 -1
  39. package/packages/file/package.json +1 -1
  40. package/packages/history-view/dist/assets/{HistoryTimeline-Bo-BTf2A.js → HistoryTimeline-DOndzpUR.js} +15 -8
  41. package/packages/history-view/dist/assets/HistoryTimeline-DOndzpUR.js.map +1 -0
  42. package/packages/history-view/dist/assets/{index-B5Afrk9Y.js → index-D7nqWI0b.js} +2 -2
  43. package/packages/history-view/dist/assets/{index-B5Afrk9Y.js.map → index-D7nqWI0b.js.map} +1 -1
  44. package/packages/history-view/dist/index.js +1 -1
  45. package/packages/history-view/package.json +1 -1
  46. package/packages/settings/dist/assets/{FrameConfigurator-DVRBzIR-.js → FrameConfigurator-C0ZRifTs.js} +2 -2
  47. package/packages/settings/dist/assets/FrameConfigurator-C0ZRifTs.js.map +1 -0
  48. package/packages/settings/dist/index.js +1 -1
  49. package/packages/settings/package.json +1 -1
  50. package/packages/sideboard/dist/account-bar-67PDNT3H.js +2 -0
  51. package/packages/sideboard/dist/{chunk-25X3B3RC.js → chunk-6KORX3GC.js} +2 -2
  52. package/packages/sideboard/dist/chunk-FFQGRRLJ.js +2 -0
  53. package/packages/sideboard/dist/chunk-FFQGRRLJ.js.map +7 -0
  54. package/packages/sideboard/dist/{chunk-H6GFMJFM.js → chunk-XIUFUJKM.js} +2 -2
  55. package/packages/sideboard/dist/{chunk-H6GFMJFM.js.map → chunk-XIUFUJKM.js.map} +1 -1
  56. package/packages/sideboard/dist/document-list-panel-SPPMZDMX.js +2 -0
  57. package/packages/sideboard/dist/index.js +1 -1
  58. package/packages/sideboard/dist/sideboard/sideboard.js +1 -1
  59. package/packages/sideboard/package.json +1 -1
  60. package/packages/sync-indicator/dist/assets/SyncIndicator-oVMcVRXg.js.map +1 -1
  61. package/packages/sync-indicator/package.json +1 -1
  62. package/packages/theming/dist/{active-theme-CC3CS64F.js → active-theme-6H5UANUR.js} +2 -2
  63. package/packages/theming/dist/{chunk-DH4YUYFJ.js → chunk-HHCCYVOT.js} +1 -2
  64. package/packages/theming/dist/chunk-HHCCYVOT.js.map +7 -0
  65. package/packages/theming/dist/main.js +3 -3
  66. package/packages/theming/dist/{theme-titlebar-BO2Y2GRN.js → theme-titlebar-UX4BND5Z.js} +2 -2
  67. package/packages/theming/dist/{theme-tray-V6BEXQWR.js → theme-tray-B477G2WR.js} +2 -2
  68. package/packages/theming/dist/tool.js +1 -1
  69. package/packages/threepane/dist/IsolatedDocumentArea-E3VEPUEG.js +2 -0
  70. package/packages/threepane/dist/{PatchworkFrame-22UEOQ6E.js → PatchworkFrame-HCSYM5W5.js} +2 -2
  71. package/packages/threepane/dist/{chunk-U4IJVHXK.js → chunk-HXEHZ5WC.js} +7 -7
  72. package/packages/threepane/dist/chunk-HXEHZ5WC.js.map +7 -0
  73. package/packages/threepane/dist/index.js +1 -1
  74. package/packages/threepane/package.json +1 -1
  75. package/plugin-registry-url +1 -1
  76. package/packages/account/dist/AccountPicker-DCX77HQI.js.map +0 -7
  77. package/packages/account-history/dist/assets/HistoryRecorder-_3PrVW6n.js.map +0 -1
  78. package/packages/comments-view/dist/assets/main-wSSvAVfi.js.map +0 -1
  79. package/packages/file/dist/tool-Bt8I8T2-.js.map +0 -1
  80. package/packages/history-view/dist/assets/HistoryTimeline-Bo-BTf2A.js.map +0 -1
  81. package/packages/settings/dist/assets/FrameConfigurator-DVRBzIR-.js.map +0 -1
  82. package/packages/sideboard/dist/account-bar-JHI3FZZT.js +0 -2
  83. package/packages/sideboard/dist/chunk-FEMULUBJ.js +0 -2
  84. package/packages/sideboard/dist/chunk-FEMULUBJ.js.map +0 -7
  85. package/packages/sideboard/dist/document-list-panel-SEKNECHI.js +0 -2
  86. package/packages/theming/dist/chunk-DH4YUYFJ.js.map +0 -7
  87. package/packages/threepane/dist/IsolatedDocumentArea-5WRK3TWL.js +0 -2
  88. package/packages/threepane/dist/chunk-U4IJVHXK.js.map +0 -7
  89. /package/packages/sideboard/dist/{account-bar-JHI3FZZT.js.map → account-bar-67PDNT3H.js.map} +0 -0
  90. /package/packages/sideboard/dist/{chunk-25X3B3RC.js.map → chunk-6KORX3GC.js.map} +0 -0
  91. /package/packages/sideboard/dist/{document-list-panel-SEKNECHI.js.map → document-list-panel-SPPMZDMX.js.map} +0 -0
  92. /package/packages/theming/dist/{active-theme-CC3CS64F.js.map → active-theme-6H5UANUR.js.map} +0 -0
  93. /package/packages/theming/dist/{theme-titlebar-BO2Y2GRN.js.map → theme-titlebar-UX4BND5Z.js.map} +0 -0
  94. /package/packages/theming/dist/{theme-tray-V6BEXQWR.js.map → theme-tray-B477G2WR.js.map} +0 -0
  95. /package/packages/threepane/dist/{IsolatedDocumentArea-5WRK3TWL.js.map → IsolatedDocumentArea-E3VEPUEG.js.map} +0 -0
  96. /package/packages/threepane/dist/{PatchworkFrame-22UEOQ6E.js.map → PatchworkFrame-HCSYM5W5.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{a as H,b as de,c as M,d as R}from"./chunk-YERFWP5I.js";import{a as Ie,b as B,c as j,d as te,e as re,f as oe,g as ne,h as ie,i as ae,j as le,k as se,l as O,m as P,n as W,o as ce,p as ue,q as me,r as fe}from"./chunk-U4IJVHXK.js";import{b as Le}from"./chunk-FW4363Y4.js";import{template as _}from"solid-js/web";import{delegateEvents as nt}from"solid-js/web";import{memo as it}from"solid-js/web";import{setStyleProperty as at}from"solid-js/web";import{setAttribute as Y}from"solid-js/web";import{effect as I}from"solid-js/web";import{getOwner as k}from"solid-js/web";import{use as T}from"solid-js/web";import{insert as v}from"solid-js/web";import{createComponent as m}from"solid-js/web";import"@inkandswitch/patchwork-elements";import{subscribe as wt}from"@inkandswitch/patchwork-providers";import{template as q}from"solid-js/web";import{delegateEvents as Ae}from"solid-js/web";import{memo as xe}from"solid-js/web";import{insert as pe}from"solid-js/web";import{createComponent as L}from"solid-js/web";import{For as We,Show as z}from"solid-js";var Fe=q("<div class=threepane-widgets>"),Oe=q("<div class=threepane-widgets__empty><button type=button class=threepane-widgets__add>\uFF0B Add document list"),Pe=q("<div class=threepane-widget>");function he(e){let i=()=>{let o=e.rootFolderUrl(),n=e.configHandle();!o||!n||n.change(r=>{r.sidebar.widgets.push([M,o])})};return(()=>{var o=Fe();return pe(o,L(z,{get when(){return e.ready()},get children(){return L(z,{get when(){return e.widgets().length},get fallback(){return L(z,{get when(){return xe(()=>!!e.rootFolderUrl())()&&e.configHandle()},get children(){var n=Oe(),r=n.firstChild;return r.$$click=i,n}})},get children(){return L(We,{get each(){return e.widgets()},children:n=>(()=>{var r=Pe();return pe(r,L(W,{slot:n})),r})()})}})}})),o})()}Ae(["click"]);import{template as we}from"solid-js/web";import{setAttribute as He}from"solid-js/web";import{effect as Me}from"solid-js/web";import{insert as ge}from"solid-js/web";import{createComponent as K}from"solid-js/web";import{For as Be,Show as je}from"solid-js";var Ne=we("<div class=frame-tray>"),Ve=we("<div class=frame-tray__item>");function ve(e){return K(je,{get when(){return e.slots().length},get children(){var i=Ne();return ge(i,K(Be,{get each(){return P(e.slots())},children:o=>(()=>{var n=Ve();return ge(n,K(W,{slot:o})),Me(()=>He(n,"data-tray-id",O(o))),n})()})),i}})}import{createEffect as V,createMemo as vt,createSignal as b,onCleanup as C,onMount as Ce,Show as S}from"solid-js";import{render as _t}from"solid-js/web";import{createDocOfDatatype2 as qe}from"@inkandswitch/patchwork-plugins";import{getRegistry as ze}from"@inkandswitch/patchwork-plugins";function N(e){return ze("patchwork:datatype").loadWhenReady(e)}var Ke=new Set(["document-title","spacer"]);function _e(e){return e?[[M,e]]:[]}function Ge(e,i){if(!((e.version??0)>=1)){if(e.sidebar||(e.sidebar={widgets:[]}),i&&!e.sidebar.widgets?.length&&(e.sidebar.widgets=_e(i)),!e.tray)e.tray=H.slice();else{let o=P(e.tray);o.length!==e.tray.length&&(e.tray=o);let n=new Set(e.tray.map(r=>O(r)));for(let r of H)n.has(r)||(e.tray.push(r),n.add(r))}e.doctitle?.tools?.length||(e.doctitle={...e.doctitle,tools:de.slice()}),!(!e.sidebar.widgets?.length&&!i)&&(e.version=1)}}async function ye(e,i){let o=e.doc()?.rootFolderUrl,n=e.doc()?.tools?.threepane;if(n){let l=await i.find(n);if((l.doc()?.version??0)>=1)return;l.change(d=>Ge(d,o));return}let r=await N("threepane:config");if(!r){console.warn("frame: threepane:config datatype never registered");return}if(e.doc()?.tools?.threepane)return;let t=e.doc(),a=(t?.documentToolbarToolIds??[]).filter(l=>!Ke.has(l)),s=await qe(r,i);s.change(l=>{a.length&&(l.doctitle.tools=a),l.sidebar.widgets=_e(t?.rootFolderUrl),l.tray||(l.tray=H.slice()),t?.rootFolderUrl?l.version=1:delete l.version}),e.change(l=>{l.tools||(l.tools={}),l.tools.threepane||(l.tools.threepane=s.url)})}var Se=Le(Ie(),1);import{createDocOfDatatype2 as Ye}from"@inkandswitch/patchwork-plugins";var g=(0,Se.default)("patchwork:threepane:examples");async function $e(e,i){let o=e.doc();if(!o?.rootFolderUrl){g("skipped \u2014 account has no rootFolderUrl");return}if(o.exampleDocsSeededAt){g("skipped \u2014 already ran for this account at",new Date(o.exampleDocsSeededAt).toISOString());return}g("claiming marker on account",e.url),e.change(u=>{u.exampleDocsSeededAt||(u.exampleDocsSeededAt=Date.now())});let n=await i.find(o.rootFolderUrl),r=n.doc()?.docs?.length??0;if(r){g(`skipped \u2014 root folder already has ${r} doc(s); only fresh accounts are seeded`);return}let t=window.location.hostname.includes("gaios"),a=t?[]:await Je();if(g(t?"gaios examples":"bundle init scripts:",a),!t&&!a.length){g("skipped \u2014 no static module bundles to ask");return}let s=await N("folder");if(!s){g("folder datatype never registered; giving up");return}let l=await Ye(s,i,u=>{u.title="Examples"});if(t){let{seedGaiosExamples:u}=await import("./gaiosExamples-YDNQB35L.js");await u(i,l)}for(let u of a)try{await(await import(u)).default?.(i,l),g("ran init script",u)}catch(c){g("init script unavailable or failed",u,c)}let d=l.doc()?.docs?.length??0;if(!d){g("no bundle contributed any documents");return}n.change(u=>{u.docs.unshift({name:"Examples",type:"folder",url:l.url})}),g(`seeded ${d} document(s) into Examples folder`,l.url)}var be="https://patchwork-tools.netlify.app/init.js",De="https://patchwork-base.netlify.app/init.js";function Xe(){return document.documentElement.getAttribute("data-examples")==="site"}async function Je(){let e=Xe(),i=window.patchwork?.packages;if(!i?.urls)return e?[]:[De,be];await i.doneLoading;let o=Object.values(i.urls).filter(r=>typeof r=="string"&&!r.startsWith("automerge:")).map(r=>new URL("init.js",new URL(r,document.baseURI)).href);if(e)return[...new Set(o)];let n=o.length?[]:[De];return[...new Set([...o,...n,be])]}var ke="patchwork:add-to-sidebar";function Qe(e,i){e.docs||(e.docs=[]);let o=e.docs,n=o.findIndex(r=>r.url===i.url);if(n!==0){if(n>0){let{name:r,type:t}=o[n];o.splice(n,1),o.unshift({url:i.url,name:r,type:t});return}o.unshift({url:i.url,name:i.name,type:i.type})}}function Ze(e,i){return new Promise(o=>{let n=()=>{let r=e.doc(),t=r&&i(r);t&&(e.off("change",n),o(t))};e.on("change",n),n()})}function Te(e,i,o){let n=r=>{let t=r.detail;if(!t?.url)return;r.preventDefault(),r.stopPropagation();let a=(async()=>{let s=await Ze(o,d=>d.rootFolderUrl);(await i.find(s)).change(d=>Qe(d,{url:t.url,name:t.name||"Untitled",type:t.type||"unknown"}))})();a.catch(s=>console.error("threepane: couldn't add to sidebar",s)),t.respondWith?.(a)};return e.addEventListener(ke,n),()=>e.removeEventListener(ke,n)}import{createEffect as et,createMemo as tt,createSignal as rt,onCleanup as ot}from"solid-js";function G(e){let[i,o]=rt(0);return et(()=>{let n=e();if(!n)return;let r=()=>o(t=>t+1);n.on("change",r),ot(()=>n.off("change",r))}),tt(()=>(i(),e()?.doc()))}var lt=_("<div class=frame-shell><aside class=frame-warning-banner>research grade software. do not share links. sharing a doc is sharing your account.</aside><div class=frame><patchwork-view component=patchwork-selected-doc-provider><patchwork-view component=patchwork-account-provider><patchwork-view component=patchwork-tool-storage-provider><patchwork-view component=patchwork-worker-provider>",!0,!1,!1),st=_("<div style=display:contents>"),dt=_("<div class=main-area>"),ct=_("<div class=frame__popover-backdrop><div class=frame__popover role=dialog aria-modal=true><div class=frame__popover-toolbar><patchwork-view tool-id=doc-openwith></patchwork-view></div><div class=frame__popover-body><patchwork-view>",!0,!1,!1),ut=_('<button type=button class="frame__sidebar-toggle frame__left-toggle">'),mt=_("<div class=threepane-sidebar><div class=threepane-sidebar__footer><footer class=threepane-account-bar><button type=button class=threepane-account-bar__button>Settings"),ft=_("<div class=frame__tray-dock>"),pt=_('<button type=button class="threepane-account-bar__button threepane-account-bar__avatar"title=Account aria-label=Account><patchwork-view tool-id=contact-avatar>',!0,!1,!1),ht=_("<button type=button class=threepane-account-bar__button>Packages"),gt=_('<svg xmlns=http://www.w3.org/2000/svg width=18 height=18 viewBox="0 0 24 24"fill=none stroke=var(--studio-chrome-line) stroke-width=1.75 stroke-linecap=round stroke-linejoin=round><rect width=18 height=18 x=3 y=3 rx=2></rect><path d="M9 3v18">'),X=(e,i)=>{let[o,n]=b(!1);return V(()=>{let r=i();if(!r)return;n(!1);let t=a=>{a.detail?.componentId===e&&n(!0)};r.addEventListener("patchwork:mounted",t),C(()=>r.removeEventListener("patchwork:mounted",t))}),o};function J(e,i){e.dispatchEvent(new CustomEvent("patchwork:open-document",{detail:i,bubbles:!0,composed:!0}))}function yt({handle:e,repo:i,...o}){me();let n=e.url,[r,t]=b(),a=X("patchwork-account-provider",r),[s,l]=b(),d=X("patchwork-tool-storage-provider",s),[u,c]=b(),p=X("patchwork-selected-doc-provider",u),f=vt(()=>p()&&a()&&d());return(()=>{var w=lt(),E=w.firstChild,Q=E.firstChild,A=E.nextSibling,h=A.firstChild,D=h.firstChild,$=D.firstChild,U=$.firstChild;return v(E,m(S,{get when(){return o.isolation},get children(){return[" ","isolation is highly experimental. if things are broken, switch back to wild west."]}}),null),T(c,h),h._$owner=k(),T(t,D),D.docUrl=n,D._$owner=k(),T(l,$),$.docUrl=n,$._$owner=k(),U._$owner=k(),v(U,m(S,{get when(){return f()},get children(){return m(bt,{handle:e,repo:i,get isolation(){return o.isolation}})}})),w})()}function bt(e){let i=B(()=>e.handle.url,{repo:e.repo});(async()=>{await ye(e.handle,e.repo),await $e(e.handle,e.repo)})().catch(y=>{console.error("frame: account bootstrap failed",y)});let o=G(i),n=e.handle.url,r=()=>o()?.tools?.threepane,t=B(()=>r(),{repo:e.repo}),a=G(t),s=()=>a()?.doctitle?.tools,l=()=>a()?.sidebar?.widgets??[],d=()=>a()?.tray??[],u=()=>o()?.rootFolderUrl,c=ie(),p=ae("left",{isCollapsed:c.isSidebarCollapsed,setCollapsed:c.setIsSidebarCollapsed,setWidth:c.setLeftSidebarWidth}),f,[w,E]=b(null),[Q,A]=b(null);Ce(()=>{let y=wt(f,{type:"patchwork:selected-view"},x=>E(x));C(y),C(Te(f,e.repo,e.handle))});let h=()=>w()?.url,D=()=>w()?.toolId??void 0,$=()=>oe(j.rightWidth,re),U=()=>ne(j.rightCollapsed),[Ee,Z]=b(),Ue=le(Ee,h),[ee,Re]=b(!1);return V(()=>{ee()||(e.isolation||!h()||Ue())&&Re(!0)}),(()=>{var y=st(),x=f;return typeof x=="function"?T(x,y):f=y,v(y,m(St,{accountDocUrl:n,sidebarState:c,sidebarResize:p,sidebarWidgets:l,traySlots:d,configHandle:t,rootFolderUrl:u,widgetsReady:ee,contactUrl:()=>o()?.contactUrl,moduleSettingsUrl:()=>o()?.moduleSettingsUrl,get isolation(){return e.isolation},onInterceptOpen:A,get children(){return m(S,{get when(){return h()},get fallback(){return(()=>{var F=dt();return v(F,m(ce,{viewKey:h,selectedDocUrl:h,toolId:D,ref:Z})),F})()},get children(){return m(S,{get when(){return e.isolation},get fallback(){return m(ue,{setMainDocElement:Z,selectedDocUrl:h,selectedToolId:D,doctitleSlots:s,get isLeftCollapsed(){return c.isSidebarCollapsed},initialRightWidth:$,initialRightCollapsed:U})},get children(){return m(fe,{get contactUrl(){return o()?.contactUrl},selectedDocUrl:h,selectedToolId:D,doctitleSlots:s,get isLeftCollapsed(){return c.isSidebarCollapsed},initialRightWidth:$,initialRightCollapsed:U})}})}})}}),null),v(y,m(S,{get when(){return Q()},children:F=>m(Dt,{get view(){return F()},onClose:()=>A(null)})}),null),y})()}function Dt(e){let[i,o]=b(e.view.toolId??void 0);V(()=>o(e.view.toolId??void 0));let n;return Ce(()=>{let r=s=>{s.key==="Escape"&&e.onClose()};window.addEventListener("keydown",r),C(()=>window.removeEventListener("keydown",r));let t=n;if(!t)return;let a=s=>{let{url:l,toolId:d}=s.detail;l&&(s.stopPropagation(),o(d??void 0))};t.addEventListener("patchwork:open-document",a),C(()=>t.removeEventListener("patchwork:open-document",a))}),(()=>{var r=ct(),t=r.firstChild,a=t.firstChild,s=a.firstChild,l=a.nextSibling,d=l.firstChild;r.$$click=()=>e.onClose(),t.$$click=c=>c.stopPropagation();var u=n;return typeof u=="function"?T(u,t):n=t,s._$owner=k(),d._$owner=k(),I(c=>{var p=e.view.url,f=e.view.url,w=i();return p!==c.e&&(s.docUrl=c.e=p),f!==c.t&&(d.docUrl=c.t=f),w!==c.a&&(d.toolId=c.a=w),c},{e:void 0,t:void 0,a:void 0}),r})()}function St(e){let i=e.sidebarState.isSidebarCollapsed,o=()=>e.traySlots().length>0,n,r;return V(()=>{if(i())return;let t=n;if(!t)return;let a=r,s=l=>{let{url:d,toolId:u}=l.detail;if(e.isolation&&d&&a&&l.composedPath().includes(a)){l.stopPropagation(),e.onInterceptOpen?.({url:d,toolId:u??null});return}t.getBoundingClientRect().width<=window.innerWidth*.75||(e.sidebarState.setIsSidebarCollapsed(!0),window.dispatchEvent(new CustomEvent(te)))};t.addEventListener("patchwork:open-document",s),C(()=>t.removeEventListener("patchwork:open-document",s))}),[(()=>{var t=ut();return t.$$click=()=>e.sidebarState.setIsSidebarCollapsed(a=>!a),v(t,m($t,{})),I(a=>{var s=i()?"Show sidebar":"Hide sidebar",l=i()?"Show sidebar":"Hide sidebar",d=!i();return s!==a.e&&Y(t,"title",a.e=s),l!==a.t&&Y(t,"aria-label",a.t=l),d!==a.a&&Y(t,"aria-pressed",a.a=d),a},{e:void 0,t:void 0,a:void 0}),t})(),m(se,{side:"left",isCollapsed:i,get width(){return e.sidebarState.leftSidebarWidth},get onMouseDown(){return e.sidebarResize.handleMouseDown},get onToggleClick(){return e.sidebarResize.handleToggleClick},get children(){var t=mt(),a=t.firstChild,s=a.firstChild,l=s.firstChild,d=n;typeof d=="function"?T(d,t):n=t,v(t,m(he,{get widgets(){return e.sidebarWidgets},get configHandle(){return e.configHandle},get rootFolderUrl(){return e.rootFolderUrl},get ready(){return e.widgetsReady}}),a);var u=r;return typeof u=="function"?T(u,a):r=a,v(s,m(S,{get when(){return e.contactUrl()},children:c=>(()=>{var p=pt(),f=p.firstChild;return p.$$click=w=>J(w.currentTarget,{url:e.accountDocUrl,toolId:"account-picker"}),f._$owner=k(),I(()=>f.docUrl=c()),p})()}),l),v(s,m(S,{get when(){return e.moduleSettingsUrl()},children:c=>(()=>{var p=ht();return p.$$click=f=>J(f.currentTarget,{url:c(),toolId:"packages"}),p})()}),l),l.$$click=c=>J(c.currentTarget,{url:e.accountDocUrl,toolId:"frame-configurator"}),I(()=>t.classList.toggle("threepane-sidebar--has-tray",!!o())),t}}),m(S,{get when(){return o()},get children(){var t=ft();return v(t,m(ve,{get slots(){return e.traySlots}})),I(a=>{var s=!!i(),l=`${e.sidebarState.leftSidebarWidth()}px`;return s!==a.e&&t.classList.toggle("frame__tray-dock--collapsed",a.e=s),l!==a.t&&at(t,"width",a.t=l),a},{e:void 0,t:void 0}),t}}),it(()=>e.children)]}function $t(){return gt()}function Er(e){return(i,o)=>_t(()=>m(yt,{handle:i,get repo(){return o.repo},isolation:e}),o)}nt(["click"]);export{St as FrameLayout,yt as PatchworkFrame,Er as renderPatchworkFrame};
2
- //# sourceMappingURL=PatchworkFrame-22UEOQ6E.js.map
1
+ import{a as H,b as de,c as M,d as R}from"./chunk-YERFWP5I.js";import{a as Ie,b as B,c as j,d as te,e as re,f as oe,g as ne,h as ie,i as ae,j as le,k as se,l as O,m as P,n as W,o as ce,p as ue,q as me,r as fe}from"./chunk-HXEHZ5WC.js";import{b as Le}from"./chunk-FW4363Y4.js";import{template as _}from"solid-js/web";import{delegateEvents as nt}from"solid-js/web";import{memo as it}from"solid-js/web";import{setStyleProperty as at}from"solid-js/web";import{setAttribute as Y}from"solid-js/web";import{effect as I}from"solid-js/web";import{getOwner as k}from"solid-js/web";import{use as T}from"solid-js/web";import{insert as v}from"solid-js/web";import{createComponent as m}from"solid-js/web";import"@inkandswitch/patchwork-elements";import{subscribe as wt}from"@inkandswitch/patchwork-providers";import{template as q}from"solid-js/web";import{delegateEvents as Ae}from"solid-js/web";import{memo as xe}from"solid-js/web";import{insert as pe}from"solid-js/web";import{createComponent as L}from"solid-js/web";import{For as We,Show as z}from"solid-js";var Fe=q("<div class=threepane-widgets>"),Oe=q("<div class=threepane-widgets__empty><button type=button class=threepane-widgets__add>\uFF0B Add document list"),Pe=q("<div class=threepane-widget>");function he(e){let i=()=>{let o=e.rootFolderUrl(),n=e.configHandle();!o||!n||n.change(r=>{r.sidebar.widgets.push([M,o])})};return(()=>{var o=Fe();return pe(o,L(z,{get when(){return e.ready()},get children(){return L(z,{get when(){return e.widgets().length},get fallback(){return L(z,{get when(){return xe(()=>!!e.rootFolderUrl())()&&e.configHandle()},get children(){var n=Oe(),r=n.firstChild;return r.$$click=i,n}})},get children(){return L(We,{get each(){return e.widgets()},children:n=>(()=>{var r=Pe();return pe(r,L(W,{slot:n})),r})()})}})}})),o})()}Ae(["click"]);import{template as we}from"solid-js/web";import{setAttribute as He}from"solid-js/web";import{effect as Me}from"solid-js/web";import{insert as ge}from"solid-js/web";import{createComponent as K}from"solid-js/web";import{For as Be,Show as je}from"solid-js";var Ne=we("<div class=frame-tray>"),Ve=we("<div class=frame-tray__item>");function ve(e){return K(je,{get when(){return e.slots().length},get children(){var i=Ne();return ge(i,K(Be,{get each(){return P(e.slots())},children:o=>(()=>{var n=Ve();return ge(n,K(W,{slot:o})),Me(()=>He(n,"data-tray-id",O(o))),n})()})),i}})}import{createEffect as V,createMemo as vt,createSignal as b,onCleanup as C,onMount as Ce,Show as S}from"solid-js";import{render as _t}from"solid-js/web";import{createDocOfDatatype2 as qe}from"@inkandswitch/patchwork-plugins";import{getRegistry as ze}from"@inkandswitch/patchwork-plugins";function N(e){return ze("patchwork:datatype").loadWhenReady(e)}var Ke=new Set(["document-title","spacer"]);function _e(e){return e?[[M,e]]:[]}function Ge(e,i){if(!((e.version??0)>=1)){if(e.sidebar||(e.sidebar={widgets:[]}),i&&!e.sidebar.widgets?.length&&(e.sidebar.widgets=_e(i)),!e.tray)e.tray=H.slice();else{let o=P(e.tray);o.length!==e.tray.length&&(e.tray=o);let n=new Set(e.tray.map(r=>O(r)));for(let r of H)n.has(r)||(e.tray.push(r),n.add(r))}e.doctitle?.tools?.length||(e.doctitle={...e.doctitle,tools:de.slice()}),!(!e.sidebar.widgets?.length&&!i)&&(e.version=1)}}async function ye(e,i){let o=e.doc()?.rootFolderUrl,n=e.doc()?.tools?.threepane;if(n){let l=await i.find(n);if((l.doc()?.version??0)>=1)return;l.change(d=>Ge(d,o));return}let r=await N("threepane:config");if(!r){console.warn("frame: threepane:config datatype never registered");return}if(e.doc()?.tools?.threepane)return;let t=e.doc(),a=(t?.documentToolbarToolIds??[]).filter(l=>!Ke.has(l)),s=await qe(r,i);s.change(l=>{a.length&&(l.doctitle.tools=a),l.sidebar.widgets=_e(t?.rootFolderUrl),l.tray||(l.tray=H.slice()),t?.rootFolderUrl?l.version=1:delete l.version}),e.change(l=>{l.tools||(l.tools={}),l.tools.threepane||(l.tools.threepane=s.url)})}var Se=Le(Ie(),1);import{createDocOfDatatype2 as Ye}from"@inkandswitch/patchwork-plugins";var g=(0,Se.default)("patchwork:threepane:examples");async function $e(e,i){let o=e.doc();if(!o?.rootFolderUrl){g("skipped \u2014 account has no rootFolderUrl");return}if(o.exampleDocsSeededAt){g("skipped \u2014 already ran for this account at",new Date(o.exampleDocsSeededAt).toISOString());return}g("claiming marker on account",e.url),e.change(u=>{u.exampleDocsSeededAt||(u.exampleDocsSeededAt=Date.now())});let n=await i.find(o.rootFolderUrl),r=n.doc()?.docs?.length??0;if(r){g(`skipped \u2014 root folder already has ${r} doc(s); only fresh accounts are seeded`);return}let t=window.location.hostname.includes("gaios"),a=t?[]:await Je();if(g(t?"gaios examples":"bundle init scripts:",a),!t&&!a.length){g("skipped \u2014 no static module bundles to ask");return}let s=await N("folder");if(!s){g("folder datatype never registered; giving up");return}let l=await Ye(s,i,u=>{u.title="Examples"});if(t){let{seedGaiosExamples:u}=await import("./gaiosExamples-YDNQB35L.js");await u(i,l)}for(let u of a)try{await(await import(u)).default?.(i,l),g("ran init script",u)}catch(c){g("init script unavailable or failed",u,c)}let d=l.doc()?.docs?.length??0;if(!d){g("no bundle contributed any documents");return}n.change(u=>{u.docs.unshift({name:"Examples",type:"folder",url:l.url})}),g(`seeded ${d} document(s) into Examples folder`,l.url)}var be="https://patchwork-tools.netlify.app/init.js",De="https://patchwork-base.netlify.app/init.js";function Xe(){return document.documentElement.getAttribute("data-examples")==="site"}async function Je(){let e=Xe(),i=window.patchwork?.packages;if(!i?.urls)return e?[]:[De,be];await i.doneLoading;let o=Object.values(i.urls).filter(r=>typeof r=="string"&&!r.startsWith("automerge:")).map(r=>new URL("init.js",new URL(r,document.baseURI)).href);if(e)return[...new Set(o)];let n=o.length?[]:[De];return[...new Set([...o,...n,be])]}var ke="patchwork:add-to-sidebar";function Qe(e,i){e.docs||(e.docs=[]);let o=e.docs,n=o.findIndex(r=>r.url===i.url);if(n!==0){if(n>0){let{name:r,type:t}=o[n];o.splice(n,1),o.unshift({url:i.url,name:r,type:t});return}o.unshift({url:i.url,name:i.name,type:i.type})}}function Ze(e,i){return new Promise(o=>{let n=()=>{let r=e.doc(),t=r&&i(r);t&&(e.off("change",n),o(t))};e.on("change",n),n()})}function Te(e,i,o){let n=r=>{let t=r.detail;if(!t?.url)return;r.preventDefault(),r.stopPropagation();let a=(async()=>{let s=await Ze(o,d=>d.rootFolderUrl);(await i.find(s)).change(d=>Qe(d,{url:t.url,name:t.name||"Untitled",type:t.type||"unknown"}))})();a.catch(s=>console.error("threepane: couldn't add to sidebar",s)),t.respondWith?.(a)};return e.addEventListener(ke,n),()=>e.removeEventListener(ke,n)}import{createEffect as et,createMemo as tt,createSignal as rt,onCleanup as ot}from"solid-js";function G(e){let[i,o]=rt(0);return et(()=>{let n=e();if(!n)return;let r=()=>o(t=>t+1);n.on("change",r),ot(()=>n.off("change",r))}),tt(()=>(i(),e()?.doc()))}var lt=_("<div class=frame-shell><aside class=frame-warning-banner>research grade software. do not share links. sharing a doc is sharing your account.</aside><div class=frame><patchwork-view component=patchwork-selected-doc-provider><patchwork-view component=patchwork-account-provider><patchwork-view component=patchwork-tool-storage-provider><patchwork-view component=patchwork-worker-provider>",!0,!1,!1),st=_("<div style=display:contents>"),dt=_("<div class=main-area>"),ct=_("<div class=frame__popover-backdrop><div class=frame__popover role=dialog aria-modal=true><div class=frame__popover-toolbar><patchwork-view tool-id=doc-openwith></patchwork-view></div><div class=frame__popover-body><patchwork-view>",!0,!1,!1),ut=_('<button type=button class="frame__sidebar-toggle frame__left-toggle">'),mt=_("<div class=threepane-sidebar><div class=threepane-sidebar__footer><footer class=threepane-account-bar><button type=button class=threepane-account-bar__button>Settings"),ft=_("<div class=frame__tray-dock>"),pt=_('<button type=button class="threepane-account-bar__button threepane-account-bar__avatar"title=Account aria-label=Account><patchwork-view tool-id=contact-avatar>',!0,!1,!1),ht=_("<button type=button class=threepane-account-bar__button>Packages"),gt=_('<svg xmlns=http://www.w3.org/2000/svg width=18 height=18 viewBox="0 0 24 24"fill=none stroke=var(--studio-chrome-line) stroke-width=1.75 stroke-linecap=round stroke-linejoin=round><rect width=18 height=18 x=3 y=3 rx=2></rect><path d="M9 3v18">'),X=(e,i)=>{let[o,n]=b(!1);return V(()=>{let r=i();if(!r)return;n(!1);let t=a=>{a.detail?.componentId===e&&n(!0)};r.addEventListener("patchwork:mounted",t),C(()=>r.removeEventListener("patchwork:mounted",t))}),o};function J(e,i){e.dispatchEvent(new CustomEvent("patchwork:open-document",{detail:i,bubbles:!0,composed:!0}))}function yt({handle:e,repo:i,...o}){me();let n=e.url,[r,t]=b(),a=X("patchwork-account-provider",r),[s,l]=b(),d=X("patchwork-tool-storage-provider",s),[u,c]=b(),p=X("patchwork-selected-doc-provider",u),f=vt(()=>p()&&a()&&d());return(()=>{var w=lt(),E=w.firstChild,Q=E.firstChild,A=E.nextSibling,h=A.firstChild,D=h.firstChild,$=D.firstChild,U=$.firstChild;return v(E,m(S,{get when(){return o.isolation},get children(){return[" ","isolation is highly experimental. if things are broken, switch back to wild west."]}}),null),T(c,h),h._$owner=k(),T(t,D),D.docUrl=n,D._$owner=k(),T(l,$),$.docUrl=n,$._$owner=k(),U._$owner=k(),v(U,m(S,{get when(){return f()},get children(){return m(bt,{handle:e,repo:i,get isolation(){return o.isolation}})}})),w})()}function bt(e){let i=B(()=>e.handle.url,{repo:e.repo});(async()=>{await ye(e.handle,e.repo),await $e(e.handle,e.repo)})().catch(y=>{console.error("frame: account bootstrap failed",y)});let o=G(i),n=e.handle.url,r=()=>o()?.tools?.threepane,t=B(()=>r(),{repo:e.repo}),a=G(t),s=()=>a()?.doctitle?.tools,l=()=>a()?.sidebar?.widgets??[],d=()=>a()?.tray??[],u=()=>o()?.rootFolderUrl,c=ie(),p=ae("left",{isCollapsed:c.isSidebarCollapsed,setCollapsed:c.setIsSidebarCollapsed,setWidth:c.setLeftSidebarWidth}),f,[w,E]=b(null),[Q,A]=b(null);Ce(()=>{let y=wt(f,{type:"patchwork:selected-view"},x=>E(x));C(y),C(Te(f,e.repo,e.handle))});let h=()=>w()?.url,D=()=>w()?.toolId??void 0,$=()=>oe(j.rightWidth,re),U=()=>ne(j.rightCollapsed),[Ee,Z]=b(),Ue=le(Ee,h),[ee,Re]=b(!1);return V(()=>{ee()||(e.isolation||!h()||Ue())&&Re(!0)}),(()=>{var y=st(),x=f;return typeof x=="function"?T(x,y):f=y,v(y,m(St,{accountDocUrl:n,sidebarState:c,sidebarResize:p,sidebarWidgets:l,traySlots:d,configHandle:t,rootFolderUrl:u,widgetsReady:ee,contactUrl:()=>o()?.contactUrl,moduleSettingsUrl:()=>o()?.moduleSettingsUrl,get isolation(){return e.isolation},onInterceptOpen:A,get children(){return m(S,{get when(){return h()},get fallback(){return(()=>{var F=dt();return v(F,m(ce,{viewKey:h,selectedDocUrl:h,toolId:D,ref:Z})),F})()},get children(){return m(S,{get when(){return e.isolation},get fallback(){return m(ue,{setMainDocElement:Z,selectedDocUrl:h,selectedToolId:D,doctitleSlots:s,get isLeftCollapsed(){return c.isSidebarCollapsed},initialRightWidth:$,initialRightCollapsed:U})},get children(){return m(fe,{get contactUrl(){return o()?.contactUrl},selectedDocUrl:h,selectedToolId:D,doctitleSlots:s,get isLeftCollapsed(){return c.isSidebarCollapsed},initialRightWidth:$,initialRightCollapsed:U})}})}})}}),null),v(y,m(S,{get when(){return Q()},children:F=>m(Dt,{get view(){return F()},onClose:()=>A(null)})}),null),y})()}function Dt(e){let[i,o]=b(e.view.toolId??void 0);V(()=>o(e.view.toolId??void 0));let n;return Ce(()=>{let r=s=>{s.key==="Escape"&&e.onClose()};window.addEventListener("keydown",r),C(()=>window.removeEventListener("keydown",r));let t=n;if(!t)return;let a=s=>{let{url:l,toolId:d}=s.detail;l&&(s.stopPropagation(),o(d??void 0))};t.addEventListener("patchwork:open-document",a),C(()=>t.removeEventListener("patchwork:open-document",a))}),(()=>{var r=ct(),t=r.firstChild,a=t.firstChild,s=a.firstChild,l=a.nextSibling,d=l.firstChild;r.$$click=()=>e.onClose(),t.$$click=c=>c.stopPropagation();var u=n;return typeof u=="function"?T(u,t):n=t,s._$owner=k(),d._$owner=k(),I(c=>{var p=e.view.url,f=e.view.url,w=i();return p!==c.e&&(s.docUrl=c.e=p),f!==c.t&&(d.docUrl=c.t=f),w!==c.a&&(d.toolId=c.a=w),c},{e:void 0,t:void 0,a:void 0}),r})()}function St(e){let i=e.sidebarState.isSidebarCollapsed,o=()=>e.traySlots().length>0,n,r;return V(()=>{if(i())return;let t=n;if(!t)return;let a=r,s=l=>{let{url:d,toolId:u}=l.detail;if(e.isolation&&d&&a&&l.composedPath().includes(a)){l.stopPropagation(),e.onInterceptOpen?.({url:d,toolId:u??null});return}t.getBoundingClientRect().width<=window.innerWidth*.75||(e.sidebarState.setIsSidebarCollapsed(!0),window.dispatchEvent(new CustomEvent(te)))};t.addEventListener("patchwork:open-document",s),C(()=>t.removeEventListener("patchwork:open-document",s))}),[(()=>{var t=ut();return t.$$click=()=>e.sidebarState.setIsSidebarCollapsed(a=>!a),v(t,m($t,{})),I(a=>{var s=i()?"Show sidebar":"Hide sidebar",l=i()?"Show sidebar":"Hide sidebar",d=!i();return s!==a.e&&Y(t,"title",a.e=s),l!==a.t&&Y(t,"aria-label",a.t=l),d!==a.a&&Y(t,"aria-pressed",a.a=d),a},{e:void 0,t:void 0,a:void 0}),t})(),m(se,{side:"left",isCollapsed:i,get width(){return e.sidebarState.leftSidebarWidth},get onMouseDown(){return e.sidebarResize.handleMouseDown},get onToggleClick(){return e.sidebarResize.handleToggleClick},get children(){var t=mt(),a=t.firstChild,s=a.firstChild,l=s.firstChild,d=n;typeof d=="function"?T(d,t):n=t,v(t,m(he,{get widgets(){return e.sidebarWidgets},get configHandle(){return e.configHandle},get rootFolderUrl(){return e.rootFolderUrl},get ready(){return e.widgetsReady}}),a);var u=r;return typeof u=="function"?T(u,a):r=a,v(s,m(S,{get when(){return e.contactUrl()},children:c=>(()=>{var p=pt(),f=p.firstChild;return p.$$click=w=>J(w.currentTarget,{url:e.accountDocUrl,toolId:"account-picker"}),f._$owner=k(),I(()=>f.docUrl=c()),p})()}),l),v(s,m(S,{get when(){return e.moduleSettingsUrl()},children:c=>(()=>{var p=ht();return p.$$click=f=>J(f.currentTarget,{url:c(),toolId:"packages"}),p})()}),l),l.$$click=c=>J(c.currentTarget,{url:e.accountDocUrl,toolId:"frame-configurator"}),I(()=>t.classList.toggle("threepane-sidebar--has-tray",!!o())),t}}),m(S,{get when(){return o()},get children(){var t=ft();return v(t,m(ve,{get slots(){return e.traySlots}})),I(a=>{var s=!!i(),l=`${e.sidebarState.leftSidebarWidth()}px`;return s!==a.e&&t.classList.toggle("frame__tray-dock--collapsed",a.e=s),l!==a.t&&at(t,"width",a.t=l),a},{e:void 0,t:void 0}),t}}),it(()=>e.children)]}function $t(){return gt()}function Er(e){return(i,o)=>_t(()=>m(yt,{handle:i,get repo(){return o.repo},isolation:e}),o)}nt(["click"]);export{St as FrameLayout,yt as PatchworkFrame,Er as renderPatchworkFrame};
2
+ //# sourceMappingURL=PatchworkFrame-HCSYM5W5.js.map
@@ -1,15 +1,15 @@
1
- import{a as Ye,b as Br}from"./chunk-FW4363Y4.js";var kt=Ye((Hi,xt)=>{var ie=1e3,se=ie*60,le=se*60,te=le*24,ho=te*7,fo=te*365.25;xt.exports=function(e,r){r=r||{};var t=typeof e;if(t==="string"&&e.length>0)return mo(e);if(t==="number"&&isFinite(e))return r.long?bo(e):go(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function mo(e){if(e=String(e),!(e.length>100)){var r=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(r){var t=parseFloat(r[1]),o=(r[2]||"ms").toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return t*fo;case"weeks":case"week":case"w":return t*ho;case"days":case"day":case"d":return t*te;case"hours":case"hour":case"hrs":case"hr":case"h":return t*le;case"minutes":case"minute":case"mins":case"min":case"m":return t*se;case"seconds":case"second":case"secs":case"sec":case"s":return t*ie;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function go(e){var r=Math.abs(e);return r>=te?Math.round(e/te)+"d":r>=le?Math.round(e/le)+"h":r>=se?Math.round(e/se)+"m":r>=ie?Math.round(e/ie)+"s":e+"ms"}function bo(e){var r=Math.abs(e);return r>=te?Fe(e,r,te,"day"):r>=le?Fe(e,r,le,"hour"):r>=se?Fe(e,r,se,"minute"):r>=ie?Fe(e,r,ie,"second"):e+" ms"}function Fe(e,r,t,o){var n=r>=t*1.5;return Math.round(e/t)+" "+o+(n?"s":"")}});var $t=Ye((qi,Ct)=>{function vo(e){t.debug=t,t.default=t,t.coerce=l,t.disable=i,t.enable=n,t.enabled=u,t.humanize=kt(),t.destroy=c,Object.keys(e).forEach(s=>{t[s]=e[s]}),t.names=[],t.skips=[],t.formatters={};function r(s){let h=0;for(let f=0;f<s.length;f++)h=(h<<5)-h+s.charCodeAt(f),h|=0;return t.colors[Math.abs(h)%t.colors.length]}t.selectColor=r;function t(s){let h,f=null,b,y;function x(...p){if(!x.enabled)return;let d=x,g=Number(new Date),$=g-(h||g);d.diff=$,d.prev=h,d.curr=g,h=g,p[0]=t.coerce(p[0]),typeof p[0]!="string"&&p.unshift("%O");let F=0;p[0]=p[0].replace(/%([a-zA-Z%])/g,(j,Q)=>{if(j==="%%")return"%";F++;let O=t.formatters[Q];if(typeof O=="function"){let J=p[F];j=O.call(d,J),p.splice(F,1),F--}return j}),t.formatArgs.call(d,p),(d.log||t.log).apply(d,p)}return x.namespace=s,x.useColors=t.useColors(),x.color=t.selectColor(s),x.extend=o,x.destroy=t.destroy,Object.defineProperty(x,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(b!==t.namespaces&&(b=t.namespaces,y=t.enabled(s)),y),set:p=>{f=p}}),typeof t.init=="function"&&t.init(x),x}function o(s,h){let f=t(this.namespace+(typeof h>"u"?":":h)+s);return f.log=this.log,f}function n(s){t.save(s),t.namespaces=s,t.names=[],t.skips=[];let h=(typeof s=="string"?s:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let f of h)f[0]==="-"?t.skips.push(f.slice(1)):t.names.push(f)}function a(s,h){let f=0,b=0,y=-1,x=0;for(;f<s.length;)if(b<h.length&&(h[b]===s[f]||h[b]==="*"))h[b]==="*"?(y=b,x=f,b++):(f++,b++);else if(y!==-1)b=y+1,x++,f=x;else return!1;for(;b<h.length&&h[b]==="*";)b++;return b===h.length}function i(){let s=[...t.names,...t.skips.map(h=>"-"+h)].join(",");return t.enable(""),s}function u(s){for(let h of t.skips)if(a(s,h))return!1;for(let h of t.names)if(a(s,h))return!0;return!1}function l(s){return s instanceof Error?s.stack||s.message:s}function c(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}Ct.exports=vo});var St=Ye((L,Pe)=>{L.formatArgs=yo;L.save=_o;L.load=xo;L.useColors=wo;L.storage=ko();L.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();L.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function wo(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function yo(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+Pe.exports.humanize(this.diff),!this.useColors)return;let r="color: "+this.color;e.splice(1,0,r,"color: inherit");let t=0,o=0;e[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(t++,n==="%c"&&(o=t))}),e.splice(o,0,r)}L.log=console.debug||console.log||(()=>{});function _o(e){try{e?L.storage.setItem("debug",e):L.storage.removeItem("debug")}catch{}}function xo(){let e;try{e=L.storage.getItem("debug")||L.storage.getItem("DEBUG")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function ko(){try{return localStorage}catch{}}Pe.exports=$t()(L);var{formatters:Co}=Pe.exports;Co.j=function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}});import{template as Hr}from"solid-js/web";import{createComponent as si}from"solid-js/web";import{setAttribute as li}from"solid-js/web";import{effect as ci}from"solid-js/web";import{insert as qr}from"solid-js/web";import{getOwner as di}from"solid-js/web";import{createMemo as Wr}from"solid-js";import{createStore as hi,reconcile as fi}from"solid-js/store";import{render as mi}from"solid-js/web";import{template as Ae}from"solid-js/web";import{insert as ne}from"solid-js/web";import{getOwner as Ee}from"solid-js/web";import{use as Te}from"solid-js/web";import{createComponent as U}from"solid-js/web";import{createUniqueId as Jr,untrack as ht}from"solid-js";import{isServer as Vr,isDev as ft}from"solid-js/web";import{reconcile as Kr}from"solid-js/store";function Xe(e,r={}){let t=r.storage||globalThis.localStorage,o=r.name||`storage-${Jr()}`;if(!t)return Object.assign(e,{2:null});let n=r.storageOptions,a=r.serialize||JSON.stringify.bind(JSON),i=r.deserialize||JSON.parse.bind(JSON),u=t.getItem(o,n),l=typeof e[0]=="function"?s=>{try{let h=i(s);e[1](()=>h)}catch(h){ft&&console.warn(h)}}:s=>{try{let h=i(s);e[1](Kr(h))}catch(h){ft&&console.warn(h)}},c=!0;if(u instanceof Promise?u.then(s=>c&&s&&l(s)):u&&l(u),typeof r.sync?.[0]=="function"){let s=typeof e[0]=="function"?e[0]:()=>e[0];r.sync[0](h=>{h.key!==o||!Vr&&(h.url||globalThis.location.href)!==globalThis.location.href||h.newValue===a(ht(s))||l(h.newValue)})}return Object.assign([],e,{1:typeof e[0]=="function"?s=>{let h=e[1](s),f=s!=null?a(h):s;return r.sync?.[1](o,f),f!=null?t.setItem(o,f,n):t.removeItem(o,n),c=!1,h}:(...s)=>{e[1](...s);let h=ht(()=>a(e[0]));r.sync?.[1](o,h),t.setItem(o,h,n),c=!1},2:u})}import{createEffect as Mr,createMemo as pt,createSignal as Z,on as Or,onCleanup as oi,onMount as ni,Show as me}from"solid-js";import{createEffect as mt,createSignal as gt,on as bt}from"solid-js";var V={leftCollapsed:"patchwork:leftSidebarCollapsed",rightCollapsed:"patchwork:rightSidebarCollapsed",leftWidth:"patchwork:leftSidebarWidth",rightWidth:"patchwork:rightSidebarWidth",contextToolId:"patchwork:contextSidebarToolId"},Ie="patchwork:collapse-context-sidebar",Re=400;function vt(e,r){let t=localStorage.getItem(e);return t?parseInt(t,10):r}function wt(e){return localStorage.getItem(e)==="true"}function Yr(){let[e,r]=gt(wt(V.leftCollapsed)),[t,o]=gt(vt(V.leftWidth,Re));return mt(bt(e,n=>{localStorage.setItem(V.leftCollapsed,String(n))})),mt(bt(t,n=>{localStorage.setItem(V.leftWidth,String(n))})),{isSidebarCollapsed:e,setIsSidebarCollapsed:r,leftSidebarWidth:t,setLeftSidebarWidth:o}}import{onCleanup as Xr,onMount as Gr}from"solid-js";var yt=180,Zr=720,Qr=120,_t=3;function Ge(e,{isCollapsed:r,setCollapsed:t,setWidth:o}){let n=!1,a=null,i=!1,u=null,l=d=>{if(d<Qr){r()||t(!0),u=null;return}r()&&t(!1);let g=Math.min(Zr,d);o(g),u=g},c=()=>{r()||u!==null&&u<yt&&o(yt)},s=null,h=()=>{document.body.setAttribute("data-sidebar-resizing",e),s=document.createElement("div"),s.style.cssText="position:fixed;inset:0;z-index:2147483647;cursor:col-resize;",document.body.appendChild(s)},f=()=>{n=!1,a=null,document.body.style.userSelect="",document.body.removeAttribute("data-sidebar-resizing"),s?.remove(),s=null},b=d=>{d.preventDefault(),a={x:d.clientX,y:d.clientY},i=!1,u=null,n=!0,document.body.style.userSelect="none"},y=()=>{let d=n,g=i;f(),d&&g&&c()},x=d=>{if(!n||!a)return;let g=Math.abs(d.clientX-a.x),$=Math.abs(d.clientY-a.y);!i&&(g>_t||$>_t)&&(i=!0,h()),l(e==="left"?d.clientX:window.innerWidth-d.clientX)},p=d=>{if(i){d.preventDefault(),d.stopPropagation(),i=!1;return}t(g=>!g)};return Gr(()=>{document.addEventListener("mousemove",x),document.addEventListener("mouseup",y),Xr(()=>{document.removeEventListener("mousemove",x),document.removeEventListener("mouseup",y),n&&f()})}),{handleMouseDown:b,handleToggleClick:p}}import{createEffect as eo,createSignal as to,onCleanup as ro}from"solid-js";var ee=(e,r)=>{let[t,o]=to(!1);return eo(()=>{let n=r();if(!n)return;o(!1);let a=i=>{i.detail?.componentId===e&&o(!0)};n.addEventListener("patchwork:mounted",a),ro(()=>n.removeEventListener("patchwork:mounted",a))}),t};import{createEffect as oo,createSignal as no,onCleanup as ao}from"solid-js";var io=5e3,so=(e,r)=>{let[t,o]=no(!1);return oo(()=>{if(t())return;let n=e(),a=r();if(!n||!a)return;let i=l=>{let c=l.detail;c?.url&&c.url!==a||o(!0)};n.addEventListener("patchwork:mounted",i),n.addEventListener("patchwork:no-tool",i);let u=setTimeout(()=>o(!0),io);ao(()=>{n.removeEventListener("patchwork:mounted",i),n.removeEventListener("patchwork:no-tool",i),clearTimeout(u)})}),t};import{getRegistry as lo}from"@inkandswitch/patchwork-plugins";import{createMemo as co,createSignal as uo,onCleanup as po}from"solid-js";function ae(e){let r=lo("patchwork:component"),[t,o]=uo(0),n=r.on("changed",()=>o(a=>a+1));return po(n),co(()=>(t(),(r.all?.()??[]).filter(a=>(a.tags??[]).includes(e)).map(a=>({id:a.id,name:a.name||a.id,icon:a.icon})).sort((a,i)=>a.name.localeCompare(i.name))))}import{template as ke}from"solid-js/web";import{delegateEvents as fn}from"solid-js/web";import{getOwner as mn}from"solid-js/web";import{effect as er}from"solid-js/web";import{setAttribute as gn}from"solid-js/web";import{memo as tr}from"solid-js/web";import{insert as ue}from"solid-js/web";import{createComponent as pe}from"solid-js/web";import{For as xn,Show as ot}from"solid-js";import{template as Mt}from"solid-js/web";import{delegateEvents as Lo}from"solid-js/web";import{insert as Mo}from"solid-js/web";import"solid-js/web";import{setAttribute as Pt}from"solid-js/web";import{effect as Lt}from"solid-js/web";import{use as Ot}from"solid-js/web";import{createComponent as Ze}from"solid-js/web";var At=Br(St(),1),Dt=(0,At.default)("cabbages");function Et(e){return typeof e=="object"&&typeof e!=null&&Object.getPrototypeOf(e)==Object.prototype}var $o="\uFFFC";function It(e,...r){if(r.length==0){Dt("empty patch");return}let[t,o,n]=r,a=[...t];for(;;){let i=a.shift();if(!a.length){let l=Array.isArray(o);if(Et(e)&&l&&typeof i>"u"&&typeof o[0]=="string"){delete e[o[0]];return}if(l||typeof o=="number"){if(typeof i>"u")throw new Error("cant treat top level as a seq");i=i;let[c,s]=Array.isArray(o)?o:[o,o+1],h=Array.isArray(o)&&o.length==0;if(!h&&(c==null||s==null))throw new RangeError("it's all or nothing, no half measures");let f=typeof n>"u",b=c===s&&!f,y=h&&!f,x=!b&&!f&&!y;if(typeof e[i]>"u"){if(typeof e=="string")return;typeof n=="string"?e[i]="":e[i]=[]}let p=e[i];if(Array.isArray(p)){if(y){Array.isArray(n)?p.push(...n):p.push(n);return}if(b||x){Array.isArray(n)?p.splice(c,s-c,...n):p.splice(c,s-c,n);return}if(f){p.splice(c,s-c);return}throw new Error("i don't know what happened")}if(typeof p=="string"){if(y){e[i]=p+n;return}if(x||b){e[i]=p.slice(0,c)+(typeof n=="string"?n:n.map(d=>typeof d=="string"?d:$o).join(""))+p.slice(s);return}if(f){e[i]=p.slice(0,c)+p.slice(s);return}throw new Error("i don't know what happened")}if(Et(p)&&l&&typeof o[0]=="string"){delete p[o[0]];return}throw new Error("not implemented")}if(typeof i>"u"){if(typeof o!="string")throw new Error(`can't index top-level map with ${o}`);typeof n>"u"?delete e[o]:e[o]=n;return}if(typeof e[i]>"u"&&(e[i]={}),l){let[c,s]=o;c!=null&&s!=null&&(typeof n>"u"&&c!=null&&s!=null?delete e[i][c||s]:e[i][c||s]=n)}else if(typeof n>"u")delete e[i][o];else{if(typeof e[i]=="string")return;e[i][o]=n}return}if(typeof i>"u")throw new Error("cant treat top level as a seq");i=i;let u=a[0];if(typeof e[i]>"u")if(typeof u=="string")e[i]={};else if(typeof u=="number")e[i]=[];else throw new Error(`can't go down this road ${e}.${i}.${u}`);e=e[i]}}function Tt(e,r){for(let t=0;t<r.length;t++)e=e?e[r[t]]:void 0;return e}function Rt(e,r){let t=e.path.slice(0,-1),o=e.path[e.path.length-1];switch(e.action){case"mark":case"unmark":return Dt(`skipping ${e.action} because it doesn't affect material reality`),[];case"inc":if(r)return[t,o,Tt(r.patchInfo.after,e.path)];throw new Error(`can't apply ${e.action} without payload argument`);case"conflict":if(r)return[t,o,Tt(r.patchInfo.after,e.path)];throw new Error(`can't apply ${e.action} without payload argument`);case"del":return typeof o=="string"?[t,o]:[t,[o,o+(e.length||1)]];case"insert":return[t,[o,o],structuredClone(e.values)];case"splice":return[t,[o,o],[e.value]];case"put":return[t,o,structuredClone(e.value)]}}function Le(e){return r=>{for(let t of e.patches)It(r,...Rt(t,e))}}import{createMemo as Ao}from"solid-js";import{onCleanup as So}from"solid-js";import{createStore as Eo,produce as To,reconcile as Ft}from"solid-js/store";var ve=new WeakMap;function Me(e){if(So(()=>{let a=ve.get(e);a&&(a.refs--||a.cleanup())}),ve.has(e)){let a=ve.get(e);return a.refs++,a.store}let[r,t]=Eo(structuredClone(e.doc()));ve.set(e,{refs:0,store:r,cleanup(){e.off("change",o),e.off("delete",n),ve.delete(e)}});function o(a){if(a.scopeReplaced){t(Ft(a.doc??{}));return}t(To(Le(a)))}function n(){t(Ft({}))}return e.on("change",o),e.on("delete",n),e.whenReady().then(()=>{t(structuredClone(e.doc()))}),r}import{getOwner as Qi,onCleanup as es,createSignal as ts,untrack as rs,sharedConfig as os,onMount as ns,DEV as as,equalFn as is}from"solid-js";import{isServer as ls}from"solid-js/web";var ce=e=>typeof e=="function"&&!e.length?e():e;function Oe(e){return Ao(()=>ce(e)&&Me(ce(e)))}import{createEffect as Io,createResource as Ro,useContext as Fo}from"solid-js";import{createContext as Do}from"solid-js";var ze=Do(null);function we(e,r){let t=Fo(ze);if(!r?.repo&&!t)throw new Error("use outside <RepoContext> requires options.repo");let o=r?.repo||t;function n(){if(r?.["~skipInitialValue"])return;let u=ce(e);if(!u)return;let l=o.findWithProgress(u).peek();return l.state==="ready"?l.handle:void 0}let[a,{mutate:i}]=Ro(e,u=>o.findWithProgress(u).whenReady(),{initialValue:n()});return Io(()=>{ce(e)||i()}),a}function Ue(e,r){let t=we(e,r);return[Oe(t),t]}import{onCleanup as $s}from"solid-js";import{createSignal as Es}from"solid-js";import{createEffect as Ds,onCleanup as Is}from"solid-js";import{createSignal as Fs}from"solid-js";import{useContext as js}from"solid-js";import{getType as zo}from"@inkandswitch/patchwork-filesystem";import{getRegistry as Uo,isLoadedPlugin as jo}from"@inkandswitch/patchwork-plugins";import{createEffect as Wo,createMemo as je,createSignal as Qe,onCleanup as No,onMount as Ut,Show as jt}from"solid-js";var zt=Mt("<span class=threepane__title-text>"),Oo=Mt("<input class=threepane__title-input type=text>");function Wt(e){let r,[t,o]=Qe();return Ut(()=>{o(r.closest("repo-provider")?.repo)}),Ze(jt,{get when(){return t()},get fallback(){return(()=>{var n=zt(),a=r;return typeof a=="function"?Ot(a,n):r=n,n})()},children:n=>Ze(Ho,{get docUrl(){return e.docUrl},get repo(){return n()}})})}function Ho(e){let[r,t]=Ue(()=>e.docUrl(),{repo:e.repo}),o=Uo("patchwork:datatype"),[n,a]=Qe(0);Ut(()=>{let p=o.on("changed",()=>a(d=>d+1));No(p)});let i=je(()=>{let p=r();return p?zo(p):void 0});Wo(()=>{let p=i();p&&o.load(p)});let u=je(()=>{n();let p=i();if(!p)return;let d=o.get(p);return d&&jo(d)?d:void 0}),l=je(()=>{let p=r(),d=u();if(!(!p||!d))return d.module.getTitle(p)}),c=je(()=>!!t()&&typeof u()?.module.setTitle=="function"),[s,h]=Qe(!1),f;function b(){c()&&(h(!0),queueMicrotask(()=>{f?.focus(),f?.select()}))}function y(p){if(!s()||(h(!1),!p))return;let d=f?.value.trim();if(!d||d===l())return;let g=t(),$=u()?.module.setTitle;!g||!$||g.change(F=>{$(F,d);let P=F["@patchwork"];P&&(P.title=d)})}function x(p){let d=e.docUrl(),g=p.dataTransfer;if(!d||!g)return;let $=l()??"Untitled",F=i();g.effectAllowed="copyLink",g.setData("text/x-patchwork-dnd",JSON.stringify({source:"threepane",items:[{url:d,name:$,type:F}]})),g.setData("text/x-patchwork-urls",JSON.stringify([d])),g.setData("text/uri-list",`${location.origin}${location.pathname}#doc=${d}\r
2
- `),g.setData("text/plain",d)}return Ze(jt,{get when(){return s()},get fallback(){return(()=>{var p=zt();return p.$$click=b,p.addEventListener("dragstart",x),Pt(p,"draggable",!0),Mo(p,()=>l()??"Untitled"),Lt(d=>{var g=!!c(),$=c()?"Rename":void 0;return g!==d.e&&p.classList.toggle("threepane__title-text--editable",d.e=g),$!==d.t&&Pt(p,"title",d.t=$),d},{e:void 0,t:void 0}),p})()},get children(){var p=Oo();p.$$keydown=g=>{g.key==="Enter"?(g.preventDefault(),y(!0)):g.key==="Escape"&&(g.preventDefault(),y(!1))},p.addEventListener("blur",()=>y(!0));var d=f;return typeof d=="function"?Ot(d,p):f=p,Lt(()=>p.value=l()??""),p}})}Lo(["keydown","click"]);import{template as xe}from"solid-js/web";import{delegateEvents as rn}from"solid-js/web";import{getOwner as on}from"solid-js/web";import{insert as _e}from"solid-js/web";import{createComponent as de}from"solid-js/web";import{Show as et}from"solid-js";import{template as Bt}from"solid-js/web";import{delegateEvents as qo}from"solid-js/web";import{setStyleProperty as Bo}from"solid-js/web";import{insert as Jo}from"solid-js/web";import{setAttribute as We}from"solid-js/web";import{effect as Nt}from"solid-js/web";import{memo as ye}from"solid-js/web";import{createComponent as Ht}from"solid-js/web";import{Show as qt}from"solid-js";var Vo=Bt('<button class="sidebar-toggle sidebar-toggle--resizable">'),Ko=Bt("<div class=sidebar>");function Jt(e){let r=()=>`${e.isCollapsed()?0:e.width()}px`,t=()=>e.canExpand?.()??!0,o=()=>Ht(qt,{get when(){return!e.isCollapsed()},get children(){return e.children}}),n=()=>Ht(qt,{get when(){return!e.isCollapsed()||t()},get children(){var a=Vo();return a.$$mousedown=i=>e.onMouseDown(i),a.$$click=i=>e.onToggleClick(i),Nt(i=>{var u=e.isCollapsed()?"Expand sidebar":"Toggle or resize sidebar",l=e.isCollapsed()?"Click to expand, drag to resize":"Click to toggle, drag to resize";return u!==i.e&&We(a,"aria-label",i.e=u),l!==i.t&&We(a,"title",i.t=l),i},{e:void 0,t:void 0}),a}});return(()=>{var a=Ko();return Jo(a,(()=>{var i=ye(()=>e.side==="left");return()=>i()?[ye(o),ye(n)]:[ye(n),ye(o)]})()),Nt(i=>{var u=e.side,l=e.isCollapsed()?"":void 0,c=r();return u!==i.e&&We(a,"data-side",i.e=u),l!==i.t&&We(a,"data-collapsed",i.t=l),c!==i.a&&Bo(a,"width",i.a=c),i},{e:void 0,t:void 0,a:void 0}),a})()}qo(["click","mousedown"]);import{template as Kt}from"solid-js/web";import{delegateEvents as Yo}from"solid-js/web";import{setAttribute as Xo}from"solid-js/web";import{effect as Go}from"solid-js/web";import{insert as Vt}from"solid-js/web";import{createComponent as Zo}from"solid-js/web";import{For as tn}from"solid-js";var Qo=Kt("<div role=tablist class=context-sidebar__tablist>"),en=Kt("<button type=button role=tab class=context-sidebar__tab>");function Yt(e){let r=()=>{let t=e.items().map(n=>n.id),o=e.selectedToolId();return o&&t.includes(o)?o:t[0]};return(()=>{var t=Qo();return Vt(t,Zo(tn,{get each(){return e.items()},children:o=>(()=>{var n=en();return n.$$click=()=>e.setSelectedToolId(o.id),Vt(n,()=>o.name),Go(()=>Xo(n,"data-active",r()===o.id?"":void 0)),n})()})),t})()}Yo(["click"]);var nn=xe('<div class=context-sidebar__tabs><button type=button class=context-sidebar__close title="Hide context sidebar"aria-label="Hide context sidebar">'),an=xe("<div class=context-sidebar__content>"),sn=xe("<div class=context-sidebar>"),ln=xe("<patchwork-view>",!0,!1,!1),cn=xe('<svg xmlns=http://www.w3.org/2000/svg width=18 height=18 viewBox="0 0 24 24"fill=none stroke=var(--studio-chrome-line) stroke-width=1.75 stroke-linecap=round stroke-linejoin=round><rect width=18 height=18 x=3 y=3 rx=2></rect><path d="M15 3v18">');function Xt(e){let r=ae("context-tool"),t=()=>{let o=r().map(a=>a.id),n=e.selectedToolId();return n&&o.includes(n)?n:o[0]};return de(Jt,{side:"right",get isCollapsed(){return e.isCollapsed},get width(){return e.width},get onMouseDown(){return e.onMouseDown},get onToggleClick(){return e.onToggleClick},get canExpand(){return e.canExpand},get children(){var o=sn();return _e(o,de(et,{get when(){return r().length},get children(){var n=nn(),a=n.firstChild;return _e(n,de(Yt,{items:r,get selectedToolId(){return e.selectedToolId},get setSelectedToolId(){return e.setSelectedToolId}}),a),a.$$click=()=>e.onCollapse(),_e(a,de(tt,{})),n}}),null),_e(o,de(et,{get when(){return!e.isCollapsed()},get children(){var n=an();return _e(n,de(et,{get when(){return t()},keyed:!0,children:a=>(()=>{var i=ln();return i.component=a,i._$owner=on(),i})()})),n}}),null),o}})}function tt(){return cn()}rn(["click"]);import{template as dn}from"solid-js/web";import{effect as Gt}from"solid-js/web";import{getOwner as Zt}from"solid-js/web";import{createComponent as un}from"solid-js/web";import{memo as pn}from"solid-js/web";import{Show as hn}from"solid-js";var Qt=dn("<patchwork-view>",!0,!1,!1),rt=e=>Array.isArray(e)?String(e[0]):String(e);function Xl(e){let r=new Set;return e.filter(t=>{let o=rt(t);return r.has(o)?!1:(r.add(o),!0)})}function Gl(e){return un(hn,{get when(){return pn(()=>!!Array.isArray(e.slot))()?e.slot:!1},get fallback(){return(()=>{var r=Qt();return r._$owner=Zt(),Gt(()=>r.component=String(e.slot)),r})()},children:r=>(()=>{var t=Qt();return t._$owner=Zt(),Gt(o=>{var n=r()[1],a=r()[0];return n!==o.e&&(t.docUrl=o.e=n),a!==o.t&&(t.toolId=o.t=a),o},{e:void 0,t:void 0}),t})()})}var bn=ke("<div class=threepane__title>"),vn=ke("<div class=threepane__doctitle-tools>"),wn=ke('<button type=button class=frame__sidebar-toggle title="Show context sidebar"aria-label="Show context sidebar">'),yn=ke("<div class=frame__topbar><div class=threepane__spacer>"),_n=ke("<patchwork-view>",!0,!1,!1);function rr(e){let r=()=>e.toolSlots()??[];return(()=>{var t=yn(),o=t.firstChild;return ue(t,pe(ot,{get when(){return e.docUrl()},get children(){var n=bn();return ue(n,pe(Wt,{get docUrl(){return e.docUrl}})),n}}),o),ue(t,pe(ot,{get when(){return tr(()=>!!e.docUrl())()&&r().length},get children(){var n=vn();return ue(n,pe(xn,{get each(){return r()},children:a=>(()=>{var i=_n();return i._$owner=mn(),er(u=>{var l=rt(a),c=e.docUrl();return l!==u.e&&(i.toolId=u.e=l),c!==u.t&&(i.docUrl=u.t=c),u},{e:void 0,t:void 0}),i})()})),n}}),null),ue(t,pe(ot,{get when(){return tr(()=>!!e.hasContext())()&&e.isRightCollapsed()},get children(){var n=wn();return n.$$click=()=>e.onToggleRight(),gn(n,"aria-pressed",!1),ue(n,pe(tt,{})),n}}),null),er(()=>t.classList.toggle("frame__topbar--left-collapsed",!!e.isLeftCollapsed())),t})()}fn(["click"]);import{template as Ve}from"solid-js/web";import{effect as Dr}from"solid-js/web";import{getOwner as Ir}from"solid-js/web";import{insert as Y}from"solid-js/web";import{createComponent as R}from"solid-js/web";import{memo as Se}from"solid-js/web";import{use as Rr}from"solid-js/web";import{parseAutomergeUrl as Wa}from"@automerge/automerge-repo/slim";import{getSuggestedImportUrl as Na,getType as Ha}from"@inkandswitch/patchwork-filesystem";import{getFallbackTool as qa,getRegistry as Ba}from"@inkandswitch/patchwork-plugins";import{createEffect as ut,createMemo as Je,createSignal as K,onCleanup as oe,onMount as Ja,Show as B}from"solid-js";import{template as C}from"solid-js/web";import{delegateEvents as sa}from"solid-js/web";import{setAttribute as Be}from"solid-js/web";import{effect as ct}from"solid-js/web";import"solid-js/web";import{createComponent as D}from"solid-js/web";import{insert as I}from"solid-js/web";import{use as la}from"solid-js/web";import{importPackage as Ra}from"@inkandswitch/patchwork-filesystem";import{registerPlugins as Fa}from"@inkandswitch/patchwork-plugins";import{createResource as Pa,createSignal as fe,onCleanup as lt,onMount as La,Show as q}from"solid-js";import{template as k}from"solid-js/web";import{delegateEvents as Dn}from"solid-js/web";import{effect as fr}from"solid-js/web";import{memo as In}from"solid-js/web";import{insert as v}from"solid-js/web";import{createComponent as _}from"solid-js/web";import{use as Rn}from"solid-js/web";import{setAttribute as Ce}from"solid-js/web";import{createResource as ta,createSignal as He,For as st,Match as he,onMount as ra,Show as z,Switch as dr}from"solid-js";import*as nr from"@automerge/automerge/slim";import{getImportableUrlFromAutomergeUrl as kn}from"@inkandswitch/patchwork-filesystem";var nt=e=>e.startsWith("automerge:");function Cn(e){return e.replace(/[#?].*$/,"")}function ar(e){let r=e.split("#")[1];return r?r.split("|").filter(Boolean):[]}var H=e=>typeof e=="string"&&e.trim()?e.trim():void 0;function $n(e){if(typeof e=="string")return H(e);if(e&&typeof e=="object"){let{name:r,email:t}=e,o=H(r),n=H(t);return o&&n?`${o} <${n}>`:o??n}}function ir(e){if(!e||typeof e!="object")return{};let r=e,t=r.supportedDatatypes;return{id:H(r.id),name:H(r.name),type:H(r.type),supportedDatatypes:typeof t=="string"?[t]:Array.isArray(t)?t.filter(o=>typeof o=="string"):void 0}}async function or(e){try{let r=await fetch(e);return r.ok?await r.json():void 0}catch{return}}var Sn=new Set(["dist","build","lib","out","esm","src","public"]);async function En(e){if(nt(e)){let o=kn(e);return or(new URL("package.json",o).href)}let r;try{r=new URL(e)}catch{return}let t=r.pathname.split("/").filter(Boolean);for(/\.[a-z0-9]+$/i.test(t.at(-1)??"")&&t.pop();;){let o=`${r.origin}/${t.join("/")}${t.length?"/":""}`,n=await or(new URL("package.json",o).href);if(n&&typeof n=="object")return n;if(!Sn.has(t.at(-1)?.toLowerCase()??""))return;t.pop()}}async function sr(e){let r=await En(e);if(r)return{name:H(r.name),title:H(r.title),version:H(r.version),description:H(r.description),author:$n(r.author),plugins:Array.isArray(r.plugins)?r.plugins.map(ir):void 0}}var Ne,Tn=1,re=new Map;function An(){if(Ne)return Ne;let e=new Worker("/module-loader-worker.js",{type:"module",name:"threepane-package-preview"});return e.addEventListener("message",r=>{let t=r.data,o=t&&re.get(t.id);o&&(re.delete(t.id),t.type==="descriptors"?o.resolve(t.descriptors.map(ir)):o.reject(new Error(t.error)))}),e.addEventListener("error",r=>{let t=new Error(`the background worker stopped: ${r.message??"no reason given"}`);for(let o of re.values())o.reject(t);re.clear(),Ne=void 0}),Ne=e,e}function lr(e,r=15e3){let t=Tn++;return new Promise((o,n)=>{let a=setTimeout(()=>{re.delete(t)&&n(new Error("it took too long to answer"))},r);re.set(t,{resolve:i=>{clearTimeout(a),o(i)},reject:i=>{clearTimeout(a),n(i)}});try{An().postMessage({type:"discover",id:t,url:e})}catch(i){clearTimeout(a),re.delete(t),n(i instanceof Error?i:new Error(String(i)))}})}async function cr(e,r){let t=await e.find(Cn(r)),o=t.doc();await new Promise(i=>setTimeout(i,0));let n=nr.getChangesMetaSince(o,[]),a=new Map;for(let i of n){let u=i.time??0,l=a.get(i.actor);if(!l){a.set(i.actor,{actor:i.actor,changes:1,first:u,last:u});continue}l.changes++,u&&(!l.first||u<l.first)&&(l.first=u),u>l.last&&(l.last=u)}return{heads:[...t.heads()],changes:n.length,writers:[...a.values()].sort((i,u)=>u.changes-i.changes)}}var Fn=k("<button type=button class=doc-card__link>see package details"),Pn=k("<p class=pkg-about__quiet>reading\u2026"),Ln=k("<p class=pkg-about__quiet>no package.json."),Mn=k("<dl class=pkg-about__facts><dt>plugins</dt><dd>"),On=k("<dt>pinned"),it=k("<dd>"),at=k("<dt>history"),zn=k("<dd class=pkg-about__quiet>reading\u2026"),Un=k("<dd class=pkg-about__quiet>couldn't get its folder."),jn=k('<div class=pkg-about popover=auto><header class=pkg-about__header><h3 class=doc-card__rough></h3><button type=button class="doc-card__link pkg-about__close"popovertargetaction=hide aria-label=close>\xD7</button></header><section class="pkg-about__section pkg-about__section--claims"><h4>self-reported <span class=pkg-about__tag>unverified</span></h4></section><section class=pkg-about__section><h4>source</h4><dl class=pkg-about__facts><dt>url</dt><dd><code class="doc-card__code doc-card__url">'),Wn=k("<span class=pkg-about__version> "),Nn=k("<button type=button class=doc-card__link>"),Hn=k("<span class=pkg-about__quiet>unknown until loaded"),qn=k("<p class=doc-card__notice>"),Bn=k("<dt>heads"),Jn=k("<dd> <!>, <!> <p class=pkg-about__quiet>writers are devices, not people. folder only."),Vn=k("<dt>"),mr=k("<ul class=pkg-about__list>"),Kn=k("<span>nothing"),Yn=k("<span class=pkg-about__quiet> for "),Xn=k("<li>"),gr=k("<span class=pkg-about__quiet> \xB7 "),Gn=k("<span class=pkg-about__heads>"),Zn=k("<code class=doc-card__code>"),Qn=k("<li class=pkg-about__quiet>and <!> more"),ea=k("<li><code class=doc-card__code></code> <!> "),oa=0;function br(e){let r=`pkg-about-${++oa}`,t=nt(e.url),o=ar(e.url),[n,a]=He(!1),[i]=ta(()=>n()&&t?e.url:void 0,d=>cr(e.repo,d)),[u,l]=He(!1),[c,s]=He(),[h,f]=He();async function b(){if(window.confirm(`Listing its plugins runs the package's code in a background worker.
1
+ import{a as Ye,b as Br}from"./chunk-FW4363Y4.js";var kt=Ye((Bi,xt)=>{var ie=1e3,se=ie*60,le=se*60,te=le*24,ho=te*7,fo=te*365.25;xt.exports=function(e,r){r=r||{};var t=typeof e;if(t==="string"&&e.length>0)return mo(e);if(t==="number"&&isFinite(e))return r.long?bo(e):go(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function mo(e){if(e=String(e),!(e.length>100)){var r=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(r){var t=parseFloat(r[1]),o=(r[2]||"ms").toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return t*fo;case"weeks":case"week":case"w":return t*ho;case"days":case"day":case"d":return t*te;case"hours":case"hour":case"hrs":case"hr":case"h":return t*le;case"minutes":case"minute":case"mins":case"min":case"m":return t*se;case"seconds":case"second":case"secs":case"sec":case"s":return t*ie;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function go(e){var r=Math.abs(e);return r>=te?Math.round(e/te)+"d":r>=le?Math.round(e/le)+"h":r>=se?Math.round(e/se)+"m":r>=ie?Math.round(e/ie)+"s":e+"ms"}function bo(e){var r=Math.abs(e);return r>=te?Fe(e,r,te,"day"):r>=le?Fe(e,r,le,"hour"):r>=se?Fe(e,r,se,"minute"):r>=ie?Fe(e,r,ie,"second"):e+" ms"}function Fe(e,r,t,o){var n=r>=t*1.5;return Math.round(e/t)+" "+o+(n?"s":"")}});var $t=Ye((Ji,Ct)=>{function vo(e){t.debug=t,t.default=t,t.coerce=u,t.disable=i,t.enable=n,t.enabled=d,t.humanize=kt(),t.destroy=l,Object.keys(e).forEach(s=>{t[s]=e[s]}),t.names=[],t.skips=[],t.formatters={};function r(s){let h=0;for(let f=0;f<s.length;f++)h=(h<<5)-h+s.charCodeAt(f),h|=0;return t.colors[Math.abs(h)%t.colors.length]}t.selectColor=r;function t(s){let h,f=null,b,y;function x(...p){if(!x.enabled)return;let c=x,g=Number(new Date),$=g-(h||g);c.diff=$,c.prev=h,c.curr=g,h=g,p[0]=t.coerce(p[0]),typeof p[0]!="string"&&p.unshift("%O");let F=0;p[0]=p[0].replace(/%([a-zA-Z%])/g,(j,Q)=>{if(j==="%%")return"%";F++;let O=t.formatters[Q];if(typeof O=="function"){let J=p[F];j=O.call(c,J),p.splice(F,1),F--}return j}),t.formatArgs.call(c,p),(c.log||t.log).apply(c,p)}return x.namespace=s,x.useColors=t.useColors(),x.color=t.selectColor(s),x.extend=o,x.destroy=t.destroy,Object.defineProperty(x,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(b!==t.namespaces&&(b=t.namespaces,y=t.enabled(s)),y),set:p=>{f=p}}),typeof t.init=="function"&&t.init(x),x}function o(s,h){let f=t(this.namespace+(typeof h>"u"?":":h)+s);return f.log=this.log,f}function n(s){t.save(s),t.namespaces=s,t.names=[],t.skips=[];let h=(typeof s=="string"?s:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let f of h)f[0]==="-"?t.skips.push(f.slice(1)):t.names.push(f)}function a(s,h){let f=0,b=0,y=-1,x=0;for(;f<s.length;)if(b<h.length&&(h[b]===s[f]||h[b]==="*"))h[b]==="*"?(y=b,x=f,b++):(f++,b++);else if(y!==-1)b=y+1,x++,f=x;else return!1;for(;b<h.length&&h[b]==="*";)b++;return b===h.length}function i(){let s=[...t.names,...t.skips.map(h=>"-"+h)].join(",");return t.enable(""),s}function d(s){for(let h of t.skips)if(a(s,h))return!1;for(let h of t.names)if(a(s,h))return!0;return!1}function u(s){return s instanceof Error?s.stack||s.message:s}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}Ct.exports=vo});var St=Ye((L,Pe)=>{L.formatArgs=yo;L.save=_o;L.load=xo;L.useColors=wo;L.storage=ko();L.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();L.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function wo(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function yo(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+Pe.exports.humanize(this.diff),!this.useColors)return;let r="color: "+this.color;e.splice(1,0,r,"color: inherit");let t=0,o=0;e[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(t++,n==="%c"&&(o=t))}),e.splice(o,0,r)}L.log=console.debug||console.log||(()=>{});function _o(e){try{e?L.storage.setItem("debug",e):L.storage.removeItem("debug")}catch{}}function xo(){let e;try{e=L.storage.getItem("debug")||L.storage.getItem("DEBUG")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function ko(){try{return localStorage}catch{}}Pe.exports=$t()(L);var{formatters:Co}=Pe.exports;Co.j=function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}});import{template as Nr}from"solid-js/web";import{createComponent as ci}from"solid-js/web";import{setAttribute as di}from"solid-js/web";import{effect as ui}from"solid-js/web";import{insert as qr}from"solid-js/web";import{getOwner as pi}from"solid-js/web";import{createMemo as Wr}from"solid-js";import{createStore as mi,reconcile as gi}from"solid-js/store";import{render as bi}from"solid-js/web";import{template as Ae}from"solid-js/web";import{insert as ne}from"solid-js/web";import{getOwner as Ee}from"solid-js/web";import{use as Te}from"solid-js/web";import{createComponent as U}from"solid-js/web";import{createUniqueId as Jr,untrack as ht}from"solid-js";import{isServer as Vr,isDev as ft}from"solid-js/web";import{reconcile as Kr}from"solid-js/store";function Xe(e,r={}){let t=r.storage||globalThis.localStorage,o=r.name||`storage-${Jr()}`;if(!t)return Object.assign(e,{2:null});let n=r.storageOptions,a=r.serialize||JSON.stringify.bind(JSON),i=r.deserialize||JSON.parse.bind(JSON),d=t.getItem(o,n),u=typeof e[0]=="function"?s=>{try{let h=i(s);e[1](()=>h)}catch(h){ft&&console.warn(h)}}:s=>{try{let h=i(s);e[1](Kr(h))}catch(h){ft&&console.warn(h)}},l=!0;if(d instanceof Promise?d.then(s=>l&&s&&u(s)):d&&u(d),typeof r.sync?.[0]=="function"){let s=typeof e[0]=="function"?e[0]:()=>e[0];r.sync[0](h=>{h.key!==o||!Vr&&(h.url||globalThis.location.href)!==globalThis.location.href||h.newValue===a(ht(s))||u(h.newValue)})}return Object.assign([],e,{1:typeof e[0]=="function"?s=>{let h=e[1](s),f=s!=null?a(h):s;return r.sync?.[1](o,f),f!=null?t.setItem(o,f,n):t.removeItem(o,n),l=!1,h}:(...s)=>{e[1](...s);let h=ht(()=>a(e[0]));r.sync?.[1](o,h),t.setItem(o,h,n),l=!1},2:d})}import{createEffect as Mr,createMemo as pt,createSignal as Z,on as Or,onCleanup as ai,onMount as ii,Show as me}from"solid-js";import{createEffect as mt,createSignal as gt,on as bt}from"solid-js";var V={leftCollapsed:"patchwork:leftSidebarCollapsed",rightCollapsed:"patchwork:rightSidebarCollapsed",leftWidth:"patchwork:leftSidebarWidth",rightWidth:"patchwork:rightSidebarWidth",contextToolId:"patchwork:contextSidebarToolId"},Ie="patchwork:collapse-context-sidebar",Re=400;function vt(e,r){let t=localStorage.getItem(e);return t?parseInt(t,10):r}function wt(e){return localStorage.getItem(e)==="true"}function Yr(){let[e,r]=gt(wt(V.leftCollapsed)),[t,o]=gt(vt(V.leftWidth,Re));return mt(bt(e,n=>{localStorage.setItem(V.leftCollapsed,String(n))})),mt(bt(t,n=>{localStorage.setItem(V.leftWidth,String(n))})),{isSidebarCollapsed:e,setIsSidebarCollapsed:r,leftSidebarWidth:t,setLeftSidebarWidth:o}}import{onCleanup as Xr,onMount as Gr}from"solid-js";var yt=180,Zr=720,Qr=120,_t=3;function Ge(e,{isCollapsed:r,setCollapsed:t,setWidth:o}){let n=!1,a=null,i=!1,d=null,u=c=>{if(c<Qr){r()||t(!0),d=null;return}r()&&t(!1);let g=Math.min(Zr,c);o(g),d=g},l=()=>{r()||d!==null&&d<yt&&o(yt)},s=null,h=()=>{document.body.setAttribute("data-sidebar-resizing",e),s=document.createElement("div"),s.style.cssText="position:fixed;inset:0;z-index:2147483647;cursor:col-resize;",document.body.appendChild(s)},f=()=>{n=!1,a=null,document.body.style.userSelect="",document.body.removeAttribute("data-sidebar-resizing"),s?.remove(),s=null},b=c=>{c.preventDefault(),a={x:c.clientX,y:c.clientY},i=!1,d=null,n=!0,document.body.style.userSelect="none"},y=()=>{let c=n,g=i;f(),c&&g&&l()},x=c=>{if(!n||!a)return;let g=Math.abs(c.clientX-a.x),$=Math.abs(c.clientY-a.y);!i&&(g>_t||$>_t)&&(i=!0,h()),u(e==="left"?c.clientX:window.innerWidth-c.clientX)},p=c=>{if(i){c.preventDefault(),c.stopPropagation(),i=!1;return}t(g=>!g)};return Gr(()=>{document.addEventListener("mousemove",x),document.addEventListener("mouseup",y),Xr(()=>{document.removeEventListener("mousemove",x),document.removeEventListener("mouseup",y),n&&f()})}),{handleMouseDown:b,handleToggleClick:p}}import{createEffect as eo,createSignal as to,onCleanup as ro}from"solid-js";var ee=(e,r)=>{let[t,o]=to(!1);return eo(()=>{let n=r();if(!n)return;o(!1);let a=i=>{i.detail?.componentId===e&&o(!0)};n.addEventListener("patchwork:mounted",a),ro(()=>n.removeEventListener("patchwork:mounted",a))}),t};import{createEffect as oo,createSignal as no,onCleanup as ao}from"solid-js";var io=5e3,so=(e,r)=>{let[t,o]=no(!1);return oo(()=>{if(t())return;let n=e(),a=r();if(!n||!a)return;let i=u=>{let l=u.detail;l?.url&&l.url!==a||o(!0)};n.addEventListener("patchwork:mounted",i),n.addEventListener("patchwork:no-tool",i);let d=setTimeout(()=>o(!0),io);ao(()=>{n.removeEventListener("patchwork:mounted",i),n.removeEventListener("patchwork:no-tool",i),clearTimeout(d)})}),t};import{getRegistry as lo}from"@inkandswitch/patchwork-plugins";import{createMemo as co,createSignal as uo,onCleanup as po}from"solid-js";function ae(e){let r=lo("patchwork:component"),[t,o]=uo(0),n=r.on("changed",()=>o(a=>a+1));return po(n),co(()=>(t(),(r.all?.()??[]).filter(a=>(a.tags??[]).includes(e)).map(a=>({id:a.id,name:a.name||a.id,icon:a.icon})).sort((a,i)=>a.name.localeCompare(i.name))))}import{template as ke}from"solid-js/web";import{delegateEvents as gn}from"solid-js/web";import{getOwner as bn}from"solid-js/web";import{effect as er}from"solid-js/web";import{setAttribute as vn}from"solid-js/web";import{memo as tr}from"solid-js/web";import{insert as ue}from"solid-js/web";import{createComponent as pe}from"solid-js/web";import{For as Cn,Show as ot}from"solid-js";import{template as Mt}from"solid-js/web";import{delegateEvents as Oo}from"solid-js/web";import{insert as zo}from"solid-js/web";import"solid-js/web";import{setAttribute as Pt}from"solid-js/web";import{effect as Lt}from"solid-js/web";import{use as Ot}from"solid-js/web";import{createComponent as Ze}from"solid-js/web";var At=Br(St(),1),Dt=(0,At.default)("cabbages");function Et(e){return typeof e=="object"&&typeof e!=null&&Object.getPrototypeOf(e)==Object.prototype}var $o="\uFFFC";function It(e,...r){if(r.length==0){Dt("empty patch");return}let[t,o,n]=r,a=[...t];for(;;){let i=a.shift();if(!a.length){let u=Array.isArray(o);if(Et(e)&&u&&typeof i>"u"&&typeof o[0]=="string"){delete e[o[0]];return}if(u||typeof o=="number"){if(typeof i>"u")throw new Error("cant treat top level as a seq");i=i;let[l,s]=Array.isArray(o)?o:[o,o+1],h=Array.isArray(o)&&o.length==0;if(!h&&(l==null||s==null))throw new RangeError("it's all or nothing, no half measures");let f=typeof n>"u",b=l===s&&!f,y=h&&!f,x=!b&&!f&&!y;if(typeof e[i]>"u"){if(typeof e=="string")return;typeof n=="string"?e[i]="":e[i]=[]}let p=e[i];if(Array.isArray(p)){if(y){Array.isArray(n)?p.push(...n):p.push(n);return}if(b||x){Array.isArray(n)?p.splice(l,s-l,...n):p.splice(l,s-l,n);return}if(f){p.splice(l,s-l);return}throw new Error("i don't know what happened")}if(typeof p=="string"){if(y){e[i]=p+n;return}if(x||b){e[i]=p.slice(0,l)+(typeof n=="string"?n:n.map(c=>typeof c=="string"?c:$o).join(""))+p.slice(s);return}if(f){e[i]=p.slice(0,l)+p.slice(s);return}throw new Error("i don't know what happened")}if(Et(p)&&u&&typeof o[0]=="string"){delete p[o[0]];return}throw new Error("not implemented")}if(typeof i>"u"){if(typeof o!="string")throw new Error(`can't index top-level map with ${o}`);typeof n>"u"?delete e[o]:e[o]=n;return}if(typeof e[i]>"u"&&(e[i]={}),u){let[l,s]=o;l!=null&&s!=null&&(typeof n>"u"&&l!=null&&s!=null?delete e[i][l||s]:e[i][l||s]=n)}else if(typeof n>"u")delete e[i][o];else{if(typeof e[i]=="string")return;e[i][o]=n}return}if(typeof i>"u")throw new Error("cant treat top level as a seq");i=i;let d=a[0];if(typeof e[i]>"u")if(typeof d=="string")e[i]={};else if(typeof d=="number")e[i]=[];else throw new Error(`can't go down this road ${e}.${i}.${d}`);e=e[i]}}function Tt(e,r){for(let t=0;t<r.length;t++)e=e?e[r[t]]:void 0;return e}function Rt(e,r){let t=e.path.slice(0,-1),o=e.path[e.path.length-1];switch(e.action){case"mark":case"unmark":return Dt(`skipping ${e.action} because it doesn't affect material reality`),[];case"inc":if(r)return[t,o,Tt(r.patchInfo.after,e.path)];throw new Error(`can't apply ${e.action} without payload argument`);case"conflict":if(r)return[t,o,Tt(r.patchInfo.after,e.path)];throw new Error(`can't apply ${e.action} without payload argument`);case"del":return typeof o=="string"?[t,o]:[t,[o,o+(e.length||1)]];case"insert":return[t,[o,o],structuredClone(e.values)];case"splice":return[t,[o,o],[e.value]];case"put":return[t,o,structuredClone(e.value)]}}function Le(e){return r=>{for(let t of e.patches)It(r,...Rt(t,e))}}import{createMemo as Ao}from"solid-js";import{onCleanup as So}from"solid-js";import{createStore as Eo,produce as To,reconcile as Ft}from"solid-js/store";var ve=new WeakMap;function Me(e){if(So(()=>{let a=ve.get(e);a&&(a.refs--||a.cleanup())}),ve.has(e)){let a=ve.get(e);return a.refs++,a.store}let[r,t]=Eo(structuredClone(e.doc()));ve.set(e,{refs:0,store:r,cleanup(){e.off("change",o),e.off("delete",n),ve.delete(e)}});function o(a){if(a.scopeReplaced){t(Ft(a.doc??{}));return}t(To(Le(a)))}function n(){t(Ft({}))}return e.on("change",o),e.on("delete",n),r}import{getOwner as ts,onCleanup as rs,createSignal as os,untrack as ns,sharedConfig as as,onMount as is,DEV as ss,equalFn as ls}from"solid-js";import{isServer as ds}from"solid-js/web";var ce=e=>typeof e=="function"&&!e.length?e():e;function Oe(e){return Ao(()=>ce(e)&&Me(ce(e)))}import{createEffect as Io,createResource as Ro,useContext as Fo}from"solid-js";import{createContext as Do}from"solid-js";var ze=Do(null);function we(e,r){let t=Fo(ze);if(!r?.repo&&!t)throw new Error("use outside <RepoContext> requires options.repo");let o=r?.repo||t;function n(){if(r?.["~skipInitialValue"])return;let d=ce(e);if(d)return Lo(o,d)}let[a,{mutate:i}]=Ro(e,d=>o.find(d),{initialValue:n()});return Io(()=>{ce(e)||i()}),a}function Po(e){return typeof e.query=="function"}function Lo(e,r){if(Po(e)){let o=e.query(r).state();return o.status=="ready"?o.handle:void 0}let t=e.findWithProgress(r).peek();return t.state=="ready"?t.handle:void 0}function Ue(e,r){let t=we(e,r);return[Oe(t),t]}import{onCleanup as Es}from"solid-js";import{createSignal as As}from"solid-js";import{createEffect as Rs,onCleanup as Fs}from"solid-js";import{createSignal as Ls}from"solid-js";import{useContext as Hs}from"solid-js";import{getType as jo}from"@inkandswitch/patchwork-filesystem";import{getRegistry as Wo,isLoadedPlugin as Ho}from"@inkandswitch/patchwork-plugins";import{createEffect as No,createMemo as je,createSignal as Qe,onCleanup as qo,onMount as Ut,Show as jt}from"solid-js";var zt=Mt("<span class=threepane__title-text>"),Uo=Mt("<input class=threepane__title-input type=text>");function Wt(e){let r,[t,o]=Qe();return Ut(()=>{o(r.closest("repo-provider")?.repo)}),Ze(jt,{get when(){return t()},get fallback(){return(()=>{var n=zt(),a=r;return typeof a=="function"?Ot(a,n):r=n,n})()},children:n=>Ze(Bo,{get docUrl(){return e.docUrl},get repo(){return n()}})})}function Bo(e){let[r,t]=Ue(()=>e.docUrl(),{repo:e.repo}),o=Wo("patchwork:datatype"),[n,a]=Qe(0);Ut(()=>{let p=o.on("changed",()=>a(c=>c+1));qo(p)});let i=je(()=>{let p=r();return p?jo(p):void 0});No(()=>{let p=i();p&&o.load(p)});let d=je(()=>{n();let p=i();if(!p)return;let c=o.get(p);return c&&Ho(c)?c:void 0}),u=je(()=>{let p=r(),c=d();if(!(!p||!c))return c.module.getTitle(p)}),l=je(()=>!!t()&&typeof d()?.module.setTitle=="function"),[s,h]=Qe(!1),f;function b(){l()&&(h(!0),queueMicrotask(()=>{f?.focus(),f?.select()}))}function y(p){if(!s()||(h(!1),!p))return;let c=f?.value.trim();if(!c||c===u())return;let g=t(),$=d()?.module.setTitle;!g||!$||g.change(F=>{$(F,c);let P=F["@patchwork"];P&&(P.title=c)})}function x(p){let c=e.docUrl(),g=p.dataTransfer;if(!c||!g)return;let $=u()??"Untitled",F=i();g.effectAllowed="copyLink",g.setData("text/x-patchwork-dnd",JSON.stringify({source:"threepane",items:[{url:c,name:$,type:F}]})),g.setData("text/x-patchwork-urls",JSON.stringify([c])),g.setData("text/uri-list",`${location.origin}${location.pathname}#doc=${c}\r
2
+ `),g.setData("text/plain",c)}return Ze(jt,{get when(){return s()},get fallback(){return(()=>{var p=zt();return p.$$click=b,p.addEventListener("dragstart",x),Pt(p,"draggable",!0),zo(p,()=>u()??"Untitled"),Lt(c=>{var g=!!l(),$=l()?"Rename":void 0;return g!==c.e&&p.classList.toggle("threepane__title-text--editable",c.e=g),$!==c.t&&Pt(p,"title",c.t=$),c},{e:void 0,t:void 0}),p})()},get children(){var p=Uo();p.$$keydown=g=>{g.key==="Enter"?(g.preventDefault(),y(!0)):g.key==="Escape"&&(g.preventDefault(),y(!1))},p.addEventListener("blur",()=>y(!0));var c=f;return typeof c=="function"?Ot(c,p):f=p,Lt(()=>p.value=u()??""),p}})}Oo(["keydown","click"]);import{template as xe}from"solid-js/web";import{delegateEvents as nn}from"solid-js/web";import{getOwner as an}from"solid-js/web";import{insert as _e}from"solid-js/web";import{createComponent as de}from"solid-js/web";import{Show as et}from"solid-js";import{template as Bt}from"solid-js/web";import{delegateEvents as Jo}from"solid-js/web";import{setStyleProperty as Vo}from"solid-js/web";import{insert as Ko}from"solid-js/web";import{setAttribute as We}from"solid-js/web";import{effect as Ht}from"solid-js/web";import{memo as ye}from"solid-js/web";import{createComponent as Nt}from"solid-js/web";import{Show as qt}from"solid-js";var Yo=Bt('<button class="sidebar-toggle sidebar-toggle--resizable">'),Xo=Bt("<div class=sidebar>");function Jt(e){let r=()=>`${e.isCollapsed()?0:e.width()}px`,t=()=>e.canExpand?.()??!0,o=()=>Nt(qt,{get when(){return!e.isCollapsed()},get children(){return e.children}}),n=()=>Nt(qt,{get when(){return!e.isCollapsed()||t()},get children(){var a=Yo();return a.$$mousedown=i=>e.onMouseDown(i),a.$$click=i=>e.onToggleClick(i),Ht(i=>{var d=e.isCollapsed()?"Expand sidebar":"Toggle or resize sidebar",u=e.isCollapsed()?"Click to expand, drag to resize":"Click to toggle, drag to resize";return d!==i.e&&We(a,"aria-label",i.e=d),u!==i.t&&We(a,"title",i.t=u),i},{e:void 0,t:void 0}),a}});return(()=>{var a=Xo();return Ko(a,(()=>{var i=ye(()=>e.side==="left");return()=>i()?[ye(o),ye(n)]:[ye(n),ye(o)]})()),Ht(i=>{var d=e.side,u=e.isCollapsed()?"":void 0,l=r();return d!==i.e&&We(a,"data-side",i.e=d),u!==i.t&&We(a,"data-collapsed",i.t=u),l!==i.a&&Vo(a,"width",i.a=l),i},{e:void 0,t:void 0,a:void 0}),a})()}Jo(["click","mousedown"]);import{template as Kt}from"solid-js/web";import{delegateEvents as Go}from"solid-js/web";import{setAttribute as Zo}from"solid-js/web";import{effect as Qo}from"solid-js/web";import{insert as Vt}from"solid-js/web";import{createComponent as en}from"solid-js/web";import{For as on}from"solid-js";var tn=Kt("<div role=tablist class=context-sidebar__tablist>"),rn=Kt("<button type=button role=tab class=context-sidebar__tab>");function Yt(e){let r=()=>{let t=e.items().map(n=>n.id),o=e.selectedToolId();return o&&t.includes(o)?o:t[0]};return(()=>{var t=tn();return Vt(t,en(on,{get each(){return e.items()},children:o=>(()=>{var n=rn();return n.$$click=()=>e.setSelectedToolId(o.id),Vt(n,()=>o.name),Qo(()=>Zo(n,"data-active",r()===o.id?"":void 0)),n})()})),t})()}Go(["click"]);var sn=xe('<div class=context-sidebar__tabs><button type=button class=context-sidebar__close title="Hide context sidebar"aria-label="Hide context sidebar">'),ln=xe("<div class=context-sidebar__content>"),cn=xe("<div class=context-sidebar>"),dn=xe("<patchwork-view>",!0,!1,!1),un=xe('<svg xmlns=http://www.w3.org/2000/svg width=18 height=18 viewBox="0 0 24 24"fill=none stroke=var(--studio-chrome-line) stroke-width=1.75 stroke-linecap=round stroke-linejoin=round><rect width=18 height=18 x=3 y=3 rx=2></rect><path d="M15 3v18">');function Xt(e){let r=ae("context-tool"),t=()=>{let o=r().map(a=>a.id),n=e.selectedToolId();return n&&o.includes(n)?n:o[0]};return de(Jt,{side:"right",get isCollapsed(){return e.isCollapsed},get width(){return e.width},get onMouseDown(){return e.onMouseDown},get onToggleClick(){return e.onToggleClick},get canExpand(){return e.canExpand},get children(){var o=cn();return _e(o,de(et,{get when(){return r().length},get children(){var n=sn(),a=n.firstChild;return _e(n,de(Yt,{items:r,get selectedToolId(){return e.selectedToolId},get setSelectedToolId(){return e.setSelectedToolId}}),a),a.$$click=()=>e.onCollapse(),_e(a,de(tt,{})),n}}),null),_e(o,de(et,{get when(){return!e.isCollapsed()},get children(){var n=ln();return _e(n,de(et,{get when(){return t()},keyed:!0,children:a=>(()=>{var i=dn();return i.component=a,i._$owner=an(),i})()})),n}}),null),o}})}function tt(){return un()}nn(["click"]);import{template as pn}from"solid-js/web";import{effect as Gt}from"solid-js/web";import{getOwner as Zt}from"solid-js/web";import{createComponent as hn}from"solid-js/web";import{memo as fn}from"solid-js/web";import{Show as mn}from"solid-js";var Qt=pn("<patchwork-view>",!0,!1,!1),rt=e=>Array.isArray(e)?String(e[0]):String(e);function Zl(e){let r=new Set;return e.filter(t=>{let o=rt(t);return r.has(o)?!1:(r.add(o),!0)})}function Ql(e){return hn(mn,{get when(){return fn(()=>!!Array.isArray(e.slot))()?e.slot:!1},get fallback(){return(()=>{var r=Qt();return r._$owner=Zt(),Gt(()=>r.component=String(e.slot)),r})()},children:r=>(()=>{var t=Qt();return t._$owner=Zt(),Gt(o=>{var n=r()[1],a=r()[0];return n!==o.e&&(t.docUrl=o.e=n),a!==o.t&&(t.toolId=o.t=a),o},{e:void 0,t:void 0}),t})()})}var wn=ke("<div class=threepane__title>"),yn=ke("<div class=threepane__doctitle-tools>"),_n=ke('<button type=button class=frame__sidebar-toggle title="Show context sidebar"aria-label="Show context sidebar">'),xn=ke("<div class=frame__topbar><div class=threepane__spacer>"),kn=ke("<patchwork-view>",!0,!1,!1);function rr(e){let r=()=>e.toolSlots()??[];return(()=>{var t=xn(),o=t.firstChild;return ue(t,pe(ot,{get when(){return e.docUrl()},get children(){var n=wn();return ue(n,pe(Wt,{get docUrl(){return e.docUrl}})),n}}),o),ue(t,pe(ot,{get when(){return tr(()=>!!e.docUrl())()&&r().length},get children(){var n=yn();return ue(n,pe(Cn,{get each(){return r()},children:a=>(()=>{var i=kn();return i._$owner=bn(),er(d=>{var u=rt(a),l=e.docUrl();return u!==d.e&&(i.toolId=d.e=u),l!==d.t&&(i.docUrl=d.t=l),d},{e:void 0,t:void 0}),i})()})),n}}),null),ue(t,pe(ot,{get when(){return tr(()=>!!e.hasContext())()&&e.isRightCollapsed()},get children(){var n=_n();return n.$$click=()=>e.onToggleRight(),vn(n,"aria-pressed",!1),ue(n,pe(tt,{})),n}}),null),er(()=>t.classList.toggle("frame__topbar--left-collapsed",!!e.isLeftCollapsed())),t})()}gn(["click"]);import{template as Ve}from"solid-js/web";import{effect as Dr}from"solid-js/web";import{getOwner as Ir}from"solid-js/web";import{insert as Y}from"solid-js/web";import{createComponent as R}from"solid-js/web";import{memo as Se}from"solid-js/web";import{use as Rr}from"solid-js/web";import{parseAutomergeUrl as Na}from"@automerge/automerge-repo/slim";import{getSuggestedImportUrl as qa,getType as Ba}from"@inkandswitch/patchwork-filesystem";import{getFallbackTool as Ja,getRegistry as Va}from"@inkandswitch/patchwork-plugins";import{createEffect as ut,createMemo as Je,createSignal as K,onCleanup as oe,onMount as Ka,Show as B}from"solid-js";import{template as C}from"solid-js/web";import{delegateEvents as ca}from"solid-js/web";import{setAttribute as Be}from"solid-js/web";import{effect as ct}from"solid-js/web";import"solid-js/web";import{createComponent as D}from"solid-js/web";import{insert as I}from"solid-js/web";import{use as da}from"solid-js/web";import{importPackage as Pa}from"@inkandswitch/patchwork-filesystem";import{registerPlugins as La}from"@inkandswitch/patchwork-plugins";import{createResource as Ma,createSignal as fe,onCleanup as lt,onMount as Oa,Show as q}from"solid-js";import{template as k}from"solid-js/web";import{delegateEvents as Rn}from"solid-js/web";import{effect as fr}from"solid-js/web";import{memo as Fn}from"solid-js/web";import{insert as v}from"solid-js/web";import{createComponent as _}from"solid-js/web";import{use as Pn}from"solid-js/web";import{setAttribute as Ce}from"solid-js/web";import{createResource as oa,createSignal as Ne,For as st,Match as he,onMount as na,Show as z,Switch as dr}from"solid-js";import*as nr from"@automerge/automerge/slim";import{getImportableUrlFromAutomergeUrl as $n}from"@inkandswitch/patchwork-filesystem";var nt=e=>e.startsWith("automerge:");function Sn(e){return e.replace(/[#?].*$/,"")}function ar(e){let r=e.split("#")[1];return r?r.split("|").filter(Boolean):[]}var N=e=>typeof e=="string"&&e.trim()?e.trim():void 0;function En(e){if(typeof e=="string")return N(e);if(e&&typeof e=="object"){let{name:r,email:t}=e,o=N(r),n=N(t);return o&&n?`${o} <${n}>`:o??n}}function ir(e){if(!e||typeof e!="object")return{};let r=e,t=r.supportedDatatypes;return{id:N(r.id),name:N(r.name),type:N(r.type),supportedDatatypes:typeof t=="string"?[t]:Array.isArray(t)?t.filter(o=>typeof o=="string"):void 0}}async function or(e){try{let r=await fetch(e);return r.ok?await r.json():void 0}catch{return}}var Tn=new Set(["dist","build","lib","out","esm","src","public"]);async function An(e){if(nt(e)){let o=$n(e);return or(new URL("package.json",o).href)}let r;try{r=new URL(e)}catch{return}let t=r.pathname.split("/").filter(Boolean);for(/\.[a-z0-9]+$/i.test(t.at(-1)??"")&&t.pop();;){let o=`${r.origin}/${t.join("/")}${t.length?"/":""}`,n=await or(new URL("package.json",o).href);if(n&&typeof n=="object")return n;if(!Tn.has(t.at(-1)?.toLowerCase()??""))return;t.pop()}}async function sr(e){let r=await An(e);if(r)return{name:N(r.name),title:N(r.title),version:N(r.version),description:N(r.description),author:En(r.author),plugins:Array.isArray(r.plugins)?r.plugins.map(ir):void 0}}var He,Dn=1,re=new Map;function In(){if(He)return He;let e=new Worker("/module-loader-worker.js",{type:"module",name:"threepane-package-preview"});return e.addEventListener("message",r=>{let t=r.data,o=t&&re.get(t.id);o&&(re.delete(t.id),t.type==="descriptors"?o.resolve(t.descriptors.map(ir)):o.reject(new Error(t.error)))}),e.addEventListener("error",r=>{let t=new Error(`the background worker stopped: ${r.message??"no reason given"}`);for(let o of re.values())o.reject(t);re.clear(),He=void 0}),He=e,e}function lr(e,r=15e3){let t=Dn++;return new Promise((o,n)=>{let a=setTimeout(()=>{re.delete(t)&&n(new Error("it took too long to answer"))},r);re.set(t,{resolve:i=>{clearTimeout(a),o(i)},reject:i=>{clearTimeout(a),n(i)}});try{In().postMessage({type:"discover",id:t,url:e})}catch(i){clearTimeout(a),re.delete(t),n(i instanceof Error?i:new Error(String(i)))}})}async function cr(e,r){let t=await e.find(Sn(r)),o=t.doc();await new Promise(i=>setTimeout(i,0));let n=nr.getChangesMetaSince(o,[]),a=new Map;for(let i of n){let d=i.time??0,u=a.get(i.actor);if(!u){a.set(i.actor,{actor:i.actor,changes:1,first:d,last:d});continue}u.changes++,d&&(!u.first||d<u.first)&&(u.first=d),d>u.last&&(u.last=d)}return{heads:[...t.heads()],changes:n.length,writers:[...a.values()].sort((i,d)=>d.changes-i.changes)}}var Ln=k("<button type=button class=doc-card__link>see package details"),Mn=k("<p class=pkg-about__quiet>reading\u2026"),On=k("<p class=pkg-about__quiet>no package.json."),zn=k("<dl class=pkg-about__facts><dt>plugins</dt><dd>"),Un=k("<dt>pinned"),it=k("<dd>"),at=k("<dt>history"),jn=k("<dd class=pkg-about__quiet>reading\u2026"),Wn=k("<dd class=pkg-about__quiet>couldn't get its folder."),Hn=k('<div class=pkg-about popover=auto><header class=pkg-about__header><h3 class=doc-card__rough></h3><button type=button class="doc-card__link pkg-about__close"popovertargetaction=hide aria-label=close>\xD7</button></header><section class="pkg-about__section pkg-about__section--claims"><h4>self-reported <span class=pkg-about__tag>unverified</span></h4></section><section class=pkg-about__section><h4>source</h4><dl class=pkg-about__facts><dt>url</dt><dd><code class="doc-card__code doc-card__url">'),Nn=k("<span class=pkg-about__version> "),qn=k("<button type=button class=doc-card__link>"),Bn=k("<span class=pkg-about__quiet>unknown until loaded"),Jn=k("<p class=doc-card__notice>"),Vn=k("<dt>heads"),Kn=k("<dd> <!>, <!> <p class=pkg-about__quiet>writers are devices, not people. folder only."),Yn=k("<dt>"),mr=k("<ul class=pkg-about__list>"),Xn=k("<span>nothing"),Gn=k("<span class=pkg-about__quiet> for "),Zn=k("<li>"),gr=k("<span class=pkg-about__quiet> \xB7 "),Qn=k("<span class=pkg-about__heads>"),ea=k("<code class=doc-card__code>"),ta=k("<li class=pkg-about__quiet>and <!> more"),ra=k("<li><code class=doc-card__code></code> <!> "),aa=0;function br(e){let r=`pkg-about-${++aa}`,t=nt(e.url),o=ar(e.url),[n,a]=Ne(!1),[i]=oa(()=>n()&&t?e.url:void 0,c=>cr(e.repo,c)),[d,u]=Ne(!1),[l,s]=Ne(),[h,f]=Ne();async function b(){if(window.confirm(`Listing its plugins runs the package's code in a background worker.
3
3
 
4
4
  ${e.url}
5
5
 
6
6
  It can use the network and this site's stored data, including your documents. Only run it if you trust where it came from.
7
7
 
8
- Run it?`)){f(void 0),l(!0);try{s(await lr(e.url))}catch(g){f(g?.message??String(g))}finally{l(!1)}}}let y;ra(()=>{y.addEventListener("toggle",d=>{d.newState==="open"&&a(!0)})});let x=()=>e.claims?.title??e.claims?.name??"package",p=()=>c()??e.claims?.plugins;return[(()=>{var d=Fn();return Ce(d,"popovertarget",r),d})(),(()=>{var d=jn(),g=d.firstChild,$=g.firstChild,F=$.nextSibling,P=g.nextSibling,j=P.firstChild,Q=P.nextSibling,O=Q.firstChild,J=O.nextSibling,ge=J.firstChild,be=ge.nextSibling,De=be.firstChild,X=y;return typeof X=="function"?Rn(X,d):y=d,Ce(d,"id",r),v($,x,null),v($,_(z,{get when(){return e.claims?.version},children:E=>(()=>{var S=Wn(),G=S.firstChild;return v(S,E,null),S})()}),null),Ce(F,"popovertarget",r),v(P,_(dr,{get children(){return[_(he,{get when(){return e.claimsLoading},get children(){return Pn()}}),_(he,{get when(){return In(()=>!e.claims)()&&!c()},get children(){return Ln()}}),_(he,{when:!0,get children(){var E=Mn(),S=E.firstChild,G=S.nextSibling;return v(E,_(qe,{label:"name",get value(){return e.claims?.name}}),S),v(E,_(qe,{label:"title",get value(){return e.claims?.title}}),S),v(E,_(qe,{label:"author",get value(){return e.claims?.author}}),S),v(E,_(qe,{label:"description",get value(){return e.claims?.description}}),S),v(G,_(z,{get when(){return p()},get fallback(){return _(z,{when:t,get fallback(){return Hn()},get children(){var M=Nn();return M.$$click=()=>void b(),v(M,()=>u()?"listing\u2026":"list them"),fr(()=>M.disabled=u()),M}})},children:M=>_(na,{get plugins(){return M()}})}),null),v(G,_(z,{get when(){return h()},children:M=>(()=>{var m=qn();return v(m,M),m})()}),null),E}})]}}),null),v(De,()=>e.url),v(J,_(z,{get when(){return o.length},get children(){return[On(),(()=>{var E=it();return v(E,_(ur,{heads:o})),E})()]}}),null),v(J,_(z,{when:t,get children(){return _(dr,{get children(){return[_(he,{get when(){return i.loading},get children(){return[at(),zn()]}}),_(he,{get when(){return i.error},get children(){return[at(),Un()]}}),_(he,{get when(){return i()},children:E=>[Bn(),(()=>{var S=it();return v(S,_(ur,{get heads(){return E().heads}})),S})(),at(),(()=>{var S=Jn(),G=S.firstChild,M=G.nextSibling,m=M.nextSibling,w=m.nextSibling,T=w.nextSibling,A=T.nextSibling;return v(S,()=>E().changes,G),v(S,()=>E().changes===1?"change":"changes",M),v(S,()=>E().writers.length,w),v(S,()=>E().writers.length===1?"writer":"writers",A),v(S,_(aa,{get writers(){return E().writers}}),A),S})()]})]}})}}),null),d})()]}function qe(e){return _(z,{get when(){return e.value},get children(){return[(()=>{var r=Vn();return v(r,()=>e.label),r})(),(()=>{var r=it();return v(r,()=>e.value),r})()]}})}function na(e){return _(z,{get when(){return e.plugins.length},get fallback(){return Kn()},get children(){var r=mr();return v(r,_(st,{get each(){return e.plugins},children:t=>(()=>{var o=Xn();return v(o,()=>t.name??t.id??"(unnamed)",null),v(o,_(z,{get when(){return t.type},children:n=>(()=>{var a=gr(),i=a.firstChild;return v(a,n,null),a})()}),null),v(o,_(z,{get when(){return t.supportedDatatypes?.length},get children(){var n=Yn(),a=n.firstChild;return v(n,()=>t.supportedDatatypes.join(", "),null),n}}),null),o})()})),r}})}function ur(e){return(()=>{var r=Gn();return v(r,_(st,{get each(){return e.heads},children:t=>(()=>{var o=Zn();return Ce(o,"title",t),v(o,()=>t.slice(0,7)),o})()})),r})()}var pr=6;function aa(e){let r=()=>e.writers.length-pr;return(()=>{var t=mr();return v(t,_(st,{get each(){return e.writers.slice(0,pr)},children:o=>(()=>{var n=ea(),a=n.firstChild,i=a.nextSibling,u=i.nextSibling,l=u.nextSibling;return v(a,()=>o.actor.slice(0,8)),v(n,()=>o.changes,u),v(n,()=>o.changes===1?"change":"changes",null),v(n,_(z,{get when(){return o.last},get children(){var c=gr(),s=c.firstChild;return v(c,()=>ia(o),null),c}}),null),fr(()=>Ce(a,"title",o.actor)),n})()}),null),v(t,_(z,{get when(){return r()>0},get children(){var o=Qn(),n=o.firstChild,a=n.nextSibling,i=a.nextSibling;return v(o,r,a),o}}),null),t})()}function hr(e){return new Date(e*1e3).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}function ia(e){let r=hr(e.last),t=e.first?hr(e.first):r;return t===r?r:`${t} \u2013 ${r}`}Dn(["click"]);var ca=C("<div class=doc-card><svg class=doc-card__defs aria-hidden=true><filter id=doc-card-rough><feTurbulence type=fractalNoise baseFrequency=0.04 numOctaves=2 seed=1></feTurbulence><feDisplacementMap in=SourceGraphic scale=1.4></feDisplacementMap></filter></svg><div class=doc-card__sheet><h2 class=doc-card__rough>"),da=C('<div class="doc-card doc-card--finding"role=status><span class=doc-card__dot></span><span class=doc-card__finding-label>finding this doc\u2026'),ua=C("<p>it's a <code class=doc-card__code></code>.<br>nothing here opens one yet."),pa=C("<p class=doc-card__links>"),ha=C("<p>it'll open here if a package adds a tool for it."),fa=C("<p>the doc suggests "),dt=C('<div class=doc-card__actions><button type=button class="doc-card__button doc-card__button--primary">'),ma=C("<strong class=pkg-line>"),ga=C("<span class=pkg-line__version> "),ba=C("<p class=doc-card__notice>couldn't load it: "),va=C("<button type=button class=doc-card__link>open doc with "),wa=C("<p>we couldn't get it from anywhere we looked.<br>that might mean:"),ya=C("<ul class=doc-card__reasons><li>the person who sent you the link hasn't given you access yet</li><li>it hasn't finished syncing from their device yet</li><li>something's wrong with the "),_a=C("<p>we'll keep looking. if it turns up, it'll open right here."),xa=C("<button type=button class=doc-card__sync>sync server"),ka=C("<span class=doc-card__sync-told role=status> (<!>)"),Ca=C("<p>found it, but it's private."),$a=C("<p>ask the owner to share it. if you're not in their phonebook, send them your card."),Sa=C("<p>it'll open right here once they do."),Ea=C("<p>the doc is here, but the tool that shows it didn't load."),Ta=C("<p class=doc-card__notice>"),Aa=C("<p>a bit of it got lost or changed on the way here, so it can't point at any doc. maybe a character dropped when it was copied, or the link got cut short."),Da=C("<p>if someone sent it to you, ask them for the link again."),Ia=C('<p class=doc-card__aside><code class="doc-card__code doc-card__url">');function $e(e){let r;return La(()=>{r.dispatchEvent(new CustomEvent("patchwork:no-tool",{bubbles:!0,composed:!0,detail:{url:e.url}}))}),(()=>{var t=ca(),o=t.firstChild,n=o.nextSibling,a=n.firstChild,i=r;return typeof i=="function"?la(i,t):r=t,I(a,()=>e.title),I(n,()=>e.children,null),t})()}function vr(){return da()}function wr(e){let[r,t]=fe(!1),[o,n]=fe(),[a]=Pa(()=>e.suggestion,l=>sr(l).catch(()=>{}));async function i(l){if(window.confirm(`Load this package?
8
+ Run it?`)){f(void 0),u(!0);try{s(await lr(e.url))}catch(g){f(g?.message??String(g))}finally{u(!1)}}}let y;na(()=>{y.addEventListener("toggle",c=>{c.newState==="open"&&a(!0)})});let x=()=>e.claims?.title??e.claims?.name??"package",p=()=>l()??e.claims?.plugins;return[(()=>{var c=Ln();return Ce(c,"popovertarget",r),c})(),(()=>{var c=Hn(),g=c.firstChild,$=g.firstChild,F=$.nextSibling,P=g.nextSibling,j=P.firstChild,Q=P.nextSibling,O=Q.firstChild,J=O.nextSibling,ge=J.firstChild,be=ge.nextSibling,De=be.firstChild,X=y;return typeof X=="function"?Pn(X,c):y=c,Ce(c,"id",r),v($,x,null),v($,_(z,{get when(){return e.claims?.version},children:E=>(()=>{var S=Nn(),G=S.firstChild;return v(S,E,null),S})()}),null),Ce(F,"popovertarget",r),v(P,_(dr,{get children(){return[_(he,{get when(){return e.claimsLoading},get children(){return Mn()}}),_(he,{get when(){return Fn(()=>!e.claims)()&&!l()},get children(){return On()}}),_(he,{when:!0,get children(){var E=zn(),S=E.firstChild,G=S.nextSibling;return v(E,_(qe,{label:"name",get value(){return e.claims?.name}}),S),v(E,_(qe,{label:"title",get value(){return e.claims?.title}}),S),v(E,_(qe,{label:"author",get value(){return e.claims?.author}}),S),v(E,_(qe,{label:"description",get value(){return e.claims?.description}}),S),v(G,_(z,{get when(){return p()},get fallback(){return _(z,{when:t,get fallback(){return Bn()},get children(){var M=qn();return M.$$click=()=>void b(),v(M,()=>d()?"listing\u2026":"list them"),fr(()=>M.disabled=d()),M}})},children:M=>_(ia,{get plugins(){return M()}})}),null),v(G,_(z,{get when(){return h()},children:M=>(()=>{var m=Jn();return v(m,M),m})()}),null),E}})]}}),null),v(De,()=>e.url),v(J,_(z,{get when(){return o.length},get children(){return[Un(),(()=>{var E=it();return v(E,_(ur,{heads:o})),E})()]}}),null),v(J,_(z,{when:t,get children(){return _(dr,{get children(){return[_(he,{get when(){return i.loading},get children(){return[at(),jn()]}}),_(he,{get when(){return i.error},get children(){return[at(),Wn()]}}),_(he,{get when(){return i()},children:E=>[Vn(),(()=>{var S=it();return v(S,_(ur,{get heads(){return E().heads}})),S})(),at(),(()=>{var S=Kn(),G=S.firstChild,M=G.nextSibling,m=M.nextSibling,w=m.nextSibling,T=w.nextSibling,A=T.nextSibling;return v(S,()=>E().changes,G),v(S,()=>E().changes===1?"change":"changes",M),v(S,()=>E().writers.length,w),v(S,()=>E().writers.length===1?"writer":"writers",A),v(S,_(sa,{get writers(){return E().writers}}),A),S})()]})]}})}}),null),c})()]}function qe(e){return _(z,{get when(){return e.value},get children(){return[(()=>{var r=Yn();return v(r,()=>e.label),r})(),(()=>{var r=it();return v(r,()=>e.value),r})()]}})}function ia(e){return _(z,{get when(){return e.plugins.length},get fallback(){return Xn()},get children(){var r=mr();return v(r,_(st,{get each(){return e.plugins},children:t=>(()=>{var o=Zn();return v(o,()=>t.name??t.id??"(unnamed)",null),v(o,_(z,{get when(){return t.type},children:n=>(()=>{var a=gr(),i=a.firstChild;return v(a,n,null),a})()}),null),v(o,_(z,{get when(){return t.supportedDatatypes?.length},get children(){var n=Gn(),a=n.firstChild;return v(n,()=>t.supportedDatatypes.join(", "),null),n}}),null),o})()})),r}})}function ur(e){return(()=>{var r=Qn();return v(r,_(st,{get each(){return e.heads},children:t=>(()=>{var o=ea();return Ce(o,"title",t),v(o,()=>t.slice(0,7)),o})()})),r})()}var pr=6;function sa(e){let r=()=>e.writers.length-pr;return(()=>{var t=mr();return v(t,_(st,{get each(){return e.writers.slice(0,pr)},children:o=>(()=>{var n=ra(),a=n.firstChild,i=a.nextSibling,d=i.nextSibling,u=d.nextSibling;return v(a,()=>o.actor.slice(0,8)),v(n,()=>o.changes,d),v(n,()=>o.changes===1?"change":"changes",null),v(n,_(z,{get when(){return o.last},get children(){var l=gr(),s=l.firstChild;return v(l,()=>la(o),null),l}}),null),fr(()=>Ce(a,"title",o.actor)),n})()}),null),v(t,_(z,{get when(){return r()>0},get children(){var o=ta(),n=o.firstChild,a=n.nextSibling,i=a.nextSibling;return v(o,r,a),o}}),null),t})()}function hr(e){return new Date(e*1e3).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}function la(e){let r=hr(e.last),t=e.first?hr(e.first):r;return t===r?r:`${t} \u2013 ${r}`}Rn(["click"]);var ua=C("<div class=doc-card><svg class=doc-card__defs aria-hidden=true><filter id=doc-card-rough><feTurbulence type=fractalNoise baseFrequency=0.04 numOctaves=2 seed=1></feTurbulence><feDisplacementMap in=SourceGraphic scale=1.4></feDisplacementMap></filter></svg><div class=doc-card__sheet><h2 class=doc-card__rough>"),pa=C('<div class="doc-card doc-card--finding"role=status><span class=doc-card__dot></span><span class=doc-card__finding-label>finding this doc\u2026'),ha=C("<p>it's a <code class=doc-card__code></code>.<br>nothing here opens one yet."),fa=C("<p class=doc-card__links>"),ma=C("<p>it'll open here if a package adds a tool for it."),ga=C("<p>the doc suggests "),dt=C('<div class=doc-card__actions><button type=button class="doc-card__button doc-card__button--primary">'),ba=C("<strong class=pkg-line>"),va=C("<span class=pkg-line__version> "),wa=C("<p class=doc-card__notice>couldn't load it: "),ya=C("<button type=button class=doc-card__link>open doc with "),_a=C("<p>we couldn't get it from anywhere we looked.<br>that might mean:"),xa=C("<ul class=doc-card__reasons><li>the person who sent you the link hasn't given you access yet</li><li>it hasn't finished syncing from their device yet</li><li>something's wrong with the "),ka=C("<p>we'll keep looking. if it turns up, it'll open right here."),Ca=C("<button type=button class=doc-card__sync>sync server"),$a=C("<span class=doc-card__sync-told role=status> (<!>)"),Sa=C("<p>found it, but it's private."),Ea=C("<p>ask the owner to share it. if you're not in their phonebook, send them your card."),Ta=C("<p>it'll open right here once they do."),Aa=C("<p>the doc is here, but the tool that shows it didn't load."),Da=C("<p class=doc-card__notice>"),Ia=C("<p>a bit of it got lost or changed on the way here, so it can't point at any doc. maybe a character dropped when it was copied, or the link got cut short."),Ra=C("<p>if someone sent it to you, ask them for the link again."),Fa=C('<p class=doc-card__aside><code class="doc-card__code doc-card__url">');function $e(e){let r;return Oa(()=>{r.dispatchEvent(new CustomEvent("patchwork:no-tool",{bubbles:!0,composed:!0,detail:{url:e.url}}))}),(()=>{var t=ua(),o=t.firstChild,n=o.nextSibling,a=n.firstChild,i=r;return typeof i=="function"?da(i,t):r=t,I(a,()=>e.title),I(n,()=>e.children,null),t})()}function vr(){return pa()}function wr(e){let[r,t]=fe(!1),[o,n]=fe(),[a]=Ma(()=>e.suggestion,u=>sr(u).catch(()=>{}));async function i(u){if(window.confirm(`Load this package?
9
9
 
10
- ${l}
10
+ ${u}
11
11
 
12
- Its code runs in this page and can read and change your documents. Only load it if you trust where it came from.`)){n(void 0),t(!0);try{let s=await Ra(l);if(!Array.isArray(s?.plugins))throw new Error("it doesn't export any plugins");Fa(s.plugins,l)}catch(s){console.error(`couldn't load the package at ${l}`,s),n(s?.message??String(s))}finally{t(!1)}}}let u=()=>{let l=a();return l&&(l.title||l.name)?l:void 0};return D($e,{get url(){return e.url},title:"no tool for this",get children(){return[(()=>{var l=ua(),c=l.firstChild,s=c.nextSibling;return I(s,()=>e.type),l})(),D(q,{get when(){return e.suggestion},get fallback(){return ha()},children:l=>[(()=>{var c=fa(),s=c.firstChild;return I(c,D(q,{get when(){return u()},fallback:"a package.",children:h=>[(()=>{var f=ma();return I(f,()=>h().title??h().name),f})(),D(q,{get when(){return h().version},children:f=>(()=>{var b=ga(),y=b.firstChild;return I(b,f,null),b})()}),"."]}),null),c})(),(()=>{var c=dt(),s=c.firstChild;return s.$$click=()=>void i(l()),I(s,()=>r()?"loading\u2026":"load package"),ct(()=>s.disabled=r()),c})(),D(q,{get when(){return o()},children:c=>(()=>{var s=ba(),h=s.firstChild;return I(s,c,null),s})()})]}),D(q,{get when(){return e.suggestion||e.anything},get children(){var l=pa();return I(l,D(q,{get when(){return e.suggestion},children:c=>D(br,{get url(){return c()},get repo(){return e.repo},get claims(){return a()},get claimsLoading(){return a.loading}})}),null),I(l,D(q,{get when(){return e.anything},children:c=>(()=>{var s=va(),h=s.firstChild;return s.$$click=()=>e.onPeek(c().id),I(s,()=>c().name.toLowerCase(),null),s})()}),null),l}})]}})}function yr(e){let r=e.repo,t=typeof r.isSubductionConnected=="function",[o,n]=fe(t?r.isSubductionConnected():void 0),a=i=>{let u=o();n(i),i&&u===!1&&e.onRetry()};if(t&&r.on&&r.off){let i=u=>a(u.connected);r.on("subduction-connection",i),lt(()=>r.off("subduction-connection",i))}if(t){let i=setInterval(()=>a(r.isSubductionConnected()),2e3);lt(()=>clearInterval(i))}return D($e,{get url(){return e.url},title:"can't load this doc",get children(){return[wa(),(()=>{var i=ya(),u=i.firstChild,l=u.nextSibling,c=l.nextSibling,s=c.firstChild;return I(c,D(q,{get when(){return o()!==void 0},fallback:"sync server",get children(){return D(Ma,{get connected(){return o()}})}}),null),i})(),_a()]}})}function Ma(e){let[r,t]=fe(!1),o=()=>`sync server: ${e.connected?"connected":"disconnected"}`;return[(()=>{var n=xa();return n.$$click=()=>t(a=>!a),ct(a=>{var i=e.connected?"":void 0,u=o(),l=o(),c=r();return i!==a.e&&Be(n,"data-connected",a.e=i),u!==a.t&&Be(n,"title",a.t=u),l!==a.a&&Be(n,"aria-label",a.a=l),c!==a.o&&Be(n,"aria-expanded",a.o=c),a},{e:void 0,t:void 0,a:void 0,o:void 0}),n})(),D(q,{get when(){return r()},get children(){var n=ka(),a=n.firstChild,i=a.nextSibling,u=i.nextSibling;return I(n,()=>e.connected?"connected":"disconnected",i),n}})]}function _r(e){let[r,t]=fe(!1),o;lt(()=>clearTimeout(o));let n=async()=>{e.card&&(await navigator.clipboard.writeText(e.card),t(!0),clearTimeout(o),o=setTimeout(()=>t(!1),1500))};return D($e,{get url(){return e.url},title:"not shared with you yet",get children(){return[Ca(),$a(),Sa(),D(q,{get when(){return e.card},get children(){var a=dt(),i=a.firstChild;return i.$$click=()=>void n(),I(i,()=>r()?"copied":"copy my card"),a}})]}})}function xr(e){let[r,t]=fe(!1),o=async()=>{t(!0);try{await e.onRetry()}finally{t(!1)}};return D($e,{get url(){return e.url},get title(){return`can't load ${e.name}`},get children(){return[Ea(),(()=>{var n=Ta();return I(n,()=>e.error),n})(),(()=>{var n=dt(),a=n.firstChild;return a.$$click=()=>void o(),I(a,()=>r()?"trying\u2026":"try again"),ct(()=>a.disabled=r()),n})()]}})}function kr(e){return D($e,{get url(){return e.url},title:"this link is broken",get children(){return[Aa(),Da(),(()=>{var r=Ia(),t=r.firstChild;return I(t,()=>e.url),r})()]}})}sa(["click"]);import*as $r from"@inkandswitch/patchwork-elements";import{isKeyhiveDoc as Oa}from"@inkandswitch/patchwork-plugins";var Cr=$r.hasActiveAccess,Sr=()=>globalThis.hive;async function Er(e,r){if(Oa(r))try{if(Cr)return await Cr(e,r);let t=e.active.individual.id;return!!(e.bestAccessForDoc?await e.bestAccessForDoc(t,r):await e.accessForDoc(t,r))}catch{return}}function Tr(e,r){return e.networkAdapter?.on("ingest-remote",r),()=>e.networkAdapter?.off("ingest-remote",r)}function Ar(e){try{let r="";for(let t of e.active.contactCard.toBytes())r+=String.fromCharCode(t);return btoa(r)}catch{return}}var za=Ve("<div class=document-view>"),Fr=Ve("<patchwork-view>",!0,!1,!1),Ua=Ve("<div class=placeholder>Select a document in the sidebar"),ja=Ve("<div class=doc-stack>"),Va=5e3;function Pr({viewKey:e,selectedDocUrl:r,toolId:t,ref:o}){let n,[a,i]=K();return Ja(()=>{i(n.closest("repo-provider")?.repo??null)}),(()=>{var u=za();return Rr(l=>{n=l,o?.(l)},u),Y(u,R(B,{get when(){return Se(()=>a()!==void 0)()&&e()},keyed:!0,children:l=>R(B,{get when(){return a()},get fallback(){return(()=>{var c=Fr();return c._$owner=Ir(),Dr(s=>{var h=r(),f=t();return h!==s.e&&(c.docUrl=s.e=h),f!==s.t&&(c.toolId=s.t=f),s},{e:void 0,t:void 0}),c})()},children:c=>R(Ka,{get url(){return r()},toolId:t,get repo(){return c()}})})}),null),Y(u,(()=>{var l=Se(()=>!r());return()=>l()&&Ua()})(),null),u})()}function Ka(e){let r=Ba("patchwork:tool"),[t,o]=K(0);oe(r.on("changed",()=>{o(m=>m+1)}));let[n,a]=K({state:"finding"}),[i,u]=K(),l=()=>e.toolId()??i(),[c,s]=K(!1),[h,f]=K(0),b=!1;oe(()=>b=!0);async function y(){try{let m=await e.repo.find(e.url);if(b)return;let w=n().state==="unavailable";a({state:"ready",doc:m.doc()}),w&&!c()&&f(T=>T+1)}catch(m){if(b)return;let w=Xa(m);a({state:w?"invalid":"unavailable"}),w||p(T=>T+1)}}let[x,p]=K(0),d,g;function $(){g?.(),d=Ya(e.repo,e.url),g=d?.subscribe(m=>{m.state==="ready"&&n().state==="unavailable"&&y()})}oe(()=>g?.()),y(),$();function F(){let m=e.repo;if(typeof m.resyncSubduction=="function")try{m.resyncSubduction(Wa(e.url).documentId)}catch{}}let P;oe(()=>clearTimeout(P));function j(m=1e3){F(),clearTimeout(P),P=setTimeout(()=>void y(),m)}ut(()=>{let m=x();m===0||n().state!=="unavailable"||c()||(j(Math.min(3e4,3e3*2**(m-1))),oe(()=>clearTimeout(P)))});let Q=Je(()=>{t();let m=n();if(m.state!=="ready")return m;let w=m.doc,T=w?Ha(w):void 0;if(!T)return{state:"open",toolId:void 0};let A=l(),N;if(!A){let W=Lr(()=>qa(w));W&&Ga(W.supportedDatatypes,T)?N={id:W.id,name:W.name}:W&&(A=W.id)}return A&&r.get(A)?{state:"open",toolId:A}:{state:"no-tool",type:T,suggestion:Na(w),anything:N}}),O=Je(()=>Q().state),J=Je(()=>{let m=Q();return m.state==="open"?m.toolId:void 0}),[ge,be]=K();async function De(m){try{return await r.load(m),J()===m&&be(void 0),!0}catch(w){return J()===m&&be({id:m,message:w instanceof Error?w.message:String(w)}),!1}}ut(()=>{let m=J();be(void 0),m&&De(m)});let X=Sr(),[E,S]=K();ut(()=>{if(!X||O()!=="open"){S(void 0);return}let m=e.url,w=!0,T=()=>void Er(X,m).then(W=>{w&&S(W)});T();let A=Tr(X,T),N=setInterval(()=>{E()===!1&&T()},Va);oe(()=>{w=!1,A(),clearInterval(N)})});async function G(){let m=ge()?.id;m&&await De(m)&&f(w=>w+1)}let M=Je(()=>{let m=Q();return m.state==="no-tool"?m:void 0});return(()=>{var m=ja();return Rr(w=>{let T=A=>{let N=A.detail;N?.url&&N.url!==e.url||(s(!0),n().state==="unavailable"&&y())};w.addEventListener("patchwork:mounted",T),oe(()=>w.removeEventListener("patchwork:mounted",T))},m),Y(m,R(B,{get when(){return Se(()=>O()==="open")()&&!ge()||O()==="unavailable"},get children(){return R(B,{get when(){return h()+1},keyed:!0,children:w=>(()=>{var T=Fr();return T._$owner=Ir(),Dr(A=>{var N=e.url,W=l();return N!==A.e&&(T.docUrl=A.e=N),W!==A.t&&(T.toolId=A.t=W),A},{e:void 0,t:void 0}),T})()})}}),null),Y(m,R(B,{get when(){return O()==="finding"},get children(){return R(vr,{})}}),null),Y(m,R(B,{get when(){return Se(()=>O()==="open")()&&E()===!1},get children(){return R(_r,{get url(){return e.url},get card(){return X&&Ar(X)}})}}),null),Y(m,R(B,{get when(){return ge()},children:w=>R(xr,{get url(){return e.url},get name(){return r.get(w().id)?.name??w().id},get error(){return w().message},onRetry:G})}),null),Y(m,R(B,{get when(){return O()==="invalid"},get children(){return R(kr,{get url(){return e.url}})}}),null),Y(m,R(B,{get when(){return Se(()=>O()==="unavailable")()&&!c()},get children(){return R(yr,{get url(){return e.url},get repo(){return e.repo},onRetry:j})}}),null),Y(m,R(B,{get when(){return M()},children:w=>R(wr,{get url(){return e.url},get type(){return w().type},get suggestion(){return w().suggestion},get anything(){return w().anything},onPeek:u,get repo(){return e.repo}})}),null),m})()}function Ya(e,r){let t=e.findWithProgress;if(typeof t=="function")return Lr(()=>{let o=t.call(e,r);return typeof o?.subscribe=="function"&&typeof o?.peek=="function"?o:void 0})}function Xa(e){let r=e?.message??String(e);return/invalid (automergeurl|document url|documentid|document id)/i.test(r)}function Ga(e,r){let t=e==="*"?["*"]:e??[];return t.includes("*")&&!t.includes(r)}function Lr(e){try{return e()}catch{return}}var Za=Ae("<patchwork-view component=patchwork-draft-state-provider>",!0,!1,!1),Qa=Ae("<patchwork-view component=patchwork-draft-overlay-provider>",!0,!1,!1),ei=Ae("<div class=frame__main-column><div class=frame__doc-column><div class=main-area>"),ti=Ae("<patchwork-view component=patchwork-comments-provider><patchwork-view component=patchwork-focus-provider>",!0,!1,!1),ri=Ae("<patchwork-view>",!0,!1,!1);function zr(e){let[r,t]=Z(e.initialRightCollapsed()),[o,n]=Z(e.initialRightWidth());Mr(Or(r,f=>{try{localStorage.setItem(V.rightCollapsed,String(f))}catch{}},{defer:!0})),Mr(Or(o,f=>{try{localStorage.setItem(V.rightWidth,String(f))}catch{}},{defer:!0}));let a=Ge("right",{isCollapsed:r,setCollapsed:t,setWidth:n});ni(()=>{let f=()=>t(!0);window.addEventListener(Ie,f),oi(()=>window.removeEventListener(Ie,f))});let[i,u]=Xe(Z(),{name:V.contextToolId}),[l,c]=Z(),s=ee("patchwork-draft-state-provider",l),h=()=>s()?l():void 0;return U(me,{get when(){return e.selectedDocUrl()},keyed:!0,children:f=>(()=>{var b=Za();return Te(c,b),b.docUrl=f,b._$owner=Ee(),ne(b,U(me,{get when(){return h()},children:y=>U(ai,{get host(){return y()},get setMainDocElement(){return e.setMainDocElement},get selectedDocUrl(){return e.selectedDocUrl},get selectedToolId(){return e.selectedToolId},get doctitleSlots(){return e.doctitleSlots},get isLeftCollapsed(){return e.isLeftCollapsed},isRightSidebarCollapsed:r,setIsRightSidebarCollapsed:t,rightSidebarWidth:o,get handleMouseDown(){return a.handleMouseDown},get handleToggleClick(){return a.handleToggleClick},selectedContextToolId:i,setSelectedContextToolId:u})})),b})()})}function ai(e){let r=ae("context-tool"),t=()=>r().length>0,o=pt(()=>e.selectedDocUrl()),[n,a]=Z(),i=ee("patchwork-draft-overlay-provider",n),[u,l]=Z(),c=ee("patchwork-comments-provider",u),[s,h]=Z(),f=ee("patchwork-focus-provider",s),b=pt(()=>i()&&c()&&f()),y=ae("document-provider"),x=pt(()=>y().map(p=>p.id),[],{equals:(p,d)=>p.length===d.length&&p.every((g,$)=>g===d[$])});return(()=>{var p=Qa();return Te(a,p),p._$owner=Ee(),ne(p,U(Ur,{get ids(){return x()},render:()=>(()=>{var d=ti(),g=d.firstChild;return Te(l,d),d._$owner=Ee(),Te(h,g),g._$owner=Ee(),ne(g,U(me,{get when(){return b()},get children(){var $=ei(),F=$.firstChild,P=F.firstChild;return ne(F,U(rr,{get docUrl(){return e.selectedDocUrl},get toolSlots(){return e.doctitleSlots},get isLeftCollapsed(){return e.isLeftCollapsed},hasContext:t,get isRightCollapsed(){return e.isRightSidebarCollapsed},onToggleRight:()=>e.setIsRightSidebarCollapsed(j=>!j)}),P),ne(P,U(Pr,{viewKey:o,get selectedDocUrl(){return e.selectedDocUrl},get toolId(){return e.selectedToolId},ref:j=>e.setMainDocElement?.(j)})),ne($,U(me,{get when(){return t()},get children(){return U(Xt,{get selectedToolId(){return e.selectedContextToolId},get setSelectedToolId(){return e.setSelectedContextToolId},get isCollapsed(){return e.isRightSidebarCollapsed},get width(){return e.rightSidebarWidth},get onMouseDown(){return e.handleMouseDown},get onToggleClick(){return e.handleToggleClick},onCollapse:()=>e.setIsRightSidebarCollapsed(!0)})}}),null),$}})),d})()})),p})()}function Ur(e){return U(me,{get when(){return e.ids[0]},keyed:!0,get fallback(){return e.render()},children:r=>{let[t,o]=Z(),n=ee(r,t);return(()=>{var a=ri();return Te(o,a),a.component=r,a._$owner=Ee(),ne(a,U(me,{get when(){return n()},get children(){return U(Ur,{get ids(){return e.ids.slice(1)},get render(){return e.render}})}})),a})()}})}var Ke=`:root,
12
+ Its code runs in this page and can read and change your documents. Only load it if you trust where it came from.`)){n(void 0),t(!0);try{let s=await Pa(u);if(!Array.isArray(s?.plugins))throw new Error("it doesn't export any plugins");La(s.plugins,u)}catch(s){console.error(`couldn't load the package at ${u}`,s),n(s?.message??String(s))}finally{t(!1)}}}let d=()=>{let u=a();return u&&(u.title||u.name)?u:void 0};return D($e,{get url(){return e.url},title:"no tool for this",get children(){return[(()=>{var u=ha(),l=u.firstChild,s=l.nextSibling;return I(s,()=>e.type),u})(),D(q,{get when(){return e.suggestion},get fallback(){return ma()},children:u=>[(()=>{var l=ga(),s=l.firstChild;return I(l,D(q,{get when(){return d()},fallback:"a package.",children:h=>[(()=>{var f=ba();return I(f,()=>h().title??h().name),f})(),D(q,{get when(){return h().version},children:f=>(()=>{var b=va(),y=b.firstChild;return I(b,f,null),b})()}),"."]}),null),l})(),(()=>{var l=dt(),s=l.firstChild;return s.$$click=()=>void i(u()),I(s,()=>r()?"loading\u2026":"load package"),ct(()=>s.disabled=r()),l})(),D(q,{get when(){return o()},children:l=>(()=>{var s=wa(),h=s.firstChild;return I(s,l,null),s})()})]}),D(q,{get when(){return e.suggestion||e.anything},get children(){var u=fa();return I(u,D(q,{get when(){return e.suggestion},children:l=>D(br,{get url(){return l()},get repo(){return e.repo},get claims(){return a()},get claimsLoading(){return a.loading}})}),null),I(u,D(q,{get when(){return e.anything},children:l=>(()=>{var s=ya(),h=s.firstChild;return s.$$click=()=>e.onPeek(l().id),I(s,()=>l().name.toLowerCase(),null),s})()}),null),u}})]}})}function yr(e){let r=e.repo,t=typeof r.isSubductionConnected=="function",[o,n]=fe(t?r.isSubductionConnected():void 0),a=i=>{let d=o();n(i),i&&d===!1&&e.onRetry()};if(t&&r.on&&r.off){let i=d=>a(d.connected);r.on("subduction-connection",i),lt(()=>r.off("subduction-connection",i))}if(t){let i=setInterval(()=>a(r.isSubductionConnected()),2e3);lt(()=>clearInterval(i))}return D($e,{get url(){return e.url},title:"can't load this doc",get children(){return[_a(),(()=>{var i=xa(),d=i.firstChild,u=d.nextSibling,l=u.nextSibling,s=l.firstChild;return I(l,D(q,{get when(){return o()!==void 0},fallback:"sync server",get children(){return D(za,{get connected(){return o()}})}}),null),i})(),ka()]}})}function za(e){let[r,t]=fe(!1),o=()=>`sync server: ${e.connected?"connected":"disconnected"}`;return[(()=>{var n=Ca();return n.$$click=()=>t(a=>!a),ct(a=>{var i=e.connected?"":void 0,d=o(),u=o(),l=r();return i!==a.e&&Be(n,"data-connected",a.e=i),d!==a.t&&Be(n,"title",a.t=d),u!==a.a&&Be(n,"aria-label",a.a=u),l!==a.o&&Be(n,"aria-expanded",a.o=l),a},{e:void 0,t:void 0,a:void 0,o:void 0}),n})(),D(q,{get when(){return r()},get children(){var n=$a(),a=n.firstChild,i=a.nextSibling,d=i.nextSibling;return I(n,()=>e.connected?"connected":"disconnected",i),n}})]}function _r(e){let[r,t]=fe(!1),o;lt(()=>clearTimeout(o));let n=async()=>{e.card&&(await navigator.clipboard.writeText(e.card),t(!0),clearTimeout(o),o=setTimeout(()=>t(!1),1500))};return D($e,{get url(){return e.url},title:"not shared with you yet",get children(){return[Sa(),Ea(),Ta(),D(q,{get when(){return e.card},get children(){var a=dt(),i=a.firstChild;return i.$$click=()=>void n(),I(i,()=>r()?"copied":"copy my card"),a}})]}})}function xr(e){let[r,t]=fe(!1),o=async()=>{t(!0);try{await e.onRetry()}finally{t(!1)}};return D($e,{get url(){return e.url},get title(){return`can't load ${e.name}`},get children(){return[Aa(),(()=>{var n=Da();return I(n,()=>e.error),n})(),(()=>{var n=dt(),a=n.firstChild;return a.$$click=()=>void o(),I(a,()=>r()?"trying\u2026":"try again"),ct(()=>a.disabled=r()),n})()]}})}function kr(e){return D($e,{get url(){return e.url},title:"this link is broken",get children(){return[Ia(),Ra(),(()=>{var r=Fa(),t=r.firstChild;return I(t,()=>e.url),r})()]}})}ca(["click"]);import*as $r from"@inkandswitch/patchwork-elements";import{isKeyhiveDoc as Ua}from"@inkandswitch/patchwork-plugins";var Cr=$r.hasActiveAccess,Sr=()=>globalThis.hive;async function Er(e,r){if(Ua(r))try{if(Cr)return await Cr(e,r);let t=e.active.individual.id;return!!(e.bestAccessForDoc?await e.bestAccessForDoc(t,r):await e.accessForDoc(t,r))}catch{return}}function Tr(e,r){return e.networkAdapter?.on("ingest-remote",r),()=>e.networkAdapter?.off("ingest-remote",r)}function Ar(e){try{let r="";for(let t of e.active.contactCard.toBytes())r+=String.fromCharCode(t);return btoa(r)}catch{return}}var ja=Ve("<div class=document-view>"),Fr=Ve("<patchwork-view>",!0,!1,!1),Wa=Ve("<div class=placeholder>Select a document in the sidebar"),Ha=Ve("<div class=doc-stack>"),Ya=5e3;function Pr({viewKey:e,selectedDocUrl:r,toolId:t,ref:o}){let n,[a,i]=K();return Ka(()=>{i(n.closest("repo-provider")?.repo??null)}),(()=>{var d=ja();return Rr(u=>{n=u,o?.(u)},d),Y(d,R(B,{get when(){return Se(()=>a()!==void 0)()&&e()},keyed:!0,children:u=>R(B,{get when(){return a()},get fallback(){return(()=>{var l=Fr();return l._$owner=Ir(),Dr(s=>{var h=r(),f=t();return h!==s.e&&(l.docUrl=s.e=h),f!==s.t&&(l.toolId=s.t=f),s},{e:void 0,t:void 0}),l})()},children:l=>R(Xa,{get url(){return r()},toolId:t,get repo(){return l()}})})}),null),Y(d,(()=>{var u=Se(()=>!r());return()=>u()&&Wa()})(),null),d})()}function Xa(e){let r=Va("patchwork:tool"),[t,o]=K(0);oe(r.on("changed",()=>{o(m=>m+1)}));let[n,a]=K({state:"finding"}),[i,d]=K(),u=()=>e.toolId()??i(),[l,s]=K(!1),[h,f]=K(0),b=!1;oe(()=>b=!0);async function y(){try{let m=await e.repo.find(e.url);if(b)return;let w=n().state==="unavailable";a({state:"ready",doc:m.doc()}),w&&!l()&&f(T=>T+1)}catch(m){if(b)return;let w=Za(m);a({state:w?"invalid":"unavailable"}),w||p(T=>T+1)}}let[x,p]=K(0),c,g;function $(){g?.(),c=Ga(e.repo,e.url),g=c?.subscribe(m=>{m.state==="ready"&&n().state==="unavailable"&&y()})}oe(()=>g?.()),y(),$();function F(){let m=e.repo;if(typeof m.resyncSubduction=="function")try{m.resyncSubduction(Na(e.url).documentId)}catch{}}let P;oe(()=>clearTimeout(P));function j(m=1e3){F(),clearTimeout(P),P=setTimeout(()=>void y(),m)}ut(()=>{let m=x();m===0||n().state!=="unavailable"||l()||(j(Math.min(3e4,3e3*2**(m-1))),oe(()=>clearTimeout(P)))});let Q=Je(()=>{t();let m=n();if(m.state!=="ready")return m;let w=m.doc,T=w?Ba(w):void 0;if(!T)return{state:"open",toolId:void 0};let A=u(),H;if(!A){let W=Lr(()=>Ja(w));W&&Qa(W.supportedDatatypes,T)?H={id:W.id,name:W.name}:W&&(A=W.id)}return A&&r.get(A)?{state:"open",toolId:A}:{state:"no-tool",type:T,suggestion:qa(w),anything:H}}),O=Je(()=>Q().state),J=Je(()=>{let m=Q();return m.state==="open"?m.toolId:void 0}),[ge,be]=K();async function De(m){try{return await r.load(m),J()===m&&be(void 0),!0}catch(w){return J()===m&&be({id:m,message:w instanceof Error?w.message:String(w)}),!1}}ut(()=>{let m=J();be(void 0),m&&De(m)});let X=Sr(),[E,S]=K();ut(()=>{if(!X||O()!=="open"){S(void 0);return}let m=e.url,w=!0,T=()=>void Er(X,m).then(W=>{w&&S(W)});T();let A=Tr(X,T),H=setInterval(()=>{E()===!1&&T()},Ya);oe(()=>{w=!1,A(),clearInterval(H)})});async function G(){let m=ge()?.id;m&&await De(m)&&f(w=>w+1)}let M=Je(()=>{let m=Q();return m.state==="no-tool"?m:void 0});return(()=>{var m=Ha();return Rr(w=>{let T=A=>{let H=A.detail;H?.url&&H.url!==e.url||(s(!0),n().state==="unavailable"&&y())};w.addEventListener("patchwork:mounted",T),oe(()=>w.removeEventListener("patchwork:mounted",T))},m),Y(m,R(B,{get when(){return Se(()=>O()==="open")()&&!ge()||O()==="unavailable"},get children(){return R(B,{get when(){return h()+1},keyed:!0,children:w=>(()=>{var T=Fr();return T._$owner=Ir(),Dr(A=>{var H=e.url,W=u();return H!==A.e&&(T.docUrl=A.e=H),W!==A.t&&(T.toolId=A.t=W),A},{e:void 0,t:void 0}),T})()})}}),null),Y(m,R(B,{get when(){return O()==="finding"},get children(){return R(vr,{})}}),null),Y(m,R(B,{get when(){return Se(()=>O()==="open")()&&E()===!1},get children(){return R(_r,{get url(){return e.url},get card(){return X&&Ar(X)}})}}),null),Y(m,R(B,{get when(){return ge()},children:w=>R(xr,{get url(){return e.url},get name(){return r.get(w().id)?.name??w().id},get error(){return w().message},onRetry:G})}),null),Y(m,R(B,{get when(){return O()==="invalid"},get children(){return R(kr,{get url(){return e.url}})}}),null),Y(m,R(B,{get when(){return Se(()=>O()==="unavailable")()&&!l()},get children(){return R(yr,{get url(){return e.url},get repo(){return e.repo},onRetry:j})}}),null),Y(m,R(B,{get when(){return M()},children:w=>R(wr,{get url(){return e.url},get type(){return w().type},get suggestion(){return w().suggestion},get anything(){return w().anything},onPeek:d,get repo(){return e.repo}})}),null),m})()}function Ga(e,r){let t=e.findWithProgress;if(typeof t=="function")return Lr(()=>{let o=t.call(e,r);return typeof o?.subscribe=="function"&&typeof o?.peek=="function"?o:void 0})}function Za(e){let r=e?.message??String(e);return/invalid (automergeurl|document url|documentid|document id)/i.test(r)}function Qa(e,r){let t=e==="*"?["*"]:e??[];return t.includes("*")&&!t.includes(r)}function Lr(e){try{return e()}catch{return}}var ei=Ae("<patchwork-view component=patchwork-draft-state-provider>",!0,!1,!1),ti=Ae("<patchwork-view component=patchwork-draft-overlay-provider>",!0,!1,!1),ri=Ae("<div class=frame__main-column><div class=frame__doc-column><div class=main-area>"),oi=Ae("<patchwork-view component=patchwork-comments-provider><patchwork-view component=patchwork-focus-provider>",!0,!1,!1),ni=Ae("<patchwork-view>",!0,!1,!1);function zr(e){let[r,t]=Z(e.initialRightCollapsed()),[o,n]=Z(e.initialRightWidth());Mr(Or(r,f=>{try{localStorage.setItem(V.rightCollapsed,String(f))}catch{}},{defer:!0})),Mr(Or(o,f=>{try{localStorage.setItem(V.rightWidth,String(f))}catch{}},{defer:!0}));let a=Ge("right",{isCollapsed:r,setCollapsed:t,setWidth:n});ii(()=>{let f=()=>t(!0);window.addEventListener(Ie,f),ai(()=>window.removeEventListener(Ie,f))});let[i,d]=Xe(Z(),{name:V.contextToolId}),[u,l]=Z(),s=ee("patchwork-draft-state-provider",u),h=()=>s()?u():void 0;return U(me,{get when(){return e.selectedDocUrl()},keyed:!0,children:f=>(()=>{var b=ei();return Te(l,b),b.docUrl=f,b._$owner=Ee(),ne(b,U(me,{get when(){return h()},children:y=>U(si,{get host(){return y()},get setMainDocElement(){return e.setMainDocElement},get selectedDocUrl(){return e.selectedDocUrl},get selectedToolId(){return e.selectedToolId},get doctitleSlots(){return e.doctitleSlots},get isLeftCollapsed(){return e.isLeftCollapsed},isRightSidebarCollapsed:r,setIsRightSidebarCollapsed:t,rightSidebarWidth:o,get handleMouseDown(){return a.handleMouseDown},get handleToggleClick(){return a.handleToggleClick},selectedContextToolId:i,setSelectedContextToolId:d})})),b})()})}function si(e){let r=ae("context-tool"),t=()=>r().length>0,o=pt(()=>e.selectedDocUrl()),[n,a]=Z(),i=ee("patchwork-draft-overlay-provider",n),[d,u]=Z(),l=ee("patchwork-comments-provider",d),[s,h]=Z(),f=ee("patchwork-focus-provider",s),b=pt(()=>i()&&l()&&f()),y=ae("document-provider"),x=pt(()=>y().map(p=>p.id),[],{equals:(p,c)=>p.length===c.length&&p.every((g,$)=>g===c[$])});return(()=>{var p=ti();return Te(a,p),p._$owner=Ee(),ne(p,U(Ur,{get ids(){return x()},render:()=>(()=>{var c=oi(),g=c.firstChild;return Te(u,c),c._$owner=Ee(),Te(h,g),g._$owner=Ee(),ne(g,U(me,{get when(){return b()},get children(){var $=ri(),F=$.firstChild,P=F.firstChild;return ne(F,U(rr,{get docUrl(){return e.selectedDocUrl},get toolSlots(){return e.doctitleSlots},get isLeftCollapsed(){return e.isLeftCollapsed},hasContext:t,get isRightCollapsed(){return e.isRightSidebarCollapsed},onToggleRight:()=>e.setIsRightSidebarCollapsed(j=>!j)}),P),ne(P,U(Pr,{viewKey:o,get selectedDocUrl(){return e.selectedDocUrl},get toolId(){return e.selectedToolId},ref:j=>e.setMainDocElement?.(j)})),ne($,U(me,{get when(){return t()},get children(){return U(Xt,{get selectedToolId(){return e.selectedContextToolId},get setSelectedToolId(){return e.setSelectedContextToolId},get isCollapsed(){return e.isRightSidebarCollapsed},get width(){return e.rightSidebarWidth},get onMouseDown(){return e.handleMouseDown},get onToggleClick(){return e.handleToggleClick},onCollapse:()=>e.setIsRightSidebarCollapsed(!0)})}}),null),$}})),c})()})),p})()}function Ur(e){return U(me,{get when(){return e.ids[0]},keyed:!0,get fallback(){return e.render()},children:r=>{let[t,o]=Z(),n=ee(r,t);return(()=>{var a=ni();return Te(o,a),a.component=r,a._$owner=Ee(),ne(a,U(me,{get when(){return n()},get children(){return U(Ur,{get ids(){return e.ids.slice(1)},get render(){return e.render}})}})),a})()}})}var Ke=`:root,
13
13
  :host,
14
14
  [theme] {
15
15
  --threepane-bg: var(--studio-fill, white);
@@ -1211,5 +1211,5 @@ Its code runs in this page and can read and change your documents. Only load it
1211
1211
  body[data-sidebar-resizing] .sidebar {
1212
1212
  transition: none;
1213
1213
  }
1214
- `;function jr(){let e="patchwork-frame-styles",r=document.getElementById(e);if(r){r.textContent!==Ke&&(r.textContent=Ke);return}let t=document.createElement("style");t.id=e,t.textContent=Ke,document.head.append(t)}var ui=Hr("<patchwork-view component=patchwork-isolation root-component=threepane-isolation-root shared-providers=patchwork:contact,patchwork:selected-doc,patchwork:worker-channel shared-tools=llm-config-tray style=display:contents><script type=application/json data-root-component-data>",!0,!1,!1),pi=Hr("<div class=frame>");function Dd(e){let r=Wr(()=>{let o=new Set,n=e.selectedDocUrl();return n&&o.add(n),e.contactUrl&&o.add(e.contactUrl),[...o]}),t=Wr(()=>JSON.stringify({selectedDocUrl:e.selectedDocUrl(),selectedToolId:e.selectedToolId(),doctitleSlots:e.doctitleSlots(),isLeftCollapsed:e.isLeftCollapsed(),initialRightWidth:e.initialRightWidth(),initialRightCollapsed:e.initialRightCollapsed()}));return(()=>{var o=ui(),n=o.firstChild;return o._$owner=di(),qr(n,t),ci(()=>li(o,"automerge-allowlist",r().join(","))),o})()}function Nr(e){if(!e?.textContent)return{};try{return JSON.parse(e.textContent)}catch(r){return console.error("[threepane-isolation-root] bad props JSON:",r),{}}}function Id(e){jr();let r=e.querySelector('script[type="application/json"]'),[t,o]=hi(Nr(r)),n=new MutationObserver(()=>{o(fi(Nr(r)))});r&&n.observe(r,{characterData:!0,childList:!0,subtree:!0});let a=mi(()=>(()=>{var i=pi();return qr(i,si(zr,{selectedDocUrl:()=>t.selectedDocUrl,selectedToolId:()=>t.selectedToolId,doctitleSlots:()=>t.doctitleSlots,isLeftCollapsed:()=>t.isLeftCollapsed??!1,initialRightWidth:()=>t.initialRightWidth??Re,initialRightCollapsed:()=>t.initialRightCollapsed??!1})),i})(),e);return()=>{n.disconnect(),a()}}export{St as a,we as b,V as c,Ie as d,Re as e,vt as f,wt as g,Yr as h,Ge as i,so as j,Jt as k,rt as l,Xl as m,Gl as n,Pr as o,zr as p,jr as q,Dd as r,Id as s};
1215
- //# sourceMappingURL=chunk-U4IJVHXK.js.map
1214
+ `;function jr(){let e="patchwork-frame-styles",r=document.getElementById(e);if(r){r.textContent!==Ke&&(r.textContent=Ke);return}let t=document.createElement("style");t.id=e,t.textContent=Ke,document.head.append(t)}var hi=Nr("<patchwork-view component=patchwork-isolation root-component=threepane-isolation-root shared-providers=patchwork:contact,patchwork:selected-doc,patchwork:worker-channel shared-tools=llm-config-tray style=display:contents><script type=application/json data-root-component-data>",!0,!1,!1),fi=Nr("<div class=frame>");function Rd(e){let r=Wr(()=>{let o=new Set,n=e.selectedDocUrl();return n&&o.add(n),e.contactUrl&&o.add(e.contactUrl),[...o]}),t=Wr(()=>JSON.stringify({selectedDocUrl:e.selectedDocUrl(),selectedToolId:e.selectedToolId(),doctitleSlots:e.doctitleSlots(),isLeftCollapsed:e.isLeftCollapsed(),initialRightWidth:e.initialRightWidth(),initialRightCollapsed:e.initialRightCollapsed()}));return(()=>{var o=hi(),n=o.firstChild;return o._$owner=pi(),qr(n,t),ui(()=>di(o,"automerge-allowlist",r().join(","))),o})()}function Hr(e){if(!e?.textContent)return{};try{return JSON.parse(e.textContent)}catch(r){return console.error("[threepane-isolation-root] bad props JSON:",r),{}}}function Fd(e){jr();let r=e.querySelector('script[type="application/json"]'),[t,o]=mi(Hr(r)),n=new MutationObserver(()=>{o(gi(Hr(r)))});r&&n.observe(r,{characterData:!0,childList:!0,subtree:!0});let a=bi(()=>(()=>{var i=fi();return qr(i,ci(zr,{selectedDocUrl:()=>t.selectedDocUrl,selectedToolId:()=>t.selectedToolId,doctitleSlots:()=>t.doctitleSlots,isLeftCollapsed:()=>t.isLeftCollapsed??!1,initialRightWidth:()=>t.initialRightWidth??Re,initialRightCollapsed:()=>t.initialRightCollapsed??!1})),i})(),e);return()=>{n.disconnect(),a()}}export{St as a,we as b,V as c,Ie as d,Re as e,vt as f,wt as g,Yr as h,Ge as i,so as j,Jt as k,rt as l,Zl as m,Ql as n,Pr as o,zr as p,jr as q,Rd as r,Fd as s};
1215
+ //# sourceMappingURL=chunk-HXEHZ5WC.js.map