@inkandswitch/patchwork-pkg-base 0.0.100 → 0.0.102

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 (91) hide show
  1. package/module-settings-url +1 -1
  2. package/package.json +1 -1
  3. package/packages/account/dist/index.css +32 -32
  4. package/packages/account/dist/index.css.map +2 -2
  5. package/packages/account-history/dist/assets/HistoryRecorder-_3PrVW6n.js +1 -1
  6. package/packages/account-history/dist/assets/HistoryViewer-BmG0rAfK.js +1 -1
  7. package/packages/account-history/dist/assets/NotebookViewer-DZ_ZQU5x.js +37 -37
  8. package/packages/add-doc-to-sidebar-button/styles.css +2 -2
  9. package/packages/chat/dist/{ChatRoot-BYmq4SXi.js → ChatRoot-1d-658Rr.js} +2 -2
  10. package/packages/chat/dist/{context-tool-Bob-FZ_T.js → context-tool-iP64Oz6H.js} +2 -2
  11. package/packages/chat/dist/{index-wkaHcVCz.js → index-Dm_2jZcu.js} +3 -3
  12. package/packages/chat/dist/index.js +2 -2
  13. package/packages/chat/dist/{tool-DCOdh_fx.js → tool-BmNd5mrj.js} +1 -1
  14. package/packages/codemirror-base/dist/{chunk-QRT4ZVQ4.js → chunk-A2WBDY3J.js} +5 -5
  15. package/packages/codemirror-base/dist/{chunk-QRT4ZVQ4.js.map → chunk-A2WBDY3J.js.map} +1 -1
  16. package/packages/codemirror-base/dist/lib/codemirror.js +1 -1
  17. package/packages/codemirror-base/dist/tool.js +3 -3
  18. package/packages/codemirror-base/dist/tool.js.map +1 -1
  19. package/packages/codemirror-markdown/dist/extensions/embed.js +1 -1
  20. package/packages/codemirror-markdown/dist/extensions/embed.js.map +1 -1
  21. package/packages/codemirror-markdown/dist/extensions/links.js +1 -1
  22. package/packages/codemirror-markdown/dist/extensions/links.js.map +1 -1
  23. package/packages/codemirror-markdown/dist/extensions/markdown.js +6 -6
  24. package/packages/codemirror-markdown/dist/extensions/markdown.js.map +1 -1
  25. package/packages/commands/dist/main.js +1 -1
  26. package/packages/commands/dist/main.js.map +1 -1
  27. package/packages/comments-view/dist/assets/main-wSSvAVfi.js +1 -1
  28. package/packages/doc-openwith/doc-openwith.js +5 -5
  29. package/packages/doc-presence/doc-presence.js +1 -1
  30. package/packages/drafts/dist/assets/main-CG9HOCai.js +31 -31
  31. package/packages/embed/dist/assets/tool-D58NGTZ7.js +1 -1
  32. package/packages/file/dist/index.js +2 -2
  33. package/packages/file/dist/{new-file-tool-DGKllnzw.js → new-file-tool-BolBDUrL.js} +27 -27
  34. package/packages/file/dist/new-file-tool-BolBDUrL.js.map +1 -0
  35. package/packages/file/dist/{tool-UKWDK93W.js → tool-Bt8I8T2-.js} +4 -4
  36. package/packages/file/dist/tool-Bt8I8T2-.js.map +1 -0
  37. package/packages/file/dist/{typescript-language-server-BgBx0vSF.js → typescript-language-server-Db4173Y5.js} +2 -2
  38. package/packages/file/dist/{typescript-language-server-BgBx0vSF.js.map → typescript-language-server-Db4173Y5.js.map} +1 -1
  39. package/packages/folder/dist/index.js +1 -1
  40. package/packages/folder/dist/{tool-WAWTPB4A.js → tool-5E3YPGES.js} +2 -2
  41. package/packages/folder/dist/{tool-WAWTPB4A.js.map → tool-5E3YPGES.js.map} +1 -1
  42. package/packages/history-view/dist/assets/{HistoryTimeline-COYNGORP.js → HistoryTimeline-Bo-BTf2A.js} +6 -6
  43. package/packages/history-view/dist/assets/{HistoryTimeline-COYNGORP.js.map → HistoryTimeline-Bo-BTf2A.js.map} +1 -1
  44. package/packages/history-view/dist/assets/{index-C1gYt7m5.js → index-B5Afrk9Y.js} +2 -2
  45. package/packages/history-view/dist/assets/{index-C1gYt7m5.js.map → index-B5Afrk9Y.js.map} +1 -1
  46. package/packages/history-view/dist/index.js +1 -1
  47. package/packages/llm-host/dist/{LlmConfigTray-DdZHZT4F.js → LlmConfigTray-CjW04jeT.js} +108 -108
  48. package/packages/llm-host/dist/index.js +1 -1
  49. package/packages/packages/dist/index.js +46 -46
  50. package/packages/patternwitch/tool.js +21 -0
  51. package/packages/raw/raw-editor.js +22 -22
  52. package/packages/settings/dist/assets/FrameConfigurator-DVRBzIR-.js +1 -1
  53. package/packages/sideboard/dist/index.css +1 -1
  54. package/packages/sideboard/dist/index.css.map +2 -2
  55. package/packages/sideboard/dist/index.js +1 -1
  56. package/packages/sync-indicator/dist/assets/{SyncIndicator-B2ag1OoZ.js → SyncIndicator-oVMcVRXg.js} +3 -3
  57. package/packages/sync-indicator/dist/assets/{SyncIndicator-B2ag1OoZ.js.map → SyncIndicator-oVMcVRXg.js.map} +1 -1
  58. package/packages/sync-indicator/dist/index.js +1 -1
  59. package/packages/tasks/dist/assets/index-BbuRtBN3.js +1 -1
  60. package/packages/theming/dist/{active-theme-BMSIQXBV.js → active-theme-CC3CS64F.js} +2 -2
  61. package/packages/theming/dist/{chunk-Z3JB7ERH.js → chunk-DH4YUYFJ.js} +2 -2
  62. package/packages/theming/dist/chunk-VJZ4NPK4.js +136 -0
  63. package/packages/theming/dist/chunk-VJZ4NPK4.js.map +7 -0
  64. package/packages/theming/dist/main.js +4 -4
  65. package/packages/theming/dist/{theme-7OG2K56L.css → theme-HE7ECLIW.css} +212 -58
  66. package/packages/theming/dist/{theme-editor-datatype-TMYH7U2S.js → theme-editor-datatype-TJ6LYT2U.js} +2 -2
  67. package/packages/theming/dist/theme-editor.js +35 -25
  68. package/packages/theming/dist/theme-editor.js.map +2 -2
  69. package/packages/theming/dist/{theme-titlebar-YIFJINPJ.js → theme-titlebar-BO2Y2GRN.js} +2 -2
  70. package/packages/theming/dist/{theme-tray-7J247NRY.js → theme-tray-V6BEXQWR.js} +15 -15
  71. package/packages/theming/dist/theme-tray-V6BEXQWR.js.map +7 -0
  72. package/packages/theming/dist/tool.js +9 -9
  73. package/packages/theming/dist/tool.js.map +1 -1
  74. package/packages/threepane/dist/IsolatedDocumentArea-IZWZ74TV.js +2 -0
  75. package/packages/threepane/dist/{PatchworkFrame-GEEBBGCS.js → PatchworkFrame-UNWWAISP.js} +2 -2
  76. package/packages/threepane/dist/{chunk-YC5AHP5G.js → chunk-MSZ7JVNB.js} +31 -31
  77. package/packages/threepane/dist/{chunk-YC5AHP5G.js.map → chunk-MSZ7JVNB.js.map} +3 -3
  78. package/packages/threepane/dist/index.js +1 -1
  79. package/plugin-registry-url +1 -1
  80. package/packages/file/dist/new-file-tool-DGKllnzw.js.map +0 -1
  81. package/packages/file/dist/tool-UKWDK93W.js.map +0 -1
  82. package/packages/theming/dist/chunk-GIPQLUDU.js +0 -86
  83. package/packages/theming/dist/chunk-GIPQLUDU.js.map +0 -7
  84. package/packages/theming/dist/theme-tray-7J247NRY.js.map +0 -7
  85. package/packages/threepane/dist/IsolatedDocumentArea-G3V7KYHJ.js +0 -2
  86. /package/packages/theming/dist/{active-theme-BMSIQXBV.js.map → active-theme-CC3CS64F.js.map} +0 -0
  87. /package/packages/theming/dist/{chunk-Z3JB7ERH.js.map → chunk-DH4YUYFJ.js.map} +0 -0
  88. /package/packages/theming/dist/{theme-editor-datatype-TMYH7U2S.js.map → theme-editor-datatype-TJ6LYT2U.js.map} +0 -0
  89. /package/packages/theming/dist/{theme-titlebar-YIFJINPJ.js.map → theme-titlebar-BO2Y2GRN.js.map} +0 -0
  90. /package/packages/threepane/dist/{IsolatedDocumentArea-G3V7KYHJ.js.map → IsolatedDocumentArea-IZWZ74TV.js.map} +0 -0
  91. /package/packages/threepane/dist/{PatchworkFrame-GEEBBGCS.js.map → PatchworkFrame-UNWWAISP.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{a as M,b as ce,c as H,d as U}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 P,m as F,n as W,o as de,p as ue,q as me,r as fe}from"./chunk-YC5AHP5G.js";import{b as Ue}from"./chunk-FW4363Y4.js";import{template as _}from"solid-js/web";import{delegateEvents as et}from"solid-js/web";import{memo as tt}from"solid-js/web";import{setStyleProperty as rt}from"solid-js/web";import{setAttribute as Y}from"solid-js/web";import{effect as R}from"solid-js/web";import{getOwner as k}from"solid-js/web";import{use as C}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 ft}from"@inkandswitch/patchwork-providers";import{template as q}from"solid-js/web";import{delegateEvents as Re}from"solid-js/web";import{memo as Le}from"solid-js/web";import{insert as pe}from"solid-js/web";import{createComponent as I}from"solid-js/web";import{For as Pe,Show as z}from"solid-js";var Ae=q("<div class=threepane-widgets>"),xe=q("<div class=threepane-widgets__empty><button type=button class=threepane-widgets__add>\uFF0B Add document list"),Oe=q("<div class=threepane-widget>");function he(e){let l=()=>{let o=e.rootFolderUrl(),a=e.configHandle();!o||!a||a.change(r=>{r.sidebar.widgets.push([H,o])})};return(()=>{var o=Ae();return pe(o,I(z,{get when(){return e.ready()},get children(){return I(z,{get when(){return e.widgets().length},get fallback(){return I(z,{get when(){return Le(()=>!!e.rootFolderUrl())()&&e.configHandle()},get children(){var a=xe(),r=a.firstChild;return r.$$click=l,a}})},get children(){return I(Pe,{get each(){return e.widgets()},children:a=>(()=>{var r=Oe();return pe(r,I(W,{slot:a})),r})()})}})}})),o})()}Re(["click"]);import{template as we}from"solid-js/web";import{setAttribute as Fe}from"solid-js/web";import{effect as We}from"solid-js/web";import{insert as ge}from"solid-js/web";import{createComponent as K}from"solid-js/web";import{For as Ne,Show as Ve}from"solid-js";var Me=we("<div class=frame-tray>"),He=we("<div class=frame-tray__item>");function ve(e){return K(Ve,{get when(){return e.slots().length},get children(){var l=Me();return ge(l,K(Ne,{get each(){return F(e.slots())},children:o=>(()=>{var a=He();return ge(a,K(W,{slot:o})),We(()=>Fe(a,"data-tray-id",P(o))),a})()})),l}})}import{createEffect as V,createMemo as pt,createSignal as b,onCleanup as L,onMount as ke,Show as S}from"solid-js";import{render as ht}from"solid-js/web";import{createDocOfDatatype2 as je}from"@inkandswitch/patchwork-plugins";import{getRegistry as Be}from"@inkandswitch/patchwork-plugins";function N(e){return Be("patchwork:datatype").loadWhenReady(e)}var ze=new Set(["document-title","spacer"]);function _e(e){return e?[[H,e]]:[]}function qe(e,l){if(!((e.version??0)>=1)){if(e.sidebar||(e.sidebar={widgets:[]}),l&&!e.sidebar.widgets?.length&&(e.sidebar.widgets=_e(l)),!e.tray)e.tray=M.slice();else{let o=F(e.tray);o.length!==e.tray.length&&(e.tray=o);let a=new Set(e.tray.map(r=>P(r)));for(let r of M)a.has(r)||(e.tray.push(r),a.add(r))}e.doctitle?.tools?.length||(e.doctitle={...e.doctitle,tools:ce.slice()}),!(!e.sidebar.widgets?.length&&!l)&&(e.version=1)}}async function ye(e,l){let o=e.doc()?.rootFolderUrl,a=e.doc()?.tools?.threepane;if(a){let i=await l.find(a);if((i.doc()?.version??0)>=1)return;i.change(u=>qe(u,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(),n=(t?.documentToolbarToolIds??[]).filter(i=>!ze.has(i)),s=await je(r,l);s.change(i=>{n.length&&(i.doctitle.tools=n),i.sidebar.widgets=_e(t?.rootFolderUrl),i.tray||(i.tray=M.slice()),t?.rootFolderUrl?i.version=1:delete i.version}),e.change(i=>{i.tools||(i.tools={}),i.tools.threepane||(i.tools.threepane=s.url)})}var Se=Ue(Ie(),1);import{createDocOfDatatype2 as Ke}from"@inkandswitch/patchwork-plugins";var g=(0,Se.default)("patchwork:threepane:examples");async function $e(e,l){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(d=>{d.exampleDocsSeededAt||(d.exampleDocsSeededAt=Date.now())});let a=await l.find(o.rootFolderUrl),r=a.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"),n=t?[]:await Ye();if(g(t?"gaios examples":"bundle init scripts:",n),!t&&!n.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 i=await Ke(s,l,d=>{d.title="Examples"});if(t){let{seedGaiosExamples:d}=await import("./gaiosExamples-YDNQB35L.js");await d(l,i)}for(let d of n)try{await(await import(d)).default?.(l,i),g("ran init script",d)}catch(c){g("init script unavailable or failed",d,c)}let u=i.doc()?.docs?.length??0;if(!u){g("no bundle contributed any documents");return}a.change(d=>{d.docs.unshift({name:"Examples",type:"folder",url:i.url})}),g(`seeded ${u} document(s) into Examples folder`,i.url)}var be="https://patchwork-tools.netlify.app/init.js",De="https://patchwork-base.netlify.app/init.js";function Ge(){return document.documentElement.getAttribute("data-examples")==="site"}async function Ye(){let e=Ge(),l=window.patchwork?.packages;if(!l?.urls)return e?[]:[De,be];await l.doneLoading;let o=Object.values(l.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 a=o.length?[]:[De];return[...new Set([...o,...a,be])]}import{createEffect as Xe,createMemo as Je,createSignal as Qe,onCleanup as Ze}from"solid-js";function G(e){let[l,o]=Qe(0);return Xe(()=>{let a=e();if(!a)return;let r=()=>o(t=>t+1);a.on("change",r),Ze(()=>a.off("change",r))}),Je(()=>(l(),e()?.doc()))}var ot=_("<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),nt=_("<div style=display:contents>"),it=_("<div class=main-area>"),at=_("<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),lt=_('<button type=button class="frame__sidebar-toggle frame__left-toggle">'),st=_("<div class=threepane-sidebar><div class=threepane-sidebar__footer><footer class=threepane-account-bar><button type=button class=threepane-account-bar__button>Settings"),ct=_("<div class=frame__tray-dock>"),dt=_('<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),ut=_("<button type=button class=threepane-account-bar__button>Packages"),mt=_('<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,l)=>{let[o,a]=b(!1);return V(()=>{let r=l();if(!r)return;a(!1);let t=n=>{n.detail?.componentId===e&&a(!0)};r.addEventListener("patchwork:mounted",t),L(()=>r.removeEventListener("patchwork:mounted",t))}),o};function J(e,l){e.dispatchEvent(new CustomEvent("patchwork:open-document",{detail:l,bubbles:!0,composed:!0}))}function gt({handle:e,repo:l,...o}){me();let a=e.url,[r,t]=b(),n=X("patchwork-account-provider",r),[s,i]=b(),u=X("patchwork-tool-storage-provider",s),[d,c]=b(),f=X("patchwork-selected-doc-provider",d),p=pt(()=>f()&&n()&&u());return(()=>{var w=ot(),E=w.firstChild,Q=E.firstChild,A=E.nextSibling,h=A.firstChild,D=h.firstChild,$=D.firstChild,T=$.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),C(c,h),h._$owner=k(),C(t,D),D.docUrl=a,D._$owner=k(),C(i,$),$.docUrl=a,$._$owner=k(),T._$owner=k(),v(T,m(S,{get when(){return p()},get children(){return m(wt,{handle:e,repo:l,get isolation(){return o.isolation}})}})),w})()}function wt(e){let l=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(l),a=e.handle.url,r=()=>o()?.tools?.threepane,t=B(()=>r(),{repo:e.repo}),n=G(t),s=()=>n()?.doctitle?.tools,i=()=>n()?.sidebar?.widgets??[],u=()=>n()?.tray??[],d=()=>o()?.rootFolderUrl,c=ie(),f=ae("left",{isCollapsed:c.isSidebarCollapsed,setCollapsed:c.setIsSidebarCollapsed,setWidth:c.setLeftSidebarWidth}),p,[w,E]=b(null),[Q,A]=b(null);ke(()=>{let y=ft(p,{type:"patchwork:selected-view"},x=>E(x));L(y)});let h=()=>w()?.url,D=()=>w()?.toolId??void 0,$=()=>oe(j.rightWidth,re),T=()=>ne(j.rightCollapsed),[Ce,Z]=b(),Ee=le(Ce,h),[ee,Te]=b(!1);return V(()=>{ee()||(e.isolation||!h()||Ee())&&Te(!0)}),(()=>{var y=nt(),x=p;return typeof x=="function"?C(x,y):p=y,v(y,m(_t,{accountDocUrl:a,sidebarState:c,sidebarResize:f,sidebarWidgets:i,traySlots:u,configHandle:t,rootFolderUrl:d,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 O=it();return v(O,m(de,{viewKey:h,selectedDocUrl:h,toolId:D,ref:Z})),O})()},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:T})},get children(){return m(fe,{get contactUrl(){return o()?.contactUrl},selectedDocUrl:h,selectedToolId:D,doctitleSlots:s,get isLeftCollapsed(){return c.isSidebarCollapsed},initialRightWidth:$,initialRightCollapsed:T})}})}})}}),null),v(y,m(S,{get when(){return Q()},children:O=>m(vt,{get view(){return O()},onClose:()=>A(null)})}),null),y})()}function vt(e){let[l,o]=b(e.view.toolId??void 0);V(()=>o(e.view.toolId??void 0));let a;return ke(()=>{let r=s=>{s.key==="Escape"&&e.onClose()};window.addEventListener("keydown",r),L(()=>window.removeEventListener("keydown",r));let t=a;if(!t)return;let n=s=>{let{url:i,toolId:u}=s.detail;i&&(s.stopPropagation(),o(u??void 0))};t.addEventListener("patchwork:open-document",n),L(()=>t.removeEventListener("patchwork:open-document",n))}),(()=>{var r=at(),t=r.firstChild,n=t.firstChild,s=n.firstChild,i=n.nextSibling,u=i.firstChild;r.$$click=()=>e.onClose(),t.$$click=c=>c.stopPropagation();var d=a;return typeof d=="function"?C(d,t):a=t,s._$owner=k(),u._$owner=k(),R(c=>{var f=e.view.url,p=e.view.url,w=l();return f!==c.e&&(s.docUrl=c.e=f),p!==c.t&&(u.docUrl=c.t=p),w!==c.a&&(u.toolId=c.a=w),c},{e:void 0,t:void 0,a:void 0}),r})()}function _t(e){let l=e.sidebarState.isSidebarCollapsed,o=()=>e.traySlots().length>0,a,r;return V(()=>{if(l())return;let t=a;if(!t)return;let n=r,s=i=>{let{url:u,toolId:d}=i.detail;if(e.isolation&&u&&n&&i.composedPath().includes(n)){i.stopPropagation(),e.onInterceptOpen?.({url:u,toolId:d??null});return}t.getBoundingClientRect().width<=window.innerWidth*.75||(e.sidebarState.setIsSidebarCollapsed(!0),window.dispatchEvent(new CustomEvent(te)))};t.addEventListener("patchwork:open-document",s),L(()=>t.removeEventListener("patchwork:open-document",s))}),[(()=>{var t=lt();return t.$$click=()=>e.sidebarState.setIsSidebarCollapsed(n=>!n),v(t,m(yt,{})),R(n=>{var s=l()?"Show sidebar":"Hide sidebar",i=l()?"Show sidebar":"Hide sidebar",u=!l();return s!==n.e&&Y(t,"title",n.e=s),i!==n.t&&Y(t,"aria-label",n.t=i),u!==n.a&&Y(t,"aria-pressed",n.a=u),n},{e:void 0,t:void 0,a:void 0}),t})(),m(se,{side:"left",isCollapsed:l,get width(){return e.sidebarState.leftSidebarWidth},get onMouseDown(){return e.sidebarResize.handleMouseDown},get onToggleClick(){return e.sidebarResize.handleToggleClick},get children(){var t=st(),n=t.firstChild,s=n.firstChild,i=s.firstChild,u=a;typeof u=="function"?C(u,t):a=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}}),n);var d=r;return typeof d=="function"?C(d,n):r=n,v(s,m(S,{get when(){return e.contactUrl()},children:c=>(()=>{var f=dt(),p=f.firstChild;return f.$$click=w=>J(w.currentTarget,{url:e.accountDocUrl,toolId:"account-picker"}),p._$owner=k(),R(()=>p.docUrl=c()),f})()}),i),v(s,m(S,{get when(){return e.moduleSettingsUrl()},children:c=>(()=>{var f=ut();return f.$$click=p=>J(p.currentTarget,{url:c(),toolId:"packages"}),f})()}),i),i.$$click=c=>J(c.currentTarget,{url:e.accountDocUrl,toolId:"frame-configurator"}),R(()=>t.classList.toggle("threepane-sidebar--has-tray",!!o())),t}}),m(S,{get when(){return o()},get children(){var t=ct();return v(t,m(ve,{get slots(){return e.traySlots}})),R(n=>{var s=!!l(),i=`${e.sidebarState.leftSidebarWidth()}px`;return s!==n.e&&t.classList.toggle("frame__tray-dock--collapsed",n.e=s),i!==n.t&&rt(t,"width",n.t=i),n},{e:void 0,t:void 0}),t}}),tt(()=>e.children)]}function yt(){return mt()}function Dr(e){return(l,o)=>ht(()=>m(gt,{handle:l,get repo(){return o.repo},isolation:e}),o)}et(["click"]);export{_t as FrameLayout,gt as PatchworkFrame,Dr as renderPatchworkFrame};
2
- //# sourceMappingURL=PatchworkFrame-GEEBBGCS.js.map
1
+ import{a as M,b as ce,c as H,d as U}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 P,m as F,n as W,o as de,p as ue,q as me,r as fe}from"./chunk-MSZ7JVNB.js";import{b as Ue}from"./chunk-FW4363Y4.js";import{template as _}from"solid-js/web";import{delegateEvents as et}from"solid-js/web";import{memo as tt}from"solid-js/web";import{setStyleProperty as rt}from"solid-js/web";import{setAttribute as Y}from"solid-js/web";import{effect as R}from"solid-js/web";import{getOwner as k}from"solid-js/web";import{use as C}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 ft}from"@inkandswitch/patchwork-providers";import{template as q}from"solid-js/web";import{delegateEvents as Re}from"solid-js/web";import{memo as Le}from"solid-js/web";import{insert as pe}from"solid-js/web";import{createComponent as I}from"solid-js/web";import{For as Pe,Show as z}from"solid-js";var Ae=q("<div class=threepane-widgets>"),xe=q("<div class=threepane-widgets__empty><button type=button class=threepane-widgets__add>\uFF0B Add document list"),Oe=q("<div class=threepane-widget>");function he(e){let l=()=>{let o=e.rootFolderUrl(),a=e.configHandle();!o||!a||a.change(r=>{r.sidebar.widgets.push([H,o])})};return(()=>{var o=Ae();return pe(o,I(z,{get when(){return e.ready()},get children(){return I(z,{get when(){return e.widgets().length},get fallback(){return I(z,{get when(){return Le(()=>!!e.rootFolderUrl())()&&e.configHandle()},get children(){var a=xe(),r=a.firstChild;return r.$$click=l,a}})},get children(){return I(Pe,{get each(){return e.widgets()},children:a=>(()=>{var r=Oe();return pe(r,I(W,{slot:a})),r})()})}})}})),o})()}Re(["click"]);import{template as we}from"solid-js/web";import{setAttribute as Fe}from"solid-js/web";import{effect as We}from"solid-js/web";import{insert as ge}from"solid-js/web";import{createComponent as K}from"solid-js/web";import{For as Ne,Show as Ve}from"solid-js";var Me=we("<div class=frame-tray>"),He=we("<div class=frame-tray__item>");function ve(e){return K(Ve,{get when(){return e.slots().length},get children(){var l=Me();return ge(l,K(Ne,{get each(){return F(e.slots())},children:o=>(()=>{var a=He();return ge(a,K(W,{slot:o})),We(()=>Fe(a,"data-tray-id",P(o))),a})()})),l}})}import{createEffect as V,createMemo as pt,createSignal as b,onCleanup as L,onMount as ke,Show as S}from"solid-js";import{render as ht}from"solid-js/web";import{createDocOfDatatype2 as je}from"@inkandswitch/patchwork-plugins";import{getRegistry as Be}from"@inkandswitch/patchwork-plugins";function N(e){return Be("patchwork:datatype").loadWhenReady(e)}var ze=new Set(["document-title","spacer"]);function _e(e){return e?[[H,e]]:[]}function qe(e,l){if(!((e.version??0)>=1)){if(e.sidebar||(e.sidebar={widgets:[]}),l&&!e.sidebar.widgets?.length&&(e.sidebar.widgets=_e(l)),!e.tray)e.tray=M.slice();else{let o=F(e.tray);o.length!==e.tray.length&&(e.tray=o);let a=new Set(e.tray.map(r=>P(r)));for(let r of M)a.has(r)||(e.tray.push(r),a.add(r))}e.doctitle?.tools?.length||(e.doctitle={...e.doctitle,tools:ce.slice()}),!(!e.sidebar.widgets?.length&&!l)&&(e.version=1)}}async function ye(e,l){let o=e.doc()?.rootFolderUrl,a=e.doc()?.tools?.threepane;if(a){let i=await l.find(a);if((i.doc()?.version??0)>=1)return;i.change(u=>qe(u,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(),n=(t?.documentToolbarToolIds??[]).filter(i=>!ze.has(i)),s=await je(r,l);s.change(i=>{n.length&&(i.doctitle.tools=n),i.sidebar.widgets=_e(t?.rootFolderUrl),i.tray||(i.tray=M.slice()),t?.rootFolderUrl?i.version=1:delete i.version}),e.change(i=>{i.tools||(i.tools={}),i.tools.threepane||(i.tools.threepane=s.url)})}var Se=Ue(Ie(),1);import{createDocOfDatatype2 as Ke}from"@inkandswitch/patchwork-plugins";var g=(0,Se.default)("patchwork:threepane:examples");async function $e(e,l){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(d=>{d.exampleDocsSeededAt||(d.exampleDocsSeededAt=Date.now())});let a=await l.find(o.rootFolderUrl),r=a.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"),n=t?[]:await Ye();if(g(t?"gaios examples":"bundle init scripts:",n),!t&&!n.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 i=await Ke(s,l,d=>{d.title="Examples"});if(t){let{seedGaiosExamples:d}=await import("./gaiosExamples-YDNQB35L.js");await d(l,i)}for(let d of n)try{await(await import(d)).default?.(l,i),g("ran init script",d)}catch(c){g("init script unavailable or failed",d,c)}let u=i.doc()?.docs?.length??0;if(!u){g("no bundle contributed any documents");return}a.change(d=>{d.docs.unshift({name:"Examples",type:"folder",url:i.url})}),g(`seeded ${u} document(s) into Examples folder`,i.url)}var be="https://patchwork-tools.netlify.app/init.js",De="https://patchwork-base.netlify.app/init.js";function Ge(){return document.documentElement.getAttribute("data-examples")==="site"}async function Ye(){let e=Ge(),l=window.patchwork?.packages;if(!l?.urls)return e?[]:[De,be];await l.doneLoading;let o=Object.values(l.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 a=o.length?[]:[De];return[...new Set([...o,...a,be])]}import{createEffect as Xe,createMemo as Je,createSignal as Qe,onCleanup as Ze}from"solid-js";function G(e){let[l,o]=Qe(0);return Xe(()=>{let a=e();if(!a)return;let r=()=>o(t=>t+1);a.on("change",r),Ze(()=>a.off("change",r))}),Je(()=>(l(),e()?.doc()))}var ot=_("<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),nt=_("<div style=display:contents>"),it=_("<div class=main-area>"),at=_("<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),lt=_('<button type=button class="frame__sidebar-toggle frame__left-toggle">'),st=_("<div class=threepane-sidebar><div class=threepane-sidebar__footer><footer class=threepane-account-bar><button type=button class=threepane-account-bar__button>Settings"),ct=_("<div class=frame__tray-dock>"),dt=_('<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),ut=_("<button type=button class=threepane-account-bar__button>Packages"),mt=_('<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,l)=>{let[o,a]=b(!1);return V(()=>{let r=l();if(!r)return;a(!1);let t=n=>{n.detail?.componentId===e&&a(!0)};r.addEventListener("patchwork:mounted",t),L(()=>r.removeEventListener("patchwork:mounted",t))}),o};function J(e,l){e.dispatchEvent(new CustomEvent("patchwork:open-document",{detail:l,bubbles:!0,composed:!0}))}function gt({handle:e,repo:l,...o}){me();let a=e.url,[r,t]=b(),n=X("patchwork-account-provider",r),[s,i]=b(),u=X("patchwork-tool-storage-provider",s),[d,c]=b(),f=X("patchwork-selected-doc-provider",d),p=pt(()=>f()&&n()&&u());return(()=>{var w=ot(),E=w.firstChild,Q=E.firstChild,A=E.nextSibling,h=A.firstChild,D=h.firstChild,$=D.firstChild,T=$.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),C(c,h),h._$owner=k(),C(t,D),D.docUrl=a,D._$owner=k(),C(i,$),$.docUrl=a,$._$owner=k(),T._$owner=k(),v(T,m(S,{get when(){return p()},get children(){return m(wt,{handle:e,repo:l,get isolation(){return o.isolation}})}})),w})()}function wt(e){let l=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(l),a=e.handle.url,r=()=>o()?.tools?.threepane,t=B(()=>r(),{repo:e.repo}),n=G(t),s=()=>n()?.doctitle?.tools,i=()=>n()?.sidebar?.widgets??[],u=()=>n()?.tray??[],d=()=>o()?.rootFolderUrl,c=ie(),f=ae("left",{isCollapsed:c.isSidebarCollapsed,setCollapsed:c.setIsSidebarCollapsed,setWidth:c.setLeftSidebarWidth}),p,[w,E]=b(null),[Q,A]=b(null);ke(()=>{let y=ft(p,{type:"patchwork:selected-view"},x=>E(x));L(y)});let h=()=>w()?.url,D=()=>w()?.toolId??void 0,$=()=>oe(j.rightWidth,re),T=()=>ne(j.rightCollapsed),[Ce,Z]=b(),Ee=le(Ce,h),[ee,Te]=b(!1);return V(()=>{ee()||(e.isolation||!h()||Ee())&&Te(!0)}),(()=>{var y=nt(),x=p;return typeof x=="function"?C(x,y):p=y,v(y,m(_t,{accountDocUrl:a,sidebarState:c,sidebarResize:f,sidebarWidgets:i,traySlots:u,configHandle:t,rootFolderUrl:d,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 O=it();return v(O,m(de,{viewKey:h,selectedDocUrl:h,toolId:D,ref:Z})),O})()},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:T})},get children(){return m(fe,{get contactUrl(){return o()?.contactUrl},selectedDocUrl:h,selectedToolId:D,doctitleSlots:s,get isLeftCollapsed(){return c.isSidebarCollapsed},initialRightWidth:$,initialRightCollapsed:T})}})}})}}),null),v(y,m(S,{get when(){return Q()},children:O=>m(vt,{get view(){return O()},onClose:()=>A(null)})}),null),y})()}function vt(e){let[l,o]=b(e.view.toolId??void 0);V(()=>o(e.view.toolId??void 0));let a;return ke(()=>{let r=s=>{s.key==="Escape"&&e.onClose()};window.addEventListener("keydown",r),L(()=>window.removeEventListener("keydown",r));let t=a;if(!t)return;let n=s=>{let{url:i,toolId:u}=s.detail;i&&(s.stopPropagation(),o(u??void 0))};t.addEventListener("patchwork:open-document",n),L(()=>t.removeEventListener("patchwork:open-document",n))}),(()=>{var r=at(),t=r.firstChild,n=t.firstChild,s=n.firstChild,i=n.nextSibling,u=i.firstChild;r.$$click=()=>e.onClose(),t.$$click=c=>c.stopPropagation();var d=a;return typeof d=="function"?C(d,t):a=t,s._$owner=k(),u._$owner=k(),R(c=>{var f=e.view.url,p=e.view.url,w=l();return f!==c.e&&(s.docUrl=c.e=f),p!==c.t&&(u.docUrl=c.t=p),w!==c.a&&(u.toolId=c.a=w),c},{e:void 0,t:void 0,a:void 0}),r})()}function _t(e){let l=e.sidebarState.isSidebarCollapsed,o=()=>e.traySlots().length>0,a,r;return V(()=>{if(l())return;let t=a;if(!t)return;let n=r,s=i=>{let{url:u,toolId:d}=i.detail;if(e.isolation&&u&&n&&i.composedPath().includes(n)){i.stopPropagation(),e.onInterceptOpen?.({url:u,toolId:d??null});return}t.getBoundingClientRect().width<=window.innerWidth*.75||(e.sidebarState.setIsSidebarCollapsed(!0),window.dispatchEvent(new CustomEvent(te)))};t.addEventListener("patchwork:open-document",s),L(()=>t.removeEventListener("patchwork:open-document",s))}),[(()=>{var t=lt();return t.$$click=()=>e.sidebarState.setIsSidebarCollapsed(n=>!n),v(t,m(yt,{})),R(n=>{var s=l()?"Show sidebar":"Hide sidebar",i=l()?"Show sidebar":"Hide sidebar",u=!l();return s!==n.e&&Y(t,"title",n.e=s),i!==n.t&&Y(t,"aria-label",n.t=i),u!==n.a&&Y(t,"aria-pressed",n.a=u),n},{e:void 0,t:void 0,a:void 0}),t})(),m(se,{side:"left",isCollapsed:l,get width(){return e.sidebarState.leftSidebarWidth},get onMouseDown(){return e.sidebarResize.handleMouseDown},get onToggleClick(){return e.sidebarResize.handleToggleClick},get children(){var t=st(),n=t.firstChild,s=n.firstChild,i=s.firstChild,u=a;typeof u=="function"?C(u,t):a=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}}),n);var d=r;return typeof d=="function"?C(d,n):r=n,v(s,m(S,{get when(){return e.contactUrl()},children:c=>(()=>{var f=dt(),p=f.firstChild;return f.$$click=w=>J(w.currentTarget,{url:e.accountDocUrl,toolId:"account-picker"}),p._$owner=k(),R(()=>p.docUrl=c()),f})()}),i),v(s,m(S,{get when(){return e.moduleSettingsUrl()},children:c=>(()=>{var f=ut();return f.$$click=p=>J(p.currentTarget,{url:c(),toolId:"packages"}),f})()}),i),i.$$click=c=>J(c.currentTarget,{url:e.accountDocUrl,toolId:"frame-configurator"}),R(()=>t.classList.toggle("threepane-sidebar--has-tray",!!o())),t}}),m(S,{get when(){return o()},get children(){var t=ct();return v(t,m(ve,{get slots(){return e.traySlots}})),R(n=>{var s=!!l(),i=`${e.sidebarState.leftSidebarWidth()}px`;return s!==n.e&&t.classList.toggle("frame__tray-dock--collapsed",n.e=s),i!==n.t&&rt(t,"width",n.t=i),n},{e:void 0,t:void 0}),t}}),tt(()=>e.children)]}function yt(){return mt()}function Dr(e){return(l,o)=>ht(()=>m(gt,{handle:l,get repo(){return o.repo},isolation:e}),o)}et(["click"]);export{_t as FrameLayout,gt as PatchworkFrame,Dr as renderPatchworkFrame};
2
+ //# sourceMappingURL=PatchworkFrame-UNWWAISP.js.map
@@ -1,4 +1,4 @@
1
- import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T=E*60,D=T*60,k=D*24,Ut=k*7,jt=k*365.25;Se.exports=function(e,r){r=r||{};var t=typeof e;if(t==="string"&&e.length>0)return Nt(e);if(t==="number"&&isFinite(e))return r.long?Ht(e):Wt(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function Nt(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*jt;case"weeks":case"week":case"w":return t*Ut;case"days":case"day":case"d":return t*k;case"hours":case"hour":case"hrs":case"hr":case"h":return t*D;case"minutes":case"minute":case"mins":case"min":case"m":return t*T;case"seconds":case"second":case"secs":case"sec":case"s":return t*E;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function Wt(e){var r=Math.abs(e);return r>=k?Math.round(e/k)+"d":r>=D?Math.round(e/D)+"h":r>=T?Math.round(e/T)+"m":r>=E?Math.round(e/E)+"s":e+"ms"}function Ht(e){var r=Math.abs(e);return r>=k?B(e,r,k,"day"):r>=D?B(e,r,D,"hour"):r>=T?B(e,r,T,"minute"):r>=E?B(e,r,E,"second"):e+" ms"}function B(e,r,t,o){var n=r>=t*1.5;return Math.round(e/t)+" "+o+(n?"s":"")}});var Te=ne((Ko,Ee)=>{function Bt(e){t.debug=t,t.default=t,t.coerce=m,t.disable=a,t.enable=n,t.enabled=p,t.humanize=$e(),t.destroy=h,Object.keys(e).forEach(s=>{t[s]=e[s]}),t.names=[],t.skips=[],t.formatters={};function r(s){let l=0;for(let f=0;f<s.length;f++)l=(l<<5)-l+s.charCodeAt(f),l|=0;return t.colors[Math.abs(l)%t.colors.length]}t.selectColor=r;function t(s){let l,f=null,g,b;function d(...c){if(!d.enabled)return;let u=d,v=Number(new Date),y=v-(l||v);u.diff=y,u.prev=l,u.curr=v,l=v,c[0]=t.coerce(c[0]),typeof c[0]!="string"&&c.unshift("%O");let x=0;c[0]=c[0].replace(/%([a-zA-Z%])/g,(oe,gt)=>{if(oe==="%%")return"%";x++;let me=t.formatters[gt];if(typeof me=="function"){let bt=c[x];oe=me.call(u,bt),c.splice(x,1),x--}return oe}),t.formatArgs.call(u,c),(u.log||t.log).apply(u,c)}return d.namespace=s,d.useColors=t.useColors(),d.color=t.selectColor(s),d.extend=o,d.destroy=t.destroy,Object.defineProperty(d,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(g!==t.namespaces&&(g=t.namespaces,b=t.enabled(s)),b),set:c=>{f=c}}),typeof t.init=="function"&&t.init(d),d}function o(s,l){let f=t(this.namespace+(typeof l>"u"?":":l)+s);return f.log=this.log,f}function n(s){t.save(s),t.namespaces=s,t.names=[],t.skips=[];let l=(typeof s=="string"?s:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let f of l)f[0]==="-"?t.skips.push(f.slice(1)):t.names.push(f)}function i(s,l){let f=0,g=0,b=-1,d=0;for(;f<s.length;)if(g<l.length&&(l[g]===s[f]||l[g]==="*"))l[g]==="*"?(b=g,d=f,g++):(f++,g++);else if(b!==-1)g=b+1,d++,f=d;else return!1;for(;g<l.length&&l[g]==="*";)g++;return g===l.length}function a(){let s=[...t.names,...t.skips.map(l=>"-"+l)].join(",");return t.enable(""),s}function p(s){for(let l of t.skips)if(i(s,l))return!1;for(let l of t.names)if(i(s,l))return!0;return!1}function m(s){return s instanceof Error?s.stack||s.message:s}function h(){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}Ee.exports=Bt});var De=ne((w,q)=>{w.formatArgs=Vt;w.save=Jt;w.load=Yt;w.useColors=qt;w.storage=Xt();w.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`."))}})();w.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 qt(){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 Vt(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+q.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)}w.log=console.debug||console.log||(()=>{});function Jt(e){try{e?w.storage.setItem("debug",e):w.storage.removeItem("debug")}catch{}}function Yt(){let e;try{e=w.storage.getItem("debug")||w.storage.getItem("DEBUG")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function Xt(){try{return localStorage}catch{}}q.exports=Te()(w);var{formatters:Kt}=q.exports;Kt.j=function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}});import{template as ut}from"solid-js/web";import{createComponent as fo}from"solid-js/web";import{setAttribute as ho}from"solid-js/web";import{effect as uo}from"solid-js/web";import{insert as mt}from"solid-js/web";import{getOwner as mo}from"solid-js/web";import{createMemo as ft}from"solid-js";import{createStore as vo,reconcile as wo}from"solid-js/store";import{render as xo}from"solid-js/web";import{template as ue}from"solid-js/web";import{insert as N}from"solid-js/web";import{getOwner as Q}from"solid-js/web";import{use as ee}from"solid-js/web";import{createComponent as _}from"solid-js/web";import{createUniqueId as wt,untrack as ge}from"solid-js";import{isServer as xt,isDev as be}from"solid-js/web";import{reconcile as yt}from"solid-js/store";function ae(e,r={}){let t=r.storage||globalThis.localStorage,o=r.name||`storage-${wt()}`;if(!t)return Object.assign(e,{2:null});let n=r.storageOptions,i=r.serialize||JSON.stringify.bind(JSON),a=r.deserialize||JSON.parse.bind(JSON),p=t.getItem(o,n),m=typeof e[0]=="function"?s=>{try{let l=a(s);e[1](()=>l)}catch(l){be&&console.warn(l)}}:s=>{try{let l=a(s);e[1](yt(l))}catch(l){be&&console.warn(l)}},h=!0;if(p instanceof Promise?p.then(s=>h&&s&&m(s)):p&&m(p),typeof r.sync?.[0]=="function"){let s=typeof e[0]=="function"?e[0]:()=>e[0];r.sync[0](l=>{l.key!==o||!xt&&(l.url||globalThis.location.href)!==globalThis.location.href||l.newValue===i(ge(s))||m(l.newValue)})}return Object.assign([],e,{1:typeof e[0]=="function"?s=>{let l=e[1](s),f=s!=null?i(l):s;return r.sync?.[1](o,f),f!=null?t.setItem(o,f,n):t.removeItem(o,n),h=!1,l}:(...s)=>{e[1](...s);let l=ge(()=>i(e[0]));r.sync?.[1](o,l),t.setItem(o,l,n),h=!1},2:p})}import{createEffect as st,createMemo as lt,createSignal as S,on as ct,onCleanup as so,onMount as lo,Show as te}from"solid-js";import{createEffect as ve,createSignal as we,on as xe}from"solid-js";var C={leftCollapsed:"patchwork:leftSidebarCollapsed",rightCollapsed:"patchwork:rightSidebarCollapsed",leftWidth:"patchwork:leftSidebarWidth",rightWidth:"patchwork:rightSidebarWidth",contextToolId:"patchwork:contextSidebarToolId"},W="patchwork:collapse-context-sidebar",H=400;function ye(e,r){let t=localStorage.getItem(e);return t?parseInt(t,10):r}function Ce(e){return localStorage.getItem(e)==="true"}function Ct(){let[e,r]=we(Ce(C.leftCollapsed)),[t,o]=we(ye(C.leftWidth,H));return ve(xe(e,n=>{localStorage.setItem(C.leftCollapsed,String(n))})),ve(xe(t,n=>{localStorage.setItem(C.leftWidth,String(n))})),{isSidebarCollapsed:e,setIsSidebarCollapsed:r,leftSidebarWidth:t,setLeftSidebarWidth:o}}import{onCleanup as _t,onMount as kt}from"solid-js";var _e=180,St=720,$t=120,ke=3;function ie(e,{isCollapsed:r,setCollapsed:t,setWidth:o}){let n=!1,i=null,a=!1,p=null,m=u=>{if(u<$t){r()||t(!0),p=null;return}r()&&t(!1);let v=Math.min(St,u);o(v),p=v},h=()=>{r()||p!==null&&p<_e&&o(_e)},s=null,l=()=>{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,i=null,document.body.style.userSelect="",document.body.removeAttribute("data-sidebar-resizing"),s?.remove(),s=null},g=u=>{u.preventDefault(),i={x:u.clientX,y:u.clientY},a=!1,p=null,n=!0,document.body.style.userSelect="none"},b=()=>{let u=n,v=a;f(),u&&v&&h()},d=u=>{if(!n||!i)return;let v=Math.abs(u.clientX-i.x),y=Math.abs(u.clientY-i.y);!a&&(v>ke||y>ke)&&(a=!0,l()),m(e==="left"?u.clientX:window.innerWidth-u.clientX)},c=u=>{if(a){u.preventDefault(),u.stopPropagation(),a=!1;return}t(v=>!v)};return kt(()=>{document.addEventListener("mousemove",d),document.addEventListener("mouseup",b),_t(()=>{document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",b),n&&f()})}),{handleMouseDown:g,handleToggleClick:c}}import{createEffect as Et,createSignal as Tt,onCleanup as Dt}from"solid-js";var $=(e,r)=>{let[t,o]=Tt(!1);return Et(()=>{let n=r();if(!n)return;o(!1);let i=a=>{a.detail?.componentId===e&&o(!0)};n.addEventListener("patchwork:mounted",i),Dt(()=>n.removeEventListener("patchwork:mounted",i))}),t};import{createEffect as At,createSignal as It,onCleanup as Ft}from"solid-js";var Rt=5e3,Ot=(e,r)=>{let[t,o]=It(!1);return At(()=>{if(t())return;let n=e(),i=r();if(!n||!i)return;let a=m=>{let h=m.detail;h?.url&&h.url!==i||o(!0)};n.addEventListener("patchwork:mounted",a),n.addEventListener("patchwork:no-tool",a);let p=setTimeout(()=>o(!0),Rt);Ft(()=>{n.removeEventListener("patchwork:mounted",a),n.removeEventListener("patchwork:no-tool",a),clearTimeout(p)})}),t};import{getRegistry as Mt}from"@inkandswitch/patchwork-plugins";import{createMemo as Lt,createSignal as zt,onCleanup as Pt}from"solid-js";function O(e){let r=Mt("patchwork:component"),[t,o]=zt(0),n=r.on("changed",()=>o(i=>i+1));return Pt(n),Lt(()=>(t(),(r.all?.()??[]).filter(i=>(i.tags??[]).includes(e)).map(i=>({id:i.id,name:i.name||i.id,icon:i.icon})).sort((i,a)=>i.name.localeCompare(a.name))))}import{template as j}from"solid-js/web";import{delegateEvents as jr}from"solid-js/web";import{getOwner as Nr}from"solid-js/web";import{effect as rt}from"solid-js/web";import{setAttribute as Wr}from"solid-js/web";import{memo as ot}from"solid-js/web";import{insert as F}from"solid-js/web";import{createComponent as R}from"solid-js/web";import{For as Yr,Show as fe}from"solid-js";import{template as Pe}from"solid-js/web";import{delegateEvents as sr}from"solid-js/web";import{setAttribute as lr}from"solid-js/web";import{insert as cr}from"solid-js/web";import"solid-js/web";import{effect as ze}from"solid-js/web";import{use as Ue}from"solid-js/web";import{createComponent as se}from"solid-js/web";var Fe=vt(De(),1),Re=(0,Fe.default)("cabbages");function Ae(e){return typeof e=="object"&&typeof e!=null&&Object.getPrototypeOf(e)==Object.prototype}var Gt="\uFFFC";function Oe(e,...r){if(r.length==0){Re("empty patch");return}let[t,o,n]=r,i=[...t];for(;;){let a=i.shift();if(!i.length){let m=Array.isArray(o);if(Ae(e)&&m&&typeof a>"u"&&typeof o[0]=="string"){delete e[o[0]];return}if(m||typeof o=="number"){if(typeof a>"u")throw new Error("cant treat top level as a seq");a=a;let[h,s]=Array.isArray(o)?o:[o,o+1],l=Array.isArray(o)&&o.length==0;if(!l&&(h==null||s==null))throw new RangeError("it's all or nothing, no half measures");let f=typeof n>"u",g=h===s&&!f,b=l&&!f,d=!g&&!f&&!b;if(typeof e[a]>"u"){if(typeof e=="string")return;typeof n=="string"?e[a]="":e[a]=[]}let c=e[a];if(Array.isArray(c)){if(b){Array.isArray(n)?c.push(...n):c.push(n);return}if(g||d){Array.isArray(n)?c.splice(h,s-h,...n):c.splice(h,s-h,n);return}if(f){c.splice(h,s-h);return}throw new Error("i don't know what happened")}if(typeof c=="string"){if(b){e[a]=c+n;return}if(d||g){e[a]=c.slice(0,h)+(typeof n=="string"?n:n.map(u=>typeof u=="string"?u:Gt).join(""))+c.slice(s);return}if(f){e[a]=c.slice(0,h)+c.slice(s);return}throw new Error("i don't know what happened")}if(Ae(c)&&m&&typeof o[0]=="string"){delete c[o[0]];return}throw new Error("not implemented")}if(typeof a>"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[a]>"u"&&(e[a]={}),m){let[h,s]=o;h!=null&&s!=null&&(typeof n>"u"&&h!=null&&s!=null?delete e[a][h||s]:e[a][h||s]=n)}else if(typeof n>"u")delete e[a][o];else{if(typeof e[a]=="string")return;e[a][o]=n}return}if(typeof a>"u")throw new Error("cant treat top level as a seq");a=a;let p=i[0];if(typeof e[a]>"u")if(typeof p=="string")e[a]={};else if(typeof p=="number")e[a]=[];else throw new Error(`can't go down this road ${e}.${a}.${p}`);e=e[a]}}function Ie(e,r){for(let t=0;t<r.length;t++)e=e?e[r[t]]:void 0;return e}function Me(e,r){let t=e.path.slice(0,-1),o=e.path[e.path.length-1];switch(e.action){case"mark":case"unmark":return Re(`skipping ${e.action} because it doesn't affect material reality`),[];case"inc":if(r)return[t,o,Ie(r.patchInfo.after,e.path)];throw new Error(`can't apply ${e.action} without payload argument`);case"conflict":if(r)return[t,o,Ie(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 V(e){return r=>{for(let t of e.patches)Oe(r,...Me(t,e))}}import{createMemo as tr}from"solid-js";import{onCleanup as Zt}from"solid-js";import{createStore as Qt,produce as er,reconcile as Le}from"solid-js/store";var M=new WeakMap;function J(e){if(Zt(()=>{let i=M.get(e);i&&(i.refs--||i.cleanup())}),M.has(e)){let i=M.get(e);return i.refs++,i.store}let[r,t]=Qt(structuredClone(e.doc()));M.set(e,{refs:0,store:r,cleanup(){e.off("change",o),e.off("delete",n),M.delete(e)}});function o(i){if(i.scopeReplaced){t(Le(i.doc??{}));return}t(er(V(i)))}function n(){t(Le({}))}return e.on("change",o),e.on("delete",n),e.whenReady().then(()=>{t(structuredClone(e.doc()))}),r}import{getOwner as an,onCleanup as sn,createSignal as ln,untrack as cn,sharedConfig as dn,onMount as pn,DEV as fn,equalFn as hn}from"solid-js";import{isServer as mn}from"solid-js/web";var A=e=>typeof e=="function"&&!e.length?e():e;function Y(e){return tr(()=>A(e)&&J(A(e)))}import{createEffect as or,createResource as nr,useContext as ar}from"solid-js";import{createContext as rr}from"solid-js";var X=rr(null);function L(e,r){let t=ar(X);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 p=A(e);if(!p)return;let m=o.findWithProgress(p).peek();return m.state==="ready"?m.handle:void 0}let[i,{mutate:a}]=nr(e,p=>o.findWithProgress(p).whenReady(),{initialValue:n()});return or(()=>{A(e)||a()}),i}function K(e,r){let t=L(e,r);return[Y(t),t]}import{onCleanup as Fn}from"solid-js";import{createSignal as On}from"solid-js";import{createEffect as zn,onCleanup as Pn}from"solid-js";import{createSignal as jn}from"solid-js";import{useContext as Jn}from"solid-js";import{getType as pr}from"@inkandswitch/patchwork-filesystem";import{getRegistry as fr,isLoadedPlugin as hr}from"@inkandswitch/patchwork-plugins";import{createEffect as ur,createMemo as G,createSignal as le,onCleanup as mr,onMount as Ne,Show as We}from"solid-js";var je=Pe("<span class=threepane__title-text>"),dr=Pe("<input class=threepane__title-input type=text>");function He(e){let r,[t,o]=le();return Ne(()=>{o(r.closest("repo-provider")?.repo)}),se(We,{get when(){return t()},get fallback(){return(()=>{var n=je(),i=r;return typeof i=="function"?Ue(i,n):r=n,n})()},children:n=>se(gr,{get docUrl(){return e.docUrl},get repo(){return n()}})})}function gr(e){let[r,t]=K(()=>e.docUrl(),{repo:e.repo}),o=fr("patchwork:datatype"),[n,i]=le(0);Ne(()=>{let d=o.on("changed",()=>i(c=>c+1));mr(d)});let a=G(()=>{let d=r();return d?pr(d):void 0});ur(()=>{let d=a();d&&o.load(d)});let p=G(()=>{n();let d=a();if(!d)return;let c=o.get(d);return c&&hr(c)?c:void 0}),m=G(()=>{let d=r(),c=p();if(!(!d||!c))return c.module.getTitle(d)}),h=G(()=>!!t()&&typeof p()?.module.setTitle=="function"),[s,l]=le(!1),f;function g(){h()&&(l(!0),queueMicrotask(()=>{f?.focus(),f?.select()}))}function b(d){if(!s()||(l(!1),!d))return;let c=f?.value.trim();if(!c||c===m())return;let u=t(),v=p()?.module.setTitle;!u||!v||u.change(y=>{v(y,c);let x=y["@patchwork"];x&&(x.title=c)})}return se(We,{get when(){return s()},get fallback(){return(()=>{var d=je();return d.$$click=g,cr(d,()=>m()??"Untitled"),ze(c=>{var u=!!h(),v=h()?"Rename":void 0;return u!==c.e&&d.classList.toggle("threepane__title-text--editable",c.e=u),v!==c.t&&lr(d,"title",c.t=v),c},{e:void 0,t:void 0}),d})()},get children(){var d=dr();d.$$keydown=u=>{u.key==="Enter"?(u.preventDefault(),b(!0)):u.key==="Escape"&&(u.preventDefault(),b(!1))},d.addEventListener("blur",()=>b(!0));var c=f;return typeof c=="function"?Ue(c,d):f=d,ze(()=>d.value=m()??""),d}})}sr(["keydown","click"]);import{template as U}from"solid-js/web";import{delegateEvents as Dr}from"solid-js/web";import{getOwner as Ar}from"solid-js/web";import{insert as P}from"solid-js/web";import{createComponent as I}from"solid-js/web";import{Show as ce}from"solid-js";import{template as Je}from"solid-js/web";import{delegateEvents as br}from"solid-js/web";import{setStyleProperty as vr}from"solid-js/web";import{insert as wr}from"solid-js/web";import{setAttribute as Z}from"solid-js/web";import{effect as Be}from"solid-js/web";import{memo as z}from"solid-js/web";import{createComponent as qe}from"solid-js/web";import{Show as Ve}from"solid-js";var xr=Je('<button class="sidebar-toggle sidebar-toggle--resizable">'),yr=Je("<div class=sidebar>");function Ye(e){let r=()=>`${e.isCollapsed()?0:e.width()}px`,t=()=>e.canExpand?.()??!0,o=()=>qe(Ve,{get when(){return!e.isCollapsed()},get children(){return e.children}}),n=()=>qe(Ve,{get when(){return!e.isCollapsed()||t()},get children(){var i=xr();return i.$$mousedown=a=>e.onMouseDown(a),i.$$click=a=>e.onToggleClick(a),Be(a=>{var p=e.isCollapsed()?"Expand sidebar":"Toggle or resize sidebar",m=e.isCollapsed()?"Click to expand, drag to resize":"Click to toggle, drag to resize";return p!==a.e&&Z(i,"aria-label",a.e=p),m!==a.t&&Z(i,"title",a.t=m),a},{e:void 0,t:void 0}),i}});return(()=>{var i=yr();return wr(i,(()=>{var a=z(()=>e.side==="left");return()=>a()?[z(o),z(n)]:[z(n),z(o)]})()),Be(a=>{var p=e.side,m=e.isCollapsed()?"":void 0,h=r();return p!==a.e&&Z(i,"data-side",a.e=p),m!==a.t&&Z(i,"data-collapsed",a.t=m),h!==a.a&&vr(i,"width",a.a=h),a},{e:void 0,t:void 0,a:void 0}),i})()}br(["click","mousedown"]);import{template as Ke}from"solid-js/web";import{delegateEvents as Cr}from"solid-js/web";import{setAttribute as _r}from"solid-js/web";import{effect as kr}from"solid-js/web";import{insert as Xe}from"solid-js/web";import{createComponent as Sr}from"solid-js/web";import{For as Tr}from"solid-js";var $r=Ke("<div role=tablist class=context-sidebar__tablist>"),Er=Ke("<button type=button role=tab class=context-sidebar__tab>");function Ge(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=$r();return Xe(t,Sr(Tr,{get each(){return e.items()},children:o=>(()=>{var n=Er();return n.$$click=()=>e.setSelectedToolId(o.id),Xe(n,()=>o.name),kr(()=>_r(n,"data-active",r()===o.id?"":void 0)),n})()})),t})()}Cr(["click"]);var Ir=U('<div class=context-sidebar__tabs><button type=button class=context-sidebar__close title="Hide context sidebar"aria-label="Hide context sidebar">'),Fr=U("<div class=context-sidebar__content>"),Rr=U("<div class=context-sidebar>"),Or=U("<patchwork-view>",!0,!1,!1),Mr=U('<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 Ze(e){let r=O("context-tool"),t=()=>{let o=r().map(i=>i.id),n=e.selectedToolId();return n&&o.includes(n)?n:o[0]};return I(Ye,{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=Rr();return P(o,I(ce,{get when(){return r().length},get children(){var n=Ir(),i=n.firstChild;return P(n,I(Ge,{items:r,get selectedToolId(){return e.selectedToolId},get setSelectedToolId(){return e.setSelectedToolId}}),i),i.$$click=()=>e.onCollapse(),P(i,I(de,{})),n}}),null),P(o,I(ce,{get when(){return!e.isCollapsed()},get children(){var n=Fr();return P(n,I(ce,{get when(){return t()},keyed:!0,children:i=>(()=>{var a=Or();return a.component=i,a._$owner=Ar(),a})()})),n}}),null),o}})}function de(){return Mr()}Dr(["click"]);import{template as Lr}from"solid-js/web";import{effect as Qe}from"solid-js/web";import{getOwner as et}from"solid-js/web";import{createComponent as zr}from"solid-js/web";import{memo as Pr}from"solid-js/web";import{Show as Ur}from"solid-js";var tt=Lr("<patchwork-view>",!0,!1,!1),pe=e=>Array.isArray(e)?String(e[0]):String(e);function oi(e){let r=new Set;return e.filter(t=>{let o=pe(t);return r.has(o)?!1:(r.add(o),!0)})}function ni(e){return zr(Ur,{get when(){return Pr(()=>!!Array.isArray(e.slot))()?e.slot:!1},get fallback(){return(()=>{var r=tt();return r._$owner=et(),Qe(()=>r.component=String(e.slot)),r})()},children:r=>(()=>{var t=tt();return t._$owner=et(),Qe(o=>{var n=r()[1],i=r()[0];return n!==o.e&&(t.docUrl=o.e=n),i!==o.t&&(t.toolId=o.t=i),o},{e:void 0,t:void 0}),t})()})}var Hr=j("<div class=threepane__title>"),Br=j("<div class=threepane__doctitle-tools>"),qr=j('<button type=button class=frame__sidebar-toggle title="Show context sidebar"aria-label="Show context sidebar">'),Vr=j("<div class=frame__topbar><div class=threepane__spacer>"),Jr=j("<patchwork-view>",!0,!1,!1);function nt(e){let r=()=>e.toolSlots()??[];return(()=>{var t=Vr(),o=t.firstChild;return F(t,R(fe,{get when(){return e.docUrl()},get children(){var n=Hr();return F(n,R(He,{get docUrl(){return e.docUrl}})),n}}),o),F(t,R(fe,{get when(){return ot(()=>!!e.docUrl())()&&r().length},get children(){var n=Br();return F(n,R(Yr,{get each(){return r()},children:i=>(()=>{var a=Jr();return a._$owner=Nr(),rt(p=>{var m=pe(i),h=e.docUrl();return m!==p.e&&(a.toolId=p.e=m),h!==p.t&&(a.docUrl=p.t=h),p},{e:void 0,t:void 0}),a})()})),n}}),null),F(t,R(fe,{get when(){return ot(()=>!!e.hasContext())()&&e.isRightCollapsed()},get children(){var n=qr();return n.$$click=()=>e.onToggleRight(),Wr(n,"aria-pressed",!1),F(n,R(de,{})),n}}),null),rt(()=>t.classList.toggle("frame__topbar--left-collapsed",!!e.isLeftCollapsed())),t})()}jr(["click"]);import{template as he}from"solid-js/web";import{effect as Xr}from"solid-js/web";import{getOwner as Kr}from"solid-js/web";import{insert as at}from"solid-js/web";import{memo as Gr}from"solid-js/web";import{createComponent as Zr}from"solid-js/web";import{use as Qr}from"solid-js/web";import{Show as oo}from"solid-js";var eo=he("<div class=document-view>"),to=he("<patchwork-view>",!0,!1,!1),ro=he("<div class=placeholder>Select a document in the sidebar");function it({viewKey:e,selectedDocUrl:r,toolId:t,ref:o}){return(()=>{var n=eo(),i=o;return typeof i=="function"?Qr(i,n):o=n,at(n,Zr(oo,{get when(){return e()},keyed:!0,children:a=>(()=>{var p=to();return p._$owner=Kr(),Xr(m=>{var h=r(),s=t();return h!==m.e&&(p.docUrl=m.e=h),s!==m.t&&(p.toolId=m.t=s),m},{e:void 0,t:void 0}),p})()}),null),at(n,(()=>{var a=Gr(()=>!r());return()=>a()&&ro()})(),null),n})()}var no=ue("<patchwork-view component=patchwork-draft-state-provider>",!0,!1,!1),ao=ue("<div class=frame__main-column><div class=frame__doc-column><div class=main-area>"),io=ue("<patchwork-view component=patchwork-draft-overlay-provider><patchwork-view component=patchwork-comments-provider><patchwork-view component=patchwork-focus-provider>",!0,!1,!1);function dt(e){let[r,t]=S(e.initialRightCollapsed()),[o,n]=S(e.initialRightWidth());st(ct(r,f=>{try{localStorage.setItem(C.rightCollapsed,String(f))}catch{}},{defer:!0})),st(ct(o,f=>{try{localStorage.setItem(C.rightWidth,String(f))}catch{}},{defer:!0}));let i=ie("right",{isCollapsed:r,setCollapsed:t,setWidth:n});lo(()=>{let f=()=>t(!0);window.addEventListener(W,f),so(()=>window.removeEventListener(W,f))});let[a,p]=ae(S(),{name:C.contextToolId}),[m,h]=S(),s=$("patchwork-draft-state-provider",m),l=()=>s()?m():void 0;return _(te,{get when(){return e.selectedDocUrl()},keyed:!0,children:f=>(()=>{var g=no();return ee(h,g),g.docUrl=f,g._$owner=Q(),N(g,_(te,{get when(){return l()},children:b=>_(co,{get host(){return b()},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 i.handleMouseDown},get handleToggleClick(){return i.handleToggleClick},selectedContextToolId:a,setSelectedContextToolId:p})})),g})()})}function co(e){let r=O("context-tool"),t=()=>r().length>0,o=lt(()=>e.selectedDocUrl()),[n,i]=S(),a=$("patchwork-draft-overlay-provider",n),[p,m]=S(),h=$("patchwork-comments-provider",p),[s,l]=S(),f=$("patchwork-focus-provider",s),g=lt(()=>a()&&h()&&f());return(()=>{var b=io(),d=b.firstChild,c=d.firstChild;return ee(i,b),b._$owner=Q(),ee(m,d),d._$owner=Q(),ee(l,c),c._$owner=Q(),N(c,_(te,{get when(){return g()},get children(){var u=ao(),v=u.firstChild,y=v.firstChild;return N(v,_(nt,{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(x=>!x)}),y),N(y,_(it,{viewKey:o,get selectedDocUrl(){return e.selectedDocUrl},get toolId(){return e.selectedToolId},ref:x=>e.setMainDocElement?.(x)})),N(u,_(te,{get when(){return t()},get children(){return _(Ze,{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),u}})),b})()}var re=`:root,
1
+ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T=E*60,D=T*60,k=D*24,Ut=k*7,jt=k*365.25;Se.exports=function(e,r){r=r||{};var t=typeof e;if(t==="string"&&e.length>0)return Nt(e);if(t==="number"&&isFinite(e))return r.long?Ht(e):Wt(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function Nt(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*jt;case"weeks":case"week":case"w":return t*Ut;case"days":case"day":case"d":return t*k;case"hours":case"hour":case"hrs":case"hr":case"h":return t*D;case"minutes":case"minute":case"mins":case"min":case"m":return t*T;case"seconds":case"second":case"secs":case"sec":case"s":return t*E;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function Wt(e){var r=Math.abs(e);return r>=k?Math.round(e/k)+"d":r>=D?Math.round(e/D)+"h":r>=T?Math.round(e/T)+"m":r>=E?Math.round(e/E)+"s":e+"ms"}function Ht(e){var r=Math.abs(e);return r>=k?B(e,r,k,"day"):r>=D?B(e,r,D,"hour"):r>=T?B(e,r,T,"minute"):r>=E?B(e,r,E,"second"):e+" ms"}function B(e,r,t,o){var n=r>=t*1.5;return Math.round(e/t)+" "+o+(n?"s":"")}});var Te=ne((Ko,Ee)=>{function Bt(e){t.debug=t,t.default=t,t.coerce=m,t.disable=a,t.enable=n,t.enabled=p,t.humanize=$e(),t.destroy=u,Object.keys(e).forEach(s=>{t[s]=e[s]}),t.names=[],t.skips=[],t.formatters={};function r(s){let l=0;for(let h=0;h<s.length;h++)l=(l<<5)-l+s.charCodeAt(h),l|=0;return t.colors[Math.abs(l)%t.colors.length]}t.selectColor=r;function t(s){let l,h=null,g,b;function c(...d){if(!c.enabled)return;let f=c,v=Number(new Date),y=v-(l||v);f.diff=y,f.prev=l,f.curr=v,l=v,d[0]=t.coerce(d[0]),typeof d[0]!="string"&&d.unshift("%O");let x=0;d[0]=d[0].replace(/%([a-zA-Z%])/g,(oe,gt)=>{if(oe==="%%")return"%";x++;let me=t.formatters[gt];if(typeof me=="function"){let bt=d[x];oe=me.call(f,bt),d.splice(x,1),x--}return oe}),t.formatArgs.call(f,d),(f.log||t.log).apply(f,d)}return c.namespace=s,c.useColors=t.useColors(),c.color=t.selectColor(s),c.extend=o,c.destroy=t.destroy,Object.defineProperty(c,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(g!==t.namespaces&&(g=t.namespaces,b=t.enabled(s)),b),set:d=>{h=d}}),typeof t.init=="function"&&t.init(c),c}function o(s,l){let h=t(this.namespace+(typeof l>"u"?":":l)+s);return h.log=this.log,h}function n(s){t.save(s),t.namespaces=s,t.names=[],t.skips=[];let l=(typeof s=="string"?s:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let h of l)h[0]==="-"?t.skips.push(h.slice(1)):t.names.push(h)}function i(s,l){let h=0,g=0,b=-1,c=0;for(;h<s.length;)if(g<l.length&&(l[g]===s[h]||l[g]==="*"))l[g]==="*"?(b=g,c=h,g++):(h++,g++);else if(b!==-1)g=b+1,c++,h=c;else return!1;for(;g<l.length&&l[g]==="*";)g++;return g===l.length}function a(){let s=[...t.names,...t.skips.map(l=>"-"+l)].join(",");return t.enable(""),s}function p(s){for(let l of t.skips)if(i(s,l))return!1;for(let l of t.names)if(i(s,l))return!0;return!1}function m(s){return s instanceof Error?s.stack||s.message:s}function u(){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}Ee.exports=Bt});var De=ne((w,q)=>{w.formatArgs=Vt;w.save=Jt;w.load=Yt;w.useColors=qt;w.storage=Xt();w.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`."))}})();w.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 qt(){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 Vt(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+q.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)}w.log=console.debug||console.log||(()=>{});function Jt(e){try{e?w.storage.setItem("debug",e):w.storage.removeItem("debug")}catch{}}function Yt(){let e;try{e=w.storage.getItem("debug")||w.storage.getItem("DEBUG")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function Xt(){try{return localStorage}catch{}}q.exports=Te()(w);var{formatters:Kt}=q.exports;Kt.j=function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}});import{template as ft}from"solid-js/web";import{createComponent as ho}from"solid-js/web";import{setAttribute as uo}from"solid-js/web";import{effect as fo}from"solid-js/web";import{insert as mt}from"solid-js/web";import{getOwner as mo}from"solid-js/web";import{createMemo as ht}from"solid-js";import{createStore as vo,reconcile as wo}from"solid-js/store";import{render as xo}from"solid-js/web";import{template as fe}from"solid-js/web";import{insert as N}from"solid-js/web";import{getOwner as Q}from"solid-js/web";import{use as ee}from"solid-js/web";import{createComponent as _}from"solid-js/web";import{createUniqueId as wt,untrack as ge}from"solid-js";import{isServer as xt,isDev as be}from"solid-js/web";import{reconcile as yt}from"solid-js/store";function ae(e,r={}){let t=r.storage||globalThis.localStorage,o=r.name||`storage-${wt()}`;if(!t)return Object.assign(e,{2:null});let n=r.storageOptions,i=r.serialize||JSON.stringify.bind(JSON),a=r.deserialize||JSON.parse.bind(JSON),p=t.getItem(o,n),m=typeof e[0]=="function"?s=>{try{let l=a(s);e[1](()=>l)}catch(l){be&&console.warn(l)}}:s=>{try{let l=a(s);e[1](yt(l))}catch(l){be&&console.warn(l)}},u=!0;if(p instanceof Promise?p.then(s=>u&&s&&m(s)):p&&m(p),typeof r.sync?.[0]=="function"){let s=typeof e[0]=="function"?e[0]:()=>e[0];r.sync[0](l=>{l.key!==o||!xt&&(l.url||globalThis.location.href)!==globalThis.location.href||l.newValue===i(ge(s))||m(l.newValue)})}return Object.assign([],e,{1:typeof e[0]=="function"?s=>{let l=e[1](s),h=s!=null?i(l):s;return r.sync?.[1](o,h),h!=null?t.setItem(o,h,n):t.removeItem(o,n),u=!1,l}:(...s)=>{e[1](...s);let l=ge(()=>i(e[0]));r.sync?.[1](o,l),t.setItem(o,l,n),u=!1},2:p})}import{createEffect as st,createMemo as lt,createSignal as S,on as dt,onCleanup as so,onMount as lo,Show as te}from"solid-js";import{createEffect as ve,createSignal as we,on as xe}from"solid-js";var C={leftCollapsed:"patchwork:leftSidebarCollapsed",rightCollapsed:"patchwork:rightSidebarCollapsed",leftWidth:"patchwork:leftSidebarWidth",rightWidth:"patchwork:rightSidebarWidth",contextToolId:"patchwork:contextSidebarToolId"},W="patchwork:collapse-context-sidebar",H=400;function ye(e,r){let t=localStorage.getItem(e);return t?parseInt(t,10):r}function Ce(e){return localStorage.getItem(e)==="true"}function Ct(){let[e,r]=we(Ce(C.leftCollapsed)),[t,o]=we(ye(C.leftWidth,H));return ve(xe(e,n=>{localStorage.setItem(C.leftCollapsed,String(n))})),ve(xe(t,n=>{localStorage.setItem(C.leftWidth,String(n))})),{isSidebarCollapsed:e,setIsSidebarCollapsed:r,leftSidebarWidth:t,setLeftSidebarWidth:o}}import{onCleanup as _t,onMount as kt}from"solid-js";var _e=180,St=720,$t=120,ke=3;function ie(e,{isCollapsed:r,setCollapsed:t,setWidth:o}){let n=!1,i=null,a=!1,p=null,m=f=>{if(f<$t){r()||t(!0),p=null;return}r()&&t(!1);let v=Math.min(St,f);o(v),p=v},u=()=>{r()||p!==null&&p<_e&&o(_e)},s=null,l=()=>{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)},h=()=>{n=!1,i=null,document.body.style.userSelect="",document.body.removeAttribute("data-sidebar-resizing"),s?.remove(),s=null},g=f=>{f.preventDefault(),i={x:f.clientX,y:f.clientY},a=!1,p=null,n=!0,document.body.style.userSelect="none"},b=()=>{let f=n,v=a;h(),f&&v&&u()},c=f=>{if(!n||!i)return;let v=Math.abs(f.clientX-i.x),y=Math.abs(f.clientY-i.y);!a&&(v>ke||y>ke)&&(a=!0,l()),m(e==="left"?f.clientX:window.innerWidth-f.clientX)},d=f=>{if(a){f.preventDefault(),f.stopPropagation(),a=!1;return}t(v=>!v)};return kt(()=>{document.addEventListener("mousemove",c),document.addEventListener("mouseup",b),_t(()=>{document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",b),n&&h()})}),{handleMouseDown:g,handleToggleClick:d}}import{createEffect as Et,createSignal as Tt,onCleanup as Dt}from"solid-js";var $=(e,r)=>{let[t,o]=Tt(!1);return Et(()=>{let n=r();if(!n)return;o(!1);let i=a=>{a.detail?.componentId===e&&o(!0)};n.addEventListener("patchwork:mounted",i),Dt(()=>n.removeEventListener("patchwork:mounted",i))}),t};import{createEffect as At,createSignal as It,onCleanup as Ft}from"solid-js";var Rt=5e3,Ot=(e,r)=>{let[t,o]=It(!1);return At(()=>{if(t())return;let n=e(),i=r();if(!n||!i)return;let a=m=>{let u=m.detail;u?.url&&u.url!==i||o(!0)};n.addEventListener("patchwork:mounted",a),n.addEventListener("patchwork:no-tool",a);let p=setTimeout(()=>o(!0),Rt);Ft(()=>{n.removeEventListener("patchwork:mounted",a),n.removeEventListener("patchwork:no-tool",a),clearTimeout(p)})}),t};import{getRegistry as Mt}from"@inkandswitch/patchwork-plugins";import{createMemo as Lt,createSignal as zt,onCleanup as Pt}from"solid-js";function O(e){let r=Mt("patchwork:component"),[t,o]=zt(0),n=r.on("changed",()=>o(i=>i+1));return Pt(n),Lt(()=>(t(),(r.all?.()??[]).filter(i=>(i.tags??[]).includes(e)).map(i=>({id:i.id,name:i.name||i.id,icon:i.icon})).sort((i,a)=>i.name.localeCompare(a.name))))}import{template as j}from"solid-js/web";import{delegateEvents as jr}from"solid-js/web";import{getOwner as Nr}from"solid-js/web";import{effect as rt}from"solid-js/web";import{setAttribute as Wr}from"solid-js/web";import{memo as ot}from"solid-js/web";import{insert as F}from"solid-js/web";import{createComponent as R}from"solid-js/web";import{For as Yr,Show as he}from"solid-js";import{template as Pe}from"solid-js/web";import{delegateEvents as sr}from"solid-js/web";import{setAttribute as lr}from"solid-js/web";import{insert as dr}from"solid-js/web";import"solid-js/web";import{effect as ze}from"solid-js/web";import{use as Ue}from"solid-js/web";import{createComponent as se}from"solid-js/web";var Fe=vt(De(),1),Re=(0,Fe.default)("cabbages");function Ae(e){return typeof e=="object"&&typeof e!=null&&Object.getPrototypeOf(e)==Object.prototype}var Gt="\uFFFC";function Oe(e,...r){if(r.length==0){Re("empty patch");return}let[t,o,n]=r,i=[...t];for(;;){let a=i.shift();if(!i.length){let m=Array.isArray(o);if(Ae(e)&&m&&typeof a>"u"&&typeof o[0]=="string"){delete e[o[0]];return}if(m||typeof o=="number"){if(typeof a>"u")throw new Error("cant treat top level as a seq");a=a;let[u,s]=Array.isArray(o)?o:[o,o+1],l=Array.isArray(o)&&o.length==0;if(!l&&(u==null||s==null))throw new RangeError("it's all or nothing, no half measures");let h=typeof n>"u",g=u===s&&!h,b=l&&!h,c=!g&&!h&&!b;if(typeof e[a]>"u"){if(typeof e=="string")return;typeof n=="string"?e[a]="":e[a]=[]}let d=e[a];if(Array.isArray(d)){if(b){Array.isArray(n)?d.push(...n):d.push(n);return}if(g||c){Array.isArray(n)?d.splice(u,s-u,...n):d.splice(u,s-u,n);return}if(h){d.splice(u,s-u);return}throw new Error("i don't know what happened")}if(typeof d=="string"){if(b){e[a]=d+n;return}if(c||g){e[a]=d.slice(0,u)+(typeof n=="string"?n:n.map(f=>typeof f=="string"?f:Gt).join(""))+d.slice(s);return}if(h){e[a]=d.slice(0,u)+d.slice(s);return}throw new Error("i don't know what happened")}if(Ae(d)&&m&&typeof o[0]=="string"){delete d[o[0]];return}throw new Error("not implemented")}if(typeof a>"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[a]>"u"&&(e[a]={}),m){let[u,s]=o;u!=null&&s!=null&&(typeof n>"u"&&u!=null&&s!=null?delete e[a][u||s]:e[a][u||s]=n)}else if(typeof n>"u")delete e[a][o];else{if(typeof e[a]=="string")return;e[a][o]=n}return}if(typeof a>"u")throw new Error("cant treat top level as a seq");a=a;let p=i[0];if(typeof e[a]>"u")if(typeof p=="string")e[a]={};else if(typeof p=="number")e[a]=[];else throw new Error(`can't go down this road ${e}.${a}.${p}`);e=e[a]}}function Ie(e,r){for(let t=0;t<r.length;t++)e=e?e[r[t]]:void 0;return e}function Me(e,r){let t=e.path.slice(0,-1),o=e.path[e.path.length-1];switch(e.action){case"mark":case"unmark":return Re(`skipping ${e.action} because it doesn't affect material reality`),[];case"inc":if(r)return[t,o,Ie(r.patchInfo.after,e.path)];throw new Error(`can't apply ${e.action} without payload argument`);case"conflict":if(r)return[t,o,Ie(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 V(e){return r=>{for(let t of e.patches)Oe(r,...Me(t,e))}}import{createMemo as tr}from"solid-js";import{onCleanup as Zt}from"solid-js";import{createStore as Qt,produce as er,reconcile as Le}from"solid-js/store";var M=new WeakMap;function J(e){if(Zt(()=>{let i=M.get(e);i&&(i.refs--||i.cleanup())}),M.has(e)){let i=M.get(e);return i.refs++,i.store}let[r,t]=Qt(structuredClone(e.doc()));M.set(e,{refs:0,store:r,cleanup(){e.off("change",o),e.off("delete",n),M.delete(e)}});function o(i){if(i.scopeReplaced){t(Le(i.doc??{}));return}t(er(V(i)))}function n(){t(Le({}))}return e.on("change",o),e.on("delete",n),e.whenReady().then(()=>{t(structuredClone(e.doc()))}),r}import{getOwner as an,onCleanup as sn,createSignal as ln,untrack as dn,sharedConfig as cn,onMount as pn,DEV as hn,equalFn as un}from"solid-js";import{isServer as mn}from"solid-js/web";var A=e=>typeof e=="function"&&!e.length?e():e;function Y(e){return tr(()=>A(e)&&J(A(e)))}import{createEffect as or,createResource as nr,useContext as ar}from"solid-js";import{createContext as rr}from"solid-js";var X=rr(null);function L(e,r){let t=ar(X);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 p=A(e);if(!p)return;let m=o.findWithProgress(p).peek();return m.state==="ready"?m.handle:void 0}let[i,{mutate:a}]=nr(e,p=>o.findWithProgress(p).whenReady(),{initialValue:n()});return or(()=>{A(e)||a()}),i}function K(e,r){let t=L(e,r);return[Y(t),t]}import{onCleanup as Fn}from"solid-js";import{createSignal as On}from"solid-js";import{createEffect as zn,onCleanup as Pn}from"solid-js";import{createSignal as jn}from"solid-js";import{useContext as Jn}from"solid-js";import{getType as pr}from"@inkandswitch/patchwork-filesystem";import{getRegistry as hr,isLoadedPlugin as ur}from"@inkandswitch/patchwork-plugins";import{createEffect as fr,createMemo as G,createSignal as le,onCleanup as mr,onMount as Ne,Show as We}from"solid-js";var je=Pe("<span class=threepane__title-text>"),cr=Pe("<input class=threepane__title-input type=text>");function He(e){let r,[t,o]=le();return Ne(()=>{o(r.closest("repo-provider")?.repo)}),se(We,{get when(){return t()},get fallback(){return(()=>{var n=je(),i=r;return typeof i=="function"?Ue(i,n):r=n,n})()},children:n=>se(gr,{get docUrl(){return e.docUrl},get repo(){return n()}})})}function gr(e){let[r,t]=K(()=>e.docUrl(),{repo:e.repo}),o=hr("patchwork:datatype"),[n,i]=le(0);Ne(()=>{let c=o.on("changed",()=>i(d=>d+1));mr(c)});let a=G(()=>{let c=r();return c?pr(c):void 0});fr(()=>{let c=a();c&&o.load(c)});let p=G(()=>{n();let c=a();if(!c)return;let d=o.get(c);return d&&ur(d)?d:void 0}),m=G(()=>{let c=r(),d=p();if(!(!c||!d))return d.module.getTitle(c)}),u=G(()=>!!t()&&typeof p()?.module.setTitle=="function"),[s,l]=le(!1),h;function g(){u()&&(l(!0),queueMicrotask(()=>{h?.focus(),h?.select()}))}function b(c){if(!s()||(l(!1),!c))return;let d=h?.value.trim();if(!d||d===m())return;let f=t(),v=p()?.module.setTitle;!f||!v||f.change(y=>{v(y,d);let x=y["@patchwork"];x&&(x.title=d)})}return se(We,{get when(){return s()},get fallback(){return(()=>{var c=je();return c.$$click=g,dr(c,()=>m()??"Untitled"),ze(d=>{var f=!!u(),v=u()?"Rename":void 0;return f!==d.e&&c.classList.toggle("threepane__title-text--editable",d.e=f),v!==d.t&&lr(c,"title",d.t=v),d},{e:void 0,t:void 0}),c})()},get children(){var c=cr();c.$$keydown=f=>{f.key==="Enter"?(f.preventDefault(),b(!0)):f.key==="Escape"&&(f.preventDefault(),b(!1))},c.addEventListener("blur",()=>b(!0));var d=h;return typeof d=="function"?Ue(d,c):h=c,ze(()=>c.value=m()??""),c}})}sr(["keydown","click"]);import{template as U}from"solid-js/web";import{delegateEvents as Dr}from"solid-js/web";import{getOwner as Ar}from"solid-js/web";import{insert as P}from"solid-js/web";import{createComponent as I}from"solid-js/web";import{Show as de}from"solid-js";import{template as Je}from"solid-js/web";import{delegateEvents as br}from"solid-js/web";import{setStyleProperty as vr}from"solid-js/web";import{insert as wr}from"solid-js/web";import{setAttribute as Z}from"solid-js/web";import{effect as Be}from"solid-js/web";import{memo as z}from"solid-js/web";import{createComponent as qe}from"solid-js/web";import{Show as Ve}from"solid-js";var xr=Je('<button class="sidebar-toggle sidebar-toggle--resizable">'),yr=Je("<div class=sidebar>");function Ye(e){let r=()=>`${e.isCollapsed()?0:e.width()}px`,t=()=>e.canExpand?.()??!0,o=()=>qe(Ve,{get when(){return!e.isCollapsed()},get children(){return e.children}}),n=()=>qe(Ve,{get when(){return!e.isCollapsed()||t()},get children(){var i=xr();return i.$$mousedown=a=>e.onMouseDown(a),i.$$click=a=>e.onToggleClick(a),Be(a=>{var p=e.isCollapsed()?"Expand sidebar":"Toggle or resize sidebar",m=e.isCollapsed()?"Click to expand, drag to resize":"Click to toggle, drag to resize";return p!==a.e&&Z(i,"aria-label",a.e=p),m!==a.t&&Z(i,"title",a.t=m),a},{e:void 0,t:void 0}),i}});return(()=>{var i=yr();return wr(i,(()=>{var a=z(()=>e.side==="left");return()=>a()?[z(o),z(n)]:[z(n),z(o)]})()),Be(a=>{var p=e.side,m=e.isCollapsed()?"":void 0,u=r();return p!==a.e&&Z(i,"data-side",a.e=p),m!==a.t&&Z(i,"data-collapsed",a.t=m),u!==a.a&&vr(i,"width",a.a=u),a},{e:void 0,t:void 0,a:void 0}),i})()}br(["click","mousedown"]);import{template as Ke}from"solid-js/web";import{delegateEvents as Cr}from"solid-js/web";import{setAttribute as _r}from"solid-js/web";import{effect as kr}from"solid-js/web";import{insert as Xe}from"solid-js/web";import{createComponent as Sr}from"solid-js/web";import{For as Tr}from"solid-js";var $r=Ke("<div role=tablist class=context-sidebar__tablist>"),Er=Ke("<button type=button role=tab class=context-sidebar__tab>");function Ge(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=$r();return Xe(t,Sr(Tr,{get each(){return e.items()},children:o=>(()=>{var n=Er();return n.$$click=()=>e.setSelectedToolId(o.id),Xe(n,()=>o.name),kr(()=>_r(n,"data-active",r()===o.id?"":void 0)),n})()})),t})()}Cr(["click"]);var Ir=U('<div class=context-sidebar__tabs><button type=button class=context-sidebar__close title="Hide context sidebar"aria-label="Hide context sidebar">'),Fr=U("<div class=context-sidebar__content>"),Rr=U("<div class=context-sidebar>"),Or=U("<patchwork-view>",!0,!1,!1),Mr=U('<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 Ze(e){let r=O("context-tool"),t=()=>{let o=r().map(i=>i.id),n=e.selectedToolId();return n&&o.includes(n)?n:o[0]};return I(Ye,{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=Rr();return P(o,I(de,{get when(){return r().length},get children(){var n=Ir(),i=n.firstChild;return P(n,I(Ge,{items:r,get selectedToolId(){return e.selectedToolId},get setSelectedToolId(){return e.setSelectedToolId}}),i),i.$$click=()=>e.onCollapse(),P(i,I(ce,{})),n}}),null),P(o,I(de,{get when(){return!e.isCollapsed()},get children(){var n=Fr();return P(n,I(de,{get when(){return t()},keyed:!0,children:i=>(()=>{var a=Or();return a.component=i,a._$owner=Ar(),a})()})),n}}),null),o}})}function ce(){return Mr()}Dr(["click"]);import{template as Lr}from"solid-js/web";import{effect as Qe}from"solid-js/web";import{getOwner as et}from"solid-js/web";import{createComponent as zr}from"solid-js/web";import{memo as Pr}from"solid-js/web";import{Show as Ur}from"solid-js";var tt=Lr("<patchwork-view>",!0,!1,!1),pe=e=>Array.isArray(e)?String(e[0]):String(e);function oi(e){let r=new Set;return e.filter(t=>{let o=pe(t);return r.has(o)?!1:(r.add(o),!0)})}function ni(e){return zr(Ur,{get when(){return Pr(()=>!!Array.isArray(e.slot))()?e.slot:!1},get fallback(){return(()=>{var r=tt();return r._$owner=et(),Qe(()=>r.component=String(e.slot)),r})()},children:r=>(()=>{var t=tt();return t._$owner=et(),Qe(o=>{var n=r()[1],i=r()[0];return n!==o.e&&(t.docUrl=o.e=n),i!==o.t&&(t.toolId=o.t=i),o},{e:void 0,t:void 0}),t})()})}var Hr=j("<div class=threepane__title>"),Br=j("<div class=threepane__doctitle-tools>"),qr=j('<button type=button class=frame__sidebar-toggle title="Show context sidebar"aria-label="Show context sidebar">'),Vr=j("<div class=frame__topbar><div class=threepane__spacer>"),Jr=j("<patchwork-view>",!0,!1,!1);function nt(e){let r=()=>e.toolSlots()??[];return(()=>{var t=Vr(),o=t.firstChild;return F(t,R(he,{get when(){return e.docUrl()},get children(){var n=Hr();return F(n,R(He,{get docUrl(){return e.docUrl}})),n}}),o),F(t,R(he,{get when(){return ot(()=>!!e.docUrl())()&&r().length},get children(){var n=Br();return F(n,R(Yr,{get each(){return r()},children:i=>(()=>{var a=Jr();return a._$owner=Nr(),rt(p=>{var m=pe(i),u=e.docUrl();return m!==p.e&&(a.toolId=p.e=m),u!==p.t&&(a.docUrl=p.t=u),p},{e:void 0,t:void 0}),a})()})),n}}),null),F(t,R(he,{get when(){return ot(()=>!!e.hasContext())()&&e.isRightCollapsed()},get children(){var n=qr();return n.$$click=()=>e.onToggleRight(),Wr(n,"aria-pressed",!1),F(n,R(ce,{})),n}}),null),rt(()=>t.classList.toggle("frame__topbar--left-collapsed",!!e.isLeftCollapsed())),t})()}jr(["click"]);import{template as ue}from"solid-js/web";import{effect as Xr}from"solid-js/web";import{getOwner as Kr}from"solid-js/web";import{insert as at}from"solid-js/web";import{memo as Gr}from"solid-js/web";import{createComponent as Zr}from"solid-js/web";import{use as Qr}from"solid-js/web";import{Show as oo}from"solid-js";var eo=ue("<div class=document-view>"),to=ue("<patchwork-view>",!0,!1,!1),ro=ue("<div class=placeholder>Select a document in the sidebar");function it({viewKey:e,selectedDocUrl:r,toolId:t,ref:o}){return(()=>{var n=eo(),i=o;return typeof i=="function"?Qr(i,n):o=n,at(n,Zr(oo,{get when(){return e()},keyed:!0,children:a=>(()=>{var p=to();return p._$owner=Kr(),Xr(m=>{var u=r(),s=t();return u!==m.e&&(p.docUrl=m.e=u),s!==m.t&&(p.toolId=m.t=s),m},{e:void 0,t:void 0}),p})()}),null),at(n,(()=>{var a=Gr(()=>!r());return()=>a()&&ro()})(),null),n})()}var no=fe("<patchwork-view component=patchwork-draft-state-provider>",!0,!1,!1),ao=fe("<div class=frame__main-column><div class=frame__doc-column><div class=main-area>"),io=fe("<patchwork-view component=patchwork-draft-overlay-provider><patchwork-view component=patchwork-comments-provider><patchwork-view component=patchwork-focus-provider>",!0,!1,!1);function ct(e){let[r,t]=S(e.initialRightCollapsed()),[o,n]=S(e.initialRightWidth());st(dt(r,h=>{try{localStorage.setItem(C.rightCollapsed,String(h))}catch{}},{defer:!0})),st(dt(o,h=>{try{localStorage.setItem(C.rightWidth,String(h))}catch{}},{defer:!0}));let i=ie("right",{isCollapsed:r,setCollapsed:t,setWidth:n});lo(()=>{let h=()=>t(!0);window.addEventListener(W,h),so(()=>window.removeEventListener(W,h))});let[a,p]=ae(S(),{name:C.contextToolId}),[m,u]=S(),s=$("patchwork-draft-state-provider",m),l=()=>s()?m():void 0;return _(te,{get when(){return e.selectedDocUrl()},keyed:!0,children:h=>(()=>{var g=no();return ee(u,g),g.docUrl=h,g._$owner=Q(),N(g,_(te,{get when(){return l()},children:b=>_(co,{get host(){return b()},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 i.handleMouseDown},get handleToggleClick(){return i.handleToggleClick},selectedContextToolId:a,setSelectedContextToolId:p})})),g})()})}function co(e){let r=O("context-tool"),t=()=>r().length>0,o=lt(()=>e.selectedDocUrl()),[n,i]=S(),a=$("patchwork-draft-overlay-provider",n),[p,m]=S(),u=$("patchwork-comments-provider",p),[s,l]=S(),h=$("patchwork-focus-provider",s),g=lt(()=>a()&&u()&&h());return(()=>{var b=io(),c=b.firstChild,d=c.firstChild;return ee(i,b),b._$owner=Q(),ee(m,c),c._$owner=Q(),ee(l,d),d._$owner=Q(),N(d,_(te,{get when(){return g()},get children(){var f=ao(),v=f.firstChild,y=v.firstChild;return N(v,_(nt,{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(x=>!x)}),y),N(y,_(it,{viewKey:o,get selectedDocUrl(){return e.selectedDocUrl},get toolId(){return e.selectedToolId},ref:x=>e.setMainDocElement?.(x)})),N(f,_(te,{get when(){return t()},get children(){return _(Ze,{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),f}})),b})()}var re=`:root,
2
2
  :host,
3
3
  [theme] {
4
4
  --threepane-bg: var(--studio-fill, white);
@@ -110,7 +110,7 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
110
110
  position: absolute;
111
111
  top: var(--threepane-space-2xs);
112
112
  right: var(--threepane-space-sm);
113
- z-index: 10;
113
+ z-index: var(--studio-layer-raised, 10);
114
114
  color: var(--threepane-muted);
115
115
  font-size: 0.75rem;
116
116
  font-weight: 500;
@@ -204,7 +204,7 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
204
204
  border, so the line under the bar runs unbroken across the whole width
205
205
  (document column + context tabs). The active tab pulls down 1px to break
206
206
  through it and connect to its panel below. */
207
- border-bottom: 1px solid var(--threepane-toolbar-border);
207
+ border-bottom: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--threepane-toolbar-border);
208
208
  /* Animate the collapsed left-slot in step with the sidebar's width transition
209
209
  so the title glides up against the pinned toggle instead of jumping. */
210
210
  transition: padding-left var(--studio-transition-slow, 0.25s ease);
@@ -240,7 +240,7 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
240
240
  border: none;
241
241
  background: transparent;
242
242
  color: var(--threepane-toggle-fg);
243
- cursor: pointer;
243
+ cursor: var(--studio-cursor-pointer, pointer);
244
244
  transition: color var(--studio-transition-fast, 0.1s ease);
245
245
  }
246
246
 
@@ -269,7 +269,7 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
269
269
  }
270
270
 
271
271
  .threepane__title-text--editable {
272
- cursor: text;
272
+ cursor: var(--studio-cursor-text, text);
273
273
  }
274
274
 
275
275
  .threepane__title-text--editable:hover {
@@ -330,7 +330,7 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
330
330
  it runs the whole frame height rather than just the document view. When the
331
331
  left sidebar is collapsed the left divider is dropped (see the :has rule
332
332
  below) so nothing rides the frame edge. */
333
- border-left: 1px solid var(--threepane-toolbar-border);
333
+ border-left: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--threepane-toolbar-border);
334
334
  }
335
335
 
336
336
  /* Left sidebar collapsed to 0: drop the document-view's left divider so there's
@@ -379,7 +379,7 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
379
379
  here (not on the document view) so it runs the whole frame height \u2014 top bar
380
380
  level included \u2014 and the resize handle straddling this edge is grabbable end
381
381
  to end, matching the left sidebar. */
382
- border-left: 1px solid var(--context-sidebar-border);
382
+ border-left: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--context-sidebar-border);
383
383
  }
384
384
 
385
385
  /* Tab bar: the row holding the tab list and the collapse button. Its height +
@@ -393,7 +393,7 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
393
393
  min-height: var(--threepane-space-2xl);
394
394
  padding-top: env(safe-area-inset-top, 0px);
395
395
  background: var(--context-sidebar-header-bg);
396
- border-bottom: 1px solid var(--context-sidebar-border);
396
+ border-bottom: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--context-sidebar-border);
397
397
  }
398
398
 
399
399
  .context-sidebar__tablist {
@@ -425,7 +425,7 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
425
425
  align-items: center;
426
426
  flex-shrink: 0;
427
427
  padding: var(--threepane-space-xs) var(--threepane-space-sm);
428
- border: 1px solid transparent;
428
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid) transparent;
429
429
  border-bottom: none;
430
430
  border-top-left-radius: var(--threepane-radius-xs);
431
431
  border-top-right-radius: var(--threepane-radius-xs);
@@ -434,14 +434,14 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
434
434
  font-size: 0.875rem;
435
435
  white-space: nowrap;
436
436
  color: var(--context-sidebar-tab-fg);
437
- cursor: pointer;
437
+ cursor: var(--studio-cursor-pointer, pointer);
438
438
  user-select: none;
439
439
  transition: background var(--studio-transition-fast, 0.1s ease),
440
440
  color var(--studio-transition-fast, 0.1s ease);
441
441
  }
442
442
 
443
443
  .context-sidebar__tab:hover {
444
- background: var(--context-sidebar-tab-hover);
444
+ background: var(--studio-chrome-hover-fill, var(--context-sidebar-tab-hover));
445
445
  color: var(--context-sidebar-tab-active-fg);
446
446
  }
447
447
 
@@ -470,7 +470,7 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
470
470
  border: none;
471
471
  background: transparent;
472
472
  color: var(--context-sidebar-fg);
473
- cursor: pointer;
473
+ cursor: var(--studio-cursor-pointer, pointer);
474
474
  opacity: 0.5;
475
475
  transition: opacity var(--studio-transition-fast, 0.1s ease);
476
476
  }
@@ -527,7 +527,7 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
527
527
  box-sizing: border-box;
528
528
  background: var(--threepane-sidebar-fill);
529
529
  color: var(--threepane-sidebar-fg);
530
- border-top: 1px solid var(--threepane-sidebar-divider);
530
+ border-top: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--threepane-sidebar-divider);
531
531
  padding-block: var(--threepane-space-2xs);
532
532
  padding-bottom: calc(var(--threepane-space-2xs) + env(safe-area-inset-bottom));
533
533
  padding-left: calc(env(safe-area-inset-left) + var(--threepane-space-md));
@@ -539,7 +539,7 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
539
539
  .threepane-account-bar__button {
540
540
  display: flex;
541
541
  align-items: center;
542
- border: 1px solid transparent;
542
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid) transparent;
543
543
  padding-inline: var(--threepane-space-2xs);
544
544
  padding-block: var(--threepane-space-3xs);
545
545
  border-radius: var(--threepane-radius-xs);
@@ -547,7 +547,7 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
547
547
  color: inherit;
548
548
  font: inherit;
549
549
  white-space: nowrap;
550
- cursor: pointer;
550
+ cursor: var(--studio-cursor-pointer, pointer);
551
551
  }
552
552
 
553
553
  .threepane-account-bar__button:hover {
@@ -600,12 +600,12 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
600
600
 
601
601
  .threepane-widgets__add {
602
602
  padding: var(--threepane-space-xs) var(--threepane-space-sm);
603
- border: 1px dashed var(--threepane-sidebar-divider);
603
+ border: var(--studio-border-width, 1px) dashed var(--threepane-sidebar-divider);
604
604
  border-radius: var(--threepane-radius-sm);
605
605
  background: transparent;
606
606
  color: var(--threepane-muted);
607
607
  font: inherit;
608
- cursor: pointer;
608
+ cursor: var(--studio-cursor-pointer, pointer);
609
609
  white-space: nowrap;
610
610
  }
611
611
 
@@ -615,8 +615,8 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
615
615
  }
616
616
 
617
617
  .threepane-widgets__add:disabled {
618
- opacity: 0.5;
619
- cursor: default;
618
+ opacity: var(--studio-disabled-opacity, 0.5);
619
+ cursor: var(--studio-cursor-default, default);
620
620
  }
621
621
 
622
622
  /* System tray dock: pinned to the frame's bottom-left. Lives outside the
@@ -635,7 +635,7 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
635
635
  doesn't flash at full size over the still-expanding sidebar. The delay equals
636
636
  the sidebar's transition duration; collapsing overrides this to hide at once. */
637
637
  opacity: 1;
638
- transition: opacity 0.1s ease 0.25s;
638
+ transition: opacity var(--studio-transition-fast, 0.1s ease) 0.25s;
639
639
  }
640
640
 
641
641
  .frame__tray-dock--collapsed {
@@ -659,7 +659,7 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
659
659
  );
660
660
  padding-inline: var(--threepane-space-sm);
661
661
  padding-bottom: env(safe-area-inset-bottom, 0px);
662
- border-top: 1px solid var(--threepane-sidebar-divider);
662
+ border-top: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--threepane-sidebar-divider);
663
663
  background: var(--threepane-sidebar-fill);
664
664
  }
665
665
 
@@ -684,12 +684,12 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
684
684
  .frame__popover-backdrop {
685
685
  position: absolute;
686
686
  inset: 0;
687
- z-index: 1000;
687
+ z-index: var(--studio-layer-modal, 1000);
688
688
  display: flex;
689
689
  align-items: center;
690
690
  justify-content: center;
691
691
  padding: var(--threepane-space-2xl);
692
- background: color-mix(in oklch, var(--threepane-fg), transparent 82%);
692
+ background: var(--studio-backdrop, color-mix(in oklch, var(--threepane-fg), transparent 82%));
693
693
  animation: frame-popover-fade var(--studio-transition, 0.15s ease);
694
694
  }
695
695
 
@@ -701,7 +701,7 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
701
701
  overflow: hidden;
702
702
  background: var(--threepane-bg);
703
703
  color: var(--threepane-fg);
704
- border: 1px solid var(--threepane-toolbar-border);
704
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--threepane-toolbar-border);
705
705
  border-radius: var(--threepane-radius-md);
706
706
  box-shadow:
707
707
  0 32px 80px color-mix(in oklch, var(--threepane-fg), transparent 45%),
@@ -719,7 +719,7 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
719
719
  flex: 0 0 auto;
720
720
  gap: var(--threepane-space-sm);
721
721
  padding: var(--threepane-space-sm) var(--threepane-space-md);
722
- border-bottom: 1px solid var(--threepane-toolbar-border);
722
+ border-bottom: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--threepane-toolbar-border);
723
723
  }
724
724
 
725
725
  .frame__popover-toolbar patchwork-view {
@@ -774,7 +774,7 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
774
774
  margin-block: 0;
775
775
  border: 0;
776
776
  z-index: 1;
777
- cursor: pointer;
777
+ cursor: var(--studio-cursor-pointer, pointer);
778
778
  /* transparent at rest - the visible divider is the main view's border; the
779
779
  handle lights up (full-height glow + pill) on hover to signal resize. */
780
780
  background: transparent;
@@ -817,12 +817,12 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
817
817
  }
818
818
 
819
819
  .sidebar-toggle--resizable {
820
- cursor: col-resize;
820
+ cursor: var(--studio-cursor-resize-col, col-resize);
821
821
  &:hover {
822
- cursor: col-resize;
822
+ cursor: var(--studio-cursor-resize-col, col-resize);
823
823
  }
824
824
  &:active {
825
- cursor: col-resize;
825
+ cursor: var(--studio-cursor-resize-col, col-resize);
826
826
  }
827
827
  }
828
828
 
@@ -837,5 +837,5 @@ import{a as ne,b as vt}from"./chunk-FW4363Y4.js";var $e=ne((Xo,Se)=>{var E=1e3,T
837
837
  body[data-sidebar-resizing] .sidebar {
838
838
  transition: none;
839
839
  }
840
- `;function pt(){let e="patchwork-frame-styles",r=document.getElementById(e);if(r){r.textContent!==re&&(r.textContent=re);return}let t=document.createElement("style");t.id=e,t.textContent=re,document.head.append(t)}var go=ut("<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),bo=ut("<div class=frame>");function rs(e){let r=ft(()=>{let o=new Set,n=e.selectedDocUrl();return n&&o.add(n),e.contactUrl&&o.add(e.contactUrl),[...o]}),t=ft(()=>JSON.stringify({selectedDocUrl:e.selectedDocUrl(),selectedToolId:e.selectedToolId(),doctitleSlots:e.doctitleSlots(),isLeftCollapsed:e.isLeftCollapsed(),initialRightWidth:e.initialRightWidth(),initialRightCollapsed:e.initialRightCollapsed()}));return(()=>{var o=go(),n=o.firstChild;return o._$owner=mo(),mt(n,t),uo(()=>ho(o,"automerge-allowlist",r().join(","))),o})()}function ht(e){if(!e?.textContent)return{};try{return JSON.parse(e.textContent)}catch(r){return console.error("[threepane-isolation-root] bad props JSON:",r),{}}}function os(e){pt();let r=e.querySelector('script[type="application/json"]'),[t,o]=vo(ht(r)),n=new MutationObserver(()=>{o(wo(ht(r)))});r&&n.observe(r,{characterData:!0,childList:!0,subtree:!0});let i=xo(()=>(()=>{var a=bo();return mt(a,fo(dt,{selectedDocUrl:()=>t.selectedDocUrl,selectedToolId:()=>t.selectedToolId,doctitleSlots:()=>t.doctitleSlots,isLeftCollapsed:()=>t.isLeftCollapsed??!1,initialRightWidth:()=>t.initialRightWidth??H,initialRightCollapsed:()=>t.initialRightCollapsed??!1})),a})(),e);return()=>{n.disconnect(),i()}}export{De as a,L as b,C as c,W as d,H as e,ye as f,Ce as g,Ct as h,ie as i,Ot as j,Ye as k,pe as l,oi as m,ni as n,it as o,dt as p,pt as q,rs as r,os as s};
841
- //# sourceMappingURL=chunk-YC5AHP5G.js.map
840
+ `;function pt(){let e="patchwork-frame-styles",r=document.getElementById(e);if(r){r.textContent!==re&&(r.textContent=re);return}let t=document.createElement("style");t.id=e,t.textContent=re,document.head.append(t)}var go=ft("<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),bo=ft("<div class=frame>");function rs(e){let r=ht(()=>{let o=new Set,n=e.selectedDocUrl();return n&&o.add(n),e.contactUrl&&o.add(e.contactUrl),[...o]}),t=ht(()=>JSON.stringify({selectedDocUrl:e.selectedDocUrl(),selectedToolId:e.selectedToolId(),doctitleSlots:e.doctitleSlots(),isLeftCollapsed:e.isLeftCollapsed(),initialRightWidth:e.initialRightWidth(),initialRightCollapsed:e.initialRightCollapsed()}));return(()=>{var o=go(),n=o.firstChild;return o._$owner=mo(),mt(n,t),fo(()=>uo(o,"automerge-allowlist",r().join(","))),o})()}function ut(e){if(!e?.textContent)return{};try{return JSON.parse(e.textContent)}catch(r){return console.error("[threepane-isolation-root] bad props JSON:",r),{}}}function os(e){pt();let r=e.querySelector('script[type="application/json"]'),[t,o]=vo(ut(r)),n=new MutationObserver(()=>{o(wo(ut(r)))});r&&n.observe(r,{characterData:!0,childList:!0,subtree:!0});let i=xo(()=>(()=>{var a=bo();return mt(a,ho(ct,{selectedDocUrl:()=>t.selectedDocUrl,selectedToolId:()=>t.selectedToolId,doctitleSlots:()=>t.doctitleSlots,isLeftCollapsed:()=>t.isLeftCollapsed??!1,initialRightWidth:()=>t.initialRightWidth??H,initialRightCollapsed:()=>t.initialRightCollapsed??!1})),a})(),e);return()=>{n.disconnect(),i()}}export{De as a,L as b,C as c,W as d,H as e,ye as f,Ce as g,Ct as h,ie as i,Ot as j,Ye as k,pe as l,oi as m,ni as n,it as o,ct as p,pt as q,rs as r,os as s};
841
+ //# sourceMappingURL=chunk-MSZ7JVNB.js.map